~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/qcom/msm8939.dtsi

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: GPL-2.0-only
  2 /*
  3  * Copyright (c) 2013-2015, The Linux Foundation. All rights reserved.
  4  * Copyright (c) 2020-2023, Linaro Limited
  5  */
  6 
  7 #include <dt-bindings/clock/qcom,gcc-msm8939.h>
  8 #include <dt-bindings/clock/qcom,rpmcc.h>
  9 #include <dt-bindings/interconnect/qcom,msm8939.h>
 10 #include <dt-bindings/interrupt-controller/arm-gic.h>
 11 #include <dt-bindings/power/qcom-rpmpd.h>
 12 #include <dt-bindings/reset/qcom,gcc-msm8939.h>
 13 #include <dt-bindings/soc/qcom,apr.h>
 14 #include <dt-bindings/thermal/thermal.h>
 15 
 16 / {
 17         interrupt-parent = <&intc>;
 18 
 19         /*
 20          * Stock LK wants address-cells/size-cells = 2
 21          * A number of our drivers want address/size cells = 1
 22          * hence the disparity between top-level and /soc below.
 23          */
 24         #address-cells = <2>;
 25         #size-cells = <2>;
 26 
 27         clocks {
 28                 xo_board: xo-board {
 29                         compatible = "fixed-clock";
 30                         #clock-cells = <0>;
 31                         clock-frequency = <19200000>;
 32                 };
 33 
 34                 sleep_clk: sleep-clk {
 35                         compatible = "fixed-clock";
 36                         #clock-cells = <0>;
 37                         clock-frequency = <32768>;
 38                 };
 39         };
 40 
 41         cpus {
 42                 #address-cells = <1>;
 43                 #size-cells = <0>;
 44 
 45                 CPU0: cpu@100 {
 46                         compatible = "arm,cortex-a53";
 47                         device_type = "cpu";
 48                         enable-method = "spin-table";
 49                         reg = <0x100>;
 50                         next-level-cache = <&L2_1>;
 51                         qcom,acc = <&acc0>;
 52                         qcom,saw = <&saw0>;
 53                         cpu-idle-states = <&CPU_SLEEP_0>;
 54                         clocks = <&apcs1_mbox>;
 55                         #cooling-cells = <2>;
 56                         L2_1: l2-cache {
 57                                 compatible = "cache";
 58                                 cache-level = <2>;
 59                                 cache-unified;
 60                         };
 61                 };
 62 
 63                 CPU1: cpu@101 {
 64                         compatible = "arm,cortex-a53";
 65                         device_type = "cpu";
 66                         enable-method = "spin-table";
 67                         reg = <0x101>;
 68                         next-level-cache = <&L2_1>;
 69                         qcom,acc = <&acc1>;
 70                         qcom,saw = <&saw1>;
 71                         cpu-idle-states = <&CPU_SLEEP_0>;
 72                         clocks = <&apcs1_mbox>;
 73                         #cooling-cells = <2>;
 74                 };
 75 
 76                 CPU2: cpu@102 {
 77                         compatible = "arm,cortex-a53";
 78                         device_type = "cpu";
 79                         enable-method = "spin-table";
 80                         reg = <0x102>;
 81                         next-level-cache = <&L2_1>;
 82                         qcom,acc = <&acc2>;
 83                         qcom,saw = <&saw2>;
 84                         cpu-idle-states = <&CPU_SLEEP_0>;
 85                         clocks = <&apcs1_mbox>;
 86                         #cooling-cells = <2>;
 87                 };
 88 
 89                 CPU3: cpu@103 {
 90                         compatible = "arm,cortex-a53";
 91                         device_type = "cpu";
 92                         enable-method = "spin-table";
 93                         reg = <0x103>;
 94                         next-level-cache = <&L2_1>;
 95                         qcom,acc = <&acc3>;
 96                         qcom,saw = <&saw3>;
 97                         cpu-idle-states = <&CPU_SLEEP_0>;
 98                         clocks = <&apcs1_mbox>;
 99                         #cooling-cells = <2>;
100                 };
101 
102                 CPU4: cpu@0 {
103                         compatible = "arm,cortex-a53";
104                         device_type = "cpu";
105                         enable-method = "spin-table";
106                         reg = <0x0>;
107                         qcom,acc = <&acc4>;
108                         qcom,saw = <&saw4>;
109                         cpu-idle-states = <&CPU_SLEEP_0>;
110                         clocks = <&apcs0_mbox>;
111                         #cooling-cells = <2>;
112                         next-level-cache = <&L2_0>;
113                         L2_0: l2-cache {
114                                 compatible = "cache";
115                                 cache-level = <2>;
116                                 cache-unified;
117                         };
118                 };
119 
120                 CPU5: cpu@1 {
121                         compatible = "arm,cortex-a53";
122                         device_type = "cpu";
123                         enable-method = "spin-table";
124                         reg = <0x1>;
125                         next-level-cache = <&L2_0>;
126                         qcom,acc = <&acc5>;
127                         qcom,saw = <&saw5>;
128                         cpu-idle-states = <&CPU_SLEEP_0>;
129                         clocks = <&apcs0_mbox>;
130                         #cooling-cells = <2>;
131                 };
132 
133                 CPU6: cpu@2 {
134                         compatible = "arm,cortex-a53";
135                         device_type = "cpu";
136                         enable-method = "spin-table";
137                         reg = <0x2>;
138                         next-level-cache = <&L2_0>;
139                         qcom,acc = <&acc6>;
140                         qcom,saw = <&saw6>;
141                         cpu-idle-states = <&CPU_SLEEP_0>;
142                         clocks = <&apcs0_mbox>;
143                         #cooling-cells = <2>;
144                 };
145 
146                 CPU7: cpu@3 {
147                         compatible = "arm,cortex-a53";
148                         device_type = "cpu";
149                         enable-method = "spin-table";
150                         reg = <0x3>;
151                         next-level-cache = <&L2_0>;
152                         qcom,acc = <&acc7>;
153                         qcom,saw = <&saw7>;
154                         cpu-idle-states = <&CPU_SLEEP_0>;
155                         clocks = <&apcs0_mbox>;
156                         #cooling-cells = <2>;
157                 };
158 
159                 idle-states {
160                         CPU_SLEEP_0: cpu-sleep-0 {
161                                 compatible = "arm,idle-state";
162                                 entry-latency-us = <130>;
163                                 exit-latency-us = <150>;
164                                 min-residency-us = <2000>;
165                                 local-timer-stop;
166                         };
167                 };
168         };
169 
170         /*
171          * MSM8939 has a big.LITTLE heterogeneous computing architecture,
172          * consisting of two clusters of four ARM Cortex-A53s each. The
173          * LITTLE cluster runs at 1.0-1.2GHz, and the big cluster runs
174          * at 1.5-1.7GHz.
175          *
176          * The enable method used here is spin-table which presupposes use
177          * of a 2nd stage boot shim such as lk2nd to have installed a
178          * spin-table, the downstream non-psci/non-spin-table method that
179          * default msm8916/msm8936/msm8939 will not be supported upstream.
180          */
181         cpu-map {
182                 /* LITTLE (efficiency) cluster */
183                 cluster0 {
184                         core0 {
185                                 cpu = <&CPU4>;
186                         };
187 
188                         core1 {
189                                 cpu = <&CPU5>;
190                         };
191 
192                         core2 {
193                                 cpu = <&CPU6>;
194                         };
195 
196                         core3 {
197                                 cpu = <&CPU7>;
198                         };
199                 };
200 
201                 /* big (performance) cluster */
202                 /* Boot CPU is cluster 1 core 0 */
203                 cluster1 {
204                         core0 {
205                                 cpu = <&CPU0>;
206                         };
207 
208                         core1 {
209                                 cpu = <&CPU1>;
210                         };
211 
212                         core2 {
213                                 cpu = <&CPU2>;
214                         };
215 
216                         core3 {
217                                 cpu = <&CPU3>;
218                         };
219                 };
220         };
221 
222         firmware {
223                 scm: scm {
224                         compatible = "qcom,scm-msm8916", "qcom,scm";
225                         clocks = <&gcc GCC_CRYPTO_CLK>,
226                                  <&gcc GCC_CRYPTO_AXI_CLK>,
227                                  <&gcc GCC_CRYPTO_AHB_CLK>;
228                         clock-names = "core", "bus", "iface";
229                         #reset-cells = <1>;
230 
231                         qcom,dload-mode = <&tcsr 0x6100>;
232                 };
233         };
234 
235         memory@80000000 {
236                 device_type = "memory";
237                 /* We expect the bootloader to fill in the reg */
238                 reg = <0x0 0x80000000 0x0 0x0>;
239         };
240 
241         pmu {
242                 compatible = "arm,cortex-a53-pmu";
243                 interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
244         };
245 
246         rpm: remoteproc {
247                 compatible = "qcom,msm8936-rpm-proc", "qcom,rpm-proc";
248 
249                 smd-edge {
250                         interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
251                         mboxes = <&apcs1_mbox 0>;
252                         qcom,smd-edge = <15>;
253 
254                         rpm_requests: rpm-requests {
255                                 compatible = "qcom,rpm-msm8936";
256                                 qcom,smd-channels = "rpm_requests";
257 
258                                 rpmcc: clock-controller {
259                                         compatible = "qcom,rpmcc-msm8936", "qcom,rpmcc";
260                                         #clock-cells = <1>;
261                                         clock-names = "xo";
262                                         clocks = <&xo_board>;
263                                 };
264 
265                                 rpmpd: power-controller {
266                                         compatible = "qcom,msm8939-rpmpd";
267                                         #power-domain-cells = <1>;
268                                         operating-points-v2 = <&rpmpd_opp_table>;
269 
270                                         rpmpd_opp_table: opp-table {
271                                                 compatible = "operating-points-v2";
272 
273                                                 rpmpd_opp_ret: opp1 {
274                                                         opp-level = <1>;
275                                                 };
276 
277                                                 rpmpd_opp_svs_krait: opp2 {
278                                                         opp-level = <2>;
279                                                 };
280 
281                                                 rpmpd_opp_svs_soc: opp3 {
282                                                         opp-level = <3>;
283                                                 };
284 
285                                                 rpmpd_opp_nom: opp4 {
286                                                         opp-level = <4>;
287                                                 };
288 
289                                                 rpmpd_opp_turbo: opp5 {
290                                                         opp-level = <5>;
291                                                 };
292 
293                                                 rpmpd_opp_super_turbo: opp6 {
294                                                         opp-level = <6>;
295                                                 };
296                                         };
297                                 };
298                         };
299                 };
300         };
301 
302         reserved-memory {
303                 #address-cells = <2>;
304                 #size-cells = <2>;
305                 ranges;
306 
307                 tz-apps@86000000 {
308                         reg = <0x0 0x86000000 0x0 0x300000>;
309                         no-map;
310                 };
311 
312                 smem@86300000 {
313                         compatible = "qcom,smem";
314                         reg = <0x0 0x86300000 0x0 0x100000>;
315                         no-map;
316 
317                         hwlocks = <&tcsr_mutex 3>;
318                         qcom,rpm-msg-ram = <&rpm_msg_ram>;
319                 };
320 
321                 hypervisor@86400000 {
322                         reg = <0x0 0x86400000 0x0 0x100000>;
323                         no-map;
324                 };
325 
326                 tz@86500000 {
327                         reg = <0x0 0x86500000 0x0 0x180000>;
328                         no-map;
329                 };
330 
331                 reserved@86680000 {
332                         reg = <0x0 0x86680000 0x0 0x80000>;
333                         no-map;
334                 };
335 
336                 rmtfs@86700000 {
337                         compatible = "qcom,rmtfs-mem";
338                         reg = <0x0 0x86700000 0x0 0xe0000>;
339                         no-map;
340 
341                         qcom,client-id = <1>;
342                 };
343 
344                 rfsa@867e0000 {
345                         reg = <0x0 0x867e0000 0x0 0x20000>;
346                         no-map;
347                 };
348 
349                 mpss_mem: mpss@86800000 {
350                         /*
351                          * The memory region for the mpss firmware is generally
352                          * relocatable and could be allocated dynamically.
353                          * However, many firmware versions tend to fail when
354                          * loaded to some special addresses, so it is hard to
355                          * define reliable alloc-ranges.
356                          *
357                          * alignment = <0x0 0x400000>;
358                          * alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
359                          */
360                         reg = <0x0 0x86800000 0x0 0>; /* size is device-specific */
361                         no-map;
362                         status = "disabled";
363                 };
364 
365                 wcnss_mem: wcnss {
366                         size = <0x0 0x600000>;
367                         alignment = <0x0 0x100000>;
368                         alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
369                         no-map;
370                         status = "disabled";
371                 };
372 
373                 venus_mem: venus {
374                         size = <0x0 0x500000>;
375                         alignment = <0x0 0x100000>;
376                         alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
377                         no-map;
378                         status = "disabled";
379                 };
380 
381                 mba_mem: mba {
382                         size = <0x0 0x100000>;
383                         alignment = <0x0 0x100000>;
384                         alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
385                         no-map;
386                         status = "disabled";
387                 };
388         };
389 
390         smp2p-hexagon {
391                 compatible = "qcom,smp2p";
392                 qcom,smem = <435>, <428>;
393 
394                 interrupts = <GIC_SPI 27 IRQ_TYPE_EDGE_RISING>;
395 
396                 mboxes = <&apcs1_mbox 14>;
397 
398                 qcom,local-pid = <0>;
399                 qcom,remote-pid = <1>;
400 
401                 hexagon_smp2p_out: master-kernel {
402                         qcom,entry-name = "master-kernel";
403 
404                         #qcom,smem-state-cells = <1>;
405                 };
406 
407                 hexagon_smp2p_in: slave-kernel {
408                         qcom,entry-name = "slave-kernel";
409 
410                         interrupt-controller;
411                         #interrupt-cells = <2>;
412                 };
413         };
414 
415         smp2p-wcnss {
416                 compatible = "qcom,smp2p";
417                 qcom,smem = <451>, <431>;
418 
419                 interrupts = <GIC_SPI 143 IRQ_TYPE_EDGE_RISING>;
420 
421                 mboxes = <&apcs1_mbox 18>;
422 
423                 qcom,local-pid = <0>;
424                 qcom,remote-pid = <4>;
425 
426                 wcnss_smp2p_in: slave-kernel {
427                         qcom,entry-name = "slave-kernel";
428 
429                         interrupt-controller;
430                         #interrupt-cells = <2>;
431                 };
432 
433                 wcnss_smp2p_out: master-kernel {
434                         qcom,entry-name = "master-kernel";
435 
436                         #qcom,smem-state-cells = <1>;
437                 };
438         };
439 
440         smsm {
441                 compatible = "qcom,smsm";
442 
443                 #address-cells = <1>;
444                 #size-cells = <0>;
445 
446                 mboxes = <0>, <&apcs1_mbox 13>, <0>, <&apcs1_mbox 19>;
447 
448                 apps_smsm: apps@0 {
449                         reg = <0>;
450 
451                         #qcom,smem-state-cells = <1>;
452                 };
453 
454                 hexagon_smsm: hexagon@1 {
455                         reg = <1>;
456                         interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
457 
458                         interrupt-controller;
459                         #interrupt-cells = <2>;
460                 };
461 
462                 wcnss_smsm: wcnss@6 {
463                         reg = <6>;
464                         interrupts = <GIC_SPI 144 IRQ_TYPE_EDGE_RISING>;
465 
466                         interrupt-controller;
467                         #interrupt-cells = <2>;
468                 };
469         };
470 
471         soc: soc@0 {
472                 compatible = "simple-bus";
473                 #address-cells = <1>;
474                 #size-cells = <1>;
475                 ranges = <0 0 0 0xffffffff>;
476 
477                 rng@22000 {
478                         compatible = "qcom,prng";
479                         reg = <0x00022000 0x200>;
480                         clocks = <&gcc GCC_PRNG_AHB_CLK>;
481                         clock-names = "core";
482                 };
483 
484                 qfprom: qfprom@5c000 {
485                         compatible = "qcom,msm8916-qfprom", "qcom,qfprom";
486                         reg = <0x0005c000 0x1000>;
487                         #address-cells = <1>;
488                         #size-cells = <1>;
489 
490                         tsens_base1: base1@a0 {
491                                 reg = <0xa0 0x1>;
492                                 bits = <0 8>;
493                         };
494 
495                         tsens_s6_p1: s6-p1@a1 {
496                                 reg = <0xa1 0x1>;
497                                 bits = <0 6>;
498                         };
499 
500                         tsens_s6_p2: s6-p2@a1 {
501                                 reg = <0xa1 0x2>;
502                                 bits = <6 6>;
503                         };
504 
505                         tsens_s7_p1: s7-p1@a2 {
506                                 reg = <0xa2 0x2>;
507                                 bits = <4 6>;
508                         };
509 
510                         tsens_s7_p2: s7-p2@a3 {
511                                 reg = <0xa3 0x1>;
512                                 bits = <2 6>;
513                         };
514 
515                         tsens_s8_p1: s8-p1@a4 {
516                                 reg = <0xa4 0x1>;
517                                 bits = <0 6>;
518                         };
519 
520                         tsens_s8_p2: s8-p2@a4 {
521                                 reg = <0xa4 0x2>;
522                                 bits = <6 6>;
523                         };
524 
525                         tsens_s9_p1: s9-p1@a5 {
526                                 reg = <0xa5 0x2>;
527                                 bits = <4 6>;
528                         };
529 
530                         tsens_s9_p2: s9-p2@a6 {
531                                 reg = <0xa6 0x1>;
532                                 bits = <2 6>;
533                         };
534 
535                         tsens_base2: base2@a7 {
536                                 reg = <0xa7 0x1>;
537                                 bits = <0 8>;
538                         };
539 
540                         tsens_mode: mode@d0 {
541                                 reg = <0xd0 0x1>;
542                                 bits = <0 3>;
543                         };
544 
545                         tsens_s0_p1: s0-p1@d0 {
546                                 reg = <0xd0 0x2>;
547                                 bits = <3 6>;
548                         };
549 
550                         tsens_s0_p2: s0-p1@d1 {
551                                 reg = <0xd1 0x1>;
552                                 bits = <1 6>;
553                         };
554 
555                         tsens_s1_p1: s1-p1@d1 {
556                                 reg = <0xd1 0x2>;
557                                 bits = <7 6>;
558                         };
559 
560                         tsens_s1_p2: s1-p2@d2 {
561                                 reg = <0xd2 0x2>;
562                                 bits = <5 6>;
563                         };
564 
565                         tsens_s2_p1: s2-p1@d3 {
566                                 reg = <0xd3 0x2>;
567                                 bits = <3 6>;
568                         };
569 
570                         tsens_s2_p2: s2-p2@d4 {
571                                 reg = <0xd4 0x1>;
572                                 bits = <1 6>;
573                         };
574 
575                         tsens_s3_p1: s3-p1@d4 {
576                                 reg = <0xd4 0x2>;
577                                 bits = <7 6>;
578                         };
579 
580                         tsens_s3_p2: s3-p2@d5 {
581                                 reg = <0xd5 0x2>;
582                                 bits = <5 6>;
583                         };
584 
585                         tsens_s5_p1: s5-p1@d6 {
586                                 reg = <0xd6 0x2>;
587                                 bits = <3 6>;
588                         };
589 
590                         tsens_s5_p2: s5-p2@d7 {
591                                 reg = <0xd7 0x1>;
592                                 bits = <1 6>;
593                         };
594                 };
595 
596                 rpm_msg_ram: sram@60000 {
597                         compatible = "qcom,rpm-msg-ram";
598                         reg = <0x00060000 0x8000>;
599                 };
600 
601                 bimc: interconnect@400000 {
602                         compatible = "qcom,msm8939-bimc";
603                         reg = <0x00400000 0x62000>;
604                         #interconnect-cells = <1>;
605                 };
606 
607                 tsens: thermal-sensor@4a9000 {
608                         compatible = "qcom,msm8939-tsens", "qcom,tsens-v0_1";
609                         reg = <0x004a9000 0x1000>, /* TM */
610                               <0x004a8000 0x1000>; /* SROT */
611                         nvmem-cells = <&tsens_mode>,
612                                       <&tsens_base1>, <&tsens_base2>,
613                                       <&tsens_s0_p1>, <&tsens_s0_p2>,
614                                       <&tsens_s1_p1>, <&tsens_s1_p2>,
615                                       <&tsens_s2_p1>, <&tsens_s2_p2>,
616                                       <&tsens_s3_p1>, <&tsens_s3_p2>,
617                                       <&tsens_s5_p1>, <&tsens_s5_p2>,
618                                       <&tsens_s6_p1>, <&tsens_s6_p2>,
619                                       <&tsens_s7_p1>, <&tsens_s7_p2>,
620                                       <&tsens_s8_p1>, <&tsens_s8_p2>,
621                                       <&tsens_s9_p1>, <&tsens_s9_p2>;
622                         nvmem-cell-names = "mode",
623                                            "base1", "base2",
624                                            "s0_p1", "s0_p2",
625                                            "s1_p1", "s1_p2",
626                                            "s2_p1", "s2_p2",
627                                            "s3_p1", "s3_p2",
628                                            "s5_p1", "s5_p2",
629                                            "s6_p1", "s6_p2",
630                                            "s7_p1", "s7_p2",
631                                            "s8_p1", "s8_p2",
632                                            "s9_p1", "s9_p2";
633                         #qcom,sensors = <9>;
634                         interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
635                         interrupt-names = "uplow";
636                         #thermal-sensor-cells = <1>;
637                 };
638 
639                 restart@4ab000 {
640                         compatible = "qcom,pshold";
641                         reg = <0x004ab000 0x4>;
642                 };
643 
644                 pcnoc: interconnect@500000 {
645                         compatible = "qcom,msm8939-pcnoc";
646                         reg = <0x00500000 0x11000>;
647                         #interconnect-cells = <1>;
648                 };
649 
650                 snoc: interconnect@580000 {
651                         compatible = "qcom,msm8939-snoc";
652                         reg = <0x00580000 0x14080>;
653                         #interconnect-cells = <1>;
654 
655                         snoc_mm: interconnect-snoc {
656                                 compatible = "qcom,msm8939-snoc-mm";
657                                 #interconnect-cells = <1>;
658                         };
659                 };
660 
661                 tlmm: pinctrl@1000000 {
662                         compatible = "qcom,msm8916-pinctrl";
663                         reg = <0x01000000 0x300000>;
664                         interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
665                         gpio-controller;
666                         gpio-ranges = <&tlmm 0 0 122>;
667                         #gpio-cells = <2>;
668                         interrupt-controller;
669                         #interrupt-cells = <2>;
670 
671                         blsp_i2c1_default: blsp-i2c1-default-state {
672                                 pins = "gpio2", "gpio3";
673                                 function = "blsp_i2c1";
674                                 drive-strength = <2>;
675                                 bias-disable;
676                         };
677 
678                         blsp_i2c1_sleep: blsp-i2c1-sleep-state {
679                                 pins = "gpio2", "gpio3";
680                                 function = "gpio";
681                                 drive-strength = <2>;
682                                 bias-disable;
683                         };
684 
685                         blsp_i2c2_default: blsp-i2c2-default-state {
686                                 pins = "gpio6", "gpio7";
687                                 function = "blsp_i2c2";
688                                 drive-strength = <2>;
689                                 bias-disable;
690                         };
691 
692                         blsp_i2c2_sleep: blsp-i2c2-sleep-state {
693                                 pins = "gpio6", "gpio7";
694                                 function = "gpio";
695                                 drive-strength = <2>;
696                                 bias-disable;
697                         };
698 
699                         blsp_i2c3_default: blsp-i2c3-default-state {
700                                 pins = "gpio10", "gpio11";
701                                 function = "blsp_i2c3";
702                                 drive-strength = <2>;
703                                 bias-disable;
704                         };
705 
706                         blsp_i2c3_sleep: blsp-i2c3-sleep-state {
707                                 pins = "gpio10", "gpio11";
708                                 function = "gpio";
709                                 drive-strength = <2>;
710                                 bias-disable;
711                         };
712 
713                         blsp_i2c4_default: blsp-i2c4-default-state {
714                                 pins = "gpio14", "gpio15";
715                                 function = "blsp_i2c4";
716                                 drive-strength = <2>;
717                                 bias-disable;
718                         };
719 
720                         blsp_i2c4_sleep: blsp-i2c4-sleep-state {
721                                 pins = "gpio14", "gpio15";
722                                 function = "gpio";
723                                 drive-strength = <2>;
724                                 bias-disable;
725                         };
726 
727                         blsp_i2c5_default: blsp-i2c5-default-state {
728                                 pins = "gpio18", "gpio19";
729                                 function = "blsp_i2c5";
730                                 drive-strength = <2>;
731                                 bias-disable;
732                         };
733 
734                         blsp_i2c5_sleep: blsp-i2c5-sleep-state {
735                                 pins = "gpio18", "gpio19";
736                                 function = "gpio";
737                                 drive-strength = <2>;
738                                 bias-disable;
739                         };
740 
741                         blsp_i2c6_default: blsp-i2c6-default-state {
742                                 pins = "gpio22", "gpio23";
743                                 function = "blsp_i2c6";
744                                 drive-strength = <2>;
745                                 bias-disable;
746                         };
747 
748                         blsp_i2c6_sleep: blsp-i2c6-sleep-state {
749                                 pins = "gpio22", "gpio23";
750                                 function = "gpio";
751                                 drive-strength = <2>;
752                                 bias-disable;
753                         };
754 
755                         blsp_spi1_default: blsp-spi1-default-state {
756                                 spi-pins {
757                                         pins = "gpio0", "gpio1", "gpio3";
758                                         function = "blsp_spi1";
759                                         drive-strength = <12>;
760                                         bias-disable;
761                                 };
762 
763                                 cs-pins {
764                                         pins = "gpio2";
765                                         function = "gpio";
766                                         drive-strength = <16>;
767                                         bias-disable;
768                                         output-high;
769                                 };
770                         };
771 
772                         blsp_spi1_sleep: blsp-spi1-sleep-state {
773                                 pins = "gpio0", "gpio1", "gpio2", "gpio3";
774                                 function = "gpio";
775                                 drive-strength = <2>;
776                                 bias-pull-down;
777                         };
778 
779                         blsp_spi2_default: blsp-spi2-default-state {
780                                 spi-pins {
781                                         pins = "gpio4", "gpio5", "gpio7";
782                                         function = "blsp_spi2";
783                                         drive-strength = <12>;
784                                         bias-disable;
785                                 };
786 
787                                 cs-pins {
788                                         pins = "gpio6";
789                                         function = "gpio";
790                                         drive-strength = <16>;
791                                         bias-disable;
792                                         output-high;
793                                 };
794                         };
795 
796                         blsp_spi2_sleep: blsp-spi2-sleep-state {
797                                 pins = "gpio4", "gpio5", "gpio6", "gpio7";
798                                 function = "gpio";
799                                 drive-strength = <2>;
800                                 bias-pull-down;
801                         };
802 
803                         blsp_spi3_default: blsp-spi3-default-state {
804                                 spi-pins {
805                                         pins = "gpio8", "gpio9", "gpio11";
806                                         function = "blsp_spi3";
807                                         drive-strength = <12>;
808                                         bias-disable;
809                                 };
810 
811                                 cs-pins {
812                                         pins = "gpio10";
813                                         function = "gpio";
814                                         drive-strength = <16>;
815                                         bias-disable;
816                                         output-high;
817                                 };
818                         };
819 
820                         blsp_spi3_sleep: blsp-spi3-sleep-state {
821                                 pins = "gpio8", "gpio9", "gpio10", "gpio11";
822                                 function = "gpio";
823                                 drive-strength = <2>;
824                                 bias-pull-down;
825                         };
826 
827                         blsp_spi4_default: blsp-spi4-default-state {
828                                 spi-pins {
829                                         pins = "gpio12", "gpio13", "gpio15";
830                                         function = "blsp_spi4";
831                                         drive-strength = <12>;
832                                         bias-disable;
833                                 };
834 
835                                 cs-pins {
836                                         pins = "gpio14";
837                                         function = "gpio";
838                                         drive-strength = <16>;
839                                         bias-disable;
840                                         output-high;
841                                 };
842                         };
843 
844                         blsp_spi4_sleep: blsp-spi4-sleep-state {
845                                 pins = "gpio12", "gpio13", "gpio14", "gpio15";
846                                 function = "gpio";
847                                 drive-strength = <2>;
848                                 bias-pull-down;
849                         };
850 
851                         blsp_spi5_default: blsp-spi5-default-state {
852                                 spi-pins {
853                                         pins = "gpio16", "gpio17", "gpio19";
854                                         function = "blsp_spi5";
855                                         drive-strength = <12>;
856                                         bias-disable;
857                                 };
858 
859                                 cs-pins {
860                                         pins = "gpio18";
861                                         function = "gpio";
862                                         drive-strength = <16>;
863                                         bias-disable;
864                                         output-high;
865                                 };
866                         };
867 
868                         blsp_spi5_sleep: blsp-spi5-sleep-state {
869                                 pins = "gpio16", "gpio17", "gpio18", "gpio19";
870                                 function = "gpio";
871                                 drive-strength = <2>;
872                                 bias-pull-down;
873                         };
874 
875                         blsp_spi6_default: blsp-spi6-default-state {
876                                 spi-pins {
877                                         pins = "gpio20", "gpio21", "gpio23";
878                                         function = "blsp_spi6";
879                                         drive-strength = <12>;
880                                         bias-disable;
881                                 };
882 
883                                 cs-pins {
884                                         pins = "gpio22";
885                                         function = "gpio";
886                                         drive-strength = <16>;
887                                         bias-disable;
888                                         output-high;
889                                 };
890                         };
891 
892                         blsp_spi6_sleep: blsp-spi6-sleep-state {
893                                 pins = "gpio20", "gpio21", "gpio22", "gpio23";
894                                 function = "gpio";
895                                 drive-strength = <2>;
896                                 bias-pull-down;
897                         };
898 
899                         blsp_uart1_default: blsp-uart1-default-state {
900                                 pins = "gpio0", "gpio1", "gpio2", "gpio3";
901                                 function = "blsp_uart1";
902                                 drive-strength = <16>;
903                                 bias-disable;
904                         };
905 
906                         blsp_uart1_sleep: blsp-uart1-sleep-state {
907                                 pins = "gpio0", "gpio1", "gpio2", "gpio3";
908                                 function = "gpio";
909                                 drive-strength = <2>;
910                                 bias-pull-down;
911                         };
912 
913                         blsp_uart2_default: blsp-uart2-default-state {
914                                 pins = "gpio4", "gpio5";
915                                 function = "blsp_uart2";
916                                 drive-strength = <16>;
917                                 bias-disable;
918                         };
919 
920                         blsp_uart2_sleep: blsp-uart2-sleep-state {
921                                 pins = "gpio4", "gpio5";
922                                 function = "gpio";
923                                 drive-strength = <2>;
924                                 bias-pull-down;
925                         };
926 
927                         camera_front_default: camera-front-default-state {
928                                 pwdn-pins {
929                                         pins = "gpio33";
930                                         function = "gpio";
931                                         drive-strength = <16>;
932                                         bias-disable;
933                                 };
934 
935                                 rst-pins {
936                                         pins = "gpio28";
937                                         function = "gpio";
938                                         drive-strength = <16>;
939                                         bias-disable;
940                                 };
941 
942                                 mclk1-pins {
943                                         pins = "gpio27";
944                                         function = "cam_mclk1";
945                                         drive-strength = <16>;
946                                         bias-disable;
947                                 };
948                         };
949 
950                         camera_rear_default: camera-rear-default-state {
951                                 pwdn-pins {
952                                         pins = "gpio34";
953                                         function = "gpio";
954                                         drive-strength = <16>;
955                                         bias-disable;
956                                 };
957 
958                                 rst-pins {
959                                         pins = "gpio35";
960                                         function = "gpio";
961                                         drive-strength = <16>;
962                                         bias-disable;
963                                 };
964 
965                                 mclk0-pins {
966                                         pins = "gpio26";
967                                         function = "cam_mclk0";
968                                         drive-strength = <16>;
969                                         bias-disable;
970                                 };
971                         };
972 
973                         cci0_default: cci0-default-state {
974                                 pins = "gpio29", "gpio30";
975                                 function = "cci_i2c";
976                                 drive-strength = <16>;
977                                 bias-disable;
978                         };
979 
980                         cdc_dmic_default: cdc-dmic-default-state {
981                                 clk-pins {
982                                         pins = "gpio0";
983                                         function = "dmic0_clk";
984                                         drive-strength = <8>;
985                                 };
986 
987                                 data-pins {
988                                         pins = "gpio1";
989                                         function = "dmic0_data";
990                                         drive-strength = <8>;
991                                 };
992                         };
993 
994                         cdc_dmic_sleep: cdc-dmic-sleep-state {
995                                 clk-pins {
996                                         pins = "gpio0";
997                                         function = "dmic0_clk";
998                                         drive-strength = <2>;
999                                         bias-disable;
1000                                 };
1001 
1002                                 data-pins {
1003                                         pins = "gpio1";
1004                                         function = "dmic0_data";
1005                                         drive-strength = <2>;
1006                                         bias-disable;
1007                                 };
1008                         };
1009 
1010                         cdc_pdm_default: cdc-pdm-default-state {
1011                                 pins = "gpio63", "gpio64", "gpio65", "gpio66",
1012                                        "gpio67", "gpio68";
1013                                 function = "cdc_pdm0";
1014                                 drive-strength = <8>;
1015                                 bias-disable;
1016                         };
1017 
1018                         cdc_pdm_sleep: cdc-pdm-sleep-state {
1019                                 pins = "gpio63", "gpio64", "gpio65", "gpio66",
1020                                        "gpio67", "gpio68";
1021                                 function = "cdc_pdm0";
1022                                 drive-strength = <2>;
1023                                 bias-pull-down;
1024                         };
1025 
1026                         pri_mi2s_default: mi2s-pri-default-state {
1027                                 pins = "gpio113", "gpio114", "gpio115", "gpio116";
1028                                 function = "pri_mi2s";
1029                                 drive-strength = <8>;
1030                                 bias-disable;
1031                         };
1032 
1033                         pri_mi2s_sleep: mi2s-pri-sleep-state {
1034                                 pins = "gpio113", "gpio114", "gpio115", "gpio116";
1035                                 function = "pri_mi2s";
1036                                 drive-strength = <2>;
1037                                 bias-disable;
1038                         };
1039 
1040                         pri_mi2s_mclk_default: mi2s-pri-mclk-default-state {
1041                                 pins = "gpio116";
1042                                 function = "pri_mi2s";
1043                                 drive-strength = <8>;
1044                                 bias-disable;
1045                         };
1046 
1047                         pri_mi2s_mclk_sleep: mi2s-pri-mclk-sleep-state {
1048                                 pins = "gpio116";
1049                                 function = "pri_mi2s";
1050                                 drive-strength = <2>;
1051                                 bias-disable;
1052                         };
1053 
1054                         pri_mi2s_ws_default: mi2s-pri-ws-default-state {
1055                                 pins = "gpio110";
1056                                 function = "pri_mi2s_ws";
1057                                 drive-strength = <8>;
1058                                 bias-disable;
1059                         };
1060 
1061                         pri_mi2s_ws_sleep: mi2s-pri-ws-sleep-state {
1062                                 pins = "gpio110";
1063                                 function = "pri_mi2s_ws";
1064                                 drive-strength = <2>;
1065                                 bias-disable;
1066                         };
1067 
1068                         sec_mi2s_default: mi2s-sec-default-state {
1069                                 pins = "gpio112", "gpio117", "gpio118", "gpio119";
1070                                 function = "sec_mi2s";
1071                                 drive-strength = <8>;
1072                                 bias-disable;
1073                         };
1074 
1075                         sec_mi2s_sleep: mi2s-sec-sleep-state {
1076                                 pins = "gpio112", "gpio117", "gpio118", "gpio119";
1077                                 function = "sec_mi2s";
1078                                 drive-strength = <2>;
1079                                 bias-disable;
1080                         };
1081 
1082                         sdc1_default: sdc1-default-state {
1083                                 clk-pins {
1084                                         pins = "sdc1_clk";
1085                                         bias-disable;
1086                                         drive-strength = <16>;
1087                                 };
1088 
1089                                 cmd-pins {
1090                                         pins = "sdc1_cmd";
1091                                         bias-pull-up;
1092                                         drive-strength = <10>;
1093                                 };
1094 
1095                                 data-pins {
1096                                         pins = "sdc1_data";
1097                                         bias-pull-up;
1098                                         drive-strength = <10>;
1099                                 };
1100                         };
1101 
1102                         sdc1_sleep: sdc1-sleep-state {
1103                                 clk-pins {
1104                                         pins = "sdc1_clk";
1105                                         bias-disable;
1106                                         drive-strength = <2>;
1107                                 };
1108 
1109                                 cmd-pins {
1110                                         pins = "sdc1_cmd";
1111                                         bias-pull-up;
1112                                         drive-strength = <2>;
1113                                 };
1114 
1115                                 data-pins {
1116                                         pins = "sdc1_data";
1117                                         bias-pull-up;
1118                                         drive-strength = <2>;
1119                                 };
1120                         };
1121 
1122                         sdc2_default: sdc2-default-state {
1123                                 clk-pins {
1124                                         pins = "sdc2_clk";
1125                                         bias-disable;
1126                                         drive-strength = <16>;
1127                                 };
1128 
1129                                 cmd-pins {
1130                                         pins = "sdc2_cmd";
1131                                         bias-pull-up;
1132                                         drive-strength = <10>;
1133                                 };
1134 
1135                                 data-pins {
1136                                         pins = "sdc2_data";
1137                                         bias-pull-up;
1138                                         drive-strength = <10>;
1139                                 };
1140                         };
1141 
1142                         sdc2_sleep: sdc2-sleep-state {
1143                                 clk-pins {
1144                                         pins = "sdc2_clk";
1145                                         bias-disable;
1146                                         drive-strength = <2>;
1147                                 };
1148 
1149                                 cmd-pins {
1150                                         pins = "sdc2_cmd";
1151                                         bias-pull-up;
1152                                         drive-strength = <2>;
1153                                 };
1154 
1155                                 data-pins {
1156                                         pins = "sdc2_data";
1157                                         bias-pull-up;
1158                                         drive-strength = <2>;
1159                                 };
1160                         };
1161 
1162                         wcss_wlan_default: wcss-wlan-default-state {
1163                                 pins = "gpio40", "gpio41", "gpio42", "gpio43", "gpio44";
1164                                 function = "wcss_wlan";
1165                                 drive-strength = <6>;
1166                                 bias-pull-up;
1167                         };
1168                 };
1169 
1170                 gcc: clock-controller@1800000 {
1171                         compatible = "qcom,gcc-msm8939";
1172                         reg = <0x01800000 0x80000>;
1173                         clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
1174                                  <&sleep_clk>,
1175                                  <&mdss_dsi0_phy 1>,
1176                                  <&mdss_dsi0_phy 0>,
1177                                  <0>,
1178                                  <0>,
1179                                  <0>;
1180                         clock-names = "xo",
1181                                       "sleep_clk",
1182                                       "dsi0pll",
1183                                       "dsi0pllbyte",
1184                                       "ext_mclk",
1185                                       "ext_pri_i2s",
1186                                       "ext_sec_i2s";
1187                         #clock-cells = <1>;
1188                         #reset-cells = <1>;
1189                         #power-domain-cells = <1>;
1190                 };
1191 
1192                 tcsr_mutex: hwlock@1905000 {
1193                         compatible = "qcom,tcsr-mutex";
1194                         reg = <0x01905000 0x20000>;
1195                         #hwlock-cells = <1>;
1196                 };
1197 
1198                 tcsr: syscon@1937000 {
1199                         compatible = "qcom,tcsr-msm8916", "syscon";
1200                         reg = <0x01937000 0x30000>;
1201                 };
1202 
1203                 mdss: display-subsystem@1a00000 {
1204                         compatible = "qcom,mdss";
1205                         reg = <0x01a00000 0x1000>,
1206                               <0x01ac8000 0x3000>;
1207                         reg-names = "mdss_phys", "vbif_phys";
1208 
1209                         interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
1210                         interrupt-controller;
1211 
1212                         clocks = <&gcc GCC_MDSS_AHB_CLK>,
1213                                  <&gcc GCC_MDSS_AXI_CLK>,
1214                                  <&gcc GCC_MDSS_VSYNC_CLK>;
1215                         clock-names = "iface",
1216                                       "bus",
1217                                       "vsync";
1218 
1219                         power-domains = <&gcc MDSS_GDSC>;
1220 
1221                         #address-cells = <1>;
1222                         #size-cells = <1>;
1223                         #interrupt-cells = <1>;
1224                         ranges;
1225 
1226                         status = "disabled";
1227 
1228                         mdss_mdp: display-controller@1a01000 {
1229                                 compatible = "qcom,mdp5";
1230                                 reg = <0x01a01000 0x89000>;
1231                                 reg-names = "mdp_phys";
1232 
1233                                 interrupt-parent = <&mdss>;
1234                                 interrupts = <0>;
1235 
1236                                 clocks = <&gcc GCC_MDSS_AHB_CLK>,
1237                                          <&gcc GCC_MDSS_AXI_CLK>,
1238                                          <&gcc GCC_MDSS_MDP_CLK>,
1239                                          <&gcc GCC_MDSS_VSYNC_CLK>;
1240                                 clock-names = "iface",
1241                                               "bus",
1242                                               "core",
1243                                               "vsync";
1244 
1245                                 iommus = <&apps_iommu 4>;
1246 
1247                                 interconnects = <&snoc_mm MASTER_MDP_PORT0 &bimc SLAVE_EBI_CH0>,
1248                                                 <&snoc_mm MASTER_MDP_PORT1 &bimc SLAVE_EBI_CH0>;
1249                                 interconnect-names = "mdp0-mem", "mdp1-mem";
1250 
1251                                 ports {
1252                                         #address-cells = <1>;
1253                                         #size-cells = <0>;
1254 
1255                                         port@0 {
1256                                                 reg = <0>;
1257                                                 mdss_mdp_intf1_out: endpoint {
1258                                                         remote-endpoint = <&mdss_dsi0_in>;
1259                                                 };
1260                                         };
1261 
1262                                         port@1 {
1263                                                 reg = <1>;
1264                                                 mdss_mdp_intf2_out: endpoint {
1265                                                         remote-endpoint = <&mdss_dsi1_in>;
1266                                                 };
1267                                         };
1268                                 };
1269                         };
1270 
1271                         mdss_dsi0: dsi@1a98000 {
1272                                 compatible = "qcom,msm8916-dsi-ctrl",
1273                                              "qcom,mdss-dsi-ctrl";
1274                                 reg = <0x01a98000 0x25c>;
1275                                 reg-names = "dsi_ctrl";
1276 
1277                                 interrupt-parent = <&mdss>;
1278                                 interrupts = <4>;
1279 
1280                                 clocks = <&gcc GCC_MDSS_MDP_CLK>,
1281                                          <&gcc GCC_MDSS_AHB_CLK>,
1282                                          <&gcc GCC_MDSS_AXI_CLK>,
1283                                          <&gcc GCC_MDSS_BYTE0_CLK>,
1284                                          <&gcc GCC_MDSS_PCLK0_CLK>,
1285                                          <&gcc GCC_MDSS_ESC0_CLK>;
1286                                 clock-names = "mdp_core",
1287                                               "iface",
1288                                               "bus",
1289                                               "byte",
1290                                               "pixel",
1291                                               "core";
1292                                 assigned-clocks = <&gcc BYTE0_CLK_SRC>,
1293                                                   <&gcc PCLK0_CLK_SRC>;
1294                                 assigned-clock-parents = <&mdss_dsi0_phy 0>,
1295                                                          <&mdss_dsi0_phy 1>;
1296 
1297                                 phys = <&mdss_dsi0_phy>;
1298                                 status = "disabled";
1299 
1300                                 #address-cells = <1>;
1301                                 #size-cells = <0>;
1302 
1303                                 ports {
1304                                         #address-cells = <1>;
1305                                         #size-cells = <0>;
1306 
1307                                         port@0 {
1308                                                 reg = <0>;
1309                                                 mdss_dsi0_in: endpoint {
1310                                                         remote-endpoint = <&mdss_mdp_intf1_out>;
1311                                                 };
1312                                         };
1313 
1314                                         port@1 {
1315                                                 reg = <1>;
1316                                                 mdss_dsi0_out: endpoint {
1317                                                 };
1318                                         };
1319                                 };
1320                         };
1321 
1322                         mdss_dsi0_phy: phy@1a98300 {
1323                                 compatible = "qcom,dsi-phy-28nm-lp";
1324                                 reg = <0x01a98300 0xd4>,
1325                                       <0x01a98500 0x280>,
1326                                       <0x01a98780 0x30>;
1327                                 reg-names = "dsi_pll",
1328                                             "dsi_phy",
1329                                             "dsi_phy_regulator";
1330 
1331                                 clocks = <&gcc GCC_MDSS_AHB_CLK>,
1332                                          <&rpmcc RPM_SMD_XO_CLK_SRC>;
1333                                 clock-names = "iface", "ref";
1334 
1335                                 #clock-cells = <1>;
1336                                 #phy-cells = <0>;
1337                                 status = "disabled";
1338                         };
1339 
1340                         mdss_dsi1: dsi@1aa0000 {
1341                                 compatible = "qcom,msm8916-dsi-ctrl",
1342                                              "qcom,mdss-dsi-ctrl";
1343                                 reg = <0x01aa0000 0x25c>;
1344                                 reg-names = "dsi_ctrl";
1345 
1346                                 interrupt-parent = <&mdss>;
1347                                 interrupts = <5>;
1348 
1349                                 clocks = <&gcc GCC_MDSS_MDP_CLK>,
1350                                          <&gcc GCC_MDSS_AHB_CLK>,
1351                                          <&gcc GCC_MDSS_AXI_CLK>,
1352                                          <&gcc GCC_MDSS_BYTE1_CLK>,
1353                                          <&gcc GCC_MDSS_PCLK1_CLK>,
1354                                          <&gcc GCC_MDSS_ESC1_CLK>;
1355                                 clock-names = "mdp_core",
1356                                               "iface",
1357                                               "bus",
1358                                               "byte",
1359                                               "pixel",
1360                                               "core";
1361                                 assigned-clocks = <&gcc BYTE1_CLK_SRC>,
1362                                                   <&gcc PCLK1_CLK_SRC>;
1363                                 assigned-clock-parents = <&mdss_dsi0_phy 0>,
1364                                                          <&mdss_dsi0_phy 1>;
1365                                 phys = <&mdss_dsi1_phy>;
1366                                 status = "disabled";
1367 
1368                                 ports {
1369                                         #address-cells = <1>;
1370                                         #size-cells = <0>;
1371 
1372                                         port@0 {
1373                                                 reg = <0>;
1374                                                 mdss_dsi1_in: endpoint {
1375                                                         remote-endpoint = <&mdss_mdp_intf2_out>;
1376                                                 };
1377                                         };
1378 
1379                                         port@1 {
1380                                                 reg = <1>;
1381                                                 mdss_dsi1_out: endpoint {
1382                                                 };
1383                                         };
1384                                 };
1385                         };
1386 
1387                         mdss_dsi1_phy: phy@1aa0300 {
1388                                 compatible = "qcom,dsi-phy-28nm-lp";
1389                                 reg = <0x01aa0300 0xd4>,
1390                                       <0x01aa0500 0x280>,
1391                                       <0x01aa0780 0x30>;
1392                                 reg-names = "dsi_pll",
1393                                             "dsi_phy",
1394                                             "dsi_phy_regulator";
1395 
1396                                 clocks = <&gcc GCC_MDSS_AHB_CLK>,
1397                                          <&rpmcc RPM_SMD_XO_CLK_SRC>;
1398                                 clock-names = "iface", "ref";
1399 
1400                                 #clock-cells = <1>;
1401                                 #phy-cells = <0>;
1402                                 status = "disabled";
1403                         };
1404                 };
1405 
1406                 gpu: gpu@1c00000 {
1407                         compatible = "qcom,adreno-405.0", "qcom,adreno";
1408                         reg = <0x01c00000 0x10000>;
1409                         reg-names = "kgsl_3d0_reg_memory";
1410                         interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
1411                         interrupt-names = "kgsl_3d0_irq";
1412                         clock-names = "core",
1413                                       "iface",
1414                                       "mem",
1415                                       "mem_iface",
1416                                       "alt_mem_iface",
1417                                       "gfx3d",
1418                                       "rbbmtimer";
1419                         clocks = <&gcc GCC_OXILI_GFX3D_CLK>,
1420                                  <&gcc GCC_OXILI_AHB_CLK>,
1421                                  <&gcc GCC_OXILI_GMEM_CLK>,
1422                                  <&gcc GCC_BIMC_GFX_CLK>,
1423                                  <&gcc GCC_BIMC_GPU_CLK>,
1424                                  <&gcc GFX3D_CLK_SRC>,
1425                                  <&gcc GCC_OXILI_TIMER_CLK>;
1426                         power-domains = <&gcc OXILI_GDSC>;
1427                         operating-points-v2 = <&opp_table>;
1428                         iommus = <&gpu_iommu 1>, <&gpu_iommu 2>;
1429                         #cooling-cells = <2>;
1430 
1431                         status = "disabled";
1432 
1433                         opp_table: opp-table {
1434                                 compatible = "operating-points-v2";
1435 
1436                                 opp-550000000 {
1437                                         opp-hz = /bits/ 64 <550000000>;
1438                                 };
1439 
1440                                 opp-465000000 {
1441                                         opp-hz = /bits/ 64 <465000000>;
1442                                 };
1443 
1444                                 opp-400000000 {
1445                                         opp-hz = /bits/ 64 <400000000>;
1446                                 };
1447 
1448                                 opp-220000000 {
1449                                         opp-hz = /bits/ 64 <220000000>;
1450                                 };
1451 
1452                                 opp-19200000 {
1453                                         opp-hz = /bits/ 64 <19200000>;
1454                                 };
1455                         };
1456                 };
1457 
1458                 apps_iommu: iommu@1ef0000 {
1459                         compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1";
1460                         reg = <0x01ef0000 0x3000>;
1461                         ranges = <0 0x01e20000 0x20000>;
1462                         clocks = <&gcc GCC_SMMU_CFG_CLK>,
1463                                  <&gcc GCC_APSS_TCU_CLK>;
1464                         clock-names = "iface", "bus";
1465                         #address-cells = <1>;
1466                         #size-cells = <1>;
1467                         #iommu-cells = <1>;
1468                         qcom,iommu-secure-id = <17>;
1469 
1470                         /* mdp_0: */
1471                         iommu-ctx@4000 {
1472                                 compatible = "qcom,msm-iommu-v1-ns";
1473                                 reg = <0x4000 0x1000>;
1474                                 interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
1475                         };
1476 
1477                         /* venus_ns: */
1478                         iommu-ctx@5000 {
1479                                 compatible = "qcom,msm-iommu-v1-sec";
1480                                 reg = <0x5000 0x1000>;
1481                                 interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
1482                         };
1483                 };
1484 
1485                 gpu_iommu: iommu@1f08000 {
1486                         compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1";
1487                         ranges = <0 0x1f08000 0x10000>;
1488                         clocks = <&gcc GCC_SMMU_CFG_CLK>,
1489                                  <&gcc GCC_GFX_TCU_CLK>,
1490                                  <&gcc GCC_GFX_TBU_CLK>;
1491                         clock-names = "iface", "bus", "tbu";
1492                         #address-cells = <1>;
1493                         #size-cells = <1>;
1494                         #iommu-cells = <1>;
1495                         qcom,iommu-secure-id = <18>;
1496 
1497                         /* gfx3d_user: */
1498                         iommu-ctx@1000 {
1499                                 compatible = "qcom,msm-iommu-v1-ns";
1500                                 reg = <0x1000 0x1000>;
1501                                 interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>;
1502                         };
1503 
1504                         /* gfx3d_priv: */
1505                         iommu-ctx@2000 {
1506                                 compatible = "qcom,msm-iommu-v1-ns";
1507                                 reg = <0x2000 0x1000>;
1508                                 interrupts = <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>;
1509                         };
1510                 };
1511 
1512                 spmi_bus: spmi@200f000 {
1513                         compatible = "qcom,spmi-pmic-arb";
1514                         reg = <0x0200f000 0x001000>,
1515                               <0x02400000 0x400000>,
1516                               <0x02c00000 0x400000>,
1517                               <0x03800000 0x200000>,
1518                               <0x0200a000 0x002100>;
1519                         reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
1520                         interrupt-names = "periph_irq";
1521                         interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
1522                         qcom,ee = <0>;
1523                         qcom,channel = <0>;
1524                         #address-cells = <2>;
1525                         #size-cells = <0>;
1526                         interrupt-controller;
1527                         #interrupt-cells = <4>;
1528                 };
1529 
1530                 bam_dmux_dma: dma-controller@4044000 {
1531                         compatible = "qcom,bam-v1.7.0";
1532                         reg = <0x04044000 0x19000>;
1533                         interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
1534                         #dma-cells = <1>;
1535                         qcom,ee = <0>;
1536 
1537                         num-channels = <6>;
1538                         qcom,num-ees = <1>;
1539                         qcom,powered-remotely;
1540 
1541                         status = "disabled";
1542                 };
1543 
1544                 mpss: remoteproc@4080000 {
1545                         compatible = "qcom,msm8916-mss-pil";
1546                         reg = <0x04080000 0x100>, <0x04020000 0x040>;
1547                         reg-names = "qdsp6", "rmb";
1548                         interrupts-extended = <&intc GIC_SPI 24 IRQ_TYPE_EDGE_RISING>,
1549                                               <&hexagon_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
1550                                               <&hexagon_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
1551                                               <&hexagon_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
1552                                               <&hexagon_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
1553                         interrupt-names = "wdog",
1554                                           "fatal",
1555                                           "ready",
1556                                           "handover",
1557                                           "stop-ack";
1558                         clocks = <&gcc GCC_MSS_CFG_AHB_CLK>,
1559                                  <&gcc GCC_MSS_Q6_BIMC_AXI_CLK>,
1560                                  <&gcc GCC_BOOT_ROM_AHB_CLK>,
1561                                  <&rpmcc RPM_SMD_XO_CLK_SRC>;
1562                         clock-names = "iface",
1563                                       "bus",
1564                                       "mem",
1565                                       "xo";
1566                         power-domains = <&rpmpd MSM8939_VDDMDCX>,
1567                                         <&rpmpd MSM8939_VDDMX>;
1568                         power-domain-names = "cx", "mx";
1569                         qcom,smem-states = <&hexagon_smp2p_out 0>;
1570                         qcom,smem-state-names = "stop";
1571                         resets = <&scm 0>;
1572                         reset-names = "mss_restart";
1573                         qcom,halt-regs = <&tcsr 0x18000 0x19000 0x1a000>;
1574                         status = "disabled";
1575 
1576                         bam_dmux: bam-dmux {
1577                                 compatible = "qcom,bam-dmux";
1578 
1579                                 interrupt-parent = <&hexagon_smsm>;
1580                                 interrupts = <1 IRQ_TYPE_EDGE_BOTH>, <11 IRQ_TYPE_EDGE_BOTH>;
1581                                 interrupt-names = "pc", "pc-ack";
1582 
1583                                 qcom,smem-states = <&apps_smsm 1>, <&apps_smsm 11>;
1584                                 qcom,smem-state-names = "pc", "pc-ack";
1585 
1586                                 dmas = <&bam_dmux_dma 4>, <&bam_dmux_dma 5>;
1587                                 dma-names = "tx", "rx";
1588 
1589                                 status = "disabled";
1590                         };
1591 
1592                         mba {
1593                                 memory-region = <&mba_mem>;
1594                         };
1595 
1596                         mpss {
1597                                 memory-region = <&mpss_mem>;
1598                         };
1599 
1600                         smd-edge {
1601                                 interrupts = <GIC_SPI 25 IRQ_TYPE_EDGE_RISING>;
1602 
1603                                 qcom,smd-edge = <0>;
1604                                 mboxes = <&apcs1_mbox 12>;
1605                                 qcom,remote-pid = <1>;
1606 
1607                                 label = "hexagon";
1608 
1609                                 apr: apr {
1610                                         compatible = "qcom,apr-v2";
1611                                         qcom,smd-channels = "apr_audio_svc";
1612                                         qcom,domain = <APR_DOMAIN_ADSP>;
1613                                         #address-cells = <1>;
1614                                         #size-cells = <0>;
1615                                         status = "disabled";
1616 
1617                                         q6core: service@3 {
1618                                                 compatible = "qcom,q6core";
1619                                                 reg = <APR_SVC_ADSP_CORE>;
1620                                         };
1621 
1622                                         q6afe: service@4 {
1623                                                 compatible = "qcom,q6afe";
1624                                                 reg = <APR_SVC_AFE>;
1625 
1626                                                 q6afedai: dais {
1627                                                         compatible = "qcom,q6afe-dais";
1628                                                         #address-cells = <1>;
1629                                                         #size-cells = <0>;
1630                                                         #sound-dai-cells = <1>;
1631                                                 };
1632                                         };
1633 
1634                                         q6asm: service@7 {
1635                                                 compatible = "qcom,q6asm";
1636                                                 reg = <APR_SVC_ASM>;
1637 
1638                                                 q6asmdai: dais {
1639                                                         compatible = "qcom,q6asm-dais";
1640                                                         #address-cells = <1>;
1641                                                         #size-cells = <0>;
1642                                                         #sound-dai-cells = <1>;
1643                                                 };
1644                                         };
1645 
1646                                         q6adm: service@8 {
1647                                                 compatible = "qcom,q6adm";
1648                                                 reg = <APR_SVC_ADM>;
1649 
1650                                                 q6routing: routing {
1651                                                         compatible = "qcom,q6adm-routing";
1652                                                         #sound-dai-cells = <0>;
1653                                                 };
1654                                         };
1655                                 };
1656                         };
1657                 };
1658 
1659                 sound: sound@7702000 {
1660                         compatible = "qcom,apq8016-sbc-sndcard";
1661                         reg = <0x07702000 0x4>,
1662                               <0x07702004 0x4>;
1663                         reg-names = "mic-iomux", "spkr-iomux";
1664                         status = "disabled";
1665                 };
1666 
1667                 lpass: audio-controller@7708000 {
1668                         compatible = "qcom,apq8016-lpass-cpu";
1669                         reg = <0x07708000 0x10000>;
1670                         reg-names = "lpass-lpaif";
1671                         interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
1672                         interrupt-names = "lpass-irq-lpaif";
1673                         clocks = <&gcc GCC_ULTAUDIO_AHBFABRIC_IXFABRIC_CLK>,
1674                                  <&gcc GCC_ULTAUDIO_LPAIF_PRI_I2S_CLK>,
1675                                  <&gcc GCC_ULTAUDIO_LPAIF_PRI_I2S_CLK>,
1676                                  <&gcc GCC_ULTAUDIO_LPAIF_SEC_I2S_CLK>,
1677                                  <&gcc GCC_ULTAUDIO_LPAIF_AUX_I2S_CLK>,
1678                                  <&gcc GCC_ULTAUDIO_PCNOC_MPORT_CLK>,
1679                                  <&gcc GCC_ULTAUDIO_PCNOC_SWAY_CLK>;
1680                         clock-names = "ahbix-clk",
1681                                       "mi2s-bit-clk0",
1682                                       "mi2s-bit-clk1",
1683                                       "mi2s-bit-clk2",
1684                                       "mi2s-bit-clk3",
1685                                       "pcnoc-mport-clk",
1686                                       "pcnoc-sway-clk";
1687                         #sound-dai-cells = <1>;
1688                         #address-cells = <1>;
1689                         #size-cells = <0>;
1690                         status = "disabled";
1691                 };
1692 
1693                 lpass_codec: audio-codec@771c000 {
1694                         compatible = "qcom,msm8916-wcd-digital-codec";
1695                         reg = <0x0771c000 0x400>;
1696                         clocks = <&gcc GCC_ULTAUDIO_AHBFABRIC_IXFABRIC_CLK>,
1697                                  <&gcc GCC_CODEC_DIGCODEC_CLK>;
1698                         clock-names = "ahbix-clk", "mclk";
1699                         #sound-dai-cells = <1>;
1700                         status = "disabled";
1701                 };
1702 
1703                 sdhc_1: mmc@7824900 {
1704                         compatible = "qcom,msm8916-sdhci", "qcom,sdhci-msm-v4";
1705                         reg = <0x07824900 0x11c>, <0x07824000 0x800>;
1706                         reg-names = "hc", "core";
1707 
1708                         interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
1709                                      <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
1710                         interrupt-names = "hc_irq", "pwr_irq";
1711                         clocks = <&gcc GCC_SDCC1_AHB_CLK>,
1712                                  <&gcc GCC_SDCC1_APPS_CLK>,
1713                                  <&rpmcc RPM_SMD_XO_CLK_SRC>;
1714                         clock-names = "iface", "core", "xo";
1715                         resets = <&gcc GCC_SDCC1_BCR>;
1716                         pinctrl-0 = <&sdc1_default>;
1717                         pinctrl-1 = <&sdc1_sleep>;
1718                         pinctrl-names = "default", "sleep";
1719                         mmc-ddr-1_8v;
1720                         bus-width = <8>;
1721                         non-removable;
1722                         status = "disabled";
1723                 };
1724 
1725                 sdhc_2: mmc@7864900 {
1726                         compatible = "qcom,msm8916-sdhci", "qcom,sdhci-msm-v4";
1727                         reg = <0x07864900 0x11c>, <0x07864000 0x800>;
1728                         reg-names = "hc", "core";
1729 
1730                         interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
1731                                      <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
1732                         interrupt-names = "hc_irq", "pwr_irq";
1733                         clocks = <&gcc GCC_SDCC2_AHB_CLK>,
1734                                  <&gcc GCC_SDCC2_APPS_CLK>,
1735                                  <&rpmcc RPM_SMD_XO_CLK_SRC>;
1736                         clock-names = "iface", "core", "xo";
1737                         resets = <&gcc GCC_SDCC2_BCR>;
1738                         pinctrl-0 = <&sdc2_default>;
1739                         pinctrl-1 = <&sdc2_sleep>;
1740                         pinctrl-names = "default", "sleep";
1741                         bus-width = <4>;
1742                         status = "disabled";
1743                 };
1744 
1745                 blsp_dma: dma-controller@7884000 {
1746                         compatible = "qcom,bam-v1.7.0";
1747                         reg = <0x07884000 0x23000>;
1748                         interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
1749                         clocks = <&gcc GCC_BLSP1_AHB_CLK>;
1750                         clock-names = "bam_clk";
1751                         #dma-cells = <1>;
1752                         qcom,ee = <0>;
1753                         qcom,controlled-remotely;
1754                 };
1755 
1756                 blsp_uart1: serial@78af000 {
1757                         compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
1758                         reg = <0x078af000 0x200>;
1759                         interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
1760                         clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
1761                         clock-names = "core", "iface";
1762                         dmas = <&blsp_dma 0>, <&blsp_dma 1>;
1763                         dma-names = "tx", "rx";
1764                         pinctrl-0 = <&blsp_uart1_default>;
1765                         pinctrl-1 = <&blsp_uart1_sleep>;
1766                         pinctrl-names = "default", "sleep";
1767                         status = "disabled";
1768                 };
1769 
1770                 blsp_uart2: serial@78b0000 {
1771                         compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
1772                         reg = <0x078b0000 0x200>;
1773                         interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
1774                         clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
1775                         clock-names = "core", "iface";
1776                         dmas = <&blsp_dma 2>, <&blsp_dma 3>;
1777                         dma-names = "tx", "rx";
1778                         pinctrl-0 = <&blsp_uart2_default>;
1779                         pinctrl-1 = <&blsp_uart2_sleep>;
1780                         pinctrl-names = "default", "sleep";
1781                         status = "disabled";
1782                 };
1783 
1784                 blsp_i2c1: i2c@78b5000 {
1785                         compatible = "qcom,i2c-qup-v2.2.1";
1786                         reg = <0x078b5000 0x500>;
1787                         interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
1788                         clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>,
1789                                  <&gcc GCC_BLSP1_AHB_CLK>;
1790                         clock-names = "core", "iface";
1791                         dmas = <&blsp_dma 4>, <&blsp_dma 5>;
1792                         dma-names = "tx", "rx";
1793                         pinctrl-0 = <&blsp_i2c1_default>;
1794                         pinctrl-1 = <&blsp_i2c1_sleep>;
1795                         pinctrl-names = "default", "sleep";
1796                         #address-cells = <1>;
1797                         #size-cells = <0>;
1798                         status = "disabled";
1799                 };
1800 
1801                 blsp_spi1: spi@78b5000 {
1802                         compatible = "qcom,spi-qup-v2.2.1";
1803                         reg = <0x078b5000 0x500>;
1804                         interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
1805                         clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
1806                                  <&gcc GCC_BLSP1_AHB_CLK>;
1807                         clock-names = "core", "iface";
1808                         dmas = <&blsp_dma 4>, <&blsp_dma 5>;
1809                         dma-names = "tx", "rx";
1810                         pinctrl-0 = <&blsp_spi1_default>;
1811                         pinctrl-1 = <&blsp_spi1_sleep>;
1812                         pinctrl-names = "default", "sleep";
1813                         #address-cells = <1>;
1814                         #size-cells = <0>;
1815                         status = "disabled";
1816                 };
1817 
1818                 blsp_i2c2: i2c@78b6000 {
1819                         compatible = "qcom,i2c-qup-v2.2.1";
1820                         reg = <0x078b6000 0x500>;
1821                         interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
1822                         clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>,
1823                                  <&gcc GCC_BLSP1_AHB_CLK>;
1824                         clock-names = "core", "iface";
1825                         dmas = <&blsp_dma 6>, <&blsp_dma 7>;
1826                         dma-names = "tx", "rx";
1827                         pinctrl-0 = <&blsp_i2c2_default>;
1828                         pinctrl-1 = <&blsp_i2c2_sleep>;
1829                         pinctrl-names = "default", "sleep";
1830                         #address-cells = <1>;
1831                         #size-cells = <0>;
1832                         status = "disabled";
1833                 };
1834 
1835                 blsp_spi2: spi@78b6000 {
1836                         compatible = "qcom,spi-qup-v2.2.1";
1837                         reg = <0x078b6000 0x500>;
1838                         interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
1839                         clocks = <&gcc GCC_BLSP1_QUP2_SPI_APPS_CLK>,
1840                                  <&gcc GCC_BLSP1_AHB_CLK>;
1841                         clock-names = "core", "iface";
1842                         dmas = <&blsp_dma 6>, <&blsp_dma 7>;
1843                         dma-names = "tx", "rx";
1844                         pinctrl-0 = <&blsp_spi2_default>;
1845                         pinctrl-1 = <&blsp_spi2_sleep>;
1846                         pinctrl-names = "default", "sleep";
1847                         #address-cells = <1>;
1848                         #size-cells = <0>;
1849                         status = "disabled";
1850                 };
1851 
1852                 blsp_i2c3: i2c@78b7000 {
1853                         compatible = "qcom,i2c-qup-v2.2.1";
1854                         reg = <0x078b7000 0x500>;
1855                         interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
1856                         clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>,
1857                                  <&gcc GCC_BLSP1_AHB_CLK>;
1858                         clock-names = "core", "iface";
1859                         dmas = <&blsp_dma 8>, <&blsp_dma 9>;
1860                         dma-names = "tx", "rx";
1861                         pinctrl-0 = <&blsp_i2c3_default>;
1862                         pinctrl-1 = <&blsp_i2c3_sleep>;
1863                         pinctrl-names = "default", "sleep";
1864                         #address-cells = <1>;
1865                         #size-cells = <0>;
1866                         status = "disabled";
1867                 };
1868 
1869                 blsp_spi3: spi@78b7000 {
1870                         compatible = "qcom,spi-qup-v2.2.1";
1871                         reg = <0x078b7000 0x500>;
1872                         interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
1873                         clocks = <&gcc GCC_BLSP1_QUP3_SPI_APPS_CLK>,
1874                                  <&gcc GCC_BLSP1_AHB_CLK>;
1875                         clock-names = "core", "iface";
1876                         dmas = <&blsp_dma 8>, <&blsp_dma 9>;
1877                         dma-names = "tx", "rx";
1878                         pinctrl-0 = <&blsp_spi3_default>;
1879                         pinctrl-1 = <&blsp_spi3_sleep>;
1880                         pinctrl-names = "default", "sleep";
1881                         #address-cells = <1>;
1882                         #size-cells = <0>;
1883                         status = "disabled";
1884                 };
1885 
1886                 blsp_i2c4: i2c@78b8000 {
1887                         compatible = "qcom,i2c-qup-v2.2.1";
1888                         reg = <0x078b8000 0x500>;
1889                         interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
1890                         clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>,
1891                                  <&gcc GCC_BLSP1_AHB_CLK>;
1892                         clock-names = "core", "iface";
1893                         dmas = <&blsp_dma 10>, <&blsp_dma 11>;
1894                         dma-names = "tx", "rx";
1895                         pinctrl-0 = <&blsp_i2c4_default>;
1896                         pinctrl-1 = <&blsp_i2c4_sleep>;
1897                         pinctrl-names = "default", "sleep";
1898                         #address-cells = <1>;
1899                         #size-cells = <0>;
1900                         status = "disabled";
1901                 };
1902 
1903                 blsp_spi4: spi@78b8000 {
1904                         compatible = "qcom,spi-qup-v2.2.1";
1905                         reg = <0x078b8000 0x500>;
1906                         interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
1907                         clocks = <&gcc GCC_BLSP1_QUP4_SPI_APPS_CLK>,
1908                                  <&gcc GCC_BLSP1_AHB_CLK>;
1909                         clock-names = "core", "iface";
1910                         dmas = <&blsp_dma 10>, <&blsp_dma 11>;
1911                         dma-names = "tx", "rx";
1912                         pinctrl-0 = <&blsp_spi4_default>;
1913                         pinctrl-1 = <&blsp_spi4_sleep>;
1914                         pinctrl-names = "default", "sleep";
1915                         #address-cells = <1>;
1916                         #size-cells = <0>;
1917                         status = "disabled";
1918                 };
1919 
1920                 blsp_i2c5: i2c@78b9000 {
1921                         compatible = "qcom,i2c-qup-v2.2.1";
1922                         reg = <0x078b9000 0x500>;
1923                         interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
1924                         clocks = <&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>,
1925                                  <&gcc GCC_BLSP1_AHB_CLK>;
1926                         clock-names = "core", "iface";
1927                         dmas = <&blsp_dma 12>, <&blsp_dma 13>;
1928                         dma-names = "tx", "rx";
1929                         pinctrl-0 = <&blsp_i2c5_default>;
1930                         pinctrl-1 = <&blsp_i2c5_sleep>;
1931                         pinctrl-names = "default", "sleep";
1932                         #address-cells = <1>;
1933                         #size-cells = <0>;
1934                         status = "disabled";
1935                 };
1936 
1937                 blsp_spi5: spi@78b9000 {
1938                         compatible = "qcom,spi-qup-v2.2.1";
1939                         reg = <0x078b9000 0x500>;
1940                         interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
1941                         clocks = <&gcc GCC_BLSP1_QUP5_SPI_APPS_CLK>,
1942                                  <&gcc GCC_BLSP1_AHB_CLK>;
1943                         clock-names = "core", "iface";
1944                         dmas = <&blsp_dma 12>, <&blsp_dma 13>;
1945                         dma-names = "tx", "rx";
1946                         pinctrl-0 = <&blsp_spi5_default>;
1947                         pinctrl-1 = <&blsp_spi5_sleep>;
1948                         pinctrl-names = "default", "sleep";
1949                         #address-cells = <1>;
1950                         #size-cells = <0>;
1951                         status = "disabled";
1952                 };
1953 
1954                 blsp_i2c6: i2c@78ba000 {
1955                         compatible = "qcom,i2c-qup-v2.2.1";
1956                         reg = <0x078ba000 0x500>;
1957                         interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
1958                         clocks = <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>,
1959                                  <&gcc GCC_BLSP1_AHB_CLK>;
1960                         clock-names = "core", "iface";
1961                         dmas = <&blsp_dma 14>, <&blsp_dma 15>;
1962                         dma-names = "tx", "rx";
1963                         pinctrl-0 = <&blsp_i2c6_default>;
1964                         pinctrl-1 = <&blsp_i2c6_sleep>;
1965                         pinctrl-names = "default", "sleep";
1966                         #address-cells = <1>;
1967                         #size-cells = <0>;
1968                         status = "disabled";
1969                 };
1970 
1971                 blsp_spi6: spi@78ba000 {
1972                         compatible = "qcom,spi-qup-v2.2.1";
1973                         reg = <0x078ba000 0x500>;
1974                         interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
1975                         clocks = <&gcc GCC_BLSP1_QUP6_SPI_APPS_CLK>,
1976                                  <&gcc GCC_BLSP1_AHB_CLK>;
1977                         clock-names = "core", "iface";
1978                         dmas = <&blsp_dma 14>, <&blsp_dma 15>;
1979                         dma-names = "tx", "rx";
1980                         pinctrl-0 = <&blsp_spi6_default>;
1981                         pinctrl-1 = <&blsp_spi6_sleep>;
1982                         pinctrl-names = "default", "sleep";
1983                         #address-cells = <1>;
1984                         #size-cells = <0>;
1985                         status = "disabled";
1986                 };
1987 
1988                 usb: usb@78d9000 {
1989                         compatible = "qcom,ci-hdrc";
1990                         reg = <0x078d9000 0x200>,
1991                               <0x078d9200 0x200>;
1992                         interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
1993                                      <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
1994                         clocks = <&gcc GCC_USB_HS_AHB_CLK>,
1995                                  <&gcc GCC_USB_HS_SYSTEM_CLK>;
1996                         clock-names = "iface", "core";
1997                         assigned-clocks = <&gcc GCC_USB_HS_SYSTEM_CLK>;
1998                         assigned-clock-rates = <80000000>;
1999                         resets = <&gcc GCC_USB_HS_BCR>;
2000                         reset-names = "core";
2001                         #reset-cells = <1>;
2002                         phy_type = "ulpi";
2003                         dr_mode = "otg";
2004                         adp-disable;
2005                         hnp-disable;
2006                         srp-disable;
2007                         ahb-burst-config = <0>;
2008                         phy-names = "usb-phy";
2009                         phys = <&usb_hs_phy>;
2010                         status = "disabled";
2011 
2012                         ulpi {
2013                                 usb_hs_phy: phy {
2014                                         compatible = "qcom,usb-hs-phy-msm8916",
2015                                                      "qcom,usb-hs-phy";
2016                                         clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
2017                                                  <&gcc GCC_USB2A_PHY_SLEEP_CLK>;
2018                                         clock-names = "ref", "sleep";
2019                                         resets = <&gcc GCC_USB2A_PHY_BCR>, <&usb 0>;
2020                                         reset-names = "phy", "por";
2021                                         #phy-cells = <0>;
2022                                         qcom,init-seq = /bits/ 8 <0x0 0x44>,
2023                                                                  <0x1 0x6b>,
2024                                                                  <0x2 0x24>,
2025                                                                  <0x3 0x13>;
2026                                 };
2027                         };
2028                 };
2029 
2030                 wcnss: remoteproc@a204000 {
2031                         compatible = "qcom,pronto-v2-pil", "qcom,pronto";
2032                         interrupts-extended = <&intc GIC_SPI 149 IRQ_TYPE_EDGE_RISING>,
2033                                               <&wcnss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
2034                                               <&wcnss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
2035                                               <&wcnss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
2036                                               <&wcnss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
2037                         interrupt-names = "wdog",
2038                                           "fatal",
2039                                           "ready",
2040                                           "handover",
2041                                           "stop-ack";
2042                         reg = <0x0a204000 0x2000>,
2043                               <0x0a202000 0x1000>,
2044                               <0x0a21b000 0x3000>;
2045                         reg-names = "ccu", "dxe", "pmu";
2046 
2047                         memory-region = <&wcnss_mem>;
2048 
2049                         power-domains = <&rpmpd MSM8939_VDDCX>,
2050                                         <&rpmpd MSM8939_VDDMX>;
2051                         power-domain-names = "cx", "mx";
2052 
2053                         qcom,smem-states = <&wcnss_smp2p_out 0>;
2054                         qcom,smem-state-names = "stop";
2055 
2056                         pinctrl-names = "default";
2057                         pinctrl-0 = <&wcss_wlan_default>;
2058 
2059                         status = "disabled";
2060 
2061                         wcnss_iris: iris {
2062                                 /* Separate chip, compatible is board-specific */
2063                                 clocks = <&rpmcc RPM_SMD_RF_CLK2>;
2064                                 clock-names = "xo";
2065                         };
2066 
2067                         smd-edge {
2068                                 interrupts = <GIC_SPI 142 IRQ_TYPE_EDGE_RISING>;
2069                                 mboxes = <&apcs1_mbox 17>;
2070                                 qcom,smd-edge = <6>;
2071                                 qcom,remote-pid = <4>;
2072 
2073                                 label = "pronto";
2074 
2075                                 wcnss {
2076                                         compatible = "qcom,wcnss";
2077                                         qcom,smd-channels = "WCNSS_CTRL";
2078 
2079                                         qcom,mmio = <&wcnss>;
2080 
2081                                         wcnss_bt: bluetooth {
2082                                                 compatible = "qcom,wcnss-bt";
2083                                         };
2084 
2085                                         wcnss_wifi: wifi {
2086                                                 compatible = "qcom,wcnss-wlan";
2087 
2088                                                 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
2089                                                              <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
2090                                                 interrupt-names = "tx", "rx";
2091 
2092                                                 qcom,smem-states = <&apps_smsm 10>,
2093                                                                    <&apps_smsm 9>;
2094                                                 qcom,smem-state-names = "tx-enable",
2095                                                                         "tx-rings-empty";
2096                                         };
2097                                 };
2098                         };
2099                 };
2100 
2101                 intc: interrupt-controller@b000000 {
2102                         compatible = "qcom,msm-qgic2";
2103                         reg = <0x0b000000 0x1000>, <0x0b002000 0x2000>,
2104                               <0x0b001000 0x1000>, <0x0b004000 0x2000>;
2105                         interrupt-controller;
2106                         #interrupt-cells = <3>;
2107                         interrupts = <GIC_PPI 0 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
2108                 };
2109 
2110                 apcs1_mbox: mailbox@b011000 {
2111                         compatible = "qcom,msm8939-apcs-kpss-global", "syscon";
2112                         reg = <0x0b011000 0x1000>;
2113                         clocks = <&a53pll_c1>, <&gcc GPLL0_VOTE>, <&rpmcc RPM_SMD_XO_CLK_SRC>;
2114                         clock-names = "pll", "aux", "ref";
2115                         #clock-cells = <0>;
2116                         assigned-clocks = <&apcs2>;
2117                         assigned-clock-rates = <297600000>;
2118                         #mbox-cells = <1>;
2119                 };
2120 
2121                 a53pll_c1: clock@b016000 {
2122                         compatible = "qcom,msm8939-a53pll";
2123                         reg = <0x0b016000 0x40>;
2124                         #clock-cells = <0>;
2125                 };
2126 
2127                 acc0: clock-controller@b088000 {
2128                         compatible = "qcom,kpss-acc-v2";
2129                         reg = <0x0b088000 0x1000>;
2130                 };
2131 
2132                 saw0: power-manager@b089000 {
2133                         compatible = "qcom,msm8939-saw2-v3.0-cpu", "qcom,saw2";
2134                         reg = <0x0b089000 0x1000>;
2135                 };
2136 
2137                 acc1: clock-controller@b098000 {
2138                         compatible = "qcom,kpss-acc-v2";
2139                         reg = <0x0b098000 0x1000>;
2140                 };
2141 
2142                 saw1: power-manager@b099000 {
2143                         compatible = "qcom,msm8939-saw2-v3.0-cpu", "qcom,saw2";
2144                         reg = <0x0b099000 0x1000>;
2145                 };
2146 
2147                 acc2: clock-controller@b0a8000 {
2148                         compatible = "qcom,kpss-acc-v2";
2149                         reg = <0x0b0a8000 0x1000>;
2150                 };
2151 
2152                 saw2: power-manager@b0a9000 {
2153                         compatible = "qcom,msm8939-saw2-v3.0-cpu", "qcom,saw2";
2154                         reg = <0x0b0a9000 0x1000>;
2155                 };
2156 
2157                 acc3: clock-controller@b0b8000 {
2158                         compatible = "qcom,kpss-acc-v2";
2159                         reg = <0x0b0b8000 0x1000>;
2160                 };
2161 
2162                 saw3: power-manager@b0b9000 {
2163                         compatible = "qcom,msm8939-saw2-v3.0-cpu", "qcom,saw2";
2164                         reg = <0x0b0b9000 0x1000>;
2165                 };
2166 
2167                 apcs0_mbox: mailbox@b111000 {
2168                         compatible = "qcom,msm8939-apcs-kpss-global", "syscon";
2169                         reg = <0x0b111000 0x1000>;
2170                         clocks = <&a53pll_c0>, <&gcc GPLL0_VOTE>, <&rpmcc RPM_SMD_XO_CLK_SRC>;
2171                         clock-names = "pll", "aux", "ref";
2172                         #clock-cells = <0>;
2173                         #mbox-cells = <1>;
2174                 };
2175 
2176                 a53pll_c0: clock@b116000 {
2177                         compatible = "qcom,msm8939-a53pll";
2178                         reg = <0x0b116000 0x40>;
2179                         #clock-cells = <0>;
2180                 };
2181 
2182                 timer@b120000 {
2183                         compatible = "arm,armv7-timer-mem";
2184                         reg = <0x0b120000 0x1000>;
2185                         #address-cells = <1>;
2186                         #size-cells = <1>;
2187                         ranges;
2188                         /* Necessary because firmware does not configure this correctly */
2189                         clock-frequency = <19200000>;
2190 
2191                         frame@b121000 {
2192                                 reg = <0x0b121000 0x1000>,
2193                                       <0x0b122000 0x1000>;
2194                                 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
2195                                              <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
2196                                 frame-number = <0>;
2197                         };
2198 
2199                         frame@b123000 {
2200                                 reg = <0x0b123000 0x1000>;
2201                                 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
2202                                 frame-number = <1>;
2203                                 status = "disabled";
2204                         };
2205 
2206                         frame@b124000 {
2207                                 reg = <0x0b124000 0x1000>;
2208                                 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
2209                                 frame-number = <2>;
2210                                 status = "disabled";
2211                         };
2212 
2213                         frame@b125000 {
2214                                 reg = <0x0b125000 0x1000>;
2215                                 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
2216                                 frame-number = <3>;
2217                                 status = "disabled";
2218                         };
2219 
2220                         frame@b126000 {
2221                                 reg = <0x0b126000 0x1000>;
2222                                 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
2223                                 frame-number = <4>;
2224                                 status = "disabled";
2225                         };
2226 
2227                         frame@b127000 {
2228                                 reg = <0x0b127000 0x1000>;
2229                                 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
2230                                 frame-number = <5>;
2231                                 status = "disabled";
2232                         };
2233 
2234                         frame@b128000 {
2235                                 reg = <0x0b128000 0x1000>;
2236                                 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
2237                                 frame-number = <6>;
2238                                 status = "disabled";
2239                         };
2240                 };
2241 
2242                 acc4: clock-controller@b188000 {
2243                         compatible = "qcom,kpss-acc-v2";
2244                         reg = <0x0b188000 0x1000>;
2245                 };
2246 
2247                 saw4: power-manager@b189000 {
2248                         compatible = "qcom,msm8939-saw2-v3.0-cpu", "qcom,saw2";
2249                         reg = <0x0b189000 0x1000>;
2250                 };
2251 
2252                 acc5: clock-controller@b198000 {
2253                         compatible = "qcom,kpss-acc-v2";
2254                         reg = <0x0b198000 0x1000>;
2255                 };
2256 
2257                 saw5: power-manager@b199000 {
2258                         compatible = "qcom,msm8939-saw2-v3.0-cpu", "qcom,saw2";
2259                         reg = <0x0b199000 0x1000>;
2260                 };
2261 
2262                 acc6: clock-controller@b1a8000 {
2263                         compatible = "qcom,kpss-acc-v2";
2264                         reg = <0x0b1a8000 0x1000>;
2265                 };
2266 
2267                 saw6: power-manager@b1a9000 {
2268                         compatible = "qcom,msm8939-saw2-v3.0-cpu", "qcom,saw2";
2269                         reg = <0x0b1a9000 0x1000>;
2270                 };
2271 
2272                 acc7: clock-controller@b1b8000 {
2273                         compatible = "qcom,kpss-acc-v2";
2274                         reg = <0x0b1b8000 0x1000>;
2275                 };
2276 
2277                 saw7: power-manager@b1b9000 {
2278                         compatible = "qcom,msm8939-saw2-v3.0-cpu", "qcom,saw2";
2279                         reg = <0x0b1b9000 0x1000>;
2280                 };
2281 
2282                 a53pll_cci: clock@b1d0000 {
2283                         compatible = "qcom,msm8939-a53pll";
2284                         reg = <0x0b1d0000 0x40>;
2285                         #clock-cells = <0>;
2286                 };
2287 
2288                 apcs2: mailbox@b1d1000 {
2289                         compatible = "qcom,msm8939-apcs-kpss-global", "syscon";
2290                         reg = <0x0b1d1000 0x1000>;
2291                         clocks = <&a53pll_cci>, <&gcc GPLL0_VOTE>, <&rpmcc RPM_SMD_XO_CLK_SRC>;
2292                         clock-names = "pll", "aux", "ref";
2293                         #clock-cells = <0>;
2294                         #mbox-cells = <1>;
2295                 };
2296         };
2297 
2298         thermal_zones: thermal-zones {
2299                 cpu0-thermal {
2300                         polling-delay-passive = <250>;
2301 
2302                         thermal-sensors = <&tsens 5>;
2303 
2304                         trips {
2305                                 cpu0_alert: trip0 {
2306                                         temperature = <75000>;
2307                                         hysteresis = <2000>;
2308                                         type = "passive";
2309                                 };
2310 
2311                                 cpu0_crit: trip1 {
2312                                         temperature = <115000>;
2313                                         hysteresis = <0>;
2314                                         type = "critical";
2315                                 };
2316                         };
2317 
2318                         cooling-maps {
2319                                 map0 {
2320                                         trip = <&cpu0_alert>;
2321                                         cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2322                                                          <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2323                                                          <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2324                                                          <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2325                                 };
2326                         };
2327                 };
2328 
2329                 cpu1-thermal {
2330                         polling-delay-passive = <250>;
2331 
2332                         thermal-sensors = <&tsens 6>;
2333 
2334                         trips {
2335                                 cpu1_alert: trip0 {
2336                                         temperature = <75000>;
2337                                         hysteresis = <2000>;
2338                                         type = "passive";
2339                                 };
2340 
2341                                 cpu1_crit: trip1 {
2342                                         temperature = <110000>;
2343                                         hysteresis = <2000>;
2344                                         type = "critical";
2345                                 };
2346                         };
2347 
2348                         cooling-maps {
2349                                 map0 {
2350                                         trip = <&cpu1_alert>;
2351                                         cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2352                                                          <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2353                                                          <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2354                                                          <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2355                                 };
2356                         };
2357                 };
2358 
2359                 cpu2-thermal {
2360                         polling-delay-passive = <250>;
2361 
2362                         thermal-sensors = <&tsens 7>;
2363 
2364                         trips {
2365                                 cpu2_alert: trip0 {
2366                                         temperature = <75000>;
2367                                         hysteresis = <2000>;
2368                                         type = "passive";
2369                                 };
2370 
2371                                 cpu2_crit: trip1 {
2372                                         temperature = <110000>;
2373                                         hysteresis = <2000>;
2374                                         type = "critical";
2375                                 };
2376                         };
2377 
2378                         cooling-maps {
2379                                 map0 {
2380                                         trip = <&cpu2_alert>;
2381                                         cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2382                                                          <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2383                                                          <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2384                                                          <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2385                                 };
2386                         };
2387                 };
2388 
2389                 cpu3-thermal {
2390                         polling-delay-passive = <250>;
2391 
2392                         thermal-sensors = <&tsens 8>;
2393 
2394                         trips {
2395                                 cpu3_alert: trip0 {
2396                                         temperature = <75000>;
2397                                         hysteresis = <2000>;
2398                                         type = "passive";
2399                                 };
2400 
2401                                 cpu3_crit: trip1 {
2402                                         temperature = <110000>;
2403                                         hysteresis = <2000>;
2404                                         type = "critical";
2405                                 };
2406                         };
2407 
2408                         cooling-maps {
2409                                 map0 {
2410                                         trip = <&cpu3_alert>;
2411                                         cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2412                                                          <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2413                                                          <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2414                                                          <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2415                                 };
2416                         };
2417                 };
2418 
2419                 cpu4567-thermal {
2420                         polling-delay-passive = <250>;
2421 
2422                         thermal-sensors = <&tsens 9>;
2423 
2424                         trips {
2425                                 cpu4567_alert: trip0 {
2426                                         temperature = <75000>;
2427                                         hysteresis = <2000>;
2428                                         type = "passive";
2429                                 };
2430 
2431                                 cpu4567_crit: trip1 {
2432                                         temperature = <110000>;
2433                                         hysteresis = <2000>;
2434                                         type = "critical";
2435                                 };
2436                         };
2437 
2438                         cooling-maps {
2439                                 map0 {
2440                                         trip = <&cpu4567_alert>;
2441                                         cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2442                                                          <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2443                                                          <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2444                                                          <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2445                                 };
2446                         };
2447                 };
2448 
2449                 gpu-thermal {
2450                         polling-delay-passive = <250>;
2451 
2452                         thermal-sensors = <&tsens 3>;
2453 
2454                         cooling-maps {
2455                                 map0 {
2456                                         trip = <&gpu_alert0>;
2457                                         cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2458                                 };
2459                         };
2460 
2461                         trips {
2462                                 gpu_alert0: trip-point0 {
2463                                         temperature = <75000>;
2464                                         hysteresis = <2000>;
2465                                         type = "passive";
2466                                 };
2467 
2468                                 gpu_crit: gpu-crit {
2469                                         temperature = <95000>;
2470                                         hysteresis = <2000>;
2471                                         type = "critical";
2472                                 };
2473                         };
2474                 };
2475 
2476                 modem1-thermal {
2477                         polling-delay-passive = <250>;
2478 
2479                         thermal-sensors = <&tsens 0>;
2480 
2481                         trips {
2482                                 modem1_alert0: trip-point0 {
2483                                         temperature = <85000>;
2484                                         hysteresis = <2000>;
2485                                         type = "hot";
2486                                 };
2487                         };
2488                 };
2489 
2490                 modem2-thermal {
2491                         polling-delay-passive = <250>;
2492 
2493                         thermal-sensors = <&tsens 2>;
2494 
2495                         trips {
2496                                 modem2_alert0: trip-point0 {
2497                                         temperature = <85000>;
2498                                         hysteresis = <2000>;
2499                                         type = "hot";
2500                                 };
2501                         };
2502                 };
2503 
2504                 camera-thermal {
2505                         polling-delay-passive = <250>;
2506 
2507                         thermal-sensors = <&tsens 1>;
2508 
2509                         trips {
2510                                 cam_alert0: trip-point0 {
2511                                         temperature = <75000>;
2512                                         hysteresis = <2000>;
2513                                         type = "hot";
2514                                 };
2515                         };
2516                 };
2517         };
2518 
2519         timer {
2520                 compatible = "arm,armv8-timer";
2521                 interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
2522                              <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
2523                              <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
2524                              <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
2525         };
2526 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php