Skip to content

Commit 192595a

Browse files
committed
ASoC: Intel: add support for new devices
Merge series from Bard Liao <[email protected]>: Add support for new devices on Intel platforms.
2 parents 68e4dad + 86ccd4d commit 192595a

File tree

3 files changed

+94
-0
lines changed

3 files changed

+94
-0
lines changed

sound/soc/intel/boards/sof_es8336.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -826,6 +826,16 @@ static const struct platform_device_id board_ids[] = {
826826
SOF_ES8336_SPEAKERS_EN_GPIO1_QUIRK |
827827
SOF_ES8336_JD_INVERTED),
828828
},
829+
{
830+
.name = "ptl_es83x6_c1_h02",
831+
.driver_data = (kernel_ulong_t)(SOF_ES8336_SSP_CODEC(1) |
832+
SOF_NO_OF_HDMI_CAPTURE_SSP(2) |
833+
SOF_HDMI_CAPTURE_1_SSP(0) |
834+
SOF_HDMI_CAPTURE_2_SSP(2) |
835+
SOF_SSP_HDMI_CAPTURE_PRESENT |
836+
SOF_ES8336_SPEAKERS_EN_GPIO1_QUIRK |
837+
SOF_ES8336_JD_INVERTED),
838+
},
829839
{ }
830840
};
831841
MODULE_DEVICE_TABLE(platform, board_ids);

sound/soc/intel/common/soc-acpi-intel-lnl-match.c

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -419,6 +419,15 @@ static const struct snd_soc_acpi_adr_device rt1320_1_group1_adr[] = {
419419
}
420420
};
421421

422+
static const struct snd_soc_acpi_adr_device rt1320_2_group2_adr[] = {
423+
{
424+
.adr = 0x000231025D132001ull,
425+
.num_endpoints = 1,
426+
.endpoints = &spk_r_endpoint,
427+
.name_prefix = "rt1320-2"
428+
}
429+
};
430+
422431
static const struct snd_soc_acpi_adr_device rt1320_1_group2_adr[] = {
423432
{
424433
.adr = 0x000130025D132001ull,
@@ -609,6 +618,25 @@ static const struct snd_soc_acpi_link_adr lnl_sdw_rt1318_l12_rt714_l0[] = {
609618
{}
610619
};
611620

621+
static const struct snd_soc_acpi_link_adr lnl_sdw_rt1320_l12_rt714_l0[] = {
622+
{
623+
.mask = BIT(1),
624+
.num_adr = ARRAY_SIZE(rt1320_1_group2_adr),
625+
.adr_d = rt1320_1_group2_adr,
626+
},
627+
{
628+
.mask = BIT(2),
629+
.num_adr = ARRAY_SIZE(rt1320_2_group2_adr),
630+
.adr_d = rt1320_2_group2_adr,
631+
},
632+
{
633+
.mask = BIT(0),
634+
.num_adr = ARRAY_SIZE(rt714_0_adr),
635+
.adr_d = rt714_0_adr,
636+
},
637+
{}
638+
};
639+
612640
static const struct snd_soc_acpi_link_adr lnl_sdw_rt713_l0_rt1318_l1[] = {
613641
{
614642
.mask = BIT(0),
@@ -740,6 +768,12 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_lnl_sdw_machines[] = {
740768
.drv_name = "sof_sdw",
741769
.sof_tplg_filename = "sof-lnl-rt1318-l12-rt714-l0.tplg"
742770
},
771+
{
772+
.link_mask = GENMASK(2, 0),
773+
.links = lnl_sdw_rt1320_l12_rt714_l0,
774+
.drv_name = "sof_sdw",
775+
.sof_tplg_filename = "sof-lnl-rt1320-l12-rt714-l0.tplg"
776+
},
743777
{
744778
.link_mask = BIT(0) | BIT(1),
745779
.links = lnl_sdw_rt713_l0_rt1318_l1,

sound/soc/intel/common/soc-acpi-intel-ptl-match.c

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,16 @@ static const struct snd_soc_acpi_codecs ptl_rt5682_rt5682s_hp = {
2121
.codecs = {RT5682_ACPI_HID, RT5682S_ACPI_HID},
2222
};
2323

24+
static const struct snd_soc_acpi_codecs ptl_essx_83x6 = {
25+
.num_codecs = 3,
26+
.codecs = { "ESSX8316", "ESSX8326", "ESSX8336"},
27+
};
28+
29+
static const struct snd_soc_acpi_codecs ptl_lt6911_hdmi = {
30+
.num_codecs = 1,
31+
.codecs = {"INTC10B0"}
32+
};
33+
2434
struct snd_soc_acpi_mach snd_soc_acpi_intel_ptl_machines[] = {
2535
{
2636
.comp_ids = &ptl_rt5682_rt5682s_hp,
@@ -29,6 +39,21 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_ptl_machines[] = {
2939
.tplg_quirk_mask = SND_SOC_ACPI_TPLG_INTEL_AMP_NAME |
3040
SND_SOC_ACPI_TPLG_INTEL_CODEC_NAME,
3141
},
42+
{
43+
.comp_ids = &ptl_essx_83x6,
44+
.drv_name = "ptl_es83x6_c1_h02",
45+
.machine_quirk = snd_soc_acpi_codec_list,
46+
.quirk_data = &ptl_lt6911_hdmi,
47+
.sof_tplg_filename = "sof-ptl-es83x6-ssp1-hdmi-ssp02.tplg",
48+
},
49+
{
50+
.comp_ids = &ptl_essx_83x6,
51+
.drv_name = "sof-essx8336",
52+
.sof_tplg_filename = "sof-ptl-es8336", /* the tplg suffix is added at run time */
53+
.tplg_quirk_mask = SND_SOC_ACPI_TPLG_INTEL_SSP_NUMBER |
54+
SND_SOC_ACPI_TPLG_INTEL_SSP_MSB |
55+
SND_SOC_ACPI_TPLG_INTEL_DMIC_NUMBER,
56+
},
3257
{},
3358
};
3459
EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_ptl_machines);
@@ -330,6 +355,15 @@ static const struct snd_soc_acpi_adr_device rt1320_3_group1_adr[] = {
330355
}
331356
};
332357

358+
static const struct snd_soc_acpi_adr_device rt721_0_single_adr[] = {
359+
{
360+
.adr = 0x000030025d072101ull,
361+
.num_endpoints = ARRAY_SIZE(rt_mf_endpoints),
362+
.endpoints = rt_mf_endpoints,
363+
.name_prefix = "rt721"
364+
}
365+
};
366+
333367
static const struct snd_soc_acpi_adr_device rt721_3_single_adr[] = {
334368
{
335369
.adr = 0x000330025d072101ull,
@@ -448,6 +482,15 @@ static const struct snd_soc_acpi_link_adr ptl_cs42l43_l3[] = {
448482
{}
449483
};
450484

485+
static const struct snd_soc_acpi_link_adr ptl_rt721_l0[] = {
486+
{
487+
.mask = BIT(0),
488+
.num_adr = ARRAY_SIZE(rt721_0_single_adr),
489+
.adr_d = rt721_0_single_adr,
490+
},
491+
{}
492+
};
493+
451494
static const struct snd_soc_acpi_link_adr ptl_rt722_only[] = {
452495
{
453496
.mask = BIT(0),
@@ -635,6 +678,13 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_ptl_sdw_machines[] = {
635678
.drv_name = "sof_sdw",
636679
.sof_tplg_filename = "sof-ptl-rt711.tplg",
637680
},
681+
{
682+
.link_mask = BIT(0),
683+
.links = ptl_rt721_l0,
684+
.drv_name = "sof_sdw",
685+
.sof_tplg_filename = "sof-ptl-rt721.tplg",
686+
.get_function_tplg_files = sof_sdw_get_tplg_files,
687+
},
638688
{
639689
.link_mask = BIT(0),
640690
.links = ptl_rt722_only,

0 commit comments

Comments
 (0)