summaryrefslogtreecommitdiffstats
path: root/shared/broadcom/include/bcm963xx/xtmprocregs.h
diff options
context:
space:
mode:
Diffstat (limited to 'shared/broadcom/include/bcm963xx/xtmprocregs.h')
-rwxr-xr-xshared/broadcom/include/bcm963xx/xtmprocregs.h602
1 files changed, 602 insertions, 0 deletions
diff --git a/shared/broadcom/include/bcm963xx/xtmprocregs.h b/shared/broadcom/include/bcm963xx/xtmprocregs.h
new file mode 100755
index 0000000..307ed79
--- /dev/null
+++ b/shared/broadcom/include/bcm963xx/xtmprocregs.h
@@ -0,0 +1,602 @@
+/*
+<:copyright-broadcom
+
+ Copyright (c) 2007 Broadcom Corporation
+ All Rights Reserved
+ No portions of this material may be reproduced in any form without the
+ written permission of:
+ Broadcom Corporation
+ 5300 California Avenue
+ Irvine, California 92617
+ All information contained in this document is Broadcom Corporation
+ company private, proprietary, and trade secret.
+
+:>
+*/
+/***************************************************************************
+ * File Name : XtmProcRegs.h
+ *
+ * Description: This file contains definitions for the ATM/PTM processor
+ * registers.
+ ***************************************************************************/
+
+#if !defined(_XTMPROCREGS_H_)
+#define _XTMPROCREGS_H_
+
+/* Miscellaneous values. */
+#define XP_MAX_PORTS 4
+#define XP_MAX_CONNS 16
+#define XP_MAX_RX_QUEUES 4
+#define XP_MAX_TX_HDRS 8
+#define XP_TX_HDR_WORDS (16 / sizeof(UINT32))
+#define XP_RX_MIB_MATCH_ENTRIES 128
+
+/* Circuit types. */
+#define XCT_TRANSPARENT 0x00000001
+#define XCT_AAL0_PKT 0x00000002
+#define XCT_AAL0_CELL 0x00000003
+#define XCT_OAM_F5_SEG 0x00000004
+#define XCT_OAM_F5_E2E 0x00000005
+#define XCT_RM 0x00000006
+#define XCT_AAL5 0x00000007
+#define XCT_ASM_P0 0x00000008
+#define XCT_ASM_P1 0x00000009
+#define XCT_ASM_P2 0x0000000a
+#define XCT_ASM_P3 0x0000000b
+#define XCT_OAM_F4_SEG 0x0000000c
+#define XCT_OAM_F4_E2E 0x0000000d
+#define XCT_TEQ 0x0000000e
+#define XCT_PTM 0x0000000f
+
+/* Definitions for ATM ulTxChannelCfg. */
+#define TXCHA_VCID_MASK 0x0000000f
+#define TXCHA_VCID_SHIFT 0
+#define TXCHA_CT_MASK 0x000000f0
+#define TXCHA_CT_SHIFT 4
+#define TXCHA_CT_TRANSPARENT (XCT_TRANSPARENT << TXCHA_CT_SHIFT)
+#define TXCHA_CT_AAL0_PKT (XCT_AAL0_PKT << TXCHA_CT_SHIFT)
+#define TXCHA_CT_AAL0_CELL (XCT_AAL0_CELL << TXCHA_CT_SHIFT)
+#define TXCHA_CT_OAM_F5_SEG (XCT_OAM_F5_SEG << TXCHA_CT_SHIFT)
+#define TXCHA_CT_OAM_F5_E2E (XCT_OAM_F5_E2E << TXCHA_CT_SHIFT)
+#define TXCHA_CT_RM (XCT_RM << TXCHA_CT_SHIFT)
+#define TXCHA_CT_AAL5 (XCT_AAL5 << TXCHA_CT_SHIFT)
+#define TXCHA_CT_ASM_P0 (XCT_ASM_P0 << TXCHA_CT_SHIFT)
+#define TXCHA_CT_ASM_P1 (XCT_ASM_P1 << TXCHA_CT_SHIFT)
+#define TXCHA_CT_ASM_P2 (XCT_ASM_P2 << TXCHA_CT_SHIFT)
+#define TXCHA_CT_ASM_P3 (XCT_ASM_P3 << TXCHA_CT_SHIFT)
+#define TXCHA_CT_OAM_F4_SEG (XCT_OAM_F4_SEG << TXCHA_CT_SHIFT)
+#define TXCHA_CT_OAM_F4_E2E (XCT_OAM_F4_E2E << TXCHA_CT_SHIFT)
+#define TXCHA_CT_TEQ (XCT_TEQ << TXCHA_CT_SHIFT)
+#define TXCHA_CT_PTM (XCT_PTM << TXCHA_CT_SHIFT)
+#define TXCHA_CI 0x00000100
+#define TXCHA_CLP 0x00000200
+#define TXCHA_USE_ALT_GFC 0x00000400
+#define TXCHA_ALT_GFC_MASK 0x00007800
+#define TXCHA_ALT_GFC_SHIFT 11
+#define TXCHA_HDR_EN 0x00008000
+#define TXCHA_HDR_IDX_MASK 0x00070000
+#define TXCHA_HDR_IDX_SHIFT 16
+#define TXCHA_FCS_STRIP 0x00080000
+
+/* Definitions for PTM ulTxChannelCfg. */
+#define TXCHP_FCS_EN 0x00000001
+#define TXCHP_CRC_EN 0x00000002
+#define TXCHP_HDR_EN 0x00008000
+#define TXCHP_HDR_IDX_MASK 0x00070000
+#define TXCHP_HDR_IDX_SHIFT 16
+
+/* Definitions for ulSwitchPktCfg. */
+#define SWP_MAX_PKT_COUNT_MASK 0x00000003
+#define SWP_MAX_PKT_COUNT_SHIFT 0
+#define SWP_MAX_PKT_SIZE_MASK 0x0000007c
+#define SWP_MAX_PKT_SIZE_SHIFT 2
+#define SWP_SRC_ID_MASK 0x00000380
+#define SWP_SRC_ID_SHIFT 7
+#define SWP_RX_CHAN_MASK 0x00000c00
+#define SWP_RX_CHAN_SHIFT 10
+#define SWP_TX_CHAN_MASK 0x0000f000
+#define SWP_TX_CHAN_SHIFT 12
+#define SWP_TX_EN 0x00010000
+#define SWP_RX_EN 0x00020000
+
+/* Definitions for ulSwitchPktTxCtrl. */
+#define SWP_VCID_VALUE_MASK 0x0000000f
+#define SWP_VCID_VALUE_SHIFT 0
+#define SWP_CT_VALUE_MASK 0x000000f0
+#define SWP_CT_VALUE_SHIFT 4
+#define SWP_FSTAT_CFG_VALUE_MASK 0x00000700
+#define SWP_FSTAT_CFG_VALUE_SHIFT 8
+#define SWP_MUX_MODE_VALUE 0x00000800
+#define SWP_VCID_MASK_MASK 0x000f0000
+#define SWP_VCID_MASK_SHIFT 16
+#define SWP_CT_MASK_MASK 0x00f00000
+#define SWP_CT_MASK_SHIFT 20
+#define SWP_FSTAT_CFG_MASK_MASK 0x07000000
+#define SWP_FSTAT_CFG_MASK_SHIFT 24
+#define SWP_MUX_MODE_MASK 0x08000000
+
+/* Definitions for ulSwitchPktRxCtrl. */
+#define SWP_MATCH_MASK 0x0000007f
+#define SWP_MASK_SHIFT 0
+#define SWP_CRC32 0x00000080
+#define SWP_DEST_PORT_MASK 0x0000ff00
+#define SWP_DEST_PORT_SHIFT 8
+#define SWP_MUX_MATCH_MASK 0x007f0000
+#define SWP_MUX_MATCH_SHIFT 16
+#define SWP_MUX_CRC32 0x00800000
+#define SWP_MUX_DESTPORT_MASK 0xff000000
+#define SWP_MUX_DESTPORT_SHIFT 24
+
+/* Definitions for ulPktModCtrl. */
+#define PKTM_RXQ_EN_MASK 0x0000000f
+#define PKTM_RXQ_EN_SHIFT 0
+#define PKTM_EN 0x80000000
+
+/* Definitions for ulIrqStatus and ulIrqMask. */
+#define INTR_RX_BUF_EMPTY 0x00000001
+#define INTR_TX_BUF_EMPTY 0x00000002
+#define INTR_RX_DMA_NO_DESC_MASK 0x0000003c
+#define INTR_RX_DMA_NO_DESC_SHIFT 2
+#define INTR_PTM_FRAG_ERROR 0x00000040
+#define INTR_PKT_BUF_UNDERFLOW 0x00000080
+#define INTR_TX_DMA_UNDERFLOW 0x00000100
+#define INTR_TX_ATM_DC 0x00000200
+#define INTR_BOND_BUF_FULL 0x00000400
+#define INTR_RX_ATM_DC 0x00000800
+#define INTR_MULT_MATCH_ERROR 0x00001000
+#define INTR_PKT_BUF_IRQ_MASK 0x0000e000
+#define INTR_PKT_BUF_IRQ_SHIFT 13
+
+/* Definitions for ulTxSarCfg. */
+#define TXSAR_MODE_ATM 0x00000000
+#define TXSAR_MODE_PTM 0x00000001
+#define TXSARA_BOND_EN 0x00000002
+#define TXSARA_SID12_EN 0x00000004
+#define TXSARA_CRC10_INIT 0x00000008
+#define TXSARA_CRC10_EN_MASK 0x000000f0
+#define TXSARA_CRC10_EN_SHIFT 4
+#define TXSARA_BOND_DUAL_LATENCY 0x00000100
+#define TXSAR_USE_ALT_FSTAT 0x00000200
+#define TXSARP_ENET_FCS_INSERT 0x00000400
+#define TXSARP_CRC16_EN 0x00000800
+#define TXSARP_SOF_WHILE_TX 0x00001000
+#define TXSARP_PREEMPT 0x00002000
+#define TXSAR_HDR_INS_OFFSET_MASK 0x0007c000
+#define TXSAR_HDR_INS_OFFSET_SHIFT 14
+#define TXSARP_NUM_Z_BYTES_MASK 0x00780000
+#define TXSARP_NUM_Z_BYTES_SHIFT 19
+#define TXSAR_SW_EN 0x00800000
+#define TXSAR_USE_THRESH 0x01000000
+#define TXSAR_PKT_THRESH_MASK 0x06000000
+#define TXSAR_PKT_THRESH_SHIFT 25
+#define TXSARA_BOND_PORT_DIS_MASK 0x78000000
+#define TXSARA_BOND_PORT_DIS_SHIFT 27
+#define TXSARA_ASM_CRC_DIS 0x80000000
+
+/* Definitions for ulTxSchedCfg. */
+#define TXSCH_PORT_EN_MASK 0x0000000f
+#define TXSCH_PORT_EN_SHIFT 0
+#define TXSCHA_ALT_SHAPER_MODE 0x00000010
+#define TXSCHP_FAST_SCHED 0x00000020
+#define TXSCH_SHAPER_RESET 0x00000040
+#define TXSCH_SIT_COUNT_EN 0x00000080
+#define TXSCH_SIT_COUNT_VALUE_MASK 0x00ffff00
+#define TXSCH_SIT_COUNT_VALUE_SHIFT 8
+#define TXSCH_SIT_MAX_VALUE (TXSCH_SIT_COUNT_VALUE_MASK >> \
+ TXSCH_SIT_COUNT_VALUE_SHIFT)
+#define TXSCH_SOFWT_PRIORITY_EN 0x01000000
+#define TXSCH_BASE_COUNT_EN 0x02000000
+#define TXSCH_BASE_COUNT_VALUE_MASK 0x3c000000
+#define TXSCH_BASE_COUNT_VALUE_SHIFT 26
+#define TXSCHP_USE_BIT4_SOF 0x40000000
+#define TXSCH_ALT_MCR_MODE 0x80000000
+
+/* Definitions for ulTxOamCfg. */
+#define TXOAM_F4_SEG_VPI_MASK 0x000000ff
+#define TXOAM_F4_SEG_VPI_SHIFT 0
+#define TXOAM_F4_E2E_VPI_MASK 0x0000ff00
+#define TXOAM_F4_E2E_VPI_SHIFT 8
+#define TXASM_VCI_MASK 0xffff0000
+#define TXASM_VCI_SHIFT 16
+
+/* Definitions for ulTxMpAalCfg. */
+#define TXMP_NUM_GROUPS 4
+#define TXMP_GROUP_SIZE 5
+#define TXMP_GROUP_EN 0x00000001
+#define TXMP_GROUP_SHAPER_MASK 0x0000001e
+#define TXMP_GROUP_SHAPER_SHIFT 1
+#define TXSOPWT_COUNT_EN 0x00100000
+#define TXSOPWT_COUNT_VALUE_MASK 0x07e00000
+#define TXSOPWT_COUNT_VALUE_SHIFT 21
+
+/* Definitions for ulTxUtopiaCfg. */
+#define TXUTO_PORT_EN_MASK 0x0000000f
+#define TXUTO_PORT_EN_SHIFT 0
+#define TXUTO_MODE_INT_EXT_MASK 0x00000030
+#define TXUTO_MODE_ALL_INT 0x00000000
+#define TXUTO_MODE_ALL_EXT 0x00000010
+#define TXUTO_MODE_INT_EXT 0x00000020
+#define TXUTO_CELL_FIFO_DEPTH_2 0x00000000
+#define TXUTO_CELL_FIFO_DEPTH_1 0x00000040
+#define TXUTO_NEG_EDGE 0x00000080
+#define TXUTO_LEVEL_1 0x00000100
+
+/* Definitions for ulTxLineRateTimer. */
+#define TXLRT_EN 0x00000001
+#define TXLRT_COUNT_VALUE_MASK 0x0001fffe
+#define TXLRT_COUNT_VALUE_SHIFT 1
+#define TXLRT_MAX_VALUE (TXLRT_COUNT_VALUE_MASK >> \
+ TXLRT_COUNT_VALUE_SHIFT)
+#define TXLRT_IDLE_CELL_INS_MASK 0xf0000000
+#define TXLRT_IDLE_CELL_INS_SHIFT 28
+
+/* Definitions for ulRxAtmCfg. */
+#define RX_PORT_EN 0x00000001
+#define RX_DOE_MASK 0x000001fe
+#define RX_DOE_SHIFT 1
+#define RX_DOE_GFC_ERROR 0x00000002
+#define RX_DOE_CRC_ERROR 0x00000004
+#define RX_DOE_CT_ERROR 0x00000008
+#define RX_DOE_CAM_LOOKUP_ERROR 0x00000010
+#define RX_DOE_IDLE_CELL 0x00000020
+#define RX_DOE_PTI_ERROR 0x00000040
+#define RX_DOE_HEC_ERROR 0x00000080
+#define RX_DOE_PORT_NOT_ENABLED_ERROR 0x00000100
+#define RXA_HEC_CRC_IGNORE 0x00000200
+#define RXA_GFC_ERROR_IGNORE 0x00000400
+#define RX_PORT_MASK 0x00001800
+#define RX_PORT_MASK_SHIFT 11
+#define RXP_RX_FLOW_DISABLED 0x00004000
+#define RXA_VCI_MASK 0x00008000
+#define RXA_VC_BIT_MASK 0xffff0000
+#define RXA_BONDING_VP_MASK 0x00ff0000
+
+/* Definitions for ulRxSarCfg. */
+#define RXSAR_MODE_ATM 0x00000000
+#define RXSAR_MODE_PTM 0x00000001
+#define RXSAR_MODE_MASK 0x00000001
+#define RXSARA_BOND_EN 0x00000002
+#define RXSARA_SID12_EN 0x00000004
+#define RXSARA_CRC10_INIT 0x00000008
+#define RXSARA_CRC10_EN_MASK 0x000000f0
+#define RXSARA_CRC10_EN_SHIFT 4
+#define RXSARA_BOND_DUAL_LATENCY 0x00000100
+#define RXSARA_BOND_CELL_COUNT_MASK 0x07ff0000
+#define RXSARA_BOND_CELL_COUNT_SHIFT 16
+#define RXSARA_BOND_TIMER_MODE 0x08000000
+#define RXSARA_BOND_BUF_MODE_MASK 0x70000000
+#define RXSARA_BOND_BUF_MODE_SHIFT 29
+#define RXSARA_BOND_BUF_MODE_MASK 0x70000000
+#define RXSARA_ASM_CRC_DIS 0x80000000
+
+/* Definitions for ulRxOamCfg. */
+#define RXOAM_F4_SEG_VPI_MASK 0x000000ff
+#define RXOAM_F4_SEG_VPI_SHIFT 0
+#define RXOAM_F4_E2E_VPI_MASK 0x0000ff00
+#define RXOAM_F4_E2E_VPI_SHIFT 8
+#define RXASM_VCI_MASK 0xffff0000
+#define RXASM_VCI_SHIFT 16
+
+/* Definitions for ulRxUtopiaCfg. */
+#define RXUTO_PORT_EN_MASK 0x0000000f
+#define RXUTO_PORT_EN_SHIFT 0
+#define RXUTO_TEQ_PORT_MASK 0x00000070
+#define RXUTO_TEQ_PORT_SHIFT 4
+#define RXUTO_NEG_EDGE 0x00000080
+#define RXUTO_LEVEL_1 0x00000100
+#define RXUTO_INTERNAL_BUF0_EN 0x00000200
+#define RXUTO_EXTERNAL_BUF1_EN 0x00000400
+
+/* Definitions for ulRxAalCfg. */
+#define RXAALA_AAL5_SW_TRAILER_EN 0x00000001
+#define RXAALA_AAL0_CRC_CHECK 0x00000002
+#define RXAALP_CRC32_EN 0x00000004
+#define RXAALP_CELL_LENGTH_MASK 0x000000f0
+#define RXAALP_CELL_LENGTH_SHIFT 4
+
+/* Definitions for ulLedCtrl. */
+#define SAR_LED_EN 0x00000001
+#define SAR_LED_MODE_MASK 0x00000006
+#define SAR_LED_MODE_SHIFT 1
+#define SAR_LED_MODE_LINK_ONLY 0x00000000
+#define SAR_LED_MODE_CELL_ACTIVITY 0x00000002
+#define SAR_LED_MODE_MELODY_LINK 0x00000004
+#define SAR_LED_MODE_LINK_CELL_ACTIVITY 0x00000006
+#define SAR_LED_LINK 0x00000010
+#define SAR_LED_SPEED_MASK 0x00000060
+#define SAR_LED_SPEED_SHIFT 5
+#define SAR_LED_SPEED_30MS 0x00000000
+#define SAR_LED_SPEED_50MS 0x00000020
+#define SAR_LED_SPEED_125MS 0x00000040
+#define SAR_LED_SPEED_250MS 0x00000060
+#define SAR_LED_INTERNAL 0x00000080
+
+/* Definitions for ulTxVpiVciTable. */
+#define TXTBL_VCI_MASK 0x0000ffff
+#define TXTBL_VCI_SHIFT 0
+#define TXTBL_VPI_MASK 0x00ff0000
+#define TXTBL_VPI_SHIFT 16
+
+/* Definitions for ulRxVpiVciCam - CAM side. */
+#define RXCAM_PORT_MASK 0x00000003
+#define RXCAM_PORT_SHIFT 0
+#define RXCAMP_PTM_PRI_LOW 0x00000000
+#define RXCAMP_PTM_PRI_HIGH 0x00000004
+#define RXCAM_TEQ_CELL 0x00000008
+#define RXCAMA_VCI_MASK 0x000ffff0
+#define RXCAMA_VCI_SHIFT 4
+#define RXCAMA_VPI_MASK 0x0ff00000
+#define RXCAMA_VPI_SHIFT 20
+#define RXCAM_VALID 0x10000000
+
+/* Definitions for ulRxVpiVciCam - RAM side. */
+#define RXCAM_CT_MASK 0x0000000f
+#define RXCAM_CT_SHIFT 0
+#define RXCAM_CT_TRANSPARENT (XCT_TRANSPARENT << RXCAM_CT_SHIFT)
+#define RXCAM_CT_AAL0_PKT (XCT_AAL0_PKT << RXCAM_CT_SHIFT)
+#define RXCAM_CT_AAL0_CELL (XCT_AAL0_CELL << RXCAM_CT_SHIFT)
+#define RXCAM_CT_AAL5 (XCT_AAL5 << RXCAM_CT_SHIFT)
+#define RXCAM_CT_TEQ (XCT_TEQ << RXCAM_CT_SHIFT)
+#define RXCAM_CT_PTM (XCT_PTM << RXCAM_CT_SHIFT)
+#define RXCAM_VCID_MASK 0x000001f0
+#define RXCAM_VCID_SHIFT 4
+#define RXCAM_STRIP_BYTE_MASK 0x00003e00
+#define RXCAM_STRIP_BYTE_SHIFT 9
+#define RXCAM_STRIP_EN 0x00004000
+#define RXCAMA_ASM_CELL 0x00080000
+#define RXCAMA_CRC10_EN 0x00100000
+
+/* Definitions for ulSstCtrl. */
+#define SST_EN 0x00000001
+#define SST_MP_GROUP_MASK 0x00000006
+#define SST_MP_GROUP_SHIFT 1
+#define SST_PTM_PREEMPT 0x00000010
+#define SST_PORT_MASK 0x00000060
+#define SST_PORT_SHIFT 5
+#define SST_ALG_MASK 0x00000380
+#define SST_ALG_SHIFT 7
+#define SST_ALG_UBR_NO_PCR 0x00000000
+#define SST_ALG_UBR_PCR 0x00000080
+#define SST_ALG_MBR 0x00000100
+#define SST_ALG_VBR_1 0x00000180
+#define SST_ALG_CBR 0x00000200
+#define SST_SUB_PRIORITY_MASK 0x00001c00
+#define SST_SUB_PRIORITY_SHIFT 10
+#define SST_SUPER_PRIORITY 0x00002000
+#define SST_MP_EN 0x00004000
+#define SST_MCR_EN 0x00008000
+#define SST_RATE_MCR_MASK 0xffff0000
+#define SST_RATE_MCR_SHIFT 16
+
+/* Definitions for ulSstPcrScr. */
+#define SST_RATE_PCR_MASK 0x0000ffff
+#define SST_RATE_PCR_SHIFT 0
+#define SST_RATE_SCR_MASK 0xffff0000
+#define SST_RATE_SCR_SHIFT 16
+
+/* Definitions for ulSstBt. */
+#define SST_RATE_BT_MASK 0x00ffffff
+#define SST_RATE_BT_SHIFT 0
+#define SST_ALG_WEIGHT_MASK 0x03000000
+#define SST_ALG_WEIGHT_SHIFT 24
+#define SST_ALG_DISABLED 0x00000000
+#define SST_ALG_CWRR 0x01000000
+#define SST_ALG_PWRR 0x02000000
+#define SST_ALG_WFQ 0x03000000
+#define SST_WEIGHT_VALUE_MASK 0xfc000000
+#define SST_WEIGHT_VALUE_SHIFT 26
+
+/* Definitions for ulSstBucketCnt. */
+#define SST_BP_PCR_MASK 0x0000ffff
+#define SST_BP_PCR_SHIFT 0
+#define SST_BM_MCR_MASK 0xffff0000
+#define SST_BM_MCR_SHIFT 16
+
+/* Definitions for ulRxPktBufCfg. */
+#define PBCFG_LENGTH_MASK 0x0000ffff
+#define PBCFG_LENGTH_SHIFT 0
+#define PBCFG_FPM_EMPTY 0x02000000
+#define PBCFG_LD_PTRS 0x04000000
+#define PBCFG_ALLOCATE_LAST 0x08000000
+#define PBCFG_KEEP_ERROR_PKTS 0x10000000
+#define PBCFG_FPM_ENABLE 0x20000000
+#define PBCFG_INIT_REQ 0x40000000
+#define PBCFG_S_RESET 0x80000000
+
+/* Definitions for ulRxPktBufThreshold. */
+#define PBTHRESH_MAX_COUNT_MASK 0x000000ff
+#define PBTHRESH_MAX_COUNT_SHIFT 0
+#define PBTHRESH_NO_BUF_DELAY_MASK 0xffff0000
+#define PBTHRESH_NO_BUF_DELAY_SHIFT 16
+
+/* Definitions for ulRxPktBufVcid. */
+#define PBVCID_WAIT_EN_MASK 0x0000ffff
+#define PBVCID_WAIT_EN_SHIFT 0
+
+/* Definitions for ulRxPktBufMem. */
+#define PBMEM_ADDR_MASK 0x0000ffff
+#define PBMEM_ADDR_SHIFT 0
+#define PBMEM_BS_B_MASK 0x00ff0000
+#define PBMEM_BS_B_SHIFT 16
+#define PBMEM_READ_WRITE_B 0x40000000
+#define PBMEM_GO_BUSY 0x80000000
+
+/* Definitions for ulRxPktBufPtr. */
+#define PBPTR_BUF_STOP_MASK 0x0000ffff
+#define PBPTR_BUF_STOP_SHIFT 0
+#define PBPTR_BUF_START_MASK 0xffff0000
+#define PBPTR_BUF_START_SHIFT 16
+
+/* Definitions for ulRxPktBufSize. */
+#define PBSIZE_THRESHOLD_MASK 0x0000ffff
+#define PBSIZE_THRESHOLD_SHIFT 0
+#define PBSIZE_MASK 0xffff0000
+#define PBSIZE_SHIFT 16
+
+/* Definitions for ulRxPktBufFifoStart[2]. */
+#define PBSTART_0_MASK 0x0000ffff
+#define PBSTART_0_SHIFT 0
+#define PBSTART_1_MASK 0xffff0000
+#define PBSTART_1_SHIFT 16
+
+/* Definitions for ulRxPktBufFifoStop[2]. */
+#define PBSTOP_0_MASK 0x0000ffff
+#define PBSTOP_0_SHIFT 0
+#define PBSTOP_1_MASK 0xffff0000
+#define PBSTOP_1_SHIFT 16
+
+/* Definitions for ulRxPktBufFifoDelay[2]. */
+#define PBDELAY_0_MASK 0x0000ffff
+#define PBDELAY_0_SHIFT 0
+#define PBDELAY_1_MASK 0xffff0000
+#define PBDELAY_1_SHIFT 16
+
+/* Definitions for ulRxPktBufQueueStatus. */
+#define PBQS_NUM_NO_BUFS_MASK 0x0000ffff
+#define PBQS_NUM_NO_BUFS_SHIFT 0
+#define PBQS_NUM_QUEUE_FULL_MASK 0xffff0000
+#define PBQS_NUM_QUEUE_FULL_SHIFT 16
+
+/* Definitions for ulRxPktBufErrorStatus. */
+#define PBERR_NUM_ERROR_FRAGS_MASK 0x0000ffff
+#define PBERR_NUM_ERROR_FRAGS_SHIFT 0
+#define PBERR_NUM_ERROR_PKTS_MASK 0xffff0000
+#define PBERR_NUM_ERROR_PKTS_SHIFT 16
+
+/* Definitions for ulRxPktBufTR. */
+#define PBTR_LD_T_PTR_MASK 0x0000ffff
+#define PBTR_LD_T_PTR_SHIFT 0
+#define PBTR_LD_H_PTR_MASK 0xffff0000
+#define PBTR_LD_H_PTR_SHIFT 16
+
+/* Definitions for ulRxPktBufFPM. */
+#define PBFPM_FRAME_BUF_MASK 0x0000ffff
+#define PBFPM_FRAME_BUF_SHIFT 0
+#define PBFPM_LOAD_COUNT_MASK 0xffff0000
+#define PBFPM_LOAD_COUNT_SHIFT 16
+
+/* Definitions for ulRxPktBufMibCtrl. */
+#define PBMIB_TOGGLE 0x40000000
+#define PBMIB_CLEAR 0x80000000
+
+/* Definitions for ulRxPktBufMibMatch. */
+#define PBMIB_MATCH_MASK 0x0000007f
+
+/* Definitions for ulTxHdrInsert. */
+#define TXHDR_COUNT_MASK 0x0000001f
+#define TXHDR_COUNT_SHIFT 0
+#define TXHDR_OFFSET_MASK 0x00ff0000
+#define TXHDR_OFFSET_SHIFT 16
+
+/* Definitions for ulTxRxPortOamCellCnt. */
+#define OAM_TX_CELL_COUNT_MASK 0x0000ffff
+#define OAM_TX_CELL_COUNT_SHIFT 0
+#define OAM_RX_CELL_COUNT_MASK 0xffff0000
+#define OAM_RX_CELL_COUNT_SHIFT 16
+
+/* Definitions for ulTxRxPortAsmCellCnt. */
+#define ASM_TX_CELL_COUNT_MASK 0x0000ffff
+#define ASM_TX_CELL_COUNT_SHIFT 0
+#define ASM_RX_CELL_COUNT_MASK 0xffff0000
+#define ASM_RX_CELL_COUNT_SHIFT 16
+
+/* Definitions for ulRxPortErrorPktCellCnt. */
+#define ERROR_RX_CELL_COUNT_MASK 0x0000ffff
+#define ERROR_RX_CELL_COUNT_SHIFT 0
+#define ERROR_RX_PKT_COUNT_MASK 0xffff0000
+#define ERROR_RX_PKT_COUNT_SHIFT 16
+
+
+#if defined(CONFIG_BCM96368)
+#define XTM_PROCESSOR_BASE 0xb0001800
+#elif defined(CONFIG_BCM96328) || defined(CONFIG_BCM96362)
+#define XTM_PROCESSOR_BASE 0xb0007800
+#endif
+typedef struct XtmProcessorRegisters
+{
+ UINT32 ulTxChannelCfg[XP_MAX_CONNS]; /* 0000 */
+ UINT32 ulSwitchPktCfg; /* 0040 */
+ UINT32 ulSwitchPktTxCtrl; /* 0044 */
+ UINT32 ulSwitchPktRxCtrl; /* 0048 */
+ UINT32 ulPktModCtrl; /* 004c */
+ UINT32 ulIrqStatus; /* 0050 */
+ UINT32 ulIrqMask; /* 0054 */
+ UINT32 ulReserved1[2]; /* 0058 */
+ UINT32 ulTxSarCfg; /* 0060 */
+ UINT32 ulTxSchedCfg; /* 0064 */
+ UINT32 ulTxOamCfg; /* 0068 */
+ UINT32 ulTxAtmStatus; /* 006c */
+ UINT32 ulTxAalStatus; /* 0070 */
+ UINT32 ulTxMpAalCfg; /* 0074 */
+ UINT32 ulTxUtopiaCfg; /* 0078 */
+ UINT32 ulTxLineRateTimer; /* 007c */
+ UINT32 ulRxAtmCfg[XP_MAX_PORTS]; /* 0080 */
+ UINT32 ulRxSarCfg; /* 0090 */
+ UINT32 ulRxOamCfg; /* 0094 */
+ UINT32 ulRxAtmStatus; /* 0098 */
+ UINT32 ulRxUtopiaCfg; /* 009c */
+ UINT32 ulRxAalCfg; /* 00a0 */
+ UINT32 ulRxAalMaxSdu; /* 00a4 */
+ UINT32 ulRxAalStatus; /* 00a8 */
+ UINT32 ulLedCtrl; /* 00ac */
+ UINT32 ulReserved2[20]; /* 00b0 */
+ UINT32 ulTxVpiVciTable[XP_MAX_CONNS]; /* 0100 */
+ UINT32 ulRxVpiVciCam[XP_MAX_CONNS * 2]; /* 0140 */
+ UINT32 ulReserved3[16]; /* 01c0 */
+ UINT32 ulSstCtrl[XP_MAX_CONNS]; /* 0200 */
+ UINT32 ulSstPcrScr[XP_MAX_CONNS]; /* 0240 */
+ UINT32 ulSstBt[XP_MAX_CONNS]; /* 0280 */
+ UINT32 ulSstBucketCnt[XP_MAX_CONNS]; /* 02c0 */
+ UINT32 ulRxPktBufCfg; /* 0300 */
+ UINT32 ulRxPktBufThreshold; /* 0304 */
+ UINT32 ulRxPktBufVcid; /* 0308 */
+ UINT32 ulRxPktBufMem; /* 030c */
+ UINT32 ulRxPktBufData[2]; /* 0310 */
+ UINT32 ulRxPktBufPtr; /* 0318 */
+ UINT32 ulRxPktBufSize; /* 031c */
+ UINT32 ulRxPktBufFifoStart[2]; /* 0320 */
+ UINT32 ulRxPktBufFifoStop[2]; /* 0328 */
+ UINT32 ulRxPktBufFifoDelay[2]; /* 0330 */
+ UINT32 ulRxPktBufQueueStatus; /* 0338 */
+ UINT32 ulRxPktBufErrorStatus; /* 033c */
+ UINT32 ulRxPktBufTR; /* 0340 */
+ UINT32 ulRxPktBufFPM; /* 0344 */
+ UINT32 ulRxPktBufMibCtrl; /* 0348 */
+ UINT32 ulRxPktBufMibMatch; /* 034c */
+ UINT32 ulRxPktBufMibRxOctet; /* 0350 */
+ UINT32 ulRxPktBufMibRxPkt; /* 0354 */
+ UINT32 ulReserved4[106]; /* 0358 */
+ UINT32 ulTxHdrInsert[XP_MAX_TX_HDRS]; /* 0500 */
+ UINT32 ulReserved5[24]; /* 0520 */
+ UINT32 ulTxHdrValues[XP_MAX_TX_HDRS][XP_TX_HDR_WORDS]; /* 0580 */
+ UINT32 ulTxPortPktOctCnt[XP_MAX_PORTS]; /* 0600 */
+ UINT32 ulRxPortPktOctCnt[XP_MAX_PORTS]; /* 0610 */
+ UINT32 ulTxPortPktCnt[XP_MAX_PORTS]; /* 0620 */
+ UINT32 ulRxPortPktCnt[XP_MAX_PORTS]; /* 0630 */
+ UINT32 ulTxRxPortOamCellCnt[XP_MAX_PORTS]; /* 0640 */
+ UINT32 ulTxRxPortAsmCellCnt[XP_MAX_PORTS]; /* 0650 */
+ UINT32 ulRxPortErrorPktCellCnt[XP_MAX_PORTS]; /* 0660 */
+ UINT32 ulBondInputCellCnt; /* 0670 */
+ UINT32 ulBondOutputCellCnt; /* 0674 */
+ UINT32 ulReserved6[1]; /* 0678 */
+ UINT32 ulMibCtrl; /* 067c */
+ UINT32 ulTxVcPktOctCnt[XP_MAX_CONNS]; /* 0680 */
+} XTM_PROCESSOR_REGISTERS, *PXTM_PROCESSOR_REGISTERS;
+
+#define XP_REGS ((volatile PXTM_PROCESSOR_REGISTERS const) XTM_PROCESSOR_BASE)
+
+/* Definitions from pktCmfHw.h. TBD. Use commoon header file. */
+#ifndef PKTCMF_OFFSET_ENGINE_SAR
+#define PKTCMF_OFFSET_ENGINE_SAR 0xB0002000
+#endif
+#define PKTCMF_OFFSET_RXFILT 0x00001B00
+#define RXFILT_REG_MATCH0_DEF_ID 0x0000000C /* 7b/VCID 03..00 */
+#define RXFILT_REG_MATCH1_DEF_ID 0x00000010 /* 7b/VCID 07..04 */
+#define RXFILT_REG_MATCH2_DEF_ID 0x00000014 /* 7b/VCID 11..08 */
+#define RXFILT_REG_MATCH3_DEF_ID 0x00000018 /* 7b/VCID 15..12 */
+
+#define RXFILT_REG_VCID0_QID 0x00000004 /* 2b/VCID 15..00 */
+#define RXFILT_REG_VCID1_QID 0x00000008 /* 2b VCID= 16 */
+
+#endif /* _XTMPROCREGS_H_ */
+