U-Boot failures on CM4 and Pi4-8Gb
Dave Jones
dave.jones at canonical.com
Wed Dec 16 15:23:52 CET 2020
Hi,
We've recently run across some failures with U-Boot on a couple of
platforms, specifically the relatively new Pi Compute Module 4, and the
Pi 4 8GB of RAM. On the CM4, U-Boot failed to identify the eMMC storage,
and on the Pi 4 8GB, a crash and reset occurred when U-Boot tried to
read from the boot file-system on the SD card, but only when booted with
no monitor attached (attaching a monitor results in a successful boot,
at least under arm64). These were with more-or-less stock
rpi_4_defconfig and rpi_4_32b_defconfig configurations from v2020.10
(our local config changes bump the env-size, enable OF_BOARD, and
RAW_INITRD, but that's it).
I've bisected the source and figured out roughly the commits
responsible; for the CM4 eMMC case it's the enabling of DMA for the
SDHCI interface in c6b9fbf756.
The Pi 4 8GB failure was a little more complex in that the bisection
pointed to 3113c84ba2 (a merge), however that gave me a few clues to try
and after a little experimenting I found that disabling
CONFIG_PCI_BRCMSTB (effectively disabling the PCI driver for the
platform) got things working happily again.
I'm happy to submit the local patches I'm adding to the Ubuntu build to
work around these, but obviously those fixes are "brute force and
ignorance" patches that just disable the relevant config; would such
patches be wanted, or would the community prefer to figure out the root
causes in each case? I'm happy to test any patches on the relevant
hardware if anyone doesn't have access to the necessary boards.
Best regards,
Dave Jones.
More information about the U-Boot
mailing list