All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] [RFC] ARM: dts: imx6sx-sdb: Drop OPP hackery
@ 2017-04-25 16:42 Marek Vasut
  2017-04-25 19:30 ` Marek Vasut
  2017-05-03 16:07 ` Fabio Estevam
  0 siblings, 2 replies; 6+ messages in thread
From: Marek Vasut @ 2017-04-25 16:42 UTC (permalink / raw)
  To: linux-arm-kernel

The imx6sx-sdb has one power supply that drives both VDDARM_IN
and VDDSOC_IN, which is the sw1a regulator on the PFUZE PMIC.
Connect both inputs to the sw1a regulator on the PMIC and drop
the OPP hackery which is no longer needed as the power framework
will take care of the regulator configuration as needed.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Shawn Guo <shawnguo@kernel.org>
---
Note: Fabio, if you have a chance, please give this a spin and see
      if this works.
---
 arch/arm/boot/dts/imx6sx-sdb.dts | 25 ++++++++-----------------
 1 file changed, 8 insertions(+), 17 deletions(-)

diff --git a/arch/arm/boot/dts/imx6sx-sdb.dts b/arch/arm/boot/dts/imx6sx-sdb.dts
index 5bb8fd57e7f5..c0139d7e497a 100644
--- a/arch/arm/boot/dts/imx6sx-sdb.dts
+++ b/arch/arm/boot/dts/imx6sx-sdb.dts
@@ -12,23 +12,6 @@
 	model = "Freescale i.MX6 SoloX SDB RevB Board";
 };
 
-&cpu0 {
-	operating-points = <
-		/* kHz    uV */
-		996000  1250000
-		792000  1175000
-		396000  1175000
-		198000  1175000
-		>;
-	fsl,soc-operating-points = <
-		/* ARM kHz      SOC uV */
-		996000	1250000
-		792000	1175000
-		396000	1175000
-		198000  1175000
-	>;
-};
-
 &i2c1 {
 	clock-frequency = <100000>;
 	pinctrl-names = "default";
@@ -145,3 +128,11 @@
 		reg = <1>;
 	};
 };
+
+&reg_arm {
+	vin-supply = <&sw1a_reg>;
+};
+
+&reg_soc {
+	vin-supply = <&sw1a_reg>;
+};
-- 
2.11.0

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

* [PATCH] [RFC] ARM: dts: imx6sx-sdb: Drop OPP hackery
  2017-04-25 16:42 [PATCH] [RFC] ARM: dts: imx6sx-sdb: Drop OPP hackery Marek Vasut
@ 2017-04-25 19:30 ` Marek Vasut
  2017-04-25 19:39   ` Leonard Crestez
  2017-05-03 16:07 ` Fabio Estevam
  1 sibling, 1 reply; 6+ messages in thread
From: Marek Vasut @ 2017-04-25 19:30 UTC (permalink / raw)
  To: linux-arm-kernel

On 04/25/2017 06:42 PM, Marek Vasut wrote:
> The imx6sx-sdb has one power supply that drives both VDDARM_IN
> and VDDSOC_IN, which is the sw1a regulator on the PFUZE PMIC.
> Connect both inputs to the sw1a regulator on the PMIC and drop
> the OPP hackery which is no longer needed as the power framework
> will take care of the regulator configuration as needed.
> 
> Signed-off-by: Marek Vasut <marex@denx.de>
> Cc: Fabio Estevam <fabio.estevam@nxp.com>
> Cc: Shawn Guo <shawnguo@kernel.org>

+CC Leonard

> ---
> Note: Fabio, if you have a chance, please give this a spin and see
>       if this works.
> ---
>  arch/arm/boot/dts/imx6sx-sdb.dts | 25 ++++++++-----------------
>  1 file changed, 8 insertions(+), 17 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/imx6sx-sdb.dts b/arch/arm/boot/dts/imx6sx-sdb.dts
> index 5bb8fd57e7f5..c0139d7e497a 100644
> --- a/arch/arm/boot/dts/imx6sx-sdb.dts
> +++ b/arch/arm/boot/dts/imx6sx-sdb.dts
> @@ -12,23 +12,6 @@
>  	model = "Freescale i.MX6 SoloX SDB RevB Board";
>  };
>  
> -&cpu0 {
> -	operating-points = <
> -		/* kHz    uV */
> -		996000  1250000
> -		792000  1175000
> -		396000  1175000
> -		198000  1175000
> -		>;
> -	fsl,soc-operating-points = <
> -		/* ARM kHz      SOC uV */
> -		996000	1250000
> -		792000	1175000
> -		396000	1175000
> -		198000  1175000
> -	>;
> -};
> -
>  &i2c1 {
>  	clock-frequency = <100000>;
>  	pinctrl-names = "default";
> @@ -145,3 +128,11 @@
>  		reg = <1>;
>  	};
>  };
> +
> +&reg_arm {
> +	vin-supply = <&sw1a_reg>;
> +};
> +
> +&reg_soc {
> +	vin-supply = <&sw1a_reg>;
> +};
> 


-- 
Best regards,
Marek Vasut

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

* [PATCH] [RFC] ARM: dts: imx6sx-sdb: Drop OPP hackery
  2017-04-25 19:30 ` Marek Vasut
