esp32_eth_driver.h File Reference

ESP32 Ethernet MAC driver. More...

#include "core/nic.h"

Go to the source code of this file.

Data Structures

struct  Esp32EthTxDmaDesc
 Enhanced TX DMA descriptor. More...
 
struct  Esp32EthRxDmaDesc
 Enhanced RX DMA descriptor. More...
 

Macros

#define ESP32_ETH_TX_BUFFER_COUNT   3
 
#define ESP32_ETH_TX_BUFFER_SIZE   1536
 
#define ESP32_ETH_RX_BUFFER_COUNT   6
 
#define ESP32_ETH_RX_BUFFER_SIZE   1536
 
#define ESP32_ETH_IRQ_FLAGS   ESP_INTR_FLAG_LEVEL2
 
#define EMAC_DMABUSMODE_REG   *((volatile uint32_t *) 0x3FF69000)
 
#define EMAC_DMATXPOLLDEMAND_REG   *((volatile uint32_t *) 0x3FF69004)
 
#define EMAC_DMARXPOLLDEMAND_REG   *((volatile uint32_t *) 0x3FF69008)
 
#define EMAC_DMARXBASEADDR_REG   *((volatile uint32_t *) 0x3FF6900C)
 
#define EMAC_DMATXBASEADDR_REG   *((volatile uint32_t *) 0x3FF69010)
 
#define EMAC_DMASTATUS_REG   *((volatile uint32_t *) 0x3FF69014)
 
#define EMAC_DMAOPERATION_MODE_REG   *((volatile uint32_t *) 0x3FF69018)
 
#define EMAC_DMAIN_EN_REG   *((volatile uint32_t *) 0x3FF6901C)
 
#define EMAC_DMAMISSEDFR_REG   *((volatile uint32_t *) 0x3FF69020)
 
#define EMAC_DMARINTWDTIMER_REG   *((volatile uint32_t *) 0x3FF69024)
 
#define EMAC_DMATXCURRDESC_REG   *((volatile uint32_t *) 0x3FF69048)
 
#define EMAC_DMARXCURRDESC_REG   *((volatile uint32_t *) 0x3FF6904C)
 
#define EMAC_DMATXCURRADDR_BUF_REG   *((volatile uint32_t *) 0x3FF69050)
 
#define EMAC_DMARXCURRADDR_BUF_REG   *((volatile uint32_t *) 0x3FF69054)
 
#define EMAC_CONFIG_REG   *((volatile uint32_t *) 0x3FF6A000)
 
#define EMAC_FF_REG   *((volatile uint32_t *) 0x3FF6A004)
 
#define EMAC_MIIADDR_REG   *((volatile uint32_t *) 0x3FF6A010)
 
#define EMAC_MIIDATA_REG   *((volatile uint32_t *) 0x3FF6A014)
 
#define EMAC_FC_REG   *((volatile uint32_t *) 0x3FF6A018)
 
#define EMAC_DEBUG_REG   *((volatile uint32_t *) 0x3FF6A024)
 
#define EMAC_PMT_RWUFFR_REG   *((volatile uint32_t *) 0x3FF6A028)
 
#define EMAC_PMT_CSR_REG   *((volatile uint32_t *) 0x3FF6A02C)
 
#define EMAC_LPI_CSR_REG   *((volatile uint32_t *) 0x3FF6A030)
 
#define EMAC_LPITIMERSCONTROL_REG   *((volatile uint32_t *) 0x3FF6A034)
 
#define EMAC_INTS_REG   *((volatile uint32_t *) 0x3FF6A038)
 
#define EMAC_INTMASK_REG   *((volatile uint32_t *) 0x3FF6A03C)
 
#define EMAC_ADDR0HIGH_REG   *((volatile uint32_t *) 0x3FF6A040)
 
#define EMAC_ADDR0LOW_REG   *((volatile uint32_t *) 0x3FF6A044)
 
#define EMAC_ADDR1HIGH_REG   *((volatile uint32_t *) 0x3FF6A048)
 
#define EMAC_ADDR1LOW_REG   *((volatile uint32_t *) 0x3FF6A04C)
 
#define EMAC_ADDR2HIGH_REG   *((volatile uint32_t *) 0x3FF6A050)
 
#define EMAC_ADDR2LOW_REG   *((volatile uint32_t *) 0x3FF6A054)
 
#define EMAC_ADDR3HIGH_REG   *((volatile uint32_t *) 0x3FF6A058)
 
#define EMAC_ADDR3LOW_REG   *((volatile uint32_t *) 0x3FF6A05C)
 
#define EMAC_ADDR4HIGH_REG   *((volatile uint32_t *) 0x3FF6A060)
 
#define EMAC_ADDR4LOW_REG   *((volatile uint32_t *) 0x3FF6A064)
 
#define EMAC_ADDR5HIGH_REG   *((volatile uint32_t *) 0x3FF6A068)
 
#define EMAC_ADDR5LOW_REG   *((volatile uint32_t *) 0x3FF6A06C)
 
#define EMAC_ADDR6HIGH_REG   *((volatile uint32_t *) 0x3FF6A070)
 
#define EMAC_ADDR6LOW_REG   *((volatile uint32_t *) 0x3FF6A074)
 
#define EMAC_ADDR7HIGH_REG   *((volatile uint32_t *) 0x3FF6A078)
 
#define EMAC_ADDR7LOW_REG   *((volatile uint32_t *) 0x3FF6A07C)
 
#define EMAC_STATUS_REG   *((volatile uint32_t *) 0x3FF6A0D8)
 
#define EMAC_WDOGTO_REG   *((volatile uint32_t *) 0x3FF6A0DC)
 
#define EMAC_EX_CLKOUT_CONF_REG   *((volatile uint32_t *) 0x3FF69800)
 
#define EMAC_EX_OSCCLK_CONF_REG   *((volatile uint32_t *) 0x3FF69804)
 
#define EMAC_EX_CLK_CTRL_REG   *((volatile uint32_t *) 0x3FF69808)
 
#define EMAC_EX_PHYINF_CONF_REG   *((volatile uint32_t *) 0x3FF6980C)
 
#define EMAC_PD_SEL_REG   *((volatile uint32_t *) 0x3FF69810)
 
#define EMAC_DMABUSMODE_DMAMIXEDBURST   0x04000000
 
#define EMAC_DMABUSMODE_DMAADDRALIBEA   0x02000000
 
#define EMAC_DMABUSMODE_PBLX8_MODE   0x01000000
 
#define EMAC_DMABUSMODE_USE_SEP_PBL   0x00800000
 
#define EMAC_DMABUSMODE_RX_DMA_PBL   0x007E0000
 
#define EMAC_DMABUSMODE_RX_DMA_PBL_1   0x00020000
 
#define EMAC_DMABUSMODE_RX_DMA_PBL_2   0x00040000
 
#define EMAC_DMABUSMODE_RX_DMA_PBL_4   0x00080000
 
#define EMAC_DMABUSMODE_RX_DMA_PBL_8   0x00100000
 
#define EMAC_DMABUSMODE_RX_DMA_PBL_16   0x00200000
 
#define EMAC_DMABUSMODE_RX_DMA_PBL_32   0x00400000
 
#define EMAC_DMABUSMODE_FIXED_BURST   0x00010000
 
#define EMAC_DMABUSMODE_PRI_RATIO   0x0000C000
 
#define EMAC_DMABUSMODE_PRI_RATIO_1_1   0x00000000
 
#define EMAC_DMABUSMODE_PRI_RATIO_2_1   0x00004000
 
#define EMAC_DMABUSMODE_PRI_RATIO_3_1   0x00008000
 
#define EMAC_DMABUSMODE_PRI_RATIO_4_1   0x0000C000
 
#define EMAC_DMABUSMODE_PROG_BURST_LEN   0x00003F00
 
#define EMAC_DMABUSMODE_PROG_BURST_LEN_1   0x00000100
 
#define EMAC_DMABUSMODE_PROG_BURST_LEN_2   0x00000200
 
#define EMAC_DMABUSMODE_PROG_BURST_LEN_4   0x00000400
 
#define EMAC_DMABUSMODE_PROG_BURST_LEN_8   0x00000800
 
#define EMAC_DMABUSMODE_PROG_BURST_LEN_16   0x00001000
 
#define EMAC_DMABUSMODE_PROG_BURST_LEN_32   0x00002000
 
#define EMAC_DMABUSMODE_ALT_DESC_SIZE   0x00000080
 
#define EMAC_DMABUSMODE_DESC_SKIP_LEN   0x0000007C
 
#define EMAC_DMABUSMODE_DESC_SKIP_LEN_0   0x00000000
 
#define EMAC_DMABUSMODE_DESC_SKIP_LEN_1   0x00000004
 
#define EMAC_DMABUSMODE_DESC_SKIP_LEN_2   0x00000008
 
#define EMAC_DMABUSMODE_DESC_SKIP_LEN_4   0x00000010
 
#define EMAC_DMABUSMODE_DESC_SKIP_LEN_8   0x00000020
 
#define EMAC_DMABUSMODE_DESC_SKIP_LEN_16   0x00000040
 
#define EMAC_DMABUSMODE_DMA_ARB_SCH   0x00000002
 
#define EMAC_DMABUSMODE_SW_RST   0x00000001
 
#define EMAC_DMASTATUS_TS_TRI_INT   0x20000000
 
#define EMAC_DMASTATUS_EMAC_PMT_INT   0x10000000
 
#define EMAC_DMASTATUS_ERROR_BITS   0x03800000
 
#define EMAC_DMASTATUS_TRANS_PROC_STATE   0x00700000
 
#define EMAC_DMASTATUS_RECV_PROC_STATE   0x000E0000
 
#define EMAC_DMASTATUS_NORM_INT_SUMM   0x00010000
 
#define EMAC_DMASTATUS_ABN_INT_SUMM   0x00008000
 
#define EMAC_DMASTATUS_EARLY_RECV_INT   0x00004000
 
#define EMAC_DMASTATUS_FATAL_BUS_ERR_INT   0x00002000
 
#define EMAC_DMASTATUS_EARLY_TRANS_INT   0x00000400
 
#define EMAC_DMASTATUS_RECV_WDT_TO   0x00000200
 
#define EMAC_DMASTATUS_RECV_PROC_STOP   0x00000100
 
#define EMAC_DMASTATUS_RECV_BUF_UNAVAIL   0x00000080
 
#define EMAC_DMASTATUS_RECV_INT   0x00000040
 
#define EMAC_DMASTATUS_TRANS_UNDFLOW   0x00000020
 
#define EMAC_DMASTATUS_RECV_OVFLOW   0x00000010
 
#define EMAC_DMASTATUS_TRANS_JABBER_TO   0x00000008
 
#define EMAC_DMASTATUS_TRANS_BUF_UNAVAIL   0x00000004
 
#define EMAC_DMASTATUS_TRANS_PROC_STOP   0x00000002
 
#define EMAC_DMASTATUS_TRANS_INT   0x00000001
 
#define EMAC_DMAOPERATION_MODE_DIS_DROP_TCPIP_ERR_FRAM   0x04000000
 
#define EMAC_DMAOPERATION_MODE_RX_STORE_FORWARD   0x02000000
 
#define EMAC_DMAOPERATION_MODE_DIS_FLUSH_RECV_FRAMES   0x01000000
 
#define EMAC_DMAOPERATION_MODE_TX_STORE_FORWARD   0x00200000
 
#define EMAC_DMAOPERATION_MODE_FLUSH_TX_FIFO   0x00100000
 
#define EMAC_DMAOPERATION_MODE_TX_THRESH_CTRL   0x0001C000
 
#define EMAC_DMAOPERATION_MODE_TX_THRESH_CTRL_64   0x00000000
 
#define EMAC_DMAOPERATION_MODE_TX_THRESH_CTRL_128   0x00004000
 
#define EMAC_DMAOPERATION_MODE_TX_THRESH_CTRL_192   0x00008000
 
#define EMAC_DMAOPERATION_MODE_TX_THRESH_CTRL_256   0x0000C000
 
#define EMAC_DMAOPERATION_MODE_TX_THRESH_CTRL_40   0x00010000
 
#define EMAC_DMAOPERATION_MODE_TX_THRESH_CTRL_32   0x00014000
 
#define EMAC_DMAOPERATION_MODE_TX_THRESH_CTRL_24   0x00018000
 
#define EMAC_DMAOPERATION_MODE_TX_THRESH_CTRL_16   0x0001C000
 
#define EMAC_DMAOPERATION_MODE_START_STOP_TX   0x00002000
 
#define EMAC_DMAOPERATION_MODE_FWD_ERR_FRAME   0x00000080
 
#define EMAC_DMAOPERATION_MODE_FWD_UNDER_GF   0x00000040
 
#define EMAC_DMAOPERATION_MODE_DROP_GFRM   0x00000020
 
#define EMAC_DMAOPERATION_MODE_RX_THRESH_CTRL   0x00000018
 
#define EMAC_DMAOPERATION_MODE_RX_THRESH_CTRL_64   0x00000000
 
#define EMAC_DMAOPERATION_MODE_RX_THRESH_CTRL_32   0x00000008
 
#define EMAC_DMAOPERATION_MODE_RX_THRESH_CTRL_96   0x00000010
 
#define EMAC_DMAOPERATION_MODE_RX_THRESH_CTRL_128   0x00000018
 
#define EMAC_DMAOPERATION_MODE_OPT_SECOND_FRAME   0x00000004
 
#define EMAC_DMAOPERATION_MODE_START_STOP_RX   0x00000002
 
#define EMAC_DMAIN_EN_DMAIN_NISE   0x00010000
 
#define EMAC_DMAIN_EN_DMAIN_AISE   0x00008000
 
#define EMAC_DMAIN_EN_DMAIN_ERIE   0x00004000
 
#define EMAC_DMAIN_EN_DMAIN_FBEE   0x00002000
 
#define EMAC_DMAIN_EN_DMAIN_ETIE   0x00000400
 
#define EMAC_DMAIN_EN_DMAIN_RWTE   0x00000200
 
#define EMAC_DMAIN_EN_DMAIN_RSE   0x00000100
 
#define EMAC_DMAIN_EN_DMAIN_RBUE   0x00000080
 
#define EMAC_DMAIN_EN_DMAIN_RIE   0x00000040
 
#define EMAC_DMAIN_EN_DMAIN_UIE   0x00000020
 
#define EMAC_DMAIN_EN_DMAIN_OIE   0x00000010
 
#define EMAC_DMAIN_EN_DMAIN_TJTE   0x00000008
 
#define EMAC_DMAIN_EN_DMAIN_TBUE   0x00000004
 
#define EMAC_DMAIN_EN_DMAIN_TSE   0x00000002
 
