2 * Copyright (c) 2012-2013 Robert N. M. Watson
3 * Copyright (c) 2013 SRI International
6 * This software was developed by SRI International and the University of
7 * Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237)
8 * ("CTSRD"), as part of the DARPA CRASH research programme.
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in the
17 * documentation and/or other materials provided with the distribution.
19 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
20 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
23 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
37 * Device names here have been largely made up on the spot, especially for the
38 * "compatible" strings, and might want to be revised.
40 * For now, use 32-bit addressing as our Avalon bus is 32-bit. However, in
41 * the future, we should likely change to 64-bit.
45 model = "SRI/Cambridge BeriPad (DE4)";
46 compatible = "sri-cambridge,beripad-de4";
55 * Secondary CPUs all start disabled and use the
56 * spin-table enable method. cpu-release-addr must be
57 * specified for each cpu other than cpu@0. Values of
58 * cpu-release-addr grow down from 0x100000 (kernel).
61 enable-method = "spin-table";
65 compatible = "sri-cambridge,beri";
74 compatible = "sri-cambridge,beri";
77 // XXX: should we need cached prefix?
78 cpu-release-addr = <0xffffffff 0x800fffe0>;
84 device_type = "memory";
85 reg = <0x0 0x40000000>; // 1G at 0x0
90 #interrupt-cells = <1>;
92 compatible = "mti,cpu-interrupt-controller";
95 beripic0: beripic@7f804000 {
96 compatible = "sri-cambridge,beri-pic";
99 #interrupt-cells = <1>;
100 reg = <0x7f804000 0x400
104 interrupts = < 2 3 4 5 6 >;
105 hard-interrupt-sources = <64>;
106 soft-interrupt-sources = <64>;
107 interrupt-parent = <&cpuintc>;
111 beripic1: beripic@7f808000 {
112 compatible = "sri-cambridge,beri-pic";
113 interrupt-controller;
114 #address-cells = <0>;
115 #interrupt-cells = <1>;
116 reg = <0x7f808000 0x400
120 interrupts = < 2 3 4 5 6 >;
121 hard-interrupt-sources = <64>;
122 soft-interrupt-sources = <64>;
123 interrupt-parent = <&cpuintc>;
128 #address-cells = <1>;
130 #interrupt-cells = <1>;
132 compatible = "simple-bus", "mips,mips4k";
136 compatible = "ns16550";
137 reg = <0x7f002100 0x20>;
139 clock-frequency = <50000000>;
141 interrupt-parent = <&beripic0>;
145 compatible = "altera,jtag_uart-11_0";
146 reg = <0x7f000000 0x40>;
148 interrupt-parent = <&beripic0>;
152 compatible = "altera,jtag_uart-11_0";
153 reg = <0x7f001000 0x40>;
157 compatible = "altera,jtag_uart-11_0";
158 reg = <0x7f002000 0x40>;
162 compatible = "altera,sdcard_11_2011";
163 reg = <0x7f008000 0x400>;
167 compatible = "sri-cambridge,de4led";
168 reg = <0x7f006000 0x1>;
172 * XXX-BZ keep flash before ethernet so that atse can read the
173 * Ethernet addresses for now.
176 #address-cells = <1>;
178 compatible = "cfi-flash";
179 reg = <0x74000000 0x4000000>;
181 /* Board configuration */
187 /* Power up FPGA image */
189 reg = <0x20000 0xc00000>;
193 /* Secondary FPGA image (on RE_CONFIGn button) */
195 reg = <0xc20000 0xc00000>;
199 /* Space for operating system use */
201 reg = <0x1820000 0x027c0000>;
205 /* Second stage bootloader */
207 reg = <0x3fe0000 0x20000>;
212 msgdma0: msgdma@80004080 {
213 compatible = "altr,msgdma-16.0", "altr,msgdma-1.0";
214 reg = <0x80004080 0x00000020>,
215 <0x800040a0 0x00000020>;
216 reg-names = "csr", "descriptor_slave";
218 interrupt-parent = <&beripic0>;
222 msgdma1: msgdma@80004000 {
223 compatible = "altr,msgdma-16.0", "altr,msgdma-1.0";
224 reg = <0x80004000 0x00000020>,
225 <0x80004020 0x00000020>;
226 reg-names = "csr", "descriptor_slave";
228 interrupt-parent = <&beripic0>;
232 softdma0: softdma@7f007400 {
233 compatible = "altr,softdma";
234 reg = < 0x7f007400 0x8 /* tx */
235 0x7f007420 0x20 >; /* txc */
237 interrupt-parent = <&beripic0>;
241 softdma1: softdma@7f007500 {
242 compatible = "altr,softdma";
243 reg = < 0x7f007500 0x8 /* rx */
244 0x7f007520 0x20 >; /* rxc */
246 interrupt-parent = <&beripic0>;
250 softdma2: softdma@7f005400 {
251 compatible = "altr,softdma";
252 reg = < 0x7f005400 0x8 /* tx */
253 0x7f005420 0x20 >; /* txc */
255 interrupt-parent = <&beripic0>;
259 softdma3: softdma@7f005500 {
260 compatible = "altr,softdma";
261 reg = < 0x7f005500 0x8 /* rx */
262 0x7f005520 0x20 >; /* rxc */
264 interrupt-parent = <&beripic0>;
269 compatible = "altera,atse";
270 reg = <0x80007000 0x400>; /* mac */
271 dmas = <&msgdma0 0 0 0xffffffff>,
272 <&msgdma1 1 1 0xffffffff>;
273 dma-names = "tx", "rx";
278 compatible = "altera,atse";
279 reg = <0x7f007000 0x400>; /* mac */
280 dmas = <&softdma0 0 0 0xffffffff>,
281 <&softdma1 1 1 0xffffffff>;
282 dma-names = "tx", "rx";
287 compatible = "altera,atse";
288 reg = <0x7f005000 0x400>;
289 dmas = <&softdma2 0 0 0xffffffff>,
290 <&softdma3 1 1 0xffffffff>;
291 dma-names = "tx", "rx";
295 touchscreen@70400000 {
296 compatible = "sri-cambridge,mtl";
297 panel-size = < 800 480 >;
298 reg = <0x70400000 0x1000
304 compatible = "nxp,usb-isp1761";
305 reg = <0x7f100000 0x40000
307 // IRQ 4 is DC, IRQ 5 is HC.
309 interrupt-parent = <&beripic0>;
313 compatible = "sri-cambridge,avgen";
314 reg = <0x7f009000 0x2>;
315 sri-cambridge,width = <1>;
316 sri-cambridge,fileio = "r";
317 sri-cambridge,devname = "de4bsw";
321 compatible = "sri-cambridge,avgen";
322 reg = <0x7f00a000 0x14>;
323 sri-cambridge,width = <4>;
324 sri-cambridge,fileio = "rw";
325 sri-cambridge,devname = "berirom";
329 compatible = "sri-cambridge,avgen";
330 reg = <0x7f00c000 0x8>;
331 sri-cambridge,width = <4>;
332 sri-cambridge,fileio = "rw";
333 sri-cambridge,devname = "de4tempfan";