ethernet: phy init timeout

When ethernet enable again after disable it before, phy init will report timeout.
The cause of this problem is that the enabling of emac clock is too late, and should be placed before phy init.
This commit is contained in:
morris
2018-12-04 17:13:48 +08:00
parent 0b21be508e
commit a338c1b712

View File

@ -809,7 +809,6 @@ static void emac_start(void *param)
ESP_LOGD(TAG, "emac start"); ESP_LOGD(TAG, "emac start");
cmd->err = EMAC_CMD_OK; cmd->err = EMAC_CMD_OK;
emac_enable_clk(true);
if (emac_reset() != ESP_OK) { if (emac_reset() != ESP_OK) {
return; return;
@ -870,6 +869,7 @@ esp_err_t esp_eth_enable(void)
esp_pm_lock_acquire(s_pm_lock); esp_pm_lock_acquire(s_pm_lock);
#endif //CONFIG_PM_ENABLE #endif //CONFIG_PM_ENABLE
emac_enable_clk(true);
/* init phy device */ /* init phy device */
if (emac_config.phy_init() != ESP_OK) { if (emac_config.phy_init() != ESP_OK) {
ESP_LOGE(TAG, "Initialise PHY device Timeout"); ESP_LOGE(TAG, "Initialise PHY device Timeout");