#define EMAC_DMAIN_EN_DMAIN_TIE   0x00000001
 
#define EMAC_DMAMISSEDFR_OVERFLOW_BFOC   0x10000000
 
#define EMAC_DMAMISSEDFR_OVERFLOW_FC   0x0FFE0000
 
#define EMAC_DMAMISSEDFR_OVERFLOW_BMFC   0x00010000
 
#define EMAC_DMAMISSEDFR_MISSED_FC   0x0000FFFF
 
#define EMAC_DMARINTWDTIMER_RIWTC   0x000000FF
 
#define EMAC_DMATXCURRDESC_TRANS_DSCR_ADDR_PTR   0xFFFFFFFF
 
#define EMAC_DMARXCURRDESC_RECV_DSCR_ADDR_PTR   0xFFFFFFFF
 
#define EMAC_DMATXCURRADDR_BUF_TRANS_BUFF_ADDR_PTR   0xFFFFFFFF
 
#define EMAC_DMARXCURRADDR_BUF_RECV_BUFF_ADDR_PTR   0xFFFFFFFF
 
#define EMAC_CONFIG_SAIRC   0x70000000
 
#define EMAC_CONFIG_ASS2KP   0x08000000
 
#define EMAC_CONFIG_EMACWATCHDOG   0x00800000
 
#define EMAC_CONFIG_EMACJABBER   0x00400000
 
#define EMAC_CONFIG_EMACJUMBOFRAME   0x00100000
 
#define EMAC_CONFIG_EMACINTERFRAMEGAP   0x000E0000
 
#define EMAC_CONFIG_EMACINTERFRAMEGAP_96   0x00000000
 
#define EMAC_CONFIG_EMACINTERFRAMEGAP_88   0x00020000
 
#define EMAC_CONFIG_EMACINTERFRAMEGAP_80   0x00040000
 
#define EMAC_CONFIG_EMACINTERFRAMEGAP_72   0x00060000
 
#define EMAC_CONFIG_EMACINTERFRAMEGAP_64   0x00080000
 
#define EMAC_CONFIG_EMACINTERFRAMEGAP_56   0x000A0000
 
#define EMAC_CONFIG_EMACINTERFRAMEGAP_48   0x000C0000
 
#define EMAC_CONFIG_EMACINTERFRAMEGAP_40   0x000E0000
 
#define EMAC_CONFIG_EMACDISABLECRS   0x00010000
 
#define EMAC_CONFIG_EMACMII   0x00008000
 
#define EMAC_CONFIG_EMACFESPEED   0x00004000
 
#define EMAC_CONFIG_EMACRXOWN   0x00002000
 
#define EMAC_CONFIG_EMACLOOPBACK   0x00001000
 
#define EMAC_CONFIG_EMACDUPLEX   0x00000800
 
#define EMAC_CONFIG_EMACRXIPCOFFLOAD   0x00000400
 
#define EMAC_CONFIG_EMACRETRY   0x00000200
 
#define EMAC_CONFIG_EMACPADCRCSTRIP   0x00000080
 
#define EMAC_CONFIG_EMACBACKOFFLIMIT   0x00000060
 
#define EMAC_CONFIG_EMACBACKOFFLIMIT_10   0x00000040
 
#define EMAC_CONFIG_EMACBACKOFFLIMIT_8   0x00000020
 
#define EMAC_CONFIG_EMACBACKOFFLIMIT_4   0x00000040
 
#define EMAC_CONFIG_EMACBACKOFFLIMIT_1   0x00000060
 
#define EMAC_CONFIG_EMACDEFERRALCHECK   0x00000010
 
#define EMAC_CONFIG_EMACTX   0x00000008
 
#define EMAC_CONFIG_EMACRX   0x00000004
 
#define EMAC_CONFIG_PLTF   0x00000003
 
#define EMAC_CONFIG_PLTF_7   0x00000000
 
#define EMAC_CONFIG_PLTF_5   0x00000001
 
#define EMAC_CONFIG_PLTF_3   0x00000002
 
#define EMAC_FF_RECEIVE_ALL   0x80000000
 
#define EMAC_FF_SAFE   0x00000200
 
#define EMAC_FF_SAIF   0x00000100
 
#define EMAC_FF_PCF   0x000000C0
 
#define EMAC_FF_DBF   0x00000020
 
#define EMAC_FF_PAM   0x00000010
 
#define EMAC_FF_DAIF   0x00000008
 
#define EMAC_FF_PMODE   0x00000001
 
#define EMAC_MIIADDR_MIIDEV   0x0000F800
 
#define EMAC_MIIADDR_MIIREG   0x000007C0
 
#define EMAC_MIIADDR_MIICSRCLK   0x0000003C
 
#define EMAC_MIIADDR_MIICSRCLK_DIV_42   0x00000000
 
#define EMAC_MIIADDR_MIICSRCLK_DIV_62   0x00000004
 
#define EMAC_MIIADDR_MIICSRCLK_DIV_16   0x00000008
 
#define EMAC_MIIADDR_MIICSRCLK_DIV_26   0x0000000C
 
#define EMAC_MIIADDR_MIICSRCLK_DIV_102   0x00000010
 
#define EMAC_MIIADDR_MIICSRCLK_DIV_124   0x00000014
 
#define EMAC_MIIADDR_MIIWRITE   0x00000002
 
#define EMAC_MIIADDR_MIIBUSY   0x00000001
 
#define EMAC_MIIDATA_MII_DATA   0x0000FFFF
 
#define EMAC_FC_PAUSE_TIME   0xFFFF0000
 
#define EMAC_FC_PLT   0x00000030
 
#define EMAC_FC_UPFD   0x00000008
 
#define EMAC_FC_RFCE   0x00000004
 
#define EMAC_FC_TFCE   0x00000002
 
#define EMAC_FC_FCBBA   0x00000001
 
#define EMAC_DEBUG_MTLTSFFS   0x02000000
 
#define EMAC_DEBUG_MTLTFNES   0x01000000
 
#define EMAC_DEBUG_MTLTFWCS   0x00400000
 
#define EMAC_DEBUG_MTLTFRCS   0x00300000
 
#define EMAC_DEBUG_MTLTFRCS_IDLE   0x00000000
 
#define EMAC_DEBUG_MTLTFRCS_READ   0x00100000
 
#define EMAC_DEBUG_MTLTFRCS_WAITING   0x00200000
 
#define EMAC_DEBUG_MTLTFRCS_WRITING   0x00300000
 
#define EMAC_DEBUG_MACTP   0x00080000
 
#define EMAC_DEBUG_MACTFCS   0x00060000
 
#define EMAC_DEBUG_MACTFCS_IDLE   0x00000000
 
#define EMAC_DEBUG_MACTFCS_WAITING_STATUS   0x00020000
 
#define EMAC_DEBUG_MACTFCS_GENERATING_PAUSE   0x00040000
 
#define EMAC_DEBUG_MACTFCS_TRANSFERRING_FRAME   0x00060000
 
#define EMAC_DEBUG_MACTPES   0x00010000
 
#define EMAC_DEBUG_MTLRFFLS   0x00000300
 
#define EMAC_DEBUG_MTLRFFLS_EMPTY   0x00000000
 
#define EMAC_DEBUG_MTLRFFLS_BELOW_THRESHOLD   0x00000100
 
#define EMAC_DEBUG_MTLRFFLS_ABOVE_THRESHOLD   0x00000200
 
#define EMAC_DEBUG_MTLRFFLS_FULL   0x00000300
 
#define EMAC_DEBUG_MTLRFRCS   0x00000060
 
#define EMAC_DEBUG_MTLRFRCS_IDLE   0x00000000
 
#define EMAC_DEBUG_MTLRFRCS_READING_DATA   0x00000020
 
#define EMAC_DEBUG_MTLRFRCS_READING_STATUS   0x00000040
 
#define EMAC_DEBUG_MTLRFRCS_FLUSHING   0x00000060
 
#define EMAC_DEBUG_MTLRFWCAS   0x00000010
 
#define EMAC_DEBUG_MACRFFCS   0x00000006
 
#define EMAC_DEBUG_MACRPES   0x00000001
 
#define EMAC_PMT_CSR_RWKFILTRST   0x80000000
 
#define EMAC_PMT_CSR_RWKPTR   0x1F000000
 
#define EMAC_PMT_CSR_GLBLUCAST   0x00000200
 
#define EMAC_PMT_CSR_RWKPRCVD   0x00000040
 
#define EMAC_PMT_CSR_MGKPRCVD   0x00000020
 
#define EMAC_PMT_CSR_RWKPKTEN   0x00000004
 
#define EMAC_PMT_CSR_MGKPKTEN   0x00000002
 
#define EMAC_PMT_CSR_PWRDWN   0x00000001
 
#define EMAC_LPI_CSR_LPITXA   0x00080000
 
#define EMAC_LPI_CSR_PLS   0x00020000
 
#define EMAC_LPI_CSR_LPIEN   0x00010000
 
#define EMAC_LPI_CSR_RLPIST   0x00000200
 
#define EMAC_LPI_CSR_TLPIST   0x00000100
 
#define EMAC_LPI_CSR_RLPIEX   0x00000008
 
#define EMAC_LPI_CSR_RLPIEN   0x00000004
 
#define EMAC_LPI_CSR_TLPIEX   0x00000002
 
#define EMAC_LPI_CSR_TLPIEN   0x00000001
 
#define EMAC_LPITIMERSCONTROL_LPI_LS_TIMER   0x03FF0000
 
#define EMAC_LPITIMERSCONTROL_LPI_TW_TIMER   0x0000FFFF
 
#define EMAC_INTS_LPIINTS   0x00000400
 
#define EMAC_INTS_PMTINTS   0x00000008
 
#define EMAC_INTMASK_LPIINTMASK   0x00000400
 
#define EMAC_INTMASK_PMTINTMASK   0x00000008
 
#define EMAC_ADDR0HIGH_ADDRESS_ENABLE0   0x80000000
 
#define EMAC_ADDR0HIGH_MAC_ADDRESS0_HI   0x0000FFFF
 
#define EMAC_ADDR0LOW_MAC_ADDRESS0_LO   0xFFFFFFFF
 
#define EMAC_ADDR1HIGH_ADDRESS_ENABLE1   0x80000000
 
#define EMAC_ADDR1HIGH_SOURCE_ADDRESS1   0x40000000
 
#define EMAC_ADDR1HIGH_MASK_BYTE_CONTROL1   0x3F000000
 
#define EMAC_ADDR1HIGH_MAC_ADDRESS1_HI   0x0000FFFF
 
#define EMAC_ADDR1LOW_MAC_ADDRESS1_LO   0xFFFFFFFF
 
#define EMAC_ADDR2HIGH_ADDRESS_ENABLE2   0x80000000
 
#define EMAC_ADDR2HIGH_SOURCE_ADDRESS2   0x40000000
 
#define EMAC_ADDR2HIGH_MASK_BYTE_CONTROL2   0x3F000000
 
#define EMAC_ADDR2HIGH_MAC_ADDRESS2_HI   0x0000FFFF
 
#define EMAC_ADDR2LOW_MAC_ADDRESS2_LO   0xFFFFFFFF
 
#define EMAC_ADDR3HIGH_ADDRESS_ENABLE3   0x80000000
 
#define EMAC_ADDR3HIGH_SOURCE_ADDRESS3   0x40000000
 
#define EMAC_ADDR3HIGH_MASK_BYTE_CONTROL3   0x3F000000
 
#define EMAC_ADDR3HIGH_MAC_ADDRESS3_HI   0x0000FFFF
 
#define EMAC_ADDR3LOW_MAC_ADDRESS3_LO   0xFFFFFFFF
 
#define EMAC_ADDR4HIGH_ADDRESS_ENABLE4   0x80000000
 
#define EMAC_ADDR4HIGH_SOURCE_ADDRESS4   0x40000000
 
#define EMAC_ADDR4HIGH_MASK_BYTE_CONTROL4   0x3F000000
 
#define EMAC_ADDR4HIGH_MAC_ADDRESS4_HI   0x0000FFFF
 
#define EMAC_ADDR4LOW_MAC_ADDRESS4_LO   0xFFFFFFFF
 
#define EMAC_ADDR5HIGH_ADDRESS_ENABLE5   0x80000000
 
#define EMAC_ADDR5HIGH_SOURCE_ADDRESS5   0x40000000
 
#define EMAC_ADDR5HIGH_MASK_BYTE_CONTROL5   0x3F000000
 
#define EMAC_ADDR5HIGH_MAC_ADDRESS5_HI   0x0000FFFF
 
#define EMAC_ADDR5LOW_MAC_ADDRESS5_LO   0xFFFFFFFF
 
#define EMAC_ADDR6HIGH_ADDRESS_ENABLE6   0x80000000
 
#define EMAC_ADDR6HIGH_SOURCE_ADDRESS6   0x40000000
 
#define EMAC_ADDR6HIGH_MASK_BYTE_CONTROL6   0x3F000000
 
#define EMAC_ADDR6HIGH_MAC_ADDRESS6_HI   0x0000FFFF
 
#define EMAC_ADDR6LOW_MAC_ADDRESS6_LO   0xFFFFFFFF
 
#define EMAC_ADDR7HIGH_ADDRESS_ENABLE7   0x80000000
 
#define EMAC_ADDR7HIGH_SOURCE_ADDRESS7   0x40000000
 
#define EMAC_ADDR7HIGH_MASK_BYTE_CONTROL7   0x3F000000
 
#define EMAC_ADDR7HIGH_MAC_ADDRESS7_HI   0x0000FFFF
 
#define EMAC_ADDR7LOW_MAC_ADDRESS7_LO   0xFFFFFFFF
 
#define EMAC_STATUS_SMIDRXS   0x00010000
 
#define EMAC_STATUS_JABBER_TIMEOUT   0x00000010
 
#define EMAC_STATUS_LINK_SPEED   0x00000006
 
#define EMAC_STATUS_LINK_SPEED_2_5_MHZ   0x00000000
 
#define EMAC_STATUS_LINK_SPEED_25_MHZ   0x00000002
 
#define EMAC_STATUS_LINK_SPEED_125_MHZ   0x00000004
 
#define EMAC_STATUS_LINK_MODE   0x00000001
 
#define EMAC_STATUS_LINK_MODE_HALF_DUPLEX   0x00000000
 
#define EMAC_STATUS_LINK_MODE_FULL_DUPLEX   0x00000001
 
#define EMAC_WDOGTO_PWDOGEN   0x00010000
 
#define EMAC_WDOGTO_WDOGTO   0x00003FFF
 
#define EMAC_EX_CLKOUT_CONF_EMAC_CLK_OUT_H_DIV_NUM   0x000000F0
 
