]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
arm: mach-k3: j721s2_init: Initialize AVS Class 0
authorManorit Chawdhry <m-chawdhry@ti.com>
Tue, 15 Oct 2024 10:52:21 +0000 (16:22 +0530)
committerTom Rini <trini@konsulko.com>
Mon, 21 Oct 2024 23:52:31 +0000 (17:52 -0600)
Adaptive Voltage Scaling (AVS) Class 0 is a procedure for lowering the
voltage on certain device power rails. Initialize AVS Class 0.

Link: https://www.ti.com/lit/pdf/spruj28
Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
Reviewed-by: Aniket Limaye <a-limaye@ti.com>
arch/arm/mach-k3/j721s2/j721s2_init.c

index 05453fcad41a628a71f17010dcc5c52307368e17..5f5961a2c17a87997635ce559a9a1f76e1e26bf2 100644 (file)
@@ -315,6 +315,9 @@ void do_dt_magic(void)
 #ifdef CONFIG_SPL_BUILD
 void board_init_f(ulong dummy)
 {
+       struct udevice *dev;
+       int ret;
+
        k3_spl_init();
 #if defined(CONFIG_SPL_OF_LIST) && defined(CONFIG_TI_I2C_BOARD_DETECT)
        do_dt_magic();
@@ -325,6 +328,13 @@ void board_init_f(ulong dummy)
                setup_navss_nb();
 
        setup_qos();
+
+       if (IS_ENABLED(CONFIG_CPU_V7R) && IS_ENABLED(CONFIG_K3_AVS0)) {
+               ret = uclass_get_device_by_driver(UCLASS_MISC, DM_DRIVER_GET(k3_avs),
+                                                 &dev);
+               if (ret)
+                       printf("AVS init failed: %d\n", ret);
+       }
 }
 #endif