blob: f7da39453d2f369f3c9a34872208e2bf639cfcae [file] [log] [blame]
Thomas Petazzoni9ae6f742012-06-13 19:01:28 +02001/*
2 * Device Tree Include file for Marvell Armada 370 and Armada XP SoC
3 *
4 * Copyright (C) 2012 Marvell
5 *
6 * Lior Amsalem <alior@marvell.com>
7 * Gregory CLEMENT <gregory.clement@free-electrons.com>
8 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
9 * Ben Dooks <ben.dooks@codethink.co.uk>
10 *
11 * This file is licensed under the terms of the GNU General Public
12 * License version 2. This program is licensed "as is" without any
13 * warranty of any kind, whether express or implied.
14 *
15 * This file contains the definitions that are common to the Armada
16 * 370 and Armada XP SoC.
17 */
18
Gregory CLEMENT74898362013-04-12 16:29:10 +020019/include/ "skeleton64.dtsi"
Thomas Petazzoni9ae6f742012-06-13 19:01:28 +020020
21/ {
22 model = "Marvell Armada 370 and XP SoC";
Thomas Petazzoni92ece1c2012-11-09 16:29:17 +010023 compatible = "marvell,armada-370-xp";
Thomas Petazzoni9ae6f742012-06-13 19:01:28 +020024
Willy Tarreaube5a9382013-06-03 18:47:36 +020025 aliases {
26 eth0 = &eth0;
27 eth1 = &eth1;
28 };
29
Thomas Petazzoni9ae6f742012-06-13 19:01:28 +020030 cpus {
31 cpu@0 {
32 compatible = "marvell,sheeva-v7";
33 };
34 };
35
Thomas Petazzoni9ae6f742012-06-13 19:01:28 +020036 soc {
37 #address-cells = <1>;
38 #size-cells = <1>;
39 compatible = "simple-bus";
40 interrupt-parent = <&mpic>;
Gregory CLEMENT74898362013-04-12 16:29:10 +020041 ranges = <0 0 0xd0000000 0x100000>;
Thomas Petazzoni9ae6f742012-06-13 19:01:28 +020042
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020043 internal-regs {
44 compatible = "simple-bus";
45 #address-cells = <1>;
46 #size-cells = <1>;
47 ranges;
48
49 mpic: interrupt-controller@20000 {
Gregory CLEMENT82a68262013-04-12 16:29:08 +020050 compatible = "marvell,mpic";
51 #interrupt-cells = <1>;
52 #size-cells = <1>;
53 interrupt-controller;
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020054 };
Thomas Petazzonib18ea4d2013-04-12 16:29:07 +020055
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020056 coherency-fabric@20200 {
Gregory CLEMENT82a68262013-04-12 16:29:08 +020057 compatible = "marvell,coherency-fabric";
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020058 reg = <0x20200 0xb0>, <0x21810 0x1c>;
59 };
Thomas Petazzonib18ea4d2013-04-12 16:29:07 +020060
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020061 serial@12000 {
Gregory CLEMENTb24212f2012-12-04 18:04:59 +010062 compatible = "snps,dw-apb-uart";
Gregory CLEMENT82a68262013-04-12 16:29:08 +020063 reg = <0x12000 0x100>;
Thomas Petazzoni9ae6f742012-06-13 19:01:28 +020064 reg-shift = <2>;
65 interrupts = <41>;
Heikki Krogeruse3661542013-03-06 11:23:33 +010066 reg-io-width = <1>;
Thomas Petazzoni9ae6f742012-06-13 19:01:28 +020067 status = "disabled";
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020068 };
69 serial@12100 {
Gregory CLEMENTb24212f2012-12-04 18:04:59 +010070 compatible = "snps,dw-apb-uart";
Gregory CLEMENT82a68262013-04-12 16:29:08 +020071 reg = <0x12100 0x100>;
Thomas Petazzoni9ae6f742012-06-13 19:01:28 +020072 reg-shift = <2>;
73 interrupts = <42>;
Heikki Krogeruse3661542013-03-06 11:23:33 +010074 reg-io-width = <1>;
Thomas Petazzoni9ae6f742012-06-13 19:01:28 +020075 status = "disabled";
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020076 };
Thomas Petazzoni9ae6f742012-06-13 19:01:28 +020077
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020078 timer@20300 {
79 compatible = "marvell,armada-370-xp-timer";
80 reg = <0x20300 0x30>, <0x21040 0x30>;
81 interrupts = <37>, <38>, <39>, <40>, <5>, <6>;
82 clocks = <&coreclk 2>;
83 };
Thomas Petazzoni5b40bae2012-09-11 14:27:30 +020084
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020085 sata@a0000 {
86 compatible = "marvell,orion-sata";
87 reg = <0xa0000 0x2400>;
88 interrupts = <55>;
89 clocks = <&gateclk 15>, <&gateclk 30>;
90 clock-names = "0", "1";
91 status = "disabled";
92 };
Gregory CLEMENTa6a6de12012-10-26 14:30:47 +020093
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020094 mdio {
95 #address-cells = <1>;
96 #size-cells = <0>;
97 compatible = "marvell,orion-mdio";
98 reg = <0x72004 0x4>;
99 };
Thomas Petazzoni323c1012012-09-04 15:06:43 +0200100
Willy Tarreaube5a9382013-06-03 18:47:36 +0200101 eth0: ethernet@70000 {
Thomas Petazzoni323c1012012-09-04 15:06:43 +0200102 compatible = "marvell,armada-370-neta";
Gregory CLEMENT82a68262013-04-12 16:29:08 +0200103 reg = <0x70000 0x2500>;
Thomas Petazzoni323c1012012-09-04 15:06:43 +0200104 interrupts = <8>;
Thomas Petazzoni4aa935a2012-11-19 14:18:09 +0100105 clocks = <&gateclk 4>;
Thomas Petazzoni323c1012012-09-04 15:06:43 +0200106 status = "disabled";
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200107 };
Thomas Petazzoni323c1012012-09-04 15:06:43 +0200108
Willy Tarreaube5a9382013-06-03 18:47:36 +0200109 eth1: ethernet@74000 {
Thomas Petazzoni323c1012012-09-04 15:06:43 +0200110 compatible = "marvell,armada-370-neta";
Gregory CLEMENT82a68262013-04-12 16:29:08 +0200111 reg = <0x74000 0x2500>;
Thomas Petazzoni323c1012012-09-04 15:06:43 +0200112 interrupts = <10>;
Thomas Petazzoni4aa935a2012-11-19 14:18:09 +0100113 clocks = <&gateclk 3>;
Thomas Petazzoni323c1012012-09-04 15:06:43 +0200114 status = "disabled";
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200115 };
Nobuhiro Iwamatsu539eb5b2012-10-30 19:41:23 +0900116
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200117 i2c0: i2c@11000 {
118 compatible = "marvell,mv64xxx-i2c";
119 reg = <0x11000 0x20>;
120 #address-cells = <1>;
121 #size-cells = <0>;
122 interrupts = <31>;
123 timeout-ms = <1000>;
124 clocks = <&coreclk 0>;
125 status = "disabled";
126 };
Nobuhiro Iwamatsu539eb5b2012-10-30 19:41:23 +0900127
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200128 i2c1: i2c@11100 {
129 compatible = "marvell,mv64xxx-i2c";
130 reg = <0x11100 0x20>;
131 #address-cells = <1>;
132 #size-cells = <0>;
133 interrupts = <32>;
134 timeout-ms = <1000>;
135 clocks = <&coreclk 0>;
136 status = "disabled";
137 };
Gregory CLEMENT0db98542012-12-12 10:06:24 +0100138
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200139 rtc@10300 {
140 compatible = "marvell,orion-rtc";
141 reg = <0x10300 0x20>;
142 interrupts = <50>;
143 };
Thomas Petazzoni42bb5312012-12-21 15:49:04 +0100144
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200145 mvsdio@d4000 {
146 compatible = "marvell,orion-sdio";
147 reg = <0xd4000 0x200>;
148 interrupts = <54>;
149 clocks = <&gateclk 17>;
Simon Baatzd87b5fb2013-05-13 23:18:58 +0200150 bus-width = <4>;
151 cap-sdio-irq;
152 cap-sd-highspeed;
153 cap-mmc-highspeed;
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200154 status = "disabled";
155 };
Ezequiel Garciab2bb8062013-01-23 12:26:30 -0300156
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200157 usb@50000 {
158 compatible = "marvell,orion-ehci";
159 reg = <0x50000 0x500>;
160 interrupts = <45>;
161 status = "disabled";
162 };
Ezequiel Garciab2bb8062013-01-23 12:26:30 -0300163
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200164 usb@51000 {
165 compatible = "marvell,orion-ehci";
166 reg = <0x51000 0x500>;
167 interrupts = <46>;
168 status = "disabled";
169 };
Ezequiel Garciab2bb8062013-01-23 12:26:30 -0300170
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200171 spi0: spi@10600 {
172 compatible = "marvell,orion-spi";
173 reg = <0x10600 0x28>;
174 #address-cells = <1>;
175 #size-cells = <0>;
176 cell-index = <0>;
177 interrupts = <30>;
178 clocks = <&coreclk 0>;
179 status = "disabled";
180 };
Ezequiel Garciad5dc0352013-02-06 10:06:21 -0300181
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200182 spi1: spi@10680 {
183 compatible = "marvell,orion-spi";
184 reg = <0x10680 0x28>;
185 #address-cells = <1>;
186 #size-cells = <0>;
187 cell-index = <1>;
188 interrupts = <92>;
189 clocks = <&coreclk 0>;
190 status = "disabled";
191 };
Ezequiel Garcia3d76e1f2013-04-10 16:04:01 -0300192
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200193 devbus-bootcs@10400 {
194 compatible = "marvell,mvebu-devbus";
195 reg = <0x10400 0x8>;
196 #address-cells = <1>;
197 #size-cells = <1>;
198 clocks = <&coreclk 0>;
199 status = "disabled";
200 };
Ezequiel Garcia3d76e1f2013-04-10 16:04:01 -0300201
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200202 devbus-cs0@10408 {
203 compatible = "marvell,mvebu-devbus";
204 reg = <0x10408 0x8>;
205 #address-cells = <1>;
206 #size-cells = <1>;
207 clocks = <&coreclk 0>;
208 status = "disabled";
209 };
Ezequiel Garcia3d76e1f2013-04-10 16:04:01 -0300210
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200211 devbus-cs1@10410 {
212 compatible = "marvell,mvebu-devbus";
213 reg = <0x10410 0x8>;
214 #address-cells = <1>;
215 #size-cells = <1>;
216 clocks = <&coreclk 0>;
217 status = "disabled";
218 };
Ezequiel Garcia3d76e1f2013-04-10 16:04:01 -0300219
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200220 devbus-cs2@10418 {
221 compatible = "marvell,mvebu-devbus";
222 reg = <0x10418 0x8>;
223 #address-cells = <1>;
224 #size-cells = <1>;
225 clocks = <&coreclk 0>;
226 status = "disabled";
227 };
Ezequiel Garcia3d76e1f2013-04-10 16:04:01 -0300228
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200229 devbus-cs3@10420 {
230 compatible = "marvell,mvebu-devbus";
231 reg = <0x10420 0x8>;
232 #address-cells = <1>;
233 #size-cells = <1>;
234 clocks = <&coreclk 0>;
235 status = "disabled";
236 };
Ezequiel Garcia3d76e1f2013-04-10 16:04:01 -0300237 };
Thomas Petazzoni9ae6f742012-06-13 19:01:28 +0200238 };
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200239 };