Enable the 32kHz low-frequency oscillator (LFOSC) during IO+DDR
low power mode resume for AM62P SoC by calling enable_32k_lfosc()
in the LPM resume path.

The 32kHz clock is required by the RTC to maintain timekeeping and
generate wakeup events during deep sleep. This ensures the clock is
available early in the resume sequence for proper RTC operation.

The function is conditionally enabled via CONFIG_TI_K3_BOARD_LFOSC
for boards with external 32.768kHz crystal oscillators.

Signed-off-by: Akashdeep Kaur <[email protected]>
---
 arch/arm/mach-k3/am62px/am62p5_init.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/arm/mach-k3/am62px/am62p5_init.c 
b/arch/arm/mach-k3/am62px/am62p5_init.c
index 64e14636592..d78add34d71 100644
--- a/arch/arm/mach-k3/am62px/am62p5_init.c
+++ b/arch/arm/mach-k3/am62px/am62p5_init.c
@@ -258,6 +258,9 @@ void board_init_f(ulong dummy)
        if (wkup_ctrl_is_lpm_exit()) {
                u64 meta_data_addr;
 
+               if (IS_ENABLED(CONFIG_TI_K3_BOARD_LFOSC))
+                       enable_32k_lfosc();
+
                ret = wkup_r5f_am62_lpm_meta_data_addr(&meta_data_addr);
                if (ret)
                        panic("Failed to get LPM meta data address %d\n", ret);
-- 
2.34.1

Reply via email to