[alsa-devel] [PATCH v3] ASoC: davinci-evm: Add AM43xx-EPOS-EVM audio support

Jyri Sarha jsarha at ti.com
Mon Mar 10 11:49:56 CET 2014

On 03/09/2014 10:11 AM, Mark Brown wrote:
> On Fri, Mar 07, 2014 at 02:45:27PM +0200, Jyri Sarha wrote:
>> >However, I think there is a problem with simple-card. It does not
>> >invert bitclock-master and frame-master values when converting them
>> >to CB[SM] and CF[SM] for cpu_dai as I think it should. I can get
>> >around it by setting the both cpu-dai and the codec as bclk and
>> >frame masters in the sound node. I volunteer to fix this if you
>> >agree.
> No, it shouldn't do any inversion.  If inversion is required one of the
> drivers is buggy, they are CODEC bit master and CPU bit master so for a
> CPU driver the sense should be inverted when parsing.

Yes, that is the problem. The same code in simple-card parses the codec 
node and cpu-dai node and they produce the same SND_SOC_DAIFMT_C??_C?? 
flags for both codec and cpu-dai drivers.

For example:

	simple-audio-card,cpu {
		sound-dai = <&mcasp1>;

causes SND_SOC_DAIFMT_CBS_CFS flags to be set to mcasp driver in 
set_dai_fmt() call. So omitting the bitclock-master and frame-master 
parameters from cpu-dai node strangely indicates that the cpu-dai should 
be the bitclock and frame master. Can this be right?

If you do not want to have the inversion, could we at least call the 
parameters codec-bitclock-master and codec-frame-master.

Best regards,

More information about the Alsa-devel mailing list