public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: "Pali Rohár" <pali@kernel.org>
To: u-boot@lists.denx.de
Subject: [PATCH v2 3/4] watchdog: Allow to use CONFIG_WDT without starting watchdog
Date: Tue,  9 Mar 2021 14:26:56 +0100	[thread overview]
Message-ID: <20210309132657.25393-3-pali@kernel.org> (raw)
In-Reply-To: <20210309132657.25393-1-pali@kernel.org>

In some cases it is useful to compile support for U-Boot command 'wdt'
without starting HW watchdog in early U-Boot phase. For example when the
user want to start the watchdog only on demand by some boot script.

This change adds a new compile option WATCHDOG_AUTOSTART to control whether
U-Boot should automatically start the watchdog during init phase or not.

This option is enabled by default as it was the default behavior prior
introducing this new change. When compiling U-Boot users can decide to turn
this option off.

Signed-off-by: Pali Roh?r <pali@kernel.org>
---
 drivers/watchdog/Kconfig      | 13 +++++++++++++
 drivers/watchdog/wdt-uclass.c |  5 +++++
 2 files changed, 18 insertions(+)

diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
index 602ccbe41c00..aa76a8f2d239 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -9,6 +9,19 @@ config WATCHDOG
 	  this option if you want to service enabled watchdog by U-Boot. Disable
 	  this option if you want U-Boot to start watchdog but never service it.
 
+config WATCHDOG_AUTOSTART
+	bool "Automatically start watchdog timer"
+	depends on WDT
+	default y
+	help
+	  Automatically start watchdog timer and start servicing it during
+	  init phase. Enabled by default. Disable this option if you want
+	  to compile U-Boot with CONFIG_WDT support but do not want to
+	  activate watchdog, like when CONFIG_WDT option is disabled. You
+	  would be able to start watchdog manually by 'wdt' command. Useful
+	  when you want to have support for 'wdt' command but do not want
+	  to have watchdog enabled by default.
+
 config WATCHDOG_TIMEOUT_MSECS
 	int "Watchdog timeout in msec"
 	default 128000 if ARCH_MX25 || ARCH_MX31 || ARCH_MX5 || ARCH_MX6
diff --git a/drivers/watchdog/wdt-uclass.c b/drivers/watchdog/wdt-uclass.c
index 7500b3ed90e3..0603ffbd36d9 100644
--- a/drivers/watchdog/wdt-uclass.c
+++ b/drivers/watchdog/wdt-uclass.c
@@ -51,6 +51,11 @@ int initr_watchdog(void)
 						    4 * reset_period) / 4;
 	}
 
+	if (!CONFIG_IS_ENABLED(WATCHDOG_AUTOSTART)) {
+		printf("WDT:   Not starting\n");
+		return 0;
+	}
+
 	ret = wdt_start(gd->watchdog_dev, timeout * 1000, 0);
 	if (ret != 0) {
 		printf("WDT:   Failed to start\n");
-- 
2.20.1

  parent reply	other threads:[~2021-03-09 13:26 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-05 21:36 [PATCH 1/4] watchdog: Set/unset GD_FLG_WDT_READY flag in wdt_start()/wdt_stop() Pali Rohár
2021-03-05 21:36 ` [PATCH 2/4] watchdog: Show error message when initr_watchdog() cannot start watchdog Pali Rohár
2021-03-09 11:27   ` Stefan Roese
2021-03-05 21:36 ` [PATCH 3/4] watchdog: Allow to use CONFIG_WDT without starting watchdog Pali Rohár
2021-03-09 11:33   ` Stefan Roese
2021-03-09 13:27     ` Pali Rohár
2021-03-09 16:12       ` Stefan Roese
2021-03-09 16:14         ` Pali Rohár
2021-03-05 21:36 ` [PATCH 4/4] arm: mvebu: Espressobin: Enable watchdog support but do not start it Pali Rohár
2021-03-09 11:34   ` Stefan Roese
2021-03-09 11:26 ` [PATCH 1/4] watchdog: Set/unset GD_FLG_WDT_READY flag in wdt_start()/wdt_stop() Stefan Roese
2021-03-09 13:26 ` [PATCH v2 " Pali Rohár
2021-03-09 13:26   ` [PATCH v2 2/4] watchdog: Show error message when initr_watchdog() cannot start watchdog Pali Rohár
2021-03-09 16:13     ` Stefan Roese
2021-03-09 13:26   ` Pali Rohár [this message]
2021-03-09 16:13     ` [PATCH v2 3/4] watchdog: Allow to use CONFIG_WDT without starting watchdog Stefan Roese
2021-03-09 13:26   ` [PATCH v2 4/4] arm: mvebu: Espressobin: Enable watchdog support but do not start it Pali Rohár
2021-03-09 16:13     ` Stefan Roese
2021-03-09 16:13   ` [PATCH v2 1/4] watchdog: Set/unset GD_FLG_WDT_READY flag in wdt_start()/wdt_stop() Stefan Roese
2021-04-06 10:28   ` Stefan Roese

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210309132657.25393-3-pali@kernel.org \
    --to=pali@kernel.org \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox