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

📄 txc_envoy_mem_map.h

📁 TranSwitch Envoy CE2 & Envoy CE4 设备驱动及编程指南
💻 H
📖 第 1 页 / 共 2 页
字号:

}ENVOY_OSPI_AGGR_TAG_STRUCT;


/* End of SPI-3 OUTPUT Interface Reg map */







/*********************************************************************

 === Envoy-CE2/CE4 EGRESS FIFO Block Reg map

**********************************************************************/


/* Offset for the 32 (one per port) Packet Drop Counters of the Egress FIFO Block */
#define ENVOY_EFIFO_PORT_CNT_OFFSET          0x900    /*  0x2400 : 0x900 */
typedef struct _tagENVOY_EFIFO_PORT_CNT_STRUCT
{                             
    TXC_REG_32 eFifoPortCntReg[ENVOY_CE4_NUM_MACS];

}ENVOY_EFIFO_PORT_CNT_STRUCT;



/* Global (all ports) status registers of Egress FIFO Block */
#define ENVOY_EFIFO_STATUS_OFFSET  0x940    /*  0x2500 : 0x940 */
typedef struct _tagENVOY_EFIFO_STATUS_STRUCT
{                             
    TXC_REG_32 eFifoFullStatusReg;               /*  0x2500 : 0x940 */
    TXC_REG_32 eFifoDisabledErrStatusReg;        /*  0x2504 : 0x941 */
    TXC_REG_32 eFifoSopErrStatusReg;             /*  0x2508 : 0x942 */
}ENVOY_EFIFO_STATUS_STRUCT;




/* Mode configuration register of Egress FIFO Block */
#define ENVOY_EFIFO_MODE_OFFSET            0x950    /*  0x2540 : 0x950 */
typedef struct _tagENVOY_EFIFO_MODE_STRUCT
{                             
    TXC_REG_32 eFifoModeReg;

}ENVOY_EFIFO_MODE_STRUCT;




/* Egress FIFO Interrupt Handler Registers */
#define ENVOY_EFIFO_INT_HDLR_OFFSET     0x951    /*  0x2544 : 0x951 */
typedef struct _tagENVOY_EFIFO_INT_HDLR_STRUCT
{                             
    TXC_REG_32 eFifoFullInterrupMaskReg;         /*  0x2544 : 0x951 */
    TXC_REG_32 eFifoDisabledErrInterrupMaskReg;  /*  0x2548 : 0x952 */
    TXC_REG_32 eFifoSopErrInterrupMaskReg;       /*  0x254C : 0x953 */
}ENVOY_EFIFO_INT_HDLR_STRUCT;




/* Port Enable register of Egress FIFO Block */
#define ENVOY_EFIFO_PORT_CTRL_OFFSET     0x954    /*  0x2550 : 0x954 */
typedef struct _tagENVOY_EFIFO_PORT_CTRL_STRUCT
{                             
    TXC_REG_32 eFifoPortCtrlReg;

}ENVOY_EFIFO_PORT_CTRL_STRUCT;



/* Offset for the 32 (one per port) streaming threshold registers   */
#define ENVOY_EFIFO_PORT_STRM_THRSHLD_OFFSET 0x960    /*  0x2580 : 0x960 */
typedef struct _tagENVOY_EFIFO_PORT_STRM_THRSHLD_STRUCT
{                             
    TXC_REG_32 eFifoPortStreamThrshldReg[ENVOY_CE4_NUM_MACS];

}ENVOY_EFIFO_PORT_STRM_THRSHLD_STRUCT;


/* End of EGRESS FIFO Block Reg map */







/*********************************************************************

 === Envoy-CE2/CE4 INGRESS FIFO Block Reg map

**********************************************************************/


/* Offset for the 32 (one per port) Packet Drop Counters of the Ingress FIFO Block */
#define ENVOY_IFIFO_PORT_CNT_OFFSET          0x980    /*  0x2600 : 0x980 */
typedef struct _tagENVOY_IFIFO_PORT_CNT_STRUCT
{                             
    TXC_REG_32 iFifoPortCntReg[ENVOY_CE4_NUM_MACS];

}ENVOY_IFIFO_PORT_CNT_STRUCT;




/* Global (all ports) status registers of Ingress FIFO Block */
#define ENVOY_IFIFO_STATUS_OFFSET  0x9C0    /*  0x2700 : 0x9C0 */
typedef struct _tagENVOY_IFIFO_STATUS_STRUCT
{                             
    TXC_REG_32 iFifoFullStatusReg;               /*  0x2700 : 0x9C0 */
    TXC_REG_32 iFifoNearFullStatusReg;           /*  0x2704 : 0x9C1 */
}ENVOY_IFIFO_STATUS_STRUCT;




