davinci-mcasp.h 1.3 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. #define DAVINCI_MCASP_RATES SNDRV_PCM_RATE_8000_96000
  23. #define DAVINCI_MCASP_I2S_DAI 0
  24. #define DAVINCI_MCASP_DIT_DAI 1
  25. enum {
  26. DAVINCI_AUDIO_WORD_8 = 0,
  27. DAVINCI_AUDIO_WORD_12,
  28. DAVINCI_AUDIO_WORD_16,
  29. DAVINCI_AUDIO_WORD_20,
  30. DAVINCI_AUDIO_WORD_24,
  31. DAVINCI_AUDIO_WORD_32,
  32. DAVINCI_AUDIO_WORD_28, /* This is only valid for McASP */
  33. };
  34. struct davinci_audio_dev {
  35. struct davinci_pcm_dma_params dma_params[2];
  36. void __iomem *base;
  37. int sample_rate;
  38. struct clk *clk;
  39. unsigned int codec_fmt;
  40. u8 clk_active;
  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 */