diff options
author | Kumar Gala <galak@kernel.crashing.org> | 2011-10-19 11:59:21 -0400 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2011-11-24 03:01:35 -0500 |
commit | ce638731136753a64b29d704118938ac992895ea (patch) | |
tree | 385b167c20c2ab83dca4370e4f00d19f1d7c5888 /arch/powerpc/boot | |
parent | a45edbf9dc8cd7c7bfe2876b0efc2aee7bd6eb59 (diff) |
powerpc/85xx: p1020si.dtsi update interrupt handling
* set interrupt-parent at root so its not duplicate in every node
* Add mpic timers
* Move to 4-prop cells for mpic timer
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/boot')
-rw-r--r-- | arch/powerpc/boot/dts/p1020si.dtsi | 117 |
1 files changed, 56 insertions, 61 deletions
diff --git a/arch/powerpc/boot/dts/p1020si.dtsi b/arch/powerpc/boot/dts/p1020si.dtsi index 14dff6918ab6..b08c848551cf 100644 --- a/arch/powerpc/boot/dts/p1020si.dtsi +++ b/arch/powerpc/boot/dts/p1020si.dtsi | |||
@@ -14,6 +14,7 @@ | |||
14 | compatible = "fsl,P1020"; | 14 | compatible = "fsl,P1020"; |
15 | #address-cells = <2>; | 15 | #address-cells = <2>; |
16 | #size-cells = <2>; | 16 | #size-cells = <2>; |
17 | interrupt-parent = <&mpic>; | ||
17 | 18 | ||
18 | cpus { | 19 | cpus { |
19 | #address-cells = <1>; | 20 | #address-cells = <1>; |
@@ -37,8 +38,7 @@ | |||
37 | #size-cells = <1>; | 38 | #size-cells = <1>; |
38 | compatible = "fsl,p1020-elbc", "fsl,elbc", "simple-bus"; | 39 | compatible = "fsl,p1020-elbc", "fsl,elbc", "simple-bus"; |
39 | reg = <0 0xffe05000 0 0x1000>; | 40 | reg = <0 0xffe05000 0 0x1000>; |
40 | interrupts = <19 2>; | 41 | interrupts = <19 2 0 0>; |
41 | interrupt-parent = <&mpic>; | ||
42 | }; | 42 | }; |
43 | 43 | ||
44 | soc@ffe00000 { | 44 | soc@ffe00000 { |
@@ -58,15 +58,13 @@ | |||
58 | ecm@1000 { | 58 | ecm@1000 { |
59 | compatible = "fsl,p1020-ecm", "fsl,ecm"; | 59 | compatible = "fsl,p1020-ecm", "fsl,ecm"; |
60 | reg = <0x1000 0x1000>; | 60 | reg = <0x1000 0x1000>; |
61 | interrupts = <16 2>; | 61 | interrupts = <16 2 0 0>; |
62 | interrupt-parent = <&mpic>; | ||
63 | }; | 62 | }; |
64 | 63 | ||
65 | memory-controller@2000 { | 64 | memory-controller@2000 { |
66 | compatible = "fsl,p1020-memory-controller"; | 65 | compatible = "fsl,p1020-memory-controller"; |
67 | reg = <0x2000 0x1000>; | 66 | reg = <0x2000 0x1000>; |
68 | interrupt-parent = <&mpic>; | 67 | interrupts = <16 2 0 0>; |
69 | interrupts = <16 2>; | ||
70 | }; | 68 | }; |
71 | 69 | ||
72 | i2c@3000 { | 70 | i2c@3000 { |
@@ -75,8 +73,7 @@ | |||
75 | cell-index = <0>; | 73 | cell-index = <0>; |
76 | compatible = "fsl-i2c"; | 74 | compatible = "fsl-i2c"; |
77 | reg = <0x3000 0x100>; | 75 | reg = <0x3000 0x100>; |
78 | interrupts = <43 2>; | 76 | interrupts = <43 2 0 0>; |
79 | interrupt-parent = <&mpic>; | ||
80 | dfsrr; | 77 | dfsrr; |
81 | }; | 78 | }; |
82 | 79 | ||
@@ -86,8 +83,7 @@ | |||
86 | cell-index = <1>; | 83 | cell-index = <1>; |
87 | compatible = "fsl-i2c"; | 84 | compatible = "fsl-i2c"; |
88 | reg = <0x3100 0x100>; | 85 | reg = <0x3100 0x100>; |
89 | interrupts = <43 2>; | 86 | interrupts = <43 2 0 0>; |
90 | interrupt-parent = <&mpic>; | ||
91 | dfsrr; | 87 | dfsrr; |
92 | }; | 88 | }; |
93 | 89 | ||
@@ -97,8 +93,7 @@ | |||
97 | compatible = "ns16550"; | 93 | compatible = "ns16550"; |
98 | reg = <0x4500 0x100>; | 94 | reg = <0x4500 0x100>; |
99 | clock-frequency = <0>; | 95 | clock-frequency = <0>; |
100 | interrupts = <42 2>; | 96 | interrupts = <42 2 0 0>; |
101 | interrupt-parent = <&mpic>; | ||
102 | }; | 97 | }; |
103 | 98 | ||
104 | serial1: serial@4600 { | 99 | serial1: serial@4600 { |
@@ -107,8 +102,7 @@ | |||
107 | compatible = "ns16550"; | 102 | compatible = "ns16550"; |
108 | reg = <0x4600 0x100>; | 103 | reg = <0x4600 0x100>; |
109 | clock-frequency = <0>; | 104 | clock-frequency = <0>; |
110 | interrupts = <42 2>; | 105 | interrupts = <42 2 0 0>; |
111 | interrupt-parent = <&mpic>; | ||
112 | }; | 106 | }; |
113 | 107 | ||
114 | spi@7000 { | 108 | spi@7000 { |
@@ -116,8 +110,7 @@ | |||
116 | #size-cells = <0>; | 110 | #size-cells = <0>; |
117 | compatible = "fsl,p1020-espi", "fsl,mpc8536-espi"; | 111 | compatible = "fsl,p1020-espi", "fsl,mpc8536-espi"; |
118 | reg = <0x7000 0x1000>; | 112 | reg = <0x7000 0x1000>; |
119 | interrupts = <59 0x2>; | 113 | interrupts = <59 0x2 0 0>; |
120 | interrupt-parent = <&mpic>; | ||
121 | fsl,espi-num-chipselects = <4>; | 114 | fsl,espi-num-chipselects = <4>; |
122 | }; | 115 | }; |
123 | 116 | ||
@@ -125,8 +118,7 @@ | |||
125 | #gpio-cells = <2>; | 118 | #gpio-cells = <2>; |
126 | compatible = "fsl,mpc8572-gpio"; | 119 | compatible = "fsl,mpc8572-gpio"; |
127 | reg = <0xf000 0x100>; | 120 | reg = <0xf000 0x100>; |
128 | interrupts = <47 0x2>; | 121 | interrupts = <47 0x2 0 0>; |
129 | interrupt-parent = <&mpic>; | ||
130 | gpio-controller; | 122 | gpio-controller; |
131 | }; | 123 | }; |
132 | 124 | ||
@@ -135,8 +127,7 @@ | |||
135 | reg = <0x20000 0x1000>; | 127 | reg = <0x20000 0x1000>; |
136 | cache-line-size = <32>; // 32 bytes | 128 | cache-line-size = <32>; // 32 bytes |
137 | cache-size = <0x40000>; // L2,256K | 129 | cache-size = <0x40000>; // L2,256K |
138 | interrupt-parent = <&mpic>; | 130 | interrupts = <16 2 0 0>; |
139 | interrupts = <16 2>; | ||
140 | }; | 131 | }; |
141 | 132 | ||
142 | dma@21300 { | 133 | dma@21300 { |
@@ -150,29 +141,25 @@ | |||
150 | compatible = "fsl,eloplus-dma-channel"; | 141 | compatible = "fsl,eloplus-dma-channel"; |
151 | reg = <0x0 0x80>; | 142 | reg = <0x0 0x80>; |
152 | cell-index = <0>; | 143 | cell-index = <0>; |
153 | interrupt-parent = <&mpic>; | 144 | interrupts = <20 2 0 0>; |
154 | interrupts = <20 2>; | ||
155 | }; | 145 | }; |
156 | dma-channel@80 { | 146 | dma-channel@80 { |
157 | compatible = "fsl,eloplus-dma-channel"; | 147 | compatible = "fsl,eloplus-dma-channel"; |
158 | reg = <0x80 0x80>; | 148 | reg = <0x80 0x80>; |
159 | cell-index = <1>; | 149 | cell-index = <1>; |
160 | interrupt-parent = <&mpic>; | 150 | interrupts = <21 2 0 0>; |
161 | interrupts = <21 2>; | ||
162 | }; | 151 | }; |
163 | dma-channel@100 { | 152 | dma-channel@100 { |
164 | compatible = "fsl,eloplus-dma-channel"; | 153 | compatible = "fsl,eloplus-dma-channel"; |
165 | reg = <0x100 0x80>; | 154 | reg = <0x100 0x80>; |
166 | cell-index = <2>; | 155 | cell-index = <2>; |
167 | interrupt-parent = <&mpic>; | 156 | interrupts = <22 2 0 0>; |
168 | interrupts = <22 2>; | ||
169 | }; | 157 | }; |
170 | dma-channel@180 { | 158 | dma-channel@180 { |
171 | compatible = "fsl,eloplus-dma-channel"; | 159 | compatible = "fsl,eloplus-dma-channel"; |
172 | reg = <0x180 0x80>; | 160 | reg = <0x180 0x80>; |
173 | cell-index = <3>; | 161 | cell-index = <3>; |
174 | interrupt-parent = <&mpic>; | 162 | interrupts = <23 2 0 0>; |
175 | interrupts = <23 2>; | ||
176 | }; | 163 | }; |
177 | }; | 164 | }; |
178 | 165 | ||
@@ -202,20 +189,19 @@ | |||
202 | fsl,num_tx_queues = <0x8>; | 189 | fsl,num_tx_queues = <0x8>; |
203 | fsl,magic-packet; | 190 | fsl,magic-packet; |
204 | local-mac-address = [ 00 00 00 00 00 00 ]; | 191 | local-mac-address = [ 00 00 00 00 00 00 ]; |
205 | interrupt-parent = <&mpic>; | ||
206 | 192 | ||
207 | queue-group@0 { | 193 | queue-group@0 { |
208 | #address-cells = <1>; | 194 | #address-cells = <1>; |
209 | #size-cells = <1>; | 195 | #size-cells = <1>; |
210 | reg = <0xb0000 0x1000>; | 196 | reg = <0xb0000 0x1000>; |
211 | interrupts = <29 2 30 2 34 2>; | 197 | interrupts = <29 2 0 0 30 2 0 0 34 2 0 0>; |
212 | }; | 198 | }; |
213 | 199 | ||
214 | queue-group@1 { | 200 | queue-group@1 { |
215 | #address-cells = <1>; | 201 | #address-cells = <1>; |
216 | #size-cells = <1>; | 202 | #size-cells = <1>; |
217 | reg = <0xb4000 0x1000>; | 203 | reg = <0xb4000 0x1000>; |
218 | interrupts = <17 2 18 2 24 2>; | 204 | interrupts = <17 2 0 0 18 2 0 0 24 2 0 0>; |
219 | }; | 205 | }; |
220 | }; | 206 | }; |
221 | 207 | ||
@@ -229,20 +215,19 @@ | |||
229 | fsl,num_tx_queues = <0x8>; | 215 | fsl,num_tx_queues = <0x8>; |
230 | fsl,magic-packet; | 216 | fsl,magic-packet; |
231 | local-mac-address = [ 00 00 00 00 00 00 ]; | 217 | local-mac-address = [ 00 00 00 00 00 00 ]; |
232 | interrupt-parent = <&mpic>; | ||
233 | 218 | ||
234 | queue-group@0 { | 219 | queue-group@0 { |
235 | #address-cells = <1>; | 220 | #address-cells = <1>; |
236 | #size-cells = <1>; | 221 | #size-cells = <1>; |
237 | reg = <0xb1000 0x1000>; | 222 | reg = <0xb1000 0x1000>; |
238 | interrupts = <35 2 36 2 40 2>; | 223 | interrupts = <35 2 0 0 36 2 0 0 40 2 0 0>; |
239 | }; | 224 | }; |
240 | 225 | ||
241 | queue-group@1 { | 226 | queue-group@1 { |
242 | #address-cells = <1>; | 227 | #address-cells = <1>; |
243 | #size-cells = <1>; | 228 | #size-cells = <1>; |
244 | reg = <0xb5000 0x1000>; | 229 | reg = <0xb5000 0x1000>; |
245 | interrupts = <51 2 52 2 67 2>; | 230 | interrupts = <51 2 0 0 52 2 0 0 67 2 0 0>; |
246 | }; | 231 | }; |
247 | }; | 232 | }; |
248 | 233 | ||
@@ -256,20 +241,19 @@ | |||
256 | fsl,num_tx_queues = <0x8>; | 241 | fsl,num_tx_queues = <0x8>; |
257 | fsl,magic-packet; | 242 | fsl,magic-packet; |
258 | local-mac-address = [ 00 00 00 00 00 00 ]; | 243 | local-mac-address = [ 00 00 00 00 00 00 ]; |
259 | interrupt-parent = <&mpic>; | ||
260 | 244 | ||
261 | queue-group@0 { | 245 | queue-group@0 { |
262 | #address-cells = <1>; | 246 | #address-cells = <1>; |
263 | #size-cells = <1>; | 247 | #size-cells = <1>; |
264 | reg = <0xb2000 0x1000>; | 248 | reg = <0xb2000 0x1000>; |
265 | interrupts = <31 2 32 2 33 2>; | 249 | interrupts = <31 2 0 0 32 2 0 0 33 2 0 0>; |
266 | }; | 250 | }; |
267 | 251 | ||
268 | queue-group@1 { | 252 | queue-group@1 { |
269 | #address-cells = <1>; | 253 | #address-cells = <1>; |
270 | #size-cells = <1>; | 254 | #size-cells = <1>; |
271 | reg = <0xb6000 0x1000>; | 255 | reg = <0xb6000 0x1000>; |
272 | interrupts = <25 2 26 2 27 2>; | 256 | interrupts = <25 2 0 0 26 2 0 0 27 2 0 0>; |
273 | }; | 257 | }; |
274 | }; | 258 | }; |
275 | 259 | ||
@@ -278,8 +262,7 @@ | |||
278 | #size-cells = <0>; | 262 | #size-cells = <0>; |
279 | compatible = "fsl-usb2-dr"; | 263 | compatible = "fsl-usb2-dr"; |
280 | reg = <0x22000 0x1000>; | 264 | reg = <0x22000 0x1000>; |
281 | interrupt-parent = <&mpic>; | 265 | interrupts = <28 0x2 0 0>; |
282 | interrupts = <28 0x2>; | ||
283 | }; | 266 | }; |
284 | 267 | ||
285 | /* USB2 is shared with localbus, so it must be disabled | 268 | /* USB2 is shared with localbus, so it must be disabled |
@@ -292,8 +275,7 @@ | |||
292 | #size-cells = <0>; | 275 | #size-cells = <0>; |
293 | compatible = "fsl-usb2-dr"; | 276 | compatible = "fsl-usb2-dr"; |
294 | reg = <0x23000 0x1000>; | 277 | reg = <0x23000 0x1000>; |
295 | interrupt-parent = <&mpic>; | 278 | interrupts = <46 0x2 0 0>; |
296 | interrupts = <46 0x2>; | ||
297 | phy_type = "ulpi"; | 279 | phy_type = "ulpi"; |
298 | }; | 280 | }; |
299 | */ | 281 | */ |
@@ -301,8 +283,7 @@ | |||
301 | sdhci@2e000 { | 283 | sdhci@2e000 { |
302 | compatible = "fsl,p1020-esdhc", "fsl,esdhc"; | 284 | compatible = "fsl,p1020-esdhc", "fsl,esdhc"; |
303 | reg = <0x2e000 0x1000>; | 285 | reg = <0x2e000 0x1000>; |
304 | interrupts = <72 0x2>; | 286 | interrupts = <72 0x2 0 0>; |
305 | interrupt-parent = <&mpic>; | ||
306 | /* Filled in by U-Boot */ | 287 | /* Filled in by U-Boot */ |
307 | clock-frequency = <0>; | 288 | clock-frequency = <0>; |
308 | }; | 289 | }; |
@@ -312,8 +293,7 @@ | |||
312 | "fsl,sec2.4", "fsl,sec2.2", "fsl,sec2.1", | 293 | "fsl,sec2.4", "fsl,sec2.2", "fsl,sec2.1", |
313 | "fsl,sec2.0"; | 294 | "fsl,sec2.0"; |
314 | reg = <0x30000 0x10000>; | 295 | reg = <0x30000 0x10000>; |
315 | interrupts = <45 2 58 2>; | 296 | interrupts = <45 2 0 0 58 2 0 0>; |
316 | interrupt-parent = <&mpic>; | ||
317 | fsl,num-channels = <4>; | 297 | fsl,num-channels = <4>; |
318 | fsl,channel-fifo-len = <24>; | 298 | fsl,channel-fifo-len = <24>; |
319 | fsl,exec-units-mask = <0x97c>; | 299 | fsl,exec-units-mask = <0x97c>; |
@@ -323,26 +303,43 @@ | |||
323 | mpic: pic@40000 { | 303 | mpic: pic@40000 { |
324 | interrupt-controller; | 304 | interrupt-controller; |
325 | #address-cells = <0>; | 305 | #address-cells = <0>; |
326 | #interrupt-cells = <2>; | 306 | #interrupt-cells = <4>; |
327 | reg = <0x40000 0x40000>; | 307 | reg = <0x40000 0x40000>; |
328 | compatible = "chrp,open-pic"; | 308 | compatible = "chrp,open-pic"; |
329 | device_type = "open-pic"; | 309 | device_type = "open-pic"; |
330 | }; | 310 | }; |
331 | 311 | ||
312 | timer@41100 { | ||
313 | compatible = "fsl,mpic-global-timer"; | ||
314 | reg = <0x41100 0x100 0x41300 4>; | ||
315 | interrupts = <0 0 3 0 | ||
316 | 1 0 3 0 | ||
317 | 2 0 3 0 | ||
318 | 3 0 3 0>; | ||
319 | }; | ||
320 | |||
321 | timer@42100 { | ||
322 | compatible = "fsl,mpic-global-timer"; | ||
323 | reg = <0x42100 0x100 0x42300 4>; | ||
324 | interrupts = <4 0 3 0 | ||
325 | 5 0 3 0 | ||
326 | 6 0 3 0 | ||
327 | 7 0 3 0>; | ||
328 | }; | ||
329 | |||
332 | msi@41600 { | 330 | msi@41600 { |
333 | compatible = "fsl,p1020-msi", "fsl,mpic-msi"; | 331 | compatible = "fsl,p1020-msi", "fsl,mpic-msi"; |
334 | reg = <0x41600 0x80>; | 332 | reg = <0x41600 0x80>; |
335 | msi-available-ranges = <0 0x100>; | 333 | msi-available-ranges = <0 0x100>; |
336 | interrupts = < | 334 | interrupts = < |
337 | 0xe0 0 | 335 | 0xe0 0 0 0 |
338 | 0xe1 0 | 336 | 0xe1 0 0 0 |
339 | 0xe2 0 | 337 | 0xe2 0 0 0 |
340 | 0xe3 0 | 338 | 0xe3 0 0 0 |
341 | 0xe4 0 | 339 | 0xe4 0 0 0 |
342 | 0xe5 0 | 340 | 0xe5 0 0 0 |
343 | 0xe6 0 | 341 | 0xe6 0 0 0 |
344 | 0xe7 0>; | 342 | 0xe7 0 0 0>; |
345 | interrupt-parent = <&mpic>; | ||
346 | }; | 343 | }; |
347 | 344 | ||
348 | global-utilities@e0000 { //global utilities block | 345 | global-utilities@e0000 { //global utilities block |
@@ -359,8 +356,7 @@ | |||
359 | #address-cells = <3>; | 356 | #address-cells = <3>; |
360 | bus-range = <0 255>; | 357 | bus-range = <0 255>; |
361 | clock-frequency = <33333333>; | 358 | clock-frequency = <33333333>; |
362 | interrupt-parent = <&mpic>; | 359 | interrupts = <16 2 0 0>; |
363 | interrupts = <16 2>; | ||
364 | 360 | ||
365 | pcie@0 { | 361 | pcie@0 { |
366 | reg = <0 0 0 0 0>; | 362 | reg = <0 0 0 0 0>; |
@@ -368,7 +364,7 @@ | |||
368 | #size-cells = <2>; | 364 | #size-cells = <2>; |
369 | #address-cells = <3>; | 365 | #address-cells = <3>; |
370 | device_type = "pci"; | 366 | device_type = "pci"; |
371 | interrupts = <16 2>; | 367 | interrupts = <16 2 0 0>; |
372 | interrupt-map-mask = <0xf800 0 0 7>; | 368 | interrupt-map-mask = <0xf800 0 0 7>; |
373 | interrupt-map = < | 369 | interrupt-map = < |
374 | /* IDSEL 0x0 */ | 370 | /* IDSEL 0x0 */ |
@@ -388,8 +384,7 @@ | |||
388 | #address-cells = <3>; | 384 | #address-cells = <3>; |
389 | bus-range = <0 255>; | 385 | bus-range = <0 255>; |
390 | clock-frequency = <33333333>; | 386 | clock-frequency = <33333333>; |
391 | interrupt-parent = <&mpic>; | 387 | interrupts = <16 2 0 0>; |
392 | interrupts = <16 2>; | ||
393 | 388 | ||
394 | pcie@0 { | 389 | pcie@0 { |
395 | reg = <0 0 0 0 0>; | 390 | reg = <0 0 0 0 0>; |
@@ -397,7 +392,7 @@ | |||
397 | #size-cells = <2>; | 392 | #size-cells = <2>; |
398 | #address-cells = <3>; | 393 | #address-cells = <3>; |
399 | device_type = "pci"; | 394 | device_type = "pci"; |
400 | interrupts = <16 2>; | 395 | interrupts = <16 2 0 0>; |
401 | interrupt-map-mask = <0xf800 0 0 7>; | 396 | interrupt-map-mask = <0xf800 0 0 7>; |
402 | 397 | ||
403 | interrupt-map = < | 398 | interrupt-map = < |