forked from ~ljy/RK356X_SDK_RELEASE

hc
2023-12-06 08f87f769b595151be1afeff53e144f543faa614
kernel/arch/arm/boot/dts/bcm283x.dtsi
....@@ -3,6 +3,7 @@
33 #include <dt-bindings/clock/bcm2835-aux.h>
44 #include <dt-bindings/gpio/gpio.h>
55 #include <dt-bindings/interrupt-controller/irq.h>
6
+#include <dt-bindings/soc/bcm2835-pm.h>
67
78 /* firmware-provided startup stubs live here, where the secondary CPUs are
89 * spinning.
....@@ -17,7 +18,6 @@
1718 / {
1819 compatible = "brcm,bcm2835";
1920 model = "BCM2835";
20
- interrupt-parent = <&intc>;
2121 #address-cells = <1>;
2222 #size-cells = <1>;
2323
....@@ -30,12 +30,23 @@
3030 stdout-path = "serial0:115200n8";
3131 };
3232
33
+ rmem: reserved-memory {
34
+ #address-cells = <1>;
35
+ #size-cells = <1>;
36
+ ranges;
37
+
38
+ cma: linux,cma {
39
+ compatible = "shared-dma-pool";
40
+ size = <0x4000000>; /* 64MB */
41
+ reusable;
42
+ linux,cma-default;
43
+ };
44
+ };
45
+
3346 thermal-zones {
3447 cpu_thermal: cpu-thermal {
3548 polling-delay-passive = <0>;
3649 polling-delay = <1000>;
37
-
38
- thermal-sensors = <&thermal>;
3950
4051 trips {
4152 cpu-crit {
....@@ -55,7 +66,7 @@
5566 #address-cells = <1>;
5667 #size-cells = <1>;
5768
58
- timer@7e003000 {
69
+ system_timer: timer@7e003000 {
5970 compatible = "brcm,bcm2835-system-timer";
6071 reg = <0x7e003000 0x1000>;
6172 interrupts = <1 0>, <1 1>, <1 2>, <1 3>;
....@@ -66,63 +77,10 @@
6677 clock-frequency = <1000000>;
6778 };
6879
69
- txp@7e004000 {
80
+ txp: txp@7e004000 {
7081 compatible = "brcm,bcm2835-txp";
7182 reg = <0x7e004000 0x20>;
7283 interrupts = <1 11>;
73
- };
74
-
75
- dma: dma@7e007000 {
76
- compatible = "brcm,bcm2835-dma";
77
- reg = <0x7e007000 0xf00>;
78
- interrupts = <1 16>,
79
- <1 17>,
80
- <1 18>,
81
- <1 19>,
82
- <1 20>,
83
- <1 21>,
84
- <1 22>,
85
- <1 23>,
86
- <1 24>,
87
- <1 25>,
88
- <1 26>,
89
- /* dma channel 11-14 share one irq */
90
- <1 27>,
91
- <1 27>,
92
- <1 27>,
93
- <1 27>,
94
- /* unused shared irq for all channels */
95
- <1 28>;
96
- interrupt-names = "dma0",
97
- "dma1",
98
- "dma2",
99
- "dma3",
100
- "dma4",
101
- "dma5",
102
- "dma6",
103
- "dma7",
104
- "dma8",
105
- "dma9",
106
- "dma10",
107
- "dma11",
108
- "dma12",
109
- "dma13",
110
- "dma14",
111
- "dma-shared-all";
112
- #dma-cells = <1>;
113
- brcm,dma-channel-mask = <0x7f35>;
114
- };
115
-
116
- intc: interrupt-controller@7e00b200 {
117
- compatible = "brcm,bcm2835-armctrl-ic";
118
- reg = <0x7e00b200 0x200>;
119
- interrupt-controller;
120
- #interrupt-cells = <2>;
121
- };
122
-
123
- watchdog@7e100000 {
124
- compatible = "brcm,bcm2835-pm-wdt";
125
- reg = <0x7e100000 0x28>;
12684 };
12785
12886 clocks: cprman@7e101000 {
....@@ -137,12 +95,6 @@
13795 clocks = <&clk_osc>,
13896 <&dsi0 0>, <&dsi0 1>, <&dsi0 2>,
13997 <&dsi1 0>, <&dsi1 1>, <&dsi1 2>;
140
- };
141
-
142
- rng@7e104000 {
143
- compatible = "brcm,bcm2835-rng";
144
- reg = <0x7e104000 0x10>;
145
- interrupts = <2 29>;
14698 };
14799
148100 mailbox: mailbox@7e00b880 {
....@@ -174,8 +126,9 @@
174126 interrupt-controller;
175127 #interrupt-cells = <2>;
176128
177
- /* Defines pin muxing groups according to
178
- * BCM2835-ARM-Peripherals.pdf page 102.
129
+ gpio-ranges = <&gpio 0 0 54>;
130
+
131
+ /* Defines common pin muxing groups
179132 *
180133 * While each pin can have its mux selected
181134 * for various functions individually, some
....@@ -253,15 +206,7 @@
253206 brcm,pins = <44 45>;
254207 brcm,function = <BCM2835_FSEL_ALT2>;
255208 };
256
- i2c_slave_gpio18: i2c_slave_gpio18 {
257
- brcm,pins = <18 19 20 21>;
258
- brcm,function = <BCM2835_FSEL_ALT3>;
259
- };
260209
261
- jtag_gpio4: jtag_gpio4 {
262
- brcm,pins = <4 5 6 12 13>;
263
- brcm,function = <BCM2835_FSEL_ALT5>;
264
- };
265210 jtag_gpio22: jtag_gpio22 {
266211 brcm,pins = <22 23 24 25 26 27>;
267212 brcm,function = <BCM2835_FSEL_ALT4>;
....@@ -274,35 +219,6 @@
274219 pcm_gpio28: pcm_gpio28 {
275220 brcm,pins = <28 29 30 31>;
276221 brcm,function = <BCM2835_FSEL_ALT2>;
277
- };
278
-
279
- pwm0_gpio12: pwm0_gpio12 {
280
- brcm,pins = <12>;
281
- brcm,function = <BCM2835_FSEL_ALT0>;
282
- };
283
- pwm0_gpio18: pwm0_gpio18 {
284
- brcm,pins = <18>;
285
- brcm,function = <BCM2835_FSEL_ALT5>;
286
- };
287
- pwm0_gpio40: pwm0_gpio40 {
288
- brcm,pins = <40>;
289
- brcm,function = <BCM2835_FSEL_ALT0>;
290
- };
291
- pwm1_gpio13: pwm1_gpio13 {
292
- brcm,pins = <13>;
293
- brcm,function = <BCM2835_FSEL_ALT0>;
294
- };
295
- pwm1_gpio19: pwm1_gpio19 {
296
- brcm,pins = <19>;
297
- brcm,function = <BCM2835_FSEL_ALT5>;
298
- };
299
- pwm1_gpio41: pwm1_gpio41 {
300
- brcm,pins = <41>;
301
- brcm,function = <BCM2835_FSEL_ALT0>;
302
- };
303
- pwm1_gpio45: pwm1_gpio45 {
304
- brcm,pins = <45>;
305
- brcm,function = <BCM2835_FSEL_ALT0>;
306222 };
307223
308224 sdhost_gpio48: sdhost_gpio48 {
....@@ -386,8 +302,8 @@
386302 };
387303
388304 uart0: serial@7e201000 {
389
- compatible = "brcm,bcm2835-pl011", "arm,pl011", "arm,primecell";
390
- reg = <0x7e201000 0x1000>;
305
+ compatible = "arm,pl011", "arm,primecell";
306
+ reg = <0x7e201000 0x200>;
391307 interrupts = <2 25>;
392308 clocks = <&clocks BCM2835_CLOCK_UART>,
393309 <&clocks BCM2835_CLOCK_VPU>;
....@@ -400,8 +316,6 @@
400316 reg = <0x7e202000 0x100>;
401317 interrupts = <2 24>;
402318 clocks = <&clocks BCM2835_CLOCK_VPU>;
403
- dmas = <&dma 13>;
404
- dma-names = "rx-tx";
405319 status = "disabled";
406320 };
407321
....@@ -409,16 +323,12 @@
409323 compatible = "brcm,bcm2835-i2s";
410324 reg = <0x7e203000 0x24>;
411325 clocks = <&clocks BCM2835_CLOCK_PCM>;
412
-
413
- dmas = <&dma 2>,
414
- <&dma 3>;
415
- dma-names = "tx", "rx";
416326 status = "disabled";
417327 };
418328
419329 spi: spi@7e204000 {
420330 compatible = "brcm,bcm2835-spi";
421
- reg = <0x7e204000 0x1000>;
331
+ reg = <0x7e204000 0x200>;
422332 interrupts = <2 22>;
423333 clocks = <&clocks BCM2835_CLOCK_VPU>;
424334 #address-cells = <1>;
....@@ -428,24 +338,12 @@
428338
429339 i2c0: i2c@7e205000 {
430340 compatible = "brcm,bcm2835-i2c";
431
- reg = <0x7e205000 0x1000>;
341
+ reg = <0x7e205000 0x200>;
432342 interrupts = <2 21>;
433343 clocks = <&clocks BCM2835_CLOCK_VPU>;
434344 #address-cells = <1>;
435345 #size-cells = <0>;
436346 status = "disabled";
437
- };
438
-
439
- pixelvalve@7e206000 {
440
- compatible = "brcm,bcm2835-pixelvalve0";
441
- reg = <0x7e206000 0x100>;
442
- interrupts = <2 13>; /* pwa0 */
443
- };
444
-
445
- pixelvalve@7e207000 {
446
- compatible = "brcm,bcm2835-pixelvalve1";
447
- reg = <0x7e207000 0x100>;
448
- interrupts = <2 14>; /* pwa1 */
449347 };
450348
451349 dpi: dpi@7e208000 {
....@@ -476,14 +374,6 @@
476374 "dsi0_ddr2",
477375 "dsi0_ddr";
478376
479
- status = "disabled";
480
- };
481
-
482
- thermal: thermal@7e212000 {
483
- compatible = "brcm,bcm2835-thermal";
484
- reg = <0x7e212000 0x8>;
485
- clocks = <&clocks BCM2835_CLOCK_TSENS>;
486
- #thermal-sensor-cells = <0>;
487377 status = "disabled";
488378 };
489379
....@@ -532,7 +422,7 @@
532422 status = "disabled";
533423 };
534424
535
- sdhci: sdhci@7e300000 {
425
+ sdhci: mmc@7e300000 {
536426 compatible = "brcm,bcm2835-sdhci";
537427 reg = <0x7e300000 0x100>;
538428 interrupts = <2 30>;
....@@ -576,41 +466,11 @@
576466 status = "disabled";
577467 };
578468
579
- i2c2: i2c@7e805000 {
580
- compatible = "brcm,bcm2835-i2c";
581
- reg = <0x7e805000 0x1000>;
582
- interrupts = <2 21>;
583
- clocks = <&clocks BCM2835_CLOCK_VPU>;
584
- #address-cells = <1>;
585
- #size-cells = <0>;
586
- status = "disabled";
587
- };
588
-
589469 vec: vec@7e806000 {
590470 compatible = "brcm,bcm2835-vec";
591471 reg = <0x7e806000 0x1000>;
592472 clocks = <&clocks BCM2835_CLOCK_VEC>;
593473 interrupts = <2 27>;
594
- status = "disabled";
595
- };
596
-
597
- pixelvalve@7e807000 {
598
- compatible = "brcm,bcm2835-pixelvalve2";
599
- reg = <0x7e807000 0x100>;
600
- interrupts = <2 10>; /* pixelvalve */
601
- };
602
-
603
- hdmi: hdmi@7e902000 {
604
- compatible = "brcm,bcm2835-hdmi";
605
- reg = <0x7e902000 0x600>,
606
- <0x7e808000 0x100>;
607
- interrupts = <2 8>, <2 9>;
608
- ddc = <&i2c2>;
609
- clocks = <&clocks BCM2835_PLLH_PIX>,
610
- <&clocks BCM2835_CLOCK_HSM>;
611
- clock-names = "pixel", "hdmi";
612
- dmas = <&dma 17>;
613
- dma-names = "audio-rx";
614474 status = "disabled";
615475 };
616476
....@@ -625,35 +485,19 @@
625485 phys = <&usbphy>;
626486 phy-names = "usb2-phy";
627487 };
628
-
629
- v3d: v3d@7ec00000 {
630
- compatible = "brcm,bcm2835-v3d";
631
- reg = <0x7ec00000 0x1000>;
632
- interrupts = <1 10>;
633
- };
634
-
635
- vc4: gpu {
636
- compatible = "brcm,bcm2835-vc4";
637
- };
638488 };
639489
640490 clocks {
641
- compatible = "simple-bus";
642
- #address-cells = <1>;
643
- #size-cells = <0>;
644
-
645491 /* The oscillator is the root of the clock tree. */
646
- clk_osc: clock@3 {
492
+ clk_osc: clk-osc {
647493 compatible = "fixed-clock";
648
- reg = <3>;
649494 #clock-cells = <0>;
650495 clock-output-names = "osc";
651496 clock-frequency = <19200000>;
652497 };
653498
654
- clk_usb: clock@4 {
499
+ clk_usb: clk-usb {
655500 compatible = "fixed-clock";
656
- reg = <4>;
657501 #clock-cells = <0>;
658502 clock-output-names = "otg";
659503 clock-frequency = <480000000>;