xref: /freebsd-src/sys/contrib/device-tree/src/powerpc/mpc8308rdb.dts (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later
2*c66ec88fSEmmanuel Vadot/*
3*c66ec88fSEmmanuel Vadot * MPC8308RDB Device Tree Source
4*c66ec88fSEmmanuel Vadot *
5*c66ec88fSEmmanuel Vadot * Copyright 2009 Freescale Semiconductor Inc.
6*c66ec88fSEmmanuel Vadot * Copyright 2010 Ilya Yanok, Emcraft Systems, yanok@emcraft.com
7*c66ec88fSEmmanuel Vadot */
8*c66ec88fSEmmanuel Vadot
9*c66ec88fSEmmanuel Vadot/dts-v1/;
10*c66ec88fSEmmanuel Vadot
11*c66ec88fSEmmanuel Vadot/ {
12*c66ec88fSEmmanuel Vadot	compatible = "fsl,mpc8308rdb";
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		pci0 = &pci0;
22*c66ec88fSEmmanuel Vadot	};
23*c66ec88fSEmmanuel Vadot
24*c66ec88fSEmmanuel Vadot	cpus {
25*c66ec88fSEmmanuel Vadot		#address-cells = <1>;
26*c66ec88fSEmmanuel Vadot		#size-cells = <0>;
27*c66ec88fSEmmanuel Vadot
28*c66ec88fSEmmanuel Vadot		PowerPC,8308@0 {
29*c66ec88fSEmmanuel Vadot			device_type = "cpu";
30*c66ec88fSEmmanuel Vadot			reg = <0x0>;
31*c66ec88fSEmmanuel Vadot			d-cache-line-size = <32>;
32*c66ec88fSEmmanuel Vadot			i-cache-line-size = <32>;
33*c66ec88fSEmmanuel Vadot			d-cache-size = <16384>;
34*c66ec88fSEmmanuel Vadot			i-cache-size = <16384>;
35*c66ec88fSEmmanuel Vadot			timebase-frequency = <0>;	// from bootloader
36*c66ec88fSEmmanuel Vadot			bus-frequency = <0>;		// from bootloader
37*c66ec88fSEmmanuel Vadot			clock-frequency = <0>;		// from bootloader
38*c66ec88fSEmmanuel Vadot		};
39*c66ec88fSEmmanuel Vadot	};
40*c66ec88fSEmmanuel Vadot
41*c66ec88fSEmmanuel Vadot	memory {
42*c66ec88fSEmmanuel Vadot		device_type = "memory";
43*c66ec88fSEmmanuel Vadot		reg = <0x00000000 0x08000000>;	// 128MB at 0
44*c66ec88fSEmmanuel Vadot	};
45*c66ec88fSEmmanuel Vadot
46*c66ec88fSEmmanuel Vadot	localbus@e0005000 {
47*c66ec88fSEmmanuel Vadot		#address-cells = <2>;
48*c66ec88fSEmmanuel Vadot		#size-cells = <1>;
49*c66ec88fSEmmanuel Vadot		compatible = "fsl,mpc8315-elbc", "fsl,elbc", "simple-bus";
50*c66ec88fSEmmanuel Vadot		reg = <0xe0005000 0x1000>;
51*c66ec88fSEmmanuel Vadot		interrupts = <77 0x8>;
52*c66ec88fSEmmanuel Vadot		interrupt-parent = <&ipic>;
53*c66ec88fSEmmanuel Vadot
54*c66ec88fSEmmanuel Vadot		// CS0 and CS1 are swapped when
55*c66ec88fSEmmanuel Vadot		// booting from nand, but the
56*c66ec88fSEmmanuel Vadot		// addresses are the same.
57*c66ec88fSEmmanuel Vadot		ranges = <0x0 0x0 0xfe000000 0x00800000
58*c66ec88fSEmmanuel Vadot		          0x1 0x0 0xe0600000 0x00002000
59*c66ec88fSEmmanuel Vadot		          0x2 0x0 0xf0000000 0x00020000
60*c66ec88fSEmmanuel Vadot		          0x3 0x0 0xfa000000 0x00008000>;
61*c66ec88fSEmmanuel Vadot
62*c66ec88fSEmmanuel Vadot		flash@0,0 {
63*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
64*c66ec88fSEmmanuel Vadot			#size-cells = <1>;
65*c66ec88fSEmmanuel Vadot			compatible = "cfi-flash";
66*c66ec88fSEmmanuel Vadot			reg = <0x0 0x0 0x800000>;
67*c66ec88fSEmmanuel Vadot			bank-width = <2>;
68*c66ec88fSEmmanuel Vadot			device-width = <1>;
69*c66ec88fSEmmanuel Vadot
70*c66ec88fSEmmanuel Vadot			u-boot@0 {
71*c66ec88fSEmmanuel Vadot				reg = <0x0 0x60000>;
72*c66ec88fSEmmanuel Vadot				read-only;
73*c66ec88fSEmmanuel Vadot			};
74*c66ec88fSEmmanuel Vadot			env@60000 {
75*c66ec88fSEmmanuel Vadot				reg = <0x60000 0x10000>;
76*c66ec88fSEmmanuel Vadot			};
77*c66ec88fSEmmanuel Vadot			env1@70000 {
78*c66ec88fSEmmanuel Vadot				reg = <0x70000 0x10000>;
79*c66ec88fSEmmanuel Vadot			};
80*c66ec88fSEmmanuel Vadot			kernel@80000 {
81*c66ec88fSEmmanuel Vadot				reg = <0x80000 0x200000>;
82*c66ec88fSEmmanuel Vadot			};
83*c66ec88fSEmmanuel Vadot			dtb@280000 {
84*c66ec88fSEmmanuel Vadot				reg = <0x280000 0x10000>;
85*c66ec88fSEmmanuel Vadot			};
86*c66ec88fSEmmanuel Vadot			ramdisk@290000 {
87*c66ec88fSEmmanuel Vadot				reg = <0x290000 0x570000>;
88*c66ec88fSEmmanuel Vadot			};
89*c66ec88fSEmmanuel Vadot		};
90*c66ec88fSEmmanuel Vadot
91*c66ec88fSEmmanuel Vadot		nand@1,0 {
92*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
93*c66ec88fSEmmanuel Vadot			#size-cells = <1>;
94*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc8315-fcm-nand",
95*c66ec88fSEmmanuel Vadot			             "fsl,elbc-fcm-nand";
96*c66ec88fSEmmanuel Vadot			reg = <0x1 0x0 0x2000>;
97*c66ec88fSEmmanuel Vadot
98*c66ec88fSEmmanuel Vadot			jffs2@0 {
99*c66ec88fSEmmanuel Vadot				reg = <0x0 0x2000000>;
100*c66ec88fSEmmanuel Vadot			};
101*c66ec88fSEmmanuel Vadot		};
102*c66ec88fSEmmanuel Vadot	};
103*c66ec88fSEmmanuel Vadot
104*c66ec88fSEmmanuel Vadot	immr@e0000000 {
105*c66ec88fSEmmanuel Vadot		#address-cells = <1>;
106*c66ec88fSEmmanuel Vadot		#size-cells = <1>;
107*c66ec88fSEmmanuel Vadot		device_type = "soc";
108*c66ec88fSEmmanuel Vadot		compatible = "fsl,mpc8308-immr", "simple-bus";
109*c66ec88fSEmmanuel Vadot		ranges = <0 0xe0000000 0x00100000>;
110*c66ec88fSEmmanuel Vadot		reg = <0xe0000000 0x00000200>;
111*c66ec88fSEmmanuel Vadot		bus-frequency = <0>;
112*c66ec88fSEmmanuel Vadot
113*c66ec88fSEmmanuel Vadot		i2c@3000 {
114*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
115*c66ec88fSEmmanuel Vadot			#size-cells = <0>;
116*c66ec88fSEmmanuel Vadot			cell-index = <0>;
117*c66ec88fSEmmanuel Vadot			compatible = "fsl-i2c";
118*c66ec88fSEmmanuel Vadot			reg = <0x3000 0x100>;
119*c66ec88fSEmmanuel Vadot			interrupts = <14 0x8>;
120*c66ec88fSEmmanuel Vadot			interrupt-parent = <&ipic>;
121*c66ec88fSEmmanuel Vadot			dfsrr;
122*c66ec88fSEmmanuel Vadot			rtc@68 {
123*c66ec88fSEmmanuel Vadot				compatible = "dallas,ds1339";
124*c66ec88fSEmmanuel Vadot				reg = <0x68>;
125*c66ec88fSEmmanuel Vadot			};
126*c66ec88fSEmmanuel Vadot		};
127*c66ec88fSEmmanuel Vadot
128*c66ec88fSEmmanuel Vadot		usb@23000 {
129*c66ec88fSEmmanuel Vadot			compatible = "fsl-usb2-dr";
130*c66ec88fSEmmanuel Vadot			reg = <0x23000 0x1000>;
131*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
132*c66ec88fSEmmanuel Vadot			#size-cells = <0>;
133*c66ec88fSEmmanuel Vadot			interrupt-parent = <&ipic>;
134*c66ec88fSEmmanuel Vadot			interrupts = <38 0x8>;
135*c66ec88fSEmmanuel Vadot			dr_mode = "peripheral";
136*c66ec88fSEmmanuel Vadot			phy_type = "ulpi";
137*c66ec88fSEmmanuel Vadot		};
138*c66ec88fSEmmanuel Vadot
139*c66ec88fSEmmanuel Vadot		enet0: ethernet@24000 {
140*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
141*c66ec88fSEmmanuel Vadot			#size-cells = <1>;
142*c66ec88fSEmmanuel Vadot			ranges = <0x0 0x24000 0x1000>;
143*c66ec88fSEmmanuel Vadot
144*c66ec88fSEmmanuel Vadot			cell-index = <0>;
145*c66ec88fSEmmanuel Vadot			device_type = "network";
146*c66ec88fSEmmanuel Vadot			model = "eTSEC";
147*c66ec88fSEmmanuel Vadot			compatible = "gianfar";
148*c66ec88fSEmmanuel Vadot			reg = <0x24000 0x1000>;
149*c66ec88fSEmmanuel Vadot			local-mac-address = [ 00 00 00 00 00 00 ];
150*c66ec88fSEmmanuel Vadot			interrupts = <32 0x8 33 0x8 34 0x8>;
151*c66ec88fSEmmanuel Vadot			interrupt-parent = <&ipic>;
152*c66ec88fSEmmanuel Vadot			tbi-handle = < &tbi0 >;
153*c66ec88fSEmmanuel Vadot			phy-handle = < &phy2 >;
154*c66ec88fSEmmanuel Vadot			fsl,magic-packet;
155*c66ec88fSEmmanuel Vadot
156*c66ec88fSEmmanuel Vadot			mdio@520 {
157*c66ec88fSEmmanuel Vadot				#address-cells = <1>;
158*c66ec88fSEmmanuel Vadot				#size-cells = <0>;
159*c66ec88fSEmmanuel Vadot				compatible = "fsl,gianfar-mdio";
160*c66ec88fSEmmanuel Vadot				reg = <0x520 0x20>;
161*c66ec88fSEmmanuel Vadot				phy2: ethernet-phy@2 {
162*c66ec88fSEmmanuel Vadot					interrupt-parent = <&ipic>;
163*c66ec88fSEmmanuel Vadot					interrupts = <17 0x8>;
164*c66ec88fSEmmanuel Vadot					reg = <0x2>;
165*c66ec88fSEmmanuel Vadot				};
166*c66ec88fSEmmanuel Vadot				tbi0: tbi-phy@11 {
167*c66ec88fSEmmanuel Vadot					reg = <0x11>;
168*c66ec88fSEmmanuel Vadot					device_type = "tbi-phy";
169*c66ec88fSEmmanuel Vadot				};
170*c66ec88fSEmmanuel Vadot			};
171*c66ec88fSEmmanuel Vadot		};
172*c66ec88fSEmmanuel Vadot
173*c66ec88fSEmmanuel Vadot		enet1: ethernet@25000 {
174*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
175*c66ec88fSEmmanuel Vadot			#size-cells = <1>;
176*c66ec88fSEmmanuel Vadot			cell-index = <1>;
177*c66ec88fSEmmanuel Vadot			device_type = "network";
178*c66ec88fSEmmanuel Vadot			model = "eTSEC";
179*c66ec88fSEmmanuel Vadot			compatible = "gianfar";
180*c66ec88fSEmmanuel Vadot			reg = <0x25000 0x1000>;
181*c66ec88fSEmmanuel Vadot			ranges = <0x0 0x25000 0x1000>;
182*c66ec88fSEmmanuel Vadot			local-mac-address = [ 00 00 00 00 00 00 ];
183*c66ec88fSEmmanuel Vadot			interrupts = <35 0x8 36 0x8 37 0x8>;
184*c66ec88fSEmmanuel Vadot			interrupt-parent = <&ipic>;
185*c66ec88fSEmmanuel Vadot			tbi-handle = < &tbi1 >;
186*c66ec88fSEmmanuel Vadot			/* Vitesse 7385 isn't on the MDIO bus */
187*c66ec88fSEmmanuel Vadot			fixed-link = <1 1 1000 0 0>;
188*c66ec88fSEmmanuel Vadot			fsl,magic-packet;
189*c66ec88fSEmmanuel Vadot
190*c66ec88fSEmmanuel Vadot			mdio@520 {
191*c66ec88fSEmmanuel Vadot				#address-cells = <1>;
192*c66ec88fSEmmanuel Vadot				#size-cells = <0>;
193*c66ec88fSEmmanuel Vadot				compatible = "fsl,gianfar-tbi";
194*c66ec88fSEmmanuel Vadot				reg = <0x520 0x20>;
195*c66ec88fSEmmanuel Vadot
196*c66ec88fSEmmanuel Vadot				tbi1: tbi-phy@11 {
197*c66ec88fSEmmanuel Vadot					reg = <0x11>;
198*c66ec88fSEmmanuel Vadot					device_type = "tbi-phy";
199*c66ec88fSEmmanuel Vadot				};
200*c66ec88fSEmmanuel Vadot			};
201*c66ec88fSEmmanuel Vadot		};
202*c66ec88fSEmmanuel Vadot
203*c66ec88fSEmmanuel Vadot		serial0: serial@4500 {
204*c66ec88fSEmmanuel Vadot			cell-index = <0>;
205*c66ec88fSEmmanuel Vadot			device_type = "serial";
206*c66ec88fSEmmanuel Vadot			compatible = "fsl,ns16550", "ns16550";
207*c66ec88fSEmmanuel Vadot			reg = <0x4500 0x100>;
208*c66ec88fSEmmanuel Vadot			clock-frequency = <133333333>;
209*c66ec88fSEmmanuel Vadot			interrupts = <9 0x8>;
210*c66ec88fSEmmanuel Vadot			interrupt-parent = <&ipic>;
211*c66ec88fSEmmanuel Vadot		};
212*c66ec88fSEmmanuel Vadot
213*c66ec88fSEmmanuel Vadot		serial1: serial@4600 {
214*c66ec88fSEmmanuel Vadot			cell-index = <1>;
215*c66ec88fSEmmanuel Vadot			device_type = "serial";
216*c66ec88fSEmmanuel Vadot			compatible = "fsl,ns16550", "ns16550";
217*c66ec88fSEmmanuel Vadot			reg = <0x4600 0x100>;
218*c66ec88fSEmmanuel Vadot			clock-frequency = <133333333>;
219*c66ec88fSEmmanuel Vadot			interrupts = <10 0x8>;
220*c66ec88fSEmmanuel Vadot			interrupt-parent = <&ipic>;
221*c66ec88fSEmmanuel Vadot		};
222*c66ec88fSEmmanuel Vadot
223*c66ec88fSEmmanuel Vadot		gpio@c00 {
224*c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
225*c66ec88fSEmmanuel Vadot			device_type = "gpio";
226*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc8308-gpio", "fsl,mpc8349-gpio";
227*c66ec88fSEmmanuel Vadot			reg = <0xc00 0x18>;
228*c66ec88fSEmmanuel Vadot			interrupts = <74 0x8>;
229*c66ec88fSEmmanuel Vadot			interrupt-parent = <&ipic>;
230*c66ec88fSEmmanuel Vadot			gpio-controller;
231*c66ec88fSEmmanuel Vadot		};
232*c66ec88fSEmmanuel Vadot
233*c66ec88fSEmmanuel Vadot		/* IPIC
234*c66ec88fSEmmanuel Vadot		 * interrupts cell = <intr #, sense>
235*c66ec88fSEmmanuel Vadot		 * sense values match linux IORESOURCE_IRQ_* defines:
236*c66ec88fSEmmanuel Vadot		 * sense == 8: Level, low assertion
237*c66ec88fSEmmanuel Vadot		 * sense == 2: Edge, high-to-low change
238*c66ec88fSEmmanuel Vadot		 */
239*c66ec88fSEmmanuel Vadot		ipic: interrupt-controller@700 {
240*c66ec88fSEmmanuel Vadot			compatible = "fsl,ipic";
241*c66ec88fSEmmanuel Vadot			interrupt-controller;
242*c66ec88fSEmmanuel Vadot			#address-cells = <0>;
243*c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
244*c66ec88fSEmmanuel Vadot			reg = <0x700 0x100>;
245*c66ec88fSEmmanuel Vadot			device_type = "ipic";
246*c66ec88fSEmmanuel Vadot		};
247*c66ec88fSEmmanuel Vadot
248*c66ec88fSEmmanuel Vadot		ipic-msi@7c0 {
249*c66ec88fSEmmanuel Vadot			compatible = "fsl,ipic-msi";
250*c66ec88fSEmmanuel Vadot			reg = <0x7c0 0x40>;
251*c66ec88fSEmmanuel Vadot			msi-available-ranges = <0x0 0x100>;
252*c66ec88fSEmmanuel Vadot			interrupts = < 0x43 0x8
253*c66ec88fSEmmanuel Vadot					0x4  0x8
254*c66ec88fSEmmanuel Vadot					0x51 0x8
255*c66ec88fSEmmanuel Vadot					0x52 0x8
256*c66ec88fSEmmanuel Vadot					0x56 0x8
257*c66ec88fSEmmanuel Vadot					0x57 0x8
258*c66ec88fSEmmanuel Vadot					0x58 0x8
259*c66ec88fSEmmanuel Vadot					0x59 0x8 >;
260*c66ec88fSEmmanuel Vadot			interrupt-parent = < &ipic >;
261*c66ec88fSEmmanuel Vadot		};
262*c66ec88fSEmmanuel Vadot
263*c66ec88fSEmmanuel Vadot		dma@2c000 {
264*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc8308-dma";
265*c66ec88fSEmmanuel Vadot			reg = <0x2c000 0x1800>;
266*c66ec88fSEmmanuel Vadot			interrupts = <3 0x8
267*c66ec88fSEmmanuel Vadot					94 0x8>;
268*c66ec88fSEmmanuel Vadot			interrupt-parent = < &ipic >;
269*c66ec88fSEmmanuel Vadot		};
270*c66ec88fSEmmanuel Vadot
271*c66ec88fSEmmanuel Vadot	};
272*c66ec88fSEmmanuel Vadot
273*c66ec88fSEmmanuel Vadot	pci0: pcie@e0009000 {
274*c66ec88fSEmmanuel Vadot		#address-cells = <3>;
275*c66ec88fSEmmanuel Vadot		#size-cells = <2>;
276*c66ec88fSEmmanuel Vadot		#interrupt-cells = <1>;
277*c66ec88fSEmmanuel Vadot		device_type = "pci";
278*c66ec88fSEmmanuel Vadot		compatible = "fsl,mpc8308-pcie", "fsl,mpc8314-pcie";
279*c66ec88fSEmmanuel Vadot		reg = <0xe0009000 0x00001000
280*c66ec88fSEmmanuel Vadot			0xb0000000 0x01000000>;
281*c66ec88fSEmmanuel Vadot		ranges = <0x02000000 0 0xa0000000 0xa0000000 0 0x10000000
282*c66ec88fSEmmanuel Vadot		          0x01000000 0 0x00000000 0xb1000000 0 0x00800000>;
283*c66ec88fSEmmanuel Vadot		bus-range = <0 0>;
284*c66ec88fSEmmanuel Vadot		interrupt-map-mask = <0xf800 0 0 7>;
285*c66ec88fSEmmanuel Vadot		interrupt-map = <0 0 0 1 &ipic 1 8
286*c66ec88fSEmmanuel Vadot				 0 0 0 2 &ipic 1 8
287*c66ec88fSEmmanuel Vadot				 0 0 0 3 &ipic 1 8
288*c66ec88fSEmmanuel Vadot				 0 0 0 4 &ipic 1 8>;
289*c66ec88fSEmmanuel Vadot		interrupts = <0x1 0x8>;
290*c66ec88fSEmmanuel Vadot		interrupt-parent = <&ipic>;
291*c66ec88fSEmmanuel Vadot		clock-frequency = <0>;
292*c66ec88fSEmmanuel Vadot
293*c66ec88fSEmmanuel Vadot		pcie@0 {
294*c66ec88fSEmmanuel Vadot			#address-cells = <3>;
295*c66ec88fSEmmanuel Vadot			#size-cells = <2>;
296*c66ec88fSEmmanuel Vadot			device_type = "pci";
297*c66ec88fSEmmanuel Vadot			reg = <0 0 0 0 0>;
298*c66ec88fSEmmanuel Vadot			ranges = <0x02000000 0 0xa0000000
299*c66ec88fSEmmanuel Vadot				  0x02000000 0 0xa0000000
300*c66ec88fSEmmanuel Vadot				  0 0x10000000
301*c66ec88fSEmmanuel Vadot				  0x01000000 0 0x00000000
302*c66ec88fSEmmanuel Vadot				  0x01000000 0 0x00000000
303*c66ec88fSEmmanuel Vadot				  0 0x00800000>;
304*c66ec88fSEmmanuel Vadot		};
305*c66ec88fSEmmanuel Vadot	};
306*c66ec88fSEmmanuel Vadot};
307