This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMDXLCDK138: AIC31 Registers read access thru I2C0 doesn't work in polling mode

Part Number: TMDXLCDK138

Hello!

I'm trying to utilize the AIC31 codec in my DSP app, by using the example source code in PDK (pdk_OMAPL138_1_01_00_02\packages\ti\drv\mcasp\example\omapl138-lcdk\Audio\).

I found an API for accessing audiocodec at low-level (codec_if.h/.c). As far as I don't have to read the AIC31's registers values, everything works fine: the audio gets played back and recorded.

But if I try to use CodecRegRead(), it simply doesn't read anything, returning the register address.

In the McASP example from the Starterware kit (OMAPL138_StarterWare_1_10_04_01\examples\lcdkOMAPL138\mcasp\), everything works well, both reading and writing. But as far as I understand, the Starterware example uses a different approach of working with I2C, interrupt-based, while PDK's example utilizes polling.

Is it a known bug, or maybe there's some issue in my code/hardware setup?