xref: /freebsd-src/sys/contrib/device-tree/src/powerpc/asp834x-redboot.dts (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later
2*c66ec88fSEmmanuel Vadot/*
3*c66ec88fSEmmanuel Vadot * Analogue & Micro ASP8347 Device Tree Source
4*c66ec88fSEmmanuel Vadot *
5*c66ec88fSEmmanuel Vadot * Copyright 2008 Codehermit
6*c66ec88fSEmmanuel Vadot */
7*c66ec88fSEmmanuel Vadot
8*c66ec88fSEmmanuel Vadot/dts-v1/;
9*c66ec88fSEmmanuel Vadot
10*c66ec88fSEmmanuel Vadot/ {
11*c66ec88fSEmmanuel Vadot	model = "Analogue & Micro ASP8347E";
12*c66ec88fSEmmanuel Vadot	compatible = "analogue-and-micro,asp8347e";
13*c66ec88fSEmmanuel Vadot	#address-cells = <1>;
14*c66ec88fSEmmanuel Vadot	#size-cells = <1>;
15*c66ec88fSEmmanuel Vadot
16*c66ec88fSEmmanuel Vadot	aliases {
17*c66ec88fSEmmanuel Vadot		ethernet0 = &enet0;
18*c66ec88fSEmmanuel Vadot		ethernet1 = &enet1;
19*c66ec88fSEmmanuel Vadot		serial0 = &serial0;
20*c66ec88fSEmmanuel Vadot		serial1 = &serial1;
21*c66ec88fSEmmanuel Vadot	};
22*c66ec88fSEmmanuel Vadot
23*c66ec88fSEmmanuel Vadot	cpus {
24*c66ec88fSEmmanuel Vadot		#address-cells = <1>;
25*c66ec88fSEmmanuel Vadot		#size-cells = <0>;
26*c66ec88fSEmmanuel Vadot
27*c66ec88fSEmmanuel Vadot		PowerPC,8347@0 {
28*c66ec88fSEmmanuel Vadot			device_type = "cpu";
29*c66ec88fSEmmanuel Vadot			reg = <0x0>;
30*c66ec88fSEmmanuel Vadot			d-cache-line-size = <32>;
31*c66ec88fSEmmanuel Vadot			i-cache-line-size = <32>;
32*c66ec88fSEmmanuel Vadot			d-cache-size = <32768>;
33*c66ec88fSEmmanuel Vadot			i-cache-size = <32768>;
34*c66ec88fSEmmanuel Vadot			timebase-frequency = <0>;	// from bootloader
35*c66ec88fSEmmanuel Vadot			bus-frequency = <0>;		// from bootloader
36*c66ec88fSEmmanuel Vadot			clock-frequency = <0>;		// from bootloader
37*c66ec88fSEmmanuel Vadot		};
38*c66ec88fSEmmanuel Vadot	};
39*c66ec88fSEmmanuel Vadot
40*c66ec88fSEmmanuel Vadot	memory {
41*c66ec88fSEmmanuel Vadot		device_type = "memory";
42*c66ec88fSEmmanuel Vadot		reg = <0x00000000 0x8000000>;	// 128MB at 0
43*c66ec88fSEmmanuel Vadot	};
44*c66ec88fSEmmanuel Vadot
45*c66ec88fSEmmanuel Vadot	localbus@ff005000 {
46*c66ec88fSEmmanuel Vadot		#address-cells = <2>;
47*c66ec88fSEmmanuel Vadot		#size-cells = <1>;
48*c66ec88fSEmmanuel Vadot		compatible = "fsl,mpc8347e-localbus",
49*c66ec88fSEmmanuel Vadot			     "fsl,pq2pro-localbus",
50*c66ec88fSEmmanuel Vadot			     "simple-bus";
51*c66ec88fSEmmanuel Vadot		reg = <0xff005000 0x1000>;
52*c66ec88fSEmmanuel Vadot		interrupts = <77 0x8>;
53*c66ec88fSEmmanuel Vadot		interrupt-parent = <&ipic>;
54*c66ec88fSEmmanuel Vadot
55*c66ec88fSEmmanuel Vadot		ranges = <
56*c66ec88fSEmmanuel Vadot			0 0 0xf0000000 0x02000000
57*c66ec88fSEmmanuel Vadot		>;
58*c66ec88fSEmmanuel Vadot
59*c66ec88fSEmmanuel Vadot		flash@0,0 {
60*c66ec88fSEmmanuel Vadot			compatible = "cfi-flash";
61*c66ec88fSEmmanuel Vadot			reg = <0 0 0x02000000>;
62*c66ec88fSEmmanuel Vadot			bank-width = <2>;
63*c66ec88fSEmmanuel Vadot			device-width = <2>;
64*c66ec88fSEmmanuel Vadot		};
65*c66ec88fSEmmanuel Vadot	};
66*c66ec88fSEmmanuel Vadot
67*c66ec88fSEmmanuel Vadot	soc8349@ff000000 {
68*c66ec88fSEmmanuel Vadot		#address-cells = <1>;
69*c66ec88fSEmmanuel Vadot		#size-cells = <1>;
70*c66ec88fSEmmanuel Vadot		device_type = "soc";
71*c66ec88fSEmmanuel Vadot		ranges = <0x0 0xff000000 0x00100000>;
72*c66ec88fSEmmanuel Vadot		reg = <0xff000000 0x00000200>;
73*c66ec88fSEmmanuel Vadot		bus-frequency = <0>;
74*c66ec88fSEmmanuel Vadot
75*c66ec88fSEmmanuel Vadot		wdt@200 {
76*c66ec88fSEmmanuel Vadot			device_type = "watchdog";
77*c66ec88fSEmmanuel Vadot			compatible = "mpc83xx_wdt";
78*c66ec88fSEmmanuel Vadot			reg = <0x200 0x100>;
79*c66ec88fSEmmanuel Vadot		};
80*c66ec88fSEmmanuel Vadot
81*c66ec88fSEmmanuel Vadot		i2c@3000 {
82*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
83*c66ec88fSEmmanuel Vadot			#size-cells = <0>;
84*c66ec88fSEmmanuel Vadot			cell-index = <0>;
85*c66ec88fSEmmanuel Vadot			compatible = "fsl-i2c";
86*c66ec88fSEmmanuel Vadot			reg = <0x3000 0x100>;
87*c66ec88fSEmmanuel Vadot			interrupts = <14 0x8>;
88*c66ec88fSEmmanuel Vadot			interrupt-parent = <&ipic>;
89*c66ec88fSEmmanuel Vadot			dfsrr;
90*c66ec88fSEmmanuel Vadot
91*c66ec88fSEmmanuel Vadot			rtc@68 {
92*c66ec88fSEmmanuel Vadot				compatible = "dallas,ds1374";
93*c66ec88fSEmmanuel Vadot				reg = <0x68>;
94*c66ec88fSEmmanuel Vadot			};
95*c66ec88fSEmmanuel Vadot		};
96*c66ec88fSEmmanuel Vadot
97*c66ec88fSEmmanuel Vadot		i2c@3100 {
98*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
99*c66ec88fSEmmanuel Vadot			#size-cells = <0>;
100*c66ec88fSEmmanuel Vadot			cell-index = <1>;
101*c66ec88fSEmmanuel Vadot			compatible = "fsl-i2c";
102*c66ec88fSEmmanuel Vadot			reg = <0x3100 0x100>;
103*c66ec88fSEmmanuel Vadot			interrupts = <15 0x8>;
104*c66ec88fSEmmanuel Vadot			interrupt-parent = <&ipic>;
105*c66ec88fSEmmanuel Vadot			dfsrr;
106*c66ec88fSEmmanuel Vadot		};
107*c66ec88fSEmmanuel Vadot
108*c66ec88fSEmmanuel Vadot		spi@7000 {
109*c66ec88fSEmmanuel Vadot			cell-index = <0>;
110*c66ec88fSEmmanuel Vadot			compatible = "fsl,spi";
111*c66ec88fSEmmanuel Vadot			reg = <0x7000 0x1000>;
112*c66ec88fSEmmanuel Vadot			interrupts = <16 0x8>;
113*c66ec88fSEmmanuel Vadot			interrupt-parent = <&ipic>;
114*c66ec88fSEmmanuel Vadot			mode = "cpu";
115*c66ec88fSEmmanuel Vadot		};
116*c66ec88fSEmmanuel Vadot
117*c66ec88fSEmmanuel Vadot		dma@82a8 {
118*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
119*c66ec88fSEmmanuel Vadot			#size-cells = <1>;
120*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc8347-dma", "fsl,elo-dma";
121*c66ec88fSEmmanuel Vadot			reg = <0x82a8 4>;
122*c66ec88fSEmmanuel Vadot			ranges = <0 0x8100 0x1a8>;
123*c66ec88fSEmmanuel Vadot			interrupt-parent = <&ipic>;
124*c66ec88fSEmmanuel Vadot			interrupts = <71 8>;
125*c66ec88fSEmmanuel Vadot			cell-index = <0>;
126*c66ec88fSEmmanuel Vadot			dma-channel@0 {
127*c66ec88fSEmmanuel Vadot				compatible = "fsl,mpc8347-dma-channel", "fsl,elo-dma-channel";
128*c66ec88fSEmmanuel Vadot				reg = <0 0x80>;
129*c66ec88fSEmmanuel Vadot				cell-index = <0>;
130*c66ec88fSEmmanuel Vadot				interrupt-parent = <&ipic>;
131*c66ec88fSEmmanuel Vadot				interrupts = <71 8>;
132*c66ec88fSEmmanuel Vadot			};
133*c66ec88fSEmmanuel Vadot			dma-channel@80 {
134*c66ec88fSEmmanuel Vadot				compatible = "fsl,mpc8347-dma-channel", "fsl,elo-dma-channel";
135*c66ec88fSEmmanuel Vadot				reg = <0x80 0x80>;
136*c66ec88fSEmmanuel Vadot				cell-index = <1>;
137*c66ec88fSEmmanuel Vadot				interrupt-parent = <&ipic>;
138*c66ec88fSEmmanuel Vadot				interrupts = <71 8>;
139*c66ec88fSEmmanuel Vadot			};
140*c66ec88fSEmmanuel Vadot			dma-channel@100 {
141*c66ec88fSEmmanuel Vadot				compatible = "fsl,mpc8347-dma-channel", "fsl,elo-dma-channel";
142*c66ec88fSEmmanuel Vadot				reg = <0x100 0x80>;
143*c66ec88fSEmmanuel Vadot				cell-index = <2>;
144*c66ec88fSEmmanuel Vadot				interrupt-parent = <&ipic>;
145*c66ec88fSEmmanuel Vadot				interrupts = <71 8>;
146*c66ec88fSEmmanuel Vadot			};
147*c66ec88fSEmmanuel Vadot			dma-channel@180 {
148*c66ec88fSEmmanuel Vadot				compatible = "fsl,mpc8347-dma-channel", "fsl,elo-dma-channel";
149*c66ec88fSEmmanuel Vadot				reg = <0x180 0x28>;
150*c66ec88fSEmmanuel Vadot				cell-index = <3>;
151*c66ec88fSEmmanuel Vadot				interrupt-parent = <&ipic>;
152*c66ec88fSEmmanuel Vadot				interrupts = <71 8>;
153*c66ec88fSEmmanuel Vadot			};
154*c66ec88fSEmmanuel Vadot		};
155*c66ec88fSEmmanuel Vadot
156*c66ec88fSEmmanuel Vadot		/* phy type (ULPI or SERIAL) are only types supported for MPH */
157*c66ec88fSEmmanuel Vadot		/* port = 0 or 1 */
158*c66ec88fSEmmanuel Vadot		usb@22000 {
159*c66ec88fSEmmanuel Vadot			compatible = "fsl-usb2-mph";
160*c66ec88fSEmmanuel Vadot			reg = <0x22000 0x1000>;
161*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
162*c66ec88fSEmmanuel Vadot			#size-cells = <0>;
163*c66ec88fSEmmanuel Vadot			interrupt-parent = <&ipic>;
164*c66ec88fSEmmanuel Vadot			interrupts = <39 0x8>;
165*c66ec88fSEmmanuel Vadot			phy_type = "ulpi";
166*c66ec88fSEmmanuel Vadot			port0;
167*c66ec88fSEmmanuel Vadot		};
168*c66ec88fSEmmanuel Vadot		/* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */
169*c66ec88fSEmmanuel Vadot		usb@23000 {
170*c66ec88fSEmmanuel Vadot			compatible = "fsl-usb2-dr";
171*c66ec88fSEmmanuel Vadot			reg = <0x23000 0x1000>;
172*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
173*c66ec88fSEmmanuel Vadot			#size-cells = <0>;
174*c66ec88fSEmmanuel Vadot			interrupt-parent = <&ipic>;
175*c66ec88fSEmmanuel Vadot			interrupts = <38 0x8>;
176*c66ec88fSEmmanuel Vadot			dr_mode = "otg";
177*c66ec88fSEmmanuel Vadot			phy_type = "ulpi";
178*c66ec88fSEmmanuel Vadot		};
179*c66ec88fSEmmanuel Vadot
180*c66ec88fSEmmanuel Vadot		enet0: ethernet@24000 {
181*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
182*c66ec88fSEmmanuel Vadot			#size-cells = <1>;
183*c66ec88fSEmmanuel Vadot			cell-index = <0>;
184*c66ec88fSEmmanuel Vadot			device_type = "network";
185*c66ec88fSEmmanuel Vadot			model = "TSEC";
186*c66ec88fSEmmanuel Vadot			compatible = "gianfar";
187*c66ec88fSEmmanuel Vadot			reg = <0x24000 0x1000>;
188*c66ec88fSEmmanuel Vadot			ranges = <0x0 0x24000 0x1000>;
189*c66ec88fSEmmanuel Vadot			local-mac-address = [ 00 08 e5 11 32 33 ];
190*c66ec88fSEmmanuel Vadot			interrupts = <32 0x8 33 0x8 34 0x8>;
191*c66ec88fSEmmanuel Vadot			interrupt-parent = <&ipic>;
192*c66ec88fSEmmanuel Vadot			tbi-handle = <&tbi0>;
193*c66ec88fSEmmanuel Vadot			phy-handle = <&phy0>;
194*c66ec88fSEmmanuel Vadot			linux,network-index = <0>;
195*c66ec88fSEmmanuel Vadot
196*c66ec88fSEmmanuel Vadot			mdio@520 {
197*c66ec88fSEmmanuel Vadot				#address-cells = <1>;
198*c66ec88fSEmmanuel Vadot				#size-cells = <0>;
199*c66ec88fSEmmanuel Vadot				compatible = "fsl,gianfar-mdio";
200*c66ec88fSEmmanuel Vadot				reg = <0x520 0x20>;
201*c66ec88fSEmmanuel Vadot
202*c66ec88fSEmmanuel Vadot				phy0: ethernet-phy@0 {
203*c66ec88fSEmmanuel Vadot					interrupt-parent = <&ipic>;
204*c66ec88fSEmmanuel Vadot					interrupts = <17 0x8>;
205*c66ec88fSEmmanuel Vadot					reg = <0x1>;
206*c66ec88fSEmmanuel Vadot				};
207*c66ec88fSEmmanuel Vadot
208*c66ec88fSEmmanuel Vadot				phy1: ethernet-phy@1 {
209*c66ec88fSEmmanuel Vadot					interrupt-parent = <&ipic>;
210*c66ec88fSEmmanuel Vadot					interrupts = <18 0x8>;
211*c66ec88fSEmmanuel Vadot					reg = <0x2>;
212*c66ec88fSEmmanuel Vadot				};
213*c66ec88fSEmmanuel Vadot
214*c66ec88fSEmmanuel Vadot				tbi0: tbi-phy@11 {
215*c66ec88fSEmmanuel Vadot					reg = <0x11>;
216*c66ec88fSEmmanuel Vadot					device_type = "tbi-phy";
217*c66ec88fSEmmanuel Vadot				};
218*c66ec88fSEmmanuel Vadot			};
219*c66ec88fSEmmanuel Vadot		};
220*c66ec88fSEmmanuel Vadot
221*c66ec88fSEmmanuel Vadot		enet1: ethernet@25000 {
222*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
223*c66ec88fSEmmanuel Vadot			#size-cells = <1>;
224*c66ec88fSEmmanuel Vadot			cell-index = <1>;
225*c66ec88fSEmmanuel Vadot			device_type = "network";
226*c66ec88fSEmmanuel Vadot			model = "TSEC";
227*c66ec88fSEmmanuel Vadot			compatible = "gianfar";
228*c66ec88fSEmmanuel Vadot			reg = <0x25000 0x1000>;
229*c66ec88fSEmmanuel Vadot			ranges = <0x0 0x25000 0x1000>;
230*c66ec88fSEmmanuel Vadot			local-mac-address = [ 00 08 e5 11 32 34 ];
231*c66ec88fSEmmanuel Vadot			interrupts = <35 0x8 36 0x8 37 0x8>;
232*c66ec88fSEmmanuel Vadot			interrupt-parent = <&ipic>;
233*c66ec88fSEmmanuel Vadot			tbi-handle = <&tbi1>;
234*c66ec88fSEmmanuel Vadot			phy-handle = <&phy1>;
235*c66ec88fSEmmanuel Vadot			linux,network-index = <1>;
236*c66ec88fSEmmanuel Vadot
237*c66ec88fSEmmanuel Vadot			mdio@520 {
238*c66ec88fSEmmanuel Vadot				#address-cells = <1>;
239*c66ec88fSEmmanuel Vadot				#size-cells = <0>;
240*c66ec88fSEmmanuel Vadot				compatible = "fsl,gianfar-tbi";
241*c66ec88fSEmmanuel Vadot				reg = <0x520 0x20>;
242*c66ec88fSEmmanuel Vadot
243*c66ec88fSEmmanuel Vadot				tbi1: tbi-phy@11 {
244*c66ec88fSEmmanuel Vadot					reg = <0x11>;
245*c66ec88fSEmmanuel Vadot					device_type = "tbi-phy";
246*c66ec88fSEmmanuel Vadot				};
247*c66ec88fSEmmanuel Vadot			};
248*c66ec88fSEmmanuel Vadot		};
249*c66ec88fSEmmanuel Vadot
250*c66ec88fSEmmanuel Vadot		serial0: serial@4500 {
251*c66ec88fSEmmanuel Vadot			cell-index = <0>;
252*c66ec88fSEmmanuel Vadot			device_type = "serial";
253*c66ec88fSEmmanuel Vadot			compatible = "fsl,ns16550", "ns16550";
254*c66ec88fSEmmanuel Vadot			reg = <0x4500 0x100>;
255*c66ec88fSEmmanuel Vadot			clock-frequency = <400000000>;
256*c66ec88fSEmmanuel Vadot			interrupts = <9 0x8>;
257*c66ec88fSEmmanuel Vadot			interrupt-parent = <&ipic>;
258*c66ec88fSEmmanuel Vadot		};
259*c66ec88fSEmmanuel Vadot
260*c66ec88fSEmmanuel Vadot		serial1: serial@4600 {
261*c66ec88fSEmmanuel Vadot			cell-index = <1>;
262*c66ec88fSEmmanuel Vadot			device_type = "serial";
263*c66ec88fSEmmanuel Vadot			compatible = "fsl,ns16550", "ns16550";
264*c66ec88fSEmmanuel Vadot			reg = <0x4600 0x100>;
265*c66ec88fSEmmanuel Vadot			clock-frequency = <400000000>;
266*c66ec88fSEmmanuel Vadot			interrupts = <10 0x8>;
267*c66ec88fSEmmanuel Vadot			interrupt-parent = <&ipic>;
268*c66ec88fSEmmanuel Vadot		};
269*c66ec88fSEmmanuel Vadot
270*c66ec88fSEmmanuel Vadot		/* May need to remove if on a part without crypto engine */
271*c66ec88fSEmmanuel Vadot		crypto@30000 {
272*c66ec88fSEmmanuel Vadot			device_type = "crypto";
273*c66ec88fSEmmanuel Vadot			model = "SEC2";
274*c66ec88fSEmmanuel Vadot			compatible = "talitos";
275*c66ec88fSEmmanuel Vadot			reg = <0x30000 0x10000>;
276*c66ec88fSEmmanuel Vadot			interrupts = <11 0x8>;
277*c66ec88fSEmmanuel Vadot			interrupt-parent = <&ipic>;
278*c66ec88fSEmmanuel Vadot			num-channels = <4>;
279*c66ec88fSEmmanuel Vadot			channel-fifo-len = <24>;
280*c66ec88fSEmmanuel Vadot			exec-units-mask = <0x0000007e>;
281*c66ec88fSEmmanuel Vadot			/* desc mask is for rev2.0,
282*c66ec88fSEmmanuel Vadot			 * we need runtime fixup for >2.0 */
283*c66ec88fSEmmanuel Vadot			descriptor-types-mask = <0x01010ebf>;
284*c66ec88fSEmmanuel Vadot		};
285*c66ec88fSEmmanuel Vadot
286*c66ec88fSEmmanuel Vadot		/* IPIC
287*c66ec88fSEmmanuel Vadot		 * interrupts cell = <intr #, sense>
288*c66ec88fSEmmanuel Vadot		 * sense values match linux IORESOURCE_IRQ_* defines:
289*c66ec88fSEmmanuel Vadot		 * sense == 8: Level, low assertion
290*c66ec88fSEmmanuel Vadot		 * sense == 2: Edge, high-to-low change
291*c66ec88fSEmmanuel Vadot		 */
292*c66ec88fSEmmanuel Vadot		ipic: pic@700 {
293*c66ec88fSEmmanuel Vadot			interrupt-controller;
294*c66ec88fSEmmanuel Vadot			#address-cells = <0>;
295*c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
296*c66ec88fSEmmanuel Vadot			reg = <0x700 0x100>;
297*c66ec88fSEmmanuel Vadot			device_type = "ipic";
298*c66ec88fSEmmanuel Vadot		};
299*c66ec88fSEmmanuel Vadot	};
300*c66ec88fSEmmanuel Vadot
301*c66ec88fSEmmanuel Vadot	chosen {
302*c66ec88fSEmmanuel Vadot		bootargs = "console=ttyS0,38400 root=/dev/mtdblock3 rootfstype=jffs2";
303*c66ec88fSEmmanuel Vadot		stdout-path = &serial0;
304*c66ec88fSEmmanuel Vadot	};
305*c66ec88fSEmmanuel Vadot
306*c66ec88fSEmmanuel Vadot};
307