diff options
Diffstat (limited to 'arch/powerpc/boot')
-rw-r--r-- | arch/powerpc/boot/dts/hcu4.dts | 168 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/mpc8548cds.dts | 567 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/p1010si.dtsi | 376 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/p1020rdb_camp_core0.dts | 213 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/p1020rdb_camp_core1.dts | 148 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/p1020si.dtsi | 377 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/p1022ds.dts | 657 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/p2020rdb_camp_core0.dts | 204 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/p2020rdb_camp_core1.dts | 228 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/p2020si.dtsi | 382 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/p2040rdb.dts | 166 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/p2040si.dtsi | 623 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/p3041si.dtsi | 660 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/p4080si.dtsi | 661 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/p5020si.dtsi | 652 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/sbc8560.dts | 406 | ||||
-rw-r--r-- | arch/powerpc/boot/flatdevtree_env.h | 27 |
17 files changed, 6515 insertions, 0 deletions
diff --git a/arch/powerpc/boot/dts/hcu4.dts b/arch/powerpc/boot/dts/hcu4.dts new file mode 100644 index 00000000000..7988598da4c --- /dev/null +++ b/arch/powerpc/boot/dts/hcu4.dts | |||
@@ -0,0 +1,168 @@ | |||
1 | /* | ||
2 | * Device Tree Source for Netstal Maschinen HCU4 | ||
3 | * based on the IBM Walnut | ||
4 | * | ||
5 | * Copyright 2008 | ||
6 | * Niklaus Giger <niklaus.giger@member.fsf.org> | ||
7 | * | ||
8 | * Copyright 2007 IBM Corp. | ||
9 | * Josh Boyer <jwboyer@linux.vnet.ibm.com> | ||
10 | * | ||
11 | * This file is licensed under the terms of the GNU General Public | ||
12 | * License version 2. This program is licensed "as is" without | ||
13 | * any warranty of any kind, whether express or implied. | ||
14 | */ | ||
15 | |||
16 | /dts-v1/; | ||
17 | |||
18 | / { | ||
19 | #address-cells = <0x1>; | ||
20 | #size-cells = <0x1>; | ||
21 | model = "netstal,hcu4"; | ||
22 | compatible = "netstal,hcu4"; | ||
23 | dcr-parent = <0x1>; | ||
24 | |||
25 | aliases { | ||
26 | ethernet0 = "/plb/opb/ethernet@ef600800"; | ||
27 | serial0 = "/plb/opb/serial@ef600300"; | ||
28 | }; | ||
29 | |||
30 | cpus { | ||
31 | #address-cells = <0x1>; | ||
32 | #size-cells = <0x0>; | ||
33 | |||
34 | cpu@0 { | ||
35 | device_type = "cpu"; | ||
36 | model = "PowerPC,405GPr"; | ||
37 | reg = <0x0>; | ||
38 | clock-frequency = <0>; /* Filled in by U-Boot */ | ||
39 | timebase-frequency = <0x0>; /* Filled in by U-Boot */ | ||
40 | i-cache-line-size = <0x20>; | ||
41 | d-cache-line-size = <0x20>; | ||
42 | i-cache-size = <0x4000>; | ||
43 | d-cache-size = <0x4000>; | ||
44 | dcr-controller; | ||
45 | dcr-access-method = "native"; | ||
46 | linux,phandle = <0x1>; | ||
47 | }; | ||
48 | }; | ||
49 | |||
50 | memory { | ||
51 | device_type = "memory"; | ||
52 | reg = <0x0 0x0>; /* Filled in by U-Boot */ | ||
53 | }; | ||
54 | |||
55 | UIC0: interrupt-controller { | ||
56 | compatible = "ibm,uic"; | ||
57 | interrupt-controller; | ||
58 | cell-index = <0x0>; | ||
59 | dcr-reg = <0xc0 0x9>; | ||
60 | #address-cells = <0x0>; | ||
61 | #size-cells = <0x0>; | ||
62 | #interrupt-cells = <0x2>; | ||
63 | linux,phandle = <0x2>; | ||
64 | }; | ||
65 | |||
66 | plb { | ||
67 | compatible = "ibm,plb3"; | ||
68 | #address-cells = <0x1>; | ||
69 | #size-cells = <0x1>; | ||
70 | ranges; | ||
71 | clock-frequency = <0x0>; /* Filled in by U-Boot */ | ||
72 | |||
73 | SDRAM0: memory-controller { | ||
74 | compatible = "ibm,sdram-405gp"; | ||
75 | dcr-reg = <0x10 0x2>; | ||
76 | }; | ||
77 | |||
78 | MAL: mcmal { | ||
79 | compatible = "ibm,mcmal-405gp", "ibm,mcmal"; | ||
80 | dcr-reg = <0x180 0x62>; | ||
81 | num-tx-chans = <0x1>; | ||
82 | num-rx-chans = <0x1>; | ||
83 | interrupt-parent = <0x2>; | ||
84 | interrupts = <0xb 0x4 0xc 0x4 0xa 0x4 0xd 0x4 0xe 0x4>; | ||
85 | linux,phandle = <0x3>; | ||
86 | }; | ||
87 | |||
88 | POB0: opb { | ||
89 | compatible = "ibm,opb-405gp", "ibm,opb"; | ||
90 | #address-cells = <0x1>; | ||
91 | #size-cells = <0x1>; | ||
92 | ranges = <0xef600000 0xef600000 0xa00000>; | ||
93 | dcr-reg = <0xa0 0x5>; | ||
94 | clock-frequency = <0x0>; /* Filled in by U-Boot */ | ||
95 | |||
96 | UART0: serial@ef600300 { | ||
97 | device_type = "serial"; | ||
98 | compatible = "ns16550"; | ||
99 | reg = <0xef600300 0x8>; | ||
100 | virtual-reg = <0xef600300>; | ||
101 | clock-frequency = <0x0>;/* Filled in by U-Boot */ | ||
102 | current-speed = <0>; /* Filled in by U-Boot */ | ||
103 | interrupt-parent = <0x2>; | ||
104 | interrupts = <0x0 0x4>; | ||
105 | }; | ||
106 | |||
107 | IIC: i2c@ef600500 { | ||
108 | compatible = "ibm,iic-405gp", "ibm,iic"; | ||
109 | reg = <0xef600500 0x11>; | ||
110 | interrupt-parent = <0x2>; | ||
111 | interrupts = <0x2 0x4>; | ||
112 | }; | ||
113 | |||
114 | GPIO: gpio@ef600700 { | ||
115 | compatible = "ibm,gpio-405gp"; | ||
116 | reg = <0xef600700 0x20>; | ||
117 | }; | ||
118 | |||
119 | EMAC: ethernet@ef600800 { | ||
120 | device_type = "network"; | ||
121 | compatible = "ibm,emac-405gp", "ibm,emac"; | ||
122 | interrupt-parent = <0x2>; | ||
123 | interrupts = <0xf 0x4 0x9 0x4>; | ||
124 | local-mac-address = [00 00 00 00 00 00]; | ||
125 | reg = <0xef600800 0x70>; | ||
126 | mal-device = <0x3>; | ||
127 | mal-tx-channel = <0x0>; | ||
128 | mal-rx-channel = <0x0>; | ||
129 | cell-index = <0x0>; | ||
130 | max-frame-size = <0x5dc>; | ||
131 | rx-fifo-size = <0x1000>; | ||
132 | tx-fifo-size = <0x800>; | ||
133 | phy-mode = "rmii"; | ||
134 | phy-map = <0x1>; | ||
135 | }; | ||
136 | }; | ||
137 | |||
138 | EBC0: ebc { | ||
139 | compatible = "ibm,ebc-405gp", "ibm,ebc"; | ||
140 | dcr-reg = <0x12 0x2>; | ||
141 | #address-cells = <0x2>; | ||
142 | #size-cells = <0x1>; | ||
143 | clock-frequency = <0x0>; /* Filled in by U-Boot */ | ||
144 | |||
145 | sram@0,0 { | ||
146 | reg = <0x0 0x0 0x80000>; | ||
147 | }; | ||
148 | |||
149 | flash@0,80000 { | ||
150 | compatible = "jedec-flash"; | ||
151 | bank-width = <0x1>; | ||
152 | reg = <0x0 0x80000 0x80000>; | ||
153 | #address-cells = <0x1>; | ||
154 | #size-cells = <0x1>; | ||
155 | |||
156 | partition@0 { | ||
157 | label = "OpenBIOS"; | ||
158 | reg = <0x0 0x80000>; | ||
159 | read-only; | ||
160 | }; | ||
161 | }; | ||
162 | }; | ||
163 | }; | ||
164 | |||
165 | chosen { | ||
166 | linux,stdout-path = "/plb/opb/serial@ef600300"; | ||
167 | }; | ||
168 | }; | ||
diff --git a/arch/powerpc/boot/dts/mpc8548cds.dts b/arch/powerpc/boot/dts/mpc8548cds.dts new file mode 100644 index 00000000000..a17a5572fb7 --- /dev/null +++ b/arch/powerpc/boot/dts/mpc8548cds.dts | |||
@@ -0,0 +1,567 @@ | |||
1 | /* | ||
2 | * MPC8548 CDS Device Tree Source | ||
3 | * | ||
4 | * Copyright 2006, 2008 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 | / { | ||
15 | model = "MPC8548CDS"; | ||
16 | compatible = "MPC8548CDS", "MPC85xxCDS"; | ||
17 | #address-cells = <1>; | ||
18 | #size-cells = <1>; | ||
19 | |||
20 | aliases { | ||
21 | ethernet0 = &enet0; | ||
22 | ethernet1 = &enet1; | ||
23 | ethernet2 = &enet2; | ||
24 | ethernet3 = &enet3; | ||
25 | serial0 = &serial0; | ||
26 | serial1 = &serial1; | ||
27 | pci0 = &pci0; | ||
28 | pci1 = &pci1; | ||
29 | pci2 = &pci2; | ||
30 | }; | ||
31 | |||
32 | cpus { | ||
33 | #address-cells = <1>; | ||
34 | #size-cells = <0>; | ||
35 | |||
36 | PowerPC,8548@0 { | ||
37 | device_type = "cpu"; | ||
38 | reg = <0x0>; | ||
39 | d-cache-line-size = <32>; // 32 bytes | ||
40 | i-cache-line-size = <32>; // 32 bytes | ||
41 | d-cache-size = <0x8000>; // L1, 32K | ||
42 | i-cache-size = <0x8000>; // L1, 32K | ||
43 | timebase-frequency = <0>; // 33 MHz, from uboot | ||
44 | bus-frequency = <0>; // 166 MHz | ||
45 | clock-frequency = <0>; // 825 MHz, from uboot | ||
46 | next-level-cache = <&L2>; | ||
47 | }; | ||
48 | }; | ||
49 | |||
50 | memory { | ||
51 | device_type = "memory"; | ||
52 | reg = <0x0 0x8000000>; // 128M at 0x0 | ||
53 | }; | ||
54 | |||
55 | soc8548@e0000000 { | ||
56 | #address-cells = <1>; | ||
57 | #size-cells = <1>; | ||
58 | device_type = "soc"; | ||
59 | compatible = "simple-bus"; | ||
60 | ranges = <0x0 0xe0000000 0x100000>; | ||
61 | bus-frequency = <0>; | ||
62 | |||
63 | ecm-law@0 { | ||
64 | compatible = "fsl,ecm-law"; | ||
65 | reg = <0x0 0x1000>; | ||
66 | fsl,num-laws = <10>; | ||
67 | }; | ||
68 | |||
69 | ecm@1000 { | ||
70 | compatible = "fsl,mpc8548-ecm", "fsl,ecm"; | ||
71 | reg = <0x1000 0x1000>; | ||
72 | interrupts = <17 2>; | ||
73 | interrupt-parent = <&mpic>; | ||
74 | }; | ||
75 | |||
76 | memory-controller@2000 { | ||
77 | compatible = "fsl,mpc8548-memory-controller"; | ||
78 | reg = <0x2000 0x1000>; | ||
79 | interrupt-parent = <&mpic>; | ||
80 | interrupts = <18 2>; | ||
81 | }; | ||
82 | |||
83 | L2: l2-cache-controller@20000 { | ||
84 | compatible = "fsl,mpc8548-l2-cache-controller"; | ||
85 | reg = <0x20000 0x1000>; | ||
86 | cache-line-size = <32>; // 32 bytes | ||
87 | cache-size = <0x80000>; // L2, 512K | ||
88 | interrupt-parent = <&mpic>; | ||
89 | interrupts = <16 2>; | ||
90 | }; | ||
91 | |||
92 | i2c@3000 { | ||
93 | #address-cells = <1>; | ||
94 | #size-cells = <0>; | ||
95 | cell-index = <0>; | ||
96 | compatible = "fsl-i2c"; | ||
97 | reg = <0x3000 0x100>; | ||
98 | interrupts = <43 2>; | ||
99 | interrupt-parent = <&mpic>; | ||
100 | dfsrr; | ||
101 | |||
102 | eeprom@50 { | ||
103 | compatible = "atmel,24c64"; | ||
104 | reg = <0x50>; | ||
105 | }; | ||
106 | |||
107 | eeprom@56 { | ||
108 | compatible = "atmel,24c64"; | ||
109 | reg = <0x56>; | ||
110 | }; | ||
111 | |||
112 | eeprom@57 { | ||
113 | compatible = "atmel,24c64"; | ||
114 | reg = <0x57>; | ||
115 | }; | ||
116 | }; | ||
117 | |||
118 | i2c@3100 { | ||
119 | #address-cells = <1>; | ||
120 | #size-cells = <0>; | ||
121 | cell-index = <1>; | ||
122 | compatible = "fsl-i2c"; | ||
123 | reg = <0x3100 0x100>; | ||
124 | interrupts = <43 2>; | ||
125 | interrupt-parent = <&mpic>; | ||
126 | dfsrr; | ||
127 | |||
128 | eeprom@50 { | ||
129 | compatible = "atmel,24c64"; | ||
130 | reg = <0x50>; | ||
131 | }; | ||
132 | }; | ||
133 | |||
134 | dma@21300 { | ||
135 | #address-cells = <1>; | ||
136 | #size-cells = <1>; | ||
137 | compatible = "fsl,mpc8548-dma", "fsl,eloplus-dma"; | ||
138 | reg = <0x21300 0x4>; | ||
139 | ranges = <0x0 0x21100 0x200>; | ||
140 | cell-index = <0>; | ||
141 | dma-channel@0 { | ||
142 | compatible = "fsl,mpc8548-dma-channel", | ||
143 | "fsl,eloplus-dma-channel"; | ||
144 | reg = <0x0 0x80>; | ||
145 | cell-index = <0>; | ||
146 | interrupt-parent = <&mpic>; | ||
147 | interrupts = <20 2>; | ||
148 | }; | ||
149 | dma-channel@80 { | ||
150 | compatible = "fsl,mpc8548-dma-channel", | ||
151 | "fsl,eloplus-dma-channel"; | ||
152 | reg = <0x80 0x80>; | ||
153 | cell-index = <1>; | ||
154 | interrupt-parent = <&mpic>; | ||
155 | interrupts = <21 2>; | ||
156 | }; | ||
157 | dma-channel@100 { | ||
158 | compatible = "fsl,mpc8548-dma-channel", | ||
159 | "fsl,eloplus-dma-channel"; | ||
160 | reg = <0x100 0x80>; | ||
161 | cell-index = <2>; | ||
162 | interrupt-parent = <&mpic>; | ||
163 | interrupts = <22 2>; | ||
164 | }; | ||
165 | dma-channel@180 { | ||
166 | compatible = "fsl,mpc8548-dma-channel", | ||
167 | "fsl,eloplus-dma-channel"; | ||
168 | reg = <0x180 0x80>; | ||
169 | cell-index = <3>; | ||
170 | interrupt-parent = <&mpic>; | ||
171 | interrupts = <23 2>; | ||
172 | }; | ||
173 | }; | ||
174 | |||
175 | enet0: ethernet@24000 { | ||
176 | #address-cells = <1>; | ||
177 | #size-cells = <1>; | ||
178 | cell-index = <0>; | ||
179 | device_type = "network"; | ||
180 | model = "eTSEC"; | ||
181 | compatible = "gianfar"; | ||
182 | reg = <0x24000 0x1000>; | ||
183 | ranges = <0x0 0x24000 0x1000>; | ||
184 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
185 | interrupts = <29 2 30 2 34 2>; | ||
186 | interrupt-parent = <&mpic>; | ||
187 | tbi-handle = <&tbi0>; | ||
188 | phy-handle = <&phy0>; | ||
189 | |||
190 | mdio@520 { | ||
191 | #address-cells = <1>; | ||
192 | #size-cells = <0>; | ||
193 | compatible = "fsl,gianfar-mdio"; | ||
194 | reg = <0x520 0x20>; | ||
195 | |||
196 | phy0: ethernet-phy@0 { | ||
197 | interrupt-parent = <&mpic>; | ||
198 | interrupts = <5 1>; | ||
199 | reg = <0x0>; | ||
200 | device_type = "ethernet-phy"; | ||
201 | }; | ||
202 | phy1: ethernet-phy@1 { | ||
203 | interrupt-parent = <&mpic>; | ||
204 | interrupts = <5 1>; | ||
205 | reg = <0x1>; | ||
206 | device_type = "ethernet-phy"; | ||
207 | }; | ||
208 | phy2: ethernet-phy@2 { | ||
209 | interrupt-parent = <&mpic>; | ||
210 | interrupts = <5 1>; | ||
211 | reg = <0x2>; | ||
212 | device_type = "ethernet-phy"; | ||
213 | }; | ||
214 | phy3: ethernet-phy@3 { | ||
215 | interrupt-parent = <&mpic>; | ||
216 | interrupts = <5 1>; | ||
217 | reg = <0x3>; | ||
218 | device_type = "ethernet-phy"; | ||
219 | }; | ||
220 | tbi0: tbi-phy@11 { | ||
221 | reg = <0x11>; | ||
222 | device_type = "tbi-phy"; | ||
223 | }; | ||
224 | }; | ||
225 | }; | ||
226 | |||
227 | enet1: ethernet@25000 { | ||
228 | #address-cells = <1>; | ||
229 | #size-cells = <1>; | ||
230 | cell-index = <1>; | ||
231 | device_type = "network"; | ||
232 | model = "eTSEC"; | ||
233 | compatible = "gianfar"; | ||
234 | reg = <0x25000 0x1000>; | ||
235 | ranges = <0x0 0x25000 0x1000>; | ||
236 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
237 | interrupts = <35 2 36 2 40 2>; | ||
238 | interrupt-parent = <&mpic>; | ||
239 | tbi-handle = <&tbi1>; | ||
240 | phy-handle = <&phy1>; | ||
241 | |||
242 | mdio@520 { | ||
243 | #address-cells = <1>; | ||
244 | #size-cells = <0>; | ||
245 | compatible = "fsl,gianfar-tbi"; | ||
246 | reg = <0x520 0x20>; | ||
247 | |||
248 | tbi1: tbi-phy@11 { | ||
249 | reg = <0x11>; | ||
250 | device_type = "tbi-phy"; | ||
251 | }; | ||
252 | }; | ||
253 | }; | ||
254 | |||
255 | enet2: ethernet@26000 { | ||
256 | #address-cells = <1>; | ||
257 | #size-cells = <1>; | ||
258 | cell-index = <2>; | ||
259 | device_type = "network"; | ||
260 | model = "eTSEC"; | ||
261 | compatible = "gianfar"; | ||
262 | reg = <0x26000 0x1000>; | ||
263 | ranges = <0x0 0x26000 0x1000>; | ||
264 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
265 | interrupts = <31 2 32 2 33 2>; | ||
266 | interrupt-parent = <&mpic>; | ||
267 | tbi-handle = <&tbi2>; | ||
268 | phy-handle = <&phy2>; | ||
269 | |||
270 | mdio@520 { | ||
271 | #address-cells = <1>; | ||
272 | #size-cells = <0>; | ||
273 | compatible = "fsl,gianfar-tbi"; | ||
274 | reg = <0x520 0x20>; | ||
275 | |||
276 | tbi2: tbi-phy@11 { | ||
277 | reg = <0x11>; | ||
278 | device_type = "tbi-phy"; | ||
279 | }; | ||
280 | }; | ||
281 | }; | ||
282 | |||
283 | enet3: ethernet@27000 { | ||
284 | #address-cells = <1>; | ||
285 | #size-cells = <1>; | ||
286 | cell-index = <3>; | ||
287 | device_type = "network"; | ||
288 | model = "eTSEC"; | ||
289 | compatible = "gianfar"; | ||
290 | reg = <0x27000 0x1000>; | ||
291 | ranges = <0x0 0x27000 0x1000>; | ||
292 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
293 | interrupts = <37 2 38 2 39 2>; | ||
294 | interrupt-parent = <&mpic>; | ||
295 | tbi-handle = <&tbi3>; | ||
296 | phy-handle = <&phy3>; | ||
297 | |||
298 | mdio@520 { | ||
299 | #address-cells = <1>; | ||
300 | #size-cells = <0>; | ||
301 | compatible = "fsl,gianfar-tbi"; | ||
302 | reg = <0x520 0x20>; | ||
303 | |||
304 | tbi3: tbi-phy@11 { | ||
305 | reg = <0x11>; | ||
306 | device_type = "tbi-phy"; | ||
307 | }; | ||
308 | }; | ||
309 | }; | ||
310 | |||
311 | serial0: serial@4500 { | ||
312 | cell-index = <0>; | ||
313 | device_type = "serial"; | ||
314 | compatible = "ns16550"; | ||
315 | reg = <0x4500 0x100>; // reg base, size | ||
316 | clock-frequency = <0>; // should we fill in in uboot? | ||
317 | interrupts = <42 2>; | ||
318 | interrupt-parent = <&mpic>; | ||
319 | }; | ||
320 | |||
321 | serial1: serial@4600 { | ||
322 | cell-index = <1>; | ||
323 | device_type = "serial"; | ||
324 | compatible = "ns16550"; | ||
325 | reg = <0x4600 0x100>; // reg base, size | ||
326 | clock-frequency = <0>; // should we fill in in uboot? | ||
327 | interrupts = <42 2>; | ||
328 | interrupt-parent = <&mpic>; | ||
329 | }; | ||
330 | |||
331 | global-utilities@e0000 { //global utilities reg | ||
332 | compatible = "fsl,mpc8548-guts"; | ||
333 | reg = <0xe0000 0x1000>; | ||
334 | fsl,has-rstcr; | ||
335 | }; | ||
336 | |||
337 | crypto@30000 { | ||
338 | compatible = "fsl,sec2.1", "fsl,sec2.0"; | ||
339 | reg = <0x30000 0x10000>; | ||
340 | interrupts = <45 2>; | ||
341 | interrupt-parent = <&mpic>; | ||
342 | fsl,num-channels = <4>; | ||
343 | fsl,channel-fifo-len = <24>; | ||
344 | fsl,exec-units-mask = <0xfe>; | ||
345 | fsl,descriptor-types-mask = <0x12b0ebf>; | ||
346 | }; | ||
347 | |||
348 | mpic: pic@40000 { | ||
349 | interrupt-controller; | ||
350 | #address-cells = <0>; | ||
351 | #interrupt-cells = <2>; | ||
352 | reg = <0x40000 0x40000>; | ||
353 | compatible = "chrp,open-pic"; | ||
354 | device_type = "open-pic"; | ||
355 | }; | ||
356 | }; | ||
357 | |||
358 | pci0: pci@e0008000 { | ||
359 | interrupt-map-mask = <0xf800 0x0 0x0 0x7>; | ||
360 | interrupt-map = < | ||
361 | /* IDSEL 0x4 (PCIX Slot 2) */ | ||
362 | 0x2000 0x0 0x0 0x1 &mpic 0x0 0x1 | ||
363 | 0x2000 0x0 0x0 0x2 &mpic 0x1 0x1 | ||
364 | 0x2000 0x0 0x0 0x3 &mpic 0x2 0x1 | ||
365 | 0x2000 0x0 0x0 0x4 &mpic 0x3 0x1 | ||
366 | |||
367 | /* IDSEL 0x5 (PCIX Slot 3) */ | ||
368 | 0x2800 0x0 0x0 0x1 &mpic 0x1 0x1 | ||
369 | 0x2800 0x0 0x0 0x2 &mpic 0x2 0x1 | ||
370 | 0x2800 0x0 0x0 0x3 &mpic 0x3 0x1 | ||
371 | 0x2800 0x0 0x0 0x4 &mpic 0x0 0x1 | ||
372 | |||
373 | /* IDSEL 0x6 (PCIX Slot 4) */ | ||
374 | 0x3000 0x0 0x0 0x1 &mpic 0x2 0x1 | ||
375 | 0x3000 0x0 0x0 0x2 &mpic 0x3 0x1 | ||
376 | 0x3000 0x0 0x0 0x3 &mpic 0x0 0x1 | ||
377 | 0x3000 0x0 0x0 0x4 &mpic 0x1 0x1 | ||
378 | |||
379 | /* IDSEL 0x8 (PCIX Slot 5) */ | ||
380 | 0x4000 0x0 0x0 0x1 &mpic 0x0 0x1 | ||
381 | 0x4000 0x0 0x0 0x2 &mpic 0x1 0x1 | ||
382 | 0x4000 0x0 0x0 0x3 &mpic 0x2 0x1 | ||
383 | 0x4000 0x0 0x0 0x4 &mpic 0x3 0x1 | ||
384 | |||
385 | /* IDSEL 0xC (Tsi310 bridge) */ | ||
386 | 0x6000 0x0 0x0 0x1 &mpic 0x0 0x1 | ||
387 | 0x6000 0x0 0x0 0x2 &mpic 0x1 0x1 | ||
388 | 0x6000 0x0 0x0 0x3 &mpic 0x2 0x1 | ||
389 | 0x6000 0x0 0x0 0x4 &mpic 0x3 0x1 | ||
390 | |||
391 | /* IDSEL 0x14 (Slot 2) */ | ||
392 | 0xa000 0x0 0x0 0x1 &mpic 0x0 0x1 | ||
393 | 0xa000 0x0 0x0 0x2 &mpic 0x1 0x1 | ||
394 | 0xa000 0x0 0x0 0x3 &mpic 0x2 0x1 | ||
395 | 0xa000 0x0 0x0 0x4 &mpic 0x3 0x1 | ||
396 | |||
397 | /* IDSEL 0x15 (Slot 3) */ | ||
398 | 0xa800 0x0 0x0 0x1 &mpic 0x1 0x1 | ||
399 | 0xa800 0x0 0x0 0x2 &mpic 0x2 0x1 | ||
400 | 0xa800 0x0 0x0 0x3 &mpic 0x3 0x1 | ||
401 | 0xa800 0x0 0x0 0x4 &mpic 0x0 0x1 | ||
402 | |||
403 | /* IDSEL 0x16 (Slot 4) */ | ||
404 | 0xb000 0x0 0x0 0x1 &mpic 0x2 0x1 | ||
405 | 0xb000 0x0 0x0 0x2 &mpic 0x3 0x1 | ||
406 | 0xb000 0x0 0x0 0x3 &mpic 0x0 0x1 | ||
407 | 0xb000 0x0 0x0 0x4 &mpic 0x1 0x1 | ||
408 | |||
409 | /* IDSEL 0x18 (Slot 5) */ | ||
410 | 0xc000 0x0 0x0 0x1 &mpic 0x0 0x1 | ||
411 | 0xc000 0x0 0x0 0x2 &mpic 0x1 0x1 | ||
412 | 0xc000 0x0 0x0 0x3 &mpic 0x2 0x1 | ||
413 | 0xc000 0x0 0x0 0x4 &mpic 0x3 0x1 | ||
414 | |||
415 | /* IDSEL 0x1C (Tsi310 bridge PCI primary) */ | ||
416 | 0xe000 0x0 0x0 0x1 &mpic 0x0 0x1 | ||
417 | 0xe000 0x0 0x0 0x2 &mpic 0x1 0x1 | ||
418 | 0xe000 0x0 0x0 0x3 &mpic 0x2 0x1 | ||
419 | 0xe000 0x0 0x0 0x4 &mpic 0x3 0x1>; | ||
420 | |||
421 | interrupt-parent = <&mpic>; | ||
422 | interrupts = <24 2>; | ||
423 | bus-range = <0 0>; | ||
424 | ranges = <0x2000000 0x0 0x80000000 0x80000000 0x0 0x10000000 | ||
425 | 0x1000000 0x0 0x0 0xe2000000 0x0 0x800000>; | ||
426 | clock-frequency = <66666666>; | ||
427 | #interrupt-cells = <1>; | ||
428 | #size-cells = <2>; | ||
429 | #address-cells = <3>; | ||
430 | reg = <0xe0008000 0x1000>; | ||
431 | compatible = "fsl,mpc8540-pcix", "fsl,mpc8540-pci"; | ||
432 | device_type = "pci"; | ||
433 | |||
434 | pci_bridge@1c { | ||
435 | interrupt-map-mask = <0xf800 0x0 0x0 0x7>; | ||
436 | interrupt-map = < | ||
437 | |||
438 | /* IDSEL 0x00 (PrPMC Site) */ | ||
439 | 0000 0x0 0x0 0x1 &mpic 0x0 0x1 | ||
440 | 0000 0x0 0x0 0x2 &mpic 0x1 0x1 | ||
441 | 0000 0x0 0x0 0x3 &mpic 0x2 0x1 | ||
442 | 0000 0x0 0x0 0x4 &mpic 0x3 0x1 | ||
443 | |||
444 | /* IDSEL 0x04 (VIA chip) */ | ||
445 | 0x2000 0x0 0x0 0x1 &mpic 0x0 0x1 | ||
446 | 0x2000 0x0 0x0 0x2 &mpic 0x1 0x1 | ||
447 | 0x2000 0x0 0x0 0x3 &mpic 0x2 0x1 | ||
448 | 0x2000 0x0 0x0 0x4 &mpic 0x3 0x1 | ||
449 | |||
450 | /* IDSEL 0x05 (8139) */ | ||
451 | 0x2800 0x0 0x0 0x1 &mpic 0x1 0x1 | ||
452 | |||
453 | /* IDSEL 0x06 (Slot 6) */ | ||
454 | 0x3000 0x0 0x0 0x1 &mpic 0x2 0x1 | ||
455 | 0x3000 0x0 0x0 0x2 &mpic 0x3 0x1 | ||
456 | 0x3000 0x0 0x0 0x3 &mpic 0x0 0x1 | ||
457 | 0x3000 0x0 0x0 0x4 &mpic 0x1 0x1 | ||
458 | |||
459 | /* IDESL 0x07 (Slot 7) */ | ||
460 | 0x3800 0x0 0x0 0x1 &mpic 0x3 0x1 | ||
461 | 0x3800 0x0 0x0 0x2 &mpic 0x0 0x1 | ||
462 | 0x3800 0x0 0x0 0x3 &mpic 0x1 0x1 | ||
463 | 0x3800 0x0 0x0 0x4 &mpic 0x2 0x1>; | ||
464 | |||
465 | reg = <0xe000 0x0 0x0 0x0 0x0>; | ||
466 | #interrupt-cells = <1>; | ||
467 | #size-cells = <2>; | ||
468 | #address-cells = <3>; | ||
469 | ranges = <0x2000000 0x0 0x80000000 | ||
470 | 0x2000000 0x0 0x80000000 | ||
471 | 0x0 0x20000000 | ||
472 | 0x1000000 0x0 0x0 | ||
473 | 0x1000000 0x0 0x0 | ||
474 | 0x0 0x80000>; | ||
475 | clock-frequency = <33333333>; | ||
476 | |||
477 | isa@4 { | ||
478 | device_type = "isa"; | ||
479 | #interrupt-cells = <2>; | ||
480 | #size-cells = <1>; | ||
481 | #address-cells = <2>; | ||
482 | reg = <0x2000 0x0 0x0 0x0 0x0>; | ||
483 | ranges = <0x1 0x0 0x1000000 0x0 0x0 0x1000>; | ||
484 | interrupt-parent = <&i8259>; | ||
485 | |||
486 | i8259: interrupt-controller@20 { | ||
487 | interrupt-controller; | ||
488 | device_type = "interrupt-controller"; | ||
489 | reg = <0x1 0x20 0x2 | ||
490 | 0x1 0xa0 0x2 | ||
491 | 0x1 0x4d0 0x2>; | ||
492 | #address-cells = <0>; | ||
493 | #interrupt-cells = <2>; | ||
494 | compatible = "chrp,iic"; | ||
495 | interrupts = <0 1>; | ||
496 | interrupt-parent = <&mpic>; | ||
497 | }; | ||
498 | |||
499 | rtc@70 { | ||
500 | compatible = "pnpPNP,b00"; | ||
501 | reg = <0x1 0x70 0x2>; | ||
502 | }; | ||
503 | }; | ||
504 | }; | ||
505 | }; | ||
506 | |||
507 | pci1: pci@e0009000 { | ||
508 | interrupt-map-mask = <0xf800 0x0 0x0 0x7>; | ||
509 | interrupt-map = < | ||
510 | |||
511 | /* IDSEL 0x15 */ | ||
512 | 0xa800 0x0 0x0 0x1 &mpic 0xb 0x1 | ||
513 | 0xa800 0x0 0x0 0x2 &mpic 0x1 0x1 | ||
514 | 0xa800 0x0 0x0 0x3 &mpic 0x2 0x1 | ||
515 | 0xa800 0x0 0x0 0x4 &mpic 0x3 0x1>; | ||
516 | |||
517 | interrupt-parent = <&mpic>; | ||
518 | interrupts = <25 2>; | ||
519 | bus-range = <0 0>; | ||
520 | ranges = <0x2000000 0x0 0x90000000 0x90000000 0x0 0x10000000 | ||
521 | 0x1000000 0x0 0x0 0xe2800000 0x0 0x800000>; | ||
522 | clock-frequency = <66666666>; | ||
523 | #interrupt-cells = <1>; | ||
524 | #size-cells = <2>; | ||
525 | #address-cells = <3>; | ||
526 | reg = <0xe0009000 0x1000>; | ||
527 | compatible = "fsl,mpc8540-pci"; | ||
528 | device_type = "pci"; | ||
529 | }; | ||
530 | |||
531 | pci2: pcie@e000a000 { | ||
532 | interrupt-map-mask = <0xf800 0x0 0x0 0x7>; | ||
533 | interrupt-map = < | ||
534 | |||
535 | /* IDSEL 0x0 (PEX) */ | ||
536 | 00000 0x0 0x0 0x1 &mpic 0x0 0x1 | ||
537 | 00000 0x0 0x0 0x2 &mpic 0x1 0x1 | ||
538 | 00000 0x0 0x0 0x3 &mpic 0x2 0x1 | ||
539 | 00000 0x0 0x0 0x4 &mpic 0x3 0x1>; | ||
540 | |||
541 | interrupt-parent = <&mpic>; | ||
542 | interrupts = <26 2>; | ||
543 | bus-range = <0 255>; | ||
544 | ranges = <0x2000000 0x0 0xa0000000 0xa0000000 0x0 0x20000000 | ||
545 | 0x1000000 0x0 0x0 0xe3000000 0x0 0x100000>; | ||
546 | clock-frequency = <33333333>; | ||
547 | #interrupt-cells = <1>; | ||
548 | #size-cells = <2>; | ||
549 | #address-cells = <3>; | ||
550 | reg = <0xe000a000 0x1000>; | ||
551 | compatible = "fsl,mpc8548-pcie"; | ||
552 | device_type = "pci"; | ||
553 | pcie@0 { | ||
554 | reg = <0x0 0x0 0x0 0x0 0x0>; | ||
555 | #size-cells = <2>; | ||
556 | #address-cells = <3>; | ||
557 | device_type = "pci"; | ||
558 | ranges = <0x2000000 0x0 0xa0000000 | ||
559 | 0x2000000 0x0 0xa0000000 | ||
560 | 0x0 0x20000000 | ||
561 | |||
562 | 0x1000000 0x0 0x0 | ||
563 | 0x1000000 0x0 0x0 | ||
564 | 0x0 0x100000>; | ||
565 | }; | ||
566 | }; | ||
567 | }; | ||
diff --git a/arch/powerpc/boot/dts/p1010si.dtsi b/arch/powerpc/boot/dts/p1010si.dtsi new file mode 100644 index 00000000000..7f51104f2e3 --- /dev/null +++ b/arch/powerpc/boot/dts/p1010si.dtsi | |||
@@ -0,0 +1,376 @@ | |||
1 | /* | ||
2 | * P1010si 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,P1010"; | ||
15 | #address-cells = <2>; | ||
16 | #size-cells = <2>; | ||
17 | |||
18 | cpus { | ||
19 | #address-cells = <1>; | ||
20 | #size-cells = <0>; | ||
21 | |||
22 | PowerPC,P1010@0 { | ||
23 | device_type = "cpu"; | ||
24 | reg = <0x0>; | ||
25 | next-level-cache = <&L2>; | ||
26 | }; | ||
27 | }; | ||
28 | |||
29 | ifc@ffe1e000 { | ||
30 | #address-cells = <2>; | ||
31 | #size-cells = <1>; | ||
32 | compatible = "fsl,ifc", "simple-bus"; | ||
33 | reg = <0x0 0xffe1e000 0 0x2000>; | ||
34 | interrupts = <16 2 19 2>; | ||
35 | interrupt-parent = <&mpic>; | ||
36 | }; | ||
37 | |||
38 | soc@ffe00000 { | ||
39 | #address-cells = <1>; | ||
40 | #size-cells = <1>; | ||
41 | device_type = "soc"; | ||
42 | compatible = "fsl,p1010-immr", "simple-bus"; | ||
43 | ranges = <0x0 0x0 0xffe00000 0x100000>; | ||
44 | bus-frequency = <0>; // Filled out by uboot. | ||
45 | |||
46 | ecm-law@0 { | ||
47 | compatible = "fsl,ecm-law"; | ||
48 | reg = <0x0 0x1000>; | ||
49 | fsl,num-laws = <12>; | ||
50 | }; | ||
51 | |||
52 | ecm@1000 { | ||
53 | compatible = "fsl,p1010-ecm", "fsl,ecm"; | ||
54 | reg = <0x1000 0x1000>; | ||
55 | interrupts = <16 2>; | ||
56 | interrupt-parent = <&mpic>; | ||
57 | }; | ||
58 | |||
59 | memory-controller@2000 { | ||
60 | compatible = "fsl,p1010-memory-controller"; | ||
61 | reg = <0x2000 0x1000>; | ||
62 | interrupt-parent = <&mpic>; | ||
63 | interrupts = <16 2>; | ||
64 | }; | ||
65 | |||
66 | i2c@3000 { | ||
67 | #address-cells = <1>; | ||
68 | #size-cells = <0>; | ||
69 | cell-index = <0>; | ||
70 | compatible = "fsl-i2c"; | ||
71 | reg = <0x3000 0x100>; | ||
72 | interrupts = <43 2>; | ||
73 | interrupt-parent = <&mpic>; | ||
74 | dfsrr; | ||
75 | }; | ||
76 | |||
77 | i2c@3100 { | ||
78 | #address-cells = <1>; | ||
79 | #size-cells = <0>; | ||
80 | cell-index = <1>; | ||
81 | compatible = "fsl-i2c"; | ||
82 | reg = <0x3100 0x100>; | ||
83 | interrupts = <43 2>; | ||
84 | interrupt-parent = <&mpic>; | ||
85 | dfsrr; | ||
86 | }; | ||
87 | |||
88 | serial0: serial@4500 { | ||
89 | cell-index = <0>; | ||
90 | device_type = "serial"; | ||
91 | compatible = "ns16550"; | ||
92 | reg = <0x4500 0x100>; | ||
93 | clock-frequency = <0>; | ||
94 | interrupts = <42 2>; | ||
95 | interrupt-parent = <&mpic>; | ||
96 | }; | ||
97 | |||
98 | serial1: serial@4600 { | ||
99 | cell-index = <1>; | ||
100 | device_type = "serial"; | ||
101 | compatible = "ns16550"; | ||
102 | reg = <0x4600 0x100>; | ||
103 | clock-frequency = <0>; | ||
104 | interrupts = <42 2>; | ||
105 | interrupt-parent = <&mpic>; | ||
106 | }; | ||
107 | |||
108 | spi@7000 { | ||
109 | #address-cells = <1>; | ||
110 | #size-cells = <0>; | ||
111 | compatible = "fsl,mpc8536-espi"; | ||
112 | reg = <0x7000 0x1000>; | ||
113 | interrupts = <59 0x2>; | ||
114 | interrupt-parent = <&mpic>; | ||
115 | fsl,espi-num-chipselects = <1>; | ||
116 | }; | ||
117 | |||
118 | gpio: gpio-controller@f000 { | ||
119 | #gpio-cells = <2>; | ||
120 | compatible = "fsl,mpc8572-gpio"; | ||
121 | reg = <0xf000 0x100>; | ||
122 | interrupts = <47 0x2>; | ||
123 | interrupt-parent = <&mpic>; | ||
124 | gpio-controller; | ||
125 | }; | ||
126 | |||
127 | sata@18000 { | ||
128 | compatible = "fsl,pq-sata-v2"; | ||
129 | reg = <0x18000 0x1000>; | ||
130 | cell-index = <1>; | ||
131 | interrupts = <74 0x2>; | ||
132 | interrupt-parent = <&mpic>; | ||
133 | }; | ||
134 | |||
135 | sata@19000 { | ||
136 | compatible = "fsl,pq-sata-v2"; | ||
137 | reg = <0x19000 0x1000>; | ||
138 | cell-index = <2>; | ||
139 | interrupts = <41 0x2>; | ||
140 | interrupt-parent = <&mpic>; | ||
141 | }; | ||
142 | |||
143 | can0@1c000 { | ||
144 | compatible = "fsl,flexcan-v1.0"; | ||
145 | reg = <0x1c000 0x1000>; | ||
146 | interrupts = <48 0x2>; | ||
147 | interrupt-parent = <&mpic>; | ||
148 | fsl,flexcan-clock-divider = <2>; | ||
149 | }; | ||
150 | |||
151 | can1@1d000 { | ||
152 | compatible = "fsl,flexcan-v1.0"; | ||
153 | reg = <0x1d000 0x1000>; | ||
154 | interrupts = <61 0x2>; | ||
155 | interrupt-parent = <&mpic>; | ||
156 | fsl,flexcan-clock-divider = <2>; | ||
157 | }; | ||
158 | |||
159 | L2: l2-cache-controller@20000 { | ||
160 | compatible = "fsl,p1010-l2-cache-controller", | ||
161 | "fsl,p1014-l2-cache-controller"; | ||
162 | reg = <0x20000 0x1000>; | ||
163 | cache-line-size = <32>; // 32 bytes | ||
164 | cache-size = <0x40000>; // L2,256K | ||
165 | interrupt-parent = <&mpic>; | ||
166 | interrupts = <16 2>; | ||
167 | }; | ||
168 | |||
169 | dma@21300 { | ||
170 | #address-cells = <1>; | ||
171 | #size-cells = <1>; | ||
172 | compatible = "fsl,p1010-dma", "fsl,eloplus-dma"; | ||
173 | reg = <0x21300 0x4>; | ||
174 | ranges = <0x0 0x21100 0x200>; | ||
175 | cell-index = <0>; | ||
176 | dma-channel@0 { | ||
177 | compatible = "fsl,p1010-dma-channel", "fsl,eloplus-dma-channel"; | ||
178 | reg = <0x0 0x80>; | ||
179 | cell-index = <0>; | ||
180 | interrupt-parent = <&mpic>; | ||
181 | interrupts = <20 2>; | ||
182 | }; | ||
183 | dma-channel@80 { | ||
184 | compatible = "fsl,p1010-dma-channel", "fsl,eloplus-dma-channel"; | ||
185 | reg = <0x80 0x80>; | ||
186 | cell-index = <1>; | ||
187 | interrupt-parent = <&mpic>; | ||
188 | interrupts = <21 2>; | ||
189 | }; | ||
190 | dma-channel@100 { | ||
191 | compatible = "fsl,p1010-dma-channel", "fsl,eloplus-dma-channel"; | ||
192 | reg = <0x100 0x80>; | ||
193 | cell-index = <2>; | ||
194 | interrupt-parent = <&mpic>; | ||
195 | interrupts = <22 2>; | ||
196 | }; | ||
197 | dma-channel@180 { | ||
198 | compatible = "fsl,p1010-dma-channel", "fsl,eloplus-dma-channel"; | ||
199 | reg = <0x180 0x80>; | ||
200 | cell-index = <3>; | ||
201 | interrupt-parent = <&mpic>; | ||
202 | interrupts = <23 2>; | ||
203 | }; | ||
204 | }; | ||
205 | |||
206 | usb@22000 { | ||
207 | compatible = "fsl-usb2-dr"; | ||
208 | reg = <0x22000 0x1000>; | ||
209 | #address-cells = <1>; | ||
210 | #size-cells = <0>; | ||
211 | interrupt-parent = <&mpic>; | ||
212 | interrupts = <28 0x2>; | ||
213 | dr_mode = "host"; | ||
214 | }; | ||
215 | |||
216 | mdio@24000 { | ||
217 | #address-cells = <1>; | ||
218 | #size-cells = <0>; | ||
219 | compatible = "fsl,etsec2-mdio"; | ||
220 | reg = <0x24000 0x1000 0xb0030 0x4>; | ||
221 | }; | ||
222 | |||
223 | mdio@25000 { | ||
224 | #address-cells = <1>; | ||
225 | #size-cells = <0>; | ||
226 | compatible = "fsl,etsec2-tbi"; | ||
227 | reg = <0x25000 0x1000 0xb1030 0x4>; | ||
228 | tbi0: tbi-phy@11 { | ||
229 | reg = <0x11>; | ||
230 | device_type = "tbi-phy"; | ||
231 | }; | ||
232 | }; | ||
233 | |||
234 | mdio@26000 { | ||
235 | #address-cells = <1>; | ||
236 | #size-cells = <0>; | ||
237 | compatible = "fsl,etsec2-tbi"; | ||
238 | reg = <0x26000 0x1000 0xb1030 0x4>; | ||
239 | tbi1: tbi-phy@11 { | ||
240 | reg = <0x11>; | ||
241 | device_type = "tbi-phy"; | ||
242 | }; | ||
243 | }; | ||
244 | |||
245 | sdhci@2e000 { | ||
246 | compatible = "fsl,esdhc"; | ||
247 | reg = <0x2e000 0x1000>; | ||
248 | interrupts = <72 0x8>; | ||
249 | interrupt-parent = <&mpic>; | ||
250 | /* Filled in by U-Boot */ | ||
251 | clock-frequency = <0>; | ||
252 | fsl,sdhci-auto-cmd12; | ||
253 | }; | ||
254 | |||
255 | enet0: ethernet@b0000 { | ||
256 | #address-cells = <1>; | ||
257 | #size-cells = <1>; | ||
258 | device_type = "network"; | ||
259 | model = "eTSEC"; | ||
260 | compatible = "fsl,etsec2"; | ||
261 | fsl,num_rx_queues = <0x8>; | ||
262 | fsl,num_tx_queues = <0x8>; | ||
263 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
264 | interrupt-parent = <&mpic>; | ||
265 | |||
266 | queue-group@0 { | ||
267 | #address-cells = <1>; | ||
268 | #size-cells = <1>; | ||
269 | reg = <0xb0000 0x1000>; | ||
270 | fsl,rx-bit-map = <0xff>; | ||
271 | fsl,tx-bit-map = <0xff>; | ||
272 | interrupts = <29 2 30 2 34 2>; | ||
273 | }; | ||
274 | |||
275 | }; | ||
276 | |||
277 | enet1: ethernet@b1000 { | ||
278 | #address-cells = <1>; | ||
279 | #size-cells = <1>; | ||
280 | device_type = "network"; | ||
281 | model = "eTSEC"; | ||
282 | compatible = "fsl,etsec2"; | ||
283 | fsl,num_rx_queues = <0x8>; | ||
284 | fsl,num_tx_queues = <0x8>; | ||
285 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
286 | interrupt-parent = <&mpic>; | ||
287 | |||
288 | queue-group@0 { | ||
289 | #address-cells = <1>; | ||
290 | #size-cells = <1>; | ||
291 | reg = <0xb1000 0x1000>; | ||
292 | fsl,rx-bit-map = <0xff>; | ||
293 | fsl,tx-bit-map = <0xff>; | ||
294 | interrupts = <35 2 36 2 40 2>; | ||
295 | }; | ||
296 | |||
297 | }; | ||
298 | |||
299 | enet2: ethernet@b2000 { | ||
300 | #address-cells = <1>; | ||
301 | #size-cells = <1>; | ||
302 | device_type = "network"; | ||
303 | model = "eTSEC"; | ||
304 | compatible = "fsl,etsec2"; | ||
305 | fsl,num_rx_queues = <0x8>; | ||
306 | fsl,num_tx_queues = <0x8>; | ||
307 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
308 | interrupt-parent = <&mpic>; | ||
309 | |||
310 | queue-group@0 { | ||
311 | #address-cells = <1>; | ||
312 | #size-cells = <1>; | ||
313 | reg = <0xb2000 0x1000>; | ||
314 | fsl,rx-bit-map = <0xff>; | ||
315 | fsl,tx-bit-map = <0xff>; | ||
316 | interrupts = <31 2 32 2 33 2>; | ||
317 | }; | ||
318 | |||
319 | }; | ||
320 | |||
321 | mpic: pic@40000 { | ||
322 | interrupt-controller; | ||
323 | #address-cells = <0>; | ||
324 | #interrupt-cells = <2>; | ||
325 | reg = <0x40000 0x40000>; | ||
326 | compatible = "chrp,open-pic"; | ||
327 | device_type = "open-pic"; | ||
328 | }; | ||
329 | |||
330 | msi@41600 { | ||
331 | compatible = "fsl,p1010-msi", "fsl,mpic-msi"; | ||
332 | reg = <0x41600 0x80>; | ||
333 | msi-available-ranges = <0 0x100>; | ||
334 | interrupts = < | ||
335 | 0xe0 0 | ||
336 | 0xe1 0 | ||
337 | 0xe2 0 | ||
338 | 0xe3 0 | ||
339 | 0xe4 0 | ||
340 | 0xe5 0 | ||
341 | 0xe6 0 | ||
342 | 0xe7 0>; | ||
343 | interrupt-parent = <&mpic>; | ||
344 | }; | ||
345 | |||
346 | global-utilities@e0000 { //global utilities block | ||
347 | compatible = "fsl,p1010-guts"; | ||
348 | reg = <0xe0000 0x1000>; | ||
349 | fsl,has-rstcr; | ||
350 | }; | ||
351 | }; | ||
352 | |||
353 | pci0: pcie@ffe09000 { | ||
354 | compatible = "fsl,p1010-pcie", "fsl,qoriq-pcie-v2.3", "fsl,qoriq-pcie-v2.2"; | ||
355 | device_type = "pci"; | ||
356 | #size-cells = <2>; | ||
357 | #address-cells = <3>; | ||
358 | reg = <0 0xffe09000 0 0x1000>; | ||
359 | bus-range = <0 255>; | ||
360 | clock-frequency = <33333333>; | ||
361 | interrupt-parent = <&mpic>; | ||
362 | interrupts = <16 2>; | ||
363 | }; | ||
364 | |||
365 | pci1: pcie@ffe0a000 { | ||
366 | compatible = "fsl,p1010-pcie", "fsl,qoriq-pcie-v2.3", "fsl,qoriq-pcie-v2.2"; | ||
367 | device_type = "pci"; | ||
368 | #size-cells = <2>; | ||
369 | #address-cells = <3>; | ||
370 | reg = <0 0xffe0a000 0 0x1000>; | ||
371 | bus-range = <0 255>; | ||
372 | clock-frequency = <33333333>; | ||
373 | interrupt-parent = <&mpic>; | ||
374 | interrupts = <16 2>; | ||
375 | }; | ||
376 | }; | ||
diff --git a/arch/powerpc/boot/dts/p1020rdb_camp_core0.dts b/arch/powerpc/boot/dts/p1020rdb_camp_core0.dts new file mode 100644 index 00000000000..f0bf7f42f09 --- /dev/null +++ b/arch/powerpc/boot/dts/p1020rdb_camp_core0.dts | |||
@@ -0,0 +1,213 @@ | |||
1 | /* | ||
2 | * P1020 RDB Core0 Device Tree Source in CAMP mode. | ||
3 | * | ||
4 | * In CAMP mode, each core needs to have its own dts. Only mpic and L2 cache | ||
5 | * can be shared, all the other devices must be assigned to one core only. | ||
6 | * This dts file allows core0 to have memory, l2, i2c, spi, gpio, tdm, dma, usb, | ||
7 | * eth1, eth2, sdhc, crypto, global-util, message, pci0, pci1, msi. | ||
8 | * | ||
9 | * Please note to add "-b 0" for core0's dts compiling. | ||
10 | * | ||
11 | * Copyright 2011 Freescale Semiconductor Inc. | ||
12 | * | ||
13 | * This program is free software; you can redistribute it and/or modify it | ||
14 | * under the terms of the GNU General Public License as published by the | ||
15 | * Free Software Foundation; either version 2 of the License, or (at your | ||
16 | * option) any later version. | ||
17 | */ | ||
18 | |||
19 | /include/ "p1020si.dtsi" | ||
20 | |||
21 | / { | ||
22 | model = "fsl,P1020RDB"; | ||
23 | compatible = "fsl,P1020RDB", "fsl,MPC85XXRDB-CAMP"; | ||
24 | |||
25 | aliases { | ||
26 | ethernet1 = &enet1; | ||
27 | ethernet2 = &enet2; | ||
28 | serial0 = &serial0; | ||
29 | pci0 = &pci0; | ||
30 | pci1 = &pci1; | ||
31 | }; | ||
32 | |||
33 | cpus { | ||
34 | PowerPC,P1020@1 { | ||
35 | status = "disabled"; | ||
36 | }; | ||
37 | }; | ||
38 | |||
39 | memory { | ||
40 | device_type = "memory"; | ||
41 | }; | ||
42 | |||
43 | localbus@ffe05000 { | ||
44 | status = "disabled"; | ||
45 | }; | ||
46 | |||
47 | soc@ffe00000 { | ||
48 | i2c@3000 { | ||
49 | rtc@68 { | ||
50 | compatible = "dallas,ds1339"; | ||
51 | reg = <0x68>; | ||
52 | }; | ||
53 | }; | ||
54 | |||
55 | serial1: serial@4600 { | ||
56 | status = "disabled"; | ||
57 | }; | ||
58 | |||
59 | spi@7000 { | ||
60 | fsl_m25p80@0 { | ||
61 | #address-cells = <1>; | ||
62 | #size-cells = <1>; | ||
63 | compatible = "fsl,espi-flash"; | ||
64 | reg = <0>; | ||
65 | linux,modalias = "fsl_m25p80"; | ||
66 | spi-max-frequency = <40000000>; | ||
67 | |||
68 | partition@0 { | ||
69 | /* 512KB for u-boot Bootloader Image */ | ||
70 | reg = <0x0 0x00080000>; | ||
71 | label = "SPI (RO) U-Boot Image"; | ||
72 | read-only; | ||
73 | }; | ||
74 | |||
75 | partition@80000 { | ||
76 | /* 512KB for DTB Image */ | ||
77 | reg = <0x00080000 0x00080000>; | ||
78 | label = "SPI (RO) DTB Image"; | ||
79 | read-only; | ||
80 | }; | ||
81 | |||
82 | partition@100000 { | ||
83 | /* 4MB for Linux Kernel Image */ | ||
84 | reg = <0x00100000 0x00400000>; | ||
85 | label = "SPI (RO) Linux Kernel Image"; | ||
86 | read-only; | ||
87 | }; | ||
88 | |||
89 | partition@500000 { | ||
90 | /* 4MB for Compressed RFS Image */ | ||
91 | reg = <0x00500000 0x00400000>; | ||
92 | label = "SPI (RO) Compressed RFS Image"; | ||
93 | read-only; | ||
94 | }; | ||
95 | |||
96 | partition@900000 { | ||
97 | /* 7MB for JFFS2 based RFS */ | ||
98 | reg = <0x00900000 0x00700000>; | ||
99 | label = "SPI (RW) JFFS2 RFS"; | ||
100 | }; | ||
101 | }; | ||
102 | }; | ||
103 | |||
104 | mdio@24000 { | ||
105 | phy0: ethernet-phy@0 { | ||
106 | interrupt-parent = <&mpic>; | ||
107 | interrupts = <3 1>; | ||
108 | reg = <0x0>; | ||
109 | }; | ||
110 | phy1: ethernet-phy@1 { | ||
111 | interrupt-parent = <&mpic>; | ||
112 | interrupts = <2 1>; | ||
113 | reg = <0x1>; | ||
114 | }; | ||
115 | }; | ||
116 | |||
117 | mdio@25000 { | ||
118 | tbi0: tbi-phy@11 { | ||
119 | reg = <0x11>; | ||
120 | device_type = "tbi-phy"; | ||
121 | }; | ||
122 | }; | ||
123 | |||
124 | enet0: ethernet@b0000 { | ||
125 | status = "disabled"; | ||
126 | }; | ||
127 | |||
128 | enet1: ethernet@b1000 { | ||
129 | phy-handle = <&phy0>; | ||
130 | tbi-handle = <&tbi0>; | ||
131 | phy-connection-type = "sgmii"; | ||
132 | }; | ||
133 | |||
134 | enet2: ethernet@b2000 { | ||
135 | phy-handle = <&phy1>; | ||
136 | phy-connection-type = "rgmii-id"; | ||
137 | }; | ||
138 | |||
139 | usb@22000 { | ||
140 | phy_type = "ulpi"; | ||
141 | }; | ||
142 | |||
143 | /* USB2 is shared with localbus, so it must be disabled | ||
144 | by default. We can't put 'status = "disabled";' here | ||
145 | since U-Boot doesn't clear the status property when | ||
146 | it enables USB2. OTOH, U-Boot does create a new node | ||
147 | when there isn't any. So, just comment it out. | ||
148 | usb@23000 { | ||
149 | phy_type = "ulpi"; | ||
150 | }; | ||
151 | */ | ||
152 | |||
153 | mpic: pic@40000 { | ||
154 | protected-sources = < | ||
155 | 42 29 30 34 /* serial1, enet0-queue-group0 */ | ||
156 | 17 18 24 45 /* enet0-queue-group1, crypto */ | ||
157 | >; | ||
158 | }; | ||
159 | |||
160 | }; | ||
161 | |||
162 | pci0: pcie@ffe09000 { | ||
163 | ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000 | ||
164 | 0x1000000 0x0 0x00000000 0 0xffc10000 0x0 0x10000>; | ||
165 | interrupt-map-mask = <0xf800 0x0 0x0 0x7>; | ||
166 | interrupt-map = < | ||
167 | /* IDSEL 0x0 */ | ||
168 | 0000 0x0 0x0 0x1 &mpic 0x4 0x1 | ||
169 | 0000 0x0 0x0 0x2 &mpic 0x5 0x1 | ||
170 | 0000 0x0 0x0 0x3 &mpic 0x6 0x1 | ||
171 | 0000 0x0 0x0 0x4 &mpic 0x7 0x1 | ||
172 | >; | ||
173 | pcie@0 { | ||
174 | reg = <0x0 0x0 0x0 0x0 0x0>; | ||
175 | #size-cells = <2>; | ||
176 | #address-cells = <3>; | ||
177 | device_type = "pci"; | ||
178 | ranges = <0x2000000 0x0 0xa0000000 | ||
179 | 0x2000000 0x0 0xa0000000 | ||
180 | 0x0 0x20000000 | ||
181 | |||
182 | 0x1000000 0x0 0x0 | ||
183 | 0x1000000 0x0 0x0 | ||
184 | 0x0 0x100000>; | ||
185 | }; | ||
186 | }; | ||
187 | |||
188 | pci1: pcie@ffe0a000 { | ||
189 | ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x20000000 | ||
190 | 0x1000000 0x0 0x00000000 0 0xffc00000 0x0 0x10000>; | ||
191 | interrupt-map-mask = <0xf800 0x0 0x0 0x7>; | ||
192 | interrupt-map = < | ||
193 | /* IDSEL 0x0 */ | ||
194 | 0000 0x0 0x0 0x1 &mpic 0x0 0x1 | ||
195 | 0000 0x0 0x0 0x2 &mpic 0x1 0x1 | ||
196 | 0000 0x0 0x0 0x3 &mpic 0x2 0x1 | ||
197 | 0000 0x0 0x0 0x4 &mpic 0x3 0x1 | ||
198 | >; | ||
199 | pcie@0 { | ||
200 | reg = <0x0 0x0 0x0 0x0 0x0>; | ||
201 | #size-cells = <2>; | ||
202 | #address-cells = <3>; | ||
203 | device_type = "pci"; | ||
204 | ranges = <0x2000000 0x0 0x80000000 | ||
205 | 0x2000000 0x0 0x80000000 | ||
206 | 0x0 0x20000000 | ||
207 | |||
208 | 0x1000000 0x0 0x0 | ||
209 | 0x1000000 0x0 0x0 | ||
210 | 0x0 0x100000>; | ||
211 | }; | ||
212 | }; | ||
213 | }; | ||
diff --git a/arch/powerpc/boot/dts/p1020rdb_camp_core1.dts b/arch/powerpc/boot/dts/p1020rdb_camp_core1.dts new file mode 100644 index 00000000000..6ec02204a44 --- /dev/null +++ b/arch/powerpc/boot/dts/p1020rdb_camp_core1.dts | |||
@@ -0,0 +1,148 @@ | |||
1 | /* | ||
2 | * P1020 RDB Core1 Device Tree Source in CAMP mode. | ||
3 | * | ||
4 | * In CAMP mode, each core needs to have its own dts. Only mpic and L2 cache | ||
5 | * can be shared, all the other devices must be assigned to one core only. | ||
6 | * This dts allows core1 to have l2, eth0, crypto. | ||
7 | * | ||
8 | * Please note to add "-b 1" for core1's dts compiling. | ||
9 | * | ||
10 | * Copyright 2011 Freescale Semiconductor Inc. | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or modify it | ||
13 | * under the terms of the GNU General Public License as published by the | ||
14 | * Free Software Foundation; either version 2 of the License, or (at your | ||
15 | * option) any later version. | ||
16 | */ | ||
17 | |||
18 | /include/ "p1020si.dtsi" | ||
19 | |||
20 | / { | ||
21 | model = "fsl,P1020RDB"; | ||
22 | compatible = "fsl,P1020RDB", "fsl,MPC85XXRDB-CAMP"; | ||
23 | |||
24 | aliases { | ||
25 | ethernet0 = &enet0; | ||
26 | serial0 = &serial1; | ||
27 | }; | ||
28 | |||
29 | cpus { | ||
30 | PowerPC,P1020@0 { | ||
31 | status = "disabled"; | ||
32 | }; | ||
33 | }; | ||
34 | |||
35 | memory { | ||
36 | device_type = "memory"; | ||
37 | }; | ||
38 | |||
39 | localbus@ffe05000 { | ||
40 | status = "disabled"; | ||
41 | }; | ||
42 | |||
43 | soc@ffe00000 { | ||
44 | ecm-law@0 { | ||
45 | status = "disabled"; | ||
46 | }; | ||
47 | |||
48 | ecm@1000 { | ||
49 | status = "disabled"; | ||
50 | }; | ||
51 | |||
52 | memory-controller@2000 { | ||
53 | status = "disabled"; | ||
54 | }; | ||
55 | |||
56 | i2c@3000 { | ||
57 | status = "disabled"; | ||
58 | }; | ||
59 | |||
60 | i2c@3100 { | ||
61 | status = "disabled"; | ||
62 | }; | ||
63 | |||
64 | serial0: serial@4500 { | ||
65 | status = "disabled"; | ||
66 | }; | ||
67 | |||
68 | spi@7000 { | ||
69 | status = "disabled"; | ||
70 | }; | ||
71 | |||
72 | gpio: gpio-controller@f000 { | ||
73 | status = "disabled"; | ||
74 | }; | ||
75 | |||
76 | dma@21300 { | ||
77 | status = "disabled"; | ||
78 | }; | ||
79 | |||
80 | mdio@24000 { | ||
81 | status = "disabled"; | ||
82 | }; | ||
83 | |||
84 | mdio@25000 { | ||
85 | status = "disabled"; | ||
86 | }; | ||
87 | |||
88 | enet0: ethernet@b0000 { | ||
89 | fixed-link = <1 1 1000 0 0>; | ||
90 | phy-connection-type = "rgmii-id"; | ||
91 | |||
92 | }; | ||
93 | |||
94 | enet1: ethernet@b1000 { | ||
95 | status = "disabled"; | ||
96 | }; | ||
97 | |||
98 | enet2: ethernet@b2000 { | ||
99 | status = "disabled"; | ||
100 | }; | ||
101 | |||
102 | usb@22000 { | ||
103 | status = "disabled"; | ||
104 | }; | ||
105 | |||
106 | sdhci@2e000 { | ||
107 | status = "disabled"; | ||
108 | }; | ||
109 | |||
110 | mpic: pic@40000 { | ||
111 | protected-sources = < | ||
112 | 16 /* ecm, mem, L2, pci0, pci1 */ | ||
113 | 43 42 59 /* i2c, serial0, spi */ | ||
114 | 47 63 62 /* gpio, tdm */ | ||
115 | 20 21 22 23 /* dma */ | ||
116 | 03 02 /* mdio */ | ||
117 | 35 36 40 /* enet1-queue-group0 */ | ||
118 | 51 52 67 /* enet1-queue-group1 */ | ||
119 | 31 32 33 /* enet2-queue-group0 */ | ||
120 | 25 26 27 /* enet2-queue-group1 */ | ||
121 | 28 72 58 /* usb, sdhci, crypto */ | ||
122 | 0xb0 0xb1 0xb2 /* message */ | ||
123 | 0xb3 0xb4 0xb5 | ||
124 | 0xb6 0xb7 | ||
125 | 0xe0 0xe1 0xe2 /* msi */ | ||
126 | 0xe3 0xe4 0xe5 | ||
127 | 0xe6 0xe7 /* sdhci, crypto , pci */ | ||
128 | >; | ||
129 | }; | ||
130 | |||
131 | msi@41600 { | ||
132 | status = "disabled"; | ||
133 | }; | ||
134 | |||
135 | global-utilities@e0000 { //global utilities block | ||
136 | status = "disabled"; | ||
137 | }; | ||
138 | |||
139 | }; | ||
140 | |||
141 | pci0: pcie@ffe09000 { | ||
142 | status = "disabled"; | ||
143 | }; | ||
144 | |||
145 | pci1: pcie@ffe0a000 { | ||
146 | status = "disabled"; | ||
147 | }; | ||
148 | }; | ||
diff --git a/arch/powerpc/boot/dts/p1020si.dtsi b/arch/powerpc/boot/dts/p1020si.dtsi new file mode 100644 index 00000000000..5c5acb66c3f --- /dev/null +++ b/arch/powerpc/boot/dts/p1020si.dtsi | |||
@@ -0,0 +1,377 @@ | |||
1 | /* | ||
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>; | ||
17 | |||
18 | cpus { | ||
19 | #address-cells = <1>; | ||
20 | #size-cells = <0>; | ||
21 | |||
22 | PowerPC,P1020@0 { | ||
23 | device_type = "cpu"; | ||
24 | reg = <0x0>; | ||
25 | next-level-cache = <&L2>; | ||
26 | }; | ||
27 | |||
28 | PowerPC,P1020@1 { | ||
29 | device_type = "cpu"; | ||
30 | reg = <0x1>; | ||
31 | next-level-cache = <&L2>; | ||
32 | }; | ||
33 | }; | ||
34 | |||
35 | localbus@ffe05000 { | ||
36 | #address-cells = <2>; | ||
37 | #size-cells = <1>; | ||
38 | compatible = "fsl,p1020-elbc", "fsl,elbc", "simple-bus"; | ||
39 | reg = <0 0xffe05000 0 0x1000>; | ||
40 | interrupts = <19 2>; | ||
41 | interrupt-parent = <&mpic>; | ||
42 | }; | ||
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>; | ||
61 | interrupts = <16 2>; | ||
62 | interrupt-parent = <&mpic>; | ||
63 | }; | ||
64 | |||
65 | memory-controller@2000 { | ||
66 | compatible = "fsl,p1020-memory-controller"; | ||
67 | reg = <0x2000 0x1000>; | ||
68 | interrupt-parent = <&mpic>; | ||
69 | interrupts = <16 2>; | ||
70 | }; | ||
71 | |||
72 | i2c@3000 { | ||
73 | #address-cells = <1>; | ||
74 | #size-cells = <0>; | ||
75 | cell-index = <0>; | ||
76 | compatible = "fsl-i2c"; | ||
77 | reg = <0x3000 0x100>; | ||
78 | interrupts = <43 2>; | ||
79 | interrupt-parent = <&mpic>; | ||
80 | dfsrr; | ||
81 | }; | ||
82 | |||
83 | i2c@3100 { | ||
84 | #address-cells = <1>; | ||
85 | #size-cells = <0>; | ||
86 | cell-index = <1>; | ||
87 | compatible = "fsl-i2c"; | ||
88 | reg = <0x3100 0x100>; | ||
89 | interrupts = <43 2>; | ||
90 | interrupt-parent = <&mpic>; | ||
91 | dfsrr; | ||
92 | }; | ||
93 | |||
94 | serial0: serial@4500 { | ||
95 | cell-index = <0>; | ||
96 | device_type = "serial"; | ||
97 | compatible = "ns16550"; | ||
98 | reg = <0x4500 0x100>; | ||
99 | clock-frequency = <0>; | ||
100 | interrupts = <42 2>; | ||
101 | interrupt-parent = <&mpic>; | ||
102 | }; | ||
103 | |||
104 | serial1: serial@4600 { | ||
105 | cell-index = <1>; | ||
106 | device_type = "serial"; | ||
107 | compatible = "ns16550"; | ||
108 | reg = <0x4600 0x100>; | ||
109 | clock-frequency = <0>; | ||
110 | interrupts = <42 2>; | ||
111 | interrupt-parent = <&mpic>; | ||
112 | }; | ||
113 | |||
114 | spi@7000 { | ||
115 | cell-index = <0>; | ||
116 | #address-cells = <1>; | ||
117 | #size-cells = <0>; | ||
118 | compatible = "fsl,espi"; | ||
119 | reg = <0x7000 0x1000>; | ||
120 | interrupts = <59 0x2>; | ||
121 | interrupt-parent = <&mpic>; | ||
122 | mode = "cpu"; | ||
123 | }; | ||
124 | |||
125 | gpio: gpio-controller@f000 { | ||
126 | #gpio-cells = <2>; | ||
127 | compatible = "fsl,mpc8572-gpio"; | ||
128 | reg = <0xf000 0x100>; | ||
129 | interrupts = <47 0x2>; | ||
130 | interrupt-parent = <&mpic>; | ||
131 | gpio-controller; | ||
132 | }; | ||
133 | |||
134 | L2: l2-cache-controller@20000 { | ||
135 | compatible = "fsl,p1020-l2-cache-controller"; | ||
136 | reg = <0x20000 0x1000>; | ||
137 | cache-line-size = <32>; // 32 bytes | ||
138 | cache-size = <0x40000>; // L2,256K | ||
139 | interrupt-parent = <&mpic>; | ||
140 | interrupts = <16 2>; | ||
141 | }; | ||
142 | |||
143 | dma@21300 { | ||
144 | #address-cells = <1>; | ||
145 | #size-cells = <1>; | ||
146 | compatible = "fsl,eloplus-dma"; | ||
147 | reg = <0x21300 0x4>; | ||
148 | ranges = <0x0 0x21100 0x200>; | ||
149 | cell-index = <0>; | ||
150 | dma-channel@0 { | ||
151 | compatible = "fsl,eloplus-dma-channel"; | ||
152 | reg = <0x0 0x80>; | ||
153 | cell-index = <0>; | ||
154 | interrupt-parent = <&mpic>; | ||
155 | interrupts = <20 2>; | ||
156 | }; | ||
157 | dma-channel@80 { | ||
158 | compatible = "fsl,eloplus-dma-channel"; | ||
159 | reg = <0x80 0x80>; | ||
160 | cell-index = <1>; | ||
161 | interrupt-parent = <&mpic>; | ||
162 | interrupts = <21 2>; | ||
163 | }; | ||
164 | dma-channel@100 { | ||
165 | compatible = "fsl,eloplus-dma-channel"; | ||
166 | reg = <0x100 0x80>; | ||
167 | cell-index = <2>; | ||
168 | interrupt-parent = <&mpic>; | ||
169 | interrupts = <22 2>; | ||
170 | }; | ||
171 | dma-channel@180 { | ||
172 | compatible = "fsl,eloplus-dma-channel"; | ||
173 | reg = <0x180 0x80>; | ||
174 | cell-index = <3>; | ||
175 | interrupt-parent = <&mpic>; | ||
176 | interrupts = <23 2>; | ||
177 | }; | ||
178 | }; | ||
179 | |||
180 | mdio@24000 { | ||
181 | #address-cells = <1>; | ||
182 | #size-cells = <0>; | ||
183 | compatible = "fsl,etsec2-mdio"; | ||
184 | reg = <0x24000 0x1000 0xb0030 0x4>; | ||
185 | |||
186 | }; | ||
187 | |||
188 | mdio@25000 { | ||
189 | #address-cells = <1>; | ||
190 | #size-cells = <0>; | ||
191 | compatible = "fsl,etsec2-tbi"; | ||
192 | reg = <0x25000 0x1000 0xb1030 0x4>; | ||
193 | |||
194 | }; | ||
195 | |||
196 | enet0: ethernet@b0000 { | ||
197 | #address-cells = <1>; | ||
198 | #size-cells = <1>; | ||
199 | device_type = "network"; | ||
200 | model = "eTSEC"; | ||
201 | compatible = "fsl,etsec2"; | ||
202 | fsl,num_rx_queues = <0x8>; | ||
203 | fsl,num_tx_queues = <0x8>; | ||
204 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
205 | interrupt-parent = <&mpic>; | ||
206 | |||
207 | queue-group@0 { | ||
208 | #address-cells = <1>; | ||
209 | #size-cells = <1>; | ||
210 | reg = <0xb0000 0x1000>; | ||
211 | interrupts = <29 2 30 2 34 2>; | ||
212 | }; | ||
213 | |||
214 | queue-group@1 { | ||
215 | #address-cells = <1>; | ||
216 | #size-cells = <1>; | ||
217 | reg = <0xb4000 0x1000>; | ||
218 | interrupts = <17 2 18 2 24 2>; | ||
219 | }; | ||
220 | }; | ||
221 | |||
222 | enet1: ethernet@b1000 { | ||
223 | #address-cells = <1>; | ||
224 | #size-cells = <1>; | ||
225 | device_type = "network"; | ||
226 | model = "eTSEC"; | ||
227 | compatible = "fsl,etsec2"; | ||
228 | fsl,num_rx_queues = <0x8>; | ||
229 | fsl,num_tx_queues = <0x8>; | ||
230 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
231 | interrupt-parent = <&mpic>; | ||
232 | |||
233 | queue-group@0 { | ||
234 | #address-cells = <1>; | ||
235 | #size-cells = <1>; | ||
236 | reg = <0xb1000 0x1000>; | ||
237 | interrupts = <35 2 36 2 40 2>; | ||
238 | }; | ||
239 | |||
240 | queue-group@1 { | ||
241 | #address-cells = <1>; | ||
242 | #size-cells = <1>; | ||
243 | reg = <0xb5000 0x1000>; | ||
244 | interrupts = <51 2 52 2 67 2>; | ||
245 | }; | ||
246 | }; | ||
247 | |||
248 | enet2: ethernet@b2000 { | ||
249 | #address-cells = <1>; | ||
250 | #size-cells = <1>; | ||
251 | device_type = "network"; | ||
252 | model = "eTSEC"; | ||
253 | compatible = "fsl,etsec2"; | ||
254 | fsl,num_rx_queues = <0x8>; | ||
255 | fsl,num_tx_queues = <0x8>; | ||
256 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
257 | interrupt-parent = <&mpic>; | ||
258 | |||
259 | queue-group@0 { | ||
260 | #address-cells = <1>; | ||
261 | #size-cells = <1>; | ||
262 | reg = <0xb2000 0x1000>; | ||
263 | interrupts = <31 2 32 2 33 2>; | ||
264 | }; | ||
265 | |||
266 | queue-group@1 { | ||
267 | #address-cells = <1>; | ||
268 | #size-cells = <1>; | ||
269 | reg = <0xb6000 0x1000>; | ||
270 | interrupts = <25 2 26 2 27 2>; | ||
271 | }; | ||
272 | }; | ||
273 | |||
274 | usb@22000 { | ||
275 | #address-cells = <1>; | ||
276 | #size-cells = <0>; | ||
277 | compatible = "fsl-usb2-dr"; | ||
278 | reg = <0x22000 0x1000>; | ||
279 | interrupt-parent = <&mpic>; | ||
280 | interrupts = <28 0x2>; | ||
281 | }; | ||
282 | |||
283 | /* USB2 is shared with localbus, so it must be disabled | ||
284 | by default. We can't put 'status = "disabled";' here | ||
285 | since U-Boot doesn't clear the status property when | ||
286 | it enables USB2. OTOH, U-Boot does create a new node | ||
287 | when there isn't any. So, just comment it out. | ||
288 | usb@23000 { | ||
289 | #address-cells = <1>; | ||
290 | #size-cells = <0>; | ||
291 | compatible = "fsl-usb2-dr"; | ||
292 | reg = <0x23000 0x1000>; | ||
293 | interrupt-parent = <&mpic>; | ||
294 | interrupts = <46 0x2>; | ||
295 | phy_type = "ulpi"; | ||
296 | }; | ||
297 | */ | ||
298 | |||
299 | sdhci@2e000 { | ||
300 | compatible = "fsl,p1020-esdhc", "fsl,esdhc"; | ||
301 | reg = <0x2e000 0x1000>; | ||
302 | interrupts = <72 0x2>; | ||
303 | interrupt-parent = <&mpic>; | ||
304 | /* Filled in by U-Boot */ | ||
305 | clock-frequency = <0>; | ||
306 | }; | ||
307 | |||
308 | crypto@30000 { | ||
309 | compatible = "fsl,sec3.1", "fsl,sec3.0", "fsl,sec2.4", | ||
310 | "fsl,sec2.2", "fsl,sec2.1", "fsl,sec2.0"; | ||
311 | reg = <0x30000 0x10000>; | ||
312 | interrupts = <45 2 58 2>; | ||
313 | interrupt-parent = <&mpic>; | ||
314 | fsl,num-channels = <4>; | ||
315 | fsl,channel-fifo-len = <24>; | ||
316 | fsl,exec-units-mask = <0xbfe>; | ||
317 | fsl,descriptor-types-mask = <0x3ab0ebf>; | ||
318 | }; | ||
319 | |||
320 | mpic: pic@40000 { | ||
321 | interrupt-controller; | ||
322 | #address-cells = <0>; | ||
323 | #interrupt-cells = <2>; | ||
324 | reg = <0x40000 0x40000>; | ||
325 | compatible = "chrp,open-pic"; | ||
326 | device_type = "open-pic"; | ||
327 | }; | ||
328 | |||
329 | msi@41600 { | ||
330 | compatible = "fsl,p1020-msi", "fsl,mpic-msi"; | ||
331 | reg = <0x41600 0x80>; | ||
332 | msi-available-ranges = <0 0x100>; | ||
333 | interrupts = < | ||
334 | 0xe0 0 | ||
335 | 0xe1 0 | ||
336 | 0xe2 0 | ||
337 | 0xe3 0 | ||
338 | 0xe4 0 | ||
339 | 0xe5 0 | ||
340 | 0xe6 0 | ||
341 | 0xe7 0>; | ||
342 | interrupt-parent = <&mpic>; | ||
343 | }; | ||
344 | |||
345 | global-utilities@e0000 { //global utilities block | ||
346 | compatible = "fsl,p1020-guts","fsl,p2020-guts"; | ||
347 | reg = <0xe0000 0x1000>; | ||
348 | fsl,has-rstcr; | ||
349 | }; | ||
350 | }; | ||
351 | |||
352 | pci0: pcie@ffe09000 { | ||
353 | compatible = "fsl,mpc8548-pcie"; | ||
354 | device_type = "pci"; | ||
355 | #interrupt-cells = <1>; | ||
356 | #size-cells = <2>; | ||
357 | #address-cells = <3>; | ||
358 | reg = <0 0xffe09000 0 0x1000>; | ||
359 | bus-range = <0 255>; | ||
360 | clock-frequency = <33333333>; | ||
361 | interrupt-parent = <&mpic>; | ||
362 | interrupts = <16 2>; | ||
363 | }; | ||
364 | |||
365 | pci1: pcie@ffe0a000 { | ||
366 | compatible = "fsl,mpc8548-pcie"; | ||
367 | device_type = "pci"; | ||
368 | #interrupt-cells = <1>; | ||
369 | #size-cells = <2>; | ||
370 | #address-cells = <3>; | ||
371 | reg = <0 0xffe0a000 0 0x1000>; | ||
372 | bus-range = <0 255>; | ||
373 | clock-frequency = <33333333>; | ||
374 | interrupt-parent = <&mpic>; | ||
375 | interrupts = <16 2>; | ||
376 | }; | ||
377 | }; | ||
diff --git a/arch/powerpc/boot/dts/p1022ds.dts b/arch/powerpc/boot/dts/p1022ds.dts new file mode 100644 index 00000000000..1be9743ab5e --- /dev/null +++ b/arch/powerpc/boot/dts/p1022ds.dts | |||
@@ -0,0 +1,657 @@ | |||
1 | /* | ||
2 | * P1022 DS 36Bit Physical Address Map Device Tree Source | ||
3 | * | ||
4 | * Copyright 2010 Freescale Semiconductor, Inc. | ||
5 | * | ||
6 | * This file is licensed under the terms of the GNU General Public License | ||
7 | * version 2. This program is licensed "as is" without any warranty of any | ||
8 | * kind, whether express or implied. | ||
9 | */ | ||
10 | |||
11 | /dts-v1/; | ||
12 | / { | ||
13 | model = "fsl,P1022"; | ||
14 | compatible = "fsl,P1022DS"; | ||
15 | #address-cells = <2>; | ||
16 | #size-cells = <2>; | ||
17 | interrupt-parent = <&mpic>; | ||
18 | |||
19 | aliases { | ||
20 | ethernet0 = &enet0; | ||
21 | ethernet1 = &enet1; | ||
22 | serial0 = &serial0; | ||
23 | serial1 = &serial1; | ||
24 | pci0 = &pci0; | ||
25 | pci1 = &pci1; | ||
26 | pci2 = &pci2; | ||
27 | }; | ||
28 | |||
29 | cpus { | ||
30 | #address-cells = <1>; | ||
31 | #size-cells = <0>; | ||
32 | |||
33 | PowerPC,P1022@0 { | ||
34 | device_type = "cpu"; | ||
35 | reg = <0x0>; | ||
36 | next-level-cache = <&L2>; | ||
37 | }; | ||
38 | |||
39 | PowerPC,P1022@1 { | ||
40 | device_type = "cpu"; | ||
41 | reg = <0x1>; | ||
42 | next-level-cache = <&L2>; | ||
43 | }; | ||
44 | }; | ||
45 | |||
46 | memory { | ||
47 | device_type = "memory"; | ||
48 | }; | ||
49 | |||
50 | localbus@fffe05000 { | ||
51 | #address-cells = <2>; | ||
52 | #size-cells = <1>; | ||
53 | compatible = "fsl,p1022-elbc", "fsl,elbc", "simple-bus"; | ||
54 | reg = <0 0xffe05000 0 0x1000>; | ||
55 | interrupts = <19 2 0 0>; | ||
56 | |||
57 | ranges = <0x0 0x0 0xf 0xe8000000 0x08000000 | ||
58 | 0x1 0x0 0xf 0xe0000000 0x08000000 | ||
59 | 0x2 0x0 0x0 0xffa00000 0x00040000 | ||
60 | 0x3 0x0 0xf 0xffdf0000 0x00008000>; | ||
61 | |||
62 | nor@0,0 { | ||
63 | #address-cells = <1>; | ||
64 | #size-cells = <1>; | ||
65 | compatible = "cfi-flash"; | ||
66 | reg = <0x0 0x0 0x8000000>; | ||
67 | bank-width = <2>; | ||
68 | device-width = <1>; | ||
69 | |||
70 | partition@0 { | ||
71 | reg = <0x0 0x03000000>; | ||
72 | label = "ramdisk-nor"; | ||
73 | read-only; | ||
74 | }; | ||
75 | |||
76 | partition@3000000 { | ||
77 | reg = <0x03000000 0x00e00000>; | ||
78 | label = "diagnostic-nor"; | ||
79 | read-only; | ||
80 | }; | ||
81 | |||
82 | partition@3e00000 { | ||
83 | reg = <0x03e00000 0x00200000>; | ||
84 | label = "dink-nor"; | ||
85 | read-only; | ||
86 | }; | ||
87 | |||
88 | partition@4000000 { | ||
89 | reg = <0x04000000 0x00400000>; | ||
90 | label = "kernel-nor"; | ||
91 | read-only; | ||
92 | }; | ||
93 | |||
94 | partition@4400000 { | ||
95 | reg = <0x04400000 0x03b00000>; | ||
96 | label = "jffs2-nor"; | ||
97 | }; | ||
98 | |||
99 | partition@7f00000 { | ||
100 | reg = <0x07f00000 0x00080000>; | ||
101 | label = "dtb-nor"; | ||
102 | read-only; | ||
103 | }; | ||
104 | |||
105 | partition@7f80000 { | ||
106 | reg = <0x07f80000 0x00080000>; | ||
107 | label = "u-boot-nor"; | ||
108 | read-only; | ||
109 | }; | ||
110 | }; | ||
111 | |||
112 | nand@2,0 { | ||
113 | #address-cells = <1>; | ||
114 | #size-cells = <1>; | ||
115 | compatible = "fsl,elbc-fcm-nand"; | ||
116 | reg = <0x2 0x0 0x40000>; | ||
117 | |||
118 | partition@0 { | ||
119 | reg = <0x0 0x02000000>; | ||
120 | label = "u-boot-nand"; | ||
121 | read-only; | ||
122 | }; | ||
123 | |||
124 | partition@2000000 { | ||
125 | reg = <0x02000000 0x10000000>; | ||
126 | label = "jffs2-nand"; | ||
127 | }; | ||
128 | |||
129 | partition@12000000 { | ||
130 | reg = <0x12000000 0x10000000>; | ||
131 | label = "ramdisk-nand"; | ||
132 | read-only; | ||
133 | }; | ||
134 | |||
135 | partition@22000000 { | ||
136 | reg = <0x22000000 0x04000000>; | ||
137 | label = "kernel-nand"; | ||
138 | }; | ||
139 | |||
140 | partition@26000000 { | ||
141 | reg = <0x26000000 0x01000000>; | ||
142 | label = "dtb-nand"; | ||
143 | read-only; | ||
144 | }; | ||
145 | |||
146 | partition@27000000 { | ||
147 | reg = <0x27000000 0x19000000>; | ||
148 | label = "reserved-nand"; | ||
149 | }; | ||
150 | }; | ||
151 | |||
152 | board-control@3,0 { | ||
153 | compatible = "fsl,p1022ds-pixis"; | ||
154 | reg = <3 0 0x30>; | ||
155 | interrupt-parent = <&mpic>; | ||
156 | /* | ||
157 | * IRQ8 is generated if the "EVENT" switch is pressed | ||
158 | * and PX_CTL[EVESEL] is set to 00. | ||
159 | */ | ||
160 | interrupts = <8 8 0 0>; | ||
161 | }; | ||
162 | }; | ||
163 | |||
164 | soc@fffe00000 { | ||
165 | #address-cells = <1>; | ||
166 | #size-cells = <1>; | ||
167 | device_type = "soc"; | ||
168 | compatible = "fsl,p1022-immr", "simple-bus"; | ||
169 | ranges = <0x0 0xf 0xffe00000 0x100000>; | ||
170 | bus-frequency = <0>; // Filled out by uboot. | ||
171 | |||
172 | ecm-law@0 { | ||
173 | compatible = "fsl,ecm-law"; | ||
174 | reg = <0x0 0x1000>; | ||
175 | fsl,num-laws = <12>; | ||
176 | }; | ||
177 | |||
178 | ecm@1000 { | ||
179 | compatible = "fsl,p1022-ecm", "fsl,ecm"; | ||
180 | reg = <0x1000 0x1000>; | ||
181 | interrupts = <16 2 0 0>; | ||
182 | }; | ||
183 | |||
184 | memory-controller@2000 { | ||
185 | compatible = "fsl,p1022-memory-controller"; | ||
186 | reg = <0x2000 0x1000>; | ||
187 | interrupts = <16 2 0 0>; | ||
188 | }; | ||
189 | |||
190 | i2c@3000 { | ||
191 | #address-cells = <1>; | ||
192 | #size-cells = <0>; | ||
193 | cell-index = <0>; | ||
194 | compatible = "fsl-i2c"; | ||
195 | reg = <0x3000 0x100>; | ||
196 | interrupts = <43 2 0 0>; | ||
197 | dfsrr; | ||
198 | }; | ||
199 | |||
200 | i2c@3100 { | ||
201 | #address-cells = <1>; | ||
202 | #size-cells = <0>; | ||
203 | cell-index = <1>; | ||
204 | compatible = "fsl-i2c"; | ||
205 | reg = <0x3100 0x100>; | ||
206 | interrupts = <43 2 0 0>; | ||
207 | dfsrr; | ||
208 | |||
209 | wm8776:codec@1a { | ||
210 | compatible = "wlf,wm8776"; | ||
211 | reg = <0x1a>; | ||
212 | /* | ||
213 | * clock-frequency will be set by U-Boot if | ||
214 | * the clock is enabled. | ||
215 | */ | ||
216 | }; | ||
217 | }; | ||
218 | |||
219 | serial0: serial@4500 { | ||
220 | cell-index = <0>; | ||
221 | device_type = "serial"; | ||
222 | compatible = "ns16550"; | ||
223 | reg = <0x4500 0x100>; | ||
224 | clock-frequency = <0>; | ||
225 | interrupts = <42 2 0 0>; | ||
226 | }; | ||
227 | |||
228 | serial1: serial@4600 { | ||
229 | cell-index = <1>; | ||
230 | device_type = "serial"; | ||
231 | compatible = "ns16550"; | ||
232 | reg = <0x4600 0x100>; | ||
233 | clock-frequency = <0>; | ||
234 | interrupts = <42 2 0 0>; | ||
235 | }; | ||
236 | |||
237 | spi@7000 { | ||
238 | cell-index = <0>; | ||
239 | #address-cells = <1>; | ||
240 | #size-cells = <0>; | ||
241 | compatible = "fsl,espi"; | ||
242 | reg = <0x7000 0x1000>; | ||
243 | interrupts = <59 0x2 0 0>; | ||
244 | espi,num-ss-bits = <4>; | ||
245 | mode = "cpu"; | ||
246 | |||
247 | fsl_m25p80@0 { | ||
248 | #address-cells = <1>; | ||
249 | #size-cells = <1>; | ||
250 | compatible = "fsl,espi-flash"; | ||
251 | reg = <0>; | ||
252 | linux,modalias = "fsl_m25p80"; | ||
253 | spi-max-frequency = <40000000>; /* input clock */ | ||
254 | partition@0 { | ||
255 | label = "u-boot-spi"; | ||
256 | reg = <0x00000000 0x00100000>; | ||
257 | read-only; | ||
258 | }; | ||
259 | partition@100000 { | ||
260 | label = "kernel-spi"; | ||
261 | reg = <0x00100000 0x00500000>; | ||
262 | read-only; | ||
263 | }; | ||
264 | partition@600000 { | ||
265 | label = "dtb-spi"; | ||
266 | reg = <0x00600000 0x00100000>; | ||
267 | read-only; | ||
268 | }; | ||
269 | partition@700000 { | ||
270 | label = "file system-spi"; | ||
271 | reg = <0x00700000 0x00900000>; | ||
272 | }; | ||
273 | }; | ||
274 | }; | ||
275 | |||
276 | ssi@15000 { | ||
277 | compatible = "fsl,mpc8610-ssi"; | ||
278 | cell-index = <0>; | ||
279 | reg = <0x15000 0x100>; | ||
280 | interrupts = <75 2 0 0>; | ||
281 | fsl,mode = "i2s-slave"; | ||
282 | codec-handle = <&wm8776>; | ||
283 | fsl,playback-dma = <&dma00>; | ||
284 | fsl,capture-dma = <&dma01>; | ||
285 | fsl,fifo-depth = <15>; | ||
286 | fsl,ssi-asynchronous; | ||
287 | }; | ||
288 | |||
289 | dma@c300 { | ||
290 | #address-cells = <1>; | ||
291 | #size-cells = <1>; | ||
292 | compatible = "fsl,eloplus-dma"; | ||
293 | reg = <0xc300 0x4>; | ||
294 | ranges = <0x0 0xc100 0x200>; | ||
295 | cell-index = <1>; | ||
296 | dma00: dma-channel@0 { | ||
297 | compatible = "fsl,ssi-dma-channel"; | ||
298 | reg = <0x0 0x80>; | ||
299 | cell-index = <0>; | ||
300 | interrupts = <76 2 0 0>; | ||
301 | }; | ||
302 | dma01: dma-channel@80 { | ||
303 | compatible = "fsl,ssi-dma-channel"; | ||
304 | reg = <0x80 0x80>; | ||
305 | cell-index = <1>; | ||
306 | interrupts = <77 2 0 0>; | ||
307 | }; | ||
308 | dma-channel@100 { | ||
309 | compatible = "fsl,eloplus-dma-channel"; | ||
310 | reg = <0x100 0x80>; | ||
311 | cell-index = <2>; | ||
312 | interrupts = <78 2 0 0>; | ||
313 | }; | ||
314 | dma-channel@180 { | ||
315 | compatible = "fsl,eloplus-dma-channel"; | ||
316 | reg = <0x180 0x80>; | ||
317 | cell-index = <3>; | ||
318 | interrupts = <79 2 0 0>; | ||
319 | }; | ||
320 | }; | ||
321 | |||
322 | gpio: gpio-controller@f000 { | ||
323 | #gpio-cells = <2>; | ||
324 | compatible = "fsl,mpc8572-gpio"; | ||
325 | reg = <0xf000 0x100>; | ||
326 | interrupts = <47 0x2 0 0>; | ||
327 | gpio-controller; | ||
328 | }; | ||
329 | |||
330 | L2: l2-cache-controller@20000 { | ||
331 | compatible = "fsl,p1022-l2-cache-controller"; | ||
332 | reg = <0x20000 0x1000>; | ||
333 | cache-line-size = <32>; // 32 bytes | ||
334 | cache-size = <0x40000>; // L2, 256K | ||
335 | interrupts = <16 2 0 0>; | ||
336 | }; | ||
337 | |||
338 | dma@21300 { | ||
339 | #address-cells = <1>; | ||
340 | #size-cells = <1>; | ||
341 | compatible = "fsl,eloplus-dma"; | ||
342 | reg = <0x21300 0x4>; | ||
343 | ranges = <0x0 0x21100 0x200>; | ||
344 | cell-index = <0>; | ||
345 | dma-channel@0 { | ||
346 | compatible = "fsl,eloplus-dma-channel"; | ||
347 | reg = <0x0 0x80>; | ||
348 | cell-index = <0>; | ||
349 | interrupts = <20 2 0 0>; | ||
350 | }; | ||
351 | dma-channel@80 { | ||
352 | compatible = "fsl,eloplus-dma-channel"; | ||
353 | reg = <0x80 0x80>; | ||
354 | cell-index = <1>; | ||
355 | interrupts = <21 2 0 0>; | ||
356 | }; | ||
357 | dma-channel@100 { | ||
358 | compatible = "fsl,eloplus-dma-channel"; | ||
359 | reg = <0x100 0x80>; | ||
360 | cell-index = <2>; | ||
361 | interrupts = <22 2 0 0>; | ||
362 | }; | ||
363 | dma-channel@180 { | ||
364 | compatible = "fsl,eloplus-dma-channel"; | ||
365 | reg = <0x180 0x80>; | ||
366 | cell-index = <3>; | ||
367 | interrupts = <23 2 0 0>; | ||
368 | }; | ||
369 | }; | ||
370 | |||
371 | usb@22000 { | ||
372 | #address-cells = <1>; | ||
373 | #size-cells = <0>; | ||
374 | compatible = "fsl-usb2-dr"; | ||
375 | reg = <0x22000 0x1000>; | ||
376 | interrupts = <28 0x2 0 0>; | ||
377 | phy_type = "ulpi"; | ||
378 | }; | ||
379 | |||
380 | mdio@24000 { | ||
381 | #address-cells = <1>; | ||
382 | #size-cells = <0>; | ||
383 | compatible = "fsl,etsec2-mdio"; | ||
384 | reg = <0x24000 0x1000 0xb0030 0x4>; | ||
385 | |||
386 | phy0: ethernet-phy@0 { | ||
387 | interrupts = <3 1 0 0>; | ||
388 | reg = <0x1>; | ||
389 | }; | ||
390 | phy1: ethernet-phy@1 { | ||
391 | interrupts = <9 1 0 0>; | ||
392 | reg = <0x2>; | ||
393 | }; | ||
394 | }; | ||
395 | |||
396 | mdio@25000 { | ||
397 | #address-cells = <1>; | ||
398 | #size-cells = <0>; | ||
399 | compatible = "fsl,etsec2-mdio"; | ||
400 | reg = <0x25000 0x1000 0xb1030 0x4>; | ||
401 | }; | ||
402 | |||
403 | enet0: ethernet@B0000 { | ||
404 | #address-cells = <1>; | ||
405 | #size-cells = <1>; | ||
406 | cell-index = <0>; | ||
407 | device_type = "network"; | ||
408 | model = "eTSEC"; | ||
409 | compatible = "fsl,etsec2"; | ||
410 | fsl,num_rx_queues = <0x8>; | ||
411 | fsl,num_tx_queues = <0x8>; | ||
412 | fsl,magic-packet; | ||
413 | fsl,wake-on-filer; | ||
414 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
415 | phy-handle = <&phy0>; | ||
416 | phy-connection-type = "rgmii-id"; | ||
417 | queue-group@0{ | ||
418 | #address-cells = <1>; | ||
419 | #size-cells = <1>; | ||
420 | reg = <0xB0000 0x1000>; | ||
421 | interrupts = <29 2 0 0 30 2 0 0 34 2 0 0>; | ||
422 | }; | ||
423 | queue-group@1{ | ||
424 | #address-cells = <1>; | ||
425 | #size-cells = <1>; | ||
426 | reg = <0xB4000 0x1000>; | ||
427 | interrupts = <17 2 0 0 18 2 0 0 24 2 0 0>; | ||
428 | }; | ||
429 | }; | ||
430 | |||
431 | enet1: ethernet@B1000 { | ||
432 | #address-cells = <1>; | ||
433 | #size-cells = <1>; | ||
434 | cell-index = <0>; | ||
435 | device_type = "network"; | ||
436 | model = "eTSEC"; | ||
437 | compatible = "fsl,etsec2"; | ||
438 | fsl,num_rx_queues = <0x8>; | ||
439 | fsl,num_tx_queues = <0x8>; | ||
440 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
441 | phy-handle = <&phy1>; | ||
442 | phy-connection-type = "rgmii-id"; | ||
443 | queue-group@0{ | ||
444 | #address-cells = <1>; | ||
445 | #size-cells = <1>; | ||
446 | reg = <0xB1000 0x1000>; | ||
447 | interrupts = <35 2 0 0 36 2 0 0 40 2 0 0>; | ||
448 | }; | ||
449 | queue-group@1{ | ||
450 | #address-cells = <1>; | ||
451 | #size-cells = <1>; | ||
452 | reg = <0xB5000 0x1000>; | ||
453 | interrupts = <51 2 0 0 52 2 0 0 67 2 0 0>; | ||
454 | }; | ||
455 | }; | ||
456 | |||
457 | sdhci@2e000 { | ||
458 | compatible = "fsl,p1022-esdhc", "fsl,esdhc"; | ||
459 | reg = <0x2e000 0x1000>; | ||
460 | interrupts = <72 0x2 0 0>; | ||
461 | fsl,sdhci-auto-cmd12; | ||
462 | /* Filled in by U-Boot */ | ||
463 | clock-frequency = <0>; | ||
464 | }; | ||
465 | |||
466 | crypto@30000 { | ||
467 | compatible = "fsl,sec3.3", "fsl,sec3.1", "fsl,sec3.0", | ||
468 | "fsl,sec2.4", "fsl,sec2.2", "fsl,sec2.1", | ||
469 | "fsl,sec2.0"; | ||
470 | reg = <0x30000 0x10000>; | ||
471 | interrupts = <45 2 0 0 58 2 0 0>; | ||
472 | fsl,num-channels = <4>; | ||
473 | fsl,channel-fifo-len = <24>; | ||
474 | fsl,exec-units-mask = <0x97c>; | ||
475 | fsl,descriptor-types-mask = <0x3a30abf>; | ||
476 | }; | ||
477 | |||
478 | sata@18000 { | ||
479 | compatible = "fsl,p1022-sata", "fsl,pq-sata-v2"; | ||
480 | reg = <0x18000 0x1000>; | ||
481 | cell-index = <1>; | ||
482 | interrupts = <74 0x2 0 0>; | ||
483 | }; | ||
484 | |||
485 | sata@19000 { | ||
486 | compatible = "fsl,p1022-sata", "fsl,pq-sata-v2"; | ||
487 | reg = <0x19000 0x1000>; | ||
488 | cell-index = <2>; | ||
489 | interrupts = <41 0x2 0 0>; | ||
490 | }; | ||
491 | |||
492 | power@e0070{ | ||
493 | compatible = "fsl,mpc8536-pmc", "fsl,mpc8548-pmc"; | ||
494 | reg = <0xe0070 0x20>; | ||
495 | }; | ||
496 | |||
497 | display@10000 { | ||
498 | compatible = "fsl,diu", "fsl,p1022-diu"; | ||
499 | reg = <0x10000 1000>; | ||
500 | interrupts = <64 2 0 0>; | ||
501 | }; | ||
502 | |||
503 | timer@41100 { | ||
504 | compatible = "fsl,mpic-global-timer"; | ||
505 | reg = <0x41100 0x100 0x41300 4>; | ||
506 | interrupts = <0 0 3 0 | ||
507 | 1 0 3 0 | ||
508 | 2 0 3 0 | ||
509 | 3 0 3 0>; | ||
510 | }; | ||
511 | |||
512 | timer@42100 { | ||
513 | compatible = "fsl,mpic-global-timer"; | ||
514 | reg = <0x42100 0x100 0x42300 4>; | ||
515 | interrupts = <4 0 3 0 | ||
516 | 5 0 3 0 | ||
517 | 6 0 3 0 | ||
518 | 7 0 3 0>; | ||
519 | }; | ||
520 | |||
521 | mpic: pic@40000 { | ||
522 | interrupt-controller; | ||
523 | #address-cells = <0>; | ||
524 | #interrupt-cells = <4>; | ||
525 | reg = <0x40000 0x40000>; | ||
526 | compatible = "fsl,mpic"; | ||
527 | device_type = "open-pic"; | ||
528 | }; | ||
529 | |||
530 | msi@41600 { | ||
531 | compatible = "fsl,p1022-msi", "fsl,mpic-msi"; | ||
532 | reg = <0x41600 0x80>; | ||
533 | msi-available-ranges = <0 0x100>; | ||
534 | interrupts = < | ||
535 | 0xe0 0 0 0 | ||
536 | 0xe1 0 0 0 | ||
537 | 0xe2 0 0 0 | ||
538 | 0xe3 0 0 0 | ||
539 | 0xe4 0 0 0 | ||
540 | 0xe5 0 0 0 | ||
541 | 0xe6 0 0 0 | ||
542 | 0xe7 0 0 0>; | ||
543 | }; | ||
544 | |||
545 | global-utilities@e0000 { //global utilities block | ||
546 | compatible = "fsl,p1022-guts"; | ||
547 | reg = <0xe0000 0x1000>; | ||
548 | fsl,has-rstcr; | ||
549 | }; | ||
550 | }; | ||
551 | |||
552 | pci0: pcie@fffe09000 { | ||
553 | compatible = "fsl,p1022-pcie"; | ||
554 | device_type = "pci"; | ||
555 | #interrupt-cells = <1>; | ||
556 | #size-cells = <2>; | ||
557 | #address-cells = <3>; | ||
558 | reg = <0xf 0xffe09000 0 0x1000>; | ||
559 | bus-range = <0 255>; | ||
560 | ranges = <0x2000000 0x0 0xa0000000 0xc 0x20000000 0x0 0x20000000 | ||
561 | 0x1000000 0x0 0x00000000 0xf 0xffc10000 0x0 0x10000>; | ||
562 | clock-frequency = <33333333>; | ||
563 | interrupts = <16 2 0 0>; | ||
564 | interrupt-map-mask = <0xf800 0 0 7>; | ||
565 | interrupt-map = < | ||
566 | /* IDSEL 0x0 */ | ||
567 | 0000 0 0 1 &mpic 4 1 | ||
568 | 0000 0 0 2 &mpic 5 1 | ||
569 | 0000 0 0 3 &mpic 6 1 | ||
570 | 0000 0 0 4 &mpic 7 1 | ||
571 | >; | ||
572 | pcie@0 { | ||
573 | reg = <0x0 0x0 0x0 0x0 0x0>; | ||
574 | #size-cells = <2>; | ||
575 | #address-cells = <3>; | ||
576 | device_type = "pci"; | ||
577 | ranges = <0x2000000 0x0 0xe0000000 | ||
578 | 0x2000000 0x0 0xe0000000 | ||
579 | 0x0 0x20000000 | ||
580 | |||
581 | 0x1000000 0x0 0x0 | ||
582 | 0x1000000 0x0 0x0 | ||
583 | 0x0 0x100000>; | ||
584 | }; | ||
585 | }; | ||
586 | |||
587 | pci1: pcie@fffe0a000 { | ||
588 | compatible = "fsl,p1022-pcie"; | ||
589 | device_type = "pci"; | ||
590 | #interrupt-cells = <1>; | ||
591 | #size-cells = <2>; | ||
592 | #address-cells = <3>; | ||
593 | reg = <0xf 0xffe0a000 0 0x1000>; | ||
594 | bus-range = <0 255>; | ||
595 | ranges = <0x2000000 0x0 0xc0000000 0xc 0x40000000 0x0 0x20000000 | ||
596 | 0x1000000 0x0 0x00000000 0xf 0xffc20000 0x0 0x10000>; | ||
597 | clock-frequency = <33333333>; | ||
598 | interrupts = <16 2 0 0>; | ||
599 | interrupt-map-mask = <0xf800 0 0 7>; | ||
600 | interrupt-map = < | ||
601 | /* IDSEL 0x0 */ | ||
602 | 0000 0 0 1 &mpic 0 1 | ||
603 | 0000 0 0 2 &mpic 1 1 | ||
604 | 0000 0 0 3 &mpic 2 1 | ||
605 | 0000 0 0 4 &mpic 3 1 | ||
606 | >; | ||
607 | pcie@0 { | ||
608 | reg = <0x0 0x0 0x0 0x0 0x0>; | ||
609 | #size-cells = <2>; | ||
610 | #address-cells = <3>; | ||
611 | device_type = "pci"; | ||
612 | ranges = <0x2000000 0x0 0xe0000000 | ||
613 | 0x2000000 0x0 0xe0000000 | ||
614 | 0x0 0x20000000 | ||
615 | |||
616 | 0x1000000 0x0 0x0 | ||
617 | 0x1000000 0x0 0x0 | ||
618 | 0x0 0x100000>; | ||
619 | }; | ||
620 | }; | ||
621 | |||
622 | |||
623 | pci2: pcie@fffe0b000 { | ||
624 | compatible = "fsl,p1022-pcie"; | ||
625 | device_type = "pci"; | ||
626 | #interrupt-cells = <1>; | ||
627 | #size-cells = <2>; | ||
628 | #address-cells = <3>; | ||
629 | reg = <0xf 0xffe0b000 0 0x1000>; | ||
630 | bus-range = <0 255>; | ||
631 | ranges = <0x2000000 0x0 0x80000000 0xc 0x00000000 0x0 0x20000000 | ||
632 | 0x1000000 0x0 0x00000000 0xf 0xffc00000 0x0 0x10000>; | ||
633 | clock-frequency = <33333333>; | ||
634 | interrupts = <16 2 0 0>; | ||
635 | interrupt-map-mask = <0xf800 0 0 7>; | ||
636 | interrupt-map = < | ||
637 | /* IDSEL 0x0 */ | ||
638 | 0000 0 0 1 &mpic 8 1 | ||
639 | 0000 0 0 2 &mpic 9 1 | ||
640 | 0000 0 0 3 &mpic 10 1 | ||
641 | 0000 0 0 4 &mpic 11 1 | ||
642 | >; | ||
643 | pcie@0 { | ||
644 | reg = <0x0 0x0 0x0 0x0 0x0>; | ||
645 | #size-cells = <2>; | ||
646 | #address-cells = <3>; | ||
647 | device_type = "pci"; | ||
648 | ranges = <0x2000000 0x0 0xe0000000 | ||
649 | 0x2000000 0x0 0xe0000000 | ||
650 | 0x0 0x20000000 | ||
651 | |||
652 | 0x1000000 0x0 0x0 | ||
653 | 0x1000000 0x0 0x0 | ||
654 | 0x0 0x100000>; | ||
655 | }; | ||
656 | }; | ||
657 | }; | ||
diff --git a/arch/powerpc/boot/dts/p2020rdb_camp_core0.dts b/arch/powerpc/boot/dts/p2020rdb_camp_core0.dts new file mode 100644 index 00000000000..fc8ddddfccb --- /dev/null +++ b/arch/powerpc/boot/dts/p2020rdb_camp_core0.dts | |||
@@ -0,0 +1,204 @@ | |||
1 | /* | ||
2 | * P2020 RDB Core0 Device Tree Source in CAMP mode. | ||
3 | * | ||
4 | * In CAMP mode, each core needs to have its own dts. Only mpic and L2 cache | ||
5 | * can be shared, all the other devices must be assigned to one core only. | ||
6 | * This dts file allows core0 to have memory, l2, i2c, spi, gpio, dma1, usb, | ||
7 | * eth1, eth2, sdhc, crypto, global-util, pci0. | ||
8 | * | ||
9 | * Copyright 2009-2011 Freescale Semiconductor Inc. | ||
10 | * | ||
11 | * This program is free software; you can redistribute it and/or modify it | ||
12 | * under the terms of the GNU General Public License as published by the | ||
13 | * Free Software Foundation; either version 2 of the License, or (at your | ||
14 | * option) any later version. | ||
15 | */ | ||
16 | |||
17 | /include/ "p2020si.dtsi" | ||
18 | |||
19 | / { | ||
20 | model = "fsl,P2020RDB"; | ||
21 | compatible = "fsl,P2020RDB", "fsl,MPC85XXRDB-CAMP"; | ||
22 | |||
23 | aliases { | ||
24 | ethernet1 = &enet1; | ||
25 | ethernet2 = &enet2; | ||
26 | serial0 = &serial0; | ||
27 | pci0 = &pci0; | ||
28 | }; | ||
29 | |||
30 | cpus { | ||
31 | PowerPC,P2020@1 { | ||
32 | status = "disabled"; | ||
33 | }; | ||
34 | |||
35 | }; | ||
36 | |||
37 | memory { | ||
38 | device_type = "memory"; | ||
39 | }; | ||
40 | |||
41 | localbus@ffe05000 { | ||
42 | status = "disabled"; | ||
43 | }; | ||
44 | |||
45 | soc@ffe00000 { | ||
46 | i2c@3000 { | ||
47 | rtc@68 { | ||
48 | compatible = "dallas,ds1339"; | ||
49 | reg = <0x68>; | ||
50 | }; | ||
51 | }; | ||
52 | |||
53 | serial1: serial@4600 { | ||
54 | status = "disabled"; | ||
55 | }; | ||
56 | |||
57 | spi@7000 { | ||
58 | |||
59 | fsl_m25p80@0 { | ||
60 | #address-cells = <1>; | ||
61 | #size-cells = <1>; | ||
62 | compatible = "fsl,espi-flash"; | ||
63 | reg = <0>; | ||
64 | linux,modalias = "fsl_m25p80"; | ||
65 | modal = "s25sl128b"; | ||
66 | spi-max-frequency = <50000000>; | ||
67 | mode = <0>; | ||
68 | |||
69 | partition@0 { | ||
70 | /* 512KB for u-boot Bootloader Image */ | ||
71 | reg = <0x0 0x00080000>; | ||
72 | label = "SPI (RO) U-Boot Image"; | ||
73 | read-only; | ||
74 | }; | ||
75 | |||
76 | partition@80000 { | ||
77 | /* 512KB for DTB Image */ | ||
78 | reg = <0x00080000 0x00080000>; | ||
79 | label = "SPI (RO) DTB Image"; | ||
80 | read-only; | ||
81 | }; | ||
82 | |||
83 | partition@100000 { | ||
84 | /* 4MB for Linux Kernel Image */ | ||
85 | reg = <0x00100000 0x00400000>; | ||
86 | label = "SPI (RO) Linux Kernel Image"; | ||
87 | read-only; | ||
88 | }; | ||
89 | |||
90 | partition@500000 { | ||
91 | /* 4MB for Compressed RFS Image */ | ||
92 | reg = <0x00500000 0x00400000>; | ||
93 | label = "SPI (RO) Compressed RFS Image"; | ||
94 | read-only; | ||
95 | }; | ||
96 | |||
97 | partition@900000 { | ||
98 | /* 7MB for JFFS2 based RFS */ | ||
99 | reg = <0x00900000 0x00700000>; | ||
100 | label = "SPI (RW) JFFS2 RFS"; | ||
101 | }; | ||
102 | }; | ||
103 | }; | ||
104 | |||
105 | dma@c300 { | ||
106 | status = "disabled"; | ||
107 | }; | ||
108 | |||
109 | usb@22000 { | ||
110 | phy_type = "ulpi"; | ||
111 | }; | ||
112 | |||
113 | mdio@24520 { | ||
114 | |||
115 | phy0: ethernet-phy@0 { | ||
116 | interrupt-parent = <&mpic>; | ||
117 | interrupts = <3 1>; | ||
118 | reg = <0x0>; | ||
119 | }; | ||
120 | phy1: ethernet-phy@1 { | ||
121 | interrupt-parent = <&mpic>; | ||
122 | interrupts = <3 1>; | ||
123 | reg = <0x1>; | ||
124 | }; | ||
125 | }; | ||
126 | |||
127 | mdio@25520 { | ||
128 | tbi0: tbi-phy@11 { | ||
129 | reg = <0x11>; | ||
130 | device_type = "tbi-phy"; | ||
131 | }; | ||
132 | }; | ||
133 | |||
134 | mdio@26520 { | ||
135 | status = "disabled"; | ||
136 | }; | ||
137 | |||
138 | enet0: ethernet@24000 { | ||
139 | status = "disabled"; | ||
140 | }; | ||
141 | |||
142 | enet1: ethernet@25000 { | ||
143 | tbi-handle = <&tbi0>; | ||
144 | phy-handle = <&phy0>; | ||
145 | phy-connection-type = "sgmii"; | ||
146 | |||
147 | }; | ||
148 | |||
149 | enet2: ethernet@26000 { | ||
150 | phy-handle = <&phy1>; | ||
151 | phy-connection-type = "rgmii-id"; | ||
152 | }; | ||
153 | |||
154 | |||
155 | mpic: pic@40000 { | ||
156 | protected-sources = < | ||
157 | 42 76 77 78 79 /* serial1 , dma2 */ | ||
158 | 29 30 34 26 /* enet0, pci1 */ | ||
159 | 0xe0 0xe1 0xe2 0xe3 /* msi */ | ||
160 | 0xe4 0xe5 0xe6 0xe7 | ||
161 | >; | ||
162 | }; | ||
163 | |||
164 | msi@41600 { | ||
165 | status = "disabled"; | ||
166 | }; | ||
167 | |||
168 | |||
169 | }; | ||
170 | |||
171 | pci0: pcie@ffe08000 { | ||
172 | status = "disabled"; | ||
173 | }; | ||
174 | |||
175 | pci1: pcie@ffe09000 { | ||
176 | ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000 | ||
177 | 0x1000000 0x0 0x00000000 0 0xffc10000 0x0 0x10000>; | ||
178 | interrupt-map-mask = <0xf800 0x0 0x0 0x7>; | ||
179 | interrupt-map = < | ||
180 | /* IDSEL 0x0 */ | ||
181 | 0000 0x0 0x0 0x1 &mpic 0x4 0x1 | ||
182 | 0000 0x0 0x0 0x2 &mpic 0x5 0x1 | ||
183 | 0000 0x0 0x0 0x3 &mpic 0x6 0x1 | ||
184 | 0000 0x0 0x0 0x4 &mpic 0x7 0x1 | ||
185 | >; | ||
186 | pcie@0 { | ||
187 | reg = <0x0 0x0 0x0 0x0 0x0>; | ||
188 | #size-cells = <2>; | ||
189 | #address-cells = <3>; | ||
190 | device_type = "pci"; | ||
191 | ranges = <0x2000000 0x0 0xa0000000 | ||
192 | 0x2000000 0x0 0xa0000000 | ||
193 | 0x0 0x20000000 | ||
194 | |||
195 | 0x1000000 0x0 0x0 | ||
196 | 0x1000000 0x0 0x0 | ||
197 | 0x0 0x100000>; | ||
198 | }; | ||
199 | }; | ||
200 | |||
201 | pci2: pcie@ffe0a000 { | ||
202 | status = "disabled"; | ||
203 | }; | ||
204 | }; | ||
diff --git a/arch/powerpc/boot/dts/p2020rdb_camp_core1.dts b/arch/powerpc/boot/dts/p2020rdb_camp_core1.dts new file mode 100644 index 00000000000..261c34ba45e --- /dev/null +++ b/arch/powerpc/boot/dts/p2020rdb_camp_core1.dts | |||
@@ -0,0 +1,228 @@ | |||
1 | /* | ||
2 | * P2020 RDB Core1 Device Tree Source in CAMP mode. | ||
3 | * | ||
4 | * In CAMP mode, each core needs to have its own dts. Only mpic and L2 cache | ||
5 | * can be shared, all the other devices must be assigned to one core only. | ||
6 | * This dts allows core1 to have l2, dma2, eth0, pci1, msi. | ||
7 | * | ||
8 | * Please note to add "-b 1" for core1's dts compiling. | ||
9 | * | ||
10 | * Copyright 2009-2011 Freescale Semiconductor Inc. | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or modify it | ||
13 | * under the terms of the GNU General Public License as published by the | ||
14 | * Free Software Foundation; either version 2 of the License, or (at your | ||
15 | * option) any later version. | ||
16 | */ | ||
17 | |||
18 | /include/ "p2020si.dtsi" | ||
19 | |||
20 | / { | ||
21 | model = "fsl,P2020RDB"; | ||
22 | compatible = "fsl,P2020RDB", "fsl,MPC85XXRDB-CAMP"; | ||
23 | |||
24 | aliases { | ||
25 | ethernet0 = &enet0; | ||
26 | serial0 = &serial1; | ||
27 | pci1 = &pci1; | ||
28 | }; | ||
29 | |||
30 | cpus { | ||
31 | PowerPC,P2020@0 { | ||
32 | status = "disabled"; | ||
33 | }; | ||
34 | }; | ||
35 | |||
36 | memory { | ||
37 | device_type = "memory"; | ||
38 | }; | ||
39 | |||
40 | localbus@ffe05000 { | ||
41 | status = "disabled"; | ||
42 | }; | ||
43 | |||
44 | soc@ffe00000 { | ||
45 | ecm-law@0 { | ||
46 | status = "disabled"; | ||
47 | }; | ||
48 | |||
49 | ecm@1000 { | ||
50 | status = "disabled"; | ||
51 | }; | ||
52 | |||
53 | memory-controller@2000 { | ||
54 | status = "disabled"; | ||
55 | }; | ||
56 | |||
57 | i2c@3000 { | ||
58 | status = "disabled"; | ||
59 | }; | ||
60 | |||
61 | i2c@3100 { | ||
62 | status = "disabled"; | ||
63 | }; | ||
64 | |||
65 | serial0: serial@4500 { | ||
66 | status = "disabled"; | ||
67 | }; | ||
68 | |||
69 | spi@7000 { | ||
70 | status = "disabled"; | ||
71 | }; | ||
72 | |||
73 | dma@c300 { | ||
74 | #address-cells = <1>; | ||
75 | #size-cells = <1>; | ||
76 | compatible = "fsl,eloplus-dma"; | ||
77 | reg = <0xc300 0x4>; | ||
78 | ranges = <0x0 0xc100 0x200>; | ||
79 | cell-index = <1>; | ||
80 | dma-channel@0 { | ||
81 | compatible = "fsl,eloplus-dma-channel"; | ||
82 | reg = <0x0 0x80>; | ||
83 | cell-index = <0>; | ||
84 | interrupt-parent = <&mpic>; | ||
85 | interrupts = <76 2>; | ||
86 | }; | ||
87 | dma-channel@80 { | ||
88 | compatible = "fsl,eloplus-dma-channel"; | ||
89 | reg = <0x80 0x80>; | ||
90 | cell-index = <1>; | ||
91 | interrupt-parent = <&mpic>; | ||
92 | interrupts = <77 2>; | ||
93 | }; | ||
94 | dma-channel@100 { | ||
95 | compatible = "fsl,eloplus-dma-channel"; | ||
96 | reg = <0x100 0x80>; | ||
97 | cell-index = <2>; | ||
98 | interrupt-parent = <&mpic>; | ||
99 | interrupts = <78 2>; | ||
100 | }; | ||
101 | dma-channel@180 { | ||
102 | compatible = "fsl,eloplus-dma-channel"; | ||
103 | reg = <0x180 0x80>; | ||
104 | cell-index = <3>; | ||
105 | interrupt-parent = <&mpic>; | ||
106 | interrupts = <79 2>; | ||
107 | }; | ||
108 | }; | ||
109 | |||
110 | gpio: gpio-controller@f000 { | ||
111 | status = "disabled"; | ||
112 | }; | ||
113 | |||
114 | L2: l2-cache-controller@20000 { | ||
115 | compatible = "fsl,p2020-l2-cache-controller"; | ||
116 | reg = <0x20000 0x1000>; | ||
117 | cache-line-size = <32>; // 32 bytes | ||
118 | cache-size = <0x80000>; // L2,512K | ||
119 | interrupt-parent = <&mpic>; | ||
120 | }; | ||
121 | |||
122 | dma@21300 { | ||
123 | status = "disabled"; | ||
124 | }; | ||
125 | |||
126 | usb@22000 { | ||
127 | status = "disabled"; | ||
128 | }; | ||
129 | |||
130 | mdio@24520 { | ||
131 | status = "disabled"; | ||
132 | }; | ||
133 | |||
134 | mdio@25520 { | ||
135 | status = "disabled"; | ||
136 | }; | ||
137 | |||
138 | mdio@26520 { | ||
139 | status = "disabled"; | ||
140 | }; | ||
141 | |||
142 | enet0: ethernet@24000 { | ||
143 | fixed-link = <1 1 1000 0 0>; | ||
144 | phy-connection-type = "rgmii-id"; | ||
145 | |||
146 | }; | ||
147 | |||
148 | enet1: ethernet@25000 { | ||
149 | status = "disabled"; | ||
150 | }; | ||
151 | |||
152 | enet2: ethernet@26000 { | ||
153 | status = "disabled"; | ||
154 | }; | ||
155 | |||
156 | sdhci@2e000 { | ||
157 | status = "disabled"; | ||
158 | }; | ||
159 | |||
160 | crypto@30000 { | ||
161 | status = "disabled"; | ||
162 | }; | ||
163 | |||
164 | mpic: pic@40000 { | ||
165 | protected-sources = < | ||
166 | 17 18 43 42 59 47 /*ecm, mem, i2c, serial0, spi,gpio */ | ||
167 | 16 20 21 22 23 28 /* L2, dma1, USB */ | ||
168 | 03 35 36 40 31 32 33 /* mdio, enet1, enet2 */ | ||
169 | 72 45 58 25 /* sdhci, crypto , pci */ | ||
170 | >; | ||
171 | }; | ||
172 | |||
173 | msi@41600 { | ||
174 | compatible = "fsl,p2020-msi", "fsl,mpic-msi"; | ||
175 | reg = <0x41600 0x80>; | ||
176 | msi-available-ranges = <0 0x100>; | ||
177 | interrupts = < | ||
178 | 0xe0 0 | ||
179 | 0xe1 0 | ||
180 | 0xe2 0 | ||
181 | 0xe3 0 | ||
182 | 0xe4 0 | ||
183 | 0xe5 0 | ||
184 | 0xe6 0 | ||
185 | 0xe7 0>; | ||
186 | interrupt-parent = <&mpic>; | ||
187 | }; | ||
188 | |||
189 | global-utilities@e0000 { //global utilities block | ||
190 | status = "disabled"; | ||
191 | }; | ||
192 | |||
193 | }; | ||
194 | |||
195 | pci0: pcie@ffe08000 { | ||
196 | status = "disabled"; | ||
197 | }; | ||
198 | |||
199 | pci1: pcie@ffe09000 { | ||
200 | status = "disabled"; | ||
201 | }; | ||
202 | |||
203 | pci2: pcie@ffe0a000 { | ||
204 | ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x20000000 | ||
205 | 0x1000000 0x0 0x00000000 0 0xffc00000 0x0 0x10000>; | ||
206 | interrupt-map-mask = <0xf800 0x0 0x0 0x7>; | ||
207 | interrupt-map = < | ||
208 | /* IDSEL 0x0 */ | ||
209 | 0000 0x0 0x0 0x1 &mpic 0x0 0x1 | ||
210 | 0000 0x0 0x0 0x2 &mpic 0x1 0x1 | ||
211 | 0000 0x0 0x0 0x3 &mpic 0x2 0x1 | ||
212 | 0000 0x0 0x0 0x4 &mpic 0x3 0x1 | ||
213 | >; | ||
214 | pcie@0 { | ||
215 | reg = <0x0 0x0 0x0 0x0 0x0>; | ||
216 | #size-cells = <2>; | ||
217 | #address-cells = <3>; | ||
218 | device_type = "pci"; | ||
219 | ranges = <0x2000000 0x0 0x80000000 | ||
220 | 0x2000000 0x0 0x80000000 | ||
221 | 0x0 0x20000000 | ||
222 | |||
223 | 0x1000000 0x0 0x0 | ||
224 | 0x1000000 0x0 0x0 | ||
225 | 0x0 0x100000>; | ||
226 | }; | ||
227 | }; | ||
228 | }; | ||
diff --git a/arch/powerpc/boot/dts/p2020si.dtsi b/arch/powerpc/boot/dts/p2020si.dtsi new file mode 100644 index 00000000000..6def17f265d --- /dev/null +++ b/arch/powerpc/boot/dts/p2020si.dtsi | |||
@@ -0,0 +1,382 @@ | |||
1 | /* | ||
2 | * P2020 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,P2020"; | ||
15 | #address-cells = <2>; | ||
16 | #size-cells = <2>; | ||
17 | |||
18 | cpus { | ||
19 | #address-cells = <1>; | ||
20 | #size-cells = <0>; | ||
21 | |||
22 | PowerPC,P2020@0 { | ||
23 | device_type = "cpu"; | ||
24 | reg = <0x0>; | ||
25 | next-level-cache = <&L2>; | ||
26 | }; | ||
27 | |||
28 | PowerPC,P2020@1 { | ||
29 | device_type = "cpu"; | ||
30 | reg = <0x1>; | ||
31 | next-level-cache = <&L2>; | ||
32 | }; | ||
33 | }; | ||
34 | |||
35 | localbus@ffe05000 { | ||
36 | #address-cells = <2>; | ||
37 | #size-cells = <1>; | ||
38 | compatible = "fsl,p2020-elbc", "fsl,elbc", "simple-bus"; | ||
39 | reg = <0 0xffe05000 0 0x1000>; | ||
40 | interrupts = <19 2>; | ||
41 | interrupt-parent = <&mpic>; | ||
42 | }; | ||
43 | |||
44 | soc@ffe00000 { | ||
45 | #address-cells = <1>; | ||
46 | #size-cells = <1>; | ||
47 | device_type = "soc"; | ||
48 | compatible = "fsl,p2020-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,p2020-ecm", "fsl,ecm"; | ||
60 | reg = <0x1000 0x1000>; | ||
61 | interrupts = <17 2>; | ||
62 | interrupt-parent = <&mpic>; | ||
63 | }; | ||
64 | |||
65 | memory-controller@2000 { | ||
66 | compatible = "fsl,p2020-memory-controller"; | ||
67 | reg = <0x2000 0x1000>; | ||
68 | interrupt-parent = <&mpic>; | ||
69 | interrupts = <18 2>; | ||
70 | }; | ||
71 | |||
72 | i2c@3000 { | ||
73 | #address-cells = <1>; | ||
74 | #size-cells = <0>; | ||
75 | cell-index = <0>; | ||
76 | compatible = "fsl-i2c"; | ||
77 | reg = <0x3000 0x100>; | ||
78 | interrupts = <43 2>; | ||
79 | interrupt-parent = <&mpic>; | ||
80 | dfsrr; | ||
81 | }; | ||
82 | |||
83 | i2c@3100 { | ||
84 | #address-cells = <1>; | ||
85 | #size-cells = <0>; | ||
86 | cell-index = <1>; | ||
87 | compatible = "fsl-i2c"; | ||
88 | reg = <0x3100 0x100>; | ||
89 | interrupts = <43 2>; | ||
90 | interrupt-parent = <&mpic>; | ||
91 | dfsrr; | ||
92 | }; | ||
93 | |||
94 | serial0: serial@4500 { | ||
95 | cell-index = <0>; | ||
96 | device_type = "serial"; | ||
97 | compatible = "ns16550"; | ||
98 | reg = <0x4500 0x100>; | ||
99 | clock-frequency = <0>; | ||
100 | interrupts = <42 2>; | ||
101 | interrupt-parent = <&mpic>; | ||
102 | }; | ||
103 | |||
104 | serial1: serial@4600 { | ||
105 | cell-index = <1>; | ||
106 | device_type = "serial"; | ||
107 | compatible = "ns16550"; | ||
108 | reg = <0x4600 0x100>; | ||
109 | clock-frequency = <0>; | ||
110 | interrupts = <42 2>; | ||
111 | interrupt-parent = <&mpic>; | ||
112 | }; | ||
113 | |||
114 | spi@7000 { | ||
115 | cell-index = <0>; | ||
116 | #address-cells = <1>; | ||
117 | #size-cells = <0>; | ||
118 | compatible = "fsl,espi"; | ||
119 | reg = <0x7000 0x1000>; | ||
120 | interrupts = <59 0x2>; | ||
121 | interrupt-parent = <&mpic>; | ||
122 | mode = "cpu"; | ||
123 | }; | ||
124 | |||
125 | dma@c300 { | ||
126 | #address-cells = <1>; | ||
127 | #size-cells = <1>; | ||
128 | compatible = "fsl,eloplus-dma"; | ||
129 | reg = <0xc300 0x4>; | ||
130 | ranges = <0x0 0xc100 0x200>; | ||
131 | cell-index = <1>; | ||
132 | dma-channel@0 { | ||
133 | compatible = "fsl,eloplus-dma-channel"; | ||
134 | reg = <0x0 0x80>; | ||
135 | cell-index = <0>; | ||
136 | interrupt-parent = <&mpic>; | ||
137 | interrupts = <76 2>; | ||
138 | }; | ||
139 | dma-channel@80 { | ||
140 | compatible = "fsl,eloplus-dma-channel"; | ||
141 | reg = <0x80 0x80>; | ||
142 | cell-index = <1>; | ||
143 | interrupt-parent = <&mpic>; | ||
144 | interrupts = <77 2>; | ||
145 | }; | ||
146 | dma-channel@100 { | ||
147 | compatible = "fsl,eloplus-dma-channel"; | ||
148 | reg = <0x100 0x80>; | ||
149 | cell-index = <2>; | ||
150 | interrupt-parent = <&mpic>; | ||
151 | interrupts = <78 2>; | ||
152 | }; | ||
153 | dma-channel@180 { | ||
154 | compatible = "fsl,eloplus-dma-channel"; | ||
155 | reg = <0x180 0x80>; | ||
156 | cell-index = <3>; | ||
157 | interrupt-parent = <&mpic>; | ||
158 | interrupts = <79 2>; | ||
159 | }; | ||
160 | }; | ||
161 | |||
162 | gpio: gpio-controller@f000 { | ||
163 | #gpio-cells = <2>; | ||
164 | compatible = "fsl,mpc8572-gpio"; | ||
165 | reg = <0xf000 0x100>; | ||
166 | interrupts = <47 0x2>; | ||
167 | interrupt-parent = <&mpic>; | ||
168 | gpio-controller; | ||
169 | }; | ||
170 | |||
171 | L2: l2-cache-controller@20000 { | ||
172 | compatible = "fsl,p2020-l2-cache-controller"; | ||
173 | reg = <0x20000 0x1000>; | ||
174 | cache-line-size = <32>; // 32 bytes | ||
175 | cache-size = <0x80000>; // L2,512K | ||
176 | interrupt-parent = <&mpic>; | ||
177 | interrupts = <16 2>; | ||
178 | }; | ||
179 | |||
180 | dma@21300 { | ||
181 | #address-cells = <1>; | ||
182 | #size-cells = <1>; | ||
183 | compatible = "fsl,eloplus-dma"; | ||
184 | reg = <0x21300 0x4>; | ||
185 | ranges = <0x0 0x21100 0x200>; | ||
186 | cell-index = <0>; | ||
187 | dma-channel@0 { | ||
188 | compatible = "fsl,eloplus-dma-channel"; | ||
189 | reg = <0x0 0x80>; | ||
190 | cell-index = <0>; | ||
191 | interrupt-parent = <&mpic>; | ||
192 | interrupts = <20 2>; | ||
193 | }; | ||
194 | dma-channel@80 { | ||
195 | compatible = "fsl,eloplus-dma-channel"; | ||
196 | reg = <0x80 0x80>; | ||
197 | cell-index = <1>; | ||
198 | interrupt-parent = <&mpic>; | ||
199 | interrupts = <21 2>; | ||
200 | }; | ||
201 | dma-channel@100 { | ||
202 | compatible = "fsl,eloplus-dma-channel"; | ||
203 | reg = <0x100 0x80>; | ||
204 | cell-index = <2>; | ||
205 | interrupt-parent = <&mpic>; | ||
206 | interrupts = <22 2>; | ||
207 | }; | ||
208 | dma-channel@180 { | ||
209 | compatible = "fsl,eloplus-dma-channel"; | ||
210 | reg = <0x180 0x80>; | ||
211 | cell-index = <3>; | ||
212 | interrupt-parent = <&mpic>; | ||
213 | interrupts = <23 2>; | ||
214 | }; | ||
215 | }; | ||
216 | |||
217 | usb@22000 { | ||
218 | #address-cells = <1>; | ||
219 | #size-cells = <0>; | ||
220 | compatible = "fsl-usb2-dr"; | ||
221 | reg = <0x22000 0x1000>; | ||
222 | interrupt-parent = <&mpic>; | ||
223 | interrupts = <28 0x2>; | ||
224 | }; | ||
225 | |||
226 | mdio@24520 { | ||
227 | #address-cells = <1>; | ||
228 | #size-cells = <0>; | ||
229 | compatible = "fsl,gianfar-mdio"; | ||
230 | reg = <0x24520 0x20>; | ||
231 | }; | ||
232 | |||
233 | mdio@25520 { | ||
234 | #address-cells = <1>; | ||
235 | #size-cells = <0>; | ||
236 | compatible = "fsl,gianfar-tbi"; | ||
237 | reg = <0x26520 0x20>; | ||
238 | }; | ||
239 | |||
240 | mdio@26520 { | ||
241 | #address-cells = <1>; | ||
242 | #size-cells = <0>; | ||
243 | compatible = "fsl,gianfar-tbi"; | ||
244 | reg = <0x520 0x20>; | ||
245 | }; | ||
246 | |||
247 | enet0: ethernet@24000 { | ||
248 | #address-cells = <1>; | ||
249 | #size-cells = <1>; | ||
250 | cell-index = <0>; | ||
251 | device_type = "network"; | ||
252 | model = "eTSEC"; | ||
253 | compatible = "gianfar"; | ||
254 | reg = <0x24000 0x1000>; | ||
255 | ranges = <0x0 0x24000 0x1000>; | ||
256 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
257 | interrupts = <29 2 30 2 34 2>; | ||
258 | interrupt-parent = <&mpic>; | ||
259 | }; | ||
260 | |||
261 | enet1: ethernet@25000 { | ||
262 | #address-cells = <1>; | ||
263 | #size-cells = <1>; | ||
264 | cell-index = <1>; | ||
265 | device_type = "network"; | ||
266 | model = "eTSEC"; | ||
267 | compatible = "gianfar"; | ||
268 | reg = <0x25000 0x1000>; | ||
269 | ranges = <0x0 0x25000 0x1000>; | ||
270 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
271 | interrupts = <35 2 36 2 40 2>; | ||
272 | interrupt-parent = <&mpic>; | ||
273 | |||
274 | }; | ||
275 | |||
276 | enet2: ethernet@26000 { | ||
277 | #address-cells = <1>; | ||
278 | #size-cells = <1>; | ||
279 | cell-index = <2>; | ||
280 | device_type = "network"; | ||
281 | model = "eTSEC"; | ||
282 | compatible = "gianfar"; | ||
283 | reg = <0x26000 0x1000>; | ||
284 | ranges = <0x0 0x26000 0x1000>; | ||
285 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
286 | interrupts = <31 2 32 2 33 2>; | ||
287 | interrupt-parent = <&mpic>; | ||
288 | |||
289 | }; | ||
290 | |||
291 | sdhci@2e000 { | ||
292 | compatible = "fsl,p2020-esdhc", "fsl,esdhc"; | ||
293 | reg = <0x2e000 0x1000>; | ||
294 | interrupts = <72 0x2>; | ||
295 | interrupt-parent = <&mpic>; | ||
296 | /* Filled in by U-Boot */ | ||
297 | clock-frequency = <0>; | ||
298 | }; | ||
299 | |||
300 | crypto@30000 { | ||
301 | compatible = "fsl,sec3.1", "fsl,sec3.0", "fsl,sec2.4", | ||
302 | "fsl,sec2.2", "fsl,sec2.1", "fsl,sec2.0"; | ||
303 | reg = <0x30000 0x10000>; | ||
304 | interrupts = <45 2 58 2>; | ||
305 | interrupt-parent = <&mpic>; | ||
306 | fsl,num-channels = <4>; | ||
307 | fsl,channel-fifo-len = <24>; | ||
308 | fsl,exec-units-mask = <0xbfe>; | ||
309 | fsl,descriptor-types-mask = <0x3ab0ebf>; | ||
310 | }; | ||
311 | |||
312 | mpic: pic@40000 { | ||
313 | interrupt-controller; | ||
314 | #address-cells = <0>; | ||
315 | #interrupt-cells = <2>; | ||
316 | reg = <0x40000 0x40000>; | ||
317 | compatible = "chrp,open-pic"; | ||
318 | device_type = "open-pic"; | ||
319 | }; | ||
320 | |||
321 | msi@41600 { | ||
322 | compatible = "fsl,p2020-msi", "fsl,mpic-msi"; | ||
323 | reg = <0x41600 0x80>; | ||
324 | msi-available-ranges = <0 0x100>; | ||
325 | interrupts = < | ||
326 | 0xe0 0 | ||
327 | 0xe1 0 | ||
328 | 0xe2 0 | ||
329 | 0xe3 0 | ||
330 | 0xe4 0 | ||
331 | 0xe5 0 | ||
332 | 0xe6 0 | ||
333 | 0xe7 0>; | ||
334 | interrupt-parent = <&mpic>; | ||
335 | }; | ||
336 | |||
337 | global-utilities@e0000 { //global utilities block | ||
338 | compatible = "fsl,p2020-guts"; | ||
339 | reg = <0xe0000 0x1000>; | ||
340 | fsl,has-rstcr; | ||
341 | }; | ||
342 | }; | ||
343 | |||
344 | pci0: pcie@ffe08000 { | ||
345 | compatible = "fsl,mpc8548-pcie"; | ||
346 | device_type = "pci"; | ||
347 | #interrupt-cells = <1>; | ||
348 | #size-cells = <2>; | ||
349 | #address-cells = <3>; | ||
350 | reg = <0 0xffe08000 0 0x1000>; | ||
351 | bus-range = <0 255>; | ||
352 | clock-frequency = <33333333>; | ||
353 | interrupt-parent = <&mpic>; | ||
354 | interrupts = <24 2>; | ||
355 | }; | ||
356 | |||
357 | pci1: pcie@ffe09000 { | ||
358 | compatible = "fsl,mpc8548-pcie"; | ||
359 | device_type = "pci"; | ||
360 | #interrupt-cells = <1>; | ||
361 | #size-cells = <2>; | ||
362 | #address-cells = <3>; | ||
363 | reg = <0 0xffe09000 0 0x1000>; | ||
364 | bus-range = <0 255>; | ||
365 | clock-frequency = <33333333>; | ||
366 | interrupt-parent = <&mpic>; | ||
367 | interrupts = <25 2>; | ||
368 | }; | ||
369 | |||
370 | pci2: pcie@ffe0a000 { | ||
371 | compatible = "fsl,mpc8548-pcie"; | ||
372 | device_type = "pci"; | ||
373 | #interrupt-cells = <1>; | ||
374 | #size-cells = <2>; | ||
375 | #address-cells = <3>; | ||
376 | reg = <0 0xffe0a000 0 0x1000>; | ||
377 | bus-range = <0 255>; | ||
378 | clock-frequency = <33333333>; | ||
379 | interrupt-parent = <&mpic>; | ||
380 | interrupts = <26 2>; | ||
381 | }; | ||
382 | }; | ||
diff --git a/arch/powerpc/boot/dts/p2040rdb.dts b/arch/powerpc/boot/dts/p2040rdb.dts new file mode 100644 index 00000000000..7d84e391c63 --- /dev/null +++ b/arch/powerpc/boot/dts/p2040rdb.dts | |||
@@ -0,0 +1,166 @@ | |||
1 | /* | ||
2 | * P2040RDB Device Tree Source | ||
3 | * | ||
4 | * Copyright 2011 Freescale Semiconductor Inc. | ||
5 | * | ||
6 | * Redistribution and use in source and binary forms, with or without | ||
7 | * modification, are permitted provided that the following conditions are met: | ||
8 | * * Redistributions of source code must retain the above copyright | ||
9 | * notice, this list of conditions and the following disclaimer. | ||
10 | * * Redistributions in binary form must reproduce the above copyright | ||
11 | * notice, this list of conditions and the following disclaimer in the | ||
12 | * documentation and/or other materials provided with the distribution. | ||
13 | * * Neither the name of Freescale Semiconductor nor the | ||
14 | * names of its contributors may be used to endorse or promote products | ||
15 | * derived from this software without specific prior written permission. | ||
16 | * | ||
17 | * | ||
18 | * ALTERNATIVELY, this software may be distributed under the terms of the | ||
19 | * GNU General Public License ("GPL") as published by the Free Software | ||
20 | * Foundation, either version 2 of that License or (at your option) any | ||
21 | * later version. | ||
22 | * | ||
23 | * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY | ||
24 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
25 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
26 | * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY | ||
27 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
28 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
29 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
30 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
31 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
32 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
33 | */ | ||
34 | |||
35 | /include/ "p2040si.dtsi" | ||
36 | |||
37 | / { | ||
38 | model = "fsl,P2040RDB"; | ||
39 | compatible = "fsl,P2040RDB"; | ||
40 | #address-cells = <2>; | ||
41 | #size-cells = <2>; | ||
42 | interrupt-parent = <&mpic>; | ||
43 | |||
44 | memory { | ||
45 | device_type = "memory"; | ||
46 | }; | ||
47 | |||
48 | soc: soc@ffe000000 { | ||
49 | spi@110000 { | ||
50 | flash@0 { | ||
51 | #address-cells = <1>; | ||
52 | #size-cells = <1>; | ||
53 | compatible = "spansion,s25sl12801"; | ||
54 | reg = <0>; | ||
55 | spi-max-frequency = <40000000>; /* input clock */ | ||
56 | partition@u-boot { | ||
57 | label = "u-boot"; | ||
58 | reg = <0x00000000 0x00100000>; | ||
59 | read-only; | ||
60 | }; | ||
61 | partition@kernel { | ||
62 | label = "kernel"; | ||
63 | reg = <0x00100000 0x00500000>; | ||
64 | read-only; | ||
65 | }; | ||
66 | partition@dtb { | ||
67 | label = "dtb"; | ||
68 | reg = <0x00600000 0x00100000>; | ||
69 | read-only; | ||
70 | }; | ||
71 | partition@fs { | ||
72 | label = "file system"; | ||
73 | reg = <0x00700000 0x00900000>; | ||
74 | }; | ||
75 | }; | ||
76 | }; | ||
77 | |||
78 | i2c@118000 { | ||
79 | lm75b@48 { | ||
80 | compatible = "nxp,lm75a"; | ||
81 | reg = <0x48>; | ||
82 | }; | ||
83 | eeprom@50 { | ||
84 | compatible = "at24,24c256"; | ||
85 | reg = <0x50>; | ||
86 | }; | ||
87 | rtc@68 { | ||
88 | compatible = "pericom,pt7c4338"; | ||
89 | reg = <0x68>; | ||
90 | }; | ||
91 | }; | ||
92 | |||
93 | i2c@118100 { | ||
94 | eeprom@50 { | ||
95 | compatible = "at24,24c256"; | ||
96 | reg = <0x50>; | ||
97 | }; | ||
98 | }; | ||
99 | |||
100 | usb0: usb@210000 { | ||
101 | phy_type = "utmi"; | ||
102 | }; | ||
103 | |||
104 | usb1: usb@211000 { | ||
105 | dr_mode = "host"; | ||
106 | phy_type = "utmi"; | ||
107 | }; | ||
108 | }; | ||
109 | |||
110 | localbus@ffe124000 { | ||
111 | reg = <0xf 0xfe124000 0 0x1000>; | ||
112 | ranges = <0 0 0xf 0xe8000000 0x08000000>; | ||
113 | |||
114 | flash@0,0 { | ||
115 | compatible = "cfi-flash"; | ||
116 | reg = <0 0 0x08000000>; | ||
117 | bank-width = <2>; | ||
118 | device-width = <2>; | ||
119 | }; | ||
120 | }; | ||
121 | |||
122 | pci0: pcie@ffe200000 { | ||
123 | reg = <0xf 0xfe200000 0 0x1000>; | ||
124 | ranges = <0x02000000 0 0xe0000000 0xc 0x00000000 0x0 0x20000000 | ||
125 | 0x01000000 0 0x00000000 0xf 0xf8000000 0x0 0x00010000>; | ||
126 | pcie@0 { | ||
127 | ranges = <0x02000000 0 0xe0000000 | ||
128 | 0x02000000 0 0xe0000000 | ||
129 | 0 0x20000000 | ||
130 | |||
131 | 0x01000000 0 0x00000000 | ||
132 | 0x01000000 0 0x00000000 | ||
133 | 0 0x00010000>; | ||
134 | }; | ||
135 | }; | ||
136 | |||
137 | pci1: pcie@ffe201000 { | ||
138 | reg = <0xf 0xfe201000 0 0x1000>; | ||
139 | ranges = <0x02000000 0x0 0xe0000000 0xc 0x20000000 0x0 0x20000000 | ||
140 | 0x01000000 0x0 0x00000000 0xf 0xf8010000 0x0 0x00010000>; | ||
141 | pcie@0 { | ||
142 | ranges = <0x02000000 0 0xe0000000 | ||
143 | 0x02000000 0 0xe0000000 | ||
144 | 0 0x20000000 | ||
145 | |||
146 | 0x01000000 0 0x00000000 | ||
147 | 0x01000000 0 0x00000000 | ||
148 | 0 0x00010000>; | ||
149 | }; | ||
150 | }; | ||
151 | |||
152 | pci2: pcie@ffe202000 { | ||
153 | reg = <0xf 0xfe202000 0 0x1000>; | ||
154 | ranges = <0x02000000 0 0xe0000000 0xc 0x40000000 0 0x20000000 | ||
155 | 0x01000000 0 0x00000000 0xf 0xf8020000 0 0x00010000>; | ||
156 | pcie@0 { | ||
157 | ranges = <0x02000000 0 0xe0000000 | ||
158 | 0x02000000 0 0xe0000000 | ||
159 | 0 0x20000000 | ||
160 | |||
161 | 0x01000000 0 0x00000000 | ||
162 | 0x01000000 0 0x00000000 | ||
163 | 0 0x00010000>; | ||
164 | }; | ||
165 | }; | ||
166 | }; | ||
diff --git a/arch/powerpc/boot/dts/p2040si.dtsi b/arch/powerpc/boot/dts/p2040si.dtsi new file mode 100644 index 00000000000..5fdbb24c076 --- /dev/null +++ b/arch/powerpc/boot/dts/p2040si.dtsi | |||
@@ -0,0 +1,623 @@ | |||
1 | /* | ||
2 | * P2040 Silicon Device Tree Source | ||
3 | * | ||
4 | * Copyright 2011 Freescale Semiconductor Inc. | ||
5 | * | ||
6 | * Redistribution and use in source and binary forms, with or without | ||
7 | * modification, are permitted provided that the following conditions are met: | ||
8 | * * Redistributions of source code must retain the above copyright | ||
9 | * notice, this list of conditions and the following disclaimer. | ||
10 | * * Redistributions in binary form must reproduce the above copyright | ||
11 | * notice, this list of conditions and the following disclaimer in the | ||
12 | * documentation and/or other materials provided with the distribution. | ||
13 | * * Neither the name of Freescale Semiconductor nor the | ||
14 | * names of its contributors may be used to endorse or promote products | ||
15 | * derived from this software without specific prior written permission. | ||
16 | * | ||
17 | * | ||
18 | * ALTERNATIVELY, this software may be distributed under the terms of the | ||
19 | * GNU General Public License ("GPL") as published by the Free Software | ||
20 | * Foundation, either version 2 of that License or (at your option) any | ||
21 | * later version. | ||
22 | * | ||
23 | * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY | ||
24 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
25 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
26 | * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY | ||
27 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
28 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
29 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
30 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
31 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
32 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
33 | */ | ||
34 | |||
35 | /dts-v1/; | ||
36 | |||
37 | / { | ||
38 | compatible = "fsl,P2040"; | ||
39 | #address-cells = <2>; | ||
40 | #size-cells = <2>; | ||
41 | interrupt-parent = <&mpic>; | ||
42 | |||
43 | aliases { | ||
44 | ccsr = &soc; | ||
45 | |||
46 | serial0 = &serial0; | ||
47 | serial1 = &serial1; | ||
48 | serial2 = &serial2; | ||
49 | serial3 = &serial3; | ||
50 | pci0 = &pci0; | ||
51 | pci1 = &pci1; | ||
52 | pci2 = &pci2; | ||
53 | usb0 = &usb0; | ||
54 | usb1 = &usb1; | ||
55 | dma0 = &dma0; | ||
56 | dma1 = &dma1; | ||
57 | sdhc = &sdhc; | ||
58 | msi0 = &msi0; | ||
59 | msi1 = &msi1; | ||
60 | msi2 = &msi2; | ||
61 | |||
62 | crypto = &crypto; | ||
63 | sec_jr0 = &sec_jr0; | ||
64 | sec_jr1 = &sec_jr1; | ||
65 | sec_jr2 = &sec_jr2; | ||
66 | sec_jr3 = &sec_jr3; | ||
67 | rtic_a = &rtic_a; | ||
68 | rtic_b = &rtic_b; | ||
69 | rtic_c = &rtic_c; | ||
70 | rtic_d = &rtic_d; | ||
71 | sec_mon = &sec_mon; | ||
72 | }; | ||
73 | |||
74 | cpus { | ||
75 | #address-cells = <1>; | ||
76 | #size-cells = <0>; | ||
77 | |||
78 | cpu0: PowerPC,e500mc@0 { | ||
79 | device_type = "cpu"; | ||
80 | reg = <0>; | ||
81 | next-level-cache = <&L2_0>; | ||
82 | L2_0: l2-cache { | ||
83 | next-level-cache = <&cpc>; | ||
84 | }; | ||
85 | }; | ||
86 | cpu1: PowerPC,e500mc@1 { | ||
87 | device_type = "cpu"; | ||
88 | reg = <1>; | ||
89 | next-level-cache = <&L2_1>; | ||
90 | L2_1: l2-cache { | ||
91 | next-level-cache = <&cpc>; | ||
92 | }; | ||
93 | }; | ||
94 | cpu2: PowerPC,e500mc@2 { | ||
95 | device_type = "cpu"; | ||
96 | reg = <2>; | ||
97 | next-level-cache = <&L2_2>; | ||
98 | L2_2: l2-cache { | ||
99 | next-level-cache = <&cpc>; | ||
100 | }; | ||
101 | }; | ||
102 | cpu3: PowerPC,e500mc@3 { | ||
103 | device_type = "cpu"; | ||
104 | reg = <3>; | ||
105 | next-level-cache = <&L2_3>; | ||
106 | L2_3: l2-cache { | ||
107 | next-level-cache = <&cpc>; | ||
108 | }; | ||
109 | }; | ||
110 | }; | ||
111 | |||
112 | soc: soc@ffe000000 { | ||
113 | #address-cells = <1>; | ||
114 | #size-cells = <1>; | ||
115 | device_type = "soc"; | ||
116 | compatible = "simple-bus"; | ||
117 | ranges = <0x00000000 0xf 0xfe000000 0x1000000>; | ||
118 | reg = <0xf 0xfe000000 0 0x00001000>; | ||
119 | |||
120 | soc-sram-error { | ||
121 | compatible = "fsl,soc-sram-error"; | ||
122 | interrupts = <16 2 1 29>; | ||
123 | }; | ||
124 | |||
125 | corenet-law@0 { | ||
126 | compatible = "fsl,corenet-law"; | ||
127 | reg = <0x0 0x1000>; | ||
128 | fsl,num-laws = <32>; | ||
129 | }; | ||
130 | |||
131 | memory-controller@8000 { | ||
132 | compatible = "fsl,qoriq-memory-controller-v4.5", "fsl,qoriq-memory-controller"; | ||
133 | reg = <0x8000 0x1000>; | ||
134 | interrupts = <16 2 1 23>; | ||
135 | }; | ||
136 | |||
137 | cpc: l3-cache-controller@10000 { | ||
138 | compatible = "fsl,p2040-l3-cache-controller", "fsl,p4080-l3-cache-controller", "cache"; | ||
139 | reg = <0x10000 0x1000>; | ||
140 | interrupts = <16 2 1 27>; | ||
141 | }; | ||
142 | |||
143 | corenet-cf@18000 { | ||
144 | compatible = "fsl,corenet-cf"; | ||
145 | reg = <0x18000 0x1000>; | ||
146 | interrupts = <16 2 1 31>; | ||
147 | fsl,ccf-num-csdids = <32>; | ||
148 | fsl,ccf-num-snoopids = <32>; | ||
149 | }; | ||
150 | |||
151 | iommu@20000 { | ||
152 | compatible = "fsl,pamu-v1.0", "fsl,pamu"; | ||
153 | reg = <0x20000 0x4000>; | ||
154 | interrupts = < | ||
155 | 24 2 0 0 | ||
156 | 16 2 1 30>; | ||
157 | }; | ||
158 | |||
159 | mpic: pic@40000 { | ||
160 | clock-frequency = <0>; | ||
161 | interrupt-controller; | ||
162 | #address-cells = <0>; | ||
163 | #interrupt-cells = <4>; | ||
164 | reg = <0x40000 0x40000>; | ||
165 | compatible = "fsl,mpic", "chrp,open-pic"; | ||
166 | device_type = "open-pic"; | ||
167 | }; | ||
168 | |||
169 | msi0: msi@41600 { | ||
170 | compatible = "fsl,mpic-msi"; | ||
171 | reg = <0x41600 0x200>; | ||
172 | msi-available-ranges = <0 0x100>; | ||
173 | interrupts = < | ||
174 | 0xe0 0 0 0 | ||
175 | 0xe1 0 0 0 | ||
176 | 0xe2 0 0 0 | ||
177 | 0xe3 0 0 0 | ||
178 | 0xe4 0 0 0 | ||
179 | 0xe5 0 0 0 | ||
180 | 0xe6 0 0 0 | ||
181 | 0xe7 0 0 0>; | ||
182 | }; | ||
183 | |||
184 | msi1: msi@41800 { | ||
185 | compatible = "fsl,mpic-msi"; | ||
186 | reg = <0x41800 0x200>; | ||
187 | msi-available-ranges = <0 0x100>; | ||
188 | interrupts = < | ||
189 | 0xe8 0 0 0 | ||
190 | 0xe9 0 0 0 | ||
191 | 0xea 0 0 0 | ||
192 | 0xeb 0 0 0 | ||
193 | 0xec 0 0 0 | ||
194 | 0xed 0 0 0 | ||
195 | 0xee 0 0 0 | ||
196 | 0xef 0 0 0>; | ||
197 | }; | ||
198 | |||
199 | msi2: msi@41a00 { | ||
200 | compatible = "fsl,mpic-msi"; | ||
201 | reg = <0x41a00 0x200>; | ||
202 | msi-available-ranges = <0 0x100>; | ||
203 | interrupts = < | ||
204 | 0xf0 0 0 0 | ||
205 | 0xf1 0 0 0 | ||
206 | 0xf2 0 0 0 | ||
207 | 0xf3 0 0 0 | ||
208 | 0xf4 0 0 0 | ||
209 | 0xf5 0 0 0 | ||
210 | 0xf6 0 0 0 | ||
211 | 0xf7 0 0 0>; | ||
212 | }; | ||
213 | |||
214 | guts: global-utilities@e0000 { | ||
215 | compatible = "fsl,qoriq-device-config-1.0"; | ||
216 | reg = <0xe0000 0xe00>; | ||
217 | fsl,has-rstcr; | ||
218 | #sleep-cells = <1>; | ||
219 | fsl,liodn-bits = <12>; | ||
220 | }; | ||
221 | |||
222 | pins: global-utilities@e0e00 { | ||
223 | compatible = "fsl,qoriq-pin-control-1.0"; | ||
224 | reg = <0xe0e00 0x200>; | ||
225 | #sleep-cells = <2>; | ||
226 | }; | ||
227 | |||
228 | clockgen: global-utilities@e1000 { | ||
229 | compatible = "fsl,p2040-clockgen", "fsl,qoriq-clockgen-1.0"; | ||
230 | reg = <0xe1000 0x1000>; | ||
231 | clock-frequency = <0>; | ||
232 | }; | ||
233 | |||
234 | rcpm: global-utilities@e2000 { | ||
235 | compatible = "fsl,qoriq-rcpm-1.0"; | ||
236 | reg = <0xe2000 0x1000>; | ||
237 | #sleep-cells = <1>; | ||
238 | }; | ||
239 | |||
240 | sfp: sfp@e8000 { | ||
241 | compatible = "fsl,p2040-sfp", "fsl,qoriq-sfp-1.0"; | ||
242 | reg = <0xe8000 0x1000>; | ||
243 | }; | ||
244 | |||
245 | serdes: serdes@ea000 { | ||
246 | compatible = "fsl,p2040-serdes"; | ||
247 | reg = <0xea000 0x1000>; | ||
248 | }; | ||
249 | |||
250 | dma0: dma@100300 { | ||
251 | #address-cells = <1>; | ||
252 | #size-cells = <1>; | ||
253 | compatible = "fsl,p2040-dma", "fsl,eloplus-dma"; | ||
254 | reg = <0x100300 0x4>; | ||
255 | ranges = <0x0 0x100100 0x200>; | ||
256 | cell-index = <0>; | ||
257 | dma-channel@0 { | ||
258 | compatible = "fsl,p2040-dma-channel", | ||
259 | "fsl,eloplus-dma-channel"; | ||
260 | reg = <0x0 0x80>; | ||
261 | cell-index = <0>; | ||
262 | interrupts = <28 2 0 0>; | ||
263 | }; | ||
264 | dma-channel@80 { | ||
265 | compatible = "fsl,p2040-dma-channel", | ||
266 | "fsl,eloplus-dma-channel"; | ||
267 | reg = <0x80 0x80>; | ||
268 | cell-index = <1>; | ||
269 | interrupts = <29 2 0 0>; | ||
270 | }; | ||
271 | dma-channel@100 { | ||
272 | compatible = "fsl,p2040-dma-channel", | ||
273 | "fsl,eloplus-dma-channel"; | ||
274 | reg = <0x100 0x80>; | ||
275 | cell-index = <2>; | ||
276 | interrupts = <30 2 0 0>; | ||
277 | }; | ||
278 | dma-channel@180 { | ||
279 | compatible = "fsl,p2040-dma-channel", | ||
280 | "fsl,eloplus-dma-channel"; | ||
281 | reg = <0x180 0x80>; | ||
282 | cell-index = <3>; | ||
283 | interrupts = <31 2 0 0>; | ||
284 | }; | ||
285 | }; | ||
286 | |||
287 | dma1: dma@101300 { | ||
288 | #address-cells = <1>; | ||
289 | #size-cells = <1>; | ||
290 | compatible = "fsl,p2040-dma", "fsl,eloplus-dma"; | ||
291 | reg = <0x101300 0x4>; | ||
292 | ranges = <0x0 0x101100 0x200>; | ||
293 | cell-index = <1>; | ||
294 | dma-channel@0 { | ||
295 | compatible = "fsl,p2040-dma-channel", | ||
296 | "fsl,eloplus-dma-channel"; | ||
297 | reg = <0x0 0x80>; | ||
298 | cell-index = <0>; | ||
299 | interrupts = <32 2 0 0>; | ||
300 | }; | ||
301 | dma-channel@80 { | ||
302 | compatible = "fsl,p2040-dma-channel", | ||
303 | "fsl,eloplus-dma-channel"; | ||
304 | reg = <0x80 0x80>; | ||
305 | cell-index = <1>; | ||
306 | interrupts = <33 2 0 0>; | ||
307 | }; | ||
308 | dma-channel@100 { | ||
309 | compatible = "fsl,p2040-dma-channel", | ||
310 | "fsl,eloplus-dma-channel"; | ||
311 | reg = <0x100 0x80>; | ||
312 | cell-index = <2>; | ||
313 | interrupts = <34 2 0 0>; | ||
314 | }; | ||
315 | dma-channel@180 { | ||
316 | compatible = "fsl,p2040-dma-channel", | ||
317 | "fsl,eloplus-dma-channel"; | ||
318 | reg = <0x180 0x80>; | ||
319 | cell-index = <3>; | ||
320 | interrupts = <35 2 0 0>; | ||
321 | }; | ||
322 | }; | ||
323 | |||
324 | spi@110000 { | ||
325 | #address-cells = <1>; | ||
326 | #size-cells = <0>; | ||
327 | compatible = "fsl,p2040-espi", "fsl,mpc8536-espi"; | ||
328 | reg = <0x110000 0x1000>; | ||
329 | interrupts = <53 0x2 0 0>; | ||
330 | fsl,espi-num-chipselects = <4>; | ||
331 | |||
332 | }; | ||
333 | |||
334 | sdhc: sdhc@114000 { | ||
335 | compatible = "fsl,p2040-esdhc", "fsl,esdhc"; | ||
336 | reg = <0x114000 0x1000>; | ||
337 | interrupts = <48 2 0 0>; | ||
338 | sdhci,auto-cmd12; | ||
339 | clock-frequency = <0>; | ||
340 | }; | ||
341 | |||
342 | |||
343 | i2c@118000 { | ||
344 | #address-cells = <1>; | ||
345 | #size-cells = <0>; | ||
346 | cell-index = <0>; | ||
347 | compatible = "fsl-i2c"; | ||
348 | reg = <0x118000 0x100>; | ||
349 | interrupts = <38 2 0 0>; | ||
350 | dfsrr; | ||
351 | }; | ||
352 | |||
353 | i2c@118100 { | ||
354 | #address-cells = <1>; | ||
355 | #size-cells = <0>; | ||
356 | cell-index = <1>; | ||
357 | compatible = "fsl-i2c"; | ||
358 | reg = <0x118100 0x100>; | ||
359 | interrupts = <38 2 0 0>; | ||
360 | dfsrr; | ||
361 | }; | ||
362 | |||
363 | i2c@119000 { | ||
364 | #address-cells = <1>; | ||
365 | #size-cells = <0>; | ||
366 | cell-index = <2>; | ||
367 | compatible = "fsl-i2c"; | ||
368 | reg = <0x119000 0x100>; | ||
369 | interrupts = <39 2 0 0>; | ||
370 | dfsrr; | ||
371 | }; | ||
372 | |||
373 | i2c@119100 { | ||
374 | #address-cells = <1>; | ||
375 | #size-cells = <0>; | ||
376 | cell-index = <3>; | ||
377 | compatible = "fsl-i2c"; | ||
378 | reg = <0x119100 0x100>; | ||
379 | interrupts = <39 2 0 0>; | ||
380 | dfsrr; | ||
381 | }; | ||
382 | |||
383 | serial0: serial@11c500 { | ||
384 | cell-index = <0>; | ||
385 | device_type = "serial"; | ||
386 | compatible = "ns16550"; | ||
387 | reg = <0x11c500 0x100>; | ||
388 | clock-frequency = <0>; | ||
389 | interrupts = <36 2 0 0>; | ||
390 | }; | ||
391 | |||
392 | serial1: serial@11c600 { | ||
393 | cell-index = <1>; | ||
394 | device_type = "serial"; | ||
395 | compatible = "ns16550"; | ||
396 | reg = <0x11c600 0x100>; | ||
397 | clock-frequency = <0>; | ||
398 | interrupts = <36 2 0 0>; | ||
399 | }; | ||
400 | |||
401 | serial2: serial@11d500 { | ||
402 | cell-index = <2>; | ||
403 | device_type = "serial"; | ||
404 | compatible = "ns16550"; | ||
405 | reg = <0x11d500 0x100>; | ||
406 | clock-frequency = <0>; | ||
407 | interrupts = <37 2 0 0>; | ||
408 | }; | ||
409 | |||
410 | serial3: serial@11d600 { | ||
411 | cell-index = <3>; | ||
412 | device_type = "serial"; | ||
413 | compatible = "ns16550"; | ||
414 | reg = <0x11d600 0x100>; | ||
415 | clock-frequency = <0>; | ||
416 | interrupts = <37 2 0 0>; | ||
417 | }; | ||
418 | |||
419 | gpio0: gpio@130000 { | ||
420 | compatible = "fsl,p2040-gpio", "fsl,qoriq-gpio"; | ||
421 | reg = <0x130000 0x1000>; | ||
422 | interrupts = <55 2 0 0>; | ||
423 | #gpio-cells = <2>; | ||
424 | gpio-controller; | ||
425 | }; | ||
426 | |||
427 | usb0: usb@210000 { | ||
428 | compatible = "fsl,p2040-usb2-mph", | ||
429 | "fsl,mpc85xx-usb2-mph", "fsl-usb2-mph"; | ||
430 | reg = <0x210000 0x1000>; | ||
431 | #address-cells = <1>; | ||
432 | #size-cells = <0>; | ||
433 | interrupts = <44 0x2 0 0>; | ||
434 | port0; | ||
435 | }; | ||
436 | |||
437 | usb1: usb@211000 { | ||
438 | compatible = "fsl,p2040-usb2-dr", | ||
439 | "fsl,mpc85xx-usb2-dr", "fsl-usb2-dr"; | ||
440 | reg = <0x211000 0x1000>; | ||
441 | #address-cells = <1>; | ||
442 | #size-cells = <0>; | ||
443 | interrupts = <45 0x2 0 0>; | ||
444 | }; | ||
445 | |||
446 | sata@220000 { | ||
447 | compatible = "fsl,p2040-sata", "fsl,pq-sata-v2"; | ||
448 | reg = <0x220000 0x1000>; | ||
449 | interrupts = <68 0x2 0 0>; | ||
450 | }; | ||
451 | |||
452 | sata@221000 { | ||
453 | compatible = "fsl,p2040-sata", "fsl,pq-sata-v2"; | ||
454 | reg = <0x221000 0x1000>; | ||
455 | interrupts = <69 0x2 0 0>; | ||
456 | }; | ||
457 | |||
458 | crypto: crypto@300000 { | ||
459 | compatible = "fsl,sec-v4.2", "fsl,sec-v4.0"; | ||
460 | #address-cells = <1>; | ||
461 | #size-cells = <1>; | ||
462 | reg = <0x300000 0x10000>; | ||
463 | ranges = <0 0x300000 0x10000>; | ||
464 | interrupts = <92 2 0 0>; | ||
465 | |||
466 | sec_jr0: jr@1000 { | ||
467 | compatible = "fsl,sec-v4.2-job-ring", | ||
468 | "fsl,sec-v4.0-job-ring"; | ||
469 | reg = <0x1000 0x1000>; | ||
470 | interrupts = <88 2 0 0>; | ||
471 | }; | ||
472 | |||
473 | sec_jr1: jr@2000 { | ||
474 | compatible = "fsl,sec-v4.2-job-ring", | ||
475 | "fsl,sec-v4.0-job-ring"; | ||
476 | reg = <0x2000 0x1000>; | ||
477 | interrupts = <89 2 0 0>; | ||
478 | }; | ||
479 | |||
480 | sec_jr2: jr@3000 { | ||
481 | compatible = "fsl,sec-v4.2-job-ring", | ||
482 | "fsl,sec-v4.0-job-ring"; | ||
483 | reg = <0x3000 0x1000>; | ||
484 | interrupts = <90 2 0 0>; | ||
485 | }; | ||
486 | |||
487 | sec_jr3: jr@4000 { | ||
488 | compatible = "fsl,sec-v4.2-job-ring", | ||
489 | "fsl,sec-v4.0-job-ring"; | ||
490 | reg = <0x4000 0x1000>; | ||
491 | interrupts = <91 2 0 0>; | ||
492 | }; | ||
493 | |||
494 | rtic@6000 { | ||
495 | compatible = "fsl,sec-v4.2-rtic", | ||
496 | "fsl,sec-v4.0-rtic"; | ||
497 | #address-cells = <1>; | ||
498 | #size-cells = <1>; | ||
499 | reg = <0x6000 0x100>; | ||
500 | ranges = <0x0 0x6100 0xe00>; | ||
501 | |||
502 | rtic_a: rtic-a@0 { | ||
503 | compatible = "fsl,sec-v4.2-rtic-memory", | ||
504 | "fsl,sec-v4.0-rtic-memory"; | ||
505 | reg = <0x00 0x20 0x100 0x80>; | ||
506 | }; | ||
507 | |||
508 | rtic_b: rtic-b@20 { | ||
509 | compatible = "fsl,sec-v4.2-rtic-memory", | ||
510 | "fsl,sec-v4.0-rtic-memory"; | ||
511 | reg = <0x20 0x20 0x200 0x80>; | ||
512 | }; | ||
513 | |||
514 | rtic_c: rtic-c@40 { | ||
515 | compatible = "fsl,sec-v4.2-rtic-memory", | ||
516 | "fsl,sec-v4.0-rtic-memory"; | ||
517 | reg = <0x40 0x20 0x300 0x80>; | ||
518 | }; | ||
519 | |||
520 | rtic_d: rtic-d@60 { | ||
521 | compatible = "fsl,sec-v4.2-rtic-memory", | ||
522 | "fsl,sec-v4.0-rtic-memory"; | ||
523 | reg = <0x60 0x20 0x500 0x80>; | ||
524 | }; | ||
525 | }; | ||
526 | }; | ||
527 | |||
528 | sec_mon: sec_mon@314000 { | ||
529 | compatible = "fsl,sec-v4.2-mon", "fsl,sec-v4.0-mon"; | ||
530 | reg = <0x314000 0x1000>; | ||
531 | interrupts = <93 2 0 0>; | ||
532 | }; | ||
533 | |||
534 | }; | ||
535 | |||
536 | localbus@ffe124000 { | ||
537 | compatible = "fsl,p2040-elbc", "fsl,elbc", "simple-bus"; | ||
538 | interrupts = <25 2 0 0>; | ||
539 | #address-cells = <2>; | ||
540 | #size-cells = <1>; | ||
541 | }; | ||
542 | |||
543 | pci0: pcie@ffe200000 { | ||
544 | compatible = "fsl,p2040-pcie", "fsl,qoriq-pcie-v2.2"; | ||
545 | device_type = "pci"; | ||
546 | #size-cells = <2>; | ||
547 | #address-cells = <3>; | ||
548 | bus-range = <0x0 0xff>; | ||
549 | clock-frequency = <0x1fca055>; | ||
550 | fsl,msi = <&msi0>; | ||
551 | interrupts = <16 2 1 15>; | ||
552 | pcie@0 { | ||
553 | reg = <0 0 0 0 0>; | ||
554 | #interrupt-cells = <1>; | ||
555 | #size-cells = <2>; | ||
556 | #address-cells = <3>; | ||
557 | device_type = "pci"; | ||
558 | interrupts = <16 2 1 15>; | ||
559 | interrupt-map-mask = <0xf800 0 0 7>; | ||
560 | interrupt-map = < | ||
561 | /* IDSEL 0x0 */ | ||
562 | 0000 0 0 1 &mpic 40 1 0 0 | ||
563 | 0000 0 0 2 &mpic 1 1 0 0 | ||
564 | 0000 0 0 3 &mpic 2 1 0 0 | ||
565 | 0000 0 0 4 &mpic 3 1 0 0 | ||
566 | >; | ||
567 | }; | ||
568 | }; | ||
569 | |||
570 | pci1: pcie@ffe201000 { | ||
571 | compatible = "fsl,p2040-pcie", "fsl,qoriq-pcie-v2.2"; | ||
572 | device_type = "pci"; | ||
573 | #size-cells = <2>; | ||
574 | #address-cells = <3>; | ||
575 | bus-range = <0 0xff>; | ||
576 | clock-frequency = <0x1fca055>; | ||
577 | fsl,msi = <&msi1>; | ||
578 | interrupts = <16 2 1 14>; | ||
579 | pcie@0 { | ||
580 | reg = <0 0 0 0 0>; | ||
581 | #interrupt-cells = <1>; | ||
582 | #size-cells = <2>; | ||
583 | #address-cells = <3>; | ||
584 | device_type = "pci"; | ||
585 | interrupts = <16 2 1 14>; | ||
586 | interrupt-map-mask = <0xf800 0 0 7>; | ||
587 | interrupt-map = < | ||
588 | /* IDSEL 0x0 */ | ||
589 | 0000 0 0 1 &mpic 41 1 0 0 | ||
590 | 0000 0 0 2 &mpic 5 1 0 0 | ||
591 | 0000 0 0 3 &mpic 6 1 0 0 | ||
592 | 0000 0 0 4 &mpic 7 1 0 0 | ||
593 | >; | ||
594 | }; | ||
595 | }; | ||
596 | |||
597 | pci2: pcie@ffe202000 { | ||
598 | compatible = "fsl,p2040-pcie", "fsl,qoriq-pcie-v2.2"; | ||
599 | device_type = "pci"; | ||
600 | #size-cells = <2>; | ||
601 | #address-cells = <3>; | ||
602 | bus-range = <0x0 0xff>; | ||
603 | clock-frequency = <0x1fca055>; | ||
604 | fsl,msi = <&msi2>; | ||
605 | interrupts = <16 2 1 13>; | ||
606 | pcie@0 { | ||
607 | reg = <0 0 0 0 0>; | ||
608 | #interrupt-cells = <1>; | ||
609 | #size-cells = <2>; | ||
610 | #address-cells = <3>; | ||
611 | device_type = "pci"; | ||
612 | interrupts = <16 2 1 13>; | ||
613 | interrupt-map-mask = <0xf800 0 0 7>; | ||
614 | interrupt-map = < | ||
615 | /* IDSEL 0x0 */ | ||
616 | 0000 0 0 1 &mpic 42 1 0 0 | ||
617 | 0000 0 0 2 &mpic 9 1 0 0 | ||
618 | 0000 0 0 3 &mpic 10 1 0 0 | ||
619 | 0000 0 0 4 &mpic 11 1 0 0 | ||
620 | >; | ||
621 | }; | ||
622 | }; | ||
623 | }; | ||
diff --git a/arch/powerpc/boot/dts/p3041si.dtsi b/arch/powerpc/boot/dts/p3041si.dtsi new file mode 100644 index 00000000000..8b695801f50 --- /dev/null +++ b/arch/powerpc/boot/dts/p3041si.dtsi | |||
@@ -0,0 +1,660 @@ | |||
1 | /* | ||
2 | * P3041 Silicon Device Tree Source | ||
3 | * | ||
4 | * Copyright 2010-2011 Freescale Semiconductor Inc. | ||
5 | * | ||
6 | * Redistribution and use in source and binary forms, with or without | ||
7 | * modification, are permitted provided that the following conditions are met: | ||
8 | * * Redistributions of source code must retain the above copyright | ||
9 | * notice, this list of conditions and the following disclaimer. | ||
10 | * * Redistributions in binary form must reproduce the above copyright | ||
11 | * notice, this list of conditions and the following disclaimer in the | ||
12 | * documentation and/or other materials provided with the distribution. | ||
13 | * * Neither the name of Freescale Semiconductor nor the | ||
14 | * names of its contributors may be used to endorse or promote products | ||
15 | * derived from this software without specific prior written permission. | ||
16 | * | ||
17 | * | ||
18 | * ALTERNATIVELY, this software may be distributed under the terms of the | ||
19 | * GNU General Public License ("GPL") as published by the Free Software | ||
20 | * Foundation, either version 2 of that License or (at your option) any | ||
21 | * later version. | ||
22 | * | ||
23 | * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY | ||
24 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
25 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
26 | * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY | ||
27 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
28 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
29 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
30 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
31 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
32 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
33 | */ | ||
34 | |||
35 | /dts-v1/; | ||
36 | |||
37 | / { | ||
38 | compatible = "fsl,P3041"; | ||
39 | #address-cells = <2>; | ||
40 | #size-cells = <2>; | ||
41 | interrupt-parent = <&mpic>; | ||
42 | |||
43 | aliases { | ||
44 | ccsr = &soc; | ||
45 | |||
46 | serial0 = &serial0; | ||
47 | serial1 = &serial1; | ||
48 | serial2 = &serial2; | ||
49 | serial3 = &serial3; | ||
50 | pci0 = &pci0; | ||
51 | pci1 = &pci1; | ||
52 | pci2 = &pci2; | ||
53 | pci3 = &pci3; | ||
54 | usb0 = &usb0; | ||
55 | usb1 = &usb1; | ||
56 | dma0 = &dma0; | ||
57 | dma1 = &dma1; | ||
58 | sdhc = &sdhc; | ||
59 | msi0 = &msi0; | ||
60 | msi1 = &msi1; | ||
61 | msi2 = &msi2; | ||
62 | |||
63 | crypto = &crypto; | ||
64 | sec_jr0 = &sec_jr0; | ||
65 | sec_jr1 = &sec_jr1; | ||
66 | sec_jr2 = &sec_jr2; | ||
67 | sec_jr3 = &sec_jr3; | ||
68 | rtic_a = &rtic_a; | ||
69 | rtic_b = &rtic_b; | ||
70 | rtic_c = &rtic_c; | ||
71 | rtic_d = &rtic_d; | ||
72 | sec_mon = &sec_mon; | ||
73 | |||
74 | /* | ||
75 | rio0 = &rapidio0; | ||
76 | */ | ||
77 | }; | ||
78 | |||
79 | cpus { | ||
80 | #address-cells = <1>; | ||
81 | #size-cells = <0>; | ||
82 | |||
83 | cpu0: PowerPC,e500mc@0 { | ||
84 | device_type = "cpu"; | ||
85 | reg = <0>; | ||
86 | next-level-cache = <&L2_0>; | ||
87 | L2_0: l2-cache { | ||
88 | next-level-cache = <&cpc>; | ||
89 | }; | ||
90 | }; | ||
91 | cpu1: PowerPC,e500mc@1 { | ||
92 | device_type = "cpu"; | ||
93 | reg = <1>; | ||
94 | next-level-cache = <&L2_1>; | ||
95 | L2_1: l2-cache { | ||
96 | next-level-cache = <&cpc>; | ||
97 | }; | ||
98 | }; | ||
99 | cpu2: PowerPC,e500mc@2 { | ||
100 | device_type = "cpu"; | ||
101 | reg = <2>; | ||
102 | next-level-cache = <&L2_2>; | ||
103 | L2_2: l2-cache { | ||
104 | next-level-cache = <&cpc>; | ||
105 | }; | ||
106 | }; | ||
107 | cpu3: PowerPC,e500mc@3 { | ||
108 | device_type = "cpu"; | ||
109 | reg = <3>; | ||
110 | next-level-cache = <&L2_3>; | ||
111 | L2_3: l2-cache { | ||
112 | next-level-cache = <&cpc>; | ||
113 | }; | ||
114 | }; | ||
115 | }; | ||
116 | |||
117 | soc: soc@ffe000000 { | ||
118 | #address-cells = <1>; | ||
119 | #size-cells = <1>; | ||
120 | device_type = "soc"; | ||
121 | compatible = "simple-bus"; | ||
122 | ranges = <0x00000000 0xf 0xfe000000 0x1000000>; | ||
123 | reg = <0xf 0xfe000000 0 0x00001000>; | ||
124 | |||
125 | soc-sram-error { | ||
126 | compatible = "fsl,soc-sram-error"; | ||
127 | interrupts = <16 2 1 29>; | ||
128 | }; | ||
129 | |||
130 | corenet-law@0 { | ||
131 | compatible = "fsl,corenet-law"; | ||
132 | reg = <0x0 0x1000>; | ||
133 | fsl,num-laws = <32>; | ||
134 | }; | ||
135 | |||
136 | memory-controller@8000 { | ||
137 | compatible = "fsl,qoriq-memory-controller-v4.5", "fsl,qoriq-memory-controller"; | ||
138 | reg = <0x8000 0x1000>; | ||
139 | interrupts = <16 2 1 23>; | ||
140 | }; | ||
141 | |||
142 | cpc: l3-cache-controller@10000 { | ||
143 | compatible = "fsl,p3041-l3-cache-controller", "fsl,p4080-l3-cache-controller", "cache"; | ||
144 | reg = <0x10000 0x1000>; | ||
145 | interrupts = <16 2 1 27>; | ||
146 | }; | ||
147 | |||
148 | corenet-cf@18000 { | ||
149 | compatible = "fsl,corenet-cf"; | ||
150 | reg = <0x18000 0x1000>; | ||
151 | interrupts = <16 2 1 31>; | ||
152 | fsl,ccf-num-csdids = <32>; | ||
153 | fsl,ccf-num-snoopids = <32>; | ||
154 | }; | ||
155 | |||
156 | iommu@20000 { | ||
157 | compatible = "fsl,pamu-v1.0", "fsl,pamu"; | ||
158 | reg = <0x20000 0x4000>; | ||
159 | interrupts = < | ||
160 | 24 2 0 0 | ||
161 | 16 2 1 30>; | ||
162 | }; | ||
163 | |||
164 | mpic: pic@40000 { | ||
165 | clock-frequency = <0>; | ||
166 | interrupt-controller; | ||
167 | #address-cells = <0>; | ||
168 | #interrupt-cells = <4>; | ||
169 | reg = <0x40000 0x40000>; | ||
170 | compatible = "fsl,mpic", "chrp,open-pic"; | ||
171 | device_type = "open-pic"; | ||
172 | }; | ||
173 | |||
174 | msi0: msi@41600 { | ||
175 | compatible = "fsl,mpic-msi"; | ||
176 | reg = <0x41600 0x200>; | ||
177 | msi-available-ranges = <0 0x100>; | ||
178 | interrupts = < | ||
179 | 0xe0 0 0 0 | ||
180 | 0xe1 0 0 0 | ||
181 | 0xe2 0 0 0 | ||
182 | 0xe3 0 0 0 | ||
183 | 0xe4 0 0 0 | ||
184 | 0xe5 0 0 0 | ||
185 | 0xe6 0 0 0 | ||
186 | 0xe7 0 0 0>; | ||
187 | }; | ||
188 | |||
189 | msi1: msi@41800 { | ||
190 | compatible = "fsl,mpic-msi"; | ||
191 | reg = <0x41800 0x200>; | ||
192 | msi-available-ranges = <0 0x100>; | ||
193 | interrupts = < | ||
194 | 0xe8 0 0 0 | ||
195 | 0xe9 0 0 0 | ||
196 | 0xea 0 0 0 | ||
197 | 0xeb 0 0 0 | ||
198 | 0xec 0 0 0 | ||
199 | 0xed 0 0 0 | ||
200 | 0xee 0 0 0 | ||
201 | 0xef 0 0 0>; | ||
202 | }; | ||
203 | |||
204 | msi2: msi@41a00 { | ||
205 | compatible = "fsl,mpic-msi"; | ||
206 | reg = <0x41a00 0x200>; | ||
207 | msi-available-ranges = <0 0x100>; | ||
208 | interrupts = < | ||
209 | 0xf0 0 0 0 | ||
210 | 0xf1 0 0 0 | ||
211 | 0xf2 0 0 0 | ||
212 | 0xf3 0 0 0 | ||
213 | 0xf4 0 0 0 | ||
214 | 0xf5 0 0 0 | ||
215 | 0xf6 0 0 0 | ||
216 | 0xf7 0 0 0>; | ||
217 | }; | ||
218 | |||
219 | guts: global-utilities@e0000 { | ||
220 | compatible = "fsl,qoriq-device-config-1.0"; | ||
221 | reg = <0xe0000 0xe00>; | ||
222 | fsl,has-rstcr; | ||
223 | #sleep-cells = <1>; | ||
224 | fsl,liodn-bits = <12>; | ||
225 | }; | ||
226 | |||
227 | pins: global-utilities@e0e00 { | ||
228 | compatible = "fsl,qoriq-pin-control-1.0"; | ||
229 | reg = <0xe0e00 0x200>; | ||
230 | #sleep-cells = <2>; | ||
231 | }; | ||
232 | |||
233 | clockgen: global-utilities@e1000 { | ||
234 | compatible = "fsl,p3041-clockgen", "fsl,qoriq-clockgen-1.0"; | ||
235 | reg = <0xe1000 0x1000>; | ||
236 | clock-frequency = <0>; | ||
237 | }; | ||
238 | |||
239 | rcpm: global-utilities@e2000 { | ||
240 | compatible = "fsl,qoriq-rcpm-1.0"; | ||
241 | reg = <0xe2000 0x1000>; | ||
242 | #sleep-cells = <1>; | ||
243 | }; | ||
244 | |||
245 | sfp: sfp@e8000 { | ||
246 | compatible = "fsl,p3041-sfp", "fsl,qoriq-sfp-1.0"; | ||
247 | reg = <0xe8000 0x1000>; | ||
248 | }; | ||
249 | |||
250 | serdes: serdes@ea000 { | ||
251 | compatible = "fsl,p3041-serdes"; | ||
252 | reg = <0xea000 0x1000>; | ||
253 | }; | ||
254 | |||
255 | dma0: dma@100300 { | ||
256 | #address-cells = <1>; | ||
257 | #size-cells = <1>; | ||
258 | compatible = "fsl,p3041-dma", "fsl,eloplus-dma"; | ||
259 | reg = <0x100300 0x4>; | ||
260 | ranges = <0x0 0x100100 0x200>; | ||
261 | cell-index = <0>; | ||
262 | dma-channel@0 { | ||
263 | compatible = "fsl,p3041-dma-channel", | ||
264 | "fsl,eloplus-dma-channel"; | ||
265 | reg = <0x0 0x80>; | ||
266 | cell-index = <0>; | ||
267 | interrupts = <28 2 0 0>; | ||
268 | }; | ||
269 | dma-channel@80 { | ||
270 | compatible = "fsl,p3041-dma-channel", | ||
271 | "fsl,eloplus-dma-channel"; | ||
272 | reg = <0x80 0x80>; | ||
273 | cell-index = <1>; | ||
274 | interrupts = <29 2 0 0>; | ||
275 | }; | ||
276 | dma-channel@100 { | ||
277 | compatible = "fsl,p3041-dma-channel", | ||
278 | "fsl,eloplus-dma-channel"; | ||
279 | reg = <0x100 0x80>; | ||
280 | cell-index = <2>; | ||
281 | interrupts = <30 2 0 0>; | ||
282 | }; | ||
283 | dma-channel@180 { | ||
284 | compatible = "fsl,p3041-dma-channel", | ||
285 | "fsl,eloplus-dma-channel"; | ||
286 | reg = <0x180 0x80>; | ||
287 | cell-index = <3>; | ||
288 | interrupts = <31 2 0 0>; | ||
289 | }; | ||
290 | }; | ||
291 | |||
292 | dma1: dma@101300 { | ||
293 | #address-cells = <1>; | ||
294 | #size-cells = <1>; | ||
295 | compatible = "fsl,p3041-dma", "fsl,eloplus-dma"; | ||
296 | reg = <0x101300 0x4>; | ||
297 | ranges = <0x0 0x101100 0x200>; | ||
298 | cell-index = <1>; | ||
299 | dma-channel@0 { | ||
300 | compatible = "fsl,p3041-dma-channel", | ||
301 | "fsl,eloplus-dma-channel"; | ||
302 | reg = <0x0 0x80>; | ||
303 | cell-index = <0>; | ||
304 | interrupts = <32 2 0 0>; | ||
305 | }; | ||
306 | dma-channel@80 { | ||
307 | compatible = "fsl,p3041-dma-channel", | ||
308 | "fsl,eloplus-dma-channel"; | ||
309 | reg = <0x80 0x80>; | ||
310 | cell-index = <1>; | ||
311 | interrupts = <33 2 0 0>; | ||
312 | }; | ||
313 | dma-channel@100 { | ||
314 | compatible = "fsl,p3041-dma-channel", | ||
315 | "fsl,eloplus-dma-channel"; | ||
316 | reg = <0x100 0x80>; | ||
317 | cell-index = <2>; | ||
318 | interrupts = <34 2 0 0>; | ||
319 | }; | ||
320 | dma-channel@180 { | ||
321 | compatible = "fsl,p3041-dma-channel", | ||
322 | "fsl,eloplus-dma-channel"; | ||
323 | reg = <0x180 0x80>; | ||
324 | cell-index = <3>; | ||
325 | interrupts = <35 2 0 0>; | ||
326 | }; | ||
327 | }; | ||
328 | |||
329 | spi@110000 { | ||
330 | #address-cells = <1>; | ||
331 | #size-cells = <0>; | ||
332 | compatible = "fsl,p3041-espi", "fsl,mpc8536-espi"; | ||
333 | reg = <0x110000 0x1000>; | ||
334 | interrupts = <53 0x2 0 0>; | ||
335 | fsl,espi-num-chipselects = <4>; | ||
336 | }; | ||
337 | |||
338 | sdhc: sdhc@114000 { | ||
339 | compatible = "fsl,p3041-esdhc", "fsl,esdhc"; | ||
340 | reg = <0x114000 0x1000>; | ||
341 | interrupts = <48 2 0 0>; | ||
342 | sdhci,auto-cmd12; | ||
343 | clock-frequency = <0>; | ||
344 | }; | ||
345 | |||
346 | i2c@118000 { | ||
347 | #address-cells = <1>; | ||
348 | #size-cells = <0>; | ||
349 | cell-index = <0>; | ||
350 | compatible = "fsl-i2c"; | ||
351 | reg = <0x118000 0x100>; | ||
352 | interrupts = <38 2 0 0>; | ||
353 | dfsrr; | ||
354 | }; | ||
355 | |||
356 | i2c@118100 { | ||
357 | #address-cells = <1>; | ||
358 | #size-cells = <0>; | ||
359 | cell-index = <1>; | ||
360 | compatible = "fsl-i2c"; | ||
361 | reg = <0x118100 0x100>; | ||
362 | interrupts = <38 2 0 0>; | ||
363 | dfsrr; | ||
364 | }; | ||
365 | |||
366 | i2c@119000 { | ||
367 | #address-cells = <1>; | ||
368 | #size-cells = <0>; | ||
369 | cell-index = <2>; | ||
370 | compatible = "fsl-i2c"; | ||
371 | reg = <0x119000 0x100>; | ||
372 | interrupts = <39 2 0 0>; | ||
373 | dfsrr; | ||
374 | }; | ||
375 | |||
376 | i2c@119100 { | ||
377 | #address-cells = <1>; | ||
378 | #size-cells = <0>; | ||
379 | cell-index = <3>; | ||
380 | compatible = "fsl-i2c"; | ||
381 | reg = <0x119100 0x100>; | ||
382 | interrupts = <39 2 0 0>; | ||
383 | dfsrr; | ||
384 | }; | ||
385 | |||
386 | serial0: serial@11c500 { | ||
387 | cell-index = <0>; | ||
388 | device_type = "serial"; | ||
389 | compatible = "ns16550"; | ||
390 | reg = <0x11c500 0x100>; | ||
391 | clock-frequency = <0>; | ||
392 | interrupts = <36 2 0 0>; | ||
393 | }; | ||
394 | |||
395 | serial1: serial@11c600 { | ||
396 | cell-index = <1>; | ||
397 | device_type = "serial"; | ||
398 | compatible = "ns16550"; | ||
399 | reg = <0x11c600 0x100>; | ||
400 | clock-frequency = <0>; | ||
401 | interrupts = <36 2 0 0>; | ||
402 | }; | ||
403 | |||
404 | serial2: serial@11d500 { | ||
405 | cell-index = <2>; | ||
406 | device_type = "serial"; | ||
407 | compatible = "ns16550"; | ||
408 | reg = <0x11d500 0x100>; | ||
409 | clock-frequency = <0>; | ||
410 | interrupts = <37 2 0 0>; | ||
411 | }; | ||
412 | |||
413 | serial3: serial@11d600 { | ||
414 | cell-index = <3>; | ||
415 | device_type = "serial"; | ||
416 | compatible = "ns16550"; | ||
417 | reg = <0x11d600 0x100>; | ||
418 | clock-frequency = <0>; | ||
419 | interrupts = <37 2 0 0>; | ||
420 | }; | ||
421 | |||
422 | gpio0: gpio@130000 { | ||
423 | compatible = "fsl,p3041-gpio", "fsl,qoriq-gpio"; | ||
424 | reg = <0x130000 0x1000>; | ||
425 | interrupts = <55 2 0 0>; | ||
426 | #gpio-cells = <2>; | ||
427 | gpio-controller; | ||
428 | }; | ||
429 | |||
430 | usb0: usb@210000 { | ||
431 | compatible = "fsl,p3041-usb2-mph", | ||
432 | "fsl,mpc85xx-usb2-mph", "fsl-usb2-mph"; | ||
433 | reg = <0x210000 0x1000>; | ||
434 | #address-cells = <1>; | ||
435 | #size-cells = <0>; | ||
436 | interrupts = <44 0x2 0 0>; | ||
437 | phy_type = "utmi"; | ||
438 | port0; | ||
439 | }; | ||
440 | |||
441 | usb1: usb@211000 { | ||
442 | compatible = "fsl,p3041-usb2-dr", | ||
443 | "fsl,mpc85xx-usb2-dr", "fsl-usb2-dr"; | ||
444 | reg = <0x211000 0x1000>; | ||
445 | #address-cells = <1>; | ||
446 | #size-cells = <0>; | ||
447 | interrupts = <45 0x2 0 0>; | ||
448 | dr_mode = "host"; | ||
449 | phy_type = "utmi"; | ||
450 | }; | ||
451 | |||
452 | sata@220000 { | ||
453 | compatible = "fsl,p3041-sata", "fsl,pq-sata-v2"; | ||
454 | reg = <0x220000 0x1000>; | ||
455 | interrupts = <68 0x2 0 0>; | ||
456 | }; | ||
457 | |||
458 | sata@221000 { | ||
459 | compatible = "fsl,p3041-sata", "fsl,pq-sata-v2"; | ||
460 | reg = <0x221000 0x1000>; | ||
461 | interrupts = <69 0x2 0 0>; | ||
462 | }; | ||
463 | |||
464 | crypto: crypto@300000 { | ||
465 | compatible = "fsl,sec-v4.2", "fsl,sec-v4.0"; | ||
466 | #address-cells = <1>; | ||
467 | #size-cells = <1>; | ||
468 | reg = <0x300000 0x10000>; | ||
469 | ranges = <0 0x300000 0x10000>; | ||
470 | interrupts = <92 2 0 0>; | ||
471 | |||
472 | sec_jr0: jr@1000 { | ||
473 | compatible = "fsl,sec-v4.2-job-ring", | ||
474 | "fsl,sec-v4.0-job-ring"; | ||
475 | reg = <0x1000 0x1000>; | ||
476 | interrupts = <88 2 0 0>; | ||
477 | }; | ||
478 | |||
479 | sec_jr1: jr@2000 { | ||
480 | compatible = "fsl,sec-v4.2-job-ring", | ||
481 | "fsl,sec-v4.0-job-ring"; | ||
482 | reg = <0x2000 0x1000>; | ||
483 | interrupts = <89 2 0 0>; | ||
484 | }; | ||
485 | |||
486 | sec_jr2: jr@3000 { | ||
487 | compatible = "fsl,sec-v4.2-job-ring", | ||
488 | "fsl,sec-v4.0-job-ring"; | ||
489 | reg = <0x3000 0x1000>; | ||
490 | interrupts = <90 2 0 0>; | ||
491 | }; | ||
492 | |||
493 | sec_jr3: jr@4000 { | ||
494 | compatible = "fsl,sec-v4.2-job-ring", | ||
495 | "fsl,sec-v4.0-job-ring"; | ||
496 | reg = <0x4000 0x1000>; | ||
497 | interrupts = <91 2 0 0>; | ||
498 | }; | ||
499 | |||
500 | rtic@6000 { | ||
501 | compatible = "fsl,sec-v4.2-rtic", | ||
502 | "fsl,sec-v4.0-rtic"; | ||
503 | #address-cells = <1>; | ||
504 | #size-cells = <1>; | ||
505 | reg = <0x6000 0x100>; | ||
506 | ranges = <0x0 0x6100 0xe00>; | ||
507 | |||
508 | rtic_a: rtic-a@0 { | ||
509 | compatible = "fsl,sec-v4.2-rtic-memory", | ||
510 | "fsl,sec-v4.0-rtic-memory"; | ||
511 | reg = <0x00 0x20 0x100 0x80>; | ||
512 | }; | ||
513 | |||
514 | rtic_b: rtic-b@20 { | ||
515 | compatible = "fsl,sec-v4.2-rtic-memory", | ||
516 | "fsl,sec-v4.0-rtic-memory"; | ||
517 | reg = <0x20 0x20 0x200 0x80>; | ||
518 | }; | ||
519 | |||
520 | rtic_c: rtic-c@40 { | ||
521 | compatible = "fsl,sec-v4.2-rtic-memory", | ||
522 | "fsl,sec-v4.0-rtic-memory"; | ||
523 | reg = <0x40 0x20 0x300 0x80>; | ||
524 | }; | ||
525 | |||
526 | rtic_d: rtic-d@60 { | ||
527 | compatible = "fsl,sec-v4.2-rtic-memory", | ||
528 | "fsl,sec-v4.0-rtic-memory"; | ||
529 | reg = <0x60 0x20 0x500 0x80>; | ||
530 | }; | ||
531 | }; | ||
532 | }; | ||
533 | |||
534 | sec_mon: sec_mon@314000 { | ||
535 | compatible = "fsl,sec-v4.2-mon", "fsl,sec-v4.0-mon"; | ||
536 | reg = <0x314000 0x1000>; | ||
537 | interrupts = <93 2 0 0>; | ||
538 | }; | ||
539 | }; | ||
540 | |||
541 | /* | ||
542 | rapidio0: rapidio@ffe0c0000 | ||
543 | */ | ||
544 | |||
545 | localbus@ffe124000 { | ||
546 | compatible = "fsl,p3041-elbc", "fsl,elbc", "simple-bus"; | ||
547 | interrupts = <25 2 0 0>; | ||
548 | #address-cells = <2>; | ||
549 | #size-cells = <1>; | ||
550 | }; | ||
551 | |||
552 | pci0: pcie@ffe200000 { | ||
553 | compatible = "fsl,p3041-pcie", "fsl,qoriq-pcie-v2.2"; | ||
554 | device_type = "pci"; | ||
555 | #size-cells = <2>; | ||
556 | #address-cells = <3>; | ||
557 | bus-range = <0x0 0xff>; | ||
558 | clock-frequency = <0x1fca055>; | ||
559 | fsl,msi = <&msi0>; | ||
560 | interrupts = <16 2 1 15>; | ||
561 | |||
562 | pcie@0 { | ||
563 | reg = <0 0 0 0 0>; | ||
564 | #interrupt-cells = <1>; | ||
565 | #size-cells = <2>; | ||
566 | #address-cells = <3>; | ||
567 | device_type = "pci"; | ||
568 | interrupts = <16 2 1 15>; | ||
569 | interrupt-map-mask = <0xf800 0 0 7>; | ||
570 | interrupt-map = < | ||
571 | /* IDSEL 0x0 */ | ||
572 | 0000 0 0 1 &mpic 40 1 0 0 | ||
573 | 0000 0 0 2 &mpic 1 1 0 0 | ||
574 | 0000 0 0 3 &mpic 2 1 0 0 | ||
575 | 0000 0 0 4 &mpic 3 1 0 0 | ||
576 | >; | ||
577 | }; | ||
578 | }; | ||
579 | |||
580 | pci1: pcie@ffe201000 { | ||
581 | compatible = "fsl,p3041-pcie", "fsl,qoriq-pcie-v2.2"; | ||
582 | device_type = "pci"; | ||
583 | #size-cells = <2>; | ||
584 | #address-cells = <3>; | ||
585 | bus-range = <0 0xff>; | ||
586 | clock-frequency = <0x1fca055>; | ||
587 | fsl,msi = <&msi1>; | ||
588 | interrupts = <16 2 1 14>; | ||
589 | pcie@0 { | ||
590 | reg = <0 0 0 0 0>; | ||
591 | #interrupt-cells = <1>; | ||
592 | #size-cells = <2>; | ||
593 | #address-cells = <3>; | ||
594 | device_type = "pci"; | ||
595 | interrupts = <16 2 1 14>; | ||
596 | interrupt-map-mask = <0xf800 0 0 7>; | ||
597 | interrupt-map = < | ||
598 | /* IDSEL 0x0 */ | ||
599 | 0000 0 0 1 &mpic 41 1 0 0 | ||
600 | 0000 0 0 2 &mpic 5 1 0 0 | ||
601 | 0000 0 0 3 &mpic 6 1 0 0 | ||
602 | 0000 0 0 4 &mpic 7 1 0 0 | ||
603 | >; | ||
604 | }; | ||
605 | }; | ||
606 | |||
607 | pci2: pcie@ffe202000 { | ||
608 | compatible = "fsl,p3041-pcie", "fsl,qoriq-pcie-v2.2"; | ||
609 | device_type = "pci"; | ||
610 | #size-cells = <2>; | ||
611 | #address-cells = <3>; | ||
612 | bus-range = <0x0 0xff>; | ||
613 | clock-frequency = <0x1fca055>; | ||
614 | fsl,msi = <&msi2>; | ||
615 | interrupts = <16 2 1 13>; | ||
616 | pcie@0 { | ||
617 | reg = <0 0 0 0 0>; | ||
618 | #interrupt-cells = <1>; | ||
619 | #size-cells = <2>; | ||
620 | #address-cells = <3>; | ||
621 | device_type = "pci"; | ||
622 | interrupts = <16 2 1 13>; | ||
623 | interrupt-map-mask = <0xf800 0 0 7>; | ||
624 | interrupt-map = < | ||
625 | /* IDSEL 0x0 */ | ||
626 | 0000 0 0 1 &mpic 42 1 0 0 | ||
627 | 0000 0 0 2 &mpic 9 1 0 0 | ||
628 | 0000 0 0 3 &mpic 10 1 0 0 | ||
629 | 0000 0 0 4 &mpic 11 1 0 0 | ||
630 | >; | ||
631 | }; | ||
632 | }; | ||
633 | |||
634 | pci3: pcie@ffe203000 { | ||
635 | compatible = "fsl,p3041-pcie", "fsl,qoriq-pcie-v2.2"; | ||
636 | device_type = "pci"; | ||
637 | #size-cells = <2>; | ||
638 | #address-cells = <3>; | ||
639 | bus-range = <0x0 0xff>; | ||
640 | clock-frequency = <0x1fca055>; | ||
641 | fsl,msi = <&msi2>; | ||
642 | interrupts = <16 2 1 12>; | ||
643 | pcie@0 { | ||
644 | reg = <0 0 0 0 0>; | ||
645 | #interrupt-cells = <1>; | ||
646 | #size-cells = <2>; | ||
647 | #address-cells = <3>; | ||
648 | device_type = "pci"; | ||
649 | interrupts = <16 2 1 12>; | ||
650 | interrupt-map-mask = <0xf800 0 0 7>; | ||
651 | interrupt-map = < | ||
652 | /* IDSEL 0x0 */ | ||
653 | 0000 0 0 1 &mpic 43 1 0 0 | ||
654 | 0000 0 0 2 &mpic 0 1 0 0 | ||
655 | 0000 0 0 3 &mpic 4 1 0 0 | ||
656 | 0000 0 0 4 &mpic 8 1 0 0 | ||
657 | >; | ||
658 | }; | ||
659 | }; | ||
660 | }; | ||
diff --git a/arch/powerpc/boot/dts/p4080si.dtsi b/arch/powerpc/boot/dts/p4080si.dtsi new file mode 100644 index 00000000000..b71051f506c --- /dev/null +++ b/arch/powerpc/boot/dts/p4080si.dtsi | |||
@@ -0,0 +1,661 @@ | |||
1 | /* | ||
2 | * P4080 Silicon Device Tree Source | ||
3 | * | ||
4 | * Copyright 2009-2011 Freescale Semiconductor Inc. | ||
5 | * | ||
6 | * Redistribution and use in source and binary forms, with or without | ||
7 | * modification, are permitted provided that the following conditions are met: | ||
8 | * * Redistributions of source code must retain the above copyright | ||
9 | * notice, this list of conditions and the following disclaimer. | ||
10 | * * Redistributions in binary form must reproduce the above copyright | ||
11 | * notice, this list of conditions and the following disclaimer in the | ||
12 | * documentation and/or other materials provided with the distribution. | ||
13 | * * Neither the name of Freescale Semiconductor nor the | ||
14 | * names of its contributors may be used to endorse or promote products | ||
15 | * derived from this software without specific prior written permission. | ||
16 | * | ||
17 | * | ||
18 | * ALTERNATIVELY, this software may be distributed under the terms of the | ||
19 | * GNU General Public License ("GPL") as published by the Free Software | ||
20 | * Foundation, either version 2 of that License or (at your option) any | ||
21 | * later version. | ||
22 | * | ||
23 | * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY | ||
24 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
25 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
26 | * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY | ||
27 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
28 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
29 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
30 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
31 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
32 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
33 | */ | ||
34 | |||
35 | /dts-v1/; | ||
36 | |||
37 | / { | ||
38 | compatible = "fsl,P4080"; | ||
39 | #address-cells = <2>; | ||
40 | #size-cells = <2>; | ||
41 | interrupt-parent = <&mpic>; | ||
42 | |||
43 | aliases { | ||
44 | ccsr = &soc; | ||
45 | |||
46 | serial0 = &serial0; | ||
47 | serial1 = &serial1; | ||
48 | serial2 = &serial2; | ||
49 | serial3 = &serial3; | ||
50 | pci0 = &pci0; | ||
51 | pci1 = &pci1; | ||
52 | pci2 = &pci2; | ||
53 | usb0 = &usb0; | ||
54 | usb1 = &usb1; | ||
55 | dma0 = &dma0; | ||
56 | dma1 = &dma1; | ||
57 | sdhc = &sdhc; | ||
58 | msi0 = &msi0; | ||
59 | msi1 = &msi1; | ||
60 | msi2 = &msi2; | ||
61 | |||
62 | crypto = &crypto; | ||
63 | sec_jr0 = &sec_jr0; | ||
64 | sec_jr1 = &sec_jr1; | ||
65 | sec_jr2 = &sec_jr2; | ||
66 | sec_jr3 = &sec_jr3; | ||
67 | rtic_a = &rtic_a; | ||
68 | rtic_b = &rtic_b; | ||
69 | rtic_c = &rtic_c; | ||
70 | rtic_d = &rtic_d; | ||
71 | sec_mon = &sec_mon; | ||
72 | |||
73 | rio0 = &rapidio0; | ||
74 | }; | ||
75 | |||
76 | cpus { | ||
77 | #address-cells = <1>; | ||
78 | #size-cells = <0>; | ||
79 | |||
80 | cpu0: PowerPC,4080@0 { | ||
81 | device_type = "cpu"; | ||
82 | reg = <0>; | ||
83 | next-level-cache = <&L2_0>; | ||
84 | L2_0: l2-cache { | ||
85 | next-level-cache = <&cpc>; | ||
86 | }; | ||
87 | }; | ||
88 | cpu1: PowerPC,4080@1 { | ||
89 | device_type = "cpu"; | ||
90 | reg = <1>; | ||
91 | next-level-cache = <&L2_1>; | ||
92 | L2_1: l2-cache { | ||
93 | next-level-cache = <&cpc>; | ||
94 | }; | ||
95 | }; | ||
96 | cpu2: PowerPC,4080@2 { | ||
97 | device_type = "cpu"; | ||
98 | reg = <2>; | ||
99 | next-level-cache = <&L2_2>; | ||
100 | L2_2: l2-cache { | ||
101 | next-level-cache = <&cpc>; | ||
102 | }; | ||
103 | }; | ||
104 | cpu3: PowerPC,4080@3 { | ||
105 | device_type = "cpu"; | ||
106 | reg = <3>; | ||
107 | next-level-cache = <&L2_3>; | ||
108 | L2_3: l2-cache { | ||
109 | next-level-cache = <&cpc>; | ||
110 | }; | ||
111 | }; | ||
112 | cpu4: PowerPC,4080@4 { | ||
113 | device_type = "cpu"; | ||
114 | reg = <4>; | ||
115 | next-level-cache = <&L2_4>; | ||
116 | L2_4: l2-cache { | ||
117 | next-level-cache = <&cpc>; | ||
118 | }; | ||
119 | }; | ||
120 | cpu5: PowerPC,4080@5 { | ||
121 | device_type = "cpu"; | ||
122 | reg = <5>; | ||
123 | next-level-cache = <&L2_5>; | ||
124 | L2_5: l2-cache { | ||
125 | next-level-cache = <&cpc>; | ||
126 | }; | ||
127 | }; | ||
128 | cpu6: PowerPC,4080@6 { | ||
129 | device_type = "cpu"; | ||
130 | reg = <6>; | ||
131 | next-level-cache = <&L2_6>; | ||
132 | L2_6: l2-cache { | ||
133 | next-level-cache = <&cpc>; | ||
134 | }; | ||
135 | }; | ||
136 | cpu7: PowerPC,4080@7 { | ||
137 | device_type = "cpu"; | ||
138 | reg = <7>; | ||
139 | next-level-cache = <&L2_7>; | ||
140 | L2_7: l2-cache { | ||
141 | next-level-cache = <&cpc>; | ||
142 | }; | ||
143 | }; | ||
144 | }; | ||
145 | |||
146 | soc: soc@ffe000000 { | ||
147 | #address-cells = <1>; | ||
148 | #size-cells = <1>; | ||
149 | device_type = "soc"; | ||
150 | compatible = "simple-bus"; | ||
151 | ranges = <0x00000000 0xf 0xfe000000 0x1000000>; | ||
152 | reg = <0xf 0xfe000000 0 0x00001000>; | ||
153 | |||
154 | soc-sram-error { | ||
155 | compatible = "fsl,soc-sram-error"; | ||
156 | interrupts = <16 2 1 29>; | ||
157 | }; | ||
158 | |||
159 | corenet-law@0 { | ||
160 | compatible = "fsl,corenet-law"; | ||
161 | reg = <0x0 0x1000>; | ||
162 | fsl,num-laws = <32>; | ||
163 | }; | ||
164 | |||
165 | memory-controller@8000 { | ||
166 | compatible = "fsl,qoriq-memory-controller-v4.4", "fsl,qoriq-memory-controller"; | ||
167 | reg = <0x8000 0x1000>; | ||
168 | interrupts = <16 2 1 23>; | ||
169 | }; | ||
170 | |||
171 | memory-controller@9000 { | ||
172 | compatible = "fsl,qoriq-memory-controller-v4.4","fsl,qoriq-memory-controller"; | ||
173 | reg = <0x9000 0x1000>; | ||
174 | interrupts = <16 2 1 22>; | ||
175 | }; | ||
176 | |||
177 | cpc: l3-cache-controller@10000 { | ||
178 | compatible = "fsl,p4080-l3-cache-controller", "cache"; | ||
179 | reg = <0x10000 0x1000 | ||
180 | 0x11000 0x1000>; | ||
181 | interrupts = <16 2 1 27 | ||
182 | 16 2 1 26>; | ||
183 | }; | ||
184 | |||
185 | corenet-cf@18000 { | ||
186 | compatible = "fsl,corenet-cf"; | ||
187 | reg = <0x18000 0x1000>; | ||
188 | interrupts = <16 2 1 31>; | ||
189 | fsl,ccf-num-csdids = <32>; | ||
190 | fsl,ccf-num-snoopids = <32>; | ||
191 | }; | ||
192 | |||
193 | iommu@20000 { | ||
194 | compatible = "fsl,pamu-v1.0", "fsl,pamu"; | ||
195 | reg = <0x20000 0x5000>; | ||
196 | interrupts = < | ||
197 | 24 2 0 0 | ||
198 | 16 2 1 30>; | ||
199 | }; | ||
200 | |||
201 | mpic: pic@40000 { | ||
202 | clock-frequency = <0>; | ||
203 | interrupt-controller; | ||
204 | #address-cells = <0>; | ||
205 | #interrupt-cells = <4>; | ||
206 | reg = <0x40000 0x40000>; | ||
207 | compatible = "fsl,mpic", "chrp,open-pic"; | ||
208 | device_type = "open-pic"; | ||
209 | }; | ||
210 | |||
211 | msi0: msi@41600 { | ||
212 | compatible = "fsl,mpic-msi"; | ||
213 | reg = <0x41600 0x200>; | ||
214 | msi-available-ranges = <0 0x100>; | ||
215 | interrupts = < | ||
216 | 0xe0 0 0 0 | ||
217 | 0xe1 0 0 0 | ||
218 | 0xe2 0 0 0 | ||
219 | 0xe3 0 0 0 | ||
220 | 0xe4 0 0 0 | ||
221 | 0xe5 0 0 0 | ||
222 | 0xe6 0 0 0 | ||
223 | 0xe7 0 0 0>; | ||
224 | }; | ||
225 | |||
226 | msi1: msi@41800 { | ||
227 | compatible = "fsl,mpic-msi"; | ||
228 | reg = <0x41800 0x200>; | ||
229 | msi-available-ranges = <0 0x100>; | ||
230 | interrupts = < | ||
231 | 0xe8 0 0 0 | ||
232 | 0xe9 0 0 0 | ||
233 | 0xea 0 0 0 | ||
234 | 0xeb 0 0 0 | ||
235 | 0xec 0 0 0 | ||
236 | 0xed 0 0 0 | ||
237 | 0xee 0 0 0 | ||
238 | 0xef 0 0 0>; | ||
239 | }; | ||
240 | |||
241 | msi2: msi@41a00 { | ||
242 | compatible = "fsl,mpic-msi"; | ||
243 | reg = <0x41a00 0x200>; | ||
244 | msi-available-ranges = <0 0x100>; | ||
245 | interrupts = < | ||
246 | 0xf0 0 0 0 | ||
247 | 0xf1 0 0 0 | ||
248 | 0xf2 0 0 0 | ||
249 | 0xf3 0 0 0 | ||
250 | 0xf4 0 0 0 | ||
251 | 0xf5 0 0 0 | ||
252 | 0xf6 0 0 0 | ||
253 | 0xf7 0 0 0>; | ||
254 | }; | ||
255 | |||
256 | guts: global-utilities@e0000 { | ||
257 | compatible = "fsl,qoriq-device-config-1.0"; | ||
258 | reg = <0xe0000 0xe00>; | ||
259 | fsl,has-rstcr; | ||
260 | #sleep-cells = <1>; | ||
261 | fsl,liodn-bits = <12>; | ||
262 | }; | ||
263 | |||
264 | pins: global-utilities@e0e00 { | ||
265 | compatible = "fsl,qoriq-pin-control-1.0"; | ||
266 | reg = <0xe0e00 0x200>; | ||
267 | #sleep-cells = <2>; | ||
268 | }; | ||
269 | |||
270 | clockgen: global-utilities@e1000 { | ||
271 | compatible = "fsl,p4080-clockgen", "fsl,qoriq-clockgen-1.0"; | ||
272 | reg = <0xe1000 0x1000>; | ||
273 | clock-frequency = <0>; | ||
274 | }; | ||
275 | |||
276 | rcpm: global-utilities@e2000 { | ||
277 | compatible = "fsl,qoriq-rcpm-1.0"; | ||
278 | reg = <0xe2000 0x1000>; | ||
279 | #sleep-cells = <1>; | ||
280 | }; | ||
281 | |||
282 | sfp: sfp@e8000 { | ||
283 | compatible = "fsl,p4080-sfp", "fsl,qoriq-sfp-1.0"; | ||
284 | reg = <0xe8000 0x1000>; | ||
285 | }; | ||
286 | |||
287 | serdes: serdes@ea000 { | ||
288 | compatible = "fsl,p4080-serdes"; | ||
289 | reg = <0xea000 0x1000>; | ||
290 | }; | ||
291 | |||
292 | dma0: dma@100300 { | ||
293 | #address-cells = <1>; | ||
294 | #size-cells = <1>; | ||
295 | compatible = "fsl,p4080-dma", "fsl,eloplus-dma"; | ||
296 | reg = <0x100300 0x4>; | ||
297 | ranges = <0x0 0x100100 0x200>; | ||
298 | cell-index = <0>; | ||
299 | dma-channel@0 { | ||
300 | compatible = "fsl,p4080-dma-channel", | ||
301 | "fsl,eloplus-dma-channel"; | ||
302 | reg = <0x0 0x80>; | ||
303 | cell-index = <0>; | ||
304 | interrupts = <28 2 0 0>; | ||
305 | }; | ||
306 | dma-channel@80 { | ||
307 | compatible = "fsl,p4080-dma-channel", | ||
308 | "fsl,eloplus-dma-channel"; | ||
309 | reg = <0x80 0x80>; | ||
310 | cell-index = <1>; | ||
311 | interrupts = <29 2 0 0>; | ||
312 | }; | ||
313 | dma-channel@100 { | ||
314 | compatible = "fsl,p4080-dma-channel", | ||
315 | "fsl,eloplus-dma-channel"; | ||
316 | reg = <0x100 0x80>; | ||
317 | cell-index = <2>; | ||
318 | interrupts = <30 2 0 0>; | ||
319 | }; | ||
320 | dma-channel@180 { | ||
321 | compatible = "fsl,p4080-dma-channel", | ||
322 | "fsl,eloplus-dma-channel"; | ||
323 | reg = <0x180 0x80>; | ||
324 | cell-index = <3>; | ||
325 | interrupts = <31 2 0 0>; | ||
326 | }; | ||
327 | }; | ||
328 | |||
329 | dma1: dma@101300 { | ||
330 | #address-cells = <1>; | ||
331 | #size-cells = <1>; | ||
332 | compatible = "fsl,p4080-dma", "fsl,eloplus-dma"; | ||
333 | reg = <0x101300 0x4>; | ||
334 | ranges = <0x0 0x101100 0x200>; | ||
335 | cell-index = <1>; | ||
336 | dma-channel@0 { | ||
337 | compatible = "fsl,p4080-dma-channel", | ||
338 | "fsl,eloplus-dma-channel"; | ||
339 | reg = <0x0 0x80>; | ||
340 | cell-index = <0>; | ||
341 | interrupts = <32 2 0 0>; | ||
342 | }; | ||
343 | dma-channel@80 { | ||
344 | compatible = "fsl,p4080-dma-channel", | ||
345 | "fsl,eloplus-dma-channel"; | ||
346 | reg = <0x80 0x80>; | ||
347 | cell-index = <1>; | ||
348 | interrupts = <33 2 0 0>; | ||
349 | }; | ||
350 | dma-channel@100 { | ||
351 | compatible = "fsl,p4080-dma-channel", | ||
352 | "fsl,eloplus-dma-channel"; | ||
353 | reg = <0x100 0x80>; | ||
354 | cell-index = <2>; | ||
355 | interrupts = <34 2 0 0>; | ||
356 | }; | ||
357 | dma-channel@180 { | ||
358 | compatible = "fsl,p4080-dma-channel", | ||
359 | "fsl,eloplus-dma-channel"; | ||
360 | reg = <0x180 0x80>; | ||
361 | cell-index = <3>; | ||
362 | interrupts = <35 2 0 0>; | ||
363 | }; | ||
364 | }; | ||
365 | |||
366 | spi@110000 { | ||
367 | #address-cells = <1>; | ||
368 | #size-cells = <0>; | ||
369 | compatible = "fsl,p4080-espi", "fsl,mpc8536-espi"; | ||
370 | reg = <0x110000 0x1000>; | ||
371 | interrupts = <53 0x2 0 0>; | ||
372 | fsl,espi-num-chipselects = <4>; | ||
373 | }; | ||
374 | |||
375 | sdhc: sdhc@114000 { | ||
376 | compatible = "fsl,p4080-esdhc", "fsl,esdhc"; | ||
377 | reg = <0x114000 0x1000>; | ||
378 | interrupts = <48 2 0 0>; | ||
379 | voltage-ranges = <3300 3300>; | ||
380 | sdhci,auto-cmd12; | ||
381 | clock-frequency = <0>; | ||
382 | }; | ||
383 | |||
384 | i2c@118000 { | ||
385 | #address-cells = <1>; | ||
386 | #size-cells = <0>; | ||
387 | cell-index = <0>; | ||
388 | compatible = "fsl-i2c"; | ||
389 | reg = <0x118000 0x100>; | ||
390 | interrupts = <38 2 0 0>; | ||
391 | dfsrr; | ||
392 | }; | ||
393 | |||
394 | i2c@118100 { | ||
395 | #address-cells = <1>; | ||
396 | #size-cells = <0>; | ||
397 | cell-index = <1>; | ||
398 | compatible = "fsl-i2c"; | ||
399 | reg = <0x118100 0x100>; | ||
400 | interrupts = <38 2 0 0>; | ||
401 | dfsrr; | ||
402 | }; | ||
403 | |||
404 | i2c@119000 { | ||
405 | #address-cells = <1>; | ||
406 | #size-cells = <0>; | ||
407 | cell-index = <2>; | ||
408 | compatible = "fsl-i2c"; | ||
409 | reg = <0x119000 0x100>; | ||
410 | interrupts = <39 2 0 0>; | ||
411 | dfsrr; | ||
412 | }; | ||
413 | |||
414 | i2c@119100 { | ||
415 | #address-cells = <1>; | ||
416 | #size-cells = <0>; | ||
417 | cell-index = <3>; | ||
418 | compatible = "fsl-i2c"; | ||
419 | reg = <0x119100 0x100>; | ||
420 | interrupts = <39 2 0 0>; | ||
421 | dfsrr; | ||
422 | }; | ||
423 | |||
424 | serial0: serial@11c500 { | ||
425 | cell-index = <0>; | ||
426 | device_type = "serial"; | ||
427 | compatible = "ns16550"; | ||
428 | reg = <0x11c500 0x100>; | ||
429 | clock-frequency = <0>; | ||
430 | interrupts = <36 2 0 0>; | ||
431 | }; | ||
432 | |||
433 | serial1: serial@11c600 { | ||
434 | cell-index = <1>; | ||
435 | device_type = "serial"; | ||
436 | compatible = "ns16550"; | ||
437 | reg = <0x11c600 0x100>; | ||
438 | clock-frequency = <0>; | ||
439 | interrupts = <36 2 0 0>; | ||
440 | }; | ||
441 | |||
442 | serial2: serial@11d500 { | ||
443 | cell-index = <2>; | ||
444 | device_type = "serial"; | ||
445 | compatible = "ns16550"; | ||
446 | reg = <0x11d500 0x100>; | ||
447 | clock-frequency = <0>; | ||
448 | interrupts = <37 2 0 0>; | ||
449 | }; | ||
450 | |||
451 | serial3: serial@11d600 { | ||
452 | cell-index = <3>; | ||
453 | device_type = "serial"; | ||
454 | compatible = "ns16550"; | ||
455 | reg = <0x11d600 0x100>; | ||
456 | clock-frequency = <0>; | ||
457 | interrupts = <37 2 0 0>; | ||
458 | }; | ||
459 | |||
460 | gpio0: gpio@130000 { | ||
461 | compatible = "fsl,p4080-gpio", "fsl,qoriq-gpio"; | ||
462 | reg = <0x130000 0x1000>; | ||
463 | interrupts = <55 2 0 0>; | ||
464 | #gpio-cells = <2>; | ||
465 | gpio-controller; | ||
466 | }; | ||
467 | |||
468 | usb0: usb@210000 { | ||
469 | compatible = "fsl,p4080-usb2-mph", | ||
470 | "fsl,mpc85xx-usb2-mph", "fsl-usb2-mph"; | ||
471 | reg = <0x210000 0x1000>; | ||
472 | #address-cells = <1>; | ||
473 | #size-cells = <0>; | ||
474 | interrupts = <44 0x2 0 0>; | ||
475 | }; | ||
476 | |||
477 | usb1: usb@211000 { | ||
478 | compatible = "fsl,p4080-usb2-dr", | ||
479 | "fsl,mpc85xx-usb2-dr", "fsl-usb2-dr"; | ||
480 | reg = <0x211000 0x1000>; | ||
481 | #address-cells = <1>; | ||
482 | #size-cells = <0>; | ||
483 | interrupts = <45 0x2 0 0>; | ||
484 | }; | ||
485 | |||
486 | crypto: crypto@300000 { | ||
487 | compatible = "fsl,sec-v4.0"; | ||
488 | #address-cells = <1>; | ||
489 | #size-cells = <1>; | ||
490 | reg = <0x300000 0x10000>; | ||
491 | ranges = <0 0x300000 0x10000>; | ||
492 | interrupt-parent = <&mpic>; | ||
493 | interrupts = <92 2 0 0>; | ||
494 | |||
495 | sec_jr0: jr@1000 { | ||
496 | compatible = "fsl,sec-v4.0-job-ring"; | ||
497 | reg = <0x1000 0x1000>; | ||
498 | interrupt-parent = <&mpic>; | ||
499 | interrupts = <88 2 0 0>; | ||
500 | }; | ||
501 | |||
502 | sec_jr1: jr@2000 { | ||
503 | compatible = "fsl,sec-v4.0-job-ring"; | ||
504 | reg = <0x2000 0x1000>; | ||
505 | interrupt-parent = <&mpic>; | ||
506 | interrupts = <89 2 0 0>; | ||
507 | }; | ||
508 | |||
509 | sec_jr2: jr@3000 { | ||
510 | compatible = "fsl,sec-v4.0-job-ring"; | ||
511 | reg = <0x3000 0x1000>; | ||
512 | interrupt-parent = <&mpic>; | ||
513 | interrupts = <90 2 0 0>; | ||
514 | }; | ||
515 | |||
516 | sec_jr3: jr@4000 { | ||
517 | compatible = "fsl,sec-v4.0-job-ring"; | ||
518 | reg = <0x4000 0x1000>; | ||
519 | interrupt-parent = <&mpic>; | ||
520 | interrupts = <91 2 0 0>; | ||
521 | }; | ||
522 | |||
523 | rtic@6000 { | ||
524 | compatible = "fsl,sec-v4.0-rtic"; | ||
525 | #address-cells = <1>; | ||
526 | #size-cells = <1>; | ||
527 | reg = <0x6000 0x100>; | ||
528 | ranges = <0x0 0x6100 0xe00>; | ||
529 | |||
530 | rtic_a: rtic-a@0 { | ||
531 | compatible = "fsl,sec-v4.0-rtic-memory"; | ||
532 | reg = <0x00 0x20 0x100 0x80>; | ||
533 | }; | ||
534 | |||
535 | rtic_b: rtic-b@20 { | ||
536 | compatible = "fsl,sec-v4.0-rtic-memory"; | ||
537 | reg = <0x20 0x20 0x200 0x80>; | ||
538 | }; | ||
539 | |||
540 | rtic_c: rtic-c@40 { | ||
541 | compatible = "fsl,sec-v4.0-rtic-memory"; | ||
542 | reg = <0x40 0x20 0x300 0x80>; | ||
543 | }; | ||
544 | |||
545 | rtic_d: rtic-d@60 { | ||
546 | compatible = "fsl,sec-v4.0-rtic-memory"; | ||
547 | reg = <0x60 0x20 0x500 0x80>; | ||
548 | }; | ||
549 | }; | ||
550 | }; | ||
551 | |||
552 | sec_mon: sec_mon@314000 { | ||
553 | compatible = "fsl,sec-v4.0-mon"; | ||
554 | reg = <0x314000 0x1000>; | ||
555 | interrupt-parent = <&mpic>; | ||
556 | interrupts = <93 2 0 0>; | ||
557 | }; | ||
558 | }; | ||
559 | |||
560 | rapidio0: rapidio@ffe0c0000 { | ||
561 | #address-cells = <2>; | ||
562 | #size-cells = <2>; | ||
563 | compatible = "fsl,rapidio-delta"; | ||
564 | interrupts = < | ||
565 | 16 2 1 11 /* err_irq */ | ||
566 | 56 2 0 0 /* bell_outb_irq */ | ||
567 | 57 2 0 0 /* bell_inb_irq */ | ||
568 | 60 2 0 0 /* msg1_tx_irq */ | ||
569 | 61 2 0 0 /* msg1_rx_irq */ | ||
570 | 62 2 0 0 /* msg2_tx_irq */ | ||
571 | 63 2 0 0>; /* msg2_rx_irq */ | ||
572 | }; | ||
573 | |||
574 | localbus@ffe124000 { | ||
575 | compatible = "fsl,p4080-elbc", "fsl,elbc", "simple-bus"; | ||
576 | interrupts = <25 2 0 0>; | ||
577 | #address-cells = <2>; | ||
578 | #size-cells = <1>; | ||
579 | }; | ||
580 | |||
581 | pci0: pcie@ffe200000 { | ||
582 | compatible = "fsl,p4080-pcie"; | ||
583 | device_type = "pci"; | ||
584 | #size-cells = <2>; | ||
585 | #address-cells = <3>; | ||
586 | bus-range = <0x0 0xff>; | ||
587 | clock-frequency = <0x1fca055>; | ||
588 | fsl,msi = <&msi0>; | ||
589 | interrupts = <16 2 1 15>; | ||
590 | pcie@0 { | ||
591 | reg = <0 0 0 0 0>; | ||
592 | #interrupt-cells = <1>; | ||
593 | #size-cells = <2>; | ||
594 | #address-cells = <3>; | ||
595 | device_type = "pci"; | ||
596 | interrupts = <16 2 1 15>; | ||
597 | interrupt-map-mask = <0xf800 0 0 7>; | ||
598 | interrupt-map = < | ||
599 | /* IDSEL 0x0 */ | ||
600 | 0000 0 0 1 &mpic 40 1 0 0 | ||
601 | 0000 0 0 2 &mpic 1 1 0 0 | ||
602 | 0000 0 0 3 &mpic 2 1 0 0 | ||
603 | 0000 0 0 4 &mpic 3 1 0 0 | ||
604 | >; | ||
605 | }; | ||
606 | }; | ||
607 | |||
608 | pci1: pcie@ffe201000 { | ||
609 | compatible = "fsl,p4080-pcie"; | ||
610 | device_type = "pci"; | ||
611 | #size-cells = <2>; | ||
612 | #address-cells = <3>; | ||
613 | bus-range = <0 0xff>; | ||
614 | clock-frequency = <0x1fca055>; | ||
615 | fsl,msi = <&msi1>; | ||
616 | interrupts = <16 2 1 14>; | ||
617 | pcie@0 { | ||
618 | reg = <0 0 0 0 0>; | ||
619 | #interrupt-cells = <1>; | ||
620 | #size-cells = <2>; | ||
621 | #address-cells = <3>; | ||
622 | device_type = "pci"; | ||
623 | interrupts = <16 2 1 14>; | ||
624 | interrupt-map-mask = <0xf800 0 0 7>; | ||
625 | interrupt-map = < | ||
626 | /* IDSEL 0x0 */ | ||
627 | 0000 0 0 1 &mpic 41 1 0 0 | ||
628 | 0000 0 0 2 &mpic 5 1 0 0 | ||
629 | 0000 0 0 3 &mpic 6 1 0 0 | ||
630 | 0000 0 0 4 &mpic 7 1 0 0 | ||
631 | >; | ||
632 | }; | ||
633 | }; | ||
634 | |||
635 | pci2: pcie@ffe202000 { | ||
636 | compatible = "fsl,p4080-pcie"; | ||
637 | device_type = "pci"; | ||
638 | #size-cells = <2>; | ||
639 | #address-cells = <3>; | ||
640 | bus-range = <0x0 0xff>; | ||
641 | clock-frequency = <0x1fca055>; | ||
642 | fsl,msi = <&msi2>; | ||
643 | interrupts = <16 2 1 13>; | ||
644 | pcie@0 { | ||
645 | reg = <0 0 0 0 0>; | ||
646 | #interrupt-cells = <1>; | ||
647 | #size-cells = <2>; | ||
648 | #address-cells = <3>; | ||
649 | device_type = "pci"; | ||
650 | interrupts = <16 2 1 13>; | ||
651 | interrupt-map-mask = <0xf800 0 0 7>; | ||
652 | interrupt-map = < | ||
653 | /* IDSEL 0x0 */ | ||
654 | 0000 0 0 1 &mpic 42 1 0 0 | ||
655 | 0000 0 0 2 &mpic 9 1 0 0 | ||
656 | 0000 0 0 3 &mpic 10 1 0 0 | ||
657 | 0000 0 0 4 &mpic 11 1 0 0 | ||
658 | >; | ||
659 | }; | ||
660 | }; | ||
661 | }; | ||
diff --git a/arch/powerpc/boot/dts/p5020si.dtsi b/arch/powerpc/boot/dts/p5020si.dtsi new file mode 100644 index 00000000000..5e6048ec55b --- /dev/null +++ b/arch/powerpc/boot/dts/p5020si.dtsi | |||
@@ -0,0 +1,652 @@ | |||
1 | /* | ||
2 | * P5020 Silicon Device Tree Source | ||
3 | * | ||
4 | * Copyright 2010-2011 Freescale Semiconductor Inc. | ||
5 | * | ||
6 | * Redistribution and use in source and binary forms, with or without | ||
7 | * modification, are permitted provided that the following conditions are met: | ||
8 | * * Redistributions of source code must retain the above copyright | ||
9 | * notice, this list of conditions and the following disclaimer. | ||
10 | * * Redistributions in binary form must reproduce the above copyright | ||
11 | * notice, this list of conditions and the following disclaimer in the | ||
12 | * documentation and/or other materials provided with the distribution. | ||
13 | * * Neither the name of Freescale Semiconductor nor the | ||
14 | * names of its contributors may be used to endorse or promote products | ||
15 | * derived from this software without specific prior written permission. | ||
16 | * | ||
17 | * | ||
18 | * ALTERNATIVELY, this software may be distributed under the terms of the | ||
19 | * GNU General Public License ("GPL") as published by the Free Software | ||
20 | * Foundation, either version 2 of that License or (at your option) any | ||
21 | * later version. | ||
22 | * | ||
23 | * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY | ||
24 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
25 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
26 | * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY | ||
27 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
28 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
29 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
30 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
31 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
32 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
33 | */ | ||
34 | |||
35 | /dts-v1/; | ||
36 | |||
37 | / { | ||
38 | compatible = "fsl,P5020"; | ||
39 | #address-cells = <2>; | ||
40 | #size-cells = <2>; | ||
41 | interrupt-parent = <&mpic>; | ||
42 | |||
43 | aliases { | ||
44 | ccsr = &soc; | ||
45 | |||
46 | serial0 = &serial0; | ||
47 | serial1 = &serial1; | ||
48 | serial2 = &serial2; | ||
49 | serial3 = &serial3; | ||
50 | pci0 = &pci0; | ||
51 | pci1 = &pci1; | ||
52 | pci2 = &pci2; | ||
53 | pci3 = &pci3; | ||
54 | usb0 = &usb0; | ||
55 | usb1 = &usb1; | ||
56 | dma0 = &dma0; | ||
57 | dma1 = &dma1; | ||
58 | sdhc = &sdhc; | ||
59 | msi0 = &msi0; | ||
60 | msi1 = &msi1; | ||
61 | msi2 = &msi2; | ||
62 | |||
63 | crypto = &crypto; | ||
64 | sec_jr0 = &sec_jr0; | ||
65 | sec_jr1 = &sec_jr1; | ||
66 | sec_jr2 = &sec_jr2; | ||
67 | sec_jr3 = &sec_jr3; | ||
68 | rtic_a = &rtic_a; | ||
69 | rtic_b = &rtic_b; | ||
70 | rtic_c = &rtic_c; | ||
71 | rtic_d = &rtic_d; | ||
72 | sec_mon = &sec_mon; | ||
73 | |||
74 | /* | ||
75 | rio0 = &rapidio0; | ||
76 | */ | ||
77 | }; | ||
78 | |||
79 | cpus { | ||
80 | #address-cells = <1>; | ||
81 | #size-cells = <0>; | ||
82 | |||
83 | cpu0: PowerPC,e5500@0 { | ||
84 | device_type = "cpu"; | ||
85 | reg = <0>; | ||
86 | next-level-cache = <&L2_0>; | ||
87 | L2_0: l2-cache { | ||
88 | next-level-cache = <&cpc>; | ||
89 | }; | ||
90 | }; | ||
91 | cpu1: PowerPC,e5500@1 { | ||
92 | device_type = "cpu"; | ||
93 | reg = <1>; | ||
94 | next-level-cache = <&L2_1>; | ||
95 | L2_1: l2-cache { | ||
96 | next-level-cache = <&cpc>; | ||
97 | }; | ||
98 | }; | ||
99 | }; | ||
100 | |||
101 | soc: soc@ffe000000 { | ||
102 | #address-cells = <1>; | ||
103 | #size-cells = <1>; | ||
104 | device_type = "soc"; | ||
105 | compatible = "simple-bus"; | ||
106 | ranges = <0x00000000 0xf 0xfe000000 0x1000000>; | ||
107 | reg = <0xf 0xfe000000 0 0x00001000>; | ||
108 | |||
109 | soc-sram-error { | ||
110 | compatible = "fsl,soc-sram-error"; | ||
111 | interrupts = <16 2 1 29>; | ||
112 | }; | ||
113 | |||
114 | corenet-law@0 { | ||
115 | compatible = "fsl,corenet-law"; | ||
116 | reg = <0x0 0x1000>; | ||
117 | fsl,num-laws = <32>; | ||
118 | }; | ||
119 | |||
120 | memory-controller@8000 { | ||
121 | compatible = "fsl,qoriq-memory-controller-v4.5", "fsl,qoriq-memory-controller"; | ||
122 | reg = <0x8000 0x1000>; | ||
123 | interrupts = <16 2 1 23>; | ||
124 | }; | ||
125 | |||
126 | memory-controller@9000 { | ||
127 | compatible = "fsl,qoriq-memory-controller-v4.5", "fsl,qoriq-memory-controller"; | ||
128 | reg = <0x9000 0x1000>; | ||
129 | interrupts = <16 2 1 22>; | ||
130 | }; | ||
131 | |||
132 | cpc: l3-cache-controller@10000 { | ||
133 | compatible = "fsl,p5020-l3-cache-controller", "fsl,p4080-l3-cache-controller", "cache"; | ||
134 | reg = <0x10000 0x1000 | ||
135 | 0x11000 0x1000>; | ||
136 | interrupts = <16 2 1 27 | ||
137 | 16 2 1 26>; | ||
138 | }; | ||
139 | |||
140 | corenet-cf@18000 { | ||
141 | compatible = "fsl,corenet-cf"; | ||
142 | reg = <0x18000 0x1000>; | ||
143 | interrupts = <16 2 1 31>; | ||
144 | fsl,ccf-num-csdids = <32>; | ||
145 | fsl,ccf-num-snoopids = <32>; | ||
146 | }; | ||
147 | |||
148 | iommu@20000 { | ||
149 | compatible = "fsl,pamu-v1.0", "fsl,pamu"; | ||
150 | reg = <0x20000 0x4000>; | ||
151 | interrupts = < | ||
152 | 24 2 0 0 | ||
153 | 16 2 1 30>; | ||
154 | }; | ||
155 | |||
156 | mpic: pic@40000 { | ||
157 | clock-frequency = <0>; | ||
158 | interrupt-controller; | ||
159 | #address-cells = <0>; | ||
160 | #interrupt-cells = <4>; | ||
161 | reg = <0x40000 0x40000>; | ||
162 | compatible = "fsl,mpic", "chrp,open-pic"; | ||
163 | device_type = "open-pic"; | ||
164 | }; | ||
165 | |||
166 | msi0: msi@41600 { | ||
167 | compatible = "fsl,mpic-msi"; | ||
168 | reg = <0x41600 0x200>; | ||
169 | msi-available-ranges = <0 0x100>; | ||
170 | interrupts = < | ||
171 | 0xe0 0 0 0 | ||
172 | 0xe1 0 0 0 | ||
173 | 0xe2 0 0 0 | ||
174 | 0xe3 0 0 0 | ||
175 | 0xe4 0 0 0 | ||
176 | 0xe5 0 0 0 | ||
177 | 0xe6 0 0 0 | ||
178 | 0xe7 0 0 0>; | ||
179 | }; | ||
180 | |||
181 | msi1: msi@41800 { | ||
182 | compatible = "fsl,mpic-msi"; | ||
183 | reg = <0x41800 0x200>; | ||
184 | msi-available-ranges = <0 0x100>; | ||
185 | interrupts = < | ||
186 | 0xe8 0 0 0 | ||
187 | 0xe9 0 0 0 | ||
188 | 0xea 0 0 0 | ||
189 | 0xeb 0 0 0 | ||
190 | 0xec 0 0 0 | ||
191 | 0xed 0 0 0 | ||
192 | 0xee 0 0 0 | ||
193 | 0xef 0 0 0>; | ||
194 | }; | ||
195 | |||
196 | msi2: msi@41a00 { | ||
197 | compatible = "fsl,mpic-msi"; | ||
198 | reg = <0x41a00 0x200>; | ||
199 | msi-available-ranges = <0 0x100>; | ||
200 | interrupts = < | ||
201 | 0xf0 0 0 0 | ||
202 | 0xf1 0 0 0 | ||
203 | 0xf2 0 0 0 | ||
204 | 0xf3 0 0 0 | ||
205 | 0xf4 0 0 0 | ||
206 | 0xf5 0 0 0 | ||
207 | 0xf6 0 0 0 | ||
208 | 0xf7 0 0 0>; | ||
209 | }; | ||
210 | |||
211 | guts: global-utilities@e0000 { | ||
212 | compatible = "fsl,qoriq-device-config-1.0"; | ||
213 | reg = <0xe0000 0xe00>; | ||
214 | fsl,has-rstcr; | ||
215 | #sleep-cells = <1>; | ||
216 | fsl,liodn-bits = <12>; | ||
217 | }; | ||
218 | |||
219 | pins: global-utilities@e0e00 { | ||
220 | compatible = "fsl,qoriq-pin-control-1.0"; | ||
221 | reg = <0xe0e00 0x200>; | ||
222 | #sleep-cells = <2>; | ||
223 | }; | ||
224 | |||
225 | clockgen: global-utilities@e1000 { | ||
226 | compatible = "fsl,p5020-clockgen", "fsl,qoriq-clockgen-1.0"; | ||
227 | reg = <0xe1000 0x1000>; | ||
228 | clock-frequency = <0>; | ||
229 | }; | ||
230 | |||
231 | rcpm: global-utilities@e2000 { | ||
232 | compatible = "fsl,qoriq-rcpm-1.0"; | ||
233 | reg = <0xe2000 0x1000>; | ||
234 | #sleep-cells = <1>; | ||
235 | }; | ||
236 | |||
237 | sfp: sfp@e8000 { | ||
238 | compatible = "fsl,p5020-sfp", "fsl,qoriq-sfp-1.0"; | ||
239 | reg = <0xe8000 0x1000>; | ||
240 | }; | ||
241 | |||
242 | serdes: serdes@ea000 { | ||
243 | compatible = "fsl,p5020-serdes"; | ||
244 | reg = <0xea000 0x1000>; | ||
245 | }; | ||
246 | |||
247 | dma0: dma@100300 { | ||
248 | #address-cells = <1>; | ||
249 | #size-cells = <1>; | ||
250 | compatible = "fsl,p5020-dma", "fsl,eloplus-dma"; | ||
251 | reg = <0x100300 0x4>; | ||
252 | ranges = <0x0 0x100100 0x200>; | ||
253 | cell-index = <0>; | ||
254 | dma-channel@0 { | ||
255 | compatible = "fsl,p5020-dma-channel", | ||
256 | "fsl,eloplus-dma-channel"; | ||
257 | reg = <0x0 0x80>; | ||
258 | cell-index = <0>; | ||
259 | interrupts = <28 2 0 0>; | ||
260 | }; | ||
261 | dma-channel@80 { | ||
262 | compatible = "fsl,p5020-dma-channel", | ||
263 | "fsl,eloplus-dma-channel"; | ||
264 | reg = <0x80 0x80>; | ||
265 | cell-index = <1>; | ||
266 | interrupts = <29 2 0 0>; | ||
267 | }; | ||
268 | dma-channel@100 { | ||
269 | compatible = "fsl,p5020-dma-channel", | ||
270 | "fsl,eloplus-dma-channel"; | ||
271 | reg = <0x100 0x80>; | ||
272 | cell-index = <2>; | ||
273 | interrupts = <30 2 0 0>; | ||
274 | }; | ||
275 | dma-channel@180 { | ||
276 | compatible = "fsl,p5020-dma-channel", | ||
277 | "fsl,eloplus-dma-channel"; | ||
278 | reg = <0x180 0x80>; | ||
279 | cell-index = <3>; | ||
280 | interrupts = <31 2 0 0>; | ||
281 | }; | ||
282 | }; | ||
283 | |||
284 | dma1: dma@101300 { | ||
285 | #address-cells = <1>; | ||
286 | #size-cells = <1>; | ||
287 | compatible = "fsl,p5020-dma", "fsl,eloplus-dma"; | ||
288 | reg = <0x101300 0x4>; | ||
289 | ranges = <0x0 0x101100 0x200>; | ||
290 | cell-index = <1>; | ||
291 | dma-channel@0 { | ||
292 | compatible = "fsl,p5020-dma-channel", | ||
293 | "fsl,eloplus-dma-channel"; | ||
294 | reg = <0x0 0x80>; | ||
295 | cell-index = <0>; | ||
296 | interrupts = <32 2 0 0>; | ||
297 | }; | ||
298 | dma-channel@80 { | ||
299 | compatible = "fsl,p5020-dma-channel", | ||
300 | "fsl,eloplus-dma-channel"; | ||
301 | reg = <0x80 0x80>; | ||
302 | cell-index = <1>; | ||
303 | interrupts = <33 2 0 0>; | ||
304 | }; | ||
305 | dma-channel@100 { | ||
306 | compatible = "fsl,p5020-dma-channel", | ||
307 | "fsl,eloplus-dma-channel"; | ||
308 | reg = <0x100 0x80>; | ||
309 | cell-index = <2>; | ||
310 | interrupts = <34 2 0 0>; | ||
311 | }; | ||
312 | dma-channel@180 { | ||
313 | compatible = "fsl,p5020-dma-channel", | ||
314 | "fsl,eloplus-dma-channel"; | ||
315 | reg = <0x180 0x80>; | ||
316 | cell-index = <3>; | ||
317 | interrupts = <35 2 0 0>; | ||
318 | }; | ||
319 | }; | ||
320 | |||
321 | spi@110000 { | ||
322 | #address-cells = <1>; | ||
323 | #size-cells = <0>; | ||
324 | compatible = "fsl,p5020-espi", "fsl,mpc8536-espi"; | ||
325 | reg = <0x110000 0x1000>; | ||
326 | interrupts = <53 0x2 0 0>; | ||
327 | fsl,espi-num-chipselects = <4>; | ||
328 | }; | ||
329 | |||
330 | sdhc: sdhc@114000 { | ||
331 | compatible = "fsl,p5020-esdhc", "fsl,esdhc"; | ||
332 | reg = <0x114000 0x1000>; | ||
333 | interrupts = <48 2 0 0>; | ||
334 | sdhci,auto-cmd12; | ||
335 | clock-frequency = <0>; | ||
336 | }; | ||
337 | |||
338 | i2c@118000 { | ||
339 | #address-cells = <1>; | ||
340 | #size-cells = <0>; | ||
341 | cell-index = <0>; | ||
342 | compatible = "fsl-i2c"; | ||
343 | reg = <0x118000 0x100>; | ||
344 | interrupts = <38 2 0 0>; | ||
345 | dfsrr; | ||
346 | }; | ||
347 | |||
348 | i2c@118100 { | ||
349 | #address-cells = <1>; | ||
350 | #size-cells = <0>; | ||
351 | cell-index = <1>; | ||
352 | compatible = "fsl-i2c"; | ||
353 | reg = <0x118100 0x100>; | ||
354 | interrupts = <38 2 0 0>; | ||
355 | dfsrr; | ||
356 | }; | ||
357 | |||
358 | i2c@119000 { | ||
359 | #address-cells = <1>; | ||
360 | #size-cells = <0>; | ||
361 | cell-index = <2>; | ||
362 | compatible = "fsl-i2c"; | ||
363 | reg = <0x119000 0x100>; | ||
364 | interrupts = <39 2 0 0>; | ||
365 | dfsrr; | ||
366 | }; | ||
367 | |||
368 | i2c@119100 { | ||
369 | #address-cells = <1>; | ||
370 | #size-cells = <0>; | ||
371 | cell-index = <3>; | ||
372 | compatible = "fsl-i2c"; | ||
373 | reg = <0x119100 0x100>; | ||
374 | interrupts = <39 2 0 0>; | ||
375 | dfsrr; | ||
376 | }; | ||
377 | |||
378 | serial0: serial@11c500 { | ||
379 | cell-index = <0>; | ||
380 | device_type = "serial"; | ||
381 | compatible = "ns16550"; | ||
382 | reg = <0x11c500 0x100>; | ||
383 | clock-frequency = <0>; | ||
384 | interrupts = <36 2 0 0>; | ||
385 | }; | ||
386 | |||
387 | serial1: serial@11c600 { | ||
388 | cell-index = <1>; | ||
389 | device_type = "serial"; | ||
390 | compatible = "ns16550"; | ||
391 | reg = <0x11c600 0x100>; | ||
392 | clock-frequency = <0>; | ||
393 | interrupts = <36 2 0 0>; | ||
394 | }; | ||
395 | |||
396 | serial2: serial@11d500 { | ||
397 | cell-index = <2>; | ||
398 | device_type = "serial"; | ||
399 | compatible = "ns16550"; | ||
400 | reg = <0x11d500 0x100>; | ||
401 | clock-frequency = <0>; | ||
402 | interrupts = <37 2 0 0>; | ||
403 | }; | ||
404 | |||
405 | serial3: serial@11d600 { | ||
406 | cell-index = <3>; | ||
407 | device_type = "serial"; | ||
408 | compatible = "ns16550"; | ||
409 | reg = <0x11d600 0x100>; | ||
410 | clock-frequency = <0>; | ||
411 | interrupts = <37 2 0 0>; | ||
412 | }; | ||
413 | |||
414 | gpio0: gpio@130000 { | ||
415 | compatible = "fsl,p5020-gpio", "fsl,qoriq-gpio"; | ||
416 | reg = <0x130000 0x1000>; | ||
417 | interrupts = <55 2 0 0>; | ||
418 | #gpio-cells = <2>; | ||
419 | gpio-controller; | ||
420 | }; | ||
421 | |||
422 | usb0: usb@210000 { | ||
423 | compatible = "fsl,p5020-usb2-mph", | ||
424 | "fsl,mpc85xx-usb2-mph", "fsl-usb2-mph"; | ||
425 | reg = <0x210000 0x1000>; | ||
426 | #address-cells = <1>; | ||
427 | #size-cells = <0>; | ||
428 | interrupts = <44 0x2 0 0>; | ||
429 | phy_type = "utmi"; | ||
430 | port0; | ||
431 | }; | ||
432 | |||
433 | usb1: usb@211000 { | ||
434 | compatible = "fsl,p5020-usb2-dr", | ||
435 | "fsl,mpc85xx-usb2-dr", "fsl-usb2-dr"; | ||
436 | reg = <0x211000 0x1000>; | ||
437 | #address-cells = <1>; | ||
438 | #size-cells = <0>; | ||
439 | interrupts = <45 0x2 0 0>; | ||
440 | dr_mode = "host"; | ||
441 | phy_type = "utmi"; | ||
442 | }; | ||
443 | |||
444 | sata@220000 { | ||
445 | compatible = "fsl,p5020-sata", "fsl,pq-sata-v2"; | ||
446 | reg = <0x220000 0x1000>; | ||
447 | interrupts = <68 0x2 0 0>; | ||
448 | }; | ||
449 | |||
450 | sata@221000 { | ||
451 | compatible = "fsl,p5020-sata", "fsl,pq-sata-v2"; | ||
452 | reg = <0x221000 0x1000>; | ||
453 | interrupts = <69 0x2 0 0>; | ||
454 | }; | ||
455 | |||
456 | crypto: crypto@300000 { | ||
457 | compatible = "fsl,sec-v4.2", "fsl,sec-v4.0"; | ||
458 | #address-cells = <1>; | ||
459 | #size-cells = <1>; | ||
460 | reg = <0x300000 0x10000>; | ||
461 | ranges = <0 0x300000 0x10000>; | ||
462 | interrupts = <92 2 0 0>; | ||
463 | |||
464 | sec_jr0: jr@1000 { | ||
465 | compatible = "fsl,sec-v4.2-job-ring", | ||
466 | "fsl,sec-v4.0-job-ring"; | ||
467 | reg = <0x1000 0x1000>; | ||
468 | interrupts = <88 2 0 0>; | ||
469 | }; | ||
470 | |||
471 | sec_jr1: jr@2000 { | ||
472 | compatible = "fsl,sec-v4.2-job-ring", | ||
473 | "fsl,sec-v4.0-job-ring"; | ||
474 | reg = <0x2000 0x1000>; | ||
475 | interrupts = <89 2 0 0>; | ||
476 | }; | ||
477 | |||
478 | sec_jr2: jr@3000 { | ||
479 | compatible = "fsl,sec-v4.2-job-ring", | ||
480 | "fsl,sec-v4.0-job-ring"; | ||
481 | reg = <0x3000 0x1000>; | ||
482 | interrupts = <90 2 0 0>; | ||
483 | }; | ||
484 | |||
485 | sec_jr3: jr@4000 { | ||
486 | compatible = "fsl,sec-v4.2-job-ring", | ||
487 | "fsl,sec-v4.0-job-ring"; | ||
488 | reg = <0x4000 0x1000>; | ||
489 | interrupts = <91 2 0 0>; | ||
490 | }; | ||
491 | |||
492 | rtic@6000 { | ||
493 | compatible = "fsl,sec-v4.2-rtic", | ||
494 | "fsl,sec-v4.0-rtic"; | ||
495 | #address-cells = <1>; | ||
496 | #size-cells = <1>; | ||
497 | reg = <0x6000 0x100>; | ||
498 | ranges = <0x0 0x6100 0xe00>; | ||
499 | |||
500 | rtic_a: rtic-a@0 { | ||
501 | compatible = "fsl,sec-v4.2-rtic-memory", | ||
502 | "fsl,sec-v4.0-rtic-memory"; | ||
503 | reg = <0x00 0x20 0x100 0x80>; | ||
504 | }; | ||
505 | |||
506 | rtic_b: rtic-b@20 { | ||
507 | compatible = "fsl,sec-v4.2-rtic-memory", | ||
508 | "fsl,sec-v4.0-rtic-memory"; | ||
509 | reg = <0x20 0x20 0x200 0x80>; | ||
510 | }; | ||
511 | |||
512 | rtic_c: rtic-c@40 { | ||
513 | compatible = "fsl,sec-v4.2-rtic-memory", | ||
514 | "fsl,sec-v4.0-rtic-memory"; | ||
515 | reg = <0x40 0x20 0x300 0x80>; | ||
516 | }; | ||
517 | |||
518 | rtic_d: rtic-d@60 { | ||
519 | compatible = "fsl,sec-v4.2-rtic-memory", | ||
520 | "fsl,sec-v4.0-rtic-memory"; | ||
521 | reg = <0x60 0x20 0x500 0x80>; | ||
522 | }; | ||
523 | }; | ||
524 | }; | ||
525 | |||
526 | sec_mon: sec_mon@314000 { | ||
527 | compatible = "fsl,sec-v4.2-mon", "fsl,sec-v4.0-mon"; | ||
528 | reg = <0x314000 0x1000>; | ||
529 | interrupts = <93 2 0 0>; | ||
530 | }; | ||
531 | }; | ||
532 | |||
533 | /* | ||
534 | rapidio0: rapidio@ffe0c0000 | ||
535 | */ | ||
536 | |||
537 | localbus@ffe124000 { | ||
538 | compatible = "fsl,p5020-elbc", "fsl,elbc", "simple-bus"; | ||
539 | interrupts = <25 2 0 0>; | ||
540 | #address-cells = <2>; | ||
541 | #size-cells = <1>; | ||
542 | }; | ||
543 | |||
544 | pci0: pcie@ffe200000 { | ||
545 | compatible = "fsl,p5020-pcie", "fsl,qoriq-pcie-v2.2"; | ||
546 | device_type = "pci"; | ||
547 | #size-cells = <2>; | ||
548 | #address-cells = <3>; | ||
549 | bus-range = <0x0 0xff>; | ||
550 | clock-frequency = <0x1fca055>; | ||
551 | fsl,msi = <&msi0>; | ||
552 | interrupts = <16 2 1 15>; | ||
553 | |||
554 | pcie@0 { | ||
555 | reg = <0 0 0 0 0>; | ||
556 | #interrupt-cells = <1>; | ||
557 | #size-cells = <2>; | ||
558 | #address-cells = <3>; | ||
559 | device_type = "pci"; | ||
560 | interrupts = <16 2 1 15>; | ||
561 | interrupt-map-mask = <0xf800 0 0 7>; | ||
562 | interrupt-map = < | ||
563 | /* IDSEL 0x0 */ | ||
564 | 0000 0 0 1 &mpic 40 1 0 0 | ||
565 | 0000 0 0 2 &mpic 1 1 0 0 | ||
566 | 0000 0 0 3 &mpic 2 1 0 0 | ||
567 | 0000 0 0 4 &mpic 3 1 0 0 | ||
568 | >; | ||
569 | }; | ||
570 | }; | ||
571 | |||
572 | pci1: pcie@ffe201000 { | ||
573 | compatible = "fsl,p5020-pcie", "fsl,qoriq-pcie-v2.2"; | ||
574 | device_type = "pci"; | ||
575 | #size-cells = <2>; | ||
576 | #address-cells = <3>; | ||
577 | bus-range = <0 0xff>; | ||
578 | clock-frequency = <0x1fca055>; | ||
579 | fsl,msi = <&msi1>; | ||
580 | interrupts = <16 2 1 14>; | ||
581 | pcie@0 { | ||
582 | reg = <0 0 0 0 0>; | ||
583 | #interrupt-cells = <1>; | ||
584 | #size-cells = <2>; | ||
585 | #address-cells = <3>; | ||
586 | device_type = "pci"; | ||
587 | interrupts = <16 2 1 14>; | ||
588 | interrupt-map-mask = <0xf800 0 0 7>; | ||
589 | interrupt-map = < | ||
590 | /* IDSEL 0x0 */ | ||
591 | 0000 0 0 1 &mpic 41 1 0 0 | ||
592 | 0000 0 0 2 &mpic 5 1 0 0 | ||
593 | 0000 0 0 3 &mpic 6 1 0 0 | ||
594 | 0000 0 0 4 &mpic 7 1 0 0 | ||
595 | >; | ||
596 | }; | ||
597 | }; | ||
598 | |||
599 | pci2: pcie@ffe202000 { | ||
600 | compatible = "fsl,p5020-pcie", "fsl,qoriq-pcie-v2.2"; | ||
601 | device_type = "pci"; | ||
602 | #size-cells = <2>; | ||
603 | #address-cells = <3>; | ||
604 | bus-range = <0x0 0xff>; | ||
605 | clock-frequency = <0x1fca055>; | ||
606 | fsl,msi = <&msi2>; | ||
607 | interrupts = <16 2 1 13>; | ||
608 | pcie@0 { | ||
609 | reg = <0 0 0 0 0>; | ||
610 | #interrupt-cells = <1>; | ||
611 | #size-cells = <2>; | ||
612 | #address-cells = <3>; | ||
613 | device_type = "pci"; | ||
614 | interrupts = <16 2 1 13>; | ||
615 | interrupt-map-mask = <0xf800 0 0 7>; | ||
616 | interrupt-map = < | ||
617 | /* IDSEL 0x0 */ | ||
618 | 0000 0 0 1 &mpic 42 1 0 0 | ||
619 | 0000 0 0 2 &mpic 9 1 0 0 | ||
620 | 0000 0 0 3 &mpic 10 1 0 0 | ||
621 | 0000 0 0 4 &mpic 11 1 0 0 | ||
622 | >; | ||
623 | }; | ||
624 | }; | ||
625 | |||
626 | pci3: pcie@ffe203000 { | ||
627 | compatible = "fsl,p5020-pcie", "fsl,qoriq-pcie-v2.2"; | ||
628 | device_type = "pci"; | ||
629 | #size-cells = <2>; | ||
630 | #address-cells = <3>; | ||
631 | bus-range = <0x0 0xff>; | ||
632 | clock-frequency = <0x1fca055>; | ||
633 | fsl,msi = <&msi2>; | ||
634 | interrupts = <16 2 1 12>; | ||
635 | pcie@0 { | ||
636 | reg = <0 0 0 0 0>; | ||
637 | #interrupt-cells = <1>; | ||
638 | #size-cells = <2>; | ||
639 | #address-cells = <3>; | ||
640 | device_type = "pci"; | ||
641 | interrupts = <16 2 1 12>; | ||
642 | interrupt-map-mask = <0xf800 0 0 7>; | ||
643 | interrupt-map = < | ||
644 | /* IDSEL 0x0 */ | ||
645 | 0000 0 0 1 &mpic 43 1 0 0 | ||
646 | 0000 0 0 2 &mpic 0 1 0 0 | ||
647 | 0000 0 0 3 &mpic 4 1 0 0 | ||
648 | 0000 0 0 4 &mpic 8 1 0 0 | ||
649 | >; | ||
650 | }; | ||
651 | }; | ||
652 | }; | ||
diff --git a/arch/powerpc/boot/dts/sbc8560.dts b/arch/powerpc/boot/dts/sbc8560.dts new file mode 100644 index 00000000000..9e13ed8a119 --- /dev/null +++ b/arch/powerpc/boot/dts/sbc8560.dts | |||
@@ -0,0 +1,406 @@ | |||
1 | /* | ||
2 | * SBC8560 Device Tree Source | ||
3 | * | ||
4 | * Copyright 2007 Wind River Systems Inc. | ||
5 | * | ||
6 | * Paul Gortmaker (see MAINTAINERS for contact information) | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify it | ||
9 | * under the terms of the GNU General Public License as published by the | ||
10 | * Free Software Foundation; either version 2 of the License, or (at your | ||
11 | * option) any later version. | ||
12 | */ | ||
13 | |||
14 | /dts-v1/; | ||
15 | |||
16 | / { | ||
17 | model = "SBC8560"; | ||
18 | compatible = "SBC8560"; | ||
19 | #address-cells = <1>; | ||
20 | #size-cells = <1>; | ||
21 | |||
22 | aliases { | ||
23 | ethernet0 = &enet0; | ||
24 | ethernet1 = &enet1; | ||
25 | ethernet2 = &enet2; | ||
26 | ethernet3 = &enet3; | ||
27 | serial0 = &serial0; | ||
28 | serial1 = &serial1; | ||
29 | pci0 = &pci0; | ||
30 | }; | ||
31 | |||
32 | cpus { | ||
33 | #address-cells = <1>; | ||
34 | #size-cells = <0>; | ||
35 | |||
36 | PowerPC,8560@0 { | ||
37 | device_type = "cpu"; | ||
38 | reg = <0>; | ||
39 | d-cache-line-size = <0x20>; // 32 bytes | ||
40 | i-cache-line-size = <0x20>; // 32 bytes | ||
41 | d-cache-size = <0x8000>; // L1, 32K | ||
42 | i-cache-size = <0x8000>; // L1, 32K | ||
43 | timebase-frequency = <0>; // From uboot | ||
44 | bus-frequency = <0>; | ||
45 | clock-frequency = <0>; | ||
46 | next-level-cache = <&L2>; | ||
47 | }; | ||
48 | }; | ||
49 | |||
50 | memory { | ||
51 | device_type = "memory"; | ||
52 | reg = <0x00000000 0x20000000>; | ||
53 | }; | ||
54 | |||
55 | soc@ff700000 { | ||
56 | #address-cells = <1>; | ||
57 | #size-cells = <1>; | ||
58 | device_type = "soc"; | ||
59 | ranges = <0x0 0xff700000 0x00100000>; | ||
60 | clock-frequency = <0>; | ||
61 | |||
62 | ecm-law@0 { | ||
63 | compatible = "fsl,ecm-law"; | ||
64 | reg = <0x0 0x1000>; | ||
65 | fsl,num-laws = <8>; | ||
66 | }; | ||
67 | |||
68 | ecm@1000 { | ||
69 | compatible = "fsl,mpc8560-ecm", "fsl,ecm"; | ||
70 | reg = <0x1000 0x1000>; | ||
71 | interrupts = <17 2>; | ||
72 | interrupt-parent = <&mpic>; | ||
73 | }; | ||
74 | |||
75 | memory-controller@2000 { | ||
76 | compatible = "fsl,mpc8560-memory-controller"; | ||
77 | reg = <0x2000 0x1000>; | ||
78 | interrupt-parent = <&mpic>; | ||
79 | interrupts = <0x12 0x2>; | ||
80 | }; | ||
81 | |||
82 | L2: l2-cache-controller@20000 { | ||
83 | compatible = "fsl,mpc8560-l2-cache-controller"; | ||
84 | reg = <0x20000 0x1000>; | ||
85 | cache-line-size = <0x20>; // 32 bytes | ||
86 | cache-size = <0x40000>; // L2, 256K | ||
87 | interrupt-parent = <&mpic>; | ||
88 | interrupts = <0x10 0x2>; | ||
89 | }; | ||
90 | |||
91 | i2c@3000 { | ||
92 | #address-cells = <1>; | ||
93 | #size-cells = <0>; | ||
94 | cell-index = <0>; | ||
95 | compatible = "fsl-i2c"; | ||
96 | reg = <0x3000 0x100>; | ||
97 | interrupts = <0x2b 0x2>; | ||
98 | interrupt-parent = <&mpic>; | ||
99 | dfsrr; | ||
100 | }; | ||
101 | |||
102 | i2c@3100 { | ||
103 | #address-cells = <1>; | ||
104 | #size-cells = <0>; | ||
105 | cell-index = <1>; | ||
106 | compatible = "fsl-i2c"; | ||
107 | reg = <0x3100 0x100>; | ||
108 | interrupts = <0x2b 0x2>; | ||
109 | interrupt-parent = <&mpic>; | ||
110 | dfsrr; | ||
111 | }; | ||
112 | |||
113 | dma@21300 { | ||
114 | #address-cells = <1>; | ||
115 | #size-cells = <1>; | ||
116 | compatible = "fsl,mpc8560-dma", "fsl,eloplus-dma"; | ||
117 | reg = <0x21300 0x4>; | ||
118 | ranges = <0x0 0x21100 0x200>; | ||
119 | cell-index = <0>; | ||
120 | dma-channel@0 { | ||
121 | compatible = "fsl,mpc8560-dma-channel", | ||
122 | "fsl,eloplus-dma-channel"; | ||
123 | reg = <0x0 0x80>; | ||
124 | cell-index = <0>; | ||
125 | interrupt-parent = <&mpic>; | ||
126 | interrupts = <20 2>; | ||
127 | }; | ||
128 | dma-channel@80 { | ||
129 | compatible = "fsl,mpc8560-dma-channel", | ||
130 | "fsl,eloplus-dma-channel"; | ||
131 | reg = <0x80 0x80>; | ||
132 | cell-index = <1>; | ||
133 | interrupt-parent = <&mpic>; | ||
134 | interrupts = <21 2>; | ||
135 | }; | ||
136 | dma-channel@100 { | ||
137 | compatible = "fsl,mpc8560-dma-channel", | ||
138 | "fsl,eloplus-dma-channel"; | ||
139 | reg = <0x100 0x80>; | ||
140 | cell-index = <2>; | ||
141 | interrupt-parent = <&mpic>; | ||
142 | interrupts = <22 2>; | ||
143 | }; | ||
144 | dma-channel@180 { | ||
145 | compatible = "fsl,mpc8560-dma-channel", | ||
146 | "fsl,eloplus-dma-channel"; | ||
147 | reg = <0x180 0x80>; | ||
148 | cell-index = <3>; | ||
149 | interrupt-parent = <&mpic>; | ||
150 | interrupts = <23 2>; | ||
151 | }; | ||
152 | }; | ||
153 | |||
154 | enet0: ethernet@24000 { | ||
155 | #address-cells = <1>; | ||
156 | #size-cells = <1>; | ||
157 | cell-index = <0>; | ||
158 | device_type = "network"; | ||
159 | model = "TSEC"; | ||
160 | compatible = "gianfar"; | ||
161 | reg = <0x24000 0x1000>; | ||
162 | ranges = <0x0 0x24000 0x1000>; | ||
163 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
164 | interrupts = <0x1d 0x2 0x1e 0x2 0x22 0x2>; | ||
165 | interrupt-parent = <&mpic>; | ||
166 | tbi-handle = <&tbi0>; | ||
167 | phy-handle = <&phy0>; | ||
168 | |||
169 | mdio@520 { | ||
170 | #address-cells = <1>; | ||
171 | #size-cells = <0>; | ||
172 | compatible = "fsl,gianfar-mdio"; | ||
173 | reg = <0x520 0x20>; | ||
174 | phy0: ethernet-phy@19 { | ||
175 | interrupt-parent = <&mpic>; | ||
176 | interrupts = <0x6 0x1>; | ||
177 | reg = <0x19>; | ||
178 | device_type = "ethernet-phy"; | ||
179 | }; | ||
180 | phy1: ethernet-phy@1a { | ||
181 | interrupt-parent = <&mpic>; | ||
182 | interrupts = <0x7 0x1>; | ||
183 | reg = <0x1a>; | ||
184 | device_type = "ethernet-phy"; | ||
185 | }; | ||
186 | phy2: ethernet-phy@1b { | ||
187 | interrupt-parent = <&mpic>; | ||
188 | interrupts = <0x8 0x1>; | ||
189 | reg = <0x1b>; | ||
190 | device_type = "ethernet-phy"; | ||
191 | }; | ||
192 | phy3: ethernet-phy@1c { | ||
193 | interrupt-parent = <&mpic>; | ||
194 | interrupts = <0x8 0x1>; | ||
195 | reg = <0x1c>; | ||
196 | device_type = "ethernet-phy"; | ||
197 | }; | ||
198 | tbi0: tbi-phy@11 { | ||
199 | reg = <0x11>; | ||
200 | device_type = "tbi-phy"; | ||
201 | }; | ||
202 | }; | ||
203 | }; | ||
204 | |||
205 | enet1: ethernet@25000 { | ||
206 | #address-cells = <1>; | ||
207 | #size-cells = <1>; | ||
208 | cell-index = <1>; | ||
209 | device_type = "network"; | ||
210 | model = "TSEC"; | ||
211 | compatible = "gianfar"; | ||
212 | reg = <0x25000 0x1000>; | ||
213 | ranges = <0x0 0x25000 0x1000>; | ||
214 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
215 | interrupts = <0x23 0x2 0x24 0x2 0x28 0x2>; | ||
216 | interrupt-parent = <&mpic>; | ||
217 | tbi-handle = <&tbi1>; | ||
218 | phy-handle = <&phy1>; | ||
219 | |||
220 | mdio@520 { | ||
221 | #address-cells = <1>; | ||
222 | #size-cells = <0>; | ||
223 | compatible = "fsl,gianfar-tbi"; | ||
224 | reg = <0x520 0x20>; | ||
225 | |||
226 | tbi1: tbi-phy@11 { | ||
227 | reg = <0x11>; | ||
228 | device_type = "tbi-phy"; | ||
229 | }; | ||
230 | }; | ||
231 | }; | ||
232 | |||
233 | mpic: pic@40000 { | ||
234 | interrupt-controller; | ||
235 | #address-cells = <0>; | ||
236 | #interrupt-cells = <2>; | ||
237 | compatible = "chrp,open-pic"; | ||
238 | reg = <0x40000 0x40000>; | ||
239 | device_type = "open-pic"; | ||
240 | }; | ||
241 | |||
242 | cpm@919c0 { | ||
243 | #address-cells = <1>; | ||
244 | #size-cells = <1>; | ||
245 | compatible = "fsl,mpc8560-cpm", "fsl,cpm2"; | ||
246 | reg = <0x919c0 0x30>; | ||
247 | ranges; | ||
248 | |||
249 | muram@80000 { | ||
250 | #address-cells = <1>; | ||
251 | #size-cells = <1>; | ||
252 | ranges = <0x0 0x80000 0x10000>; | ||
253 | |||
254 | data@0 { | ||
255 | compatible = "fsl,cpm-muram-data"; | ||
256 | reg = <0x0 0x4000 0x9000 0x2000>; | ||
257 | }; | ||
258 | }; | ||
259 | |||
260 | brg@919f0 { | ||
261 | compatible = "fsl,mpc8560-brg", | ||
262 | "fsl,cpm2-brg", | ||
263 | "fsl,cpm-brg"; | ||
264 | reg = <0x919f0 0x10 0x915f0 0x10>; | ||
265 | clock-frequency = <165000000>; | ||
266 | }; | ||
267 | |||
268 | cpmpic: pic@90c00 { | ||
269 | interrupt-controller; | ||
270 | #address-cells = <0>; | ||
271 | #interrupt-cells = <2>; | ||
272 | interrupts = <0x2e 0x2>; | ||
273 | interrupt-parent = <&mpic>; | ||
274 | reg = <0x90c00 0x80>; | ||
275 | compatible = "fsl,mpc8560-cpm-pic", "fsl,cpm2-pic"; | ||
276 | }; | ||
277 | |||
278 | enet2: ethernet@91320 { | ||
279 | device_type = "network"; | ||
280 | compatible = "fsl,mpc8560-fcc-enet", | ||
281 | "fsl,cpm2-fcc-enet"; | ||
282 | reg = <0x91320 0x20 0x88500 0x100 0x913b0 0x1>; | ||
283 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
284 | fsl,cpm-command = <0x16200300>; | ||
285 | interrupts = <0x21 0x8>; | ||
286 | interrupt-parent = <&cpmpic>; | ||
287 | phy-handle = <&phy2>; | ||
288 | }; | ||
289 | |||
290 | enet3: ethernet@91340 { | ||
291 | device_type = "network"; | ||
292 | compatible = "fsl,mpc8560-fcc-enet", | ||
293 | "fsl,cpm2-fcc-enet"; | ||
294 | reg = <0x91340 0x20 0x88600 0x100 0x913d0 0x1>; | ||
295 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
296 | fsl,cpm-command = <0x1a400300>; | ||
297 | interrupts = <0x22 0x8>; | ||
298 | interrupt-parent = <&cpmpic>; | ||
299 | phy-handle = <&phy3>; | ||
300 | }; | ||
301 | }; | ||
302 | |||
303 | global-utilities@e0000 { | ||
304 | compatible = "fsl,mpc8560-guts"; | ||
305 | reg = <0xe0000 0x1000>; | ||
306 | }; | ||
307 | }; | ||
308 | |||
309 | pci0: pci@ff708000 { | ||
310 | #interrupt-cells = <1>; | ||
311 | #size-cells = <2>; | ||
312 | #address-cells = <3>; | ||
313 | compatible = "fsl,mpc8540-pcix", "fsl,mpc8540-pci"; | ||
314 | device_type = "pci"; | ||
315 | reg = <0xff708000 0x1000>; | ||
316 | clock-frequency = <66666666>; | ||
317 | interrupt-map-mask = <0xf800 0x0 0x0 0x7>; | ||
318 | interrupt-map = < | ||
319 | |||
320 | /* IDSEL 0x02 */ | ||
321 | 0x1000 0x0 0x0 0x1 &mpic 0x2 0x1 | ||
322 | 0x1000 0x0 0x0 0x2 &mpic 0x3 0x1 | ||
323 | 0x1000 0x0 0x0 0x3 &mpic 0x4 0x1 | ||
324 | 0x1000 0x0 0x0 0x4 &mpic 0x5 0x1>; | ||
325 | |||
326 | interrupt-parent = <&mpic>; | ||
327 | interrupts = <0x18 0x2>; | ||
328 | bus-range = <0x0 0x0>; | ||
329 | ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x20000000 | ||
330 | 0x01000000 0x0 0x00000000 0xe2000000 0x0 0x00100000>; | ||
331 | }; | ||
332 | |||
333 | localbus@ff705000 { | ||
334 | compatible = "fsl,mpc8560-localbus"; | ||
335 | #address-cells = <2>; | ||
336 | #size-cells = <1>; | ||
337 | reg = <0xff705000 0x100>; // BRx, ORx, etc. | ||
338 | |||
339 | ranges = < | ||
340 | 0x0 0x0 0xff800000 0x0800000 // 8MB boot flash | ||
341 | 0x1 0x0 0xe4000000 0x4000000 // 64MB flash | ||
342 | 0x3 0x0 0x20000000 0x4000000 // 64MB SDRAM | ||
343 | 0x4 0x0 0x24000000 0x4000000 // 64MB SDRAM | ||
344 | 0x5 0x0 0xfc000000 0x0c00000 // EPLD | ||
345 | 0x6 0x0 0xe0000000 0x4000000 // 64MB flash | ||
346 | 0x7 0x0 0x80000000 0x0200000 // ATM1,2 | ||
347 | >; | ||
348 | |||
349 | epld@5,0 { | ||
350 | compatible = "wrs,epld-localbus"; | ||
351 | #address-cells = <2>; | ||
352 | #size-cells = <1>; | ||
353 | reg = <0x5 0x0 0xc00000>; | ||
354 | ranges = < | ||
355 | 0x0 0x0 0x5 0x000000 0x1fff // LED disp. | ||
356 | 0x1 0x0 0x5 0x100000 0x1fff // switches | ||
357 | 0x2 0x0 0x5 0x200000 0x1fff // ID reg. | ||
358 | 0x3 0x0 0x5 0x300000 0x1fff // status reg. | ||
359 | 0x4 0x0 0x5 0x400000 0x1fff // reset reg. | ||
360 | 0x5 0x0 0x5 0x500000 0x1fff // Wind port | ||
361 | 0x7 0x0 0x5 0x700000 0x1fff // UART #1 | ||
362 | 0x8 0x0 0x5 0x800000 0x1fff // UART #2 | ||
363 | 0x9 0x0 0x5 0x900000 0x1fff // RTC | ||
364 | 0xb 0x0 0x5 0xb00000 0x1fff // EEPROM | ||
365 | >; | ||
366 | |||
367 | bidr@2,0 { | ||
368 | compatible = "wrs,sbc8560-bidr"; | ||
369 | reg = <0x2 0x0 0x10>; | ||
370 | }; | ||
371 | |||
372 | bcsr@3,0 { | ||
373 | compatible = "wrs,sbc8560-bcsr"; | ||
374 | reg = <0x3 0x0 0x10>; | ||
375 | }; | ||
376 | |||
377 | brstcr@4,0 { | ||
378 | compatible = "wrs,sbc8560-brstcr"; | ||
379 | reg = <0x4 0x0 0x10>; | ||
380 | }; | ||
381 | |||
382 | serial0: serial@7,0 { | ||
383 | device_type = "serial"; | ||
384 | compatible = "ns16550"; | ||
385 | reg = <0x7 0x0 0x100>; | ||
386 | clock-frequency = <1843200>; | ||
387 | interrupts = <0x9 0x2>; | ||
388 | interrupt-parent = <&mpic>; | ||
389 | }; | ||
390 | |||
391 | serial1: serial@8,0 { | ||
392 | device_type = "serial"; | ||
393 | compatible = "ns16550"; | ||
394 | reg = <0x8 0x0 0x100>; | ||
395 | clock-frequency = <1843200>; | ||
396 | interrupts = <0xa 0x2>; | ||
397 | interrupt-parent = <&mpic>; | ||
398 | }; | ||
399 | |||
400 | rtc@9,0 { | ||
401 | compatible = "m48t59"; | ||
402 | reg = <0x9 0x0 0x1fff>; | ||
403 | }; | ||
404 | }; | ||
405 | }; | ||
406 | }; | ||
diff --git a/arch/powerpc/boot/flatdevtree_env.h b/arch/powerpc/boot/flatdevtree_env.h new file mode 100644 index 00000000000..66e0ebb1a36 --- /dev/null +++ b/arch/powerpc/boot/flatdevtree_env.h | |||
@@ -0,0 +1,27 @@ | |||
1 | /* | ||
2 | * This file adds the header file glue so that the shared files | ||
3 | * flatdevicetree.[ch] can compile and work in the powerpc bootwrapper. | ||
4 | * | ||
5 | * strncmp & strchr copied from <file:lib/string.c> | ||
6 | * Copyright (C) 1991, 1992 Linus Torvalds | ||
7 | * | ||
8 | * Maintained by: Mark A. Greer <mgreer@mvista.com> | ||
9 | */ | ||
10 | #ifndef _PPC_BOOT_FLATDEVTREE_ENV_H_ | ||
11 | #define _PPC_BOOT_FLATDEVTREE_ENV_H_ | ||
12 | |||
13 | #include <stdarg.h> | ||
14 | #include <stddef.h> | ||
15 | #include "types.h" | ||
16 | #include "string.h" | ||
17 | #include "stdio.h" | ||
18 | #include "ops.h" | ||
19 | |||
20 | #define be16_to_cpu(x) (x) | ||
21 | #define cpu_to_be16(x) (x) | ||
22 | #define be32_to_cpu(x) (x) | ||
23 | #define cpu_to_be32(x) (x) | ||
24 | #define be64_to_cpu(x) (x) | ||
25 | #define cpu_to_be64(x) (x) | ||
26 | |||
27 | #endif /* _PPC_BOOT_FLATDEVTREE_ENV_H_ */ | ||