allow coexistance of N build and AC build.
[tomato.git] / release / src-rt-6.x / linux / linux-2.6 / arch / sh / kernel / cpu / ubc.S
blob81923079fa124ff471beb381e533e44622f17674
1 /*
2  * arch/sh/kernel/cpu/ubc.S
3  *
4  * Set of management routines for the User Break Controller (UBC)
5  *
6  * Copyright (C) 2002 Paul Mundt
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 #include <linux/linkage.h>
14 #include <asm/ubc.h>
16 #define STBCR2          0xffc00010
18 ENTRY(ubc_sleep)
19         mov     #0, r0
21         mov.l   1f, r1          ! Zero out UBC_BBRA ..
22         mov.w   r0, @r1
24         mov.l   2f, r1          ! .. same for BBRB ..
25         mov.w   r0, @r1
27         mov.l   3f, r1          ! .. and again for BRCR.
28         mov.w   r0, @r1
30         mov.w   @r1, r0         ! Dummy read BRCR
32         mov.l   4f, r1          ! Set MSTP5 in STBCR2
33         mov.b   @r1, r0
34         or      #0x01, r0
35         mov.b   r0, @r1
37         mov.b   @r1, r0         ! Two dummy reads ..
38         mov.b   @r1, r0
40         rts
41         nop
43 ENTRY(ubc_wakeup)
44         mov.l   4f, r1          ! Clear MSTP5
45         mov.b   @r1, r0
46         and     #0xfe, r0
47         mov.b   r0, @r1
49         mov.b   @r1, r0         ! Two more dummy reads ..
50         mov.b   @r1, r0
52         rts
53         nop
55 1:      .long   UBC_BBRA
56 2:      .long   UBC_BBRB
57 3:      .long   UBC_BRCR
58 4:      .long   STBCR2