Enable the 32kHz low-frequency oscillator (LFOSC) during IO+DDR
low power mode resume for AM62A 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/am62ax/am62a7_init.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/arm/mach-k3/am62ax/am62a7_init.c 
b/arch/arm/mach-k3/am62ax/am62a7_init.c
index 74e598d5242..99a705d0bf1 100644
--- a/arch/arm/mach-k3/am62ax/am62a7_init.c
+++ b/arch/arm/mach-k3/am62ax/am62a7_init.c
@@ -204,6 +204,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