Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* $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 Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 7 | * |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 8 | * This software may be used and distributed according to the terms |
| 9 | * of the GNU General Public License, incorporated herein by reference. |
| 10 | * |
Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 11 | * 1999.7.14 Initial implementation of routines for Siemens ISDN |
| 12 | * Communication Controller PEB 2070 based on the ISAC routines |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 13 | * 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 Keil | 67eb5db | 2006-07-10 04:44:11 -0700 | [diff] [blame] | 68 | extern void ICCVersion(struct IsdnCardState *cs, char *s); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 69 | extern void initicc(struct IsdnCardState *cs); |
| 70 | extern void icc_interrupt(struct IsdnCardState *cs, u_char val); |
| 71 | extern void clear_pending_icc_ints(struct IsdnCardState *cs); |
| 72 | extern void setup_icc(struct IsdnCardState *); |