forked from espressif/esp-idf
ethernet: fix infinite loop when init phy or reset mac
1. fix infinite loop problem when init phy device 2. fix infinite loop problem when reset mac 3. fix little bugs in ethernetif_init 4. fix incompatible return value between lwip and esp-idf Closes https://github.com/espressif/esp-idf/issues/2331 Closes https://github.com/espressif/esp-idf/issues/2141
This commit is contained in:
@@ -14,7 +14,8 @@
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h"
|
||||
#include "rom/ets_sys.h"
|
||||
#include "rom/gpio.h"
|
||||
|
||||
@@ -32,8 +33,6 @@
|
||||
|
||||
#include "emac_common.h"
|
||||
|
||||
static const char *TAG = "emac";
|
||||
|
||||
void emac_enable_flowctrl(void)
|
||||
{
|
||||
REG_SET_BIT(EMAC_GMACFC_REG, EMAC_TFCE);
|
||||
@@ -72,18 +71,6 @@ void emac_disable_dma_rx(void)
|
||||
REG_CLR_BIT(EMAC_DMAOPERATION_MODE_REG, EMAC_START_STOP_RX);
|
||||
}
|
||||
|
||||
void emac_reset(void)
|
||||
{
|
||||
REG_SET_BIT(EMAC_DMABUSMODE_REG, EMAC_SW_RST);
|
||||
|
||||
while (REG_GET_BIT(EMAC_DMABUSMODE_REG, EMAC_SW_RST) == 1) {
|
||||
//nothing to do ,if stop here,maybe emac have not clk input.
|
||||
ESP_LOGI(TAG, "emac resetting ....");
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG, "emac reset done");
|
||||
}
|
||||
|
||||
void emac_enable_clk(bool enable)
|
||||
{
|
||||
if (enable == true) {
|
||||
|
Reference in New Issue
Block a user