vsc7326_reg.h

来自「linux 内核源代码」· C头文件 代码 · 共 298 行 · 第 1/2 页

H
298
字号
/* $Date: 2006/04/28 19:20:17 $ $RCSfile: vsc7326_reg.h,v $ $Revision: 1.5 $ */#ifndef _VSC7321_REG_H_#define _VSC7321_REG_H_/* Register definitions for Vitesse VSC7321 (Meigs II) MAC * * Straight off the data sheet, VMDS-10038 Rev 2.0 and * PD0011-01-14-Meigs-II 2002-12-12 *//* Just 'cause it's in here doesn't mean it's used. */#define CRA(blk,sub,adr) ((((blk) & 0x7) << 13) | (((sub) & 0xf) << 9) | (((adr) & 0xff) << 1))/* System and CPU comm's registers */#define REG_CHIP_ID		CRA(0x7,0xf,0x00)	/* Chip ID */#define REG_BLADE_ID		CRA(0x7,0xf,0x01)	/* Blade ID */#define REG_SW_RESET		CRA(0x7,0xf,0x02)	/* Global Soft Reset */#define REG_MEM_BIST		CRA(0x7,0xf,0x04)	/* mem */#define REG_IFACE_MODE		CRA(0x7,0xf,0x07)	/* Interface mode */#define REG_MSCH		CRA(0x7,0x2,0x06)	/* CRC error count */#define REG_CRC_CNT		CRA(0x7,0x2,0x0a)	/* CRC error count */#define REG_CRC_CFG		CRA(0x7,0x2,0x0b)	/* CRC config */#define REG_SI_TRANSFER_SEL	CRA(0x7,0xf,0x18)	/* SI Transfer Select */#define REG_PLL_CLK_SPEED	CRA(0x7,0xf,0x19)	/* Clock Speed Selection */#define REG_SYS_CLK_SELECT	CRA(0x7,0xf,0x1c)	/* System Clock Select */#define REG_GPIO_CTRL		CRA(0x7,0xf,0x1d)	/* GPIO Control */#define REG_GPIO_OUT		CRA(0x7,0xf,0x1e)	/* GPIO Out */#define REG_GPIO_IN		CRA(0x7,0xf,0x1f)	/* GPIO In */#define REG_CPU_TRANSFER_SEL	CRA(0x7,0xf,0x20)	/* CPU Transfer Select */#define REG_LOCAL_DATA		CRA(0x7,0xf,0xfe)	/* Local CPU Data Register */#define REG_LOCAL_STATUS	CRA(0x7,0xf,0xff)	/* Local CPU Status Register *//* Aggregator registers */#define REG_AGGR_SETUP		CRA(0x7,0x1,0x00)	/* Aggregator Setup */#define REG_PMAP_TABLE		CRA(0x7,0x1,0x01)	/* Port map table */#define REG_MPLS_BIT0		CRA(0x7,0x1,0x08)	/* MPLS bit0 position */#define REG_MPLS_BIT1		CRA(0x7,0x1,0x09)	/* MPLS bit1 position */#define REG_MPLS_BIT2		CRA(0x7,0x1,0x0a)	/* MPLS bit2 position */#define REG_MPLS_BIT3		CRA(0x7,0x1,0x0b)	/* MPLS bit3 position */#define REG_MPLS_BITMASK	CRA(0x7,0x1,0x0c)	/* MPLS bit mask */#define REG_PRE_BIT0POS		CRA(0x7,0x1,0x10)	/* Preamble bit0 position */#define REG_PRE_BIT1POS		CRA(0x7,0x1,0x11)	/* Preamble bit1 position */#define REG_PRE_BIT2POS		CRA(0x7,0x1,0x12)	/* Preamble bit2 position */#define REG_PRE_BIT3POS		CRA(0x7,0x1,0x13)	/* Preamble bit3 position */#define REG_PRE_ERR_CNT		CRA(0x7,0x1,0x14)	/* Preamble parity error count *//* BIST registers *//*#define REG_RAM_BIST_CMD	CRA(0x7,0x2,0x00)*/	/* RAM BIST Command Register *//*#define REG_RAM_BIST_RESULT	CRA(0x7,0x2,0x01)*/	/* RAM BIST Read Status/Result */#define REG_RAM_BIST_CMD	CRA(0x7,0x1,0x00)	/* RAM BIST Command Register */#define REG_RAM_BIST_RESULT	CRA(0x7,0x1,0x01)	/* RAM BIST Read Status/Result */#define   BIST_PORT_SELECT	0x00			/* BIST port select */#define   BIST_COMMAND		0x01			/* BIST enable/disable */#define   BIST_STATUS		0x02			/* BIST operation status */#define   BIST_ERR_CNT_LSB	0x03			/* BIST error count lo 8b */#define   BIST_ERR_CNT_MSB	0x04			/* BIST error count hi 8b */#define   BIST_ERR_SEL_LSB	0x05			/* BIST error select lo 8b */#define   BIST_ERR_SEL_MSB	0x06			/* BIST error select hi 8b */#define   BIST_ERROR_STATE	0x07			/* BIST engine internal state */#define   BIST_ERR_ADR0		0x08			/* BIST error address lo 8b */#define   BIST_ERR_ADR1		0x09			/* BIST error address lomid 8b */#define   BIST_ERR_ADR2		0x0a			/* BIST error address himid 8b */#define   BIST_ERR_ADR3		0x0b			/* BIST error address hi 8b *//* FIFO registers *   ie = 0 for ingress, 1 for egress *   fn = FIFO number, 0-9 */#define REG_TEST(ie,fn)		CRA(0x2,ie&1,0x00+fn)	/* Mode & Test Register */#define REG_TOP_BOTTOM(ie,fn)	CRA(0x2,ie&1,0x10+fn)	/* FIFO Buffer Top & Bottom */#define REG_TAIL(ie,fn)		CRA(0x2,ie&1,0x20+fn)	/* FIFO Write Pointer */#define REG_HEAD(ie,fn)		CRA(0x2,ie&1,0x30+fn)	/* FIFO Read Pointer */#define REG_HIGH_LOW_WM(ie,fn)	CRA(0x2,ie&1,0x40+fn)	/* Flow Control Water Marks */#define REG_CT_THRHLD(ie,fn)	CRA(0x2,ie&1,0x50+fn)	/* Cut Through Threshold */#define REG_FIFO_DROP_CNT(ie,fn) CRA(0x2,ie&1,0x60+fn)	/* Drop & CRC Error Counter */#define REG_DEBUG_BUF_CNT(ie,fn) CRA(0x2,ie&1,0x70+fn)	/* Input Side Debug Counter */#define REG_BUCKI(fn) CRA(0x2,2,0x20+fn)	/* Input Side Debug Counter */#define REG_BUCKE(fn) CRA(0x2,3,0x20+fn)	/* Input Side Debug Counter *//* Traffic shaper buckets *   ie = 0 for ingress, 1 for egress *   bn = bucket number 0-10 (yes, 11 buckets) *//* OK, this one's kinda ugly.  Some hardware designers are perverse. */#define REG_TRAFFIC_SHAPER_BUCKET(ie,bn) CRA(0x2,ie&1,0x0a + (bn>7) | ((bn&7)<<4))#define REG_TRAFFIC_SHAPER_CONTROL(ie)	CRA(0x2,ie&1,0x3b)#define REG_SRAM_ADR(ie)	CRA(0x2,ie&1,0x0e)	/* FIFO SRAM address */#define REG_SRAM_WR_STRB(ie)	CRA(0x2,ie&1,0x1e)	/* FIFO SRAM write strobe */#define REG_SRAM_RD_STRB(ie)	CRA(0x2,ie&1,0x2e)	/* FIFO SRAM read strobe */#define REG_SRAM_DATA_0(ie)	CRA(0x2,ie&1,0x3e)	/* FIFO SRAM data lo 8b */#define REG_SRAM_DATA_1(ie)	CRA(0x2,ie&1,0x4e)	/* FIFO SRAM data lomid 8b */#define REG_SRAM_DATA_2(ie)	CRA(0x2,ie&1,0x5e)	/* FIFO SRAM data himid 8b */#define REG_SRAM_DATA_3(ie)	CRA(0x2,ie&1,0x6e)	/* FIFO SRAM data hi 8b */#define REG_SRAM_DATA_BLK_TYPE(ie) CRA(0x2,ie&1,0x7e)	/* FIFO SRAM tag *//* REG_ING_CONTROL equals REG_CONTROL with ie = 0, likewise REG_EGR_CONTROL is ie = 1 */#define REG_CONTROL(ie)		CRA(0x2,ie&1,0x0f)	/* FIFO control */#define REG_ING_CONTROL		CRA(0x2,0x0,0x0f)	/* Ingress control (alias) */#define REG_EGR_CONTROL		CRA(0x2,0x1,0x0f)	/* Egress control (alias) */#define REG_AGE_TIMER(ie)	CRA(0x2,ie&1,0x1f)	/* Aging timer */#define REG_AGE_INC(ie)		CRA(0x2,ie&1,0x2f)	/* Aging increment */#define DEBUG_OUT(ie)		CRA(0x2,ie&1,0x3f)	/* Output debug counter control */#define DEBUG_CNT(ie)		CRA(0x2,ie&1,0x4f)	/* Output debug counter *//* SPI4 interface */#define REG_SPI4_MISC		CRA(0x5,0x0,0x00)	/* Misc Register */#define REG_SPI4_STATUS		CRA(0x5,0x0,0x01)	/* CML Status */#define REG_SPI4_ING_SETUP0	CRA(0x5,0x0,0x02)	/* Ingress Status Channel Setup */#define REG_SPI4_ING_SETUP1	CRA(0x5,0x0,0x03)	/* Ingress Data Training Setup */#define REG_SPI4_ING_SETUP2	CRA(0x5,0x0,0x04)	/* Ingress Data Burst Size Setup */#define REG_SPI4_EGR_SETUP0	CRA(0x5,0x0,0x05)	/* Egress Status Channel Setup */#define REG_SPI4_DBG_CNT(n)	CRA(0x5,0x0,0x10+n)	/* Debug counters 0-9 */#define REG_SPI4_DBG_SETUP	CRA(0x5,0x0,0x1A)	/* Debug counters setup */#define REG_SPI4_TEST		CRA(0x5,0x0,0x20)	/* Test Setup Register */#define REG_TPGEN_UP0		CRA(0x5,0x0,0x21)	/* Test Pattern generator user pattern 0 */#define REG_TPGEN_UP1		CRA(0x5,0x0,0x22)	/* Test Pattern generator user pattern 1 */#define REG_TPCHK_UP0		CRA(0x5,0x0,0x23)	/* Test Pattern checker user pattern 0 */#define REG_TPCHK_UP1		CRA(0x5,0x0,0x24)	/* Test Pattern checker user pattern 1 */#define REG_TPSAM_P0		CRA(0x5,0x0,0x25)	/* Sampled pattern 0 */#define REG_TPSAM_P1		CRA(0x5,0x0,0x26)	/* Sampled pattern 1 */#define REG_TPERR_CNT		CRA(0x5,0x0,0x27)	/* Pattern checker error counter */#define REG_SPI4_STICKY		CRA(0x5,0x0,0x30)	/* Sticky bits register */#define REG_SPI4_DBG_INH	CRA(0x5,0x0,0x31)	/* Core egress & ingress inhibit */#define REG_SPI4_DBG_STATUS	CRA(0x5,0x0,0x32)	/* Sampled ingress status */#define REG_SPI4_DBG_GRANT	CRA(0x5,0x0,0x33)	/* Ingress cranted credit value */#define REG_SPI4_DESKEW 	CRA(0x5,0x0,0x43)	/* Ingress cranted credit value *//* 10GbE MAC Block Registers *//* Note that those registers that are exactly the same for 10GbE as for * tri-speed are only defined with the version that needs a port number. * Pass 0xa in those cases. * * Also note that despite the presence of a MAC address register, this part * does no ingress MAC address filtering.  That register is used only for * pause frame detection and generation. *//* 10GbE specific, and different from tri-speed */#define REG_MISC_10G		CRA(0x1,0xa,0x00)	/* Misc 10GbE setup */#define REG_PAUSE_10G		CRA(0x1,0xa,0x01)	/* Pause register */#define REG_NORMALIZER_10G	CRA(0x1,0xa,0x05)	/* 10G normalizer */#define REG_STICKY_RX		CRA(0x1,0xa,0x06)	/* RX debug register */#define REG_DENORM_10G		CRA(0x1,0xa,0x07)	/* Denormalizer  */#define REG_STICKY_TX		CRA(0x1,0xa,0x08)	/* TX sticky bits */#define REG_MAX_RXHIGH		CRA(0x1,0xa,0x0a)	/* XGMII lane 0-3 debug */#define REG_MAX_RXLOW		CRA(0x1,0xa,0x0b)	/* XGMII lane 4-7 debug */#define REG_MAC_TX_STICKY	CRA(0x1,0xa,0x0c)	/* MAC Tx state sticky debug */#define REG_MAC_TX_RUNNING	CRA(0x1,0xa,0x0d)	/* MAC Tx state running debug */

⌨️ 快捷键说明

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