From: Rob Herring <robh@kernel.org>
To: Jacky Chou <jacky_chou@aspeedtech.com>
Cc: 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,
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
Subject: Re: [PATCH v3 03/10] dt-bindings: PCI: Add ASPEED PCIe RC support
Date: Tue, 2 Sep 2025 16:12:21 -0500 [thread overview]
Message-ID: <20250902211221.GA1179675-robh@kernel.org> (raw)
In-Reply-To: <20250901055922.1553550-4-jacky_chou@aspeedtech.com>
On Mon, Sep 01, 2025 at 01:59:15PM +0800, Jacky Chou wrote:
> ASPEED AST2600 provides one PCIe RC for Gen2 and AST2700 provides three
> PCIe RC for two Gen4 and one Gen2. All of these RCs have just one root
> port to connect to PCIe device. And also have Mem, I/O access, legacy
> interrupt and MSI.
>
> Signed-off-by: Jacky Chou <jacky_chou@aspeedtech.com>
> ---
> .../bindings/pci/aspeed,ast2600-pcie.yaml | 179 ++++++++++++++++++
> 1 file changed, 179 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/pci/aspeed,ast2600-pcie.yaml
>
> diff --git a/Documentation/devicetree/bindings/pci/aspeed,ast2600-pcie.yaml b/Documentation/devicetree/bindings/pci/aspeed,ast2600-pcie.yaml
> new file mode 100644
> index 000000000000..fe75bf2961c8
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pci/aspeed,ast2600-pcie.yaml
> @@ -0,0 +1,179 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/pci/aspeed,ast2600-pcie.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: ASPEED PCIe Root Complex Controller
> +
> +maintainers:
> + - Jacky Chou <jacky_chou@aspeedtech.com>
> +
> +description:
> + The ASPEED PCIe Root Complex controller provides PCI Express Root Complex
> + functionality for ASPEED SoCs, such as the AST2600 and AST2700.
> + This controller enables connectivity to PCIe endpoint devices, supporting
> + memory and I/O windows, MSI and legacy interrupts, and integration with
> + the SoC's clock, reset, and pinctrl subsystems.
> +
> +properties:
> + compatible:
> + enum:
> + - aspeed,ast2600-pcie
> + - aspeed,ast2700-pcie
> +
> + reg:
> + maxItems: 1
> +
> + ranges:
> + minItems: 2
> + maxItems: 2
> +
> + interrupts:
> + maxItems: 1
> + description: IntX and MSI interrupt
> +
> + resets:
> + items:
> + - description: PCIe controller reset
> +
> + reset-names:
> + items:
> + - const: h2x
> +
> + msi-parent: true
> +
> + aspeed,ahbc:
> + $ref: /schemas/types.yaml#/definitions/phandle
> + description:
> + Phandle to the ASPEED AHB Controller (AHBC) syscon node.
> + This reference is used by the PCIe controller to access
> + system-level configuration registers related to the AHB bus.
> + To enable AHB access for the PCIe controller.
> +
> + aspeed,pciecfg:
> + $ref: /schemas/types.yaml#/definitions/phandle
> + description:
> + Phandle to the ASPEED PCIe configuration syscon node.
> + This reference allows the PCIe controller to access
> + SoC-specific PCIe configuration registers. There are the others
> + functions such PCIe RC and PCIe EP will use this common register
> + to configure the SoC interfaces.
> +
> + interrupt-controller:
> + description: Interrupt controller node for handling legacy PCI interrupts.
> + type: object
> + properties:
> + '#address-cells':
> + const: 0
> + '#interrupt-cells':
> + const: 1
> + interrupt-controller: true
> +
> + required:
> + - '#address-cells'
> + - '#interrupt-cells'
> + - interrupt-controller
> +
> + additionalProperties: false
> +
> +allOf:
> + - $ref: /schemas/pci/pci-host-bridge.yaml#
> + - $ref: /schemas/interrupt-controller/msi-controller.yaml#
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: aspeed,ast2600-pcie
> + then:
> + required:
> + - aspeed,ahbc
> + else:
> + properties:
> + aspeed,ahbc: false
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: aspeed,ast2700-pcie
> + then:
> + required:
> + - aspeed,pciecfg
> + else:
> + properties:
> + aspeed,pciecfg: false
> +
> +required:
> + - reg
> + - interrupts
> + - bus-range
> + - ranges
> + - resets
> + - reset-names
> + - msi-parent
> + - msi-controller
> + - interrupt-map-mask
> + - interrupt-map
> + - interrupt-controller
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> + #include <dt-bindings/clock/ast2600-clock.h>
> +
> + apb {
> + #address-cells = <1>;
> + #size-cells = <1>;
No need to show this node.
> +
> + pcie0: pcie@1e770000 {
> + compatible = "aspeed,ast2600-pcie";
> + device_type = "pci";
> + reg = <0x1e770000 0x100>;
> + linux,pci-domain = <0>;
> + #address-cells = <3>;
> + #size-cells = <2>;
> + interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
> + bus-range = <0x80 0xff>;
> +
> + ranges = <0x01000000 0x0 0x00018000 0x00018000 0x0 0x00008000
> + 0x02000000 0x0 0x70000000 0x70000000 0x0 0x10000000>;
> +
> + status = "disabled";
Examples should be enabled. Drop.
> +
> + resets = <&syscon ASPEED_RESET_H2X>;
> + reset-names = "h2x";
> +
> + #interrupt-cells = <1>;
> + msi-parent = <&pcie0>;
There shouldn't be any need to point to yourself.
> + msi-controller;
> +
> + aspeed,ahbc = <&ahbc>;
> +
> + interrupt-map-mask = <0 0 0 7>;
> + interrupt-map = <0 0 0 1 &pcie_intc0 0>,
> + <0 0 0 2 &pcie_intc0 1>,
> + <0 0 0 3 &pcie_intc0 2>,
> + <0 0 0 4 &pcie_intc0 3>;
> + pcie_intc0: interrupt-controller {
> + interrupt-controller;
> + #address-cells = <0>;
> + #interrupt-cells = <1>;
> + };
> +
> + pcie@8,0 {
> + reg = <0x804000 0 0 0 0>;
> + #address-cells = <3>;
> + #size-cells = <2>;
> + device_type = "pci";
> + resets = <&syscon ASPEED_RESET_PCIE_RC_O>;
> + reset-names = "perst";
> + clocks = <&syscon ASPEED_CLK_GATE_BCLK>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_pcierc1_default>;
> + phys = <&pcie_phy1>;
> + ranges;
> + };
> + };
> + };
> --
> 2.43.0
>
WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Jacky Chou <jacky_chou@aspeedtech.com>
Cc: 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,
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
Subject: Re: [PATCH v3 03/10] dt-bindings: PCI: Add ASPEED PCIe RC support
Date: Tue, 2 Sep 2025 16:12:21 -0500 [thread overview]
Message-ID: <20250902211221.GA1179675-robh@kernel.org> (raw)
In-Reply-To: <20250901055922.1553550-4-jacky_chou@aspeedtech.com>
On Mon, Sep 01, 2025 at 01:59:15PM +0800, Jacky Chou wrote:
> ASPEED AST2600 provides one PCIe RC for Gen2 and AST2700 provides three
> PCIe RC for two Gen4 and one Gen2. All of these RCs have just one root
> port to connect to PCIe device. And also have Mem, I/O access, legacy
> interrupt and MSI.
>
> Signed-off-by: Jacky Chou <jacky_chou@aspeedtech.com>
> ---
> .../bindings/pci/aspeed,ast2600-pcie.yaml | 179 ++++++++++++++++++
> 1 file changed, 179 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/pci/aspeed,ast2600-pcie.yaml
>
> diff --git a/Documentation/devicetree/bindings/pci/aspeed,ast2600-pcie.yaml b/Documentation/devicetree/bindings/pci/aspeed,ast2600-pcie.yaml
> new file mode 100644
> index 000000000000..fe75bf2961c8
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pci/aspeed,ast2600-pcie.yaml
> @@ -0,0 +1,179 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/pci/aspeed,ast2600-pcie.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: ASPEED PCIe Root Complex Controller
> +
> +maintainers:
> + - Jacky Chou <jacky_chou@aspeedtech.com>
> +
> +description:
> + The ASPEED PCIe Root Complex controller provides PCI Express Root Complex
> + functionality for ASPEED SoCs, such as the AST2600 and AST2700.
> + This controller enables connectivity to PCIe endpoint devices, supporting
> + memory and I/O windows, MSI and legacy interrupts, and integration with
> + the SoC's clock, reset, and pinctrl subsystems.
> +
> +properties:
> + compatible:
> + enum:
> + - aspeed,ast2600-pcie
> + - aspeed,ast2700-pcie
> +
> + reg:
> + maxItems: 1
> +
> + ranges:
> + minItems: 2
> + maxItems: 2
> +
> + interrupts:
> + maxItems: 1
> + description: IntX and MSI interrupt
> +
> + resets:
> + items:
> + - description: PCIe controller reset
> +
> + reset-names:
> + items:
> + - const: h2x
> +
> + msi-parent: true
> +
> + aspeed,ahbc:
> + $ref: /schemas/types.yaml#/definitions/phandle
> + description:
> + Phandle to the ASPEED AHB Controller (AHBC) syscon node.
> + This reference is used by the PCIe controller to access
> + system-level configuration registers related to the AHB bus.
> + To enable AHB access for the PCIe controller.
> +
> + aspeed,pciecfg:
> + $ref: /schemas/types.yaml#/definitions/phandle
> + description:
> + Phandle to the ASPEED PCIe configuration syscon node.
> + This reference allows the PCIe controller to access
> + SoC-specific PCIe configuration registers. There are the others
> + functions such PCIe RC and PCIe EP will use this common register
> + to configure the SoC interfaces.
> +
> + interrupt-controller:
> + description: Interrupt controller node for handling legacy PCI interrupts.
> + type: object
> + properties:
> + '#address-cells':
> + const: 0
> + '#interrupt-cells':
> + const: 1
> + interrupt-controller: true
> +
> + required:
> + - '#address-cells'
> + - '#interrupt-cells'
> + - interrupt-controller
> +
> + additionalProperties: false
> +
> +allOf:
> + - $ref: /schemas/pci/pci-host-bridge.yaml#
> + - $ref: /schemas/interrupt-controller/msi-controller.yaml#
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: aspeed,ast2600-pcie
> + then:
> + required:
> + - aspeed,ahbc
> + else:
> + properties:
> + aspeed,ahbc: false
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: aspeed,ast2700-pcie
> + then:
> + required:
> + - aspeed,pciecfg
> + else:
> + properties:
> + aspeed,pciecfg: false
> +
> +required:
> + - reg
> + - interrupts
> + - bus-range
> + - ranges
> + - resets
> + - reset-names
> + - msi-parent
> + - msi-controller
> + - interrupt-map-mask
> + - interrupt-map
> + - interrupt-controller
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> + #include <dt-bindings/clock/ast2600-clock.h>
> +
> + apb {
> + #address-cells = <1>;
> + #size-cells = <1>;
No need to show this node.
> +
> + pcie0: pcie@1e770000 {
> + compatible = "aspeed,ast2600-pcie";
> + device_type = "pci";
> + reg = <0x1e770000 0x100>;
> + linux,pci-domain = <0>;
> + #address-cells = <3>;
> + #size-cells = <2>;
> + interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
> + bus-range = <0x80 0xff>;
> +
> + ranges = <0x01000000 0x0 0x00018000 0x00018000 0x0 0x00008000
> + 0x02000000 0x0 0x70000000 0x70000000 0x0 0x10000000>;
> +
> + status = "disabled";
Examples should be enabled. Drop.
> +
> + resets = <&syscon ASPEED_RESET_H2X>;
> + reset-names = "h2x";
> +
> + #interrupt-cells = <1>;
> + msi-parent = <&pcie0>;
There shouldn't be any need to point to yourself.
> + msi-controller;
> +
> + aspeed,ahbc = <&ahbc>;
> +
> + interrupt-map-mask = <0 0 0 7>;
> + interrupt-map = <0 0 0 1 &pcie_intc0 0>,
> + <0 0 0 2 &pcie_intc0 1>,
> + <0 0 0 3 &pcie_intc0 2>,
> + <0 0 0 4 &pcie_intc0 3>;
> + pcie_intc0: interrupt-controller {
> + interrupt-controller;
> + #address-cells = <0>;
> + #interrupt-cells = <1>;
> + };
> +
> + pcie@8,0 {
> + reg = <0x804000 0 0 0 0>;
> + #address-cells = <3>;
> + #size-cells = <2>;
> + device_type = "pci";
> + resets = <&syscon ASPEED_RESET_PCIE_RC_O>;
> + reset-names = "perst";
> + clocks = <&syscon ASPEED_CLK_GATE_BCLK>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_pcierc1_default>;
> + phys = <&pcie_phy1>;
> + ranges;
> + };
> + };
> + };
> --
> 2.43.0
>
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
next prev parent reply other threads:[~2025-09-02 21:12 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-01 5:59 [PATCH v3 00/10] Add ASPEED PCIe Root Complex support Jacky Chou
2025-09-01 5:59 ` Jacky Chou
2025-09-01 5:59 ` [PATCH v3 01/10] dt-bindings: soc: aspeed: Add ASPEED PCIe Config Jacky Chou
2025-09-01 5:59 ` Jacky Chou
2025-09-01 11:45 ` Krzysztof Kozlowski
2025-09-01 11:45 ` Krzysztof Kozlowski
2025-09-02 2:30 ` Jacky Chou
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-01 5:59 ` Jacky Chou
2025-09-02 21:07 ` Rob Herring (Arm)
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-01 5:59 ` Jacky Chou
2025-09-02 21:12 ` Rob Herring [this message]
2025-09-02 21:12 ` Rob Herring
2025-09-03 6:12 ` Jacky Chou
2025-09-03 6:12 ` Jacky Chou
2025-09-05 5:21 ` Manivannan Sadhasivam
2025-09-05 5:21 ` Manivannan Sadhasivam
2025-09-26 3:45 ` Jacky Chou
2025-09-26 3:45 ` Jacky Chou
2025-09-01 5:59 ` [PATCH v3 04/10] dt-bindings: pinctrl: aspeed,ast2600-pinctrl: Add PCIe RC PERST# group Jacky Chou
2025-09-01 5:59 ` Jacky Chou
2025-09-02 7:53 ` Krzysztof Kozlowski
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 ` 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 ` Jacky Chou
2025-09-01 5:59 ` [PATCH v3 07/10] PHY: aspeed: Add ASPEED PCIe PHY driver Jacky Chou
2025-09-01 5:59 ` Jacky Chou
2025-09-02 10:23 ` kernel test robot
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-01 5:59 ` Jacky Chou
2025-09-03 22:32 ` Bjorn Helgaas
2025-09-03 22:32 ` Bjorn Helgaas
2025-09-05 0:42 ` 回覆: " Jacky Chou
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-01 5:59 ` Jacky Chou
2025-09-03 22:48 ` Bjorn Helgaas
2025-09-03 22:48 ` Bjorn Helgaas
2025-09-05 1:41 ` Jacky Chou
2025-09-05 1:41 ` Jacky Chou
2025-09-05 6:44 ` Manivannan Sadhasivam
2025-09-05 6:44 ` Manivannan Sadhasivam
2025-09-01 5:59 ` [PATCH v3 10/10] MAINTAINERS: " Jacky Chou
2025-09-01 5:59 ` 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=20250902211221.GA1179675-robh@kernel.org \
--to=robh@kernel.org \
--cc=andrew@codeconstruct.com.au \
--cc=bhelgaas@google.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jacky_chou@aspeedtech.com \
--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=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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.