xref: /freebsd-src/sys/contrib/device-tree/src/powerpc/acadia.dts (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
1c66ec88fSEmmanuel Vadot/*
2c66ec88fSEmmanuel Vadot * Device Tree Source for AMCC Acadia (405EZ)
3c66ec88fSEmmanuel Vadot *
4c66ec88fSEmmanuel Vadot * Copyright IBM Corp. 2008
5c66ec88fSEmmanuel Vadot *
6c66ec88fSEmmanuel Vadot * This file is licensed under the terms of the GNU General Public License
7c66ec88fSEmmanuel Vadot * version 2.  This program is licensed "as is" without any warranty of any
8c66ec88fSEmmanuel Vadot * kind, whether express or implied.
9c66ec88fSEmmanuel Vadot */
10c66ec88fSEmmanuel Vadot
11c66ec88fSEmmanuel Vadot/dts-v1/;
12c66ec88fSEmmanuel Vadot
13c66ec88fSEmmanuel Vadot/ {
14c66ec88fSEmmanuel Vadot	#address-cells = <1>;
15c66ec88fSEmmanuel Vadot	#size-cells = <1>;
16c66ec88fSEmmanuel Vadot	model = "amcc,acadia";
17c66ec88fSEmmanuel Vadot	compatible = "amcc,acadia";
18c66ec88fSEmmanuel Vadot	dcr-parent = <&{/cpus/cpu@0}>;
19c66ec88fSEmmanuel Vadot
20c66ec88fSEmmanuel Vadot	aliases {
21c66ec88fSEmmanuel Vadot		ethernet0 = &EMAC0;
22c66ec88fSEmmanuel Vadot		serial0 = &UART0;
23c66ec88fSEmmanuel Vadot		serial1 = &UART1;
24c66ec88fSEmmanuel Vadot	};
25c66ec88fSEmmanuel Vadot
26c66ec88fSEmmanuel Vadot	cpus {
27c66ec88fSEmmanuel Vadot		#address-cells = <1>;
28c66ec88fSEmmanuel Vadot		#size-cells = <0>;
29c66ec88fSEmmanuel Vadot
30c66ec88fSEmmanuel Vadot		cpu@0 {
31c66ec88fSEmmanuel Vadot			device_type = "cpu";
32c66ec88fSEmmanuel Vadot			model = "PowerPC,405EZ";
33c66ec88fSEmmanuel Vadot			reg = <0x0>;
34c66ec88fSEmmanuel Vadot			clock-frequency = <0>; /* Filled in by wrapper */
35c66ec88fSEmmanuel Vadot			timebase-frequency = <0>; /* Filled in by wrapper */
36c66ec88fSEmmanuel Vadot			i-cache-line-size = <32>;
37c66ec88fSEmmanuel Vadot			d-cache-line-size = <32>;
38c66ec88fSEmmanuel Vadot			i-cache-size = <16384>;
39c66ec88fSEmmanuel Vadot			d-cache-size = <16384>;
40c66ec88fSEmmanuel Vadot			dcr-controller;
41c66ec88fSEmmanuel Vadot			dcr-access-method = "native";
42c66ec88fSEmmanuel Vadot		};
43c66ec88fSEmmanuel Vadot	};
44c66ec88fSEmmanuel Vadot
45c66ec88fSEmmanuel Vadot	memory {
46c66ec88fSEmmanuel Vadot		device_type = "memory";
47c66ec88fSEmmanuel Vadot		reg = <0x0 0x0>; /* Filled in by wrapper */
48c66ec88fSEmmanuel Vadot	};
49c66ec88fSEmmanuel Vadot
50c66ec88fSEmmanuel Vadot	UIC0: interrupt-controller {
51c66ec88fSEmmanuel Vadot		compatible = "ibm,uic-405ez", "ibm,uic";
52c66ec88fSEmmanuel Vadot		interrupt-controller;
53c66ec88fSEmmanuel Vadot		dcr-reg = <0x0c0 0x009>;
54c66ec88fSEmmanuel Vadot		cell-index = <0>;
55c66ec88fSEmmanuel Vadot		#address-cells = <0>;
56c66ec88fSEmmanuel Vadot		#size-cells = <0>;
57c66ec88fSEmmanuel Vadot		#interrupt-cells = <2>;
58c66ec88fSEmmanuel Vadot	};
59c66ec88fSEmmanuel Vadot
60c66ec88fSEmmanuel Vadot	plb {
61c66ec88fSEmmanuel Vadot		compatible = "ibm,plb-405ez", "ibm,plb3";
62c66ec88fSEmmanuel Vadot		#address-cells = <1>;
63c66ec88fSEmmanuel Vadot		#size-cells = <1>;
64c66ec88fSEmmanuel Vadot		ranges;
65c66ec88fSEmmanuel Vadot		clock-frequency = <0>; /* Filled in by wrapper */
66c66ec88fSEmmanuel Vadot
67c66ec88fSEmmanuel Vadot		MAL0: mcmal {
68c66ec88fSEmmanuel Vadot			compatible = "ibm,mcmal-405ez", "ibm,mcmal";
69c66ec88fSEmmanuel Vadot			dcr-reg = <0x380 0x62>;
70c66ec88fSEmmanuel Vadot			num-tx-chans = <1>;
71c66ec88fSEmmanuel Vadot			num-rx-chans = <1>;
72c66ec88fSEmmanuel Vadot			interrupt-parent = <&UIC0>;
73c66ec88fSEmmanuel Vadot			/* 405EZ has only 3 interrupts to the UIC, as
74c66ec88fSEmmanuel Vadot			 * SERR, TXDE, and RXDE are or'd together into
75c66ec88fSEmmanuel Vadot			 * one UIC bit
76c66ec88fSEmmanuel Vadot			 */
77c66ec88fSEmmanuel Vadot			interrupts = <
78c66ec88fSEmmanuel Vadot				0x13 0x4 /* TXEOB */
79c66ec88fSEmmanuel Vadot				0x15 0x4 /* RXEOB */
80c66ec88fSEmmanuel Vadot				0x12 0x4 /* SERR, TXDE, RXDE */>;
81c66ec88fSEmmanuel Vadot		};
82c66ec88fSEmmanuel Vadot
83c66ec88fSEmmanuel Vadot		POB0: opb {
84c66ec88fSEmmanuel Vadot			compatible = "ibm,opb-405ez", "ibm,opb";
85c66ec88fSEmmanuel Vadot			#address-cells = <1>;
86c66ec88fSEmmanuel Vadot			#size-cells = <1>;
87c66ec88fSEmmanuel Vadot			ranges;
88c66ec88fSEmmanuel Vadot			dcr-reg = <0x0a 0x05>;
89c66ec88fSEmmanuel Vadot			clock-frequency = <0>; /* Filled in by wrapper */
90c66ec88fSEmmanuel Vadot
91c66ec88fSEmmanuel Vadot			UART0: serial@ef600300 {
92c66ec88fSEmmanuel Vadot				device_type = "serial";
93c66ec88fSEmmanuel Vadot				compatible = "ns16550";
94c66ec88fSEmmanuel Vadot				reg = <0xef600300 0x8>;
95c66ec88fSEmmanuel Vadot				virtual-reg = <0xef600300>;
96c66ec88fSEmmanuel Vadot				clock-frequency = <0>; /* Filled in by wrapper */
97c66ec88fSEmmanuel Vadot				current-speed = <115200>;
98c66ec88fSEmmanuel Vadot				interrupt-parent = <&UIC0>;
99c66ec88fSEmmanuel Vadot				interrupts = <0x5 0x4>;
100c66ec88fSEmmanuel Vadot			};
101c66ec88fSEmmanuel Vadot
102c66ec88fSEmmanuel Vadot			UART1: serial@ef600400 {
103c66ec88fSEmmanuel Vadot				device_type = "serial";
104c66ec88fSEmmanuel Vadot				compatible = "ns16550";
105c66ec88fSEmmanuel Vadot				reg = <0xef600400 0x8>;
106c66ec88fSEmmanuel Vadot				clock-frequency = <0>; /* Filled in by wrapper */
107c66ec88fSEmmanuel Vadot				current-speed = <115200>;
108c66ec88fSEmmanuel Vadot				interrupt-parent = <&UIC0>;
109c66ec88fSEmmanuel Vadot				interrupts = <0x6 0x4>;
110c66ec88fSEmmanuel Vadot			};
111c66ec88fSEmmanuel Vadot
112c66ec88fSEmmanuel Vadot			IIC: i2c@ef600500 {
113c66ec88fSEmmanuel Vadot				compatible = "ibm,iic-405ez", "ibm,iic";
114c66ec88fSEmmanuel Vadot				reg = <0xef600500 0x11>;
115c66ec88fSEmmanuel Vadot				interrupt-parent = <&UIC0>;
116c66ec88fSEmmanuel Vadot				interrupts = <0xa 0x4>;
117c66ec88fSEmmanuel Vadot			};
118c66ec88fSEmmanuel Vadot
119c66ec88fSEmmanuel Vadot			GPIO0: gpio@ef600700 {
120c66ec88fSEmmanuel Vadot				compatible = "ibm,gpio-405ez";
121c66ec88fSEmmanuel Vadot				reg = <0xef600700 0x20>;
122c66ec88fSEmmanuel Vadot			};
123c66ec88fSEmmanuel Vadot
124c66ec88fSEmmanuel Vadot			GPIO1: gpio@ef600800 {
125c66ec88fSEmmanuel Vadot				compatible = "ibm,gpio-405ez";
126c66ec88fSEmmanuel Vadot				reg = <0xef600800 0x20>;
127c66ec88fSEmmanuel Vadot			};
128c66ec88fSEmmanuel Vadot
129c66ec88fSEmmanuel Vadot			EMAC0: ethernet@ef600900 {
130c66ec88fSEmmanuel Vadot				device_type = "network";
131c66ec88fSEmmanuel Vadot				compatible = "ibm,emac-405ez", "ibm,emac";
132c66ec88fSEmmanuel Vadot				interrupt-parent = <&UIC0>;
133c66ec88fSEmmanuel Vadot				interrupts = <
134c66ec88fSEmmanuel Vadot					0x10 0x4 /* Ethernet */
135c66ec88fSEmmanuel Vadot					0x11 0x4 /* Ethernet Wake up */>;
136c66ec88fSEmmanuel Vadot				local-mac-address = [000000000000]; /* Filled in by wrapper */
137c66ec88fSEmmanuel Vadot				reg = <0xef600900 0x70>;
138c66ec88fSEmmanuel Vadot				mal-device = <&MAL0>;
139c66ec88fSEmmanuel Vadot				mal-tx-channel = <0>;
140c66ec88fSEmmanuel Vadot				mal-rx-channel = <0>;
141c66ec88fSEmmanuel Vadot				cell-index = <0>;
142c66ec88fSEmmanuel Vadot				max-frame-size = <1500>;
143c66ec88fSEmmanuel Vadot				rx-fifo-size = <4096>;
144c66ec88fSEmmanuel Vadot				tx-fifo-size = <2048>;
145c66ec88fSEmmanuel Vadot				phy-mode = "mii";
146c66ec88fSEmmanuel Vadot				phy-map = <0x0>;
147c66ec88fSEmmanuel Vadot			};
148c66ec88fSEmmanuel Vadot
149c66ec88fSEmmanuel Vadot			CAN0: can@ef601000 {
150c66ec88fSEmmanuel Vadot				compatible = "amcc,can-405ez";
151c66ec88fSEmmanuel Vadot				reg = <0xef601000 0x620>;
152c66ec88fSEmmanuel Vadot				interrupt-parent = <&UIC0>;
153c66ec88fSEmmanuel Vadot				interrupts = <0x7 0x4>;
154c66ec88fSEmmanuel Vadot			};
155c66ec88fSEmmanuel Vadot
156c66ec88fSEmmanuel Vadot			CAN1: can@ef601800 {
157c66ec88fSEmmanuel Vadot				compatible = "amcc,can-405ez";
158c66ec88fSEmmanuel Vadot				reg = <0xef601800 0x620>;
159c66ec88fSEmmanuel Vadot				interrupt-parent = <&UIC0>;
160c66ec88fSEmmanuel Vadot				interrupts = <0x8 0x4>;
161c66ec88fSEmmanuel Vadot			};
162c66ec88fSEmmanuel Vadot
163c66ec88fSEmmanuel Vadot			cameleon@ef602000 {
164c66ec88fSEmmanuel Vadot				compatible = "amcc,cameleon-405ez";
165c66ec88fSEmmanuel Vadot				reg = <0xef602000 0x800>;
166c66ec88fSEmmanuel Vadot				interrupt-parent = <&UIC0>;
167c66ec88fSEmmanuel Vadot				interrupts = <0xb 0x4 0xc 0x4>;
168c66ec88fSEmmanuel Vadot			};
169c66ec88fSEmmanuel Vadot
170c66ec88fSEmmanuel Vadot			ieee1588@ef602800 {
171c66ec88fSEmmanuel Vadot				compatible = "amcc,ieee1588-405ez";
172c66ec88fSEmmanuel Vadot				reg = <0xef602800 0x60>;
173c66ec88fSEmmanuel Vadot				interrupt-parent = <&UIC0>;
174c66ec88fSEmmanuel Vadot				interrupts = <0x4 0x4>;
175*7d0873ebSEmmanuel Vadot				/* This thing is a bit weird.  It has its own UIC
176c66ec88fSEmmanuel Vadot				 * that it uses to generate snapshot triggers.  We
177c66ec88fSEmmanuel Vadot				 * don't really support this device yet, and it needs
178c66ec88fSEmmanuel Vadot				 * work to figure this out.
179c66ec88fSEmmanuel Vadot				 */
180c66ec88fSEmmanuel Vadot				dcr-reg = <0xe0 0x9>;
181c66ec88fSEmmanuel Vadot			};
182c66ec88fSEmmanuel Vadot
183c66ec88fSEmmanuel Vadot			usb@ef603000 {
184c66ec88fSEmmanuel Vadot				compatible = "ohci-be";
185c66ec88fSEmmanuel Vadot				reg = <0xef603000 0x80>;
186c66ec88fSEmmanuel Vadot				interrupt-parent = <&UIC0>;
187c66ec88fSEmmanuel Vadot				interrupts = <0xd 0x4 0xe 0x4>;
188c66ec88fSEmmanuel Vadot			};
189c66ec88fSEmmanuel Vadot
190c66ec88fSEmmanuel Vadot			dac@ef603300 {
191c66ec88fSEmmanuel Vadot				compatible = "amcc,dac-405ez";
192c66ec88fSEmmanuel Vadot				reg = <0xef603300 0x40>;
193c66ec88fSEmmanuel Vadot				interrupt-parent = <&UIC0>;
194c66ec88fSEmmanuel Vadot				interrupts = <0x18 0x4>;
195c66ec88fSEmmanuel Vadot			};
196c66ec88fSEmmanuel Vadot
197c66ec88fSEmmanuel Vadot			adc@ef603400 {
198c66ec88fSEmmanuel Vadot				compatible = "amcc,adc-405ez";
199c66ec88fSEmmanuel Vadot				reg = <0xef603400 0x40>;
200c66ec88fSEmmanuel Vadot				interrupt-parent = <&UIC0>;
201c66ec88fSEmmanuel Vadot				interrupts = <0x17 0x4>;
202c66ec88fSEmmanuel Vadot			};
203c66ec88fSEmmanuel Vadot
204c66ec88fSEmmanuel Vadot			spi@ef603500 {
205c66ec88fSEmmanuel Vadot				compatible = "amcc,spi-405ez";
206c66ec88fSEmmanuel Vadot				reg = <0xef603500 0x100>;
207c66ec88fSEmmanuel Vadot				interrupt-parent = <&UIC0>;
208c66ec88fSEmmanuel Vadot				interrupts = <0x9 0x4>;
209c66ec88fSEmmanuel Vadot			};
210c66ec88fSEmmanuel Vadot		};
211c66ec88fSEmmanuel Vadot
212c66ec88fSEmmanuel Vadot		EBC0: ebc {
213c66ec88fSEmmanuel Vadot			compatible = "ibm,ebc-405ez", "ibm,ebc";
214c66ec88fSEmmanuel Vadot			dcr-reg = <0x12 0x2>;
215c66ec88fSEmmanuel Vadot			#address-cells = <2>;
216c66ec88fSEmmanuel Vadot			#size-cells = <1>;
217c66ec88fSEmmanuel Vadot			clock-frequency = <0>; /* Filled in by wrapper */
218c66ec88fSEmmanuel Vadot		};
219c66ec88fSEmmanuel Vadot	};
220c66ec88fSEmmanuel Vadot
221c66ec88fSEmmanuel Vadot	chosen {
222c66ec88fSEmmanuel Vadot		stdout-path = "/plb/opb/serial@ef600300";
223c66ec88fSEmmanuel Vadot	};
224c66ec88fSEmmanuel Vadot};
225