Hi Andrea,
on the beginning thank You for any replay
.
The change You said I have done yesterday in meantime between my and Your post, and now driver is able to initiate transmission and stop it. But I am missing LRCK and BCLK. Transmission start and stop I seen because MCLK is stops (without this change it was running whole time) and I see data on SDATA. So I am going in the right direction.
I have sth in codec:
switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
case SND_SOC_DAIFMT_CBM_CFM:
pr_err("CBM_CFM\n");
aif0 |= WM8962_MSTR;
break;
case SND_SOC_DAIFMT_CBS_CFS:
pr_err("CBS_CFS\n");
break;
default:
pr_err("default_3\n");
So If I set codec as a master I get:
#define WM8962_MSTR 0x0040 /* MSTR */ (from codec.h file)
but If I want to set as a slave I don't get anything? settings 0x0000 are good? becaouse my codec.h file is missing this part. and to update bits I had:
snd_soc_update_bits(codec, WM8962_AUDIO_INTERFACE_0,
WM8962_FMT_MASK | WM8962_BCLK_INV | WM8962_MSTR |
WM8962_LRCLK_INV, aif0);
which looks like mask (3rd parameter) is only for master mode or not.
Will be waiting for response
. Or piece of Your code :smileygrin: