asoc: Add DSD over PCM support for csra66x0 codec
Configuration added to support stereo DSD over PCM
for csra66x0 codec via I2S interface.
Change-Id: Ibed333e44961a9eb87ef69bfb1e302f5837357d9
Signed-off-by: Romed Schur <rschur@codeaurora.org>
diff --git a/asoc/msm-dai-q6-v2.c b/asoc/msm-dai-q6-v2.c
index f09d9e1..7cb2c0b 100644
--- a/asoc/msm-dai-q6-v2.c
+++ b/asoc/msm-dai-q6-v2.c
@@ -301,12 +301,19 @@
* 1: non-linear PCM
* 2: PCM data in IEC 60968 container
* 3: compressed data in IEC 60958 container
+ * 9: DSD over PCM (DoP) with marker byte
*/
static const char *const mi2s_format[] = {
"LPCM",
"Compr",
"LPCM-60958",
- "Compr-60958"
+ "Compr-60958",
+ "NA4",
+ "NA5",
+ "NA6",
+ "NA7",
+ "NA8",
+ "DSD_DOP_W_MARKER"
};
static const char *const mi2s_vi_feed_mono[] = {
@@ -315,7 +322,7 @@
};
static const struct soc_enum mi2s_config_enum[] = {
- SOC_ENUM_SINGLE_EXT(4, mi2s_format),
+ SOC_ENUM_SINGLE_EXT(10, mi2s_format),
SOC_ENUM_SINGLE_EXT(2, mi2s_vi_feed_mono),
};
diff --git a/include/dsp/apr_audio-v2.h b/include/dsp/apr_audio-v2.h
index a90cb05..3468ca7 100644
--- a/include/dsp/apr_audio-v2.h
+++ b/include/dsp/apr_audio-v2.h
@@ -2539,6 +2539,7 @@
#define AFE_NON_LINEAR_DATA_PACKED_60958 0x3
#define AFE_GENERIC_COMPRESSED 0x8
#define AFE_LINEAR_PCM_DATA_PACKED_16BIT 0X6
+#define AFE_DSD_DOP_W_MARKER_DATA 0x9
/* This param id is used to configure I2S interface */
#define AFE_PARAM_ID_I2S_CONFIG 0x0001020D
@@ -2643,6 +2644,7 @@
* - #NON_LINEAR_DATA
* - #LINEAR_PCM_DATA_PACKED_IN_60958
* - #NON_LINEAR_DATA_PACKED_IN_60958
+ * - #AFE_DSD_DOP_W_MARKER_DATA
*/
u16 reserved;
/* This field must be set to zero. */