* [PATCH v2] rtc: ti-k3: Add support to resume from IO DDR low power mode
@ 2026-03-13 11:17 Akashdeep Kaur
2026-03-14 13:08 ` Raghavendra, Vignesh
0 siblings, 1 reply; 2+ messages in thread
From: Akashdeep Kaur @ 2026-03-13 11:17 UTC (permalink / raw)
To: praneeth, nm, vigneshr, alexandre.belloni, linux-rtc,
linux-kernel
Cc: msp, vishalm, sebin.francis, a-kaur
Restore the RTC HW context which may be lost when system enters
certain low power mode (IO+DDR mode).
Check if the RTC registers are locked which would indicate loss of
context (reset) and restore the context as needed.
Signed-off-by: Akashdeep Kaur <a-kaur@ti.com>
---
Tested deep sleep with rtcwake after IO DDR resume on AM62P-SK.
Changes in v2:
-Updated the commit message as suggested in review
-Link to v1: https://lore.kernel.org/all/20260311070214.3589965-1-a-kaur@ti.com/
---
drivers/rtc/rtc-ti-k3.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/drivers/rtc/rtc-ti-k3.c b/drivers/rtc/rtc-ti-k3.c
index ec759d8f7023..e801f5b9d757 100644
--- a/drivers/rtc/rtc-ti-k3.c
+++ b/drivers/rtc/rtc-ti-k3.c
@@ -640,10 +640,18 @@ static int __maybe_unused ti_k3_rtc_suspend(struct device *dev)
static int __maybe_unused ti_k3_rtc_resume(struct device *dev)
{
struct ti_k3_rtc *priv = dev_get_drvdata(dev);
+ int ret = 0;
+
+ if (k3rtc_check_unlocked(priv)) {
+ /* RTC locked implies low power mode exit where RTC loses context */
+ ret = k3rtc_configure(dev);
+ if (ret)
+ return ret;
+ }
if (device_may_wakeup(dev))
disable_irq_wake(priv->irq);
- return 0;
+ return ret;
}
static SIMPLE_DEV_PM_OPS(ti_k3_rtc_pm_ops, ti_k3_rtc_suspend, ti_k3_rtc_resume);
--
2.34.1
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH v2] rtc: ti-k3: Add support to resume from IO DDR low power mode
2026-03-13 11:17 [PATCH v2] rtc: ti-k3: Add support to resume from IO DDR low power mode Akashdeep Kaur
@ 2026-03-14 13:08 ` Raghavendra, Vignesh
0 siblings, 0 replies; 2+ messages in thread
From: Raghavendra, Vignesh @ 2026-03-14 13:08 UTC (permalink / raw)
To: Akashdeep Kaur, praneeth, nm, alexandre.belloni, linux-rtc,
linux-kernel
Cc: msp, vishalm, sebin.francis
On 3/13/2026 4:47 PM, Akashdeep Kaur wrote:
> Restore the RTC HW context which may be lost when system enters
> certain low power mode (IO+DDR mode).
> Check if the RTC registers are locked which would indicate loss of
> context (reset) and restore the context as needed.
>
> Signed-off-by: Akashdeep Kaur <a-kaur@ti.com>
Reviewed-by: Vignesh Raghavendra <vigneshr@ti.com>
> ---
>
> Tested deep sleep with rtcwake after IO DDR resume on AM62P-SK.
>
> Changes in v2:
> -Updated the commit message as suggested in review
> -Link to v1: https://lore.kernel.org/all/20260311070214.3589965-1-a-kaur@ti.com/
>
> ---
> drivers/rtc/rtc-ti-k3.c | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/rtc/rtc-ti-k3.c b/drivers/rtc/rtc-ti-k3.c
> index ec759d8f7023..e801f5b9d757 100644
> --- a/drivers/rtc/rtc-ti-k3.c
> +++ b/drivers/rtc/rtc-ti-k3.c
> @@ -640,10 +640,18 @@ static int __maybe_unused ti_k3_rtc_suspend(struct device *dev)
> static int __maybe_unused ti_k3_rtc_resume(struct device *dev)
> {
> struct ti_k3_rtc *priv = dev_get_drvdata(dev);
> + int ret = 0;
> +
> + if (k3rtc_check_unlocked(priv)) {
> + /* RTC locked implies low power mode exit where RTC loses context */
> + ret = k3rtc_configure(dev);
> + if (ret)
> + return ret;
> + }
>
> if (device_may_wakeup(dev))
> disable_irq_wake(priv->irq);
> - return 0;
> + return ret;
> }
>
> static SIMPLE_DEV_PM_OPS(ti_k3_rtc_pm_ops, ti_k3_rtc_suspend, ti_k3_rtc_resume);
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-03-14 13:08 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-13 11:17 [PATCH v2] rtc: ti-k3: Add support to resume from IO DDR low power mode Akashdeep Kaur
2026-03-14 13:08 ` Raghavendra, Vignesh
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox