kernel: move mv88e6xxx fix to generic backports
[openwrt/openwrt.git] / target / linux / ipq806x / files-5.4 / arch / arm / boot / dts / qcom-ipq8064.dtsi
1 /dts-v1/;
2
3 #include <dt-bindings/clock/qcom,gcc-ipq806x.h>
4 #include <dt-bindings/mfd/qcom-rpm.h>
5 #include <dt-bindings/clock/qcom,rpmcc.h>
6 #include <dt-bindings/clock/qcom,lcc-ipq806x.h>
7 #include <dt-bindings/soc/qcom,gsbi.h>
8 #include <dt-bindings/reset/qcom,gcc-ipq806x.h>
9 #include <dt-bindings/interrupt-controller/arm-gic.h>
10 #include <dt-bindings/gpio/gpio.h>
11
12 / {
13 model = "Qualcomm IPQ8064";
14 compatible = "qcom,ipq8064";
15 interrupt-parent = <&intc>;
16
17 #address-cells = <1>;
18 #size-cells = <1>;
19 memory { device_type = "memory"; reg = <0 0>; };
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 = <&acpu0_aux>;
32 qcom,saw = <&saw0>;
33 clocks = <&kraitcc 0>, <&kraitcc 4>;
34 clock-names = "cpu", "l2";
35 clock-latency = <100000>;
36 cpu-supply = <&smb208_s2a>;
37 operating-points-v2 = <&opp_table0>;
38 voltage-tolerance = <5>;
39 cooling-min-state = <0>;
40 cooling-max-state = <10>;
41 #cooling-cells = <2>;
42 cpu-idle-states = <&CPU_SPC>;
43 };
44
45 cpu1: cpu@1 {
46 compatible = "qcom,krait";
47 enable-method = "qcom,kpss-acc-v1";
48 device_type = "cpu";
49 reg = <1>;
50 next-level-cache = <&L2>;
51 qcom,acc = <&acpu1_aux>;
52 qcom,saw = <&saw1>;
53 clocks = <&kraitcc 1>, <&kraitcc 4>;
54 clock-names = "cpu", "l2";
55 clock-latency = <100000>;
56 cpu-supply = <&smb208_s2b>;
57 operating-points-v2 = <&opp_table0>;
58 voltage-tolerance = <5>;
59 cooling-min-state = <0>;
60 cooling-max-state = <10>;
61 #cooling-cells = <2>;
62 cpu-idle-states = <&CPU_SPC>;
63 };
64
65 L2: l2-cache {
66 compatible = "cache";
67 cache-level = <2>;
68 qcom,saw = <&saw_l2>;
69 };
70
71 qcom,l2 {
72 qcom,l2-rates = <384000000 1000000000 1200000000>;
73 qcom,l2-cpufreq = <384000000 600000000 1200000000>;
74 qcom,l2-volt = <1100000 1100000 1150000>;
75 qcom,l2-supply = <&smb208_s1a>;
76 };
77
78 idle-states {
79 CPU_SPC: spc {
80 compatible = "qcom,idle-state-spc",
81 "arm,idle-state";
82 status = "disabled";
83 entry-latency-us = <400>;
84 exit-latency-us = <900>;
85 min-residency-us = <3000>;
86 };
87 };
88 };
89
90 opp_table0: opp_table0 {
91 compatible = "operating-points-v2-qcom-cpu";
92 nvmem-cells = <&speedbin_efuse>;
93
94 opp-384000000 {
95 opp-hz = /bits/ 64 <384000000>;
96 opp-microvolt-speed0-pvs0-v0 = <1000000>;
97 opp-microvolt-speed0-pvs1-v0 = <925000>;
98 opp-microvolt-speed0-pvs2-v0 = <875000>;
99 opp-microvolt-speed0-pvs3-v0 = <800000>;
100 opp-supported-hw = <0x1>;
101 clock-latency-ns = <100000>;
102 };
103
104 opp-600000000 {
105 opp-hz = /bits/ 64 <600000000>;
106 opp-microvolt-speed0-pvs0-v0 = <1050000>;
107 opp-microvolt-speed0-pvs1-v0 = <975000>;
108 opp-microvolt-speed0-pvs2-v0 = <925000>;
109 opp-microvolt-speed0-pvs3-v0 = <850000>;
110 opp-supported-hw = <0x1>;
111 clock-latency-ns = <100000>;
112 };
113
114 opp-800000000 {
115 opp-hz = /bits/ 64 <800000000>;
116 opp-microvolt-speed0-pvs0-v0 = <1100000>;
117 opp-microvolt-speed0-pvs1-v0 = <1025000>;
118 opp-microvolt-speed0-pvs2-v0 = <995000>;
119 opp-microvolt-speed0-pvs3-v0 = <900000>;
120 opp-supported-hw = <0x1>;
121 clock-latency-ns = <100000>;
122 };
123
124 opp-1000000000 {
125 opp-hz = /bits/ 64 <1000000000>;
126 opp-microvolt-speed0-pvs0-v0 = <1150000>;
127 opp-microvolt-speed0-pvs1-v0 = <1075000>;
128 opp-microvolt-speed0-pvs2-v0 = <1025000>;
129 opp-microvolt-speed0-pvs3-v0 = <950000>;
130 opp-supported-hw = <0x1>;
131 clock-latency-ns = <100000>;
132 };
133
134 opp-1200000000 {
135 opp-hz = /bits/ 64 <1200000000>;
136 opp-microvolt-speed0-pvs0-v0 = <1200000>;
137 opp-microvolt-speed0-pvs1-v0 = <1125000>;
138 opp-microvolt-speed0-pvs2-v0 = <1075000>;
139 opp-microvolt-speed0-pvs3-v0 = <1000000>;
140 opp-supported-hw = <0x1>;
141 clock-latency-ns = <100000>;
142 };
143
144 opp-1400000000 {
145 opp-hz = /bits/ 64 <1400000000>;
146 opp-microvolt-speed0-pvs0-v0 = <1250000>;
147 opp-microvolt-speed0-pvs1-v0 = <1175000>;
148 opp-microvolt-speed0-pvs2-v0 = <1125000>;
149 opp-microvolt-speed0-pvs3-v0 = <1050000>;
150 opp-supported-hw = <0x1>;
151 clock-latency-ns = <100000>;
152 };
153
154 };
155
156 thermal-zones {
157 tsens_tz_sensor0 {
158 polling-delay-passive = <0>;
159 polling-delay = <0>;
160 thermal-sensors = <&tsens 0>;
161
162 trips {
163 cpu-critical-hi {
164 temperature = <125000>;
165 hysteresis = <2000>;
166 type = "critical_high";
167 };
168
169 cpu-config-hi {
170 temperature = <105000>;
171 hysteresis = <2000>;
172 type = "configurable_hi";
173 };
174
175 cpu-config-lo {
176 temperature = <95000>;
177 hysteresis = <2000>;
178 type = "configurable_lo";
179 };
180
181 cpu-critical-low {
182 temperature = <0>;
183 hysteresis = <2000>;
184 type = "critical_low";
185 };
186 };
187 };
188
189 tsens_tz_sensor1 {
190 polling-delay-passive = <0>;
191 polling-delay = <0>;
192 thermal-sensors = <&tsens 1>;
193
194 trips {
195 cpu-critical-hi {
196 temperature = <125000>;
197 hysteresis = <2000>;
198 type = "critical_high";
199 };
200
201 cpu-config-hi {
202 temperature = <105000>;
203 hysteresis = <2000>;
204 type = "configurable_hi";
205 };
206
207 cpu-config-lo {
208 temperature = <95000>;
209 hysteresis = <2000>;
210 type = "configurable_lo";
211 };
212
213 cpu-critical-low {
214 temperature = <0>;
215 hysteresis = <2000>;
216 type = "critical_low";
217 };
218 };
219 };
220
221 tsens_tz_sensor2 {
222 polling-delay-passive = <0>;
223 polling-delay = <0>;
224 thermal-sensors = <&tsens 2>;
225
226 trips {
227 cpu-critical-hi {
228 temperature = <125000>;
229 hysteresis = <2000>;
230 type = "critical_high";
231 };
232
233 cpu-config-hi {
234 temperature = <105000>;
235 hysteresis = <2000>;
236 type = "configurable_hi";
237 };
238
239 cpu-config-lo {
240 temperature = <95000>;
241 hysteresis = <2000>;
242 type = "configurable_lo";
243 };
244
245 cpu-critical-low {
246 temperature = <0>;
247 hysteresis = <2000>;
248 type = "critical_low";
249 };
250 };
251 };
252
253 tsens_tz_sensor3 {
254 polling-delay-passive = <0>;
255 polling-delay = <0>;
256 thermal-sensors = <&tsens 3>;
257
258 trips {
259 cpu-critical-hi {
260 temperature = <125000>;
261 hysteresis = <2000>;
262 type = "critical_high";
263 };
264
265 cpu-config-hi {
266 temperature = <105000>;
267 hysteresis = <2000>;
268 type = "configurable_hi";
269 };
270
271 cpu-config-lo {
272 temperature = <95000>;
273 hysteresis = <2000>;
274 type = "configurable_lo";
275 };
276
277 cpu-critical-low {
278 temperature = <0>;
279 hysteresis = <2000>;
280 type = "critical_low";
281 };
282 };
283 };
284
285 tsens_tz_sensor4 {
286 polling-delay-passive = <0>;
287 polling-delay = <0>;
288 thermal-sensors = <&tsens 4>;
289
290 trips {
291 cpu-critical-hi {
292 temperature = <125000>;
293 hysteresis = <2000>;
294 type = "critical_high";
295 };
296
297 cpu-config-hi {
298 temperature = <105000>;
299 hysteresis = <2000>;
300 type = "configurable_hi";
301 };
302
303 cpu-config-lo {
304 temperature = <95000>;
305 hysteresis = <2000>;
306 type = "configurable_lo";
307 };
308
309 cpu-critical-low {
310 temperature = <0>;
311 hysteresis = <2000>;
312 type = "critical_low";
313 };
314 };
315 };
316
317 tsens_tz_sensor5 {
318 polling-delay-passive = <0>;
319 polling-delay = <0>;
320 thermal-sensors = <&tsens 5>;
321
322 trips {
323 cpu-critical-hi {
324 temperature = <125000>;
325 hysteresis = <2000>;
326 type = "critical_high";
327 };
328
329 cpu-config-hi {
330 temperature = <105000>;
331 hysteresis = <2000>;
332 type = "configurable_hi";
333 };
334
335 cpu-config-lo {
336 temperature = <95000>;
337 hysteresis = <2000>;
338 type = "configurable_lo";
339 };
340
341 cpu-critical-low {
342 temperature = <0>;
343 hysteresis = <2000>;
344 type = "critical_low";
345 };
346 };
347 };
348
349 tsens_tz_sensor6 {
350 polling-delay-passive = <0>;
351 polling-delay = <0>;
352 thermal-sensors = <&tsens 6>;
353
354 trips {
355 cpu-critical-hi {
356 temperature = <125000>;
357 hysteresis = <2000>;
358 type = "critical_high";
359 };
360
361 cpu-config-hi {
362 temperature = <105000>;
363 hysteresis = <2000>;
364 type = "configurable_hi";
365 };
366
367 cpu-config-lo {
368 temperature = <95000>;
369 hysteresis = <2000>;
370 type = "configurable_lo";
371 };
372
373 cpu-critical-low {
374 temperature = <0>;
375 hysteresis = <2000>;
376 type = "critical_low";
377 };
378 };
379 };
380
381 tsens_tz_sensor7 {
382 polling-delay-passive = <0>;
383 polling-delay = <0>;
384 thermal-sensors = <&tsens 7>;
385
386 trips {
387 cpu-critical-hi {
388 temperature = <125000>;
389 hysteresis = <2000>;
390 type = "critical_high";
391 };
392
393 cpu-config-hi {
394 temperature = <105000>;
395 hysteresis = <2000>;
396 type = "configurable_hi";
397 };
398
399 cpu-config-lo {
400 temperature = <95000>;
401 hysteresis = <2000>;
402 type = "configurable_lo";
403 };
404
405 cpu-critical-low {
406 temperature = <0>;
407 hysteresis = <2000>;
408 type = "critical_low";
409 };
410 };
411 };
412
413 tsens_tz_sensor8 {
414 polling-delay-passive = <0>;
415 polling-delay = <0>;
416 thermal-sensors = <&tsens 8>;
417
418 trips {
419 cpu-critical-hi {
420 temperature = <125000>;
421 hysteresis = <2000>;
422 type = "critical_high";
423 };
424
425 cpu-config-hi {
426 temperature = <105000>;
427 hysteresis = <2000>;
428 type = "configurable_hi";
429 };
430
431 cpu-config-lo {
432 temperature = <95000>;
433 hysteresis = <2000>;
434 type = "configurable_lo";
435 };
436
437 cpu-critical-low {
438 temperature = <0>;
439 hysteresis = <2000>;
440 type = "critical_low";
441 };
442 };
443 };
444
445 tsens_tz_sensor9 {
446 polling-delay-passive = <0>;
447 polling-delay = <0>;
448 thermal-sensors = <&tsens 9>;
449
450 trips {
451 cpu-critical-hi {
452 temperature = <125000>;
453 hysteresis = <2000>;
454 type = "critical_high";
455 };
456
457 cpu-config-hi {
458 temperature = <105000>;
459 hysteresis = <2000>;
460 type = "configurable_hi";
461 };
462
463 cpu-config-lo {
464 temperature = <95000>;
465 hysteresis = <2000>;
466 type = "configurable_lo";
467 };
468
469 cpu-critical-low {
470 temperature = <0>;
471 hysteresis = <2000>;
472 type = "critical_low";
473 };
474 };
475 };
476
477 tsens_tz_sensor10 {
478 polling-delay-passive = <0>;
479 polling-delay = <0>;
480 thermal-sensors = <&tsens 10>;
481
482 trips {
483 cpu-critical-hi {
484 temperature = <125000>;
485 hysteresis = <2000>;
486 type = "critical_high";
487 };
488
489 cpu-config-hi {
490 temperature = <105000>;
491 hysteresis = <2000>;
492 type = "configurable_hi";
493 };
494
495 cpu-config-lo {
496 temperature = <95000>;
497 hysteresis = <2000>;
498 type = "configurable_lo";
499 };
500
501 cpu-critical-low {
502 temperature = <0>;
503 hysteresis = <2000>;
504 type = "critical_low";
505 };
506 };
507 };
508 };
509
510 cpu-pmu {
511 compatible = "qcom,krait-pmu";
512 interrupts = <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) |
513 IRQ_TYPE_LEVEL_HIGH)>;
514 };
515
516 reserved-memory {
517 #address-cells = <1>;
518 #size-cells = <1>;
519 ranges;
520
521 nss@40000000 {
522 reg = <0x40000000 0x1000000>;
523 no-map;
524 };
525
526 smem: smem@41000000 {
527 reg = <0x41000000 0x200000>;
528 no-map;
529 };
530 };
531
532 clocks {
533 cxo_board {
534 compatible = "fixed-clock";
535 #clock-cells = <0>;
536 clock-frequency = <25000000>;
537 };
538
539 pxo_board {
540 compatible = "fixed-clock";
541 #clock-cells = <0>;
542 clock-frequency = <25000000>;
543 };
544
545 sleep_clk: sleep_clk {
546 compatible = "fixed-clock";
547 clock-frequency = <32768>;
548 #clock-cells = <0>;
549 };
550 };
551
552 fab-scaling {
553 compatible = "qcom,fab-scaling";
554 clocks = <&rpmcc RPM_APPS_FABRIC_A_CLK>, <&rpmcc RPM_EBI1_A_CLK>;
555 clock-names = "apps-fab-clk", "ddr-fab-clk";
556 fab_freq_high = <533000000>;
557 fab_freq_nominal = <400000000>;
558 cpu_freq_threshold = <1000000000>;
559 };
560
561 firmware {
562 scm {
563 compatible = "qcom,scm-ipq806x";
564 };
565 };
566
567 soc: soc {
568 #address-cells = <1>;
569 #size-cells = <1>;
570 ranges;
571 compatible = "simple-bus";
572
573 lpass@28100000 {
574 compatible = "qcom,lpass-cpu";
575 status = "disabled";
576 clocks = <&lcc AHBIX_CLK>,
577 <&lcc MI2S_OSR_CLK>,
578 <&lcc MI2S_BIT_CLK>;
579 clock-names = "ahbix-clk",
580 "mi2s-osr-clk",
581 "mi2s-bit-clk";
582 interrupts = <GIC_SPI 85 IRQ_TYPE_EDGE_RISING>;
583 interrupt-names = "lpass-irq-lpaif";
584 reg = <0x28100000 0x10000>;
585 reg-names = "lpass-lpaif";
586 };
587
588 qfprom: qfprom@700000 {
589 compatible = "qcom,qfprom", "syscon";
590 reg = <0x700000 0x1000>;
591 #address-cells = <1>;
592 #size-cells = <1>;
593 status = "okay";
594 tsens_calib: calib@400 {
595 reg = <0x400 0xb>;
596 };
597 tsens_backup: backup@410 {
598 reg = <0x410 0xb>;
599 };
600 speedbin_efuse: speedbin@0c0 {
601 reg = <0x0c0 0x4>;
602 };
603 };
604
605 rpm: rpm@108000 {
606 compatible = "qcom,rpm-ipq8064";
607 reg = <0x108000 0x1000>;
608 qcom,ipc = <&l2cc 0x8 2>;
609
610 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
611 <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
612 <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
613 interrupt-names = "ack",
614 "err",
615 "wakeup";
616
617 clocks = <&gcc RPM_MSG_RAM_H_CLK>;
618 clock-names = "ram";
619
620 #address-cells = <1>;
621 #size-cells = <0>;
622
623 rpmcc: clock-controller {
624 compatible = "qcom,rpmcc-ipq806x", "qcom,rpmcc";
625 #clock-cells = <1>;
626 };
627
628 regulators {
629 compatible = "qcom,rpm-smb208-regulators";
630
631 smb208_s1a: s1a {
632 regulator-min-microvolt = <1050000>;
633 regulator-max-microvolt = <1150000>;
634
635 qcom,switch-mode-frequency = <1200000>;
636
637 };
638
639 smb208_s1b: s1b {
640 regulator-min-microvolt = <1050000>;
641 regulator-max-microvolt = <1150000>;
642
643 qcom,switch-mode-frequency = <1200000>;
644 };
645
646 smb208_s2a: s2a {
647 regulator-min-microvolt = < 800000>;
648 regulator-max-microvolt = <1250000>;
649
650 qcom,switch-mode-frequency = <1200000>;
651 };
652
653 smb208_s2b: s2b {
654 regulator-min-microvolt = < 800000>;
655 regulator-max-microvolt = <1250000>;
656
657 qcom,switch-mode-frequency = <1200000>;
658 };
659 };
660 };
661
662 rng@1a500000 {
663 compatible = "qcom,prng";
664 reg = <0x1a500000 0x200>;
665 clocks = <&gcc PRNG_CLK>;
666 clock-names = "core";
667 };
668
669 qcom_pinmux: pinmux@800000 {
670 compatible = "qcom,ipq8064-pinctrl";
671 reg = <0x800000 0x4000>;
672
673 gpio-controller;
674 #gpio-cells = <2>;
675 interrupt-controller;
676 #interrupt-cells = <2>;
677 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
678
679 pcie0_pins: pcie0_pinmux {
680 mux {
681 pins = "gpio3";
682 function = "pcie1_rst";
683 drive-strength = <12>;
684 bias-disable;
685 };
686 };
687
688 pcie1_pins: pcie1_pinmux {
689 mux {
690 pins = "gpio48";
691 function = "pcie2_rst";
692 drive-strength = <12>;
693 bias-disable;
694 };
695 };
696
697 pcie2_pins: pcie2_pinmux {
698 mux {
699 pins = "gpio63";
700 function = "pcie3_rst";
701 drive-strength = <12>;
702 bias-disable;
703 output-low;
704 };
705 };
706
707 i2c4_pins: i2c4_pinmux {
708 mux {
709 pins = "gpio12", "gpio13";
710 function = "gsbi4";
711 drive-strength = <12>;
712 bias-disable;
713 };
714 };
715
716 spi_pins: spi_pins {
717 mux {
718 pins = "gpio18", "gpio19", "gpio21";
719 function = "gsbi5";
720 drive-strength = <10>;
721 bias-none;
722 };
723 };
724
725 nand_pins: nand_pins {
726 disable {
727 pins = "gpio34", "gpio35", "gpio36",
728 "gpio37", "gpio38";
729 function = "nand";
730 drive-strength = <10>;
731 bias-disable;
732 };
733
734 pullups {
735 pins = "gpio39";
736 function = "nand";
737 drive-strength = <10>;
738 bias-pull-up;
739 };
740
741 hold {
742 pins = "gpio40", "gpio41", "gpio42",
743 "gpio43", "gpio44", "gpio45",
744 "gpio46", "gpio47";
745 function = "nand";
746 drive-strength = <10>;
747 bias-bus-hold;
748 };
749 };
750
751 mdio0_pins: mdio0_pins {
752 mux {
753 pins = "gpio0", "gpio1";
754 function = "mdio";
755 drive-strength = <8>;
756 bias-disable;
757 };
758 };
759
760 rgmii2_pins: rgmii2_pins {
761 mux {
762 pins = "gpio27", "gpio28", "gpio29",
763 "gpio30", "gpio31", "gpio32",
764 "gpio51", "gpio52", "gpio59",
765 "gpio60", "gpio61", "gpio62";
766 function = "rgmii2";
767 drive-strength = <8>;
768 bias-disable;
769 };
770 };
771
772 leds_pins: leds_pins {
773 mux {
774 pins = "gpio7", "gpio8", "gpio9",
775 "gpio26", "gpio53";
776 function = "gpio";
777 drive-strength = <2>;
778 bias-pull-down;
779 output-low;
780 };
781 };
782
783 buttons_pins: buttons_pins {
784 mux {
785 pins = "gpio54";
786 drive-strength = <2>;
787 bias-pull-up;
788 };
789 };
790 };
791
792 intc: interrupt-controller@2000000 {
793 compatible = "qcom,msm-qgic2";
794 interrupt-controller;
795 #interrupt-cells = <3>;
796 reg = <0x02000000 0x1000>,
797 <0x02002000 0x1000>;
798 };
799
800 timer@200a000 {
801 compatible = "qcom,kpss-timer", "qcom,msm-timer";
802 interrupts = <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(2) |
803 IRQ_TYPE_EDGE_RISING)>,
804 <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(2) |
805 IRQ_TYPE_EDGE_RISING)>,
806 <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(2) |
807 IRQ_TYPE_EDGE_RISING)>,
808 <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(2) |
809 IRQ_TYPE_EDGE_RISING)>,
810 <GIC_PPI 5 (GIC_CPU_MASK_SIMPLE(2) |
811 IRQ_TYPE_EDGE_RISING)>;
812 reg = <0x0200a000 0x100>;
813 clock-frequency = <25000000>,
814 <32768>;
815 clocks = <&sleep_clk>;
816 clock-names = "sleep";
817 cpu-offset = <0x80000>;
818 };
819
820 acpu0_aux: clock-controller@2088000 {
821 compatible = "qcom,kpss-acc-v1";
822 reg = <0x02088000 0x1000>, <0x02008000 0x1000>;
823 clock-output-names = "acpu0_aux";
824 };
825
826 acpu1_aux: clock-controller@2098000 {
827 compatible = "qcom,kpss-acc-v1";
828 reg = <0x02098000 0x1000>, <0x02008000 0x1000>;
829 clock-output-names = "acpu1_aux";
830 };
831
832 l2cc: clock-controller@2011000 {
833 compatible = "qcom,kpss-gcc", "syscon";
834 reg = <0x2011000 0x1000>;
835 clock-output-names = "acpu_l2_aux";
836 };
837
838 kraitcc: clock-controller {
839 compatible = "qcom,krait-cc-v1";
840 #clock-cells = <1>;
841 };
842
843 saw0: regulator@2089000 {
844 compatible = "qcom,saw2", "qcom,apq8064-saw2-v1.1-cpu", "syscon";
845 reg = <0x02089000 0x1000>, <0x02009000 0x1000>;
846 regulator;
847 };
848
849 saw1: regulator@2099000 {
850 compatible = "qcom,saw2", "qcom,apq8064-saw2-v1.1-cpu", "syscon";
851 reg = <0x02099000 0x1000>, <0x02009000 0x1000>;
852 regulator;
853 };
854
855 saw_l2: regulator@02012000 {
856 compatible = "qcom,saw2", "syscon";
857 reg = <0x02012000 0x1000>;
858 regulator;
859 };
860
861 sic_non_secure: sic-non-secure@12100000 {
862 compatible = "syscon";
863 reg = <0x12100000 0x10000>;
864 };
865
866 gsbi2: gsbi@12480000 {
867 compatible = "qcom,gsbi-v1.0.0";
868 cell-index = <2>;
869 reg = <0x12480000 0x100>;
870 clocks = <&gcc GSBI2_H_CLK>;
871 clock-names = "iface";
872 #address-cells = <1>;
873 #size-cells = <1>;
874 ranges;
875 status = "disabled";
876
877 syscon-tcsr = <&tcsr>;
878
879 uart2: serial@12490000 {
880 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
881 reg = <0x12490000 0x1000>,
882 <0x12480000 0x1000>;
883 interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>;
884 clocks = <&gcc GSBI2_UART_CLK>, <&gcc GSBI2_H_CLK>;
885 clock-names = "core", "iface";
886 status = "disabled";
887 };
888
889 i2c@124a0000 {
890 compatible = "qcom,i2c-qup-v1.1.1";
891 reg = <0x124a0000 0x1000>;
892 interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>;
893
894 clocks = <&gcc GSBI2_QUP_CLK>, <&gcc GSBI2_H_CLK>;
895 clock-names = "core", "iface";
896 status = "disabled";
897
898 #address-cells = <1>;
899 #size-cells = <0>;
900 };
901
902 };
903
904 gsbi4: gsbi@16300000 {
905 compatible = "qcom,gsbi-v1.0.0";
906 cell-index = <4>;
907 reg = <0x16300000 0x100>;
908 clocks = <&gcc GSBI4_H_CLK>;
909 clock-names = "iface";
910 #address-cells = <1>;
911 #size-cells = <1>;
912 ranges;
913 status = "disabled";
914
915 syscon-tcsr = <&tcsr>;
916
917 gsbi4_serial: serial@16340000 {
918 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
919 reg = <0x16340000 0x1000>,
920 <0x16300000 0x1000>;
921 interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
922 clocks = <&gcc GSBI4_UART_CLK>, <&gcc GSBI4_H_CLK>;
923 clock-names = "core", "iface";
924 status = "disabled";
925 };
926
927 i2c@16380000 {
928 compatible = "qcom,i2c-qup-v1.1.1";
929 reg = <0x16380000 0x1000>;
930 interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
931
932 clocks = <&gcc GSBI4_QUP_CLK>, <&gcc GSBI4_H_CLK>;
933 clock-names = "core", "iface";
934 status = "disabled";
935
936 #address-cells = <1>;
937 #size-cells = <0>;
938 };
939 };
940
941 gsbi5: gsbi@1a200000 {
942 compatible = "qcom,gsbi-v1.0.0";
943 cell-index = <5>;
944 reg = <0x1a200000 0x100>;
945 clocks = <&gcc GSBI5_H_CLK>;
946 clock-names = "iface";
947 #address-cells = <1>;
948 #size-cells = <1>;
949 ranges;
950 status = "disabled";
951
952 syscon-tcsr = <&tcsr>;
953
954 uart5: serial@1a240000 {
955 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
956 reg = <0x1a240000 0x1000>,
957 <0x1a200000 0x1000>;
958 interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
959 clocks = <&gcc GSBI5_UART_CLK>, <&gcc GSBI5_H_CLK>;
960 clock-names = "core", "iface";
961 status = "disabled";
962 };
963
964 i2c@1a280000 {
965 compatible = "qcom,i2c-qup-v1.1.1";
966 reg = <0x1a280000 0x1000>;
967 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
968
969 clocks = <&gcc GSBI5_QUP_CLK>, <&gcc GSBI5_H_CLK>;
970 clock-names = "core", "iface";
971 status = "disabled";
972
973 #address-cells = <1>;
974 #size-cells = <0>;
975 };
976
977 spi@1a280000 {
978 compatible = "qcom,spi-qup-v1.1.1";
979 reg = <0x1a280000 0x1000>;
980 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
981
982 clocks = <&gcc GSBI5_QUP_CLK>, <&gcc GSBI5_H_CLK>;
983 clock-names = "core", "iface";
984 status = "disabled";
985
986 #address-cells = <1>;
987 #size-cells = <0>;
988 };
989 };
990
991 gsbi7: gsbi@16600000 {
992 status = "disabled";
993 compatible = "qcom,gsbi-v1.0.0";
994 cell-index = <7>;
995 reg = <0x16600000 0x100>;
996 clocks = <&gcc GSBI7_H_CLK>;
997 clock-names = "iface";
998 #address-cells = <1>;
999 #size-cells = <1>;
1000 ranges;
1001 syscon-tcsr = <&tcsr>;
1002
1003 gsbi7_serial: serial@16640000 {
1004 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
1005 reg = <0x16640000 0x1000>,
1006 <0x16600000 0x1000>;
1007 interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
1008 clocks = <&gcc GSBI7_UART_CLK>, <&gcc GSBI7_H_CLK>;
1009 clock-names = "core", "iface";
1010 status = "disabled";
1011 };
1012 };
1013
1014 sata_phy: sata-phy@1b400000 {
1015 compatible = "qcom,ipq806x-sata-phy";
1016 reg = <0x1b400000 0x200>;
1017
1018 clocks = <&gcc SATA_PHY_CFG_CLK>;
1019 clock-names = "cfg";
1020
1021 #phy-cells = <0>;
1022 status = "disabled";
1023 };
1024
1025 sata: sata@29000000 {
1026 compatible = "qcom,ipq806x-ahci", "generic-ahci";
1027 reg = <0x29000000 0x180>;
1028
1029 ports-implemented = <0x1>;
1030
1031 interrupts = <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>;
1032
1033 clocks = <&gcc SFAB_SATA_S_H_CLK>,
1034 <&gcc SATA_H_CLK>,
1035 <&gcc SATA_A_CLK>,
1036 <&gcc SATA_RXOOB_CLK>,
1037 <&gcc SATA_PMALIVE_CLK>;
1038 clock-names = "slave_face", "iface", "core",
1039 "rxoob", "pmalive";
1040
1041 assigned-clocks = <&gcc SATA_RXOOB_CLK>, <&gcc SATA_PMALIVE_CLK>;
1042 assigned-clock-rates = <100000000>, <100000000>;
1043
1044 phys = <&sata_phy>;
1045 phy-names = "sata-phy";
1046 status = "disabled";
1047 };
1048
1049 qcom,ssbi@500000 {
1050 compatible = "qcom,ssbi";
1051 reg = <0x00500000 0x1000>;
1052 qcom,controller-type = "pmic-arbiter";
1053 };
1054
1055 gcc: clock-controller@900000 {
1056 compatible = "qcom,gcc-ipq8064";
1057 reg = <0x00900000 0x4000>;
1058 #clock-cells = <1>;
1059 #reset-cells = <1>;
1060 #power-domain-cells = <1>;
1061 };
1062
1063 tsens: thermal-sensor@900000 {
1064 compatible = "qcom,ipq8064-tsens";
1065 reg = <0x900000 0x3680>;
1066 nvmem-cells = <&tsens_calib>, <&tsens_backup>;
1067 nvmem-cell-names = "calib", "calib_backup";
1068 interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>;
1069 #thermal-sensor-cells = <1>;
1070 };
1071
1072 tcsr: syscon@1a400000 {
1073 compatible = "qcom,tcsr-ipq8064", "syscon";
1074 reg = <0x1a400000 0x100>;
1075 };
1076
1077 lcc: clock-controller@28000000 {
1078 compatible = "qcom,lcc-ipq8064";
1079 reg = <0x28000000 0x1000>;
1080 #clock-cells = <1>;
1081 #reset-cells = <1>;
1082 };
1083
1084 sfpb_mutex_block: syscon@1200600 {
1085 compatible = "syscon";
1086 reg = <0x01200600 0x100>;
1087 };
1088
1089 hs_phy_0: hs_phy_0 {
1090 compatible = "qcom,dwc3-hs-usb-phy";
1091 regmap = <&usb3_0>;
1092 clocks = <&gcc USB30_0_UTMI_CLK>;
1093 clock-names = "ref";
1094 #phy-cells = <0>;
1095 };
1096
1097 ss_phy_0: ss_phy_0 {
1098 compatible = "qcom,dwc3-ss-usb-phy";
1099 regmap = <&usb3_0>;
1100 clocks = <&gcc USB30_0_MASTER_CLK>;
1101 clock-names = "ref";
1102 #phy-cells = <0>;
1103 };
1104
1105 usb3_0: usb3@110f8800 {
1106 compatible = "qcom,dwc3", "syscon";
1107 #address-cells = <1>;
1108 #size-cells = <1>;
1109 reg = <0x110f8800 0x8000>;
1110 clocks = <&gcc USB30_0_MASTER_CLK>;
1111 clock-names = "core";
1112
1113 ranges;
1114
1115 resets = <&gcc USB30_0_MASTER_RESET>;
1116 reset-names = "master";
1117
1118 status = "disabled";
1119
1120 dwc3_0: dwc3@11000000 {
1121 compatible = "snps,dwc3";
1122 reg = <0x11000000 0xcd00>;
1123 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
1124 phys = <&hs_phy_0>, <&ss_phy_0>;
1125 phy-names = "usb2-phy", "usb3-phy";
1126 dr_mode = "host";
1127 snps,dis_u3_susphy_quirk;
1128 };
1129 };
1130
1131 hs_phy_1: hs_phy_1 {
1132 compatible = "qcom,dwc3-hs-usb-phy";
1133 regmap = <&usb3_1>;
1134 clocks = <&gcc USB30_1_UTMI_CLK>;
1135 clock-names = "ref";
1136 #phy-cells = <0>;
1137 };
1138
1139 ss_phy_1: ss_phy_1 {
1140 compatible = "qcom,dwc3-ss-usb-phy";
1141 regmap = <&usb3_1>;
1142 clocks = <&gcc USB30_1_MASTER_CLK>;
1143 clock-names = "ref";
1144 #phy-cells = <0>;
1145 };
1146
1147 usb3_1: usb3@100f8800 {
1148 compatible = "qcom,dwc3", "syscon";
1149 #address-cells = <1>;
1150 #size-cells = <1>;
1151 reg = <0x100f8800 0x8000>;
1152 clocks = <&gcc USB30_1_MASTER_CLK>;
1153 clock-names = "core";
1154
1155 ranges;
1156
1157 resets = <&gcc USB30_1_MASTER_RESET>;
1158 reset-names = "master";
1159
1160 status = "disabled";
1161
1162 dwc3_1: dwc3@10000000 {
1163 compatible = "snps,dwc3";
1164 reg = <0x10000000 0xcd00>;
1165 interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>;
1166 phys = <&hs_phy_1>, <&ss_phy_1>;
1167 phy-names = "usb2-phy", "usb3-phy";
1168 dr_mode = "host";
1169 snps,dis_u3_susphy_quirk;
1170 };
1171 };
1172
1173 pcie0: pci@1b500000 {
1174 compatible = "qcom,pcie-ipq8064";
1175 reg = <0x1b500000 0x1000
1176 0x1b502000 0x80
1177 0x1b600000 0x100
1178 0x0ff00000 0x100000>;
1179 reg-names = "dbi", "elbi", "parf", "config";
1180 device_type = "pci";
1181 linux,pci-domain = <0>;
1182 bus-range = <0x00 0xff>;
1183 num-lanes = <1>;
1184 #address-cells = <3>;
1185 #size-cells = <2>;
1186
1187 ranges = <0x81000000 0 0x0fe00000 0x0fe00000 0 0x00100000 /* downstream I/O */
1188 0x82000000 0 0x08000000 0x08000000 0 0x07e00000>; /* non-prefetchable memory */
1189
1190 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
1191 interrupt-names = "msi";
1192 #interrupt-cells = <1>;
1193 interrupt-map-mask = <0 0 0 0x7>;
1194 interrupt-map = <0 0 0 1 &intc 0 36 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1195 <0 0 0 2 &intc 0 37 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1196 <0 0 0 3 &intc 0 38 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1197 <0 0 0 4 &intc 0 39 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1198
1199 clocks = <&gcc PCIE_A_CLK>,
1200 <&gcc PCIE_H_CLK>,
1201 <&gcc PCIE_PHY_CLK>,
1202 <&gcc PCIE_AUX_CLK>,
1203 <&gcc PCIE_ALT_REF_CLK>;
1204 clock-names = "core", "iface", "phy", "aux", "ref";
1205
1206 assigned-clocks = <&gcc PCIE_ALT_REF_CLK>;
1207 assigned-clock-rates = <100000000>;
1208
1209 resets = <&gcc PCIE_ACLK_RESET>,
1210 <&gcc PCIE_HCLK_RESET>,
1211 <&gcc PCIE_POR_RESET>,
1212 <&gcc PCIE_PCI_RESET>,
1213 <&gcc PCIE_PHY_RESET>,
1214 <&gcc PCIE_EXT_RESET>;
1215 reset-names = "axi", "ahb", "por", "pci", "phy", "ext";
1216
1217 pinctrl-0 = <&pcie0_pins>;
1218 pinctrl-names = "default";
1219
1220 perst-gpios = <&qcom_pinmux 3 GPIO_ACTIVE_LOW>;
1221
1222 status = "disabled";
1223 };
1224
1225 pcie1: pci@1b700000 {
1226 compatible = "qcom,pcie-ipq8064";
1227 reg = <0x1b700000 0x1000
1228 0x1b702000 0x80
1229 0x1b800000 0x100
1230 0x31f00000 0x100000>;
1231 reg-names = "dbi", "elbi", "parf", "config";
1232 device_type = "pci";
1233 linux,pci-domain = <1>;
1234 bus-range = <0x00 0xff>;
1235 num-lanes = <1>;
1236 #address-cells = <3>;
1237 #size-cells = <2>;
1238
1239 ranges = <0x81000000 0 0x31e00000 0x31e00000 0 0x00100000 /* downstream I/O */
1240 0x82000000 0 0x2e000000 0x2e000000 0 0x03e00000>; /* non-prefetchable memory */
1241
1242 interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
1243 interrupt-names = "msi";
1244 #interrupt-cells = <1>;
1245 interrupt-map-mask = <0 0 0 0x7>;
1246 interrupt-map = <0 0 0 1 &intc 0 58 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1247 <0 0 0 2 &intc 0 59 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1248 <0 0 0 3 &intc 0 60 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1249 <0 0 0 4 &intc 0 61 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1250
1251 clocks = <&gcc PCIE_1_A_CLK>,
1252 <&gcc PCIE_1_H_CLK>,
1253 <&gcc PCIE_1_PHY_CLK>,
1254 <&gcc PCIE_1_AUX_CLK>,
1255 <&gcc PCIE_1_ALT_REF_CLK>;
1256 clock-names = "core", "iface", "phy", "aux", "ref";
1257
1258 assigned-clocks = <&gcc PCIE_1_ALT_REF_CLK>;
1259 assigned-clock-rates = <100000000>;
1260
1261 resets = <&gcc PCIE_1_ACLK_RESET>,
1262 <&gcc PCIE_1_HCLK_RESET>,
1263 <&gcc PCIE_1_POR_RESET>,
1264 <&gcc PCIE_1_PCI_RESET>,
1265 <&gcc PCIE_1_PHY_RESET>,
1266 <&gcc PCIE_1_EXT_RESET>;
1267 reset-names = "axi", "ahb", "por", "pci", "phy", "ext";
1268
1269 pinctrl-0 = <&pcie1_pins>;
1270 pinctrl-names = "default";
1271
1272 perst-gpios = <&qcom_pinmux 48 GPIO_ACTIVE_LOW>;
1273
1274 status = "disabled";
1275 };
1276
1277 pcie2: pci@1b900000 {
1278 compatible = "qcom,pcie-ipq8064";
1279 reg = <0x1b900000 0x1000
1280 0x1b902000 0x80
1281 0x1ba00000 0x100
1282 0x35f00000 0x100000>;
1283 reg-names = "dbi", "elbi", "parf", "config";
1284 device_type = "pci";
1285 linux,pci-domain = <2>;
1286 bus-range = <0x00 0xff>;
1287 num-lanes = <1>;
1288 #address-cells = <3>;
1289 #size-cells = <2>;
1290
1291 ranges = <0x81000000 0 0x35e00000 0x35e00000 0 0x00100000 /* downstream I/O */
1292 0x82000000 0 0x32000000 0x32000000 0 0x03e00000>; /* non-prefetchable memory */
1293
1294 interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
1295 interrupt-names = "msi";
1296 #interrupt-cells = <1>;
1297 interrupt-map-mask = <0 0 0 0x7>;
1298 interrupt-map = <0 0 0 1 &intc 0 72 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1299 <0 0 0 2 &intc 0 73 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1300 <0 0 0 3 &intc 0 74 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1301 <0 0 0 4 &intc 0 75 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1302
1303 clocks = <&gcc PCIE_2_A_CLK>,
1304 <&gcc PCIE_2_H_CLK>,
1305 <&gcc PCIE_2_PHY_CLK>,
1306 <&gcc PCIE_2_AUX_CLK>,
1307 <&gcc PCIE_2_ALT_REF_CLK>;
1308 clock-names = "core", "iface", "phy", "aux", "ref";
1309
1310 assigned-clocks = <&gcc PCIE_2_ALT_REF_CLK>;
1311 assigned-clock-rates = <100000000>;
1312
1313 resets = <&gcc PCIE_2_ACLK_RESET>,
1314 <&gcc PCIE_2_HCLK_RESET>,
1315 <&gcc PCIE_2_POR_RESET>,
1316 <&gcc PCIE_2_PCI_RESET>,
1317 <&gcc PCIE_2_PHY_RESET>,
1318 <&gcc PCIE_2_EXT_RESET>;
1319 reset-names = "axi", "ahb", "por", "pci", "phy", "ext";
1320
1321 pinctrl-0 = <&pcie2_pins>;
1322 pinctrl-names = "default";
1323
1324 perst-gpios = <&qcom_pinmux 63 GPIO_ACTIVE_LOW>;
1325
1326 status = "disabled";
1327 };
1328
1329 adm_dma: dma@18300000 {
1330 compatible = "qcom,adm";
1331 reg = <0x18300000 0x100000>;
1332 interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
1333 #dma-cells = <1>;
1334
1335 clocks = <&gcc ADM0_CLK>, <&gcc ADM0_PBUS_CLK>;
1336 clock-names = "core", "iface";
1337
1338 resets = <&gcc ADM0_RESET>,
1339 <&gcc ADM0_PBUS_RESET>,
1340 <&gcc ADM0_C0_RESET>,
1341 <&gcc ADM0_C1_RESET>,
1342 <&gcc ADM0_C2_RESET>;
1343 reset-names = "clk", "pbus", "c0", "c1", "c2";
1344 qcom,ee = <0>;
1345
1346 status = "disabled";
1347 };
1348
1349 nand_controller: nand-controller@1ac00000 {
1350 compatible = "qcom,ipq806x-nand";
1351 reg = <0x1ac00000 0x800>;
1352
1353 clocks = <&gcc EBI2_CLK>,
1354 <&gcc EBI2_AON_CLK>;
1355 clock-names = "core", "aon";
1356
1357 dmas = <&adm_dma 3>;
1358 dma-names = "rxtx";
1359 qcom,cmd-crci = <15>;
1360 qcom,data-crci = <3>;
1361
1362 status = "disabled";
1363
1364 #address-cells = <1>;
1365 #size-cells = <0>;
1366 };
1367
1368 nss_common: syscon@03000000 {
1369 compatible = "syscon";
1370 reg = <0x03000000 0x0000FFFF>;
1371 };
1372
1373 qsgmii_csr: syscon@1bb00000 {
1374 compatible = "syscon";
1375 reg = <0x1bb00000 0x000001FF>;
1376 };
1377
1378 stmmac_axi_setup: stmmac-axi-config {
1379 snps,wr_osr_lmt = <7>;
1380 snps,rd_osr_lmt = <7>;
1381 snps,blen = <16 0 0 0 0 0 0>;
1382 };
1383
1384 mdio0: mdio@37000000 {
1385 #address-cells = <1>;
1386 #size-cells = <0>;
1387
1388 compatible = "qcom,ipq8064-mdio", "syscon";
1389 reg = <0x37000000 0x200000>;
1390 resets = <&gcc GMAC_CORE1_RESET>;
1391 reset-names = "stmmaceth";
1392 clocks = <&gcc GMAC_CORE1_CLK>;
1393 clock-names = "stmmaceth";
1394
1395 status = "disabled";
1396 };
1397
1398 gmac0: ethernet@37000000 {
1399 device_type = "network";
1400 compatible = "qcom,ipq806x-gmac";
1401 reg = <0x37000000 0x200000>;
1402 interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>;
1403 interrupt-names = "macirq";
1404
1405 snps,axi-config = <&stmmac_axi_setup>;
1406 snps,pbl = <32>;
1407 snps,aal = <1>;
1408
1409 qcom,nss-common = <&nss_common>;
1410 qcom,qsgmii-csr = <&qsgmii_csr>;
1411
1412 clocks = <&gcc GMAC_CORE1_CLK>;
1413 clock-names = "stmmaceth";
1414
1415 resets = <&gcc GMAC_CORE1_RESET>;
1416 reset-names = "stmmaceth";
1417
1418 status = "disabled";
1419 };
1420
1421 gmac1: ethernet@37200000 {
1422 device_type = "network";
1423 compatible = "qcom,ipq806x-gmac";
1424 reg = <0x37200000 0x200000>;
1425 interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
1426 interrupt-names = "macirq";
1427
1428 snps,axi-config = <&stmmac_axi_setup>;
1429 snps,pbl = <32>;
1430 snps,aal = <1>;
1431
1432 qcom,nss-common = <&nss_common>;
1433 qcom,qsgmii-csr = <&qsgmii_csr>;
1434
1435 clocks = <&gcc GMAC_CORE2_CLK>;
1436 clock-names = "stmmaceth";
1437
1438 resets = <&gcc GMAC_CORE2_RESET>;
1439 reset-names = "stmmaceth";
1440
1441 status = "disabled";
1442 };
1443
1444 gmac2: ethernet@37400000 {
1445 device_type = "network";
1446 compatible = "qcom,ipq806x-gmac", "snps,dwmac";
1447 reg = <0x37400000 0x200000>;
1448 interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>;
1449 interrupt-names = "macirq";
1450
1451 snps,axi-config = <&stmmac_axi_setup>;
1452 snps,pbl = <32>;
1453 snps,aal = <1>;
1454
1455 qcom,nss-common = <&nss_common>;
1456 qcom,qsgmii-csr = <&qsgmii_csr>;
1457
1458 clocks = <&gcc GMAC_CORE3_CLK>;
1459 clock-names = "stmmaceth";
1460
1461 resets = <&gcc GMAC_CORE3_RESET>;
1462 reset-names = "stmmaceth";
1463
1464 status = "disabled";
1465 };
1466
1467 gmac3: ethernet@37600000 {
1468 device_type = "network";
1469 compatible = "qcom,ipq806x-gmac", "snps,dwmac";
1470 reg = <0x37600000 0x200000>;
1471 interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>;
1472 interrupt-names = "macirq";
1473
1474 snps,axi-config = <&stmmac_axi_setup>;
1475 snps,pbl = <32>;
1476 snps,aal = <1>;
1477
1478 qcom,nss-common = <&nss_common>;
1479 qcom,qsgmii-csr = <&qsgmii_csr>;
1480
1481 clocks = <&gcc GMAC_CORE4_CLK>;
1482 clock-names = "stmmaceth";
1483
1484 resets = <&gcc GMAC_CORE4_RESET>;
1485 reset-names = "stmmaceth";
1486
1487 status = "disabled";
1488 };
1489
1490 /* Temporary fixed regulator */
1491 vsdcc_fixed: vsdcc-regulator {
1492 compatible = "regulator-fixed";
1493 regulator-name = "SDCC Power";
1494 regulator-min-microvolt = <3300000>;
1495 regulator-max-microvolt = <3300000>;
1496 regulator-always-on;
1497 };
1498
1499 sdcc1bam: dma@12402000 {
1500 compatible = "qcom,bam-v1.3.0";
1501 reg = <0x12402000 0x8000>;
1502 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
1503 clocks = <&gcc SDC1_H_CLK>;
1504 clock-names = "bam_clk";
1505 #dma-cells = <1>;
1506 qcom,ee = <0>;
1507 };
1508
1509 sdcc3bam: dma@12182000 {
1510 compatible = "qcom,bam-v1.3.0";
1511 reg = <0x12182000 0x8000>;
1512 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
1513 clocks = <&gcc SDC3_H_CLK>;
1514 clock-names = "bam_clk";
1515 #dma-cells = <1>;
1516 qcom,ee = <0>;
1517 };
1518
1519 amba: amba {
1520 compatible = "arm,amba-bus";
1521 #address-cells = <1>;
1522 #size-cells = <1>;
1523 ranges;
1524 sdcc1: sdcc@12400000 {
1525 status = "disabled";
1526 compatible = "arm,pl18x", "arm,primecell";
1527 arm,primecell-periphid = <0x00051180>;
1528 reg = <0x12400000 0x2000>;
1529 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
1530 interrupt-names = "cmd_irq";
1531 clocks = <&gcc SDC1_CLK>, <&gcc SDC1_H_CLK>;
1532 clock-names = "mclk", "apb_pclk";
1533 bus-width = <8>;
1534 max-frequency = <96000000>;
1535 non-removable;
1536 cap-sd-highspeed;
1537 cap-mmc-highspeed;
1538 vmmc-supply = <&vsdcc_fixed>;
1539 dmas = <&sdcc1bam 2>, <&sdcc1bam 1>;
1540 dma-names = "tx", "rx";
1541 };
1542
1543 sdcc3: sdcc@12180000 {
1544 compatible = "arm,pl18x", "arm,primecell";
1545 arm,primecell-periphid = <0x00051180>;
1546 status = "disabled";
1547 reg = <0x12180000 0x2000>;
1548 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
1549 interrupt-names = "cmd_irq";
1550 clocks = <&gcc SDC3_CLK>, <&gcc SDC3_H_CLK>;
1551 clock-names = "mclk", "apb_pclk";
1552 bus-width = <8>;
1553 cap-sd-highspeed;
1554 cap-mmc-highspeed;
1555 max-frequency = <192000000>;
1556 #mmc-ddr-1_8v;
1557 sd-uhs-sdr104;
1558 sd-uhs-ddr50;
1559 vqmmc-supply = <&vsdcc_fixed>;
1560 dmas = <&sdcc3bam 2>, <&sdcc3bam 1>;
1561 dma-names = "tx", "rx";
1562 };
1563 };
1564 };
1565
1566 sfpb_mutex: sfpb-mutex {
1567 compatible = "qcom,sfpb-mutex";
1568 syscon = <&sfpb_mutex_block 4 4>;
1569
1570 #hwlock-cells = <1>;
1571 };
1572
1573 smem {
1574 compatible = "qcom,smem";
1575 memory-region = <&smem>;
1576 hwlocks = <&sfpb_mutex 3>;
1577 };
1578 };