aboutsummaryrefslogtreecommitdiffstats
path: root/include/sound/soc-dai.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/sound/soc-dai.h')
-rw-r--r--include/sound/soc-dai.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/include/sound/soc-dai.h b/include/sound/soc-dai.h
index 97ca9af414dc..ca24e7f7a3f5 100644
--- a/include/sound/soc-dai.h
+++ b/include/sound/soc-dai.h
@@ -30,6 +30,7 @@ struct snd_pcm_substream;
30#define SND_SOC_DAIFMT_DSP_A 3 /* L data MSB after FRM LRC */ 30#define SND_SOC_DAIFMT_DSP_A 3 /* L data MSB after FRM LRC */
31#define SND_SOC_DAIFMT_DSP_B 4 /* L data MSB during FRM LRC */ 31#define SND_SOC_DAIFMT_DSP_B 4 /* L data MSB during FRM LRC */
32#define SND_SOC_DAIFMT_AC97 5 /* AC97 */ 32#define SND_SOC_DAIFMT_AC97 5 /* AC97 */
33#define SND_SOC_DAIFMT_PDM 6 /* Pulse density modulation */
33 34
34/* left and right justified also known as MSB and LSB respectively */ 35/* left and right justified also known as MSB and LSB respectively */
35#define SND_SOC_DAIFMT_MSB SND_SOC_DAIFMT_LEFT_J 36#define SND_SOC_DAIFMT_MSB SND_SOC_DAIFMT_LEFT_J
@@ -106,7 +107,7 @@ int snd_soc_dai_set_clkdiv(struct snd_soc_dai *dai,
106 int div_id, int div); 107 int div_id, int div);
107 108
108int snd_soc_dai_set_pll(struct snd_soc_dai *dai, 109int snd_soc_dai_set_pll(struct snd_soc_dai *dai,
109 int pll_id, unsigned int freq_in, unsigned int freq_out); 110 int pll_id, int source, unsigned int freq_in, unsigned int freq_out);
110 111
111/* Digital Audio interface formatting */ 112/* Digital Audio interface formatting */
112int snd_soc_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt); 113int snd_soc_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt);
@@ -114,6 +115,10 @@ int snd_soc_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt);
114int snd_soc_dai_set_tdm_slot(struct snd_soc_dai *dai, 115int snd_soc_dai_set_tdm_slot(struct snd_soc_dai *dai,
115 unsigned int tx_mask, unsigned int rx_mask, int slots, int slot_width); 116 unsigned int tx_mask, unsigned int rx_mask, int slots, int slot_width);
116 117
118int snd_soc_dai_set_channel_map(struct snd_soc_dai *dai,
119 unsigned int tx_num, unsigned int *tx_slot,
120 unsigned int rx_num, unsigned int *rx_slot);
121
117int snd_soc_dai_set_tristate(struct snd_soc_dai *dai, int tristate); 122int snd_soc_dai_set_tristate(struct snd_soc_dai *dai, int tristate);
118 123
119/* Digital Audio Interface mute */ 124/* Digital Audio Interface mute */
@@ -136,8 +141,8 @@ struct snd_soc_dai_ops {
136 */ 141 */
137 int (*set_sysclk)(struct snd_soc_dai *dai, 142 int (*set_sysclk)(struct snd_soc_dai *dai,
138 int clk_id, unsigned int freq, int dir); 143 int clk_id, unsigned int freq, int dir);
139 int (*set_pll)(struct snd_soc_dai *dai, 144 int (*set_pll)(struct snd_soc_dai *dai, int pll_id, int source,
140 int pll_id, unsigned int freq_in, unsigned int freq_out); 145 unsigned int freq_in, unsigned int freq_out);
141 int (*set_clkdiv)(struct snd_soc_dai *dai, int div_id, int div); 146 int (*set_clkdiv)(struct snd_soc_dai *dai, int div_id, int div);
142 147
143 /* 148 /*
@@ -148,6 +153,9 @@ struct snd_soc_dai_ops {
148 int (*set_tdm_slot)(struct snd_soc_dai *dai, 153 int (*set_tdm_slot)(struct snd_soc_dai *dai,
149 unsigned int tx_mask, unsigned int rx_mask, 154 unsigned int tx_mask, unsigned int rx_mask,
150 int slots, int slot_width); 155 int slots, int slot_width);
156 int (*set_channel_map)(struct snd_soc_dai *dai,
157 unsigned int tx_num, unsigned int *tx_slot,
158 unsigned int rx_num, unsigned int *rx_slot);
151 int (*set_tristate)(struct snd_soc_dai *dai, int tristate); 159 int (*set_tristate)(struct snd_soc_dai *dai, int tristate);
152 160
153 /* 161 /*