On Tue, 2008-09-09 at 16:42 +0100, Alan Horstmann wrote:
I've started a new thread to avoid confusion, and copied bits here:
On Monday 08 September 2008 21:51, Mark Brown wrote:
On Mon, Sep 08, 2008 at 09:27:13PM +0100, Alan Horstmann wrote:
With just this one change we have been successful in running the codec over spi. At present we do have an issue with dapm during capture -nothing is being turned on! Any pointers would be appreciated.
If you define DEBUG when building soc-dapm.c (a define at the top of the source file will do the trick) then it will be very verbose about the decisions it's making - that will normally point out the problem. Probably either one of the input controls is not configured to make a path from the input pins to the ADC or the input has been mistakenly marked as disabled.
That gets us lots of info to digest, and it does look like there are no dapm capture paths -listing below. What we cannot fathom is why!
Can users of wm8731 confirm successful capture with dapm on any platform? It is not clear at this stage whether we are looking for a problem on our platform, or a general bug in the driver dapm code.
Afaik, it works on corgi.
Any assistance would be appreciated.
Could you define your _intended_ input path i.e.
Mic --> Mixer --> ADC
Alan
widget ADC HiFi Capture stream Capture event 1 widget DAC HiFi Playback stream Capture event 1 reg old 5f new 5f change 0 reg old 5f new 5f change 0 DAPM WM8731 snd_soc_dapm_stream_event Ext Spk: Off in 0 out 1 in static LHPOUT Int Mic: Off in 1 out 0 out static Mic Bias LLINEIN: Off in 0 out 1 out static Line Input RLINEIN: Off in 0 out 1 out static Line Input MICIN: Off in 1 out 0 in static Mic Bias out static Mic Bias Mic Bias: Off in 1 out 0 in static Int Mic in static MICIN out static MICIN Line Input: Off in 0 out 1 in static RLINEIN in static LLINEIN out Line In Input Mux Input Mux: Off in 0 out 1 in Line In Line Input out static ADC ADC: Off in 0 out 1 in static Input Mux
No valid input to ADC.
We currently have
R/LLINEIN --> Input Mux --> ADC
but R/LLINEIN are not active. Call snd_soc_dapm_enable_pin(codec, pin) to activate.
Liam