@ 2017-04-25 19:39   ` Leonard Crestez
  2017-05-03 13:32     ` Leonard Crestez
  0 siblings, 1 reply; 6+ messages in thread
From: Leonard Crestez @ 2017-04-25 19:39 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, 2017-04-25 at 21:30 +0200, Marek Vasut wrote:
> On 04/25/2017 06:42 PM, Marek Vasut wrote:
> > The imx6sx-sdb has one power supply that drives both VDDARM_IN
> > and VDDSOC_IN, which is the sw1a regulator on the PFUZE PMIC.
> > Connect both inputs to the sw1a regulator on the PMIC and drop
> > the OPP hackery which is no longer needed as the power framework
> > will take care of the regulator configuration as needed.
> > 
> > Signed-off-by: Marek Vasut <marex@denx.de>
> > Cc: Fabio Estevam <fabio.estevam@nxp.com>
> > Cc: Shawn Guo <shawnguo@kernel.org>
> 
> +CC Leonard

Tested-by: Leonard Crestez <leonard.crestez@nxp.com>

The OPP hack only applies to LDO bypass mode and that is not in
upstream. When LDOs are enabled the effect is to use higher voltages
than necessary for no good reason.

Setting these higher voltages can make some boards (for example Rev B)
fail to boot with ugly semi-random crashes reminiscent of memory
corruption. These failures happen the first time the lowest idle state
is used. This patch fixes those crashes.

It's not clear exactly why the crashes happen. Perhaps waking up from
idle draws more power than is available? I don't think it matters.

I sent a very similar patch a few minutes after this one:

http://lists.infradead.org/pipermail/linux-arm-kernel/2017-April/503241
.html

> > @@ -145,3 +128,11 @@
> >  		reg = <1>;
> >  	};
> >  };
> > +
> > +&reg_arm {
> > +	vin-supply = <&sw1a_reg>;
> > +};
> > +
> > +&reg_soc {
> > +	vin-supply = <&sw1a_reg>;
> > +};

This is also good, it will result in lower voltages will result in
lower voltages on VDD_ARM_SOC_IN rather than a fixed 1375 mV.

-- 
Regards,
Leonard

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

* [PATCH] [RFC] ARM: dts: imx6sx-sdb: Drop OPP hackery
  2017-04-25 19:39   ` Leonard Crestez
@ 2017-05-03 13:32     ` Leonard Crestez
  2017-05-03 14:27       ` Henri Roosen
  0 siblings, 1 reply; 6+ messages in thread
From: Leonard Crestez @ 2017-05-03 13:32 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, 2017-04-25 at 22:39 +0300, Leonard Crestez wrote:
> On Tue, 2017-04-25 at 21:30 +0200, Marek Vasut wrote:
> > 
> > On 04/25/2017 06:42 PM, Marek Vasut wrote:
> > > 
> > > The imx6sx-sdb has one power supply that drives both VDDARM_IN
> > > and VDDSOC_IN, which is the sw1a regulator on the PFUZE PMIC.
> > > Connect both inputs to the sw1a regulator on the PMIC and drop
> > > the OPP hackery which is no longer needed as the power framework
> > > will take care of the regulator configuration as needed.
> > > 
> > > Signed-off-by: Marek Vasut <marex@denx.de>
> > > Cc: Fabio Estevam <fabio.estevam@nxp.com>
> > > Cc: Shawn Guo <shawnguo@kernel.org>
> > +CC Leonard
> Tested-by: Leonard Crestez <leonard.crestez@nxp.com>
> 
> The OPP hack only applies to LDO bypass mode and that is not in
> upstream. When LDOs are enabled the effect is to use higher voltages
> than necessary for no good reason.
> 
> Setting these higher voltages can make some boards (for example Rev B)
> fail to boot with ugly semi-random crashes reminiscent of memory
> corruption. These failures happen the first time the lowest idle state
> is used. This patch fixes those crashes.
> 
> It's not clear exactly why the crashes happen. Perhaps waking up from
> idle draws more power than is available? I don't think it matters.
> 
> I sent a very similar patch a few minutes after this one:
> 
> http://lists.infradead.org/pipermail/linux-arm-kernel/2017-April/503241
> .html

Adding Henri Roosen because he reported something very similar.

Henri: Can you please check if this patch fixes your issue?

--?
Regards,
Leonard

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

* [PATCH] [RFC] ARM: dts: imx6sx-sdb: Drop OPP hackery
  2017-05-03 13:32     ` Leonard Crestez
