[BACK]Return to if_san_te1.h CVS log [TXT][DIR] Up to [local] / sys / dev / pci

Annotation of sys/dev/pci/if_san_te1.h, Revision 1.1.1.1

1.1       nbrk        1: /*     $OpenBSD: if_san_te1.h,v 1.5 2005/04/01 21:42:36 canacar Exp $  */
                      2:
                      3: /*-
                      4:  * Copyright (c) 2001-2004 Sangoma Technologies (SAN)
                      5:  * All rights reserved.  www.sangoma.com
                      6:  *
                      7:  * This code is written by Alex Feldman <al.feldman@sangoma.com> for SAN.
                      8:  *
                      9:  * Redistribution and use in source and binary forms, with or without
                     10:  * modification, are permitted provided that the following conditions
                     11:  * are met:
                     12:  * 1. Redistributions of source code must retain the above copyright
                     13:  *    notice, this list of conditions and the following disclaimer.
                     14:  * 2. Redistributions in binary form must reproduce the above
                     15:  *    copyright notice, this list of conditions and the following disclaimer
                     16:  *    in the documentation and/or other materials provided with the
                     17:  *    distribution.
                     18:  * 3. Neither the name of Sangoma Technologies nor the names of its
                     19:  *    contributors may be used to endorse or promote products derived
                     20:  *    from this software without specific prior written permission.
                     21:  *
                     22:  * THIS SOFTWARE IS PROVIDED BY SANGOMA TECHNOLOGIES AND CONTRIBUTORS
                     23:  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
                     24:  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
                     25:  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
                     26:  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
                     27:  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
                     28:  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
                     29:  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
                     30:  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
                     31:  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
                     32:  * THE POSSIBILITY OF SUCH DAMAGE.
                     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: /* PMON Framing Bit Error Count */
                    194: #define REG_PMON_BIT_ERROR             0x59
                    195: #define BITS_PMON_BIT_ERROR            0x7F
                    196: /* PMON OOF/COFA/Far End Block Error Count LSB */
                    197: #define REG_PMON_OOF_FEB_LSB_ERROR     0x5A
                    198: /* PMON OOF/COFA/Far End Block Error Count MSB */
                    199: #define REG_PMON_OOF_FEB_MSB_ERROR     0x5B
                    200: #define BITS_PMON_OOF_FEB_MSB_ERROR    0x03
                    201: /* PMON Bit Error/CRC Error Count LSB */
                    202: #define REG_PMON_BIT_CRC_LSB_ERROR     0x5C
                    203: /* PMON Bit Error/CRC Error Count MSB */
                    204: #define REG_PMON_BIT_CRC_MSB_ERROR     0x5D
                    205: #define BITS_PMON_BIT_CRC_MSB_ERROR    0x03
                    206: /* PMON LCV Count LSB */
                    207: #define REG_PMON_LCV_LSB_COUNT         0x5E
                    208: /* PMON LCV Count MSB */
                    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: /* T1 XBOC Code */
                    223: #define REG_T1_XBOC_CODE               0x67
                    224: #define MASK_T1_XBOC_CODE              0x3F
                    225:
                    226: /* T1 RBOC Enable */
                    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: /* T1 RBOC Code Status */
                    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: /* TPSC Indirect Register Access */
                    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: /* RPSC Indirect Register Access */
                    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: /* E1 FRMR Maintenance Mode Options */
                    307: #define REG_E1_FRMR_MAINT_OPT          0x91
                    308: #define BIT_E1_FRMR_MAINT_OPT_AISC     0x02
                    309:
                    310: /* E1 FRMR framing status */
                    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: /* E1 FRMR Maintenance/Alram Status */
                    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:  /* TDPR Configuration */
                    328: #define REG_TDPR_CFG                   0xA8
                    329: #define BIT_TDPR_CFG_EN                        0x01
                    330:
                    331: /* TDPR Transmit Data */
                    332: #define REG_TDPR_TX_DATA               0xAD
                    333:
                    334: /* RDLC Configuration */
                    335: #define REG_RDLC_CFG                   0xC0
                    336: #define BIT_RDLC_CFG_EN                        0x01
                    337:
                    338: /* RDLC Interrupt Control */
                    339: #define REG_RDLC_INT_CTRL              0xC1
                    340: #define BIT_RDLC_INT_CTRL_INTE         0x80
                    341:
                    342: /* RDLC Status */
                    343: #define REG_RDLC_STATUS                        0xC2
                    344: #define BIT_RDLC_STATUS_PKIN           0x10
                    345: #define BIT_RDLC_STATUS_INTR           0x01
                    346:
                    347: /* RDLC Data */
                    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: /* RLPS Equalization Indirect Data (MSB) */
                    357: #define REG_RLPS_IND_DATA_1            0xD8
                    358: /* RLPS Equalization Indirect Data */
                    359: #define REG_RLPS_IND_DATA_2            0xD9
                    360: /* RLPS Equalization Indirect Data */
                    361: #define REG_RLPS_IND_DATA_3            0xDA
                    362: /* RLPS Equalization Indirect Data (LSB) */
                    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: /* RLPS Equalization Indirect Address    */
                    410: #define REG_RLPS_EQ_ADDR               0xFC
                    411:
                    412: /* RLPS Equalization Read/Write Select  */
                    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: /************ Interrupt Register ************/
                    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: /* E1 FRMR Framing status Interrupt Indication */
                    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: /*The line code */
                    663: #define WAN_LC_AMI           0x01
                    664: #define WAN_LC_B8ZS          0x02
                    665: #define WAN_LC_HDB3          0x03
                    666:
                    667: /* Framing mode (T1/E1)/Unframed */
                    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: /* For T1 only */
                    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: /* For E1 only */
                    688: #define WAN_E1_120           0x0B
                    689: #define WAN_E1_75            0x0C
                    690:
                    691: /* Clocking Master/Normal */
                    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: /* Alram bit mask */
                    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  /* for Windows only */
                    718:
                    719: /* Performamce monitor counter defines */
                    720: #define frm_bit_error          pmon1   /* E1/T1   */
                    721: #define oof_errors             pmon2   /* T1 only */
                    722: #define far_end_blk_errors     pmon2   /* E1 only */
                    723: #define bit_errors             pmon3   /* T1 only */
                    724: #define crc_errors             pmon3   /* E1 only */
                    725: #define lcv                    pmon4   /* E1/T1   */
                    726:
                    727: /* Line loopback modes */
                    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: /* Line loopback activate/deactive modes */
                    734: #define WAN_TE1_ACTIVATE_LB    0x01
                    735: #define WAN_TE1_DEACTIVATE_LB  0x02
                    736:
                    737: /* Loopback commands (T1.107-1995 p.44) */
                    738: #define LINELB_TE1_TIMER       40      /* 40ms */
                    739: #define LINELB_CODE_CNT                10      /* no. of repetitions for lb_code */
                    740: #define LINELB_CHANNEL_CNT     10      /* no. of repetitions for channel */
                    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: /* Interrupt polling delay */
                    776: #define POLLING_TE1_TIMER      1000    /* 1 sec */
                    777:
                    778: /* TE1 critical flag */
                    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: /* TE1 timer flags */
                    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: /* TE1 T1/E1 interrupt setting delay */
                    802: #define INTR_TE1_TIMER         150     /* 50 ms */
                    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:  * T1/E1 configuration structures.
                    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: /* Performamce monitor counters */
                    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:  * Constants for the SET_T1_E1_SIGNALING_CFG/READ_T1_E1_SIGNALING_CFG commands
                    883:  */
                    884:
                    885: /* the structure for setting the signaling permission */
                    886: #pragma pack(1)
                    887: typedef struct {
                    888:        unsigned char time_slot[32];
                    889: } te_signaling_perm_t;
                    890: #pragma pack()
                    891:
                    892: /* settings for the signaling permission structure */
                    893: #define TE_SIG_DISABLED                0x00 /* signaling is disabled */
                    894: #define TE_RX_SIG_ENABLED      0x01 /* receive signaling is enabled */
                    895: #define TE_TX_SIG_ENABLED      0x02 /* transmit signaling is enabled */
                    896: #define TE_SET_TX_SIG_BITS     0x80 /* a flag indicating that outgoing
                    897:                                        signaling bits should be set */
                    898:
                    899: /* the structure used for the
                    900:  * SET_T1_E1_SIGNALING_CFG/READ_T1_E1_SIGNALING_CFG command
                    901:  */
                    902: #pragma pack(1)
                    903: typedef struct {
                    904:        /* signaling permission structure */
                    905:        te_signaling_perm_t sig_perm;
                    906:        /* loop signaling processing counter */
                    907:        unsigned char sig_processing_counter;
                    908:        /* pointer to the signaling permission structure */
                    909:        unsigned long ptr_te_sig_perm_struct;
                    910:        /* pointer to the receive signaling structure */
                    911:        unsigned long ptr_te_Rx_sig_struct;
                    912:        /* pointer to the transmit signaling structure */
                    913:        unsigned long ptr_te_Tx_sig_struct;
                    914: } te_signaling_cfg_t;
                    915: #pragma pack()
                    916:
                    917: /* the structure used for reading and setting the signaling bits */
                    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;         /* TE1 hw configuration */
                    935:        unsigned long   te_alarm;       /* TE1 alarm */
                    936:        pmc_pmon_t      te_pmon;        /* TE PMON counters */
                    937:        unsigned char   te_rx_lb_cmd;   /* Received LB cmd */
                    938:        unsigned long   te_rx_lb_time;  /* Time when LB cmd received */
                    939:
                    940:        unsigned char   te_tx_lb_cmd;   /* Received LB cmd */
                    941:        unsigned long   te_tx_lb_cnt;   /* Time when LB cmd received */
                    942:        unsigned char   te_critical;    /* T1/E1 critical flag */
                    943:        struct timeout  te_timer;       /* 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 /* _KERNEL */
                    965:
                    966: #undef EXTERN
                    967:
                    968: #endif /* __IF_SANTE1_H */

CVSweb