fix(esp_eth): fixes EMAC MDC out of the range issue

Closes https://github.com/espressif/esp-idf/issues/17984
This commit is contained in:
Ondrej Kosta
2026-01-08 16:29:02 +08:00
parent 03f2b26253
commit c422590235
10 changed files with 77 additions and 6 deletions
+1 -1
View File
@@ -45,7 +45,7 @@ static uint32_t clk_hal_mem_get_freq_hz(void)
return clk_hal_cpu_get_freq_hz() / clk_ll_mem_get_divider();
}
static uint32_t clk_hal_sys_get_freq_hz(void)
uint32_t clk_hal_sys_get_freq_hz(void)
{
return clk_hal_mem_get_freq_hz() / clk_ll_sys_get_divider();
}
@@ -20,6 +20,7 @@
#include "hal/eth_types.h"
#include "soc/emac_dma_struct.h"
#include "soc/emac_mac_struct.h"
#include "soc/clk_tree_defs.h"
#include "soc/hp_system_struct.h"
#include "soc/hp_sys_clkrst_struct.h"
@@ -578,6 +579,12 @@ static inline void emac_ll_receive_poll_demand(emac_dma_dev_t *dma_regs, uint32_
/*************** End of dma regs operation *********************/
static inline soc_module_clk_t emac_ll_get_csr_clk_src(void)
{
// Source of the ESP32P4 EMAC CRS clock is SYS clock.
return SOC_MOD_CLK_SYS;
}
/**
* @brief Enable the bus clock for the EMAC module
*