2020-10-21 14:39:45

by Pierre-Louis Bossart

[permalink] [raw]
Subject: Re: [PATCH] ASoC: Intel: sof_rt5682: update quirk for cml boards



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 <[email protected]>
> ---
> 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?


2020-10-21 14:48:18

by Brent Lu

[permalink] [raw]
Subject: RE: [PATCH] ASoC: Intel: sof_rt5682: update quirk for cml boards

>
> 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