ASoC: topology: ABI - Define DAI physical PCM data formats
authorMengdong Lin <mengdong.lin@linux.intel.com>
Thu, 29 Sep 2016 06:09:14 +0000 (14:09 +0800)
committerMark Brown <broonie@kernel.org>
Fri, 21 Oct 2016 11:07:03 +0000 (12:07 +0100)
Define DAI physical PCM data formats for user space, so users can
configure the formats of backends by topology (e.g. the DAI format
to set on backend link init).

The kernel will also refer to these formats.

Signed-off-by: Mengdong Lin <mengdong.lin@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
include/sound/soc-dai.h
include/uapi/sound/asoc.h

index 964b7de1a1cc2ebd8cd58fe16487cc631caf9f71..534aae2f1bc0acd254c898a9a4d7f4efea01c5bd 100644 (file)
@@ -15,6 +15,7 @@
 
 
 #include <linux/list.h>
+#include <sound/asoc.h>
 
 struct snd_pcm_substream;
 struct snd_soc_dapm_widget;
@@ -26,13 +27,13 @@ struct snd_compr_stream;
  * Describes the physical PCM data formating and clocking. Add new formats
  * to the end.
  */
-#define SND_SOC_DAIFMT_I2S             1 /* I2S mode */
-#define SND_SOC_DAIFMT_RIGHT_J         2 /* Right Justified mode */
-#define SND_SOC_DAIFMT_LEFT_J          3 /* Left Justified mode */
-#define SND_SOC_DAIFMT_DSP_A           4 /* L data MSB after FRM LRC */
-#define SND_SOC_DAIFMT_DSP_B           5 /* L data MSB during FRM LRC */
-#define SND_SOC_DAIFMT_AC97            6 /* AC97 */
-#define SND_SOC_DAIFMT_PDM             7 /* Pulse density modulation */
+#define SND_SOC_DAIFMT_I2S             SND_SOC_DAI_FORMAT_I2S
+#define SND_SOC_DAIFMT_RIGHT_J         SND_SOC_DAI_FORMAT_RIGHT_J
+#define SND_SOC_DAIFMT_LEFT_J          SND_SOC_DAI_FORMAT_LEFT_J
+#define SND_SOC_DAIFMT_DSP_A           SND_SOC_DAI_FORMAT_DSP_A
+#define SND_SOC_DAIFMT_DSP_B           SND_SOC_DAI_FORMAT_DSP_B
+#define SND_SOC_DAIFMT_AC97            SND_SOC_DAI_FORMAT_AC97
+#define SND_SOC_DAIFMT_PDM             SND_SOC_DAI_FORMAT_PDM
 
 /* left and right justified also known as MSB and LSB respectively */
 #define SND_SOC_DAIFMT_MSB             SND_SOC_DAIFMT_LEFT_J
index 33d00a4ce6567f03f1cb52b08a5e72bda04efbaf..8d9814b17c4648caea6c0acde5a8c9496fb9bc1a 100644 (file)
 #define SND_SOC_TPLG_DAI_FLGBIT_SYMMETRIC_CHANNELS      (1 << 1)
 #define SND_SOC_TPLG_DAI_FLGBIT_SYMMETRIC_SAMPLEBITS    (1 << 2)
 
+/* DAI physical PCM data formats.
+ * Add new formats to the end of the list.
+ */
+#define SND_SOC_DAI_FORMAT_I2S          1 /* I2S mode */
+#define SND_SOC_DAI_FORMAT_RIGHT_J      2 /* Right Justified mode */
+#define SND_SOC_DAI_FORMAT_LEFT_J       3 /* Left Justified mode */
+#define SND_SOC_DAI_FORMAT_DSP_A        4 /* L data MSB after FRM LRC */
+#define SND_SOC_DAI_FORMAT_DSP_B        5 /* L data MSB during FRM LRC */
+#define SND_SOC_DAI_FORMAT_AC97         6 /* AC97 */
+#define SND_SOC_DAI_FORMAT_PDM          7 /* Pulse density modulation */
+
+/* left and right justified also known as MSB and LSB respectively */
+#define SND_SOC_DAI_FORMAT_MSB          SND_SOC_DAI_FORMAT_LEFT_J
+#define SND_SOC_DAI_FORMAT_LSB          SND_SOC_DAI_FORMAT_RIGHT_J
+
 /*
  * Block Header.
  * This header precedes all object and object arrays below.