Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 May 2023 14:11:50 +0100
From:      Nuno Teixeira <eduardo@freebsd.org>
To:        Mark Millard <marklmi@yahoo.com>
Cc:        Doug Rabson <dfr@rabson.org>, freebsd-arm@freebsd.org
Subject:   Re: Raspberry Pi POE+ hat overlay
Message-ID:  <CAFDf7ULcj%2Bt0ce5QdAKcePm3SdoZaFFCkkPUmqzPjyuOpM-GxA@mail.gmail.com>
In-Reply-To: <CAFDf7ULDX6BSFSZghHUoznAAtbWetOQFQ5eT-Mdn-yuQXPUtsg@mail.gmail.com>
References:  <CACA0VUh9-7o55pXcyn=Ep9mPexAkgjKLEKUh6HqMovTxe2_R0Q@mail.gmail.com> <E615D3BE-C12D-4960-BB01-AD2D40CA90A5@yahoo.com> <CACA0VUjCyhPCxBTn6h_HMOGjdFnivi5bnq4jgcg4i0bKY%2BF0PA@mail.gmail.com> <D6869D48-5661-4054-90D8-2B394CA5D25E@yahoo.com> <77CD0716-3BC8-47EB-8743-F2BD9CA43D31@yahoo.com> <432A1A16-9FE5-4339-AB38-8F3E03A5D4EF@yahoo.com> <CACA0VUhDwx%2BRmHU_OSFfGhjfbbbiy6HpurGL7WjM_i%2B0U7UpBQ@mail.gmail.com> <CACA0VUhdi2%2BGXpjmco0%2B5801t0Vso50Bat1UxJ2a4RJChxkU9w@mail.gmail.com> <CAFDf7UL9iSHcaaOYwU5A8RVYZpYDL65v-2FCprsyL2FLz8Cc8Q@mail.gmail.com> <CACA0VUhLi-HU5hJzV5xTSHVLBdoCCGKovY8fEgzbHXTfYD4JWQ@mail.gmail.com> <CAFDf7U%2BCmcB0sPT8WmssQ7bhv2DaDSS4MXNELDTxKHVuVhgkSw@mail.gmail.com> <CACA0VUhzf25MiOGZasfEueO=H1rmN1MnNW8gnryGk1w_he2aog@mail.gmail.com> <CAFDf7U%2Bh8NbLRC4v=6KNhPFLYr7LQ1rK4nDzxa=wQ3u%2BEhBZLA@mail.gmail.com> <CAFDf7UKv8RHH35tso3Zd9On81D=0O2Ocbz%2B5zgebwKSRqqy6Xg@mail.gmail.com> <ACDA9D81-C0C7-40E7-801A-FB41DAA687F5@yahoo.com> <CAFDf7ULDX6BSFSZghHUoznAAtbWetOQFQ5eT-Mdn-yuQXPUtsg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--000000000000d6a20e05fbf78c04
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

(...)

Found a nice table of overvoltage at
https://www.qengineering.eu/overclocking-the-raspberry-pi-4.html

(also, I found too some advices that over_voltage not needed to be set in
newer firmwares. Later I will test it on raspberry linux without setting
it).

I'm at poudriere building www/node18 with with -J4 cores and freq from
1500->2000 temperature changes from ~46C->~57C
4 heatsinks and a case fan.

I'm so happy!

Thanks!

Nuno Teixeira <eduardo@freebsd.org> escreveu no dia quinta, 18/05/2023 =C3=
=A0(s)
13:48:

