Commit 19280cb6 authored by Jaroslav Kysela's avatar Jaroslav Kysela

ALSA CVS update - Takashi Iwai <tiwai@suse.de>

AC97 Codec Core
Ted.Wen@ite.com.tw:

- added patch for IT2646.
parent f74f98be
......@@ -140,6 +140,7 @@ static const ac97_codec_id_t snd_ac97_codec_ids[] = {
{ 0x49434551, 0xffffffff, "VT1616", patch_vt1616, NULL },
{ 0x49434552, 0xffffffff, "VT1616i", patch_vt1616, NULL }, // VT1616 compatible (chipset integrated)
{ 0x49544520, 0xffffffff, "IT2226E", NULL, NULL },
{ 0x49544561, 0xffffffff, "IT2646E", patch_it2646, NULL },
{ 0x4e534300, 0xffffffff, "LM4540/43/45/46/48", NULL, NULL }, // only guess --jk
{ 0x4e534331, 0xffffffff, "LM4549", NULL, NULL },
{ 0x4e534350, 0xffffffff, "LM4550", NULL, NULL },
......
......@@ -1105,3 +1105,37 @@ int patch_vt1616(ac97_t * ac97)
ac97->build_ops = &patch_vt1616_ops;
return 0;
}
static const snd_kcontrol_new_t snd_ac97_controls_it2646[] = {
AC97_SINGLE("Line-In As Surround", 0x76, 9, 1, 0),
AC97_SINGLE("Mic As Center/LFE", 0x76, 10, 1, 0),
};
static const snd_kcontrol_new_t snd_ac97_spdif_controls_it2646[] = {
AC97_SINGLE("IEC958 Capture Switch", 0x76, 11, 1, 0),
AC97_SINGLE("Analog to IEC958 Output", 0x76, 12, 1, 0),
AC97_SINGLE("IEC958 Input Monitor", 0x76, 13, 1, 0),
};
static int patch_it2646_specific(ac97_t * ac97)
{
int err;
if ((err = patch_build_controls(ac97, snd_ac97_controls_it2646, ARRAY_SIZE(snd_ac97_controls_it2646))) < 0)
return err;
if ((err = patch_build_controls(ac97, snd_ac97_spdif_controls_it2646, ARRAY_SIZE(snd_ac97_spdif_controls_it2646))) < 0)
return err;
return 0;
}
static struct snd_ac97_build_ops patch_it2646_ops = {
.build_specific = patch_it2646_specific
};
int patch_it2646(ac97_t * ac97)
{
ac97->build_ops = &patch_it2646_ops;
/* full DAC volume */
snd_ac97_write_cache(ac97, 0x5E, 0x0808);
snd_ac97_write_cache(ac97, 0x7A, 0x0808);
return 0;
}
......@@ -47,3 +47,4 @@ int patch_alc650(ac97_t * ac97);
int patch_cm9738(ac97_t * ac97);
int patch_cm9739(ac97_t * ac97);
int patch_vt1616(ac97_t * ac97);
int patch_it2646(ac97_t * ac97);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment