summaryrefslogtreecommitdiffstats
path: root/sound/soc/pxa/pxa2xx-pcm.h
diff options
context:
space:
mode:
authorLiam Girdwood <liam.girdwood@wolfsonmicro.com>2006-10-12 14:26:55 +0200
committerJaroslav Kysela <perex@suse.cz>2007-02-09 09:00:43 +0100
commitf11a96d5cd94202479e603f9dfaff6e92f342135 (patch)
tree67693eaeef5cee6baa078d4e23ace73fab84d0b4 /sound/soc/pxa/pxa2xx-pcm.h
parent102fa9060e114a53628a6594034b6ecf624dffc6 (diff)
downloadlinux-f11a96d5cd94202479e603f9dfaff6e92f342135.tar.bz2
[ALSA] ASoC pxa2xx DMA support
This patch adds pxa2xx ASoC DMA audio support. It's based on sound/arm/pxa-pcm.c by Nicolas Pitre with the following differences. o Modified driver structure to use ASoC core PCM callbacks and data structures. o Registration with ASoC core. From: Liam Girdwood <liam.girdwood@wolfsonmicro.com> Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'sound/soc/pxa/pxa2xx-pcm.h')
-rw-r--r--sound/soc/pxa/pxa2xx-pcm.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/sound/soc/pxa/pxa2xx-pcm.h b/sound/soc/pxa/pxa2xx-pcm.h
new file mode 100644
index 000000000000..0b55f070da27
--- /dev/null
+++ b/sound/soc/pxa/pxa2xx-pcm.h
@@ -0,0 +1,48 @@
+/*
+ * linux/sound/arm/pxa2xx-pcm.h -- ALSA PCM interface for the Intel PXA2xx chip
+ *
+ * Author: Nicolas Pitre
+ * Created: Nov 30, 2004
+ * Copyright: MontaVista Software, Inc.
+ *
+ * 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 _PXA2XX_PCM_H
+#define _PXA2XX_PCM_H
+
+struct pxa2xx_pcm_dma_params {
+ char *name; /* stream identifier */
+ u32 dcmd; /* DMA descriptor dcmd field */
+ volatile u32 *drcmr; /* the DMA request channel to use */
+ u32 dev_addr; /* device physical address for DMA */
+};
+
+struct pxa2xx_gpio {
+ u32 sys;
+ u32 rx;
+ u32 tx;
+ u32 clk;
+ u32 frm;
+};
+
+/* pxa2xx DAI ID's */
+#define PXA2XX_DAI_AC97_HIFI 0
+#define PXA2XX_DAI_AC97_AUX 1
+#define PXA2XX_DAI_AC97_MIC 2
+#define PXA2XX_DAI_I2S 0
+#define PXA2XX_DAI_SSP1 0
+#define PXA2XX_DAI_SSP2 1
+#define PXA2XX_DAI_SSP3 2
+
+extern struct snd_soc_cpu_dai pxa_ac97_dai[3];
+extern struct snd_soc_cpu_dai pxa_i2s_dai;
+extern struct snd_soc_cpu_dai pxa_ssp_dai[3];
+
+/* platform data */
+extern struct snd_soc_platform pxa2xx_soc_platform;
+extern struct snd_ac97_bus_ops pxa2xx_ac97_ops;
+
+#endif