FreeBSD kernel sound device code
pin_patch_realtek.h
Go to the documentation of this file.
1/*-
2 * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
3 *
4 * Copyright (c) 2018 Khamba Staring <k.staring@quickdecay.com>
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
17 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
20 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 * SUCH DAMAGE.
27 *
28 * $FreeBSD$
29 */
30
31#ifndef PIN_PATCH_REALTEK_H
32#define PIN_PATCH_REALTEK_H
33
34#include "hdac.h"
35#include "pin_patch.h"
36
37/*
38 * Pin patches
39 */
41 {
42 .nid = 26,
43 .type = PIN_PATCH_TYPE_MASK,
46 }, {
47 .nid = 27,
48 .type = PIN_PATCH_TYPE_MASK,
51 }, { }
52};
53
55 {
56 .nid = 24,
57 .type = PIN_PATCH_TYPE_MASK,
60 }, {
61 .nid = 25,
62 .type = PIN_PATCH_TYPE_MASK,
65 }, {
66 .nid = 26,
67 .type = PIN_PATCH_TYPE_MASK,
70 }, {
71 .nid = 27,
72 .type = PIN_PATCH_TYPE_MASK,
75 }, {
76 .nid = 28,
77 .type = PIN_PATCH_TYPE_MASK,
80 }, { }
81};
82
84 {
85 .nid = 25,
86 .type = PIN_PATCH_TYPE_MASK,
87 .patch.mask = {
92 }, {
93 .nid = 28,
94 .type = PIN_PATCH_TYPE_MASK,
95 .patch.mask = {
100 }, { }
101};
102
104 {
105 .nid = 11,
106 .type = PIN_PATCH_TYPE_MASK,
107 .patch.mask = {
112 }, {
113 .nid = 12,
114 .type = PIN_PATCH_TYPE_MASK,
115 .patch.mask = {
120 }, {
121 .nid = 14,
122 .type = PIN_PATCH_TYPE_MASK,
123 .patch.mask = {
128 }, {
129 .nid = 15,
130 .type = PIN_PATCH_TYPE_MASK,
131 .patch.mask = {
136 }, {
137 .nid = 16,
138 .type = PIN_PATCH_TYPE_MASK,
139 .patch.mask = {
144 }, {
145 .nid = 31,
146 .type = PIN_PATCH_TYPE_MASK,
147 .patch.mask = {
152 }, {
153 .nid = 32,
154 .type = PIN_PATCH_TYPE_MASK,
155 .patch.mask = {
160 }, { }
161};
162
164 {
165 .nid = 15,
166 .type = PIN_PATCH_TYPE_MASK,
167 .patch.mask = {
172 }, { }
173};
174
178 { }
179};
180
181/*
182 * List of models and patches
183 */
185 { /**** CODEC: HDA_CODEC_ALC255 ****/
187 .patches = (struct model_pin_patch_t[]){
188 {
189 .models = (struct pin_machine_model_t[]){
193 { }
194 },
195 .pin_patches = (struct pin_patch_t[]){
197 { }
198 }
199 }, {
200 .models = (struct pin_machine_model_t[]){
202 { }
203 },
204 .pin_patches = (struct pin_patch_t[]){
207 { }
208 }
209 }, { }
210 }
211 }, { /**** CODEC: HDA_CODEC_ALC256 ****/
212 .id = HDA_CODEC_ALC256,
213 .patches = (struct model_pin_patch_t[]){
214 {
215 .models = (struct pin_machine_model_t[]){
218 { }
219 },
220 .pin_patches = (struct pin_patch_t[]){
221 PIN_PATCH_STRING(27, "seq=1 as=5 misc=1 ctype=Analog device=Speaker loc=Internal conn=Fixed"),
222 { }
223 }
224 }, {
225 .models = (struct pin_machine_model_t[]){
233 { }
234 },
235 .pin_patches = (struct pin_patch_t[]){
237 PIN_PATCH_STRING(25, "as=2 misc=1 color=Black ctype=1/8 device=Mic loc=Right"),
238 { }
239 }
240 }, { }
241 }
242 }, { /**** CODEC: HDA_CODEC_ALC260 ****/
243 .id = HDA_CODEC_ALC260,
244 .patches = (struct model_pin_patch_t[]){
245 {
246 .models = (struct pin_machine_model_t[]){
248 { }
249 },
250 .pin_patches = (struct pin_patch_t[]){
251 PIN_PATCH_STRING(16, "seq=15 device=Headphones"),
252 { }
253 }
254 }, {
255 .models = (struct pin_machine_model_t[]){
257 { }
258 },
259 .pin_patches = (struct pin_patch_t[]){
260 PIN_PATCH_STRING(17, "as=1 misc=1 ctype=ATAPI device=Speaker loc=Internal conn=Fixed"),
261 { }
262 }
263 }, {
264 .models = (struct pin_machine_model_t[]){
266 { }
267 },
268 .pin_patches = (struct pin_patch_t[]){
269 PIN_PATCH_STRING(15, "color=Green ctype=1/8 device=Headphones loc=Rear"),
270 { }
271 }
272 }, {
273 .models = (struct pin_machine_model_t[]){
275 { }
276 },
277 .pin_patches = (struct pin_patch_t[]){
278 PIN_PATCH_STRING(15, "as=2 color=Black ctype=1/8 device=Headphones loc=Rear"),
279 PIN_PATCH_STRING(16, "seq=15 as=3 ctype=1/8"),
281 PIN_PATCH_STRING(18, "as=3 misc=9 color=Red ctype=1/8 device=Mic loc=Rear"),
289 { }
290 }
291 }, { }
292 }
293 }, { /**** CODEC: HDA_CODEC_ALC262 ****/
294 .id = HDA_CODEC_ALC262,
295 .patches = (struct model_pin_patch_t[]){
296 {
297 .models = (struct pin_machine_model_t[]){
299 { }
300 },
301 .pin_patches = (struct pin_patch_t[]){
302 PIN_PATCH_STRING(20, "as=1 misc=1 ctype=ATAPI device=Speaker loc=Onboard conn=Fixed"),
303 PIN_PATCH_STRING(21, "seq=15 as=2 misc=4 color=Black ctype=1/8 device=Headphones loc=Front"),
304 PIN_PATCH_STRING(22, "seq=15 as=1 misc=4 color=Black ctype=1/8 device=Headphones loc=Rear"),
305 { }
306 }
307 }, {
308 .models = (struct pin_machine_model_t[]){
310 { }
311 },
312 .pin_patches = (struct pin_patch_t[]){
313 PIN_PATCH_STRING(21, "as=1 misc=1 ctype=Analog device=Speaker loc=Internal conn=Fixed"),
314 { }
315 }
316 }, {
317 .models = (struct pin_machine_model_t[]){
319 { }
320 },
321 .pin_patches = (struct pin_patch_t[]){
322 PIN_PATCH_STRING(22, "as=2 misc=1 ctype=ATAPI device=Speaker loc=Onboard conn=Fixed"),
323 { }
324 }
325 }, {
326 .models = (struct pin_machine_model_t[]){
328 { }
329 },
330 .pin_patches = (struct pin_patch_t[]){
331 PIN_PATCH_STRING(22, "as=15 misc=1 color=White ctype=ATAPI device=AUX loc=Onboard"),
332 { }
333 }
334 }, {
335 .models = (struct pin_machine_model_t[]){
337 { }
338 },
339 .pin_patches = (struct pin_patch_t[]){
340 PIN_PATCH_STRING(22, "seq=1 as=2"),
341 { }
342 }
343 }, { }
344 }
345 }, { /**** CODEC: HDA_CODEC_ALC268 ****/
346 .id = HDA_CODEC_ALC268,
347 .patches = (struct model_pin_patch_t[]){
348 {
349 .models = (struct pin_machine_model_t[]){
351 { }
352 },
353 .pin_patches = (struct pin_patch_t[]){
354 PIN_PATCH_STRING(20, "as=1 seq=15"),
355 { }
356 }
357 }, {
358 .models = (struct pin_machine_model_t[]){
360 { }
361 },
362 .pin_patches = (struct pin_patch_t[]){
363 PIN_PATCH_STRING(30, "as=8 misc=1 color=Black ctype=Combo device=SPDIF-out loc=Rear"),
364 { }
365 }
366 }, { }
367 }
368 }, { /**** CODEC: HDA_CODEC_ALC269 ****/
369 .id = HDA_CODEC_ALC269,
370 .patches = (struct model_pin_patch_t[]){
371 {
372 .models = (struct pin_machine_model_t[]){
374 { }
375 },
376 .pin_patches = (struct pin_patch_t[]){
377 PIN_PATCH_STRING(21, "as=1 seq=15"),
378 { }
379 }
380 }, {
381 .models = (struct pin_machine_model_t[]){
387 { }
388 },
389 .pin_patches = (struct pin_patch_t[]){
392 { }
393 }
394 }, {
395 .models = (struct pin_machine_model_t[]){
397 { }
398 },
399 .pin_patches = (struct pin_patch_t[]){
400 PIN_PATCH_STRING(33, "as=1 seq=15"),
401 { }
402 }
403 }, {
404 .models = (struct pin_machine_model_t[]){
406 { }
407 },
408 .pin_patches = (struct pin_patch_t[]){
410 { }
411 }
412 }, {
413 .models = (struct pin_machine_model_t[]){
415 { }
416 },
417 .pin_patches = (struct pin_patch_t[]){
420 { }
421 }
422 }, {
423 .models = (struct pin_machine_model_t[]){
425 { }
426 },
427 .pin_patches = (struct pin_patch_t[]){
429 { }
430 }
431 }, {
432 .models = (struct pin_machine_model_t[]){
435 { }
436 },
437 .pin_patches = (struct pin_patch_t[]){
438 PIN_PATCH_STRING(33, "seq=15 as=2 color=Black ctype=1/8 device=Headphones loc=Front"),
439 { }
440 }
441 }, {
442 .models = (struct pin_machine_model_t[]){
446 { }
447 },
448 .pin_patches = (struct pin_patch_t[]){
451 { }
452 }
453 }, {
454 .models = (struct pin_machine_model_t[]){
457 { }
458 },
459 .pin_patches = (struct pin_patch_t[]){
461 { }
462 }
463 }, {
464 .models = (struct pin_machine_model_t[]){
466 { }
467 },
468 .pin_patches = (struct pin_patch_t[]){
469 PIN_PATCH_STRING(24, "seq=12 as=2 misc=8 color=Black ctype=1/8 device=Mic loc=Right"),
470 { }
471 }
472 }, {
473 .models = (struct pin_machine_model_t[]){
475 { }
476 },
477 .pin_patches = (struct pin_patch_t[]){
478 PIN_PATCH_STRING(18, "seq=15 as=2 misc=9 ctype=ATAPI device=Mic loc=Onboard conn=Fixed"),
479 PIN_PATCH_STRING(20, "as=1 misc=1 ctype=ATAPI device=Speaker loc=Onboard conn=Fixed"),
480 PIN_PATCH_STRING(24, "as=1 misc=1 ctype=ATAPI device=Speaker loc=Onboard conn=Fixed"),
481 PIN_PATCH_STRING(30, "seq=14 as=1 color=Black ctype=Digital device=SPDIF-out loc=Left"),
482 PIN_PATCH_STRING(33, "seq=15 as=1 color=Black ctype=1/8 device=Headphones loc=Left"),
483 { }
484 }
485 }, {
486 .models = (struct pin_machine_model_t[]){
488 { }
489 },
490 .pin_patches = (struct pin_patch_t[]){
491 PIN_PATCH_STRING(24, "seq=15 as=3 color=Black ctype=1/8 device=Line-in loc=Ext-Rear"),
492 PIN_PATCH_STRING(27, "as=2 color=Black ctype=1/8 loc=Ext-Rear"),
493 { }
494 }
495 }, { }
496 }
497 }, { /**** CODEC: HDA_CODEC_ALC271 ****/
498 .id = HDA_CODEC_ALC271,
499 .patches = (struct model_pin_patch_t[]){
500 {
501 .models = (struct pin_machine_model_t[]){
506 { }
507 },
508 .pin_patches = (struct pin_patch_t[]){
509 PIN_PATCH_STRING(20, "as=1 misc=1 ctype=ATAPI device=Speaker loc=Onboard conn=Fixed"),
510 PIN_PATCH_STRING(25, "as=2 misc=12 color=Pink ctype=1/8 device=Mic loc=Rear"),
511 PIN_PATCH_STRING(27, "seq=15 as=2 misc=1 ctype=Analog device=Mic loc=Onboard conn=Fixed"),
513 { }
514 }
515 }, { }
516 }
517 }, { /**** CODEC: HDA_CODEC_ALC280 ****/
518 .id = HDA_CODEC_ALC280,
519 .patches = (struct model_pin_patch_t[]){
520 {
521 .models = (struct pin_machine_model_t[]){
524 { }
525 },
526 .pin_patches = (struct pin_patch_t[]){
527 PIN_PATCH_STRING(27, "as=2 color=Black ctype=1/8 loc=Ext-Rear"),
529 PIN_PATCH_STRING(24, "seq=15 as=3 color=Black ctype=1/8 device=Line-in loc=Ext-Rear"),
530 { }
531 }
532 }, { }
533 }
534 }, { /**** CODEC: HDA_CODEC_ALC282 ****/
535 .id = HDA_CODEC_ALC282,
536 .patches = (struct model_pin_patch_t[]){
537 {
538 .models = (struct pin_machine_model_t[]){
540 { }
541 },
542 .pin_patches = (struct pin_patch_t[]){
543 PIN_PATCH_STRING(18, "as=3 misc=1 ctype=Digital device=Mic loc=Internal conn=Fixed"),
544 PIN_PATCH_STRING(20, "as=1 misc=1 ctype=Analog device=Speaker loc=Internal conn=Fixed"),
545 PIN_PATCH_STRING(23, "seq=8 conn=None"),
550 PIN_PATCH_STRING(29, "seq=13 as=2 misc=11 color=Pink ctype=DIN device=Other conn=None"),
552 PIN_PATCH_STRING(33, "seq=15 as=1 color=Black ctype=1/8 device=Headphones loc=Left"),
553 { }
554 }
555 }, { }
556 }
557 }, { /**** CODEC: HDA_CODEC_ALC285 ****/
558 .id = HDA_CODEC_ALC285,
559 .patches = (struct model_pin_patch_t[]){
560 {
561 .models = (struct pin_machine_model_t[]){
564 { }
565 },
566 .pin_patches = (struct pin_patch_t[]){
567 PIN_PATCH_STRING(33, "seq=15 as=1 color=Black ctype=1/8 device=Headphones loc=Left"),
568 { }
569 }
570 }, { }
571 }
572 }, { /**** CODEC: HDA_CODEC_ALC286 ****/
573 .id = HDA_CODEC_ALC286,
574 .patches = (struct model_pin_patch_t[]){
575 {
576 .models = (struct pin_machine_model_t[]){
579 { }
580 },
581 .pin_patches = (struct pin_patch_t[]){
583 { }
584 }
585 }, { }
586 }
587 }, { /**** CODEC: HDA_CODEC_ALC288 ****/
588 .id = HDA_CODEC_ALC288,
589 .patches = (struct model_pin_patch_t[]){
590 {
591 .models = (struct pin_machine_model_t[]){
593 { }
594 },
595 .pin_patches = pin_patches_dell_xps_jack
596 }, { }
597 }
598 }, { /**** CODEC: HDA_CODEC_ALC290 ****/
599 .id = HDA_CODEC_ALC290,
600 .patches = (struct model_pin_patch_t[]){
601 {
602 .models = (struct pin_machine_model_t[]){
606 { }
607 },
608 .pin_patches = (struct pin_patch_t[]){
609 PIN_PATCH_STRING(18, "as=4 misc=1 ctype=Digital device=Mic loc=Internal conn=Fixed"),
610 PIN_PATCH_STRING(20, "as=1 misc=1 ctype=Analog device=Speaker loc=Internal conn=Fixed"),
611 PIN_PATCH_STRING(21, "seq=15 as=1 color=Green ctype=1/8 device=Headphones loc=Front"),
612 PIN_PATCH_STRING(23, "seq=2 as=1 misc=1 ctype=Analog device=Speaker loc=Internal conn=Fixed"),
614 { }
615 }
616 }, { }
617 }
618 }, { /**** CODEC: HDA_CODEC_ALC292 ****/
619 .id = HDA_CODEC_ALC292,
620 .patches = (struct model_pin_patch_t[]){
621 {
622 .models = (struct pin_machine_model_t[]){
624 { }
625 },
626 .pin_patches = (struct pin_patch_t[]){
627 PIN_PATCH_STRING(21, "as=1 seq=15"),
628 { }
629 }
630 }, { }
631 }
632 }, { /**** CODEC: HDA_CODEC_ALC293 ****/
633 .id = HDA_CODEC_ALC293,
634 .patches = (struct model_pin_patch_t[]){
635 {
636 .models = (struct pin_machine_model_t[]){
648 { }
649 },
650 .pin_patches = (struct pin_patch_t[]){
653 { }
654 }
655 }, { }
656 }
657 }, { /**** CODEC: HDA_CODEC_ALC298 ****/
658 .id = HDA_CODEC_ALC298,
659 .patches = (struct model_pin_patch_t[]){
660 {
661 .models = (struct pin_machine_model_t[]){
663 { }
664 },
665 .pin_patches = pin_patches_dell_xps_jack
666 },
667 {
668 .models = (struct pin_machine_model_t[]){
670 { }
671 },
672 .pin_patches = (struct pin_patch_t[]){
675 { }
676 },
677 }, { }
678 }
679 }, { /**** CODEC: HDA_CODEC_ALC861 ****/
680 .id = HDA_CODEC_ALC861,
681 .patches = (struct model_pin_patch_t[]){
682 {
683 .models = (struct pin_machine_model_t[]){
685 { }
686 },
687 .pin_patches = pin_patches_asus_w6f
688 }, {
689 .models = (struct pin_machine_model_t[]){
691 { }
692 },
693 .pin_patches = pin_patches_uniwill_9075
694 }, { }
695 }
696 }, { /**** CODEC: HDA_CODEC_ALC880 ****/
697 .id = HDA_CODEC_ALC880,
698 .patches = (struct model_pin_patch_t[]){
699 { // old patch
700 .models = (struct pin_machine_model_t[]){
702 { }
703 },
704 .pin_patches = pin_patches_lg_lw20
705 }, { // old patch
706 .models = (struct pin_machine_model_t[]){
709 { }
710 },
712 }, {
713 .models = (struct pin_machine_model_t[]){
717 { }
718 },
719 .pin_patches = (struct pin_patch_t[]){
723 { }
724 }
725 }, {
726 .models = (struct pin_machine_model_t[]){
729 { }
730 },
731 .pin_patches = (struct pin_patch_t[]){
733 { }
734 }
735 }, {
736 .models = (struct pin_machine_model_t[]){
740 { }
741 },
742 .pin_patches = (struct pin_patch_t[]){
754 { }
755 }
756 }, {
757 .models = (struct pin_machine_model_t[]){
760 { }
761 },
762 .pin_patches = (struct pin_patch_t[]){
774 { }
775 }
776 }, {
777 .models = (struct pin_machine_model_t[]){
779 { }
780 },
781 .pin_patches = (struct pin_patch_t[]){
782 PIN_PATCH_STRING(26, "seq=15 as=4 misc=4 color=Blue ctype=1/8 device=Line-in loc=Rear"),
783 PIN_PATCH_STRING(27, "seq=15 as=3 color=Green ctype=1/8 device=Headphones loc=Left"),
784 { }
785 }
786 }, {
787 .models = (struct pin_machine_model_t[]){
789 { }
790 },
791 .pin_patches = (struct pin_patch_t[]){
792 PIN_PATCH_HP(20),
795 { }
796 }
797 }, {
798 .models = (struct pin_machine_model_t[]){
800 { }
801 },
802 .pin_patches = (struct pin_patch_t[]){
807 { }
808 }
809 }, {
810 .models = (struct pin_machine_model_t[]){
812 { }
813 },
814 .pin_patches = (struct pin_patch_t[]){
816 PIN_PATCH_HP(21),
822 { }
823 }
824 }, {
825 .models = (struct pin_machine_model_t[]){
827 { }
828 },
829 .pin_patches = (struct pin_patch_t[]){
830 PIN_PATCH_HP(20),
840 PIN_PATCH_STRING(30, "seq=14 as=1 misc=1 color=Black ctype=ATAPI device=SPDIF-out loc=Lid-In conn=Fixed"),
841 { }
842 }
843 }, {
844 .models = (struct pin_machine_model_t[]){
848 { }
849 },
850 .pin_patches = (struct pin_patch_t[]){
855 PIN_PATCH_STRING(24, "as=3 misc=12 color=Pink ctype=1/8 device=Mic loc=Rear"),
856 PIN_PATCH_HP(25),
863 { }
864 }
865 }, {
866 .models = (struct pin_machine_model_t[]){
872 { }
873 },
874 .pin_patches = (struct pin_patch_t[]){
879 PIN_PATCH_STRING(24, "as=3 misc=12 color=Pink ctype=1/8 device=Mic loc=Rear"),
880 PIN_PATCH_HP(25),
885 PIN_PATCH_STRING(30, "seq=14 as=1 misc=1 color=Black ctype=RCA device=SPDIF-out loc=Rear"),
887 { }
888 }
889 }, {
890 .models = (struct pin_machine_model_t[]){
894 { }
895 },
896 .pin_patches = (struct pin_patch_t[]){
899 PIN_PATCH_CLFE(22),
901 PIN_PATCH_STRING(24, "as=3 misc=12 color=Pink ctype=1/8 device=Mic loc=Rear"),
902 PIN_PATCH_HP(25),
909 { }
910 }
911 }, {
912 .models = (struct pin_machine_model_t[]){
925 { }
926 },
927 .pin_patches = (struct pin_patch_t[]){
930 PIN_PATCH_CLFE(22),
932 PIN_PATCH_STRING(24, "as=3 misc=12 color=Pink ctype=1/8 device=Mic loc=Rear"),
933 PIN_PATCH_HP(25),
938 PIN_PATCH_STRING(30, "seq=14 as=1 misc=1 color=Black ctype=RCA device=SPDIF-out loc=Rear"),
940 { }
941 }
942 }, {
943 .models = (struct pin_machine_model_t[]){
945 { }
946 },
947 .pin_patches = (struct pin_patch_t[]){
950 PIN_PATCH_CLFE(22),
951 PIN_PATCH_STRING(23, "seq=4 as=1 misc=4 color=Grey ctype=1/8 loc=Rear"),
952 PIN_PATCH_STRING(24, "as=3 misc=12 color=Pink ctype=1/8 device=Mic loc=Rear"),
955 PIN_PATCH_HP(27),
960 { }
961 }
962 }, {
963 .models = (struct pin_machine_model_t[]){
971 { }
972 },
973 .pin_patches = (struct pin_patch_t[]){
976 PIN_PATCH_CLFE(22),
977 PIN_PATCH_STRING(23, "seq=4 as=1 misc=4 color=Grey ctype=1/8 loc=Rear"),
978 PIN_PATCH_STRING(24, "as=3 misc=12 color=Pink ctype=1/8 device=Mic loc=Rear"),
981 PIN_PATCH_HP(27),
984 PIN_PATCH_STRING(30, "seq=14 as=1 misc=1 color=Black ctype=RCA device=SPDIF-out loc=Rear"),
986 { }
987 }
988 }, { }
989 }
990 }, { /**** CODEC: HDA_CODEC_ALC883 ****/
991 .id = HDA_CODEC_ALC883,
992 .patches = (struct model_pin_patch_t[]){
993 {
994 .models = (struct pin_machine_model_t[]){
996 { }
997 },
998 .pin_patches = pin_patches_msi_ms034a
999 }, { }
1000 }
1001 }, { /**** CODEC: HDA_CODEC_ALC892 ****/
1002 .id = HDA_CODEC_ALC892,
1003 .patches = (struct model_pin_patch_t[]){
1004 {
1005 .models = (struct pin_machine_model_t[]){
1007 { }
1008 },
1009 .pin_patches = (struct pin_patch_t[]){
1010 PIN_PATCH_STRING(27, "as=1 seq=15"),
1011 { }
1012 }
1013 }, { }
1014 }
1015 }
1016};
1017
1018#endif /* PIN_PATCH_REALTEK_H */
#define HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK
Definition: hda_reg.h:1318
#define HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_JACK
Definition: hda_reg.h:1346
#define HDA_CONFIG_DEFAULTCONF_DEVICE_MASK
Definition: hda_reg.h:1314
#define HDA_CONFIG_DEFAULTCONF_DEVICE_CD
Definition: hda_reg.h:1354
#define HDA_CONFIG_DEFAULTCONF_DEVICE_HP_OUT
Definition: hda_reg.h:1353
#define HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_FIXED
Definition: hda_reg.h:1348
#define HDA_CONFIG_DEFAULTCONF_DEVICE_MIC_IN
Definition: hda_reg.h:1361
#define HDA_CONFIG_DEFAULTCONF_DEVICE_LINE_IN
Definition: hda_reg.h:1359
#define DELL_064BID_SUBVENDOR
Definition: hdac.h:250
#define GATEWAY_4039ID_SUBVENDOR
Definition: hdac.h:491
#define SONY_81A0ID_SUBVENDOR
Definition: hdac.h:387
#define HDA_CODEC_ALC290
Definition: hdac.h:556
#define ACER_T5320_SUBVENDOR
Definition: hdac.h:287
#define INTEL_A100ID_SUBVENDOR
Definition: hdac.h:96
#define DELL_06DBID_SUBVENDOR
Definition: hdac.h:255
#define SONY_81D6ID_SUBVENDOR
Definition: hdac.h:388
#define TYAN_N6650W_SUBVENDOR
Definition: hdac.h:398
#define ASUS_X541UV_SUBVENDOR
Definition: hdac.h:314
#define ASUS_M5200_SUBVENDOR
Definition: hdac.h:323
#define ACER_AO725_SUBVENDOR
Definition: hdac.h:291
#define LG_W1_SUBVENDOR
Definition: hdac.h:415
#define FS_AMILO_M1437_SUBVENDOR
Definition: hdac.h:423
#define SONY_S5_SUBVENDOR
Definition: hdac.h:386
#define FL_LB_T731_SUBVENDOR
Definition: hdac.h:437
#define BIOSTAR_8202ID_SUBVENDOR
Definition: hdac.h:495
#define ACER_E1_572_SUBVENDOR
Definition: hdac.h:294
#define SONY_VAIO_TX_SUBVENDOR
Definition: hdac.h:390
#define EPOX_EP5LDA_SUBVENDOR
Definition: hdac.h:500
#define FS_AMILO_M1451G_SUBVENDOR
Definition: hdac.h:424
#define ASUS_UX31A_SUBVENDOR
Definition: hdac.h:320
#define FL_1475ID_SUBVENDOR
Definition: hdac.h:435
#define ACER_AO756_SUBVENDOR
Definition: hdac.h:292
#define INTEL_D401ID_SUBVENDOR
Definition: hdac.h:98
#define DELL_V5480_SUBVENDOR
Definition: hdac.h:252
#define INTEL_E400ID_SUBVENDOR
Definition: hdac.h:103
#define HDA_CODEC_ALC260
Definition: hdac.h:536
#define ACER_0087ID_SUBVENDOR
Definition: hdac.h:279
#define FS_AMILO_XI1526_SUBVENDOR
Definition: hdac.h:426
#define ACER_V5_571G_SUBVENDOR
Definition: hdac.h:290
#define HDA_CODEC_ALC285
Definition: hdac.h:552
#define UNIWILL_9075_SUBVENDOR
Definition: hdac.h:464
#define HDA_CODEC_ALC293
Definition: hdac.h:558
#define GB_K8_SUBVENDOR
Definition: hdac.h:458
#define LENOVO_X1CRBN_SUBVENDOR
Definition: hdac.h:350
#define COEUS_A880ID_SUBVENDOR
Definition: hdac.h:473
#define LG_P1_SUBVENDOR
Definition: hdac.h:414
#define DELL_7000_SUBVENDOR
Definition: hdac.h:261
#define AOPEN_I915GMMHFS_SUBVENDOR
Definition: hdac.h:504
#define HP_DC5750_SUBVENDOR
Definition: hdac.h:228
#define DELL_164BID_SUBVENDOR
Definition: hdac.h:265
#define LENOVO_X120QD_SUBVENDOR
Definition: hdac.h:353
#define HDA_CODEC_ALC269
Definition: hdac.h:540
#define ACER_0070ID_SUBVENDOR
Definition: hdac.h:276
#define ACER_APFV_SUBVENDOR
Definition: hdac.h:298
#define DELL_9020M_SUBVENDOR
Definition: hdac.h:251
#define SONY_VAIO_P11_SUBVENDOR
Definition: hdac.h:392
#define GATEWAY_3033ID_SUBVENDOR
Definition: hdac.h:490
#define LENOVO_X120KH_SUBVENDOR
Definition: hdac.h:352
#define DELL_05F4ID_SUBVENDOR
Definition: hdac.h:244
#define DELL_164AID_SUBVENDOR
Definition: hdac.h:264
#define DELL_06DFID_SUBVENDOR
Definition: hdac.h:258
#define ACER_V5_573G_SUBVENDOR
Definition: hdac.h:295
#define LENOVO_X230_SUBVENDOR
Definition: hdac.h:362
#define INTEL_D400ID_SUBVENDOR
Definition: hdac.h:97
#define UNIWILL_9070_SUBVENDOR
Definition: hdac.h:467
#define FS_H270_SUBVENDOR
Definition: hdac.h:427
#define ACER_AC700_SUBVENDOR
Definition: hdac.h:289
#define LENOVO_T430S_SUBVENDOR
Definition: hdac.h:359
#define ASUS_W5A_SUBVENDOR
Definition: hdac.h:308
#define ASUS_W6F_SUBVENDOR
Definition: hdac.h:312
#define DELL_06DEID_SUBVENDOR
Definition: hdac.h:257
#define SONY_VAIO_P13_SUBVENDOR
Definition: hdac.h:393
#define ACER_TM_6293_SUBVENDOR
Definition: hdac.h:288
#define HDA_CODEC_ALC282
Definition: hdac.h:549
#define DELL_064AID_SUBVENDOR
Definition: hdac.h:249
#define FS_AMILO_PI1556_SUBVENDOR
Definition: hdac.h:425
#define HDA_CODEC_ALC280
Definition: hdac.h:548
#define HP_Z200_SUBVENDOR
Definition: hdac.h:215
#define ACER_0077ID_SUBVENDOR
Definition: hdac.h:277
#define ACER_E310ID_SUBVENDOR
Definition: hdac.h:300
#define DELL_06DDID_SUBVENDOR
Definition: hdac.h:256
#define HDA_CODEC_ALC861
Definition: hdac.h:577
#define ASUS_Z550MA_SUBVENDOR
Definition: hdac.h:326
#define ACER_V5_122P_SUBVENDOR
Definition: hdac.h:297
#define HDA_CODEC_ALC286
Definition: hdac.h:553
#define DELL_06D9ID_SUBVENDOR
Definition: hdac.h:253
#define LG_M1_SUBVENDOR
Definition: hdac.h:413
#define SHUTTLE_ST20G5_SUBVENDOR
Definition: hdac.h:481
#define INTEL_E401ID_SUBVENDOR
Definition: hdac.h:104
#define INTEL_DH87RL_SUBVENDOR
Definition: hdac.h:210
#define UNIWILL_9054_SUBVENDOR
Definition: hdac.h:466
#define INTEL_E224ID_SUBVENDOR
Definition: hdac.h:102
#define DELL_06E0ID_SUBVENDOR
Definition: hdac.h:259
#define LENOVO_ALL_SUBVENDOR
Definition: hdac.h:368
#define HDA_CODEC_ALC268
Definition: hdac.h:539
#define MSI_MS034A_SUBVENDOR
Definition: hdac.h:450
#define DELL_E7240_SUBVENDOR
Definition: hdac.h:263
#define EPOX_400DID_SUBVENDOR
Definition: hdac.h:499
#define ACER_E1_472_SUBVENDOR
Definition: hdac.h:293
#define ARIMA_W810_SUBVENDOR
Definition: hdac.h:477
#define DELL_05F5ID_SUBVENDOR
Definition: hdac.h:245
#define HDA_CODEC_ALC292
Definition: hdac.h:563
#define INTEL_D402ID_SUBVENDOR
Definition: hdac.h:99
#define HDA_CODEC_ALC880
Definition: hdac.h:579
#define FL_LB_E725_SUBVENDOR
Definition: hdac.h:438
#define INTEL_E308ID_SUBVENDOR
Definition: hdac.h:101
#define LENOVO_3000_SUBVENDOR
Definition: hdac.h:367
#define ASUS_G73JW_SUBVENDOR
Definition: hdac.h:324
#define FL_LB_S7110_SUBVENDOR
Definition: hdac.h:433
#define ASUS_Z550SA_SUBVENDOR
Definition: hdac.h:318
#define UNIWILL_9050_SUBVENDOR
Definition: hdac.h:465
#define LENOVO_X120BS_SUBVENDOR
Definition: hdac.h:351
#define ACER_0078ID_SUBVENDOR
Definition: hdac.h:278
#define ACER_E309ID_SUBVENDOR
Definition: hdac.h:299
#define HDA_CODEC_ALC288
Definition: hdac.h:554
#define HDA_CODEC_ALC892
Definition: hdac.h:586
#define ASUS_X705UD_SUBVENDOR
Definition: hdac.h:325
#define DELL_V5470_SUBVENDOR
Definition: hdac.h:247
#define LG_LW20_SUBVENDOR
Definition: hdac.h:412
#define DELL_05F6ID_SUBVENDOR
Definition: hdac.h:246
#define LG_LW25_SUBVENDOR
Definition: hdac.h:416
#define HP_2272ID_SUBVENDOR
Definition: hdac.h:217
#define ASUS_X540SA_SUBVENDOR
Definition: hdac.h:306
#define ASUS_X540LA_SUBVENDOR
Definition: hdac.h:309
#define LENOVO_X230T_SUBVENDOR
Definition: hdac.h:363
#define SONY_81BBID_SUBVENDOR
Definition: hdac.h:389
#define LENOVO_T430_SUBVENDOR
Definition: hdac.h:358
#define ASUS_X541SA_SUBVENDOR
Definition: hdac.h:313
#define FIC_P4M_SUBVENDOR
Definition: hdac.h:485
#define INTEL_E402ID_SUBVENDOR
Definition: hdac.h:105
#define HDA_CODEC_ALC883
Definition: hdac.h:581
#define DELL_XPS9560_SUBVENDOR
Definition: hdac.h:262
#define ASUS_X556UR_SUBVENDOR
Definition: hdac.h:307
#define DELL_06DAID_SUBVENDOR
Definition: hdac.h:254
#define ASUS_Z71V_SUBVENDOR
Definition: hdac.h:321
#define HDA_CODEC_ALC262
Definition: hdac.h:537
#define CLEVO_D900T_SUBVENDOR
Definition: hdac.h:271
#define MSI_1150ID_SUBVENDOR
Definition: hdac.h:451
#define HDA_CODEC_ALC255
Definition: hdac.h:533
#define ASUS_X101CH_SUBVENDOR
Definition: hdac.h:335
#define FL_LB_U904_SUBVENDOR
Definition: hdac.h:436
#define ASUS_X540A_SUBVENDOR
Definition: hdac.h:305
#define INTEL_E305ID_SUBVENDOR
Definition: hdac.h:100
#define HP_225AID_SUBVENDOR
Definition: hdac.h:216
#define ASUS_X555UB_SUBVENDOR
Definition: hdac.h:327
#define HP_2273ID_SUBVENDOR
Definition: hdac.h:218
#define COEUS_G610P_SUBVENDOR
Definition: hdac.h:472
#define HDA_CODEC_ALC298
Definition: hdac.h:561
#define HDA_CODEC_ALC271
Definition: hdac.h:542
#define HDA_CODEC_ALC256
Definition: hdac.h:534
#define DELL_V5470_1_SUBVENDOR
Definition: hdac.h:248
#define GATEWAY_3032ID_SUBVENDOR
Definition: hdac.h:489
#define LENOVO_T431S_SUBVENDOR
Definition: hdac.h:364
#define PIN_PATCH_SPEAKER(n)
Definition: pin_patch.h:54
#define PIN_PATCH_JACK_WO_DETECT(n)
Definition: pin_patch.h:70
#define PIN_PATCH_NOT_APPLICABLE(n)
Definition: pin_patch.h:48
#define PIN_PATCH_MIC_IN(n)
Definition: pin_patch.h:58
#define PIN_PATCH_LINE_OUT(n)
Definition: pin_patch.h:66
#define PIN_PATCH_HPMIC_WITH_DETECT(n)
Definition: pin_patch.h:74
#define PIN_PATCH_DOCK_HP(n)
Definition: pin_patch.h:84
#define PIN_PATCH_SPDIF_OUT(n)
Definition: pin_patch.h:68
#define PIN_PATCH_LINE_IN(n)
Definition: pin_patch.h:64
#define PIN_PATCH_BASS_SPEAKER(n)
Definition: pin_patch.h:56
#define PIN_PATCH_MIC_FRONT(n)
Definition: pin_patch.h:62
#define PIN_PATCH_STRING(n, patchstr)
Definition: pin_patch.h:38
#define PIN_PATCH_DOCK_LINE_OUT(n)
Definition: pin_patch.h:82
#define PIN_PATCH_DOCK_MIC_IN(n)
Definition: pin_patch.h:86
#define PIN_PATCH_HP(n)
Definition: pin_patch.h:52
#define PIN_PATCH_CLFE(n)
Definition: pin_patch.h:76
#define PIN_PATCH_SURROUND(n)
Definition: pin_patch.h:78
#define PIN_PATCH_SUBWOOFER(n)
Definition: pin_patch.h:80
@ PIN_PATCH_TYPE_MASK
Definition: pin_patch.h:92
#define PIN_SUBVENDOR(sv)
Definition: pin_patch.h:35
#define PIN_PATCH_HP_OUT(n)
Definition: pin_patch.h:50
#define PIN_PATCH_MIC_INTERNAL(n)
Definition: pin_patch.h:60
#define PIN_PATCH_HPMIC_WO_DETECT(n)
Definition: pin_patch.h:72
static struct pin_patch_t pin_patches_lg_lw20[]
static struct pin_patch_t pin_patches_uniwill_9075[]
static struct hdaa_model_pin_patch_t realtek_model_pin_patches[]
static struct pin_patch_t pin_patches_clevo_d900t_asus_m5200[]
static struct pin_patch_t pin_patches_dell_xps_jack[]
static struct pin_patch_t pin_patches_msi_ms034a[]
static struct pin_patch_t pin_patches_asus_w6f[]
nid_t nid
Definition: pin_patch.h:97