From ef0b87c4dec49175a2b5b784ee7a3d0b72950d16 Mon Sep 17 00:00:00 2001 From: Hake Huang Date: Wed, 19 Jan 2022 22:57:58 +0800 Subject: [PATCH] driver: sai: add RT11XX support RT11xx series use CCMV2 need special processing Signed-off-by: Hake Huang --- drivers/i2s/i2s_mcux_sai.c | 49 ++------------------------------------ 1 file changed, 2 insertions(+), 47 deletions(-) diff --git a/drivers/i2s/i2s_mcux_sai.c b/drivers/i2s/i2s_mcux_sai.c index 00b32d253c5..9a75718c4d8 100644 --- a/drivers/i2s/i2s_mcux_sai.c +++ b/drivers/i2s/i2s_mcux_sai.c @@ -953,58 +953,13 @@ static void audio_clock_settings(const struct device *dev) uint32_t clock_name = (uint32_t) dev_cfg->clk_sub_sys; /*Clock setting for SAI*/ -#if CONFIG_CLOCK_CONTROL_MCUX_CCM_REV2 - switch (clock_name) { - case IMX_CCM_SAI1_CLK: - CLOCK_SetRootClockMux(kCLOCK_Root_Sai1, dev_cfg->clk_src); - CLOCK_SetRootClockDiv(kCLOCK_Root_Sai1, dev_cfg->clk_src_div); - break; - case IMX_CCM_SAI2_CLK: - CLOCK_SetRootClockMux(kCLOCK_Root_Sai2, dev_cfg->clk_src); - CLOCK_SetRootClockDiv(kCLOCK_Root_Sai2, dev_cfg->clk_src_div); - break; - case IMX_CCM_SAI3_CLK: - CLOCK_SetRootClockMux(kCLOCK_Root_Sai3, dev_cfg->clk_src); - CLOCK_SetRootClockDiv(kCLOCK_Root_Sai3, dev_cfg->clk_src_div); - break; - case IMX_CCM_SAI4_CLK: - CLOCK_SetRootClockMux(kCLOCK_Root_Sai4, dev_cfg->clk_src); - CLOCK_SetRootClockDiv(kCLOCK_Root_Sai4, dev_cfg->clk_src_div); - break; - default: - LOG_ERR("wrong clock system configured"); - return; - } -#endif - -#if CONFIG_CLOCK_CONTROL_MCUX_CCM - switch (clock_name) { - case IMX_CCM_SAI1_CLK: - CLOCK_SetMux(kCLOCK_Sai1Mux, dev_cfg->clk_src); - CLOCK_SetDiv(kCLOCK_Sai1PreDiv, dev_cfg->clk_pre_div); - CLOCK_SetDiv(kCLOCK_Sai1Div, dev_cfg->clk_src_div); - break; - case IMX_CCM_SAI2_CLK: - CLOCK_SetMux(kCLOCK_Sai2Mux, dev_cfg->clk_src); - CLOCK_SetDiv(kCLOCK_Sai2PreDiv, dev_cfg->clk_pre_div); - CLOCK_SetDiv(kCLOCK_Sai2Div, dev_cfg->clk_src_div); - break; - case IMX_CCM_SAI3_CLK: - CLOCK_SetMux(kCLOCK_Sai2Mux, dev_cfg->clk_src); - CLOCK_SetDiv(kCLOCK_Sai2PreDiv, dev_cfg->clk_pre_div); - CLOCK_SetDiv(kCLOCK_Sai2Div, dev_cfg->clk_src_div); - break; - default: - LOG_ERR("wrong clock system configured"); - return; - } -#endif + imxrt_audio_codec_pll_init(clock_name, dev_cfg->clk_src, + dev_cfg->clk_pre_div, dev_cfg->clk_src_div); audioPllConfig.loopDivider = dev_cfg->pll_lp; audioPllConfig.postDivider = dev_cfg->pll_pd; audioPllConfig.numerator = dev_cfg->pll_num; audioPllConfig.denominator = dev_cfg->pll_den; - audioPllConfig.src = dev_cfg->pll_src; CLOCK_InitAudioPll(&audioPllConfig); }