109 lines
4.8 KiB
Diff
109 lines
4.8 KiB
Diff
diff --git a/drivers/hid/hid-asus.c b/drivers/hid/hid-asus.c
|
|
index d1094bb1aa42..e74683295691 100644
|
|
--- a/drivers/hid/hid-asus.c
|
|
+++ b/drivers/hid/hid-asus.c
|
|
@@ -910,6 +910,11 @@ static int asus_input_mapping(struct hid_device *hdev,
|
|
|
|
/* Fn+Right Aura mode next on N-Key keyboard */
|
|
case 0xb3: asus_map_key_clear(KEY_PROG3); break;
|
|
+
|
|
+ case 0xa5: asus_map_key_clear(KEY_F15); break; /* ROG Ally left back */
|
|
+ case 0xa6: asus_map_key_clear(KEY_F16); break; /* ROG Ally QAM button */
|
|
+ case 0xa7: asus_map_key_clear(KEY_F17); break; /* ROG Ally ROG long-press */
|
|
+ case 0xa8: asus_map_key_clear(KEY_F18); break; /* ROG Ally ROG long-press-release */
|
|
|
|
default:
|
|
/* ASUS lazily declares 256 usages, ignore the rest,
|
|
@@ -1267,6 +1272,9 @@ static const struct hid_device_id asus_devices[] = {
|
|
{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK,
|
|
USB_DEVICE_ID_ASUSTEK_ROG_NKEY_KEYBOARD2),
|
|
QUIRK_USE_KBD_BACKLIGHT | QUIRK_ROG_NKEY_KEYBOARD },
|
|
+ { HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK,
|
|
+ USB_DEVICE_ID_ASUSTEK_ROG_NKEY_ALLY),
|
|
+ QUIRK_USE_KBD_BACKLIGHT | QUIRK_ROG_NKEY_KEYBOARD },
|
|
{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK,
|
|
USB_DEVICE_ID_ASUSTEK_ROG_CLAYMORE_II_KEYBOARD),
|
|
QUIRK_ROG_CLAYMORE_II_KEYBOARD },
|
|
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
|
|
index c2e9b6d1fd7d..cd6efa46a2bd 100644
|
|
--- a/drivers/hid/hid-ids.h
|
|
+++ b/drivers/hid/hid-ids.h
|
|
@@ -207,6 +207,7 @@
|
|
#define USB_DEVICE_ID_ASUSTEK_ROG_KEYBOARD3 0x1822
|
|
#define USB_DEVICE_ID_ASUSTEK_ROG_NKEY_KEYBOARD 0x1866
|
|
#define USB_DEVICE_ID_ASUSTEK_ROG_NKEY_KEYBOARD2 0x19b6
|
|
+#define USB_DEVICE_ID_ASUSTEK_ROG_NKEY_ALLY 0x1abe
|
|
#define USB_DEVICE_ID_ASUSTEK_ROG_CLAYMORE_II_KEYBOARD 0x196b
|
|
#define USB_DEVICE_ID_ASUSTEK_FX503VD_KEYBOARD 0x1869
|
|
|
|
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
|
|
index f70d6a33421d..068a30c0ff4d 100644
|
|
--- a/sound/pci/hda/patch_realtek.c
|
|
+++ b/sound/pci/hda/patch_realtek.c
|
|
@@ -7118,6 +7118,10 @@ enum {
|
|
ALC294_FIXUP_ASUS_DUAL_SPK,
|
|
ALC285_FIXUP_THINKPAD_X1_GEN7,
|
|
ALC285_FIXUP_THINKPAD_HEADSET_JACK,
|
|
+ ALC294_FIXUP_ASUS_ALLY,
|
|
+ ALC294_FIXUP_ASUS_ALLY_PINS,
|
|
+ ALC294_FIXUP_ASUS_ALLY_VERBS,
|
|
+ ALC294_FIXUP_ASUS_ALLY_SPEAKER,
|
|
ALC294_FIXUP_ASUS_HPE,
|
|
ALC294_FIXUP_ASUS_COEF_1B,
|
|
ALC294_FIXUP_ASUS_GX502_HP,
|
|
@@ -8414,6 +8418,47 @@ static const struct hda_fixup alc269_fixups[] = {
|
|
.chained = true,
|
|
.chain_id = ALC294_FIXUP_SPK2_TO_DAC1
|
|
},
|
|
+ [ALC294_FIXUP_ASUS_ALLY] = {
|
|
+ .type = HDA_FIXUP_FUNC,
|
|
+ .v.func = cs35l41_fixup_i2c_two,
|
|
+ .chained = true,
|
|
+ .chain_id = ALC294_FIXUP_ASUS_ALLY_PINS
|
|
+ },
|
|
+ [ALC294_FIXUP_ASUS_ALLY_PINS] = {
|
|
+ .type = HDA_FIXUP_PINS,
|
|
+ .v.pins = (const struct hda_pintbl[]) {
|
|
+ { 0x19, 0x03a11050 },
|
|
+ { 0x1a, 0x03a11C30 },
|
|
+ { 0x21, 0x03211420 },
|
|
+ { }
|
|
+ },
|
|
+ .chained = true,
|
|
+ .chain_id = ALC294_FIXUP_ASUS_ALLY_VERBS
|
|
+ },
|
|
+ [ALC294_FIXUP_ASUS_ALLY_VERBS] = {
|
|
+ .type = HDA_FIXUP_VERBS,
|
|
+ .v.verbs = (const struct hda_verb[]) {
|
|
+ { 0x20, AC_VERB_SET_COEF_INDEX, 0x45 },
|
|
+ { 0x20, AC_VERB_SET_PROC_COEF, 0x5089 },
|
|
+ { 0x20, AC_VERB_SET_COEF_INDEX, 0x46 },
|
|
+ { 0x20, AC_VERB_SET_PROC_COEF, 0x0004 },
|
|
+ { 0x20, AC_VERB_SET_COEF_INDEX, 0x47 },
|
|
+ { 0x20, AC_VERB_SET_PROC_COEF, 0xA47A },
|
|
+ { 0x20, AC_VERB_SET_COEF_INDEX, 0x49 },
|
|
+ { 0x20, AC_VERB_SET_PROC_COEF, 0x0049},
|
|
+ { 0x20, AC_VERB_SET_COEF_INDEX, 0x4A },
|
|
+ { 0x20, AC_VERB_SET_PROC_COEF, 0x201B },
|
|
+ { 0x20, AC_VERB_SET_COEF_INDEX, 0x6B },
|
|
+ { 0x20, AC_VERB_SET_PROC_COEF, 0x4278},
|
|
+ { }
|
|
+ },
|
|
+ .chained = true,
|
|
+ .chain_id = ALC294_FIXUP_ASUS_ALLY_SPEAKER
|
|
+ },
|
|
+ [ALC294_FIXUP_ASUS_ALLY_SPEAKER] = {
|
|
+ .type = HDA_FIXUP_FUNC,
|
|
+ .v.func = alc285_fixup_speaker2_to_dac1,
|
|
+ },
|
|
[ALC285_FIXUP_THINKPAD_X1_GEN7] = {
|
|
.type = HDA_FIXUP_FUNC,
|
|
.v.func = alc285_fixup_thinkpad_x1_gen7,
|
|
@@ -9558,6 +9603,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
|
|
SND_PCI_QUIRK(0x10ec, 0x1252, "Intel Reference board", ALC295_FIXUP_CHROME_BOOK),
|
|
SND_PCI_QUIRK(0x10ec, 0x1254, "Intel Reference board", ALC295_FIXUP_CHROME_BOOK),
|
|
SND_PCI_QUIRK(0x10f7, 0x8338, "Panasonic CF-SZ6", ALC269_FIXUP_HEADSET_MODE),
|
|
+ SND_PCI_QUIRK(0x1043, 0x17F3, "ROG Ally RC71L_RC71L", ALC294_FIXUP_ASUS_ALLY),
|
|
SND_PCI_QUIRK(0x144d, 0xc109, "Samsung Ativ book 9 (NP900X3G)", ALC269_FIXUP_INV_DMIC),
|
|
SND_PCI_QUIRK(0x144d, 0xc169, "Samsung Notebook 9 Pen (NP930SBE-K01US)", ALC298_FIXUP_SAMSUNG_AMP),
|
|
SND_PCI_QUIRK(0x144d, 0xc176, "Samsung Notebook 9 Pro (NP930MBE-K04US)", ALC298_FIXUP_SAMSUNG_AMP),
|