summaryrefslogtreecommitdiffstats
path: root/sound/soc/blackfin/bf5xx-tdm-pcm.h
diff options
context:
space:
mode:
authorBarry Song <21cnbao@gmail.com>2009-07-27 12:06:39 +0200
committerMark Brown <broonie@opensource.wolfsonmicro.com>2009-07-28 23:15:27 +0200
commit01e2ab207ca5a8edac622ab112b581d41b5eb36e (patch)
treef12ef7f14cee59b081fa3bc9ab77876e128fc6ae /sound/soc/blackfin/bf5xx-tdm-pcm.h
parentASoC: CX20442: fix issues pointed out by subsystem maintainer (diff)
downloadlinux-01e2ab207ca5a8edac622ab112b581d41b5eb36e.tar.xz
linux-01e2ab207ca5a8edac622ab112b581d41b5eb36e.zip
ASoC: blackfin I2S(TDM mode) CPU DAI driver
The I2S DAI driver for blackfin SPORT, but works in TDM mode. I2S is not a special case of TDM with only left and right two slots for SPORT interface. I2S coordinates with TDM in SPORT, but not a part of TDM. TDM require different hardware configuration with I2S, not only different slot number. One is "Stereo Serial Operation" mode of SPORT, the other one is "Multichannel Operation" mode. They are incompatible at the same time. Hardware and DMA description and data transfer flow are much different for I2S and TDM. Merging them as a whole will be very ugly and difficult to maintain. So we don't define a new DAI type, but give two DAI instances for standard I2S and TDM, both in I2S-family DAI type. The TDM instance still uses the I2S-family DAI type. Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/blackfin/bf5xx-tdm-pcm.h')
-rw-r--r--sound/soc/blackfin/bf5xx-tdm-pcm.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/sound/soc/blackfin/bf5xx-tdm-pcm.h b/sound/soc/blackfin/bf5xx-tdm-pcm.h
new file mode 100644
index 000000000000..9e8473d1c389
--- /dev/null
+++ b/sound/soc/blackfin/bf5xx-tdm-pcm.h
@@ -0,0 +1,21 @@
+/*
+ * linux/sound/arm/bf5xx-tdm-pcm.h -- ALSA PCM interface for the Blackfin
+ *
+ * Copyright 2009 Analog Device 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 _BF5XX_TDM_PCM_H
+#define _BF5XX_TDM_PCM_H
+
+struct bf5xx_pcm_dma_params {
+ char *name; /* stream identifier */
+};
+
+/* platform data */
+extern struct snd_soc_platform bf5xx_tdm_soc_platform;
+
+#endif