u-boot on RPi4 32bit - issue after upgrading the firmware

Marek Szyprowski m.szyprowski at samsung.com
Thu Feb 25 11:43:39 CET 2021


Hi!

Recently I've upgraded a video core firmware on my RPi4 and I've noticed 
that u-boot in ARM 32bit mode stopped working properly or even randomly 
crashes. I've bisected the firmware releases and the issue appears for 
the first time in the commit 63b1922311 ("firmware: arm_loader: Update 
armstubs with those from PR 117 See: 
https://github.com/raspberrypi/tools/pull/117").

This issue can be easily observed as a failure of the xhci. See the 
attached log:

Read start4x.elf bytes  2984808 hnd 0x000006e2 sha256 d21bf9d3954fea04
Read fixup4x.dat bytes     8432 hnd 0x000006dd sha256 10d3b073ab232613
0x00a03111 0x00000000 0x0000001f
MEM GPU: 76 ARM: 948 TOTAL: 1024
Starting start4x.elf @ 0xfec00200 partition 0
PCI reset
+

MESS:00:00:04.800023:0: arasan: arasan_emmc_open
MESS:00:00:04.975752:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:04.979162:0: brfs: File read: 2153 bytes
MESS:00:00:05.046081:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:06.121174:0: gpioman: gpioman_get_pin_num: pin 
DISPLAY_DSI_PORT not defined
MESS:00:00:06.128433:0: *** Restart logging
MESS:00:00:06.129897:0: brfs: File read: 2153 bytes
MESS:00:00:06.148533:0: hdmi: HDMI:hdmi_get_state is deprecated, use 
hdmi_get_display_state instead
MESS:00:00:06.154474:0: HDMI0: hdmi_pixel_encoding: 300000000
MESS:00:00:06.159948:0: HDMI1: hdmi_pixel_encoding: 300000000
MESS:00:00:06.166901:0: dtb_file 'bcm2711-rpi-4-b.dtb'
MESS:00:00:06.178359:0: brfs: File read: /mfs/sd/bcm2711-rpi-4-b.dtb
MESS:00:00:06.181601:0: Loading 'bcm2711-rpi-4-b.dtb' to 0x100 size 0xc901
MESS:00:00:06.201386:0: brfs: File read: 51457 bytes
MESS:00:00:06.267975:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:06.270915:0: dtparam: audio=on
MESS:00:00:06.283974:0: brfs: File read: 2153 bytes
MESS:00:00:06.286148:0: Failed to load overlay 'vc4-fkms-v3d'
MESS:00:00:06.291378:0: brfs: File read: /mfs/sd/overlays/vc4-fkms-v3d.dtbo
MESS:00:00:06.304096:0: Failed to open command line file 'cmdline.txt'
MESS:00:00:07.484256:0: brfs: File read: /mfs/sd/u-boot.bin
MESS:00:00:07.486726:0: Loading 'u-boot.bin' to 0x8000 size 0x84cf4
MESS:00:00:07.492726:0: Device tree loaded to 0x2eff3100 (size 0xce24)
MESS:00:00:07.500863:0: uart: Set PL011 baud rate to 103448.300000 Hz
MESS:00:00:07.508031:0: uart: Baud rate change done...
MESS:00:00:07.510053:0:

U-Boot 2021.04-rc2 (Feb 25 2021 - 11:21:44 +0100)

DRAM:  948 MiB
RPI 4 Model B (0xa03111)
MMC:   mmcnr at 7e300000: 1, emmc2 at 7e340000: 0
Loading Environment from FAT... OK
In:    serial
Out:   serial
Err:   serial
Net:   eth0: ethernet at 7d580000
Hit any key to stop autoboot:  0
U-Boot> pci enum
PCIe BRCM: link up, 5.0 Gbps x1 (SSC)
U-Boot> usb start
starting USB...
Bus xhci_pci: Host not halted after 16000 microseconds.
probe failed, error -16
No working controllers found
U-Boot>

Is it a known issue? In ARM64 mode everything works fine, but this not 
very surprising, because the firmware change in the mentioned commit is 
related to the ARM 32bit mode. Does anyone have an idea how to fix this 
issue? I've checked also the latest version of the RPi firmware, but the 
issue is still there.

Best regards
-- 
Marek Szyprowski, PhD
Samsung R&D Institute Poland



More information about the U-Boot mailing list