diff options
author | Anton Vorontsov <avorontsov@ru.mvista.com> | 2009-09-15 17:44:00 -0400 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2009-11-11 22:43:30 -0500 |
commit | 8c68e2f7885b22f0a63bf087752a46b690d6b6ea (patch) | |
tree | 5dcb238c4bb85f43ab46d9c33ad3c060824773cf /arch/powerpc/boot | |
parent | 3cfee0aaa1c7767e1b85272a0621e3a78ece7879 (diff) |
powerpc/86xx: Add power management support for MPC8610HPCD boards
This patch adds needed nodes and properties to support suspend/resume
on the MPC8610HPCD boards.
There is a dedicated switch (SW9) that is used to wake up the boards.
By default the SW9 button is routed to IRQ8, but could be re-routed
(via PIXIS) to sreset.
With 'no_console_suspend' kernel command line argument specified, the
board is also able to wakeup upon serial port input.
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Acked-by: Scott Wood <scottwood@freescale.com> [dts]
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/boot')
-rw-r--r-- | arch/powerpc/boot/dts/mpc8610_hpcd.dts | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/arch/powerpc/boot/dts/mpc8610_hpcd.dts b/arch/powerpc/boot/dts/mpc8610_hpcd.dts index f468d215f716..9535ce68caae 100644 --- a/arch/powerpc/boot/dts/mpc8610_hpcd.dts +++ b/arch/powerpc/boot/dts/mpc8610_hpcd.dts | |||
@@ -35,6 +35,8 @@ | |||
35 | i-cache-line-size = <32>; | 35 | i-cache-line-size = <32>; |
36 | d-cache-size = <32768>; // L1 | 36 | d-cache-size = <32768>; // L1 |
37 | i-cache-size = <32768>; // L1 | 37 | i-cache-size = <32768>; // L1 |
38 | sleep = <&pmc 0x00008000 0 // core | ||
39 | &pmc 0x00004000 0>; // timebase | ||
38 | timebase-frequency = <0>; // From uboot | 40 | timebase-frequency = <0>; // From uboot |
39 | bus-frequency = <0>; // From uboot | 41 | bus-frequency = <0>; // From uboot |
40 | clock-frequency = <0>; // From uboot | 42 | clock-frequency = <0>; // From uboot |
@@ -60,6 +62,7 @@ | |||
60 | 5 0 0xe8480000 0x00008000 | 62 | 5 0 0xe8480000 0x00008000 |
61 | 6 0 0xe84c0000 0x00008000 | 63 | 6 0 0xe84c0000 0x00008000 |
62 | 3 0 0xe8000000 0x00000020>; | 64 | 3 0 0xe8000000 0x00000020>; |
65 | sleep = <&pmc 0x08000000 0>; | ||
63 | 66 | ||
64 | flash@0,0 { | 67 | flash@0,0 { |
65 | compatible = "cfi-flash"; | 68 | compatible = "cfi-flash"; |
@@ -105,6 +108,8 @@ | |||
105 | compatible = "fsl,fpga-pixis"; | 108 | compatible = "fsl,fpga-pixis"; |
106 | reg = <3 0 0x20>; | 109 | reg = <3 0 0x20>; |
107 | ranges = <0 3 0 0x20>; | 110 | ranges = <0 3 0 0x20>; |
111 | interrupt-parent = <&mpic>; | ||
112 | interrupts = <8 8>; | ||
108 | 113 | ||
109 | sdcsr_pio: gpio-controller@a { | 114 | sdcsr_pio: gpio-controller@a { |
110 | #gpio-cells = <2>; | 115 | #gpio-cells = <2>; |
@@ -163,6 +168,7 @@ | |||
163 | reg = <0x3100 0x100>; | 168 | reg = <0x3100 0x100>; |
164 | interrupts = <43 2>; | 169 | interrupts = <43 2>; |
165 | interrupt-parent = <&mpic>; | 170 | interrupt-parent = <&mpic>; |
171 | sleep = <&pmc 0x00000004 0>; | ||
166 | dfsrr; | 172 | dfsrr; |
167 | }; | 173 | }; |
168 | 174 | ||
@@ -174,6 +180,7 @@ | |||
174 | clock-frequency = <0>; | 180 | clock-frequency = <0>; |
175 | interrupts = <42 2>; | 181 | interrupts = <42 2>; |
176 | interrupt-parent = <&mpic>; | 182 | interrupt-parent = <&mpic>; |
183 | sleep = <&pmc 0x00000002 0>; | ||
177 | }; | 184 | }; |
178 | 185 | ||
179 | serial1: serial@4600 { | 186 | serial1: serial@4600 { |
@@ -184,6 +191,7 @@ | |||
184 | clock-frequency = <0>; | 191 | clock-frequency = <0>; |
185 | interrupts = <42 2>; | 192 | interrupts = <42 2>; |
186 | interrupt-parent = <&mpic>; | 193 | interrupt-parent = <&mpic>; |
194 | sleep = <&pmc 0x00000008 0>; | ||
187 | }; | 195 | }; |
188 | 196 | ||
189 | spi@7000 { | 197 | spi@7000 { |
@@ -196,6 +204,7 @@ | |||
196 | interrupt-parent = <&mpic>; | 204 | interrupt-parent = <&mpic>; |
197 | mode = "cpu"; | 205 | mode = "cpu"; |
198 | gpios = <&sdcsr_pio 7 0>; | 206 | gpios = <&sdcsr_pio 7 0>; |
207 | sleep = <&pmc 0x00000800 0>; | ||
199 | 208 | ||
200 | mmc-slot@0 { | 209 | mmc-slot@0 { |
201 | compatible = "fsl,mpc8610hpcd-mmc-slot", | 210 | compatible = "fsl,mpc8610hpcd-mmc-slot", |
@@ -213,6 +222,7 @@ | |||
213 | reg = <0x2c000 100>; | 222 | reg = <0x2c000 100>; |
214 | interrupts = <72 2>; | 223 | interrupts = <72 2>; |
215 | interrupt-parent = <&mpic>; | 224 | interrupt-parent = <&mpic>; |
225 | sleep = <&pmc 0x04000000 0>; | ||
216 | }; | 226 | }; |
217 | 227 | ||
218 | mpic: interrupt-controller@40000 { | 228 | mpic: interrupt-controller@40000 { |
@@ -241,9 +251,18 @@ | |||
241 | }; | 251 | }; |
242 | 252 | ||
243 | global-utilities@e0000 { | 253 | global-utilities@e0000 { |
254 | #address-cells = <1>; | ||
255 | #size-cells = <1>; | ||
244 | compatible = "fsl,mpc8610-guts"; | 256 | compatible = "fsl,mpc8610-guts"; |
245 | reg = <0xe0000 0x1000>; | 257 | reg = <0xe0000 0x1000>; |
258 | ranges = <0 0xe0000 0x1000>; | ||
246 | fsl,has-rstcr; | 259 | fsl,has-rstcr; |
260 | |||
261 | pmc: power@70 { | ||
262 | compatible = "fsl,mpc8610-pmc", | ||
263 | "fsl,mpc8641d-pmc"; | ||
264 | reg = <0x70 0x20>; | ||
265 | }; | ||
247 | }; | 266 | }; |
248 | 267 | ||
249 | wdt@e4000 { | 268 | wdt@e4000 { |
@@ -262,6 +281,7 @@ | |||
262 | fsl,playback-dma = <&dma00>; | 281 | fsl,playback-dma = <&dma00>; |
263 | fsl,capture-dma = <&dma01>; | 282 | fsl,capture-dma = <&dma01>; |
264 | fsl,fifo-depth = <8>; | 283 | fsl,fifo-depth = <8>; |
284 | sleep = <&pmc 0 0x08000000>; | ||
265 | }; | 285 | }; |
266 | 286 | ||
267 | ssi@16100 { | 287 | ssi@16100 { |
@@ -271,6 +291,7 @@ | |||
271 | interrupt-parent = <&mpic>; | 291 | interrupt-parent = <&mpic>; |
272 | interrupts = <63 2>; | 292 | interrupts = <63 2>; |
273 | fsl,fifo-depth = <8>; | 293 | fsl,fifo-depth = <8>; |
294 | sleep = <&pmc 0 0x04000000>; | ||
274 | }; | 295 | }; |
275 | 296 | ||
276 | dma@21300 { | 297 | dma@21300 { |
@@ -280,6 +301,7 @@ | |||
280 | cell-index = <0>; | 301 | cell-index = <0>; |
281 | reg = <0x21300 0x4>; /* DMA general status register */ | 302 | reg = <0x21300 0x4>; /* DMA general status register */ |
282 | ranges = <0x0 0x21100 0x200>; | 303 | ranges = <0x0 0x21100 0x200>; |
304 | sleep = <&pmc 0x00000400 0>; | ||
283 | 305 | ||
284 | dma00: dma-channel@0 { | 306 | dma00: dma-channel@0 { |
285 | compatible = "fsl,mpc8610-dma-channel", | 307 | compatible = "fsl,mpc8610-dma-channel", |
@@ -322,6 +344,7 @@ | |||
322 | cell-index = <1>; | 344 | cell-index = <1>; |
323 | reg = <0xc300 0x4>; /* DMA general status register */ | 345 | reg = <0xc300 0x4>; /* DMA general status register */ |
324 | ranges = <0x0 0xc100 0x200>; | 346 | ranges = <0x0 0xc100 0x200>; |
347 | sleep = <&pmc 0x00000200 0>; | ||
325 | 348 | ||
326 | dma-channel@0 { | 349 | dma-channel@0 { |
327 | compatible = "fsl,mpc8610-dma-channel", | 350 | compatible = "fsl,mpc8610-dma-channel", |
@@ -369,6 +392,7 @@ | |||
369 | bus-range = <0 0>; | 392 | bus-range = <0 0>; |
370 | ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x10000000 | 393 | ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x10000000 |
371 | 0x01000000 0x0 0x00000000 0xe1000000 0x0 0x00100000>; | 394 | 0x01000000 0x0 0x00000000 0xe1000000 0x0 0x00100000>; |
395 | sleep = <&pmc 0x80000000 0>; | ||
372 | clock-frequency = <33333333>; | 396 | clock-frequency = <33333333>; |
373 | interrupt-parent = <&mpic>; | 397 | interrupt-parent = <&mpic>; |
374 | interrupts = <24 2>; | 398 | interrupts = <24 2>; |
@@ -398,6 +422,7 @@ | |||
398 | bus-range = <1 3>; | 422 | bus-range = <1 3>; |
399 | ranges = <0x02000000 0x0 0xa0000000 0xa0000000 0x0 0x10000000 | 423 | ranges = <0x02000000 0x0 0xa0000000 0xa0000000 0x0 0x10000000 |
400 | 0x01000000 0x0 0x00000000 0xe3000000 0x0 0x00100000>; | 424 | 0x01000000 0x0 0x00000000 0xe3000000 0x0 0x00100000>; |
425 | sleep = <&pmc 0x40000000 0>; | ||
401 | clock-frequency = <33333333>; | 426 | clock-frequency = <33333333>; |
402 | interrupt-parent = <&mpic>; | 427 | interrupt-parent = <&mpic>; |
403 | interrupts = <26 2>; | 428 | interrupts = <26 2>; |
@@ -474,6 +499,7 @@ | |||
474 | 0x0000 0 0 4 &mpic 7 1>; | 499 | 0x0000 0 0 4 &mpic 7 1>; |
475 | interrupt-parent = <&mpic>; | 500 | interrupt-parent = <&mpic>; |
476 | interrupts = <25 2>; | 501 | interrupts = <25 2>; |
502 | sleep = <&pmc 0x20000000 0>; | ||
477 | clock-frequency = <33333333>; | 503 | clock-frequency = <33333333>; |
478 | }; | 504 | }; |
479 | }; | 505 | }; |