ARM: dts: rockchip: add suspend settings for rk3288-evb-rk808
authorChris Zhong <zyw@rock-chips.com>
Mon, 1 Dec 2014 08:52:20 +0000 (16:52 +0800)
committerHeiko Stuebner <heiko@sntech.de>
Wed, 31 Dec 2014 15:19:18 +0000 (16:19 +0100)
Add suspend-voltages and necessary pin-states for suspend on
rk3288-evb-rk808 boards. global_pwroff would be pulled high when
RK3288 entering suspend, this pin is a sleep signal for RK808, so
RK808 could goto sleep mode, and some regulators would be disable.

Signed-off-by: Chris Zhong <zyw@rock-chips.com>
Reviewed-by: Doug Anderson <dianders@chromium.org>
Tested-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
arch/arm/boot/dts/rk3288-evb-rk808.dts

index d8c775e6d5fe7d7ca73a3142b5c8b5707797b7cb..d453ddd4b476bb1bc09127ab17ca2acba4fc1eb6 100644 (file)
@@ -31,7 +31,7 @@
                interrupt-parent = <&gpio0>;
                interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
                pinctrl-names = "default";
-               pinctrl-0 = <&pmic_int>;
+               pinctrl-0 = <&pmic_int &global_pwroff>;
                rockchip,system-power-controller;
                wakeup-source;
                #clock-cells = <1>;
@@ -50,6 +50,9 @@
                                regulator-min-microvolt = <750000>;
                                regulator-max-microvolt = <1350000>;
                                regulator-name = "vdd_arm";
+                               regulator-state-mem {
+                                       regulator-off-in-suspend;
+                               };
                        };
 
                        vdd_gpu: DCDC_REG2 {
                                regulator-min-microvolt = <850000>;
                                regulator-max-microvolt = <1250000>;
                                regulator-name = "vdd_gpu";
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <1000000>;
+                               };
                        };
 
                        vcc_ddr: DCDC_REG3 {
                                regulator-always-on;
                                regulator-boot-on;
                                regulator-name = "vcc_ddr";
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                               };
                        };
 
                        vcc_io: DCDC_REG4 {
                                regulator-min-microvolt = <3300000>;
                                regulator-max-microvolt = <3300000>;
                                regulator-name = "vcc_io";
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <3300000>;
+                               };
                        };
 
                        vccio_pmu: LDO_REG1 {
                                regulator-min-microvolt = <3300000>;
                                regulator-max-microvolt = <3300000>;
                                regulator-name = "vccio_pmu";
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <3300000>;
+                               };
                        };
 
                        vcc_tp: LDO_REG2 {
                                regulator-min-microvolt = <3300000>;
                                regulator-max-microvolt = <3300000>;
                                regulator-name = "vcc_tp";
+                               regulator-state-mem {
+                                       regulator-off-in-suspend;
+                               };
                        };
 
                        vdd_10: LDO_REG3 {
                                regulator-min-microvolt = <1000000>;
                                regulator-max-microvolt = <1000000>;
                                regulator-name = "vdd_10";
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <1000000>;
+                               };
                        };
 
                        vcc18_lcd: LDO_REG4 {
                                regulator-min-microvolt = <1800000>;
                                regulator-max-microvolt = <1800000>;
                                regulator-name = "vcc18_lcd";
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <1800000>;
+                               };
                        };
 
                        vccio_sd: LDO_REG5 {
                                regulator-min-microvolt = <1800000>;
                                regulator-max-microvolt = <3300000>;
                                regulator-name = "vccio_sd";
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <3300000>;
+                               };
                        };
 
                        vdd10_lcd: LDO_REG6 {
                                regulator-min-microvolt = <1000000>;
                                regulator-max-microvolt = <1000000>;
                                regulator-name = "vdd10_lcd";
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <1000000>;
+                               };
                        };
 
                        vcc_18: LDO_REG7 {
                                regulator-min-microvolt = <1800000>;
                                regulator-max-microvolt = <1800000>;
                                regulator-name = "vcc_18";
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <1800000>;
+                               };
                        };
 
                        vcca_codec: LDO_REG8 {
                                regulator-min-microvolt = <3300000>;
                                regulator-max-microvolt = <3300000>;
                                regulator-name = "vcca_codec";
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <3300000>;
+                               };
                        };
 
                        vcc_wl: SWITCH_REG1 {
                                regulator-always-on;
                                regulator-boot-on;
                                regulator-name = "vcc_wl";
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                               };
                        };
 
                        vcc_lcd: SWITCH_REG2 {
                                regulator-always-on;
                                regulator-boot-on;
                                regulator-name = "vcc_lcd";
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                               };
                        };
                };
        };