- designware_wdt: reset watchdog in designware_wdt_stop() function (Meng) - socfpga_stratix10: enable wdt command (Meng) - wdt-uclass: Use IS_ENABLED for WATCHDOG_AUTOSTART (Teresa)
This commit is contained in:
@@ -39,6 +39,7 @@ CONFIG_CMD_CACHE=y
|
|||||||
CONFIG_CMD_EXT4=y
|
CONFIG_CMD_EXT4=y
|
||||||
CONFIG_CMD_FAT=y
|
CONFIG_CMD_FAT=y
|
||||||
CONFIG_CMD_FS_GENERIC=y
|
CONFIG_CMD_FS_GENERIC=y
|
||||||
|
CONFIG_CMD_WDT=y
|
||||||
CONFIG_ENV_IS_IN_MMC=y
|
CONFIG_ENV_IS_IN_MMC=y
|
||||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||||
CONFIG_NET_RANDOM_ETHADDR=y
|
CONFIG_NET_RANDOM_ETHADDR=y
|
||||||
|
@@ -22,6 +22,7 @@
|
|||||||
struct designware_wdt_priv {
|
struct designware_wdt_priv {
|
||||||
void __iomem *base;
|
void __iomem *base;
|
||||||
unsigned int clk_khz;
|
unsigned int clk_khz;
|
||||||
|
struct reset_ctl_bulk *resets;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -95,6 +96,18 @@ static int designware_wdt_stop(struct udevice *dev)
|
|||||||
designware_wdt_reset(dev);
|
designware_wdt_reset(dev);
|
||||||
writel(0, priv->base + DW_WDT_CR);
|
writel(0, priv->base + DW_WDT_CR);
|
||||||
|
|
||||||
|
if (CONFIG_IS_ENABLED(DM_RESET)) {
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
ret = reset_assert_bulk(priv->resets);
|
||||||
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
ret = reset_deassert_bulk(priv->resets);
|
||||||
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -143,13 +156,11 @@ static int designware_wdt_probe(struct udevice *dev)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (CONFIG_IS_ENABLED(DM_RESET)) {
|
if (CONFIG_IS_ENABLED(DM_RESET)) {
|
||||||
struct reset_ctl_bulk resets;
|
ret = reset_get_bulk(dev, priv->resets);
|
||||||
|
|
||||||
ret = reset_get_bulk(dev, &resets);
|
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err;
|
goto err;
|
||||||
|
|
||||||
ret = reset_deassert_bulk(&resets);
|
ret = reset_deassert_bulk(priv->resets);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
|
@@ -53,7 +53,7 @@ int initr_watchdog(void)
|
|||||||
4 * reset_period) / 4;
|
4 * reset_period) / 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!CONFIG_IS_ENABLED(WATCHDOG_AUTOSTART)) {
|
if (!IS_ENABLED(CONFIG_WATCHDOG_AUTOSTART)) {
|
||||||
printf("WDT: Not starting\n");
|
printf("WDT: Not starting\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user