linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RESEND PATCH 1/2] ARM: dts: Improve Peach Pit and Pi power scheme
@ 2014-08-11 11:38 Javier Martinez Canillas
  2014-08-11 11:38 ` [RESEND PATCH 2/2] ARM: dts: Add tps65090 FET constraints on Peach Pit and Pi Javier Martinez Canillas
  2014-08-11 15:46 ` [RESEND PATCH 1/2] ARM: dts: Improve Peach Pit and Pi power scheme Doug Anderson
  0 siblings, 2 replies; 9+ messages in thread
From: Javier Martinez Canillas @ 2014-08-11 11:38 UTC (permalink / raw)
  To: Kukjin Kim
  Cc: Doug Anderson, Olof Johansson, Yuvaraj Kumar C D, Mark Brown,
	linux-samsung-soc, linux-arm-kernel, devicetree, linux-kernel,
	Javier Martinez Canillas

The DeviceTree files for the Peach Pit and Pi machines have
a simplistic model of the connections between the different
regulators since not all the tps65090 regulators get their
input supply voltage from the VDC. DCDC1-3, LD0-1 and fet7
parent supply is indded VDC but the fet1-6 get their input
supply from the DCDC1 and DCDC2 output voltage rails.

Update the DeviceTree to better reflect the real connections
between tps65090 regulators. Having this information in the
DTS is useful since FETs are switches that don't provide an
output voltage so the regulator core needs to fetch the FET
parent output voltage if the child voltage is queried.

Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Acked-by: Mark Brown <broonie@linaro.org>
---
 arch/arm/boot/dts/exynos5420-peach-pit.dts | 12 ++++++------
 arch/arm/boot/dts/exynos5800-peach-pi.dts  | 12 ++++++------
 2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts
index 228a6b1..d8710c1 100644
--- a/arch/arm/boot/dts/exynos5420-peach-pit.dts
+++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts
@@ -365,12 +365,12 @@
 				vsys2-supply = <&vbat>;
 				vsys3-supply = <&vbat>;
 				infet1-supply = <&vbat>;
-				infet2-supply = <&vbat>;
-				infet3-supply = <&vbat>;
-				infet4-supply = <&vbat>;
-				infet5-supply = <&vbat>;
-				infet6-supply = <&vbat>;
-				infet7-supply = <&vbat>;
+				infet2-supply = <&tps65090_dcdc1>;
+				infet3-supply = <&tps65090_dcdc2>;
+				infet4-supply = <&tps65090_dcdc2>;
+				infet5-supply = <&tps65090_dcdc2>;
+				infet6-supply = <&tps65090_dcdc2>;
+				infet7-supply = <&tps65090_dcdc1>;
 				vsys-l1-supply = <&vbat>;
 				vsys-l2-supply = <&vbat>;
 
diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts
index f3ee48b..07b29b7 100644
--- a/arch/arm/boot/dts/exynos5800-peach-pi.dts
+++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts
@@ -363,12 +363,12 @@
 				vsys2-supply = <&vbat>;
 				vsys3-supply = <&vbat>;
 				infet1-supply = <&vbat>;
-				infet2-supply = <&vbat>;
-				infet3-supply = <&vbat>;
-				infet4-supply = <&vbat>;
-				infet5-supply = <&vbat>;
-				infet6-supply = <&vbat>;
-				infet7-supply = <&vbat>;
+				infet2-supply = <&tps65090_dcdc1>;
+				infet3-supply = <&tps65090_dcdc2>;
+				infet4-supply = <&tps65090_dcdc2>;
+				infet5-supply = <&tps65090_dcdc2>;
+				infet6-supply = <&tps65090_dcdc2>;
+				infet7-supply = <&tps65090_dcdc1>;
 				vsys-l1-supply = <&vbat>;
 				vsys-l2-supply = <&vbat>;
 
-- 
2.0.0.rc2


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [RESEND PATCH 2/2] ARM: dts: Add tps65090 FET constraints on Peach Pit and Pi
  2014-08-11 11:38 [RESEND PATCH 1/2] ARM: dts: Improve Peach Pit and Pi power scheme Javier Martinez Canillas
@ 2014-08-11 11:38 ` Javier Martinez Canillas
  2014-08-11 15:57   ` Doug Anderson
  2014-08-11 15:46 ` [RESEND PATCH 1/2] ARM: dts: Improve Peach Pit and Pi power scheme Doug Anderson
  1 sibling, 1 reply; 9+ messages in thread
From: Javier Martinez Canillas @ 2014-08-11 11:38 UTC (permalink / raw)
  To: Kukjin Kim
  Cc: Doug Anderson, Olof Johansson, Yuvaraj Kumar C D, Mark Brown,
	linux-samsung-soc, linux-arm-kernel, devicetree, linux-kernel,
	Javier Martinez Canillas

Both Exynos5420 Peach Pit and Exynos5800 Peach Pi boards
have a tps65090 PMU that has a number of switches (FETs)
that are just on/off devices but they do have a current
limit and the output voltage of the switch is ramped up
within a controlled slope.

After the switch is turned on, a safety timer is started
and before this timer times out the output voltage must
have reached the input voltage. Otherwise the switch is
turned off expecting an overload condition.

So using the maximum output voltage slew rate and the timer
minimum and maximum timeouts, a voltage constraints can be
expressed as bounded limits for the timeout. That is what
is used in the board schematics and should be in the DT too.

Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
---
 arch/arm/boot/dts/exynos5420-peach-pit.dts | 14 ++++++++++++++
 arch/arm/boot/dts/exynos5800-peach-pi.dts  | 14 ++++++++++++++
 2 files changed, 28 insertions(+)

diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts
index d8710c1..eefafe6 100644
--- a/arch/arm/boot/dts/exynos5420-peach-pit.dts
+++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts
@@ -386,27 +386,41 @@
 					};
 					tps65090_fet1: fet1 {
 						regulator-name = "vcd_led";
+						regulator-min-microvolt = <5000000>;
+						regulator-max-microvolt = <1700000>;
 					};
 					tps65090_fet2: fet2 {
 						regulator-name = "video_mid";
+						regulator-min-microvolt = <4500000>;
+						regulator-max-microvolt = <5500000>;
 						regulator-always-on;
 					};
 					tps65090_fet3: fet3 {
 						regulator-name = "wwan_r";
+						regulator-min-microvolt = <3000000>;
+						regulator-max-microvolt = <5500000>;
 						regulator-always-on;
 					};
 					tps65090_fet4: fet4 {
 						regulator-name = "sdcard";
+						regulator-min-microvolt = <3000000>;
+						regulator-max-microvolt = <5500000>;
 						regulator-always-on;
 					};
 					tps65090_fet5: fet5 {
 						regulator-name = "camout";
+						regulator-min-microvolt = <3000000>;
+						regulator-max-microvolt = <5500000>;
 					};
 					tps65090_fet6: fet6 {
 						regulator-name = "lcd_vdd";
+						regulator-min-microvolt = <3000000>;
+						regulator-max-microvolt = <5500000>;
 					};
 					tps65090_fet7: fet7 {
 						regulator-name = "video_mid_1a";
+						regulator-min-microvolt = <3000000>;
+						regulator-max-microvolt = <5500000>;
 						regulator-always-on;
 					};
 					tps65090_ldo1: ldo1 {
diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts
index 07b29b7..5c38bc0 100644
--- a/arch/arm/boot/dts/exynos5800-peach-pi.dts
+++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts
@@ -384,27 +384,41 @@
 					};
 					tps65090_fet1: fet1 {
 						regulator-name = "vcd_led";
+						regulator-min-microvolt = <5000000>;
+						regulator-max-microvolt = <1700000>;
 					};
 					tps65090_fet2: fet2 {
 						regulator-name = "video_mid";
+						regulator-min-microvolt = <4500000>;
+						regulator-max-microvolt = <5500000>;
 						regulator-always-on;
 					};
 					tps65090_fet3: fet3 {
 						regulator-name = "wwan_r";
+						regulator-min-microvolt = <3000000>;
+						regulator-max-microvolt = <5500000>;
 						regulator-always-on;
 					};
 					tps65090_fet4: fet4 {
 						regulator-name = "sdcard";
+						regulator-min-microvolt = <3000000>;
+						regulator-max-microvolt = <5500000>;
 						regulator-always-on;
 					};
 					tps65090_fet5: fet5 {
 						regulator-name = "camout";
+						regulator-min-microvolt = <3000000>;
+						regulator-max-microvolt = <5500000>;
 					};
 					tps65090_fet6: fet6 {
 						regulator-name = "lcd_vdd";
+						regulator-min-microvolt = <3000000>;
+						regulator-max-microvolt = <5500000>;
 					};
 					tps65090_fet7: fet7 {
 						regulator-name = "video_mid_1a";
+						regulator-min-microvolt = <3000000>;
+						regulator-max-microvolt = <5500000>;
 						regulator-always-on;
 					};
 					tps65090_ldo1: ldo1 {
-- 
2.0.0.rc2


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [RESEND PATCH 1/2] ARM: dts: Improve Peach Pit and Pi power scheme
  2014-08-11 11:38 [RESEND PATCH 1/2] ARM: dts: Improve Peach Pit and Pi power scheme Javier Martinez Canillas
  2014-08-11 11:38 ` [RESEND PATCH 2/2] ARM: dts: Add tps65090 FET constraints on Peach Pit and Pi Javier Martinez Canillas
