[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
<PAXPR04MB8459E30457A6451C622290768898A@PAXPR04MB8459.eurprd04.prod.outlook.com>
Date: Wed, 4 Feb 2026 00:35:01 +0000
From: Peng Fan <peng.fan@....com>
To: Frank Li <frank.li@....com>, "Peng Fan (OSS)" <peng.fan@....nxp.com>
CC: Wim Van Sebroeck <wim@...ux-watchdog.org>, Guenter Roeck
<linux@...ck-us.net>, Sascha Hauer <s.hauer@...gutronix.de>, Pengutronix
Kernel Team <kernel@...gutronix.de>, Fabio Estevam <festevam@...il.com>,
"linux-watchdog@...r.kernel.org" <linux-watchdog@...r.kernel.org>,
"imx@...ts.linux.dev" <imx@...ts.linux.dev>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>, Ranjani Vaidyanathan
<ranjani.vaidyanathan@....com>
Subject: RE: [PATCH] watchdog: imx7ulp_wdt: Keep WDOG running until A55 enters
WFI on i.MX94
> Subject: Re: [PATCH] watchdog: imx7ulp_wdt: Keep WDOG running
> until A55 enters WFI on i.MX94
>
> On Tue, Feb 03, 2026 at 04:05:47PM +0800, Peng Fan (OSS) wrote:
> > From: Ranjani Vaidyanathan <ranjani.vaidyanathan@....com>
> >
> > On i.MX94, watchdog sources clock from bus clock that will be
> always
> > on during the lifecycle of Linux. There is a Low Power Clock
> > Gating(LPCG) between the bus clock and watchdog, but the LPCG is
> not
> > exported for software to control, it is hardware automatically
> > controlled. When
> > Cortex-A55 executes WFI during suspend flow, the LPCG will
> > automatically gate off the clock stop watchdog.
> >
> > So watchdog could always be alive to protect Linux, until WFI is
> executed.
>
> suppose only after suspend's WFI? suppose CPUIDLE's WFI doesn't
> affect it?
Only suspend WFI.
Regards
Peng.
>
> Frank
> >
> > Introduce a new hardware feature flag to indicate CPU low-power-
> mode
> > auto clock gating support, and use it to avoid stopping the watchdog
> > during suspend when LPCG can safely keep it running.
> >
> > Add i.MX94-specific watchdog hardware data and DT compatible
> entry to
> > enable this behavior.
> >
> > Signed-off-by: Ranjani Vaidyanathan
> <ranjani.vaidyanathan@....com>
> > [peng.fan@....com: rewrite commit log for clarity]
> > Signed-off-by: Peng Fan <peng.fan@....com>
> > ---
> > drivers/watchdog/imx7ulp_wdt.c | 11 ++++++++++-
> > 1 file changed, 10 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/watchdog/imx7ulp_wdt.c
> > b/drivers/watchdog/imx7ulp_wdt.c index
> >
> 03479110453ce78a6a89ce8d351ba9ece2f5e2c5..0ae4c0c00138e8985
> 4f14edca0fd
> > 5fa84591c2d2 100644
> > --- a/drivers/watchdog/imx7ulp_wdt.c
> > +++ b/drivers/watchdog/imx7ulp_wdt.c
> > @@ -56,6 +56,7 @@ MODULE_PARM_DESC(nowayout, "Watchdog
> cannot be stopped once started (default="
> > struct imx_wdt_hw_feature {
> > bool prescaler_enable;
> > bool post_rcs_wait;
> > + bool cpu_lpm_auto_cg;
> > u32 wdog_clock_rate;
> > };
> >
> > @@ -360,7 +361,8 @@ static int __maybe_unused
> > imx7ulp_wdt_suspend_noirq(struct device *dev) {
> > struct imx7ulp_wdt_device *imx7ulp_wdt =
> dev_get_drvdata(dev);
> >
> > - if (watchdog_active(&imx7ulp_wdt->wdd))
> > +
> > + if (watchdog_active(&imx7ulp_wdt->wdd) &&
> > +!imx7ulp_wdt->hw->cpu_lpm_auto_cg)
> > imx7ulp_wdt_stop(&imx7ulp_wdt->wdd);
> >
> > clk_disable_unprepare(imx7ulp_wdt->clk);
> > @@ -408,10 +410,17 @@ static const struct imx_wdt_hw_feature
> imx93_wdt_hw = {
> > .wdog_clock_rate = 125,
> > };
> >
> > +static const struct imx_wdt_hw_feature imx94_wdt_hw = {
> > + .prescaler_enable = true,
> > + .wdog_clock_rate = 125,
> > + .cpu_lpm_auto_cg = true,
> > +};
> > +
> > static const struct of_device_id imx7ulp_wdt_dt_ids[] = {
> > { .compatible = "fsl,imx7ulp-wdt", .data = &imx7ulp_wdt_hw, },
> > { .compatible = "fsl,imx8ulp-wdt", .data = &imx8ulp_wdt_hw, },
> > { .compatible = "fsl,imx93-wdt", .data = &imx93_wdt_hw, },
> > + { .compatible = "fsl,imx94-wdt", .data = &imx94_wdt_hw, },
> > { /* sentinel */ }
> > };
> > MODULE_DEVICE_TABLE(of, imx7ulp_wdt_dt_ids);
> >
> > ---
> > base-commit: 193579fe01389bc21aff0051d13f24e8ea95b47d
> > change-id: 20260203-imx94-wdog-1e0aa14d661b
> >
> > Best regards,
> > --
> > Peng Fan <peng.fan@....com>
> >
Powered by blists - more mailing lists