From: Rob Herring <robh@kernel.org>
To: Christian Bruel <christian.bruel@foss.st.com>
Cc: bhelgaas@google.com, lpieralisi@kernel.org, kw@linux.com,
manivannan.sadhasivam@linaro.org, krzk+dt@kernel.org,
conor+dt@kernel.org, mcoquelin.stm32@gmail.com,
alexandre.torgue@foss.st.com, jingoohan1@gmail.com,
p.zabel@pengutronix.de, johan+linaro@kernel.org,
quic_schintav@quicinc.com, cassel@kernel.org,
linux-pci@vger.kernel.org, devicetree@vger.kernel.org,
linux-stm32@st-md-mailman.stormreply.com,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, fabrice.gasnier@foss.st.com
Subject: Re: [PATCH v3 01/10] dt-bindings: PCI: Add STM32MP25 PCIe Root Complex bindings
Date: Thu, 23 Jan 2025 15:38:18 -0600 [thread overview]
Message-ID: <20250123213818.GA401153-robh@kernel.org> (raw)
In-Reply-To: <20250115092134.2904773-2-christian.bruel@foss.st.com>
On Wed, Jan 15, 2025 at 10:21:25AM +0100, Christian Bruel wrote:
> Document the bindings for STM32MP25 PCIe Controller configured in
> root complex mode.
>
> Supports 4 INTx and MSI interrupts from the ARM GICv2m controller.
>
> STM32 PCIe may be in a power domain which is the case for the STM32MP25
> based boards.
>
> Supports WAKE# from wake-gpios
>
> Signed-off-by: Christian Bruel <christian.bruel@foss.st.com>
> ---
> .../bindings/pci/st,stm32-pcie-common.yaml | 43 +++++++
> .../bindings/pci/st,stm32-pcie-host.yaml | 120 ++++++++++++++++++
> 2 files changed, 163 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/pci/st,stm32-pcie-common.yaml
> create mode 100644 Documentation/devicetree/bindings/pci/st,stm32-pcie-host.yaml
>
> diff --git a/Documentation/devicetree/bindings/pci/st,stm32-pcie-common.yaml b/Documentation/devicetree/bindings/pci/st,stm32-pcie-common.yaml
> new file mode 100644
> index 000000000000..9ee25bb25aac
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pci/st,stm32-pcie-common.yaml
> @@ -0,0 +1,43 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/pci/st,stm32-pcie-common.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: STM32MP25 PCIe RC/EP controller
> +
> +maintainers:
> + - Christian Bruel <christian.bruel@foss.st.com>
> +
> +description:
> + STM32MP25 PCIe RC/EP common properties
> +
> +properties:
> + clocks:
> + maxItems: 1
> + description: PCIe system clock
> +
> + resets:
> + maxItems: 1
> +
> + phys:
> + maxItems: 1
You have phys in host bridge and the root ports?
> +
> + phy-names:
> + const: pcie-phy
-names is unless when there is only 1 entry. We already know it's a
'phy' for 'pcie', so the whole string adds nothing.
> +
> + power-domains:
> + maxItems: 1
> +
> + access-controllers:
> + maxItems: 1
> +
> + reset-gpios:
> + description: GPIO controlled connection to PERST# signal
> + maxItems: 1
You have multiple root ports, but only one PERST# signal?
> +
> +required:
> + - clocks
> + - resets
> +
> +additionalProperties: true
> diff --git a/Documentation/devicetree/bindings/pci/st,stm32-pcie-host.yaml b/Documentation/devicetree/bindings/pci/st,stm32-pcie-host.yaml
> new file mode 100644
> index 000000000000..b5b8c92522e0
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pci/st,stm32-pcie-host.yaml
> @@ -0,0 +1,120 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/pci/st,stm32-pcie-host.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: STMicroelectronics STM32MP25 PCIe Root Complex
> +
> +maintainers:
> + - Christian Bruel <christian.bruel@foss.st.com>
> +
> +description:
> + PCIe root complex controller based on the Synopsys DesignWare PCIe core.
> +
> +allOf:
> + - $ref: /schemas/pci/snps,dw-pcie.yaml#
> + - $ref: /schemas/pci/st,stm32-pcie-common.yaml#
> +
> +properties:
> + compatible:
> + const: st,stm32mp25-pcie-rc
> +
> + reg:
> + items:
> + - description: Data Bus Interface (DBI) registers.
> + - description: PCIe configuration registers.
> +
> + reg-names:
> + items:
> + - const: dbi
> + - const: config
> +
> + msi-parent:
> + maxItems: 1
> +
> + wake-gpios:
> + description: GPIO used as WAKE# input signal
> + maxItems: 1
> +
> + wakeup-source: true
> +
> +dependentRequired:
> + wakeup-source: [ wake-gpios ]
> +
> +patternProperties:
> + '^pcie@[0-2],0$':
> + type: object
> + $ref: /schemas/pci/pci-pci-bridge.yaml#
> +
> + properties:
> + reg:
> + maxItems: 1
> +
> + phys:
> + maxItems: 1
> +
> + phy-names:
> + const: pcie-phy
> +
> + required:
> + - phys
> + - phy-names
> + - ranges
> +
> + unevaluatedProperties: false
> +
> +required:
> + - interrupt-map
> + - interrupt-map-mask
> + - ranges
> + - dma-ranges
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/clock/st,stm32mp25-rcc.h>
> + #include <dt-bindings/gpio/gpio.h>
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> + #include <dt-bindings/phy/phy.h>
> + #include <dt-bindings/reset/st,stm32mp25-rcc.h>
> +
> + pcie@48400000 {
> + compatible = "st,stm32mp25-pcie-rc";
> + device_type = "pci";
> + reg = <0x48400000 0x400000>,
> + <0x10000000 0x10000>;
> + reg-names = "dbi", "config";
> + #interrupt-cells = <1>;
> + interrupt-map-mask = <0 0 0 7>;
> + interrupt-map = <0 0 0 1 &intc 0 0 GIC_SPI 264 IRQ_TYPE_LEVEL_HIGH>,
> + <0 0 0 2 &intc 0 0 GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>,
> + <0 0 0 3 &intc 0 0 GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>,
> + <0 0 0 4 &intc 0 0 GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>;
> + #address-cells = <3>;
> + #size-cells = <2>;
> + ranges = <0x01000000 0x0 0x00000000 0x10010000 0x0 0x10000>,
> + <0x02000000 0x0 0x10020000 0x10020000 0x0 0x7fe0000>,
> + <0x42000000 0x0 0x18000000 0x18000000 0x0 0x8000000>;
> + dma-ranges = <0x42000000 0x0 0x80000000 0x80000000 0x0 0x80000000>;
> + clocks = <&rcc CK_BUS_PCIE>;
> + resets = <&rcc PCIE_R>;
> + msi-parent = <&v2m0>;
> + wakeup-source;
> + wake-gpios = <&gpioh 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
> + reset-gpios = <&gpioj 8 GPIO_ACTIVE_LOW>;
> + access-controllers = <&rifsc 68>;
> + power-domains = <&CLUSTER_PD>;
> +
> + pcie@0,0 {
> + device_type = "pci";
> + reg = <0x0 0x0 0x0 0x0 0x0>;
> + phys = <&combophy PHY_TYPE_PCIE>;
> + phy-names = "pcie-phy";
> + #address-cells = <3>;
> + #size-cells = <2>;
> + ranges;
> + };
> +
> + };
> --
> 2.34.1
>
next prev parent reply other threads:[~2025-01-23 21:41 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-15 9:21 [PATCH v3 0/9] Add STM32MP25 PCIe drivers Christian Bruel
2025-01-15 9:21 ` [PATCH v3 01/10] dt-bindings: PCI: Add STM32MP25 PCIe Root Complex bindings Christian Bruel
2025-01-23 21:38 ` Rob Herring [this message]
2025-01-24 15:42 ` Christian Bruel
2025-01-15 9:21 ` [PATCH v3 02/10] PCI: dwc: Add dw_pcie_wake_irq_handler helper Christian Bruel
2025-01-15 9:21 ` [PATCH v3 03/10] PCI: stm32: Add PCIe host support for STM32MP25 Christian Bruel
2025-01-15 9:21 ` [PATCH v3 04/10] dt-bindings: PCI: Add STM32MP25 PCIe Endpoint bindings Christian Bruel
2025-01-15 9:21 ` [PATCH v3 05/10] PCI: stm32: Add PCIe Endpoint support for STM32MP25 Christian Bruel
2025-01-15 9:21 ` [PATCH v3 06/10] MAINTAINERS: add entry for ST STM32MP25 PCIe drivers Christian Bruel
2025-01-15 9:21 ` [PATCH v3 07/10] arm64: dts: st: add PCIe pinctrl entries in stm32mp25-pinctrl.dtsi Christian Bruel
2025-01-15 9:21 ` [PATCH v3 08/10] arm64: dts: st: Add PCIe Rootcomplex mode on stm32mp251 Christian Bruel
2025-01-15 9:21 ` [PATCH v3 09/10] arm64: dts: st: Enable PCIe on the stm32mp257f-ev1 board Christian Bruel
2025-01-15 9:21 ` [PATCH v3 10/10] arm64: dts: st: Add PCIe Endpoint mode on stm32mp251 Christian Bruel
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=20250123213818.GA401153-robh@kernel.org \
--to=robh@kernel.org \
--cc=alexandre.torgue@foss.st.com \
--cc=bhelgaas@google.com \
--cc=cassel@kernel.org \
--cc=christian.bruel@foss.st.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=fabrice.gasnier@foss.st.com \
--cc=jingoohan1@gmail.com \
--cc=johan+linaro@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=kw@linux.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=lpieralisi@kernel.org \
--cc=manivannan.sadhasivam@linaro.org \
--cc=mcoquelin.stm32@gmail.com \
--cc=p.zabel@pengutronix.de \
--cc=quic_schintav@quicinc.com \
/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.