Recently the mainline Linux kernel has been receiving enough driver updates for the RP1 controller that I could finally compile a custom kernel and respective device tree from the kernel v6.18.0 source tree that has Ethernet and USB support for the rpi5 (which is what I need). To boot the pi I used a custom initramfs that pretty much resembles an initramfs built with debian initramfs-tools but with some alterations to the end of the init script.
My issue is that the kernel and device tree work fine for the Raspberry pi 5 rev 1.0 4Gb version but DOES NOT work for the rev 1.1 16Gb version since the source code of the Linux kernel (mainline) does not contain /arch/arm64/boot/dts/broadcom/bcm2712d0-rpi-5-b.dts at all. Soon after the kernel starts, there is a kernel panic: not syncing: Asynchronous SError Interrupt
I checked the raspberry pi fork of the Linux kernel, where bcm2712d0-rpi-5-b.dts exists, and found that it includes bcm2712-rpi-5-b.dts and then patches a few nodes. The new (patched) compatible strings for pinctrl are already included in the drivers of v6.18.0 (linux/drivers/pinctrl/bcm
/pinctrl-brcmstb-bcm2712.c, lines 721 and 725), the patches also include some new memory ranges and other stuff that I don't really understand =(
I can't exactly compile the d0 version using the raspberry pi's kernel source because I already know that the raspberry pi fork standard bcm2712-rpi-5-b.dtb differs from the v6.18.0 mainline bcm2712-rpi-5-b.dtb so it is logical to assume that if the mainline did compile the d0 version it would also differ from the raspberry pi's version.
Still I find it hard to believe that it simply won't work for the rev 1.1 version of the rpi5. If someone knows something that would help me out I would very much appreciate it! Also feel free to ask for additional information if you think it would be important for me to clarify
My issue is that the kernel and device tree work fine for the Raspberry pi 5 rev 1.0 4Gb version but DOES NOT work for the rev 1.1 16Gb version since the source code of the Linux kernel (mainline) does not contain /arch/arm64/boot/dts/broadcom/bcm2712d0-rpi-5-b.dts at all. Soon after the kernel starts, there is a kernel panic: not syncing: Asynchronous SError Interrupt
I checked the raspberry pi fork of the Linux kernel, where bcm2712d0-rpi-5-b.dts exists, and found that it includes bcm2712-rpi-5-b.dts and then patches a few nodes. The new (patched) compatible strings for pinctrl are already included in the drivers of v6.18.0 (linux/drivers/pinctrl/bcm
/pinctrl-brcmstb-bcm2712.c, lines 721 and 725), the patches also include some new memory ranges and other stuff that I don't really understand =(
I can't exactly compile the d0 version using the raspberry pi's kernel source because I already know that the raspberry pi fork standard bcm2712-rpi-5-b.dtb differs from the v6.18.0 mainline bcm2712-rpi-5-b.dtb so it is logical to assume that if the mainline did compile the d0 version it would also differ from the raspberry pi's version.
Still I find it hard to believe that it simply won't work for the rev 1.1 version of the rpi5. If someone knows something that would help me out I would very much appreciate it! Also feel free to ask for additional information if you think it would be important for me to clarify
Statistics: Posted by zeafonso21 — Sat Dec 20, 2025 10:00 pm