#define EMAC_EX_CLKOUT_CONF_EMAC_CLK_OUT_DIV_NUM   0x0000000F
 
#define EMAC_EX_OSCCLK_CONF_EMAC_OSC_CLK_SEL   0x01000000
 
#define EMAC_EX_OSCCLK_CONF_EMAC_OSC_H_DIV_NUM_100M   0x00FC0000
 
#define EMAC_EX_OSCCLK_CONF_EMAC_OSC_DIV_NUM_100M   0x0003F000
 
#define EMAC_EX_OSCCLK_CONF_EMAC_OSC_H_DIV_NUM_10M   0x00000FC0
 
#define EMAC_EX_OSCCLK_CONF_EMAC_OSC_DIV_NUM_10M   0x0000003F
 
#define EMAC_EX_CLK_CTRL_EMAC_MII_CLK_RX_EN   0x00000010
 
#define EMAC_EX_CLK_CTRL_EMAC_MII_CLK_TX_EN   0x00000008
 
#define EMAC_EX_CLK_CTRL_EMAC_INT_OSC_EN   0x00000002
 
#define EMAC_EX_CLK_CTRL_EMAC_EXT_OSC_EN   0x00000001
 
#define EMAC_EX_PHYINF_CONF_EMAC_PHY_INTF_SEL   0x0000E000
 
#define EMAC_EX_PHYINF_CONF_EMAC_PHY_INTF_SEL_MII   0x00000000
 
#define EMAC_EX_PHYINF_CONF_EMAC_PHY_INTF_SEL_RMII   0x00008000
 
#define EMAC_PD_SEL_EMAC_RAM_PD_EN   0x00000003
 
#define EMAC_TDES0_OWN   0x80000000
 
#define EMAC_TDES0_IC   0x40000000
 
#define EMAC_TDES0_LS   0x20000000
 
#define EMAC_TDES0_FS   0x10000000
 
#define EMAC_TDES0_DC   0x08000000
 
#define EMAC_TDES0_DP   0x04000000
 
#define EMAC_TDES0_TTSE   0x02000000
 
#define EMAC_TDES0_CIC   0x00C00000
 
#define EMAC_TDES0_TER   0x00200000
 
#define EMAC_TDES0_TCH   0x00100000
 
#define EMAC_TDES0_TTSS   0x00020000
 
#define EMAC_TDES0_IHE   0x00010000
 
#define EMAC_TDES0_ES   0x00008000
 
#define EMAC_TDES0_JT   0x00004000
 
#define EMAC_TDES0_FF   0x00002000
 
#define EMAC_TDES0_IPE   0x00001000
 
#define EMAC_TDES0_LCA   0x00000800
 
#define EMAC_TDES0_NC   0x00000400
 
#define EMAC_TDES0_LCO   0x00000200
 
#define EMAC_TDES0_EC   0x00000100
 
#define EMAC_TDES0_VF   0x00000080
 
#define EMAC_TDES0_CC   0x00000078
 
#define EMAC_TDES0_ED   0x00000004
 
#define EMAC_TDES0_UF   0x00000002
 
#define EMAC_TDES0_DB   0x00000001
 
#define EMAC_TDES1_TBS2   0x1FFF0000
 
#define EMAC_TDES1_TBS1   0x00001FFF
 
#define EMAC_TDES2_TBAP1   0xFFFFFFFF
 
#define EMAC_TDES3_TBAP2   0xFFFFFFFF
 
#define EMAC_TDES6_TTSL   0xFFFFFFFF
 
#define EMAC_TDES7_TTSH   0xFFFFFFFF
 
#define EMAC_RDES0_OWN   0x80000000
 
#define EMAC_RDES0_AFM   0x40000000
 
#define EMAC_RDES0_FL   0x3FFF0000
 
#define EMAC_RDES0_ES   0x00008000
 
#define EMAC_RDES0_DE   0x00004000
 
#define EMAC_RDES0_SAF   0x00002000
 
#define EMAC_RDES0_LE   0x00001000
 
#define EMAC_RDES0_OE   0x00000800
 
#define EMAC_RDES0_VLAN   0x00000400
 
#define EMAC_RDES0_FS   0x00000200
 
#define EMAC_RDES0_LS   0x00000100
 
#define EMAC_RDES0_IPHCE   0x00000080
 
#define EMAC_RDES0_LCO   0x00000040
 
#define EMAC_RDES0_FT   0x00000020
 
#define EMAC_RDES0_RWT   0x00000010
 
#define EMAC_RDES0_RE   0x00000008
 
#define EMAC_RDES0_DBE   0x00000004
 
#define EMAC_RDES0_CE   0x00000002
 
#define EMAC_RDES0_PCE   0x00000001
 
#define EMAC_RDES1_DIC   0x80000000
 
#define EMAC_RDES1_RBS2   0x1FFF0000
 
#define EMAC_RDES1_RER   0x00008000
 
#define EMAC_RDES1_RCH   0x00004000
 
#define EMAC_RDES1_RBS1   0x00001FFF
 
#define EMAC_RDES2_RBAP1   0xFFFFFFFF
 
#define EMAC_RDES3_RBAP2   0xFFFFFFFF
 
#define EMAC_RDES4_PV   0x00002000
 
#define EMAC_RDES4_PFT   0x00001000
 
#define EMAC_RDES4_PMT   0x00000F00
 
#define EMAC_RDES4_IPV6PR   0x00000080
 
#define EMAC_RDES4_IPV4PR   0x00000040
 
#define EMAC_RDES4_IPCB   0x00000020
 
#define EMAC_RDES4_IPPE   0x00000010
 
#define EMAC_RDES4_IPHE   0x00000008
 
#define EMAC_RDES4_IPPT   0x00000007
 
#define EMAC_RDES6_RTSL   0xFFFFFFFF
 
#define EMAC_RDES7_RTSH   0xFFFFFFFF
 

Functions

error_t esp32EthInit (NetInterface *interface)
 ESP32 Ethernet MAC initialization. More...
 
void esp32EthInitGpio (NetInterface *interface)
 GPIO configuration. More...
 
void esp32EthInitDmaDesc (NetInterface *interface)
 Initialize DMA descriptor lists. More...
 
void esp32EthTick (NetInterface *interface)
 ESP32 Ethernet MAC timer handler. More...
 
void esp32EthEnableIrq (NetInterface *interface)
 Enable interrupts. More...
 
void esp32EthDisableIrq (NetInterface *interface)
 Disable interrupts. More...
 
void esp32EthIrqHandler (void *arg)
 ESP32 Ethernet MAC interrupt service routine. More...
 
void esp32EthEventHandler (NetInterface *interface)
 ESP32 Ethernet MAC event handler. More...
 
error_t esp32EthSendPacket (NetInterface *interface, const NetBuffer *buffer, size_t offset, NetTxAncillary *ancillary)
 Send a packet. More...
 
error_t esp32EthReceivePacket (NetInterface *interface)
 Receive a packet. More...
 
error_t esp32EthUpdateMacAddrFilter (NetInterface *interface)
 Configure MAC address filtering. More...
 
error_t esp32EthUpdateMacConfig (NetInterface *interface)
 Adjust MAC configuration parameters for proper operation. More...
 
void esp32EthWritePhyReg (uint8_t opcode, uint8_t phyAddr, uint8_t regAddr, uint16_t data)
 Write PHY register. More...
 
uint16_t esp32EthReadPhyReg (uint8_t opcode, uint8_t phyAddr, uint8_t regAddr)
 Read PHY register. More...
 

Variables

const NicDriver esp32EthDriver
 ESP32 Ethernet MAC driver. More...
 

Detailed Description

ESP32 Ethernet MAC driver.

License

SPDX-License-Identifier: GPL-2.0-or-later

Copyright (C) 2010-2024 Oryx Embedded SARL. All rights reserved.

This file is part of CycloneTCP Open.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Author
Oryx Embedded SARL (www.oryx-embedded.com)
Version
2.4.0

Definition in file esp32_eth_driver.h.

Macro Definition Documentation

◆ EMAC_ADDR0HIGH_ADDRESS_ENABLE0

#define EMAC_ADDR0HIGH_ADDRESS_ENABLE0   0x80000000

Definition at line 385 of file esp32_eth_driver.h.

◆ EMAC_ADDR0HIGH_MAC_ADDRESS0_HI

#define EMAC_ADDR0HIGH_MAC_ADDRESS0_HI   0x0000FFFF

Definition at line 386 of file esp32_eth_driver.h.

◆ EMAC_ADDR0HIGH_REG

#define EMAC_ADDR0HIGH_REG   *((volatile uint32_t *) 0x3FF6A040)

Definition at line 99 of file esp32_eth_driver.h.

◆ EMAC_ADDR0LOW_MAC_ADDRESS0_LO

#define EMAC_ADDR0LOW_MAC_ADDRESS0_LO   0xFFFFFFFF

Definition at line 389 of file esp32_eth_driver.h.

◆ EMAC_ADDR0LOW_REG

#define EMAC_ADDR0LOW_REG   *((volatile uint32_t *) 0x3FF6A044)

Definition at line 100 of file esp32_eth_driver.h.

◆ EMAC_ADDR1HIGH_ADDRESS_ENABLE1

#define EMAC_ADDR1HIGH_ADDRESS_ENABLE1   0x80000000

Definition at line 392 of file esp32_eth_driver.h.

◆ EMAC_ADDR1HIGH_MAC_ADDRESS1_HI

#define EMAC_ADDR1HIGH_MAC_ADDRESS1_HI   0x0000FFFF

Definition at line 395 of file esp32_eth_driver.h.

◆ EMAC_ADDR1HIGH_MASK_BYTE_CONTROL1

#define EMAC_ADDR1HIGH_MASK_BYTE_CONTROL1   0x3F000000

Definition at line 394 of file esp32_eth_driver.h.

◆ EMAC_ADDR1HIGH_REG

#define EMAC_ADDR1HIGH_REG   *((volatile uint32_t *) 0x3FF6A048)

Definition at line 101 of file esp32_eth_driver.h.

◆ EMAC_ADDR1HIGH_SOURCE_ADDRESS1

#define EMAC_ADDR1HIGH_SOURCE_ADDRESS1   0x40000000

Definition at line 393 of file esp32_eth_driver.h.

◆ EMAC_ADDR1LOW_MAC_ADDRESS1_LO

#define EMAC_ADDR1LOW_MAC_ADDRESS1_LO   0xFFFFFFFF

Definition at line 398 of file esp32_eth_driver.h.

◆ EMAC_ADDR1LOW_REG

#define EMAC_ADDR1LOW_REG   *((volatile uint32_t *) 0x3FF6A04C)

Definition at line 102 of file esp32_eth_driver.h.

◆ EMAC_ADDR2HIGH_ADDRESS_ENABLE2

#define EMAC_ADDR2HIGH_ADDRESS_ENABLE2   0x80000000

Definition at line 401 of file esp32_eth_driver.h.

◆ EMAC_ADDR2HIGH_MAC_ADDRESS2_HI

#define EMAC_ADDR2HIGH_MAC_ADDRESS2_HI   0x0000FFFF

Definition at line 404 of file esp32_eth_driver.h.

◆ EMAC_ADDR2HIGH_MASK_BYTE_CONTROL2

#define EMAC_ADDR2HIGH_MASK_BYTE_CONTROL2   0x3F000000

Definition at line 403 of file esp32_eth_driver.h.

◆ EMAC_ADDR2HIGH_REG

#define EMAC_ADDR2HIGH_REG   *((volatile uint32_t *) 0x3FF6A050)

Definition at line 103 of file esp32_eth_driver.h.

◆ EMAC_ADDR2HIGH_SOURCE_ADDRESS2

#define EMAC_ADDR2HIGH_SOURCE_ADDRESS2   0x40000000

Definition at line 402 of file esp32_eth_driver.h.

◆ EMAC_ADDR2LOW_MAC_ADDRESS2_LO

#define EMAC_ADDR2LOW_MAC_ADDRESS2_LO   0xFFFFFFFF

Definition at line 407 of file esp32_eth_driver.h.

◆ EMAC_ADDR2LOW_REG

#define EMAC_ADDR2LOW_REG   *((volatile uint32_t *) 0x3FF6A054)

Definition at line 104 of file esp32_eth_driver.h.

◆ EMAC_ADDR3HIGH_ADDRESS_ENABLE3

#define EMAC_ADDR3HIGH_ADDRESS_ENABLE3   0x80000000

Definition at line 410 of file esp32_eth_driver.h.

◆ EMAC_ADDR3HIGH_MAC_ADDRESS3_HI

#define EMAC_ADDR3HIGH_MAC_ADDRESS3_HI   0x0000FFFF

Definition at line 413 of file esp32_eth_driver.h.

◆ EMAC_ADDR3HIGH_MASK_BYTE_CONTROL3

#define EMAC_ADDR3HIGH_MASK_BYTE_CONTROL3   0x3F000000

Definition at line 412 of file esp32_eth_driver.h.

◆ EMAC_ADDR3HIGH_REG

#define EMAC_ADDR3HIGH_REG   *((volatile uint32_t *) 0x3FF6A058)

Definition at line 105 of file esp32_eth_driver.h.

◆ EMAC_ADDR3HIGH_SOURCE_ADDRESS3

#define EMAC_ADDR3HIGH_SOURCE_ADDRESS3   0x40000000

Definition at line 411 of file esp32_eth_driver.h.

◆ EMAC_ADDR3LOW_MAC_ADDRESS3_LO

#define EMAC_ADDR3LOW_MAC_ADDRESS3_LO   0xFFFFFFFF

Definition at line 416 of file esp32_eth_driver.h.

◆ EMAC_ADDR3LOW_REG

#define EMAC_ADDR3LOW_REG   *((volatile uint32_t *) 0x3FF6A05C)

Definition at line 106 of file esp32_eth_driver.h.

◆ EMAC_ADDR4HIGH_ADDRESS_ENABLE4

#define EMAC_ADDR4HIGH_ADDRESS_ENABLE4   0x80000000

Definition at line 419 of file esp32_eth_driver.h.

◆ EMAC_ADDR4HIGH_MAC_ADDRESS4_HI

#define EMAC_ADDR4HIGH_MAC_ADDRESS4_HI   0x0000FFFF

Definition at line 422 of file esp32_eth_driver.h.

◆ EMAC_ADDR4HIGH_MASK_BYTE_CONTROL4

#define EMAC_ADDR4HIGH_MASK_BYTE_CONTROL4   0x3F000000

Definition at line 421 of file esp32_eth_driver.h.

◆ EMAC_ADDR4HIGH_REG

#define EMAC_ADDR4HIGH_REG   *((volatile uint32_t *) 0x3FF6A060)

Definition at line 107 of file esp32_eth_driver.h.

