beri-netfpga.dts revision 270061
1/*-
2 * Copyright (c) 2012-2013 Robert N. M. Watson
3 * Copyright (c) 2013 SRI International
4 * Copyright (c) 2013-2014 Bjoern A. Zeeb
5 * All rights reserved.
6 *
7 * This software was developed by SRI International and the University of
8 * Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237)
9 * ("CTSRD"), as part of the DARPA CRASH research programme.
10 *
11 * This software was developed by SRI International and the University of
12 * Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-11-C-0249)
13 * ("MRC2"), as part of the DARPA MRC research programme.
14 *
15 * Redistribution and use in source and binary forms, with or without
16 * modification, are permitted provided that the following conditions
17 * are met:
18 * 1. Redistributions of source code must retain the above copyright
19 *    notice, this list of conditions and the following disclaimer.
20 * 2. Redistributions in binary form must reproduce the above copyright
21 *    notice, this list of conditions and the following disclaimer in the
22 *    documentation and/or other materials provided with the distribution.
23 *
24 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
25 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 * SUCH DAMAGE.
35 *
36 * $FreeBSD: stable/10/sys/boot/fdt/dts/mips/beri-netfpga.dts 270061 2014-08-16 14:30:46Z bz $
37 */
38
39/dts-v1/;
40
41/*
42 * Device names here have been largely made up on the spot, especially for the
43 * "compatible" strings, and might want to be revised.
44 */
45
46/ {
47	model = "SRI/Cambridge Beri (NetFPGA)";
48	compatible = "sri-cambridge,beri-netfpga";
49	#address-cells = <1>;
50	#size-cells = <1>;
51
52	cpus {
53		#address-cells = <1>;
54		#size-cells = <1>;
55
56		/*
57		 * Secondary CPUs all start disabled and use the
58		 * spin-table enable method.  cpu-release-addr must be
59		 * specified for each cpu other than cpu@0.  Values of
60		 * cpu-release-addr grow down from 0x100000 (kernel).
61		 */
62		status = "disabled";
63		enable-method = "spin-table";
64
65		cpu@0 {
66			device-type = "cpu";
67			compatible = "sri-cambridge,beri";
68
69			reg = <0 1>;
70			status = "okay";
71		};
72
73/*
74		cpu@1 {
75			device-type = "cpu";
76			compatible = "sri-cambridge,beri";
77
78			reg = <1 1>;
79			// XXX: should we need cached prefix?
80			cpu-release-addr = <0xffffffff 0x800fffe0>;
81		};
82*/
83	};
84
85	soc {
86		#address-cells = <1>;
87		#size-cells = <1>;
88		#interrupt-cells = <1>;
89
90		/*
91		 * Declare mips,mips4k since BERI doesn't (yet) have a PIC, so
92		 * we use mips4k coprocessor 0 interrupt management directly.
93		 */
94		compatible = "simple-bus", "mips,mips4k";
95		ranges = <>;
96
97		memory {
98			device_type = "memory";
99			reg = <0x0 0x0FFFFFFF>;		// ~256M at 0x0
100		};
101
102		beripic: beripic@7f804000 {
103			compatible = "sri-cambridge,beri-pic";
104			interrupt-controller;
105			#address-cells = <0>;
106			#interrupt-cells = <1>;
107			reg = <0x7f804000 0x400
108			       0x7f806000 0x10
109			       0x7f806080 0x10
110			       0x7f806100 0x10>;
111			interrupts = <0 1 2 3 4>;
112			hard-interrupt-sources = <64>;
113			soft-interrupt-sources = <64>;
114		};
115
116		serial0: serial@7f000000 {
117			compatible = "altera,jtag_uart-11_0";
118			reg = <0x7f000000 0x40>;
119			interrupts = <0>;
120			interrupt-parent = <&beripic>;
121		};
122
123/*
124		serial0: serial@7f002100 {
125			compatible = "ns16550";
126			reg = <0x7f002100 0x20>;
127			reg-shift = <2>;
128			clock-frequency = <100000000>;
129			interrupts = <8>;
130			interrupt-parent = <&beripic>;
131		};
132*/
133
134		ethernet@7f005000 {
135			compatible = "netfpag10g,nf10bmac";
136			// LOOP, TX, RX, INTR
137			reg = <0x7f005000 0x20
138			       0x7f005020 0x30
139			       0x7f005050 0x30
140			       0x7f005100 0x10>;
141			// RX
142			interrupts = <1>;
143			interrupt-parent = <&beripic>;
144		};
145	};
146
147	aliases { 
148		serial0 = &serial0;
149	};
150
151	chosen {
152		stdin = "serial0";
153		stdout = "serial0";
154		bootargs = "-v";
155	};
156};
157