xref: /freebsd/sys/contrib/device-tree/src/arm/qcom/qcom-msm8960.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*f126890aSEmmanuel Vadot/dts-v1/;
3*f126890aSEmmanuel Vadot
4*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
5*f126890aSEmmanuel Vadot#include <dt-bindings/clock/qcom,gcc-msm8960.h>
6*f126890aSEmmanuel Vadot#include <dt-bindings/reset/qcom,gcc-msm8960.h>
7*f126890aSEmmanuel Vadot#include <dt-bindings/clock/qcom,lcc-msm8960.h>
8*f126890aSEmmanuel Vadot#include <dt-bindings/mfd/qcom-rpm.h>
9*f126890aSEmmanuel Vadot#include <dt-bindings/soc/qcom,gsbi.h>
10*f126890aSEmmanuel Vadot
11*f126890aSEmmanuel Vadot/ {
12*f126890aSEmmanuel Vadot	#address-cells = <1>;
13*f126890aSEmmanuel Vadot	#size-cells = <1>;
14*f126890aSEmmanuel Vadot	model = "Qualcomm MSM8960";
15*f126890aSEmmanuel Vadot	compatible = "qcom,msm8960";
16*f126890aSEmmanuel Vadot	interrupt-parent = <&intc>;
17*f126890aSEmmanuel Vadot
18*f126890aSEmmanuel Vadot	cpus {
19*f126890aSEmmanuel Vadot		#address-cells = <1>;
20*f126890aSEmmanuel Vadot		#size-cells = <0>;
21*f126890aSEmmanuel Vadot		interrupts = <GIC_PPI 14 0x304>;
22*f126890aSEmmanuel Vadot
23*f126890aSEmmanuel Vadot		cpu@0 {
24*f126890aSEmmanuel Vadot			compatible = "qcom,krait";
25*f126890aSEmmanuel Vadot			enable-method = "qcom,kpss-acc-v1";
26*f126890aSEmmanuel Vadot			device_type = "cpu";
27*f126890aSEmmanuel Vadot			reg = <0>;
28*f126890aSEmmanuel Vadot			next-level-cache = <&L2>;
29*f126890aSEmmanuel Vadot			qcom,acc = <&acc0>;
30*f126890aSEmmanuel Vadot			qcom,saw = <&saw0>;
31*f126890aSEmmanuel Vadot		};
32*f126890aSEmmanuel Vadot
33*f126890aSEmmanuel Vadot		cpu@1 {
34*f126890aSEmmanuel Vadot			compatible = "qcom,krait";
35*f126890aSEmmanuel Vadot			enable-method = "qcom,kpss-acc-v1";
36*f126890aSEmmanuel Vadot			device_type = "cpu";
37*f126890aSEmmanuel Vadot			reg = <1>;
38*f126890aSEmmanuel Vadot			next-level-cache = <&L2>;
39*f126890aSEmmanuel Vadot			qcom,acc = <&acc1>;
40*f126890aSEmmanuel Vadot			qcom,saw = <&saw1>;
41*f126890aSEmmanuel Vadot		};
42*f126890aSEmmanuel Vadot
43*f126890aSEmmanuel Vadot		L2: l2-cache {
44*f126890aSEmmanuel Vadot			compatible = "cache";
45*f126890aSEmmanuel Vadot			cache-level = <2>;
46*f126890aSEmmanuel Vadot			cache-unified;
47*f126890aSEmmanuel Vadot		};
48*f126890aSEmmanuel Vadot	};
49*f126890aSEmmanuel Vadot
50*f126890aSEmmanuel Vadot	memory {
51*f126890aSEmmanuel Vadot		device_type = "memory";
52*f126890aSEmmanuel Vadot		reg = <0x0 0x0>;
53*f126890aSEmmanuel Vadot	};
54*f126890aSEmmanuel Vadot
55*f126890aSEmmanuel Vadot	cpu-pmu {
56*f126890aSEmmanuel Vadot		compatible = "qcom,krait-pmu";
57*f126890aSEmmanuel Vadot		interrupts = <GIC_PPI 10 0x304>;
58*f126890aSEmmanuel Vadot		qcom,no-pc-write;
59*f126890aSEmmanuel Vadot	};
60*f126890aSEmmanuel Vadot
61*f126890aSEmmanuel Vadot	clocks {
62*f126890aSEmmanuel Vadot		cxo_board: cxo_board {
63*f126890aSEmmanuel Vadot			compatible = "fixed-clock";
64*f126890aSEmmanuel Vadot			#clock-cells = <0>;
65*f126890aSEmmanuel Vadot			clock-frequency = <19200000>;
66*f126890aSEmmanuel Vadot			clock-output-names = "cxo_board";
67*f126890aSEmmanuel Vadot		};
68*f126890aSEmmanuel Vadot
69*f126890aSEmmanuel Vadot		pxo_board: pxo_board {
70*f126890aSEmmanuel Vadot			compatible = "fixed-clock";
71*f126890aSEmmanuel Vadot			#clock-cells = <0>;
72*f126890aSEmmanuel Vadot			clock-frequency = <27000000>;
73*f126890aSEmmanuel Vadot			clock-output-names = "pxo_board";
74*f126890aSEmmanuel Vadot		};
75*f126890aSEmmanuel Vadot
76*f126890aSEmmanuel Vadot		sleep_clk: sleep_clk {
77*f126890aSEmmanuel Vadot			compatible = "fixed-clock";
78*f126890aSEmmanuel Vadot			#clock-cells = <0>;
79*f126890aSEmmanuel Vadot			clock-frequency = <32768>;
80*f126890aSEmmanuel Vadot			clock-output-names = "sleep_clk";
81*f126890aSEmmanuel Vadot		};
82*f126890aSEmmanuel Vadot	};
83*f126890aSEmmanuel Vadot
84*f126890aSEmmanuel Vadot	/* Temporary fixed regulator */
85*f126890aSEmmanuel Vadot	vsdcc_fixed: vsdcc-regulator {
86*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
87*f126890aSEmmanuel Vadot		regulator-name = "SDCC Power";
88*f126890aSEmmanuel Vadot		regulator-min-microvolt = <2700000>;
89*f126890aSEmmanuel Vadot		regulator-max-microvolt = <2700000>;
90*f126890aSEmmanuel Vadot		regulator-always-on;
91*f126890aSEmmanuel Vadot	};
92*f126890aSEmmanuel Vadot
93*f126890aSEmmanuel Vadot	soc: soc {
94*f126890aSEmmanuel Vadot		#address-cells = <1>;
95*f126890aSEmmanuel Vadot		#size-cells = <1>;
96*f126890aSEmmanuel Vadot		ranges;
97*f126890aSEmmanuel Vadot		compatible = "simple-bus";
98*f126890aSEmmanuel Vadot
99*f126890aSEmmanuel Vadot		intc: interrupt-controller@2000000 {
100*f126890aSEmmanuel Vadot			compatible = "qcom,msm-qgic2";
101*f126890aSEmmanuel Vadot			interrupt-controller;
102*f126890aSEmmanuel Vadot			#interrupt-cells = <3>;
103*f126890aSEmmanuel Vadot			reg = <0x02000000 0x1000>,
104*f126890aSEmmanuel Vadot			      <0x02002000 0x1000>;
105*f126890aSEmmanuel Vadot		};
106*f126890aSEmmanuel Vadot
107*f126890aSEmmanuel Vadot		timer@200a000 {
108*f126890aSEmmanuel Vadot			compatible = "qcom,kpss-wdt-msm8960", "qcom,kpss-timer",
109*f126890aSEmmanuel Vadot				     "qcom,msm-timer";
110*f126890aSEmmanuel Vadot			interrupts = <GIC_PPI 1 0x301>,
111*f126890aSEmmanuel Vadot				     <GIC_PPI 2 0x301>,
112*f126890aSEmmanuel Vadot				     <GIC_PPI 3 0x301>;
113*f126890aSEmmanuel Vadot			reg = <0x0200a000 0x100>;
114*f126890aSEmmanuel Vadot			clock-frequency = <27000000>;
115*f126890aSEmmanuel Vadot			cpu-offset = <0x80000>;
116*f126890aSEmmanuel Vadot		};
117*f126890aSEmmanuel Vadot
118*f126890aSEmmanuel Vadot		msmgpio: pinctrl@800000 {
119*f126890aSEmmanuel Vadot			compatible = "qcom,msm8960-pinctrl";
120*f126890aSEmmanuel Vadot			gpio-controller;
121*f126890aSEmmanuel Vadot			gpio-ranges = <&msmgpio 0 0 152>;
122*f126890aSEmmanuel Vadot			#gpio-cells = <2>;
123*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
124*f126890aSEmmanuel Vadot			interrupt-controller;
125*f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
126*f126890aSEmmanuel Vadot			reg = <0x800000 0x4000>;
127*f126890aSEmmanuel Vadot		};
128*f126890aSEmmanuel Vadot
129*f126890aSEmmanuel Vadot		gcc: clock-controller@900000 {
130*f126890aSEmmanuel Vadot			compatible = "qcom,gcc-msm8960";
131*f126890aSEmmanuel Vadot			#clock-cells = <1>;
132*f126890aSEmmanuel Vadot			#power-domain-cells = <1>;
133*f126890aSEmmanuel Vadot			#reset-cells = <1>;
134*f126890aSEmmanuel Vadot			reg = <0x900000 0x4000>;
135*f126890aSEmmanuel Vadot			clocks = <&cxo_board>,
136*f126890aSEmmanuel Vadot				 <&pxo_board>,
137*f126890aSEmmanuel Vadot				 <&lcc PLL4>;
138*f126890aSEmmanuel Vadot			clock-names = "cxo", "pxo", "pll4";
139*f126890aSEmmanuel Vadot		};
140*f126890aSEmmanuel Vadot
141*f126890aSEmmanuel Vadot		lcc: clock-controller@28000000 {
142*f126890aSEmmanuel Vadot			compatible = "qcom,lcc-msm8960";
143*f126890aSEmmanuel Vadot			reg = <0x28000000 0x1000>;
144*f126890aSEmmanuel Vadot			#clock-cells = <1>;
145*f126890aSEmmanuel Vadot			#reset-cells = <1>;
146*f126890aSEmmanuel Vadot			clocks = <&pxo_board>,
147*f126890aSEmmanuel Vadot				 <&gcc PLL4_VOTE>,
148*f126890aSEmmanuel Vadot				 <0>,
149*f126890aSEmmanuel Vadot				 <0>, <0>,
150*f126890aSEmmanuel Vadot				 <0>, <0>,
151*f126890aSEmmanuel Vadot				 <0>;
152*f126890aSEmmanuel Vadot			clock-names = "pxo",
153*f126890aSEmmanuel Vadot				      "pll4_vote",
154*f126890aSEmmanuel Vadot				      "mi2s_codec_clk",
155*f126890aSEmmanuel Vadot				      "codec_i2s_mic_codec_clk",
156*f126890aSEmmanuel Vadot				      "spare_i2s_mic_codec_clk",
157*f126890aSEmmanuel Vadot				      "codec_i2s_spkr_codec_clk",
158*f126890aSEmmanuel Vadot				      "spare_i2s_spkr_codec_clk",
159*f126890aSEmmanuel Vadot				      "pcm_codec_clk";
160*f126890aSEmmanuel Vadot		};
161*f126890aSEmmanuel Vadot
162*f126890aSEmmanuel Vadot		clock-controller@4000000 {
163*f126890aSEmmanuel Vadot			compatible = "qcom,mmcc-msm8960";
164*f126890aSEmmanuel Vadot			reg = <0x4000000 0x1000>;
165*f126890aSEmmanuel Vadot			#clock-cells = <1>;
166*f126890aSEmmanuel Vadot			#power-domain-cells = <1>;
167*f126890aSEmmanuel Vadot			#reset-cells = <1>;
168*f126890aSEmmanuel Vadot			clocks = <&pxo_board>,
169*f126890aSEmmanuel Vadot				 <&gcc PLL3>,
170*f126890aSEmmanuel Vadot				 <&gcc PLL8_VOTE>,
171*f126890aSEmmanuel Vadot				 <0>,
172*f126890aSEmmanuel Vadot				 <0>,
173*f126890aSEmmanuel Vadot				 <0>,
174*f126890aSEmmanuel Vadot				 <0>,
175*f126890aSEmmanuel Vadot				 <0>;
176*f126890aSEmmanuel Vadot			clock-names = "pxo",
177*f126890aSEmmanuel Vadot				      "pll3",
178*f126890aSEmmanuel Vadot				      "pll8_vote",
179*f126890aSEmmanuel Vadot				      "dsi1pll",
180*f126890aSEmmanuel Vadot				      "dsi1pllbyte",
181*f126890aSEmmanuel Vadot				      "dsi2pll",
182*f126890aSEmmanuel Vadot				      "dsi2pllbyte",
183*f126890aSEmmanuel Vadot				      "hdmipll";
184*f126890aSEmmanuel Vadot		};
185*f126890aSEmmanuel Vadot
186*f126890aSEmmanuel Vadot		l2cc: clock-controller@2011000 {
187*f126890aSEmmanuel Vadot			compatible = "qcom,kpss-gcc-msm8960", "qcom,kpss-gcc", "syscon";
188*f126890aSEmmanuel Vadot			reg = <0x2011000 0x1000>;
189*f126890aSEmmanuel Vadot			clocks = <&gcc PLL8_VOTE>, <&pxo_board>;
190*f126890aSEmmanuel Vadot			clock-names = "pll8_vote", "pxo";
191*f126890aSEmmanuel Vadot			#clock-cells = <0>;
192*f126890aSEmmanuel Vadot		};
193*f126890aSEmmanuel Vadot
194*f126890aSEmmanuel Vadot		rpm: rpm@108000 {
195*f126890aSEmmanuel Vadot			compatible = "qcom,rpm-msm8960";
196*f126890aSEmmanuel Vadot			reg = <0x108000 0x1000>;
197*f126890aSEmmanuel Vadot			qcom,ipc = <&l2cc 0x8 2>;
198*f126890aSEmmanuel Vadot
199*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 19 IRQ_TYPE_EDGE_RISING>,
200*f126890aSEmmanuel Vadot				     <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>,
201*f126890aSEmmanuel Vadot				     <GIC_SPI 22 IRQ_TYPE_EDGE_RISING>;
202*f126890aSEmmanuel Vadot			interrupt-names = "ack", "err", "wakeup";
203*f126890aSEmmanuel Vadot
204*f126890aSEmmanuel Vadot			regulators {
205*f126890aSEmmanuel Vadot				compatible = "qcom,rpm-pm8921-regulators";
206*f126890aSEmmanuel Vadot			};
207*f126890aSEmmanuel Vadot		};
208*f126890aSEmmanuel Vadot
209*f126890aSEmmanuel Vadot		acc0: clock-controller@2088000 {
210*f126890aSEmmanuel Vadot			compatible = "qcom,kpss-acc-v1";
211*f126890aSEmmanuel Vadot			reg = <0x02088000 0x1000>, <0x02008000 0x1000>;
212*f126890aSEmmanuel Vadot			clocks = <&gcc PLL8_VOTE>, <&pxo_board>;
213*f126890aSEmmanuel Vadot			clock-names = "pll8_vote", "pxo";
214*f126890aSEmmanuel Vadot			clock-output-names = "acpu0_aux";
215*f126890aSEmmanuel Vadot			#clock-cells = <0>;
216*f126890aSEmmanuel Vadot		};
217*f126890aSEmmanuel Vadot
218*f126890aSEmmanuel Vadot		acc1: clock-controller@2098000 {
219*f126890aSEmmanuel Vadot			compatible = "qcom,kpss-acc-v1";
220*f126890aSEmmanuel Vadot			reg = <0x02098000 0x1000>, <0x02008000 0x1000>;
221*f126890aSEmmanuel Vadot			clocks = <&gcc PLL8_VOTE>, <&pxo_board>;
222*f126890aSEmmanuel Vadot			clock-names = "pll8_vote", "pxo";
223*f126890aSEmmanuel Vadot			clock-output-names = "acpu1_aux";
224*f126890aSEmmanuel Vadot			#clock-cells = <0>;
225*f126890aSEmmanuel Vadot		};
226*f126890aSEmmanuel Vadot
227*f126890aSEmmanuel Vadot		saw0: regulator@2089000 {
228*f126890aSEmmanuel Vadot			compatible = "qcom,saw2";
229*f126890aSEmmanuel Vadot			reg = <0x02089000 0x1000>, <0x02009000 0x1000>;
230*f126890aSEmmanuel Vadot			regulator;
231*f126890aSEmmanuel Vadot		};
232*f126890aSEmmanuel Vadot
233*f126890aSEmmanuel Vadot		saw1: regulator@2099000 {
234*f126890aSEmmanuel Vadot			compatible = "qcom,saw2";
235*f126890aSEmmanuel Vadot			reg = <0x02099000 0x1000>, <0x02009000 0x1000>;
236*f126890aSEmmanuel Vadot			regulator;
237*f126890aSEmmanuel Vadot		};
238*f126890aSEmmanuel Vadot
239*f126890aSEmmanuel Vadot		gsbi5: gsbi@16400000 {
240*f126890aSEmmanuel Vadot			compatible = "qcom,gsbi-v1.0.0";
241*f126890aSEmmanuel Vadot			cell-index = <5>;
242*f126890aSEmmanuel Vadot			reg = <0x16400000 0x100>;
243*f126890aSEmmanuel Vadot			clocks = <&gcc GSBI5_H_CLK>;
244*f126890aSEmmanuel Vadot			clock-names = "iface";
245*f126890aSEmmanuel Vadot			#address-cells = <1>;
246*f126890aSEmmanuel Vadot			#size-cells = <1>;
247*f126890aSEmmanuel Vadot			ranges;
248*f126890aSEmmanuel Vadot
249*f126890aSEmmanuel Vadot			syscon-tcsr = <&tcsr>;
250*f126890aSEmmanuel Vadot
251*f126890aSEmmanuel Vadot			gsbi5_serial: serial@16440000 {
252*f126890aSEmmanuel Vadot				compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
253*f126890aSEmmanuel Vadot				reg = <0x16440000 0x1000>,
254*f126890aSEmmanuel Vadot				      <0x16400000 0x1000>;
255*f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
256*f126890aSEmmanuel Vadot				clocks = <&gcc GSBI5_UART_CLK>, <&gcc GSBI5_H_CLK>;
257*f126890aSEmmanuel Vadot				clock-names = "core", "iface";
258*f126890aSEmmanuel Vadot				status = "disabled";
259*f126890aSEmmanuel Vadot			};
260*f126890aSEmmanuel Vadot		};
261*f126890aSEmmanuel Vadot
262*f126890aSEmmanuel Vadot		ssbi@500000 {
263*f126890aSEmmanuel Vadot			compatible = "qcom,ssbi";
264*f126890aSEmmanuel Vadot			reg = <0x500000 0x1000>;
265*f126890aSEmmanuel Vadot			qcom,controller-type = "pmic-arbiter";
266*f126890aSEmmanuel Vadot
267*f126890aSEmmanuel Vadot			pmicintc: pmic {
268*f126890aSEmmanuel Vadot				compatible = "qcom,pm8921";
269*f126890aSEmmanuel Vadot				interrupt-parent = <&msmgpio>;
270*f126890aSEmmanuel Vadot				interrupts = <104 IRQ_TYPE_LEVEL_LOW>;
271*f126890aSEmmanuel Vadot				#interrupt-cells = <2>;
272*f126890aSEmmanuel Vadot				interrupt-controller;
273*f126890aSEmmanuel Vadot				#address-cells = <1>;
274*f126890aSEmmanuel Vadot				#size-cells = <0>;
275*f126890aSEmmanuel Vadot
276*f126890aSEmmanuel Vadot				pwrkey@1c {
277*f126890aSEmmanuel Vadot					compatible = "qcom,pm8921-pwrkey";
278*f126890aSEmmanuel Vadot					reg = <0x1c>;
279*f126890aSEmmanuel Vadot					interrupt-parent = <&pmicintc>;
280*f126890aSEmmanuel Vadot					interrupts = <50 IRQ_TYPE_EDGE_RISING>,
281*f126890aSEmmanuel Vadot						     <51 IRQ_TYPE_EDGE_RISING>;
282*f126890aSEmmanuel Vadot					debounce = <15625>;
283*f126890aSEmmanuel Vadot					pull-up;
284*f126890aSEmmanuel Vadot				};
285*f126890aSEmmanuel Vadot
286*f126890aSEmmanuel Vadot				keypad@148 {
287*f126890aSEmmanuel Vadot					compatible = "qcom,pm8921-keypad";
288*f126890aSEmmanuel Vadot					reg = <0x148>;
289*f126890aSEmmanuel Vadot					interrupt-parent = <&pmicintc>;
290*f126890aSEmmanuel Vadot					interrupts = <74 IRQ_TYPE_EDGE_RISING>,
291*f126890aSEmmanuel Vadot						     <75 IRQ_TYPE_EDGE_RISING>;
292*f126890aSEmmanuel Vadot					debounce = <15>;
293*f126890aSEmmanuel Vadot					scan-delay = <32>;
294*f126890aSEmmanuel Vadot					row-hold = <91500>;
295*f126890aSEmmanuel Vadot				};
296*f126890aSEmmanuel Vadot
297*f126890aSEmmanuel Vadot				rtc@11d {
298*f126890aSEmmanuel Vadot					compatible = "qcom,pm8921-rtc";
299*f126890aSEmmanuel Vadot					interrupt-parent = <&pmicintc>;
300*f126890aSEmmanuel Vadot					interrupts = <39 IRQ_TYPE_EDGE_RISING>;
301*f126890aSEmmanuel Vadot					reg = <0x11d>;
302*f126890aSEmmanuel Vadot					allow-set-time;
303*f126890aSEmmanuel Vadot				};
304*f126890aSEmmanuel Vadot			};
305*f126890aSEmmanuel Vadot		};
306*f126890aSEmmanuel Vadot
307*f126890aSEmmanuel Vadot		rng@1a500000 {
308*f126890aSEmmanuel Vadot			compatible = "qcom,prng";
309*f126890aSEmmanuel Vadot			reg = <0x1a500000 0x200>;
310*f126890aSEmmanuel Vadot			clocks = <&gcc PRNG_CLK>;
311*f126890aSEmmanuel Vadot			clock-names = "core";
312*f126890aSEmmanuel Vadot		};
313*f126890aSEmmanuel Vadot
314*f126890aSEmmanuel Vadot		sdcc3: mmc@12180000 {
315*f126890aSEmmanuel Vadot			compatible = "arm,pl18x", "arm,primecell";
316*f126890aSEmmanuel Vadot			arm,primecell-periphid = <0x00051180>;
317*f126890aSEmmanuel Vadot			status = "disabled";
318*f126890aSEmmanuel Vadot			reg = <0x12180000 0x8000>;
319*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
320*f126890aSEmmanuel Vadot			clocks = <&gcc SDC3_CLK>, <&gcc SDC3_H_CLK>;
321*f126890aSEmmanuel Vadot			clock-names = "mclk", "apb_pclk";
322*f126890aSEmmanuel Vadot			bus-width = <4>;
323*f126890aSEmmanuel Vadot			cap-sd-highspeed;
324*f126890aSEmmanuel Vadot			cap-mmc-highspeed;
325*f126890aSEmmanuel Vadot			max-frequency = <192000000>;
326*f126890aSEmmanuel Vadot			no-1-8-v;
327*f126890aSEmmanuel Vadot			vmmc-supply = <&vsdcc_fixed>;
328*f126890aSEmmanuel Vadot		};
329*f126890aSEmmanuel Vadot
330*f126890aSEmmanuel Vadot		sdcc1: mmc@12400000 {
331*f126890aSEmmanuel Vadot			status = "disabled";
332*f126890aSEmmanuel Vadot			compatible = "arm,pl18x", "arm,primecell";
333*f126890aSEmmanuel Vadot			arm,primecell-periphid = <0x00051180>;
334*f126890aSEmmanuel Vadot			reg = <0x12400000 0x8000>;
335*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
336*f126890aSEmmanuel Vadot			clocks = <&gcc SDC1_CLK>, <&gcc SDC1_H_CLK>;
337*f126890aSEmmanuel Vadot			clock-names = "mclk", "apb_pclk";
338*f126890aSEmmanuel Vadot			bus-width = <8>;
339*f126890aSEmmanuel Vadot			max-frequency = <96000000>;
340*f126890aSEmmanuel Vadot			non-removable;
341*f126890aSEmmanuel Vadot			cap-sd-highspeed;
342*f126890aSEmmanuel Vadot			cap-mmc-highspeed;
343*f126890aSEmmanuel Vadot			vmmc-supply = <&vsdcc_fixed>;
344*f126890aSEmmanuel Vadot		};
345*f126890aSEmmanuel Vadot
346*f126890aSEmmanuel Vadot		tcsr: syscon@1a400000 {
347*f126890aSEmmanuel Vadot			compatible = "qcom,tcsr-msm8960", "syscon";
348*f126890aSEmmanuel Vadot			reg = <0x1a400000 0x100>;
349*f126890aSEmmanuel Vadot		};
350*f126890aSEmmanuel Vadot
351*f126890aSEmmanuel Vadot		gsbi1: gsbi@16000000 {
352*f126890aSEmmanuel Vadot			compatible = "qcom,gsbi-v1.0.0";
353*f126890aSEmmanuel Vadot			cell-index = <1>;
354*f126890aSEmmanuel Vadot			reg = <0x16000000 0x100>;
355*f126890aSEmmanuel Vadot			clocks = <&gcc GSBI1_H_CLK>;
356*f126890aSEmmanuel Vadot			clock-names = "iface";
357*f126890aSEmmanuel Vadot			#address-cells = <1>;
358*f126890aSEmmanuel Vadot			#size-cells = <1>;
359*f126890aSEmmanuel Vadot			ranges;
360*f126890aSEmmanuel Vadot
361*f126890aSEmmanuel Vadot			gsbi1_spi: spi@16080000 {
362*f126890aSEmmanuel Vadot				compatible = "qcom,spi-qup-v1.1.1";
363*f126890aSEmmanuel Vadot				#address-cells = <1>;
364*f126890aSEmmanuel Vadot				#size-cells = <0>;
365*f126890aSEmmanuel Vadot				reg = <0x16080000 0x1000>;
366*f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
367*f126890aSEmmanuel Vadot				spi-max-frequency = <24000000>;
368*f126890aSEmmanuel Vadot				cs-gpios = <&msmgpio 8 0>;
369*f126890aSEmmanuel Vadot
370*f126890aSEmmanuel Vadot				clocks = <&gcc GSBI1_QUP_CLK>, <&gcc GSBI1_H_CLK>;
371*f126890aSEmmanuel Vadot				clock-names = "core", "iface";
372*f126890aSEmmanuel Vadot				status = "disabled";
373*f126890aSEmmanuel Vadot			};
374*f126890aSEmmanuel Vadot		};
375*f126890aSEmmanuel Vadot
376*f126890aSEmmanuel Vadot		usb1: usb@12500000 {
377*f126890aSEmmanuel Vadot			compatible = "qcom,ci-hdrc";
378*f126890aSEmmanuel Vadot			reg = <0x12500000 0x200>,
379*f126890aSEmmanuel Vadot			      <0x12500200 0x200>;
380*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
381*f126890aSEmmanuel Vadot			clocks = <&gcc USB_HS1_XCVR_CLK>, <&gcc USB_HS1_H_CLK>;
382*f126890aSEmmanuel Vadot			clock-names = "core", "iface";
383*f126890aSEmmanuel Vadot			assigned-clocks = <&gcc USB_HS1_XCVR_CLK>;
384*f126890aSEmmanuel Vadot			assigned-clock-rates = <60000000>;
385*f126890aSEmmanuel Vadot			resets = <&gcc USB_HS1_RESET>;
386*f126890aSEmmanuel Vadot			reset-names = "core";
387*f126890aSEmmanuel Vadot			phy_type = "ulpi";
388*f126890aSEmmanuel Vadot			ahb-burst-config = <0>;
389*f126890aSEmmanuel Vadot			phys = <&usb_hs1_phy>;
390*f126890aSEmmanuel Vadot			phy-names = "usb-phy";
391*f126890aSEmmanuel Vadot			#reset-cells = <1>;
392*f126890aSEmmanuel Vadot			status = "disabled";
393*f126890aSEmmanuel Vadot
394*f126890aSEmmanuel Vadot			ulpi {
395*f126890aSEmmanuel Vadot				usb_hs1_phy: phy {
396*f126890aSEmmanuel Vadot					compatible = "qcom,usb-hs-phy-msm8960",
397*f126890aSEmmanuel Vadot						     "qcom,usb-hs-phy";
398*f126890aSEmmanuel Vadot					clocks = <&sleep_clk>, <&cxo_board>;
399*f126890aSEmmanuel Vadot					clock-names = "sleep", "ref";
400*f126890aSEmmanuel Vadot					resets = <&usb1 0>;
401*f126890aSEmmanuel Vadot					reset-names = "por";
402*f126890aSEmmanuel Vadot					#phy-cells = <0>;
403*f126890aSEmmanuel Vadot				};
404*f126890aSEmmanuel Vadot			};
405*f126890aSEmmanuel Vadot		};
406*f126890aSEmmanuel Vadot	};
407*f126890aSEmmanuel Vadot};
408