@ 2014-08-11 15:46 ` Doug Anderson
  2014-08-18 18:27   ` Kukjin Kim
  1 sibling, 1 reply; 9+ messages in thread
From: Doug Anderson @ 2014-08-11 15:46 UTC (permalink / raw)
  To: Javier Martinez Canillas
  Cc: Kukjin Kim, Olof Johansson, Yuvaraj Kumar C D, Mark Brown,
	linux-samsung-soc, linux-arm-kernel, devicetree, linux-kernel

Javier,

On Mon, Aug 11, 2014 at 4:38 AM, Javier Martinez Canillas
<javier.martinez@collabora.co.uk> wrote:
> The DeviceTree files for the Peach Pit and Pi machines have
> a simplistic model of the connections between the different
> regulators since not all the tps65090 regulators get their
> input supply voltage from the VDC. DCDC1-3, LD0-1 and fet7
> parent supply is indded VDC but the fet1-6 get their input
> supply from the DCDC1 and DCDC2 output voltage rails.
>
> Update the DeviceTree to better reflect the real connections
> between tps65090 regulators. Having this information in the
> DTS is useful since FETs are switches that don't provide an
> output voltage so the regulator core needs to fetch the FET
> parent output voltage if the child voltage is queried.
>
> Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
> Acked-by: Mark Brown <broonie@linaro.org>
> ---
>  arch/arm/boot/dts/exynos5420-peach-pit.dts | 12 ++++++------
>  arch/arm/boot/dts/exynos5800-peach-pi.dts  | 12 ++++++------
>  2 files changed, 12 insertions(+), 12 deletions(-)

Matches my schematics.  Kukjin: I think this could be applied to
for-next whenever it's convenient.

Acked-by: Doug Anderson <dianders@chromium.org>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [RESEND PATCH 2/2] ARM: dts: Add tps65090 FET constraints on Peach Pit and Pi
  2014-08-11 11:38 ` [RESEND PATCH 2/2] ARM: dts: Add tps65090 FET constraints on Peach Pit and Pi Javier Martinez Canillas
@ 2014-08-11 15:57   ` Doug Anderson
  2014-08-11 16:02     ` Mark Brown
  2014-08-11 17:47     ` Javier Martinez Canillas
  0 siblings, 2 replies; 9+ messages in thread
From: Doug Anderson @ 2014-08-11 15:57 UTC (permalink / raw)
  To: Javier Martinez Canillas
  Cc: Kukjin Kim, Olof Johansson, Yuvaraj Kumar C D, Mark Brown,
	linux-samsung-soc, linux-arm-kernel, devicetree, linux-kernel

Javier,

