Skip to content

Commit abcea51

Browse files
committed
ethernet: insert min assert time for PHY HW reset
Closes espressif/esp-idf#5528
1 parent 648bcc7 commit abcea51

File tree

6 files changed

+6
-0
lines changed

6 files changed

+6
-0
lines changed

components/esp_eth/src/esp_eth_phy_dm9051.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,7 @@ static esp_err_t dm9051_reset_hw(esp_eth_phy_t *phy)
193193
esp_rom_gpio_pad_select_gpio(dm9051->reset_gpio_num);
194194
gpio_set_direction(dm9051->reset_gpio_num, GPIO_MODE_OUTPUT);
195195
gpio_set_level(dm9051->reset_gpio_num, 0);
196+
ets_delay_us(100); // insert min input assert time
196197
gpio_set_level(dm9051->reset_gpio_num, 1);
197198
}
198199
return ESP_OK;

components/esp_eth/src/esp_eth_phy_dp83848.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,7 @@ static esp_err_t dp83848_reset_hw(esp_eth_phy_t *phy)
182182
esp_rom_gpio_pad_select_gpio(dp83848->reset_gpio_num);
183183
gpio_set_direction(dp83848->reset_gpio_num, GPIO_MODE_OUTPUT);
184184
gpio_set_level(dp83848->reset_gpio_num, 0);
185+
ets_delay_us(100); // insert min input assert time
185186
gpio_set_level(dp83848->reset_gpio_num, 1);
186187
}
187188
return ESP_OK;

components/esp_eth/src/esp_eth_phy_ip101.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,7 @@ static esp_err_t ip101_reset_hw(esp_eth_phy_t *phy)
222222
esp_rom_gpio_pad_select_gpio(ip101->reset_gpio_num);
223223
gpio_set_direction(ip101->reset_gpio_num, GPIO_MODE_OUTPUT);
224224
gpio_set_level(ip101->reset_gpio_num, 0);
225+
ets_delay_us(100); // insert min input assert time
225226
gpio_set_level(ip101->reset_gpio_num, 1);
226227
}
227228
return ESP_OK;

components/esp_eth/src/esp_eth_phy_ksz8041.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,7 @@ static esp_err_t ksz8041_reset_hw(esp_eth_phy_t *phy)
170170
esp_rom_gpio_pad_select_gpio(ksz8041->reset_gpio_num);
171171
gpio_set_direction(ksz8041->reset_gpio_num, GPIO_MODE_OUTPUT);
172172
gpio_set_level(ksz8041->reset_gpio_num, 0);
173+
ets_delay_us(100); // insert min input assert time
173174
gpio_set_level(ksz8041->reset_gpio_num, 1);
174175
}
175176
return ESP_OK;

components/esp_eth/src/esp_eth_phy_lan8720.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,7 @@ static esp_err_t lan8720_reset_hw(esp_eth_phy_t *phy)
267267
esp_rom_gpio_pad_select_gpio(lan8720->reset_gpio_num);
268268
gpio_set_direction(lan8720->reset_gpio_num, GPIO_MODE_OUTPUT);
269269
gpio_set_level(lan8720->reset_gpio_num, 0);
270+
ets_delay_us(100); // insert min input assert time
270271
gpio_set_level(lan8720->reset_gpio_num, 1);
271272
}
272273
return ESP_OK;

components/esp_eth/src/esp_eth_phy_rtl8201.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,7 @@ static esp_err_t rtl8201_reset_hw(esp_eth_phy_t *phy)
176176
esp_rom_gpio_pad_select_gpio(rtl8201->reset_gpio_num);
177177
gpio_set_direction(rtl8201->reset_gpio_num, GPIO_MODE_OUTPUT);
178178
gpio_set_level(rtl8201->reset_gpio_num, 0);
179+
ets_delay_us(100); // insert min input assert time
179180
gpio_set_level(rtl8201->reset_gpio_num, 1);
180181
}
181182
return ESP_OK;

0 commit comments

Comments
 (0)