blob: f367df5d3669e6846c012dda3529342979b9bc20 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/* $Id: icc.h,v 1.4.2.2 2004/01/12 22:52:26 keil Exp $
2 *
3 * ICC specific routines
4 *
5 * Author Matt Henderson & Guy Ellis
6 * Copyright by Traverse Technologies Pty Ltd, www.travers.com.au
Joe Perches475be4d2012-02-19 19:52:38 -08007 *
Linus Torvalds1da177e2005-04-16 15:20:36 -07008 * This software may be used and distributed according to the terms
9 * of the GNU General Public License, incorporated herein by reference.
10 *
Joe Perches475be4d2012-02-19 19:52:38 -080011 * 1999.7.14 Initial implementation of routines for Siemens ISDN
12 * Communication Controller PEB 2070 based on the ISAC routines
Linus Torvalds1da177e2005-04-16 15:20:36 -070013 * written by Karsten Keil.
14 */
15
16/* All Registers original Siemens Spec */
17
18#define ICC_MASK 0x20
19#define ICC_ISTA 0x20
20#define ICC_STAR 0x21
21#define ICC_CMDR 0x21
22#define ICC_EXIR 0x24
23#define ICC_ADF2 0x39
24#define ICC_SPCR 0x30
25#define ICC_ADF1 0x38
26#define ICC_CIR0 0x31
27#define ICC_CIX0 0x31
28#define ICC_CIR1 0x33
29#define ICC_CIX1 0x33
30#define ICC_STCR 0x37
31#define ICC_MODE 0x22
32#define ICC_RSTA 0x27
33#define ICC_RBCL 0x25
34#define ICC_RBCH 0x2A
35#define ICC_TIMR 0x23
36#define ICC_SQXR 0x3b
37#define ICC_MOSR 0x3a
38#define ICC_MOCR 0x3a
39#define ICC_MOR0 0x32
40#define ICC_MOX0 0x32
41#define ICC_MOR1 0x34
42#define ICC_MOX1 0x34
43
44#define ICC_RBCH_XAC 0x80
45
46#define ICC_CMD_TIM 0x0
47#define ICC_CMD_RES 0x1
48#define ICC_CMD_DU 0x3
49#define ICC_CMD_EI1 0x4
50#define ICC_CMD_SSP 0x5
51#define ICC_CMD_DT 0x6
52#define ICC_CMD_AR 0x8
53#define ICC_CMD_ARL 0xA
54#define ICC_CMD_AI 0xC
55#define ICC_CMD_DI 0xF
56
57#define ICC_IND_DR 0x0
58#define ICC_IND_FJ 0x2
59#define ICC_IND_EI1 0x4
60#define ICC_IND_INT 0x6
61#define ICC_IND_PU 0x7
62#define ICC_IND_AR 0x8
63#define ICC_IND_ARL 0xA
64#define ICC_IND_AI 0xC
65#define ICC_IND_AIL 0xE
66#define ICC_IND_DC 0xF
67
Karsten Keil67eb5db2006-07-10 04:44:11 -070068extern void ICCVersion(struct IsdnCardState *cs, char *s);
Linus Torvalds1da177e2005-04-16 15:20:36 -070069extern void initicc(struct IsdnCardState *cs);
70extern void icc_interrupt(struct IsdnCardState *cs, u_char val);
71extern void clear_pending_icc_ints(struct IsdnCardState *cs);
72extern void setup_icc(struct IsdnCardState *);