ASoC: amd: Add acpi machine id's for vangogh platform
authorVenkata Prasad Potturu <venkataprasad.potturu@amd.com>
Fri, 7 Jul 2023 12:07:29 +0000 (17:37 +0530)
committerMark Brown <broonie@kernel.org>
Sun, 9 Jul 2023 21:48:02 +0000 (22:48 +0100)
Add acpi machine id's for vangogh platform and configure
driver data to enable SOF sound card support on newer boards.

Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com>
Link: https://lore.kernel.org/r/20230707120730.1948445-4-venkataprasad.potturu@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/amd/acp-config.c
sound/soc/amd/acp/acp-sof-mach.c
sound/soc/amd/mach-config.h

index 0932473b63945fb3eda1ac6087245e6daa1f71ff..f002397caeef58afb971d6595187e85744f241e5 100644 (file)
@@ -82,6 +82,11 @@ static struct snd_soc_acpi_codecs amp_max = {
        .codecs = {"MX98360A"}
 };
 
+static struct snd_soc_acpi_codecs amp_max98388 = {
+       .num_codecs = 1,
+       .codecs = {"ADS8388"}
+};
+
 struct snd_soc_acpi_mach snd_soc_acpi_amd_sof_machines[] = {
        {
                .id = "10EC5682",
@@ -130,6 +135,20 @@ struct snd_soc_acpi_mach snd_soc_acpi_amd_sof_machines[] = {
 };
 EXPORT_SYMBOL(snd_soc_acpi_amd_sof_machines);
 
+struct snd_soc_acpi_mach snd_soc_acpi_amd_vangogh_sof_machines[] = {
+       {
+               .id = "NVTN2020",
+               .drv_name = "nau8821-max",
+               .pdata = &acp_quirk_data,
+               .machine_quirk = snd_soc_acpi_codec_list,
+               .quirk_data = &amp_max98388,
+               .fw_filename = "sof-vangogh.ri",
+               .sof_tplg_filename = "sof-vangogh-nau8821-max.tplg",
+       },
+       {},
+};
+EXPORT_SYMBOL(snd_soc_acpi_amd_vangogh_sof_machines);
+
 struct snd_soc_acpi_mach snd_soc_acpi_amd_rmb_sof_machines[] = {
        {
                .id = "AMDI1019",
index 99a7d3879340d9bd4c5d7b4064b0fed09a93139c..a1c893f33f741e72558f5977663154b89515e01d 100644 (file)
@@ -83,6 +83,17 @@ static struct acp_card_drvdata sof_rt5682s_hs_rt1019_data = {
        .tdm_mode = false,
 };
 
+static struct acp_card_drvdata sof_nau8821_max98388_data = {
+       .hs_cpu_id = I2S_SP,
+       .amp_cpu_id = I2S_HS,
+       .dmic_cpu_id = NONE,
+       .hs_codec_id = NAU8821,
+       .amp_codec_id = MAX98388,
+       .dmic_codec_id = NONE,
+       .soc_mclk = true,
+       .tdm_mode = false,
+};
+
 static const struct snd_kcontrol_new acp_controls[] = {
        SOC_DAPM_PIN_SWITCH("Headphone Jack"),
        SOC_DAPM_PIN_SWITCH("Headset Mic"),
@@ -166,6 +177,10 @@ static const struct platform_device_id board_ids[] = {
                .name = "rt5682s-hs-rt1019",
                .driver_data = (kernel_ulong_t)&sof_rt5682s_hs_rt1019_data
        },
+       {
+               .name = "nau8821-max",
+               .driver_data = (kernel_ulong_t)&sof_nau8821_max98388_data
+       },
        { }
 };
 static struct platform_driver acp_asoc_audio = {
@@ -187,4 +202,5 @@ MODULE_ALIAS("platform:rt5682s-max");
 MODULE_ALIAS("platform:rt5682s-rt1019");
 MODULE_ALIAS("platform:nau8825-max");
 MODULE_ALIAS("platform:rt5682s-hs-rt1019");
+MODULE_ALIAS("platform:nau8821-max");
 MODULE_LICENSE("GPL v2");
index 7b4c625da40d8e9441b0f806f80ceff16e405486..d392e6d6e6e1628bd4b64d36b2020f051f918299 100644 (file)
@@ -20,6 +20,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[];
 
 struct config_entry {
        u32 flags;