* [PATCH 0/3] regulator: max77802: Configure suspend modes @ 2014-11-11 12:04 Javier Martinez Canillas 2014-11-11 12:04 ` [PATCH 1/3] regulator: max77802: Document binding for regulator operating modes Javier Martinez Canillas ` (2 more replies) 0 siblings, 3 replies; 8+ messages in thread From: Javier Martinez Canillas @ 2014-11-11 12:04 UTC (permalink / raw) To: Mark Brown Cc: Kukjin Kim, Chanwoo Choi, Olof Johansson, Chris Zhong, Krzysztof Kozlowski, Abhilash Kesavan, linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA, Javier Martinez Canillas Hello Mark, This series configures the max77802 regulators mode when entering in the Suspend-to-RAM state. The patches in this series were part of a previous patch-set that also added initial and suspend mode support for the core. The previous patch-set was [0] but the feedback was that instead mixing core changes, bugfixes and new driver features, the series should be split and core changes posted separately from driver new features. So this series build on top of the series: "[PATCH v6 0/5] regulator: of: Add initial and suspend modes support" [1] and to avoid merge conflicts also depends on Krzysztof's series: "[PATCH v2 0/3] regulator: max77686/802: Cleanup" [2]. The patch-set is composed of the following patches: Javier Martinez Canillas (3): regulator: max77802: Document binding for regulator operating modes regulator: max77802: Fill regulator modes translation callback ARM: dts: Configure regulators for suspend on exynos Peach boards .../devicetree/bindings/regulator/max77802.txt | 35 ++++++++++ arch/arm/boot/dts/exynos5420-peach-pit.dts | 81 ++++++++++++++++++++++ arch/arm/boot/dts/exynos5800-peach-pi.dts | 81 ++++++++++++++++++++++ drivers/regulator/max77802.c | 6 ++ 4 files changed, 203 insertions(+) Patch #1 documents the operating modes that are supported by the regulators in the Maxim 77802 PMIC. Patch #2 fills the .of_map_mode callback function that is used to translate between the device specific modes configured in the Device Tree and the standard modes used by the regulator core. Patch #3 configures the regulators in the Exynos Peach boards which use a max77802 PMIC. This patch should be merged through the linux-samsung tree but I added to the series since shows how the DT binding is used in a DTS. Best regards, Javier [0]: https://lkml.org/lkml/2014/11/3/397 [1]: https://lkml.org/lkml/2014/11/10/325 [2]: https://lkml.org/lkml/2014/11/5/118 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/3] regulator: max77802: Document binding for regulator operating modes 2014-11-11 12:04 [PATCH 0/3] regulator: max77802: Configure suspend modes Javier Martinez Canillas @ 2014-11-11 12:04 ` Javier Martinez Canillas [not found] ` <1415707485-28563-2-git-send-email-javier.martinez-ZGY8ohtN/8pPYcu2f3hruQ@public.gmane.org> 2014-11-11 12:04 ` [PATCH 2/3] regulator: max77802: Fill regulator modes translation callback Javier Martinez Canillas 2014-11-11 12:04 ` [PATCH 3/3] ARM: dts: Configure regulators for suspend on exynos Peach boards Javier Martinez Canillas 2 siblings, 1 reply; 8+ messages in thread From: Javier Martinez Canillas @ 2014-11-11 12:04 UTC (permalink / raw) To: Mark Brown Cc: Kukjin Kim, Chanwoo Choi, Olof Johansson, Chris Zhong, Krzysztof Kozlowski, Abhilash Kesavan, linux-samsung-soc, linux-kernel, devicetree, Javier Martinez Canillas Some regulators from the max77802 PMIC support to be configured in one of two operating mode: Output ON (normal) and Output On Low Power Mode. Not all regulators support these two modes and for some of them, the mode can be changed while the system is running in normal operation while others only support their mode to be changed on system suspend. Extend the max77802 PMIC binding by documenting the possible operating modes values so the regulators modes can be configured correctly. Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk> --- .../devicetree/bindings/regulator/max77802.txt | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/Documentation/devicetree/bindings/regulator/max77802.txt b/Documentation/devicetree/bindings/regulator/max77802.txt index 5aeaffc..79e5476 100644 --- a/Documentation/devicetree/bindings/regulator/max77802.txt +++ b/Documentation/devicetree/bindings/regulator/max77802.txt @@ -25,6 +25,29 @@ with their hardware counterparts as follow. The valid names are: example: LDO1, LDO2, LDO35. -BUCKn : for BUCKs, where n can lie in range 1 to 10. example: BUCK1, BUCK5, BUCK10. + +The max77802 regulator supports two different operating modes: Normal and Low +Power Mode. Some regulators support the modes to be changed at startup or by +the consumers during normal operation while others only support to change the +mode during system suspend. The standard regulator suspend states binding can +be used to configure the regulator operating mode. + +The regulators that support the standard "regulator-initial-mode" property, +changing their mode during normal operation are: LDOs 1, 3, 20 and 21. + +The possible values for "regulator-initial-mode" and "regulator-mode" are: + 1: Normal regulator voltage output mode. + 3: Low Power which reduces the quiescent current down to only 1uA + +The list of valid modes are defined in the dt-bindings/clock/maxim,max77802.h +header and can be included by device tree source files. + +The standard "regulator-mode" property can only be used for regulators that +support changing their mode to Low Power Mode during suspend. These regulators +are: BUCKs 2-4 and LDOs 1-35. Also, it only takes effect if the regulator has +been enabled for the given suspend state using "regulator-on-in-suspend" and +has not been disabled for that state using "regulator-off-in-suspend". + Example: max77802@09 { @@ -36,11 +59,23 @@ Example: #size-cells = <0>; regulators { + ldo1_reg: LDO1 { + regulator-name = "vdd_1v0"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1000000>; + regulator-always-on; + regulator-initial-mode = <MAX77802_OPMODE_LP>; + }; + ldo11_reg: LDO11 { regulator-name = "vdd_ldo11"; regulator-min-microvolt = <1900000>; regulator-max-microvolt = <1900000>; regulator-always-on; + regulator-state-mem { + regulator-on-in-suspend; + regulator-mode = <MAX77802_OPMODE_LP>; + }; }; buck1_reg: BUCK1 { -- 2.1.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
[parent not found: <1415707485-28563-2-git-send-email-javier.martinez-ZGY8ohtN/8pPYcu2f3hruQ@public.gmane.org>]
* Re: [PATCH 1/3] regulator: max77802: Document binding for regulator operating modes [not found] ` <1415707485-28563-2-git-send-email-javier.martinez-ZGY8ohtN/8pPYcu2f3hruQ@public.gmane.org> @ 2014-11-26 19:43 ` Mark Brown 0 siblings, 0 replies; 8+ messages in thread From: Mark Brown @ 2014-11-26 19:43 UTC (permalink / raw) To: Javier Martinez Canillas Cc: Kukjin Kim, Chanwoo Choi, Olof Johansson, Chris Zhong, Krzysztof Kozlowski, Abhilash Kesavan, linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA [-- Attachment #1: Type: text/plain, Size: 239 bytes --] On Tue, Nov 11, 2014 at 01:04:43PM +0100, Javier Martinez Canillas wrote: > Some regulators from the max77802 PMIC support to be configured in one > of two operating mode: Output ON (normal) and Output On Low Power Mode. Applied, thanks. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 473 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 2/3] regulator: max77802: Fill regulator modes translation callback 2014-11-11 12:04 [PATCH 0/3] regulator: max77802: Configure suspend modes Javier Martinez Canillas 2014-11-11 12:04 ` [PATCH 1/3] regulator: max77802: Document binding for regulator operating modes Javier Martinez Canillas @ 2014-11-11 12:04 ` Javier Martinez Canillas 2014-11-26 19:43 ` Mark Brown 2014-11-11 12:04 ` [PATCH 3/3] ARM: dts: Configure regulators for suspend on exynos Peach boards Javier Martinez Canillas 2 siblings, 1 reply; 8+ messages in thread From: Javier Martinez Canillas @ 2014-11-11 12:04 UTC (permalink / raw) To: Mark Brown Cc: Kukjin Kim, Chanwoo Choi, Olof Johansson, Chris Zhong, Krzysztof Kozlowski, Abhilash Kesavan, linux-samsung-soc, linux-kernel, devicetree, Javier Martinez Canillas The max77802 PMIC regulators output can be configured in one of two modes: Output ON (normal) and Output ON in Low Power Mode. Some of the regulators support their operating mode to be changed on startup or by consumers when the system is running while others only support their operating mode to be changed while the system has entered in a suspend state. Use the max77802_map_mode() function to translate the device specific modes to the standard operating modes as used by the regulator core. Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk> --- drivers/regulator/max77802.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/regulator/max77802.c b/drivers/regulator/max77802.c index 9b4d127..0766615 100644 --- a/drivers/regulator/max77802.c +++ b/drivers/regulator/max77802.c @@ -378,6 +378,7 @@ static struct regulator_ops max77802_buck_dvs_ops = { .vsel_mask = MAX77802_VSEL_MASK, \ .enable_reg = MAX77802_REG_LDO1CTRL1 + num - 1, \ .enable_mask = MAX77802_OPMODE_MASK << MAX77802_OPMODE_SHIFT_LDO, \ + .of_map_mode = max77802_map_mode, \ } /* LDOs 1, 2, 8, 15, 17, 27, 30, 35 */ @@ -398,6 +399,7 @@ static struct regulator_ops max77802_buck_dvs_ops = { .vsel_mask = MAX77802_VSEL_MASK, \ .enable_reg = MAX77802_REG_LDO1CTRL1 + num - 1, \ .enable_mask = MAX77802_OPMODE_MASK << MAX77802_OPMODE_SHIFT_LDO, \ + .of_map_mode = max77802_map_mode, \ } /* BUCKs 1, 6 */ @@ -418,6 +420,7 @@ static struct regulator_ops max77802_buck_dvs_ops = { .vsel_mask = MAX77802_DVS_VSEL_MASK, \ .enable_reg = MAX77802_REG_BUCK ## num ## CTRL, \ .enable_mask = MAX77802_OPMODE_MASK, \ + .of_map_mode = max77802_map_mode, \ } /* BUCKS 2-4 */ @@ -439,6 +442,7 @@ static struct regulator_ops max77802_buck_dvs_ops = { .enable_reg = MAX77802_REG_BUCK ## num ## CTRL1, \ .enable_mask = MAX77802_OPMODE_MASK << \ MAX77802_OPMODE_BUCK234_SHIFT, \ + .of_map_mode = max77802_map_mode, \ } /* BUCK 5 */ @@ -459,6 +463,7 @@ static struct regulator_ops max77802_buck_dvs_ops = { .vsel_mask = MAX77802_VSEL_MASK, \ .enable_reg = MAX77802_REG_BUCK5CTRL, \ .enable_mask = MAX77802_OPMODE_MASK, \ + .of_map_mode = max77802_map_mode, \ } /* BUCKs 7-10 */ @@ -479,6 +484,7 @@ static struct regulator_ops max77802_buck_dvs_ops = { .vsel_mask = MAX77802_VSEL_MASK, \ .enable_reg = MAX77802_REG_BUCK7CTRL + (num - 7) * 3, \ .enable_mask = MAX77802_OPMODE_MASK, \ + .of_map_mode = max77802_map_mode, \ } static const struct regulator_desc regulators[] = { -- 2.1.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 2/3] regulator: max77802: Fill regulator modes translation callback 2014-11-11 12:04 ` [PATCH 2/3] regulator: max77802: Fill regulator modes translation callback Javier Martinez Canillas @ 2014-11-26 19:43 ` Mark Brown 0 siblings, 0 replies; 8+ messages in thread From: Mark Brown @ 2014-11-26 19:43 UTC (permalink / raw) To: Javier Martinez Canillas Cc: Kukjin Kim, Chanwoo Choi, Olof Johansson, Chris Zhong, Krzysztof Kozlowski, Abhilash Kesavan, linux-samsung-soc, linux-kernel, devicetree [-- Attachment #1: Type: text/plain, Size: 231 bytes --] On Tue, Nov 11, 2014 at 01:04:44PM +0100, Javier Martinez Canillas wrote: > The max77802 PMIC regulators output can be configured in one of two > modes: Output ON (normal) and Output ON in Low Power Mode. Some of Applied, thanks. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 473 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 3/3] ARM: dts: Configure regulators for suspend on exynos Peach boards 2014-11-11 12:04 [PATCH 0/3] regulator: max77802: Configure suspend modes Javier Martinez Canillas 2014-11-11 12:04 ` [PATCH 1/3] regulator: max77802: Document binding for regulator operating modes Javier Martinez Canillas 2014-11-11 12:04 ` [PATCH 2/3] regulator: max77802: Fill regulator modes translation callback Javier Martinez Canillas @ 2014-11-11 12:04 ` Javier Martinez Canillas 2014-11-13 2:38 ` Kukjin Kim 2 siblings, 1 reply; 8+ messages in thread From: Javier Martinez Canillas @ 2014-11-11 12:04 UTC (permalink / raw) To: Mark Brown Cc: Kukjin Kim, Chanwoo Choi, Olof Johansson, Chris Zhong, Krzysztof Kozlowski, Abhilash Kesavan, linux-samsung-soc, linux-kernel, devicetree, Javier Martinez Canillas The regulator core now has support to choose if a regulator has to be enabled or disabled during system suspend and also supports changing the regulator operating mode during runtime and when the system enters into sleep mode. To lower power during suspend, configure the regulators state using the same configuration found in the ChromeOS 3.8 kernel. Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk> --- arch/arm/boot/dts/exynos5420-peach-pit.dts | 81 ++++++++++++++++++++++++++++++ arch/arm/boot/dts/exynos5800-peach-pi.dts | 81 ++++++++++++++++++++++++++++++ 2 files changed, 162 insertions(+) diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts index 9a050e1..8b744c7 100644 --- a/arch/arm/boot/dts/exynos5420-peach-pit.dts +++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts @@ -13,6 +13,7 @@ #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/clock/maxim,max77802.h> +#include <dt-bindings/regulator/maxim,max77802.h> #include "exynos5420.dtsi" / { @@ -192,6 +193,9 @@ regulator-always-on; regulator-boot-on; regulator-ramp-delay = <12500>; + regulator-state-mem { + regulator-off-in-suspend; + }; }; buck2_reg: BUCK2 { @@ -201,6 +205,9 @@ regulator-always-on; regulator-boot-on; regulator-ramp-delay = <12500>; + regulator-state-mem { + regulator-off-in-suspend; + }; }; buck3_reg: BUCK3 { @@ -210,6 +217,9 @@ regulator-always-on; regulator-boot-on; regulator-ramp-delay = <12500>; + regulator-state-mem { + regulator-off-in-suspend; + }; }; buck4_reg: BUCK4 { @@ -219,6 +229,9 @@ regulator-always-on; regulator-boot-on; regulator-ramp-delay = <12500>; + regulator-state-mem { + regulator-off-in-suspend; + }; }; buck5_reg: BUCK5 { @@ -227,6 +240,9 @@ regulator-max-microvolt = <1200000>; regulator-always-on; regulator-boot-on; + regulator-state-mem { + regulator-off-in-suspend; + }; }; buck6_reg: BUCK6 { @@ -236,6 +252,9 @@ regulator-always-on; regulator-boot-on; regulator-ramp-delay = <12500>; + regulator-state-mem { + regulator-off-in-suspend; + }; }; buck7_reg: BUCK7 { @@ -244,6 +263,9 @@ regulator-max-microvolt = <1350000>; regulator-always-on; regulator-boot-on; + regulator-state-mem { + regulator-on-in-suspend; + }; }; buck8_reg: BUCK8 { @@ -252,6 +274,9 @@ regulator-max-microvolt = <2850000>; regulator-always-on; regulator-boot-on; + regulator-state-mem { + regulator-off-in-suspend; + }; }; buck9_reg: BUCK9 { @@ -260,6 +285,9 @@ regulator-max-microvolt = <2000000>; regulator-always-on; regulator-boot-on; + regulator-state-mem { + regulator-on-in-suspend; + }; }; buck10_reg: BUCK10 { @@ -268,6 +296,9 @@ regulator-max-microvolt = <1800000>; regulator-always-on; regulator-boot-on; + regulator-state-mem { + regulator-on-in-suspend; + }; }; ldo1_reg: LDO1 { @@ -275,6 +306,10 @@ regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; regulator-always-on; + regulator-state-mem { + regulator-on-in-suspend; + regulator-mode = <MAX77802_OPMODE_LP>; + }; }; ldo2_reg: LDO2 { @@ -288,6 +323,10 @@ regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; + regulator-state-mem { + regulator-on-in-suspend; + regulator-mode = <MAX77802_OPMODE_LP>; + }; }; vqmmc_sdcard: ldo4_reg: LDO4 { @@ -295,6 +334,9 @@ regulator-min-microvolt = <1800000>; regulator-max-microvolt = <2800000>; regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; }; ldo5_reg: LDO5 { @@ -302,6 +344,9 @@ regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; }; ldo6_reg: LDO6 { @@ -309,6 +354,9 @@ regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; }; ldo7_reg: LDO7 { @@ -322,6 +370,9 @@ regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; }; ldo9_reg: LDO9 { @@ -329,6 +380,10 @@ regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; + regulator-state-mem { + regulator-on-in-suspend; + regulator-mode = <MAX77802_OPMODE_LP>; + }; }; ldo10_reg: LDO10 { @@ -336,6 +391,9 @@ regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; }; ldo11_reg: LDO11 { @@ -343,6 +401,10 @@ regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; + regulator-state-mem { + regulator-on-in-suspend; + regulator-mode = <MAX77802_OPMODE_LP>; + }; }; ldo12_reg: LDO12 { @@ -350,6 +412,9 @@ regulator-min-microvolt = <3000000>; regulator-max-microvolt = <3000000>; regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; }; ldo13_reg: LDO13 { @@ -357,6 +422,10 @@ regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; + regulator-state-mem { + regulator-on-in-suspend; + regulator-mode = <MAX77802_OPMODE_LP>; + }; }; ldo14_reg: LDO14 { @@ -364,6 +433,9 @@ regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; }; ldo15_reg: LDO15 { @@ -371,6 +443,9 @@ regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; }; ldo17_reg: LDO17 { @@ -378,6 +453,9 @@ regulator-min-microvolt = <900000>; regulator-max-microvolt = <1400000>; regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; }; ldo18_reg: LDO18 { @@ -451,6 +529,9 @@ regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; }; ldo32_reg: LDO32 { diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts index e8fdda8..df7fbde 100644 --- a/arch/arm/boot/dts/exynos5800-peach-pi.dts +++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts @@ -13,6 +13,7 @@ #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/clock/maxim,max77802.h> +#include <dt-bindings/regulator/maxim,max77802.h> #include "exynos5800.dtsi" / { @@ -191,6 +192,9 @@ regulator-always-on; regulator-boot-on; regulator-ramp-delay = <12500>; + regulator-state-mem { + regulator-off-in-suspend; + }; }; buck2_reg: BUCK2 { @@ -200,6 +204,9 @@ regulator-always-on; regulator-boot-on; regulator-ramp-delay = <12500>; + regulator-state-mem { + regulator-off-in-suspend; + }; }; buck3_reg: BUCK3 { @@ -209,6 +216,9 @@ regulator-always-on; regulator-boot-on; regulator-ramp-delay = <12500>; + regulator-state-mem { + regulator-off-in-suspend; + }; }; buck4_reg: BUCK4 { @@ -218,6 +228,9 @@ regulator-always-on; regulator-boot-on; regulator-ramp-delay = <12500>; + regulator-state-mem { + regulator-off-in-suspend; + }; }; buck5_reg: BUCK5 { @@ -226,6 +239,9 @@ regulator-max-microvolt = <1200000>; regulator-always-on; regulator-boot-on; + regulator-state-mem { + regulator-off-in-suspend; + }; }; buck6_reg: BUCK6 { @@ -235,6 +251,9 @@ regulator-always-on; regulator-boot-on; regulator-ramp-delay = <12500>; + regulator-state-mem { + regulator-off-in-suspend; + }; }; buck7_reg: BUCK7 { @@ -243,6 +262,9 @@ regulator-max-microvolt = <1350000>; regulator-always-on; regulator-boot-on; + regulator-state-mem { + regulator-on-in-suspend; + }; }; buck8_reg: BUCK8 { @@ -251,6 +273,9 @@ regulator-max-microvolt = <2850000>; regulator-always-on; regulator-boot-on; + regulator-state-mem { + regulator-off-in-suspend; + }; }; buck9_reg: BUCK9 { @@ -259,6 +284,9 @@ regulator-max-microvolt = <2000000>; regulator-always-on; regulator-boot-on; + regulator-state-mem { + regulator-on-in-suspend; + }; }; buck10_reg: BUCK10 { @@ -267,6 +295,9 @@ regulator-max-microvolt = <1800000>; regulator-always-on; regulator-boot-on; + regulator-state-mem { + regulator-on-in-suspend; + }; }; ldo1_reg: LDO1 { @@ -274,6 +305,10 @@ regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; regulator-always-on; + regulator-state-mem { + regulator-on-in-suspend; + regulator-mode = <MAX77802_OPMODE_LP>; + }; }; ldo2_reg: LDO2 { @@ -287,6 +322,10 @@ regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; + regulator-state-mem { + regulator-on-in-suspend; + regulator-mode = <MAX77802_OPMODE_LP>; + }; }; vqmmc_sdcard: ldo4_reg: LDO4 { @@ -294,6 +333,9 @@ regulator-min-microvolt = <1800000>; regulator-max-microvolt = <2800000>; regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; }; ldo5_reg: LDO5 { @@ -301,6 +343,9 @@ regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; }; ldo6_reg: LDO6 { @@ -308,6 +353,9 @@ regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; }; ldo7_reg: LDO7 { @@ -321,6 +369,9 @@ regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; }; ldo9_reg: LDO9 { @@ -328,6 +379,10 @@ regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; + regulator-state-mem { + regulator-on-in-suspend; + regulator-mode = <MAX77802_OPMODE_LP>; + }; }; ldo10_reg: LDO10 { @@ -335,6 +390,9 @@ regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; }; ldo11_reg: LDO11 { @@ -342,6 +400,10 @@ regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; + regulator-state-mem { + regulator-on-in-suspend; + regulator-mode = <MAX77802_OPMODE_LP>; + }; }; ldo12_reg: LDO12 { @@ -349,6 +411,9 @@ regulator-min-microvolt = <3000000>; regulator-max-microvolt = <3000000>; regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; }; ldo13_reg: LDO13 { @@ -356,6 +421,10 @@ regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; + regulator-state-mem { + regulator-on-in-suspend; + regulator-mode = <MAX77802_OPMODE_LP>; + }; }; ldo14_reg: LDO14 { @@ -363,6 +432,9 @@ regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; }; ldo15_reg: LDO15 { @@ -370,6 +442,9 @@ regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; }; ldo17_reg: LDO17 { @@ -377,6 +452,9 @@ regulator-min-microvolt = <900000>; regulator-max-microvolt = <1400000>; regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; }; ldo18_reg: LDO18 { @@ -450,6 +528,9 @@ regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; }; ldo32_reg: LDO32 { -- 2.1.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 3/3] ARM: dts: Configure regulators for suspend on exynos Peach boards 2014-11-11 12:04 ` [PATCH 3/3] ARM: dts: Configure regulators for suspend on exynos Peach boards Javier Martinez Canillas @ 2014-11-13 2:38 ` Kukjin Kim 2014-12-06 11:43 ` Javier Martinez Canillas 0 siblings, 1 reply; 8+ messages in thread From: Kukjin Kim @ 2014-11-13 2:38 UTC (permalink / raw) To: Javier Martinez Canillas Cc: Mark Brown, Kukjin Kim, Chanwoo Choi, Olof Johansson, Chris Zhong, Krzysztof Kozlowski, Abhilash Kesavan, linux-samsung-soc, linux-kernel, devicetree On 11/11/14 21:04, Javier Martinez Canillas wrote: > The regulator core now has support to choose if a regulator > has to be enabled or disabled during system suspend and also > supports changing the regulator operating mode during runtime > and when the system enters into sleep mode. > > To lower power during suspend, configure the regulators state > using the same configuration found in the ChromeOS 3.8 kernel. > Basically I'm fine on this dt changes but this should be queued after confirming 1st and 2nd on this series from regulator maintainer... Once they are landing into regulator tree, I will apply this. Thanks, Kukjin > Signed-off-by: Javier Martinez Canillas<javier.martinez@collabora.co.uk> > --- > arch/arm/boot/dts/exynos5420-peach-pit.dts | 81 ++++++++++++++++++++++++++++++ > arch/arm/boot/dts/exynos5800-peach-pi.dts | 81 ++++++++++++++++++++++++++++++ > 2 files changed, 162 insertions(+) > > diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts > index 9a050e1..8b744c7 100644 > --- a/arch/arm/boot/dts/exynos5420-peach-pit.dts > +++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts > @@ -13,6 +13,7 @@ > #include<dt-bindings/gpio/gpio.h> > #include<dt-bindings/interrupt-controller/irq.h> > #include<dt-bindings/clock/maxim,max77802.h> > +#include<dt-bindings/regulator/maxim,max77802.h> > #include "exynos5420.dtsi" > > / { > @@ -192,6 +193,9 @@ > regulator-always-on; > regulator-boot-on; > regulator-ramp-delay =<12500>; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > buck2_reg: BUCK2 { > @@ -201,6 +205,9 @@ > regulator-always-on; > regulator-boot-on; > regulator-ramp-delay =<12500>; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > buck3_reg: BUCK3 { > @@ -210,6 +217,9 @@ > regulator-always-on; > regulator-boot-on; > regulator-ramp-delay =<12500>; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > buck4_reg: BUCK4 { > @@ -219,6 +229,9 @@ > regulator-always-on; > regulator-boot-on; > regulator-ramp-delay =<12500>; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > buck5_reg: BUCK5 { > @@ -227,6 +240,9 @@ > regulator-max-microvolt =<1200000>; > regulator-always-on; > regulator-boot-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > buck6_reg: BUCK6 { > @@ -236,6 +252,9 @@ > regulator-always-on; > regulator-boot-on; > regulator-ramp-delay =<12500>; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > buck7_reg: BUCK7 { > @@ -244,6 +263,9 @@ > regulator-max-microvolt =<1350000>; > regulator-always-on; > regulator-boot-on; > + regulator-state-mem { > + regulator-on-in-suspend; > + }; > }; > > buck8_reg: BUCK8 { > @@ -252,6 +274,9 @@ > regulator-max-microvolt =<2850000>; > regulator-always-on; > regulator-boot-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > buck9_reg: BUCK9 { > @@ -260,6 +285,9 @@ > regulator-max-microvolt =<2000000>; > regulator-always-on; > regulator-boot-on; > + regulator-state-mem { > + regulator-on-in-suspend; > + }; > }; > > buck10_reg: BUCK10 { > @@ -268,6 +296,9 @@ > regulator-max-microvolt =<1800000>; > regulator-always-on; > regulator-boot-on; > + regulator-state-mem { > + regulator-on-in-suspend; > + }; > }; > > ldo1_reg: LDO1 { > @@ -275,6 +306,10 @@ > regulator-min-microvolt =<1000000>; > regulator-max-microvolt =<1000000>; > regulator-always-on; > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-mode =<MAX77802_OPMODE_LP>; > + }; > }; > > ldo2_reg: LDO2 { > @@ -288,6 +323,10 @@ > regulator-min-microvolt =<1800000>; > regulator-max-microvolt =<1800000>; > regulator-always-on; > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-mode =<MAX77802_OPMODE_LP>; > + }; > }; > > vqmmc_sdcard: ldo4_reg: LDO4 { > @@ -295,6 +334,9 @@ > regulator-min-microvolt =<1800000>; > regulator-max-microvolt =<2800000>; > regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > ldo5_reg: LDO5 { > @@ -302,6 +344,9 @@ > regulator-min-microvolt =<1800000>; > regulator-max-microvolt =<1800000>; > regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > ldo6_reg: LDO6 { > @@ -309,6 +354,9 @@ > regulator-min-microvolt =<1800000>; > regulator-max-microvolt =<1800000>; > regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > ldo7_reg: LDO7 { > @@ -322,6 +370,9 @@ > regulator-min-microvolt =<1000000>; > regulator-max-microvolt =<1000000>; > regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > ldo9_reg: LDO9 { > @@ -329,6 +380,10 @@ > regulator-min-microvolt =<1800000>; > regulator-max-microvolt =<1800000>; > regulator-always-on; > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-mode =<MAX77802_OPMODE_LP>; > + }; > }; > > ldo10_reg: LDO10 { > @@ -336,6 +391,9 @@ > regulator-min-microvolt =<1800000>; > regulator-max-microvolt =<1800000>; > regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > ldo11_reg: LDO11 { > @@ -343,6 +401,10 @@ > regulator-min-microvolt =<1800000>; > regulator-max-microvolt =<1800000>; > regulator-always-on; > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-mode =<MAX77802_OPMODE_LP>; > + }; > }; > > ldo12_reg: LDO12 { > @@ -350,6 +412,9 @@ > regulator-min-microvolt =<3000000>; > regulator-max-microvolt =<3000000>; > regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > ldo13_reg: LDO13 { > @@ -357,6 +422,10 @@ > regulator-min-microvolt =<1800000>; > regulator-max-microvolt =<1800000>; > regulator-always-on; > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-mode =<MAX77802_OPMODE_LP>; > + }; > }; > > ldo14_reg: LDO14 { > @@ -364,6 +433,9 @@ > regulator-min-microvolt =<1800000>; > regulator-max-microvolt =<1800000>; > regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > ldo15_reg: LDO15 { > @@ -371,6 +443,9 @@ > regulator-min-microvolt =<1000000>; > regulator-max-microvolt =<1000000>; > regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > ldo17_reg: LDO17 { > @@ -378,6 +453,9 @@ > regulator-min-microvolt =<900000>; > regulator-max-microvolt =<1400000>; > regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > ldo18_reg: LDO18 { > @@ -451,6 +529,9 @@ > regulator-min-microvolt =<1000000>; > regulator-max-microvolt =<1000000>; > regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > ldo32_reg: LDO32 { > diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts > index e8fdda8..df7fbde 100644 > --- a/arch/arm/boot/dts/exynos5800-peach-pi.dts > +++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts > @@ -13,6 +13,7 @@ > #include<dt-bindings/gpio/gpio.h> > #include<dt-bindings/interrupt-controller/irq.h> > #include<dt-bindings/clock/maxim,max77802.h> > +#include<dt-bindings/regulator/maxim,max77802.h> > #include "exynos5800.dtsi" > > / { > @@ -191,6 +192,9 @@ > regulator-always-on; > regulator-boot-on; > regulator-ramp-delay =<12500>; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > buck2_reg: BUCK2 { > @@ -200,6 +204,9 @@ > regulator-always-on; > regulator-boot-on; > regulator-ramp-delay =<12500>; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > buck3_reg: BUCK3 { > @@ -209,6 +216,9 @@ > regulator-always-on; > regulator-boot-on; > regulator-ramp-delay =<12500>; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > buck4_reg: BUCK4 { > @@ -218,6 +228,9 @@ > regulator-always-on; > regulator-boot-on; > regulator-ramp-delay =<12500>; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > buck5_reg: BUCK5 { > @@ -226,6 +239,9 @@ > regulator-max-microvolt =<1200000>; > regulator-always-on; > regulator-boot-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > buck6_reg: BUCK6 { > @@ -235,6 +251,9 @@ > regulator-always-on; > regulator-boot-on; > regulator-ramp-delay =<12500>; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > buck7_reg: BUCK7 { > @@ -243,6 +262,9 @@ > regulator-max-microvolt =<1350000>; > regulator-always-on; > regulator-boot-on; > + regulator-state-mem { > + regulator-on-in-suspend; > + }; > }; > > buck8_reg: BUCK8 { > @@ -251,6 +273,9 @@ > regulator-max-microvolt =<2850000>; > regulator-always-on; > regulator-boot-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > buck9_reg: BUCK9 { > @@ -259,6 +284,9 @@ > regulator-max-microvolt =<2000000>; > regulator-always-on; > regulator-boot-on; > + regulator-state-mem { > + regulator-on-in-suspend; > + }; > }; > > buck10_reg: BUCK10 { > @@ -267,6 +295,9 @@ > regulator-max-microvolt =<1800000>; > regulator-always-on; > regulator-boot-on; > + regulator-state-mem { > + regulator-on-in-suspend; > + }; > }; > > ldo1_reg: LDO1 { > @@ -274,6 +305,10 @@ > regulator-min-microvolt =<1000000>; > regulator-max-microvolt =<1000000>; > regulator-always-on; > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-mode =<MAX77802_OPMODE_LP>; > + }; > }; > > ldo2_reg: LDO2 { > @@ -287,6 +322,10 @@ > regulator-min-microvolt =<1800000>; > regulator-max-microvolt =<1800000>; > regulator-always-on; > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-mode =<MAX77802_OPMODE_LP>; > + }; > }; > > vqmmc_sdcard: ldo4_reg: LDO4 { > @@ -294,6 +333,9 @@ > regulator-min-microvolt =<1800000>; > regulator-max-microvolt =<2800000>; > regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > ldo5_reg: LDO5 { > @@ -301,6 +343,9 @@ > regulator-min-microvolt =<1800000>; > regulator-max-microvolt =<1800000>; > regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > ldo6_reg: LDO6 { > @@ -308,6 +353,9 @@ > regulator-min-microvolt =<1800000>; > regulator-max-microvolt =<1800000>; > regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > ldo7_reg: LDO7 { > @@ -321,6 +369,9 @@ > regulator-min-microvolt =<1000000>; > regulator-max-microvolt =<1000000>; > regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > ldo9_reg: LDO9 { > @@ -328,6 +379,10 @@ > regulator-min-microvolt =<1800000>; > regulator-max-microvolt =<1800000>; > regulator-always-on; > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-mode =<MAX77802_OPMODE_LP>; > + }; > }; > > ldo10_reg: LDO10 { > @@ -335,6 +390,9 @@ > regulator-min-microvolt =<1800000>; > regulator-max-microvolt =<1800000>; > regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > ldo11_reg: LDO11 { > @@ -342,6 +400,10 @@ > regulator-min-microvolt =<1800000>; > regulator-max-microvolt =<1800000>; > regulator-always-on; > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-mode =<MAX77802_OPMODE_LP>; > + }; > }; > > ldo12_reg: LDO12 { > @@ -349,6 +411,9 @@ > regulator-min-microvolt =<3000000>; > regulator-max-microvolt =<3000000>; > regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > ldo13_reg: LDO13 { > @@ -356,6 +421,10 @@ > regulator-min-microvolt =<1800000>; > regulator-max-microvolt =<1800000>; > regulator-always-on; > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-mode =<MAX77802_OPMODE_LP>; > + }; > }; > > ldo14_reg: LDO14 { > @@ -363,6 +432,9 @@ > regulator-min-microvolt =<1800000>; > regulator-max-microvolt =<1800000>; > regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > ldo15_reg: LDO15 { > @@ -370,6 +442,9 @@ > regulator-min-microvolt =<1000000>; > regulator-max-microvolt =<1000000>; > regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > ldo17_reg: LDO17 { > @@ -377,6 +452,9 @@ > regulator-min-microvolt =<900000>; > regulator-max-microvolt =<1400000>; > regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > ldo18_reg: LDO18 { > @@ -450,6 +528,9 @@ > regulator-min-microvolt =<1000000>; > regulator-max-microvolt =<1000000>; > regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > ldo32_reg: LDO32 { ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 3/3] ARM: dts: Configure regulators for suspend on exynos Peach boards 2014-11-13 2:38 ` Kukjin Kim @ 2014-12-06 11:43 ` Javier Martinez Canillas 0 siblings, 0 replies; 8+ messages in thread From: Javier Martinez Canillas @ 2014-12-06 11:43 UTC (permalink / raw) To: Kukjin Kim Cc: Mark Brown, Chanwoo Choi, Olof Johansson, Chris Zhong, Krzysztof Kozlowski, Abhilash Kesavan, linux-samsung-soc, linux-kernel, devicetree Hello Kukjin, On 11/13/2014 03:38 AM, Kukjin Kim wrote: > On 11/11/14 21:04, Javier Martinez Canillas wrote: >> The regulator core now has support to choose if a regulator >> has to be enabled or disabled during system suspend and also >> supports changing the regulator operating mode during runtime >> and when the system enters into sleep mode. >> >> To lower power during suspend, configure the regulators state >> using the same configuration found in the ChromeOS 3.8 kernel. >> > Basically I'm fine on this dt changes but this should be queued after > confirming 1st and 2nd on this series from regulator maintainer... > > Once they are landing into regulator tree, I will apply this. > Mark already applied the patches from the 1st and 2nd series in the topic/suspend and topic/max77802 branches of his regulator tree [0]. So I think is safe for you to pick this patch now. Thanks a lot and best regards, Javier [0]: git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2014-12-06 11:43 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-11-11 12:04 [PATCH 0/3] regulator: max77802: Configure suspend modes Javier Martinez Canillas 2014-11-11 12:04 ` [PATCH 1/3] regulator: max77802: Document binding for regulator operating modes Javier Martinez Canillas [not found] ` <1415707485-28563-2-git-send-email-javier.martinez-ZGY8ohtN/8pPYcu2f3hruQ@public.gmane.org> 2014-11-26 19:43 ` Mark Brown 2014-11-11 12:04 ` [PATCH 2/3] regulator: max77802: Fill regulator modes translation callback Javier Martinez Canillas 2014-11-26 19:43 ` Mark Brown 2014-11-11 12:04 ` [PATCH 3/3] ARM: dts: Configure regulators for suspend on exynos Peach boards Javier Martinez Canillas 2014-11-13 2:38 ` Kukjin Kim 2014-12-06 11:43 ` Javier Martinez Canillas
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).