1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2c66ec88fSEmmanuel Vadot%YAML 1.2 3c66ec88fSEmmanuel Vadot--- 4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/pci/intel-gw-pcie.yaml# 5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c66ec88fSEmmanuel Vadot 7c66ec88fSEmmanuel Vadottitle: PCIe RC controller on Intel Gateway SoCs 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadotmaintainers: 10*354d7675SEmmanuel Vadot - Rahul Tanwar <rtanwar@maxlinear.com> 11c66ec88fSEmmanuel Vadot 12c66ec88fSEmmanuel Vadotselect: 13c66ec88fSEmmanuel Vadot properties: 14c66ec88fSEmmanuel Vadot compatible: 15c66ec88fSEmmanuel Vadot contains: 16c66ec88fSEmmanuel Vadot const: intel,lgm-pcie 17c66ec88fSEmmanuel Vadot required: 18c66ec88fSEmmanuel Vadot - compatible 19c66ec88fSEmmanuel Vadot 20*354d7675SEmmanuel VadotallOf: 21*354d7675SEmmanuel Vadot - $ref: /schemas/pci/snps,dw-pcie.yaml# 22*354d7675SEmmanuel Vadot 23c66ec88fSEmmanuel Vadotproperties: 24c66ec88fSEmmanuel Vadot compatible: 25c66ec88fSEmmanuel Vadot items: 26c66ec88fSEmmanuel Vadot - const: intel,lgm-pcie 27c66ec88fSEmmanuel Vadot - const: snps,dw-pcie 28c66ec88fSEmmanuel Vadot 29c66ec88fSEmmanuel Vadot reg: 30c66ec88fSEmmanuel Vadot items: 31c66ec88fSEmmanuel Vadot - description: Controller control and status registers. 32c66ec88fSEmmanuel Vadot - description: PCIe configuration registers. 33c66ec88fSEmmanuel Vadot - description: Controller application registers. 34c66ec88fSEmmanuel Vadot 35c66ec88fSEmmanuel Vadot reg-names: 36c66ec88fSEmmanuel Vadot items: 37c66ec88fSEmmanuel Vadot - const: dbi 38c66ec88fSEmmanuel Vadot - const: config 39c66ec88fSEmmanuel Vadot - const: app 40c66ec88fSEmmanuel Vadot 41c66ec88fSEmmanuel Vadot ranges: 42c66ec88fSEmmanuel Vadot maxItems: 1 43c66ec88fSEmmanuel Vadot 44c66ec88fSEmmanuel Vadot resets: 45c66ec88fSEmmanuel Vadot maxItems: 1 46c66ec88fSEmmanuel Vadot 47c66ec88fSEmmanuel Vadot clocks: 48c66ec88fSEmmanuel Vadot maxItems: 1 49c66ec88fSEmmanuel Vadot 50c66ec88fSEmmanuel Vadot phys: 51c66ec88fSEmmanuel Vadot maxItems: 1 52c66ec88fSEmmanuel Vadot 53c66ec88fSEmmanuel Vadot phy-names: 54c66ec88fSEmmanuel Vadot const: pcie 55c66ec88fSEmmanuel Vadot 56c66ec88fSEmmanuel Vadot reset-gpios: 57c66ec88fSEmmanuel Vadot maxItems: 1 58c66ec88fSEmmanuel Vadot 59c66ec88fSEmmanuel Vadot num-lanes: 60c66ec88fSEmmanuel Vadot maximum: 2 61c66ec88fSEmmanuel Vadot 62c66ec88fSEmmanuel Vadot max-link-speed: 63c66ec88fSEmmanuel Vadot enum: [1, 2, 3, 4] 64c66ec88fSEmmanuel Vadot default: 1 65c66ec88fSEmmanuel Vadot 66c66ec88fSEmmanuel Vadot reset-assert-ms: 67c66ec88fSEmmanuel Vadot description: | 68c66ec88fSEmmanuel Vadot Delay after asserting reset to the PCIe device. 69c66ec88fSEmmanuel Vadot maximum: 500 70c66ec88fSEmmanuel Vadot default: 100 71c66ec88fSEmmanuel Vadot 72c66ec88fSEmmanuel Vadotrequired: 73c66ec88fSEmmanuel Vadot - compatible 74c66ec88fSEmmanuel Vadot - reg 75c66ec88fSEmmanuel Vadot - reg-names 76c66ec88fSEmmanuel Vadot - ranges 77c66ec88fSEmmanuel Vadot - resets 78c66ec88fSEmmanuel Vadot - clocks 79c66ec88fSEmmanuel Vadot - phys 80c66ec88fSEmmanuel Vadot - phy-names 81c66ec88fSEmmanuel Vadot - reset-gpios 82c66ec88fSEmmanuel Vadot - '#interrupt-cells' 83c66ec88fSEmmanuel Vadot - interrupt-map 84c66ec88fSEmmanuel Vadot - interrupt-map-mask 85c66ec88fSEmmanuel Vadot 86*354d7675SEmmanuel VadotunevaluatedProperties: false 87c66ec88fSEmmanuel Vadot 88c66ec88fSEmmanuel Vadotexamples: 89c66ec88fSEmmanuel Vadot - | 90c66ec88fSEmmanuel Vadot #include <dt-bindings/gpio/gpio.h> 91c66ec88fSEmmanuel Vadot pcie10: pcie@d0e00000 { 92c66ec88fSEmmanuel Vadot compatible = "intel,lgm-pcie", "snps,dw-pcie"; 93c66ec88fSEmmanuel Vadot device_type = "pci"; 94c66ec88fSEmmanuel Vadot #address-cells = <3>; 95c66ec88fSEmmanuel Vadot #size-cells = <2>; 96c66ec88fSEmmanuel Vadot reg = <0xd0e00000 0x1000>, 97c66ec88fSEmmanuel Vadot <0xd2000000 0x800000>, 98c66ec88fSEmmanuel Vadot <0xd0a41000 0x1000>; 99c66ec88fSEmmanuel Vadot reg-names = "dbi", "config", "app"; 100c66ec88fSEmmanuel Vadot linux,pci-domain = <0>; 101c66ec88fSEmmanuel Vadot max-link-speed = <4>; 102c66ec88fSEmmanuel Vadot bus-range = <0x00 0x08>; 103c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 104c66ec88fSEmmanuel Vadot interrupt-map-mask = <0 0 0 0x7>; 105c66ec88fSEmmanuel Vadot interrupt-map = <0 0 0 1 &ioapic1 27 1>, 106c66ec88fSEmmanuel Vadot <0 0 0 2 &ioapic1 28 1>, 107c66ec88fSEmmanuel Vadot <0 0 0 3 &ioapic1 29 1>, 108c66ec88fSEmmanuel Vadot <0 0 0 4 &ioapic1 30 1>; 109c66ec88fSEmmanuel Vadot ranges = <0x02000000 0 0xd4000000 0xd4000000 0 0x04000000>; 110c66ec88fSEmmanuel Vadot resets = <&rcu0 0x50 0>; 111c66ec88fSEmmanuel Vadot clocks = <&cgu0 120>; 112c66ec88fSEmmanuel Vadot phys = <&cb0phy0>; 113c66ec88fSEmmanuel Vadot phy-names = "pcie"; 114c66ec88fSEmmanuel Vadot reset-assert-ms = <500>; 115c66ec88fSEmmanuel Vadot reset-gpios = <&gpio0 3 GPIO_ACTIVE_LOW>; 116c66ec88fSEmmanuel Vadot num-lanes = <2>; 117c66ec88fSEmmanuel Vadot }; 118