Some of the LDOs and BUCKs on the MAX77686 PMIC can be put into a
low power or standby state. Add bindings to control the operating
mode. This results in significant power savings during suspend.

Signed-off-by: Abhilash Kesavan <a.kesa...@samsung.com>
---
 arch/arm/boot/dts/cros5250-common.dtsi |   36 ++++++++++++++++++++++++++++++++
 1 files changed, 36 insertions(+), 0 deletions(-)

diff --git a/arch/arm/boot/dts/cros5250-common.dtsi 
b/arch/arm/boot/dts/cros5250-common.dtsi
index 98ff65b..10d1812 100644
--- a/arch/arm/boot/dts/cros5250-common.dtsi
+++ b/arch/arm/boot/dts/cros5250-common.dtsi
@@ -35,6 +35,8 @@
                                        regulator-min-microvolt = <1000000>;
                                        regulator-max-microvolt = <1000000>;
                                        regulator-always-on;
+                                       /* Output ON/LPM controlled by PWRREQ */
+                                       max77686-opmode = <0x40>;
                                };
 
                                ldo2_reg: LDO2 {
@@ -42,6 +44,8 @@
                                        regulator-min-microvolt = <1800000>;
                                        regulator-max-microvolt = <1800000>;
                                        regulator-always-on;
+                                       /* Output ON/OFF controlled by PWRREQ */
+                                       max77686-opmode = <0x20>;
                                };
 
                                ldo3_reg: LDO3 {
@@ -49,6 +53,8 @@
                                        regulator-min-microvolt = <1800000>;
                                        regulator-max-microvolt = <1800000>;
                                        regulator-always-on;
+                                       /* Output ON/LPM controlled by PWRREQ */
+                                       max77686-opmode = <0x80>;
                                };
 
                                ldo7_reg: LDO7 {
@@ -56,6 +62,8 @@
                                        regulator-min-microvolt = <1100000>;
                                        regulator-max-microvolt = <1100000>;
                                        regulator-always-on;
+                                       /* Output ON/OFF controlled by PWRREQ */
+                                       max77686-opmode = <0x40>;
                                };
 
                                ldo8_reg: LDO8 {
@@ -63,6 +71,8 @@
                                        regulator-min-microvolt = <1000000>;
                                        regulator-max-microvolt = <1000000>;
                                        regulator-always-on;
+                                       /* Output ON/OFF controlled by PWRREQ */
+                                       max77686-opmode = <0x40>;
                                };
 
                                ldo10_reg: LDO10 {
@@ -70,6 +80,8 @@
                                        regulator-min-microvolt = <1800000>;
                                        regulator-max-microvolt = <1800000>;
                                        regulator-always-on;
+                                       /* Output ON/OFF controlled by PWRREQ */
+                                       max77686-opmode = <0x40>;
                                };
 
                                ldo12_reg: LDO12 {
@@ -77,6 +89,8 @@
                                        regulator-min-microvolt = <3000000>;
                                        regulator-max-microvolt = <3000000>;
                                        regulator-always-on;
+                                       /* Output ON/OFF controlled by PWRREQ */
+                                       max77686-opmode = <0x40>;
                                };
 
                                ldo14_reg: LDO14 {
@@ -84,6 +98,8 @@
                                        regulator-min-microvolt = <1800000>;
                                        regulator-max-microvolt = <1800000>;
                                        regulator-always-on;
+                                       /* Output ON/OFF controlled by PWRREQ */
+                                       max77686-opmode = <0x40>;
                                };
 
                                ldo15_reg: LDO15 {
@@ -91,6 +107,8 @@
                                        regulator-min-microvolt = <1000000>;
                                        regulator-max-microvolt = <1000000>;
                                        regulator-always-on;
+                                       /* Output ON/OFF controlled by PWRREQ */
+                                       max77686-opmode = <0x40>;
                                };
 
                                ldo16_reg: LDO16 {
@@ -98,6 +116,8 @@
                                        regulator-min-microvolt = <1800000>;
                                        regulator-max-microvolt = <1800000>;
                                        regulator-always-on;
+                                       /* Output ON/OFF controlled by PWRREQ */
+                                       max77686-opmode = <0x40>;
                                };
 
                                buck1_reg: BUCK1 {
@@ -106,6 +126,8 @@
                                        regulator-max-microvolt = <1300000>;
                                        regulator-always-on;
                                        regulator-boot-on;
+                                       /* Output ON/OFF controlled by PWRREQ */
+                                       max77686-opmode = <0x1>;
                                };
 
                                buck2_reg: BUCK2 {
@@ -114,6 +136,8 @@
                                        regulator-max-microvolt = <1350000>;
                                        regulator-always-on;
                                        regulator-boot-on;
+                                       /* Output ON/OFF controlled by PWRREQ */
+                                       max77686-opmode = <0x10>;
                                };
 
                                buck3_reg: BUCK3 {
@@ -122,6 +146,8 @@
                                        regulator-max-microvolt = <1200000>;
                                        regulator-always-on;
                                        regulator-boot-on;
+                                       /* Output ON/OFF controlled by PWRREQ */
+                                       max77686-opmode = <0x10>;
                                };
 
                                buck4_reg: BUCK4 {
@@ -130,6 +156,8 @@
                                        regulator-max-microvolt = <1300000>;
                                        regulator-always-on;
                                        regulator-boot-on;
+                                       /* Output ON/OFF controlled by PWRREQ */
+                                       max77686-opmode = <0x10>;
                                };
 
                                buck5_reg: BUCK5 {
@@ -138,6 +166,8 @@
                                        regulator-max-microvolt = <1800000>;
                                        regulator-always-on;
                                        regulator-boot-on;
+                                       /* Output ON */
+                                       max77686-opmode = <0x3>;
                                };
 
                                buck6_reg: BUCK6 {
@@ -145,6 +175,8 @@
                                        regulator-min-microvolt = <1350000>;
                                        regulator-max-microvolt = <1350000>;
                                        regulator-always-on;
+                                       /* Output ON */
+                                       max77686-opmode = <0x3>;
                                };
 
                                buck7_reg: BUCK7 {
@@ -152,6 +184,8 @@
                                        regulator-min-microvolt = <2000000>;
                                        regulator-max-microvolt = <2000000>;
                                        regulator-always-on;
+                                       /* Output ON */
+                                       max77686-opmode = <0x3>;
                                };
 
                                buck8_reg: BUCK8 {
@@ -159,6 +193,8 @@
                                        regulator-min-microvolt = <2850000>;
                                        regulator-max-microvolt = <2850000>;
                                        regulator-always-on;
+                                       /* Output OFF of ENB8 is low */
+                                       max77686-opmode = <0x1>;
                                };
                        };
                };
-- 
1.7.8.6

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to