Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[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>

authored by

Matthew Ranostay and committed by
Jaroslav Kysela
f1f208d0 d9f9b8ba

+10 -3
+10 -3
sound/pci/hda/patch_sigmatel.c
··· 2723 2723 spec->dmic_nids = stac927x_dmic_nids; 2724 2724 spec->num_dmics = STAC927X_NUM_DMICS; 2725 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 2732 break; 2727 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 2740 spec->multiout.dac_nids = spec->dac_nids; 2732 - /* GPIO0 High = Enable EAPD */ 2733 - spec->gpio_mask = spec->gpio_data = 0x00000001; 2734 2741 stac92xx_enable_gpio_mask(codec); 2735 2742 2736 2743 err = stac92xx_parse_auto_config(codec, 0x1e, 0x20);