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 25extern struct snd_soc_dai davinci_mcasp_dai[]; 26 27#define DAVINCI_MCASP_RATES SNDRV_PCM_RATE_8000_96000 28#define DAVINCI_MCASP_I2S_DAI 0 29#define DAVINCI_MCASP_DIT_DAI 1 30 31enum { 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 */ 39}; 40 41struct davinci_audio_dev { 42 struct davinci_pcm_dma_params dma_params[2]; 43 void __iomem *base; 44 int sample_rate; 45 struct clk *clk; 46 unsigned int codec_fmt; 47 u8 clk_active; 48 49 /* McASP specific data */ 50 int tdm_slots; 51 u8 op_mode; 52 u8 num_serializer; 53 u8 *serial_dir; 54 u8 version; 55 56 /* McASP FIFO related */ 57 u8 txnumevt; 58 u8 rxnumevt; 59}; 60 61#endif /* DAVINCI_MCASP_H */ 62