On Mon, Jan 11, 2010 at 11:36:31AM +0000, Mark Brown wrote:
On Mon, Jan 11, 2010 at 12:20:47PM +0100, Sascha Hauer wrote:
Why this limitation? I can successfully record with 16000Hz while playing at 48000Hz on my PCM037 board. What is missing in the driver to 'officially' support asymmetric rates?
At least some of the driver was unconditionally setting both TX and RX configuration simultaneously, though looking again hw_params() is OK.
You probably mean imx_ssi_set_dai_fmt(), imx_ssi_set_dai_tdm_slot() and imx_ssi_set_dai_sysclk(). We do not have the playback/record information available in these functions. Should we pass a struct snd_pcm_substream * to the functions?
I'll drop the patch. Like I say, I've never actually seen the driver working - even when configured as the master it doesn't seem to do any DMA (well, FIQs).
Unfortunately I do not have a mx31ads available, so I can't provide a driver for this board. I never used master mode, but if I understand the datasheet correctly the SSI unit has two clock inputs, one for the register accesses which gets enabled by clk_enable and one for the baud rate which doesn't get touched by the driver atm. Have you checked that the baud clock is configured correctly? If you have by chance a mx27ads or a mx35 3stack board I could see that I make the driver work on one of these boards.
Sascha