Merge drm/drm-fixes into drm-misc-fixes
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / pci / qcom,pcie.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/pci/qcom,pcie.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Qualcomm PCI express root complex
8
9 maintainers:
10   - Bjorn Andersson <bjorn.andersson@linaro.org>
11   - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
12
13 description: |
14   Qualcomm PCIe root complex controller is based on the Synopsys DesignWare
15   PCIe IP.
16
17 properties:
18   compatible:
19     oneOf:
20       - enum:
21           - qcom,pcie-apq8064
22           - qcom,pcie-apq8084
23           - qcom,pcie-ipq4019
24           - qcom,pcie-ipq6018
25           - qcom,pcie-ipq8064
26           - qcom,pcie-ipq8064-v2
27           - qcom,pcie-ipq8074
28           - qcom,pcie-ipq8074-gen3
29           - qcom,pcie-msm8996
30           - qcom,pcie-qcs404
31           - qcom,pcie-sa8540p
32           - qcom,pcie-sc7280
33           - qcom,pcie-sc8180x
34           - qcom,pcie-sc8280xp
35           - qcom,pcie-sdm845
36           - qcom,pcie-sdx55
37           - qcom,pcie-sm8150
38           - qcom,pcie-sm8250
39           - qcom,pcie-sm8350
40           - qcom,pcie-sm8450-pcie0
41           - qcom,pcie-sm8450-pcie1
42           - qcom,pcie-sm8550
43       - items:
44           - const: qcom,pcie-msm8998
45           - const: qcom,pcie-msm8996
46
47   reg:
48     minItems: 4
49     maxItems: 6
50
51   reg-names:
52     minItems: 4
53     maxItems: 6
54
55   interrupts:
56     minItems: 1
57     maxItems: 8
58
59   interrupt-names:
60     minItems: 1
61     maxItems: 8
62
63   iommu-map:
64     maxItems: 2
65
66   # Common definitions for clocks, clock-names and reset.
67   # Platform constraints are described later.
68   clocks:
69     minItems: 3
70     maxItems: 13
71
72   clock-names:
73     minItems: 3
74     maxItems: 13
75
76   dma-coherent: true
77
78   interconnects:
79     maxItems: 2
80
81   interconnect-names:
82     items:
83       - const: pcie-mem
84       - const: cpu-pcie
85
86   resets:
87     minItems: 1
88     maxItems: 12
89
90   resets-names:
91     minItems: 1
92     maxItems: 12
93
94   vdda-supply:
95     description: A phandle to the core analog power supply
96
97   vdda_phy-supply:
98     description: A phandle to the core analog power supply for PHY
99
100   vdda_refclk-supply:
101     description: A phandle to the core analog power supply for IC which generates reference clock
102
103   vddpe-3v3-supply:
104     description: A phandle to the PCIe endpoint power supply
105
106   phys:
107     maxItems: 1
108
109   phy-names:
110     items:
111       - const: pciephy
112
113   power-domains:
114     maxItems: 1
115
116   perst-gpios:
117     description: GPIO controlled connection to PERST# signal
118     maxItems: 1
119
120   wake-gpios:
121     description: GPIO controlled connection to WAKE# signal
122     maxItems: 1
123
124 required:
125   - compatible
126   - reg
127   - reg-names
128   - interrupt-map-mask
129   - interrupt-map
130   - clocks
131   - clock-names
132
133 anyOf:
134   - required:
135       - interrupts
136       - interrupt-names
137       - "#interrupt-cells"
138   - required:
139       - msi-map
140       - msi-map-mask
141
142 allOf:
143   - $ref: /schemas/pci/pci-bus.yaml#
144   - if:
145       properties:
146         compatible:
147           contains:
148             enum:
149               - qcom,pcie-apq8064
150               - qcom,pcie-ipq4019
151               - qcom,pcie-ipq8064
152               - qcom,pcie-ipq8064v2
153               - qcom,pcie-ipq8074
154               - qcom,pcie-qcs404
155     then:
156       properties:
157         reg:
158           minItems: 4
159           maxItems: 4
160         reg-names:
161           items:
162             - const: dbi # DesignWare PCIe registers
163             - const: elbi # External local bus interface registers
164             - const: parf # Qualcomm specific registers
165             - const: config # PCIe configuration space
166
167   - if:
168       properties:
169         compatible:
170           contains:
171             enum:
172               - qcom,pcie-ipq6018
173               - qcom,pcie-ipq8074-gen3
174     then:
175       properties:
176         reg:
177           minItems: 5
178           maxItems: 5
179         reg-names:
180           items:
181             - const: dbi # DesignWare PCIe registers
182             - const: elbi # External local bus interface registers
183             - const: atu # ATU address space
184             - const: parf # Qualcomm specific registers
185             - const: config # PCIe configuration space
186
187   - if:
188       properties:
189         compatible:
190           contains:
191             enum:
192               - qcom,pcie-apq8084
193               - qcom,pcie-msm8996
194               - qcom,pcie-sdm845
195     then:
196       properties:
197         reg:
198           minItems: 4
199           maxItems: 5
200         reg-names:
201           minItems: 4
202           items:
203             - const: parf # Qualcomm specific registers
204             - const: dbi # DesignWare PCIe registers
205             - const: elbi # External local bus interface registers
206             - const: config # PCIe configuration space
207             - const: mhi # MHI registers
208
209   - if:
210       properties:
211         compatible:
212           contains:
213             enum:
214               - qcom,pcie-sc7280
215               - qcom,pcie-sc8180x
216               - qcom,pcie-sc8280xp
217               - qcom,pcie-sdx55
218               - qcom,pcie-sm8250
219               - qcom,pcie-sm8350
220               - qcom,pcie-sm8450-pcie0
221               - qcom,pcie-sm8450-pcie1
222               - qcom,pcie-sm8550
223     then:
224       properties:
225         reg:
226           minItems: 5
227           maxItems: 6
228         reg-names:
229           minItems: 5
230           items:
231             - const: parf # Qualcomm specific registers
232             - const: dbi # DesignWare PCIe registers
233             - const: elbi # External local bus interface registers
234             - const: atu # ATU address space
235             - const: config # PCIe configuration space
236             - const: mhi # MHI registers
237
238   - if:
239       properties:
240         compatible:
241           contains:
242             enum:
243               - qcom,pcie-apq8064
244               - qcom,pcie-ipq8064
245               - qcom,pcie-ipq8064v2
246     then:
247       properties:
248         clocks:
249           minItems: 3
250           maxItems: 5
251         clock-names:
252           minItems: 3
253           items:
254             - const: core # Clocks the pcie hw block
255             - const: iface # Configuration AHB clock
256             - const: phy # Clocks the pcie PHY block
257             - const: aux # Clocks the pcie AUX block, not on apq8064
258             - const: ref # Clocks the pcie ref block, not on apq8064
259         resets:
260           minItems: 5
261           maxItems: 6
262         reset-names:
263           minItems: 5
264           items:
265             - const: axi # AXI reset
266             - const: ahb # AHB reset
267             - const: por # POR reset
268             - const: pci # PCI reset
269             - const: phy # PHY reset
270             - const: ext # EXT reset, not on apq8064
271       required:
272         - vdda-supply
273         - vdda_phy-supply
274         - vdda_refclk-supply
275
276   - if:
277       properties:
278         compatible:
279           contains:
280             enum:
281               - qcom,pcie-apq8084
282     then:
283       properties:
284         clocks:
285           minItems: 4
286           maxItems: 4
287         clock-names:
288           items:
289             - const: iface # Configuration AHB clock
290             - const: master_bus # Master AXI clock
291             - const: slave_bus # Slave AXI clock
292             - const: aux # Auxiliary (AUX) clock
293         resets:
294           maxItems: 1
295         reset-names:
296           items:
297             - const: core # Core reset
298
299   - if:
300       properties:
301         compatible:
302           contains:
303             enum:
304               - qcom,pcie-ipq4019
305     then:
306       properties:
307         clocks:
308           minItems: 3
309           maxItems: 3
310         clock-names:
311           items:
312             - const: aux # Auxiliary (AUX) clock
313             - const: master_bus # Master AXI clock
314             - const: slave_bus # Slave AXI clock
315         resets:
316           minItems: 12
317           maxItems: 12
318         reset-names:
319           items:
320             - const: axi_m # AXI master reset
321             - const: axi_s # AXI slave reset
322             - const: pipe # PIPE reset
323             - const: axi_m_vmid # VMID reset
324             - const: axi_s_xpu # XPU reset
325             - const: parf # PARF reset
326             - const: phy # PHY reset
327             - const: axi_m_sticky # AXI sticky reset
328             - const: pipe_sticky # PIPE sticky reset
329             - const: pwr # PWR reset
330             - const: ahb # AHB reset
331             - const: phy_ahb # PHY AHB reset
332
333   - if:
334       properties:
335         compatible:
336           contains:
337             enum:
338               - qcom,pcie-msm8996
339     then:
340       properties:
341         clocks:
342           minItems: 5
343           maxItems: 5
344         clock-names:
345           items:
346             - const: pipe # Pipe Clock driving internal logic
347             - const: aux # Auxiliary (AUX) clock
348             - const: cfg # Configuration clock
349             - const: bus_master # Master AXI clock
350             - const: bus_slave # Slave AXI clock
351         resets: false
352         reset-names: false
353
354   - if:
355       properties:
356         compatible:
357           contains:
358             enum:
359               - qcom,pcie-ipq8074
360     then:
361       properties:
362         clocks:
363           minItems: 5
364           maxItems: 5
365         clock-names:
366           items:
367             - const: iface # PCIe to SysNOC BIU clock
368             - const: axi_m # AXI Master clock
369             - const: axi_s # AXI Slave clock
370             - const: ahb # AHB clock
371             - const: aux # Auxiliary clock
372         resets:
373           minItems: 7
374           maxItems: 7
375         reset-names:
376           items:
377             - const: pipe # PIPE reset
378             - const: sleep # Sleep reset
379             - const: sticky # Core Sticky reset
380             - const: axi_m # AXI Master reset
381             - const: axi_s # AXI Slave reset
382             - const: ahb # AHB Reset
383             - const: axi_m_sticky # AXI Master Sticky reset
384
385   - if:
386       properties:
387         compatible:
388           contains:
389             enum:
390               - qcom,pcie-ipq6018
391               - qcom,pcie-ipq8074-gen3
392     then:
393       properties:
394         clocks:
395           minItems: 5
396           maxItems: 5
397         clock-names:
398           items:
399             - const: iface # PCIe to SysNOC BIU clock
400             - const: axi_m # AXI Master clock
401             - const: axi_s # AXI Slave clock
402             - const: axi_bridge # AXI bridge clock
403             - const: rchng
404         resets:
405           minItems: 8
406           maxItems: 8
407         reset-names:
408           items:
409             - const: pipe # PIPE reset
410             - const: sleep # Sleep reset
411             - const: sticky # Core Sticky reset
412             - const: axi_m # AXI Master reset
413             - const: axi_s # AXI Slave reset
414             - const: ahb # AHB Reset
415             - const: axi_m_sticky # AXI Master Sticky reset
416             - const: axi_s_sticky # AXI Slave Sticky reset
417
418   - if:
419       properties:
420         compatible:
421           contains:
422             enum:
423               - qcom,pcie-qcs404
424     then:
425       properties:
426         clocks:
427           minItems: 4
428           maxItems: 4
429         clock-names:
430           items:
431             - const: iface # AHB clock
432             - const: aux # Auxiliary clock
433             - const: master_bus # AXI Master clock
434             - const: slave_bus # AXI Slave clock
435         resets:
436           minItems: 6
437           maxItems: 6
438         reset-names:
439           items:
440             - const: axi_m # AXI Master reset
441             - const: axi_s # AXI Slave reset
442             - const: axi_m_sticky # AXI Master Sticky reset
443             - const: pipe_sticky # PIPE sticky reset
444             - const: pwr # PWR reset
445             - const: ahb # AHB reset
446
447   - if:
448       properties:
449         compatible:
450           contains:
451             enum:
452               - qcom,pcie-sc7280
453     then:
454       properties:
455         clocks:
456           minItems: 13
457           maxItems: 13
458         clock-names:
459           items:
460             - const: pipe # PIPE clock
461             - const: pipe_mux # PIPE MUX
462             - const: phy_pipe # PIPE output clock
463             - const: ref # REFERENCE clock
464             - const: aux # Auxiliary clock
465             - const: cfg # Configuration clock
466             - const: bus_master # Master AXI clock
467             - const: bus_slave # Slave AXI clock
468             - const: slave_q2a # Slave Q2A clock
469             - const: tbu # PCIe TBU clock
470             - const: ddrss_sf_tbu # PCIe SF TBU clock
471             - const: aggre0 # Aggre NoC PCIe CENTER SF AXI clock
472             - const: aggre1 # Aggre NoC PCIe1 AXI clock
473         resets:
474           maxItems: 1
475         reset-names:
476           items:
477             - const: pci # PCIe core reset
478
479   - if:
480       properties:
481         compatible:
482           contains:
483             enum:
484               - qcom,pcie-sdm845
485     then:
486       oneOf:
487           # Unfortunately the "optional" ref clock is used in the middle of the list
488         - properties:
489             clocks:
490               minItems: 8
491               maxItems: 8
492             clock-names:
493               items:
494                 - const: pipe # PIPE clock
495                 - const: aux # Auxiliary clock
496                 - const: cfg # Configuration clock
497                 - const: bus_master # Master AXI clock
498                 - const: bus_slave # Slave AXI clock
499                 - const: slave_q2a # Slave Q2A clock
500                 - const: ref # REFERENCE clock
501                 - const: tbu # PCIe TBU clock
502         - properties:
503             clocks:
504               minItems: 7
505               maxItems: 7
506             clock-names:
507               items:
508                 - const: pipe # PIPE clock
509                 - const: aux # Auxiliary clock
510                 - const: cfg # Configuration clock
511                 - const: bus_master # Master AXI clock
512                 - const: bus_slave # Slave AXI clock
513                 - const: slave_q2a # Slave Q2A clock
514                 - const: tbu # PCIe TBU clock
515       properties:
516         resets:
517           maxItems: 1
518         reset-names:
519           items:
520             - const: pci # PCIe core reset
521
522   - if:
523       properties:
524         compatible:
525           contains:
526             enum:
527               - qcom,pcie-sc8180x
528               - qcom,pcie-sm8150
529               - qcom,pcie-sm8250
530     then:
531       oneOf:
532           # Unfortunately the "optional" ref clock is used in the middle of the list
533         - properties:
534             clocks:
535               minItems: 9
536               maxItems: 9
537             clock-names:
538               items:
539                 - const: pipe # PIPE clock
540                 - const: aux # Auxiliary clock
541                 - const: cfg # Configuration clock
542                 - const: bus_master # Master AXI clock
543                 - const: bus_slave # Slave AXI clock
544                 - const: slave_q2a # Slave Q2A clock
545                 - const: ref # REFERENCE clock
546                 - const: tbu # PCIe TBU clock
547                 - const: ddrss_sf_tbu # PCIe SF TBU clock
548         - properties:
549             clocks:
550               minItems: 8
551               maxItems: 8
552             clock-names:
553               items:
554                 - const: pipe # PIPE clock
555                 - const: aux # Auxiliary clock
556                 - const: cfg # Configuration clock
557                 - const: bus_master # Master AXI clock
558                 - const: bus_slave # Slave AXI clock
559                 - const: slave_q2a # Slave Q2A clock
560                 - const: tbu # PCIe TBU clock
561                 - const: ddrss_sf_tbu # PCIe SF TBU clock
562       properties:
563         resets:
564           maxItems: 1
565         reset-names:
566           items:
567             - const: pci # PCIe core reset
568
569   - if:
570       properties:
571         compatible:
572           contains:
573             enum:
574               - qcom,pcie-sm8350
575     then:
576       properties:
577         clocks:
578           minItems: 8
579           maxItems: 9
580         clock-names:
581           minItems: 8
582           items:
583             - const: aux # Auxiliary clock
584             - const: cfg # Configuration clock
585             - const: bus_master # Master AXI clock
586             - const: bus_slave # Slave AXI clock
587             - const: slave_q2a # Slave Q2A clock
588             - const: tbu # PCIe TBU clock
589             - const: ddrss_sf_tbu # PCIe SF TBU clock
590             - const: aggre1 # Aggre NoC PCIe1 AXI clock
591             - const: aggre0 # Aggre NoC PCIe0 AXI clock
592         resets:
593           maxItems: 1
594         reset-names:
595           items:
596             - const: pci # PCIe core reset
597
598   - if:
599       properties:
600         compatible:
601           contains:
602             enum:
603               - qcom,pcie-sm8450-pcie0
604     then:
605       properties:
606         clocks:
607           minItems: 12
608           maxItems: 12
609         clock-names:
610           items:
611             - const: pipe # PIPE clock
612             - const: pipe_mux # PIPE MUX
613             - const: phy_pipe # PIPE output clock
614             - const: ref # REFERENCE clock
615             - const: aux # Auxiliary clock
616             - const: cfg # Configuration clock
617             - const: bus_master # Master AXI clock
618             - const: bus_slave # Slave AXI clock
619             - const: slave_q2a # Slave Q2A clock
620             - const: ddrss_sf_tbu # PCIe SF TBU clock
621             - const: aggre0 # Aggre NoC PCIe0 AXI clock
622             - const: aggre1 # Aggre NoC PCIe1 AXI clock
623         resets:
624           maxItems: 1
625         reset-names:
626           items:
627             - const: pci # PCIe core reset
628
629   - if:
630       properties:
631         compatible:
632           contains:
633             enum:
634               - qcom,pcie-sm8450-pcie1
635     then:
636       properties:
637         clocks:
638           minItems: 11
639           maxItems: 11
640         clock-names:
641           items:
642             - const: pipe # PIPE clock
643             - const: pipe_mux # PIPE MUX
644             - const: phy_pipe # PIPE output clock
645             - const: ref # REFERENCE clock
646             - const: aux # Auxiliary clock
647             - const: cfg # Configuration clock
648             - const: bus_master # Master AXI clock
649             - const: bus_slave # Slave AXI clock
650             - const: slave_q2a # Slave Q2A clock
651             - const: ddrss_sf_tbu # PCIe SF TBU clock
652             - const: aggre1 # Aggre NoC PCIe1 AXI clock
653         resets:
654           maxItems: 1
655         reset-names:
656           items:
657             - const: pci # PCIe core reset
658
659   - if:
660       properties:
661         compatible:
662           contains:
663             enum:
664               - qcom,pcie-sm8550
665     then:
666       properties:
667         clocks:
668           minItems: 7
669           maxItems: 8
670         clock-names:
671           minItems: 7
672           items:
673             - const: aux # Auxiliary clock
674             - const: cfg # Configuration clock
675             - const: bus_master # Master AXI clock
676             - const: bus_slave # Slave AXI clock
677             - const: slave_q2a # Slave Q2A clock
678             - const: ddrss_sf_tbu # PCIe SF TBU clock
679             - const: noc_aggr # Aggre NoC PCIe AXI clock
680             - const: cnoc_sf_axi # Config NoC PCIe1 AXI clock
681         resets:
682           minItems: 1
683           maxItems: 2
684         reset-names:
685           minItems: 1
686           items:
687             - const: pci # PCIe core reset
688             - const: link_down # PCIe link down reset
689
690   - if:
691       properties:
692         compatible:
693           contains:
694             enum:
695               - qcom,pcie-sa8540p
696               - qcom,pcie-sc8280xp
697     then:
698       properties:
699         clocks:
700           minItems: 8
701           maxItems: 9
702         clock-names:
703           minItems: 8
704           items:
705             - const: aux # Auxiliary clock
706             - const: cfg # Configuration clock
707             - const: bus_master # Master AXI clock
708             - const: bus_slave # Slave AXI clock
709             - const: slave_q2a # Slave Q2A clock
710             - const: ddrss_sf_tbu # PCIe SF TBU clock
711             - const: noc_aggr_4 # NoC aggregate 4 clock
712             - const: noc_aggr_south_sf # NoC aggregate South SF clock
713             - const: cnoc_qx # Configuration NoC QX clock
714         resets:
715           maxItems: 1
716         reset-names:
717           items:
718             - const: pci # PCIe core reset
719
720   - if:
721       properties:
722         compatible:
723           contains:
724             enum:
725               - qcom,pcie-sdx55
726     then:
727       properties:
728         clocks:
729           minItems: 7
730           maxItems: 7
731         clock-names:
732           items:
733             - const: pipe # PIPE clock
734             - const: aux # Auxiliary clock
735             - const: cfg # Configuration clock
736             - const: bus_master # Master AXI clock
737             - const: bus_slave # Slave AXI clock
738             - const: slave_q2a # Slave Q2A clock
739             - const: sleep # PCIe Sleep clock
740         resets:
741           maxItems: 1
742         reset-names:
743           items:
744             - const: pci # PCIe core reset
745
746   - if:
747       properties:
748         compatible:
749           contains:
750             enum:
751               - qcom,pcie-sa8540p
752               - qcom,pcie-sc8280xp
753     then:
754       required:
755         - interconnects
756         - interconnect-names
757
758   - if:
759       not:
760         properties:
761           compatible:
762             contains:
763               enum:
764                 - qcom,pcie-apq8064
765                 - qcom,pcie-ipq4019
766                 - qcom,pcie-ipq8064
767                 - qcom,pcie-ipq8064v2
768                 - qcom,pcie-ipq8074
769                 - qcom,pcie-ipq8074-gen3
770                 - qcom,pcie-qcs404
771     then:
772       required:
773         - power-domains
774
775   - if:
776       not:
777         properties:
778           compatible:
779             contains:
780               enum:
781                 - qcom,pcie-msm8996
782     then:
783       required:
784         - resets
785         - reset-names
786
787   - if:
788       properties:
789         compatible:
790           contains:
791             enum:
792               - qcom,pcie-msm8996
793               - qcom,pcie-sc7280
794               - qcom,pcie-sc8180x
795               - qcom,pcie-sdm845
796               - qcom,pcie-sm8150
797               - qcom,pcie-sm8250
798               - qcom,pcie-sm8350
799               - qcom,pcie-sm8450-pcie0
800               - qcom,pcie-sm8450-pcie1
801               - qcom,pcie-sm8550
802     then:
803       oneOf:
804         - properties:
805             interrupts:
806               maxItems: 1
807             interrupt-names:
808               items:
809                 - const: msi
810         - properties:
811             interrupts:
812               minItems: 8
813             interrupt-names:
814               items:
815                 - const: msi0
816                 - const: msi1
817                 - const: msi2
818                 - const: msi3
819                 - const: msi4
820                 - const: msi5
821                 - const: msi6
822                 - const: msi7
823
824   - if:
825       properties:
826         compatible:
827           contains:
828             enum:
829               - qcom,pcie-sc8280xp
830     then:
831       properties:
832         interrupts:
833           minItems: 4
834           maxItems: 4
835         interrupt-names:
836           items:
837             - const: msi0
838             - const: msi1
839             - const: msi2
840             - const: msi3
841
842   - if:
843       properties:
844         compatible:
845           contains:
846             enum:
847               - qcom,pcie-apq8064
848               - qcom,pcie-apq8084
849               - qcom,pcie-ipq4019
850               - qcom,pcie-ipq6018
851               - qcom,pcie-ipq8064
852               - qcom,pcie-ipq8064-v2
853               - qcom,pcie-ipq8074
854               - qcom,pcie-ipq8074-gen3
855               - qcom,pcie-qcs404
856               - qcom,pcie-sa8540p
857     then:
858       properties:
859         interrupts:
860           maxItems: 1
861         interrupt-names:
862           items:
863             - const: msi
864
865 unevaluatedProperties: false
866
867 examples:
868   - |
869     #include <dt-bindings/interrupt-controller/arm-gic.h>
870     pcie@1b500000 {
871       compatible = "qcom,pcie-ipq8064";
872       reg = <0x1b500000 0x1000>,
873             <0x1b502000 0x80>,
874             <0x1b600000 0x100>,
875             <0x0ff00000 0x100000>;
876       reg-names = "dbi", "elbi", "parf", "config";
877       device_type = "pci";
878       linux,pci-domain = <0>;
879       bus-range = <0x00 0xff>;
880       num-lanes = <1>;
881       #address-cells = <3>;
882       #size-cells = <2>;
883       ranges = <0x81000000 0 0 0x0fe00000 0 0x00100000>,
884                <0x82000000 0 0 0x08000000 0 0x07e00000>;
885       interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
886       interrupt-names = "msi";
887       #interrupt-cells = <1>;
888       interrupt-map-mask = <0 0 0 0x7>;
889       interrupt-map = <0 0 0 1 &intc 0 36 IRQ_TYPE_LEVEL_HIGH>,
890                       <0 0 0 2 &intc 0 37 IRQ_TYPE_LEVEL_HIGH>,
891                       <0 0 0 3 &intc 0 38 IRQ_TYPE_LEVEL_HIGH>,
892                       <0 0 0 4 &intc 0 39 IRQ_TYPE_LEVEL_HIGH>;
893       clocks = <&gcc 41>,
894                <&gcc 43>,
895                <&gcc 44>,
896                <&gcc 42>,
897                <&gcc 248>;
898       clock-names = "core", "iface", "phy", "aux", "ref";
899       resets = <&gcc 27>,
900                <&gcc 26>,
901                <&gcc 25>,
902                <&gcc 24>,
903                <&gcc 23>,
904                <&gcc 22>;
905       reset-names = "axi", "ahb", "por", "pci", "phy", "ext";
906       pinctrl-0 = <&pcie_pins_default>;
907       pinctrl-names = "default";
908       vdda-supply = <&pm8921_s3>;
909       vdda_phy-supply = <&pm8921_lvs6>;
910       vdda_refclk-supply = <&ext_3p3v>;
911     };
912   - |
913     #include <dt-bindings/interrupt-controller/arm-gic.h>
914     #include <dt-bindings/gpio/gpio.h>
915     pcie@fc520000 {
916       compatible = "qcom,pcie-apq8084";
917       reg = <0xfc520000 0x2000>,
918             <0xff000000 0x1000>,
919             <0xff001000 0x1000>,
920             <0xff002000 0x2000>;
921       reg-names = "parf", "dbi", "elbi", "config";
922       device_type = "pci";
923       linux,pci-domain = <0>;
924       bus-range = <0x00 0xff>;
925       num-lanes = <1>;
926       #address-cells = <3>;
927       #size-cells = <2>;
928       ranges = <0x81000000 0 0          0xff200000 0 0x00100000>,
929                <0x82000000 0 0x00300000 0xff300000 0 0x00d00000>;
930       interrupts = <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>;
931       interrupt-names = "msi";
932       #interrupt-cells = <1>;
933       interrupt-map-mask = <0 0 0 0x7>;
934       interrupt-map = <0 0 0 1 &intc 0 244 IRQ_TYPE_LEVEL_HIGH>,
935                       <0 0 0 2 &intc 0 245 IRQ_TYPE_LEVEL_HIGH>,
936                       <0 0 0 3 &intc 0 247 IRQ_TYPE_LEVEL_HIGH>,
937                       <0 0 0 4 &intc 0 248 IRQ_TYPE_LEVEL_HIGH>;
938       clocks = <&gcc 324>,
939                <&gcc 325>,
940                <&gcc 327>,
941                <&gcc 323>;
942       clock-names = "iface", "master_bus", "slave_bus", "aux";
943       resets = <&gcc 81>;
944       reset-names = "core";
945       power-domains = <&gcc 1>;
946       vdda-supply = <&pma8084_l3>;
947       phys = <&pciephy0>;
948       phy-names = "pciephy";
949       perst-gpios = <&tlmm 70 GPIO_ACTIVE_LOW>;
950       pinctrl-0 = <&pcie0_pins_default>;
951       pinctrl-names = "default";
952     };
953 ...