struct snd_soc_dai *codec_dai = rtd->codec_dai;
        int ret;
 
-       ret = snd_soc_dai_set_sysclk(codec_dai,
-                       RT5663_SCLK_S_MCLK, 24576000, SND_SOC_CLOCK_IN);
        /* use ASRC for internal clocks, as PLL rate isn't multiple of BCLK */
-       rt5663_sel_asrc_clk_src(codec_dai->codec, RT5663_DA_STEREO_FILTER, 1);
+       rt5663_sel_asrc_clk_src(codec_dai->codec,
+                       RT5663_DA_STEREO_FILTER | RT5663_AD_STEREO_FILTER,
+                       RT5663_CLK_SEL_I2S1_ASRC);
 
+       ret = snd_soc_dai_set_sysclk(codec_dai,
+                       RT5663_SCLK_S_MCLK, 24576000, SND_SOC_CLOCK_IN);
        if (ret < 0)
                dev_err(rtd->dev, "snd_soc_dai_set_sysclk err = %d\n", ret);