hc
2024-10-12 a5969cabbb4660eab42b6ef0412cbbd1200cf14d
kernel/arch/arm64/boot/dts/realtek/rtd129x.dtsi
....@@ -1,61 +1,112 @@
1
+// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
12 /*
23 * Realtek RTD1293/RTD1295/RTD1296 SoC
34 *
4
- * Copyright (c) 2016-2017 Andreas Färber
5
- *
6
- * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
5
+ * Copyright (c) 2016-2019 Andreas Färber
76 */
87
9
-/memreserve/ 0x0000000000000000 0x0000000000030000;
10
-/memreserve/ 0x000000000001f000 0x0000000000001000;
11
-/memreserve/ 0x0000000000030000 0x00000000000d0000;
8
+/memreserve/ 0x0000000000000000 0x000000000001f000;
9
+/memreserve/ 0x000000000001f000 0x00000000000e1000;
1210 /memreserve/ 0x0000000001b00000 0x00000000004be000;
13
-/memreserve/ 0x0000000001ffe000 0x0000000000004000;
1411
1512 #include <dt-bindings/interrupt-controller/arm-gic.h>
13
+#include <dt-bindings/reset/realtek,rtd1295.h>
1614
1715 / {
1816 interrupt-parent = <&gic>;
1917 #address-cells = <1>;
2018 #size-cells = <1>;
2119
20
+ reserved-memory {
21
+ #address-cells = <1>;
22
+ #size-cells = <1>;
23
+ ranges;
24
+
25
+ rpc_comm: rpc@1f000 {
26
+ reg = <0x1f000 0x1000>;
27
+ };
28
+
29
+ rpc_ringbuf: rpc@1ffe000 {
30
+ reg = <0x1ffe000 0x4000>;
31
+ };
32
+
33
+ tee: tee@10100000 {
34
+ reg = <0x10100000 0xf00000>;
35
+ no-map;
36
+ };
37
+ };
38
+
2239 arm_pmu: arm-pmu {
2340 compatible = "arm,cortex-a53-pmu";
2441 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
42
+ };
43
+
44
+ osc27M: osc {
45
+ compatible = "fixed-clock";
46
+ clock-frequency = <27000000>;
47
+ #clock-cells = <0>;
48
+ clock-output-names = "osc27M";
2549 };
2650
2751 soc {
2852 compatible = "simple-bus";
2953 #address-cells = <1>;
3054 #size-cells = <1>;
31
- /* Exclude up to 2 GiB of RAM */
32
- ranges = <0x80000000 0x80000000 0x80000000>;
55
+ ranges = <0x00000000 0x00000000 0x0001f000>, /* boot ROM */
56
+ /* Exclude up to 2 GiB of RAM */
57
+ <0x80000000 0x80000000 0x80000000>;
3358
34
- uart0: serial@98007800 {
35
- compatible = "snps,dw-apb-uart";
36
- reg = <0x98007800 0x400>;
37
- reg-shift = <2>;
38
- reg-io-width = <4>;
39
- clock-frequency = <27000000>;
40
- status = "disabled";
41
- };
59
+ rbus: bus@98000000 {
60
+ compatible = "simple-bus";
61
+ reg = <0x98000000 0x200000>;
62
+ #address-cells = <1>;
63
+ #size-cells = <1>;
64
+ ranges = <0x0 0x98000000 0x200000>;
4265
43
- uart1: serial@9801b200 {
44
- compatible = "snps,dw-apb-uart";
45
- reg = <0x9801b200 0x100>;
46
- reg-shift = <2>;
47
- reg-io-width = <4>;
48
- clock-frequency = <432000000>;
49
- status = "disabled";
50
- };
66
+ crt: syscon@0 {
67
+ compatible = "syscon", "simple-mfd";
68
+ reg = <0x0 0x1800>;
69
+ reg-io-width = <4>;
70
+ #address-cells = <1>;
71
+ #size-cells = <1>;
72
+ ranges = <0x0 0x0 0x1800>;
73
+ };
5174
52
- uart2: serial@9801b400 {
53
- compatible = "snps,dw-apb-uart";
54
- reg = <0x9801b400 0x100>;
55
- reg-shift = <2>;
56
- reg-io-width = <4>;
57
- clock-frequency = <432000000>;
58
- status = "disabled";
75
+ iso: syscon@7000 {
76
+ compatible = "syscon", "simple-mfd";
77
+ reg = <0x7000 0x1000>;
78
+ reg-io-width = <4>;
79
+ #address-cells = <1>;
80
+ #size-cells = <1>;
81
+ ranges = <0x0 0x7000 0x1000>;
82
+ };
83
+
84
+ sb2: syscon@1a000 {
85
+ compatible = "syscon", "simple-mfd";
86
+ reg = <0x1a000 0x1000>;
87
+ reg-io-width = <4>;
88
+ #address-cells = <1>;
89
+ #size-cells = <1>;
90
+ ranges = <0x0 0x1a000 0x1000>;
91
+ };
92
+
93
+ misc: syscon@1b000 {
94
+ compatible = "syscon", "simple-mfd";
95
+ reg = <0x1b000 0x1000>;
96
+ reg-io-width = <4>;
97
+ #address-cells = <1>;
98
+ #size-cells = <1>;
99
+ ranges = <0x0 0x1b000 0x1000>;
100
+ };
101
+
102
+ scpu_wrapper: syscon@1d000 {
103
+ compatible = "syscon", "simple-mfd";
104
+ reg = <0x1d000 0x2000>;
105
+ reg-io-width = <4>;
106
+ #address-cells = <1>;
107
+ #size-cells = <1>;
108
+ ranges = <0x0 0x1d000 0x2000>;
109
+ };
59110 };
60111
61112 gic: interrupt-controller@ff011000 {
....@@ -70,3 +121,75 @@
70121 };
71122 };
72123 };
124
+
125
+&crt {
126
+ reset1: reset-controller@0 {
127
+ compatible = "snps,dw-low-reset";
128
+ reg = <0x0 0x4>;
129
+ #reset-cells = <1>;
130
+ };
131
+
132
+ reset2: reset-controller@4 {
133
+ compatible = "snps,dw-low-reset";
134
+ reg = <0x4 0x4>;
135
+ #reset-cells = <1>;
136
+ };
137
+
138
+ reset3: reset-controller@8 {
139
+ compatible = "snps,dw-low-reset";
140
+ reg = <0x8 0x4>;
141
+ #reset-cells = <1>;
142
+ };
143
+
144
+ reset4: reset-controller@50 {
145
+ compatible = "snps,dw-low-reset";
146
+ reg = <0x50 0x4>;
147
+ #reset-cells = <1>;
148
+ };
149
+};
150
+
151
+&iso {
152
+ iso_reset: reset-controller@88 {
153
+ compatible = "snps,dw-low-reset";
154
+ reg = <0x88 0x4>;
155
+ #reset-cells = <1>;
156
+ };
157
+
158
+ wdt: watchdog@680 {
159
+ compatible = "realtek,rtd1295-watchdog";
160
+ reg = <0x680 0x100>;
161
+ clocks = <&osc27M>;
162
+ };
163
+
164
+ uart0: serial@800 {
165
+ compatible = "snps,dw-apb-uart";
166
+ reg = <0x800 0x400>;
167
+ reg-shift = <2>;
168
+ reg-io-width = <4>;
169
+ clock-frequency = <27000000>;
170
+ resets = <&iso_reset RTD1295_ISO_RSTN_UR0>;
171
+ status = "disabled";
172
+ };
173
+};
174
+
175
+&misc {
176
+ uart1: serial@200 {
177
+ compatible = "snps,dw-apb-uart";
178
+ reg = <0x200 0x100>;
179
+ reg-shift = <2>;
180
+ reg-io-width = <4>;
181
+ clock-frequency = <432000000>;
182
+ resets = <&reset2 RTD1295_RSTN_UR1>;
183
+ status = "disabled";
184
+ };
185
+
186
+ uart2: serial@400 {
187
+ compatible = "snps,dw-apb-uart";
188
+ reg = <0x400 0x100>;
189
+ reg-shift = <2>;
190
+ reg-io-width = <4>;
191
+ clock-frequency = <432000000>;
192
+ resets = <&reset2 RTD1295_RSTN_UR2>;
193
+ status = "disabled";
194
+ };
195
+};