treewide: remove redundant IS_ERR() before error code check
[linux/fpc-iii.git] / Documentation / devicetree / bindings / pci / intel-gw-pcie.yaml
blobdb605d8a387d9417268edb765f51c1324229da82
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#
7 title: PCIe RC controller on Intel Gateway SoCs
9 maintainers:
10   - Dilip Kota <eswara.kota@linux.intel.com>
12 properties:
13   compatible:
14     items:
15       - const: intel,lgm-pcie
16       - const: snps,dw-pcie
18   device_type:
19     const: pci
21   "#address-cells":
22     const: 3
24   "#size-cells":
25     const: 2
27   reg:
28     items:
29       - description: Controller control and status registers.
30       - description: PCIe configuration registers.
31       - description: Controller application registers.
33   reg-names:
34     items:
35       - const: dbi
36       - const: config
37       - const: app
39   ranges:
40     maxItems: 1
42   resets:
43     maxItems: 1
45   clocks:
46     maxItems: 1
48   phys:
49     maxItems: 1
51   phy-names:
52     const: pcie
54   reset-gpios:
55     maxItems: 1
57   linux,pci-domain: true
59   num-lanes:
60     maximum: 2
61     description: Number of lanes to use for this port.
63   '#interrupt-cells':
64     const: 1
66   interrupt-map-mask:
67     description: Standard PCI IRQ mapping properties.
69   interrupt-map:
70     description: Standard PCI IRQ mapping properties.
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
79   bus-range:
80     description: Range of bus numbers associated with this controller.
82   reset-assert-ms:
83     description: |
84       Delay after asserting reset to the PCIe device.
85     maximum: 500
86     default: 100
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
105 additionalProperties: false
107 examples:
108   - |
109     #include <dt-bindings/gpio/gpio.h>
110     #include <dt-bindings/clock/intel,lgm-clk.h>
111     pcie10: pcie@d0e00000 {
112       compatible = "intel,lgm-pcie", "snps,dw-pcie";
113       device_type = "pci";
114       #address-cells = <3>;
115       #size-cells = <2>;
116       reg = <0xd0e00000 0x1000>,
117             <0xd2000000 0x800000>,
118             <0xd0a41000 0x1000>;
119       reg-names = "dbi", "config", "app";
120       linux,pci-domain = <0>;
121       max-link-speed = <4>;
122       bus-range = <0x00 0x08>;
123       interrupt-parent = <&ioapic1>;
124       #interrupt-cells = <1>;
125       interrupt-map-mask = <0 0 0 0x7>;
126       interrupt-map = <0 0 0 1 &ioapic1 27 1>,
127                       <0 0 0 2 &ioapic1 28 1>,
128                       <0 0 0 3 &ioapic1 29 1>,
129                       <0 0 0 4 &ioapic1 30 1>;
130       ranges = <0x02000000 0 0xd4000000 0xd4000000 0 0x04000000>;
131       resets = <&rcu0 0x50 0>;
132       clocks = <&cgu0 LGM_GCLK_PCIE10>;
133       phys = <&cb0phy0>;
134       phy-names = "pcie";
135       reset-assert-ms = <500>;
136       reset-gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
137       num-lanes = <2>;
138     };