From: Manorit Chawdhry Date: Tue, 15 Oct 2024 10:52:21 +0000 (+0530) Subject: arm: mach-k3: j721s2_init: Initialize AVS Class 0 X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=3ef28a6a939eea7d48854e1452304e7a960d0918;p=u-boot.git arm: mach-k3: j721s2_init: Initialize AVS Class 0 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 (Section 5.2.3.3.2.5 AVS-Class0) Signed-off-by: Manorit Chawdhry Reviewed-by: Aniket Limaye --- diff --git a/arch/arm/mach-k3/j721s2/j721s2_init.c b/arch/arm/mach-k3/j721s2/j721s2_init.c index 05453fcad4..5f5961a2c1 100644 --- a/arch/arm/mach-k3/j721s2/j721s2_init.c +++ b/arch/arm/mach-k3/j721s2/j721s2_init.c @@ -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