summaryrefslogtreecommitdiff
path: root/drivers/watchdog
diff options
context:
space:
mode:
authorAshok Reddy Soma <ashok.reddy.soma@xilinx.com>2021-09-28 09:01:59 +0300
committerMichal Simek <michal.simek@xilinx.com>2021-09-30 13:30:38 +0300
commitdced079c53b283e15f04282f405de410a9be584d (patch)
treec390982c3927bfafa8d4294501f2889dc440544f /drivers/watchdog
parent8c287ed8c3a392d2fd717054511b53851bce02f0 (diff)
downloadu-boot-dced079c53b283e15f04282f405de410a9be584d.tar.xz
watchdog: versal: Add support for expire now
Wdt expire command makes the wdt to count least possible ticks(1) and expires immediately. Add expire_now option to the xlnx_wwdt_ops and implement it by calling xlnx_wwdt_start() with minimum possible count(1). Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com> Link: https://lore.kernel.org/r/1632808919-8600-3-git-send-email-ashok.reddy.soma@xilinx.com Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Diffstat (limited to 'drivers/watchdog')
-rw-r--r--drivers/watchdog/xilinx_wwdt.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/watchdog/xilinx_wwdt.c b/drivers/watchdog/xilinx_wwdt.c
index d8b2ae7248..d582e3cc8f 100644
--- a/drivers/watchdog/xilinx_wwdt.c
+++ b/drivers/watchdog/xilinx_wwdt.c
@@ -144,6 +144,11 @@ static int xlnx_wwdt_start(struct udevice *dev, u64 timeout_ms, ulong flags)
return 0;
}
+static int xlnx_wwdt_expire_now(struct udevice *dev, ulong flags)
+{
+ return xlnx_wwdt_start(dev, XWT_WWDT_CNT_MIN, flags);
+}
+
static int xlnx_wwdt_probe(struct udevice *dev)
{
int ret;
@@ -182,6 +187,7 @@ static const struct wdt_ops xlnx_wwdt_ops = {
.start = xlnx_wwdt_start,
.reset = xlnx_wwdt_reset,
.stop = xlnx_wwdt_stop,
+ .expire_now = xlnx_wwdt_expire_now,
};
static const struct udevice_id xlnx_wwdt_ids[] = {