public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Stefan Roese <sr@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 08/14] mips: mt76xx: Enable watchdog support
Date: Tue,  9 Oct 2018 08:59:10 +0200	[thread overview]
Message-ID: <20181009065916.31977-8-sr@denx.de> (raw)
In-Reply-To: <20181009065916.31977-1-sr@denx.de>

This patch enables and starts the watchdog on the MT7620 platform.
Currently the WD timeout is configured to 60 seconds.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
---
 arch/mips/Kconfig           |  1 +
 arch/mips/mach-mt7620/cpu.c | 40 +++++++++++++++++++++++++++++++++++++
 2 files changed, 41 insertions(+)

diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 0aa23981d4..54a483075f 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -79,6 +79,7 @@ config ARCH_MT7620
 	select DM_SERIAL
 	imply DM_SPI
 	imply DM_SPI_FLASH
+	select ARCH_MISC_INIT if WATCHDOG
 	select MIPS_TUNE_24KC
 	select OF_CONTROL
 	select ROM_EXCEPTION_VECTORS
diff --git a/arch/mips/mach-mt7620/cpu.c b/arch/mips/mach-mt7620/cpu.c
index 457f09f32c..87cc973b75 100644
--- a/arch/mips/mach-mt7620/cpu.c
+++ b/arch/mips/mach-mt7620/cpu.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <dm.h>
 #include <ram.h>
+#include <wdt.h>
 #include <asm/io.h>
 #include <linux/io.h>
 #include <linux/sizes.h>
@@ -67,3 +68,42 @@ int print_cpuinfo(void)
 
 	return 0;
 }
+
+#ifdef CONFIG_WATCHDOG
+static struct udevice *watchdog_dev;
+
+/* Called by macro WATCHDOG_RESET */
+void watchdog_reset(void)
+{
+	static ulong next_reset;
+	ulong now;
+
+	if (!watchdog_dev)
+		return;
+
+	now = get_timer(0);
+
+	/* Do not reset the watchdog too often */
+	if (now > next_reset) {
+		next_reset = now + 1000;	/* reset every 1000ms */
+		wdt_reset(watchdog_dev);
+	}
+}
+
+int arch_misc_init(void)
+{
+	/* Init watchdog */
+	if (uclass_get_device_by_seq(UCLASS_WDT, 0, &watchdog_dev)) {
+		debug("Watchdog: Not found by seq!\n");
+		if (uclass_get_device(UCLASS_WDT, 0, &watchdog_dev)) {
+			puts("Watchdog: Not found!\n");
+			return 0;
+		}
+	}
+
+	wdt_start(watchdog_dev, 60000, 0);	/* 60 seconds */
+	printf("Watchdog: Started\n");
+
+	return 0;
+}
+#endif
-- 
2.19.1

  parent reply	other threads:[~2018-10-09  6:59 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-09  6:59 [U-Boot] [PATCH 01/14] mips: Add in_le32(), out_le32() etc IO accessor functions Stefan Roese
2018-10-09  6:59 ` [U-Boot] [PATCH 02/14] mips: mt76xx: lowlevel_init.S: Add missing memory controller reset in DDR init Stefan Roese
2018-10-28 19:42   ` Daniel Schwierzeck
2018-10-09  6:59 ` [U-Boot] [PATCH 03/14] mips: mt76xx: Enable SYS_MIPS_CACHE_INIT_RAM_LOAD for cache init Stefan Roese
2018-10-28 19:02   ` Daniel Schwierzeck
2018-10-09  6:59 ` [U-Boot] [PATCH 04/14] mips: mt76xx: Add ethernet DT node to mt7628a.dtsi Stefan Roese
2018-10-28 19:43   ` Daniel Schwierzeck
2018-10-09  6:59 ` [U-Boot] [PATCH 05/14] mips: mt76xx: Add GPIO DT nodes " Stefan Roese
2018-10-09  6:59 ` [U-Boot] [PATCH 06/14] mips: mt76xx: Add watchdog DT node " Stefan Roese
2018-10-09  6:59 ` [U-Boot] [PATCH 07/14] mips: mt76xx: Kconfig: Add ethernet and GPIO support Stefan Roese
2018-10-09  6:59 ` Stefan Roese [this message]
2018-10-09  6:59 ` [U-Boot] [PATCH 09/14] mips: mt76xx: gardena-smart-gateway: Configure GPIOs (digital vs analog) Stefan Roese
2018-10-09  6:59 ` [U-Boot] [PATCH 10/14] mips: mt76xx: gardena-smart-gateway: Add LEDs to dts Stefan Roese
2018-10-09  6:59 ` [U-Boot] [PATCH 11/14] mips: mt76xx: gardena-smart-gateway: Add board_late_init() to set LED def state Stefan Roese
2018-10-09  6:59 ` [U-Boot] [PATCH 12/14] mips: mt76xx: gardena-smart-gateway: Misc updates to dts/config/defconfig Stefan Roese
2018-10-09  6:59 ` [U-Boot] [PATCH 13/14] mips: mt76xx: linkit-smart-7688: Use ioremap_nocache to get address Stefan Roese
2018-10-09  6:59 ` [U-Boot] [PATCH 14/14] mips: mt76xx: linkit-smart-7688: Misc updates to dts/config/defconfig Stefan Roese
2018-10-09 17:38 ` [U-Boot] [PATCH 01/14] mips: Add in_le32(), out_le32() etc IO accessor functions Anatolij Gustschin
2018-10-10  5:57   ` 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=20181009065916.31977-8-sr@denx.de \
    --to=sr@denx.de \
    --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