Added support for the dmics and enabled EAPD for several laptops with STAC9228 cards. --- Signed-off-by: Matthew Ranostay mranostay@gmail.com
diff -r 808153682813 pci/hda/patch_sigmatel.c --- a/pci/hda/patch_sigmatel.c Fri Oct 26 15:10:15 2007 +0200 +++ b/pci/hda/patch_sigmatel.c Thu Nov 01 15:46:17 2007 -0500 @@ -2778,14 +2778,21 @@ static int patch_stac927x(struct hda_cod spec->dmic_nids = stac927x_dmic_nids; spec->num_dmics = STAC927X_NUM_DMICS; spec->dmux_nid = 0x1b; + + /* Enable DMIC0 */ + stac92xx_set_config_reg(codec, 0x13, 0x90a60040); + + /* GPIO2 High = Enable EAPD */ + spec->gpio_mask = spec->gpio_data = 0x00000004; break; default: - spec->num_dmics = 0; + spec->num_dmics = 0; + + /* GPIO0 High = Enable EAPD */ + spec->gpio_mask = spec->gpio_data = 0x00000001; }
spec->multiout.dac_nids = spec->dac_nids; - /* GPIO0 High = Enable EAPD */ - spec->gpio_mask = spec->gpio_data = 0x00000001; stac92xx_enable_gpio_mask(codec); err = stac92xx_parse_auto_config(codec, 0x1e, 0x20);