davinci-pcm.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. /*
  2. * ALSA PCM interface for the TI DAVINCI processor
  3. *
  4. * Author: Vladimir Barinov, <vbarinov@embeddedalley.com>
  5. * Copyright: (C) 2007 MontaVista Software, Inc., <source@mvista.com>
  6. *
  7. * This program is free software; you can redistribute it and/or modify
  8. * it under the terms of the GNU General Public License version 2 as
  9. * published by the Free Software Foundation.
  10. */
  11. #ifndef _DAVINCI_PCM_H
  12. #define _DAVINCI_PCM_H
  13. #include <linux/genalloc.h>
  14. #include <linux/platform_data/davinci_asp.h>
  15. #include <mach/edma.h>
  16. struct davinci_pcm_dma_params {
  17. int channel; /* sync dma channel ID */
  18. unsigned short acnt;
  19. dma_addr_t dma_addr; /* device physical address for DMA */
  20. unsigned sram_size;
  21. struct gen_pool *sram_pool; /* SRAM gen_pool for ping pong */
  22. enum dma_event_q asp_chan_q; /* event queue number for ASP channel */
  23. enum dma_event_q ram_chan_q; /* event queue number for RAM channel */
  24. unsigned char data_type; /* xfer data type */
  25. unsigned char convert_mono_stereo;
  26. unsigned int fifo_level;
  27. };
  28. int davinci_soc_platform_register(struct device *dev);
  29. void davinci_soc_platform_unregister(struct device *dev);
  30. #endif