On 10/21/20 2:26 AM, Brent Lu wrote:
The default quirk data of sof_rt5682 is for tgl platform. For cml
platforms to reuse this driver, the flag SOF_RT5682_MCLK_24MHZ is
necessary to setup codec asrc correctly.

Signed-off-by: Brent Lu <brent...@intel.com>
---
  sound/soc/intel/boards/sof_rt5682.c | 5 +++++
  1 file changed, 5 insertions(+)

diff --git a/sound/soc/intel/boards/sof_rt5682.c 
b/sound/soc/intel/boards/sof_rt5682.c
index ddbb9fe7cc06..fa2c226a444a 100644
--- a/sound/soc/intel/boards/sof_rt5682.c
+++ b/sound/soc/intel/boards/sof_rt5682.c
@@ -768,6 +768,11 @@ static int sof_audio_probe(struct platform_device *pdev)
                /* default number of HDMI DAI's */
                if (!hdmi_num)
                        hdmi_num = 3;
+
+               if (soc_intel_is_cml()) {
+                       /* default quirk for sof_rt5682 is for tgl platform */
+                       sof_rt5682_quirk |= SOF_RT5682_MCLK_24MHZ;
+               }

That setting is not wrong, but is it sufficient?

see e.g. what we set for existing platforms which need 24 Mhz in this driver:

DMI quirks:

        {
                .callback = sof_rt5682_quirk_cb,
                .matches = {
                        DMI_MATCH(DMI_PRODUCT_FAMILY, "Google_Hatch"),
                },
                .driver_data = (void *)(SOF_RT5682_MCLK_EN |
                                        SOF_RT5682_MCLK_24MHZ |
                                        SOF_RT5682_SSP_CODEC(0) |
                                        SOF_SPEAKER_AMP_PRESENT |
                                        SOF_RT5682_SSP_AMP(1)),
        },

Board-id quirks:

        {
                .name = "jsl_rt5682_rt1015",
                .driver_data = (kernel_ulong_t)(SOF_RT5682_MCLK_EN |
                                        SOF_RT5682_MCLK_24MHZ |
                                        SOF_RT5682_SSP_CODEC(0) |
                                        SOF_SPEAKER_AMP_PRESENT |
                                        SOF_RT1015_SPEAKER_AMP_PRESENT |
                                        SOF_RT5682_SSP_AMP(1)),
        },

You probably need a board-id quirk dedicated to CML, rather than override the TGL one?

Reply via email to