提交 92a22beb 编写于 作者: M Matthew Ranostay 提交者: Jaroslav Kysela

[ALSA] hda: add eapd support to additional idt codecs

Added support for EAPD on the 927x, and 9227-8 IDT HDA codecs.
Enabling EAPD powers the internal speaker amp otherwise there is no
sound on systems with an internal amp.
Signed-off-by: NMatthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: NTakashi Iwai <tiwai@suse.de>
Signed-off-by: NJaroslav Kysela <perex@suse.cz>
上级 76c08828
......@@ -844,6 +844,21 @@ static void stac92xx_set_config_regs(struct hda_codec *codec)
}
}
static void stac92xx_enable_eapd(struct hda_codec *codec)
{
/* Configure GPIO0 as output */
snd_hda_codec_write(codec, codec->afg, 0,
AC_VERB_SET_GPIO_DIRECTION, 0x00000001);
/* Configure GPIO0 as CMOS */
snd_hda_codec_write(codec, codec->afg, 0, 0x7e7, 0x00000000);
/* Assert GPIO0 high */
snd_hda_codec_write(codec, codec->afg, 0,
AC_VERB_SET_GPIO_DATA, 0x00000001);
/* Enable GPIO0 */
snd_hda_codec_write(codec, codec->afg, 0,
AC_VERB_SET_GPIO_MASK, 0x00000001);
}
/*
* Analog playback callbacks
*/
......@@ -2205,7 +2220,8 @@ static int patch_stac927x(struct hda_codec *codec)
}
spec->multiout.dac_nids = spec->dac_nids;
stac92xx_enable_eapd(codec);
err = stac92xx_parse_auto_config(codec, 0x1e, 0x20);
if (!err) {
if (spec->board_config < 0) {
......@@ -2273,18 +2289,7 @@ static int patch_stac9205(struct hda_codec *codec)
spec->mixer = stac9205_mixer;
spec->multiout.dac_nids = spec->dac_nids;
/* Configure GPIO0 as EAPD output */
snd_hda_codec_write(codec, codec->afg, 0,
AC_VERB_SET_GPIO_DIRECTION, 0x00000001);
/* Configure GPIO0 as CMOS */
snd_hda_codec_write(codec, codec->afg, 0, 0x7e7, 0x00000000);
/* Assert GPIO0 high */
snd_hda_codec_write(codec, codec->afg, 0,
AC_VERB_SET_GPIO_DATA, 0x00000001);
/* Enable GPIO0 */
snd_hda_codec_write(codec, codec->afg, 0,
AC_VERB_SET_GPIO_MASK, 0x00000001);
stac92xx_enable_eapd(codec);
err = stac92xx_parse_auto_config(codec, 0x1f, 0x20);
if (!err) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册