◆ EMAC_ADDR4HIGH_SOURCE_ADDRESS4

#define EMAC_ADDR4HIGH_SOURCE_ADDRESS4   0x40000000

Definition at line 420 of file esp32_eth_driver.h.

◆ EMAC_ADDR4LOW_MAC_ADDRESS4_LO

#define EMAC_ADDR4LOW_MAC_ADDRESS4_LO   0xFFFFFFFF

Definition at line 425 of file esp32_eth_driver.h.

◆ EMAC_ADDR4LOW_REG

#define EMAC_ADDR4LOW_REG   *((volatile uint32_t *) 0x3FF6A064)

Definition at line 108 of file esp32_eth_driver.h.

◆ EMAC_ADDR5HIGH_ADDRESS_ENABLE5

#define EMAC_ADDR5HIGH_ADDRESS_ENABLE5   0x80000000

Definition at line 428 of file esp32_eth_driver.h.

◆ EMAC_ADDR5HIGH_MAC_ADDRESS5_HI

#define EMAC_ADDR5HIGH_MAC_ADDRESS5_HI   0x0000FFFF

Definition at line 431 of file esp32_eth_driver.h.

◆ EMAC_ADDR5HIGH_MASK_BYTE_CONTROL5

#define EMAC_ADDR5HIGH_MASK_BYTE_CONTROL5   0x3F000000

Definition at line 430 of file esp32_eth_driver.h.

◆ EMAC_ADDR5HIGH_REG

#define EMAC_ADDR5HIGH_REG   *((volatile uint32_t *) 0x3FF6A068)

Definition at line 109 of file esp32_eth_driver.h.

◆ EMAC_ADDR5HIGH_SOURCE_ADDRESS5

#define EMAC_ADDR5HIGH_SOURCE_ADDRESS5   0x40000000

Definition at line 429 of file esp32_eth_driver.h.

◆ EMAC_ADDR5LOW_MAC_ADDRESS5_LO

#define EMAC_ADDR5LOW_MAC_ADDRESS5_LO   0xFFFFFFFF

Definition at line 434 of file esp32_eth_driver.h.

◆ EMAC_ADDR5LOW_REG

#define EMAC_ADDR5LOW_REG   *((volatile uint32_t *) 0x3FF6A06C)

Definition at line 110 of file esp32_eth_driver.h.

◆ EMAC_ADDR6HIGH_ADDRESS_ENABLE6

#define EMAC_ADDR6HIGH_ADDRESS_ENABLE6   0x80000000

Definition at line 437 of file esp32_eth_driver.h.

◆ EMAC_ADDR6HIGH_MAC_ADDRESS6_HI

#define EMAC_ADDR6HIGH_MAC_ADDRESS6_HI   0x0000FFFF

Definition at line 440 of file esp32_eth_driver.h.

◆ EMAC_ADDR6HIGH_MASK_BYTE_CONTROL6

#define EMAC_ADDR6HIGH_MASK_BYTE_CONTROL6   0x3F000000

Definition at line 439 of file esp32_eth_driver.h.

◆ EMAC_ADDR6HIGH_REG

#define EMAC_ADDR6HIGH_REG   *((volatile uint32_t *) 0x3FF6A070)

Definition at line 111 of file esp32_eth_driver.h.

◆ EMAC_ADDR6HIGH_SOURCE_ADDRESS6

#define EMAC_ADDR6HIGH_SOURCE_ADDRESS6   0x40000000

Definition at line 438 of file esp32_eth_driver.h.

◆ EMAC_ADDR6LOW_MAC_ADDRESS6_LO

#define EMAC_ADDR6LOW_MAC_ADDRESS6_LO   0xFFFFFFFF

Definition at line 443 of file esp32_eth_driver.h.

◆ EMAC_ADDR6LOW_REG

#define EMAC_ADDR6LOW_REG   *((volatile uint32_t *) 0x3FF6A074)

Definition at line 112 of file esp32_eth_driver.h.

◆ EMAC_ADDR7HIGH_ADDRESS_ENABLE7

#define EMAC_ADDR7HIGH_ADDRESS_ENABLE7   0x80000000

Definition at line 446 of file esp32_eth_driver.h.

◆ EMAC_ADDR7HIGH_MAC_ADDRESS7_HI

#define EMAC_ADDR7HIGH_MAC_ADDRESS7_HI   0x0000FFFF

Definition at line 449 of file esp32_eth_driver.h.

◆ EMAC_ADDR7HIGH_MASK_BYTE_CONTROL7

#define EMAC_ADDR7HIGH_MASK_BYTE_CONTROL7   0x3F000000

Definition at line 448 of file esp32_eth_driver.h.

◆ EMAC_ADDR7HIGH_REG

#define EMAC_ADDR7HIGH_REG   *((volatile uint32_t *) 0x3FF6A078)

Definition at line 113 of file esp32_eth_driver.h.

◆ EMAC_ADDR7HIGH_SOURCE_ADDRESS7

#define EMAC_ADDR7HIGH_SOURCE_ADDRESS7   0x40000000

Definition at line 447 of file esp32_eth_driver.h.

◆ EMAC_ADDR7LOW_MAC_ADDRESS7_LO

#define EMAC_ADDR7LOW_MAC_ADDRESS7_LO   0xFFFFFFFF

Definition at line 452 of file esp32_eth_driver.h.

◆ EMAC_ADDR7LOW_REG

#define EMAC_ADDR7LOW_REG   *((volatile uint32_t *) 0x3FF6A07C)

Definition at line 114 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_ASS2KP

#define EMAC_CONFIG_ASS2KP   0x08000000

Definition at line 252 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_EMACBACKOFFLIMIT

#define EMAC_CONFIG_EMACBACKOFFLIMIT   0x00000060

Definition at line 274 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_EMACBACKOFFLIMIT_1

#define EMAC_CONFIG_EMACBACKOFFLIMIT_1   0x00000060

Definition at line 278 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_EMACBACKOFFLIMIT_10

#define EMAC_CONFIG_EMACBACKOFFLIMIT_10   0x00000040

Definition at line 275 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_EMACBACKOFFLIMIT_4

#define EMAC_CONFIG_EMACBACKOFFLIMIT_4   0x00000040

Definition at line 277 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_EMACBACKOFFLIMIT_8

#define EMAC_CONFIG_EMACBACKOFFLIMIT_8   0x00000020

Definition at line 276 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_EMACDEFERRALCHECK

#define EMAC_CONFIG_EMACDEFERRALCHECK   0x00000010

Definition at line 279 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_EMACDISABLECRS

#define EMAC_CONFIG_EMACDISABLECRS   0x00010000

Definition at line 265 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_EMACDUPLEX

#define EMAC_CONFIG_EMACDUPLEX   0x00000800

Definition at line 270 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_EMACFESPEED

#define EMAC_CONFIG_EMACFESPEED   0x00004000

Definition at line 267 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_EMACINTERFRAMEGAP

#define EMAC_CONFIG_EMACINTERFRAMEGAP   0x000E0000

Definition at line 256 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_EMACINTERFRAMEGAP_40

#define EMAC_CONFIG_EMACINTERFRAMEGAP_40   0x000E0000

Definition at line 264 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_EMACINTERFRAMEGAP_48

#define EMAC_CONFIG_EMACINTERFRAMEGAP_48   0x000C0000

Definition at line 263 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_EMACINTERFRAMEGAP_56

#define EMAC_CONFIG_EMACINTERFRAMEGAP_56   0x000A0000

Definition at line 262 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_EMACINTERFRAMEGAP_64

#define EMAC_CONFIG_EMACINTERFRAMEGAP_64   0x00080000

Definition at line 261 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_EMACINTERFRAMEGAP_72

#define EMAC_CONFIG_EMACINTERFRAMEGAP_72   0x00060000

Definition at line 260 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_EMACINTERFRAMEGAP_80

#define EMAC_CONFIG_EMACINTERFRAMEGAP_80   0x00040000

Definition at line 259 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_EMACINTERFRAMEGAP_88

#define EMAC_CONFIG_EMACINTERFRAMEGAP_88   0x00020000

Definition at line 258 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_EMACINTERFRAMEGAP_96

#define EMAC_CONFIG_EMACINTERFRAMEGAP_96   0x00000000

Definition at line 257 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_EMACJABBER

#define EMAC_CONFIG_EMACJABBER   0x00400000

Definition at line 254 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_EMACJUMBOFRAME

#define EMAC_CONFIG_EMACJUMBOFRAME   0x00100000

Definition at line 255 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_EMACLOOPBACK

#define EMAC_CONFIG_EMACLOOPBACK   0x00001000

Definition at line 269 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_EMACMII

#define EMAC_CONFIG_EMACMII   0x00008000

Definition at line 266 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_EMACPADCRCSTRIP

#define EMAC_CONFIG_EMACPADCRCSTRIP   0x00000080

Definition at line 273 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_EMACRETRY

#define EMAC_CONFIG_EMACRETRY   0x00000200

Definition at line 272 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_EMACRX

#define EMAC_CONFIG_EMACRX   0x00000004

Definition at line 281 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_EMACRXIPCOFFLOAD

#define EMAC_CONFIG_EMACRXIPCOFFLOAD   0x00000400

Definition at line 271 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_EMACRXOWN

#define EMAC_CONFIG_EMACRXOWN   0x00002000

Definition at line 268 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_EMACTX

#define EMAC_CONFIG_EMACTX   0x00000008

Definition at line 280 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_EMACWATCHDOG

#define EMAC_CONFIG_EMACWATCHDOG   0x00800000

Definition at line 253 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_PLTF

#define EMAC_CONFIG_PLTF   0x00000003

Definition at line 282 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_PLTF_3

#define EMAC_CONFIG_PLTF_3   0x00000002

Definition at line 285 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_PLTF_5

#define EMAC_CONFIG_PLTF_5   0x00000001

Definition at line 284 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_PLTF_7

#define EMAC_CONFIG_PLTF_7   0x00000000

Definition at line 283 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_REG

#define EMAC_CONFIG_REG   *((volatile uint32_t *) 0x3FF6A000)

Definition at line 87 of file esp32_eth_driver.h.

◆ EMAC_CONFIG_SAIRC

#define EMAC_CONFIG_SAIRC   0x70000000

Definition at line 251 of file esp32_eth_driver.h.

◆ EMAC_DEBUG_MACRFFCS

#define EMAC_DEBUG_MACRFFCS   0x00000006

Definition at line 348 of file esp32_eth_driver.h.

◆ EMAC_DEBUG_MACRPES

#define EMAC_DEBUG_MACRPES   0x00000001

Definition at line 349 of file esp32_eth_driver.h.

◆ EMAC_DEBUG_MACTFCS

#define EMAC_DEBUG_MACTFCS   0x00060000

Definition at line 331 of file esp32_eth_driver.h.

◆ EMAC_DEBUG_MACTFCS_GENERATING_PAUSE

#define EMAC_DEBUG_MACTFCS_GENERATING_PAUSE   0x00040000

Definition at line 334 of file esp32_eth_driver.h.

◆ EMAC_DEBUG_MACTFCS_IDLE

#define EMAC_DEBUG_MACTFCS_IDLE   0x00000000

Definition at line 332 of file esp32_eth_driver.h.

◆ EMAC_DEBUG_MACTFCS_TRANSFERRING_FRAME

#define EMAC_DEBUG_MACTFCS_TRANSFERRING_FRAME   0x00060000

Definition at line 335 of file esp32_eth_driver.h.

◆ EMAC_DEBUG_MACTFCS_WAITING_STATUS

#define EMAC_DEBUG_MACTFCS_WAITING_STATUS   0x00020000

Definition at line 333 of file esp32_eth_driver.h.

◆ EMAC_DEBUG_MACTP

#define EMAC_DEBUG_MACTP   0x00080000

Definition at line 330 of file esp32_eth_driver.h.

◆ EMAC_DEBUG_MACTPES

#define EMAC_DEBUG_MACTPES   0x00010000

Definition at line 336 of file esp32_eth_driver.h.

◆ EMAC_DEBUG_MTLRFFLS

#define EMAC_DEBUG_MTLRFFLS   0x00000300

Definition at line 337 of file esp32_eth_driver.h.

◆ EMAC_DEBUG_MTLRFFLS_ABOVE_THRESHOLD

#define EMAC_DEBUG_MTLRFFLS_ABOVE_THRESHOLD   0x00000200

Definition at line 340 of file esp32_eth_driver.h.

◆ EMAC_DEBUG_MTLRFFLS_BELOW_THRESHOLD

#define EMAC_DEBUG_MTLRFFLS_BELOW_THRESHOLD   0x00000100

Definition at line 339 of file esp32_eth_driver.h.

◆ EMAC_DEBUG_MTLRFFLS_EMPTY

#define EMAC_DEBUG_MTLRFFLS_EMPTY   0x00000000

Definition at line 338 of file esp32_eth_driver.h.

◆ EMAC_DEBUG_MTLRFFLS_FULL

#define EMAC_DEBUG_MTLRFFLS_FULL   0x00000300

Definition at line 341 of file esp32_eth_driver.h.

◆ EMAC_DEBUG_MTLRFRCS

#define EMAC_DEBUG_MTLRFRCS   0x00000060

Definition at line 342 of file esp32_eth_driver.h.

◆ EMAC_DEBUG_MTLRFRCS_FLUSHING

#define EMAC_DEBUG_MTLRFRCS_FLUSHING   0x00000060

Definition at line 346 of file esp32_eth_driver.h.

◆ EMAC_DEBUG_MTLRFRCS_IDLE

#define EMAC_DEBUG_MTLRFRCS_IDLE   0x00000000

Definition at line 343 of file esp32_eth_driver.h.

◆ EMAC_DEBUG_MTLRFRCS_READING_DATA

#define EMAC_DEBUG_MTLRFRCS_READING_DATA   0x00000020

Definition at line 344 of file esp32_eth_driver.h.

◆ EMAC_DEBUG_MTLRFRCS_READING_STATUS

#define EMAC_DEBUG_MTLRFRCS_READING_STATUS   0x00000040

Definition at line 345 of file esp32_eth_driver.h.

◆ EMAC_DEBUG_MTLRFWCAS

#define EMAC_DEBUG_MTLRFWCAS   0x00000010

Definition at line 347 of file esp32_eth_driver.h.

◆ EMAC_DEBUG_MTLTFNES

#define EMAC_DEBUG_MTLTFNES   0x01000000

Definition at line 323 of file esp32_eth_driver.h.

◆ EMAC_DEBUG_MTLTFRCS

#define EMAC_DEBUG_MTLTFRCS   0x00300000

Definition at line 325 of file esp32_eth_driver.h.

◆ EMAC_DEBUG_MTLTFRCS_IDLE

