i.MX6 Audmux settings with tlv320aic31xx codec

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

i.MX6 Audmux settings with tlv320aic31xx codec

1,458 次查看
jeffwhite08
Contributor III

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

标签 (3)
标记 (3)
0 项奖励
1 回复

630 次查看
igorpadykov
NXP Employee
NXP Employee

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!

-----------------------------------------------------------------------------------------------------------------------

0 项奖励