aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorMatthew Ranostay <mranostay@gmail.com>2007-11-05 09:30:13 -0500
committerJaroslav Kysela <perex@perex.cz>2008-01-31 11:29:15 -0500
commitf1f208d0b4fb79f99d2ca5031c61ff5b52e42e75 (patch)
tree931ac24bbd57d0705bdc85eaf3ac3c1af9b1b0be /sound
parentd9f9b8baa0fbdba93b0ebb8e5b3ec042a6b4a8fb (diff)
[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>
Diffstat (limited to 'sound')
-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)
2723 spec->dmic_nids = stac927x_dmic_nids; 2723 spec->dmic_nids = stac927x_dmic_nids;
2724 spec->num_dmics = STAC927X_NUM_DMICS; 2724 spec->num_dmics = STAC927X_NUM_DMICS;
2725 spec->dmux_nid = 0x1b; 2725 spec->dmux_nid = 0x1b;
2726
2727 /* Enable DMIC0 */
2728 stac92xx_set_config_reg(codec, 0x13, 0x90a60040);
2729
2730 /* GPIO2 High = Enable EAPD */
2731 spec->gpio_mask = spec->gpio_data = 0x00000004;
2726 break; 2732 break;
2727 default: 2733 default:
2728 spec->num_dmics = 0; 2734 spec->num_dmics = 0;
2735
2736 /* GPIO0 High = Enable EAPD */
2737 spec->gpio_mask = spec->gpio_data = 0x00000001;
2729 } 2738 }
2730 2739
2731 spec->multiout.dac_nids = spec->dac_nids; 2740 spec->multiout.dac_nids = spec->dac_nids;
2732 /* GPIO0 High = Enable EAPD */
2733 spec->gpio_mask = spec->gpio_data = 0x00000001;
2734 stac92xx_enable_gpio_mask(codec); 2741 stac92xx_enable_gpio_mask(codec);
2735 2742
2736 err = stac92xx_parse_auto_config(codec, 0x1e, 0x20); 2743 err = stac92xx_parse_auto_config(codec, 0x1e, 0x20);