Re: [PATCH v4 10/23] ASoC: simple-card: Wrong daifmt for CPU end of DPCM DAI link

From: Kuninori Morimoto
Date: Sun Jun 28 2020 - 20:56:31 EST



Hi Sameer

> simple-audio-card,dai-link@xxx {
> format = "i2s";
> bitclock-master=<&cpu1>;
> frame-master=<&cpu1>;
>
> cpu1: cpu@0 {
> ...
> };
>
> codec@0 {
> ...
> };
>
> ...
> };
>
> In above case CPU is expected to be configured as a master and Codec as
> a slave device. But both CPU/Codec are being configured as slave devices.
> This happens because asoc_simple_parse_daifmt() uses Codec reference and
> sets up the 'dai_link->dai_fmt' accordingly while parsing both CPU and
> Codec.

I'm sorry but I don't 100% understand about this case...
asoc_simple_parse_daifmt() should work in this case

The reason why it needs codec node is that
SND_SOC_DAIFMT_CBx_CFx are "Codec" base Master/Slave.

Thank you for your help !!

Best regards
---
Kuninori Morimoto