Add ASPEED PCIe Root Complex support
From: | Jacky Chou <jacky_chou-AT-aspeedtech.com> | |
To: | <bhelgaas-AT-google.com>, <lpieralisi-AT-kernel.org>, <kwilczynski-AT-kernel.org>, <mani-AT-kernel.org>, <robh-AT-kernel.org>, <krzk+dt-AT-kernel.org>, <conor+dt-AT-kernel.org>, <joel-AT-jms.id.au>, <andrew-AT-codeconstruct.com.au>, <vkoul-AT-kernel.org>, <kishon-AT-kernel.org>, <linus.walleij-AT-linaro.org>, <p.zabel-AT-pengutronix.de>, <linux-aspeed-AT-lists.ozlabs.org>, <linux-pci-AT-vger.kernel.org>, <devicetree-AT-vger.kernel.org>, <linux-arm-kernel-AT-lists.infradead.org>, <linux-kernel-AT-vger.kernel.org>, <linux-phy-AT-lists.infradead.org>, <openbmc-AT-lists.ozlabs.org>, <linux-gpio-AT-vger.kernel.org> | |
Subject: | [PATCH 0/7] Add ASPEED PCIe Root Complex support | |
Date: | Fri, 13 Jun 2025 11:29:54 +0800 | |
Message-ID: | <20250613033001.3153637-1-jacky_chou@aspeedtech.com> | |
Cc: | <elbadrym-AT-google.com>, <romlem-AT-google.com>, <anhphan-AT-google.com>, <wak-AT-google.com>, <yuxiaozhang-AT-google.com>, <BMC-SW-AT-aspeedtech.com> | |
Archive-link: | Article |
This patch series adds support for the ASPEED PCIe Root Complex, including device tree bindings, pinctrl support, and the PCIe host controller driver. The patches introduce the necessary device tree nodes, pinmux groups, and driver implementation to enable PCIe functionality on ASPEED platforms. Summary of changes: - Add device tree binding documents for ASPEED PCIe PHY, PCIe Config, and PCIe RC - Update MAINTAINERS for new bindings and driver - Add PCIe RC node and PERST control pin to aspeed-g6 device tree - Add PCIe RC PERST pin group to aspeed-g6 pinctrl - Implement ASPEED PCIe Root Complex host controller driver This series has been tested on AST2600/AST2700 platforms and enables PCIe device enumeration and operation. Feedback and review are welcome. Jacky Chou (7): dt-bindings: phy: Add document for ASPEED PCIe PHY dt-bindings: pci: Add document for ASPEED PCIe Config dt-bindings: pci: Add document for ASPEED PCIe RC ARM: dts: aspeed-g6: Add AST2600 PCIe RC PERST ctrl pin ARM: dts: aspeed-g6: Add PCIe RC node pinctrl: aspeed-g6: Add PCIe RC PERST pin group pci: aspeed: Add ASPEED PCIe host controller driver .../bindings/pci/aspeed-pcie-cfg.yaml | 41 + .../devicetree/bindings/pci/aspeed-pcie.yaml | 159 +++ .../bindings/phy/aspeed-pcie-phy.yaml | 38 + MAINTAINERS | 10 + .../boot/dts/aspeed/aspeed-g6-pinctrl.dtsi | 5 + arch/arm/boot/dts/aspeed/aspeed-g6.dtsi | 53 + drivers/pci/controller/Kconfig | 13 + drivers/pci/controller/Makefile | 1 + drivers/pci/controller/pcie-aspeed.c | 1039 +++++++++++++++++ drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c | 12 +- 10 files changed, 1370 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/pci/aspeed-pcie-cfg.yaml create mode 100644 Documentation/devicetree/bindings/pci/aspeed-pcie.yaml create mode 100644 Documentation/devicetree/bindings/phy/aspeed-pcie-phy.yaml create mode 100644 drivers/pci/controller/pcie-aspeed.c -- 2.43.0