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