summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeha Malcom Francis <[email protected]>2023-09-27 18:39:52 +0530
committerTom Rini <[email protected]>2023-10-04 14:16:01 -0400
commit50fa67d091b6ffbc1d77d3100d7b31795bf64928 (patch)
tree393b3bfd5a05fb0c510f8b3fdaa2d471582a475d
parentdd0169f0331c9e0e1b0f8a5a639feac0c861c520 (diff)
arm: mach-k3: j721e_init: Move clk_k3 probe before loading TIFS
When setting boot media to load the TIFS binary in legacy boot flow (followed by J721E), get_timer() is called which eventually calls dm_timer_init() to grab the tick-timer, which is mcu_timer0. Since we need to set up the clocks before using the timer, move clk_k3 driver probe before k3_sysfw_loader to ensure we have all necessary clocks set up before. Signed-off-by: Neha Malcom Francis <[email protected]> Reviewed-by: Nishanth Menon <[email protected]> Reviewed-by: Manorit Chawdhry <[email protected]>
-rw-r--r--arch/arm/mach-k3/j721e_init.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/arch/arm/mach-k3/j721e_init.c b/arch/arm/mach-k3/j721e_init.c
index b6164575b7b..b1f7e25ed09 100644
--- a/arch/arm/mach-k3/j721e_init.c
+++ b/arch/arm/mach-k3/j721e_init.c
@@ -229,6 +229,18 @@ void board_init_f(ulong dummy)
pinctrl_select_state(dev, "default");
/*
+ * Force probe of clk_k3 driver here to ensure basic default clock
+ * configuration is always done.
+ */
+ if (IS_ENABLED(CONFIG_SPL_CLK_K3)) {
+ ret = uclass_get_device_by_driver(UCLASS_CLK,
+ DM_DRIVER_GET(ti_clk),
+ &dev);
+ if (ret)
+ panic("Failed to initialize clk-k3!\n");
+ }
+
+ /*
* Load, start up, and configure system controller firmware. Provide
* the U-Boot console init function to the SYSFW post-PM configuration
* callback hook, effectively switching on (or over) the console
@@ -241,18 +253,6 @@ void board_init_f(ulong dummy)
do_dt_magic();
#endif
- /*
- * Force probe of clk_k3 driver here to ensure basic default clock
- * configuration is always done.
- */
- if (IS_ENABLED(CONFIG_SPL_CLK_K3)) {
- ret = uclass_get_device_by_driver(UCLASS_CLK,
- DM_DRIVER_GET(ti_clk),
- &dev);
- if (ret)
- panic("Failed to initialize clk-k3!\n");
- }
-
/* Prepare console output */
preloader_console_init();