ARM: dts: add bcm590xx pmu support and enable for bcm28155-ap
authorMatt Porter <mporter@linaro.org>
Wed, 12 Mar 2014 14:07:17 +0000 (10:07 -0400)
committerMatt Porter <mporter@linaro.org>
Fri, 14 Mar 2014 16:22:38 +0000 (12:22 -0400)
Add a dtsi to support the BCM590xx PMUs used by the BCM281xx family
of SoCs. Enable regulators for use with the dwc2 and sdhci on
bcm28155-ap.

Signed-off-by: Tim Kryger <tim.kryger@linaro.org>
Signed-off-by: Matt Porter <mporter@linaro.org>
Reviewed-by: Markus Mayer <markus.mayer@linaro.org>
arch/arm/boot/dts/bcm28155-ap.dts
arch/arm/boot/dts/bcm59056.dtsi [new file with mode: 0644]

index 3604554..4461ffb 100644 (file)
 
        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;
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/bcm59056.dtsi b/arch/arm/boot/dts/bcm59056.dtsi
new file mode 100644 (file)
index 0000000..dfadaaa
--- /dev/null
@@ -0,0 +1,74 @@
+/*
+* 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 {
+               };
+       };
+};