?? zl5011xpkcmap.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 + -