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				device_type = "ethernet-phy";
111			};
112		};
113
114		eth1: ethernet@e00 {
115			device_type = "network";
116			compatible = "fsl,mpc866-fec-enet",
117			             "fsl,pq1-fec-enet";
118			reg = <0xe00 0x188>;
119			interrupts = <3 1>;
120			interrupt-parent = <&PIC>;
121			phy-handle = <&PHY>;
122			linux,network-index = <1>;
123		};
124
125		PIC: pic@0 {
126			interrupt-controller;
127			#interrupt-cells = <2>;
128			reg = <0x0 0x24>;
129			compatible = "fsl,mpc860-pic", "fsl,pq1-pic";
130		};
131
132		cpm@9c0 {
133			#address-cells = <1>;
134			#size-cells = <1>;
135			compatible = "fsl,mpc860-cpm", "fsl,cpm1";
136			ranges;
137			reg = <0x9c0 0x40>;
138			brg-frequency = <0>;
139			interrupts = <0 2>;	// cpm error interrupt
140			interrupt-parent = <&CPM_PIC>;
141
142			muram@2000 {
143				#address-cells = <1>;
144				#size-cells = <1>;
145				ranges = <0x0 0x2000 0x2000>;
146
147				data@0 {
148					compatible = "fsl,cpm-muram-data";
149					reg = <0x0 0x2000>;
150				};
151			};
152
153			brg@9f0 {
154				compatible = "fsl,mpc860-brg",
155					     "fsl,cpm1-brg",
156					     "fsl,cpm-brg";
157				reg = <0x9f0 0x10>;
158				clock-frequency = <0>;
159			};
160
161			CPM_PIC: pic@930 {
162				interrupt-controller;
163				#address-cells = <0>;
164				#interrupt-cells = <1>;
165				interrupts = <5 2 0 2>;
166				interrupt-parent = <&PIC>;
167				reg = <0x930 0x20>;
168				compatible = "fsl,mpc860-cpm-pic",
169				             "fsl,cpm1-pic";
170			};
171
172
173			smc1: serial@a80 {
174				device_type = "serial";
175				compatible = "fsl,mpc860-smc-uart",
176				             "fsl,cpm1-smc-uart";
177				reg = <0xa80 0x10 0x3e80 0x40>;
178				interrupts = <4>;
179				interrupt-parent = <&CPM_PIC>;
180				fsl,cpm-brg = <1>;
181				fsl,cpm-command = <0x90>;
182			};
183
184			eth0: ethernet@a00 {
185				device_type = "network";
186				compatible = "fsl,mpc860-scc-enet",
187				             "fsl,cpm1-scc-enet";
188				reg = <0xa00 0x18 0x3c00 0x100>;
189				interrupts = <30>;
190				interrupt-parent = <&CPM_PIC>;
191				fsl,cpm-command = <0000>;
192				linux,network-index = <0>;
193				fixed-link = <0 0 10 0 0>;
194			};
195		};
196	};
197};
198