xref: /openbmc/linux/arch/arm64/boot/dts/qcom/msm8994.dtsi (revision 47010c04)
1// SPDX-License-Identifier: GPL-2.0-only
2/* Copyright (c) 2013-2016, The Linux Foundation. All rights reserved.
3 */
4
5#include <dt-bindings/interrupt-controller/arm-gic.h>
6#include <dt-bindings/clock/qcom,gcc-msm8994.h>
7#include <dt-bindings/power/qcom-rpmpd.h>
8
9/ {
10	interrupt-parent = <&intc>;
11
12	#address-cells = <2>;
13	#size-cells = <2>;
14
15	chosen { };
16
17	clocks {
18		xo_board: xo-board {
19			compatible = "fixed-clock";
20			#clock-cells = <0>;
21			clock-frequency = <19200000>;
22			clock-output-names = "xo_board";
23		};
24
25		sleep_clk: sleep-clk {
26			compatible = "fixed-clock";
27			#clock-cells = <0>;
28			clock-frequency = <32768>;
29			clock-output-names = "sleep_clk";
30		};
31	};
32
33	cpus {
34		#address-cells = <2>;
35		#size-cells = <0>;
36
37		CPU0: cpu@0 {
38			device_type = "cpu";
39			compatible = "arm,cortex-a53";
40			reg = <0x0 0x0>;
41			enable-method = "psci";
42			next-level-cache = <&L2_0>;
43			L2_0: l2-cache {
44				compatible = "cache";
45				cache-level = <2>;
46			};
47		};
48
49		CPU1: cpu@1 {
50			device_type = "cpu";
51			compatible = "arm,cortex-a53";
52			reg = <0x0 0x1>;
53			enable-method = "psci";
54			next-level-cache = <&L2_0>;
55		};
56
57		CPU2: cpu@2 {
58			device_type = "cpu";
59			compatible = "arm,cortex-a53";
60			reg = <0x0 0x2>;
61			enable-method = "psci";
62			next-level-cache = <&L2_0>;
63		};
64
65		CPU3: cpu@3 {
66			device_type = "cpu";
67			compatible = "arm,cortex-a53";
68			reg = <0x0 0x3>;
69			enable-method = "psci";
70			next-level-cache = <&L2_0>;
71		};
72
73		CPU4: cpu@100 {
74			device_type = "cpu";
75			compatible = "arm,cortex-a57";
76			reg = <0x0 0x100>;
77			enable-method = "psci";
78			next-level-cache = <&L2_1>;
79			L2_1: l2-cache {
80				compatible = "cache";
81				cache-level = <2>;
82			};
83		};
84
85		CPU5: cpu@101 {
86			device_type = "cpu";
87			compatible = "arm,cortex-a57";
88			reg = <0x0 0x101>;
89			enable-method = "psci";
90			next-level-cache = <&L2_1>;
91		};
92
93		CPU6: cpu@102 {
94			device_type = "cpu";
95			compatible = "arm,cortex-a57";
96			reg = <0x0 0x101>;
97			enable-method = "psci";
98			next-level-cache = <&L2_1>;
99		};
100
101		CPU7: cpu@103 {
102			device_type = "cpu";
103			compatible = "arm,cortex-a57";
104			reg = <0x0 0x101>;
105			enable-method = "psci";
106			next-level-cache = <&L2_1>;
107		};
108
109		cpu-map {
110			cluster0 {
111				core0 {
112					cpu = <&CPU0>;
113				};
114
115				core1 {
116					cpu = <&CPU1>;
117				};
118
119				core2 {
120					cpu = <&CPU2>;
121				};
122
123				core3 {
124					cpu = <&CPU3>;
125				};
126			};
127
128			cluster1 {
129				core0 {
130					cpu = <&CPU4>;
131				};
132
133				core1 {
134					cpu = <&CPU5>;
135				};
136
137				cpu6_map: core2 {
138					cpu = <&CPU6>;
139				};
140
141				cpu7_map: core3 {
142					cpu = <&CPU7>;
143				};
144			};
145		};
146	};
147
148	firmware {
149		scm {
150			compatible = "qcom,scm-msm8994", "qcom,scm";
151		};
152	};
153
154	memory@80000000 {
155		device_type = "memory";
156		/* We expect the bootloader to fill in the reg */
157		reg = <0 0x80000000 0 0>;
158	};
159
160	tcsr_mutex: hwlock {
161		compatible = "qcom,tcsr-mutex";
162		syscon = <&tcsr_mutex_regs 0 0x80>;
163		#hwlock-cells = <1>;
164	};
165
166	pmu {
167		compatible = "arm,cortex-a53-pmu";
168		interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4)| IRQ_TYPE_LEVEL_HIGH)>;
169	};
170
171	psci {
172		compatible = "arm,psci-0.2";
173		method = "hvc";
174	};
175
176	reserved-memory {
177		#address-cells = <2>;
178		#size-cells = <2>;
179		ranges;
180
181		dfps_data_mem: dfps_data_mem@3400000 {
182			reg = <0 0x03400000 0 0x1000>;
183			no-map;
184		};
185
186		cont_splash_mem: memory@3800000 {
187			reg = <0 0x03800000 0 0x2400000>;
188			no-map;
189		};
190
191		smem_mem: smem_region@6a00000 {
192			reg = <0 0x06a00000 0 0x200000>;
193			no-map;
194		};
195
196		mpss_mem: memory@7000000 {
197			reg = <0 0x07000000 0 0x5a00000>;
198			no-map;
199		};
200
201		peripheral_region: memory@ca00000 {
202			reg = <0 0x0ca00000 0 0x1f00000>;
203			no-map;
204		};
205
206		rmtfs_mem: memory@c6400000 {
207			compatible = "qcom,rmtfs-mem";
208			reg = <0 0xc6400000 0 0x180000>;
209			no-map;
210
211			qcom,client-id = <1>;
212		};
213
214		mba_mem: memory@c6700000 {
215			reg = <0 0xc6700000 0 0x100000>;
216			no-map;
217		};
218
219		audio_mem: memory@c7000000 {
220			reg = <0 0xc7000000 0 0x800000>;
221			no-map;
222		};
223
224		adsp_mem: memory@c9400000 {
225			reg = <0 0xc9400000 0 0x3f00000>;
226			no-map;
227		};
228	};
229
230	smd {
231		compatible = "qcom,smd";
232		rpm {
233			interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
234			qcom,ipc = <&apcs 8 0>;
235			qcom,smd-edge = <15>;
236			qcom,local-pid = <0>;
237			qcom,remote-pid = <6>;
238
239			rpm_requests: rpm-requests {
240				compatible = "qcom,rpm-msm8994";
241				qcom,smd-channels = "rpm_requests";
242
243				rpmcc: rpmcc {
244					compatible = "qcom,rpmcc-msm8994";
245					#clock-cells = <1>;
246				};
247
248				rpmpd: power-controller {
249					compatible = "qcom,msm8994-rpmpd";
250					#power-domain-cells = <1>;
251					operating-points-v2 = <&rpmpd_opp_table>;
252
253					rpmpd_opp_table: opp-table {
254						compatible = "operating-points-v2";
255
256						rpmpd_opp_ret: opp1 {
257							opp-level = <1>;
258						};
259						rpmpd_opp_svs_krait: opp2 {
260							opp-level = <2>;
261						};
262						rpmpd_opp_svs_soc: opp3 {
263							opp-level = <3>;
264						};
265						rpmpd_opp_nom: opp4 {
266							opp-level = <4>;
267						};
268						rpmpd_opp_turbo: opp5 {
269							opp-level = <5>;
270						};
271						rpmpd_opp_super_turbo: opp6 {
272							opp-level = <6>;
273						};
274					};
275				};
276			};
277		};
278	};
279
280	smem {
281		compatible = "qcom,smem";
282		memory-region = <&smem_mem>;
283		qcom,rpm-msg-ram = <&rpm_msg_ram>;
284		hwlocks = <&tcsr_mutex 3>;
285	};
286
287	smp2p-lpass {
288		compatible = "qcom,smp2p";
289		qcom,smem = <443>, <429>;
290
291		interrupts = <GIC_SPI 158 IRQ_TYPE_EDGE_RISING>;
292
293		qcom,ipc = <&apcs 8 10>;
294
295		qcom,local-pid = <0>;
296		qcom,remote-pid = <2>;
297
298		adsp_smp2p_out: master-kernel {
299			qcom,entry-name = "master-kernel";
300			#qcom,smem-state-cells = <1>;
301		};
302
303		adsp_smp2p_in: slave-kernel {
304			qcom,entry-name = "slave-kernel";
305
306			interrupt-controller;
307			#interrupt-cells = <2>;
308		};
309	};
310
311	smp2p-modem {
312		compatible = "qcom,smp2p";
313		qcom,smem = <435>, <428>;
314
315		interrupt-parent = <&intc>;
316		interrupts = <GIC_SPI 27 IRQ_TYPE_EDGE_RISING>;
317
318		qcom,ipc = <&apcs 8 14>;
319
320		qcom,local-pid = <0>;
321		qcom,remote-pid = <1>;
322
323		modem_smp2p_out: master-kernel {
324			qcom,entry-name = "master-kernel";
325			#qcom,smem-state-cells = <1>;
326		};
327
328		modem_smp2p_in: slave-kernel {
329			qcom,entry-name = "slave-kernel";
330
331			interrupt-controller;
332			#interrupt-cells = <2>;
333		};
334	};
335
336	soc: soc {
337
338		#address-cells = <1>;
339		#size-cells = <1>;
340		ranges = <0 0 0 0xffffffff>;
341		compatible = "simple-bus";
342
343		intc: interrupt-controller@f9000000 {
344			compatible = "qcom,msm-qgic2";
345			interrupt-controller;
346			#interrupt-cells = <3>;
347			reg = <0xf9000000 0x1000>,
348			      <0xf9002000 0x1000>;
349		};
350
351		apcs: mailbox@f900d000 {
352			compatible = "qcom,msm8994-apcs-kpss-global", "syscon";
353			reg = <0xf900d000 0x2000>;
354			#mbox-cells = <1>;
355		};
356
357		timer@f9020000 {
358			#address-cells = <1>;
359			#size-cells = <1>;
360			ranges;
361			compatible = "arm,armv7-timer-mem";
362			reg = <0xf9020000 0x1000>;
363
364			frame@f9021000 {
365				frame-number = <0>;
366				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
367					     <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
368				reg = <0xf9021000 0x1000>,
369				      <0xf9022000 0x1000>;
370			};
371
372			frame@f9023000 {
373				frame-number = <1>;
374				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
375				reg = <0xf9023000 0x1000>;
376				status = "disabled";
377			};
378
379			frame@f9024000 {
380				frame-number = <2>;
381				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
382				reg = <0xf9024000 0x1000>;
383				status = "disabled";
384			};
385
386			frame@f9025000 {
387				frame-number = <3>;
388				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
389				reg = <0xf9025000 0x1000>;
390				status = "disabled";
391			};
392
393			frame@f9026000 {
394				frame-number = <4>;
395				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
396				reg = <0xf9026000 0x1000>;
397				status = "disabled";
398			};
399
400			frame@f9027000 {
401				frame-number = <5>;
402				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
403				reg = <0xf9027000 0x1000>;
404				status = "disabled";
405			};
406
407			frame@f9028000 {
408				frame-number = <6>;
409				interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
410				reg = <0xf9028000 0x1000>;
411				status = "disabled";
412			};
413		};
414
415		usb3: usb@f92f8800 {
416			compatible = "qcom,msm8996-dwc3", "qcom,dwc3";
417			reg = <0xf92f8800 0x400>;
418			#address-cells = <1>;
419			#size-cells = <1>;
420			ranges;
421
422			clocks = <&gcc GCC_USB30_MASTER_CLK>,
423				 <&gcc GCC_SYS_NOC_USB3_AXI_CLK>,
424				 <&gcc GCC_USB30_SLEEP_CLK>,
425				 <&gcc GCC_USB30_MOCK_UTMI_CLK>;
426			clock-names = "core", "iface", "sleep", "mock_utmi", "ref", "xo";
427
428			assigned-clocks = <&gcc GCC_USB30_MOCK_UTMI_CLK>,
429					  <&gcc GCC_USB30_MASTER_CLK>;
430			assigned-clock-rates = <19200000>, <120000000>;
431
432			power-domains = <&gcc USB30_GDSC>;
433			qcom,select-utmi-as-pipe-clk;
434
435			usb@f9200000 {
436				compatible = "snps,dwc3";
437				reg = <0xf9200000 0xcc00>;
438				interrupts = <0 131 IRQ_TYPE_LEVEL_HIGH>;
439				snps,dis_u2_susphy_quirk;
440				snps,dis_enblslpm_quirk;
441				maximum-speed = "high-speed";
442				dr_mode = "peripheral";
443			};
444		};
445
446		sdhc1: sdhci@f9824900 {
447			compatible = "qcom,msm8994-sdhci", "qcom,sdhci-msm-v4";
448			reg = <0xf9824900 0x1a0>, <0xf9824000 0x800>;
449			reg-names = "hc_mem", "core_mem";
450
451			interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
452				     <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
453			interrupt-names = "hc_irq", "pwr_irq";
454
455			clocks = <&gcc GCC_SDCC1_APPS_CLK>,
456			         <&gcc GCC_SDCC1_AHB_CLK>,
457				 <&xo_board>;
458			clock-names = "core", "iface", "xo";
459
460			pinctrl-names = "default", "sleep";
461			pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on &sdc1_rclk_on>;
462			pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off &sdc1_rclk_off>;
463
464			bus-width = <8>;
465			non-removable;
466			status = "disabled";
467		};
468
469		sdhc2: sdhci@f98a4900 {
470			compatible = "qcom,msm8994-sdhci", "qcom,sdhci-msm-v4";
471			reg = <0xf98a4900 0x11c>, <0xf98a4000 0x800>;
472			reg-names = "hc_mem", "core_mem";
473
474			interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
475				<GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
476			interrupt-names = "hc_irq", "pwr_irq";
477
478			clocks = <&gcc GCC_SDCC2_APPS_CLK>,
479				<&gcc GCC_SDCC2_AHB_CLK>,
480				<&xo_board>;
481			clock-names = "core", "iface", "xo";
482
483			pinctrl-names = "default", "sleep";
484			pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on>;
485			pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off>;
486
487			cd-gpios = <&tlmm 100 0>;
488			bus-width = <4>;
489			status = "disabled";
490		};
491
492		blsp1_dma: dma-controller@f9904000 {
493			compatible = "qcom,bam-v1.7.0";
494			reg = <0xf9904000 0x19000>;
495			interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
496			clocks = <&gcc GCC_BLSP1_AHB_CLK>;
497			clock-names = "bam_clk";
498			#dma-cells = <1>;
499			qcom,ee = <0>;
500			qcom,controlled-remotely;
501			num-channels = <18>;
502			qcom,num-ees = <4>;
503		};
504
505		blsp1_uart2: serial@f991e000 {
506			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
507			reg = <0xf991e000 0x1000>;
508			interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
509			clock-names = "core", "iface";
510			clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>,
511				 <&gcc GCC_BLSP1_AHB_CLK>;
512			pinctrl-names = "default", "sleep";
513			pinctrl-0 = <&blsp1_uart2_default>;
514			pinctrl-1 = <&blsp1_uart2_sleep>;
515			status = "disabled";
516		};
517
518		blsp1_i2c1: i2c@f9923000 {
519			compatible = "qcom,i2c-qup-v2.2.1";
520			reg = <0xf9923000 0x500>;
521			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
522			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
523						<&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>;
524			clock-names = "iface", "core";
525			clock-frequency = <400000>;
526			dmas = <&blsp1_dma 12>, <&blsp1_dma 13>;
527			dma-names = "tx", "rx";
528			pinctrl-names = "default", "sleep";
529			pinctrl-0 = <&i2c1_default>;
530			pinctrl-1 = <&i2c1_sleep>;
531			#address-cells = <1>;
532			#size-cells = <0>;
533			status = "disabled";
534		};
535
536		blsp1_spi1: spi@f9923000 {
537			compatible = "qcom,spi-qup-v2.2.1";
538			reg = <0xf9923000 0x500>;
539			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
540			clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
541				 <&gcc GCC_BLSP1_AHB_CLK>;
542			clock-names = "core", "iface";
543			spi-max-frequency = <19200000>;
544			dmas = <&blsp1_dma 12>, <&blsp1_dma 13>;
545			dma-names = "tx", "rx";
546			pinctrl-names = "default", "sleep";
547			pinctrl-0 = <&blsp1_spi1_default>;
548			pinctrl-1 = <&blsp1_spi1_sleep>;
549			#address-cells = <1>;
550			#size-cells = <0>;
551			status = "disabled";
552		};
553
554		blsp1_i2c2: i2c@f9924000 {
555			compatible = "qcom,i2c-qup-v2.2.1";
556			reg = <0xf9924000 0x500>;
557			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
558			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
559						<&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>;
560			clock-names = "iface", "core";
561			clock-frequency = <400000>;
562			dmas = <&blsp1_dma 14>, <&blsp1_dma 15>;
563			dma-names = "tx", "rx";
564			pinctrl-names = "default", "sleep";
565			pinctrl-0 = <&i2c2_default>;
566			pinctrl-1 = <&i2c2_sleep>;
567			#address-cells = <1>;
568			#size-cells = <0>;
569			status = "disabled";
570		};
571
572		/* I2C3 doesn't exist */
573
574		blsp1_i2c4: i2c@f9926000 {
575			compatible = "qcom,i2c-qup-v2.2.1";
576			reg = <0xf9926000 0x500>;
577			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
578			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
579						<&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>;
580			clock-names = "iface", "core";
581			clock-frequency = <400000>;
582			dmas = <&blsp1_dma 18>, <&blsp1_dma 19>;
583			dma-names = "tx", "rx";
584			pinctrl-names = "default", "sleep";
585			pinctrl-0 = <&i2c4_default>;
586			pinctrl-1 = <&i2c4_sleep>;
587			#address-cells = <1>;
588			#size-cells = <0>;
589			status = "disabled";
590		};
591
592		blsp1_i2c5: i2c@f9927000 {
593			compatible = "qcom,i2c-qup-v2.2.1";
594			reg = <0xf9927000 0x500>;
595			interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
596			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
597						<&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>;
598			clock-names = "iface", "core";
599			clock-frequency = <400000>;
600			dmas = <&blsp2_dma 20>, <&blsp2_dma 21>;
601			dma-names = "tx", "rx";
602			pinctrl-names = "default", "sleep";
603			pinctrl-0 = <&i2c5_default>;
604			pinctrl-1 = <&i2c5_sleep>;
605			#address-cells = <1>;
606			#size-cells = <0>;
607			status = "disabled";
608		};
609
610		blsp1_i2c6: i2c@f9928000 {
611			compatible = "qcom,i2c-qup-v2.2.1";
612			reg = <0xf9928000 0x500>;
613			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
614			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
615						<&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>;
616			clock-names = "iface", "core";
617			clock-frequency = <400000>;
618			dmas = <&blsp1_dma 22>, <&blsp1_dma 23>;
619			dma-names = "tx", "rx";
620			pinctrl-names = "default", "sleep";
621			pinctrl-0 = <&i2c6_default>;
622			pinctrl-1 = <&i2c6_sleep>;
623			#address-cells = <1>;
624			#size-cells = <0>;
625			status = "disabled";
626		};
627
628		blsp2_dma: dma-controller@f9944000 {
629			compatible = "qcom,bam-v1.7.0";
630			reg = <0xf9944000 0x19000>;
631			interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
632			clocks = <&gcc GCC_BLSP2_AHB_CLK>;
633			clock-names = "bam_clk";
634			#dma-cells = <1>;
635			qcom,ee = <0>;
636			qcom,controlled-remotely;
637			num-channels = <18>;
638			qcom,num-ees = <4>;
639		};
640
641		blsp2_uart2: serial@f995e000 {
642			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
643			reg = <0xf995e000 0x1000>;
644			interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
645			clock-names = "core", "iface";
646			clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>,
647					<&gcc GCC_BLSP2_AHB_CLK>;
648			dmas = <&blsp2_dma 2>, <&blsp2_dma 3>;
649			dma-names = "tx", "rx";
650			pinctrl-names = "default", "sleep";
651			pinctrl-0 = <&blsp2_uart2_default>;
652			pinctrl-1 = <&blsp2_uart2_sleep>;
653			status = "disabled";
654		};
655
656		blsp2_i2c1: i2c@f9963000 {
657			compatible = "qcom,i2c-qup-v2.2.1";
658			reg = <0xf9963000 0x500>;
659			interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
660			clocks = <&gcc GCC_BLSP2_AHB_CLK>,
661					<&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>;
662			clock-names = "iface", "core";
663			clock-frequency = <400000>;
664			dmas = <&blsp2_dma 12>, <&blsp2_dma 13>;
665			dma-names = "tx", "rx";
666			pinctrl-names = "default", "sleep";
667			pinctrl-0 = <&i2c7_default>;
668			pinctrl-1 = <&i2c7_sleep>;
669			#address-cells = <1>;
670			#size-cells = <0>;
671			status = "disabled";
672		};
673
674		blsp2_spi4: spi@f9966000 {
675			compatible = "qcom,spi-qup-v2.2.1";
676			reg = <0xf9966000 0x500>;
677			interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
678			clocks = <&gcc GCC_BLSP2_QUP4_SPI_APPS_CLK>,
679				 <&gcc GCC_BLSP2_AHB_CLK>;
680			clock-names = "core", "iface";
681			spi-max-frequency = <19200000>;
682			dmas = <&blsp2_dma 18>, <&blsp2_dma 19>;
683			dma-names = "tx", "rx";
684			pinctrl-names = "default", "sleep";
685			pinctrl-0 = <&blsp2_spi10_default>;
686			pinctrl-1 = <&blsp2_spi10_sleep>;
687			#address-cells = <1>;
688			#size-cells = <0>;
689			status = "disabled";
690		};
691
692		blsp2_i2c5: i2c@f9967000 {
693			compatible = "qcom,i2c-qup-v2.2.1";
694			reg = <0xf9967000 0x500>;
695			interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
696			clocks = <&gcc GCC_BLSP2_AHB_CLK>,
697						<&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>;
698			clock-names = "iface", "core";
699			clock-frequency = <355000>;
700			dmas = <&blsp2_dma 20>, <&blsp2_dma 21>;
701			dma-names = "tx", "rx";
702			pinctrl-names = "default", "sleep";
703			pinctrl-0 = <&i2c11_default>;
704			pinctrl-1 = <&i2c11_sleep>;
705			#address-cells = <1>;
706			#size-cells = <0>;
707			status = "disabled";
708		};
709
710		gcc: clock-controller@fc400000 {
711			compatible = "qcom,gcc-msm8994";
712			#clock-cells = <1>;
713			#reset-cells = <1>;
714			#power-domain-cells = <1>;
715			reg = <0xfc400000 0x2000>;
716
717			clock-names = "xo", "sleep_clk";
718			clocks = <&xo_board>, <&sleep_clk>;
719		};
720
721		rpm_msg_ram: sram@fc428000 {
722			compatible = "qcom,rpm-msg-ram";
723			reg = <0xfc428000 0x4000>;
724		};
725
726		restart@fc4ab000 {
727			compatible = "qcom,pshold";
728			reg = <0xfc4ab000 0x4>;
729		};
730
731		spmi_bus: spmi@fc4c0000 {
732			compatible = "qcom,spmi-pmic-arb";
733			reg = <0xfc4cf000 0x1000>,
734			      <0xfc4cb000 0x1000>,
735			      <0xfc4ca000 0x1000>;
736			reg-names = "core", "intr", "cnfg";
737			interrupt-names = "periph_irq";
738			interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
739			qcom,ee = <0>;
740			qcom,channel = <0>;
741			#address-cells = <2>;
742			#size-cells = <0>;
743			interrupt-controller;
744			#interrupt-cells = <4>;
745		};
746
747		tcsr_mutex_regs: syscon@fd484000 {
748			compatible = "syscon";
749			reg = <0xfd484000 0x2000>;
750		};
751
752		tlmm: pinctrl@fd510000 {
753			compatible = "qcom,msm8994-pinctrl";
754			reg = <0xfd510000 0x4000>;
755			interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
756			gpio-controller;
757			gpio-ranges = <&tlmm 0 0 146>;
758			#gpio-cells = <2>;
759			interrupt-controller;
760			#interrupt-cells = <2>;
761
762			blsp1_uart2_default: blsp1-uart2-default {
763				function = "blsp_uart2";
764				pins = "gpio4", "gpio5";
765				drive-strength = <16>;
766				bias-disable;
767			};
768
769			blsp1_uart2_sleep: blsp1-uart2-sleep {
770				function = "gpio";
771				pins = "gpio4", "gpio5";
772				drive-strength = <2>;
773				bias-pull-down;
774			};
775
776			blsp2_uart2_default: blsp2-uart2-default {
777				function = "blsp_uart8";
778				pins = "gpio45", "gpio46",
779						"gpio47", "gpio48";
780				drive-strength = <16>;
781				bias-disable;
782			};
783
784			blsp2_uart2_sleep: blsp2-uart2-sleep {
785				function = "gpio";
786				pins = "gpio45", "gpio46",
787						"gpio47", "gpio48";
788				drive-strength = <2>;
789				bias-disable;
790			};
791
792			i2c1_default: i2c1-default {
793				function = "blsp_i2c1";
794				pins = "gpio2", "gpio3";
795				drive-strength = <2>;
796				bias-disable;
797			};
798
799			i2c1_sleep: i2c1-sleep {
800				function = "gpio";
801				pins = "gpio2", "gpio3";
802				drive-strength = <2>;
803				bias-disable;
804			};
805
806			i2c2_default: i2c2-default {
807				function = "blsp_i2c2";
808				pins = "gpio6", "gpio7";
809				drive-strength = <2>;
810				bias-disable;
811			};
812
813			i2c2_sleep: i2c2-sleep {
814				function = "gpio";
815				pins = "gpio6", "gpio7";
816				drive-strength = <2>;
817				bias-disable;
818			};
819
820			i2c4_default: i2c4-default {
821				function = "blsp_i2c4";
822				pins = "gpio19", "gpio20";
823				drive-strength = <2>;
824				bias-disable;
825			};
826
827			i2c4_sleep: i2c4-sleep {
828				function = "gpio";
829				pins = "gpio19", "gpio20";
830				drive-strength = <2>;
831				bias-pull-down;
832				input-enable;
833			};
834
835			i2c5_default: i2c5-default {
836				function = "blsp_i2c5";
837				pins = "gpio23", "gpio24";
838				drive-strength = <2>;
839				bias-disable;
840			};
841
842			i2c5_sleep: i2c5-sleep {
843				function = "gpio";
844				pins = "gpio23", "gpio24";
845				drive-strength = <2>;
846				bias-disable;
847			};
848
849			i2c6_default: i2c6-default {
850				function = "blsp_i2c6";
851				pins = "gpio28", "gpio27";
852				drive-strength = <2>;
853				bias-disable;
854			};
855
856			i2c6_sleep: i2c6-sleep {
857				function = "gpio";
858				pins = "gpio28", "gpio27";
859				drive-strength = <2>;
860				bias-disable;
861			};
862
863			i2c7_default: i2c7-default {
864				function = "blsp_i2c7";
865				pins = "gpio44", "gpio43";
866				drive-strength = <2>;
867				bias-disable;
868			};
869
870			i2c7_sleep: i2c7-sleep {
871				function = "gpio";
872				pins = "gpio44", "gpio43";
873				drive-strength = <2>;
874				bias-disable;
875			};
876
877			blsp2_spi10_default: blsp2-spi10-default {
878				default {
879					function = "blsp_spi10";
880					pins = "gpio53", "gpio54", "gpio55";
881					drive-strength = <10>;
882					bias-pull-down;
883				};
884				cs {
885					function = "gpio";
886					pins = "gpio55";
887					drive-strength = <2>;
888					bias-disable;
889				};
890			};
891
892			blsp2_spi10_sleep: blsp2-spi10-sleep {
893				pins = "gpio53", "gpio54", "gpio55";
894				drive-strength = <2>;
895				bias-disable;
896			};
897
898			i2c11_default: i2c11-default {
899				function = "blsp_i2c11";
900				pins = "gpio83", "gpio84";
901				drive-strength = <2>;
902				bias-disable;
903			};
904
905			i2c11_sleep: i2c11-sleep {
906				function = "gpio";
907				pins = "gpio83", "gpio84";
908				drive-strength = <2>;
909				bias-disable;
910			};
911
912			blsp1_spi1_default: blsp1-spi1-default {
913				default {
914					function = "blsp_spi1";
915					pins = "gpio0", "gpio1", "gpio3";
916					drive-strength = <10>;
917					bias-pull-down;
918				};
919				cs {
920					function = "gpio";
921					pins = "gpio8";
922					drive-strength = <2>;
923					bias-disable;
924				};
925			};
926
927			blsp1_spi1_sleep: blsp1-spi1-sleep {
928				pins = "gpio0", "gpio1", "gpio3";
929				drive-strength = <2>;
930				bias-disable;
931			};
932
933			sdc1_clk_on: clk-on {
934				pins = "sdc1_clk";
935				bias-disable;
936				drive-strength = <16>;
937			};
938
939			sdc1_clk_off: clk-off {
940				pins = "sdc1_clk";
941				bias-disable;
942				drive-strength = <2>;
943			};
944
945			sdc1_cmd_on: cmd-on {
946				pins = "sdc1_cmd";
947				bias-pull-up;
948				drive-strength = <8>;
949			};
950
951			sdc1_cmd_off: cmd-off {
952				pins = "sdc1_cmd";
953				bias-pull-up;
954				drive-strength = <2>;
955			};
956
957			sdc1_data_on: data-on {
958				pins = "sdc1_data";
959				bias-pull-up;
960				drive-strength = <8>;
961			};
962
963			sdc1_data_off: data-off {
964				pins = "sdc1_data";
965				bias-pull-up;
966				drive-strength = <2>;
967			};
968
969			sdc1_rclk_on: rclk-on {
970				pins = "sdc1_rclk";
971				bias-pull-down;
972			};
973
974			sdc1_rclk_off: rclk-off {
975				pins = "sdc1_rclk";
976				bias-pull-down;
977			};
978
979			sdc2_clk_on: sdc2-clk-on {
980				pins = "sdc2_clk";
981				bias-disable;
982				drive-strength = <10>;
983			};
984
985			sdc2_clk_off: sdc2-clk-off {
986				pins = "sdc2_clk";
987				bias-disable;
988				drive-strength = <2>;
989			};
990
991			sdc2_cmd_on: sdc2-cmd-on {
992				pins = "sdc2_cmd";
993				bias-pull-up;
994				drive-strength = <10>;
995			};
996
997			sdc2_cmd_off: sdc2-cmd-off {
998				pins = "sdc2_cmd";
999				bias-pull-up;
1000				drive-strength = <2>;
1001			};
1002
1003			sdc2_data_on: sdc2-data-on {
1004				pins = "sdc2_data";
1005				bias-pull-up;
1006				drive-strength = <10>;
1007			};
1008
1009			sdc2_data_off: sdc2-data-off {
1010				pins = "sdc2_data";
1011				bias-pull-up;
1012				drive-strength = <2>;
1013			};
1014		};
1015	};
1016
1017	timer: timer {
1018		compatible = "arm,armv8-timer";
1019		interrupts = <GIC_PPI 2 0xff08>,
1020			     <GIC_PPI 3 0xff08>,
1021			     <GIC_PPI 4 0xff08>,
1022			     <GIC_PPI 1 0xff08>;
1023	};
1024
1025	vph_pwr: vph-pwr-regulator {
1026		compatible = "regulator-fixed";
1027		regulator-name = "vph_pwr";
1028
1029		regulator-min-microvolt = <3600000>;
1030		regulator-max-microvolt = <3600000>;
1031
1032		regulator-always-on;
1033	};
1034};
1035
1036