Hi Jim,

On 9/26/23 11:04, Jim Liu wrote:
Signed-off-by: Jim Liu <jjl...@nuvoton.com>

Please provide a short commit summary, explaining what this patch
does. Starting with a reasoning for this change and a short dscription
of what was changed.

More comments below...

---
  arch/arm/dts/nuvoton-common-npcm8xx.dtsi | 24 ++++++++++++++++++++++++
  drivers/watchdog/npcm_wdt.c              | 12 ++++++++----
  2 files changed, 32 insertions(+), 4 deletions(-)

diff --git a/arch/arm/dts/nuvoton-common-npcm8xx.dtsi 
b/arch/arm/dts/nuvoton-common-npcm8xx.dtsi
index fabe5925b7..87c77dcb2c 100644
--- a/arch/arm/dts/nuvoton-common-npcm8xx.dtsi
+++ b/arch/arm/dts/nuvoton-common-npcm8xx.dtsi
@@ -154,6 +154,30 @@
                                clock-names = "refclk";
                        };
+ watchdog0: watchdog@801c {
+                               compatible = "nuvoton,npcm750-wdt";
+                               reg = <0x801c 0x4>;
+                               clocks = <&clk NPCM8XX_CLK_REFCLK>;
+                               interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
+                               status = "disabled";
+                       };
+
+                       watchdog1: watchdog@901c {
+                               compatible = "nuvoton,npcm750-wdt";
+                               reg = <0x901c 0x4>;
+                               clocks = <&clk NPCM8XX_CLK_REFCLK>;
+                               interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
+                               status = "disabled";
+                       };
+
+                       watchdog2: watchdog@a01c {
+                               compatible = "nuvoton,npcm750-wdt";
+                               reg = <0xa01c 0x4>;
+                               clocks = <&clk NPCM8XX_CLK_REFCLK>;
+                               interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
+                               status = "disabled";
+                       };
+
                        serial0: serial@0 {
                                compatible = "nuvoton,npcm845-uart", 
"nuvoton,npcm750-uart";
                                reg = <0x0 0x1000>;
diff --git a/drivers/watchdog/npcm_wdt.c b/drivers/watchdog/npcm_wdt.c
index e56aa0ebe1..d6792bab35 100644
--- a/drivers/watchdog/npcm_wdt.c
+++ b/drivers/watchdog/npcm_wdt.c
@@ -69,17 +69,21 @@ static int npcm_wdt_stop(struct udevice *dev)
  static int npcm_wdt_reset(struct udevice *dev)
  {
        struct npcm_wdt_priv *priv = dev_get_priv(dev);
+       u32 val;
- writel(NPCM_WTR | NPCM_WTRE | NPCM_WTE, priv->regs);
+       val = readl(priv->regs);
+       writel(val | NPCM_WTR, priv->regs);
return 0;
  }
-
  static int npcm_wdt_expire_now(struct udevice *dev, ulong flags)
  {
-       return npcm_wdt_reset(dev);
-}
+       struct npcm_wdt_priv *priv = dev_get_priv(dev);
+ writel(NPCM_WTR | NPCM_WTRE | NPCM_WTE, priv->regs);
+
+       return 0;
+}
  static int npcm_wdt_of_to_plat(struct udevice *dev)

Hmmm. This will result in npcm_wdt_of_to_plat() not having an empty line
before its declaration. Please fix.

Thanks,
Stefan

Reply via email to