Discussion:
Differences between tlv320aic3x and tlv320aic31xx
Alexandre Belloni
2014-09-30 18:37:31 UTC
Permalink
Hi,

I'm trying to add support for the tlv320aic3104a present on a
custom board using an am335x.

I see that Benoit seemed to have been successful when using the
tlv320aic3x driver with minor modifications.
http://mailman.alsa-project.org/pipermail/alsa-devel/2013-January/058966.html

On the other hand, in the past, I've used a tlv320aic3100 with the
tlv320aic31xx driver.

My plan for now is to use the tlv320aic3x driver with snd-soc-evm as
this is the one it is using (it is using .codec_dai_name =
"tlv320aic3x-hifi").

I had no luck until now but I still have to review my pinmuxing. But
before I investigate to much, can you confirm what codecs are supported
by which driver? I'm pretty sure that would be a nice addition to the
documentation too.

Thanks,
--
Alexandre Belloni, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
Jyri Sarha
2014-10-01 07:47:59 UTC
Permalink
Post by Alexandre Belloni
Hi,
I'm trying to add support for the tlv320aic3104a present on a
custom board using an am335x.
I see that Benoit seemed to have been successful when using the
tlv320aic3x driver with minor modifications.
http://mailman.alsa-project.org/pipermail/alsa-devel/2013-January/058966.html
On the other hand, in the past, I've used a tlv320aic3100 with the
tlv320aic31xx driver.
My plan for now is to use the tlv320aic3x driver with snd-soc-evm as
this is the one it is using (it is using .codec_dai_name =
"tlv320aic3x-hifi").
I had no luck until now but I still have to review my pinmuxing. But
before I investigate to much, can you confirm what codecs are supported
by which driver? I'm pretty sure that would be a nice addition to the
documentation too.
0
Hi Alexandre,
Based on a brief look at the data sheet I am afraid you will not have
any luck using tlv320aic3x driver with tlv320aic3104. tlv320aic31xx is a
better match, but sill not close enough.

Based on the register map you may have a change to get the codec working
using tlv320aic32x4 driver. At least the register map appears to be a
pretty good match. However, I have no experience either with the driver
or the codec.

Best regards,
Jyri
Benoît Thébaudeau
2014-10-01 20:03:31 UTC
Permalink
Hi Alexandre, Jyri,
Post by Jyri Sarha
Post by Alexandre Belloni
Hi,
I'm trying to add support for the tlv320aic3104a present on a
custom board using an am335x.
I see that Benoit seemed to have been successful when using the
tlv320aic3x driver with minor modifications.
http://mailman.alsa-project.org/pipermail/alsa-devel/2013-January/05=
8966.html
Post by Jyri Sarha
Post by Alexandre Belloni
On the other hand, in the past, I've used a tlv320aic3100 with the
tlv320aic31xx driver.
My plan for now is to use the tlv320aic3x driver with snd-soc-evm as
this is the one it is using (it is using .codec_dai_name =3D
"tlv320aic3x-hifi").
I had no luck until now but I still have to review my pinmuxing. But
before I investigate to much, can you confirm what codecs are suppor=
ted
Post by Jyri Sarha
Post by Alexandre Belloni
by which driver? I'm pretty sure that would be a nice addition to th=
e
Post by Jyri Sarha
Post by Alexandre Belloni
documentation too.
0
Hi Alexandre,
Based on a brief look at the data sheet I am afraid you will not have=
any
Post by Jyri Sarha
luck using tlv320aic3x driver with tlv320aic3104. tlv320aic31xx is a =
better
Post by Jyri Sarha
match, but sill not close enough.
Based on the register map you may have a change to get the codec work=
ing
Post by Jyri Sarha
using tlv320aic32x4 driver. At least the register map appears to be a=
pretty
Post by Jyri Sarha
good match. However, I have no experience either with the driver or t=
he
Post by Jyri Sarha
codec.
I've seen that the tlv320aic31xx driver has been available for some
time now, but I've not yet looked into it. However, the tlv320aic3x
driver works pretty well with the tlv320aic3104 (at least, it did at
the time of my post that you referred to). I've used it connected to a
=46reescale i.MX25 through I=C2=B2S. IIRC, the register map of the
tlv320aic3104 is just a subset of what this driver provides (apart
from the unimplemented register page, which I had added support for
locally, but I have not sent my patches yet), and there is some
renaming, especially for the I/Os (see the comment in the header of
this driver). I had also improved some audio controls, but I'm not
sure if this was required for the tlv320aic3104, or if it was just an
improvement also applicable to other CODECs supported by this driver.

I agree that some clarification would be required ergarding the
aic31xx CODECs those two drivers support. It may also be possible to
merge the 31xx driver into the 3x one.

Best regards,
Beno=C3=AEt

Loading...