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

📄 zl5011xpkcmap.h

📁 Zalink50114----TDMoIP芯片驱动源码
💻 H
字号:
/*******************************************************************************
*
*  File name:              zl5011xPkcMap.h
*
*  Version:                21
*
*  Author:                 MRC
*
*  Date created:           07/05/2002
*
*  Copyright 2002, 2003, 2004, 2005, Zarlink Semiconductor Limited.
*  All rights reserved.
*
*  Module Description:
*
*  This is the register definitions header file for PKC block.
*  It contains the register offsets and bit field definitions.
*
*  Revision History:
*
*  Rev:  Date:       Author:  Comments:
*  1     07/05/2002  MRC      Creation
*  2     09/05/2002  MRC      Added a few pre-classifier register addresses
*  3     13/05/2002  MRC      Added more pre-classifier bits
*  4     14/5/2002   LCW      Added pre-processor register addresses
*  5     16/5/2002   LCW      Added pre-processor constants
*  6     17/5/2002   LCW      Minor mods.
*  7     11/06/2002  LCW      Added function: PkcGetStats
*  8     26/06/2002  MRC      Added bits for the MPID context switch field
*  9     27/06/2002  LCW      Review actions.
*  10    22/07/2002  MRC      Added bit field for packet length to be Rx length
*  11    06/08/2002  MRC      Tidied up filtering defines
*  12    03/10/2002  JFE      Added define for ZL5011X_PKC_PW_STATUS_RAM
*  13    07/10/2002  PJE      Added intr registers
*  14    31/10/2002  MRC      Added variants + minor fixes
*  15    19/11/2002  AOC      Changes comments to ANSI C standard
*  16    22/11/2002  PJE      debug // comments
*  17    06/01/2003  MRC      Added statistics register definitions
*  18    25/03/2003  MRC      Added bits for checksum control register
*  19    22/05/2003  MRC      Added PW interrupt status bits
*  20    25/08/2004  MRC      Added PW queue defines
*  21    26/08/2004  MRC      Added another PW queue define
*
*******************************************************************************/

#ifndef _ZL5011X_PKC_MAP_H
#define _ZL5011X_PKC_MAP_H

