blob: b08c848551cfadf6eb728c257456404c4cc8a606 [file] [log] [blame]
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +05301/*
2 * P1020si Device Tree Source
3 *
4 * Copyright 2011 Freescale Semiconductor Inc.
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation; either version 2 of the License, or (at your
9 * option) any later version.
10 */
11
12/dts-v1/;
13/ {
14 compatible = "fsl,P1020";
15 #address-cells = <2>;
16 #size-cells = <2>;
Kumar Galace638732011-10-19 10:59:21 -050017 interrupt-parent = <&mpic>;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +053018
19 cpus {
20 #address-cells = <1>;
21 #size-cells = <0>;
22
23 PowerPC,P1020@0 {
24 device_type = "cpu";
25 reg = <0x0>;
26 next-level-cache = <&L2>;
27 };
28
29 PowerPC,P1020@1 {
30 device_type = "cpu";
31 reg = <0x1>;
32 next-level-cache = <&L2>;
33 };
34 };
35
36 localbus@ffe05000 {
37 #address-cells = <2>;
38 #size-cells = <1>;
39 compatible = "fsl,p1020-elbc", "fsl,elbc", "simple-bus";
40 reg = <0 0xffe05000 0 0x1000>;
Kumar Galace638732011-10-19 10:59:21 -050041 interrupts = <19 2 0 0>;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +053042 };
43
44 soc@ffe00000 {
45 #address-cells = <1>;
46 #size-cells = <1>;
47 device_type = "soc";
48 compatible = "fsl,p1020-immr", "simple-bus";
49 ranges = <0x0 0x0 0xffe00000 0x100000>;
50 bus-frequency = <0>; // Filled out by uboot.
51
52 ecm-law@0 {
53 compatible = "fsl,ecm-law";
54 reg = <0x0 0x1000>;
55 fsl,num-laws = <12>;
56 };
57
58 ecm@1000 {
59 compatible = "fsl,p1020-ecm", "fsl,ecm";
60 reg = <0x1000 0x1000>;
Kumar Galace638732011-10-19 10:59:21 -050061 interrupts = <16 2 0 0>;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +053062 };
63
64 memory-controller@2000 {
65 compatible = "fsl,p1020-memory-controller";
66 reg = <0x2000 0x1000>;
Kumar Galace638732011-10-19 10:59:21 -050067 interrupts = <16 2 0 0>;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +053068 };
69
70 i2c@3000 {
71 #address-cells = <1>;
72 #size-cells = <0>;
73 cell-index = <0>;
74 compatible = "fsl-i2c";
75 reg = <0x3000 0x100>;
Kumar Galace638732011-10-19 10:59:21 -050076 interrupts = <43 2 0 0>;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +053077 dfsrr;
78 };
79
80 i2c@3100 {
81 #address-cells = <1>;
82 #size-cells = <0>;
83 cell-index = <1>;
84 compatible = "fsl-i2c";
85 reg = <0x3100 0x100>;
Kumar Galace638732011-10-19 10:59:21 -050086 interrupts = <43 2 0 0>;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +053087 dfsrr;
88 };
89
90 serial0: serial@4500 {
91 cell-index = <0>;
92 device_type = "serial";
93 compatible = "ns16550";
94 reg = <0x4500 0x100>;
95 clock-frequency = <0>;
Kumar Galace638732011-10-19 10:59:21 -050096 interrupts = <42 2 0 0>;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +053097 };
98
99 serial1: serial@4600 {
100 cell-index = <1>;
101 device_type = "serial";
102 compatible = "ns16550";
103 reg = <0x4600 0x100>;
104 clock-frequency = <0>;
Kumar Galace638732011-10-19 10:59:21 -0500105 interrupts = <42 2 0 0>;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530106 };
107
108 spi@7000 {
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530109 #address-cells = <1>;
110 #size-cells = <0>;
Kumar Gala38b8f162011-10-19 23:16:01 -0500111 compatible = "fsl,p1020-espi", "fsl,mpc8536-espi";
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530112 reg = <0x7000 0x1000>;
Kumar Galace638732011-10-19 10:59:21 -0500113 interrupts = <59 0x2 0 0>;
Kumar Gala38b8f162011-10-19 23:16:01 -0500114 fsl,espi-num-chipselects = <4>;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530115 };
116
117 gpio: gpio-controller@f000 {
118 #gpio-cells = <2>;
119 compatible = "fsl,mpc8572-gpio";
120 reg = <0xf000 0x100>;
Kumar Galace638732011-10-19 10:59:21 -0500121 interrupts = <47 0x2 0 0>;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530122 gpio-controller;
123 };
124
125 L2: l2-cache-controller@20000 {
126 compatible = "fsl,p1020-l2-cache-controller";
127 reg = <0x20000 0x1000>;
128 cache-line-size = <32>; // 32 bytes
129 cache-size = <0x40000>; // L2,256K
Kumar Galace638732011-10-19 10:59:21 -0500130 interrupts = <16 2 0 0>;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530131 };
132
133 dma@21300 {
134 #address-cells = <1>;
135 #size-cells = <1>;
136 compatible = "fsl,eloplus-dma";
137 reg = <0x21300 0x4>;
138 ranges = <0x0 0x21100 0x200>;
139 cell-index = <0>;
140 dma-channel@0 {
141 compatible = "fsl,eloplus-dma-channel";
142 reg = <0x0 0x80>;
143 cell-index = <0>;
Kumar Galace638732011-10-19 10:59:21 -0500144 interrupts = <20 2 0 0>;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530145 };
146 dma-channel@80 {
147 compatible = "fsl,eloplus-dma-channel";
148 reg = <0x80 0x80>;
149 cell-index = <1>;
Kumar Galace638732011-10-19 10:59:21 -0500150 interrupts = <21 2 0 0>;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530151 };
152 dma-channel@100 {
153 compatible = "fsl,eloplus-dma-channel";
154 reg = <0x100 0x80>;
155 cell-index = <2>;
Kumar Galace638732011-10-19 10:59:21 -0500156 interrupts = <22 2 0 0>;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530157 };
158 dma-channel@180 {
159 compatible = "fsl,eloplus-dma-channel";
160 reg = <0x180 0x80>;
161 cell-index = <3>;
Kumar Galace638732011-10-19 10:59:21 -0500162 interrupts = <23 2 0 0>;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530163 };
164 };
165
166 mdio@24000 {
167 #address-cells = <1>;
168 #size-cells = <0>;
169 compatible = "fsl,etsec2-mdio";
170 reg = <0x24000 0x1000 0xb0030 0x4>;
171
172 };
173
174 mdio@25000 {
175 #address-cells = <1>;
176 #size-cells = <0>;
177 compatible = "fsl,etsec2-tbi";
178 reg = <0x25000 0x1000 0xb1030 0x4>;
179
180 };
181
182 enet0: ethernet@b0000 {
183 #address-cells = <1>;
184 #size-cells = <1>;
185 device_type = "network";
186 model = "eTSEC";
187 compatible = "fsl,etsec2";
188 fsl,num_rx_queues = <0x8>;
189 fsl,num_tx_queues = <0x8>;
Kumar Galaa45edbf2011-10-19 23:44:06 -0500190 fsl,magic-packet;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530191 local-mac-address = [ 00 00 00 00 00 00 ];
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530192
193 queue-group@0 {
194 #address-cells = <1>;
195 #size-cells = <1>;
196 reg = <0xb0000 0x1000>;
Kumar Galace638732011-10-19 10:59:21 -0500197 interrupts = <29 2 0 0 30 2 0 0 34 2 0 0>;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530198 };
199
200 queue-group@1 {
201 #address-cells = <1>;
202 #size-cells = <1>;
203 reg = <0xb4000 0x1000>;
Kumar Galace638732011-10-19 10:59:21 -0500204 interrupts = <17 2 0 0 18 2 0 0 24 2 0 0>;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530205 };
206 };
207
208 enet1: ethernet@b1000 {
209 #address-cells = <1>;
210 #size-cells = <1>;
211 device_type = "network";
212 model = "eTSEC";
213 compatible = "fsl,etsec2";
214 fsl,num_rx_queues = <0x8>;
215 fsl,num_tx_queues = <0x8>;
Kumar Galaa45edbf2011-10-19 23:44:06 -0500216 fsl,magic-packet;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530217 local-mac-address = [ 00 00 00 00 00 00 ];
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530218
219 queue-group@0 {
220 #address-cells = <1>;
221 #size-cells = <1>;
222 reg = <0xb1000 0x1000>;
Kumar Galace638732011-10-19 10:59:21 -0500223 interrupts = <35 2 0 0 36 2 0 0 40 2 0 0>;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530224 };
225
226 queue-group@1 {
227 #address-cells = <1>;
228 #size-cells = <1>;
229 reg = <0xb5000 0x1000>;
Kumar Galace638732011-10-19 10:59:21 -0500230 interrupts = <51 2 0 0 52 2 0 0 67 2 0 0>;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530231 };
232 };
233
234 enet2: ethernet@b2000 {
235 #address-cells = <1>;
236 #size-cells = <1>;
237 device_type = "network";
238 model = "eTSEC";
239 compatible = "fsl,etsec2";
240 fsl,num_rx_queues = <0x8>;
241 fsl,num_tx_queues = <0x8>;
Kumar Galaa45edbf2011-10-19 23:44:06 -0500242 fsl,magic-packet;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530243 local-mac-address = [ 00 00 00 00 00 00 ];
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530244
245 queue-group@0 {
246 #address-cells = <1>;
247 #size-cells = <1>;
248 reg = <0xb2000 0x1000>;
Kumar Galace638732011-10-19 10:59:21 -0500249 interrupts = <31 2 0 0 32 2 0 0 33 2 0 0>;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530250 };
251
252 queue-group@1 {
253 #address-cells = <1>;
254 #size-cells = <1>;
255 reg = <0xb6000 0x1000>;
Kumar Galace638732011-10-19 10:59:21 -0500256 interrupts = <25 2 0 0 26 2 0 0 27 2 0 0>;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530257 };
258 };
259
260 usb@22000 {
261 #address-cells = <1>;
262 #size-cells = <0>;
263 compatible = "fsl-usb2-dr";
264 reg = <0x22000 0x1000>;
Kumar Galace638732011-10-19 10:59:21 -0500265 interrupts = <28 0x2 0 0>;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530266 };
267
268 /* USB2 is shared with localbus, so it must be disabled
269 by default. We can't put 'status = "disabled";' here
270 since U-Boot doesn't clear the status property when
271 it enables USB2. OTOH, U-Boot does create a new node
272 when there isn't any. So, just comment it out.
273 usb@23000 {
274 #address-cells = <1>;
275 #size-cells = <0>;
276 compatible = "fsl-usb2-dr";
277 reg = <0x23000 0x1000>;
Kumar Galace638732011-10-19 10:59:21 -0500278 interrupts = <46 0x2 0 0>;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530279 phy_type = "ulpi";
280 };
281 */
282
283 sdhci@2e000 {
284 compatible = "fsl,p1020-esdhc", "fsl,esdhc";
285 reg = <0x2e000 0x1000>;
Kumar Galace638732011-10-19 10:59:21 -0500286 interrupts = <72 0x2 0 0>;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530287 /* Filled in by U-Boot */
288 clock-frequency = <0>;
289 };
290
291 crypto@30000 {
Kumar Gala43cfddc2011-10-19 23:36:14 -0500292 compatible = "fsl,sec3.3", "fsl,sec3.1", "fsl,sec3.0",
293 "fsl,sec2.4", "fsl,sec2.2", "fsl,sec2.1",
294 "fsl,sec2.0";
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530295 reg = <0x30000 0x10000>;
Kumar Galace638732011-10-19 10:59:21 -0500296 interrupts = <45 2 0 0 58 2 0 0>;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530297 fsl,num-channels = <4>;
298 fsl,channel-fifo-len = <24>;
Kumar Gala43cfddc2011-10-19 23:36:14 -0500299 fsl,exec-units-mask = <0x97c>;
300 fsl,descriptor-types-mask = <0x3a30abf>;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530301 };
302
303 mpic: pic@40000 {
304 interrupt-controller;
305 #address-cells = <0>;
Kumar Galace638732011-10-19 10:59:21 -0500306 #interrupt-cells = <4>;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530307 reg = <0x40000 0x40000>;
308 compatible = "chrp,open-pic";
309 device_type = "open-pic";
310 };
311
Kumar Galace638732011-10-19 10:59:21 -0500312 timer@41100 {
313 compatible = "fsl,mpic-global-timer";
314 reg = <0x41100 0x100 0x41300 4>;
315 interrupts = <0 0 3 0
316 1 0 3 0
317 2 0 3 0
318 3 0 3 0>;
319 };
320
321 timer@42100 {
322 compatible = "fsl,mpic-global-timer";
323 reg = <0x42100 0x100 0x42300 4>;
324 interrupts = <4 0 3 0
325 5 0 3 0
326 6 0 3 0
327 7 0 3 0>;
328 };
329
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530330 msi@41600 {
331 compatible = "fsl,p1020-msi", "fsl,mpic-msi";
332 reg = <0x41600 0x80>;
333 msi-available-ranges = <0 0x100>;
334 interrupts = <
Kumar Galace638732011-10-19 10:59:21 -0500335 0xe0 0 0 0
336 0xe1 0 0 0
337 0xe2 0 0 0
338 0xe3 0 0 0
339 0xe4 0 0 0
340 0xe5 0 0 0
341 0xe6 0 0 0
342 0xe7 0 0 0>;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530343 };
344
345 global-utilities@e0000 { //global utilities block
Prabhakar Kushwaha41cd0852011-04-28 12:30:00 +0530346 compatible = "fsl,p1020-guts","fsl,p2020-guts";
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530347 reg = <0xe0000 0x1000>;
348 fsl,has-rstcr;
349 };
350 };
351
352 pci0: pcie@ffe09000 {
353 compatible = "fsl,mpc8548-pcie";
354 device_type = "pci";
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530355 #size-cells = <2>;
356 #address-cells = <3>;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530357 bus-range = <0 255>;
358 clock-frequency = <33333333>;
Kumar Galace638732011-10-19 10:59:21 -0500359 interrupts = <16 2 0 0>;
Kumar Galafc2478e2011-10-19 10:58:05 -0500360
361 pcie@0 {
362 reg = <0 0 0 0 0>;
363 #interrupt-cells = <1>;
364 #size-cells = <2>;
365 #address-cells = <3>;
366 device_type = "pci";
Kumar Galace638732011-10-19 10:59:21 -0500367 interrupts = <16 2 0 0>;
Kumar Galafc2478e2011-10-19 10:58:05 -0500368 interrupt-map-mask = <0xf800 0 0 7>;
369 interrupt-map = <
370 /* IDSEL 0x0 */
371 0000 0x0 0x0 0x1 &mpic 0x4 0x1
372 0000 0x0 0x0 0x2 &mpic 0x5 0x1
373 0000 0x0 0x0 0x3 &mpic 0x6 0x1
374 0000 0x0 0x0 0x4 &mpic 0x7 0x1
375 >;
376 };
377
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530378 };
379
380 pci1: pcie@ffe0a000 {
381 compatible = "fsl,mpc8548-pcie";
382 device_type = "pci";
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530383 #size-cells = <2>;
384 #address-cells = <3>;
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530385 bus-range = <0 255>;
386 clock-frequency = <33333333>;
Kumar Galace638732011-10-19 10:59:21 -0500387 interrupts = <16 2 0 0>;
Kumar Galafc2478e2011-10-19 10:58:05 -0500388
389 pcie@0 {
390 reg = <0 0 0 0 0>;
391 #interrupt-cells = <1>;
392 #size-cells = <2>;
393 #address-cells = <3>;
394 device_type = "pci";
Kumar Galace638732011-10-19 10:59:21 -0500395 interrupts = <16 2 0 0>;
Kumar Galafc2478e2011-10-19 10:58:05 -0500396 interrupt-map-mask = <0xf800 0 0 7>;
397
398 interrupt-map = <
399 /* IDSEL 0x0 */
400 0000 0x0 0x0 0x1 &mpic 0x0 0x1
401 0000 0x0 0x0 0x2 &mpic 0x1 0x1
402 0000 0x0 0x0 0x3 &mpic 0x2 0x1
403 0000 0x0 0x0 0x4 &mpic 0x3 0x1
404 >;
405 };
Prabhakar Kushwahab6e4df42011-04-07 14:40:55 +0530406 };
407};