aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/twl4030.h
diff options
context:
space:
mode:
authorJoonyoung Shim <jy0922.shim@samsung.com>2009-04-20 06:21:35 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2009-04-20 07:44:24 -0400
commit7154b3e80203ee91f9ba7d0a43d3daa05c49d9e9 (patch)
treed7741c68ea143dc4cfdb2ffbe3ef350e544a12d5 /sound/soc/codecs/twl4030.h
parent6b87a91f5417226c7fe62100b0e7217e7096b789 (diff)
ASoC: TWL4030: Add support Voice DAI
Add Voice DAI to support the PCM voice interface of the twl4030 codec. The PCM voice interface can be used with 8-kHz(voice narrowband) or 16-kHz(voice wideband) sampling rates, and 16bits, and mono RX and mono TX or stereo TX. The PCM voice interface has two modes - PCM mode1 : This uses the normal FS polarity and the rising edge of the clock signal. - PCM mode2 : This uses the FS polarity inverted and the falling edge of the clock signal. If the system master clock is not 26MHz or the twl4030 codec mode is not option2, the voice PCM interface is not available. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/codecs/twl4030.h')
-rw-r--r--sound/soc/codecs/twl4030.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/sound/soc/codecs/twl4030.h b/sound/soc/codecs/twl4030.h
index cb63765db1d..981ec609495 100644
--- a/sound/soc/codecs/twl4030.h
+++ b/sound/soc/codecs/twl4030.h
@@ -113,6 +113,8 @@
113#define TWL4030_SEL_16K 0x04 113#define TWL4030_SEL_16K 0x04
114#define TWL4030_CODECPDZ 0x02 114#define TWL4030_CODECPDZ 0x02
115#define TWL4030_OPT_MODE 0x01 115#define TWL4030_OPT_MODE 0x01
116#define TWL4030_OPTION_1 (1 << 0)
117#define TWL4030_OPTION_2 (0 << 0)
116 118
117/* TWL4030_REG_MICBIAS_CTL (0x04) Fields */ 119/* TWL4030_REG_MICBIAS_CTL (0x04) Fields */
118 120
@@ -171,6 +173,17 @@
171#define TWL4030_CLK256FS_EN 0x02 173#define TWL4030_CLK256FS_EN 0x02
172#define TWL4030_AIF_EN 0x01 174#define TWL4030_AIF_EN 0x01
173 175
176/* VOICE_IF (0x0F) Fields */
177
178#define TWL4030_VIF_SLAVE_EN 0x80
179#define TWL4030_VIF_DIN_EN 0x40
180#define TWL4030_VIF_DOUT_EN 0x20
181#define TWL4030_VIF_SWAP 0x10
182#define TWL4030_VIF_FORMAT 0x08
183#define TWL4030_VIF_TRI_EN 0x04
184#define TWL4030_VIF_SUB_EN 0x02
185#define TWL4030_VIF_EN 0x01
186
174/* EAR_CTL (0x21) */ 187/* EAR_CTL (0x21) */
175#define TWL4030_EAR_GAIN 0x30 188#define TWL4030_EAR_GAIN 0x30
176 189
@@ -236,7 +249,10 @@
236#define TWL4030_SMOOTH_ANAVOL_EN 0x02 249#define TWL4030_SMOOTH_ANAVOL_EN 0x02
237#define TWL4030_DIGMIC_LR_SWAP_EN 0x01 250#define TWL4030_DIGMIC_LR_SWAP_EN 0x01
238 251
239extern struct snd_soc_dai twl4030_dai; 252#define TWL4030_DAI_HIFI 0
253#define TWL4030_DAI_VOICE 1
254
255extern struct snd_soc_dai twl4030_dai[2];
240extern struct snd_soc_codec_device soc_codec_dev_twl4030; 256extern struct snd_soc_codec_device soc_codec_dev_twl4030;
241 257
242#endif /* End of __TWL4030_AUDIO_H__ */ 258#endif /* End of __TWL4030_AUDIO_H__ */