]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ASoC: tac5xx2-sdw: ACPI match for intel mtl platform
authorNiranjan H Y <niranjan.hy@ti.com>
Tue, 5 May 2026 11:18:06 +0000 (16:48 +0530)
committerMark Brown <broonie@kernel.org>
Thu, 7 May 2026 08:18:40 +0000 (17:18 +0900)
 Add acpi match entries to support TI's tac5572,
tas2883, tac5672 and tac5682 on link 0 on MTL machine.

Signed-off-by: Niranjan H Y <niranjan.hy@ti.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>
Link: https://patch.msgid.link/20260505111806.2280-5-niranjan.hy@ti.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/common/soc-acpi-intel-mtl-match.c

index 72c35e73078e3fc07d0de59acba96373db3cca98..2e4222456f27f592581d37e8cd93e1cb03084b74 100644 (file)
@@ -122,6 +122,42 @@ static const struct snd_soc_acpi_endpoint spk_r_endpoint = {
        .group_id = 1,
 };
 
+static const struct snd_soc_acpi_endpoint tac5xx2_endpoints[] = {
+       { /* Playback Endpoint */
+               .num = 0,
+               .aggregated = 0,
+               .group_position = 0,
+               .group_id = 0,
+       },
+       { /* Mic Capture Endpoint */
+               .num = 1,
+               .aggregated = 0,
+               .group_position = 0,
+               .group_id = 0,
+       },
+       { /* UAJ-HP with Mic Endpoint */
+               .num = 2,
+               .aggregated = 0,
+               .group_position = 0,
+               .group_id = 0,
+       },
+};
+
+static const struct snd_soc_acpi_endpoint tas2883_endpoints[] = {
+       { /* Playback Endpoint */
+               .num = 0,
+               .aggregated = 0,
+               .group_position = 0,
+               .group_id = 0,
+       },
+       { /* Mic Capture Endpoint */
+               .num = 1,
+               .aggregated = 0,
+               .group_position = 0,
+               .group_id = 0,
+       },
+};
+
 static const struct snd_soc_acpi_endpoint rt712_endpoints[] = {
        {
                .num = 0,
@@ -1011,6 +1047,33 @@ static const struct snd_soc_acpi_adr_device cs42l42_0_adr[] = {
        }
 };
 
+static const struct snd_soc_acpi_adr_device tac5572_0_adr[] = {
+       {
+               .adr = 0x0000300102557201ull,
+               .num_endpoints = ARRAY_SIZE(tac5xx2_endpoints),
+               .endpoints = tac5xx2_endpoints,
+               .name_prefix = "tac5572"
+       }
+};
+
+static const struct snd_soc_acpi_adr_device tac5672_0_adr[] = {
+       {
+               .adr = 0x0000300102567201ull,
+               .num_endpoints = ARRAY_SIZE(tac5xx2_endpoints),
+               .endpoints = tac5xx2_endpoints,
+               .name_prefix = "tac5672"
+       }
+};
+
+static const struct snd_soc_acpi_adr_device tac5682_0_adr[] = {
+       {
+               .adr = 0x0000300102568201ull,
+               .num_endpoints = ARRAY_SIZE(tac5xx2_endpoints),
+               .endpoints = tac5xx2_endpoints,
+               .name_prefix = "tac5682"
+       }
+};
+
 static const struct snd_soc_acpi_adr_device tas2783_0_adr[] = {
        {
                .adr = 0x00003c0102000001ull,
@@ -1035,9 +1098,45 @@ static const struct snd_soc_acpi_adr_device tas2783_0_adr[] = {
                .num_endpoints = 1,
                .endpoints = &spk_r_endpoint,
                .name_prefix = "tas2783-4"
+       },
+};
+
+static const struct snd_soc_acpi_adr_device tas2883_0_adr[] = {
+       {
+               .adr = 0x0000300102288301ull,
+               .num_endpoints = ARRAY_SIZE(tas2883_endpoints),
+               .endpoints = tas2883_endpoints,
+               .name_prefix = "tas2883"
        }
 };
 
+static const struct snd_soc_acpi_link_adr tac5572_l0[] = {
+       {
+               .mask = BIT(0),
+               .num_adr = ARRAY_SIZE(tac5572_0_adr),
+               .adr_d = tac5572_0_adr,
+       },
+       {}
+};
+
+static const struct snd_soc_acpi_link_adr tac5672_l0[] = {
+       {
+               .mask = BIT(0),
+               .num_adr = ARRAY_SIZE(tac5672_0_adr),
+               .adr_d = tac5672_0_adr,
+       },
+       {}
+};
+
+static const struct snd_soc_acpi_link_adr tac5682_l0[] = {
+       {
+               .mask = BIT(0),
+               .num_adr = ARRAY_SIZE(tac5682_0_adr),
+               .adr_d = tac5682_0_adr,
+       },
+       {}
+};
+
 static const struct snd_soc_acpi_link_adr tas2783_link0[] = {
        {
                .mask = BIT(0),
@@ -1047,6 +1146,15 @@ static const struct snd_soc_acpi_link_adr tas2783_link0[] = {
        {}
 };
 
+static const struct snd_soc_acpi_link_adr tas2883_l0[] = {
+       {
+               .mask = BIT(0),
+               .num_adr = ARRAY_SIZE(tas2883_0_adr),
+               .adr_d = tas2883_0_adr,
+       },
+       {}
+};
+
 static const struct snd_soc_acpi_link_adr cs42l42_link0_max98363_link2[] = {
        /* Expected order: jack -> amp */
        {
@@ -1208,12 +1316,36 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_mtl_sdw_machines[] = {
                .drv_name = "sof_sdw",
                .sof_tplg_filename = "sof-mtl-rt715-rt711-rt1308-mono.tplg",
        },
+       {
+               .link_mask = BIT(0),
+               .links = tac5572_l0,
+               .drv_name = "sof_sdw",
+               .sof_tplg_filename = "sof-mtl-tac5572.tplg",
+       },
+       {
+               .link_mask = BIT(0),
+               .links = tac5672_l0,
+               .drv_name = "sof_sdw",
+               .sof_tplg_filename = "sof-mtl-tac5672.tplg",
+       },
+       {
+               .link_mask = BIT(0),
+               .links = tac5682_l0,
+               .drv_name = "sof_sdw",
+               .sof_tplg_filename = "sof-mtl-tac5682.tplg",
+       },
        {
                .link_mask = BIT(0),
                .links = tas2783_link0,
                .drv_name = "sof_sdw",
                .sof_tplg_filename = "sof-mtl-tas2783.tplg",
        },
+       {
+               .link_mask = BIT(0),
+               .links = tas2883_l0,
+               .drv_name = "sof_sdw",
+               .sof_tplg_filename = "sof-mtl-tas2883.tplg",
+       },
        {
                .link_mask = GENMASK(3, 0),
                .links = mtl_rt713_l0_rt1316_l12_rt1713_l3,