Merge master.kernel.org:/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog
[linux-2.6] / drivers / isdn / hisax / isac.h
1 /* $Id: isac.h,v 1.9.2.2 2004/01/12 22:52:27 keil Exp $
2  *
3  * ISAC specific defines
4  *
5  * Author       Karsten Keil
6  * Copyright    by Karsten Keil      <keil@isdn4linux.de>
7  * 
8  * This software may be used and distributed according to the terms
9  * of the GNU General Public License, incorporated herein by reference.
10  *
11  */
12
13 /* All Registers original Siemens Spec  */
14
15 #define ISAC_MASK 0x20
16 #define ISAC_ISTA 0x20
17 #define ISAC_STAR 0x21
18 #define ISAC_CMDR 0x21
19 #define ISAC_EXIR 0x24
20 #define ISAC_ADF2 0x39
21 #define ISAC_SPCR 0x30
22 #define ISAC_ADF1 0x38
23 #define ISAC_CIR0 0x31
24 #define ISAC_CIX0 0x31
25 #define ISAC_CIR1 0x33
26 #define ISAC_CIX1 0x33
27 #define ISAC_STCR 0x37
28 #define ISAC_MODE 0x22
29 #define ISAC_RSTA 0x27
30 #define ISAC_RBCL 0x25
31 #define ISAC_RBCH 0x2A
32 #define ISAC_TIMR 0x23
33 #define ISAC_SQXR 0x3b
34 #define ISAC_MOSR 0x3a
35 #define ISAC_MOCR 0x3a
36 #define ISAC_MOR0 0x32
37 #define ISAC_MOX0 0x32
38 #define ISAC_MOR1 0x34
39 #define ISAC_MOX1 0x34
40
41 #define ISAC_RBCH_XAC 0x80
42
43 #define ISAC_CMD_TIM    0x0
44 #define ISAC_CMD_RS     0x1
45 #define ISAC_CMD_SCZ    0x4
46 #define ISAC_CMD_SSZ    0x2
47 #define ISAC_CMD_AR8    0x8
48 #define ISAC_CMD_AR10   0x9
49 #define ISAC_CMD_ARL    0xA
50 #define ISAC_CMD_DUI    0xF
51
52 #define ISAC_IND_RS     0x1
53 #define ISAC_IND_PU     0x7
54 #define ISAC_IND_DR     0x0
55 #define ISAC_IND_SD     0x2
56 #define ISAC_IND_DIS    0x3
57 #define ISAC_IND_EI     0x6
58 #define ISAC_IND_RSY    0x4
59 #define ISAC_IND_ARD    0x8
60 #define ISAC_IND_TI     0xA
61 #define ISAC_IND_ATI    0xB
62 #define ISAC_IND_AI8    0xC
63 #define ISAC_IND_AI10   0xD
64 #define ISAC_IND_DID    0xF
65
66 extern void ISACVersion(struct IsdnCardState *, char *);
67 extern void setup_isac(struct IsdnCardState *);
68 extern void initisac(struct IsdnCardState *);
69 extern void isac_interrupt(struct IsdnCardState *, u_char);
70 extern void clear_pending_isac_ints(struct IsdnCardState *);