#include <linux/of_platform.h>
#include <linux/pm_runtime.h>
#include <linux/busfreq-imx.h>
+#include <linux/platform_data/dma-imx.h>
#include <sound/core.h>
#include <sound/pcm.h>
u32 dma_maxburst;
struct mutex ac97_reg_lock;
+ struct sdma_audio_config audio_config[2];
};
/*
if (ssi->use_dyna_fifo) {
if (channels == 1) {
- ssi->dma_params_tx.fifo_num = 1;
- ssi->dma_params_rx.fifo_num = 1;
+ ssi->audio_config[0].dst_fifo_num = 1;
+ ssi->audio_config[1].src_fifo_num = 1;
+ ssi->dma_params_tx.peripheral_config = &ssi->audio_config[0];
+ ssi->dma_params_tx.peripheral_size = sizeof(ssi->audio_config[0]);
+ ssi->dma_params_rx.peripheral_config = &ssi->audio_config[1];
+ ssi->dma_params_rx.peripheral_size = sizeof(ssi->audio_config[1]);
vals[RX].srcr &= ~SSI_SRCR_RFEN1;
vals[TX].stcr &= ~SSI_STCR_TFEN1;
vals[RX].scr &= ~SSI_SCR_TCH_EN;
vals[TX].scr &= ~SSI_SCR_TCH_EN;
} else {
- ssi->dma_params_tx.fifo_num = 2;
- ssi->dma_params_rx.fifo_num = 2;
+ ssi->audio_config[0].dst_fifo_num = 2;
+ ssi->audio_config[1].src_fifo_num = 2;
+ ssi->dma_params_tx.peripheral_config = &ssi->audio_config[0];
+ ssi->dma_params_tx.peripheral_size = sizeof(ssi->audio_config[0]);
+ ssi->dma_params_rx.peripheral_config = &ssi->audio_config[1];
+ ssi->dma_params_rx.peripheral_size = sizeof(ssi->audio_config[1]);
vals[RX].srcr |= SSI_SRCR_RFEN1;
vals[TX].stcr |= SSI_STCR_TFEN1;
vals[RX].scr |= SSI_SCR_TCH_EN;