mirror of
https://github.com/torvalds/linux.git
synced 2024-12-27 21:33:00 +00:00
c8bf93f0fe
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: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
21 lines
515 B
C
21 lines
515 B
C
/*
|
|
* Platform header for Texas Instruments TLV320DAC33 codec driver
|
|
*
|
|
* Author: Peter Ujfalusi <peter.ujfalusi@nokia.com>
|
|
*
|
|
* Copyright: (C) 2009 Nokia Corporation
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
#ifndef __TLV320DAC33_PLAT_H
|
|
#define __TLV320DAC33_PLAT_H
|
|
|
|
struct tlv320dac33_platform_data {
|
|
int power_gpio;
|
|
};
|
|
|
|
#endif /* __TLV320DAC33_PLAT_H */
|