[PATCH v2 0/3] rpi5: initial support

Peter Robinson pbrobinson at gmail.com
Wed Nov 22 19:54:11 CET 2023


> > These patches bring initial boot support for RPI5. Without it the
> > latest master fails with the message:
> > > DRAM:  mbox: Timeout waiting for response
> > > bcm2835: Could not query ARM memory size
> >
> > With those patches and rpi_arm64_defconfig (with disabled
> > CONFIG_VIDEO_BCM2835) I'm able to get a working u-boot prompt (over
> > serial). FDT comes from firmware (EEPROM).
> >
> > > U-Boot 2024.01-rc3-00003
> > >
> > > DRAM:  1016 MiB (effective 8 GiB)
> > > mbox: Header response code invalid
> > > bcm2835: Could not query board revision
> > > FDT model : Raspberry Pi 5 Model B Rev 1.0
> > > Core:  14 devices, 7 uclasses, devicetree: board
> > > MMC:
> > > Loading Environment from FAT... ** Bad device specification mmc 0 **
> > > In:    serial,usbkbd
> > > Out:   serial,vidconsole
> > > Err:   serial,vidconsole
> > > Net:   No ethernet found.
> > > starting USB...
> > > No working controllers found
> > > Hit any key to stop autoboot:  0
> > > No working controllers found
> > > No ethernet found.
> > > No ethernet found.
> > > U-Boot>
> >
> > These patches are based on v2024.01-rc3 and tested with RPI5 8GB.
> >
> > Known issues:
> > * CONFIG_VIDEO_BCM2835 doesn't work.
> > * MBOX get board revision (0x10002) doesn't work (the response status
> > is 0x8000_0001). Looks like a number of tags doesn't work anymore
> > (board/serial/MAC) but could be fetched from FW FDT.
>
> Nice. I think it's the MMC controller that we should be able to support
> with just a little more work as it's shared with rockchip, and we just
> need to match the compatible, and mirror whatever tweak is also in the
> rpi kernel tree for it.

Is it? According to the RPi DT the sdio1 interface is used to drive
the mSD card (it's SD Express capable which I think is essentially
PCIe/NVME) which has a "brcm,bcm2712-sdhci" compatible [2] which is
added to the sdhci-brcmstb.c driver[3]. We do have a driver for this
but it's not the rockchip driver, I think you may be confused with the
sdhci interface in the RP1 chip which is a designware sdhci IP called
dwcmshc [4].

For the brcmstb sdhci driver we currently have I suspect it'll need at
least a few patches to get the basics working, in the short term I'm
not sure we need the extra bits to drive the SD Express side of things
as I'm sure it can fall back to old modes, looking at the patch it
maybe just enough to add the compatible for what we need, that's what
I was going to start with as it looks like it's similar to other IP
[5].

Peter

[1] https://github.com/raspberrypi/linux/blob/rpi-6.1.y/arch/arm/boot/dts/bcm2712-rpi-5-b.dts#L354
[2] https://github.com/raspberrypi/linux/blob/rpi-6.1.y/arch/arm/boot/dts/bcm2712.dtsi#L1164
[3] https://github.com/raspberrypi/linux/commit/b627647c4500d39cb026924b608841fdf4d4d7e9
[4] https://github.com/raspberrypi/linux/commit/80dd8795ca631ac692fd3079487aea6d934a829c
[5] https://github.com/raspberrypi/linux/commit/b627647c4500d39cb026924b608841fdf4d4d7e9#diff-8c952b8cbbb6b3d89e1a401d558b4bd0ecbdf1679cbc5004a31039bc5235c020R172


More information about the U-Boot mailing list