@ 2017-05-03 14:27       ` Henri Roosen
  0 siblings, 0 replies; 6+ messages in thread
From: Henri Roosen @ 2017-05-03 14:27 UTC (permalink / raw)
  To: linux-arm-kernel

On 05/03/2017 03:32 PM, Leonard Crestez wrote:
> On Tue, 2017-04-25 at 22:39 +0300, Leonard Crestez wrote:
>> On Tue, 2017-04-25 at 21:30 +0200, Marek Vasut wrote:
>>>
>>> On 04/25/2017 06:42 PM, Marek Vasut wrote:
>>>>
>>>> The imx6sx-sdb has one power supply that drives both VDDARM_IN
>>>> and VDDSOC_IN, which is the sw1a regulator on the PFUZE PMIC.
>>>> Connect both inputs to the sw1a regulator on the PMIC and drop
>>>> the OPP hackery which is no longer needed as the power framework
>>>> will take care of the regulator configuration as needed.
>>>>
>>>> Signed-off-by: Marek Vasut <marex@denx.de>
>>>> Cc: Fabio Estevam <fabio.estevam@nxp.com>
>>>> Cc: Shawn Guo <shawnguo@kernel.org>
>>> +CC Leonard
>> Tested-by: Leonard Crestez <leonard.crestez@nxp.com>
>>
>> The OPP hack only applies to LDO bypass mode and that is not in
>> upstream. When LDOs are enabled the effect is to use higher voltages
>> than necessary for no good reason.
>>
>> Setting these higher voltages can make some boards (for example Rev B)
>> fail to boot with ugly semi-random crashes reminiscent of memory
>> corruption. These failures happen the first time the lowest idle state
>> is used. This patch fixes those crashes.
>>
>> It's not clear exactly why the crashes happen. Perhaps waking up from
>> idle draws more power than is available? I don't think it matters.
>>
>> I sent a very similar patch a few minutes after this one:
>>
>> http://lists.infradead.org/pipermail/linux-arm-kernel/2017-April/503241
>> .html
>
> Adding Henri Roosen because he reported something very similar.
>
> Henri: Can you please check if this patch fixes your issue?

I've been successfully running a similar patch (reverting operating 
points, without reg_arm/reg_soc) as provided by Anson for about a month 
on an iMX6SX-SDB RevC board. I'm sorry for not copying the mailing list 
on this before.

This patch, with the regulators setup as provided by Marek, has been 
tested successfully on the iMX6SX-SDB RevC board as well.

Feel free to add my

Tested-by: Henri Roosen <henri.roosen@ginzinger.com>

-- 
Best regards,
Henri Roosen

>
> --
> Regards,
> Leonard
>

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

* [PATCH] [RFC] ARM: dts: imx6sx-sdb: Drop OPP hackery
  2017-04-25 16:42 [PATCH] [RFC] ARM: dts: imx6sx-sdb: Drop OPP hackery Marek Vasut
  2017-04-25 19:30 ` Marek Vasut
@ 2017-05-03 16:07 ` Fabio Estevam
  1 sibling, 0 replies; 6+ messages in thread
From: Fabio Estevam @ 2017-05-03 16:07 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Apr 25, 2017 at 1:42 PM, Marek Vasut <marex@denx.de> wrote:
> The imx6sx-sdb has one power supply that drives both VDDARM_IN
> and VDDSOC_IN, which is the sw1a regulator on the PFUZE PMIC.
> Connect both inputs to the sw1a regulator on the PMIC and drop
> the OPP hackery which is no longer needed as the power framework
> will take care of the regulator configuration as needed.
>
> Signed-off-by: Marek Vasut <marex@denx.de>
> Cc: Fabio Estevam <fabio.estevam@nxp.com>
> Cc: Shawn Guo <shawnguo@kernel.org>

Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>

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

end of thread, other threads:[~2017-05-03 16:07 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-25 16:42 [PATCH] [RFC] ARM: dts: imx6sx-sdb: Drop OPP hackery Marek Vasut
2017-04-25 19:30 ` Marek Vasut
2017-04-25 19:39   ` Leonard Crestez
2017-05-03 13:32     ` Leonard Crestez
2017-05-03 14:27       ` Henri Roosen
2017-05-03 16:07 ` Fabio Estevam

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.