blob: e8a22e8f34b674b0fc1e741cc069df3ae1f73b36 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
2 *
3 * IPACX specific defines
4 *
5 * This software may be used and distributed according to the terms
6 * of the GNU General Public License, incorporated herein by reference.
7 *
8 */
9
10/* All Registers original Siemens Spec */
11
12#ifndef INCLUDE_IPACX_H
13#define INCLUDE_IPACX_H
14
15/* D-channel registers */
16#define IPACX_RFIFOD 0x00 /* RD */
17#define IPACX_XFIFOD 0x00 /* WR */
18#define IPACX_ISTAD 0x20 /* RD */
19#define IPACX_MASKD 0x20 /* WR */
20#define IPACX_STARD 0x21 /* RD */
21#define IPACX_CMDRD 0x21 /* WR */
22#define IPACX_MODED 0x22 /* RD/WR */
23#define IPACX_EXMD1 0x23 /* RD/WR */
24#define IPACX_TIMR1 0x24 /* RD/WR */
25#define IPACX_SAP1 0x25 /* WR */
26#define IPACX_SAP2 0x26 /* WR */
27#define IPACX_RBCLD 0x26 /* RD */
28#define IPACX_RBCHD 0x27 /* RD */
29#define IPACX_TEI1 0x27 /* WR */
30#define IPACX_TEI2 0x28 /* WR */
31#define IPACX_RSTAD 0x28 /* RD */
32#define IPACX_TMD 0x29 /* RD/WR */
33#define IPACX_CIR0 0x2E /* RD */
34#define IPACX_CIX0 0x2E /* WR */
35#define IPACX_CIR1 0x2F /* RD */
36#define IPACX_CIX1 0x2F /* WR */
37
38/* Transceiver registers */
39#define IPACX_TR_CONF0 0x30 /* RD/WR */
40#define IPACX_TR_CONF1 0x31 /* RD/WR */
41#define IPACX_TR_CONF2 0x32 /* RD/WR */
42#define IPACX_TR_STA 0x33 /* RD */
43#define IPACX_TR_CMD 0x34 /* RD/WR */
44#define IPACX_SQRR1 0x35 /* RD */
45#define IPACX_SQXR1 0x35 /* WR */
46#define IPACX_SQRR2 0x36 /* RD */
47#define IPACX_SQXR2 0x36 /* WR */
48#define IPACX_SQRR3 0x37 /* RD */
49#define IPACX_SQXR3 0x37 /* WR */
50#define IPACX_ISTATR 0x38 /* RD */
51#define IPACX_MASKTR 0x39 /* RD/WR */
52#define IPACX_TR_MODE 0x3A /* RD/WR */
53#define IPACX_ACFG1 0x3C /* RD/WR */
54#define IPACX_ACFG2 0x3D /* RD/WR */
55#define IPACX_AOE 0x3E /* RD/WR */
56#define IPACX_ARX 0x3F /* RD */
57#define IPACX_ATX 0x3F /* WR */
58
59/* IOM: Timeslot, DPS, CDA */
60#define IPACX_CDA10 0x40 /* RD/WR */
61#define IPACX_CDA11 0x41 /* RD/WR */
62#define IPACX_CDA20 0x42 /* RD/WR */
63#define IPACX_CDA21 0x43 /* RD/WR */
64#define IPACX_CDA_TSDP10 0x44 /* RD/WR */
65#define IPACX_CDA_TSDP11 0x45 /* RD/WR */
66#define IPACX_CDA_TSDP20 0x46 /* RD/WR */
67#define IPACX_CDA_TSDP21 0x47 /* RD/WR */
68#define IPACX_BCHA_TSDP_BC1 0x48 /* RD/WR */
69#define IPACX_BCHA_TSDP_BC2 0x49 /* RD/WR */
70#define IPACX_BCHB_TSDP_BC1 0x4A /* RD/WR */
71#define IPACX_BCHB_TSDP_BC2 0x4B /* RD/WR */
72#define IPACX_TR_TSDP_BC1 0x4C /* RD/WR */
73#define IPACX_TR_TSDP_BC2 0x4D /* RD/WR */
74#define IPACX_CDA1_CR 0x4E /* RD/WR */
75#define IPACX_CDA2_CR 0x4F /* RD/WR */
76
77/* IOM: Contol, Sync transfer, Monitor */
78#define IPACX_TR_CR 0x50 /* RD/WR */
79#define IPACX_TRC_CR 0x50 /* RD/WR */
80#define IPACX_BCHA_CR 0x51 /* RD/WR */
81#define IPACX_BCHB_CR 0x52 /* RD/WR */
82#define IPACX_DCI_CR 0x53 /* RD/WR */
83#define IPACX_DCIC_CR 0x53 /* RD/WR */
84#define IPACX_MON_CR 0x54 /* RD/WR */
85#define IPACX_SDS1_CR 0x55 /* RD/WR */
86#define IPACX_SDS2_CR 0x56 /* RD/WR */
87#define IPACX_IOM_CR 0x57 /* RD/WR */
88#define IPACX_STI 0x58 /* RD */
89#define IPACX_ASTI 0x58 /* WR */
90#define IPACX_MSTI 0x59 /* RD/WR */
91#define IPACX_SDS_CONF 0x5A /* RD/WR */
92#define IPACX_MCDA 0x5B /* RD */
93#define IPACX_MOR 0x5C /* RD */
94#define IPACX_MOX 0x5C /* WR */
95#define IPACX_MOSR 0x5D /* RD */
96#define IPACX_MOCR 0x5E /* RD/WR */
97#define IPACX_MSTA 0x5F /* RD */
98#define IPACX_MCONF 0x5F /* WR */
99
100/* Interrupt and general registers */
101#define IPACX_ISTA 0x60 /* RD */
102#define IPACX_MASK 0x60 /* WR */
103#define IPACX_AUXI 0x61 /* RD */
104#define IPACX_AUXM 0x61 /* WR */
105#define IPACX_MODE1 0x62 /* RD/WR */
106#define IPACX_MODE2 0x63 /* RD/WR */
107#define IPACX_ID 0x64 /* RD */
108#define IPACX_SRES 0x64 /* WR */
109#define IPACX_TIMR2 0x65 /* RD/WR */
110
111/* B-channel registers */
112#define IPACX_OFF_B1 0x70
113#define IPACX_OFF_B2 0x80
114
115#define IPACX_ISTAB 0x00 /* RD */
116#define IPACX_MASKB 0x00 /* WR */
117#define IPACX_STARB 0x01 /* RD */
118#define IPACX_CMDRB 0x01 /* WR */
119#define IPACX_MODEB 0x02 /* RD/WR */
120#define IPACX_EXMB 0x03 /* RD/WR */
121#define IPACX_RAH1 0x05 /* WR */
122#define IPACX_RAH2 0x06 /* WR */
123#define IPACX_RBCLB 0x06 /* RD */
124#define IPACX_RBCHB 0x07 /* RD */
125#define IPACX_RAL1 0x07 /* WR */
126#define IPACX_RAL2 0x08 /* WR */
127#define IPACX_RSTAB 0x08 /* RD */
128#define IPACX_TMB 0x09 /* RD/WR */
129#define IPACX_RFIFOB 0x0A /*- RD */
130#define IPACX_XFIFOB 0x0A /*- WR */
131
132/* Layer 1 Commands */
133#define IPACX_CMD_TIM 0x0
134#define IPACX_CMD_RES 0x1
135#define IPACX_CMD_SSP 0x2
136#define IPACX_CMD_SCP 0x3
137#define IPACX_CMD_AR8 0x8
138#define IPACX_CMD_AR10 0x9
139#define IPACX_CMD_ARL 0xa
140#define IPACX_CMD_DI 0xf
141
142/* Layer 1 Indications */
143#define IPACX_IND_DR 0x0
144#define IPACX_IND_RES 0x1
145#define IPACX_IND_TMA 0x2
146#define IPACX_IND_SLD 0x3
147#define IPACX_IND_RSY 0x4
148#define IPACX_IND_DR6 0x5
149#define IPACX_IND_PU 0x7
150#define IPACX_IND_AR 0x8
151#define IPACX_IND_ARL 0xa
152#define IPACX_IND_CVR 0xb
153#define IPACX_IND_AI8 0xc
154#define IPACX_IND_AI10 0xd
155#define IPACX_IND_AIL 0xe
156#define IPACX_IND_DC 0xf
157
158extern void init_ipacx(struct IsdnCardState *, int);
159extern void interrupt_ipacx(struct IsdnCardState *);
160extern void setup_isac(struct IsdnCardState *);
161
162#endif