#include <sound/pcm.h>
 #include <sound/pcm_params.h>
 #include <sound/soc.h>
+#include <sound/sof.h>
 #include <sound/soc-acpi.h>
 #include <dt-bindings/sound/cs42l42.h>
 #include "../../codecs/hdac_hdmi.h"
        struct snd_soc_dai *codec_dai = asoc_rtd_to_codec(rtd, 0);
        int clk_freq, ret;
 
-       clk_freq = 3072000; /* BCLK freq */
+       clk_freq = sof_dai_get_bclk(rtd); /* BCLK freq */
+
+       if (clk_freq <= 0) {
+               dev_err(rtd->dev, "get bclk freq failed: %d\n", clk_freq);
+               return -EINVAL;
+       }
 
        /* Configure sysclk for codec */
        ret = snd_soc_dai_set_sysclk(codec_dai, 0,