Commit 0a6f0600 authored by Kailang Yang's avatar Kailang Yang Committed by Takashi Iwai

ALSA: hda/realtek - New codecs support for ALC215/ALC285/ALC289

Add new codecs support for ALC215 ALC285 ALC289.
Signed-off-by: default avatarKailang Yang <kailang@realtek.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 4731d5de
...@@ -327,6 +327,7 @@ static void alc_fill_eapd_coef(struct hda_codec *codec) ...@@ -327,6 +327,7 @@ static void alc_fill_eapd_coef(struct hda_codec *codec)
case 0x10ec0292: case 0x10ec0292:
alc_update_coef_idx(codec, 0x4, 1<<15, 0); alc_update_coef_idx(codec, 0x4, 1<<15, 0);
break; break;
case 0x10ec0215:
case 0x10ec0225: case 0x10ec0225:
case 0x10ec0233: case 0x10ec0233:
case 0x10ec0255: case 0x10ec0255:
...@@ -335,8 +336,10 @@ static void alc_fill_eapd_coef(struct hda_codec *codec) ...@@ -335,8 +336,10 @@ static void alc_fill_eapd_coef(struct hda_codec *codec)
case 0x10ec0283: case 0x10ec0283:
case 0x10ec0286: case 0x10ec0286:
case 0x10ec0288: case 0x10ec0288:
case 0x10ec0285:
case 0x10ec0295: case 0x10ec0295:
case 0x10ec0298: case 0x10ec0298:
case 0x10ec0289:
case 0x10ec0299: case 0x10ec0299:
alc_update_coef_idx(codec, 0x10, 1<<9, 0); alc_update_coef_idx(codec, 0x10, 1<<9, 0);
break; break;
...@@ -2742,6 +2745,7 @@ enum { ...@@ -2742,6 +2745,7 @@ enum {
ALC269_TYPE_ALC298, ALC269_TYPE_ALC298,
ALC269_TYPE_ALC255, ALC269_TYPE_ALC255,
ALC269_TYPE_ALC256, ALC269_TYPE_ALC256,
ALC269_TYPE_ALC215,
ALC269_TYPE_ALC225, ALC269_TYPE_ALC225,
ALC269_TYPE_ALC294, ALC269_TYPE_ALC294,
ALC269_TYPE_ALC700, ALC269_TYPE_ALC700,
...@@ -2774,6 +2778,7 @@ static int alc269_parse_auto_config(struct hda_codec *codec) ...@@ -2774,6 +2778,7 @@ static int alc269_parse_auto_config(struct hda_codec *codec)
case ALC269_TYPE_ALC298: case ALC269_TYPE_ALC298:
case ALC269_TYPE_ALC255: case ALC269_TYPE_ALC255:
case ALC269_TYPE_ALC256: case ALC269_TYPE_ALC256:
case ALC269_TYPE_ALC215:
case ALC269_TYPE_ALC225: case ALC269_TYPE_ALC225:
case ALC269_TYPE_ALC294: case ALC269_TYPE_ALC294:
case ALC269_TYPE_ALC700: case ALC269_TYPE_ALC700:
...@@ -6698,6 +6703,12 @@ static int patch_alc269(struct hda_codec *codec) ...@@ -6698,6 +6703,12 @@ static int patch_alc269(struct hda_codec *codec)
spec->gen.mixer_nid = 0; /* ALC256 does not have any loopback mixer path */ spec->gen.mixer_nid = 0; /* ALC256 does not have any loopback mixer path */
alc_update_coef_idx(codec, 0x36, 1 << 13, 1 << 5); /* Switch pcbeep path to Line in path*/ alc_update_coef_idx(codec, 0x36, 1 << 13, 1 << 5); /* Switch pcbeep path to Line in path*/
break; break;
case 0x10ec0215:
case 0x10ec0285:
case 0x10ec0289:
spec->codec_variant = ALC269_TYPE_ALC215;
spec->gen.mixer_nid = 0;
break;
case 0x10ec0225: case 0x10ec0225:
case 0x10ec0295: case 0x10ec0295:
spec->codec_variant = ALC269_TYPE_ALC225; spec->codec_variant = ALC269_TYPE_ALC225;
...@@ -7728,6 +7739,7 @@ static int patch_alc680(struct hda_codec *codec) ...@@ -7728,6 +7739,7 @@ static int patch_alc680(struct hda_codec *codec)
* patch entries * patch entries
*/ */
static const struct hda_device_id snd_hda_id_realtek[] = { static const struct hda_device_id snd_hda_id_realtek[] = {
HDA_CODEC_ENTRY(0x10ec0215, "ALC215", patch_alc269),
HDA_CODEC_ENTRY(0x10ec0221, "ALC221", patch_alc269), HDA_CODEC_ENTRY(0x10ec0221, "ALC221", patch_alc269),
HDA_CODEC_ENTRY(0x10ec0225, "ALC225", patch_alc269), HDA_CODEC_ENTRY(0x10ec0225, "ALC225", patch_alc269),
HDA_CODEC_ENTRY(0x10ec0231, "ALC231", patch_alc269), HDA_CODEC_ENTRY(0x10ec0231, "ALC231", patch_alc269),
...@@ -7750,8 +7762,10 @@ static const struct hda_device_id snd_hda_id_realtek[] = { ...@@ -7750,8 +7762,10 @@ static const struct hda_device_id snd_hda_id_realtek[] = {
HDA_CODEC_ENTRY(0x10ec0282, "ALC282", patch_alc269), HDA_CODEC_ENTRY(0x10ec0282, "ALC282", patch_alc269),
HDA_CODEC_ENTRY(0x10ec0283, "ALC283", patch_alc269), HDA_CODEC_ENTRY(0x10ec0283, "ALC283", patch_alc269),
HDA_CODEC_ENTRY(0x10ec0284, "ALC284", patch_alc269), HDA_CODEC_ENTRY(0x10ec0284, "ALC284", patch_alc269),
HDA_CODEC_ENTRY(0x10ec0285, "ALC285", patch_alc269),
HDA_CODEC_ENTRY(0x10ec0286, "ALC286", patch_alc269), HDA_CODEC_ENTRY(0x10ec0286, "ALC286", patch_alc269),
HDA_CODEC_ENTRY(0x10ec0288, "ALC288", patch_alc269), HDA_CODEC_ENTRY(0x10ec0288, "ALC288", patch_alc269),
HDA_CODEC_ENTRY(0x10ec0289, "ALC289", patch_alc269),
HDA_CODEC_ENTRY(0x10ec0290, "ALC290", patch_alc269), HDA_CODEC_ENTRY(0x10ec0290, "ALC290", patch_alc269),
HDA_CODEC_ENTRY(0x10ec0292, "ALC292", patch_alc269), HDA_CODEC_ENTRY(0x10ec0292, "ALC292", patch_alc269),
HDA_CODEC_ENTRY(0x10ec0293, "ALC293", patch_alc269), HDA_CODEC_ENTRY(0x10ec0293, "ALC293", patch_alc269),
......
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