/* Mode configuration register of Egress FIFO Block */
#define ENVOY_IFIFO_MODE_OFFSET         0x9E0    /*  0x2780 : 0x9E0 */
typedef struct _tagENVOY_IFIFO_MODE_STRUCT
{                             
    TXC_REG_32 iFifoModeReg;

}ENVOY_IFIFO_MODE_STRUCT;




/* Ingress FIFO Loopback Mode Registers */
#define ENVOY_IFIFO_LOOPBACK_OFFSET     0x9E1    /*  0x2784 : 0x9E1 */
typedef struct _tagENVOY_IFIFO_LOOPBACK_STRUCT
{                             
    TXC_REG_32 iFifoLbkEnableReg;                /*  0x2784 : 0x9E1 */
    TXC_REG_32 iFifoNonTransparentLbkEnableReg;  /*  0x2788 : 0x9E2 */
}ENVOY_IFIFO_LOOPBACK_STRUCT;




/* Offset for the two (High and Low) Ingress Traffic Flow Control threshold
registers (two registers per CMAC, an octal port block). 
The CMAC Id (0, 1, 2, 3) will be used to access the proper threshold pair */
/*
#define ENVOY_IFIFO_FC_THRSHLD_OFFSET  0x9E3   */ /*  0x278C : 0x9E3 */
/*
typedef struct _tagENVOY_IFIFO_CMAC_FC_THRSHLD_STRUCT
{                             
    TXC_REG_32 iFifoCmacFcHiThrshldReg[ENVOY_MAX_NUM_CMACS];
    TXC_REG_32 iFifoCmacFcLoThrshldReg[ENVOY_MAX_NUM_CMACS];

}ENVOY_IFIFO_CMAC_FC_THRSHLD_STRUCT;
*/
extern TXC_REG_32 iFifoCmacFcOffset[]; /* ENVOY_IFIFO_CMAC_FC_THRSHLD_STRUCT offsets */
/*#define ENVOY_IFIFO_FC_THRSHLD_OFFSET  0x9E3  */  /*  0x278C : 0x9E3 */
typedef struct _tagENVOY_IFIFO_CMAC_FC_THRSHLD_STRUCT
{                             
    TXC_REG_32 iFifoCmacFcHiThrshldReg;
    TXC_REG_32 iFifoCmacFcLoThrshldReg;

}ENVOY_IFIFO_CMAC_FC_THRSHLD_STRUCT;





/* Offset for the 4 PAUSE Frame Regeneration Timer registers (one per CMAC) */
#define ENVOY_IFIFO_PAUSE_TIMER_OFFSET  0x9EB    /*  0x27AC : 0x9EB */
typedef struct _tagENVOY_IFIFO_CMAC_PF_TIMER_STRUCT
{                             
    TXC_REG_32 iFifoCmacPfTimerReg[ENVOY_MAX_NUM_CMACS];

}ENVOY_IFIFO_CMAC_PF_TIMER_STRUCT;




/* Ingress FIFO Interrupt Handler Registers */
#define ENVOY_IFIFO_INT_HDLR_OFFSET     0x9EF    /*  0x27BC : 0x9EF */
typedef struct _tagENVOY_IFIFO_INT_HDLR_STRUCT
{                             
    TXC_REG_32 iFifoFullInterrupMaskReg;         /*  0x27BC : 0x9EF */
    TXC_REG_32 iFifoNearFullInterrupMaskReg;     /*  0x27C0 : 0x9F0 */
}ENVOY_IFIFO_INT_HDLR_STRUCT;




/* Port Enable register of Ingress FIFO Block */
#define ENVOY_IFIFO_PORT_CTRL_OFFSET     0x9F1    /*  0x27C4 : 0x9F1 */
typedef struct _tagENVOY_IFIFO_PORT_CTRL_STRUCT
{                             
    TXC_REG_32 iFifoPortCtrlReg;

}ENVOY_IFIFO_PORT_CTRL_STRUCT;


/* End of EGRESS FIFO Block Reg map */







/*********************************************************************

 === Envoy-CE2/CE4 EIB (Ethernet Interface Block) Reg map
 Note 1: This block includes the MAC core, the Interface (Ethernet ports)
 and the Packet Controller.
 Note 2: Only byte offsets are given in "comments" of the structures below.
         The 32-bit offsets associated each structure per port is given in 
         txc_envoy_mem_map.c.

**********************************************************************/



/* The per-port offsets (macCfgOffset[]) are defined in txc_envoy_mem_map.c */
/* Global Address Constant: */
extern TXC_REG_32 macCfgOffset[]; /* ENVOY_MAC_CONFIG_STRUCT offsets */
typedef struct _tagENVOY_MAC_CFG_STRUCT
{                                     /*      Byte offsets                  */
                              /* MAC     0       1        .       31        */
    TXC_REG_32 cfg1Reg;           /*  0x4000, 0x4100,   ....... 0x5F00      */
    TXC_REG_32 cfg2Reg;           /*  0x4004, 0x4104, ......... 0x5F04      */
    TXC_REG_32 ipgIfgReg;         /*  0x4008, 0x4108, ......... 0x5F08      */
    TXC_REG_32 halfDplxReg;       /*  0x400C, 0x410C, ......... 0x5F0C      */
    TXC_REG_32 maxFrmLenReg;      /*  0x4010, 0x4110, ......... 0x5F10      */
    TXC_REG_32 rsvd1Reg;
    TXC_REG_32 rsvd2Reg;
    TXC_REG_32 testReg;           /*  0x401C, 0x411C, ......... 0x5F1C      */
    TXC_REG_32 rsvd3Reg;
    TXC_REG_32 rsvd4Reg;
    TXC_REG_32 rsvd5Reg;
    TXC_REG_32 rsvd6Reg;
    TXC_REG_32 rsvd7Reg;
    TXC_REG_32 rsvd8Reg;
    TXC_REG_32 ifaceCtrlReg;      /*  0x4038, 0x4138, ......... 0x5F38      */
    TXC_REG_32 ifaceStatusReg;    /*  0x403C, 0x413C, ......... 0x5F3C      */
    TXC_REG_32 stationAddr1Reg;   /*  0x4040, 0x4140, ......... 0x5F40      */
    TXC_REG_32 stationAddr2Reg;   /*  0x4044, 0x4144, ......... 0x5F44      */
}ENVOY_MAC_CONFIG_STRUCT;




/* Per-port offsets (macPktCtrlOffset[]): defined in txc_envoy_mem_map.c    */
/* Global Address Constant: */
extern TXC_REG_32 macPktCtrlOffset[];     /* ENVOY_MAC_PKT_CTRL_STRUCT      */
typedef struct _tagENVOY_MAC_PKT_CTRL_STRUCT
{                             /* MAC     0       1   -            31        */
    TXC_REG_32 cfptCfepReg;       /*  0x4080, 0x4180,   ....... 0x5F80      */
    TXC_REG_32 frameCtrlReg;      /*  0x4084, 0x4184,   ....... 0x5F84      */
    TXC_REG_32 frameStatusReg;    /*  0x4088, 0x4188,   ....... 0x5F88      */
    TXC_REG_32 portModeStatusReg; /*  0x408C, 0x418C,   ....... 0x5F8C      */
}ENVOY_MAC_PKT_CTRL_STRUCT;



/* Note: the Global Address Constants macRxCntOffset []
         are defined in: txc_envoy_mem_map.c*/
extern TXC_REG_32 macRxCntOffset[];  /* offsets to ENVOY_MAC_RX_RMON_STRUCT */
typedef struct _tagENVOY_MAC_RX_RMON_STRUCT
{                             /* MAC     0       1   -            31        */
    TXC_U32BIT  rbytloCntReg;     /*  0x6000, 0x6100,   ....... 0x7F00      */
    TXC_U32BIT  rpktCntReg;       /*  0x6004, 0x6104,   ....... 0x7F04      */
    TXC_U32BIT  rundCntReg;       /*  0x6008, 0x6108,   ....... 0x7F08      */
    TXC_U32BIT  rx64CntReg;       /*  0x600C, 0x610C,   ....... 0x7F0C      */
    TXC_U32BIT  r127CntReg;       /*  0x6010, 0x6110,   ....... 0x7F10      */
    TXC_U32BIT  r255CntReg;       /*  0x6014, 0x6114,   ....... 0x7F14      */
    TXC_U32BIT  r511CntReg;       /*  0x6018, 0x6118,   ....... 0x7F18      */
    TXC_U32BIT  r1023CntReg;      /*  0x601C, 0x611C,   ....... 0x7F1C      */
    TXC_U32BIT  r1518CntReg;      /*  0x6020, 0x6120,   ....... 0x7F20      */
    TXC_U32BIT  rflrCntReg;       /*  0x6024, 0x6124,   ....... 0x7F24      */
    TXC_U32BIT  rovrCntReg;       /*  0x6028, 0x6128,   ....... 0x7F28      */
    TXC_U32BIT  rbcaCntReg;       /*  0x602C, 0x612C,   ....... 0x7F2C      */
    TXC_U32BIT  rmcaCntReg;       /*  0x6030, 0x6130,   ....... 0x7F30      */
    TXC_U32BIT  rpfCntReg;        /*  0x6034, 0x6134,   ....... 0x7F34      */
    TXC_U32BIT  ruoCntReg;        /*  0x6038, 0x6138,   ....... 0x7F38      */
    TXC_U32BIT  rvlnCntReg;       /*  0x603C, 0x613C,   ....... 0x7F3C      */
    TXC_U32BIT  rfrgCntReg;       /*  0x6040, 0x6140,   ....... 0x7F40      */
    TXC_U32BIT  rfcsCntReg;       /*  0x6044, 0x6144,   ....... 0x7F44      */
    TXC_U32BIT  rjbrCntReg;       /*  0x6048, 0x6148,   ....... 0x7F48      */
    TXC_U32BIT  rcdeCntReg;       /*  0x604C, 0x614C,   ....... 0x7F4C      */
    TXC_U32BIT  rdfffCntReg;      /*  0x6050, 0x6150,   ....... 0x7F50      */
    TXC_U32BIT  rdfucCntReg;      /*  0x6054, 0x6154,   ....... 0x7F54      */

}ENVOY_MAC_RX_RMON_STRUCT;




