blob: 09b4e16154d6021938c0f74b2e69d370d45f39e2 [file] [log] [blame]
Grant Likelyc6d4d652006-11-27 14:16:29 -07001/*
2 * Lite5200 board Device Tree Source
3 *
Grant Likely05cbbc62007-02-12 13:36:54 -07004 * Copyright 2006-2007 Secret Lab Technologies Ltd.
Grant Likelyc6d4d652006-11-27 14:16:29 -07005 * Grant Likely <grant.likely@secretlab.ca>
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/ {
Grant Likely05cbbc62007-02-12 13:36:54 -070014 model = "fsl,lite5200";
Marian Balakowicz5b5820d2007-11-15 22:40:21 +110015 compatible = "fsl,lite5200";
Grant Likelyc6d4d652006-11-27 14:16:29 -070016 #address-cells = <1>;
17 #size-cells = <1>;
18
19 cpus {
Grant Likelyc6d4d652006-11-27 14:16:29 -070020 #address-cells = <1>;
21 #size-cells = <0>;
22
23 PowerPC,5200@0 {
24 device_type = "cpu";
25 reg = <0>;
26 d-cache-line-size = <20>;
27 i-cache-line-size = <20>;
28 d-cache-size = <4000>; // L1, 16K
29 i-cache-size = <4000>; // L1, 16K
30 timebase-frequency = <0>; // from bootloader
31 bus-frequency = <0>; // from bootloader
32 clock-frequency = <0>; // from bootloader
Grant Likelyc6d4d652006-11-27 14:16:29 -070033 };
34 };
35
36 memory {
37 device_type = "memory";
38 reg = <00000000 04000000>; // 64MB
39 };
40
41 soc5200@f0000000 {
Paul Gortmaker58a5be32008-01-26 07:33:20 +110042 #address-cells = <1>;
43 #size-cells = <1>;
Grant Likely24ce6bc2008-01-24 22:25:31 -070044 compatible = "fsl,mpc5200-immr";
Kumar Galaf0c8ac82007-09-12 11:52:31 -050045 ranges = <0 f0000000 0000c000>;
46 reg = <f0000000 00000100>;
Grant Likelyc6d4d652006-11-27 14:16:29 -070047 bus-frequency = <0>; // from bootloader
Grant Likely05cbbc62007-02-12 13:36:54 -070048 system-frequency = <0>; // from bootloader
Grant Likelyc6d4d652006-11-27 14:16:29 -070049
50 cdm@200 {
Grant Likely24ce6bc2008-01-24 22:25:31 -070051 compatible = "fsl,mpc5200-cdm";
Grant Likelyc6d4d652006-11-27 14:16:29 -070052 reg = <200 38>;
53 };
54
Grant Likely24ce6bc2008-01-24 22:25:31 -070055 mpc5200_pic: interrupt-controller@500 {
Grant Likelyc6d4d652006-11-27 14:16:29 -070056 // 5200 interrupts are encoded into two levels;
Grant Likelyc6d4d652006-11-27 14:16:29 -070057 interrupt-controller;
58 #interrupt-cells = <3>;
59 device_type = "interrupt-controller";
Grant Likely24ce6bc2008-01-24 22:25:31 -070060 compatible = "fsl,mpc5200-pic";
Grant Likelyc6d4d652006-11-27 14:16:29 -070061 reg = <500 80>;
Grant Likelyc6d4d652006-11-27 14:16:29 -070062 };
63
Grant Likely24ce6bc2008-01-24 22:25:31 -070064 timer@600 { // General Purpose Timer
Marian Balakowiczd24bc312007-10-19 04:44:24 +100065 compatible = "fsl,mpc5200-gpt";
Grant Likely05cbbc62007-02-12 13:36:54 -070066 cell-index = <0>;
Grant Likelyc6d4d652006-11-27 14:16:29 -070067 reg = <600 10>;
68 interrupts = <1 9 0>;
Kumar Gala5c1992f2007-05-15 16:12:27 -050069 interrupt-parent = <&mpc5200_pic>;
Marian Balakowiczd24bc312007-10-19 04:44:24 +100070 fsl,has-wdt;
Grant Likelyc6d4d652006-11-27 14:16:29 -070071 };
72
Grant Likely24ce6bc2008-01-24 22:25:31 -070073 timer@610 { // General Purpose Timer
Marian Balakowiczd24bc312007-10-19 04:44:24 +100074 compatible = "fsl,mpc5200-gpt";
Grant Likely05cbbc62007-02-12 13:36:54 -070075 cell-index = <1>;
Grant Likelyc6d4d652006-11-27 14:16:29 -070076 reg = <610 10>;
77 interrupts = <1 a 0>;
Kumar Gala5c1992f2007-05-15 16:12:27 -050078 interrupt-parent = <&mpc5200_pic>;
Grant Likelyc6d4d652006-11-27 14:16:29 -070079 };
80
Grant Likely24ce6bc2008-01-24 22:25:31 -070081 timer@620 { // General Purpose Timer
Marian Balakowiczd24bc312007-10-19 04:44:24 +100082 compatible = "fsl,mpc5200-gpt";
Grant Likely05cbbc62007-02-12 13:36:54 -070083 cell-index = <2>;
Grant Likelyc6d4d652006-11-27 14:16:29 -070084 reg = <620 10>;
85 interrupts = <1 b 0>;
Kumar Gala5c1992f2007-05-15 16:12:27 -050086 interrupt-parent = <&mpc5200_pic>;
Grant Likelyc6d4d652006-11-27 14:16:29 -070087 };
88
Grant Likely24ce6bc2008-01-24 22:25:31 -070089 timer@630 { // General Purpose Timer
Marian Balakowiczd24bc312007-10-19 04:44:24 +100090 compatible = "fsl,mpc5200-gpt";
Grant Likely05cbbc62007-02-12 13:36:54 -070091 cell-index = <3>;
Grant Likelyc6d4d652006-11-27 14:16:29 -070092 reg = <630 10>;
93 interrupts = <1 c 0>;
Kumar Gala5c1992f2007-05-15 16:12:27 -050094 interrupt-parent = <&mpc5200_pic>;
Grant Likelyc6d4d652006-11-27 14:16:29 -070095 };
96
Grant Likely24ce6bc2008-01-24 22:25:31 -070097 timer@640 { // General Purpose Timer
Marian Balakowiczd24bc312007-10-19 04:44:24 +100098 compatible = "fsl,mpc5200-gpt";
Grant Likely05cbbc62007-02-12 13:36:54 -070099 cell-index = <4>;
Grant Likelyc6d4d652006-11-27 14:16:29 -0700100 reg = <640 10>;
101 interrupts = <1 d 0>;
Kumar Gala5c1992f2007-05-15 16:12:27 -0500102 interrupt-parent = <&mpc5200_pic>;
Grant Likelyc6d4d652006-11-27 14:16:29 -0700103 };
104
Grant Likely24ce6bc2008-01-24 22:25:31 -0700105 timer@650 { // General Purpose Timer
Marian Balakowiczd24bc312007-10-19 04:44:24 +1000106 compatible = "fsl,mpc5200-gpt";
Grant Likely05cbbc62007-02-12 13:36:54 -0700107 cell-index = <5>;
Grant Likelyc6d4d652006-11-27 14:16:29 -0700108 reg = <650 10>;
109 interrupts = <1 e 0>;
Kumar Gala5c1992f2007-05-15 16:12:27 -0500110 interrupt-parent = <&mpc5200_pic>;
Grant Likelyc6d4d652006-11-27 14:16:29 -0700111 };
112
Grant Likely24ce6bc2008-01-24 22:25:31 -0700113 timer@660 { // General Purpose Timer
Marian Balakowiczd24bc312007-10-19 04:44:24 +1000114 compatible = "fsl,mpc5200-gpt";
Grant Likely05cbbc62007-02-12 13:36:54 -0700115 cell-index = <6>;
Grant Likelyc6d4d652006-11-27 14:16:29 -0700116 reg = <660 10>;
117 interrupts = <1 f 0>;
Kumar Gala5c1992f2007-05-15 16:12:27 -0500118 interrupt-parent = <&mpc5200_pic>;
Grant Likelyc6d4d652006-11-27 14:16:29 -0700119 };
120
Grant Likely24ce6bc2008-01-24 22:25:31 -0700121 timer@670 { // General Purpose Timer
Marian Balakowiczd24bc312007-10-19 04:44:24 +1000122 compatible = "fsl,mpc5200-gpt";
Grant Likely05cbbc62007-02-12 13:36:54 -0700123 cell-index = <7>;
Grant Likelyc6d4d652006-11-27 14:16:29 -0700124 reg = <670 10>;
125 interrupts = <1 10 0>;
Kumar Gala5c1992f2007-05-15 16:12:27 -0500126 interrupt-parent = <&mpc5200_pic>;
Grant Likelyc6d4d652006-11-27 14:16:29 -0700127 };
128
129 rtc@800 { // Real time clock
Grant Likely24ce6bc2008-01-24 22:25:31 -0700130 compatible = "fsl,mpc5200-rtc";
Grant Likelyc6d4d652006-11-27 14:16:29 -0700131 device_type = "rtc";
132 reg = <800 100>;
133 interrupts = <1 5 0 1 6 0>;
Kumar Gala5c1992f2007-05-15 16:12:27 -0500134 interrupt-parent = <&mpc5200_pic>;
Grant Likelyc6d4d652006-11-27 14:16:29 -0700135 };
136
Grant Likely24ce6bc2008-01-24 22:25:31 -0700137 can@900 {
138 compatible = "fsl,mpc5200-mscan";
Grant Likely05cbbc62007-02-12 13:36:54 -0700139 cell-index = <0>;
Grant Likelyc6d4d652006-11-27 14:16:29 -0700140 interrupts = <2 11 0>;
Kumar Gala5c1992f2007-05-15 16:12:27 -0500141 interrupt-parent = <&mpc5200_pic>;
Grant Likelyc6d4d652006-11-27 14:16:29 -0700142 reg = <900 80>;
143 };
144
Grant Likely24ce6bc2008-01-24 22:25:31 -0700145 can@980 {
146 compatible = "fsl,mpc5200-mscan";
Grant Likely05cbbc62007-02-12 13:36:54 -0700147 cell-index = <1>;
Domen Puncer0d0f4bc2007-05-07 01:38:48 +1000148 interrupts = <2 12 0>;
Kumar Gala5c1992f2007-05-15 16:12:27 -0500149 interrupt-parent = <&mpc5200_pic>;
Grant Likelyc6d4d652006-11-27 14:16:29 -0700150 reg = <980 80>;
151 };
152
153 gpio@b00 {
Grant Likely24ce6bc2008-01-24 22:25:31 -0700154 compatible = "fsl,mpc5200-gpio";
Grant Likelyc6d4d652006-11-27 14:16:29 -0700155 reg = <b00 40>;
156 interrupts = <1 7 0>;
Kumar Gala5c1992f2007-05-15 16:12:27 -0500157 interrupt-parent = <&mpc5200_pic>;
Grant Likelyc6d4d652006-11-27 14:16:29 -0700158 };
159
Grant Likely24ce6bc2008-01-24 22:25:31 -0700160 gpio@c00 {
161 compatible = "fsl,mpc5200-gpio-wkup";
Grant Likelyc6d4d652006-11-27 14:16:29 -0700162 reg = <c00 40>;
163 interrupts = <1 8 0 0 3 0>;
Kumar Gala5c1992f2007-05-15 16:12:27 -0500164 interrupt-parent = <&mpc5200_pic>;
Grant Likelyc6d4d652006-11-27 14:16:29 -0700165 };
166
Grant Likelyc6d4d652006-11-27 14:16:29 -0700167 spi@f00 {
Grant Likely24ce6bc2008-01-24 22:25:31 -0700168 compatible = "fsl,mpc5200-spi";
Grant Likelyc6d4d652006-11-27 14:16:29 -0700169 reg = <f00 20>;
170 interrupts = <2 d 0 2 e 0>;
Kumar Gala5c1992f2007-05-15 16:12:27 -0500171 interrupt-parent = <&mpc5200_pic>;
Grant Likelyc6d4d652006-11-27 14:16:29 -0700172 };
173
174 usb@1000 {
Grant Likely24ce6bc2008-01-24 22:25:31 -0700175 compatible = "fsl,mpc5200-ohci","ohci-be";
Grant Likelyc6d4d652006-11-27 14:16:29 -0700176 reg = <1000 ff>;
177 interrupts = <2 6 0>;
Kumar Gala5c1992f2007-05-15 16:12:27 -0500178 interrupt-parent = <&mpc5200_pic>;
Grant Likelyc6d4d652006-11-27 14:16:29 -0700179 };
180
Grant Likely24ce6bc2008-01-24 22:25:31 -0700181 dma-controller@1200 {
Grant Likelyc6d4d652006-11-27 14:16:29 -0700182 device_type = "dma-controller";
Grant Likely24ce6bc2008-01-24 22:25:31 -0700183 compatible = "fsl,mpc5200-bestcomm";
Grant Likelyc6d4d652006-11-27 14:16:29 -0700184 reg = <1200 80>;
185 interrupts = <3 0 0 3 1 0 3 2 0 3 3 0
186 3 4 0 3 5 0 3 6 0 3 7 0
187 3 8 0 3 9 0 3 a 0 3 b 0
188 3 c 0 3 d 0 3 e 0 3 f 0>;
Kumar Gala5c1992f2007-05-15 16:12:27 -0500189 interrupt-parent = <&mpc5200_pic>;
Grant Likelyc6d4d652006-11-27 14:16:29 -0700190 };
191
192 xlb@1f00 {
Grant Likely24ce6bc2008-01-24 22:25:31 -0700193 compatible = "fsl,mpc5200-xlb";
Grant Likelyc6d4d652006-11-27 14:16:29 -0700194 reg = <1f00 100>;
195 };
196
197 serial@2000 { // PSC1
198 device_type = "serial";
Grant Likely24ce6bc2008-01-24 22:25:31 -0700199 compatible = "fsl,mpc5200-psc-uart";
Grant Likelyc6d4d652006-11-27 14:16:29 -0700200 port-number = <0>; // Logical port assignment
Grant Likely05cbbc62007-02-12 13:36:54 -0700201 cell-index = <0>;
Grant Likelyc6d4d652006-11-27 14:16:29 -0700202 reg = <2000 100>;
203 interrupts = <2 1 0>;
Kumar Gala5c1992f2007-05-15 16:12:27 -0500204 interrupt-parent = <&mpc5200_pic>;
Grant Likelyc6d4d652006-11-27 14:16:29 -0700205 };
206
Grant Likely05cbbc62007-02-12 13:36:54 -0700207 // PSC2 in ac97 mode example
208 //ac97@2200 { // PSC2
Grant Likely24ce6bc2008-01-24 22:25:31 -0700209 // compatible = "fsl,mpc5200-psc-ac97";
Grant Likely05cbbc62007-02-12 13:36:54 -0700210 // cell-index = <1>;
211 // reg = <2200 100>;
212 // interrupts = <2 2 0>;
Kumar Gala5c1992f2007-05-15 16:12:27 -0500213 // interrupt-parent = <&mpc5200_pic>;
Grant Likely05cbbc62007-02-12 13:36:54 -0700214 //};
Grant Likelyc6d4d652006-11-27 14:16:29 -0700215
216 // PSC3 in CODEC mode example
Grant Likely05cbbc62007-02-12 13:36:54 -0700217 //i2s@2400 { // PSC3
Grant Likely24ce6bc2008-01-24 22:25:31 -0700218 // compatible = "fsl,mpc5200-psc-i2s";
Grant Likely05cbbc62007-02-12 13:36:54 -0700219 // cell-index = <2>;
220 // reg = <2400 100>;
221 // interrupts = <2 3 0>;
Kumar Gala5c1992f2007-05-15 16:12:27 -0500222 // interrupt-parent = <&mpc5200_pic>;
Grant Likely05cbbc62007-02-12 13:36:54 -0700223 //};
Grant Likelyc6d4d652006-11-27 14:16:29 -0700224
Grant Likely05cbbc62007-02-12 13:36:54 -0700225 // PSC4 in uart mode example
Grant Likelyc6d4d652006-11-27 14:16:29 -0700226 //serial@2600 { // PSC4
227 // device_type = "serial";
Grant Likely24ce6bc2008-01-24 22:25:31 -0700228 // compatible = "fsl,mpc5200-psc-uart";
Grant Likely05cbbc62007-02-12 13:36:54 -0700229 // cell-index = <3>;
Grant Likelyc6d4d652006-11-27 14:16:29 -0700230 // reg = <2600 100>;
231 // interrupts = <2 b 0>;
Kumar Gala5c1992f2007-05-15 16:12:27 -0500232 // interrupt-parent = <&mpc5200_pic>;
Grant Likelyc6d4d652006-11-27 14:16:29 -0700233 //};
234
Grant Likely05cbbc62007-02-12 13:36:54 -0700235 // PSC5 in uart mode example
Grant Likelyc6d4d652006-11-27 14:16:29 -0700236 //serial@2800 { // PSC5
237 // device_type = "serial";
Grant Likely24ce6bc2008-01-24 22:25:31 -0700238 // compatible = "fsl,mpc5200-psc-uart";
Grant Likely05cbbc62007-02-12 13:36:54 -0700239 // cell-index = <4>;
Grant Likelyc6d4d652006-11-27 14:16:29 -0700240 // reg = <2800 100>;
241 // interrupts = <2 c 0>;
Kumar Gala5c1992f2007-05-15 16:12:27 -0500242 // interrupt-parent = <&mpc5200_pic>;
Grant Likelyc6d4d652006-11-27 14:16:29 -0700243 //};
244
Grant Likely05cbbc62007-02-12 13:36:54 -0700245 // PSC6 in spi mode example
246 //spi@2c00 { // PSC6
Grant Likely24ce6bc2008-01-24 22:25:31 -0700247 // compatible = "fsl,mpc5200-psc-spi";
Grant Likely05cbbc62007-02-12 13:36:54 -0700248 // cell-index = <5>;
249 // reg = <2c00 100>;
250 // interrupts = <2 4 0>;
Kumar Gala5c1992f2007-05-15 16:12:27 -0500251 // interrupt-parent = <&mpc5200_pic>;
Grant Likely05cbbc62007-02-12 13:36:54 -0700252 //};
Grant Likelyc6d4d652006-11-27 14:16:29 -0700253
254 ethernet@3000 {
255 device_type = "network";
Grant Likely24ce6bc2008-01-24 22:25:31 -0700256 compatible = "fsl,mpc5200-fec";
Grant Likelyc6d4d652006-11-27 14:16:29 -0700257 reg = <3000 800>;
Grant Likely24ce6bc2008-01-24 22:25:31 -0700258 local-mac-address = [ 00 00 00 00 00 00 ];
Grant Likelyc6d4d652006-11-27 14:16:29 -0700259 interrupts = <2 5 0>;
Kumar Gala5c1992f2007-05-15 16:12:27 -0500260 interrupt-parent = <&mpc5200_pic>;
René Bürgel8d813942008-04-03 19:58:37 +1100261 phy-handle = <&phy0>;
262 };
263
264 mdio@3000 {
265 #address-cells = <1>;
266 #size-cells = <0>;
267 compatible = "fsl,mpc5200-mdio";
268 reg = <3000 400>; // fec range, since we need to setup fec interrupts
269 interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co.
270 interrupt-parent = <&mpc5200_pic>;
271
272 phy0:ethernet-phy@1 {
273 device_type = "ethernet-phy";
274 reg = <1>;
275 };
Grant Likelyc6d4d652006-11-27 14:16:29 -0700276 };
277
278 ata@3a00 {
279 device_type = "ata";
Grant Likely24ce6bc2008-01-24 22:25:31 -0700280 compatible = "fsl,mpc5200-ata";
Grant Likelyc6d4d652006-11-27 14:16:29 -0700281 reg = <3a00 100>;
282 interrupts = <2 7 0>;
Kumar Gala5c1992f2007-05-15 16:12:27 -0500283 interrupt-parent = <&mpc5200_pic>;
Grant Likelyc6d4d652006-11-27 14:16:29 -0700284 };
285
286 i2c@3d00 {
Kumar Galaec9686c2007-12-11 23:17:24 -0600287 #address-cells = <1>;
288 #size-cells = <0>;
Grant Likely24ce6bc2008-01-24 22:25:31 -0700289 compatible = "fsl,mpc5200-i2c","fsl-i2c";
Grant Likely05cbbc62007-02-12 13:36:54 -0700290 cell-index = <0>;
Grant Likelyc6d4d652006-11-27 14:16:29 -0700291 reg = <3d00 40>;
292 interrupts = <2 f 0>;
Kumar Gala5c1992f2007-05-15 16:12:27 -0500293 interrupt-parent = <&mpc5200_pic>;
Domen Puncer5cae84c2007-05-07 01:38:49 +1000294 fsl5200-clocking;
Grant Likelyc6d4d652006-11-27 14:16:29 -0700295 };
296
297 i2c@3d40 {
Kumar Galaec9686c2007-12-11 23:17:24 -0600298 #address-cells = <1>;
299 #size-cells = <0>;
Grant Likely24ce6bc2008-01-24 22:25:31 -0700300 compatible = "fsl,mpc5200-i2c","fsl-i2c";
Grant Likely05cbbc62007-02-12 13:36:54 -0700301 cell-index = <1>;
Grant Likelyc6d4d652006-11-27 14:16:29 -0700302 reg = <3d40 40>;
303 interrupts = <2 10 0>;
Kumar Gala5c1992f2007-05-15 16:12:27 -0500304 interrupt-parent = <&mpc5200_pic>;
Domen Puncer5cae84c2007-05-07 01:38:49 +1000305 fsl5200-clocking;
Grant Likelyc6d4d652006-11-27 14:16:29 -0700306 };
307 sram@8000 {
Grant Likely24ce6bc2008-01-24 22:25:31 -0700308 compatible = "fsl,mpc5200-sram","sram";
Grant Likelyc6d4d652006-11-27 14:16:29 -0700309 reg = <8000 4000>;
310 };
311 };
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500312
313 pci@f0000d00 {
314 #interrupt-cells = <1>;
315 #size-cells = <2>;
316 #address-cells = <3>;
317 device_type = "pci";
Grant Likely24ce6bc2008-01-24 22:25:31 -0700318 compatible = "fsl,mpc5200-pci";
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500319 reg = <f0000d00 100>;
320 interrupt-map-mask = <f800 0 0 7>;
321 interrupt-map = <c000 0 0 1 &mpc5200_pic 0 0 3
322 c000 0 0 2 &mpc5200_pic 0 0 3
323 c000 0 0 3 &mpc5200_pic 0 0 3
324 c000 0 0 4 &mpc5200_pic 0 0 3>;
325 clock-frequency = <0>; // From boot loader
326 interrupts = <2 8 0 2 9 0 2 a 0>;
327 interrupt-parent = <&mpc5200_pic>;
328 bus-range = <0 0>;
329 ranges = <42000000 0 80000000 80000000 0 20000000
330 02000000 0 a0000000 a0000000 0 10000000
331 01000000 0 00000000 b0000000 0 01000000>;
332 };
Grant Likelyc6d4d652006-11-27 14:16:29 -0700333};