[PATCH v3 00/11] Add PCIe support for bcm2712

Stanimir Varbanov
2024-10-14T14:32:00Z

Hello,

Here is v3 the series to add support for PCIe on bcm2712 SoC
used by RPi5. Previous v2 can be found at [1].

v2 -> v3 changes include:
- Added Reviewed-by/Acked-by tags.
- MIP MSI-X driver has been converted to MSI parent.
- Added a new patch for PHY PLL adjustment need to succesfully
enumerate PCIe endpoints on extension connector (tested with
Pineboards AI Bundle + NVME SSD adapter card).
- Re-introduced brcm,msi-offset DT private property for MIP
interrupt-controller (without it I'm anable to use the interrupts
of adapter cards on PCIe enxtension connector).

For more info check patches.

[1] https://patchwork.kernel.org/project/linux-pci/cover/20240910151845.17308-1-svarbanov@suse.de/

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: Enable external MSI-X if available
PCI: brcmstb: Avoid turn off of bridge reset
PCI: brcmstb: Add bcm2712 support
PCI: brcmstb: Reuse config structure
PCI: brcmstb: Adjust PHY PLL setup to use a 54MHz input refclk
arm64: dts: broadcom: bcm2712: Add PCIe DT nodes
arm64: dts: broadcom: bcm2712-rpi-5-b: Enable PCIe DT nodes

.../brcm,bcm2712-msix.yaml | 60 ++++
.../bindings/pci/brcm,stb-pcie.yaml | 5 +-
.../boot/dts/broadcom/bcm2712-rpi-5-b.dts | 8 +
arch/arm64/boot/dts/broadcom/bcm2712.dtsi | 160 +++++++++
drivers/irqchip/Kconfig | 16 +
drivers/irqchip/Makefile | 1 +
drivers/irqchip/irq-bcm2712-mip.c | 308 ++++++++++++++++++
drivers/pci/controller/pcie-brcmstb.c | 197 ++++++++---
8 files changed, 707 insertions(+), 48 deletions(-)
create mode 100644 Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2712-msix.yaml
create mode 100644 drivers/irqchip/irq-bcm2712-mip.c

--
2.43.0