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.

TLV320AIC34: Verifying tlv320aic3x driver functionality in Kernel Space

Part Number: TLV320AIC34

Hello TI forums,

I am currently debugging an audio issue in regards to the tlv320aic3x codec driver. Some background, I am on the XIlinx's ultrascale platform and establishing an alsa sound card using the simple-card driver. The tlv320aic3x driver appears to be probing correctly, it displays that the driver will be using the regulators specified in my device tree and no other errors. The simple card driver is able to map the DAI link between the codec and the i2s soft IP RX/TX. Viewing the i2c bus using i2cdetect command, I notice that the tlv320aic34's addresses are undefined due to the tlv320aic3x being busy. 

My issue is when I run aplay or speaker-test commands, I receive an error mentioning "unable to install hw params:", and error code -38 indicating "Socket operation on non-socket" issue. I am assuming the pcm parameters are trying to write to the codec's registers, but fails to. I would like to just verify that I have hooked up the codec driver correctly. Any suggestions?

Thank you

  • Hello,

    Unfortunately, we do not offer driver support for our devices. If you are able to provide a codec register dump, i would be happy to take a look. 

    Regards,

    Aaron

  • Hello Aaron,

    I apologize for the late response. I did get further in the audio development. It turns out that the DMA engine I was using in the FPGA firmware was not passing the correct arguments. I am now at the stage where I am outputting alsa built-in sound (speaker-test command) to the codec (verified using internal chipscope, and bclk, wclk, and mclk are working correctly), however, the codec is not routing the sound through its DAC and out of the chip. After reading through multiple forum posts, I could not seem to find at which point is the codec's routing configured? Is it done in the device tree level, application, etc.? This answer would be very helpful. Is there a way to dump i2c registers while the tlv320aic3x driver is binded?

    Thank you.

  • Hello,

    Apologies for the delayed response. 

    I am unfamiliar with the device drivers and like a mentioned above, we unfortunately don't provide driver support. There may be relevant information online on how to solve your problem.

    I hope you were able to solve your problem..

    Regards,

    Aaron