2 * Device Tree Include file for Marvell Armada 1500-mini (Berlin BG2CD) SoC
4 * Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
6 * based on GPL'ed 2.6 kernel sources
7 * (c) Marvell International Ltd.
9 * This file is licensed under the terms of the GNU General Public
10 * License version 2. This program is licensed "as is" without any
11 * warranty of any kind, whether express or implied.
14 #include "skeleton.dtsi"
15 #include <dt-bindings/clock/berlin2.h>
16 #include <dt-bindings/interrupt-controller/arm-gic.h>
19 model = "Marvell Armada 1500-mini (BG2CD) SoC";
20 compatible = "marvell,berlin2cd", "marvell,berlin";
27 compatible = "arm,cortex-a9";
29 next-level-cache = <&l2>;
35 compatible = "fixed-clock";
37 clock-frequency = <25000000>;
41 compatible = "simple-bus";
44 interrupt-parent = <&gic>;
46 ranges = <0 0xf7000000 0x1000000>;
48 sdhci0: sdhci@ab0000 {
49 compatible = "mrvl,pxav3-mmc";
50 reg = <0xab0000 0x200>;
51 clocks = <&chip CLKID_SDIO0XIN>, <&chip CLKID_SDIO0>;
52 clock-names = "io", "core";
53 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
57 l2: l2-cache-controller@ac0000 {
58 compatible = "arm,pl310-cache";
59 reg = <0xac0000 0x1000>;
64 gic: interrupt-controller@ad1000 {
65 compatible = "arm,cortex-a9-gic";
66 reg = <0xad1000 0x1000>, <0xad0100 0x0100>;
68 #interrupt-cells = <3>;
72 compatible = "arm,cortex-a9-twd-timer";
73 reg = <0xad0600 0x20>;
74 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>;
75 clocks = <&chip CLKID_TWD>;
78 usb_phy0: usb-phy@b74000 {
79 compatible = "marvell,berlin2cd-usb-phy";
80 reg = <0xb74000 0x128>;
82 resets = <&chip 0x178 23>;
86 usb_phy1: usb-phy@b78000 {
87 compatible = "marvell,berlin2cd-usb-phy";
88 reg = <0xb78000 0x128>;
90 resets = <&chip 0x178 24>;
94 eth1: ethernet@b90000 {
95 compatible = "marvell,pxa168-eth";
96 reg = <0xb90000 0x10000>;
97 clocks = <&chip CLKID_GETH1>;
98 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
99 /* set by bootloader */
100 local-mac-address = [00 00 00 00 00 00];
101 #address-cells = <1>;
103 phy-connection-type = "mii";
104 phy-handle = <ðphy1>;
107 ethphy1: ethernet-phy@0 {
112 eth0: ethernet@e50000 {
113 compatible = "marvell,pxa168-eth";
114 reg = <0xe50000 0x10000>;
115 clocks = <&chip CLKID_GETH0>;
116 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
117 /* set by bootloader */
118 local-mac-address = [00 00 00 00 00 00];
119 #address-cells = <1>;
121 phy-connection-type = "mii";
122 phy-handle = <ðphy0>;
125 ethphy0: ethernet-phy@0 {
131 compatible = "simple-bus";
132 #address-cells = <1>;
135 ranges = <0 0xe80000 0x10000>;
136 interrupt-parent = <&aic>;
139 compatible = "snps,dw-apb-gpio";
140 reg = <0x0400 0x400>;
141 #address-cells = <1>;
145 compatible = "snps,dw-apb-gpio-port";
150 interrupt-controller;
151 #interrupt-cells = <2>;
157 compatible = "snps,dw-apb-gpio";
158 reg = <0x0800 0x400>;
159 #address-cells = <1>;
163 compatible = "snps,dw-apb-gpio-port";
168 interrupt-controller;
169 #interrupt-cells = <2>;
175 compatible = "snps,dw-apb-gpio";
176 reg = <0x0c00 0x400>;
177 #address-cells = <1>;
181 compatible = "snps,dw-apb-gpio-port";
186 interrupt-controller;
187 #interrupt-cells = <2>;
193 compatible = "snps,dw-apb-gpio";
194 reg = <0x1000 0x400>;
195 #address-cells = <1>;
199 compatible = "snps,dw-apb-gpio-port";
204 interrupt-controller;
205 #interrupt-cells = <2>;
211 compatible = "snps,dw-apb-timer";
214 clocks = <&chip CLKID_CFG>;
215 clock-names = "timer";
220 compatible = "snps,dw-apb-timer";
223 clocks = <&chip CLKID_CFG>;
224 clock-names = "timer";
229 compatible = "snps,dw-apb-timer";
232 clocks = <&chip CLKID_CFG>;
233 clock-names = "timer";
238 compatible = "snps,dw-apb-timer";
241 clocks = <&chip CLKID_CFG>;
242 clock-names = "timer";
247 compatible = "snps,dw-apb-timer";
250 clocks = <&chip CLKID_CFG>;
251 clock-names = "timer";
256 compatible = "snps,dw-apb-timer";
259 clocks = <&chip CLKID_CFG>;
260 clock-names = "timer";
265 compatible = "snps,dw-apb-timer";
268 clocks = <&chip CLKID_CFG>;
269 clock-names = "timer";
274 compatible = "snps,dw-apb-timer";
277 clocks = <&chip CLKID_CFG>;
278 clock-names = "timer";
282 aic: interrupt-controller@3000 {
283 compatible = "snps,dw-apb-ictl";
284 reg = <0x3000 0xc00>;
285 interrupt-controller;
286 #interrupt-cells = <1>;
287 interrupt-parent = <&gic>;
288 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
292 chip: chip-control@ea0000 {
293 compatible = "marvell,berlin2cd-chip-ctrl";
296 reg = <0xea0000 0x400>;
298 clock-names = "refclk";
300 uart0_pmux: uart0-pmux {
307 compatible = "chipidea,usb2";
308 reg = <0xed0000 0x200>;
309 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
310 clocks = <&chip CLKID_USB0>;
312 phy-names = "usb-phy";
317 compatible = "chipidea,usb2";
318 reg = <0xee0000 0x200>;
319 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
320 clocks = <&chip CLKID_USB1>;
322 phy-names = "usb-phy";
327 compatible = "simple-bus";
328 #address-cells = <1>;
331 ranges = <0 0xfc0000 0x10000>;
332 interrupt-parent = <&sic>;
334 sm_gpio1: gpio@5000 {
335 compatible = "snps,dw-apb-gpio";
336 reg = <0x5000 0x400>;
337 #address-cells = <1>;
341 compatible = "snps,dw-apb-gpio-port";
349 sm_gpio0: gpio@c000 {
350 compatible = "snps,dw-apb-gpio";
351 reg = <0xc000 0x400>;
352 #address-cells = <1>;
356 compatible = "snps,dw-apb-gpio-port";
365 compatible = "snps,dw-apb-uart";
366 reg = <0x9000 0x100>;
371 pinctrl-0 = <&uart0_pmux>;
372 pinctrl-names = "default";
377 compatible = "snps,dw-apb-uart";
378 reg = <0xa000 0x100>;
386 sysctrl: system-controller@d000 {
387 compatible = "marvell,berlin2cd-system-ctrl";
388 reg = <0xd000 0x100>;
391 sic: interrupt-controller@e000 {
392 compatible = "snps,dw-apb-ictl";
393 reg = <0xe000 0x400>;
394 interrupt-controller;
395 #interrupt-cells = <1>;
396 interrupt-parent = <&gic>;
397 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;