ALSA: hda/realtek: Add quirks for ASUS GU604V and GU603V
[ Upstream commit 4b963ae1df
]
These models use 2 CS35L41 amplifiers using SPI for down-facing
speakers.
alc285_fixup_speaker2_to_dac1 is needed to fix volume control of the
down-facing speakers.
Pin configs are needed to enable headset mic detection.
Note that these models lack the ACPI _DSD properties needed to
initialize the amplifiers. They can be added during boot to get working
sound out of the speakers:
https://gist.github.com/lamperez/862763881c0e1c812392b5574727f6ff
Signed-off-by: Alexandru Sorodoc <ealex95@gmail.com>
Link: https://lore.kernel.org/r/20230511161510.315170-1-ealex95@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
603f239216
commit
7fbdd3bd7b
|
@ -7063,6 +7063,8 @@ enum {
|
||||||
ALC225_FIXUP_DELL1_MIC_NO_PRESENCE,
|
ALC225_FIXUP_DELL1_MIC_NO_PRESENCE,
|
||||||
ALC295_FIXUP_DISABLE_DAC3,
|
ALC295_FIXUP_DISABLE_DAC3,
|
||||||
ALC285_FIXUP_SPEAKER2_TO_DAC1,
|
ALC285_FIXUP_SPEAKER2_TO_DAC1,
|
||||||
|
ALC285_FIXUP_ASUS_SPEAKER2_TO_DAC1,
|
||||||
|
ALC285_FIXUP_ASUS_HEADSET_MIC,
|
||||||
ALC280_FIXUP_HP_HEADSET_MIC,
|
ALC280_FIXUP_HP_HEADSET_MIC,
|
||||||
ALC221_FIXUP_HP_FRONT_MIC,
|
ALC221_FIXUP_HP_FRONT_MIC,
|
||||||
ALC292_FIXUP_TPT460,
|
ALC292_FIXUP_TPT460,
|
||||||
|
@ -8033,6 +8035,22 @@ static const struct hda_fixup alc269_fixups[] = {
|
||||||
.chained = true,
|
.chained = true,
|
||||||
.chain_id = ALC269_FIXUP_THINKPAD_ACPI
|
.chain_id = ALC269_FIXUP_THINKPAD_ACPI
|
||||||
},
|
},
|
||||||
|
[ALC285_FIXUP_ASUS_SPEAKER2_TO_DAC1] = {
|
||||||
|
.type = HDA_FIXUP_FUNC,
|
||||||
|
.v.func = alc285_fixup_speaker2_to_dac1,
|
||||||
|
.chained = true,
|
||||||
|
.chain_id = ALC245_FIXUP_CS35L41_SPI_2
|
||||||
|
},
|
||||||
|
[ALC285_FIXUP_ASUS_HEADSET_MIC] = {
|
||||||
|
.type = HDA_FIXUP_PINS,
|
||||||
|
.v.pins = (const struct hda_pintbl[]) {
|
||||||
|
{ 0x19, 0x03a11050 },
|
||||||
|
{ 0x1b, 0x03a11c30 },
|
||||||
|
{ }
|
||||||
|
},
|
||||||
|
.chained = true,
|
||||||
|
.chain_id = ALC285_FIXUP_ASUS_SPEAKER2_TO_DAC1
|
||||||
|
},
|
||||||
[ALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER] = {
|
[ALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER] = {
|
||||||
.type = HDA_FIXUP_PINS,
|
.type = HDA_FIXUP_PINS,
|
||||||
.v.pins = (const struct hda_pintbl[]) {
|
.v.pins = (const struct hda_pintbl[]) {
|
||||||
|
@ -9507,6 +9525,8 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
|
||||||
SND_PCI_QUIRK(0x1043, 0x1313, "Asus K42JZ", ALC269VB_FIXUP_ASUS_MIC_NO_PRESENCE),
|
SND_PCI_QUIRK(0x1043, 0x1313, "Asus K42JZ", ALC269VB_FIXUP_ASUS_MIC_NO_PRESENCE),
|
||||||
SND_PCI_QUIRK(0x1043, 0x13b0, "ASUS Z550SA", ALC256_FIXUP_ASUS_MIC),
|
SND_PCI_QUIRK(0x1043, 0x13b0, "ASUS Z550SA", ALC256_FIXUP_ASUS_MIC),
|
||||||
SND_PCI_QUIRK(0x1043, 0x1427, "Asus Zenbook UX31E", ALC269VB_FIXUP_ASUS_ZENBOOK),
|
SND_PCI_QUIRK(0x1043, 0x1427, "Asus Zenbook UX31E", ALC269VB_FIXUP_ASUS_ZENBOOK),
|
||||||
|
SND_PCI_QUIRK(0x1043, 0x1473, "ASUS GU604V", ALC285_FIXUP_ASUS_HEADSET_MIC),
|
||||||
|
SND_PCI_QUIRK(0x1043, 0x1483, "ASUS GU603V", ALC285_FIXUP_ASUS_HEADSET_MIC),
|
||||||
SND_PCI_QUIRK(0x1043, 0x1517, "Asus Zenbook UX31A", ALC269VB_FIXUP_ASUS_ZENBOOK_UX31A),
|
SND_PCI_QUIRK(0x1043, 0x1517, "Asus Zenbook UX31A", ALC269VB_FIXUP_ASUS_ZENBOOK_UX31A),
|
||||||
SND_PCI_QUIRK(0x1043, 0x1662, "ASUS GV301QH", ALC294_FIXUP_ASUS_DUAL_SPK),
|
SND_PCI_QUIRK(0x1043, 0x1662, "ASUS GV301QH", ALC294_FIXUP_ASUS_DUAL_SPK),
|
||||||
SND_PCI_QUIRK(0x1043, 0x1683, "ASUS UM3402YAR", ALC287_FIXUP_CS35L41_I2C_2),
|
SND_PCI_QUIRK(0x1043, 0x1683, "ASUS UM3402YAR", ALC287_FIXUP_CS35L41_I2C_2),
|
||||||
|
|
Loading…
Reference in New Issue