1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
3 * Copyright (C) 2015 Marvell Technology Group Ltd.
5 * Author: Jisheng Zhang <jszhang@marvell.com>
8 #include <dt-bindings/interrupt-controller/arm-gic.h>
11 compatible = "marvell,berlin4ct", "marvell,berlin";
12 interrupt-parent = <&gic>;
21 compatible = "arm,psci-1.0", "arm,psci-0.2";
30 compatible = "arm,cortex-a53";
33 enable-method = "psci";
34 next-level-cache = <&l2>;
35 cpu-idle-states = <&CPU_SLEEP_0>;
39 compatible = "arm,cortex-a53";
42 enable-method = "psci";
43 next-level-cache = <&l2>;
44 cpu-idle-states = <&CPU_SLEEP_0>;
48 compatible = "arm,cortex-a53";
51 enable-method = "psci";
52 next-level-cache = <&l2>;
53 cpu-idle-states = <&CPU_SLEEP_0>;
57 compatible = "arm,cortex-a53";
60 enable-method = "psci";
61 next-level-cache = <&l2>;
62 cpu-idle-states = <&CPU_SLEEP_0>;
70 entry-method = "psci";
71 CPU_SLEEP_0: cpu-sleep-0 {
72 compatible = "arm,idle-state";
74 arm,psci-suspend-param = <0x0010000>;
75 entry-latency-us = <75>;
76 exit-latency-us = <155>;
77 min-residency-us = <1000>;
83 compatible = "fixed-clock";
85 clock-frequency = <25000000>;
89 compatible = "arm,cortex-a53-pmu", "arm,armv8-pmuv3";
90 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>,
91 <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
92 <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
93 <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
94 interrupt-affinity = <&cpu0>,
101 compatible = "arm,armv8-timer";
102 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
103 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
104 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
105 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
109 compatible = "simple-bus";
110 #address-cells = <1>;
112 ranges = <0 0 0xf7000000 0x1000000>;
114 gic: interrupt-controller@901000 {
115 compatible = "arm,gic-400";
116 #interrupt-cells = <3>;
117 interrupt-controller;
118 reg = <0x901000 0x1000>,
122 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
126 compatible = "simple-bus";
127 #address-cells = <1>;
130 ranges = <0 0xe80000 0x10000>;
131 interrupt-parent = <&aic>;
134 compatible = "snps,dw-apb-gpio";
135 reg = <0x0400 0x400>;
136 #address-cells = <1>;
140 compatible = "snps,dw-apb-gpio-port";
143 snps,nr-gpios = <32>;
145 interrupt-controller;
146 #interrupt-cells = <2>;
152 compatible = "snps,dw-apb-gpio";
153 reg = <0x0800 0x400>;
154 #address-cells = <1>;
158 compatible = "snps,dw-apb-gpio-port";
161 snps,nr-gpios = <32>;
163 interrupt-controller;
164 #interrupt-cells = <2>;
170 compatible = "snps,dw-apb-gpio";
171 reg = <0x0c00 0x400>;
172 #address-cells = <1>;
176 compatible = "snps,dw-apb-gpio-port";
179 snps,nr-gpios = <32>;
181 interrupt-controller;
182 #interrupt-cells = <2>;
188 compatible = "snps,dw-apb-gpio";
189 reg = <0x1000 0x400>;
190 #address-cells = <1>;
194 compatible = "snps,dw-apb-gpio-port";
197 snps,nr-gpios = <32>;
199 interrupt-controller;
200 #interrupt-cells = <2>;
205 aic: interrupt-controller@3800 {
206 compatible = "snps,dw-apb-ictl";
208 interrupt-controller;
209 #interrupt-cells = <1>;
210 interrupt-parent = <&gic>;
211 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
215 soc_pinctrl: pin-controller@ea8000 {
216 compatible = "marvell,berlin4ct-soc-pinctrl";
217 reg = <0xea8000 0x14>;
220 avio_pinctrl: pin-controller@ea8400 {
221 compatible = "marvell,berlin4ct-avio-pinctrl";
222 reg = <0xea8400 0x8>;
226 compatible = "simple-bus";
227 #address-cells = <1>;
229 ranges = <0 0xfc0000 0x10000>;
230 interrupt-parent = <&sic>;
232 sic: interrupt-controller@1000 {
233 compatible = "snps,dw-apb-ictl";
235 interrupt-controller;
236 #interrupt-cells = <1>;
237 interrupt-parent = <&gic>;
238 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
241 wdt0: watchdog@3000 {
242 compatible = "snps,dw-wdt";
243 reg = <0x3000 0x100>;
248 wdt1: watchdog@4000 {
249 compatible = "snps,dw-wdt";
250 reg = <0x4000 0x100>;
255 wdt2: watchdog@5000 {
256 compatible = "snps,dw-wdt";
257 reg = <0x5000 0x100>;
262 sm_gpio0: gpio@8000 {
263 compatible = "snps,dw-apb-gpio";
264 reg = <0x8000 0x400>;
265 #address-cells = <1>;
269 compatible = "snps,dw-apb-gpio-port";
272 snps,nr-gpios = <32>;
277 sm_gpio1: gpio@9000 {
278 compatible = "snps,dw-apb-gpio";
279 reg = <0x9000 0x400>;
280 #address-cells = <1>;
284 compatible = "snps,dw-apb-gpio-port";
287 snps,nr-gpios = <32>;
293 compatible = "snps,dw-apb-uart";
294 reg = <0xd000 0x100>;
299 pinctrl-0 = <&uart0_pmux>;
300 pinctrl-names = "default";
304 system_pinctrl: pin-controller@fe2200 {
305 compatible = "marvell,berlin4ct-system-pinctrl";
306 reg = <0xfe2200 0xc>;
308 uart0_pmux: uart0-pmux {
309 groups = "SM_URT0_TXD", "SM_URT0_RXD";