On Mon, Aug 11, 2014 at 4:38 AM, Javier Martinez Canillas
<javier.martinez@collabora.co.uk> wrote:
> Both Exynos5420 Peach Pit and Exynos5800 Peach Pi boards
> have a tps65090 PMU that has a number of switches (FETs)
> that are just on/off devices but they do have a current
> limit and the output voltage of the switch is ramped up
> within a controlled slope.
>
> After the switch is turned on, a safety timer is started
> and before this timer times out the output voltage must
> have reached the input voltage. Otherwise the switch is
> turned off expecting an overload condition.
>
> So using the maximum output voltage slew rate and the timer
> minimum and maximum timeouts, a voltage constraints can be
> expressed as bounded limits for the timeout. That is what
> is used in the board schematics and should be in the DT too.

I don't understand this, but if you and Mark are happy with it...

...I'm also not 100% certain what the above description has to do with
this change, but I'll admit to having only skimmed some of the earlier
conversations.


> Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
> ---
>  arch/arm/boot/dts/exynos5420-peach-pit.dts | 14 ++++++++++++++
>  arch/arm/boot/dts/exynos5800-peach-pi.dts  | 14 ++++++++++++++
>  2 files changed, 28 insertions(+)
>
> diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts
> index d8710c1..eefafe6 100644
> --- a/arch/arm/boot/dts/exynos5420-peach-pit.dts
> +++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts
> @@ -386,27 +386,41 @@
>                                         };
>                                         tps65090_fet1: fet1 {
>                                                 regulator-name = "vcd_led";
> +                                               regulator-min-microvolt = <5000000>;
> +                                               regulator-max-microvolt = <1700000>;

This is almost certainly wrong.  Your max is smaller than your min.
Perhaps you want an extra 0.

>                                         };
>                                         tps65090_fet2: fet2 {
>                                                 regulator-name = "video_mid";
> +                                               regulator-min-microvolt = <4500000>;
> +                                               regulator-max-microvolt = <5500000>;
>                                                 regulator-always-on;
>                                         };
>                                         tps65090_fet3: fet3 {
>                                                 regulator-name = "wwan_r";
> +                                               regulator-min-microvolt = <3000000>;
> +                                               regulator-max-microvolt = <5500000>;
>                                                 regulator-always-on;
>                                         };
>                                         tps65090_fet4: fet4 {
>                                                 regulator-name = "sdcard";
> +                                               regulator-min-microvolt = <3000000>;
> +                                               regulator-max-microvolt = <5500000>;
>                                                 regulator-always-on;
>                                         };
>                                         tps65090_fet5: fet5 {
>                                                 regulator-name = "camout";
> +                                               regulator-min-microvolt = <3000000>;
> +                                               regulator-max-microvolt = <5500000>;
>                                         };
>                                         tps65090_fet6: fet6 {
>                                                 regulator-name = "lcd_vdd";
> +                                               regulator-min-microvolt = <3000000>;
> +                                               regulator-max-microvolt = <5500000>;
>                                         };
>                                         tps65090_fet7: fet7 {
>                                                 regulator-name = "video_mid_1a";
> +                                               regulator-min-microvolt = <3000000>;
> +                                               regulator-max-microvolt = <5500000>;
>                                                 regulator-always-on;
>                                         };
>                                         tps65090_ldo1: ldo1 {
> diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts
> index 07b29b7..5c38bc0 100644
> --- a/arch/arm/boot/dts/exynos5800-peach-pi.dts
> +++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts
> @@ -384,27 +384,41 @@
>                                         };
>                                         tps65090_fet1: fet1 {
>                                                 regulator-name = "vcd_led";
> +                                               regulator-min-microvolt = <5000000>;
> +                                               regulator-max-microvolt = <1700000>;

Here, too.

>                                         };
>                                         tps65090_fet2: fet2 {
>                                                 regulator-name = "video_mid";
> +                                               regulator-min-microvolt = <4500000>;
> +                                               regulator-max-microvolt = <5500000>;
>                                                 regulator-always-on;
>                                         };
>                                         tps65090_fet3: fet3 {
>                                                 regulator-name = "wwan_r";
> +                                               regulator-min-microvolt = <3000000>;
> +                                               regulator-max-microvolt = <5500000>;
>                                                 regulator-always-on;
>                                         };
>                                         tps65090_fet4: fet4 {
>                                                 regulator-name = "sdcard";
> +                                               regulator-min-microvolt = <3000000>;
> +                                               regulator-max-microvolt = <5500000>;
>                                                 regulator-always-on;
>                                         };
>                                         tps65090_fet5: fet5 {
>                                                 regulator-name = "camout";
> +                                               regulator-min-microvolt = <3000000>;
> +                                               regulator-max-microvolt = <5500000>;
>                                         };
>                                         tps65090_fet6: fet6 {
>                                                 regulator-name = "lcd_vdd";
> +                                               regulator-min-microvolt = <3000000>;
> +                                               regulator-max-microvolt = <5500000>;
>                                         };
>                                         tps65090_fet7: fet7 {
>                                                 regulator-name = "video_mid_1a";
> +                                               regulator-min-microvolt = <3000000>;
> +                                               regulator-max-microvolt = <5500000>;
>                                                 regulator-always-on;
>                                         };
>                                         tps65090_ldo1: ldo1 {

Other than 1.7V vs. 17V, this matches what I see in the tps65090
specifications.  Technically I think that this should also be applied
to other tps65090 users in mainline since it's a property shared among
every user of tps65090.  That means exynos5250-snow and
tegra114-dalmore.  I'd be tempted to say that it belongs in source
code or in a dts fragment as well.

-Doug

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [RESEND PATCH 2/2] ARM: dts: Add tps65090 FET constraints on Peach Pit and Pi
  2014-08-11 15:57   ` Doug Anderson
@ 2014-08-11 16:02     ` Mark Brown
  2014-08-11 17:31       ` Javier Martinez Canillas
  2014-08-11 17:47     ` Javier Martinez Canillas
  1 sibling, 1 reply; 9+ messages in thread
From: Mark Brown @ 2014-08-11 16:02 UTC (permalink / raw)
  To: Doug Anderson
  Cc: Javier Martinez Canillas, Kukjin Kim, Olof Johansson,
	Yuvaraj Kumar C D, linux-samsung-soc, linux-arm-kernel,
	devicetree, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 959 bytes --]

