summaryrefslogtreecommitdiff
path: root/drivers/isdn/hardware/eicon/mdm_msg.h
blob: 7a737e10bce0af1cadae3c9b5f9f2fe4822a5d55 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346

/*
 *
  Copyright (c) Eicon Networks, 2002.
 *
  This source file is supplied for the use with
  Eicon Networks range of DIVA Server Adapters.
 *
  Eicon File Revision :    2.1
 *
  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2, or (at your option)
  any later version.
 *
  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY OF ANY KIND WHATSOEVER INCLUDING ANY
  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  See the GNU General Public License for more details.
 *
  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 *
 */
#ifndef __EICON_MDM_MSG_H__
#define __EICON_MDM_MSG_H__
#define DSP_UDATA_INDICATION_DCD_OFF  0x01
#define DSP_UDATA_INDICATION_DCD_ON  0x02
#define DSP_UDATA_INDICATION_CTS_OFF  0x03
#define DSP_UDATA_INDICATION_CTS_ON  0x04
/* =====================================================================
DCD_OFF Message:
  <word> time of DCD off (sampled from counter at 8kHz)
DCD_ON Message:
  <word> time of DCD on (sampled from counter at 8kHz)
  <byte> connected norm
  <word> connected options
  <dword> connected speed (bit/s, max of tx and rx speed)
  <word> roundtrip delay (ms)
  <dword> connected speed tx (bit/s)
  <dword> connected speed rx (bit/s)
  Size of this message == 19 bytes, but we will receive only 11
  ===================================================================== */
