[PATCH v2 -next 00/11] Add PCIe support for bcm2712

From: Stanimir Varbanov
Date: Tue Sep 10 2024 - 11:20:00 EST


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