Re: [PATCH v2 -next 00/11] Add PCIe support for bcm2712
From: "Rob Herring (Arm)" <robh@kernel.org>
Date: 2024-09-11 13:50:06
Also in:
linux-devicetree, linux-pci, lkml
On Tue, 10 Sep 2024 18:18:34 +0300, Stanimir Varbanov wrote:
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@suse.de/
[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
My bot found new DTB warnings on the .dts files added or changed in this series. Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings are fixed by another series. Ultimately, it is up to the platform maintainer whether these warnings are acceptable or not. No need to reply unless the platform maintainer has comments. If you already ran DT checks and didn't see these error(s), then make sure dt-schema is up to date: pip3 install dtschema --upgrade New warnings running 'make CHECK_DTBS=y broadcom/bcm2712-rpi-5-b.dtb' for 20240910151845.17308-1-svarbanov@suse.de: arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dtb: pcie@100000: resets: [[12, 42], [13]] is too short from schema $id: http://devicetree.org/schemas/pci/brcm,stb-pcie.yaml# arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dtb: pcie@100000: reset-names:0: 'rescal' was expected from schema $id: http://devicetree.org/schemas/pci/brcm,stb-pcie.yaml# arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dtb: pcie@100000: reset-names:1: 'bridge' was expected from schema $id: http://devicetree.org/schemas/pci/brcm,stb-pcie.yaml# arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dtb: pcie@100000: reset-names: ['bridge', 'rescal'] is too short from schema $id: http://devicetree.org/schemas/pci/brcm,stb-pcie.yaml# arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dtb: pcie@110000: 'msi-controller' is a required property from schema $id: http://devicetree.org/schemas/pci/brcm,stb-pcie.yaml# arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dtb: pcie@110000: resets: [[12, 43], [13]] is too short from schema $id: http://devicetree.org/schemas/pci/brcm,stb-pcie.yaml# arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dtb: pcie@110000: reset-names:0: 'rescal' was expected from schema $id: http://devicetree.org/schemas/pci/brcm,stb-pcie.yaml# arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dtb: pcie@110000: reset-names:1: 'bridge' was expected from schema $id: http://devicetree.org/schemas/pci/brcm,stb-pcie.yaml# arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dtb: pcie@110000: reset-names: ['bridge', 'rescal'] is too short from schema $id: http://devicetree.org/schemas/pci/brcm,stb-pcie.yaml# arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dtb: pcie@120000: 'msi-controller' is a required property from schema $id: http://devicetree.org/schemas/pci/brcm,stb-pcie.yaml# arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dtb: pcie@120000: resets: [[12, 44], [13]] is too short from schema $id: http://devicetree.org/schemas/pci/brcm,stb-pcie.yaml# arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dtb: pcie@120000: reset-names:0: 'rescal' was expected from schema $id: http://devicetree.org/schemas/pci/brcm,stb-pcie.yaml# arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dtb: pcie@120000: reset-names:1: 'bridge' was expected from schema $id: http://devicetree.org/schemas/pci/brcm,stb-pcie.yaml# arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dtb: pcie@120000: reset-names: ['bridge', 'rescal'] is too short from schema $id: http://devicetree.org/schemas/pci/brcm,stb-pcie.yaml#