We use a TLV320AIC3101 as the codec in our project. Single-ended MIC input is connected to MIC1LP/LINE1LP. And MIC1LM/LINE1LM is connected to AGND. The outputs are LEFT_LOP/LOM. The settings for audio serial interface are
- DSP mode
- 16-bit frame
- 1-bit offset
- passive clock mode
- MCLK 2.048MHz
- Reference sample clock 48KHz
We use an external controller to configure the CODEC via I2C bus, and process audio data. We could hear the test tone which is generated by the external controller, but never get the analog input. The followings are the pseudo codes for detailed settings.
CODEC_I2C_WR (1 /* register address */, 0x80 /* value */); /* Reset Codec to default states */
CODEC_I2C_WR (2, 0x44); /* Sample rate : 48K/3=16K */
CODEC_I2C_WR (3, 0x91); /* PLL enabled, P=1, Q=2 */
CODEC_I2C_WR (4, 0xC0); /* PLL, J=48 */
CODEC_I2C_WR (101, 0x00);
CODEC_I2C_WR (102, 0x02);
CODEC_I2C_WR (7, 0x0A); /* fs(ref) = 48 kHz */
CODEC_I2C_WR (9, 0x48); /* DSP mode, word length 16 bit */
CODEC_I2C_WR (10, 0x01); /* Data offset = 1 bit clock */
CODEC_I2C_WR (41, 0x00);
CODEC_I2C_WR (81, 0x00); /* 0x80 for PGA_L output */
CODEC_I2C_WR (82, 0x80); /* 0x00 if PGA_L output is desired */
CODEC_I2C_WR (18, 0xF0); /* LINE2R to R-ADC PGA */
CODEC_I2C_WR (19, 0x07); /* LINE1L to L-ADC PGA */
CODEC_I2C_WR (15, 0x00); /* unmute PGA_L */
CODEC_I2C_WR (16, 0x00); /* unmute PGA_R */
CODEC_I2C_WR (43, 0x30); /* L-DAC Gain */
CODEC_I2C_WR (44, 0x30); /* R-DAC Gain */
CODEC_I2C_WR (37, 0xC0); /* Power up L-DAC, and R-DAC */
CODEC_I2C_WR (86, 0x0B); /* unmute LEFT_LOP/LOM */
CODEC_I2C_WR (93, 0x0B); /* unmute RIGHT_LOP/LOM */
--END
By setting reg#82 with 0x00, we could shut down the test tone output. And we want to hear the test tone input from the LINE1L, so we set reg#81 with 0x80. But nothing we could hear.
Could you please help us fix the settings? Thanks in advance.