hc
2024-05-10 23fa18eaa71266feff7ba8d83022d9e1cc83c65a
kernel/arch/arm/boot/dts/ls1021a.dtsi
....@@ -45,11 +45,12 @@
4545 * OTHER DEALINGS IN THE SOFTWARE.
4646 */
4747
48
-#include "skeleton64.dtsi"
4948 #include <dt-bindings/interrupt-controller/arm-gic.h>
5049 #include <dt-bindings/thermal/thermal.h>
5150
5251 / {
52
+ #address-cells = <2>;
53
+ #size-cells = <2>;
5354 compatible = "fsl,ls1021a";
5455 interrupt-parent = <&gic>;
5556
....@@ -58,6 +59,7 @@
5859 ethernet0 = &enet0;
5960 ethernet1 = &enet1;
6061 ethernet2 = &enet2;
62
+ rtc1 = &ftm_alarm0;
6163 serial0 = &lpuart0;
6264 serial1 = &lpuart1;
6365 serial2 = &lpuart2;
....@@ -86,6 +88,11 @@
8688 clocks = <&clockgen 1 0>;
8789 #cooling-cells = <2>;
8890 };
91
+ };
92
+
93
+ memory {
94
+ device_type = "memory";
95
+ reg = <0x0 0x0 0x0 0x0>;
8996 };
9097
9198 sysclk: sysclk {
....@@ -125,6 +132,13 @@
125132 interrupt-parent = <&gic>;
126133 ranges;
127134
135
+ ddr: memory-controller@1080000 {
136
+ compatible = "fsl,qoriq-memory-controller";
137
+ reg = <0x0 0x1080000 0x0 0x1000>;
138
+ interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
139
+ big-endian;
140
+ };
141
+
128142 gic: interrupt-controller@1400000 {
129143 compatible = "arm,gic-400", "arm,cortex-a7-gic";
130144 #interrupt-cells = <3>;
....@@ -163,7 +177,7 @@
163177 big-endian;
164178 };
165179
166
- qspi: quadspi@1550000 {
180
+ qspi: spi@1550000 {
167181 compatible = "fsl,ls1021a-qspi";
168182 #address-cells = <1>;
169183 #size-cells = <0>;
....@@ -173,7 +187,6 @@
173187 interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
174188 clock-names = "qspi_en", "qspi";
175189 clocks = <&clockgen 4 1>, <&clockgen 4 1>;
176
- big-endian;
177190 status = "disabled";
178191 };
179192
....@@ -204,6 +217,25 @@
204217 compatible = "fsl,ls1021a-scfg", "syscon";
205218 reg = <0x0 0x1570000 0x0 0x10000>;
206219 big-endian;
220
+ #address-cells = <1>;
221
+ #size-cells = <1>;
222
+ ranges = <0x0 0x0 0x1570000 0x10000>;
223
+
224
+ extirq: interrupt-controller@1ac {
225
+ compatible = "fsl,ls1021a-extirq";
226
+ #interrupt-cells = <2>;
227
+ #address-cells = <0>;
228
+ interrupt-controller;
229
+ reg = <0x1ac 4>;
230
+ interrupt-map =
231
+ <0 0 &gic GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
232
+ <1 0 &gic GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>,
233
+ <2 0 &gic GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>,
234
+ <3 0 &gic GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>,
235
+ <4 0 &gic GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>,
236
+ <5 0 &gic GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
237
+ interrupt-map-mask = <0xffffffff 0x0>;
238
+ };
207239 };
208240
209241 crypto: crypto@1700000 {
....@@ -299,38 +331,7 @@
299331 #thermal-sensor-cells = <1>;
300332 };
301333
302
- thermal-zones {
303
- cpu_thermal: cpu-thermal {
304
- polling-delay-passive = <1000>;
305
- polling-delay = <5000>;
306
-
307
- thermal-sensors = <&tmu 0>;
308
-
309
- trips {
310
- cpu_alert: cpu-alert {
311
- temperature = <85000>;
312
- hysteresis = <2000>;
313
- type = "passive";
314
- };
315
- cpu_crit: cpu-crit {
316
- temperature = <95000>;
317
- hysteresis = <2000>;
318
- type = "critical";
319
- };
320
- };
321
-
322
- cooling-maps {
323
- map0 {
324
- trip = <&cpu_alert>;
325
- cooling-device =
326
- <&cpu0 THERMAL_NO_LIMIT
327
- THERMAL_NO_LIMIT>;
328
- };
329
- };
330
- };
331
- };
332
-
333
- dspi0: dspi@2100000 {
334
+ dspi0: spi@2100000 {
334335 compatible = "fsl,ls1021a-v1.0-dspi";
335336 #address-cells = <1>;
336337 #size-cells = <0>;
....@@ -343,7 +344,7 @@
343344 status = "disabled";
344345 };
345346
346
- dspi1: dspi@2110000 {
347
+ dspi1: spi@2110000 {
347348 compatible = "fsl,ls1021a-v1.0-dspi";
348349 #address-cells = <1>;
349350 #size-cells = <0>;
....@@ -364,6 +365,8 @@
364365 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
365366 clock-names = "i2c";
366367 clocks = <&clockgen 4 1>;
368
+ dma-names = "tx", "rx";
369
+ dmas = <&edma0 1 39>, <&edma0 1 38>;
367370 status = "disabled";
368371 };
369372
....@@ -375,6 +378,8 @@
375378 interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
376379 clock-names = "i2c";
377380 clocks = <&clockgen 4 1>;
381
+ dma-names = "tx", "rx";
382
+ dmas = <&edma0 1 37>, <&edma0 1 36>;
378383 status = "disabled";
379384 };
380385
....@@ -386,6 +391,8 @@
386391 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
387392 clock-names = "i2c";
388393 clocks = <&clockgen 4 1>;
394
+ dma-names = "tx", "rx";
395
+ dmas = <&edma0 1 35>, <&edma0 1 34>;
389396 status = "disabled";
390397 };
391398
....@@ -422,6 +429,34 @@
422429 interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
423430 clock-frequency = <0>;
424431 fifo-size = <15>;
432
+ status = "disabled";
433
+ };
434
+
435
+ counter0: counter@29d0000 {
436
+ compatible = "fsl,ftm-quaddec";
437
+ reg = <0x0 0x29d0000 0x0 0x10000>;
438
+ big-endian;
439
+ status = "disabled";
440
+ };
441
+
442
+ counter1: counter@29e0000 {
443
+ compatible = "fsl,ftm-quaddec";
444
+ reg = <0x0 0x29e0000 0x0 0x10000>;
445
+ big-endian;
446
+ status = "disabled";
447
+ };
448
+
449
+ counter2: counter@29f0000 {
450
+ compatible = "fsl,ftm-quaddec";
451
+ reg = <0x0 0x29f0000 0x0 0x10000>;
452
+ big-endian;
453
+ status = "disabled";
454
+ };
455
+
456
+ counter3: counter@2a00000 {
457
+ compatible = "fsl,ftm-quaddec";
458
+ reg = <0x0 0x2a00000 0x0 0x10000>;
459
+ big-endian;
425460 status = "disabled";
426461 };
427462
....@@ -519,6 +554,102 @@
519554 status = "disabled";
520555 };
521556
557
+ pwm0: pwm@29d0000 {
558
+ compatible = "fsl,vf610-ftm-pwm";
559
+ #pwm-cells = <3>;
560
+ reg = <0x0 0x29d0000 0x0 0x10000>;
561
+ clock-names = "ftm_sys", "ftm_ext",
562
+ "ftm_fix", "ftm_cnt_clk_en";
563
+ clocks = <&clockgen 4 1>, <&clockgen 4 1>,
564
+ <&clockgen 4 1>, <&clockgen 4 1>;
565
+ big-endian;
566
+ status = "disabled";
567
+ };
568
+
569
+ pwm1: pwm@29e0000 {
570
+ compatible = "fsl,vf610-ftm-pwm";
571
+ #pwm-cells = <3>;
572
+ reg = <0x0 0x29e0000 0x0 0x10000>;
573
+ clock-names = "ftm_sys", "ftm_ext",
574
+ "ftm_fix", "ftm_cnt_clk_en";
575
+ clocks = <&clockgen 4 1>, <&clockgen 4 1>,
576
+ <&clockgen 4 1>, <&clockgen 4 1>;
577
+ big-endian;
578
+ status = "disabled";
579
+ };
580
+
581
+ pwm2: pwm@29f0000 {
582
+ compatible = "fsl,vf610-ftm-pwm";
583
+ #pwm-cells = <3>;
584
+ reg = <0x0 0x29f0000 0x0 0x10000>;
585
+ clock-names = "ftm_sys", "ftm_ext",
586
+ "ftm_fix", "ftm_cnt_clk_en";
587
+ clocks = <&clockgen 4 1>, <&clockgen 4 1>,
588
+ <&clockgen 4 1>, <&clockgen 4 1>;
589
+ big-endian;
590
+ status = "disabled";
591
+ };
592
+
593
+ pwm3: pwm@2a00000 {
594
+ compatible = "fsl,vf610-ftm-pwm";
595
+ #pwm-cells = <3>;
596
+ reg = <0x0 0x2a00000 0x0 0x10000>;
597
+ clock-names = "ftm_sys", "ftm_ext",
598
+ "ftm_fix", "ftm_cnt_clk_en";
599
+ clocks = <&clockgen 4 1>, <&clockgen 4 1>,
600
+ <&clockgen 4 1>, <&clockgen 4 1>;
601
+ big-endian;
602
+ status = "disabled";
603
+ };
604
+
605
+ pwm4: pwm@2a10000 {
606
+ compatible = "fsl,vf610-ftm-pwm";
607
+ #pwm-cells = <3>;
608
+ reg = <0x0 0x2a10000 0x0 0x10000>;
609
+ clock-names = "ftm_sys", "ftm_ext",
610
+ "ftm_fix", "ftm_cnt_clk_en";
611
+ clocks = <&clockgen 4 1>, <&clockgen 4 1>,
612
+ <&clockgen 4 1>, <&clockgen 4 1>;
613
+ big-endian;
614
+ status = "disabled";
615
+ };
616
+
617
+ pwm5: pwm@2a20000 {
618
+ compatible = "fsl,vf610-ftm-pwm";
619
+ #pwm-cells = <3>;
620
+ reg = <0x0 0x2a20000 0x0 0x10000>;
621
+ clock-names = "ftm_sys", "ftm_ext",
622
+ "ftm_fix", "ftm_cnt_clk_en";
623
+ clocks = <&clockgen 4 1>, <&clockgen 4 1>,
624
+ <&clockgen 4 1>, <&clockgen 4 1>;
625
+ big-endian;
626
+ status = "disabled";
627
+ };
628
+
629
+ pwm6: pwm@2a30000 {
630
+ compatible = "fsl,vf610-ftm-pwm";
631
+ #pwm-cells = <3>;
632
+ reg = <0x0 0x2a30000 0x0 0x10000>;
633
+ clock-names = "ftm_sys", "ftm_ext",
634
+ "ftm_fix", "ftm_cnt_clk_en";
635
+ clocks = <&clockgen 4 1>, <&clockgen 4 1>,
636
+ <&clockgen 4 1>, <&clockgen 4 1>;
637
+ big-endian;
638
+ status = "disabled";
639
+ };
640
+
641
+ pwm7: pwm@2a40000 {
642
+ compatible = "fsl,vf610-ftm-pwm";
643
+ #pwm-cells = <3>;
644
+ reg = <0x0 0x2a40000 0x0 0x10000>;
645
+ clock-names = "ftm_sys", "ftm_ext",
646
+ "ftm_fix", "ftm_cnt_clk_en";
647
+ clocks = <&clockgen 4 1>, <&clockgen 4 1>,
648
+ <&clockgen 4 1>, <&clockgen 4 1>;
649
+ big-endian;
650
+ status = "disabled";
651
+ };
652
+
522653 wdog0: watchdog@2ad0000 {
523654 compatible = "fsl,imx21-wdt";
524655 reg = <0x0 0x2ad0000 0x0 0x10000>;
....@@ -611,6 +742,7 @@
611742 fsl,tmr-fiper1 = <999999995>;
612743 fsl,tmr-fiper2 = <999999995>;
613744 fsl,max-adj = <499999999>;
745
+ fsl,extts-fifo;
614746 };
615747
616748 enet0: ethernet@2d10000 {
....@@ -716,10 +848,11 @@
716848 dr_mode = "host";
717849 snps,quirk-frame-length-adjustment = <0x20>;
718850 snps,dis_rxdet_inp3_quirk;
851
+ snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
719852 };
720853
721854 pcie@3400000 {
722
- compatible = "fsl,ls1021a-pcie", "snps,dw-pcie";
855
+ compatible = "fsl,ls1021a-pcie";
723856 reg = <0x00 0x03400000 0x0 0x00010000 /* controller registers */
724857 0x40 0x00000000 0x0 0x00002000>; /* configuration space */
725858 reg-names = "regs", "config";
....@@ -728,7 +861,7 @@
728861 #address-cells = <3>;
729862 #size-cells = <2>;
730863 device_type = "pci";
731
- num-lanes = <4>;
864
+ num-viewport = <6>;
732865 bus-range = <0x0 0xff>;
733866 ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000 /* downstream I/O */
734867 0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
....@@ -739,10 +872,11 @@
739872 <0000 0 0 2 &gic GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
740873 <0000 0 0 3 &gic GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
741874 <0000 0 0 4 &gic GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
875
+ status = "disabled";
742876 };
743877
744878 pcie@3500000 {
745
- compatible = "fsl,ls1021a-pcie", "snps,dw-pcie";
879
+ compatible = "fsl,ls1021a-pcie";
746880 reg = <0x00 0x03500000 0x0 0x00010000 /* controller registers */
747881 0x48 0x00000000 0x0 0x00002000>; /* configuration space */
748882 reg-names = "regs", "config";
....@@ -751,7 +885,7 @@
751885 #address-cells = <3>;
752886 #size-cells = <2>;
753887 device_type = "pci";
754
- num-lanes = <4>;
888
+ num-viewport = <6>;
755889 bus-range = <0x0 0xff>;
756890 ranges = <0x81000000 0x0 0x00000000 0x48 0x00010000 0x0 0x00010000 /* downstream I/O */
757891 0x82000000 0x0 0x40000000 0x48 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
....@@ -762,6 +896,7 @@
762896 <0000 0 0 2 &gic GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
763897 <0000 0 0 3 &gic GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
764898 <0000 0 0 4 &gic GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
899
+ status = "disabled";
765900 };
766901
767902 can0: can@2a70000 {
....@@ -815,5 +950,72 @@
815950 #size-cells = <1>;
816951 ranges = <0x0 0x0 0x10010000 0x10000>;
817952 };
953
+
954
+ qdma: dma-controller@8390000 {
955
+ compatible = "fsl,ls1021a-qdma";
956
+ reg = <0x0 0x8388000 0x0 0x1000>, /* Controller regs */
957
+ <0x0 0x8389000 0x0 0x1000>, /* Status regs */
958
+ <0x0 0x838a000 0x0 0x2000>; /* Block regs */
959
+ interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
960
+ <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
961
+ <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
962
+ interrupt-names = "qdma-error",
963
+ "qdma-queue0", "qdma-queue1";
964
+ dma-channels = <8>;
965
+ block-number = <1>;
966
+ block-offset = <0x1000>;
967
+ fsl,dma-queues = <2>;
968
+ status-sizes = <64>;
969
+ queue-sizes = <64 64>;
970
+ big-endian;
971
+ };
972
+
973
+ rcpm: power-controller@1ee2140 {
974
+ compatible = "fsl,ls1021a-rcpm", "fsl,qoriq-rcpm-2.1+";
975
+ reg = <0x0 0x1ee2140 0x0 0x8>;
976
+ #fsl,rcpm-wakeup-cells = <2>;
977
+ };
978
+
979
+ ftm_alarm0: timer0@29d0000 {
980
+ compatible = "fsl,ls1021a-ftm-alarm";
981
+ reg = <0x0 0x29d0000 0x0 0x10000>;
982
+ reg-names = "ftm";
983
+ fsl,rcpm-wakeup = <&rcpm 0x20000 0x0>;
984
+ interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
985
+ big-endian;
986
+ };
987
+ };
988
+
989
+ thermal-zones {
990
+ cpu_thermal: cpu-thermal {
991
+ polling-delay-passive = <1000>;
992
+ polling-delay = <5000>;
993
+
994
+ thermal-sensors = <&tmu 0>;
995
+
996
+ trips {
997
+ cpu_alert: cpu-alert {
998
+ temperature = <85000>;
999
+ hysteresis = <2000>;
1000
+ type = "passive";
1001
+ };
1002
+ cpu_crit: cpu-crit {
1003
+ temperature = <95000>;
1004
+ hysteresis = <2000>;
1005
+ type = "critical";
1006
+ };
1007
+ };
1008
+
1009
+ cooling-maps {
1010
+ map0 {
1011
+ trip = <&cpu_alert>;
1012
+ cooling-device =
1013
+ <&cpu0 THERMAL_NO_LIMIT
1014
+ THERMAL_NO_LIMIT>,
1015
+ <&cpu1 THERMAL_NO_LIMIT
1016
+ THERMAL_NO_LIMIT>;
1017
+ };
1018
+ };
1019
+ };
8181020 };
8191021 };