/* Note: the Global Address Constants macTxCntOffset []
         are defined in: txc_envoy_mem_map.c*/
extern TXC_REG_32 macTxCntOffset[];  /* offsets to ENVOY_MAC_TX_RMON_STRUCT */
typedef struct _tagENVOY_MAC_TX_RMON_STRUCT
{                             /* MAC     0       1   -            31        */
    TXC_U32BIT  tbytloCntReg;     /*  0x6058, 0x6158,   ....... 0x7F58      */
    TXC_U32BIT  tpktCntReg;       /*  0x605C, 0x615C,   ....... 0x7F5C      */
    TXC_U32BIT  tundCntReg;       /*  0x6060, 0x6160,   ....... 0x7F60      */
    TXC_U32BIT  t64CntReg;        /*  0x6064, 0x6164,   ....... 0x7F64      */
    TXC_U32BIT  t127CntReg;       /*  0x6068, 0x6168,   ....... 0x7F68      */
    TXC_U32BIT  t255CntReg;       /*  0x606C, 0x616C,   ....... 0x7F6C      */
    TXC_U32BIT  t511CntReg;       /*  0x6070, 0x6170,   ....... 0x7F70      */
    TXC_U32BIT  t1023CntReg;      /*  0x6074, 0x6174,   ....... 0x7F74      */
    TXC_U32BIT  t1518CntReg;      /*  0x6078, 0x6178,   ....... 0x7F78      */
    TXC_U32BIT  tpfdCntReg;       /*  0x607C, 0x617C,   ....... 0x7F7C      */
    TXC_U32BIT  tovrCntReg;       /*  0x6080, 0x6180,   ....... 0x7F80      */
    TXC_U32BIT  tbcaCntReg;       /*  0x6084, 0x6184,   ....... 0x7F84      */
    TXC_U32BIT  tmcaCntReg;       /*  0x6088, 0x6188,   ....... 0x7F88      */
    TXC_U32BIT  tpfCntReg;        /*  0x608C, 0x618C,   ....... 0x7F8C      */
    TXC_U32BIT  tvlnCntReg;       /*  0x6090, 0x6190,   ....... 0x7F90      */
    TXC_U32BIT  tdfrCntReg;       /*  0x6094, 0x6194,   ....... 0x7F94      */
    TXC_U32BIT  tedfCntReg;       /*  0x6098, 0x6198,   ....... 0x7F98      */
    TXC_U32BIT  tsclCntReg;       /*  0x609C, 0x619C,   ....... 0x7F9C      */
    TXC_U32BIT  tmclCntReg;       /*  0x60A0, 0x61A0,   ....... 0x7FA0      */
    TXC_U32BIT  tlclCntReg;       /*  0x60A4, 0x61A4,   ....... 0x7FA4      */
    TXC_U32BIT  texclCntReg;      /*  0x60A8, 0x61A8,   ....... 0x7FA8      */
    TXC_U32BIT  tfrgCntReg;       /*  0x60AC, 0x61AC,   ....... 0x7FAC      */
    TXC_U32BIT  tfcsCntReg;       /*  0x60B0, 0x61B0,   ....... 0x7FB0      */
    TXC_U32BIT  tjbrCntReg;       /*  0x60B4, 0x61B4,   ....... 0x7FB4      */
    TXC_U32BIT  tdrpCntReg;       /*  0x60B8, 0x61B8,   ....... 0x7FB8      */
    TXC_U32BIT  tabtCntReg;       /*  0x60BC, 0x61BC,   ....... 0x7FBC      */
    TXC_U32BIT  rbythiCntReg;     /*  0x60C0, 0x61C0,   ....... 0x7FC0      */
    TXC_U32BIT  tbythiCntReg;     /*  0x60C4, 0x61C4,   ....... 0x7FC4      */

}ENVOY_MAC_TX_RMON_STRUCT;


/* End of EIB (Ethernet Interface Block) Reg map  */




#endif /* TXC_ENVOY_MEM_MAP_H */

⌨️ 快捷键说明

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