Re: [PATCHv3] ASoC: Add support for BCM2835

From: Florian Meier
Date: Mon Nov 18 2013 - 10:56:47 EST


>> +static int bcm2835_i2s_hw_params(struct snd_pcm_substream *substream,
>> + struct snd_pcm_hw_params *params,
>> + struct snd_soc_dai *dai)
>> +{
>> + struct bcm2835_i2s_dev *dev = snd_soc_dai_get_drvdata(dai);
>> +
>> + unsigned int sampling_rate = params_rate(params);
>> + unsigned int data_length, data_delay, bclk_ratio;
>> + unsigned int ch1pos, ch2pos, mode, format;
>> + unsigned int mash = BCM2835_CLK_MASH_1;
>> + unsigned int divi, divf, target_frequency;
>> + int clk_src = -1;
>> + unsigned int master = dev->fmt & SND_SOC_DAIFMT_MASTER_MASK;
>> + uint32_t bit_master = (master == SND_SOC_DAIFMT_CBS_CFS
>> + || master == SND_SOC_DAIFMT_CBS_CFM);
>> +
>> + uint32_t frame_master = (master == SND_SOC_DAIFMT_CBS_CFS
>
> So, if master == SND_SOC_DAIFMT_CBS_CFS both bit_master and frame_master
> will be true. Is it correct?

Yes. That is exactly what CBS_CFS expresses:
Codec Bit Slave and Codec Frame Slave
So the interface is bit master as well as frame master.
Did I miss anything?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/