#define DSP_CONNECTED_NORM_UNSPECIFIED      0
#define DSP_CONNECTED_NORM_V21              1
#define DSP_CONNECTED_NORM_V23              2
#define DSP_CONNECTED_NORM_V22              3
#define DSP_CONNECTED_NORM_V22_BIS          4
#define DSP_CONNECTED_NORM_V32_BIS          5
#define DSP_CONNECTED_NORM_V34              6
#define DSP_CONNECTED_NORM_V8               7
#define DSP_CONNECTED_NORM_BELL_212A        8
#define DSP_CONNECTED_NORM_BELL_103         9
#define DSP_CONNECTED_NORM_V29_LEASED_LINE  10
#define DSP_CONNECTED_NORM_V33_LEASED_LINE  11
#define DSP_CONNECTED_NORM_V90              12
#define DSP_CONNECTED_NORM_V21_CH2          13
#define DSP_CONNECTED_NORM_V27_TER          14
#define DSP_CONNECTED_NORM_V29              15
#define DSP_CONNECTED_NORM_V33              16
#define DSP_CONNECTED_NORM_V17              17
#define DSP_CONNECTED_NORM_V32              18
#define DSP_CONNECTED_NORM_K56_FLEX         19
#define DSP_CONNECTED_NORM_X2               20
#define DSP_CONNECTED_NORM_V18              21
#define DSP_CONNECTED_NORM_V18_LOW_HIGH     22
#define DSP_CONNECTED_NORM_V18_HIGH_LOW     23
#define DSP_CONNECTED_NORM_V21_LOW_HIGH     24
#define DSP_CONNECTED_NORM_V21_HIGH_LOW     25
#define DSP_CONNECTED_NORM_BELL103_LOW_HIGH 26
#define DSP_CONNECTED_NORM_BELL103_HIGH_LOW 27
#define DSP_CONNECTED_NORM_V23_75_1200      28
#define DSP_CONNECTED_NORM_V23_1200_75      29
#define DSP_CONNECTED_NORM_EDT_110          30
#define DSP_CONNECTED_NORM_BAUDOT_45        31
#define DSP_CONNECTED_NORM_BAUDOT_47        32
#define DSP_CONNECTED_NORM_BAUDOT_50        33
#define DSP_CONNECTED_NORM_DTMF             34
#define DSP_CONNECTED_NORM_V18_RESERVED_13  35
#define DSP_CONNECTED_NORM_V18_RESERVED_14  36
#define DSP_CONNECTED_NORM_V18_RESERVED_15  37
#define DSP_CONNECTED_NORM_VOWN             38
#define DSP_CONNECTED_NORM_V23_OFF_HOOK     39
#define DSP_CONNECTED_NORM_V23_ON_HOOK      40
#define DSP_CONNECTED_NORM_VOWN_RESERVED_3  41
#define DSP_CONNECTED_NORM_VOWN_RESERVED_4  42
#define DSP_CONNECTED_NORM_VOWN_RESERVED_5  43
#define DSP_CONNECTED_NORM_VOWN_RESERVED_6  44
#define DSP_CONNECTED_NORM_VOWN_RESERVED_7  45
#define DSP_CONNECTED_NORM_VOWN_RESERVED_8  46
#define DSP_CONNECTED_NORM_VOWN_RESERVED_9  47
#define DSP_CONNECTED_NORM_VOWN_RESERVED_10 48
#define DSP_CONNECTED_NORM_VOWN_RESERVED_11 49
#define DSP_CONNECTED_NORM_VOWN_RESERVED_12 50
#define DSP_CONNECTED_NORM_VOWN_RESERVED_13 51
#define DSP_CONNECTED_NORM_VOWN_RESERVED_14 52
#define DSP_CONNECTED_NORM_VOWN_RESERVED_15 53
#define DSP_CONNECTED_NORM_VOWN_RESERVED_16 54
#define DSP_CONNECTED_NORM_VOWN_RESERVED_17 55
#define DSP_CONNECTED_NORM_VOWN_RESERVED_18 56
#define DSP_CONNECTED_NORM_VOWN_RESERVED_19 57
#define DSP_CONNECTED_NORM_VOWN_RESERVED_20 58
#define DSP_CONNECTED_NORM_VOWN_RESERVED_21 59
#define DSP_CONNECTED_NORM_VOWN_RESERVED_22 60
#define DSP_CONNECTED_NORM_VOWN_RESERVED_23 61
#define DSP_CONNECTED_NORM_VOWN_RESERVED_24 62
#define DSP_CONNECTED_NORM_VOWN_RESERVED_25 63
#define DSP_CONNECTED_NORM_VOWN_RESERVED_26 64
#define DSP_CONNECTED_NORM_VOWN_RESERVED_27 65
#define DSP_CONNECTED_NORM_VOWN_RESERVED_28 66
#define DSP_CONNECTED_NORM_VOWN_RESERVED_29 67
#define DSP_CONNECTED_NORM_VOWN_RESERVED_30 68
#define DSP_CONNECTED_NORM_VOWN_RESERVED_31 69
#define DSP_CONNECTED_OPTION_TRELLIS             0x0001
#define DSP_CONNECTED_OPTION_V42_TRANS           0x0002
#define DSP_CONNECTED_OPTION_V42_LAPM            0x0004
#define DSP_CONNECTED_OPTION_SHORT_TRAIN         0x0008
#define DSP_CONNECTED_OPTION_TALKER_ECHO_PROTECT 0x0010
#define DSP_CONNECTED_OPTION_V42BIS              0x0020
#define DSP_CONNECTED_OPTION_MNP2                0x0040
#define DSP_CONNECTED_OPTION_MNP3                0x0080
#define DSP_CONNECTED_OPTION_MNP4                0x00c0
#define DSP_CONNECTED_OPTION_MNP5                0x0100
#define DSP_CONNECTED_OPTION_MNP10               0x0200
#define DSP_CONNECTED_OPTION_MASK_V42            0x0024
#define DSP_CONNECTED_OPTION_MASK_MNP            0x03c0
#define DSP_CONNECTED_OPTION_MASK_ERROR_CORRECT  0x03e4
#define DSP_CONNECTED_OPTION_MASK_COMPRESSION    0x0320
#define DSP_UDATA_INDICATION_DISCONNECT         5
/*
returns:
  <byte> cause
*/
/* ==========================================================
    DLC: B2 modem configuration
   ========================================================== */
