diff mbox

[1/2] ARM: dts: sun4i: a10-lime: Override and remove 1008MHz OPP setting

Message ID 1426732773-7179-2-git-send-email-wens@csie.org (mailing list archive)
State New, archived
Headers show

Commit Message

Chen-Yu Tsai March 19, 2015, 2:39 a.m. UTC
The Olimex A10-Lime is known to be unstable when running at 1008MHz.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
---
 arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

Comments

Siarhei Siamashka March 19, 2015, 6:57 a.m. UTC | #1
On Thu, 19 Mar 2015 10:39:32 +0800
Chen-Yu Tsai <wens@csie.org> wrote:

> The Olimex A10-Lime is known to be unstable when running at 1008MHz.
> 
> Signed-off-by: Chen-Yu Tsai <wens@csie.org>
> ---
>  arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
> index 31dc2f1c3870..16ecb8938e19 100644
> --- a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
> +++ b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
> @@ -74,6 +74,20 @@
>  	status = "okay";
>  };
>  
> +&cpu0 {
> +	/* The A10-Lime is known to be unstable when running at 1008 MHz */
> +	operating-points = <
> +		/* kHz    uV */
> +		960000  1400000
> +		912000  1400000
> +		864000  1300000
> +		720000  1200000
> +		528000  1100000
> +		312000  1000000
> +		144000  900000
> +		>;
> +};
> +
>  &ehci0 {
>  	status = "okay";
>  };

Thanks for the patch. At least it should make my A10-OLinuXino-LIME
working without obvious failures out of the box (the U-Boot is still
another story though and there is a gap during boot up when the board
is running with unreliable settings, but the probability of a failure
is rather low).

I should also mention that using 960MHz @1.4V does not fail, but it does
not have any safety headroom either (the cyan 'sun4i_poorlime' line
on the plot):

    http://people.freedesktop.org/~siamashka/files/20140512/sunxi-cpufreq-plot.png

On the other hand, my board is on the worst part of the spectrum (many
other a10-lime boards do not fail even at 1008MHz), so maybe having
extra safety headroom is less necessary.

An interesting question is whether the same problem may be reproducible
on the Allwinner A10 devices other than A10-OLinuXino-LIME. My original
problem report

    https://www.mail-archive.com/linux-sunxi@googlegroups.com/msg04343.html
    
mentioned the A10-OLinuXino-LIME rev.A and introduced some sort of
a bias by itself. At least I have seen people saying something like
"my a10-lime revision is not rev.A, so it's none of my concern and
I'm not going to bother running any tests". So far we have accumulated
reports from 4 or 5 people having this reliability problem on their
A10-OLinuXino-LIME (various revisions, not just rev.A), but not
much from the other boards owners.

Anyway, this particular patch is
Tested-by: Siarhei Siamashka <siarhei.siamashka@gmail.com> 
Acked-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
Chen-Yu Tsai March 19, 2015, 8:17 a.m. UTC | #2
On Thu, Mar 19, 2015 at 2:57 PM, Siarhei Siamashka
<siarhei.siamashka@gmail.com> wrote:
> On Thu, 19 Mar 2015 10:39:32 +0800
> Chen-Yu Tsai <wens@csie.org> wrote:
>
>> The Olimex A10-Lime is known to be unstable when running at 1008MHz.
>>
>> Signed-off-by: Chen-Yu Tsai <wens@csie.org>
>> ---
>>  arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts | 14 ++++++++++++++
>>  1 file changed, 14 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
>> index 31dc2f1c3870..16ecb8938e19 100644
>> --- a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
>> +++ b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
>> @@ -74,6 +74,20 @@
>>       status = "okay";
>>  };
>>
>> +&cpu0 {
>> +     /* The A10-Lime is known to be unstable when running at 1008 MHz */
>> +     operating-points = <
>> +             /* kHz    uV */
>> +             960000  1400000
>> +             912000  1400000
>> +             864000  1300000
>> +             720000  1200000
>> +             528000  1100000
>> +             312000  1000000
>> +             144000  900000
>> +             >;
>> +};
>> +
>>  &ehci0 {
>>       status = "okay";
>>  };
>
> Thanks for the patch. At least it should make my A10-OLinuXino-LIME
> working without obvious failures out of the box (the U-Boot is still
> another story though and there is a gap during boot up when the board
> is running with unreliable settings, but the probability of a failure
> is rather low).
>
> I should also mention that using 960MHz @1.4V does not fail, but it does
> not have any safety headroom either (the cyan 'sun4i_poorlime' line
> on the plot):
>
>     http://people.freedesktop.org/~siamashka/files/20140512/sunxi-cpufreq-plot.png
>
> On the other hand, my board is on the worst part of the spectrum (many
> other a10-lime boards do not fail even at 1008MHz), so maybe having
> extra safety headroom is less necessary.
>
> An interesting question is whether the same problem may be reproducible
> on the Allwinner A10 devices other than A10-OLinuXino-LIME. My original
> problem report
>
>     https://www.mail-archive.com/linux-sunxi@googlegroups.com/msg04343.html
>
> mentioned the A10-OLinuXino-LIME rev.A and introduced some sort of
> a bias by itself. At least I have seen people saying something like
> "my a10-lime revision is not rev.A, so it's none of my concern and
> I'm not going to bother running any tests". So far we have accumulated
> reports from 4 or 5 people having this reliability problem on their
> A10-OLinuXino-LIME (various revisions, not just rev.A), but not
> much from the other boards owners.
>
> Anyway, this particular patch is
> Tested-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
> Acked-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>

