Peach pit board uses a Maxim 77802 power management IC to
drive regulators and its Real Time Clock. This patch adds
support for this chip.

These are the device nodes and pinctrl configuration that
is present on the Peach pit DeviceTree source file in the
the Chrome OS kernel 3.8 tree.

Signed-off-by: Javier Martinez Canillas <javier.marti...@collabora.co.uk>
---

Changes since v2: None

Changes since v1:
 - Use "regulators" for child node instead of "voltage-regulators" to be
   consistent with other PMIC. Suggested by Mark Brown.
 - Use regulators node names instead of the deprecated "regulator-compatible"
   property. Suggested by Mark Brown.

 arch/arm/boot/dts/exynos5420-peach-pit.dts | 320 +++++++++++++++++++++++++++++
 1 file changed, 320 insertions(+)

diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts 
b/arch/arm/boot/dts/exynos5420-peach-pit.dts
index 1c5b8f9..e6dc972 100644
--- a/arch/arm/boot/dts/exynos5420-peach-pit.dts
+++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts
@@ -111,6 +111,13 @@
                samsung,pin-drv = <0>;
        };
 
+       max77802_irq: max77802-irq {
+               samsung,pins = "gpx3-1";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+
        hdmi_hpd_irq: hdmi-hpd-irq {
                samsung,pins = "gpx3-7";
                samsung,pin-function = <0>;
@@ -124,6 +131,29 @@
                samsung,pin-pud = <3>;
                samsung,pin-drv = <0>;
        };
+
+       pmic_dvs_1: pmic-dvs-1 {
+               samsung,pins = "gpy7-6";
+               samsung,pin-function = <1>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+};
+
+&pinctrl_2 {
+       pmic_dvs_2: pmic-dvs-2 {
+               samsung,pins = "gpj4-2";
+               samsung,pin-function = <1>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+
+       pmic_dvs_3: pmic-dvs-3 {
+               samsung,pins = "gpj4-3";
+               samsung,pin-function = <1>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
 };
 
 &pinctrl_3 {
@@ -140,6 +170,14 @@
                samsung,pin-pud = <0>;
                samsung,pin-drv = <0>;
        };
+
+       pmic_selb: pmic-selb {
+               samsung,pins = "gph0-2", "gph0-3", "gph0-4", "gph0-5",
+                              "gph0-6";
+               samsung,pin-function = <1>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
 };
 
 &rtc {
@@ -189,6 +227,288 @@
        };
 };
 
+&hsi2c_4 {
+       status = "okay";
+       clock-frequency = <400000>;
+
+       max77802-pmic@9 {
+               compatible = "maxim,max77802";
+               interrupt-parent = <&gpx3>;
+               interrupts = <1 0>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&max77802_irq>, <&pmic_selb>,
+                           <&pmic_dvs_1>, <&pmic_dvs_2>, <&pmic_dvs_3>;
+               wakeup-source;
+               reg = <0x9>;
+               #clock-cells = <1>;
+
+               /* Using idx 1 means warm reset will get good voltage */
+               max77802,pmic-buck-default-dvs-idx = <1>;
+               max77802,pmic-buck-dvs-gpios = <&gpy7 6 0>,
+                                              <&gpj4 2 0>,
+                                              <&gpj4 3 0>;
+               max77802,pmic-buck-selb-gpios = <&gph0 2 0>,
+                                               <&gph0 3 0>,
+                                               <&gph0 4 0>,
+                                               <&gph0 5 0>,
+                                               <&gph0 6 0>;
+
+               regulators {
+                       ldo1_reg: LDO1 {
+                               regulator-name = "vdd_1v0";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-always-on;
+                       };
+                       ldo2_reg: LDO2 {
+                               regulator-name = "vdd_1v2_2";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <1200000>;
+                       };
+                       ldo3_reg: LDO3 {
+                               regulator-name = "vdd_1v8_3";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+                       vqmmc_sdcard: ldo4_reg: LDO4 {
+                               regulator-name = "vdd_sd";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <2800000>;
+                               regulator-always-on;
+                       };
+                       ldo5_reg: LDO5 {
+                               regulator-name = "vdd_1v8_5";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+                       ldo6_reg: LDO6 {
+                               regulator-name = "vdd_1v8_6";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+                       ldo7_reg: LDO7 {
+                               regulator-name = "vdd_1v8_7";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                       };
+                       ldo8_reg: LDO8 {
+                               regulator-name = "vdd_ldo8";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-always-on;
+                       };
+                       ldo9_reg: LDO9 {
+                               regulator-name = "vdd_ldo9";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+                       ldo10_reg: LDO10 {
+                               regulator-name = "vdd_ldo10";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+                       ldo11_reg: LDO11 {
+                               regulator-name = "vdd_ldo11";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+                       ldo12_reg: LDO12 {
+                               regulator-name = "vdd_ldo12";
+                               regulator-min-microvolt = <3000000>;
+                               regulator-max-microvolt = <3000000>;
+                               regulator-always-on;
+                       };
+                       ldo13_reg: LDO13 {
+                               regulator-name = "vdd_ldo13";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+                       ldo14_reg: LDO14 {
+                               regulator-name = "vdd_ldo14";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+                       ldo15_reg: LDO15 {
+                               regulator-name = "vdd_ldo15";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-always-on;
+                       };
+                       ldo17_reg: LDO17 {
+                               regulator-name = "vdd_g3ds";
+                               regulator-min-microvolt = <900000>;
+                               regulator-max-microvolt = <1400000>;
+                               regulator-always-on;
+                       };
+                       ldo18_reg: LDO18 {
+                               regulator-name = "ldo_18";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                       };
+                       ldo19_reg: LDO19 {
+                               regulator-name = "ldo_19";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                       };
+                       ldo20_reg: LDO20 {
+                               regulator-name = "ldo_20";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+                       ldo21_reg: LDO21 {
+                               regulator-name = "ldo_21";
+                               regulator-min-microvolt = <2800000>;
+                               regulator-max-microvolt = <2800000>;
+                       };
+                       ldo23_reg: LDO23 {
+                               regulator-name = "ld0_23";
+                               regulator-min-microvolt = <3300000>;
+                               regulator-max-microvolt = <3300000>;
+                       };
+                       ldo24_reg: LDO24 {
+                               regulator-name = "ldo_24";
+                               regulator-min-microvolt = <2800000>;
+                               regulator-max-microvolt = <2800000>;
+                       };
+                       ldo25_reg: LDO25 {
+                               regulator-name = "ldo_25";
+                               regulator-min-microvolt = <3300000>;
+                               regulator-max-microvolt = <3300000>;
+                       };
+                       ldo26_reg: LDO26 {
+                               regulator-name = "ldo_26";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <1200000>;
+                       };
+                       ldo27_reg: LDO27 {
+                               regulator-name = "ldo_27";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <1200000>;
+                       };
+                       ldo28_reg: LDO28 {
+                               regulator-name = "ldo_28";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                       };
+                       ldo29_reg: LDO29 {
+                               regulator-name = "ldo_29";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                       };
+                       ldo30_reg: LDO30 {
+                               regulator-name = "vdd_mifs";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-always-on;
+                       };
+                       ldo32_reg: LDO32 {
+                               regulator-name = "ldo_32";
+                               regulator-min-microvolt = <3000000>;
+                               regulator-max-microvolt = <3000000>;
+                       };
+                       ldo33_reg: LDO33 {
+                               regulator-name = "ldo_33";
+                               regulator-min-microvolt = <2800000>;
+                               regulator-max-microvolt = <2800000>;
+                       };
+                       ldo34_reg: LDO34 {
+                               regulator-name = "ldo_34";
+                               regulator-min-microvolt = <3000000>;
+                               regulator-max-microvolt = <3000000>;
+                       };
+                       ldo35_reg: LDO35 {
+                               regulator-name = "ldo_35";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <1200000>;
+                       };
+                       buck1_reg: BUCK1 {
+                               regulator-name = "vdd_mif";
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1300000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-ramp-delay = <12500>;
+                       };
+                       buck2_reg: BUCK2 {
+                               regulator-name = "vdd_arm_real";
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1500000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-ramp-delay = <12500>;
+                       };
+                       buck3_reg: BUCK3 {
+                               regulator-name = "vdd_int_real";
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1400000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-ramp-delay = <12500>;
+                       };
+                       buck4_reg: BUCK4 {
+                               regulator-name = "vdd_g3d";
+                               regulator-min-microvolt = <700000>;
+                               regulator-max-microvolt = <1400000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-ramp-delay = <12500>;
+                       };
+                       buck5_reg: BUCK5 {
+                               regulator-name = "vdd_1v2";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <1200000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+                       buck6_reg: BUCK6 {
+                               regulator-name = "vdd_kfc";
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1500000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-ramp-delay = <12500>;
+                       };
+                       buck7_reg: BUCK7 {
+                               regulator-name = "vdd_1v35";
+                               regulator-min-microvolt = <1350000>;
+                               regulator-max-microvolt = <1350000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+                       buck8_reg: BUCK8 {
+                               regulator-name = "vdd_emmc";
+                               regulator-min-microvolt = <2850000>;
+                               regulator-max-microvolt = <2850000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+                       buck9_reg: BUCK9 {
+                               regulator-name = "vdd_2v";
+                               regulator-min-microvolt = <2000000>;
+                               regulator-max-microvolt = <2000000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+                       buck10_reg: BUCK10 {
+                               regulator-name = "vdd_1v8";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+               };
+       };
+};
+
 &hsi2c_7 {
        status = "okay";
 
-- 
2.0.0.rc2

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to