Chapter 2. API Reference
esp_err_t (*stack_input)(esp_eth_handle_t eth_handle, uint8_t *buffer, uint32_t length, void
*priv)
Input frame buffer to user’s stack.
Return
• ESP_OK: input frame buffer to upper stack successfully
• ESP_FAIL: error occurred when inputting buffer to upper stack
Parameters
• [in] eth_handle: handle of Ethernet driver
• [in] buffer: frame buffer that will get input to upper stack
• [in] length: length of the frame buffer
esp_err_t (*on_lowlevel_init_done)(esp_eth_handle_t eth_handle)
Callback function invoked when lowlevel initialization is finished.
Return
• ESP_OK: process extra lowlevel initialization successfully
• ESP_FAIL: error occurred when processing extra lowlevel initialization
Parameters
• [in] eth_handle: handle of Ethernet driver
esp_err_t (*on_lowlevel_deinit_done)(esp_eth_handle_t eth_handle)
Callback function invoked when lowlevel deinitialization is finished.
Return
• ESP_OK: process extra lowlevel deinitialization successfully
• ESP_FAIL: error occurred when processing extra lowlevel deinitialization
Parameters
• [in] eth_handle: handle of Ethernet driver
esp_err_t (*read_phy_reg)(esp_eth_handle_t eth_handle, uint32_t phy_addr, uint32_t phy_reg,
uint32_t *reg_value)
Read PHY register.
Note Usually the PHY register read/write function is provided by MAC (SMI interface), but if the PHY
device is managed by other interface (e.g. I2C), then user needs to implement the corresponding
read/write. Setting this to NULL means your PHY device is managed by MAC’s SMI interface.
Return
• ESP_OK: read PHY register successfully
• ESP_ERR_INVALID_ARG: read PHY register failed because of invalid argument
• ESP_ERR_TIMEOUT: read PHY register failed because of timeout
• ESP_FAIL: read PHY register failed because some other error occurred
Parameters
• [in] eth_handle: handle of Ethernet driver
• [in] phy_addr: PHY chip address (0~31)
• [in] phy_reg: PHY register index code
• [out] reg_value: PHY register value
esp_err_t (*write_phy_reg)(esp_eth_handle_t eth_handle, uint32_t phy_addr, uint32_t phy_reg,
uint32_t reg_value)
Write PHY register.
Note Usually the PHY register read/write function is provided by MAC (SMI interface), but if the PHY
device is managed by other interface (e.g. I2C), then user needs to implement the corresponding
read/write. Setting this to NULL means your PHY device is managed by MAC’s SMI interface.
Return
• ESP_OK: write PHY register successfully
• ESP_ERR_INVALID_ARG: read PHY register failed because of invalid argument
• ESP_ERR_TIMEOUT: write PHY register failed because of timeout
• ESP_FAIL: write PHY register failed because some other error occurred
Parameters
• [in] eth_handle: handle of Ethernet driver
• [in] phy_addr: PHY chip address (0~31)
Espressif Systems 179
Submit Document Feedback
Release v4.4