#define EMAC_DEBUG_MTLTFRCS_IDLE   0x00000000

Definition at line 326 of file esp32_eth_driver.h.

◆ EMAC_DEBUG_MTLTFRCS_READ

#define EMAC_DEBUG_MTLTFRCS_READ   0x00100000

Definition at line 327 of file esp32_eth_driver.h.

◆ EMAC_DEBUG_MTLTFRCS_WAITING

#define EMAC_DEBUG_MTLTFRCS_WAITING   0x00200000

Definition at line 328 of file esp32_eth_driver.h.

◆ EMAC_DEBUG_MTLTFRCS_WRITING

#define EMAC_DEBUG_MTLTFRCS_WRITING   0x00300000

Definition at line 329 of file esp32_eth_driver.h.

◆ EMAC_DEBUG_MTLTFWCS

#define EMAC_DEBUG_MTLTFWCS   0x00400000

Definition at line 324 of file esp32_eth_driver.h.

◆ EMAC_DEBUG_MTLTSFFS

#define EMAC_DEBUG_MTLTSFFS   0x02000000

Definition at line 322 of file esp32_eth_driver.h.

◆ EMAC_DEBUG_REG

#define EMAC_DEBUG_REG   *((volatile uint32_t *) 0x3FF6A024)

Definition at line 92 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_ALT_DESC_SIZE

#define EMAC_DMABUSMODE_ALT_DESC_SIZE   0x00000080

Definition at line 152 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_DESC_SKIP_LEN

#define EMAC_DMABUSMODE_DESC_SKIP_LEN   0x0000007C

Definition at line 153 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_DESC_SKIP_LEN_0

#define EMAC_DMABUSMODE_DESC_SKIP_LEN_0   0x00000000

Definition at line 154 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_DESC_SKIP_LEN_1

#define EMAC_DMABUSMODE_DESC_SKIP_LEN_1   0x00000004

Definition at line 155 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_DESC_SKIP_LEN_16

#define EMAC_DMABUSMODE_DESC_SKIP_LEN_16   0x00000040

Definition at line 159 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_DESC_SKIP_LEN_2

#define EMAC_DMABUSMODE_DESC_SKIP_LEN_2   0x00000008

Definition at line 156 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_DESC_SKIP_LEN_4

#define EMAC_DMABUSMODE_DESC_SKIP_LEN_4   0x00000010

Definition at line 157 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_DESC_SKIP_LEN_8

#define EMAC_DMABUSMODE_DESC_SKIP_LEN_8   0x00000020

Definition at line 158 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_DMA_ARB_SCH

#define EMAC_DMABUSMODE_DMA_ARB_SCH   0x00000002

Definition at line 160 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_DMAADDRALIBEA

#define EMAC_DMABUSMODE_DMAADDRALIBEA   0x02000000

Definition at line 129 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_DMAMIXEDBURST

#define EMAC_DMABUSMODE_DMAMIXEDBURST   0x04000000

Definition at line 128 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_FIXED_BURST

#define EMAC_DMABUSMODE_FIXED_BURST   0x00010000

Definition at line 139 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_PBLX8_MODE

#define EMAC_DMABUSMODE_PBLX8_MODE   0x01000000

Definition at line 130 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_PRI_RATIO

#define EMAC_DMABUSMODE_PRI_RATIO   0x0000C000

Definition at line 140 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_PRI_RATIO_1_1

#define EMAC_DMABUSMODE_PRI_RATIO_1_1   0x00000000

Definition at line 141 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_PRI_RATIO_2_1

#define EMAC_DMABUSMODE_PRI_RATIO_2_1   0x00004000

Definition at line 142 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_PRI_RATIO_3_1

#define EMAC_DMABUSMODE_PRI_RATIO_3_1   0x00008000

Definition at line 143 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_PRI_RATIO_4_1

#define EMAC_DMABUSMODE_PRI_RATIO_4_1   0x0000C000

Definition at line 144 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_PROG_BURST_LEN

#define EMAC_DMABUSMODE_PROG_BURST_LEN   0x00003F00

Definition at line 145 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_PROG_BURST_LEN_1

#define EMAC_DMABUSMODE_PROG_BURST_LEN_1   0x00000100

Definition at line 146 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_PROG_BURST_LEN_16

#define EMAC_DMABUSMODE_PROG_BURST_LEN_16   0x00001000

Definition at line 150 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_PROG_BURST_LEN_2

#define EMAC_DMABUSMODE_PROG_BURST_LEN_2   0x00000200

Definition at line 147 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_PROG_BURST_LEN_32

#define EMAC_DMABUSMODE_PROG_BURST_LEN_32   0x00002000

Definition at line 151 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_PROG_BURST_LEN_4

#define EMAC_DMABUSMODE_PROG_BURST_LEN_4   0x00000400

Definition at line 148 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_PROG_BURST_LEN_8

#define EMAC_DMABUSMODE_PROG_BURST_LEN_8   0x00000800

Definition at line 149 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_REG

#define EMAC_DMABUSMODE_REG   *((volatile uint32_t *) 0x3FF69000)

Definition at line 71 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_RX_DMA_PBL

#define EMAC_DMABUSMODE_RX_DMA_PBL   0x007E0000

Definition at line 132 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_RX_DMA_PBL_1

#define EMAC_DMABUSMODE_RX_DMA_PBL_1   0x00020000

Definition at line 133 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_RX_DMA_PBL_16

#define EMAC_DMABUSMODE_RX_DMA_PBL_16   0x00200000

Definition at line 137 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_RX_DMA_PBL_2

#define EMAC_DMABUSMODE_RX_DMA_PBL_2   0x00040000

Definition at line 134 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_RX_DMA_PBL_32

#define EMAC_DMABUSMODE_RX_DMA_PBL_32   0x00400000

Definition at line 138 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_RX_DMA_PBL_4

#define EMAC_DMABUSMODE_RX_DMA_PBL_4   0x00080000

Definition at line 135 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_RX_DMA_PBL_8

#define EMAC_DMABUSMODE_RX_DMA_PBL_8   0x00100000

Definition at line 136 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_SW_RST

#define EMAC_DMABUSMODE_SW_RST   0x00000001

Definition at line 161 of file esp32_eth_driver.h.

◆ EMAC_DMABUSMODE_USE_SEP_PBL

#define EMAC_DMABUSMODE_USE_SEP_PBL   0x00800000

Definition at line 131 of file esp32_eth_driver.h.

◆ EMAC_DMAIN_EN_DMAIN_AISE

#define EMAC_DMAIN_EN_DMAIN_AISE   0x00008000

Definition at line 214 of file esp32_eth_driver.h.

◆ EMAC_DMAIN_EN_DMAIN_ERIE

#define EMAC_DMAIN_EN_DMAIN_ERIE   0x00004000

Definition at line 215 of file esp32_eth_driver.h.

◆ EMAC_DMAIN_EN_DMAIN_ETIE

#define EMAC_DMAIN_EN_DMAIN_ETIE   0x00000400

Definition at line 217 of file esp32_eth_driver.h.

◆ EMAC_DMAIN_EN_DMAIN_FBEE

#define EMAC_DMAIN_EN_DMAIN_FBEE   0x00002000

Definition at line 216 of file esp32_eth_driver.h.

◆ EMAC_DMAIN_EN_DMAIN_NISE

#define EMAC_DMAIN_EN_DMAIN_NISE   0x00010000

Definition at line 213 of file esp32_eth_driver.h.

◆ EMAC_DMAIN_EN_DMAIN_OIE

#define EMAC_DMAIN_EN_DMAIN_OIE   0x00000010

Definition at line 223 of file esp32_eth_driver.h.

◆ EMAC_DMAIN_EN_DMAIN_RBUE

#define EMAC_DMAIN_EN_DMAIN_RBUE   0x00000080

Definition at line 220 of file esp32_eth_driver.h.

◆ EMAC_DMAIN_EN_DMAIN_RIE

#define EMAC_DMAIN_EN_DMAIN_RIE   0x00000040

Definition at line 221 of file esp32_eth_driver.h.

◆ EMAC_DMAIN_EN_DMAIN_RSE

#define EMAC_DMAIN_EN_DMAIN_RSE   0x00000100

Definition at line 219 of file esp32_eth_driver.h.

◆ EMAC_DMAIN_EN_DMAIN_RWTE

#define EMAC_DMAIN_EN_DMAIN_RWTE   0x00000200

Definition at line 218 of file esp32_eth_driver.h.

◆ EMAC_DMAIN_EN_DMAIN_TBUE

#define EMAC_DMAIN_EN_DMAIN_TBUE   0x00000004

Definition at line 225 of file esp32_eth_driver.h.

◆ EMAC_DMAIN_EN_DMAIN_TIE

#define EMAC_DMAIN_EN_DMAIN_TIE   0x00000001

Definition at line 227 of file esp32_eth_driver.h.

◆ EMAC_DMAIN_EN_DMAIN_TJTE

#define EMAC_DMAIN_EN_DMAIN_TJTE   0x00000008

Definition at line 224 of file esp32_eth_driver.h.

◆ EMAC_DMAIN_EN_DMAIN_TSE

#define EMAC_DMAIN_EN_DMAIN_TSE   0x00000002

Definition at line 226 of file esp32_eth_driver.h.

◆ EMAC_DMAIN_EN_DMAIN_UIE

#define EMAC_DMAIN_EN_DMAIN_UIE   0x00000020

Definition at line 222 of file esp32_eth_driver.h.

◆ EMAC_DMAIN_EN_REG

#define EMAC_DMAIN_EN_REG   *((volatile uint32_t *) 0x3FF6901C)

Definition at line 78 of file esp32_eth_driver.h.

◆ EMAC_DMAMISSEDFR_MISSED_FC

#define EMAC_DMAMISSEDFR_MISSED_FC   0x0000FFFF

Definition at line 233 of file esp32_eth_driver.h.

◆ EMAC_DMAMISSEDFR_OVERFLOW_BFOC

#define EMAC_DMAMISSEDFR_OVERFLOW_BFOC   0x10000000

Definition at line 230 of file esp32_eth_driver.h.

◆ EMAC_DMAMISSEDFR_OVERFLOW_BMFC

#define EMAC_DMAMISSEDFR_OVERFLOW_BMFC   0x00010000

Definition at line 232 of file esp32_eth_driver.h.

◆ EMAC_DMAMISSEDFR_OVERFLOW_FC

#define EMAC_DMAMISSEDFR_OVERFLOW_FC   0x0FFE0000

Definition at line 231 of file esp32_eth_driver.h.

◆ EMAC_DMAMISSEDFR_REG

#define EMAC_DMAMISSEDFR_REG   *((volatile uint32_t *) 0x3FF69020)

Definition at line 79 of file esp32_eth_driver.h.

◆ EMAC_DMAOPERATION_MODE_DIS_DROP_TCPIP_ERR_FRAM

#define EMAC_DMAOPERATION_MODE_DIS_DROP_TCPIP_ERR_FRAM   0x04000000

Definition at line 186 of file esp32_eth_driver.h.

◆ EMAC_DMAOPERATION_MODE_DIS_FLUSH_RECV_FRAMES

#define EMAC_DMAOPERATION_MODE_DIS_FLUSH_RECV_FRAMES   0x01000000

Definition at line 188 of file esp32_eth_driver.h.

◆ EMAC_DMAOPERATION_MODE_DROP_GFRM

#define EMAC_DMAOPERATION_MODE_DROP_GFRM   0x00000020

Definition at line 203 of file esp32_eth_driver.h.

◆ EMAC_DMAOPERATION_MODE_FLUSH_TX_FIFO

#define EMAC_DMAOPERATION_MODE_FLUSH_TX_FIFO   0x00100000

Definition at line 190 of file esp32_eth_driver.h.

◆ EMAC_DMAOPERATION_MODE_FWD_ERR_FRAME

#define EMAC_DMAOPERATION_MODE_FWD_ERR_FRAME   0x00000080

Definition at line 201 of file esp32_eth_driver.h.

◆ EMAC_DMAOPERATION_MODE_FWD_UNDER_GF

#define EMAC_DMAOPERATION_MODE_FWD_UNDER_GF   0x00000040

Definition at line 202 of file esp32_eth_driver.h.

◆ EMAC_DMAOPERATION_MODE_OPT_SECOND_FRAME

#define EMAC_DMAOPERATION_MODE_OPT_SECOND_FRAME   0x00000004

Definition at line 209 of file esp32_eth_driver.h.

◆ EMAC_DMAOPERATION_MODE_REG

#define EMAC_DMAOPERATION_MODE_REG   *((volatile uint32_t *) 0x3FF69018)

Definition at line 77 of file esp32_eth_driver.h.

◆ EMAC_DMAOPERATION_MODE_RX_STORE_FORWARD

#define EMAC_DMAOPERATION_MODE_RX_STORE_FORWARD   0x02000000

Definition at line 187 of file esp32_eth_driver.h.

◆ EMAC_DMAOPERATION_MODE_RX_THRESH_CTRL

#define EMAC_DMAOPERATION_MODE_RX_THRESH_CTRL   0x00000018

Definition at line 204 of file esp32_eth_driver.h.

◆ EMAC_DMAOPERATION_MODE_RX_THRESH_CTRL_128

#define EMAC_DMAOPERATION_MODE_RX_THRESH_CTRL_128   0x00000018

Definition at line 208 of file esp32_eth_driver.h.

◆ EMAC_DMAOPERATION_MODE_RX_THRESH_CTRL_32

#define EMAC_DMAOPERATION_MODE_RX_THRESH_CTRL_32   0x00000008

Definition at line 206 of file esp32_eth_driver.h.

◆ EMAC_DMAOPERATION_MODE_RX_THRESH_CTRL_64

#define EMAC_DMAOPERATION_MODE_RX_THRESH_CTRL_64   0x00000000

Definition at line 205 of file esp32_eth_driver.h.

◆ EMAC_DMAOPERATION_MODE_RX_THRESH_CTRL_96

#define EMAC_DMAOPERATION_MODE_RX_THRESH_CTRL_96   0x00000010

Definition at line 207 of file esp32_eth_driver.h.

◆ EMAC_DMAOPERATION_MODE_START_STOP_RX

#define EMAC_DMAOPERATION_MODE_START_STOP_RX   0x00000002

Definition at line 210 of file esp32_eth_driver.h.

◆ EMAC_DMAOPERATION_MODE_START_STOP_TX

#define EMAC_DMAOPERATION_MODE_START_STOP_TX   0x00002000

Definition at line 200 of file esp32_eth_driver.h.

◆ EMAC_DMAOPERATION_MODE_TX_STORE_FORWARD

#define EMAC_DMAOPERATION_MODE_TX_STORE_FORWARD   0x00200000

Definition at line 189 of file esp32_eth_driver.h.

