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