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.

Linux/TLV320AIC3109-Q1: Learning Audio codec driver and machine driver

Part Number: TLV320AIC3109-Q1
Other Parts Discussed in Thread: TLV320AIC3104

Tool/software: Linux

Dear TI,

I have worked on integrating audio codec in Linux kernel.

And I do have little bit understanding on ASoC concept


machine driver ( snd_soc_card, snd_soc_dai_link)


     Platform driver  <----------------------------------->  Codec driver

  But I want to work with some new codec with writing ASoC driver from scratch for learning purpose and I have seen that the codec TLV320AIC3109-Q1 is new in market.

  So I can use tlv320aic31xx codec driver and rx51 machine driver to make it work for some soc.

  Also I can try with simple-card driver.

 Could someone please suggest/guide me that which Codec will be good for me to learn machine/Codec driver and also If I write it for some SoC(machine driver)  then can request to add it in mainline kernel (seems difficult) or any other SoC/Vendor specific kernel.

 Let me know if my query makes any sense.



  • Hello Hardik,

    The TLV320AIC3109-Q1 is certainly new to the market, but it is essentially a single channel version of the TLV320AIC3104 which has been out for many years. I believe these Codecs are pretty strait forward to use, and that might make them a good candidate for learning how to work with drivers. (is that what you're asking?)
    One thing I should say is that TI is not providing driver support for any of our audio codecs at this time. We do have some drivers that were developed a number of years back, but at this point these are intended to be used as a starting point only.

    I hope that answers your question

    best regards,
    -Steve Wilson