Re: [PATCH] watchdog: mtk: add disable_wdt_extrst support
From: Guenter Roeck <linux@roeck-us.net>
Date: 2021-09-02 13:43:47
Also in:
linux-arm-kernel, linux-watchdog, lkml
On 9/2/21 1:04 AM, Fengquan Chen wrote:
From: "fengquan.chen" <redacted>
There should not be such From: line.
In some cases, we may need watchdog just to trigger an internal soc reset without sending any output signal. Provide a disable_wdt_extrst parameter for configuration. We can disable or enable it just by configuring dts. igned-off-by: Fengquan Chen [off-list ref]
Missing "S".
quoted hunk ↗ jump to hunk
--- drivers/watchdog/mtk_wdt.c | 7 +++++++ 1 file changed, 7 insertions(+)diff --git a/drivers/watchdog/mtk_wdt.c b/drivers/watchdog/mtk_wdt.c index 97ca993..4824c07 100644 --- a/drivers/watchdog/mtk_wdt.c +++ b/drivers/watchdog/mtk_wdt.c@@ -63,6 +63,7 @@ struct mtk_wdt_dev { void __iomem *wdt_base; spinlock_t lock; /* protects WDT_SWSYSRST reg */ struct reset_controller_dev rcdev; + bool disable_wdt_extrst; }; struct mtk_wdt_data {@@ -240,6 +241,8 @@ static int mtk_wdt_start(struct watchdog_device *wdt_dev) reg = ioread32(wdt_base + WDT_MODE); reg &= ~(WDT_MODE_IRQ_EN | WDT_MODE_DUAL_EN); + if (mtk_wdt->disable_wdt_extrst) + reg &= ~WDT_MODE_EXRST_EN; reg |= (WDT_MODE_EN | WDT_MODE_KEY); iowrite32(reg, wdt_base + WDT_MODE);@@ -309,6 +312,10 @@ static int mtk_wdt_probe(struct platform_device *pdev) if (err) return err; } + + mtk_wdt->disable_wdt_extrst = + of_property_read_bool(dev->of_node, "disable_extrst"); +
The new property needs to be documented and approved by a DT maintainer (separate patch). Something like "mtk,disable-extrst" would probably be a better property name. Guenter _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek