Loading...
Note: File does not exist in v6.13.7.
1// SPDX-License-Identifier: GPL-2.0
2/dts-v1/;
3
4#include <dt-bindings/interrupt-controller/arm-gic.h>
5#include <dt-bindings/mfd/qcom-rpm.h>
6#include <dt-bindings/clock/qcom,rpmcc.h>
7#include <dt-bindings/clock/qcom,gcc-ipq806x.h>
8#include <dt-bindings/clock/qcom,lcc-ipq806x.h>
9#include <dt-bindings/gpio/gpio.h>
10#include <dt-bindings/reset/qcom,gcc-ipq806x.h>
11#include <dt-bindings/soc/qcom,gsbi.h>
12#include <dt-bindings/interrupt-controller/arm-gic.h>
13
14/ {
15 #address-cells = <1>;
16 #size-cells = <1>;
17 model = "Qualcomm IPQ8064";
18 compatible = "qcom,ipq8064";
19 interrupt-parent = <&intc>;
20
21 cpus {
22 #address-cells = <1>;
23 #size-cells = <0>;
24
25 cpu0: cpu@0 {
26 compatible = "qcom,krait";
27 enable-method = "qcom,kpss-acc-v1";
28 device_type = "cpu";
29 reg = <0>;
30 next-level-cache = <&L2>;
31 qcom,acc = <&acc0>;
32 qcom,saw = <&saw0>;
33 };
34
35 cpu1: cpu@1 {
36 compatible = "qcom,krait";
37 enable-method = "qcom,kpss-acc-v1";
38 device_type = "cpu";
39 reg = <1>;
40 next-level-cache = <&L2>;
41 qcom,acc = <&acc1>;
42 qcom,saw = <&saw1>;
43 };
44
45 L2: l2-cache {
46 compatible = "cache";
47 cache-level = <2>;
48 };
49 };
50
51 thermal-zones {
52 tsens_tz_sensor0 {
53 polling-delay-passive = <0>;
54 polling-delay = <0>;
55 thermal-sensors = <&tsens 0>;
56
57 trips {
58 cpu-critical {
59 temperature = <105000>;
60 hysteresis = <2000>;
61 type = "critical";
62 };
63
64 cpu-hot {
65 temperature = <95000>;
66 hysteresis = <2000>;
67 type = "hot";
68 };
69 };
70 };
71
72 tsens_tz_sensor1 {
73 polling-delay-passive = <0>;
74 polling-delay = <0>;
75 thermal-sensors = <&tsens 1>;
76
77 trips {
78 cpu-critical {
79 temperature = <105000>;
80 hysteresis = <2000>;
81 type = "critical";
82 };
83
84 cpu-hot {
85 temperature = <95000>;
86 hysteresis = <2000>;
87 type = "hot";
88 };
89 };
90 };
91
92 tsens_tz_sensor2 {
93 polling-delay-passive = <0>;
94 polling-delay = <0>;
95 thermal-sensors = <&tsens 2>;
96
97 trips {
98 cpu-critical {
99 temperature = <105000>;
100 hysteresis = <2000>;
101 type = "critical";
102 };
103
104 cpu-hot {
105 temperature = <95000>;
106 hysteresis = <2000>;
107 type = "hot";
108 };
109 };
110 };
111
112 tsens_tz_sensor3 {
113 polling-delay-passive = <0>;
114 polling-delay = <0>;
115 thermal-sensors = <&tsens 3>;
116
117 trips {
118 cpu-critical {
119 temperature = <105000>;
120 hysteresis = <2000>;
121 type = "critical";
122 };
123
124 cpu-hot {
125 temperature = <95000>;
126 hysteresis = <2000>;
127 type = "hot";
128 };
129 };
130 };
131
132 tsens_tz_sensor4 {
133 polling-delay-passive = <0>;
134 polling-delay = <0>;
135 thermal-sensors = <&tsens 4>;
136
137 trips {
138 cpu-critical {
139 temperature = <105000>;
140 hysteresis = <2000>;
141 type = "critical";
142 };
143
144 cpu-hot {
145 temperature = <95000>;
146 hysteresis = <2000>;
147 type = "hot";
148 };
149 };
150 };
151
152 tsens_tz_sensor5 {
153 polling-delay-passive = <0>;
154 polling-delay = <0>;
155 thermal-sensors = <&tsens 5>;
156
157 trips {
158 cpu-critical {
159 temperature = <105000>;
160 hysteresis = <2000>;
161 type = "critical";
162 };
163
164 cpu-hot {
165 temperature = <95000>;
166 hysteresis = <2000>;
167 type = "hot";
168 };
169 };
170 };
171
172 tsens_tz_sensor6 {
173 polling-delay-passive = <0>;
174 polling-delay = <0>;
175 thermal-sensors = <&tsens 6>;
176
177 trips {
178 cpu-critical {
179 temperature = <105000>;
180 hysteresis = <2000>;
181 type = "critical";
182 };
183
184 cpu-hot {
185 temperature = <95000>;
186 hysteresis = <2000>;
187 type = "hot";
188 };
189 };
190 };
191
192 tsens_tz_sensor7 {
193 polling-delay-passive = <0>;
194 polling-delay = <0>;
195 thermal-sensors = <&tsens 7>;
196
197 trips {
198 cpu-critical {
199 temperature = <105000>;
200 hysteresis = <2000>;
201 type = "critical";
202 };
203
204 cpu-hot {
205 temperature = <95000>;
206 hysteresis = <2000>;
207 type = "hot";
208 };
209 };
210 };
211
212 tsens_tz_sensor8 {
213 polling-delay-passive = <0>;
214 polling-delay = <0>;
215 thermal-sensors = <&tsens 8>;
216
217 trips {
218 cpu-critical {
219 temperature = <105000>;
220 hysteresis = <2000>;
221 type = "critical";
222 };
223
224 cpu-hot {
225 temperature = <95000>;
226 hysteresis = <2000>;
227 type = "hot";
228 };
229 };
230 };
231
232 tsens_tz_sensor9 {
233 polling-delay-passive = <0>;
234 polling-delay = <0>;
235 thermal-sensors = <&tsens 9>;
236
237 trips {
238 cpu-critical {
239 temperature = <105000>;
240 hysteresis = <2000>;
241 type = "critical";
242 };
243
244 cpu-hot {
245 temperature = <95000>;
246 hysteresis = <2000>;
247 type = "hot";
248 };
249 };
250 };
251
252 tsens_tz_sensor10 {
253 polling-delay-passive = <0>;
254 polling-delay = <0>;
255 thermal-sensors = <&tsens 10>;
256
257 trips {
258 cpu-critical {
259 temperature = <105000>;
260 hysteresis = <2000>;
261 type = "critical";
262 };
263
264 cpu-hot {
265 temperature = <95000>;
266 hysteresis = <2000>;
267 type = "hot";
268 };
269 };
270 };
271 };
272
273 memory {
274 device_type = "memory";
275 reg = <0x0 0x0>;
276 };
277
278 cpu-pmu {
279 compatible = "qcom,krait-pmu";
280 interrupts = <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) |
281 IRQ_TYPE_LEVEL_HIGH)>;
282 };
283
284 reserved-memory {
285 #address-cells = <1>;
286 #size-cells = <1>;
287 ranges;
288
289 nss@40000000 {
290 reg = <0x40000000 0x1000000>;
291 no-map;
292 };
293
294 smem: smem@41000000 {
295 reg = <0x41000000 0x200000>;
296 no-map;
297 };
298 };
299
300 clocks {
301 cxo_board {
302 compatible = "fixed-clock";
303 #clock-cells = <0>;
304 clock-frequency = <25000000>;
305 };
306
307 pxo_board {
308 compatible = "fixed-clock";
309 #clock-cells = <0>;
310 clock-frequency = <25000000>;
311 };
312
313 sleep_clk: sleep_clk {
314 compatible = "fixed-clock";
315 clock-frequency = <32768>;
316 #clock-cells = <0>;
317 };
318 };
319
320 firmware {
321 scm {
322 compatible = "qcom,scm-ipq806x", "qcom,scm";
323 };
324 };
325
326 soc: soc {
327 #address-cells = <1>;
328 #size-cells = <1>;
329 ranges;
330 compatible = "simple-bus";
331
332 lpass@28100000 {
333 compatible = "qcom,lpass-cpu";
334 status = "disabled";
335 clocks = <&lcc AHBIX_CLK>,
336 <&lcc MI2S_OSR_CLK>,
337 <&lcc MI2S_BIT_CLK>;
338 clock-names = "ahbix-clk",
339 "mi2s-osr-clk",
340 "mi2s-bit-clk";
341 interrupts = <GIC_SPI 85 IRQ_TYPE_EDGE_RISING>;
342 interrupt-names = "lpass-irq-lpaif";
343 reg = <0x28100000 0x10000>;
344 reg-names = "lpass-lpaif";
345 };
346
347 qcom_pinmux: pinmux@800000 {
348 compatible = "qcom,ipq8064-pinctrl";
349 reg = <0x800000 0x4000>;
350
351 gpio-controller;
352 gpio-ranges = <&qcom_pinmux 0 0 69>;
353 #gpio-cells = <2>;
354 interrupt-controller;
355 #interrupt-cells = <2>;
356 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
357
358 pcie0_pins: pcie0_pinmux {
359 mux {
360 pins = "gpio3";
361 function = "pcie1_rst";
362 drive-strength = <12>;
363 bias-disable;
364 };
365 };
366
367 pcie1_pins: pcie1_pinmux {
368 mux {
369 pins = "gpio48";
370 function = "pcie2_rst";
371 drive-strength = <12>;
372 bias-disable;
373 };
374 };
375
376 pcie2_pins: pcie2_pinmux {
377 mux {
378 pins = "gpio63";
379 function = "pcie3_rst";
380 drive-strength = <12>;
381 bias-disable;
382 };
383 };
384
385 spi_pins: spi_pins {
386 mux {
387 pins = "gpio18", "gpio19", "gpio21";
388 function = "gsbi5";
389 drive-strength = <10>;
390 bias-none;
391 };
392 };
393
394 leds_pins: leds_pins {
395 mux {
396 pins = "gpio7", "gpio8", "gpio9",
397 "gpio26", "gpio53";
398 function = "gpio";
399 drive-strength = <2>;
400 bias-pull-down;
401 output-low;
402 };
403 };
404
405 buttons_pins: buttons_pins {
406 mux {
407 pins = "gpio54";
408 drive-strength = <2>;
409 bias-pull-up;
410 };
411 };
412
413 nand_pins: nand_pins {
414 mux {
415 pins = "gpio34", "gpio35", "gpio36",
416 "gpio37", "gpio38", "gpio39",
417 "gpio40", "gpio41", "gpio42",
418 "gpio43", "gpio44", "gpio45",
419 "gpio46", "gpio47";
420 function = "nand";
421 drive-strength = <10>;
422 bias-disable;
423 };
424
425 pullups {
426 pins = "gpio39";
427 bias-pull-up;
428 };
429
430 hold {
431 pins = "gpio40", "gpio41", "gpio42",
432 "gpio43", "gpio44", "gpio45",
433 "gpio46", "gpio47";
434 bias-bus-hold;
435 };
436 };
437 };
438
439 intc: interrupt-controller@2000000 {
440 compatible = "qcom,msm-qgic2";
441 interrupt-controller;
442 #interrupt-cells = <3>;
443 reg = <0x02000000 0x1000>,
444 <0x02002000 0x1000>;
445 };
446
447 timer@200a000 {
448 compatible = "qcom,kpss-timer",
449 "qcom,kpss-wdt-ipq8064", "qcom,msm-timer";
450 interrupts = <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(2) |
451 IRQ_TYPE_EDGE_RISING)>,
452 <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(2) |
453 IRQ_TYPE_EDGE_RISING)>,
454 <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(2) |
455 IRQ_TYPE_EDGE_RISING)>,
456 <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(2) |
457 IRQ_TYPE_EDGE_RISING)>,
458 <GIC_PPI 5 (GIC_CPU_MASK_SIMPLE(2) |
459 IRQ_TYPE_EDGE_RISING)>;
460 reg = <0x0200a000 0x100>;
461 clock-frequency = <25000000>,
462 <32768>;
463 clocks = <&sleep_clk>;
464 clock-names = "sleep";
465 cpu-offset = <0x80000>;
466 };
467
468 acc0: clock-controller@2088000 {
469 compatible = "qcom,kpss-acc-v1";
470 reg = <0x02088000 0x1000>, <0x02008000 0x1000>;
471 };
472
473 acc1: clock-controller@2098000 {
474 compatible = "qcom,kpss-acc-v1";
475 reg = <0x02098000 0x1000>, <0x02008000 0x1000>;
476 };
477
478 adm_dma: dma-controller@18300000 {
479 compatible = "qcom,adm";
480 reg = <0x18300000 0x100000>;
481 interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
482 #dma-cells = <1>;
483
484 clocks = <&gcc ADM0_CLK>, <&gcc ADM0_PBUS_CLK>;
485 clock-names = "core", "iface";
486
487 resets = <&gcc ADM0_RESET>,
488 <&gcc ADM0_PBUS_RESET>,
489 <&gcc ADM0_C0_RESET>,
490 <&gcc ADM0_C1_RESET>,
491 <&gcc ADM0_C2_RESET>;
492 reset-names = "clk", "pbus", "c0", "c1", "c2";
493 qcom,ee = <0>;
494
495 status = "disabled";
496 };
497
498 saw0: regulator@2089000 {
499 compatible = "qcom,saw2";
500 reg = <0x02089000 0x1000>, <0x02009000 0x1000>;
501 regulator;
502 };
503
504 saw1: regulator@2099000 {
505 compatible = "qcom,saw2";
506 reg = <0x02099000 0x1000>, <0x02009000 0x1000>;
507 regulator;
508 };
509
510 gsbi2: gsbi@12480000 {
511 compatible = "qcom,gsbi-v1.0.0";
512 cell-index = <2>;
513 reg = <0x12480000 0x100>;
514 clocks = <&gcc GSBI2_H_CLK>;
515 clock-names = "iface";
516 #address-cells = <1>;
517 #size-cells = <1>;
518 ranges;
519 status = "disabled";
520
521 syscon-tcsr = <&tcsr>;
522
523 gsbi2_serial: serial@12490000 {
524 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
525 reg = <0x12490000 0x1000>,
526 <0x12480000 0x1000>;
527 interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>;
528 clocks = <&gcc GSBI2_UART_CLK>, <&gcc GSBI2_H_CLK>;
529 clock-names = "core", "iface";
530 status = "disabled";
531 };
532
533 i2c@124a0000 {
534 compatible = "qcom,i2c-qup-v1.1.1";
535 reg = <0x124a0000 0x1000>;
536 interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>;
537
538 clocks = <&gcc GSBI2_QUP_CLK>, <&gcc GSBI2_H_CLK>;
539 clock-names = "core", "iface";
540 status = "disabled";
541
542 #address-cells = <1>;
543 #size-cells = <0>;
544 };
545 };
546
547 gsbi4: gsbi@16300000 {
548 compatible = "qcom,gsbi-v1.0.0";
549 cell-index = <4>;
550 reg = <0x16300000 0x100>;
551 clocks = <&gcc GSBI4_H_CLK>;
552 clock-names = "iface";
553 #address-cells = <1>;
554 #size-cells = <1>;
555 ranges;
556 status = "disabled";
557
558 syscon-tcsr = <&tcsr>;
559
560 gsbi4_serial: serial@16340000 {
561 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
562 reg = <0x16340000 0x1000>,
563 <0x16300000 0x1000>;
564 interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
565 clocks = <&gcc GSBI4_UART_CLK>, <&gcc GSBI4_H_CLK>;
566 clock-names = "core", "iface";
567 status = "disabled";
568 };
569
570 i2c@16380000 {
571 compatible = "qcom,i2c-qup-v1.1.1";
572 reg = <0x16380000 0x1000>;
573 interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
574
575 clocks = <&gcc GSBI4_QUP_CLK>, <&gcc GSBI4_H_CLK>;
576 clock-names = "core", "iface";
577 status = "disabled";
578
579 #address-cells = <1>;
580 #size-cells = <0>;
581 };
582 };
583
584 gsbi5: gsbi@1a200000 {
585 compatible = "qcom,gsbi-v1.0.0";
586 cell-index = <5>;
587 reg = <0x1a200000 0x100>;
588 clocks = <&gcc GSBI5_H_CLK>;
589 clock-names = "iface";
590 #address-cells = <1>;
591 #size-cells = <1>;
592 ranges;
593 status = "disabled";
594
595 syscon-tcsr = <&tcsr>;
596
597 gsbi5_serial: serial@1a240000 {
598 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
599 reg = <0x1a240000 0x1000>,
600 <0x1a200000 0x1000>;
601 interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
602 clocks = <&gcc GSBI5_UART_CLK>, <&gcc GSBI5_H_CLK>;
603 clock-names = "core", "iface";
604 status = "disabled";
605 };
606
607 i2c@1a280000 {
608 compatible = "qcom,i2c-qup-v1.1.1";
609 reg = <0x1a280000 0x1000>;
610 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
611
612 clocks = <&gcc GSBI5_QUP_CLK>, <&gcc GSBI5_H_CLK>;
613 clock-names = "core", "iface";
614 status = "disabled";
615
616 #address-cells = <1>;
617 #size-cells = <0>;
618 };
619
620 spi@1a280000 {
621 compatible = "qcom,spi-qup-v1.1.1";
622 reg = <0x1a280000 0x1000>;
623 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
624
625 clocks = <&gcc GSBI5_QUP_CLK>, <&gcc GSBI5_H_CLK>;
626 clock-names = "core", "iface";
627 status = "disabled";
628
629 #address-cells = <1>;
630 #size-cells = <0>;
631 };
632 };
633
634 gsbi7: gsbi@16600000 {
635 status = "disabled";
636 compatible = "qcom,gsbi-v1.0.0";
637 cell-index = <7>;
638 reg = <0x16600000 0x100>;
639 clocks = <&gcc GSBI7_H_CLK>;
640 clock-names = "iface";
641 #address-cells = <1>;
642 #size-cells = <1>;
643 ranges;
644 syscon-tcsr = <&tcsr>;
645
646 gsbi7_serial: serial@16640000 {
647 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
648 reg = <0x16640000 0x1000>,
649 <0x16600000 0x1000>;
650 interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
651 clocks = <&gcc GSBI7_UART_CLK>, <&gcc GSBI7_H_CLK>;
652 clock-names = "core", "iface";
653 status = "disabled";
654 };
655 };
656
657 rng@1a500000 {
658 compatible = "qcom,prng";
659 reg = <0x1a500000 0x200>;
660 clocks = <&gcc PRNG_CLK>;
661 clock-names = "core";
662 };
663
664 sata_phy: sata-phy@1b400000 {
665 compatible = "qcom,ipq806x-sata-phy";
666 reg = <0x1b400000 0x200>;
667
668 clocks = <&gcc SATA_PHY_CFG_CLK>;
669 clock-names = "cfg";
670
671 #phy-cells = <0>;
672 status = "disabled";
673 };
674
675 nand: nand-controller@1ac00000 {
676 compatible = "qcom,ipq806x-nand";
677 reg = <0x1ac00000 0x800>;
678
679 pinctrl-0 = <&nand_pins>;
680 pinctrl-names = "default";
681
682 clocks = <&gcc EBI2_CLK>,
683 <&gcc EBI2_AON_CLK>;
684 clock-names = "core", "aon";
685
686 dmas = <&adm_dma 3>;
687 dma-names = "rxtx";
688 qcom,cmd-crci = <15>;
689 qcom,data-crci = <3>;
690
691 #address-cells = <1>;
692 #size-cells = <0>;
693
694 status = "disabled";
695 };
696
697 sata: sata@29000000 {
698 compatible = "qcom,ipq806x-ahci", "generic-ahci";
699 reg = <0x29000000 0x180>;
700
701 interrupts = <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>;
702
703 clocks = <&gcc SFAB_SATA_S_H_CLK>,
704 <&gcc SATA_H_CLK>,
705 <&gcc SATA_A_CLK>,
706 <&gcc SATA_RXOOB_CLK>,
707 <&gcc SATA_PMALIVE_CLK>;
708 clock-names = "slave_face", "iface", "core",
709 "rxoob", "pmalive";
710
711 assigned-clocks = <&gcc SATA_RXOOB_CLK>, <&gcc SATA_PMALIVE_CLK>;
712 assigned-clock-rates = <100000000>, <100000000>;
713
714 phys = <&sata_phy>;
715 phy-names = "sata-phy";
716 status = "disabled";
717 };
718
719 qcom,ssbi@500000 {
720 compatible = "qcom,ssbi";
721 reg = <0x00500000 0x1000>;
722 qcom,controller-type = "pmic-arbiter";
723 };
724
725 qfprom: qfprom@700000 {
726 compatible = "qcom,qfprom";
727 reg = <0x00700000 0x1000>;
728 #address-cells = <1>;
729 #size-cells = <1>;
730 tsens_calib: calib@400 {
731 reg = <0x400 0xb>;
732 };
733 tsens_calib_backup: calib_backup@410 {
734 reg = <0x410 0xb>;
735 };
736 };
737
738 gcc: clock-controller@900000 {
739 compatible = "qcom,gcc-ipq8064";
740 reg = <0x00900000 0x4000>;
741 #clock-cells = <1>;
742 #reset-cells = <1>;
743 #power-domain-cells = <1>;
744
745 tsens: thermal-sensor@900000 {
746 compatible = "qcom,ipq8064-tsens";
747
748 nvmem-cells = <&tsens_calib>, <&tsens_calib_backup>;
749 nvmem-cell-names = "calib", "calib_backup";
750 interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>;
751 interrupt-names = "uplow";
752
753 #qcom,sensors = <11>;
754 #thermal-sensor-cells = <1>;
755 };
756 };
757
758 rpm: rpm@108000 {
759 compatible = "qcom,rpm-ipq8064";
760 reg = <0x108000 0x1000>;
761 qcom,ipc = <&l2cc 0x8 2>;
762
763 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
764 <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
765 <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
766 interrupt-names = "ack", "err", "wakeup";
767
768 clocks = <&gcc RPM_MSG_RAM_H_CLK>;
769 clock-names = "ram";
770
771 rpmcc: clock-controller {
772 compatible = "qcom,rpmcc-ipq806x", "qcom,rpmcc";
773 #clock-cells = <1>;
774 };
775 };
776
777 tcsr: syscon@1a400000 {
778 compatible = "qcom,tcsr-ipq8064", "syscon";
779 reg = <0x1a400000 0x100>;
780 };
781
782 l2cc: clock-controller@2011000 {
783 compatible = "qcom,kpss-gcc", "syscon";
784 reg = <0x2011000 0x1000>;
785 clocks = <&gcc PLL8_VOTE>, <&gcc PXO_SRC>;
786 clock-names = "pll8_vote", "pxo";
787 clock-output-names = "acpu_l2_aux";
788 };
789
790 lcc: clock-controller@28000000 {
791 compatible = "qcom,lcc-ipq8064";
792 reg = <0x28000000 0x1000>;
793 #clock-cells = <1>;
794 #reset-cells = <1>;
795 };
796
797 pcie0: pci@1b500000 {
798 compatible = "qcom,pcie-ipq8064";
799 reg = <0x1b500000 0x1000
800 0x1b502000 0x80
801 0x1b600000 0x100
802 0x0ff00000 0x100000>;
803 reg-names = "dbi", "elbi", "parf", "config";
804 device_type = "pci";
805 linux,pci-domain = <0>;
806 bus-range = <0x00 0xff>;
807 num-lanes = <1>;
808 #address-cells = <3>;
809 #size-cells = <2>;
810
811 ranges = <0x81000000 0 0x0fe00000 0x0fe00000 0 0x00100000 /* downstream I/O */
812 0x82000000 0 0x08000000 0x08000000 0 0x07e00000>; /* non-prefetchable memory */
813
814 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
815 interrupt-names = "msi";
816 #interrupt-cells = <1>;
817 interrupt-map-mask = <0 0 0 0x7>;
818 interrupt-map = <0 0 0 1 &intc 0 36 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
819 <0 0 0 2 &intc 0 37 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
820 <0 0 0 3 &intc 0 38 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
821 <0 0 0 4 &intc 0 39 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
822
823 clocks = <&gcc PCIE_A_CLK>,
824 <&gcc PCIE_H_CLK>,
825 <&gcc PCIE_PHY_CLK>,
826 <&gcc PCIE_AUX_CLK>,
827 <&gcc PCIE_ALT_REF_CLK>;
828 clock-names = "core", "iface", "phy", "aux", "ref";
829
830 assigned-clocks = <&gcc PCIE_ALT_REF_CLK>;
831 assigned-clock-rates = <100000000>;
832
833 resets = <&gcc PCIE_ACLK_RESET>,
834 <&gcc PCIE_HCLK_RESET>,
835 <&gcc PCIE_POR_RESET>,
836 <&gcc PCIE_PCI_RESET>,
837 <&gcc PCIE_PHY_RESET>,
838 <&gcc PCIE_EXT_RESET>;
839 reset-names = "axi", "ahb", "por", "pci", "phy", "ext";
840
841 pinctrl-0 = <&pcie0_pins>;
842 pinctrl-names = "default";
843
844 status = "disabled";
845 perst-gpio = <&qcom_pinmux 3 GPIO_ACTIVE_LOW>;
846 };
847
848 pcie1: pci@1b700000 {
849 compatible = "qcom,pcie-ipq8064";
850 reg = <0x1b700000 0x1000
851 0x1b702000 0x80
852 0x1b800000 0x100
853 0x31f00000 0x100000>;
854 reg-names = "dbi", "elbi", "parf", "config";
855 device_type = "pci";
856 linux,pci-domain = <1>;
857 bus-range = <0x00 0xff>;
858 num-lanes = <1>;
859 #address-cells = <3>;
860 #size-cells = <2>;
861
862 ranges = <0x81000000 0 0x31e00000 0x31e00000 0 0x00100000 /* downstream I/O */
863 0x82000000 0 0x2e000000 0x2e000000 0 0x03e00000>; /* non-prefetchable memory */
864
865 interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
866 interrupt-names = "msi";
867 #interrupt-cells = <1>;
868 interrupt-map-mask = <0 0 0 0x7>;
869 interrupt-map = <0 0 0 1 &intc 0 58 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
870 <0 0 0 2 &intc 0 59 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
871 <0 0 0 3 &intc 0 60 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
872 <0 0 0 4 &intc 0 61 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
873
874 clocks = <&gcc PCIE_1_A_CLK>,
875 <&gcc PCIE_1_H_CLK>,
876 <&gcc PCIE_1_PHY_CLK>,
877 <&gcc PCIE_1_AUX_CLK>,
878 <&gcc PCIE_1_ALT_REF_CLK>;
879 clock-names = "core", "iface", "phy", "aux", "ref";
880
881 assigned-clocks = <&gcc PCIE_1_ALT_REF_CLK>;
882 assigned-clock-rates = <100000000>;
883
884 resets = <&gcc PCIE_1_ACLK_RESET>,
885 <&gcc PCIE_1_HCLK_RESET>,
886 <&gcc PCIE_1_POR_RESET>,
887 <&gcc PCIE_1_PCI_RESET>,
888 <&gcc PCIE_1_PHY_RESET>,
889 <&gcc PCIE_1_EXT_RESET>;
890 reset-names = "axi", "ahb", "por", "pci", "phy", "ext";
891
892 pinctrl-0 = <&pcie1_pins>;
893 pinctrl-names = "default";
894
895 status = "disabled";
896 perst-gpio = <&qcom_pinmux 48 GPIO_ACTIVE_LOW>;
897 };
898
899 pcie2: pci@1b900000 {
900 compatible = "qcom,pcie-ipq8064";
901 reg = <0x1b900000 0x1000
902 0x1b902000 0x80
903 0x1ba00000 0x100
904 0x35f00000 0x100000>;
905 reg-names = "dbi", "elbi", "parf", "config";
906 device_type = "pci";
907 linux,pci-domain = <2>;
908 bus-range = <0x00 0xff>;
909 num-lanes = <1>;
910 #address-cells = <3>;
911 #size-cells = <2>;
912
913 ranges = <0x81000000 0 0x35e00000 0x35e00000 0 0x00100000 /* downstream I/O */
914 0x82000000 0 0x32000000 0x32000000 0 0x03e00000>; /* non-prefetchable memory */
915
916 interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
917 interrupt-names = "msi";
918 #interrupt-cells = <1>;
919 interrupt-map-mask = <0 0 0 0x7>;
920 interrupt-map = <0 0 0 1 &intc 0 72 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
921 <0 0 0 2 &intc 0 73 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
922 <0 0 0 3 &intc 0 74 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
923 <0 0 0 4 &intc 0 75 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
924
925 clocks = <&gcc PCIE_2_A_CLK>,
926 <&gcc PCIE_2_H_CLK>,
927 <&gcc PCIE_2_PHY_CLK>,
928 <&gcc PCIE_2_AUX_CLK>,
929 <&gcc PCIE_2_ALT_REF_CLK>;
930 clock-names = "core", "iface", "phy", "aux", "ref";
931
932 assigned-clocks = <&gcc PCIE_2_ALT_REF_CLK>;
933 assigned-clock-rates = <100000000>;
934
935 resets = <&gcc PCIE_2_ACLK_RESET>,
936 <&gcc PCIE_2_HCLK_RESET>,
937 <&gcc PCIE_2_POR_RESET>,
938 <&gcc PCIE_2_PCI_RESET>,
939 <&gcc PCIE_2_PHY_RESET>,
940 <&gcc PCIE_2_EXT_RESET>;
941 reset-names = "axi", "ahb", "por", "pci", "phy", "ext";
942
943 pinctrl-0 = <&pcie2_pins>;
944 pinctrl-names = "default";
945
946 status = "disabled";
947 perst-gpio = <&qcom_pinmux 63 GPIO_ACTIVE_LOW>;
948 };
949
950 nss_common: syscon@03000000 {
951 compatible = "syscon";
952 reg = <0x03000000 0x0000FFFF>;
953 };
954
955 qsgmii_csr: syscon@1bb00000 {
956 compatible = "syscon";
957 reg = <0x1bb00000 0x000001FF>;
958 };
959
960 stmmac_axi_setup: stmmac-axi-config {
961 snps,wr_osr_lmt = <7>;
962 snps,rd_osr_lmt = <7>;
963 snps,blen = <16 0 0 0 0 0 0>;
964 };
965
966 gmac0: ethernet@37000000 {
967 device_type = "network";
968 compatible = "qcom,ipq806x-gmac";
969 reg = <0x37000000 0x200000>;
970 interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>;
971 interrupt-names = "macirq";
972
973 snps,axi-config = <&stmmac_axi_setup>;
974 snps,pbl = <32>;
975 snps,aal = <1>;
976
977 qcom,nss-common = <&nss_common>;
978 qcom,qsgmii-csr = <&qsgmii_csr>;
979
980 clocks = <&gcc GMAC_CORE1_CLK>;
981 clock-names = "stmmaceth";
982
983 resets = <&gcc GMAC_CORE1_RESET>;
984 reset-names = "stmmaceth";
985
986 status = "disabled";
987 };
988
989 gmac1: ethernet@37200000 {
990 device_type = "network";
991 compatible = "qcom,ipq806x-gmac";
992 reg = <0x37200000 0x200000>;
993 interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
994 interrupt-names = "macirq";
995
996 snps,axi-config = <&stmmac_axi_setup>;
997 snps,pbl = <32>;
998 snps,aal = <1>;
999
1000 qcom,nss-common = <&nss_common>;
1001 qcom,qsgmii-csr = <&qsgmii_csr>;
1002
1003 clocks = <&gcc GMAC_CORE2_CLK>;
1004 clock-names = "stmmaceth";
1005
1006 resets = <&gcc GMAC_CORE2_RESET>;
1007 reset-names = "stmmaceth";
1008
1009 status = "disabled";
1010 };
1011
1012 gmac2: ethernet@37400000 {
1013 device_type = "network";
1014 compatible = "qcom,ipq806x-gmac";
1015 reg = <0x37400000 0x200000>;
1016 interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>;
1017 interrupt-names = "macirq";
1018
1019 snps,axi-config = <&stmmac_axi_setup>;
1020 snps,pbl = <32>;
1021 snps,aal = <1>;
1022
1023 qcom,nss-common = <&nss_common>;
1024 qcom,qsgmii-csr = <&qsgmii_csr>;
1025
1026 clocks = <&gcc GMAC_CORE3_CLK>;
1027 clock-names = "stmmaceth";
1028
1029 resets = <&gcc GMAC_CORE3_RESET>;
1030 reset-names = "stmmaceth";
1031
1032 status = "disabled";
1033 };
1034
1035 gmac3: ethernet@37600000 {
1036 device_type = "network";
1037 compatible = "qcom,ipq806x-gmac";
1038 reg = <0x37600000 0x200000>;
1039 interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>;
1040 interrupt-names = "macirq";
1041
1042 snps,axi-config = <&stmmac_axi_setup>;
1043 snps,pbl = <32>;
1044 snps,aal = <1>;
1045
1046 qcom,nss-common = <&nss_common>;
1047 qcom,qsgmii-csr = <&qsgmii_csr>;
1048
1049 clocks = <&gcc GMAC_CORE4_CLK>;
1050 clock-names = "stmmaceth";
1051
1052 resets = <&gcc GMAC_CORE4_RESET>;
1053 reset-names = "stmmaceth";
1054
1055 status = "disabled";
1056 };
1057
1058 hs_phy_0: phy@100f8800 {
1059 compatible = "qcom,ipq806x-usb-phy-hs";
1060 reg = <0x100f8800 0x30>;
1061 clocks = <&gcc USB30_0_UTMI_CLK>;
1062 clock-names = "ref";
1063 #phy-cells = <0>;
1064
1065 status = "disabled";
1066 };
1067
1068 ss_phy_0: phy@100f8830 {
1069 compatible = "qcom,ipq806x-usb-phy-ss";
1070 reg = <0x100f8830 0x30>;
1071 clocks = <&gcc USB30_0_MASTER_CLK>;
1072 clock-names = "ref";
1073 #phy-cells = <0>;
1074
1075 status = "disabled";
1076 };
1077
1078 usb3_0: usb3@100f8800 {
1079 compatible = "qcom,dwc3", "syscon";
1080 #address-cells = <1>;
1081 #size-cells = <1>;
1082 reg = <0x100f8800 0x8000>;
1083 clocks = <&gcc USB30_0_MASTER_CLK>;
1084 clock-names = "core";
1085
1086 ranges;
1087
1088 resets = <&gcc USB30_0_MASTER_RESET>;
1089 reset-names = "master";
1090
1091 status = "disabled";
1092
1093 dwc3_0: dwc3@10000000 {
1094 compatible = "snps,dwc3";
1095 reg = <0x10000000 0xcd00>;
1096 interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>;
1097 phys = <&hs_phy_0>, <&ss_phy_0>;
1098 phy-names = "usb2-phy", "usb3-phy";
1099 dr_mode = "host";
1100 snps,dis_u3_susphy_quirk;
1101 };
1102 };
1103
1104 hs_phy_1: phy@110f8800 {
1105 compatible = "qcom,ipq806x-usb-phy-hs";
1106 reg = <0x110f8800 0x30>;
1107 clocks = <&gcc USB30_1_UTMI_CLK>;
1108 clock-names = "ref";
1109 #phy-cells = <0>;
1110 };
1111
1112 ss_phy_1: phy@110f8830 {
1113 compatible = "qcom,ipq806x-usb-phy-ss";
1114 reg = <0x110f8830 0x30>;
1115 clocks = <&gcc USB30_1_MASTER_CLK>;
1116 clock-names = "ref";
1117 #phy-cells = <0>;
1118 };
1119
1120 usb3_1: usb3@110f8800 {
1121 compatible = "qcom,dwc3", "syscon";
1122 #address-cells = <1>;
1123 #size-cells = <1>;
1124 reg = <0x110f8800 0x8000>;
1125 clocks = <&gcc USB30_1_MASTER_CLK>;
1126 clock-names = "core";
1127
1128 ranges;
1129
1130 resets = <&gcc USB30_1_MASTER_RESET>;
1131 reset-names = "master";
1132
1133 status = "disabled";
1134
1135 dwc3_1: dwc3@11000000 {
1136 compatible = "snps,dwc3";
1137 reg = <0x11000000 0xcd00>;
1138 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
1139 phys = <&hs_phy_1>, <&ss_phy_1>;
1140 phy-names = "usb2-phy", "usb3-phy";
1141 dr_mode = "host";
1142 snps,dis_u3_susphy_quirk;
1143 };
1144 };
1145
1146 vsdcc_fixed: vsdcc-regulator {
1147 compatible = "regulator-fixed";
1148 regulator-name = "SDCC Power";
1149 regulator-min-microvolt = <3300000>;
1150 regulator-max-microvolt = <3300000>;
1151 regulator-always-on;
1152 };
1153
1154 sdcc1bam: dma@12402000 {
1155 compatible = "qcom,bam-v1.3.0";
1156 reg = <0x12402000 0x8000>;
1157 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
1158 clocks = <&gcc SDC1_H_CLK>;
1159 clock-names = "bam_clk";
1160 #dma-cells = <1>;
1161 qcom,ee = <0>;
1162 };
1163
1164 sdcc3bam: dma@12182000 {
1165 compatible = "qcom,bam-v1.3.0";
1166 reg = <0x12182000 0x8000>;
1167 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
1168 clocks = <&gcc SDC3_H_CLK>;
1169 clock-names = "bam_clk";
1170 #dma-cells = <1>;
1171 qcom,ee = <0>;
1172 };
1173
1174 amba: amba {
1175 compatible = "simple-bus";
1176 #address-cells = <1>;
1177 #size-cells = <1>;
1178 ranges;
1179
1180 sdcc1: sdcc@12400000 {
1181 status = "disabled";
1182 compatible = "arm,pl18x", "arm,primecell";
1183 arm,primecell-periphid = <0x00051180>;
1184 reg = <0x12400000 0x2000>;
1185 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
1186 interrupt-names = "cmd_irq";
1187 clocks = <&gcc SDC1_CLK>, <&gcc SDC1_H_CLK>;
1188 clock-names = "mclk", "apb_pclk";
1189 bus-width = <8>;
1190 max-frequency = <96000000>;
1191 non-removable;
1192 cap-sd-highspeed;
1193 cap-mmc-highspeed;
1194 mmc-ddr-1_8v;
1195 vmmc-supply = <&vsdcc_fixed>;
1196 dmas = <&sdcc1bam 2>, <&sdcc1bam 1>;
1197 dma-names = "tx", "rx";
1198 };
1199
1200 sdcc3: sdcc@12180000 {
1201 compatible = "arm,pl18x", "arm,primecell";
1202 arm,primecell-periphid = <0x00051180>;
1203 status = "disabled";
1204 reg = <0x12180000 0x2000>;
1205 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
1206 interrupt-names = "cmd_irq";
1207 clocks = <&gcc SDC3_CLK>, <&gcc SDC3_H_CLK>;
1208 clock-names = "mclk", "apb_pclk";
1209 bus-width = <8>;
1210 cap-sd-highspeed;
1211 cap-mmc-highspeed;
1212 max-frequency = <192000000>;
1213 sd-uhs-sdr104;
1214 sd-uhs-ddr50;
1215 vqmmc-supply = <&vsdcc_fixed>;
1216 dmas = <&sdcc3bam 2>, <&sdcc3bam 1>;
1217 dma-names = "tx", "rx";
1218 };
1219 };
1220 };
1221};