]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
ASoC: amd: acp: add rt722 based soundwire machines
authorVijendar Mukunda <Vijendar.Mukunda@amd.com>
Wed, 13 Nov 2024 11:52:18 +0000 (17:22 +0530)
committerMark Brown <broonie@kernel.org>
Wed, 13 Nov 2024 13:52:26 +0000 (13:52 +0000)
Add RT722 based soundwire machines for legacy(NO DSP) stack
for acp 6.3 platform.

Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
Link: https://patch.msgid.link/20241113115223.3274868-2-Vijendar.Mukunda@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/amd/acp/amd-acp63-acpi-match.c
sound/soc/amd/mach-config.h

index be93679130735385242091c11ce25f36a3c4ef1c..5e506c9e3da66c36e5abe71d7c2cea5ac4580cc0 100644 (file)
@@ -73,6 +73,45 @@ static const struct snd_soc_acpi_link_adr acp63_4_in_1_sdca[] = {
        {}
 };
 
+static const struct snd_soc_acpi_endpoint rt722_endpoints[] = {
+       {
+               .num = 0,
+               .aggregated = 0,
+               .group_position = 0,
+               .group_id = 0,
+       },
+       {
+               .num = 1,
+               .aggregated = 0,
+               .group_position = 0,
+               .group_id = 0,
+       },
+       {
+               .num = 2,
+               .aggregated = 0,
+               .group_position = 0,
+               .group_id = 0,
+       },
+};
+
+static const struct snd_soc_acpi_adr_device rt722_0_single_adr[] = {
+       {
+               .adr = 0x000030025d072201ull,
+               .num_endpoints = ARRAY_SIZE(rt722_endpoints),
+               .endpoints = rt722_endpoints,
+               .name_prefix = "rt722"
+       }
+};
+
+static const struct snd_soc_acpi_link_adr acp63_rt722_only[] = {
+       {
+               .mask = BIT(0),
+               .num_adr = ARRAY_SIZE(rt722_0_single_adr),
+               .adr_d = rt722_0_single_adr,
+       },
+       {}
+};
+
 struct snd_soc_acpi_mach snd_soc_acpi_amd_acp63_sof_sdw_machines[] = {
        {
                .link_mask = BIT(0) | BIT(1),
@@ -85,6 +124,16 @@ struct snd_soc_acpi_mach snd_soc_acpi_amd_acp63_sof_sdw_machines[] = {
 };
 EXPORT_SYMBOL(snd_soc_acpi_amd_acp63_sof_sdw_machines);
 
+struct snd_soc_acpi_mach snd_soc_acpi_amd_acp63_sdw_machines[] = {
+       {
+               .link_mask = BIT(0),
+               .links = acp63_rt722_only,
+               .drv_name = "amd_sdw",
+       },
+       {},
+};
+EXPORT_SYMBOL(snd_soc_acpi_amd_acp63_sdw_machines);
+
 MODULE_DESCRIPTION("AMD ACP6.3 tables and support for ACPI enumeration");
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Vijendar.Mukunda@amd.com");
index 1a967da35a0fdd65aee8e8822c027d4d4dea354e..a86c76f781f9ebc1d1ee042593edde26c4f74f0d 100644 (file)
@@ -23,6 +23,7 @@ extern struct snd_soc_acpi_mach snd_soc_acpi_amd_sof_machines[];
 extern struct snd_soc_acpi_mach snd_soc_acpi_amd_rmb_sof_machines[];
 extern struct snd_soc_acpi_mach snd_soc_acpi_amd_vangogh_sof_machines[];
 extern struct snd_soc_acpi_mach snd_soc_acpi_amd_acp63_sof_machines[];
+extern struct snd_soc_acpi_mach snd_soc_acpi_amd_acp63_sdw_machines[];
 extern struct snd_soc_acpi_mach snd_soc_acpi_amd_acp63_sof_sdw_machines[];
 extern struct snd_soc_acpi_mach snd_soc_acpi_amd_acp70_sof_machines[];