Lines Matching +full:0 +full:x100002

164 	snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_COEF_INDEX, coef_idx);
165 val = snd_hda_codec_read(codec, nid, 0, AC_VERB_GET_PROC_COEF, 0);
181 alc_read_coefex_idx(codec, 0x20, coef_idx)
186 snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_COEF_INDEX, coef_idx);
187 snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_PROC_COEF, coef_val);
199 alc_write_coefex_idx(codec, 0x20, coef_idx, coef_val)
222 alc_update_coefex_idx(codec, 0x20, coef_idx, mask, bits_set)
224 /* a special bypass for COEF 0; read the cached value at the second time */
230 spec->coef0 = alc_read_coef_idx(codec, 0);
245 #define WRITE_COEF(_idx, _val) WRITE_COEFEX(0x20, _idx, _val)
246 #define UPDATE_COEF(_idx, _mask, _val) UPDATE_COEFEX(0x20, _idx, _mask, _val)
280 snd_hda_codec_write(codec, 0x01, 0, AC_VERB_SET_GPIO_DATA,
305 snd_hda_codec_write(codec, codec->core.afg, 0,
307 snd_hda_codec_write(codec, codec->core.afg, 0,
324 alc_fixup_gpio(codec, action, 0x01);
330 alc_fixup_gpio(codec, action, 0x02);
336 alc_fixup_gpio(codec, action, 0x03);
342 alc_fixup_gpio(codec, action, 0x04);
363 1 << spec->pll_coef_bit, 0);
390 val = snd_hda_codec_read(codec, jack->nid, 0,
391 AC_VERB_GET_VOLUME_KNOB_CONTROL, 0);
393 uctl->value.integer.value[0] = val;
414 case 0x10ec0262:
415 alc_update_coef_idx(codec, 0x7, 0, 1<<5);
417 case 0x10ec0267:
418 case 0x10ec0268:
419 alc_update_coef_idx(codec, 0x7, 0, 1<<13);
421 case 0x10ec0269:
422 if ((coef & 0x00f0) == 0x0010)
423 alc_update_coef_idx(codec, 0xd, 0, 1<<14);
424 if ((coef & 0x00f0) == 0x0020)
425 alc_update_coef_idx(codec, 0x4, 1<<15, 0);
426 if ((coef & 0x00f0) == 0x0030)
427 alc_update_coef_idx(codec, 0x10, 1<<9, 0);
429 case 0x10ec0280:
430 case 0x10ec0284:
431 case 0x10ec0290:
432 case 0x10ec0292:
433 alc_update_coef_idx(codec, 0x4, 1<<15, 0);
435 case 0x10ec0225:
436 case 0x10ec0295:
437 case 0x10ec0299:
438 alc_update_coef_idx(codec, 0x67, 0xf000, 0x3000);
440 case 0x10ec0215:
441 case 0x10ec0285:
442 case 0x10ec0289:
443 alc_update_coef_idx(codec, 0x36, 1<<13, 0);
445 case 0x10ec0230:
446 case 0x10ec0233:
447 case 0x10ec0235:
448 case 0x10ec0236:
449 case 0x10ec0245:
450 case 0x10ec0255:
451 case 0x10ec0256:
452 case 0x19e58326:
453 case 0x10ec0257:
454 case 0x10ec0282:
455 case 0x10ec0283:
456 case 0x10ec0286:
457 case 0x10ec0288:
458 case 0x10ec0298:
459 case 0x10ec0300:
460 alc_update_coef_idx(codec, 0x10, 1<<9, 0);
462 case 0x10ec0275:
463 alc_update_coef_idx(codec, 0xe, 0, 1<<0);
465 case 0x10ec0287:
466 alc_update_coef_idx(codec, 0x10, 1<<9, 0);
467 alc_write_coef_idx(codec, 0x8, 0x4ab7);
469 case 0x10ec0293:
470 alc_update_coef_idx(codec, 0xa, 1<<13, 0);
472 case 0x10ec0234:
473 case 0x10ec0274:
474 alc_write_coef_idx(codec, 0x6e, 0x0c25);
476 case 0x10ec0294:
477 case 0x10ec0700:
478 case 0x10ec0701:
479 case 0x10ec0703:
480 case 0x10ec0711:
481 alc_update_coef_idx(codec, 0x10, 1<<15, 0);
483 case 0x10ec0662:
484 if ((coef & 0x00f0) == 0x0030)
485 alc_update_coef_idx(codec, 0x4, 1<<10, 0); /* EAPD Ctrl */
487 case 0x10ec0272:
488 case 0x10ec0273:
489 case 0x10ec0663:
490 case 0x10ec0665:
491 case 0x10ec0670:
492 case 0x10ec0671:
493 case 0x10ec0672:
494 alc_update_coef_idx(codec, 0xd, 0, 1<<14); /* EAPD Ctrl */
496 case 0x10ec0222:
497 case 0x10ec0623:
498 alc_update_coef_idx(codec, 0x19, 1<<13, 0);
500 case 0x10ec0668:
501 alc_update_coef_idx(codec, 0x7, 3<<13, 0);
503 case 0x10ec0867:
504 alc_update_coef_idx(codec, 0x4, 1<<10, 0);
506 case 0x10ec0888:
507 if ((coef & 0x00f0) == 0x0020 || (coef & 0x00f0) == 0x0030)
508 alc_update_coef_idx(codec, 0x7, 1<<5, 0);
510 case 0x10ec0892:
511 case 0x10ec0897:
512 alc_update_coef_idx(codec, 0x7, 1<<5, 0);
514 case 0x10ec0899:
515 case 0x10ec0900:
516 case 0x10ec0b00:
517 case 0x10ec1168:
518 case 0x10ec1220:
519 alc_update_coef_idx(codec, 0x7, 1<<1, 0);
527 switch (alc_get_coef0(codec) & 0x00f0) {
529 case 0x00:
531 case 0x10:
532 alc_update_coef_idx(codec, 7, 0, 0x2030); /* Turn EAPD to High */
543 snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_EAPD_BTLENABLE,
544 on ? 2 : 0);
552 0x0f, 0x10, 0x14, 0x15, 0x17, 0
576 snd_hda_codec_read(codec, pin->nid, 0,
577 AC_VERB_SET_PIN_WIDGET_CONTROL, 0);
588 case 0x10ec0236:
589 case 0x10ec0256:
590 case 0x10ec0257:
591 case 0x19e58326:
592 case 0x10ec0283:
593 case 0x10ec0285:
594 case 0x10ec0286:
595 case 0x10ec0287:
596 case 0x10ec0288:
597 case 0x10ec0295:
598 case 0x10ec0298:
629 case 0x10ec0260:
630 alc_update_coefex_idx(codec, 0x1a, 7, 0, 0x2010);
632 case 0x10ec0880:
633 case 0x10ec0882:
634 case 0x10ec0883:
635 case 0x10ec0885:
636 alc_update_coef_idx(codec, 7, 0, 0x2030);
638 case 0x10ec0888:
649 if (spec->gen.autocfg.hp_pins[0])
650 return spec->gen.autocfg.hp_pins[0];
652 return spec->gen.autocfg.line_out_pins[0];
653 return 0;
682 codec->depop_delay = 0;
689 unsigned nid = 0;
703 ass = codec->core.subsystem_id & 0xffff;
707 nid = 0x1d;
708 if (codec->core.vendor_id == 0x10ec0260)
709 nid = 0x17;
713 codec_info(codec, "%s: SKU not ready 0x%08x\n",
719 tmp = 0;
724 if (((ass >> 16) & 0xf) != tmp)
728 spec->cdefine.enable_pcbeep = (ass & 0x100000) >> 20;
729 spec->cdefine.check_sum = (ass >> 16) & 0xf;
733 spec->cdefine.external_amp = (ass & 0x38) >> 3;
734 spec->cdefine.platform_type = (ass & 0x4) >> 2;
735 spec->cdefine.swap = (ass & 0x2) >> 1;
736 spec->cdefine.override = ass & 0x1;
738 codec_dbg(codec, "SKU: Nid=0x%x sku_cfg=0x%08x\n",
740 codec_dbg(codec, "SKU: port_connectivity=0x%x\n",
742 codec_dbg(codec, "SKU: enable_pcbeep=0x%x\n", spec->cdefine.enable_pcbeep);
743 codec_dbg(codec, "SKU: check_sum=0x%08x\n", spec->cdefine.check_sum);
744 codec_dbg(codec, "SKU: customization=0x%08x\n", spec->cdefine.customization);
745 codec_dbg(codec, "SKU: external_amp=0x%x\n", spec->cdefine.external_amp);
746 codec_dbg(codec, "SKU: platform_type=0x%x\n", spec->cdefine.platform_type);
747 codec_dbg(codec, "SKU: swap=0x%x\n", spec->cdefine.swap);
748 codec_dbg(codec, "SKU: override=0x%x\n", spec->cdefine.override);
750 return 0;
757 for (i = 0; i < nums; i++)
765 return find_idx_in_nid_list(nid, list, nums) >= 0;
769 * return 1 if initialized, 0 if invalid SSID
774 * 7 ~ 0 : Assembly ID
786 return 0;
790 ass = codec->core.subsystem_id & 0xffff;
802 * 0 : override
804 nid = 0x1d;
805 if (codec->core.vendor_id == 0x10ec0260)
806 nid = 0x17;
809 "realtek: No valid SSID, checking pincfg 0x%08x for NID 0x%x\n",
812 return 0;
814 return 0;
817 tmp = 0;
822 if (((ass >> 16) & 0xf) != tmp)
823 return 0;
825 codec_dbg(codec, "realtek: Enabling init ASM_ID=0x%04x CODEC_ID=%08x\n",
826 ass & 0xffff, codec->core.vendor_id);
828 * 0 : override
830 * 2 : 0 --> Desktop, 1 --> Laptop
834 tmp = (ass & 0x38) >> 3; /* external Amp control */
838 alc_setup_gpio(codec, 0x01);
841 alc_setup_gpio(codec, 0x02);
844 alc_setup_gpio(codec, 0x04);
856 if (!(ass & 0x8000))
867 tmp = (ass >> 11) & 0x3; /* HP to chassis */
872 spec->gen.autocfg.hp_pins[0] = nid;
908 if (err < 0)
912 return 0;
949 return 0;
979 return 0;
990 hda_call_check_power_status(codec, 0x01);
991 return 0;
1031 { 0x10ec0221, 0xf00f, 0x1003, "ALC231" },
1032 { 0x10ec0269, 0xfff0, 0x3010, "ALC277" },
1033 { 0x10ec0269, 0xf0f0, 0x2010, "ALC259" },
1034 { 0x10ec0269, 0xf0f0, 0x3010, "ALC258" },
1035 { 0x10ec0269, 0x00f0, 0x0010, "ALC269VB" },
1036 { 0x10ec0269, 0xffff, 0xa023, "ALC259" },
1037 { 0x10ec0269, 0xffff, 0x6023, "ALC281X" },
1038 { 0x10ec0269, 0x00f0, 0x0020, "ALC269VC" },
1039 { 0x10ec0269, 0x00f0, 0x0030, "ALC269VD" },
1040 { 0x10ec0662, 0xffff, 0x4020, "ALC656" },
1041 { 0x10ec0887, 0x00f0, 0x0030, "ALC887-VD" },
1042 { 0x10ec0888, 0x00f0, 0x0030, "ALC888-VD" },
1043 { 0x10ec0888, 0xf0f0, 0x3020, "ALC886" },
1044 { 0x10ec0899, 0x2000, 0x2000, "ALC899" },
1045 { 0x10ec0892, 0xffff, 0x8020, "ALC661" },
1046 { 0x10ec0892, 0xffff, 0x8011, "ALC661" },
1047 { 0x10ec0892, 0xffff, 0x4011, "ALC656" },
1052 { 0x10ec0280, 0x1028, 0, "ALC3220" },
1053 { 0x10ec0282, 0x1028, 0, "ALC3221" },
1054 { 0x10ec0283, 0x1028, 0, "ALC3223" },
1055 { 0x10ec0288, 0x1028, 0, "ALC3263" },
1056 { 0x10ec0292, 0x1028, 0, "ALC3226" },
1057 { 0x10ec0293, 0x1028, 0, "ALC3235" },
1058 { 0x10ec0255, 0x1028, 0, "ALC3234" },
1059 { 0x10ec0668, 0x1028, 0, "ALC3661" },
1060 { 0x10ec0275, 0x1028, 0, "ALC3260" },
1061 { 0x10ec0899, 0x1028, 0, "ALC3861" },
1062 { 0x10ec0298, 0x1028, 0, "ALC3266" },
1063 { 0x10ec0236, 0x1028, 0, "ALC3204" },
1064 { 0x10ec0256, 0x1028, 0, "ALC3246" },
1065 { 0x10ec0225, 0x1028, 0, "ALC3253" },
1066 { 0x10ec0295, 0x1028, 0, "ALC3254" },
1067 { 0x10ec0299, 0x1028, 0, "ALC3271" },
1068 { 0x10ec0670, 0x1025, 0, "ALC669X" },
1069 { 0x10ec0676, 0x1025, 0, "ALC679X" },
1070 { 0x10ec0282, 0x1043, 0, "ALC3229" },
1071 { 0x10ec0233, 0x1043, 0, "ALC3236" },
1072 { 0x10ec0280, 0x103c, 0, "ALC3228" },
1073 { 0x10ec0282, 0x103c, 0, "ALC3227" },
1074 { 0x10ec0286, 0x103c, 0, "ALC3242" },
1075 { 0x10ec0290, 0x103c, 0, "ALC3241" },
1076 { 0x10ec0668, 0x103c, 0, "ALC3662" },
1077 { 0x10ec0283, 0x17aa, 0, "ALC3239" },
1078 { 0x10ec0292, 0x17aa, 0, "ALC3232" },
1095 return 0;
1106 return 0;
1117 HDA_CODEC_VOLUME("Beep Playback Volume", 0, 0, HDA_INPUT),
1118 HDA_CODEC_MUTE_BEEP("Beep Playback Switch", 0, 0, HDA_INPUT),
1129 for (i = 0; i < ARRAY_SIZE(alc_beep_mixer); i++) {
1136 return 0;
1140 SND_PCI_QUIRK(0x1043, 0x103c, "ASUS", 1),
1141 SND_PCI_QUIRK(0x1043, 0x115d, "ASUS", 1),
1142 SND_PCI_QUIRK(0x1043, 0x829f, "ASUS", 1),
1143 SND_PCI_QUIRK(0x1043, 0x8376, "EeePC", 1),
1144 SND_PCI_QUIRK(0x1043, 0x83ce, "EeePC", 1),
1145 SND_PCI_QUIRK(0x1043, 0x831a, "EeePC", 1),
1146 SND_PCI_QUIRK(0x1043, 0x834a, "EeePC", 1),
1147 SND_PCI_QUIRK(0x1458, 0xa002, "GA-MA790X", 1),
1148 SND_PCI_QUIRK(0x8086, 0xd613, "Intel", 1),
1150 SND_PCI_QUIRK(0x17aa, 0x309e, "Lenovo ThinkCentre M73", 0),
1151 SND_PCI_QUIRK(0x17aa, 0x30a3, "Lenovo ThinkCentre M93", 0),
1165 #define set_beep_amp(spec, nid, idx, dir) 0
1166 #define has_cdefine_beep(codec) 0
1170 /* return 1 if successful, 0 if the proper config is not found,
1183 if (err < 0)
1190 if (err < 0)
1216 if (err < 0) {
1220 return 0;
1225 static const hda_nid_t alc880_ignore[] = { 0x1d, 0 };
1226 static const hda_nid_t alc880_ssids[] = { 0x15, 0x1b, 0x14, 0 };
1261 /* enable the volume-knob widget support on NID 0x21 */
1266 snd_hda_jack_detect_enable_callback(codec, 0x21,
1282 { 0x20, AC_VERB_SET_COEF_INDEX, 0x07 },
1283 { 0x20, AC_VERB_SET_PROC_COEF, 0x3060 },
1293 { 0x16, 0x411111f0 },
1294 { 0x18, 0x411111f0 },
1295 { 0x1a, 0x411111f0 },
1302 { 0x1a, 0x0181344f }, /* line-in */
1303 { 0x1b, 0x0321403f }, /* headphone */
1311 { 0x17, 0x411111f0 },
1321 { 0x20, AC_VERB_SET_COEF_INDEX, 0x07 },
1322 { 0x20, AC_VERB_SET_PROC_COEF, 0x3060 },
1330 { 0x20, AC_VERB_SET_COEF_INDEX, 0x07 },
1331 { 0x20, AC_VERB_SET_PROC_COEF, 0x3070 },
1345 { 0x14, 0x0121401f }, /* HP */
1346 { 0x15, 0x99030120 }, /* speaker */
1347 { 0x16, 0x99030130 }, /* bass speaker */
1348 { 0x17, 0x411111f0 }, /* N/A */
1349 { 0x18, 0x411111f0 }, /* N/A */
1350 { 0x19, 0x01a19950 }, /* mic-in */
1351 { 0x1a, 0x411111f0 }, /* N/A */
1352 { 0x1b, 0x411111f0 }, /* N/A */
1353 { 0x1c, 0x411111f0 }, /* N/A */
1354 { 0x1d, 0x411111f0 }, /* N/A */
1355 { 0x1e, 0x01454140 }, /* SPDIF out */
1365 { 0x14, 0x0121401f }, /* HP */
1366 { 0x15, 0x99030120 }, /* speaker */
1367 { 0x16, 0x411111f0 }, /* N/A */
1368 { 0x17, 0x411111f0 }, /* N/A */
1369 { 0x18, 0x411111f0 }, /* N/A */
1370 { 0x19, 0x01a19950 }, /* mic-in */
1371 { 0x1a, 0x411111f0 }, /* N/A */
1372 { 0x1b, 0x411111f0 }, /* N/A */
1373 { 0x1c, 0x411111f0 }, /* N/A */
1374 { 0x1d, 0x411111f0 }, /* N/A */
1375 { 0x1e, 0x411111f0 }, /* N/A */
1385 { 0x14, 0x0121411f }, /* HP */
1386 { 0x15, 0x99030120 }, /* speaker */
1387 { 0x16, 0x99030130 }, /* bass speaker */
1395 { 0x17, 0x411111f0 },
1396 { 0x19, 0x411111f0 },
1397 { 0x1b, 0x411111f0 },
1398 { 0x1f, 0x411111f0 },
1406 { 0x14, 0x99030120 }, /* speaker */
1407 { 0x15, 0x0121411f }, /* HP */
1408 { 0x16, 0x411111f0 }, /* N/A */
1409 { 0x17, 0x411111f0 }, /* N/A */
1410 { 0x18, 0x01a19950 }, /* mic-in */
1411 { 0x19, 0x411111f0 }, /* N/A */
1412 { 0x1a, 0x01813031 }, /* line-in */
1413 { 0x1b, 0x411111f0 }, /* N/A */
1414 { 0x1c, 0x411111f0 }, /* N/A */
1415 { 0x1d, 0x411111f0 }, /* N/A */
1416 { 0x1e, 0x0144111e }, /* SPDIF */
1424 { 0x14, 0x0121411f }, /* HP */
1425 { 0x15, 0x411111f0 }, /* N/A */
1426 { 0x16, 0x411111f0 }, /* N/A */
1427 { 0x17, 0x411111f0 }, /* N/A */
1428 { 0x18, 0x90a60160 }, /* mic */
1429 { 0x19, 0x411111f0 }, /* N/A */
1430 { 0x1a, 0x411111f0 }, /* N/A */
1431 { 0x1b, 0x411111f0 }, /* N/A */
1432 { 0x1c, 0x411111f0 }, /* N/A */
1433 { 0x1d, 0x411111f0 }, /* N/A */
1434 { 0x1e, 0xb743111e }, /* SPDIF out */
1443 { 0x14, 0x01014010 }, /* line-out */
1444 { 0x15, 0x411111f0 }, /* N/A */
1445 { 0x16, 0x411111f0 }, /* N/A */
1446 { 0x17, 0x411111f0 }, /* N/A */
1447 { 0x18, 0x01a19c30 }, /* mic-in */
1448 { 0x19, 0x0121411f }, /* HP */
1449 { 0x1a, 0x01813031 }, /* line-in */
1450 { 0x1b, 0x02a19c40 }, /* front-mic */
1451 { 0x1c, 0x411111f0 }, /* N/A */
1452 { 0x1d, 0x411111f0 }, /* N/A */
1453 /* 0x1e is filled in below */
1454 { 0x1f, 0x411111f0 }, /* N/A */
1461 { 0x1e, 0x411111f0 }, /* N/A */
1470 { 0x1e, 0x0144111e }, /* SPDIF */
1479 { 0x14, 0x01014010 }, /* front */
1480 { 0x15, 0x411111f0 }, /* N/A */
1481 { 0x16, 0x01011411 }, /* CLFE */
1482 { 0x17, 0x01016412 }, /* surr */
1483 { 0x18, 0x01a19c30 }, /* mic-in */
1484 { 0x19, 0x0121411f }, /* HP */
1485 { 0x1a, 0x01813031 }, /* line-in */
1486 { 0x1b, 0x02a19c40 }, /* front-mic */
1487 { 0x1c, 0x411111f0 }, /* N/A */
1488 { 0x1d, 0x411111f0 }, /* N/A */
1489 /* 0x1e is filled in below */
1490 { 0x1f, 0x411111f0 }, /* N/A */
1497 { 0x1e, 0x411111f0 }, /* N/A */
1506 { 0x1e, 0x0144111e }, /* SPDIF */
1515 { 0x14, 0x01014010 }, /* front */
1516 { 0x15, 0x01016412 }, /* surr */
1517 { 0x16, 0x01011411 }, /* CLFE */
1518 { 0x17, 0x01012414 }, /* side */
1519 { 0x18, 0x01a19c30 }, /* mic-in */
1520 { 0x19, 0x02a19c40 }, /* front-mic */
1521 { 0x1a, 0x01813031 }, /* line-in */
1522 { 0x1b, 0x0121411f }, /* HP */
1523 { 0x1c, 0x411111f0 }, /* N/A */
1524 { 0x1d, 0x411111f0 }, /* N/A */
1525 /* 0x1e is filled in below */
1526 { 0x1f, 0x411111f0 }, /* N/A */
1533 { 0x1e, 0x411111f0 }, /* N/A */
1542 { 0x1e, 0x0144111e }, /* SPDIF */
1551 { 0x1b, 0x0121401f }, /* HP with jack detect */
1560 SND_PCI_QUIRK(0x1019, 0x0f69, "Coeus G610P", ALC880_FIXUP_W810),
1561 SND_PCI_QUIRK(0x1043, 0x10c3, "ASUS W5A", ALC880_FIXUP_ASUS_W5A),
1562 SND_PCI_QUIRK(0x1043, 0x1964, "ASUS Z71V", ALC880_FIXUP_Z71V),
1563 SND_PCI_QUIRK_VENDOR(0x1043, "ASUS", ALC880_FIXUP_GPIO1),
1564 SND_PCI_QUIRK(0x147b, 0x1045, "ABit AA8XE", ALC880_FIXUP_6ST_AUTOMUTE),
1565 SND_PCI_QUIRK(0x1558, 0x5401, "Clevo GPIO2", ALC880_FIXUP_GPIO2),
1566 SND_PCI_QUIRK_VENDOR(0x1558, "Clevo", ALC880_FIXUP_EAPD_COEF),
1567 SND_PCI_QUIRK(0x1584, 0x9050, "Uniwill", ALC880_FIXUP_UNIWILL_DIG),
1568 SND_PCI_QUIRK(0x1584, 0x9054, "Uniwill", ALC880_FIXUP_F1734),
1569 SND_PCI_QUIRK(0x1584, 0x9070, "Uniwill", ALC880_FIXUP_UNIWILL),
1570 SND_PCI_QUIRK(0x1584, 0x9077, "Uniwill P53", ALC880_FIXUP_VOL_KNOB),
1571 SND_PCI_QUIRK(0x161f, 0x203d, "W810", ALC880_FIXUP_W810),
1572 SND_PCI_QUIRK(0x161f, 0x205d, "Medion Rim 2150", ALC880_FIXUP_MEDION_RIM),
1573 SND_PCI_QUIRK(0x1631, 0xe011, "PB 13201056", ALC880_FIXUP_6ST_AUTOMUTE),
1574 SND_PCI_QUIRK(0x1734, 0x107c, "FSC Amilo M1437", ALC880_FIXUP_FUJITSU),
1575 SND_PCI_QUIRK(0x1734, 0x1094, "FSC Amilo M1451G", ALC880_FIXUP_FUJITSU),
1576 SND_PCI_QUIRK(0x1734, 0x10ac, "FSC AMILO Xi 1526", ALC880_FIXUP_F1734),
1577 SND_PCI_QUIRK(0x1734, 0x10b0, "FSC Amilo Pi1556", ALC880_FIXUP_FUJITSU),
1578 SND_PCI_QUIRK(0x1854, 0x003b, "LG", ALC880_FIXUP_LG),
1579 SND_PCI_QUIRK(0x1854, 0x005f, "LG P1 Express", ALC880_FIXUP_LG),
1580 SND_PCI_QUIRK(0x1854, 0x0068, "LG w1", ALC880_FIXUP_LG),
1581 SND_PCI_QUIRK(0x1854, 0x0077, "LG LW25", ALC880_FIXUP_LG_LW25),
1582 SND_PCI_QUIRK(0x19db, 0x4188, "TCL S700", ALC880_FIXUP_TCL_S700),
1590 SND_PCI_QUIRK(0x1019, 0xa880, "ECS", ALC880_FIXUP_5ST_DIG),
1591 SND_PCI_QUIRK(0x1019, 0xa884, "Acer APFV", ALC880_FIXUP_6ST),
1592 SND_PCI_QUIRK(0x1025, 0x0070, "ULI", ALC880_FIXUP_3ST_DIG),
1593 SND_PCI_QUIRK(0x1025, 0x0077, "ULI", ALC880_FIXUP_6ST_DIG),
1594 SND_PCI_QUIRK(0x1025, 0x0078, "ULI", ALC880_FIXUP_6ST_DIG),
1595 SND_PCI_QUIRK(0x1025, 0x0087, "ULI", ALC880_FIXUP_6ST_DIG),
1596 SND_PCI_QUIRK(0x1025, 0xe309, "ULI", ALC880_FIXUP_3ST_DIG),
1597 SND_PCI_QUIRK(0x1025, 0xe310, "ULI", ALC880_FIXUP_3ST),
1598 SND_PCI_QUIRK(0x1039, 0x1234, NULL, ALC880_FIXUP_6ST_DIG),
1599 SND_PCI_QUIRK(0x104d, 0x81a0, "Sony", ALC880_FIXUP_3ST),
1600 SND_PCI_QUIRK(0x104d, 0x81d6, "Sony", ALC880_FIXUP_3ST),
1601 SND_PCI_QUIRK(0x107b, 0x3032, "Gateway", ALC880_FIXUP_5ST),
1602 SND_PCI_QUIRK(0x107b, 0x3033, "Gateway", ALC880_FIXUP_5ST),
1603 SND_PCI_QUIRK(0x107b, 0x4039, "Gateway", ALC880_FIXUP_5ST),
1604 SND_PCI_QUIRK(0x1297, 0xc790, "Shuttle ST20G5", ALC880_FIXUP_6ST_DIG),
1605 SND_PCI_QUIRK(0x1458, 0xa102, "Gigabyte K8", ALC880_FIXUP_6ST_DIG),
1606 SND_PCI_QUIRK(0x1462, 0x1150, "MSI", ALC880_FIXUP_6ST_DIG),
1607 SND_PCI_QUIRK(0x1509, 0x925d, "FIC P4M", ALC880_FIXUP_6ST_DIG),
1608 SND_PCI_QUIRK(0x1565, 0x8202, "Biostar", ALC880_FIXUP_5ST_DIG),
1609 SND_PCI_QUIRK(0x1695, 0x400d, "EPoX", ALC880_FIXUP_5ST_DIG),
1610 SND_PCI_QUIRK(0x1695, 0x4012, "EPox EP-5LDA", ALC880_FIXUP_5ST_DIG),
1611 SND_PCI_QUIRK(0x2668, 0x8086, NULL, ALC880_FIXUP_6ST_DIG), /* broken BIOS */
1612 SND_PCI_QUIRK(0x8086, 0x2668, NULL, ALC880_FIXUP_6ST_DIG),
1613 SND_PCI_QUIRK(0x8086, 0xa100, "Intel mobo", ALC880_FIXUP_5ST_DIG),
1614 SND_PCI_QUIRK(0x8086, 0xd400, "Intel mobo", ALC880_FIXUP_5ST_DIG),
1615 SND_PCI_QUIRK(0x8086, 0xd401, "Intel mobo", ALC880_FIXUP_5ST_DIG),
1616 SND_PCI_QUIRK(0x8086, 0xd402, "Intel mobo", ALC880_FIXUP_3ST_DIG),
1617 SND_PCI_QUIRK(0x8086, 0xe224, "Intel mobo", ALC880_FIXUP_5ST_DIG),
1618 SND_PCI_QUIRK(0x8086, 0xe305, "Intel mobo", ALC880_FIXUP_3ST_DIG),
1619 SND_PCI_QUIRK(0x8086, 0xe308, "Intel mobo", ALC880_FIXUP_3ST_DIG),
1620 SND_PCI_QUIRK(0x8086, 0xe400, "Intel mobo", ALC880_FIXUP_5ST_DIG),
1621 SND_PCI_QUIRK(0x8086, 0xe401, "Intel mobo", ALC880_FIXUP_5ST_DIG),
1622 SND_PCI_QUIRK(0x8086, 0xe402, "Intel mobo", ALC880_FIXUP_5ST_DIG),
1624 SND_PCI_QUIRK_VENDOR(0x8086, "Intel mobo", ALC880_FIXUP_3ST),
1625 SND_PCI_QUIRK(0xa0a0, 0x0560, "AOpen i915GMm-HFS", ALC880_FIXUP_5ST_DIG),
1626 SND_PCI_QUIRK(0xe803, 0x1019, NULL, ALC880_FIXUP_6ST_DIG),
1650 err = alc_alloc_spec(codec, 0x0b);
1651 if (err < 0)
1656 spec->gen.beep_nid = 0x01;
1668 if (err < 0)
1672 err = set_beep_amp(spec, 0x0b, 0x05, HDA_INPUT);
1673 if (err < 0)
1679 return 0;
1692 static const hda_nid_t alc260_ignore[] = { 0x17, 0 };
1693 static const hda_nid_t alc260_ssids[] = { 0x10, 0x15, 0x0f, 0 };
1718 alc_update_gpio_data(codec, 0x01, spec->gen.hp_jack_present);
1732 spec->gen.autocfg.hp_pins[0] = 0x0f; /* copy it for automute */
1733 snd_hda_jack_detect_enable_callback(codec, 0x0f,
1735 alc_setup_gpio(codec, 0x01);
1744 { 0x0f, 0x02214000 }, /* HP/speaker */
1745 { 0x12, 0x90a60160 }, /* int mic */
1746 { 0x13, 0x02a19000 }, /* ext mic */
1747 { 0x18, 0x01446000 }, /* SPDIF out */
1749 { 0x10, 0x411111f0 },
1750 { 0x11, 0x411111f0 },
1751 { 0x14, 0x411111f0 },
1752 { 0x15, 0x411111f0 },
1753 { 0x16, 0x411111f0 },
1754 { 0x17, 0x411111f0 },
1755 { 0x19, 0x411111f0 },
1789 { 0x11, 0x90130110 }, /* speaker */
1796 { 0x0f, 0x01214000 }, /* HP */
1803 { 0x1a, AC_VERB_SET_COEF_INDEX, 0x07 },
1804 { 0x1a, AC_VERB_SET_PROC_COEF, 0x3040 },
1821 { 0x1a, AC_VERB_SET_COEF_INDEX, 0x07 },
1822 { 0x1a, AC_VERB_SET_PROC_COEF, 0x3050 },
1852 { 0x0f, 0x01211020 },
1853 { 0x10, 0x0001003f },
1854 { 0x11, 0x411111f0 },
1855 { 0x12, 0x01a15930 },
1856 { 0x13, 0x411111f0 },
1857 { 0x14, 0x411111f0 },
1858 { 0x15, 0x411111f0 },
1859 { 0x16, 0x411111f0 },
1860 { 0x17, 0x411111f0 },
1861 { 0x18, 0x411111f0 },
1862 { 0x19, 0x411111f0 },
1869 SND_PCI_QUIRK(0x1025, 0x007b, "Acer C20x", ALC260_FIXUP_GPIO1),
1870 SND_PCI_QUIRK(0x1025, 0x007f, "Acer Aspire 9500", ALC260_FIXUP_COEF),
1871 SND_PCI_QUIRK(0x1025, 0x008f, "Acer", ALC260_FIXUP_GPIO1),
1872 SND_PCI_QUIRK(0x103c, 0x280a, "HP dc5750", ALC260_FIXUP_HP_DC5750),
1873 SND_PCI_QUIRK(0x103c, 0x30ba, "HP Presario B1900", ALC260_FIXUP_HP_B1900),
1874 SND_PCI_QUIRK(0x104d, 0x81bb, "Sony VAIO", ALC260_FIXUP_VAIO_PINS),
1875 SND_PCI_QUIRK(0x104d, 0x81e2, "Sony VAIO TX", ALC260_FIXUP_HP_PIN_0F),
1876 SND_PCI_QUIRK(0x10cf, 0x1326, "FSC LifeBook S7020", ALC260_FIXUP_FSC_S7020),
1877 SND_PCI_QUIRK(0x1509, 0x4540, "Favorit 100XS", ALC260_FIXUP_GPIO1),
1878 SND_PCI_QUIRK(0x152d, 0x0729, "Quanta KN1", ALC260_FIXUP_KN1),
1879 SND_PCI_QUIRK(0x161f, 0x2057, "Replacer 672V", ALC260_FIXUP_REPLACER),
1880 SND_PCI_QUIRK(0x1631, 0xc017, "PB V7900", ALC260_FIXUP_COEF),
1899 err = alc_alloc_spec(codec, 0x07);
1900 if (err < 0)
1909 spec->gen.beep_nid = 0x01;
1921 if (err < 0)
1925 err = set_beep_amp(spec, 0x07, 0x05, HDA_INPUT);
1926 if (err < 0)
1932 return 0;
2005 alc_update_coef_idx(codec, 7, 0, 0x2030);
2027 static const hda_nid_t conn1[] = { 0x0c, 0x0d };
2028 static const hda_nid_t conn2[] = { 0x0e, 0x0f };
2029 snd_hda_override_conn_list(codec, 0x14, ARRAY_SIZE(conn1), conn1);
2030 snd_hda_override_conn_list(codec, 0x15, ARRAY_SIZE(conn1), conn1);
2031 snd_hda_override_conn_list(codec, 0x18, ARRAY_SIZE(conn2), conn2);
2032 snd_hda_override_conn_list(codec, 0x1a, ARRAY_SIZE(conn2), conn2);
2035 static const hda_nid_t conn[] = { 0x0c, 0x0d, 0x0e, 0x0f, 0x26 };
2036 snd_hda_override_conn_list(codec, 0x14, ARRAY_SIZE(conn), conn);
2037 snd_hda_override_conn_list(codec, 0x15, ARRAY_SIZE(conn), conn);
2038 snd_hda_override_conn_list(codec, 0x18, ARRAY_SIZE(conn), conn);
2039 snd_hda_override_conn_list(codec, 0x1a, ARRAY_SIZE(conn), conn);
2047 static const hda_nid_t nids[] = { 0x14, 0x15, 0x19 };
2053 for (i = 0; i < ARRAY_SIZE(nids); i++) {
2071 for (i = 0; i < num_nids; i++) {
2084 static const hda_nid_t nids[] = { 0x18, 0x1a };
2094 static const hda_nid_t nids[] = { 0x18 };
2104 static const hda_nid_t nids[] = { 0x18, 0x19 };
2112 * all-in-one desktop PCs (for example VGC-LN51JGB) through DAC 0x05
2143 spec->gen.mixer_nid = 0;
2171 codec->addr == 0 ?
2175 codec->addr == 0 ?
2186 static const hda_nid_t conn1[] = { 0x0c };
2188 WRITE_COEF(0x07, 0x03c0),
2189 WRITE_COEF(0x1a, 0x01c1),
2190 WRITE_COEF(0x1b, 0x0202),
2191 WRITE_COEF(0x43, 0x3005),
2197 snd_hda_override_conn_list(codec, 0x14, ARRAY_SIZE(conn1), conn1);
2198 snd_hda_override_conn_list(codec, 0x1b, ARRAY_SIZE(conn1), conn1);
2210 static const hda_nid_t conn1[] = { 0x0c };
2215 alc_update_coef_idx(codec, 0x7, 0, 0x3c3);
2216 /* We therefore want to make sure 0x14 (front headphone) and
2217 * 0x1b (speakers) use the stereo DAC 0x02
2219 snd_hda_override_conn_list(codec, 0x14, ARRAY_SIZE(conn1), conn1);
2220 snd_hda_override_conn_list(codec, 0x1b, ARRAY_SIZE(conn1), conn1);
2246 snd_hda_set_pin_ctl(codec, 0x19, PIN_HP | vref);
2255 snd_hda_set_pin_ctl_cache(codec, 0x1b, PIN_HP);
2263 { 0x15, 0x01080104 }, /* side */
2264 { 0x16, 0x01011012 }, /* rear */
2265 { 0x17, 0x01016011 }, /* clfe */
2272 { 0x15, 0x99130112 }, /* rear int speakers */
2273 { 0x16, 0x99130111 }, /* subwoofer */
2280 { 0x19, PIN_VREF50 },
2291 { 0x16, 0x99130110 }, /* fix sequence for CLFE */
2298 { 0x1c, 0x993301f0 }, /* CD */
2305 { 0x1b, 0x02214120 }, /* Front HP jack is flaky, disable jack detect */
2314 { 0x17, 0x90170111 }, /* hidden surround speaker */
2321 { 0x20, AC_VERB_SET_COEF_INDEX, 0x0b },
2322 { 0x20, AC_VERB_SET_PROC_COEF, 0x0838 },
2330 { 0x20, AC_VERB_SET_COEF_INDEX, 0x07 },
2331 { 0x20, AC_VERB_SET_PROC_COEF, 0x0068 },
2339 { 0x20, AC_VERB_SET_COEF_INDEX, 0x07 },
2340 { 0x20, AC_VERB_SET_PROC_COEF, 0x3060 },
2348 { 0x20, AC_VERB_SET_COEF_INDEX, 0x07 },
2349 { 0x20, AC_VERB_SET_PROC_COEF, 0x3070 },
2357 { 0x20, AC_VERB_SET_COEF_INDEX, 0x07 },
2358 { 0x20, AC_VERB_SET_PROC_COEF, 0x3050 },
2387 { 0x16, 0x99130111 }, /* CLFE speaker */
2388 { 0x17, 0x99130112 }, /* surround speaker */
2397 { 0x16, 0x99130111 }, /* CLFE speaker */
2398 { 0x1b, 0x99130112 }, /* surround speaker */
2410 /* setting bits 1-5 disables DAC nids 0x02-0x06
2411 * apparently. Init=0x38 */
2412 { 0x20, AC_VERB_SET_COEF_INDEX, 0x03 },
2413 { 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
2416 * Init=0x4900 */
2417 { 0x20, AC_VERB_SET_COEF_INDEX, 0x08 },
2418 { 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
2429 /* DMIC_CONTROL? Init value = 0x0001 */
2430 { 0x20, AC_VERB_SET_COEF_INDEX, 0x0b },
2431 { 0x20, AC_VERB_SET_PROC_COEF, 0x0003 },
2432 { 0x20, AC_VERB_SET_COEF_INDEX, 0x07 },
2433 { 0x20, AC_VERB_SET_PROC_COEF, 0x3050 },
2494 {0x16, 0x99130130}, /* bass speaker */
2523 { 0x19, 0x01a1913c }, /* use as headset mic, without its own jack detect */
2532 { 0x15, 0x02a14150 }, /* use as headset mic, without its own jack detect */
2533 { 0x19, 0x22219420 },
2546 { 0x18, PIN_VREF50 }, /* rear mic */
2547 { 0x19, PIN_VREF50 }, /* front mic */
2554 { 0x18, PIN_VREF100 }, /* headset mic */
2561 SND_PCI_QUIRK(0x1025, 0x006c, "Acer Aspire 9810", ALC883_FIXUP_ACER_EAPD),
2562 SND_PCI_QUIRK(0x1025, 0x0090, "Acer Aspire", ALC883_FIXUP_ACER_EAPD),
2563 SND_PCI_QUIRK(0x1025, 0x0107, "Acer Aspire", ALC883_FIXUP_ACER_EAPD),
2564 SND_PCI_QUIRK(0x1025, 0x010a, "Acer Ferrari 5000", ALC883_FIXUP_ACER_EAPD),
2565 SND_PCI_QUIRK(0x1025, 0x0110, "Acer Aspire", ALC883_FIXUP_ACER_EAPD),
2566 SND_PCI_QUIRK(0x1025, 0x0112, "Acer Aspire 9303", ALC883_FIXUP_ACER_EAPD),
2567 SND_PCI_QUIRK(0x1025, 0x0121, "Acer Aspire 5920G", ALC883_FIXUP_ACER_EAPD),
2568 SND_PCI_QUIRK(0x1025, 0x013e, "Acer Aspire 4930G",
2570 SND_PCI_QUIRK(0x1025, 0x013f, "Acer Aspire 5930G",
2572 SND_PCI_QUIRK(0x1025, 0x0145, "Acer Aspire 8930G",
2574 SND_PCI_QUIRK(0x1025, 0x0146, "Acer Aspire 6935G",
2576 SND_PCI_QUIRK(0x1025, 0x0142, "Acer Aspire 7730G",
2578 SND_PCI_QUIRK(0x1025, 0x0155, "Packard-Bell M5120", ALC882_FIXUP_PB_M5210),
2579 SND_PCI_QUIRK(0x1025, 0x015e, "Acer Aspire 6930G",
2581 SND_PCI_QUIRK(0x1025, 0x0166, "Acer Aspire 6530G",
2583 SND_PCI_QUIRK(0x1025, 0x021e, "Acer Aspire 5739G",
2585 SND_PCI_QUIRK(0x1025, 0x0259, "Acer Aspire 5935", ALC889_FIXUP_DAC_ROUTE),
2586 SND_PCI_QUIRK(0x1025, 0x026b, "Acer Aspire 8940G", ALC882_FIXUP_ACER_ASPIRE_8930G),
2587 SND_PCI_QUIRK(0x1025, 0x0296, "Acer Aspire 7736z", ALC882_FIXUP_ACER_ASPIRE_7736),
2588 SND_PCI_QUIRK(0x1043, 0x13c2, "Asus A7M", ALC882_FIXUP_EAPD),
2589 SND_PCI_QUIRK(0x1043, 0x1873, "ASUS W90V", ALC882_FIXUP_ASUS_W90V),
2590 SND_PCI_QUIRK(0x1043, 0x1971, "Asus W2JC", ALC882_FIXUP_ASUS_W2JC),
2591 SND_PCI_QUIRK(0x1043, 0x2390, "Asus D700SA", ALC887_FIXUP_ASUS_HMIC),
2592 SND_PCI_QUIRK(0x1043, 0x835f, "Asus Eee 1601", ALC888_FIXUP_EEE1601),
2593 SND_PCI_QUIRK(0x1043, 0x84bc, "ASUS ET2700", ALC887_FIXUP_ASUS_BASS),
2594 SND_PCI_QUIRK(0x1043, 0x8691, "ASUS ROG Ranger VIII", ALC882_FIXUP_GPIO3),
2595 SND_PCI_QUIRK(0x1043, 0x8797, "ASUS TUF B550M-PLUS", ALCS1200A_FIXUP_MIC_VREF),
2596 SND_PCI_QUIRK(0x104d, 0x9043, "Sony Vaio VGC-LN51JGB", ALC882_FIXUP_NO_PRIMARY_HP),
2597 SND_PCI_QUIRK(0x104d, 0x9044, "Sony VAIO AiO", ALC882_FIXUP_NO_PRIMARY_HP),
2598 SND_PCI_QUIRK(0x104d, 0x9047, "Sony Vaio TT", ALC889_FIXUP_VAIO_TT),
2599 SND_PCI_QUIRK(0x104d, 0x905a, "Sony Vaio Z", ALC882_FIXUP_NO_PRIMARY_HP),
2600 SND_PCI_QUIRK(0x104d, 0x9060, "Sony Vaio VPCL14M1R", ALC882_FIXUP_NO_PRIMARY_HP),
2603 SND_PCI_QUIRK(0x106b, 0x00a0, "MacBookPro 3,1", ALC889_FIXUP_MBP_VREF),
2604 SND_PCI_QUIRK(0x106b, 0x00a1, "Macbook", ALC889_FIXUP_MBP_VREF),
2605 SND_PCI_QUIRK(0x106b, 0x00a4, "MacbookPro 4,1", ALC889_FIXUP_MBP_VREF),
2606 SND_PCI_QUIRK(0x106b, 0x0c00, "Mac Pro", ALC889_FIXUP_MP11_VREF),
2607 SND_PCI_QUIRK(0x106b, 0x1000, "iMac 24", ALC885_FIXUP_MACPRO_GPIO),
2608 SND_PCI_QUIRK(0x106b, 0x2800, "AppleTV", ALC885_FIXUP_MACPRO_GPIO),
2609 SND_PCI_QUIRK(0x106b, 0x2c00, "MacbookPro rev3", ALC889_FIXUP_MBP_VREF),
2610 SND_PCI_QUIRK(0x106b, 0x3000, "iMac", ALC889_FIXUP_MBP_VREF),
2611 SND_PCI_QUIRK(0x106b, 0x3200, "iMac 7,1 Aluminum", ALC882_FIXUP_EAPD),
2612 SND_PCI_QUIRK(0x106b, 0x3400, "MacBookAir 1,1", ALC889_FIXUP_MBA11_VREF),
2613 SND_PCI_QUIRK(0x106b, 0x3500, "MacBookAir 2,1", ALC889_FIXUP_MBA21_VREF),
2614 SND_PCI_QUIRK(0x106b, 0x3600, "Macbook 3,1", ALC889_FIXUP_MBP_VREF),
2615 SND_PCI_QUIRK(0x106b, 0x3800, "MacbookPro 4,1", ALC889_FIXUP_MBP_VREF),
2616 SND_PCI_QUIRK(0x106b, 0x3e00, "iMac 24 Aluminum", ALC885_FIXUP_MACPRO_GPIO),
2617 SND_PCI_QUIRK(0x106b, 0x3f00, "Macbook 5,1", ALC889_FIXUP_IMAC91_VREF),
2618 SND_PCI_QUIRK(0x106b, 0x4000, "MacbookPro 5,1", ALC889_FIXUP_IMAC91_VREF),
2619 SND_PCI_QUIRK(0x106b, 0x4100, "Macmini 3,1", ALC889_FIXUP_IMAC91_VREF),
2620 SND_PCI_QUIRK(0x106b, 0x4200, "Mac Pro 4,1/5,1", ALC889_FIXUP_MP41_VREF),
2621 SND_PCI_QUIRK(0x106b, 0x4300, "iMac 9,1", ALC889_FIXUP_IMAC91_VREF),
2622 SND_PCI_QUIRK(0x106b, 0x4600, "MacbookPro 5,2", ALC889_FIXUP_IMAC91_VREF),
2623 SND_PCI_QUIRK(0x106b, 0x4900, "iMac 9,1 Aluminum", ALC889_FIXUP_IMAC91_VREF),
2624 SND_PCI_QUIRK(0x106b, 0x4a00, "Macbook 5,2", ALC889_FIXUP_MBA11_VREF),
2626 SND_PCI_QUIRK(0x1071, 0x8258, "Evesham Voyaeger", ALC882_FIXUP_EAPD),
2627 SND_PCI_QUIRK(0x10ec, 0x12d8, "iBase Elo Touch", ALC888VD_FIXUP_MIC_100VREF),
2628 SND_PCI_QUIRK(0x13fe, 0x1009, "Advantech MIT-W101", ALC886_FIXUP_EAPD),
2629 SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte EP45-DS3/Z87X-UD3H", ALC889_FIXUP_FRONT_HP_NO_PRESENCE),
2630 SND_PCI_QUIRK(0x1458, 0xa0b8, "Gigabyte AZ370-Gaming", ALC1220_FIXUP_GB_DUAL_CODECS),
2631 SND_PCI_QUIRK(0x1458, 0xa0cd, "Gigabyte X570 Aorus Master", ALC1220_FIXUP_GB_X570),
2632 SND_PCI_QUIRK(0x1458, 0xa0ce, "Gigabyte X570 Aorus Xtreme", ALC1220_FIXUP_GB_X570),
2633 SND_PCI_QUIRK(0x1458, 0xa0d5, "Gigabyte X570S Aorus Master", ALC1220_FIXUP_GB_X570),
2634 SND_PCI_QUIRK(0x1462, 0x11f7, "MSI-GE63", ALC1220_FIXUP_CLEVO_P950),
2635 SND_PCI_QUIRK(0x1462, 0x1228, "MSI-GP63", ALC1220_FIXUP_CLEVO_P950),
2636 SND_PCI_QUIRK(0x1462, 0x1229, "MSI-GP73", ALC1220_FIXUP_CLEVO_P950),
2637 SND_PCI_QUIRK(0x1462, 0x1275, "MSI-GL63", ALC1220_FIXUP_CLEVO_P950),
2638 SND_PCI_QUIRK(0x1462, 0x1276, "MSI-GL73", ALC1220_FIXUP_CLEVO_P950),
2639 SND_PCI_QUIRK(0x1462, 0x1293, "MSI-GP65", ALC1220_FIXUP_CLEVO_P950),
2640 SND_PCI_QUIRK(0x1462, 0x7350, "MSI-7350", ALC889_FIXUP_CD),
2641 SND_PCI_QUIRK(0x1462, 0xcc34, "MSI Godlike X570", ALC1220_FIXUP_GB_DUAL_CODECS),
2642 SND_PCI_QUIRK(0x1462, 0xda57, "MSI Z270-Gaming", ALC1220_FIXUP_GB_DUAL_CODECS),
2643 SND_PCI_QUIRK_VENDOR(0x1462, "MSI", ALC882_FIXUP_GPIO3),
2644 SND_PCI_QUIRK(0x147b, 0x107a, "Abit AW9D-MAX", ALC882_FIXUP_ABIT_AW9D_MAX),
2645 SND_PCI_QUIRK(0x1558, 0x3702, "Clevo X370SN[VW]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
2646 SND_PCI_QUIRK(0x1558, 0x50d3, "Clevo PC50[ER][CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
2647 SND_PCI_QUIRK(0x1558, 0x65d1, "Clevo PB51[ER][CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
2648 SND_PCI_QUIRK(0x1558, 0x65d2, "Clevo PB51R[CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
2649 SND_PCI_QUIRK(0x1558, 0x65e1, "Clevo PB51[ED][DF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
2650 SND_PCI_QUIRK(0x1558, 0x65e5, "Clevo PC50D[PRS](?:-D|-G)?", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
2651 SND_PCI_QUIRK(0x1558, 0x65f1, "Clevo PC50HS", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
2652 SND_PCI_QUIRK(0x1558, 0x65f5, "Clevo PD50PN[NRT]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
2653 SND_PCI_QUIRK(0x1558, 0x66a2, "Clevo PE60RNE", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
2654 SND_PCI_QUIRK(0x1558, 0x66a6, "Clevo PE60SN[CDE]-[GS]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
2655 SND_PCI_QUIRK(0x1558, 0x67d1, "Clevo PB71[ER][CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
2656 SND_PCI_QUIRK(0x1558, 0x67e1, "Clevo PB71[DE][CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
2657 SND_PCI_QUIRK(0x1558, 0x67e5, "Clevo PC70D[PRS](?:-D|-G)?", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
2658 SND_PCI_QUIRK(0x1558, 0x67f1, "Clevo PC70H[PRS]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
2659 SND_PCI_QUIRK(0x1558, 0x67f5, "Clevo PD70PN[NRT]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
2660 SND_PCI_QUIRK(0x1558, 0x70d1, "Clevo PC70[ER][CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
2661 SND_PCI_QUIRK(0x1558, 0x7714, "Clevo X170SM", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
2662 SND_PCI_QUIRK(0x1558, 0x7715, "Clevo X170KM-G", ALC1220_FIXUP_CLEVO_PB51ED),
2663 SND_PCI_QUIRK(0x1558, 0x9501, "Clevo P950HR", ALC1220_FIXUP_CLEVO_P950),
2664 SND_PCI_QUIRK(0x1558, 0x9506, "Clevo P955HQ", ALC1220_FIXUP_CLEVO_P950),
2665 SND_PCI_QUIRK(0x1558, 0x950a, "Clevo P955H[PR]", ALC1220_FIXUP_CLEVO_P950),
2666 SND_PCI_QUIRK(0x1558, 0x95e1, "Clevo P95xER", ALC1220_FIXUP_CLEVO_P950),
2667 SND_PCI_QUIRK(0x1558, 0x95e2, "Clevo P950ER", ALC1220_FIXUP_CLEVO_P950),
2668 SND_PCI_QUIRK(0x1558, 0x95e3, "Clevo P955[ER]T", ALC1220_FIXUP_CLEVO_P950),
2669 SND_PCI_QUIRK(0x1558, 0x95e4, "Clevo P955ER", ALC1220_FIXUP_CLEVO_P950),
2670 SND_PCI_QUIRK(0x1558, 0x95e5, "Clevo P955EE6", ALC1220_FIXUP_CLEVO_P950),
2671 SND_PCI_QUIRK(0x1558, 0x95e6, "Clevo P950R[CDF]", ALC1220_FIXUP_CLEVO_P950),
2672 SND_PCI_QUIRK(0x1558, 0x96e1, "Clevo P960[ER][CDFN]-K", ALC1220_FIXUP_CLEVO_P950),
2673 SND_PCI_QUIRK(0x1558, 0x97e1, "Clevo P970[ER][CDFN]", ALC1220_FIXUP_CLEVO_P950),
2674 SND_PCI_QUIRK(0x1558, 0x97e2, "Clevo P970RC-M", ALC1220_FIXUP_CLEVO_P950),
2675 SND_PCI_QUIRK(0x1558, 0xd502, "Clevo PD50SNE", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
2676 SND_PCI_QUIRK_VENDOR(0x1558, "Clevo laptop", ALC882_FIXUP_EAPD),
2677 SND_PCI_QUIRK(0x161f, 0x2054, "Medion laptop", ALC883_FIXUP_EAPD),
2678 SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Y530", ALC882_FIXUP_LENOVO_Y530),
2679 SND_PCI_QUIRK(0x8086, 0x0022, "DX58SO", ALC889_FIXUP_COEF),
2720 SND_HDA_PIN_QUIRK(0x10ec1220, 0x1043, "ASUS", ALC1220_FIXUP_CLEVO_P950,
2721 {0x14, 0x01014010},
2722 {0x15, 0x01011012},
2723 {0x16, 0x01016011},
2724 {0x18, 0x01a19040},
2725 {0x19, 0x02a19050},
2726 {0x1a, 0x0181304f},
2727 {0x1b, 0x0221401f},
2728 {0x1e, 0x01456130}),
2729 SND_HDA_PIN_QUIRK(0x10ec1220, 0x1462, "MS-7C35", ALC1220_FIXUP_CLEVO_P950,
2730 {0x14, 0x01015010},
2731 {0x15, 0x01011012},
2732 {0x16, 0x01011011},
2733 {0x18, 0x01a11040},
2734 {0x19, 0x02a19050},
2735 {0x1a, 0x0181104f},
2736 {0x1b, 0x0221401f},
2737 {0x1e, 0x01451130}),
2747 static const hda_nid_t alc882_ignore[] = { 0x1d, 0 };
2748 static const hda_nid_t alc882_ssids[] = { 0x15, 0x1b, 0x14, 0 };
2759 err = alc_alloc_spec(codec, 0x0b);
2760 if (err < 0)
2766 case 0x10ec0882:
2767 case 0x10ec0885:
2768 case 0x10ec0900:
2769 case 0x10ec0b00:
2770 case 0x10ec1220:
2774 alc_fix_pll_init(codec, 0x20, 0x0a, 10);
2788 spec->gen.beep_nid = 0x01;
2792 if (err < 0)
2796 err = set_beep_amp(spec, 0x0b, 0x05, HDA_INPUT);
2797 if (err < 0)
2803 return 0;
2816 static const hda_nid_t alc262_ignore[] = { 0x1d, 0 };
2817 static const hda_nid_t alc262_ssids[] = { 0x15, 0x1b, 0x14, 0 };
2840 { 0x14, 0x99130110 }, /* speaker */
2841 { 0x15, 0x0221142f }, /* front HP */
2842 { 0x1b, 0x0121141f }, /* rear HP */
2849 { 0x15, 0x90170110 }, /* speaker */
2858 { 0x16, 0x99130120 }, /* internal speaker */
2865 { 0x14, 0x1993e1f0 }, /* int AUX */
2872 { 0x19, PIN_VREF50 },
2881 { 0x20, AC_VERB_SET_COEF_INDEX, 0x07 },
2882 { 0x20, AC_VERB_SET_PROC_COEF, 0x3070 },
2889 { 0x20, AC_VERB_SET_COEF_INDEX, 0x07 },
2890 { 0x20, AC_VERB_SET_PROC_COEF, 0x3050 },
2905 SND_PCI_QUIRK(0x103c, 0x170b, "HP Z200", ALC262_FIXUP_HP_Z200),
2906 SND_PCI_QUIRK(0x10cf, 0x1397, "Fujitsu Lifebook S7110", ALC262_FIXUP_FSC_S7110),
2907 SND_PCI_QUIRK(0x10cf, 0x142d, "Fujitsu Lifebook E8410", ALC262_FIXUP_BENQ),
2908 SND_PCI_QUIRK(0x10f1, 0x2915, "Tyan Thunder n6650W", ALC262_FIXUP_TYAN),
2909 SND_PCI_QUIRK(0x1734, 0x1141, "FSC ESPRIMO U9210", ALC262_FIXUP_FSC_H270),
2910 SND_PCI_QUIRK(0x1734, 0x1147, "FSC Celsius H270", ALC262_FIXUP_FSC_H270),
2911 SND_PCI_QUIRK(0x17aa, 0x384e, "Lenovo 3000", ALC262_FIXUP_LENOVO_3000),
2912 SND_PCI_QUIRK(0x17ff, 0x0560, "Benq ED8", ALC262_FIXUP_BENQ),
2913 SND_PCI_QUIRK(0x17ff, 0x058d, "Benq T31-16", ALC262_FIXUP_BENQ_T31),
2914 SND_PCI_QUIRK(0x8086, 0x7270, "BayleyBay", ALC262_FIXUP_INTEL_BAYLEYBAY),
2938 err = alc_alloc_spec(codec, 0x0b);
2939 if (err < 0)
2943 spec->gen.shared_mic_vref_pin = 0x18;
2947 #if 0
2951 alc_update_coefex_idx(codec, 0x1a, 7, 0, 0x80);
2953 alc_fix_pll_init(codec, 0x20, 0x0a, 10);
2964 spec->gen.beep_nid = 0x01;
2968 if (err < 0)
2972 err = set_beep_amp(spec, 0x0b, 0x05, HDA_INPUT);
2973 if (err < 0)
2979 return 0;
2989 /* bind Beep switches of both NID 0x0f and 0x10 */
2999 kcontrol->private_value = (pval & ~0xff) | 0x0f;
3001 if (err >= 0) {
3002 kcontrol->private_value = (pval & ~0xff) | 0x10;
3011 HDA_CODEC_VOLUME("Beep Playback Volume", 0x1d, 0x0, HDA_INPUT),
3019 .private_value = HDA_COMPOSE_AMP_VAL(0x0f, 3, 1, HDA_INPUT)
3023 /* set PCBEEP vol = 0, mute connections */
3025 {0x1d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
3026 {0x0f, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(1)},
3027 {0x10, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(1)},
3045 {0x15, AC_VERB_SET_EAPD_BTLENABLE, 0},
3052 { 0x1e, 0x014b1180 }, /* enable SPDIF out */
3066 SND_PCI_QUIRK(0x1025, 0x0139, "Acer TravelMate 6293", ALC268_FIXUP_SPDIF),
3067 SND_PCI_QUIRK(0x1025, 0x015b, "Acer AOA 150 (ZG5)", ALC268_FIXUP_INV_DMIC),
3071 SND_PCI_QUIRK(0x1179, 0xff06, "Toshiba P200", ALC268_FIXUP_HP_EAPD),
3080 static const hda_nid_t alc268_ssids[] = { 0x15, 0x1b, 0x14, 0 };
3092 err = alc_alloc_spec(codec, 0);
3093 if (err < 0)
3098 spec->gen.beep_nid = 0x01;
3109 if (err < 0)
3112 if (err > 0 && !spec->gen.no_analog &&
3113 spec->gen.autocfg.speaker_pins[0] != 0x1d) {
3114 for (i = 0; i < ARRAY_SIZE(alc268_beep_mixer); i++) {
3122 if (!query_amp_caps(codec, 0x1d, HDA_INPUT))
3124 snd_hda_override_amp_caps(codec, 0x1d, HDA_INPUT,
3125 (0x0c << AC_AMPCAP_OFFSET_SHIFT) |
3126 (0x0c << AC_AMPCAP_NUM_STEPS_SHIFT) |
3127 (0x07 << AC_AMPCAP_STEP_SIZE_SHIFT) |
3128 (0 << AC_AMPCAP_MUTE_SHIFT));
3133 return 0;
3183 static const hda_nid_t alc269_ignore[] = { 0x1d, 0 };
3184 static const hda_nid_t alc269_ssids[] = { 0, 0x1b, 0x14, 0x21 };
3185 static const hda_nid_t alc269va_ssids[] = { 0x15, 0x1b, 0x14, 0 };
3235 int report = 0;
3262 case 0x10ec0215:
3263 case 0x10ec0225:
3264 case 0x10ec0285:
3265 case 0x10ec0287:
3266 case 0x10ec0295:
3267 case 0x10ec0289:
3268 case 0x10ec0299:
3269 alc_write_coef_idx(codec, 0x48, 0x0);
3270 alc_update_coef_idx(codec, 0x49, 0x0045, 0x0);
3271 alc_update_coef_idx(codec, 0x44, 0x0045 << 8, 0x0);
3273 case 0x10ec0230:
3274 case 0x10ec0236:
3275 case 0x10ec0256:
3276 case 0x10ec0257:
3277 case 0x19e58326:
3278 alc_write_coef_idx(codec, 0x48, 0x0);
3279 alc_update_coef_idx(codec, 0x49, 0x0045, 0x0);
3292 case 0x10ec0215:
3293 case 0x10ec0225:
3294 case 0x10ec0285:
3295 case 0x10ec0287:
3296 case 0x10ec0295:
3297 case 0x10ec0289:
3298 case 0x10ec0299:
3299 alc_write_coef_idx(codec, 0x48, 0xd011);
3300 alc_update_coef_idx(codec, 0x49, 0x007f, 0x0045);
3301 alc_update_coef_idx(codec, 0x44, 0x007f << 8, 0x0045 << 8);
3303 case 0x10ec0230:
3304 case 0x10ec0236:
3305 case 0x10ec0256:
3306 case 0x10ec0257:
3307 case 0x19e58326:
3308 alc_write_coef_idx(codec, 0x48, 0xd011);
3309 alc_update_coef_idx(codec, 0x49, 0x007f, 0x0045);
3323 snd_hda_jack_detect_enable_callback(codec, 0x55,
3328 if (!hp_pin || snd_hda_jack_bind_keymap(codec, 0x55,
3331 snd_hda_jack_add_kctl(codec, 0x55, "Headset Jack",
3342 alc_update_coef_idx(codec, 0x04, 1 << 11, power_up ? (1 << 11) : 0);
3350 alc269vb_toggle_power_output(codec, 0);
3352 (alc_get_coef0(codec) & 0x00ff) == 0x018) {
3359 WRITE_COEF(0x03, 0x0002), /* Power Down Control */
3360 UPDATE_COEF(0x05, 0xff3f, 0x0700), /* FIFO and filter clock */
3361 WRITE_COEF(0x07, 0x0200), /* DMIC control */
3362 UPDATE_COEF(0x06, 0x00f0, 0), /* Analog clock */
3363 UPDATE_COEF(0x08, 0xfffc, 0x0c2c), /* JD */
3364 WRITE_COEF(0x0a, 0xcccc), /* JD offset1 */
3365 WRITE_COEF(0x0b, 0xcccc), /* JD offset2 */
3366 WRITE_COEF(0x0e, 0x6e00), /* LDO1/2/3, DAC/ADC */
3367 UPDATE_COEF(0x0f, 0xf800, 0x1000), /* JD */
3368 UPDATE_COEF(0x10, 0xfc00, 0x0c00), /* Capless */
3369 WRITE_COEF(0x6f, 0x0), /* Class D test 4 */
3370 UPDATE_COEF(0x0c, 0xfe00, 0), /* IO power down directly */
3371 WRITE_COEF(0x34, 0xa0c0), /* ANC */
3372 UPDATE_COEF(0x16, 0x0008, 0), /* AGC MUX */
3373 UPDATE_COEF(0x1d, 0x00e0, 0), /* DAC simple content protection */
3374 UPDATE_COEF(0x1f, 0x00e0, 0), /* ADC simple content protection */
3375 WRITE_COEF(0x21, 0x8804), /* DAC ADC Zero Detection */
3376 WRITE_COEF(0x63, 0x2902), /* PLL */
3377 WRITE_COEF(0x68, 0xa080), /* capless control 2 */
3378 WRITE_COEF(0x69, 0x3400), /* capless control 3 */
3379 WRITE_COEF(0x6a, 0x2f3e), /* capless control 4 */
3380 WRITE_COEF(0x6b, 0x0), /* capless control 5 */
3381 UPDATE_COEF(0x6d, 0x0fff, 0x0900), /* class D test 2 */
3382 WRITE_COEF(0x6e, 0x110a), /* class D test 3 */
3383 UPDATE_COEF(0x70, 0x00f8, 0x00d8), /* class D test 5 */
3384 WRITE_COEF(0x71, 0x0014), /* class D test 6 */
3385 WRITE_COEF(0x72, 0xc2ba), /* classD OCP */
3386 UPDATE_COEF(0x77, 0x0f80, 0), /* classD pure DC test */
3387 WRITE_COEF(0x6c, 0xfc06), /* Class D amp control */
3408 coef78 = alc_read_coef_idx(codec, 0x78);
3410 /* Index 0x78 Direct Drive HP AMP LPM Control 1 */
3412 alc_write_coef_idx(codec, 0x78, 0x9004);
3417 snd_hda_codec_write(codec, hp_pin, 0,
3423 snd_hda_codec_write(codec, hp_pin, 0,
3430 alc_write_coef_idx(codec, 0x78, coef78);
3446 coef78 = alc_read_coef_idx(codec, 0x78);
3447 alc_write_coef_idx(codec, 0x78, 0x9004);
3452 snd_hda_codec_write(codec, hp_pin, 0,
3459 snd_hda_codec_write(codec, hp_pin, 0,
3460 AC_VERB_SET_PIN_WIDGET_CONTROL, 0x0);
3467 alc_write_coef_idx(codec, 0x78, coef78);
3471 WRITE_COEF(0x03, 0x0002), /* Power Down Control */
3472 UPDATE_COEF(0x05, 0xff3f, 0x0700), /* FIFO and filter clock */
3473 WRITE_COEF(0x07, 0x0200), /* DMIC control */
3474 UPDATE_COEF(0x06, 0x00f0, 0), /* Analog clock */
3475 UPDATE_COEF(0x08, 0xfffc, 0x0c2c), /* JD */
3476 WRITE_COEF(0x0a, 0xcccc), /* JD offset1 */
3477 WRITE_COEF(0x0b, 0xcccc), /* JD offset2 */
3478 WRITE_COEF(0x0e, 0x6fc0), /* LDO1/2/3, DAC/ADC */
3479 UPDATE_COEF(0x0f, 0xf800, 0x1000), /* JD */
3480 UPDATE_COEF(0x10, 0xfc00, 0x0c00), /* Capless */
3481 WRITE_COEF(0x3a, 0x0), /* Class D test 4 */
3482 UPDATE_COEF(0x0c, 0xfe00, 0x0), /* IO power down directly */
3483 WRITE_COEF(0x22, 0xa0c0), /* ANC */
3484 UPDATE_COEFEX(0x53, 0x01, 0x000f, 0x0008), /* AGC MUX */
3485 UPDATE_COEF(0x1d, 0x00e0, 0), /* DAC simple content protection */
3486 UPDATE_COEF(0x1f, 0x00e0, 0), /* ADC simple content protection */
3487 WRITE_COEF(0x21, 0x8804), /* DAC ADC Zero Detection */
3488 WRITE_COEF(0x2e, 0x2902), /* PLL */
3489 WRITE_COEF(0x33, 0xa080), /* capless control 2 */
3490 WRITE_COEF(0x34, 0x3400), /* capless control 3 */
3491 WRITE_COEF(0x35, 0x2f3e), /* capless control 4 */
3492 WRITE_COEF(0x36, 0x0), /* capless control 5 */
3493 UPDATE_COEF(0x38, 0x0fff, 0x0900), /* class D test 2 */
3494 WRITE_COEF(0x39, 0x110a), /* class D test 3 */
3495 UPDATE_COEF(0x3b, 0x00f8, 0x00d8), /* class D test 5 */
3496 WRITE_COEF(0x3c, 0x0014), /* class D test 6 */
3497 WRITE_COEF(0x3d, 0xc2ba), /* classD OCP */
3498 UPDATE_COEF(0x42, 0x0f80, 0x0), /* classD pure DC test */
3499 WRITE_COEF(0x49, 0x0), /* test mode */
3500 UPDATE_COEF(0x40, 0xf800, 0x9800), /* Class D DC enable */
3501 UPDATE_COEF(0x42, 0xf000, 0x2000), /* DC offset */
3502 WRITE_COEF(0x37, 0xfc06), /* Class D amp control */
3503 UPDATE_COEF(0x1b, 0x8000, 0), /* HP JD control */
3526 /* Index 0x43 Direct Drive HP AMP LPM Control 1 */
3528 alc_write_coef_idx(codec, 0x43, 0x9004);
3530 snd_hda_codec_write(codec, hp_pin, 0,
3536 snd_hda_codec_write(codec, hp_pin, 0,
3541 /* Index 0x46 Combo jack auto switch control 2 */
3543 alc_update_coef_idx(codec, 0x46, 3 << 12, 0);
3545 alc_write_coef_idx(codec, 0x43, 0x9614);
3561 alc_write_coef_idx(codec, 0x43, 0x9004);
3564 alc_write_coef_idx(codec, 0x06, 0x2100);
3566 snd_hda_codec_write(codec, hp_pin, 0,
3573 snd_hda_codec_write(codec, hp_pin, 0,
3574 AC_VERB_SET_PIN_WIDGET_CONTROL, 0x0);
3576 alc_update_coef_idx(codec, 0x46, 0, 3 << 12);
3582 alc_write_coef_idx(codec, 0x43, 0x9614);
3592 alc_update_coef_idx(codec, 0x03, 1<<1, 1<<1);
3593 alc_update_coef_idx(codec, 0x08, 3<<2, 3<<2);
3594 alc_update_coef_idx(codec, 0x08, 7<<4, 0);
3595 alc_update_coef_idx(codec, 0x3b, 1<<15, 0);
3596 alc_update_coef_idx(codec, 0x0e, 7<<6, 7<<6);
3601 hp_pin = 0x21;
3609 alc_update_coefex_idx(codec, 0x57, 0x04, 0x0007, 0x1); /* Low power */
3611 snd_hda_codec_write(codec, hp_pin, 0,
3616 snd_hda_codec_write(codec, hp_pin, 0,
3620 alc_update_coefex_idx(codec, 0x57, 0x04, 0x0007, 0x4); /* Hight power */
3622 alc_update_coef_idx(codec, 0x46, 3 << 12, 0);
3623 alc_update_coefex_idx(codec, 0x53, 0x02, 0x8000, 1 << 15); /* Clear bit */
3624 alc_update_coefex_idx(codec, 0x53, 0x02, 0x8000, 0 << 15);
3631 alc_write_coef_idx(codec, 0x36, 0x5757);
3641 hp_pin = 0x21;
3643 alc_update_coefex_idx(codec, 0x57, 0x04, 0x0007, 0x1); /* Low power */
3649 snd_hda_codec_write(codec, hp_pin, 0,
3660 alc_update_coef_idx(codec, 0x46, 0, 3 << 12);
3663 snd_hda_codec_write(codec, hp_pin, 0,
3664 AC_VERB_SET_PIN_WIDGET_CONTROL, 0x0);
3673 alc_update_coef_idx(codec, 0x03, 1<<1, 0);
3674 alc_update_coef_idx(codec, 0x08, 7<<4, 7<<4);
3675 alc_update_coef_idx(codec, 0x08, 3<<2, 0);
3676 alc_update_coef_idx(codec, 0x3b, 1<<15, 1<<15);
3677 alc_update_coef_idx(codec, 0x0e, 7<<6, 0);
3689 alc_write_coefex_idx(codec, 0x58, 0x00, 0x1888); /* write default value */
3690 alc_update_coef_idx(codec, 0x4a, 1<<15, 1<<15); /* Reset HP JD */
3691 coef38 = alc_read_coef_idx(codec, 0x38); /* Amp control */
3692 coef0d = alc_read_coef_idx(codec, 0x0d); /* Digital Misc control */
3693 coef36 = alc_read_coef_idx(codec, 0x36); /* Passthrough Control */
3694 alc_update_coef_idx(codec, 0x38, 1<<4, 0x0);
3695 alc_update_coef_idx(codec, 0x0d, 0x110, 0x0);
3697 alc_update_coef_idx(codec, 0x67, 0xf000, 0x3000);
3700 snd_hda_codec_write(codec, hp_pin, 0,
3704 alc_update_coef_idx(codec, 0x36, 1<<14, 1<<14);
3705 alc_update_coef_idx(codec, 0x36, 1<<13, 0x0);
3708 snd_hda_codec_write(codec, hp_pin, 0,
3709 AC_VERB_SET_PIN_WIDGET_CONTROL, 0x0);
3711 alc_write_coef_idx(codec, 0x67, 0x0); /* Set HP depop to manual mode */
3712 alc_write_coefex_idx(codec, 0x58, 0x00, 0x7880);
3713 alc_write_coefex_idx(codec, 0x58, 0x0f, 0xf049);
3714 alc_update_coefex_idx(codec, 0x58, 0x03, 0x00f0, 0x00c0);
3716 alc_write_coefex_idx(codec, 0x58, 0x00, 0xf888); /* HP depop procedure start */
3717 val = alc_read_coefex_idx(codec, 0x58, 0x00);
3718 for (i = 0; i < 20 && val & 0x8000; i++) {
3720 val = alc_read_coefex_idx(codec, 0x58, 0x00);
3723 alc_write_coefex_idx(codec, 0x58, 0x00, val); /* write back the result */
3724 alc_update_coef_idx(codec, 0x38, 1<<4, coef38);
3725 alc_update_coef_idx(codec, 0x0d, 0x110, coef0d);
3726 alc_update_coef_idx(codec, 0x36, 3<<13, coef36);
3729 alc_update_coef_idx(codec, 0x4a, 1<<15, 0);
3739 alc_update_coef_idx(codec, 0x08, 0x0f << 2, 3<<2);
3740 alc_update_coef_idx(codec, 0x0e, 7<<6, 7<<6);
3741 alc_update_coef_idx(codec, 0x33, 1<<11, 0);
3756 hp_pin = 0x21;
3760 hp2_pin_sense = snd_hda_jack_detect(codec, 0x16);
3764 alc_update_coefex_idx(codec, 0x57, 0x04, 0x0007, 0x1); /* Low power */
3767 snd_hda_codec_write(codec, hp_pin, 0,
3770 snd_hda_codec_write(codec, 0x16, 0,
3775 snd_hda_codec_write(codec, hp_pin, 0,
3778 snd_hda_codec_write(codec, 0x16, 0,
3782 alc_update_coef_idx(codec, 0x4a, 3 << 10, 0);
3783 alc_update_coefex_idx(codec, 0x57, 0x04, 0x0007, 0x4); /* Hight power */
3794 hp_pin = 0x21;
3797 hp2_pin_sense = snd_hda_jack_detect(codec, 0x16);
3802 alc_update_coef_idx(codec, 0x4a, 0, 3 << 10);
3806 snd_hda_codec_write(codec, hp_pin, 0,
3809 snd_hda_codec_write(codec, 0x16, 0,
3815 snd_hda_codec_write(codec, hp_pin, 0,
3816 AC_VERB_SET_PIN_WIDGET_CONTROL, 0x0);
3818 snd_hda_codec_write(codec, 0x16, 0,
3819 AC_VERB_SET_PIN_WIDGET_CONTROL, 0x0);
3822 alc_update_coef_idx(codec, 0x4a, 3 << 10, 0);
3829 alc_update_coef_idx(codec, 0x08, 0x0f << 2, 0x0c << 2);
3830 alc_update_coef_idx(codec, 0x0e, 7<<6, 0);
3831 alc_update_coef_idx(codec, 0x33, 1<<11, 1<<11);
3832 alc_update_coef_idx(codec, 0x4a, 3<<4, 2<<4);
3849 hp2_pin_sense = snd_hda_jack_detect(codec, 0x14);
3855 snd_hda_codec_write(codec, hp_pin, 0,
3858 snd_hda_codec_write(codec, 0x14, 0,
3863 snd_hda_codec_write(codec, hp_pin, 0,
3866 snd_hda_codec_write(codec, 0x14, 0,
3880 hp_pin = 0x21;
3883 hp2_pin_sense = snd_hda_jack_detect(codec, 0x14);
3889 snd_hda_codec_write(codec, hp_pin, 0,
3892 snd_hda_codec_write(codec, 0x14, 0,
3898 snd_hda_codec_write(codec, hp_pin, 0,
3899 AC_VERB_SET_PIN_WIDGET_CONTROL, 0x0);
3901 snd_hda_codec_write(codec, 0x14, 0,
3902 AC_VERB_SET_PIN_WIDGET_CONTROL, 0x0);
3926 snd_hda_codec_write(codec, hp_pin, 0,
3931 snd_hda_codec_write(codec, hp_pin, 0,
3953 snd_hda_codec_write(codec, hp_pin, 0,
3959 snd_hda_codec_write(codec, hp_pin, 0,
3960 AC_VERB_SET_PIN_WIDGET_CONTROL, 0x0);
3977 snd_hda_codec_write(codec, hp_pin, 0,
3983 snd_hda_codec_write(codec, hp_pin, 0,
3984 AC_VERB_SET_PIN_WIDGET_CONTROL, 0x0);
3986 alc_update_coef_idx(codec, 0x6f, 0x000f, 0);/* Set HP depop to manual mode */
3987 alc_update_coefex_idx(codec, 0x58, 0x00, 0x8000, 0x8000); /* HP depop procedure start */
3990 val = alc_read_coefex_idx(codec, 0x58, 0x01);
3991 for (i = 0; i < 20 && val & 0x0080; i++) {
3993 val = alc_read_coefex_idx(codec, 0x58, 0x01);
3996 alc_update_coef_idx(codec, 0x6f, 0x000f, 0x000b);
4016 snd_hda_codec_write(codec, 0x51, 0, AC_VERB_SET_COEF_INDEX, index_reg >> 1);
4017 snd_hda_codec_write(codec, 0x51, 0, AC_VERB_SET_PROC_COEF, val & 0xffff); /* LSB */
4018 snd_hda_codec_write(codec, 0x51, 0, AC_VERB_SET_PROC_COEF, val >> 16); /* MSB */
4025 snd_hda_codec_write(codec, 0x51, 0, AC_VERB_SET_COEF_INDEX, index_reg >> 1);
4026 val = snd_hda_codec_read(codec, 0x51, 0, AC_VERB_GET_PROC_COEF, 0)
4027 & 0xffff;
4028 val |= snd_hda_codec_read(codec, 0x51, 0, AC_VERB_GET_PROC_COEF, 0)
4037 alc5505_coef_set(codec, 0x3000, 0x000c); /* DSP CPU stop */
4038 alc5505_coef_set(codec, 0x880c, 0x0008); /* DDR enter self refresh */
4039 alc5505_coef_set(codec, 0x61c0, 0x11110080); /* Clock control for PLL and CPU */
4040 alc5505_coef_set(codec, 0x6230, 0xfc0d4011); /* Disable Input OP */
4041 alc5505_coef_set(codec, 0x61b4, 0x040a2b03); /* Stop PLL2 */
4042 alc5505_coef_set(codec, 0x61b0, 0x00005b17); /* Stop PLL1 */
4043 alc5505_coef_set(codec, 0x61b8, 0x04133303); /* Stop PLL3 */
4044 val = alc5505_coef_get(codec, 0x6220);
4045 alc5505_coef_set(codec, 0x6220, (val | 0x3000)); /* switch Ringbuffer clock to DBUS clock */
4050 alc5505_coef_set(codec, 0x61b8, 0x04133302);
4051 alc5505_coef_set(codec, 0x61b0, 0x00005b16);
4052 alc5505_coef_set(codec, 0x61b4, 0x040a2b02);
4053 alc5505_coef_set(codec, 0x6230, 0xf80d4011);
4054 alc5505_coef_set(codec, 0x6220, 0x2002010f);
4055 alc5505_coef_set(codec, 0x880c, 0x00000004);
4064 alc5505_coef_set(codec, 0x61b0, 0x5b14); /* PLL1 control */
4065 alc5505_coef_set(codec, 0x61b0, 0x5b16);
4066 alc5505_coef_set(codec, 0x61b4, 0x04132b00); /* PLL2 control */
4067 alc5505_coef_set(codec, 0x61b4, 0x04132b02);
4068 alc5505_coef_set(codec, 0x61b8, 0x041f3300); /* PLL3 control*/
4069 alc5505_coef_set(codec, 0x61b8, 0x041f3302);
4070 snd_hda_codec_write(codec, 0x51, 0, AC_VERB_SET_CODEC_RESET, 0); /* Function reset */
4071 alc5505_coef_set(codec, 0x61b8, 0x041b3302);
4072 alc5505_coef_set(codec, 0x61b8, 0x04173302);
4073 alc5505_coef_set(codec, 0x61b8, 0x04163302);
4074 alc5505_coef_set(codec, 0x8800, 0x348b328b); /* DRAM control */
4075 alc5505_coef_set(codec, 0x8808, 0x00020022); /* DRAM control */
4076 alc5505_coef_set(codec, 0x8818, 0x00000400); /* DRAM control */
4078 val = alc5505_coef_get(codec, 0x6200) >> 16; /* Read revision ID */
4080 alc5505_coef_set(codec, 0x6220, 0x2002010f); /* I/O PAD Configuration */
4082 alc5505_coef_set(codec, 0x6220, 0x6002018f);
4084 alc5505_coef_set(codec, 0x61ac, 0x055525f0); /**/
4085 alc5505_coef_set(codec, 0x61c0, 0x12230080); /* Clock control */
4086 alc5505_coef_set(codec, 0x61b4, 0x040e2b02); /* PLL2 control */
4087 alc5505_coef_set(codec, 0x61bc, 0x010234f8); /* OSC Control */
4088 alc5505_coef_set(codec, 0x880c, 0x00000004); /* DRAM Function control */
4089 alc5505_coef_set(codec, 0x880c, 0x00000003);
4090 alc5505_coef_set(codec, 0x880c, 0x00000010);
4098 #define alc5505_dsp_suspend(codec) do { } while (0) /* NOP */
4099 #define alc5505_dsp_resume(codec) do { } while (0) /* NOP */
4121 alc269vb_toggle_power_output(codec, 0);
4123 (alc_get_coef0(codec) & 0x00ff) == 0x018) {
4132 (alc_get_coef0(codec) & 0x00ff) == 0x017) {
4137 hda_call_check_power_status(codec, 0x01);
4149 return 0;
4166 unsigned int cfg_headphone = snd_hda_codec_get_pincfg(codec, 0x21);
4167 unsigned int cfg_headset_mic = snd_hda_codec_get_pincfg(codec, 0x19);
4169 if (cfg_headphone && cfg_headset_mic == 0x411111f0)
4170 snd_hda_codec_set_pincfg(codec, 0x19,
4179 alc_update_coef_idx(codec, 0x1e, 0, 0x80);
4195 {0x20, AC_VERB_SET_COEF_INDEX, 0x0d},
4196 {0x20, AC_VERB_SET_PROC_COEF, 0x4000},
4204 cfg = snd_hda_codec_get_pincfg(codec, 0x12);
4215 alc_update_coef_idx(codec, 0x0d, 0x6000, 0x6000);
4242 alc_update_coef_idx(codec, 0x07, 0, 0x80);
4249 alc_write_coef_idx(codec, 0x0c, 0x680);
4250 alc_write_coef_idx(codec, 0x0c, 0x480);
4270 vref = spec->gen.hp_jack_present ? PIN_VREF80 : 0;
4272 snd_hda_codec_write(codec, 0x18, 0, AC_VERB_SET_PIN_WIDGET_CONTROL,
4275 snd_hda_codec_write(codec, 0x18, 0, AC_VERB_SET_PIN_WIDGET_CONTROL,
4291 snd_hda_codec_write(codec, 0x06, 0, AC_VERB_SET_DIGI_CONVERT_3, 0x0);
4292 alc_write_coef_idx(codec, 0x26, 0xb000);
4295 snd_hda_codec_write(codec, 0x21, 0, AC_VERB_GET_PIN_SENSE, 0x0);
4297 snd_hda_codec_write(codec, 0x6, 0, AC_VERB_SET_DIGI_CONVERT_3, 0x80);
4298 alc_write_coef_idx(codec, 0x26, 0xf000);
4299 alc_write_coef_idx(codec, 0x23, initval->value_0x23);
4301 if (initval->value_0x23 != 0x1e)
4302 alc_write_coef_idx(codec, 0x25, initval->value_0x25);
4304 snd_hda_codec_write(codec, 0x20, 0, AC_VERB_SET_COEF_INDEX, 0x26);
4305 snd_hda_codec_write(codec, 0x20, 0, AC_VERB_SET_PROC_COEF, 0xb010);
4314 {0x0c, 0x00}, {0x0d, 0x00}, {0x0e, 0x00}, {0x0f, 0x00},
4315 {0x10, 0x00}, {0x1a, 0x40}, {0x1b, 0x82}, {0x1c, 0x00},
4316 {0x1d, 0x00}, {0x1e, 0x00}, {0x1f, 0x00},
4317 {0x20, 0xc2}, {0x21, 0xc8}, {0x22, 0x26}, {0x23, 0x24},
4318 {0x27, 0xff}, {0x28, 0xff}, {0x29, 0xff}, {0x2a, 0x8f},
4319 {0x2b, 0x02}, {0x2c, 0x48}, {0x2d, 0x34}, {0x2e, 0x00},
4320 {0x2f, 0x00},
4321 {0x30, 0x00}, {0x31, 0x00}, {0x32, 0x00}, {0x33, 0x00},
4322 {0x34, 0x00}, {0x35, 0x01}, {0x36, 0x93}, {0x37, 0x0c},
4323 {0x38, 0x00}, {0x39, 0x00}, {0x3a, 0xf8}, {0x38, 0x80},
4332 snd_hda_codec_write(codec, 0x06, 0, AC_VERB_SET_DIGI_CONVERT_3, 0x00);
4333 snd_hda_codec_write(codec, 0x06, 0, AC_VERB_SET_DIGI_CONVERT_3, 0x80);
4334 alc_write_coef_idx(codec, 0x26, 0xf000);
4335 alc_write_coef_idx(codec, 0x22, 0x31);
4336 alc_write_coef_idx(codec, 0x23, 0x0b);
4337 alc_write_coef_idx(codec, 0x25, 0x00);
4338 snd_hda_codec_write(codec, 0x20, 0, AC_VERB_SET_COEF_INDEX, 0x26);
4339 snd_hda_codec_write(codec, 0x20, 0, AC_VERB_SET_PROC_COEF, 0xb010);
4382 return 0;
4392 if (power_state != AC_PWRST_D3 || nid == 0 ||
4396 /* Set pin ctl again, it might have just been set to 0 */
4416 if (pin < 0x0a || pin >= 0x10)
4419 spec->mute_led_nid = pin - 0x0a + 0x18;
4436 spec->mute_led_polarity = 0;
4446 alc269_fixup_hp_mute_led_micx(codec, fix, action, 0x18);
4452 alc269_fixup_hp_mute_led_micx(codec, fix, action, 0x19);
4458 alc269_fixup_hp_mute_led_micx(codec, fix, action, 0x1b);
4479 return 0;
4491 return 0;
4519 alc_fixup_hp_gpio_led(codec, action, 0x02, 0x01);
4525 alc_fixup_hp_gpio_led(codec, action, 0x08, 0x10);
4531 alc_fixup_hp_gpio_led(codec, action, 0x04, 0x01);
4537 alc_fixup_hp_gpio_led(codec, action, 0x02, 0x20);
4543 alc_fixup_hp_gpio_led(codec, action, 0x10, 0);
4553 alc_fixup_hp_gpio_led(codec, action, 0, 0x04);
4565 return 0;
4573 alc_fixup_hp_gpio_led(codec, action, 0x08, 0);
4578 spec->gpio_mask |= 0x10;
4579 spec->gpio_dir |= 0x10;
4580 spec->cap_mute_led_nid = 0x18;
4591 alc_fixup_hp_gpio_led(codec, action, 0x08, 0);
4593 spec->cap_mute_led_nid = 0x18;
4609 spec->gpio_mask |= 0x01;
4610 spec->gpio_dir |= 0x01;
4614 alc_update_gpio_data(codec, 0x01, true);
4616 alc_update_gpio_data(codec, 0x01, false);
4629 alc_update_gpio_data(codec, 0x04, true);
4632 alc_update_gpio_data(codec, 0x04, false);
4644 spec->gpio_mask |= 0x04;
4645 spec->gpio_dir |= 0x04;
4670 return 0;
4680 spec->mute_led_polarity = 0;
4681 spec->mute_led_coef.idx = 0x0b;
4684 spec->mute_led_coef.off = 0;
4696 spec->mute_led_polarity = 0;
4697 spec->mute_led_coef.idx = 0x34;
4699 spec->mute_led_coef.on = 0;
4711 spec->mute_led_polarity = 0;
4712 spec->mute_led_coef.idx = 0x07;
4715 spec->mute_led_coef.off = 0;
4727 spec->mute_led_polarity = 0;
4728 spec->mute_led_coef.idx = 0x0b;
4745 return 0;
4754 spec->mic_led_coef.idx = 0x19;
4757 spec->mic_led_coef.off = 0;
4769 alc_fixup_hp_gpio_led(codec, action, 0, 0x04);
4778 spec->mic_led_coef.idx = 0x35;
4813 spec->cap_mute_led_nid = 0x1a;
4829 alc_write_coef_idx(codec, 0x23, coefs[0]);
4830 alc_write_coef_idx(codec, 0x25, coefs[1]);
4831 alc_write_coef_idx(codec, 0x26, 0xb011);
4844 { 0x19, 0x00 }, { 0x20, 0xc0 }, { 0x22, 0x44 }, { 0x23, 0x08 },
4845 { 0x24, 0x85 }, { 0x25, 0x41 }, { 0x35, 0x40 }, { 0x36, 0x01 },
4846 { 0x38, 0x81 }, { 0x3a, 0x03 }, { 0x3b, 0x81 }, { 0x40, 0x3e },
4847 { 0x41, 0x07 }, { 0x400, 0x1 }
4850 { 0x3a, { { 0x18, 0x1 }, { 0x26, 0x0 } } },
4851 { 0x39, { { 0x18, 0x2 }, { 0x26, 0x1 } } }
4857 for (i = 0; i < ARRAY_SIZE(amps); i++) {
4858 alc_write_coef_idx(codec, 0x22, amps[i].nid);
4860 for (j = 0; j < ARRAY_SIZE(amps[i].init_seq); j++)
4863 for (j = 0; j < ARRAY_SIZE(init_seq); j++)
4877 input_report_key(spec->kb_dev, spec->alc_mute_keycode_map[ALC_KEY_MICMUTE_INDEX], 0);
4895 spec->kb_dev->evbit[0] = BIT_MASK(EV_KEY);
4896 spec->kb_dev->keycodesize = sizeof(spec->alc_mute_keycode_map[0]);
4899 for (i = 0; i < ARRAY_SIZE(spec->alc_mute_keycode_map); i++)
4909 return 0;
4922 alc_fixup_hp_gpio_led(codec, action, 0x08, 0x10);
4925 if (alc_register_micmute_input_device(codec) != 0)
4928 spec->gpio_mask |= 0x06;
4929 spec->gpio_dir |= 0x02;
4930 spec->gpio_data |= 0x02;
4931 snd_hda_codec_write_cache(codec, codec->core.afg, 0,
4932 AC_VERB_SET_GPIO_UNSOLICITED_RSP_MASK, 0x04);
4956 alc_fixup_hp_gpio_led(codec, action, 0, 0x04);
4959 if (alc_register_micmute_input_device(codec) != 0)
4962 snd_hda_jack_detect_enable_callback(codec, 0x1b,
4982 alc269_fixup_hp_mute_led_micx(codec, fix, action, 0x1a);
4984 spec->cap_mute_led_nid = 0x18;
5001 if (delay <= 0)
5003 snd_hda_codec_write(codec, 0x21, 0,
5006 snd_hda_codec_write(codec, 0x21, 0,
5007 AC_VERB_SET_PIN_WIDGET_CONTROL, 0x0);
5013 if (delay <= 0)
5015 snd_hda_codec_write(codec, 0x21, 0,
5018 snd_hda_codec_write(codec, 0x21, 0,
5024 UPDATE_COEF(0x4a, 1<<8, 0),
5025 UPDATE_COEFEX(0x57, 0x05, 1<<14, 0),
5026 UPDATE_COEF(0x63, 3<<14, 3<<14),
5027 UPDATE_COEF(0x4a, 3<<4, 2<<4),
5028 UPDATE_COEF(0x4a, 3<<10, 3<<10),
5029 UPDATE_COEF(0x45, 0x3f<<10, 0x34<<10),
5030 UPDATE_COEF(0x4a, 3<<10, 0),
5038 WRITE_COEF(0x1b, 0x0c0b), /* LDO and MISC control */
5039 WRITE_COEF(0x45, 0xd089), /* UAJ function set to menual mode */
5040 UPDATE_COEFEX(0x57, 0x05, 1<<14, 0), /* Direct Drive HP Amp control(Set to verb control)*/
5041 WRITE_COEF(0x06, 0x6104), /* Set MIC2 Vref gate with HP */
5042 WRITE_COEFEX(0x57, 0x03, 0x8aa6), /* Direct Drive HP Amp control */
5046 WRITE_COEF(0x1b, 0x0c4b), /* LDO and MISC control */
5047 WRITE_COEF(0x45, 0xd089), /* UAJ function set to menual mode */
5048 WRITE_COEF(0x06, 0x6104), /* Set MIC2 Vref gate with HP */
5049 WRITE_COEFEX(0x57, 0x03, 0x09a3), /* Direct Drive HP Amp control */
5050 UPDATE_COEFEX(0x57, 0x05, 1<<14, 0), /* Direct Drive HP Amp control(Set to verb control)*/
5054 WRITE_COEF(0x1b, 0x0c0b),
5055 WRITE_COEF(0x45, 0xc429),
5056 UPDATE_COEF(0x35, 0x4000, 0),
5057 WRITE_COEF(0x06, 0x2104),
5058 WRITE_COEF(0x1a, 0x0001),
5059 WRITE_COEF(0x26, 0x0004),
5060 WRITE_COEF(0x32, 0x42a3),
5064 UPDATE_COEF(0x4f, 0xfcc0, 0xc400),
5065 UPDATE_COEF(0x50, 0x2000, 0x2000),
5066 UPDATE_COEF(0x56, 0x0006, 0x0006),
5067 UPDATE_COEF(0x66, 0x0008, 0),
5068 UPDATE_COEF(0x67, 0x2000, 0),
5072 UPDATE_COEF(0x19, 0x1300, 0x0300),
5076 WRITE_COEF(0x76, 0x000e),
5077 WRITE_COEF(0x6c, 0x2400),
5078 WRITE_COEF(0x18, 0x7308),
5079 WRITE_COEF(0x6b, 0xc429),
5083 UPDATE_COEF(0x10, 7<<8, 6<<8), /* SET Line1 JD to 0 */
5084 UPDATE_COEFEX(0x57, 0x05, 1<<15|1<<13, 0x0), /* SET charge pump by verb */
5085 UPDATE_COEFEX(0x57, 0x03, 1<<10, 1<<10), /* SET EN_OSW to 1 */
5086 UPDATE_COEF(0x1a, 1<<3, 1<<3), /* Combo JD gating with LINE1-VREFO */
5087 WRITE_COEF(0x45, 0xc429), /* Set to TRS type */
5088 UPDATE_COEF(0x4a, 0x000f, 0x000e), /* Combo Jack auto detect */
5092 WRITE_COEF(0x15, 0x0d40),
5093 WRITE_COEF(0xb7, 0x802b),
5097 UPDATE_COEF(0x63, 3<<14, 0),
5101 UPDATE_COEF(0x4a, 0x0100, 0),
5102 UPDATE_COEFEX(0x57, 0x05, 0x4000, 0),
5103 UPDATE_COEF(0x6b, 0xf000, 0x5000),
5104 UPDATE_COEF(0x4a, 0x0010, 0),
5105 UPDATE_COEF(0x4a, 0x0c00, 0x0c00),
5106 WRITE_COEF(0x45, 0x5289),
5107 UPDATE_COEF(0x4a, 0x0c00, 0),
5112 alc_update_coef_idx(codec, 0x45, 0xf<<12 | 1<<10, 5<<12);
5117 case 0x10ec0255:
5120 case 0x10ec0230:
5121 case 0x10ec0236:
5122 case 0x10ec0256:
5123 case 0x19e58326:
5127 case 0x10ec0234:
5128 case 0x10ec0274:
5129 case 0x10ec0294:
5132 case 0x10ec0233:
5133 case 0x10ec0283:
5136 case 0x10ec0286:
5137 case 0x10ec0288:
5140 case 0x10ec0298:
5144 case 0x10ec0292:
5147 case 0x10ec0293:
5150 case 0x10ec0668:
5153 case 0x10ec0215:
5154 case 0x10ec0225:
5155 case 0x10ec0285:
5156 case 0x10ec0295:
5157 case 0x10ec0289:
5158 case 0x10ec0299:
5163 case 0x10ec0867:
5164 alc_update_coefex_idx(codec, 0x57, 0x5, 1<<14, 0);
5175 WRITE_COEFEX(0x57, 0x03, 0x8aa6),
5176 WRITE_COEF(0x06, 0x6100), /* Set MIC2 Vref gate to normal */
5180 UPDATE_COEFEX(0x57, 0x05, 1<<14, 1<<14), /* Direct Drive HP Amp control(Set to verb control)*/
5181 WRITE_COEFEX(0x57, 0x03, 0x09a3),
5182 WRITE_COEF(0x06, 0x6100), /* Set MIC2 Vref gate to normal */
5186 UPDATE_COEF(0x35, 0, 1<<14),
5187 WRITE_COEF(0x06, 0x2100),
5188 WRITE_COEF(0x1a, 0x0021),
5189 WRITE_COEF(0x26, 0x008c),
5193 UPDATE_COEF(0x4f, 0x00c0, 0),
5194 UPDATE_COEF(0x50, 0x2000, 0),
5195 UPDATE_COEF(0x56, 0x0006, 0),
5196 UPDATE_COEF(0x4f, 0xfcc0, 0xc400),
5197 UPDATE_COEF(0x66, 0x0008, 0x0008),
5198 UPDATE_COEF(0x67, 0x2000, 0x2000),
5202 WRITE_COEF(0x19, 0xa208),
5203 WRITE_COEF(0x2e, 0xacf0),
5207 UPDATE_COEFEX(0x57, 0x05, 0, 1<<15|1<<13), /* SET charge pump by verb */
5208 UPDATE_COEFEX(0x57, 0x03, 1<<10, 0), /* SET EN_OSW to 0 */
5209 UPDATE_COEF(0x1a, 1<<3, 0), /* Combo JD gating without LINE1-VREFO */
5213 WRITE_COEF(0xb7, 0x802b),
5214 WRITE_COEF(0xb5, 0x1040),
5215 UPDATE_COEF(0xc3, 0, 1<<12),
5219 UPDATE_COEFEX(0x57, 0x05, 1<<14, 1<<14),
5220 UPDATE_COEF(0x4a, 3<<4, 2<<4),
5221 UPDATE_COEF(0x63, 3<<14, 0),
5225 UPDATE_COEFEX(0x57, 0x05, 0x4000, 0x4000),
5226 UPDATE_COEF(0x4a, 0x0010, 0),
5227 UPDATE_COEF(0x6b, 0xf000, 0),
5232 case 0x10ec0255:
5233 alc_write_coef_idx(codec, 0x45, 0xc489);
5234 snd_hda_set_pin_ctl_cache(codec, hp_pin, 0);
5238 case 0x10ec0230:
5239 case 0x10ec0236:
5240 case 0x10ec0256:
5241 case 0x19e58326:
5242 alc_write_coef_idx(codec, 0x45, 0xc489);
5243 snd_hda_set_pin_ctl_cache(codec, hp_pin, 0);
5247 case 0x10ec0234:
5248 case 0x10ec0274:
5249 case 0x10ec0294:
5250 alc_write_coef_idx(codec, 0x45, 0x4689);
5251 snd_hda_set_pin_ctl_cache(codec, hp_pin, 0);
5255 case 0x10ec0233:
5256 case 0x10ec0283:
5257 alc_write_coef_idx(codec, 0x45, 0xc429);
5258 snd_hda_set_pin_ctl_cache(codec, hp_pin, 0);
5262 case 0x10ec0286:
5263 case 0x10ec0288:
5264 case 0x10ec0298:
5265 snd_hda_set_pin_ctl_cache(codec, hp_pin, 0);
5269 case 0x10ec0292:
5270 snd_hda_set_pin_ctl_cache(codec, hp_pin, 0);
5273 case 0x10ec0293:
5275 alc_write_coef_idx(codec, 0x45, 0xc429);
5276 snd_hda_set_pin_ctl_cache(codec, hp_pin, 0);
5280 case 0x10ec0867:
5281 alc_update_coefex_idx(codec, 0x57, 0x5, 0, 1<<14);
5283 case 0x10ec0221:
5284 case 0x10ec0662:
5285 snd_hda_set_pin_ctl_cache(codec, hp_pin, 0);
5288 case 0x10ec0668:
5289 alc_write_coef_idx(codec, 0x11, 0x0001);
5290 snd_hda_set_pin_ctl_cache(codec, hp_pin, 0);
5294 case 0x10ec0215:
5295 case 0x10ec0225:
5296 case 0x10ec0285:
5297 case 0x10ec0295:
5298 case 0x10ec0289:
5299 case 0x10ec0299:
5301 alc_update_coef_idx(codec, 0x45, 0x3f<<10, 0x31<<10);
5302 snd_hda_set_pin_ctl_cache(codec, hp_pin, 0);
5313 UPDATE_COEF(0x45, 0x3f<<10, 0x30<<10),
5314 UPDATE_COEF(0x45, 0x3f<<10, 0x31<<10),
5315 UPDATE_COEF(0x49, 3<<8, 0<<8),
5316 UPDATE_COEF(0x4a, 3<<4, 3<<4),
5317 UPDATE_COEF(0x63, 3<<14, 0),
5318 UPDATE_COEF(0x67, 0xf000, 0x3000),
5322 WRITE_COEF(0x45, 0xc089),
5323 WRITE_COEF(0x45, 0xc489),
5324 WRITE_COEFEX(0x57, 0x03, 0x8ea6),
5325 WRITE_COEF(0x49, 0x0049),
5329 WRITE_COEF(0x45, 0xc489),
5330 WRITE_COEFEX(0x57, 0x03, 0x0da3),
5331 WRITE_COEF(0x49, 0x0049),
5332 UPDATE_COEFEX(0x57, 0x05, 1<<14, 0), /* Direct Drive HP Amp control(Set to verb control)*/
5333 WRITE_COEF(0x06, 0x6100),
5337 WRITE_COEF(0x06, 0x2100),
5338 WRITE_COEF(0x32, 0x4ea3),
5342 UPDATE_COEF(0x4f, 0xfcc0, 0xc400), /* Set to TRS type */
5343 UPDATE_COEF(0x50, 0x2000, 0x2000),
5344 UPDATE_COEF(0x56, 0x0006, 0x0006),
5345 UPDATE_COEF(0x66, 0x0008, 0),
5346 UPDATE_COEF(0x67, 0x2000, 0),
5350 WRITE_COEF(0x76, 0x000e),
5351 WRITE_COEF(0x6c, 0x2400),
5352 WRITE_COEF(0x6b, 0xc429),
5353 WRITE_COEF(0x18, 0x7308),
5357 UPDATE_COEF(0x4a, 0x000f, 0x000e), /* Combo Jack auto detect */
5358 WRITE_COEF(0x45, 0xC429), /* Set to TRS type */
5359 UPDATE_COEF(0x1a, 1<<3, 0), /* Combo JD gating without LINE1-VREFO */
5363 WRITE_COEF(0x11, 0x0041),
5364 WRITE_COEF(0x15, 0x0d40),
5365 WRITE_COEF(0xb7, 0x802b),
5369 WRITE_COEF(0x45, 0x4289),
5370 UPDATE_COEF(0x4a, 0x0010, 0x0010),
5371 UPDATE_COEF(0x6b, 0x0f00, 0),
5372 UPDATE_COEF(0x49, 0x0300, 0x0300),
5377 case 0x10ec0215:
5378 case 0x10ec0225:
5379 case 0x10ec0285:
5380 case 0x10ec0295:
5381 case 0x10ec0289:
5382 case 0x10ec0299:
5387 case 0x10ec0255:
5390 case 0x10ec0230:
5391 case 0x10ec0236:
5392 case 0x10ec0256:
5393 case 0x19e58326:
5394 alc_write_coef_idx(codec, 0x1b, 0x0e4b);
5395 alc_write_coef_idx(codec, 0x45, 0xc089);
5400 case 0x10ec0234:
5401 case 0x10ec0274:
5402 case 0x10ec0294:
5405 case 0x10ec0233:
5406 case 0x10ec0283:
5409 case 0x10ec0286:
5410 case 0x10ec0288:
5411 case 0x10ec0298:
5414 case 0x10ec0292:
5417 case 0x10ec0293:
5420 case 0x10ec0668:
5423 case 0x10ec0867:
5424 alc_update_coefex_idx(codec, 0x57, 0x5, 1<<14, 0);
5436 WRITE_COEF(0x45, 0xd489), /* Set to CTIA type */
5437 WRITE_COEF(0x1b, 0x0c2b),
5438 WRITE_COEFEX(0x57, 0x03, 0x8ea6),
5442 WRITE_COEF(0x45, 0xd489), /* Set to CTIA type */
5443 WRITE_COEF(0x1b, 0x0e6b),
5447 WRITE_COEF(0x45, 0xd429),
5448 WRITE_COEF(0x1b, 0x0c2b),
5449 WRITE_COEF(0x32, 0x4ea3),
5453 UPDATE_COEF(0x50, 0x2000, 0x2000),
5454 UPDATE_COEF(0x56, 0x0006, 0x0006),
5455 UPDATE_COEF(0x66, 0x0008, 0),
5456 UPDATE_COEF(0x67, 0x2000, 0),
5460 WRITE_COEF(0x6b, 0xd429),
5461 WRITE_COEF(0x76, 0x0008),
5462 WRITE_COEF(0x18, 0x7388),
5466 WRITE_COEF(0x45, 0xd429), /* Set to ctia type */
5467 UPDATE_COEF(0x10, 7<<8, 7<<8), /* SET Line1 JD to 1 */
5471 WRITE_COEF(0x11, 0x0001),
5472 WRITE_COEF(0x15, 0x0d60),
5473 WRITE_COEF(0xc3, 0x0000),
5477 UPDATE_COEF(0x45, 0x3f<<10, 0x35<<10),
5478 UPDATE_COEF(0x63, 3<<14, 2<<14),
5482 UPDATE_COEF(0x45, 0x3f<<10, 0x35<<10),
5483 UPDATE_COEF(0x63, 3<<14, 1<<14),
5488 case 0x10ec0255:
5491 case 0x10ec0230:
5492 case 0x10ec0236:
5493 case 0x10ec0256:
5494 case 0x19e58326:
5498 case 0x10ec0234:
5499 case 0x10ec0274:
5500 case 0x10ec0294:
5501 alc_write_coef_idx(codec, 0x45, 0xd689);
5503 case 0x10ec0233:
5504 case 0x10ec0283:
5507 case 0x10ec0298:
5508 val = alc_read_coef_idx(codec, 0x50);
5510 alc_update_coef_idx(codec, 0x8e, 0x0070, 0x0020);
5511 alc_update_coef_idx(codec, 0x4f, 0xfcc0, 0xd400);
5514 alc_update_coef_idx(codec, 0x8e, 0x0070, 0x0010);
5515 alc_update_coef_idx(codec, 0x4f, 0xfcc0, 0xd400);
5519 case 0x10ec0286:
5520 case 0x10ec0288:
5521 alc_update_coef_idx(codec, 0x4f, 0xfcc0, 0xd400);
5525 case 0x10ec0292:
5528 case 0x10ec0293:
5531 case 0x10ec0668:
5534 case 0x10ec0215:
5535 case 0x10ec0225:
5536 case 0x10ec0285:
5537 case 0x10ec0295:
5538 case 0x10ec0289:
5539 case 0x10ec0299:
5540 val = alc_read_coef_idx(codec, 0x45);
5547 case 0x10ec0867:
5548 alc_update_coefex_idx(codec, 0x57, 0x5, 1<<14, 0);
5558 WRITE_COEF(0x45, 0xe489), /* Set to OMTP Type */
5559 WRITE_COEF(0x1b, 0x0c2b),
5560 WRITE_COEFEX(0x57, 0x03, 0x8ea6),
5564 WRITE_COEF(0x45, 0xe489), /* Set to OMTP Type */
5565 WRITE_COEF(0x1b, 0x0e6b),
5569 WRITE_COEF(0x45, 0xe429),
5570 WRITE_COEF(0x1b, 0x0c2b),
5571 WRITE_COEF(0x32, 0x4ea3),
5575 UPDATE_COEF(0x50, 0x2000, 0x2000),
5576 UPDATE_COEF(0x56, 0x0006, 0x0006),
5577 UPDATE_COEF(0x66, 0x0008, 0),
5578 UPDATE_COEF(0x67, 0x2000, 0),
5582 WRITE_COEF(0x6b, 0xe429),
5583 WRITE_COEF(0x76, 0x0008),
5584 WRITE_COEF(0x18, 0x7388),
5588 WRITE_COEF(0x45, 0xe429), /* Set to omtp type */
5589 UPDATE_COEF(0x10, 7<<8, 7<<8), /* SET Line1 JD to 1 */
5593 WRITE_COEF(0x11, 0x0001),
5594 WRITE_COEF(0x15, 0x0d50),
5595 WRITE_COEF(0xc3, 0x0000),
5599 UPDATE_COEF(0x45, 0x3f<<10, 0x39<<10),
5600 UPDATE_COEF(0x63, 3<<14, 2<<14),
5605 case 0x10ec0255:
5608 case 0x10ec0230:
5609 case 0x10ec0236:
5610 case 0x10ec0256:
5611 case 0x19e58326:
5615 case 0x10ec0234:
5616 case 0x10ec0274:
5617 case 0x10ec0294:
5618 alc_write_coef_idx(codec, 0x45, 0xe689);
5620 case 0x10ec0233:
5621 case 0x10ec0283:
5624 case 0x10ec0298:
5625 alc_update_coef_idx(codec, 0x8e, 0x0070, 0x0010);/* Headset output enable */
5626 alc_update_coef_idx(codec, 0x4f, 0xfcc0, 0xe400);
5629 case 0x10ec0286:
5630 case 0x10ec0288:
5631 alc_update_coef_idx(codec, 0x4f, 0xfcc0, 0xe400);
5635 case 0x10ec0292:
5638 case 0x10ec0293:
5641 case 0x10ec0668:
5644 case 0x10ec0215:
5645 case 0x10ec0225:
5646 case 0x10ec0285:
5647 case 0x10ec0295:
5648 case 0x10ec0289:
5649 case 0x10ec0299:
5663 WRITE_COEF(0x45, 0xd089), /* combo jack auto switch control(Check type)*/
5664 WRITE_COEF(0x49, 0x0149), /* combo jack auto switch control(Vref
5669 UPDATE_COEF(0x4f, 0xfcc0, 0xd400), /* Check Type */
5673 UPDATE_COEF(0x50, 0x2000, 0x2000),
5674 UPDATE_COEF(0x56, 0x0006, 0x0006),
5675 UPDATE_COEF(0x66, 0x0008, 0),
5676 UPDATE_COEF(0x67, 0x2000, 0),
5677 UPDATE_COEF(0x19, 0x1300, 0x1300),
5681 UPDATE_COEF(0x4a, 0x000f, 0x0008), /* Combo Jack auto detect */
5682 WRITE_COEF(0x45, 0xD429), /* Set to ctia type */
5686 WRITE_COEF(0x11, 0x0001),
5687 WRITE_COEF(0xb7, 0x802b),
5688 WRITE_COEF(0x15, 0x0d60),
5689 WRITE_COEF(0xc3, 0x0c00),
5693 UPDATE_COEF(0x4a, 0x0010, 0),
5694 UPDATE_COEF(0x4a, 0x8000, 0),
5695 WRITE_COEF(0x45, 0xd289),
5696 UPDATE_COEF(0x49, 0x0300, 0x0300),
5701 alc_update_coef_idx(codec, 0x45, 0xf<<12 | 1<<10, 5<<12);
5706 case 0x10ec0255:
5709 val = alc_read_coef_idx(codec, 0x46);
5710 is_ctia = (val & 0x0070) == 0x0070;
5712 case 0x10ec0230:
5713 case 0x10ec0236:
5714 case 0x10ec0256:
5715 case 0x19e58326:
5716 alc_write_coef_idx(codec, 0x1b, 0x0e4b);
5717 alc_write_coef_idx(codec, 0x06, 0x6104);
5718 alc_write_coefex_idx(codec, 0x57, 0x3, 0x09a3);
5722 val = alc_read_coef_idx(codec, 0x46);
5723 is_ctia = (val & 0x0070) == 0x0070;
5725 alc_write_coef_idx(codec, 0x45, 0xe089);
5727 val = alc_read_coef_idx(codec, 0x46);
5728 if ((val & 0x0070) == 0x0070)
5733 alc_write_coefex_idx(codec, 0x57, 0x3, 0x0da3);
5734 alc_update_coefex_idx(codec, 0x57, 0x5, 1<<14, 0);
5736 case 0x10ec0234:
5737 case 0x10ec0274:
5738 case 0x10ec0294:
5741 val = alc_read_coef_idx(codec, 0x46);
5742 is_ctia = (val & 0x00f0) == 0x00f0;
5744 case 0x10ec0233:
5745 case 0x10ec0283:
5746 alc_write_coef_idx(codec, 0x45, 0xd029);
5748 val = alc_read_coef_idx(codec, 0x46);
5749 is_ctia = (val & 0x0070) == 0x0070;
5751 case 0x10ec0298:
5752 snd_hda_codec_write(codec, 0x21, 0,
5755 snd_hda_codec_write(codec, 0x21, 0,
5756 AC_VERB_SET_PIN_WIDGET_CONTROL, 0x0);
5759 val = alc_read_coef_idx(codec, 0x50);
5761 alc_update_coef_idx(codec, 0x8e, 0x0070, 0x0020);
5764 val = alc_read_coef_idx(codec, 0x50);
5765 is_ctia = (val & 0x0070) == 0x0070;
5767 alc_update_coef_idx(codec, 0x8e, 0x0070, 0x0010);
5770 val = alc_read_coef_idx(codec, 0x50);
5771 is_ctia = (val & 0x0070) == 0x0070;
5774 snd_hda_codec_write(codec, 0x21, 0,
5777 snd_hda_codec_write(codec, 0x21, 0,
5780 case 0x10ec0286:
5781 case 0x10ec0288:
5784 val = alc_read_coef_idx(codec, 0x50);
5785 is_ctia = (val & 0x0070) == 0x0070;
5787 case 0x10ec0292:
5788 alc_write_coef_idx(codec, 0x6b, 0xd429);
5790 val = alc_read_coef_idx(codec, 0x6c);
5791 is_ctia = (val & 0x001c) == 0x001c;
5793 case 0x10ec0293:
5796 val = alc_read_coef_idx(codec, 0x46);
5797 is_ctia = (val & 0x0070) == 0x0070;
5799 case 0x10ec0668:
5802 val = alc_read_coef_idx(codec, 0xbe);
5803 is_ctia = (val & 0x1c02) == 0x1c02;
5805 case 0x10ec0215:
5806 case 0x10ec0225:
5807 case 0x10ec0285:
5808 case 0x10ec0295:
5809 case 0x10ec0289:
5810 case 0x10ec0299:
5812 alc_update_coef_idx(codec, 0x67, 0xf000, 0x1000);
5813 val = alc_read_coef_idx(codec, 0x45);
5815 alc_update_coef_idx(codec, 0x45, 0x3f<<10, 0x34<<10);
5816 alc_update_coef_idx(codec, 0x49, 3<<8, 2<<8);
5818 val = alc_read_coef_idx(codec, 0x46);
5819 is_ctia = (val & 0x00f0) == 0x00f0;
5821 alc_update_coef_idx(codec, 0x45, 0x3f<<10, 0x34<<10);
5822 alc_update_coef_idx(codec, 0x49, 3<<8, 1<<8);
5824 val = alc_read_coef_idx(codec, 0x46);
5825 is_ctia = (val & 0x00f0) == 0x00f0;
5828 alc_update_coef_idx(codec, 0x45, 0x3f<<10, 0x38<<10);
5829 alc_update_coef_idx(codec, 0x49, 3<<8, 1<<8);
5831 val = alc_read_coef_idx(codec, 0x46);
5832 if ((val & 0x00f0) == 0x00f0)
5837 alc_update_coef_idx(codec, 0x4a, 7<<6, 7<<6);
5838 alc_update_coef_idx(codec, 0x4a, 3<<4, 3<<4);
5839 alc_update_coef_idx(codec, 0x67, 0xf000, 0x3000);
5841 case 0x10ec0867:
5855 hda_nid_t mux_pin = spec->gen.imux_pins[spec->gen.cur_mux[0]];
5932 for (i = 0; i < cfg->num_inputs; i++) {
5982 WRITE_COEF(0x1b, 0x880b),
5983 WRITE_COEF(0x45, 0xd089),
5984 WRITE_COEF(0x1b, 0x080b),
5985 WRITE_COEF(0x46, 0x0004),
5986 WRITE_COEF(0x1b, 0x0c0b),
5990 WRITE_COEF(0x1b, 0x884b),
5991 WRITE_COEF(0x45, 0xd089),
5992 WRITE_COEF(0x1b, 0x084b),
5993 WRITE_COEF(0x46, 0x0004),
5994 WRITE_COEF(0x1b, 0x0c4b),
5998 case 0x10ec0255:
6001 case 0x10ec0230:
6002 case 0x10ec0236:
6003 case 0x10ec0256:
6004 case 0x19e58326:
6039 alc_update_gpio_data(codec, 0x40, spec->gen.hp_jack_present);
6049 spec->gpio_mask |= 0x40;
6050 spec->gpio_dir |= 0x40;
6079 spec->gen.mixer_nid = 0;
6088 { 0x16, 0x21211010 }, /* dock headphone */
6089 { 0x19, 0x21a11010 }, /* dock mic */
6096 codec->power_save_node = 0; /* avoid click noises */
6105 { 0x17, 0x21211010 }, /* dock headphone */
6106 { 0x19, 0x21a11010 }, /* dock mic */
6116 snd_hda_codec_write(codec, 0x17, 0,
6117 AC_VERB_SET_CONFIG_DEFAULT_BYTES_3, 0);
6119 snd_hda_codec_write(codec, 0x19, 0,
6120 AC_VERB_SET_CONFIG_DEFAULT_BYTES_3, 0);
6127 /* Assure the speaker pin to be coupled with DAC NID 0x03; otherwise
6132 0x14, 0x03, 0x17, 0x02, 0x21, 0x02,
6133 0
6145 0x17, 0x02, 0x21, 0x03, 0
6159 snd_hda_codec_write(codec, hp_pin, 0,
6173 /* mic pin 0x19 must be initialized with Vref Hi-Z, otherwise
6176 snd_hda_codec_set_pin_target(codec, 0x19, PIN_VREFHIZ);
6181 for (i = 0; i < imux->num_items; i++) {
6182 if (spec->gen.imux_pins[i] == 0x12) {
6183 spec->gen.cur_mux[0] = i;
6201 from quirks that guarantee that the headphone is at NID 0x1b.) */
6202 snd_hda_codec_write(codec, 0x1b, 0, AC_VERB_SET_AMP_GAIN_MUTE, 0x7000);
6203 snd_hda_override_wcaps(codec, 0x1b, get_wcaps(codec, 0x1b) & ~AC_WCAP_IN_AMP);
6212 alc_write_coef_idx(codec, 0xc4, 0x8000);
6213 alc_update_coef_idx(codec, 0xc2, ~0xfe, 0);
6214 snd_hda_set_pin_ctl_cache(codec, 0x18, 0);
6219 /* Returns the nid of the external mic input pin, or 0 if it cannot be found. */
6228 for (i = 0; i < cfg->num_inputs; i++) {
6238 return 0;
6267 Therefore limit the boost to 0 or 1. */
6272 for (i = 0; i < cfg->num_inputs; i++) {
6282 (0x00 << AC_AMPCAP_OFFSET_SHIFT) |
6283 (0x01 << AC_AMPCAP_NUM_STEPS_SHIFT) |
6284 (0x2f << AC_AMPCAP_STEP_SIZE_SHIFT) |
6285 (0 << AC_AMPCAP_MUTE_SHIFT));
6298 vref = spec->gen.hp_jack_present ? PIN_VREF80 : 0;
6301 snd_hda_codec_write(codec, 0x19, 0, AC_VERB_SET_PIN_WIDGET_CONTROL,
6312 snd_hda_override_wcaps(codec, 0x03, 0);
6314 spec->gen.mixer_nid = 0;
6319 alc_update_coef_idx(codec, 0x06, 0x000c, 0);
6321 alc_update_coef_idx(codec, 0x1a, 0, 1 << 4);
6338 alc_update_coef_idx(codec, 0x06, 0x000c, 0);
6343 /* mute tablet speaker pin (0x14) via dock plugging in addition */
6348 if (snd_hda_jack_detect(codec, 0x1b))
6349 spec->gen.mute_bits |= (1ULL << 0x14);
6357 { 0x1b, 0x21114000 }, /* dock speaker pin */
6365 alc_setup_gpio(codec, 0x04);
6369 snd_hda_jack_detect_enable_callback(codec, 0x1b,
6391 /* DAC node 0x03 is giving mono output. We therefore want to
6392 make sure 0x14 (front speaker) and 0x15 (headphones) use the
6393 stereo DAC, while leaving 0x17 (bass speaker) for node 0x03. */
6394 static const hda_nid_t conn1[] = { 0x0c };
6395 snd_hda_override_conn_list(codec, 0x14, ARRAY_SIZE(conn1), conn1);
6396 snd_hda_override_conn_list(codec, 0x15, ARRAY_SIZE(conn1), conn1);
6404 /* The speaker is routed to the Node 0x06 by a mistake, as a result
6407 Node 0x02 (Audio Output) -> Node 0x0c (Audio Mixer) -> Node 0x17 (
6408 Pin Complex), since Node 0x02 has Amp-out caps, we can adjust
6411 static const hda_nid_t conn1[] = { 0x0c };
6412 snd_hda_override_conn_list(codec, 0x17, ARRAY_SIZE(conn1), conn1);
6416 /* disable DAC3 (0x06) selection on NID 0x17 as it has no volume amp control */
6421 static const hda_nid_t conn[] = { 0x02, 0x03 };
6422 snd_hda_override_conn_list(codec, 0x17, ARRAY_SIZE(conn), conn);
6426 /* force NID 0x17 (Bass Speaker) to DAC1 to share it with the main speaker */
6431 static const hda_nid_t conn[] = { 0x02 };
6432 snd_hda_override_conn_list(codec, 0x17, ARRAY_SIZE(conn), conn);
6443 /* mute_led_polarity is set to 0, so we pass inverted value here */
6444 alc_update_gpio_led(codec, 0x10, spec->mute_led_polarity,
6460 alc_fixup_hp_gpio_led(codec, action, 0x08, 0);
6463 spec->gpio_mask |= 0x10;
6464 spec->gpio_dir |= 0x10;
6476 spec->gpio_mask |= 0x04;
6477 spec->gpio_dir |= 0x04;
6484 * DAC1 (NID 0x02) -> Speaker (NID 0x14); some eq applied secretly
6485 * DAC2 (NID 0x03) -> Bass (NID 0x17) & Headphone (NID 0x21); sharing a DAC
6486 * DAC3 (NID 0x06) -> Unused, due to the lack of volume amp
6491 static const hda_nid_t conn[] = { 0x02, 0x03 }; /* exclude 0x06 */
6493 0x14, 0x02, 0x17, 0x03, 0x21, 0x03, 0
6499 snd_hda_override_conn_list(codec, 0x17, ARRAY_SIZE(conn), conn);
6528 codec->addr == 0 ?
6532 codec->addr == 0 ?
6548 /* Forcibly assign NID 0x03 to HP/LO while NID 0x02 to SPK for EQ */
6554 0x21, 0x03, 0x1b, 0x03, 0x16, 0x02,
6555 0
6563 codec->power_save_node = 0;
6566 /* avoid DAC 0x06 for bass speaker 0x17; it has no volume control */
6571 0x14, 0x02, 0x17, 0x02, 0x21, 0x03, 0
6581 /* The DAC of NID 0x3 will introduce click/pop noise on headphones, so invalidate it */
6588 snd_hda_override_wcaps(codec, 0x03, 0);
6594 case 0x10ec0274:
6595 case 0x10ec0294:
6596 case 0x10ec0225:
6597 case 0x10ec0295:
6598 case 0x10ec0299:
6599 alc_update_coef_idx(codec, 0x4a, 0x8000, 1 << 15); /* Reset HP JD */
6600 alc_update_coef_idx(codec, 0x4a, 0x8000, 0 << 15);
6602 case 0x10ec0230:
6603 case 0x10ec0235:
6604 case 0x10ec0236:
6605 case 0x10ec0255:
6606 case 0x10ec0256:
6607 case 0x10ec0257:
6608 case 0x19e58326:
6609 alc_update_coef_idx(codec, 0x1b, 0x8000, 1 << 15); /* Reset HP JD */
6610 alc_update_coef_idx(codec, 0x1b, 0x8000, 0 << 15);
6634 snd_hda_codec_set_pin_target(codec, 0x19, PIN_VREFHIZ);
6642 * it appears to leave 0x10 = 0x8a20 set. For Linux we need to toggle it
6644 if (snd_hda_jack_detect_state(codec, 0x21) == HDA_JACK_PRESENT)
6645 alc_write_coef_idx(codec, 0x10, 0x8a20);
6647 alc_write_coef_idx(codec, 0x10, 0x0a20);
6653 /* Pin 0x21: headphones/headset mic */
6654 if (!is_jack_detectable(codec, 0x21))
6659 snd_hda_jack_detect_enable_callback(codec, 0x21,
6674 /* Windows sets 0x10 to 0x8420 for Node 0x20 which is
6677 if (snd_hda_jack_detect_state(codec, 0x21) == HDA_JACK_PRESENT)
6678 alc_write_coef_idx(codec, 0x10, 0x8420);
6680 alc_write_coef_idx(codec, 0x10, 0x0a20);
6686 if (!is_jack_detectable(codec, 0x21))
6691 snd_hda_jack_detect_enable_callback(codec, 0x21,
6707 alc_write_coef_idx(codec, 0x65, 0x0);
6728 alc_update_coef_idx(codec, 0x45, 0xf<<12 | 1<<10, 5<<12);
6743 static const hda_nid_t conn[] = { 0x02 };
6747 { 0x14, 0x90170110 }, /* front/high speakers */
6748 { 0x17, 0x90170130 }, /* back/bass speakers */
6753 alc_fixup_hp_gpio_led(codec, action, 0x00, 0x04);
6759 spec->gpio_mask |= 0x01;
6760 spec->gpio_dir |= 0x01;
6763 snd_hda_override_conn_list(codec, 0x14, ARRAY_SIZE(conn), conn);
6764 snd_hda_override_conn_list(codec, 0x17, ARRAY_SIZE(conn), conn);
6768 alc_update_gpio_data(codec, 0x01, true);
6770 alc_update_gpio_data(codec, 0x01, false);
6778 static const hda_nid_t conn[] = { 0x02 };
6780 { 0x14, 0x90170110 }, /* rear speaker */
6788 snd_hda_override_conn_list(codec, 0x17, ARRAY_SIZE(conn), conn);
6798 WRITE_COEF(0x08, 0x6a0c), WRITE_COEF(0x0d, 0xa023),
6799 WRITE_COEF(0x10, 0x0320), WRITE_COEF(0x1a, 0x8c03),
6800 WRITE_COEF(0x25, 0x1800), WRITE_COEF(0x26, 0x003a),
6801 WRITE_COEF(0x28, 0x1dfe), WRITE_COEF(0x29, 0xb014),
6802 WRITE_COEF(0x2b, 0x1dfe), WRITE_COEF(0x37, 0xfe15),
6803 WRITE_COEF(0x38, 0x7909), WRITE_COEF(0x45, 0xd489),
6804 WRITE_COEF(0x46, 0x00f4), WRITE_COEF(0x4a, 0x21e0),
6805 WRITE_COEF(0x66, 0x03f0), WRITE_COEF(0x67, 0x1000),
6806 WRITE_COEF(0x6e, 0x1005), { }
6810 { 0x12, 0xb7a60130 }, /* Internal microphone*/
6811 { 0x14, 0x90170150 }, /* B&O soundbar speakers */
6812 { 0x17, 0x90170153 }, /* Side speakers */
6813 { 0x19, 0x03a11040 }, /* Headset microphone */
6825 snd_hda_codec_amp_stereo(codec, 0x21, HDA_OUTPUT, 0, -1, 0);
6828 snd_hda_jack_set_gating_jack(codec, 0x19, 0x21);
6831 snd_hda_codec_set_pin_target(codec, 0x19, PIN_VREF50);
6898 for (i = 0; i < HDA_MAX_COMPONENTS; i++) {
6902 for (i = 0; i < HDA_MAX_COMPONENTS; i++) {
6906 for (i = 0; i < HDA_MAX_COMPONENTS; i++) {
6928 return 0;
6947 return 0;
6967 for (i = 0; i < count; i++) {
7005 rec->index = 0;
7006 spec->comps[0].codec = cdc;
7065 WRITE_COEF(0x10, 0x0020), WRITE_COEF(0x24, 0x0000),
7066 WRITE_COEF(0x26, 0x0000), WRITE_COEF(0x29, 0x3000),
7067 WRITE_COEF(0x37, 0xfe05), WRITE_COEF(0x45, 0x5089),
7087 WRITE_COEF(0x1a, 0x9003), WRITE_COEF(0x1b, 0x0e2b), WRITE_COEF(0x37, 0xfe06),
7088 WRITE_COEF(0x38, 0x4981), WRITE_COEF(0x45, 0xd489), WRITE_COEF(0x46, 0x0074),
7089 WRITE_COEF(0x49, 0x0149),
7113 * but uses the 0x8686 subproduct id in both cases. The ALC256 codec
7116 if (codec->core.vendor_id == 0x10ec0256) {
7117 alc_update_coef_idx(codec, 0x10, 1<<9, 0);
7118 snd_hda_codec_set_pincfg(codec, 0x19, 0x04a11120);
7120 snd_hda_codec_set_pincfg(codec, 0x1a, 0x04a1113c);
7137 * Set the vref of pin 0x19 (Headset Mic) and pin 0x1b (Headphone Mic)
7141 snd_hda_codec_set_pin_target(codec, 0x19, PIN_VREFHIZ);
7142 snd_hda_codec_set_pin_target(codec, 0x1b, PIN_VREFHIZ);
7146 * Make the internal mic (0x12) the default input source to
7149 for (i = 0; i < imux->num_items; i++) {
7150 if (spec->gen.imux_pins[i] == 0x12) {
7151 spec->gen.cur_mux[0] = i;
7163 * The Pin Complex 0x17 for the bass speakers is wrongly reported as
7167 { 0x17, 0x90170121 },
7171 * Avoid DAC 0x06 and 0x08, as they have no volume controls.
7172 * DAC 0x02 and 0x03 would be fine.
7174 static const hda_nid_t conn[] = { 0x02, 0x03 };
7176 * Prefer both speakerbar (0x14) and bass speakers (0x17) connected to DAC 0x02.
7177 * Headphones (0x21) are connected to DAC 0x03.
7180 0x14, 0x02,
7181 0x17, 0x02,
7182 0x21, 0x03,
7183 0
7190 snd_hda_override_conn_list(codec, 0x17, ARRAY_SIZE(conn), conn);
7200 { 0x14, 0x90170151 },
7201 { 0x17, 0x90170150 },
7204 static const hda_nid_t conn[] = { 0x02, 0x03 };
7206 0x14, 0x02,
7207 0x17, 0x03,
7208 0x21, 0x02,
7209 0
7218 snd_hda_override_conn_list(codec, 0x17, ARRAY_SIZE(conn), conn);
7224 /* Forcibly assign NID 0x03 to HP while NID 0x02 to SPK */
7229 static const hda_nid_t conn[] = { 0x02, 0x03 }; /* exclude 0x06 */
7231 0x17, 0x02, 0x21, 0x03, 0
7237 snd_hda_override_conn_list(codec, 0x17, ARRAY_SIZE(conn), conn);
7240 if (spec->gen.autocfg.speaker_pins[0] != 0x14) {
7241 snd_hda_codec_write_cache(codec, 0x14, 0, AC_VERB_SET_PIN_WIDGET_CONTROL,
7242 0x0); /* Make sure 0x14 was disable */
7251 { 0x19, 0x03a1103c },
7258 alc_update_coef_idx(codec, 0x45, 0xf<<12 | 1<<10, 5<<12);
7557 if (codec->core.vendor_id == 0x10ec0298)
7561 __snd_hda_apply_fixup(codec, id, action, 0);
7577 if (codec->core.subsystem_id == 0x17aa3802)
7581 __snd_hda_apply_fixup(codec, id, action, 0);
7592 {0x19, PIN_VREFGRD},
7606 {0x20, AC_VERB_SET_COEF_INDEX, 13},
7607 {0x20, AC_VERB_SET_PROC_COEF, 0x4040},
7618 { 0x17, 0x99130111 }, /* subwoofer */
7625 { 0x19, 0x03A11050 },
7626 { 0x1a, 0x03A11C30 },
7627 { 0x21, 0x03211420 },
7634 {0x20, AC_VERB_SET_COEF_INDEX, 0x62},
7635 {0x20, AC_VERB_SET_PROC_COEF, 0xa007},
7636 {0x20, AC_VERB_SET_COEF_INDEX, 0x10},
7637 {0x20, AC_VERB_SET_PROC_COEF, 0x8420},
7638 {0x20, AC_VERB_SET_COEF_INDEX, 0x0f},
7639 {0x20, AC_VERB_SET_PROC_COEF, 0x7774},
7648 {0x14, AC_VERB_SET_EAPD_BTLENABLE, 0},
7689 { 0x1a, 0x2101103f }, /* dock line-out */
7690 { 0x1b, 0x23a11040 }, /* dock mic-in */
7699 { 0x19, 0x01a1903c }, /* headset mic, with jack detect */
7706 { 0x21, 0x0221102f }, /* HP out */
7721 { 0x14, 0x90170151 }, /* use as internal speaker (LFE) */
7722 { 0x1b, 0x90170152 }, /* use as internal speaker (back) */
7731 { 0x1b, 0x90170150 }, /* use as internal speaker */
7740 { 0x18, 0x03a19020 }, /* headset mic */
7741 { 0x1b, 0x90170150 }, /* speaker */
7748 { 0x14, 0x99130110 }, /* speaker */
7749 { 0x15, 0x0121401f }, /* HP out */
7750 { 0x18, 0x01a19c20 }, /* mic */
7751 { 0x19, 0x99a3092f }, /* int-mic */
7758 { 0x12, 0x99a3092f }, /* int-mic */
7759 { 0x14, 0x99130110 }, /* speaker */
7760 { 0x15, 0x0121401f }, /* HP out */
7761 { 0x18, 0x01a19c20 }, /* mic */
7768 { 0x14, 0x99130110 }, /* speaker */
7769 { 0x18, 0x01a19c20 }, /* mic */
7770 { 0x19, 0x99a3092f }, /* int-mic */
7771 { 0x21, 0x0121401f }, /* HP out */
7778 { 0x12, 0x99a3092f }, /* int-mic */
7779 { 0x14, 0x99130110 }, /* speaker */
7780 { 0x18, 0x01a19c20 }, /* mic */
7781 { 0x21, 0x0121401f }, /* HP out */
7826 { 0x19, 0x23a11040 }, /* dock mic */
7827 { 0x1b, 0x2121103f }, /* dock headphone */
7848 { 0x19, 0x01a1913c }, /* use as headset mic, without its own jack detect */
7849 { 0x1a, 0x01a1913d }, /* use as headphone mic, without its own jack detect */
7864 { 0x16, 0x21014020 }, /* dock line out */
7865 { 0x19, 0x21a19030 }, /* dock mic */
7866 { 0x1a, 0x01a1913c }, /* use as headset mic, without its own jack detect */
7875 { 0x1a, 0x01a1913c }, /* use as headset mic, without its own jack detect */
7884 { 0x19, 0x01a1913c }, /* use as headset mic, without its own jack detect */
7885 { 0x1b, 0x01a1913d }, /* use as headphone mic, without its own jack detect */
7904 { 0x19, 0x01a1913c }, /* headset mic w/o jack detect */
7913 { 0x18, 0x01a1913c }, /* use as headset mic, without its own jack detect */
7922 {0x12, 0x90a60130},
7923 {0x13, 0x40000000},
7924 {0x14, 0x90170110},
7925 {0x18, 0x411111f0},
7926 {0x19, 0x04a11040},
7927 {0x1a, 0x411111f0},
7928 {0x1b, 0x90170112},
7929 {0x1d, 0x40759a05},
7930 {0x1e, 0x411111f0},
7931 {0x21, 0x04211020},
7950 {0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, 0},
7951 {0x20, AC_VERB_SET_COEF_INDEX, 0x08},
7952 {0x20, AC_VERB_SET_PROC_COEF, 0x0310},
7961 { 0x18, 0x04a1182c }, /* Headset mic */
7970 { 0x14, 0x99130110 }, /* speaker */
7971 { 0x19, 0x01a19c20 }, /* mic */
7972 { 0x1b, 0x99a7012f }, /* int-mic */
7973 { 0x21, 0x0121401f }, /* HP out */
7992 { 0x12, 0x99a3092f }, /* int-mic */
7993 { 0x14, 0x99130110 }, /* speaker */
7994 { 0x18, 0x03a11c20 }, /* mic */
7995 { 0x1e, 0x0346101e }, /* SPDIF1 */
7996 { 0x21, 0x0321101f }, /* HP out */
8018 { 0x20, AC_VERB_SET_COEF_INDEX, 0x12 },
8019 { 0x20, AC_VERB_SET_PROC_COEF, 0x2800 },
8028 { 0x18, 0x01a110f0 }, /* use as headset mic */
8043 { 0x12, 0x99a3092f }, /* int-mic */
8044 { 0x18, 0x03a11d20 }, /* mic */
8045 { 0x19, 0x411111f0 }, /* Unused bogus pin */
8066 {0x20, AC_VERB_SET_COEF_INDEX, 0x1a},
8067 {0x20, AC_VERB_SET_PROC_COEF, 0x0011},
8076 { 0x17, 0x90170112 }, /* subwoofer */
8085 { 0x17, 0x90170112 }, /* subwoofer */
8116 { 0x19, 0x01a1913c }, /* use as headset mic, without its own jack detect */
8125 { 0x19, 0x01a1913c }, /* use as headset mic, without its own jack detect */
8134 { 0x19, 0x01a1913c }, /* use as headset mic, without its own jack detect */
8135 { 0x1a, 0x01a1913d }, /* use as headphone mic, without its own jack detect */
8150 { 0x19, 0x01a1913c }, /* use as headset mic, without its own jack detect */
8169 { 0x18, 0x01a1913d }, /* use as headphone mic, without its own jack detect */
8170 { 0x1a, 0x01a1913c }, /* use as headset mic, without its own jack detect */
8191 { 0x19, 0x04a110f0 },
8202 { 0x12, 0x90a60130 },
8203 { 0x14, 0x90170110 },
8204 { 0x17, 0x40000008 },
8205 { 0x18, 0x411111f0 },
8206 { 0x19, 0x01a1913c },
8207 { 0x1a, 0x411111f0 },
8208 { 0x1b, 0x411111f0 },
8209 { 0x1d, 0x40f89b2d },
8210 { 0x1e, 0x411111f0 },
8211 { 0x21, 0x0321101f },
8234 { 0x1b, 0x21011020 }, /* line-out */
8235 { 0x1a, 0x01a1903c }, /* headset mic */
8236 { 0x18, 0x2181103f }, /* line-in */
8245 { 0x1b, 0x21011020 }, /* line-out */
8246 { 0x18, 0x2181103f }, /* line-in */
8271 { 0x18, 0x01a1913c }, /* use as headset mic, without its own jack detect */
8272 { 0x1a, 0x01a1913d }, /* use as headphone mic, without its own jack detect */
8318 { 0x18, 0x01a1913c }, /* headset mic w/o jack detect */
8327 { 0x18, 0x01a1913c }, /* use as headset mic, without its own jack detect */
8328 { 0x1a, 0x01a1913d }, /* use as headphone mic, without its own jack detect */
8337 { 0x18, 0x01a1913c }, /* use as headset mic, without its own jack detect */
8347 {0x20, AC_VERB_SET_COEF_INDEX, 0x1f},
8348 {0x20, AC_VERB_SET_PROC_COEF, 0x00c0},
8349 {0x20, AC_VERB_SET_COEF_INDEX, 0x30},
8350 {0x20, AC_VERB_SET_PROC_COEF, 0x00b1},
8394 { 0x20, AC_VERB_SET_COEF_INDEX, 0x36 },
8395 { 0x20, AC_VERB_SET_PROC_COEF, 0x57d7 },
8410 { 0x19, 0x02a19020 }, /* Front Mic */
8449 { 0x19, 0x03a11050 },
8450 { 0x1b, 0x03a11c30 },
8459 { 0x14, 0x90170120 },
8474 { 0x19, 0x03a11050 },
8475 { 0x1b, 0x03a11c30 },
8484 { 0x1b, 0x90170151 },
8499 { 0x19, 0x01a1913c }, /* use as headset mic, without its own jack detect */
8500 { 0x1a, 0x01813030 }, /* use as headphone mic, without its own jack detect */
8509 { 0x18, 0x01a1913c }, /* use as headset mic, without its own jack detect */
8510 { 0x1a, 0x01a1913d }, /* use as headphone mic, without its own jack detect */
8523 { 0x13, 0x90a60160 }, /* use as internal mic */
8524 { 0x19, 0x04a11120 }, /* use as headset mic, without its own jack detect */
8538 { 0x19, 0x01a1913c }, /* use as headset mic, without its own jack detect */
8548 {0x20, AC_VERB_SET_COEF_INDEX, 0x40},
8549 {0x20, AC_VERB_SET_PROC_COEF, 0x8800},
8564 { 0x20, AC_VERB_SET_COEF_INDEX, 0x45 },
8565 { 0x20, AC_VERB_SET_PROC_COEF, 0x5089 },
8579 { 0x1a, 0x04a19040 },
8586 { 0x16, 0x0101102f }, /* Rear Headset HP */
8587 { 0x19, 0x02a1913c }, /* use as Front headset mic, without its own jack detect */
8588 { 0x1a, 0x01a19030 }, /* Rear Headset MIC */
8589 { 0x1b, 0x02011020 },
8605 {0x20, AC_VERB_SET_COEF_INDEX, 0x45},
8606 {0x20, AC_VERB_SET_PROC_COEF, 0x5289},
8607 {0x20, AC_VERB_SET_COEF_INDEX, 0x4A},
8608 {0x20, AC_VERB_SET_PROC_COEF, 0x001b},
8609 {0x58, AC_VERB_SET_COEF_INDEX, 0x00},
8610 {0x58, AC_VERB_SET_PROC_COEF, 0x3888},
8611 {0x20, AC_VERB_SET_COEF_INDEX, 0x6f},
8612 {0x20, AC_VERB_SET_PROC_COEF, 0x2c0b},
8625 { 0x1b, 0x0401102f },
8646 { 0x14, 0x0201101f },
8655 { 0x19, 0x01a1913c }, /* use as headset mic, without its own jack detect */
8670 { 0x19, 0x0181313f},
8689 { 0x18, 0x01a1913c }, /* use as headset mic, without its own jack detect */
8698 { 0x13, 0x90a60160 }, /* use as internal mic */
8699 { 0x19, 0x04a11120 }, /* use as headset mic, without its own jack detect */
8708 { 0x19, 0x01a1103c }, /* use as headset mic */
8718 { 0x20, AC_VERB_SET_COEF_INDEX, 0x40 },
8719 { 0x20, AC_VERB_SET_PROC_COEF, 0x8800 },
8720 { 0x20, AC_VERB_SET_COEF_INDEX, 0x0f },
8721 { 0x20, AC_VERB_SET_PROC_COEF, 0x7774 },
8740 { 0x1a, 0x01a1913c }, /* use as headset mic, without its own jack detect */
8750 { 0x20, AC_VERB_SET_COEF_INDEX, 0x36 },
8751 { 0x20, AC_VERB_SET_PROC_COEF, 0x57d7 },
8760 { 0x19, 0x03a11130 },
8761 { 0x1a, 0x90a60140 }, /* use as internal mic */
8770 { 0x16, 0x01011020 }, /* Rear Line out */
8771 { 0x19, 0x01a1913c }, /* use as Front headset mic, without its own jack detect */
8792 { 0x20, AC_VERB_SET_COEF_INDEX, 0x4f },
8793 { 0x20, AC_VERB_SET_PROC_COEF, 0x5029 },
8802 { 0x19, 0x03a11020 }, /* headset mic with jack detect */
8811 { 0x19, 0x04a11120 }, /* use as headset mic, without its own jack detect */
8820 { 0x17, 0x90170151 }, /* use as internal speaker (LFE) */
8821 { 0x1b, 0x90170152 } /* use as internal speaker (back) */
8827 { 0x21, 0x90170150 }, /* use as headset mic, without its own jack detect */
8834 { 0x19, 0x04a11040 },
8835 { 0x21, 0x04211020 },
8844 { 0x14, 0x90170140 },
8853 { 0x17, 0x90170130 }, /* bass spk */
8893 { 0x19, 0x03a11050 },
8894 { 0x1a, 0x03a11c30 },
8895 { 0x21, 0x03211420 },
8904 { 0x20, AC_VERB_SET_COEF_INDEX, 0x45 },
8905 { 0x20, AC_VERB_SET_PROC_COEF, 0x5089 },
8906 { 0x20, AC_VERB_SET_COEF_INDEX, 0x46 },
8907 { 0x20, AC_VERB_SET_PROC_COEF, 0x0004 },
8908 { 0x20, AC_VERB_SET_COEF_INDEX, 0x47 },
8909 { 0x20, AC_VERB_SET_PROC_COEF, 0xa47a },
8910 { 0x20, AC_VERB_SET_COEF_INDEX, 0x49 },
8911 { 0x20, AC_VERB_SET_PROC_COEF, 0x0049},
8912 { 0x20, AC_VERB_SET_COEF_INDEX, 0x4a },
8913 { 0x20, AC_VERB_SET_PROC_COEF, 0x201b },
8914 { 0x20, AC_VERB_SET_COEF_INDEX, 0x6b },
8915 { 0x20, AC_VERB_SET_PROC_COEF, 0x4278},
8941 { 0x20, AC_VERB_SET_COEF_INDEX, 0x0f },
8942 { 0x20, AC_VERB_SET_PROC_COEF, 0x7774 },
8951 { 0x19, 0x03a11050 }, /* front HP mic */
8952 { 0x1a, 0x01a11830 }, /* rear external mic */
8953 { 0x21, 0x03211020 }, /* front HP out */
8962 /* set 0x15 to HP-OUT ctrl */
8963 { 0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, 0xc0 },
8964 /* unmute the 0x15 amp */
8965 { 0x15, AC_VERB_SET_AMP_GAIN_MUTE, 0xb000 },
8978 { 0x19, 0x01a11050 }, /* rear HP mic */
8979 { 0x1a, 0x01a11830 }, /* rear external mic */
8980 { 0x21, 0x012110f0 }, /* rear HP out */
8989 /* set 0x15 to HP-OUT ctrl */
8990 { 0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, 0xc0 },
8991 /* unmute the 0x15 amp */
8992 { 0x15, AC_VERB_SET_AMP_GAIN_MUTE, 0xb000 },
8993 /* set 0x1b to HP-OUT */
8994 { 0x1b, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x24 },
9007 { 0x19, 0x03a11050 }, /* front HP mic */
9008 { 0x1a, 0x03a11c30 }, /* rear external mic */
9009 { 0x21, 0x03211420 }, /* front HP out */
9016 { 0x14, 0x90170152 }, /* Speaker Surround Playback Switch */
9017 { 0x19, 0x03a19020 }, /* Mic Boost Volume */
9018 { 0x1a, 0x03a11c30 }, /* Mic Boost Volume */
9019 { 0x1e, 0x90170151 }, /* Rear jack, IN OUT EAPD Detect */
9020 { 0x21, 0x03211420 },
9030 { 0x20, AC_VERB_SET_COEF_INDEX, 0x1b },
9031 { 0x20, AC_VERB_SET_PROC_COEF, 0x4e4b },
9080 { 0x1a, AC_VERB_SET_PIN_WIDGET_CONTROL, 0xc5 },
9087 { 0x20, AC_VERB_SET_COEF_INDEX, 0x08},
9088 { 0x20, AC_VERB_SET_PROC_COEF, 0x2fcf},
9095 { 0x19, 0x01a1913c }, /* use as headset mic, without its own jack detect */
9104 { 0x14, 0x90100120 }, /* use as internal speaker */
9105 { 0x18, 0x02a111f0 }, /* use as headset mic, without its own jack detect */
9106 { 0x1a, 0x01011020 }, /* use as line out */
9115 { 0x18, 0x02a11030 }, /* use as headset mic */
9124 { 0x18, 0x01a11130 }, /* use as headset mic, without its own jack detect */
9139 { 0x19, 0x03a11020 }, /* headset mic with jack detect */
9146 { 0x19, 0x02a11120 }, /* use as headset mic, without its own jack detect */
9161 { 0x12, 0x411111f0 },
9162 { 0x14, 0x90170110 }, /* speaker */
9163 { 0x15, 0x032f1020 }, /* HP out */
9164 { 0x17, 0x411111f0 },
9165 { 0x18, 0x03ab1040 }, /* mic */
9166 { 0x19, 0xb7a7013f },
9167 { 0x1a, 0x0181305f },
9168 { 0x1b, 0x411111f0 },
9169 { 0x1d, 0x411111f0 },
9170 { 0x1e, 0x411111f0 },
9178 { 0x12, 0x4000c000 },
9179 { 0x14, 0x90170110 }, /* speaker */
9180 { 0x15, 0x0421401f }, /* HP out */
9181 { 0x17, 0x411111f0 },
9182 { 0x18, 0x04a19020 }, /* mic */
9183 { 0x19, 0x411111f0 },
9184 { 0x1a, 0x411111f0 },
9185 { 0x1b, 0x411111f0 },
9186 { 0x1d, 0x40448505 },
9187 { 0x1e, 0x411111f0 },
9188 { 0x20, 0x8000ffff },
9196 { 0x12, 0x40000000 },
9197 { 0x14, 0x01014010 }, /* speaker */
9198 { 0x15, 0x411111f0 }, /* HP out */
9199 { 0x16, 0x411111f0 },
9200 { 0x18, 0x01a19020 }, /* mic */
9201 { 0x19, 0x02a19021 },
9202 { 0x1a, 0x0181302f },
9203 { 0x1b, 0x0221401f },
9204 { 0x1c, 0x411111f0 },
9205 { 0x1d, 0x4044c601 },
9206 { 0x1e, 0x411111f0 },
9214 { 0x12, 0x40000000 },
9215 { 0x14, 0x90170110 }, /* speaker */
9216 { 0x17, 0x411111f0 },
9217 { 0x18, 0x03a19040 }, /* mic1 */
9218 { 0x19, 0x90a70130 }, /* mic2 */
9219 { 0x1a, 0x411111f0 },
9220 { 0x1b, 0x411111f0 },
9221 { 0x1d, 0x40489d2d },
9222 { 0x1e, 0x411111f0 },
9223 { 0x20, 0x0003ffff },
9224 { 0x21, 0x03214020 },
9232 { 0x14, 0x99130110 }, /* speaker */
9233 { 0x15, 0x0121401f }, /* HP out */
9234 { 0x18, 0x01a19c20 }, /* rear mic */
9235 { 0x19, 0x99a3092f }, /* front mic */
9236 { 0x1b, 0x0201401f }, /* front lineout */
9244 { 0x1b, 0x01a1913c }, /* use as headset mic, without its own jack detect */
9253 { 0x19, 0x01a1913c }, /* use as headset mic, without its own jack detect */
9262 { 0x20, AC_VERB_SET_COEF_INDEX, 0x45 },
9263 { 0x20, AC_VERB_SET_PROC_COEF, 0x5089 },
9272 { 0x20, AC_VERB_SET_COEF_INDEX, 0x45 },
9273 { 0x20, AC_VERB_SET_PROC_COEF, 0x5089 },
9291 { 0x20, AC_VERB_SET_COEF_INDEX, 0x0f },
9292 { 0x20, AC_VERB_SET_PROC_COEF, 0x7778 },
9321 { 0x1b, 0x411111f0 },
9322 { 0x18, 0x01a1913c }, /* use as headset mic, without its own jack detect */
9337 { 0x19, 0x02a1113c }, /* use as headset mic, without its own jack detect */
9338 { 0x1a, 0x90a1092f }, /* use as internal mic */
9363 { 0x12, 0xb7a60130 },
9364 { 0x13, 0x40000000 },
9365 { 0x14, 0x411111f0 },
9366 { 0x16, 0x411111f0 },
9367 { 0x17, 0x90170110 },
9368 { 0x18, 0x411111f0 },
9369 { 0x19, 0x02a11030 },
9370 { 0x1a, 0x411111f0 },
9371 { 0x1b, 0x04a19030 },
9372 { 0x1d, 0x40600001 },
9373 { 0x1e, 0x411111f0 },
9374 { 0x21, 0x03211020 },
9409 { 0x21, 0x03211030 }, /* Change the Headphone location to Left */
9438 { 0x20, AC_VERB_SET_COEF_INDEX, 0x24 },
9439 { 0x20, AC_VERB_SET_PROC_COEF, 0x41 },
9441 { 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
9442 { 0x20, AC_VERB_SET_PROC_COEF, 0xc },
9443 { 0x20, AC_VERB_SET_PROC_COEF, 0x0 },
9444 { 0x20, AC_VERB_SET_PROC_COEF, 0x1a },
9445 { 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
9447 { 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
9448 { 0x20, AC_VERB_SET_PROC_COEF, 0x2 },
9449 { 0x20, AC_VERB_SET_PROC_COEF, 0x0 },
9450 { 0x20, AC_VERB_SET_PROC_COEF, 0x0 },
9451 { 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
9454 { 0x20, AC_VERB_SET_COEF_INDEX, 0x24 },
9455 { 0x20, AC_VERB_SET_PROC_COEF, 0x42 },
9457 { 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
9458 { 0x20, AC_VERB_SET_PROC_COEF, 0xc },
9459 { 0x20, AC_VERB_SET_PROC_COEF, 0x0 },
9460 { 0x20, AC_VERB_SET_PROC_COEF, 0x2a },
9461 { 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
9463 { 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
9464 { 0x20, AC_VERB_SET_PROC_COEF, 0x2 },
9465 { 0x20, AC_VERB_SET_PROC_COEF, 0x0 },
9466 { 0x20, AC_VERB_SET_PROC_COEF, 0x0 },
9467 { 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
9483 { 0x20, AC_VERB_SET_COEF_INDEX, 0x24 },
9484 { 0x20, AC_VERB_SET_PROC_COEF, 0x41 },
9486 { 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
9487 { 0x20, AC_VERB_SET_PROC_COEF, 0xc },
9488 { 0x20, AC_VERB_SET_PROC_COEF, 0x0 },
9489 { 0x20, AC_VERB_SET_PROC_COEF, 0x1a },
9490 { 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
9492 { 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
9493 { 0x20, AC_VERB_SET_PROC_COEF, 0x2 },
9494 { 0x20, AC_VERB_SET_PROC_COEF, 0x0 },
9495 { 0x20, AC_VERB_SET_PROC_COEF, 0x0 },
9496 { 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
9499 { 0x20, AC_VERB_SET_COEF_INDEX, 0x24 },
9500 { 0x20, AC_VERB_SET_PROC_COEF, 0x46 },
9502 { 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
9503 { 0x20, AC_VERB_SET_PROC_COEF, 0xc },
9504 { 0x20, AC_VERB_SET_PROC_COEF, 0x0 },
9505 { 0x20, AC_VERB_SET_PROC_COEF, 0x2a },
9506 { 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
9508 { 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
9509 { 0x20, AC_VERB_SET_PROC_COEF, 0x2 },
9510 { 0x20, AC_VERB_SET_PROC_COEF, 0x0 },
9511 { 0x20, AC_VERB_SET_PROC_COEF, 0x0 },
9512 { 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
9529 { 0x20, AC_VERB_SET_COEF_INDEX, 0x24 },
9530 { 0x20, AC_VERB_SET_PROC_COEF, 0x41 },
9531 { 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
9532 { 0x20, AC_VERB_SET_PROC_COEF, 0x2 },
9533 { 0x20, AC_VERB_SET_PROC_COEF, 0x0 },
9534 { 0x20, AC_VERB_SET_PROC_COEF, 0x0 },
9535 { 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
9536 { 0x20, AC_VERB_SET_COEF_INDEX, 0x24 },
9537 { 0x20, AC_VERB_SET_PROC_COEF, 0x42 },
9538 { 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
9539 { 0x20, AC_VERB_SET_PROC_COEF, 0x2 },
9540 { 0x20, AC_VERB_SET_PROC_COEF, 0x0 },
9541 { 0x20, AC_VERB_SET_PROC_COEF, 0x0 },
9542 { 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
9559 { 0x19, 0x03a11120 }, /* use as headset mic, without its own jack detect */
9612 { 0x20, AC_VERB_SET_COEF_INDEX, 0x19 },
9613 { 0x20, AC_VERB_SET_PROC_COEF, 0x8e11 },
9628 { 0x19, 0x02a1112c }, /* use as headset mic, without its own jack detect */
9642 { 0x20, AC_VERB_SET_COEF_INDEX, 0x24 },
9643 { 0x20, AC_VERB_SET_PROC_COEF, 0x41 },
9645 { 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
9646 { 0x20, AC_VERB_SET_PROC_COEF, 0xc },
9647 { 0x20, AC_VERB_SET_PROC_COEF, 0x0 },
9648 { 0x20, AC_VERB_SET_PROC_COEF, 0x1a },
9649 { 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
9651 { 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
9652 { 0x20, AC_VERB_SET_PROC_COEF, 0xf },
9653 { 0x20, AC_VERB_SET_PROC_COEF, 0x0 },
9654 { 0x20, AC_VERB_SET_PROC_COEF, 0x42 },
9655 { 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
9657 { 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
9658 { 0x20, AC_VERB_SET_PROC_COEF, 0x10 },
9659 { 0x20, AC_VERB_SET_PROC_COEF, 0x0 },
9660 { 0x20, AC_VERB_SET_PROC_COEF, 0x40 },
9661 { 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
9663 { 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
9664 { 0x20, AC_VERB_SET_PROC_COEF, 0x2 },
9665 { 0x20, AC_VERB_SET_PROC_COEF, 0x0 },
9666 { 0x20, AC_VERB_SET_PROC_COEF, 0x0 },
9667 { 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
9670 { 0x20, AC_VERB_SET_COEF_INDEX, 0x24 },
9671 { 0x20, AC_VERB_SET_PROC_COEF, 0x46 },
9673 { 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
9674 { 0x20, AC_VERB_SET_PROC_COEF, 0xc },
9675 { 0x20, AC_VERB_SET_PROC_COEF, 0x0 },
9676 { 0x20, AC_VERB_SET_PROC_COEF, 0x2a },
9677 { 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
9679 { 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
9680 { 0x20, AC_VERB_SET_PROC_COEF, 0xf },
9681 { 0x20, AC_VERB_SET_PROC_COEF, 0x0 },
9682 { 0x20, AC_VERB_SET_PROC_COEF, 0x46 },
9683 { 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
9685 { 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
9686 { 0x20, AC_VERB_SET_PROC_COEF, 0x10 },
9687 { 0x20, AC_VERB_SET_PROC_COEF, 0x0 },
9688 { 0x20, AC_VERB_SET_PROC_COEF, 0x44 },
9689 { 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
9691 { 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
9692 { 0x20, AC_VERB_SET_PROC_COEF, 0x2 },
9693 { 0x20, AC_VERB_SET_PROC_COEF, 0x0 },
9694 { 0x20, AC_VERB_SET_PROC_COEF, 0x0 },
9695 { 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
9775 SND_PCI_QUIRK(0x1025, 0x0283, "Acer TravelMate 8371", ALC269_FIXUP_INV_DMIC),
9776 SND_PCI_QUIRK(0x1025, 0x029b, "Acer 1810TZ", ALC269_FIXUP_INV_DMIC),
9777 SND_PCI_QUIRK(0x1025, 0x0349, "Acer AOD260", ALC269_FIXUP_INV_DMIC),
9778 SND_PCI_QUIRK(0x1025, 0x047c, "Acer AC700", ALC269_FIXUP_ACER_AC700),
9779 SND_PCI_QUIRK(0x1025, 0x072d, "Acer Aspire V5-571G", ALC269_FIXUP_ASPIRE_HEADSET_MIC),
9780 SND_PCI_QUIRK(0x1025, 0x0740, "Acer AO725", ALC271_FIXUP_HP_GATE_MIC_JACK),
9781 SND_PCI_QUIRK(0x1025, 0x0742, "Acer AO756", ALC271_FIXUP_HP_GATE_MIC_JACK),
9782 SND_PCI_QUIRK(0x1025, 0x0762, "Acer Aspire E1-472", ALC271_FIXUP_HP_GATE_MIC_JACK_E1_572),
9783 SND_PCI_QUIRK(0x1025, 0x0775, "Acer Aspire E1-572", ALC271_FIXUP_HP_GATE_MIC_JACK_E1_572),
9784 SND_PCI_QUIRK(0x1025, 0x079b, "Acer Aspire V5-573G", ALC282_FIXUP_ASPIRE_V5_PINS),
9785 SND_PCI_QUIRK(0x1025, 0x080d, "Acer Aspire V5-122P", ALC269_FIXUP_ASPIRE_HEADSET_MIC),
9786 SND_PCI_QUIRK(0x1025, 0x0840, "Acer Aspire E1", ALC269VB_FIXUP_ASPIRE_E1_COEF),
9787 SND_PCI_QUIRK(0x1025, 0x100c, "Acer Aspire E5-574G", ALC255_FIXUP_ACER_LIMIT_INT_MIC_BOOST),
9788 SND_PCI_QUIRK(0x1025, 0x101c, "Acer Veriton N2510G", ALC269_FIXUP_LIFEBOOK),
9789 SND_PCI_QUIRK(0x1025, 0x102b, "Acer Aspire C24-860", ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE),
9790 SND_PCI_QUIRK(0x1025, 0x1065, "Acer Aspire C20-820", ALC269VC_FIXUP_ACER_HEADSET_MIC),
9791 SND_PCI_QUIRK(0x1025, 0x106d, "Acer Cloudbook 14", ALC283_FIXUP_CHROME_BOOK),
9792 SND_PCI_QUIRK(0x1025, 0x1094, "Acer Aspire E5-575T", ALC255_FIXUP_ACER_LIMIT_INT_MIC_BOOST),
9793 SND_PCI_QUIRK(0x1025, 0x1099, "Acer Aspire E5-523G", ALC255_FIXUP_ACER_MIC_NO_PRESENCE),
9794 SND_PCI_QUIRK(0x1025, 0x110e, "Acer Aspire ES1-432", ALC255_FIXUP_ACER_MIC_NO_PRESENCE),
9795 SND_PCI_QUIRK(0x1025, 0x1166, "Acer Veriton N4640G", ALC269_FIXUP_LIFEBOOK),
9796 SND_PCI_QUIRK(0x1025, 0x1167, "Acer Veriton N6640G", ALC269_FIXUP_LIFEBOOK),
9797 SND_PCI_QUIRK(0x1025, 0x1177, "Acer Predator G9-593", ALC255_FIXUP_PREDATOR_SUBWOOFER),
9798 SND_PCI_QUIRK(0x1025, 0x1178, "Acer Predator G9-593", ALC255_FIXUP_PREDATOR_SUBWOOFER),
9799 SND_PCI_QUIRK(0x1025, 0x1246, "Acer Predator Helios 500", ALC299_FIXUP_PREDATOR_SPK),
9800 SND_PCI_QUIRK(0x1025, 0x1247, "Acer vCopperbox", ALC269VC_FIXUP_ACER_VCOPPERBOX_PINS),
9801 SND_PCI_QUIRK(0x1025, 0x1248, "Acer Veriton N4660G", ALC269VC_FIXUP_ACER_MIC_NO_PRESENCE),
9802 SND_PCI_QUIRK(0x1025, 0x1269, "Acer SWIFT SF314-54", ALC256_FIXUP_ACER_HEADSET_MIC),
9803 SND_PCI_QUIRK(0x1025, 0x126a, "Acer Swift SF114-32", ALC256_FIXUP_ACER_MIC_NO_PRESENCE),
9804 SND_PCI_QUIRK(0x1025, 0x128f, "Acer Veriton Z6860G", ALC286_FIXUP_ACER_AIO_HEADSET_MIC),
9805 SND_PCI_QUIRK(0x1025, 0x1290, "Acer Veriton Z4860G", ALC286_FIXUP_ACER_AIO_HEADSET_MIC),
9806 SND_PCI_QUIRK(0x1025, 0x1291, "Acer Veriton Z4660G", ALC286_FIXUP_ACER_AIO_HEADSET_MIC),
9807 SND_PCI_QUIRK(0x1025, 0x129c, "Acer SWIFT SF314-55", ALC256_FIXUP_ACER_HEADSET_MIC),
9808 SND_PCI_QUIRK(0x1025, 0x129d, "Acer SWIFT SF313-51", ALC256_FIXUP_ACER_MIC_NO_PRESENCE),
9809 SND_PCI_QUIRK(0x1025, 0x1300, "Acer SWIFT SF314-56", ALC256_FIXUP_ACER_MIC_NO_PRESENCE),
9810 SND_PCI_QUIRK(0x1025, 0x1308, "Acer Aspire Z24-890", ALC286_FIXUP_ACER_AIO_HEADSET_MIC),
9811 SND_PCI_QUIRK(0x1025, 0x132a, "Acer TravelMate B114-21", ALC233_FIXUP_ACER_HEADSET_MIC),
9812 SND_PCI_QUIRK(0x1025, 0x1330, "Acer TravelMate X514-51T", ALC255_FIXUP_ACER_HEADSET_MIC),
9813 SND_PCI_QUIRK(0x1025, 0x1360, "Acer Aspire A115", ALC255_FIXUP_ACER_MIC_NO_PRESENCE),
9814 SND_PCI_QUIRK(0x1025, 0x141f, "Acer Spin SP513-54N", ALC255_FIXUP_ACER_MIC_NO_PRESENCE),
9815 SND_PCI_QUIRK(0x1025, 0x142b, "Acer Swift SF314-42", ALC255_FIXUP_ACER_MIC_NO_PRESENCE),
9816 SND_PCI_QUIRK(0x1025, 0x1430, "Acer TravelMate B311R-31", ALC256_FIXUP_ACER_MIC_NO_PRESENCE),
9817 SND_PCI_QUIRK(0x1025, 0x1466, "Acer Aspire A515-56", ALC255_FIXUP_ACER_HEADPHONE_AND_MIC),
9818 SND_PCI_QUIRK(0x1025, 0x1534, "Acer Predator PH315-54", ALC255_FIXUP_ACER_MIC_NO_PRESENCE),
9819 SND_PCI_QUIRK(0x1028, 0x0470, "Dell M101z", ALC269_FIXUP_DELL_M101Z),
9820 SND_PCI_QUIRK(0x1028, 0x053c, "Dell Latitude E5430", ALC292_FIXUP_DELL_E7X),
9821 SND_PCI_QUIRK(0x1028, 0x054b, "Dell XPS one 2710", ALC275_FIXUP_DELL_XPS),
9822 SND_PCI_QUIRK(0x1028, 0x05bd, "Dell Latitude E6440", ALC292_FIXUP_DELL_E7X),
9823 SND_PCI_QUIRK(0x1028, 0x05be, "Dell Latitude E6540", ALC292_FIXUP_DELL_E7X),
9824 SND_PCI_QUIRK(0x1028, 0x05ca, "Dell Latitude E7240", ALC292_FIXUP_DELL_E7X),
9825 SND_PCI_QUIRK(0x1028, 0x05cb, "Dell Latitude E7440", ALC292_FIXUP_DELL_E7X),
9826 SND_PCI_QUIRK(0x1028, 0x05da, "Dell Vostro 5460", ALC290_FIXUP_SUBWOOFER),
9827 SND_PCI_QUIRK(0x1028, 0x05f4, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
9828 SND_PCI_QUIRK(0x1028, 0x05f5, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
9829 SND_PCI_QUIRK(0x1028, 0x05f6, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
9830 SND_PCI_QUIRK(0x1028, 0x0615, "Dell Vostro 5470", ALC290_FIXUP_SUBWOOFER_HSJACK),
9831 SND_PCI_QUIRK(0x1028, 0x0616, "Dell Vostro 5470", ALC290_FIXUP_SUBWOOFER_HSJACK),
9832 SND_PCI_QUIRK(0x1028, 0x062c, "Dell Latitude E5550", ALC292_FIXUP_DELL_E7X),
9833 SND_PCI_QUIRK(0x1028, 0x062e, "Dell Latitude E7450", ALC292_FIXUP_DELL_E7X),
9834 SND_PCI_QUIRK(0x1028, 0x0638, "Dell Inspiron 5439", ALC290_FIXUP_MONO_SPEAKERS_HSJACK),
9835 SND_PCI_QUIRK(0x1028, 0x064a, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),
9836 SND_PCI_QUIRK(0x1028, 0x064b, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),
9837 SND_PCI_QUIRK(0x1028, 0x0665, "Dell XPS 13", ALC288_FIXUP_DELL_XPS_13),
9838 SND_PCI_QUIRK(0x1028, 0x0669, "Dell Optiplex 9020m", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE),
9839 SND_PCI_QUIRK(0x1028, 0x069a, "Dell Vostro 5480", ALC290_FIXUP_SUBWOOFER_HSJACK),
9840 SND_PCI_QUIRK(0x1028, 0x06c7, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE),
9841 SND_PCI_QUIRK(0x1028, 0x06d9, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),
9842 SND_PCI_QUIRK(0x1028, 0x06da, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),
9843 SND_PCI_QUIRK(0x1028, 0x06db, "Dell", ALC293_FIXUP_DISABLE_AAMIX_MULTIJACK),
9844 SND_PCI_QUIRK(0x1028, 0x06dd, "Dell", ALC293_FIXUP_DISABLE_AAMIX_MULTIJACK),
9845 SND_PCI_QUIRK(0x1028, 0x06de, "Dell", ALC293_FIXUP_DISABLE_AAMIX_MULTIJACK),
9846 SND_PCI_QUIRK(0x1028, 0x06df, "Dell", ALC293_FIXUP_DISABLE_AAMIX_MULTIJACK),
9847 SND_PCI_QUIRK(0x1028, 0x06e0, "Dell", ALC293_FIXUP_DISABLE_AAMIX_MULTIJACK),
9848 SND_PCI_QUIRK(0x1028, 0x0706, "Dell Inspiron 7559", ALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER),
9849 SND_PCI_QUIRK(0x1028, 0x0725, "Dell Inspiron 3162", ALC255_FIXUP_DELL_SPK_NOISE),
9850 SND_PCI_QUIRK(0x1028, 0x0738, "Dell Precision 5820", ALC269_FIXUP_NO_SHUTUP),
9851 SND_PCI_QUIRK(0x1028, 0x075c, "Dell XPS 27 7760", ALC298_FIXUP_SPK_VOLUME),
9852 SND_PCI_QUIRK(0x1028, 0x075d, "Dell AIO", ALC298_FIXUP_SPK_VOLUME),
9853 SND_PCI_QUIRK(0x1028, 0x0798, "Dell Inspiron 17 7000 Gaming", ALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER),
9854 SND_PCI_QUIRK(0x1028, 0x07b0, "Dell Precision 7520", ALC295_FIXUP_DISABLE_DAC3),
9855 SND_PCI_QUIRK(0x1028, 0x080c, "Dell WYSE", ALC225_FIXUP_DELL_WYSE_MIC_NO_PRESENCE),
9856 SND_PCI_QUIRK(0x1028, 0x084b, "Dell", ALC274_FIXUP_DELL_AIO_LINEOUT_VERB),
9857 SND_PCI_QUIRK(0x1028, 0x084e, "Dell", ALC274_FIXUP_DELL_AIO_LINEOUT_VERB),
9858 SND_PCI_QUIRK(0x1028, 0x0871, "Dell Precision 3630", ALC255_FIXUP_DELL_HEADSET_MIC),
9859 SND_PCI_QUIRK(0x1028, 0x0872, "Dell Precision 3630", ALC255_FIXUP_DELL_HEADSET_MIC),
9860 SND_PCI_QUIRK(0x1028, 0x0873, "Dell Precision 3930", ALC255_FIXUP_DUMMY_LINEOUT_VERB),
9861 SND_PCI_QUIRK(0x1028, 0x08ad, "Dell WYSE AIO", ALC225_FIXUP_DELL_WYSE_AIO_MIC_NO_PRESENCE),
9862 SND_PCI_QUIRK(0x1028, 0x08ae, "Dell WYSE NB", ALC225_FIXUP_DELL1_MIC_NO_PRESENCE),
9863 SND_PCI_QUIRK(0x1028, 0x0935, "Dell", ALC274_FIXUP_DELL_AIO_LINEOUT_VERB),
9864 SND_PCI_QUIRK(0x1028, 0x097d, "Dell Precision", ALC289_FIXUP_DUAL_SPK),
9865 SND_PCI_QUIRK(0x1028, 0x097e, "Dell Precision", ALC289_FIXUP_DUAL_SPK),
9866 SND_PCI_QUIRK(0x1028, 0x098d, "Dell Precision", ALC233_FIXUP_ASUS_MIC_NO_PRESENCE),
9867 SND_PCI_QUIRK(0x1028, 0x09bf, "Dell Precision", ALC233_FIXUP_ASUS_MIC_NO_PRESENCE),
9868 SND_PCI_QUIRK(0x1028, 0x0a2e, "Dell", ALC236_FIXUP_DELL_AIO_HEADSET_MIC),
9869 SND_PCI_QUIRK(0x1028, 0x0a30, "Dell", ALC236_FIXUP_DELL_AIO_HEADSET_MIC),
9870 SND_PCI_QUIRK(0x1028, 0x0a38, "Dell Latitude 7520", ALC269_FIXUP_DELL4_MIC_NO_PRESENCE_QUIET),
9871 SND_PCI_QUIRK(0x1028, 0x0a58, "Dell", ALC255_FIXUP_DELL_HEADSET_MIC),
9872 SND_PCI_QUIRK(0x1028, 0x0a61, "Dell XPS 15 9510", ALC289_FIXUP_DUAL_SPK),
9873 SND_PCI_QUIRK(0x1028, 0x0a62, "Dell Precision 5560", ALC289_FIXUP_DUAL_SPK),
9874 SND_PCI_QUIRK(0x1028, 0x0a9d, "Dell Latitude 5430", ALC269_FIXUP_DELL4_MIC_NO_PRESENCE),
9875 SND_PCI_QUIRK(0x1028, 0x0a9e, "Dell Latitude 5430", ALC269_FIXUP_DELL4_MIC_NO_PRESENCE),
9876 SND_PCI_QUIRK(0x1028, 0x0b19, "Dell XPS 15 9520", ALC289_FIXUP_DUAL_SPK),
9877 SND_PCI_QUIRK(0x1028, 0x0b1a, "Dell Precision 5570", ALC289_FIXUP_DUAL_SPK),
9878 SND_PCI_QUIRK(0x1028, 0x0b37, "Dell Inspiron 16 Plus 7620 2-in-1", ALC295_FIXUP_DELL_INSPIRON_TOP_SPEAKERS),
9879 SND_PCI_QUIRK(0x1028, 0x0b71, "Dell Inspiron 16 Plus 7620", ALC295_FIXUP_DELL_INSPIRON_TOP_SPEAKERS),
9880 SND_PCI_QUIRK(0x1028, 0x0beb, "Dell XPS 15 9530 (2023)", ALC289_FIXUP_DELL_CS35L41_SPI_2),
9881 SND_PCI_QUIRK(0x1028, 0x0c03, "Dell Precision 5340", ALC269_FIXUP_DELL4_MIC_NO_PRESENCE),
9882 SND_PCI_QUIRK(0x1028, 0x0c0b, "Dell Oasis 14 RPL-P", ALC289_FIXUP_RTK_AMP_DUAL_SPK),
9883 SND_PCI_QUIRK(0x1028, 0x0c0d, "Dell Oasis", ALC289_FIXUP_RTK_AMP_DUAL_SPK),
9884 SND_PCI_QUIRK(0x1028, 0x0c0e, "Dell Oasis 16", ALC289_FIXUP_RTK_AMP_DUAL_SPK),
9885 SND_PCI_QUIRK(0x1028, 0x0c19, "Dell Precision 3340", ALC236_FIXUP_DELL_DUAL_CODECS),
9886 SND_PCI_QUIRK(0x1028, 0x0c1a, "Dell Precision 3340", ALC236_FIXUP_DELL_DUAL_CODECS),
9887 SND_PCI_QUIRK(0x1028, 0x0c1b, "Dell Precision 3440", ALC236_FIXUP_DELL_DUAL_CODECS),
9888 SND_PCI_QUIRK(0x1028, 0x0c1c, "Dell Precision 3540", ALC236_FIXUP_DELL_DUAL_CODECS),
9889 SND_PCI_QUIRK(0x1028, 0x0c1d, "Dell Precision 3440", ALC236_FIXUP_DELL_DUAL_CODECS),
9890 SND_PCI_QUIRK(0x1028, 0x0c1e, "Dell Precision 3540", ALC236_FIXUP_DELL_DUAL_CODECS),
9891 SND_PCI_QUIRK(0x1028, 0x0cbd, "Dell Oasis 13 CS MTL-U", ALC289_FIXUP_DELL_CS35L41_SPI_2),
9892 SND_PCI_QUIRK(0x1028, 0x0cbe, "Dell Oasis 13 2-IN-1 MTL-U", ALC289_FIXUP_DELL_CS35L41_SPI_2),
9893 SND_PCI_QUIRK(0x1028, 0x0cbf, "Dell Oasis 13 Low Weight MTU-L", ALC289_FIXUP_DELL_CS35L41_SPI_2),
9894 SND_PCI_QUIRK(0x1028, 0x0cc0, "Dell Oasis 13", ALC289_FIXUP_RTK_AMP_DUAL_SPK),
9895 SND_PCI_QUIRK(0x1028, 0x0cc1, "Dell Oasis 14 MTL-H/U", ALC289_FIXUP_DELL_CS35L41_SPI_2),
9896 SND_PCI_QUIRK(0x1028, 0x0cc2, "Dell Oasis 14 2-in-1 MTL-H/U", ALC289_FIXUP_DELL_CS35L41_SPI_2),
9897 SND_PCI_QUIRK(0x1028, 0x0cc3, "Dell Oasis 14 Low Weight MTL-U", ALC289_FIXUP_DELL_CS35L41_SPI_2),
9898 SND_PCI_QUIRK(0x1028, 0x0cc4, "Dell Oasis 16 MTL-H/U", ALC289_FIXUP_DELL_CS35L41_SPI_2),
9899 SND_PCI_QUIRK(0x1028, 0x0cc5, "Dell Oasis 14", ALC289_FIXUP_RTK_AMP_DUAL_SPK),
9900 SND_PCI_QUIRK(0x1028, 0x164a, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),
9901 SND_PCI_QUIRK(0x1028, 0x164b, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),
9902 SND_PCI_QUIRK(0x103c, 0x1586, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC2),
9903 SND_PCI_QUIRK(0x103c, 0x18e6, "HP", ALC269_FIXUP_HP_GPIO_LED),
9904 SND_PCI_QUIRK(0x103c, 0x218b, "HP", ALC269_FIXUP_LIMIT_INT_MIC_BOOST_MUTE_LED),
9905 SND_PCI_QUIRK(0x103c, 0x21f9, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
9906 SND_PCI_QUIRK(0x103c, 0x2210, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
9907 SND_PCI_QUIRK(0x103c, 0x2214, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
9908 SND_PCI_QUIRK(0x103c, 0x221b, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),
9909 SND_PCI_QUIRK(0x103c, 0x221c, "HP EliteBook 755 G2", ALC280_FIXUP_HP_HEADSET_MIC),
9910 SND_PCI_QUIRK(0x103c, 0x2221, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),
9911 SND_PCI_QUIRK(0x103c, 0x2225, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),
9912 SND_PCI_QUIRK(0x103c, 0x2236, "HP", ALC269_FIXUP_HP_LINE1_MIC1_LED),
9913 SND_PCI_QUIRK(0x103c, 0x2237, "HP", ALC269_FIXUP_HP_LINE1_MIC1_LED),
9914 SND_PCI_QUIRK(0x103c, 0x2238, "HP", ALC269_FIXUP_HP_LINE1_MIC1_LED),
9915 SND_PCI_QUIRK(0x103c, 0x2239, "HP", ALC269_FIXUP_HP_LINE1_MIC1_LED),
9916 SND_PCI_QUIRK(0x103c, 0x224b, "HP", ALC269_FIXUP_HP_LINE1_MIC1_LED),
9917 SND_PCI_QUIRK(0x103c, 0x2253, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),
9918 SND_PCI_QUIRK(0x103c, 0x2254, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),
9919 SND_PCI_QUIRK(0x103c, 0x2255, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),
9920 SND_PCI_QUIRK(0x103c, 0x2256, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),
9921 SND_PCI_QUIRK(0x103c, 0x2257, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),
9922 SND_PCI_QUIRK(0x103c, 0x2259, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),
9923 SND_PCI_QUIRK(0x103c, 0x225a, "HP", ALC269_FIXUP_HP_DOCK_GPIO_MIC1_LED),
9924 SND_PCI_QUIRK(0x103c, 0x225f, "HP", ALC280_FIXUP_HP_GPIO2_MIC_HOTKEY),
9925 SND_PCI_QUIRK(0x103c, 0x2260, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
9926 SND_PCI_QUIRK(0x103c, 0x2263, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
9927 SND_PCI_QUIRK(0x103c, 0x2264, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
9928 SND_PCI_QUIRK(0x103c, 0x2265, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
9929 SND_PCI_QUIRK(0x103c, 0x2268, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
9930 SND_PCI_QUIRK(0x103c, 0x226a, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
9931 SND_PCI_QUIRK(0x103c, 0x226b, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
9932 SND_PCI_QUIRK(0x103c, 0x226e, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
9933 SND_PCI_QUIRK(0x103c, 0x2271, "HP", ALC286_FIXUP_HP_GPIO_LED),
9934 SND_PCI_QUIRK(0x103c, 0x2272, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),
9935 SND_PCI_QUIRK(0x103c, 0x2272, "HP", ALC280_FIXUP_HP_DOCK_PINS),
9936 SND_PCI_QUIRK(0x103c, 0x2273, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),
9937 SND_PCI_QUIRK(0x103c, 0x2273, "HP", ALC280_FIXUP_HP_DOCK_PINS),
9938 SND_PCI_QUIRK(0x103c, 0x2278, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),
9939 SND_PCI_QUIRK(0x103c, 0x227f, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
9940 SND_PCI_QUIRK(0x103c, 0x2282, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
9941 SND_PCI_QUIRK(0x103c, 0x228b, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
9942 SND_PCI_QUIRK(0x103c, 0x228e, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
9943 SND_PCI_QUIRK(0x103c, 0x229e, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
9944 SND_PCI_QUIRK(0x103c, 0x22b2, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
9945 SND_PCI_QUIRK(0x103c, 0x22b7, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
9946 SND_PCI_QUIRK(0x103c, 0x22bf, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
9947 SND_PCI_QUIRK(0x103c, 0x22c4, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
9948 SND_PCI_QUIRK(0x103c, 0x22c5, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
9949 SND_PCI_QUIRK(0x103c, 0x22c7, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
9950 SND_PCI_QUIRK(0x103c, 0x22c8, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
9951 SND_PCI_QUIRK(0x103c, 0x22cf, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
9952 SND_PCI_QUIRK(0x103c, 0x22db, "HP", ALC280_FIXUP_HP_9480M),
9953 SND_PCI_QUIRK(0x103c, 0x22dc, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),
9954 SND_PCI_QUIRK(0x103c, 0x22fb, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),
9955 SND_PCI_QUIRK(0x103c, 0x2334, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
9956 SND_PCI_QUIRK(0x103c, 0x2335, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
9957 SND_PCI_QUIRK(0x103c, 0x2336, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
9958 SND_PCI_QUIRK(0x103c, 0x2337, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
9959 SND_PCI_QUIRK(0x103c, 0x2b5e, "HP 288 Pro G2 MT", ALC221_FIXUP_HP_288PRO_MIC_NO_PRESENCE),
9960 SND_PCI_QUIRK(0x103c, 0x802e, "HP Z240 SFF", ALC221_FIXUP_HP_MIC_NO_PRESENCE),
9961 SND_PCI_QUIRK(0x103c, 0x802f, "HP Z240", ALC221_FIXUP_HP_MIC_NO_PRESENCE),
9962 SND_PCI_QUIRK(0x103c, 0x8077, "HP", ALC256_FIXUP_HP_HEADSET_MIC),
9963 SND_PCI_QUIRK(0x103c, 0x8158, "HP", ALC256_FIXUP_HP_HEADSET_MIC),
9964 SND_PCI_QUIRK(0x103c, 0x820d, "HP Pavilion 15", ALC295_FIXUP_HP_X360),
9965 SND_PCI_QUIRK(0x103c, 0x8256, "HP", ALC221_FIXUP_HP_FRONT_MIC),
9966 SND_PCI_QUIRK(0x103c, 0x827e, "HP x360", ALC295_FIXUP_HP_X360),
9967 SND_PCI_QUIRK(0x103c, 0x827f, "HP x360", ALC269_FIXUP_HP_MUTE_LED_MIC3),
9968 SND_PCI_QUIRK(0x103c, 0x82bf, "HP G3 mini", ALC221_FIXUP_HP_MIC_NO_PRESENCE),
9969 SND_PCI_QUIRK(0x103c, 0x82c0, "HP G3 mini premium", ALC221_FIXUP_HP_MIC_NO_PRESENCE),
9970 SND_PCI_QUIRK(0x103c, 0x83b9, "HP Spectre x360", ALC269_FIXUP_HP_MUTE_LED_MIC3),
9971 SND_PCI_QUIRK(0x103c, 0x841c, "HP Pavilion 15-CK0xx", ALC269_FIXUP_HP_MUTE_LED_MIC3),
9972 SND_PCI_QUIRK(0x103c, 0x8497, "HP Envy x360", ALC269_FIXUP_HP_MUTE_LED_MIC3),
9973 SND_PCI_QUIRK(0x103c, 0x84a6, "HP 250 G7 Notebook PC", ALC269_FIXUP_HP_LINE1_MIC1_LED),
9974 SND_PCI_QUIRK(0x103c, 0x84ae, "HP 15-db0403ng", ALC236_FIXUP_HP_MUTE_LED_COEFBIT2),
9975 SND_PCI_QUIRK(0x103c, 0x84da, "HP OMEN dc0019-ur", ALC295_FIXUP_HP_OMEN),
9976 SND_PCI_QUIRK(0x103c, 0x84e7, "HP Pavilion 15", ALC269_FIXUP_HP_MUTE_LED_MIC3),
9977 SND_PCI_QUIRK(0x103c, 0x8519, "HP Spectre x360 15-df0xxx", ALC285_FIXUP_HP_SPECTRE_X360),
9978 SND_PCI_QUIRK(0x103c, 0x8537, "HP ProBook 440 G6", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
9979 SND_PCI_QUIRK(0x103c, 0x85de, "HP Envy x360 13-ar0xxx", ALC285_FIXUP_HP_ENVY_X360),
9980 SND_PCI_QUIRK(0x103c, 0x860f, "HP ZBook 15 G6", ALC285_FIXUP_HP_GPIO_AMP_INIT),
9981 SND_PCI_QUIRK(0x103c, 0x861f, "HP Elite Dragonfly G1", ALC285_FIXUP_HP_GPIO_AMP_INIT),
9982 SND_PCI_QUIRK(0x103c, 0x869d, "HP", ALC236_FIXUP_HP_MUTE_LED),
9983 SND_PCI_QUIRK(0x103c, 0x86c1, "HP Laptop 15-da3001TU", ALC236_FIXUP_HP_MUTE_LED_COEFBIT2),
9984 SND_PCI_QUIRK(0x103c, 0x86c7, "HP Envy AiO 32", ALC274_FIXUP_HP_ENVY_GPIO),
9985 SND_PCI_QUIRK(0x103c, 0x86e7, "HP Spectre x360 15-eb0xxx", ALC285_FIXUP_HP_SPECTRE_X360_EB1),
9986 SND_PCI_QUIRK(0x103c, 0x86e8, "HP Spectre x360 15-eb0xxx", ALC285_FIXUP_HP_SPECTRE_X360_EB1),
9987 SND_PCI_QUIRK(0x103c, 0x86f9, "HP Spectre x360 13-aw0xxx", ALC285_FIXUP_HP_SPECTRE_X360_MUTE_LED),
9988 SND_PCI_QUIRK(0x103c, 0x8716, "HP Elite Dragonfly G2 Notebook PC", ALC285_FIXUP_HP_GPIO_AMP_INIT),
9989 SND_PCI_QUIRK(0x103c, 0x8720, "HP EliteBook x360 1040 G8 Notebook PC", ALC285_FIXUP_HP_GPIO_AMP_INIT),
9990 SND_PCI_QUIRK(0x103c, 0x8724, "HP EliteBook 850 G7", ALC285_FIXUP_HP_GPIO_LED),
9991 SND_PCI_QUIRK(0x103c, 0x8728, "HP EliteBook 840 G7", ALC285_FIXUP_HP_GPIO_LED),
9992 SND_PCI_QUIRK(0x103c, 0x8729, "HP", ALC285_FIXUP_HP_GPIO_LED),
9993 SND_PCI_QUIRK(0x103c, 0x8730, "HP ProBook 445 G7", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
9994 SND_PCI_QUIRK(0x103c, 0x8735, "HP ProBook 435 G7", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
9995 SND_PCI_QUIRK(0x103c, 0x8736, "HP", ALC285_FIXUP_HP_GPIO_AMP_INIT),
9996 SND_PCI_QUIRK(0x103c, 0x8760, "HP", ALC285_FIXUP_HP_MUTE_LED),
9997 SND_PCI_QUIRK(0x103c, 0x876e, "HP ENVY x360 Convertible 13-ay0xxx", ALC245_FIXUP_HP_X360_MUTE_LEDS),
9998 SND_PCI_QUIRK(0x103c, 0x877a, "HP", ALC285_FIXUP_HP_MUTE_LED),
9999 SND_PCI_QUIRK(0x103c, 0x877d, "HP", ALC236_FIXUP_HP_MUTE_LED),
10000 SND_PCI_QUIRK(0x103c, 0x8780, "HP ZBook Fury 17 G7 Mobile Workstation",
10002 SND_PCI_QUIRK(0x103c, 0x8783, "HP ZBook Fury 15 G7 Mobile Workstation",
10004 SND_PCI_QUIRK(0x103c, 0x8786, "HP OMEN 15", ALC285_FIXUP_HP_MUTE_LED),
10005 SND_PCI_QUIRK(0x103c, 0x8787, "HP OMEN 15", ALC285_FIXUP_HP_MUTE_LED),
10006 SND_PCI_QUIRK(0x103c, 0x8788, "HP OMEN 15", ALC285_FIXUP_HP_MUTE_LED),
10007 SND_PCI_QUIRK(0x103c, 0x87b7, "HP Laptop 14-fq0xxx", ALC236_FIXUP_HP_MUTE_LED_COEFBIT2),
10008 SND_PCI_QUIRK(0x103c, 0x87c8, "HP", ALC287_FIXUP_HP_GPIO_LED),
10009 SND_PCI_QUIRK(0x103c, 0x87d3, "HP Laptop 15-gw0xxx", ALC236_FIXUP_HP_MUTE_LED_COEFBIT2),
10010 SND_PCI_QUIRK(0x103c, 0x87df, "HP ProBook 430 G8 Notebook PC", ALC236_FIXUP_HP_GPIO_LED),
10011 SND_PCI_QUIRK(0x103c, 0x87e5, "HP ProBook 440 G8 Notebook PC", ALC236_FIXUP_HP_GPIO_LED),
10012 SND_PCI_QUIRK(0x103c, 0x87e7, "HP ProBook 450 G8 Notebook PC", ALC236_FIXUP_HP_GPIO_LED),
10013 SND_PCI_QUIRK(0x103c, 0x87f1, "HP ProBook 630 G8 Notebook PC", ALC236_FIXUP_HP_GPIO_LED),
10014 SND_PCI_QUIRK(0x103c, 0x87f2, "HP ProBook 640 G8 Notebook PC", ALC236_FIXUP_HP_GPIO_LED),
10015 SND_PCI_QUIRK(0x103c, 0x87f4, "HP", ALC287_FIXUP_HP_GPIO_LED),
10016 SND_PCI_QUIRK(0x103c, 0x87f5, "HP", ALC287_FIXUP_HP_GPIO_LED),
10017 SND_PCI_QUIRK(0x103c, 0x87f6, "HP Spectre x360 14", ALC245_FIXUP_HP_X360_AMP),
10018 SND_PCI_QUIRK(0x103c, 0x87f7, "HP Spectre x360 14", ALC245_FIXUP_HP_X360_AMP),
10019 SND_PCI_QUIRK(0x103c, 0x87fd, "HP Laptop 14-dq2xxx", ALC236_FIXUP_HP_MUTE_LED_COEFBIT2),
10020 SND_PCI_QUIRK(0x103c, 0x87fe, "HP Laptop 15s-fq2xxx", ALC236_FIXUP_HP_MUTE_LED_COEFBIT2),
10021 SND_PCI_QUIRK(0x103c, 0x8805, "HP ProBook 650 G8 Notebook PC", ALC236_FIXUP_HP_GPIO_LED),
10022 SND_PCI_QUIRK(0x103c, 0x880d, "HP EliteBook 830 G8 Notebook PC", ALC285_FIXUP_HP_GPIO_LED),
10023 SND_PCI_QUIRK(0x103c, 0x8811, "HP Spectre x360 15-eb1xxx", ALC285_FIXUP_HP_SPECTRE_X360_EB1),
10024 SND_PCI_QUIRK(0x103c, 0x8812, "HP Spectre x360 15-eb1xxx", ALC285_FIXUP_HP_SPECTRE_X360_EB1),
10025 SND_PCI_QUIRK(0x103c, 0x881d, "HP 250 G8 Notebook PC", ALC236_FIXUP_HP_MUTE_LED_COEFBIT2),
10026 SND_PCI_QUIRK(0x103c, 0x8846, "HP EliteBook 850 G8 Notebook PC", ALC285_FIXUP_HP_GPIO_LED),
10027 SND_PCI_QUIRK(0x103c, 0x8847, "HP EliteBook x360 830 G8 Notebook PC", ALC285_FIXUP_HP_GPIO_LED),
10028 SND_PCI_QUIRK(0x103c, 0x884b, "HP EliteBook 840 Aero G8 Notebook PC", ALC285_FIXUP_HP_GPIO_LED),
10029 SND_PCI_QUIRK(0x103c, 0x884c, "HP EliteBook 840 G8 Notebook PC", ALC285_FIXUP_HP_GPIO_LED),
10030 SND_PCI_QUIRK(0x103c, 0x8862, "HP ProBook 445 G8 Notebook PC", ALC236_FIXUP_HP_LIMIT_INT_MIC_BOOST),
10031 SND_PCI_QUIRK(0x103c, 0x8863, "HP ProBook 445 G8 Notebook PC", ALC236_FIXUP_HP_LIMIT_INT_MIC_BOOST),
10032 SND_PCI_QUIRK(0x103c, 0x886d, "HP ZBook Fury 17.3 Inch G8 Mobile Workstation PC", ALC285_FIXUP_HP_GPIO_AMP_INIT),
10033 SND_PCI_QUIRK(0x103c, 0x8870, "HP ZBook Fury 15.6 Inch G8 Mobile Workstation PC", ALC285_FIXUP_HP_GPIO_AMP_INIT),
10034 SND_PCI_QUIRK(0x103c, 0x8873, "HP ZBook Studio 15.6 Inch G8 Mobile Workstation PC", ALC285_FIXUP_HP_GPIO_AMP_INIT),
10035 SND_PCI_QUIRK(0x103c, 0x887a, "HP Laptop 15s-eq2xxx", ALC236_FIXUP_HP_MUTE_LED_COEFBIT2),
10036 SND_PCI_QUIRK(0x103c, 0x887c, "HP Laptop 14s-fq1xxx", ALC236_FIXUP_HP_MUTE_LED_COEFBIT2),
10037 SND_PCI_QUIRK(0x103c, 0x888a, "HP ENVY x360 Convertible 15-eu0xxx", ALC245_FIXUP_HP_X360_MUTE_LEDS),
10038 SND_PCI_QUIRK(0x103c, 0x888d, "HP ZBook Power 15.6 inch G8 Mobile Workstation PC", ALC236_FIXUP_HP_GPIO_LED),
10039 SND_PCI_QUIRK(0x103c, 0x8895, "HP EliteBook 855 G8 Notebook PC", ALC285_FIXUP_HP_SPEAKERS_MICMUTE_LED),
10040 SND_PCI_QUIRK(0x103c, 0x8896, "HP EliteBook 855 G8 Notebook PC", ALC285_FIXUP_HP_MUTE_LED),
10041 SND_PCI_QUIRK(0x103c, 0x8898, "HP EliteBook 845 G8 Notebook PC", ALC285_FIXUP_HP_LIMIT_INT_MIC_BOOST),
10042 SND_PCI_QUIRK(0x103c, 0x88d0, "HP Pavilion 15-eh1xxx (mainboard 88D0)", ALC287_FIXUP_HP_GPIO_LED),
10043 SND_PCI_QUIRK(0x103c, 0x88dd, "HP Pavilion 15z-ec200", ALC285_FIXUP_HP_MUTE_LED),
10044 SND_PCI_QUIRK(0x103c, 0x8902, "HP OMEN 16", ALC285_FIXUP_HP_MUTE_LED),
10045 SND_PCI_QUIRK(0x103c, 0x890e, "HP 255 G8 Notebook PC", ALC236_FIXUP_HP_MUTE_LED_COEFBIT2),
10046 SND_PCI_QUIRK(0x103c, 0x8919, "HP Pavilion Aero Laptop 13-be0xxx", ALC287_FIXUP_HP_GPIO_LED),
10047 SND_PCI_QUIRK(0x103c, 0x896d, "HP ZBook Firefly 16 G9", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED),
10048 SND_PCI_QUIRK(0x103c, 0x896e, "HP EliteBook x360 830 G9", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED),
10049 SND_PCI_QUIRK(0x103c, 0x8971, "HP EliteBook 830 G9", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED),
10050 SND_PCI_QUIRK(0x103c, 0x8972, "HP EliteBook 840 G9", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED),
10051 SND_PCI_QUIRK(0x103c, 0x8973, "HP EliteBook 860 G9", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED),
10052 SND_PCI_QUIRK(0x103c, 0x8974, "HP EliteBook 840 Aero G9", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED),
10053 SND_PCI_QUIRK(0x103c, 0x8975, "HP EliteBook x360 840 Aero G9", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED),
10054 SND_PCI_QUIRK(0x103c, 0x897d, "HP mt440 Mobile Thin Client U74", ALC236_FIXUP_HP_GPIO_LED),
10055 SND_PCI_QUIRK(0x103c, 0x8981, "HP Elite Dragonfly G3", ALC245_FIXUP_CS35L41_SPI_4),
10056 SND_PCI_QUIRK(0x103c, 0x898e, "HP EliteBook 835 G9", ALC287_FIXUP_CS35L41_I2C_2),
10057 SND_PCI_QUIRK(0x103c, 0x898f, "HP EliteBook 835 G9", ALC287_FIXUP_CS35L41_I2C_2),
10058 SND_PCI_QUIRK(0x103c, 0x8991, "HP EliteBook 845 G9", ALC287_FIXUP_CS35L41_I2C_2_HP_GPIO_LED),
10059 SND_PCI_QUIRK(0x103c, 0x8992, "HP EliteBook 845 G9", ALC287_FIXUP_CS35L41_I2C_2),
10060 SND_PCI_QUIRK(0x103c, 0x8994, "HP EliteBook 855 G9", ALC287_FIXUP_CS35L41_I2C_2_HP_GPIO_LED),
10061 SND_PCI_QUIRK(0x103c, 0x8995, "HP EliteBook 855 G9", ALC287_FIXUP_CS35L41_I2C_2),
10062 SND_PCI_QUIRK(0x103c, 0x89a4, "HP ProBook 440 G9", ALC236_FIXUP_HP_GPIO_LED),
10063 SND_PCI_QUIRK(0x103c, 0x89a6, "HP ProBook 450 G9", ALC236_FIXUP_HP_GPIO_LED),
10064 SND_PCI_QUIRK(0x103c, 0x89aa, "HP EliteBook 630 G9", ALC236_FIXUP_HP_GPIO_LED),
10065 SND_PCI_QUIRK(0x103c, 0x89ac, "HP EliteBook 640 G9", ALC236_FIXUP_HP_GPIO_LED),
10066 SND_PCI_QUIRK(0x103c, 0x89ae, "HP EliteBook 650 G9", ALC236_FIXUP_HP_GPIO_LED),
10067 SND_PCI_QUIRK(0x103c, 0x89c0, "HP ZBook Power 15.6 G9", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED),
10068 SND_PCI_QUIRK(0x103c, 0x89c3, "Zbook Studio G9", ALC245_FIXUP_CS35L41_SPI_4_HP_GPIO_LED),
10069 SND_PCI_QUIRK(0x103c, 0x89c6, "Zbook Fury 17 G9", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED),
10070 SND_PCI_QUIRK(0x103c, 0x89ca, "HP", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
10071 SND_PCI_QUIRK(0x103c, 0x89d3, "HP EliteBook 645 G9 (MB 89D2)", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
10072 SND_PCI_QUIRK(0x103c, 0x8a0f, "HP Pavilion 14-ec1xxx", ALC287_FIXUP_HP_GPIO_LED),
10073 SND_PCI_QUIRK(0x103c, 0x8a20, "HP Laptop 15s-fq5xxx", ALC236_FIXUP_HP_MUTE_LED_COEFBIT2),
10074 SND_PCI_QUIRK(0x103c, 0x8a25, "HP Victus 16-d1xxx (MB 8A25)", ALC245_FIXUP_HP_MUTE_LED_COEFBIT),
10075 SND_PCI_QUIRK(0x103c, 0x8a78, "HP Dev One", ALC285_FIXUP_HP_LIMIT_INT_MIC_BOOST),
10076 SND_PCI_QUIRK(0x103c, 0x8aa0, "HP ProBook 440 G9 (MB 8A9E)", ALC236_FIXUP_HP_GPIO_LED),
10077 SND_PCI_QUIRK(0x103c, 0x8aa3, "HP ProBook 450 G9 (MB 8AA1)", ALC236_FIXUP_HP_GPIO_LED),
10078 SND_PCI_QUIRK(0x103c, 0x8aa8, "HP EliteBook 640 G9 (MB 8AA6)", ALC236_FIXUP_HP_GPIO_LED),
10079 SND_PCI_QUIRK(0x103c, 0x8aab, "HP EliteBook 650 G9 (MB 8AA9)", ALC236_FIXUP_HP_GPIO_LED),
10080 SND_PCI_QUIRK(0x103c, 0x8ab9, "HP EliteBook 840 G8 (MB 8AB8)", ALC285_FIXUP_HP_GPIO_LED),
10081 SND_PCI_QUIRK(0x103c, 0x8abb, "HP ZBook Firefly 14 G9", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED),
10082 SND_PCI_QUIRK(0x103c, 0x8ad1, "HP EliteBook 840 14 inch G9 Notebook PC", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED),
10083 SND_PCI_QUIRK(0x103c, 0x8ad2, "HP EliteBook 860 16 inch G9 Notebook PC", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED),
10084 SND_PCI_QUIRK(0x103c, 0x8b0f, "HP Elite mt645 G7 Mobile Thin Client U81", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
10085 SND_PCI_QUIRK(0x103c, 0x8b2f, "HP 255 15.6 inch G10 Notebook PC", ALC236_FIXUP_HP_MUTE_LED_COEFBIT2),
10086 SND_PCI_QUIRK(0x103c, 0x8b3f, "HP mt440 Mobile Thin Client U91", ALC236_FIXUP_HP_GPIO_LED),
10087 SND_PCI_QUIRK(0x103c, 0x8b42, "HP", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED),
10088 SND_PCI_QUIRK(0x103c, 0x8b43, "HP", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED),
10089 SND_PCI_QUIRK(0x103c, 0x8b44, "HP", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED),
10090 SND_PCI_QUIRK(0x103c, 0x8b45, "HP", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED),
10091 SND_PCI_QUIRK(0x103c, 0x8b46, "HP", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED),
10092 SND_PCI_QUIRK(0x103c, 0x8b47, "HP", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED),
10093 SND_PCI_QUIRK(0x103c, 0x8b59, "HP Elite mt645 G7 Mobile Thin Client U89", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
10094 SND_PCI_QUIRK(0x103c, 0x8b5d, "HP", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
10095 SND_PCI_QUIRK(0x103c, 0x8b5e, "HP", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
10096 SND_PCI_QUIRK(0x103c, 0x8b5f, "HP", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
10097 SND_PCI_QUIRK(0x103c, 0x8b63, "HP Elite Dragonfly 13.5 inch G4", ALC245_FIXUP_CS35L41_SPI_4_HP_GPIO_LED),
10098 SND_PCI_QUIRK(0x103c, 0x8b65, "HP ProBook 455 15.6 inch G10 Notebook PC", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
10099 SND_PCI_QUIRK(0x103c, 0x8b66, "HP", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
10100 SND_PCI_QUIRK(0x103c, 0x8b70, "HP EliteBook 835 G10", ALC287_FIXUP_CS35L41_I2C_2_HP_GPIO_LED),
10101 SND_PCI_QUIRK(0x103c, 0x8b72, "HP EliteBook 845 G10", ALC287_FIXUP_CS35L41_I2C_2_HP_GPIO_LED),
10102 SND_PCI_QUIRK(0x103c, 0x8b74, "HP EliteBook 845W G10", ALC287_FIXUP_CS35L41_I2C_2_HP_GPIO_LED),
10103 SND_PCI_QUIRK(0x103c, 0x8b77, "HP ElieBook 865 G10", ALC287_FIXUP_CS35L41_I2C_2),
10104 SND_PCI_QUIRK(0x103c, 0x8b7a, "HP", ALC236_FIXUP_HP_GPIO_LED),
10105 SND_PCI_QUIRK(0x103c, 0x8b7d, "HP", ALC236_FIXUP_HP_GPIO_LED),
10106 SND_PCI_QUIRK(0x103c, 0x8b87, "HP", ALC236_FIXUP_HP_GPIO_LED),
10107 SND_PCI_QUIRK(0x103c, 0x8b8a, "HP", ALC236_FIXUP_HP_GPIO_LED),
10108 SND_PCI_QUIRK(0x103c, 0x8b8b, "HP", ALC236_FIXUP_HP_GPIO_LED),
10109 SND_PCI_QUIRK(0x103c, 0x8b8d, "HP", ALC236_FIXUP_HP_GPIO_LED),
10110 SND_PCI_QUIRK(0x103c, 0x8b8f, "HP", ALC245_FIXUP_CS35L41_SPI_4_HP_GPIO_LED),
10111 SND_PCI_QUIRK(0x103c, 0x8b92, "HP", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED),
10112 SND_PCI_QUIRK(0x103c, 0x8b96, "HP", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
10113 SND_PCI_QUIRK(0x103c, 0x8b97, "HP", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
10114 SND_PCI_QUIRK(0x103c, 0x8bf0, "HP", ALC236_FIXUP_HP_GPIO_LED),
10115 SND_PCI_QUIRK(0x103c, 0x8c46, "HP EliteBook 830 G11", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED),
10116 SND_PCI_QUIRK(0x103c, 0x8c47, "HP EliteBook 840 G11", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED),
10117 SND_PCI_QUIRK(0x103c, 0x8c48, "HP EliteBook 860 G11", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED),
10118 SND_PCI_QUIRK(0x103c, 0x8c49, "HP Elite x360 830 2-in-1 G11", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED),
10119 SND_PCI_QUIRK(0x103c, 0x8c70, "HP EliteBook 835 G11", ALC287_FIXUP_CS35L41_I2C_2_HP_GPIO_LED),
10120 SND_PCI_QUIRK(0x103c, 0x8c71, "HP EliteBook 845 G11", ALC287_FIXUP_CS35L41_I2C_2_HP_GPIO_LED),
10121 SND_PCI_QUIRK(0x103c, 0x8c72, "HP EliteBook 865 G11", ALC287_FIXUP_CS35L41_I2C_2_HP_GPIO_LED),
10122 SND_PCI_QUIRK(0x103c, 0x8c7b, "HP ProBook 445 G11", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
10123 SND_PCI_QUIRK(0x103c, 0x8c7c, "HP ProBook 445 G11", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
10124 SND_PCI_QUIRK(0x103c, 0x8c7d, "HP ProBook 465 G11", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
10125 SND_PCI_QUIRK(0x103c, 0x8c7e, "HP ProBook 465 G11", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
10126 SND_PCI_QUIRK(0x103c, 0x8c7f, "HP EliteBook 645 G11", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
10127 SND_PCI_QUIRK(0x103c, 0x8c80, "HP EliteBook 645 G11", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
10128 SND_PCI_QUIRK(0x103c, 0x8c81, "HP EliteBook 665 G11", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
10129 SND_PCI_QUIRK(0x103c, 0x8c89, "HP ProBook 460 G11", ALC236_FIXUP_HP_GPIO_LED),
10130 SND_PCI_QUIRK(0x103c, 0x8c8a, "HP EliteBook 630", ALC236_FIXUP_HP_GPIO_LED),
10131 SND_PCI_QUIRK(0x103c, 0x8c8c, "HP EliteBook 660", ALC236_FIXUP_HP_GPIO_LED),
10132 SND_PCI_QUIRK(0x103c, 0x8c8d, "HP ProBook 440 G11", ALC236_FIXUP_HP_GPIO_LED),
10133 SND_PCI_QUIRK(0x103c, 0x8c8e, "HP ProBook 460 G11", ALC236_FIXUP_HP_GPIO_LED),
10134 SND_PCI_QUIRK(0x103c, 0x8c90, "HP EliteBook 640", ALC236_FIXUP_HP_GPIO_LED),
10135 SND_PCI_QUIRK(0x103c, 0x8c91, "HP EliteBook 660", ALC236_FIXUP_HP_GPIO_LED),
10136 SND_PCI_QUIRK(0x103c, 0x8c96, "HP", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
10137 SND_PCI_QUIRK(0x103c, 0x8c97, "HP ZBook", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
10138 SND_PCI_QUIRK(0x103c, 0x8ca1, "HP ZBook Power", ALC236_FIXUP_HP_GPIO_LED),
10139 SND_PCI_QUIRK(0x103c, 0x8ca2, "HP ZBook Power", ALC236_FIXUP_HP_GPIO_LED),
10140 SND_PCI_QUIRK(0x103c, 0x8ca4, "HP ZBook Fury", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED),
10141 SND_PCI_QUIRK(0x103c, 0x8ca7, "HP ZBook Fury", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED),
10142 SND_PCI_QUIRK(0x103c, 0x8cf5, "HP ZBook Studio 16", ALC245_FIXUP_CS35L41_SPI_4_HP_GPIO_LED),
10143 SND_PCI_QUIRK(0x103c, 0x8d01, "HP ZBook Power 14 G12", ALC285_FIXUP_HP_GPIO_LED),
10144 SND_PCI_QUIRK(0x103c, 0x8d84, "HP EliteBook X G1i", ALC285_FIXUP_HP_GPIO_LED),
10145 SND_PCI_QUIRK(0x103c, 0x8d91, "HP ZBook Firefly 14 G12", ALC285_FIXUP_HP_GPIO_LED),
10146 SND_PCI_QUIRK(0x103c, 0x8d92, "HP ZBook Firefly 16 G12", ALC285_FIXUP_HP_GPIO_LED),
10147 SND_PCI_QUIRK(0x103c, 0x8e18, "HP ZBook Firefly 14 G12A", ALC285_FIXUP_HP_GPIO_LED),
10148 SND_PCI_QUIRK(0x103c, 0x8e19, "HP ZBook Firefly 14 G12A", ALC285_FIXUP_HP_GPIO_LED),
10149 SND_PCI_QUIRK(0x103c, 0x8e1a, "HP ZBook Firefly 14 G12A", ALC285_FIXUP_HP_GPIO_LED),
10150 SND_PCI_QUIRK(0x1043, 0x103e, "ASUS X540SA", ALC256_FIXUP_ASUS_MIC),
10151 SND_PCI_QUIRK(0x1043, 0x103f, "ASUS TX300", ALC282_FIXUP_ASUS_TX300),
10152 SND_PCI_QUIRK(0x1043, 0x106d, "Asus K53BE", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
10153 SND_PCI_QUIRK(0x1043, 0x10a1, "ASUS UX391UA", ALC294_FIXUP_ASUS_SPK),
10154 SND_PCI_QUIRK(0x1043, 0x10c0, "ASUS X540SA", ALC256_FIXUP_ASUS_MIC),
10155 SND_PCI_QUIRK(0x1043, 0x10d0, "ASUS X540LA/X540LJ", ALC255_FIXUP_ASUS_MIC_NO_PRESENCE),
10156 SND_PCI_QUIRK(0x1043, 0x10d3, "ASUS K6500ZC", ALC294_FIXUP_ASUS_SPK),
10157 SND_PCI_QUIRK(0x1043, 0x115d, "Asus 1015E", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
10158 SND_PCI_QUIRK(0x1043, 0x11c0, "ASUS X556UR", ALC255_FIXUP_ASUS_MIC_NO_PRESENCE),
10159 SND_PCI_QUIRK(0x1043, 0x125e, "ASUS Q524UQK", ALC255_FIXUP_ASUS_MIC_NO_PRESENCE),
10160 SND_PCI_QUIRK(0x1043, 0x1271, "ASUS X430UN", ALC256_FIXUP_ASUS_MIC_NO_PRESENCE),
10161 SND_PCI_QUIRK(0x1043, 0x1290, "ASUS X441SA", ALC233_FIXUP_EAPD_COEF_AND_MIC_NO_PRESENCE),
10162 SND_PCI_QUIRK(0x1043, 0x12a0, "ASUS X441UV", ALC233_FIXUP_EAPD_COEF_AND_MIC_NO_PRESENCE),
10163 SND_PCI_QUIRK(0x1043, 0x12a3, "Asus N7691ZM", ALC269_FIXUP_ASUS_N7601ZM),
10164 SND_PCI_QUIRK(0x1043, 0x12af, "ASUS UX582ZS", ALC245_FIXUP_CS35L41_SPI_2),
10165 SND_PCI_QUIRK(0x1043, 0x12e0, "ASUS X541SA", ALC256_FIXUP_ASUS_MIC),
10166 SND_PCI_QUIRK(0x1043, 0x12f0, "ASUS X541UV", ALC256_FIXUP_ASUS_MIC),
10167 SND_PCI_QUIRK(0x1043, 0x1313, "Asus K42JZ", ALC269VB_FIXUP_ASUS_MIC_NO_PRESENCE),
10168 SND_PCI_QUIRK(0x1043, 0x13b0, "ASUS Z550SA", ALC256_FIXUP_ASUS_MIC),
10169 SND_PCI_QUIRK(0x1043, 0x1427, "Asus Zenbook UX31E", ALC269VB_FIXUP_ASUS_ZENBOOK),
10170 SND_PCI_QUIRK(0x1043, 0x1433, "ASUS GX650PY/PZ/PV/PU/PYV/PZV/PIV/PVV", ALC285_FIXUP_ASUS_I2C_HEADSET_MIC),
10171 SND_PCI_QUIRK(0x1043, 0x1460, "Asus VivoBook 15", ALC256_FIXUP_ASUS_MIC_NO_PRESENCE),
10172 SND_PCI_QUIRK(0x1043, 0x1463, "Asus GA402X/GA402N", ALC285_FIXUP_ASUS_I2C_HEADSET_MIC),
10173 SND_PCI_QUIRK(0x1043, 0x1473, "ASUS GU604VI/VC/VE/VG/VJ/VQ/VU/VV/VY/VZ", ALC285_FIXUP_ASUS_HEADSET_MIC),
10174 SND_PCI_QUIRK(0x1043, 0x1483, "ASUS GU603VQ/VU/VV/VJ/VI", ALC285_FIXUP_ASUS_HEADSET_MIC),
10175 SND_PCI_QUIRK(0x1043, 0x1493, "ASUS GV601VV/VU/VJ/VQ/VI", ALC285_FIXUP_ASUS_HEADSET_MIC),
10176 SND_PCI_QUIRK(0x1043, 0x14d3, "ASUS G614JY/JZ/JG", ALC245_FIXUP_CS35L41_SPI_2),
10177 SND_PCI_QUIRK(0x1043, 0x14e3, "ASUS G513PI/PU/PV", ALC287_FIXUP_CS35L41_I2C_2),
10178 SND_PCI_QUIRK(0x1043, 0x1503, "ASUS G733PY/PZ/PZV/PYV", ALC287_FIXUP_CS35L41_I2C_2),
10179 SND_PCI_QUIRK(0x1043, 0x1517, "Asus Zenbook UX31A", ALC269VB_FIXUP_ASUS_ZENBOOK_UX31A),
10180 SND_PCI_QUIRK(0x1043, 0x1533, "ASUS GV302XA/XJ/XQ/XU/XV/XI", ALC287_FIXUP_CS35L41_I2C_2),
10181 SND_PCI_QUIRK(0x1043, 0x1573, "ASUS GZ301VV/VQ/VU/VJ/VA/VC/VE/VVC/VQC/VUC/VJC/VEC/VCC", ALC285_FIXUP_ASUS_HEADSET_MIC),
10182 SND_PCI_QUIRK(0x1043, 0x1662, "ASUS GV301QH", ALC294_FIXUP_ASUS_DUAL_SPK),
10183 SND_PCI_QUIRK(0x1043, 0x1663, "ASUS GU603ZI/ZJ/ZQ/ZU/ZV", ALC285_FIXUP_ASUS_HEADSET_MIC),
10184 SND_PCI_QUIRK(0x1043, 0x1683, "ASUS UM3402YAR", ALC287_FIXUP_CS35L41_I2C_2),
10185 SND_PCI_QUIRK(0x1043, 0x16a3, "ASUS UX3402VA", ALC245_FIXUP_CS35L41_SPI_2),
10186 SND_PCI_QUIRK(0x1043, 0x16b2, "ASUS GU603", ALC289_FIXUP_ASUS_GA401),
10187 SND_PCI_QUIRK(0x1043, 0x16e3, "ASUS UX50", ALC269_FIXUP_STEREO_DMIC),
10188 SND_PCI_QUIRK(0x1043, 0x1740, "ASUS UX430UA", ALC295_FIXUP_ASUS_DACS),
10189 SND_PCI_QUIRK(0x1043, 0x17d1, "ASUS UX431FL", ALC294_FIXUP_ASUS_DUAL_SPK),
10190 SND_PCI_QUIRK(0x1043, 0x17f3, "ROG Ally NR2301L/X", ALC294_FIXUP_ASUS_ALLY),
10191 SND_PCI_QUIRK(0x1043, 0x1881, "ASUS Zephyrus S/M", ALC294_FIXUP_ASUS_GX502_PINS),
10192 SND_PCI_QUIRK(0x1043, 0x18b1, "Asus MJ401TA", ALC256_FIXUP_ASUS_HEADSET_MIC),
10193 SND_PCI_QUIRK(0x1043, 0x18d3, "ASUS UM3504DA", ALC294_FIXUP_CS35L41_I2C_2),
10194 SND_PCI_QUIRK(0x1043, 0x18f1, "Asus FX505DT", ALC256_FIXUP_ASUS_HEADSET_MIC),
10195 SND_PCI_QUIRK(0x1043, 0x194e, "ASUS UX563FD", ALC294_FIXUP_ASUS_HPE),
10196 SND_PCI_QUIRK(0x1043, 0x1970, "ASUS UX550VE", ALC289_FIXUP_ASUS_GA401),
10197 SND_PCI_QUIRK(0x1043, 0x1982, "ASUS B1400CEPE", ALC256_FIXUP_ASUS_HPE),
10198 SND_PCI_QUIRK(0x1043, 0x19ce, "ASUS B9450FA", ALC294_FIXUP_ASUS_HPE),
10199 SND_PCI_QUIRK(0x1043, 0x19e1, "ASUS UX581LV", ALC295_FIXUP_ASUS_MIC_NO_PRESENCE),
10200 SND_PCI_QUIRK(0x1043, 0x1a13, "Asus G73Jw", ALC269_FIXUP_ASUS_G73JW),
10201 SND_PCI_QUIRK(0x1043, 0x1a63, "ASUS UX3405MA", ALC245_FIXUP_CS35L41_SPI_2),
10202 SND_PCI_QUIRK(0x1043, 0x1a83, "ASUS UM5302LA", ALC294_FIXUP_CS35L41_I2C_2),
10203 SND_PCI_QUIRK(0x1043, 0x1a8f, "ASUS UX582ZS", ALC245_FIXUP_CS35L41_SPI_2),
10204 SND_PCI_QUIRK(0x1043, 0x1b11, "ASUS UX431DA", ALC294_FIXUP_ASUS_COEF_1B),
10205 SND_PCI_QUIRK(0x1043, 0x1b13, "Asus U41SV", ALC269_FIXUP_INV_DMIC),
10206 SND_PCI_QUIRK(0x1043, 0x1b93, "ASUS G614JVR/JIR", ALC245_FIXUP_CS35L41_SPI_2),
10207 SND_PCI_QUIRK(0x1043, 0x1bbd, "ASUS Z550MA", ALC255_FIXUP_ASUS_MIC_NO_PRESENCE),
10208 SND_PCI_QUIRK(0x1043, 0x1c03, "ASUS UM3406HA", ALC287_FIXUP_CS35L41_I2C_2),
10209 SND_PCI_QUIRK(0x1043, 0x1c23, "Asus X55U", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
10210 SND_PCI_QUIRK(0x1043, 0x1c33, "ASUS UX5304MA", ALC245_FIXUP_CS35L41_SPI_2),
10211 SND_PCI_QUIRK(0x1043, 0x1c43, "ASUS UX8406MA", ALC245_FIXUP_CS35L41_SPI_2),
10212 SND_PCI_QUIRK(0x1043, 0x1c62, "ASUS GU603", ALC289_FIXUP_ASUS_GA401),
10213 SND_PCI_QUIRK(0x1043, 0x1c92, "ASUS ROG Strix G15", ALC285_FIXUP_ASUS_G533Z_PINS),
10214 SND_PCI_QUIRK(0x1043, 0x1c9f, "ASUS G614JU/JV/JI", ALC285_FIXUP_ASUS_HEADSET_MIC),
10215 SND_PCI_QUIRK(0x1043, 0x1caf, "ASUS G634JY/JZ/JI/JG", ALC285_FIXUP_ASUS_SPI_REAR_SPEAKERS),
10216 SND_PCI_QUIRK(0x1043, 0x1ccd, "ASUS X555UB", ALC256_FIXUP_ASUS_MIC),
10217 SND_PCI_QUIRK(0x1043, 0x1ccf, "ASUS G814JU/JV/JI", ALC245_FIXUP_CS35L41_SPI_2),
10218 SND_PCI_QUIRK(0x1043, 0x1cdf, "ASUS G814JY/JZ/JG", ALC245_FIXUP_CS35L41_SPI_2),
10219 SND_PCI_QUIRK(0x1043, 0x1cef, "ASUS G834JY/JZ/JI/JG", ALC285_FIXUP_ASUS_HEADSET_MIC),
10220 SND_PCI_QUIRK(0x1043, 0x1d1f, "ASUS G713PI/PU/PV/PVN", ALC287_FIXUP_CS35L41_I2C_2),
10221 SND_PCI_QUIRK(0x1043, 0x1d42, "ASUS Zephyrus G14 2022", ALC289_FIXUP_ASUS_GA401),
10222 SND_PCI_QUIRK(0x1043, 0x1d4e, "ASUS TM420", ALC256_FIXUP_ASUS_HPE),
10223 SND_PCI_QUIRK(0x1043, 0x1da2, "ASUS UP6502ZA/ZD", ALC245_FIXUP_CS35L41_SPI_2),
10224 SND_PCI_QUIRK(0x1043, 0x1e02, "ASUS UX3402ZA", ALC245_FIXUP_CS35L41_SPI_2),
10225 SND_PCI_QUIRK(0x1043, 0x1e11, "ASUS Zephyrus G15", ALC289_FIXUP_ASUS_GA502),
10226 SND_PCI_QUIRK(0x1043, 0x1e12, "ASUS UM3402", ALC287_FIXUP_CS35L41_I2C_2),
10227 SND_PCI_QUIRK(0x1043, 0x1e51, "ASUS Zephyrus M15", ALC294_FIXUP_ASUS_GU502_PINS),
10228 SND_PCI_QUIRK(0x1043, 0x1e5e, "ASUS ROG Strix G513", ALC294_FIXUP_ASUS_G513_PINS),
10229 SND_PCI_QUIRK(0x1043, 0x1e8e, "ASUS Zephyrus G15", ALC289_FIXUP_ASUS_GA401),
10230 SND_PCI_QUIRK(0x1043, 0x1ee2, "ASUS UM6702RA/RC", ALC287_FIXUP_CS35L41_I2C_2),
10231 SND_PCI_QUIRK(0x1043, 0x1c52, "ASUS Zephyrus G15 2022", ALC289_FIXUP_ASUS_GA401),
10232 SND_PCI_QUIRK(0x1043, 0x1f11, "ASUS Zephyrus G14", ALC289_FIXUP_ASUS_GA401),
10233 SND_PCI_QUIRK(0x1043, 0x1f12, "ASUS UM5302", ALC287_FIXUP_CS35L41_I2C_2),
10234 SND_PCI_QUIRK(0x1043, 0x1f62, "ASUS UX7602ZM", ALC245_FIXUP_CS35L41_SPI_2),
10235 SND_PCI_QUIRK(0x1043, 0x1f92, "ASUS ROG Flow X16", ALC289_FIXUP_ASUS_GA401),
10236 SND_PCI_QUIRK(0x1043, 0x3030, "ASUS ZN270IE", ALC256_FIXUP_ASUS_AIO_GPIO2),
10237 SND_PCI_QUIRK(0x1043, 0x3a20, "ASUS G614JZR", ALC245_FIXUP_CS35L41_SPI_2),
10238 SND_PCI_QUIRK(0x1043, 0x3a30, "ASUS G814JVR/JIR", ALC245_FIXUP_CS35L41_SPI_2),
10239 SND_PCI_QUIRK(0x1043, 0x3a40, "ASUS G814JZR", ALC285_FIXUP_ASUS_SPI_REAR_SPEAKERS),
10240 SND_PCI_QUIRK(0x1043, 0x3a50, "ASUS G834JYR/JZR", ALC245_FIXUP_CS35L41_SPI_2),
10241 SND_PCI_QUIRK(0x1043, 0x3a60, "ASUS G634JYR/JZR", ALC245_FIXUP_CS35L41_SPI_2),
10242 SND_PCI_QUIRK(0x1043, 0x831a, "ASUS P901", ALC269_FIXUP_STEREO_DMIC),
10243 SND_PCI_QUIRK(0x1043, 0x834a, "ASUS S101", ALC269_FIXUP_STEREO_DMIC),
10244 SND_PCI_QUIRK(0x1043, 0x8398, "ASUS P1005", ALC269_FIXUP_STEREO_DMIC),
10245 SND_PCI_QUIRK(0x1043, 0x83ce, "ASUS P1005", ALC269_FIXUP_STEREO_DMIC),
10246 SND_PCI_QUIRK(0x1043, 0x8516, "ASUS X101CH", ALC269_FIXUP_ASUS_X101),
10247 SND_PCI_QUIRK(0x104d, 0x9073, "Sony VAIO", ALC275_FIXUP_SONY_VAIO_GPIO2),
10248 SND_PCI_QUIRK(0x104d, 0x907b, "Sony VAIO", ALC275_FIXUP_SONY_HWEQ),
10249 SND_PCI_QUIRK(0x104d, 0x9084, "Sony VAIO", ALC275_FIXUP_SONY_HWEQ),
10250 SND_PCI_QUIRK(0x104d, 0x9099, "Sony VAIO S13", ALC275_FIXUP_SONY_DISABLE_AAMIX),
10251 SND_PCI_QUIRK(0x104d, 0x90b5, "Sony VAIO Pro 11", ALC286_FIXUP_SONY_MIC_NO_PRESENCE),
10252 SND_PCI_QUIRK(0x104d, 0x90b6, "Sony VAIO Pro 13", ALC286_FIXUP_SONY_MIC_NO_PRESENCE),
10253 SND_PCI_QUIRK(0x10cf, 0x1475, "Lifebook", ALC269_FIXUP_LIFEBOOK),
10254 SND_PCI_QUIRK(0x10cf, 0x159f, "Lifebook E780", ALC269_FIXUP_LIFEBOOK_NO_HP_TO_LINEOUT),
10255 SND_PCI_QUIRK(0x10cf, 0x15dc, "Lifebook T731", ALC269_FIXUP_LIFEBOOK_HP_PIN),
10256 SND_PCI_QUIRK(0x10cf, 0x1629, "Lifebook U7x7", ALC255_FIXUP_LIFEBOOK_U7x7_HEADSET_MIC),
10257 SND_PCI_QUIRK(0x10cf, 0x1757, "Lifebook E752", ALC269_FIXUP_LIFEBOOK_HP_PIN),
10258 SND_PCI_QUIRK(0x10cf, 0x1845, "Lifebook U904", ALC269_FIXUP_LIFEBOOK_EXTMIC),
10259 SND_PCI_QUIRK(0x10ec, 0x10f2, "Intel Reference board", ALC700_FIXUP_INTEL_REFERENCE),
10260 SND_PCI_QUIRK(0x10ec, 0x118c, "Medion EE4254 MD62100", ALC256_FIXUP_MEDION_HEADSET_NO_PRESENCE),
10261 SND_PCI_QUIRK(0x10ec, 0x119e, "Positivo SU C1400", ALC269_FIXUP_ASPIRE_HEADSET_MIC),
10262 SND_PCI_QUIRK(0x10ec, 0x11bc, "VAIO VJFE-IL", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
10263 SND_PCI_QUIRK(0x10ec, 0x1230, "Intel Reference board", ALC295_FIXUP_CHROME_BOOK),
10264 SND_PCI_QUIRK(0x10ec, 0x124c, "Intel Reference board", ALC295_FIXUP_CHROME_BOOK),
10265 SND_PCI_QUIRK(0x10ec, 0x1252, "Intel Reference board", ALC295_FIXUP_CHROME_BOOK),
10266 SND_PCI_QUIRK(0x10ec, 0x1254, "Intel Reference board", ALC295_FIXUP_CHROME_BOOK),
10267 SND_PCI_QUIRK(0x10ec, 0x12cc, "Intel Reference board", ALC295_FIXUP_CHROME_BOOK),
10268 SND_PCI_QUIRK(0x10f7, 0x8338, "Panasonic CF-SZ6", ALC269_FIXUP_ASPIRE_HEADSET_MIC),
10269 SND_PCI_QUIRK(0x144d, 0xc109, "Samsung Ativ book 9 (NP900X3G)", ALC269_FIXUP_INV_DMIC),
10270 SND_PCI_QUIRK(0x144d, 0xc169, "Samsung Notebook 9 Pen (NP930SBE-K01US)", ALC298_FIXUP_SAMSUNG_AMP),
10271 SND_PCI_QUIRK(0x144d, 0xc176, "Samsung Notebook 9 Pro (NP930MBE-K04US)", ALC298_FIXUP_SAMSUNG_AMP),
10272 SND_PCI_QUIRK(0x144d, 0xc189, "Samsung Galaxy Flex Book (NT950QCG-X716)", ALC298_FIXUP_SAMSUNG_AMP),
10273 SND_PCI_QUIRK(0x144d, 0xc18a, "Samsung Galaxy Book Ion (NP930XCJ-K01US)", ALC298_FIXUP_SAMSUNG_AMP),
10274 SND_PCI_QUIRK(0x144d, 0xc1a3, "Samsung Galaxy Book Pro (NP935XDB-KC1SE)", ALC298_FIXUP_SAMSUNG_AMP),
10275 SND_PCI_QUIRK(0x144d, 0xc1a4, "Samsung Galaxy Book Pro 360 (NT935QBD)", ALC298_FIXUP_SAMSUNG_AMP),
10276 SND_PCI_QUIRK(0x144d, 0xc1a6, "Samsung Galaxy Book Pro 360 (NP930QBD)", ALC298_FIXUP_SAMSUNG_AMP),
10277 SND_PCI_QUIRK(0x144d, 0xc740, "Samsung Ativ book 8 (NP870Z5G)", ALC269_FIXUP_ATIV_BOOK_8),
10278 SND_PCI_QUIRK(0x144d, 0xc812, "Samsung Notebook Pen S (NT950SBE-X58)", ALC298_FIXUP_SAMSUNG_AMP),
10279 SND_PCI_QUIRK(0x144d, 0xc830, "Samsung Galaxy Book Ion (NT950XCJ-X716A)", ALC298_FIXUP_SAMSUNG_AMP),
10280 SND_PCI_QUIRK(0x144d, 0xc832, "Samsung Galaxy Book Flex Alpha (NP730QCJ)", ALC256_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET),
10281 SND_PCI_QUIRK(0x144d, 0xca03, "Samsung Galaxy Book2 Pro 360 (NP930QED)", ALC298_FIXUP_SAMSUNG_AMP),
10282 SND_PCI_QUIRK(0x144d, 0xca06, "Samsung Galaxy Book3 360 (NP730QFG)", ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET),
10283 SND_PCI_QUIRK(0x144d, 0xc868, "Samsung Galaxy Book2 Pro (NP930XED)", ALC298_FIXUP_SAMSUNG_AMP),
10284 SND_PCI_QUIRK(0x1458, 0xfa53, "Gigabyte BXBT-2807", ALC283_FIXUP_HEADSET_MIC),
10285 SND_PCI_QUIRK(0x1462, 0xb120, "MSI Cubi MS-B120", ALC283_FIXUP_HEADSET_MIC),
10286 SND_PCI_QUIRK(0x1462, 0xb171, "Cubi N 8GL (MS-B171)", ALC283_FIXUP_HEADSET_MIC),
10287 SND_PCI_QUIRK(0x152d, 0x1082, "Quanta NL3", ALC269_FIXUP_LIFEBOOK),
10288 SND_PCI_QUIRK(0x152d, 0x1262, "Huawei NBLB-WAX9N", ALC2XX_FIXUP_HEADSET_MIC),
10289 SND_PCI_QUIRK(0x1558, 0x0353, "Clevo V35[05]SN[CDE]Q", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10290 SND_PCI_QUIRK(0x1558, 0x1323, "Clevo N130ZU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10291 SND_PCI_QUIRK(0x1558, 0x1325, "Clevo N15[01][CW]U", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10292 SND_PCI_QUIRK(0x1558, 0x1401, "Clevo L140[CZ]U", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10293 SND_PCI_QUIRK(0x1558, 0x1403, "Clevo N140CU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10294 SND_PCI_QUIRK(0x1558, 0x1404, "Clevo N150CU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10295 SND_PCI_QUIRK(0x1558, 0x14a1, "Clevo L141MU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10296 SND_PCI_QUIRK(0x1558, 0x2624, "Clevo L240TU", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10297 SND_PCI_QUIRK(0x1558, 0x28c1, "Clevo V370VND", ALC2XX_FIXUP_HEADSET_MIC),
10298 SND_PCI_QUIRK(0x1558, 0x4018, "Clevo NV40M[BE]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10299 SND_PCI_QUIRK(0x1558, 0x4019, "Clevo NV40MZ", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10300 SND_PCI_QUIRK(0x1558, 0x4020, "Clevo NV40MB", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10301 SND_PCI_QUIRK(0x1558, 0x4041, "Clevo NV4[15]PZ", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10302 SND_PCI_QUIRK(0x1558, 0x40a1, "Clevo NL40GU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10303 SND_PCI_QUIRK(0x1558, 0x40c1, "Clevo NL40[CZ]U", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10304 SND_PCI_QUIRK(0x1558, 0x40d1, "Clevo NL41DU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10305 SND_PCI_QUIRK(0x1558, 0x5015, "Clevo NH5[58]H[HJK]Q", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10306 SND_PCI_QUIRK(0x1558, 0x5017, "Clevo NH7[79]H[HJK]Q", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10307 SND_PCI_QUIRK(0x1558, 0x50a3, "Clevo NJ51GU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10308 SND_PCI_QUIRK(0x1558, 0x50b3, "Clevo NK50S[BEZ]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10309 SND_PCI_QUIRK(0x1558, 0x50b6, "Clevo NK50S5", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10310 SND_PCI_QUIRK(0x1558, 0x50b8, "Clevo NK50SZ", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10311 SND_PCI_QUIRK(0x1558, 0x50d5, "Clevo NP50D5", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10312 SND_PCI_QUIRK(0x1558, 0x50e1, "Clevo NH5[58]HPQ", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10313 SND_PCI_QUIRK(0x1558, 0x50e2, "Clevo NH7[79]HPQ", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10314 SND_PCI_QUIRK(0x1558, 0x50f0, "Clevo NH50A[CDF]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10315 SND_PCI_QUIRK(0x1558, 0x50f2, "Clevo NH50E[PR]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10316 SND_PCI_QUIRK(0x1558, 0x50f3, "Clevo NH58DPQ", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10317 SND_PCI_QUIRK(0x1558, 0x50f5, "Clevo NH55EPY", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10318 SND_PCI_QUIRK(0x1558, 0x50f6, "Clevo NH55DPQ", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10319 SND_PCI_QUIRK(0x1558, 0x5101, "Clevo S510WU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10320 SND_PCI_QUIRK(0x1558, 0x5157, "Clevo W517GU1", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10321 SND_PCI_QUIRK(0x1558, 0x51a1, "Clevo NS50MU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10322 SND_PCI_QUIRK(0x1558, 0x51b1, "Clevo NS50AU", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10323 SND_PCI_QUIRK(0x1558, 0x51b3, "Clevo NS70AU", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10324 SND_PCI_QUIRK(0x1558, 0x5630, "Clevo NP50RNJS", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10325 SND_PCI_QUIRK(0x1558, 0x70a1, "Clevo NB70T[HJK]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10326 SND_PCI_QUIRK(0x1558, 0x70b3, "Clevo NK70SB", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10327 SND_PCI_QUIRK(0x1558, 0x70f2, "Clevo NH79EPY", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10328 SND_PCI_QUIRK(0x1558, 0x70f3, "Clevo NH77DPQ", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10329 SND_PCI_QUIRK(0x1558, 0x70f4, "Clevo NH77EPY", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10330 SND_PCI_QUIRK(0x1558, 0x70f6, "Clevo NH77DPQ-Y", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10331 SND_PCI_QUIRK(0x1558, 0x7716, "Clevo NS50PU", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10332 SND_PCI_QUIRK(0x1558, 0x7717, "Clevo NS70PU", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10333 SND_PCI_QUIRK(0x1558, 0x7718, "Clevo L140PU", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10334 SND_PCI_QUIRK(0x1558, 0x7724, "Clevo L140AU", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10335 SND_PCI_QUIRK(0x1558, 0x8228, "Clevo NR40BU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10336 SND_PCI_QUIRK(0x1558, 0x8520, "Clevo NH50D[CD]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10337 SND_PCI_QUIRK(0x1558, 0x8521, "Clevo NH77D[CD]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10338 SND_PCI_QUIRK(0x1558, 0x8535, "Clevo NH50D[BE]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10339 SND_PCI_QUIRK(0x1558, 0x8536, "Clevo NH79D[BE]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10340 SND_PCI_QUIRK(0x1558, 0x8550, "Clevo NH[57][0-9][ER][ACDH]Q", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10341 SND_PCI_QUIRK(0x1558, 0x8551, "Clevo NH[57][0-9][ER][ACDH]Q", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10342 SND_PCI_QUIRK(0x1558, 0x8560, "Clevo NH[57][0-9][ER][ACDH]Q", ALC269_FIXUP_HEADSET_MIC),
10343 SND_PCI_QUIRK(0x1558, 0x8561, "Clevo NH[57][0-9][ER][ACDH]Q", ALC269_FIXUP_HEADSET_MIC),
10344 SND_PCI_QUIRK(0x1558, 0x8562, "Clevo NH[57][0-9]RZ[Q]", ALC269_FIXUP_DMIC),
10345 SND_PCI_QUIRK(0x1558, 0x8668, "Clevo NP50B[BE]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10346 SND_PCI_QUIRK(0x1558, 0x866d, "Clevo NP5[05]PN[HJK]", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10347 SND_PCI_QUIRK(0x1558, 0x867c, "Clevo NP7[01]PNP", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10348 SND_PCI_QUIRK(0x1558, 0x867d, "Clevo NP7[01]PN[HJK]", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10349 SND_PCI_QUIRK(0x1558, 0x8680, "Clevo NJ50LU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10350 SND_PCI_QUIRK(0x1558, 0x8686, "Clevo NH50[CZ]U", ALC256_FIXUP_MIC_NO_PRESENCE_AND_RESUME),
10351 SND_PCI_QUIRK(0x1558, 0x8a20, "Clevo NH55DCQ-Y", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10352 SND_PCI_QUIRK(0x1558, 0x8a51, "Clevo NH70RCQ-Y", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10353 SND_PCI_QUIRK(0x1558, 0x8d50, "Clevo NH55RCQ-M", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10354 SND_PCI_QUIRK(0x1558, 0x951d, "Clevo N950T[CDF]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10355 SND_PCI_QUIRK(0x1558, 0x9600, "Clevo N960K[PR]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10356 SND_PCI_QUIRK(0x1558, 0x961d, "Clevo N960S[CDF]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10357 SND_PCI_QUIRK(0x1558, 0x971d, "Clevo N970T[CDF]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10358 SND_PCI_QUIRK(0x1558, 0xa500, "Clevo NL5[03]RU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10359 SND_PCI_QUIRK(0x1558, 0xa600, "Clevo NL50NU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10360 SND_PCI_QUIRK(0x1558, 0xa650, "Clevo NP[567]0SN[CD]", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10361 SND_PCI_QUIRK(0x1558, 0xa671, "Clevo NP70SN[CDE]", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10362 SND_PCI_QUIRK(0x1558, 0xa763, "Clevo V54x_6x_TU", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10363 SND_PCI_QUIRK(0x1558, 0xb018, "Clevo NP50D[BE]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10364 SND_PCI_QUIRK(0x1558, 0xb019, "Clevo NH77D[BE]Q", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10365 SND_PCI_QUIRK(0x1558, 0xb022, "Clevo NH77D[DC][QW]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10366 SND_PCI_QUIRK(0x1558, 0xc018, "Clevo NP50D[BE]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10367 SND_PCI_QUIRK(0x1558, 0xc019, "Clevo NH77D[BE]Q", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10368 SND_PCI_QUIRK(0x1558, 0xc022, "Clevo NH77[DC][QW]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
10369 SND_PCI_QUIRK(0x17aa, 0x1036, "Lenovo P520", ALC233_FIXUP_LENOVO_MULTI_CODECS),
10370 SND_PCI_QUIRK(0x17aa, 0x1048, "ThinkCentre Station", ALC623_FIXUP_LENOVO_THINKSTATION_P340),
10371 SND_PCI_QUIRK(0x17aa, 0x20f2, "Thinkpad SL410/510", ALC269_FIXUP_SKU_IGNORE),
10372 SND_PCI_QUIRK(0x17aa, 0x215e, "Thinkpad L512", ALC269_FIXUP_SKU_IGNORE),
10373 SND_PCI_QUIRK(0x17aa, 0x21b8, "Thinkpad Edge 14", ALC269_FIXUP_SKU_IGNORE),
10374 SND_PCI_QUIRK(0x17aa, 0x21ca, "Thinkpad L412", ALC269_FIXUP_SKU_IGNORE),
10375 SND_PCI_QUIRK(0x17aa, 0x21e9, "Thinkpad Edge 15", ALC269_FIXUP_SKU_IGNORE),
10376 SND_PCI_QUIRK(0x17aa, 0x21f3, "Thinkpad T430", ALC269_FIXUP_LENOVO_DOCK),
10377 SND_PCI_QUIRK(0x17aa, 0x21f6, "Thinkpad T530", ALC269_FIXUP_LENOVO_DOCK_LIMIT_BOOST),
10378 SND_PCI_QUIRK(0x17aa, 0x21fa, "Thinkpad X230", ALC269_FIXUP_LENOVO_DOCK),
10379 SND_PCI_QUIRK(0x17aa, 0x21fb, "Thinkpad T430s", ALC269_FIXUP_LENOVO_DOCK),
10380 SND_PCI_QUIRK(0x17aa, 0x2203, "Thinkpad X230 Tablet", ALC269_FIXUP_LENOVO_DOCK),
10381 SND_PCI_QUIRK(0x17aa, 0x2208, "Thinkpad T431s", ALC269_FIXUP_LENOVO_DOCK),
10382 SND_PCI_QUIRK(0x17aa, 0x220c, "Thinkpad T440s", ALC292_FIXUP_TPT440),
10383 SND_PCI_QUIRK(0x17aa, 0x220e, "Thinkpad T440p", ALC292_FIXUP_TPT440_DOCK),
10384 SND_PCI_QUIRK(0x17aa, 0x2210, "Thinkpad T540p", ALC292_FIXUP_TPT440_DOCK),
10385 SND_PCI_QUIRK(0x17aa, 0x2211, "Thinkpad W541", ALC292_FIXUP_TPT440_DOCK),
10386 SND_PCI_QUIRK(0x17aa, 0x2212, "Thinkpad T440", ALC292_FIXUP_TPT440_DOCK),
10387 SND_PCI_QUIRK(0x17aa, 0x2214, "Thinkpad X240", ALC292_FIXUP_TPT440_DOCK),
10388 SND_PCI_QUIRK(0x17aa, 0x2215, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
10389 SND_PCI_QUIRK(0x17aa, 0x2218, "Thinkpad X1 Carbon 2nd", ALC292_FIXUP_TPT440_DOCK),
10390 SND_PCI_QUIRK(0x17aa, 0x2223, "ThinkPad T550", ALC292_FIXUP_TPT440_DOCK),
10391 SND_PCI_QUIRK(0x17aa, 0x2226, "ThinkPad X250", ALC292_FIXUP_TPT440_DOCK),
10392 SND_PCI_QUIRK(0x17aa, 0x222d, "Thinkpad", ALC298_FIXUP_TPT470_DOCK),
10393 SND_PCI_QUIRK(0x17aa, 0x222e, "Thinkpad", ALC298_FIXUP_TPT470_DOCK),
10394 SND_PCI_QUIRK(0x17aa, 0x2231, "Thinkpad T560", ALC292_FIXUP_TPT460),
10395 SND_PCI_QUIRK(0x17aa, 0x2233, "Thinkpad", ALC292_FIXUP_TPT460),
10396 SND_PCI_QUIRK(0x17aa, 0x2234, "Thinkpad ICE-1", ALC287_FIXUP_TAS2781_I2C),
10397 SND_PCI_QUIRK(0x17aa, 0x2245, "Thinkpad T470", ALC298_FIXUP_TPT470_DOCK),
10398 SND_PCI_QUIRK(0x17aa, 0x2246, "Thinkpad", ALC298_FIXUP_TPT470_DOCK),
10399 SND_PCI_QUIRK(0x17aa, 0x2247, "Thinkpad", ALC298_FIXUP_TPT470_DOCK),
10400 SND_PCI_QUIRK(0x17aa, 0x2249, "Thinkpad", ALC292_FIXUP_TPT460),
10401 SND_PCI_QUIRK(0x17aa, 0x224b, "Thinkpad", ALC298_FIXUP_TPT470_DOCK),
10402 SND_PCI_QUIRK(0x17aa, 0x224c, "Thinkpad", ALC298_FIXUP_TPT470_DOCK),
10403 SND_PCI_QUIRK(0x17aa, 0x224d, "Thinkpad", ALC298_FIXUP_TPT470_DOCK),
10404 SND_PCI_QUIRK(0x17aa, 0x225d, "Thinkpad T480", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
10405 SND_PCI_QUIRK(0x17aa, 0x2292, "Thinkpad X1 Carbon 7th", ALC285_FIXUP_THINKPAD_HEADSET_JACK),
10406 SND_PCI_QUIRK(0x17aa, 0x22be, "Thinkpad X1 Carbon 8th", ALC285_FIXUP_THINKPAD_HEADSET_JACK),
10407 SND_PCI_QUIRK(0x17aa, 0x22c1, "Thinkpad P1 Gen 3", ALC285_FIXUP_THINKPAD_NO_BASS_SPK_HEADSET_JACK),
10408 SND_PCI_QUIRK(0x17aa, 0x22c2, "Thinkpad X1 Extreme Gen 3", ALC285_FIXUP_THINKPAD_NO_BASS_SPK_HEADSET_JACK),
10409 SND_PCI_QUIRK(0x17aa, 0x22f1, "Thinkpad", ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD),
10410 SND_PCI_QUIRK(0x17aa, 0x22f2, "Thinkpad", ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD),
10411 SND_PCI_QUIRK(0x17aa, 0x22f3, "Thinkpad", ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD),
10412 SND_PCI_QUIRK(0x17aa, 0x2316, "Thinkpad P1 Gen 6", ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD),
10413 SND_PCI_QUIRK(0x17aa, 0x2317, "Thinkpad P1 Gen 6", ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD),
10414 SND_PCI_QUIRK(0x17aa, 0x2318, "Thinkpad Z13 Gen2", ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD),
10415 SND_PCI_QUIRK(0x17aa, 0x2319, "Thinkpad Z16 Gen2", ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD),
10416 SND_PCI_QUIRK(0x17aa, 0x231a, "Thinkpad Z16 Gen2", ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD),
10417 SND_PCI_QUIRK(0x17aa, 0x30bb, "ThinkCentre AIO", ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY),
10418 SND_PCI_QUIRK(0x17aa, 0x30e2, "ThinkCentre AIO", ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY),
10419 SND_PCI_QUIRK(0x17aa, 0x310c, "ThinkCentre Station", ALC294_FIXUP_LENOVO_MIC_LOCATION),
10420 SND_PCI_QUIRK(0x17aa, 0x3111, "ThinkCentre Station", ALC294_FIXUP_LENOVO_MIC_LOCATION),
10421 SND_PCI_QUIRK(0x17aa, 0x312a, "ThinkCentre Station", ALC294_FIXUP_LENOVO_MIC_LOCATION),
10422 SND_PCI_QUIRK(0x17aa, 0x312f, "ThinkCentre Station", ALC294_FIXUP_LENOVO_MIC_LOCATION),
10423 SND_PCI_QUIRK(0x17aa, 0x313c, "ThinkCentre Station", ALC294_FIXUP_LENOVO_MIC_LOCATION),
10424 SND_PCI_QUIRK(0x17aa, 0x3151, "ThinkCentre Station", ALC283_FIXUP_HEADSET_MIC),
10425 SND_PCI_QUIRK(0x17aa, 0x3176, "ThinkCentre Station", ALC283_FIXUP_HEADSET_MIC),
10426 SND_PCI_QUIRK(0x17aa, 0x3178, "ThinkCentre Station", ALC283_FIXUP_HEADSET_MIC),
10427 SND_PCI_QUIRK(0x17aa, 0x31af, "ThinkCentre Station", ALC623_FIXUP_LENOVO_THINKSTATION_P340),
10428 SND_PCI_QUIRK(0x17aa, 0x334b, "Lenovo ThinkCentre M70 Gen5", ALC283_FIXUP_HEADSET_MIC),
10429 SND_PCI_QUIRK(0x17aa, 0x3384, "ThinkCentre M90a PRO", ALC233_FIXUP_LENOVO_L2MH_LOW_ENLED),
10430 SND_PCI_QUIRK(0x17aa, 0x3386, "ThinkCentre M90a Gen6", ALC233_FIXUP_LENOVO_L2MH_LOW_ENLED),
10431 SND_PCI_QUIRK(0x17aa, 0x3387, "ThinkCentre M70a Gen6", ALC233_FIXUP_LENOVO_L2MH_LOW_ENLED),
10432 SND_PCI_QUIRK(0x17aa, 0x3801, "Lenovo Yoga9 14IAP7", ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
10433 SND_PCI_QUIRK(0x17aa, 0x3802, "Lenovo Yoga Pro 9 14IRP8 / DuetITL 2021", ALC287_FIXUP_LENOVO_14IRP8_DUETITL),
10434 SND_PCI_QUIRK(0x17aa, 0x3813, "Legion 7i 15IMHG05", ALC287_FIXUP_LEGION_15IMHG05_SPEAKERS),
10435 SND_PCI_QUIRK(0x17aa, 0x3818, "Lenovo C940 / Yoga Duet 7", ALC298_FIXUP_LENOVO_C940_DUET7),
10436 SND_PCI_QUIRK(0x17aa, 0x3819, "Lenovo 13s Gen2 ITL", ALC287_FIXUP_13S_GEN2_SPEAKERS),
10437 SND_PCI_QUIRK(0x17aa, 0x3820, "IdeaPad 330-17IKB 81DM", ALC269_FIXUP_ASPIRE_HEADSET_MIC),
10438 SND_PCI_QUIRK(0x17aa, 0x3824, "Legion Y9000X 2020", ALC285_FIXUP_LEGION_Y9000X_SPEAKERS),
10439 SND_PCI_QUIRK(0x17aa, 0x3827, "Ideapad S740", ALC285_FIXUP_IDEAPAD_S740_COEF),
10440 SND_PCI_QUIRK(0x17aa, 0x3834, "Lenovo IdeaPad Slim 9i 14ITL5", ALC287_FIXUP_YOGA7_14ITL_SPEAKERS),
10441 SND_PCI_QUIRK(0x17aa, 0x383d, "Legion Y9000X 2019", ALC285_FIXUP_LEGION_Y9000X_SPEAKERS),
10442 SND_PCI_QUIRK(0x17aa, 0x3843, "Yoga 9i", ALC287_FIXUP_IDEAPAD_BASS_SPK_AMP),
10443 SND_PCI_QUIRK(0x17aa, 0x3847, "Legion 7 16ACHG6", ALC287_FIXUP_LEGION_16ACHG6),
10444 SND_PCI_QUIRK(0x17aa, 0x384a, "Lenovo Yoga 7 15ITL5", ALC287_FIXUP_YOGA7_14ITL_SPEAKERS),
10445 SND_PCI_QUIRK(0x17aa, 0x3852, "Lenovo Yoga 7 14ITL5", ALC287_FIXUP_YOGA7_14ITL_SPEAKERS),
10446 SND_PCI_QUIRK(0x17aa, 0x3853, "Lenovo Yoga 7 15ITL5", ALC287_FIXUP_YOGA7_14ITL_SPEAKERS),
10447 SND_PCI_QUIRK(0x17aa, 0x3855, "Legion 7 16ITHG6", ALC287_FIXUP_LEGION_16ITHG6),
10448 SND_PCI_QUIRK(0x17aa, 0x3865, "Lenovo 13X", ALC287_FIXUP_CS35L41_I2C_2),
10449 SND_PCI_QUIRK(0x17aa, 0x3866, "Lenovo 13X", ALC287_FIXUP_CS35L41_I2C_2),
10450 SND_PCI_QUIRK(0x17aa, 0x3869, "Lenovo Yoga7 14IAL7", ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
10451 SND_PCI_QUIRK(0x17aa, 0x387d, "Yoga S780-16 pro Quad AAC", ALC287_FIXUP_TAS2781_I2C),
10452 SND_PCI_QUIRK(0x17aa, 0x387e, "Yoga S780-16 pro Quad YC", ALC287_FIXUP_TAS2781_I2C),
10453 SND_PCI_QUIRK(0x17aa, 0x3881, "YB9 dual power mode2 YC", ALC287_FIXUP_TAS2781_I2C),
10454 SND_PCI_QUIRK(0x17aa, 0x3882, "Lenovo Yoga Pro 7 14APH8", ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
10455 SND_PCI_QUIRK(0x17aa, 0x3884, "Y780 YG DUAL", ALC287_FIXUP_TAS2781_I2C),
10456 SND_PCI_QUIRK(0x17aa, 0x3886, "Y780 VECO DUAL", ALC287_FIXUP_TAS2781_I2C),
10457 SND_PCI_QUIRK(0x17aa, 0x3891, "Lenovo Yoga Pro 7 14AHP9", ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
10458 SND_PCI_QUIRK(0x17aa, 0x38a7, "Y780P AMD YG dual", ALC287_FIXUP_TAS2781_I2C),
10459 SND_PCI_QUIRK(0x17aa, 0x38a8, "Y780P AMD VECO dual", ALC287_FIXUP_TAS2781_I2C),
10460 SND_PCI_QUIRK(0x17aa, 0x38ba, "Yoga S780-14.5 Air AMD quad YC", ALC287_FIXUP_TAS2781_I2C),
10461 SND_PCI_QUIRK(0x17aa, 0x38bb, "Yoga S780-14.5 Air AMD quad AAC", ALC287_FIXUP_TAS2781_I2C),
10462 SND_PCI_QUIRK(0x17aa, 0x38be, "Yoga S980-14.5 proX YC Dual", ALC287_FIXUP_TAS2781_I2C),
10463 SND_PCI_QUIRK(0x17aa, 0x38bf, "Yoga S980-14.5 proX LX Dual", ALC287_FIXUP_TAS2781_I2C),
10464 SND_PCI_QUIRK(0x17aa, 0x38c3, "Y980 DUAL", ALC287_FIXUP_TAS2781_I2C),
10465 SND_PCI_QUIRK(0x17aa, 0x38cb, "Y790 YG DUAL", ALC287_FIXUP_TAS2781_I2C),
10466 SND_PCI_QUIRK(0x17aa, 0x38cd, "Y790 VECO DUAL", ALC287_FIXUP_TAS2781_I2C),
10467 SND_PCI_QUIRK(0x17aa, 0x38d2, "Lenovo Yoga 9 14IMH9", ALC287_FIXUP_YOGA9_14IMH9_BASS_SPK_PIN),
10468 SND_PCI_QUIRK(0x17aa, 0x38d7, "Lenovo Yoga 9 14IMH9", ALC287_FIXUP_YOGA9_14IMH9_BASS_SPK_PIN),
10469 SND_PCI_QUIRK(0x17aa, 0x38df, "Y990 YG DUAL", ALC287_FIXUP_TAS2781_I2C),
10470 SND_PCI_QUIRK(0x17aa, 0x38f9, "Thinkbook 16P Gen5", ALC287_FIXUP_CS35L41_I2C_2),
10471 SND_PCI_QUIRK(0x17aa, 0x38fa, "Thinkbook 16P Gen5", ALC287_FIXUP_CS35L41_I2C_2),
10472 SND_PCI_QUIRK(0x17aa, 0x3902, "Lenovo E50-80", ALC269_FIXUP_DMIC_THINKPAD_ACPI),
10473 SND_PCI_QUIRK(0x17aa, 0x3913, "Lenovo 145", ALC236_FIXUP_LENOVO_INV_DMIC),
10474 SND_PCI_QUIRK(0x17aa, 0x3977, "IdeaPad S210", ALC283_FIXUP_INT_MIC),
10475 SND_PCI_QUIRK(0x17aa, 0x3978, "Lenovo B50-70", ALC269_FIXUP_DMIC_THINKPAD_ACPI),
10476 SND_PCI_QUIRK(0x17aa, 0x3bf8, "Quanta FL1", ALC269_FIXUP_PCM_44K),
10477 SND_PCI_QUIRK(0x17aa, 0x5013, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
10478 SND_PCI_QUIRK(0x17aa, 0x501a, "Thinkpad", ALC283_FIXUP_INT_MIC),
10479 SND_PCI_QUIRK(0x17aa, 0x501e, "Thinkpad L440", ALC292_FIXUP_TPT440_DOCK),
10480 SND_PCI_QUIRK(0x17aa, 0x5026, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
10481 SND_PCI_QUIRK(0x17aa, 0x5034, "Thinkpad T450", ALC292_FIXUP_TPT440_DOCK),
10482 SND_PCI_QUIRK(0x17aa, 0x5036, "Thinkpad T450s", ALC292_FIXUP_TPT440_DOCK),
10483 SND_PCI_QUIRK(0x17aa, 0x503c, "Thinkpad L450", ALC292_FIXUP_TPT440_DOCK),
10484 SND_PCI_QUIRK(0x17aa, 0x504a, "ThinkPad X260", ALC292_FIXUP_TPT440_DOCK),
10485 SND_PCI_QUIRK(0x17aa, 0x504b, "Thinkpad", ALC293_FIXUP_LENOVO_SPK_NOISE),
10486 SND_PCI_QUIRK(0x17aa, 0x5050, "Thinkpad T560p", ALC292_FIXUP_TPT460),
10487 SND_PCI_QUIRK(0x17aa, 0x5051, "Thinkpad L460", ALC292_FIXUP_TPT460),
10488 SND_PCI_QUIRK(0x17aa, 0x5053, "Thinkpad T460", ALC292_FIXUP_TPT460),
10489 SND_PCI_QUIRK(0x17aa, 0x505d, "Thinkpad", ALC298_FIXUP_TPT470_DOCK),
10490 SND_PCI_QUIRK(0x17aa, 0x505f, "Thinkpad", ALC298_FIXUP_TPT470_DOCK),
10491 SND_PCI_QUIRK(0x17aa, 0x5062, "Thinkpad", ALC298_FIXUP_TPT470_DOCK),
10492 SND_PCI_QUIRK(0x17aa, 0x508b, "Thinkpad X12 Gen 1", ALC287_FIXUP_LEGION_15IMHG05_SPEAKERS),
10493 SND_PCI_QUIRK(0x17aa, 0x5109, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
10494 SND_PCI_QUIRK(0x17aa, 0x511e, "Thinkpad", ALC298_FIXUP_TPT470_DOCK),
10495 SND_PCI_QUIRK(0x17aa, 0x511f, "Thinkpad", ALC298_FIXUP_TPT470_DOCK),
10496 SND_PCI_QUIRK(0x17aa, 0x9e54, "LENOVO NB", ALC269_FIXUP_LENOVO_EAPD),
10497 SND_PCI_QUIRK(0x17aa, 0x9e56, "Lenovo ZhaoYang CF4620Z", ALC286_FIXUP_SONY_MIC_NO_PRESENCE),
10498 SND_PCI_QUIRK(0x1849, 0x0269, "Positivo Master C6400", ALC269VB_FIXUP_ASUS_ZENBOOK),
10499 SND_PCI_QUIRK(0x1849, 0x1233, "ASRock NUC Box 1100", ALC233_FIXUP_NO_AUDIO_JACK),
10500 SND_PCI_QUIRK(0x1849, 0xa233, "Positivo Master C6300", ALC269_FIXUP_HEADSET_MIC),
10501 SND_PCI_QUIRK(0x19e5, 0x3204, "Huawei MACH-WX9", ALC256_FIXUP_HUAWEI_MACH_WX9_PINS),
10502 SND_PCI_QUIRK(0x19e5, 0x320f, "Huawei WRT-WX9 ", ALC256_FIXUP_ASUS_MIC_NO_PRESENCE),
10503 SND_PCI_QUIRK(0x19e5, 0x3212, "Huawei KLV-WX9 ", ALC256_FIXUP_ACER_HEADSET_MIC),
10504 SND_PCI_QUIRK(0x1b35, 0x1235, "CZC B20", ALC269_FIXUP_CZC_B20),
10505 SND_PCI_QUIRK(0x1b35, 0x1236, "CZC TMI", ALC269_FIXUP_CZC_TMI),
10506 SND_PCI_QUIRK(0x1b35, 0x1237, "CZC L101", ALC269_FIXUP_CZC_L101),
10507 SND_PCI_QUIRK(0x1b7d, 0xa831, "Ordissimo EVE2 ", ALC269VB_FIXUP_ORDISSIMO_EVE2), /* Also known as Malata PC-B1303 */
10508 SND_PCI_QUIRK(0x1c06, 0x2013, "Lemote A1802", ALC269_FIXUP_LEMOTE_A1802),
10509 SND_PCI_QUIRK(0x1c06, 0x2015, "Lemote A190X", ALC269_FIXUP_LEMOTE_A190X),
10510 SND_PCI_QUIRK(0x1c6c, 0x122a, "Positivo N14AP7", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
10511 SND_PCI_QUIRK(0x1c6c, 0x1251, "Positivo N14KP6-TG", ALC288_FIXUP_DELL1_MIC_NO_PRESENCE),
10512 SND_PCI_QUIRK(0x1d05, 0x1132, "TongFang PHxTxX1", ALC256_FIXUP_SET_COEF_DEFAULTS),
10513 SND_PCI_QUIRK(0x1d05, 0x1096, "TongFang GMxMRxx", ALC269_FIXUP_NO_SHUTUP),
10514 SND_PCI_QUIRK(0x1d05, 0x1100, "TongFang GKxNRxx", ALC269_FIXUP_NO_SHUTUP),
10515 SND_PCI_QUIRK(0x1d05, 0x1111, "TongFang GMxZGxx", ALC269_FIXUP_NO_SHUTUP),
10516 SND_PCI_QUIRK(0x1d05, 0x1119, "TongFang GMxZGxx", ALC269_FIXUP_NO_SHUTUP),
10517 SND_PCI_QUIRK(0x1d05, 0x1129, "TongFang GMxZGxx", ALC269_FIXUP_NO_SHUTUP),
10518 SND_PCI_QUIRK(0x1d05, 0x1147, "TongFang GMxTGxx", ALC269_FIXUP_NO_SHUTUP),
10519 SND_PCI_QUIRK(0x1d05, 0x115c, "TongFang GMxTGxx", ALC269_FIXUP_NO_SHUTUP),
10520 SND_PCI_QUIRK(0x1d05, 0x121b, "TongFang GMxAGxx", ALC269_FIXUP_NO_SHUTUP),
10521 SND_PCI_QUIRK(0x1d05, 0x1387, "TongFang GMxIXxx", ALC2XX_FIXUP_HEADSET_MIC),
10522 SND_PCI_QUIRK(0x1d05, 0x1409, "TongFang GMxIXxx", ALC2XX_FIXUP_HEADSET_MIC),
10523 SND_PCI_QUIRK(0x1d17, 0x3288, "Haier Boyue G42", ALC269VC_FIXUP_ACER_VCOPPERBOX_PINS),
10524 SND_PCI_QUIRK(0x1d72, 0x1602, "RedmiBook", ALC255_FIXUP_XIAOMI_HEADSET_MIC),
10525 SND_PCI_QUIRK(0x1d72, 0x1701, "XiaomiNotebook Pro", ALC298_FIXUP_DELL1_MIC_NO_PRESENCE),
10526 SND_PCI_QUIRK(0x1d72, 0x1901, "RedmiBook 14", ALC256_FIXUP_ASUS_HEADSET_MIC),
10527 SND_PCI_QUIRK(0x1d72, 0x1945, "Redmi G", ALC256_FIXUP_ASUS_HEADSET_MIC),
10528 SND_PCI_QUIRK(0x1d72, 0x1947, "RedmiBook Air", ALC255_FIXUP_XIAOMI_HEADSET_MIC),
10529 SND_PCI_QUIRK(0x1f66, 0x0105, "Ayaneo Portable Game Player", ALC287_FIXUP_CS35L41_I2C_2),
10530 SND_PCI_QUIRK(0x2014, 0x800a, "Positivo ARN50", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
10531 SND_PCI_QUIRK(0x2782, 0x0214, "VAIO VJFE-CL", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
10532 SND_PCI_QUIRK(0x2782, 0x0228, "Infinix ZERO BOOK 13", ALC269VB_FIXUP_INFINIX_ZERO_BOOK_13),
10533 SND_PCI_QUIRK(0x2782, 0x0232, "CHUWI CoreBook XPro", ALC269VB_FIXUP_CHUWI_COREBOOK_XPRO),
10534 SND_PCI_QUIRK(0x2782, 0x1701, "Infinix Y4 Max", ALC269VC_FIXUP_INFINIX_Y4_MAX),
10535 SND_PCI_QUIRK(0x2782, 0x1705, "MEDION E15433", ALC269VC_FIXUP_INFINIX_Y4_MAX),
10536 SND_PCI_QUIRK(0x2782, 0x1707, "Vaio VJFE-ADL", ALC298_FIXUP_SPK_VOLUME),
10537 SND_PCI_QUIRK(0x8086, 0x2074, "Intel NUC 8", ALC233_FIXUP_INTEL_NUC8_DMIC),
10538 SND_PCI_QUIRK(0x8086, 0x2080, "Intel NUC 8 Rugged", ALC256_FIXUP_INTEL_NUC8_RUGGED),
10539 SND_PCI_QUIRK(0x8086, 0x2081, "Intel NUC 10", ALC256_FIXUP_INTEL_NUC10),
10540 SND_PCI_QUIRK(0x8086, 0x3038, "Intel NUC 13", ALC295_FIXUP_CHROME_BOOK),
10541 SND_PCI_QUIRK(0xf111, 0x0001, "Framework Laptop", ALC295_FIXUP_FRAMEWORK_LAPTOP_MIC_NO_PRESENCE),
10542 SND_PCI_QUIRK(0xf111, 0x0006, "Framework Laptop", ALC295_FIXUP_FRAMEWORK_LAPTOP_MIC_NO_PRESENCE),
10543 SND_PCI_QUIRK(0xf111, 0x0009, "Framework Laptop", ALC295_FIXUP_FRAMEWORK_LAPTOP_MIC_NO_PRESENCE),
10544 SND_PCI_QUIRK(0xf111, 0x000c, "Framework Laptop", ALC295_FIXUP_FRAMEWORK_LAPTOP_MIC_NO_PRESENCE),
10546 #if 0
10552 SND_PCI_QUIRK(0x1043, 0x8330, "ASUS Eeepc P703 P900A",
10554 SND_PCI_QUIRK(0x1043, 0x1013, "ASUS N61Da", ALC269_FIXUP_AMIC),
10555 SND_PCI_QUIRK(0x1043, 0x1143, "ASUS B53f", ALC269_FIXUP_AMIC),
10556 SND_PCI_QUIRK(0x1043, 0x1133, "ASUS UJ20ft", ALC269_FIXUP_AMIC),
10557 SND_PCI_QUIRK(0x1043, 0x1183, "ASUS K72DR", ALC269_FIXUP_AMIC),
10558 SND_PCI_QUIRK(0x1043, 0x11b3, "ASUS K52DR", ALC269_FIXUP_AMIC),
10559 SND_PCI_QUIRK(0x1043, 0x11e3, "ASUS U33Jc", ALC269_FIXUP_AMIC),
10560 SND_PCI_QUIRK(0x1043, 0x1273, "ASUS UL80Jt", ALC269_FIXUP_AMIC),
10561 SND_PCI_QUIRK(0x1043, 0x1283, "ASUS U53Jc", ALC269_FIXUP_AMIC),
10562 SND_PCI_QUIRK(0x1043, 0x12b3, "ASUS N82JV", ALC269_FIXUP_AMIC),
10563 SND_PCI_QUIRK(0x1043, 0x12d3, "ASUS N61Jv", ALC269_FIXUP_AMIC),
10564 SND_PCI_QUIRK(0x1043, 0x13a3, "ASUS UL30Vt", ALC269_FIXUP_AMIC),
10565 SND_PCI_QUIRK(0x1043, 0x1373, "ASUS G73JX", ALC269_FIXUP_AMIC),
10566 SND_PCI_QUIRK(0x1043, 0x1383, "ASUS UJ30Jc", ALC269_FIXUP_AMIC),
10567 SND_PCI_QUIRK(0x1043, 0x13d3, "ASUS N61JA", ALC269_FIXUP_AMIC),
10568 SND_PCI_QUIRK(0x1043, 0x1413, "ASUS UL50", ALC269_FIXUP_AMIC),
10569 SND_PCI_QUIRK(0x1043, 0x1443, "ASUS UL30", ALC269_FIXUP_AMIC),
10570 SND_PCI_QUIRK(0x1043, 0x1453, "ASUS M60Jv", ALC269_FIXUP_AMIC),
10571 SND_PCI_QUIRK(0x1043, 0x1483, "ASUS UL80", ALC269_FIXUP_AMIC),
10572 SND_PCI_QUIRK(0x1043, 0x14f3, "ASUS F83Vf", ALC269_FIXUP_AMIC),
10573 SND_PCI_QUIRK(0x1043, 0x14e3, "ASUS UL20", ALC269_FIXUP_AMIC),
10574 SND_PCI_QUIRK(0x1043, 0x1513, "ASUS UX30", ALC269_FIXUP_AMIC),
10575 SND_PCI_QUIRK(0x1043, 0x1593, "ASUS N51Vn", ALC269_FIXUP_AMIC),
10576 SND_PCI_QUIRK(0x1043, 0x15a3, "ASUS N60Jv", ALC269_FIXUP_AMIC),
10577 SND_PCI_QUIRK(0x1043, 0x15b3, "ASUS N60Dp", ALC269_FIXUP_AMIC),
10578 SND_PCI_QUIRK(0x1043, 0x15c3, "ASUS N70De", ALC269_FIXUP_AMIC),
10579 SND_PCI_QUIRK(0x1043, 0x15e3, "ASUS F83T", ALC269_FIXUP_AMIC),
10580 SND_PCI_QUIRK(0x1043, 0x1643, "ASUS M60J", ALC269_FIXUP_AMIC),
10581 SND_PCI_QUIRK(0x1043, 0x1653, "ASUS U50", ALC269_FIXUP_AMIC),
10582 SND_PCI_QUIRK(0x1043, 0x1693, "ASUS F50N", ALC269_FIXUP_AMIC),
10583 SND_PCI_QUIRK(0x1043, 0x16a3, "ASUS F5Q", ALC269_FIXUP_AMIC),
10584 SND_PCI_QUIRK(0x1043, 0x1723, "ASUS P80", ALC269_FIXUP_AMIC),
10585 SND_PCI_QUIRK(0x1043, 0x1743, "ASUS U80", ALC269_FIXUP_AMIC),
10586 SND_PCI_QUIRK(0x1043, 0x1773, "ASUS U20A", ALC269_FIXUP_AMIC),
10587 SND_PCI_QUIRK(0x1043, 0x1883, "ASUS F81Se", ALC269_FIXUP_AMIC),
10588 SND_PCI_QUIRK(0x152d, 0x1778, "Quanta ON1", ALC269_FIXUP_DMIC),
10589 SND_PCI_QUIRK(0x17aa, 0x3be9, "Quanta Wistron", ALC269_FIXUP_AMIC),
10590 SND_PCI_QUIRK(0x17aa, 0x3bf8, "Quanta FL1", ALC269_FIXUP_AMIC),
10591 SND_PCI_QUIRK(0x17ff, 0x059a, "Quanta EL3", ALC269_FIXUP_DMIC),
10592 SND_PCI_QUIRK(0x17ff, 0x059b, "Quanta JR1", ALC269_FIXUP_DMIC),
10598 SND_PCI_QUIRK_VENDOR(0x1025, "Acer Aspire", ALC271_FIXUP_DMIC),
10599 SND_PCI_QUIRK_VENDOR(0x103c, "HP", ALC269_FIXUP_HP_MUTE_LED),
10600 SND_PCI_QUIRK_VENDOR(0x104d, "Sony VAIO", ALC269_FIXUP_SONY_VAIO),
10601 SND_PCI_QUIRK_VENDOR(0x17aa, "Thinkpad", ALC269_FIXUP_THINKPAD_ACPI),
10602 SND_PCI_QUIRK_VENDOR(0x19e5, "Huawei Matebook", ALC255_FIXUP_MIC_MUTE_LED),
10737 {0x21, 0x04211020}
10740 {0x12, 0x90a60140}, \
10741 {0x14, 0x90170110}, \
10742 {0x21, 0x02211020}
10745 {0x14, 0x90170110}
10748 {0x12, 0x99a30130}
10751 {0x14, 0x90170110}, \
10752 {0x15, 0x0221401f}
10755 {0x12, 0xb7a60130}, \
10756 {0x14, 0x90170110}, \
10757 {0x21, 0x04211020}
10760 {0x12, 0x90a60130}, \
10761 {0x21, 0x03211020}
10764 SND_HDA_PIN_QUIRK(0x10ec0221, 0x103c, "HP Workstation", ALC221_FIXUP_HP_HEADSET_MIC,
10765 {0x14, 0x01014020},
10766 {0x17, 0x90170110},
10767 {0x18, 0x02a11030},
10768 {0x19, 0x0181303F},
10769 {0x21, 0x0221102f}),
10770 SND_HDA_PIN_QUIRK(0x10ec0255, 0x1025, "Acer", ALC255_FIXUP_ACER_MIC_NO_PRESENCE,
10771 {0x12, 0x90a601c0},
10772 {0x14, 0x90171120},
10773 {0x21, 0x02211030}),
10774 SND_HDA_PIN_QUIRK(0x10ec0255, 0x1043, "ASUS", ALC255_FIXUP_ASUS_MIC_NO_PRESENCE,
10775 {0x14, 0x90170110},
10776 {0x1b, 0x90a70130},
10777 {0x21, 0x03211020}),
10778 SND_HDA_PIN_QUIRK(0x10ec0255, 0x1043, "ASUS", ALC255_FIXUP_ASUS_MIC_NO_PRESENCE,
10779 {0x1a, 0x90a70130},
10780 {0x1b, 0x90170110},
10781 {0x21, 0x03211020}),
10782 SND_HDA_PIN_QUIRK(0x10ec0225, 0x1028, "Dell", ALC225_FIXUP_DELL1_MIC_NO_PRESENCE,
10784 {0x12, 0xb7a60130},
10785 {0x14, 0x901701a0}),
10786 SND_HDA_PIN_QUIRK(0x10ec0225, 0x1028, "Dell", ALC225_FIXUP_DELL1_MIC_NO_PRESENCE,
10788 {0x12, 0xb7a60130},
10789 {0x14, 0x901701b0}),
10790 SND_HDA_PIN_QUIRK(0x10ec0225, 0x1028, "Dell", ALC225_FIXUP_DELL1_MIC_NO_PRESENCE,
10792 {0x12, 0xb7a60150},
10793 {0x14, 0x901701a0}),
10794 SND_HDA_PIN_QUIRK(0x10ec0225, 0x1028, "Dell", ALC225_FIXUP_DELL1_MIC_NO_PRESENCE,
10796 {0x12, 0xb7a60150},
10797 {0x14, 0x901701b0}),
10798 SND_HDA_PIN_QUIRK(0x10ec0225, 0x1028, "Dell", ALC225_FIXUP_DELL1_MIC_NO_PRESENCE,
10800 {0x12, 0xb7a60130},
10801 {0x1b, 0x90170110}),
10802 SND_HDA_PIN_QUIRK(0x10ec0233, 0x8086, "Intel NUC Skull Canyon", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE,
10803 {0x1b, 0x01111010},
10804 {0x1e, 0x01451130},
10805 {0x21, 0x02211020}),
10806 SND_HDA_PIN_QUIRK(0x10ec0235, 0x17aa, "Lenovo", ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY,
10807 {0x12, 0x90a60140},
10808 {0x14, 0x90170110},
10809 {0x19, 0x02a11030},
10810 {0x21, 0x02211020}),
10811 SND_HDA_PIN_QUIRK(0x10ec0235, 0x17aa, "Lenovo", ALC294_FIXUP_LENOVO_MIC_LOCATION,
10812 {0x14, 0x90170110},
10813 {0x19, 0x02a11030},
10814 {0x1a, 0x02a11040},
10815 {0x1b, 0x01014020},
10816 {0x21, 0x0221101f}),
10817 SND_HDA_PIN_QUIRK(0x10ec0235, 0x17aa, "Lenovo", ALC294_FIXUP_LENOVO_MIC_LOCATION,
10818 {0x14, 0x90170110},
10819 {0x19, 0x02a11030},
10820 {0x1a, 0x02a11040},
10821 {0x1b, 0x01011020},
10822 {0x21, 0x0221101f}),
10823 SND_HDA_PIN_QUIRK(0x10ec0235, 0x17aa, "Lenovo", ALC294_FIXUP_LENOVO_MIC_LOCATION,
10824 {0x14, 0x90170110},
10825 {0x19, 0x02a11020},
10826 {0x1a, 0x02a11030},
10827 {0x21, 0x0221101f}),
10828 SND_HDA_PIN_QUIRK(0x10ec0236, 0x1028, "Dell", ALC236_FIXUP_DELL_AIO_HEADSET_MIC,
10829 {0x21, 0x02211010}),
10830 SND_HDA_PIN_QUIRK(0x10ec0236, 0x103c, "HP", ALC256_FIXUP_HP_HEADSET_MIC,
10831 {0x14, 0x90170110},
10832 {0x19, 0x02a11020},
10833 {0x21, 0x02211030}),
10834 SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL2_MIC_NO_PRESENCE,
10835 {0x14, 0x90170110},
10836 {0x21, 0x02211020}),
10837 SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
10838 {0x14, 0x90170130},
10839 {0x21, 0x02211040}),
10840 SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
10841 {0x12, 0x90a60140},
10842 {0x14, 0x90170110},
10843 {0x21, 0x02211020}),
10844 SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
10845 {0x12, 0x90a60160},
10846 {0x14, 0x90170120},
10847 {0x21, 0x02211030}),
10848 SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
10849 {0x14, 0x90170110},
10850 {0x1b, 0x02011020},
10851 {0x21, 0x0221101f}),
10852 SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
10853 {0x14, 0x90170110},
10854 {0x1b, 0x01011020},
10855 {0x21, 0x0221101f}),
10856 SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
10857 {0x14, 0x90170130},
10858 {0x1b, 0x01014020},
10859 {0x21, 0x0221103f}),
10860 SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
10861 {0x14, 0x90170130},
10862 {0x1b, 0x01011020},
10863 {0x21, 0x0221103f}),
10864 SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
10865 {0x14, 0x90170130},
10866 {0x1b, 0x02011020},
10867 {0x21, 0x0221103f}),
10868 SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
10869 {0x14, 0x90170150},
10870 {0x1b, 0x02011020},
10871 {0x21, 0x0221105f}),
10872 SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
10873 {0x14, 0x90170110},
10874 {0x1b, 0x01014020},
10875 {0x21, 0x0221101f}),
10876 SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
10877 {0x12, 0x90a60160},
10878 {0x14, 0x90170120},
10879 {0x17, 0x90170140},
10880 {0x21, 0x0321102f}),
10881 SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
10882 {0x12, 0x90a60160},
10883 {0x14, 0x90170130},
10884 {0x21, 0x02211040}),
10885 SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
10886 {0x12, 0x90a60160},
10887 {0x14, 0x90170140},
10888 {0x21, 0x02211050}),
10889 SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
10890 {0x12, 0x90a60170},
10891 {0x14, 0x90170120},
10892 {0x21, 0x02211030}),
10893 SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
10894 {0x12, 0x90a60170},
10895 {0x14, 0x90170130},
10896 {0x21, 0x02211040}),
10897 SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
10898 {0x12, 0x90a60170},
10899 {0x14, 0x90171130},
10900 {0x21, 0x02211040}),
10901 SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
10902 {0x12, 0x90a60170},
10903 {0x14, 0x90170140},
10904 {0x21, 0x02211050}),
10905 SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell Inspiron 5548", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
10906 {0x12, 0x90a60180},
10907 {0x14, 0x90170130},
10908 {0x21, 0x02211040}),
10909 SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell Inspiron 5565", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
10910 {0x12, 0x90a60180},
10911 {0x14, 0x90170120},
10912 {0x21, 0x02211030}),
10913 SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
10914 {0x1b, 0x01011020},
10915 {0x21, 0x02211010}),
10916 SND_HDA_PIN_QUIRK(0x10ec0256, 0x1043, "ASUS", ALC256_FIXUP_ASUS_MIC,
10917 {0x14, 0x90170110},
10918 {0x1b, 0x90a70130},
10919 {0x21, 0x04211020}),
10920 SND_HDA_PIN_QUIRK(0x10ec0256, 0x1043, "ASUS", ALC256_FIXUP_ASUS_MIC,
10921 {0x14, 0x90170110},
10922 {0x1b, 0x90a70130},
10923 {0x21, 0x03211020}),
10924 SND_HDA_PIN_QUIRK(0x10ec0256, 0x1043, "ASUS", ALC256_FIXUP_ASUS_MIC_NO_PRESENCE,
10925 {0x12, 0x90a60130},
10926 {0x14, 0x90170110},
10927 {0x21, 0x03211020}),
10928 SND_HDA_PIN_QUIRK(0x10ec0256, 0x1043, "ASUS", ALC256_FIXUP_ASUS_MIC_NO_PRESENCE,
10929 {0x12, 0x90a60130},
10930 {0x14, 0x90170110},
10931 {0x21, 0x04211020}),
10932 SND_HDA_PIN_QUIRK(0x10ec0256, 0x1043, "ASUS", ALC256_FIXUP_ASUS_MIC_NO_PRESENCE,
10933 {0x1a, 0x90a70130},
10934 {0x1b, 0x90170110},
10935 {0x21, 0x03211020}),
10936 SND_HDA_PIN_QUIRK(0x10ec0256, 0x103c, "HP", ALC256_FIXUP_HP_HEADSET_MIC,
10937 {0x14, 0x90170110},
10938 {0x19, 0x02a11020},
10939 {0x21, 0x0221101f}),
10940 SND_HDA_PIN_QUIRK(0x10ec0274, 0x103c, "HP", ALC274_FIXUP_HP_HEADSET_MIC,
10941 {0x17, 0x90170110},
10942 {0x19, 0x03a11030},
10943 {0x21, 0x03211020}),
10944 SND_HDA_PIN_QUIRK(0x10ec0280, 0x103c, "HP", ALC280_FIXUP_HP_GPIO4,
10945 {0x12, 0x90a60130},
10946 {0x14, 0x90170110},
10947 {0x15, 0x0421101f},
10948 {0x1a, 0x04a11020}),
10949 SND_HDA_PIN_QUIRK(0x10ec0280, 0x103c, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED,
10950 {0x12, 0x90a60140},
10951 {0x14, 0x90170110},
10952 {0x15, 0x0421101f},
10953 {0x18, 0x02811030},
10954 {0x1a, 0x04a1103f},
10955 {0x1b, 0x02011020}),
10956 SND_HDA_PIN_QUIRK(0x10ec0282, 0x103c, "HP 15 Touchsmart", ALC269_FIXUP_HP_MUTE_LED_MIC1,
10958 {0x12, 0x99a30130},
10959 {0x19, 0x03a11020},
10960 {0x21, 0x0321101f}),
10961 SND_HDA_PIN_QUIRK(0x10ec0282, 0x103c, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1,
10963 {0x12, 0x99a30130},
10964 {0x19, 0x03a11020},
10965 {0x21, 0x03211040}),
10966 SND_HDA_PIN_QUIRK(0x10ec0282, 0x103c, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1,
10968 {0x12, 0x99a30130},
10969 {0x19, 0x03a11030},
10970 {0x21, 0x03211020}),
10971 SND_HDA_PIN_QUIRK(0x10ec0282, 0x103c, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1,
10973 {0x12, 0x99a30130},
10974 {0x19, 0x04a11020},
10975 {0x21, 0x0421101f}),
10976 SND_HDA_PIN_QUIRK(0x10ec0282, 0x103c, "HP", ALC269_FIXUP_HP_LINE1_MIC1_LED,
10978 {0x12, 0x90a60140},
10979 {0x19, 0x04a11030},
10980 {0x21, 0x04211020}),
10981 SND_HDA_PIN_QUIRK(0x10ec0282, 0x1025, "Acer", ALC282_FIXUP_ACER_DISABLE_LINEOUT,
10983 {0x12, 0x90a609c0},
10984 {0x18, 0x03a11830},
10985 {0x19, 0x04a19831},
10986 {0x1a, 0x0481303f},
10987 {0x1b, 0x04211020},
10988 {0x21, 0x0321101f}),
10989 SND_HDA_PIN_QUIRK(0x10ec0282, 0x1025, "Acer", ALC282_FIXUP_ACER_DISABLE_LINEOUT,
10991 {0x12, 0x90a60940},
10992 {0x18, 0x03a11830},
10993 {0x19, 0x04a19831},
10994 {0x1a, 0x0481303f},
10995 {0x1b, 0x04211020},
10996 {0x21, 0x0321101f}),
10997 SND_HDA_PIN_QUIRK(0x10ec0283, 0x1028, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE,
10999 {0x12, 0x90a60130},
11000 {0x21, 0x0321101f}),
11001 SND_HDA_PIN_QUIRK(0x10ec0283, 0x1028, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE,
11002 {0x12, 0x90a60160},
11003 {0x14, 0x90170120},
11004 {0x21, 0x02211030}),
11005 SND_HDA_PIN_QUIRK(0x10ec0283, 0x1028, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE,
11007 {0x12, 0x90a60130},
11008 {0x19, 0x03a11020},
11009 {0x21, 0x0321101f}),
11010 SND_HDA_PIN_QUIRK(0x10ec0285, 0x17aa, "Lenovo", ALC285_FIXUP_LENOVO_PC_BEEP_IN_NOISE,
11011 {0x12, 0x90a60130},
11012 {0x14, 0x90170110},
11013 {0x19, 0x04a11040},
11014 {0x21, 0x04211020}),
11015 SND_HDA_PIN_QUIRK(0x10ec0285, 0x17aa, "Lenovo", ALC285_FIXUP_LENOVO_PC_BEEP_IN_NOISE,
11016 {0x14, 0x90170110},
11017 {0x19, 0x04a11040},
11018 {0x1d, 0x40600001},
11019 {0x21, 0x04211020}),
11020 SND_HDA_PIN_QUIRK(0x10ec0285, 0x17aa, "Lenovo", ALC285_FIXUP_THINKPAD_NO_BASS_SPK_HEADSET_JACK,
11021 {0x14, 0x90170110},
11022 {0x19, 0x04a11040},
11023 {0x21, 0x04211020}),
11024 SND_HDA_PIN_QUIRK(0x10ec0287, 0x17aa, "Lenovo", ALC285_FIXUP_THINKPAD_HEADSET_JACK,
11025 {0x14, 0x90170110},
11026 {0x17, 0x90170111},
11027 {0x19, 0x03a11030},
11028 {0x21, 0x03211020}),
11029 SND_HDA_PIN_QUIRK(0x10ec0287, 0x17aa, "Lenovo", ALC287_FIXUP_THINKPAD_I2S_SPK,
11030 {0x17, 0x90170110},
11031 {0x19, 0x03a11030},
11032 {0x21, 0x03211020}),
11033 SND_HDA_PIN_QUIRK(0x10ec0287, 0x17aa, "Lenovo", ALC287_FIXUP_THINKPAD_I2S_SPK,
11034 {0x17, 0x90170110}, /* 0x231f with RTK I2S AMP */
11035 {0x19, 0x04a11040},
11036 {0x21, 0x04211020}),
11037 SND_HDA_PIN_QUIRK(0x10ec0286, 0x1025, "Acer", ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE,
11038 {0x12, 0x90a60130},
11039 {0x17, 0x90170110},
11040 {0x21, 0x02211020}),
11041 SND_HDA_PIN_QUIRK(0x10ec0288, 0x1028, "Dell", ALC288_FIXUP_DELL1_MIC_NO_PRESENCE,
11042 {0x12, 0x90a60120},
11043 {0x14, 0x90170110},
11044 {0x21, 0x0321101f}),
11045 SND_HDA_PIN_QUIRK(0x10ec0290, 0x103c, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1,
11047 {0x15, 0x04211040},
11048 {0x18, 0x90170112},
11049 {0x1a, 0x04a11020}),
11050 SND_HDA_PIN_QUIRK(0x10ec0290, 0x103c, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1,
11052 {0x15, 0x04211040},
11053 {0x18, 0x90170110},
11054 {0x1a, 0x04a11020}),
11055 SND_HDA_PIN_QUIRK(0x10ec0290, 0x103c, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1,
11057 {0x15, 0x0421101f},
11058 {0x1a, 0x04a11020}),
11059 SND_HDA_PIN_QUIRK(0x10ec0290, 0x103c, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1,
11061 {0x15, 0x04211020},
11062 {0x1a, 0x04a11040}),
11063 SND_HDA_PIN_QUIRK(0x10ec0290, 0x103c, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1,
11065 {0x14, 0x90170110},
11066 {0x15, 0x04211020},
11067 {0x1a, 0x04a11040}),
11068 SND_HDA_PIN_QUIRK(0x10ec0290, 0x103c, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1,
11070 {0x14, 0x90170110},
11071 {0x15, 0x04211020},
11072 {0x1a, 0x04a11020}),
11073 SND_HDA_PIN_QUIRK(0x10ec0290, 0x103c, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1,
11075 {0x14, 0x90170110},
11076 {0x15, 0x0421101f},
11077 {0x1a, 0x04a11020}),
11078 SND_HDA_PIN_QUIRK(0x10ec0292, 0x1028, "Dell", ALC269_FIXUP_DELL2_MIC_NO_PRESENCE,
11080 {0x12, 0x90a60140},
11081 {0x16, 0x01014020},
11082 {0x19, 0x01a19030}),
11083 SND_HDA_PIN_QUIRK(0x10ec0292, 0x1028, "Dell", ALC269_FIXUP_DELL2_MIC_NO_PRESENCE,
11085 {0x12, 0x90a60140},
11086 {0x16, 0x01014020},
11087 {0x18, 0x02a19031},
11088 {0x19, 0x01a1903e}),
11089 SND_HDA_PIN_QUIRK(0x10ec0292, 0x1028, "Dell", ALC269_FIXUP_DELL3_MIC_NO_PRESENCE,
11091 {0x12, 0x90a60140}),
11092 SND_HDA_PIN_QUIRK(0x10ec0293, 0x1028, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE,
11094 {0x13, 0x90a60140},
11095 {0x16, 0x21014020},
11096 {0x19, 0x21a19030}),
11097 SND_HDA_PIN_QUIRK(0x10ec0293, 0x1028, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE,
11099 {0x13, 0x90a60140}),
11100 SND_HDA_PIN_QUIRK(0x10ec0294, 0x1043, "ASUS", ALC294_FIXUP_ASUS_HPE,
11101 {0x17, 0x90170110},
11102 {0x21, 0x04211020}),
11103 SND_HDA_PIN_QUIRK(0x10ec0294, 0x1043, "ASUS", ALC294_FIXUP_ASUS_MIC,
11104 {0x14, 0x90170110},
11105 {0x1b, 0x90a70130},
11106 {0x21, 0x04211020}),
11107 SND_HDA_PIN_QUIRK(0x10ec0294, 0x1043, "ASUS", ALC294_FIXUP_ASUS_SPK,
11108 {0x12, 0x90a60130},
11109 {0x17, 0x90170110},
11110 {0x21, 0x03211020}),
11111 SND_HDA_PIN_QUIRK(0x10ec0294, 0x1043, "ASUS", ALC294_FIXUP_ASUS_SPK,
11112 {0x12, 0x90a60130},
11113 {0x17, 0x90170110},
11114 {0x21, 0x04211020}),
11115 SND_HDA_PIN_QUIRK(0x10ec0295, 0x1043, "ASUS", ALC294_FIXUP_ASUS_SPK,
11116 {0x12, 0x90a60130},
11117 {0x17, 0x90170110},
11118 {0x21, 0x03211020}),
11119 SND_HDA_PIN_QUIRK(0x10ec0295, 0x1043, "ASUS", ALC295_FIXUP_ASUS_MIC_NO_PRESENCE,
11120 {0x12, 0x90a60120},
11121 {0x17, 0x90170110},
11122 {0x21, 0x04211030}),
11123 SND_HDA_PIN_QUIRK(0x10ec0295, 0x1043, "ASUS", ALC295_FIXUP_ASUS_MIC_NO_PRESENCE,
11124 {0x12, 0x90a60130},
11125 {0x17, 0x90170110},
11126 {0x21, 0x03211020}),
11127 SND_HDA_PIN_QUIRK(0x10ec0295, 0x1043, "ASUS", ALC295_FIXUP_ASUS_MIC_NO_PRESENCE,
11128 {0x12, 0x90a60130},
11129 {0x17, 0x90170110},
11130 {0x21, 0x03211020}),
11131 SND_HDA_PIN_QUIRK(0x10ec0298, 0x1028, "Dell", ALC298_FIXUP_DELL1_MIC_NO_PRESENCE,
11133 {0x17, 0x90170110}),
11134 SND_HDA_PIN_QUIRK(0x10ec0298, 0x1028, "Dell", ALC298_FIXUP_DELL1_MIC_NO_PRESENCE,
11136 {0x17, 0x90170140}),
11137 SND_HDA_PIN_QUIRK(0x10ec0298, 0x1028, "Dell", ALC298_FIXUP_DELL1_MIC_NO_PRESENCE,
11139 {0x17, 0x90170150}),
11140 SND_HDA_PIN_QUIRK(0x10ec0298, 0x1028, "Dell", ALC298_FIXUP_SPK_VOLUME,
11141 {0x12, 0xb7a60140},
11142 {0x13, 0xb7a60150},
11143 {0x17, 0x90170110},
11144 {0x1a, 0x03011020},
11145 {0x21, 0x03211030}),
11146 SND_HDA_PIN_QUIRK(0x10ec0298, 0x1028, "Dell", ALC298_FIXUP_ALIENWARE_MIC_NO_PRESENCE,
11147 {0x12, 0xb7a60140},
11148 {0x17, 0x90170110},
11149 {0x1a, 0x03a11030},
11150 {0x21, 0x03211020}),
11151 SND_HDA_PIN_QUIRK(0x10ec0299, 0x1028, "Dell", ALC269_FIXUP_DELL4_MIC_NO_PRESENCE,
11153 {0x12, 0xb7a60130},
11154 {0x17, 0x90170110}),
11155 SND_HDA_PIN_QUIRK(0x10ec0623, 0x17aa, "Lenovo", ALC283_FIXUP_HEADSET_MIC,
11156 {0x14, 0x01014010},
11157 {0x17, 0x90170120},
11158 {0x18, 0x02a11030},
11159 {0x19, 0x02a1103f},
11160 {0x21, 0x0221101f}),
11171 SND_HDA_PIN_QUIRK(0x10ec0256, 0x1025, "Acer", ALC2XX_FIXUP_HEADSET_MIC,
11172 {0x19, 0x40000000}),
11173 SND_HDA_PIN_QUIRK(0x10ec0289, 0x1028, "Dell", ALC269_FIXUP_DELL4_MIC_NO_PRESENCE,
11174 {0x19, 0x40000000},
11175 {0x1b, 0x40000000}),
11176 SND_HDA_PIN_QUIRK(0x10ec0295, 0x1028, "Dell", ALC269_FIXUP_DELL4_MIC_NO_PRESENCE_QUIET,
11177 {0x19, 0x40000000},
11178 {0x1b, 0x40000000}),
11179 SND_HDA_PIN_QUIRK(0x10ec0256, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
11180 {0x19, 0x40000000},
11181 {0x1a, 0x40000000}),
11182 SND_HDA_PIN_QUIRK(0x10ec0236, 0x1028, "Dell", ALC255_FIXUP_DELL1_LIMIT_INT_MIC_BOOST,
11183 {0x19, 0x40000000},
11184 {0x1a, 0x40000000}),
11185 SND_HDA_PIN_QUIRK(0x10ec0274, 0x1028, "Dell", ALC269_FIXUP_DELL1_LIMIT_INT_MIC_BOOST,
11186 {0x19, 0x40000000},
11187 {0x1a, 0x40000000}),
11188 SND_HDA_PIN_QUIRK(0x10ec0256, 0x1043, "ASUS", ALC2XX_FIXUP_HEADSET_MIC,
11189 {0x19, 0x40000000}),
11190 SND_HDA_PIN_QUIRK(0x10ec0255, 0x1558, "Clevo", ALC2XX_FIXUP_HEADSET_MIC,
11191 {0x19, 0x40000000}),
11203 if ((alc_get_coef0(codec) & 0x00ff) < 0x015) {
11204 alc_write_coef_idx(codec, 0xf, 0x960b);
11205 alc_write_coef_idx(codec, 0xe, 0x8817);
11208 if ((alc_get_coef0(codec) & 0x00ff) == 0x016) {
11209 alc_write_coef_idx(codec, 0xf, 0x960b);
11210 alc_write_coef_idx(codec, 0xe, 0x8814);
11213 if ((alc_get_coef0(codec) & 0x00ff) == 0x017) {
11215 alc_update_coef_idx(codec, 0x04, 0, 1<<11);
11218 if ((alc_get_coef0(codec) & 0x00ff) == 0x018) {
11219 val = alc_read_coef_idx(codec, 0xd);
11220 if (val != -1 && (val & 0x0c00) >> 10 != 0x1) {
11222 alc_write_coef_idx(codec, 0xd, val | (1<<10));
11224 val = alc_read_coef_idx(codec, 0x17);
11225 if (val != -1 && (val & 0x01c0) >> 6 != 0x4) {
11227 alc_write_coef_idx(codec, 0x17, val | (1<<7));
11232 alc_update_coef_idx(codec, 0x4, 0, 1<<11);
11242 err = alc_alloc_spec(codec, 0x0b);
11243 if (err < 0)
11247 spec->gen.shared_mic_vref_pin = 0x18;
11248 codec->power_save_node = 0;
11259 case 0x10ec0269:
11261 switch (alc_get_coef0(codec) & 0x00f0) {
11262 case 0x0010:
11264 codec->bus->pci->subsystem_vendor == 0x1025 &&
11269 case 0x0020:
11271 codec->bus->pci->subsystem_vendor == 0x17aa &&
11272 codec->bus->pci->subsystem_device == 0x21f3)
11276 case 0x0030:
11280 alc_fix_pll_init(codec, 0x20, 0x04, 15);
11282 if (err < 0)
11289 case 0x10ec0280:
11290 case 0x10ec0290:
11293 case 0x10ec0282:
11298 case 0x10ec0233:
11299 case 0x10ec0283:
11304 case 0x10ec0284:
11305 case 0x10ec0292:
11308 case 0x10ec0293:
11311 case 0x10ec0286:
11312 case 0x10ec0288:
11315 case 0x10ec0298:
11318 case 0x10ec0235:
11319 case 0x10ec0255:
11324 case 0x10ec0230:
11325 case 0x10ec0236:
11326 case 0x10ec0256:
11327 case 0x19e58326:
11331 spec->gen.mixer_nid = 0; /* ALC256 does not have any loopback mixer path */
11332 if (codec->core.vendor_id == 0x10ec0236 &&
11336 case 0x10ec0257:
11340 spec->gen.mixer_nid = 0;
11343 case 0x10ec0215:
11344 case 0x10ec0245:
11345 case 0x10ec0285:
11346 case 0x10ec0289:
11347 if (alc_get_coef0(codec) & 0x0010)
11353 spec->gen.mixer_nid = 0;
11355 case 0x10ec0225:
11356 case 0x10ec0295:
11357 case 0x10ec0299:
11361 spec->gen.mixer_nid = 0; /* no loopback on ALC225, ALC295 and ALC299 */
11363 case 0x10ec0287:
11367 spec->gen.mixer_nid = 0; /* no loopback on ALC287 */
11369 case 0x10ec0234:
11370 case 0x10ec0274:
11371 case 0x10ec0294:
11373 spec->gen.mixer_nid = 0; /* ALC2x4 does not have any loopback mixer path */
11374 alc_update_coef_idx(codec, 0x6b, 0x0018, (1<<4) | (1<<3)); /* UAJ MIC Vref control by verb */
11377 case 0x10ec0300:
11379 spec->gen.mixer_nid = 0; /* no loopback on ALC300 */
11381 case 0x10ec0222:
11382 case 0x10ec0623:
11387 case 0x10ec0700:
11388 case 0x10ec0701:
11389 case 0x10ec0703:
11390 case 0x10ec0711:
11392 spec->gen.mixer_nid = 0; /* ALC700 does not have any loopback mixer path */
11393 alc_update_coef_idx(codec, 0x4a, 1 << 15, 0); /* Combo jack auto trigger control */
11399 if (snd_hda_codec_read(codec, 0x51, 0, AC_VERB_PARAMETERS, 0) == 0x10ec5505) {
11413 codec->core.vendor_id == 0x10ec0294) {
11427 spec->gen.beep_nid = 0x01;
11431 if (err < 0)
11435 err = set_beep_amp(spec, spec->gen.mixer_nid, 0x04, HDA_INPUT);
11436 if (err < 0)
11442 return 0;
11455 static const hda_nid_t alc861_ignore[] = { 0x1d, 0 };
11456 static const hda_nid_t alc861_ssids[] = { 0x0e, 0x0f, 0x0b, 0 };
11469 /* On some laptops, VREF of pin 0x0f is abused for controlling the main amp */
11478 val = snd_hda_codec_get_pin_target(codec, 0x0f);
11482 snd_hda_set_pin_ctl(codec, 0x0f, val);
11498 { 0x0b, 0x0221101f }, /* HP */
11499 { 0x0f, 0x90170310 }, /* speaker */
11520 /* ASUS W7J needs a magic pin setup on unused NID 0x10
11523 {0x10, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x24},
11530 SND_PCI_QUIRK(0x1043, 0x1253, "ASUS W7J", ALC660_FIXUP_ASUS_W7J),
11531 SND_PCI_QUIRK(0x1043, 0x1263, "ASUS Z35HL", ALC660_FIXUP_ASUS_W7J),
11532 SND_PCI_QUIRK(0x1043, 0x1393, "ASUS A6Rp", ALC861_FIXUP_ASUS_A6RP),
11533 SND_PCI_QUIRK_VENDOR(0x1043, "ASUS laptop", ALC861_FIXUP_AMP_VREF_0F),
11534 SND_PCI_QUIRK(0x1462, 0x7254, "HP DX2200", ALC861_FIXUP_NO_JACK_DETECT),
11535 SND_PCI_QUIRK_VENDOR(0x1584, "Haier/Uniwill", ALC861_FIXUP_AMP_VREF_0F),
11536 SND_PCI_QUIRK(0x1734, 0x10c7, "FSC Amilo Pi1505", ALC861_FIXUP_FSC_AMILO_PI1505),
11547 err = alc_alloc_spec(codec, 0x15);
11548 if (err < 0)
11553 spec->gen.beep_nid = 0x23;
11566 if (err < 0)
11570 err = set_beep_amp(spec, 0x23, 0, HDA_OUTPUT);
11571 if (err < 0)
11577 return 0;
11593 static const hda_nid_t alc861vd_ignore[] = { 0x1d, 0 };
11594 static const hda_nid_t alc861vd_ssids[] = { 0x15, 0x1b, 0x14, 0 };
11608 snd_hda_override_pin_caps(codec, 0x18, 0x00000734);
11609 snd_hda_override_pin_caps(codec, 0x19, 0x0000073c);
11620 spec->gpio_mask |= 0x02;
11621 alc_fixup_gpio(codec, action, 0x01);
11636 SND_PCI_QUIRK(0x103c, 0x30bf, "HP TX1000", ALC861VD_FIX_DALLAS),
11637 SND_PCI_QUIRK(0x1043, 0x1339, "ASUS A7-K", ALC660VD_FIX_ASUS_GPIO1),
11638 SND_PCI_QUIRK(0x1179, 0xff31, "Toshiba L30-149", ALC861VD_FIX_DALLAS),
11649 err = alc_alloc_spec(codec, 0x0b);
11650 if (err < 0)
11655 spec->gen.beep_nid = 0x23;
11666 if (err < 0)
11670 err = set_beep_amp(spec, 0x0b, 0x05, HDA_INPUT);
11671 if (err < 0)
11677 return 0;
11702 static const hda_nid_t alc662_ignore[] = { 0x1d, 0 };
11703 static const hda_nid_t alc663_ssids[] = { 0x15, 0x1b, 0x14, 0x21 };
11704 static const hda_nid_t alc662_ssids[] = { 0x15, 0x1b, 0x14, 0 };
11707 if (codec->core.vendor_id == 0x10ec0272 || codec->core.vendor_id == 0x10ec0663 ||
11708 codec->core.vendor_id == 0x10ec0665 || codec->core.vendor_id == 0x10ec0670 ||
11709 codec->core.vendor_id == 0x10ec0671)
11721 if (snd_hda_override_amp_caps(codec, 0x2, HDA_OUTPUT,
11722 (0x3b << AC_AMPCAP_OFFSET_SHIFT) |
11723 (0x3b << AC_AMPCAP_NUM_STEPS_SHIFT) |
11724 (0x03 << AC_AMPCAP_STEP_SIZE_SHIFT) |
11725 (0 << AC_AMPCAP_MUTE_SHIFT)))
11726 codec_warn(codec, "failed to override amp caps for NID 0x2\n");
11744 spec->gen.pcm_rec[0]->stream[0].chmap = asus_pcm_2_1_chmaps;
11764 alc_fixup_hp_gpio_led(codec, action, 0x01, 0);
11779 vref = spec->gen.hp_jack_present ? PIN_VREF80 : 0;
11781 snd_hda_codec_write(codec, 0x19, 0, AC_VERB_SET_PIN_WIDGET_CONTROL,
11798 /* surround speakers at 0x1b already get muted automatically when
11801 * 0x15 - front left/front right
11802 * 0x18 - front center/ LFE
11804 if (snd_hda_jack_detect_state(codec, 0x1b) == HDA_JACK_PRESENT) {
11805 snd_hda_set_pin_ctl_cache(codec, 0x15, 0);
11806 snd_hda_set_pin_ctl_cache(codec, 0x18, 0);
11808 snd_hda_set_pin_ctl_cache(codec, 0x15, PIN_OUT);
11809 snd_hda_set_pin_ctl_cache(codec, 0x18, PIN_OUT);
11816 /* Pin 0x1b: shared headphones jack and surround speakers */
11817 if (!is_jack_detectable(codec, 0x1b))
11822 snd_hda_jack_detect_enable_callback(codec, 0x1b,
11825 alc_setup_gpio(codec, 0x02);
11842 { 0x19, 0x02a11040 }, /* use as headset mic, with its own jack detect */
11843 { 0x1b, 0x0181304f },
11849 spec->gen.mixer_nid = 0;
11854 alc_write_coef_idx(codec, 0x19, 0xa054);
11867 snd_hda_set_pin_ctl(codec, 0x1b, vref);
11879 snd_hda_set_pin_ctl_cache(codec, 0x1a, PIN_IN | AC_PINCTL_VREF_100);
11895 WRITE_COEF(0x01, 0xbebe), WRITE_COEF(0x02, 0xaaaa), WRITE_COEF(0x03, 0x0),
11896 WRITE_COEF(0x04, 0x0180), WRITE_COEF(0x06, 0x0), WRITE_COEF(0x07, 0x0f80),
11897 WRITE_COEF(0x08, 0x0031), WRITE_COEF(0x0a, 0x0060), WRITE_COEF(0x0b, 0x0),
11898 WRITE_COEF(0x0c, 0x7cf7), WRITE_COEF(0x0d, 0x1080), WRITE_COEF(0x0e, 0x7f7f),
11899 WRITE_COEF(0x0f, 0xcccc), WRITE_COEF(0x10, 0xddcc), WRITE_COEF(0x11, 0x0001),
11900 WRITE_COEF(0x13, 0x0), WRITE_COEF(0x14, 0x2aa0), WRITE_COEF(0x17, 0xa940),
11901 WRITE_COEF(0x19, 0x0), WRITE_COEF(0x1a, 0x0), WRITE_COEF(0x1b, 0x0),
11902 WRITE_COEF(0x1c, 0x0), WRITE_COEF(0x1d, 0x0), WRITE_COEF(0x1e, 0x7418),
11903 WRITE_COEF(0x1f, 0x0804), WRITE_COEF(0x20, 0x4200), WRITE_COEF(0x21, 0x0468),
11904 WRITE_COEF(0x22, 0x8ccc), WRITE_COEF(0x23, 0x0250), WRITE_COEF(0x24, 0x7418),
11905 WRITE_COEF(0x27, 0x0), WRITE_COEF(0x28, 0x8ccc), WRITE_COEF(0x2a, 0xff00),
11906 WRITE_COEF(0x2b, 0x8000), WRITE_COEF(0xa7, 0xff00), WRITE_COEF(0xa8, 0x8000),
11907 WRITE_COEF(0xaa, 0x2e17), WRITE_COEF(0xab, 0xa0c0), WRITE_COEF(0xac, 0x0),
11908 WRITE_COEF(0xad, 0x0), WRITE_COEF(0xae, 0x2ac6), WRITE_COEF(0xaf, 0xa480),
11909 WRITE_COEF(0xb0, 0x0), WRITE_COEF(0xb1, 0x0), WRITE_COEF(0xb2, 0x0),
11910 WRITE_COEF(0xb3, 0x0), WRITE_COEF(0xb4, 0x0), WRITE_COEF(0xb5, 0x1040),
11911 WRITE_COEF(0xb6, 0xd697), WRITE_COEF(0xb7, 0x902b), WRITE_COEF(0xb8, 0xd697),
11912 WRITE_COEF(0xb9, 0x902b), WRITE_COEF(0xba, 0xb8ba), WRITE_COEF(0xbb, 0xaaab),
11913 WRITE_COEF(0xbc, 0xaaaf), WRITE_COEF(0xbd, 0x6aaa), WRITE_COEF(0xbe, 0x1c02),
11914 WRITE_COEF(0xc0, 0x00ff), WRITE_COEF(0xc1, 0x0fa6),
11987 { 0x15, 0x99130112 }, /* subwoofer */
11998 { 0x17, 0x99130112 }, /* subwoofer */
12011 {0x12, 0x403cc000},
12012 {0x14, 0x90170110}, /* speaker */
12013 {0x15, 0x411111f0},
12014 {0x16, 0x411111f0},
12015 {0x18, 0x01a19030}, /* mic */
12016 {0x19, 0x90a7013f}, /* int-mic */
12017 {0x1a, 0x01014020},
12018 {0x1b, 0x0121401f},
12019 {0x1c, 0x411111f0},
12020 {0x1d, 0x411111f0},
12021 {0x1e, 0x40478e35},
12030 {0x14, AC_VERB_SET_EAPD_BTLENABLE, 0},
12041 { 0x14, 0x0221201f }, /* HP out */
12050 { 0x14, 0x99130110 }, /* speaker */
12051 { 0x18, 0x01a19c20 }, /* mic */
12052 { 0x19, 0x99a3092f }, /* int-mic */
12053 { 0x21, 0x0121401f }, /* HP out */
12062 { 0x14, 0x99130110 }, /* speaker */
12063 { 0x18, 0x01a19820 }, /* mic */
12064 { 0x19, 0x99a3092f }, /* int-mic */
12065 { 0x1b, 0x0121401f }, /* HP out */
12074 { 0x14, 0x99130110 }, /* speaker */
12075 { 0x15, 0x0121441f }, /* HP */
12076 { 0x18, 0x01a19840 }, /* mic */
12077 { 0x19, 0x99a3094f }, /* int-mic */
12078 { 0x21, 0x01211420 }, /* HP2 */
12087 { 0x14, 0x99130110 }, /* speaker */
12088 { 0x16, 0x99130111 }, /* speaker */
12089 { 0x18, 0x01a19840 }, /* mic */
12090 { 0x19, 0x99a3094f }, /* int-mic */
12091 { 0x21, 0x0121441f }, /* HP */
12100 { 0x14, 0x99130110 }, /* speaker */
12101 { 0x15, 0x0121441f }, /* HP */
12102 { 0x16, 0x99130111 }, /* speaker */
12103 { 0x18, 0x01a19840 }, /* mic */
12104 { 0x19, 0x99a3094f }, /* int-mic */
12113 { 0x14, 0x99130110 }, /* speaker */
12114 { 0x15, 0x01211420 }, /* HP2 */
12115 { 0x18, 0x01a19840 }, /* mic */
12116 { 0x19, 0x99a3094f }, /* int-mic */
12117 { 0x1b, 0x0121441f }, /* HP */
12126 { 0x14, 0x99130110 }, /* speaker */
12127 { 0x17, 0x99130111 }, /* speaker */
12128 { 0x18, 0x01a19840 }, /* mic */
12129 { 0x19, 0x99a3094f }, /* int-mic */
12130 { 0x1b, 0x01214020 }, /* HP */
12131 { 0x21, 0x0121401f }, /* HP */
12140 { 0x14, 0x99130110 }, /* speaker */
12141 { 0x12, 0x99a30970 }, /* int-mic */
12142 { 0x15, 0x01214020 }, /* HP */
12143 { 0x17, 0x99130111 }, /* speaker */
12144 { 0x18, 0x01a19840 }, /* mic */
12145 { 0x21, 0x0121401f }, /* HP */
12158 { 0x1b, 0x02214020 }, /* Front HP */
12187 { 0x19, 0x03a1113c }, /* use as headset mic, without its own jack detect */
12188 /* headphone mic by setting pin control of 0x1b (headphone out) to in + vref_50 */
12201 { 0x19, 0x03a1913d }, /* use as headphone mic, without its own jack detect */
12202 { 0x1b, 0x03a1113c }, /* use as headset mic, without its own jack detect */
12221 {0x16, 0x80106111}, /* bass speaker */
12230 {0x1a, 0x80106111}, /* bass speaker */
12254 { 0x19, 0x03a1913d }, /* use as headphone mic, without its own jack detect */
12255 { 0x1a, 0x90170151 }, /* bass speaker */
12256 { 0x1b, 0x03a1113c }, /* use as headset mic, without its own jack detect */
12265 { 0x20, AC_VERB_SET_COEF_INDEX, 0xc3 },
12266 { 0x20, AC_VERB_SET_PROC_COEF, 0x4000 },
12273 { 0x16, 0x0421101f }, /* HP */
12286 { 0x19, 0x03a1913d }, /* use as headphone mic, without its own jack detect */
12287 { 0x1b, 0x03a1113c }, /* use as headset mic, without its own jack detect */
12296 { 0x15, 0x50170120 }, /* no internal speaker */
12303 { 0x15, 0x40f000f0 }, /* disabled */
12304 { 0x16, 0x40f000f0 }, /* disabled */
12315 { 0x19, 0x02a1913c }, /* use as headset mic, without its own jack detect */
12316 { 0x18, 0x01a1903d },
12333 { 0x15, 0x92130110 }, /* front speakers */
12334 { 0x18, 0x99130111 }, /* center/subwoofer */
12335 { 0x1b, 0x11130012 }, /* surround plus jack for HP */
12348 { 0x1a, 0x02a1113c }, /* use as headset mic, without its own jack detect */
12357 { 0x1a, 0x01a11140 }, /* use as headset mic, without its own jack detect */
12358 { 0x1b, 0x0221144f },
12367 { 0x1b, 0x04a1112c },
12382 { 0x20, AC_VERB_SET_COEF_INDEX, 0x15 },
12383 { 0x20, AC_VERB_SET_PROC_COEF, 0x0d60 },
12394 { 0x1a, 0x03a11050 },
12403 { 0x19, 0x01a1913c }, /* use as headset mic, without its own jack detect */
12414 { 0x1a, 0x01a11140 }, /* use as headset mic, without its own jack detect */
12423 { 0x14, AC_VERB_SET_EAPD_BTLENABLE, 0 },
12430 { 0x19, 0x03a11050 }, /* use as headset mic */
12437 SND_PCI_QUIRK(0x1019, 0x9087, "ECS", ALC662_FIXUP_ASUS_MODE2),
12438 SND_PCI_QUIRK(0x1019, 0x9859, "JP-IK LEAP W502", ALC897_FIXUP_HEADSET_MIC_PIN3),
12439 SND_PCI_QUIRK(0x1025, 0x022f, "Acer Aspire One", ALC662_FIXUP_INV_DMIC),
12440 SND_PCI_QUIRK(0x1025, 0x0241, "Packard Bell DOTS", ALC662_FIXUP_INV_DMIC),
12441 SND_PCI_QUIRK(0x1025, 0x0308, "Acer Aspire 8942G", ALC662_FIXUP_ASPIRE),
12442 SND_PCI_QUIRK(0x1025, 0x031c, "Gateway NV79", ALC662_FIXUP_SKU_IGNORE),
12443 SND_PCI_QUIRK(0x1025, 0x0349, "eMachines eM250", ALC662_FIXUP_INV_DMIC),
12444 SND_PCI_QUIRK(0x1025, 0x034a, "Gateway LT27", ALC662_FIXUP_INV_DMIC),
12445 SND_PCI_QUIRK(0x1025, 0x038b, "Acer Aspire 8943G", ALC662_FIXUP_ASPIRE),
12446 SND_PCI_QUIRK(0x1025, 0x0566, "Acer Aspire Ethos 8951G", ALC669_FIXUP_ACER_ASPIRE_ETHOS),
12447 SND_PCI_QUIRK(0x1025, 0x123c, "Acer Nitro N50-600", ALC662_FIXUP_ACER_NITRO_HEADSET_MODE),
12448 SND_PCI_QUIRK(0x1025, 0x124e, "Acer 2660G", ALC662_FIXUP_ACER_X2660G_HEADSET_MODE),
12449 SND_PCI_QUIRK(0x1028, 0x05d8, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE),
12450 SND_PCI_QUIRK(0x1028, 0x05db, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE),
12451 SND_PCI_QUIRK(0x1028, 0x05fe, "Dell XPS 15", ALC668_FIXUP_DELL_XPS13),
12452 SND_PCI_QUIRK(0x1028, 0x060a, "Dell XPS 13", ALC668_FIXUP_DELL_XPS13),
12453 SND_PCI_QUIRK(0x1028, 0x060d, "Dell M3800", ALC668_FIXUP_DELL_XPS13),
12454 SND_PCI_QUIRK(0x1028, 0x0625, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE),
12455 SND_PCI_QUIRK(0x1028, 0x0626, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE),
12456 SND_PCI_QUIRK(0x1028, 0x0696, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE),
12457 SND_PCI_QUIRK(0x1028, 0x0698, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE),
12458 SND_PCI_QUIRK(0x1028, 0x069f, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE),
12459 SND_PCI_QUIRK(0x103c, 0x1632, "HP RP5800", ALC662_FIXUP_HP_RP5800),
12460 SND_PCI_QUIRK(0x103c, 0x870c, "HP", ALC897_FIXUP_HP_HSMIC_VERB),
12461 SND_PCI_QUIRK(0x103c, 0x8719, "HP", ALC897_FIXUP_HP_HSMIC_VERB),
12462 SND_PCI_QUIRK(0x103c, 0x872b, "HP", ALC897_FIXUP_HP_HSMIC_VERB),
12463 SND_PCI_QUIRK(0x103c, 0x873e, "HP", ALC671_FIXUP_HP_HEADSET_MIC2),
12464 SND_PCI_QUIRK(0x103c, 0x8768, "HP Slim Desktop S01", ALC671_FIXUP_HP_HEADSET_MIC2),
12465 SND_PCI_QUIRK(0x103c, 0x877e, "HP 288 Pro G6", ALC671_FIXUP_HP_HEADSET_MIC2),
12466 SND_PCI_QUIRK(0x103c, 0x885f, "HP 288 Pro G8", ALC671_FIXUP_HP_HEADSET_MIC2),
12467 SND_PCI_QUIRK(0x1043, 0x1080, "Asus UX501VW", ALC668_FIXUP_HEADSET_MODE),
12468 SND_PCI_QUIRK(0x1043, 0x11cd, "Asus N550", ALC662_FIXUP_ASUS_Nx50),
12469 SND_PCI_QUIRK(0x1043, 0x129d, "Asus N750", ALC662_FIXUP_ASUS_Nx50),
12470 SND_PCI_QUIRK(0x1043, 0x12ff, "ASUS G751", ALC668_FIXUP_ASUS_G751),
12471 SND_PCI_QUIRK(0x1043, 0x13df, "Asus N550JX", ALC662_FIXUP_BASS_1A),
12472 SND_PCI_QUIRK(0x1043, 0x1477, "ASUS N56VZ", ALC662_FIXUP_BASS_MODE4_CHMAP),
12473 SND_PCI_QUIRK(0x1043, 0x15a7, "ASUS UX51VZH", ALC662_FIXUP_BASS_16),
12474 SND_PCI_QUIRK(0x1043, 0x177d, "ASUS N551", ALC668_FIXUP_ASUS_Nx51),
12475 SND_PCI_QUIRK(0x1043, 0x17bd, "ASUS N751", ALC668_FIXUP_ASUS_Nx51),
12476 SND_PCI_QUIRK(0x1043, 0x185d, "ASUS G551JW", ALC668_FIXUP_ASUS_NO_HEADSET_MIC),
12477 SND_PCI_QUIRK(0x1043, 0x1963, "ASUS X71SL", ALC662_FIXUP_ASUS_MODE8),
12478 SND_PCI_QUIRK(0x1043, 0x1b73, "ASUS N55SF", ALC662_FIXUP_BASS_16),
12479 SND_PCI_QUIRK(0x1043, 0x1bf3, "ASUS N76VZ", ALC662_FIXUP_BASS_MODE4_CHMAP),
12480 SND_PCI_QUIRK(0x1043, 0x8469, "ASUS mobo", ALC662_FIXUP_NO_JACK_DETECT),
12481 SND_PCI_QUIRK(0x105b, 0x0cd6, "Foxconn", ALC662_FIXUP_ASUS_MODE2),
12482 SND_PCI_QUIRK(0x144d, 0xc051, "Samsung R720", ALC662_FIXUP_IDEAPAD),
12483 SND_PCI_QUIRK(0x14cd, 0x5003, "USI", ALC662_FIXUP_USI_HEADSET_MODE),
12484 SND_PCI_QUIRK(0x17aa, 0x1036, "Lenovo P520", ALC662_FIXUP_LENOVO_MULTI_CODECS),
12485 SND_PCI_QUIRK(0x17aa, 0x1057, "Lenovo P360", ALC897_FIXUP_HEADSET_MIC_PIN),
12486 SND_PCI_QUIRK(0x17aa, 0x1064, "Lenovo P3 Tower", ALC897_FIXUP_HEADSET_MIC_PIN),
12487 SND_PCI_QUIRK(0x17aa, 0x32ca, "Lenovo ThinkCentre M80", ALC897_FIXUP_HEADSET_MIC_PIN),
12488 SND_PCI_QUIRK(0x17aa, 0x32cb, "Lenovo ThinkCentre M70", ALC897_FIXUP_HEADSET_MIC_PIN),
12489 SND_PCI_QUIRK(0x17aa, 0x32cf, "Lenovo ThinkCentre M950", ALC897_FIXUP_HEADSET_MIC_PIN),
12490 SND_PCI_QUIRK(0x17aa, 0x32f7, "Lenovo ThinkCentre M90", ALC897_FIXUP_HEADSET_MIC_PIN),
12491 SND_PCI_QUIRK(0x17aa, 0x3321, "Lenovo ThinkCentre M70 Gen4", ALC897_FIXUP_HEADSET_MIC_PIN),
12492 SND_PCI_QUIRK(0x17aa, 0x331b, "Lenovo ThinkCentre M90 Gen4", ALC897_FIXUP_HEADSET_MIC_PIN),
12493 SND_PCI_QUIRK(0x17aa, 0x3364, "Lenovo ThinkCentre M90 Gen5", ALC897_FIXUP_HEADSET_MIC_PIN),
12494 SND_PCI_QUIRK(0x17aa, 0x3742, "Lenovo TianYi510Pro-14IOB", ALC897_FIXUP_HEADSET_MIC_PIN2),
12495 SND_PCI_QUIRK(0x17aa, 0x38af, "Lenovo Ideapad Y550P", ALC662_FIXUP_IDEAPAD),
12496 SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Ideapad Y550", ALC662_FIXUP_IDEAPAD),
12497 SND_PCI_QUIRK(0x1849, 0x5892, "ASRock B150M", ALC892_FIXUP_ASROCK_MOBO),
12498 SND_PCI_QUIRK(0x19da, 0xa130, "Zotac Z68", ALC662_FIXUP_ZOTAC_Z68),
12499 SND_PCI_QUIRK(0x1b0a, 0x01b8, "ACER Veriton", ALC662_FIXUP_ACER_VERITON),
12500 SND_PCI_QUIRK(0x1b35, 0x1234, "CZC ET26", ALC662_FIXUP_CZC_ET26),
12501 SND_PCI_QUIRK(0x1b35, 0x2206, "CZC P10T", ALC662_FIXUP_CZC_P10T),
12502 SND_PCI_QUIRK(0x1c6c, 0x1239, "Compaq N14JP6-V2", ALC897_FIXUP_HP_HSMIC_VERB),
12504 #if 0
12510 SND_PCI_QUIRK(0x1043, 0x1000, "ASUS N50Vm", ALC662_FIXUP_ASUS_MODE1),
12511 SND_PCI_QUIRK(0x1043, 0x1092, "ASUS NB", ALC662_FIXUP_ASUS_MODE3),
12512 SND_PCI_QUIRK(0x1043, 0x1173, "ASUS K73Jn", ALC662_FIXUP_ASUS_MODE1),
12513 SND_PCI_QUIRK(0x1043, 0x11c3, "ASUS M70V", ALC662_FIXUP_ASUS_MODE3),
12514 SND_PCI_QUIRK(0x1043, 0x11d3, "ASUS NB", ALC662_FIXUP_ASUS_MODE1),
12515 SND_PCI_QUIRK(0x1043, 0x11f3, "ASUS NB", ALC662_FIXUP_ASUS_MODE2),
12516 SND_PCI_QUIRK(0x1043, 0x1203, "ASUS NB", ALC662_FIXUP_ASUS_MODE1),
12517 SND_PCI_QUIRK(0x1043, 0x1303, "ASUS G60J", ALC662_FIXUP_ASUS_MODE1),
12518 SND_PCI_QUIRK(0x1043, 0x1333, "ASUS G60Jx", ALC662_FIXUP_ASUS_MODE1),
12519 SND_PCI_QUIRK(0x1043, 0x1339, "ASUS NB", ALC662_FIXUP_ASUS_MODE2),
12520 SND_PCI_QUIRK(0x1043, 0x13e3, "ASUS N71JA", ALC662_FIXUP_ASUS_MODE7),
12521 SND_PCI_QUIRK(0x1043, 0x1463, "ASUS N71", ALC662_FIXUP_ASUS_MODE7),
12522 SND_PCI_QUIRK(0x1043, 0x14d3, "ASUS G72", ALC662_FIXUP_ASUS_MODE8),
12523 SND_PCI_QUIRK(0x1043, 0x1563, "ASUS N90", ALC662_FIXUP_ASUS_MODE3),
12524 SND_PCI_QUIRK(0x1043, 0x15d3, "ASUS N50SF F50SF", ALC662_FIXUP_ASUS_MODE1),
12525 SND_PCI_QUIRK(0x1043, 0x16c3, "ASUS NB", ALC662_FIXUP_ASUS_MODE2),
12526 SND_PCI_QUIRK(0x1043, 0x16f3, "ASUS K40C K50C", ALC662_FIXUP_ASUS_MODE2),
12527 SND_PCI_QUIRK(0x1043, 0x1733, "ASUS N81De", ALC662_FIXUP_ASUS_MODE1),
12528 SND_PCI_QUIRK(0x1043, 0x1753, "ASUS NB", ALC662_FIXUP_ASUS_MODE2),
12529 SND_PCI_QUIRK(0x1043, 0x1763, "ASUS NB", ALC662_FIXUP_ASUS_MODE6),
12530 SND_PCI_QUIRK(0x1043, 0x1765, "ASUS NB", ALC662_FIXUP_ASUS_MODE6),
12531 SND_PCI_QUIRK(0x1043, 0x1783, "ASUS NB", ALC662_FIXUP_ASUS_MODE2),
12532 SND_PCI_QUIRK(0x1043, 0x1793, "ASUS F50GX", ALC662_FIXUP_ASUS_MODE1),
12533 SND_PCI_QUIRK(0x1043, 0x17b3, "ASUS F70SL", ALC662_FIXUP_ASUS_MODE3),
12534 SND_PCI_QUIRK(0x1043, 0x17f3, "ASUS X58LE", ALC662_FIXUP_ASUS_MODE2),
12535 SND_PCI_QUIRK(0x1043, 0x1813, "ASUS NB", ALC662_FIXUP_ASUS_MODE2),
12536 SND_PCI_QUIRK(0x1043, 0x1823, "ASUS NB", ALC662_FIXUP_ASUS_MODE5),
12537 SND_PCI_QUIRK(0x1043, 0x1833, "ASUS NB", ALC662_FIXUP_ASUS_MODE6),
12538 SND_PCI_QUIRK(0x1043, 0x1843, "ASUS NB", ALC662_FIXUP_ASUS_MODE2),
12539 SND_PCI_QUIRK(0x1043, 0x1853, "ASUS F50Z", ALC662_FIXUP_ASUS_MODE1),
12540 SND_PCI_QUIRK(0x1043, 0x1864, "ASUS NB", ALC662_FIXUP_ASUS_MODE2),
12541 SND_PCI_QUIRK(0x1043, 0x1876, "ASUS NB", ALC662_FIXUP_ASUS_MODE2),
12542 SND_PCI_QUIRK(0x1043, 0x1893, "ASUS M50Vm", ALC662_FIXUP_ASUS_MODE3),
12543 SND_PCI_QUIRK(0x1043, 0x1894, "ASUS X55", ALC662_FIXUP_ASUS_MODE3),
12544 SND_PCI_QUIRK(0x1043, 0x18b3, "ASUS N80Vc", ALC662_FIXUP_ASUS_MODE1),
12545 SND_PCI_QUIRK(0x1043, 0x18c3, "ASUS VX5", ALC662_FIXUP_ASUS_MODE1),
12546 SND_PCI_QUIRK(0x1043, 0x18d3, "ASUS N81Te", ALC662_FIXUP_ASUS_MODE1),
12547 SND_PCI_QUIRK(0x1043, 0x18f3, "ASUS N505Tp", ALC662_FIXUP_ASUS_MODE1),
12548 SND_PCI_QUIRK(0x1043, 0x1903, "ASUS F5GL", ALC662_FIXUP_ASUS_MODE1),
12549 SND_PCI_QUIRK(0x1043, 0x1913, "ASUS NB", ALC662_FIXUP_ASUS_MODE2),
12550 SND_PCI_QUIRK(0x1043, 0x1933, "ASUS F80Q", ALC662_FIXUP_ASUS_MODE2),
12551 SND_PCI_QUIRK(0x1043, 0x1943, "ASUS Vx3V", ALC662_FIXUP_ASUS_MODE1),
12552 SND_PCI_QUIRK(0x1043, 0x1953, "ASUS NB", ALC662_FIXUP_ASUS_MODE1),
12553 SND_PCI_QUIRK(0x1043, 0x1963, "ASUS X71C", ALC662_FIXUP_ASUS_MODE3),
12554 SND_PCI_QUIRK(0x1043, 0x1983, "ASUS N5051A", ALC662_FIXUP_ASUS_MODE1),
12555 SND_PCI_QUIRK(0x1043, 0x1993, "ASUS N20", ALC662_FIXUP_ASUS_MODE1),
12556 SND_PCI_QUIRK(0x1043, 0x19b3, "ASUS F7Z", ALC662_FIXUP_ASUS_MODE1),
12557 SND_PCI_QUIRK(0x1043, 0x19c3, "ASUS F5Z/F6x", ALC662_FIXUP_ASUS_MODE2),
12558 SND_PCI_QUIRK(0x1043, 0x19e3, "ASUS NB", ALC662_FIXUP_ASUS_MODE1),
12559 SND_PCI_QUIRK(0x1043, 0x19f3, "ASUS NB", ALC662_FIXUP_ASUS_MODE4),
12602 SND_HDA_PIN_QUIRK(0x10ec0867, 0x1028, "Dell", ALC891_FIXUP_DELL_MIC_NO_PRESENCE,
12603 {0x17, 0x02211010},
12604 {0x18, 0x01a19030},
12605 {0x1a, 0x01813040},
12606 {0x21, 0x01014020}),
12607 SND_HDA_PIN_QUIRK(0x10ec0867, 0x1028, "Dell", ALC891_FIXUP_DELL_MIC_NO_PRESENCE,
12608 {0x16, 0x01813030},
12609 {0x17, 0x02211010},
12610 {0x18, 0x01a19040},
12611 {0x21, 0x01014020}),
12612 SND_HDA_PIN_QUIRK(0x10ec0662, 0x1028, "Dell", ALC662_FIXUP_DELL_MIC_NO_PRESENCE,
12613 {0x14, 0x01014010},
12614 {0x18, 0x01a19020},
12615 {0x1a, 0x0181302f},
12616 {0x1b, 0x0221401f}),
12617 SND_HDA_PIN_QUIRK(0x10ec0668, 0x1028, "Dell", ALC668_FIXUP_AUTO_MUTE,
12618 {0x12, 0x99a30130},
12619 {0x14, 0x90170110},
12620 {0x15, 0x0321101f},
12621 {0x16, 0x03011020}),
12622 SND_HDA_PIN_QUIRK(0x10ec0668, 0x1028, "Dell", ALC668_FIXUP_AUTO_MUTE,
12623 {0x12, 0x99a30140},
12624 {0x14, 0x90170110},
12625 {0x15, 0x0321101f},
12626 {0x16, 0x03011020}),
12627 SND_HDA_PIN_QUIRK(0x10ec0668, 0x1028, "Dell", ALC668_FIXUP_AUTO_MUTE,
12628 {0x12, 0x99a30150},
12629 {0x14, 0x90170110},
12630 {0x15, 0x0321101f},
12631 {0x16, 0x03011020}),
12632 SND_HDA_PIN_QUIRK(0x10ec0668, 0x1028, "Dell", ALC668_FIXUP_AUTO_MUTE,
12633 {0x14, 0x90170110},
12634 {0x15, 0x0321101f},
12635 {0x16, 0x03011020}),
12636 SND_HDA_PIN_QUIRK(0x10ec0668, 0x1028, "Dell XPS 15", ALC668_FIXUP_AUTO_MUTE,
12637 {0x12, 0x90a60130},
12638 {0x14, 0x90170110},
12639 {0x15, 0x0321101f}),
12640 SND_HDA_PIN_QUIRK(0x10ec0671, 0x103c, "HP cPC", ALC671_FIXUP_HP_HEADSET_MIC2,
12641 {0x14, 0x01014010},
12642 {0x17, 0x90170150},
12643 {0x19, 0x02a11060},
12644 {0x1b, 0x01813030},
12645 {0x21, 0x02211020}),
12646 SND_HDA_PIN_QUIRK(0x10ec0671, 0x103c, "HP cPC", ALC671_FIXUP_HP_HEADSET_MIC2,
12647 {0x14, 0x01014010},
12648 {0x18, 0x01a19040},
12649 {0x1b, 0x01813030},
12650 {0x21, 0x02211020}),
12651 SND_HDA_PIN_QUIRK(0x10ec0671, 0x103c, "HP cPC", ALC671_FIXUP_HP_HEADSET_MIC2,
12652 {0x14, 0x01014020},
12653 {0x17, 0x90170110},
12654 {0x18, 0x01a19050},
12655 {0x1b, 0x01813040},
12656 {0x21, 0x02211030}),
12667 err = alc_alloc_spec(codec, 0x0b);
12668 if (err < 0)
12678 alc_fix_pll_init(codec, 0x20, 0x04, 15);
12681 case 0x10ec0668:
12696 spec->gen.beep_nid = 0x01;
12699 codec->bus->pci && codec->bus->pci->subsystem_vendor == 0x1025 &&
12702 if (err < 0)
12708 if (err < 0)
12713 case 0x10ec0662:
12714 err = set_beep_amp(spec, 0x0b, 0x05, HDA_INPUT);
12716 case 0x10ec0272:
12717 case 0x10ec0663:
12718 case 0x10ec0665:
12719 case 0x10ec0668:
12720 err = set_beep_amp(spec, 0x0b, 0x04, HDA_INPUT);
12722 case 0x10ec0273:
12723 err = set_beep_amp(spec, 0x0b, 0x03, HDA_INPUT);
12726 if (err < 0)
12732 return 0;
12755 err = alc_alloc_spec(codec, 0);
12756 if (err < 0)
12761 if (err < 0) {
12766 return 0;
12773 HDA_CODEC_ENTRY(0x10ec0215, "ALC215", patch_alc269),
12774 HDA_CODEC_ENTRY(0x10ec0221, "ALC221", patch_alc269),
12775 HDA_CODEC_ENTRY(0x10ec0222, "ALC222", patch_alc269),
12776 HDA_CODEC_ENTRY(0x10ec0225, "ALC225", patch_alc269),
12777 HDA_CODEC_ENTRY(0x10ec0230, "ALC236", patch_alc269),
12778 HDA_CODEC_ENTRY(0x10ec0231, "ALC231", patch_alc269),
12779 HDA_CODEC_ENTRY(0x10ec0233, "ALC233", patch_alc269),
12780 HDA_CODEC_ENTRY(0x10ec0234, "ALC234", patch_alc269),
12781 HDA_CODEC_ENTRY(0x10ec0235, "ALC233", patch_alc269),
12782 HDA_CODEC_ENTRY(0x10ec0236, "ALC236", patch_alc269),
12783 HDA_CODEC_ENTRY(0x10ec0245, "ALC245", patch_alc269),
12784 HDA_CODEC_ENTRY(0x10ec0255, "ALC255", patch_alc269),
12785 HDA_CODEC_ENTRY(0x10ec0256, "ALC256", patch_alc269),
12786 HDA_CODEC_ENTRY(0x10ec0257, "ALC257", patch_alc269),
12787 HDA_CODEC_ENTRY(0x10ec0260, "ALC260", patch_alc260),
12788 HDA_CODEC_ENTRY(0x10ec0262, "ALC262", patch_alc262),
12789 HDA_CODEC_ENTRY(0x10ec0267, "ALC267", patch_alc268),
12790 HDA_CODEC_ENTRY(0x10ec0268, "ALC268", patch_alc268),
12791 HDA_CODEC_ENTRY(0x10ec0269, "ALC269", patch_alc269),
12792 HDA_CODEC_ENTRY(0x10ec0270, "ALC270", patch_alc269),
12793 HDA_CODEC_ENTRY(0x10ec0272, "ALC272", patch_alc662),
12794 HDA_CODEC_ENTRY(0x10ec0274, "ALC274", patch_alc269),
12795 HDA_CODEC_ENTRY(0x10ec0275, "ALC275", patch_alc269),
12796 HDA_CODEC_ENTRY(0x10ec0276, "ALC276", patch_alc269),
12797 HDA_CODEC_ENTRY(0x10ec0280, "ALC280", patch_alc269),
12798 HDA_CODEC_ENTRY(0x10ec0282, "ALC282", patch_alc269),
12799 HDA_CODEC_ENTRY(0x10ec0283, "ALC283", patch_alc269),
12800 HDA_CODEC_ENTRY(0x10ec0284, "ALC284", patch_alc269),
12801 HDA_CODEC_ENTRY(0x10ec0285, "ALC285", patch_alc269),
12802 HDA_CODEC_ENTRY(0x10ec0286, "ALC286", patch_alc269),
12803 HDA_CODEC_ENTRY(0x10ec0287, "ALC287", patch_alc269),
12804 HDA_CODEC_ENTRY(0x10ec0288, "ALC288", patch_alc269),
12805 HDA_CODEC_ENTRY(0x10ec0289, "ALC289", patch_alc269),
12806 HDA_CODEC_ENTRY(0x10ec0290, "ALC290", patch_alc269),
12807 HDA_CODEC_ENTRY(0x10ec0292, "ALC292", patch_alc269),
12808 HDA_CODEC_ENTRY(0x10ec0293, "ALC293", patch_alc269),
12809 HDA_CODEC_ENTRY(0x10ec0294, "ALC294", patch_alc269),
12810 HDA_CODEC_ENTRY(0x10ec0295, "ALC295", patch_alc269),
12811 HDA_CODEC_ENTRY(0x10ec0298, "ALC298", patch_alc269),
12812 HDA_CODEC_ENTRY(0x10ec0299, "ALC299", patch_alc269),
12813 HDA_CODEC_ENTRY(0x10ec0300, "ALC300", patch_alc269),
12814 HDA_CODEC_ENTRY(0x10ec0623, "ALC623", patch_alc269),
12815 HDA_CODEC_REV_ENTRY(0x10ec0861, 0x100340, "ALC660", patch_alc861),
12816 HDA_CODEC_ENTRY(0x10ec0660, "ALC660-VD", patch_alc861vd),
12817 HDA_CODEC_ENTRY(0x10ec0861, "ALC861", patch_alc861),
12818 HDA_CODEC_ENTRY(0x10ec0862, "ALC861-VD", patch_alc861vd),
12819 HDA_CODEC_REV_ENTRY(0x10ec0662, 0x100002, "ALC662 rev2", patch_alc882),
12820 HDA_CODEC_REV_ENTRY(0x10ec0662, 0x100101, "ALC662 rev1", patch_alc662),
12821 HDA_CODEC_REV_ENTRY(0x10ec0662, 0x100300, "ALC662 rev3", patch_alc662),
12822 HDA_CODEC_ENTRY(0x10ec0663, "ALC663", patch_alc662),
12823 HDA_CODEC_ENTRY(0x10ec0665, "ALC665", patch_alc662),
12824 HDA_CODEC_ENTRY(0x10ec0667, "ALC667", patch_alc662),
12825 HDA_CODEC_ENTRY(0x10ec0668, "ALC668", patch_alc662),
12826 HDA_CODEC_ENTRY(0x10ec0670, "ALC670", patch_alc662),
12827 HDA_CODEC_ENTRY(0x10ec0671, "ALC671", patch_alc662),
12828 HDA_CODEC_ENTRY(0x10ec0680, "ALC680", patch_alc680),
12829 HDA_CODEC_ENTRY(0x10ec0700, "ALC700", patch_alc269),
12830 HDA_CODEC_ENTRY(0x10ec0701, "ALC701", patch_alc269),
12831 HDA_CODEC_ENTRY(0x10ec0703, "ALC703", patch_alc269),
12832 HDA_CODEC_ENTRY(0x10ec0711, "ALC711", patch_alc269),
12833 HDA_CODEC_ENTRY(0x10ec0867, "ALC891", patch_alc662),
12834 HDA_CODEC_ENTRY(0x10ec0880, "ALC880", patch_alc880),
12835 HDA_CODEC_ENTRY(0x10ec0882, "ALC882", patch_alc882),
12836 HDA_CODEC_ENTRY(0x10ec0883, "ALC883", patch_alc882),
12837 HDA_CODEC_REV_ENTRY(0x10ec0885, 0x100101, "ALC889A", patch_alc882),
12838 HDA_CODEC_REV_ENTRY(0x10ec0885, 0x100103, "ALC889A", patch_alc882),
12839 HDA_CODEC_ENTRY(0x10ec0885, "ALC885", patch_alc882),
12840 HDA_CODEC_ENTRY(0x10ec0887, "ALC887", patch_alc882),
12841 HDA_CODEC_REV_ENTRY(0x10ec0888, 0x100101, "ALC1200", patch_alc882),
12842 HDA_CODEC_ENTRY(0x10ec0888, "ALC888", patch_alc882),
12843 HDA_CODEC_ENTRY(0x10ec0889, "ALC889", patch_alc882),
12844 HDA_CODEC_ENTRY(0x10ec0892, "ALC892", patch_alc662),
12845 HDA_CODEC_ENTRY(0x10ec0897, "ALC897", patch_alc662),
12846 HDA_CODEC_ENTRY(0x10ec0899, "ALC898", patch_alc882),
12847 HDA_CODEC_ENTRY(0x10ec0900, "ALC1150", patch_alc882),
12848 HDA_CODEC_ENTRY(0x10ec0b00, "ALCS1200A", patch_alc882),
12849 HDA_CODEC_ENTRY(0x10ec1168, "ALC1220", patch_alc882),
12850 HDA_CODEC_ENTRY(0x10ec1220, "ALC1220", patch_alc882),
12851 HDA_CODEC_ENTRY(0x19e58326, "HW8326", patch_alc269),