]> Pileus Git - ~andy/linux/blob - sound/soc/davinci/davinci-mcasp.h
ASoC: max98090: add DT binding document for MAX98090 CODEC
[~andy/linux] / sound / soc / davinci / davinci-mcasp.h
1 /*
2  * ALSA SoC McASP Audio Layer for TI DAVINCI processor
3  *
4  * MCASP related definitions
5  *
6  * Author: Nirmal Pandey <n-pandey@ti.com>,
7  *         Suresh Rajashekara <suresh.r@ti.com>
8  *         Steve Chen <schen@.mvista.com>
9  *
10  * Copyright:   (C) 2009 MontaVista Software, Inc., <source@mvista.com>
11  * Copyright:   (C) 2009  Texas Instruments, India
12  *
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.
16  */
17
18 #ifndef DAVINCI_MCASP_H
19 #define DAVINCI_MCASP_H
20
21 #include <linux/io.h>
22 #include <linux/platform_data/davinci_asp.h>
23
24 #include "davinci-pcm.h"
25
26 #define DAVINCI_MCASP_RATES     SNDRV_PCM_RATE_8000_192000
27 #define DAVINCI_MCASP_I2S_DAI   0
28 #define DAVINCI_MCASP_DIT_DAI   1
29
30 struct davinci_audio_dev {
31         struct davinci_pcm_dma_params dma_params[2];
32         void __iomem *base;
33         struct device *dev;
34
35         /* McASP specific data */
36         int     tdm_slots;
37         u8      op_mode;
38         u8      num_serializer;
39         u8      *serial_dir;
40         u8      version;
41         u16     bclk_lrclk_ratio;
42
43         /* McASP FIFO related */
44         u8      txnumevt;
45         u8      rxnumevt;
46
47 #ifdef CONFIG_PM_SLEEP
48         struct {
49                 u32     txfmtctl;
50                 u32     rxfmtctl;
51                 u32     txfmt;
52                 u32     rxfmt;
53                 u32     aclkxctl;
54                 u32     aclkrctl;
55                 u32     pdir;
56         } context;
57 #endif
58 };
59
60 #endif  /* DAVINCI_MCASP_H */