1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3 * Copyright (c) 2017 Andreas Färber
6 #include <dt-bindings/clock/actions,s900-cmu.h>
7 #include <dt-bindings/gpio/gpio.h>
8 #include <dt-bindings/interrupt-controller/arm-gic.h>
9 #include <dt-bindings/reset/actions,s900-reset.h>
12 compatible = "actions,s900";
13 interrupt-parent = <&gic>;
23 compatible = "arm,cortex-a53";
25 enable-method = "psci";
30 compatible = "arm,cortex-a53";
32 enable-method = "psci";
37 compatible = "arm,cortex-a53";
39 enable-method = "psci";
44 compatible = "arm,cortex-a53";
46 enable-method = "psci";
56 reg = <0x0 0x1f000000 0x0 0x1000000>;
62 compatible = "arm,psci-0.2";
67 compatible = "arm,cortex-a53-pmu";
68 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
69 <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
70 <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
71 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
72 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
76 compatible = "arm,armv8-timer";
77 interrupts = <GIC_PPI 13
78 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
80 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
82 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
84 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
88 compatible = "fixed-clock";
89 clock-frequency = <24000000>;
94 compatible = "fixed-clock";
95 clock-frequency = <32768>;
100 compatible = "fixed-clock";
101 clock-frequency = <24000000>;
106 compatible = "simple-bus";
107 #address-cells = <2>;
111 gic: interrupt-controller@e00f1000 {
112 compatible = "arm,gic-400";
113 reg = <0x0 0xe00f1000 0x0 0x1000>,
114 <0x0 0xe00f2000 0x0 0x2000>,
115 <0x0 0xe00f4000 0x0 0x2000>,
116 <0x0 0xe00f6000 0x0 0x2000>;
117 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
118 interrupt-controller;
119 #interrupt-cells = <3>;
122 uart0: serial@e0120000 {
123 compatible = "actions,s900-uart", "actions,owl-uart";
124 reg = <0x0 0xe0120000 0x0 0x2000>;
125 clocks = <&cmu CLK_UART0>;
126 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
130 uart1: serial@e0122000 {
131 compatible = "actions,s900-uart", "actions,owl-uart";
132 reg = <0x0 0xe0122000 0x0 0x2000>;
133 clocks = <&cmu CLK_UART1>;
134 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
138 uart2: serial@e0124000 {
139 compatible = "actions,s900-uart", "actions,owl-uart";
140 reg = <0x0 0xe0124000 0x0 0x2000>;
141 clocks = <&cmu CLK_UART2>;
142 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
146 uart3: serial@e0126000 {
147 compatible = "actions,s900-uart", "actions,owl-uart";
148 reg = <0x0 0xe0126000 0x0 0x2000>;
149 clocks = <&cmu CLK_UART3>;
150 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
154 uart4: serial@e0128000 {
155 compatible = "actions,s900-uart", "actions,owl-uart";
156 reg = <0x0 0xe0128000 0x0 0x2000>;
157 clocks = <&cmu CLK_UART4>;
158 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
162 uart5: serial@e012a000 {
163 compatible = "actions,s900-uart", "actions,owl-uart";
164 reg = <0x0 0xe012a000 0x0 0x2000>;
165 clocks = <&cmu CLK_UART5>;
166 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
170 uart6: serial@e012c000 {
171 compatible = "actions,s900-uart", "actions,owl-uart";
172 reg = <0x0 0xe012c000 0x0 0x2000>;
173 clocks = <&cmu CLK_UART6>;
174 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
178 sps: power-controller@e012e000 {
179 compatible = "actions,s900-sps";
180 reg = <0x0 0xe012e000 0x0 0x2000>;
181 #power-domain-cells = <1>;
184 cmu: clock-controller@e0160000 {
185 compatible = "actions,s900-cmu";
186 reg = <0x0 0xe0160000 0x0 0x1000>;
187 clocks = <&hosc>, <&losc>;
193 compatible = "actions,s900-i2c";
194 reg = <0 0xe0170000 0 0x1000>;
195 clocks = <&cmu CLK_I2C0>;
196 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
197 #address-cells = <1>;
203 compatible = "actions,s900-i2c";
204 reg = <0 0xe0172000 0 0x1000>;
205 clocks = <&cmu CLK_I2C1>;
206 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
207 #address-cells = <1>;
213 compatible = "actions,s900-i2c";
214 reg = <0 0xe0174000 0 0x1000>;
215 clocks = <&cmu CLK_I2C2>;
216 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
217 #address-cells = <1>;
223 compatible = "actions,s900-i2c";
224 reg = <0 0xe0176000 0 0x1000>;
225 clocks = <&cmu CLK_I2C3>;
226 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
227 #address-cells = <1>;
233 compatible = "actions,s900-i2c";
234 reg = <0 0xe0178000 0 0x1000>;
235 clocks = <&cmu CLK_I2C4>;
236 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
237 #address-cells = <1>;
243 compatible = "actions,s900-i2c";
244 reg = <0 0xe017a000 0 0x1000>;
245 clocks = <&cmu CLK_I2C5>;
246 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
247 #address-cells = <1>;
252 pinctrl: pinctrl@e01b0000 {
253 compatible = "actions,s900-pinctrl";
254 reg = <0x0 0xe01b0000 0x0 0x1000>;
255 clocks = <&cmu CLK_GPIO>;
257 gpio-ranges = <&pinctrl 0 0 146>;
259 interrupt-controller;
260 #interrupt-cells = <2>;
261 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
262 <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
263 <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
264 <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
265 <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
266 <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
269 timer: timer@e0228000 {
270 compatible = "actions,s900-timer";
271 reg = <0x0 0xe0228000 0x0 0x8000>;
272 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
273 interrupt-names = "timer1";
276 dma: dma-controller@e0260000 {
277 compatible = "actions,s900-dma";
278 reg = <0x0 0xe0260000 0x0 0x1000>;
279 interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
280 <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
281 <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
282 <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
286 clocks = <&cmu CLK_DMAC>;
290 compatible = "actions,owl-mmc";
291 reg = <0x0 0xe0330000 0x0 0x4000>;
292 interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
293 clocks = <&cmu CLK_SD0>;
294 resets = <&cmu RESET_SD0>;
301 compatible = "actions,owl-mmc";
302 reg = <0x0 0xe0334000 0x0 0x4000>;
303 interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
304 clocks = <&cmu CLK_SD1>;
305 resets = <&cmu RESET_SD1>;
312 compatible = "actions,owl-mmc";
313 reg = <0x0 0xe0338000 0x0 0x4000>;
314 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
315 clocks = <&cmu CLK_SD2>;
316 resets = <&cmu RESET_SD2>;
323 compatible = "actions,owl-mmc";
324 reg = <0x0 0xe033c000 0x0 0x4000>;
325 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
326 clocks = <&cmu CLK_SD3>;
327 resets = <&cmu RESET_SD3>;