Hi,
We have a custom board with an i.MX6 with a tlv320dac3100 codec attached (using the tlv320aic31xx driver as suggested by TI). I've followed the Linux porting guide, but still having issues getting i2s working properly. I don't see a bitclock or frame clock.
I'm trying to set up the audmux for ssi2 and pins5. Also note that we are not using any inputs thus RX is not connected.
Configuration:
tlv320aic <- AUD5 <-> SSI2
I have the following audmux configuration in my ported driver:
int_port--;
ext_port--;
ret = imx_audmux_v2_configure_port(int_port,
IMX_AUDMUX_V2_PTCR_SYN, // |
IMX_AUDMUX_V2_PTCR_TFSEL(ext_port) |
IMX_AUDMUX_V2_PTCR_TCSEL(ext_port) |
IMX_AUDMUX_V2_PTCR_TFSDIR |
IMX_AUDMUX_V2_PTCR_TCLKDIR,
IMX_AUDMUX_V2_PDCR_RXDSEL(ext_port));
imx_audmux_v2_configure_port(ext_port,
IMX_AUDMUX_V2_PTCR_SYN,
IMX_AUDMUX_V2_PDCR_RXDSEL(int_port));
int_port is passed in as 2 and ext_port is passed in as 5.
I'm also setting the codec as the master:
u32 dai_format = SND_SOC_DAIFMT_I2S |
SND_SOC_DAIFMT_NB_NF |
SND_SOC_DAIFMT_CBS_CFM;
/* set codec DAI configuration */
ret = snd_soc_dai_set_fmt(codec_dai, dai_format);
if (ret) {
printk(KERN_ERR "failed to set codec dai fmt: %d\n", ret);
return ret;
}
Thoughts?
Thanks,
Jeff
Hi Jeff
one can look at
How to enable TLV320 on IMX6Q?
also sync clocks should be provided by master, codec in this case.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------