Message ID | 20200622131925.31248-1-al.kochet@gmail.com |
---|---|
State | Accepted |
Commit | a2b1cff8b86964ea630d23aa687c23bba40c9f4b |
Headers | show |
Series | rockchip: rk3188: Fix back to BROM boot | expand |
On 2020/6/22 ??9:19, Alexander Kochetkov wrote: > Move the setting for noc remap out of SPL code. Changing > noc remap inside SPL results in breaking back to BROM > boot. > > Fixes commit c14fe2a8e192 ("rockchip: rk3188: Move SoC > one time setting into arch_cpu_init()"). > > Signed-off-by: Alexander Kochetkov <al.kochet at gmail.com> Reviewed-by: Kever Yang <kever.yang at rock-chips.com> Thanks, - Kever > --- > arch/arm/mach-rockchip/rk3188/rk3188.c | 21 +++++++++++++++++++-- > 1 file changed, 19 insertions(+), 2 deletions(-) > > diff --git a/arch/arm/mach-rockchip/rk3188/rk3188.c b/arch/arm/mach-rockchip/rk3188/rk3188.c > index 1b012f7f67..4115f95d77 100644 > --- a/arch/arm/mach-rockchip/rk3188/rk3188.c > +++ b/arch/arm/mach-rockchip/rk3188/rk3188.c > @@ -73,15 +73,32 @@ int arch_cpu_init(void) > BYPASSSEL_MASK | BYPASSDMEN_MASK, > 1 << BYPASSSEL_SHIFT | 1 << BYPASSDMEN_SHIFT); > #endif > + return 0; > +} > +#endif > + > +__weak int rk3188_board_late_init(void) > +{ > + return 0; > +} > + > +int rk_board_late_init(void) > +{ > + 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; > + } > > /* 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; > + return rk3188_board_late_init(); > } > -#endif > > #ifdef CONFIG_SPL_BUILD > static int setup_led(void)
On 2020/6/22 ??9:19, Alexander Kochetkov wrote: > Move the setting for noc remap out of SPL code. Changing > noc remap inside SPL results in breaking back to BROM > boot. > > Fixes commit c14fe2a8e192 ("rockchip: rk3188: Move SoC > one time setting into arch_cpu_init()"). > > Signed-off-by: Alexander Kochetkov <al.kochet at gmail.com> Applied to u-boot-rockchip master branch. > --- > arch/arm/mach-rockchip/rk3188/rk3188.c | 21 +++++++++++++++++++-- > 1 file changed, 19 insertions(+), 2 deletions(-) > > diff --git a/arch/arm/mach-rockchip/rk3188/rk3188.c b/arch/arm/mach-rockchip/rk3188/rk3188.c > index 1b012f7f67..4115f95d77 100644 > --- a/arch/arm/mach-rockchip/rk3188/rk3188.c > +++ b/arch/arm/mach-rockchip/rk3188/rk3188.c > @@ -73,15 +73,32 @@ int arch_cpu_init(void) > BYPASSSEL_MASK | BYPASSDMEN_MASK, > 1 << BYPASSSEL_SHIFT | 1 << BYPASSDMEN_SHIFT); > #endif > + return 0; > +} > +#endif > + > +__weak int rk3188_board_late_init(void) > +{ > + return 0; > +} > + > +int rk_board_late_init(void) > +{ > + 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; > + } > > /* 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; > + return rk3188_board_late_init(); > } > -#endif > > #ifdef CONFIG_SPL_BUILD > static int setup_led(void)
diff --git a/arch/arm/mach-rockchip/rk3188/rk3188.c b/arch/arm/mach-rockchip/rk3188/rk3188.c index 1b012f7f67..4115f95d77 100644 --- a/arch/arm/mach-rockchip/rk3188/rk3188.c +++ b/arch/arm/mach-rockchip/rk3188/rk3188.c @@ -73,15 +73,32 @@ int arch_cpu_init(void) BYPASSSEL_MASK | BYPASSDMEN_MASK, 1 << BYPASSSEL_SHIFT | 1 << BYPASSDMEN_SHIFT); #endif + return 0; +} +#endif + +__weak int rk3188_board_late_init(void) +{ + return 0; +} + +int rk_board_late_init(void) +{ + 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; + } /* 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; + return rk3188_board_late_init(); } -#endif #ifdef CONFIG_SPL_BUILD static int setup_led(void)
Move the setting for noc remap out of SPL code. Changing noc remap inside SPL results in breaking back to BROM boot. Fixes commit c14fe2a8e192 ("rockchip: rk3188: Move SoC one time setting into arch_cpu_init()"). Signed-off-by: Alexander Kochetkov <al.kochet at gmail.com> --- arch/arm/mach-rockchip/rk3188/rk3188.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-)