Sorry, I sent this mail again without the big-size alsa info.
From: Lin, Mengdong Sent: Monday, January 13, 2014 4:53 PM To: 'Kailang'; alsa-devel@alsa-project.org Subject: RE: How to make Realtek HD-A codec alc282 create "Input Source" controlto select a input for recording?
Hi Kailang,
I tried to disable both Mic2 pin 0x19 and DMIC pin 0x12 as a PRE_PROBE stage fixup, as below: snd_hda_codec_set_pincfg(codec, 0x19, 0x411111f0); snd_hda_codec_set_pincfg(codec, 0x12, 0x411111f0);
After this, recording can work if I boot the platform with Mic jack connected to Mic1 port (0x18), but later hot-plug can make recording fail again:
- On boot, 0x23 unmutes 0x18. Recording works well. Also unsol event is enabled on 0x18 with tag 0x02.
- Then I removed the mic jack, 0x23 mutes 0x18. But no unsol event is got, and codec info shows unsol event is disabled on pin 0x18 Strange.
- Then I connected the mic jack again. No unsol event is got. 0x23 still mutes 0x18.
I wonder since only Mic1 pin 0x18 is enabled now, why 0x23 cannot always unmutes 0x18?
Regards Mengdong
From: Kailang [mailto:kailang@realtek.com] Sent: Monday, January 13, 2014 4:14 PM To: Lin, Mengdong; alsa-devel@alsa-project.orgmailto:alsa-devel@alsa-project.org Subject: Re: How to make Realtek HD-A codec alc282 create "Input Source" controlto select a input for recording?
I think it maybe can not have two internal Mic at the same time. Could you try to disable pin for 0x19 or 0x12? To fixup 0x19 or 0x12 verb as 0x41fffff0. ----- Original Message ----- 寄件者: Lin, Mengdongmailto:mengdong.lin@intel.com 收件者: alsa-devel@alsa-project.orgmailto:alsa-devel@alsa-project.org ; Kailang (kailang@realtek.com)mailto:kailang@realtek.com) 傳送日期: 2014年1月13日 下午 03:19 主旨: How to make Realtek HD-A codec alc282 create "Input Source" controlto select a input for recording?
Hi,
How to make the driver create a “input source” control for ALC282 with 3 Mic pins?
My platform uses a Realtek HD-A codec ALC282 card, it has 3 Mic pins: Mic = 0x18 (MIC1) Internal Mic = 0x19 (MIC2) Internal Mic = 0x12 (DMIC)
Recording on Mic1 (0x18) cannot work because the mixer 0x23 always mutes the input from 0x18. And there is no “input source” control to let the mixer select and unmute 0x18.
I’ve tried to disable pin sense on pin 0x18 as a board fix-up like below, but “input source” control is still not created: caps = snd_hda_query_pin_caps(codec, 0x18); caps &= ~AC_PINCAP_PRES_DETECT; snd_hda_override_pin_caps(codec, 0x18, caps); snd_hda_codec_set_pincfg(codec, 0x18, 0x03a19120); … set ‘Jack Detect Override’
Thanks Mengdong