29 Jun
                
                    2020
                
            
            
                29 Jun
                
                '20
                
            
            
            
        
    
                2:56 a.m.
            
        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