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