From dc043109d76ea72ef4d588a64b11e18dfcb8d9d3 Mon Sep 17 00:00:00 2001 From: morris Date: Tue, 4 Dec 2018 17:13:48 +0800 Subject: [PATCH] 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. --- components/ethernet/emac_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ethernet/emac_main.c b/components/ethernet/emac_main.c index b70682b561..6ddcdc7127 100644 --- a/components/ethernet/emac_main.c +++ b/components/ethernet/emac_main.c @@ -809,7 +809,6 @@ static void emac_start(void *param) ESP_LOGD(TAG, "emac start"); cmd->err = EMAC_CMD_OK; - emac_enable_clk(true); if (emac_reset() != ESP_OK) { return; @@ -870,6 +869,7 @@ esp_err_t esp_eth_enable(void) esp_pm_lock_acquire(s_pm_lock); #endif //CONFIG_PM_ENABLE + emac_enable_clk(true); /* init phy device */ if (emac_config.phy_init() != ESP_OK) { ESP_LOGE(TAG, "Initialise PHY device Timeout"); -- 2.40.0