/*
Fields in assign DLC information element for modem protocol V.42/MNP:
  <byte> length of information element
  <word> information field length
  <byte> address A       (not used, default 3)
  <byte> address B       (not used, default 1)
  <byte> modulo mode     (not used, default 7)
  <byte> window size     (not used, default 7)
  <word> XID length      (not used, default 0)
  ...    XID information (not used, default empty)
  <byte> modem protocol negotiation options
  <byte> modem protocol options
  <byte> modem protocol break configuration
  <byte> modem protocol application options
*/
#define DLC_MODEMPROT_DISABLE_V42_V42BIS     0x01
#define DLC_MODEMPROT_DISABLE_MNP_MNP5       0x02
#define DLC_MODEMPROT_REQUIRE_PROTOCOL       0x04
#define DLC_MODEMPROT_DISABLE_V42_DETECT     0x08
#define DLC_MODEMPROT_DISABLE_COMPRESSION    0x10
#define DLC_MODEMPROT_REQUIRE_PROTOCOL_V34UP 0x20
#define DLC_MODEMPROT_NO_PROTOCOL_IF_1200    0x01
#define DLC_MODEMPROT_BUFFER_IN_V42_DETECT   0x02
#define DLC_MODEMPROT_DISABLE_V42_SREJ       0x04
#define DLC_MODEMPROT_DISABLE_MNP3           0x08
#define DLC_MODEMPROT_DISABLE_MNP4           0x10
#define DLC_MODEMPROT_DISABLE_MNP10          0x20
#define DLC_MODEMPROT_NO_PROTOCOL_IF_V22BIS  0x40
#define DLC_MODEMPROT_NO_PROTOCOL_IF_V32BIS  0x80
#define DLC_MODEMPROT_BREAK_DISABLED         0x00
#define DLC_MODEMPROT_BREAK_NORMAL           0x01
#define DLC_MODEMPROT_BREAK_EXPEDITED        0x02
#define DLC_MODEMPROT_BREAK_DESTRUCTIVE      0x03
#define DLC_MODEMPROT_BREAK_CONFIG_MASK      0x03
#define DLC_MODEMPROT_APPL_EARLY_CONNECT     0x01
#define DLC_MODEMPROT_APPL_PASS_INDICATIONS  0x02
/* ==========================================================
    CAI parameters used for the modem L1 configuration
   ========================================================== */
