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