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