xref: /freebsd/sys/contrib/device-tree/src/mips/mti/sead3.dts (revision 5956d97f4b3204318ceb6aa9c77bd0bc6ea87a41)
1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2c66ec88fSEmmanuel Vadot/dts-v1/;
3c66ec88fSEmmanuel Vadot
4c66ec88fSEmmanuel Vadot/memreserve/ 0x00000000 0x00001000;	// reserved
5c66ec88fSEmmanuel Vadot/memreserve/ 0x00001000 0x000ef000;	// ROM data
6c66ec88fSEmmanuel Vadot/memreserve/ 0x000f0000 0x004cc000;	// reserved
7c66ec88fSEmmanuel Vadot
8c66ec88fSEmmanuel Vadot#include <dt-bindings/interrupt-controller/mips-gic.h>
9c66ec88fSEmmanuel Vadot
10c66ec88fSEmmanuel Vadot/ {
11c66ec88fSEmmanuel Vadot	#address-cells = <1>;
12c66ec88fSEmmanuel Vadot	#size-cells = <1>;
13c66ec88fSEmmanuel Vadot	compatible = "mti,sead-3";
14c66ec88fSEmmanuel Vadot	model = "MIPS SEAD-3";
15c66ec88fSEmmanuel Vadot
16c66ec88fSEmmanuel Vadot	chosen {
17c66ec88fSEmmanuel Vadot		stdout-path = "serial1:115200";
18c66ec88fSEmmanuel Vadot	};
19c66ec88fSEmmanuel Vadot
20c66ec88fSEmmanuel Vadot	aliases {
21c66ec88fSEmmanuel Vadot		serial0 = &uart0;
22c66ec88fSEmmanuel Vadot		serial1 = &uart1;
23c66ec88fSEmmanuel Vadot	};
24c66ec88fSEmmanuel Vadot
25c66ec88fSEmmanuel Vadot	cpus {
26c66ec88fSEmmanuel Vadot		cpu@0 {
27c66ec88fSEmmanuel Vadot			compatible = "mti,mips14KEc", "mti,mips14Kc";
28c66ec88fSEmmanuel Vadot		};
29c66ec88fSEmmanuel Vadot	};
30c66ec88fSEmmanuel Vadot
31c66ec88fSEmmanuel Vadot	memory {
32c66ec88fSEmmanuel Vadot		device_type = "memory";
33c66ec88fSEmmanuel Vadot		reg = <0x0 0x08000000>;
34c66ec88fSEmmanuel Vadot	};
35c66ec88fSEmmanuel Vadot
36c66ec88fSEmmanuel Vadot	cpu_intc: interrupt-controller {
37c66ec88fSEmmanuel Vadot		compatible = "mti,cpu-interrupt-controller";
38c66ec88fSEmmanuel Vadot
39c66ec88fSEmmanuel Vadot		interrupt-controller;
40c66ec88fSEmmanuel Vadot		#interrupt-cells = <1>;
41c66ec88fSEmmanuel Vadot	};
42c66ec88fSEmmanuel Vadot
43c66ec88fSEmmanuel Vadot	gic: interrupt-controller@1b1c0000 {
44c66ec88fSEmmanuel Vadot		compatible = "mti,gic";
45c66ec88fSEmmanuel Vadot		reg = <0x1b1c0000 0x20000>;
46c66ec88fSEmmanuel Vadot
47c66ec88fSEmmanuel Vadot		interrupt-controller;
48c66ec88fSEmmanuel Vadot		#interrupt-cells = <3>;
49c66ec88fSEmmanuel Vadot
50c66ec88fSEmmanuel Vadot		/*
51c66ec88fSEmmanuel Vadot		 * Declare the interrupt-parent even though the mti,gic
52c66ec88fSEmmanuel Vadot		 * binding doesn't require it, such that the kernel can
53c66ec88fSEmmanuel Vadot		 * figure out that cpu_intc is the root interrupt
54c66ec88fSEmmanuel Vadot		 * controller & should be probed first.
55c66ec88fSEmmanuel Vadot		 */
56c66ec88fSEmmanuel Vadot		interrupt-parent = <&cpu_intc>;
57c66ec88fSEmmanuel Vadot	};
58c66ec88fSEmmanuel Vadot
595def4c47SEmmanuel Vadot	usb@1b200000 {
60c66ec88fSEmmanuel Vadot		compatible = "generic-ehci";
61c66ec88fSEmmanuel Vadot		reg = <0x1b200000 0x1000>;
62c66ec88fSEmmanuel Vadot
63c66ec88fSEmmanuel Vadot		interrupt-parent = <&gic>;
64c66ec88fSEmmanuel Vadot		interrupts = <GIC_SHARED 0 IRQ_TYPE_LEVEL_HIGH>; /* GIC 0 or CPU 6 */
65c66ec88fSEmmanuel Vadot
66c66ec88fSEmmanuel Vadot		has-transaction-translator;
67c66ec88fSEmmanuel Vadot	};
68c66ec88fSEmmanuel Vadot
69c66ec88fSEmmanuel Vadot	flash@1c000000 {
70c66ec88fSEmmanuel Vadot		compatible = "intel,28f128j3", "cfi-flash";
71c66ec88fSEmmanuel Vadot		reg = <0x1c000000 0x2000000>;
72c66ec88fSEmmanuel Vadot		#address-cells = <1>;
73c66ec88fSEmmanuel Vadot		#size-cells = <1>;
74c66ec88fSEmmanuel Vadot		bank-width = <4>;
75c66ec88fSEmmanuel Vadot
76c66ec88fSEmmanuel Vadot		partitions {
77c66ec88fSEmmanuel Vadot			compatible = "fixed-partitions";
78c66ec88fSEmmanuel Vadot			#address-cells = <1>;
79c66ec88fSEmmanuel Vadot			#size-cells = <1>;
80c66ec88fSEmmanuel Vadot
81c66ec88fSEmmanuel Vadot			user-fs@0 {
82c66ec88fSEmmanuel Vadot				label = "User FS";
83c66ec88fSEmmanuel Vadot				reg = <0x0 0x1fc0000>;
84c66ec88fSEmmanuel Vadot			};
85c66ec88fSEmmanuel Vadot
86c66ec88fSEmmanuel Vadot			board-config@3e0000 {
87c66ec88fSEmmanuel Vadot				label = "Board Config";
88c66ec88fSEmmanuel Vadot				reg = <0x1fc0000 0x40000>;
89c66ec88fSEmmanuel Vadot			};
90c66ec88fSEmmanuel Vadot		};
91c66ec88fSEmmanuel Vadot	};
92c66ec88fSEmmanuel Vadot
93c66ec88fSEmmanuel Vadot	fpga_regs: system-controller@1f000000 {
94c66ec88fSEmmanuel Vadot		compatible = "mti,sead3-fpga", "syscon", "simple-mfd";
95c66ec88fSEmmanuel Vadot		reg = <0x1f000000 0x200>;
96c66ec88fSEmmanuel Vadot
97c66ec88fSEmmanuel Vadot		reboot {
98c66ec88fSEmmanuel Vadot			compatible = "syscon-reboot";
99c66ec88fSEmmanuel Vadot			regmap = <&fpga_regs>;
100c66ec88fSEmmanuel Vadot			offset = <0x50>;
101c66ec88fSEmmanuel Vadot			mask = <0x4d>;
102c66ec88fSEmmanuel Vadot		};
103c66ec88fSEmmanuel Vadot
104c66ec88fSEmmanuel Vadot		poweroff {
105c66ec88fSEmmanuel Vadot			compatible = "restart-poweroff";
106c66ec88fSEmmanuel Vadot		};
107c66ec88fSEmmanuel Vadot	};
108c66ec88fSEmmanuel Vadot
109c66ec88fSEmmanuel Vadot	system-controller@1f000200 {
110c66ec88fSEmmanuel Vadot		compatible = "mti,sead3-cpld", "syscon", "simple-mfd";
111c66ec88fSEmmanuel Vadot		reg = <0x1f000200 0x300>;
112c66ec88fSEmmanuel Vadot
113c66ec88fSEmmanuel Vadot		led@10.0 {
114c66ec88fSEmmanuel Vadot			compatible = "register-bit-led";
115c66ec88fSEmmanuel Vadot			offset = <0x10>;
116c66ec88fSEmmanuel Vadot			mask = <0x1>;
117c66ec88fSEmmanuel Vadot			label = "pled0";
118c66ec88fSEmmanuel Vadot		};
119c66ec88fSEmmanuel Vadot		led@10.1 {
120c66ec88fSEmmanuel Vadot			compatible = "register-bit-led";
121c66ec88fSEmmanuel Vadot			offset = <0x10>;
122c66ec88fSEmmanuel Vadot			mask = <0x2>;
123c66ec88fSEmmanuel Vadot			label = "pled1";
124c66ec88fSEmmanuel Vadot		};
125c66ec88fSEmmanuel Vadot		led@10.2 {
126c66ec88fSEmmanuel Vadot			compatible = "register-bit-led";
127c66ec88fSEmmanuel Vadot			offset = <0x10>;
128c66ec88fSEmmanuel Vadot			mask = <0x4>;
129c66ec88fSEmmanuel Vadot			label = "pled2";
130c66ec88fSEmmanuel Vadot		};
131c66ec88fSEmmanuel Vadot		led@10.3 {
132c66ec88fSEmmanuel Vadot			compatible = "register-bit-led";
133c66ec88fSEmmanuel Vadot			offset = <0x10>;
134c66ec88fSEmmanuel Vadot			mask = <0x8>;
135c66ec88fSEmmanuel Vadot			label = "pled3";
136c66ec88fSEmmanuel Vadot		};
137c66ec88fSEmmanuel Vadot		led@10.4 {
138c66ec88fSEmmanuel Vadot			compatible = "register-bit-led";
139c66ec88fSEmmanuel Vadot			offset = <0x10>;
140c66ec88fSEmmanuel Vadot			mask = <0x10>;
141c66ec88fSEmmanuel Vadot			label = "pled4";
142c66ec88fSEmmanuel Vadot		};
143c66ec88fSEmmanuel Vadot		led@10.5 {
144c66ec88fSEmmanuel Vadot			compatible = "register-bit-led";
145c66ec88fSEmmanuel Vadot			offset = <0x10>;
146c66ec88fSEmmanuel Vadot			mask = <0x20>;
147c66ec88fSEmmanuel Vadot			label = "pled5";
148c66ec88fSEmmanuel Vadot		};
149c66ec88fSEmmanuel Vadot		led@10.6 {
150c66ec88fSEmmanuel Vadot			compatible = "register-bit-led";
151c66ec88fSEmmanuel Vadot			offset = <0x10>;
152c66ec88fSEmmanuel Vadot			mask = <0x40>;
153c66ec88fSEmmanuel Vadot			label = "pled6";
154c66ec88fSEmmanuel Vadot		};
155c66ec88fSEmmanuel Vadot		led@10.7 {
156c66ec88fSEmmanuel Vadot			compatible = "register-bit-led";
157c66ec88fSEmmanuel Vadot			offset = <0x10>;
158c66ec88fSEmmanuel Vadot			mask = <0x80>;
159c66ec88fSEmmanuel Vadot			label = "pled7";
160c66ec88fSEmmanuel Vadot		};
161c66ec88fSEmmanuel Vadot
162c66ec88fSEmmanuel Vadot		led@18.0 {
163c66ec88fSEmmanuel Vadot			compatible = "register-bit-led";
164c66ec88fSEmmanuel Vadot			offset = <0x18>;
165c66ec88fSEmmanuel Vadot			mask = <0x1>;
166c66ec88fSEmmanuel Vadot			label = "fled0";
167c66ec88fSEmmanuel Vadot		};
168c66ec88fSEmmanuel Vadot		led@18.1 {
169c66ec88fSEmmanuel Vadot			compatible = "register-bit-led";
170c66ec88fSEmmanuel Vadot			offset = <0x18>;
171c66ec88fSEmmanuel Vadot			mask = <0x2>;
172c66ec88fSEmmanuel Vadot			label = "fled1";
173c66ec88fSEmmanuel Vadot		};
174c66ec88fSEmmanuel Vadot		led@18.2 {
175c66ec88fSEmmanuel Vadot			compatible = "register-bit-led";
176c66ec88fSEmmanuel Vadot			offset = <0x18>;
177c66ec88fSEmmanuel Vadot			mask = <0x4>;
178c66ec88fSEmmanuel Vadot			label = "fled2";
179c66ec88fSEmmanuel Vadot		};
180c66ec88fSEmmanuel Vadot		led@18.3 {
181c66ec88fSEmmanuel Vadot			compatible = "register-bit-led";
182c66ec88fSEmmanuel Vadot			offset = <0x18>;
183c66ec88fSEmmanuel Vadot			mask = <0x8>;
184c66ec88fSEmmanuel Vadot			label = "fled3";
185c66ec88fSEmmanuel Vadot		};
186c66ec88fSEmmanuel Vadot		led@18.4 {
187c66ec88fSEmmanuel Vadot			compatible = "register-bit-led";
188c66ec88fSEmmanuel Vadot			offset = <0x18>;
189c66ec88fSEmmanuel Vadot			mask = <0x10>;
190c66ec88fSEmmanuel Vadot			label = "fled4";
191c66ec88fSEmmanuel Vadot		};
192c66ec88fSEmmanuel Vadot		led@18.5 {
193c66ec88fSEmmanuel Vadot			compatible = "register-bit-led";
194c66ec88fSEmmanuel Vadot			offset = <0x18>;
195c66ec88fSEmmanuel Vadot			mask = <0x20>;
196c66ec88fSEmmanuel Vadot			label = "fled5";
197c66ec88fSEmmanuel Vadot		};
198c66ec88fSEmmanuel Vadot		led@18.6 {
199c66ec88fSEmmanuel Vadot			compatible = "register-bit-led";
200c66ec88fSEmmanuel Vadot			offset = <0x18>;
201c66ec88fSEmmanuel Vadot			mask = <0x40>;
202c66ec88fSEmmanuel Vadot			label = "fled6";
203c66ec88fSEmmanuel Vadot		};
204c66ec88fSEmmanuel Vadot		led@18.7 {
205c66ec88fSEmmanuel Vadot			compatible = "register-bit-led";
206c66ec88fSEmmanuel Vadot			offset = <0x18>;
207c66ec88fSEmmanuel Vadot			mask = <0x80>;
208c66ec88fSEmmanuel Vadot			label = "fled7";
209c66ec88fSEmmanuel Vadot		};
210c66ec88fSEmmanuel Vadot
211c66ec88fSEmmanuel Vadot		lcd@200 {
212c66ec88fSEmmanuel Vadot			compatible = "mti,sead3-lcd";
213c66ec88fSEmmanuel Vadot			offset = <0x200>;
214c66ec88fSEmmanuel Vadot		};
215c66ec88fSEmmanuel Vadot	};
216c66ec88fSEmmanuel Vadot
217c66ec88fSEmmanuel Vadot	/* UART connected to FTDI & miniUSB socket */
218c66ec88fSEmmanuel Vadot	uart0: uart@1f000900 {
219c66ec88fSEmmanuel Vadot		compatible = "ns16550a";
220c66ec88fSEmmanuel Vadot		reg = <0x1f000900 0x20>;
221c66ec88fSEmmanuel Vadot		reg-io-width = <4>;
222c66ec88fSEmmanuel Vadot		reg-shift = <2>;
223c66ec88fSEmmanuel Vadot
224c66ec88fSEmmanuel Vadot		clock-frequency = <14745600>;
225c66ec88fSEmmanuel Vadot
226c66ec88fSEmmanuel Vadot		interrupt-parent = <&gic>;
227c66ec88fSEmmanuel Vadot		interrupts = <GIC_SHARED 3 IRQ_TYPE_LEVEL_HIGH>; /* GIC 3 or CPU 4 */
228c66ec88fSEmmanuel Vadot
229c66ec88fSEmmanuel Vadot		no-loopback-test;
230c66ec88fSEmmanuel Vadot	};
231c66ec88fSEmmanuel Vadot
232c66ec88fSEmmanuel Vadot	/* UART connected to RS232 socket */
233c66ec88fSEmmanuel Vadot	uart1: uart@1f000800 {
234c66ec88fSEmmanuel Vadot		compatible = "ns16550a";
235c66ec88fSEmmanuel Vadot		reg = <0x1f000800 0x20>;
236c66ec88fSEmmanuel Vadot		reg-io-width = <4>;
237c66ec88fSEmmanuel Vadot		reg-shift = <2>;
238c66ec88fSEmmanuel Vadot
239c66ec88fSEmmanuel Vadot		clock-frequency = <14745600>;
240c66ec88fSEmmanuel Vadot
241c66ec88fSEmmanuel Vadot		interrupt-parent = <&gic>;
242c66ec88fSEmmanuel Vadot		interrupts = <GIC_SHARED 2 IRQ_TYPE_LEVEL_HIGH>; /* GIC 2 or CPU 4 */
243c66ec88fSEmmanuel Vadot
244c66ec88fSEmmanuel Vadot		no-loopback-test;
245c66ec88fSEmmanuel Vadot	};
246c66ec88fSEmmanuel Vadot
247*5956d97fSEmmanuel Vadot	ethernet@1f010000 {
248c66ec88fSEmmanuel Vadot		compatible = "smsc,lan9115";
249c66ec88fSEmmanuel Vadot		reg = <0x1f010000 0x10000>;
250c66ec88fSEmmanuel Vadot		reg-io-width = <4>;
251c66ec88fSEmmanuel Vadot
252c66ec88fSEmmanuel Vadot		interrupt-parent = <&gic>;
253c66ec88fSEmmanuel Vadot		interrupts = <GIC_SHARED 0 IRQ_TYPE_LEVEL_HIGH>; /* GIC 0 or CPU 6 */
254c66ec88fSEmmanuel Vadot
255c66ec88fSEmmanuel Vadot		phy-mode = "mii";
256c66ec88fSEmmanuel Vadot		smsc,irq-push-pull;
257c66ec88fSEmmanuel Vadot		smsc,save-mac-address;
258c66ec88fSEmmanuel Vadot	};
259c66ec88fSEmmanuel Vadot};
260