ARM: dts: exynos: Add regulator suspend configuration to Odroid XU3/XU4/HC1 family

Add the PMIC regulator suspend configuration to entire Odroid
XU3/XU4/HC1 family of boards to reduce power usage during suspend.  The
configuration is based on vendor (Hardkernel) reference kernel with
additional buck9 suspend configuration (for USB hub suspend and proper
reset).

Energy consumption measurements from Marek Szyprowski during suspend to
RAM:
 - all at 5 V power supply,
 - before: next-20190620,
 - after: next-20190620 + this patch + suspend configuration for s2mps11
          regulator driver,

Board              | before [mA] | after [mA] |
Odroid HC1         |         120 |       7-10 |
Odroid XU4, sdcard |          88 |        6-9 |
Odroid XU4, eMMC   |         100 |        6-9 |

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Tested-by: Anand Moon <linux.amoon@gmail.com>
This commit is contained in:
Krzysztof Kozlowski 2019-06-20 20:34:57 +02:00
parent 1f513ee3e0
commit 3e7f057681
1 changed files with 96 additions and 0 deletions

View File

@ -177,6 +177,10 @@ ldo4_reg: LDO4 {
regulator-name = "vdd_adc";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo5_reg: LDO5 {
@ -184,6 +188,10 @@ ldo5_reg: LDO5 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo6_reg: LDO6 {
@ -191,6 +199,10 @@ ldo6_reg: LDO6 {
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo7_reg: LDO7 {
@ -198,6 +210,10 @@ ldo7_reg: LDO7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo8_reg: LDO8 {
@ -205,6 +221,10 @@ ldo8_reg: LDO8 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo9_reg: LDO9 {
@ -212,6 +232,10 @@ ldo9_reg: LDO9 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo10_reg: LDO10 {
@ -219,6 +243,10 @@ ldo10_reg: LDO10 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo11_reg: LDO11 {
@ -226,6 +254,10 @@ ldo11_reg: LDO11 {
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo12_reg: LDO12 {
@ -239,6 +271,10 @@ ldo13_reg: LDO13 {
regulator-name = "vddq_mmc2";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2800000>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo14_reg: LDO14 {
@ -253,6 +289,10 @@ ldo15_reg: LDO15 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo16_reg: LDO16 {
@ -267,18 +307,30 @@ ldo17_reg: LDO17 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo18_reg: LDO18 {
regulator-name = "vdd_emmc_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo19_reg: LDO19 {
regulator-name = "vdd_sd";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo20_reg: LDO20 {
@ -307,6 +359,10 @@ ldo23_reg: LDO23 {
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo24_reg: LDO24 {
@ -328,6 +384,10 @@ ldo26_reg: LDO26 {
regulator-name = "vdd_ldo26";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <3950000>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo27_reg: LDO27 {
@ -335,6 +395,10 @@ ldo27_reg: LDO27 {
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo28_reg: LDO28 {
@ -342,6 +406,10 @@ ldo28_reg: LDO28 {
regulator-name = "vdd_ldo28";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <3950000>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo29_reg: LDO29 {
@ -420,6 +488,10 @@ buck1_reg: BUCK1 {
regulator-max-microvolt = <1300000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck2_reg: BUCK2 {
@ -428,6 +500,10 @@ buck2_reg: BUCK2 {
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck3_reg: BUCK3 {
@ -436,6 +512,10 @@ buck3_reg: BUCK3 {
regulator-max-microvolt = <1400000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck4_reg: BUCK4 {
@ -444,6 +524,10 @@ buck4_reg: BUCK4 {
regulator-max-microvolt = <1400000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck5_reg: BUCK5 {
@ -460,6 +544,10 @@ buck6_reg: BUCK6 {
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck7_reg: BUCK7 {
@ -484,12 +572,20 @@ buck9_reg: BUCK9 {
regulator-max-microvolt = <3750000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck10_reg: BUCK10 {
regulator-name = "vdd_vmem";
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
};
};