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>;
49 compatible = "arm,cortex-a9-pmu";
50 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
53 sdhci0: sdhci@ab0000 {
54 compatible = "mrvl,pxav3-mmc";
55 reg = <0xab0000 0x200>;
56 clocks = <&chip CLKID_SDIO0XIN>, <&chip CLKID_SDIO0>;
57 clock-names = "io", "core";
58 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
62 l2: l2-cache-controller@ac0000 {
63 compatible = "arm,pl310-cache";
64 reg = <0xac0000 0x1000>;
69 gic: interrupt-controller@ad1000 {
70 compatible = "arm,cortex-a9-gic";
71 reg = <0xad1000 0x1000>, <0xad0100 0x0100>;
73 #interrupt-cells = <3>;
77 compatible = "arm,cortex-a9-twd-timer";
78 reg = <0xad0600 0x20>;
79 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>;
80 clocks = <&chip CLKID_TWD>;
83 usb_phy0: usb-phy@b74000 {
84 compatible = "marvell,berlin2cd-usb-phy";
85 reg = <0xb74000 0x128>;
87 resets = <&chip 0x178 23>;
91 usb_phy1: usb-phy@b78000 {
92 compatible = "marvell,berlin2cd-usb-phy";
93 reg = <0xb78000 0x128>;
95 resets = <&chip 0x178 24>;
99 eth1: ethernet@b90000 {
100 compatible = "marvell,pxa168-eth";
101 reg = <0xb90000 0x10000>;
102 clocks = <&chip CLKID_GETH1>;
103 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
104 /* set by bootloader */
105 local-mac-address = [00 00 00 00 00 00];
106 #address-cells = <1>;
108 phy-connection-type = "mii";
109 phy-handle = <ðphy1>;
112 ethphy1: ethernet-phy@0 {
117 eth0: ethernet@e50000 {
118 compatible = "marvell,pxa168-eth";
119 reg = <0xe50000 0x10000>;
120 clocks = <&chip CLKID_GETH0>;
121 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
122 /* set by bootloader */
123 local-mac-address = [00 00 00 00 00 00];
124 #address-cells = <1>;
126 phy-connection-type = "mii";
127 phy-handle = <ðphy0>;
130 ethphy0: ethernet-phy@0 {
136 compatible = "simple-bus";
137 #address-cells = <1>;
140 ranges = <0 0xe80000 0x10000>;
141 interrupt-parent = <&aic>;
144 compatible = "snps,dw-apb-gpio";
145 reg = <0x0400 0x400>;
146 #address-cells = <1>;
150 compatible = "snps,dw-apb-gpio-port";
155 interrupt-controller;
156 #interrupt-cells = <2>;
162 compatible = "snps,dw-apb-gpio";
163 reg = <0x0800 0x400>;
164 #address-cells = <1>;
168 compatible = "snps,dw-apb-gpio-port";
173 interrupt-controller;
174 #interrupt-cells = <2>;
180 compatible = "snps,dw-apb-gpio";
181 reg = <0x0c00 0x400>;
182 #address-cells = <1>;
186 compatible = "snps,dw-apb-gpio-port";
191 interrupt-controller;
192 #interrupt-cells = <2>;
198 compatible = "snps,dw-apb-gpio";
199 reg = <0x1000 0x400>;
200 #address-cells = <1>;
204 compatible = "snps,dw-apb-gpio-port";
209 interrupt-controller;
210 #interrupt-cells = <2>;
216 compatible = "snps,dw-apb-timer";
219 clocks = <&chip CLKID_CFG>;
220 clock-names = "timer";
225 compatible = "snps,dw-apb-timer";
228 clocks = <&chip CLKID_CFG>;
229 clock-names = "timer";
234 compatible = "snps,dw-apb-timer";
237 clocks = <&chip CLKID_CFG>;
238 clock-names = "timer";
243 compatible = "snps,dw-apb-timer";
246 clocks = <&chip CLKID_CFG>;
247 clock-names = "timer";
252 compatible = "snps,dw-apb-timer";
255 clocks = <&chip CLKID_CFG>;
256 clock-names = "timer";
261 compatible = "snps,dw-apb-timer";
264 clocks = <&chip CLKID_CFG>;
265 clock-names = "timer";
270 compatible = "snps,dw-apb-timer";
273 clocks = <&chip CLKID_CFG>;
274 clock-names = "timer";
279 compatible = "snps,dw-apb-timer";
282 clocks = <&chip CLKID_CFG>;
283 clock-names = "timer";
287 aic: interrupt-controller@3000 {
288 compatible = "snps,dw-apb-ictl";
289 reg = <0x3000 0xc00>;
290 interrupt-controller;
291 #interrupt-cells = <1>;
292 interrupt-parent = <&gic>;
293 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
297 chip: chip-control@ea0000 {
298 compatible = "marvell,berlin2cd-chip-ctrl";
301 reg = <0xea0000 0x400>;
303 clock-names = "refclk";
305 uart0_pmux: uart0-pmux {
312 compatible = "chipidea,usb2";
313 reg = <0xed0000 0x200>;
314 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
315 clocks = <&chip CLKID_USB0>;
317 phy-names = "usb-phy";
322 compatible = "chipidea,usb2";
323 reg = <0xee0000 0x200>;
324 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
325 clocks = <&chip CLKID_USB1>;
327 phy-names = "usb-phy";
332 compatible = "simple-bus";
333 #address-cells = <1>;
336 ranges = <0 0xfc0000 0x10000>;
337 interrupt-parent = <&sic>;
339 sm_gpio1: gpio@5000 {
340 compatible = "snps,dw-apb-gpio";
341 reg = <0x5000 0x400>;
342 #address-cells = <1>;
346 compatible = "snps,dw-apb-gpio-port";
354 sm_gpio0: gpio@c000 {
355 compatible = "snps,dw-apb-gpio";
356 reg = <0xc000 0x400>;
357 #address-cells = <1>;
361 compatible = "snps,dw-apb-gpio-port";
370 compatible = "snps,dw-apb-uart";
371 reg = <0x9000 0x100>;
376 pinctrl-0 = <&uart0_pmux>;
377 pinctrl-names = "default";
382 compatible = "snps,dw-apb-uart";
383 reg = <0xa000 0x100>;
391 sysctrl: system-controller@d000 {
392 compatible = "marvell,berlin2cd-system-ctrl";
393 reg = <0xd000 0x100>;
396 sic: interrupt-controller@e000 {
397 compatible = "snps,dw-apb-ictl";
398 reg = <0xe000 0x400>;
399 interrupt-controller;
400 #interrupt-cells = <1>;
401 interrupt-parent = <&gic>;
402 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;