U-Boot failures on CM4 and Pi4-8Gb
Peter Robinson
pbrobinson at gmail.com
Wed Dec 16 18:01:58 CET 2020
On Wed, Dec 16, 2020 at 4:27 PM Peter Robinson <pbrobinson at gmail.com> wrote:
>
> 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:
Also note that is using the Dec 15th firmware from commit ce59305, the
new DTs pushed later yesterday for 5.10 have a different/continuous
crash
> 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