I'm working with a custom HW board that basically is a BeagleBone Black with some capes directly integrated on the board.
One of these was supposed to be an Audio Cape using the tlv320aic3104 IC but along the way they decided to change to the 3101 which has built in power amps for speakers. But the the existing tlv320aic3x driver doesn't have support for the speaker output(s).
They are using the 3.8.13 version of the Linux kernel, so I did some searching and found a reference from TI that indicated that the tlv302aic31xx driver from the 3.12 kernel supports the tlv320aic3101 chip.
It was a fairly easy backport but when I started looking there were some issues:
1st the #defines for the register numbers in the 3.12 kernel version of the driver appeared to be wrong. They didn't agree with the chip specs. E.g. AIC Reset on page 0 should be register 1 but the #define had it as 0x81! Later versions of the header file had it correctly defined as 0. Same for other register numbers.
But as I was debugging it appears that the 13xx driver is for something other than the tlv320aic3101 (or 3004 for that matter) IC.
The #define names don't track with the chip specs even if you correct the register number.
So my question is:
Is there a Linux codec that DOES support the tlv320aic3101, and if so where might I find it?
If not has anyone gotten the tlv320aic3101 working in a similar configuration?
I'm thinking that I may need to pull in the appropriate code from the 3.12 driver as a template and then fix it so that it actually works with the 3101 chip.
But it would be nicer if there was a known good codec / driver that was available already. Of course needing it on the 3.8.13 kernel complicates my life too.
Thanks in advance,
Burt