[openwrt/openwrt] bcm4908: add watchdog support

LEDE Commits lede-commits at lists.infradead.org
Tue Nov 9 03:44:34 PST 2021


rmilecki pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/9565bd9bd61f026effce7ebfe17d413d1adb032f

commit 9565bd9bd61f026effce7ebfe17d413d1adb032f
Author: Rafał Miłecki <rafal at milecki.pl>
AuthorDate: Tue Nov 9 12:07:59 2021 +0100

    bcm4908: add watchdog support
    
    Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
---
 target/linux/bcm4908/config-5.10                   |  2 +
 target/linux/bcm4908/config-5.4                    |  2 +
 ...-arm64-dts-broadcom-bcm4908-add-TWD-block.patch | 50 ++++++++++++++++++++++
 ...cm7038_wdt-allow-building-on-ARCH_BCM4908.patch | 25 +++++++++++
 ...-arm64-dts-broadcom-bcm4908-add-TWD-block.patch | 50 ++++++++++++++++++++++
 ...cm7038_wdt-allow-building-on-ARCH_BCM4908.patch | 25 +++++++++++
 6 files changed, 154 insertions(+)

diff --git a/target/linux/bcm4908/config-5.10 b/target/linux/bcm4908/config-5.10
index 7efb81f508..a6cb52b18c 100644
--- a/target/linux/bcm4908/config-5.10
+++ b/target/linux/bcm4908/config-5.10
@@ -36,6 +36,7 @@ CONFIG_B53=y
 # CONFIG_B53_SERDES is not set
 # CONFIG_B53_SRAB_DRIVER is not set
 CONFIG_BCM4908_ENET=y
+CONFIG_BCM7038_WDT=y
 CONFIG_BCM7XXX_PHY=y
 CONFIG_BCM_NET_PHYLIB=y
 CONFIG_BCM_PMB=y
@@ -204,6 +205,7 @@ CONFIG_UBIFS_FS=y
 CONFIG_UNMAP_KERNEL_AT_EL0=y
 CONFIG_USB_SUPPORT=y
 CONFIG_VMAP_STACK=y
+CONFIG_WATCHDOG_CORE=y
 CONFIG_XPS=y
 CONFIG_XXHASH=y
 CONFIG_ZLIB_DEFLATE=y
diff --git a/target/linux/bcm4908/config-5.4 b/target/linux/bcm4908/config-5.4
index 8a37c61127..55b20f86d2 100644
--- a/target/linux/bcm4908/config-5.4
+++ b/target/linux/bcm4908/config-5.4
@@ -38,6 +38,7 @@ CONFIG_B53=y
 # CONFIG_B53_SERDES is not set
 # CONFIG_B53_SRAB_DRIVER is not set
 CONFIG_BCM4908_ENET=y
+CONFIG_BCM7038_WDT=y
 CONFIG_BCM7XXX_PHY=y
 CONFIG_BCM_NET_PHYLIB=y
 CONFIG_BCM_PMB=y
@@ -208,6 +209,7 @@ CONFIG_UBIFS_FS=y
 CONFIG_UNMAP_KERNEL_AT_EL0=y
 CONFIG_USB_SUPPORT=y
 CONFIG_VMAP_STACK=y
+CONFIG_WATCHDOG_CORE=y
 CONFIG_XPS=y
 CONFIG_XXHASH=y
 CONFIG_ZLIB_DEFLATE=y
