]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blob - arch/powerpc/boot/dts/mpc8313erdb.dts
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
[mirror_ubuntu-eoan-kernel.git] / arch / powerpc / boot / dts / mpc8313erdb.dts
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3 * MPC8313E RDB Device Tree Source
4 *
5 * Copyright 2005, 2006, 2007 Freescale Semiconductor Inc.
6 */
7
8 /dts-v1/;
9
10 / {
11 model = "MPC8313ERDB";
12 compatible = "MPC8313ERDB", "MPC831xRDB", "MPC83xxRDB";
13 #address-cells = <1>;
14 #size-cells = <1>;
15
16 aliases {
17 ethernet0 = &enet0;
18 ethernet1 = &enet1;
19 serial0 = &serial0;
20 serial1 = &serial1;
21 pci0 = &pci0;
22 };
23
24 cpus {
25 #address-cells = <1>;
26 #size-cells = <0>;
27
28 PowerPC,8313@0 {
29 device_type = "cpu";
30 reg = <0x0>;
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>; // from bootloader
36 bus-frequency = <0>; // from bootloader
37 clock-frequency = <0>; // from bootloader
38 };
39 };
40
41 memory {
42 device_type = "memory";
43 reg = <0x00000000 0x08000000>; // 128MB at 0
44 };
45
46 localbus@e0005000 {
47 #address-cells = <2>;
48 #size-cells = <1>;
49 compatible = "fsl,mpc8313-elbc", "fsl,elbc", "simple-bus";
50 reg = <0xe0005000 0x1000>;
51 interrupts = <77 0x8>;
52 interrupt-parent = <&ipic>;
53
54 // CS0 and CS1 are swapped when
55 // booting from nand, but the
56 // addresses are the same.
57 ranges = <0x0 0x0 0xfe000000 0x00800000
58 0x1 0x0 0xe2800000 0x00008000
59 0x2 0x0 0xf0000000 0x00020000
60 0x3 0x0 0xfa000000 0x00008000>;
61
62 flash@0,0 {
63 #address-cells = <1>;
64 #size-cells = <1>;
65 compatible = "cfi-flash";
66 reg = <0x0 0x0 0x800000>;
67 bank-width = <2>;
68 device-width = <1>;
69 };
70
71 nand@1,0 {
72 #address-cells = <1>;
73 #size-cells = <1>;
74 compatible = "fsl,mpc8313-fcm-nand",
75 "fsl,elbc-fcm-nand";
76 reg = <0x1 0x0 0x2000>;
77
78 u-boot@0 {
79 reg = <0x0 0x100000>;
80 read-only;
81 };
82
83 kernel@100000 {
84 reg = <0x100000 0x300000>;
85 };
86
87 fs@400000 {
88 reg = <0x400000 0x1c00000>;
89 };
90 };
91 };
92
93 soc8313@e0000000 {
94 #address-cells = <1>;
95 #size-cells = <1>;
96 device_type = "soc";
97 compatible = "simple-bus";
98 ranges = <0x0 0xe0000000 0x00100000>;
99 reg = <0xe0000000 0x00000200>;
100 bus-frequency = <0>;
101
102 wdt@200 {
103 device_type = "watchdog";
104 compatible = "mpc83xx_wdt";
105 reg = <0x200 0x100>;
106 };
107
108 sleep-nexus {
109 #address-cells = <1>;
110 #size-cells = <1>;
111 compatible = "simple-bus";
112 sleep = <&pmc 0x03000000>;
113 ranges;
114
115 i2c@3000 {
116 #address-cells = <1>;
117 #size-cells = <0>;
118 cell-index = <0>;
119 compatible = "fsl-i2c";
120 reg = <0x3000 0x100>;
121 interrupts = <14 0x8>;
122 interrupt-parent = <&ipic>;
123 dfsrr;
124 rtc@68 {
125 compatible = "dallas,ds1339";
126 reg = <0x68>;
127 };
128 };
129
130 crypto@30000 {
131 compatible = "fsl,sec2.2", "fsl,sec2.1",
132 "fsl,sec2.0";
133 reg = <0x30000 0x10000>;
134 interrupts = <11 0x8>;
135 interrupt-parent = <&ipic>;
136 fsl,num-channels = <1>;
137 fsl,channel-fifo-len = <24>;
138 fsl,exec-units-mask = <0x4c>;
139 fsl,descriptor-types-mask = <0x0122003f>;
140 };
141 };
142
143 i2c@3100 {
144 #address-cells = <1>;
145 #size-cells = <0>;
146 cell-index = <1>;
147 compatible = "fsl-i2c";
148 reg = <0x3100 0x100>;
149 interrupts = <15 0x8>;
150 interrupt-parent = <&ipic>;
151 dfsrr;
152 };
153
154 spi@7000 {
155 cell-index = <0>;
156 compatible = "fsl,spi";
157 reg = <0x7000 0x1000>;
158 interrupts = <16 0x8>;
159 interrupt-parent = <&ipic>;
160 mode = "cpu";
161 };
162
163 /* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */
164 usb@23000 {
165 compatible = "fsl-usb2-dr";
166 reg = <0x23000 0x1000>;
167 #address-cells = <1>;
168 #size-cells = <0>;
169 interrupt-parent = <&ipic>;
170 interrupts = <38 0x8>;
171 phy_type = "utmi_wide";
172 sleep = <&pmc 0x00300000>;
173 };
174
175 ptp_clock@24E00 {
176 compatible = "fsl,etsec-ptp";
177 reg = <0x24E00 0xB0>;
178 interrupts = <12 0x8 13 0x8>;
179 interrupt-parent = < &ipic >;
180 fsl,tclk-period = <10>;
181 fsl,tmr-prsc = <100>;
182 fsl,tmr-add = <0x999999A4>;
183 fsl,tmr-fiper1 = <0x3B9AC9F6>;
184 fsl,tmr-fiper2 = <0x00018696>;
185 fsl,max-adj = <659999998>;
186 };
187
188 enet0: ethernet@24000 {
189 #address-cells = <1>;
190 #size-cells = <1>;
191 sleep = <&pmc 0x20000000>;
192 ranges = <0x0 0x24000 0x1000>;
193
194 cell-index = <0>;
195 device_type = "network";
196 model = "eTSEC";
197 compatible = "gianfar";
198 reg = <0x24000 0x1000>;
199 local-mac-address = [ 00 00 00 00 00 00 ];
200 interrupts = <37 0x8 36 0x8 35 0x8>;
201 interrupt-parent = <&ipic>;
202 tbi-handle = < &tbi0 >;
203 /* Vitesse 7385 isn't on the MDIO bus */
204 fixed-link = <1 1 1000 0 0>;
205 fsl,magic-packet;
206
207 mdio@520 {
208 #address-cells = <1>;
209 #size-cells = <0>;
210 compatible = "fsl,gianfar-mdio";
211 reg = <0x520 0x20>;
212 phy4: ethernet-phy@4 {
213 interrupt-parent = <&ipic>;
214 interrupts = <20 0x8>;
215 reg = <0x4>;
216 };
217 tbi0: tbi-phy@11 {
218 reg = <0x11>;
219 device_type = "tbi-phy";
220 };
221 };
222 };
223
224 enet1: ethernet@25000 {
225 #address-cells = <1>;
226 #size-cells = <1>;
227 cell-index = <1>;
228 device_type = "network";
229 model = "eTSEC";
230 compatible = "gianfar";
231 reg = <0x25000 0x1000>;
232 ranges = <0x0 0x25000 0x1000>;
233 local-mac-address = [ 00 00 00 00 00 00 ];
234 interrupts = <34 0x8 33 0x8 32 0x8>;
235 interrupt-parent = <&ipic>;
236 tbi-handle = < &tbi1 >;
237 phy-handle = < &phy4 >;
238 sleep = <&pmc 0x10000000>;
239 fsl,magic-packet;
240
241 mdio@520 {
242 #address-cells = <1>;
243 #size-cells = <0>;
244 compatible = "fsl,gianfar-tbi";
245 reg = <0x520 0x20>;
246
247 tbi1: tbi-phy@11 {
248 reg = <0x11>;
249 device_type = "tbi-phy";
250 };
251 };
252
253
254 };
255
256 serial0: serial@4500 {
257 cell-index = <0>;
258 device_type = "serial";
259 compatible = "fsl,ns16550", "ns16550";
260 reg = <0x4500 0x100>;
261 clock-frequency = <0>;
262 interrupts = <9 0x8>;
263 interrupt-parent = <&ipic>;
264 };
265
266 serial1: serial@4600 {
267 cell-index = <1>;
268 device_type = "serial";
269 compatible = "fsl,ns16550", "ns16550";
270 reg = <0x4600 0x100>;
271 clock-frequency = <0>;
272 interrupts = <10 0x8>;
273 interrupt-parent = <&ipic>;
274 };
275
276 /* IPIC
277 * interrupts cell = <intr #, sense>
278 * sense values match linux IORESOURCE_IRQ_* defines:
279 * sense == 8: Level, low assertion
280 * sense == 2: Edge, high-to-low change
281 */
282 ipic: pic@700 {
283 interrupt-controller;
284 #address-cells = <0>;
285 #interrupt-cells = <2>;
286 reg = <0x700 0x100>;
287 device_type = "ipic";
288 };
289
290 pmc: power@b00 {
291 compatible = "fsl,mpc8313-pmc", "fsl,mpc8349-pmc";
292 reg = <0xb00 0x100 0xa00 0x100>;
293 interrupts = <80 8>;
294 interrupt-parent = <&ipic>;
295 fsl,mpc8313-wakeup-timer = <&gtm1>;
296
297 /* Remove this (or change to "okay") if you have
298 * a REVA3 or later board, if you apply one of the
299 * workarounds listed in section 8.5 of the board
300 * manual, or if you are adapting this device tree
301 * to a different board.
302 */
303 status = "fail";
304 };
305
306 gtm1: timer@500 {
307 compatible = "fsl,mpc8313-gtm", "fsl,gtm";
308 reg = <0x500 0x100>;
309 interrupts = <90 8 78 8 84 8 72 8>;
310 interrupt-parent = <&ipic>;
311 };
312
313 timer@600 {
314 compatible = "fsl,mpc8313-gtm", "fsl,gtm";
315 reg = <0x600 0x100>;
316 interrupts = <91 8 79 8 85 8 73 8>;
317 interrupt-parent = <&ipic>;
318 };
319 };
320
321 sleep-nexus {
322 #address-cells = <1>;
323 #size-cells = <1>;
324 compatible = "simple-bus";
325 sleep = <&pmc 0x00010000>;
326 ranges;
327
328 pci0: pci@e0008500 {
329 cell-index = <1>;
330 interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
331 interrupt-map = <
332 /* IDSEL 0x0E -mini PCI */
333 0x7000 0x0 0x0 0x1 &ipic 18 0x8
334 0x7000 0x0 0x0 0x2 &ipic 18 0x8
335 0x7000 0x0 0x0 0x3 &ipic 18 0x8
336 0x7000 0x0 0x0 0x4 &ipic 18 0x8
337
338 /* IDSEL 0x0F - PCI slot */
339 0x7800 0x0 0x0 0x1 &ipic 17 0x8
340 0x7800 0x0 0x0 0x2 &ipic 18 0x8
341 0x7800 0x0 0x0 0x3 &ipic 17 0x8
342 0x7800 0x0 0x0 0x4 &ipic 18 0x8>;
343 interrupt-parent = <&ipic>;
344 interrupts = <66 0x8>;
345 bus-range = <0x0 0x0>;
346 ranges = <0x02000000 0x0 0x90000000 0x90000000 0x0 0x10000000
347 0x42000000 0x0 0x80000000 0x80000000 0x0 0x10000000
348 0x01000000 0x0 0x00000000 0xe2000000 0x0 0x00100000>;
349 clock-frequency = <66666666>;
350 #interrupt-cells = <1>;
351 #size-cells = <2>;
352 #address-cells = <3>;
353 reg = <0xe0008500 0x100 /* internal registers */
354 0xe0008300 0x8>; /* config space access registers */
355 compatible = "fsl,mpc8349-pci";
356 device_type = "pci";
357 };
358
359 dma@82a8 {
360 #address-cells = <1>;
361 #size-cells = <1>;
362 compatible = "fsl,mpc8313-dma", "fsl,elo-dma";
363 reg = <0xe00082a8 4>;
364 ranges = <0 0xe0008100 0x1a8>;
365 interrupt-parent = <&ipic>;
366 interrupts = <71 8>;
367
368 dma-channel@0 {
369 compatible = "fsl,mpc8313-dma-channel",
370 "fsl,elo-dma-channel";
371 reg = <0 0x28>;
372 interrupt-parent = <&ipic>;
373 interrupts = <71 8>;
374 cell-index = <0>;
375 };
376
377 dma-channel@80 {
378 compatible = "fsl,mpc8313-dma-channel",
379 "fsl,elo-dma-channel";
380 reg = <0x80 0x28>;
381 interrupt-parent = <&ipic>;
382 interrupts = <71 8>;
383 cell-index = <1>;
384 };
385
386 dma-channel@100 {
387 compatible = "fsl,mpc8313-dma-channel",
388 "fsl,elo-dma-channel";
389 reg = <0x100 0x28>;
390 interrupt-parent = <&ipic>;
391 interrupts = <71 8>;
392 cell-index = <2>;
393 };
394
395 dma-channel@180 {
396 compatible = "fsl,mpc8313-dma-channel",
397 "fsl,elo-dma-channel";
398 reg = <0x180 0x28>;
399 interrupt-parent = <&ipic>;
400 interrupts = <71 8>;
401 cell-index = <3>;
402 };
403 };
404 };
405 };