Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/sound/pci/hda/pin_patch_realtek.h
- This file was added.
/*- | ||||||||||||
* SPDX-License-Identifier: BSD-2-Clause-FreeBSD | ||||||||||||
* | ||||||||||||
* Copyright (c) 2018 Khamba Staring <k.staring@quickdecay.com> | ||||||||||||
* All rights reserved. | ||||||||||||
* | ||||||||||||
* Redistribution and use in source and binary forms, with or without | ||||||||||||
* modification, are permitted provided that the following conditions | ||||||||||||
* are met: | ||||||||||||
* 1. Redistributions of source code must retain the above copyright | ||||||||||||
* notice, this list of conditions and the following disclaimer. | ||||||||||||
* 2. Redistributions in binary form must reproduce the above copyright | ||||||||||||
* notice, this list of conditions and the following disclaimer in the | ||||||||||||
* documentation and/or other materials provided with the distribution. | ||||||||||||
* | ||||||||||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND | ||||||||||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||||||||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||||||||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||||||||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||||||||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||||||||||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||||||||||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||||||||||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||||||||||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||||||||||||
* SUCH DAMAGE. | ||||||||||||
* | ||||||||||||
* $FreeBSD$ | ||||||||||||
*/ | ||||||||||||
#ifndef PIN_PATCH_REALTEK_H | ||||||||||||
#define PIN_PATCH_REALTEK_H | ||||||||||||
#include "hdac.h" | ||||||||||||
#include "pin_patch.h" | ||||||||||||
/* | ||||||||||||
* Pin patches | ||||||||||||
*/ | ||||||||||||
static struct pin_patch_t pin_patches_lg_lw20[] = { | ||||||||||||
{ | ||||||||||||
.nid = 26, | ||||||||||||
.type = PIN_PATCH_TYPE_MASK, | ||||||||||||
.patch.mask = { HDA_CONFIG_DEFAULTCONF_DEVICE_MASK, | ||||||||||||
HDA_CONFIG_DEFAULTCONF_DEVICE_LINE_IN } | ||||||||||||
}, { | ||||||||||||
jhb: Maybe? This sort of cuddle brace isn't too common in the tree today I don't think. | ||||||||||||
impAuthorUnsubmitted Done Inline ActionsWhile that's true, this isn't normal code so some deviation to get something more compact isn't terrible. imp: While that's true, this isn't normal code so some deviation to get something more compact isn't… | ||||||||||||
.nid = 27, | ||||||||||||
.type = PIN_PATCH_TYPE_MASK, | ||||||||||||
.patch.mask = { HDA_CONFIG_DEFAULTCONF_DEVICE_MASK, | ||||||||||||
HDA_CONFIG_DEFAULTCONF_DEVICE_HP_OUT } | ||||||||||||
}, { } | ||||||||||||
jhbUnsubmitted Done Inline Actions
Similar suggestion to above. jhb: Similar suggestion to above. | ||||||||||||
}; | ||||||||||||
static struct pin_patch_t pin_patches_clevo_d900t_asus_m5200[] = { | ||||||||||||
{ | ||||||||||||
.nid = 24, | ||||||||||||
.type = PIN_PATCH_TYPE_MASK, | ||||||||||||
.patch.mask = { HDA_CONFIG_DEFAULTCONF_DEVICE_MASK, | ||||||||||||
HDA_CONFIG_DEFAULTCONF_DEVICE_LINE_IN } | ||||||||||||
}, { | ||||||||||||
.nid = 25, | ||||||||||||
.type = PIN_PATCH_TYPE_MASK, | ||||||||||||
.patch.mask = { HDA_CONFIG_DEFAULTCONF_DEVICE_MASK, | ||||||||||||
HDA_CONFIG_DEFAULTCONF_DEVICE_MIC_IN } | ||||||||||||
}, { | ||||||||||||
.nid = 26, | ||||||||||||
.type = PIN_PATCH_TYPE_MASK, | ||||||||||||
.patch.mask = { HDA_CONFIG_DEFAULTCONF_DEVICE_MASK, | ||||||||||||
HDA_CONFIG_DEFAULTCONF_DEVICE_LINE_IN } | ||||||||||||
}, { | ||||||||||||
.nid = 27, | ||||||||||||
.type = PIN_PATCH_TYPE_MASK, | ||||||||||||
.patch.mask = { HDA_CONFIG_DEFAULTCONF_DEVICE_MASK, | ||||||||||||
HDA_CONFIG_DEFAULTCONF_DEVICE_LINE_IN } | ||||||||||||
}, { | ||||||||||||
.nid = 28, | ||||||||||||
.type = PIN_PATCH_TYPE_MASK, | ||||||||||||
.patch.mask = { HDA_CONFIG_DEFAULTCONF_DEVICE_MASK, | ||||||||||||
HDA_CONFIG_DEFAULTCONF_DEVICE_CD } | ||||||||||||
}, { } | ||||||||||||
}; | ||||||||||||
static struct pin_patch_t pin_patches_msi_ms034a[] = { | ||||||||||||
{ | ||||||||||||
.nid = 25, | ||||||||||||
.type = PIN_PATCH_TYPE_MASK, | ||||||||||||
.patch.mask = { | ||||||||||||
HDA_CONFIG_DEFAULTCONF_DEVICE_MASK | | ||||||||||||
HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK, | ||||||||||||
HDA_CONFIG_DEFAULTCONF_DEVICE_MIC_IN | | ||||||||||||
HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_FIXED } | ||||||||||||
}, { | ||||||||||||
.nid = 28, | ||||||||||||
.type = PIN_PATCH_TYPE_MASK, | ||||||||||||
.patch.mask = { | ||||||||||||
HDA_CONFIG_DEFAULTCONF_DEVICE_MASK | | ||||||||||||
HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK, | ||||||||||||
HDA_CONFIG_DEFAULTCONF_DEVICE_CD | | ||||||||||||
HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_FIXED } | ||||||||||||
}, { } | ||||||||||||
}; | ||||||||||||
static struct pin_patch_t pin_patches_asus_w6f[] = { | ||||||||||||
{ | ||||||||||||
.nid = 11, | ||||||||||||
.type = PIN_PATCH_TYPE_MASK, | ||||||||||||
.patch.mask = { | ||||||||||||
HDA_CONFIG_DEFAULTCONF_DEVICE_MASK | | ||||||||||||
HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK, | ||||||||||||
HDA_CONFIG_DEFAULTCONF_DEVICE_MIC_IN | | ||||||||||||
HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_FIXED } | ||||||||||||
}, { | ||||||||||||
.nid = 12, | ||||||||||||
.type = PIN_PATCH_TYPE_MASK, | ||||||||||||
.patch.mask = { | ||||||||||||
HDA_CONFIG_DEFAULTCONF_DEVICE_MASK | | ||||||||||||
HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK, | ||||||||||||
HDA_CONFIG_DEFAULTCONF_DEVICE_MIC_IN | | ||||||||||||
HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_FIXED } | ||||||||||||
}, { | ||||||||||||
.nid = 14, | ||||||||||||
.type = PIN_PATCH_TYPE_MASK, | ||||||||||||
.patch.mask = { | ||||||||||||
HDA_CONFIG_DEFAULTCONF_DEVICE_MASK | | ||||||||||||
HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK, | ||||||||||||
HDA_CONFIG_DEFAULTCONF_DEVICE_MIC_IN | | ||||||||||||
HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_FIXED } | ||||||||||||
}, { | ||||||||||||
.nid = 15, | ||||||||||||
.type = PIN_PATCH_TYPE_MASK, | ||||||||||||
.patch.mask = { | ||||||||||||
HDA_CONFIG_DEFAULTCONF_DEVICE_MASK | | ||||||||||||
HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK, | ||||||||||||
HDA_CONFIG_DEFAULTCONF_DEVICE_HP_OUT | | ||||||||||||
HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_JACK } | ||||||||||||
}, { | ||||||||||||
.nid = 16, | ||||||||||||
.type = PIN_PATCH_TYPE_MASK, | ||||||||||||
.patch.mask = { | ||||||||||||
HDA_CONFIG_DEFAULTCONF_DEVICE_MASK | | ||||||||||||
HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK, | ||||||||||||
HDA_CONFIG_DEFAULTCONF_DEVICE_MIC_IN | | ||||||||||||
HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_FIXED } | ||||||||||||
}, { | ||||||||||||
.nid = 31, | ||||||||||||
.type = PIN_PATCH_TYPE_MASK, | ||||||||||||
.patch.mask = { | ||||||||||||
HDA_CONFIG_DEFAULTCONF_DEVICE_MASK | | ||||||||||||
HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK, | ||||||||||||
HDA_CONFIG_DEFAULTCONF_DEVICE_MIC_IN | | ||||||||||||
HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_FIXED } | ||||||||||||
}, { | ||||||||||||
.nid = 32, | ||||||||||||
.type = PIN_PATCH_TYPE_MASK, | ||||||||||||
.patch.mask = { | ||||||||||||
HDA_CONFIG_DEFAULTCONF_DEVICE_MASK | | ||||||||||||
HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK, | ||||||||||||
HDA_CONFIG_DEFAULTCONF_DEVICE_MIC_IN | | ||||||||||||
HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_FIXED } | ||||||||||||
}, { } | ||||||||||||
}; | ||||||||||||
static struct pin_patch_t pin_patches_uniwill_9075[] = { | ||||||||||||
{ | ||||||||||||
.nid = 15, | ||||||||||||
.type = PIN_PATCH_TYPE_MASK, | ||||||||||||
.patch.mask = { | ||||||||||||
HDA_CONFIG_DEFAULTCONF_DEVICE_MASK | | ||||||||||||
HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK, | ||||||||||||
HDA_CONFIG_DEFAULTCONF_DEVICE_HP_OUT | | ||||||||||||
HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_JACK } | ||||||||||||
}, { } | ||||||||||||
}; | ||||||||||||
static struct pin_patch_t pin_patches_dell_xps_jack[] = { | ||||||||||||
PIN_PATCH_JACK_WO_DETECT(24), | ||||||||||||
PIN_PATCH_HPMIC_WO_DETECT(26), | ||||||||||||
{ } | ||||||||||||
}; | ||||||||||||
/* | ||||||||||||
* List of models and patches | ||||||||||||
*/ | ||||||||||||
static struct hdaa_model_pin_patch_t realtek_model_pin_patches[] = { | ||||||||||||
{ /**** CODEC: HDA_CODEC_ALC255 ****/ | ||||||||||||
.id = HDA_CODEC_ALC255, | ||||||||||||
.patches = (struct model_pin_patch_t[]){ | ||||||||||||
{ | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(ASUS_X556UR_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(ASUS_X540LA_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(ASUS_Z550MA_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_JACK_WO_DETECT(25), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(DELL_9020M_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_JACK_WO_DETECT(25), | ||||||||||||
PIN_PATCH_HPMIC_WO_DETECT(26), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { } | ||||||||||||
} | ||||||||||||
}, { /**** CODEC: HDA_CODEC_ALC256 ****/ | ||||||||||||
.id = HDA_CODEC_ALC256, | ||||||||||||
.patches = (struct model_pin_patch_t[]){ | ||||||||||||
{ | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(DELL_9020M_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(DELL_7000_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_STRING(27, "seq=1 as=5 misc=1 ctype=Analog device=Speaker loc=Internal conn=Fixed"), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(ASUS_X540A_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(ASUS_X540SA_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(ASUS_X541SA_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(ASUS_X541UV_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(ASUS_Z550SA_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(ASUS_X705UD_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(ASUS_X555UB_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_MIC_INTERNAL(19), | ||||||||||||
PIN_PATCH_STRING(25, "as=2 misc=1 color=Black ctype=1/8 device=Mic loc=Right"), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { } | ||||||||||||
} | ||||||||||||
}, { /**** CODEC: HDA_CODEC_ALC260 ****/ | ||||||||||||
.id = HDA_CODEC_ALC260, | ||||||||||||
.patches = (struct model_pin_patch_t[]){ | ||||||||||||
{ | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(SONY_S5_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_STRING(16, "seq=15 device=Headphones"), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(HP_DC5750_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_STRING(17, "as=1 misc=1 ctype=ATAPI device=Speaker loc=Internal conn=Fixed"), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(SONY_VAIO_TX_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_STRING(15, "color=Green ctype=1/8 device=Headphones loc=Rear"), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(SONY_81BBID_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_STRING(15, "as=2 color=Black ctype=1/8 device=Headphones loc=Rear"), | ||||||||||||
PIN_PATCH_STRING(16, "seq=15 as=3 ctype=1/8"), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(17), | ||||||||||||
PIN_PATCH_STRING(18, "as=3 misc=9 color=Red ctype=1/8 device=Mic loc=Rear"), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(19), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(20), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(21), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(22), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(23), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(24), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(25), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { } | ||||||||||||
} | ||||||||||||
}, { /**** CODEC: HDA_CODEC_ALC262 ****/ | ||||||||||||
.id = HDA_CODEC_ALC262, | ||||||||||||
.patches = (struct model_pin_patch_t[]){ | ||||||||||||
{ | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(FS_H270_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_STRING(20, "as=1 misc=1 ctype=ATAPI device=Speaker loc=Onboard conn=Fixed"), | ||||||||||||
PIN_PATCH_STRING(21, "seq=15 as=2 misc=4 color=Black ctype=1/8 device=Headphones loc=Front"), | ||||||||||||
PIN_PATCH_STRING(22, "seq=15 as=1 misc=4 color=Black ctype=1/8 device=Headphones loc=Rear"), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(FL_LB_S7110_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_STRING(21, "as=1 misc=1 ctype=Analog device=Speaker loc=Internal conn=Fixed"), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(HP_Z200_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_STRING(22, "as=2 misc=1 ctype=ATAPI device=Speaker loc=Onboard conn=Fixed"), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(TYAN_N6650W_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_STRING(22, "as=15 misc=1 color=White ctype=ATAPI device=AUX loc=Onboard"), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(LENOVO_3000_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_STRING(22, "seq=1 as=2"), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { } | ||||||||||||
} | ||||||||||||
}, { /**** CODEC: HDA_CODEC_ALC268 ****/ | ||||||||||||
.id = HDA_CODEC_ALC268, | ||||||||||||
.patches = (struct model_pin_patch_t[]){ | ||||||||||||
{ | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(ACER_T5320_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_STRING(20, "as=1 seq=15"), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(ACER_TM_6293_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_STRING(30, "as=8 misc=1 color=Black ctype=Combo device=SPDIF-out loc=Rear"), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { } | ||||||||||||
} | ||||||||||||
}, { /**** CODEC: HDA_CODEC_ALC269 ****/ | ||||||||||||
.id = HDA_CODEC_ALC269, | ||||||||||||
.patches = (struct model_pin_patch_t[]){ | ||||||||||||
{ | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(LENOVO_X1CRBN_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_STRING(21, "as=1 seq=15"), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(LENOVO_T430_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(LENOVO_T430S_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(LENOVO_X230_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(LENOVO_X230T_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(LENOVO_T431S_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_DOCK_MIC_IN(25), | ||||||||||||
PIN_PATCH_DOCK_HP(27), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(ASUS_UX31A_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_STRING(33, "as=1 seq=15"), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(ASUS_G73JW_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_SUBWOOFER(23), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(FL_1475ID_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_DOCK_LINE_OUT(26), | ||||||||||||
PIN_PATCH_DOCK_MIC_IN(27), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(FL_LB_U904_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_HPMIC_WITH_DETECT(25), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(FL_LB_T731_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(FL_LB_E725_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_STRING(33, "seq=15 as=2 color=Black ctype=1/8 device=Headphones loc=Front"), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(DELL_05F4ID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(DELL_05F5ID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(DELL_05F6ID_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_JACK_WO_DETECT(25), | ||||||||||||
PIN_PATCH_HPMIC_WO_DETECT(26), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(ACER_V5_571G_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(ACER_V5_122P_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_JACK_WO_DETECT(25), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(ASUS_X101CH_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_STRING(24, "seq=12 as=2 misc=8 color=Black ctype=1/8 device=Mic loc=Right"), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(ACER_AC700_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_STRING(18, "seq=15 as=2 misc=9 ctype=ATAPI device=Mic loc=Onboard conn=Fixed"), | ||||||||||||
PIN_PATCH_STRING(20, "as=1 misc=1 ctype=ATAPI device=Speaker loc=Onboard conn=Fixed"), | ||||||||||||
PIN_PATCH_STRING(24, "as=1 misc=1 ctype=ATAPI device=Speaker loc=Onboard conn=Fixed"), | ||||||||||||
PIN_PATCH_STRING(30, "seq=14 as=1 color=Black ctype=Digital device=SPDIF-out loc=Left"), | ||||||||||||
PIN_PATCH_STRING(33, "seq=15 as=1 color=Black ctype=1/8 device=Headphones loc=Left"), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(HP_225AID_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_STRING(24, "seq=15 as=3 color=Black ctype=1/8 device=Line-in loc=Ext-Rear"), | ||||||||||||
PIN_PATCH_STRING(27, "as=2 color=Black ctype=1/8 loc=Ext-Rear"), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { } | ||||||||||||
} | ||||||||||||
}, { /**** CODEC: HDA_CODEC_ALC271 ****/ | ||||||||||||
.id = HDA_CODEC_ALC271, | ||||||||||||
.patches = (struct model_pin_patch_t[]){ | ||||||||||||
{ | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(ACER_AO725_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(ACER_AO756_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(ACER_E1_472_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(ACER_E1_572_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_STRING(20, "as=1 misc=1 ctype=ATAPI device=Speaker loc=Onboard conn=Fixed"), | ||||||||||||
PIN_PATCH_STRING(25, "as=2 misc=12 color=Pink ctype=1/8 device=Mic loc=Rear"), | ||||||||||||
PIN_PATCH_STRING(27, "seq=15 as=2 misc=1 ctype=Analog device=Mic loc=Onboard conn=Fixed"), | ||||||||||||
PIN_PATCH_HP_OUT(33), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { } | ||||||||||||
} | ||||||||||||
}, { /**** CODEC: HDA_CODEC_ALC280 ****/ | ||||||||||||
.id = HDA_CODEC_ALC280, | ||||||||||||
.patches = (struct model_pin_patch_t[]){ | ||||||||||||
{ | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(HP_2272ID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(HP_2273ID_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_STRING(27, "as=2 color=Black ctype=1/8 loc=Ext-Rear"), | ||||||||||||
PIN_PATCH_HPMIC_WITH_DETECT(26), | ||||||||||||
PIN_PATCH_STRING(24, "seq=15 as=3 color=Black ctype=1/8 device=Line-in loc=Ext-Rear"), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { } | ||||||||||||
} | ||||||||||||
}, { /**** CODEC: HDA_CODEC_ALC282 ****/ | ||||||||||||
.id = HDA_CODEC_ALC282, | ||||||||||||
.patches = (struct model_pin_patch_t[]){ | ||||||||||||
{ | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(ACER_V5_573G_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_STRING(18, "as=3 misc=1 ctype=Digital device=Mic loc=Internal conn=Fixed"), | ||||||||||||
PIN_PATCH_STRING(20, "as=1 misc=1 ctype=Analog device=Speaker loc=Internal conn=Fixed"), | ||||||||||||
PIN_PATCH_STRING(23, "seq=8 conn=None"), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(24), | ||||||||||||
PIN_PATCH_JACK_WO_DETECT(25), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(26), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(27), | ||||||||||||
PIN_PATCH_STRING(29, "seq=13 as=2 misc=11 color=Pink ctype=DIN device=Other conn=None"), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(30), | ||||||||||||
PIN_PATCH_STRING(33, "seq=15 as=1 color=Black ctype=1/8 device=Headphones loc=Left"), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { } | ||||||||||||
} | ||||||||||||
}, { /**** CODEC: HDA_CODEC_ALC286 ****/ | ||||||||||||
.id = HDA_CODEC_ALC286, | ||||||||||||
.patches = (struct model_pin_patch_t[]){ | ||||||||||||
{ | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(SONY_VAIO_P11_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(SONY_VAIO_P13_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_JACK_WO_DETECT(25), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { } | ||||||||||||
} | ||||||||||||
}, { /**** CODEC: HDA_CODEC_ALC288 ****/ | ||||||||||||
.id = HDA_CODEC_ALC288, | ||||||||||||
.patches = (struct model_pin_patch_t[]){ | ||||||||||||
{ | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(DELL_E7240_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = pin_patches_dell_xps_jack | ||||||||||||
}, { } | ||||||||||||
} | ||||||||||||
}, { /**** CODEC: HDA_CODEC_ALC290 ****/ | ||||||||||||
.id = HDA_CODEC_ALC290, | ||||||||||||
.patches = (struct model_pin_patch_t[]){ | ||||||||||||
{ | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(DELL_V5470_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(DELL_V5470_1_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(DELL_V5480_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_STRING(18, "as=4 misc=1 ctype=Digital device=Mic loc=Internal conn=Fixed"), | ||||||||||||
PIN_PATCH_STRING(20, "as=1 misc=1 ctype=Analog device=Speaker loc=Internal conn=Fixed"), | ||||||||||||
PIN_PATCH_STRING(21, "seq=15 as=1 color=Green ctype=1/8 device=Headphones loc=Front"), | ||||||||||||
PIN_PATCH_STRING(23, "seq=2 as=1 misc=1 ctype=Analog device=Speaker loc=Internal conn=Fixed"), | ||||||||||||
PIN_PATCH_JACK_WO_DETECT(26), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { } | ||||||||||||
} | ||||||||||||
}, { /**** CODEC: HDA_CODEC_ALC292 ****/ | ||||||||||||
.id = HDA_CODEC_ALC292, | ||||||||||||
.patches = (struct model_pin_patch_t[]){ | ||||||||||||
{ | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(LENOVO_X120BS_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_STRING(21, "as=1 seq=15"), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { } | ||||||||||||
} | ||||||||||||
}, { /**** CODEC: HDA_CODEC_ALC293 ****/ | ||||||||||||
.id = HDA_CODEC_ALC293, | ||||||||||||
.patches = (struct model_pin_patch_t[]){ | ||||||||||||
{ | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(DELL_064AID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(DELL_064BID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(DELL_06D9ID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(DELL_06DAID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(DELL_06DBID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(DELL_06DDID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(DELL_06DEID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(DELL_06DFID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(DELL_06E0ID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(DELL_164AID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(DELL_164BID_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_HPMIC_WO_DETECT(24), | ||||||||||||
PIN_PATCH_JACK_WO_DETECT(26), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { } | ||||||||||||
} | ||||||||||||
}, { /**** CODEC: HDA_CODEC_ALC298 ****/ | ||||||||||||
.id = HDA_CODEC_ALC298, | ||||||||||||
.patches = (struct model_pin_patch_t[]){ | ||||||||||||
{ | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(DELL_XPS9560_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = pin_patches_dell_xps_jack | ||||||||||||
}, { } | ||||||||||||
} | ||||||||||||
}, { /**** CODEC: HDA_CODEC_ALC861 ****/ | ||||||||||||
.id = HDA_CODEC_ALC861, | ||||||||||||
.patches = (struct model_pin_patch_t[]){ | ||||||||||||
{ | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(ASUS_W6F_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = pin_patches_asus_w6f | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(UNIWILL_9075_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = pin_patches_uniwill_9075 | ||||||||||||
}, { } | ||||||||||||
} | ||||||||||||
}, { /**** CODEC: HDA_CODEC_ALC880 ****/ | ||||||||||||
.id = HDA_CODEC_ALC880, | ||||||||||||
.patches = (struct model_pin_patch_t[]){ | ||||||||||||
{ // old patch | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(LG_LW20_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = pin_patches_lg_lw20 | ||||||||||||
}, { // old patch | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(CLEVO_D900T_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(ASUS_M5200_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = pin_patches_clevo_d900t_asus_m5200 | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(LG_M1_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(LG_P1_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(LG_W1_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(22), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(24), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(26), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(COEUS_G610P_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(ARIMA_W810_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(23), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(FS_AMILO_M1437_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(FS_AMILO_M1451G_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(FS_AMILO_PI1556_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_HP_OUT(20), | ||||||||||||
PIN_PATCH_SPEAKER(21), | ||||||||||||
PIN_PATCH_BASS_SPEAKER(22), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(23), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(24), | ||||||||||||
PIN_PATCH_MIC_IN(25), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(26), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(27), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(28), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(29), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(30), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(UNIWILL_9054_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(FS_AMILO_XI1526_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_HP_OUT(20), | ||||||||||||
PIN_PATCH_SPEAKER(21), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(22), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(23), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(24), | ||||||||||||
PIN_PATCH_MIC_IN(25), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(26), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(27), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(28), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(29), | ||||||||||||
PIN_PATCH_SPDIF_OUT(30), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(LG_LW25_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_STRING(26, "seq=15 as=4 misc=4 color=Blue ctype=1/8 device=Line-in loc=Rear"), | ||||||||||||
PIN_PATCH_STRING(27, "seq=15 as=3 color=Green ctype=1/8 device=Headphones loc=Left"), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(UNIWILL_9070_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_HP(20), | ||||||||||||
PIN_PATCH_SPEAKER(21), | ||||||||||||
PIN_PATCH_BASS_SPEAKER(22), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(UNIWILL_9050_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(23), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(25), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(27), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(31), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(ASUS_Z71V_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_SPEAKER(20), | ||||||||||||
PIN_PATCH_HP(21), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(22), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(23), | ||||||||||||
PIN_PATCH_MIC_IN(24), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(25), | ||||||||||||
PIN_PATCH_LINE_IN(26), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(ASUS_W5A_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_HP(20), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(21), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(22), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(23), | ||||||||||||
PIN_PATCH_MIC_INTERNAL(24), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(25), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(26), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(27), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(28), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(29), | ||||||||||||
PIN_PATCH_STRING(30, "seq=14 as=1 misc=1 color=Black ctype=ATAPI device=SPDIF-out loc=Lid-In conn=Fixed"), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(ACER_E310ID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(SONY_81A0ID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(SONY_81D6ID_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_LINE_OUT(20), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(21), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(22), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(23), | ||||||||||||
PIN_PATCH_STRING(24, "as=3 misc=12 color=Pink ctype=1/8 device=Mic loc=Rear"), | ||||||||||||
PIN_PATCH_HP(25), | ||||||||||||
PIN_PATCH_LINE_IN(26), | ||||||||||||
PIN_PATCH_MIC_FRONT(27), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(28), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(29), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(30), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(31), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(ACER_0070ID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(ACER_E309ID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(INTEL_D402ID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(INTEL_E305ID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(INTEL_E308ID_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_LINE_OUT(20), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(21), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(22), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(23), | ||||||||||||
PIN_PATCH_STRING(24, "as=3 misc=12 color=Pink ctype=1/8 device=Mic loc=Rear"), | ||||||||||||
PIN_PATCH_HP(25), | ||||||||||||
PIN_PATCH_LINE_IN(26), | ||||||||||||
PIN_PATCH_MIC_FRONT(27), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(28), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(29), | ||||||||||||
PIN_PATCH_STRING(30, "seq=14 as=1 misc=1 color=Black ctype=RCA device=SPDIF-out loc=Rear"), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(31), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(GATEWAY_3032ID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(GATEWAY_3033ID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(GATEWAY_4039ID_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_LINE_OUT(20), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(21), | ||||||||||||
PIN_PATCH_CLFE(22), | ||||||||||||
PIN_PATCH_SURROUND(23), | ||||||||||||
PIN_PATCH_STRING(24, "as=3 misc=12 color=Pink ctype=1/8 device=Mic loc=Rear"), | ||||||||||||
PIN_PATCH_HP(25), | ||||||||||||
PIN_PATCH_LINE_IN(26), | ||||||||||||
PIN_PATCH_MIC_FRONT(27), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(28), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(29), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(30), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(31), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(COEUS_A880ID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(BIOSTAR_8202ID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(EPOX_400DID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(EPOX_EP5LDA_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(INTEL_A100ID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(INTEL_D400ID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(INTEL_D401ID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(INTEL_E224ID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(INTEL_E400ID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(INTEL_E401ID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(INTEL_E402ID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(AOPEN_I915GMMHFS_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_LINE_OUT(20), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(21), | ||||||||||||
PIN_PATCH_CLFE(22), | ||||||||||||
PIN_PATCH_SURROUND(23), | ||||||||||||
PIN_PATCH_STRING(24, "as=3 misc=12 color=Pink ctype=1/8 device=Mic loc=Rear"), | ||||||||||||
PIN_PATCH_HP(25), | ||||||||||||
PIN_PATCH_LINE_IN(26), | ||||||||||||
PIN_PATCH_MIC_FRONT(27), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(28), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(29), | ||||||||||||
PIN_PATCH_STRING(30, "seq=14 as=1 misc=1 color=Black ctype=RCA device=SPDIF-out loc=Rear"), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(31), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(ACER_APFV_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_LINE_OUT(20), | ||||||||||||
PIN_PATCH_SURROUND(21), | ||||||||||||
PIN_PATCH_CLFE(22), | ||||||||||||
PIN_PATCH_STRING(23, "seq=4 as=1 misc=4 color=Grey ctype=1/8 loc=Rear"), | ||||||||||||
PIN_PATCH_STRING(24, "as=3 misc=12 color=Pink ctype=1/8 device=Mic loc=Rear"), | ||||||||||||
PIN_PATCH_MIC_FRONT(25), | ||||||||||||
PIN_PATCH_LINE_IN(26), | ||||||||||||
PIN_PATCH_HP(27), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(28), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(29), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(30), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(31), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(ACER_0077ID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(ACER_0078ID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(ACER_0087ID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(SHUTTLE_ST20G5_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(GB_K8_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(MSI_1150ID_SUBVENDOR), | ||||||||||||
PIN_SUBVENDOR(FIC_P4M_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_LINE_OUT(20), | ||||||||||||
PIN_PATCH_SURROUND(21), | ||||||||||||
PIN_PATCH_CLFE(22), | ||||||||||||
PIN_PATCH_STRING(23, "seq=4 as=1 misc=4 color=Grey ctype=1/8 loc=Rear"), | ||||||||||||
PIN_PATCH_STRING(24, "as=3 misc=12 color=Pink ctype=1/8 device=Mic loc=Rear"), | ||||||||||||
PIN_PATCH_MIC_FRONT(25), | ||||||||||||
PIN_PATCH_LINE_IN(26), | ||||||||||||
PIN_PATCH_HP(27), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(28), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(29), | ||||||||||||
PIN_PATCH_STRING(30, "seq=14 as=1 misc=1 color=Black ctype=RCA device=SPDIF-out loc=Rear"), | ||||||||||||
PIN_PATCH_NOT_APPLICABLE(31), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { } | ||||||||||||
} | ||||||||||||
}, { /**** CODEC: HDA_CODEC_ALC883 ****/ | ||||||||||||
.id = HDA_CODEC_ALC883, | ||||||||||||
.patches = (struct model_pin_patch_t[]){ | ||||||||||||
{ | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(MSI_MS034A_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = pin_patches_msi_ms034a | ||||||||||||
}, { } | ||||||||||||
} | ||||||||||||
}, { /**** CODEC: HDA_CODEC_ALC892 ****/ | ||||||||||||
.id = HDA_CODEC_ALC892, | ||||||||||||
.patches = (struct model_pin_patch_t[]){ | ||||||||||||
{ | ||||||||||||
.models = (struct pin_machine_model_t[]){ | ||||||||||||
PIN_SUBVENDOR(INTEL_DH87RL_SUBVENDOR), | ||||||||||||
{ } | ||||||||||||
}, | ||||||||||||
.pin_patches = (struct pin_patch_t[]){ | ||||||||||||
PIN_PATCH_STRING(27, "as=1 seq=15"), | ||||||||||||
{ } | ||||||||||||
} | ||||||||||||
}, { } | ||||||||||||
} | ||||||||||||
} | ||||||||||||
}; | ||||||||||||
#endif /* PIN_PATCH_REALTEK_H */ |
Maybe? This sort of cuddle brace isn't too common in the tree today I don't think.