U-Boot failures on CM4 and Pi4-8Gb
Peter Robinson
pbrobinson at gmail.com
Wed Dec 16 17:27:34 CET 2020
On Wed, Dec 16, 2020 at 4:21 PM Matthias Brugger <matthias.bgg at gmail.com> wrote:
>
>
>
> On 16/12/2020 17:20, Peter Robinson wrote:
> > On Wed, Dec 16, 2020 at 4:15 PM Matthias Brugger <matthias.bgg at gmail.com> wrote:
> >>
> >> Hi Dave,
> >>
> >> On 16/12/2020 15:23, Dave Jones wrote:
> >>> 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.
> >>>
> >>
> >> Thanks for looking into this. I'm aware of problems booting CM4 and RPi 400 with
> >> PCI. I wasn't aware that RPi4 8GB problem was related to PCI as well. Would you
> >> mind to test this series, if this fixes your problems:
> >> https://patchwork.ozlabs.org/user/todo/uboot/?series=220661
> >
> > That's your todo list so the link doesn't work for an anonymous consumer.
> >
>
> Right, sorry not my day today:
> https://patchwork.ozlabs.org/project/uboot/list/?series=220661
I see a crash even with that series on both the 8Gb and 4Gb models, I
was going to reply on the thread but I've not had a chance to look
closer into it. I'm not sure if they're identical but the details of
the two are below:
U-Boot 2021.01-rc3 (Dec 15 2020 - 00:00:00 +0000)
DRAM: 3.9 GiB
RPI 4 Model B (0xc03111)
MMC: mmcnr at 7e300000: 1, emmc2 at 7e340000: 0
Loading Environment from FAT... *** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Net: eth0: ethernet at 7d580000
PCIe BRCM: link up, 5.0 Gbps x1 (SSC)
starting USB...
Bus xhci_pci: Register 5000420 NbrPorts 5
Starting the controller
Port not available.
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found EFI removable media binary efi/fedora/grubaa64.efi
Card did not respond to voltage select! : -110
Scanning disk mmcnr at 7e300000.blk...
Disk mmcnr at 7e300000.blk not ready
Scanning disk emmc2 at 7e340000.blk...
Found 4 disks
No EFI system partition
BootOrder not defined
EFI boot manager: Cannot load any image
EFI LOAD FAILED: continuing...
Card did not respond to voltage select! : -110
starting USB...
Bus xhci_pci: Register 5000420 NbrPorts 5
Starting the controller
Port not available.
USB is stopped. Please issue 'usb start' first.
starting USB...
Bus xhci_pci: "Synchronous Abort" handler, esr 0x96000004
elr: 00000000000b9bfc lr : 00000000000b9be8 (reloc)
elr: 000000003df91bfc lr : 000000003df91be8
x0 : 000000003dc3c040 x1 : 0000000000000000
x2 : 000000003dc3e000 x3 : 29e0ff7f6b43c03d
x4 : 0000000000000000 x5 : 0000000000000000
x6 : 0000000000000000 x7 : 000000003dee8600
x8 : fffffffffffffff0 x9 : 0000000000000008
x10: 0000000000000648 x11: 000000003db471dc
x12: 0000000000000130 x13: 000000003db47198
x14: 000000003db48000 x15: 0000000000000002
x16: 000000003df7fff4 x17: 0b639001e8370785
x18: 000000003db53da0 x19: 000000003db67f80
x20: 000000000000000c x21: 0000000600000020
x22: 000000003dbf0c50 x23: 00000000000002aa
x24: 0000000000001550 x25: 000000003dc3e000
x26: 00000000002aa000 x27: 00000000002aa000
x28: 000000003db67da0 x29: 000000003db471d0
Code: f9400263 1ad42022 f94002c0 8b020322 (f9405063)
Resetting CPU ...
resetting ...
U-Boot 2021.01-rc3 (Dec 15 2020 - 21:04:13 +0000)
DRAM: 7.9 GiB
RPI 4 Model B (0xd03114)
MMC: mmcnr at 7e300000: 1, emmc2 at 7e340000: 0
Loading Environment from FAT... *** Warning - bad CRC, using default environment
In: serial
Out: vidconsole
Err: vidconsole
Net: eth0: ethernet at 7d580000
PCIe BRCM: link up, 5.0 Gbps x1 (SSC)
starting USB...
Bus xhci_pci: probe failed, error -110
No working controllers found
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
"Synchronous Abort" handler, esr 0x96000004
elr: 000000000009c180 lr : 000000000009c734 (reloc)
elr: 000000003df74180 lr : 000000003df74734
x0 : 6d6d20676e696e6e x1 : 000000000000005c
x2 : 0000000000800000 x3 : 000000003dfd23e8
x4 : 0000000000000020 x5 : 000000000000005c
x6 : 000000003dfd23e8 x7 : fffffffffffffff0
x8 : fffffffffffffff0 x9 : 0000000000000008
x10: 000000003db673d0 x11: 000000003db62f40
x12: 0000000000000000 x13: 0000000000000200
x14: 000000003db47fe0 x15: 0000000000000021
x16: 000000003df76248 x17: 30c67e855f36071b
x18: 000000003db53da0 x19: 0000000000000030
x20: 000000003dfd1e28 x21: 0000000000000020
x22: 000000003db66af0 x23: 000000003dfd1e28
x24: 0000000000000000 x25: 0000000000000030
x26: 000000003db65a70 x27: 0000000000000003
x28: 000000003db65aa0 x29: 000000003db46bf0
Code: eb03005f 54ffff43 f9400ca4 17ffffe0 (f9400404)
Resetting CPU ...
More information about the U-Boot
mailing list