> On 8/16/22 09:54, Sean Hong wrote: > > This patch adds the driver data for rt5682 support jsl_rt5682_rt1019. > > > > Signed-off-by: Sean Hong <sean.hong@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> > > --- > > sound/soc/intel/boards/sof_rt5682.c | 9 +++++++++ > > sound/soc/intel/common/soc-acpi-intel-jsl-match.c | 12 ++++++++++++ > > 2 files changed, 21 insertions(+) > > > > diff --git a/sound/soc/intel/boards/sof_rt5682.c > > b/sound/soc/intel/boards/sof_rt5682.c > > index 045965312..3a840f3a9 100644 > > --- a/sound/soc/intel/boards/sof_rt5682.c > > +++ b/sound/soc/intel/boards/sof_rt5682.c > > @@ -1100,6 +1100,15 @@ static const struct platform_device_id > board_ids[] = { > > SOF_RT5682_SSP_AMP(1) | > > SOF_RT5682_NUM_HDMIDEV(4)), > > }, > > + { > > + .name = "jsl_rt5682_rt1019", > > + .driver_data = (kernel_ulong_t)(SOF_RT5682_MCLK_EN | > > + SOF_RT5682_MCLK_24MHZ | > > I see it's the same setting for all JSL devices but I am having doubts on this > MCLK. Is this 24MHz value correct for JSL? It's derived from ICL so in theory > the MCLK should be a multiple of 19.2MHz if the root frequency was the > oscillator. > > Is this intentional? > I've checked some internal wiki page and sof git log. It seems the first amp enabled on JSL is max98373 running in TDM 4 slot 100fs so 24MHz MCLK seems to be a reasonable choice. The commis is 5340225a7 ("topology: Add JSL da7219+max98373 support") +# SSP 1 (ID: 0) +DAI_CONFIG(SSP, SPK_INDEX, 0, SPK_NAME, + SSP_CONFIG(DSP_B, SSP_CLOCK(mclk, 24000000, codec_mclk_in), + SSP_CLOCK(bclk, 4800000, codec_slave), + SSP_CLOCK(fsync, 48000, codec_slave), + SSP_TDM(4, 25, 3, 240), + SSP_CONFIG_DATA(SSP, SPK_INDEX, 16))) I've also tested 19.2MHz on JSL boards and it also works. 1K sinetone playback sounds ok. Since JSL boards are using 2.304 MHz bclk for max98360a and 3.072 MHz bclk for alc1015 now, changing to 19.2 MHz mclk seems no benefit. Regards, Brent > > + SOF_RT5682_SSP_CODEC(0) | > > + SOF_SPEAKER_AMP_PRESENT | > > + > SOF_RT1019_SPEAKER_AMP_PRESENT | > > + SOF_RT5682_SSP_AMP(1)), > > + }, > > { } > > }; > > MODULE_DEVICE_TABLE(platform, board_ids); diff --git > > a/sound/soc/intel/common/soc-acpi-intel-jsl-match.c > > b/sound/soc/intel/common/soc-acpi-intel-jsl-match.c > > index b95c4b2cd..e374bf163 100644 > > --- a/sound/soc/intel/common/soc-acpi-intel-jsl-match.c > > +++ b/sound/soc/intel/common/soc-acpi-intel-jsl-match.c > > @@ -29,6 +29,11 @@ static const struct snd_soc_acpi_codecs rt1015p_spk > = { > > .codecs = {"RTL1015"} > > }; > > > > +static struct snd_soc_acpi_codecs rt1019p_spk = { > > + .num_codecs = 1, > > + .codecs = {"RTL1019"} > > +}; > > + > > static const struct snd_soc_acpi_codecs mx98360a_spk = { > > .num_codecs = 1, > > .codecs = {"MX98360A"} > > @@ -78,6 +83,13 @@ struct snd_soc_acpi_mach > snd_soc_acpi_intel_jsl_machines[] = { > > .quirk_data = &mx98360a_spk, > > .sof_tplg_filename = "sof-jsl-rt5682-mx98360a.tplg", > > }, > > + { > > + .comp_ids = &rt5682_rt5682s_hp, > > + .drv_name = "jsl_rt5682_rt1019", > > + .machine_quirk = snd_soc_acpi_codec_list, > > + .quirk_data = &rt1019p_spk, > > + .sof_tplg_filename = "sof-jsl-rt5682-rt1019.tplg", > > + }, > > { > > .id = "10134242", > > .drv_name = "jsl_cs4242_mx98360a",