[PATCH] ASoC: Intel: sof_rt5682: update quirk for cml boards
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.lu@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; + } }
/* need to get main clock from pmc */
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.lu@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?
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)), },
Hi Pierre,
CML chromebox is using DMI quirk so we don't need this patch. Sorry for not noticing it.
Handle 0x0001, DMI type 1, 27 bytes System Information Manufacturer: Google Product Name: Duffy Version: rev3 Serial Number: 123456789 UUID: Not Settable Wake-up Type: Reserved SKU Number: sku33554439 Family: Google_Hatch
participants (3)
-
Brent Lu
-
Lu, Brent
-
Pierre-Louis Bossart