◆ EMAC_DMAOPERATION_MODE_TX_THRESH_CTRL

#define EMAC_DMAOPERATION_MODE_TX_THRESH_CTRL   0x0001C000

Definition at line 191 of file esp32_eth_driver.h.

◆ EMAC_DMAOPERATION_MODE_TX_THRESH_CTRL_128

#define EMAC_DMAOPERATION_MODE_TX_THRESH_CTRL_128   0x00004000

Definition at line 193 of file esp32_eth_driver.h.

◆ EMAC_DMAOPERATION_MODE_TX_THRESH_CTRL_16

#define EMAC_DMAOPERATION_MODE_TX_THRESH_CTRL_16   0x0001C000

Definition at line 199 of file esp32_eth_driver.h.

◆ EMAC_DMAOPERATION_MODE_TX_THRESH_CTRL_192

#define EMAC_DMAOPERATION_MODE_TX_THRESH_CTRL_192   0x00008000

Definition at line 194 of file esp32_eth_driver.h.

◆ EMAC_DMAOPERATION_MODE_TX_THRESH_CTRL_24

#define EMAC_DMAOPERATION_MODE_TX_THRESH_CTRL_24   0x00018000

Definition at line 198 of file esp32_eth_driver.h.

◆ EMAC_DMAOPERATION_MODE_TX_THRESH_CTRL_256

#define EMAC_DMAOPERATION_MODE_TX_THRESH_CTRL_256   0x0000C000

Definition at line 195 of file esp32_eth_driver.h.

◆ EMAC_DMAOPERATION_MODE_TX_THRESH_CTRL_32

#define EMAC_DMAOPERATION_MODE_TX_THRESH_CTRL_32   0x00014000

Definition at line 197 of file esp32_eth_driver.h.

◆ EMAC_DMAOPERATION_MODE_TX_THRESH_CTRL_40

#define EMAC_DMAOPERATION_MODE_TX_THRESH_CTRL_40   0x00010000

Definition at line 196 of file esp32_eth_driver.h.

◆ EMAC_DMAOPERATION_MODE_TX_THRESH_CTRL_64

#define EMAC_DMAOPERATION_MODE_TX_THRESH_CTRL_64   0x00000000

Definition at line 192 of file esp32_eth_driver.h.

◆ EMAC_DMARINTWDTIMER_REG

#define EMAC_DMARINTWDTIMER_REG   *((volatile uint32_t *) 0x3FF69024)

Definition at line 80 of file esp32_eth_driver.h.

◆ EMAC_DMARINTWDTIMER_RIWTC

#define EMAC_DMARINTWDTIMER_RIWTC   0x000000FF

Definition at line 236 of file esp32_eth_driver.h.

◆ EMAC_DMARXBASEADDR_REG

#define EMAC_DMARXBASEADDR_REG   *((volatile uint32_t *) 0x3FF6900C)

Definition at line 74 of file esp32_eth_driver.h.

◆ EMAC_DMARXCURRADDR_BUF_RECV_BUFF_ADDR_PTR

#define EMAC_DMARXCURRADDR_BUF_RECV_BUFF_ADDR_PTR   0xFFFFFFFF

Definition at line 248 of file esp32_eth_driver.h.

◆ EMAC_DMARXCURRADDR_BUF_REG

#define EMAC_DMARXCURRADDR_BUF_REG   *((volatile uint32_t *) 0x3FF69054)

Definition at line 84 of file esp32_eth_driver.h.

◆ EMAC_DMARXCURRDESC_RECV_DSCR_ADDR_PTR

#define EMAC_DMARXCURRDESC_RECV_DSCR_ADDR_PTR   0xFFFFFFFF

Definition at line 242 of file esp32_eth_driver.h.

◆ EMAC_DMARXCURRDESC_REG

#define EMAC_DMARXCURRDESC_REG   *((volatile uint32_t *) 0x3FF6904C)

Definition at line 82 of file esp32_eth_driver.h.

◆ EMAC_DMARXPOLLDEMAND_REG

#define EMAC_DMARXPOLLDEMAND_REG   *((volatile uint32_t *) 0x3FF69008)

Definition at line 73 of file esp32_eth_driver.h.

◆ EMAC_DMASTATUS_ABN_INT_SUMM

#define EMAC_DMASTATUS_ABN_INT_SUMM   0x00008000

Definition at line 170 of file esp32_eth_driver.h.

◆ EMAC_DMASTATUS_EARLY_RECV_INT

#define EMAC_DMASTATUS_EARLY_RECV_INT   0x00004000

Definition at line 171 of file esp32_eth_driver.h.

◆ EMAC_DMASTATUS_EARLY_TRANS_INT

#define EMAC_DMASTATUS_EARLY_TRANS_INT   0x00000400

Definition at line 173 of file esp32_eth_driver.h.

◆ EMAC_DMASTATUS_EMAC_PMT_INT

#define EMAC_DMASTATUS_EMAC_PMT_INT   0x10000000

Definition at line 165 of file esp32_eth_driver.h.

◆ EMAC_DMASTATUS_ERROR_BITS

#define EMAC_DMASTATUS_ERROR_BITS   0x03800000

Definition at line 166 of file esp32_eth_driver.h.

◆ EMAC_DMASTATUS_FATAL_BUS_ERR_INT

#define EMAC_DMASTATUS_FATAL_BUS_ERR_INT   0x00002000

Definition at line 172 of file esp32_eth_driver.h.

◆ EMAC_DMASTATUS_NORM_INT_SUMM

#define EMAC_DMASTATUS_NORM_INT_SUMM   0x00010000

Definition at line 169 of file esp32_eth_driver.h.

◆ EMAC_DMASTATUS_RECV_BUF_UNAVAIL

#define EMAC_DMASTATUS_RECV_BUF_UNAVAIL   0x00000080

Definition at line 176 of file esp32_eth_driver.h.

◆ EMAC_DMASTATUS_RECV_INT

#define EMAC_DMASTATUS_RECV_INT   0x00000040

Definition at line 177 of file esp32_eth_driver.h.

◆ EMAC_DMASTATUS_RECV_OVFLOW

#define EMAC_DMASTATUS_RECV_OVFLOW   0x00000010

Definition at line 179 of file esp32_eth_driver.h.

◆ EMAC_DMASTATUS_RECV_PROC_STATE

#define EMAC_DMASTATUS_RECV_PROC_STATE   0x000E0000

Definition at line 168 of file esp32_eth_driver.h.

◆ EMAC_DMASTATUS_RECV_PROC_STOP

#define EMAC_DMASTATUS_RECV_PROC_STOP   0x00000100

Definition at line 175 of file esp32_eth_driver.h.

◆ EMAC_DMASTATUS_RECV_WDT_TO

#define EMAC_DMASTATUS_RECV_WDT_TO   0x00000200

Definition at line 174 of file esp32_eth_driver.h.

◆ EMAC_DMASTATUS_REG

#define EMAC_DMASTATUS_REG   *((volatile uint32_t *) 0x3FF69014)

Definition at line 76 of file esp32_eth_driver.h.

◆ EMAC_DMASTATUS_TRANS_BUF_UNAVAIL

#define EMAC_DMASTATUS_TRANS_BUF_UNAVAIL   0x00000004

Definition at line 181 of file esp32_eth_driver.h.

◆ EMAC_DMASTATUS_TRANS_INT

#define EMAC_DMASTATUS_TRANS_INT   0x00000001

Definition at line 183 of file esp32_eth_driver.h.

◆ EMAC_DMASTATUS_TRANS_JABBER_TO

#define EMAC_DMASTATUS_TRANS_JABBER_TO   0x00000008

Definition at line 180 of file esp32_eth_driver.h.

◆ EMAC_DMASTATUS_TRANS_PROC_STATE

#define EMAC_DMASTATUS_TRANS_PROC_STATE   0x00700000

Definition at line 167 of file esp32_eth_driver.h.

◆ EMAC_DMASTATUS_TRANS_PROC_STOP

#define EMAC_DMASTATUS_TRANS_PROC_STOP   0x00000002

Definition at line 182 of file esp32_eth_driver.h.

◆ EMAC_DMASTATUS_TRANS_UNDFLOW

#define EMAC_DMASTATUS_TRANS_UNDFLOW   0x00000020

Definition at line 178 of file esp32_eth_driver.h.

◆ EMAC_DMASTATUS_TS_TRI_INT

#define EMAC_DMASTATUS_TS_TRI_INT   0x20000000

Definition at line 164 of file esp32_eth_driver.h.

◆ EMAC_DMATXBASEADDR_REG

#define EMAC_DMATXBASEADDR_REG   *((volatile uint32_t *) 0x3FF69010)

Definition at line 75 of file esp32_eth_driver.h.

◆ EMAC_DMATXCURRADDR_BUF_REG

#define EMAC_DMATXCURRADDR_BUF_REG   *((volatile uint32_t *) 0x3FF69050)

Definition at line 83 of file esp32_eth_driver.h.

◆ EMAC_DMATXCURRADDR_BUF_TRANS_BUFF_ADDR_PTR

#define EMAC_DMATXCURRADDR_BUF_TRANS_BUFF_ADDR_PTR   0xFFFFFFFF

Definition at line 245 of file esp32_eth_driver.h.

◆ EMAC_DMATXCURRDESC_REG

#define EMAC_DMATXCURRDESC_REG   *((volatile uint32_t *) 0x3FF69048)

Definition at line 81 of file esp32_eth_driver.h.

◆ EMAC_DMATXCURRDESC_TRANS_DSCR_ADDR_PTR

#define EMAC_DMATXCURRDESC_TRANS_DSCR_ADDR_PTR   0xFFFFFFFF

Definition at line 239 of file esp32_eth_driver.h.

◆ EMAC_DMATXPOLLDEMAND_REG

#define EMAC_DMATXPOLLDEMAND_REG   *((volatile uint32_t *) 0x3FF69004)

Definition at line 72 of file esp32_eth_driver.h.

◆ EMAC_EX_CLK_CTRL_EMAC_EXT_OSC_EN

#define EMAC_EX_CLK_CTRL_EMAC_EXT_OSC_EN   0x00000001

Definition at line 484 of file esp32_eth_driver.h.

◆ EMAC_EX_CLK_CTRL_EMAC_INT_OSC_EN

#define EMAC_EX_CLK_CTRL_EMAC_INT_OSC_EN   0x00000002

Definition at line 483 of file esp32_eth_driver.h.

◆ EMAC_EX_CLK_CTRL_EMAC_MII_CLK_RX_EN

#define EMAC_EX_CLK_CTRL_EMAC_MII_CLK_RX_EN   0x00000010

Definition at line 481 of file esp32_eth_driver.h.

◆ EMAC_EX_CLK_CTRL_EMAC_MII_CLK_TX_EN

#define EMAC_EX_CLK_CTRL_EMAC_MII_CLK_TX_EN   0x00000008

Definition at line 482 of file esp32_eth_driver.h.

◆ EMAC_EX_CLK_CTRL_REG

#define EMAC_EX_CLK_CTRL_REG   *((volatile uint32_t *) 0x3FF69808)

Definition at line 121 of file esp32_eth_driver.h.

◆ EMAC_EX_CLKOUT_CONF_EMAC_CLK_OUT_DIV_NUM

#define EMAC_EX_CLKOUT_CONF_EMAC_CLK_OUT_DIV_NUM   0x0000000F

Definition at line 471 of file esp32_eth_driver.h.

◆ EMAC_EX_CLKOUT_CONF_EMAC_CLK_OUT_H_DIV_NUM

#define EMAC_EX_CLKOUT_CONF_EMAC_CLK_OUT_H_DIV_NUM   0x000000F0

Definition at line 470 of file esp32_eth_driver.h.

◆ EMAC_EX_CLKOUT_CONF_REG

#define EMAC_EX_CLKOUT_CONF_REG   *((volatile uint32_t *) 0x3FF69800)

Definition at line 119 of file esp32_eth_driver.h.

◆ EMAC_EX_OSCCLK_CONF_EMAC_OSC_CLK_SEL

#define EMAC_EX_OSCCLK_CONF_EMAC_OSC_CLK_SEL   0x01000000

Definition at line 474 of file esp32_eth_driver.h.

◆ EMAC_EX_OSCCLK_CONF_EMAC_OSC_DIV_NUM_100M

#define EMAC_EX_OSCCLK_CONF_EMAC_OSC_DIV_NUM_100M   0x0003F000

Definition at line 476 of file esp32_eth_driver.h.

◆ EMAC_EX_OSCCLK_CONF_EMAC_OSC_DIV_NUM_10M

#define EMAC_EX_OSCCLK_CONF_EMAC_OSC_DIV_NUM_10M   0x0000003F

Definition at line 478 of file esp32_eth_driver.h.

◆ EMAC_EX_OSCCLK_CONF_EMAC_OSC_H_DIV_NUM_100M

#define EMAC_EX_OSCCLK_CONF_EMAC_OSC_H_DIV_NUM_100M   0x00FC0000

Definition at line 475 of file esp32_eth_driver.h.

◆ EMAC_EX_OSCCLK_CONF_EMAC_OSC_H_DIV_NUM_10M

#define EMAC_EX_OSCCLK_CONF_EMAC_OSC_H_DIV_NUM_10M   0x00000FC0

Definition at line 477 of file esp32_eth_driver.h.

◆ EMAC_EX_OSCCLK_CONF_REG

#define EMAC_EX_OSCCLK_CONF_REG   *((volatile uint32_t *) 0x3FF69804)

Definition at line 120 of file esp32_eth_driver.h.

◆ EMAC_EX_PHYINF_CONF_EMAC_PHY_INTF_SEL

#define EMAC_EX_PHYINF_CONF_EMAC_PHY_INTF_SEL   0x0000E000

Definition at line 487 of file esp32_eth_driver.h.

◆ EMAC_EX_PHYINF_CONF_EMAC_PHY_INTF_SEL_MII

#define EMAC_EX_PHYINF_CONF_EMAC_PHY_INTF_SEL_MII   0x00000000

Definition at line 488 of file esp32_eth_driver.h.

◆ EMAC_EX_PHYINF_CONF_EMAC_PHY_INTF_SEL_RMII

#define EMAC_EX_PHYINF_CONF_EMAC_PHY_INTF_SEL_RMII   0x00008000

Definition at line 489 of file esp32_eth_driver.h.

◆ EMAC_EX_PHYINF_CONF_REG

#define EMAC_EX_PHYINF_CONF_REG   *((volatile uint32_t *) 0x3FF6980C)

Definition at line 124 of file esp32_eth_driver.h.

◆ EMAC_FC_FCBBA

#define EMAC_FC_FCBBA   0x00000001

Definition at line 319 of file esp32_eth_driver.h.

