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