On Fri, 29 Aug 2014 14:46:37 +0800 Xiubo Li Li.Xiubo@freescale.com wrote:
This patch merge single DAI link and muti-DAI links code together, and simply the simple-card driver code.
And also do some other improvement:
Since from the DAI format micro SND_SOC_DAIFMT_CBx_CFx, the 'CBx' mean Codec's bit clock is as master/slave and the 'CFx' mean Codec's frame clock is as master/slave.
So these same DAI formats should be informed to CPU and CODE DAIs at the same time. For the Codec driver will set the bit clock and frame clock as the DAI formats said, but for the CPU driver, if the the bit clock or frame clock is as Codec master, so it should be set CPU DAI device as bit clock or frame clock as slave, and vice versa.
The old code will cause confusion, and we should be clear that the letter 'C' here mean to Codec.
Signed-off-by: Xiubo Li Li.Xiubo@freescale.com Cc: Kuninori Morimoto kuninori.morimoto.gx@renesas.com Cc: Jean-Francois Moine moinejf@free.fr Cc: Jyri Sarha jsarha@ti.com Cc: Nicolin Chen nicoleotsuka@gmail.com
Hi,
This patch will break the old DT, so i just send one RFC version, and will add the old DT patches in next version if this patch can work well.
Any comments and advices are welcome.
Hi Xiubo,
My DT is
sound { compatible = "simple-audio-card"; simple-audio-card,name = "Cubox Audio";
simple-audio-card,dai-link@0 { /* I2S - HDMI */ format = "i2s"; cpu { sound-dai = <&audio1 0>; }; codec { sound-dai = <&hdmi 0>; }; }; ...
I was getting 0x1001 as the format (codec clk & FRM master and i2s').
With your patch, I get 0x4000 (clk master & frame slave and no format).