2008-02-18 11:40:22 +01:00
/*
* ALSA PCM interface for the TI DAVINCI processor
*
2008-09-29 23:14:11 +04:00
* Author : Vladimir Barinov , < vbarinov @ embeddedalley . com >
2008-02-18 11:40:22 +01:00
* Copyright : ( C ) 2007 MontaVista Software , Inc . , < source @ mvista . com >
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation .
*/
# ifndef _DAVINCI_PCM_H
# define _DAVINCI_PCM_H
2012-10-17 16:08:03 +02:00
# include <linux/genalloc.h>
2012-08-27 18:56:41 +05:30
# include <linux/platform_data/davinci_asp.h>
2013-03-06 11:15:31 -05:00
# include <linux/platform_data/edma.h>
2009-06-05 06:28:40 -04:00
2008-02-18 11:40:22 +01:00
struct davinci_pcm_dma_params {
2009-06-05 06:28:40 -04:00
int channel ; /* sync dma channel ID */
2009-08-11 16:58:52 -04:00
unsigned short acnt ;
2009-06-05 06:28:40 -04:00
dma_addr_t dma_addr ; /* device physical address for DMA */
2009-11-18 17:49:53 -07:00
unsigned sram_size ;
2012-10-17 16:08:03 +02:00
struct gen_pool * sram_pool ; /* SRAM gen_pool for ping pong */
2010-07-19 12:31:16 +05:30
enum dma_event_q asp_chan_q ; /* event queue number for ASP channel */
enum dma_event_q ram_chan_q ; /* event queue number for RAM channel */
2009-06-05 06:28:40 -04:00
unsigned char data_type ; /* xfer data type */
unsigned char convert_mono_stereo ;
2009-09-30 17:32:27 -04:00
unsigned int fifo_level ;
2008-02-18 11:40:22 +01:00
} ;
2014-03-18 15:20:37 +02:00
# if IS_ENABLED(CONFIG_SND_DAVINCI_SOC)
2012-08-27 18:56:39 +05:30
int davinci_soc_platform_register ( struct device * dev ) ;
2014-03-18 15:20:37 +02:00
# else
static inline int davinci_soc_platform_register ( struct device * dev )
{
return 0 ;
}
# endif /* CONFIG_SND_DAVINCI_SOC */
2012-08-27 18:56:39 +05:30
2008-02-18 11:40:22 +01:00
# endif