Going back to last year there have been patches worked on by SUSE for upstreaming Raspberry Pi’s RP1 PCI device support. It looks like for the Linux 6.17 kernel later this year that work will finally be upstreamed.
Andrea della Porta of SUSE has been working on getting more elements of the Raspberry Pi 5 support upstreamed into the mainline Linux kernel. As part of that he’s been working on getting the Raspberry Pi RP1 PCI device support added to the kernel and its associated Device Tree overlay. The RP1 can act as an I/O controller / chipset used for providing the MIPI camera input, display output, USB 2, USB 3, analog video output, Gigabit Ethernet MAC, and other I/O functionality for the Raspberry Pi 5 single board computer.
As described by Andrea on the patch series:
“RP1 is an MFD chipset that acts as a south-bridge PCIe endpoint sporting a pletora of subdevices (i.e. Ethernet, USB host controller, I2C, PWM, etc.) whose registers are all reachable starting from an offset from the BAR address. The main point here is that while the RP1 as an endpoint itself is discoverable via usual PCI enumeraiton, the devices it contains are not discoverable and must be declared e.g. via the devicetree.
This patchset is an attempt to provide a minimum infrastructure to allow the RP1 chipset to be discovered and perpherals it contains to be added from a devictree overlay loaded during RP1 PCI endpoint enumeration. To ensure compatibility with downstream, a devicetree already comprising the RP1 node is also provided, so it’s not strictly necessary to use the dynamically loaded overlay if the devicetree is already fully defined at the origin.”
After going through 12 rounds of code review on these RP1 patches, Florian Fainelli commented last year on its upstreaming positioning:
“I have applied all of the patches in the respective branch as we had discussed with Andrea and also merged all of the branches into my “next” branch so we can give this some proper soak testing. Once 6.16-rc1 is available, all those branches (devicetree/next, defconfig-arm64/next, drivers/next, etc.) will be rebased against that tag such that the patches that are already included will be dropped, and only this patch set plus what I have accumulated will be applied on top (if that makes sense).
As Arnd says though, this is too late for 6.16 so this would be included in 6.17. Andrea, thank you very much for your persistence working on this patch series, and sorry that the request to merge those patches came in during a time where I was away. The good news is that I am not doing that again anytime soon.”
So long story short, barring any changes in the weeks ahead, everything is lining up for getting this Raspberry Pi RP1 support into the mainline Linux 6.17 kernel when that merge window opens up in early August.