bcm4908: add watchdog support
[openwrt/staging/thess.git] / target / linux / bcm4908 / patches-5.10 / 301-arm64-dts-broadcom-bcm4908-add-TWD-block.patch
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 (file)
index 0000000..026ce3b
--- /dev/null
@@ -0,0 +1,50 @@
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@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@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@400 {
+-                      compatible = "brcm,bcm6328-timer", "syscon";
+-                      reg = <0x400 0x3c>;
++              twd: timer-mfd@400 {
++                      compatible = "brcm,bcm4908-twd", "brcm,twd", "simple-mfd", "syscon";
++                      reg = <0x400 0x4c>;
++                      ranges = <0x0 0x400 0x4c>;
++
++                      #address-cells = <1>;
++                      #size-cells = <1>;
++
++                      watchdog@28 {
++                              compatible = "brcm,bcm7038-wdt";
++                              reg = <0x28 0x8>;
++                      };
+               };
+               gpio0: gpio-controller@500 {
+@@ -329,7 +338,7 @@
+               reboot {
+                       compatible = "syscon-reboot";
+-                      regmap = <&timer>;
++                      regmap = <&twd>;
+                       offset = <0x34>;
+                       mask = <1>;
+               };