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

📄 sb1250_mac.h

📁 linux-2.4.29操作系统的源码
💻 H
📖 第 1 页 / 共 2 页
字号:
/*  *********************************************************************    *  SB1250 Board Support Package    *      *  MAC constants and macros			File: sb1250_mac.h    *      *  This module contains constants and macros for the SB1250's    *  ethernet controllers.    *      *  SB1250 specification level:  User's manual 1/02/02    *      *  Author:  Mitch Lichtenberg    *      *********************************************************************      *    *  Copyright 2000,2001,2002,2003    *  Broadcom Corporation. All rights reserved.    *      *  This program is free software; you can redistribute it and/or     *  modify it under the terms of the GNU General Public License as     *  published by the Free Software Foundation; either version 2 of     *  the License, or (at your option) any later version.    *    *  This program is distributed in the hope that it will be useful,    *  but WITHOUT ANY WARRANTY; without even the implied warranty of    *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the    *  GNU General Public License for more details.    *    *  You should have received a copy of the GNU General Public License    *  along with this program; if not, write to the Free Software    *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,     *  MA 02111-1307 USA    ********************************************************************* */#ifndef _SB1250_MAC_H#define _SB1250_MAC_H#include "sb1250_defs.h"/*  *********************************************************************    *  Ethernet MAC Registers    ********************************************************************* *//* * MAC Configuration Register (Table 9-13) * Register: MAC_CFG_0 * Register: MAC_CFG_1 * Register: MAC_CFG_2 */#define M_MAC_RESERVED0             _SB_MAKEMASK1(0)#define M_MAC_TX_HOLD_SOP_EN        _SB_MAKEMASK1(1)#define M_MAC_RETRY_EN              _SB_MAKEMASK1(2)#define M_MAC_RET_DRPREQ_EN         _SB_MAKEMASK1(3)#define M_MAC_RET_UFL_EN            _SB_MAKEMASK1(4)#define M_MAC_BURST_EN              _SB_MAKEMASK1(5)#define S_MAC_TX_PAUSE              _SB_MAKE64(6)#define M_MAC_TX_PAUSE_CNT          _SB_MAKEMASK(3,S_MAC_TX_PAUSE)#define V_MAC_TX_PAUSE_CNT(x)       _SB_MAKEVALUE(x,S_MAC_TX_PAUSE)#define K_MAC_TX_PAUSE_CNT_512      0#define K_MAC_TX_PAUSE_CNT_1K       1#define K_MAC_TX_PAUSE_CNT_2K       2#define K_MAC_TX_PAUSE_CNT_4K       3#define K_MAC_TX_PAUSE_CNT_8K       4#define K_MAC_TX_PAUSE_CNT_16K      5#define K_MAC_TX_PAUSE_CNT_32K      6#define K_MAC_TX_PAUSE_CNT_64K      7#define V_MAC_TX_PAUSE_CNT_512      V_MAC_TX_PAUSE_CNT(K_MAC_TX_PAUSE_CNT_512)#define V_MAC_TX_PAUSE_CNT_1K       V_MAC_TX_PAUSE_CNT(K_MAC_TX_PAUSE_CNT_1K)#define V_MAC_TX_PAUSE_CNT_2K       V_MAC_TX_PAUSE_CNT(K_MAC_TX_PAUSE_CNT_2K)#define V_MAC_TX_PAUSE_CNT_4K       V_MAC_TX_PAUSE_CNT(K_MAC_TX_PAUSE_CNT_4K)#define V_MAC_TX_PAUSE_CNT_8K       V_MAC_TX_PAUSE_CNT(K_MAC_TX_PAUSE_CNT_8K)#define V_MAC_TX_PAUSE_CNT_16K      V_MAC_TX_PAUSE_CNT(K_MAC_TX_PAUSE_CNT_16K)#define V_MAC_TX_PAUSE_CNT_32K      V_MAC_TX_PAUSE_CNT(K_MAC_TX_PAUSE_CNT_32K)#define V_MAC_TX_PAUSE_CNT_64K      V_MAC_TX_PAUSE_CNT(K_MAC_TX_PAUSE_CNT_64K)#define M_MAC_RESERVED1             _SB_MAKEMASK(8,9)#define M_MAC_AP_STAT_EN            _SB_MAKEMASK1(17)#define M_MAC_RESERVED2		    _SB_MAKEMASK1(18)#define M_MAC_DRP_ERRPKT_EN         _SB_MAKEMASK1(19)#define M_MAC_DRP_FCSERRPKT_EN      _SB_MAKEMASK1(20)#define M_MAC_DRP_CODEERRPKT_EN     _SB_MAKEMASK1(21)#define M_MAC_DRP_DRBLERRPKT_EN     _SB_MAKEMASK1(22)#define M_MAC_DRP_RNTPKT_EN         _SB_MAKEMASK1(23)#define M_MAC_DRP_OSZPKT_EN         _SB_MAKEMASK1(24)#define M_MAC_DRP_LENERRPKT_EN      _SB_MAKEMASK1(25)#define M_MAC_RESERVED3             _SB_MAKEMASK(6,26)#define M_MAC_BYPASS_SEL            _SB_MAKEMASK1(32)#define M_MAC_HDX_EN                _SB_MAKEMASK1(33)#define S_MAC_SPEED_SEL             _SB_MAKE64(34)#define M_MAC_SPEED_SEL             _SB_MAKEMASK(2,S_MAC_SPEED_SEL)#define V_MAC_SPEED_SEL(x)	    _SB_MAKEVALUE(x,S_MAC_SPEED_SEL)#define G_MAC_SPEED_SEL(x)	    _SB_GETVALUE(x,S_MAC_SPEED_SEL,M_MAC_SPEED_SEL)#define K_MAC_SPEED_SEL_10MBPS      0#define K_MAC_SPEED_SEL_100MBPS     1#define K_MAC_SPEED_SEL_1000MBPS    2#define K_MAC_SPEED_SEL_RESERVED    3#define V_MAC_SPEED_SEL_10MBPS      V_MAC_SPEED_SEL(K_MAC_SPEED_SEL_10MBPS)#define V_MAC_SPEED_SEL_100MBPS     V_MAC_SPEED_SEL(K_MAC_SPEED_SEL_100MBPS)#define V_MAC_SPEED_SEL_1000MBPS    V_MAC_SPEED_SEL(K_MAC_SPEED_SEL_1000MBPS)#define V_MAC_SPEED_SEL_RESERVED    V_MAC_SPEED_SEL(K_MAC_SPEED_SEL_RESERVED)#define M_MAC_TX_CLK_EDGE_SEL       _SB_MAKEMASK1(36)#define M_MAC_LOOPBACK_SEL          _SB_MAKEMASK1(37)#define M_MAC_FAST_SYNC             _SB_MAKEMASK1(38)#define M_MAC_SS_EN                 _SB_MAKEMASK1(39)#define S_MAC_BYPASS_CFG	    _SB_MAKE64(40)#define M_MAC_BYPASS_CFG            _SB_MAKEMASK(2,S_MAC_BYPASS_CFG)#define V_MAC_BYPASS_CFG(x)         _SB_MAKEVALUE(x,S_MAC_BYPASS_CFG)#define G_MAC_BYPASS_CFG(x)         _SB_GETVALUE(x,S_MAC_BYPASS_CFG,M_MAC_BYPASS_CFG)#define K_MAC_BYPASS_GMII	    0#define K_MAC_BYPASS_ENCODED        1#define K_MAC_BYPASS_SOP            2#define K_MAC_BYPASS_EOP            3#define M_MAC_BYPASS_16             _SB_MAKEMASK1(42)#define M_MAC_BYPASS_FCS_CHK	    _SB_MAKEMASK1(43)#if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1)#define M_MAC_RX_CH_SEL_MSB	    _SB_MAKEMASK1(44)#endif /* 1250 PASS2 || 112x PASS1 */#if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1)#define M_MAC_SPLIT_CH_SEL	    _SB_MAKEMASK1(45)#endif /* 1250 PASS3 || 112x PASS1 */#define S_MAC_BYPASS_IFG            _SB_MAKE64(46)#define M_MAC_BYPASS_IFG            _SB_MAKEMASK(8,S_MAC_BYPASS_IFG)#define V_MAC_BYPASS_IFG(x)	    _SB_MAKEVALUE(x,S_MAC_BYPASS_IFG)#define G_MAC_BYPASS_IFG(x)	    _SB_GETVALUE(x,S_MAC_BYPASS_IFG,M_MAC_BYPASS_IFG)#define K_MAC_FC_CMD_DISABLED       0#define K_MAC_FC_CMD_ENABLED        1#define K_MAC_FC_CMD_ENAB_FALSECARR 2#define V_MAC_FC_CMD_DISABLED       V_MAC_FC_CMD(K_MAC_FC_CMD_DISABLED)#define V_MAC_FC_CMD_ENABLED        V_MAC_FC_CMD(K_MAC_FC_CMD_ENABLED)#define V_MAC_FC_CMD_ENAB_FALSECARR V_MAC_FC_CMD(K_MAC_FC_CMD_ENAB_FALSECARR)#define M_MAC_FC_SEL                _SB_MAKEMASK1(54)#define S_MAC_FC_CMD                _SB_MAKE64(55)#define M_MAC_FC_CMD                _SB_MAKEMASK(2,S_MAC_FC_CMD)#define V_MAC_FC_CMD(x)	            _SB_MAKEVALUE(x,S_MAC_FC_CMD)#define G_MAC_FC_CMD(x)	            _SB_GETVALUE(x,S_MAC_FC_CMD,M_MAC_FC_CMD)#define S_MAC_RX_CH_SEL             _SB_MAKE64(57)#define M_MAC_RX_CH_SEL             _SB_MAKEMASK(7,S_MAC_RX_CH_SEL)#define V_MAC_RX_CH_SEL(x)          _SB_MAKEVALUE(x,S_MAC_RX_CH_SEL)#define G_MAC_RX_CH_SEL(x)          _SB_GETVALUE(x,S_MAC_RX_CH_SEL,M_MAC_RX_CH_SEL)/* * MAC Enable Registers * Register: MAC_ENABLE_0 * Register: MAC_ENABLE_1 * Register: MAC_ENABLE_2 */#define M_MAC_RXDMA_EN0	            _SB_MAKEMASK1(0)#define M_MAC_RXDMA_EN1	            _SB_MAKEMASK1(1)#define M_MAC_TXDMA_EN0	            _SB_MAKEMASK1(4)#define M_MAC_TXDMA_EN1	            _SB_MAKEMASK1(5)#define M_MAC_PORT_RESET            _SB_MAKEMASK1(8)#define M_MAC_RX_ENABLE             _SB_MAKEMASK1(10)#define M_MAC_TX_ENABLE             _SB_MAKEMASK1(11)#define M_MAC_BYP_RX_ENABLE         _SB_MAKEMASK1(12)#define M_MAC_BYP_TX_ENABLE         _SB_MAKEMASK1(13)/* * MAC DMA Control Register * Register: MAC_TXD_CTL_0 * Register: MAC_TXD_CTL_1 * Register: MAC_TXD_CTL_2 */#define S_MAC_TXD_WEIGHT0	    _SB_MAKE64(0)#define M_MAC_TXD_WEIGHT0	    _SB_MAKEMASK(4,S_MAC_TXD_WEIGHT0)#define V_MAC_TXD_WEIGHT0(x)        _SB_MAKEVALUE(x,S_MAC_TXD_WEIGHT0)#define G_MAC_TXD_WEIGHT0(x)        _SB_GETVALUE(x,S_MAC_TXD_WEIGHT0,M_MAC_TXD_WEIGHT0)#define S_MAC_TXD_WEIGHT1	    _SB_MAKE64(4)#define M_MAC_TXD_WEIGHT1	    _SB_MAKEMASK(4,S_MAC_TXD_WEIGHT1)#define V_MAC_TXD_WEIGHT1(x)        _SB_MAKEVALUE(x,S_MAC_TXD_WEIGHT1)#define G_MAC_TXD_WEIGHT1(x)        _SB_GETVALUE(x,S_MAC_TXD_WEIGHT1,M_MAC_TXD_WEIGHT1)/* * MAC Fifo Threshhold registers (Table 9-14) * Register: MAC_THRSH_CFG_0 * Register: MAC_THRSH_CFG_1 * Register: MAC_THRSH_CFG_2 */#define S_MAC_TX_WR_THRSH           _SB_MAKE64(0)#if SIBYTE_HDR_FEATURE_UP_TO(1250, PASS1)/* XXX: Can't enable, as it has the same name as a pass2+ define below.  *//* #define M_MAC_TX_WR_THRSH           _SB_MAKEMASK(6,S_MAC_TX_WR_THRSH) */#endif /* up to 1250 PASS1 */#if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1)#define M_MAC_TX_WR_THRSH           _SB_MAKEMASK(7,S_MAC_TX_WR_THRSH)#endif /* 1250 PASS2 || 112x PASS1 */#define V_MAC_TX_WR_THRSH(x)        _SB_MAKEVALUE(x,S_MAC_TX_WR_THRSH)#define G_MAC_TX_WR_THRSH(x)        _SB_GETVALUE(x,S_MAC_TX_WR_THRSH,M_MAC_TX_WR_THRSH)#define S_MAC_TX_RD_THRSH           _SB_MAKE64(8)#if SIBYTE_HDR_FEATURE_UP_TO(1250, PASS1)/* XXX: Can't enable, as it has the same name as a pass2+ define below.  *//* #define M_MAC_TX_RD_THRSH           _SB_MAKEMASK(6,S_MAC_TX_RD_THRSH) */#endif /* up to 1250 PASS1 */#if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1)#define M_MAC_TX_RD_THRSH           _SB_MAKEMASK(7,S_MAC_TX_RD_THRSH)#endif /* 1250 PASS2 || 112x PASS1 */#define V_MAC_TX_RD_THRSH(x)        _SB_MAKEVALUE(x,S_MAC_TX_RD_THRSH)#define G_MAC_TX_RD_THRSH(x)        _SB_GETVALUE(x,S_MAC_TX_RD_THRSH,M_MAC_TX_RD_THRSH)#define S_MAC_TX_RL_THRSH           _SB_MAKE64(16)#define M_MAC_TX_RL_THRSH           _SB_MAKEMASK(4,S_MAC_TX_RL_THRSH)#define V_MAC_TX_RL_THRSH(x)        _SB_MAKEVALUE(x,S_MAC_TX_RL_THRSH)#define G_MAC_TX_RL_THRSH(x)        _SB_GETVALUE(x,S_MAC_TX_RL_THRSH,M_MAC_TX_RL_THRSH)#define S_MAC_RX_PL_THRSH           _SB_MAKE64(24)#define M_MAC_RX_PL_THRSH           _SB_MAKEMASK(6,S_MAC_RX_PL_THRSH)#define V_MAC_RX_PL_THRSH(x)        _SB_MAKEVALUE(x,S_MAC_RX_PL_THRSH)#define G_MAC_RX_PL_THRSH(x)        _SB_GETVALUE(x,S_MAC_RX_PL_THRSH,M_MAC_RX_PL_THRSH)#define S_MAC_RX_RD_THRSH           _SB_MAKE64(32)#define M_MAC_RX_RD_THRSH           _SB_MAKEMASK(6,S_MAC_RX_RD_THRSH)#define V_MAC_RX_RD_THRSH(x)        _SB_MAKEVALUE(x,S_MAC_RX_RD_THRSH)#define G_MAC_RX_RD_THRSH(x)        _SB_GETVALUE(x,S_MAC_RX_RD_THRSH,M_MAC_RX_RD_THRSH)#define S_MAC_RX_RL_THRSH           _SB_MAKE64(40)#define M_MAC_RX_RL_THRSH           _SB_MAKEMASK(6,S_MAC_RX_RL_THRSH)#define V_MAC_RX_RL_THRSH(x)        _SB_MAKEVALUE(x,S_MAC_RX_RL_THRSH)#define G_MAC_RX_RL_THRSH(x)        _SB_GETVALUE(x,S_MAC_RX_RL_THRSH,M_MAC_RX_RL_THRSH)#if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1)#define S_MAC_ENC_FC_THRSH           _SB_MAKE64(56)#define M_MAC_ENC_FC_THRSH           _SB_MAKEMASK(6,S_MAC_ENC_FC_THRSH)#define V_MAC_ENC_FC_THRSH(x)        _SB_MAKEVALUE(x,S_MAC_ENC_FC_THRSH)#define G_MAC_ENC_FC_THRSH(x)        _SB_GETVALUE(x,S_MAC_ENC_FC_THRSH,M_MAC_ENC_FC_THRSH)#endif /* 1250 PASS2 || 112x PASS1 *//* * MAC Frame Configuration Registers (Table 9-15) * Register: MAC_FRAME_CFG_0 * Register: MAC_FRAME_CFG_1 * Register: MAC_FRAME_CFG_2 *//* XXXCGD: ??? Unused in pass2? */#define S_MAC_IFG_RX                _SB_MAKE64(0)#define M_MAC_IFG_RX                _SB_MAKEMASK(6,S_MAC_IFG_RX)#define V_MAC_IFG_RX(x)             _SB_MAKEVALUE(x,S_MAC_IFG_RX)#define G_MAC_IFG_RX(x)             _SB_GETVALUE(x,S_MAC_IFG_RX,M_MAC_IFG_RX)#if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1)#define S_MAC_PRE_LEN               _SB_MAKE64(0)#define M_MAC_PRE_LEN               _SB_MAKEMASK(6,S_MAC_PRE_LEN)#define V_MAC_PRE_LEN(x)            _SB_MAKEVALUE(x,S_MAC_PRE_LEN)#define G_MAC_PRE_LEN(x)            _SB_GETVALUE(x,S_MAC_PRE_LEN,M_MAC_PRE_LEN)#endif /* 1250 PASS3 || 112x PASS1 */#define S_MAC_IFG_TX                _SB_MAKE64(6)#define M_MAC_IFG_TX                _SB_MAKEMASK(6,S_MAC_IFG_TX)#define V_MAC_IFG_TX(x)             _SB_MAKEVALUE(x,S_MAC_IFG_TX)#define G_MAC_IFG_TX(x)             _SB_GETVALUE(x,S_MAC_IFG_TX,M_MAC_IFG_TX)#define S_MAC_IFG_THRSH             _SB_MAKE64(12)#define M_MAC_IFG_THRSH             _SB_MAKEMASK(6,S_MAC_IFG_THRSH)#define V_MAC_IFG_THRSH(x)          _SB_MAKEVALUE(x,S_MAC_IFG_THRSH)#define G_MAC_IFG_THRSH(x)          _SB_GETVALUE(x,S_MAC_IFG_THRSH,M_MAC_IFG_THRSH)#define S_MAC_BACKOFF_SEL           _SB_MAKE64(18)#define M_MAC_BACKOFF_SEL           _SB_MAKEMASK(4,S_MAC_BACKOFF_SEL)#define V_MAC_BACKOFF_SEL(x)        _SB_MAKEVALUE(x,S_MAC_BACKOFF_SEL)#define G_MAC_BACKOFF_SEL(x)        _SB_GETVALUE(x,S_MAC_BACKOFF_SEL,M_MAC_BACKOFF_SEL)#define S_MAC_LFSR_SEED             _SB_MAKE64(22)#define M_MAC_LFSR_SEED             _SB_MAKEMASK(8,S_MAC_LFSR_SEED)#define V_MAC_LFSR_SEED(x)          _SB_MAKEVALUE(x,S_MAC_LFSR_SEED)#define G_MAC_LFSR_SEED(x)          _SB_GETVALUE(x,S_MAC_LFSR_SEED,M_MAC_LFSR_SEED)#define S_MAC_SLOT_SIZE             _SB_MAKE64(30)#define M_MAC_SLOT_SIZE             _SB_MAKEMASK(10,S_MAC_SLOT_SIZE)#define V_MAC_SLOT_SIZE(x)          _SB_MAKEVALUE(x,S_MAC_SLOT_SIZE)#define G_MAC_SLOT_SIZE(x)          _SB_GETVALUE(x,S_MAC_SLOT_SIZE,M_MAC_SLOT_SIZE)#define S_MAC_MIN_FRAMESZ           _SB_MAKE64(40)#define M_MAC_MIN_FRAMESZ           _SB_MAKEMASK(8,S_MAC_MIN_FRAMESZ)#define V_MAC_MIN_FRAMESZ(x)        _SB_MAKEVALUE(x,S_MAC_MIN_FRAMESZ)#define G_MAC_MIN_FRAMESZ(x)        _SB_GETVALUE(x,S_MAC_MIN_FRAMESZ,M_MAC_MIN_FRAMESZ)#define S_MAC_MAX_FRAMESZ           _SB_MAKE64(48)#define M_MAC_MAX_FRAMESZ           _SB_MAKEMASK(16,S_MAC_MAX_FRAMESZ)#define V_MAC_MAX_FRAMESZ(x)        _SB_MAKEVALUE(x,S_MAC_MAX_FRAMESZ)#define G_MAC_MAX_FRAMESZ(x)        _SB_GETVALUE(x,S_MAC_MAX_FRAMESZ,M_MAC_MAX_FRAMESZ)/* * These constants are used to configure the fields within the Frame * Configuration Register.   */#define K_MAC_IFG_RX_10             _SB_MAKE64(0)	/* See table 176, not used */#define K_MAC_IFG_RX_100            _SB_MAKE64(0)#define K_MAC_IFG_RX_1000           _SB_MAKE64(0)#define K_MAC_IFG_TX_10             _SB_MAKE64(20)#define K_MAC_IFG_TX_100            _SB_MAKE64(20)

⌨️ 快捷键说明

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