Skip to content

Commit c1732ed

Browse files
Chris Chiutiwai
authored andcommitted
ALSA: hda/realtek - Fix headset and mic on several Asus laptops with ALC256
Enable jack sensing and fix internal mic and headset mic on Asus X555UB and X540SA. Fix internal mic and headset mic on Asus E402NA and E403NA. Fix headset mic on Asus X541UV, X541SA and Z550SA. Unfortunately jack sensing for the headset mic is still not working. We believe this is a codec limitation. Some of these quirks were authored by João Paulo Rechi Vita. Signed-off-by: Chris Chiu <[email protected]> Signed-off-by: Daniel Drake <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
1 parent 615966a commit c1732ed

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

sound/pci/hda/patch_realtek.c

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4872,6 +4872,8 @@ enum {
48724872
ALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER,
48734873
ALC269_FIXUP_ATIV_BOOK_8,
48744874
ALC221_FIXUP_HP_MIC_NO_PRESENCE,
4875+
ALC256_FIXUP_ASUS_HEADSET_MODE,
4876+
ALC256_FIXUP_ASUS_MIC,
48754877
};
48764878

48774879
static const struct hda_fixup alc269_fixups[] = {
@@ -5578,6 +5580,20 @@ static const struct hda_fixup alc269_fixups[] = {
55785580
.chained = true,
55795581
.chain_id = ALC269_FIXUP_HEADSET_MODE
55805582
},
5583+
[ALC256_FIXUP_ASUS_HEADSET_MODE] = {
5584+
.type = HDA_FIXUP_FUNC,
5585+
.v.func = alc_fixup_headset_mode,
5586+
},
5587+
[ALC256_FIXUP_ASUS_MIC] = {
5588+
.type = HDA_FIXUP_PINS,
5589+
.v.pins = (const struct hda_pintbl[]) {
5590+
{ 0x13, 0x90a60160 }, /* use as internal mic */
5591+
{ 0x19, 0x04a11120 }, /* use as headset mic, without its own jack detect */
5592+
{ }
5593+
},
5594+
.chained = true,
5595+
.chain_id = ALC256_FIXUP_ASUS_HEADSET_MODE
5596+
},
55815597
};
55825598

55835599
static const struct snd_pci_quirk alc269_fixup_tbl[] = {
@@ -5690,9 +5706,14 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
56905706
SND_PCI_QUIRK(0x103c, 0x8256, "HP", ALC221_FIXUP_HP_FRONT_MIC),
56915707
SND_PCI_QUIRK(0x103c, 0x82bf, "HP", ALC221_FIXUP_HP_MIC_NO_PRESENCE),
56925708
SND_PCI_QUIRK(0x103c, 0x82c0, "HP", ALC221_FIXUP_HP_MIC_NO_PRESENCE),
5709+
SND_PCI_QUIRK(0x1043, 0x103e, "ASUS X540SA", ALC256_FIXUP_ASUS_MIC),
56935710
SND_PCI_QUIRK(0x1043, 0x103f, "ASUS TX300", ALC282_FIXUP_ASUS_TX300),
56945711
SND_PCI_QUIRK(0x1043, 0x106d, "Asus K53BE", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
5712+
SND_PCI_QUIRK(0x1043, 0x10c0, "ASUS X540SA", ALC256_FIXUP_ASUS_MIC),
56955713
SND_PCI_QUIRK(0x1043, 0x115d, "Asus 1015E", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
5714+
SND_PCI_QUIRK(0x1043, 0x12f0, "ASUS X541UV", ALC256_FIXUP_ASUS_MIC),
5715+
SND_PCI_QUIRK(0x1043, 0x12e0, "ASUS X541SA", ALC256_FIXUP_ASUS_MIC),
5716+
SND_PCI_QUIRK(0x1043, 0x13b0, "ASUS Z550SA", ALC256_FIXUP_ASUS_MIC),
56965717
SND_PCI_QUIRK(0x1043, 0x1427, "Asus Zenbook UX31E", ALC269VB_FIXUP_ASUS_ZENBOOK),
56975718
SND_PCI_QUIRK(0x1043, 0x1517, "Asus Zenbook UX31A", ALC269VB_FIXUP_ASUS_ZENBOOK_UX31A),
56985719
SND_PCI_QUIRK(0x1043, 0x16e3, "ASUS UX50", ALC269_FIXUP_STEREO_DMIC),
@@ -5702,6 +5723,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
57025723
SND_PCI_QUIRK(0x1043, 0x1bbd, "ASUS Z550MA", ALC255_FIXUP_ASUS_MIC_NO_PRESENCE),
57035724
SND_PCI_QUIRK(0x1043, 0x10d0, "ASUS X540LA/X540LJ", ALC255_FIXUP_ASUS_MIC_NO_PRESENCE),
57045725
SND_PCI_QUIRK(0x1043, 0x11c0, "ASUS X556UR", ALC255_FIXUP_ASUS_MIC_NO_PRESENCE),
5726+
SND_PCI_QUIRK(0x1043, 0x1ccd, "ASUS X555UB", ALC256_FIXUP_ASUS_MIC),
57055727
SND_PCI_QUIRK(0x1043, 0x831a, "ASUS P901", ALC269_FIXUP_STEREO_DMIC),
57065728
SND_PCI_QUIRK(0x1043, 0x834a, "ASUS S101", ALC269_FIXUP_STEREO_DMIC),
57075729
SND_PCI_QUIRK(0x1043, 0x8398, "ASUS P1005", ALC269_FIXUP_STEREO_DMIC),
@@ -6006,6 +6028,14 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
60066028
{0x21, 0x02211020}),
60076029
SND_HDA_PIN_QUIRK(0x10ec0256, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
60086030
ALC256_STANDARD_PINS),
6031+
SND_HDA_PIN_QUIRK(0x10ec0256, 0x1043, "ASUS", ALC256_FIXUP_ASUS_MIC,
6032+
{0x14, 0x90170110},
6033+
{0x1b, 0x90a70130},
6034+
{0x21, 0x04211020}),
6035+
SND_HDA_PIN_QUIRK(0x10ec0256, 0x1043, "ASUS", ALC256_FIXUP_ASUS_MIC,
6036+
{0x14, 0x90170110},
6037+
{0x1b, 0x90a70130},
6038+
{0x21, 0x03211020}),
60096039
SND_HDA_PIN_QUIRK(0x10ec0280, 0x103c, "HP", ALC280_FIXUP_HP_GPIO4,
60106040
{0x12, 0x90a60130},
60116041
{0x14, 0x90170110},

0 commit comments

Comments
 (0)