Skip to contentSkip to conversation

watchdog: npcm: add NPCM7xx watchdog driver

PATCH New Tomer Maimon 1 participant 3 messages Dec 18, 2017

Subsystems (3)
lore
Share & tools
lore

Tomer Maimon

author maintainer
#0 lore raw

cover watchdog: npcm: add NPCM7xx watchdog driver

This patch set adds watchdog support for the Nuvoton NPCM7xx Baseboard Management Controller (BMC).

Nuvoton NPCM7xx have three watchdog timer modules, each watchdog timer is a free-running timer with programmable timeout intervals.

The NPCM7xx watchdog interrupts connected Fast Interrupt reQuest (FIQ).

Tomer Maimon (2):
dt-binding: watchdog: document NPCM7xx watchdog DT bindings
watchdog: npcm: add NPCM7xx watchdog driver

 .../bindings/watchdog/nuvoton,npcm7xx-wdt.txt      |  23 ++
 drivers/watchdog/Kconfig                           |  11 +
 drivers/watchdog/Makefile                          |   1 +
 drivers/watchdog/npcm7xx_wdt.c                     | 369 +++++++++++++++++++++
 drivers/watchdog/npcm7xx_wdt_fiq_handler.S         |  68 ++++
 5 files changed, 472 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/watchdog/nuvoton,npcm7xx-wdt.txt
 create mode 100644 drivers/watchdog/npcm7xx_wdt.c
 create mode 100644 drivers/watchdog/npcm7xx_wdt_fiq_handler.S
Signature · 1 line
2.14.1
author maintainer
#1 lore raw

PATCH 1/2 dt-binding: watchdog: document NPCM7xx watchdog DT bindings

Added device tree binding documentation for Nuvoton NPCM7xx watchdog.

---
 .../bindings/watchdog/nuvoton,npcm7xx-wdt.txt      | 23 ++++++++++++++++++++++
 1 file changed, 23 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/watchdog/nuvoton,npcm7xx-wdt.txt
Documentation/devicetree/bindings/watchdog/nuvoton,npcm7xx-wdt.txt new file +23 -0
new file mode 100644
index 000000000000..211f93cab141
@@ -0,0 +1,23 @@
+Nuvoton NPCM7xx watchdog timer
+
+Nuvoton NPCM7xx have three watchdog timer modules, each watchdog timer is a free-running timer
+with programmable timeout intervals.
+
+Required properties:
+- compatible      : "nuvoton,npcm750-wdt" for Poleg NPCM750.
+- reg             : Offset and length of the register set for the device.
+- interrupts      : Contain the timer interrupt with flags for
+                    falling edge.
+
+Optional:
+- clocks          : phandle of watchdog timer reference clock.
+
+Example:
+
+watchdog0: watchdog@f0008000 {
+	compatible = "nuvoton,npcm750-wdt";
+	interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
+	reg = <0xf0008000 0x1000>;
+	status = "disabled";
+	clocks = <&clk NPCM7XX_CLK_TIMER>;
+};
\ No newline at end of file
Signature · 1 line
2.14.1
author maintainer
#2 lore raw

PATCH 2/2 watchdog: npcm: add NPCM7xx watchdog driver

In reply to Tomer Maimon

Add Nuvoton BMC NPCM7xx watchdog driver.

Nuvoton NPCM7xx have three watchdog timer modules, each watchdog timer is a free-running timer with programmable timeout intervals.

---
 drivers/watchdog/Kconfig                   |  11 +
 drivers/watchdog/Makefile                  |   1 +
 drivers/watchdog/npcm7xx_wdt.c             | 369 +++++++++++++++++++++++++++++
 drivers/watchdog/npcm7xx_wdt_fiq_handler.S |  68 ++++++
 4 files changed, 449 insertions(+)
 create mode 100644 drivers/watchdog/npcm7xx_wdt.c
 create mode 100644 drivers/watchdog/npcm7xx_wdt_fiq_handler.S
drivers/watchdog/Kconfig +11 -0
index c722cbfdc7e6..5995e099ccf3 100644
@@ -504,6 +504,17 @@ config COH901327_WATCHDOG
 	  This watchdog is used to reset the system and thus cannot be
 	  compiled as a module.
 
+config NPCM7XX_WATCHDOG
+	bool "NPCM750 watchdog"
+	depends on ARCH_NPCM7XX || COMPILE_TEST
+	default y if ARCH_NPCM7XX
+	select WATCHDOG_CORE
+	help
+	  Say Y here to include Watchdog timer support for the
+	  watchdog embedded into the NPCM7xx.
+	  This watchdog is used to reset the system and thus cannot be
+	  compiled as a module.
+
 config TWL4030_WATCHDOG
 	tristate "TWL4030 Watchdog"
 	depends on TWL4030_CORE
drivers/watchdog/Makefile +1 -0
index 56adf9fa67d0..4ac0c790093a 100644
@@ -60,6 +60,7 @@ obj-$(CONFIG_ORION_WATCHDOG) += orion_wdt.o
 obj-$(CONFIG_SUNXI_WATCHDOG) += sunxi_wdt.o
 obj-$(CONFIG_RN5T618_WATCHDOG) += rn5t618_wdt.o
 obj-$(CONFIG_COH901327_WATCHDOG) += coh901327_wdt.o
+obj-$(CONFIG_NPCM7XX_WATCHDOG) += npcm7xx_wdt.o npcm7xx_wdt_fiq_handler.o
 obj-$(CONFIG_STMP3XXX_RTC_WATCHDOG) += stmp3xxx_rtc_wdt.o
 obj-$(CONFIG_NUC900_WATCHDOG) += nuc900_wdt.o
 obj-$(CONFIG_TS4800_WATCHDOG) += ts4800_wdt.o
drivers/watchdog/npcm7xx_wdt.c new file +369 -0

369 lines not on this page · raw message

drivers/watchdog/npcm7xx_wdt_fiq_handler.S new file +68 -0

68 lines not on this page · raw message

Signature · 1 line
2.14.1