brcm2708: update to latest patches from RPi Foundation
[openwrt/staging/dedeckeh.git] / target / linux / brcm2708 / patches-4.19 / 950-0452-ARM-bcm283x-Extend-the-WDT-DT-node-out-to-cover-the-.patch
diff --git a/target/linux/brcm2708/patches-4.19/950-0452-ARM-bcm283x-Extend-the-WDT-DT-node-out-to-cover-the-.patch b/target/linux/brcm2708/patches-4.19/950-0452-ARM-bcm283x-Extend-the-WDT-DT-node-out-to-cover-the-.patch
new file mode 100644 (file)
index 0000000..84a6913
--- /dev/null
@@ -0,0 +1,45 @@
+From 9f889edf282d1d9a21c921e6cd33cebe22bcc4d4 Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Wed, 12 Dec 2018 15:51:49 -0800
+Subject: [PATCH] ARM: bcm283x: Extend the WDT DT node out to cover the
+ whole PM block. (v4)
+
+It was covering part of the PM block's range, up to the WDT regs.  To
+support the rest of the PM block's functionality, we need the full
+register range plus the AXI Async Bridge regs for PM sequencing.
+
+This doesn't convert any of the consumers over to the new binding yet,
+since we will need to be careful in coordinating our usage of firmware
+services that might power domains on and off versus the bcm2835-pm
+driver's access of those same domains.
+
+Signed-off-by: Eric Anholt <eric@anholt.net>
+Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
+Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
+(cherry picked from commit 29abc92c1d93e28a8f4d55e6343eec4faf44025a)
+---
+ arch/arm/boot/dts/bcm283x.dtsi | 13 +++++++++++--
+ 1 file changed, 11 insertions(+), 2 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm283x.dtsi
++++ b/arch/arm/boot/dts/bcm283x.dtsi
+@@ -121,8 +121,17 @@
+               };
+               watchdog@7e100000 {
+-                      compatible = "brcm,bcm2835-pm-wdt";
+-                      reg = <0x7e100000 0x28>;
++                      compatible = "brcm,bcm2835-pm", "brcm,bcm2835-pm-wdt";
++                      #power-domain-cells = <1>;
++                      #reset-cells = <1>;
++                      reg = <0x7e100000 0x114>,
++                            <0x7e00a000 0x24>;
++                      clocks = <&clocks BCM2835_CLOCK_V3D>,
++                               <&clocks BCM2835_CLOCK_PERI_IMAGE>,
++                               <&clocks BCM2835_CLOCK_H264>,
++                               <&clocks BCM2835_CLOCK_ISP>;
++                      clock-names = "v3d", "peri_image", "h264", "isp";
++                      system-power-controller;
+               };
+               clocks: cprman@7e101000 {