xref: /linux/scripts/dtc/include-prefixes/powerpc/tqm5200.dts (revision 30d992e34e370954c174b6ab9af39f3617a8a685)
1*30d992e3SMarian Balakowicz/*
2*30d992e3SMarian Balakowicz * TQM5200 board Device Tree Source
3*30d992e3SMarian Balakowicz *
4*30d992e3SMarian Balakowicz * Copyright (C) 2007 Semihalf
5*30d992e3SMarian Balakowicz * Marian Balakowicz <m8@semihalf.com>
6*30d992e3SMarian Balakowicz *
7*30d992e3SMarian Balakowicz * This program is free software; you can redistribute  it and/or modify it
8*30d992e3SMarian Balakowicz * under  the terms of  the GNU General  Public License as published by the
9*30d992e3SMarian Balakowicz * Free Software Foundation;  either version 2 of the  License, or (at your
10*30d992e3SMarian Balakowicz * option) any later version.
11*30d992e3SMarian Balakowicz */
12*30d992e3SMarian Balakowicz
13*30d992e3SMarian Balakowicz/*
14*30d992e3SMarian Balakowicz * WARNING: Do not depend on this tree layout remaining static just yet.
15*30d992e3SMarian Balakowicz * The MPC5200 device tree conventions are still in flux
16*30d992e3SMarian Balakowicz * Keep an eye on the linuxppc-dev mailing list for more details
17*30d992e3SMarian Balakowicz */
18*30d992e3SMarian Balakowicz
19*30d992e3SMarian Balakowicz/ {
20*30d992e3SMarian Balakowicz	model = "tqc,tqm5200";
21*30d992e3SMarian Balakowicz	compatible = "tqc,tqm5200";
22*30d992e3SMarian Balakowicz	#address-cells = <1>;
23*30d992e3SMarian Balakowicz	#size-cells = <1>;
24*30d992e3SMarian Balakowicz
25*30d992e3SMarian Balakowicz	cpus {
26*30d992e3SMarian Balakowicz		#address-cells = <1>;
27*30d992e3SMarian Balakowicz		#size-cells = <0>;
28*30d992e3SMarian Balakowicz
29*30d992e3SMarian Balakowicz		PowerPC,5200@0 {
30*30d992e3SMarian Balakowicz			device_type = "cpu";
31*30d992e3SMarian Balakowicz			reg = <0>;
32*30d992e3SMarian Balakowicz			d-cache-line-size = <20>;
33*30d992e3SMarian Balakowicz			i-cache-line-size = <20>;
34*30d992e3SMarian Balakowicz			d-cache-size = <4000>;		// L1, 16K
35*30d992e3SMarian Balakowicz			i-cache-size = <4000>;		// L1, 16K
36*30d992e3SMarian Balakowicz			timebase-frequency = <0>;	// from bootloader
37*30d992e3SMarian Balakowicz			bus-frequency = <0>;		// from bootloader
38*30d992e3SMarian Balakowicz			clock-frequency = <0>;		// from bootloader
39*30d992e3SMarian Balakowicz		};
40*30d992e3SMarian Balakowicz	};
41*30d992e3SMarian Balakowicz
42*30d992e3SMarian Balakowicz	memory {
43*30d992e3SMarian Balakowicz		device_type = "memory";
44*30d992e3SMarian Balakowicz		reg = <00000000 04000000>;	// 64MB
45*30d992e3SMarian Balakowicz	};
46*30d992e3SMarian Balakowicz
47*30d992e3SMarian Balakowicz	soc5200@f0000000 {
48*30d992e3SMarian Balakowicz		model = "fsl,mpc5200";
49*30d992e3SMarian Balakowicz		compatible = "fsl,mpc5200";
50*30d992e3SMarian Balakowicz		revision = "";			// from bootloader
51*30d992e3SMarian Balakowicz		device_type = "soc";
52*30d992e3SMarian Balakowicz		ranges = <0 f0000000 0000c000>;
53*30d992e3SMarian Balakowicz		reg = <f0000000 00000100>;
54*30d992e3SMarian Balakowicz		bus-frequency = <0>;		// from bootloader
55*30d992e3SMarian Balakowicz		system-frequency = <0>;		// from bootloader
56*30d992e3SMarian Balakowicz
57*30d992e3SMarian Balakowicz		cdm@200 {
58*30d992e3SMarian Balakowicz			compatible = "mpc5200-cdm";
59*30d992e3SMarian Balakowicz			reg = <200 38>;
60*30d992e3SMarian Balakowicz		};
61*30d992e3SMarian Balakowicz
62*30d992e3SMarian Balakowicz		mpc5200_pic: pic@500 {
63*30d992e3SMarian Balakowicz			// 5200 interrupts are encoded into two levels;
64*30d992e3SMarian Balakowicz			interrupt-controller;
65*30d992e3SMarian Balakowicz			#interrupt-cells = <3>;
66*30d992e3SMarian Balakowicz			compatible = "mpc5200-pic";
67*30d992e3SMarian Balakowicz			reg = <500 80>;
68*30d992e3SMarian Balakowicz		};
69*30d992e3SMarian Balakowicz
70*30d992e3SMarian Balakowicz		gpt@600 {	// General Purpose Timer
71*30d992e3SMarian Balakowicz			compatible = "fsl,mpc5200-gpt";
72*30d992e3SMarian Balakowicz			reg = <600 10>;
73*30d992e3SMarian Balakowicz			interrupts = <1 9 0>;
74*30d992e3SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
75*30d992e3SMarian Balakowicz			fsl,has-wdt;
76*30d992e3SMarian Balakowicz		};
77*30d992e3SMarian Balakowicz
78*30d992e3SMarian Balakowicz		gpio@b00 {
79*30d992e3SMarian Balakowicz			compatible = "mpc5200-gpio";
80*30d992e3SMarian Balakowicz			reg = <b00 40>;
81*30d992e3SMarian Balakowicz			interrupts = <1 7 0>;
82*30d992e3SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
83*30d992e3SMarian Balakowicz		};
84*30d992e3SMarian Balakowicz
85*30d992e3SMarian Balakowicz		usb@1000 {
86*30d992e3SMarian Balakowicz			compatible = "mpc5200-ohci","ohci-be";
87*30d992e3SMarian Balakowicz			reg = <1000 ff>;
88*30d992e3SMarian Balakowicz			interrupts = <2 6 0>;
89*30d992e3SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
90*30d992e3SMarian Balakowicz		};
91*30d992e3SMarian Balakowicz
92*30d992e3SMarian Balakowicz		dma-controller@1200 {
93*30d992e3SMarian Balakowicz			compatible = "mpc5200-bestcomm";
94*30d992e3SMarian Balakowicz			reg = <1200 80>;
95*30d992e3SMarian Balakowicz			interrupts = <3 0 0  3 1 0  3 2 0  3 3 0
96*30d992e3SMarian Balakowicz			              3 4 0  3 5 0  3 6 0  3 7 0
97*30d992e3SMarian Balakowicz			              3 8 0  3 9 0  3 a 0  3 b 0
98*30d992e3SMarian Balakowicz			              3 c 0  3 d 0  3 e 0  3 f 0>;
99*30d992e3SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
100*30d992e3SMarian Balakowicz		};
101*30d992e3SMarian Balakowicz
102*30d992e3SMarian Balakowicz		xlb@1f00 {
103*30d992e3SMarian Balakowicz			compatible = "mpc5200-xlb";
104*30d992e3SMarian Balakowicz			reg = <1f00 100>;
105*30d992e3SMarian Balakowicz		};
106*30d992e3SMarian Balakowicz
107*30d992e3SMarian Balakowicz		serial@2000 {		// PSC1
108*30d992e3SMarian Balakowicz			device_type = "serial";
109*30d992e3SMarian Balakowicz			compatible = "mpc5200-psc-uart";
110*30d992e3SMarian Balakowicz			port-number = <0>;  // Logical port assignment
111*30d992e3SMarian Balakowicz			reg = <2000 100>;
112*30d992e3SMarian Balakowicz			interrupts = <2 1 0>;
113*30d992e3SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
114*30d992e3SMarian Balakowicz		};
115*30d992e3SMarian Balakowicz
116*30d992e3SMarian Balakowicz		serial@2200 {		// PSC2
117*30d992e3SMarian Balakowicz			device_type = "serial";
118*30d992e3SMarian Balakowicz			compatible = "mpc5200-psc-uart";
119*30d992e3SMarian Balakowicz			port-number = <1>;  // Logical port assignment
120*30d992e3SMarian Balakowicz			reg = <2200 100>;
121*30d992e3SMarian Balakowicz			interrupts = <2 2 0>;
122*30d992e3SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
123*30d992e3SMarian Balakowicz		};
124*30d992e3SMarian Balakowicz
125*30d992e3SMarian Balakowicz		serial@2400 {		// PSC3
126*30d992e3SMarian Balakowicz			device_type = "serial";
127*30d992e3SMarian Balakowicz			compatible = "mpc5200-psc-uart";
128*30d992e3SMarian Balakowicz			port-number = <2>;  // Logical port assignment
129*30d992e3SMarian Balakowicz			reg = <2400 100>;
130*30d992e3SMarian Balakowicz			interrupts = <2 3 0>;
131*30d992e3SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
132*30d992e3SMarian Balakowicz		};
133*30d992e3SMarian Balakowicz
134*30d992e3SMarian Balakowicz		ethernet@3000 {
135*30d992e3SMarian Balakowicz			device_type = "network";
136*30d992e3SMarian Balakowicz			compatible = "mpc5200-fec";
137*30d992e3SMarian Balakowicz			reg = <3000 800>;
138*30d992e3SMarian Balakowicz			local-mac-address = [ 00 00 00 00 00 00 ]; /* Filled in by U-Boot */
139*30d992e3SMarian Balakowicz			interrupts = <2 5 0>;
140*30d992e3SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
141*30d992e3SMarian Balakowicz		};
142*30d992e3SMarian Balakowicz
143*30d992e3SMarian Balakowicz		ata@3a00 {
144*30d992e3SMarian Balakowicz			compatible = "mpc5200-ata";
145*30d992e3SMarian Balakowicz			reg = <3a00 100>;
146*30d992e3SMarian Balakowicz			interrupts = <2 7 0>;
147*30d992e3SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
148*30d992e3SMarian Balakowicz		};
149*30d992e3SMarian Balakowicz
150*30d992e3SMarian Balakowicz		i2c@3d40 {
151*30d992e3SMarian Balakowicz			compatible = "mpc5200-i2c","fsl-i2c";
152*30d992e3SMarian Balakowicz			reg = <3d40 40>;
153*30d992e3SMarian Balakowicz			interrupts = <2 10 0>;
154*30d992e3SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
155*30d992e3SMarian Balakowicz			fsl5200-clocking;
156*30d992e3SMarian Balakowicz		};
157*30d992e3SMarian Balakowicz
158*30d992e3SMarian Balakowicz		sram@8000 {
159*30d992e3SMarian Balakowicz			compatible = "mpc5200-sram";
160*30d992e3SMarian Balakowicz			reg = <8000 4000>;
161*30d992e3SMarian Balakowicz		};
162*30d992e3SMarian Balakowicz	};
163*30d992e3SMarian Balakowicz
164*30d992e3SMarian Balakowicz	pci@f0000d00 {
165*30d992e3SMarian Balakowicz		#interrupt-cells = <1>;
166*30d992e3SMarian Balakowicz		#size-cells = <2>;
167*30d992e3SMarian Balakowicz		#address-cells = <3>;
168*30d992e3SMarian Balakowicz		device_type = "pci";
169*30d992e3SMarian Balakowicz		compatible = "fsl,mpc5200-pci";
170*30d992e3SMarian Balakowicz		reg = <f0000d00 100>;
171*30d992e3SMarian Balakowicz		interrupt-map-mask = <f800 0 0 7>;
172*30d992e3SMarian Balakowicz		interrupt-map = <c000 0 0 1 &mpc5200_pic 0 0 3
173*30d992e3SMarian Balakowicz				 c000 0 0 2 &mpc5200_pic 0 0 3
174*30d992e3SMarian Balakowicz				 c000 0 0 3 &mpc5200_pic 0 0 3
175*30d992e3SMarian Balakowicz				 c000 0 0 4 &mpc5200_pic 0 0 3>;
176*30d992e3SMarian Balakowicz		clock-frequency = <0>; // From boot loader
177*30d992e3SMarian Balakowicz		interrupts = <2 8 0 2 9 0 2 a 0>;
178*30d992e3SMarian Balakowicz		interrupt-parent = <&mpc5200_pic>;
179*30d992e3SMarian Balakowicz		bus-range = <0 0>;
180*30d992e3SMarian Balakowicz		ranges = <42000000 0 80000000 80000000 0 10000000
181*30d992e3SMarian Balakowicz			  02000000 0 90000000 90000000 0 10000000
182*30d992e3SMarian Balakowicz			  01000000 0 00000000 a0000000 0 01000000>;
183*30d992e3SMarian Balakowicz	};
184*30d992e3SMarian Balakowicz};
185