xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/qcom-ipq8064.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun/dts-v1/;
3*4882a593Smuzhiyun
4*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/arm-gic.h>
5*4882a593Smuzhiyun#include <dt-bindings/clock/qcom,gcc-ipq806x.h>
6*4882a593Smuzhiyun#include <dt-bindings/clock/qcom,lcc-ipq806x.h>
7*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h>
8*4882a593Smuzhiyun#include <dt-bindings/reset/qcom,gcc-ipq806x.h>
9*4882a593Smuzhiyun#include <dt-bindings/soc/qcom,gsbi.h>
10*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/arm-gic.h>
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun/ {
13*4882a593Smuzhiyun	#address-cells = <1>;
14*4882a593Smuzhiyun	#size-cells = <1>;
15*4882a593Smuzhiyun	model = "Qualcomm IPQ8064";
16*4882a593Smuzhiyun	compatible = "qcom,ipq8064";
17*4882a593Smuzhiyun	interrupt-parent = <&intc>;
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun	cpus {
20*4882a593Smuzhiyun		#address-cells = <1>;
21*4882a593Smuzhiyun		#size-cells = <0>;
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun		cpu@0 {
24*4882a593Smuzhiyun			compatible = "qcom,krait";
25*4882a593Smuzhiyun			enable-method = "qcom,kpss-acc-v1";
26*4882a593Smuzhiyun			device_type = "cpu";
27*4882a593Smuzhiyun			reg = <0>;
28*4882a593Smuzhiyun			next-level-cache = <&L2>;
29*4882a593Smuzhiyun			qcom,acc = <&acc0>;
30*4882a593Smuzhiyun			qcom,saw = <&saw0>;
31*4882a593Smuzhiyun		};
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun		cpu@1 {
34*4882a593Smuzhiyun			compatible = "qcom,krait";
35*4882a593Smuzhiyun			enable-method = "qcom,kpss-acc-v1";
36*4882a593Smuzhiyun			device_type = "cpu";
37*4882a593Smuzhiyun			reg = <1>;
38*4882a593Smuzhiyun			next-level-cache = <&L2>;
39*4882a593Smuzhiyun			qcom,acc = <&acc1>;
40*4882a593Smuzhiyun			qcom,saw = <&saw1>;
41*4882a593Smuzhiyun		};
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun		L2: l2-cache {
44*4882a593Smuzhiyun			compatible = "cache";
45*4882a593Smuzhiyun			cache-level = <2>;
46*4882a593Smuzhiyun		};
47*4882a593Smuzhiyun	};
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun	memory {
50*4882a593Smuzhiyun		device_type = "memory";
51*4882a593Smuzhiyun		reg = <0x0 0x0>;
52*4882a593Smuzhiyun	};
53*4882a593Smuzhiyun
54*4882a593Smuzhiyun	cpu-pmu {
55*4882a593Smuzhiyun		compatible = "qcom,krait-pmu";
56*4882a593Smuzhiyun		interrupts = <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) |
57*4882a593Smuzhiyun					  IRQ_TYPE_LEVEL_HIGH)>;
58*4882a593Smuzhiyun	};
59*4882a593Smuzhiyun
60*4882a593Smuzhiyun	reserved-memory {
61*4882a593Smuzhiyun		#address-cells = <1>;
62*4882a593Smuzhiyun		#size-cells = <1>;
63*4882a593Smuzhiyun		ranges;
64*4882a593Smuzhiyun
65*4882a593Smuzhiyun		nss@40000000 {
66*4882a593Smuzhiyun			reg = <0x40000000 0x1000000>;
67*4882a593Smuzhiyun			no-map;
68*4882a593Smuzhiyun		};
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun		smem@41000000 {
71*4882a593Smuzhiyun			reg = <0x41000000 0x200000>;
72*4882a593Smuzhiyun			no-map;
73*4882a593Smuzhiyun		};
74*4882a593Smuzhiyun	};
75*4882a593Smuzhiyun
76*4882a593Smuzhiyun	clocks {
77*4882a593Smuzhiyun		cxo_board {
78*4882a593Smuzhiyun			compatible = "fixed-clock";
79*4882a593Smuzhiyun			#clock-cells = <0>;
80*4882a593Smuzhiyun			clock-frequency = <25000000>;
81*4882a593Smuzhiyun		};
82*4882a593Smuzhiyun
83*4882a593Smuzhiyun		pxo_board {
84*4882a593Smuzhiyun			compatible = "fixed-clock";
85*4882a593Smuzhiyun			#clock-cells = <0>;
86*4882a593Smuzhiyun			clock-frequency = <25000000>;
87*4882a593Smuzhiyun		};
88*4882a593Smuzhiyun
89*4882a593Smuzhiyun		sleep_clk: sleep_clk {
90*4882a593Smuzhiyun			compatible = "fixed-clock";
91*4882a593Smuzhiyun			clock-frequency = <32768>;
92*4882a593Smuzhiyun			#clock-cells = <0>;
93*4882a593Smuzhiyun		};
94*4882a593Smuzhiyun	};
95*4882a593Smuzhiyun
96*4882a593Smuzhiyun	firmware {
97*4882a593Smuzhiyun		scm {
98*4882a593Smuzhiyun			compatible = "qcom,scm-ipq806x", "qcom,scm";
99*4882a593Smuzhiyun		};
100*4882a593Smuzhiyun	};
101*4882a593Smuzhiyun
102*4882a593Smuzhiyun	soc: soc {
103*4882a593Smuzhiyun		#address-cells = <1>;
104*4882a593Smuzhiyun		#size-cells = <1>;
105*4882a593Smuzhiyun		ranges;
106*4882a593Smuzhiyun		compatible = "simple-bus";
107*4882a593Smuzhiyun
108*4882a593Smuzhiyun		lpass@28100000 {
109*4882a593Smuzhiyun			compatible = "qcom,lpass-cpu";
110*4882a593Smuzhiyun			status = "disabled";
111*4882a593Smuzhiyun			clocks = <&lcc AHBIX_CLK>,
112*4882a593Smuzhiyun					<&lcc MI2S_OSR_CLK>,
113*4882a593Smuzhiyun					<&lcc MI2S_BIT_CLK>;
114*4882a593Smuzhiyun			clock-names = "ahbix-clk",
115*4882a593Smuzhiyun					"mi2s-osr-clk",
116*4882a593Smuzhiyun					"mi2s-bit-clk";
117*4882a593Smuzhiyun			interrupts = <GIC_SPI 85 IRQ_TYPE_EDGE_RISING>;
118*4882a593Smuzhiyun			interrupt-names = "lpass-irq-lpaif";
119*4882a593Smuzhiyun			reg = <0x28100000 0x10000>;
120*4882a593Smuzhiyun			reg-names = "lpass-lpaif";
121*4882a593Smuzhiyun		};
122*4882a593Smuzhiyun
123*4882a593Smuzhiyun		qcom_pinmux: pinmux@800000 {
124*4882a593Smuzhiyun			compatible = "qcom,ipq8064-pinctrl";
125*4882a593Smuzhiyun			reg = <0x800000 0x4000>;
126*4882a593Smuzhiyun
127*4882a593Smuzhiyun			gpio-controller;
128*4882a593Smuzhiyun			gpio-ranges = <&qcom_pinmux 0 0 69>;
129*4882a593Smuzhiyun			#gpio-cells = <2>;
130*4882a593Smuzhiyun			interrupt-controller;
131*4882a593Smuzhiyun			#interrupt-cells = <2>;
132*4882a593Smuzhiyun			interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
133*4882a593Smuzhiyun
134*4882a593Smuzhiyun			pcie0_pins: pcie0_pinmux {
135*4882a593Smuzhiyun				mux {
136*4882a593Smuzhiyun					pins = "gpio3";
137*4882a593Smuzhiyun					function = "pcie1_rst";
138*4882a593Smuzhiyun					drive-strength = <12>;
139*4882a593Smuzhiyun					bias-disable;
140*4882a593Smuzhiyun				};
141*4882a593Smuzhiyun			};
142*4882a593Smuzhiyun
143*4882a593Smuzhiyun			pcie1_pins: pcie1_pinmux {
144*4882a593Smuzhiyun				mux {
145*4882a593Smuzhiyun					pins = "gpio48";
146*4882a593Smuzhiyun					function = "pcie2_rst";
147*4882a593Smuzhiyun					drive-strength = <12>;
148*4882a593Smuzhiyun					bias-disable;
149*4882a593Smuzhiyun				};
150*4882a593Smuzhiyun			};
151*4882a593Smuzhiyun
152*4882a593Smuzhiyun			pcie2_pins: pcie2_pinmux {
153*4882a593Smuzhiyun				mux {
154*4882a593Smuzhiyun					pins = "gpio63";
155*4882a593Smuzhiyun					function = "pcie3_rst";
156*4882a593Smuzhiyun					drive-strength = <12>;
157*4882a593Smuzhiyun					bias-disable;
158*4882a593Smuzhiyun				};
159*4882a593Smuzhiyun			};
160*4882a593Smuzhiyun
161*4882a593Smuzhiyun			spi_pins: spi_pins {
162*4882a593Smuzhiyun				mux {
163*4882a593Smuzhiyun					pins = "gpio18", "gpio19", "gpio21";
164*4882a593Smuzhiyun					function = "gsbi5";
165*4882a593Smuzhiyun					drive-strength = <10>;
166*4882a593Smuzhiyun					bias-none;
167*4882a593Smuzhiyun				};
168*4882a593Smuzhiyun			};
169*4882a593Smuzhiyun
170*4882a593Smuzhiyun			leds_pins: leds_pins {
171*4882a593Smuzhiyun				mux {
172*4882a593Smuzhiyun					pins = "gpio7", "gpio8", "gpio9",
173*4882a593Smuzhiyun					       "gpio26", "gpio53";
174*4882a593Smuzhiyun					function = "gpio";
175*4882a593Smuzhiyun					drive-strength = <2>;
176*4882a593Smuzhiyun					bias-pull-down;
177*4882a593Smuzhiyun					output-low;
178*4882a593Smuzhiyun				};
179*4882a593Smuzhiyun			};
180*4882a593Smuzhiyun
181*4882a593Smuzhiyun			buttons_pins: buttons_pins {
182*4882a593Smuzhiyun				mux {
183*4882a593Smuzhiyun					pins = "gpio54";
184*4882a593Smuzhiyun					drive-strength = <2>;
185*4882a593Smuzhiyun					bias-pull-up;
186*4882a593Smuzhiyun				};
187*4882a593Smuzhiyun			};
188*4882a593Smuzhiyun		};
189*4882a593Smuzhiyun
190*4882a593Smuzhiyun		intc: interrupt-controller@2000000 {
191*4882a593Smuzhiyun			compatible = "qcom,msm-qgic2";
192*4882a593Smuzhiyun			interrupt-controller;
193*4882a593Smuzhiyun			#interrupt-cells = <3>;
194*4882a593Smuzhiyun			reg = <0x02000000 0x1000>,
195*4882a593Smuzhiyun			      <0x02002000 0x1000>;
196*4882a593Smuzhiyun		};
197*4882a593Smuzhiyun
198*4882a593Smuzhiyun		timer@200a000 {
199*4882a593Smuzhiyun			compatible = "qcom,kpss-timer",
200*4882a593Smuzhiyun				     "qcom,kpss-wdt-ipq8064", "qcom,msm-timer";
201*4882a593Smuzhiyun			interrupts = <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(2) |
202*4882a593Smuzhiyun						 IRQ_TYPE_EDGE_RISING)>,
203*4882a593Smuzhiyun				     <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(2) |
204*4882a593Smuzhiyun						 IRQ_TYPE_EDGE_RISING)>,
205*4882a593Smuzhiyun				     <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(2) |
206*4882a593Smuzhiyun						 IRQ_TYPE_EDGE_RISING)>,
207*4882a593Smuzhiyun				     <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(2) |
208*4882a593Smuzhiyun						 IRQ_TYPE_EDGE_RISING)>,
209*4882a593Smuzhiyun				     <GIC_PPI 5 (GIC_CPU_MASK_SIMPLE(2) |
210*4882a593Smuzhiyun						 IRQ_TYPE_EDGE_RISING)>;
211*4882a593Smuzhiyun			reg = <0x0200a000 0x100>;
212*4882a593Smuzhiyun			clock-frequency = <25000000>,
213*4882a593Smuzhiyun					  <32768>;
214*4882a593Smuzhiyun			clocks = <&sleep_clk>;
215*4882a593Smuzhiyun			clock-names = "sleep";
216*4882a593Smuzhiyun			cpu-offset = <0x80000>;
217*4882a593Smuzhiyun		};
218*4882a593Smuzhiyun
219*4882a593Smuzhiyun		acc0: clock-controller@2088000 {
220*4882a593Smuzhiyun			compatible = "qcom,kpss-acc-v1";
221*4882a593Smuzhiyun			reg = <0x02088000 0x1000>, <0x02008000 0x1000>;
222*4882a593Smuzhiyun		};
223*4882a593Smuzhiyun
224*4882a593Smuzhiyun		acc1: clock-controller@2098000 {
225*4882a593Smuzhiyun			compatible = "qcom,kpss-acc-v1";
226*4882a593Smuzhiyun			reg = <0x02098000 0x1000>, <0x02008000 0x1000>;
227*4882a593Smuzhiyun		};
228*4882a593Smuzhiyun
229*4882a593Smuzhiyun		saw0: regulator@2089000 {
230*4882a593Smuzhiyun			compatible = "qcom,saw2";
231*4882a593Smuzhiyun			reg = <0x02089000 0x1000>, <0x02009000 0x1000>;
232*4882a593Smuzhiyun			regulator;
233*4882a593Smuzhiyun		};
234*4882a593Smuzhiyun
235*4882a593Smuzhiyun		saw1: regulator@2099000 {
236*4882a593Smuzhiyun			compatible = "qcom,saw2";
237*4882a593Smuzhiyun			reg = <0x02099000 0x1000>, <0x02009000 0x1000>;
238*4882a593Smuzhiyun			regulator;
239*4882a593Smuzhiyun		};
240*4882a593Smuzhiyun
241*4882a593Smuzhiyun		gsbi2: gsbi@12480000 {
242*4882a593Smuzhiyun			compatible = "qcom,gsbi-v1.0.0";
243*4882a593Smuzhiyun			cell-index = <2>;
244*4882a593Smuzhiyun			reg = <0x12480000 0x100>;
245*4882a593Smuzhiyun			clocks = <&gcc GSBI2_H_CLK>;
246*4882a593Smuzhiyun			clock-names = "iface";
247*4882a593Smuzhiyun			#address-cells = <1>;
248*4882a593Smuzhiyun			#size-cells = <1>;
249*4882a593Smuzhiyun			ranges;
250*4882a593Smuzhiyun			status = "disabled";
251*4882a593Smuzhiyun
252*4882a593Smuzhiyun			syscon-tcsr = <&tcsr>;
253*4882a593Smuzhiyun
254*4882a593Smuzhiyun			serial@12490000 {
255*4882a593Smuzhiyun				compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
256*4882a593Smuzhiyun				reg = <0x12490000 0x1000>,
257*4882a593Smuzhiyun				      <0x12480000 0x1000>;
258*4882a593Smuzhiyun				interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>;
259*4882a593Smuzhiyun				clocks = <&gcc GSBI2_UART_CLK>, <&gcc GSBI2_H_CLK>;
260*4882a593Smuzhiyun				clock-names = "core", "iface";
261*4882a593Smuzhiyun				status = "disabled";
262*4882a593Smuzhiyun			};
263*4882a593Smuzhiyun
264*4882a593Smuzhiyun			i2c@124a0000 {
265*4882a593Smuzhiyun				compatible = "qcom,i2c-qup-v1.1.1";
266*4882a593Smuzhiyun				reg = <0x124a0000 0x1000>;
267*4882a593Smuzhiyun				interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>;
268*4882a593Smuzhiyun
269*4882a593Smuzhiyun				clocks = <&gcc GSBI2_QUP_CLK>, <&gcc GSBI2_H_CLK>;
270*4882a593Smuzhiyun				clock-names = "core", "iface";
271*4882a593Smuzhiyun				status = "disabled";
272*4882a593Smuzhiyun
273*4882a593Smuzhiyun				#address-cells = <1>;
274*4882a593Smuzhiyun				#size-cells = <0>;
275*4882a593Smuzhiyun			};
276*4882a593Smuzhiyun
277*4882a593Smuzhiyun		};
278*4882a593Smuzhiyun
279*4882a593Smuzhiyun		gsbi4: gsbi@16300000 {
280*4882a593Smuzhiyun			compatible = "qcom,gsbi-v1.0.0";
281*4882a593Smuzhiyun			cell-index = <4>;
282*4882a593Smuzhiyun			reg = <0x16300000 0x100>;
283*4882a593Smuzhiyun			clocks = <&gcc GSBI4_H_CLK>;
284*4882a593Smuzhiyun			clock-names = "iface";
285*4882a593Smuzhiyun			#address-cells = <1>;
286*4882a593Smuzhiyun			#size-cells = <1>;
287*4882a593Smuzhiyun			ranges;
288*4882a593Smuzhiyun			status = "disabled";
289*4882a593Smuzhiyun
290*4882a593Smuzhiyun			syscon-tcsr = <&tcsr>;
291*4882a593Smuzhiyun
292*4882a593Smuzhiyun			gsbi4_serial: serial@16340000 {
293*4882a593Smuzhiyun				compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
294*4882a593Smuzhiyun				reg = <0x16340000 0x1000>,
295*4882a593Smuzhiyun				      <0x16300000 0x1000>;
296*4882a593Smuzhiyun				interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
297*4882a593Smuzhiyun				clocks = <&gcc GSBI4_UART_CLK>, <&gcc GSBI4_H_CLK>;
298*4882a593Smuzhiyun				clock-names = "core", "iface";
299*4882a593Smuzhiyun				status = "disabled";
300*4882a593Smuzhiyun			};
301*4882a593Smuzhiyun
302*4882a593Smuzhiyun			i2c@16380000 {
303*4882a593Smuzhiyun				compatible = "qcom,i2c-qup-v1.1.1";
304*4882a593Smuzhiyun				reg = <0x16380000 0x1000>;
305*4882a593Smuzhiyun				interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
306*4882a593Smuzhiyun
307*4882a593Smuzhiyun				clocks = <&gcc GSBI4_QUP_CLK>, <&gcc GSBI4_H_CLK>;
308*4882a593Smuzhiyun				clock-names = "core", "iface";
309*4882a593Smuzhiyun				status = "disabled";
310*4882a593Smuzhiyun
311*4882a593Smuzhiyun				#address-cells = <1>;
312*4882a593Smuzhiyun				#size-cells = <0>;
313*4882a593Smuzhiyun			};
314*4882a593Smuzhiyun		};
315*4882a593Smuzhiyun
316*4882a593Smuzhiyun		gsbi5: gsbi@1a200000 {
317*4882a593Smuzhiyun			compatible = "qcom,gsbi-v1.0.0";
318*4882a593Smuzhiyun			cell-index = <5>;
319*4882a593Smuzhiyun			reg = <0x1a200000 0x100>;
320*4882a593Smuzhiyun			clocks = <&gcc GSBI5_H_CLK>;
321*4882a593Smuzhiyun			clock-names = "iface";
322*4882a593Smuzhiyun			#address-cells = <1>;
323*4882a593Smuzhiyun			#size-cells = <1>;
324*4882a593Smuzhiyun			ranges;
325*4882a593Smuzhiyun			status = "disabled";
326*4882a593Smuzhiyun
327*4882a593Smuzhiyun			syscon-tcsr = <&tcsr>;
328*4882a593Smuzhiyun
329*4882a593Smuzhiyun			serial@1a240000 {
330*4882a593Smuzhiyun				compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
331*4882a593Smuzhiyun				reg = <0x1a240000 0x1000>,
332*4882a593Smuzhiyun				      <0x1a200000 0x1000>;
333*4882a593Smuzhiyun				interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
334*4882a593Smuzhiyun				clocks = <&gcc GSBI5_UART_CLK>, <&gcc GSBI5_H_CLK>;
335*4882a593Smuzhiyun				clock-names = "core", "iface";
336*4882a593Smuzhiyun				status = "disabled";
337*4882a593Smuzhiyun			};
338*4882a593Smuzhiyun
339*4882a593Smuzhiyun			i2c@1a280000 {
340*4882a593Smuzhiyun				compatible = "qcom,i2c-qup-v1.1.1";
341*4882a593Smuzhiyun				reg = <0x1a280000 0x1000>;
342*4882a593Smuzhiyun				interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
343*4882a593Smuzhiyun
344*4882a593Smuzhiyun				clocks = <&gcc GSBI5_QUP_CLK>, <&gcc GSBI5_H_CLK>;
345*4882a593Smuzhiyun				clock-names = "core", "iface";
346*4882a593Smuzhiyun				status = "disabled";
347*4882a593Smuzhiyun
348*4882a593Smuzhiyun				#address-cells = <1>;
349*4882a593Smuzhiyun				#size-cells = <0>;
350*4882a593Smuzhiyun			};
351*4882a593Smuzhiyun
352*4882a593Smuzhiyun			spi@1a280000 {
353*4882a593Smuzhiyun				compatible = "qcom,spi-qup-v1.1.1";
354*4882a593Smuzhiyun				reg = <0x1a280000 0x1000>;
355*4882a593Smuzhiyun				interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
356*4882a593Smuzhiyun
357*4882a593Smuzhiyun				clocks = <&gcc GSBI5_QUP_CLK>, <&gcc GSBI5_H_CLK>;
358*4882a593Smuzhiyun				clock-names = "core", "iface";
359*4882a593Smuzhiyun				status = "disabled";
360*4882a593Smuzhiyun
361*4882a593Smuzhiyun				#address-cells = <1>;
362*4882a593Smuzhiyun				#size-cells = <0>;
363*4882a593Smuzhiyun			};
364*4882a593Smuzhiyun		};
365*4882a593Smuzhiyun
366*4882a593Smuzhiyun		gsbi7: gsbi@16600000 {
367*4882a593Smuzhiyun			status = "disabled";
368*4882a593Smuzhiyun			compatible = "qcom,gsbi-v1.0.0";
369*4882a593Smuzhiyun			cell-index = <7>;
370*4882a593Smuzhiyun			reg = <0x16600000 0x100>;
371*4882a593Smuzhiyun			clocks = <&gcc GSBI7_H_CLK>;
372*4882a593Smuzhiyun			clock-names = "iface";
373*4882a593Smuzhiyun			#address-cells = <1>;
374*4882a593Smuzhiyun			#size-cells = <1>;
375*4882a593Smuzhiyun			ranges;
376*4882a593Smuzhiyun			syscon-tcsr = <&tcsr>;
377*4882a593Smuzhiyun
378*4882a593Smuzhiyun			gsbi7_serial: serial@16640000 {
379*4882a593Smuzhiyun				compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
380*4882a593Smuzhiyun				reg = <0x16640000 0x1000>,
381*4882a593Smuzhiyun				      <0x16600000 0x1000>;
382*4882a593Smuzhiyun				interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
383*4882a593Smuzhiyun				clocks = <&gcc GSBI7_UART_CLK>, <&gcc GSBI7_H_CLK>;
384*4882a593Smuzhiyun				clock-names = "core", "iface";
385*4882a593Smuzhiyun				status = "disabled";
386*4882a593Smuzhiyun			};
387*4882a593Smuzhiyun		};
388*4882a593Smuzhiyun
389*4882a593Smuzhiyun		sata_phy: sata-phy@1b400000 {
390*4882a593Smuzhiyun			compatible = "qcom,ipq806x-sata-phy";
391*4882a593Smuzhiyun			reg = <0x1b400000 0x200>;
392*4882a593Smuzhiyun
393*4882a593Smuzhiyun			clocks = <&gcc SATA_PHY_CFG_CLK>;
394*4882a593Smuzhiyun			clock-names = "cfg";
395*4882a593Smuzhiyun
396*4882a593Smuzhiyun			#phy-cells = <0>;
397*4882a593Smuzhiyun			status = "disabled";
398*4882a593Smuzhiyun		};
399*4882a593Smuzhiyun
400*4882a593Smuzhiyun		sata@29000000 {
401*4882a593Smuzhiyun			compatible = "qcom,ipq806x-ahci", "generic-ahci";
402*4882a593Smuzhiyun			reg = <0x29000000 0x180>;
403*4882a593Smuzhiyun
404*4882a593Smuzhiyun			interrupts = <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>;
405*4882a593Smuzhiyun
406*4882a593Smuzhiyun			clocks = <&gcc SFAB_SATA_S_H_CLK>,
407*4882a593Smuzhiyun				 <&gcc SATA_H_CLK>,
408*4882a593Smuzhiyun				 <&gcc SATA_A_CLK>,
409*4882a593Smuzhiyun				 <&gcc SATA_RXOOB_CLK>,
410*4882a593Smuzhiyun				 <&gcc SATA_PMALIVE_CLK>;
411*4882a593Smuzhiyun			clock-names = "slave_face", "iface", "core",
412*4882a593Smuzhiyun					"rxoob", "pmalive";
413*4882a593Smuzhiyun
414*4882a593Smuzhiyun			assigned-clocks = <&gcc SATA_RXOOB_CLK>, <&gcc SATA_PMALIVE_CLK>;
415*4882a593Smuzhiyun			assigned-clock-rates = <100000000>, <100000000>;
416*4882a593Smuzhiyun
417*4882a593Smuzhiyun			phys = <&sata_phy>;
418*4882a593Smuzhiyun			phy-names = "sata-phy";
419*4882a593Smuzhiyun			status = "disabled";
420*4882a593Smuzhiyun		};
421*4882a593Smuzhiyun
422*4882a593Smuzhiyun		qcom,ssbi@500000 {
423*4882a593Smuzhiyun			compatible = "qcom,ssbi";
424*4882a593Smuzhiyun			reg = <0x00500000 0x1000>;
425*4882a593Smuzhiyun			qcom,controller-type = "pmic-arbiter";
426*4882a593Smuzhiyun		};
427*4882a593Smuzhiyun
428*4882a593Smuzhiyun		qfprom: qfprom@700000 {
429*4882a593Smuzhiyun			compatible = "qcom,qfprom";
430*4882a593Smuzhiyun			reg = <0x00700000 0x1000>;
431*4882a593Smuzhiyun			#address-cells = <1>;
432*4882a593Smuzhiyun			#size-cells = <1>;
433*4882a593Smuzhiyun		};
434*4882a593Smuzhiyun
435*4882a593Smuzhiyun		gcc: clock-controller@900000 {
436*4882a593Smuzhiyun			compatible = "qcom,gcc-ipq8064";
437*4882a593Smuzhiyun			reg = <0x00900000 0x4000>;
438*4882a593Smuzhiyun			#clock-cells = <1>;
439*4882a593Smuzhiyun			#reset-cells = <1>;
440*4882a593Smuzhiyun		};
441*4882a593Smuzhiyun
442*4882a593Smuzhiyun		tcsr: syscon@1a400000 {
443*4882a593Smuzhiyun			compatible = "qcom,tcsr-ipq8064", "syscon";
444*4882a593Smuzhiyun			reg = <0x1a400000 0x100>;
445*4882a593Smuzhiyun		};
446*4882a593Smuzhiyun
447*4882a593Smuzhiyun		lcc: clock-controller@28000000 {
448*4882a593Smuzhiyun			compatible = "qcom,lcc-ipq8064";
449*4882a593Smuzhiyun			reg = <0x28000000 0x1000>;
450*4882a593Smuzhiyun			#clock-cells = <1>;
451*4882a593Smuzhiyun			#reset-cells = <1>;
452*4882a593Smuzhiyun		};
453*4882a593Smuzhiyun
454*4882a593Smuzhiyun		pcie0: pci@1b500000 {
455*4882a593Smuzhiyun			compatible = "qcom,pcie-ipq8064";
456*4882a593Smuzhiyun			reg = <0x1b500000 0x1000
457*4882a593Smuzhiyun			       0x1b502000 0x80
458*4882a593Smuzhiyun			       0x1b600000 0x100
459*4882a593Smuzhiyun			       0x0ff00000 0x100000>;
460*4882a593Smuzhiyun			reg-names = "dbi", "elbi", "parf", "config";
461*4882a593Smuzhiyun			device_type = "pci";
462*4882a593Smuzhiyun			linux,pci-domain = <0>;
463*4882a593Smuzhiyun			bus-range = <0x00 0xff>;
464*4882a593Smuzhiyun			num-lanes = <1>;
465*4882a593Smuzhiyun			#address-cells = <3>;
466*4882a593Smuzhiyun			#size-cells = <2>;
467*4882a593Smuzhiyun
468*4882a593Smuzhiyun			ranges = <0x81000000 0 0x0fe00000 0x0fe00000 0 0x00100000   /* downstream I/O */
469*4882a593Smuzhiyun				  0x82000000 0 0x08000000 0x08000000 0 0x07e00000>; /* non-prefetchable memory */
470*4882a593Smuzhiyun
471*4882a593Smuzhiyun			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
472*4882a593Smuzhiyun			interrupt-names = "msi";
473*4882a593Smuzhiyun			#interrupt-cells = <1>;
474*4882a593Smuzhiyun			interrupt-map-mask = <0 0 0 0x7>;
475*4882a593Smuzhiyun			interrupt-map = <0 0 0 1 &intc 0 36 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
476*4882a593Smuzhiyun					<0 0 0 2 &intc 0 37 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
477*4882a593Smuzhiyun					<0 0 0 3 &intc 0 38 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
478*4882a593Smuzhiyun					<0 0 0 4 &intc 0 39 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
479*4882a593Smuzhiyun
480*4882a593Smuzhiyun			clocks = <&gcc PCIE_A_CLK>,
481*4882a593Smuzhiyun				 <&gcc PCIE_H_CLK>,
482*4882a593Smuzhiyun				 <&gcc PCIE_PHY_CLK>,
483*4882a593Smuzhiyun				 <&gcc PCIE_AUX_CLK>,
484*4882a593Smuzhiyun				 <&gcc PCIE_ALT_REF_CLK>;
485*4882a593Smuzhiyun			clock-names = "core", "iface", "phy", "aux", "ref";
486*4882a593Smuzhiyun
487*4882a593Smuzhiyun			assigned-clocks = <&gcc PCIE_ALT_REF_CLK>;
488*4882a593Smuzhiyun			assigned-clock-rates = <100000000>;
489*4882a593Smuzhiyun
490*4882a593Smuzhiyun			resets = <&gcc PCIE_ACLK_RESET>,
491*4882a593Smuzhiyun				 <&gcc PCIE_HCLK_RESET>,
492*4882a593Smuzhiyun				 <&gcc PCIE_POR_RESET>,
493*4882a593Smuzhiyun				 <&gcc PCIE_PCI_RESET>,
494*4882a593Smuzhiyun				 <&gcc PCIE_PHY_RESET>,
495*4882a593Smuzhiyun				 <&gcc PCIE_EXT_RESET>;
496*4882a593Smuzhiyun			reset-names = "axi", "ahb", "por", "pci", "phy", "ext";
497*4882a593Smuzhiyun
498*4882a593Smuzhiyun			pinctrl-0 = <&pcie0_pins>;
499*4882a593Smuzhiyun			pinctrl-names = "default";
500*4882a593Smuzhiyun
501*4882a593Smuzhiyun			status = "disabled";
502*4882a593Smuzhiyun			perst-gpio = <&qcom_pinmux 3 GPIO_ACTIVE_LOW>;
503*4882a593Smuzhiyun		};
504*4882a593Smuzhiyun
505*4882a593Smuzhiyun		pcie1: pci@1b700000 {
506*4882a593Smuzhiyun			compatible = "qcom,pcie-ipq8064";
507*4882a593Smuzhiyun			reg = <0x1b700000 0x1000
508*4882a593Smuzhiyun			       0x1b702000 0x80
509*4882a593Smuzhiyun			       0x1b800000 0x100
510*4882a593Smuzhiyun			       0x31f00000 0x100000>;
511*4882a593Smuzhiyun			reg-names = "dbi", "elbi", "parf", "config";
512*4882a593Smuzhiyun			device_type = "pci";
513*4882a593Smuzhiyun			linux,pci-domain = <1>;
514*4882a593Smuzhiyun			bus-range = <0x00 0xff>;
515*4882a593Smuzhiyun			num-lanes = <1>;
516*4882a593Smuzhiyun			#address-cells = <3>;
517*4882a593Smuzhiyun			#size-cells = <2>;
518*4882a593Smuzhiyun
519*4882a593Smuzhiyun			ranges = <0x81000000 0 0x31e00000 0x31e00000 0 0x00100000   /* downstream I/O */
520*4882a593Smuzhiyun				  0x82000000 0 0x2e000000 0x2e000000 0 0x03e00000>; /* non-prefetchable memory */
521*4882a593Smuzhiyun
522*4882a593Smuzhiyun			interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
523*4882a593Smuzhiyun			interrupt-names = "msi";
524*4882a593Smuzhiyun			#interrupt-cells = <1>;
525*4882a593Smuzhiyun			interrupt-map-mask = <0 0 0 0x7>;
526*4882a593Smuzhiyun			interrupt-map = <0 0 0 1 &intc 0 58 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
527*4882a593Smuzhiyun					<0 0 0 2 &intc 0 59 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
528*4882a593Smuzhiyun					<0 0 0 3 &intc 0 60 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
529*4882a593Smuzhiyun					<0 0 0 4 &intc 0 61 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
530*4882a593Smuzhiyun
531*4882a593Smuzhiyun			clocks = <&gcc PCIE_1_A_CLK>,
532*4882a593Smuzhiyun				 <&gcc PCIE_1_H_CLK>,
533*4882a593Smuzhiyun				 <&gcc PCIE_1_PHY_CLK>,
534*4882a593Smuzhiyun				 <&gcc PCIE_1_AUX_CLK>,
535*4882a593Smuzhiyun				 <&gcc PCIE_1_ALT_REF_CLK>;
536*4882a593Smuzhiyun			clock-names = "core", "iface", "phy", "aux", "ref";
537*4882a593Smuzhiyun
538*4882a593Smuzhiyun			assigned-clocks = <&gcc PCIE_1_ALT_REF_CLK>;
539*4882a593Smuzhiyun			assigned-clock-rates = <100000000>;
540*4882a593Smuzhiyun
541*4882a593Smuzhiyun			resets = <&gcc PCIE_1_ACLK_RESET>,
542*4882a593Smuzhiyun				 <&gcc PCIE_1_HCLK_RESET>,
543*4882a593Smuzhiyun				 <&gcc PCIE_1_POR_RESET>,
544*4882a593Smuzhiyun				 <&gcc PCIE_1_PCI_RESET>,
545*4882a593Smuzhiyun				 <&gcc PCIE_1_PHY_RESET>,
546*4882a593Smuzhiyun				 <&gcc PCIE_1_EXT_RESET>;
547*4882a593Smuzhiyun			reset-names = "axi", "ahb", "por", "pci", "phy", "ext";
548*4882a593Smuzhiyun
549*4882a593Smuzhiyun			pinctrl-0 = <&pcie1_pins>;
550*4882a593Smuzhiyun			pinctrl-names = "default";
551*4882a593Smuzhiyun
552*4882a593Smuzhiyun			status = "disabled";
553*4882a593Smuzhiyun			perst-gpio = <&qcom_pinmux 48 GPIO_ACTIVE_LOW>;
554*4882a593Smuzhiyun		};
555*4882a593Smuzhiyun
556*4882a593Smuzhiyun		pcie2: pci@1b900000 {
557*4882a593Smuzhiyun			compatible = "qcom,pcie-ipq8064";
558*4882a593Smuzhiyun			reg = <0x1b900000 0x1000
559*4882a593Smuzhiyun			       0x1b902000 0x80
560*4882a593Smuzhiyun			       0x1ba00000 0x100
561*4882a593Smuzhiyun			       0x35f00000 0x100000>;
562*4882a593Smuzhiyun			reg-names = "dbi", "elbi", "parf", "config";
563*4882a593Smuzhiyun			device_type = "pci";
564*4882a593Smuzhiyun			linux,pci-domain = <2>;
565*4882a593Smuzhiyun			bus-range = <0x00 0xff>;
566*4882a593Smuzhiyun			num-lanes = <1>;
567*4882a593Smuzhiyun			#address-cells = <3>;
568*4882a593Smuzhiyun			#size-cells = <2>;
569*4882a593Smuzhiyun
570*4882a593Smuzhiyun			ranges = <0x81000000 0 0x35e00000 0x35e00000 0 0x00100000   /* downstream I/O */
571*4882a593Smuzhiyun				  0x82000000 0 0x32000000 0x32000000 0 0x03e00000>; /* non-prefetchable memory */
572*4882a593Smuzhiyun
573*4882a593Smuzhiyun			interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
574*4882a593Smuzhiyun			interrupt-names = "msi";
575*4882a593Smuzhiyun			#interrupt-cells = <1>;
576*4882a593Smuzhiyun			interrupt-map-mask = <0 0 0 0x7>;
577*4882a593Smuzhiyun			interrupt-map = <0 0 0 1 &intc 0 72 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
578*4882a593Smuzhiyun					<0 0 0 2 &intc 0 73 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
579*4882a593Smuzhiyun					<0 0 0 3 &intc 0 74 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
580*4882a593Smuzhiyun					<0 0 0 4 &intc 0 75 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
581*4882a593Smuzhiyun
582*4882a593Smuzhiyun			clocks = <&gcc PCIE_2_A_CLK>,
583*4882a593Smuzhiyun				 <&gcc PCIE_2_H_CLK>,
584*4882a593Smuzhiyun				 <&gcc PCIE_2_PHY_CLK>,
585*4882a593Smuzhiyun				 <&gcc PCIE_2_AUX_CLK>,
586*4882a593Smuzhiyun				 <&gcc PCIE_2_ALT_REF_CLK>;
587*4882a593Smuzhiyun			clock-names = "core", "iface", "phy", "aux", "ref";
588*4882a593Smuzhiyun
589*4882a593Smuzhiyun			assigned-clocks = <&gcc PCIE_2_ALT_REF_CLK>;
590*4882a593Smuzhiyun			assigned-clock-rates = <100000000>;
591*4882a593Smuzhiyun
592*4882a593Smuzhiyun			resets = <&gcc PCIE_2_ACLK_RESET>,
593*4882a593Smuzhiyun				 <&gcc PCIE_2_HCLK_RESET>,
594*4882a593Smuzhiyun				 <&gcc PCIE_2_POR_RESET>,
595*4882a593Smuzhiyun				 <&gcc PCIE_2_PCI_RESET>,
596*4882a593Smuzhiyun				 <&gcc PCIE_2_PHY_RESET>,
597*4882a593Smuzhiyun				 <&gcc PCIE_2_EXT_RESET>;
598*4882a593Smuzhiyun			reset-names = "axi", "ahb", "por", "pci", "phy", "ext";
599*4882a593Smuzhiyun
600*4882a593Smuzhiyun			pinctrl-0 = <&pcie2_pins>;
601*4882a593Smuzhiyun			pinctrl-names = "default";
602*4882a593Smuzhiyun
603*4882a593Smuzhiyun			status = "disabled";
604*4882a593Smuzhiyun			perst-gpio = <&qcom_pinmux 63 GPIO_ACTIVE_LOW>;
605*4882a593Smuzhiyun		};
606*4882a593Smuzhiyun
607*4882a593Smuzhiyun		nss_common: syscon@03000000 {
608*4882a593Smuzhiyun			compatible = "syscon";
609*4882a593Smuzhiyun			reg = <0x03000000 0x0000FFFF>;
610*4882a593Smuzhiyun		};
611*4882a593Smuzhiyun
612*4882a593Smuzhiyun		qsgmii_csr: syscon@1bb00000 {
613*4882a593Smuzhiyun			compatible = "syscon";
614*4882a593Smuzhiyun			reg = <0x1bb00000 0x000001FF>;
615*4882a593Smuzhiyun		};
616*4882a593Smuzhiyun
617*4882a593Smuzhiyun		stmmac_axi_setup: stmmac-axi-config {
618*4882a593Smuzhiyun			snps,wr_osr_lmt = <7>;
619*4882a593Smuzhiyun			snps,rd_osr_lmt = <7>;
620*4882a593Smuzhiyun			snps,blen = <16 0 0 0 0 0 0>;
621*4882a593Smuzhiyun		};
622*4882a593Smuzhiyun
623*4882a593Smuzhiyun		gmac0: ethernet@37000000 {
624*4882a593Smuzhiyun			device_type = "network";
625*4882a593Smuzhiyun			compatible = "qcom,ipq806x-gmac";
626*4882a593Smuzhiyun			reg = <0x37000000 0x200000>;
627*4882a593Smuzhiyun			interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>;
628*4882a593Smuzhiyun			interrupt-names = "macirq";
629*4882a593Smuzhiyun
630*4882a593Smuzhiyun			snps,axi-config = <&stmmac_axi_setup>;
631*4882a593Smuzhiyun			snps,pbl = <32>;
632*4882a593Smuzhiyun			snps,aal = <1>;
633*4882a593Smuzhiyun
634*4882a593Smuzhiyun			qcom,nss-common = <&nss_common>;
635*4882a593Smuzhiyun			qcom,qsgmii-csr = <&qsgmii_csr>;
636*4882a593Smuzhiyun
637*4882a593Smuzhiyun			clocks = <&gcc GMAC_CORE1_CLK>;
638*4882a593Smuzhiyun			clock-names = "stmmaceth";
639*4882a593Smuzhiyun
640*4882a593Smuzhiyun			resets = <&gcc GMAC_CORE1_RESET>;
641*4882a593Smuzhiyun			reset-names = "stmmaceth";
642*4882a593Smuzhiyun
643*4882a593Smuzhiyun			status = "disabled";
644*4882a593Smuzhiyun		};
645*4882a593Smuzhiyun
646*4882a593Smuzhiyun		gmac1: ethernet@37200000 {
647*4882a593Smuzhiyun			device_type = "network";
648*4882a593Smuzhiyun			compatible = "qcom,ipq806x-gmac";
649*4882a593Smuzhiyun			reg = <0x37200000 0x200000>;
650*4882a593Smuzhiyun			interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
651*4882a593Smuzhiyun			interrupt-names = "macirq";
652*4882a593Smuzhiyun
653*4882a593Smuzhiyun			snps,axi-config = <&stmmac_axi_setup>;
654*4882a593Smuzhiyun			snps,pbl = <32>;
655*4882a593Smuzhiyun			snps,aal = <1>;
656*4882a593Smuzhiyun
657*4882a593Smuzhiyun			qcom,nss-common = <&nss_common>;
658*4882a593Smuzhiyun			qcom,qsgmii-csr = <&qsgmii_csr>;
659*4882a593Smuzhiyun
660*4882a593Smuzhiyun			clocks = <&gcc GMAC_CORE2_CLK>;
661*4882a593Smuzhiyun			clock-names = "stmmaceth";
662*4882a593Smuzhiyun
663*4882a593Smuzhiyun			resets = <&gcc GMAC_CORE2_RESET>;
664*4882a593Smuzhiyun			reset-names = "stmmaceth";
665*4882a593Smuzhiyun
666*4882a593Smuzhiyun			status = "disabled";
667*4882a593Smuzhiyun		};
668*4882a593Smuzhiyun
669*4882a593Smuzhiyun		gmac2: ethernet@37400000 {
670*4882a593Smuzhiyun			device_type = "network";
671*4882a593Smuzhiyun			compatible = "qcom,ipq806x-gmac";
672*4882a593Smuzhiyun			reg = <0x37400000 0x200000>;
673*4882a593Smuzhiyun			interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>;
674*4882a593Smuzhiyun			interrupt-names = "macirq";
675*4882a593Smuzhiyun
676*4882a593Smuzhiyun			snps,axi-config = <&stmmac_axi_setup>;
677*4882a593Smuzhiyun			snps,pbl = <32>;
678*4882a593Smuzhiyun			snps,aal = <1>;
679*4882a593Smuzhiyun
680*4882a593Smuzhiyun			qcom,nss-common = <&nss_common>;
681*4882a593Smuzhiyun			qcom,qsgmii-csr = <&qsgmii_csr>;
682*4882a593Smuzhiyun
683*4882a593Smuzhiyun			clocks = <&gcc GMAC_CORE3_CLK>;
684*4882a593Smuzhiyun			clock-names = "stmmaceth";
685*4882a593Smuzhiyun
686*4882a593Smuzhiyun			resets = <&gcc GMAC_CORE3_RESET>;
687*4882a593Smuzhiyun			reset-names = "stmmaceth";
688*4882a593Smuzhiyun
689*4882a593Smuzhiyun			status = "disabled";
690*4882a593Smuzhiyun		};
691*4882a593Smuzhiyun
692*4882a593Smuzhiyun		gmac3: ethernet@37600000 {
693*4882a593Smuzhiyun			device_type = "network";
694*4882a593Smuzhiyun			compatible = "qcom,ipq806x-gmac";
695*4882a593Smuzhiyun			reg = <0x37600000 0x200000>;
696*4882a593Smuzhiyun			interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>;
697*4882a593Smuzhiyun			interrupt-names = "macirq";
698*4882a593Smuzhiyun
699*4882a593Smuzhiyun			snps,axi-config = <&stmmac_axi_setup>;
700*4882a593Smuzhiyun			snps,pbl = <32>;
701*4882a593Smuzhiyun			snps,aal = <1>;
702*4882a593Smuzhiyun
703*4882a593Smuzhiyun			qcom,nss-common = <&nss_common>;
704*4882a593Smuzhiyun			qcom,qsgmii-csr = <&qsgmii_csr>;
705*4882a593Smuzhiyun
706*4882a593Smuzhiyun			clocks = <&gcc GMAC_CORE4_CLK>;
707*4882a593Smuzhiyun			clock-names = "stmmaceth";
708*4882a593Smuzhiyun
709*4882a593Smuzhiyun			resets = <&gcc GMAC_CORE4_RESET>;
710*4882a593Smuzhiyun			reset-names = "stmmaceth";
711*4882a593Smuzhiyun
712*4882a593Smuzhiyun			status = "disabled";
713*4882a593Smuzhiyun		};
714*4882a593Smuzhiyun
715*4882a593Smuzhiyun		vsdcc_fixed: vsdcc-regulator {
716*4882a593Smuzhiyun			compatible = "regulator-fixed";
717*4882a593Smuzhiyun			regulator-name = "SDCC Power";
718*4882a593Smuzhiyun			regulator-min-microvolt = <3300000>;
719*4882a593Smuzhiyun			regulator-max-microvolt = <3300000>;
720*4882a593Smuzhiyun			regulator-always-on;
721*4882a593Smuzhiyun		};
722*4882a593Smuzhiyun
723*4882a593Smuzhiyun		sdcc1bam:dma@12402000 {
724*4882a593Smuzhiyun			compatible = "qcom,bam-v1.3.0";
725*4882a593Smuzhiyun			reg = <0x12402000 0x8000>;
726*4882a593Smuzhiyun			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
727*4882a593Smuzhiyun			clocks = <&gcc SDC1_H_CLK>;
728*4882a593Smuzhiyun			clock-names = "bam_clk";
729*4882a593Smuzhiyun			#dma-cells = <1>;
730*4882a593Smuzhiyun			qcom,ee = <0>;
731*4882a593Smuzhiyun		};
732*4882a593Smuzhiyun
733*4882a593Smuzhiyun		sdcc3bam:dma@12182000 {
734*4882a593Smuzhiyun			compatible = "qcom,bam-v1.3.0";
735*4882a593Smuzhiyun			reg = <0x12182000 0x8000>;
736*4882a593Smuzhiyun			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
737*4882a593Smuzhiyun			clocks = <&gcc SDC3_H_CLK>;
738*4882a593Smuzhiyun			clock-names = "bam_clk";
739*4882a593Smuzhiyun			#dma-cells = <1>;
740*4882a593Smuzhiyun			qcom,ee = <0>;
741*4882a593Smuzhiyun		};
742*4882a593Smuzhiyun
743*4882a593Smuzhiyun		amba {
744*4882a593Smuzhiyun			compatible = "simple-bus";
745*4882a593Smuzhiyun			#address-cells = <1>;
746*4882a593Smuzhiyun			#size-cells = <1>;
747*4882a593Smuzhiyun			ranges;
748*4882a593Smuzhiyun
749*4882a593Smuzhiyun			sdcc@12400000 {
750*4882a593Smuzhiyun				status          = "disabled";
751*4882a593Smuzhiyun				compatible      = "arm,pl18x", "arm,primecell";
752*4882a593Smuzhiyun				arm,primecell-periphid = <0x00051180>;
753*4882a593Smuzhiyun				reg             = <0x12400000 0x2000>;
754*4882a593Smuzhiyun				interrupts      = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
755*4882a593Smuzhiyun				interrupt-names = "cmd_irq";
756*4882a593Smuzhiyun				clocks          = <&gcc SDC1_CLK>, <&gcc SDC1_H_CLK>;
757*4882a593Smuzhiyun				clock-names     = "mclk", "apb_pclk";
758*4882a593Smuzhiyun				bus-width       = <8>;
759*4882a593Smuzhiyun				max-frequency   = <96000000>;
760*4882a593Smuzhiyun				non-removable;
761*4882a593Smuzhiyun				cap-sd-highspeed;
762*4882a593Smuzhiyun				cap-mmc-highspeed;
763*4882a593Smuzhiyun				mmc-ddr-1_8v;
764*4882a593Smuzhiyun				vmmc-supply = <&vsdcc_fixed>;
765*4882a593Smuzhiyun				dmas = <&sdcc1bam 2>, <&sdcc1bam 1>;
766*4882a593Smuzhiyun				dma-names = "tx", "rx";
767*4882a593Smuzhiyun			};
768*4882a593Smuzhiyun
769*4882a593Smuzhiyun			sdcc@12180000 {
770*4882a593Smuzhiyun				compatible      = "arm,pl18x", "arm,primecell";
771*4882a593Smuzhiyun				arm,primecell-periphid = <0x00051180>;
772*4882a593Smuzhiyun				status          = "disabled";
773*4882a593Smuzhiyun				reg             = <0x12180000 0x2000>;
774*4882a593Smuzhiyun				interrupts      = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
775*4882a593Smuzhiyun				interrupt-names = "cmd_irq";
776*4882a593Smuzhiyun				clocks          = <&gcc SDC3_CLK>, <&gcc SDC3_H_CLK>;
777*4882a593Smuzhiyun				clock-names     = "mclk", "apb_pclk";
778*4882a593Smuzhiyun				bus-width       = <8>;
779*4882a593Smuzhiyun				cap-sd-highspeed;
780*4882a593Smuzhiyun				cap-mmc-highspeed;
781*4882a593Smuzhiyun				max-frequency   = <192000000>;
782*4882a593Smuzhiyun				#mmc-ddr-1_8v;
783*4882a593Smuzhiyun				sd-uhs-sdr104;
784*4882a593Smuzhiyun				sd-uhs-ddr50;
785*4882a593Smuzhiyun				vqmmc-supply = <&vsdcc_fixed>;
786*4882a593Smuzhiyun				dmas = <&sdcc3bam 2>, <&sdcc3bam 1>;
787*4882a593Smuzhiyun				dma-names = "tx", "rx";
788*4882a593Smuzhiyun			};
789*4882a593Smuzhiyun		};
790*4882a593Smuzhiyun	};
791*4882a593Smuzhiyun};
792