/* SPDX-License-Identifier: GPL-2.0-only */ #ifndef __UNIMAC_H #define __UNIMAC_H #define UMAC_HD_BKP_CTRL 0x004 #define HD_FC_EN (1 << 0) #define HD_FC_BKOFF_OK (1 << 1) #define IPG_CONFIG_RX_SHIFT 2 #define IPG_CONFIG_RX_MASK 0x1F #define UMAC_CMD 0x008 #define CMD_TX_EN (1 << 0) #define CMD_RX_EN (1 << 1) #define CMD_SPEED_10 0 #define CMD_SPEED_100 1 #define CMD_SPEED_1000 2 #define CMD_SPEED_2500 3 #define CMD_SPEED_SHIFT 2 #define CMD_SPEED_MASK 3 #define CMD_PROMISC (1 << 4) #define CMD_PAD_EN (1 << 5) #define CMD_CRC_FWD (1 << 6) #define CMD_PAUSE_FWD (1 << 7) #define CMD_RX_PAUSE_IGNORE (1 << 8) #define CMD_TX_ADDR_INS (1 << 9) #define CMD_HD_EN (1 << 10) #define CMD_SW_RESET_OLD (1 << 11) #define CMD_SW_RESET (1 << 13) #define CMD_LCL_LOOP_EN (1 << 15) #define CMD_AUTO_CONFIG (1 << 22) #define CMD_CNTL_FRM_EN (1 << 23) #define CMD_NO_LEN_CHK (1 << 24) #define CMD_RMT_LOOP_EN (1 << 25) #define CMD_RX_ERR_DISC (1 << 26) #define CMD_PRBL_EN (1 << 27) #define CMD_TX_PAUSE_IGNORE (1 << 28) #define CMD_TX_RX_EN (1 << 29) #define CMD_RUNT_FILTER_DIS (1 << 30) #define UMAC_MAC0 0x00c #define UMAC_MAC1 0x010 #define UMAC_MAX_FRAME_LEN 0x014 #define UMAC_PAUSE_QUANTA 0x018 #define UMAC_MODE 0x044 #define MODE_LINK_STATUS (1 << 5) #define UMAC_FRM_TAG0 0x048 /* outer tag */ #define UMAC_FRM_TAG1 0x04c /* inner tag */ #define UMAC_TX_IPG_LEN 0x05c #define UMAC_EEE_CTRL 0x064 #define EN_LPI_RX_PAUSE (1 << 0) #define EN_LPI_TX_PFC (1 << 1) #define EN_LPI_TX_PAUSE (1 << 2) #define EEE_EN (1 << 3) #define RX_FIFO_CHECK (1 << 4) #define EEE_TX_CLK_DIS (1 << 5) #define DIS_EEE_10M (1 << 6) #define LP_IDLE_PREDICTION_MODE (1 << 7) #define UMAC_EEE_LPI_TIMER 0x068 #define UMAC_EEE_WAKE_TIMER 0x06C #define UMAC_EEE_REF_COUNT 0x070 #define EEE_REFERENCE_COUNT_MASK 0xffff #define UMAC_RX_IPG_INV 0x078 #define UMAC_MACSEC_PROG_TX_CRC 0x310 #define UMAC_MACSEC_CTRL 0x314 #define UMAC_PAUSE_CTRL 0x330 #define UMAC_TX_FLUSH 0x334 #define UMAC_RX_FIFO_STATUS 0x338 #define UMAC_TX_FIFO_STATUS 0x33c #endif