]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ASoC: Intel: sof_rt5682: Add HDMI-In capture with rt5682 support for ARL.
authorBalamurugan C <balamurugan.c@intel.com>
Thu, 12 Sep 2024 12:03:07 +0000 (20:03 +0800)
committerMark Brown <broonie@kernel.org>
Thu, 12 Sep 2024 12:31:50 +0000 (13:31 +0100)
Added match table entry on arl machines to support HDMI-In capture
with rt5682 I2S audio codec. also added the respective quirk
configuration in rt5682 machine driver.

Signed-off-by: Balamurugan C <balamurugan.c@intel.com>
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Link: https://patch.msgid.link/20240912120308.134762-7-yung-chuan.liao@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/boards/sof_rt5682.c
sound/soc/intel/common/soc-acpi-intel-arl-match.c

index 23a40b913290a2f871d23e7fc4dd2af2b68da9df..bc581fea0e3a163278e56b16372d106938353dd8 100644 (file)
@@ -870,6 +870,13 @@ static const struct platform_device_id board_ids[] = {
                                        SOF_SSP_PORT_BT_OFFLOAD(2) |
                                        SOF_BT_OFFLOAD_PRESENT),
        },
+       {
+               .name = "arl_rt5682_c1_h02",
+               .driver_data = (kernel_ulong_t)(SOF_RT5682_MCLK_EN |
+                                       SOF_SSP_PORT_CODEC(1) |
+                                       /* SSP 0 and SSP 2 are used for HDMI IN */
+                                       SOF_SSP_MASK_HDMI_CAPTURE(0x5)),
+       },
        { }
 };
 MODULE_DEVICE_TABLE(platform, board_ids);
index 9936a4b4eee71c42040acce1b81900bc6efee461..c13afff84923eeca257cfe37a698a101fed5dfa7 100644 (file)
@@ -7,6 +7,7 @@
 
 #include <sound/soc-acpi.h>
 #include <sound/soc-acpi-intel-match.h>
+#include <sound/soc-acpi-intel-ssp-common.h>
 
 static const struct snd_soc_acpi_endpoint single_endpoint = {
        .num = 0,
@@ -289,6 +290,11 @@ static const struct snd_soc_acpi_codecs arl_essx_83x6 = {
        .codecs = { "ESSX8316", "ESSX8326", "ESSX8336"},
 };
 
+static const struct snd_soc_acpi_codecs arl_rt5682_hp = {
+       .num_codecs = 2,
+       .codecs = {RT5682_ACPI_HID, RT5682S_ACPI_HID},
+};
+
 static const struct snd_soc_acpi_codecs arl_lt6911_hdmi = {
        .num_codecs = 1,
        .codecs = {"INTC10B0"}
@@ -310,6 +316,13 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_arl_machines[] = {
                        SND_SOC_ACPI_TPLG_INTEL_SSP_MSB |
                        SND_SOC_ACPI_TPLG_INTEL_DMIC_NUMBER,
        },
+       {
+               .comp_ids = &arl_rt5682_hp,
+               .drv_name = "arl_rt5682_c1_h02",
+               .machine_quirk = snd_soc_acpi_codec_list,
+               .quirk_data = &arl_lt6911_hdmi,
+               .sof_tplg_filename = "sof-arl-rt5682-ssp1-hdmi-ssp02.tplg",
+       },
        {},
 };
 EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_arl_machines);