Index: sys/dev/eqos/if_eqos_reg.h =================================================================== --- sys/dev/eqos/if_eqos_reg.h +++ sys/dev/eqos/if_eqos_reg.h @@ -36,42 +36,134 @@ #define _EQOS_REG_H #define GMAC_MAC_CONFIGURATION 0x0000 +#define GMAC_MAC_CONFIGURATION_ARPEN (1U << 31) +#define GMAC_MAC_CONFIGURATION_IPC (1U << 27) +#define GMAC_MAC_CONFIGURATION_IPG_SHIFT 24 +#define GMAC_MAC_CONFIGURATION_IPG_MASK (7U << GMAC_MAC_CONFIGURATION_IPG_SHIFT) +#define GMAC_MAC_CONFIGURATION_IPG_96 (0U << GMAC_MAC_CONFIGURATION_IPG_SHIFT) +#define GMAC_MAC_CONFIGURATION_IPG_88 (1U << GMAC_MAC_CONFIGURATION_IPG_SHIFT) +#define GMAC_MAC_CONFIGURATION_IPG_80 (2U << GMAC_MAC_CONFIGURATION_IPG_SHIFT) +#define GMAC_MAC_CONFIGURATION_IPG_72 (3U << GMAC_MAC_CONFIGURATION_IPG_SHIFT) +#define GMAC_MAC_CONFIGURATION_IPG_64 (4U << GMAC_MAC_CONFIGURATION_IPG_SHIFT) +#define GMAC_MAC_CONFIGURATION_IPG_56 (5U << GMAC_MAC_CONFIGURATION_IPG_SHIFT) +#define GMAC_MAC_CONFIGURATION_IPG_46 (6U << GMAC_MAC_CONFIGURATION_IPG_SHIFT) +#define GMAC_MAC_CONFIGURATION_IPG_40 (7U << GMAC_MAC_CONFIGURATION_IPG_SHIFT) +#define GMAC_MAC_CONFIGURATION_GPSLCE (1U << 23) +#define GMAC_MAC_CONFIGURATION_S2KP (1U << 22) #define GMAC_MAC_CONFIGURATION_CST (1U << 21) #define GMAC_MAC_CONFIGURATION_ACS (1U << 20) +#define GMAC_MAC_CONFIGURATION_WD (1U << 19) #define GMAC_MAC_CONFIGURATION_BE (1U << 18) #define GMAC_MAC_CONFIGURATION_JD (1U << 17) #define GMAC_MAC_CONFIGURATION_JE (1U << 16) #define GMAC_MAC_CONFIGURATION_PS (1U << 15) #define GMAC_MAC_CONFIGURATION_FES (1U << 14) #define GMAC_MAC_CONFIGURATION_DM (1U << 13) +#define GMAC_MAC_CONFIGURATION_LM (1U << 12) +#define GMAC_MAC_CONFIGURATION_ECRSFD (1U << 11) +#define GMAC_MAC_CONFIGURATION_DO (1U << 10) #define GMAC_MAC_CONFIGURATION_DCRS (1U << 9) +#define GMAC_MAC_CONFIGURATION_DR (1U << 8) +#define GMAC_MAC_CONFIGURATION_BL_SHIFT 5 +#define GMAC_MAC_CONFIGURATION_BL_MASK (3U << GMAC_MAC_CONFIGURATION_BL_SHIFT) +#define GMAC_MAC_CONFIGURATION_BL_10 (0U << GMAC_MAC_CONFIGURATION_BL_SHIFT) +#define GMAC_MAC_CONFIGURATION_BL_8 (1U << GMAC_MAC_CONFIGURATION_BL_SHIFT) +#define GMAC_MAC_CONFIGURATION_BL_4 (2U << GMAC_MAC_CONFIGURATION_BL_SHIFT) +#define GMAC_MAC_CONFIGURATION_BL_1 (3U << GMAC_MAC_CONFIGURATION_BL_SHIFT) +#define GMAC_MAC_CONFIGURATION_DC (1U << 4) +#define GMAC_MAC_CONFIGURATION_PRELEN_SHIFT 2 +#define GMAC_MAC_CONFIGURATION_PRELEN_MASK (2U << GMAC_MAC_CONFIGURATION_PRELEN_SHIFT) +#define GMAC_MAC_CONFIGURATION_PRELEN_7 (0U << GMAC_MAC_CONFIGURATION_PRELEN_SHIFT) +#define GMAC_MAC_CONFIGURATION_PRELEN_5 (1U << GMAC_MAC_CONFIGURATION_PRELEN_SHIFT) +#define GMAC_MAC_CONFIGURATION_PRELEN_3 (2U << GMAC_MAC_CONFIGURATION_PRELEN_SHIFT) #define GMAC_MAC_CONFIGURATION_TE (1U << 1) #define GMAC_MAC_CONFIGURATION_RE (1U << 0) #define GMAC_MAC_EXT_CONFIGURATION 0x0004 +#define GMAC_MAC_EXT_CONFIGURATION_EIPG_SHIFT 25 +#define GMAC_MAC_EXT_CONFIGURATION_EIPG_MASK (0x1FU << GMAC_MAC_EXT_CONFIGURATION_EIPG_SHIFT) +#define GMAC_MAC_EXT_CONFIGURATION_EIPG_n (nU << GMAC_MAC_EXT_CONFIGURATION_EIPG_SHIFT) +#define GMAC_MAC_EXT_CONFIGURATION_EIPGEN (1U << 24) +#define GMAC_MAC_EXT_CONFIGURATION_USP (1U << 18) +#define GMAC_MAC_EXT_CONFIGURATION_SPEN (1U << 17) +#define GMAC_MAC_EXT_CONFIGURATION_DCRCC (1U << 16) +#define GMAC_MAC_EXT_CONFIGURATION_GPSL_MASK (0x3FFFU << 0) #define GMAC_MAC_PACKET_FILTER 0x0008 +#define GMAC_MAC_PACKET_FILTER_VTFE (1U << 16) #define GMAC_MAC_PACKET_FILTER_HPF (1U << 10) -#define GMAC_MAC_PACKET_FILTER_PCF_MASK (3U << 6) -#define GMAC_MAC_PACKET_FILTER_PCF_ALL (2U << 6) +#define GMAC_MAC_PACKET_FILTER_PCF_SHIFT 6 +#define GMAC_MAC_PACKET_FILTER_PCF_MASK (3U << GMAC_MAC_PACKET_FILTER_PCF_SHIFT) +#define GMAC_MAC_PACKET_FILTER_PCF_NONE (0U << GMAC_MAC_PACKET_FILTER_PCF_SHIFT) +#define GMAC_MAC_PACKET_FILTER_PCF_NO_PAUSE (1U << GMAC_MAC_PACKET_FILTER_PCF_SHIFT) +#define GMAC_MAC_PACKET_FILTER_PCF_ALL (2U << GMAC_MAC_PACKET_FILTER_PCF_SHIFT) +#define GMAC_MAC_PACKET_FILTER_PCF_FILTER (3U << GMAC_MAC_PACKET_FILTER_PCF_SHIFT) #define GMAC_MAC_PACKET_FILTER_DBF (1U << 5) #define GMAC_MAC_PACKET_FILTER_PM (1U << 4) +#define GMAC_MAC_PACKET_FILTER_DAIF (1U << 3) #define GMAC_MAC_PACKET_FILTER_HMC (1U << 2) #define GMAC_MAC_PACKET_FILTER_HUC (1U << 1) #define GMAC_MAC_PACKET_FILTER_PR (1U << 0) #define GMAC_MAC_WATCHDOG_TIMEOUT 0x000C +#define GMAC_MAC_WATCHDOG_TIMEOUT_PWE (1U << 8) +#define GMAC_MAC_WATCHDOG_TIMEOUT_WTO_MASK (0xFU << 0) #define GMAC_MAC_HASH_TABLE_REG0 0x0010 #define GMAC_MAC_HASH_TABLE_REG1 0x0014 #define GMAC_MAC_VLAN_TAG 0x0050 +#define GMAC_MAC_VLAN_TAG_EVLRXS (1U << 24) +#define GMAC_MAC_VLAN_TAG_EVLS_SHIFT 21 +#define GMAC_MAC_VLAN_TAG_EVLS_MASK (3U << GMAC_MAC_VLAN_TAG_EVLS_SHIFT) +#define GMAC_MAC_VLAN_TAG_EVLS_NEVER (0U << GMAC_MAC_VLAN_TAG_EVLS_SHIFT) +#define GMAC_MAC_VLAN_TAG_EVLS_PASS (1U << GMAC_MAC_VLAN_TAG_EVLS_SHIFT) +#define GMAC_MAC_VLAN_TAG_EVLS_FAIL (2U << GMAC_MAC_VLAN_TAG_EVLS_SHIFT) +#define GMAC_MAC_VLAN_TAG_EVLS_ALWAYS (3U << GMAC_MAC_VLAN_TAG_EVLS_SHIFT) +#define GMAC_MAC_VLAN_TAG_DOVLTC (1U << 20) +#define GMAC_MAC_VLAN_TAG_ERSVLM (1U << 19) +#define GMAC_MAC_VLAN_TAG_ESVL (1U << 18) +#define GMAC_MAC_VLAN_TAG_VTIM (1U << 17) +#define GMAC_MAC_VLAN_TAG_ETV (1U << 16) +#define GMAC_MAC_VLAN_TAG_VL_MASK (0xFFFFU << 0) #define GMAC_MAC_Q0_TX_FLOW_CTRL 0x0070 #define GMAC_MAC_Q0_TX_FLOW_CTRL_PT_SHIFT 16 +#define GMAC_MAC_Q0_TX_FLOW_CTRL_PT_MASK (0xFFFFU << GMAC_MAC_Q0_TX_FLOW_CTRL_PT_SHIFT) +#define GMAC_MAC_Q0_TX_FLOW_CTRL_DZPQ (1U << 7) +#define GMAC_MAC_Q0_TX_FLOW_CTRL_PLT_SHIFT 4 +#define GMAC_MAC_Q0_TX_FLOW_CTRL_PLT_MASK (7U << GMAC_MAC_Q0_TX_FLOW_CTRL_PLT_SHIFT) +#define GMAC_MAC_Q0_TX_FLOW_CTRL_PLT_4 (0U << GMAC_MAC_Q0_TX_FLOW_CTRL_PLT_SHIFT) +#define GMAC_MAC_Q0_TX_FLOW_CTRL_PLT_28 (1U << GMAC_MAC_Q0_TX_FLOW_CTRL_PLT_SHIFT) +#define GMAC_MAC_Q0_TX_FLOW_CTRL_PLT_36 (2U << GMAC_MAC_Q0_TX_FLOW_CTRL_PLT_SHIFT) +#define GMAC_MAC_Q0_TX_FLOW_CTRL_PLT_144 (3U << GMAC_MAC_Q0_TX_FLOW_CTRL_PLT_SHIFT) +#define GMAC_MAC_Q0_TX_FLOW_CTRL_PLT_256 (4U << GMAC_MAC_Q0_TX_FLOW_CTRL_PLT_SHIFT) +#define GMAC_MAC_Q0_TX_FLOW_CTRL_PLT_512 (5U << GMAC_MAC_Q0_TX_FLOW_CTRL_PLT_SHIFT) #define GMAC_MAC_Q0_TX_FLOW_CTRL_TFE (1U << 1) +#define GMAC_MAC_Q0_TX_FLOW_CTRL_FCB_BPA (1U << 0) #define GMAC_MAC_RX_FLOW_CTRL 0x0090 +#define GMAC_MAC_RX_FLOW_CTRL_UP (1U << 1) #define GMAC_MAC_RX_FLOW_CTRL_RFE (1U << 0) #define GMAC_RXQ_CTRL0 0x00A0 #define GMAC_RXQ_CTRL0_EN_MASK 0x3 #define GMAC_RXQ_CTRL0_EN_DCB 0x2 #define GMAC_RXQ_CTRL1 0x00A4 #define GMAC_MAC_INTERRUPT_STATUS 0x00B0 +#define GMAC_MAC_INTERRUPT_STATUS_MDIOIS (1U << 18) +#define GMAC_MAC_INTERRUPT_STATUS_RXSTSIS (1U << 14) +#define GMAC_MAC_INTERRUPT_STATUS_TXSTSIS (1U << 13) +#define GMAC_MAC_INTERRUPT_STATUS_TSIS (1U << 12) +#define GMAC_MAC_INTERRUPT_STATUS_MMCRXIPIS (1U << 11) +#define GMAC_MAC_INTERRUPT_STATUS_MMCTXIS (1U << 10) +#define GMAC_MAC_INTERRUPT_STATUS_MMCRXIS (1U << 9) +#define GMAC_MAC_INTERRUPT_STATUS_MMCIS (1U << 8) +#define GMAC_MAC_INTERRUPT_STATUS_LPIIS (1U << 5) +#define GMAC_MAC_INTERRUPT_STATUS_PMTIS (1U << 4) +#define GMAC_MAC_INTERRUPT_STATUS_PHYIS (1U << 3) +#define GMAC_MAC_INTERRUPT_STATUS_RGSMIIIS (1U << 0) #define GMAC_MAC_INTERRUPT_ENABLE 0x00B4 +#define GMAC_MAC_INTERRUPT_ENABLE_MDIOIE (1U << 18) +#define GMAC_MAC_INTERRUPT_ENABLE_RXSTSIE (1U << 14) +#define GMAC_MAC_INTERRUPT_ENABLE_TXSTSIE (1U << 13) +#define GMAC_MAC_INTERRUPT_ENABLE_TSIE (1U << 12) +#define GMAC_MAC_INTERRUPT_ENABLE_LPIIE (1U << 5) +#define GMAC_MAC_INTERRUPT_ENABLE_PMTIE (1U << 4) +#define GMAC_MAC_INTERRUPT_ENABLE_PHYIE (1U << 3) +#define GMAC_MAC_INTERRUPT_ENABLE_RGSMIIIE (1U << 0) #define GMAC_MAC_RX_TX_STATUS 0x00B8 #define GMAC_MAC_RX_TX_STATUS_RWT (1U << 8) #define GMAC_MAC_RX_TX_STATUS_EXCOL (1U << 5) @@ -81,24 +173,168 @@ #define GMAC_MAC_RX_TX_STATUS_NCARR (1U << 1) #define GMAC_MAC_RX_TX_STATUS_TJT (1U << 0) #define GMAC_MAC_PMT_CONTROL_STATUS 0x00C0 +#define GMAC_MAC_PMT_CONTROL_STATUS_RWKFILTRST (1U << 31) +#define GMAC_MAC_PMT_CONTROL_STATUS_RWKPTR_SHIFT 24 +#define GMAC_MAC_PMT_CONTROL_STATUS_RWKPTR_MASK (0x1FU << GMAC_MAC_PMT_CONTROL_STATUS_RWKPTR_SHIFT) +#define GMAC_MAC_PMT_CONTROL_STATUS_RWKPFE (1U << 10) +#define GMAC_MAC_PMT_CONTROL_STATUS_GLBLUCAST (1U << 9) +#define GMAC_MAC_PMT_CONTROL_STATUS_RWKPRCVD (1U << 6) +#define GMAC_MAC_PMT_CONTROL_STATUS_MGKPRCVD (1U << 5) +#define GMAC_MAC_PMT_CONTROL_STATUS_RWKPKTEN (1U << 2) +#define GMAC_MAC_PMT_CONTROL_STATUS_MGKPKTEN (1U << 1) +#define GMAC_MAC_PMT_CONTROL_STATUS_PWRDWN (1U << 0) #define GMAC_MAC_RWK_PACKET_FILTER 0x00C4 #define GMAC_MAC_LPI_CONTROL_STATUS 0x00D0 +#define GMAC_MAC_LPI_CONTROL_STATUS_LPITCSE (1U << 21) +#define GMAC_MAC_LPI_CONTROL_STATUS_LPIATE (1U << 20) +#define GMAC_MAC_LPI_CONTROL_STATUS_LPITXA (1U << 19) +#define GMAC_MAC_LPI_CONTROL_STATUS_PLSEN (1U << 18) +#define GMAC_MAC_LPI_CONTROL_STATUS_PLS (1U << 17) +#define GMAC_MAC_LPI_CONTROL_STATUS_LPIEN (1U << 16) +#define GMAC_MAC_LPI_CONTROL_STATUS_RLPIST (1U << 9) +#define GMAC_MAC_LPI_CONTROL_STATUS_TLPIST (1U << 8) +#define GMAC_MAC_LPI_CONTROL_STATUS_RLPIEX (1U << 3) +#define GMAC_MAC_LPI_CONTROL_STATUS_RLPIEN (1U << 2) +#define GMAC_MAC_LPI_CONTROL_STATUS_TLPIEX (1U << 1) +#define GMAC_MAC_LPI_CONTROL_STATUS_TLPIEN (1U << 0) #define GMAC_MAC_LPI_TIMERS_CONTROL 0x00D4 +#define GMAC_MAC_LPI_TIMERS_CONTROL_LST_SHIFT 16 +#define GMAC_MAC_LPI_TIMERS_CONTROL_LST_MASK (0x3FFU << GMAC_MAC_LPI_TIMERS_CONTROL_LST_SHIFT) +#define GMAC_MAC_LPI_TIMERS_CONTROL_TWT_MASK (0xFFFFU << 0) #define GMAC_MAC_LPI_ENTRY_TIMER 0x00D8 +#define GMAC_MAC_LPI_ENTRY_TIMER_LPIET_SHIFT 3 +#define GMAC_MAC_LPI_ENTRY_TIMER_LPIET_MASK (0x3FFFFU << GMAC_MAC_LPI_ENTRY_TIMER_LPIET_SHIFT) #define GMAC_MAC_1US_TIC_COUNTER 0x00DC +#define GMAC_MAC_1US_TIC_COUNTER_TIC_1US_CNTR_MASK (0xFFFU << 0) #define GMAC_MAC_PHYIF_CONTROL_STATUS 0x00F8 +#define GMAC_MAC_PHYIF_CONTROL_STATUS_LNKSTS (1U << 19) +#define GMAC_MAC_PHYIF_CONTROL_STATUS_LNKSPEED_SHIFT 17 +#define GMAC_MAC_PHYIF_CONTROL_STATUS_LNKSPEED_MASK (3U << GMAC_MAC_PHYIF_CONTROL_STATUS_LNKSPEED_SHIFT) +#define GMAC_MAC_PHYIF_CONTROL_STATUS_LNKSPEED_2M5HZ (0U << GMAC_MAC_PHYIF_CONTROL_STATUS_LNKSPEED_SHIFT) +#define GMAC_MAC_PHYIF_CONTROL_STATUS_LNKSPEED_25MHZ (1U << GMAC_MAC_PHYIF_CONTROL_STATUS_LNKSPEED_SHIFT) +#define GMAC_MAC_PHYIF_CONTROL_STATUS_LNKSPEED_125MHZ (2U << GMAC_MAC_PHYIF_CONTROL_STATUS_LNKSPEED_SHIFT) +#define GMAC_MAC_PHYIF_CONTROL_STATUS_LNKMOD (1U << 16) +#define GMAC_MAC_PHYIF_CONTROL_STATUS_LUD (1U << 1) +#define GMAC_MAC_PHYIF_CONTROL_STATUS_TC (1U << 0) #define GMAC_MAC_VERSION 0x0110 #define GMAC_MAC_VERSION_USERVER_SHIFT 8 #define GMAC_MAC_VERSION_USERVER_MASK (0xFFU << GMAC_MAC_VERSION_USERVER_SHIFT) #define GMAC_MAC_VERSION_SNPSVER_MASK 0xFFU #define GMAC_MAC_DEBUG 0x0114 +#define GMAC_MAC_DEBUG_TFCSTS_SHIFT 17 +#define GMAC_MAC_DEBUG_TFCSTS_MASK (3U << GMAC_MAC_DEBUG_TFCSTS_SHIFT) +#define GMAC_MAC_DEBUG_TFCSTS_IDLE (0U << GMAC_MAC_DEBUG_TFCSTS_SHIFT) +#define GMAC_MAC_DEBUG_TFCSTS_WAIT (1U << GMAC_MAC_DEBUG_TFCSTS_SHIFT) +#define GMAC_MAC_DEBUG_TFCSTS_PAUSE (2U << GMAC_MAC_DEBUG_TFCSTS_SHIFT) +#define GMAC_MAC_DEBUG_TFCSTS_TX (3U << GMAC_MAC_DEBUG_TFCSTS_SHIFT) +#define GMAC_MAC_DEBUG_TPESTS (1U << 16) +#define GMAC_MAC_DEBUG_RFCFCSTS_SHIFT 1 +#define GMAC_MAC_DEBUG_RFCFCSTS_MASK (3U << GMAC_MAC_DEBUG_RFCFCSTS_SHIFT) +#define GMAC_MAC_DEBUG_RPESTS (1U << 0) #define GMAC_MAC_HW_FEATURE(n) (0x011C + 0x4 * (n)) +#define GMAC_MAC_HW_FEATURE0 0x011C +#define GMAC_MAC_HW_FEATURE0_ACTPHYSEL_SHIFT 28 +#define GMAC_MAC_HW_FEATURE0_ACTPHYSEL_MASK (0xFU << GMAC_MAC_HW_FEATURE0_ACTPHYSEL_SHIFT) +#define GMAC_MAC_HW_FEATURE0_ACTPHYSEL_RGMII (1U << GMAC_MAC_HW_FEATURE0_ACTPHYSEL_SHIFT) +#define GMAC_MAC_HW_FEATURE0_SAVLANINS (1U << 27) +#define GMAC_MAC_HW_FEATURE0_TSSTSSEL_SHIFT 25 +#define GMAC_MAC_HW_FEATURE0_TSSTSSEL_MASK (3U << GMAC_MAC_HW_FEATURE0_TSSTSSEL_SHIFT) +#define GMAC_MAC_HW_FEATURE0_MACADR64SEL (1U << 24) +#define GMAC_MAC_HW_FEATURE0_MACADR32SEL (1U << 23) +#define GMAC_MAC_HW_FEATURE0_ADDMACADRSEL_SHIFT 18 +#define GMAC_MAC_HW_FEATURE0_ADDMACADRSEL_MASK (0x1FU << GMAC_MAC_HW_FEATURE0_ADDMACADRSEL_SHIFT) +#define GMAC_MAC_HW_FEATURE0_RXCOESEL (1U << 16) +#define GMAC_MAC_HW_FEATURE0_TXCOESEL (1U << 14) +#define GMAC_MAC_HW_FEATURE0_EEESEL (1U << 13) +#define GMAC_MAC_HW_FEATURE0_TSSEL (1U << 12) +#define GMAC_MAC_HW_FEATURE0_ARPOFFSEL (1U << 9) +#define GMAC_MAC_HW_FEATURE0_MMCSEL (1U << 8) +#define GMAC_MAC_HW_FEATURE0_MGKSEL (1U << 7) +#define GMAC_MAC_HW_FEATURE0_RWKSEL (1U << 6) +#define GMAC_MAC_HW_FEATURE0_SMASEL (1U << 5) +#define GMAC_MAC_HW_FEATURE0_VLHASH (1U << 4) +#define GMAC_MAC_HW_FEATURE0_PCSSEL (1U << 3) +#define GMAC_MAC_HW_FEATURE0_HDSEL (1U << 2) +#define GMAC_MAC_HW_FEATURE0_GMIISEL (1U << 1) +#define GMAC_MAC_HW_FEATURE0_MIISEL (1U << 0) +#define GMAC_MAC_HW_FEATURE1 0x0120 +#define GMAC_MAC_HW_FEATURE1_L3L4FNUM_SHIFT 27 +#define GMAC_MAC_HW_FEATURE1_L3L4FNUM_MASK (0xFU << GMAC_MAC_HW_FEATURE1_L3L4FNUM_SHIFT) +#define GMAC_MAC_HW_FEATURE1_L3L4FNUM_NONE (0U << GMAC_MAC_HW_FEATURE1_L3L4FNUM_SHIFT) +#define GMAC_MAC_HW_FEATURE1_HASHTBLSZ_SHIFT 24 +#define GMAC_MAC_HW_FEATURE1_HASHTBLSZ_MASK (3U << GMAC_MAC_HW_FEATURE1_HASHTBLSZ_SHIFT) +#define GMAC_MAC_HW_FEATURE1_HASHTBLSZ_64 (1U << GMAC_MAC_HW_FEATURE1_HASHTBLSZ_SHIFT) +#define GMAC_MAC_HW_FEATURE1_POUOST (1U << 23) +#define GMAC_MAC_HW_FEATURE1_RAVSEL (1U << 21) +#define GMAC_MAC_HW_FEATURE1_AVSEL (1U << 20) +#define GMAC_MAC_HW_FEATURE1_DBGMEMA (1U << 19) +#define GMAC_MAC_HW_FEATURE1_TSOEN (1U << 18) +#define GMAC_MAC_HW_FEATURE1_SPHEN (1U << 17) +#define GMAC_MAC_HW_FEATURE1_DCBEN (1U << 16) #define GMAC_MAC_HW_FEATURE1_ADDR64_SHIFT 14 #define GMAC_MAC_HW_FEATURE1_ADDR64_MASK (0x3U << GMAC_MAC_HW_FEATURE1_ADDR64_SHIFT) #define GMAC_MAC_HW_FEATURE1_ADDR64_32BIT (0x0U << GMAC_MAC_HW_FEATURE1_ADDR64_SHIFT) +#define GMAC_MAC_HW_FEATURE1_ADVTHWORD (1U << 13) +#define GMAC_MAC_HW_FEATURE1_PTOEN (1U << 12) +#define GMAC_MAC_HW_FEATURE1_OSTEN (1U << 11) +#define GMAC_MAC_HW_FEATURE1_TXFIFOSIZE_SHIFT 6 +#define GMAC_MAC_HW_FEATURE1_TXFIFOSIZE_MASK (0x1FU << GMAC_MAC_HW_FEATURE1_TXFIFOSIZE_SHIFT) +#define GMAC_MAC_HW_FEATURE1_TXFIFOSIZE_16K (7U << GMAC_MAC_HW_FEATURE1_TXFIFOSIZE_SHIFT) +#define GMAC_MAC_HW_FEATURE1_SPRAM (1U << 5) +#define GMAC_MAC_HW_FEATURE1_RXFIFOSIZE_MASK (0x1FU << 0) +#define GMAC_MAC_HW_FEATURE1_RXFIFOSIZE_32K (8U << 0) +#define GMAC_MAC_HW_FEATURE2 0x0124 +#define GMAC_MAC_HW_FEATURE2_AUXSNAPNUM_SHIFT 28 +#define GMAC_MAC_HW_FEATURE2_AUXSNAPNUM_MASK (7U << GMAC_MAC_HW_FEATURE2_AUXSNAPNUM_SHIFT) +#define GMAC_MAC_HW_FEATURE2_AUXSNAPNUM_1 (1U << GMAC_MAC_HW_FEATURE2_AUXSNAPNUM_SHIFT) +#define GMAC_MAC_HW_FEATURE2_PPSOUTNUM_SHIFT 24 +#define GMAC_MAC_HW_FEATURE2_PPSOUTNUM_MASK (7U << GMAC_MAC_HW_FEATURE2_PPSOUTNUM_SHIFT) +#define GMAC_MAC_HW_FEATURE2_PPSOUTNUM_NONE (0U << GMAC_MAC_HW_FEATURE2_PPSOUTNUM_SHIFT) +#define GMAC_MAC_HW_FEATURE2_TXCHCNT_SHIFT 18 +#define GMAC_MAC_HW_FEATURE2_TXCHCNT_MASK (0xFU << GMAC_MAC_HW_FEATURE2_TXCHCNT_SHIFT) +#define GMAC_MAC_HW_FEATURE2_TXCHCNT_1 (0U << GMAC_MAC_HW_FEATURE2_TXCHCNT_SHIFT) +#define GMAC_MAC_HW_FEATURE2_RXCHCNT_SHIFT 12 +#define GMAC_MAC_HW_FEATURE2_RXCHCNT_MASK (0xFU << GMAC_MAC_HW_FEATURE2_RXCHCNT_SHIFT) +#define GMAC_MAC_HW_FEATURE2_RXCHCNT_1 (0U << GMAC_MAC_HW_FEATURE2_RXCHCNT_SHIFT) +#define GMAC_MAC_HW_FEATURE2_TXQCNT_SHIFT 6 +#define GMAC_MAC_HW_FEATURE2_TXQCNT_MASK (0xFU << GMAC_MAC_HW_FEATURE2_TXQCNT_SHIFT) +#define GMAC_MAC_HW_FEATURE2_TXQCNT_1 (1U << GMAC_MAC_HW_FEATURE2_TXQCNT_SHIFT) +#define GMAC_MAC_HW_FEATURE2_RXQCNT_MASK (0xFU << 0) +#define GMAC_MAC_HW_FEATURE2_RXQCNT_1 (1U << 0) +#define GMAC_MAC_HW_FEATURE3 0x0128 +#define GMAC_MAC_HW_FEATURE3_ASP_SHIFT 28 +#define GMAC_MAC_HW_FEATURE3_ASP_MASK (3U << GMAC_MAC_HW_FEATURE3_ASP_SHIFT) +#define GMAC_MAC_HW_FEATURE3_ASP_NONE (0U << GMAC_MAC_HW_FEATURE3_ASP_SHIFT) +#define GMAC_MAC_HW_FEATURE3_TBSSEL (1U << 27) +#define GMAC_MAC_HW_FEATURE3_FPESEL (1U << 26) +#define GMAC_MAC_HW_FEATURE3_ESTWID_SHIFT 20 +#define GMAC_MAC_HW_FEATURE3_ESTWID_MASK (3U << GMAC_MAC_HW_FEATURE3_ESTWID_SHIFT) +#define GMAC_MAC_HW_FEATURE3_ESTWID_NONE (0U << GMAC_MAC_HW_FEATURE3_ESTWID_SHIFT) +#define GMAC_MAC_HW_FEATURE3_ESTDEP_SHIFT 17 +#define GMAC_MAC_HW_FEATURE3_ESTDEP_MASK (7U << GMAC_MAC_HW_FEATURE3_ESTDEP_SHIFT) +#define GMAC_MAC_HW_FEATURE3_ESTDEP_NONE (0U << GMAC_MAC_HW_FEATURE3_ESTDEP_SHIFT) +#define GMAC_MAC_HW_FEATURE3_ESTSEL (1U << 16) +#define GMAC_MAC_HW_FEATURE3_FRPES_SHIFT 13 +#define GMAC_MAC_HW_FEATURE3_FRPES_MASK (3U << GMAC_MAC_HW_FEATURE3_FRPES_SHIFT) +#define GMAC_MAC_HW_FEATURE3_FRPES_64 (0U << GMAC_MAC_HW_FEATURE3_FRPES_SHIFT) +#define GMAC_MAC_HW_FEATURE3_FRPBS_SHIFT 11 +#define GMAC_MAC_HW_FEATURE3_FRPBS_MASK (3U << GMAC_MAC_HW_FEATURE3_FRPBS_SHIFT) +#define GMAC_MAC_HW_FEATURE3_FRPBS_64 (0U << GMAC_MAC_HW_FEATURE3_FRPBS_SHIFT) +#define GMAC_MAC_HW_FEATURE3_FRPSEL (1U << 10) +#define GMAC_MAC_HW_FEATURE3_PDUPSEL (1U << 9) +#define GMAC_MAC_HW_FEATURE3_DVLAN (1U << 5) +#define GMAC_MAC_HW_FEATURE3_CBTISEL (1U << 4) +#define GMAC_MAC_HW_FEATURE3_NRVF_MASK (7U << 0) +#define GMAC_MAC_HW_FEATURE3_NRVF_NONE (0U << 0) #define GMAC_MAC_MDIO_ADDRESS 0x0200 +#define GMAC_MAC_MDIO_ADDRESS_PSE (1U << 27) +#define GMAC_MAC_MDIO_ADDRESS_BTB (1U << 26) #define GMAC_MAC_MDIO_ADDRESS_PA_SHIFT 21 +#define GMAC_MAC_MDIO_ADDRESS_PA_MASK (0x1FU << GMAC_MAC_MDIO_ADDRESS_PA_SHIFT) #define GMAC_MAC_MDIO_ADDRESS_RDA_SHIFT 16 +#define GMAC_MAC_MDIO_ADDRESS_RDA_MASK (0x1FU << GMAC_MAC_MDIO_ADDRESS_RDA_SHIFT) +#define GMAC_MAC_MDIO_ADDRESS_NTC_SHIFT 12 +#define GMAC_MAC_MDIO_ADDRESS_NTC_MASK (7U << GMAC_MAC_MDIO_ADDRESS_NTC_SHIFT) #define GMAC_MAC_MDIO_ADDRESS_CR_SHIFT 8 #define GMAC_MAC_MDIO_ADDRESS_CR_MASK (0x7U << GMAC_MAC_MDIO_ADDRESS_CR_SHIFT) #define GMAC_MAC_MDIO_ADDRESS_CR_60_100 (0U << GMAC_MAC_MDIO_ADDRESS_CR_SHIFT) @@ -116,8 +352,13 @@ #define GMAC_MAC_MDIO_ADDRESS_C45E (1U << 1) #define GMAC_MAC_MDIO_ADDRESS_GB (1U << 0) #define GMAC_MAC_MDIO_DATA 0x0204 +#define GMAC_MAC_MDIO_DATA_RA (1U << 16) +#define GMAC_MAC_MDIO_DATA_GD_MASK (0xFFFFU << 0) #define GMAC_MAC_CSR_SW_CTRL 0x0230 +#define GMAC_MAC_CSR_SW_CTRL_RCWE (1U << 0) #define GMAC_MAC_ADDRESS0_HIGH 0x0300 +#define GMAC_MAC_ADDRESS0_HIGH_AE (1U << 31) +#define GMAC_MAC_ADDRESS0_HIGH_ADDRHI_MASK (0xFFFFU << 0) #define GMAC_MAC_ADDRESS0_LOW 0x0304 #define GMAC_MMC_CONTROL 0x0700 #define GMAC_MMC_CONTROL_UCDBC (1U << 8) @@ -128,9 +369,35 @@ #define GMAC_MMC_CONTROL_CNTSTOPRO (1U << 1) #define GMAC_MMC_CONTROL_CNTRST (1U << 0) #define GMAC_MMC_RX_INTERRUPT 0x0704 +#define GMAC_MMC_RX_INTERRUPT_RXFOVPIS (1U << 21) +#define GMAC_MMC_RX_INTERRUPT_RXLENERPIS (1U << 18) +#define GMAC_MMC_RX_INTERRUPT_RXCRCERPIS (1U << 5) +#define GMAC_MMC_RX_INTERRUPT_RXMCGPIS (1U << 4) +#define GMAC_MMC_RX_INTERRUPT_RXGOCTIS (1U << 2) +#define GMAC_MMC_RX_INTERRUPT_RXGBOCTIS (1U << 1) +#define GMAC_MMC_RX_INTERRUPT_RXGBPKTIS (1U << 0) #define GMAC_MMC_TX_INTERRUPT 0x0708 +#define GMAC_MMC_TX_INTERRUPT_TXGPKTIS (1U << 21) +#define GMAC_MMC_TX_INTERRUPT_TXGOCTIS (1U << 20) +#define GMAC_MMC_TX_INTERRUPT_TXCARERPIS (1U << 19) +#define GMAC_MMC_TX_INTERRUPT_TXUFLOWERPIS (1U << 13) +#define GMAC_MMC_TX_INTERRUPT_TXGBPKTIS (1U << 1) +#define GMAC_MMC_TX_INTERRUPT_TXGBOCTIS (1U << 0) #define GMAC_MMC_RX_INTERRUPT_MASK 0x070C +#define GMAC_MMC_RX_INTERRUPT_MASK_RXFOVPIM (1U << 21) +#define GMAC_MMC_RX_INTERRUPT_MASK_RXLENERPIM (1U << 19) +#define GMAC_MMC_RX_INTERRUPT_MASK_RXCRCERPIM (1U << 5) +#define GMAC_MMC_RX_INTERRUPT_MASK_RXMCGPIM (1U << 4) +#define GMAC_MMC_RX_INTERRUPT_MASK_RXGOCTIM (1U << 2) +#define GMAC_MMC_RX_INTERRUPT_MASK_RXGBOCTIM (1U << 1) +#define GMAC_MMC_RX_INTERRUPT_MASK_RXGBPKTIM (1U << 0) #define GMAC_MMC_TX_INTERRUPT_MASK 0x0710 +#define GMAC_MMC_TX_INTERRUPT_MASK_TXGPKTIM (1U << 21) +#define GMAC_MMC_TX_INTERRUPT_MASK_TXGOCTIM (1U << 20) +#define GMAC_MMC_TX_INTERRUPT_MASK_TXCARERPIM (1U << 19) +#define GMAC_MMC_TX_INTERRUPT_MASK_TXUFLOWERPIM (1U << 13) +#define GMAC_MMC_TX_INTERRUPT_MASK_TXGBPKTIM (1U << 1) +#define GMAC_MMC_TX_INTERRUPT_MASK_TXGBOCTIM (1U << 0) #define GMAC_TX_OCTET_COUNT_GOOD_BAD 0x0714 #define GMAC_TX_PACKET_COUNT_GOOD_BAD 0x0718 #define GMAC_TX_UNDERFLOW_ERROR_PACKETS 0x0748 @@ -145,7 +412,31 @@ #define GMAC_RX_LENGTH_ERROR_PACKETS 0x07C8 #define GMAC_RX_FIFO_OVERFLOW_PACKETS 0x07D4 #define GMAC_MMC_IPC_RX_INTERRUPT_MASK 0x0800 +#define GMAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPEROIM (1U << 29) +#define GMAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPEROIM (1U << 27) +#define GMAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPEROIM (1U << 25) +#define GMAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6HEROIM (1U << 22) +#define GMAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4HEROIM (1U << 17) +#define GMAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPERPIM (1U << 13) +#define GMAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPERPIM (1U << 11) +#define GMAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPERPIM (1U << 9) +#define GMAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6HERPIM (1U << 6) +#define GMAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6GPIM (1U << 5) +#define GMAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4HERPIM (1U << 1) +#define GMAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4GPIM (1U << 0) #define GMAC_MMC_IPC_RX_INTERRUPT 0x0808 +#define GMAC_MMC_IPC_RX_INTERRUPT_RXICMPEROIS (1U << 29) +#define GMAC_MMC_IPC_RX_INTERRUPT_RXTCPEROIS (1U << 27) +#define GMAC_MMC_IPC_RX_INTERRUPT_RXUDPEROIS (1U << 25) +#define GMAC_MMC_IPC_RX_INTERRUPT_RXIPV6HEROIS (1U << 22) +#define GMAC_MMC_IPC_RX_INTERRUPT_RXIPV4HEROIS (1U << 17) +#define GMAC_MMC_IPC_RX_INTERRUPT_RXICMPERPIS (1U << 13) +#define GMAC_MMC_IPC_RX_INTERRUPT_RXTCPERPIS (1U << 11) +#define GMAC_MMC_IPC_RX_INTERRUPT_RXUDPERPIS (1U << 9) +#define GMAC_MMC_IPC_RX_INTERRUPT_RXIPV6HERPIS (1U << 6) +#define GMAC_MMC_IPC_RX_INTERRUPT_RXIPV6GPIS (1U << 5) +#define GMAC_MMC_IPC_RX_INTERRUPT_RXIPV4HERPIS (1U << 1) +#define GMAC_MMC_IPC_RX_INTERRUPT_RXIPV4GPIS (1U << 0) #define GMAC_RXIPV4_GOOD_PACKETS 0x0810 #define GMAC_RXIPV4_HEADER_ERROR_PACKETS 0x0814 #define GMAC_RXIPV6_GOOD_PACKETS 0x0824 @@ -159,6 +450,26 @@ #define GMAC_RXTCP_ERROR_OCTETS 0x087C #define GMAC_RXICMP_ERROR_OCTETS 0x0884 #define GMAC_MAC_TIMESTAMP_CONTROL 0x0B00 +#define GMAC_MAC_TIMESTAMP_CONTROL_AV8021ASMEM (1U << 28) +#define GMAC_MAC_TIMESTAMP_CONTROL_TXTSSTSM (1U << 24) +#define GMAC_MAC_TIMESTAMP_CONTROL_ESTI (1U << 20) +#define GMAC_MAC_TIMESTAMP_CONTROL_TSENMACADDR (1U << 18) +#define GMAC_MAC_TIMESTAMP_CONTROL_SNAPTYPSEL_SHIFT 16 +#define GMAC_MAC_TIMESTAMP_CONTROL_SNAPTYPSEL_MASK (3U << GMAC_MAC_TIMESTAMP_CONTROL_SNAPTYPSEL_SHIFT) +#define GMAC_MAC_TIMESTAMP_CONTROL_TSMSTRENA (1U << 15) +#define GMAC_MAC_TIMESTAMP_CONTROL_TSEVNTENA (1U << 14) +#define GMAC_MAC_TIMESTAMP_CONTROL_TSIPV4ENA (1U << 13) +#define GMAC_MAC_TIMESTAMP_CONTROL_TSIPV6ENA (1U << 12) +#define GMAC_MAC_TIMESTAMP_CONTROL_TSIPENA (1U << 11) +#define GMAC_MAC_TIMESTAMP_CONTROL_TSVER2ENA (1U << 10) +#define GMAC_MAC_TIMESTAMP_CONTROL_TSCTRLSSR (1U << 9) +#define GMAC_MAC_TIMESTAMP_CONTROL_TSENALL (1U << 8) +#define GMAC_MAC_TIMESTAMP_CONTROL_TSADDREG (1U << 5) +#define GMAC_MAC_TIMESTAMP_CONTROL_TSTRIG (1U << 4) +#define GMAC_MAC_TIMESTAMP_CONTROL_TSUPDT (1U << 3) +#define GMAC_MAC_TIMESTAMP_CONTROL_TSINIT (1U << 2) +#define GMAC_MAC_TIMESTAMP_CONTROL_TSCFUPDT (1U << 1) +#define GMAC_MAC_TIMESTAMP_CONTROL_TSENA (1U << 0) #define GMAC_MAC_SUB_SECOND_INCREMENT 0x0B04 #define GMAC_MAC_SYSTEM_TIME_SECS 0x0B08 #define GMAC_MAC_SYSTEM_TIME_NS 0x0B0C @@ -177,45 +488,173 @@ #define GMAC_MAC_TS_EGRESS_LATENCY 0x0B6C #define GMAC_MAC_PPS_CONTROL 0x0B70 #define GMAC_MTL_DBG_CTL 0x0C08 +#define GMAC_MTL_DBG_CTL_STSIE (1U << 15) +#define GMAC_MTL_DBG_CTL_PKTIE (1U << 14) +#define GMAC_MTL_DBG_CTL_FIFOSEL_SHIFT 12 +#define GMAC_MTL_DBG_CTL_FIFOSEL_MASK (3U << GMAC_MTL_DBG_CTL_FIFOSEL_SHIFT) +#define GMAC_MTL_DBG_CTL_FIFOSEL_TX_FIFO (0U << GMAC_MTL_DBG_CTL_FIFOSEL_SHIFT) +#define GMAC_MTL_DBG_CTL_FIFOSEL_TX_STATUS (1U << GMAC_MTL_DBG_CTL_FIFOSEL_SHIFT) +#define GMAC_MTL_DBG_CTL_FIFOSEL_TSO_FIFO (2U << GMAC_MTL_DBG_CTL_FIFOSEL_SHIFT) +#define GMAC_MTL_DBG_CTL_FIFOSEL_RX_FIFO (3U << GMAC_MTL_DBG_CTL_FIFOSEL_SHIFT) +#define GMAC_MTL_DBG_CTL_FIFOWREN (1U << 11) +#define GMAC_MTL_DBG_CTL_FIFORDEN (1U << 10) +#define GMAC_MTL_DBG_CTL_RSTSEL (1U << 9) +#define GMAC_MTL_DBG_CTL_RSTALL (1U << 8) +#define GMAC_MTL_DBG_CTL_PKTSTATE_SHIFT 5 +#define GMAC_MTL_DBG_CTL_PKTSTATE_MASK (3U << GMAC_MTL_DBG_CTL_PKTSTATE_SHIFT) +#define GMAC_MTL_DBG_CTL_PKTSTATE_PACKET_DATA (0U << GMAC_MTL_DBG_CTL_PKTSTATE_SHIFT) +#define GMAC_MTL_DBG_CTL_PKTSTATE_CONTROL_WORD (1U << GMAC_MTL_DBG_CTL_PKTSTATE_SHIFT) +#define GMAC_MTL_DBG_CTL_PKTSTATE_NORMAL_STATUS (1U << GMAC_MTL_DBG_CTL_PKTSTATE_SHIFT) +#define GMAC_MTL_DBG_CTL_PKTSTATE_SOP_DATA (2U << GMAC_MTL_DBG_CTL_PKTSTATE_SHIFT) +#define GMAC_MTL_DBG_CTL_PKTSTATE_LAST_STATUS (2U << GMAC_MTL_DBG_CTL_PKTSTATE_SHIFT) +#define GMAC_MTL_DBG_CTL_PKTSTATE_EOP (3U << GMAC_MTL_DBG_CTL_PKTSTATE_SHIFT) +#define GMAC_MTL_DBG_CTL_BYTEEN_SHIFT 2 +#define GMAC_MTL_DBG_CTL_BYTEEN_MASK (3U << GMAC_MTL_DBG_CTL_BYTEEN_SHIFT) +#define GMAC_MTL_DBG_CTL_BYTEEN_B0VALID (0U << GMAC_MTL_DBG_CTL_BYTEEN_SHIFT) +#define GMAC_MTL_DBG_CTL_BYTEEN_B01VALID (1U << GMAC_MTL_DBG_CTL_BYTEEN_SHIFT) +#define GMAC_MTL_DBG_CTL_BYTEEN_B012VALID (2U << GMAC_MTL_DBG_CTL_BYTEEN_SHIFT) +#define GMAC_MTL_DBG_CTL_BYTEEN_B0123VALID (3U << GMAC_MTL_DBG_CTL_BYTEEN_SHIFT) +#define GMAC_MTL_DBG_CTL_DBGMOD (1U << 1) +#define GMAC_MTL_DBG_CTL_FDBGEN (1U << 0) #define GMAC_MTL_DBG_STS 0x0C0C +#define GMAC_MTL_DBG_STS_LOCR (1U << 15) +#define GMAC_MTL_DBG_STS_STSI (1U << 9) +#define GMAC_MTL_DBG_STS_PKTI (1U << 8) +#define GMAC_MTL_DBG_STS_BYTEEN_SHIFT 3 +#define GMAC_MTL_DBG_STS_BYTEEN_MASK (3U << GMAC_MTL_DBG_STS_BYTEEN_SHIFT) +#define GMAC_MTL_DBG_STS_BYTEEN_B0VALID (0U << GMAC_MTL_DBG_STS_BYTEEN_SHIFT) +#define GMAC_MTL_DBG_STS_BYTEEN_B01VALID (1U << GMAC_MTL_DBG_STS_BYTEEN_SHIFT) +#define GMAC_MTL_DBG_STS_BYTEEN_B012VALID (3U << GMAC_MTL_DBG_STS_BYTEEN_SHIFT) +#define GMAC_MTL_DBG_STS_BYTEEN_B0123VALID (3U << GMAC_MTL_DBG_STS_BYTEEN_SHIFT) +#define GMAC_MTL_DBG_STS_PKTSTATE_SHIFT 1 +#define GMAC_MTL_DBG_STS_PKTSTATE_MASK (3U << GMAC_MTL_DBG_STS_PKTSTATE_SHIFT) +#define GMAC_MTL_DBG_STS_PKTSTATE_PACKET_DATA (0U << GMAC_MTL_DBG_STS_PKTSTATE_SHIFT) +#define GMAC_MTL_DBG_STS_PKTSTATE_CONTROL_WORD (1U << GMAC_MTL_DBG_STS_PKTSTATE_SHIFT) +#define GMAC_MTL_DBG_STS_PKTSTATE_NORMAL_STATUS (1U << GMAC_MTL_DBG_STS_PKTSTATE_SHIFT) +#define GMAC_MTL_DBG_STS_PKTSTATE_SOP_DATA (2U << GMAC_MTL_DBG_STS_PKTSTATE_SHIFT) +#define GMAC_MTL_DBG_STS_PKTSTATE_LAST_STATUS (2U << GMAC_MTL_DBG_STS_PKTSTATE_SHIFT) +#define GMAC_MTL_DBG_STS_PKTSTATE_EOP (3U << GMAC_MTL_DBG_STS_PKTSTATE_SHIFT) +#define GMAC_MTL_DBG_STS_FIFOBUSY (1U << 0) #define GMAC_MTL_FIFO_DEBUG_DATA 0x0C10 #define GMAC_MTL_INTERRUPT_STATUS 0x0C20 #define GMAC_MTL_INTERRUPT_STATUS_DBGIS (1U << 17) #define GMAC_MTL_INTERRUPT_STATUS_Q0IS (1U << 0) #define GMAC_MTL_TXQ0_OPERATION_MODE 0x0D00 +#define GMAC_MTL_TXQ0_OPERATION_MODE_TTC_SHIFT 6 +#define GMAC_MTL_TXQ0_OPERATION_MODE_TTC_MASK (7U << GMAC_MTL_TXQ0_OPERATION_MODE_TTC_SHIFT) +#define GMAC_MTL_TXQ0_OPERATION_MODE_TTC_32B (0U << GMAC_MTL_TXQ0_OPERATION_MODE_TTC_SHIFT) +#define GMAC_MTL_TXQ0_OPERATION_MODE_TTC_64B (1U << GMAC_MTL_TXQ0_OPERATION_MODE_TTC_SHIFT) +#define GMAC_MTL_TXQ0_OPERATION_MODE_TTC_96B (2U << GMAC_MTL_TXQ0_OPERATION_MODE_TTC_SHIFT) +#define GMAC_MTL_TXQ0_OPERATION_MODE_TTC_128B (3U << GMAC_MTL_TXQ0_OPERATION_MODE_TTC_SHIFT) +#define GMAC_MTL_TXQ0_OPERATION_MODE_TTC_192B (4U << GMAC_MTL_TXQ0_OPERATION_MODE_TTC_SHIFT) +#define GMAC_MTL_TXQ0_OPERATION_MODE_TTC_256B (5U << GMAC_MTL_TXQ0_OPERATION_MODE_TTC_SHIFT) +#define GMAC_MTL_TXQ0_OPERATION_MODE_TTC_384B (6U << GMAC_MTL_TXQ0_OPERATION_MODE_TTC_SHIFT) +#define GMAC_MTL_TXQ0_OPERATION_MODE_TTC_512B (7U << GMAC_MTL_TXQ0_OPERATION_MODE_TTC_SHIFT) #define GMAC_MTL_TXQ0_OPERATION_MODE_TXQEN_SHIFT 2 #define GMAC_MTL_TXQ0_OPERATION_MODE_TXQEN_MASK (0x3U << GMAC_MTL_TXQ0_OPERATION_MODE_TXQEN_SHIFT) #define GMAC_MTL_TXQ0_OPERATION_MODE_TXQEN_EN (2U << GMAC_MTL_TXQ0_OPERATION_MODE_TXQEN_SHIFT) #define GMAC_MTL_TXQ0_OPERATION_MODE_TSF (1U << 1) #define GMAC_MTL_TXQ0_OPERATION_MODE_FTQ (1U << 0) #define GMAC_MTL_TXQ0_UNDERFLOW 0x0D04 +#define GMAC_MTL_TXQ0_UNDERFLOW_UFCNTOVF (1U << 11) +#define GMAC_MTL_TXQ0_UNDERFLOW_UFFRMCNT_MASK (0x3FFU << 0) #define GMAC_MTL_TXQ0_DEBUG 0x0D08 +#define GMAC_MTL_TXQ0_DEBUG_STXSTSF_SHIFT 20 +#define GMAC_MTL_TXQ0_DEBUG_STXSTSF_MASK (7U << GMAC_MTL_TXQ0_DEBUG_STXSTSF_SHIFT) +#define GMAC_MTL_TXQ0_DEBUG_PTXQ_SHIFT 16 +#define GMAC_MTL_TXQ0_DEBUG_PTXQ_MASK (7U << GMAC_MTL_TXQ0_DEBUG_PTXQ_SHIFT) +#define GMAC_MTL_TXQ0_DEBUG_TXSTSFSTS (1U << 5) +#define GMAC_MTL_TXQ0_DEBUG_TXQSTS (1U << 4) +#define GMAC_MTL_TXQ0_DEBUG_TWCSTS (1U << 3) +#define GMAC_MTL_TXQ0_DEBUG_TRCSCS_SHIFT 1 +#define GMAC_MTL_TXQ0_DEBUG_TRCSCS_MASK (3U << GMAC_MTL_TXQ0_DEBUG_TRCSCS_SHIFT) +#define GMAC_MTL_TXQ0_DEBUG_TRCSCS_IDLE (0U << GMAC_MTL_TXQ0_DEBUG_TRCSCS_SHIFT) +#define GMAC_MTL_TXQ0_DEBUG_TRCSCS_READ (1U << GMAC_MTL_TXQ0_DEBUG_TRCSCS_SHIFT) +#define GMAC_MTL_TXQ0_DEBUG_TRCSCS_WAIT (2U << GMAC_MTL_TXQ0_DEBUG_TRCSCS_SHIFT) +#define GMAC_MTL_TXQ0_DEBUG_TRCSCS_FLUSH (3U << GMAC_MTL_TXQ0_DEBUG_TRCSCS_SHIFT) +#define GMAC_MTL_TXQ0_DEBUG_TXQPAUSED (1U << 0) #define GMAC_MTL_Q0_INTERRUPT_CTRL_STATUS 0x0D2C #define GMAC_MTL_Q0_INTERRUPT_CTRL_STATUS_RXOIE (1U << 24) #define GMAC_MTL_Q0_INTERRUPT_CTRL_STATUS_RXOVFIS (1U << 16) #define GMAC_MTL_Q0_INTERRUPT_CTRL_STATUS_TXUIE (1U << 8) #define GMAC_MTL_Q0_INTERRUPT_CTRL_STATUS_TXUNFIS (1U << 0) #define GMAC_MTL_RXQ0_OPERATION_MODE 0x0D30 +#define GMAC_MTL_RXQ0_OPERATION_MODE_RFD_SHIFT 14 +#define GMAC_MTL_RXQ0_OPERATION_MODE_RFD_MASK (0x3FU << GMAC_MTL_RXQ0_OPERATION_MODE_RFD_SHIFT) +#define GMAC_MTL_RXQ0_OPERATION_MODE_RFA_SHIFT 8 +#define GMAC_MTL_RXQ0_OPERATION_MODE_RFA_MASK (0x3FU << GMAC_MTL_RXQ0_OPERATION_MODE_RFA_SHIFT) +#define GMAC_MTL_RXQ0_OPERATION_MODE_EHFC (1U << 7) +#define GMAC_MTL_RXQ0_OPERATION_MODE_DIS_TCP_EF (1U << 6) #define GMAC_MTL_RXQ0_OPERATION_MODE_RSF (1U << 5) #define GMAC_MTL_RXQ0_OPERATION_MODE_FEP (1U << 4) #define GMAC_MTL_RXQ0_OPERATION_MODE_FUP (1U << 3) +#define GMAC_MTL_RXQ0_OPERATION_MODE_RTC_MASK (3U << 0) #define GMAC_MTL_RXQ0_MISS_PKT_OVF_CNT 0x0D34 +#define GMAC_MTL_RXQ0_MISS_PKC_OVF_CNT_MISCNTOVF (1U << 27) +#define GMAC_MTL_RXQ0_MISS_PKC_OVF_CNT_MISPKTCNT_SHIFT 16 +#define GMAC_MTL_RXQ0_MISS_PKC_OVF_CNT_MISPKTCNT_MASK (0x7FFU << GMAC_MTL_RXQ0_MISS_PKC_OVF_CNT_MISPKTCNT_SHIFT) +#define GMAC_MTL_RXQ0_MISS_PKC_OVF_CNT_OVFCNTOVF (1U << 11) +#define GMAC_MTL_RXQ0_MISS_PKC_OVF_CNT_OVFPKTCNT (0x7FFU << 0) #define GMAC_MTL_RXQ0_DEBUG 0x0D38 +#define GMAC_MTL_RXQ0_DEBUG_PRXQ_SHIFT 16 +#define GMAC_MTL_RXQ0_DEBUG_PRXQ_MASK (0xFU << GMAC_MTL_RXQ0_DEBUG_PRXQ_SHIFT) +#define GMAC_MTL_RXQ0_DEBUG_RXQSTS_SHIFT 4 +#define GMAC_MTL_RXQ0_DEBUG_RXQSTS_MASK (3U << GMAC_MTL_RXQ0_DEBUG_RXQSTS_SHIFT) +#define GMAC_MTL_RXQ0_DEBUG_RXQSTS_EMPTY (0U << GMAC_MTL_RXQ0_DEBUG_RXQSTS_SHIFT) +#define GMAC_MTL_RXQ0_DEBUG_RXQSTS_LOW (1U << GMAC_MTL_RXQ0_DEBUG_RXQSTS_SHIFT) +#define GMAC_MTL_RXQ0_DEBUG_RXQSTS_HIGH (2U << GMAC_MTL_RXQ0_DEBUG_RXQSTS_SHIFT) +#define GMAC_MTL_RXQ0_DEBUG_RXQSTS_FULL (3U << GMAC_MTL_RXQ0_DEBUG_RXQSTS_SHIFT) +#define GMAC_MTL_RXQ0_DEBUG_RRCSTS_SHIFT 1 +#define GMAC_MTL_RXQ0_DEBUG_RRCSTS_MASK (3U << GMAC_MTL_RXQ0_DEBUG_RRCSTS_SHIFT) +#define GMAC_MTL_RXQ0_DEBUG_RRCSTS_IDLE (0U << GMAC_MTL_RXQ0_DEBUG_RRCSTS_SHIFT) +#define GMAC_MTL_RXQ0_DEBUG_RRCSTS_RDATA (1U << GMAC_MTL_RXQ0_DEBUG_RRCSTS_SHIFT) +#define GMAC_MTL_RXQ0_DEBUG_RRCSTS_RSTATUS (2U << GMAC_MTL_RXQ0_DEBUG_RRCSTS_SHIFT) +#define GMAC_MTL_RXQ0_DEBUG_RRCSTS_FLUSH (3U << GMAC_MTL_RXQ0_DEBUG_RRCSTS_SHIFT) +#define GMAC_MTL_RXQ0_DEBUG_RWCSTS (1U << 0) #define GMAC_DMA_MODE 0x1000 +#define GMAC_DMA_MODE_INTM_SHIFT 16 +#define GMAC_DMA_MODE_INTM_MASK (3U << GMAC_DMA_MODE_INTM_SHIFT) +#define GMAC_DMA_MODE_DSPW (1U << 8) #define GMAC_DMA_MODE_SWR (1U << 0) #define GMAC_DMA_SYSBUS_MODE 0x1004 +#define GMAC_DMA_SYSBUS_MODE_EN_LPI (1U << 31) +#define GMAC_DMA_SYSBUS_MODE_LPI_XIT_PKT (1U << 30) #define GMAC_DMA_SYSBUS_MODE_WR_OSR_LMT_SHIFT 24 #define GMAC_DMA_SYSBUS_MODE_WR_OSR_LMT_MASK (0x3U << GMAC_DMA_SYSBUS_MODE_WR_OSR_LMT_SHIFT) #define GMAC_DMA_SYSBUS_MODE_RD_OSR_LMT_SHIFT 16 #define GMAC_DMA_SYSBUS_MODE_RD_OSR_LMT_MASK (0x7U << GMAC_DMA_SYSBUS_MODE_RD_OSR_LMT_SHIFT) #define GMAC_DMA_SYSBUS_MODE_MB (1U << 14) +#define GMAC_DMA_SYSBUS_MODE_AAL (1U << 12) #define GMAC_DMA_SYSBUS_MODE_EAME (1U << 11) +#define GMAC_DMA_SYSBUS_MODE_AALE (1U << 10) #define GMAC_DMA_SYSBUS_MODE_BLEN16 (1U << 3) #define GMAC_DMA_SYSBUS_MODE_BLEN8 (1U << 2) #define GMAC_DMA_SYSBUS_MODE_BLEN4 (1U << 1) #define GMAC_DMA_SYSBUS_MODE_FB (1U << 0) #define GMAC_DMA_INTERRUPT_STATUS 0x1008 +#define GMAC_DMA_INTERRUPT_STATUS_MACIS (1U << 17) +#define GMAC_DMA_INTERRUPT_STATUS_MTLIS (1U << 16) +#define GMAC_DMA_INTERRUPT_STATUS_DC0IS (1U << 0) #define GMAC_DMA_DEBUG_STATUS0 0x100C +#define GMAC_DMA_DEBUG_STATUS0_TPS0_SHIFT 12 +#define GMAC_DMA_DEBUG_STATUS0_TPS0_MASK (0xFU << GMAC_DMA_DEBUG_STATUS0_TPS0_SHIFT) +#define GMAC_DMA_DEBUG_STATUS0_TPS0_STOPPED (0U << GMAC_DMA_DEBUG_STATUS0_TPS0_SHIFT) +#define GMAC_DMA_DEBUG_STATUS0_TPS0_FETCH_TX (1U << GMAC_DMA_DEBUG_STATUS0_TPS0_SHIFT) +#define GMAC_DMA_DEBUG_STATUS0_TPS0_WAIT_STATUS (2U << GMAC_DMA_DEBUG_STATUS0_TPS0_SHIFT) +#define GMAC_DMA_DEBUG_STATUS0_TPS0_READ_DATA (3U << GMAC_DMA_DEBUG_STATUS0_TPS0_SHIFT) +#define GMAC_DMA_DEBUG_STATUS0_TPS0_TX_WRITE (4U << GMAC_DMA_DEBUG_STATUS0_TPS0_SHIFT) +#define GMAC_DMA_DEBUG_STATUS0_TPS0_SUSPENDED (6U << GMAC_DMA_DEBUG_STATUS0_TPS0_SHIFT) +#define GMAC_DMA_DEBUG_STATUS0_TPS0_CLOSE_TX (7U << GMAC_DMA_DEBUG_STATUS0_TPS0_SHIFT) +#define GMAC_DMA_DEBUG_STATUS0_RPS0_SHIFT 8 +#define GMAC_DMA_DEBUG_STATUS0_RPS0_MASK (0xFU << GMAC_DMA_DEBUG_STATUS0_RPS0_SHIFT) +#define GMAC_DMA_DEBUG_STATUS0_RPS0_STOPPED (0U << GMAC_DMA_DEBUG_STATUS0_RPS0_SHIFT) +#define GMAC_DMA_DEBUG_STATUS0_RPS0_FETCH_RX (1U << GMAC_DMA_DEBUG_STATUS0_RPS0_SHIFT) +#define GMAC_DMA_DEBUG_STATUS0_RPS0_WAIT_RX (3U << GMAC_DMA_DEBUG_STATUS0_RPS0_SHIFT) +#define GMAC_DMA_DEBUG_STATUS0_RPS0_SUSPENDED (4U << GMAC_DMA_DEBUG_STATUS0_RPS0_SHIFT) +#define GMAC_DMA_DEBUG_STATUS0_RPS0_CLOSE_RX (6U << GMAC_DMA_DEBUG_STATUS0_RPS0_SHIFT) +#define GMAC_DMA_DEBUG_STATUS0_RPS0_XFER_RX (7U << GMAC_DMA_DEBUG_STATUS0_RPS0_SHIFT) +#define GMAC_DMA_DEBUG_STATUS0_AXRHSTS (1U << 1) +#define GMAC_DMA_DEBUG_STATUS0_AXWHSTS (1U << 0) #define GMAC_AXI_LPI_ENTRY_INTERVAL 0x1040 #define GMAC_RWK_FILTERn_BYTE_MASK(n) (0x10C0 + 0x4 * (n)) #define GMAC_RWK_FILTER01_CRC 0x10D0