davinci-mcasp.h 1.4 KB

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