summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Ranostay <mranostay@gmail.com>2007-11-05 15:30:13 +0100
committerJaroslav Kysela <perex@perex.cz>2008-01-31 17:29:15 +0100
commitf1f208d0b4fb79f99d2ca5031c61ff5b52e42e75 (patch)
tree931ac24bbd57d0705bdc85eaf3ac3c1af9b1b0be
parent[ALSA] HDA: Add Asus VX1 support (diff)
downloadlinux-f1f208d0b4fb79f99d2ca5031c61ff5b52e42e75.tar.xz
linux-f1f208d0b4fb79f99d2ca5031c61ff5b52e42e75.zip
[ALSA] hda: STAC9228 DMIC
Added support for the dmics and enabled EAPD for several laptops with STAC9228 cards. Signed-off-by: Matthew Ranostay <mranostay@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
-rw-r--r--sound/pci/hda/patch_sigmatel.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index 876e1d493239..4dc09ef899bf 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -2723,14 +2723,21 @@ static int patch_stac927x(struct hda_codec *codec)
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);