Hey Filip, > This series adds the FDT for the d0 stepping of the BCM2712 SoC. The v1.1 > revision of the Raspberry Pi 5 board can't boot Linux properly without > additional changes specific to the d0 stepping. > > The d0 specific changes can be seen here: > https://github.com/raspberrypi/linux/blob/rpi-6.12.y/arch/arm64/boot/dts/broadcom/bcm2712d0-rpi-5-b.dts > > To do that, this series introduces support for multiple FDT entries for a > single > device type (bits 4-11 from the new-style revision code).
I started to look at that last week to see what was needed so this is good timing. > The rpi_model struct is modified by: > * changing fdtfile to fdtfiles (const char * const *) > * adding fdtcount (size_t) > > Adding fdtcount is motivated by wanting to keep FDT selection O(1), and avoid > relying on NULL terminating fdtfiles array. > > A new FDTFILES macro is added to initialize fdtfile and fdtcount. > > In case only a single FDT is provided, or the board revision code doesn't > match, > the selected FDT defaults to the first entry in fdtfiles. I tested this very briefly on my RPi5s and the good news is it continues to boot. The problem was I see no output from U-Boot on the serial console at all, I get the early RPi FW output and then I get the Linux kernel. I think there may well be more details we need to deal with here, there's at least some difference in the console serial port [1] and I suspect we might need to deal with other pinmux nuances possibly around the sdhci interfaces. Can you also provide details of which revisions of rpi devices you tested this on? I have an 8gb v1.0, and I thought I had a v1.1 2Gb but looking closer it looks like that's the old c1 SoC rev (I read their original announcement for the 2Gb variant as they were all 1.1, it appears not). I have ordered the new 1Gb variant so I have a revD I can test against. Peter [1] https://github.com/raspberrypi/linux/blob/rpi-6.12.y/arch/arm64/boot/dts/broadcom/bcm2712d0-rpi-5-b.dts#L93 > Filip Kokosiński (2): > board/raspberrypi: add multi-FDT support > board/raspberrypi: add bcm2712d0-rpi-5-b for Raspberry Pi 5 > > board/raspberrypi/rpi/rpi.c | 96 +++++++++++++++++++++---------------- > 1 file changed, 55 insertions(+), 41 deletions(-) > > -- > 2.51.2 >

