blob: 7c2df062a02528c28038e03ab2eb2b21c1d97201 [file] [log] [blame]
Georgi Djakov975fd0f2014-05-23 18:12:29 +03001/dts-v1/;
2
3#include "skeleton.dtsi"
4
Georgi Djakov98a29532014-06-03 17:29:40 +03005#include <dt-bindings/clock/qcom,gcc-apq8084.h>
Georgi Djakov66c04e32014-09-03 19:50:31 +03006#include <dt-bindings/gpio/gpio.h>
Georgi Djakov98a29532014-06-03 17:29:40 +03007
Georgi Djakov975fd0f2014-05-23 18:12:29 +03008/ {
9 model = "Qualcomm APQ 8084";
10 compatible = "qcom,apq8084";
11 interrupt-parent = <&intc>;
12
Andy Gross64ab8862015-09-24 14:18:56 -050013 reserved-memory {
14 #address-cells = <1>;
15 #size-cells = <1>;
16 ranges;
17
18 smem_mem: smem_region@fa00000 {
19 reg = <0xfa00000 0x200000>;
20 no-map;
21 };
22 };
23
Georgi Djakov975fd0f2014-05-23 18:12:29 +030024 cpus {
25 #address-cells = <1>;
26 #size-cells = <0>;
27
28 cpu@0 {
29 device_type = "cpu";
30 compatible = "qcom,krait";
31 reg = <0>;
32 enable-method = "qcom,kpss-acc-v2";
33 next-level-cache = <&L2>;
34 qcom,acc = <&acc0>;
Lina Iyer030e27f2015-03-25 14:25:31 -060035 qcom,saw = <&saw0>;
Lina Iyerd8664972015-03-25 14:25:34 -060036 cpu-idle-states = <&CPU_SPC>;
Georgi Djakov975fd0f2014-05-23 18:12:29 +030037 };
38
39 cpu@1 {
40 device_type = "cpu";
41 compatible = "qcom,krait";
42 reg = <1>;
43 enable-method = "qcom,kpss-acc-v2";
44 next-level-cache = <&L2>;
45 qcom,acc = <&acc1>;
Lina Iyer030e27f2015-03-25 14:25:31 -060046 qcom,saw = <&saw1>;
Lina Iyerd8664972015-03-25 14:25:34 -060047 cpu-idle-states = <&CPU_SPC>;
Georgi Djakov975fd0f2014-05-23 18:12:29 +030048 };
49
50 cpu@2 {
51 device_type = "cpu";
52 compatible = "qcom,krait";
53 reg = <2>;
54 enable-method = "qcom,kpss-acc-v2";
55 next-level-cache = <&L2>;
56 qcom,acc = <&acc2>;
Lina Iyer030e27f2015-03-25 14:25:31 -060057 qcom,saw = <&saw2>;
Lina Iyerd8664972015-03-25 14:25:34 -060058 cpu-idle-states = <&CPU_SPC>;
Georgi Djakov975fd0f2014-05-23 18:12:29 +030059 };
60
61 cpu@3 {
62 device_type = "cpu";
63 compatible = "qcom,krait";
64 reg = <3>;
65 enable-method = "qcom,kpss-acc-v2";
66 next-level-cache = <&L2>;
67 qcom,acc = <&acc3>;
Lina Iyer030e27f2015-03-25 14:25:31 -060068 qcom,saw = <&saw3>;
Lina Iyerd8664972015-03-25 14:25:34 -060069 cpu-idle-states = <&CPU_SPC>;
Georgi Djakov975fd0f2014-05-23 18:12:29 +030070 };
71
72 L2: l2-cache {
73 compatible = "qcom,arch-cache";
74 cache-level = <2>;
75 qcom,saw = <&saw_l2>;
76 };
Lina Iyerd8664972015-03-25 14:25:34 -060077
78 idle-states {
79 CPU_SPC: spc {
80 compatible = "qcom,idle-state-spc",
81 "arm,idle-state";
82 entry-latency-us = <150>;
83 exit-latency-us = <200>;
84 min-residency-us = <2000>;
85 };
86 };
Georgi Djakov975fd0f2014-05-23 18:12:29 +030087 };
88
Andy Gross2b9b54662016-06-03 18:25:27 -050089 firmware {
90 scm {
91 compatible = "qcom,scm";
92 clocks = <&gcc GCC_CE1_CLK> , <&gcc GCC_CE1_AXI_CLK>, <&gcc GCC_CE1_AHB_CLK>;
93 clock-names = "core", "bus", "iface";
94 };
95 };
96
Georgi Djakov975fd0f2014-05-23 18:12:29 +030097 cpu-pmu {
98 compatible = "qcom,krait-pmu";
99 interrupts = <1 7 0xf04>;
100 };
101
Stephen Boyd30fc4212016-01-06 17:41:51 -0800102 clocks {
103 xo_board {
104 compatible = "fixed-clock";
105 #clock-cells = <0>;
106 clock-frequency = <19200000>;
107 };
108
109 sleep_clk {
110 compatible = "fixed-clock";
111 #clock-cells = <0>;
112 clock-frequency = <32768>;
113 };
114 };
115
Georgi Djakov975fd0f2014-05-23 18:12:29 +0300116 timer {
117 compatible = "arm,armv7-timer";
118 interrupts = <1 2 0xf08>,
119 <1 3 0xf08>,
120 <1 4 0xf08>,
121 <1 1 0xf08>;
122 clock-frequency = <19200000>;
123 };
124
Andy Gross64ab8862015-09-24 14:18:56 -0500125 smem {
126 compatible = "qcom,smem";
127
128 qcom,rpm-msg-ram = <&rpm_msg_ram>;
129 memory-region = <&smem_mem>;
130
131 hwlocks = <&tcsr_mutex 3>;
132 };
133
Georgi Djakov975fd0f2014-05-23 18:12:29 +0300134 soc: soc {
135 #address-cells = <1>;
136 #size-cells = <1>;
137 ranges;
138 compatible = "simple-bus";
139
140 intc: interrupt-controller@f9000000 {
141 compatible = "qcom,msm-qgic2";
142 interrupt-controller;
143 #interrupt-cells = <3>;
144 reg = <0xf9000000 0x1000>,
145 <0xf9002000 0x1000>;
146 };
147
Andy Gross53ced992015-09-24 14:18:57 -0500148 apcs: syscon@f9011000 {
149 compatible = "syscon";
150 reg = <0xf9011000 0x1000>;
151 };
152
Georgi Djakov975fd0f2014-05-23 18:12:29 +0300153 timer@f9020000 {
154 #address-cells = <1>;
155 #size-cells = <1>;
156 ranges;
157 compatible = "arm,armv7-timer-mem";
158 reg = <0xf9020000 0x1000>;
159 clock-frequency = <19200000>;
160
161 frame@f9021000 {
162 frame-number = <0>;
163 interrupts = <0 8 0x4>,
164 <0 7 0x4>;
165 reg = <0xf9021000 0x1000>,
166 <0xf9022000 0x1000>;
167 };
168
169 frame@f9023000 {
170 frame-number = <1>;
171 interrupts = <0 9 0x4>;
172 reg = <0xf9023000 0x1000>;
173 status = "disabled";
174 };
175
176 frame@f9024000 {
177 frame-number = <2>;
178 interrupts = <0 10 0x4>;
179 reg = <0xf9024000 0x1000>;
180 status = "disabled";
181 };
182
183 frame@f9025000 {
184 frame-number = <3>;
185 interrupts = <0 11 0x4>;
186 reg = <0xf9025000 0x1000>;
187 status = "disabled";
188 };
189
190 frame@f9026000 {
191 frame-number = <4>;
192 interrupts = <0 12 0x4>;
193 reg = <0xf9026000 0x1000>;
194 status = "disabled";
195 };
196
197 frame@f9027000 {
198 frame-number = <5>;
199 interrupts = <0 13 0x4>;
200 reg = <0xf9027000 0x1000>;
201 status = "disabled";
202 };
203
204 frame@f9028000 {
205 frame-number = <6>;
206 interrupts = <0 14 0x4>;
207 reg = <0xf9028000 0x1000>;
208 status = "disabled";
209 };
210 };
211
Lina Iyer030e27f2015-03-25 14:25:31 -0600212 saw0: power-controller@f9089000 {
213 compatible = "qcom,apq8084-saw2-v2.1-cpu", "qcom,saw2";
214 reg = <0xf9089000 0x1000>, <0xf9009000 0x1000>;
215 };
216
217 saw1: power-controller@f9099000 {
218 compatible = "qcom,apq8084-saw2-v2.1-cpu", "qcom,saw2";
219 reg = <0xf9099000 0x1000>, <0xf9009000 0x1000>;
220 };
221
222 saw2: power-controller@f90a9000 {
223 compatible = "qcom,apq8084-saw2-v2.1-cpu", "qcom,saw2";
224 reg = <0xf90a9000 0x1000>, <0xf9009000 0x1000>;
225 };
226
227 saw3: power-controller@f90b9000 {
228 compatible = "qcom,apq8084-saw2-v2.1-cpu", "qcom,saw2";
229 reg = <0xf90b9000 0x1000>, <0xf9009000 0x1000>;
230 };
231
232 saw_l2: power-controller@f9012000 {
Georgi Djakov975fd0f2014-05-23 18:12:29 +0300233 compatible = "qcom,saw2";
234 reg = <0xf9012000 0x1000>;
235 regulator;
236 };
237
238 acc0: clock-controller@f9088000 {
239 compatible = "qcom,kpss-acc-v2";
240 reg = <0xf9088000 0x1000>,
241 <0xf9008000 0x1000>;
242 };
243
244 acc1: clock-controller@f9098000 {
245 compatible = "qcom,kpss-acc-v2";
246 reg = <0xf9098000 0x1000>,
247 <0xf9008000 0x1000>;
248 };
249
250 acc2: clock-controller@f90a8000 {
251 compatible = "qcom,kpss-acc-v2";
252 reg = <0xf90a8000 0x1000>,
253 <0xf9008000 0x1000>;
254 };
255
256 acc3: clock-controller@f90b8000 {
257 compatible = "qcom,kpss-acc-v2";
258 reg = <0xf90b8000 0x1000>,
259 <0xf9008000 0x1000>;
260 };
261
262 restart@fc4ab000 {
263 compatible = "qcom,pshold";
264 reg = <0xfc4ab000 0x4>;
265 };
Georgi Djakov98a29532014-06-03 17:29:40 +0300266
267 gcc: clock-controller@fc400000 {
268 compatible = "qcom,gcc-apq8084";
269 #clock-cells = <1>;
270 #reset-cells = <1>;
Rajendra Nayak89c7e672015-10-01 14:56:02 +0530271 #power-domain-cells = <1>;
Georgi Djakov98a29532014-06-03 17:29:40 +0300272 reg = <0xfc400000 0x4000>;
273 };
274
Andy Gross64ab8862015-09-24 14:18:56 -0500275 tcsr_mutex_regs: syscon@fd484000 {
276 compatible = "syscon";
277 reg = <0xfd484000 0x2000>;
278 };
279
280 tcsr_mutex: hwlock {
281 compatible = "qcom,tcsr-mutex";
282 syscon = <&tcsr_mutex_regs 0 0x80>;
283 #hwlock-cells = <1>;
284 };
285
286 rpm_msg_ram: memory@fc428000 {
287 compatible = "qcom,rpm-msg-ram";
288 reg = <0xfc428000 0x4000>;
289 };
290
Georgi Djakov44980b22014-09-03 19:28:15 +0300291 tlmm: pinctrl@fd510000 {
292 compatible = "qcom,apq8084-pinctrl";
293 reg = <0xfd510000 0x4000>;
294 gpio-controller;
295 #gpio-cells = <2>;
296 interrupt-controller;
297 #interrupt-cells = <2>;
298 interrupts = <0 208 0>;
299 };
300
Stephen Boyd10bfcfe2015-06-16 14:31:44 -0700301 blsp2_uart2: serial@f995e000 {
Georgi Djakov14ff1c42014-06-03 17:29:41 +0300302 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
303 reg = <0xf995e000 0x1000>;
304 interrupts = <0 114 0x0>;
305 clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
306 clock-names = "core", "iface";
307 status = "disabled";
308 };
Georgi Djakov66c04e32014-09-03 19:50:31 +0300309
310 sdhci@f9824900 {
311 compatible = "qcom,sdhci-msm-v4";
312 reg = <0xf9824900 0x11c>, <0xf9824000 0x800>;
313 reg-names = "hc_mem", "core_mem";
314 interrupts = <0 123 0>, <0 138 0>;
315 interrupt-names = "hc_irq", "pwr_irq";
316 clocks = <&gcc GCC_SDCC1_APPS_CLK>, <&gcc GCC_SDCC1_AHB_CLK>;
317 clock-names = "core", "iface";
318 status = "disabled";
319 };
320
321 sdhci@f98a4900 {
322 compatible = "qcom,sdhci-msm-v4";
323 reg = <0xf98a4900 0x11c>, <0xf98a4000 0x800>;
324 reg-names = "hc_mem", "core_mem";
325 interrupts = <0 125 0>, <0 221 0>;
326 interrupt-names = "hc_irq", "pwr_irq";
327 clocks = <&gcc GCC_SDCC2_APPS_CLK>, <&gcc GCC_SDCC2_AHB_CLK>;
328 clock-names = "core", "iface";
329 status = "disabled";
330 };
Ivan T. Ivanovaf22e462015-02-03 14:17:58 +0200331
332 spmi_bus: spmi@fc4cf000 {
333 compatible = "qcom,spmi-pmic-arb";
334 reg-names = "core", "intr", "cnfg";
335 reg = <0xfc4cf000 0x1000>,
336 <0xfc4cb000 0x1000>,
337 <0xfc4ca000 0x1000>;
338 interrupt-names = "periph_irq";
339 interrupts = <0 190 0>;
340 qcom,ee = <0>;
341 qcom,channel = <0>;
342 #address-cells = <2>;
343 #size-cells = <0>;
344 interrupt-controller;
345 #interrupt-cells = <4>;
346 };
Georgi Djakov975fd0f2014-05-23 18:12:29 +0300347 };
Andy Gross53ced992015-09-24 14:18:57 -0500348
349 smd {
350 compatible = "qcom,smd";
351
352 rpm {
353 interrupts = <0 168 1>;
354 qcom,ipc = <&apcs 8 0>;
355 qcom,smd-edge = <15>;
356
357 rpm_requests {
358 compatible = "qcom,rpm-apq8084";
359 qcom,smd-channels = "rpm_requests";
Andy Gross4add1072015-09-24 14:18:58 -0500360
361 pma8084-regulators {
362 compatible = "qcom,rpm-pma8084-regulators";
363
364 pma8084_s1: s1 {};
365 pma8084_s2: s2 {};
366 pma8084_s3: s3 {};
367 pma8084_s4: s4 {};
368 pma8084_s5: s5 {};
369 pma8084_s6: s6 {};
370 pma8084_s7: s7 {};
371 pma8084_s8: s8 {};
372 pma8084_s9: s9 {};
373 pma8084_s10: s10 {};
374 pma8084_s11: s11 {};
375 pma8084_s12: s12 {};
376
377 pma8084_l1: l1 {};
378 pma8084_l2: l2 {};
379 pma8084_l3: l3 {};
380 pma8084_l4: l4 {};
381 pma8084_l5: l5 {};
382 pma8084_l6: l6 {};
383 pma8084_l7: l7 {};
384 pma8084_l8: l8 {};
385 pma8084_l9: l9 {};
386 pma8084_l10: l10 {};
387 pma8084_l11: l11 {};
388 pma8084_l12: l12 {};
389 pma8084_l13: l13 {};
390 pma8084_l14: l14 {};
391 pma8084_l15: l15 {};
392 pma8084_l16: l16 {};
393 pma8084_l17: l17 {};
394 pma8084_l18: l18 {};
395 pma8084_l19: l19 {};
396 pma8084_l20: l20 {};
397 pma8084_l21: l21 {};
398 pma8084_l22: l22 {};
399 pma8084_l23: l23 {};
400 pma8084_l24: l24 {};
401 pma8084_l25: l25 {};
402 pma8084_l26: l26 {};
403 pma8084_l27: l27 {};
404
405 pma8084_lvs1: lvs1 {};
406 pma8084_lvs2: lvs2 {};
407 pma8084_lvs3: lvs3 {};
408 pma8084_lvs4: lvs4 {};
409
410 pma8084_5vs1: 5vs1 {};
411 };
Andy Gross53ced992015-09-24 14:18:57 -0500412 };
413 };
414 };
Georgi Djakov975fd0f2014-05-23 18:12:29 +0300415};