⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ixf6048d.h

📁 开发Inetl IXP2400平台所必须的硬件诊断和测试程序。该软件包支持的功能包括CPU基本功能检测
💻 H
📖 第 1 页 / 共 5 页
字号:

/* Configure num of consecutive, identical J0 strings to be
        See: reg J0_RSTC bit 3 */
typedef enum   
{
   ixf6048_eJ0_STABLE_AFTER_3 = 0, /* J0 stable after 3 consecutive strings */
   ixf6048_eJ0_STABLE_AFTER_5      /* J0 stable after 5 consecutive strings */
} ixf6048_J0StableNum_e;

/* Configure Expected J0 format 
            -- Maps to Register Bits 
            -- Also Used for Expected J1 Format in HPT section
        See: Reg J0_RSTC bits 2:0*/
typedef enum   
{
   ixf6048_eRX_Jn_64_WITH_LF_CR =0x7,  /* 64 bytes with LF,CR at end */
   ixf6048_eRX_Jn_64_FREE_FORM  =0x6,  /* 64 bytes, free form */
   ixf6048_eRX_Jn_16_WITH_CRC7  =0x4,  /* 16 bytes, starting with CRC7 (SDH) */
   ixf6048_eIGNORE_RX_Jn        =0x2,  /* Ignore J0 */
   ixf6048_eRX_Jn_1_BYTE        =0x0  /* 1 byte */
} ixf6048_RxJnFormat_e;


typedef struct /* Rx Regenerator Section Termination Configuration */
{
   ixf6048_RxRstScrmblCnfg_e         RxRstScrmblCnfg;
   ixf6048_RxRstFBaDsbl_e            RxRstFBaDsbl;
   ixf6048_RstRcvFwdCnfg_e           RxRstRcvFwdOffCnfg;
   ixf6048_RstRcvFwdCnfg_e           RxRstRcvFwdOnCnfg;
   ixf6048_B1CntrCfg_e               B1CntrCfg;
   ixf6048_RxRstLos_e                RxRstLos;
   ixf6048_BlueClkOnLosLoc_e         BlueClkOnLosLoc;
   ixf6048_RxRstAisOnLof_e           RxRstAisOnLof;
   ixf6048_RxRstAisOnLos_e           RxRstAisOnLos;
   ixf6048_RxRstAisOnLoc_e           RxRstAisOnLoc;
   ixf6048_RxRstAisOnJ0_e            RxRstAisOnJ0;
   ixf6048_RxRstLocFiltering_e       RxRstLocFiltering;
   ixf6048_NdfFrameAcqCfg_e          NdfFrameAcqCfg;
   ixf6048_RcvOofCnfg_e              RcvOofCnfg;       /* Reg LOF_LMN */
   ixf6048_LofStateMachineParms_t    LofStateMachineParms;
   ixf6048_J0Crc7Mismatch_e          J0Crc7Mismatch;
   ixf6048_J0UnstableMismatch_e      J0UnstableMismatch;
   ixf6048_J0StableNum_e             J0StableNum;
   ixf6048_RxJnFormat_e              ExpectedJ0Format;
   uchar*                           pExpectedJ0String;
                                    /* -> Expected J0 string, if used.
                                       Driver appends LF,CR or prepends dummy
                                       byte for CRC7, if appropriate */
} ixf6048_RxRstCfg_t;


/***********************************************************************
 * Rx Multiplexer Section Termination Configuration - Pg 208 on
 **********************************************************************/
/* B2 Excessive Error Configuration: Regs (1cc)B0H - (1cc)0xB5 
      Registers: WINSZ_SB2, CWIN_SB2, E_EXCWIN_SB2, WINSZ_C2, CWIN_CB2, E_NEXCWIN_CB2 */
typedef struct 
{
   struct ixf6048_SetExcB2_t/* Parms for Setting Excessive B2 Error Condition */
   {
      ushort   WindowSize; /* (8 to 2**14) = (8-16384)
                              Number of frames per window;
                              Driver quantizes to (8,16,24 .. 2**14) */

      uchar    NumExcessiveErrs;
                           /* (1 to 2**12 - 1) = (1-4095)
                              Number of errors/window to have window considered
                              as excessively errored */

      uchar    NumExcessiveWindows;
                           /* (0, or 1 to 2**7 - 1) = (0, or 1-127)
                              Number consecutive excessively errored windows
                              to set Excessively Errored Condition */
                           /* NOTE: if Excessively Errored Condition not set
                                    and NumExcessiveWindows = 0, then
                                    Excessively Errored Condition never set */
   } Set;

   struct ixf6048_ClrExcB2_t/* Parms for Clearing Excessive B2 Error Condition*/
   {
      ushort   WindowSize; /* (8 to 2**14) = (8-16384)
                              Number of frames per window;
                              Driver quantizes to (8,16,24 .. 2**14) */

      uchar    NumNonexcessiveErrs;
                           /* (1 to 2**12 - 1) = (1-4095)
                              Number of errors/window to have window considered
                              as non-excessively errored */

      uchar    NumNonexcessiveWindows;
                           /* (1 to 2**7 - 1) = (1-127)
                              Number consecutive non-excessively errored
                              windows to clear Excessively Errored Condition */

   } Clear;

} ixf6048_B2ExcErrCfg_t;

/* B2 (Degraded Signal Defect) Error Configuration (1cc)B7H - (1cc)0xBD  
         Registers: WINSZ_SDEGB2, CWIN_SDEGB2, E_DEGWIN_SB2, 
                     WINSZ_CDEGB2, CWIN_CDEGB2, E_NDEGWIN_CB2 */
typedef struct 
{  /* Parms for Setting Degraded B2 Error Condition */
   struct ixf6048_SetDegB2_t
   {
      ulong   WindowSize; /* (8 to 2**14) = (8-16384)
                              Number of frames per window;
                              Driver quantizes to (8,16,24 .. 2**14) */
      uchar    NumDegradedErrs;
                           /* (1 to 2**12 - 1) = (1-4095)
                              Number of errors/window to have window considered
                              as degraded */
      uchar    NumDegradedWindows;
                           /* (0, or 1 to 2**7 - 1) = (0, or 1-127)
                              Number consecutive degraded windows
                              to set Degraded Errored Condition */
                           /* NOTE: if Degraded Errored Condition not set
                                    and NumDegradedWindows = 0, then
                                    Degraded Error Condition never set */
   } Set;
   /* Parms for Clearing Degraded B2 Error Condition*/
   struct ixf6048_ClrDegB2_t 
   {
      ulong   WindowSize; /* (8 to 2**14) = (8-16384)
                              Number of frames per window;
                              Driver quantizes to (8,16,24 .. 2**14) */
      uchar    NumNondegradedErrs;
                           /* (1 to 2**12 - 1) = (1-4095)
                              Number of errors/window to have window considered
                              as not degraded */
      uchar    NumNondegradedWindows;
                           /* (1 to 2**7 - 1) = (1-127)
                              Number consecutive non-degraded windows to clear
                              Degraded Errored Condition */
   } Clear;
} ixf6048_B2DegErrCfg_t;

/* K1,K2 Filtering: Combined or separately - R_MST_C bit 13 */
typedef enum   
{
   ixf6048_eK1K2_SEPARATE=0, /* Filter K1 & K2 bytes separately */
   ixf6048_eK1K2_COMBINED    /* Filter K1 & K2 bytes as unit */
} ixf6048_K1K2Filtering_e;

typedef enum   /* K2 RDI Filtering for MST AIS: 3 or 5 consecutive frames,
                  with value of '111', to set (or different, to clear)
                  R_MST_C bit 10 */
{
   ixf6048_eK2_AIS_DETECT_IN_3_FRAMES = 0,
   ixf6048_eK2_AIS_DETECT_IN_5_FRAMES
} ixf6048_K2AisDetect_e;

typedef enum   /* K2 RDI Filtering for MST RDI: 3,5,10,16 consecutive frames,
                  with value of '110', to set (or different, to clear)
                  R_MST_C 9:8 */
{
   ixf6048_eK2_RDI_DETECT_IN_3_FRAMES = 0,
   ixf6048_eK2_RDI_DETECT_IN_5_FRAMES,
   ixf6048_eK2_RDI_DETECT_IN_10_FRAMES,
   ixf6048_eK2_RDI_DETECT_IN_16_FRAMES
} ixf6048_K2RdiDetect_e;


typedef enum   /* Enable/Disable AIS generation from MST to MSA
                  and generation of Signal Fail (SF) on Excessive B2 Error
                  R_MST_C bit 7 */
{
   ixf6048_eENABLE_AIS_TO_MSA_ON_EXC_B2_ERR = 1,  /* Enable AIS and Signal Fail
                                                   on Exc B2 Err */
   ixf6048_eDISABLE_AIS_TO_MSA_ON_EXC_B2_ERR      /* Disable AIS and Signal Fail
                                                   on Exc B2 Err*/
} ixf6048_AisToMsaOnExcB2Err_e;

typedef enum   /* Enable/Disable automatic AIS generation from MST to MSA,
                  R_MST_C bit 5 */
{
   ixf6048_eDISABLE_AIS_TO_MSA=0,  /* Disable AIS from MST to MSA */
   ixf6048_eENABLE_AIS_TO_MSA      /* Enable AIS from MST to MSA */
} ixf6048_AisToMsa_e;


typedef enum   /* Config generated MST REI (based on B2 BIP errs) to be
                  inserted into Tx M1 byte as BIP or Block errs
                  (for STM-4c/STS-12c or STM-16c/STS-48c formats)
                  R_MST_C bit 4 */
{
   ixf6048_eTX_REI_BIP_ERRS = 0,   /* MST REI as Bit err */
   ixf6048_eTX_REI_BLK_ERRS        /* MST REI as Block err */
} ixf6048_TxReiBipBlk_e;

typedef enum   /* Config Rx MST REI as tracking BIP or Block errs
                  (for STM-4c/STS-12c or STM-16c/STS-48c formats)
                  R_MST_C bit 3 */
{
   ixf6048_eRX_REI_BIP_ERRS=0,   /* MST REI as Bit err */
   ixf6048_eRX_REI_BLK_ERRS      /* MST REI as Block err */
} ixf6048_RxReiBipBlk_e;


typedef enum   /* Enable/Disable MST RDI generation (i.e. Tx K2[2:0] = '110')
                  on Excessive B2 Error. R_MST_C bit 2 */
{
   ixf6048_eDISABLE_MST_RDI_ON_EXC_B2_ERR=0,   /* Disable MST RDI on Exc B2 Err*/
   ixf6048_eENABLE_MST_RDI_ON_EXC_B2_ERR       /* Enable MST RDI on Exc B2 Err */
} ixf6048_MstRdiOnExcB2Err_e;

typedef enum   /* Config block size of a concatenated frame,
                  for Rx B2 detected errored blocks, and
                  for Tx REI Generated errored block - R_MST_C bit 0 */
{
   ixf6048_eSINGLE_BLK_PER_CONCAT_FRAME=0,
   ixf6048_eMULT_2430_BYTE_BLKS_PER_FRAME
} ixf6048_BlksPerConcatFrame_e;

typedef struct /* Rx MST Configuration structure */
{
   ixf6048_B2ExcErrCfg_t          B2ExcErrCfg;
   ixf6048_B2DegErrCfg_t          B2DegErrCfg;
   
   ixf6048_K1K2Filtering_e        K1K2Filtering;    /* Bit13 */
   ixf6048_K2AisDetect_e          K2AisDetect;      /* Bit10 */
   ixf6048_K2RdiDetect_e          K2RdiDetect;      /* Bits[9:8] */
   ixf6048_AisToMsaOnExcB2Err_e   AisToMsaOnExcB2Err;  /* Bit7 */
   ixf6048_AisToMsa_e             AisToMsa;            /* Bit5 */
   ixf6048_TxReiBipBlk_e          TxReiBipBlk;         /* Bit4 */
   ixf6048_RxReiBipBlk_e          RxReiBipBlk;         /* Bit3 */
   ixf6048_MstRdiOnExcB2Err_e     MstRdiOnExcB2Err;    /* Bit2 */
   ixf6048_BlksPerConcatFrame_e   BlksPerConcatFrame;  /* Bit0 */
} ixf6048_RxMstCfg_t;


/***********************************************************************
 * Rx Multiplexer Section Adaptation Configuration - Reg R_MSA_C
 **********************************************************************/
/* Enable/Disable use of AuAisc detection
                  R_MSA_C bit 9 */