#ifdef __cplusplus
extern "C" {
#endif

/* addresses for the PKC registers */
#define ZL5011X_PKC_BLOCK_ID                   ZL5011X_PKC_BASE + 0x00000
#define ZL5011X_PKC_PROTOCOL_NO_MATCH          ZL5011X_PKC_BASE + 0x00004
#define ZL5011X_PKC_CLASSIFY_NO_MATCH          ZL5011X_PKC_BASE + 0x00008
#define ZL5011X_PKC_HOST_FLOW_TYPE             ZL5011X_PKC_BASE + 0x0000c
#define ZL5011X_PKC_FILTER_ENABLE              ZL5011X_PKC_BASE + 0x00018
#define ZL5011X_PKC_PROTOCOL_ENABLE            ZL5011X_PKC_BASE + 0x0001c
#define ZL5011X_PKC_CLASSIFY_ENABLE            ZL5011X_PKC_BASE + 0x00020
#define ZL5011X_PKC_INT_SRC                    ZL5011X_PKC_BASE + 0x00048
#define ZL5011X_PKC_INT_MASK                   ZL5011X_PKC_BASE + 0x0004C
#define ZL5011X_PKC_INT_POLL                   ZL5011X_PKC_BASE + 0x00050
#define ZL5011X_PKC_CHECKSUM_CONFIG            ZL5011X_PKC_BASE + 0x00054
#define ZL5011X_PKC_VERIFY_NO_MATCH            ZL5011X_PKC_BASE + 0x00058

#define ZL5011X_PKC_PW_INT_QUEUE               ZL5011X_PKC_BASE + 0x04000

/* counters */
#define ZL5011X_PKC_FILTER_ETHERTYPE_COUNT     ZL5011X_PKC_BASE + 0x02000
#define ZL5011X_PKC_FILTER_MAC_ADDRESS_COUNT   ZL5011X_PKC_BASE + 0x02020
#define ZL5011X_PKC_PROTOCOL_COUNT             ZL5011X_PKC_BASE + 0x02040
#define ZL5011X_PKC_PROTOCOL_NO_MATCH_COUNT    ZL5011X_PKC_BASE + 0x02060
#define ZL5011X_PKC_IPV4_CHECKSUM_COUNT        ZL5011X_PKC_BASE + 0x02064
#define ZL5011X_PKC_UDP_CHECKSUM_COUNT         ZL5011X_PKC_BASE + 0x02068
#define ZL5011X_PKC_CLASSIFY_NO_MATCH_COUNT    ZL5011X_PKC_BASE + 0x0206c
#define ZL5011X_PKC_VERIFY_FAIL_COUNT          ZL5011X_PKC_BASE + 0x02070

/* filter match (pre-processor) registers */
#define ZL5011X_PKC_FILTER_MATCH               ZL5011X_PKC_BASE + 0x08000
#define ZL5011X_PKC_FILTER_MATCH_SIZE          (Uint32T)0x10

/* protocol match (pre-classifier) registers */
#define ZL5011X_PKC_PROTOCOL_MATCH             ZL5011X_PKC_BASE + 0x10000
#define ZL5011X_PKC_PROTOCOL_MATCH_SIZE        (Uint32T)0x40

#define ZL5011X_PKC_PROTOCOL_MASK              ZL5011X_PKC_BASE + 0x12000
#define ZL5011X_PKC_PROTOCOL_MASK_SIZE         (Uint32T)0x40

#define ZL5011X_PKC_PROTOCOL_OUTPUT_RAM        ZL5011X_PKC_BASE + 0x14000
#define ZL5011X_PKC_PROTOCOL_OUTPUT_RAM_SIZE   (Uint32T)0x40

/* classifier match registers */
#define ZL5011X_PKC_CLASSIFY_MATCH             ZL5011X_PKC_BASE + 0x16000
#define ZL5011X_PKC_CLASSIFY_MATCH_SIZE        (Uint32T)0x10

#define ZL5011X_PKC_CLASSIFY_MASK              ZL5011X_PKC_BASE + 0x18000
#define ZL5011X_PKC_CLASSIFY_MASK_SIZE         (Uint32T)0x10

#define ZL5011X_PKC_PW_STATUS_RAM              ZL5011X_PKC_BASE + 0x1A000

#define ZL5011X_PKC_CLASSIFY_CHECK             ZL5011X_PKC_BASE + 0x1c000
#define ZL5011X_PKC_CLASSIFY_CHECK_SIZE        (Uint32T)0x10

#define ZL5011X_PKC_CLASSIFY_OUTPUT_RAM        ZL5011X_PKC_BASE + 0x1e000
#define ZL5011X_PKC_CLASSIFY_OUTPUT_RAM_SIZE   (Uint32T)0x10

/* defines for bit fields in the registers */

/* bit positions for ZL5011X_PKC_PRE_CLASSIFY_NO_MATCH register */
#define ZL5011X_PKC_PRE_NO_MATCH_QUEUE_BITS       1
#define ZL5011X_PKC_PRE_NO_MATCH_DROP_BIT         0

#define ZL5011X_PKC_PRE_NO_MATCH_QUEUE_MASK       (Uint32T)0x3

/* bit positions for ZL5011X_PKC_CLASSIFY_NO_MATCH register */
#define ZL5011X_PKC_CLASSIFY_NO_MATCH_QUEUE_BITS  1
#define ZL5011X_PKC_CLASSIFY_NO_MATCH_DROP_BIT    0

#define ZL5011X_PKC_CLASSIFY_NO_MATCH_QUEUE_MASK  (Uint32T)0x3

/* bit positions for ZL5011X_PKC_VERIFY_NO_MATCH register */
#define ZL5011X_PKC_VERIFY_NO_MATCH_QUEUE_BITS    1
#define ZL5011X_PKC_VERIFY_NO_MATCH_DROP_BIT      0

#define ZL5011X_PKC_VERIFY_NO_MATCH_QUEUE_MASK    (Uint32T)0x3

/* bit positions for ZL5011X_PKC_HOST_FLOW_TYPE register */
#define ZL5011X_PKC_NO_MATCH_FLOW_BITS            0

/* bit positions for ZL5011X_PKC_CHECKSUM_CONFIG register */
#define ZL5011X_PKC_CHECKSUM_IPV4_ENABLE_BIT      0
#define ZL5011X_PKC_CHECKSUM_UDP_ENABLE_BIT       1

/* bit positions for ZL5011X_PKC_PW_INT_QUEUE register */
#define ZL5011X_PKC_PW_INT_VALUE_BITS             9
#define ZL5011X_PKC_PW_INT_MATCH_NUM_BITS         0

#define ZL5011X_PKC_PW_INT_VALUE_MASK             (Uint32T)0xff
#define ZL5011X_PKC_PW_INT_MATCH_NUM_MASK         (Uint32T)0x1ff

/* bit positions and field sizes for the classifier */
#define ZL5011X_PKC_CLASSIFY_SIZE_MATCH_FIELD        (Uint32T)8
#define ZL5011X_PKC_CLASSIFY_SIZE_PROTOCOL_FIELD     (Uint32T)3
#define ZL5011X_PKC_CLASSIFY_SIZE_MASK_FIELD         (Uint32T)8
#define ZL5011X_PKC_CLASSIFY_SIZE_CHECK_FIELD        (Uint32T)8

#define ZL5011X_PKC_CLASSIFY_SIZE_FLOW_FIELD         (Uint32T)5
#define ZL5011X_PKC_CLASSIFY_SIZE_MPID_FIELD         (Uint32T)11
#define ZL5011X_PKC_CLASSIFY_SIZE_OFFSET_FIELD       (Uint32T)7
#define ZL5011X_PKC_CLASSIFY_SIZE_LENGTH_FIELD       (Uint32T)15
#define ZL5011X_PKC_CLASSIFY_SIZE_RAW_LENGTH_FIELD   (Uint32T)1
#define ZL5011X_PKC_CLASSIFY_SIZE_LENGTH_CHG_FIELD   (Uint32T)1
#define ZL5011X_PKC_CLASSIFY_SIZE_LENGTH_SIZE_FIELD  (Uint32T)1
#define ZL5011X_PKC_CLASSIFY_SIZE_RTP_FIELD          (Uint32T)1

#define ZL5011X_PKC_CLASSIFY_LENGTH_MASK             (Uint32T)0xffff
#define ZL5011X_PKC_CLASSIFY_OFFSET_MASK             (Uint32T)0xff

/* bit positions and masks for ZL5011X_PKC_CLASSIFY_SIZE_MPID_FIELD */
#define ZL5011X_PKC_CLASSIFY_CONTEXT_SWITCH_BIT      (Uint32T)10
#define ZL5011X_PKC_CLASSIFY_CONTEXT_MASK            (Uint32T)0x3ff

/* bit positions and field sizes for the pre classifier */
#define ZL5011X_PKC_PROTOCOL_SIZE_MATCH_FIELD        (Uint32T)8

#define ZL5011X_PKC_PROTOCOL_SIZE_MASK_FIELD         (Uint32T)8

#define ZL5011X_PKC_PROTOCOL_SIZE_CLASSIFY_FIELD     (Uint32T)7
#define ZL5011X_PKC_PROTOCOL_SIZE_CHECK_FIELD        (Uint32T)7
#define ZL5011X_PKC_PROTOCOL_SIZE_PW_FIELD           (Uint32T)7
#define ZL5011X_PKC_PROTOCOL_SIZE_SEQ_FIELD          (Uint32T)7
#define ZL5011X_PKC_PROTOCOL_SIZE_TIMESTAMP_FIELD    (Uint32T)7
#define ZL5011X_PKC_PROTOCOL_SIZE_LENGTH_FIELD       (Uint32T)7
#define ZL5011X_PKC_PROTOCOL_SIZE_UDP_CHECK_FIELD    (Uint32T)1
#define ZL5011X_PKC_PROTOCOL_SIZE_IP_FIELD           (Uint32T)1
#define ZL5011X_PKC_PROTOCOL_SIZE_VLAN_FIELD         (Uint32T)1
#define ZL5011X_PKC_PROTOCOL_SIZE_CHECK_MASK_FIELD   (Uint32T)8
#define ZL5011X_PKC_PROTOCOL_SIZE_SEQ_SIZE_FIELD     (Uint32T)1
#define ZL5011X_PKC_PROTOCOL_SIZE_TIMESTAMP_SHIFT_FIELD    (Uint32T)5

#define ZL5011X_PKC_PROTOCOL_TIMESTAMP_SHIFT_MASK    (Uint32T)0x1f

/* bit positions and field sizes for the pre processor */
#define ZL5011X_PKC_FILTER_MAC_ADDRESS_FIELD         (Uint32T)8
#define ZL5011X_PKC_FILTER_MAC_RANGE_FIELD           (Uint32T)4
#define ZL5011X_PKC_FILTER_MAC_CPU_QUEUE_FIELD       (Uint32T)2
#define ZL5011X_PKC_FILTER_MAC_ENABLE_FIELD          (Uint32T)1

#define ZL5011X_PKC_FILTER_TYPE_ETHERTYPE_FIELD      (Uint32T)16
#define ZL5011X_PKC_FILTER_TYPE_CPU_QUEUE_FIELD      (Uint32T)2
#define ZL5011X_PKC_FILTER_TYPE_ENABLE_FIELD         (Uint32T)1

/* bit positions for the ZL5011X_PKC_PW_STATUS_RAM register */
#define ZL5011X_PKC_PW_INT_DISABLE_BIT               19
#define ZL5011X_PKC_PW_INT_START_BIT                 18
#define ZL5011X_PKC_PW_INT_FULL_BIT                  16
#define ZL5011X_PKC_PW_STATUS_MASK_BITS              8

/* bit positions for the ZL5011X_PKC_INT_POLL register */
#define ZL5011X_PKC_MAC_MATCH_OVERFLOW   0  /* PP MAC template match counter overflow LSB */
#define ZL5011X_PKC_ETHER_MATCH_OVERFLOW 8  /*PP EtherType template match counter overflow LSB*/
#define ZL5011X_PKC_PC_MATCH_OVERFLOW   16  /*PC template match counter overflow */
#define ZL5011X_PKC_PC_NO_MATCH_OVERFLOW   16  /*PC template no match counter overflow */
#define ZL5011X_PKC_IP_CHECKSUM_ERROR_OVERFLOW 25  /*IP checksum error counter overflow */
#define ZL5011X_PKC_UDP_CHECKSUM_ERROR_OVERFLOW 26  /*UDP checksum error counter overflow */
#define ZL5011X_PKC_PW_INTERRUPT 27  /*PW interrupt */
#define ZL5011X_PKC_CLASSIFY_OVERFLOW 28 /*classifier rules no match counter overflow */
#define ZL5011X_PKC_POST_VERIF_ERROR_OVERFLOW 29 /*post verification error counter overflow */

#define ZL5011X_PKC_INT_ALL_MASK                    (Uint32T)0x3fffffff

#ifdef __cplusplus
}
#endif

#endif

⌨️ 快捷键说明

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