The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/sound/pci/hda/pin_patch_realtek.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    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  */
   40 static struct pin_patch_t pin_patches_lg_lw20[] = {
   41         {
   42                 .nid = 26,
   43                 .type = PIN_PATCH_TYPE_MASK,
   44                 .patch.mask = { HDA_CONFIG_DEFAULTCONF_DEVICE_MASK,
   45                                         HDA_CONFIG_DEFAULTCONF_DEVICE_LINE_IN }
   46         }, {
   47                 .nid = 27,
   48                 .type = PIN_PATCH_TYPE_MASK,
   49                 .patch.mask = { HDA_CONFIG_DEFAULTCONF_DEVICE_MASK,
   50                                         HDA_CONFIG_DEFAULTCONF_DEVICE_HP_OUT }
   51         }, { }
   52 };
   53 
   54 static struct pin_patch_t pin_patches_clevo_d900t_asus_m5200[] = {
   55         {
   56                 .nid = 24,
   57                 .type = PIN_PATCH_TYPE_MASK,
   58                 .patch.mask = { HDA_CONFIG_DEFAULTCONF_DEVICE_MASK,
   59                                         HDA_CONFIG_DEFAULTCONF_DEVICE_LINE_IN }
   60         }, {
   61                 .nid = 25,
   62                 .type = PIN_PATCH_TYPE_MASK,
   63                 .patch.mask = { HDA_CONFIG_DEFAULTCONF_DEVICE_MASK,
   64                                         HDA_CONFIG_DEFAULTCONF_DEVICE_MIC_IN }
   65         }, {
   66                 .nid = 26,
   67                 .type = PIN_PATCH_TYPE_MASK,
   68                 .patch.mask = { HDA_CONFIG_DEFAULTCONF_DEVICE_MASK,
   69                                         HDA_CONFIG_DEFAULTCONF_DEVICE_LINE_IN }
   70         }, {
   71                 .nid = 27,
   72                 .type = PIN_PATCH_TYPE_MASK,
   73                 .patch.mask = { HDA_CONFIG_DEFAULTCONF_DEVICE_MASK,
   74                                         HDA_CONFIG_DEFAULTCONF_DEVICE_LINE_IN }
   75         }, {
   76                 .nid = 28,
   77                 .type = PIN_PATCH_TYPE_MASK,
   78                 .patch.mask = { HDA_CONFIG_DEFAULTCONF_DEVICE_MASK,
   79                                         HDA_CONFIG_DEFAULTCONF_DEVICE_CD }
   80         }, { }
   81 };
   82 
   83 static struct pin_patch_t pin_patches_msi_ms034a[] = {
   84         {
   85                 .nid = 25,
   86                 .type = PIN_PATCH_TYPE_MASK,
   87                 .patch.mask = {
   88                         HDA_CONFIG_DEFAULTCONF_DEVICE_MASK |
   89                         HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK,
   90                         HDA_CONFIG_DEFAULTCONF_DEVICE_MIC_IN |
   91                         HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_FIXED }
   92         }, {
   93                 .nid = 28,
   94                 .type = PIN_PATCH_TYPE_MASK,
   95                 .patch.mask = {
   96                         HDA_CONFIG_DEFAULTCONF_DEVICE_MASK |
   97                         HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK,
   98                         HDA_CONFIG_DEFAULTCONF_DEVICE_CD |
   99                         HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_FIXED }
  100         }, { }
  101 };
  102 
  103 static struct pin_patch_t pin_patches_asus_w6f[] = {
  104         {
  105                 .nid = 11,
  106                 .type = PIN_PATCH_TYPE_MASK,
  107                 .patch.mask = {
  108                         HDA_CONFIG_DEFAULTCONF_DEVICE_MASK |
  109                         HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK,
  110                         HDA_CONFIG_DEFAULTCONF_DEVICE_MIC_IN |
  111                         HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_FIXED }
  112         }, {
  113                 .nid = 12,
  114                 .type = PIN_PATCH_TYPE_MASK,
  115                 .patch.mask = {
  116                         HDA_CONFIG_DEFAULTCONF_DEVICE_MASK |
  117                         HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK,
  118                         HDA_CONFIG_DEFAULTCONF_DEVICE_MIC_IN |
  119                         HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_FIXED }
  120         }, {
  121                 .nid = 14,
  122                 .type = PIN_PATCH_TYPE_MASK,
  123                 .patch.mask = {
  124                         HDA_CONFIG_DEFAULTCONF_DEVICE_MASK |
  125                         HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK,
  126                         HDA_CONFIG_DEFAULTCONF_DEVICE_MIC_IN |
  127                         HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_FIXED }
  128         }, {
  129                 .nid = 15,
  130                 .type = PIN_PATCH_TYPE_MASK,
  131                 .patch.mask = {
  132                         HDA_CONFIG_DEFAULTCONF_DEVICE_MASK |
  133                         HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK,
  134                         HDA_CONFIG_DEFAULTCONF_DEVICE_HP_OUT |
  135                         HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_JACK }
  136         }, {
  137                 .nid = 16,
  138                 .type = PIN_PATCH_TYPE_MASK,
  139                 .patch.mask = {
  140                         HDA_CONFIG_DEFAULTCONF_DEVICE_MASK |
  141                         HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK,
  142                         HDA_CONFIG_DEFAULTCONF_DEVICE_MIC_IN |
  143                         HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_FIXED }
  144         }, {
  145                 .nid = 31,
  146                 .type = PIN_PATCH_TYPE_MASK,
  147                 .patch.mask = {
  148                         HDA_CONFIG_DEFAULTCONF_DEVICE_MASK |
  149                         HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK,
  150                         HDA_CONFIG_DEFAULTCONF_DEVICE_MIC_IN |
  151                         HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_FIXED }
  152         }, {
  153                 .nid = 32,
  154                 .type = PIN_PATCH_TYPE_MASK,
  155                 .patch.mask = {
  156                         HDA_CONFIG_DEFAULTCONF_DEVICE_MASK |
  157                         HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK,
  158                         HDA_CONFIG_DEFAULTCONF_DEVICE_MIC_IN |
  159                         HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_FIXED }
  160         }, { }
  161 };
  162 
  163 static struct pin_patch_t pin_patches_uniwill_9075[] = {
  164         {
  165                 .nid = 15,
  166                 .type = PIN_PATCH_TYPE_MASK,
  167                 .patch.mask = {
  168                         HDA_CONFIG_DEFAULTCONF_DEVICE_MASK |
  169                         HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK,
  170                         HDA_CONFIG_DEFAULTCONF_DEVICE_HP_OUT |
  171                         HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_JACK }
  172         }, { }
  173 };
  174 
  175 static struct pin_patch_t pin_patches_dell_xps_jack[] = {
  176         PIN_PATCH_JACK_WO_DETECT(24),
  177         PIN_PATCH_HPMIC_WO_DETECT(26),
  178         { }
  179 };
  180 
  181 /*
  182  * List of models and patches
  183  */
  184 static struct hdaa_model_pin_patch_t realtek_model_pin_patches[] = {
  185         { /**** CODEC: HDA_CODEC_ALC255 ****/
  186                 .id = HDA_CODEC_ALC255,
  187                 .patches = (struct model_pin_patch_t[]){
  188                         {
  189                                 .models = (struct pin_machine_model_t[]){
  190                                         PIN_SUBVENDOR(ASUS_X556UR_SUBVENDOR),
  191                                         PIN_SUBVENDOR(ASUS_X540LA_SUBVENDOR),
  192                                         PIN_SUBVENDOR(ASUS_Z550MA_SUBVENDOR),
  193                                         { }
  194                                 },
  195                                 .pin_patches = (struct pin_patch_t[]){
  196                                         PIN_PATCH_JACK_WO_DETECT(25),
  197                                         { }
  198                                 }
  199                         }, {
  200                                 .models = (struct pin_machine_model_t[]){
  201                                         PIN_SUBVENDOR(DELL_9020M_SUBVENDOR),
  202                                         { }
  203                                 },
  204                                 .pin_patches = (struct pin_patch_t[]){
  205                                         PIN_PATCH_JACK_WO_DETECT(25),
  206                                         PIN_PATCH_HPMIC_WO_DETECT(26),
  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[]){
  216                                         PIN_SUBVENDOR(DELL_9020M_SUBVENDOR),
  217                                         PIN_SUBVENDOR(DELL_7000_SUBVENDOR),
  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[]){
  226                                         PIN_SUBVENDOR(ASUS_X540A_SUBVENDOR),
  227                                         PIN_SUBVENDOR(ASUS_X540SA_SUBVENDOR),
  228                                         PIN_SUBVENDOR(ASUS_X541SA_SUBVENDOR),
  229                                         PIN_SUBVENDOR(ASUS_X541UV_SUBVENDOR),
  230                                         PIN_SUBVENDOR(ASUS_Z550SA_SUBVENDOR),
  231                                         PIN_SUBVENDOR(ASUS_X705UD_SUBVENDOR),
  232                                         PIN_SUBVENDOR(ASUS_X555UB_SUBVENDOR),
  233                                         { }
  234                                 },
  235                                 .pin_patches = (struct pin_patch_t[]){
  236                                         PIN_PATCH_MIC_INTERNAL(19),
  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[]){
  247                                         PIN_SUBVENDOR(SONY_S5_SUBVENDOR),
  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[]){
  256                                         PIN_SUBVENDOR(HP_DC5750_SUBVENDOR),
  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[]){
  265                                         PIN_SUBVENDOR(SONY_VAIO_TX_SUBVENDOR),
  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[]){
  274                                         PIN_SUBVENDOR(SONY_81BBID_SUBVENDOR),
  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"),
  280                                         PIN_PATCH_NOT_APPLICABLE(17),
  281                                         PIN_PATCH_STRING(18, "as=3 misc=9 color=Red ctype=1/8 device=Mic loc=Rear"),
  282                                         PIN_PATCH_NOT_APPLICABLE(19),
  283                                         PIN_PATCH_NOT_APPLICABLE(20),
  284                                         PIN_PATCH_NOT_APPLICABLE(21),
  285                                         PIN_PATCH_NOT_APPLICABLE(22),
  286                                         PIN_PATCH_NOT_APPLICABLE(23),
  287                                         PIN_PATCH_NOT_APPLICABLE(24),
  288                                         PIN_PATCH_NOT_APPLICABLE(25),
  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[]){
  298                                         PIN_SUBVENDOR(FS_H270_SUBVENDOR),
  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[]){
  309                                         PIN_SUBVENDOR(FL_LB_S7110_SUBVENDOR),
  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[]){
  318                                         PIN_SUBVENDOR(HP_Z200_SUBVENDOR),
  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[]){
  327                                         PIN_SUBVENDOR(TYAN_N6650W_SUBVENDOR),
  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[]){
  336                                         PIN_SUBVENDOR(LENOVO_3000_SUBVENDOR),
  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[]){
  350                                         PIN_SUBVENDOR(ACER_T5320_SUBVENDOR),
  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[]){
  359                                         PIN_SUBVENDOR(ACER_TM_6293_SUBVENDOR),
  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[]){
  373                                         PIN_SUBVENDOR(LENOVO_X1CRBN_SUBVENDOR),
  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[]){
  382                                         PIN_SUBVENDOR(LENOVO_T430_SUBVENDOR),
  383                                         PIN_SUBVENDOR(LENOVO_T430S_SUBVENDOR),
  384                                         PIN_SUBVENDOR(LENOVO_X230_SUBVENDOR),
  385                                         PIN_SUBVENDOR(LENOVO_X230T_SUBVENDOR),
  386                                         PIN_SUBVENDOR(LENOVO_T431S_SUBVENDOR),
  387                                         { }
  388                                 },
  389                                 .pin_patches = (struct pin_patch_t[]){
  390                                         PIN_PATCH_DOCK_MIC_IN(25),
  391                                         PIN_PATCH_DOCK_HP(27),
  392                                         { }
  393                                 }
  394                         }, {
  395                                 .models = (struct pin_machine_model_t[]){
  396                                         PIN_SUBVENDOR(ASUS_UX31A_SUBVENDOR),
  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[]){
  405                                         PIN_SUBVENDOR(ASUS_G73JW_SUBVENDOR),
  406                                         { }
  407                                 },
  408                                 .pin_patches = (struct pin_patch_t[]){
  409                                         PIN_PATCH_SUBWOOFER(23),
  410                                         { }
  411                                 }
  412                         }, {
  413                                 .models = (struct pin_machine_model_t[]){
  414                                         PIN_SUBVENDOR(FL_1475ID_SUBVENDOR),
  415                                         { }
  416                                 },
  417                                 .pin_patches = (struct pin_patch_t[]){
  418                                         PIN_PATCH_DOCK_LINE_OUT(26),
  419                                         PIN_PATCH_DOCK_MIC_IN(27),
  420                                         { }
  421                                 }
  422                         }, {
  423                                 .models = (struct pin_machine_model_t[]){
  424                                         PIN_SUBVENDOR(FL_LB_U904_SUBVENDOR),
  425                                         { }
  426                                 },
  427                                 .pin_patches = (struct pin_patch_t[]){
  428                                         PIN_PATCH_HPMIC_WITH_DETECT(25),
  429                                         { }
  430                                 }
  431                         }, {
  432                                 .models = (struct pin_machine_model_t[]){
  433                                         PIN_SUBVENDOR(FL_LB_T731_SUBVENDOR),
  434                                         PIN_SUBVENDOR(FL_LB_E725_SUBVENDOR),
  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[]){
  443                                         PIN_SUBVENDOR(DELL_05F4ID_SUBVENDOR),
  444                                         PIN_SUBVENDOR(DELL_05F5ID_SUBVENDOR),
  445                                         PIN_SUBVENDOR(DELL_05F6ID_SUBVENDOR),
  446                                         { }
  447                                 },
  448                                 .pin_patches = (struct pin_patch_t[]){
  449                                         PIN_PATCH_JACK_WO_DETECT(25),
  450                                         PIN_PATCH_HPMIC_WO_DETECT(26),
  451                                         { }
  452                                 }
  453                         }, {
  454                                 .models = (struct pin_machine_model_t[]){
  455                                         PIN_SUBVENDOR(ACER_V5_571G_SUBVENDOR),
  456                                         PIN_SUBVENDOR(ACER_V5_122P_SUBVENDOR),
  457                                         { }
  458                                 },
  459                                 .pin_patches = (struct pin_patch_t[]){
  460                                         PIN_PATCH_JACK_WO_DETECT(25),
  461                                         { }
  462                                 }
  463                         }, {
  464                                 .models = (struct pin_machine_model_t[]){
  465                                         PIN_SUBVENDOR(ASUS_X101CH_SUBVENDOR),
  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[]){
  474                                         PIN_SUBVENDOR(ACER_AC700_SUBVENDOR),
  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[]){
  487                                         PIN_SUBVENDOR(HP_225AID_SUBVENDOR),
  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[]){
  502                                         PIN_SUBVENDOR(ACER_AO725_SUBVENDOR),
  503                                         PIN_SUBVENDOR(ACER_AO756_SUBVENDOR),
  504                                         PIN_SUBVENDOR(ACER_E1_472_SUBVENDOR),
  505                                         PIN_SUBVENDOR(ACER_E1_572_SUBVENDOR),
  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"),
  512                                         PIN_PATCH_HP_OUT(33),
  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[]){
  522                                         PIN_SUBVENDOR(HP_2272ID_SUBVENDOR),
  523                                         PIN_SUBVENDOR(HP_2273ID_SUBVENDOR),
  524                                         { }
  525                                 },
  526                                 .pin_patches = (struct pin_patch_t[]){
  527                                         PIN_PATCH_STRING(27, "as=2 color=Black ctype=1/8 loc=Ext-Rear"),
  528                                         PIN_PATCH_HPMIC_WITH_DETECT(26),
  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[]){
  539                                         PIN_SUBVENDOR(ACER_V5_573G_SUBVENDOR),
  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"),
  546                                         PIN_PATCH_NOT_APPLICABLE(24),
  547                                         PIN_PATCH_JACK_WO_DETECT(25),
  548                                         PIN_PATCH_NOT_APPLICABLE(26),
  549                                         PIN_PATCH_NOT_APPLICABLE(27),
  550                                         PIN_PATCH_STRING(29, "seq=13 as=2 misc=11 color=Pink ctype=DIN device=Other conn=None"),
  551                                         PIN_PATCH_NOT_APPLICABLE(30),
  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[]){
  562                                         PIN_SUBVENDOR(LENOVO_X120KH_SUBVENDOR),
  563                                         PIN_SUBVENDOR(LENOVO_X120QD_SUBVENDOR),
  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[]){
  577                                         PIN_SUBVENDOR(SONY_VAIO_P11_SUBVENDOR),
  578                                         PIN_SUBVENDOR(SONY_VAIO_P13_SUBVENDOR),
  579                                         { }
  580                                 },
  581                                 .pin_patches = (struct pin_patch_t[]){
  582                                         PIN_PATCH_JACK_WO_DETECT(25),
  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[]){
  592                                         PIN_SUBVENDOR(DELL_E7240_SUBVENDOR),
  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[]){
  603                                         PIN_SUBVENDOR(DELL_V5470_SUBVENDOR),
  604                                         PIN_SUBVENDOR(DELL_V5470_1_SUBVENDOR),
  605                                         PIN_SUBVENDOR(DELL_V5480_SUBVENDOR),
  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"),
  613                                         PIN_PATCH_JACK_WO_DETECT(26),
  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[]){
  623                                         PIN_SUBVENDOR(LENOVO_X120BS_SUBVENDOR),
  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[]){
  637                                         PIN_SUBVENDOR(DELL_064AID_SUBVENDOR),
  638                                         PIN_SUBVENDOR(DELL_064BID_SUBVENDOR),
  639                                         PIN_SUBVENDOR(DELL_06D9ID_SUBVENDOR),
  640                                         PIN_SUBVENDOR(DELL_06DAID_SUBVENDOR),
  641                                         PIN_SUBVENDOR(DELL_06DBID_SUBVENDOR),
  642                                         PIN_SUBVENDOR(DELL_06DDID_SUBVENDOR),
  643                                         PIN_SUBVENDOR(DELL_06DEID_SUBVENDOR),
  644                                         PIN_SUBVENDOR(DELL_06DFID_SUBVENDOR),
  645                                         PIN_SUBVENDOR(DELL_06E0ID_SUBVENDOR),
  646                                         PIN_SUBVENDOR(DELL_164AID_SUBVENDOR),
  647                                         PIN_SUBVENDOR(DELL_164BID_SUBVENDOR),
  648                                         { }
  649                                 },
  650                                 .pin_patches = (struct pin_patch_t[]){
  651                                         PIN_PATCH_HPMIC_WO_DETECT(24),
  652                                         PIN_PATCH_JACK_WO_DETECT(26),
  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[]){
  662                                         PIN_SUBVENDOR(DELL_XPS9560_SUBVENDOR),
  663                                         { }
  664                                 },
  665                                 .pin_patches = pin_patches_dell_xps_jack
  666                         },
  667                         {
  668                                 .models = (struct pin_machine_model_t[]){
  669                                         PIN_SUBVENDOR(LENOVO_ALL_SUBVENDOR),
  670                                         { }
  671                                 },
  672                                 .pin_patches = (struct pin_patch_t[]){
  673                                         PIN_PATCH_DOCK_LINE_OUT(23),
  674                                         PIN_PATCH_HP_OUT(33),
  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[]){
  684                                         PIN_SUBVENDOR(ASUS_W6F_SUBVENDOR),
  685                                         { }
  686                                 },
  687                                 .pin_patches = pin_patches_asus_w6f
  688                         }, {
  689                                 .models = (struct pin_machine_model_t[]){
  690                                         PIN_SUBVENDOR(UNIWILL_9075_SUBVENDOR),
  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[]){
  701                                         PIN_SUBVENDOR(LG_LW20_SUBVENDOR),
  702                                         { }
  703                                 },
  704                                 .pin_patches = pin_patches_lg_lw20
  705                         }, { // old patch
  706                                 .models = (struct pin_machine_model_t[]){
  707                                         PIN_SUBVENDOR(CLEVO_D900T_SUBVENDOR),
  708                                         PIN_SUBVENDOR(ASUS_M5200_SUBVENDOR),
  709                                         { }
  710                                 },
  711                                 .pin_patches = pin_patches_clevo_d900t_asus_m5200
  712                         }, {
  713                                 .models = (struct pin_machine_model_t[]){
  714                                         PIN_SUBVENDOR(LG_M1_SUBVENDOR),
  715                                         PIN_SUBVENDOR(LG_P1_SUBVENDOR),
  716                                         PIN_SUBVENDOR(LG_W1_SUBVENDOR),
  717                                         { }
  718                                 },
  719                                 .pin_patches = (struct pin_patch_t[]){
  720                                         PIN_PATCH_NOT_APPLICABLE(22),
  721                                         PIN_PATCH_NOT_APPLICABLE(24),
  722                                         PIN_PATCH_NOT_APPLICABLE(26),
  723                                         { }
  724                                 }
  725                         }, {
  726                                 .models = (struct pin_machine_model_t[]){
  727                                         PIN_SUBVENDOR(COEUS_G610P_SUBVENDOR),
  728                                         PIN_SUBVENDOR(ARIMA_W810_SUBVENDOR),
  729                                         { }
  730                                 },
  731                                 .pin_patches = (struct pin_patch_t[]){
  732                                         PIN_PATCH_NOT_APPLICABLE(23),
  733                                         { }
  734                                 }
  735                         }, {
  736                                 .models = (struct pin_machine_model_t[]){
  737                                         PIN_SUBVENDOR(FS_AMILO_M1437_SUBVENDOR),
  738                                         PIN_SUBVENDOR(FS_AMILO_M1451G_SUBVENDOR),
  739                                         PIN_SUBVENDOR(FS_AMILO_PI1556_SUBVENDOR),
  740                                         { }
  741                                 },
  742                                 .pin_patches = (struct pin_patch_t[]){
  743                                         PIN_PATCH_HP_OUT(20),
  744                                         PIN_PATCH_SPEAKER(21),
  745                                         PIN_PATCH_BASS_SPEAKER(22),
  746                                         PIN_PATCH_NOT_APPLICABLE(23),
  747                                         PIN_PATCH_NOT_APPLICABLE(24),
  748                                         PIN_PATCH_MIC_IN(25),
  749                                         PIN_PATCH_NOT_APPLICABLE(26),
  750                                         PIN_PATCH_NOT_APPLICABLE(27),
  751                                         PIN_PATCH_NOT_APPLICABLE(28),
  752                                         PIN_PATCH_NOT_APPLICABLE(29),
  753                                         PIN_PATCH_NOT_APPLICABLE(30),
  754                                         { }
  755                                 }
  756                         }, {
  757                                 .models = (struct pin_machine_model_t[]){
  758                                         PIN_SUBVENDOR(UNIWILL_9054_SUBVENDOR),
  759                                         PIN_SUBVENDOR(FS_AMILO_XI1526_SUBVENDOR),
  760                                         { }
  761                                 },
  762                                 .pin_patches = (struct pin_patch_t[]){
  763                                         PIN_PATCH_HP_OUT(20),
  764                                         PIN_PATCH_SPEAKER(21),
  765                                         PIN_PATCH_NOT_APPLICABLE(22),
  766                                         PIN_PATCH_NOT_APPLICABLE(23),
  767                                         PIN_PATCH_NOT_APPLICABLE(24),
  768                                         PIN_PATCH_MIC_IN(25),
  769                                         PIN_PATCH_NOT_APPLICABLE(26),
  770                                         PIN_PATCH_NOT_APPLICABLE(27),
  771                                         PIN_PATCH_NOT_APPLICABLE(28),
  772                                         PIN_PATCH_NOT_APPLICABLE(29),
  773                                         PIN_PATCH_SPDIF_OUT(30),
  774                                         { }
  775                                 }
  776                         }, {
  777                                 .models = (struct pin_machine_model_t[]){
  778                                         PIN_SUBVENDOR(LG_LW25_SUBVENDOR),
  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[]){
  788                                         PIN_SUBVENDOR(UNIWILL_9070_SUBVENDOR),
  789                                         { }
  790                                 },
  791                                 .pin_patches = (struct pin_patch_t[]){
  792                                         PIN_PATCH_HP(20),
  793                                         PIN_PATCH_SPEAKER(21),
  794                                         PIN_PATCH_BASS_SPEAKER(22),
  795                                         { }
  796                                 }
  797                         }, {
  798                                 .models = (struct pin_machine_model_t[]){
  799                                         PIN_SUBVENDOR(UNIWILL_9050_SUBVENDOR),
  800                                         { }
  801                                 },
  802                                 .pin_patches = (struct pin_patch_t[]){
  803                                         PIN_PATCH_NOT_APPLICABLE(23),
  804                                         PIN_PATCH_NOT_APPLICABLE(25),
  805                                         PIN_PATCH_NOT_APPLICABLE(27),
  806                                         PIN_PATCH_NOT_APPLICABLE(31),
  807                                         { }
  808                                 }
  809                         }, {
  810                                 .models = (struct pin_machine_model_t[]){
  811                                         PIN_SUBVENDOR(ASUS_Z71V_SUBVENDOR),
  812                                         { }
  813                                 },
  814                                 .pin_patches = (struct pin_patch_t[]){
  815                                         PIN_PATCH_SPEAKER(20),
  816                                         PIN_PATCH_HP(21),
  817                                         PIN_PATCH_NOT_APPLICABLE(22),
  818                                         PIN_PATCH_NOT_APPLICABLE(23),
  819                                         PIN_PATCH_MIC_IN(24),
  820                                         PIN_PATCH_NOT_APPLICABLE(25),
  821                                         PIN_PATCH_LINE_IN(26),
  822                                         { }
  823                                 }
  824                         }, {
  825                                 .models = (struct pin_machine_model_t[]){
  826                                         PIN_SUBVENDOR(ASUS_W5A_SUBVENDOR),
  827                                         { }
  828                                 },
  829                                 .pin_patches = (struct pin_patch_t[]){
  830                                         PIN_PATCH_HP(20),
  831                                         PIN_PATCH_NOT_APPLICABLE(21),
  832                                         PIN_PATCH_NOT_APPLICABLE(22),
  833                                         PIN_PATCH_NOT_APPLICABLE(23),
  834                                         PIN_PATCH_MIC_INTERNAL(24),
  835                                         PIN_PATCH_NOT_APPLICABLE(25),
  836                                         PIN_PATCH_NOT_APPLICABLE(26),
  837                                         PIN_PATCH_NOT_APPLICABLE(27),
  838                                         PIN_PATCH_NOT_APPLICABLE(28),
  839                                         PIN_PATCH_NOT_APPLICABLE(29),
  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[]){
  845                                         PIN_SUBVENDOR(ACER_E310ID_SUBVENDOR),
  846                                         PIN_SUBVENDOR(SONY_81A0ID_SUBVENDOR),
  847                                         PIN_SUBVENDOR(SONY_81D6ID_SUBVENDOR),
  848                                         { }
  849                                 },
  850                                 .pin_patches = (struct pin_patch_t[]){
  851                                         PIN_PATCH_LINE_OUT(20),
  852                                         PIN_PATCH_NOT_APPLICABLE(21),
  853                                         PIN_PATCH_NOT_APPLICABLE(22),
  854                                         PIN_PATCH_NOT_APPLICABLE(23),
  855                                         PIN_PATCH_STRING(24, "as=3 misc=12 color=Pink ctype=1/8 device=Mic loc=Rear"),
  856                                         PIN_PATCH_HP(25),
  857                                         PIN_PATCH_LINE_IN(26),
  858                                         PIN_PATCH_MIC_FRONT(27),
  859                                         PIN_PATCH_NOT_APPLICABLE(28),
  860                                         PIN_PATCH_NOT_APPLICABLE(29),
  861                                         PIN_PATCH_NOT_APPLICABLE(30),
  862                                         PIN_PATCH_NOT_APPLICABLE(31),
  863                                         { }
  864                                 }
  865                         }, {
  866                                 .models = (struct pin_machine_model_t[]){
  867                                         PIN_SUBVENDOR(ACER_0070ID_SUBVENDOR),
  868                                         PIN_SUBVENDOR(ACER_E309ID_SUBVENDOR),
  869                                         PIN_SUBVENDOR(INTEL_D402ID_SUBVENDOR),
  870                                         PIN_SUBVENDOR(INTEL_E305ID_SUBVENDOR),
  871                                         PIN_SUBVENDOR(INTEL_E308ID_SUBVENDOR),
  872                                         { }
  873                                 },
  874                                 .pin_patches = (struct pin_patch_t[]){
  875                                         PIN_PATCH_LINE_OUT(20),
  876                                         PIN_PATCH_NOT_APPLICABLE(21),
  877                                         PIN_PATCH_NOT_APPLICABLE(22),
  878                                         PIN_PATCH_NOT_APPLICABLE(23),
  879                                         PIN_PATCH_STRING(24, "as=3 misc=12 color=Pink ctype=1/8 device=Mic loc=Rear"),
  880                                         PIN_PATCH_HP(25),
  881                                         PIN_PATCH_LINE_IN(26),
  882                                         PIN_PATCH_MIC_FRONT(27),
  883                                         PIN_PATCH_NOT_APPLICABLE(28),
  884                                         PIN_PATCH_NOT_APPLICABLE(29),
  885                                         PIN_PATCH_STRING(30, "seq=14 as=1 misc=1 color=Black ctype=RCA device=SPDIF-out loc=Rear"),
  886                                         PIN_PATCH_NOT_APPLICABLE(31),
  887                                         { }
  888                                 }
  889                         }, {
  890                                 .models = (struct pin_machine_model_t[]){
  891                                         PIN_SUBVENDOR(GATEWAY_3032ID_SUBVENDOR),
  892                                         PIN_SUBVENDOR(GATEWAY_3033ID_SUBVENDOR),
  893                                         PIN_SUBVENDOR(GATEWAY_4039ID_SUBVENDOR),
  894                                         { }
  895                                 },
  896                                 .pin_patches = (struct pin_patch_t[]){
  897                                         PIN_PATCH_LINE_OUT(20),
  898                                         PIN_PATCH_NOT_APPLICABLE(21),
  899                                         PIN_PATCH_CLFE(22),
  900                                         PIN_PATCH_SURROUND(23),
  901                                         PIN_PATCH_STRING(24, "as=3 misc=12 color=Pink ctype=1/8 device=Mic loc=Rear"),
  902                                         PIN_PATCH_HP(25),
  903                                         PIN_PATCH_LINE_IN(26),
  904                                         PIN_PATCH_MIC_FRONT(27),
  905                                         PIN_PATCH_NOT_APPLICABLE(28),
  906                                         PIN_PATCH_NOT_APPLICABLE(29),
  907                                         PIN_PATCH_NOT_APPLICABLE(30),
  908                                         PIN_PATCH_NOT_APPLICABLE(31),
  909                                         { }
  910                                 }
  911                         }, {
  912                                 .models = (struct pin_machine_model_t[]){
  913                                         PIN_SUBVENDOR(COEUS_A880ID_SUBVENDOR),
  914                                         PIN_SUBVENDOR(BIOSTAR_8202ID_SUBVENDOR),
  915                                         PIN_SUBVENDOR(EPOX_400DID_SUBVENDOR),
  916                                         PIN_SUBVENDOR(EPOX_EP5LDA_SUBVENDOR),
  917                                         PIN_SUBVENDOR(INTEL_A100ID_SUBVENDOR),
  918                                         PIN_SUBVENDOR(INTEL_D400ID_SUBVENDOR),
  919                                         PIN_SUBVENDOR(INTEL_D401ID_SUBVENDOR),
  920                                         PIN_SUBVENDOR(INTEL_E224ID_SUBVENDOR),
  921                                         PIN_SUBVENDOR(INTEL_E400ID_SUBVENDOR),
  922                                         PIN_SUBVENDOR(INTEL_E401ID_SUBVENDOR),
  923                                         PIN_SUBVENDOR(INTEL_E402ID_SUBVENDOR),
  924                                         PIN_SUBVENDOR(AOPEN_I915GMMHFS_SUBVENDOR),
  925                                         { }
  926                                 },
  927                                 .pin_patches = (struct pin_patch_t[]){
  928                                         PIN_PATCH_LINE_OUT(20),
  929                                         PIN_PATCH_NOT_APPLICABLE(21),
  930                                         PIN_PATCH_CLFE(22),
  931                                         PIN_PATCH_SURROUND(23),
  932                                         PIN_PATCH_STRING(24, "as=3 misc=12 color=Pink ctype=1/8 device=Mic loc=Rear"),
  933                                         PIN_PATCH_HP(25),
  934                                         PIN_PATCH_LINE_IN(26),
  935                                         PIN_PATCH_MIC_FRONT(27),
  936                                         PIN_PATCH_NOT_APPLICABLE(28),
  937                                         PIN_PATCH_NOT_APPLICABLE(29),
  938                                         PIN_PATCH_STRING(30, "seq=14 as=1 misc=1 color=Black ctype=RCA device=SPDIF-out loc=Rear"),
  939                                         PIN_PATCH_NOT_APPLICABLE(31),
  940                                         { }
  941                                 }
  942                         }, {
  943                                 .models = (struct pin_machine_model_t[]){
  944                                         PIN_SUBVENDOR(ACER_APFV_SUBVENDOR),
  945                                         { }
  946                                 },
  947                                 .pin_patches = (struct pin_patch_t[]){
  948                                         PIN_PATCH_LINE_OUT(20),
  949                                         PIN_PATCH_SURROUND(21),
  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"),
  953                                         PIN_PATCH_MIC_FRONT(25),
  954                                         PIN_PATCH_LINE_IN(26),
  955                                         PIN_PATCH_HP(27),
  956                                         PIN_PATCH_NOT_APPLICABLE(28),
  957                                         PIN_PATCH_NOT_APPLICABLE(29),
  958                                         PIN_PATCH_NOT_APPLICABLE(30),
  959                                         PIN_PATCH_NOT_APPLICABLE(31),
  960                                         { }
  961                                 }
  962                         }, {
  963                                 .models = (struct pin_machine_model_t[]){
  964                                         PIN_SUBVENDOR(ACER_0077ID_SUBVENDOR),
  965                                         PIN_SUBVENDOR(ACER_0078ID_SUBVENDOR),
  966                                         PIN_SUBVENDOR(ACER_0087ID_SUBVENDOR),
  967                                         PIN_SUBVENDOR(SHUTTLE_ST20G5_SUBVENDOR),
  968                                         PIN_SUBVENDOR(GB_K8_SUBVENDOR),
  969                                         PIN_SUBVENDOR(MSI_1150ID_SUBVENDOR),
  970                                         PIN_SUBVENDOR(FIC_P4M_SUBVENDOR),
  971                                         { }
  972                                 },
  973                                 .pin_patches = (struct pin_patch_t[]){
  974                                         PIN_PATCH_LINE_OUT(20),
  975                                         PIN_PATCH_SURROUND(21),
  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"),
  979                                         PIN_PATCH_MIC_FRONT(25),
  980                                         PIN_PATCH_LINE_IN(26),
  981                                         PIN_PATCH_HP(27),
  982                                         PIN_PATCH_NOT_APPLICABLE(28),
  983                                         PIN_PATCH_NOT_APPLICABLE(29),
  984                                         PIN_PATCH_STRING(30, "seq=14 as=1 misc=1 color=Black ctype=RCA device=SPDIF-out loc=Rear"),
  985                                         PIN_PATCH_NOT_APPLICABLE(31),
  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[]){
  995                                         PIN_SUBVENDOR(MSI_MS034A_SUBVENDOR),
  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[]){
 1006                                         PIN_SUBVENDOR(INTEL_DH87RL_SUBVENDOR),
 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 */

Cache object: ee8eb0a3618d6ddb6c0967c412f2f3ae


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.