This source file includes following definitions.
- sdla_te_cfg_t
- pmc_pmon_t
- te_signaling_perm_t
- te_signaling_cfg_t
- te_signaling_status_t
- sdla_te_softc_t
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 #ifndef __IF_SANTE1_H
36 # define __IF_SANTE1_H
37
38 #ifdef SDLA_TE1
39 # define EXTERN
40 #else
41 # define EXTERN extern
42 #endif
43
44 # include <dev/pci/if_san_front_end.h>
45
46
47 #define REG_GLOBAL_CFG 0x00
48 #define BIT_GLOBAL_PIO_OE 0x80
49 #define BIT_GLOBAL_PIO 0x40
50 #define BIT_GLOBAL_TRKEN 0x04
51 #define BIT_GLOBAL_E1 0x01
52
53 #define REG_RLPS_ALOS_DET_PER_0 0x01
54
55 #define REG_RECEIVE_OPT 0x02
56 #define BIT_RECEIVE_OPT_UNF 0x40
57
58 #define REG_TX_TIMING_OPT 0x06
59 #define BIT_TX_PLLREF1 0x08
60 #define BIT_TX_PLLREF0 0x04
61 #define BIT_TX_TXELSTBYP 0x01
62
63 #define REG_MASTER_DIAG 0x0A
64 #define BIT_MASTER_DIAG_PAYLB 0x20
65 #define BIT_MASTER_DIAG_LINELB 0x10
66 #define BIT_MASTER_DIAG_DDLB 0x04
67
68 #define REG_RESET 0x0E
69 #define BIT_RESET 0x01
70
71 #define REG_PRGD_CTRL 0x0F
72 #define BIT_PRGD_CTRL_HDLC3 0x80
73 #define BIT_PRGD_CTRL_HDLC2 0x40
74 #define BIT_PRGD_CTRL_HDLC1 0x20
75 #define BIT_PRGD_CTRL_Nx56k_GEN 0x10
76 #define BIT_PRGD_CTRL_Nx56k_DET 0x08
77 #define BIT_PRGD_CTRL_RXPATGEN 0x04
78 #define BIT_PRGD_CTRL_UNF_GEN 0x02
79 #define BIT_PRGD_CTRL_UNF_DET 0x01
80
81 #define REG_CDRC_CFG 0x10
82 #define BIT_CDRC_CFG_AMI 0x80
83 #define BIT_CDRC_CFG_LOS1 0x40
84 #define BIT_CDRC_CFG_LOS0 0x20
85
86 #define REG_CDRC_INT_STATUS 0x12
87 #define BIT_CDRC_INT_STATUS_LCVI 0x80
88 #define BIT_CDRC_INT_STATUS_LOSI 0x40
89 #define BIT_CDRC_INT_STATUS_LCSDI 0x20
90 #define BIT_CDRC_INT_STATUS_ZNDI 0x10
91 #define BIT_CDRC_INT_STATUS_LOSV 0x01
92
93 #define REG_ALTLOS_STATUS 0x13
94 #define BIT_ALTLOS_STATUS_ALTLOSE 0x80
95 #define BIT_ALTLOS_STATUS_ALTLOSI 0x40
96 #define BIT_ALTLOS_STATUS_ALTLOS 0x01
97
98 #define REG_RJAT_CFG 0x17
99 #define BIT_RJAT_CENT 0x10
100
101 #define REG_TJAT_CFG 0x1B
102 #define BIT_TJAT_CENT 0x10
103
104 #define REG_RX_ELST_CFG 0x1C
105 #define MASK_RX_ELST_CFG 0x03
106 #define BIT_RX_ELST_IR 0x02
107 #define BIT_RX_ELST_OR 0x01
108
109 #define REG_TX_ELST_CFG 0x20
110 #define MASK_TX_ELST_CFG 0x03
111 #define BIT_TX_ELST_IR 0x02
112 #define BIT_TX_ELST_OR 0x01
113
114 #define REG_BRIF_CFG 0x30
115 #define BIT_BRIF_NXDS0_1 0x80
116 #define BIT_BRIF_NXDS0_0 0x40
117 #define BIT_BRIF_CMODE 0x20
118 #define BIT_BRIF_RATE0 0x01
119
120 #define REG_BRIF_FR_PULSE_CFG 0x31
121 #define BIT_BRIF_FPMODE 0x20
122 #define BIT_BRIF_ROHM 0x08
123
124 #define REG_BRIF_DATA_CFG 0x32
125 #define BIT_BRIF_DATA_TRI_0 0x01
126
127 #define REG_BTIF_CFG 0x40
128 #define BIT_BTIF_NXDS0_1 0x80
129 #define BIT_BTIF_NXDS0_0 0x40
130 #define BIT_BTIF_CMODE 0x20
131 #define BIT_BTIF_DE 0x10
132 #define BIT_BTIF_FE 0x08
133 #define BIT_BTIF_RATE0 0x01
134
135 #define REG_BTIF_FR_PULSE_CFG 0x41
136 #define BIT_BTIF_FPMODE 0x01
137
138 #define REG_BTIF_CFG_STATUS 0x42
139 #define BIT_BTIF_CFG_STATUS_TPTYP 0x80
140 #define BIT_BTIF_CFG_STATUS_TPTYE 0x40
141 #define BIT_BTIF_CFG_STATUS_TDI 0x20
142 #define BIT_BTIF_CFG_STATUS_TSIGI 0x10
143 #define BIT_BTIF_CFG_STATUS_PTY_EXTD 0x08
144
145 #define REG_BTIF_BIT_OFF 0x44
146 #define BIT_BTIF_BIT_OFF_BOFF_EN 0x08
147 #define BIT_BTIF_BIT_OFF_BOFF_2 0x04
148 #define BIT_BTIF_BIT_OFF_BOFF_1 0x02
149 #define BIT_BTIF_BIT_OFF_BOFF_0 0x01
150
151 #define REG_T1_FRMR_CFG 0x48
152 #define BIT_T1_FRMR_ESF 0x20
153 #define BIT_T1_FRMR_ESFFA 0x10
154 #define BIT_T1_FRMR_FMS1 0x08
155 #define BIT_T1_FRMR_FMS0 0x04
156
157 #define REG_SIGX_CFG 0x50
158 #define BIT_SIGX_ESF 0x04
159 #define BIT_SIGX_IND 0x02
160 #define BIT_SIGX_PCCE 0x01
161 #define BIT_SIGX_SIGE 0x20
162 #define BIT_SIGX_COSS 0x40
163 #define MASK_SIGX_COSS_30_25 0x3F
164
165 #define REG_SIGX_TIMESLOT_IND_STATUS 0x51
166 #define BIT_SIGX_BUSY 0x80
167 #define REG_SIGX_TIMESLOT_IND_ACCESS 0x52
168 #define BIT_SIGX_TS_IND_ACCESS_READ 0x80
169 #define REG_SIGX_TIMESLOT_IND_DATA_BUFFER 0x53
170 #define REG_SIGX_SIGDATA 0x20
171 #define BIT_SIGX_SIGDATA_A 0x08
172 #define BIT_SIGX_SIGDATA_B 0x04
173 #define BIT_SIGX_SIGDATA_C 0x02
174 #define BIT_SIGX_SIGDATA_D 0x01
175
176 #define REG_SIGX_CHANCFG 0x40
177 #define BIT_SIGX_CHANCFG_RINV1 0x08
178 #define BIT_SIGX_CHANCFG_RINV0 0x04
179 #define BIT_SIGX_CHANCFG_RFIX 0x04
180 #define BIT_SIGX_CHANCFG_RPOL 0x02
181 #define BIT_SIGX_CHANCFG_RDEBE 0x01
182
183 #define REG_T1_XBAS_CFG 0x54
184 #define BIT_T1_XBAS_ZCS0 0x01
185 #define BIT_T1_XBAS_ZCS1 0x02
186 #define BIT_T1_XBAS_B8ZS 0x20
187 #define BIT_T1_XBAS_ESF 0x10
188
189 #define REG_T1_XBAS_ALARM_TX 0x55
190 #define BIT_T1_XBAS_ALARM_TX_XYEL 0x02
191 #define BIT_T1_XBAS_ALARM_TX_XAIS 0x01
192
193
194 #define REG_PMON_BIT_ERROR 0x59
195 #define BITS_PMON_BIT_ERROR 0x7F
196
197 #define REG_PMON_OOF_FEB_LSB_ERROR 0x5A
198
199 #define REG_PMON_OOF_FEB_MSB_ERROR 0x5B
200 #define BITS_PMON_OOF_FEB_MSB_ERROR 0x03
201
202 #define REG_PMON_BIT_CRC_LSB_ERROR 0x5C
203
204 #define REG_PMON_BIT_CRC_MSB_ERROR 0x5D
205 #define BITS_PMON_BIT_CRC_MSB_ERROR 0x03
206
207 #define REG_PMON_LCV_LSB_COUNT 0x5E
208
209 #define REG_PMON_LCV_MSB_COUNT 0x5F
210 #define BITS_PMON_LCV_MSB_COUNT 0x1F
211
212 #define REG_T1_ALMI_CFG 0x60
213 #define BIT_T1_ALMI_CFG_ESF 0x10
214 #define BIT_T1_ALMI_CFG_FMS1 0x08
215 #define BIT_T1_ALMI_CFG_FMS0 0x04
216
217 #define REG_T1_ALMI_DET_STATUS 0x63
218 #define BIT_T1_ALMI_DET_STATUS_REDD 0x04
219 #define BIT_T1_ALMI_DET_STATUS_YELD 0x02
220 #define BIT_T1_ALMI_DET_STATUS_AISD 0x01
221
222
223 #define REG_T1_XBOC_CODE 0x67
224 #define MASK_T1_XBOC_CODE 0x3F
225
226
227 #define REG_T1_RBOC_ENABLE 0x6A
228 #define BIT_T1_RBOC_ENABLE_IDLE 0x04
229 #define BIT_T1_RBOC_ENABLE_AVC 0x02
230 #define BIT_T1_RBOC_ENABLE_BOCE 0x01
231
232
233 #define REG_T1_RBOC_CODE_STATUS 0x6B
234 #define BIT_T1_RBOC_CODE_STATUS_IDLEI 0x80
235 #define BIT_T1_RBOC_CODE_STATUS_BOCI 0x40
236 #define MASK_T1_RBOC_CODE_STATUS 0x3F
237
238
239 #define REG_TPSC_CFG 0x6C
240 #define MASK_TPSC_CFG 0x03
241 #define BIT_TPSC_IND 0x02
242 #define BIT_TPSC_PCCE 0x01
243 #define REG_TPSC_MICRO_ACCESS_STATUS 0x6D
244 #define BIT_TPSC_BUSY 0x80
245 #define REG_TPSC_CHANNEL_INDIRECT_ADDRESS_CONTROL 0x6E
246 #define REG_TPSC_CHANNEL_INDIRECT_DATA_BUFFER 0x6F
247 #define REG_TPSC_DATA_CTRL_BYTE 0x20
248 #define MASK_TPSC_DATA_CTRL_BYTE 0xFC
249 #define BIT_TPSC_DATA_CTRL_BYTE_INVERT 0x80
250 #define BIT_TPSC_DATA_CTRL_BYTE_IDLE_DS0 0x40
251 #define BIT_TPSC_DATA_CTRL_BYTE_SIGNINV 0x10
252 #define BIT_TPSC_DATA_CTRL_BYTE_LOOP 0x04
253 #define BIT_TPSC_DATA_CTRL_BYTE_ZCS0 0x02
254 #define BIT_TPSC_DATA_CTRL_BYTE_ZCS1 0x01
255 #define REG_TPSC_IDLE_CODE_BYTE 0x40
256 #define REG_TPSC_SIGNALING_BYTE 0x60
257 #define REG_TPSC_E1_CTRL_BYTE 0x60
258 #define BIT_TPSC_E1_CTRL_BYTE_SUBS 0x80
259 #define BIT_TPSC_E1_CTRL_BYTE_DS0 0x40
260 #define BIT_TPSC_E1_CTRL_BYTE_DS1 0x20
261 #define BIT_TPSC_E1_CTRL_BYTE_A 0x08
262 #define BIT_TPSC_E1_CTRL_BYTE_B 0x04
263 #define BIT_TPSC_E1_CTRL_BYTE_C 0x02
264 #define BIT_TPSC_E1_CTRL_BYTE_D 0x01
265 #define BIT_TPSC_SIGNALING_BYTE_SIGC_0 0x80
266 #define BIT_TPSC_SIGNALING_BYTE_SIGC_1 0x40
267 #define BIT_TPSC_SIGNALING_BYTE_DS1 0x20
268 #define BIT_TPSC_SIGNALING_BYTE_A 0x08
269 #define BIT_TPSC_SIGNALING_BYTE_B 0x04
270 #define BIT_TPSC_SIGNALING_BYTE_C 0x02
271 #define BIT_TPSC_SIGNALING_BYTE_D 0x01
272
273
274 #define REG_RPSC_CFG 0x70
275 #define MASK_RPSC_CFG 0x03
276 #define BIT_RPSC_IND 0x02
277 #define BIT_RPSC_PCCE 0x01
278 #define REG_RPSC_MICRO_ACCESS_STATUS 0x71
279 #define BIT_RPSC_BUSY 0x80
280 #define REG_RPSC_CHANNEL_INDIRECT_ADDRESS_CONTROL 0x72
281 #define REG_RPSC_CHANNEL_INDIRECT_DATA_BUFFER 0x73
282 #define REG_RPSC_DATA_CTRL_BYTE 0x20
283 #define MASK_RPSC_DATA_CTRL_BYTE 0xFC
284 #define BIT_RPSC_DATA_CTRL_BYTE_DTRKC 0x40
285 #define BIT_RPSC_DATA_CTRL_BYTE_SIGNINV 0x04
286 #define REG_RPSC_DATA_COND_BYTE 0x40
287 #define REG_RPSC_SIGNALING_BYTE 0x60
288 #define BIT_RPSC_SIGNALING_BYTE_A 0x08
289 #define BIT_RPSC_SIGNALING_BYTE_B 0x04
290 #define BIT_RPSC_SIGNALING_BYTE_C 0x02
291 #define BIT_RPSC_SIGNALING_BYTE_D 0x01
292
293 #define REG_E1_TRAN_CFG 0x80
294 #define BIT_E1_TRAN_AMI 0x80
295 #define BIT_E1_TRAN_GENCRC 0x10
296 #define BIT_E1_TRAN_FDIS 0x08
297 #define BIT_E1_TRAN_FEBEDIS 0x04
298 #define BIT_E1_TRAN_INDIS 0x02
299 #define BIT_E1_TRAN_XDIS 0x01
300
301 #define REG_E1_FRMR_CFG 0x90
302 #define BIT_E1_FRMR_CRCEN 0x80
303 #define BIT_E1_FRMR_CASDIS 0x40
304 #define BIT_E1_FRMR_REFCRCEN 0x02
305
306
307 #define REG_E1_FRMR_MAINT_OPT 0x91
308 #define BIT_E1_FRMR_MAINT_OPT_AISC 0x02
309
310
311 #define REG_E1_FRMR_FR_STATUS 0x96
312 #define BIT_E1_FRMR_FR_STATUS_C2NCIWV 0x80
313 #define BIT_E1_FRMR_FR_STATUS_OOFV 0x40
314 #define BIT_E1_FRMR_FR_STATUS_OOSMFV 0x20
315 #define BIT_E1_FRMR_FR_STATUS_OOCMFV 0x10
316 #define BIT_E1_FRMR_FR_STATUS_OOOFV 0x08
317 #define BIT_E1_FRMR_FR_STATUS_RAICCRCV 0x04
318 #define BIT_E1_FRMR_FR_STATUS_CFEBEV 0x02
319 #define BIT_E1_FRMR_FR_STATUS_V52LINKV 0x01
320
321
322 #define REG_E1_FRMR_MAINT_STATUS 0x97
323 #define BIT_E1_FRMR_MAINT_STATUS_RAIV 0x80
324 #define BIT_E1_FRMR_MAINT_STATUS_RED 0x08
325 #define BIT_E1_FRMR_MAINT_STATUS_AIS 0x04
326
327
328 #define REG_TDPR_CFG 0xA8
329 #define BIT_TDPR_CFG_EN 0x01
330
331
332 #define REG_TDPR_TX_DATA 0xAD
333
334
335 #define REG_RDLC_CFG 0xC0
336 #define BIT_RDLC_CFG_EN 0x01
337
338
339 #define REG_RDLC_INT_CTRL 0xC1
340 #define BIT_RDLC_INT_CTRL_INTE 0x80
341
342
343 #define REG_RDLC_STATUS 0xC2
344 #define BIT_RDLC_STATUS_PKIN 0x10
345 #define BIT_RDLC_STATUS_INTR 0x01
346
347
348 #define REG_RDLC_DATA 0xC3
349
350 #define REG_CSU_CFG 0xD6
351 #define MASK_CSU_CFG 0xC7
352 #define BIT_CSU_MODE2 0x04
353 #define BIT_CSU_MODE1 0x02
354 #define BIT_CSU_MODE0 0x01
355
356
357 #define REG_RLPS_IND_DATA_1 0xD8
358
359 #define REG_RLPS_IND_DATA_2 0xD9
360
361 #define REG_RLPS_IND_DATA_3 0xDA
362
363 #define REG_RLPS_IND_DATA_4 0xDB
364
365 #define REG_EQ_VREF 0xDC
366
367 #define REG_RLPS_FUSE_CTRL_STAT 0xDD
368
369 #define REG_XLPG_LINE_CFG 0xF0
370 #define REG_PRGD_INT_STATUS_EN 0xE1
371 #define BIT_PRGD_INT_STATUS_EN_SYNCE 0x80
372 #define BIT_PRGD_INT_STATUS_EN_BEE 0x40
373 #define BIT_PRGD_INT_STATUS_EN_XFERE 0x20
374 #define BIT_PRGD_INT_STATUS_EN_SYNCV 0x10
375 #define BIT_PRGD_INT_STATUS_EN_SYNCI 0x08
376 #define BIT_PRGD_INT_STATUS_EN_BEI 0x04
377 #define BIT_PRGD_INT_STATUS_EN_XFERI 0x02
378 #define BIT_PRGD_INT_STATUS_EN_OVR 0x01
379
380 #define REG_XLPG_WAVEFORM_ADDR 0xF2
381
382 #define REG_XLPG_WAVEFORM_DATA 0xF3
383
384 #define REG_XLPG_TPC 0xF4
385 #define BIT_XLPG_TPC_0 0x01
386
387 #define REG_XLPG_TNC 0xF5
388 #define BIT_XLPG_TNC_0 0x01
389
390 #define REG_RLPS_CFG_STATUS 0xF8
391 #define BIT_RLPS_CFG_STATUS_ALOSI 0x80
392 #define BIT_RLPS_CFG_STATUS_ALOSV 0x40
393 #define BIT_RLPS_CFG_STATUS_ALOSE 0x20
394 #define BIT_RLPS_CFG_STATUS_LONGE 0x01
395
396 #define REG_RLPS_ALOS_DET_CLR_THR 0xF9
397 #define BIT_RLPS_ALOS_CLR_THR_2 0x40
398 #define BIT_RLPS_ALOS_CLR_THR_1 0x20
399 #define BIT_RLPS_ALOS_CLR_THR_0 0x10
400 #define BIT_RLPS_ALOS_DET_THR_2 0x04
401 #define BIT_RLPS_ALOS_DET_THR_1 0x02
402 #define BIT_RLPS_ALOS_DET_THR_0 0x01
403
404 #define REG_RLPS_ALOS_DET_PER 0xFA
405
406 #define REG_RLPS_ALOS_CLR_PER 0xFB
407 #define BIT_RLPS_ALOS_CLR_PER_0 0x01
408
409
410 #define REG_RLPS_EQ_ADDR 0xFC
411
412
413 #define REG_RLPS_EQ_RWB 0xFD
414 #define BIT_RLPS_EQ_RWB 0x80
415
416 #define REG_RLPS_EQ_STATUS 0xFE
417
418 #define REG_RLPS_EQ_CFG 0xFF
419 #define MASK_RLPS_EQ_CFG 0xC7
420 #define BIT_RLPS_EQ_RESERVED 0x08
421 #define BIT_RLPS_EQ_FREQ_1 0x02
422 #define BIT_RLPS_EQ_FREQ_0 0x01
423
424
425
426
427 #define REG_INT_SRC_1 0x07
428 #define BITS_TX_INT_SRC_1 0x0C
429 #define BITS_RX_INT_SRC_1 0xF3
430 #define BIT_INT_SRC_1_PMON 0x80
431 #define BIT_INT_SRC_1_PRGD 0x40
432 #define BIT_INT_SRC_1_FRMR 0x20
433 #define BIT_INT_SRC_1_SIGX 0x10
434 #define BIT_INT_SRC_1_APRM 0x08
435 #define BIT_INT_SRC_1_TJAT 0x04
436 #define BIT_INT_SRC_1_RJAT 0x02
437 #define BIT_INT_SRC_1_CDRC 0x01
438
439 #define REG_INT_SRC_2 0x08
440 #define BITS_TX_INT_SRC_2 0x0F
441 #define BITS_RX_INT_SRC_2 0xF0
442 #define BIT_INT_SRC_2_RX_ELST 0x80
443 #define BIT_INT_SRC_2_RDLC_3 0x40
444 #define BIT_INT_SRC_2_RDLC_2 0x20
445 #define BIT_INT_SRC_2_RDLC_1 0x10
446 #define BIT_INT_SRC_2_TX_ELST 0x08
447 #define BIT_INT_SRC_2_TDPR_3 0x04
448 #define BIT_INT_SRC_2_TDPR_2 0x02
449 #define BIT_INT_SRC_2_TDPR_1 0x01
450
451 #define REG_INT_SRC_3 0x09
452 #define BITS_TX_INT_SRC_3 0x15
453 #define BITS_RX_INT_SRC_3 0xEA
454 #define BIT_INT_SRC_3_IBCD 0x80
455 #define BIT_INT_SRC_3_PDVD 0x40
456 #define BIT_INT_SRC_3_RBOC 0x20
457 #define BIT_INT_SRC_3_XPDE 0x10
458 #define BIT_INT_SRC_3_ALMI 0x08
459 #define BIT_INT_SRC_3_TRAN 0x04
460 #define BIT_INT_SRC_3_RLPS 0x02
461 #define BIT_INT_SRC_3_BTIF 0x01
462
463 #define REG_CDRC_INT_EN 0x11
464 #define BIT_CDRC_INT_EN_LCVE 0x80
465 #define BIT_CDRC_INT_EN_LOSE 0x40
466 #define BIT_CDRC_INT_EN_LCSDE 0x20
467 #define BIT_CDRC_INT_EN_ZNDE 0x10
468
469 #define REG_CDRC_INT_STATUS 0x12
470 #define BIT_CDRC_INT_STATUS_LCVI 0x80
471 #define BIT_CDRC_INT_STATUS_LOSI 0x40
472 #define BIT_CDRC_INT_STATUS_LCSDI 0x20
473 #define BIT_CDRC_INT_STATUS_ZNDI 0x10
474 #define BIT_CDRC_INT_STATUS_LOSV 0x01
475
476 #define REG_RJAT_INT_STATUS 0x14
477 #define BIT_RJAT_INT_STATUS_OVRI 0x02
478 #define BIT_RJAT_INT_STATUS_UNDI 0x01
479
480 #define REG_TJAT_INT_STATUS 0x18
481 #define BIT_TJAT_INT_STATUS_OVRI 0x02
482 #define BIT_TJAT_INT_STATUS_UNDI 0x01
483
484 #define REG_RX_ELST_INT_EN_STATUS 0x1D
485 #define BIT_RX_ELST_INT_EN_STATUS_SLIPE 0x04
486 #define BIT_RX_ELST_INT_EN_STATUS_SLIPD 0x02
487 #define BIT_RX_ELST_INT_EN_STATUS_SLIPI 0x01
488
489 #define REG_TX_ELST_INT_EN_STATUS 0x21
490 #define BIT_TX_ELST_INT_EN_STATUS_SLIPE 0x04
491 #define BIT_TX_ELST_INT_EN_STATUS_SLIPD 0x02
492 #define BIT_TX_ELST_INT_EN_STATUS_SLIPI 0x01
493
494 #define REG_T1_FRMR_INT_EN 0x49
495 #define BIT_T1_FRMR_INT_EN_COFAE 0x20
496 #define BIT_T1_FRMR_INT_EN_FERE 0x10
497 #define BIT_T1_FRMR_INT_EN_BEEE 0x08
498 #define BIT_T1_FRMR_INT_EN_SFEE 0x04
499 #define BIT_T1_FRMR_INT_EN_MFPE 0x02
500 #define BIT_T1_FRMR_INT_EN_INFRE 0x01
501
502 #define REG_T1_FRMR_INT_STATUS 0x4A
503 #define BIT_T1_FRMR_INT_STATUS_COFAI 0x80
504 #define BIT_T1_FRMR_INT_STATUS_FERI 0x40
505 #define BIT_T1_FRMR_INT_STATUS_BEEI 0x20
506 #define BIT_T1_FRMR_INT_STATUS_SFEI 0x10
507 #define BIT_T1_FRMR_INT_STATUS_MFPI 0x08
508 #define BIT_T1_FRMR_INT_STATUS_INFRI 0x04
509 #define BIT_T1_FRMR_INT_STATUS_MFP 0x02
510 #define BIT_T1_FRMR_INT_STATUS_INFR 0x01
511
512 #define REG_IBCD_CFG 0x4C
513 #define BIT_IBCD_CFG_DSEL1 0x08
514 #define BIT_IBCD_CFG_DSEL0 0x04
515 #define BIT_IBCD_CFG_ASEL1 0x02
516 #define BIT_IBCD_CFG_ASEL0 0x01
517
518 #define REG_IBCD_INT_EN_STATUS 0x4D
519 #define BIT_IBCD_INT_EN_STATUS_LBACP 0x80
520 #define BIT_IBCD_INT_EN_STATUS_LBDCP 0x40
521 #define BIT_IBCD_INT_EN_STATUS_LBAE 0x20
522 #define BIT_IBCD_INT_EN_STATUS_LBDE 0x10
523 #define BIT_IBCD_INT_EN_STATUS_LBAI 0x08
524 #define BIT_IBCD_INT_EN_STATUS_LBDI 0x04
525 #define BIT_IBCD_INT_EN_STATUS_LBA 0x02
526 #define BIT_IBCD_INT_EN_STATUS_LBD 0x01
527
528 #define REG_IBCD_ACTIVATE_CODE 0x4E
529 #define BIT_IBCD_ACTIVATE_CODE_ACT7 0x80
530 #define BIT_IBCD_ACTIVATE_CODE_ACT6 0x40
531 #define BIT_IBCD_ACTIVATE_CODE_ACT5 0x20
532 #define BIT_IBCD_ACTIVATE_CODE_ACT4 0x10
533 #define BIT_IBCD_ACTIVATE_CODE_ACT3 0x08
534 #define BIT_IBCD_ACTIVATE_CODE_ACT2 0x04
535 #define BIT_IBCD_ACTIVATE_CODE_ACT1 0x02
536 #define BIT_IBCD_ACTIVATE_CODE_ACT0 0x01
537
538 #define REG_IBCD_DEACTIVATE_CODE 0x4F
539 #define BIT_IBCD_DEACTIVATE_CODE_DACT7 0x80
540 #define BIT_IBCD_DEACTIVATE_CODE_DACT6 0x40
541 #define BIT_IBCD_DEACTIVATE_CODE_DACT5 0x20
542 #define BIT_IBCD_DEACTIVATE_CODE_DACT4 0x10
543 #define BIT_IBCD_DEACTIVATE_CODE_DACT3 0x08
544 #define BIT_IBCD_DEACTIVATE_CODE_DACT2 0x04
545 #define BIT_IBCD_DEACTIVATE_CODE_DACT1 0x02
546 #define BIT_IBCD_DEACTIVATE_CODE_DACT0 0x01
547
548 #define REG_PMON_INT_EN_STATUS 0x58
549 #define BIT_PMON_INT_EN_STATUS_INTE 0x04
550 #define BIT_PMON_INT_EN_STATUS_XFER 0x02
551 #define BIT_PMON_INT_EN_STATUS_OVR 0x01
552
553 #define REG_T1_ALMI_INT_EN 0x61
554 #define BIT_T1_ALMI_INT_EN_FASTD 0x10
555 #define BIT_T1_ALMI_INT_EN_ACCEL 0x08
556 #define BIT_T1_ALMI_INT_EN_YELE 0x04
557 #define BIT_T1_ALMI_INT_EN_REDE 0x02
558 #define BIT_T1_ALMI_INT_EN_AISE 0x01
559
560 #define REG_T1_ALMI_INT_STATUS 0x62
561 #define BIT_T1_ALMI_INT_STATUS_YELI 0x20
562 #define BIT_T1_ALMI_INT_STATUS_REDI 0x10
563 #define BIT_T1_ALMI_INT_STATUS_AISI 0x08
564 #define BIT_T1_ALMI_INT_STATUS_YEL 0x04
565 #define BIT_T1_ALMI_INT_STATUS_RED 0x02
566 #define BIT_T1_ALMI_INT_STATUS_AIS 0x01
567
568 #define REG_PDVD_INT_EN_STATUS 0x65
569 #define BIT_PDVD_INT_EN_STATUS_PDV 0x10
570 #define BIT_PDVD_INT_EN_STATUS_Z16DI 0x08
571 #define BIT_PDVD_INT_EN_STATUS_PDVI 0x04
572 #define BIT_PDVD_INT_EN_STATUS_Z16DE 0x02
573 #define BIT_PDVD_INT_EN_STATUS_PDVE 0x01
574
575 #define REG_XPDE_INT_EN_STATUS 0x69
576 #define BIT_XPDE_INT_EN_STATUS_STUFE 0x80
577 #define BIT_XPDE_INT_EN_STATUS_STUFF 0x40
578 #define BIT_XPDE_INT_EN_STATUS_STUFI 0x20
579 #define BIT_XPDE_INT_EN_STATUS_PDV 0x10
580 #define BIT_XPDE_INT_EN_STATUS_Z16DI 0x08
581 #define BIT_XPDE_INT_EN_STATUS_PDVI 0x04
582 #define BIT_XPDE_INT_EN_STATUS_Z16DE 0x02
583 #define BIT_XPDE_INT_EN_STATUS_PDVE 0x01
584
585 #define REG_T1_APRM_INT_STATUS 0x7A
586 #define BIT_T1_APRM_INT_STATUS_INTR 0x01
587
588 #define REG_E1_TRAN_INT_EN 0x84
589 #define BIT_E1_TRAN_INT_EN_SIGMFE 0x10
590 #define BIT_E1_TRAN_INT_EN_NFASE 0x08
591 #define BIT_E1_TRAN_INT_EN_MFE 0x04
592 #define BIT_E1_TRAN_INT_EN_SMFE 0x02
593 #define BIT_E1_TRAN_INT_EN_FRME 0x01
594
595 #define REG_E1_TRAN_INT_STATUS 0x85
596 #define BIT_E1_TRAN_INT_STATUS_SIGMFI 0x10
597 #define BIT_E1_TRAN_INT_STATUS_NFASI 0x08
598 #define BIT_E1_TRAN_INT_STATUS_MFI 0x04
599 #define BIT_E1_TRAN_INT_STATUS_SMFI 0x02
600 #define BIT_E1_TRAN_INT_STATUS_FRMI 0x01
601
602 #define REG_E1_FRMR_FRM_STAT_INT_EN 0x92
603 #define BIT_E1_FRMR_FRM_STAT_INT_EN_C2NCIWE 0x80
604 #define BIT_E1_FRMR_FRM_STAT_INT_EN_OOFE 0x40
605 #define BIT_E1_FRMR_FRM_STAT_INT_EN_OOSMFE 0x20
606 #define BIT_E1_FRMR_FRM_STAT_INT_EN_OOCMFE 0x10
607 #define BIT_E1_FRMR_FRM_STAT_INT_EN_COFAE 0x08
608 #define BIT_E1_FRMR_FRM_STAT_INT_EN_FERE 0x04
609 #define BIT_E1_FRMR_FRM_STAT_INT_EN_SMFERE 0x02
610 #define BIT_E1_FRMR_FRM_STAT_INT_EN_CMFERE 0x01
611
612 #define REG_E1_FRMR_M_A_INT_EN 0x93
613 #define BIT_E1_FRMR_M_A_INT_EN_RAIE 0x80
614 #define BIT_E1_FRMR_M_A_INT_EN_RMAIE 0x40
615 #define BIT_E1_FRMR_M_A_INT_EN_AISDE 0x20
616 #define BIT_E1_FRMR_M_A_INT_EN_REDE 0x08
617 #define BIT_E1_FRMR_M_A_INT_EN_AISE 0x04
618 #define BIT_E1_FRMR_M_A_INT_EN_FEBEE 0x02
619 #define BIT_E1_FRMR_M_A_INT_EN_CRCEE 0x01
620
621
622 #define REG_E1_FRMR_FRM_STAT_INT_IND 0x94
623 #define BIT_E1_FRMR_FRM_STAT_INT_IND_C2NCIWI 0x80
624 #define BIT_E1_FRMR_FRM_STAT_INT_IND_OOFI 0x40
625 #define BIT_E1_FRMR_FRM_STAT_INT_IND_OOSMFI 0x20
626 #define BIT_E1_FRMR_FRM_STAT_INT_IND_OOCMFI 0x10
627 #define BIT_E1_FRMR_FRM_STAT_INT_IND_COFAI 0x08
628 #define BIT_E1_FRMR_FRM_STAT_INT_IND_FERI 0x04
629 #define BIT_E1_FRMR_FRM_STAT_INT_IND_SMFERI 0x02
630 #define BIT_E1_FRMR_FRM_STAT_INT_IND_CMFERI 0x01
631
632 #define REG_E1_FRMR_M_A_INT_IND 0x95
633 #define BIT_E1_FRMR_M_A_INT_IND_RAII 0x80
634 #define BIT_E1_FRMR_M_A_INT_IND_FMAII 0x40
635 #define BIT_E1_FRMR_M_A_INT_IND_AISDI 0x20
636 #define BIT_E1_FRMR_M_A_INT_IND_REDI 0x08
637 #define BIT_E1_FRMR_M_A_INT_IND_AISI 0x04
638 #define BIT_E1_FRMR_M_A_INT_IND_FEBEI 0x02
639 #define BIT_E1_FRMR_M_A_INT_IND_CRCEI 0x01
640
641 #define REG_E1_FRMR_P_A_INT_EN 0x9E
642 #define BIT_E1_FRMR_P_A_INT_EN_OOOFE 0x80
643 #define BIT_E1_FRMR_P_A_INT_EN_RAICCRCE 0x40
644 #define BIT_E1_FRMR_P_A_INT_EN_CFEBEE 0x20
645 #define BIT_E1_FRMR_P_A_INT_EN_V52LINKE 0x10
646 #define BIT_E1_FRMR_P_A_INT_EN_IFPE 0x08
647 #define BIT_E1_FRMR_P_A_INT_EN_ICSMFPE 0x04
648 #define BIT_E1_FRMR_P_A_INT_EN_ICMFPE 0x02
649 #define BIT_E1_FRMR_P_A_INT_EN_ISMFPE 0x01
650
651 #define REG_E1_FRMR_P_A_INT_STAT 0x9F
652 #define BIT_E1_FRMR_P_A_INT_STAT_OOOFI 0x80
653 #define BIT_E1_FRMR_P_A_INT_STAT_RAICCRCI 0x40
654 #define BIT_E1_FRMR_P_A_INT_STAT_CFEBEI 0x20
655 #define BIT_E1_FRMR_P_A_INT_STAT_V52LINKI 0x10
656 #define BIT_E1_FRMR_P_A_INT_STAT_IFPI 0x08
657 #define BIT_E1_FRMR_P_A_INT_STAT_ICSMFPI 0x04
658 #define BIT_E1_FRMR_P_A_INT_STAT_ICMFPI 0x02
659 #define BIT_E1_FRMR_P_A_INT_STAT_ISMFPI 0x01
660
661
662
663 #define WAN_LC_AMI 0x01
664 #define WAN_LC_B8ZS 0x02
665 #define WAN_LC_HDB3 0x03
666
667
668 #define WAN_FR_ESF 0x01
669 #define WAN_FR_D4 0x02
670 #define WAN_FR_ESF_JAPAN 0x03
671 #define WAN_FR_CRC4 0x04
672 #define WAN_FR_NCRC4 0x05
673 #define WAN_FR_UNFRAMED 0x06
674
675
676 #define WAN_T1_LBO_0_DB 0x01
677 #define WAN_T1_LBO_75_DB 0x02
678 #define WAN_T1_LBO_15_DB 0x03
679 #define WAN_T1_LBO_225_DB 0x04
680 #define WAN_T1_0_110 0x05
681 #define WAN_T1_110_220 0x06
682 #define WAN_T1_220_330 0x07
683 #define WAN_T1_330_440 0x08
684 #define WAN_T1_440_550 0x09
685 #define WAN_T1_550_660 0x0A
686
687
688 #define WAN_E1_120 0x0B
689 #define WAN_E1_75 0x0C
690
691
692 #define WAN_NORMAL_CLK 0x01
693 #define WAN_MASTER_CLK 0x02
694
695 #define NUM_OF_T1_CHANNELS 24
696 #define NUM_OF_E1_TIMESLOTS 31
697 #define NUM_OF_E1_CHANNELS 32
698 #define ENABLE_ALL_CHANNELS 0xFFFFFFFF
699
700 #define E1_FRAMING_TIMESLOT 0
701 #define E1_SIGNALING_TIMESLOT 16
702
703
704 #define BIT_ALOS_ALARM 0x0001
705 #define BIT_LOS_ALARM 0x0002
706 #define BIT_ALTLOS_ALARM 0x0004
707 #define BIT_OOF_ALARM 0x0008
708 #define BIT_RED_ALARM 0x0010
709 #define BIT_AIS_ALARM 0x0020
710 #define BIT_OOSMF_ALARM 0x0040
711 #define BIT_OOCMF_ALARM 0x0080
712 #define BIT_OOOF_ALARM 0x0100
713 #define BIT_RAI_ALARM 0x0200
714 #define BIT_YEL_ALARM 0x0400
715 #define BIT_LOOPUP_CODE 0x2000
716 #define BIT_LOOPDOWN_CODE 0x4000
717 #define BIT_TE1_ALARM 0x8000
718
719
720 #define frm_bit_error pmon1
721 #define oof_errors pmon2
722 #define far_end_blk_errors pmon2
723 #define bit_errors pmon3
724 #define crc_errors pmon3
725 #define lcv pmon4
726
727
728 #define WAN_TE1_LINELB_MODE 0x01
729 #define WAN_TE1_PAYLB_MODE 0x02
730 #define WAN_TE1_DDLB_MODE 0x03
731 #define WAN_TE1_TX_LB_MODE 0x04
732
733
734 #define WAN_TE1_ACTIVATE_LB 0x01
735 #define WAN_TE1_DEACTIVATE_LB 0x02
736
737
738 #define LINELB_TE1_TIMER 40
739 #define LINELB_CODE_CNT 10
740 #define LINELB_CHANNEL_CNT 10
741 #define LINELB_ACTIVATE_CODE 0x07
742 #define LINELB_DEACTIVATE_CODE 0x1C
743 #define LINELB_DS3LINE 0x1B
744 #define LINELB_DS1LINE_1 0x21
745 #define LINELB_DS1LINE_2 0x22
746 #define LINELB_DS1LINE_3 0x23
747 #define LINELB_DS1LINE_4 0x24
748 #define LINELB_DS1LINE_5 0x25
749 #define LINELB_DS1LINE_6 0x26
750 #define LINELB_DS1LINE_7 0x27
751 #define LINELB_DS1LINE_8 0x28
752 #define LINELB_DS1LINE_9 0x29
753 #define LINELB_DS1LINE_10 0x2A
754 #define LINELB_DS1LINE_11 0x2B
755 #define LINELB_DS1LINE_12 0x2C
756 #define LINELB_DS1LINE_13 0x2D
757 #define LINELB_DS1LINE_14 0x2E
758 #define LINELB_DS1LINE_15 0x2F
759 #define LINELB_DS1LINE_16 0x30
760 #define LINELB_DS1LINE_17 0x31
761 #define LINELB_DS1LINE_18 0x32
762 #define LINELB_DS1LINE_19 0x33
763 #define LINELB_DS1LINE_20 0x34
764 #define LINELB_DS1LINE_21 0x35
765 #define LINELB_DS1LINE_22 0x36
766 #define LINELB_DS1LINE_23 0x37
767 #define LINELB_DS1LINE_24 0x38
768 #define LINELB_DS1LINE_25 0x39
769 #define LINELB_DS1LINE_26 0x3A
770 #define LINELB_DS1LINE_27 0x3B
771 #define LINELB_DS1LINE_28 0x3C
772 #define LINELB_DS1LINE_ALL 0x13
773 #define LINELB_DS1LINE_MASK 0x1F
774
775
776 #define POLLING_TE1_TIMER 1000
777
778
779 #define TE_TIMER_RUNNING 0x01
780 #define TE_TIMER_KILL 0x02
781 #define LINELB_WAITING 0x03
782 #define LINELB_CODE_BIT 0x04
783 #define LINELB_CHANNEL_BIT 0x05
784 #define TE_CONFIGURED 0x06
785
786 #if 0
787 #define TE_TIMER_RUNNING 0x01
788 #define TE_TIMER_KILL 0x02
789 #define LINELB_WAITING 0x04
790 #define LINELB_CODE_BIT 0x08
791 #define LINELB_CHANNEL_BIT 0x10
792 #endif
793
794
795 #define TE_LINELB_TIMER 0x01
796 #define TE_LINKDOWN_TIMER 0x02
797 #define TE_SET_INTR 0x03
798 #define TE_ABCD_UPDATE 0x04
799 #define TE_LINKUP_TIMER 0x05
800
801
802 #define INTR_TE1_TIMER 150
803
804 #define IS_T1(te_cfg) ((te_cfg)->media == WAN_MEDIA_T1)
805 #define IS_E1(te_cfg) ((te_cfg)->media == WAN_MEDIA_E1)
806
807 #define IS_TE1(te_cfg) (IS_T1(te_cfg) || IS_E1(te_cfg))
808
809 #define IS_TE1_UNFRAMED(card) ((card)->te_cfg.frame == WAN_FR_UNFRAMED)
810
811 #define GET_TE_CHANNEL_RANGE(card) \
812 (IS_T1(&card->te_cfg) ? NUM_OF_T1_CHANNELS : \
813 IS_E1(&card->te_cfg) ? NUM_OF_E1_CHANNELS :0)
814
815 #define ALOS_ALARM(val) (val & BIT_ALOS_ALARM) ? "ON" : "OFF"
816 #define LOS_ALARM(val) (val & BIT_LOS_ALARM) ? "ON" : "OFF"
817 #define ALTLOS_ALARM(val) (val & BIT_ALTLOS_ALARM) ? "ON" : "OFF"
818 #define OOF_ALARM(val) (val & BIT_OOF_ALARM) ? "ON" : "OFF"
819 #define RED_ALARM(val) (val & BIT_RED_ALARM) ? "ON" : "OFF"
820 #define AIS_ALARM(val) (val & BIT_AIS_ALARM) ? "ON" : "OFF"
821 #define OOSMF_ALARM(val) (val & BIT_OOSMF_ALARM) ? "ON" : "OFF"
822 #define OOCMF_ALARM(val) (val & BIT_OOCMF_ALARM) ? "ON" : "OFF"
823 #define OOOF_ALARM(val) (val & BIT_OOOF_ALARM) ? "ON" : "OFF"
824 #define RAI_ALARM(val) (val & BIT_RAI_ALARM) ? "ON" : "OFF"
825 #define YEL_ALARM(val) (val & BIT_YEL_ALARM) ? "ON" : "OFF"
826
827 #define MEDIA_DECODE(val) (val == WAN_MEDIA_T1) ? "T1" : \
828 (val == WAN_MEDIA_E1) ? "E1" : "Unknown"
829
830 #define LCODE_DECODE(val) (val == WAN_LC_AMI) ? "AMI" : \
831 (val == WAN_LC_B8ZS) ? "B8ZS" : \
832 (val == WAN_LC_HDB3) ? "HDB3" : "Unknown"
833
834 #define FRAME_DECODE(val) (val == WAN_FR_ESF) ? "ESF" : \
835 (val == WAN_FR_D4) ? "D4" : \
836 (val == WAN_FR_CRC4) ? "CRC4" : \
837 (val == WAN_FR_NCRC4) ? "non-CRC4" : \
838 (val == WAN_FR_UNFRAMED) ? \
839 "Unframed" : "Unknown"
840
841 #define TECLK_DECODE(val) (val == WAN_NORMAL_CLK) ? "Normal" : \
842 (val == WAN_MASTER_CLK) ? "Master" : \
843 "Unknown"
844
845 #define LBO_DECODE(val) \
846 (val == WAN_T1_LBO_0_DB) ? "0db" : \
847 (val == WAN_T1_LBO_75_DB) ? "7.5db" : \
848 (val == WAN_T1_LBO_15_DB) ? "15dB" : \
849 (val == WAN_T1_LBO_225_DB) ? "22.5dB" : \
850 (val == WAN_T1_0_110) ? "0-110ft" : \
851 (val == WAN_T1_110_220) ? "110-220ft" : \
852 (val == WAN_T1_220_330) ? "220-330ft" : \
853 (val == WAN_T1_330_440) ? "330-440ft" : \
854 (val == WAN_T1_440_550) ? "440-550ft" : \
855 (val == WAN_T1_550_660) ? "550-660ft" : "Unknown"
856
857
858
859
860
861 typedef struct sdla_te_cfg {
862 unsigned char media;
863 unsigned char lcode;
864 unsigned char frame;
865 unsigned char lbo;
866 unsigned char te_clock;
867 unsigned long active_ch;
868 unsigned char high_impedance_mode;
869 } sdla_te_cfg_t;
870
871
872 typedef struct pmc_pmon {
873 unsigned long pmon1;
874 unsigned long pmon2;
875 unsigned long pmon3;
876 unsigned long pmon4;
877 } pmc_pmon_t;
878
879 #ifdef _KERNEL
880
881
882
883
884
885
886 #pragma pack(1)
887 typedef struct {
888 unsigned char time_slot[32];
889 } te_signaling_perm_t;
890 #pragma pack()
891
892
893 #define TE_SIG_DISABLED 0x00
894 #define TE_RX_SIG_ENABLED 0x01
895 #define TE_TX_SIG_ENABLED 0x02
896 #define TE_SET_TX_SIG_BITS 0x80
897
898
899
900
901
902 #pragma pack(1)
903 typedef struct {
904
905 te_signaling_perm_t sig_perm;
906
907 unsigned char sig_processing_counter;
908
909 unsigned long ptr_te_sig_perm_struct;
910
911 unsigned long ptr_te_Rx_sig_struct;
912
913 unsigned long ptr_te_Tx_sig_struct;
914 } te_signaling_cfg_t;
915 #pragma pack()
916
917
918 #pragma pack(1)
919 typedef struct {
920 unsigned char time_slot[32];
921 } te_signaling_status_t;
922 #pragma pack()
923
924 typedef struct {
925 unsigned char SIGX_chg_30_25;
926 unsigned char SIGX_chg_24_17;
927 unsigned char SIGX_chg_16_9;
928 unsigned char SIGX_chg_8_1;
929
930 unsigned long ptr_te_sig_perm_off;
931 unsigned long ptr_te_Rx_sig_off;
932 unsigned long ptr_te_Tx_sig_off;
933
934 sdla_te_cfg_t te_cfg;
935 unsigned long te_alarm;
936 pmc_pmon_t te_pmon;
937 unsigned char te_rx_lb_cmd;
938 unsigned long te_rx_lb_time;
939
940 unsigned char te_tx_lb_cmd;
941 unsigned long te_tx_lb_cnt;
942 unsigned char te_critical;
943 struct timeout te_timer;
944 unsigned char te_timer_cmd;
945 } sdla_te_softc_t;
946
947
948 EXTERN int sdla_te_defcfg(void *);
949 EXTERN int sdla_te_setcfg(struct ifnet *, struct ifmedia *);
950 EXTERN void sdla_te_settimeslot(void *, unsigned long);
951 EXTERN unsigned long sdla_te_gettimeslot(void *);
952 EXTERN short sdla_te_config(void *);
953 EXTERN void sdla_te_unconfig(void *);
954 EXTERN unsigned long sdla_te_alarm(void *, int);
955 EXTERN void sdla_te_alarm_print(void *);
956 EXTERN void sdla_te_pmon(void *);
957 EXTERN void sdla_flush_te1_pmon(void *);
958 EXTERN void sdla_te_intr(void *);
959 EXTERN int sdla_set_te1_lb_modes(void *, unsigned char, unsigned char);
960 EXTERN void sdla_te_polling(void *);
961 EXTERN void sdla_te_timer(void *);
962 EXTERN int sdla_te_udp(void *, void *, unsigned char *);
963 EXTERN void aft_green_led_ctrl(void *, int);
964 #endif
965
966 #undef EXTERN
967
968 #endif