Guenter Roeck and Stefan Wahren both wanted a MFD-style driver to cover the PM node that lets WDT and soc/bcm2835-power both attach to it. I think this is an ugly solution because it bloats this feature addition by 25% more lines for all the boilerplate, but here it is. Tested with V3D powering on, haven't double-checked the reset controller. Eric Anholt (5): dt-bindings: soc: Add a new binding for the BCM2835 PM node. bcm2835-pm: Move bcm2835-watchdog's DT probe to an MFD. soc: bcm: bcm2835-pm: Add support for power domains under a new binding. ARM: bcm283x: Extend the WDT DT node out to cover the whole PM block. ARM: bcm283x: Switch V3D over to using the PM driver instead of firmware. .../bindings/soc/bcm/brcm,bcm2835-pm.txt | 42 ++ arch/arm/boot/dts/bcm2835-rpi.dtsi | 4 - arch/arm/boot/dts/bcm283x.dtsi | 16 +- arch/arm/mach-bcm/Kconfig | 1 + drivers/mfd/Makefile | 1 + drivers/mfd/bcm2835-pm.c | 98 +++ drivers/soc/bcm/Kconfig | 11 + drivers/soc/bcm/Makefile | 1 + drivers/soc/bcm/bcm2835-power.c | 661 ++++++++++++++++++ drivers/watchdog/bcm2835_wdt.c | 30 +- include/dt-bindings/soc/bcm2835-pm.h | 28 + include/linux/mfd/bcm2835-pm.h | 14 + 12 files changed, 882 insertions(+), 25 deletions(-) create mode 100644 Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.txt create mode 100644 drivers/mfd/bcm2835-pm.c create mode 100644 drivers/soc/bcm/bcm2835-power.c create mode 100644 include/dt-bindings/soc/bcm2835-pm.h create mode 100644 include/linux/mfd/bcm2835-pm.h -- 2.19.1