From: Jacky Chou <jacky_chou@aspeedtech.com>
To: <linux-pci@vger.kernel.org>, <devicetree@vger.kernel.org>,
<linux-kernel@vger.kernel.org>, <bhelgaas@google.com>,
<lpieralisi@kernel.org>, <kwilczynski@kernel.org>,
<mani@kernel.org>, <robh@kernel.org>, <krzk+dt@kernel.org>,
<conor+dt@kernel.org>, <joel@jms.id.au>,
<andrew@codeconstruct.com.au>, <vkoul@kernel.org>,
<kishon@kernel.org>, <linus.walleij@linaro.org>,
<p.zabel@pengutronix.de>, <linux-aspeed@lists.ozlabs.org>,
<linux-arm-kernel@lists.infradead.org>,
<linux-phy@lists.infradead.org>, <openbmc@lists.ozlabs.org>,
<linux-gpio@vger.kernel.org>
Cc: <jacky_chou@aspeedtech.com>
Subject: [PATCH v3 00/10] Add ASPEED PCIe Root Complex support
Date: Mon, 1 Sep 2025 13:59:12 +0800 [thread overview]
Message-ID: <20250901055922.1553550-1-jacky_chou@aspeedtech.com> (raw)
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.
Currently, the ASPEED PCIe Root Complex only supports a single port.
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
- Implement ASPEED PCIe PHY driver
- Implement ASPEED PCIe Root Complex host controller driver
This series has been tested on AST2600/AST2700 platforms and enables PCIe device
enumeration and operation.
Jacky Chou (10):
dt-bindings: soc: aspeed: Add ASPEED PCIe Config
dt-bindings: phy: aspeed: Add ASPEED PCIe PHY
dt-bindings: PCI: Add ASPEED PCIe RC support
dt-bindings: pinctrl: aspeed,ast2600-pinctrl: Add PCIe RC PERST# group
ARM: dts: aspeed-g6: Add AST2600 PCIe RC PERST#
ARM: dts: aspeed-g6: Add PCIe RC and PCIe PHY node
PHY: aspeed: Add ASPEED PCIe PHY driver
PCI: Add FMT and TYPE definition for TLP header
PCI: aspeed: Add ASPEED PCIe RC driver
MAINTAINERS: Add ASPEED PCIe RC driver
.../bindings/pci/aspeed,ast2600-pcie.yaml | 179 +++
.../bindings/phy/aspeed,ast2600-pcie-phy.yaml | 42 +
.../pinctrl/aspeed,ast2600-pinctrl.yaml | 2 +
.../soc/aspeed/aspeed,ast2700-pcie-cfg.yaml | 46 +
MAINTAINERS | 11 +
.../boot/dts/aspeed/aspeed-g6-pinctrl.dtsi | 5 +
arch/arm/boot/dts/aspeed/aspeed-g6.dtsi | 56 +
drivers/pci/controller/Kconfig | 16 +
drivers/pci/controller/Makefile | 1 +
drivers/pci/controller/pcie-aspeed.c | 1137 +++++++++++++++++
drivers/pci/pci.h | 12 +
drivers/phy/Kconfig | 1 +
drivers/phy/Makefile | 1 +
drivers/phy/aspeed/Kconfig | 15 +
drivers/phy/aspeed/Makefile | 2 +
drivers/phy/aspeed/phy-aspeed-pcie.c | 209 +++
16 files changed, 1735 insertions(+)
create mode 100644 Documentation/devicetree/bindings/pci/aspeed,ast2600-pcie.yaml
create mode 100644 Documentation/devicetree/bindings/phy/aspeed,ast2600-pcie-phy.yaml
create mode 100644 Documentation/devicetree/bindings/soc/aspeed/aspeed,ast2700-pcie-cfg.yaml
create mode 100644 drivers/pci/controller/pcie-aspeed.c
create mode 100644 drivers/phy/aspeed/Kconfig
create mode 100644 drivers/phy/aspeed/Makefile
create mode 100644 drivers/phy/aspeed/phy-aspeed-pcie.c
---
v3:
- Add ASPEED PCIe PHY driver
- Remove the aspeed,pciecfg property from AST2600 RC node, merged into RC node
- Update the binding doc for aspeed,ast2700-pcie-cfg to reflect the changes
- Update the binding doc for aspeed,ast2600-pcie to reflect the changes
- Update the binding doc for aspeed,ast2600-pinctrl to reflect the changes
- Update the device tree source to reflect the changes
- Adjusted the use of mutex in RC drivers to use GRAND
- Updated from reviewer comments
v2:
- Moved ASPEED PCIe PHY yaml binding to `soc/aspeed` directory and
changed it as syscon
- Added `MAINTAINERS` entry for the new PCIe RC driver
- Updated device tree bindings to reflect the new structure
- Refactored configuration read and write functions to main bus and
child bus ops
- Refactored initialization to implement multiple ports support
- Added PCIe FMT and TYPE definitions for TLP header in
`include/uapi/linux/pci_regs.h`
- Updated from reviewer comments
---
--
2.43.0
next reply other threads:[~2025-09-01 5:59 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-01 5:59 Jacky Chou [this message]
2025-09-01 5:59 ` [PATCH v3 01/10] dt-bindings: soc: aspeed: Add ASPEED PCIe Config Jacky Chou
2025-09-01 11:45 ` Krzysztof Kozlowski
2025-09-02 2:30 ` Jacky Chou
2025-09-01 5:59 ` [PATCH v3 02/10] dt-bindings: phy: aspeed: Add ASPEED PCIe PHY Jacky Chou
2025-09-02 21:07 ` Rob Herring (Arm)
2025-09-01 5:59 ` [PATCH v3 03/10] dt-bindings: PCI: Add ASPEED PCIe RC support Jacky Chou
2025-09-02 21:12 ` Rob Herring
2025-09-03 6:12 ` Jacky Chou
2025-09-05 5:21 ` Manivannan Sadhasivam
2025-09-01 5:59 ` [PATCH v3 04/10] dt-bindings: pinctrl: aspeed,ast2600-pinctrl: Add PCIe RC PERST# group Jacky Chou
2025-09-02 7:53 ` Krzysztof Kozlowski
2025-09-01 5:59 ` [PATCH v3 05/10] ARM: dts: aspeed-g6: Add AST2600 PCIe RC PERST# Jacky Chou
2025-09-01 5:59 ` [PATCH v3 06/10] ARM: dts: aspeed-g6: Add PCIe RC and PCIe PHY node Jacky Chou
2025-09-01 5:59 ` [PATCH v3 07/10] PHY: aspeed: Add ASPEED PCIe PHY driver Jacky Chou
2025-09-02 10:23 ` kernel test robot
2025-09-01 5:59 ` [PATCH v3 08/10] PCI: Add FMT and TYPE definition for TLP header Jacky Chou
2025-09-03 22:32 ` Bjorn Helgaas
2025-09-05 0:42 ` 回覆: " Jacky Chou
2025-09-01 5:59 ` [PATCH v3 09/10] PCI: aspeed: Add ASPEED PCIe RC driver Jacky Chou
2025-09-03 22:48 ` Bjorn Helgaas
2025-09-05 1:41 ` Jacky Chou
2025-09-05 6:44 ` Manivannan Sadhasivam
2025-09-01 5:59 ` [PATCH v3 10/10] MAINTAINERS: " Jacky Chou
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250901055922.1553550-1-jacky_chou@aspeedtech.com \
--to=jacky_chou@aspeedtech.com \
--cc=andrew@codeconstruct.com.au \
--cc=bhelgaas@google.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=joel@jms.id.au \
--cc=kishon@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=kwilczynski@kernel.org \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-aspeed@lists.ozlabs.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=lpieralisi@kernel.org \
--cc=mani@kernel.org \
--cc=openbmc@lists.ozlabs.org \
--cc=p.zabel@pengutronix.de \
--cc=robh@kernel.org \
--cc=vkoul@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).