i2c@3500d000 {
                status="okay";
-               clock-frequency = <400000>;
+               clock-frequency = <100000>;
+
+               pmu: pmu@8 {
+                       reg = <0x08>;
+               };
        };
 
        sdio2: sdio@3f190000 {
                non-removable;
                max-frequency = <48000000>;
+               vmmc-supply = <&camldo1_reg>;
+               vqmmc-supply = <&iosr1_reg>;
                status = "okay";
        };
 
        sdio4: sdio@3f1b0000 {
                max-frequency = <48000000>;
                cd-gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+               vmmc-supply = <&sdldo_reg>;
+               vqmmc-supply = <&sdxldo_reg>;
                status = "okay";
        };
 
        usbotg: usb@3f120000 {
+               vusb_d-supply = <&usbldo_reg>;
+               vusb_a-supply = <&iosr1_reg>;
                status = "okay";
        };
 
                status = "okay";
        };
 };
+
+#include "bcm59056.dtsi"
+
+&pmu {
+       compatible = "brcm,bcm59056";
+       interrupts = <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>;
+       regulators {
+               camldo1_reg: camldo1 {
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+               };
+
+               sdldo_reg: sdldo {
+                       regulator-min-microvolt = <3000000>;
+                       regulator-max-microvolt = <3000000>;
+               };
+
+               sdxldo_reg: sdxldo {
+                       regulator-min-microvolt = <2700000>;
+                       regulator-max-microvolt = <3300000>;
+               };
+
+               usbldo_reg: usbldo {
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-always-on;
+               };
+
+               iosr1_reg: iosr1 {
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-always-on;
+               };
+       };
+};
 
--- /dev/null
+/*
+* Copyright 2014 Linaro Limited
+* Author: Matt Porter <mporter@linaro.org>
+*
+* This program is free software; you can redistribute it and/or modify it
+* under  the terms of the GNU General  Public License as published by the
+* Free Software Foundation;  either version 2 of the License, or (at your
+* option) any later version.
+*/
+
+&pmu {
+       compatible = "brcm,bcm59056";
+       regulators {
+               rfldo_reg: rfldo {
+               };
+
+               camldo1_reg: camldo1 {
+               };
+
+               camldo2_reg: camldo2 {
+               };
+
+               simldo1_reg: simldo1 {
+               };
+
+               simldo2_reg: simldo2 {
+               };
+
+               sdldo_reg: sdldo {
+               };
+
+               sdxldo_reg: sdxldo {
+               };
+
+               mmcldo1_reg: mmcldo1 {
+               };
+
+               mmcldo2_reg: mmcldo2 {
+               };
+
+               audldo_reg: audldo {
+               };
+
+               micldo_reg: micldo {
+               };
+
+               usbldo_reg: usbldo {
+               };
+
+               vibldo_reg: vibldo {
+               };
+
+               csr_reg: csr {
+               };
+
+               iosr1_reg: iosr1 {
+               };
+
+               iosr2_reg: iosr2 {
+               };
+
+               msr_reg: msr {
+               };
+
+               sdsr1_reg: sdsr1 {
+               };
+
+               sdsr2_reg: sdsr2 {
+               };
+
+               vsr_reg: vsr {
+               };
+       };
+};