On 05/22/2013 10:54 AM, Kuninori Morimoto wrote:
Hi Lars
struct snd_soc_dai_driver ak4554_playback_dai = { .name = "ak4554-playback", .playback = { ... }, }
struct snd_soc_dai_driver ak4554_captrure_dai = { .name = "ak4554-captrure", .capture = { ... }, };
You'll want to put both DAIs into an array which you can pass to snd_soc_register_codec, but otherwise it looks ok.
But, ak4554 needs .symmetric_rates between playback <--> capture. Is it possible ? Or, am I misunderstanding ?
Yes, that won't work, you'd have to implement this by hand.
OK, I understand, thank you.
But do you know why snd_soc_dai_set_fmt() doesn't support "setting for playback/capture only" ? Historical reason or system reason ?
I think it is rather unusual that you want or need to set different formats for capture and playback. Especially when BCLK and LRCLK are shared. That's probably why it isn't supported yet.
- Lars