xref: /linux/Documentation/devicetree/bindings/pci/qcom,pcie.yaml (revision 3719a04a80caf660f899a462cd8f3973bcfa676e)
1075a9d55SDmitry Baryshkov# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2075a9d55SDmitry Baryshkov%YAML 1.2
3075a9d55SDmitry Baryshkov---
4075a9d55SDmitry Baryshkov$id: http://devicetree.org/schemas/pci/qcom,pcie.yaml#
5075a9d55SDmitry Baryshkov$schema: http://devicetree.org/meta-schemas/core.yaml#
6075a9d55SDmitry Baryshkov
7075a9d55SDmitry Baryshkovtitle: Qualcomm PCI express root complex
8075a9d55SDmitry Baryshkov
9075a9d55SDmitry Baryshkovmaintainers:
10075a9d55SDmitry Baryshkov  - Bjorn Andersson <bjorn.andersson@linaro.org>
11a4c71670SManivannan Sadhasivam  - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
12075a9d55SDmitry Baryshkov
13075a9d55SDmitry Baryshkovdescription: |
145b05eab5SBaruch Siach  Qualcomm PCIe root complex controller is based on the Synopsys DesignWare
15075a9d55SDmitry Baryshkov  PCIe IP.
16075a9d55SDmitry Baryshkov
17075a9d55SDmitry Baryshkovproperties:
18075a9d55SDmitry Baryshkov  compatible:
197952e716SKrzysztof Kozlowski    oneOf:
207952e716SKrzysztof Kozlowski      - enum:
21075a9d55SDmitry Baryshkov          - qcom,pcie-apq8064
22075a9d55SDmitry Baryshkov          - qcom,pcie-apq8084
23075a9d55SDmitry Baryshkov          - qcom,pcie-ipq4019
24b649d913SNitheesh Sekar          - qcom,pcie-ipq5018
25371a6106SRobert Marko          - qcom,pcie-ipq6018
26371a6106SRobert Marko          - qcom,pcie-ipq8064
27371a6106SRobert Marko          - qcom,pcie-ipq8064-v2
28075a9d55SDmitry Baryshkov          - qcom,pcie-ipq8074
292b1c46ceSRobert Marko          - qcom,pcie-ipq8074-gen3
30e0662daeSdevi priya          - qcom,pcie-ipq9574
31371a6106SRobert Marko          - qcom,pcie-msm8996
32075a9d55SDmitry Baryshkov          - qcom,pcie-qcs404
33075a9d55SDmitry Baryshkov          - qcom,pcie-sdm845
341bc7ae32SManivannan Sadhasivam          - qcom,pcie-sdx55
3541f75771SNeil Armstrong      - items:
36c25b978dSManikanta Mylavarapu          - enum:
37f67d04b1SVaradarajan Narayanan              - qcom,pcie-ipq5332
38c25b978dSManikanta Mylavarapu              - qcom,pcie-ipq5424
39c25b978dSManikanta Mylavarapu          - const: qcom,pcie-ipq9574
40c25b978dSManikanta Mylavarapu      - items:
41ff0132f7SKrzysztof Kozlowski          - const: qcom,pcie-msm8998
42ff0132f7SKrzysztof Kozlowski          - const: qcom,pcie-msm8996
43075a9d55SDmitry Baryshkov
44075a9d55SDmitry Baryshkov  reg:
45075a9d55SDmitry Baryshkov    minItems: 4
460f80edf8SManivannan Sadhasivam    maxItems: 6
47075a9d55SDmitry Baryshkov
48075a9d55SDmitry Baryshkov  reg-names:
49075a9d55SDmitry Baryshkov    minItems: 4
500f80edf8SManivannan Sadhasivam    maxItems: 6
51075a9d55SDmitry Baryshkov
52075a9d55SDmitry Baryshkov  interrupts:
5391a773f9SDmitry Baryshkov    minItems: 1
54f67d04b1SVaradarajan Narayanan    maxItems: 9
55075a9d55SDmitry Baryshkov
56075a9d55SDmitry Baryshkov  interrupt-names:
5791a773f9SDmitry Baryshkov    minItems: 1
58f67d04b1SVaradarajan Narayanan    maxItems: 9
59075a9d55SDmitry Baryshkov
601a24edc3SAbel Vesa  iommu-map:
614791c44cSKrzysztof Kozlowski    minItems: 1
624791c44cSKrzysztof Kozlowski    maxItems: 16
631a24edc3SAbel Vesa
64075a9d55SDmitry Baryshkov  # Common definitions for clocks, clock-names and reset.
65075a9d55SDmitry Baryshkov  # Platform constraints are described later.
66075a9d55SDmitry Baryshkov  clocks:
67075a9d55SDmitry Baryshkov    minItems: 3
681abbe04aSKrishna chaitanya chundru    maxItems: 13
69075a9d55SDmitry Baryshkov
70075a9d55SDmitry Baryshkov  clock-names:
71075a9d55SDmitry Baryshkov    minItems: 3
721abbe04aSKrishna chaitanya chundru    maxItems: 13
73075a9d55SDmitry Baryshkov
7474eac503SJohan Hovold  dma-coherent: true
7574eac503SJohan Hovold
763a936b2aSJohan Hovold  interconnects:
773a936b2aSJohan Hovold    maxItems: 2
783a936b2aSJohan Hovold
793a936b2aSJohan Hovold  interconnect-names:
803a936b2aSJohan Hovold    items:
813a936b2aSJohan Hovold      - const: pcie-mem
823a936b2aSJohan Hovold      - const: cpu-pcie
833a936b2aSJohan Hovold
84075a9d55SDmitry Baryshkov  resets:
85075a9d55SDmitry Baryshkov    minItems: 1
86075a9d55SDmitry Baryshkov    maxItems: 12
87075a9d55SDmitry Baryshkov
883b74713aSKrzysztof Kozlowski  reset-names:
89075a9d55SDmitry Baryshkov    minItems: 1
90075a9d55SDmitry Baryshkov    maxItems: 12
91075a9d55SDmitry Baryshkov
92075a9d55SDmitry Baryshkov  vdda-supply:
93075a9d55SDmitry Baryshkov    description: A phandle to the core analog power supply
94075a9d55SDmitry Baryshkov
95075a9d55SDmitry Baryshkov  vdda_phy-supply:
96075a9d55SDmitry Baryshkov    description: A phandle to the core analog power supply for PHY
97075a9d55SDmitry Baryshkov
98075a9d55SDmitry Baryshkov  vdda_refclk-supply:
99075a9d55SDmitry Baryshkov    description: A phandle to the core analog power supply for IC which generates reference clock
100075a9d55SDmitry Baryshkov
1013cd3b499SJohan Hovold  vddpe-3v3-supply:
1023cd3b499SJohan Hovold    description: A phandle to the PCIe endpoint power supply
1033cd3b499SJohan Hovold
104075a9d55SDmitry Baryshkov  phys:
105075a9d55SDmitry Baryshkov    maxItems: 1
106075a9d55SDmitry Baryshkov
107075a9d55SDmitry Baryshkov  phy-names:
108075a9d55SDmitry Baryshkov    items:
109075a9d55SDmitry Baryshkov      - const: pciephy
110075a9d55SDmitry Baryshkov
111075a9d55SDmitry Baryshkov  power-domains:
112075a9d55SDmitry Baryshkov    maxItems: 1
113075a9d55SDmitry Baryshkov
114075a9d55SDmitry Baryshkov  perst-gpios:
115075a9d55SDmitry Baryshkov    description: GPIO controlled connection to PERST# signal
116075a9d55SDmitry Baryshkov    maxItems: 1
117075a9d55SDmitry Baryshkov
118c8073025SJohan Hovold  required-opps:
119c8073025SJohan Hovold    maxItems: 1
120c8073025SJohan Hovold
121075a9d55SDmitry Baryshkov  wake-gpios:
122075a9d55SDmitry Baryshkov    description: GPIO controlled connection to WAKE# signal
123075a9d55SDmitry Baryshkov    maxItems: 1
124075a9d55SDmitry Baryshkov
125075a9d55SDmitry Baryshkovrequired:
126075a9d55SDmitry Baryshkov  - compatible
127075a9d55SDmitry Baryshkov  - reg
128075a9d55SDmitry Baryshkov  - reg-names
129075a9d55SDmitry Baryshkov  - interrupt-map-mask
130075a9d55SDmitry Baryshkov  - interrupt-map
131075a9d55SDmitry Baryshkov  - clocks
132075a9d55SDmitry Baryshkov  - clock-names
133075a9d55SDmitry Baryshkov
134c025c7e5SManivannan SadhasivamanyOf:
135c025c7e5SManivannan Sadhasivam  - required:
136c025c7e5SManivannan Sadhasivam      - interrupts
137c025c7e5SManivannan Sadhasivam      - interrupt-names
138c025c7e5SManivannan Sadhasivam      - "#interrupt-cells"
139c025c7e5SManivannan Sadhasivam  - required:
140c025c7e5SManivannan Sadhasivam      - msi-map
141c025c7e5SManivannan Sadhasivam
142075a9d55SDmitry BaryshkovallOf:
1435db62b7dSKrzysztof Kozlowski  - $ref: /schemas/pci/pci-host-bridge.yaml#
144075a9d55SDmitry Baryshkov  - if:
145075a9d55SDmitry Baryshkov      properties:
146075a9d55SDmitry Baryshkov        compatible:
147075a9d55SDmitry Baryshkov          contains:
148075a9d55SDmitry Baryshkov            enum:
149075a9d55SDmitry Baryshkov              - qcom,pcie-apq8064
150c6523c4aSDmitry Baryshkov              - qcom,pcie-ipq4019
151c6523c4aSDmitry Baryshkov              - qcom,pcie-ipq8064
152c6523c4aSDmitry Baryshkov              - qcom,pcie-ipq8064v2
153c6523c4aSDmitry Baryshkov              - qcom,pcie-ipq8074
154c6523c4aSDmitry Baryshkov              - qcom,pcie-qcs404
155c6523c4aSDmitry Baryshkov    then:
156c6523c4aSDmitry Baryshkov      properties:
157c6523c4aSDmitry Baryshkov        reg:
158c6523c4aSDmitry Baryshkov          minItems: 4
159c6523c4aSDmitry Baryshkov          maxItems: 4
160c6523c4aSDmitry Baryshkov        reg-names:
161c6523c4aSDmitry Baryshkov          items:
162c6523c4aSDmitry Baryshkov            - const: dbi # DesignWare PCIe registers
163c6523c4aSDmitry Baryshkov            - const: elbi # External local bus interface registers
164c6523c4aSDmitry Baryshkov            - const: parf # Qualcomm specific registers
165c6523c4aSDmitry Baryshkov            - const: config # PCIe configuration space
166c6523c4aSDmitry Baryshkov
167c6523c4aSDmitry Baryshkov  - if:
168c6523c4aSDmitry Baryshkov      properties:
169c6523c4aSDmitry Baryshkov        compatible:
170c6523c4aSDmitry Baryshkov          contains:
171c6523c4aSDmitry Baryshkov            enum:
172b649d913SNitheesh Sekar              - qcom,pcie-ipq5018
173c6523c4aSDmitry Baryshkov              - qcom,pcie-ipq6018
1742b1c46ceSRobert Marko              - qcom,pcie-ipq8074-gen3
175e0662daeSdevi priya              - qcom,pcie-ipq9574
176c6523c4aSDmitry Baryshkov    then:
177c6523c4aSDmitry Baryshkov      properties:
178c6523c4aSDmitry Baryshkov        reg:
179c6523c4aSDmitry Baryshkov          minItems: 5
180*a733e711SVaradarajan Narayanan          maxItems: 6
181c6523c4aSDmitry Baryshkov        reg-names:
182*a733e711SVaradarajan Narayanan          minItems: 5
183c6523c4aSDmitry Baryshkov          items:
184c6523c4aSDmitry Baryshkov            - const: dbi # DesignWare PCIe registers
185c6523c4aSDmitry Baryshkov            - const: elbi # External local bus interface registers
186c6523c4aSDmitry Baryshkov            - const: atu # ATU address space
187c6523c4aSDmitry Baryshkov            - const: parf # Qualcomm specific registers
188c6523c4aSDmitry Baryshkov            - const: config # PCIe configuration space
189*a733e711SVaradarajan Narayanan            - const: mhi # MHI registers
190c6523c4aSDmitry Baryshkov
191c6523c4aSDmitry Baryshkov  - if:
192c6523c4aSDmitry Baryshkov      properties:
193c6523c4aSDmitry Baryshkov        compatible:
194c6523c4aSDmitry Baryshkov          contains:
195c6523c4aSDmitry Baryshkov            enum:
196c6523c4aSDmitry Baryshkov              - qcom,pcie-apq8084
197c6523c4aSDmitry Baryshkov              - qcom,pcie-msm8996
198c6523c4aSDmitry Baryshkov              - qcom,pcie-sdm845
199c6523c4aSDmitry Baryshkov    then:
200c6523c4aSDmitry Baryshkov      properties:
201c6523c4aSDmitry Baryshkov        reg:
202c6523c4aSDmitry Baryshkov          minItems: 4
2030f80edf8SManivannan Sadhasivam          maxItems: 5
204c6523c4aSDmitry Baryshkov        reg-names:
2050f80edf8SManivannan Sadhasivam          minItems: 4
206c6523c4aSDmitry Baryshkov          items:
207c6523c4aSDmitry Baryshkov            - const: parf # Qualcomm specific registers
208c6523c4aSDmitry Baryshkov            - const: dbi # DesignWare PCIe registers
209c6523c4aSDmitry Baryshkov            - const: elbi # External local bus interface registers
210c6523c4aSDmitry Baryshkov            - const: config # PCIe configuration space
2110f80edf8SManivannan Sadhasivam            - const: mhi # MHI registers
212c6523c4aSDmitry Baryshkov
213c6523c4aSDmitry Baryshkov  - if:
214c6523c4aSDmitry Baryshkov      properties:
215c6523c4aSDmitry Baryshkov        compatible:
216c6523c4aSDmitry Baryshkov          contains:
217c6523c4aSDmitry Baryshkov            enum:
2181bc7ae32SManivannan Sadhasivam              - qcom,pcie-sdx55
219c6523c4aSDmitry Baryshkov    then:
220c6523c4aSDmitry Baryshkov      properties:
221c6523c4aSDmitry Baryshkov        reg:
222c6523c4aSDmitry Baryshkov          minItems: 5
2230f80edf8SManivannan Sadhasivam          maxItems: 6
224c6523c4aSDmitry Baryshkov        reg-names:
2250f80edf8SManivannan Sadhasivam          minItems: 5
226c6523c4aSDmitry Baryshkov          items:
227c6523c4aSDmitry Baryshkov            - const: parf # Qualcomm specific registers
228c6523c4aSDmitry Baryshkov            - const: dbi # DesignWare PCIe registers
229c6523c4aSDmitry Baryshkov            - const: elbi # External local bus interface registers
230c6523c4aSDmitry Baryshkov            - const: atu # ATU address space
231c6523c4aSDmitry Baryshkov            - const: config # PCIe configuration space
2320f80edf8SManivannan Sadhasivam            - const: mhi # MHI registers
233c6523c4aSDmitry Baryshkov
234c6523c4aSDmitry Baryshkov  - if:
235c6523c4aSDmitry Baryshkov      properties:
236c6523c4aSDmitry Baryshkov        compatible:
237c6523c4aSDmitry Baryshkov          contains:
238c6523c4aSDmitry Baryshkov            enum:
239c6523c4aSDmitry Baryshkov              - qcom,pcie-apq8064
240075a9d55SDmitry Baryshkov              - qcom,pcie-ipq8064
241075a9d55SDmitry Baryshkov              - qcom,pcie-ipq8064v2
242075a9d55SDmitry Baryshkov    then:
243075a9d55SDmitry Baryshkov      properties:
244075a9d55SDmitry Baryshkov        clocks:
245075a9d55SDmitry Baryshkov          minItems: 3
246075a9d55SDmitry Baryshkov          maxItems: 5
247075a9d55SDmitry Baryshkov        clock-names:
248075a9d55SDmitry Baryshkov          minItems: 3
249075a9d55SDmitry Baryshkov          items:
250075a9d55SDmitry Baryshkov            - const: core # Clocks the pcie hw block
251075a9d55SDmitry Baryshkov            - const: iface # Configuration AHB clock
252075a9d55SDmitry Baryshkov            - const: phy # Clocks the pcie PHY block
253075a9d55SDmitry Baryshkov            - const: aux # Clocks the pcie AUX block, not on apq8064
254075a9d55SDmitry Baryshkov            - const: ref # Clocks the pcie ref block, not on apq8064
255075a9d55SDmitry Baryshkov        resets:
256075a9d55SDmitry Baryshkov          minItems: 5
257075a9d55SDmitry Baryshkov          maxItems: 6
258075a9d55SDmitry Baryshkov        reset-names:
259075a9d55SDmitry Baryshkov          minItems: 5
260075a9d55SDmitry Baryshkov          items:
261075a9d55SDmitry Baryshkov            - const: axi # AXI reset
262075a9d55SDmitry Baryshkov            - const: ahb # AHB reset
263075a9d55SDmitry Baryshkov            - const: por # POR reset
264075a9d55SDmitry Baryshkov            - const: pci # PCI reset
265075a9d55SDmitry Baryshkov            - const: phy # PHY reset
266075a9d55SDmitry Baryshkov            - const: ext # EXT reset, not on apq8064
267075a9d55SDmitry Baryshkov      required:
268075a9d55SDmitry Baryshkov        - vdda-supply
269075a9d55SDmitry Baryshkov        - vdda_phy-supply
270075a9d55SDmitry Baryshkov        - vdda_refclk-supply
271075a9d55SDmitry Baryshkov
272075a9d55SDmitry Baryshkov  - if:
273075a9d55SDmitry Baryshkov      properties:
274075a9d55SDmitry Baryshkov        compatible:
275075a9d55SDmitry Baryshkov          contains:
276075a9d55SDmitry Baryshkov            enum:
277075a9d55SDmitry Baryshkov              - qcom,pcie-apq8084
278075a9d55SDmitry Baryshkov    then:
279075a9d55SDmitry Baryshkov      properties:
280075a9d55SDmitry Baryshkov        clocks:
281075a9d55SDmitry Baryshkov          minItems: 4
282075a9d55SDmitry Baryshkov          maxItems: 4
283075a9d55SDmitry Baryshkov        clock-names:
284075a9d55SDmitry Baryshkov          items:
285075a9d55SDmitry Baryshkov            - const: iface # Configuration AHB clock
286075a9d55SDmitry Baryshkov            - const: master_bus # Master AXI clock
287075a9d55SDmitry Baryshkov            - const: slave_bus # Slave AXI clock
288075a9d55SDmitry Baryshkov            - const: aux # Auxiliary (AUX) clock
289075a9d55SDmitry Baryshkov        resets:
290075a9d55SDmitry Baryshkov          maxItems: 1
291075a9d55SDmitry Baryshkov        reset-names:
292075a9d55SDmitry Baryshkov          items:
293075a9d55SDmitry Baryshkov            - const: core # Core reset
294075a9d55SDmitry Baryshkov
295075a9d55SDmitry Baryshkov  - if:
296075a9d55SDmitry Baryshkov      properties:
297075a9d55SDmitry Baryshkov        compatible:
298075a9d55SDmitry Baryshkov          contains:
299075a9d55SDmitry Baryshkov            enum:
300075a9d55SDmitry Baryshkov              - qcom,pcie-ipq4019
301075a9d55SDmitry Baryshkov    then:
302075a9d55SDmitry Baryshkov      properties:
303075a9d55SDmitry Baryshkov        clocks:
304075a9d55SDmitry Baryshkov          minItems: 3
305075a9d55SDmitry Baryshkov          maxItems: 3
306075a9d55SDmitry Baryshkov        clock-names:
307075a9d55SDmitry Baryshkov          items:
308075a9d55SDmitry Baryshkov            - const: aux # Auxiliary (AUX) clock
309075a9d55SDmitry Baryshkov            - const: master_bus # Master AXI clock
310075a9d55SDmitry Baryshkov            - const: slave_bus # Slave AXI clock
311075a9d55SDmitry Baryshkov        resets:
312075a9d55SDmitry Baryshkov          minItems: 12
313075a9d55SDmitry Baryshkov          maxItems: 12
314075a9d55SDmitry Baryshkov        reset-names:
315075a9d55SDmitry Baryshkov          items:
316075a9d55SDmitry Baryshkov            - const: axi_m # AXI master reset
317075a9d55SDmitry Baryshkov            - const: axi_s # AXI slave reset
318075a9d55SDmitry Baryshkov            - const: pipe # PIPE reset
319075a9d55SDmitry Baryshkov            - const: axi_m_vmid # VMID reset
320075a9d55SDmitry Baryshkov            - const: axi_s_xpu # XPU reset
321075a9d55SDmitry Baryshkov            - const: parf # PARF reset
322075a9d55SDmitry Baryshkov            - const: phy # PHY reset
323075a9d55SDmitry Baryshkov            - const: axi_m_sticky # AXI sticky reset
324075a9d55SDmitry Baryshkov            - const: pipe_sticky # PIPE sticky reset
325075a9d55SDmitry Baryshkov            - const: pwr # PWR reset
326075a9d55SDmitry Baryshkov            - const: ahb # AHB reset
327075a9d55SDmitry Baryshkov            - const: phy_ahb # PHY AHB reset
328075a9d55SDmitry Baryshkov
329075a9d55SDmitry Baryshkov  - if:
330075a9d55SDmitry Baryshkov      properties:
331075a9d55SDmitry Baryshkov        compatible:
332075a9d55SDmitry Baryshkov          contains:
333075a9d55SDmitry Baryshkov            enum:
334b649d913SNitheesh Sekar              - qcom,pcie-ipq5018
335b649d913SNitheesh Sekar    then:
336b649d913SNitheesh Sekar      properties:
337b649d913SNitheesh Sekar        clocks:
338b649d913SNitheesh Sekar          minItems: 6
339b649d913SNitheesh Sekar          maxItems: 6
340b649d913SNitheesh Sekar        clock-names:
341b649d913SNitheesh Sekar          items:
342b649d913SNitheesh Sekar            - const: iface # PCIe to SysNOC BIU clock
343b649d913SNitheesh Sekar            - const: axi_m # AXI Master clock
344b649d913SNitheesh Sekar            - const: axi_s # AXI Slave clock
345b649d913SNitheesh Sekar            - const: ahb # AHB clock
346b649d913SNitheesh Sekar            - const: aux # Auxiliary clock
347b649d913SNitheesh Sekar            - const: axi_bridge # AXI bridge clock
348b649d913SNitheesh Sekar        resets:
349b649d913SNitheesh Sekar          minItems: 8
350b649d913SNitheesh Sekar          maxItems: 8
351b649d913SNitheesh Sekar        reset-names:
352b649d913SNitheesh Sekar          items:
353b649d913SNitheesh Sekar            - const: pipe # PIPE reset
354b649d913SNitheesh Sekar            - const: sleep # Sleep reset
355b649d913SNitheesh Sekar            - const: sticky # Core sticky reset
356b649d913SNitheesh Sekar            - const: axi_m # AXI master reset
357b649d913SNitheesh Sekar            - const: axi_s # AXI slave reset
358b649d913SNitheesh Sekar            - const: ahb # AHB reset
359b649d913SNitheesh Sekar            - const: axi_m_sticky # AXI master sticky reset
360b649d913SNitheesh Sekar            - const: axi_s_sticky # AXI slave sticky reset
361b649d913SNitheesh Sekar        interrupts:
362b649d913SNitheesh Sekar          minItems: 9
363b649d913SNitheesh Sekar          maxItems: 9
364b649d913SNitheesh Sekar        interrupt-names:
365b649d913SNitheesh Sekar          items:
366b649d913SNitheesh Sekar            - const: msi0
367b649d913SNitheesh Sekar            - const: msi1
368b649d913SNitheesh Sekar            - const: msi2
369b649d913SNitheesh Sekar            - const: msi3
370b649d913SNitheesh Sekar            - const: msi4
371b649d913SNitheesh Sekar            - const: msi5
372b649d913SNitheesh Sekar            - const: msi6
373b649d913SNitheesh Sekar            - const: msi7
374b649d913SNitheesh Sekar            - const: global
375b649d913SNitheesh Sekar
376b649d913SNitheesh Sekar  - if:
377b649d913SNitheesh Sekar      properties:
378b649d913SNitheesh Sekar        compatible:
379b649d913SNitheesh Sekar          contains:
380b649d913SNitheesh Sekar            enum:
381075a9d55SDmitry Baryshkov              - qcom,pcie-msm8996
382075a9d55SDmitry Baryshkov    then:
383075a9d55SDmitry Baryshkov      properties:
384075a9d55SDmitry Baryshkov        clocks:
385075a9d55SDmitry Baryshkov          minItems: 5
386075a9d55SDmitry Baryshkov          maxItems: 5
3870b93acc6SKrzysztof Kozlowski        clock-names:
3880b93acc6SKrzysztof Kozlowski          items:
3890b93acc6SKrzysztof Kozlowski            - const: pipe # Pipe Clock driving internal logic
3900b93acc6SKrzysztof Kozlowski            - const: aux # Auxiliary (AUX) clock
3910b93acc6SKrzysztof Kozlowski            - const: cfg # Configuration clock
3920b93acc6SKrzysztof Kozlowski            - const: bus_master # Master AXI clock
3930b93acc6SKrzysztof Kozlowski            - const: bus_slave # Slave AXI clock
394075a9d55SDmitry Baryshkov        resets: false
395075a9d55SDmitry Baryshkov        reset-names: false
396075a9d55SDmitry Baryshkov
397075a9d55SDmitry Baryshkov  - if:
398075a9d55SDmitry Baryshkov      properties:
399075a9d55SDmitry Baryshkov        compatible:
400075a9d55SDmitry Baryshkov          contains:
401075a9d55SDmitry Baryshkov            enum:
402075a9d55SDmitry Baryshkov              - qcom,pcie-ipq8074
403075a9d55SDmitry Baryshkov    then:
404075a9d55SDmitry Baryshkov      properties:
405075a9d55SDmitry Baryshkov        clocks:
406075a9d55SDmitry Baryshkov          minItems: 5
407075a9d55SDmitry Baryshkov          maxItems: 5
408075a9d55SDmitry Baryshkov        clock-names:
409075a9d55SDmitry Baryshkov          items:
410075a9d55SDmitry Baryshkov            - const: iface # PCIe to SysNOC BIU clock
411075a9d55SDmitry Baryshkov            - const: axi_m # AXI Master clock
412075a9d55SDmitry Baryshkov            - const: axi_s # AXI Slave clock
413075a9d55SDmitry Baryshkov            - const: ahb # AHB clock
414075a9d55SDmitry Baryshkov            - const: aux # Auxiliary clock
415075a9d55SDmitry Baryshkov        resets:
416075a9d55SDmitry Baryshkov          minItems: 7
417075a9d55SDmitry Baryshkov          maxItems: 7
418075a9d55SDmitry Baryshkov        reset-names:
419075a9d55SDmitry Baryshkov          items:
420075a9d55SDmitry Baryshkov            - const: pipe # PIPE reset
421075a9d55SDmitry Baryshkov            - const: sleep # Sleep reset
422075a9d55SDmitry Baryshkov            - const: sticky # Core Sticky reset
423075a9d55SDmitry Baryshkov            - const: axi_m # AXI Master reset
424075a9d55SDmitry Baryshkov            - const: axi_s # AXI Slave reset
425075a9d55SDmitry Baryshkov            - const: ahb # AHB Reset
426075a9d55SDmitry Baryshkov            - const: axi_m_sticky # AXI Master Sticky reset
427075a9d55SDmitry Baryshkov
428075a9d55SDmitry Baryshkov  - if:
429075a9d55SDmitry Baryshkov      properties:
430075a9d55SDmitry Baryshkov        compatible:
431075a9d55SDmitry Baryshkov          contains:
432075a9d55SDmitry Baryshkov            enum:
433075a9d55SDmitry Baryshkov              - qcom,pcie-ipq6018
4342b1c46ceSRobert Marko              - qcom,pcie-ipq8074-gen3
435075a9d55SDmitry Baryshkov    then:
436075a9d55SDmitry Baryshkov      properties:
437075a9d55SDmitry Baryshkov        clocks:
438075a9d55SDmitry Baryshkov          minItems: 5
439075a9d55SDmitry Baryshkov          maxItems: 5
440075a9d55SDmitry Baryshkov        clock-names:
441075a9d55SDmitry Baryshkov          items:
442075a9d55SDmitry Baryshkov            - const: iface # PCIe to SysNOC BIU clock
443075a9d55SDmitry Baryshkov            - const: axi_m # AXI Master clock
444075a9d55SDmitry Baryshkov            - const: axi_s # AXI Slave clock
445075a9d55SDmitry Baryshkov            - const: axi_bridge # AXI bridge clock
446075a9d55SDmitry Baryshkov            - const: rchng
447075a9d55SDmitry Baryshkov        resets:
448075a9d55SDmitry Baryshkov          minItems: 8
449075a9d55SDmitry Baryshkov          maxItems: 8
450075a9d55SDmitry Baryshkov        reset-names:
451075a9d55SDmitry Baryshkov          items:
452075a9d55SDmitry Baryshkov            - const: pipe # PIPE reset
453075a9d55SDmitry Baryshkov            - const: sleep # Sleep reset
454075a9d55SDmitry Baryshkov            - const: sticky # Core Sticky reset
455075a9d55SDmitry Baryshkov            - const: axi_m # AXI Master reset
456075a9d55SDmitry Baryshkov            - const: axi_s # AXI Slave reset
457075a9d55SDmitry Baryshkov            - const: ahb # AHB Reset
458075a9d55SDmitry Baryshkov            - const: axi_m_sticky # AXI Master Sticky reset
459075a9d55SDmitry Baryshkov            - const: axi_s_sticky # AXI Slave Sticky reset
460075a9d55SDmitry Baryshkov
461075a9d55SDmitry Baryshkov  - if:
462075a9d55SDmitry Baryshkov      properties:
463075a9d55SDmitry Baryshkov        compatible:
464075a9d55SDmitry Baryshkov          contains:
465075a9d55SDmitry Baryshkov            enum:
466e0662daeSdevi priya              - qcom,pcie-ipq9574
467e0662daeSdevi priya    then:
468e0662daeSdevi priya      properties:
469e0662daeSdevi priya        clocks:
470e0662daeSdevi priya          minItems: 6
471e0662daeSdevi priya          maxItems: 6
472e0662daeSdevi priya        clock-names:
473e0662daeSdevi priya          items:
474e0662daeSdevi priya            - const: axi_m # AXI Master clock
475e0662daeSdevi priya            - const: axi_s # AXI Slave clock
476e0662daeSdevi priya            - const: axi_bridge
477e0662daeSdevi priya            - const: rchng
478e0662daeSdevi priya            - const: ahb
479e0662daeSdevi priya            - const: aux
480e0662daeSdevi priya
481e0662daeSdevi priya        resets:
482e0662daeSdevi priya          minItems: 8
483e0662daeSdevi priya          maxItems: 8
484e0662daeSdevi priya        reset-names:
485e0662daeSdevi priya          items:
486e0662daeSdevi priya            - const: pipe # PIPE reset
487e0662daeSdevi priya            - const: sticky # Core Sticky reset
488e0662daeSdevi priya            - const: axi_s_sticky # AXI Slave Sticky reset
489e0662daeSdevi priya            - const: axi_s # AXI Slave reset
490e0662daeSdevi priya            - const: axi_m_sticky # AXI Master Sticky reset
491e0662daeSdevi priya            - const: axi_m # AXI Master reset
492e0662daeSdevi priya            - const: aux # AUX Reset
493e0662daeSdevi priya            - const: ahb # AHB Reset
494e0662daeSdevi priya
495e0662daeSdevi priya        interrupts:
496e0662daeSdevi priya          minItems: 8
497e0662daeSdevi priya        interrupt-names:
498f67d04b1SVaradarajan Narayanan          minItems: 8
499e0662daeSdevi priya          items:
500e0662daeSdevi priya            - const: msi0
501e0662daeSdevi priya            - const: msi1
502e0662daeSdevi priya            - const: msi2
503e0662daeSdevi priya            - const: msi3
504e0662daeSdevi priya            - const: msi4
505e0662daeSdevi priya            - const: msi5
506e0662daeSdevi priya            - const: msi6
507e0662daeSdevi priya            - const: msi7
508f67d04b1SVaradarajan Narayanan            - const: global
509e0662daeSdevi priya
510e0662daeSdevi priya  - if:
511e0662daeSdevi priya      properties:
512e0662daeSdevi priya        compatible:
513e0662daeSdevi priya          contains:
514e0662daeSdevi priya            enum:
515075a9d55SDmitry Baryshkov              - qcom,pcie-qcs404
516075a9d55SDmitry Baryshkov    then:
517075a9d55SDmitry Baryshkov      properties:
518075a9d55SDmitry Baryshkov        clocks:
519075a9d55SDmitry Baryshkov          minItems: 4
520075a9d55SDmitry Baryshkov          maxItems: 4
521075a9d55SDmitry Baryshkov        clock-names:
522075a9d55SDmitry Baryshkov          items:
523075a9d55SDmitry Baryshkov            - const: iface # AHB clock
524075a9d55SDmitry Baryshkov            - const: aux # Auxiliary clock
525075a9d55SDmitry Baryshkov            - const: master_bus # AXI Master clock
526075a9d55SDmitry Baryshkov            - const: slave_bus # AXI Slave clock
527075a9d55SDmitry Baryshkov        resets:
528075a9d55SDmitry Baryshkov          minItems: 6
529075a9d55SDmitry Baryshkov          maxItems: 6
530075a9d55SDmitry Baryshkov        reset-names:
531075a9d55SDmitry Baryshkov          items:
532075a9d55SDmitry Baryshkov            - const: axi_m # AXI Master reset
533075a9d55SDmitry Baryshkov            - const: axi_s # AXI Slave reset
534075a9d55SDmitry Baryshkov            - const: axi_m_sticky # AXI Master Sticky reset
535075a9d55SDmitry Baryshkov            - const: pipe_sticky # PIPE sticky reset
536075a9d55SDmitry Baryshkov            - const: pwr # PWR reset
537075a9d55SDmitry Baryshkov            - const: ahb # AHB reset
538075a9d55SDmitry Baryshkov
539075a9d55SDmitry Baryshkov  - if:
540075a9d55SDmitry Baryshkov      properties:
541075a9d55SDmitry Baryshkov        compatible:
542075a9d55SDmitry Baryshkov          contains:
543075a9d55SDmitry Baryshkov            enum:
544075a9d55SDmitry Baryshkov              - qcom,pcie-sdm845
545075a9d55SDmitry Baryshkov    then:
546075a9d55SDmitry Baryshkov      oneOf:
547075a9d55SDmitry Baryshkov          # Unfortunately the "optional" ref clock is used in the middle of the list
548075a9d55SDmitry Baryshkov        - properties:
549075a9d55SDmitry Baryshkov            clocks:
550075a9d55SDmitry Baryshkov              minItems: 8
551075a9d55SDmitry Baryshkov              maxItems: 8
552075a9d55SDmitry Baryshkov            clock-names:
553075a9d55SDmitry Baryshkov              items:
554075a9d55SDmitry Baryshkov                - const: pipe # PIPE clock
555075a9d55SDmitry Baryshkov                - const: aux # Auxiliary clock
556075a9d55SDmitry Baryshkov                - const: cfg # Configuration clock
557075a9d55SDmitry Baryshkov                - const: bus_master # Master AXI clock
558075a9d55SDmitry Baryshkov                - const: bus_slave # Slave AXI clock
559075a9d55SDmitry Baryshkov                - const: slave_q2a # Slave Q2A clock
560075a9d55SDmitry Baryshkov                - const: ref # REFERENCE clock
561075a9d55SDmitry Baryshkov                - const: tbu # PCIe TBU clock
562075a9d55SDmitry Baryshkov        - properties:
563075a9d55SDmitry Baryshkov            clocks:
564075a9d55SDmitry Baryshkov              minItems: 7
565075a9d55SDmitry Baryshkov              maxItems: 7
566075a9d55SDmitry Baryshkov            clock-names:
567075a9d55SDmitry Baryshkov              items:
568075a9d55SDmitry Baryshkov                - const: pipe # PIPE clock
569075a9d55SDmitry Baryshkov                - const: aux # Auxiliary clock
570075a9d55SDmitry Baryshkov                - const: cfg # Configuration clock
571075a9d55SDmitry Baryshkov                - const: bus_master # Master AXI clock
572075a9d55SDmitry Baryshkov                - const: bus_slave # Slave AXI clock
573075a9d55SDmitry Baryshkov                - const: slave_q2a # Slave Q2A clock
574075a9d55SDmitry Baryshkov                - const: tbu # PCIe TBU clock
575075a9d55SDmitry Baryshkov      properties:
576075a9d55SDmitry Baryshkov        resets:
577075a9d55SDmitry Baryshkov          maxItems: 1
578075a9d55SDmitry Baryshkov        reset-names:
579075a9d55SDmitry Baryshkov          items:
580075a9d55SDmitry Baryshkov            - const: pci # PCIe core reset
581075a9d55SDmitry Baryshkov
582075a9d55SDmitry Baryshkov  - if:
583075a9d55SDmitry Baryshkov      properties:
584075a9d55SDmitry Baryshkov        compatible:
585075a9d55SDmitry Baryshkov          contains:
586075a9d55SDmitry Baryshkov            enum:
5871bc7ae32SManivannan Sadhasivam              - qcom,pcie-sdx55
5881bc7ae32SManivannan Sadhasivam    then:
5891bc7ae32SManivannan Sadhasivam      properties:
5901bc7ae32SManivannan Sadhasivam        clocks:
5911bc7ae32SManivannan Sadhasivam          minItems: 7
5921bc7ae32SManivannan Sadhasivam          maxItems: 7
5931bc7ae32SManivannan Sadhasivam        clock-names:
5941bc7ae32SManivannan Sadhasivam          items:
5951bc7ae32SManivannan Sadhasivam            - const: pipe # PIPE clock
5961bc7ae32SManivannan Sadhasivam            - const: aux # Auxiliary clock
5971bc7ae32SManivannan Sadhasivam            - const: cfg # Configuration clock
5981bc7ae32SManivannan Sadhasivam            - const: bus_master # Master AXI clock
5991bc7ae32SManivannan Sadhasivam            - const: bus_slave # Slave AXI clock
6001bc7ae32SManivannan Sadhasivam            - const: slave_q2a # Slave Q2A clock
6011bc7ae32SManivannan Sadhasivam            - const: sleep # PCIe Sleep clock
6021bc7ae32SManivannan Sadhasivam        resets:
6031bc7ae32SManivannan Sadhasivam          maxItems: 1
6041bc7ae32SManivannan Sadhasivam        reset-names:
6051bc7ae32SManivannan Sadhasivam          items:
6061bc7ae32SManivannan Sadhasivam            - const: pci # PCIe core reset
6071bc7ae32SManivannan Sadhasivam
6081bc7ae32SManivannan Sadhasivam  - if:
609075a9d55SDmitry Baryshkov      not:
610075a9d55SDmitry Baryshkov        properties:
611075a9d55SDmitry Baryshkov          compatible:
612075a9d55SDmitry Baryshkov            contains:
613075a9d55SDmitry Baryshkov              enum:
614075a9d55SDmitry Baryshkov                - qcom,pcie-apq8064
615075a9d55SDmitry Baryshkov                - qcom,pcie-ipq4019
616b649d913SNitheesh Sekar                - qcom,pcie-ipq5018
617075a9d55SDmitry Baryshkov                - qcom,pcie-ipq8064
618075a9d55SDmitry Baryshkov                - qcom,pcie-ipq8064v2
619075a9d55SDmitry Baryshkov                - qcom,pcie-ipq8074
6202b1c46ceSRobert Marko                - qcom,pcie-ipq8074-gen3
621e0662daeSdevi priya                - qcom,pcie-ipq9574
622075a9d55SDmitry Baryshkov                - qcom,pcie-qcs404
623075a9d55SDmitry Baryshkov    then:
624075a9d55SDmitry Baryshkov      required:
625075a9d55SDmitry Baryshkov        - power-domains
626075a9d55SDmitry Baryshkov
6276700a9b0SDmitry Baryshkov  - if:
6286700a9b0SDmitry Baryshkov      not:
6296700a9b0SDmitry Baryshkov        properties:
630839fbdeeSJohan Hovold          compatible:
6316700a9b0SDmitry Baryshkov            contains:
6326700a9b0SDmitry Baryshkov              enum:
6336700a9b0SDmitry Baryshkov                - qcom,pcie-msm8996
6346700a9b0SDmitry Baryshkov    then:
6356700a9b0SDmitry Baryshkov      required:
6366700a9b0SDmitry Baryshkov        - resets
6376700a9b0SDmitry Baryshkov        - reset-names
6386700a9b0SDmitry Baryshkov
63991a773f9SDmitry Baryshkov  - if:
64091a773f9SDmitry Baryshkov      properties:
64191a773f9SDmitry Baryshkov        compatible:
64291a773f9SDmitry Baryshkov          contains:
64391a773f9SDmitry Baryshkov            enum:
64437974556SManivannan Sadhasivam              - qcom,pcie-ipq6018
64590fe2c27SManivannan Sadhasivam              - qcom,pcie-ipq8074
64690fe2c27SManivannan Sadhasivam              - qcom,pcie-ipq8074-gen3
64791a773f9SDmitry Baryshkov              - qcom,pcie-msm8996
648c9dc3a09SManivannan Sadhasivam              - qcom,pcie-msm8998
64991a773f9SDmitry Baryshkov              - qcom,pcie-sdm845
65091a773f9SDmitry Baryshkov    then:
65191a773f9SDmitry Baryshkov      oneOf:
65291a773f9SDmitry Baryshkov        - properties:
65391a773f9SDmitry Baryshkov            interrupts:
65491a773f9SDmitry Baryshkov              maxItems: 1
65591a773f9SDmitry Baryshkov            interrupt-names:
65691a773f9SDmitry Baryshkov              items:
65791a773f9SDmitry Baryshkov                - const: msi
65891a773f9SDmitry Baryshkov        - properties:
65991a773f9SDmitry Baryshkov            interrupts:
66091a773f9SDmitry Baryshkov              minItems: 8
661ff9be267SManivannan Sadhasivam              maxItems: 9
66291a773f9SDmitry Baryshkov            interrupt-names:
663ff9be267SManivannan Sadhasivam              minItems: 8
66491a773f9SDmitry Baryshkov              items:
66591a773f9SDmitry Baryshkov                - const: msi0
66691a773f9SDmitry Baryshkov                - const: msi1
66791a773f9SDmitry Baryshkov                - const: msi2
66891a773f9SDmitry Baryshkov                - const: msi3
66991a773f9SDmitry Baryshkov                - const: msi4
67091a773f9SDmitry Baryshkov                - const: msi5
67191a773f9SDmitry Baryshkov                - const: msi6
67291a773f9SDmitry Baryshkov                - const: msi7
673ff9be267SManivannan Sadhasivam                - const: global
67466116567SJohan Hovold
67566116567SJohan Hovold  - if:
67666116567SJohan Hovold      properties:
67766116567SJohan Hovold        compatible:
67866116567SJohan Hovold          contains:
67966116567SJohan Hovold            enum:
68066116567SJohan Hovold              - qcom,pcie-apq8064
68166116567SJohan Hovold              - qcom,pcie-apq8084
68266116567SJohan Hovold              - qcom,pcie-ipq4019
68366116567SJohan Hovold              - qcom,pcie-ipq8064
68466116567SJohan Hovold              - qcom,pcie-ipq8064-v2
68566116567SJohan Hovold              - qcom,pcie-qcs404
68666116567SJohan Hovold    then:
68791a773f9SDmitry Baryshkov      properties:
68891a773f9SDmitry Baryshkov        interrupts:
68991a773f9SDmitry Baryshkov          maxItems: 1
69091a773f9SDmitry Baryshkov        interrupt-names:
69191a773f9SDmitry Baryshkov          items:
69291a773f9SDmitry Baryshkov            - const: msi
69391a773f9SDmitry Baryshkov
694075a9d55SDmitry BaryshkovunevaluatedProperties: false
695075a9d55SDmitry Baryshkov
696075a9d55SDmitry Baryshkovexamples:
697075a9d55SDmitry Baryshkov  - |
698075a9d55SDmitry Baryshkov    #include <dt-bindings/interrupt-controller/arm-gic.h>
699075a9d55SDmitry Baryshkov    pcie@1b500000 {
700075a9d55SDmitry Baryshkov      compatible = "qcom,pcie-ipq8064";
701075a9d55SDmitry Baryshkov      reg = <0x1b500000 0x1000>,
702075a9d55SDmitry Baryshkov            <0x1b502000 0x80>,
703075a9d55SDmitry Baryshkov            <0x1b600000 0x100>,
704075a9d55SDmitry Baryshkov            <0x0ff00000 0x100000>;
705075a9d55SDmitry Baryshkov      reg-names = "dbi", "elbi", "parf", "config";
706075a9d55SDmitry Baryshkov      device_type = "pci";
707075a9d55SDmitry Baryshkov      linux,pci-domain = <0>;
708075a9d55SDmitry Baryshkov      bus-range = <0x00 0xff>;
709075a9d55SDmitry Baryshkov      num-lanes = <1>;
710075a9d55SDmitry Baryshkov      #address-cells = <3>;
711075a9d55SDmitry Baryshkov      #size-cells = <2>;
712075a9d55SDmitry Baryshkov      ranges = <0x81000000 0 0 0x0fe00000 0 0x00100000>,
713075a9d55SDmitry Baryshkov               <0x82000000 0 0 0x08000000 0 0x07e00000>;
714075a9d55SDmitry Baryshkov      interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
715075a9d55SDmitry Baryshkov      interrupt-names = "msi";
716075a9d55SDmitry Baryshkov      #interrupt-cells = <1>;
717075a9d55SDmitry Baryshkov      interrupt-map-mask = <0 0 0 0x7>;
718075a9d55SDmitry Baryshkov      interrupt-map = <0 0 0 1 &intc 0 36 IRQ_TYPE_LEVEL_HIGH>,
719075a9d55SDmitry Baryshkov                      <0 0 0 2 &intc 0 37 IRQ_TYPE_LEVEL_HIGH>,
720075a9d55SDmitry Baryshkov                      <0 0 0 3 &intc 0 38 IRQ_TYPE_LEVEL_HIGH>,
721075a9d55SDmitry Baryshkov                      <0 0 0 4 &intc 0 39 IRQ_TYPE_LEVEL_HIGH>;
722075a9d55SDmitry Baryshkov      clocks = <&gcc 41>,
723075a9d55SDmitry Baryshkov               <&gcc 43>,
724075a9d55SDmitry Baryshkov               <&gcc 44>,
725075a9d55SDmitry Baryshkov               <&gcc 42>,
726075a9d55SDmitry Baryshkov               <&gcc 248>;
727075a9d55SDmitry Baryshkov      clock-names = "core", "iface", "phy", "aux", "ref";
728075a9d55SDmitry Baryshkov      resets = <&gcc 27>,
729075a9d55SDmitry Baryshkov               <&gcc 26>,
730075a9d55SDmitry Baryshkov               <&gcc 25>,
731075a9d55SDmitry Baryshkov               <&gcc 24>,
732075a9d55SDmitry Baryshkov               <&gcc 23>,
733075a9d55SDmitry Baryshkov               <&gcc 22>;
734075a9d55SDmitry Baryshkov      reset-names = "axi", "ahb", "por", "pci", "phy", "ext";
735075a9d55SDmitry Baryshkov      pinctrl-0 = <&pcie_pins_default>;
736075a9d55SDmitry Baryshkov      pinctrl-names = "default";
737075a9d55SDmitry Baryshkov      vdda-supply = <&pm8921_s3>;
738075a9d55SDmitry Baryshkov      vdda_phy-supply = <&pm8921_lvs6>;
739075a9d55SDmitry Baryshkov      vdda_refclk-supply = <&ext_3p3v>;
740075a9d55SDmitry Baryshkov    };
741075a9d55SDmitry Baryshkov  - |
742075a9d55SDmitry Baryshkov    #include <dt-bindings/interrupt-controller/arm-gic.h>
743075a9d55SDmitry Baryshkov    #include <dt-bindings/gpio/gpio.h>
744075a9d55SDmitry Baryshkov    pcie@fc520000 {
745075a9d55SDmitry Baryshkov      compatible = "qcom,pcie-apq8084";
746075a9d55SDmitry Baryshkov      reg = <0xfc520000 0x2000>,
747075a9d55SDmitry Baryshkov            <0xff000000 0x1000>,
748075a9d55SDmitry Baryshkov            <0xff001000 0x1000>,
749075a9d55SDmitry Baryshkov            <0xff002000 0x2000>;
750075a9d55SDmitry Baryshkov      reg-names = "parf", "dbi", "elbi", "config";
751075a9d55SDmitry Baryshkov      device_type = "pci";
752075a9d55SDmitry Baryshkov      linux,pci-domain = <0>;
753075a9d55SDmitry Baryshkov      bus-range = <0x00 0xff>;
754075a9d55SDmitry Baryshkov      num-lanes = <1>;
755075a9d55SDmitry Baryshkov      #address-cells = <3>;
756075a9d55SDmitry Baryshkov      #size-cells = <2>;
757075a9d55SDmitry Baryshkov      ranges = <0x81000000 0 0          0xff200000 0 0x00100000>,
758075a9d55SDmitry Baryshkov               <0x82000000 0 0x00300000 0xff300000 0 0x00d00000>;
759075a9d55SDmitry Baryshkov      interrupts = <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>;
760075a9d55SDmitry Baryshkov      interrupt-names = "msi";
761075a9d55SDmitry Baryshkov      #interrupt-cells = <1>;
762075a9d55SDmitry Baryshkov      interrupt-map-mask = <0 0 0 0x7>;
763075a9d55SDmitry Baryshkov      interrupt-map = <0 0 0 1 &intc 0 244 IRQ_TYPE_LEVEL_HIGH>,
764075a9d55SDmitry Baryshkov                      <0 0 0 2 &intc 0 245 IRQ_TYPE_LEVEL_HIGH>,
765075a9d55SDmitry Baryshkov                      <0 0 0 3 &intc 0 247 IRQ_TYPE_LEVEL_HIGH>,
766075a9d55SDmitry Baryshkov                      <0 0 0 4 &intc 0 248 IRQ_TYPE_LEVEL_HIGH>;
767075a9d55SDmitry Baryshkov      clocks = <&gcc 324>,
768075a9d55SDmitry Baryshkov               <&gcc 325>,
769075a9d55SDmitry Baryshkov               <&gcc 327>,
770075a9d55SDmitry Baryshkov               <&gcc 323>;
771075a9d55SDmitry Baryshkov      clock-names = "iface", "master_bus", "slave_bus", "aux";
772075a9d55SDmitry Baryshkov      resets = <&gcc 81>;
773075a9d55SDmitry Baryshkov      reset-names = "core";
774075a9d55SDmitry Baryshkov      power-domains = <&gcc 1>;
775075a9d55SDmitry Baryshkov      vdda-supply = <&pma8084_l3>;
776075a9d55SDmitry Baryshkov      phys = <&pciephy0>;
777075a9d55SDmitry Baryshkov      phy-names = "pciephy";
778075a9d55SDmitry Baryshkov      perst-gpios = <&tlmm 70 GPIO_ACTIVE_LOW>;
779075a9d55SDmitry Baryshkov      pinctrl-0 = <&pcie0_pins_default>;
780075a9d55SDmitry Baryshkov      pinctrl-names = "default";
781075a9d55SDmitry Baryshkov    };
782075a9d55SDmitry Baryshkov...
783