xref: /linux/scripts/dtc/include-prefixes/arm/qcom/qcom-ipq8064.dtsi (revision 724ba6751532055db75992fc6ae21c3e322e94a7)
1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2*724ba675SRob Herring/dts-v1/;
3*724ba675SRob Herring
4*724ba675SRob Herring#include <dt-bindings/interrupt-controller/arm-gic.h>
5*724ba675SRob Herring#include <dt-bindings/mfd/qcom-rpm.h>
6*724ba675SRob Herring#include <dt-bindings/clock/qcom,rpmcc.h>
7*724ba675SRob Herring#include <dt-bindings/clock/qcom,gcc-ipq806x.h>
8*724ba675SRob Herring#include <dt-bindings/clock/qcom,lcc-ipq806x.h>
9*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
10*724ba675SRob Herring#include <dt-bindings/reset/qcom,gcc-ipq806x.h>
11*724ba675SRob Herring#include <dt-bindings/soc/qcom,gsbi.h>
12*724ba675SRob Herring#include <dt-bindings/interrupt-controller/arm-gic.h>
13*724ba675SRob Herring
14*724ba675SRob Herring/ {
15*724ba675SRob Herring	#address-cells = <1>;
16*724ba675SRob Herring	#size-cells = <1>;
17*724ba675SRob Herring	model = "Qualcomm IPQ8064";
18*724ba675SRob Herring	compatible = "qcom,ipq8064";
19*724ba675SRob Herring	interrupt-parent = <&intc>;
20*724ba675SRob Herring
21*724ba675SRob Herring	cpus {
22*724ba675SRob Herring		#address-cells = <1>;
23*724ba675SRob Herring		#size-cells = <0>;
24*724ba675SRob Herring
25*724ba675SRob Herring		cpu0: cpu@0 {
26*724ba675SRob Herring			compatible = "qcom,krait";
27*724ba675SRob Herring			enable-method = "qcom,kpss-acc-v1";
28*724ba675SRob Herring			device_type = "cpu";
29*724ba675SRob Herring			reg = <0>;
30*724ba675SRob Herring			next-level-cache = <&L2>;
31*724ba675SRob Herring			qcom,acc = <&acc0>;
32*724ba675SRob Herring			qcom,saw = <&saw0>;
33*724ba675SRob Herring		};
34*724ba675SRob Herring
35*724ba675SRob Herring		cpu1: cpu@1 {
36*724ba675SRob Herring			compatible = "qcom,krait";
37*724ba675SRob Herring			enable-method = "qcom,kpss-acc-v1";
38*724ba675SRob Herring			device_type = "cpu";
39*724ba675SRob Herring			reg = <1>;
40*724ba675SRob Herring			next-level-cache = <&L2>;
41*724ba675SRob Herring			qcom,acc = <&acc1>;
42*724ba675SRob Herring			qcom,saw = <&saw1>;
43*724ba675SRob Herring		};
44*724ba675SRob Herring
45*724ba675SRob Herring		L2: l2-cache {
46*724ba675SRob Herring			compatible = "cache";
47*724ba675SRob Herring			cache-level = <2>;
48*724ba675SRob Herring		};
49*724ba675SRob Herring	};
50*724ba675SRob Herring
51*724ba675SRob Herring	thermal-zones {
52*724ba675SRob Herring		sensor0-thermal {
53*724ba675SRob Herring			polling-delay-passive = <0>;
54*724ba675SRob Herring			polling-delay = <0>;
55*724ba675SRob Herring			thermal-sensors = <&tsens 0>;
56*724ba675SRob Herring
57*724ba675SRob Herring			trips {
58*724ba675SRob Herring				cpu-critical {
59*724ba675SRob Herring					temperature = <105000>;
60*724ba675SRob Herring					hysteresis = <2000>;
61*724ba675SRob Herring					type = "critical";
62*724ba675SRob Herring				};
63*724ba675SRob Herring
64*724ba675SRob Herring				cpu-hot {
65*724ba675SRob Herring					temperature = <95000>;
66*724ba675SRob Herring					hysteresis = <2000>;
67*724ba675SRob Herring					type = "hot";
68*724ba675SRob Herring				};
69*724ba675SRob Herring			};
70*724ba675SRob Herring		};
71*724ba675SRob Herring
72*724ba675SRob Herring		sensor1-thermal {
73*724ba675SRob Herring			polling-delay-passive = <0>;
74*724ba675SRob Herring			polling-delay = <0>;
75*724ba675SRob Herring			thermal-sensors = <&tsens 1>;
76*724ba675SRob Herring
77*724ba675SRob Herring			trips {
78*724ba675SRob Herring				cpu-critical {
79*724ba675SRob Herring					temperature = <105000>;
80*724ba675SRob Herring					hysteresis = <2000>;
81*724ba675SRob Herring					type = "critical";
82*724ba675SRob Herring				};
83*724ba675SRob Herring
84*724ba675SRob Herring				cpu-hot {
85*724ba675SRob Herring					temperature = <95000>;
86*724ba675SRob Herring					hysteresis = <2000>;
87*724ba675SRob Herring					type = "hot";
88*724ba675SRob Herring				};
89*724ba675SRob Herring			};
90*724ba675SRob Herring		};
91*724ba675SRob Herring
92*724ba675SRob Herring		sensor2-thermal {
93*724ba675SRob Herring			polling-delay-passive = <0>;
94*724ba675SRob Herring			polling-delay = <0>;
95*724ba675SRob Herring			thermal-sensors = <&tsens 2>;
96*724ba675SRob Herring
97*724ba675SRob Herring			trips {
98*724ba675SRob Herring				cpu-critical {
99*724ba675SRob Herring					temperature = <105000>;
100*724ba675SRob Herring					hysteresis = <2000>;
101*724ba675SRob Herring					type = "critical";
102*724ba675SRob Herring				};
103*724ba675SRob Herring
104*724ba675SRob Herring				cpu-hot {
105*724ba675SRob Herring					temperature = <95000>;
106*724ba675SRob Herring					hysteresis = <2000>;
107*724ba675SRob Herring					type = "hot";
108*724ba675SRob Herring				};
109*724ba675SRob Herring			};
110*724ba675SRob Herring		};
111*724ba675SRob Herring
112*724ba675SRob Herring		sensor3-thermal {
113*724ba675SRob Herring			polling-delay-passive = <0>;
114*724ba675SRob Herring			polling-delay = <0>;
115*724ba675SRob Herring			thermal-sensors = <&tsens 3>;
116*724ba675SRob Herring
117*724ba675SRob Herring			trips {
118*724ba675SRob Herring				cpu-critical {
119*724ba675SRob Herring					temperature = <105000>;
120*724ba675SRob Herring					hysteresis = <2000>;
121*724ba675SRob Herring					type = "critical";
122*724ba675SRob Herring				};
123*724ba675SRob Herring
124*724ba675SRob Herring				cpu-hot {
125*724ba675SRob Herring					temperature = <95000>;
126*724ba675SRob Herring					hysteresis = <2000>;
127*724ba675SRob Herring					type = "hot";
128*724ba675SRob Herring				};
129*724ba675SRob Herring			};
130*724ba675SRob Herring		};
131*724ba675SRob Herring
132*724ba675SRob Herring		sensor4-thermal {
133*724ba675SRob Herring			polling-delay-passive = <0>;
134*724ba675SRob Herring			polling-delay = <0>;
135*724ba675SRob Herring			thermal-sensors = <&tsens 4>;
136*724ba675SRob Herring
137*724ba675SRob Herring			trips {
138*724ba675SRob Herring				cpu-critical {
139*724ba675SRob Herring					temperature = <105000>;
140*724ba675SRob Herring					hysteresis = <2000>;
141*724ba675SRob Herring					type = "critical";
142*724ba675SRob Herring				};
143*724ba675SRob Herring
144*724ba675SRob Herring				cpu-hot {
145*724ba675SRob Herring					temperature = <95000>;
146*724ba675SRob Herring					hysteresis = <2000>;
147*724ba675SRob Herring					type = "hot";
148*724ba675SRob Herring				};
149*724ba675SRob Herring			};
150*724ba675SRob Herring		};
151*724ba675SRob Herring
152*724ba675SRob Herring		sensor5-thermal {
153*724ba675SRob Herring			polling-delay-passive = <0>;
154*724ba675SRob Herring			polling-delay = <0>;
155*724ba675SRob Herring			thermal-sensors = <&tsens 5>;
156*724ba675SRob Herring
157*724ba675SRob Herring			trips {
158*724ba675SRob Herring				cpu-critical {
159*724ba675SRob Herring					temperature = <105000>;
160*724ba675SRob Herring					hysteresis = <2000>;
161*724ba675SRob Herring					type = "critical";
162*724ba675SRob Herring				};
163*724ba675SRob Herring
164*724ba675SRob Herring				cpu-hot {
165*724ba675SRob Herring					temperature = <95000>;
166*724ba675SRob Herring					hysteresis = <2000>;
167*724ba675SRob Herring					type = "hot";
168*724ba675SRob Herring				};
169*724ba675SRob Herring			};
170*724ba675SRob Herring		};
171*724ba675SRob Herring
172*724ba675SRob Herring		sensor6-thermal {
173*724ba675SRob Herring			polling-delay-passive = <0>;
174*724ba675SRob Herring			polling-delay = <0>;
175*724ba675SRob Herring			thermal-sensors = <&tsens 6>;
176*724ba675SRob Herring
177*724ba675SRob Herring			trips {
178*724ba675SRob Herring				cpu-critical {
179*724ba675SRob Herring					temperature = <105000>;
180*724ba675SRob Herring					hysteresis = <2000>;
181*724ba675SRob Herring					type = "critical";
182*724ba675SRob Herring				};
183*724ba675SRob Herring
184*724ba675SRob Herring				cpu-hot {
185*724ba675SRob Herring					temperature = <95000>;
186*724ba675SRob Herring					hysteresis = <2000>;
187*724ba675SRob Herring					type = "hot";
188*724ba675SRob Herring				};
189*724ba675SRob Herring			};
190*724ba675SRob Herring		};
191*724ba675SRob Herring
192*724ba675SRob Herring		sensor7-thermal {
193*724ba675SRob Herring			polling-delay-passive = <0>;
194*724ba675SRob Herring			polling-delay = <0>;
195*724ba675SRob Herring			thermal-sensors = <&tsens 7>;
196*724ba675SRob Herring
197*724ba675SRob Herring			trips {
198*724ba675SRob Herring				cpu-critical {
199*724ba675SRob Herring					temperature = <105000>;
200*724ba675SRob Herring					hysteresis = <2000>;
201*724ba675SRob Herring					type = "critical";
202*724ba675SRob Herring				};
203*724ba675SRob Herring
204*724ba675SRob Herring				cpu-hot {
205*724ba675SRob Herring					temperature = <95000>;
206*724ba675SRob Herring					hysteresis = <2000>;
207*724ba675SRob Herring					type = "hot";
208*724ba675SRob Herring				};
209*724ba675SRob Herring			};
210*724ba675SRob Herring		};
211*724ba675SRob Herring
212*724ba675SRob Herring		sensor8-thermal {
213*724ba675SRob Herring			polling-delay-passive = <0>;
214*724ba675SRob Herring			polling-delay = <0>;
215*724ba675SRob Herring			thermal-sensors = <&tsens 8>;
216*724ba675SRob Herring
217*724ba675SRob Herring			trips {
218*724ba675SRob Herring				cpu-critical {
219*724ba675SRob Herring					temperature = <105000>;
220*724ba675SRob Herring					hysteresis = <2000>;
221*724ba675SRob Herring					type = "critical";
222*724ba675SRob Herring				};
223*724ba675SRob Herring
224*724ba675SRob Herring				cpu-hot {
225*724ba675SRob Herring					temperature = <95000>;
226*724ba675SRob Herring					hysteresis = <2000>;
227*724ba675SRob Herring					type = "hot";
228*724ba675SRob Herring				};
229*724ba675SRob Herring			};
230*724ba675SRob Herring		};
231*724ba675SRob Herring
232*724ba675SRob Herring		sensor9-thermal {
233*724ba675SRob Herring			polling-delay-passive = <0>;
234*724ba675SRob Herring			polling-delay = <0>;
235*724ba675SRob Herring			thermal-sensors = <&tsens 9>;
236*724ba675SRob Herring
237*724ba675SRob Herring			trips {
238*724ba675SRob Herring				cpu-critical {
239*724ba675SRob Herring					temperature = <105000>;
240*724ba675SRob Herring					hysteresis = <2000>;
241*724ba675SRob Herring					type = "critical";
242*724ba675SRob Herring				};
243*724ba675SRob Herring
244*724ba675SRob Herring				cpu-hot {
245*724ba675SRob Herring					temperature = <95000>;
246*724ba675SRob Herring					hysteresis = <2000>;
247*724ba675SRob Herring					type = "hot";
248*724ba675SRob Herring				};
249*724ba675SRob Herring			};
250*724ba675SRob Herring		};
251*724ba675SRob Herring
252*724ba675SRob Herring		sensor10-thermal {
253*724ba675SRob Herring			polling-delay-passive = <0>;
254*724ba675SRob Herring			polling-delay = <0>;
255*724ba675SRob Herring			thermal-sensors = <&tsens 10>;
256*724ba675SRob Herring
257*724ba675SRob Herring			trips {
258*724ba675SRob Herring				cpu-critical {
259*724ba675SRob Herring					temperature = <105000>;
260*724ba675SRob Herring					hysteresis = <2000>;
261*724ba675SRob Herring					type = "critical";
262*724ba675SRob Herring				};
263*724ba675SRob Herring
264*724ba675SRob Herring				cpu-hot {
265*724ba675SRob Herring					temperature = <95000>;
266*724ba675SRob Herring					hysteresis = <2000>;
267*724ba675SRob Herring					type = "hot";
268*724ba675SRob Herring				};
269*724ba675SRob Herring			};
270*724ba675SRob Herring		};
271*724ba675SRob Herring	};
272*724ba675SRob Herring
273*724ba675SRob Herring	memory {
274*724ba675SRob Herring		device_type = "memory";
275*724ba675SRob Herring		reg = <0x0 0x0>;
276*724ba675SRob Herring	};
277*724ba675SRob Herring
278*724ba675SRob Herring	cpu-pmu {
279*724ba675SRob Herring		compatible = "qcom,krait-pmu";
280*724ba675SRob Herring		interrupts = <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) |
281*724ba675SRob Herring					  IRQ_TYPE_LEVEL_HIGH)>;
282*724ba675SRob Herring	};
283*724ba675SRob Herring
284*724ba675SRob Herring	reserved-memory {
285*724ba675SRob Herring		#address-cells = <1>;
286*724ba675SRob Herring		#size-cells = <1>;
287*724ba675SRob Herring		ranges;
288*724ba675SRob Herring
289*724ba675SRob Herring		nss@40000000 {
290*724ba675SRob Herring			reg = <0x40000000 0x1000000>;
291*724ba675SRob Herring			no-map;
292*724ba675SRob Herring		};
293*724ba675SRob Herring
294*724ba675SRob Herring		smem: smem@41000000 {
295*724ba675SRob Herring			compatible = "qcom,smem";
296*724ba675SRob Herring			reg = <0x41000000 0x200000>;
297*724ba675SRob Herring			no-map;
298*724ba675SRob Herring
299*724ba675SRob Herring			hwlocks = <&sfpb_mutex 3>;
300*724ba675SRob Herring		};
301*724ba675SRob Herring	};
302*724ba675SRob Herring
303*724ba675SRob Herring	clocks {
304*724ba675SRob Herring		cxo_board: cxo_board {
305*724ba675SRob Herring			compatible = "fixed-clock";
306*724ba675SRob Herring			#clock-cells = <0>;
307*724ba675SRob Herring			clock-frequency = <25000000>;
308*724ba675SRob Herring		};
309*724ba675SRob Herring
310*724ba675SRob Herring		pxo_board: pxo_board {
311*724ba675SRob Herring			compatible = "fixed-clock";
312*724ba675SRob Herring			#clock-cells = <0>;
313*724ba675SRob Herring			clock-frequency = <25000000>;
314*724ba675SRob Herring		};
315*724ba675SRob Herring
316*724ba675SRob Herring		sleep_clk: sleep_clk {
317*724ba675SRob Herring			compatible = "fixed-clock";
318*724ba675SRob Herring			clock-frequency = <32768>;
319*724ba675SRob Herring			#clock-cells = <0>;
320*724ba675SRob Herring		};
321*724ba675SRob Herring	};
322*724ba675SRob Herring
323*724ba675SRob Herring	firmware {
324*724ba675SRob Herring		scm {
325*724ba675SRob Herring			compatible = "qcom,scm-ipq806x", "qcom,scm";
326*724ba675SRob Herring		};
327*724ba675SRob Herring	};
328*724ba675SRob Herring
329*724ba675SRob Herring	stmmac_axi_setup: stmmac-axi-config {
330*724ba675SRob Herring		snps,wr_osr_lmt = <7>;
331*724ba675SRob Herring		snps,rd_osr_lmt = <7>;
332*724ba675SRob Herring		snps,blen = <16 0 0 0 0 0 0>;
333*724ba675SRob Herring	};
334*724ba675SRob Herring
335*724ba675SRob Herring	vsdcc_fixed: vsdcc-regulator {
336*724ba675SRob Herring		compatible = "regulator-fixed";
337*724ba675SRob Herring		regulator-name = "SDCC Power";
338*724ba675SRob Herring		regulator-min-microvolt = <3300000>;
339*724ba675SRob Herring		regulator-max-microvolt = <3300000>;
340*724ba675SRob Herring		regulator-always-on;
341*724ba675SRob Herring	};
342*724ba675SRob Herring
343*724ba675SRob Herring	soc: soc {
344*724ba675SRob Herring		#address-cells = <1>;
345*724ba675SRob Herring		#size-cells = <1>;
346*724ba675SRob Herring		ranges;
347*724ba675SRob Herring		compatible = "simple-bus";
348*724ba675SRob Herring
349*724ba675SRob Herring		rpm: rpm@108000 {
350*724ba675SRob Herring			compatible = "qcom,rpm-ipq8064";
351*724ba675SRob Herring			reg = <0x00108000 0x1000>;
352*724ba675SRob Herring			qcom,ipc = <&l2cc 0x8 2>;
353*724ba675SRob Herring
354*724ba675SRob Herring			interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
355*724ba675SRob Herring					<GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
356*724ba675SRob Herring					<GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
357*724ba675SRob Herring			interrupt-names = "ack", "err", "wakeup";
358*724ba675SRob Herring
359*724ba675SRob Herring			clocks = <&gcc RPM_MSG_RAM_H_CLK>;
360*724ba675SRob Herring			clock-names = "ram";
361*724ba675SRob Herring
362*724ba675SRob Herring			rpmcc: clock-controller {
363*724ba675SRob Herring				compatible = "qcom,rpmcc-ipq806x", "qcom,rpmcc";
364*724ba675SRob Herring				#clock-cells = <1>;
365*724ba675SRob Herring			};
366*724ba675SRob Herring		};
367*724ba675SRob Herring
368*724ba675SRob Herring		qcom,ssbi@500000 {
369*724ba675SRob Herring			compatible = "qcom,ssbi";
370*724ba675SRob Herring			reg = <0x00500000 0x1000>;
371*724ba675SRob Herring			qcom,controller-type = "pmic-arbiter";
372*724ba675SRob Herring		};
373*724ba675SRob Herring
374*724ba675SRob Herring		qfprom: qfprom@700000 {
375*724ba675SRob Herring			compatible = "qcom,ipq8064-qfprom", "qcom,qfprom";
376*724ba675SRob Herring			reg = <0x00700000 0x1000>;
377*724ba675SRob Herring			#address-cells = <1>;
378*724ba675SRob Herring			#size-cells = <1>;
379*724ba675SRob Herring			speedbin_efuse: speedbin@c0 {
380*724ba675SRob Herring				reg = <0xc0 0x4>;
381*724ba675SRob Herring			};
382*724ba675SRob Herring			tsens_calib: calib@400 {
383*724ba675SRob Herring				reg = <0x400 0xb>;
384*724ba675SRob Herring			};
385*724ba675SRob Herring			tsens_calib_backup: calib_backup@410 {
386*724ba675SRob Herring				reg = <0x410 0xb>;
387*724ba675SRob Herring			};
388*724ba675SRob Herring		};
389*724ba675SRob Herring
390*724ba675SRob Herring		qcom_pinmux: pinmux@800000 {
391*724ba675SRob Herring			compatible = "qcom,ipq8064-pinctrl";
392*724ba675SRob Herring			reg = <0x00800000 0x4000>;
393*724ba675SRob Herring
394*724ba675SRob Herring			gpio-controller;
395*724ba675SRob Herring			gpio-ranges = <&qcom_pinmux 0 0 69>;
396*724ba675SRob Herring			#gpio-cells = <2>;
397*724ba675SRob Herring			interrupt-controller;
398*724ba675SRob Herring			#interrupt-cells = <2>;
399*724ba675SRob Herring			interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
400*724ba675SRob Herring
401*724ba675SRob Herring			pcie0_pins: pcie0_pinmux {
402*724ba675SRob Herring				mux {
403*724ba675SRob Herring					pins = "gpio3";
404*724ba675SRob Herring					function = "pcie1_rst";
405*724ba675SRob Herring					drive-strength = <12>;
406*724ba675SRob Herring					bias-disable;
407*724ba675SRob Herring				};
408*724ba675SRob Herring			};
409*724ba675SRob Herring
410*724ba675SRob Herring			pcie1_pins: pcie1_pinmux {
411*724ba675SRob Herring				mux {
412*724ba675SRob Herring					pins = "gpio48";
413*724ba675SRob Herring					function = "pcie2_rst";
414*724ba675SRob Herring					drive-strength = <12>;
415*724ba675SRob Herring					bias-disable;
416*724ba675SRob Herring				};
417*724ba675SRob Herring			};
418*724ba675SRob Herring
419*724ba675SRob Herring			pcie2_pins: pcie2_pinmux {
420*724ba675SRob Herring				mux {
421*724ba675SRob Herring					pins = "gpio63";
422*724ba675SRob Herring					function = "pcie3_rst";
423*724ba675SRob Herring					drive-strength = <12>;
424*724ba675SRob Herring					bias-disable;
425*724ba675SRob Herring				};
426*724ba675SRob Herring			};
427*724ba675SRob Herring
428*724ba675SRob Herring			i2c4_pins: i2c4-default {
429*724ba675SRob Herring				pins = "gpio12", "gpio13";
430*724ba675SRob Herring				function = "gsbi4";
431*724ba675SRob Herring				drive-strength = <12>;
432*724ba675SRob Herring				bias-disable;
433*724ba675SRob Herring			};
434*724ba675SRob Herring
435*724ba675SRob Herring			spi_pins: spi_pins {
436*724ba675SRob Herring				mux {
437*724ba675SRob Herring					pins = "gpio18", "gpio19", "gpio21";
438*724ba675SRob Herring					function = "gsbi5";
439*724ba675SRob Herring					drive-strength = <10>;
440*724ba675SRob Herring					bias-none;
441*724ba675SRob Herring				};
442*724ba675SRob Herring			};
443*724ba675SRob Herring
444*724ba675SRob Herring			leds_pins: leds_pins {
445*724ba675SRob Herring				mux {
446*724ba675SRob Herring					pins = "gpio7", "gpio8", "gpio9",
447*724ba675SRob Herring					       "gpio26", "gpio53";
448*724ba675SRob Herring					function = "gpio";
449*724ba675SRob Herring					drive-strength = <2>;
450*724ba675SRob Herring					bias-pull-down;
451*724ba675SRob Herring					output-low;
452*724ba675SRob Herring				};
453*724ba675SRob Herring			};
454*724ba675SRob Herring
455*724ba675SRob Herring			buttons_pins: buttons_pins {
456*724ba675SRob Herring				mux {
457*724ba675SRob Herring					pins = "gpio54";
458*724ba675SRob Herring					drive-strength = <2>;
459*724ba675SRob Herring					bias-pull-up;
460*724ba675SRob Herring				};
461*724ba675SRob Herring			};
462*724ba675SRob Herring
463*724ba675SRob Herring			nand_pins: nand_pins {
464*724ba675SRob Herring				mux {
465*724ba675SRob Herring					pins = "gpio34", "gpio35", "gpio36",
466*724ba675SRob Herring					       "gpio37", "gpio38", "gpio39",
467*724ba675SRob Herring					       "gpio40", "gpio41", "gpio42",
468*724ba675SRob Herring					       "gpio43", "gpio44", "gpio45",
469*724ba675SRob Herring					       "gpio46", "gpio47";
470*724ba675SRob Herring					function = "nand";
471*724ba675SRob Herring					drive-strength = <10>;
472*724ba675SRob Herring					bias-disable;
473*724ba675SRob Herring				};
474*724ba675SRob Herring
475*724ba675SRob Herring				pullups {
476*724ba675SRob Herring					pins = "gpio39";
477*724ba675SRob Herring					function = "nand";
478*724ba675SRob Herring					drive-strength = <10>;
479*724ba675SRob Herring					bias-pull-up;
480*724ba675SRob Herring				};
481*724ba675SRob Herring
482*724ba675SRob Herring				hold {
483*724ba675SRob Herring					pins = "gpio40", "gpio41", "gpio42",
484*724ba675SRob Herring					       "gpio43", "gpio44", "gpio45",
485*724ba675SRob Herring					       "gpio46", "gpio47";
486*724ba675SRob Herring					function = "nand";
487*724ba675SRob Herring					drive-strength = <10>;
488*724ba675SRob Herring					bias-bus-hold;
489*724ba675SRob Herring				};
490*724ba675SRob Herring			};
491*724ba675SRob Herring
492*724ba675SRob Herring			mdio0_pins: mdio0-pins {
493*724ba675SRob Herring				mux {
494*724ba675SRob Herring					pins = "gpio0", "gpio1";
495*724ba675SRob Herring					function = "mdio";
496*724ba675SRob Herring					drive-strength = <8>;
497*724ba675SRob Herring					bias-disable;
498*724ba675SRob Herring				};
499*724ba675SRob Herring			};
500*724ba675SRob Herring
501*724ba675SRob Herring			rgmii2_pins: rgmii2-pins {
502*724ba675SRob Herring				mux {
503*724ba675SRob Herring					pins = "gpio27", "gpio28", "gpio29",
504*724ba675SRob Herring					       "gpio30", "gpio31", "gpio32",
505*724ba675SRob Herring					       "gpio51", "gpio52", "gpio59",
506*724ba675SRob Herring					       "gpio60", "gpio61", "gpio62";
507*724ba675SRob Herring					function = "rgmii2";
508*724ba675SRob Herring					drive-strength = <8>;
509*724ba675SRob Herring					bias-disable;
510*724ba675SRob Herring				};
511*724ba675SRob Herring			};
512*724ba675SRob Herring		};
513*724ba675SRob Herring
514*724ba675SRob Herring		gcc: clock-controller@900000 {
515*724ba675SRob Herring			compatible = "qcom,gcc-ipq8064", "syscon";
516*724ba675SRob Herring			clocks = <&pxo_board>, <&cxo_board>, <&lcc PLL4>;
517*724ba675SRob Herring			clock-names = "pxo", "cxo", "pll4";
518*724ba675SRob Herring			reg = <0x00900000 0x4000>;
519*724ba675SRob Herring			#clock-cells = <1>;
520*724ba675SRob Herring			#reset-cells = <1>;
521*724ba675SRob Herring			#power-domain-cells = <1>;
522*724ba675SRob Herring
523*724ba675SRob Herring			tsens: thermal-sensor {
524*724ba675SRob Herring				compatible = "qcom,ipq8064-tsens";
525*724ba675SRob Herring
526*724ba675SRob Herring				nvmem-cells = <&tsens_calib>, <&tsens_calib_backup>;
527*724ba675SRob Herring				nvmem-cell-names = "calib", "calib_backup";
528*724ba675SRob Herring				interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>;
529*724ba675SRob Herring				interrupt-names = "uplow";
530*724ba675SRob Herring
531*724ba675SRob Herring				#qcom,sensors = <11>;
532*724ba675SRob Herring				#thermal-sensor-cells = <1>;
533*724ba675SRob Herring			};
534*724ba675SRob Herring		};
535*724ba675SRob Herring
536*724ba675SRob Herring		sfpb_mutex: hwlock@1200600 {
537*724ba675SRob Herring			compatible = "qcom,sfpb-mutex";
538*724ba675SRob Herring			reg = <0x01200600 0x100>;
539*724ba675SRob Herring
540*724ba675SRob Herring			#hwlock-cells = <1>;
541*724ba675SRob Herring		};
542*724ba675SRob Herring
543*724ba675SRob Herring		intc: interrupt-controller@2000000 {
544*724ba675SRob Herring			compatible = "qcom,msm-qgic2";
545*724ba675SRob Herring			interrupt-controller;
546*724ba675SRob Herring			#interrupt-cells = <3>;
547*724ba675SRob Herring			reg = <0x02000000 0x1000>,
548*724ba675SRob Herring			      <0x02002000 0x1000>;
549*724ba675SRob Herring		};
550*724ba675SRob Herring
551*724ba675SRob Herring		timer@200a000 {
552*724ba675SRob Herring			compatible = "qcom,kpss-wdt-ipq8064", "qcom,kpss-timer",
553*724ba675SRob Herring				     "qcom,msm-timer";
554*724ba675SRob Herring			interrupts = <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(2) |
555*724ba675SRob Herring						 IRQ_TYPE_EDGE_RISING)>,
556*724ba675SRob Herring				     <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(2) |
557*724ba675SRob Herring						 IRQ_TYPE_EDGE_RISING)>,
558*724ba675SRob Herring				     <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(2) |
559*724ba675SRob Herring						 IRQ_TYPE_EDGE_RISING)>,
560*724ba675SRob Herring				     <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(2) |
561*724ba675SRob Herring						 IRQ_TYPE_EDGE_RISING)>,
562*724ba675SRob Herring				     <GIC_PPI 5 (GIC_CPU_MASK_SIMPLE(2) |
563*724ba675SRob Herring						 IRQ_TYPE_EDGE_RISING)>;
564*724ba675SRob Herring			reg = <0x0200a000 0x100>;
565*724ba675SRob Herring			clock-frequency = <25000000>;
566*724ba675SRob Herring			clocks = <&sleep_clk>;
567*724ba675SRob Herring			clock-names = "sleep";
568*724ba675SRob Herring			cpu-offset = <0x80000>;
569*724ba675SRob Herring		};
570*724ba675SRob Herring
571*724ba675SRob Herring		l2cc: clock-controller@2011000 {
572*724ba675SRob Herring			compatible = "qcom,kpss-gcc-ipq8064", "qcom,kpss-gcc", "syscon";
573*724ba675SRob Herring			reg = <0x02011000 0x1000>;
574*724ba675SRob Herring			clocks = <&gcc PLL8_VOTE>, <&pxo_board>;
575*724ba675SRob Herring			clock-names = "pll8_vote", "pxo";
576*724ba675SRob Herring			#clock-cells = <0>;
577*724ba675SRob Herring		};
578*724ba675SRob Herring
579*724ba675SRob Herring		acc0: clock-controller@2088000 {
580*724ba675SRob Herring			compatible = "qcom,kpss-acc-v1";
581*724ba675SRob Herring			reg = <0x02088000 0x1000>, <0x02008000 0x1000>;
582*724ba675SRob Herring			clocks = <&gcc PLL8_VOTE>, <&pxo_board>;
583*724ba675SRob Herring			clock-names = "pll8_vote", "pxo";
584*724ba675SRob Herring			clock-output-names = "acpu0_aux";
585*724ba675SRob Herring			#clock-cells = <0>;
586*724ba675SRob Herring		};
587*724ba675SRob Herring
588*724ba675SRob Herring		saw0: regulator@2089000 {
589*724ba675SRob Herring			compatible = "qcom,saw2";
590*724ba675SRob Herring			reg = <0x02089000 0x1000>, <0x02009000 0x1000>;
591*724ba675SRob Herring			regulator;
592*724ba675SRob Herring		};
593*724ba675SRob Herring
594*724ba675SRob Herring		acc1: clock-controller@2098000 {
595*724ba675SRob Herring			compatible = "qcom,kpss-acc-v1";
596*724ba675SRob Herring			reg = <0x02098000 0x1000>, <0x02008000 0x1000>;
597*724ba675SRob Herring			clocks = <&gcc PLL8_VOTE>, <&pxo_board>;
598*724ba675SRob Herring			clock-names = "pll8_vote", "pxo";
599*724ba675SRob Herring			clock-output-names = "acpu1_aux";
600*724ba675SRob Herring			#clock-cells = <0>;
601*724ba675SRob Herring		};
602*724ba675SRob Herring
603*724ba675SRob Herring		saw1: regulator@2099000 {
604*724ba675SRob Herring			compatible = "qcom,saw2";
605*724ba675SRob Herring			reg = <0x02099000 0x1000>, <0x02009000 0x1000>;
606*724ba675SRob Herring			regulator;
607*724ba675SRob Herring		};
608*724ba675SRob Herring
609*724ba675SRob Herring		nss_common: syscon@3000000 {
610*724ba675SRob Herring			compatible = "syscon";
611*724ba675SRob Herring			reg = <0x03000000 0x0000FFFF>;
612*724ba675SRob Herring		};
613*724ba675SRob Herring
614*724ba675SRob Herring		usb3_0: usb@100f8800 {
615*724ba675SRob Herring			compatible = "qcom,ipq8064-dwc3", "qcom,dwc3";
616*724ba675SRob Herring			#address-cells = <1>;
617*724ba675SRob Herring			#size-cells = <1>;
618*724ba675SRob Herring			reg = <0x100f8800 0x8000>;
619*724ba675SRob Herring			clocks = <&gcc USB30_0_MASTER_CLK>;
620*724ba675SRob Herring			clock-names = "core";
621*724ba675SRob Herring
622*724ba675SRob Herring			ranges;
623*724ba675SRob Herring
624*724ba675SRob Herring			resets = <&gcc USB30_0_MASTER_RESET>;
625*724ba675SRob Herring			reset-names = "master";
626*724ba675SRob Herring
627*724ba675SRob Herring			status = "disabled";
628*724ba675SRob Herring
629*724ba675SRob Herring			dwc3_0: usb@10000000 {
630*724ba675SRob Herring				compatible = "snps,dwc3";
631*724ba675SRob Herring				reg = <0x10000000 0xcd00>;
632*724ba675SRob Herring				interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>;
633*724ba675SRob Herring				phys = <&hs_phy_0>, <&ss_phy_0>;
634*724ba675SRob Herring				phy-names = "usb2-phy", "usb3-phy";
635*724ba675SRob Herring				dr_mode = "host";
636*724ba675SRob Herring				snps,dis_u3_susphy_quirk;
637*724ba675SRob Herring			};
638*724ba675SRob Herring		};
639*724ba675SRob Herring
640*724ba675SRob Herring		hs_phy_0: phy@100f8800 {
641*724ba675SRob Herring			compatible = "qcom,ipq806x-usb-phy-hs";
642*724ba675SRob Herring			reg = <0x100f8800 0x30>;
643*724ba675SRob Herring			clocks = <&gcc USB30_0_UTMI_CLK>;
644*724ba675SRob Herring			clock-names = "ref";
645*724ba675SRob Herring			#phy-cells = <0>;
646*724ba675SRob Herring
647*724ba675SRob Herring			status = "disabled";
648*724ba675SRob Herring		};
649*724ba675SRob Herring
650*724ba675SRob Herring		ss_phy_0: phy@100f8830 {
651*724ba675SRob Herring			compatible = "qcom,ipq806x-usb-phy-ss";
652*724ba675SRob Herring			reg = <0x100f8830 0x30>;
653*724ba675SRob Herring			clocks = <&gcc USB30_0_MASTER_CLK>;
654*724ba675SRob Herring			clock-names = "ref";
655*724ba675SRob Herring			#phy-cells = <0>;
656*724ba675SRob Herring
657*724ba675SRob Herring			status = "disabled";
658*724ba675SRob Herring		};
659*724ba675SRob Herring
660*724ba675SRob Herring		usb3_1: usb@110f8800 {
661*724ba675SRob Herring			compatible = "qcom,ipq8064-dwc3", "qcom,dwc3";
662*724ba675SRob Herring			#address-cells = <1>;
663*724ba675SRob Herring			#size-cells = <1>;
664*724ba675SRob Herring			reg = <0x110f8800 0x8000>;
665*724ba675SRob Herring			clocks = <&gcc USB30_1_MASTER_CLK>;
666*724ba675SRob Herring			clock-names = "core";
667*724ba675SRob Herring
668*724ba675SRob Herring			ranges;
669*724ba675SRob Herring
670*724ba675SRob Herring			resets = <&gcc USB30_1_MASTER_RESET>;
671*724ba675SRob Herring			reset-names = "master";
672*724ba675SRob Herring
673*724ba675SRob Herring			status = "disabled";
674*724ba675SRob Herring
675*724ba675SRob Herring			dwc3_1: usb@11000000 {
676*724ba675SRob Herring				compatible = "snps,dwc3";
677*724ba675SRob Herring				reg = <0x11000000 0xcd00>;
678*724ba675SRob Herring				interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
679*724ba675SRob Herring				phys = <&hs_phy_1>, <&ss_phy_1>;
680*724ba675SRob Herring				phy-names = "usb2-phy", "usb3-phy";
681*724ba675SRob Herring				dr_mode = "host";
682*724ba675SRob Herring				snps,dis_u3_susphy_quirk;
683*724ba675SRob Herring			};
684*724ba675SRob Herring		};
685*724ba675SRob Herring
686*724ba675SRob Herring		hs_phy_1: phy@110f8800 {
687*724ba675SRob Herring			compatible = "qcom,ipq806x-usb-phy-hs";
688*724ba675SRob Herring			reg = <0x110f8800 0x30>;
689*724ba675SRob Herring			clocks = <&gcc USB30_1_UTMI_CLK>;
690*724ba675SRob Herring			clock-names = "ref";
691*724ba675SRob Herring			#phy-cells = <0>;
692*724ba675SRob Herring
693*724ba675SRob Herring			status = "disabled";
694*724ba675SRob Herring		};
695*724ba675SRob Herring
696*724ba675SRob Herring		ss_phy_1: phy@110f8830 {
697*724ba675SRob Herring			compatible = "qcom,ipq806x-usb-phy-ss";
698*724ba675SRob Herring			reg = <0x110f8830 0x30>;
699*724ba675SRob Herring			clocks = <&gcc USB30_1_MASTER_CLK>;
700*724ba675SRob Herring			clock-names = "ref";
701*724ba675SRob Herring			#phy-cells = <0>;
702*724ba675SRob Herring
703*724ba675SRob Herring			status = "disabled";
704*724ba675SRob Herring		};
705*724ba675SRob Herring
706*724ba675SRob Herring		sdcc3bam: dma-controller@12182000 {
707*724ba675SRob Herring			compatible = "qcom,bam-v1.3.0";
708*724ba675SRob Herring			reg = <0x12182000 0x8000>;
709*724ba675SRob Herring			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
710*724ba675SRob Herring			clocks = <&gcc SDC3_H_CLK>;
711*724ba675SRob Herring			clock-names = "bam_clk";
712*724ba675SRob Herring			#dma-cells = <1>;
713*724ba675SRob Herring			qcom,ee = <0>;
714*724ba675SRob Herring		};
715*724ba675SRob Herring
716*724ba675SRob Herring		sdcc1bam: dma-controller@12402000 {
717*724ba675SRob Herring			compatible = "qcom,bam-v1.3.0";
718*724ba675SRob Herring			reg = <0x12402000 0x8000>;
719*724ba675SRob Herring			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
720*724ba675SRob Herring			clocks = <&gcc SDC1_H_CLK>;
721*724ba675SRob Herring			clock-names = "bam_clk";
722*724ba675SRob Herring			#dma-cells = <1>;
723*724ba675SRob Herring			qcom,ee = <0>;
724*724ba675SRob Herring		};
725*724ba675SRob Herring
726*724ba675SRob Herring		amba: amba {
727*724ba675SRob Herring			compatible = "simple-bus";
728*724ba675SRob Herring			#address-cells = <1>;
729*724ba675SRob Herring			#size-cells = <1>;
730*724ba675SRob Herring			ranges;
731*724ba675SRob Herring
732*724ba675SRob Herring			sdcc3: mmc@12180000 {
733*724ba675SRob Herring				compatible = "arm,pl18x", "arm,primecell";
734*724ba675SRob Herring				arm,primecell-periphid = <0x00051180>;
735*724ba675SRob Herring				status = "disabled";
736*724ba675SRob Herring				reg = <0x12180000 0x2000>;
737*724ba675SRob Herring				interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
738*724ba675SRob Herring				clocks = <&gcc SDC3_CLK>, <&gcc SDC3_H_CLK>;
739*724ba675SRob Herring				clock-names = "mclk", "apb_pclk";
740*724ba675SRob Herring				bus-width = <8>;
741*724ba675SRob Herring				cap-sd-highspeed;
742*724ba675SRob Herring				cap-mmc-highspeed;
743*724ba675SRob Herring				max-frequency = <192000000>;
744*724ba675SRob Herring				sd-uhs-sdr104;
745*724ba675SRob Herring				sd-uhs-ddr50;
746*724ba675SRob Herring				vqmmc-supply = <&vsdcc_fixed>;
747*724ba675SRob Herring				dmas = <&sdcc3bam 2>, <&sdcc3bam 1>;
748*724ba675SRob Herring				dma-names = "tx", "rx";
749*724ba675SRob Herring			};
750*724ba675SRob Herring
751*724ba675SRob Herring			sdcc1: mmc@12400000 {
752*724ba675SRob Herring				status = "disabled";
753*724ba675SRob Herring				compatible = "arm,pl18x", "arm,primecell";
754*724ba675SRob Herring				arm,primecell-periphid = <0x00051180>;
755*724ba675SRob Herring				reg = <0x12400000 0x2000>;
756*724ba675SRob Herring				interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
757*724ba675SRob Herring				clocks = <&gcc SDC1_CLK>, <&gcc SDC1_H_CLK>;
758*724ba675SRob Herring				clock-names = "mclk", "apb_pclk";
759*724ba675SRob Herring				bus-width = <8>;
760*724ba675SRob Herring				max-frequency = <96000000>;
761*724ba675SRob Herring				non-removable;
762*724ba675SRob Herring				cap-sd-highspeed;
763*724ba675SRob Herring				cap-mmc-highspeed;
764*724ba675SRob Herring				vmmc-supply = <&vsdcc_fixed>;
765*724ba675SRob Herring				dmas = <&sdcc1bam 2>, <&sdcc1bam 1>;
766*724ba675SRob Herring				dma-names = "tx", "rx";
767*724ba675SRob Herring			};
768*724ba675SRob Herring		};
769*724ba675SRob Herring
770*724ba675SRob Herring		gsbi1: gsbi@12440000 {
771*724ba675SRob Herring			compatible = "qcom,gsbi-v1.0.0";
772*724ba675SRob Herring			reg = <0x12440000 0x100>;
773*724ba675SRob Herring			cell-index = <1>;
774*724ba675SRob Herring			clocks = <&gcc GSBI1_H_CLK>;
775*724ba675SRob Herring			clock-names = "iface";
776*724ba675SRob Herring			#address-cells = <1>;
777*724ba675SRob Herring			#size-cells = <1>;
778*724ba675SRob Herring			ranges;
779*724ba675SRob Herring
780*724ba675SRob Herring			syscon-tcsr = <&tcsr>;
781*724ba675SRob Herring
782*724ba675SRob Herring			status = "disabled";
783*724ba675SRob Herring
784*724ba675SRob Herring			gsbi1_serial: serial@12450000 {
785*724ba675SRob Herring				compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
786*724ba675SRob Herring				reg = <0x12450000 0x100>,
787*724ba675SRob Herring				      <0x12400000 0x03>;
788*724ba675SRob Herring				interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
789*724ba675SRob Herring				clocks = <&gcc GSBI1_UART_CLK>, <&gcc GSBI1_H_CLK>;
790*724ba675SRob Herring				clock-names = "core", "iface";
791*724ba675SRob Herring
792*724ba675SRob Herring				status = "disabled";
793*724ba675SRob Herring			};
794*724ba675SRob Herring
795*724ba675SRob Herring			gsbi1_i2c: i2c@12460000 {
796*724ba675SRob Herring				compatible = "qcom,i2c-qup-v1.1.1";
797*724ba675SRob Herring				reg = <0x12460000 0x1000>;
798*724ba675SRob Herring				interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>;
799*724ba675SRob Herring				clocks = <&gcc GSBI1_QUP_CLK>, <&gcc GSBI1_H_CLK>;
800*724ba675SRob Herring				clock-names = "core", "iface";
801*724ba675SRob Herring				#address-cells = <1>;
802*724ba675SRob Herring				#size-cells = <0>;
803*724ba675SRob Herring
804*724ba675SRob Herring				status = "disabled";
805*724ba675SRob Herring			};
806*724ba675SRob Herring		};
807*724ba675SRob Herring
808*724ba675SRob Herring		gsbi2: gsbi@12480000 {
809*724ba675SRob Herring			compatible = "qcom,gsbi-v1.0.0";
810*724ba675SRob Herring			cell-index = <2>;
811*724ba675SRob Herring			reg = <0x12480000 0x100>;
812*724ba675SRob Herring			clocks = <&gcc GSBI2_H_CLK>;
813*724ba675SRob Herring			clock-names = "iface";
814*724ba675SRob Herring			#address-cells = <1>;
815*724ba675SRob Herring			#size-cells = <1>;
816*724ba675SRob Herring			ranges;
817*724ba675SRob Herring			status = "disabled";
818*724ba675SRob Herring
819*724ba675SRob Herring			syscon-tcsr = <&tcsr>;
820*724ba675SRob Herring
821*724ba675SRob Herring			gsbi2_serial: serial@12490000 {
822*724ba675SRob Herring				compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
823*724ba675SRob Herring				reg = <0x12490000 0x1000>,
824*724ba675SRob Herring				      <0x12480000 0x1000>;
825*724ba675SRob Herring				interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>;
826*724ba675SRob Herring				clocks = <&gcc GSBI2_UART_CLK>, <&gcc GSBI2_H_CLK>;
827*724ba675SRob Herring				clock-names = "core", "iface";
828*724ba675SRob Herring				status = "disabled";
829*724ba675SRob Herring			};
830*724ba675SRob Herring
831*724ba675SRob Herring			gsbi2_i2c: i2c@124a0000 {
832*724ba675SRob Herring				compatible = "qcom,i2c-qup-v1.1.1";
833*724ba675SRob Herring				reg = <0x124a0000 0x1000>;
834*724ba675SRob Herring				interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>;
835*724ba675SRob Herring
836*724ba675SRob Herring				clocks = <&gcc GSBI2_QUP_CLK>, <&gcc GSBI2_H_CLK>;
837*724ba675SRob Herring				clock-names = "core", "iface";
838*724ba675SRob Herring				status = "disabled";
839*724ba675SRob Herring
840*724ba675SRob Herring				#address-cells = <1>;
841*724ba675SRob Herring				#size-cells = <0>;
842*724ba675SRob Herring			};
843*724ba675SRob Herring		};
844*724ba675SRob Herring
845*724ba675SRob Herring		gsbi4: gsbi@16300000 {
846*724ba675SRob Herring			compatible = "qcom,gsbi-v1.0.0";
847*724ba675SRob Herring			cell-index = <4>;
848*724ba675SRob Herring			reg = <0x16300000 0x100>;
849*724ba675SRob Herring			clocks = <&gcc GSBI4_H_CLK>;
850*724ba675SRob Herring			clock-names = "iface";
851*724ba675SRob Herring			#address-cells = <1>;
852*724ba675SRob Herring			#size-cells = <1>;
853*724ba675SRob Herring			ranges;
854*724ba675SRob Herring			status = "disabled";
855*724ba675SRob Herring
856*724ba675SRob Herring			syscon-tcsr = <&tcsr>;
857*724ba675SRob Herring
858*724ba675SRob Herring			gsbi4_serial: serial@16340000 {
859*724ba675SRob Herring				compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
860*724ba675SRob Herring				reg = <0x16340000 0x1000>,
861*724ba675SRob Herring				      <0x16300000 0x1000>;
862*724ba675SRob Herring				interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
863*724ba675SRob Herring				clocks = <&gcc GSBI4_UART_CLK>, <&gcc GSBI4_H_CLK>;
864*724ba675SRob Herring				clock-names = "core", "iface";
865*724ba675SRob Herring				status = "disabled";
866*724ba675SRob Herring			};
867*724ba675SRob Herring
868*724ba675SRob Herring			i2c@16380000 {
869*724ba675SRob Herring				compatible = "qcom,i2c-qup-v1.1.1";
870*724ba675SRob Herring				reg = <0x16380000 0x1000>;
871*724ba675SRob Herring				interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
872*724ba675SRob Herring
873*724ba675SRob Herring				clocks = <&gcc GSBI4_QUP_CLK>, <&gcc GSBI4_H_CLK>;
874*724ba675SRob Herring				clock-names = "core", "iface";
875*724ba675SRob Herring				status = "disabled";
876*724ba675SRob Herring
877*724ba675SRob Herring				#address-cells = <1>;
878*724ba675SRob Herring				#size-cells = <0>;
879*724ba675SRob Herring			};
880*724ba675SRob Herring		};
881*724ba675SRob Herring
882*724ba675SRob Herring		gsbi6: gsbi@16500000 {
883*724ba675SRob Herring			compatible = "qcom,gsbi-v1.0.0";
884*724ba675SRob Herring			reg = <0x16500000 0x100>;
885*724ba675SRob Herring			cell-index = <6>;
886*724ba675SRob Herring			clocks = <&gcc GSBI6_H_CLK>;
887*724ba675SRob Herring			clock-names = "iface";
888*724ba675SRob Herring			#address-cells = <1>;
889*724ba675SRob Herring			#size-cells = <1>;
890*724ba675SRob Herring			ranges;
891*724ba675SRob Herring
892*724ba675SRob Herring			syscon-tcsr = <&tcsr>;
893*724ba675SRob Herring
894*724ba675SRob Herring			status = "disabled";
895*724ba675SRob Herring
896*724ba675SRob Herring			gsbi6_i2c: i2c@16580000 {
897*724ba675SRob Herring				compatible = "qcom,i2c-qup-v1.1.1";
898*724ba675SRob Herring				reg = <0x16580000 0x1000>;
899*724ba675SRob Herring				interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
900*724ba675SRob Herring
901*724ba675SRob Herring				clocks = <&gcc GSBI6_QUP_CLK>, <&gcc GSBI6_H_CLK>;
902*724ba675SRob Herring				clock-names = "core", "iface";
903*724ba675SRob Herring
904*724ba675SRob Herring				#address-cells = <1>;
905*724ba675SRob Herring				#size-cells = <0>;
906*724ba675SRob Herring
907*724ba675SRob Herring				status = "disabled";
908*724ba675SRob Herring			};
909*724ba675SRob Herring
910*724ba675SRob Herring			gsbi6_spi: spi@16580000 {
911*724ba675SRob Herring				compatible = "qcom,spi-qup-v1.1.1";
912*724ba675SRob Herring				reg = <0x16580000 0x1000>;
913*724ba675SRob Herring				interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
914*724ba675SRob Herring
915*724ba675SRob Herring				clocks = <&gcc GSBI6_QUP_CLK>, <&gcc GSBI6_H_CLK>;
916*724ba675SRob Herring				clock-names = "core", "iface";
917*724ba675SRob Herring
918*724ba675SRob Herring				#address-cells = <1>;
919*724ba675SRob Herring				#size-cells = <0>;
920*724ba675SRob Herring
921*724ba675SRob Herring				status = "disabled";
922*724ba675SRob Herring			};
923*724ba675SRob Herring		};
924*724ba675SRob Herring
925*724ba675SRob Herring		gsbi7: gsbi@16600000 {
926*724ba675SRob Herring			status = "disabled";
927*724ba675SRob Herring			compatible = "qcom,gsbi-v1.0.0";
928*724ba675SRob Herring			cell-index = <7>;
929*724ba675SRob Herring			reg = <0x16600000 0x100>;
930*724ba675SRob Herring			clocks = <&gcc GSBI7_H_CLK>;
931*724ba675SRob Herring			clock-names = "iface";
932*724ba675SRob Herring			#address-cells = <1>;
933*724ba675SRob Herring			#size-cells = <1>;
934*724ba675SRob Herring			ranges;
935*724ba675SRob Herring			syscon-tcsr = <&tcsr>;
936*724ba675SRob Herring
937*724ba675SRob Herring			gsbi7_serial: serial@16640000 {
938*724ba675SRob Herring				compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
939*724ba675SRob Herring				reg = <0x16640000 0x1000>,
940*724ba675SRob Herring				      <0x16600000 0x1000>;
941*724ba675SRob Herring				interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
942*724ba675SRob Herring				clocks = <&gcc GSBI7_UART_CLK>, <&gcc GSBI7_H_CLK>;
943*724ba675SRob Herring				clock-names = "core", "iface";
944*724ba675SRob Herring				status = "disabled";
945*724ba675SRob Herring			};
946*724ba675SRob Herring
947*724ba675SRob Herring			gsbi7_i2c: i2c@16680000 {
948*724ba675SRob Herring				compatible = "qcom,i2c-qup-v1.1.1";
949*724ba675SRob Herring				reg = <0x16680000 0x1000>;
950*724ba675SRob Herring				interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
951*724ba675SRob Herring
952*724ba675SRob Herring				clocks = <&gcc GSBI7_QUP_CLK>, <&gcc GSBI7_H_CLK>;
953*724ba675SRob Herring				clock-names = "core", "iface";
954*724ba675SRob Herring
955*724ba675SRob Herring				#address-cells = <1>;
956*724ba675SRob Herring				#size-cells = <0>;
957*724ba675SRob Herring
958*724ba675SRob Herring				status = "disabled";
959*724ba675SRob Herring			};
960*724ba675SRob Herring		};
961*724ba675SRob Herring
962*724ba675SRob Herring		adm_dma: dma-controller@18300000 {
963*724ba675SRob Herring			compatible = "qcom,adm";
964*724ba675SRob Herring			reg = <0x18300000 0x100000>;
965*724ba675SRob Herring			interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
966*724ba675SRob Herring			#dma-cells = <1>;
967*724ba675SRob Herring
968*724ba675SRob Herring			clocks = <&gcc ADM0_CLK>, <&gcc ADM0_PBUS_CLK>;
969*724ba675SRob Herring			clock-names = "core", "iface";
970*724ba675SRob Herring
971*724ba675SRob Herring			resets = <&gcc ADM0_RESET>,
972*724ba675SRob Herring				 <&gcc ADM0_PBUS_RESET>,
973*724ba675SRob Herring				 <&gcc ADM0_C0_RESET>,
974*724ba675SRob Herring				 <&gcc ADM0_C1_RESET>,
975*724ba675SRob Herring				 <&gcc ADM0_C2_RESET>;
976*724ba675SRob Herring			reset-names = "clk", "pbus", "c0", "c1", "c2";
977*724ba675SRob Herring			qcom,ee = <0>;
978*724ba675SRob Herring
979*724ba675SRob Herring			status = "disabled";
980*724ba675SRob Herring		};
981*724ba675SRob Herring
982*724ba675SRob Herring		gsbi5: gsbi@1a200000 {
983*724ba675SRob Herring			compatible = "qcom,gsbi-v1.0.0";
984*724ba675SRob Herring			cell-index = <5>;
985*724ba675SRob Herring			reg = <0x1a200000 0x100>;
986*724ba675SRob Herring			clocks = <&gcc GSBI5_H_CLK>;
987*724ba675SRob Herring			clock-names = "iface";
988*724ba675SRob Herring			#address-cells = <1>;
989*724ba675SRob Herring
990*724ba675SRob Herring			#size-cells = <1>;
991*724ba675SRob Herring			ranges;
992*724ba675SRob Herring			status = "disabled";
993*724ba675SRob Herring
994*724ba675SRob Herring			syscon-tcsr = <&tcsr>;
995*724ba675SRob Herring
996*724ba675SRob Herring			gsbi5_serial: serial@1a240000 {
997*724ba675SRob Herring				compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
998*724ba675SRob Herring				reg = <0x1a240000 0x1000>,
999*724ba675SRob Herring				      <0x1a200000 0x1000>;
1000*724ba675SRob Herring				interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
1001*724ba675SRob Herring				clocks = <&gcc GSBI5_UART_CLK>, <&gcc GSBI5_H_CLK>;
1002*724ba675SRob Herring				clock-names = "core", "iface";
1003*724ba675SRob Herring				status = "disabled";
1004*724ba675SRob Herring			};
1005*724ba675SRob Herring
1006*724ba675SRob Herring			i2c@1a280000 {
1007*724ba675SRob Herring				compatible = "qcom,i2c-qup-v1.1.1";
1008*724ba675SRob Herring				reg = <0x1a280000 0x1000>;
1009*724ba675SRob Herring				interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
1010*724ba675SRob Herring
1011*724ba675SRob Herring				clocks = <&gcc GSBI5_QUP_CLK>, <&gcc GSBI5_H_CLK>;
1012*724ba675SRob Herring				clock-names = "core", "iface";
1013*724ba675SRob Herring				status = "disabled";
1014*724ba675SRob Herring
1015*724ba675SRob Herring				#address-cells = <1>;
1016*724ba675SRob Herring				#size-cells = <0>;
1017*724ba675SRob Herring			};
1018*724ba675SRob Herring
1019*724ba675SRob Herring			spi@1a280000 {
1020*724ba675SRob Herring				compatible = "qcom,spi-qup-v1.1.1";
1021*724ba675SRob Herring				reg = <0x1a280000 0x1000>;
1022*724ba675SRob Herring				interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
1023*724ba675SRob Herring
1024*724ba675SRob Herring				clocks = <&gcc GSBI5_QUP_CLK>, <&gcc GSBI5_H_CLK>;
1025*724ba675SRob Herring				clock-names = "core", "iface";
1026*724ba675SRob Herring				status = "disabled";
1027*724ba675SRob Herring
1028*724ba675SRob Herring				#address-cells = <1>;
1029*724ba675SRob Herring				#size-cells = <0>;
1030*724ba675SRob Herring			};
1031*724ba675SRob Herring		};
1032*724ba675SRob Herring
1033*724ba675SRob Herring		tcsr: syscon@1a400000 {
1034*724ba675SRob Herring			compatible = "qcom,tcsr-ipq8064", "syscon";
1035*724ba675SRob Herring			reg = <0x1a400000 0x100>;
1036*724ba675SRob Herring		};
1037*724ba675SRob Herring
1038*724ba675SRob Herring		rng@1a500000 {
1039*724ba675SRob Herring			compatible = "qcom,prng";
1040*724ba675SRob Herring			reg = <0x1a500000 0x200>;
1041*724ba675SRob Herring			clocks = <&gcc PRNG_CLK>;
1042*724ba675SRob Herring			clock-names = "core";
1043*724ba675SRob Herring		};
1044*724ba675SRob Herring
1045*724ba675SRob Herring		nand: nand-controller@1ac00000 {
1046*724ba675SRob Herring			compatible = "qcom,ipq806x-nand";
1047*724ba675SRob Herring			reg = <0x1ac00000 0x800>;
1048*724ba675SRob Herring
1049*724ba675SRob Herring			pinctrl-0 = <&nand_pins>;
1050*724ba675SRob Herring			pinctrl-names = "default";
1051*724ba675SRob Herring
1052*724ba675SRob Herring			clocks = <&gcc EBI2_CLK>,
1053*724ba675SRob Herring				 <&gcc EBI2_AON_CLK>;
1054*724ba675SRob Herring			clock-names = "core", "aon";
1055*724ba675SRob Herring
1056*724ba675SRob Herring			dmas = <&adm_dma 3>;
1057*724ba675SRob Herring			dma-names = "rxtx";
1058*724ba675SRob Herring			qcom,cmd-crci = <15>;
1059*724ba675SRob Herring			qcom,data-crci = <3>;
1060*724ba675SRob Herring
1061*724ba675SRob Herring			#address-cells = <1>;
1062*724ba675SRob Herring			#size-cells = <0>;
1063*724ba675SRob Herring
1064*724ba675SRob Herring			status = "disabled";
1065*724ba675SRob Herring		};
1066*724ba675SRob Herring
1067*724ba675SRob Herring		sata_phy: sata-phy@1b400000 {
1068*724ba675SRob Herring			compatible = "qcom,ipq806x-sata-phy";
1069*724ba675SRob Herring			reg = <0x1b400000 0x200>;
1070*724ba675SRob Herring
1071*724ba675SRob Herring			clocks = <&gcc SATA_PHY_CFG_CLK>;
1072*724ba675SRob Herring			clock-names = "cfg";
1073*724ba675SRob Herring
1074*724ba675SRob Herring			#phy-cells = <0>;
1075*724ba675SRob Herring			status = "disabled";
1076*724ba675SRob Herring		};
1077*724ba675SRob Herring
1078*724ba675SRob Herring		pcie0: pci@1b500000 {
1079*724ba675SRob Herring			compatible = "qcom,pcie-ipq8064";
1080*724ba675SRob Herring			reg = <0x1b500000 0x1000
1081*724ba675SRob Herring			       0x1b502000 0x80
1082*724ba675SRob Herring			       0x1b600000 0x100
1083*724ba675SRob Herring			       0x0ff00000 0x100000>;
1084*724ba675SRob Herring			reg-names = "dbi", "elbi", "parf", "config";
1085*724ba675SRob Herring			device_type = "pci";
1086*724ba675SRob Herring			linux,pci-domain = <0>;
1087*724ba675SRob Herring			bus-range = <0x00 0xff>;
1088*724ba675SRob Herring			num-lanes = <1>;
1089*724ba675SRob Herring			#address-cells = <3>;
1090*724ba675SRob Herring			#size-cells = <2>;
1091*724ba675SRob Herring
1092*724ba675SRob Herring			ranges = <0x81000000 0x0 0x00000000 0x0fe00000 0x0 0x00010000   /* I/O */
1093*724ba675SRob Herring				  0x82000000 0x0 0x08000000 0x08000000 0x0 0x07e00000>; /* MEM */
1094*724ba675SRob Herring
1095*724ba675SRob Herring			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
1096*724ba675SRob Herring			interrupt-names = "msi";
1097*724ba675SRob Herring			#interrupt-cells = <1>;
1098*724ba675SRob Herring			interrupt-map-mask = <0 0 0 0x7>;
1099*724ba675SRob Herring			interrupt-map = <0 0 0 1 &intc 0 36 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1100*724ba675SRob Herring					<0 0 0 2 &intc 0 37 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1101*724ba675SRob Herring					<0 0 0 3 &intc 0 38 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1102*724ba675SRob Herring					<0 0 0 4 &intc 0 39 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1103*724ba675SRob Herring
1104*724ba675SRob Herring			clocks = <&gcc PCIE_A_CLK>,
1105*724ba675SRob Herring				 <&gcc PCIE_H_CLK>,
1106*724ba675SRob Herring				 <&gcc PCIE_PHY_CLK>,
1107*724ba675SRob Herring				 <&gcc PCIE_AUX_CLK>,
1108*724ba675SRob Herring				 <&gcc PCIE_ALT_REF_CLK>;
1109*724ba675SRob Herring			clock-names = "core", "iface", "phy", "aux", "ref";
1110*724ba675SRob Herring
1111*724ba675SRob Herring			assigned-clocks = <&gcc PCIE_ALT_REF_CLK>;
1112*724ba675SRob Herring			assigned-clock-rates = <100000000>;
1113*724ba675SRob Herring
1114*724ba675SRob Herring			resets = <&gcc PCIE_ACLK_RESET>,
1115*724ba675SRob Herring				 <&gcc PCIE_HCLK_RESET>,
1116*724ba675SRob Herring				 <&gcc PCIE_POR_RESET>,
1117*724ba675SRob Herring				 <&gcc PCIE_PCI_RESET>,
1118*724ba675SRob Herring				 <&gcc PCIE_PHY_RESET>,
1119*724ba675SRob Herring				 <&gcc PCIE_EXT_RESET>;
1120*724ba675SRob Herring			reset-names = "axi", "ahb", "por", "pci", "phy", "ext";
1121*724ba675SRob Herring
1122*724ba675SRob Herring			pinctrl-0 = <&pcie0_pins>;
1123*724ba675SRob Herring			pinctrl-names = "default";
1124*724ba675SRob Herring
1125*724ba675SRob Herring			status = "disabled";
1126*724ba675SRob Herring			perst-gpios = <&qcom_pinmux 3 GPIO_ACTIVE_LOW>;
1127*724ba675SRob Herring		};
1128*724ba675SRob Herring
1129*724ba675SRob Herring		pcie1: pci@1b700000 {
1130*724ba675SRob Herring			compatible = "qcom,pcie-ipq8064";
1131*724ba675SRob Herring			reg = <0x1b700000 0x1000
1132*724ba675SRob Herring			       0x1b702000 0x80
1133*724ba675SRob Herring			       0x1b800000 0x100
1134*724ba675SRob Herring			       0x31f00000 0x100000>;
1135*724ba675SRob Herring			reg-names = "dbi", "elbi", "parf", "config";
1136*724ba675SRob Herring			device_type = "pci";
1137*724ba675SRob Herring			linux,pci-domain = <1>;
1138*724ba675SRob Herring			bus-range = <0x00 0xff>;
1139*724ba675SRob Herring			num-lanes = <1>;
1140*724ba675SRob Herring			#address-cells = <3>;
1141*724ba675SRob Herring			#size-cells = <2>;
1142*724ba675SRob Herring
1143*724ba675SRob Herring			ranges = <0x81000000 0x0 0x00000000 0x31e00000 0x0 0x00010000   /* I/O */
1144*724ba675SRob Herring				  0x82000000 0x0 0x2e000000 0x2e000000 0x0 0x03e00000>; /* MEM */
1145*724ba675SRob Herring
1146*724ba675SRob Herring			interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
1147*724ba675SRob Herring			interrupt-names = "msi";
1148*724ba675SRob Herring			#interrupt-cells = <1>;
1149*724ba675SRob Herring			interrupt-map-mask = <0 0 0 0x7>;
1150*724ba675SRob Herring			interrupt-map = <0 0 0 1 &intc 0 58 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1151*724ba675SRob Herring					<0 0 0 2 &intc 0 59 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1152*724ba675SRob Herring					<0 0 0 3 &intc 0 60 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1153*724ba675SRob Herring					<0 0 0 4 &intc 0 61 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1154*724ba675SRob Herring
1155*724ba675SRob Herring			clocks = <&gcc PCIE_1_A_CLK>,
1156*724ba675SRob Herring				 <&gcc PCIE_1_H_CLK>,
1157*724ba675SRob Herring				 <&gcc PCIE_1_PHY_CLK>,
1158*724ba675SRob Herring				 <&gcc PCIE_1_AUX_CLK>,
1159*724ba675SRob Herring				 <&gcc PCIE_1_ALT_REF_CLK>;
1160*724ba675SRob Herring			clock-names = "core", "iface", "phy", "aux", "ref";
1161*724ba675SRob Herring
1162*724ba675SRob Herring			assigned-clocks = <&gcc PCIE_1_ALT_REF_CLK>;
1163*724ba675SRob Herring			assigned-clock-rates = <100000000>;
1164*724ba675SRob Herring
1165*724ba675SRob Herring			resets = <&gcc PCIE_1_ACLK_RESET>,
1166*724ba675SRob Herring				 <&gcc PCIE_1_HCLK_RESET>,
1167*724ba675SRob Herring				 <&gcc PCIE_1_POR_RESET>,
1168*724ba675SRob Herring				 <&gcc PCIE_1_PCI_RESET>,
1169*724ba675SRob Herring				 <&gcc PCIE_1_PHY_RESET>,
1170*724ba675SRob Herring				 <&gcc PCIE_1_EXT_RESET>;
1171*724ba675SRob Herring			reset-names = "axi", "ahb", "por", "pci", "phy", "ext";
1172*724ba675SRob Herring
1173*724ba675SRob Herring			pinctrl-0 = <&pcie1_pins>;
1174*724ba675SRob Herring			pinctrl-names = "default";
1175*724ba675SRob Herring
1176*724ba675SRob Herring			status = "disabled";
1177*724ba675SRob Herring			perst-gpios = <&qcom_pinmux 48 GPIO_ACTIVE_LOW>;
1178*724ba675SRob Herring		};
1179*724ba675SRob Herring
1180*724ba675SRob Herring		pcie2: pci@1b900000 {
1181*724ba675SRob Herring			compatible = "qcom,pcie-ipq8064";
1182*724ba675SRob Herring			reg = <0x1b900000 0x1000
1183*724ba675SRob Herring			       0x1b902000 0x80
1184*724ba675SRob Herring			       0x1ba00000 0x100
1185*724ba675SRob Herring			       0x35f00000 0x100000>;
1186*724ba675SRob Herring			reg-names = "dbi", "elbi", "parf", "config";
1187*724ba675SRob Herring			device_type = "pci";
1188*724ba675SRob Herring			linux,pci-domain = <2>;
1189*724ba675SRob Herring			bus-range = <0x00 0xff>;
1190*724ba675SRob Herring			num-lanes = <1>;
1191*724ba675SRob Herring			#address-cells = <3>;
1192*724ba675SRob Herring			#size-cells = <2>;
1193*724ba675SRob Herring
1194*724ba675SRob Herring			ranges = <0x81000000 0x0 0x00000000 0x35e00000 0x0 0x00010000   /* I/O */
1195*724ba675SRob Herring				  0x82000000 0x0 0x32000000 0x32000000 0x0 0x03e00000>; /* MEM */
1196*724ba675SRob Herring
1197*724ba675SRob Herring			interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
1198*724ba675SRob Herring			interrupt-names = "msi";
1199*724ba675SRob Herring			#interrupt-cells = <1>;
1200*724ba675SRob Herring			interrupt-map-mask = <0 0 0 0x7>;
1201*724ba675SRob Herring			interrupt-map = <0 0 0 1 &intc 0 72 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1202*724ba675SRob Herring					<0 0 0 2 &intc 0 73 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1203*724ba675SRob Herring					<0 0 0 3 &intc 0 74 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1204*724ba675SRob Herring					<0 0 0 4 &intc 0 75 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1205*724ba675SRob Herring
1206*724ba675SRob Herring			clocks = <&gcc PCIE_2_A_CLK>,
1207*724ba675SRob Herring				 <&gcc PCIE_2_H_CLK>,
1208*724ba675SRob Herring				 <&gcc PCIE_2_PHY_CLK>,
1209*724ba675SRob Herring				 <&gcc PCIE_2_AUX_CLK>,
1210*724ba675SRob Herring				 <&gcc PCIE_2_ALT_REF_CLK>;
1211*724ba675SRob Herring			clock-names = "core", "iface", "phy", "aux", "ref";
1212*724ba675SRob Herring
1213*724ba675SRob Herring			assigned-clocks = <&gcc PCIE_2_ALT_REF_CLK>;
1214*724ba675SRob Herring			assigned-clock-rates = <100000000>;
1215*724ba675SRob Herring
1216*724ba675SRob Herring			resets = <&gcc PCIE_2_ACLK_RESET>,
1217*724ba675SRob Herring				 <&gcc PCIE_2_HCLK_RESET>,
1218*724ba675SRob Herring				 <&gcc PCIE_2_POR_RESET>,
1219*724ba675SRob Herring				 <&gcc PCIE_2_PCI_RESET>,
1220*724ba675SRob Herring				 <&gcc PCIE_2_PHY_RESET>,
1221*724ba675SRob Herring				 <&gcc PCIE_2_EXT_RESET>;
1222*724ba675SRob Herring			reset-names = "axi", "ahb", "por", "pci", "phy", "ext";
1223*724ba675SRob Herring
1224*724ba675SRob Herring			pinctrl-0 = <&pcie2_pins>;
1225*724ba675SRob Herring			pinctrl-names = "default";
1226*724ba675SRob Herring
1227*724ba675SRob Herring			status = "disabled";
1228*724ba675SRob Herring			perst-gpios = <&qcom_pinmux 63 GPIO_ACTIVE_LOW>;
1229*724ba675SRob Herring		};
1230*724ba675SRob Herring
1231*724ba675SRob Herring		qsgmii_csr: syscon@1bb00000 {
1232*724ba675SRob Herring			compatible = "syscon";
1233*724ba675SRob Herring			reg = <0x1bb00000 0x000001FF>;
1234*724ba675SRob Herring		};
1235*724ba675SRob Herring
1236*724ba675SRob Herring		lcc: clock-controller@28000000 {
1237*724ba675SRob Herring			compatible = "qcom,lcc-ipq8064";
1238*724ba675SRob Herring			reg = <0x28000000 0x1000>;
1239*724ba675SRob Herring			#clock-cells = <1>;
1240*724ba675SRob Herring			#reset-cells = <1>;
1241*724ba675SRob Herring		};
1242*724ba675SRob Herring
1243*724ba675SRob Herring		lpass@28100000 {
1244*724ba675SRob Herring			compatible = "qcom,lpass-cpu";
1245*724ba675SRob Herring			status = "disabled";
1246*724ba675SRob Herring			clocks = <&lcc AHBIX_CLK>,
1247*724ba675SRob Herring					<&lcc MI2S_OSR_CLK>,
1248*724ba675SRob Herring					<&lcc MI2S_BIT_CLK>;
1249*724ba675SRob Herring			clock-names = "ahbix-clk",
1250*724ba675SRob Herring					"mi2s-osr-clk",
1251*724ba675SRob Herring					"mi2s-bit-clk";
1252*724ba675SRob Herring			interrupts = <GIC_SPI 85 IRQ_TYPE_EDGE_RISING>;
1253*724ba675SRob Herring			interrupt-names = "lpass-irq-lpaif";
1254*724ba675SRob Herring			reg = <0x28100000 0x10000>;
1255*724ba675SRob Herring			reg-names = "lpass-lpaif";
1256*724ba675SRob Herring		};
1257*724ba675SRob Herring
1258*724ba675SRob Herring		sata: sata@29000000 {
1259*724ba675SRob Herring			compatible = "qcom,ipq806x-ahci", "generic-ahci";
1260*724ba675SRob Herring			reg = <0x29000000 0x180>;
1261*724ba675SRob Herring
1262*724ba675SRob Herring			interrupts = <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>;
1263*724ba675SRob Herring
1264*724ba675SRob Herring			clocks = <&gcc SFAB_SATA_S_H_CLK>,
1265*724ba675SRob Herring				 <&gcc SATA_H_CLK>,
1266*724ba675SRob Herring				 <&gcc SATA_A_CLK>,
1267*724ba675SRob Herring				 <&gcc SATA_RXOOB_CLK>,
1268*724ba675SRob Herring				 <&gcc SATA_PMALIVE_CLK>;
1269*724ba675SRob Herring			clock-names = "slave_face", "iface", "core",
1270*724ba675SRob Herring					"rxoob", "pmalive";
1271*724ba675SRob Herring
1272*724ba675SRob Herring			assigned-clocks = <&gcc SATA_RXOOB_CLK>, <&gcc SATA_PMALIVE_CLK>;
1273*724ba675SRob Herring			assigned-clock-rates = <100000000>, <100000000>;
1274*724ba675SRob Herring
1275*724ba675SRob Herring			phys = <&sata_phy>;
1276*724ba675SRob Herring			phy-names = "sata-phy";
1277*724ba675SRob Herring			status = "disabled";
1278*724ba675SRob Herring		};
1279*724ba675SRob Herring
1280*724ba675SRob Herring		gmac0: ethernet@37000000 {
1281*724ba675SRob Herring			device_type = "network";
1282*724ba675SRob Herring			compatible = "qcom,ipq806x-gmac", "snps,dwmac";
1283*724ba675SRob Herring			reg = <0x37000000 0x200000>;
1284*724ba675SRob Herring			interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>;
1285*724ba675SRob Herring			interrupt-names = "macirq";
1286*724ba675SRob Herring
1287*724ba675SRob Herring			snps,axi-config = <&stmmac_axi_setup>;
1288*724ba675SRob Herring			snps,pbl = <32>;
1289*724ba675SRob Herring			snps,aal;
1290*724ba675SRob Herring
1291*724ba675SRob Herring			qcom,nss-common = <&nss_common>;
1292*724ba675SRob Herring			qcom,qsgmii-csr = <&qsgmii_csr>;
1293*724ba675SRob Herring
1294*724ba675SRob Herring			clocks = <&gcc GMAC_CORE1_CLK>;
1295*724ba675SRob Herring			clock-names = "stmmaceth";
1296*724ba675SRob Herring
1297*724ba675SRob Herring			resets = <&gcc GMAC_CORE1_RESET>,
1298*724ba675SRob Herring				 <&gcc GMAC_AHB_RESET>;
1299*724ba675SRob Herring			reset-names = "stmmaceth", "ahb";
1300*724ba675SRob Herring
1301*724ba675SRob Herring			status = "disabled";
1302*724ba675SRob Herring		};
1303*724ba675SRob Herring
1304*724ba675SRob Herring		gmac1: ethernet@37200000 {
1305*724ba675SRob Herring			device_type = "network";
1306*724ba675SRob Herring			compatible = "qcom,ipq806x-gmac", "snps,dwmac";
1307*724ba675SRob Herring			reg = <0x37200000 0x200000>;
1308*724ba675SRob Herring			interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
1309*724ba675SRob Herring			interrupt-names = "macirq";
1310*724ba675SRob Herring
1311*724ba675SRob Herring			snps,axi-config = <&stmmac_axi_setup>;
1312*724ba675SRob Herring			snps,pbl = <32>;
1313*724ba675SRob Herring			snps,aal;
1314*724ba675SRob Herring
1315*724ba675SRob Herring			qcom,nss-common = <&nss_common>;
1316*724ba675SRob Herring			qcom,qsgmii-csr = <&qsgmii_csr>;
1317*724ba675SRob Herring
1318*724ba675SRob Herring			clocks = <&gcc GMAC_CORE2_CLK>;
1319*724ba675SRob Herring			clock-names = "stmmaceth";
1320*724ba675SRob Herring
1321*724ba675SRob Herring			resets = <&gcc GMAC_CORE2_RESET>,
1322*724ba675SRob Herring				 <&gcc GMAC_AHB_RESET>;
1323*724ba675SRob Herring			reset-names = "stmmaceth", "ahb";
1324*724ba675SRob Herring
1325*724ba675SRob Herring			status = "disabled";
1326*724ba675SRob Herring		};
1327*724ba675SRob Herring
1328*724ba675SRob Herring		gmac2: ethernet@37400000 {
1329*724ba675SRob Herring			device_type = "network";
1330*724ba675SRob Herring			compatible = "qcom,ipq806x-gmac", "snps,dwmac";
1331*724ba675SRob Herring			reg = <0x37400000 0x200000>;
1332*724ba675SRob Herring			interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>;
1333*724ba675SRob Herring			interrupt-names = "macirq";
1334*724ba675SRob Herring
1335*724ba675SRob Herring			snps,axi-config = <&stmmac_axi_setup>;
1336*724ba675SRob Herring			snps,pbl = <32>;
1337*724ba675SRob Herring			snps,aal;
1338*724ba675SRob Herring
1339*724ba675SRob Herring			qcom,nss-common = <&nss_common>;
1340*724ba675SRob Herring			qcom,qsgmii-csr = <&qsgmii_csr>;
1341*724ba675SRob Herring
1342*724ba675SRob Herring			clocks = <&gcc GMAC_CORE3_CLK>;
1343*724ba675SRob Herring			clock-names = "stmmaceth";
1344*724ba675SRob Herring
1345*724ba675SRob Herring			resets = <&gcc GMAC_CORE3_RESET>,
1346*724ba675SRob Herring				 <&gcc GMAC_AHB_RESET>;
1347*724ba675SRob Herring			reset-names = "stmmaceth", "ahb";
1348*724ba675SRob Herring
1349*724ba675SRob Herring			status = "disabled";
1350*724ba675SRob Herring		};
1351*724ba675SRob Herring
1352*724ba675SRob Herring		gmac3: ethernet@37600000 {
1353*724ba675SRob Herring			device_type = "network";
1354*724ba675SRob Herring			compatible = "qcom,ipq806x-gmac", "snps,dwmac";
1355*724ba675SRob Herring			reg = <0x37600000 0x200000>;
1356*724ba675SRob Herring			interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>;
1357*724ba675SRob Herring			interrupt-names = "macirq";
1358*724ba675SRob Herring
1359*724ba675SRob Herring			snps,axi-config = <&stmmac_axi_setup>;
1360*724ba675SRob Herring			snps,pbl = <32>;
1361*724ba675SRob Herring			snps,aal;
1362*724ba675SRob Herring
1363*724ba675SRob Herring			qcom,nss-common = <&nss_common>;
1364*724ba675SRob Herring			qcom,qsgmii-csr = <&qsgmii_csr>;
1365*724ba675SRob Herring
1366*724ba675SRob Herring			clocks = <&gcc GMAC_CORE4_CLK>;
1367*724ba675SRob Herring			clock-names = "stmmaceth";
1368*724ba675SRob Herring
1369*724ba675SRob Herring			resets = <&gcc GMAC_CORE4_RESET>,
1370*724ba675SRob Herring				 <&gcc GMAC_AHB_RESET>;
1371*724ba675SRob Herring			reset-names = "stmmaceth", "ahb";
1372*724ba675SRob Herring
1373*724ba675SRob Herring			status = "disabled";
1374*724ba675SRob Herring		};
1375*724ba675SRob Herring	};
1376*724ba675SRob Herring};
1377