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

From: Mark Millard <marklmi_at_yahoo.com>
Date: Tue, 04 Feb 2025 05:48:02 UTC
On Feb 3, 2025, at 12:23, Mark Millard <marklmi@yahoo.com> wrote:

> 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.)

I did an experiment with a FreeBSD U-Boot context after
having copied over the bcm2712-*.dtb files to the
2025-Jan-30's stable/14 snapshot's msdosfs .

The boot looks to have been stopped by lack of a
"armstub8-2712.bin" so not having the right implmentation
in place for later stages, like u-boot.bin :

. . .
  6.64 BMD "armstub8-2712.bin" not found
  6.65 fs_open: 'armstub8-2712.bin' 
  6.68 Loading 'u-boot.bin' to 0x00000000 offset 0x200000
  6.04 Read u-boot.bin bytes   630976 hnd 0x30e
. . .

The existing armstub8-gic.bin may well be insufficient
or inappropriate for an RPi5. Note that the config.txt :

# more /mnt/config.txt 
[all]
arm_64bit=1
dtparam=audio=on,i2c_arm=on,spi=on
dtoverlay=mmc
dtoverlay=disable-bt
device_tree_address=0x4000
kernel=u-boot.bin

[pi4]
hdmi_safe=1
armstub=armstub8-gic.bin


leaves the armstub name at the default for an rpi5.
Now we know the naming convention for the RPi5 (and
related): armstub8-2712.bin


===
Mark Millard
marklmi at yahoo.com