[PATCH 0/2] board/raspberry: add FDT for bcm2712d0

Peter Robinson pbrobinson at gmail.com
Thu Mar 12 13:10:35 CET 2026


On Wed, 18 Feb 2026 at 11:12, Peter Robinson <pbrobinson at gmail.com> wrote:
>
> 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.

FYI This was an issue with downstream breaking the pl022 uart
compatible in their DT :-/

> 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.

I've now tested this on both a revC and revD.

I suspect we'll need to tweak this further when the d0 DTs land
upstream but it works with the downstream options.

> 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
> >


More information about the U-Boot mailing list