• Peter Ujfalusi's avatar
    ASoC: Codec driver for Texas Instruments tlv320dac33 codec · c8bf93f0
    Peter Ujfalusi authored
    Driver for Texas Instruments TLV320DAC33 (SLAS546) low power stereo
    audio DAC.
    
    TLV320DAC33 is a stereo audio codec with integrated 24KB FIFO for low
    power audio playback.
    
    The digital interface can use I2S, DSP (A or B), Right and Left
    justified formats.
    DAC33 has stereo analog input, which can be bypassed to the analog
    outputs.
    
    Regarding to the internal 24KB FIFO the driver implements 'FIFO bypass'
    mode (default) and nSample mode (FIFO is in use).
    a) In 'FIFO bypass' mode the internal FIFO is not in use, the codec is
    working synchronously as a normal codec (it needs constant stream of
    data on the digital interface).
    
    b) The nSample mode implementation uses one interrupt line from DAC33 to
    the host:
    Alarm threshold is set to 10ms of audio data (limit by the driver
    implementation).
    DAC33 will signal an interrupt, when the FIFO level goes under the
    Alarm threshold.
    The host will write to nSample register a value (number of stereo
    samples), to tell DAC33 how many samples it should read in a burst from
    the host. When the DAC33 received the number of samples, it disables the
    clocks on the I2S bus. When the FIFO use again goes under the Alarm
    threshold, DAC33 signals the host with an interrupt, and the process is
    repeated.
    Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@nokia.com>
    Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
    c8bf93f0
tlv320dac33.h 8.48 KB