diff --git a/drivers/clock_control/clock_control_mcux_ccm.c b/drivers/clock_control/clock_control_mcux_ccm.c index 8030dac1115..31cfe00d300 100644 --- a/drivers/clock_control/clock_control_mcux_ccm.c +++ b/drivers/clock_control/clock_control_mcux_ccm.c @@ -135,6 +135,23 @@ static int mcux_ccm_get_subsys_rate(const struct device *dev, break; #endif +#ifdef CONFIG_I2S_MCUX_SAI + case IMX_CCM_SAI1_CLK: + *rate = CLOCK_GetFreq(kCLOCK_AudioPllClk) / 8 + / (CLOCK_GetDiv(kCLOCK_Sai1PreDiv) + 1) + / (CLOCK_GetDiv(kCLOCK_Sai1Div) + 1); + break; + case IMX_CCM_SAI2_CLK: + *rate = CLOCK_GetFreq(kCLOCK_AudioPllClk) / 8 + / (CLOCK_GetDiv(kCLOCK_Sai2PreDiv) + 1) + / (CLOCK_GetDiv(kCLOCK_Sai2Div) + 1); + break; + case IMX_CCM_SAI3_CLK: + *rate = CLOCK_GetFreq(kCLOCK_AudioPllClk) / 8 + / (CLOCK_GetDiv(kCLOCK_Sai3PreDiv) + 1) + / (CLOCK_GetDiv(kCLOCK_Sai3Div) + 1); + break; +#endif } return 0;