Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 May 2023 13:45:55 +0100
From:      Doug Rabson <dfr@rabson.org>
To:        Mark Millard <marklmi@yahoo.com>
Cc:        freebsd-arm@freebsd.org
Subject:   Re: Raspberry Pi POE+ hat overlay
Message-ID:  <CACA0VUhDwx%2BRmHU_OSFfGhjfbbbiy6HpurGL7WjM_i%2B0U7UpBQ@mail.gmail.com>
In-Reply-To: <432A1A16-9FE5-4339-AB38-8F3E03A5D4EF@yahoo.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>

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

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 load the
rpi-poe-plus overlay and I just need to try and reverse engineer the
undocumented mailbox API by reading the Linux code.

diff --git a/sysutils/rpi-firmware/Makefile b/sysutils/rpi-firmware/Makefile
index e82ab20ebc74..4fbb5df6d743 100644
--- a/sysutils/rpi-firmware/Makefile
+++ b/sysutils/rpi-firmware/Makefile
@@ -1,5 +1,5 @@
 PORTNAME= rpi-firmware
-PORTVERSION= 1.20210303.g20210303
+PORTVERSION= 1.20210805.g20210805
 CATEGORIES= sysutils

 MAINTAINER= uboot@FreeBSD.org
@@ -17,7 +17,7 @@ USE_GITHUB= yes

 GH_ACCOUNT= raspberrypi gonzoua:pscimon
 GH_PROJECT= firmware rpi3-psci-monitor:pscimon
-FW_TAG= fcf8d2f
+FW_TAG= 8939bde
 PSCI_TAG= 558620c
 GH_TAGNAME= ${FW_TAG} ${PSCI_TAG}:pscimon

diff --git a/sysutils/rpi-firmware/distinfo b/sysutils/rpi-firmware/distinfo
index 2e1e0c92066a..27a0eb8c9fa3 100644
--- a/sysutils/rpi-firmware/distinfo
+++ b/sysutils/rpi-firmware/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1614939753
-SHA256 (raspberrypi-firmware-1.20210303.g20210303-fcf8d2f_GH0.tar.gz) =
5a0d7247490e0207f0fc32baabcec25a0e97ebdab9cbee216bf9537a1de22e69
-SIZE (raspberrypi-firmware-1.20210303.g20210303-fcf8d2f_GH0.tar.gz) =
192233875
+TIMESTAMP = 1683975782
+SHA256 (raspberrypi-firmware-1.20210805.g20210805-8939bde_GH0.tar.gz) =
2069df5b1dff340c78e393e4cc10feba395524d26cf5db475876d62b7a0507b2
+SIZE (raspberrypi-firmware-1.20210805.g20210805-8939bde_GH0.tar.gz) =
193244754
 SHA256 (gonzoua-rpi3-psci-monitor-558620c_GH0.tar.gz) =
7621db7933eedaa17a03c282ef8a50be597bd14366149dfa93172d1b3985dbb7
 SIZE (gonzoua-rpi3-psci-monitor-558620c_GH0.tar.gz) = 5614
diff --git a/sysutils/rpi-firmware/pkg-plist
b/sysutils/rpi-firmware/pkg-plist
index 7661a0a13cb2..02a41640a0be 100644
--- a/sysutils/rpi-firmware/pkg-plist
+++ b/sysutils/rpi-firmware/pkg-plist
@@ -183,6 +183,7 @@
 %%DATADIR%%/overlays/rpi-display.dtbo
 %%DATADIR%%/overlays/rpi-ft5406.dtbo
 %%DATADIR%%/overlays/rpi-poe.dtbo
+%%DATADIR%%/overlays/rpi-poe-plus.dtbo
 %%DATADIR%%/overlays/rpi-proto.dtbo
 %%DATADIR%%/overlays/rpi-sense.dtbo
 %%DATADIR%%/overlays/rpi-tv.dtbo

On Fri, 12 May 2023 at 18:41, Mark Millard <marklmi@yahoo.com> wrote:

> On May 12, 2023, at 10:19, Mark Millard <marklmi@yahoo.com> wrote:
>
> > On May 12, 2023, at 10:11, Mark Millard <marklmi@yahoo.com> wrote:
> >
> >> On May 12, 2023, at 09:38, Doug Rabson <dfr@rabson.org> wrote:
> >>
> >>> On Fri, 12 May 2023 at 17:27, Mark Millard <marklmi@yahoo.com> wrote:
> >>> On May 12, 2023, at 08:43, Doug Rabson <dfr@rabson.org> wrote:
> >>>
> >>>> I have a pi4 with the official POE+ hat which I want to run FreeBSD
> on. One thing I noticed is that the fan doesn't run in FreeBSD so I decided
> to try and write a little driver for it. First step seems to be to load the
> corresponding devicetree overlay by adding something like this to
> /boot/msdos/config.txt:
> >>>>
> >>>> dtoverlay=rpi-poe-plus
> >>>> dtparam=poe_fan_temp0=45000,dtparam=poe_fan_temp0_hyst=3000
> >>>> dtparam=poe_fan_temp1=50000,dtparam=poe_fan_temp1_hyst=3000
> >>>> dtparam=poe_fan_temp2=62000,dtparam=poe_fan_temp2_hyst=4000
> >>>> dtparam=poe_fan_temp3=70000,dtparam=poe_fan_temp3_hyst=5000
> >>>>
> >>>> Unfortunately this is where I'm stuck - the overlay is not present in
> the final DTB given to the kernel so there isn't anything to hook a driver
> to. Are dtoverlays supposed to work on FreeBSD?
> >>>
> >>> The RPi* firwmare version that FreeBSD has in ports and uses
> >>> in making snapshots and other images does not have that overlay:
> >>>
> >>> # ls -Tld /usr/local/share/rpi-firmware/overlays/rpi*
> >>> -rw-r--r--  1 root  wheel   489 Mar  3 05:29:57 2021
> /usr/local/share/rpi-firmware/overlays/rpi-backlight.dtbo
> >>> -rw-r--r--  1 root  wheel  4081 Mar  3 05:29:57 2021
> /usr/local/share/rpi-firmware/overlays/rpi-cirrus-wm5102.dtbo
> >>> -rw-r--r--  1 root  wheel   643 Mar  3 05:29:57 2021
> /usr/local/share/rpi-firmware/overlays/rpi-dac.dtbo
> >>> -rw-r--r--  1 root  wheel  2574 Mar  3 05:29:57 2021
> /usr/local/share/rpi-firmware/overlays/rpi-display.dtbo
> >>> -rw-r--r--  1 root  wheel   842 Mar  3 05:29:57 2021
> /usr/local/share/rpi-firmware/overlays/rpi-ft5406.dtbo
> >>> -rw-r--r--  1 root  wheel  2937 Mar  3 05:29:57 2021
> /usr/local/share/rpi-firmware/overlays/rpi-poe.dtbo
> >>> -rw-r--r--  1 root  wheel   771 Mar  3 05:29:57 2021
> /usr/local/share/rpi-firmware/overlays/rpi-proto.dtbo
> >>> -rw-r--r--  1 root  wheel   893 Mar  3 05:29:57 2021
> /usr/local/share/rpi-firmware/overlays/rpi-sense.dtbo
> >>> -rw-r--r--  1 root  wheel   567 Mar  3 05:29:57 2021
> /usr/local/share/rpi-firmware/overlays/rpi-tv.dtbo
> >>> -rw-r--r--  1 root  wheel  1226 Mar  3 05:29:57 2021
> /usr/local/share/rpi-firmware/overlays/rpivid-v4l2.dtbo
> >>>
> >>> You do not mention establishing a copy of overlays/rpi-poe-plus.dtbo .
> >>>
> >>> I copied the file from a rasbian install I had for another project.
> Perhaps I should find the corresponding source for it and build it with the
> device tree source from FreeBSD.
> >>>
> >>> You also do not mention what version of FreeBSD you are using
> >>> on the RPi4B. The output of the command:
> >>>
> >>> I'm running 13.2-RELEASE-p0
> >>
> >> That limits the range of firmware you can experiment with
> >> but the following tagged vintages should be compatible and
> >> also have an overlays/rpi-poe-plus.dtbo present:
> >>
> >> 1.20210527/boot/overlays/rpi-poe-plus.dtbo
> >> 1.20210727/boot/overlays/rpi-poe-plus.dtbo
> >> 1.20210805/boot/overlays/rpi-poe-plus.dtbo
> >>
> >> So extracting a consistent/full set of firmware and trying
> >> it is a possibility.
> >>
> >> The first 3 tags links on:
> >>
> >> https://github.com/raspberrypi/linux/tags?after=1.20210831
>
> That was likely a wasteful reference for me to supply. Trying
> again:
>
> https://github.com/raspberrypi/firmware/tags?after=1.20210831
>
> likely avoids ending up with a full set of linux materials
> to go along with the firmware (smaller download with a smaller
> expansion).
>
> >> are for the above 3 firmware versions.
> >>
> >> Anything newer will lead to a FreeBSD kernel crash for
> >> 13.2-RELEASE-p0 due to mishandling the .dtb file that
> >> would be used.
> >>
> >> As an example of what is in . . ./boot/ from one of those 3:
> >>
> >> # ls -Tld firmware-1.20210805/boot/*
> >> -rw-rw-r--  1 root  wheel    18693 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/COPYING.linux
> >> -rw-rw-r--  1 root  wheel     1594 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/LICENCE.broadcom
> >> -rw-rw-r--  1 root  wheel    26401 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/bcm2708-rpi-b-plus.dtb
> >> -rw-rw-r--  1 root  wheel    25749 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/bcm2708-rpi-b-rev1.dtb
> >> -rw-rw-r--  1 root  wheel    26138 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/bcm2708-rpi-b.dtb
> >> -rw-rw-r--  1 root  wheel    26060 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/bcm2708-rpi-cm.dtb
> >> -rw-rw-r--  1 root  wheel    27076 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/bcm2708-rpi-zero-w.dtb
> >> -rw-rw-r--  1 root  wheel    25883 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/bcm2708-rpi-zero.dtb
> >> -rw-rw-r--  1 root  wheel    27276 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/bcm2709-rpi-2-b.dtb
> >> -rw-rw-r--  1 root  wheel    27425 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/bcm2710-rpi-2-b.dtb
> >> -rw-rw-r--  1 root  wheel    29542 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/bcm2710-rpi-3-b-plus.dtb
> >> -rw-rw-r--  1 root  wheel    28923 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/bcm2710-rpi-3-b.dtb
> >> -rw-rw-r--  1 root  wheel    27421 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/bcm2710-rpi-cm3.dtb
> >> -rw-rw-r--  1 root  wheel    49825 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/bcm2711-rpi-4-b.dtb
> >> -rw-rw-r--  1 root  wheel    49821 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/bcm2711-rpi-400.dtb
> >> -rw-rw-r--  1 root  wheel    50499 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/bcm2711-rpi-cm4.dtb
> >> -rw-rw-r--  1 root  wheel    52456 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/bootcode.bin
> >> -rw-rw-r--  1 root  wheel     7278 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/fixup.dat
> >> -rw-rw-r--  1 root  wheel     5407 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/fixup4.dat
> >> -rw-rw-r--  1 root  wheel     3211 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/fixup4cd.dat
> >> -rw-rw-r--  1 root  wheel     8416 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/fixup4db.dat
> >> -rw-rw-r--  1 root  wheel     8418 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/fixup4x.dat
> >> -rw-rw-r--  1 root  wheel     3211 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/fixup_cd.dat
> >> -rw-rw-r--  1 root  wheel    10262 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/fixup_db.dat
> >> -rw-rw-r--  1 root  wheel    10262 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/fixup_x.dat
> >> drwxrwxr-x  2 root  wheel      236 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/overlays
> >> -rw-rw-r--  1 root  wheel  2959904 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/start.elf
> >> -rw-rw-r--  1 root  wheel  2235712 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/start4.elf
> >> -rw-rw-r--  1 root  wheel   799964 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/start4cd.elf
> >> -rw-rw-r--  1 root  wheel  3731528 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/start4db.elf
> >> -rw-rw-r--  1 root  wheel  2987720 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/start4x.elf
> >> -rw-rw-r--  1 root  wheel   799964 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/start_cd.elf
> >> -rw-rw-r--  1 root  wheel  4803496 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/start_db.elf
> >> -rw-rw-r--  1 root  wheel  3711432 Aug  5 04:11:18 2021
> firmware-1.20210805/boot/start_x.elf
> >
> > Note the lack of config.txt , armstub8-gic.bin , and
> > armstub8.bin .
> >
> >> (I'll not list the overlays/* .)
> >>
> >> I've no clue to the consequences of mixing and matching
> >> materials from different vintages of the firmware. It
> >> does appear that:
> >>
> >> 1.20210727/boot/overlays/rpi-poe-plus.dtbo
> >> 1.20210805/boot/overlays/rpi-poe-plus.dtbo
> >>
> >> (the newer 2 of th3 3) are the same by content but that:
> >>
> >> 1.20210527/boot/overlays/rpi-poe-plus.dtbo
> >>
> >> is distinct in its older content.
> >
> > Be warned that the sys-utils/rpi-firmware port installs a
> > couple of files that are not based on
> > https://github.com/raspberrypi/ materials:
> >
> > # ls -Tld /boot/efi/armstub8*
> > -rwxr-xr-x  1 root  wheel  5888 Apr 20 19:25:22 2022
> /boot/efi/armstub8-gic.bin
> > -rwxr-xr-x  1 root  wheel  5888 Apr 20 19:25:22 2022
> /boot/efi/armstub8.bin
> >
> > Be sure to keep those 2 files in place (for at least
> > armstub8-gic.bin ). A similar point goes for your
> > config.txt .
>
>
> ===
> Mark Millard
> marklmi at yahoo.com
>
>

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

<div dir=3D"ltr">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 load the rpi-poe-plus overlay and I just need to try and reverse eng=
ineer the undocumented mailbox API by reading the Linux code.<div><br></div=
><div>diff --git a/sysutils/rpi-firmware/Makefile b/sysutils/rpi-firmware/M=
akefile<br>index e82ab20ebc74..4fbb5df6d743 100644<br>--- a/sysutils/rpi-fi=
rmware/Makefile<br>+++ b/sysutils/rpi-firmware/Makefile<br>@@ -1,5 +1,5 @@<=
br>=C2=A0PORTNAME=3D	rpi-firmware<br>-PORTVERSION=3D	1.20210303.g20210303<b=
r>+PORTVERSION=3D	1.20210805.g20210805<br>=C2=A0CATEGORIES=3D	sysutils<br><=
br>=C2=A0MAINTAINER=3D	uboot@FreeBSD.org<br>@@ -17,7 +17,7 @@ USE_GITHUB=3D=
	yes<br><br>=C2=A0GH_ACCOUNT=3D	raspberrypi gonzoua:pscimon<br>=C2=A0GH_PRO=
JECT=3D	firmware rpi3-psci-monitor:pscimon<br>-FW_TAG=3D		fcf8d2f<br>+FW_TA=
G=3D		8939bde<br>=C2=A0PSCI_TAG=3D	558620c<br>=C2=A0GH_TAGNAME=3D	${FW_TAG}=
 ${PSCI_TAG}:pscimon<br><br>diff --git a/sysutils/rpi-firmware/distinfo b/s=
ysutils/rpi-firmware/distinfo<br>index 2e1e0c92066a..27a0eb8c9fa3 100644<br=
>--- a/sysutils/rpi-firmware/distinfo<br>+++ b/sysutils/rpi-firmware/distin=
fo<br>@@ -1,5 +1,5 @@<br>-TIMESTAMP =3D 1614939753<br>-SHA256 (raspberrypi-=
firmware-1.20210303.g20210303-fcf8d2f_GH0.tar.gz) =3D 5a0d7247490e0207f0fc3=
2baabcec25a0e97ebdab9cbee216bf9537a1de22e69<br>-SIZE (raspberrypi-firmware-=
1.20210303.g20210303-fcf8d2f_GH0.tar.gz) =3D 192233875<br>+TIMESTAMP =3D 16=
83975782<br>+SHA256 (raspberrypi-firmware-1.20210805.g20210805-8939bde_GH0.=
tar.gz) =3D 2069df5b1dff340c78e393e4cc10feba395524d26cf5db475876d62b7a0507b=
2<br>+SIZE (raspberrypi-firmware-1.20210805.g20210805-8939bde_GH0.tar.gz) =
=3D 193244754<br>=C2=A0SHA256 (gonzoua-rpi3-psci-monitor-558620c_GH0.tar.gz=
) =3D 7621db7933eedaa17a03c282ef8a50be597bd14366149dfa93172d1b3985dbb7<br>=
=C2=A0SIZE (gonzoua-rpi3-psci-monitor-558620c_GH0.tar.gz) =3D 5614<br>diff =
--git a/sysutils/rpi-firmware/pkg-plist b/sysutils/rpi-firmware/pkg-plist<b=
r>index 7661a0a13cb2..02a41640a0be 100644<br>--- a/sysutils/rpi-firmware/pk=
g-plist<br>+++ b/sysutils/rpi-firmware/pkg-plist<br>@@ -183,6 +183,7 @@<br>=
=C2=A0%%DATADIR%%/overlays/rpi-display.dtbo<br>=C2=A0%%DATADIR%%/overlays/r=
pi-ft5406.dtbo<br>=C2=A0%%DATADIR%%/overlays/rpi-poe.dtbo<br>+%%DATADIR%%/o=
verlays/rpi-poe-plus.dtbo<br>=C2=A0%%DATADIR%%/overlays/rpi-proto.dtbo<br>=
=C2=A0%%DATADIR%%/overlays/rpi-sense.dtbo<br>=C2=A0%%DATADIR%%/overlays/rpi=
-tv.dtbo<br></div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" cla=
ss=3D"gmail_attr">On Fri, 12 May 2023 at 18:41, Mark Millard &lt;<a href=3D=
"mailto:marklmi@yahoo.com">marklmi@yahoo.com</a>&gt; wrote:<br></div><block=
quote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left-w=
idth:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding=
-left:1ex">On May 12, 2023, at 10:19, Mark Millard &lt;<a href=3D"mailto:ma=
rklmi@yahoo.com" target=3D"_blank">marklmi@yahoo.com</a>&gt; wrote:<br>
<br>
&gt; On May 12, 2023, at 10:11, Mark Millard &lt;<a href=3D"mailto:marklmi@=
yahoo.com" target=3D"_blank">marklmi@yahoo.com</a>&gt; wrote:<br>
&gt; <br>
&gt;&gt; On May 12, 2023, at 09:38, Doug Rabson &lt;<a href=3D"mailto:dfr@r=
abson.org" target=3D"_blank">dfr@rabson.org</a>&gt; wrote:<br>
&gt;&gt; <br>
&gt;&gt;&gt; On Fri, 12 May 2023 at 17:27, Mark Millard &lt;<a href=3D"mail=
to:marklmi@yahoo.com" target=3D"_blank">marklmi@yahoo.com</a>&gt; wrote:<br=
>
&gt;&gt;&gt; On May 12, 2023, at 08:43, Doug Rabson &lt;<a href=3D"mailto:d=
fr@rabson.org" target=3D"_blank">dfr@rabson.org</a>&gt; wrote:<br>
&gt;&gt;&gt; <br>
&gt;&gt;&gt;&gt; I have a pi4 with the official POE+ hat which I want to ru=
n FreeBSD on. One thing I noticed is that the fan doesn&#39;t run in FreeBS=
D so I decided to try and write a little driver for it. First step seems to=
 be to load the corresponding devicetree overlay by adding something like t=
his to /boot/msdos/config.txt:<br>
&gt;&gt;&gt;&gt; <br>
&gt;&gt;&gt;&gt; dtoverlay=3Drpi-poe-plus<br>
&gt;&gt;&gt;&gt; dtparam=3Dpoe_fan_temp0=3D45000,dtparam=3Dpoe_fan_temp0_hy=
st=3D3000<br>
&gt;&gt;&gt;&gt; dtparam=3Dpoe_fan_temp1=3D50000,dtparam=3Dpoe_fan_temp1_hy=
st=3D3000<br>
&gt;&gt;&gt;&gt; dtparam=3Dpoe_fan_temp2=3D62000,dtparam=3Dpoe_fan_temp2_hy=
st=3D4000<br>
&gt;&gt;&gt;&gt; dtparam=3Dpoe_fan_temp3=3D70000,dtparam=3Dpoe_fan_temp3_hy=
st=3D5000<br>
&gt;&gt;&gt;&gt; <br>
&gt;&gt;&gt;&gt; Unfortunately this is where I&#39;m stuck - the overlay is=
 not present in the final DTB given to the kernel so there isn&#39;t anythi=
ng to hook a driver to. Are dtoverlays supposed to work on FreeBSD?<br>
&gt;&gt;&gt; <br>
&gt;&gt;&gt; The RPi* firwmare version that FreeBSD has in ports and uses<b=
r>
&gt;&gt;&gt; in making snapshots and other images does not have that overla=
y:<br>
&gt;&gt;&gt; <br>
&gt;&gt;&gt; # ls -Tld /usr/local/share/rpi-firmware/overlays/rpi*<br>
&gt;&gt;&gt; -rw-r--r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0489 Mar=C2=A0 =
3 05:29:57 2021 /usr/local/share/rpi-firmware/overlays/rpi-backlight.dtbo<b=
r>
&gt;&gt;&gt; -rw-r--r--=C2=A0 1 root=C2=A0 wheel=C2=A0 4081 Mar=C2=A0 3 05:=
29:57 2021 /usr/local/share/rpi-firmware/overlays/rpi-cirrus-wm5102.dtbo<br=
>
&gt;&gt;&gt; -rw-r--r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0643 Mar=C2=A0 =
3 05:29:57 2021 /usr/local/share/rpi-firmware/overlays/rpi-dac.dtbo<br>
&gt;&gt;&gt; -rw-r--r--=C2=A0 1 root=C2=A0 wheel=C2=A0 2574 Mar=C2=A0 3 05:=
29:57 2021 /usr/local/share/rpi-firmware/overlays/rpi-display.dtbo<br>
&gt;&gt;&gt; -rw-r--r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0842 Mar=C2=A0 =
3 05:29:57 2021 /usr/local/share/rpi-firmware/overlays/rpi-ft5406.dtbo<br>
&gt;&gt;&gt; -rw-r--r--=C2=A0 1 root=C2=A0 wheel=C2=A0 2937 Mar=C2=A0 3 05:=
29:57 2021 /usr/local/share/rpi-firmware/overlays/rpi-poe.dtbo<br>
&gt;&gt;&gt; -rw-r--r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0771 Mar=C2=A0 =
3 05:29:57 2021 /usr/local/share/rpi-firmware/overlays/rpi-proto.dtbo<br>
&gt;&gt;&gt; -rw-r--r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0893 Mar=C2=A0 =
3 05:29:57 2021 /usr/local/share/rpi-firmware/overlays/rpi-sense.dtbo<br>
&gt;&gt;&gt; -rw-r--r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0567 Mar=C2=A0 =
3 05:29:57 2021 /usr/local/share/rpi-firmware/overlays/rpi-tv.dtbo<br>
&gt;&gt;&gt; -rw-r--r--=C2=A0 1 root=C2=A0 wheel=C2=A0 1226 Mar=C2=A0 3 05:=
29:57 2021 /usr/local/share/rpi-firmware/overlays/rpivid-v4l2.dtbo<br>
&gt;&gt;&gt; <br>
&gt;&gt;&gt; You do not mention establishing a copy of overlays/rpi-poe-plu=
s.dtbo .<br>
&gt;&gt;&gt; <br>
&gt;&gt;&gt; I copied the file from a rasbian install I had for another pro=
ject. Perhaps I should find the corresponding source for it and build it wi=
th the device tree source from FreeBSD.<br>
&gt;&gt;&gt; <br>
&gt;&gt;&gt; You also do not mention what version of FreeBSD you are using<=
br>
&gt;&gt;&gt; on the RPi4B. The output of the command:<br>
&gt;&gt;&gt; <br>
&gt;&gt;&gt; I&#39;m running 13.2-RELEASE-p0<br>
&gt;&gt; <br>
&gt;&gt; That limits the range of firmware you can experiment with<br>
&gt;&gt; but the following tagged vintages should be compatible and<br>
&gt;&gt; also have an overlays/rpi-poe-plus.dtbo present:<br>
&gt;&gt; <br>
&gt;&gt; 1.20210527/boot/overlays/rpi-poe-plus.dtbo<br>
&gt;&gt; 1.20210727/boot/overlays/rpi-poe-plus.dtbo<br>
&gt;&gt; 1.20210805/boot/overlays/rpi-poe-plus.dtbo<br>
&gt;&gt; <br>
&gt;&gt; So extracting a consistent/full set of firmware and trying<br>
&gt;&gt; it is a possibility.<br>
&gt;&gt; <br>
&gt;&gt; The first 3 tags links on:<br>
&gt;&gt; <br>
&gt;&gt; <a href=3D"https://github.com/raspberrypi/linux/tags?after=3D1.202=
10831" rel=3D"noreferrer" target=3D"_blank">https://github.com/raspberrypi/=
linux/tags?after=3D1.20210831</a><br>
<br>
That was likely a wasteful reference for me to supply. Trying<br>
again:<br>
<br>
<a href=3D"https://github.com/raspberrypi/firmware/tags?after=3D1.20210831"=
 rel=3D"noreferrer" target=3D"_blank">https://github.com/raspberrypi/firmwa=
re/tags?after=3D1.20210831</a><br>
<br>
likely avoids ending up with a full set of linux materials<br>
to go along with the firmware (smaller download with a smaller<br>
expansion).<br>
<br>
&gt;&gt; are for the above 3 firmware versions.<br>
&gt;&gt; <br>
&gt;&gt; Anything newer will lead to a FreeBSD kernel crash for<br>
&gt;&gt; 13.2-RELEASE-p0 due to mishandling the .dtb file that<br>
&gt;&gt; would be used.<br>
&gt;&gt; <br>
&gt;&gt; As an example of what is in . . ./boot/ from one of those 3:<br>
&gt;&gt; <br>
&gt;&gt; # ls -Tld firmware-1.20210805/boot/*<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0 18693 Aug=C2=A0 5=
 04:11:18 2021 firmware-1.20210805/boot/COPYING.linux<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0 =C2=A01594 Aug=C2=
=A0 5 04:11:18 2021 firmware-1.20210805/boot/LICENCE.broadcom<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0 26401 Aug=C2=A0 5=
 04:11:18 2021 firmware-1.20210805/boot/bcm2708-rpi-b-plus.dtb<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0 25749 Aug=C2=A0 5=
 04:11:18 2021 firmware-1.20210805/boot/bcm2708-rpi-b-rev1.dtb<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0 26138 Aug=C2=A0 5=
 04:11:18 2021 firmware-1.20210805/boot/bcm2708-rpi-b.dtb<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0 26060 Aug=C2=A0 5=
 04:11:18 2021 firmware-1.20210805/boot/bcm2708-rpi-cm.dtb<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0 27076 Aug=C2=A0 5=
 04:11:18 2021 firmware-1.20210805/boot/bcm2708-rpi-zero-w.dtb<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0 25883 Aug=C2=A0 5=
 04:11:18 2021 firmware-1.20210805/boot/bcm2708-rpi-zero.dtb<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0 27276 Aug=C2=A0 5=
 04:11:18 2021 firmware-1.20210805/boot/bcm2709-rpi-2-b.dtb<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0 27425 Aug=C2=A0 5=
 04:11:18 2021 firmware-1.20210805/boot/bcm2710-rpi-2-b.dtb<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0 29542 Aug=C2=A0 5=
 04:11:18 2021 firmware-1.20210805/boot/bcm2710-rpi-3-b-plus.dtb<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0 28923 Aug=C2=A0 5=
 04:11:18 2021 firmware-1.20210805/boot/bcm2710-rpi-3-b.dtb<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0 27421 Aug=C2=A0 5=
 04:11:18 2021 firmware-1.20210805/boot/bcm2710-rpi-cm3.dtb<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0 49825 Aug=C2=A0 5=
 04:11:18 2021 firmware-1.20210805/boot/bcm2711-rpi-4-b.dtb<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0 49821 Aug=C2=A0 5=
 04:11:18 2021 firmware-1.20210805/boot/bcm2711-rpi-400.dtb<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0 50499 Aug=C2=A0 5=
 04:11:18 2021 firmware-1.20210805/boot/bcm2711-rpi-cm4.dtb<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0 52456 Aug=C2=A0 5=
 04:11:18 2021 firmware-1.20210805/boot/bootcode.bin<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0 =C2=A07278 Aug=C2=
=A0 5 04:11:18 2021 firmware-1.20210805/boot/fixup.dat<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0 =C2=A05407 Aug=C2=
=A0 5 04:11:18 2021 firmware-1.20210805/boot/fixup4.dat<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0 =C2=A03211 Aug=C2=
=A0 5 04:11:18 2021 firmware-1.20210805/boot/fixup4cd.dat<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0 =C2=A08416 Aug=C2=
=A0 5 04:11:18 2021 firmware-1.20210805/boot/fixup4db.dat<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0 =C2=A08418 Aug=C2=
=A0 5 04:11:18 2021 firmware-1.20210805/boot/fixup4x.dat<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0 =C2=A03211 Aug=C2=
=A0 5 04:11:18 2021 firmware-1.20210805/boot/fixup_cd.dat<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0 10262 Aug=C2=A0 5=
 04:11:18 2021 firmware-1.20210805/boot/fixup_db.dat<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0 10262 Aug=C2=A0 5=
 04:11:18 2021 firmware-1.20210805/boot/fixup_x.dat<br>
&gt;&gt; drwxrwxr-x=C2=A0 2 root=C2=A0 wheel=C2=A0 =C2=A0 =C2=A0 236 Aug=C2=
=A0 5 04:11:18 2021 firmware-1.20210805/boot/overlays<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 2959904 Aug=C2=A0 5 04:1=
1:18 2021 firmware-1.20210805/boot/start.elf<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 2235712 Aug=C2=A0 5 04:1=
1:18 2021 firmware-1.20210805/boot/start4.elf<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0799964 Aug=C2=A0 5=
 04:11:18 2021 firmware-1.20210805/boot/start4cd.elf<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 3731528 Aug=C2=A0 5 04:1=
1:18 2021 firmware-1.20210805/boot/start4db.elf<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 2987720 Aug=C2=A0 5 04:1=
1:18 2021 firmware-1.20210805/boot/start4x.elf<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0799964 Aug=C2=A0 5=
 04:11:18 2021 firmware-1.20210805/boot/start_cd.elf<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 4803496 Aug=C2=A0 5 04:1=
1:18 2021 firmware-1.20210805/boot/start_db.elf<br>
&gt;&gt; -rw-rw-r--=C2=A0 1 root=C2=A0 wheel=C2=A0 3711432 Aug=C2=A0 5 04:1=
1:18 2021 firmware-1.20210805/boot/start_x.elf<br>
&gt; <br>
&gt; Note the lack of config.txt , armstub8-gic.bin , and<br>
&gt; armstub8.bin .<br>
&gt; <br>
&gt;&gt; (I&#39;ll not list the overlays/* .)<br>
&gt;&gt; <br>
&gt;&gt; I&#39;ve no clue to the consequences of mixing and matching<br>
&gt;&gt; materials from different vintages of the firmware. It<br>
&gt;&gt; does appear that:<br>
&gt;&gt; <br>
&gt;&gt; 1.20210727/boot/overlays/rpi-poe-plus.dtbo<br>
&gt;&gt; 1.20210805/boot/overlays/rpi-poe-plus.dtbo<br>
&gt;&gt; <br>
&gt;&gt; (the newer 2 of th3 3) are the same by content but that:<br>
&gt;&gt; <br>
&gt;&gt; 1.20210527/boot/overlays/rpi-poe-plus.dtbo<br>
&gt;&gt; <br>
&gt;&gt; is distinct in its older content.<br>
&gt; <br>
&gt; Be warned that the sys-utils/rpi-firmware port installs a<br>
&gt; couple of files that are not based on<br>
&gt; <a href=3D"https://github.com/raspberrypi/" rel=3D"noreferrer" target=
=3D"_blank">https://github.com/raspberrypi/</a>; materials:<br>
&gt; <br>
&gt; # ls -Tld /boot/efi/armstub8*<br>
&gt; -rwxr-xr-x=C2=A0 1 root=C2=A0 wheel=C2=A0 5888 Apr 20 19:25:22 2022 /b=
oot/efi/armstub8-gic.bin<br>
&gt; -rwxr-xr-x=C2=A0 1 root=C2=A0 wheel=C2=A0 5888 Apr 20 19:25:22 2022 /b=
oot/efi/armstub8.bin<br>
&gt; <br>
&gt; Be sure to keep those 2 files in place (for at least<br>
&gt; armstub8-gic.bin ). A similar point goes for your<br>
&gt; config.txt .<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>

--000000000000f01f5405fb929a0b--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACA0VUhDwx%2BRmHU_OSFfGhjfbbbiy6HpurGL7WjM_i%2B0U7UpBQ>