◆ EMAC_FC_PAUSE_TIME

#define EMAC_FC_PAUSE_TIME   0xFFFF0000

Definition at line 314 of file esp32_eth_driver.h.

◆ EMAC_FC_PLT

#define EMAC_FC_PLT   0x00000030

Definition at line 315 of file esp32_eth_driver.h.

◆ EMAC_FC_REG

#define EMAC_FC_REG   *((volatile uint32_t *) 0x3FF6A018)

Definition at line 91 of file esp32_eth_driver.h.

◆ EMAC_FC_RFCE

#define EMAC_FC_RFCE   0x00000004

Definition at line 317 of file esp32_eth_driver.h.

◆ EMAC_FC_TFCE

#define EMAC_FC_TFCE   0x00000002

Definition at line 318 of file esp32_eth_driver.h.

◆ EMAC_FC_UPFD

#define EMAC_FC_UPFD   0x00000008

Definition at line 316 of file esp32_eth_driver.h.

◆ EMAC_FF_DAIF

#define EMAC_FF_DAIF   0x00000008

Definition at line 294 of file esp32_eth_driver.h.

◆ EMAC_FF_DBF

#define EMAC_FF_DBF   0x00000020

Definition at line 292 of file esp32_eth_driver.h.

◆ EMAC_FF_PAM

#define EMAC_FF_PAM   0x00000010

Definition at line 293 of file esp32_eth_driver.h.

◆ EMAC_FF_PCF

#define EMAC_FF_PCF   0x000000C0

Definition at line 291 of file esp32_eth_driver.h.

◆ EMAC_FF_PMODE

#define EMAC_FF_PMODE   0x00000001

Definition at line 295 of file esp32_eth_driver.h.

◆ EMAC_FF_RECEIVE_ALL

#define EMAC_FF_RECEIVE_ALL   0x80000000

Definition at line 288 of file esp32_eth_driver.h.

◆ EMAC_FF_REG

#define EMAC_FF_REG   *((volatile uint32_t *) 0x3FF6A004)

Definition at line 88 of file esp32_eth_driver.h.

◆ EMAC_FF_SAFE

#define EMAC_FF_SAFE   0x00000200

Definition at line 289 of file esp32_eth_driver.h.

◆ EMAC_FF_SAIF

#define EMAC_FF_SAIF   0x00000100

Definition at line 290 of file esp32_eth_driver.h.

◆ EMAC_INTMASK_LPIINTMASK

#define EMAC_INTMASK_LPIINTMASK   0x00000400

Definition at line 381 of file esp32_eth_driver.h.

◆ EMAC_INTMASK_PMTINTMASK

#define EMAC_INTMASK_PMTINTMASK   0x00000008

Definition at line 382 of file esp32_eth_driver.h.

◆ EMAC_INTMASK_REG

#define EMAC_INTMASK_REG   *((volatile uint32_t *) 0x3FF6A03C)

Definition at line 98 of file esp32_eth_driver.h.

◆ EMAC_INTS_LPIINTS

#define EMAC_INTS_LPIINTS   0x00000400

Definition at line 377 of file esp32_eth_driver.h.

◆ EMAC_INTS_PMTINTS

#define EMAC_INTS_PMTINTS   0x00000008

Definition at line 378 of file esp32_eth_driver.h.

◆ EMAC_INTS_REG

#define EMAC_INTS_REG   *((volatile uint32_t *) 0x3FF6A038)

Definition at line 97 of file esp32_eth_driver.h.

◆ EMAC_LPI_CSR_LPIEN

#define EMAC_LPI_CSR_LPIEN   0x00010000

Definition at line 364 of file esp32_eth_driver.h.

◆ EMAC_LPI_CSR_LPITXA

#define EMAC_LPI_CSR_LPITXA   0x00080000

Definition at line 362 of file esp32_eth_driver.h.

◆ EMAC_LPI_CSR_PLS

#define EMAC_LPI_CSR_PLS   0x00020000

Definition at line 363 of file esp32_eth_driver.h.

◆ EMAC_LPI_CSR_REG

#define EMAC_LPI_CSR_REG   *((volatile uint32_t *) 0x3FF6A030)

Definition at line 95 of file esp32_eth_driver.h.

◆ EMAC_LPI_CSR_RLPIEN

#define EMAC_LPI_CSR_RLPIEN   0x00000004

Definition at line 368 of file esp32_eth_driver.h.

◆ EMAC_LPI_CSR_RLPIEX

#define EMAC_LPI_CSR_RLPIEX   0x00000008

Definition at line 367 of file esp32_eth_driver.h.

◆ EMAC_LPI_CSR_RLPIST

#define EMAC_LPI_CSR_RLPIST   0x00000200

Definition at line 365 of file esp32_eth_driver.h.

◆ EMAC_LPI_CSR_TLPIEN

#define EMAC_LPI_CSR_TLPIEN   0x00000001

Definition at line 370 of file esp32_eth_driver.h.

◆ EMAC_LPI_CSR_TLPIEX

#define EMAC_LPI_CSR_TLPIEX   0x00000002

Definition at line 369 of file esp32_eth_driver.h.

◆ EMAC_LPI_CSR_TLPIST

#define EMAC_LPI_CSR_TLPIST   0x00000100

Definition at line 366 of file esp32_eth_driver.h.

◆ EMAC_LPITIMERSCONTROL_LPI_LS_TIMER

#define EMAC_LPITIMERSCONTROL_LPI_LS_TIMER   0x03FF0000

Definition at line 373 of file esp32_eth_driver.h.

◆ EMAC_LPITIMERSCONTROL_LPI_TW_TIMER

#define EMAC_LPITIMERSCONTROL_LPI_TW_TIMER   0x0000FFFF

Definition at line 374 of file esp32_eth_driver.h.

◆ EMAC_LPITIMERSCONTROL_REG

#define EMAC_LPITIMERSCONTROL_REG   *((volatile uint32_t *) 0x3FF6A034)

Definition at line 96 of file esp32_eth_driver.h.

◆ EMAC_MIIADDR_MIIBUSY

#define EMAC_MIIADDR_MIIBUSY   0x00000001

Definition at line 308 of file esp32_eth_driver.h.

◆ EMAC_MIIADDR_MIICSRCLK

#define EMAC_MIIADDR_MIICSRCLK   0x0000003C

Definition at line 300 of file esp32_eth_driver.h.

◆ EMAC_MIIADDR_MIICSRCLK_DIV_102

#define EMAC_MIIADDR_MIICSRCLK_DIV_102   0x00000010

Definition at line 305 of file esp32_eth_driver.h.

◆ EMAC_MIIADDR_MIICSRCLK_DIV_124

#define EMAC_MIIADDR_MIICSRCLK_DIV_124   0x00000014

Definition at line 306 of file esp32_eth_driver.h.

◆ EMAC_MIIADDR_MIICSRCLK_DIV_16

#define EMAC_MIIADDR_MIICSRCLK_DIV_16   0x00000008

Definition at line 303 of file esp32_eth_driver.h.

◆ EMAC_MIIADDR_MIICSRCLK_DIV_26

#define EMAC_MIIADDR_MIICSRCLK_DIV_26   0x0000000C

Definition at line 304 of file esp32_eth_driver.h.

◆ EMAC_MIIADDR_MIICSRCLK_DIV_42

#define EMAC_MIIADDR_MIICSRCLK_DIV_42   0x00000000

Definition at line 301 of file esp32_eth_driver.h.

◆ EMAC_MIIADDR_MIICSRCLK_DIV_62

#define EMAC_MIIADDR_MIICSRCLK_DIV_62   0x00000004

Definition at line 302 of file esp32_eth_driver.h.

◆ EMAC_MIIADDR_MIIDEV

#define EMAC_MIIADDR_MIIDEV   0x0000F800

Definition at line 298 of file esp32_eth_driver.h.

◆ EMAC_MIIADDR_MIIREG

#define EMAC_MIIADDR_MIIREG   0x000007C0

Definition at line 299 of file esp32_eth_driver.h.

◆ EMAC_MIIADDR_MIIWRITE

#define EMAC_MIIADDR_MIIWRITE   0x00000002

Definition at line 307 of file esp32_eth_driver.h.

◆ EMAC_MIIADDR_REG

#define EMAC_MIIADDR_REG   *((volatile uint32_t *) 0x3FF6A010)

Definition at line 89 of file esp32_eth_driver.h.

◆ EMAC_MIIDATA_MII_DATA

#define EMAC_MIIDATA_MII_DATA   0x0000FFFF

Definition at line 311 of file esp32_eth_driver.h.

◆ EMAC_MIIDATA_REG

#define EMAC_MIIDATA_REG   *((volatile uint32_t *) 0x3FF6A014)

Definition at line 90 of file esp32_eth_driver.h.

◆ EMAC_PD_SEL_EMAC_RAM_PD_EN

#define EMAC_PD_SEL_EMAC_RAM_PD_EN   0x00000003

Definition at line 492 of file esp32_eth_driver.h.

◆ EMAC_PD_SEL_REG

#define EMAC_PD_SEL_REG   *((volatile uint32_t *) 0x3FF69810)

Definition at line 125 of file esp32_eth_driver.h.

◆ EMAC_PMT_CSR_GLBLUCAST

#define EMAC_PMT_CSR_GLBLUCAST   0x00000200

Definition at line 354 of file esp32_eth_driver.h.

◆ EMAC_PMT_CSR_MGKPKTEN

#define EMAC_PMT_CSR_MGKPKTEN   0x00000002

Definition at line 358 of file esp32_eth_driver.h.

◆ EMAC_PMT_CSR_MGKPRCVD

#define EMAC_PMT_CSR_MGKPRCVD   0x00000020

Definition at line 356 of file esp32_eth_driver.h.

◆ EMAC_PMT_CSR_PWRDWN

#define EMAC_PMT_CSR_PWRDWN   0x00000001

Definition at line 359 of file esp32_eth_driver.h.

◆ EMAC_PMT_CSR_REG

#define EMAC_PMT_CSR_REG   *((volatile uint32_t *) 0x3FF6A02C)

Definition at line 94 of file esp32_eth_driver.h.

◆ EMAC_PMT_CSR_RWKFILTRST

#define EMAC_PMT_CSR_RWKFILTRST   0x80000000

Definition at line 352 of file esp32_eth_driver.h.

◆ EMAC_PMT_CSR_RWKPKTEN

#define EMAC_PMT_CSR_RWKPKTEN   0x00000004

Definition at line 357 of file esp32_eth_driver.h.

◆ EMAC_PMT_CSR_RWKPRCVD

#define EMAC_PMT_CSR_RWKPRCVD   0x00000040

Definition at line 355 of file esp32_eth_driver.h.

◆ EMAC_PMT_CSR_RWKPTR

#define EMAC_PMT_CSR_RWKPTR   0x1F000000

Definition at line 353 of file esp32_eth_driver.h.

◆ EMAC_PMT_RWUFFR_REG

#define EMAC_PMT_RWUFFR_REG   *((volatile uint32_t *) 0x3FF6A028)

Definition at line 93 of file esp32_eth_driver.h.

◆ EMAC_RDES0_AFM

#define EMAC_RDES0_AFM   0x40000000

Definition at line 529 of file esp32_eth_driver.h.

◆ EMAC_RDES0_CE

#define EMAC_RDES0_CE   0x00000002

Definition at line 545 of file esp32_eth_driver.h.

◆ EMAC_RDES0_DBE

#define EMAC_RDES0_DBE   0x00000004

Definition at line 544 of file esp32_eth_driver.h.

◆ EMAC_RDES0_DE

#define EMAC_RDES0_DE   0x00004000

Definition at line 532 of file esp32_eth_driver.h.

◆ EMAC_RDES0_ES

#define EMAC_RDES0_ES   0x00008000

Definition at line 531 of file esp32_eth_driver.h.

◆ EMAC_RDES0_FL

#define EMAC_RDES0_FL   0x3FFF0000

Definition at line 530 of file esp32_eth_driver.h.

◆ EMAC_RDES0_FS

#define EMAC_RDES0_FS   0x00000200

Definition at line 537 of file esp32_eth_driver.h.

◆ EMAC_RDES0_FT

#define EMAC_RDES0_FT   0x00000020

Definition at line 541 of file esp32_eth_driver.h.

◆ EMAC_RDES0_IPHCE

#define EMAC_RDES0_IPHCE   0x00000080

Definition at line 539 of file esp32_eth_driver.h.

◆ EMAC_RDES0_LCO

#define EMAC_RDES0_LCO   0x00000040

Definition at line 540 of file esp32_eth_driver.h.

◆ EMAC_RDES0_LE

#define EMAC_RDES0_LE   0x00001000

Definition at line 534 of file esp32_eth_driver.h.

◆ EMAC_RDES0_LS

#define EMAC_RDES0_LS   0x00000100

Definition at line 538 of file esp32_eth_driver.h.

◆ EMAC_RDES0_OE

#define EMAC_RDES0_OE   0x00000800

Definition at line 535 of file esp32_eth_driver.h.

◆ EMAC_RDES0_OWN

#define EMAC_RDES0_OWN   0x80000000

Definition at line 528 of file esp32_eth_driver.h.

◆ EMAC_RDES0_PCE

#define EMAC_RDES0_PCE   0x00000001

Definition at line 546 of file esp32_eth_driver.h.

◆ EMAC_RDES0_RE

#define EMAC_RDES0_RE   0x00000008

Definition at line 543 of file esp32_eth_driver.h.

◆ EMAC_RDES0_RWT

#define EMAC_RDES0_RWT   0x00000010

Definition at line 542 of file esp32_eth_driver.h.

◆ EMAC_RDES0_SAF

#define EMAC_RDES0_SAF   0x00002000

Definition at line 533 of file esp32_eth_driver.h.

◆ EMAC_RDES0_VLAN

#define EMAC_RDES0_VLAN   0x00000400

Definition at line 536 of file esp32_eth_driver.h.

◆ EMAC_RDES1_DIC

#define EMAC_RDES1_DIC   0x80000000

Definition at line 547 of file esp32_eth_driver.h.

◆ EMAC_RDES1_RBS1

#define EMAC_RDES1_RBS1   0x00001FFF

Definition at line 551 of file esp32_eth_driver.h.

◆ EMAC_RDES1_RBS2

#define EMAC_RDES1_RBS2   0x1FFF0000

Definition at line 548 of file esp32_eth_driver.h.

◆ EMAC_RDES1_RCH

#define EMAC_RDES1_RCH   0x00004000

Definition at line 550 of file esp32_eth_driver.h.

◆ EMAC_RDES1_RER

#define EMAC_RDES1_RER   0x00008000

Definition at line 549 of file esp32_eth_driver.h.

◆ EMAC_RDES2_RBAP1

