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 12#ifndef _DAVINCI_PCM_H 13#define _DAVINCI_PCM_H 14 15#include <linux/genalloc.h> 16#include <linux/platform_data/davinci_asp.h> 17#include <linux/platform_data/edma.h> 18 19struct davinci_pcm_dma_params { 20 int channel; /* sync dma channel ID */ 21 unsigned short acnt; 22 dma_addr_t dma_addr; /* device physical address for DMA */ 23 unsigned sram_size; 24 struct gen_pool *sram_pool; /* SRAM gen_pool for ping pong */ 25 enum dma_event_q asp_chan_q; /* event queue number for ASP channel */ 26 enum dma_event_q ram_chan_q; /* event queue number for RAM channel */ 27 unsigned char data_type; /* xfer data type */ 28 unsigned char convert_mono_stereo; 29 unsigned int fifo_level; 30}; 31 32int davinci_soc_platform_register(struct device *dev); 33void davinci_soc_platform_unregister(struct device *dev); 34 35#endif 36