xref: /freebsd/sys/contrib/device-tree/Bindings/pci/qcom,pcie.txt (revision 5956d97f4b3204318ceb6aa9c77bd0bc6ea87a41)
1c66ec88fSEmmanuel Vadot* Qualcomm PCI express root complex
2c66ec88fSEmmanuel Vadot
3c66ec88fSEmmanuel Vadot- compatible:
4c66ec88fSEmmanuel Vadot	Usage: required
5c66ec88fSEmmanuel Vadot	Value type: <stringlist>
6c66ec88fSEmmanuel Vadot	Definition: Value should contain
7c66ec88fSEmmanuel Vadot			- "qcom,pcie-ipq8064" for ipq8064
8c66ec88fSEmmanuel Vadot			- "qcom,pcie-ipq8064-v2" for ipq8064 rev 2 or ipq8065
9c66ec88fSEmmanuel Vadot			- "qcom,pcie-apq8064" for apq8064
10c66ec88fSEmmanuel Vadot			- "qcom,pcie-apq8084" for apq8084
11c66ec88fSEmmanuel Vadot			- "qcom,pcie-msm8996" for msm8996 or apq8096
12c66ec88fSEmmanuel Vadot			- "qcom,pcie-ipq4019" for ipq4019
13c66ec88fSEmmanuel Vadot			- "qcom,pcie-ipq8074" for ipq8074
14c66ec88fSEmmanuel Vadot			- "qcom,pcie-qcs404" for qcs404
15c66ec88fSEmmanuel Vadot			- "qcom,pcie-sdm845" for sdm845
165def4c47SEmmanuel Vadot			- "qcom,pcie-sm8250" for sm8250
17*5956d97fSEmmanuel Vadot			- "qcom,pcie-ipq6018" for ipq6018
18c66ec88fSEmmanuel Vadot
19c66ec88fSEmmanuel Vadot- reg:
20c66ec88fSEmmanuel Vadot	Usage: required
21c66ec88fSEmmanuel Vadot	Value type: <prop-encoded-array>
22c66ec88fSEmmanuel Vadot	Definition: Register ranges as listed in the reg-names property
23c66ec88fSEmmanuel Vadot
24c66ec88fSEmmanuel Vadot- reg-names:
25c66ec88fSEmmanuel Vadot	Usage: required
26c66ec88fSEmmanuel Vadot	Value type: <stringlist>
27c66ec88fSEmmanuel Vadot	Definition: Must include the following entries
28c66ec88fSEmmanuel Vadot			- "parf"   Qualcomm specific registers
29c66ec88fSEmmanuel Vadot			- "dbi"	   DesignWare PCIe registers
30c66ec88fSEmmanuel Vadot			- "elbi"   External local bus interface registers
31c66ec88fSEmmanuel Vadot			- "config" PCIe configuration space
325def4c47SEmmanuel Vadot			- "atu"    ATU address space (optional)
33c66ec88fSEmmanuel Vadot
34c66ec88fSEmmanuel Vadot- device_type:
35c66ec88fSEmmanuel Vadot	Usage: required
36c66ec88fSEmmanuel Vadot	Value type: <string>
37c66ec88fSEmmanuel Vadot	Definition: Should be "pci". As specified in designware-pcie.txt
38c66ec88fSEmmanuel Vadot
39c66ec88fSEmmanuel Vadot- #address-cells:
40c66ec88fSEmmanuel Vadot	Usage: required
41c66ec88fSEmmanuel Vadot	Value type: <u32>
42c66ec88fSEmmanuel Vadot	Definition: Should be 3. As specified in designware-pcie.txt
43c66ec88fSEmmanuel Vadot
44c66ec88fSEmmanuel Vadot- #size-cells:
45c66ec88fSEmmanuel Vadot	Usage: required
46c66ec88fSEmmanuel Vadot	Value type: <u32>
47c66ec88fSEmmanuel Vadot	Definition: Should be 2. As specified in designware-pcie.txt
48c66ec88fSEmmanuel Vadot
49c66ec88fSEmmanuel Vadot- ranges:
50c66ec88fSEmmanuel Vadot	Usage: required
51c66ec88fSEmmanuel Vadot	Value type: <prop-encoded-array>
52c66ec88fSEmmanuel Vadot	Definition: As specified in designware-pcie.txt
53c66ec88fSEmmanuel Vadot
54c66ec88fSEmmanuel Vadot- interrupts:
55c66ec88fSEmmanuel Vadot	Usage: required
56c66ec88fSEmmanuel Vadot	Value type: <prop-encoded-array>
57c66ec88fSEmmanuel Vadot	Definition: MSI interrupt
58c66ec88fSEmmanuel Vadot
59c66ec88fSEmmanuel Vadot- interrupt-names:
60c66ec88fSEmmanuel Vadot	Usage: required
61c66ec88fSEmmanuel Vadot	Value type: <stringlist>
62c66ec88fSEmmanuel Vadot	Definition: Should contain "msi"
63c66ec88fSEmmanuel Vadot
64c66ec88fSEmmanuel Vadot- #interrupt-cells:
65c66ec88fSEmmanuel Vadot	Usage: required
66c66ec88fSEmmanuel Vadot	Value type: <u32>
67c66ec88fSEmmanuel Vadot	Definition: Should be 1. As specified in designware-pcie.txt
68c66ec88fSEmmanuel Vadot
69c66ec88fSEmmanuel Vadot- interrupt-map-mask:
70c66ec88fSEmmanuel Vadot	Usage: required
71c66ec88fSEmmanuel Vadot	Value type: <prop-encoded-array>
72c66ec88fSEmmanuel Vadot	Definition: As specified in designware-pcie.txt
73c66ec88fSEmmanuel Vadot
74c66ec88fSEmmanuel Vadot- interrupt-map:
75c66ec88fSEmmanuel Vadot	Usage: required
76c66ec88fSEmmanuel Vadot	Value type: <prop-encoded-array>
77c66ec88fSEmmanuel Vadot	Definition: As specified in designware-pcie.txt
78c66ec88fSEmmanuel Vadot
79c66ec88fSEmmanuel Vadot- clocks:
80c66ec88fSEmmanuel Vadot	Usage: required
81c66ec88fSEmmanuel Vadot	Value type: <prop-encoded-array>
82c66ec88fSEmmanuel Vadot	Definition: List of phandle and clock specifier pairs as listed
83c66ec88fSEmmanuel Vadot		    in clock-names property
84c66ec88fSEmmanuel Vadot
85c66ec88fSEmmanuel Vadot- clock-names:
86c66ec88fSEmmanuel Vadot	Usage: required
87c66ec88fSEmmanuel Vadot	Value type: <stringlist>
88c66ec88fSEmmanuel Vadot	Definition: Should contain the following entries
89c66ec88fSEmmanuel Vadot			- "iface"	Configuration AHB clock
90c66ec88fSEmmanuel Vadot
91c66ec88fSEmmanuel Vadot- clock-names:
92c66ec88fSEmmanuel Vadot	Usage: required for ipq/apq8064
93c66ec88fSEmmanuel Vadot	Value type: <stringlist>
94c66ec88fSEmmanuel Vadot	Definition: Should contain the following entries
95c66ec88fSEmmanuel Vadot			- "core"	Clocks the pcie hw block
96c66ec88fSEmmanuel Vadot			- "phy"		Clocks the pcie PHY block
97c66ec88fSEmmanuel Vadot			- "aux" 	Clocks the pcie AUX block
98c66ec88fSEmmanuel Vadot			- "ref" 	Clocks the pcie ref block
99c66ec88fSEmmanuel Vadot- clock-names:
100c66ec88fSEmmanuel Vadot	Usage: required for apq8084/ipq4019
101c66ec88fSEmmanuel Vadot	Value type: <stringlist>
102c66ec88fSEmmanuel Vadot	Definition: Should contain the following entries
103c66ec88fSEmmanuel Vadot			- "aux"		Auxiliary (AUX) clock
104c66ec88fSEmmanuel Vadot			- "bus_master"	Master AXI clock
105c66ec88fSEmmanuel Vadot			- "bus_slave"	Slave AXI clock
106c66ec88fSEmmanuel Vadot
107c66ec88fSEmmanuel Vadot- clock-names:
108c66ec88fSEmmanuel Vadot	Usage: required for msm8996/apq8096
109c66ec88fSEmmanuel Vadot	Value type: <stringlist>
110c66ec88fSEmmanuel Vadot	Definition: Should contain the following entries
111c66ec88fSEmmanuel Vadot			- "pipe"	Pipe Clock driving internal logic
112c66ec88fSEmmanuel Vadot			- "aux"		Auxiliary (AUX) clock
113c66ec88fSEmmanuel Vadot			- "cfg"		Configuration clock
114c66ec88fSEmmanuel Vadot			- "bus_master"	Master AXI clock
115c66ec88fSEmmanuel Vadot			- "bus_slave"	Slave AXI clock
116c66ec88fSEmmanuel Vadot
117c66ec88fSEmmanuel Vadot- clock-names:
118c66ec88fSEmmanuel Vadot	Usage: required for ipq8074
119c66ec88fSEmmanuel Vadot	Value type: <stringlist>
120c66ec88fSEmmanuel Vadot	Definition: Should contain the following entries
121c66ec88fSEmmanuel Vadot			- "iface"	PCIe to SysNOC BIU clock
122c66ec88fSEmmanuel Vadot			- "axi_m"	AXI Master clock
123c66ec88fSEmmanuel Vadot			- "axi_s"	AXI Slave clock
124c66ec88fSEmmanuel Vadot			- "ahb"		AHB clock
125c66ec88fSEmmanuel Vadot			- "aux"		Auxiliary clock
126c66ec88fSEmmanuel Vadot
127c66ec88fSEmmanuel Vadot- clock-names:
128*5956d97fSEmmanuel Vadot	Usage: required for ipq6018
129*5956d97fSEmmanuel Vadot	Value type: <stringlist>
130*5956d97fSEmmanuel Vadot	Definition: Should contain the following entries
131*5956d97fSEmmanuel Vadot			- "iface"	PCIe to SysNOC BIU clock
132*5956d97fSEmmanuel Vadot			- "axi_m"	AXI Master clock
133*5956d97fSEmmanuel Vadot			- "axi_s"	AXI Slave clock
134*5956d97fSEmmanuel Vadot			- "axi_bridge"	AXI bridge clock
135*5956d97fSEmmanuel Vadot			- "rchng"
136*5956d97fSEmmanuel Vadot
137*5956d97fSEmmanuel Vadot- clock-names:
138c66ec88fSEmmanuel Vadot	Usage: required for qcs404
139c66ec88fSEmmanuel Vadot	Value type: <stringlist>
140c66ec88fSEmmanuel Vadot	Definition: Should contain the following entries
141c66ec88fSEmmanuel Vadot			- "iface"	AHB clock
142c66ec88fSEmmanuel Vadot			- "aux"		Auxiliary clock
143c66ec88fSEmmanuel Vadot			- "master_bus"	AXI Master clock
144c66ec88fSEmmanuel Vadot			- "slave_bus"	AXI Slave clock
145c66ec88fSEmmanuel Vadot
146c66ec88fSEmmanuel Vadot- clock-names:
147c66ec88fSEmmanuel Vadot	Usage: required for sdm845
148c66ec88fSEmmanuel Vadot	Value type: <stringlist>
149c66ec88fSEmmanuel Vadot	Definition: Should contain the following entries
150c66ec88fSEmmanuel Vadot			- "aux"		Auxiliary clock
151c66ec88fSEmmanuel Vadot			- "cfg"		Configuration clock
152c66ec88fSEmmanuel Vadot			- "bus_master"	Master AXI clock
153c66ec88fSEmmanuel Vadot			- "bus_slave"	Slave AXI clock
154c66ec88fSEmmanuel Vadot			- "slave_q2a"	Slave Q2A clock
155c66ec88fSEmmanuel Vadot			- "tbu"		PCIe TBU clock
156c66ec88fSEmmanuel Vadot			- "pipe"	PIPE clock
157c66ec88fSEmmanuel Vadot
1585def4c47SEmmanuel Vadot- clock-names:
1595def4c47SEmmanuel Vadot	Usage: required for sm8250
1605def4c47SEmmanuel Vadot	Value type: <stringlist>
1615def4c47SEmmanuel Vadot	Definition: Should contain the following entries
1625def4c47SEmmanuel Vadot			- "aux"		Auxiliary clock
1635def4c47SEmmanuel Vadot			- "cfg"		Configuration clock
1645def4c47SEmmanuel Vadot			- "bus_master"	Master AXI clock
1655def4c47SEmmanuel Vadot			- "bus_slave"	Slave AXI clock
1665def4c47SEmmanuel Vadot			- "slave_q2a"	Slave Q2A clock
1675def4c47SEmmanuel Vadot			- "tbu"		PCIe TBU clock
1685def4c47SEmmanuel Vadot			- "ddrss_sf_tbu" PCIe SF TBU clock
1695def4c47SEmmanuel Vadot			- "pipe"	PIPE clock
1705def4c47SEmmanuel Vadot
171c66ec88fSEmmanuel Vadot- resets:
172c66ec88fSEmmanuel Vadot	Usage: required
173c66ec88fSEmmanuel Vadot	Value type: <prop-encoded-array>
174c66ec88fSEmmanuel Vadot	Definition: List of phandle and reset specifier pairs as listed
175c66ec88fSEmmanuel Vadot		    in reset-names property
176c66ec88fSEmmanuel Vadot
177c66ec88fSEmmanuel Vadot- reset-names:
178c66ec88fSEmmanuel Vadot	Usage: required for ipq/apq8064
179c66ec88fSEmmanuel Vadot	Value type: <stringlist>
180c66ec88fSEmmanuel Vadot	Definition: Should contain the following entries
181c66ec88fSEmmanuel Vadot			- "axi"  AXI reset
182c66ec88fSEmmanuel Vadot			- "ahb"  AHB reset
183c66ec88fSEmmanuel Vadot			- "por"  POR reset
184c66ec88fSEmmanuel Vadot			- "pci"  PCI reset
185c66ec88fSEmmanuel Vadot			- "phy"  PHY reset
186c66ec88fSEmmanuel Vadot
187c66ec88fSEmmanuel Vadot- reset-names:
188c66ec88fSEmmanuel Vadot	Usage: required for apq8084
189c66ec88fSEmmanuel Vadot	Value type: <stringlist>
190c66ec88fSEmmanuel Vadot	Definition: Should contain the following entries
191c66ec88fSEmmanuel Vadot			- "core" Core reset
192c66ec88fSEmmanuel Vadot
193c66ec88fSEmmanuel Vadot- reset-names:
194c66ec88fSEmmanuel Vadot	Usage: required for ipq/apq8064
195c66ec88fSEmmanuel Vadot	Value type: <stringlist>
196c66ec88fSEmmanuel Vadot	Definition: Should contain the following entries
197c66ec88fSEmmanuel Vadot			- "axi_m"		AXI master reset
198c66ec88fSEmmanuel Vadot			- "axi_s"		AXI slave reset
199c66ec88fSEmmanuel Vadot			- "pipe"		PIPE reset
200c66ec88fSEmmanuel Vadot			- "axi_m_vmid"		VMID reset
201c66ec88fSEmmanuel Vadot			- "axi_s_xpu"		XPU reset
202c66ec88fSEmmanuel Vadot			- "parf"		PARF reset
203c66ec88fSEmmanuel Vadot			- "phy"			PHY reset
204c66ec88fSEmmanuel Vadot			- "axi_m_sticky"	AXI sticky reset
205c66ec88fSEmmanuel Vadot			- "pipe_sticky"		PIPE sticky reset
206c66ec88fSEmmanuel Vadot			- "pwr"			PWR reset
207c66ec88fSEmmanuel Vadot			- "ahb"			AHB reset
208c66ec88fSEmmanuel Vadot			- "phy_ahb"		PHY AHB reset
209c66ec88fSEmmanuel Vadot			- "ext"			EXT reset
210c66ec88fSEmmanuel Vadot
211c66ec88fSEmmanuel Vadot- reset-names:
212c66ec88fSEmmanuel Vadot	Usage: required for ipq8074
213c66ec88fSEmmanuel Vadot	Value type: <stringlist>
214c66ec88fSEmmanuel Vadot	Definition: Should contain the following entries
215c66ec88fSEmmanuel Vadot			- "pipe"		PIPE reset
216c66ec88fSEmmanuel Vadot			- "sleep"		Sleep reset
217c66ec88fSEmmanuel Vadot			- "sticky"		Core Sticky reset
218c66ec88fSEmmanuel Vadot			- "axi_m"		AXI Master reset
219c66ec88fSEmmanuel Vadot			- "axi_s"		AXI Slave reset
220c66ec88fSEmmanuel Vadot			- "ahb"			AHB Reset
221c66ec88fSEmmanuel Vadot			- "axi_m_sticky"	AXI Master Sticky reset
222c66ec88fSEmmanuel Vadot
223c66ec88fSEmmanuel Vadot- reset-names:
224*5956d97fSEmmanuel Vadot	Usage: required for ipq6018
225*5956d97fSEmmanuel Vadot	Value type: <stringlist>
226*5956d97fSEmmanuel Vadot	Definition: Should contain the following entries
227*5956d97fSEmmanuel Vadot			- "pipe"		PIPE reset
228*5956d97fSEmmanuel Vadot			- "sleep"		Sleep reset
229*5956d97fSEmmanuel Vadot			- "sticky"		Core Sticky reset
230*5956d97fSEmmanuel Vadot			- "axi_m"		AXI Master reset
231*5956d97fSEmmanuel Vadot			- "axi_s"		AXI Slave reset
232*5956d97fSEmmanuel Vadot			- "ahb"			AHB Reset
233*5956d97fSEmmanuel Vadot			- "axi_m_sticky"	AXI Master Sticky reset
234*5956d97fSEmmanuel Vadot			- "axi_s_sticky"	AXI Slave Sticky reset
235*5956d97fSEmmanuel Vadot
236*5956d97fSEmmanuel Vadot- reset-names:
237c66ec88fSEmmanuel Vadot	Usage: required for qcs404
238c66ec88fSEmmanuel Vadot	Value type: <stringlist>
239c66ec88fSEmmanuel Vadot	Definition: Should contain the following entries
240c66ec88fSEmmanuel Vadot			- "axi_m"		AXI Master reset
241c66ec88fSEmmanuel Vadot			- "axi_s"		AXI Slave reset
242c66ec88fSEmmanuel Vadot			- "axi_m_sticky"	AXI Master Sticky reset
243c66ec88fSEmmanuel Vadot			- "pipe_sticky"		PIPE sticky reset
244c66ec88fSEmmanuel Vadot			- "pwr"			PWR reset
245c66ec88fSEmmanuel Vadot			- "ahb"			AHB reset
246c66ec88fSEmmanuel Vadot
247c66ec88fSEmmanuel Vadot- reset-names:
2485def4c47SEmmanuel Vadot	Usage: required for sdm845 and sm8250
249c66ec88fSEmmanuel Vadot	Value type: <stringlist>
250c66ec88fSEmmanuel Vadot	Definition: Should contain the following entries
251c66ec88fSEmmanuel Vadot			- "pci"			PCIe core reset
252c66ec88fSEmmanuel Vadot
253c66ec88fSEmmanuel Vadot- power-domains:
254c66ec88fSEmmanuel Vadot	Usage: required for apq8084 and msm8996/apq8096
255c66ec88fSEmmanuel Vadot	Value type: <prop-encoded-array>
256c66ec88fSEmmanuel Vadot	Definition: A phandle and power domain specifier pair to the
257c66ec88fSEmmanuel Vadot		    power domain which is responsible for collapsing
258c66ec88fSEmmanuel Vadot		    and restoring power to the peripheral
259c66ec88fSEmmanuel Vadot
260c66ec88fSEmmanuel Vadot- vdda-supply:
261c66ec88fSEmmanuel Vadot	Usage: required
262c66ec88fSEmmanuel Vadot	Value type: <phandle>
263c66ec88fSEmmanuel Vadot	Definition: A phandle to the core analog power supply
264c66ec88fSEmmanuel Vadot
265c66ec88fSEmmanuel Vadot- vdda_phy-supply:
266c66ec88fSEmmanuel Vadot	Usage: required for ipq/apq8064
267c66ec88fSEmmanuel Vadot	Value type: <phandle>
268c66ec88fSEmmanuel Vadot	Definition: A phandle to the analog power supply for PHY
269c66ec88fSEmmanuel Vadot
270c66ec88fSEmmanuel Vadot- vdda_refclk-supply:
271c66ec88fSEmmanuel Vadot	Usage: required for ipq/apq8064
272c66ec88fSEmmanuel Vadot	Value type: <phandle>
273c66ec88fSEmmanuel Vadot	Definition: A phandle to the analog power supply for IC which generates
274c66ec88fSEmmanuel Vadot		    reference clock
275c66ec88fSEmmanuel Vadot- vddpe-3v3-supply:
276c66ec88fSEmmanuel Vadot	Usage: optional
277c66ec88fSEmmanuel Vadot	Value type: <phandle>
278c66ec88fSEmmanuel Vadot	Definition: A phandle to the PCIe endpoint power supply
279c66ec88fSEmmanuel Vadot
280c66ec88fSEmmanuel Vadot- phys:
281c66ec88fSEmmanuel Vadot	Usage: required for apq8084 and qcs404
282c66ec88fSEmmanuel Vadot	Value type: <phandle>
283c66ec88fSEmmanuel Vadot	Definition: List of phandle(s) as listed in phy-names property
284c66ec88fSEmmanuel Vadot
285c66ec88fSEmmanuel Vadot- phy-names:
286c66ec88fSEmmanuel Vadot	Usage: required for apq8084 and qcs404
287c66ec88fSEmmanuel Vadot	Value type: <stringlist>
288c66ec88fSEmmanuel Vadot	Definition: Should contain "pciephy"
289c66ec88fSEmmanuel Vadot
290c66ec88fSEmmanuel Vadot- <name>-gpios:
291c66ec88fSEmmanuel Vadot	Usage: optional
292c66ec88fSEmmanuel Vadot	Value type: <prop-encoded-array>
293c66ec88fSEmmanuel Vadot	Definition: List of phandle and GPIO specifier pairs. Should contain
294c66ec88fSEmmanuel Vadot			- "perst-gpios"	PCIe endpoint reset signal line
295c66ec88fSEmmanuel Vadot			- "wake-gpios"	PCIe endpoint wake signal line
296c66ec88fSEmmanuel Vadot
297c66ec88fSEmmanuel Vadot* Example for ipq/apq8064
298c66ec88fSEmmanuel Vadot	pcie@1b500000 {
299c66ec88fSEmmanuel Vadot		compatible = "qcom,pcie-apq8064", "qcom,pcie-ipq8064", "snps,dw-pcie";
300c66ec88fSEmmanuel Vadot		reg = <0x1b500000 0x1000
301c66ec88fSEmmanuel Vadot		       0x1b502000 0x80
302c66ec88fSEmmanuel Vadot		       0x1b600000 0x100
303c66ec88fSEmmanuel Vadot		       0x0ff00000 0x100000>;
304c66ec88fSEmmanuel Vadot		reg-names = "dbi", "elbi", "parf", "config";
305c66ec88fSEmmanuel Vadot		device_type = "pci";
306c66ec88fSEmmanuel Vadot		linux,pci-domain = <0>;
307c66ec88fSEmmanuel Vadot		bus-range = <0x00 0xff>;
308c66ec88fSEmmanuel Vadot		num-lanes = <1>;
309c66ec88fSEmmanuel Vadot		#address-cells = <3>;
310c66ec88fSEmmanuel Vadot		#size-cells = <2>;
311c66ec88fSEmmanuel Vadot		ranges = <0x81000000 0 0 0x0fe00000 0 0x00100000   /* I/O */
312c66ec88fSEmmanuel Vadot			  0x82000000 0 0 0x08000000 0 0x07e00000>; /* memory */
313c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 238 IRQ_TYPE_NONE>;
314c66ec88fSEmmanuel Vadot		interrupt-names = "msi";
315c66ec88fSEmmanuel Vadot		#interrupt-cells = <1>;
316c66ec88fSEmmanuel Vadot		interrupt-map-mask = <0 0 0 0x7>;
317c66ec88fSEmmanuel Vadot		interrupt-map = <0 0 0 1 &intc 0 36 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
318c66ec88fSEmmanuel Vadot				<0 0 0 2 &intc 0 37 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
319c66ec88fSEmmanuel Vadot				<0 0 0 3 &intc 0 38 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
320c66ec88fSEmmanuel Vadot				<0 0 0 4 &intc 0 39 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
321c66ec88fSEmmanuel Vadot		clocks = <&gcc PCIE_A_CLK>,
322c66ec88fSEmmanuel Vadot			 <&gcc PCIE_H_CLK>,
323c66ec88fSEmmanuel Vadot			 <&gcc PCIE_PHY_CLK>,
324c66ec88fSEmmanuel Vadot			 <&gcc PCIE_AUX_CLK>,
325c66ec88fSEmmanuel Vadot			 <&gcc PCIE_ALT_REF_CLK>;
326c66ec88fSEmmanuel Vadot		clock-names = "core", "iface", "phy", "aux", "ref";
327c66ec88fSEmmanuel Vadot		resets = <&gcc PCIE_ACLK_RESET>,
328c66ec88fSEmmanuel Vadot			 <&gcc PCIE_HCLK_RESET>,
329c66ec88fSEmmanuel Vadot			 <&gcc PCIE_POR_RESET>,
330c66ec88fSEmmanuel Vadot			 <&gcc PCIE_PCI_RESET>,
331c66ec88fSEmmanuel Vadot			 <&gcc PCIE_PHY_RESET>,
332c66ec88fSEmmanuel Vadot			 <&gcc PCIE_EXT_RESET>;
333c66ec88fSEmmanuel Vadot		reset-names = "axi", "ahb", "por", "pci", "phy", "ext";
334c66ec88fSEmmanuel Vadot		pinctrl-0 = <&pcie_pins_default>;
335c66ec88fSEmmanuel Vadot		pinctrl-names = "default";
336c66ec88fSEmmanuel Vadot	};
337c66ec88fSEmmanuel Vadot
338c66ec88fSEmmanuel Vadot* Example for apq8084
339c66ec88fSEmmanuel Vadot	pcie0@fc520000 {
340c66ec88fSEmmanuel Vadot		compatible = "qcom,pcie-apq8084", "snps,dw-pcie";
341c66ec88fSEmmanuel Vadot		reg = <0xfc520000 0x2000>,
342c66ec88fSEmmanuel Vadot		      <0xff000000 0x1000>,
343c66ec88fSEmmanuel Vadot		      <0xff001000 0x1000>,
344c66ec88fSEmmanuel Vadot		      <0xff002000 0x2000>;
345c66ec88fSEmmanuel Vadot		reg-names = "parf", "dbi", "elbi", "config";
346c66ec88fSEmmanuel Vadot		device_type = "pci";
347c66ec88fSEmmanuel Vadot		linux,pci-domain = <0>;
348c66ec88fSEmmanuel Vadot		bus-range = <0x00 0xff>;
349c66ec88fSEmmanuel Vadot		num-lanes = <1>;
350c66ec88fSEmmanuel Vadot		#address-cells = <3>;
351c66ec88fSEmmanuel Vadot		#size-cells = <2>;
352c66ec88fSEmmanuel Vadot		ranges = <0x81000000 0 0          0xff200000 0 0x00100000   /* I/O */
353c66ec88fSEmmanuel Vadot			  0x82000000 0 0x00300000 0xff300000 0 0x00d00000>; /* memory */
354c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 243 IRQ_TYPE_NONE>;
355c66ec88fSEmmanuel Vadot		interrupt-names = "msi";
356c66ec88fSEmmanuel Vadot		#interrupt-cells = <1>;
357c66ec88fSEmmanuel Vadot		interrupt-map-mask = <0 0 0 0x7>;
358c66ec88fSEmmanuel Vadot		interrupt-map = <0 0 0 1 &intc 0 244 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
359c66ec88fSEmmanuel Vadot				<0 0 0 2 &intc 0 245 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
360c66ec88fSEmmanuel Vadot				<0 0 0 3 &intc 0 247 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
361c66ec88fSEmmanuel Vadot				<0 0 0 4 &intc 0 248 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
362c66ec88fSEmmanuel Vadot		clocks = <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
363c66ec88fSEmmanuel Vadot			 <&gcc GCC_PCIE_0_MSTR_AXI_CLK>,
364c66ec88fSEmmanuel Vadot			 <&gcc GCC_PCIE_0_SLV_AXI_CLK>,
365c66ec88fSEmmanuel Vadot			 <&gcc GCC_PCIE_0_AUX_CLK>;
366c66ec88fSEmmanuel Vadot		clock-names = "iface", "master_bus", "slave_bus", "aux";
367c66ec88fSEmmanuel Vadot		resets = <&gcc GCC_PCIE_0_BCR>;
368c66ec88fSEmmanuel Vadot		reset-names = "core";
369c66ec88fSEmmanuel Vadot		power-domains = <&gcc PCIE0_GDSC>;
370c66ec88fSEmmanuel Vadot		vdda-supply = <&pma8084_l3>;
371c66ec88fSEmmanuel Vadot		phys = <&pciephy0>;
372c66ec88fSEmmanuel Vadot		phy-names = "pciephy";
373c66ec88fSEmmanuel Vadot		perst-gpio = <&tlmm 70 GPIO_ACTIVE_LOW>;
374c66ec88fSEmmanuel Vadot		pinctrl-0 = <&pcie0_pins_default>;
375c66ec88fSEmmanuel Vadot		pinctrl-names = "default";
376c66ec88fSEmmanuel Vadot	};
377