ASoC: Intel: avs: Support da7219 on both KBL and APL
authorAmadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Mon, 10 Oct 2022 12:19:46 +0000 (14:19 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 17 Oct 2022 11:50:09 +0000 (12:50 +0100)
KBL and APL devices use same codec but have different clock, so it must
be set appropriately depending on device.

Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://lore.kernel.org/r/20221010121955.718168-7-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/avs/boards/da7219.c

index 02ae542..503a967 100644 (file)
@@ -6,6 +6,7 @@
 //
 
 #include <linux/module.h>
+#include <linux/platform_data/x86/soc.h>
 #include <linux/platform_device.h>
 #include <sound/jack.h>
 #include <sound/pcm.h>
@@ -80,7 +81,10 @@ static int avs_da7219_codec_init(struct snd_soc_pcm_runtime *runtime)
        int ret;
 
        jack = snd_soc_card_get_drvdata(card);
-       clk_freq = 19200000;
+       if (soc_intel_is_apl())
+               clk_freq = 19200000;
+       else /* kbl */
+               clk_freq = 24576000;
 
        ret = snd_soc_dai_set_sysclk(codec_dai, DA7219_CLKSRC_MCLK, clk_freq, SND_SOC_CLOCK_IN);
        if (ret) {