Re: RPI5 16GB panic on boot [.dtb files]

From: Mark Millard <marklmi_at_yahoo.com>
Date: Tue, 04 Feb 2025 01:03:14 UTC
On Feb 3, 2025, at 13:11, Klaus Cucinauomo <maciphone2@googlemail.com> wrote:
> 
>> 
>> ) Historically FreeBSD makes no use of the linux-mainline *.dts* sources
>>  for RPi* systems.
>> 
>> ) I'm not sure of the RPi folks even publish the *.dts* sources required
>>  to reproduce the binary files that they distribute.
>> 
> 
> Mark,
> 
> I'm sure you'll be a very important troubleshooter/bughunter again for RPI support, no one does it as well as you :-)
> ... but let us clarify one important thing:
> Every FreeBSD DeviceTreeSource(or compiled dtb) is a Linux(or RPILinux)-mainline-only source

Wrong for where/how FreeBSD gets the dtb files for the RPi*'s.
See https://cgit.freebsd.org/ports/tree/sysutils/rpi-firmware and its
Makefile as a start for seeing how /usr/src/release/arm64/RPI.conf
gets the dtb's that are used: release/arm64/RPI.conf uses the
installed materials from sysutils/rpi-firmware .

The installation of sysutils/rpi-firmware put in place:

# ls -C1 /usr/local/share/rpi-firmware/*.dtb
/usr/local/share/rpi-firmware/bcm2708-rpi-b-plus.dtb
/usr/local/share/rpi-firmware/bcm2708-rpi-b-rev1.dtb
/usr/local/share/rpi-firmware/bcm2708-rpi-b.dtb
/usr/local/share/rpi-firmware/bcm2708-rpi-cm.dtb
/usr/local/share/rpi-firmware/bcm2708-rpi-zero-w.dtb
/usr/local/share/rpi-firmware/bcm2708-rpi-zero.dtb
/usr/local/share/rpi-firmware/bcm2709-rpi-2-b.dtb
/usr/local/share/rpi-firmware/bcm2709-rpi-cm2.dtb
/usr/local/share/rpi-firmware/bcm2710-rpi-2-b.dtb
/usr/local/share/rpi-firmware/bcm2710-rpi-3-b-plus.dtb
/usr/local/share/rpi-firmware/bcm2710-rpi-3-b.dtb
/usr/local/share/rpi-firmware/bcm2710-rpi-cm3.dtb
/usr/local/share/rpi-firmware/bcm2710-rpi-zero-2-w.dtb
/usr/local/share/rpi-firmware/bcm2710-rpi-zero-2.dtb
/usr/local/share/rpi-firmware/bcm2711-rpi-4-b.dtb
/usr/local/share/rpi-firmware/bcm2711-rpi-400.dtb
/usr/local/share/rpi-firmware/bcm2711-rpi-cm4-io.dtb
/usr/local/share/rpi-firmware/bcm2711-rpi-cm4.dtb

without compiling any *.dts* files, instead getting
binaries from a RPi specific place (which is not just
mainline linux for RPi* 's): see sysutils/rpi-firmware
for details.

/usr/src/release/arm64/RPI.conf in turn uses that
port/package and an internal definition:

DTB_DIR="/usr/local/share/rpi-firmware"

for forming paths as were to copy the files from for making the
official distribution materials:

        for _DF in ${DTB_FILES}; do
                chroot ${CHROOTDIR} cp -p ${DTB_DIR}/${_DF} \
                        ${FATMOUNT}/${_DF}
        done

> , and every dts(i) is OpenSourced in RPI-linux and all upcoming patches are OpenSourced in mailing lists of e.g. the bootloader.

There may be sources present from the RPi folks but FreeBSD
does not compile them and does not have those sources in
its https://git.FreeBSD.org/src.git .

The RPi folks instead have things in:

https://github.com/raspberrypi/linux/commits/rpi-6.6.y/arch/arm/boot/dts/

Note that this area is not a just a copy of the linux mainline.
Nor is it a copy from files from a U-Boot distribution.


> Or so: they(torvalds&RPI&u-boot) upstream/downstream whatever they think is useful,
> there are a lot of experst doing that daily  and we should not stay so far behind them forever.



===
Mark Millard
marklmi at yahoo.com