diff options
Diffstat (limited to 'SOURCES/tas2781-Fix-ROG-ALLY-X-audio.patch')
-rw-r--r-- | SOURCES/tas2781-Fix-ROG-ALLY-X-audio.patch | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/SOURCES/tas2781-Fix-ROG-ALLY-X-audio.patch b/SOURCES/tas2781-Fix-ROG-ALLY-X-audio.patch new file mode 100644 index 0000000..2ecd5e8 --- /dev/null +++ b/SOURCES/tas2781-Fix-ROG-ALLY-X-audio.patch @@ -0,0 +1,74 @@ +From ebfb5a57caa4e2e2203883ac6669bf8a294e7c89 Mon Sep 17 00:00:00 2001 +From: Jonathan LoBue <jlobue10@gmail.com> +Date: Sun, 11 Aug 2024 21:53:25 -0700 +Subject: ALSA: hda/realtek: tas2781: Fix ROG ALLY X audio + +This patch enables the TI TAS2781 amplifier SoC for the ASUS ROG ALLY X. +This is a design change from the original ASUS ROG ALLY, creating the need +for this patch. All other Realtek Codec settings seem to be re-used from +the original ROG ALLY design (on the ROG ALLY X). This patch maintains the +previous settings for the Realtek codec portion, but enables the I2C +binding for the TI TAS2781 amplifier (instead of the Cirrus CS35L41 amp +used on the original ASUS ROG ALLY). + +One other requirement must be met for audio to work on the ASUS ROG ALLY X. +A proper firmware file in the correct location with a proper symlink. We +had reached out to TI engineers and confirmed that the firmware found in +the Windows' driver package has a GPL license. Bazzite Github is hosting +this firmware file for now until proper linux-firmware upstreaming can +occur. https://github.com/ublue-os/bazzite + +This firmware file should be placed in +/usr/lib/firmware/ti/tas2781/TAS2XXX1EB3.bin with a symlink to it from +/usr/lib/firmware/TAS2XXX1EB3.bin + +Co-developed by: Kyle Gospodnetich <me@kylegospodneti.ch> +Signed-off-by: Kyle Gospodnetich <me@kylegospodneti.ch> +Co-developed by: Jan Drogehoff <sentrycraft123@gmail.com> +Signed-off-by: Jan Drogehoff <sentrycraft123@gmail.com> +Signed-off-by: Antheas Kapenekakis <lkml@antheas.dev> +Tested-by: Richard Alvarez <alvarez.richard@gmail.com> +Tested-by: Miles Montierth <cyber_dopamine@intheblackmedia.com> +Signed-off-by: Jonathan LoBue <jlobue10@gmail.com> +Link: https://patch.msgid.link/20240812045325.47736-1-jlobue10@gmail.com +Signed-off-by: Takashi Iwai <tiwai@suse.de> +--- + sound/pci/hda/patch_realtek.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c +index d022a25635f9bf..2f080e02f1db97 100644 +--- a/sound/pci/hda/patch_realtek.c ++++ b/sound/pci/hda/patch_realtek.c +@@ -7492,6 +7492,7 @@ enum { + ALC285_FIXUP_THINKPAD_X1_GEN7, + ALC285_FIXUP_THINKPAD_HEADSET_JACK, + ALC294_FIXUP_ASUS_ALLY, ++ ALC294_FIXUP_ASUS_ALLY_X, + ALC294_FIXUP_ASUS_ALLY_PINS, + ALC294_FIXUP_ASUS_ALLY_VERBS, + ALC294_FIXUP_ASUS_ALLY_SPEAKER, +@@ -8960,6 +8961,12 @@ static const struct hda_fixup alc269_fixups[] = { + .chained = true, + .chain_id = ALC294_FIXUP_ASUS_ALLY_PINS + }, ++ [ALC294_FIXUP_ASUS_ALLY_X] = { ++ .type = HDA_FIXUP_FUNC, ++ .v.func = tas2781_fixup_i2c, ++ .chained = true, ++ .chain_id = ALC294_FIXUP_ASUS_ALLY_PINS ++ }, + [ALC294_FIXUP_ASUS_ALLY_PINS] = { + .type = HDA_FIXUP_PINS, + .v.pins = (const struct hda_pintbl[]) { +@@ -10411,6 +10418,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { + SND_PCI_QUIRK(0x1043, 0x1740, "ASUS UX430UA", ALC295_FIXUP_ASUS_DACS), + SND_PCI_QUIRK(0x1043, 0x17d1, "ASUS UX431FL", ALC294_FIXUP_ASUS_DUAL_SPK), + SND_PCI_QUIRK(0x1043, 0x17f3, "ROG Ally NR2301L/X", ALC294_FIXUP_ASUS_ALLY), ++ SND_PCI_QUIRK(0x1043, 0x1eb3, "ROG Ally X RC72LA", ALC294_FIXUP_ASUS_ALLY_X), + SND_PCI_QUIRK(0x1043, 0x1863, "ASUS UX6404VI/VV", ALC245_FIXUP_CS35L41_SPI_2), + SND_PCI_QUIRK(0x1043, 0x1881, "ASUS Zephyrus S/M", ALC294_FIXUP_ASUS_GX502_PINS), + SND_PCI_QUIRK(0x1043, 0x18b1, "Asus MJ401TA", ALC256_FIXUP_ASUS_HEADSET_MIC), +-- +cgit 1.2.3-korg + |