Sound and the TDA998x binding

Russell King - ARM Linux linux at armlinux.org.uk
Tue Nov 13 19:09:58 UTC 2018


On Tue, Nov 13, 2018 at 06:12:37PM +0000, Peter Rosin wrote:
> On 2018-11-13 18:24, Russell King - ARM Linux wrote:
> > On Tue, Nov 13, 2018 at 01:28:40PM +0000, Peter Rosin wrote:
> >> Hi!
> >>
> >> I'm wondering about some programming details regarding the TDA998x
> >> driver...
> >>
> >> The bindings documentation [1] state that one should fill in the
> >> desired register content of the AP_ENA register. However, I cannot
> >> find any details anywhere about how one determines what is desired.
> >> When I look for data sheets on the Internet, all I find is a "short"
> >> data sheet, which is far from enlightening. There are hints about
> >> a "full" data sheet in the chapter on legal information of the
> >> "short" data sheet. Is the "full" data sheet protected by an NDA
> >> or something? That's the only reason I can find for it not being
> >> available...
> >>
> >> Maybe someone with such a "full" data sheet at hand can enlighten
> >> me on the workings of this AP_ENA register so that I know what it is
> >> that I need to fill in? Since it is so difficult to find this info,
> >> maybe it should be added to the binding?
> > 
> > There's various public documents for the TDA998x chips, some of which
> > do contain the register programming information - although we don't
> > have definitive information for every variant that the driver supports.
> 
> I have looked, and not found anything. Do you have any pointer? For what
> chip(s) in the family are there register information?

TDA9983B is the main one, but as I say, it doesn't document several
registers found in the TDA19988 - we have no definitive register
descriptions for this chip.

> > Even so, that doesn't give us documentation for this register, so we
> > have to resort to code received from other sources.
> > 
> > The AP_ENA register "audio port enable" is one bit per AP signal, from
> > the AP0 pin being bit 0, up to the AP7 pin being bit 7.
> 
> Thanks! However, in the "short" sheet for the TDA19988 that I have, there
> is this table:
> 
> AP0                  WS (word select)
> AP1   S/PDIF input   I2S-bus channel 0
> AP2   S/PDIF input   I2S-bus channel 1
> AP3                  I2S-bus channel 2
> AP4                  I2S-bus channel 3
> ACLK                 SCK (I2S-bus clock)
> 
> AP5 through AP7 are nowhere to be found...

Right, so only bits 0 to 4 are meaningful.

> Should I assume that ACLK is an alias for AP5, and that the register
> content should be 0x23 for I2S on channel 0? Or is ACLK not part of
> the AP_ENA register at all, so that 0x03 is more likely to be correct?

I believe 0x03 as per the example binding in the tda998x document.
The example given is from Jean's work for the Dove Cubox which
uses a TDA19988, which has both I2S and S/PDIF wired to the
TDA19988 - I2S data on AP1, S/PDIF data on AP2.

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up
According to speedtest.net: 11.9Mbps down 500kbps up


More information about the dri-devel mailing list