[ALSA] hda: STAC9228 DMIC
authorMatthew Ranostay <mranostay@gmail.com>
Mon, 5 Nov 2007 14:30:13 +0000 (15:30 +0100)
committerJaroslav Kysela <perex@perex.cz>
Thu, 31 Jan 2008 16:29:15 +0000 (17:29 +0100)
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>
sound/pci/hda/patch_sigmatel.c

index 876e1d493239968dbae1b7e76e735d75ecd1e392..4dc09ef899bf8aabc915b489be984af16f08cecc 100644 (file)
@@ -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);