Hello, Here is a v2 of adding PCIe support for bcm2712 (RPi5), the fisrt version can be found at [1]. v2 is based on linux-next plus latest changes in pcie-brcmstb driver [2]. The changes recently made by Jim leaded to a simplified patchset for bcm2712 enablement coparing with previous version of this series. Noticeable changes are: - Use of msi-range property in the MIP MSI-X controller and DT which make possible to avoid few private DT properties. The other noticeable change is moving of msi-pci-addr private property to a second 'reg' region. I'll appreciate comments on this. - Now the PCIe DT nodes are on separate axi{} simple-bus because adding it on soc{} adds too much churn in the node (Florian). - Added 'quirks' field in pcie_cfg_data to work around an issue (hw bug?) with bridge_reset on bcm2712 SoC. regards, ~Stan [1] https://patchwork.kernel.org/project/linux-pci/cover/20240626104544.14233-1-svarbanov@xxxxxxx/ [2] https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git/log/?h=controller/brcmstb Stanimir Varbanov (11): dt-bindings: interrupt-controller: Add bcm2712 MSI-X DT bindings dt-bindings: PCI: brcmstb: Update bindings for PCIe on bcm2712 irqchip: mip: Add Broadcom bcm2712 MSI-X interrupt controller PCI: brcmstb: Expand inbound size calculation helper PCI: brcmstb: Restore CRS in RootCtl after prstn_n PCI: brcmstb: Enable external MSI-X if available PCI: brcmstb: Avoid turn off of bridge reset PCI: brcmstb: Add bcm2712 support PCI: brcmstb: Reuse config structure arm64: dts: broadcom: bcm2712: Add PCIe DT nodes arm64: dts: broadcom: bcm2712-rpi-5-b: Enable PCIe DT nodes .../brcm,bcm2712-msix.yaml | 69 ++++ .../bindings/pci/brcm,stb-pcie.yaml | 5 +- .../boot/dts/broadcom/bcm2712-rpi-5-b.dts | 8 + arch/arm64/boot/dts/broadcom/bcm2712.dtsi | 166 ++++++++++ drivers/irqchip/Kconfig | 12 + drivers/irqchip/Makefile | 1 + drivers/irqchip/irq-bcm2712-mip.c | 310 ++++++++++++++++++ drivers/pci/controller/pcie-brcmstb.c | 172 +++++++--- 8 files changed, 694 insertions(+), 49 deletions(-) create mode 100644 Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2712-msix.yaml create mode 100644 drivers/irqchip/irq-bcm2712-mip.c -- 2.35.3