Good to hear it works. Did you test all the settings? I copied the
wrong settings, from sun5i-a13.dtsi instead of sun4i-a10.dtsi.

I'll send a fixed version later.


ChenYu
Siarhei Siamashka March 19, 2015, 10:28 a.m. UTC | #3
On Thu, 19 Mar 2015 16:17:30 +0800
Chen-Yu Tsai <wens@csie.org> wrote:

> On Thu, Mar 19, 2015 at 2:57 PM, Siarhei Siamashka
> <siarhei.siamashka@gmail.com> wrote:
> > On Thu, 19 Mar 2015 10:39:32 +0800
> > Chen-Yu Tsai <wens@csie.org> wrote:
> >
> >> The Olimex A10-Lime is known to be unstable when running at 1008MHz.
> >>
> >> Signed-off-by: Chen-Yu Tsai <wens@csie.org>
> >> ---
> >>  arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts | 14 ++++++++++++++
> >>  1 file changed, 14 insertions(+)
> >>
> >> diff --git a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
> >> index 31dc2f1c3870..16ecb8938e19 100644
> >> --- a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
> >> +++ b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
> >> @@ -74,6 +74,20 @@
> >>       status = "okay";
> >>  };
> >>
> >> +&cpu0 {
> >> +     /* The A10-Lime is known to be unstable when running at 1008 MHz */
> >> +     operating-points = <
> >> +             /* kHz    uV */
> >> +             960000  1400000
> >> +             912000  1400000
> >> +             864000  1300000
> >> +             720000  1200000
> >> +             528000  1100000
> >> +             312000  1000000
> >> +             144000  900000
> >> +             >;
> >> +};
> >> +
> >>  &ehci0 {
> >>       status = "okay";
> >>  };
> >
> > Thanks for the patch. At least it should make my A10-OLinuXino-LIME
> > working without obvious failures out of the box (the U-Boot is still
> > another story though and there is a gap during boot up when the board
> > is running with unreliable settings, but the probability of a failure
> > is rather low).
> >
> > I should also mention that using 960MHz @1.4V does not fail, but it does
> > not have any safety headroom either (the cyan 'sun4i_poorlime' line
> > on the plot):
> >
> >     http://people.freedesktop.org/~siamashka/files/20140512/sunxi-cpufreq-plot.png
> >
> > On the other hand, my board is on the worst part of the spectrum (many
> > other a10-lime boards do not fail even at 1008MHz), so maybe having
> > extra safety headroom is less necessary.
> >
> > An interesting question is whether the same problem may be reproducible
> > on the Allwinner A10 devices other than A10-OLinuXino-LIME. My original
> > problem report
> >
> >     https://www.mail-archive.com/linux-sunxi@googlegroups.com/msg04343.html
> >
> > mentioned the A10-OLinuXino-LIME rev.A and introduced some sort of
> > a bias by itself. At least I have seen people saying something like
> > "my a10-lime revision is not rev.A, so it's none of my concern and
> > I'm not going to bother running any tests". So far we have accumulated
> > reports from 4 or 5 people having this reliability problem on their
> > A10-OLinuXino-LIME (various revisions, not just rev.A), but not
> > much from the other boards owners.
> >
> > Anyway, this particular patch is
> > Tested-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
> > Acked-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
> 
> Good to hear it works. Did you test all the settings?

You have nailed it. I was about to send the results of the full
round of tests after running them a bit longer and revoke the
initial Tested-by.

Turns out that the 312MHz and 144MHz operating points fail to work
reliable and tend to deadlock:

Testing CPU 0
  960 MHz ............................................................ OK
  912 MHz ............................................................ OK
  864 MHz ............................................................ OK
  720 MHz ............................................................ OK
  528 MHz ............................................................ OK
  312 MHz ............................................................ OK
  144 MHz Write failed: Broken pipe

