diff options
author | Matthew Ranostay <mranostay@gmail.com> | 2007-11-05 09:30:13 -0500 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2008-01-31 11:29:15 -0500 |
commit | f1f208d0b4fb79f99d2ca5031c61ff5b52e42e75 (patch) | |
tree | 931ac24bbd57d0705bdc85eaf3ac3c1af9b1b0be /sound | |
parent | d9f9b8baa0fbdba93b0ebb8e5b3ec042a6b4a8fb (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.c | 13 |
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); |