arch/mips/include/asm/sibyte/sb1250_mac.h

Source file repositories/reference/linux-study-clean/arch/mips/include/asm/sibyte/sb1250_mac.h

File Facts

System
Linux kernel
Corpus path
arch/mips/include/asm/sibyte/sb1250_mac.h
Extension
.h
Size
26309 bytes
Lines
644
Domain
Architecture Layer
Bucket
arch/mips
Inferred role
Architecture Layer: implementation source
Status
source implementation candidate

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef _SB1250_MAC_H
#define _SB1250_MAC_H

#include <asm/sibyte/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)

#if SIBYTE_HDR_FEATURE_CHIP(1480)
#define M_MAC_TIMESTAMP		    _SB_MAKEMASK1(18)
#endif
#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)

Annotation

Implementation Notes