1df34403dSVitaly Bordug/*
2df34403dSVitaly Bordug * MPC885 ADS Device Tree Source
3df34403dSVitaly Bordug *
4df34403dSVitaly Bordug * Copyright 2006 MontaVista Software, Inc.
520906eceSScott Wood * Copyright 2007 Freescale Semiconductor, Inc.
6df34403dSVitaly Bordug *
7df34403dSVitaly Bordug * This program is free software; you can redistribute  it and/or modify it
8df34403dSVitaly Bordug * under  the terms of  the GNU General  Public License as published by the
9df34403dSVitaly Bordug * Free Software Foundation;  either version 2 of the  License, or (at your
10df34403dSVitaly Bordug * option) any later version.
11df34403dSVitaly Bordug */
12df34403dSVitaly Bordug
13df34403dSVitaly Bordug
14df34403dSVitaly Bordug/ {
15df34403dSVitaly Bordug	model = "MPC885ADS";
1620906eceSScott Wood	compatible = "fsl,mpc885ads";
17df34403dSVitaly Bordug	#address-cells = <1>;
18df34403dSVitaly Bordug	#size-cells = <1>;
19df34403dSVitaly Bordug
20df34403dSVitaly Bordug	cpus {
21df34403dSVitaly Bordug		#address-cells = <1>;
22df34403dSVitaly Bordug		#size-cells = <0>;
23df34403dSVitaly Bordug
24df34403dSVitaly Bordug		PowerPC,885@0 {
25df34403dSVitaly Bordug			device_type = "cpu";
26df34403dSVitaly Bordug			reg = <0>;
2720906eceSScott Wood			d-cache-line-size = <d#16>;
2820906eceSScott Wood			i-cache-line-size = <d#16>;
2920906eceSScott Wood			d-cache-size = <d#8192>;
3020906eceSScott Wood			i-cache-size = <d#8192>;
31df34403dSVitaly Bordug			timebase-frequency = <0>;
32df34403dSVitaly Bordug			bus-frequency = <0>;
33df34403dSVitaly Bordug			clock-frequency = <0>;
34df34403dSVitaly Bordug			interrupts = <f 2>;	// decrementer interrupt
3520906eceSScott Wood			interrupt-parent = <&PIC>;
36df34403dSVitaly Bordug		};
37df34403dSVitaly Bordug	};
38df34403dSVitaly Bordug
39df34403dSVitaly Bordug	memory {
40df34403dSVitaly Bordug		device_type = "memory";
4120906eceSScott Wood		reg = <0 0>;
42df34403dSVitaly Bordug	};
43df34403dSVitaly Bordug
4420906eceSScott Wood	localbus@ff000100 {
4520906eceSScott Wood		compatible = "fsl,mpc885-localbus", "fsl,pq1-localbus";
4620906eceSScott Wood		#address-cells = <2>;
4720906eceSScott Wood		#size-cells = <1>;
4820906eceSScott Wood		reg = <ff000100 40>;
4920906eceSScott Wood
5020906eceSScott Wood		ranges = <
5120906eceSScott Wood			0 0 fe000000 00800000
5220906eceSScott Wood			1 0 ff080000 00008000
5320906eceSScott Wood			5 0 ff0a0000 00008000
5420906eceSScott Wood		>;
5520906eceSScott Wood
5620906eceSScott Wood		flash@0,0 {
5720906eceSScott Wood			compatible = "jedec-flash";
5820906eceSScott Wood			reg = <0 0 800000>;
5920906eceSScott Wood			bank-width = <4>;
6020906eceSScott Wood			device-width = <1>;
6120906eceSScott Wood		};
6220906eceSScott Wood
6320906eceSScott Wood		board-control@1,0 {
6420906eceSScott Wood			reg = <1 0 20 5 300 4>;
6520906eceSScott Wood			compatible = "fsl,mpc885ads-bcsr";
6620906eceSScott Wood		};
6720906eceSScott Wood	};
6820906eceSScott Wood
6920906eceSScott Wood	soc@ff000000 {
7020906eceSScott Wood		compatible = "fsl,mpc885", "fsl,pq1-soc";
71df34403dSVitaly Bordug		#address-cells = <1>;
72df34403dSVitaly Bordug		#size-cells = <1>;
73df34403dSVitaly Bordug		device_type = "soc";
7420906eceSScott Wood		ranges = <0 ff000000 00004000>;
75df34403dSVitaly Bordug		bus-frequency = <0>;
7620906eceSScott Wood
7720906eceSScott Wood		// Temporary -- will go away once kernel uses ranges for get_immrbase().
7820906eceSScott Wood		reg = <ff000000 4000>;
7920906eceSScott Wood
8020906eceSScott Wood		mdio@e00 {
8120906eceSScott Wood			compatible = "fsl,mpc885-fec-mdio", "fsl,pq1-fec-mdio";
8220906eceSScott Wood			reg = <e00 188>;
83df34403dSVitaly Bordug			#address-cells = <1>;
84df34403dSVitaly Bordug			#size-cells = <0>;
8520906eceSScott Wood
8620906eceSScott Wood			PHY0: ethernet-phy@0 {
87df34403dSVitaly Bordug				reg = <0>;
88df34403dSVitaly Bordug				device_type = "ethernet-phy";
89df34403dSVitaly Bordug			};
9020906eceSScott Wood
9120906eceSScott Wood			PHY1: ethernet-phy@1 {
92df34403dSVitaly Bordug				reg = <1>;
93df34403dSVitaly Bordug				device_type = "ethernet-phy";
94df34403dSVitaly Bordug			};
9520906eceSScott Wood
9620906eceSScott Wood			PHY2: ethernet-phy@2 {
97df34403dSVitaly Bordug				reg = <2>;
98df34403dSVitaly Bordug				device_type = "ethernet-phy";
99df34403dSVitaly Bordug			};
100df34403dSVitaly Bordug		};
101df34403dSVitaly Bordug
10220906eceSScott Wood		ethernet@e00 {
103df34403dSVitaly Bordug			device_type = "network";
10420906eceSScott Wood			compatible = "fsl,mpc885-fec-enet",
10520906eceSScott Wood			             "fsl,pq1-fec-enet";
106df34403dSVitaly Bordug			reg = <e00 188>;
10720906eceSScott Wood			local-mac-address = [ 00 00 00 00 00 00 ];
108df34403dSVitaly Bordug			interrupts = <3 1>;
10920906eceSScott Wood			interrupt-parent = <&PIC>;
11020906eceSScott Wood			phy-handle = <&PHY0>;
11120906eceSScott Wood			linux,network-index = <0>;
112df34403dSVitaly Bordug		};
113df34403dSVitaly Bordug
11420906eceSScott Wood		ethernet@1e00 {
115df34403dSVitaly Bordug			device_type = "network";
11620906eceSScott Wood			compatible = "fsl,mpc885-fec-enet",
11720906eceSScott Wood			             "fsl,pq1-fec-enet";
118df34403dSVitaly Bordug			reg = <1e00 188>;
11920906eceSScott Wood			local-mac-address = [ 00 00 00 00 00 00 ];
120df34403dSVitaly Bordug			interrupts = <7 1>;
12120906eceSScott Wood			interrupt-parent = <&PIC>;
12220906eceSScott Wood			phy-handle = <&PHY1>;
12320906eceSScott Wood			linux,network-index = <1>;
124df34403dSVitaly Bordug		};
125df34403dSVitaly Bordug
12620906eceSScott Wood		PIC: interrupt-controller@0 {
127df34403dSVitaly Bordug			interrupt-controller;
128df34403dSVitaly Bordug			#interrupt-cells = <2>;
129df34403dSVitaly Bordug			reg = <0 24>;
13020906eceSScott Wood			compatible = "fsl,mpc885-pic", "fsl,pq1-pic";
131df34403dSVitaly Bordug		};
132df34403dSVitaly Bordug
13320906eceSScott Wood		pcmcia@80 {
13480128ff7SVitaly Bordug			#address-cells = <3>;
13580128ff7SVitaly Bordug			#interrupt-cells = <1>;
13680128ff7SVitaly Bordug			#size-cells = <2>;
13780128ff7SVitaly Bordug			compatible = "fsl,pq-pcmcia";
13880128ff7SVitaly Bordug			device_type = "pcmcia";
13980128ff7SVitaly Bordug			reg = <80 80>;
14020906eceSScott Wood			interrupt-parent = <&PIC>;
14180128ff7SVitaly Bordug			interrupts = <d 1>;
14280128ff7SVitaly Bordug		};
14380128ff7SVitaly Bordug
14420906eceSScott Wood		cpm@9c0 {
145df34403dSVitaly Bordug			#address-cells = <1>;
146df34403dSVitaly Bordug			#size-cells = <1>;
14720906eceSScott Wood			compatible = "fsl,mpc885-cpm", "fsl,cpm1";
148df34403dSVitaly Bordug			command-proc = <9c0>;
14920906eceSScott Wood			interrupts = <0>;	// cpm error interrupt
15020906eceSScott Wood			interrupt-parent = <&CPM_PIC>;
15115f8c604SScott Wood			reg = <9c0 40>;
15220906eceSScott Wood			ranges;
153df34403dSVitaly Bordug
15415f8c604SScott Wood			muram@2000 {
15515f8c604SScott Wood				#address-cells = <1>;
15615f8c604SScott Wood				#size-cells = <1>;
15715f8c604SScott Wood				ranges = <0 2000 2000>;
15815f8c604SScott Wood
15915f8c604SScott Wood				data@0 {
16015f8c604SScott Wood					compatible = "fsl,cpm-muram-data";
16115f8c604SScott Wood					reg = <0 1c00>;
16215f8c604SScott Wood				};
16315f8c604SScott Wood			};
16415f8c604SScott Wood
16520906eceSScott Wood			brg@9f0 {
16620906eceSScott Wood				compatible = "fsl,mpc885-brg",
16720906eceSScott Wood				             "fsl,cpm1-brg",
16820906eceSScott Wood				             "fsl,cpm-brg";
16920906eceSScott Wood				reg = <9f0 10>;
17020906eceSScott Wood			};
17120906eceSScott Wood
17220906eceSScott Wood			CPM_PIC: interrupt-controller@930 {
173df34403dSVitaly Bordug				interrupt-controller;
17420906eceSScott Wood				#interrupt-cells = <1>;
175df34403dSVitaly Bordug				interrupts = <5 2 0 2>;
17620906eceSScott Wood				interrupt-parent = <&PIC>;
177df34403dSVitaly Bordug				reg = <930 20>;
17820906eceSScott Wood				compatible = "fsl,mpc885-cpm-pic",
17920906eceSScott Wood				             "fsl,cpm1-pic";
180df34403dSVitaly Bordug			};
181df34403dSVitaly Bordug
18220906eceSScott Wood			serial@a80 {
183df34403dSVitaly Bordug				device_type = "serial";
18420906eceSScott Wood				compatible = "fsl,mpc885-smc-uart",
18520906eceSScott Wood				             "fsl,cpm1-smc-uart";
186df34403dSVitaly Bordug				reg = <a80 10 3e80 40>;
18720906eceSScott Wood				interrupts = <4>;
18820906eceSScott Wood				interrupt-parent = <&CPM_PIC>;
18920906eceSScott Wood				fsl,cpm-brg = <1>;
19020906eceSScott Wood				fsl,cpm-command = <0090>;
191df34403dSVitaly Bordug			};
192df34403dSVitaly Bordug
19320906eceSScott Wood			serial@a90 {
194df34403dSVitaly Bordug				device_type = "serial";
19520906eceSScott Wood				compatible = "fsl,mpc885-smc-uart",
19620906eceSScott Wood				             "fsl,cpm1-smc-uart";
19720906eceSScott Wood				reg = <a90 10 3f80 40>;
19820906eceSScott Wood				interrupts = <3>;
19920906eceSScott Wood				interrupt-parent = <&CPM_PIC>;
20020906eceSScott Wood				fsl,cpm-brg = <2>;
20120906eceSScott Wood				fsl,cpm-command = <00d0>;
202df34403dSVitaly Bordug			};
203df34403dSVitaly Bordug
20420906eceSScott Wood			ethernet@a40 {
205df34403dSVitaly Bordug				device_type = "network";
20620906eceSScott Wood				compatible = "fsl,mpc885-scc-enet",
20720906eceSScott Wood				             "fsl,cpm1-scc-enet";
20820906eceSScott Wood				reg = <a40 18 3e00 100>;
20920906eceSScott Wood				local-mac-address = [ 00 00 00 00 00 00 ];
21020906eceSScott Wood				interrupts = <1c>;
21120906eceSScott Wood				interrupt-parent = <&CPM_PIC>;
21220906eceSScott Wood				phy-handle = <&PHY2>;
21320906eceSScott Wood				fsl,cpm-command = <0080>;
21420906eceSScott Wood				linux,network-index = <2>;
215df34403dSVitaly Bordug			};
216df34403dSVitaly Bordug		};
217df34403dSVitaly Bordug	};
21820906eceSScott Wood
21920906eceSScott Wood	chosen {
22020906eceSScott Wood		linux,stdout-path = "/soc/cpm/serial@a80";
22120906eceSScott Wood	};
222df34403dSVitaly Bordug};
223