2 * Copyright (C) 2015 Marvell Technology Group Ltd.
4 * Author: Jisheng Zhang <jszhang@marvell.com>
6 * This file is dual-licensed: you can use it either under the terms
7 * of the GPLv2 or the X11 license, at your option. Note that this dual
8 * licensing only applies to this file, and not this project as a
11 * a) This library is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License as
13 * published by the Free Software Foundation; either version 2 of the
14 * License, or (at your option) any later version.
16 * This library is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
23 * b) Permission is hereby granted, free of charge, to any person
24 * obtaining a copy of this software and associated documentation
25 * files (the "Software"), to deal in the Software without
26 * restriction, including without limitation the rights to use,
27 * copy, modify, merge, publish, distribute, sublicense, and/or
28 * sell copies of the Software, and to permit persons to whom the
29 * Software is furnished to do so, subject to the following
32 * The above copyright notice and this permission notice shall be
33 * included in all copies or substantial portions of the Software.
35 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42 * OTHER DEALINGS IN THE SOFTWARE.
45 #include <dt-bindings/interrupt-controller/arm-gic.h>
48 compatible = "marvell,berlin4ct", "marvell,berlin";
49 interrupt-parent = <&gic>;
58 compatible = "arm,psci-0.2";
67 compatible = "arm,cortex-a53", "arm,armv8";
70 enable-method = "psci";
74 compatible = "arm,cortex-a53", "arm,armv8";
77 enable-method = "psci";
81 compatible = "arm,cortex-a53", "arm,armv8";
84 enable-method = "psci";
88 compatible = "arm,cortex-a53", "arm,armv8";
91 enable-method = "psci";
96 compatible = "fixed-clock";
98 clock-frequency = <25000000>;
102 compatible = "arm,armv8-pmuv3";
103 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>,
104 <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
105 <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
106 <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
107 interrupt-affinity = <&cpu0>,
114 compatible = "arm,armv8-timer";
115 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
116 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
117 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
118 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
122 compatible = "simple-bus";
123 #address-cells = <1>;
125 ranges = <0 0 0xf7000000 0x1000000>;
127 gic: interrupt-controller@901000 {
128 compatible = "arm,gic-400";
129 #interrupt-cells = <3>;
130 interrupt-controller;
131 reg = <0x901000 0x1000>,
135 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
139 compatible = "simple-bus";
140 #address-cells = <1>;
143 ranges = <0 0xe80000 0x10000>;
144 interrupt-parent = <&aic>;
147 compatible = "snps,dw-apb-gpio";
148 reg = <0x0400 0x400>;
149 #address-cells = <1>;
153 compatible = "snps,dw-apb-gpio-port";
156 snps,nr-gpios = <32>;
158 interrupt-controller;
159 #interrupt-cells = <2>;
165 compatible = "snps,dw-apb-gpio";
166 reg = <0x0800 0x400>;
167 #address-cells = <1>;
171 compatible = "snps,dw-apb-gpio-port";
174 snps,nr-gpios = <32>;
176 interrupt-controller;
177 #interrupt-cells = <2>;
183 compatible = "snps,dw-apb-gpio";
184 reg = <0x0c00 0x400>;
185 #address-cells = <1>;
189 compatible = "snps,dw-apb-gpio-port";
192 snps,nr-gpios = <32>;
194 interrupt-controller;
195 #interrupt-cells = <2>;
201 compatible = "snps,dw-apb-gpio";
202 reg = <0x1000 0x400>;
203 #address-cells = <1>;
207 compatible = "snps,dw-apb-gpio-port";
210 snps,nr-gpios = <32>;
212 interrupt-controller;
213 #interrupt-cells = <2>;
218 aic: interrupt-controller@3800 {
219 compatible = "snps,dw-apb-ictl";
221 interrupt-controller;
222 #interrupt-cells = <1>;
223 interrupt-parent = <&gic>;
224 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
229 compatible = "simple-bus";
230 #address-cells = <1>;
232 ranges = <0 0xfc0000 0x10000>;
233 interrupt-parent = <&sic>;
235 sic: interrupt-controller@1000 {
236 compatible = "snps,dw-apb-ictl";
238 interrupt-controller;
239 #interrupt-cells = <1>;
240 interrupt-parent = <&gic>;
241 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
244 sm_gpio0: gpio@8000 {
245 compatible = "snps,dw-apb-gpio";
246 reg = <0x8000 0x400>;
247 #address-cells = <1>;
251 compatible = "snps,dw-apb-gpio-port";
254 snps,nr-gpios = <32>;
259 sm_gpio1: gpio@9000 {
260 compatible = "snps,dw-apb-gpio";
261 reg = <0x9000 0x400>;
262 #address-cells = <1>;
266 compatible = "snps,dw-apb-gpio-port";
269 snps,nr-gpios = <32>;
275 compatible = "snps,dw-apb-uart";
276 reg = <0xd000 0x100>;