> Hello Mark!
>
> Indeed, voltage was the missing bit!
>
> I'm trying to setup 1800 as default now for revs >=3D 1.4 following
> https://www.raspberrypi.com/news/bullseye-bonus-1-8ghz-raspberry-pi-4/
> that only talk about setting arm_freq=3D1800 but doesn't mention to adjus=
t
> voltage.
> It was nice that raspberry tell us what voltage exacly value they use for
> new default 1800.
>
> What I've got now is:
>
> [pi4]
> over_voltage=3D6
> arm_freq=3D2000
> sdram_freq_min=3D3200
> ### force_turbo=3D1
>
> My tests shows that we don't need force_turbo=3D1 for a normal running an=
d
> system do an auto 600 -> 2000 change when needed. Thats nice.
> Also, arm_boost=3D1 with force_turbo or not, is ignored.
>
> sdram_freq and sdram_freq_min are set to 3200 by default, so I think I
> will not need sdram_freq_min=3D3200 here.
>
> The only thing that I can't understand is how to calculate voltage:
>
> over_voltage: 0 (1.35V, 1.2V on Raspberry Pi 1) ???
> ( https://www.raspberrypi.com/documentation/computers/config_txt.html )
>
> Also, "7. Take it to the max" (
> https://magpi.raspberrypi.com/articles/how-to-overclock-raspberry-pi-4 ):
>
> over_voltage=3D6 (?)
> arm_freq=3D2147
> gpu_freq=3D750
>
> Thanks,
>
>
> Mark Millard <marklmi@yahoo.com> escreveu no dia quinta, 18/05/2023 =C3=
=A0(s)
> 11:57:
>
>> On May 18, 2023, at 01:29, Nuno Teixeira <eduardo@freebsd.org> wrote:
>>
>> > Confirmed that arm_boost is enable by default on rpi4 rev >=3D 1.4 as =
I
>> checked with htop.
>> >
>> > Also, tested arm_freq=3D1800 and it crashes FreeBSD around initializin=
g
>> console/video and detecting mouse.
>>
>> Overclocking by setting the arm_freq directly involves also
>> managing over_voltage explicitly, such as:
>>
>> over_voltage=3D6
>>
>> A sequence I use (and have used for a long time) is:
>>
>> [pi4]
>> over_voltage=3D6
>> arm_freq=3D2000
>> sdram_freq_min=3D3200
>> force_turbo=3D1
>>
>> But each RPi4B has heatsinks, a case with a fan,
>> and a power supply rated for 5.1V 3.5A (so: has
>> some extra margin).
>>
>> But the range of RPi4B's span Rev 1.1, Rev 1.4,
>> and Rev 1.5, a mix of 4 GiByte RAM and 8 GiByte
>> RAM models. All use those settings.
>>
>> As I understand, arm_boost implicitly does the
>> extra things required for its implicit frequency,
>> unlike assigning arm_freq or the like.
>>
>> If force_turbo is not used, it can be that:
>>
>> #
>> # Local addition that avoids USB3 SSD boot failures that look like:
>> #   uhub_reattach_port: port ? reset failed, error=3DUSB_ERR_TIMEOUT
>> #   uhub_reattach_port: device problem (USB_ERR_TIMEOUT), disabling port=
 ?
>> initial_turbo=3D60
>>
>> is required for USB based booting. But this also
>> gets into if the notation is supported or not for
>> the firmware vintage used.
>>
>> The initial_turbo use happens to avoid frequency
>> variability during boot and it appears that FreeBSD
>> does not necessarily tolerate such variability in
>> that time frame.
>>
>> Also: I happen to have USB3 boot media for which use
>> of usb_pgood_delay=3D2000 is sufficient but without
>> some such in/for U-Boot, U-Boot has problems
>> recognizing the device (before FreeBSD is even
>> involved). I build the U-Boot port with the
>> assignment built in.
>>
>> > As linux config.txt says:
>> > ---
>> > [pi4]
>> > # Run as fast as firmware / board allows
>> > arm_boost=3D1
>> > ---
>> > firmware must be updated to support this feature for sure.
>>
>> I'm not aware of a dated list of when the various
>> config.txt notations were first supported (firmware
>> version). This makes it messier to use the web's
>> published information, if one is using the firmware
>> vintage that FreeBSD has in its port for the
>> firmware.
>>
>> The notation that I use has been around for a long
>> time.
>>
>> > Cheers,
>> >
>> > Nuno Teixeira <eduardo@freebsd.org> escreveu no dia quarta, 17/05/2023
>> =C3=A0(s) 14:08:
>> > (...)
>> >
>> > I was meant using 13.2 not 12.3 :)
>> >
>> > Doug Rabson <dfr@rabson.org> escreveu no dia quarta, 17/05/2023 =C3=A0=
(s)
>> 13:47:
>> > I'm not sure about 12.3 either - you could try with 13.2 and see if
>> that makes a difference.
>> >
>> > On Wed, 17 May 2023 at 13:45, Nuno Teixeira <eduardo@freebsd.org>
>> wrote:
>> > Hey,
>> >
>> > Ok. I'm new to rpi4 and arm in general but tomorrow I will force
>> 'arm_freq=3D1800' again just to see it it crashes again.
>> > I will check too what values linux shows.
>> >
>> > I don't know if firmware/uboot version included in 12.3 supports this
>> feature.
>> >
>> > Cheers,
>> >
>> > Doug Rabson <dfr@rabson.org> escreveu no dia quarta, 17/05/2023 =C3=A0=
(s)
>> 13:11:
>> > Hi Nuno,
>> >
>> > I'm not sure where to start - I just happened to notice in the
>> documentation here:
>> https://www.raspberrypi.com/documentation/computers/config_txt.html that
>> the cpu frequency Pi4B R1.4 was listed as 1800 if arm_boot=3D1 so I trie=
d it.
>> >
>> > Doug.
>> >
>> >
>> >
>> > On Wed, 17 May 2023 at 11:11, Nuno Teixeira <eduardo@freebsd.org>
>> wrote:
>> > Hello Doug,
>> >
>> > I have too a 1.5 rpi but arm_boost=3D1 isn't doing anything, htop show=
s
>> 1500Mhz when doing something intensive.
>> > I'm running 13.2 stable
>> >
>> > Do I missing something?
>> >
>> > Could you take a look at my setup?
>> >
>> > Thanks,
>> >
>> > Doug Rabson <dfr@rabson.org> escreveu no dia ter=C3=A7a, 16/05/2023 =
=C3=A0(s)
>> 17:19:
>> >
>> > On Sat, 13 May 2023 at 13:45, Doug Rabson <dfr@rabson.org> wrote:
>> > I was able to build an updated rpi-firmware port based on 1.20210805
>> and this boots successfully on pi400 as well as rpi4. With this, I can l=
oad
>> the rpi-poe-plus overlay and I just need to try and reverse engineer the
>> undocumented mailbox API by reading the Linux code.
>> >
>> > I have a first approximation of a fan driver which works with the
>> 1.20210805 firmware (actually, I substituted rpi-poe-plus.dtbo from
>> 1.20210831 which just changes the fan levels for the POE+). I'm testing
>> with an rpi4B rev 1.5 with 'make -j4 buildworld' and the fan is keeping =
the
>> cpu temperature below 65 degrees which is nice, especially since I set
>> arm_boost=3D1 in config.txt which boosts the cpu frequency up to 1800 fo=
r
>> this board.
>> >
>> > Does anyone have a pointer to the problem with firmware later than
>> 20210805? Would it make any kind of sense to try to get the fix into
>> releng/13.2 as an errata?
>> >
>>
>>
>> =3D=3D=3D
>> Mark Millard
>> marklmi at yahoo.com
>>
>>
>
> --
> Nuno Teixeira
> FreeBSD Committer (ports)
>


--=20
Nuno Teixeira
FreeBSD Committer (ports)

--000000000000d6a20e05fbf78c04
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>(...)</div><div><br></div><div>Found a nice table of =
overvoltage at <a href=3D"https://www.qengineering.eu/overclocking-the-rasp=
berry-pi-4.html">https://www.qengineering.eu/overclocking-the-raspberry-pi-=
4.html</a></div><div><br></div><div>(also, I found too some advices that ov=
er_voltage not needed to be set in newer firmwares. Later I will test it on=
 raspberry linux without setting it).</div><div><br></div><div>I&#39;m at p=
oudriere building www/node18 with with -J4 cores and freq from 1500-&gt;200=
0 temperature changes from ~46C-&gt;~57C</div><div>4 heatsinks and a case f=
an.</div><div><br></div><div>I&#39;m so happy!</div><div><br></div><div>Tha=
nks!<br> </div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=
=3D"gmail_attr">Nuno Teixeira &lt;<a href=3D"mailto:eduardo@freebsd.org">ed=
uardo@freebsd.org</a>&gt; escreveu no dia quinta, 18/05/2023 =C3=A0(s) 13:4=
8:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0=
.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"l=
tr"><div>Hello Mark!</div><div><br></div><div>Indeed, voltage was the missi=
ng bit!</div><div><br></div><div>I&#39;m trying to setup 1800 as default no=
w for revs &gt;=3D 1.4 following <a href=3D"https://www.raspberrypi.com/new=
s/bullseye-bonus-1-8ghz-raspberry-pi-4/" target=3D"_blank">https://www.rasp=
berrypi.com/news/bullseye-bonus-1-8ghz-raspberry-pi-4/</a> that only talk a=
bout setting arm_freq=3D1800 but doesn&#39;t mention to adjust voltage.</di=
v><div>It was nice that raspberry tell us what voltage exacly value they us=
e for new default 1800.<br></div><div><br></div><div>What I&#39;ve got now =
is:</div><div><br></div><div>[pi4]<br>
over_voltage=3D6<br>
arm_freq=3D2000<br>
sdram_freq_min=3D3200<br>
### force_turbo=3D1</div><div><br></div><div>My tests shows that we don&#39=
;t need force_turbo=3D1 for a normal running and system do an auto 600 -&gt=
; 2000 change when needed. Thats nice.<br></div><div>Also, arm_boost=3D1 wi=
th force_turbo or not, is ignored.</div><div><br></div><div>sdram_freq and =
sdram_freq_min are set to 3200 by default, so I think I will not need sdram=
_freq_min=3D3200 here.</div><div><br></div><div>The only thing that I can&#=
39;t understand is how to calculate voltage:</div><div><br></div><div>over_=
voltage: 0 (1.35V, 1.2V on Raspberry Pi 1) ???<br></div><div>( <a href=3D"h=
ttps://www.raspberrypi.com/documentation/computers/config_txt.html" target=
=3D"_blank">https://www.raspberrypi.com/documentation/computers/config_txt.=
html</a> )</div><div><br></div><div>Also, &quot;7. Take it to the max&quot;=
 ( <a href=3D"https://magpi.raspberrypi.com/articles/how-to-overclock-raspb=
erry-pi-4" target=3D"_blank">https://magpi.raspberrypi.com/articles/how-to-=
overclock-raspberry-pi-4</a> ):</div><br>over_voltage=3D6 (?)<br>arm_freq=
=3D2147<br>gpu_freq=3D750<div><br></div><div>Thanks,<br></div><div><br></di=
v></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr=
">Mark Millard &lt;<a href=3D"mailto:marklmi@yahoo.com" target=3D"_blank">m=
arklmi@yahoo.com</a>&gt; escreveu no dia quinta, 18/05/2023 =C3=A0(s) 11:57=
:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.=
8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On May 18, 202=
3, at 01:29, Nuno Teixeira &lt;<a href=3D"mailto:eduardo@freebsd.org" targe=
t=3D"_blank">eduardo@freebsd.org</a>&gt; wrote:<br>
<br>
&gt; Confirmed that arm_boost is enable by default on rpi4 rev &gt;=3D 1.4 =
as I checked with htop.<br>
&gt; <br>
&gt; Also, tested arm_freq=3D1800 and it crashes FreeBSD around initializin=
g console/video and detecting mouse.<br>
<br>
Overclocking by setting the arm_freq directly involves also<br>
managing over_voltage explicitly, such as:<br>
<br>
over_voltage=3D6<br>
<br>
A sequence I use (and have used for a long time) is:<br>
<br>
[pi4]<br>
over_voltage=3D6<br>
arm_freq=3D2000<br>
sdram_freq_min=3D3200<br>
force_turbo=3D1<br>
<br>
But each RPi4B has heatsinks, a case with a fan,<br>
and a power supply rated for 5.1V 3.5A (so: has<br>
some extra margin).<br>
<br>
But the range of RPi4B&#39;s span Rev 1.1, Rev 1.4,<br>
and Rev 1.5, a mix of 4 GiByte RAM and 8 GiByte<br>
RAM models. All use those settings.<br>
<br>
As I understand, arm_boost implicitly does the<br>
extra things required for its implicit frequency,<br>
unlike assigning arm_freq or the like.<br>
<br>
If force_turbo is not used, it can be that:<br>
<br>
#<br>
# Local addition that avoids USB3 SSD boot failures that look like:<br>
#=C2=A0 =C2=A0uhub_reattach_port: port ? reset failed, error=3DUSB_ERR_TIME=
OUT<br>
#=C2=A0 =C2=A0uhub_reattach_port: device problem (USB_ERR_TIMEOUT), disabli=
ng port ?<br>
initial_turbo=3D60<br>
<br>
is required for USB based booting. But this also<br>
gets into if the notation is supported or not for<br>
the firmware vintage used.<br>
<br>
The initial_turbo use happens to avoid frequency<br>
variability during boot and it appears that FreeBSD<br>
does not necessarily tolerate such variability in<br>
that time frame.<br>
<br>
Also: I happen to have USB3 boot media for which use<br>
of usb_pgood_delay=3D2000 is sufficient but without<br>
some such in/for U-Boot, U-Boot has problems<br>
recognizing the device (before FreeBSD is even<br>
involved). I build the U-Boot port with the<br>
assignment built in.<br>
<br>
&gt; As linux config.txt says:<br>
&gt; ---<br>
&gt; [pi4]<br>
&gt; # Run as fast as firmware / board allows<br>
&gt; arm_boost=3D1<br>
&gt; ---<br>
&gt; firmware must be updated to support this feature for sure.<br>
<br>
I&#39;m not aware of a dated list of when the various<br>
config.txt notations were first supported (firmware<br>
version). This makes it messier to use the web&#39;s<br>
published information, if one is using the firmware<br>
vintage that FreeBSD has in its port for the<br>
firmware.<br>
<br>
The notation that I use has been around for a long<br>
time.<br>
<br>
&gt; Cheers,<br>
&gt; <br>
&gt; Nuno Teixeira &lt;<a href=3D"mailto:eduardo@freebsd.org" target=3D"_bl=
ank">eduardo@freebsd.org</a>&gt; escreveu no dia quarta, 17/05/2023 =C3=A0(=
s) 14:08:<br>
&gt; (...)<br>
&gt; <br>
&gt; I was meant using 13.2 not 12.3 :)<br>
&gt; <br>
&gt; Doug Rabson &lt;<a href=3D"mailto:dfr@rabson.org" target=3D"_blank">df=
r@rabson.org</a>&gt; escreveu no dia quarta, 17/05/2023 =C3=A0(s) 13:47:<br=
>
&gt; I&#39;m not sure about 12.3 either - you could try with 13.2 and see i=
f that makes a difference.<br>
&gt; <br>
&gt; On Wed, 17 May 2023 at 13:45, Nuno Teixeira &lt;<a href=3D"mailto:edua=
rdo@freebsd.org" target=3D"_blank">eduardo@freebsd.org</a>&gt; wrote:<br>
&gt; Hey,<br>
&gt; <br>
&gt; Ok. I&#39;m new to rpi4 and arm in general but tomorrow I will force &=
#39;arm_freq=3D1800&#39; again just to see it it crashes again.<br>
&gt; I will check too what values linux shows.<br>
&gt; <br>
&gt; I don&#39;t know if firmware/uboot version included in 12.3 supports t=
his feature.<br>
&gt; <br>
&gt; Cheers,<br>
&gt; <br>
&gt; Doug Rabson &lt;<a href=3D"mailto:dfr@rabson.org" target=3D"_blank">df=
r@rabson.org</a>&gt; escreveu no dia quarta, 17/05/2023 =C3=A0(s) 13:11:<br=
>
&gt; Hi Nuno,<br>
&gt; <br>
&gt; I&#39;m not sure where to start - I just happened to notice in the doc=
umentation here: <a href=3D"https://www.raspberrypi.com/documentation/compu=
ters/config_txt.html" rel=3D"noreferrer" target=3D"_blank">https://www.rasp=
berrypi.com/documentation/computers/config_txt.html</a> that the cpu freque=
ncy Pi4B R1.4 was listed as 1800 if arm_boot=3D1 so I tried it.<br>
&gt; <br>
&gt; Doug.<br>
&gt; <br>
&gt; <br>
&gt; <br>
&gt; On Wed, 17 May 2023 at 11:11, Nuno Teixeira &lt;<a href=3D"mailto:edua=
rdo@freebsd.org" target=3D"_blank">eduardo@freebsd.org</a>&gt; wrote:<br>
&gt; Hello Doug,<br>
&gt; <br>
&gt; I have too a 1.5 rpi but arm_boost=3D1 isn&#39;t doing anything, htop =
shows 1500Mhz when doing something intensive.<br>
&gt; I&#39;m running 13.2 stable<br>
&gt; <br>
&gt; Do I missing something?<br>
&gt; <br>
&gt; Could you take a look at my setup?<br>
&gt; <br>
&gt; Thanks,<br>
&gt; <br>
&gt; Doug Rabson &lt;<a href=3D"mailto:dfr@rabson.org" target=3D"_blank">df=
r@rabson.org</a>&gt; escreveu no dia ter=C3=A7a, 16/05/2023 =C3=A0(s) 17:19=
:<br>
&gt; <br>
&gt; On Sat, 13 May 2023 at 13:45, Doug Rabson &lt;<a href=3D"mailto:dfr@ra=
bson.org" target=3D"_blank">dfr@rabson.org</a>&gt; wrote:<br>
&gt; I was able to build an updated rpi-firmware port based on 1.20210805 a=
nd this boots successfully on pi400 as well as rpi4. With this, I can load =
the rpi-poe-plus overlay and I just need to try and reverse engineer the un=
documented mailbox API by reading the Linux code.<br>
&gt; <br>
&gt; I have a first approximation of a fan driver which works with the 1.20=
210805 firmware (actually, I substituted rpi-poe-plus.dtbo from 1.20210831 =
which just changes the fan levels for the POE+). I&#39;m testing with an rp=
i4B rev 1.5 with &#39;make -j4 buildworld&#39; and the fan is keeping the c=
pu temperature below 65 degrees which is nice, especially since I set arm_b=
oost=3D1 in config.txt which boosts the cpu frequency up to 1800 for this b=
oard.<br>
&gt; <br>
&gt; Does anyone have a pointer to the problem with firmware later than 202=
10805? Would it make any kind of sense to try to get the fix into releng/13=
.2 as an errata?<br>
&gt; <br>
<br>
<br>
=3D=3D=3D<br>
Mark Millard<br>
marklmi at <a href=3D"http://yahoo.com" rel=3D"noreferrer" target=3D"_blank=
">yahoo.com</a><br>
<br>
</blockquote></div><br clear=3D"all"><br><span>-- </span><br><div dir=3D"lt=
r"><div dir=3D"ltr"><span style=3D"color:rgb(102,102,102)">Nuno Teixeira<br=
>FreeBSD Committer (ports)</span></div></div>
</blockquote></div><br clear=3D"all"><br><span class=3D"gmail_signature_pre=
fix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature"><div dir=3D"l=
tr"><span style=3D"color:rgb(102,102,102)">Nuno Teixeira<br>FreeBSD Committ=
er (ports)</span></div></div>

--000000000000d6a20e05fbf78c04--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFDf7ULcj%2Bt0ce5QdAKcePm3SdoZaFFCkkPUmqzPjyuOpM-GxA>