# 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 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 patternProperties: '^pcie@[0-2],0$': type: object $ref: /schemas/pci/pci-pci-bridge.yaml# properties: reg: maxItems: 1 phys: maxItems: 1 reset-gpios: description: GPIO controlled connection to PERST# signal maxItems: 1 wake-gpios: description: GPIO used as WAKE# input signal maxItems: 1 required: - phys - ranges unevaluatedProperties: false required: - interrupt-map - interrupt-map-mask - ranges - dma-ranges unevaluatedProperties: false examples: - | #include #include #include #include #include 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>; 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>; wake-gpios = <&gpioh 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; reset-gpios = <&gpioj 8 GPIO_ACTIVE_LOW>; #address-cells = <3>; #size-cells = <2>; ranges; }; };