1 /*
2 * Copyright (c) 2013 Ian Lepore
3 * Copyright (c) 2010 The FreeBSD Foundation
4 * All rights reserved.
5 *
6 * This software substantially based on work developed by Semihalf
7 * under sponsorship from the FreeBSD Foundation.
8 *
9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions
11 * are met:
12 * 1. Redistributions of source code must retain the above copyright
13 * notice, this list of conditions and the following disclaimer.
14 * 2. Redistributions in binary form must reproduce the above copyright
15 * notice, this list of conditions and the following disclaimer in the
16 * documentation and/or other materials provided with the distribution.
17 *
18 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
19 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
22 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 * SUCH DAMAGE.
29 *
30 * GlobalScale Technologies DreamPlug Device Tree Source.
31 *
32 * This source is for version 10 revision 01 units with NOR SPI flash.
33 * These units are marked "1001" on the serial number label.
34 *
35 * $FreeBSD$
36 */
37
38 /dts-v1/;
39
40 / {
41 model = "GlobalScale Technologies Dreamplug v1001";
42 compatible = "globalscale,dreamplug-003-ds2001", "globalscale,dreamplug", "marvell,kirkwood-88f6281", "marvell,kirkwood";
43 #address-cells = <1>;
44 #size-cells = <1>;
45
46 aliases {
47 ethernet0 = &enet0;
48 ethernet1 = &enet1;
49 mpp = &MPP;
50 serial0 = &serial0;
51 serial1 = &serial1;
52 soc = &SOC;
53 sram = &SRAM;
54 };
55
56 cpus {
57 #address-cells = <1>;
58 #size-cells = <0>;
59
60 cpu@0 {
61 device_type = "cpu";
62 compatible = "ARM,88FR131";
63 reg = <0x0>;
64 d-cache-line-size = <32>; // 32 bytes
65 i-cache-line-size = <32>; // 32 bytes
66 d-cache-size = <0x4000>; // L1, 16K
67 i-cache-size = <0x4000>; // L1, 16K
68 timebase-frequency = <0>;
69 bus-frequency = <0>;
70 clock-frequency = <0>;
71 };
72
73 };
74
75 memory {
76 device_type = "memory";
77 reg = <0x0 0x20000000>; // 512M at 0x0
78 };
79
80 localbus@0 {
81 #address-cells = <2>;
82 #size-cells = <1>;
83 compatible = "mrvl,lbc";
84 bank-count = <1>;
85
86 /* This reflects CPU decode windows setup. */
87 ranges = <0x0 0x1e 0xfa000000 0x00100000>;
88
89 nor@0,0 {
90 #address-cells = <1>;
91 #size-cells = <1>;
92 compatible = "cfi-flash";
93 reg = <0x0 0x0 0x00100000>;
94 bank-width = <2>;
95 device-width = <1>;
96 };
97 };
98
99 SOC: soc88f6281@f1000000 {
100 #address-cells = <1>;
101 #size-cells = <1>;
102 compatible = "simple-bus";
103 ranges = <0x0 0xf1000000 0x00100000>;
104 bus-frequency = <0>;
105
106 PIC: pic@20200 {
107 interrupt-controller;
108 #address-cells = <0>;
109 #interrupt-cells = <1>;
110 reg = <0x20200 0x3c>;
111 compatible = "mrvl,pic";
112 };
113
114 timer@20300 {
115 compatible = "mrvl,timer";
116 reg = <0x20300 0x30>;
117 interrupts = <1>;
118 interrupt-parent = <&PIC>;
119 mrvl,has-wdt;
120 };
121
122 MPP: mpp@10000 {
123 #pin-cells = <2>;
124 compatible = "mrvl,mpp";
125 reg = <0x10000 0x34>;
126 pin-count = <50>;
127 pin-map = <
128 0 2 /* MPP[ 0]: SPI_SCn */
129 1 2 /* MPP[ 1]: SPI_MOSI */
130 2 2 /* MPP[ 2]: SPI_SCK */
131 3 2 /* MPP[ 3]: SPI_MISO */
132 4 1 /* MPP[ 4]: NF_IO[6] */
133 5 1 /* MPP[ 5]: NF_IO[7] */
134 6 1 /* MPP[ 6]: SYSRST_OUTn */
135 7 0 /* MPP[ 7]: GPO[7] */
136 8 1 /* MPP[ 8]: TW_SDA */
137 9 1 /* MPP[ 9]: TW_SCK */
138 10 3 /* MPP[10]: UA0_TXD */
139 11 3 /* MPP[11]: US0_RXD */
140 12 1 /* MPP[12]: SD_CLK */
141 13 1 /* MPP[13]: SD_CMD */
142 14 1 /* MPP[14]: SD_D[0] */
143 15 1 /* MPP[15]: SD_D[1] */
144 16 1 /* MPP[16]: SD_D[2] */
145 17 1 /* MPP[17]: SD_D[3] */
146 18 1 /* MPP[18]: NF_IO[0] */
147 19 1 /* MPP[19]: NF_IO[1] */
148 20 3 /* MPP[20]: GE1[ 0] */
149 21 3 /* MPP[21]: GE1[ 1] */
150 22 3 /* MPP[22]: GE1[ 2] */
151 23 3 /* MPP[23]: GE1[ 3] */
152 24 3 /* MPP[24]: GE1[ 4] */
153 25 3 /* MPP[25]: GE1[ 5] */
154 26 3 /* MPP[26]: GE1[ 6] */
155 27 3 /* MPP[27]: GE1[ 7] */
156 28 3 /* MPP[28]: GE1[ 8] */
157 29 3 /* MPP[29]: GE1[ 9] */
158 30 3 /* MPP[30]: GE1[10] */
159 31 3 /* MPP[31]: GE1[11] */
160 32 3 /* MPP[32]: GE1[12] */
161 33 3 /* MPP[33]: GE1[13] */
162 34 3 /* MPP[34]: GE1[14] */
163 35 3 /* MPP[35]: GE1[15] */
164 36 0 /* MPP[36]: GPIO[36] */
165 37 0 /* MPP[37]: GPIO[37] */
166 38 0 /* MPP[38]: GPIO[38] */
167 39 0 /* MPP[39]: GPIO[39] */
168 40 2 /* MPP[40]: TDM_SPI_SCK */
169 41 2 /* MPP[41]: TDM_SPI_MISO */
170 42 2 /* MPP[42]: TDM_SPI_MOSI */
171 43 0 /* MPP[43]: GPIO[43] */
172 44 0 /* MPP[44]: GPIO[44] */
173 45 0 /* MPP[45]: GPIO[45] */
174 46 0 /* MPP[46]: GPIO[46] */
175 47 0 /* MPP[47]: GPIO[47] */
176 48 0 /* MPP[48]: GPIO[48] */
177 49 0 /* MPP[49]: GPIO[49] */
178 >;
179 };
180
181 GPIO: gpio@10100 {
182 #gpio-cells = <3>;
183 compatible = "mrvl,gpio";
184 reg = <0x10100 0x20>;
185 gpio-controller;
186 interrupts = <35 36 37 38 39 40 41>;
187 interrupt-parent = <&PIC>;
188 pin-count = <50>;
189 };
190
191 gpioled@0 {
192 compatible = "mrvl,gpioled";
193
194 gpios = <&GPIO 47 2 0 /* GPIO[47] BT LED: OUT */
195 &GPIO 48 2 0 /* GPIO[48] WLAN LED: OUT */
196 &GPIO 49 2 0>; /* GPIO[49] WLAN AP LED: OUT */
197 };
198
199 rtc@10300 {
200 compatible = "mrvl,rtc";
201 reg = <0x10300 0x08>;
202 };
203
204 twsi@11000 {
205 #address-cells = <1>;
206 #size-cells = <0>;
207 compatible = "mrvl,twsi";
208 reg = <0x11000 0x20>;
209 interrupts = <43>;
210 interrupt-parent = <&PIC>;
211 };
212
213 enet0: ethernet@72000 {
214 #address-cells = <1>;
215 #size-cells = <1>;
216 model = "V2";
217 compatible = "mrvl,ge";
218 reg = <0x72000 0x2000>;
219 ranges = <0x0 0x72000 0x2000>;
220 local-mac-address = [ 00 00 00 00 00 00 ];
221 interrupts = <12 13 14 11 46>;
222 interrupt-parent = <&PIC>;
223 phy-handle = <&phy0>;
224
225 mdio@0 {
226 #address-cells = <1>;
227 #size-cells = <0>;
228 compatible = "mrvl,mdio";
229
230 phy0: ethernet-phy@0 {
231 reg = <0x0>;
232 };
233
234 phy1: ethernet-phy@1 {
235 reg = <0x1>;
236 };
237 };
238 };
239
240 enet1: ethernet@76000 {
241 #address-cells = <1>;
242 #size-cells = <1>;
243 model = "V2";
244 compatible = "mrvl,ge";
245 reg = <0x76000 0x02000>;
246 ranges = <0x0 0x76000 0x2000>;
247 local-mac-address = [ 00 00 00 00 00 00 ];
248 interrupts = <16 17 18 15 47>;
249 interrupt-parent = <&PIC>;
250 phy-handle = <&phy1>;
251 };
252
253 serial0: serial@12000 {
254 compatible = "ns16550";
255 reg = <0x12000 0x20>;
256 reg-shift = <2>;
257 clock-frequency = <0>;
258 interrupts = <33>;
259 interrupt-parent = <&PIC>;
260 };
261
262 serial1: serial@12100 {
263 compatible = "ns16550";
264 reg = <0x12100 0x20>;
265 reg-shift = <2>;
266 clock-frequency = <0>;
267 interrupts = <34>;
268 interrupt-parent = <&PIC>;
269 };
270
271 crypto@30000 {
272 compatible = "mrvl,cesa";
273 reg = <0x30000 0x1000 /* tdma base reg chan 0 */
274 0x3D000 0x1000>; /* cesa base reg chan 0 */
275 interrupts = <22>;
276 interrupt-parent = <&PIC>;
277
278 sram-handle = <&SRAM>;
279 };
280
281 usb@50000 {
282 compatible = "mrvl,usb-ehci", "usb-ehci";
283 reg = <0x50000 0x1000>;
284 interrupts = <48 19>;
285 interrupt-parent = <&PIC>;
286 };
287
288 xor@60000 {
289 compatible = "mrvl,xor";
290 reg = <0x60000 0x1000>;
291 interrupts = <5 6 7 8>;
292 interrupt-parent = <&PIC>;
293 };
294
295 sata@80000 {
296 compatible = "mrvl,sata";
297 reg = <0x80000 0x6000>;
298 interrupts = <21>;
299 interrupt-parent = <&PIC>;
300 };
301
302 sdio@90000 {
303 compatible = "mrvl,sdio";
304 reg = <0x90000 0x134>;
305 interrupts = <28>;
306 interrupt-parent = <&PIC>;
307 };
308 };
309
310 SRAM: sram@fd000000 {
311 compatible = "mrvl,cesa-sram";
312 reg = <0xfd000000 0x00100000>;
313 };
314
315 chosen {
316 stdin = "serial0";
317 stdout = "serial0";
318 };
319
320 };
Cache object: d060ae667e2a304dcc121186e5226922
|