forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-10 23fa18eaa71266feff7ba8d83022d9e1cc83c65a
kernel/arch/arm64/boot/dts/actions/s700.dtsi
....@@ -3,7 +3,10 @@
33 * Copyright (c) 2017 Andreas Färber
44 */
55
6
+#include <dt-bindings/clock/actions,s700-cmu.h>
67 #include <dt-bindings/interrupt-controller/arm-gic.h>
8
+#include <dt-bindings/power/owl-s700-powergate.h>
9
+#include <dt-bindings/reset/actions,s700-reset.h>
710
811 / {
912 compatible = "actions,s700";
....@@ -17,28 +20,28 @@
1720
1821 cpu0: cpu@0 {
1922 device_type = "cpu";
20
- compatible = "arm,cortex-a53", "arm,armv8";
23
+ compatible = "arm,cortex-a53";
2124 reg = <0x0 0x0>;
2225 enable-method = "psci";
2326 };
2427
2528 cpu1: cpu@1 {
2629 device_type = "cpu";
27
- compatible = "arm,cortex-a53", "arm,armv8";
30
+ compatible = "arm,cortex-a53";
2831 reg = <0x0 0x1>;
2932 enable-method = "psci";
3033 };
3134
3235 cpu2: cpu@2 {
3336 device_type = "cpu";
34
- compatible = "arm,cortex-a53", "arm,armv8";
37
+ compatible = "arm,cortex-a53";
3538 reg = <0x0 0x2>;
3639 enable-method = "psci";
3740 };
3841
3942 cpu3: cpu@3 {
4043 device_type = "cpu";
41
- compatible = "arm,cortex-a53", "arm,armv8";
44
+ compatible = "arm,cortex-a53";
4245 reg = <0x0 0x3>;
4346 enable-method = "psci";
4447 };
....@@ -87,6 +90,12 @@
8790 #clock-cells = <0>;
8891 };
8992
93
+ losc: losc {
94
+ compatible = "fixed-clock";
95
+ clock-frequency = <32768>;
96
+ #clock-cells = <0>;
97
+ };
98
+
9099 soc {
91100 compatible = "simple-bus";
92101 #address-cells = <2>;
....@@ -107,6 +116,7 @@
107116 uart0: serial@e0120000 {
108117 compatible = "actions,s900-uart", "actions,owl-uart";
109118 reg = <0x0 0xe0120000 0x0 0x2000>;
119
+ clocks = <&cmu CLK_UART0>;
110120 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
111121 status = "disabled";
112122 };
....@@ -114,6 +124,7 @@
114124 uart1: serial@e0122000 {
115125 compatible = "actions,s900-uart", "actions,owl-uart";
116126 reg = <0x0 0xe0122000 0x0 0x2000>;
127
+ clocks = <&cmu CLK_UART1>;
117128 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
118129 status = "disabled";
119130 };
....@@ -121,6 +132,7 @@
121132 uart2: serial@e0124000 {
122133 compatible = "actions,s900-uart", "actions,owl-uart";
123134 reg = <0x0 0xe0124000 0x0 0x2000>;
135
+ clocks = <&cmu CLK_UART2>;
124136 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
125137 status = "disabled";
126138 };
....@@ -128,6 +140,7 @@
128140 uart3: serial@e0126000 {
129141 compatible = "actions,s900-uart", "actions,owl-uart";
130142 reg = <0x0 0xe0126000 0x0 0x2000>;
143
+ clocks = <&cmu CLK_UART3>;
131144 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
132145 status = "disabled";
133146 };
....@@ -135,6 +148,7 @@
135148 uart4: serial@e0128000 {
136149 compatible = "actions,s900-uart", "actions,owl-uart";
137150 reg = <0x0 0xe0128000 0x0 0x2000>;
151
+ clocks = <&cmu CLK_UART4>;
138152 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
139153 status = "disabled";
140154 };
....@@ -142,6 +156,7 @@
142156 uart5: serial@e012a000 {
143157 compatible = "actions,s900-uart", "actions,owl-uart";
144158 reg = <0x0 0xe012a000 0x0 0x2000>;
159
+ clocks = <&cmu CLK_UART5>;
145160 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
146161 status = "disabled";
147162 };
....@@ -149,7 +164,56 @@
149164 uart6: serial@e012c000 {
150165 compatible = "actions,s900-uart", "actions,owl-uart";
151166 reg = <0x0 0xe012c000 0x0 0x2000>;
167
+ clocks = <&cmu CLK_UART6>;
152168 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
169
+ status = "disabled";
170
+ };
171
+
172
+ cmu: clock-controller@e0168000 {
173
+ compatible = "actions,s700-cmu";
174
+ reg = <0x0 0xe0168000 0x0 0x1000>;
175
+ clocks = <&hosc>, <&losc>;
176
+ #clock-cells = <1>;
177
+ #reset-cells = <1>;
178
+ };
179
+
180
+ i2c0: i2c@e0170000 {
181
+ compatible = "actions,s700-i2c";
182
+ reg = <0 0xe0170000 0 0x1000>;
183
+ clocks = <&cmu CLK_I2C0>;
184
+ interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
185
+ #address-cells = <1>;
186
+ #size-cells = <0>;
187
+ status = "disabled";
188
+ };
189
+
190
+ i2c1: i2c@e0174000 {
191
+ compatible = "actions,s700-i2c";
192
+ reg = <0 0xe0174000 0 0x1000>;
193
+ clocks = <&cmu CLK_I2C1>;
194
+ interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
195
+ #address-cells = <1>;
196
+ #size-cells = <0>;
197
+ status = "disabled";
198
+ };
199
+
200
+ i2c2: i2c@e0178000 {
201
+ compatible = "actions,s700-i2c";
202
+ reg = <0 0xe0178000 0 0x1000>;
203
+ clocks = <&cmu CLK_I2C2>;
204
+ interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
205
+ #address-cells = <1>;
206
+ #size-cells = <0>;
207
+ status = "disabled";
208
+ };
209
+
210
+ i2c3: i2c@e017c000 {
211
+ compatible = "actions,s700-i2c";
212
+ reg = <0 0xe017c000 0 0x1000>;
213
+ clocks = <&cmu CLK_I2C3>;
214
+ interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
215
+ #address-cells = <1>;
216
+ #size-cells = <0>;
153217 status = "disabled";
154218 };
155219
....@@ -165,5 +229,35 @@
165229 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
166230 interrupt-names = "timer1";
167231 };
232
+
233
+ pinctrl: pinctrl@e01b0000 {
234
+ compatible = "actions,s700-pinctrl";
235
+ reg = <0x0 0xe01b0000 0x0 0x100>;
236
+ clocks = <&cmu CLK_GPIO>;
237
+ gpio-controller;
238
+ gpio-ranges = <&pinctrl 0 0 136>;
239
+ #gpio-cells = <2>;
240
+ interrupt-controller;
241
+ #interrupt-cells = <2>;
242
+ interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
243
+ <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
244
+ <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
245
+ <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
246
+ <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
247
+ };
248
+
249
+ dma: dma-controller@e0230000 {
250
+ compatible = "actions,s700-dma";
251
+ reg = <0x0 0xe0230000 0x0 0x1000>;
252
+ interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
253
+ <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
254
+ <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
255
+ <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
256
+ #dma-cells = <1>;
257
+ dma-channels = <10>;
258
+ dma-requests = <44>;
259
+ clocks = <&cmu CLK_DMAC>;
260
+ power-domains = <&sps S700_PD_DMA>;
261
+ };
168262 };
169263 };