]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - arch/arm/boot/dts/qcom-apq8064.dtsi
ARM: dts: apq8064: Add wcnss wifi and bt nodes
[karo-tx-linux.git] / arch / arm / boot / dts / qcom-apq8064.dtsi
1 /dts-v1/;
2
3 #include "skeleton.dtsi"
4 #include <dt-bindings/gpio/gpio.h>
5 #include <dt-bindings/clock/qcom,gcc-msm8960.h>
6 #include <dt-bindings/reset/qcom,gcc-msm8960.h>
7 #include <dt-bindings/clock/qcom,mmcc-msm8960.h>
8 #include <dt-bindings/soc/qcom,gsbi.h>
9 #include <dt-bindings/interrupt-controller/arm-gic.h>
10 #include <dt-bindings/thermal/thermal.h>
11
12 / {
13         model = "Qualcomm APQ8064";
14         compatible = "qcom,apq8064";
15         interrupt-parent = <&intc>;
16
17         reserved-memory {
18                 #address-cells = <1>;
19                 #size-cells = <1>;
20                 ranges;
21
22                 smem_region: smem@80000000 {
23                         reg = <0x80000000 0x200000>;
24                         no-map;
25                 };
26
27                 wcnss_mem: wcnss@8f000000 {
28                         reg = <0x8f000000 0x700000>;
29                         no-map;
30                 };
31         };
32
33         cpus {
34                 #address-cells = <1>;
35                 #size-cells = <0>;
36
37                 CPU0: cpu@0 {
38                         compatible = "qcom,krait";
39                         enable-method = "qcom,kpss-acc-v1";
40                         device_type = "cpu";
41                         reg = <0>;
42                         next-level-cache = <&L2>;
43                         qcom,acc = <&acc0>;
44                         qcom,saw = <&saw0>;
45                         cpu-idle-states = <&CPU_SPC>;
46                         clocks = <&kraitcc 0>, <&kraitcc 4>;
47                         clock-names = "cpu", "l2";
48                         clock-latency = <100000>;
49                         cooling-min-level = <0>;
50                         cooling-max-level = <7>;
51                         #cooling-cells = <2>;
52                 };
53
54                 CPU1: cpu@1 {
55                         compatible = "qcom,krait";
56                         enable-method = "qcom,kpss-acc-v1";
57                         device_type = "cpu";
58                         reg = <1>;
59                         next-level-cache = <&L2>;
60                         qcom,acc = <&acc1>;
61                         qcom,saw = <&saw1>;
62                         cpu-idle-states = <&CPU_SPC>;
63                         clocks = <&kraitcc 1>, <&kraitcc 4>;
64                         clock-names = "cpu", "l2";
65                         clock-latency = <100000>;
66                         cooling-min-level = <0>;
67                         cooling-max-level = <7>;
68                         #cooling-cells = <2>;
69                 };
70
71                 CPU2: cpu@2 {
72                         compatible = "qcom,krait";
73                         enable-method = "qcom,kpss-acc-v1";
74                         device_type = "cpu";
75                         reg = <2>;
76                         next-level-cache = <&L2>;
77                         qcom,acc = <&acc2>;
78                         qcom,saw = <&saw2>;
79                         cpu-idle-states = <&CPU_SPC>;
80                         clocks = <&kraitcc 2>, <&kraitcc 4>;
81                         clock-names = "cpu", "l2";
82                         clock-latency = <100000>;
83                         cooling-min-level = <0>;
84                         cooling-max-level = <7>;
85                         #cooling-cells = <2>;
86                 };
87
88                 CPU3: cpu@3 {
89                         compatible = "qcom,krait";
90                         enable-method = "qcom,kpss-acc-v1";
91                         device_type = "cpu";
92                         reg = <3>;
93                         next-level-cache = <&L2>;
94                         qcom,acc = <&acc3>;
95                         qcom,saw = <&saw3>;
96                         cpu-idle-states = <&CPU_SPC>;
97                         clocks = <&kraitcc 3>, <&kraitcc 4>;
98                         clock-names = "cpu", "l2";
99                         clock-latency = <100000>;
100                         cooling-min-level = <0>;
101                         cooling-max-level = <7>;
102                         #cooling-cells = <2>;
103                 };
104
105                 L2: l2-cache {
106                         compatible = "cache";
107                         cache-level = <2>;
108                 };
109
110                 qcom,l2 {
111                         qcom,l2-rates = <384000000 972000000 1188000000>;
112                 };
113
114                 idle-states {
115                         CPU_SPC: spc {
116                                 compatible = "qcom,idle-state-spc",
117                                                 "arm,idle-state";
118                                 entry-latency-us = <400>;
119                                 exit-latency-us = <900>;
120                                 min-residency-us = <3000>;
121                         };
122                 };
123         };
124
125         thermal-zones {
126                 cpu-thermal0 {
127                         polling-delay-passive = <250>;
128                         polling-delay = <1000>;
129
130                         thermal-sensors = <&gcc 7>;
131
132                         trips {
133                                 cpu_alert0: trip@0 {
134                                         temperature = <75000>;
135                                         hysteresis = <2000>;
136                                         type = "passive";
137                                 };
138                                 cpu_crit0: trip@1 {
139                                         temperature = <110000>;
140                                         hysteresis = <2000>;
141                                         type = "critical";
142                                 };
143                         };
144
145                         cooling-maps {
146                                 map0 {
147                                         trip = <&cpu_alert0>;
148                                         cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
149                                 };
150                         };
151                 };
152
153                 cpu-thermal1 {
154                         polling-delay-passive = <250>;
155                         polling-delay = <1000>;
156
157                         thermal-sensors = <&gcc 8>;
158
159                         trips {
160                                 cpu_alert1: trip@0 {
161                                         temperature = <75000>;
162                                         hysteresis = <2000>;
163                                         type = "passive";
164                                 };
165                                 cpu_crit1: trip@1 {
166                                         temperature = <110000>;
167                                         hysteresis = <2000>;
168                                         type = "critical";
169                                 };
170                         };
171
172                         cooling-maps {
173                                 map0 {
174                                         trip = <&cpu_alert1>;
175                                         cooling-device = <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
176                                 };
177                         };
178                 };
179
180                 cpu-thermal2 {
181                         polling-delay-passive = <250>;
182                         polling-delay = <1000>;
183
184                         thermal-sensors = <&gcc 9>;
185
186                         trips {
187                                 cpu_alert2: trip@0 {
188                                         temperature = <75000>;
189                                         hysteresis = <2000>;
190                                         type = "passive";
191                                 };
192                                 cpu_crit2: trip@1 {
193                                         temperature = <110000>;
194                                         hysteresis = <2000>;
195                                         type = "critical";
196                                 };
197                         };
198
199                         cooling-maps {
200                                 map0 {
201                                         trip = <&cpu_alert2>;
202                                         cooling-device = <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
203                                 };
204                         };
205                 };
206
207                 cpu-thermal3 {
208                         polling-delay-passive = <250>;
209                         polling-delay = <1000>;
210
211                         thermal-sensors = <&gcc 10>;
212
213                         trips {
214                                 cpu_alert3: trip@0 {
215                                         temperature = <75000>;
216                                         hysteresis = <2000>;
217                                         type = "passive";
218                                 };
219                                 cpu_crit3: trip@1 {
220                                         temperature = <110000>;
221                                         hysteresis = <2000>;
222                                         type = "critical";
223                                 };
224                         };
225
226                         cooling-maps {
227                                 map0 {
228                                         trip = <&cpu_alert3>;
229                                         cooling-device = <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
230                                 };
231                         };
232                 };
233         };
234
235         cpu-pmu {
236                 compatible = "qcom,krait-pmu";
237                 interrupts = <1 10 0x304>;
238         };
239
240         clocks {
241                 cxo_board {
242                         compatible = "fixed-clock";
243                         #clock-cells = <0>;
244                         clock-frequency = <19200000>;
245                 };
246
247                 pxo_board {
248                         compatible = "fixed-clock";
249                         #clock-cells = <0>;
250                         clock-frequency = <27000000>;
251                 };
252
253                 sleep_clk {
254                         compatible = "fixed-clock";
255                         #clock-cells = <0>;
256                         clock-frequency = <32768>;
257                 };
258         };
259
260         sfpb_mutex: hwmutex {
261                 compatible = "qcom,sfpb-mutex";
262                 syscon = <&sfpb_wrapper_mutex 0x604 0x4>;
263                 #hwlock-cells = <1>;
264         };
265
266         smem {
267                 compatible = "qcom,smem";
268                 memory-region = <&smem_region>;
269
270                 hwlocks = <&sfpb_mutex 3>;
271         };
272
273         qcom,pvs {
274                 qcom,pvs-format-a;
275                 qcom,speed0-pvs0-bin-v0 =
276                         < 384000000 950000  >,
277                         < 486000000 975000  >,
278                         < 594000000 1000000  >,
279                         < 702000000 1025000  >,
280                         < 810000000 1075000  >,
281                         < 918000000 1100000  >,
282                         < 1026000000 1125000 >,
283                         < 1080000000 1175000 >,
284                         < 1134000000 1175000 >,
285                         < 1188000000 1200000 >,
286                         < 1242000000 1200000 >,
287                         < 1296000000 1225000 >,
288                         < 1350000000 1225000 >,
289                         < 1404000000 1237500 >,
290                         < 1458000000 1237500 >,
291                         < 1512000000 1250000 >;
292
293                 qcom,speed0-pvs1-bin-v0 =
294                         < 384000000 900000  >,
295                         < 486000000 925000  >,
296                         < 594000000 950000  >,
297                         < 702000000 975000  >,
298                         < 810000000 1025000  >,
299                         < 918000000 1050000  >,
300                         < 1026000000 1075000 >,
301                         < 1080000000 1125000 >,
302                         < 1134000000 1125000 >,
303                         < 1188000000 1150000 >,
304                         < 1242000000 1150000 >,
305                         < 1296000000 1175000 >,
306                         < 1350000000 1175000 >,
307                         < 1404000000 1187500 >,
308                         < 1458000000 1187500 >,
309                         < 1512000000 1200000 >;
310
311                 qcom,speed0-pvs3-bin-v0 =
312                         < 384000000 850000  >,
313                         < 486000000 875000  >,
314                         < 594000000 900000  >,
315                         < 702000000 925000  >,
316                         < 810000000 975000  >,
317                         < 918000000 1000000  >,
318                         < 1026000000 1025000 >,
319                         < 1080000000 1075000 >,
320                         < 1134000000 1075000 >,
321                         < 1188000000 1100000 >,
322                         < 1242000000 1100000 >,
323                         < 1296000000 1125000 >,
324                         < 1350000000 1125000 >,
325                         < 1404000000 1137500 >,
326                         < 1458000000 1137500 >,
327                         < 1512000000 1150000 >;
328
329                 qcom,speed0-pvs4-bin-v0 =
330                         < 384000000 850000  >,
331                         < 486000000 875000  >,
332                         < 594000000 900000  >,
333                         < 702000000 925000  >,
334                         < 810000000 962500  >,
335                         < 918000000 975000  >,
336                         < 1026000000 1000000 >,
337                         < 1080000000 1050000 >,
338                         < 1134000000 1050000 >,
339                         < 1188000000 1075000 >,
340                         < 1242000000 1075000 >,
341                         < 1296000000 1100000 >,
342                         < 1350000000 1100000 >,
343                         < 1404000000 1112500 >,
344                         < 1458000000 1112500 >,
345                         < 1512000000 1125000 >;
346
347                 qcom,speed1-pvs0-bin-v0 =
348                         < 384000000 950000  >,
349                         < 486000000 950000  >,
350                         < 594000000 950000  >,
351                         < 702000000 962500  >,
352                         < 810000000 1000000  >,
353                         < 918000000 1025000  >,
354                         < 1026000000 1037500 >,
355                         < 1134000000 1075000 >,
356                         < 1242000000 1087500 >,
357                         < 1350000000 1125000 >,
358                         < 1458000000 1150000 >,
359                         < 1566000000 1175000 >,
360                         < 1674000000 1225000 >,
361                         < 1728000000 1250000 >;
362
363                 qcom,speed1-pvs1-bin-v0 =
364                         < 384000000 950000  >,
365                         < 486000000 950000  >,
366                         < 594000000 950000  >,
367                         < 702000000 962500  >,
368                         < 810000000 975000  >,
369                         < 918000000 1000000 >,
370                         < 1026000000 1012500 >,
371                         < 1134000000 1037500 >,
372                         < 1242000000 1050000 >,
373                         < 1350000000 1087500 >,
374                         < 1458000000 1112500 >,
375                         < 1566000000 1150000 >,
376                         < 1674000000 1187500 >,
377                         < 1728000000 1200000 >;
378
379                 qcom,speed1-pvs2-bin-v0 =
380                         < 384000000 925000  >,
381                         < 486000000 925000  >,
382                         < 594000000 925000  >,
383                         < 702000000 925000  >,
384                         < 810000000 937500  >,
385                         < 918000000 950000  >,
386                         < 1026000000 975000 >,
387                         < 1134000000 1000000 >,
388                         < 1242000000 1012500 >,
389                         < 1350000000 1037500 >,
390                         < 1458000000 1075000 >,
391                         < 1566000000 1100000 >,
392                         < 1674000000 1137500 >,
393                         < 1728000000 1162500 >;
394
395                 qcom,speed1-pvs3-bin-v0 =
396                         < 384000000 900000  >,
397                         < 486000000 900000  >,
398                         < 594000000 900000  >,
399                         < 702000000 900000  >,
400                         < 810000000 900000  >,
401                         < 918000000 925000  >,
402                         < 1026000000 950000 >,
403                         < 1134000000 975000 >,
404                         < 1242000000 987500 >,
405                         < 1350000000 1000000 >,
406                         < 1458000000 1037500 >,
407                         < 1566000000 1062500 >,
408                         < 1674000000 1100000 >,
409                         < 1728000000 1125000 >;
410
411                 qcom,speed1-pvs4-bin-v0 =
412                         < 384000000 875000  >,
413                         < 486000000 875000  >,
414                         < 594000000 875000  >,
415                         < 702000000 875000  >,
416                         < 810000000 887500  >,
417                         < 918000000 900000  >,
418                         < 1026000000 925000 >,
419                         < 1134000000 950000 >,
420                         < 1242000000 962500 >,
421                         < 1350000000 975000 >,
422                         < 1458000000 1000000 >,
423                         < 1566000000 1037500 >,
424                         < 1674000000 1075000 >,
425                         < 1728000000 1100000 >;
426
427                 qcom,speed1-pvs5-bin-v0 =
428                         < 384000000 875000  >,
429                         < 486000000 875000  >,
430                         < 594000000 875000  >,
431                         < 702000000 875000  >,
432                         < 810000000 887500  >,
433                         < 918000000 900000  >,
434                         < 1026000000 925000 >,
435                         < 1134000000 937500 >,
436                         < 1242000000 950000 >,
437                         < 1350000000 962500 >,
438                         < 1458000000 987500 >,
439                         < 1566000000 1012500 >,
440                         < 1674000000 1050000 >,
441                         < 1728000000 1075000 >;
442
443                 qcom,speed1-pvs6-bin-v0 =
444                         < 384000000 875000  >,
445                         < 486000000 875000  >,
446                         < 594000000 875000  >,
447                         < 702000000 875000  >,
448                         < 810000000 887500  >,
449                         < 918000000 900000  >,
450                         < 1026000000 925000 >,
451                         < 1134000000 937500 >,
452                         < 1242000000 950000 >,
453                         < 1350000000 962500 >,
454                         < 1458000000 975000 >,
455                         < 1566000000 1000000 >,
456                         < 1674000000 1025000 >,
457                         < 1728000000 1050000 >;
458
459                 qcom,speed2-pvs0-bin-v0 =
460                         < 384000000 950000  >,
461                         < 486000000 950000  >,
462                         < 594000000 950000  >,
463                         < 702000000 950000  >,
464                         < 810000000 962500  >,
465                         < 918000000 975000  >,
466                         < 1026000000 1000000 >,
467                         < 1134000000 1025000 >,
468                         < 1242000000 1037500 >,
469                         < 1350000000 1062500 >,
470                         < 1458000000 1100000 >,
471                         < 1566000000 1125000 >,
472                         < 1674000000 1175000 >,
473                         < 1782000000 1225000 >,
474                         < 1890000000 1287500 >;
475
476                 qcom,speed2-pvs1-bin-v0 =
477                         < 384000000 925000  >,
478                         < 486000000 925000  >,
479                         < 594000000 925000  >,
480                         < 702000000 925000  >,
481                         < 810000000 937500  >,
482                         < 918000000 950000  >,
483                         < 1026000000 975000 >,
484                         < 1134000000 1000000 >,
485                         < 1242000000 1012500 >,
486                         < 1350000000 1037500 >,
487                         < 1458000000 1075000 >,
488                         < 1566000000 1100000 >,
489                         < 1674000000 1137500 >,
490                         < 1782000000 1187500 >,
491                         < 1890000000 1250000 >;
492
493                 qcom,speed2-pvs2-bin-v0 =
494                         < 384000000 900000  >,
495                         < 486000000 900000  >,
496                         < 594000000 900000  >,
497                         < 702000000 900000  >,
498                         < 810000000 912500  >,
499                         < 918000000 925000  >,
500                         < 1026000000 950000 >,
501                         < 1134000000 975000 >,
502                         < 1242000000 987500 >,
503                         < 1350000000 1012500 >,
504                         < 1458000000 1050000 >,
505                         < 1566000000 1075000 >,
506                         < 1674000000 1112500 >,
507                         < 1782000000 1162500 >,
508                         < 1890000000 1212500 >;
509
510                 qcom,speed2-pvs3-bin-v0 =
511                         < 384000000 900000  >,
512                         < 486000000 900000  >,
513                         < 594000000 900000  >,
514                         < 702000000 900000  >,
515                         < 810000000 900000  >,
516                         < 918000000 912500  >,
517                         < 1026000000 937500 >,
518                         < 1134000000 962500 >,
519                         < 1242000000 975000 >,
520                         < 1350000000 1000000 >,
521                         < 1458000000 1025000 >,
522                         < 1566000000 1050000 >,
523                         < 1674000000 1087500 >,
524                         < 1782000000 1137500 >,
525                         < 1890000000 1175000 >;
526
527                 qcom,speed2-pvs4-bin-v0 =
528                         < 384000000 875000  >,
529                         < 486000000 875000  >,
530                         < 594000000 875000  >,
531                         < 702000000 875000  >,
532                         < 810000000 887500  >,
533                         < 918000000 900000  >,
534                         < 1026000000 925000 >,
535                         < 1134000000 950000 >,
536                         < 1242000000 962500 >,
537                         < 1350000000 975000 >,
538                         < 1458000000 1000000 >,
539                         < 1566000000 1037500 >,
540                         < 1674000000 1075000 >,
541                         < 1782000000 1112500 >,
542                         < 1890000000 1150000 >;
543
544                 qcom,speed2-pvs5-bin-v0 =
545                         < 384000000 875000  >,
546                         < 486000000 875000  >,
547                         < 594000000 875000  >,
548                         < 702000000 875000  >,
549                         < 810000000 887500  >,
550                         < 918000000 900000  >,
551                         < 1026000000 925000 >,
552                         < 1134000000 937500 >,
553                         < 1242000000 950000 >,
554                         < 1350000000 962500 >,
555                         < 1458000000 987500 >,
556                         < 1566000000 1012500 >,
557                         < 1674000000 1050000 >,
558                         < 1782000000 1087500 >,
559                         < 1890000000 1125000 >;
560
561                 qcom,speed2-pvs6-bin-v0 =
562                         < 384000000 875000  >,
563                         < 486000000 875000  >,
564                         < 594000000 875000  >,
565                         < 702000000 875000  >,
566                         < 810000000 887500  >,
567                         < 918000000 900000  >,
568                         < 1026000000 925000 >,
569                         < 1134000000 937500 >,
570                         < 1242000000 950000 >,
571                         < 1350000000 962500 >,
572                         < 1458000000 975000 >,
573                         < 1566000000 1000000 >,
574                         < 1674000000 1025000 >,
575                         < 1782000000 1062500 >,
576                         < 1890000000 1100000 >;
577
578                 qcom,speed14-pvs0-bin-v0 =
579                         < 384000000 950000 >,
580                         < 486000000 950000 >,
581                         < 594000000 950000 >,
582                         < 702000000 962500 >,
583                         < 810000000 1000000 >,
584                         < 918000000 1025000 >,
585                         < 1026000000 1037500 >,
586                         < 1134000000 1075000 >,
587                         < 1242000000 1087500 >,
588                         < 1350000000 1125000 >,
589                         < 1458000000 1150000 >,
590                         < 1512000000 1162500 >;
591
592                 qcom,speed14-pvs1-bin-v0 =
593                         < 384000000 950000 >,
594                         < 486000000 950000 >,
595                         < 594000000 950000 >,
596                         < 702000000 962500 >,
597                         < 810000000 975000 >,
598                         < 918000000 1000000 >,
599                         < 1026000000 1012500 >,
600                         < 1134000000 1037500 >,
601                         < 1242000000 1050000 >,
602                         < 1350000000 1087500 >,
603                         < 1458000000 1112500 >,
604                         < 1512000000 1125000 >;
605
606                 qcom,speed14-pvs2-bin-v0 =
607                         < 384000000 925000 >,
608                         < 486000000 925000 >,
609                         < 594000000 925000 >,
610                         < 702000000 925000 >,
611                         < 810000000 937500 >,
612                         < 918000000 950000 >,
613                         < 1026000000 975000 >,
614                         < 1134000000 1000000 >,
615                         < 1242000000 1012500 >,
616                         < 1350000000 1037500 >,
617                         < 1458000000 1075000 >,
618                         < 1512000000 1087500 >;
619
620                 qcom,speed14-pvs3-bin-v0 =
621                         < 384000000 900000 >,
622                         < 486000000 900000 >,
623                         < 594000000 900000 >,
624                         < 702000000 900000 >,
625                         < 810000000 900000 >,
626                         < 918000000 925000 >,
627                         < 1026000000 950000 >,
628                         < 1134000000 975000 >,
629                         < 1242000000 987500 >,
630                         < 1350000000 1000000 >,
631                         < 1458000000 1037500 >,
632                         < 1512000000 1050000 >;
633
634                 qcom,speed14-pvs4-bin-v0 =
635                         < 384000000 875000 >,
636                         < 486000000 875000 >,
637                         < 594000000 875000 >,
638                         < 702000000 875000 >,
639                         < 810000000 887500 >,
640                         < 918000000 900000 >,
641                         < 1026000000 925000 >,
642                         < 1134000000 950000 >,
643                         < 1242000000 962500 >,
644                         < 1350000000 975000 >,
645                         < 1458000000 1000000 >,
646                         < 1512000000 1012500 >;
647
648                 qcom,speed14-pvs5-bin-v0 =
649                         < 384000000 875000 >,
650                         < 486000000 875000 >,
651                         < 594000000 875000 >,
652                         < 702000000 875000 >,
653                         < 810000000 887500 >,
654                         < 918000000 900000 >,
655                         < 1026000000 925000 >,
656                         < 1134000000 937500 >,
657                         < 1242000000 950000 >,
658                         < 1350000000 962500 >,
659                         < 1458000000 987500 >,
660                         < 1512000000 1000000 >;
661
662                 qcom,speed14-pvs6-bin-v0 =
663                         < 384000000 875000 >,
664                         < 486000000 875000 >,
665                         < 594000000 875000 >,
666                         < 702000000 875000 >,
667                         < 810000000 887500 >,
668                         < 918000000 900000 >,
669                         < 1026000000 925000 >,
670                         < 1134000000 937500 >,
671                         < 1242000000 950000 >,
672                         < 1350000000 962500 >,
673                         < 1458000000 975000 >,
674                         < 1512000000 987500 >;
675         };
676
677         kraitcc: clock-controller {
678                 compatible = "qcom,krait-cc-v1";
679                 #clock-cells = <1>;
680         };
681
682         clocks {
683                 sleep_clk: sleep_clk {
684                         compatible = "fixed-clock";
685                         clock-frequency = <32768>;
686                         #clock-cells = <0>;
687                 };
688         };
689
690         clocks {
691                 cxo_board {
692                         compatible = "fixed-clock";
693                         #clock-cells = <0>;
694                         clock-frequency = <19200000>;
695                 };
696
697                 pxo_board {
698                         compatible = "fixed-clock";
699                         #clock-cells = <0>;
700                         clock-frequency = <27000000>;
701                 };
702
703                 sleep_clk {
704                         compatible = "fixed-clock";
705                         #clock-cells = <0>;
706                         clock-frequency = <32768>;
707                 };
708         };
709
710         firmware {
711                 compatible = "simple-bus";
712
713                 scm {
714                         compatible = "qcom,scm";
715                 };
716         };
717
718         smd {
719                 compatible = "qcom,smd";
720
721                 modem@0 {
722                         interrupts = <0 37 IRQ_TYPE_EDGE_RISING>;
723
724                         qcom,ipc = <&l2cc 8 3>;
725                         qcom,smd-edge = <0>;
726
727                         status = "disabled";
728                 };
729
730                 q6@1 {
731                         interrupts = <0 90 IRQ_TYPE_EDGE_RISING>;
732
733                         qcom,ipc = <&l2cc 8 15>;
734                         qcom,smd-edge = <1>;
735
736                         status = "disabled";
737
738                         apr {
739                                 compatible = "qcom,apr";
740                                 qcom,smd-channels = "apr_audio_svc";
741                                 rproc = <&pil_q6v4>;
742                         };
743                 };
744
745                 dsps@3 {
746                         interrupts = <0 138 IRQ_TYPE_EDGE_RISING>;
747
748                         qcom,ipc = <&sps_sic_non_secure 0x4080 0>;
749                         qcom,smd-edge = <3>;
750
751                         status = "disabled";
752                 };
753
754                 riva@6 {
755                         interrupts = <0 198 IRQ_TYPE_EDGE_RISING>;
756
757                         qcom,ipc = <&l2cc 8 25>;
758                         qcom,smd-edge = <6>;
759
760                         status = "disabled";
761
762                         wcnss {
763                                 compatible = "qcom,wcnss";
764                                 qcom,smd-channels = "WCNSS_CTRL";
765
766                                 bt {
767                                         compatible = "qcom,btqcomsmd";
768                                 };
769
770                                 wifi {
771                                         compatible = "qcom,wcn3660-wlan";
772
773                                         interrupts = <0 203 0>, <0 202 0>;
774                                         interrupt-names = "tx", "rx";
775
776                                         qcom,wcnss-mmio = <0x03000000 0x204000>;
777
778                                         qcom,state = <&apps_smsm 10>, <&apps_smsm 9>;
779                                         qcom,state-names = "tx-enable", "tx-rings-empty";
780
781                                         local-mac-address = [ 18 00 2d 88 9c a9 ];
782                                 };
783                         };
784                 };
785         };
786
787         smsm {
788                 compatible = "qcom,smsm";
789
790                 #address-cells = <1>;
791                 #size-cells = <0>;
792
793                 qcom,ipc-1 = <&l2cc 8 4>;
794                 qcom,ipc-2 = <&l2cc 8 14>;
795                 qcom,ipc-3 = <&l2cc 8 23>;
796                 qcom,ipc-4 = <&sps_sic_non_secure 0x4094 0>;
797
798                 apps_smsm: apps@0 {
799                         reg = <0>;
800                         #qcom,state-cells = <1>;
801                 };
802
803                 modem_smsm: modem@1 {
804                         reg = <1>;
805                         interrupts = <0 38 IRQ_TYPE_EDGE_RISING>;
806
807                         interrupt-controller;
808                         #interrupt-cells = <2>;
809                 };
810
811                 q6_smsm: q6@2 {
812                         reg = <2>;
813                         interrupts = <0 89 IRQ_TYPE_EDGE_RISING>;
814
815                         interrupt-controller;
816                         #interrupt-cells = <2>;
817                 };
818
819                 wcnss_smsm: wcnss@3 {
820                         reg = <3>;
821                         interrupts = <0 204 IRQ_TYPE_EDGE_RISING>;
822
823                         interrupt-controller;
824                         #interrupt-cells = <2>;
825                 };
826
827                 dsps_smsm: dsps@4 {
828                         reg = <4>;
829                         interrupts = <0 137 IRQ_TYPE_EDGE_RISING>;
830
831                         interrupt-controller;
832                         #interrupt-cells = <2>;
833                 };
834         };
835
836         soc: soc {
837                 #address-cells = <1>;
838                 #size-cells = <1>;
839                 ranges;
840                 compatible = "simple-bus";
841
842                 tlmm_pinmux: pinctrl@800000 {
843                         compatible = "qcom,apq8064-pinctrl";
844                         reg = <0x800000 0x4000>;
845
846                         gpio-controller;
847                         #gpio-cells = <2>;
848                         interrupt-controller;
849                         #interrupt-cells = <2>;
850                         interrupts = <0 16 IRQ_TYPE_LEVEL_HIGH>;
851
852                         pinctrl-names = "default";
853                         pinctrl-0 = <&ps_hold>;
854                 };
855
856                 sfpb_wrapper_mutex: syscon@1200000 {
857                         compatible = "syscon";
858                         reg = <0x01200000 0x8000>;
859                 };
860
861                 intc: interrupt-controller@2000000 {
862                         compatible = "qcom,msm-qgic2";
863                         interrupt-controller;
864                         #interrupt-cells = <3>;
865                         reg = <0x02000000 0x1000>,
866                               <0x02002000 0x1000>;
867                 };
868
869                 timer@200a000 {
870                         compatible = "qcom,kpss-timer", "qcom,msm-timer";
871                         interrupts = <1 1 0x301>,
872                                      <1 2 0x301>,
873                                      <1 3 0x301>;
874                         reg = <0x0200a000 0x100>;
875                         clock-frequency = <27000000>,
876                                           <32768>;
877                         cpu-offset = <0x80000>;
878                 };
879
880                 watchdog@208a038 {
881                         compatible = "qcom,kpss-wdt-apq8064";
882                         reg = <0x0208a038 0x40>;
883                         clocks = <&sleep_clk>;
884                         timeout-sec = <10>;
885                 };
886
887                 acc0: clock-controller@2088000 {
888                         compatible = "qcom,kpss-acc-v1";
889                         reg = <0x02088000 0x1000>, <0x02008000 0x1000>;
890                         clock-output-names = "acpu0_aux";
891                 };
892
893                 acc1: clock-controller@2098000 {
894                         compatible = "qcom,kpss-acc-v1";
895                         reg = <0x02098000 0x1000>, <0x02008000 0x1000>;
896                         clock-output-names = "acpu1_aux";
897                 };
898
899                 acc2: clock-controller@20a8000 {
900                         compatible = "qcom,kpss-acc-v1";
901                         reg = <0x020a8000 0x1000>, <0x02008000 0x1000>;
902                         clock-output-names = "acpu2_aux";
903                 };
904
905                 acc3: clock-controller@20b8000 {
906                         compatible = "qcom,kpss-acc-v1";
907                         reg = <0x020b8000 0x1000>, <0x02008000 0x1000>;
908                         clock-output-names = "acpu3_aux";
909                 };
910
911                 saw0: power-controller@2089000 {
912                         compatible = "qcom,apq8064-saw2-v1.1-cpu", "qcom,saw2";
913                         reg = <0x02089000 0x1000>, <0x02009000 0x1000>;
914                         regulator;
915                         regulator-name = "krait0";
916                         regulator-always-on;
917                         regulator-min-microvolt = <825000>;
918                         regulator-max-microvolt = <1250000>;
919                 };
920
921                 saw1: power-controller@2099000 {
922                         compatible = "qcom,apq8064-saw2-v1.1-cpu", "qcom,saw2";
923                         reg = <0x02099000 0x1000>, <0x02009000 0x1000>;
924                         regulator;
925                         regulator-name = "krait1";
926                         regulator-always-on;
927                         regulator-min-microvolt = <825000>;
928                         regulator-max-microvolt = <1250000>;
929                 };
930
931                 saw2: power-controller@20a9000 {
932                         compatible = "qcom,apq8064-saw2-v1.1-cpu", "qcom,saw2";
933                         reg = <0x020a9000 0x1000>, <0x02009000 0x1000>;
934                         regulator;
935                         regulator-name = "krait2";
936                         regulator-always-on;
937                         regulator-min-microvolt = <825000>;
938                         regulator-max-microvolt = <1250000>;
939                 };
940
941                 saw3: power-controller@20b9000 {
942                         compatible = "qcom,apq8064-saw2-v1.1-cpu", "qcom,saw2";
943                         reg = <0x020b9000 0x1000>, <0x02009000 0x1000>;
944                         regulator;
945                         regulator-name = "krait3";
946                         regulator-always-on;
947                         regulator-min-microvolt = <825000>;
948                         regulator-max-microvolt = <1250000>;
949                 };
950
951                 sps_sic_non_secure: sps-sic-non-secure@12100000 {
952                         compatible      = "syscon";
953                         reg             = <0x12100000 0x10000>;
954                 };
955
956                 gsbi1: gsbi@12440000 {
957                         status = "disabled";
958                         compatible = "qcom,gsbi-v1.0.0";
959                         cell-index = <1>;
960                         reg = <0x12440000 0x100>;
961                         clocks = <&gcc GSBI1_H_CLK>;
962                         clock-names = "iface";
963                         #address-cells = <1>;
964                         #size-cells = <1>;
965                         ranges;
966
967                         syscon-tcsr = <&tcsr>;
968
969                         gsbi1_serial: serial@12450000 {
970                                 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
971                                 reg = <0x12450000 0x100>,
972                                       <0x12400000 0x03>;
973                                 interrupts = <0 193 0x0>;
974                                 clocks = <&gcc GSBI1_UART_CLK>, <&gcc GSBI1_H_CLK>;
975                                 clock-names = "core", "iface";
976                                 status = "disabled";
977                         };
978
979                         gsbi1_i2c: i2c@12460000 {
980                                 compatible = "qcom,i2c-qup-v1.1.1";
981                                 pinctrl-0 = <&i2c1_pins>;
982                                 pinctrl-1 = <&i2c1_pins_sleep>;
983                                 pinctrl-names = "default", "sleep";
984                                 reg = <0x12460000 0x1000>;
985                                 interrupts = <0 194 IRQ_TYPE_NONE>;
986                                 clocks = <&gcc GSBI1_QUP_CLK>, <&gcc GSBI1_H_CLK>;
987                                 clock-names = "core", "iface";
988                                 #address-cells = <1>;
989                                 #size-cells = <0>;
990                         };
991
992                 };
993
994                 gsbi2: gsbi@12480000 {
995                         status = "disabled";
996                         compatible = "qcom,gsbi-v1.0.0";
997                         cell-index = <2>;
998                         reg = <0x12480000 0x100>;
999                         clocks = <&gcc GSBI2_H_CLK>;
1000                         clock-names = "iface";
1001                         #address-cells = <1>;
1002                         #size-cells = <1>;
1003                         ranges;
1004
1005                         syscon-tcsr = <&tcsr>;
1006
1007                         gsbi2_i2c: i2c@124a0000 {
1008                                 compatible = "qcom,i2c-qup-v1.1.1";
1009                                 reg = <0x124a0000 0x1000>;
1010                                 pinctrl-0 = <&i2c2_pins>;
1011                                 pinctrl-1 = <&i2c2_pins_sleep>;
1012                                 pinctrl-names = "default", "sleep";
1013                                 interrupts = <0 196 IRQ_TYPE_NONE>;
1014                                 clocks = <&gcc GSBI2_QUP_CLK>, <&gcc GSBI2_H_CLK>;
1015                                 clock-names = "core", "iface";
1016                                 #address-cells = <1>;
1017                                 #size-cells = <0>;
1018                         };
1019                 };
1020
1021                 gsbi3: gsbi@16200000 {
1022                         status = "disabled";
1023                         compatible = "qcom,gsbi-v1.0.0";
1024                         cell-index = <3>;
1025                         reg = <0x16200000 0x100>;
1026                         clocks = <&gcc GSBI3_H_CLK>;
1027                         clock-names = "iface";
1028                         #address-cells = <1>;
1029                         #size-cells = <1>;
1030                         ranges;
1031                         gsbi3_i2c: i2c@16280000 {
1032                                 compatible = "qcom,i2c-qup-v1.1.1";
1033                                 pinctrl-0 = <&i2c3_pins>;
1034                                 pinctrl-1 = <&i2c3_pins_sleep>;
1035                                 pinctrl-names = "default", "sleep";
1036                                 reg = <0x16280000 0x1000>;
1037                                 interrupts = <GIC_SPI 151 IRQ_TYPE_NONE>;
1038                                 clocks = <&gcc GSBI3_QUP_CLK>,
1039                                          <&gcc GSBI3_H_CLK>;
1040                                 clock-names = "core", "iface";
1041                                 #address-cells = <1>;
1042                                 #size-cells = <0>;
1043                         };
1044                 };
1045
1046                 gsbi4: gsbi@16300000 {
1047                         status = "disabled";
1048                         compatible = "qcom,gsbi-v1.0.0";
1049                         cell-index = <4>;
1050                         reg = <0x16300000 0x03>;
1051                         clocks = <&gcc GSBI4_H_CLK>;
1052                         clock-names = "iface";
1053                         #address-cells = <1>;
1054                         #size-cells = <1>;
1055                         ranges;
1056
1057                         gsbi4_i2c: i2c@16380000 {
1058                                 compatible = "qcom,i2c-qup-v1.1.1";
1059                                 pinctrl-0 = <&i2c4_pins>;
1060                                 pinctrl-1 = <&i2c4_pins_sleep>;
1061                                 pinctrl-names = "default", "sleep";
1062                                 reg = <0x16380000 0x1000>;
1063                                 interrupts = <GIC_SPI 153 IRQ_TYPE_NONE>;
1064                                 clocks = <&gcc GSBI4_QUP_CLK>,
1065                                          <&gcc GSBI4_H_CLK>;
1066                                 clock-names = "core", "iface";
1067                         };
1068                 };
1069
1070                 gsbi5: gsbi@1a200000 {
1071                         status = "disabled";
1072                         compatible = "qcom,gsbi-v1.0.0";
1073                         cell-index = <5>;
1074                         reg = <0x1a200000 0x03>;
1075                         clocks = <&gcc GSBI5_H_CLK>;
1076                         clock-names = "iface";
1077                         #address-cells = <1>;
1078                         #size-cells = <1>;
1079                         ranges;
1080
1081                         gsbi5_serial: serial@1a240000 {
1082                                 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
1083                                 reg = <0x1a240000 0x100>,
1084                                       <0x1a200000 0x03>;
1085                                 interrupts = <0 154 0x0>;
1086                                 clocks = <&gcc GSBI5_UART_CLK>, <&gcc GSBI5_H_CLK>;
1087                                 clock-names = "core", "iface";
1088                                 status = "disabled";
1089                         };
1090
1091                         gsbi5_spi: spi@1a280000 {
1092                                 compatible = "qcom,spi-qup-v1.1.1";
1093                                 reg = <0x1a280000 0x1000>;
1094                                 interrupts = <0 155 0>;
1095                                 pinctrl-0 = <&spi5_default>;
1096                                 pinctrl-1 = <&spi5_sleep>;
1097                                 pinctrl-names = "default", "sleep";
1098                                 clocks = <&gcc GSBI5_QUP_CLK>, <&gcc GSBI5_H_CLK>;
1099                                 clock-names = "core", "iface";
1100                                 status = "disabled";
1101                                 #address-cells = <1>;
1102                                 #size-cells = <0>;
1103                         };
1104                 };
1105
1106                 gsbi6: gsbi@16500000 {
1107                         status = "disabled";
1108                         compatible = "qcom,gsbi-v1.0.0";
1109                         cell-index = <6>;
1110                         reg = <0x16500000 0x03>;
1111                         clocks = <&gcc GSBI6_H_CLK>;
1112                         clock-names = "iface";
1113                         #address-cells = <1>;
1114                         #size-cells = <1>;
1115                         ranges;
1116                         syscon-tcsr = <&tcsr>;
1117
1118                         gsbi6_serial: serial@16540000 {
1119                                 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
1120                                 reg = <0x16540000 0x100>,
1121                                       <0x16500000 0x03>;
1122                                 interrupts = <0 156 0x0>;
1123                                 clocks = <&gcc GSBI6_UART_CLK>, <&gcc GSBI6_H_CLK>;
1124                                 clock-names = "core", "iface";
1125
1126                                 qcom,rx-crci = <11>;
1127                                 qcom,tx-crci = <6>;
1128
1129                                 dmas = <&adm 6>, <&adm 7>;
1130                                 dma-names = "rx", "tx";
1131
1132                                 status = "disabled";
1133                         };
1134
1135                         gsbi6_i2c: i2c@16580000 {
1136                                 compatible = "qcom,i2c-qup-v1.1.1";
1137                                 pinctrl-0 = <&i2c6_pins>;
1138                                 pinctrl-1 = <&i2c6_pins_sleep>;
1139                                 pinctrl-names = "default", "sleep";
1140                                 reg = <0x16580000 0x1000>;
1141                                 interrupts = <GIC_SPI 157 IRQ_TYPE_NONE>;
1142                                 clocks = <&gcc GSBI6_QUP_CLK>,
1143                                          <&gcc GSBI6_H_CLK>;
1144                                 clock-names = "core", "iface";
1145                         };
1146                 };
1147
1148                 gsbi7: gsbi@16600000 {
1149                         status = "disabled";
1150                         compatible = "qcom,gsbi-v1.0.0";
1151                         cell-index = <7>;
1152                         reg = <0x16600000 0x100>;
1153                         clocks = <&gcc GSBI7_H_CLK>;
1154                         clock-names = "iface";
1155                         #address-cells = <1>;
1156                         #size-cells = <1>;
1157                         ranges;
1158                         syscon-tcsr = <&tcsr>;
1159
1160                         gsbi7_serial: serial@16640000 {
1161                                 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
1162                                 reg = <0x16640000 0x1000>,
1163                                       <0x16600000 0x1000>;
1164                                 interrupts = <0 158 0x0>;
1165                                 clocks = <&gcc GSBI7_UART_CLK>, <&gcc GSBI7_H_CLK>;
1166                                 clock-names = "core", "iface";
1167                                 status = "disabled";
1168                         };
1169
1170                         gsbi7_i2c: i2c@16680000 {
1171                                 compatible = "qcom,i2c-qup-v1.1.1";
1172                                 pinctrl-0 = <&i2c7_pins>;
1173                                 pinctrl-1 = <&i2c7_pins_sleep>;
1174                                 pinctrl-names = "default", "sleep";
1175                                 reg = <0x16680000 0x1000>;
1176                                 interrupts = <GIC_SPI 159 IRQ_TYPE_NONE>;
1177                                 clocks = <&gcc GSBI7_QUP_CLK>,
1178                                          <&gcc GSBI7_H_CLK>;
1179                                 clock-names = "core", "iface";
1180                                 status = "disabled";
1181                         };
1182                 };
1183
1184                 rng@1a500000 {
1185                         compatible = "qcom,prng";
1186                         reg = <0x1a500000 0x200>;
1187                         clocks = <&gcc PRNG_CLK>;
1188                         clock-names = "core";
1189                 };
1190
1191                 qcom,ssbi@500000 {
1192                         compatible = "qcom,ssbi";
1193                         reg = <0x00500000 0x1000>;
1194                         qcom,controller-type = "pmic-arbiter";
1195
1196                         pmicintc: pmic@0 {
1197                                 compatible = "qcom,pm8921";
1198                                 interrupt-parent = <&tlmm_pinmux>;
1199                                 interrupts = <74 8>;
1200                                 #interrupt-cells = <2>;
1201                                 interrupt-controller;
1202                                 #address-cells = <1>;
1203                                 #size-cells = <0>;
1204
1205                                 pm8921_gpio: gpio@150 {
1206
1207                                         compatible = "qcom,pm8921-gpio",
1208                                                      "qcom,ssbi-gpio";
1209                                         reg = <0x150>;
1210                                         interrupts = <192 1>, <193 1>, <194 1>,
1211                                                      <195 1>, <196 1>, <197 1>,
1212                                                      <198 1>, <199 1>, <200 1>,
1213                                                      <201 1>, <202 1>, <203 1>,
1214                                                      <204 1>, <205 1>, <206 1>,
1215                                                      <207 1>, <208 1>, <209 1>,
1216                                                      <210 1>, <211 1>, <212 1>,
1217                                                      <213 1>, <214 1>, <215 1>,
1218                                                      <216 1>, <217 1>, <218 1>,
1219                                                      <219 1>, <220 1>, <221 1>,
1220                                                      <222 1>, <223 1>, <224 1>,
1221                                                      <225 1>, <226 1>, <227 1>,
1222                                                      <228 1>, <229 1>, <230 1>,
1223                                                      <231 1>, <232 1>, <233 1>,
1224                                                      <234 1>, <235 1>;
1225
1226                                         gpio-controller;
1227                                         #gpio-cells = <2>;
1228
1229                                 };
1230
1231                                 pm8921_mpps: mpps@50 {
1232                                         compatible = "qcom,pm8921-mpp",
1233                                                      "qcom,ssbi-mpp";
1234                                         reg = <0x50>;
1235                                         gpio-controller;
1236                                         #gpio-cells = <2>;
1237                                         interrupts =
1238                                         <128 1>, <129 1>, <130 1>, <131 1>,
1239                                         <132 1>, <133 1>, <134 1>, <135 1>,
1240                                         <136 1>, <137 1>, <138 1>, <139 1>;
1241                                 };
1242
1243                                 rtc@11d {
1244                                         compatible = "qcom,pm8921-rtc";
1245                                         interrupt-parent = <&pmicintc>;
1246                                         interrupts = <39 1>;
1247                                         reg = <0x11d>;
1248                                         allow-set-time;
1249                                 };
1250
1251                                 pwrkey@1c {
1252                                         compatible = "qcom,pm8921-pwrkey";
1253                                         reg = <0x1c>;
1254                                         interrupt-parent = <&pmicintc>;
1255                                         interrupts = <50 1>, <51 1>;
1256                                         debounce = <15625>;
1257                                         pull-up;
1258                                 };
1259                         };
1260                 };
1261
1262                 qfprom: qfprom@00700000 {
1263                         compatible      = "qcom,qfprom";
1264                         reg             = <0x00700000 0x1000>;
1265                         #address-cells  = <1>;
1266                         #size-cells     = <1>;
1267                         ranges;
1268                         tsens_calib: calib {
1269                                 reg = <0x404 0x10>;
1270                         };
1271                         tsens_backup: backup_calib {
1272                                 reg = <0x414 0x10>;
1273                         };
1274                 };
1275
1276                 gcc: clock-controller@900000 {
1277                         compatible = "qcom,gcc-apq8064";
1278                         reg = <0x00900000 0x4000>;
1279                         nvmem-cells = <&tsens_calib>, <&tsens_backup>;
1280                         nvmem-cell-names = "calib", "calib_backup";
1281                         qcom,tsens-slopes = <1176 1176 1154 1176 1111
1282                                 1132 1132 1199 1132 1199 1132>;
1283                         #clock-cells = <1>;
1284                         #reset-cells = <1>;
1285                         #thermal-sensor-cells = <1>;
1286                 };
1287
1288                 lcc: clock-controller@28000000 {
1289                         compatible = "qcom,lcc-apq8064";
1290                         reg = <0x28000000 0x1000>;
1291                         #clock-cells = <1>;
1292                         #reset-cells = <1>;
1293                 };
1294
1295                 mmcc: clock-controller@4000000 {
1296                         compatible = "qcom,mmcc-apq8064";
1297                         reg = <0x4000000 0x1000>;
1298                         #clock-cells = <1>;
1299                         #reset-cells = <1>;
1300                 };
1301
1302                 l2cc: clock-controller@2011000 {
1303                         compatible      = "syscon";
1304                         reg             = <0x2011000 0x1000>;
1305                 };
1306
1307                 rpm@108000 {
1308                         compatible      = "qcom,rpm-apq8064";
1309                         reg             = <0x108000 0x1000>;
1310                         qcom,ipc        = <&l2cc 0x8 2>;
1311
1312                         interrupts      = <GIC_SPI 19 IRQ_TYPE_EDGE_RISING>,
1313                                           <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>,
1314                                           <GIC_SPI 22 IRQ_TYPE_EDGE_RISING>;
1315                         interrupt-names = "ack", "err", "wakeup";
1316
1317                         rpmcc: clock-controller {
1318                                 compatible      = "qcom,rpmcc-apq8064", "qcom,rpmcc";
1319                                 #clock-cells = <1>;
1320                         };
1321
1322                         regulators {
1323                                 compatible = "qcom,rpm-pm8921-regulators";
1324
1325                                 pm8921_s1: s1 {};
1326                                 pm8921_s2: s2 {};
1327                                 pm8921_s3: s3 {};
1328                                 pm8921_s4: s4 {};
1329                                 pm8921_s7: s7 {};
1330                                 pm8921_s8: s8 {};
1331
1332                                 pm8921_l1: l1 {};
1333                                 pm8921_l2: l2 {};
1334                                 pm8921_l3: l3 {};
1335                                 pm8921_l4: l4 {};
1336                                 pm8921_l5: l5 {};
1337                                 pm8921_l6: l6 {};
1338                                 pm8921_l7: l7 {};
1339                                 pm8921_l8: l8 {};
1340                                 pm8921_l9: l9 {};
1341                                 pm8921_l10: l10 {};
1342                                 pm8921_l11: l11 {};
1343                                 pm8921_l12: l12 {};
1344                                 pm8921_l14: l14 {};
1345                                 pm8921_l15: l15 {};
1346                                 pm8921_l16: l16 {};
1347                                 pm8921_l17: l17 {};
1348                                 pm8921_l18: l18 {};
1349                                 pm8921_l21: l21 {};
1350                                 pm8921_l22: l22 {};
1351                                 pm8921_l23: l23 {};
1352                                 pm8921_l24: l24 {};
1353                                 pm8921_l25: l25 {};
1354                                 pm8921_l26: l26 {};
1355                                 pm8921_l27: l27 {};
1356                                 pm8921_l28: l28 {};
1357                                 pm8921_l29: l29 {};
1358
1359                                 pm8921_lvs1: lvs1 {};
1360                                 pm8921_lvs2: lvs2 {};
1361                                 pm8921_lvs3: lvs3 {};
1362                                 pm8921_lvs4: lvs4 {};
1363                                 pm8921_lvs5: lvs5 {};
1364                                 pm8921_lvs6: lvs6 {};
1365                                 pm8921_lvs7: lvs7 {};
1366
1367                                 pm8921_usb_switch: usb-switch {};
1368
1369                                 pm8921_hdmi_switch: hdmi-switch {
1370                                         bias-pull-down;
1371                                 };
1372
1373                                 pm8921_ncp: ncp {};
1374                         };
1375                 };
1376
1377                 wcnss-rproc@3204000 {
1378                         compatible = "qcom,riva-pil";
1379                         reg = <0x03204000 0x100>;
1380
1381                         interrupts-extended = <&intc 0 199 IRQ_TYPE_EDGE_RISING>,
1382                                               <&wcnss_smsm 6 IRQ_TYPE_EDGE_RISING>;
1383                         interrupt-names = "wdog", "fatal";
1384
1385                         memory-region = <&wcnss_mem>;
1386
1387                         vddcx-supply = <&pm8921_s3>;
1388                         vddmx-supply = <&pm8921_l24>;
1389                         vddpx-supply = <&pm8921_s4>;
1390
1391                         pinctrl-names = "default";
1392                         pinctrl-0 = <&wcnss_pin_a>;
1393
1394                         iris {
1395                                 compatible = "qcom,wcn3660";
1396
1397                                 clocks = <&rpmcc 9>;
1398                                 clock-names = "xo";
1399
1400                                 vddxo-supply = <&pm8921_l4>;
1401                                 vddrfa-supply = <&pm8921_s2>;
1402                                 vddpa-supply = <&pm8921_l10>;
1403                                 vdddig-supply = <&pm8921_lvs2>;
1404                         };
1405                 };
1406
1407
1408                 usb1_phy: phy@12500000 {
1409                         compatible      = "qcom,usb-otg-ci";
1410                         reg             = <0x12500000 0x400>;
1411                         interrupts      = <GIC_SPI 100 IRQ_TYPE_NONE>;
1412                         status          = "disabled";
1413                         dr_mode         = "host";
1414
1415                         clocks          = <&gcc USB_HS1_XCVR_CLK>,
1416                                           <&gcc USB_HS1_H_CLK>;
1417                         clock-names     = "core", "iface";
1418
1419                         resets          = <&gcc USB_HS1_RESET>;
1420                         reset-names     = "link";
1421                 };
1422
1423                 usb3_phy: phy@12520000 {
1424                         compatible      = "qcom,usb-otg-ci";
1425                         reg             = <0x12520000 0x400>;
1426                         interrupts      = <GIC_SPI 188 IRQ_TYPE_NONE>;
1427                         status          = "disabled";
1428                         dr_mode         = "host";
1429
1430                         clocks          = <&gcc USB_HS3_XCVR_CLK>,
1431                                           <&gcc USB_HS3_H_CLK>;
1432                         clock-names     = "core", "iface";
1433
1434                         resets          = <&gcc USB_HS3_RESET>;
1435                         reset-names     = "link";
1436                 };
1437
1438                 usb4_phy: phy@12530000 {
1439                         compatible      = "qcom,usb-otg-ci";
1440                         reg             = <0x12530000 0x400>;
1441                         interrupts      = <GIC_SPI 215 IRQ_TYPE_NONE>;
1442                         status          = "disabled";
1443                         dr_mode         = "host";
1444
1445                         clocks          = <&gcc USB_HS4_XCVR_CLK>,
1446                                           <&gcc USB_HS4_H_CLK>;
1447                         clock-names     = "core", "iface";
1448
1449                         resets          = <&gcc USB_HS4_RESET>;
1450                         reset-names     = "link";
1451                 };
1452
1453                 gadget1: gadget@12500000 {
1454                         compatible      = "qcom,ci-hdrc";
1455                         reg             = <0x12500000 0x400>;
1456                         status          = "disabled";
1457                         dr_mode         = "peripheral";
1458                         interrupts      = <GIC_SPI 100 IRQ_TYPE_NONE>;
1459                         usb-phy         = <&usb1_phy>;
1460                 };
1461
1462                 usb1: usb@12500000 {
1463                         compatible      = "qcom,ehci-host";
1464                         reg             = <0x12500000 0x400>;
1465                         interrupts      = <GIC_SPI 100 IRQ_TYPE_NONE>;
1466                         status          = "disabled";
1467                         usb-phy         = <&usb1_phy>;
1468                 };
1469
1470                 usb3: usb@12520000 {
1471                         compatible      = "qcom,ehci-host";
1472                         reg             = <0x12520000 0x400>;
1473                         interrupts      = <GIC_SPI 188 IRQ_TYPE_NONE>;
1474                         status          = "disabled";
1475                         usb-phy         = <&usb3_phy>;
1476                 };
1477
1478                 usb4: usb@12530000 {
1479                         compatible      = "qcom,ehci-host";
1480                         reg             = <0x12530000 0x400>;
1481                         interrupts      = <GIC_SPI 215 IRQ_TYPE_NONE>;
1482                         status          = "disabled";
1483                         usb-phy         = <&usb4_phy>;
1484                 };
1485
1486                 sata_phy0: phy@1b400000 {
1487                         compatible      = "qcom,apq8064-sata-phy";
1488                         status          = "disabled";
1489                         reg             = <0x1b400000 0x200>;
1490                         reg-names       = "phy_mem";
1491                         clocks          = <&gcc SATA_PHY_CFG_CLK>;
1492                         clock-names     = "cfg";
1493                         #phy-cells      = <0>;
1494                 };
1495
1496                 sata0: sata@29000000 {
1497                         compatible              = "qcom,apq8064-ahci", "generic-ahci";
1498                         status                  = "disabled";
1499                         reg                     = <0x29000000 0x180>;
1500                         interrupts              = <GIC_SPI 209 IRQ_TYPE_NONE>;
1501
1502                         clocks                  = <&gcc SFAB_SATA_S_H_CLK>,
1503                                                 <&gcc SATA_H_CLK>,
1504                                                 <&gcc SATA_A_CLK>,
1505                                                 <&gcc SATA_RXOOB_CLK>,
1506                                                 <&gcc SATA_PMALIVE_CLK>;
1507                         clock-names             = "slave_iface",
1508                                                 "iface",
1509                                                 "bus",
1510                                                 "rxoob",
1511                                                 "core_pmalive";
1512
1513                         assigned-clocks         = <&gcc SATA_RXOOB_CLK>,
1514                                                 <&gcc SATA_PMALIVE_CLK>;
1515                         assigned-clock-rates    = <100000000>, <100000000>;
1516
1517                         phys                    = <&sata_phy0>;
1518                         phy-names               = "sata-phy";
1519                         ports-implemented       = <0x1>;
1520                 };
1521
1522                 /* Temporary fixed regulator */
1523                 sdcc1bam:dma@12402000{
1524                         compatible = "qcom,bam-v1.3.0";
1525                         reg = <0x12402000 0x8000>;
1526                         interrupts = <0 98 0>;
1527                         clocks = <&gcc SDC1_H_CLK>;
1528                         clock-names = "bam_clk";
1529                         #dma-cells = <1>;
1530                         qcom,ee = <0>;
1531                 };
1532
1533                 sdcc3bam:dma@12182000{
1534                         compatible = "qcom,bam-v1.3.0";
1535                         reg = <0x12182000 0x8000>;
1536                         interrupts = <0 96 0>;
1537                         clocks = <&gcc SDC3_H_CLK>;
1538                         clock-names = "bam_clk";
1539                         #dma-cells = <1>;
1540                         qcom,ee = <0>;
1541                 };
1542
1543                 sdcc4bam:dma@121c2000{
1544                         compatible = "qcom,bam-v1.3.0";
1545                         reg = <0x121c2000 0x8000>;
1546                         interrupts = <0 95 0>;
1547                         clocks = <&gcc SDC4_H_CLK>;
1548                         clock-names = "bam_clk";
1549                         #dma-cells = <1>;
1550                         qcom,ee = <0>;
1551                 };
1552
1553                 amba {
1554                         compatible = "arm,amba-bus";
1555                         #address-cells = <1>;
1556                         #size-cells = <1>;
1557                         ranges;
1558                         sdcc1: sdcc@12400000 {
1559                                 status          = "disabled";
1560                                 compatible      = "arm,pl18x", "arm,primecell";
1561                                 arm,primecell-periphid = <0x00051180>;
1562                                 reg             = <0x12400000 0x2000>;
1563                                 interrupts      = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
1564                                 interrupt-names = "cmd_irq";
1565                                 clocks          = <&gcc SDC1_CLK>, <&gcc SDC1_H_CLK>;
1566                                 clock-names     = "mclk", "apb_pclk";
1567                                 bus-width       = <8>;
1568                                 max-frequency   = <96000000>;
1569                                 non-removable;
1570                                 cap-sd-highspeed;
1571                                 cap-mmc-highspeed;
1572                                 dmas = <&sdcc1bam 2>, <&sdcc1bam 1>;
1573                                 dma-names = "tx", "rx";
1574                         };
1575
1576                         sdcc3: sdcc@12180000 {
1577                                 compatible      = "arm,pl18x", "arm,primecell";
1578                                 arm,primecell-periphid = <0x00051180>;
1579                                 status          = "disabled";
1580                                 reg             = <0x12180000 0x2000>;
1581                                 interrupts      = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
1582                                 interrupt-names = "cmd_irq";
1583                                 clocks          = <&gcc SDC3_CLK>, <&gcc SDC3_H_CLK>;
1584                                 clock-names     = "mclk", "apb_pclk";
1585                                 bus-width       = <4>;
1586                                 cap-sd-highspeed;
1587                                 cap-mmc-highspeed;
1588                                 max-frequency   = <192000000>;
1589                                 no-1-8-v;
1590                                 dmas = <&sdcc3bam 2>, <&sdcc3bam 1>;
1591                                 dma-names = "tx", "rx";
1592                         };
1593
1594                         sdcc4: sdcc@121c0000 {
1595                                 compatible      = "arm,pl18x", "arm,primecell";
1596                                 arm,primecell-periphid = <0x00051180>;
1597                                 status          = "disabled";
1598                                 reg             = <0x121c0000 0x2000>;
1599                                 interrupts      = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
1600                                 interrupt-names = "cmd_irq";
1601                                 clocks          = <&gcc SDC4_CLK>, <&gcc SDC4_H_CLK>;
1602                                 clock-names     = "mclk", "apb_pclk";
1603                                 bus-width       = <4>;
1604                                 cap-sd-highspeed;
1605                                 cap-mmc-highspeed;
1606                                 max-frequency   = <48000000>;
1607                                 dmas = <&sdcc4bam 2>, <&sdcc4bam 1>;
1608                                 dma-names = "tx", "rx";
1609                                 pinctrl-names = "default";
1610                                 pinctrl-0 = <&sdc4_gpios>;
1611                         };
1612                 };
1613
1614                 adm: dma@18320000 {
1615                         compatible = "qcom,adm";
1616                         reg = <0x18320000 0xE0000>;
1617                         interrupts = <GIC_SPI 171 IRQ_TYPE_NONE>;
1618                         #dma-cells = <1>;
1619
1620                         clocks = <&gcc ADM0_CLK>, <&gcc ADM0_PBUS_CLK>;
1621                         clock-names = "core", "iface";
1622
1623                         resets = <&gcc ADM0_RESET>,
1624                                  <&gcc ADM0_PBUS_RESET>,
1625                                  <&gcc ADM0_C0_RESET>,
1626                                  <&gcc ADM0_C1_RESET>,
1627                                  <&gcc ADM0_C2_RESET>;
1628                         reset-names = "clk", "pbus", "c0", "c1", "c2";
1629                         qcom,ee = <1>;
1630
1631                         status = "disabled";
1632                 };
1633
1634                 tcsr: syscon@1a400000 {
1635                         compatible = "qcom,tcsr-apq8064", "syscon";
1636                         reg = <0x1a400000 0x100>;
1637                 };
1638
1639                 pcie: pci@1b500000 {
1640                         compatible = "qcom,pcie-apq8064", "snps,dw-pcie";
1641                         reg = <0x1b500000 0x1000
1642                                0x1b502000 0x80
1643                                0x1b600000 0x100
1644                                0x0ff00000 0x100000>;
1645                         reg-names = "dbi", "elbi", "parf", "config";
1646                         device_type = "pci";
1647                         linux,pci-domain = <0>;
1648                         bus-range = <0x00 0xff>;
1649                         num-lanes = <1>;
1650                         #address-cells = <3>;
1651                         #size-cells = <2>;
1652                         ranges = <0x81000000 0 0 0x0fe00000 0 0x00100000   /* I/O */
1653                                   0x82000000 0 0 0x08000000 0 0x07e00000>; /* memory */
1654                         interrupts = <GIC_SPI 238 IRQ_TYPE_NONE>;
1655                         interrupt-names = "msi";
1656                         #interrupt-cells = <1>;
1657                         interrupt-map-mask = <0 0 0 0x7>;
1658                         interrupt-map = <0 0 0 1 &intc 0 36 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1659                                         <0 0 0 2 &intc 0 37 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1660                                         <0 0 0 3 &intc 0 38 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1661                                         <0 0 0 4 &intc 0 39 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1662                         clocks = <&gcc PCIE_A_CLK>,
1663                                  <&gcc PCIE_H_CLK>,
1664                                  <&gcc PCIE_PHY_REF_CLK>;
1665                         clock-names = "core", "iface", "phy";
1666                         resets = <&gcc PCIE_ACLK_RESET>,
1667                                  <&gcc PCIE_HCLK_RESET>,
1668                                  <&gcc PCIE_POR_RESET>,
1669                                  <&gcc PCIE_PCI_RESET>,
1670                                  <&gcc PCIE_PHY_RESET>;
1671                         reset-names = "axi", "ahb", "por", "pci", "phy";
1672                         status = "disabled";
1673                 };
1674
1675                 pil_q6v4: pil@28800000 {
1676                         compatible      = "qcom,tz-pil", "qcom,apq8064-tz-pil";
1677                         qcom,firmware-name = "q6";
1678                         reg             = <0x28800000 0x100>;
1679                         reg-names       = "qdsp6_base";
1680                         qcom,pas-id             = <1>; /* PAS_Q6 */
1681                 };
1682
1683                 dai_fe: dai_fe {
1684                         compatible      = "qcom,msm-dai-fe";
1685                         #sound-dai-cells = <0>;
1686                 };
1687
1688                 hdmi_dai: dai_hdmi {
1689                         compatible = "qcom,msm-dai-q6-hdmi";
1690                         #sound-dai-cells = <0>;
1691                 };
1692
1693                 hdmi_codec: codec_hdmi {
1694                         compatible = "linux,hdmi-audio";
1695                         #sound-dai-cells = <0>;
1696                 };
1697
1698                 q6_pcm: msm_pcm {
1699                         compatible = "qcom,msm-pcm-dsp";
1700                         #sound-dai-cells = <0>;
1701                 };
1702
1703                 q6_route: msm_pcm_routing {
1704                         compatible = "qcom,msm-pcm-routing";
1705                         #sound-dai-cells = <0>;
1706                 };
1707
1708                 snd {
1709                         compatible      = "qcom,snd-apq8064";
1710                 };
1711
1712
1713                 hdmi: qcom,hdmi-tx@4a00000 {
1714                         compatible = "qcom,hdmi-tx-8960";
1715                         reg-names = "core_physical";
1716                         reg = <0x04a00000 0x1000>;
1717                         interrupts = <GIC_SPI 79 0>;
1718                         clock-names =
1719                             "core_clk",
1720                             "master_iface_clk",
1721                             "slave_iface_clk";
1722                         clocks =
1723                             <&mmcc HDMI_APP_CLK>,
1724                             <&mmcc HDMI_M_AHB_CLK>,
1725                             <&mmcc HDMI_S_AHB_CLK>;
1726                         qcom,hdmi-tx-ddc-clk = <&tlmm_pinmux 70 GPIO_ACTIVE_HIGH>;
1727                         qcom,hdmi-tx-ddc-data = <&tlmm_pinmux 71 GPIO_ACTIVE_HIGH>;
1728                         qcom,hdmi-tx-hpd = <&tlmm_pinmux 72 GPIO_ACTIVE_HIGH>;
1729                         pinctrl-names = "default";
1730                         pinctrl-0 = <&hdmi_pinctrl>;
1731                 };
1732
1733                 gpu: qcom,adreno-3xx@4300000 {
1734                         compatible = "qcom,adreno-3xx";
1735                         reg = <0x04300000 0x20000>;
1736                         reg-names = "kgsl_3d0_reg_memory";
1737                         interrupts = <GIC_SPI 80 0>;
1738                         interrupt-names = "kgsl_3d0_irq";
1739                         clock-names =
1740                             "core_clk",
1741                             "iface_clk",
1742                             "mem_clk",
1743                             "mem_iface_clk";
1744                         clocks =
1745                             <&mmcc GFX3D_CLK>,
1746                             <&mmcc GFX3D_AHB_CLK>,
1747                             <&mmcc GFX3D_AXI_CLK>,
1748                             <&mmcc MMSS_IMEM_AHB_CLK>;
1749                         qcom,chipid = <0x03020002>;
1750
1751                          iommus = <&gfx3d 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1752                                    &gfx3d 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
1753                                    &gfx3d1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1754                                    &gfx3d1 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31>;
1755
1756                         qcom,gpu-pwrlevels {
1757                                 compatible = "qcom,gpu-pwrlevels";
1758                                 qcom,gpu-pwrlevel@0 {
1759                                         qcom,gpu-freq = <450000000>;
1760                                 };
1761                                 qcom,gpu-pwrlevel@1 {
1762                                         qcom,gpu-freq = <27000000>;
1763                                 };
1764                         };
1765                 };
1766
1767                 mdp: qcom,mdp@5100000 {
1768                         compatible = "qcom,mdp";
1769                         reg = <0x05100000 0xf0000>;
1770                         interrupts = <GIC_SPI 75 0>;
1771                         connectors = <&hdmi>;
1772                         gpus = <&gpu>;
1773                         clock-names =
1774                             "core_clk",
1775                             "iface_clk",
1776                             "lut_clk",
1777                             "src_clk",
1778                             "hdmi_clk",
1779                             "mdp_clk",
1780                             "mdp_axi_clk";
1781                         clocks =
1782                             <&mmcc MDP_CLK>,
1783                             <&mmcc MDP_AHB_CLK>,
1784                             <&mmcc MDP_LUT_CLK>,
1785                             <&mmcc TV_SRC>,
1786                             <&mmcc HDMI_TV_CLK>,
1787                             <&mmcc MDP_TV_CLK>,
1788                             <&mmcc MDP_AXI_CLK>;
1789
1790                         iommus = <&mdp_port0 0 2
1791                                   &mdp_port1 0 2>;
1792                 };
1793
1794                 mdp_port0: qcom,iommu@7500000 {
1795                         compatible = "qcom,iommu-v0";
1796                         #iommu-cells = <2>;
1797                         clock-names =
1798                             "smmu_pclk",
1799                             "iommu_clk";
1800                         clocks =
1801                             <&mmcc SMMU_AHB_CLK>,
1802                             <&mmcc MDP_AXI_CLK>;
1803                         reg = <0x07500000 0x100000>;
1804                         interrupts =
1805                             <GIC_SPI 63 0>,
1806                             <GIC_SPI 64 0>;
1807                         ncb = <2>;
1808                 };
1809
1810                 mdp_port1: qcom,iommu@7600000 {
1811                         compatible = "qcom,iommu";
1812                         #iommu-cells = <2>;
1813                         clock-names =
1814                             "smmu_pclk",
1815                             "iommu_clk";
1816                         clocks =
1817                             <&mmcc SMMU_AHB_CLK>,
1818                             <&mmcc MDP_AXI_CLK>;
1819                         reg = <0x07600000 0x100000>;
1820                         interrupts =
1821                             <GIC_SPI 61 0>,
1822                             <GIC_SPI 62 0>;
1823                         ncb = <2>;
1824                 };
1825
1826                 gfx3d: qcom,iommu@7c00000 {
1827                         compatible = "qcom,iommu-v0";
1828                         #iommu-cells = <16>;
1829                         clock-names =
1830                             "smmu_pclk",
1831                             "iommu_clk";
1832                         clocks =
1833                             <&mmcc SMMU_AHB_CLK>,
1834                             <&mmcc GFX3D_AXI_CLK>;
1835                         reg = <0x07c00000 0x100000>;
1836                         interrupts =
1837                             <GIC_SPI 69 0>,
1838                             <GIC_SPI 70 0>;
1839                         ncb = <3>;
1840                 };
1841
1842                 gfx3d1: qcom,iommu@7d00000 {
1843                         compatible = "qcom,iommu-v0";
1844                         #iommu-cells = <16>;
1845                         clock-names =
1846                             "smmu_pclk",
1847                             "iommu_clk";
1848                         clocks =
1849                             <&mmcc SMMU_AHB_CLK>,
1850                             <&mmcc GFX3D_AXI_CLK>;
1851                         reg = <0x07d00000 0x100000>;
1852                         interrupts =
1853                             <GIC_SPI 210 0>,
1854                             <GIC_SPI 211 0>;
1855                         ncb = <3>;
1856                 };
1857         };
1858 };
1859
1860 #include "qcom-apq8064-coresight.dtsi"
1861 #include "qcom-apq8064-pins.dtsi"