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