diff --git a/target/linux/bcm4908/patches-5.10/301-arm64-dts-broadcom-bcm4908-add-TWD-block.patch b/target/linux/bcm4908/patches-5.10/301-arm64-dts-broadcom-bcm4908-add-TWD-block.patch
new file mode 100644
index 0000000000..026ce3b9fc
--- /dev/null
+++ b/target/linux/bcm4908/patches-5.10/301-arm64-dts-broadcom-bcm4908-add-TWD-block.patch
@@ -0,0 +1,50 @@
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal at milecki.pl>
+Date: Tue, 9 Nov 2021 11:39:42 +0100
+Subject: [PATCH] arm64: dts: broadcom: bcm4908: add TWD block
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+BCM4908 contains TWD block that provides few functions:
+1. Timers
+2. Wathchdog
+3. Software reset
+
+Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
+---
+ .../boot/dts/broadcom/bcm4908/bcm4908.dtsi      | 17 +++++++++++++----
+ 1 file changed, 13 insertions(+), 4 deletions(-)
+
+--- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi
++++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi
+@@ -273,9 +273,18 @@
+ 		#size-cells = <1>;
+ 		ranges = <0x00 0x00 0xff800000 0x3000>;
+ 
+-		timer: timer at 400 {
+-			compatible = "brcm,bcm6328-timer", "syscon";
+-			reg = <0x400 0x3c>;
++		twd: timer-mfd at 400 {
++			compatible = "brcm,bcm4908-twd", "brcm,twd", "simple-mfd", "syscon";
++			reg = <0x400 0x4c>;
++			ranges = <0x0 0x400 0x4c>;
++
++			#address-cells = <1>;
++			#size-cells = <1>;
++
++			watchdog at 28 {
++				compatible = "brcm,bcm7038-wdt";
++				reg = <0x28 0x8>;
++			};
+ 		};
+ 
+ 		gpio0: gpio-controller at 500 {
+@@ -329,7 +338,7 @@
+ 
+ 		reboot {
+ 			compatible = "syscon-reboot";
+-			regmap = <&timer>;
++			regmap = <&twd>;
+ 			offset = <0x34>;
+ 			mask = <1>;
+ 		};
diff --git a/target/linux/bcm4908/patches-5.10/800-watchdog-bcm7038_wdt-allow-building-on-ARCH_BCM4908.patch b/target/linux/bcm4908/patches-5.10/800-watchdog-bcm7038_wdt-allow-building-on-ARCH_BCM4908.patch
new file mode 100644
index 0000000000..f4cf75037e
--- /dev/null
+++ b/target/linux/bcm4908/patches-5.10/800-watchdog-bcm7038_wdt-allow-building-on-ARCH_BCM4908.patch
@@ -0,0 +1,25 @@
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal at milecki.pl>
+Date: Tue, 9 Nov 2021 11:34:28 +0100
+Subject: [PATCH] watchdog: bcm7038_wdt: allow building on ARCH_BCM4908
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The same hardware block is present on BCM4908 SoCs family.
+
+Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
+---
+ drivers/watchdog/Kconfig | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/watchdog/Kconfig
++++ b/drivers/watchdog/Kconfig
+@@ -1800,7 +1800,7 @@ config BCM7038_WDT
+ 	tristate "BCM7038 Watchdog"
+ 	select WATCHDOG_CORE
+ 	depends on HAS_IOMEM
+-	depends on ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST
++	depends on ARCH_BCM4908 || ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST
+ 	help
+ 	 Watchdog driver for the built-in hardware in Broadcom 7038 and
+ 	 later SoCs used in set-top boxes.  BCM7038 was made public
diff --git a/target/linux/bcm4908/patches-5.4/301-arm64-dts-broadcom-bcm4908-add-TWD-block.patch b/target/linux/bcm4908/patches-5.4/301-arm64-dts-broadcom-bcm4908-add-TWD-block.patch
new file mode 100644
index 0000000000..026ce3b9fc
--- /dev/null
+++ b/target/linux/bcm4908/patches-5.4/301-arm64-dts-broadcom-bcm4908-add-TWD-block.patch
@@ -0,0 +1,50 @@
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal at milecki.pl>
+Date: Tue, 9 Nov 2021 11:39:42 +0100
+Subject: [PATCH] arm64: dts: broadcom: bcm4908: add TWD block
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+BCM4908 contains TWD block that provides few functions:
+1. Timers
+2. Wathchdog
+3. Software reset
+
+Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
+---
+ .../boot/dts/broadcom/bcm4908/bcm4908.dtsi      | 17 +++++++++++++----
+ 1 file changed, 13 insertions(+), 4 deletions(-)
+
+--- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi
++++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi
+@@ -273,9 +273,18 @@
+ 		#size-cells = <1>;
+ 		ranges = <0x00 0x00 0xff800000 0x3000>;
+ 
+-		timer: timer at 400 {
+-			compatible = "brcm,bcm6328-timer", "syscon";
+-			reg = <0x400 0x3c>;
++		twd: timer-mfd at 400 {
++			compatible = "brcm,bcm4908-twd", "brcm,twd", "simple-mfd", "syscon";
++			reg = <0x400 0x4c>;
++			ranges = <0x0 0x400 0x4c>;
++
++			#address-cells = <1>;
++			#size-cells = <1>;
++
++			watchdog at 28 {
++				compatible = "brcm,bcm7038-wdt";
++				reg = <0x28 0x8>;
++			};
+ 		};
+ 
+ 		gpio0: gpio-controller at 500 {
+@@ -329,7 +338,7 @@
+ 
+ 		reboot {
+ 			compatible = "syscon-reboot";
+-			regmap = <&timer>;
++			regmap = <&twd>;
+ 			offset = <0x34>;
+ 			mask = <1>;
+ 		};
diff --git a/target/linux/bcm4908/patches-5.4/800-watchdog-bcm7038_wdt-allow-building-on-ARCH_BCM4908.patch b/target/linux/bcm4908/patches-5.4/800-watchdog-bcm7038_wdt-allow-building-on-ARCH_BCM4908.patch
new file mode 100644
index 0000000000..16ed3f5072
--- /dev/null
+++ b/target/linux/bcm4908/patches-5.4/800-watchdog-bcm7038_wdt-allow-building-on-ARCH_BCM4908.patch
@@ -0,0 +1,25 @@
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal at milecki.pl>
+Date: Tue, 9 Nov 2021 11:34:28 +0100
+Subject: [PATCH] watchdog: bcm7038_wdt: allow building on ARCH_BCM4908
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The same hardware block is present on BCM4908 SoCs family.
+
+Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
+---
+ drivers/watchdog/Kconfig | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/watchdog/Kconfig
++++ b/drivers/watchdog/Kconfig
+@@ -1759,7 +1759,7 @@ config BCM7038_WDT
+ 	tristate "BCM7038 Watchdog"
+ 	select WATCHDOG_CORE
+ 	depends on HAS_IOMEM
+-	depends on ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST
++	depends on ARCH_BCM4908 || ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST
+ 	help
+ 	 Watchdog driver for the built-in hardware in Broadcom 7038 and
+ 	 later SoCs used in set-top boxes.  BCM7038 was made public



More information about the lede-commits mailing list