Mark Brown wrote at Monday, February 07, 2011 4:13 AM:
On Fri, Feb 04, 2011 at 09:20:26AM -0800, Stephen Warren wrote:
However, I wonder how this interacts with mic detection using micbias current. There is only one mic bias signal, routed to a subset of the mics using the two per-mic enable GPIOs. Should I just hook up the mic bias detection to both jacks somehow, or is the only option to just punt on jack detection?
There are no physical plug detection mechanisms on this board.
That's a fairly unusual hardware design, it really needs explaining in the code - it wasn't at all obvious that you were controlling a FET reading the patch (and I'm still not entirely clear how exactly things are wired up). The simplest way to handle this is probably with a conditional DAPM route (look at how WM8994 handles SYSCLK for an example of this), though you'll need to faff around a bit.
Ideally you want the micbias to be enabled all the time for detection of jack insertion, only flipping the bias over to the internal mic when the internal mic is being used for recording, and also disable the detection when the internal microphone is in use. I'm not sure that this is worth the bother.
Maybe I should just not implement mic detection for Harmony due to these issues? In which case, I'd just let mic bias be enabled whenever capture was active, just like the speaker enable GPIO.
Either way, I suppose I should add two explicit mic widgets, each directly driving the appropriate GPIO, so that the user can select which mic(s) actually get used for capture.
Does that sound reasonable?
Thansk.