xref: /linux/scripts/dtc/include-prefixes/arm64/qcom/sm6125.dtsi (revision ec71f661a572a770d7c861cd52a50cbbb0e1a8d1)
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2021, Martin Botka <martin.botka@somainline.org>
4 */
5
6#include <dt-bindings/clock/qcom,dispcc-sm6125.h>
7#include <dt-bindings/clock/qcom,dsi-phy-28nm.h>
8#include <dt-bindings/clock/qcom,gcc-sm6125.h>
9#include <dt-bindings/clock/qcom,rpmcc.h>
10#include <dt-bindings/dma/qcom-gpi.h>
11#include <dt-bindings/gpio/gpio.h>
12#include <dt-bindings/interrupt-controller/arm-gic.h>
13#include <dt-bindings/power/qcom-rpmpd.h>
14
15/ {
16	interrupt-parent = <&intc>;
17	#address-cells = <2>;
18	#size-cells = <2>;
19
20	chosen { };
21
22	clocks {
23		xo_board: xo-board {
24			compatible = "fixed-clock";
25			#clock-cells = <0>;
26			clock-frequency = <19200000>;
27		};
28
29		sleep_clk: sleep-clk {
30			compatible = "fixed-clock";
31			#clock-cells = <0>;
32			clock-frequency = <32764>;
33			clock-output-names = "sleep_clk";
34		};
35	};
36
37	cpus {
38		#address-cells = <2>;
39		#size-cells = <0>;
40
41		cpu0: cpu@0 {
42			device_type = "cpu";
43			compatible = "qcom,kryo260";
44			reg = <0x0 0x0>;
45			enable-method = "psci";
46			capacity-dmips-mhz = <1024>;
47			next-level-cache = <&l2_0>;
48			l2_0: l2-cache {
49				compatible = "cache";
50				cache-level = <2>;
51				cache-unified;
52			};
53		};
54
55		cpu1: cpu@1 {
56			device_type = "cpu";
57			compatible = "qcom,kryo260";
58			reg = <0x0 0x1>;
59			enable-method = "psci";
60			capacity-dmips-mhz = <1024>;
61			next-level-cache = <&l2_0>;
62		};
63
64		cpu2: cpu@2 {
65			device_type = "cpu";
66			compatible = "qcom,kryo260";
67			reg = <0x0 0x2>;
68			enable-method = "psci";
69			capacity-dmips-mhz = <1024>;
70			next-level-cache = <&l2_0>;
71		};
72
73		cpu3: cpu@3 {
74			device_type = "cpu";
75			compatible = "qcom,kryo260";
76			reg = <0x0 0x3>;
77			enable-method = "psci";
78			capacity-dmips-mhz = <1024>;
79			next-level-cache = <&l2_0>;
80		};
81
82		cpu4: cpu@100 {
83			device_type = "cpu";
84			compatible = "qcom,kryo260";
85			reg = <0x0 0x100>;
86			enable-method = "psci";
87			capacity-dmips-mhz = <1638>;
88			next-level-cache = <&l2_1>;
89			l2_1: l2-cache {
90				compatible = "cache";
91				cache-level = <2>;
92				cache-unified;
93			};
94		};
95
96		cpu5: cpu@101 {
97			device_type = "cpu";
98			compatible = "qcom,kryo260";
99			reg = <0x0 0x101>;
100			enable-method = "psci";
101			capacity-dmips-mhz = <1638>;
102			next-level-cache = <&l2_1>;
103		};
104
105		cpu6: cpu@102 {
106			device_type = "cpu";
107			compatible = "qcom,kryo260";
108			reg = <0x0 0x102>;
109			enable-method = "psci";
110			capacity-dmips-mhz = <1638>;
111			next-level-cache = <&l2_1>;
112		};
113
114		cpu7: cpu@103 {
115			device_type = "cpu";
116			compatible = "qcom,kryo260";
117			reg = <0x0 0x103>;
118			enable-method = "psci";
119			capacity-dmips-mhz = <1638>;
120			next-level-cache = <&l2_1>;
121		};
122
123		cpu-map {
124			cluster0 {
125				core0 {
126					cpu = <&cpu0>;
127				};
128
129				core1 {
130					cpu = <&cpu1>;
131				};
132
133				core2 {
134					cpu = <&cpu2>;
135				};
136
137				core3 {
138					cpu = <&cpu3>;
139				};
140			};
141
142			cluster1 {
143				core0 {
144					cpu = <&cpu4>;
145				};
146
147				core1 {
148					cpu = <&cpu5>;
149				};
150
151				core2 {
152					cpu = <&cpu6>;
153				};
154
155				core3 {
156					cpu = <&cpu7>;
157				};
158			};
159		};
160	};
161
162	firmware {
163		scm: scm {
164			compatible = "qcom,scm-sm6125", "qcom,scm";
165			#reset-cells = <1>;
166		};
167	};
168
169	memory@40000000 {
170		/* We expect the bootloader to fill in the size */
171		reg = <0x0 0x40000000 0x0 0x0>;
172		device_type = "memory";
173	};
174
175	pmu {
176		compatible = "arm,armv8-pmuv3";
177		interrupts = <GIC_PPI 6 IRQ_TYPE_LEVEL_HIGH>;
178	};
179
180	psci {
181		compatible = "arm,psci-1.0";
182		method = "smc";
183	};
184
185	rpm: remoteproc {
186		compatible = "qcom,sm6125-rpm-proc", "qcom,rpm-proc";
187
188		glink-edge {
189			compatible = "qcom,glink-rpm";
190
191			interrupts = <GIC_SPI 194 IRQ_TYPE_EDGE_RISING>;
192			qcom,rpm-msg-ram = <&rpm_msg_ram>;
193			mboxes = <&apcs_glb 0>;
194
195			rpm_requests: rpm-requests {
196				compatible = "qcom,rpm-sm6125", "qcom,glink-smd-rpm";
197				qcom,glink-channels = "rpm_requests";
198
199				rpmcc: clock-controller {
200					compatible = "qcom,rpmcc-sm6125", "qcom,rpmcc";
201					#clock-cells = <1>;
202					clocks = <&xo_board>;
203					clock-names = "xo";
204				};
205
206				rpmpd: power-controller {
207					compatible = "qcom,sm6125-rpmpd";
208					#power-domain-cells = <1>;
209					operating-points-v2 = <&rpmpd_opp_table>;
210
211					rpmpd_opp_table: opp-table {
212						compatible = "operating-points-v2";
213
214						rpmpd_opp_ret: opp1 {
215							opp-level = <RPM_SMD_LEVEL_RETENTION>;
216						};
217
218						rpmpd_opp_ret_plus: opp2 {
219							opp-level = <RPM_SMD_LEVEL_RETENTION_PLUS>;
220						};
221
222						rpmpd_opp_min_svs: opp3 {
223							opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
224						};
225
226						rpmpd_opp_low_svs: opp4 {
227							opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
228						};
229
230						rpmpd_opp_svs: opp5 {
231							opp-level = <RPM_SMD_LEVEL_SVS>;
232						};
233
234						rpmpd_opp_svs_plus: opp6 {
235							opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
236						};
237
238						rpmpd_opp_nom: opp7 {
239							opp-level = <RPM_SMD_LEVEL_NOM>;
240						};
241
242						rpmpd_opp_nom_plus: opp8 {
243							opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
244						};
245
246						rpmpd_opp_turbo: opp9 {
247							opp-level = <RPM_SMD_LEVEL_TURBO>;
248						};
249
250						rpmpd_opp_turbo_no_cpr: opp10 {
251							opp-level = <RPM_SMD_LEVEL_TURBO_NO_CPR>;
252						};
253					};
254				};
255			};
256		};
257	};
258
259	reserved_memory: reserved-memory {
260		#address-cells = <2>;
261		#size-cells = <2>;
262		ranges;
263
264		hyp_mem: memory@45700000 {
265			reg = <0x0 0x45700000 0x0 0x600000>;
266			no-map;
267		};
268
269		xbl_aop_mem: memory@45e00000 {
270			reg = <0x0 0x45e00000 0x0 0x140000>;
271			no-map;
272		};
273
274		sec_apps_mem: memory@45fff000 {
275			reg = <0x0 0x45fff000 0x0 0x1000>;
276			no-map;
277		};
278
279		smem_mem: memory@46000000 {
280			reg = <0x0 0x46000000 0x0 0x200000>;
281			no-map;
282		};
283
284		reserved_mem1: memory@46200000 {
285			reg = <0x0 0x46200000 0x0 0x2d00000>;
286			no-map;
287		};
288
289		camera_mem: memory@4ab00000 {
290			reg = <0x0 0x4ab00000 0x0 0x500000>;
291			no-map;
292		};
293
294		modem_mem: memory@4b000000 {
295			reg = <0x0 0x4b000000 0x0 0x7e00000>;
296			no-map;
297		};
298
299		venus_mem: memory@52e00000 {
300			reg = <0x0 0x52e00000 0x0 0x500000>;
301			no-map;
302		};
303
304		wlan_msa_mem: memory@53300000 {
305			reg = <0x0 0x53300000 0x0 0x200000>;
306			no-map;
307		};
308
309		cdsp_mem: memory@53500000 {
310			reg = <0x0 0x53500000 0x0 0x1e00000>;
311			no-map;
312		};
313
314		adsp_pil_mem: memory@55300000 {
315			reg = <0x0 0x55300000 0x0 0x1e00000>;
316			no-map;
317		};
318
319		ipa_fw_mem: memory@57100000 {
320			reg = <0x0 0x57100000 0x0 0x10000>;
321			no-map;
322		};
323
324		ipa_gsi_mem: memory@57110000 {
325			reg = <0x0 0x57110000 0x0 0x5000>;
326			no-map;
327		};
328
329		gpu_mem: memory@57115000 {
330			reg = <0x0 0x57115000 0x0 0x2000>;
331			no-map;
332		};
333
334		cont_splash_mem: memory@5c000000 {
335			reg = <0x0 0x5c000000 0x0 0x00f00000>;
336			no-map;
337		};
338
339		dfps_data_mem: memory@5cf00000 {
340			reg = <0x0 0x5cf00000 0x0 0x0100000>;
341			no-map;
342		};
343
344		cdsp_sec_mem: memory@5f800000 {
345			reg = <0x0 0x5f800000 0x0 0x1e00000>;
346			no-map;
347		};
348
349		qseecom_mem: memory@5e400000 {
350			reg = <0x0 0x5e400000 0x0 0x1400000>;
351			no-map;
352		};
353
354		sdsp_mem: memory@f3000000 {
355			reg = <0x0 0xf3000000 0x0 0x400000>;
356			no-map;
357		};
358
359		adsp_mem: memory@f3400000 {
360			reg = <0x0 0xf3400000 0x0 0x800000>;
361			no-map;
362		};
363
364		qseecom_ta_mem: memory@13fc00000 {
365			reg = <0x1 0x3fc00000 0x0 0x400000>;
366			no-map;
367		};
368	};
369
370	smem: smem {
371		compatible = "qcom,smem";
372		memory-region = <&smem_mem>;
373		hwlocks = <&tcsr_mutex 3>;
374	};
375
376	soc@0 {
377		#address-cells = <1>;
378		#size-cells = <1>;
379		ranges = <0x00 0x00 0x00 0xffffffff>;
380		compatible = "simple-bus";
381
382		tcsr_mutex: hwlock@340000 {
383			compatible = "qcom,tcsr-mutex";
384			reg = <0x00340000 0x20000>;
385			#hwlock-cells = <1>;
386		};
387
388		tlmm: pinctrl@500000 {
389			compatible = "qcom,sm6125-tlmm";
390			reg = <0x00500000 0x400000>,
391			      <0x00900000 0x400000>,
392			      <0x00d00000 0x400000>;
393			reg-names = "west", "south", "east";
394			interrupts = <GIC_SPI 227 IRQ_TYPE_LEVEL_HIGH>;
395			gpio-controller;
396			gpio-ranges = <&tlmm 0 0 134>;
397			#gpio-cells = <2>;
398			interrupt-controller;
399			#interrupt-cells = <2>;
400
401			sdc2_off_state: sdc2-off-state {
402				clk-pins {
403					pins = "sdc2_clk";
404					drive-strength = <2>;
405					bias-disable;
406				};
407
408				cmd-pins {
409					pins = "sdc2_cmd";
410					drive-strength = <2>;
411					bias-pull-up;
412				};
413
414				data-pins {
415					pins = "sdc2_data";
416					drive-strength = <2>;
417					bias-pull-up;
418				};
419			};
420
421			sdc2_on_state: sdc2-on-state {
422				clk-pins {
423					pins = "sdc2_clk";
424					drive-strength = <16>;
425					bias-disable;
426				};
427
428				cmd-pins {
429					pins = "sdc2_cmd";
430					drive-strength = <10>;
431					bias-pull-up;
432				};
433
434				data-pins {
435					pins = "sdc2_data";
436					drive-strength = <10>;
437					bias-pull-up;
438				};
439			};
440
441			qup_i2c0_default: qup-i2c0-default-state {
442				pins = "gpio0", "gpio1";
443				function = "qup00";
444				drive-strength = <2>;
445				bias-disable;
446			};
447
448			qup_i2c0_sleep: qup-i2c0-sleep-state {
449				pins = "gpio0", "gpio1";
450				function = "gpio";
451				drive-strength = <2>;
452				bias-pull-up;
453			};
454
455			qup_i2c1_default: qup-i2c1-default-state {
456				pins = "gpio4", "gpio5";
457				function = "qup01";
458				drive-strength = <2>;
459				bias-disable;
460			};
461
462			qup_i2c1_sleep: qup-i2c1-sleep-state {
463				pins = "gpio4", "gpio5";
464				function = "gpio";
465				drive-strength = <2>;
466				bias-pull-up;
467			};
468
469			qup_i2c2_default: qup-i2c2-default-state {
470				pins = "gpio6", "gpio7";
471				function = "qup02";
472				drive-strength = <2>;
473				bias-disable;
474			};
475
476			qup_i2c2_sleep: qup-i2c2-sleep-state {
477				pins = "gpio6", "gpio7";
478				function = "gpio";
479				drive-strength = <2>;
480				bias-pull-up;
481			};
482
483			qup_i2c3_default: qup-i2c3-default-state {
484				pins = "gpio14", "gpio15";
485				function = "qup03";
486				drive-strength = <2>;
487				bias-disable;
488			};
489
490			qup_i2c3_sleep: qup-i2c3-sleep-state {
491				pins = "gpio14", "gpio15";
492				function = "gpio";
493				drive-strength = <2>;
494				bias-pull-up;
495			};
496
497			qup_i2c4_default: qup-i2c4-default-state {
498				pins = "gpio16", "gpio17";
499				function = "qup04";
500				drive-strength = <2>;
501				bias-disable;
502			};
503
504			qup_i2c4_sleep: qup-i2c4-sleep-state {
505				pins = "gpio16", "gpio17";
506				function = "gpio";
507				drive-strength = <2>;
508				bias-pull-up;
509			};
510
511			qup_i2c5_default: qup-i2c5-default-state {
512				pins = "gpio22", "gpio23";
513				function = "qup10";
514				drive-strength = <2>;
515				bias-disable;
516			};
517
518			qup_i2c5_sleep: qup-i2c5-sleep-state {
519				pins = "gpio22", "gpio23";
520				function = "gpio";
521				drive-strength = <2>;
522				bias-pull-up;
523			};
524
525			qup_i2c6_default: qup-i2c6-default-state {
526				pins = "gpio30", "gpio31";
527				function = "qup11";
528				drive-strength = <2>;
529				bias-disable;
530			};
531
532			qup_i2c6_sleep: qup-i2c6-sleep-state {
533				pins = "gpio30", "gpio31";
534				function = "gpio";
535				drive-strength = <2>;
536				bias-pull-up;
537			};
538
539			qup_i2c7_default: qup-i2c7-default-state {
540				pins = "gpio28", "gpio29";
541				function = "qup12";
542				drive-strength = <2>;
543				bias-disable;
544			};
545
546			qup_i2c7_sleep: qup-i2c7-sleep-state {
547				pins = "gpio28", "gpio29";
548				function = "gpio";
549				drive-strength = <2>;
550				bias-pull-up;
551			};
552
553			qup_i2c8_default: qup-i2c8-default-state {
554				pins = "gpio18", "gpio19";
555				function = "qup13";
556				drive-strength = <2>;
557				bias-disable;
558			};
559
560			qup_i2c8_sleep: qup-i2c8-sleep-state {
561				pins = "gpio18", "gpio19";
562				function = "gpio";
563				drive-strength = <2>;
564				bias-pull-up;
565			};
566
567			qup_i2c9_default: qup-i2c9-default-state {
568				pins = "gpio10", "gpio11";
569				function = "qup14";
570				drive-strength = <2>;
571				bias-disable;
572			};
573
574			qup_i2c9_sleep: qup-i2c9-sleep-state {
575				pins = "gpio10", "gpio11";
576				function = "gpio";
577				drive-strength = <2>;
578				bias-pull-up;
579			};
580
581			qup_spi0_default: qup-spi0-default-state {
582				pins = "gpio0", "gpio1", "gpio2", "gpio3";
583				function = "qup00";
584				drive-strength = <6>;
585				bias-disable;
586			};
587
588			qup_spi0_sleep: qup-spi0-sleep-state {
589				pins = "gpio0", "gpio1", "gpio2", "gpio3";
590				function = "gpio";
591				drive-strength = <6>;
592				bias-disable;
593			};
594
595			qup_spi2_default: qup-spi2-default-state {
596				pins = "gpio6", "gpio7", "gpio8", "gpio9";
597				function = "qup02";
598				drive-strength = <6>;
599				bias-disable;
600			};
601
602			qup_spi2_sleep: qup-spi2-sleep-state {
603				pins = "gpio6", "gpio7", "gpio8", "gpio9";
604				function = "gpio";
605				drive-strength = <6>;
606				bias-disable;
607			};
608
609			qup_spi5_default: qup-spi5-default-state {
610				pins = "gpio22", "gpio23", "gpio24", "gpio25";
611				function = "qup10";
612				drive-strength = <6>;
613				bias-disable;
614			};
615
616			qup_spi5_sleep: qup-spi5-sleep-state {
617				pins = "gpio22", "gpio23", "gpio24", "gpio25";
618				function = "gpio";
619				drive-strength = <6>;
620				bias-disable;
621			};
622
623			qup_spi6_default: qup-spi6-default-state {
624				pins = "gpio30", "gpio31", "gpio32", "gpio33";
625				function = "qup11";
626				drive-strength = <6>;
627				bias-disable;
628			};
629
630			qup_spi6_sleep: qup-spi6-sleep-state {
631				pins = "gpio30", "gpio31", "gpio32", "gpio33";
632				function = "gpio";
633				drive-strength = <6>;
634				bias-disable;
635			};
636
637			qup_spi8_default: qup-spi8-default-state {
638				pins = "gpio18", "gpio19", "gpio20", "gpio21";
639				function = "qup13";
640				drive-strength = <6>;
641				bias-disable;
642			};
643
644			qup_spi8_sleep: qup-spi8-sleep-state {
645				pins = "gpio18", "gpio19", "gpio20", "gpio21";
646				function = "gpio";
647				drive-strength = <6>;
648				bias-disable;
649			};
650
651			qup_spi9_default: qup-spi9-default-state {
652				pins = "gpio10", "gpio11", "gpio12", "gpio13";
653				function = "qup14";
654				drive-strength = <6>;
655				bias-disable;
656			};
657
658			qup_spi9_sleep: qup-spi9-sleep-state {
659				pins = "gpio10", "gpio11", "gpio12", "gpio13";
660				function = "gpio";
661				drive-strength = <6>;
662				bias-disable;
663			};
664		};
665
666		gcc: clock-controller@1400000 {
667			compatible = "qcom,gcc-sm6125";
668			reg = <0x01400000 0x1f0000>;
669			#clock-cells = <1>;
670			#reset-cells = <1>;
671			#power-domain-cells = <1>;
672			clock-names = "bi_tcxo", "sleep_clk";
673			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, <&sleep_clk>;
674		};
675
676		hsusb_phy1: phy@1613000 {
677			compatible = "qcom,msm8996-qusb2-phy";
678			reg = <0x01613000 0x180>;
679			#phy-cells = <0>;
680
681			clocks = <&gcc GCC_AHB2PHY_USB_CLK>,
682				 <&rpmcc RPM_SMD_XO_CLK_SRC>;
683			clock-names = "cfg_ahb", "ref";
684
685			resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
686			status = "disabled";
687		};
688
689		spmi_bus: spmi@1c40000 {
690			compatible = "qcom,spmi-pmic-arb";
691			reg = <0x01c40000 0x1100>,
692			      <0x01e00000 0x2000000>,
693			      <0x03e00000 0x100000>,
694			      <0x03f00000 0xa0000>,
695			      <0x01c0a000 0x26000>;
696			reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
697			interrupt-names = "periph_irq";
698			interrupts = <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>;
699			qcom,ee = <0>;
700			qcom,channel = <0>;
701			#address-cells = <2>;
702			#size-cells = <0>;
703			interrupt-controller;
704			#interrupt-cells = <4>;
705		};
706
707		rpm_msg_ram: sram@45f0000 {
708			compatible = "qcom,rpm-msg-ram";
709			reg = <0x045f0000 0x7000>;
710		};
711
712		sdhc_1: mmc@4744000 {
713			compatible = "qcom,sm6125-sdhci", "qcom,sdhci-msm-v5";
714			reg = <0x04744000 0x1000>, <0x04745000 0x1000>;
715			reg-names = "hc", "cqhci";
716
717			interrupts = <GIC_SPI 348 IRQ_TYPE_LEVEL_HIGH>,
718				     <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>;
719			interrupt-names = "hc_irq", "pwr_irq";
720
721			clocks = <&gcc GCC_SDCC1_AHB_CLK>,
722				 <&gcc GCC_SDCC1_APPS_CLK>,
723				 <&rpmcc RPM_SMD_XO_CLK_SRC>;
724			clock-names = "iface", "core", "xo";
725			iommus = <&apps_smmu 0x160 0x0>;
726
727			power-domains = <&rpmpd SM6125_VDDCX>;
728
729			qcom,dll-config = <0x000f642c>;
730			qcom,ddr-config = <0x80040873>;
731
732			bus-width = <8>;
733			non-removable;
734			supports-cqe;
735
736			status = "disabled";
737		};
738
739		sdhc_2: mmc@4784000 {
740			compatible = "qcom,sm6125-sdhci", "qcom,sdhci-msm-v5";
741			reg = <0x04784000 0x1000>;
742			reg-names = "hc";
743
744			interrupts = <GIC_SPI 350 IRQ_TYPE_LEVEL_HIGH>,
745				     <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
746			interrupt-names = "hc_irq", "pwr_irq";
747
748			clocks = <&gcc GCC_SDCC2_AHB_CLK>,
749				 <&gcc GCC_SDCC2_APPS_CLK>,
750				 <&rpmcc RPM_SMD_XO_CLK_SRC>;
751			clock-names = "iface", "core", "xo";
752			iommus = <&apps_smmu 0x180 0x0>;
753
754			pinctrl-0 = <&sdc2_on_state>;
755			pinctrl-1 = <&sdc2_off_state>;
756			pinctrl-names = "default", "sleep";
757
758			power-domains = <&rpmpd SM6125_VDDCX>;
759
760			qcom,dll-config = <0x0007642c>;
761			qcom,ddr-config = <0x80040873>;
762
763			bus-width = <4>;
764			status = "disabled";
765		};
766
767		ufs_mem_hc: ufshc@4804000 {
768			compatible = "qcom,sm6125-ufshc", "qcom,ufshc", "jedec,ufs-2.0";
769			reg = <0x04804000 0x3000>, <0x04810000 0x8000>;
770			reg-names = "std", "ice";
771			interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
772
773			clocks = <&gcc GCC_UFS_PHY_AXI_CLK>,
774				 <&gcc GCC_SYS_NOC_UFS_PHY_AXI_CLK>,
775				 <&gcc GCC_UFS_PHY_AHB_CLK>,
776				 <&gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>,
777				 <&rpmcc RPM_SMD_XO_CLK_SRC>,
778				 <&gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>,
779				 <&gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>,
780				 <&gcc GCC_UFS_PHY_ICE_CORE_CLK>;
781			clock-names = "core_clk",
782				      "bus_aggr_clk",
783				      "iface_clk",
784				      "core_clk_unipro",
785				      "ref_clk",
786				      "tx_lane0_sync_clk",
787				      "rx_lane0_sync_clk",
788				      "ice_core_clk";
789			freq-table-hz = <50000000 240000000>,
790					<0 0>,
791					<0 0>,
792					<37500000 150000000>,
793					<0 0>,
794					<0 0>,
795					<0 0>,
796					<75000000 300000000>;
797
798			resets = <&gcc GCC_UFS_PHY_BCR>;
799			reset-names = "rst";
800			#reset-cells = <1>;
801
802			phys = <&ufs_mem_phy>;
803			phy-names = "ufsphy";
804
805			lanes-per-direction = <1>;
806
807			iommus = <&apps_smmu 0x200 0x0>;
808
809			status = "disabled";
810		};
811
812		ufs_mem_phy: phy@4807000 {
813			compatible = "qcom,sm6125-qmp-ufs-phy";
814			reg = <0x04807000 0xdb8>;
815
816			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
817				 <&gcc GCC_UFS_PHY_PHY_AUX_CLK>,
818				 <&gcc GCC_UFS_MEM_CLKREF_CLK>;
819			clock-names = "ref",
820				      "ref_aux",
821				      "qref";
822
823			resets = <&ufs_mem_hc 0>;
824			reset-names = "ufsphy";
825
826			power-domains = <&gcc UFS_PHY_GDSC>;
827
828			#phy-cells = <0>;
829
830			status = "disabled";
831		};
832
833		gpi_dma0: dma-controller@4a00000 {
834			compatible = "qcom,sm6125-gpi-dma", "qcom,sdm845-gpi-dma";
835			reg = <0x04a00000 0x60000>;
836			interrupts = <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
837				     <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
838				     <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>,
839				     <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
840				     <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
841				     <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
842				     <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>,
843				     <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>;
844			dma-channels = <8>;
845			dma-channel-mask = <0x1f>;
846			iommus = <&apps_smmu 0x136 0x0>;
847			#dma-cells = <3>;
848			status = "disabled";
849		};
850
851		qupv3_id_0: geniqup@4ac0000 {
852			compatible = "qcom,geni-se-qup";
853			reg = <0x04ac0000 0x2000>;
854			clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
855				 <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
856			clock-names = "m-ahb", "s-ahb";
857			iommus = <&apps_smmu 0x123 0x0>;
858			#address-cells = <1>;
859			#size-cells = <1>;
860			ranges;
861			status = "disabled";
862
863			i2c0: i2c@4a80000 {
864				compatible = "qcom,geni-i2c";
865				reg = <0x04a80000 0x4000>;
866				clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
867				clock-names = "se";
868				interrupts = <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>;
869				pinctrl-0 = <&qup_i2c0_default>;
870				pinctrl-1 = <&qup_i2c0_sleep>;
871				pinctrl-names = "default", "sleep";
872				dmas = <&gpi_dma0 0 0 QCOM_GPI_I2C>,
873				       <&gpi_dma0 1 0 QCOM_GPI_I2C>;
874				dma-names = "tx", "rx";
875				#address-cells = <1>;
876				#size-cells = <0>;
877				status = "disabled";
878			};
879
880			spi0: spi@4a80000 {
881				compatible = "qcom,geni-spi";
882				reg = <0x04a80000 0x4000>;
883				clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
884				clock-names = "se";
885				interrupts = <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>;
886				pinctrl-0 = <&qup_spi0_default>;
887				pinctrl-1 = <&qup_spi0_sleep>;
888				pinctrl-names = "default", "sleep";
889				dmas = <&gpi_dma0 0 0 QCOM_GPI_SPI>,
890				       <&gpi_dma0 1 0 QCOM_GPI_SPI>;
891				dma-names = "tx", "rx";
892				#address-cells = <1>;
893				#size-cells = <0>;
894				status = "disabled";
895			};
896
897			i2c1: i2c@4a84000 {
898				compatible = "qcom,geni-i2c";
899				reg = <0x04a84000 0x4000>;
900				clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
901				clock-names = "se";
902				interrupts = <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>;
903				pinctrl-0 = <&qup_i2c1_default>;
904				pinctrl-1 = <&qup_i2c1_sleep>;
905				pinctrl-names = "default", "sleep";
906				dmas = <&gpi_dma0 0 1 QCOM_GPI_I2C>,
907				       <&gpi_dma0 1 1 QCOM_GPI_I2C>;
908				dma-names = "tx", "rx";
909				#address-cells = <1>;
910				#size-cells = <0>;
911				status = "disabled";
912			};
913
914			i2c2: i2c@4a88000 {
915				compatible = "qcom,geni-i2c";
916				reg = <0x04a88000 0x4000>;
917				clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
918				clock-names = "se";
919				interrupts = <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>;
920				pinctrl-0 = <&qup_i2c2_default>;
921				pinctrl-1 = <&qup_i2c2_sleep>;
922				pinctrl-names = "default", "sleep";
923				dmas = <&gpi_dma0 0 2 QCOM_GPI_I2C>,
924				       <&gpi_dma0 1 2 QCOM_GPI_I2C>;
925				dma-names = "tx", "rx";
926				#address-cells = <1>;
927				#size-cells = <0>;
928				status = "disabled";
929			};
930
931			spi2: spi@4a88000 {
932				compatible = "qcom,geni-spi";
933				reg = <0x04a88000 0x4000>;
934				clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
935				clock-names = "se";
936				interrupts = <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>;
937				pinctrl-0 = <&qup_spi2_default>;
938				pinctrl-1 = <&qup_spi2_sleep>;
939				pinctrl-names = "default", "sleep";
940				dmas = <&gpi_dma0 0 2 QCOM_GPI_SPI>,
941				       <&gpi_dma0 1 2 QCOM_GPI_SPI>;
942				dma-names = "tx", "rx";
943				#address-cells = <1>;
944				#size-cells = <0>;
945				status = "disabled";
946			};
947
948			i2c3: i2c@4a8c000 {
949				compatible = "qcom,geni-i2c";
950				reg = <0x04a8c000 0x4000>;
951				clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
952				clock-names = "se";
953				interrupts = <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>;
954				pinctrl-0 = <&qup_i2c3_default>;
955				pinctrl-1 = <&qup_i2c3_sleep>;
956				pinctrl-names = "default", "sleep";
957				dmas = <&gpi_dma0 0 3 QCOM_GPI_I2C>,
958				       <&gpi_dma0 1 3 QCOM_GPI_I2C>;
959				dma-names = "tx", "rx";
960				#address-cells = <1>;
961				#size-cells = <0>;
962				status = "disabled";
963			};
964
965			i2c4: i2c@4a90000 {
966				compatible = "qcom,geni-i2c";
967				reg = <0x04a90000 0x4000>;
968				clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
969				clock-names = "se";
970				interrupts = <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>;
971				pinctrl-0 = <&qup_i2c4_default>;
972				pinctrl-1 = <&qup_i2c4_sleep>;
973				pinctrl-names = "default", "sleep";
974				dmas = <&gpi_dma0 0 4 QCOM_GPI_I2C>,
975				       <&gpi_dma0 1 4 QCOM_GPI_I2C>;
976				dma-names = "tx", "rx";
977				#address-cells = <1>;
978				#size-cells = <0>;
979				status = "disabled";
980			};
981		};
982
983		gpi_dma1: dma-controller@4c00000 {
984			compatible = "qcom,sm6125-gpi-dma", "qcom,sdm845-gpi-dma";
985			reg = <0x04c00000 0x60000>;
986			interrupts = <GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH>,
987				     <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>,
988				     <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>,
989				     <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>,
990				     <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>,
991				     <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>,
992				     <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
993				     <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>;
994			dma-channels = <8>;
995			dma-channel-mask = <0x0f>;
996			iommus = <&apps_smmu 0x156 0x0>;
997			#dma-cells = <3>;
998			status = "disabled";
999		};
1000
1001		qupv3_id_1: geniqup@4cc0000 {
1002			compatible = "qcom,geni-se-qup";
1003			reg = <0x04cc0000 0x2000>;
1004			clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>,
1005				 <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>;
1006			clock-names = "m-ahb", "s-ahb";
1007			iommus = <&apps_smmu 0x143 0x0>;
1008			#address-cells = <1>;
1009			#size-cells = <1>;
1010			ranges;
1011			status = "disabled";
1012
1013			i2c5: i2c@4c80000 {
1014				compatible = "qcom,geni-i2c";
1015				reg = <0x04c80000 0x4000>;
1016				clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
1017				clock-names = "se";
1018				interrupts = <GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH>;
1019				pinctrl-0 = <&qup_i2c5_default>;
1020				pinctrl-1 = <&qup_i2c5_sleep>;
1021				pinctrl-names = "default", "sleep";
1022				dmas = <&gpi_dma1 0 0 QCOM_GPI_I2C>,
1023				       <&gpi_dma1 1 0 QCOM_GPI_I2C>;
1024				dma-names = "tx", "rx";
1025				#address-cells = <1>;
1026				#size-cells = <0>;
1027				status = "disabled";
1028			};
1029
1030			spi5: spi@4c80000 {
1031				compatible = "qcom,geni-spi";
1032				reg = <0x04c80000 0x4000>;
1033				clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
1034				clock-names = "se";
1035				interrupts = <GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH>;
1036				pinctrl-0 = <&qup_spi5_default>;
1037				pinctrl-1 = <&qup_spi5_sleep>;
1038				pinctrl-names = "default", "sleep";
1039				dmas = <&gpi_dma1 0 0 QCOM_GPI_SPI>,
1040				       <&gpi_dma1 1 0 QCOM_GPI_SPI>;
1041				dma-names = "tx", "rx";
1042				#address-cells = <1>;
1043				#size-cells = <0>;
1044				status = "disabled";
1045			};
1046
1047			i2c6: i2c@4c84000 {
1048				compatible = "qcom,geni-i2c";
1049				reg = <0x04c84000 0x4000>;
1050				clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
1051				clock-names = "se";
1052				interrupts = <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH>;
1053				pinctrl-0 = <&qup_i2c6_default>;
1054				pinctrl-1 = <&qup_i2c6_sleep>;
1055				pinctrl-names = "default", "sleep";
1056				dmas = <&gpi_dma1 0 1 QCOM_GPI_I2C>,
1057				       <&gpi_dma1 1 1 QCOM_GPI_I2C>;
1058				dma-names = "tx", "rx";
1059				#address-cells = <1>;
1060				#size-cells = <0>;
1061				status = "disabled";
1062			};
1063
1064			spi6: spi@4c84000 {
1065				compatible = "qcom,geni-spi";
1066				reg = <0x04c84000 0x4000>;
1067				clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
1068				clock-names = "se";
1069				interrupts = <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH>;
1070				pinctrl-0 = <&qup_spi6_default>;
1071				pinctrl-1 = <&qup_spi6_sleep>;
1072				pinctrl-names = "default", "sleep";
1073				dmas = <&gpi_dma1 0 1 QCOM_GPI_SPI>,
1074				       <&gpi_dma1 1 1 QCOM_GPI_SPI>;
1075				dma-names = "tx", "rx";
1076				#address-cells = <1>;
1077				#size-cells = <0>;
1078				status = "disabled";
1079			};
1080
1081			i2c7: i2c@4c88000 {
1082				compatible = "qcom,geni-i2c";
1083				reg = <0x04c88000 0x4000>;
1084				clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
1085				clock-names = "se";
1086				interrupts = <GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH>;
1087				pinctrl-0 = <&qup_i2c7_default>;
1088				pinctrl-1 = <&qup_i2c7_sleep>;
1089				pinctrl-names = "default", "sleep";
1090				dmas = <&gpi_dma1 0 2 QCOM_GPI_I2C>,
1091				       <&gpi_dma1 1 2 QCOM_GPI_I2C>;
1092				dma-names = "tx", "rx";
1093				#address-cells = <1>;
1094				#size-cells = <0>;
1095				status = "disabled";
1096			};
1097
1098			i2c8: i2c@4c8c000 {
1099				compatible = "qcom,geni-i2c";
1100				reg = <0x04c8c000 0x4000>;
1101				clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
1102				clock-names = "se";
1103				interrupts = <GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH>;
1104				pinctrl-0 = <&qup_i2c8_default>;
1105				pinctrl-1 = <&qup_i2c8_sleep>;
1106				pinctrl-names = "default", "sleep";
1107				dmas = <&gpi_dma1 0 3 QCOM_GPI_I2C>,
1108				       <&gpi_dma1 1 3 QCOM_GPI_I2C>;
1109				dma-names = "tx", "rx";
1110				#address-cells = <1>;
1111				#size-cells = <0>;
1112				status = "disabled";
1113			};
1114
1115			spi8: spi@4c8c000 {
1116				compatible = "qcom,geni-spi";
1117				reg = <0x04c8c000 0x4000>;
1118				clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
1119				clock-names = "se";
1120				interrupts = <GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH>;
1121				pinctrl-0 = <&qup_spi8_default>;
1122				pinctrl-1 = <&qup_spi8_sleep>;
1123				pinctrl-names = "default", "sleep";
1124				dmas = <&gpi_dma1 0 3 QCOM_GPI_SPI>,
1125				       <&gpi_dma1 1 3 QCOM_GPI_SPI>;
1126				dma-names = "tx", "rx";
1127				#address-cells = <1>;
1128				#size-cells = <0>;
1129				status = "disabled";
1130			};
1131
1132			i2c9: i2c@4c90000 {
1133				compatible = "qcom,geni-i2c";
1134				reg = <0x04c90000 0x4000>;
1135				clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
1136				clock-names = "se";
1137				interrupts = <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>;
1138				pinctrl-0 = <&qup_i2c9_default>;
1139				pinctrl-1 = <&qup_i2c9_sleep>;
1140				pinctrl-names = "default", "sleep";
1141				dmas = <&gpi_dma1 0 4 QCOM_GPI_I2C>,
1142				       <&gpi_dma1 1 4 QCOM_GPI_I2C>;
1143				dma-names = "tx", "rx";
1144				#address-cells = <1>;
1145				#size-cells = <0>;
1146				status = "disabled";
1147			};
1148
1149			spi9: spi@4c90000 {
1150				compatible = "qcom,geni-spi";
1151				reg = <0x04c90000 0x4000>;
1152				clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
1153				clock-names = "se";
1154				interrupts = <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>;
1155				pinctrl-0 = <&qup_spi9_default>;
1156				pinctrl-1 = <&qup_spi9_sleep>;
1157				pinctrl-names = "default", "sleep";
1158				dmas = <&gpi_dma1 0 4 QCOM_GPI_SPI>,
1159				       <&gpi_dma1 1 4 QCOM_GPI_SPI>;
1160				dma-names = "tx", "rx";
1161				#address-cells = <1>;
1162				#size-cells = <0>;
1163				status = "disabled";
1164			};
1165		};
1166
1167		usb3: usb@4ef8800 {
1168			compatible = "qcom,sm6125-dwc3", "qcom,dwc3";
1169			reg = <0x04ef8800 0x400>;
1170			#address-cells = <1>;
1171			#size-cells = <1>;
1172			ranges;
1173
1174			clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
1175				 <&gcc GCC_USB30_PRIM_MASTER_CLK>,
1176				 <&gcc GCC_SYS_NOC_USB3_PRIM_AXI_CLK>,
1177				 <&gcc GCC_USB30_PRIM_SLEEP_CLK>,
1178				 <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
1179				 <&gcc GCC_USB3_PRIM_CLKREF_CLK>;
1180			clock-names = "cfg_noc",
1181				      "core",
1182				      "iface",
1183				      "sleep",
1184				      "mock_utmi",
1185				      "xo";
1186
1187			assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
1188					  <&gcc GCC_USB30_PRIM_MASTER_CLK>;
1189			assigned-clock-rates = <19200000>, <66666667>;
1190
1191			interrupts = <GIC_SPI 302 IRQ_TYPE_LEVEL_HIGH>,
1192				     <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>,
1193				     <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>,
1194				     <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>;
1195			interrupt-names = "pwr_event",
1196					  "qusb2_phy",
1197					  "hs_phy_irq",
1198					  "ss_phy_irq";
1199
1200			power-domains = <&gcc USB30_PRIM_GDSC>;
1201			qcom,select-utmi-as-pipe-clk;
1202			status = "disabled";
1203
1204			usb3_dwc3: usb@4e00000 {
1205				compatible = "snps,dwc3";
1206				reg = <0x04e00000 0xcd00>;
1207				interrupts = <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>;
1208				iommus = <&apps_smmu 0x100 0x0>;
1209				phys = <&hsusb_phy1>;
1210				phy-names = "usb2-phy";
1211				snps,dis_u2_susphy_quirk;
1212				snps,dis_enblslpm_quirk;
1213				snps,dis-u1-entry-quirk;
1214				snps,dis-u2-entry-quirk;
1215				maximum-speed = "high-speed";
1216				dr_mode = "peripheral";
1217			};
1218		};
1219
1220		sram@4690000 {
1221			compatible = "qcom,rpm-stats";
1222			reg = <0x04690000 0x10000>;
1223		};
1224
1225		mdss: display-subsystem@5e00000 {
1226			compatible = "qcom,sm6125-mdss";
1227			reg = <0x05e00000 0x1000>;
1228			reg-names = "mdss";
1229
1230			interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
1231			interrupt-controller;
1232			#interrupt-cells = <1>;
1233
1234			clocks = <&gcc GCC_DISP_AHB_CLK>,
1235				 <&dispcc DISP_CC_MDSS_AHB_CLK>,
1236				 <&dispcc DISP_CC_MDSS_MDP_CLK>;
1237			clock-names = "iface",
1238				      "ahb",
1239				      "core";
1240
1241			power-domains = <&dispcc MDSS_GDSC>;
1242
1243			iommus = <&apps_smmu 0x400 0x0>;
1244
1245			#address-cells = <1>;
1246			#size-cells = <1>;
1247			ranges;
1248
1249			status = "disabled";
1250
1251			mdss_mdp: display-controller@5e01000 {
1252				compatible = "qcom,sm6125-dpu";
1253				reg = <0x05e01000 0x83208>,
1254				      <0x05eb0000 0x3000>;
1255				reg-names = "mdp", "vbif";
1256
1257				interrupt-parent = <&mdss>;
1258				interrupts = <0>;
1259
1260				clocks = <&gcc GCC_DISP_HF_AXI_CLK>,
1261					 <&dispcc DISP_CC_MDSS_AHB_CLK>,
1262					 <&dispcc DISP_CC_MDSS_ROT_CLK>,
1263					 <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>,
1264					 <&dispcc DISP_CC_MDSS_MDP_CLK>,
1265					 <&dispcc DISP_CC_MDSS_VSYNC_CLK>,
1266					 <&gcc GCC_DISP_THROTTLE_CORE_CLK>;
1267				clock-names = "bus",
1268					      "iface",
1269					      "rot",
1270					      "lut",
1271					      "core",
1272					      "vsync",
1273					      "throttle";
1274				assigned-clocks = <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
1275				assigned-clock-rates = <19200000>;
1276
1277				operating-points-v2 = <&mdp_opp_table>;
1278				power-domains = <&rpmpd SM6125_VDDCX>;
1279
1280				ports {
1281					#address-cells = <1>;
1282					#size-cells = <0>;
1283
1284					port@0 {
1285						reg = <0>;
1286						dpu_intf1_out: endpoint {
1287							remote-endpoint = <&mdss_dsi0_in>;
1288						};
1289					};
1290				};
1291
1292				mdp_opp_table: opp-table {
1293					compatible = "operating-points-v2";
1294
1295					opp-192000000 {
1296						opp-hz = /bits/ 64 <192000000>;
1297						required-opps = <&rpmpd_opp_low_svs>;
1298					};
1299
1300					opp-256000000 {
1301						opp-hz = /bits/ 64 <256000000>;
1302						required-opps = <&rpmpd_opp_svs>;
1303					};
1304
1305					opp-307200000 {
1306						opp-hz = /bits/ 64 <307200000>;
1307						required-opps = <&rpmpd_opp_svs_plus>;
1308					};
1309
1310					opp-384000000 {
1311						opp-hz = /bits/ 64 <384000000>;
1312						required-opps = <&rpmpd_opp_nom>;
1313					};
1314
1315					opp-400000000 {
1316						opp-hz = /bits/ 64 <400000000>;
1317						required-opps = <&rpmpd_opp_turbo>;
1318					};
1319				};
1320			};
1321
1322			mdss_dsi0: dsi@5e94000 {
1323				compatible = "qcom,sm6125-dsi-ctrl", "qcom,mdss-dsi-ctrl";
1324				reg = <0x05e94000 0x400>;
1325				reg-names = "dsi_ctrl";
1326
1327				interrupt-parent = <&mdss>;
1328				interrupts = <4>;
1329
1330				clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>,
1331					 <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
1332					 <&dispcc DISP_CC_MDSS_PCLK0_CLK>,
1333					 <&dispcc DISP_CC_MDSS_ESC0_CLK>,
1334					 <&dispcc DISP_CC_MDSS_AHB_CLK>,
1335					 <&gcc GCC_DISP_HF_AXI_CLK>;
1336				clock-names = "byte",
1337					      "byte_intf",
1338					      "pixel",
1339					      "core",
1340					      "iface",
1341					      "bus";
1342				assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>,
1343						  <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>;
1344				assigned-clock-parents = <&mdss_dsi0_phy DSI_BYTE_PLL_CLK>,
1345							 <&mdss_dsi0_phy DSI_PIXEL_PLL_CLK>;
1346
1347				operating-points-v2 = <&dsi_opp_table>;
1348				power-domains = <&rpmpd SM6125_VDDCX>;
1349
1350				phys = <&mdss_dsi0_phy>;
1351				phy-names = "dsi";
1352
1353				#address-cells = <1>;
1354				#size-cells = <0>;
1355
1356				status = "disabled";
1357
1358				ports {
1359					#address-cells = <1>;
1360					#size-cells = <0>;
1361
1362					port@0 {
1363						reg = <0>;
1364						mdss_dsi0_in: endpoint {
1365							remote-endpoint = <&dpu_intf1_out>;
1366						};
1367					};
1368
1369					port@1 {
1370						reg = <1>;
1371						mdss_dsi0_out: endpoint {
1372						};
1373					};
1374				};
1375
1376				dsi_opp_table: opp-table {
1377					compatible = "operating-points-v2";
1378
1379					opp-164000000 {
1380						opp-hz = /bits/ 64 <164000000>;
1381						required-opps = <&rpmpd_opp_low_svs>;
1382					};
1383
1384					opp-187500000 {
1385						opp-hz = /bits/ 64 <187500000>;
1386						required-opps = <&rpmpd_opp_svs>;
1387					};
1388				};
1389			};
1390
1391			mdss_dsi0_phy: phy@5e94400 {
1392				compatible = "qcom,sm6125-dsi-phy-14nm";
1393				reg = <0x05e94400 0x100>,
1394				      <0x05e94500 0x300>,
1395				      <0x05e94800 0x188>;
1396				reg-names = "dsi_phy",
1397					    "dsi_phy_lane",
1398					    "dsi_pll";
1399
1400				#clock-cells = <1>;
1401				#phy-cells = <0>;
1402
1403				clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
1404					 <&rpmcc RPM_SMD_XO_CLK_SRC>;
1405				clock-names = "iface",
1406					      "ref";
1407
1408				required-opps = <&rpmpd_opp_nom>;
1409				power-domains = <&rpmpd SM6125_VDDMX>;
1410
1411				status = "disabled";
1412			};
1413		};
1414
1415		dispcc: clock-controller@5f00000 {
1416			compatible = "qcom,sm6125-dispcc";
1417			reg = <0x05f00000 0x20000>;
1418
1419			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
1420				 <&mdss_dsi0_phy DSI_BYTE_PLL_CLK>,
1421				 <&mdss_dsi0_phy DSI_PIXEL_PLL_CLK>,
1422				 <0>,
1423				 <0>,
1424				 <0>,
1425				 <&gcc GCC_DISP_AHB_CLK>,
1426				 <&gcc GCC_DISP_GPLL0_DIV_CLK_SRC>;
1427			clock-names = "bi_tcxo",
1428				      "dsi0_phy_pll_out_byteclk",
1429				      "dsi0_phy_pll_out_dsiclk",
1430				      "dsi1_phy_pll_out_dsiclk",
1431				      "dp_phy_pll_link_clk",
1432				      "dp_phy_pll_vco_div_clk",
1433				      "cfg_ahb_clk",
1434				      "gcc_disp_gpll0_div_clk_src";
1435
1436			required-opps = <&rpmpd_opp_ret>;
1437			power-domains = <&rpmpd SM6125_VDDCX>;
1438
1439			#clock-cells = <1>;
1440			#power-domain-cells = <1>;
1441		};
1442
1443		apps_smmu: iommu@c600000 {
1444			compatible = "qcom,sm6125-smmu-500", "qcom,smmu-500", "arm,mmu-500";
1445			reg = <0x0c600000 0x80000>;
1446			interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>,
1447				     <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
1448				     <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
1449				     <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
1450				     <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
1451				     <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
1452				     <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
1453				     <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
1454				     <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
1455				     <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
1456				     <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
1457				     <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
1458				     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
1459				     <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
1460				     <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
1461				     <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
1462				     <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
1463				     <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
1464				     <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
1465				     <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
1466				     <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
1467				     <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
1468				     <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
1469				     <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
1470				     <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
1471				     <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
1472				     <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
1473				     <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
1474				     <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
1475				     <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
1476				     <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
1477				     <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
1478				     <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
1479				     <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
1480				     <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
1481				     <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
1482				     <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
1483				     <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
1484				     <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
1485				     <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
1486				     <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>,
1487				     <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
1488				     <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
1489				     <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
1490				     <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
1491				     <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
1492				     <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
1493				     <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
1494				     <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
1495				     <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
1496				     <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
1497				     <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
1498				     <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
1499				     <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
1500				     <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
1501				     <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
1502				     <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>,
1503				     <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
1504				     <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
1505				     <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
1506				     <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
1507				     <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
1508				     <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
1509				     <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>,
1510				     <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
1511
1512			#global-interrupts = <1>;
1513			#iommu-cells = <2>;
1514		};
1515
1516		apcs_glb: mailbox@f111000 {
1517			compatible = "qcom,sm6125-apcs-hmss-global",
1518				     "qcom,msm8994-apcs-kpss-global";
1519			reg = <0x0f111000 0x1000>;
1520
1521			#mbox-cells = <1>;
1522		};
1523
1524		timer@f120000 {
1525			compatible = "arm,armv7-timer-mem";
1526			#address-cells = <1>;
1527			#size-cells = <1>;
1528			ranges;
1529			reg = <0x0f120000 0x1000>;
1530			clock-frequency = <19200000>;
1531
1532			frame@f121000 {
1533				frame-number = <0>;
1534				interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
1535					     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
1536				reg = <0x0f121000 0x1000>,
1537				      <0x0f122000 0x1000>;
1538			};
1539
1540			frame@f123000 {
1541				frame-number = <1>;
1542				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
1543				reg = <0x0f123000 0x1000>;
1544				status = "disabled";
1545			};
1546
1547			frame@f124000 {
1548				frame-number = <2>;
1549				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
1550				reg = <0x0f124000 0x1000>;
1551				status = "disabled";
1552			};
1553
1554			frame@f125000 {
1555				frame-number = <3>;
1556				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
1557				reg = <0x0f125000 0x1000>;
1558				status = "disabled";
1559			};
1560
1561			frame@f126000 {
1562				frame-number = <4>;
1563				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
1564				reg = <0x0f126000 0x1000>;
1565				status = "disabled";
1566			};
1567
1568			frame@f127000 {
1569				frame-number = <5>;
1570				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
1571				reg = <0x0f127000 0x1000>;
1572				status = "disabled";
1573			};
1574
1575			frame@f128000 {
1576				frame-number = <6>;
1577				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
1578				reg = <0x0f128000 0x1000>;
1579				status = "disabled";
1580			};
1581		};
1582
1583		intc: interrupt-controller@f200000 {
1584			compatible = "arm,gic-v3";
1585			reg = <0x0f200000 0x20000>,
1586			      <0x0f300000 0x100000>;
1587			#interrupt-cells = <3>;
1588			interrupt-controller;
1589			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
1590		};
1591	};
1592
1593	timer {
1594		compatible = "arm,armv8-timer";
1595		interrupts = <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1596			     <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1597			     <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1598			     <GIC_PPI 0 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
1599		clock-frequency = <19200000>;
1600	};
1601};
1602