|
|
Subscribe / Log in / New account

Add PCIe support for bcm2712

From:  Stanimir Varbanov <svarbanov-AT-suse.de>
To:  linux-kernel-AT-vger.kernel.org, devicetree-AT-vger.kernel.org, linux-arm-kernel-AT-lists.infradead.org, linux-rpi-kernel-AT-lists.infradead.org, linux-pci-AT-vger.kernel.org, Broadcom internal kernel review list <bcm-kernel-feedback-list-AT-broadcom.com>
Subject:  [PATCH v5 -next 00/11] Add PCIe support for bcm2712
Date:  Mon, 20 Jan 2025 15:01:08 +0200
Message-ID:  <20250120130119.671119-1-svarbanov@suse.de>
Cc:  Thomas Gleixner <tglx-AT-linutronix.de>, Rob Herring <robh-AT-kernel.org>, Krzysztof Kozlowski <krzk+dt-AT-kernel.org>, Conor Dooley <conor+dt-AT-kernel.org>, Florian Fainelli <florian.fainelli-AT-broadcom.com>, Jim Quinlan <jim2101024-AT-gmail.com>, Nicolas Saenz Julienne <nsaenz-AT-kernel.org>, Bjorn Helgaas <bhelgaas-AT-google.com>, Lorenzo Pieralisi <lpieralisi-AT-kernel.org>, kw-AT-linux.com, Philipp Zabel <p.zabel-AT-pengutronix.de>, Andrea della Porta <andrea.porta-AT-suse.com>, Phil Elwell <phil-AT-raspberrypi.com>, Jonathan Bell <jonathan-AT-raspberrypi.com>, Dave Stevenson <dave.stevenson-AT-raspberrypi.com>, Stanimir Varbanov <svarbanov-AT-suse.de>
Archive-link:  Article

Here is v5 of the series which aims to add support for PCIe on bcm2712 SoC
used by RPi5. Previous v4 can be found at [1].

Based the series on linux-next because of vc4 gpu node in bcm2712.dtsi.

v4 -> v5 changes include:
 - Addressed comments to interrupt-controller driver. (Thomas)
 - Fixed DTB warnings  broadcom/bcm2712-rpi-5-b.dtb.
 - New patch in the series to fix missing of_node_put.
 - New patch to make a softdep to a MIP MSI-X driver.
 - Dropped the patch which adds MSI-X support in pcie-brcmstb driver,
   and instead use DT dma-ranges to pass the needed information. (Jim)

For more detailed info check patches.

Comments are welcome!
~Stan

[1] https://patchwork.kernel.org/project/linux-pci/cover/2024...

Stanimir Varbanov (11):
  dt-bindings: interrupt-controller: Add bcm2712 MSI-X DT bindings
  dt-bindings: PCI: brcmstb: Update bindings for PCIe on bcm2712
  irqchip: Add Broadcom bcm2712 MSI-X interrupt controller
  PCI: brcmstb: Reuse config structure
  PCI: brcmstb: Expand inbound window size up to 64GB
  PCI: brcmstb: Add bcm2712 support
  PCI: brcmstb: Adjust PHY PLL setup to use a 54MHz input refclk
  PCI: brcmstb: Adding a softdep to MIP MSI-X driver
  PCI: brcmstb: Fix for missing of_node_put
  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           |   6 +-
 .../boot/dts/broadcom/bcm2712-rpi-5-b.dts     |   8 +
 arch/arm64/boot/dts/broadcom/bcm2712.dtsi     | 147 +++++++++
 drivers/irqchip/Kconfig                       |  16 +
 drivers/irqchip/Makefile                      |   1 +
 drivers/irqchip/irq-bcm2712-mip.c             | 292 ++++++++++++++++++
 drivers/pci/controller/pcie-brcmstb.c         | 147 ++++++---
 8 files changed, 632 insertions(+), 45 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2712-msix.yaml
 create mode 100644 drivers/irqchip/irq-bcm2712-mip.c

-- 
2.47.0




Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds