[PATCH] ALSA: hda: add CSC3551 support for UM5302TA

From: xhe
Date: Sun Jul 03 2022 - 01:33:12 EST


From: He Wang <xw897002528@xxxxxxxxx>

ASUS UM5302TA are using csc3551, or cs35l41, which is connected to the
laptop by I2C bus. This patch adds quirk for the sound card, and avoid
ACPI DSD things for i2c-multi-instantiate cases like CLSA0100.

Patch is made by XiaoYan Li. It is tested by us on ASUS UM5302TA.

Signed-off-by: He Wang <xw897002528@xxxxxxxxx>
Signed-off-by: Xiaoyan Li <lxy.lixiaoyan@xxxxxxxxx>
---
sound/pci/hda/cs35l41_hda.c | 2 +-
sound/pci/hda/patch_realtek.c | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/sound/pci/hda/cs35l41_hda.c b/sound/pci/hda/cs35l41_hda.c
index cce27a86267f..7374565ecf15 100644
--- a/sound/pci/hda/cs35l41_hda.c
+++ b/sound/pci/hda/cs35l41_hda.c
@@ -420,7 +420,7 @@ static int cs35l41_hda_read_acpi(struct cs35l41_hda *cs35l41, const char *hid, i
* And devm functions expect that the device requesting the resource has the correct
* fwnode.
*/
- if (strncmp(hid, "CLSA0100", 8) != 0)
+ if (strncmp(hid, "CLSA0100", 8) != 0 && strncmp(hid, "CSC3551", 7) != 0)
return -EINVAL;

/* check I2C address to assign the index */
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index cee69fa7e246..49c27d948582 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -9138,6 +9138,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
SND_PCI_QUIRK(0x1043, 0x1e8e, "ASUS Zephyrus G15", ALC289_FIXUP_ASUS_GA401),
SND_PCI_QUIRK(0x1043, 0x1f11, "ASUS Zephyrus G14", ALC289_FIXUP_ASUS_GA401),
SND_PCI_QUIRK(0x1043, 0x1d42, "ASUS Zephyrus G14 2022", ALC289_FIXUP_ASUS_GA401),
+ SND_PCI_QUIRK(0x1043, 0x1f12, "ASUS UM5302TA", ALC287_FIXUP_CS35L41_I2C_2),
SND_PCI_QUIRK(0x1043, 0x16b2, "ASUS GU603", ALC289_FIXUP_ASUS_GA401),
SND_PCI_QUIRK(0x1043, 0x3030, "ASUS ZN270IE", ALC256_FIXUP_ASUS_AIO_GPIO2),
SND_PCI_QUIRK(0x1043, 0x831a, "ASUS P901", ALC269_FIXUP_STEREO_DMIC),
--
2.33.0