cdns_wdt: who enables the clock

Jorge Ramirez-Ortiz, Foundries
2021-09-08T15:39:40Z

Hi Michal

The *linux* cadence_wdt driver for the watchdog enables the clock that
controls its behaviour. However this is not done in the U-boot
driver; I dont think it is safe to assume that the clock will be active.
do you know why is the driver making that assumption? and how to
enable the clock?

Also, I am not sure it is either safe to assume that the WDT IP will
be enabled; IMO during probe we should do something like this
(otherwise the AXI bus will complain and fault the boot)

static int cdns_wdt_probe(struct udevice *dev)
{
- debug("%s: Probing wdt%u\n", __func__, dev_seq(dev));
+ u32 rst = 0;
+
+ /* release WDT from reset */
+ rst = readl(0xFD1A0100) & ~BIT(15);
+ writel(rst, 0xFD1A0100);
+
+ debug("%s: Probing wdt%u)\n", __func__, dev_seq(dev));

return 0;
}

thanks
Jorge