|
@@ -397,6 +397,18 @@ static int byt_rt5640_aif1_hw_params(struct snd_pcm_substream *substream,
|
|
|
|
|
|
/* Please keep this list alphabetically sorted */
|
|
|
static const struct dmi_system_id byt_rt5640_quirk_table[] = {
|
|
|
+ { /* Acer Iconia Tab 8 W1-810 */
|
|
|
+ .matches = {
|
|
|
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Acer"),
|
|
|
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Iconia W1-810"),
|
|
|
+ },
|
|
|
+ .driver_data = (void *)(BYT_RT5640_DMIC1_MAP |
|
|
|
+ BYT_RT5640_JD_SRC_JD1_IN4P |
|
|
|
+ BYT_RT5640_OVCD_TH_2000UA |
|
|
|
+ BYT_RT5640_OVCD_SF_0P75 |
|
|
|
+ BYT_RT5640_SSP0_AIF1 |
|
|
|
+ BYT_RT5640_MCLK_EN),
|
|
|
+ },
|
|
|
{
|
|
|
.matches = {
|
|
|
DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
|
|
@@ -429,6 +441,18 @@ static const struct dmi_system_id byt_rt5640_quirk_table[] = {
|
|
|
BYT_RT5640_SSP0_AIF2 |
|
|
|
BYT_RT5640_MCLK_EN),
|
|
|
},
|
|
|
+ { /* Chuwi Vi8 (CWI506) */
|
|
|
+ .matches = {
|
|
|
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Insyde"),
|
|
|
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "i86"),
|
|
|
+ /* The above are too generic, also match BIOS info */
|
|
|
+ DMI_MATCH(DMI_BIOS_VERSION, "CHUWI.D86JLBNR"),
|
|
|
+ },
|
|
|
+ .driver_data = (void *)(BYTCR_INPUT_DEFAULTS |
|
|
|
+ BYT_RT5640_MONO_SPEAKER |
|
|
|
+ BYT_RT5640_SSP0_AIF1 |
|
|
|
+ BYT_RT5640_MCLK_EN),
|
|
|
+ },
|
|
|
{
|
|
|
.matches = {
|
|
|
DMI_MATCH(DMI_SYS_VENDOR, "Circuitco"),
|
|
@@ -456,6 +480,111 @@ static const struct dmi_system_id byt_rt5640_quirk_table[] = {
|
|
|
.driver_data = (void *)(BYT_RT5640_IN1_MAP |
|
|
|
BYT_RT5640_MCLK_EN),
|
|
|
},
|
|
|
+ { /* HP Pavilion x2 10-n000nd */
|
|
|
+ .matches = {
|
|
|
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
|
|
|
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "HP Pavilion x2 Detachable"),
|
|
|
+ },
|
|
|
+ .driver_data = (void *)(BYT_RT5640_DMIC1_MAP |
|
|
|
+ BYT_RT5640_JD_SRC_JD2_IN4N |
|
|
|
+ BYT_RT5640_OVCD_TH_1500UA |
|
|
|
+ BYT_RT5640_OVCD_SF_0P75 |
|
|
|
+ BYT_RT5640_SSP0_AIF1 |
|
|
|
+ BYT_RT5640_MCLK_EN),
|
|
|
+ },
|
|
|
+ { /* HP Stream 7 */
|
|
|
+ .matches = {
|
|
|
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
|
|
|
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "HP Stream 7 Tablet"),
|
|
|
+ },
|
|
|
+ .driver_data = (void *)(BYTCR_INPUT_DEFAULTS |
|
|
|
+ BYT_RT5640_MONO_SPEAKER |
|
|
|
+ BYT_RT5640_JD_NOT_INV |
|
|
|
+ BYT_RT5640_SSP0_AIF1 |
|
|
|
+ BYT_RT5640_MCLK_EN),
|
|
|
+ },
|
|
|
+ { /* I.T.Works TW891 */
|
|
|
+ .matches = {
|
|
|
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "To be filled by O.E.M."),
|
|
|
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "TW891"),
|
|
|
+ DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "To be filled by O.E.M."),
|
|
|
+ DMI_EXACT_MATCH(DMI_BOARD_NAME, "TW891"),
|
|
|
+ },
|
|
|
+ .driver_data = (void *)(BYTCR_INPUT_DEFAULTS |
|
|
|
+ BYT_RT5640_MONO_SPEAKER |
|
|
|
+ BYT_RT5640_SSP0_AIF1 |
|
|
|
+ BYT_RT5640_MCLK_EN),
|
|
|
+ },
|
|
|
+ { /* Lamina I8270 / T701BR.SE */
|
|
|
+ .matches = {
|
|
|
+ DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "Lamina"),
|
|
|
+ DMI_EXACT_MATCH(DMI_BOARD_NAME, "T701BR.SE"),
|
|
|
+ },
|
|
|
+ .driver_data = (void *)(BYTCR_INPUT_DEFAULTS |
|
|
|
+ BYT_RT5640_MONO_SPEAKER |
|
|
|
+ BYT_RT5640_JD_NOT_INV |
|
|
|
+ BYT_RT5640_SSP0_AIF1 |
|
|
|
+ BYT_RT5640_MCLK_EN),
|
|
|
+ },
|
|
|
+ { /* MSI S100 tablet */
|
|
|
+ .matches = {
|
|
|
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Micro-Star International Co., Ltd."),
|
|
|
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "S100"),
|
|
|
+ },
|
|
|
+ .driver_data = (void *)(BYT_RT5640_IN1_MAP |
|
|
|
+ BYT_RT5640_JD_SRC_JD2_IN4N |
|
|
|
+ BYT_RT5640_OVCD_TH_2000UA |
|
|
|
+ BYT_RT5640_OVCD_SF_0P75 |
|
|
|
+ BYT_RT5640_MONO_SPEAKER |
|
|
|
+ BYT_RT5640_DIFF_MIC |
|
|
|
+ BYT_RT5640_MCLK_EN),
|
|
|
+ },
|
|
|
+ { /* Pipo W4 */
|
|
|
+ .matches = {
|
|
|
+ DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"),
|
|
|
+ DMI_EXACT_MATCH(DMI_BOARD_NAME, "Aptio CRB"),
|
|
|
+ /* The above are too generic, also match BIOS info */
|
|
|
+ DMI_MATCH(DMI_BIOS_VERSION, "V8L_WIN32_CHIPHD"),
|
|
|
+ },
|
|
|
+ .driver_data = (void *)(BYTCR_INPUT_DEFAULTS |
|
|
|
+ BYT_RT5640_MONO_SPEAKER |
|
|
|
+ BYT_RT5640_SSP0_AIF1 |
|
|
|
+ BYT_RT5640_MCLK_EN),
|
|
|
+ },
|
|
|
+ { /* Point of View Mobii TAB-P800W (V2.0) */
|
|
|
+ .matches = {
|
|
|
+ DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"),
|
|
|
+ DMI_EXACT_MATCH(DMI_BOARD_NAME, "Aptio CRB"),
|
|
|
+ /* The above are too generic, also match BIOS info */
|
|
|
+ DMI_EXACT_MATCH(DMI_BIOS_VERSION, "3BAIR1014"),
|
|
|
+ DMI_EXACT_MATCH(DMI_BIOS_DATE, "10/24/2014"),
|
|
|
+ },
|
|
|
+ .driver_data = (void *)(BYT_RT5640_IN1_MAP |
|
|
|
+ BYT_RT5640_JD_SRC_JD2_IN4N |
|
|
|
+ BYT_RT5640_OVCD_TH_2000UA |
|
|
|
+ BYT_RT5640_OVCD_SF_0P75 |
|
|
|
+ BYT_RT5640_MONO_SPEAKER |
|
|
|
+ BYT_RT5640_DIFF_MIC |
|
|
|
+ BYT_RT5640_SSP0_AIF2 |
|
|
|
+ BYT_RT5640_MCLK_EN),
|
|
|
+ },
|
|
|
+ { /* Point of View Mobii TAB-P800W (V2.1) */
|
|
|
+ .matches = {
|
|
|
+ DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"),
|
|
|
+ DMI_EXACT_MATCH(DMI_BOARD_NAME, "Aptio CRB"),
|
|
|
+ /* The above are too generic, also match BIOS info */
|
|
|
+ DMI_EXACT_MATCH(DMI_BIOS_VERSION, "3BAIR1013"),
|
|
|
+ DMI_EXACT_MATCH(DMI_BIOS_DATE, "08/22/2014"),
|
|
|
+ },
|
|
|
+ .driver_data = (void *)(BYT_RT5640_IN1_MAP |
|
|
|
+ BYT_RT5640_JD_SRC_JD2_IN4N |
|
|
|
+ BYT_RT5640_OVCD_TH_2000UA |
|
|
|
+ BYT_RT5640_OVCD_SF_0P75 |
|
|
|
+ BYT_RT5640_MONO_SPEAKER |
|
|
|
+ BYT_RT5640_DIFF_MIC |
|
|
|
+ BYT_RT5640_SSP0_AIF2 |
|
|
|
+ BYT_RT5640_MCLK_EN),
|
|
|
+ },
|
|
|
{
|
|
|
.matches = {
|
|
|
DMI_MATCH(DMI_BOARD_VENDOR, "TECLAST"),
|
|
@@ -465,6 +594,18 @@ static const struct dmi_system_id byt_rt5640_quirk_table[] = {
|
|
|
BYT_RT5640_MCLK_EN |
|
|
|
BYT_RT5640_SSP0_AIF1),
|
|
|
},
|
|
|
+ { /* Toshiba Satellite Click Mini L9W-B */
|
|
|
+ .matches = {
|
|
|
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
|
|
|
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "SATELLITE Click Mini L9W-B"),
|
|
|
+ },
|
|
|
+ .driver_data = (void *)(BYT_RT5640_DMIC1_MAP |
|
|
|
+ BYT_RT5640_JD_SRC_JD2_IN4N |
|
|
|
+ BYT_RT5640_OVCD_TH_1500UA |
|
|
|
+ BYT_RT5640_OVCD_SF_0P75 |
|
|
|
+ BYT_RT5640_SSP0_AIF1 |
|
|
|
+ BYT_RT5640_MCLK_EN),
|
|
|
+ },
|
|
|
{ /* Catch-all for generic Insyde tablets, must be last */
|
|
|
.matches = {
|
|
|
DMI_MATCH(DMI_SYS_VENDOR, "Insyde"),
|