typedef enum   
{
   ixf6048_eAU_AISC_DETECTION_DISABLE=0,
   ixf6048_eAU_AISC_DETECTION_ENABLE
} ixf6048_UseAuAiscDetection_e;

/* Enable/Disable HP-RDI generation during LOPC
                  R_MSA_C bit 8 */
typedef enum   
{
   ixf6048_eHP_RDI_GEN_DURING_LOPC_DISABLE=0,
   ixf6048_eHP_RDI_GEN_DURING_LOPC_ENABLE
} ixf6048_LopcOnServerDefect_e;

/* Enable/Disable AIS generation during LOPC
                  R_MSA_C bit 7 */
typedef enum   
{
   ixf6048_eAIS_GEN_DURING_LOPC_DISABLE=0,
   ixf6048_eAIS_GEN_DURING_LOPC_ENABLE
} ixf6048_LopcOnMsaAis_e;

/* Enable/Disable Config Det of concatenation indication for H1/H2 Pairs
                  R_MSA_C bit 6 */
typedef enum   
{
   ixf6048_eVERIFY_CONCAT_PTR_ON_ALL_H1H2_PAIRS = 0,
   ixf6048_eVERIFY_CONCAT_PTR_ON_SOME_H1H2_PAIRS
} ixf6048_ConcPtDetCnfg_e;

/* Use SONET or SDH AU Pointer justification rules
                  R_MSA_C bit 5 */
typedef enum   
{
   ixf6048_eUSE_SONET_AU_PTRS = 0,
   ixf6048_eUSE_SDH_AU_PTRS
} ixf6048_UseSonetSdhAuPtrs_e;

/* Normal Operation / Force AIS generation from MSA to HPT, when
      See R_MSA_C bit 5 */
typedef enum   
{
   ixf6048_eNORMAL_AIS_TO_HPT=0,
   ixf6048_eFORCE_AIS_TO_HPT
}ixf6048_RcvHptAisFrc_e;

/* Enable/Disable AIS generation from MSA to HPT, when
         AU AIS (H1:H2 = All 1's) or
         LOP (Invalid Pointer Value, Or
              SS bits != 'ss' And AU Ptr SS bits enabled)
              (where ss = ExpectedAuPtrSsBits, below)
      See R_MSA_C bit 2 */
typedef enum   
{
   ixf6048_eDISABLE_AIS_TO_HPT=0,
   ixf6048_eENABLE_AIS_TO_HPT
} ixf6048_AisToHpt_e;

/* Use/Ignore AU pointer SS bits - R_MSA_C bit 0 */
typedef enum   
{
   ixf6048_eIGNORE_AU_PTR_SS_BITS=0,
   ixf6048_eUSE_AU_PTR_SS_BITS
} ixf6048_UseAuPtrSsBits_e;

/* Configuration for the R_MSA_C Register */
typedef struct /* Rx Multiplexer Section Adaptation Config */
{
   ixf6048_UseAuAiscDetection_e   UseAuAiscDetection;    /* Bit9 */
   ixf6048_LopcOnServerDefect_e   LopcOnServerDefect;    /* Bit8 */
   ixf6048_LopcOnMsaAis_e         LopcOnMsaAis;          /* Bit7 */
   ixf6048_ConcPtDetCnfg_e        ConcPtDetCnfg_e;       /* Bit6 */
   ixf6048_UseSonetSdhAuPtrs_e    UseSonetSdhAuPtrs;     /* Bit5 */
   ixf6048_AisToHpt_e             AisToHpt;              /* Bit2 */
   ixf6048_UseAuPtrSsBits_e       UseAuPtrSsBits;        /* Bit1 */

   uchar                         ExpectedAuPtrSsBits; /* if SS bits used
                                                         See R_MSA_C 4:3 */
} ixf6048_RxMsaCfg_t;


/***********************************************************************
 *
 * Rx High Order Path Termination Configuration - 
 *    Regs: R_HPT_C1, R_HPT_C2
 **********************************************************************/

/* Enable/Disable AIS Generation from HPT to HPA on alarm
                  R_HPT_C2 bits 4,3,2 */
typedef enum   
{
   ixf6048_eDISABLE_AIS_TO_HPA=0,
   ixf6048_eENABLE_AIS_TO_HPA
} ixf6048_AisToHpa_e;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -