1 // SPDX-License-Identifier: BSD-3-Clause
2 /* Copyright (c) 2022, The Linux Foundation. All rights reserved. */
3
4 #include <dt-bindings/clock/qcom,gcc-msm8953.h>
5 #include <dt-bindings/gpio/gpio.h>
6 #include <dt-bindings/interrupt-controller/arm-gic.h>
7 #include <dt-bindings/power/qcom-rpmpd.h>
8 #include <dt-bindings/thermal/thermal.h>
9
10 / {
11 interrupt-parent = <&intc>;
12
13 #address-cells = <2>;
14 #size-cells = <2>;
15
16 chosen { };
17
18 clocks {
19 sleep_clk: sleep-clk {
20 compatible = "fixed-clock";
21 #clock-cells = <0>;
22 clock-frequency = <32768>;
23 };
24
25 xo_board: xo-board {
26 compatible = "fixed-clock";
27 #clock-cells = <0>;
28 clock-frequency = <19200000>;
29 clock-output-names = "xo";
30 };
31 };
32
33 cpus {
34 #address-cells = <1>;
35 #size-cells = <0>;
36
37 CPU0: cpu@0 {
38 device_type = "cpu";
39 compatible = "arm,cortex-a53";
40 reg = <0x0>;
41 enable-method = "psci";
42 capacity-dmips-mhz = <1024>;
43 next-level-cache = <&L2_0>;
44 #cooling-cells = <2>;
45
46 l1-icache {
47 compatible = "cache";
48 };
49 l1-dcache {
50 compatible = "cache";
51 };
52 };
53
54 CPU1: cpu@1 {
55 device_type = "cpu";
56 compatible = "arm,cortex-a53";
57 reg = <0x1>;
58 enable-method = "psci";
59 capacity-dmips-mhz = <1024>;
60 next-level-cache = <&L2_0>;
61 #cooling-cells = <2>;
62
63 l1-icache {
64 compatible = "cache";
65 };
66 l1-dcache {
67 compatible = "cache";
68 };
69 };
70
71 CPU2: cpu@2 {
72 device_type = "cpu";
73 compatible = "arm,cortex-a53";
74 reg = <0x2>;
75 enable-method = "psci";
76 capacity-dmips-mhz = <1024>;
77 next-level-cache = <&L2_0>;
78 #cooling-cells = <2>;
79
80 l1-icache {
81 compatible = "cache";
82 };
83 l1-dcache {
84 compatible = "cache";
85 };
86 };
87
88 CPU3: cpu@3 {
89 device_type = "cpu";
90 compatible = "arm,cortex-a53";
91 reg = <0x3>;
92 enable-method = "psci";
93 capacity-dmips-mhz = <1024>;
94 next-level-cache = <&L2_0>;
95 #cooling-cells = <2>;
96
97 l1-icache {
98 compatible = "cache";
99 };
100 l1-dcache {
101 compatible = "cache";
102 };
103 };
104
105 CPU4: cpu@100 {
106 device_type = "cpu";
107 compatible = "arm,cortex-a53";
108 reg = <0x100>;
109 enable-method = "psci";
110 capacity-dmips-mhz = <1024>;
111 next-level-cache = <&L2_1>;
112 #cooling-cells = <2>;
113
114 l1-icache {
115 compatible = "cache";
116 };
117 l1-dcache {
118 compatible = "cache";
119 };
120 };
121
122 CPU5: cpu@101 {
123 device_type = "cpu";
124 compatible = "arm,cortex-a53";
125 reg = <0x101>;
126 enable-method = "psci";
127 capacity-dmips-mhz = <1024>;
128 next-level-cache = <&L2_1>;
129 #cooling-cells = <2>;
130
131 l1-icache {
132 compatible = "cache";
133 };
134 l1-dcache {
135 compatible = "cache";
136 };
137 };
138
139 CPU6: cpu@102 {
140 device_type = "cpu";
141 compatible = "arm,cortex-a53";
142 reg = <0x102>;
143 enable-method = "psci";
144 capacity-dmips-mhz = <1024>;
145 next-level-cache = <&L2_1>;
146 #cooling-cells = <2>;
147
148 l1-icache {
149 compatible = "cache";
150 };
151 l1-dcache {
152 compatible = "cache";
153 };
154 };
155
156 CPU7: cpu@103 {
157 device_type = "cpu";
158 compatible = "arm,cortex-a53";
159 reg = <0x103>;
160 enable-method = "psci";
161 capacity-dmips-mhz = <1024>;
162 next-level-cache = <&L2_1>;
163 #cooling-cells = <2>;
164
165 l1-icache {
166 compatible = "cache";
167 };
168 l1-dcache {
169 compatible = "cache";
170 };
171 };
172
173 cpu-map {
174 cluster0 {
175 core0 {
176 cpu = <&CPU0>;
177 };
178 core1 {
179 cpu = <&CPU1>;
180 };
181 core2 {
182 cpu = <&CPU2>;
183 };
184 core3 {
185 cpu = <&CPU3>;
186 };
187 };
188
189 cluster1 {
190 core0 {
191 cpu = <&CPU4>;
192 };
193 core1 {
194 cpu = <&CPU5>;
195 };
196 core2 {
197 cpu = <&CPU6>;
198 };
199 core3 {
200 cpu = <&CPU7>;
201 };
202 };
203 };
204
205 L2_0: l2-cache_0 {
206 compatible = "cache";
207 cache-level = <2>;
208 };
209
210 L2_1: l2-cache_1 {
211 compatible = "cache";
212 cache-level = <2>;
213 };
214 };
215
216 firmware {
217 scm: scm {
218 compatible = "qcom,scm-msm8953", "qcom,scm";
219 clocks = <&gcc GCC_CRYPTO_CLK>,
220 <&gcc GCC_CRYPTO_AXI_CLK>,
221 <&gcc GCC_CRYPTO_AHB_CLK>;
222 clock-names = "core", "bus", "iface";
223 #reset-cells = <1>;
224 };
225 };
226
227 memory {
228 device_type = "memory";
229 /* We expect the bootloader to fill in the reg */
230 reg = <0 0 0 0>;
231 };
232
233 pmu {
234 compatible = "arm,cortex-a53-pmu";
235 interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
236 };
237
238 psci {
239 compatible = "arm,psci-1.0";
240 method = "smc";
241 };
242
243 reserved-memory {
244 #address-cells = <2>;
245 #size-cells = <2>;
246 ranges;
247
248 zap_shader_region: memory@81800000 {
249 compatible = "shared-dma-pool";
250 reg = <0x0 0x81800000 0x0 0x2000>;
251 no-map;
252 };
253
254 memory@85b00000 {
255 reg = <0x0 0x85b00000 0x0 0x800000>;
256 no-map;
257 };
258
259 smem_mem: memory@86300000 {
260 compatible = "qcom,smem";
261 reg = <0x0 0x86300000 0x0 0x100000>;
262 qcom,rpm-msg-ram = <&rpm_msg_ram>;
263 hwlocks = <&tcsr_mutex 3>;
264 no-map;
265 };
266
267 memory@86400000 {
268 reg = <0x0 0x86400000 0x0 0x400000>;
269 no-map;
270 };
271
272 mpss_mem: memory@86c00000 {
273 reg = <0x0 0x86c00000 0x0 0x6a00000>;
274 no-map;
275 };
276
277 adsp_fw_mem: memory@8d600000 {
278 reg = <0x0 0x8d600000 0x0 0x1100000>;
279 no-map;
280 };
281
282 wcnss_fw_mem: memory@8e700000 {
283 reg = <0x0 0x8e700000 0x0 0x700000>;
284 no-map;
285 };
286
287 memory@90000000 {
288 reg = <0 0x90000000 0 0x1000>;
289 no-map;
290 };
291
292 memory@90001000 {
293 reg = <0x0 0x90001000 0x0 0x13ff000>;
294 no-map;
295 };
296
297 venus_mem: memory@91400000 {
298 reg = <0x0 0x91400000 0x0 0x700000>;
299 no-map;
300 };
301
302 mba_mem: memory@92000000 {
303 reg = <0x0 0x92000000 0x0 0x100000>;
304 no-map;
305 };
306
307 memory@f2d00000 {
308 compatible = "qcom,rmtfs-mem";
309 reg = <0x0 0xf2d00000 0x0 0x180000>;
310 no-map;
311
312 qcom,client-id = <1>;
313 };
314 };
315
316 smd {
317 compatible = "qcom,smd";
318
319 rpm {
320 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
321 qcom,ipc = <&apcs 8 0>;
322 qcom,smd-edge = <15>;
323
324 rpm_requests: rpm-requests {
325 compatible = "qcom,rpm-msm8953";
326 qcom,smd-channels = "rpm_requests";
327
328 rpmcc: rpmcc {
329 compatible = "qcom,rpmcc-msm8953", "qcom,rpmcc";
330 clocks = <&xo_board>;
331 clock-names = "xo";
332 #clock-cells = <1>;
333 };
334
335 rpmpd: power-controller {
336 compatible = "qcom,msm8953-rpmpd";
337 #power-domain-cells = <1>;
338 operating-points-v2 = <&rpmpd_opp_table>;
339
340 clocks = <&xo_board>;
341 clock-names = "ref";
342
343 rpmpd_opp_table: opp-table {
344 compatible = "operating-points-v2";
345
346 rpmpd_opp_ret: opp1 {
347 opp-level = <RPM_SMD_LEVEL_RETENTION>;
348 };
349
350 rpmpd_opp_ret_plus: opp2 {
351 opp-level = <RPM_SMD_LEVEL_RETENTION_PLUS>;
352 };
353
354 rpmpd_opp_min_svs: opp3 {
355 opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
356 };
357
358 rpmpd_opp_low_svs: opp4 {
359 opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
360 };
361
362 rpmpd_opp_svs: opp5 {
363 opp-level = <RPM_SMD_LEVEL_SVS>;
364 };
365
366 rpmpd_opp_svs_plus: opp6 {
367 opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
368 };
369
370 rpmpd_opp_nom: opp7 {
371 opp-level = <RPM_SMD_LEVEL_NOM>;
372 };
373
374 rpmpd_opp_nom_plus: opp8 {
375 opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
376 };
377
378 rpmpd_opp_turbo: opp9 {
379 opp-level = <RPM_SMD_LEVEL_TURBO>;
380 };
381 };
382 };
383 };
384 };
385 };
386
387 smsm {
388 compatible = "qcom,smsm";
389
390 #address-cells = <1>;
391 #size-cells = <0>;
392
393 qcom,ipc-1 = <&apcs 8 13>;
394 qcom,ipc-3 = <&apcs 8 19>;
395
396 apps_smsm: apps@0 {
397 reg = <0>;
398
399 #qcom,smem-state-cells = <1>;
400 };
401 };
402
403 soc: soc@0 {
404 #address-cells = <1>;
405 #size-cells = <1>;
406 ranges = <0 0 0 0xffffffff>;
407 compatible = "simple-bus";
408
409 rpm_msg_ram: sram@60000 {
410 compatible = "qcom,rpm-msg-ram";
411 reg = <0x60000 0x8000>;
412 };
413
414 hsusb_phy: phy@79000 {
415 compatible = "qcom,msm8953-qusb2-phy";
416 reg = <0x79000 0x180>;
417 #phy-cells = <0>;
418
419 clocks = <&gcc GCC_USB_PHY_CFG_AHB_CLK>,
420 <&gcc GCC_QUSB_REF_CLK>;
421 clock-names = "cfg_ahb", "ref";
422
423 qcom,tcsr-syscon = <&tcsr_phy_clk_scheme_sel>;
424
425 resets = <&gcc GCC_QUSB2_PHY_BCR>;
426
427 status = "disabled";
428 };
429
430 rng@e3000 {
431 compatible = "qcom,prng";
432 reg = <0x000e3000 0x1000>;
433 clocks = <&gcc GCC_PRNG_AHB_CLK>;
434 clock-names = "core";
435 };
436
437 tsens0: thermal-sensor@4a9000 {
438 compatible = "qcom,msm8953-tsens", "qcom,tsens-v2";
439 reg = <0x4a9000 0x1000>, /* TM */
440 <0x4a8000 0x1000>; /* SROT */
441 #qcom,sensors = <16>;
442 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
443 <GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH>;
444 interrupt-names = "uplow", "critical";
445 #thermal-sensor-cells = <1>;
446 };
447
448 restart@4ab000 {
449 compatible = "qcom,pshold";
450 reg = <0x4ab000 0x4>;
451 };
452
453 tlmm: pinctrl@1000000 {
454 compatible = "qcom,msm8953-pinctrl";
455 reg = <0x1000000 0x300000>;
456 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
457 gpio-controller;
458 gpio-ranges = <&tlmm 0 0 155>;
459 #gpio-cells = <2>;
460 interrupt-controller;
461 #interrupt-cells = <2>;
462
463 uart_console_active: uart-console-active-pins {
464 pins = "gpio4", "gpio5";
465 function = "blsp_uart2";
466 drive-strength = <2>;
467 bias-disable;
468 };
469
470 uart_console_sleep: uart-console-sleep-pins {
471 pins = "gpio4", "gpio5";
472 function = "blsp_uart2";
473 drive-strength = <2>;
474 bias-pull-down;
475 };
476
477 sdc1_clk_on: sdc1-clk-on-pins {
478 pins = "sdc1_clk";
479 bias-disable;
480 drive-strength = <16>;
481 };
482
483 sdc1_clk_off: sdc1-clk-off-pins {
484 pins = "sdc1_clk";
485 bias-disable;
486 drive-strength = <2>;
487 };
488
489 sdc1_cmd_on: sdc1-cmd-on-pins {
490 pins = "sdc1_cmd";
491 bias-disable;
492 drive-strength = <10>;
493 };
494
495 sdc1_cmd_off: sdc1-cmd-off-pins {
496 pins = "sdc1_cmd";
497 bias-disable;
498 drive-strength = <2>;
499 };
500
501 sdc1_data_on: sdc1-data-on-pins {
502 pins = "sdc1_data";
503 bias-pull-up;
504 drive-strength = <10>;
505 };
506
507 sdc1_data_off: sdc1-data-off-pins {
508 pins = "sdc1_data";
509 bias-pull-up;
510 drive-strength = <2>;
511 };
512
513 sdc1_rclk_on: sdc1-rclk-on-pins {
514 pins = "sdc1_rclk";
515 bias-pull-down;
516 };
517
518 sdc1_rclk_off: sdc1-rclk-off-pins {
519 pins = "sdc1_rclk";
520 bias-pull-down;
521 };
522
523 sdc2_clk_on: sdc2-clk-on-pins {
524 pins = "sdc2_clk";
525 drive-strength = <16>;
526 bias-disable;
527 };
528
529 sdc2_clk_off: sdc2-clk-off-pins {
530 pins = "sdc2_clk";
531 bias-disable;
532 drive-strength = <2>;
533 };
534
535 sdc2_cmd_on: sdc2-cmd-on-pins {
536 pins = "sdc2_cmd";
537 bias-pull-up;
538 drive-strength = <10>;
539 };
540
541 sdc2_cmd_off: sdc2-cmd-off-pins {
542 pins = "sdc2_cmd";
543 bias-pull-up;
544 drive-strength = <2>;
545 };
546
547 sdc2_data_on: sdc2-data-on-pins {
548 pins = "sdc2_data";
549 bias-pull-up;
550 drive-strength = <10>;
551 };
552
553 sdc2_data_off: sdc2-data-off-pins {
554 pins = "sdc2_data";
555 bias-pull-up;
556 drive-strength = <2>;
557 };
558
559 sdc2_cd_on: cd-on-pins {
560 pins = "gpio133";
561 function = "gpio";
562 drive-strength = <2>;
563 bias-pull-up;
564 };
565
566 sdc2_cd_off: cd-off-pins {
567 pins = "gpio133";
568 function = "gpio";
569 drive-strength = <2>;
570 bias-disable;
571 };
572
573 gpio_key_default: gpio-key-default-pins {
574 pins = "gpio85";
575 function = "gpio";
576 drive-strength = <2>;
577 bias-pull-up;
578 };
579
580 i2c_1_default: i2c-1-default-pins {
581 pins = "gpio2", "gpio3";
582 function = "blsp_i2c1";
583 drive-strength = <2>;
584 bias-disable;
585 };
586
587 i2c_1_sleep: i2c-1-sleep-pins {
588 pins = "gpio2", "gpio3";
589 function = "gpio";
590 drive-strength = <2>;
591 bias-disable;
592 };
593
594 i2c_2_default: i2c-2-default-pins {
595 pins = "gpio6", "gpio7";
596 function = "blsp_i2c2";
597 drive-strength = <2>;
598 bias-disable;
599 };
600
601 i2c_2_sleep: i2c-2-sleep-pins {
602 pins = "gpio6", "gpio7";
603 function = "gpio";
604 drive-strength = <2>;
605 bias-disable;
606 };
607
608 i2c_3_default: i2c-3-default-pins {
609 pins = "gpio10", "gpio11";
610 function = "blsp_i2c3";
611 drive-strength = <2>;
612 bias-disable;
613 };
614
615 i2c_3_sleep: i2c-3-sleep-pins {
616 pins = "gpio10", "gpio11";
617 function = "gpio";
618 drive-strength = <2>;
619 bias-disable;
620 };
621
622 i2c_4_default: i2c-4-default-pins {
623 pins = "gpio14", "gpio15";
624 function = "blsp_i2c4";
625 drive-strength = <2>;
626 bias-disable;
627 };
628
629 i2c_4_sleep: i2c-4-sleep-pins {
630 pins = "gpio14", "gpio15";
631 function = "gpio";
632 drive-strength = <2>;
633 bias-disable;
634 };
635
636 i2c_5_default: i2c-5-default-pins {
637 pins = "gpio18", "gpio19";
638 function = "blsp_i2c5";
639 drive-strength = <2>;
640 bias-disable;
641 };
642
643 i2c_5_sleep: i2c-5-sleep-pins {
644 pins = "gpio18", "gpio19";
645 function = "gpio";
646 drive-strength = <2>;
647 bias-disable;
648 };
649
650 i2c_6_default: i2c-6-default-pins {
651 pins = "gpio22", "gpio23";
652 function = "blsp_i2c6";
653 drive-strength = <2>;
654 bias-disable;
655 };
656
657 i2c_6_sleep: i2c-6-sleep-pins {
658 pins = "gpio22", "gpio23";
659 function = "gpio";
660 drive-strength = <2>;
661 bias-disable;
662 };
663
664 i2c_7_default: i2c-7-default-pins {
665 pins = "gpio135", "gpio136";
666 function = "blsp_i2c7";
667 drive-strength = <2>;
668 bias-disable;
669 };
670
671 i2c_7_sleep: i2c-7-sleep-pins {
672 pins = "gpio135", "gpio136";
673 function = "gpio";
674 drive-strength = <2>;
675 bias-disable;
676 };
677
678 i2c_8_default: i2c-8-default-pins {
679 pins = "gpio98", "gpio99";
680 function = "blsp_i2c8";
681 drive-strength = <2>;
682 bias-disable;
683 };
684
685 i2c_8_sleep: i2c-8-sleep-pins {
686 pins = "gpio98", "gpio99";
687 function = "gpio";
688 drive-strength = <2>;
689 bias-disable;
690 };
691 };
692
693 gcc: clock-controller@1800000 {
694 compatible = "qcom,gcc-msm8953";
695 reg = <0x1800000 0x80000>;
696 #clock-cells = <1>;
697 #reset-cells = <1>;
698 #power-domain-cells = <1>;
699 clocks = <&xo_board>,
700 <&sleep_clk>,
701 <0>,
702 <0>,
703 <0>,
704 <0>;
705 clock-names = "xo",
706 "sleep",
707 "dsi0pll",
708 "dsi0pllbyte",
709 "dsi1pll",
710 "dsi1pllbyte";
711 };
712
713 tcsr_mutex: hwlock@1905000 {
714 compatible = "qcom,tcsr-mutex";
715 reg = <0x1905000 0x20000>;
716 #hwlock-cells = <1>;
717 };
718
719 tcsr: syscon@1937000 {
720 compatible = "qcom,tcsr-msm8953", "syscon";
721 reg = <0x1937000 0x30000>;
722 };
723
724 tcsr_phy_clk_scheme_sel: syscon@193f044 {
725 compatible = "syscon";
726 reg = <0x193f044 0x4>;
727 };
728
729 spmi_bus: spmi@200f000 {
730 compatible = "qcom,spmi-pmic-arb";
731 reg = <0x200f000 0x1000>,
732 <0x2400000 0x800000>,
733 <0x2c00000 0x800000>,
734 <0x3800000 0x200000>,
735 <0x200a000 0x2100>;
736 reg-names = "core", "chnls", "obsrvr", "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 interrupt-controller;
742
743 #interrupt-cells = <4>;
744 #address-cells = <2>;
745 #size-cells = <0>;
746 };
747
748 usb3: usb@70f8800 {
749 compatible = "qcom,msm8953-dwc3", "qcom,dwc3";
750 reg = <0x70f8800 0x400>;
751 #address-cells = <1>;
752 #size-cells = <1>;
753 ranges;
754
755 interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
756 <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>;
757 interrupt-names = "hs_phy_irq", "ss_phy_irq";
758
759 clocks = <&gcc GCC_USB_PHY_CFG_AHB_CLK>,
760 <&gcc GCC_USB30_MASTER_CLK>,
761 <&gcc GCC_PCNOC_USB3_AXI_CLK>,
762 <&gcc GCC_USB30_SLEEP_CLK>,
763 <&gcc GCC_USB30_MOCK_UTMI_CLK>;
764 clock-names = "cfg_noc",
765 "core",
766 "iface",
767 "sleep",
768 "mock_utmi";
769
770 assigned-clocks = <&gcc GCC_USB30_MOCK_UTMI_CLK>,
771 <&gcc GCC_USB30_MASTER_CLK>;
772 assigned-clock-rates = <19200000>, <133330000>;
773
774 power-domains = <&gcc USB30_GDSC>;
775
776 qcom,select-utmi-as-pipe-clk;
777
778 status = "disabled";
779
780 usb3_dwc3: usb@7000000 {
781 compatible = "snps,dwc3";
782 reg = <0x07000000 0xcc00>;
783 interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
784 phys = <&hsusb_phy>;
785 phy-names = "usb2-phy";
786
787 snps,usb2-gadget-lpm-disable;
788 snps,dis-u1-entry-quirk;
789 snps,dis-u2-entry-quirk;
790 snps,is-utmi-l1-suspend;
791 snps,hird-threshold = /bits/ 8 <0x00>;
792
793 maximum-speed = "high-speed";
794 phy_mode = "utmi";
795 };
796 };
797
798 sdhc_1: mmc@7824900 {
799 compatible = "qcom,msm8953-sdhci", "qcom,sdhci-msm-v4";
800
801 reg = <0x7824900 0x500>, <0x7824000 0x800>;
802 reg-names = "hc_mem", "core_mem";
803
804 interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
805 <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
806 interrupt-names = "hc_irq", "pwr_irq";
807
808 clocks = <&gcc GCC_SDCC1_AHB_CLK>,
809 <&gcc GCC_SDCC1_APPS_CLK>,
810 <&xo_board>;
811 clock-names = "iface", "core", "xo";
812
813 power-domains = <&rpmpd MSM8953_VDDCX>;
814 operating-points-v2 = <&sdhc1_opp_table>;
815
816 pinctrl-names = "default", "sleep";
817 pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on &sdc1_rclk_on>;
818 pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off &sdc1_rclk_off>;
819
820 mmc-hs400-1_8v;
821 mmc-hs200-1_8v;
822 mmc-ddr-1_8v;
823 bus-width = <8>;
824 non-removable;
825
826 status = "disabled";
827
828 sdhc1_opp_table: opp-table-sdhc1 {
829 compatible = "operating-points-v2";
830
831 opp-25000000 {
832 opp-hz = /bits/ 64 <25000000>;
833 required-opps = <&rpmpd_opp_low_svs>;
834 };
835
836 opp-50000000 {
837 opp-hz = /bits/ 64 <50000000>;
838 required-opps = <&rpmpd_opp_svs>;
839 };
840
841 opp-100000000 {
842 opp-hz = /bits/ 64 <100000000>;
843 required-opps = <&rpmpd_opp_svs>;
844 };
845
846 opp-192000000 {
847 opp-hz = /bits/ 64 <192000000>;
848 required-opps = <&rpmpd_opp_nom>;
849 };
850
851 opp-384000000 {
852 opp-hz = /bits/ 64 <384000000>;
853 required-opps = <&rpmpd_opp_nom>;
854 };
855 };
856 };
857
858 sdhc_2: mmc@7864900 {
859 compatible = "qcom,msm8953-sdhci", "qcom,sdhci-msm-v4";
860
861 reg = <0x7864900 0x500>, <0x7864000 0x800>;
862 reg-names = "hc_mem", "core_mem";
863
864 interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
865 <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
866 interrupt-names = "hc_irq", "pwr_irq";
867
868 clocks = <&gcc GCC_SDCC2_AHB_CLK>,
869 <&gcc GCC_SDCC2_APPS_CLK>,
870 <&xo_board>;
871 clock-names = "iface", "core", "xo";
872
873 power-domains = <&rpmpd MSM8953_VDDCX>;
874 operating-points-v2 = <&sdhc2_opp_table>;
875
876 pinctrl-names = "default", "sleep";
877 pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on>;
878 pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off>;
879
880 bus-width = <4>;
881
882 status = "disabled";
883
884 sdhc2_opp_table: opp-table-sdhc2 {
885 compatible = "operating-points-v2";
886
887 opp-25000000 {
888 opp-hz = /bits/ 64 <25000000>;
889 required-opps = <&rpmpd_opp_low_svs>;
890 };
891
892 opp-50000000 {
893 opp-hz = /bits/ 64 <50000000>;
894 required-opps = <&rpmpd_opp_svs>;
895 };
896
897 opp-100000000 {
898 opp-hz = /bits/ 64 <100000000>;
899 required-opps = <&rpmpd_opp_svs>;
900 };
901
902 opp-177770000 {
903 opp-hz = /bits/ 64 <177770000>;
904 required-opps = <&rpmpd_opp_nom>;
905 };
906
907 opp-200000000 {
908 opp-hz = /bits/ 64 <200000000>;
909 required-opps = <&rpmpd_opp_nom>;
910 };
911 };
912 };
913
914 uart_0: serial@78af000 {
915 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
916 reg = <0x78af000 0x200>;
917 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
918 clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>,
919 <&gcc GCC_BLSP1_AHB_CLK>;
920 clock-names = "core", "iface";
921
922 status = "disabled";
923 };
924
925 i2c_1: i2c@78b5000 {
926 compatible = "qcom,i2c-qup-v2.2.1";
927 reg = <0x78b5000 0x600>;
928 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
929 clock-names = "core", "iface";
930 clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>,
931 <&gcc GCC_BLSP1_AHB_CLK>;
932
933 pinctrl-names = "default", "sleep";
934 pinctrl-0 = <&i2c_1_default>;
935 pinctrl-1 = <&i2c_1_sleep>;
936
937 #address-cells = <1>;
938 #size-cells = <0>;
939
940 status = "disabled";
941 };
942
943 i2c_2: i2c@78b6000 {
944 compatible = "qcom,i2c-qup-v2.2.1";
945 reg = <0x78b6000 0x600>;
946 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
947 clock-names = "core", "iface";
948 clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>,
949 <&gcc GCC_BLSP1_AHB_CLK>;
950
951 pinctrl-names = "default", "sleep";
952 pinctrl-0 = <&i2c_2_default>;
953 pinctrl-1 = <&i2c_2_sleep>;
954
955 #address-cells = <1>;
956 #size-cells = <0>;
957
958 status = "disabled";
959 };
960
961 i2c_3: i2c@78b7000 {
962 compatible = "qcom,i2c-qup-v2.2.1";
963 reg = <0x78b7000 0x600>;
964 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
965 clock-names = "core", "iface";
966 clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>,
967 <&gcc GCC_BLSP1_AHB_CLK>;
968 pinctrl-names = "default", "sleep";
969 pinctrl-0 = <&i2c_3_default>;
970 pinctrl-1 = <&i2c_3_sleep>;
971
972 #address-cells = <1>;
973 #size-cells = <0>;
974
975 status = "disabled";
976 };
977
978 i2c_4: i2c@78b8000 {
979 compatible = "qcom,i2c-qup-v2.2.1";
980 reg = <0x78b8000 0x600>;
981 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
982 clock-names = "core", "iface";
983 clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>,
984 <&gcc GCC_BLSP1_AHB_CLK>;
985 pinctrl-names = "default", "sleep";
986 pinctrl-0 = <&i2c_4_default>;
987 pinctrl-1 = <&i2c_4_sleep>;
988
989 #address-cells = <1>;
990 #size-cells = <0>;
991
992 status = "disabled";
993 };
994
995 i2c_5: i2c@7af5000 {
996 compatible = "qcom,i2c-qup-v2.2.1";
997 reg = <0x7af5000 0x600>;
998 interrupts = <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>;
999 clock-names = "core", "iface";
1000 clocks = <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>,
1001 <&gcc GCC_BLSP2_AHB_CLK>;
1002 pinctrl-names = "default", "sleep";
1003 pinctrl-0 = <&i2c_5_default>;
1004 pinctrl-1 = <&i2c_5_sleep>;
1005
1006 #address-cells = <1>;
1007 #size-cells = <0>;
1008
1009 status = "disabled";
1010 };
1011
1012 i2c_6: i2c@7af6000 {
1013 compatible = "qcom,i2c-qup-v2.2.1";
1014 reg = <0x7af6000 0x600>;
1015 interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
1016 clock-names = "core", "iface";
1017 clocks = <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>,
1018 <&gcc GCC_BLSP2_AHB_CLK>;
1019 pinctrl-names = "default", "sleep";
1020 pinctrl-0 = <&i2c_6_default>;
1021 pinctrl-1 = <&i2c_6_sleep>;
1022
1023 #address-cells = <1>;
1024 #size-cells = <0>;
1025
1026 status = "disabled";
1027 };
1028
1029 i2c_7: i2c@7af7000 {
1030 compatible = "qcom,i2c-qup-v2.2.1";
1031 reg = <0x7af7000 0x600>;
1032 interrupts = <GIC_SPI 301 IRQ_TYPE_LEVEL_HIGH>;
1033 clock-names = "core", "iface";
1034 clocks = <&gcc GCC_BLSP2_QUP3_I2C_APPS_CLK>,
1035 <&gcc GCC_BLSP2_AHB_CLK>;
1036 pinctrl-names = "default", "sleep";
1037 pinctrl-0 = <&i2c_7_default>;
1038 pinctrl-1 = <&i2c_7_sleep>;
1039
1040 #address-cells = <1>;
1041 #size-cells = <0>;
1042
1043 status = "disabled";
1044 };
1045
1046 i2c_8: i2c@7af8000 {
1047 compatible = "qcom,i2c-qup-v2.2.1";
1048 reg = <0x7af8000 0x600>;
1049 interrupts = <GIC_SPI 302 IRQ_TYPE_LEVEL_HIGH>;
1050 clock-names = "core", "iface";
1051 clocks = <&gcc GCC_BLSP2_QUP4_I2C_APPS_CLK>,
1052 <&gcc GCC_BLSP2_AHB_CLK>;
1053 pinctrl-names = "default", "sleep";
1054 pinctrl-0 = <&i2c_8_default>;
1055 pinctrl-1 = <&i2c_8_sleep>;
1056
1057 #address-cells = <1>;
1058 #size-cells = <0>;
1059
1060 status = "disabled";
1061 };
1062
1063 intc: interrupt-controller@b000000 {
1064 compatible = "qcom,msm-qgic2";
1065 interrupt-controller;
1066 #interrupt-cells = <3>;
1067 reg = <0x0b000000 0x1000>, <0x0b002000 0x1000>;
1068 };
1069
1070 apcs: mailbox@b011000 {
1071 compatible = "qcom,msm8953-apcs-kpss-global", "syscon";
1072 reg = <0xb011000 0x1000>;
1073 #mbox-cells = <1>;
1074 };
1075
1076 timer@b120000 {
1077 compatible = "arm,armv7-timer-mem";
1078 reg = <0xb120000 0x1000>;
1079 #address-cells = <0x01>;
1080 #size-cells = <0x01>;
1081 ranges;
1082
1083 frame@b121000 {
1084 frame-number = <0>;
1085 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
1086 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
1087 reg = <0xb121000 0x1000>,
1088 <0xb122000 0x1000>;
1089 };
1090
1091 frame@b123000 {
1092 frame-number = <1>;
1093 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
1094 reg = <0xb123000 0x1000>;
1095 status = "disabled";
1096 };
1097
1098 frame@b124000 {
1099 frame-number = <2>;
1100 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
1101 reg = <0xb124000 0x1000>;
1102 status = "disabled";
1103 };
1104
1105 frame@b125000 {
1106 frame-number = <3>;
1107 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
1108 reg = <0xb125000 0x1000>;
1109 status = "disabled";
1110 };
1111
1112 frame@b126000 {
1113 frame-number = <4>;
1114 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
1115 reg = <0xb126000 0x1000>;
1116 status = "disabled";
1117 };
1118
1119 frame@b127000 {
1120 frame-number = <5>;
1121 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
1122 reg = <0xb127000 0x1000>;
1123 status = "disabled";
1124 };
1125
1126 frame@b128000 {
1127 frame-number = <6>;
1128 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
1129 reg = <0xb128000 0x1000>;
1130 status = "disabled";
1131 };
1132 };
1133 };
1134
1135 thermal-zones {
1136 cpu0-thermal {
1137 polling-delay-passive = <250>;
1138 polling-delay = <1000>;
1139 thermal-sensors = <&tsens0 9>;
1140 trips {
1141 cpu0_alert: trip-point0 {
1142 temperature = <80000>;
1143 hysteresis = <2000>;
1144 type = "passive";
1145 };
1146 cpu0_crit: crit {
1147 temperature = <100000>;
1148 hysteresis = <2000>;
1149 type = "critical";
1150 };
1151 };
1152 cooling-maps {
1153 map0 {
1154 trip = <&cpu0_alert>;
1155 cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1156 };
1157 };
1158 };
1159 cpu1-thermal {
1160 polling-delay-passive = <250>;
1161 polling-delay = <1000>;
1162 thermal-sensors = <&tsens0 10>;
1163 trips {
1164 cpu1_alert: trip-point0 {
1165 temperature = <80000>;
1166 hysteresis = <2000>;
1167 type = "passive";
1168 };
1169 cpu1_crit: crit {
1170 temperature = <100000>;
1171 hysteresis = <2000>;
1172 type = "critical";
1173 };
1174 };
1175 cooling-maps {
1176 map0 {
1177 trip = <&cpu1_alert>;
1178 cooling-device = <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1179 };
1180 };
1181 };
1182 cpu2-thermal {
1183 polling-delay-passive = <250>;
1184 polling-delay = <1000>;
1185 thermal-sensors = <&tsens0 11>;
1186 trips {
1187 cpu2_alert: trip-point0 {
1188 temperature = <80000>;
1189 hysteresis = <2000>;
1190 type = "passive";
1191 };
1192 cpu2_crit: crit {
1193 temperature = <100000>;
1194 hysteresis = <2000>;
1195 type = "critical";
1196 };
1197 };
1198 cooling-maps {
1199 map0 {
1200 trip = <&cpu2_alert>;
1201 cooling-device = <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1202 };
1203 };
1204 };
1205 cpu3-thermal {
1206 polling-delay-passive = <250>;
1207 polling-delay = <1000>;
1208 thermal-sensors = <&tsens0 12>;
1209 trips {
1210 cpu3_alert: trip-point0 {
1211 temperature = <80000>;
1212 hysteresis = <2000>;
1213 type = "passive";
1214 };
1215 cpu3_crit: crit {
1216 temperature = <100000>;
1217 hysteresis = <2000>;
1218 type = "critical";
1219 };
1220 };
1221 cooling-maps {
1222 map0 {
1223 trip = <&cpu3_alert>;
1224 cooling-device = <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1225 };
1226 };
1227 };
1228 cpu4-thermal {
1229 polling-delay-passive = <250>;
1230 polling-delay = <1000>;
1231 thermal-sensors = <&tsens0 4>;
1232 trips {
1233 cpu4_alert: trip-point0 {
1234 temperature = <80000>;
1235 hysteresis = <2000>;
1236 type = "passive";
1237 };
1238 cpu4_crit: crit {
1239 temperature = <100000>;
1240 hysteresis = <2000>;
1241 type = "critical";
1242 };
1243 };
1244 cooling-maps {
1245 map0 {
1246 trip = <&cpu4_alert>;
1247 cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1248 };
1249 };
1250 };
1251 cpu5-thermal {
1252 polling-delay-passive = <250>;
1253 polling-delay = <1000>;
1254 thermal-sensors = <&tsens0 5>;
1255 trips {
1256 cpu5_alert: trip-point0 {
1257 temperature = <80000>;
1258 hysteresis = <2000>;
1259 type = "passive";
1260 };
1261 cpu5_crit: crit {
1262 temperature = <100000>;
1263 hysteresis = <2000>;
1264 type = "critical";
1265 };
1266 };
1267 cooling-maps {
1268 map0 {
1269 trip = <&cpu5_alert>;
1270 cooling-device = <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1271 };
1272 };
1273 };
1274 cpu6-thermal {
1275 polling-delay-passive = <250>;
1276 polling-delay = <1000>;
1277 thermal-sensors = <&tsens0 6>;
1278 trips {
1279 cpu6_alert: trip-point0 {
1280 temperature = <80000>;
1281 hysteresis = <2000>;
1282 type = "passive";
1283 };
1284 cpu6_crit: crit {
1285 temperature = <100000>;
1286 hysteresis = <2000>;
1287 type = "critical";
1288 };
1289 };
1290 cooling-maps {
1291 map0 {
1292 trip = <&cpu6_alert>;
1293 cooling-device = <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1294 };
1295 };
1296 };
1297 cpu7-thermal {
1298 polling-delay-passive = <250>;
1299 polling-delay = <1000>;
1300 thermal-sensors = <&tsens0 7>;
1301 trips {
1302 cpu7_alert: trip-point0 {
1303 temperature = <80000>;
1304 hysteresis = <2000>;
1305 type = "passive";
1306 };
1307 cpu7_crit: crit {
1308 temperature = <100000>;
1309 hysteresis = <2000>;
1310 type = "critical";
1311 };
1312 };
1313 cooling-maps {
1314 map0 {
1315 trip = <&cpu7_alert>;
1316 cooling-device = <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1317 };
1318 };
1319 };
1320 };
1321
1322 timer {
1323 compatible = "arm,armv8-timer";
1324 interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
1325 <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
1326 <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
1327 <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
1328 };
1329 };
Cache object: b4049223490e9946b9dc5673398722ce
|