Merge branch 'next' into for-linus
[linux-2.6] / arch / sh / boards / mach-hp6xx / pm_wakeup.S
1 /*
2  * Copyright (c) 2006 Andriy Skulysh <askulsyh@gmail.com>
3  *
4  * This file is subject to the terms and conditions of the GNU General Public
5  * License.  See the file "COPYING" in the main directory of this archive
6  * for more details.
7  *
8  */
9
10 #include <linux/linkage.h>
11 #include <cpu/mmu_context.h>
12
13 /*
14  * Kernel mode register usage:
15  *      k0      scratch
16  *      k1      scratch
17  * For more details, please have a look at entry.S
18  */
19
20 #define k0      r0
21 #define k1      r1
22
23 ENTRY(wakeup_start)
24 ! clear STBY bit
25         mov     #-126, k1
26         and     #127, k0
27         mov.b   k0, @k1
28 ! enable refresh
29         mov.l   5f, k1
30         mov.w   6f, k0
31         mov.w   k0, @k1
32 ! jump to handler
33         mov.l   4f, k1
34         jmp     @k1
35          nop
36
37         .align  2
38 4:      .long   handle_interrupt
39 5:      .long   0xffffff68
40 6:      .word   0x0524
41
42 ENTRY(wakeup_end)
43         nop