From c14fe2a8e192d1b1974a425dff7552df71962fa4 Mon Sep 17 00:00:00 2001
From: Kever Yang <kever.yang@rock-chips.com>
Date: Mon, 22 Jul 2019 20:02:08 +0800
Subject: [PATCH] rockchip: rk3188: Move SoC one time setting into
 arch_cpu_init()

The setting for noc remap should goto arch_cpu_init().

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
---
 arch/arm/mach-rockchip/rk3188-board.c  | 15 ---------------
 arch/arm/mach-rockchip/rk3188/rk3188.c | 20 ++++++++++++++++++--
 2 files changed, 18 insertions(+), 17 deletions(-)

diff --git a/arch/arm/mach-rockchip/rk3188-board.c b/arch/arm/mach-rockchip/rk3188-board.c
index 94fd6c01eb..5b6f21577f 100644
--- a/arch/arm/mach-rockchip/rk3188-board.c
+++ b/arch/arm/mach-rockchip/rk3188-board.c
@@ -7,13 +7,9 @@
 #include <clk.h>
 #include <dm.h>
 #include <ram.h>
-#include <syscon.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
-#include <asm/arch-rockchip/clock.h>
-#include <asm/arch-rockchip/grf_rk3188.h>
 #include <asm/arch-rockchip/periph.h>
-#include <asm/arch-rockchip/pmu_rk3288.h>
 #include <asm/arch-rockchip/boot_mode.h>
 
 __weak int rk_board_late_init(void)
@@ -23,18 +19,7 @@ __weak int rk_board_late_init(void)
 
 int board_late_init(void)
 {
-	struct rk3188_grf *grf;
-
 	setup_boot_mode();
-	grf = syscon_get_first_range(ROCKCHIP_SYSCON_GRF);
-	if (IS_ERR(grf)) {
-		pr_err("grf syscon returned %ld\n", PTR_ERR(grf));
-	} else {
-		/* enable noc remap to mimic legacy loaders */
-		rk_clrsetreg(&grf->soc_con0,
-			NOC_REMAP_MASK << NOC_REMAP_SHIFT,
-			NOC_REMAP_MASK << NOC_REMAP_SHIFT);
-	}
 
 	return rk_board_late_init();
 }
diff --git a/arch/arm/mach-rockchip/rk3188/rk3188.c b/arch/arm/mach-rockchip/rk3188/rk3188.c
index 08792f1674..95f0e3ccbe 100644
--- a/arch/arm/mach-rockchip/rk3188/rk3188.c
+++ b/arch/arm/mach-rockchip/rk3188/rk3188.c
@@ -3,8 +3,11 @@
  * (C) Copyright 2019 Rockchip Electronics Co., Ltd
  */
 #include <common.h>
+#include <dm.h>
+#include <syscon.h>
 #include <asm/io.h>
 #include <asm/arch-rockchip/bootrom.h>
+#include <asm/arch-rockchip/clock.h>
 #include <asm/arch-rockchip/grf_rk3188.h>
 #include <asm/arch-rockchip/hardware.h>
 
@@ -42,11 +45,17 @@ void board_debug_uart_init(void)
 }
 #endif
 
+#ifdef CONFIG_SPL_BUILD
 int arch_cpu_init(void)
 {
-#ifdef CONFIG_ROCKCHIP_USB_UART
-	struct rk3188_grf * const grf = (void *)GRF_BASE;
+	struct rk3188_grf *grf;
 
+	grf = syscon_get_first_range(ROCKCHIP_SYSCON_GRF);
+	if (IS_ERR(grf)) {
+		pr_err("grf syscon returned %ld\n", PTR_ERR(grf));
+		return 0;
+	}
+#ifdef CONFIG_ROCKCHIP_USB_UART
 	rk_clrsetreg(&grf->uoc0_con[0],
 		     SIDDQ_MASK | UOC_DISABLE_MASK | COMMON_ON_N_MASK,
 		     1 << SIDDQ_SHIFT | 1 << UOC_DISABLE_SHIFT |
@@ -64,8 +73,15 @@ int arch_cpu_init(void)
 		     BYPASSSEL_MASK | BYPASSDMEN_MASK,
 		     1 << BYPASSSEL_SHIFT | 1 << BYPASSDMEN_SHIFT);
 #endif
+
+	/* enable noc remap to mimic legacy loaders */
+	rk_clrsetreg(&grf->soc_con0,
+		     NOC_REMAP_MASK << NOC_REMAP_SHIFT,
+		     NOC_REMAP_MASK << NOC_REMAP_SHIFT);
+
 	return 0;
 }
+#endif
 
 #ifdef CONFIG_SPL_BUILD
 static int setup_led(void)
-- 
2.39.5