On Fri, 2021-09-03 at 07:05 -0700, Guenter Roeck wrote: > On 9/2/21 11:16 PM, Fengquan Chen wrote: > > 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. > > > > Signed-off-by: fengquan.chen <fengquan.chen@xxxxxxxxxxxx> > > Nit: You should set up git such that it uses "Fengquan Chen", not > "fengquan.chen". > > Other than that, for my reference, > > Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> > > We'll have to wait for dt property approval before we can apply the > patch. > > Thanks, > Guenter Thanks, i have uploaded a new v3 to fix the signed-off name, and move the dt-binding patch to the first patch. Best Regards Fengquan > > > --- > > 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 97ca993bd009..276b6cb7d225 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, "mediatek,disable- > > extrst"); > > + > > return 0; > > } > > > > > >