hc
2024-05-10 748e4f3d702def1a4bff191e0cf93b6a05340f01
kernel/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
....@@ -12,6 +12,8 @@
1212 #include <dt-bindings/gpio/gpio.h>
1313 #include <dt-bindings/interrupt-controller/irq.h>
1414 #include <dt-bindings/interrupt-controller/arm-gic.h>
15
+#include <dt-bindings/power/meson-gxbb-power.h>
16
+#include <dt-bindings/thermal/thermal.h>
1517
1618 / {
1719 interrupt-parent = <&gic>;
....@@ -50,9 +52,31 @@
5052 linux,cma {
5153 compatible = "shared-dma-pool";
5254 reusable;
53
- size = <0x0 0xbc00000>;
55
+ size = <0x0 0x10000000>;
5456 alignment = <0x0 0x400000>;
5557 linux,cma-default;
58
+ };
59
+ };
60
+
61
+ chosen {
62
+ #address-cells = <2>;
63
+ #size-cells = <2>;
64
+ ranges;
65
+
66
+ simplefb_cvbs: framebuffer-cvbs {
67
+ compatible = "amlogic,simple-framebuffer",
68
+ "simple-framebuffer";
69
+ amlogic,pipeline = "vpu-cvbs";
70
+ power-domains = <&pwrc PWRC_GXBB_VPU_ID>;
71
+ status = "disabled";
72
+ };
73
+
74
+ simplefb_hdmi: framebuffer-hdmi {
75
+ compatible = "amlogic,simple-framebuffer",
76
+ "simple-framebuffer";
77
+ amlogic,pipeline = "vpu-hdmi";
78
+ power-domains = <&pwrc PWRC_GXBB_VPU_ID>;
79
+ status = "disabled";
5680 };
5781 };
5882
....@@ -62,42 +86,93 @@
6286
6387 cpu0: cpu@0 {
6488 device_type = "cpu";
65
- compatible = "arm,cortex-a53", "arm,armv8";
89
+ compatible = "arm,cortex-a53";
6690 reg = <0x0 0x0>;
6791 enable-method = "psci";
6892 next-level-cache = <&l2>;
6993 clocks = <&scpi_dvfs 0>;
94
+ #cooling-cells = <2>;
7095 };
7196
7297 cpu1: cpu@1 {
7398 device_type = "cpu";
74
- compatible = "arm,cortex-a53", "arm,armv8";
99
+ compatible = "arm,cortex-a53";
75100 reg = <0x0 0x1>;
76101 enable-method = "psci";
77102 next-level-cache = <&l2>;
78103 clocks = <&scpi_dvfs 0>;
104
+ #cooling-cells = <2>;
79105 };
80106
81107 cpu2: cpu@2 {
82108 device_type = "cpu";
83
- compatible = "arm,cortex-a53", "arm,armv8";
109
+ compatible = "arm,cortex-a53";
84110 reg = <0x0 0x2>;
85111 enable-method = "psci";
86112 next-level-cache = <&l2>;
87113 clocks = <&scpi_dvfs 0>;
114
+ #cooling-cells = <2>;
88115 };
89116
90117 cpu3: cpu@3 {
91118 device_type = "cpu";
92
- compatible = "arm,cortex-a53", "arm,armv8";
119
+ compatible = "arm,cortex-a53";
93120 reg = <0x0 0x3>;
94121 enable-method = "psci";
95122 next-level-cache = <&l2>;
96123 clocks = <&scpi_dvfs 0>;
124
+ #cooling-cells = <2>;
97125 };
98126
99127 l2: l2-cache0 {
100128 compatible = "cache";
129
+ };
130
+ };
131
+
132
+ thermal-zones {
133
+ cpu-thermal {
134
+ polling-delay-passive = <250>; /* milliseconds */
135
+ polling-delay = <1000>; /* milliseconds */
136
+
137
+ thermal-sensors = <&scpi_sensors 0>;
138
+
139
+ trips {
140
+ cpu_passive: cpu-passive {
141
+ temperature = <80000>; /* millicelsius */
142
+ hysteresis = <2000>; /* millicelsius */
143
+ type = "passive";
144
+ };
145
+
146
+ cpu_hot: cpu-hot {
147
+ temperature = <90000>; /* millicelsius */
148
+ hysteresis = <2000>; /* millicelsius */
149
+ type = "hot";
150
+ };
151
+
152
+ cpu_critical: cpu-critical {
153
+ temperature = <110000>; /* millicelsius */
154
+ hysteresis = <2000>; /* millicelsius */
155
+ type = "critical";
156
+ };
157
+ };
158
+
159
+ cpu_cooling_maps: cooling-maps {
160
+ map0 {
161
+ trip = <&cpu_passive>;
162
+ cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
163
+ <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
164
+ <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
165
+ <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
166
+ };
167
+
168
+ map1 {
169
+ trip = <&cpu_hot>;
170
+ cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
171
+ <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
172
+ <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
173
+ <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
174
+ };
175
+ };
101176 };
102177 };
103178
....@@ -145,12 +220,13 @@
145220 #address-cells = <1>;
146221 #size-cells = <1>;
147222 read-only;
223
+ secure-monitor = <&sm>;
148224
149225 sn: sn@14 {
150226 reg = <0x14 0x10>;
151227 };
152228
153
- eth_mac: eth_mac@34 {
229
+ eth_mac: eth-mac@34 {
154230 reg = <0x34 0x10>;
155231 };
156232
....@@ -167,7 +243,7 @@
167243 scpi_clocks: clocks {
168244 compatible = "arm,scpi-clocks";
169245
170
- scpi_dvfs: scpi_clocks@0 {
246
+ scpi_dvfs: clocks-0 {
171247 compatible = "arm,scpi-dvfs-clocks";
172248 #clock-cells = <1>;
173249 clock-indices = <0>;
....@@ -204,9 +280,20 @@
204280 };
205281
206282 reset: reset-controller@4404 {
207
- compatible = "amlogic,meson-gx-reset", "amlogic,meson-gxbb-reset";
283
+ compatible = "amlogic,meson-gxbb-reset";
208284 reg = <0x0 0x04404 0x0 0x9c>;
209285 #reset-cells = <1>;
286
+ };
287
+
288
+ aiu: audio-controller@5400 {
289
+ compatible = "amlogic,aiu";
290
+ #sound-dai-cells = <2>;
291
+ sound-name-prefix = "AIU";
292
+ reg = <0x0 0x5400 0x0 0x2ac>;
293
+ interrupts = <GIC_SPI 48 IRQ_TYPE_EDGE_RISING>,
294
+ <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>;
295
+ interrupt-names = "i2s", "spdif";
296
+ status = "disabled";
210297 };
211298
212299 uart_A: serial@84c0 {
....@@ -224,7 +311,7 @@
224311 };
225312
226313 i2c_A: i2c@8500 {
227
- compatible = "amlogic,meson-gx-i2c", "amlogic,meson-gxbb-i2c";
314
+ compatible = "amlogic,meson-gxbb-i2c";
228315 reg = <0x0 0x08500 0x0 0x20>;
229316 interrupts = <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>;
230317 #address-cells = <1>;
....@@ -268,8 +355,13 @@
268355 status = "disabled";
269356 };
270357
358
+ clock-measure@8758 {
359
+ compatible = "amlogic,meson-gx-clk-measure";
360
+ reg = <0x0 0x8758 0x0 0x10>;
361
+ };
362
+
271363 i2c_B: i2c@87c0 {
272
- compatible = "amlogic,meson-gx-i2c", "amlogic,meson-gxbb-i2c";
364
+ compatible = "amlogic,meson-gxbb-i2c";
273365 reg = <0x0 0x087c0 0x0 0x20>;
274366 interrupts = <GIC_SPI 214 IRQ_TYPE_EDGE_RISING>;
275367 #address-cells = <1>;
....@@ -278,7 +370,7 @@
278370 };
279371
280372 i2c_C: i2c@87e0 {
281
- compatible = "amlogic,meson-gx-i2c", "amlogic,meson-gxbb-i2c";
373
+ compatible = "amlogic,meson-gxbb-i2c";
282374 reg = <0x0 0x087e0 0x0 0x20>;
283375 interrupts = <GIC_SPI 215 IRQ_TYPE_EDGE_RISING>;
284376 #address-cells = <1>;
....@@ -296,7 +388,7 @@
296388 };
297389
298390 spifc: spi@8c80 {
299
- compatible = "amlogic,meson-gx-spifc", "amlogic,meson-gxbb-spifc";
391
+ compatible = "amlogic,meson-gxbb-spifc";
300392 reg = <0x0 0x08c80 0x0 0x80>;
301393 #address-cells = <1>;
302394 #size-cells = <0>;
....@@ -304,7 +396,7 @@
304396 };
305397
306398 watchdog@98d0 {
307
- compatible = "amlogic,meson-gx-wdt", "amlogic,meson-gxbb-wdt";
399
+ compatible = "amlogic,meson-gxbb-wdt";
308400 reg = <0x0 0x098d0 0x0 0x10>;
309401 clocks = <&xtal>;
310402 };
....@@ -324,20 +416,20 @@
324416 };
325417
326418 sram: sram@c8000000 {
327
- compatible = "amlogic,meson-gx-sram", "amlogic,meson-gxbb-sram", "mmio-sram";
419
+ compatible = "mmio-sram";
328420 reg = <0x0 0xc8000000 0x0 0x14000>;
329421
330422 #address-cells = <1>;
331423 #size-cells = <1>;
332424 ranges = <0 0x0 0xc8000000 0x14000>;
333425
334
- cpu_scp_lpri: scp-shmem@0 {
335
- compatible = "amlogic,meson-gx-scp-shmem", "amlogic,meson-gxbb-scp-shmem";
426
+ cpu_scp_lpri: scp-sram@0 {
427
+ compatible = "amlogic,meson-gxbb-scp-shmem";
336428 reg = <0x13000 0x400>;
337429 };
338430
339
- cpu_scp_hpri: scp-shmem@200 {
340
- compatible = "amlogic,meson-gx-scp-shmem", "amlogic,meson-gxbb-scp-shmem";
431
+ cpu_scp_hpri: scp-sram@200 {
432
+ compatible = "amlogic,meson-gxbb-scp-shmem";
341433 reg = <0x13400 0x400>;
342434 };
343435 };
....@@ -350,14 +442,8 @@
350442 ranges = <0x0 0x0 0x0 0xc8100000 0x0 0x100000>;
351443
352444 sysctrl_AO: sys-ctrl@0 {
353
- compatible = "amlogic,meson-gx-ao-sysctrl", "syscon", "simple-mfd";
445
+ compatible = "amlogic,meson-gx-ao-sysctrl", "simple-mfd", "syscon";
354446 reg = <0x0 0x0 0x0 0x100>;
355
-
356
- pwrc_vpu: power-controller-vpu {
357
- compatible = "amlogic,meson-gx-pwrc-vpu";
358
- #power-domain-cells = <0>;
359
- amlogic,hhi-sysctrl = <&sysctrl>;
360
- };
361447
362448 clkc_AO: clock-controller {
363449 compatible = "amlogic,meson-gx-aoclkc";
....@@ -370,6 +456,7 @@
370456 compatible = "amlogic,meson-gx-ao-cec";
371457 reg = <0x0 0x00100 0x0 0x14>;
372458 interrupts = <GIC_SPI 199 IRQ_TYPE_EDGE_RISING>;
459
+ status = "disabled";
373460 };
374461
375462 sec_AO: ao-secure@140 {
....@@ -393,7 +480,7 @@
393480 };
394481
395482 i2c_AO: i2c@500 {
396
- compatible = "amlogic,meson-gx-i2c", "amlogic,meson-gxbb-i2c";
483
+ compatible = "amlogic,meson-gxbb-i2c";
397484 reg = <0x0 0x500 0x0 0x20>;
398485 interrupts = <GIC_SPI 195 IRQ_TYPE_EDGE_RISING>;
399486 #address-cells = <1>;
....@@ -416,16 +503,43 @@
416503 };
417504 };
418505
419
- periphs: periphs@c8834000 {
506
+ vdec: video-codec@c8820000 {
507
+ compatible = "amlogic,gx-vdec";
508
+ reg = <0x0 0xc8820000 0x0 0x10000>,
509
+ <0x0 0xc110a580 0x0 0xe4>;
510
+ reg-names = "dos", "esparser";
511
+
512
+ interrupts = <GIC_SPI 44 IRQ_TYPE_EDGE_RISING>,
513
+ <GIC_SPI 32 IRQ_TYPE_EDGE_RISING>;
514
+ interrupt-names = "vdec", "esparser";
515
+
516
+ amlogic,ao-sysctrl = <&sysctrl_AO>;
517
+ amlogic,canvas = <&canvas>;
518
+ };
519
+
520
+ periphs: bus@c8834000 {
420521 compatible = "simple-bus";
421522 reg = <0x0 0xc8834000 0x0 0x2000>;
422523 #address-cells = <2>;
423524 #size-cells = <2>;
424525 ranges = <0x0 0x0 0x0 0xc8834000 0x0 0x2000>;
425526
426
- hwrng: rng {
527
+ hwrng: rng@0 {
427528 compatible = "amlogic,meson-rng";
428529 reg = <0x0 0x0 0x0 0x4>;
530
+ };
531
+ };
532
+
533
+ dmcbus: bus@c8838000 {
534
+ compatible = "simple-bus";
535
+ reg = <0x0 0xc8838000 0x0 0x400>;
536
+ #address-cells = <2>;
537
+ #size-cells = <2>;
538
+ ranges = <0x0 0x0 0x0 0xc8838000 0x0 0x400>;
539
+
540
+ canvas: video-lut@48 {
541
+ compatible = "amlogic,canvas";
542
+ reg = <0x0 0x48 0x0 0x14>;
429543 };
430544 };
431545
....@@ -437,12 +551,18 @@
437551 ranges = <0x0 0x0 0x0 0xc883c000 0x0 0x2000>;
438552
439553 sysctrl: system-controller@0 {
440
- compatible = "amlogic,meson-gx-hhi-sysctrl", "syscon", "simple-mfd";
554
+ compatible = "amlogic,meson-gx-hhi-sysctrl", "simple-mfd", "syscon";
441555 reg = <0 0 0 0x400>;
556
+
557
+ pwrc: power-controller {
558
+ compatible = "amlogic,meson-gxbb-pwrc";
559
+ #power-domain-cells = <1>;
560
+ amlogic,ao-sysctrl = <&sysctrl_AO>;
561
+ };
442562 };
443563
444564 mailbox: mailbox@404 {
445
- compatible = "amlogic,meson-gx-mhu", "amlogic,meson-gxbb-mhu";
565
+ compatible = "amlogic,meson-gxbb-mhu";
446566 reg = <0 0x404 0 0x4c>;
447567 interrupts = <GIC_SPI 208 IRQ_TYPE_EDGE_RISING>,
448568 <GIC_SPI 209 IRQ_TYPE_EDGE_RISING>,
....@@ -452,11 +572,16 @@
452572 };
453573
454574 ethmac: ethernet@c9410000 {
455
- compatible = "amlogic,meson-gx-dwmac", "amlogic,meson-gxbb-dwmac", "snps,dwmac";
456
- reg = <0x0 0xc9410000 0x0 0x10000
457
- 0x0 0xc8834540 0x0 0x4>;
458
- interrupts = <GIC_SPI 8 IRQ_TYPE_EDGE_RISING>;
575
+ compatible = "amlogic,meson-gxbb-dwmac",
576
+ "snps,dwmac-3.70a",
577
+ "snps,dwmac";
578
+ reg = <0x0 0xc9410000 0x0 0x10000>,
579
+ <0x0 0xc8834540 0x0 0x4>;
580
+ interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
459581 interrupt-names = "macirq";
582
+ rx-fifo-depth = <4096>;
583
+ tx-fifo-depth = <2048>;
584
+ power-domains = <&pwrc PWRC_GXBB_ETHERNET_MEM_ID>;
460585 status = "disabled";
461586 };
462587
....@@ -470,21 +595,21 @@
470595 sd_emmc_a: mmc@70000 {
471596 compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc";
472597 reg = <0x0 0x70000 0x0 0x800>;
473
- interrupts = <GIC_SPI 216 IRQ_TYPE_EDGE_RISING>;
598
+ interrupts = <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>;
474599 status = "disabled";
475600 };
476601
477602 sd_emmc_b: mmc@72000 {
478603 compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc";
479604 reg = <0x0 0x72000 0x0 0x800>;
480
- interrupts = <GIC_SPI 217 IRQ_TYPE_EDGE_RISING>;
605
+ interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>;
481606 status = "disabled";
482607 };
483608
484609 sd_emmc_c: mmc@74000 {
485610 compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc";
486611 reg = <0x0 0x74000 0x0 0x800>;
487
- interrupts = <GIC_SPI 218 IRQ_TYPE_EDGE_RISING>;
612
+ interrupts = <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>;
488613 status = "disabled";
489614 };
490615 };
....@@ -492,12 +617,12 @@
492617 vpu: vpu@d0100000 {
493618 compatible = "amlogic,meson-gx-vpu";
494619 reg = <0x0 0xd0100000 0x0 0x100000>,
495
- <0x0 0xc883c000 0x0 0x1000>,
496
- <0x0 0xc8838000 0x0 0x1000>;
497
- reg-names = "vpu", "hhi", "dmc";
620
+ <0x0 0xc883c000 0x0 0x1000>;
621
+ reg-names = "vpu", "hhi";
498622 interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>;
499623 #address-cells = <1>;
500624 #size-cells = <0>;
625
+ amlogic,canvas = <&canvas>;
501626
502627 /* CVBS VDAC output port */
503628 cvbs_vdac_port: port@0 {
....@@ -520,6 +645,8 @@
520645 interrupts = <GIC_SPI 57 IRQ_TYPE_EDGE_RISING>;
521646 #address-cells = <1>;
522647 #size-cells = <0>;
648
+ #sound-dai-cells = <0>;
649
+ sound-name-prefix = "HDMITX";
523650 status = "disabled";
524651
525652 /* VPU VENC Input */