summaryrefslogtreecommitdiffstats
path: root/sound/soc/s6000/s6000-pcm.h
diff options
context:
space:
mode:
authorDaniel Glöckner <dg@emlix.com>2009-03-28 19:47:01 +0100
committerMark Brown <broonie@opensource.wolfsonmicro.com>2009-04-04 15:28:22 +0100
commit4b166da939012905f4c36fedada62067db31948e (patch)
tree1519b033ec4895dda560432c09f7eb049317b2b0 /sound/soc/s6000/s6000-pcm.h
parent103f211d0be2bed75b5739de62a10415ef0bbc25 (diff)
ASoC: Add driver for s6000 I2S interface
This patch adds a driver for the I2S interface found on Stretch s6000 family processors. Signed-off-by: Daniel Glöckner <dg@emlix.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/s6000/s6000-pcm.h')
-rw-r--r--sound/soc/s6000/s6000-pcm.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/sound/soc/s6000/s6000-pcm.h b/sound/soc/s6000/s6000-pcm.h
new file mode 100644
index 00000000000..96f23f6f52b
--- /dev/null
+++ b/sound/soc/s6000/s6000-pcm.h
@@ -0,0 +1,35 @@
+/*
+ * ALSA PCM interface for the Stretch s6000 family
+ *
+ * Author: Daniel Gloeckner, <dg@emlix.com>
+ * Copyright: (C) 2009 emlix GmbH <info@emlix.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 _S6000_PCM_H
+#define _S6000_PCM_H
+
+struct snd_soc_dai;
+struct snd_pcm_substream;
+
+struct s6000_pcm_dma_params {
+ unsigned int (*check_xrun)(struct snd_soc_dai *cpu_dai);
+ int (*trigger)(struct snd_pcm_substream *substream, int cmd, int after);
+ dma_addr_t sif_in;
+ dma_addr_t sif_out;
+ u32 dma_in;
+ u32 dma_out;
+ int irq;
+ int same_rate;
+
+ spinlock_t lock;
+ int in_use;
+ int rate;
+};
+
+extern struct snd_soc_platform s6000_soc_platform;
+
+#endif