diff --git a/arch/arm64/src/imx9/hardware/imx93/imx93_ccm.h b/arch/arm64/src/imx9/hardware/imx93/imx93_ccm.h index 1768e7f12db..2432ca018bc 100644 --- a/arch/arm64/src/imx9/hardware/imx93/imx93_ccm.h +++ b/arch/arm64/src/imx9/hardware/imx93/imx93_ccm.h @@ -730,6 +730,8 @@ static const int g_ccm_root_mux[][ROOT_MUX_MAX] = #define CCM_NIC_APB_CLK_ROOT 66 #define CCM_DRAM_ALT_CLK_ROOT 76 #define CCM_DRAM_APB_CLK_ROOT 77 +#define CCM_ENET_TIMER_CLK_ROOT 87 +#define CCM_ENET_REF_CLK_ROOT 89 #define CCM_CLK_ROOT_NUM 95 #define CCM_OSCPLL_END 19 diff --git a/arch/arm64/src/imx9/imx9_ccm.c b/arch/arm64/src/imx9/imx9_ccm.c index 69597b46dce..cba155bb2fa 100644 --- a/arch/arm64/src/imx9/imx9_ccm.c +++ b/arch/arm64/src/imx9/imx9_ccm.c @@ -556,5 +556,25 @@ int imx9_ccm_clock_init(void) return ret; } + /* ENET to 125MHz */ + + imx9_ccm_gate_on(CCM_LPCG_ENET1, false); + + ret = imx9_ccm_configure_root_clock(CCM_ENET_REF_CLK_ROOT, + SYS_PLL1PFD0DIV2, 2); + if (ret != 0) + { + return ret; + } + + ret = imx9_ccm_configure_root_clock(CCM_ENET_TIMER_CLK_ROOT, + SYS_PLL1PFD0DIV2, 5); + if (ret != 0) + { + return ret; + } + + imx9_ccm_gate_on(CCM_LPCG_ENET1, true); + return OK; }