powerpc: DTS file for the C2K
[linux-2.6] / arch / powerpc / boot / dts / mpc885ads.dts
1 /*
2  * MPC885 ADS Device Tree Source
3  *
4  * Copyright 2006 MontaVista Software, Inc.
5  * Copyright 2007,2008 Freescale Semiconductor, Inc.
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 = "MPC885ADS";
17         compatible = "fsl,mpc885ads";
18         #address-cells = <1>;
19         #size-cells = <1>;
20
21         cpus {
22                 #address-cells = <1>;
23                 #size-cells = <0>;
24
25                 PowerPC,885@0 {
26                         device_type = "cpu";
27                         reg = <0x0>;
28                         d-cache-line-size = <16>;
29                         i-cache-line-size = <16>;
30                         d-cache-size = <8192>;
31                         i-cache-size = <8192>;
32                         timebase-frequency = <0>;
33                         bus-frequency = <0>;
34                         clock-frequency = <0>;
35                         interrupts = <15 2>;    // decrementer interrupt
36                         interrupt-parent = <&PIC>;
37                 };
38         };
39
40         memory {
41                 device_type = "memory";
42                 reg = <0x0 0x0>;
43         };
44
45         localbus@ff000100 {
46                 compatible = "fsl,mpc885-localbus", "fsl,pq1-localbus";
47                 #address-cells = <2>;
48                 #size-cells = <1>;
49                 reg = <0xff000100 0x40>;
50
51                 ranges = <
52                         0x0 0x0 0xfe000000 0x800000
53                         0x1 0x0 0xff080000 0x8000
54                         0x5 0x0 0xff0a0000 0x8000
55                 >;
56
57                 flash@0,0 {
58                         compatible = "jedec-flash";
59                         reg = <0x0 0x0 0x800000>;
60                         bank-width = <4>;
61                         device-width = <1>;
62                 };
63
64                 board-control@1,0 {
65                         reg = <0x1 0x0 0x20 0x5 0x300 0x4>;
66                         compatible = "fsl,mpc885ads-bcsr";
67                 };
68         };
69
70         soc@ff000000 {
71                 compatible = "fsl,mpc885", "fsl,pq1-soc";
72                 #address-cells = <1>;
73                 #size-cells = <1>;
74                 device_type = "soc";
75                 ranges = <0x0 0xff000000 0x4000>;
76                 bus-frequency = <0>;
77
78                 // Temporary -- will go away once kernel uses ranges for get_immrbase().
79                 reg = <0xff000000 0x4000>;
80
81                 mdio@e00 {
82                         compatible = "fsl,mpc885-fec-mdio", "fsl,pq1-fec-mdio";
83                         reg = <0xe00 0x188>;
84                         #address-cells = <1>;
85                         #size-cells = <0>;
86
87                         PHY0: ethernet-phy@0 {
88                                 reg = <0x0>;
89                                 device_type = "ethernet-phy";
90                         };
91
92                         PHY1: ethernet-phy@1 {
93                                 reg = <0x1>;
94                                 device_type = "ethernet-phy";
95                         };
96
97                         PHY2: ethernet-phy@2 {
98                                 reg = <0x2>;
99                                 device_type = "ethernet-phy";
100                         };
101                 };
102
103                 ethernet@e00 {
104                         device_type = "network";
105                         compatible = "fsl,mpc885-fec-enet",
106                                      "fsl,pq1-fec-enet";
107                         reg = <0xe00 0x188>;
108                         local-mac-address = [ 00 00 00 00 00 00 ];
109                         interrupts = <3 1>;
110                         interrupt-parent = <&PIC>;
111                         phy-handle = <&PHY0>;
112                         linux,network-index = <0>;
113                 };
114
115                 ethernet@1e00 {
116                         device_type = "network";
117                         compatible = "fsl,mpc885-fec-enet",
118                                      "fsl,pq1-fec-enet";
119                         reg = <0x1e00 0x188>;
120                         local-mac-address = [ 00 00 00 00 00 00 ];
121                         interrupts = <7 1>;
122                         interrupt-parent = <&PIC>;
123                         phy-handle = <&PHY1>;
124                         linux,network-index = <1>;
125                 };
126
127                 PIC: interrupt-controller@0 {
128                         interrupt-controller;
129                         #interrupt-cells = <2>;
130                         reg = <0x0 0x24>;
131                         compatible = "fsl,mpc885-pic", "fsl,pq1-pic";
132                 };
133
134                 pcmcia@80 {
135                         #address-cells = <3>;
136                         #interrupt-cells = <1>;
137                         #size-cells = <2>;
138                         compatible = "fsl,pq-pcmcia";
139                         device_type = "pcmcia";
140                         reg = <0x80 0x80>;
141                         interrupt-parent = <&PIC>;
142                         interrupts = <13 1>;
143                 };
144
145                 cpm@9c0 {
146                         #address-cells = <1>;
147                         #size-cells = <1>;
148                         compatible = "fsl,mpc885-cpm", "fsl,cpm1";
149                         command-proc = <0x9c0>;
150                         interrupts = <0>;       // cpm error interrupt
151                         interrupt-parent = <&CPM_PIC>;
152                         reg = <0x9c0 0x40>;
153                         ranges;
154
155                         muram@2000 {
156                                 #address-cells = <1>;
157                                 #size-cells = <1>;
158                                 ranges = <0x0 0x2000 0x2000>;
159
160                                 data@0 {
161                                         compatible = "fsl,cpm-muram-data";
162                                         reg = <0x0 0x1c00>;
163                                 };
164                         };
165
166                         brg@9f0 {
167                                 compatible = "fsl,mpc885-brg",
168                                              "fsl,cpm1-brg",
169                                              "fsl,cpm-brg";
170                                 clock-frequency = <0>;
171                                 reg = <0x9f0 0x10>;
172                         };
173
174                         CPM_PIC: interrupt-controller@930 {
175                                 interrupt-controller;
176                                 #interrupt-cells = <1>;
177                                 interrupts = <5 2 0 2>;
178                                 interrupt-parent = <&PIC>;
179                                 reg = <0x930 0x20>;
180                                 compatible = "fsl,mpc885-cpm-pic",
181                                              "fsl,cpm1-pic";
182                         };
183
184                         serial@a80 {
185                                 device_type = "serial";
186                                 compatible = "fsl,mpc885-smc-uart",
187                                              "fsl,cpm1-smc-uart";
188                                 reg = <0xa80 0x10 0x3e80 0x40>;
189                                 interrupts = <4>;
190                                 interrupt-parent = <&CPM_PIC>;
191                                 fsl,cpm-brg = <1>;
192                                 fsl,cpm-command = <0x90>;
193                         };
194
195                         serial@a90 {
196                                 device_type = "serial";
197                                 compatible = "fsl,mpc885-smc-uart",
198                                              "fsl,cpm1-smc-uart";
199                                 reg = <0xa90 0x10 0x3f80 0x40>;
200                                 interrupts = <3>;
201                                 interrupt-parent = <&CPM_PIC>;
202                                 fsl,cpm-brg = <2>;
203                                 fsl,cpm-command = <0xd0>;
204                         };
205
206                         ethernet@a40 {
207                                 device_type = "network";
208                                 compatible = "fsl,mpc885-scc-enet",
209                                              "fsl,cpm1-scc-enet";
210                                 reg = <0xa40 0x18 0x3e00 0x100>;
211                                 local-mac-address = [ 00 00 00 00 00 00 ];
212                                 interrupts = <28>;
213                                 interrupt-parent = <&CPM_PIC>;
214                                 phy-handle = <&PHY2>;
215                                 fsl,cpm-command = <0x80>;
216                                 linux,network-index = <2>;
217                         };
218                 };
219         };
220
221         chosen {
222                 linux,stdout-path = "/soc/cpm/serial@a80";
223         };
224 };