
On Wed, Dec 16, 2020 at 4:21 PM Matthias Brugger matthias.bgg@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@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@7e300000: 1, emmc2@7e340000: 0 Loading Environment from FAT... *** Warning - bad CRC, using default environment
In: serial Out: serial Err: serial Net: eth0: ethernet@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@7e300000.blk... Disk mmcnr@7e300000.blk not ready Scanning disk emmc2@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@7e300000: 1, emmc2@7e340000: 0 Loading Environment from FAT... *** Warning - bad CRC, using default environment
In: serial Out: vidconsole Err: vidconsole Net: eth0: ethernet@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 ...