On Mon, Aug 11, 2014 at 08:57:24AM -0700, Doug Anderson wrote:
> On Mon, Aug 11, 2014 at 4:38 AM, Javier Martinez Canillas

> > After the switch is turned on, a safety timer is started
> > and before this timer times out the output voltage must
> > have reached the input voltage. Otherwise the switch is
> > turned off expecting an overload condition.

> > So using the maximum output voltage slew rate and the timer
> > minimum and maximum timeouts, a voltage constraints can be
> > expressed as bounded limits for the timeout. That is what
> > is used in the board schematics and should be in the DT too.

> I don't understand this, but if you and Mark are happy with it...

I have not looked at this change to my knowledge.

> ...I'm also not 100% certain what the above description has to do with
> this change, but I'll admit to having only skimmed some of the earlier
> conversations.

It's not at all clear to me either looking at the quoted section.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [RESEND PATCH 2/2] ARM: dts: Add tps65090 FET constraints on Peach Pit and Pi
  2014-08-11 16:02     ` Mark Brown
@ 2014-08-11 17:31       ` Javier Martinez Canillas
  0 siblings, 0 replies; 9+ messages in thread
From: Javier Martinez Canillas @ 2014-08-11 17:31 UTC (permalink / raw)
  To: Mark Brown, Doug Anderson
  Cc: Kukjin Kim, Olof Johansson, Yuvaraj Kumar C D, linux-samsung-soc,
	linux-arm-kernel, devicetree, linux-kernel

Hello Mark,

On 08/11/2014 06:02 PM, Mark Brown wrote:
> On Mon, Aug 11, 2014 at 08:57:24AM -0700, Doug Anderson wrote:
>> On Mon, Aug 11, 2014 at 4:38 AM, Javier Martinez Canillas
> 
>> > After the switch is turned on, a safety timer is started
>> > and before this timer times out the output voltage must
>> > have reached the input voltage. Otherwise the switch is
>> > turned off expecting an overload condition.
> 
>> > So using the maximum output voltage slew rate and the timer
>> > minimum and maximum timeouts, a voltage constraints can be
>> > expressed as bounded limits for the timeout. That is what
>> > is used in the board schematics and should be in the DT too.
> 
>> I don't understand this, but if you and Mark are happy with it...
> 
> I have not looked at this change to my knowledge.
> 

