xref: /freebsd-src/sys/contrib/device-tree/src/powerpc/mgcoge.dts (revision 7ef62cebc2f965b0f640263e179276928885e33d)
1*c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later
2*c66ec88fSEmmanuel Vadot/*
3*c66ec88fSEmmanuel Vadot * Device Tree for the MGCOGE plattform from keymile
4*c66ec88fSEmmanuel Vadot *
5*c66ec88fSEmmanuel Vadot * Copyright 2008 DENX Software Engineering GmbH
6*c66ec88fSEmmanuel Vadot * Heiko Schocher <hs@denx.de>
7*c66ec88fSEmmanuel Vadot */
8*c66ec88fSEmmanuel Vadot
9*c66ec88fSEmmanuel Vadot/dts-v1/;
10*c66ec88fSEmmanuel Vadot/ {
11*c66ec88fSEmmanuel Vadot	model = "MGCOGE";
12*c66ec88fSEmmanuel Vadot	compatible = "keymile,km82xx";
13*c66ec88fSEmmanuel Vadot	#address-cells = <1>;
14*c66ec88fSEmmanuel Vadot	#size-cells = <1>;
15*c66ec88fSEmmanuel Vadot
16*c66ec88fSEmmanuel Vadot	aliases {
17*c66ec88fSEmmanuel Vadot		ethernet0 = &eth0;
18*c66ec88fSEmmanuel Vadot		serial0 = &smc2;
19*c66ec88fSEmmanuel Vadot	};
20*c66ec88fSEmmanuel Vadot
21*c66ec88fSEmmanuel Vadot	cpus {
22*c66ec88fSEmmanuel Vadot		#address-cells = <1>;
23*c66ec88fSEmmanuel Vadot		#size-cells = <0>;
24*c66ec88fSEmmanuel Vadot
25*c66ec88fSEmmanuel Vadot		PowerPC,8247@0 {
26*c66ec88fSEmmanuel Vadot			device_type = "cpu";
27*c66ec88fSEmmanuel Vadot			reg = <0>;
28*c66ec88fSEmmanuel Vadot			d-cache-line-size = <32>;
29*c66ec88fSEmmanuel Vadot			i-cache-line-size = <32>;
30*c66ec88fSEmmanuel Vadot			d-cache-size = <16384>;
31*c66ec88fSEmmanuel Vadot			i-cache-size = <16384>;
32*c66ec88fSEmmanuel Vadot			timebase-frequency = <0>; /* Filled in by U-Boot */
33*c66ec88fSEmmanuel Vadot			clock-frequency = <0>; /* Filled in by U-Boot */
34*c66ec88fSEmmanuel Vadot			bus-frequency = <0>; /* Filled in by U-Boot */
35*c66ec88fSEmmanuel Vadot		};
36*c66ec88fSEmmanuel Vadot	};
37*c66ec88fSEmmanuel Vadot
38*c66ec88fSEmmanuel Vadot	localbus@f0010100 {
39*c66ec88fSEmmanuel Vadot		compatible = "fsl,mpc8247-localbus",
40*c66ec88fSEmmanuel Vadot		             "fsl,pq2-localbus",
41*c66ec88fSEmmanuel Vadot		             "simple-bus";
42*c66ec88fSEmmanuel Vadot		#address-cells = <2>;
43*c66ec88fSEmmanuel Vadot		#size-cells = <1>;
44*c66ec88fSEmmanuel Vadot		reg = <0xf0010100 0x40>;
45*c66ec88fSEmmanuel Vadot
46*c66ec88fSEmmanuel Vadot		ranges = <0 0 0xfe000000 0x00400000
47*c66ec88fSEmmanuel Vadot			  1 0 0x30000000 0x00010000
48*c66ec88fSEmmanuel Vadot			  2 0 0x40000000 0x00010000
49*c66ec88fSEmmanuel Vadot			  5 0 0x50000000 0x04000000
50*c66ec88fSEmmanuel Vadot			>;
51*c66ec88fSEmmanuel Vadot
52*c66ec88fSEmmanuel Vadot		flash@0,0 {
53*c66ec88fSEmmanuel Vadot			compatible = "cfi-flash";
54*c66ec88fSEmmanuel Vadot			reg = <0 0x0 0x400000>;
55*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
56*c66ec88fSEmmanuel Vadot			#size-cells = <1>;
57*c66ec88fSEmmanuel Vadot			bank-width = <1>;
58*c66ec88fSEmmanuel Vadot			device-width = <1>;
59*c66ec88fSEmmanuel Vadot			partition@0 {
60*c66ec88fSEmmanuel Vadot				label = "u-boot";
61*c66ec88fSEmmanuel Vadot				reg = <0x00000 0xC0000>;
62*c66ec88fSEmmanuel Vadot			};
63*c66ec88fSEmmanuel Vadot			partition@1 {
64*c66ec88fSEmmanuel Vadot				label = "env";
65*c66ec88fSEmmanuel Vadot				reg = <0xC0000 0x20000>;
66*c66ec88fSEmmanuel Vadot			};
67*c66ec88fSEmmanuel Vadot			partition@2 {
68*c66ec88fSEmmanuel Vadot				label = "envred";
69*c66ec88fSEmmanuel Vadot				reg = <0xE0000 0x20000>;
70*c66ec88fSEmmanuel Vadot			};
71*c66ec88fSEmmanuel Vadot			partition@3 {
72*c66ec88fSEmmanuel Vadot				label = "free";
73*c66ec88fSEmmanuel Vadot				reg = <0x100000 0x300000>;
74*c66ec88fSEmmanuel Vadot			};
75*c66ec88fSEmmanuel Vadot		};
76*c66ec88fSEmmanuel Vadot
77*c66ec88fSEmmanuel Vadot		flash@5,0 {
78*c66ec88fSEmmanuel Vadot			compatible = "cfi-flash";
79*c66ec88fSEmmanuel Vadot			reg = <5 0x00000000 0x02000000
80*c66ec88fSEmmanuel Vadot			       5 0x02000000 0x02000000>;
81*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
82*c66ec88fSEmmanuel Vadot			#size-cells = <1>;
83*c66ec88fSEmmanuel Vadot			bank-width = <2>;
84*c66ec88fSEmmanuel Vadot			partition@app { /* 64 MBytes */
85*c66ec88fSEmmanuel Vadot				label = "ubi0";
86*c66ec88fSEmmanuel Vadot				reg = <0x00000000 0x04000000>;
87*c66ec88fSEmmanuel Vadot			};
88*c66ec88fSEmmanuel Vadot		};
89*c66ec88fSEmmanuel Vadot	};
90*c66ec88fSEmmanuel Vadot
91*c66ec88fSEmmanuel Vadot	memory {
92*c66ec88fSEmmanuel Vadot		device_type = "memory";
93*c66ec88fSEmmanuel Vadot		reg = <0 0>; /* Filled in by U-Boot */
94*c66ec88fSEmmanuel Vadot	};
95*c66ec88fSEmmanuel Vadot
96*c66ec88fSEmmanuel Vadot	soc@f0000000 {
97*c66ec88fSEmmanuel Vadot		#address-cells = <1>;
98*c66ec88fSEmmanuel Vadot		#size-cells = <1>;
99*c66ec88fSEmmanuel Vadot		compatible = "fsl,mpc8247-immr", "fsl,pq2-soc", "simple-bus";
100*c66ec88fSEmmanuel Vadot		ranges = <0x00000000 0xf0000000 0x00053000>;
101*c66ec88fSEmmanuel Vadot
102*c66ec88fSEmmanuel Vadot		// Temporary until code stops depending on it.
103*c66ec88fSEmmanuel Vadot		device_type = "soc";
104*c66ec88fSEmmanuel Vadot
105*c66ec88fSEmmanuel Vadot		cpm@119c0 {
106*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
107*c66ec88fSEmmanuel Vadot			#size-cells = <1>;
108*c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
109*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc8247-cpm", "fsl,cpm2",
110*c66ec88fSEmmanuel Vadot					"simple-bus";
111*c66ec88fSEmmanuel Vadot			reg = <0x119c0 0x30>;
112*c66ec88fSEmmanuel Vadot			ranges;
113*c66ec88fSEmmanuel Vadot
114*c66ec88fSEmmanuel Vadot			muram {
115*c66ec88fSEmmanuel Vadot				compatible = "fsl,cpm-muram";
116*c66ec88fSEmmanuel Vadot				#address-cells = <1>;
117*c66ec88fSEmmanuel Vadot				#size-cells = <1>;
118*c66ec88fSEmmanuel Vadot				ranges = <0 0 0x10000>;
119*c66ec88fSEmmanuel Vadot
120*c66ec88fSEmmanuel Vadot				data@0 {
121*c66ec88fSEmmanuel Vadot					compatible = "fsl,cpm-muram-data";
122*c66ec88fSEmmanuel Vadot					reg = <0x80 0x1f80 0x9800 0x800>;
123*c66ec88fSEmmanuel Vadot				};
124*c66ec88fSEmmanuel Vadot			};
125*c66ec88fSEmmanuel Vadot
126*c66ec88fSEmmanuel Vadot			brg@119f0 {
127*c66ec88fSEmmanuel Vadot				compatible = "fsl,mpc8247-brg",
128*c66ec88fSEmmanuel Vadot				             "fsl,cpm2-brg",
129*c66ec88fSEmmanuel Vadot				             "fsl,cpm-brg";
130*c66ec88fSEmmanuel Vadot				reg = <0x119f0 0x10 0x115f0 0x10>;
131*c66ec88fSEmmanuel Vadot			};
132*c66ec88fSEmmanuel Vadot
133*c66ec88fSEmmanuel Vadot			/* Monitor port/SMC2 */
134*c66ec88fSEmmanuel Vadot			smc2: serial@11a90 {
135*c66ec88fSEmmanuel Vadot				device_type = "serial";
136*c66ec88fSEmmanuel Vadot				compatible = "fsl,mpc8247-smc-uart",
137*c66ec88fSEmmanuel Vadot				             "fsl,cpm2-smc-uart";
138*c66ec88fSEmmanuel Vadot				reg = <0x11a90 0x20 0x88fc 0x02>;
139*c66ec88fSEmmanuel Vadot				interrupts = <5 8>;
140*c66ec88fSEmmanuel Vadot				interrupt-parent = <&PIC>;
141*c66ec88fSEmmanuel Vadot				fsl,cpm-brg = <2>;
142*c66ec88fSEmmanuel Vadot				fsl,cpm-command = <0x21200000>;
143*c66ec88fSEmmanuel Vadot				current-speed = <0>; /* Filled in by U-Boot */
144*c66ec88fSEmmanuel Vadot			};
145*c66ec88fSEmmanuel Vadot
146*c66ec88fSEmmanuel Vadot			eth0: ethernet@11a60 {
147*c66ec88fSEmmanuel Vadot				device_type = "network";
148*c66ec88fSEmmanuel Vadot				compatible = "fsl,mpc8247-scc-enet",
149*c66ec88fSEmmanuel Vadot				             "fsl,cpm2-scc-enet";
150*c66ec88fSEmmanuel Vadot				reg = <0x11a60 0x20 0x8300 0x100 0x11390 1>;
151*c66ec88fSEmmanuel Vadot				local-mac-address = [ 00 00 00 00 00 00 ]; /* Filled in by U-Boot */
152*c66ec88fSEmmanuel Vadot				interrupts = <43 8>;
153*c66ec88fSEmmanuel Vadot				interrupt-parent = <&PIC>;
154*c66ec88fSEmmanuel Vadot				linux,network-index = <0>;
155*c66ec88fSEmmanuel Vadot				fsl,cpm-command = <0xce00000>;
156*c66ec88fSEmmanuel Vadot				fixed-link = <0 0 10 0 0>;
157*c66ec88fSEmmanuel Vadot			};
158*c66ec88fSEmmanuel Vadot
159*c66ec88fSEmmanuel Vadot			i2c@11860 {
160*c66ec88fSEmmanuel Vadot				compatible = "fsl,mpc8272-i2c",
161*c66ec88fSEmmanuel Vadot					     "fsl,cpm2-i2c";
162*c66ec88fSEmmanuel Vadot				reg = <0x11860 0x20 0x8afc 0x2>;
163*c66ec88fSEmmanuel Vadot				interrupts = <1 8>;
164*c66ec88fSEmmanuel Vadot				interrupt-parent = <&PIC>;
165*c66ec88fSEmmanuel Vadot				fsl,cpm-command = <0x29600000>;
166*c66ec88fSEmmanuel Vadot				#address-cells = <1>;
167*c66ec88fSEmmanuel Vadot				#size-cells = <0>;
168*c66ec88fSEmmanuel Vadot			};
169*c66ec88fSEmmanuel Vadot
170*c66ec88fSEmmanuel Vadot			mdio@10d40 {
171*c66ec88fSEmmanuel Vadot				compatible = "fsl,cpm2-mdio-bitbang";
172*c66ec88fSEmmanuel Vadot				reg = <0x10d00 0x14>;
173*c66ec88fSEmmanuel Vadot				#address-cells = <1>;
174*c66ec88fSEmmanuel Vadot				#size-cells = <0>;
175*c66ec88fSEmmanuel Vadot				fsl,mdio-pin = <12>;
176*c66ec88fSEmmanuel Vadot				fsl,mdc-pin = <13>;
177*c66ec88fSEmmanuel Vadot
178*c66ec88fSEmmanuel Vadot				phy0: ethernet-phy@0 {
179*c66ec88fSEmmanuel Vadot					reg = <0x0>;
180*c66ec88fSEmmanuel Vadot				};
181*c66ec88fSEmmanuel Vadot
182*c66ec88fSEmmanuel Vadot				phy1: ethernet-phy@1 {
183*c66ec88fSEmmanuel Vadot					reg = <0x1>;
184*c66ec88fSEmmanuel Vadot				};
185*c66ec88fSEmmanuel Vadot			};
186*c66ec88fSEmmanuel Vadot
187*c66ec88fSEmmanuel Vadot			/* FCC1 management to switch */
188*c66ec88fSEmmanuel Vadot			ethernet@11300 {
189*c66ec88fSEmmanuel Vadot				device_type = "network";
190*c66ec88fSEmmanuel Vadot				compatible = "fsl,cpm2-fcc-enet";
191*c66ec88fSEmmanuel Vadot				reg = <0x11300 0x20 0x8400 0x100 0x11390 0x1>;
192*c66ec88fSEmmanuel Vadot				local-mac-address = [ 00 01 02 03 04 07 ];
193*c66ec88fSEmmanuel Vadot				interrupts = <32 8>;
194*c66ec88fSEmmanuel Vadot				interrupt-parent = <&PIC>;
195*c66ec88fSEmmanuel Vadot				phy-handle = <&phy0>;
196*c66ec88fSEmmanuel Vadot				linux,network-index = <1>;
197*c66ec88fSEmmanuel Vadot				fsl,cpm-command = <0x12000300>;
198*c66ec88fSEmmanuel Vadot			};
199*c66ec88fSEmmanuel Vadot
200*c66ec88fSEmmanuel Vadot			/* FCC2 to redundant core unit over backplane */
201*c66ec88fSEmmanuel Vadot			ethernet@11320 {
202*c66ec88fSEmmanuel Vadot				device_type = "network";
203*c66ec88fSEmmanuel Vadot				compatible = "fsl,cpm2-fcc-enet";
204*c66ec88fSEmmanuel Vadot				reg = <0x11320 0x20 0x8500 0x100 0x113b0 0x1>;
205*c66ec88fSEmmanuel Vadot				local-mac-address = [ 00 01 02 03 04 08 ];
206*c66ec88fSEmmanuel Vadot				interrupts = <33 8>;
207*c66ec88fSEmmanuel Vadot				interrupt-parent = <&PIC>;
208*c66ec88fSEmmanuel Vadot				phy-handle = <&phy1>;
209*c66ec88fSEmmanuel Vadot				linux,network-index = <2>;
210*c66ec88fSEmmanuel Vadot				fsl,cpm-command = <0x16200300>;
211*c66ec88fSEmmanuel Vadot			};
212*c66ec88fSEmmanuel Vadot
213*c66ec88fSEmmanuel Vadot			usb@11b60 {
214*c66ec88fSEmmanuel Vadot				compatible = "fsl,mpc8272-cpm-usb";
215*c66ec88fSEmmanuel Vadot				mode = "peripheral";
216*c66ec88fSEmmanuel Vadot				reg = <0x11b60 0x40 0x8b00 0x100>;
217*c66ec88fSEmmanuel Vadot				interrupts = <11 8>;
218*c66ec88fSEmmanuel Vadot				interrupt-parent = <&PIC>;
219*c66ec88fSEmmanuel Vadot				usb-clock = <5>;
220*c66ec88fSEmmanuel Vadot			};
221*c66ec88fSEmmanuel Vadot			spi@11aa0 {
222*c66ec88fSEmmanuel Vadot				cell-index = <0>;
223*c66ec88fSEmmanuel Vadot				compatible = "fsl,spi", "fsl,cpm2-spi";
224*c66ec88fSEmmanuel Vadot				reg = <0x11a80 0x40 0x89fc 0x2>;
225*c66ec88fSEmmanuel Vadot				interrupts = <2 8>;
226*c66ec88fSEmmanuel Vadot				interrupt-parent = <&PIC>;
227*c66ec88fSEmmanuel Vadot				cs-gpios = < &cpm2_pio_d 19 0>;
228*c66ec88fSEmmanuel Vadot			};
229*c66ec88fSEmmanuel Vadot
230*c66ec88fSEmmanuel Vadot		};
231*c66ec88fSEmmanuel Vadot
232*c66ec88fSEmmanuel Vadot		cpm2_pio_d: gpio-controller@10d60 {
233*c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
234*c66ec88fSEmmanuel Vadot			compatible = "fsl,cpm2-pario-bank";
235*c66ec88fSEmmanuel Vadot			reg = <0x10d60 0x14>;
236*c66ec88fSEmmanuel Vadot			gpio-controller;
237*c66ec88fSEmmanuel Vadot		};
238*c66ec88fSEmmanuel Vadot
239*c66ec88fSEmmanuel Vadot		cpm2_pio_c: gpio-controller@10d40 {
240*c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
241*c66ec88fSEmmanuel Vadot			compatible = "fsl,cpm2-pario-bank";
242*c66ec88fSEmmanuel Vadot			reg = <0x10d40 0x14>;
243*c66ec88fSEmmanuel Vadot			gpio-controller;
244*c66ec88fSEmmanuel Vadot		};
245*c66ec88fSEmmanuel Vadot
246*c66ec88fSEmmanuel Vadot		PIC: interrupt-controller@10c00 {
247*c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
248*c66ec88fSEmmanuel Vadot			interrupt-controller;
249*c66ec88fSEmmanuel Vadot			reg = <0x10c00 0x80>;
250*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc8247-pic", "fsl,pq2-pic";
251*c66ec88fSEmmanuel Vadot		};
252*c66ec88fSEmmanuel Vadot	};
253*c66ec88fSEmmanuel Vadot};
254