Hi Lars
Thank you for your comment
But, ak4554 case, data formats are playback : SND_SOC_DAIFMT_RIGHT_J capture : SND_SOC_DAIFMT_LEFT_J and, it can't exchange this data format.
CPU driver should set these information for ak4554 when playback/capture.
Then, how to specify these data format on ALSA SoC ?
You can add two different DAIs one for playback one for capture. Then you can specify the format for each.
I understand, but still 50%.
I'm creating new "cpu" driver now too. And, fortunately, my current "cpu" can do it as flexibility. But, my old cpu driver ${LINUX}/sound/soc/sh/fsi.c was this
static struct snd_soc_dai_driver fsi_soc_dai[] = { { .name = "fsia-dai", .playback = { ... }, .capture = { ... }, ...
This means, "fsia-dai" is already including "playback" and "capture". Sould fsi driver be below if "fsi" and "ak4554" are connected ? Is it normal ?
static struct snd_soc_dai_driver fsi_soc_dai[] = { { .name = "fsia-dai", .playback = { ... }, .capture = { ... }, }, { .name = "fsia-playback-dai", .playback = { .... } }, { .name = "fsia-captrue-dai", .capture = { .... } }
Best regards --- Kuninori Morimoto