1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3 * Copyright (c) 2017 Andreas Färber
6 #include <dt-bindings/clock/actions,s700-cmu.h>
7 #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>
12 compatible = "actions,s700";
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 = "simple-bus";
101 #address-cells = <2>;
105 gic: interrupt-controller@e00f1000 {
106 compatible = "arm,gic-400";
107 reg = <0x0 0xe00f1000 0x0 0x1000>,
108 <0x0 0xe00f2000 0x0 0x2000>,
109 <0x0 0xe00f4000 0x0 0x2000>,
110 <0x0 0xe00f6000 0x0 0x2000>;
111 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
112 interrupt-controller;
113 #interrupt-cells = <3>;
116 uart0: serial@e0120000 {
117 compatible = "actions,s900-uart", "actions,owl-uart";
118 reg = <0x0 0xe0120000 0x0 0x2000>;
119 clocks = <&cmu CLK_UART0>;
120 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
124 uart1: serial@e0122000 {
125 compatible = "actions,s900-uart", "actions,owl-uart";
126 reg = <0x0 0xe0122000 0x0 0x2000>;
127 clocks = <&cmu CLK_UART1>;
128 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
132 uart2: serial@e0124000 {
133 compatible = "actions,s900-uart", "actions,owl-uart";
134 reg = <0x0 0xe0124000 0x0 0x2000>;
135 clocks = <&cmu CLK_UART2>;
136 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
140 uart3: serial@e0126000 {
141 compatible = "actions,s900-uart", "actions,owl-uart";
142 reg = <0x0 0xe0126000 0x0 0x2000>;
143 clocks = <&cmu CLK_UART3>;
144 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
148 uart4: serial@e0128000 {
149 compatible = "actions,s900-uart", "actions,owl-uart";
150 reg = <0x0 0xe0128000 0x0 0x2000>;
151 clocks = <&cmu CLK_UART4>;
152 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
156 uart5: serial@e012a000 {
157 compatible = "actions,s900-uart", "actions,owl-uart";
158 reg = <0x0 0xe012a000 0x0 0x2000>;
159 clocks = <&cmu CLK_UART5>;
160 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
164 uart6: serial@e012c000 {
165 compatible = "actions,s900-uart", "actions,owl-uart";
166 reg = <0x0 0xe012c000 0x0 0x2000>;
167 clocks = <&cmu CLK_UART6>;
168 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
172 cmu: clock-controller@e0168000 {
173 compatible = "actions,s700-cmu";
174 reg = <0x0 0xe0168000 0x0 0x1000>;
175 clocks = <&hosc>, <&losc>;
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>;
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>;
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>;
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>;
220 sps: power-controller@e01b0100 {
221 compatible = "actions,s700-sps";
222 reg = <0x0 0xe01b0100 0x0 0x100>;
223 #power-domain-cells = <1>;
226 timer: timer@e024c000 {
227 compatible = "actions,s700-timer";
228 reg = <0x0 0xe024c000 0x0 0x4000>;
229 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
230 interrupt-names = "timer1";
233 pinctrl: pinctrl@e01b0000 {
234 compatible = "actions,s700-pinctrl";
235 reg = <0x0 0xe01b0000 0x0 0x100>;
236 clocks = <&cmu CLK_GPIO>;
238 gpio-ranges = <&pinctrl 0 0 136>;
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>;
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>;
259 clocks = <&cmu CLK_DMAC>;
260 power-domains = <&sps S700_PD_DMA>;