GNU Linux-libre 5.19-rc6-gnu
[releases.git] / drivers / net / ethernet / broadcom / unimac.h
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