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@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 > > > 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@xxxxxxx: 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#