[PATCH] versal: watchdog: Add support for Xilinx window watchdog
Andy Shevchenko
andriy.shevchenko at linux.intel.com
Wed Mar 11 12:52:47 CET 2020
On Wed, Mar 11, 2020 at 11:48:23AM +0100, Michal Simek wrote:
> From: Ashok Reddy Soma <ashok.reddy.soma at xilinx.com>
>
> Add support for Xilinx window watchdog, which can be found on
> Versal platforms.
...
> +config WWDT_XILINX
Even though I don't think extra W is a good idea.
> + bool "Xilinx window watchdog timer support"
> + depends on WDT && ARCH_VERSAL
> + imply WATCHDOG
> + help
> + Select this to enable Xilinx window watchdog timer, which can be found on
> + Xilinx Versal Platforms.
> +struct wwdt_regs {
> + u32 reserved0[1024];
These are not needed. Use regmap with register offsets.
> + u32 refresh; /* Refresh Register [0x1000] */
> + u32 reserved1[1023];
Ditto.
> + u32 csr; /* Control/Status Register [0x2000] */
> + u32 reserved2;
> + u32 offset; /* Offset Register [0x2008] */
> + u32 reserved3;
> + u32 cmp0; /* Compare Value Register0 [0x2010] */
> + u32 cmp1; /* Compare Value Register1 [0x2014] */
> + u32 reserved4[1006];
Ditto.
> + u32 warmrst; /* Warm Reset Register [0x2FD0] */
> +};
> +static int xlnx_wwdt_reset(struct udevice *dev)
> +{
> + struct xlnx_wwdt_priv *wdt = dev_get_priv(dev);
> +
> + dev_dbg(dev, "%s ", __func__);
Usually this is noise.
> +
> + writel(XWT_WWREF_GWRR_MASK, &wdt->regs->refresh);
> +
> + return 0;
And taking above into consideration, I don't see any value of this helper.
writel() can be used in-place.
> +}
--
With Best Regards,
Andy Shevchenko
More information about the U-Boot
mailing list