# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/pci/intel-gw-pcie.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: PCIe RC controller on Intel Gateway SoCs maintainers: - Rahul Tanwar <rtanwar@maxlinear.com> select: properties: compatible: contains: const: intel,lgm-pcie required: - compatible allOf: - $ref: /schemas/pci/snps,dw-pcie.yaml# properties: compatible: items: - const: intel,lgm-pcie - const: snps,dw-pcie reg: items: - description: Controller control and status registers. - description: PCIe configuration registers. - description: Controller application registers. reg-names: items: - const: dbi - const: config - const: app ranges: maxItems: 1 resets: maxItems: 1 clocks: maxItems: 1 phys: maxItems: 1 phy-names: const: pcie reset-gpios: maxItems: 1 num-lanes: maximum: 2 max-link-speed: enum: [1, 2, 3, 4] default: 1 reset-assert-ms: description: | Delay after asserting reset to the PCIe device. maximum: 500 default: 100 required: - compatible - reg - reg-names - ranges - resets - clocks - phys - phy-names - reset-gpios - '#interrupt-cells' - interrupt-map - interrupt-map-mask unevaluatedProperties: false examples: - | #include <dt-bindings/gpio/gpio.h> pcie10: pcie@d0e00000 { compatible = "intel,lgm-pcie", "snps,dw-pcie"; device_type = "pci"; #address-cells = <3>; #size-cells = <2>; reg = <0xd0e00000 0x1000>, <0xd2000000 0x800000>, <0xd0a41000 0x1000>; reg-names = "dbi", "config", "app"; linux,pci-domain = <0>; max-link-speed = <4>; bus-range = <0x00 0x08>; #interrupt-cells = <1>; interrupt-map-mask = <0 0 0 0x7>; interrupt-map = <0 0 0 1 &ioapic1 27 1>, <0 0 0 2 &ioapic1 28 1>, <0 0 0 3 &ioapic1 29 1>, <0 0 0 4 &ioapic1 30 1>; ranges = <0x02000000 0 0xd4000000 0xd4000000 0 0x04000000>; resets = <&rcu0 0x50 0>; clocks = <&cgu0 120>; phys = <&cb0phy0>; phy-names = "pcie"; reset-assert-ms = <500>; reset-gpios = <&gpio0 3 GPIO_ACTIVE_LOW>; num-lanes = <2>; };