cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

bcm4908_enet.h (4604B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2#ifndef __BCM4908_ENET_H
      3#define __BCM4908_ENET_H
      4
      5#define ENET_CONTROL					0x000
      6#define ENET_MIB_CTRL					0x004
      7#define  ENET_MIB_CTRL_CLR_MIB				0x00000001
      8#define ENET_RX_ERR_MASK				0x008
      9#define ENET_MIB_MAX_PKT_SIZE				0x00C
     10#define  ENET_MIB_MAX_PKT_SIZE_VAL			0x00003fff
     11#define ENET_DIAG_OUT					0x01c
     12#define ENET_ENABLE_DROP_PKT				0x020
     13#define ENET_IRQ_ENABLE					0x024
     14#define  ENET_IRQ_ENABLE_OVFL				0x00000001
     15#define ENET_GMAC_STATUS				0x028
     16#define  ENET_GMAC_STATUS_ETH_SPEED_MASK		0x00000003
     17#define  ENET_GMAC_STATUS_ETH_SPEED_10			0x00000000
     18#define  ENET_GMAC_STATUS_ETH_SPEED_100			0x00000001
     19#define  ENET_GMAC_STATUS_ETH_SPEED_1000		0x00000002
     20#define  ENET_GMAC_STATUS_HD				0x00000004
     21#define  ENET_GMAC_STATUS_AUTO_CFG_EN			0x00000008
     22#define  ENET_GMAC_STATUS_LINK_UP			0x00000010
     23#define ENET_IRQ_STATUS					0x02c
     24#define  ENET_IRQ_STATUS_OVFL				0x00000001
     25#define ENET_OVERFLOW_COUNTER				0x030
     26#define ENET_FLUSH					0x034
     27#define  ENET_FLUSH_RXFIFO_FLUSH			0x00000001
     28#define  ENET_FLUSH_TXFIFO_FLUSH			0x00000002
     29#define ENET_RSV_SELECT					0x038
     30#define ENET_BP_FORCE					0x03c
     31#define  ENET_BP_FORCE_FORCE				0x00000001
     32#define ENET_DMA_RX_OK_TO_SEND_COUNT			0x040
     33#define  ENET_DMA_RX_OK_TO_SEND_COUNT_VAL		0x0000000f
     34#define ENET_TX_CRC_CTRL				0x044
     35#define ENET_MIB					0x200
     36#define ENET_UNIMAC					0x400
     37#define ENET_DMA					0x800
     38#define ENET_DMA_CONTROLLER_CFG				0x800
     39#define  ENET_DMA_CTRL_CFG_MASTER_EN			0x00000001
     40#define  ENET_DMA_CTRL_CFG_FLOWC_CH1_EN			0x00000002
     41#define  ENET_DMA_CTRL_CFG_FLOWC_CH3_EN			0x00000004
     42#define ENET_DMA_FLOWCTL_CH1_THRESH_LO			0x804
     43#define ENET_DMA_FLOWCTL_CH1_THRESH_HI			0x808
     44#define ENET_DMA_FLOWCTL_CH1_ALLOC			0x80c
     45#define  ENET_DMA_FLOWCTL_CH1_ALLOC_FORCE		0x80000000
     46#define ENET_DMA_FLOWCTL_CH3_THRESH_LO			0x810
     47#define ENET_DMA_FLOWCTL_CH3_THRESH_HI			0x814
     48#define ENET_DMA_FLOWCTL_CH3_ALLOC			0x818
     49#define ENET_DMA_FLOWCTL_CH5_THRESH_LO			0x81C
     50#define ENET_DMA_FLOWCTL_CH5_THRESH_HI			0x820
     51#define ENET_DMA_FLOWCTL_CH5_ALLOC			0x824
     52#define ENET_DMA_FLOWCTL_CH7_THRESH_LO			0x828
     53#define ENET_DMA_FLOWCTL_CH7_THRESH_HI			0x82C
     54#define ENET_DMA_FLOWCTL_CH7_ALLOC			0x830
     55#define ENET_DMA_CTRL_CHANNEL_RESET			0x834
     56#define ENET_DMA_CTRL_CHANNEL_DEBUG			0x838
     57#define ENET_DMA_CTRL_GLOBAL_INTERRUPT_STATUS		0x840
     58#define ENET_DMA_CTRL_GLOBAL_INTERRUPT_MASK		0x844
     59#define ENET_DMA_CH0_CFG				0xa00		/* RX */
     60#define ENET_DMA_CH1_CFG				0xa10		/* TX */
     61#define ENET_DMA_CH0_STATE_RAM				0xc00		/* RX */
     62#define ENET_DMA_CH1_STATE_RAM				0xc10		/* TX */
     63
     64#define ENET_DMA_CH_CFG					0x00		/* assorted configuration */
     65#define  ENET_DMA_CH_CFG_ENABLE				0x00000001	/* set to enable channel */
     66#define  ENET_DMA_CH_CFG_PKT_HALT			0x00000002	/* idle after an EOP flag is detected */
     67#define  ENET_DMA_CH_CFG_BURST_HALT			0x00000004	/* idle after finish current memory burst */
     68#define ENET_DMA_CH_CFG_INT_STAT			0x04		/* interrupts control and status */
     69#define ENET_DMA_CH_CFG_INT_MASK			0x08		/* interrupts mask */
     70#define  ENET_DMA_CH_CFG_INT_BUFF_DONE			0x00000001	/* buffer done */
     71#define  ENET_DMA_CH_CFG_INT_DONE			0x00000002	/* packet xfer complete */
     72#define  ENET_DMA_CH_CFG_INT_NO_DESC			0x00000004	/* no valid descriptors */
     73#define  ENET_DMA_CH_CFG_INT_RX_ERROR			0x00000008	/* rxdma detect client protocol error */
     74#define ENET_DMA_CH_CFG_MAX_BURST			0x0c		/* max burst length permitted */
     75#define  ENET_DMA_CH_CFG_MAX_BURST_DESCSIZE_SEL		0x00040000	/* DMA Descriptor Size Selection */
     76#define ENET_DMA_CH_CFG_SIZE				0x10
     77
     78#define ENET_DMA_CH_STATE_RAM_BASE_DESC_PTR		0x00		/* descriptor ring start address */
     79#define ENET_DMA_CH_STATE_RAM_STATE_DATA		0x04		/* state/bytes done/ring offset */
     80#define ENET_DMA_CH_STATE_RAM_DESC_LEN_STATUS		0x08		/* buffer descriptor status and len */
     81#define ENET_DMA_CH_STATE_RAM_DESC_BASE_BUFPTR		0x0c		/* buffer descrpitor current processing */
     82#define ENET_DMA_CH_STATE_RAM_SIZE			0x10
     83
     84#define DMA_CTL_STATUS_APPEND_CRC			0x00000100
     85#define DMA_CTL_STATUS_APPEND_BRCM_TAG			0x00000200
     86#define DMA_CTL_STATUS_PRIO				0x00000C00  /* Prio for Tx */
     87#define DMA_CTL_STATUS_WRAP				0x00001000  /* */
     88#define DMA_CTL_STATUS_SOP				0x00002000  /* first buffer in packet */
     89#define DMA_CTL_STATUS_EOP				0x00004000  /* last buffer in packet */
     90#define DMA_CTL_STATUS_OWN				0x00008000  /* cleared by DMA, set by SW */
     91#define DMA_CTL_LEN_DESC_BUFLENGTH			0x0fff0000
     92#define DMA_CTL_LEN_DESC_BUFLENGTH_SHIFT		16
     93#define DMA_CTL_LEN_DESC_MULTICAST			0x40000000
     94#define DMA_CTL_LEN_DESC_USEFPM				0x80000000
     95
     96#endif