Merge tag 'for-linus-5.6-1' of https://github.com/cminyard/linux-ipmi
[sfrench/cifs-2.6.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 properties:
13   compatible:
14     items:
15       - const: intel,lgm-pcie
16       - const: snps,dw-pcie
17
18   device_type:
19     const: pci
20
21   "#address-cells":
22     const: 3
23
24   "#size-cells":
25     const: 2
26
27   reg:
28     items:
29       - description: Controller control and status registers.
30       - description: PCIe configuration registers.
31       - description: Controller application registers.
32
33   reg-names:
34     items:
35       - const: dbi
36       - const: config
37       - const: app
38
39   ranges:
40     maxItems: 1
41
42   resets:
43     maxItems: 1
44
45   clocks:
46     maxItems: 1
47
48   phys:
49     maxItems: 1
50
51   phy-names:
52     const: pcie
53
54   reset-gpios:
55     maxItems: 1
56
57   linux,pci-domain: true
58
59   num-lanes:
60     maximum: 2
61     description: Number of lanes to use for this port.
62
63   '#interrupt-cells':
64     const: 1
65
66   interrupt-map-mask:
67     description: Standard PCI IRQ mapping properties.
68
69   interrupt-map:
70     description: Standard PCI IRQ mapping properties.
71
72   max-link-speed:
73     description: Specify PCI Gen for link capability.
74     allOf:
75       - $ref: /schemas/types.yaml#/definitions/uint32
76       - enum: [ 1, 2, 3, 4 ]
77       - default: 1
78
79   bus-range:
80     description: Range of bus numbers associated with this controller.
81
82   reset-assert-ms:
83     description: |
84       Delay after asserting reset to the PCIe device.
85     maximum: 500
86     default: 100
87
88 required:
89   - compatible
90   - device_type
91   - "#address-cells"
92   - "#size-cells"
93   - reg
94   - reg-names
95   - ranges
96   - resets
97   - clocks
98   - phys
99   - phy-names
100   - reset-gpios
101   - '#interrupt-cells'
102   - interrupt-map
103   - interrupt-map-mask
104
105 additionalProperties: false
106
107 examples:
108   - |
109     #include <dt-bindings/gpio/gpio.h>
110     pcie10: pcie@d0e00000 {
111       compatible = "intel,lgm-pcie", "snps,dw-pcie";
112       device_type = "pci";
113       #address-cells = <3>;
114       #size-cells = <2>;
115       reg = <0xd0e00000 0x1000>,
116             <0xd2000000 0x800000>,
117             <0xd0a41000 0x1000>;
118       reg-names = "dbi", "config", "app";
119       linux,pci-domain = <0>;
120       max-link-speed = <4>;
121       bus-range = <0x00 0x08>;
122       #interrupt-cells = <1>;
123       interrupt-map-mask = <0 0 0 0x7>;
124       interrupt-map = <0 0 0 1 &ioapic1 27 1>,
125                       <0 0 0 2 &ioapic1 28 1>,
126                       <0 0 0 3 &ioapic1 29 1>,
127                       <0 0 0 4 &ioapic1 30 1>;
128       ranges = <0x02000000 0 0xd4000000 0xd4000000 0 0x04000000>;
129       resets = <&rcu0 0x50 0>;
130       clocks = <&cgu0 120>;
131       phys = <&cb0phy0>;
132       phy-names = "pcie";
133       reset-assert-ms = <500>;
134       reset-gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
135       num-lanes = <2>;
136     };