Testing CPU 0
  960 MHz ............................................................ OK
  912 MHz ............................................................ OK
  864 MHz ............................................................ OK
  720 MHz ............................................................ OK
  528 MHz ............................................................ OK
  312 MHz .................Write failed: Broken pipe


> I copied the wrong settings, from sun5i-a13.dtsi instead of sun4i-a10.dtsi.

I guess, this explains the problems at lower operating points.

> I'll send a fixed version later.

Thanks.
Iain Paton March 26, 2015, 4:58 p.m. UTC | #4
On 19/03/15 06:57, Siarhei Siamashka wrote:

> I should also mention that using 960MHz @1.4V does not fail, but it does
> not have any safety headroom either (the cyan 'sun4i_poorlime' line
> on the plot):
> 
>     http://people.freedesktop.org/~siamashka/files/20140512/sunxi-cpufreq-plot.png
> 
> On the other hand, my board is on the worst part of the spectrum (many
> other a10-lime boards do not fail even at 1008MHz), so maybe having
> extra safety headroom is less necessary.
> 
> An interesting question is whether the same problem may be reproducible
> on the Allwinner A10 devices other than A10-OLinuXino-LIME. My original
> problem report
> 
>     https://www.mail-archive.com/linux-sunxi@googlegroups.com/msg04343.html
>     
> mentioned the A10-OLinuXino-LIME rev.A and introduced some sort of
> a bias by itself. At least I have seen people saying something like
> "my a10-lime revision is not rev.A, so it's none of my concern and
> I'm not going to bother running any tests". So far we have accumulated
> reports from 4 or 5 people having this reliability problem on their
> A10-OLinuXino-LIME (various revisions, not just rev.A), but not
> much from the other boards owners.

I'm somewhat sad to see 1008MHz go. I have 2x revA A10-Lime boards that 
are stable at 1008MHz with Maximes sunxi/for-next, a full regulator 
description in the dts and a very recent u-boot. They are not stable at 
1056 or above however.


Can I ask what the basis is for the 960MHz setting?  I don't see any 
instances of it in any of the a10 fex files, meaning it's likely not 
very well tested.

If there's interest, I'll send the patch adding regulators to the dts for 
the a10-lime.

Rgds,
Iain
Chen-Yu Tsai March 26, 2015, 5:56 p.m. UTC | #5
Hi,

On Thu, Mar 26, 2015 at 9:58 AM, Iain Paton <ipaton0@gmail.com> wrote:
> On 19/03/15 06:57, Siarhei Siamashka wrote:
>
>> I should also mention that using 960MHz @1.4V does not fail, but it does
>> not have any safety headroom either (the cyan 'sun4i_poorlime' line
>> on the plot):
>>
>>     http://people.freedesktop.org/~siamashka/files/20140512/sunxi-cpufreq-plot.png
>>
>> On the other hand, my board is on the worst part of the spectrum (many
>> other a10-lime boards do not fail even at 1008MHz), so maybe having
>> extra safety headroom is less necessary.
>>
>> An interesting question is whether the same problem may be reproducible
>> on the Allwinner A10 devices other than A10-OLinuXino-LIME. My original
>> problem report
>>
>>     https://www.mail-archive.com/linux-sunxi@googlegroups.com/msg04343.html
>>
>> mentioned the A10-OLinuXino-LIME rev.A and introduced some sort of
>> a bias by itself. At least I have seen people saying something like
>> "my a10-lime revision is not rev.A, so it's none of my concern and
>> I'm not going to bother running any tests". So far we have accumulated
>> reports from 4 or 5 people having this reliability problem on their
>> A10-OLinuXino-LIME (various revisions, not just rev.A), but not
>> much from the other boards owners.
>
> I'm somewhat sad to see 1008MHz go. I have 2x revA A10-Lime boards that
> are stable at 1008MHz with Maximes sunxi/for-next, a full regulator
> description in the dts and a very recent u-boot. They are not stable at
> 1056 or above however.
>
>
> Can I ask what the basis is for the 960MHz setting?  I don't see any
> instances of it in any of the a10 fex files, meaning it's likely not
> very well tested.

It was copied from the wrong file. Please see v2 of the series.

> If there's interest, I'll send the patch adding regulators to the dts for
> the a10-lime.

Please do.

ChenYu
diff mbox

Patch

diff --git a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
index 31dc2f1c3870..16ecb8938e19 100644
--- a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
+++ b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
@@ -74,6 +74,20 @@ 
 	status = "okay";
 };
 
+&cpu0 {
+	/* The A10-Lime is known to be unstable when running at 1008 MHz */
+	operating-points = <
+		/* kHz    uV */
+		960000  1400000
+		912000  1400000
+		864000  1300000
+		720000  1200000
+		528000  1100000
+		312000  1000000
+		144000  900000
+		>;
+};
+
 &ehci0 {
 	status = "okay";
 };