No worries, I have to re-spin anyways to fix the 17v typo that Doug pointed out.
But basically is related to our previous discussion in patch:

"[RFC 3/5] regulator: core: Only apply constraints if available on list voltage"

where you explained [0] to me that child regulators should explicit set their
constraints instead of getting from its parent supply. So this patch adds the
needed constraints for the children FETs even when their output voltage depend
on its parent supply.

>> ...I'm also not 100% certain what the above description has to do with
>> this change, but I'll admit to having only skimmed some of the earlier
>> conversations.
> 
> It's not at all clear to me either looking at the quoted section.
> 

Yes, the commit message is not great to say the least. Also I didn't have the
last version of the documentation so I misunderstood from where the constraints
mentioned in the schematics came from. Will fix the commit message when posting v2.

Thanks a lot and best regards,
Javier

[0]: https://lkml.org/lkml/2014/7/30/99

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [RESEND PATCH 2/2] ARM: dts: Add tps65090 FET constraints on Peach Pit and Pi
  2014-08-11 15:57   ` Doug Anderson
  2014-08-11 16:02     ` Mark Brown
@ 2014-08-11 17:47     ` Javier Martinez Canillas
  1 sibling, 0 replies; 9+ messages in thread
From: Javier Martinez Canillas @ 2014-08-11 17:47 UTC (permalink / raw)
  To: Doug Anderson
  Cc: Kukjin Kim, Olof Johansson, Yuvaraj Kumar C D, Mark Brown,
	linux-samsung-soc, linux-arm-kernel, devicetree, linux-kernel

Hello Doug,

On 08/11/2014 05:57 PM, Doug Anderson wrote:
> Javier,
> 
> On Mon, Aug 11, 2014 at 4:38 AM, Javier Martinez Canillas
> <javier.martinez@collabora.co.uk> wrote:
>> Both Exynos5420 Peach Pit and Exynos5800 Peach Pi boards
>> have a tps65090 PMU that has a number of switches (FETs)
>> that are just on/off devices but they do have a current
>> limit and the output voltage of the switch is ramped up
>> within a controlled slope.
>>
>> After the switch is turned on, a safety timer is started
>> and before this timer times out the output voltage must
>> have reached the input voltage. Otherwise the switch is
>> turned off expecting an overload condition.
>>
>> So using the maximum output voltage slew rate and the timer
>> minimum and maximum timeouts, a voltage constraints can be
>> expressed as bounded limits for the timeout. That is what
>> is used in the board schematics and should be in the DT too.
> 
> I don't understand this, but if you and Mark are happy with it...
> 
> ...I'm also not 100% certain what the above description has to do with
> this change, but I'll admit to having only skimmed some of the earlier
> conversations.
>

As I stated before, I wrongly assumed from where the constraints in the
schematics came from. From the latest doc I now know that there is a
"recommended operating conditions table". I'll fix it in v2, sorry for the
confusion...

> 
>> Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
>> ---
>>  arch/arm/boot/dts/exynos5420-peach-pit.dts | 14 ++++++++++++++
>>  arch/arm/boot/dts/exynos5800-peach-pi.dts  | 14 ++++++++++++++
>>  2 files changed, 28 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts
>> index d8710c1..eefafe6 100644
>> --- a/arch/arm/boot/dts/exynos5420-peach-pit.dts
>> +++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts
>> @@ -386,27 +386,41 @@
>>                                         };
>>                                         tps65090_fet1: fet1 {
>>                                                 regulator-name = "vcd_led";
>> +                                               regulator-min-microvolt = <5000000>;
>> +                                               regulator-max-microvolt = <1700000>;
> 
> This is almost certainly wrong.  Your max is smaller than your min.
> Perhaps you want an extra 0.
> 
>>                                         };
>>                                         tps65090_fet2: fet2 {
>>                                                 regulator-name = "video_mid";
>> +                                               regulator-min-microvolt = <4500000>;
>> +                                               regulator-max-microvolt = <5500000>;
>>                                                 regulator-always-on;
>>                                         };
>>                                         tps65090_fet3: fet3 {
>>                                                 regulator-name = "wwan_r";
>> +                                               regulator-min-microvolt = <3000000>;
>> +                                               regulator-max-microvolt = <5500000>;
>>                                                 regulator-always-on;
>>                                         };
>>                                         tps65090_fet4: fet4 {
>>                                                 regulator-name = "sdcard";
>> +                                               regulator-min-microvolt = <3000000>;
>> +                                               regulator-max-microvolt = <5500000>;
>>                                                 regulator-always-on;
>>                                         };
>>                                         tps65090_fet5: fet5 {
>>                                                 regulator-name = "camout";
>> +                                               regulator-min-microvolt = <3000000>;
>> +                                               regulator-max-microvolt = <5500000>;
>>                                         };
>>                                         tps65090_fet6: fet6 {
>>                                                 regulator-name = "lcd_vdd";
>> +                                               regulator-min-microvolt = <3000000>;
>> +                                               regulator-max-microvolt = <5500000>;
>>                                         };
>>                                         tps65090_fet7: fet7 {
>>                                                 regulator-name = "video_mid_1a";
>> +                                               regulator-min-microvolt = <3000000>;
>> +                                               regulator-max-microvolt = <5500000>;
>>                                                 regulator-always-on;
>>                                         };
>>                                         tps65090_ldo1: ldo1 {
>> diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts
>> index 07b29b7..5c38bc0 100644
>> --- a/arch/arm/boot/dts/exynos5800-peach-pi.dts
>> +++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts
>> @@ -384,27 +384,41 @@
>>                                         };
>>                                         tps65090_fet1: fet1 {
>>                                                 regulator-name = "vcd_led";
>> +                                               regulator-min-microvolt = <5000000>;
>> +                                               regulator-max-microvolt = <1700000>;
> 
> Here, too.
> 
>>                                         };
>>                                         tps65090_fet2: fet2 {
>>                                                 regulator-name = "video_mid";
>> +                                               regulator-min-microvolt = <4500000>;
>> +                                               regulator-max-microvolt = <5500000>;
>>                                                 regulator-always-on;
>>                                         };
>>                                         tps65090_fet3: fet3 {
>>                                                 regulator-name = "wwan_r";
>> +                                               regulator-min-microvolt = <3000000>;
>> +                                               regulator-max-microvolt = <5500000>;
>>                                                 regulator-always-on;
>>                                         };
>>                                         tps65090_fet4: fet4 {
>>                                                 regulator-name = "sdcard";
>> +                                               regulator-min-microvolt = <3000000>;
>> +                                               regulator-max-microvolt = <5500000>;
>>                                                 regulator-always-on;
>>                                         };
>>                                         tps65090_fet5: fet5 {
>>                                                 regulator-name = "camout";
>> +                                               regulator-min-microvolt = <3000000>;
>> +                                               regulator-max-microvolt = <5500000>;
>>                                         };
>>                                         tps65090_fet6: fet6 {
>>                                                 regulator-name = "lcd_vdd";
>> +                                               regulator-min-microvolt = <3000000>;
>> +                                               regulator-max-microvolt = <5500000>;
>>                                         };
>>                                         tps65090_fet7: fet7 {
>>                                                 regulator-name = "video_mid_1a";
>> +                                               regulator-min-microvolt = <3000000>;
>> +                                               regulator-max-microvolt = <5500000>;
>>                                                 regulator-always-on;
>>                                         };
>>                                         tps65090_ldo1: ldo1 {
> 
> Other than 1.7V vs. 17V, this matches what I see in the tps65090
> specifications.  Technically I think that this should also be applied
> to other tps65090 users in mainline since it's a property shared among
> every user of tps65090.  That means exynos5250-snow and
> tegra114-dalmore.  I'd be tempted to say that it belongs in source
> code or in a dts fragment as well.
> 

Agreed, now is clear from the table that these are operating conditions related
to the PMIC and is not a per board value. So since these are constants, they
should be added to the driver source code and not in the DTS. I'll do this in v2
as well.

> -Doug
> 

Best regards,
Javier

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [RESEND PATCH 1/2] ARM: dts: Improve Peach Pit and Pi power scheme
  2014-08-11 15:46 ` [RESEND PATCH 1/2] ARM: dts: Improve Peach Pit and Pi power scheme Doug Anderson
