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

From: Mark Millard <marklmi_at_yahoo.com>
Date: Mon, 03 Feb 2025 20:23:17 UTC
This note just reports on the list of bcm2712*.dtb files
on a normal/modern RaspiOS64 boot media (my abbreviation).

# ls -lodT /mnt/bcm2712*.dtb
-rwxr-xr-x  1 root wheel uarch 81163 Jan 27 17:19:54 2025 /mnt/bcm2712-rpi-5-b.dtb
-rwxr-xr-x  1 root wheel uarch 81119 Jan 27 17:19:54 2025 /mnt/bcm2712-rpi-500.dtb
-rwxr-xr-x  1 root wheel uarch 81620 Jan 27 17:19:54 2025 /mnt/bcm2712-rpi-cm5-cm4io.dtb
-rwxr-xr-x  1 root wheel uarch 81682 Jan 27 17:19:54 2025 /mnt/bcm2712-rpi-cm5-cm5io.dtb
-rwxr-xr-x  1 root wheel uarch 81661 Jan 27 17:19:54 2025 /mnt/bcm2712-rpi-cm5l-cm4io.dtb
-rwxr-xr-x  1 root wheel uarch 81723 Jan 27 17:19:54 2025 /mnt/bcm2712-rpi-cm5l-cm5io.dtb
-rwxr-xr-x  1 root wheel uarch 81167 Jan 27 17:19:54 2025 /mnt/bcm2712d0-rpi-5-b.dtb

The EDK2 implementation is set up based on just one of those, actually
likely and older vintage by content instead: bcm2712-rpi-5-b.dtb

My guess is that your new 16 GiByte RPi5B is intended to be
used with the modern content of: bcm2712d0-rpi-5-b.dtb

Booting with the RPi* config.txt also indicating:

enable_uart=1
uart_2ndstage=1
dtdebug=1
disable_commandline_tags=1

likely would answer that: it would likely report on what .dtb
file the firmware tries to find first, for example.

I also expect that the EDK2 would need to be updated to also
handle some of the various differences, whatever they are.

I'll remind that the live .dtb can have adjustments made by
the RPi* firmware after the .dtb is loaded by the firmware.

My classic techinque of discovering what is in the live Device
Tree provided to the FreeBSD loader is via having U-Boot list
the content of the Device Tree it is set up to hand over. (I
do this rarely and so have to re-figure-out the details each
time.)

===
Mark Millard
marklmi at yahoo.com