ethernet: insert min assert time for PHY HW reset

Closes https://github.com/espressif/esp-idf/issues/5528
This commit is contained in:
morris 2020-07-09 22:03:11 +08:00
parent 648bcc7a87
commit abcea51976
6 changed files with 6 additions and 0 deletions

View File

@ -193,6 +193,7 @@ static esp_err_t dm9051_reset_hw(esp_eth_phy_t *phy)
esp_rom_gpio_pad_select_gpio(dm9051->reset_gpio_num);
gpio_set_direction(dm9051->reset_gpio_num, GPIO_MODE_OUTPUT);
gpio_set_level(dm9051->reset_gpio_num, 0);
ets_delay_us(100); // insert min input assert time
gpio_set_level(dm9051->reset_gpio_num, 1);
}
return ESP_OK;

View File

@ -182,6 +182,7 @@ static esp_err_t dp83848_reset_hw(esp_eth_phy_t *phy)
esp_rom_gpio_pad_select_gpio(dp83848->reset_gpio_num);
gpio_set_direction(dp83848->reset_gpio_num, GPIO_MODE_OUTPUT);
gpio_set_level(dp83848->reset_gpio_num, 0);
ets_delay_us(100); // insert min input assert time
gpio_set_level(dp83848->reset_gpio_num, 1);
}
return ESP_OK;

View File

@ -222,6 +222,7 @@ static esp_err_t ip101_reset_hw(esp_eth_phy_t *phy)
esp_rom_gpio_pad_select_gpio(ip101->reset_gpio_num);
gpio_set_direction(ip101->reset_gpio_num, GPIO_MODE_OUTPUT);
gpio_set_level(ip101->reset_gpio_num, 0);
ets_delay_us(100); // insert min input assert time
gpio_set_level(ip101->reset_gpio_num, 1);
}
return ESP_OK;

View File

@ -170,6 +170,7 @@ static esp_err_t ksz8041_reset_hw(esp_eth_phy_t *phy)
esp_rom_gpio_pad_select_gpio(ksz8041->reset_gpio_num);
gpio_set_direction(ksz8041->reset_gpio_num, GPIO_MODE_OUTPUT);
gpio_set_level(ksz8041->reset_gpio_num, 0);
ets_delay_us(100); // insert min input assert time
gpio_set_level(ksz8041->reset_gpio_num, 1);
}
return ESP_OK;

View File

@ -267,6 +267,7 @@ static esp_err_t lan8720_reset_hw(esp_eth_phy_t *phy)
esp_rom_gpio_pad_select_gpio(lan8720->reset_gpio_num);
gpio_set_direction(lan8720->reset_gpio_num, GPIO_MODE_OUTPUT);
gpio_set_level(lan8720->reset_gpio_num, 0);
ets_delay_us(100); // insert min input assert time
gpio_set_level(lan8720->reset_gpio_num, 1);
}
return ESP_OK;

View File

@ -176,6 +176,7 @@ static esp_err_t rtl8201_reset_hw(esp_eth_phy_t *phy)
esp_rom_gpio_pad_select_gpio(rtl8201->reset_gpio_num);
gpio_set_direction(rtl8201->reset_gpio_num, GPIO_MODE_OUTPUT);
gpio_set_level(rtl8201->reset_gpio_num, 0);
ets_delay_us(100); // insert min input assert time
gpio_set_level(rtl8201->reset_gpio_num, 1);
}
return ESP_OK;