@ 2014-08-18 18:27   ` Kukjin Kim
  2014-08-18 21:43     ` Javier Martinez Canillas
  0 siblings, 1 reply; 9+ messages in thread
From: Kukjin Kim @ 2014-08-18 18:27 UTC (permalink / raw)
  To: Doug Anderson
  Cc: Javier Martinez Canillas, devicetree, linux-samsung-soc,
	linux-kernel, Mark Brown, Yuvaraj Kumar C D, Olof Johansson,
	Kukjin Kim, linux-arm-kernel

On 08/11/14 10:46, Doug Anderson wrote:
> Javier,
>
> On Mon, Aug 11, 2014 at 4:38 AM, Javier Martinez Canillas
> <javier.martinez@collabora.co.uk>  wrote:
>> The DeviceTree files for the Peach Pit and Pi machines have
>> a simplistic model of the connections between the different
>> regulators since not all the tps65090 regulators get their
>> input supply voltage from the VDC. DCDC1-3, LD0-1 and fet7
>> parent supply is indded VDC but the fet1-6 get their input
>> supply from the DCDC1 and DCDC2 output voltage rails.
>>
>> Update the DeviceTree to better reflect the real connections
>> between tps65090 regulators. Having this information in the
>> DTS is useful since FETs are switches that don't provide an
>> output voltage so the regulator core needs to fetch the FET
>> parent output voltage if the child voltage is queried.
>>
>> Signed-off-by: Javier Martinez Canillas<javier.martinez@collabora.co.uk>
>> Acked-by: Mark Brown<broonie@linaro.org>
>> ---
>>   arch/arm/boot/dts/exynos5420-peach-pit.dts | 12 ++++++------
>>   arch/arm/boot/dts/exynos5800-peach-pi.dts  | 12 ++++++------
>>   2 files changed, 12 insertions(+), 12 deletions(-)
>
> Matches my schematics.  Kukjin: I think this could be applied to
> for-next whenever it's convenient.
>
OK, I've applied this but 2nd in this series...

