[ALSA] HDA: Add support for Gateway NX860
This patch adds support for the Gateway NX860 system. Signed-off-by: Tobin Davis <tdavis@dsl-only.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
This commit is contained in:
parent
3f0a6766e0
commit
2c11f955b2
2 changed files with 29 additions and 2 deletions
|
@ -917,6 +917,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
|
|||
ref Reference board, base config
|
||||
m2-2 Some Gateway MX series laptops
|
||||
m6 Some Gateway NX series laptops
|
||||
pa6 Gateway NX860 series
|
||||
|
||||
STAC9227/9228/9229/927x
|
||||
ref Reference board
|
||||
|
|
|
@ -51,6 +51,7 @@ enum {
|
|||
STAC_925x_REF,
|
||||
STAC_M2_2,
|
||||
STAC_MA6,
|
||||
STAC_PA6,
|
||||
STAC_925x_MODELS
|
||||
};
|
||||
|
||||
|
@ -152,6 +153,10 @@ static hda_nid_t stac925x_dac_nids[1] = {
|
|||
0x02,
|
||||
};
|
||||
|
||||
static hda_nid_t stac925x_dmic_nids[1] = {
|
||||
0x15,
|
||||
};
|
||||
|
||||
static hda_nid_t stac922x_adc_nids[2] = {
|
||||
0x06, 0x07,
|
||||
};
|
||||
|
@ -482,6 +487,11 @@ static unsigned int stac925x_MA6_pin_configs[8] = {
|
|||
0x90a70320, 0x90100211, 0x400003f1, 0x9033032e,
|
||||
};
|
||||
|
||||
static unsigned int stac925x_PA6_pin_configs[8] = {
|
||||
0x40c003f0, 0x424503f2, 0x01813022, 0x02a19021,
|
||||
0x50a103f0, 0x90100211, 0x400003f1, 0x9033032e,
|
||||
};
|
||||
|
||||
static unsigned int stac925xM2_2_pin_configs[8] = {
|
||||
0x40c003f3, 0x424503f2, 0x041800f4, 0x02a19020,
|
||||
0x50a103F0, 0x90100210, 0x400003f1, 0x9033032e,
|
||||
|
@ -491,20 +501,24 @@ static unsigned int *stac925x_brd_tbl[STAC_925x_MODELS] = {
|
|||
[STAC_REF] = ref925x_pin_configs,
|
||||
[STAC_M2_2] = stac925xM2_2_pin_configs,
|
||||
[STAC_MA6] = stac925x_MA6_pin_configs,
|
||||
[STAC_PA6] = stac925x_PA6_pin_configs,
|
||||
};
|
||||
|
||||
static const char *stac925x_models[STAC_925x_MODELS] = {
|
||||
[STAC_REF] = "ref",
|
||||
[STAC_M2_2] = "m2-2",
|
||||
[STAC_MA6] = "m6",
|
||||
[STAC_PA6] = "pa6",
|
||||
};
|
||||
|
||||
static struct snd_pci_quirk stac925x_cfg_tbl[] = {
|
||||
/* SigmaTel reference board */
|
||||
SND_PCI_QUIRK(PCI_VENDOR_ID_INTEL, 0x2668, "DFI LanParty", STAC_REF),
|
||||
SND_PCI_QUIRK(0x8384, 0x7632, "Stac9202 Reference Board", STAC_REF),
|
||||
SND_PCI_QUIRK(0x107b, 0x0316, "Gateway M255", STAC_REF),
|
||||
SND_PCI_QUIRK(0x107b, 0x0366, "Gateway MP6954", STAC_REF),
|
||||
SND_PCI_QUIRK(0x107b, 0x0461, "Gateway NX560XL", STAC_MA6),
|
||||
SND_PCI_QUIRK(0x107b, 0x0681, "Gateway NX860", STAC_PA6),
|
||||
SND_PCI_QUIRK(0x1002, 0x437b, "Gateway MX6453", STAC_M2_2),
|
||||
{} /* terminator */
|
||||
};
|
||||
|
@ -1911,7 +1925,8 @@ static int patch_stac925x(struct hda_codec *codec)
|
|||
stac925x_cfg_tbl);
|
||||
again:
|
||||
if (spec->board_config < 0) {
|
||||
snd_printdd(KERN_INFO "hda_codec: Unknown model for STAC925x, using BIOS defaults\n");
|
||||
snd_printdd(KERN_INFO "hda_codec: Unknown model for STAC925x,"
|
||||
"using BIOS defaults\n");
|
||||
err = stac92xx_save_bios_config_regs(codec);
|
||||
if (err < 0) {
|
||||
stac92xx_free(codec);
|
||||
|
@ -1929,7 +1944,18 @@ static int patch_stac925x(struct hda_codec *codec)
|
|||
spec->adc_nids = stac925x_adc_nids;
|
||||
spec->mux_nids = stac925x_mux_nids;
|
||||
spec->num_muxes = 1;
|
||||
spec->num_dmics = 0;
|
||||
switch (codec->vendor_id) {
|
||||
case 0x83847632: /* STAC9202 */
|
||||
case 0x83847633: /* STAC9202D */
|
||||
case 0x83847636: /* STAC9251 */
|
||||
case 0x83847637: /* STAC9251D */
|
||||
spec->num_dmics = 1;
|
||||
spec->dmic_nids = stac925x_dmic_nids;
|
||||
break;
|
||||
default:
|
||||
spec->num_dmics = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
spec->init = stac925x_core_init;
|
||||
spec->mixer = stac925x_mixer;
|
||||
|
|
Loading…
Reference in a new issue