/* * fsl_asrc.h - ALSA ASRC interface * * Copyright (C) 2013-2014 Freescale Semiconductor, Inc. This file is licensed * under the terms of the GNU General Public License version 2. This * program is licensed "as is" without any warranty of any kind, whether * express or implied. */ #ifndef _FSL_ASRC_P2P_H #define _FSL_ASRC_P2P_H #include #include #include enum peripheral_device_type { UNKNOWN, SSI1, SSI2, SSI3, ESAI, }; struct fsl_asrc_p2p_params { enum asrc_pair_index asrc_index; struct dma_async_tx_descriptor *desc; struct dma_chan *dma_chan; struct imx_dma_data dma_data; }; struct fsl_asrc_p2p { int p2p_rate; int p2p_width; enum peripheral_device_type per_dev; struct asrc_p2p_ops asrc_ops; struct snd_dmaengine_dai_dma_data dma_params_rx; struct snd_dmaengine_dai_dma_data dma_params_tx; struct imx_dma_data filter_data_tx; struct imx_dma_data filter_data_rx; struct snd_pcm_substream *substream[2]; /* playback and record p2p params */ struct fsl_asrc_p2p_params p2p_params[2]; struct platform_device *soc_platform_pdev; int dmarx[3]; int dmatx[3]; char name[32]; }; #endif