Hi,
Please, verify below settings which i have applied for Master configuration and for transmitting bit clock and framesync to codec and Amplifier
Divider for :
MCA[4]_AHCLKX = 12.288MHz / (48kHz * 32 * 8) = 1-------->TDM8-32-bit-----------------Amplifier
MCA[0]_AHCLKX = 12.288MHz / (48kHz * 24 *4) = 2.67~3---------->I2S 24-bit --------------codec
MCA[2]_AHCLKX = 12.288MHz / (48kHz * 16 * 2) = 8---------->I2S 16-bit-----------------------codec
McAsp0 - 48khz,24 bit, 4 Channels(I2S mode)
sysclk=12288000;
ret = snd_soc_dai_set_sysclk(cpu_dai, 0, sysclk, SND_SOC_CLOCK_OUT);
if (ret < 0)
return ret;
ret = snd_soc_dai_set_clkdiv(cpu_dai, 0, 3);
if (ret < 0)
return ret;
McAsp2 - 48Khz,16 bit ,2 Channels (I2S mode)
ret = snd_soc_dai_set_sysclk(cpu_dai, 0, sysclk, SND_SOC_CLOCK_OUT);
if (ret < 0)
return ret;
ret = snd_soc_dai_set_clkdiv(cpu_dai, 0, 8);
if (ret < 0)
return ret;
McAsp4 - 48Khz,32 bit,4 channels (TDM mode)
ret = snd_soc_dai_set_sysclk(cpu_dai, 0, sysclk, SND_SOC_CLOCK_OUT);
if (ret < 0)
return ret;
ret = snd_soc_dai_set_clkdiv(cpu_dai, 0, 1);
if (ret < 0)
return ret