]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ASoC: Intel: soc-acpi: arl: Add es9356 support
authorZhang Yi <zhangyi@everest-semi.com>
Thu, 14 May 2026 07:52:04 +0000 (15:52 +0800)
committerMark Brown <broonie@kernel.org>
Fri, 15 May 2026 02:29:46 +0000 (11:29 +0900)
Add support for the es9356 codec in the ARL board configuration.

Signed-off-by: Zhang Yi <zhangyi@everest-semi.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>
Link: https://patch.msgid.link/20260514075206.3483-5-zhangyi@everest-semi.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/common/soc-acpi-intel-arl-match.c

index c952f7d2b2c0e0bab877ea5df387f2107cf7a80e..9782825dd8bfd10ad87e4648367f48a68f832123 100644 (file)
@@ -192,6 +192,42 @@ static const struct snd_soc_acpi_endpoint cs42l43_endpoints[] = {
        },
 };
 
+static const struct snd_soc_acpi_endpoint es9356_endpoints[] = {
+       { /* Jack Playback Endpoint */
+               .num = 0,
+               .aggregated = 0,
+               .group_position = 0,
+               .group_id = 0,
+       },
+       { /* DMIC Capture Endpoint */
+               .num = 1,
+               .aggregated = 0,
+               .group_position = 0,
+               .group_id = 0,
+       },
+       { /* Jack Capture Endpoint */
+               .num = 2,
+               .aggregated = 0,
+               .group_position = 0,
+               .group_id = 0,
+       },
+       { /* Speaker Playback Endpoint */
+               .num = 3,
+               .aggregated = 0,
+               .group_position = 0,
+               .group_id = 0,
+       },
+};
+
+static const struct snd_soc_acpi_adr_device es9356_adr[] = {
+       {
+               .adr = 0x00013004b3935601ull,
+               .num_endpoints = ARRAY_SIZE(es9356_endpoints),
+               .endpoints = es9356_endpoints,
+               .name_prefix = "es9356"
+       }
+};
+
 static const struct snd_soc_acpi_adr_device cs42l43_0_adr[] = {
        {
                .adr = 0x00003001FA424301ull,
@@ -255,6 +291,15 @@ static const struct snd_soc_acpi_adr_device rt1320_2_single_adr[] = {
        }
 };
 
+static const struct snd_soc_acpi_link_adr arl_n_mrd_es9356_link1[] = {
+       {
+               .mask = BIT(1),
+               .num_adr = ARRAY_SIZE(es9356_adr),
+               .adr_d = es9356_adr,
+       },
+       {}
+};
+
 static const struct snd_soc_acpi_link_adr arl_cs42l43_l0[] = {
        {
                .mask = BIT(0),
@@ -528,6 +573,13 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_arl_sdw_machines[] = {
                .sof_tplg_filename = "sof-arl-rt722-l0_rt1320-l2.tplg",
                .get_function_tplg_files = sof_sdw_get_tplg_files,
        },
+       {
+               .link_mask = BIT(1),
+               .links = arl_n_mrd_es9356_link1,
+               .drv_name = "sof_sdw",
+               .sof_tplg_filename = "sof-arl-es9356.tplg",
+               .get_function_tplg_files = sof_sdw_get_tplg_files,
+       },
        {},
 };
 EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_arl_sdw_machines);