[RFC PATCH 0/2] rpi5: initial support

Dmitry Malkin dmitry at bedrocksystems.com
Sat Nov 18 17:41:34 CET 2023


I was not able to boot rpi5 with the latest master. I run into
dram_init() error:
> DRAM:  mbox: Timeout waiting for response
> bcm2835: Could not query ARM memory size

Apparently there is a new peripheral layout and ARMC MBOX has a
different offset within.

Turns out there is a compatible node "brcm,bcm2835-mbox" for all RPIs
(bcm238x/bcm271x).

After fixing this I got to the point where mmu_setup() was hanging
(looks like it was due to incorrect mapping). So I've added a
definition of first gigabyte of RAM and SOC range for bcm2712 into
rpi.c.

With those two 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).

These patches are based on v2024.01-rc2 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).


Dmitry Malkin (2):
  rpi5: add alternative way to get MBOX address via FDT node
  rpi5: add initial memory map for bcm2712

 arch/arm/mach-bcm283x/include/mach/base.h |  1 +
 arch/arm/mach-bcm283x/include/mach/mbox.h |  4 ++--
 arch/arm/mach-bcm283x/init.c              | 29 ++++++++++++++++++++++-
 3 files changed, 31 insertions(+), 3 deletions(-)

-- 
2.40.1


More information about the U-Boot mailing list