lpass-pcm.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /* Copyright (c) 2010, The Linux Foundation. All rights reserved.
  2. *
  3. * This program is free software; you can redistribute it and/or modify
  4. * it under the terms of the GNU General Public License version 2 and
  5. * only version 2 as published by the Free Software Foundation.
  6. *
  7. * This program is distributed in the hope that it will be useful,
  8. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. * GNU General Public License for more details.
  11. */
  12. #ifndef _MSM_PCM_H
  13. #define _MSM_PCM_H
  14. #define USE_CHANNELS_MIN 1
  15. #define USE_CHANNELS_MAX 2
  16. #define NUM_DMAS 9
  17. #define DMASZ 16384
  18. #define MAX_CHANNELS 9
  19. #define MSM_LPA_PHYS 0x28100000
  20. #define MSM_LPA_END 0x2810DFFF
  21. struct msm_audio {
  22. struct snd_pcm_substream *substream;
  23. /* data allocated for various buffers */
  24. char *data;
  25. dma_addr_t phys;
  26. unsigned int pcm_size;
  27. unsigned int pcm_count;
  28. int enabled;
  29. int period;
  30. int dma_ch;
  31. int period_index;
  32. int start;
  33. };
  34. extern struct snd_soc_dai msm_cpu_dai[NUM_DMAS];
  35. extern struct snd_soc_platform msm8660_soc_platform;
  36. #endif /*_MSM_PCM_H*/