/*
Fields in assign CAI information element:
  <byte> length of information element
  <byte> info field and B-channel hardware
  <byte> rate adaptation bit rate
  <byte> async framing parameters
  <byte> reserved
  <word> packet length
  <byte> modem line taking options
  <byte> modem modulation negotiation parameters
  <byte> modem modulation options
  <byte> modem disabled modulations mask low
  <byte> modem disabled modulations mask high
  <byte> modem enabled modulations mask
  <word> modem min TX speed
  <word> modem max TX speed
  <word> modem min RX speed
  <word> modem max RX speed
  <byte> modem disabled symbol rates mask
  <byte> modem info options mask
  <byte> modem transmit level adjust
  <byte> modem speaker parameters
  <word> modem private debug config
  <struct> modem reserved
  <struct> v18 config parameters
  <struct> v18 probing sequence
  <struct> v18 probing message
*/
#define DSP_CAI_HARDWARE_HDLC_64K          0x05
#define DSP_CAI_HARDWARE_HDLC_56K          0x08
#define DSP_CAI_HARDWARE_TRANSP            0x09
#define DSP_CAI_HARDWARE_V110_SYNC         0x0c
#define DSP_CAI_HARDWARE_V110_ASYNC        0x0d
#define DSP_CAI_HARDWARE_HDLC_128K         0x0f
#define DSP_CAI_HARDWARE_FAX               0x10
#define DSP_CAI_HARDWARE_MODEM_ASYNC       0x11
#define DSP_CAI_HARDWARE_MODEM_SYNC        0x12
#define DSP_CAI_HARDWARE_V110_HDLCA        0x13
#define DSP_CAI_HARDWARE_ADVANCED_VOICE    0x14
#define DSP_CAI_HARDWARE_TRANSP_DTMF       0x16
#define DSP_CAI_HARDWARE_DTMF_VOICE_ISDN   0x17
#define DSP_CAI_HARDWARE_DTMF_VOICE_LOCAL  0x18
#define DSP_CAI_HARDWARE_MASK              0x3f
#define DSP_CAI_ENABLE_INFO_INDICATIONS    0x80
#define DSP_CAI_RATE_ADAPTATION_300        0x00
#define DSP_CAI_RATE_ADAPTATION_600        0x01
#define DSP_CAI_RATE_ADAPTATION_1200       0x02
#define DSP_CAI_RATE_ADAPTATION_2400       0x03
#define DSP_CAI_RATE_ADAPTATION_4800       0x04
#define DSP_CAI_RATE_ADAPTATION_9600       0x05
#define DSP_CAI_RATE_ADAPTATION_19200      0x06
#define DSP_CAI_RATE_ADAPTATION_38400      0x07
#define DSP_CAI_RATE_ADAPTATION_48000      0x08
#define DSP_CAI_RATE_ADAPTATION_56000      0x09
#define DSP_CAI_RATE_ADAPTATION_7200       0x0a
#define DSP_CAI_RATE_ADAPTATION_14400      0x0b
#define DSP_CAI_RATE_ADAPTATION_28800      0x0c
#define DSP_CAI_RATE_ADAPTATION_12000      0x0d
#define DSP_CAI_RATE_ADAPTATION_1200_75    0x0e
#define DSP_CAI_RATE_ADAPTATION_75_1200    0x0f
#define DSP_CAI_RATE_ADAPTATION_MASK       0x0f
#define DSP_CAI_ASYNC_PARITY_ENABLE        0x01
#define DSP_CAI_ASYNC_PARITY_SPACE         0x00
#define DSP_CAI_ASYNC_PARITY_ODD           0x02
#define DSP_CAI_ASYNC_PARITY_EVEN          0x04
#define DSP_CAI_ASYNC_PARITY_MARK          0x06
#define DSP_CAI_ASYNC_PARITY_MASK          0x06
#define DSP_CAI_ASYNC_ONE_STOP_BIT         0x00
#define DSP_CAI_ASYNC_TWO_STOP_BITS        0x20
#define DSP_CAI_ASYNC_CHAR_LENGTH_8        0x00
#define DSP_CAI_ASYNC_CHAR_LENGTH_7        0x40
#define DSP_CAI_ASYNC_CHAR_LENGTH_6        0x80
#define DSP_CAI_ASYNC_CHAR_LENGTH_5        0xc0
#define DSP_CAI_ASYNC_CHAR_LENGTH_MASK     0xc0
#define DSP_CAI_MODEM_LEASED_LINE_MODE     0x01
#define DSP_CAI_MODEM_4_WIRE_OPERATION     0x02
#define DSP_CAI_MODEM_DISABLE_BUSY_DETECT  0x04
#define DSP_CAI_MODEM_DISABLE_CALLING_TONE 0x08
#define DSP_CAI_MODEM_DISABLE_ANSWER_TONE  0x10
#define DSP_CAI_MODEM_ENABLE_DIAL_TONE_DET 0x20
#define DSP_CAI_MODEM_USE_POTS_INTERFACE   0x40
#define DSP_CAI_MODEM_FORCE_RAY_TAYLOR_FAX 0x80
#define DSP_CAI_MODEM_NEGOTIATE_HIGHEST    0x00
#define DSP_CAI_MODEM_NEGOTIATE_DISABLED   0x01
#define DSP_CAI_MODEM_NEGOTIATE_IN_CLASS   0x02
#define DSP_CAI_MODEM_NEGOTIATE_V100       0x03
#define DSP_CAI_MODEM_NEGOTIATE_V8         0x04
#define DSP_CAI_MODEM_NEGOTIATE_V8BIS      0x05
#define DSP_CAI_MODEM_NEGOTIATE_MASK       0x07
#define DSP_CAI_MODEM_GUARD_TONE_NONE      0x00
#define DSP_CAI_MODEM_GUARD_TONE_550HZ     0x40
#define DSP_CAI_MODEM_GUARD_TONE_1800HZ    0x80
#define DSP_CAI_MODEM_GUARD_TONE_MASK      0xc0
#define DSP_CAI_MODEM_DISABLE_RETRAIN      0x01
#define DSP_CAI_MODEM_DISABLE_STEPUPDOWN   0x02
#define DSP_CAI_MODEM_DISABLE_SPLIT_SPEED  0x04
#define DSP_CAI_MODEM_DISABLE_TRELLIS      0x08
#define DSP_CAI_MODEM_ALLOW_RDL_TEST_LOOP  0x10
#define DSP_CAI_MODEM_DISABLE_FLUSH_TIMER  0x40
#define DSP_CAI_MODEM_REVERSE_DIRECTION    0x80
#define DSP_CAI_MODEM_DISABLE_V21          0x01
#define DSP_CAI_MODEM_DISABLE_V23          0x02
#define DSP_CAI_MODEM_DISABLE_V22          0x04
#define DSP_CAI_MODEM_DISABLE_V22BIS       0x08
#define DSP_CAI_MODEM_DISABLE_V32          0x10
#define DSP_CAI_MODEM_DISABLE_V32BIS       0x20
#define DSP_CAI_MODEM_DISABLE_V34          0x40
#define DSP_CAI_MODEM_DISABLE_V90          0x80
#define DSP_CAI_MODEM_DISABLE_BELL103      0x01
#define DSP_CAI_MODEM_DISABLE_BELL212A     0x02
#define DSP_CAI_MODEM_DISABLE_VFC          0x04
#define DSP_CAI_MODEM_DISABLE_K56FLEX      0x08
#define DSP_CAI_MODEM_DISABLE_X2           0x10
#define DSP_CAI_MODEM_ENABLE_V29FDX        0x01
#define DSP_CAI_MODEM_ENABLE_V33           0x02
#define DSP_CAI_MODEM_DISABLE_2400_SYMBOLS 0x01
#define DSP_CAI_MODEM_DISABLE_2743_SYMBOLS 0x02
#define DSP_CAI_MODEM_DISABLE_2800_SYMBOLS 0x04
#define DSP_CAI_MODEM_DISABLE_3000_SYMBOLS 0x08
#define DSP_CAI_MODEM_DISABLE_3200_SYMBOLS 0x10
#define DSP_CAI_MODEM_DISABLE_3429_SYMBOLS 0x20
#define DSP_CAI_MODEM_DISABLE_TX_REDUCTION 0x01
#define DSP_CAI_MODEM_DISABLE_PRECODING    0x02
#define DSP_CAI_MODEM_DISABLE_PREEMPHASIS  0x04
#define DSP_CAI_MODEM_DISABLE_SHAPING      0x08
#define DSP_CAI_MODEM_DISABLE_NONLINEAR_EN 0x10
#define DSP_CAI_MODEM_SPEAKER_OFF          0x00
#define DSP_CAI_MODEM_SPEAKER_DURING_TRAIN 0x01
#define DSP_CAI_MODEM_SPEAKER_TIL_CONNECT  0x02
#define DSP_CAI_MODEM_SPEAKER_ALWAYS_ON    0x03
#define DSP_CAI_MODEM_SPEAKER_CONTROL_MASK 0x03
#define DSP_CAI_MODEM_SPEAKER_VOLUME_MIN   0x00
#define DSP_CAI_MODEM_SPEAKER_VOLUME_LOW   0x04
#define DSP_CAI_MODEM_SPEAKER_VOLUME_HIGH  0x08
#define DSP_CAI_MODEM_SPEAKER_VOLUME_MAX   0x0c
#define DSP_CAI_MODEM_SPEAKER_VOLUME_MASK  0x0c
/* ==========================================================
    DCD/CTS State
   ========================================================== */
