1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * EP88xC Device Tree Source
4 *
5 * Copyright 2006 MontaVista Software, Inc.
6 * Copyright 2007,2008 Freescale Semiconductor, Inc.
7 */
8
9/dts-v1/;
10
11/ {
12	model = "EP88xC";
13	compatible = "fsl,ep88xc";
14	#address-cells = <1>;
15	#size-cells = <1>;
16
17	cpus {
18		#address-cells = <1>;
19		#size-cells = <0>;
20
21		PowerPC,885@0 {
22			device_type = "cpu";
23			reg = <0x0>;
24			d-cache-line-size = <16>;
25			i-cache-line-size = <16>;
26			d-cache-size = <8192>;
27			i-cache-size = <8192>;
28			timebase-frequency = <0>;
29			bus-frequency = <0>;
30			clock-frequency = <0>;
31			interrupts = <15 2>;	// decrementer interrupt
32			interrupt-parent = <&PIC>;
33		};
34	};
35
36	memory {
37		device_type = "memory";
38		reg = <0x0 0x0>;
39	};
40
41	localbus@fa200100 {
42		compatible = "fsl,mpc885-localbus", "fsl,pq1-localbus";
43		#address-cells = <2>;
44		#size-cells = <1>;
45		reg = <0xfa200100 0x40>;
46
47		ranges = <
48			0x0 0x0 0xfc000000 0x4000000
49			0x3 0x0 0xfa000000 0x1000000
50		>;
51
52		flash@0,2000000 {
53			compatible = "cfi-flash";
54			reg = <0x0 0x2000000 0x2000000>;
55			bank-width = <4>;
56			device-width = <2>;
57		};
58
59		board-control@3,400000 {
60			reg = <0x3 0x400000 0x10>;
61			compatible = "fsl,ep88xc-bcsr";
62		};
63	};
64
65	soc@fa200000 {
66		compatible = "fsl,mpc885", "fsl,pq1-soc";
67		#address-cells = <1>;
68		#size-cells = <1>;
69		device_type = "soc";
70		ranges = <0x0 0xfa200000 0x4000>;
71		bus-frequency = <0>;
72
73		// Temporary -- will go away once kernel uses ranges for get_immrbase().
74		reg = <0xfa200000 0x4000>;
75
76		mdio@e00 {
77			compatible = "fsl,mpc885-fec-mdio", "fsl,pq1-fec-mdio";
78			reg = <0xe00 0x188>;
79			#address-cells = <1>;
80			#size-cells = <0>;
81
82			PHY0: ethernet-phy@0 {
83				reg = <0x0>;
84			};
85
86			PHY1: ethernet-phy@1 {
87				reg = <0x1>;
88			};
89		};
90
91		ethernet@e00 {
92			device_type = "network";
93			compatible = "fsl,mpc885-fec-enet",
94			             "fsl,pq1-fec-enet";
95			reg = <0xe00 0x188>;
96			local-mac-address = [ 00 00 00 00 00 00 ];
97			interrupts = <3 1>;
98			interrupt-parent = <&PIC>;
99			phy-handle = <&PHY0>;
100			linux,network-index = <0>;
101		};
102
103		ethernet@1e00 {
104			device_type = "network";
105			compatible = "fsl,mpc885-fec-enet",
106			             "fsl,pq1-fec-enet";
107			reg = <0x1e00 0x188>;
108			local-mac-address = [ 00 00 00 00 00 00 ];
109			interrupts = <7 1>;
110			interrupt-parent = <&PIC>;
111			phy-handle = <&PHY1>;
112			linux,network-index = <1>;
113		};
114
115		PIC: interrupt-controller@0 {
116			interrupt-controller;
117			#interrupt-cells = <2>;
118			reg = <0x0 0x24>;
119			compatible = "fsl,mpc885-pic", "fsl,pq1-pic";
120		};
121
122		pcmcia@80 {
123			#address-cells = <3>;
124			#interrupt-cells = <1>;
125			#size-cells = <2>;
126			compatible = "fsl,pq-pcmcia";
127			device_type = "pcmcia";
128			reg = <0x80 0x80>;
129			interrupt-parent = <&PIC>;
130			interrupts = <13 1>;
131		};
132
133		cpm@9c0 {
134			#address-cells = <1>;
135			#size-cells = <1>;
136			compatible = "fsl,mpc885-cpm", "fsl,cpm1";
137			command-proc = <0x9c0>;
138			interrupts = <0>;	// cpm error interrupt
139			interrupt-parent = <&CPM_PIC>;
140			reg = <0x9c0 0x40>;
141			ranges;
142
143			muram@2000 {
144				#address-cells = <1>;
145				#size-cells = <1>;
146				ranges = <0x0 0x2000 0x2000>;
147
148				data@0 {
149					compatible = "fsl,cpm-muram-data";
150					reg = <0x0 0x1c00>;
151				};
152			};
153
154			brg@9f0 {
155				compatible = "fsl,mpc885-brg",
156				             "fsl,cpm1-brg",
157				             "fsl,cpm-brg";
158				reg = <0x9f0 0x10>;
159			};
160
161			CPM_PIC: interrupt-controller@930 {
162				interrupt-controller;
163				#interrupt-cells = <1>;
164				interrupts = <5 2 0 2>;
165				interrupt-parent = <&PIC>;
166				reg = <0x930 0x20>;
167				compatible = "fsl,mpc885-cpm-pic",
168				             "fsl,cpm1-pic";
169			};
170
171			// MON-1
172			serial@a80 {
173				device_type = "serial";
174				compatible = "fsl,mpc885-smc-uart",
175				             "fsl,cpm1-smc-uart";
176				reg = <0xa80 0x10 0x3e80 0x40>;
177				interrupts = <4>;
178				interrupt-parent = <&CPM_PIC>;
179				fsl,cpm-brg = <1>;
180				fsl,cpm-command = <0x90>;
181				linux,planetcore-label = "SMC1";
182			};
183
184			// SER-1
185			serial@a20 {
186				device_type = "serial";
187				compatible = "fsl,mpc885-scc-uart",
188				             "fsl,cpm1-scc-uart";
189				reg = <0xa20 0x20 0x3d00 0x80>;
190				interrupts = <29>;
191				interrupt-parent = <&CPM_PIC>;
192				fsl,cpm-brg = <2>;
193				fsl,cpm-command = <0x40>;
194				linux,planetcore-label = "SCC2";
195			};
196
197			usb@a00 {
198				#address-cells = <1>;
199				#size-cells = <0>;
200				compatible = "fsl,mpc885-usb",
201				             "fsl,cpm1-usb";
202				reg = <0xa00 0x18 0x1c00 0x80>;
203				interrupt-parent = <&CPM_PIC>;
204				interrupts = <30>;
205				fsl,cpm-command = <0000>;
206			};
207		};
208	};
209};
210