xref: /freebsd/sys/contrib/device-tree/src/powerpc/mpc885ads.dts (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later
2*c66ec88fSEmmanuel Vadot/*
3*c66ec88fSEmmanuel Vadot * MPC885 ADS Device Tree Source
4*c66ec88fSEmmanuel Vadot *
5*c66ec88fSEmmanuel Vadot * Copyright 2006 MontaVista Software, Inc.
6*c66ec88fSEmmanuel Vadot * Copyright 2007,2008 Freescale Semiconductor, Inc.
7*c66ec88fSEmmanuel Vadot */
8*c66ec88fSEmmanuel Vadot
9*c66ec88fSEmmanuel Vadot/dts-v1/;
10*c66ec88fSEmmanuel Vadot
11*c66ec88fSEmmanuel Vadot/ {
12*c66ec88fSEmmanuel Vadot	model = "MPC885ADS";
13*c66ec88fSEmmanuel Vadot	compatible = "fsl,mpc885ads";
14*c66ec88fSEmmanuel Vadot	#address-cells = <1>;
15*c66ec88fSEmmanuel Vadot	#size-cells = <1>;
16*c66ec88fSEmmanuel Vadot
17*c66ec88fSEmmanuel Vadot	cpus {
18*c66ec88fSEmmanuel Vadot		#address-cells = <1>;
19*c66ec88fSEmmanuel Vadot		#size-cells = <0>;
20*c66ec88fSEmmanuel Vadot
21*c66ec88fSEmmanuel Vadot		PowerPC,885@0 {
22*c66ec88fSEmmanuel Vadot			device_type = "cpu";
23*c66ec88fSEmmanuel Vadot			reg = <0x0>;
24*c66ec88fSEmmanuel Vadot			d-cache-line-size = <16>;
25*c66ec88fSEmmanuel Vadot			i-cache-line-size = <16>;
26*c66ec88fSEmmanuel Vadot			d-cache-size = <8192>;
27*c66ec88fSEmmanuel Vadot			i-cache-size = <8192>;
28*c66ec88fSEmmanuel Vadot			timebase-frequency = <0>;
29*c66ec88fSEmmanuel Vadot			bus-frequency = <0>;
30*c66ec88fSEmmanuel Vadot			clock-frequency = <0>;
31*c66ec88fSEmmanuel Vadot			interrupts = <15 2>;	// decrementer interrupt
32*c66ec88fSEmmanuel Vadot			interrupt-parent = <&PIC>;
33*c66ec88fSEmmanuel Vadot		};
34*c66ec88fSEmmanuel Vadot	};
35*c66ec88fSEmmanuel Vadot
36*c66ec88fSEmmanuel Vadot	memory {
37*c66ec88fSEmmanuel Vadot		device_type = "memory";
38*c66ec88fSEmmanuel Vadot		reg = <0x0 0x0>;
39*c66ec88fSEmmanuel Vadot	};
40*c66ec88fSEmmanuel Vadot
41*c66ec88fSEmmanuel Vadot	localbus@ff000100 {
42*c66ec88fSEmmanuel Vadot		compatible = "fsl,mpc885-localbus", "fsl,pq1-localbus";
43*c66ec88fSEmmanuel Vadot		#address-cells = <2>;
44*c66ec88fSEmmanuel Vadot		#size-cells = <1>;
45*c66ec88fSEmmanuel Vadot		reg = <0xff000100 0x40>;
46*c66ec88fSEmmanuel Vadot
47*c66ec88fSEmmanuel Vadot		ranges = <
48*c66ec88fSEmmanuel Vadot			0x0 0x0 0xfe000000 0x800000
49*c66ec88fSEmmanuel Vadot			0x1 0x0 0xff080000 0x8000
50*c66ec88fSEmmanuel Vadot			0x5 0x0 0xff0a0000 0x8000
51*c66ec88fSEmmanuel Vadot		>;
52*c66ec88fSEmmanuel Vadot
53*c66ec88fSEmmanuel Vadot		flash@0,0 {
54*c66ec88fSEmmanuel Vadot			compatible = "jedec-flash";
55*c66ec88fSEmmanuel Vadot			reg = <0x0 0x0 0x800000>;
56*c66ec88fSEmmanuel Vadot			bank-width = <4>;
57*c66ec88fSEmmanuel Vadot			device-width = <1>;
58*c66ec88fSEmmanuel Vadot		};
59*c66ec88fSEmmanuel Vadot
60*c66ec88fSEmmanuel Vadot		board-control@1,0 {
61*c66ec88fSEmmanuel Vadot			reg = <0x1 0x0 0x20 0x5 0x300 0x4>;
62*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc885ads-bcsr";
63*c66ec88fSEmmanuel Vadot		};
64*c66ec88fSEmmanuel Vadot	};
65*c66ec88fSEmmanuel Vadot
66*c66ec88fSEmmanuel Vadot	soc@ff000000 {
67*c66ec88fSEmmanuel Vadot		compatible = "fsl,mpc885", "fsl,pq1-soc";
68*c66ec88fSEmmanuel Vadot		#address-cells = <1>;
69*c66ec88fSEmmanuel Vadot		#size-cells = <1>;
70*c66ec88fSEmmanuel Vadot		device_type = "soc";
71*c66ec88fSEmmanuel Vadot		ranges = <0x0 0xff000000 0x28000>;
72*c66ec88fSEmmanuel Vadot		bus-frequency = <0>;
73*c66ec88fSEmmanuel Vadot
74*c66ec88fSEmmanuel Vadot		// Temporary -- will go away once kernel uses ranges for get_immrbase().
75*c66ec88fSEmmanuel Vadot		reg = <0xff000000 0x4000>;
76*c66ec88fSEmmanuel Vadot
77*c66ec88fSEmmanuel Vadot		mdio@e00 {
78*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc885-fec-mdio", "fsl,pq1-fec-mdio";
79*c66ec88fSEmmanuel Vadot			reg = <0xe00 0x188>;
80*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
81*c66ec88fSEmmanuel Vadot			#size-cells = <0>;
82*c66ec88fSEmmanuel Vadot
83*c66ec88fSEmmanuel Vadot			PHY0: ethernet-phy@0 {
84*c66ec88fSEmmanuel Vadot				reg = <0x0>;
85*c66ec88fSEmmanuel Vadot			};
86*c66ec88fSEmmanuel Vadot
87*c66ec88fSEmmanuel Vadot			PHY1: ethernet-phy@1 {
88*c66ec88fSEmmanuel Vadot				reg = <0x1>;
89*c66ec88fSEmmanuel Vadot			};
90*c66ec88fSEmmanuel Vadot
91*c66ec88fSEmmanuel Vadot			PHY2: ethernet-phy@2 {
92*c66ec88fSEmmanuel Vadot				reg = <0x2>;
93*c66ec88fSEmmanuel Vadot			};
94*c66ec88fSEmmanuel Vadot		};
95*c66ec88fSEmmanuel Vadot
96*c66ec88fSEmmanuel Vadot		ethernet@e00 {
97*c66ec88fSEmmanuel Vadot			device_type = "network";
98*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc885-fec-enet",
99*c66ec88fSEmmanuel Vadot			             "fsl,pq1-fec-enet";
100*c66ec88fSEmmanuel Vadot			reg = <0xe00 0x188>;
101*c66ec88fSEmmanuel Vadot			local-mac-address = [ 00 00 00 00 00 00 ];
102*c66ec88fSEmmanuel Vadot			interrupts = <3 1>;
103*c66ec88fSEmmanuel Vadot			interrupt-parent = <&PIC>;
104*c66ec88fSEmmanuel Vadot			phy-handle = <&PHY0>;
105*c66ec88fSEmmanuel Vadot			linux,network-index = <0>;
106*c66ec88fSEmmanuel Vadot		};
107*c66ec88fSEmmanuel Vadot
108*c66ec88fSEmmanuel Vadot		ethernet@1e00 {
109*c66ec88fSEmmanuel Vadot			device_type = "network";
110*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc885-fec-enet",
111*c66ec88fSEmmanuel Vadot			             "fsl,pq1-fec-enet";
112*c66ec88fSEmmanuel Vadot			reg = <0x1e00 0x188>;
113*c66ec88fSEmmanuel Vadot			local-mac-address = [ 00 00 00 00 00 00 ];
114*c66ec88fSEmmanuel Vadot			interrupts = <7 1>;
115*c66ec88fSEmmanuel Vadot			interrupt-parent = <&PIC>;
116*c66ec88fSEmmanuel Vadot			phy-handle = <&PHY1>;
117*c66ec88fSEmmanuel Vadot			linux,network-index = <1>;
118*c66ec88fSEmmanuel Vadot		};
119*c66ec88fSEmmanuel Vadot
120*c66ec88fSEmmanuel Vadot		PIC: interrupt-controller@0 {
121*c66ec88fSEmmanuel Vadot			interrupt-controller;
122*c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
123*c66ec88fSEmmanuel Vadot			reg = <0x0 0x24>;
124*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc885-pic", "fsl,pq1-pic";
125*c66ec88fSEmmanuel Vadot		};
126*c66ec88fSEmmanuel Vadot
127*c66ec88fSEmmanuel Vadot		pcmcia@80 {
128*c66ec88fSEmmanuel Vadot			#address-cells = <3>;
129*c66ec88fSEmmanuel Vadot			#interrupt-cells = <1>;
130*c66ec88fSEmmanuel Vadot			#size-cells = <2>;
131*c66ec88fSEmmanuel Vadot			compatible = "fsl,pq-pcmcia";
132*c66ec88fSEmmanuel Vadot			device_type = "pcmcia";
133*c66ec88fSEmmanuel Vadot			reg = <0x80 0x80>;
134*c66ec88fSEmmanuel Vadot			interrupt-parent = <&PIC>;
135*c66ec88fSEmmanuel Vadot			interrupts = <13 1>;
136*c66ec88fSEmmanuel Vadot		};
137*c66ec88fSEmmanuel Vadot
138*c66ec88fSEmmanuel Vadot		cpm@9c0 {
139*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
140*c66ec88fSEmmanuel Vadot			#size-cells = <1>;
141*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc885-cpm", "fsl,cpm1";
142*c66ec88fSEmmanuel Vadot			command-proc = <0x9c0>;
143*c66ec88fSEmmanuel Vadot			interrupts = <0>;	// cpm error interrupt
144*c66ec88fSEmmanuel Vadot			interrupt-parent = <&CPM_PIC>;
145*c66ec88fSEmmanuel Vadot			reg = <0x9c0 0x40>;
146*c66ec88fSEmmanuel Vadot			ranges;
147*c66ec88fSEmmanuel Vadot
148*c66ec88fSEmmanuel Vadot			muram@2000 {
149*c66ec88fSEmmanuel Vadot				#address-cells = <1>;
150*c66ec88fSEmmanuel Vadot				#size-cells = <1>;
151*c66ec88fSEmmanuel Vadot				ranges = <0x0 0x2000 0x2000>;
152*c66ec88fSEmmanuel Vadot
153*c66ec88fSEmmanuel Vadot				data@0 {
154*c66ec88fSEmmanuel Vadot					compatible = "fsl,cpm-muram-data";
155*c66ec88fSEmmanuel Vadot					reg = <0x0 0x1c00>;
156*c66ec88fSEmmanuel Vadot				};
157*c66ec88fSEmmanuel Vadot			};
158*c66ec88fSEmmanuel Vadot
159*c66ec88fSEmmanuel Vadot			brg@9f0 {
160*c66ec88fSEmmanuel Vadot				compatible = "fsl,mpc885-brg",
161*c66ec88fSEmmanuel Vadot				             "fsl,cpm1-brg",
162*c66ec88fSEmmanuel Vadot				             "fsl,cpm-brg";
163*c66ec88fSEmmanuel Vadot				clock-frequency = <0>;
164*c66ec88fSEmmanuel Vadot				reg = <0x9f0 0x10>;
165*c66ec88fSEmmanuel Vadot			};
166*c66ec88fSEmmanuel Vadot
167*c66ec88fSEmmanuel Vadot			CPM_PIC: interrupt-controller@930 {
168*c66ec88fSEmmanuel Vadot				interrupt-controller;
169*c66ec88fSEmmanuel Vadot				#interrupt-cells = <1>;
170*c66ec88fSEmmanuel Vadot				interrupts = <5 2 0 2>;
171*c66ec88fSEmmanuel Vadot				interrupt-parent = <&PIC>;
172*c66ec88fSEmmanuel Vadot				reg = <0x930 0x20>;
173*c66ec88fSEmmanuel Vadot				compatible = "fsl,mpc885-cpm-pic",
174*c66ec88fSEmmanuel Vadot				             "fsl,cpm1-pic";
175*c66ec88fSEmmanuel Vadot			};
176*c66ec88fSEmmanuel Vadot
177*c66ec88fSEmmanuel Vadot			serial@a80 {
178*c66ec88fSEmmanuel Vadot				device_type = "serial";
179*c66ec88fSEmmanuel Vadot				compatible = "fsl,mpc885-smc-uart",
180*c66ec88fSEmmanuel Vadot				             "fsl,cpm1-smc-uart";
181*c66ec88fSEmmanuel Vadot				reg = <0xa80 0x10 0x3e80 0x40>;
182*c66ec88fSEmmanuel Vadot				interrupts = <4>;
183*c66ec88fSEmmanuel Vadot				interrupt-parent = <&CPM_PIC>;
184*c66ec88fSEmmanuel Vadot				fsl,cpm-brg = <1>;
185*c66ec88fSEmmanuel Vadot				fsl,cpm-command = <0x90>;
186*c66ec88fSEmmanuel Vadot			};
187*c66ec88fSEmmanuel Vadot
188*c66ec88fSEmmanuel Vadot			serial@a90 {
189*c66ec88fSEmmanuel Vadot				device_type = "serial";
190*c66ec88fSEmmanuel Vadot				compatible = "fsl,mpc885-smc-uart",
191*c66ec88fSEmmanuel Vadot				             "fsl,cpm1-smc-uart";
192*c66ec88fSEmmanuel Vadot				reg = <0xa90 0x10 0x3f80 0x40>;
193*c66ec88fSEmmanuel Vadot				interrupts = <3>;
194*c66ec88fSEmmanuel Vadot				interrupt-parent = <&CPM_PIC>;
195*c66ec88fSEmmanuel Vadot				fsl,cpm-brg = <2>;
196*c66ec88fSEmmanuel Vadot				fsl,cpm-command = <0xd0>;
197*c66ec88fSEmmanuel Vadot			};
198*c66ec88fSEmmanuel Vadot
199*c66ec88fSEmmanuel Vadot			ethernet@a40 {
200*c66ec88fSEmmanuel Vadot				device_type = "network";
201*c66ec88fSEmmanuel Vadot				compatible = "fsl,mpc885-scc-enet",
202*c66ec88fSEmmanuel Vadot				             "fsl,cpm1-scc-enet";
203*c66ec88fSEmmanuel Vadot				reg = <0xa40 0x18 0x3e00 0x100>;
204*c66ec88fSEmmanuel Vadot				local-mac-address = [ 00 00 00 00 00 00 ];
205*c66ec88fSEmmanuel Vadot				interrupts = <28>;
206*c66ec88fSEmmanuel Vadot				interrupt-parent = <&CPM_PIC>;
207*c66ec88fSEmmanuel Vadot				phy-handle = <&PHY2>;
208*c66ec88fSEmmanuel Vadot				fsl,cpm-command = <0x80>;
209*c66ec88fSEmmanuel Vadot				linux,network-index = <2>;
210*c66ec88fSEmmanuel Vadot			};
211*c66ec88fSEmmanuel Vadot
212*c66ec88fSEmmanuel Vadot			i2c@860 {
213*c66ec88fSEmmanuel Vadot				compatible = "fsl,mpc885-i2c",
214*c66ec88fSEmmanuel Vadot					     "fsl,cpm1-i2c";
215*c66ec88fSEmmanuel Vadot				reg = <0x860 0x20 0x3c80 0x30>;
216*c66ec88fSEmmanuel Vadot				interrupts = <16>;
217*c66ec88fSEmmanuel Vadot				interrupt-parent = <&CPM_PIC>;
218*c66ec88fSEmmanuel Vadot				fsl,cpm-command = <0x10>;
219*c66ec88fSEmmanuel Vadot				#address-cells = <1>;
220*c66ec88fSEmmanuel Vadot				#size-cells = <0>;
221*c66ec88fSEmmanuel Vadot			};
222*c66ec88fSEmmanuel Vadot		};
223*c66ec88fSEmmanuel Vadot
224*c66ec88fSEmmanuel Vadot		crypto@20000 {
225*c66ec88fSEmmanuel Vadot			compatible = "fsl,sec1.2", "fsl,sec1.0";
226*c66ec88fSEmmanuel Vadot			reg = <0x20000 0x8000>;
227*c66ec88fSEmmanuel Vadot			interrupts = <1 1>;
228*c66ec88fSEmmanuel Vadot			interrupt-parent = <&PIC>;
229*c66ec88fSEmmanuel Vadot			fsl,num-channels = <1>;
230*c66ec88fSEmmanuel Vadot			fsl,channel-fifo-len = <24>;
231*c66ec88fSEmmanuel Vadot			fsl,exec-units-mask = <0x4c>;
232*c66ec88fSEmmanuel Vadot			fsl,descriptor-types-mask = <0x05000154>;
233*c66ec88fSEmmanuel Vadot		};
234*c66ec88fSEmmanuel Vadot	};
235*c66ec88fSEmmanuel Vadot
236*c66ec88fSEmmanuel Vadot	chosen {
237*c66ec88fSEmmanuel Vadot		stdout-path = "/soc/cpm/serial@a80";
238*c66ec88fSEmmanuel Vadot	};
239*c66ec88fSEmmanuel Vadot};
240