
This is similar to Commit 93e6253d11030 ("ARM: OMAP4/5: Centralize early clock initialization") that was done for OMAP4+, reflecting the same for AM33xx and AM43xx SoCs to centralize clock initialization.
Signed-off-by: Lokesh Vutla lokeshvutla@ti.com --- arch/arm/cpu/armv7/am33xx/board.c | 2 +- arch/arm/cpu/armv7/am33xx/clock.c | 9 +++++++-- arch/arm/include/asm/arch-am33xx/sys_proto.h | 1 + 3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/arch/arm/cpu/armv7/am33xx/board.c b/arch/arm/cpu/armv7/am33xx/board.c index 1ba4ec5..8340b54 100644 --- a/arch/arm/cpu/armv7/am33xx/board.c +++ b/arch/arm/cpu/armv7/am33xx/board.c @@ -286,7 +286,7 @@ void early_system_init(void) #endif watchdog_disable(); set_uart_mux_conf(); - setup_clocks_for_console(); + setup_early_clocks(); uart_soft_reset(); #if defined(CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC) /* Enable RTC32K clock */ diff --git a/arch/arm/cpu/armv7/am33xx/clock.c b/arch/arm/cpu/armv7/am33xx/clock.c index 9b9b78e..3d17698 100644 --- a/arch/arm/cpu/armv7/am33xx/clock.c +++ b/arch/arm/cpu/armv7/am33xx/clock.c @@ -232,10 +232,15 @@ __weak void scale_vcores(void) { }
-void prcm_init() +void setup_early_clocks(void) { + setup_clocks_for_console(); enable_basic_clocks(); + timer_init(); +} + +void prcm_init(void) +{ scale_vcores(); setup_dplls(); - timer_init(); } diff --git a/arch/arm/include/asm/arch-am33xx/sys_proto.h b/arch/arm/include/asm/arch-am33xx/sys_proto.h index ed1a46c..4e942ba 100644 --- a/arch/arm/include/asm/arch-am33xx/sys_proto.h +++ b/arch/arm/include/asm/arch-am33xx/sys_proto.h @@ -19,6 +19,7 @@ u32 get_sysboot_value(void); extern struct ctrl_stat *cstat; u32 get_device_type(void); void save_omap_boot_params(void); +void setup_early_clocks(void); void setup_clocks_for_console(void); void mpu_pll_config_val(int mpull_m); void ddr_pll_config(unsigned int ddrpll_M);