Skip to content

[Pi 5] Device tree files provided in this repo cannot expose debug serial port to chain-booted u-boot #2010

@chaserhkj

Description

@chaserhkj

I was trying to get to u-boot prompt and do some hacking with uefi bootloaders and kernel on my RPi 5, so I set up for a minimal environment to get to u-boot prompts on the 3-pin JST connector debug port.

Boot partition content:

bcm2712-rpi-5-b.dtb  config.txt  u-boot.bin

My u-boot is compiled with rpi_arm64_defconf

config.txt content:

arm_64bit=1
kernel=u-boot.bin

However it seems that with device tree files provided in this repo I could not get the console prompt from u-boot. Serial output stuck at

NOTICE:  BL31: v2.6(release):v2.6-240-gfc45bc492
NOTICE:  BL31: Built : 12:55:13, Dec  4 2024

Further examination shows that some hardware devices were initialized correctly but some are not, since when I connected a monitor it showed a u-boot logo correctly. Also when I get the SD card out and check contents again, the u-boot uefi var file ubootefi.var has been created on the boot partition, signalling that u-boot is somewhat working.

I then tested u-boot compiled with CONFIG_SERIAL_PROBE_ALL=y, CONFIG_REQUIRE_SERIAL_CONSOLE=y. With these u-boot went into a boot loop. I think it's not getting the serial port properly setup from the device tree passed from EEPROM firmware so without a serial console it just tried to reset.

I did a bit more searches and landed upon this mailing list post that has the exact symptom as me. So I downloaded a RPi OS image and extracted the device tree from there and that indeed fixed everything.

I suggest there might be a version drift or file corruption for the device tree file in this repo. But the OS image seems to carry the correct one.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions