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 <mach/asp.h> 23 #include "davinci-pcm.h" 24 25 #define DAVINCI_MCASP_RATES SNDRV_PCM_RATE_8000_96000 26 #define DAVINCI_MCASP_I2S_DAI 0 27 #define DAVINCI_MCASP_DIT_DAI 1 28 29 enum { 30 DAVINCI_AUDIO_WORD_8 = 0, 31 DAVINCI_AUDIO_WORD_12, 32 DAVINCI_AUDIO_WORD_16, 33 DAVINCI_AUDIO_WORD_20, 34 DAVINCI_AUDIO_WORD_24, 35 DAVINCI_AUDIO_WORD_32, 36 DAVINCI_AUDIO_WORD_28, /* This is only valid for McASP */ 37 }; 38 39 struct davinci_audio_dev { 40 struct davinci_pcm_dma_params dma_params[2]; 41 void __iomem *base; 42 int sample_rate; 43 struct clk *clk; 44 unsigned int codec_fmt; 45 u8 clk_active; 46 47 /* McASP specific data */ 48 int tdm_slots; 49 u8 op_mode; 50 u8 num_serializer; 51 u8 *serial_dir; 52 u8 version; 53 54 /* McASP FIFO related */ 55 u8 txnumevt; 56 u8 rxnumevt; 57 }; 58 59 #endif /* DAVINCI_MCASP_H */ 60