Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / pci / intel-gw-pcie.yaml
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/pci/intel-gw-pcie.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: PCIe RC controller on Intel Gateway SoCs
8
9 maintainers:
10   - Dilip Kota <eswara.kota@linux.intel.com>
11
12 select:
13   properties:
14     compatible:
15       contains:
16         const: intel,lgm-pcie
17   required:
18     - compatible
19
20 properties:
21   compatible:
22     items:
23       - const: intel,lgm-pcie
24       - const: snps,dw-pcie
25
26   device_type:
27     const: pci
28
29   "#address-cells":
30     const: 3
31
32   "#size-cells":
33     const: 2
34
35   reg:
36     items:
37       - description: Controller control and status registers.
38       - description: PCIe configuration registers.
39       - description: Controller application registers.
40
41   reg-names:
42     items:
43       - const: dbi
44       - const: config
45       - const: app
46
47   ranges:
48     maxItems: 1
49
50   resets:
51     maxItems: 1
52
53   clocks:
54     maxItems: 1
55
56   phys:
57     maxItems: 1
58
59   phy-names:
60     const: pcie
61
62   reset-gpios:
63     maxItems: 1
64
65   linux,pci-domain: true
66
67   num-lanes:
68     maximum: 2
69     description: Number of lanes to use for this port.
70
71   '#interrupt-cells':
72     const: 1
73
74   interrupt-map-mask:
75     description: Standard PCI IRQ mapping properties.
76
77   interrupt-map:
78     description: Standard PCI IRQ mapping properties.
79
80   max-link-speed:
81     description: Specify PCI Gen for link capability.
82     $ref: /schemas/types.yaml#/definitions/uint32
83     enum: [1, 2, 3, 4]
84     default: 1
85
86   bus-range:
87     description: Range of bus numbers associated with this controller.
88
89   reset-assert-ms:
90     description: |
91       Delay after asserting reset to the PCIe device.
92     maximum: 500
93     default: 100
94
95 required:
96   - compatible
97   - device_type
98   - "#address-cells"
99   - "#size-cells"
100   - reg
101   - reg-names
102   - ranges
103   - resets
104   - clocks
105   - phys
106   - phy-names
107   - reset-gpios
108   - '#interrupt-cells'
109   - interrupt-map
110   - interrupt-map-mask
111
112 additionalProperties: false
113
114 examples:
115   - |
116     #include <dt-bindings/gpio/gpio.h>
117     pcie10: pcie@d0e00000 {
118       compatible = "intel,lgm-pcie", "snps,dw-pcie";
119       device_type = "pci";
120       #address-cells = <3>;
121       #size-cells = <2>;
122       reg = <0xd0e00000 0x1000>,
123             <0xd2000000 0x800000>,
124             <0xd0a41000 0x1000>;
125       reg-names = "dbi", "config", "app";
126       linux,pci-domain = <0>;
127       max-link-speed = <4>;
128       bus-range = <0x00 0x08>;
129       #interrupt-cells = <1>;
130       interrupt-map-mask = <0 0 0 0x7>;
131       interrupt-map = <0 0 0 1 &ioapic1 27 1>,
132                       <0 0 0 2 &ioapic1 28 1>,
133                       <0 0 0 3 &ioapic1 29 1>,
134                       <0 0 0 4 &ioapic1 30 1>;
135       ranges = <0x02000000 0 0xd4000000 0xd4000000 0 0x04000000>;
136       resets = <&rcu0 0x50 0>;
137       clocks = <&cgu0 120>;
138       phys = <&cb0phy0>;
139       phy-names = "pcie";
140       reset-assert-ms = <500>;
141       reset-gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
142       num-lanes = <2>;
143     };