Commit fc86f954 authored by Denis Kuplyakov's avatar Denis Kuplyakov Committed by Takashi Iwai

ALSA: hda - Add full audio support on Acer Aspire 7730G notebook

1) Added support of internal subwoofer (it sounds!!!)
2) Auto muting front speakers and internal subwoofer on headphones plug.
3) Internal mic works.
4) 3 channel mods (jack maps):
       black  pink         blue
2ch: front   ext mic     line in
4ch: front   ext mic     surround
6ch: front   CLFE        surround
  Can be changed in mixer.
5) Sound can be recorded from:
 Internal mic
 Ext mic
 Cd
 Line in
6) 2 separate capture channels.
Signed-off-by: default avatarDenis Kuplyakov <dener.kup@gmail.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 0d884cb9
...@@ -220,6 +220,7 @@ enum { ...@@ -220,6 +220,7 @@ enum {
ALC888_ACER_ASPIRE_4930G, ALC888_ACER_ASPIRE_4930G,
ALC888_ACER_ASPIRE_6530G, ALC888_ACER_ASPIRE_6530G,
ALC888_ACER_ASPIRE_8930G, ALC888_ACER_ASPIRE_8930G,
ALC888_ACER_ASPIRE_7730G,
ALC883_MEDION, ALC883_MEDION,
ALC883_MEDION_MD2, ALC883_MEDION_MD2,
ALC883_LAPTOP_EAPD, ALC883_LAPTOP_EAPD,
...@@ -8484,6 +8485,13 @@ static struct hda_verb alc883_acer_eapd_verbs[] = { ...@@ -8484,6 +8485,13 @@ static struct hda_verb alc883_acer_eapd_verbs[] = {
{ } { }
}; };
static struct hda_verb alc888_acer_aspire_7730G_verbs[] = {
{0x15, AC_VERB_SET_CONNECT_SEL, 0x00},
{0x17, AC_VERB_SET_CONNECT_SEL, 0x02},
{0x15, AC_VERB_SET_UNSOLICITED_ENABLE, ALC880_HP_EVENT | AC_USRSP_EN},
{ } /* end */
};
static void alc888_6st_dell_setup(struct hda_codec *codec) static void alc888_6st_dell_setup(struct hda_codec *codec)
{ {
struct alc_spec *spec = codec->spec; struct alc_spec *spec = codec->spec;
...@@ -8645,6 +8653,7 @@ static const char *alc882_models[ALC882_MODEL_LAST] = { ...@@ -8645,6 +8653,7 @@ static const char *alc882_models[ALC882_MODEL_LAST] = {
[ALC888_ACER_ASPIRE_4930G] = "acer-aspire-4930g", [ALC888_ACER_ASPIRE_4930G] = "acer-aspire-4930g",
[ALC888_ACER_ASPIRE_6530G] = "acer-aspire-6530g", [ALC888_ACER_ASPIRE_6530G] = "acer-aspire-6530g",
[ALC888_ACER_ASPIRE_8930G] = "acer-aspire-8930g", [ALC888_ACER_ASPIRE_8930G] = "acer-aspire-8930g",
[ALC888_ACER_ASPIRE_7730G] = "acer-aspire-7730g",
[ALC883_MEDION] = "medion", [ALC883_MEDION] = "medion",
[ALC883_MEDION_MD2] = "medion-md2", [ALC883_MEDION_MD2] = "medion-md2",
[ALC883_LAPTOP_EAPD] = "laptop-eapd", [ALC883_LAPTOP_EAPD] = "laptop-eapd",
...@@ -8691,6 +8700,8 @@ static struct snd_pci_quirk alc882_cfg_tbl[] = { ...@@ -8691,6 +8700,8 @@ static struct snd_pci_quirk alc882_cfg_tbl[] = {
ALC888_ACER_ASPIRE_6530G), ALC888_ACER_ASPIRE_6530G),
SND_PCI_QUIRK(0x1025, 0x0166, "Acer Aspire 6530G", SND_PCI_QUIRK(0x1025, 0x0166, "Acer Aspire 6530G",
ALC888_ACER_ASPIRE_6530G), ALC888_ACER_ASPIRE_6530G),
SND_PCI_QUIRK(0x1025, 0x0142, "Acer Aspire 7730G",
ALC888_ACER_ASPIRE_7730G),
/* default Acer -- disabled as it causes more problems. /* default Acer -- disabled as it causes more problems.
* model=auto should work fine now * model=auto should work fine now
*/ */
...@@ -9192,6 +9203,26 @@ static struct alc_config_preset alc882_presets[] = { ...@@ -9192,6 +9203,26 @@ static struct alc_config_preset alc882_presets[] = {
.setup = alc889_acer_aspire_8930g_setup, .setup = alc889_acer_aspire_8930g_setup,
.init_hook = alc_automute_amp, .init_hook = alc_automute_amp,
}, },
[ALC888_ACER_ASPIRE_7730G] = {
.mixers = { alc883_3ST_6ch_mixer,
alc883_chmode_mixer },
.init_verbs = { alc883_init_verbs, alc880_gpio1_init_verbs,
alc888_acer_aspire_7730G_verbs },
.num_dacs = ARRAY_SIZE(alc883_dac_nids),
.dac_nids = alc883_dac_nids,
.num_adc_nids = ARRAY_SIZE(alc883_adc_nids_rev),
.adc_nids = alc883_adc_nids_rev,
.capsrc_nids = alc883_capsrc_nids_rev,
.dig_out_nid = ALC883_DIGOUT_NID,
.num_channel_mode = ARRAY_SIZE(alc883_3ST_6ch_modes),
.channel_mode = alc883_3ST_6ch_modes,
.need_dac_fix = 1,
.const_channel_count = 6,
.input_mux = &alc883_capture_source,
.unsol_event = alc_automute_amp_unsol_event,
.setup = alc888_acer_aspire_6530g_setup,
.init_hook = alc_automute_amp,
},
[ALC883_MEDION] = { [ALC883_MEDION] = {
.mixers = { alc883_fivestack_mixer, .mixers = { alc883_fivestack_mixer,
alc883_chmode_mixer }, alc883_chmode_mixer },
......
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