]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
arm: mach-k3: j721e_init: Move clk_k3 probe before loading TIFS
authorNeha Malcom Francis <n-francis@ti.com>
Wed, 27 Sep 2023 13:09:52 +0000 (18:39 +0530)
committerTom Rini <trini@konsulko.com>
Wed, 4 Oct 2023 18:16:01 +0000 (14:16 -0400)
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 <n-francis@ti.com>
Reviewed-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Manorit Chawdhry <m-chawdhry@ti.com>
arch/arm/mach-k3/j721e_init.c

index b6164575b7bac5ceebae656d9c79e2fc160196f8..b1f7e25ed092635a8986d66a2bf6b2525ce5c791 100644 (file)
@@ -228,6 +228,18 @@ void board_init_f(ulong dummy)
        if (!ret)
                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
@@ -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();