1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * base MPC5121 Device Tree Source
5 * Copyright 2007-2008 Freescale Semiconductor Inc.
8 #include <dt-bindings/clock/mpc512x-clock.h>
14 compatible = "fsl,mpc5121";
17 interrupt-parent = <&ipic>;
31 d-cache-line-size = <0x20>; /* 32 bytes */
32 i-cache-line-size = <0x20>; /* 32 bytes */
33 d-cache-size = <0x8000>; /* L1, 32K */
34 i-cache-size = <0x8000>; /* L1, 32K */
35 timebase-frequency = <49500000>;/* 49.5 MHz (csb/4) */
36 bus-frequency = <198000000>; /* 198 MHz csb bus */
37 clock-frequency = <396000000>; /* 396 MHz ppc core */
42 device_type = "memory";
43 reg = <0x00000000 0x10000000>; /* 256MB at 0 */
47 compatible = "fsl,mpc5121-mbx";
48 reg = <0x20000000 0x4000>;
49 interrupts = <66 0x8>;
50 clocks = <&clks MPC512x_CLK_MBX_BUS>,
51 <&clks MPC512x_CLK_MBX_3D>,
52 <&clks MPC512x_CLK_MBX>;
53 clock-names = "mbx-bus", "mbx-3d", "mbx";
57 compatible = "fsl,mpc5121-sram";
58 reg = <0x30000000 0x20000>; /* 128K at 0x30000000 */
62 compatible = "fsl,mpc5121-nfc";
63 reg = <0x40000000 0x100000>; /* 1M at 0x40000000 */
67 clocks = <&clks MPC512x_CLK_NFC>;
72 compatible = "fsl,mpc5121-localbus";
75 reg = <0x80000020 0x40>;
76 ranges = <0x0 0x0 0xfc000000 0x04000000>;
84 compatible = "fixed-clock";
86 clock-frequency = <33000000>;
91 compatible = "fsl,mpc5121-immr";
94 ranges = <0x0 0x80000000 0x400000>;
95 reg = <0x80000000 0x400000>;
96 bus-frequency = <66000000>; /* 66 MHz ips bus */
101 * interrupts cell = <intr #, sense>
102 * sense values match linux IORESOURCE_IRQ_* defines:
103 * sense == 8: Level, low assertion
104 * sense == 2: Edge, high-to-low change
106 ipic: interrupt-controller@c00 {
107 compatible = "fsl,mpc5121-ipic", "fsl,ipic";
108 interrupt-controller;
109 #address-cells = <0>;
110 #interrupt-cells = <2>;
116 compatible = "fsl,mpc5121-wdt";
120 /* Real time clock */
122 compatible = "fsl,mpc5121-rtc";
124 interrupts = <79 0x8 80 0x8>;
129 compatible = "fsl,mpc5121-reset";
135 compatible = "fsl,mpc5121-clock";
142 /* Power Management Controller */
144 compatible = "fsl,mpc5121-pmc";
145 reg = <0x1000 0x100>;
146 interrupts = <83 0x8>;
150 compatible = "fsl,mpc5121-gpio";
151 reg = <0x1100 0x100>;
152 interrupts = <78 0x8>;
156 compatible = "fsl,mpc5121-mscan";
158 interrupts = <12 0x8>;
159 clocks = <&clks MPC512x_CLK_BDLC>,
160 <&clks MPC512x_CLK_IPS>,
161 <&clks MPC512x_CLK_SYS>,
162 <&clks MPC512x_CLK_REF>,
163 <&clks MPC512x_CLK_MSCAN0_MCLK>;
164 clock-names = "ipg", "ips", "sys", "ref", "mclk";
168 compatible = "fsl,mpc5121-mscan";
170 interrupts = <13 0x8>;
171 clocks = <&clks MPC512x_CLK_BDLC>,
172 <&clks MPC512x_CLK_IPS>,
173 <&clks MPC512x_CLK_SYS>,
174 <&clks MPC512x_CLK_REF>,
175 <&clks MPC512x_CLK_MSCAN1_MCLK>;
176 clock-names = "ipg", "ips", "sys", "ref", "mclk";
180 compatible = "fsl,mpc5121-sdhc";
181 reg = <0x1500 0x100>;
182 interrupts = <8 0x8>;
185 clocks = <&clks MPC512x_CLK_IPS>,
186 <&clks MPC512x_CLK_SDHC>;
187 clock-names = "ipg", "per";
191 #address-cells = <1>;
193 compatible = "fsl,mpc5121-i2c", "fsl-i2c";
195 interrupts = <9 0x8>;
196 clocks = <&clks MPC512x_CLK_I2C>;
201 #address-cells = <1>;
203 compatible = "fsl,mpc5121-i2c", "fsl-i2c";
205 interrupts = <10 0x8>;
206 clocks = <&clks MPC512x_CLK_I2C>;
211 #address-cells = <1>;
213 compatible = "fsl,mpc5121-i2c", "fsl-i2c";
215 interrupts = <11 0x8>;
216 clocks = <&clks MPC512x_CLK_I2C>;
221 compatible = "fsl,mpc5121-i2c-ctrl";
226 compatible = "fsl,mpc5121-axe";
227 reg = <0x2000 0x100>;
228 interrupts = <42 0x8>;
229 clocks = <&clks MPC512x_CLK_AXE>;
234 compatible = "fsl,mpc5121-diu";
235 reg = <0x2100 0x100>;
236 interrupts = <64 0x8>;
237 clocks = <&clks MPC512x_CLK_DIU>;
242 compatible = "fsl,mpc5121-mscan";
244 interrupts = <90 0x8>;
245 clocks = <&clks MPC512x_CLK_BDLC>,
246 <&clks MPC512x_CLK_IPS>,
247 <&clks MPC512x_CLK_SYS>,
248 <&clks MPC512x_CLK_REF>,
249 <&clks MPC512x_CLK_MSCAN2_MCLK>;
250 clock-names = "ipg", "ips", "sys", "ref", "mclk";
254 compatible = "fsl,mpc5121-mscan";
256 interrupts = <91 0x8>;
257 clocks = <&clks MPC512x_CLK_BDLC>,
258 <&clks MPC512x_CLK_IPS>,
259 <&clks MPC512x_CLK_SYS>,
260 <&clks MPC512x_CLK_REF>,
261 <&clks MPC512x_CLK_MSCAN3_MCLK>;
262 clock-names = "ipg", "ips", "sys", "ref", "mclk";
266 compatible = "fsl,mpc5121-viu";
267 reg = <0x2400 0x400>;
268 interrupts = <67 0x8>;
269 clocks = <&clks MPC512x_CLK_VIU>;
274 compatible = "fsl,mpc5121-fec-mdio";
275 reg = <0x2800 0x800>;
276 #address-cells = <1>;
278 clocks = <&clks MPC512x_CLK_FEC>;
282 eth0: ethernet@2800 {
283 device_type = "network";
284 compatible = "fsl,mpc5121-fec";
285 reg = <0x2800 0x800>;
286 local-mac-address = [ 00 00 00 00 00 00 ];
287 interrupts = <4 0x8>;
288 clocks = <&clks MPC512x_CLK_FEC>;
292 /* USB1 using external ULPI PHY */
294 compatible = "fsl,mpc5121-usb2-dr";
295 reg = <0x3000 0x600>;
296 #address-cells = <1>;
298 interrupts = <43 0x8>;
301 clocks = <&clks MPC512x_CLK_USB1>;
305 /* USB0 using internal UTMI PHY */
307 compatible = "fsl,mpc5121-usb2-dr";
308 reg = <0x4000 0x600>;
309 #address-cells = <1>;
311 interrupts = <44 0x8>;
313 phy_type = "utmi_wide";
314 clocks = <&clks MPC512x_CLK_USB2>;
320 compatible = "fsl,mpc5121-ioctl";
321 reg = <0xA000 0x1000>;
324 /* LocalPlus controller */
326 compatible = "fsl,mpc5121-lpc";
327 reg = <0x10000 0x100>;
331 compatible = "fsl,mpc512x-lpbfifo";
332 reg = <0x10100 0x50>;
333 interrupts = <7 0x8>;
339 compatible = "fsl,mpc5121-pata";
340 reg = <0x10200 0x100>;
341 interrupts = <5 0x8>;
342 clocks = <&clks MPC512x_CLK_PATA>;
346 /* 512x PSCs are not 52xx PSC compatible */
350 compatible = "fsl,mpc5121-psc";
351 reg = <0x11000 0x100>;
352 interrupts = <40 0x8>;
353 fsl,rx-fifo-size = <16>;
354 fsl,tx-fifo-size = <16>;
355 clocks = <&clks MPC512x_CLK_PSC0>,
356 <&clks MPC512x_CLK_PSC0_MCLK>;
357 clock-names = "ipg", "mclk";
362 compatible = "fsl,mpc5121-psc";
363 reg = <0x11100 0x100>;
364 interrupts = <40 0x8>;
365 fsl,rx-fifo-size = <16>;
366 fsl,tx-fifo-size = <16>;
367 clocks = <&clks MPC512x_CLK_PSC1>,
368 <&clks MPC512x_CLK_PSC1_MCLK>;
369 clock-names = "ipg", "mclk";
374 compatible = "fsl,mpc5121-psc";
375 reg = <0x11200 0x100>;
376 interrupts = <40 0x8>;
377 fsl,rx-fifo-size = <16>;
378 fsl,tx-fifo-size = <16>;
379 clocks = <&clks MPC512x_CLK_PSC2>,
380 <&clks MPC512x_CLK_PSC2_MCLK>;
381 clock-names = "ipg", "mclk";
386 compatible = "fsl,mpc5121-psc-uart", "fsl,mpc5121-psc";
387 reg = <0x11300 0x100>;
388 interrupts = <40 0x8>;
389 fsl,rx-fifo-size = <16>;
390 fsl,tx-fifo-size = <16>;
391 clocks = <&clks MPC512x_CLK_PSC3>,
392 <&clks MPC512x_CLK_PSC3_MCLK>;
393 clock-names = "ipg", "mclk";
398 compatible = "fsl,mpc5121-psc-uart", "fsl,mpc5121-psc";
399 reg = <0x11400 0x100>;
400 interrupts = <40 0x8>;
401 fsl,rx-fifo-size = <16>;
402 fsl,tx-fifo-size = <16>;
403 clocks = <&clks MPC512x_CLK_PSC4>,
404 <&clks MPC512x_CLK_PSC4_MCLK>;
405 clock-names = "ipg", "mclk";
410 compatible = "fsl,mpc5121-psc";
411 reg = <0x11500 0x100>;
412 interrupts = <40 0x8>;
413 fsl,rx-fifo-size = <16>;
414 fsl,tx-fifo-size = <16>;
415 clocks = <&clks MPC512x_CLK_PSC5>,
416 <&clks MPC512x_CLK_PSC5_MCLK>;
417 clock-names = "ipg", "mclk";
422 compatible = "fsl,mpc5121-psc";
423 reg = <0x11600 0x100>;
424 interrupts = <40 0x8>;
425 fsl,rx-fifo-size = <16>;
426 fsl,tx-fifo-size = <16>;
427 clocks = <&clks MPC512x_CLK_PSC6>,
428 <&clks MPC512x_CLK_PSC6_MCLK>;
429 clock-names = "ipg", "mclk";
434 compatible = "fsl,mpc5121-psc";
435 reg = <0x11700 0x100>;
436 interrupts = <40 0x8>;
437 fsl,rx-fifo-size = <16>;
438 fsl,tx-fifo-size = <16>;
439 clocks = <&clks MPC512x_CLK_PSC7>,
440 <&clks MPC512x_CLK_PSC7_MCLK>;
441 clock-names = "ipg", "mclk";
446 compatible = "fsl,mpc5121-psc";
447 reg = <0x11800 0x100>;
448 interrupts = <40 0x8>;
449 fsl,rx-fifo-size = <16>;
450 fsl,tx-fifo-size = <16>;
451 clocks = <&clks MPC512x_CLK_PSC8>,
452 <&clks MPC512x_CLK_PSC8_MCLK>;
453 clock-names = "ipg", "mclk";
458 compatible = "fsl,mpc5121-psc";
459 reg = <0x11900 0x100>;
460 interrupts = <40 0x8>;
461 fsl,rx-fifo-size = <16>;
462 fsl,tx-fifo-size = <16>;
463 clocks = <&clks MPC512x_CLK_PSC9>,
464 <&clks MPC512x_CLK_PSC9_MCLK>;
465 clock-names = "ipg", "mclk";
470 compatible = "fsl,mpc5121-psc";
471 reg = <0x11a00 0x100>;
472 interrupts = <40 0x8>;
473 fsl,rx-fifo-size = <16>;
474 fsl,tx-fifo-size = <16>;
475 clocks = <&clks MPC512x_CLK_PSC10>,
476 <&clks MPC512x_CLK_PSC10_MCLK>;
477 clock-names = "ipg", "mclk";
482 compatible = "fsl,mpc5121-psc";
483 reg = <0x11b00 0x100>;
484 interrupts = <40 0x8>;
485 fsl,rx-fifo-size = <16>;
486 fsl,tx-fifo-size = <16>;
487 clocks = <&clks MPC512x_CLK_PSC11>,
488 <&clks MPC512x_CLK_PSC11_MCLK>;
489 clock-names = "ipg", "mclk";
493 compatible = "fsl,mpc5121-psc-fifo";
494 reg = <0x11f00 0x100>;
495 interrupts = <40 0x8>;
496 clocks = <&clks MPC512x_CLK_PSC_FIFO>;
501 compatible = "fsl,mpc5121-dma";
502 reg = <0x14000 0x1800>;
503 interrupts = <65 0x8>;
509 compatible = "fsl,mpc5121-pci";
511 interrupts = <1 0x8>;
512 clock-frequency = <0>;
513 #address-cells = <3>;
515 #interrupt-cells = <1>;
516 clocks = <&clks MPC512x_CLK_PCI>;
519 reg = <0x80008500 0x100 /* internal registers */
520 0x80008300 0x8>; /* config space access registers */
521 bus-range = <0x0 0x0>;
522 ranges = <0x42000000 0x0 0xa0000000 0xa0000000 0x0 0x10000000
523 0x02000000 0x0 0xb0000000 0xb0000000 0x0 0x10000000
524 0x01000000 0x0 0x00000000 0x84000000 0x0 0x01000000>;