Committer: Michael Beasley <mike@snafu.setup>
[mikesnafu-overlay.git] / drivers / isdn / hardware / eicon / mdm_msg.h
blob7a737e10bce0af1cadae3c9b5f9f2fe4822a5d55
2 /*
4 Copyright (c) Eicon Networks, 2002.
6 This source file is supplied for the use with
7 Eicon Networks range of DIVA Server Adapters.
9 Eicon File Revision : 2.1
11 This program is free software; you can redistribute it and/or modify
12 it under the terms of the GNU General Public License as published by
13 the Free Software Foundation; either version 2, or (at your option)
14 any later version.
16 This program is distributed in the hope that it will be useful,
17 but WITHOUT ANY WARRANTY OF ANY KIND WHATSOEVER INCLUDING ANY
18 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
19 See the GNU General Public License for more details.
21 You should have received a copy of the GNU General Public License
22 along with this program; if not, write to the Free Software
23 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
26 #ifndef __EICON_MDM_MSG_H__
27 #define __EICON_MDM_MSG_H__
28 #define DSP_UDATA_INDICATION_DCD_OFF 0x01
29 #define DSP_UDATA_INDICATION_DCD_ON 0x02
30 #define DSP_UDATA_INDICATION_CTS_OFF 0x03
31 #define DSP_UDATA_INDICATION_CTS_ON 0x04
32 /* =====================================================================
33 DCD_OFF Message:
34 <word> time of DCD off (sampled from counter at 8kHz)
35 DCD_ON Message:
36 <word> time of DCD on (sampled from counter at 8kHz)
37 <byte> connected norm
38 <word> connected options
39 <dword> connected speed (bit/s, max of tx and rx speed)
40 <word> roundtrip delay (ms)
41 <dword> connected speed tx (bit/s)
42 <dword> connected speed rx (bit/s)
43 Size of this message == 19 bytes, but we will receive only 11
44 ===================================================================== */
45 #define DSP_CONNECTED_NORM_UNSPECIFIED 0
46 #define DSP_CONNECTED_NORM_V21 1
47 #define DSP_CONNECTED_NORM_V23 2
48 #define DSP_CONNECTED_NORM_V22 3
49 #define DSP_CONNECTED_NORM_V22_BIS 4
50 #define DSP_CONNECTED_NORM_V32_BIS 5
51 #define DSP_CONNECTED_NORM_V34 6
52 #define DSP_CONNECTED_NORM_V8 7
53 #define DSP_CONNECTED_NORM_BELL_212A 8
54 #define DSP_CONNECTED_NORM_BELL_103 9
55 #define DSP_CONNECTED_NORM_V29_LEASED_LINE 10
56 #define DSP_CONNECTED_NORM_V33_LEASED_LINE 11
57 #define DSP_CONNECTED_NORM_V90 12
58 #define DSP_CONNECTED_NORM_V21_CH2 13
59 #define DSP_CONNECTED_NORM_V27_TER 14
60 #define DSP_CONNECTED_NORM_V29 15
61 #define DSP_CONNECTED_NORM_V33 16
62 #define DSP_CONNECTED_NORM_V17 17
63 #define DSP_CONNECTED_NORM_V32 18
64 #define DSP_CONNECTED_NORM_K56_FLEX 19
65 #define DSP_CONNECTED_NORM_X2 20
66 #define DSP_CONNECTED_NORM_V18 21
67 #define DSP_CONNECTED_NORM_V18_LOW_HIGH 22
68 #define DSP_CONNECTED_NORM_V18_HIGH_LOW 23
69 #define DSP_CONNECTED_NORM_V21_LOW_HIGH 24
70 #define DSP_CONNECTED_NORM_V21_HIGH_LOW 25
71 #define DSP_CONNECTED_NORM_BELL103_LOW_HIGH 26
72 #define DSP_CONNECTED_NORM_BELL103_HIGH_LOW 27
73 #define DSP_CONNECTED_NORM_V23_75_1200 28
74 #define DSP_CONNECTED_NORM_V23_1200_75 29
75 #define DSP_CONNECTED_NORM_EDT_110 30
76 #define DSP_CONNECTED_NORM_BAUDOT_45 31
77 #define DSP_CONNECTED_NORM_BAUDOT_47 32
78 #define DSP_CONNECTED_NORM_BAUDOT_50 33
79 #define DSP_CONNECTED_NORM_DTMF 34
80 #define DSP_CONNECTED_NORM_V18_RESERVED_13 35
81 #define DSP_CONNECTED_NORM_V18_RESERVED_14 36
82 #define DSP_CONNECTED_NORM_V18_RESERVED_15 37
83 #define DSP_CONNECTED_NORM_VOWN 38
84 #define DSP_CONNECTED_NORM_V23_OFF_HOOK 39
85 #define DSP_CONNECTED_NORM_V23_ON_HOOK 40
86 #define DSP_CONNECTED_NORM_VOWN_RESERVED_3 41
87 #define DSP_CONNECTED_NORM_VOWN_RESERVED_4 42
88 #define DSP_CONNECTED_NORM_VOWN_RESERVED_5 43
89 #define DSP_CONNECTED_NORM_VOWN_RESERVED_6 44
90 #define DSP_CONNECTED_NORM_VOWN_RESERVED_7 45
91 #define DSP_CONNECTED_NORM_VOWN_RESERVED_8 46
92 #define DSP_CONNECTED_NORM_VOWN_RESERVED_9 47
93 #define DSP_CONNECTED_NORM_VOWN_RESERVED_10 48
94 #define DSP_CONNECTED_NORM_VOWN_RESERVED_11 49
95 #define DSP_CONNECTED_NORM_VOWN_RESERVED_12 50
96 #define DSP_CONNECTED_NORM_VOWN_RESERVED_13 51
97 #define DSP_CONNECTED_NORM_VOWN_RESERVED_14 52
98 #define DSP_CONNECTED_NORM_VOWN_RESERVED_15 53
99 #define DSP_CONNECTED_NORM_VOWN_RESERVED_16 54
100 #define DSP_CONNECTED_NORM_VOWN_RESERVED_17 55
101 #define DSP_CONNECTED_NORM_VOWN_RESERVED_18 56
102 #define DSP_CONNECTED_NORM_VOWN_RESERVED_19 57
103 #define DSP_CONNECTED_NORM_VOWN_RESERVED_20 58
104 #define DSP_CONNECTED_NORM_VOWN_RESERVED_21 59
105 #define DSP_CONNECTED_NORM_VOWN_RESERVED_22 60
106 #define DSP_CONNECTED_NORM_VOWN_RESERVED_23 61
107 #define DSP_CONNECTED_NORM_VOWN_RESERVED_24 62
108 #define DSP_CONNECTED_NORM_VOWN_RESERVED_25 63
109 #define DSP_CONNECTED_NORM_VOWN_RESERVED_26 64
110 #define DSP_CONNECTED_NORM_VOWN_RESERVED_27 65
111 #define DSP_CONNECTED_NORM_VOWN_RESERVED_28 66
112 #define DSP_CONNECTED_NORM_VOWN_RESERVED_29 67
113 #define DSP_CONNECTED_NORM_VOWN_RESERVED_30 68
114 #define DSP_CONNECTED_NORM_VOWN_RESERVED_31 69
115 #define DSP_CONNECTED_OPTION_TRELLIS 0x0001
116 #define DSP_CONNECTED_OPTION_V42_TRANS 0x0002
117 #define DSP_CONNECTED_OPTION_V42_LAPM 0x0004
118 #define DSP_CONNECTED_OPTION_SHORT_TRAIN 0x0008
119 #define DSP_CONNECTED_OPTION_TALKER_ECHO_PROTECT 0x0010
120 #define DSP_CONNECTED_OPTION_V42BIS 0x0020
121 #define DSP_CONNECTED_OPTION_MNP2 0x0040
122 #define DSP_CONNECTED_OPTION_MNP3 0x0080
123 #define DSP_CONNECTED_OPTION_MNP4 0x00c0
124 #define DSP_CONNECTED_OPTION_MNP5 0x0100
125 #define DSP_CONNECTED_OPTION_MNP10 0x0200
126 #define DSP_CONNECTED_OPTION_MASK_V42 0x0024
127 #define DSP_CONNECTED_OPTION_MASK_MNP 0x03c0
128 #define DSP_CONNECTED_OPTION_MASK_ERROR_CORRECT 0x03e4
129 #define DSP_CONNECTED_OPTION_MASK_COMPRESSION 0x0320
130 #define DSP_UDATA_INDICATION_DISCONNECT 5
132 returns:
133 <byte> cause
135 /* ==========================================================
136 DLC: B2 modem configuration
137 ========================================================== */
139 Fields in assign DLC information element for modem protocol V.42/MNP:
140 <byte> length of information element
141 <word> information field length
142 <byte> address A (not used, default 3)
143 <byte> address B (not used, default 1)
144 <byte> modulo mode (not used, default 7)
145 <byte> window size (not used, default 7)
146 <word> XID length (not used, default 0)
147 ... XID information (not used, default empty)
148 <byte> modem protocol negotiation options
149 <byte> modem protocol options
150 <byte> modem protocol break configuration
151 <byte> modem protocol application options
153 #define DLC_MODEMPROT_DISABLE_V42_V42BIS 0x01
154 #define DLC_MODEMPROT_DISABLE_MNP_MNP5 0x02
155 #define DLC_MODEMPROT_REQUIRE_PROTOCOL 0x04
156 #define DLC_MODEMPROT_DISABLE_V42_DETECT 0x08
157 #define DLC_MODEMPROT_DISABLE_COMPRESSION 0x10
158 #define DLC_MODEMPROT_REQUIRE_PROTOCOL_V34UP 0x20
159 #define DLC_MODEMPROT_NO_PROTOCOL_IF_1200 0x01
160 #define DLC_MODEMPROT_BUFFER_IN_V42_DETECT 0x02
161 #define DLC_MODEMPROT_DISABLE_V42_SREJ 0x04
162 #define DLC_MODEMPROT_DISABLE_MNP3 0x08
163 #define DLC_MODEMPROT_DISABLE_MNP4 0x10
164 #define DLC_MODEMPROT_DISABLE_MNP10 0x20
165 #define DLC_MODEMPROT_NO_PROTOCOL_IF_V22BIS 0x40
166 #define DLC_MODEMPROT_NO_PROTOCOL_IF_V32BIS 0x80
167 #define DLC_MODEMPROT_BREAK_DISABLED 0x00
168 #define DLC_MODEMPROT_BREAK_NORMAL 0x01
169 #define DLC_MODEMPROT_BREAK_EXPEDITED 0x02
170 #define DLC_MODEMPROT_BREAK_DESTRUCTIVE 0x03
171 #define DLC_MODEMPROT_BREAK_CONFIG_MASK 0x03
172 #define DLC_MODEMPROT_APPL_EARLY_CONNECT 0x01
173 #define DLC_MODEMPROT_APPL_PASS_INDICATIONS 0x02
174 /* ==========================================================
175 CAI parameters used for the modem L1 configuration
176 ========================================================== */
178 Fields in assign CAI information element:
179 <byte> length of information element
180 <byte> info field and B-channel hardware
181 <byte> rate adaptation bit rate
182 <byte> async framing parameters
183 <byte> reserved
184 <word> packet length
185 <byte> modem line taking options
186 <byte> modem modulation negotiation parameters
187 <byte> modem modulation options
188 <byte> modem disabled modulations mask low
189 <byte> modem disabled modulations mask high
190 <byte> modem enabled modulations mask
191 <word> modem min TX speed
192 <word> modem max TX speed
193 <word> modem min RX speed
194 <word> modem max RX speed
195 <byte> modem disabled symbol rates mask
196 <byte> modem info options mask
197 <byte> modem transmit level adjust
198 <byte> modem speaker parameters
199 <word> modem private debug config
200 <struct> modem reserved
201 <struct> v18 config parameters
202 <struct> v18 probing sequence
203 <struct> v18 probing message
205 #define DSP_CAI_HARDWARE_HDLC_64K 0x05
206 #define DSP_CAI_HARDWARE_HDLC_56K 0x08
207 #define DSP_CAI_HARDWARE_TRANSP 0x09
208 #define DSP_CAI_HARDWARE_V110_SYNC 0x0c
209 #define DSP_CAI_HARDWARE_V110_ASYNC 0x0d
210 #define DSP_CAI_HARDWARE_HDLC_128K 0x0f
211 #define DSP_CAI_HARDWARE_FAX 0x10
212 #define DSP_CAI_HARDWARE_MODEM_ASYNC 0x11
213 #define DSP_CAI_HARDWARE_MODEM_SYNC 0x12
214 #define DSP_CAI_HARDWARE_V110_HDLCA 0x13
215 #define DSP_CAI_HARDWARE_ADVANCED_VOICE 0x14
216 #define DSP_CAI_HARDWARE_TRANSP_DTMF 0x16
217 #define DSP_CAI_HARDWARE_DTMF_VOICE_ISDN 0x17
218 #define DSP_CAI_HARDWARE_DTMF_VOICE_LOCAL 0x18
219 #define DSP_CAI_HARDWARE_MASK 0x3f
220 #define DSP_CAI_ENABLE_INFO_INDICATIONS 0x80
221 #define DSP_CAI_RATE_ADAPTATION_300 0x00
222 #define DSP_CAI_RATE_ADAPTATION_600 0x01
223 #define DSP_CAI_RATE_ADAPTATION_1200 0x02
224 #define DSP_CAI_RATE_ADAPTATION_2400 0x03
225 #define DSP_CAI_RATE_ADAPTATION_4800 0x04
226 #define DSP_CAI_RATE_ADAPTATION_9600 0x05
227 #define DSP_CAI_RATE_ADAPTATION_19200 0x06
228 #define DSP_CAI_RATE_ADAPTATION_38400 0x07
229 #define DSP_CAI_RATE_ADAPTATION_48000 0x08
230 #define DSP_CAI_RATE_ADAPTATION_56000 0x09
231 #define DSP_CAI_RATE_ADAPTATION_7200 0x0a
232 #define DSP_CAI_RATE_ADAPTATION_14400 0x0b
233 #define DSP_CAI_RATE_ADAPTATION_28800 0x0c
234 #define DSP_CAI_RATE_ADAPTATION_12000 0x0d
235 #define DSP_CAI_RATE_ADAPTATION_1200_75 0x0e
236 #define DSP_CAI_RATE_ADAPTATION_75_1200 0x0f
237 #define DSP_CAI_RATE_ADAPTATION_MASK 0x0f
238 #define DSP_CAI_ASYNC_PARITY_ENABLE 0x01
239 #define DSP_CAI_ASYNC_PARITY_SPACE 0x00
240 #define DSP_CAI_ASYNC_PARITY_ODD 0x02
241 #define DSP_CAI_ASYNC_PARITY_EVEN 0x04
242 #define DSP_CAI_ASYNC_PARITY_MARK 0x06
243 #define DSP_CAI_ASYNC_PARITY_MASK 0x06
244 #define DSP_CAI_ASYNC_ONE_STOP_BIT 0x00
245 #define DSP_CAI_ASYNC_TWO_STOP_BITS 0x20
246 #define DSP_CAI_ASYNC_CHAR_LENGTH_8 0x00
247 #define DSP_CAI_ASYNC_CHAR_LENGTH_7 0x40
248 #define DSP_CAI_ASYNC_CHAR_LENGTH_6 0x80
249 #define DSP_CAI_ASYNC_CHAR_LENGTH_5 0xc0
250 #define DSP_CAI_ASYNC_CHAR_LENGTH_MASK 0xc0
251 #define DSP_CAI_MODEM_LEASED_LINE_MODE 0x01
252 #define DSP_CAI_MODEM_4_WIRE_OPERATION 0x02
253 #define DSP_CAI_MODEM_DISABLE_BUSY_DETECT 0x04
254 #define DSP_CAI_MODEM_DISABLE_CALLING_TONE 0x08
255 #define DSP_CAI_MODEM_DISABLE_ANSWER_TONE 0x10
256 #define DSP_CAI_MODEM_ENABLE_DIAL_TONE_DET 0x20
257 #define DSP_CAI_MODEM_USE_POTS_INTERFACE 0x40
258 #define DSP_CAI_MODEM_FORCE_RAY_TAYLOR_FAX 0x80
259 #define DSP_CAI_MODEM_NEGOTIATE_HIGHEST 0x00
260 #define DSP_CAI_MODEM_NEGOTIATE_DISABLED 0x01
261 #define DSP_CAI_MODEM_NEGOTIATE_IN_CLASS 0x02
262 #define DSP_CAI_MODEM_NEGOTIATE_V100 0x03
263 #define DSP_CAI_MODEM_NEGOTIATE_V8 0x04
264 #define DSP_CAI_MODEM_NEGOTIATE_V8BIS 0x05
265 #define DSP_CAI_MODEM_NEGOTIATE_MASK 0x07
266 #define DSP_CAI_MODEM_GUARD_TONE_NONE 0x00
267 #define DSP_CAI_MODEM_GUARD_TONE_550HZ 0x40
268 #define DSP_CAI_MODEM_GUARD_TONE_1800HZ 0x80
269 #define DSP_CAI_MODEM_GUARD_TONE_MASK 0xc0
270 #define DSP_CAI_MODEM_DISABLE_RETRAIN 0x01
271 #define DSP_CAI_MODEM_DISABLE_STEPUPDOWN 0x02
272 #define DSP_CAI_MODEM_DISABLE_SPLIT_SPEED 0x04
273 #define DSP_CAI_MODEM_DISABLE_TRELLIS 0x08
274 #define DSP_CAI_MODEM_ALLOW_RDL_TEST_LOOP 0x10
275 #define DSP_CAI_MODEM_DISABLE_FLUSH_TIMER 0x40
276 #define DSP_CAI_MODEM_REVERSE_DIRECTION 0x80
277 #define DSP_CAI_MODEM_DISABLE_V21 0x01
278 #define DSP_CAI_MODEM_DISABLE_V23 0x02
279 #define DSP_CAI_MODEM_DISABLE_V22 0x04
280 #define DSP_CAI_MODEM_DISABLE_V22BIS 0x08
281 #define DSP_CAI_MODEM_DISABLE_V32 0x10
282 #define DSP_CAI_MODEM_DISABLE_V32BIS 0x20
283 #define DSP_CAI_MODEM_DISABLE_V34 0x40
284 #define DSP_CAI_MODEM_DISABLE_V90 0x80
285 #define DSP_CAI_MODEM_DISABLE_BELL103 0x01
286 #define DSP_CAI_MODEM_DISABLE_BELL212A 0x02
287 #define DSP_CAI_MODEM_DISABLE_VFC 0x04
288 #define DSP_CAI_MODEM_DISABLE_K56FLEX 0x08
289 #define DSP_CAI_MODEM_DISABLE_X2 0x10
290 #define DSP_CAI_MODEM_ENABLE_V29FDX 0x01
291 #define DSP_CAI_MODEM_ENABLE_V33 0x02
292 #define DSP_CAI_MODEM_DISABLE_2400_SYMBOLS 0x01
293 #define DSP_CAI_MODEM_DISABLE_2743_SYMBOLS 0x02
294 #define DSP_CAI_MODEM_DISABLE_2800_SYMBOLS 0x04
295 #define DSP_CAI_MODEM_DISABLE_3000_SYMBOLS 0x08
296 #define DSP_CAI_MODEM_DISABLE_3200_SYMBOLS 0x10
297 #define DSP_CAI_MODEM_DISABLE_3429_SYMBOLS 0x20
298 #define DSP_CAI_MODEM_DISABLE_TX_REDUCTION 0x01
299 #define DSP_CAI_MODEM_DISABLE_PRECODING 0x02
300 #define DSP_CAI_MODEM_DISABLE_PREEMPHASIS 0x04
301 #define DSP_CAI_MODEM_DISABLE_SHAPING 0x08
302 #define DSP_CAI_MODEM_DISABLE_NONLINEAR_EN 0x10
303 #define DSP_CAI_MODEM_SPEAKER_OFF 0x00
304 #define DSP_CAI_MODEM_SPEAKER_DURING_TRAIN 0x01
305 #define DSP_CAI_MODEM_SPEAKER_TIL_CONNECT 0x02
306 #define DSP_CAI_MODEM_SPEAKER_ALWAYS_ON 0x03
307 #define DSP_CAI_MODEM_SPEAKER_CONTROL_MASK 0x03
308 #define DSP_CAI_MODEM_SPEAKER_VOLUME_MIN 0x00
309 #define DSP_CAI_MODEM_SPEAKER_VOLUME_LOW 0x04
310 #define DSP_CAI_MODEM_SPEAKER_VOLUME_HIGH 0x08
311 #define DSP_CAI_MODEM_SPEAKER_VOLUME_MAX 0x0c
312 #define DSP_CAI_MODEM_SPEAKER_VOLUME_MASK 0x0c
313 /* ==========================================================
314 DCD/CTS State
315 ========================================================== */
316 #define MDM_WANT_CONNECT_B3_ACTIVE_I 0x01
317 #define MDM_NCPI_VALID 0x02
318 #define MDM_NCPI_CTS_ON_RECEIVED 0x04
319 #define MDM_NCPI_DCD_ON_RECEIVED 0x08
320 /* ==========================================================
321 CAPI NCPI Constants
322 ========================================================== */
323 #define MDM_NCPI_ECM_V42 0x0001
324 #define MDM_NCPI_ECM_MNP 0x0002
325 #define MDM_NCPI_TRANSPARENT 0x0004
326 #define MDM_NCPI_COMPRESSED 0x0010
327 /* ==========================================================
328 CAPI B2 Config Constants
329 ========================================================== */
330 #define MDM_B2_DISABLE_V42bis 0x0001
331 #define MDM_B2_DISABLE_MNP 0x0002
332 #define MDM_B2_DISABLE_TRANS 0x0004
333 #define MDM_B2_DISABLE_V42 0x0008
334 #define MDM_B2_DISABLE_COMP 0x0010
335 /* ==========================================================
336 CAPI B1 Config Constants
337 ========================================================== */
338 #define MDM_CAPI_DISABLE_RETRAIN 0x0001
339 #define MDM_CAPI_DISABLE_RING_TONE 0x0002
340 #define MDM_CAPI_GUARD_1800 0x0004
341 #define MDM_CAPI_GUARD_550 0x0008
342 #define MDM_CAPI_NEG_V8 0x0003
343 #define MDM_CAPI_NEG_V100 0x0002
344 #define MDM_CAPI_NEG_MOD_CLASS 0x0001
345 #define MDM_CAPI_NEG_DISABLED 0x0000
346 #endif