xref: /freebsd/sys/contrib/device-tree/src/arm/qcom/qcom-msm8960.dtsi (revision ae5de77ed78ae54d86cead5604869212e8008e6b)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2f126890aSEmmanuel Vadot/dts-v1/;
3f126890aSEmmanuel Vadot
4f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
5f126890aSEmmanuel Vadot#include <dt-bindings/clock/qcom,gcc-msm8960.h>
6f126890aSEmmanuel Vadot#include <dt-bindings/reset/qcom,gcc-msm8960.h>
7f126890aSEmmanuel Vadot#include <dt-bindings/clock/qcom,lcc-msm8960.h>
8f126890aSEmmanuel Vadot#include <dt-bindings/mfd/qcom-rpm.h>
9f126890aSEmmanuel Vadot#include <dt-bindings/soc/qcom,gsbi.h>
10f126890aSEmmanuel Vadot
11f126890aSEmmanuel Vadot/ {
12f126890aSEmmanuel Vadot	#address-cells = <1>;
13f126890aSEmmanuel Vadot	#size-cells = <1>;
14f126890aSEmmanuel Vadot	model = "Qualcomm MSM8960";
15f126890aSEmmanuel Vadot	compatible = "qcom,msm8960";
16f126890aSEmmanuel Vadot	interrupt-parent = <&intc>;
17f126890aSEmmanuel Vadot
18f126890aSEmmanuel Vadot	cpus {
19f126890aSEmmanuel Vadot		#address-cells = <1>;
20f126890aSEmmanuel Vadot		#size-cells = <0>;
21f126890aSEmmanuel Vadot		interrupts = <GIC_PPI 14 0x304>;
22f126890aSEmmanuel Vadot
23f126890aSEmmanuel Vadot		cpu@0 {
24f126890aSEmmanuel Vadot			compatible = "qcom,krait";
25f126890aSEmmanuel Vadot			enable-method = "qcom,kpss-acc-v1";
26f126890aSEmmanuel Vadot			device_type = "cpu";
27f126890aSEmmanuel Vadot			reg = <0>;
285f62a964SEmmanuel Vadot			next-level-cache = <&l2>;
29f126890aSEmmanuel Vadot			qcom,acc = <&acc0>;
30f126890aSEmmanuel Vadot			qcom,saw = <&saw0>;
31f126890aSEmmanuel Vadot		};
32f126890aSEmmanuel Vadot
33f126890aSEmmanuel Vadot		cpu@1 {
34f126890aSEmmanuel Vadot			compatible = "qcom,krait";
35f126890aSEmmanuel Vadot			enable-method = "qcom,kpss-acc-v1";
36f126890aSEmmanuel Vadot			device_type = "cpu";
37f126890aSEmmanuel Vadot			reg = <1>;
385f62a964SEmmanuel Vadot			next-level-cache = <&l2>;
39f126890aSEmmanuel Vadot			qcom,acc = <&acc1>;
40f126890aSEmmanuel Vadot			qcom,saw = <&saw1>;
41f126890aSEmmanuel Vadot		};
42f126890aSEmmanuel Vadot
435f62a964SEmmanuel Vadot		l2: l2-cache {
44f126890aSEmmanuel Vadot			compatible = "cache";
45f126890aSEmmanuel Vadot			cache-level = <2>;
46f126890aSEmmanuel Vadot			cache-unified;
47f126890aSEmmanuel Vadot		};
48f126890aSEmmanuel Vadot	};
49f126890aSEmmanuel Vadot
500e8011faSEmmanuel Vadot	memory@80000000 {
51f126890aSEmmanuel Vadot		device_type = "memory";
520e8011faSEmmanuel Vadot		reg = <0x80000000 0>;
53f126890aSEmmanuel Vadot	};
54f126890aSEmmanuel Vadot
55*ae5de77eSEmmanuel Vadot	thermal-zones {
56*ae5de77eSEmmanuel Vadot		cpu0-thermal {
57*ae5de77eSEmmanuel Vadot			polling-delay-passive = <250>;
58*ae5de77eSEmmanuel Vadot			polling-delay = <1000>;
59*ae5de77eSEmmanuel Vadot			thermal-sensors = <&tsens 0>;
60*ae5de77eSEmmanuel Vadot
61*ae5de77eSEmmanuel Vadot			trips {
62*ae5de77eSEmmanuel Vadot				cpu_alert0: trip0 {
63*ae5de77eSEmmanuel Vadot					temperature = <60000>;
64*ae5de77eSEmmanuel Vadot					hysteresis = <10000>;
65*ae5de77eSEmmanuel Vadot					type = "passive";
66*ae5de77eSEmmanuel Vadot				};
67*ae5de77eSEmmanuel Vadot
68*ae5de77eSEmmanuel Vadot				cpu_crit0: trip1 {
69*ae5de77eSEmmanuel Vadot					temperature = <95000>;
70*ae5de77eSEmmanuel Vadot					hysteresis = <10000>;
71*ae5de77eSEmmanuel Vadot					type = "critical";
72*ae5de77eSEmmanuel Vadot				};
73*ae5de77eSEmmanuel Vadot			};
74*ae5de77eSEmmanuel Vadot		};
75*ae5de77eSEmmanuel Vadot
76*ae5de77eSEmmanuel Vadot		cpu1-thermal {
77*ae5de77eSEmmanuel Vadot			polling-delay-passive = <250>;
78*ae5de77eSEmmanuel Vadot			polling-delay = <1000>;
79*ae5de77eSEmmanuel Vadot			thermal-sensors = <&tsens 1>;
80*ae5de77eSEmmanuel Vadot
81*ae5de77eSEmmanuel Vadot			trips {
82*ae5de77eSEmmanuel Vadot				cpu_alert1: trip0 {
83*ae5de77eSEmmanuel Vadot					temperature = <60000>;
84*ae5de77eSEmmanuel Vadot					hysteresis = <10000>;
85*ae5de77eSEmmanuel Vadot					type = "passive";
86*ae5de77eSEmmanuel Vadot				};
87*ae5de77eSEmmanuel Vadot
88*ae5de77eSEmmanuel Vadot				cpu_crit1: trip1 {
89*ae5de77eSEmmanuel Vadot					temperature = <95000>;
90*ae5de77eSEmmanuel Vadot					hysteresis = <10000>;
91*ae5de77eSEmmanuel Vadot					type = "critical";
92*ae5de77eSEmmanuel Vadot				};
93*ae5de77eSEmmanuel Vadot			};
94*ae5de77eSEmmanuel Vadot		};
95*ae5de77eSEmmanuel Vadot	};
96*ae5de77eSEmmanuel Vadot
97f126890aSEmmanuel Vadot	cpu-pmu {
98f126890aSEmmanuel Vadot		compatible = "qcom,krait-pmu";
99f126890aSEmmanuel Vadot		interrupts = <GIC_PPI 10 0x304>;
100f126890aSEmmanuel Vadot		qcom,no-pc-write;
101f126890aSEmmanuel Vadot	};
102f126890aSEmmanuel Vadot
103f126890aSEmmanuel Vadot	clocks {
104f126890aSEmmanuel Vadot		cxo_board: cxo_board {
105f126890aSEmmanuel Vadot			compatible = "fixed-clock";
106f126890aSEmmanuel Vadot			#clock-cells = <0>;
107f126890aSEmmanuel Vadot			clock-frequency = <19200000>;
108f126890aSEmmanuel Vadot			clock-output-names = "cxo_board";
109f126890aSEmmanuel Vadot		};
110f126890aSEmmanuel Vadot
111f126890aSEmmanuel Vadot		pxo_board: pxo_board {
112f126890aSEmmanuel Vadot			compatible = "fixed-clock";
113f126890aSEmmanuel Vadot			#clock-cells = <0>;
114f126890aSEmmanuel Vadot			clock-frequency = <27000000>;
115f126890aSEmmanuel Vadot			clock-output-names = "pxo_board";
116f126890aSEmmanuel Vadot		};
117f126890aSEmmanuel Vadot
118f126890aSEmmanuel Vadot		sleep_clk: sleep_clk {
119f126890aSEmmanuel Vadot			compatible = "fixed-clock";
120f126890aSEmmanuel Vadot			#clock-cells = <0>;
121f126890aSEmmanuel Vadot			clock-frequency = <32768>;
122f126890aSEmmanuel Vadot			clock-output-names = "sleep_clk";
123f126890aSEmmanuel Vadot		};
124f126890aSEmmanuel Vadot	};
125f126890aSEmmanuel Vadot
126f126890aSEmmanuel Vadot	/* Temporary fixed regulator */
127f126890aSEmmanuel Vadot	vsdcc_fixed: vsdcc-regulator {
128f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
129f126890aSEmmanuel Vadot		regulator-name = "SDCC Power";
130f126890aSEmmanuel Vadot		regulator-min-microvolt = <2700000>;
131f126890aSEmmanuel Vadot		regulator-max-microvolt = <2700000>;
132f126890aSEmmanuel Vadot		regulator-always-on;
133f126890aSEmmanuel Vadot	};
134f126890aSEmmanuel Vadot
135f126890aSEmmanuel Vadot	soc: soc {
136f126890aSEmmanuel Vadot		#address-cells = <1>;
137f126890aSEmmanuel Vadot		#size-cells = <1>;
138f126890aSEmmanuel Vadot		ranges;
139f126890aSEmmanuel Vadot		compatible = "simple-bus";
140f126890aSEmmanuel Vadot
141f126890aSEmmanuel Vadot		intc: interrupt-controller@2000000 {
142f126890aSEmmanuel Vadot			compatible = "qcom,msm-qgic2";
143f126890aSEmmanuel Vadot			interrupt-controller;
144f126890aSEmmanuel Vadot			#interrupt-cells = <3>;
145f126890aSEmmanuel Vadot			reg = <0x02000000 0x1000>,
146f126890aSEmmanuel Vadot			      <0x02002000 0x1000>;
147f126890aSEmmanuel Vadot		};
148f126890aSEmmanuel Vadot
149f126890aSEmmanuel Vadot		timer@200a000 {
150f126890aSEmmanuel Vadot			compatible = "qcom,kpss-wdt-msm8960", "qcom,kpss-timer",
151f126890aSEmmanuel Vadot				     "qcom,msm-timer";
152f126890aSEmmanuel Vadot			interrupts = <GIC_PPI 1 0x301>,
153f126890aSEmmanuel Vadot				     <GIC_PPI 2 0x301>,
154f126890aSEmmanuel Vadot				     <GIC_PPI 3 0x301>;
155f126890aSEmmanuel Vadot			reg = <0x0200a000 0x100>;
156f126890aSEmmanuel Vadot			clock-frequency = <27000000>;
157*ae5de77eSEmmanuel Vadot			clocks = <&sleep_clk>;
158*ae5de77eSEmmanuel Vadot			clock-names = "sleep";
159f126890aSEmmanuel Vadot			cpu-offset = <0x80000>;
160f126890aSEmmanuel Vadot		};
161f126890aSEmmanuel Vadot
162*ae5de77eSEmmanuel Vadot		qfprom: efuse@700000 {
163*ae5de77eSEmmanuel Vadot			compatible = "qcom,msm8960-qfprom", "qcom,qfprom";
164*ae5de77eSEmmanuel Vadot			reg = <0x00700000 0x1000>;
165*ae5de77eSEmmanuel Vadot			#address-cells = <1>;
166*ae5de77eSEmmanuel Vadot			#size-cells = <1>;
167*ae5de77eSEmmanuel Vadot
168*ae5de77eSEmmanuel Vadot			tsens_calib: calib@404 {
169*ae5de77eSEmmanuel Vadot				reg = <0x404 0x10>;
170*ae5de77eSEmmanuel Vadot			};
171*ae5de77eSEmmanuel Vadot
172*ae5de77eSEmmanuel Vadot			tsens_backup: backup-calib@414 {
173*ae5de77eSEmmanuel Vadot				reg = <0x414 0x10>;
174*ae5de77eSEmmanuel Vadot			};
175*ae5de77eSEmmanuel Vadot		};
176*ae5de77eSEmmanuel Vadot
177f126890aSEmmanuel Vadot		msmgpio: pinctrl@800000 {
178f126890aSEmmanuel Vadot			compatible = "qcom,msm8960-pinctrl";
179f126890aSEmmanuel Vadot			gpio-controller;
180f126890aSEmmanuel Vadot			gpio-ranges = <&msmgpio 0 0 152>;
181f126890aSEmmanuel Vadot			#gpio-cells = <2>;
182f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
183f126890aSEmmanuel Vadot			interrupt-controller;
184f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
185f126890aSEmmanuel Vadot			reg = <0x800000 0x4000>;
186f126890aSEmmanuel Vadot		};
187f126890aSEmmanuel Vadot
188f126890aSEmmanuel Vadot		gcc: clock-controller@900000 {
189*ae5de77eSEmmanuel Vadot			compatible = "qcom,gcc-msm8960", "syscon";
190f126890aSEmmanuel Vadot			#clock-cells = <1>;
191f126890aSEmmanuel Vadot			#reset-cells = <1>;
192f126890aSEmmanuel Vadot			reg = <0x900000 0x4000>;
193f126890aSEmmanuel Vadot			clocks = <&cxo_board>,
194f126890aSEmmanuel Vadot				 <&pxo_board>,
195f126890aSEmmanuel Vadot				 <&lcc PLL4>;
196f126890aSEmmanuel Vadot			clock-names = "cxo", "pxo", "pll4";
197*ae5de77eSEmmanuel Vadot
198*ae5de77eSEmmanuel Vadot			tsens: thermal-sensor {
199*ae5de77eSEmmanuel Vadot				compatible = "qcom,msm8960-tsens";
200*ae5de77eSEmmanuel Vadot
201*ae5de77eSEmmanuel Vadot				nvmem-cells = <&tsens_calib>, <&tsens_backup>;
202*ae5de77eSEmmanuel Vadot				nvmem-cell-names = "calib", "calib_backup";
203*ae5de77eSEmmanuel Vadot				interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>;
204*ae5de77eSEmmanuel Vadot				interrupt-names = "uplow";
205*ae5de77eSEmmanuel Vadot
206*ae5de77eSEmmanuel Vadot				#qcom,sensors = <5>;
207*ae5de77eSEmmanuel Vadot				#thermal-sensor-cells = <1>;
208*ae5de77eSEmmanuel Vadot			};
209f126890aSEmmanuel Vadot		};
210f126890aSEmmanuel Vadot
211f126890aSEmmanuel Vadot		lcc: clock-controller@28000000 {
212f126890aSEmmanuel Vadot			compatible = "qcom,lcc-msm8960";
213f126890aSEmmanuel Vadot			reg = <0x28000000 0x1000>;
214f126890aSEmmanuel Vadot			#clock-cells = <1>;
215f126890aSEmmanuel Vadot			#reset-cells = <1>;
216f126890aSEmmanuel Vadot			clocks = <&pxo_board>,
217f126890aSEmmanuel Vadot				 <&gcc PLL4_VOTE>,
218f126890aSEmmanuel Vadot				 <0>,
219f126890aSEmmanuel Vadot				 <0>, <0>,
220f126890aSEmmanuel Vadot				 <0>, <0>,
221f126890aSEmmanuel Vadot				 <0>;
222f126890aSEmmanuel Vadot			clock-names = "pxo",
223f126890aSEmmanuel Vadot				      "pll4_vote",
224f126890aSEmmanuel Vadot				      "mi2s_codec_clk",
225f126890aSEmmanuel Vadot				      "codec_i2s_mic_codec_clk",
226f126890aSEmmanuel Vadot				      "spare_i2s_mic_codec_clk",
227f126890aSEmmanuel Vadot				      "codec_i2s_spkr_codec_clk",
228f126890aSEmmanuel Vadot				      "spare_i2s_spkr_codec_clk",
229f126890aSEmmanuel Vadot				      "pcm_codec_clk";
230f126890aSEmmanuel Vadot		};
231f126890aSEmmanuel Vadot
232f126890aSEmmanuel Vadot		clock-controller@4000000 {
233f126890aSEmmanuel Vadot			compatible = "qcom,mmcc-msm8960";
234f126890aSEmmanuel Vadot			reg = <0x4000000 0x1000>;
235f126890aSEmmanuel Vadot			#clock-cells = <1>;
236f126890aSEmmanuel Vadot			#power-domain-cells = <1>;
237f126890aSEmmanuel Vadot			#reset-cells = <1>;
238f126890aSEmmanuel Vadot			clocks = <&pxo_board>,
239f126890aSEmmanuel Vadot				 <&gcc PLL3>,
240f126890aSEmmanuel Vadot				 <&gcc PLL8_VOTE>,
241f126890aSEmmanuel Vadot				 <0>,
242f126890aSEmmanuel Vadot				 <0>,
243f126890aSEmmanuel Vadot				 <0>,
244f126890aSEmmanuel Vadot				 <0>,
245f126890aSEmmanuel Vadot				 <0>;
246f126890aSEmmanuel Vadot			clock-names = "pxo",
247f126890aSEmmanuel Vadot				      "pll3",
248f126890aSEmmanuel Vadot				      "pll8_vote",
249f126890aSEmmanuel Vadot				      "dsi1pll",
250f126890aSEmmanuel Vadot				      "dsi1pllbyte",
251f126890aSEmmanuel Vadot				      "dsi2pll",
252f126890aSEmmanuel Vadot				      "dsi2pllbyte",
253f126890aSEmmanuel Vadot				      "hdmipll";
254f126890aSEmmanuel Vadot		};
255f126890aSEmmanuel Vadot
256f126890aSEmmanuel Vadot		l2cc: clock-controller@2011000 {
257f126890aSEmmanuel Vadot			compatible = "qcom,kpss-gcc-msm8960", "qcom,kpss-gcc", "syscon";
258f126890aSEmmanuel Vadot			reg = <0x2011000 0x1000>;
259f126890aSEmmanuel Vadot			clocks = <&gcc PLL8_VOTE>, <&pxo_board>;
260f126890aSEmmanuel Vadot			clock-names = "pll8_vote", "pxo";
261f126890aSEmmanuel Vadot			#clock-cells = <0>;
262f126890aSEmmanuel Vadot		};
263f126890aSEmmanuel Vadot
264f126890aSEmmanuel Vadot		rpm: rpm@108000 {
265f126890aSEmmanuel Vadot			compatible = "qcom,rpm-msm8960";
266f126890aSEmmanuel Vadot			reg = <0x108000 0x1000>;
267f126890aSEmmanuel Vadot			qcom,ipc = <&l2cc 0x8 2>;
268f126890aSEmmanuel Vadot
269f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 19 IRQ_TYPE_EDGE_RISING>,
270f126890aSEmmanuel Vadot				     <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>,
271f126890aSEmmanuel Vadot				     <GIC_SPI 22 IRQ_TYPE_EDGE_RISING>;
272f126890aSEmmanuel Vadot			interrupt-names = "ack", "err", "wakeup";
273f126890aSEmmanuel Vadot		};
274f126890aSEmmanuel Vadot
275f126890aSEmmanuel Vadot		acc0: clock-controller@2088000 {
276f126890aSEmmanuel Vadot			compatible = "qcom,kpss-acc-v1";
277f126890aSEmmanuel Vadot			reg = <0x02088000 0x1000>, <0x02008000 0x1000>;
278f126890aSEmmanuel Vadot			clocks = <&gcc PLL8_VOTE>, <&pxo_board>;
279f126890aSEmmanuel Vadot			clock-names = "pll8_vote", "pxo";
280f126890aSEmmanuel Vadot			clock-output-names = "acpu0_aux";
281f126890aSEmmanuel Vadot			#clock-cells = <0>;
282f126890aSEmmanuel Vadot		};
283f126890aSEmmanuel Vadot
284f126890aSEmmanuel Vadot		acc1: clock-controller@2098000 {
285f126890aSEmmanuel Vadot			compatible = "qcom,kpss-acc-v1";
286f126890aSEmmanuel Vadot			reg = <0x02098000 0x1000>, <0x02008000 0x1000>;
287f126890aSEmmanuel Vadot			clocks = <&gcc PLL8_VOTE>, <&pxo_board>;
288f126890aSEmmanuel Vadot			clock-names = "pll8_vote", "pxo";
289f126890aSEmmanuel Vadot			clock-output-names = "acpu1_aux";
290f126890aSEmmanuel Vadot			#clock-cells = <0>;
291f126890aSEmmanuel Vadot		};
292f126890aSEmmanuel Vadot
29301950c46SEmmanuel Vadot		saw0: power-manager@2089000 {
29401950c46SEmmanuel Vadot			compatible = "qcom,msm8960-saw2-cpu", "qcom,saw2";
295f126890aSEmmanuel Vadot			reg = <0x02089000 0x1000>, <0x02009000 0x1000>;
29601950c46SEmmanuel Vadot
29701950c46SEmmanuel Vadot			saw0_vreg: regulator {
29801950c46SEmmanuel Vadot				regulator-min-microvolt = <850000>;
29901950c46SEmmanuel Vadot				regulator-max-microvolt = <1300000>;
30001950c46SEmmanuel Vadot			};
301f126890aSEmmanuel Vadot		};
302f126890aSEmmanuel Vadot
30301950c46SEmmanuel Vadot		saw1: power-manager@2099000 {
30401950c46SEmmanuel Vadot			compatible = "qcom,msm8960-saw2-cpu", "qcom,saw2";
305f126890aSEmmanuel Vadot			reg = <0x02099000 0x1000>, <0x02009000 0x1000>;
30601950c46SEmmanuel Vadot
30701950c46SEmmanuel Vadot			saw1_vreg: regulator {
30801950c46SEmmanuel Vadot				regulator-min-microvolt = <850000>;
30901950c46SEmmanuel Vadot				regulator-max-microvolt = <1300000>;
31001950c46SEmmanuel Vadot			};
311f126890aSEmmanuel Vadot		};
312f126890aSEmmanuel Vadot
313f126890aSEmmanuel Vadot		gsbi5: gsbi@16400000 {
314f126890aSEmmanuel Vadot			compatible = "qcom,gsbi-v1.0.0";
315f126890aSEmmanuel Vadot			cell-index = <5>;
316f126890aSEmmanuel Vadot			reg = <0x16400000 0x100>;
317f126890aSEmmanuel Vadot			clocks = <&gcc GSBI5_H_CLK>;
318f126890aSEmmanuel Vadot			clock-names = "iface";
319f126890aSEmmanuel Vadot			#address-cells = <1>;
320f126890aSEmmanuel Vadot			#size-cells = <1>;
321f126890aSEmmanuel Vadot			ranges;
322f126890aSEmmanuel Vadot
323f126890aSEmmanuel Vadot			syscon-tcsr = <&tcsr>;
324f126890aSEmmanuel Vadot
325f126890aSEmmanuel Vadot			gsbi5_serial: serial@16440000 {
326f126890aSEmmanuel Vadot				compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
327f126890aSEmmanuel Vadot				reg = <0x16440000 0x1000>,
328f126890aSEmmanuel Vadot				      <0x16400000 0x1000>;
329f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
330f126890aSEmmanuel Vadot				clocks = <&gcc GSBI5_UART_CLK>, <&gcc GSBI5_H_CLK>;
331f126890aSEmmanuel Vadot				clock-names = "core", "iface";
332f126890aSEmmanuel Vadot				status = "disabled";
333f126890aSEmmanuel Vadot			};
334f126890aSEmmanuel Vadot		};
335f126890aSEmmanuel Vadot
3368d13bc63SEmmanuel Vadot		ssbi: ssbi@500000 {
337f126890aSEmmanuel Vadot			compatible = "qcom,ssbi";
338f126890aSEmmanuel Vadot			reg = <0x500000 0x1000>;
339f126890aSEmmanuel Vadot			qcom,controller-type = "pmic-arbiter";
340f126890aSEmmanuel Vadot		};
341f126890aSEmmanuel Vadot
342f126890aSEmmanuel Vadot		rng@1a500000 {
343f126890aSEmmanuel Vadot			compatible = "qcom,prng";
344f126890aSEmmanuel Vadot			reg = <0x1a500000 0x200>;
345f126890aSEmmanuel Vadot			clocks = <&gcc PRNG_CLK>;
346f126890aSEmmanuel Vadot			clock-names = "core";
347f126890aSEmmanuel Vadot		};
348f126890aSEmmanuel Vadot
349f126890aSEmmanuel Vadot		sdcc3: mmc@12180000 {
350f126890aSEmmanuel Vadot			compatible = "arm,pl18x", "arm,primecell";
351f126890aSEmmanuel Vadot			arm,primecell-periphid = <0x00051180>;
352f126890aSEmmanuel Vadot			status = "disabled";
353*ae5de77eSEmmanuel Vadot			reg = <0x12180000 0x2000>;
354f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
355f126890aSEmmanuel Vadot			clocks = <&gcc SDC3_CLK>, <&gcc SDC3_H_CLK>;
356f126890aSEmmanuel Vadot			clock-names = "mclk", "apb_pclk";
357f126890aSEmmanuel Vadot			bus-width = <4>;
358f126890aSEmmanuel Vadot			cap-sd-highspeed;
359f126890aSEmmanuel Vadot			cap-mmc-highspeed;
360f126890aSEmmanuel Vadot			max-frequency = <192000000>;
361f126890aSEmmanuel Vadot			no-1-8-v;
362f126890aSEmmanuel Vadot			vmmc-supply = <&vsdcc_fixed>;
363*ae5de77eSEmmanuel Vadot			dmas = <&sdcc3bam 2>, <&sdcc3bam 1>;
364*ae5de77eSEmmanuel Vadot			dma-names = "tx", "rx";
365*ae5de77eSEmmanuel Vadot		};
366*ae5de77eSEmmanuel Vadot
367*ae5de77eSEmmanuel Vadot		sdcc3bam: dma-controller@12182000 {
368*ae5de77eSEmmanuel Vadot			compatible = "qcom,bam-v1.3.0";
369*ae5de77eSEmmanuel Vadot			reg = <0x12182000 0x4000>;
370*ae5de77eSEmmanuel Vadot			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
371*ae5de77eSEmmanuel Vadot			clocks = <&gcc SDC3_H_CLK>;
372*ae5de77eSEmmanuel Vadot			clock-names = "bam_clk";
373*ae5de77eSEmmanuel Vadot			#dma-cells = <1>;
374*ae5de77eSEmmanuel Vadot			qcom,ee = <0>;
375f126890aSEmmanuel Vadot		};
376f126890aSEmmanuel Vadot
377f126890aSEmmanuel Vadot		sdcc1: mmc@12400000 {
378f126890aSEmmanuel Vadot			status = "disabled";
379f126890aSEmmanuel Vadot			compatible = "arm,pl18x", "arm,primecell";
380f126890aSEmmanuel Vadot			arm,primecell-periphid = <0x00051180>;
381*ae5de77eSEmmanuel Vadot			reg = <0x12400000 0x2000>;
382f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
383f126890aSEmmanuel Vadot			clocks = <&gcc SDC1_CLK>, <&gcc SDC1_H_CLK>;
384f126890aSEmmanuel Vadot			clock-names = "mclk", "apb_pclk";
385f126890aSEmmanuel Vadot			bus-width = <8>;
386f126890aSEmmanuel Vadot			max-frequency = <96000000>;
387f126890aSEmmanuel Vadot			non-removable;
388f126890aSEmmanuel Vadot			cap-sd-highspeed;
389f126890aSEmmanuel Vadot			cap-mmc-highspeed;
390f126890aSEmmanuel Vadot			vmmc-supply = <&vsdcc_fixed>;
391*ae5de77eSEmmanuel Vadot			dmas = <&sdcc1bam 2>, <&sdcc1bam 1>;
392*ae5de77eSEmmanuel Vadot			dma-names = "tx", "rx";
393*ae5de77eSEmmanuel Vadot		};
394*ae5de77eSEmmanuel Vadot
395*ae5de77eSEmmanuel Vadot		sdcc1bam: dma-controller@12402000 {
396*ae5de77eSEmmanuel Vadot			compatible = "qcom,bam-v1.3.0";
397*ae5de77eSEmmanuel Vadot			reg = <0x12402000 0x4000>;
398*ae5de77eSEmmanuel Vadot			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
399*ae5de77eSEmmanuel Vadot			clocks = <&gcc SDC1_H_CLK>;
400*ae5de77eSEmmanuel Vadot			clock-names = "bam_clk";
401*ae5de77eSEmmanuel Vadot			#dma-cells = <1>;
402*ae5de77eSEmmanuel Vadot			qcom,ee = <0>;
403f126890aSEmmanuel Vadot		};
404f126890aSEmmanuel Vadot
405f126890aSEmmanuel Vadot		tcsr: syscon@1a400000 {
406f126890aSEmmanuel Vadot			compatible = "qcom,tcsr-msm8960", "syscon";
407f126890aSEmmanuel Vadot			reg = <0x1a400000 0x100>;
408f126890aSEmmanuel Vadot		};
409f126890aSEmmanuel Vadot
410f126890aSEmmanuel Vadot		gsbi1: gsbi@16000000 {
411f126890aSEmmanuel Vadot			compatible = "qcom,gsbi-v1.0.0";
412f126890aSEmmanuel Vadot			cell-index = <1>;
413f126890aSEmmanuel Vadot			reg = <0x16000000 0x100>;
414f126890aSEmmanuel Vadot			clocks = <&gcc GSBI1_H_CLK>;
415f126890aSEmmanuel Vadot			clock-names = "iface";
416f126890aSEmmanuel Vadot			#address-cells = <1>;
417f126890aSEmmanuel Vadot			#size-cells = <1>;
418f126890aSEmmanuel Vadot			ranges;
419f126890aSEmmanuel Vadot
420f126890aSEmmanuel Vadot			gsbi1_spi: spi@16080000 {
421f126890aSEmmanuel Vadot				compatible = "qcom,spi-qup-v1.1.1";
422f126890aSEmmanuel Vadot				#address-cells = <1>;
423f126890aSEmmanuel Vadot				#size-cells = <0>;
424f126890aSEmmanuel Vadot				reg = <0x16080000 0x1000>;
425f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
426f126890aSEmmanuel Vadot				cs-gpios = <&msmgpio 8 0>;
427f126890aSEmmanuel Vadot
428f126890aSEmmanuel Vadot				clocks = <&gcc GSBI1_QUP_CLK>, <&gcc GSBI1_H_CLK>;
429f126890aSEmmanuel Vadot				clock-names = "core", "iface";
430f126890aSEmmanuel Vadot				status = "disabled";
431f126890aSEmmanuel Vadot			};
432f126890aSEmmanuel Vadot		};
433f126890aSEmmanuel Vadot
434f126890aSEmmanuel Vadot		usb1: usb@12500000 {
435f126890aSEmmanuel Vadot			compatible = "qcom,ci-hdrc";
436f126890aSEmmanuel Vadot			reg = <0x12500000 0x200>,
437f126890aSEmmanuel Vadot			      <0x12500200 0x200>;
438f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
439f126890aSEmmanuel Vadot			clocks = <&gcc USB_HS1_XCVR_CLK>, <&gcc USB_HS1_H_CLK>;
440f126890aSEmmanuel Vadot			clock-names = "core", "iface";
441f126890aSEmmanuel Vadot			assigned-clocks = <&gcc USB_HS1_XCVR_CLK>;
442f126890aSEmmanuel Vadot			assigned-clock-rates = <60000000>;
443f126890aSEmmanuel Vadot			resets = <&gcc USB_HS1_RESET>;
444f126890aSEmmanuel Vadot			reset-names = "core";
445f126890aSEmmanuel Vadot			phy_type = "ulpi";
446f126890aSEmmanuel Vadot			ahb-burst-config = <0>;
447f126890aSEmmanuel Vadot			phys = <&usb_hs1_phy>;
448f126890aSEmmanuel Vadot			phy-names = "usb-phy";
449f126890aSEmmanuel Vadot			#reset-cells = <1>;
450f126890aSEmmanuel Vadot			status = "disabled";
451f126890aSEmmanuel Vadot
452f126890aSEmmanuel Vadot			ulpi {
453f126890aSEmmanuel Vadot				usb_hs1_phy: phy {
454f126890aSEmmanuel Vadot					compatible = "qcom,usb-hs-phy-msm8960",
455f126890aSEmmanuel Vadot						     "qcom,usb-hs-phy";
456f126890aSEmmanuel Vadot					clocks = <&sleep_clk>, <&cxo_board>;
457f126890aSEmmanuel Vadot					clock-names = "sleep", "ref";
458f126890aSEmmanuel Vadot					resets = <&usb1 0>;
459f126890aSEmmanuel Vadot					reset-names = "por";
460f126890aSEmmanuel Vadot					#phy-cells = <0>;
461f126890aSEmmanuel Vadot				};
462f126890aSEmmanuel Vadot			};
463f126890aSEmmanuel Vadot		};
46401950c46SEmmanuel Vadot
46501950c46SEmmanuel Vadot		gsbi3: gsbi@16200000 {
46601950c46SEmmanuel Vadot			compatible = "qcom,gsbi-v1.0.0";
46701950c46SEmmanuel Vadot			reg = <0x16200000 0x100>;
46801950c46SEmmanuel Vadot			ranges;
46901950c46SEmmanuel Vadot			cell-index = <3>;
47001950c46SEmmanuel Vadot			clocks = <&gcc GSBI3_H_CLK>;
47101950c46SEmmanuel Vadot			clock-names = "iface";
47201950c46SEmmanuel Vadot			#address-cells = <1>;
47301950c46SEmmanuel Vadot			#size-cells = <1>;
47401950c46SEmmanuel Vadot			status = "disabled";
47501950c46SEmmanuel Vadot
47601950c46SEmmanuel Vadot			gsbi3_i2c: i2c@16280000 {
47701950c46SEmmanuel Vadot				compatible = "qcom,i2c-qup-v1.1.1";
47801950c46SEmmanuel Vadot				reg = <0x16280000 0x1000>;
47901950c46SEmmanuel Vadot				pinctrl-0 = <&i2c3_default_state>;
48001950c46SEmmanuel Vadot				pinctrl-1 = <&i2c3_sleep_state>;
48101950c46SEmmanuel Vadot				pinctrl-names = "default", "sleep";
48201950c46SEmmanuel Vadot				interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
48301950c46SEmmanuel Vadot				clocks = <&gcc GSBI3_QUP_CLK>,
48401950c46SEmmanuel Vadot					 <&gcc GSBI3_H_CLK>;
48501950c46SEmmanuel Vadot				clock-names = "core", "iface";
48601950c46SEmmanuel Vadot				#address-cells = <1>;
48701950c46SEmmanuel Vadot				#size-cells = <0>;
48801950c46SEmmanuel Vadot				status = "disabled";
489f126890aSEmmanuel Vadot			};
490f126890aSEmmanuel Vadot		};
49101950c46SEmmanuel Vadot	};
49201950c46SEmmanuel Vadot};
49301950c46SEmmanuel Vadot#include "qcom-msm8960-pins.dtsi"
494