1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Device Tree for the Embedded Planet EP8248E board running PlanetCore.
4 *
5 * Copyright 2007 Freescale Semiconductor Inc.
6 */
7
8/dts-v1/;
9/ {
10	model = "EP8248E";
11	compatible = "fsl,ep8248e";
12	#address-cells = <1>;
13	#size-cells = <1>;
14
15	aliases {
16		planetcore-SMC1 = &smc1;
17		planetcore-SCC1 = &scc1;
18		ethernet0 = &eth0;
19		ethernet1 = &eth1;
20		serial0 = &smc1;
21		serial1 = &scc1;
22	};
23
24	cpus {
25		#address-cells = <1>;
26		#size-cells = <0>;
27
28		PowerPC,8248@0 {
29			device_type = "cpu";
30			reg = <0>;
31			d-cache-line-size = <32>;
32			i-cache-line-size = <32>;
33			d-cache-size = <16384>;
34			i-cache-size = <16384>;
35			timebase-frequency = <0>;
36			clock-frequency = <0>;
37		};
38	};
39
40	localbus@f0010100 {
41		compatible = "fsl,mpc8248-localbus",
42		             "fsl,pq2-localbus",
43		             "simple-bus";
44		#address-cells = <2>;
45		#size-cells = <1>;
46		reg = <0xf0010100 0x40>;
47
48		ranges = <0 0 0xfc000000 0x04000000
49		          1 0 0xfa000000 0x00008000>;
50
51		flash@0,3800000 {
52			compatible = "cfi-flash";
53			reg = <0 0x3800000 0x800000>;
54			bank-width = <4>;
55			device-width = <2>;
56		};
57
58		bcsr@1,0 {
59			#address-cells = <2>;
60			#size-cells = <1>;
61			reg = <1 0 0x10>;
62			compatible = "fsl,ep8248e-bcsr";
63			ranges;
64
65			mdio {
66				compatible = "fsl,ep8248e-mdio-bitbang";
67				#address-cells = <1>;
68				#size-cells = <0>;
69				reg = <1 8 1>;
70
71				PHY0: ethernet-phy@0 {
72					interrupt-parent = <&PIC>;
73					reg = <0>;
74				};
75
76				PHY1: ethernet-phy@1 {
77					interrupt-parent = <&PIC>;
78					reg = <1>;
79				};
80			};
81		};
82	};
83
84	memory {
85		device_type = "memory";
86		reg = <0 0>;
87	};
88
89	soc@f0000000 {
90		#address-cells = <1>;
91		#size-cells = <1>;
92		compatible = "fsl,mpc8248-immr", "fsl,pq2-soc", "simple-bus";
93		ranges = <0x00000000 0xf0000000 0x00053000>;
94
95		// Temporary until code stops depending on it.
96		device_type = "soc";
97
98		// Temporary -- will go away once kernel uses ranges for get_immrbase().
99		reg = <0xf0000000 0x00053000>;
100
101		cpm@119c0 {
102			#address-cells = <1>;
103			#size-cells = <1>;
104			#interrupt-cells = <2>;
105			compatible = "fsl,mpc8248-cpm", "fsl,cpm2",
106			             "simple-bus";
107			reg = <0x119c0 0x30>;
108			ranges;
109
110			muram {
111				#address-cells = <1>;
112				#size-cells = <1>;
113				ranges = <0 0 0x10000>;
114
115				data@0 {
116					compatible = "fsl,cpm-muram-data";
117					reg = <0 0x2000 0x9800 0x800>;
118				};
119			};
120
121			brg@119f0 {
122				compatible = "fsl,mpc8248-brg",
123				             "fsl,cpm2-brg",
124				             "fsl,cpm-brg";
125				reg = <0x119f0 0x10 0x115f0 0x10>;
126			};
127
128			/* Monitor port/SMC1 */
129			smc1: serial@11a80 {
130				device_type = "serial";
131				compatible = "fsl,mpc8248-smc-uart",
132				             "fsl,cpm2-smc-uart";
133				reg = <0x11a80 0x20 0x87fc 2>;
134				interrupts = <4 8>;
135				interrupt-parent = <&PIC>;
136				fsl,cpm-brg = <7>;
137				fsl,cpm-command = <0x1d000000>;
138				linux,planetcore-label = "SMC1";
139			};
140
141			/* "Serial" port/SCC1 */
142			scc1: serial@11a00 {
143				device_type = "serial";
144				compatible = "fsl,mpc8248-scc-uart",
145				             "fsl,cpm2-scc-uart";
146				reg = <0x11a00 0x20 0x8000 0x100>;
147				interrupts = <40 8>;
148				interrupt-parent = <&PIC>;
149				fsl,cpm-brg = <1>;
150				fsl,cpm-command = <0x00800000>;
151				linux,planetcore-label = "SCC1";
152			};
153
154			eth0: ethernet@11300 {
155				device_type = "network";
156				compatible = "fsl,mpc8248-fcc-enet",
157				             "fsl,cpm2-fcc-enet";
158				reg = <0x11300 0x20 0x8400 0x100 0x11390 1>;
159				local-mac-address = [ 00 00 00 00 00 00 ];
160				interrupts = <32 8>;
161				interrupt-parent = <&PIC>;
162				phy-handle = <&PHY0>;
163				linux,network-index = <0>;
164				fsl,cpm-command = <0x12000300>;
165			};
166
167			eth1: ethernet@11320 {
168				device_type = "network";
169				compatible = "fsl,mpc8248-fcc-enet",
170				             "fsl,cpm2-fcc-enet";
171				reg = <0x11320 0x20 0x8500 0x100 0x113b0 1>;
172				local-mac-address = [ 00 00 00 00 00 00 ];
173				interrupts = <33 8>;
174				interrupt-parent = <&PIC>;
175				phy-handle = <&PHY1>;
176				linux,network-index = <1>;
177				fsl,cpm-command = <0x16200300>;
178			};
179
180			usb@11b60 {
181				#address-cells = <1>;
182				#size-cells = <0>;
183				compatible = "fsl,mpc8248-usb",
184				             "fsl,cpm2-usb";
185				reg = <0x11b60 0x18 0x8b00 0x100>;
186				interrupt-parent = <&PIC>;
187				interrupts = <11 8>;
188				fsl,cpm-command = <0x2e600000>;
189			};
190		};
191
192		PIC: interrupt-controller@10c00 {
193			#interrupt-cells = <2>;
194			interrupt-controller;
195			reg = <0x10c00 0x80>;
196			compatible = "fsl,mpc8248-pic", "fsl,pq2-pic";
197		};
198	};
199};
200