xref: /OK3568_Linux_fs/kernel/arch/powerpc/boot/dts/fsl/mpc8568mds.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0-or-later
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * MPC8568E MDS Device Tree Source
4*4882a593Smuzhiyun *
5*4882a593Smuzhiyun * Copyright 2007, 2008 Freescale Semiconductor Inc.
6*4882a593Smuzhiyun */
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun/include/ "mpc8568si-pre.dtsi"
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun/ {
11*4882a593Smuzhiyun	model = "MPC8568EMDS";
12*4882a593Smuzhiyun	compatible = "MPC8568EMDS", "MPC85xxMDS";
13*4882a593Smuzhiyun
14*4882a593Smuzhiyun	aliases {
15*4882a593Smuzhiyun		pci0 = &pci0;
16*4882a593Smuzhiyun		pci1 = &pci1;
17*4882a593Smuzhiyun		rapidio0 = &rio;
18*4882a593Smuzhiyun	};
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun	memory {
21*4882a593Smuzhiyun		device_type = "memory";
22*4882a593Smuzhiyun		reg = <0x0 0x0 0x0 0x0>;
23*4882a593Smuzhiyun	};
24*4882a593Smuzhiyun
25*4882a593Smuzhiyun	lbc: localbus@e0005000 {
26*4882a593Smuzhiyun		reg = <0x0 0xe0005000 0x0 0x1000>;
27*4882a593Smuzhiyun		ranges = <0x0 0x0 0xfe000000 0x02000000
28*4882a593Smuzhiyun			  0x1 0x0 0xf8000000 0x00008000
29*4882a593Smuzhiyun			  0x2 0x0 0xf0000000 0x04000000
30*4882a593Smuzhiyun			  0x4 0x0 0xf8008000 0x00008000
31*4882a593Smuzhiyun			  0x5 0x0 0xf8010000 0x00008000>;
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun		nor@0,0 {
34*4882a593Smuzhiyun			#address-cells = <1>;
35*4882a593Smuzhiyun			#size-cells = <1>;
36*4882a593Smuzhiyun			compatible = "cfi-flash";
37*4882a593Smuzhiyun			reg = <0x0 0x0 0x02000000>;
38*4882a593Smuzhiyun			bank-width = <2>;
39*4882a593Smuzhiyun			device-width = <2>;
40*4882a593Smuzhiyun		};
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun		bcsr@1,0 {
43*4882a593Smuzhiyun			#address-cells = <1>;
44*4882a593Smuzhiyun			#size-cells = <1>;
45*4882a593Smuzhiyun			compatible = "fsl,mpc8568mds-bcsr";
46*4882a593Smuzhiyun			reg = <1 0 0x8000>;
47*4882a593Smuzhiyun			ranges = <0 1 0 0x8000>;
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun			bcsr5: gpio-controller@11 {
50*4882a593Smuzhiyun				#gpio-cells = <2>;
51*4882a593Smuzhiyun				compatible = "fsl,mpc8568mds-bcsr-gpio";
52*4882a593Smuzhiyun				reg = <0x5 0x1>;
53*4882a593Smuzhiyun				gpio-controller;
54*4882a593Smuzhiyun			};
55*4882a593Smuzhiyun		};
56*4882a593Smuzhiyun
57*4882a593Smuzhiyun		pib@4,0 {
58*4882a593Smuzhiyun			compatible = "fsl,mpc8568mds-pib";
59*4882a593Smuzhiyun			reg = <4 0 0x8000>;
60*4882a593Smuzhiyun		};
61*4882a593Smuzhiyun
62*4882a593Smuzhiyun		pib@5,0 {
63*4882a593Smuzhiyun			compatible = "fsl,mpc8568mds-pib";
64*4882a593Smuzhiyun			reg = <5 0 0x8000>;
65*4882a593Smuzhiyun		};
66*4882a593Smuzhiyun	};
67*4882a593Smuzhiyun
68*4882a593Smuzhiyun	soc: soc8568@e0000000 {
69*4882a593Smuzhiyun		ranges = <0x0 0x0 0xe0000000 0x100000>;
70*4882a593Smuzhiyun
71*4882a593Smuzhiyun		i2c-sleep-nexus {
72*4882a593Smuzhiyun			i2c@3000 {
73*4882a593Smuzhiyun				rtc@68 {
74*4882a593Smuzhiyun					compatible = "dallas,ds1374";
75*4882a593Smuzhiyun					reg = <0x68>;
76*4882a593Smuzhiyun					interrupts = <3 1 0 0>;
77*4882a593Smuzhiyun				};
78*4882a593Smuzhiyun			};
79*4882a593Smuzhiyun		};
80*4882a593Smuzhiyun
81*4882a593Smuzhiyun		enet0: ethernet@24000 {
82*4882a593Smuzhiyun			tbi-handle = <&tbi0>;
83*4882a593Smuzhiyun			phy-handle = <&phy2>;
84*4882a593Smuzhiyun		};
85*4882a593Smuzhiyun
86*4882a593Smuzhiyun		mdio@24520 {
87*4882a593Smuzhiyun			phy0: ethernet-phy@7 {
88*4882a593Smuzhiyun				interrupts = <1 1 0 0>;
89*4882a593Smuzhiyun				reg = <0x7>;
90*4882a593Smuzhiyun			};
91*4882a593Smuzhiyun			phy1: ethernet-phy@1 {
92*4882a593Smuzhiyun				interrupts = <2 1 0 0>;
93*4882a593Smuzhiyun				reg = <0x1>;
94*4882a593Smuzhiyun			};
95*4882a593Smuzhiyun			phy2: ethernet-phy@2 {
96*4882a593Smuzhiyun				interrupts = <1 1 0 0>;
97*4882a593Smuzhiyun				reg = <0x2>;
98*4882a593Smuzhiyun			};
99*4882a593Smuzhiyun			phy3: ethernet-phy@3 {
100*4882a593Smuzhiyun				interrupts = <2 1 0 0>;
101*4882a593Smuzhiyun				reg = <0x3>;
102*4882a593Smuzhiyun			};
103*4882a593Smuzhiyun			tbi0: tbi-phy@11 {
104*4882a593Smuzhiyun				reg = <0x11>;
105*4882a593Smuzhiyun				device_type = "tbi-phy";
106*4882a593Smuzhiyun			};
107*4882a593Smuzhiyun		};
108*4882a593Smuzhiyun
109*4882a593Smuzhiyun		enet1: ethernet@25000 {
110*4882a593Smuzhiyun			tbi-handle = <&tbi1>;
111*4882a593Smuzhiyun			phy-handle = <&phy3>;
112*4882a593Smuzhiyun			sleep = <&pmc 0x00000040>;
113*4882a593Smuzhiyun		};
114*4882a593Smuzhiyun
115*4882a593Smuzhiyun		mdio@25520 {
116*4882a593Smuzhiyun			tbi1: tbi-phy@11 {
117*4882a593Smuzhiyun				reg = <0x11>;
118*4882a593Smuzhiyun				device_type = "tbi-phy";
119*4882a593Smuzhiyun			};
120*4882a593Smuzhiyun		};
121*4882a593Smuzhiyun
122*4882a593Smuzhiyun		par_io@e0100 {
123*4882a593Smuzhiyun			num-ports = <7>;
124*4882a593Smuzhiyun
125*4882a593Smuzhiyun			pio1: ucc_pin@1 {
126*4882a593Smuzhiyun				pio-map = <
127*4882a593Smuzhiyun			/* port  pin  dir  open_drain  assignment  has_irq */
128*4882a593Smuzhiyun					0x4  0xa  0x1  0x0  0x2  0x0 	/* TxD0 */
129*4882a593Smuzhiyun					0x4  0x9  0x1  0x0  0x2  0x0 	/* TxD1 */
130*4882a593Smuzhiyun					0x4  0x8  0x1  0x0  0x2  0x0 	/* TxD2 */
131*4882a593Smuzhiyun					0x4  0x7  0x1  0x0  0x2  0x0 	/* TxD3 */
132*4882a593Smuzhiyun					0x4  0x17  0x1  0x0  0x2  0x0 	/* TxD4 */
133*4882a593Smuzhiyun					0x4  0x16  0x1  0x0  0x2  0x0 	/* TxD5 */
134*4882a593Smuzhiyun					0x4  0x15  0x1  0x0  0x2  0x0 	/* TxD6 */
135*4882a593Smuzhiyun					0x4  0x14  0x1  0x0  0x2  0x0 	/* TxD7 */
136*4882a593Smuzhiyun					0x4  0xf  0x2  0x0  0x2  0x0 	/* RxD0 */
137*4882a593Smuzhiyun					0x4  0xe  0x2  0x0  0x2  0x0 	/* RxD1 */
138*4882a593Smuzhiyun					0x4  0xd  0x2  0x0  0x2  0x0 	/* RxD2 */
139*4882a593Smuzhiyun					0x4  0xc  0x2  0x0  0x2  0x0 	/* RxD3 */
140*4882a593Smuzhiyun					0x4  0x1d  0x2  0x0  0x2  0x0 	/* RxD4 */
141*4882a593Smuzhiyun					0x4  0x1c  0x2  0x0  0x2  0x0 	/* RxD5 */
142*4882a593Smuzhiyun					0x4  0x1b  0x2  0x0  0x2  0x0 	/* RxD6 */
143*4882a593Smuzhiyun					0x4  0x1a  0x2  0x0  0x2  0x0 	/* RxD7 */
144*4882a593Smuzhiyun					0x4  0xb  0x1  0x0  0x2  0x0 	/* TX_EN */
145*4882a593Smuzhiyun					0x4  0x18  0x1  0x0  0x2  0x0 	/* TX_ER */
146*4882a593Smuzhiyun					0x4  0x10  0x2  0x0  0x2  0x0 	/* RX_DV */
147*4882a593Smuzhiyun					0x4  0x1e  0x2  0x0  0x2  0x0 	/* RX_ER */
148*4882a593Smuzhiyun					0x4  0x11  0x2  0x0  0x2  0x0 	/* RX_CLK */
149*4882a593Smuzhiyun					0x4  0x13  0x1  0x0  0x2  0x0 	/* GTX_CLK */
150*4882a593Smuzhiyun					0x1  0x1f  0x2  0x0  0x3  0x0>;	/* GTX125 */
151*4882a593Smuzhiyun			};
152*4882a593Smuzhiyun
153*4882a593Smuzhiyun			pio2: ucc_pin@2 {
154*4882a593Smuzhiyun				pio-map = <
155*4882a593Smuzhiyun			/* port  pin  dir  open_drain  assignment  has_irq */
156*4882a593Smuzhiyun					0x5  0xa 0x1  0x0  0x2  0x0   /* TxD0 */
157*4882a593Smuzhiyun					0x5  0x9 0x1  0x0  0x2  0x0   /* TxD1 */
158*4882a593Smuzhiyun					0x5  0x8 0x1  0x0  0x2  0x0   /* TxD2 */
159*4882a593Smuzhiyun					0x5  0x7 0x1  0x0  0x2  0x0   /* TxD3 */
160*4882a593Smuzhiyun					0x5  0x17 0x1  0x0  0x2  0x0   /* TxD4 */
161*4882a593Smuzhiyun					0x5  0x16 0x1  0x0  0x2  0x0   /* TxD5 */
162*4882a593Smuzhiyun					0x5  0x15 0x1  0x0  0x2  0x0   /* TxD6 */
163*4882a593Smuzhiyun					0x5  0x14 0x1  0x0  0x2  0x0   /* TxD7 */
164*4882a593Smuzhiyun					0x5  0xf 0x2  0x0  0x2  0x0   /* RxD0 */
165*4882a593Smuzhiyun					0x5  0xe 0x2  0x0  0x2  0x0   /* RxD1 */
166*4882a593Smuzhiyun					0x5  0xd 0x2  0x0  0x2  0x0   /* RxD2 */
167*4882a593Smuzhiyun					0x5  0xc 0x2  0x0  0x2  0x0   /* RxD3 */
168*4882a593Smuzhiyun					0x5  0x1d 0x2  0x0  0x2  0x0   /* RxD4 */
169*4882a593Smuzhiyun					0x5  0x1c 0x2  0x0  0x2  0x0   /* RxD5 */
170*4882a593Smuzhiyun					0x5  0x1b 0x2  0x0  0x2  0x0   /* RxD6 */
171*4882a593Smuzhiyun					0x5  0x1a 0x2  0x0  0x2  0x0   /* RxD7 */
172*4882a593Smuzhiyun					0x5  0xb 0x1  0x0  0x2  0x0   /* TX_EN */
173*4882a593Smuzhiyun					0x5  0x18 0x1  0x0  0x2  0x0   /* TX_ER */
174*4882a593Smuzhiyun					0x5  0x10 0x2  0x0  0x2  0x0   /* RX_DV */
175*4882a593Smuzhiyun					0x5  0x1e 0x2  0x0  0x2  0x0   /* RX_ER */
176*4882a593Smuzhiyun					0x5  0x11 0x2  0x0  0x2  0x0   /* RX_CLK */
177*4882a593Smuzhiyun					0x5  0x13 0x1  0x0  0x2  0x0   /* GTX_CLK */
178*4882a593Smuzhiyun					0x1  0x1f 0x2  0x0  0x3  0x0   /* GTX125 */
179*4882a593Smuzhiyun					0x4  0x6 0x3  0x0  0x2  0x0   /* MDIO */
180*4882a593Smuzhiyun					0x4  0x5 0x1  0x0  0x2  0x0>; /* MDC */
181*4882a593Smuzhiyun			};
182*4882a593Smuzhiyun		};
183*4882a593Smuzhiyun	};
184*4882a593Smuzhiyun
185*4882a593Smuzhiyun	qe: qe@e0080000 {
186*4882a593Smuzhiyun		ranges = <0x0 0x0 0xe0080000 0x40000>;
187*4882a593Smuzhiyun		reg = <0x0 0xe0080000 0x0 0x480>;
188*4882a593Smuzhiyun
189*4882a593Smuzhiyun		spi@4c0 {
190*4882a593Smuzhiyun			mode = "cpu";
191*4882a593Smuzhiyun		};
192*4882a593Smuzhiyun
193*4882a593Smuzhiyun		spi@500 {
194*4882a593Smuzhiyun			mode = "cpu";
195*4882a593Smuzhiyun		};
196*4882a593Smuzhiyun
197*4882a593Smuzhiyun		enet2: ucc@2000 {
198*4882a593Smuzhiyun			device_type = "network";
199*4882a593Smuzhiyun			compatible = "ucc_geth";
200*4882a593Smuzhiyun			local-mac-address = [ 00 00 00 00 00 00 ];
201*4882a593Smuzhiyun			rx-clock-name = "none";
202*4882a593Smuzhiyun			tx-clock-name = "clk16";
203*4882a593Smuzhiyun			pio-handle = <&pio1>;
204*4882a593Smuzhiyun			phy-handle = <&phy0>;
205*4882a593Smuzhiyun			phy-connection-type = "rgmii-id";
206*4882a593Smuzhiyun		};
207*4882a593Smuzhiyun
208*4882a593Smuzhiyun		enet3: ucc@3000 {
209*4882a593Smuzhiyun			device_type = "network";
210*4882a593Smuzhiyun			compatible = "ucc_geth";
211*4882a593Smuzhiyun			local-mac-address = [ 00 00 00 00 00 00 ];
212*4882a593Smuzhiyun			rx-clock-name = "none";
213*4882a593Smuzhiyun			tx-clock-name = "clk16";
214*4882a593Smuzhiyun			pio-handle = <&pio2>;
215*4882a593Smuzhiyun			phy-handle = <&phy1>;
216*4882a593Smuzhiyun			phy-connection-type = "rgmii-id";
217*4882a593Smuzhiyun		};
218*4882a593Smuzhiyun
219*4882a593Smuzhiyun		mdio@2120 {
220*4882a593Smuzhiyun			#address-cells = <1>;
221*4882a593Smuzhiyun			#size-cells = <0>;
222*4882a593Smuzhiyun			reg = <0x2120 0x18>;
223*4882a593Smuzhiyun			compatible = "fsl,ucc-mdio";
224*4882a593Smuzhiyun
225*4882a593Smuzhiyun			/* These are the same PHYs as on
226*4882a593Smuzhiyun			 * gianfar's MDIO bus */
227*4882a593Smuzhiyun			qe_phy0: ethernet-phy@7 {
228*4882a593Smuzhiyun				interrupt-parent = <&mpic>;
229*4882a593Smuzhiyun				interrupts = <1 1 0 0>;
230*4882a593Smuzhiyun				reg = <0x7>;
231*4882a593Smuzhiyun			};
232*4882a593Smuzhiyun			qe_phy1: ethernet-phy@1 {
233*4882a593Smuzhiyun				interrupt-parent = <&mpic>;
234*4882a593Smuzhiyun				interrupts = <2 1 0 0>;
235*4882a593Smuzhiyun				reg = <0x1>;
236*4882a593Smuzhiyun			};
237*4882a593Smuzhiyun			qe_phy2: ethernet-phy@2 {
238*4882a593Smuzhiyun				interrupt-parent = <&mpic>;
239*4882a593Smuzhiyun				interrupts = <1 1 0 0>;
240*4882a593Smuzhiyun				reg = <0x2>;
241*4882a593Smuzhiyun			};
242*4882a593Smuzhiyun			qe_phy3: ethernet-phy@3 {
243*4882a593Smuzhiyun				interrupt-parent = <&mpic>;
244*4882a593Smuzhiyun				interrupts = <2 1 0 0>;
245*4882a593Smuzhiyun				reg = <0x3>;
246*4882a593Smuzhiyun			};
247*4882a593Smuzhiyun		};
248*4882a593Smuzhiyun	};
249*4882a593Smuzhiyun
250*4882a593Smuzhiyun	pci0: pci@e0008000 {
251*4882a593Smuzhiyun		reg = <0x0 0xe0008000 0x0 0x1000>;
252*4882a593Smuzhiyun		ranges = <0x2000000 0x0 0x80000000 0x0 0x80000000 0x0 0x20000000
253*4882a593Smuzhiyun			  0x1000000 0x0 0x00000000 0x0 0xe2000000 0x0 0x800000>;
254*4882a593Smuzhiyun		clock-frequency = <66666666>;
255*4882a593Smuzhiyun		interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
256*4882a593Smuzhiyun		interrupt-map = <
257*4882a593Smuzhiyun			/* IDSEL 0x12 AD18 */
258*4882a593Smuzhiyun			0x9000 0x0 0x0 0x1 &mpic 0x5 0x1 0 0
259*4882a593Smuzhiyun			0x9000 0x0 0x0 0x2 &mpic 0x6 0x1 0 0
260*4882a593Smuzhiyun			0x9000 0x0 0x0 0x3 &mpic 0x7 0x1 0 0
261*4882a593Smuzhiyun			0x9000 0x0 0x0 0x4 &mpic 0x4 0x1 0 0
262*4882a593Smuzhiyun
263*4882a593Smuzhiyun			/* IDSEL 0x13 AD19 */
264*4882a593Smuzhiyun			0x9800 0x0 0x0 0x1 &mpic 0x6 0x1 0 0
265*4882a593Smuzhiyun			0x9800 0x0 0x0 0x2 &mpic 0x7 0x1 0 0
266*4882a593Smuzhiyun			0x9800 0x0 0x0 0x3 &mpic 0x4 0x1 0 0
267*4882a593Smuzhiyun			0x9800 0x0 0x0 0x4 &mpic 0x5 0x1 0 0>;
268*4882a593Smuzhiyun	};
269*4882a593Smuzhiyun
270*4882a593Smuzhiyun	/* PCI Express */
271*4882a593Smuzhiyun	pci1: pcie@e000a000 {
272*4882a593Smuzhiyun		ranges = <0x2000000 0x0 0xa0000000 0x0 0xa0000000 0x0 0x10000000
273*4882a593Smuzhiyun			  0x1000000 0x0 0x00000000 0x0 0xe2800000 0x0 0x800000>;
274*4882a593Smuzhiyun		reg = <0x0 0xe000a000 0x0 0x1000>;
275*4882a593Smuzhiyun		pcie@0 {
276*4882a593Smuzhiyun			ranges = <0x2000000 0x0 0xa0000000
277*4882a593Smuzhiyun				  0x2000000 0x0 0xa0000000
278*4882a593Smuzhiyun				  0x0 0x10000000
279*4882a593Smuzhiyun
280*4882a593Smuzhiyun				  0x1000000 0x0 0x0
281*4882a593Smuzhiyun				  0x1000000 0x0 0x0
282*4882a593Smuzhiyun				  0x0 0x800000>;
283*4882a593Smuzhiyun		};
284*4882a593Smuzhiyun	};
285*4882a593Smuzhiyun
286*4882a593Smuzhiyun	rio: rapidio@e00c00000 {
287*4882a593Smuzhiyun		reg = <0x0 0xe00c0000 0x0 0x20000>;
288*4882a593Smuzhiyun		port1 {
289*4882a593Smuzhiyun			ranges = <0x0 0x0 0x0 0xc0000000 0x0 0x20000000>;
290*4882a593Smuzhiyun		};
291*4882a593Smuzhiyun	};
292*4882a593Smuzhiyun
293*4882a593Smuzhiyun	leds {
294*4882a593Smuzhiyun		compatible = "gpio-leds";
295*4882a593Smuzhiyun
296*4882a593Smuzhiyun		green {
297*4882a593Smuzhiyun			gpios = <&bcsr5 1 0>;
298*4882a593Smuzhiyun		};
299*4882a593Smuzhiyun
300*4882a593Smuzhiyun		amber {
301*4882a593Smuzhiyun			gpios = <&bcsr5 2 0>;
302*4882a593Smuzhiyun		};
303*4882a593Smuzhiyun
304*4882a593Smuzhiyun		red {
305*4882a593Smuzhiyun			gpios = <&bcsr5 3 0>;
306*4882a593Smuzhiyun		};
307*4882a593Smuzhiyun	};
308*4882a593Smuzhiyun};
309*4882a593Smuzhiyun
310*4882a593Smuzhiyun/include/ "mpc8568si-post.dtsi"
311