[PATCH v1] wdt: nuvoton: fix reset/expire function error and add dts

Jim Liu jim.t90615 at gmail.com
Thu Sep 28 02:57:52 CEST 2023


Hi Stefan

Thanks for your quick review.

i will followed your suggestions to update V2


Best regards,
Jim

On Tue, Sep 26, 2023 at 5:30 PM Stefan Roese <sr at denx.de> wrote:
>
> Hi Jim,
>
> On 9/26/23 11:04, Jim Liu wrote:
> > Signed-off-by: Jim Liu <JJLIU0 at 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 at 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 at 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 at 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 at 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


More information about the U-Boot mailing list