#define EMAC_RDES2_RBAP1   0xFFFFFFFF

Definition at line 552 of file esp32_eth_driver.h.

◆ EMAC_RDES3_RBAP2

#define EMAC_RDES3_RBAP2   0xFFFFFFFF

Definition at line 553 of file esp32_eth_driver.h.

◆ EMAC_RDES4_IPCB

#define EMAC_RDES4_IPCB   0x00000020

Definition at line 559 of file esp32_eth_driver.h.

◆ EMAC_RDES4_IPHE

#define EMAC_RDES4_IPHE   0x00000008

Definition at line 561 of file esp32_eth_driver.h.

◆ EMAC_RDES4_IPPE

#define EMAC_RDES4_IPPE   0x00000010

Definition at line 560 of file esp32_eth_driver.h.

◆ EMAC_RDES4_IPPT

#define EMAC_RDES4_IPPT   0x00000007

Definition at line 562 of file esp32_eth_driver.h.

◆ EMAC_RDES4_IPV4PR

#define EMAC_RDES4_IPV4PR   0x00000040

Definition at line 558 of file esp32_eth_driver.h.

◆ EMAC_RDES4_IPV6PR

#define EMAC_RDES4_IPV6PR   0x00000080

Definition at line 557 of file esp32_eth_driver.h.

◆ EMAC_RDES4_PFT

#define EMAC_RDES4_PFT   0x00001000

Definition at line 555 of file esp32_eth_driver.h.

◆ EMAC_RDES4_PMT

#define EMAC_RDES4_PMT   0x00000F00

Definition at line 556 of file esp32_eth_driver.h.

◆ EMAC_RDES4_PV

#define EMAC_RDES4_PV   0x00002000

Definition at line 554 of file esp32_eth_driver.h.

◆ EMAC_RDES6_RTSL

#define EMAC_RDES6_RTSL   0xFFFFFFFF

Definition at line 563 of file esp32_eth_driver.h.

◆ EMAC_RDES7_RTSH

#define EMAC_RDES7_RTSH   0xFFFFFFFF

Definition at line 564 of file esp32_eth_driver.h.

◆ EMAC_STATUS_JABBER_TIMEOUT

#define EMAC_STATUS_JABBER_TIMEOUT   0x00000010

Definition at line 456 of file esp32_eth_driver.h.

◆ EMAC_STATUS_LINK_MODE

#define EMAC_STATUS_LINK_MODE   0x00000001

Definition at line 461 of file esp32_eth_driver.h.

◆ EMAC_STATUS_LINK_MODE_FULL_DUPLEX

#define EMAC_STATUS_LINK_MODE_FULL_DUPLEX   0x00000001

Definition at line 463 of file esp32_eth_driver.h.

◆ EMAC_STATUS_LINK_MODE_HALF_DUPLEX

#define EMAC_STATUS_LINK_MODE_HALF_DUPLEX   0x00000000

Definition at line 462 of file esp32_eth_driver.h.

◆ EMAC_STATUS_LINK_SPEED

#define EMAC_STATUS_LINK_SPEED   0x00000006

Definition at line 457 of file esp32_eth_driver.h.

◆ EMAC_STATUS_LINK_SPEED_125_MHZ

#define EMAC_STATUS_LINK_SPEED_125_MHZ   0x00000004

Definition at line 460 of file esp32_eth_driver.h.

◆ EMAC_STATUS_LINK_SPEED_25_MHZ

#define EMAC_STATUS_LINK_SPEED_25_MHZ   0x00000002

Definition at line 459 of file esp32_eth_driver.h.

◆ EMAC_STATUS_LINK_SPEED_2_5_MHZ

#define EMAC_STATUS_LINK_SPEED_2_5_MHZ   0x00000000

Definition at line 458 of file esp32_eth_driver.h.

◆ EMAC_STATUS_REG

#define EMAC_STATUS_REG   *((volatile uint32_t *) 0x3FF6A0D8)

Definition at line 115 of file esp32_eth_driver.h.

◆ EMAC_STATUS_SMIDRXS

#define EMAC_STATUS_SMIDRXS   0x00010000

Definition at line 455 of file esp32_eth_driver.h.

◆ EMAC_TDES0_CC

#define EMAC_TDES0_CC   0x00000078

Definition at line 516 of file esp32_eth_driver.h.

◆ EMAC_TDES0_CIC

#define EMAC_TDES0_CIC   0x00C00000

Definition at line 502 of file esp32_eth_driver.h.

◆ EMAC_TDES0_DB

#define EMAC_TDES0_DB   0x00000001

Definition at line 519 of file esp32_eth_driver.h.

◆ EMAC_TDES0_DC

#define EMAC_TDES0_DC   0x08000000

Definition at line 499 of file esp32_eth_driver.h.

◆ EMAC_TDES0_DP

#define EMAC_TDES0_DP   0x04000000

Definition at line 500 of file esp32_eth_driver.h.

◆ EMAC_TDES0_EC

#define EMAC_TDES0_EC   0x00000100

Definition at line 514 of file esp32_eth_driver.h.

◆ EMAC_TDES0_ED

#define EMAC_TDES0_ED   0x00000004

Definition at line 517 of file esp32_eth_driver.h.

◆ EMAC_TDES0_ES

#define EMAC_TDES0_ES   0x00008000

Definition at line 507 of file esp32_eth_driver.h.

◆ EMAC_TDES0_FF

#define EMAC_TDES0_FF   0x00002000

Definition at line 509 of file esp32_eth_driver.h.

◆ EMAC_TDES0_FS

#define EMAC_TDES0_FS   0x10000000

Definition at line 498 of file esp32_eth_driver.h.

◆ EMAC_TDES0_IC

#define EMAC_TDES0_IC   0x40000000

Definition at line 496 of file esp32_eth_driver.h.

◆ EMAC_TDES0_IHE

#define EMAC_TDES0_IHE   0x00010000

Definition at line 506 of file esp32_eth_driver.h.

◆ EMAC_TDES0_IPE

#define EMAC_TDES0_IPE   0x00001000

Definition at line 510 of file esp32_eth_driver.h.

◆ EMAC_TDES0_JT

#define EMAC_TDES0_JT   0x00004000

Definition at line 508 of file esp32_eth_driver.h.

◆ EMAC_TDES0_LCA

#define EMAC_TDES0_LCA   0x00000800

Definition at line 511 of file esp32_eth_driver.h.

◆ EMAC_TDES0_LCO

#define EMAC_TDES0_LCO   0x00000200

Definition at line 513 of file esp32_eth_driver.h.

◆ EMAC_TDES0_LS

#define EMAC_TDES0_LS   0x20000000

Definition at line 497 of file esp32_eth_driver.h.

◆ EMAC_TDES0_NC

#define EMAC_TDES0_NC   0x00000400

Definition at line 512 of file esp32_eth_driver.h.

◆ EMAC_TDES0_OWN

#define EMAC_TDES0_OWN   0x80000000

Definition at line 495 of file esp32_eth_driver.h.

◆ EMAC_TDES0_TCH

#define EMAC_TDES0_TCH   0x00100000

Definition at line 504 of file esp32_eth_driver.h.

◆ EMAC_TDES0_TER

#define EMAC_TDES0_TER   0x00200000

Definition at line 503 of file esp32_eth_driver.h.

◆ EMAC_TDES0_TTSE

#define EMAC_TDES0_TTSE   0x02000000

Definition at line 501 of file esp32_eth_driver.h.

◆ EMAC_TDES0_TTSS

#define EMAC_TDES0_TTSS   0x00020000

Definition at line 505 of file esp32_eth_driver.h.

◆ EMAC_TDES0_UF

#define EMAC_TDES0_UF   0x00000002

Definition at line 518 of file esp32_eth_driver.h.

◆ EMAC_TDES0_VF

#define EMAC_TDES0_VF   0x00000080

Definition at line 515 of file esp32_eth_driver.h.

◆ EMAC_TDES1_TBS1

#define EMAC_TDES1_TBS1   0x00001FFF

Definition at line 521 of file esp32_eth_driver.h.

◆ EMAC_TDES1_TBS2

#define EMAC_TDES1_TBS2   0x1FFF0000

Definition at line 520 of file esp32_eth_driver.h.

◆ EMAC_TDES2_TBAP1

#define EMAC_TDES2_TBAP1   0xFFFFFFFF

Definition at line 522 of file esp32_eth_driver.h.

◆ EMAC_TDES3_TBAP2

#define EMAC_TDES3_TBAP2   0xFFFFFFFF

Definition at line 523 of file esp32_eth_driver.h.

◆ EMAC_TDES6_TTSL

#define EMAC_TDES6_TTSL   0xFFFFFFFF

Definition at line 524 of file esp32_eth_driver.h.

◆ EMAC_TDES7_TTSH

#define EMAC_TDES7_TTSH   0xFFFFFFFF

Definition at line 525 of file esp32_eth_driver.h.

◆ EMAC_WDOGTO_PWDOGEN

#define EMAC_WDOGTO_PWDOGEN   0x00010000

Definition at line 466 of file esp32_eth_driver.h.

◆ EMAC_WDOGTO_REG

#define EMAC_WDOGTO_REG   *((volatile uint32_t *) 0x3FF6A0DC)

Definition at line 116 of file esp32_eth_driver.h.

◆ EMAC_WDOGTO_WDOGTO

#define EMAC_WDOGTO_WDOGTO   0x00003FFF

Definition at line 467 of file esp32_eth_driver.h.

◆ ESP32_ETH_IRQ_FLAGS

#define ESP32_ETH_IRQ_FLAGS   ESP_INTR_FLAG_LEVEL2

Definition at line 67 of file esp32_eth_driver.h.

◆ ESP32_ETH_RX_BUFFER_COUNT

#define ESP32_ETH_RX_BUFFER_COUNT   6

Definition at line 53 of file esp32_eth_driver.h.

◆ ESP32_ETH_RX_BUFFER_SIZE

#define ESP32_ETH_RX_BUFFER_SIZE   1536

Definition at line 60 of file esp32_eth_driver.h.

◆ ESP32_ETH_TX_BUFFER_COUNT

#define ESP32_ETH_TX_BUFFER_COUNT   3

Definition at line 39 of file esp32_eth_driver.h.

◆ ESP32_ETH_TX_BUFFER_SIZE

#define ESP32_ETH_TX_BUFFER_SIZE   1536

Definition at line 46 of file esp32_eth_driver.h.

Function Documentation

◆ esp32EthDisableIrq()

void esp32EthDisableIrq ( NetInterface interface)

Disable interrupts.

Parameters
[in]interfaceUnderlying network interface

Definition at line 452 of file esp32_eth_driver.c.

◆ esp32EthEnableIrq()

void esp32EthEnableIrq ( NetInterface interface)

Enable interrupts.

Parameters
[in]interfaceUnderlying network interface

Definition at line 424 of file esp32_eth_driver.c.

◆ esp32EthEventHandler()

void esp32EthEventHandler ( NetInterface interface)

ESP32 Ethernet MAC event handler.

Parameters
[in]interfaceUnderlying network interface

Definition at line 537 of file esp32_eth_driver.c.

◆ esp32EthInit()

error_t esp32EthInit ( NetInterface interface)

ESP32 Ethernet MAC initialization.

Parameters
[in]interfaceUnderlying network interface
Returns
Error code

Definition at line 97 of file esp32_eth_driver.c.

◆ esp32EthInitDmaDesc()

void esp32EthInitDmaDesc ( NetInterface interface)

Initialize DMA descriptor lists.

Parameters
[in]interfaceUnderlying network interface

Definition at line 330 of file esp32_eth_driver.c.

◆ esp32EthInitGpio()

void esp32EthInitGpio ( NetInterface interface)

GPIO configuration.

Parameters
[in]interfaceUnderlying network interface

Definition at line 208 of file esp32_eth_driver.c.

◆ esp32EthIrqHandler()

void esp32EthIrqHandler ( void *  arg)

ESP32 Ethernet MAC interrupt service routine.

Parameters
[in]argUnused parameter

Definition at line 480 of file esp32_eth_driver.c.

◆ esp32EthReadPhyReg()

uint16_t esp32EthReadPhyReg ( uint8_t  opcode,
uint8_t  phyAddr,
uint8_t  regAddr 
)

Read PHY register.

Parameters
[in]opcodeAccess type (2 bits)
[in]phyAddrPHY address (5 bits)
[in]regAddrRegister address (5 bits)
Returns
Register value

Definition at line 884 of file esp32_eth_driver.c.

◆ esp32EthReceivePacket()

error_t esp32EthReceivePacket ( NetInterface interface)

Receive a packet.

Parameters
[in]interfaceUnderlying network interface
Returns
Error code

Definition at line 621 of file esp32_eth_driver.c.

◆ esp32EthSendPacket()

error_t esp32EthSendPacket ( NetInterface interface,
const NetBuffer buffer,
size_t  offset,
NetTxAncillary ancillary 
)

Send a packet.

Parameters
[in]interfaceUnderlying network interface
[in]bufferMulti-part buffer containing the data to send
[in]offsetOffset to the first data byte
[in]ancillaryAdditional options passed to the stack along with the packet
Returns
Error code

Definition at line 562 of file esp32_eth_driver.c.

◆ esp32EthTick()

void esp32EthTick ( NetInterface interface)

ESP32 Ethernet MAC timer handler.

This routine is periodically called by the TCP/IP stack to handle periodic operations such as polling the link state

Parameters
[in]interfaceUnderlying network interface

Definition at line 399 of file esp32_eth_driver.c.

◆ esp32EthUpdateMacAddrFilter()

error_t esp32EthUpdateMacAddrFilter ( NetInterface interface)

Configure MAC address filtering.

Parameters
[in]interfaceUnderlying network interface
Returns
Error code

Definition at line 691 of file esp32_eth_driver.c.

◆ esp32EthUpdateMacConfig()

error_t esp32EthUpdateMacConfig ( NetInterface interface)

Adjust MAC configuration parameters for proper operation.

Parameters
[in]interfaceUnderlying network interface
Returns
Error code

Definition at line 799 of file esp32_eth_driver.c.

◆ esp32EthWritePhyReg()

void esp32EthWritePhyReg ( uint8_t  opcode,
uint8_t  phyAddr,
uint8_t  regAddr,
uint16_t  data 
)

Write PHY register.

Parameters
[in]opcodeAccess type (2 bits)
[in]phyAddrPHY address (5 bits)
[in]regAddrRegister address (5 bits)
[in]dataRegister value

Definition at line 842 of file esp32_eth_driver.c.

Variable Documentation

◆ esp32EthDriver

const NicDriver esp32EthDriver
extern

ESP32 Ethernet MAC driver.

Definition at line 70 of file esp32_eth_driver.c.