[PATCH] rpi: Update the naming for bcm2712 SoC RevD naming

Filip Kokosiński filip.kokosinski at gmail.com
Wed Mar 18 19:46:01 CET 2026


Hi Peter!

I've taken a look at this, and unfortunately - with fdtfile set to
broadcom/bcm2712-d-rpi-5-b.dtb the kernel panics on pinctrl-related symbols:

[    0.236580] SError Interrupt on CPU2, code 0x00000000be000011 -- SError
[    0.236586] CPU: 2 UID: 0 PID: 1 Comm: swapper/0 Tainted: G   M       
        6.12.47 #1-NixOS
[    0.236590] Tainted: [M]=MACHINE_CHECK
[    0.236591] Hardware name: Raspberry Pi 5 Model B Rev 1.1 (DT)
[    0.236592] pstate: 804000c9 (Nzcv daIF +PAN -UAO -TCO -DIT -SSBS 
BTYPE=--)
[    0.236595] pc : bcm2712_pull_config_set+0x78/0x120
[    0.236602] lr : bcm2712_pinconf_set+0x6c/0xe0
[    0.236605] sp : ffffc00080033ae0
[    0.236606] x29: ffffc00080033ae0 x28: 0000000000000000 x27: 
0000000000000000
[    0.236609] x26: 0000000000000000 x25: ffffd06fcffb1060 x24: 
ffff800104c62a98
[    0.236611] x23: 0000000000000018 x22: 0000000000000000 x21: 
0000000000000122
[    0.236613] x20: 0000000000000000 x19: ffff800104ced480 x18: 
ffffffffffffffff
[    0.236616] x17: 00000000105916e2 x16: 00000000acf0c9e7 x15: 
ffff800101736948
[    0.236618] x14: ffffc000800337e0 x13: ffff80010173694a x12: 
3030306330356437
[    0.236620] x11: 0000000000000040 x10: ffff800104d13c20 x9 : 
ffffd06fcebb4ffc
[    0.236622] x8 : ffff8001024024a8 x7 : 0000000000000000 x6 : 
0000000000000000
[    0.236624] x5 : ffff800102402480 x4 : 0000000000000001 x3 : 
0000000000000018
[    0.236626] x2 : 0000000000000024 x1 : 0000000000000000 x0 : 
0000000000000000
[    0.236628] Kernel panic - not syncing: Asynchronous SError Interrupt


The `bcm2712d0-rpi-5-b.dts` from downstream kernel seems to change the 
pinctrl
node compat to "brcm,bcm2712d0-pinctrl"[1], which then in turn causes the
pinctrl driver to use a different register layout[2]. There are also 
other more
minor differences between these two dtses.

I haven't had the time to do more thorough digging, but I've managed to 
get my
setup working using the following overlay:

     /dts-v1/;
     /plugin/;

     / {
         compatible = "brcm,bcm2712";

         fragment at 0 {
             target = <&pinctrl>;
             __overlay__ {
                   compatible = "brcm,bcm2712d0-pinctrl";
               reg = <0x7d504100 0x20>;
             };
         };

         fragment at 1 {
             target = <&pinctrl_aon>;
             __overlay__ {
                 compatible = "brcm,bcm2712d0-aon-pinctrl";
               reg = <0x7d510700 0x1c>;
             };
         };

         fragment at 2 {
             target = <&uart10>;
             __overlay__ {
               interrupts = <0x0 120 0x4>; /* <GIC_SPI 120 
IRQ_TYPE_LEVEL_HIGH> /*
             };
         };
     };

1: 
https://github.com/raspberrypi/linux/blob/rpi-6.12.y/arch/arm64/boot/dts/broadcom/bcm2712d0-rpi-5-b.dts#L80
2: 
https://github.com/raspberrypi/linux/blob/rpi-6.12.y/drivers/pinctrl/bcm/pinctrl-bcm2712.c#L390

Best
FK


More information about the U-Boot mailing list