> Acked-by: Doug Anderson<dianders@chromium.org>
>
Thanks,
Kukjin

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [RESEND PATCH 1/2] ARM: dts: Improve Peach Pit and Pi power scheme
  2014-08-18 18:27   ` Kukjin Kim
@ 2014-08-18 21:43     ` Javier Martinez Canillas
  0 siblings, 0 replies; 9+ messages in thread
From: Javier Martinez Canillas @ 2014-08-18 21:43 UTC (permalink / raw)
  To: Kukjin Kim, Doug Anderson
  Cc: devicetree, linux-samsung-soc, linux-kernel, Mark Brown,
	Yuvaraj Kumar C D, Olof Johansson, linux-arm-kernel

Hello Kukjin,

On 08/18/2014 08:27 PM, Kukjin Kim wrote:
> On 08/11/14 10:46, Doug Anderson wrote:
>>
> OK, I've applied this but 2nd in this series...
>

Thanks for picking this and yes PATCH 2/2 from this series was dropped.

>> Acked-by: Doug Anderson<dianders@chromium.org>
>>
> Thanks,
> Kukjin
> 

I've posted PATCH "mmc: core: Use regulator_get_voltage() if OCR mask is
empty." [0] instead to solve the issue that patch 2/2 tried to address.

Best regards,
Javier

[0]: https://lkml.org/lkml/2014/8/14/200

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2014-08-18 21:44 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-11 11:38 [RESEND PATCH 1/2] ARM: dts: Improve Peach Pit and Pi power scheme Javier Martinez Canillas
2014-08-11 11:38 ` [RESEND PATCH 2/2] ARM: dts: Add tps65090 FET constraints on Peach Pit and Pi Javier Martinez Canillas
2014-08-11 15:57   ` Doug Anderson
2014-08-11 16:02     ` Mark Brown
2014-08-11 17:31       ` Javier Martinez Canillas
2014-08-11 17:47     ` Javier Martinez Canillas
2014-08-11 15:46 ` [RESEND PATCH 1/2] ARM: dts: Improve Peach Pit and Pi power scheme Doug Anderson
2014-08-18 18:27   ` Kukjin Kim
2014-08-18 21: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).