1/* SPDX-License-Identifier: GPL-2.0-only */
2#ifndef __UNIMAC_H
3#define __UNIMAC_H
4
5#define UMAC_HD_BKP_CTRL 0x004
6#define HD_FC_EN (1 << 0)
7#define HD_FC_BKOFF_OK (1 << 1)
8#define IPG_CONFIG_RX_SHIFT 2
9#define IPG_CONFIG_RX_MASK 0x1F
10#define UMAC_CMD 0x008
11#define CMD_TX_EN (1 << 0)
12#define CMD_RX_EN (1 << 1)
13#define CMD_SPEED_10 0
14#define CMD_SPEED_100 1
15#define CMD_SPEED_1000 2
16#define CMD_SPEED_2500 3
17#define CMD_SPEED_SHIFT 2
18#define CMD_SPEED_MASK 3
19#define CMD_PROMISC (1 << 4)
20#define CMD_PAD_EN (1 << 5)
21#define CMD_CRC_FWD (1 << 6)
22#define CMD_PAUSE_FWD (1 << 7)
23#define CMD_RX_PAUSE_IGNORE (1 << 8)
24#define CMD_TX_ADDR_INS (1 << 9)
25#define CMD_HD_EN (1 << 10)
26#define CMD_SW_RESET_OLD (1 << 11)
27#define CMD_SW_RESET (1 << 13)
28#define CMD_LCL_LOOP_EN (1 << 15)
29#define CMD_AUTO_CONFIG (1 << 22)
30#define CMD_CNTL_FRM_EN (1 << 23)
31#define CMD_NO_LEN_CHK (1 << 24)
32#define CMD_RMT_LOOP_EN (1 << 25)
33#define CMD_RX_ERR_DISC (1 << 26)
34#define CMD_PRBL_EN (1 << 27)
35#define CMD_TX_PAUSE_IGNORE (1 << 28)
36#define CMD_TX_RX_EN (1 << 29)
37#define CMD_RUNT_FILTER_DIS (1 << 30)
38#define UMAC_MAC0 0x00c
39#define UMAC_MAC1 0x010
40#define UMAC_MAX_FRAME_LEN 0x014
41#define UMAC_PAUSE_QUANTA 0x018
42#define UMAC_MODE 0x044
43#define MODE_LINK_STATUS (1 << 5)
44#define UMAC_FRM_TAG0 0x048 /* outer tag */
45#define UMAC_FRM_TAG1 0x04c /* inner tag */
46#define UMAC_TX_IPG_LEN 0x05c
47#define UMAC_EEE_CTRL 0x064
48#define EN_LPI_RX_PAUSE (1 << 0)
49#define EN_LPI_TX_PFC (1 << 1)
50#define EN_LPI_TX_PAUSE (1 << 2)
51#define EEE_EN (1 << 3)
52#define RX_FIFO_CHECK (1 << 4)
53#define EEE_TX_CLK_DIS (1 << 5)
54#define DIS_EEE_10M (1 << 6)
55#define LP_IDLE_PREDICTION_MODE (1 << 7)
56#define UMAC_EEE_LPI_TIMER 0x068
57#define UMAC_EEE_WAKE_TIMER 0x06C
58#define UMAC_EEE_REF_COUNT 0x070
59#define EEE_REFERENCE_COUNT_MASK 0xffff
60#define UMAC_RX_IPG_INV 0x078
61#define UMAC_MACSEC_PROG_TX_CRC 0x310
62#define UMAC_MACSEC_CTRL 0x314
63#define UMAC_PAUSE_CTRL 0x330
64#define UMAC_TX_FLUSH 0x334
65#define UMAC_RX_FIFO_STATUS 0x338
66#define UMAC_TX_FIFO_STATUS 0x33c
67
68#endif
69

source code of linux/drivers/net/ethernet/broadcom/unimac.h