xref: /linux/scripts/dtc/include-prefixes/powerpc/mpc5121ads.dts (revision bd05f91f95b6ca692097f95244bdda25bd929216)
1*bd05f91fSJohn Rigby/*
2*bd05f91fSJohn Rigby * MPC5121E MDS Device Tree Source
3*bd05f91fSJohn Rigby *
4*bd05f91fSJohn Rigby * Copyright 2007 Freescale Semiconductor Inc.
5*bd05f91fSJohn Rigby *
6*bd05f91fSJohn Rigby * This program is free software; you can redistribute  it and/or modify it
7*bd05f91fSJohn Rigby * under  the terms of  the GNU General  Public License as published by the
8*bd05f91fSJohn Rigby * Free Software Foundation;  either version 2 of the  License, or (at your
9*bd05f91fSJohn Rigby * option) any later version.
10*bd05f91fSJohn Rigby */
11*bd05f91fSJohn Rigby
12*bd05f91fSJohn Rigby/dts-v1/;
13*bd05f91fSJohn Rigby
14*bd05f91fSJohn Rigby/ {
15*bd05f91fSJohn Rigby	model = "mpc5121ads";
16*bd05f91fSJohn Rigby	compatible = "fsl,mpc5121ads";
17*bd05f91fSJohn Rigby	#address-cells = <1>;
18*bd05f91fSJohn Rigby	#size-cells = <1>;
19*bd05f91fSJohn Rigby
20*bd05f91fSJohn Rigby	cpus {
21*bd05f91fSJohn Rigby		#address-cells = <1>;
22*bd05f91fSJohn Rigby		#size-cells = <0>;
23*bd05f91fSJohn Rigby
24*bd05f91fSJohn Rigby		PowerPC,5121@0 {
25*bd05f91fSJohn Rigby			device_type = "cpu";
26*bd05f91fSJohn Rigby			reg = <0>;
27*bd05f91fSJohn Rigby			d-cache-line-size = <0x20>;	// 32 bytes
28*bd05f91fSJohn Rigby			i-cache-line-size = <0x20>;	// 32 bytes
29*bd05f91fSJohn Rigby			d-cache-size = <0x8000>;	// L1, 32K
30*bd05f91fSJohn Rigby			i-cache-size = <0x8000>;	// L1, 32K
31*bd05f91fSJohn Rigby			timebase-frequency = <49500000>;// 49.5 MHz (csb/4)
32*bd05f91fSJohn Rigby			bus-frequency = <198000000>;	// 198 MHz csb bus
33*bd05f91fSJohn Rigby			clock-frequency = <396000000>;	// 396 MHz ppc core
34*bd05f91fSJohn Rigby		};
35*bd05f91fSJohn Rigby	};
36*bd05f91fSJohn Rigby
37*bd05f91fSJohn Rigby	memory {
38*bd05f91fSJohn Rigby		device_type = "memory";
39*bd05f91fSJohn Rigby		reg = <0x00000000 0x10000000>;	// 256MB at 0
40*bd05f91fSJohn Rigby	};
41*bd05f91fSJohn Rigby
42*bd05f91fSJohn Rigby	localbus@80000020 {
43*bd05f91fSJohn Rigby		compatible = "fsl,mpc5121ads-localbus";
44*bd05f91fSJohn Rigby		#address-cells = <2>;
45*bd05f91fSJohn Rigby		#size-cells = <1>;
46*bd05f91fSJohn Rigby		reg = <0x80000020 0x40>;
47*bd05f91fSJohn Rigby
48*bd05f91fSJohn Rigby		ranges = <0x0 0x0 0xfc000000 0x04000000
49*bd05f91fSJohn Rigby			  0x2 0x0 0x82000000 0x00008000>;
50*bd05f91fSJohn Rigby
51*bd05f91fSJohn Rigby		flash@0,0 {
52*bd05f91fSJohn Rigby			compatible = "cfi-flash";
53*bd05f91fSJohn Rigby			reg = <0 0x0 0x4000000>;
54*bd05f91fSJohn Rigby			bank-width = <4>;
55*bd05f91fSJohn Rigby			device-width = <1>;
56*bd05f91fSJohn Rigby		};
57*bd05f91fSJohn Rigby
58*bd05f91fSJohn Rigby		board-control@2,0 {
59*bd05f91fSJohn Rigby			compatible = "fsl,mpc5121ads-cpld";
60*bd05f91fSJohn Rigby			reg = <0x2 0x0 0x8000>;
61*bd05f91fSJohn Rigby		};
62*bd05f91fSJohn Rigby	};
63*bd05f91fSJohn Rigby
64*bd05f91fSJohn Rigby	soc@80000000 {
65*bd05f91fSJohn Rigby		compatible = "fsl,mpc5121-immr";
66*bd05f91fSJohn Rigby		#address-cells = <1>;
67*bd05f91fSJohn Rigby		#size-cells = <1>;
68*bd05f91fSJohn Rigby		#interrupt-cells = <2>;
69*bd05f91fSJohn Rigby		ranges = <0x0 0x80000000 0x400000>;
70*bd05f91fSJohn Rigby		reg = <0x80000000 0x400000>;
71*bd05f91fSJohn Rigby		bus-frequency = <66000000>;	// 66 MHz ips bus
72*bd05f91fSJohn Rigby
73*bd05f91fSJohn Rigby
74*bd05f91fSJohn Rigby		// IPIC
75*bd05f91fSJohn Rigby		// interrupts cell = <intr #, sense>
76*bd05f91fSJohn Rigby		// sense values match linux IORESOURCE_IRQ_* defines:
77*bd05f91fSJohn Rigby		// sense == 8: Level, low assertion
78*bd05f91fSJohn Rigby		// sense == 2: Edge, high-to-low change
79*bd05f91fSJohn Rigby		//
80*bd05f91fSJohn Rigby		ipic: interrupt-controller@c00 {
81*bd05f91fSJohn Rigby			compatible = "fsl,mpc5121-ipic", "fsl,ipic";
82*bd05f91fSJohn Rigby			interrupt-controller;
83*bd05f91fSJohn Rigby			#address-cells = <0>;
84*bd05f91fSJohn Rigby			#interrupt-cells = <2>;
85*bd05f91fSJohn Rigby			reg = <0xc00 0x100>;
86*bd05f91fSJohn Rigby		};
87*bd05f91fSJohn Rigby
88*bd05f91fSJohn Rigby		// 512x PSCs are not 52xx PSCs compatible
89*bd05f91fSJohn Rigby		// PSC3 serial port A aka ttyPSC0
90*bd05f91fSJohn Rigby		serial@11300 {
91*bd05f91fSJohn Rigby			device_type = "serial";
92*bd05f91fSJohn Rigby			compatible = "fsl,mpc5121-psc-uart";
93*bd05f91fSJohn Rigby			// Logical port assignment needed until driver
94*bd05f91fSJohn Rigby			// learns to use aliases
95*bd05f91fSJohn Rigby			port-number = <0>;
96*bd05f91fSJohn Rigby			cell-index = <3>;
97*bd05f91fSJohn Rigby			reg = <0x11300 0x100>;
98*bd05f91fSJohn Rigby			interrupts = <0x28 0x8>; // actually the fifo irq
99*bd05f91fSJohn Rigby			interrupt-parent = < &ipic >;
100*bd05f91fSJohn Rigby		};
101*bd05f91fSJohn Rigby
102*bd05f91fSJohn Rigby		// PSC4 serial port B aka ttyPSC1
103*bd05f91fSJohn Rigby		serial@11400 {
104*bd05f91fSJohn Rigby			device_type = "serial";
105*bd05f91fSJohn Rigby			compatible = "fsl,mpc5121-psc-uart";
106*bd05f91fSJohn Rigby			// Logical port assignment needed until driver
107*bd05f91fSJohn Rigby			// learns to use aliases
108*bd05f91fSJohn Rigby			port-number = <1>;
109*bd05f91fSJohn Rigby			cell-index = <4>;
110*bd05f91fSJohn Rigby			reg = <0x11400 0x100>;
111*bd05f91fSJohn Rigby			interrupts = <0x28 0x8>; // actually the fifo irq
112*bd05f91fSJohn Rigby			interrupt-parent = < &ipic >;
113*bd05f91fSJohn Rigby		};
114*bd05f91fSJohn Rigby
115*bd05f91fSJohn Rigby		pscsfifo@11f00 {
116*bd05f91fSJohn Rigby			compatible = "fsl,mpc5121-psc-fifo";
117*bd05f91fSJohn Rigby			reg = <0x11f00 0x100>;
118*bd05f91fSJohn Rigby			interrupts = <0x28 0x8>;
119*bd05f91fSJohn Rigby			interrupt-parent = < &ipic >;
120*bd05f91fSJohn Rigby		};
121*bd05f91fSJohn Rigby	};
122*bd05f91fSJohn Rigby};
123