#define MDM_WANT_CONNECT_B3_ACTIVE_I  0x01
#define MDM_NCPI_VALID                0x02
#define MDM_NCPI_CTS_ON_RECEIVED      0x04
#define MDM_NCPI_DCD_ON_RECEIVED      0x08
/* ==========================================================
    CAPI NCPI Constants
   ========================================================== */
#define MDM_NCPI_ECM_V42              0x0001
#define MDM_NCPI_ECM_MNP              0x0002
#define MDM_NCPI_TRANSPARENT          0x0004
#define MDM_NCPI_COMPRESSED           0x0010
/* ==========================================================
    CAPI B2 Config Constants
   ========================================================== */
#define MDM_B2_DISABLE_V42bis         0x0001
#define MDM_B2_DISABLE_MNP            0x0002
#define MDM_B2_DISABLE_TRANS          0x0004
#define MDM_B2_DISABLE_V42            0x0008
#define MDM_B2_DISABLE_COMP           0x0010
/* ==========================================================
    CAPI B1 Config Constants
   ========================================================== */
#define MDM_CAPI_DISABLE_RETRAIN      0x0001
#define MDM_CAPI_DISABLE_RING_TONE    0x0002
#define MDM_CAPI_GUARD_1800           0x0004
#define MDM_CAPI_GUARD_550            0x0008
#define MDM_CAPI_NEG_V8               0x0003
#define MDM_CAPI_NEG_V100             0x0002
#define MDM_CAPI_NEG_MOD_CLASS        0x0001
#define MDM_CAPI_NEG_DISABLED         0x0000
#endif