ASoC: DaVinci: McASP driver enhacements
[linux-2.6/libata-dev.git] / sound / soc / davinci / davinci-mcasp.h
blob554354c1cc2f1bf786bf006bdca62310a53c568b
1 /*
2 * ALSA SoC McASP Audio Layer for TI DAVINCI processor
4 * MCASP related definitions
6 * Author: Nirmal Pandey <n-pandey@ti.com>,
7 * Suresh Rajashekara <suresh.r@ti.com>
8 * Steve Chen <schen@.mvista.com>
10 * Copyright: (C) 2009 MontaVista Software, Inc., <source@mvista.com>
11 * Copyright: (C) 2009 Texas Instruments, India
13 * This program is free software; you can redistribute it and/or modify
14 * it under the terms of the GNU General Public License version 2 as
15 * published by the Free Software Foundation.
18 #ifndef DAVINCI_MCASP_H
19 #define DAVINCI_MCASP_H
21 #include <linux/io.h>
22 #include <mach/asp.h>
23 #include "davinci-pcm.h"
25 extern struct snd_soc_dai davinci_mcasp_dai[];
27 #define DAVINCI_MCASP_RATES SNDRV_PCM_RATE_8000_96000
28 #define DAVINCI_MCASP_I2S_DAI 0
29 #define DAVINCI_MCASP_DIT_DAI 1
31 enum {
32 DAVINCI_AUDIO_WORD_8 = 0,
33 DAVINCI_AUDIO_WORD_12,
34 DAVINCI_AUDIO_WORD_16,
35 DAVINCI_AUDIO_WORD_20,
36 DAVINCI_AUDIO_WORD_24,
37 DAVINCI_AUDIO_WORD_32,
38 DAVINCI_AUDIO_WORD_28, /* This is only valid for McASP */
41 struct davinci_audio_dev {
42 void __iomem *base;
43 int sample_rate;
44 struct clk *clk;
45 struct davinci_pcm_dma_params *dma_params[2];
46 unsigned int codec_fmt;
48 /* McASP specific data */
49 int tdm_slots;
50 u8 op_mode;
51 u8 num_serializer;
52 u8 *serial_dir;
53 u8 version;
55 /* McASP FIFO related */
56 u8 txnumevt;
57 u8 rxnumevt;
60 #endif /* DAVINCI_MCASP_H */