1/*
2 * TQM8XX Device Tree Source
3 *
4 * Heiko Schocher <hs@denx.de>
5 * 2010 DENX Software Engineering GmbH
6 *
7 * This program is free software; you can redistribute  it and/or modify it
8 * under  the terms of  the GNU General  Public License as published by the
9 * Free Software Foundation;  either version 2 of the  License, or (at your
10 * option) any later version.
11 */
12
13/dts-v1/;
14
15/ {
16	model = "TQM8xx";
17	compatible = "tqc,tqm8xx";
18	#address-cells = <1>;
19	#size-cells = <1>;
20
21	aliases {
22		ethernet0 = &eth0;
23		ethernet1 = &eth1;
24		mdio1 = &phy1;
25		serial0 = &smc1;
26	};
27
28	cpus {
29		#address-cells = <1>;
30		#size-cells = <0>;
31
32		PowerPC,860@0 {
33			device_type = "cpu";
34			reg = <0x0>;
35			d-cache-line-size = <16>;	// 16 bytes
36			i-cache-line-size = <16>;	// 16 bytes
37			d-cache-size = <0x1000>;		// L1, 4K
38			i-cache-size = <0x1000>;		// L1, 4K
39			timebase-frequency = <0>;
40			bus-frequency = <0>;
41			clock-frequency = <0>;
42			interrupts = <15 2>;	// decrementer interrupt
43			interrupt-parent = <&PIC>;
44		};
45	};
46
47	memory {
48		device_type = "memory";
49		reg = <0x0 0x2000000>;
50	};
51
52	localbus@fff00100 {
53		compatible = "fsl,mpc860-localbus", "fsl,pq1-localbus";
54		#address-cells = <2>;
55		#size-cells = <1>;
56		reg = <0xfff00100 0x40>;
57
58		ranges = <
59			0x0 0x0 0x40000000 0x800000
60			0x3 0x0 0xc0000000 0x200
61		>;
62
63		flash@0,0 {
64			compatible = "cfi-flash";
65			reg = <0 0 0x800000>;
66			#address-cells = <1>;
67			#size-cells = <1>;
68			bank-width = <4>;
69			device-width = <2>;
70		};
71
72		/* Note: CAN support needs be enabled in U-Boot */
73		can@3,0 {
74			compatible = "intc,82527";
75			reg = <3 0x0 0x80>;
76			interrupts = <8 1>;
77			interrupt-parent = <&PIC>;
78			bosch,external-clock-frequency = <16000000>;
79			bosch,disconnect-rx1-input;
80			bosch,disconnect-tx1-output;
81			bosch,iso-low-speed-mux;
82			bosch,clock-out-frequency = <16000000>;
83		};
84
85		can@3,100 {
86			compatible = "intc,82527";
87			reg = <3 0x100 0x80>;
88			interrupts = <8 1>;
89			interrupt-parent = <&PIC>;
90			bosch,external-clock-frequency = <16000000>;
91			bosch,disconnect-rx1-input;
92			bosch,disconnect-tx1-output;
93			bosch,iso-low-speed-mux;
94		};
95	};
96
97	soc@fff00000 {
98		#address-cells = <1>;
99		#size-cells = <1>;
100		device_type = "soc";
101		ranges = <0x0 0xfff00000 0x00004000>;
102
103		phy1: mdio@e00 {
104			compatible = "fsl,mpc866-fec-mdio", "fsl,pq1-fec-mdio";
105			reg = <0xe00 0x188>;
106			#address-cells = <1>;
107			#size-cells = <0>;
108			PHY: ethernet-phy@f {
109				reg = <0xf>;
110			};
111		};
112
113		eth1: ethernet@e00 {
114			device_type = "network";
115			compatible = "fsl,mpc866-fec-enet",
116			             "fsl,pq1-fec-enet";
117			reg = <0xe00 0x188>;
118			interrupts = <3 1>;
119			interrupt-parent = <&PIC>;
120			phy-handle = <&PHY>;
121			linux,network-index = <1>;
122		};
123
124		PIC: pic@0 {
125			interrupt-controller;
126			#interrupt-cells = <2>;
127			reg = <0x0 0x24>;
128			compatible = "fsl,mpc860-pic", "fsl,pq1-pic";
129		};
130
131		cpm@9c0 {
132			#address-cells = <1>;
133			#size-cells = <1>;
134			compatible = "fsl,mpc860-cpm", "fsl,cpm1";
135			ranges;
136			reg = <0x9c0 0x40>;
137			brg-frequency = <0>;
138			interrupts = <0 2>;	// cpm error interrupt
139			interrupt-parent = <&CPM_PIC>;
140
141			muram@2000 {
142				#address-cells = <1>;
143				#size-cells = <1>;
144				ranges = <0x0 0x2000 0x2000>;
145
146				data@0 {
147					compatible = "fsl,cpm-muram-data";
148					reg = <0x0 0x2000>;
149				};
150			};
151
152			brg@9f0 {
153				compatible = "fsl,mpc860-brg",
154					     "fsl,cpm1-brg",
155					     "fsl,cpm-brg";
156				reg = <0x9f0 0x10>;
157				clock-frequency = <0>;
158			};
159
160			CPM_PIC: pic@930 {
161				interrupt-controller;
162				#address-cells = <0>;
163				#interrupt-cells = <1>;
164				interrupts = <5 2 0 2>;
165				interrupt-parent = <&PIC>;
166				reg = <0x930 0x20>;
167				compatible = "fsl,mpc860-cpm-pic",
168				             "fsl,cpm1-pic";
169			};
170
171
172			smc1: serial@a80 {
173				device_type = "serial";
174				compatible = "fsl,mpc860-smc-uart",
175				             "fsl,cpm1-smc-uart";
176				reg = <0xa80 0x10 0x3e80 0x40>;
177				interrupts = <4>;
178				interrupt-parent = <&CPM_PIC>;
179				fsl,cpm-brg = <1>;
180				fsl,cpm-command = <0x90>;
181			};
182
183			eth0: ethernet@a00 {
184				device_type = "network";
185				compatible = "fsl,mpc860-scc-enet",
186				             "fsl,cpm1-scc-enet";
187				reg = <0xa00 0x18 0x3c00 0x100>;
188				interrupts = <30>;
189				interrupt-parent = <&CPM_PIC>;
190				fsl,cpm-command = <0000>;
191				linux,network-index = <0>;
192				fixed-link = <0 0 10 0 0>;
193			};
194		};
195	};
196};
197