summaryrefslogtreecommitdiff
path: root/sound/soc/omap/omap-abe.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/omap/omap-abe.c')
-rw-r--r--sound/soc/omap/omap-abe.c31
1 files changed, 27 insertions, 4 deletions
diff --git a/sound/soc/omap/omap-abe.c b/sound/soc/omap/omap-abe.c
index 058191836df2..395223939444 100644
--- a/sound/soc/omap/omap-abe.c
+++ b/sound/soc/omap/omap-abe.c
@@ -816,6 +816,7 @@ static inline void abe_dai_enable_data_transfer(int port)
static void enable_be_ports(struct snd_soc_pcm_runtime *rtd, int stream)
{
struct snd_soc_pcm_runtime *be_rtd;
+ abe_data_format_t format;
int i;
for (i = 0; i < rtd->num_be; i++) {
@@ -845,20 +846,42 @@ static void enable_be_ports(struct snd_soc_pcm_runtime *rtd, int stream)
break;
case OMAP_ABE_DAI_BT_VX:
if (be_is_pending(be_rtd, stream)) {
- if (stream == SNDRV_PCM_STREAM_PLAYBACK)
+ if (stream == SNDRV_PCM_STREAM_PLAYBACK) {
+ /* BT_DL connection to McBSP 1 ports */
+ format.f = 8000;
+ format.samp_format = STEREO_RSHIFTED_16;
+ abe_connect_serial_port(BT_VX_DL_PORT,
+ &format, MCBSP1_RX);
abe_dai_enable_data_transfer(BT_VX_DL_PORT);
- else
+ } else {
+ /* BT_UL connection to McBSP 1 ports */
+ format.f = 8000;
+ format.samp_format = STEREO_RSHIFTED_16;
+ abe_connect_serial_port(BT_VX_UL_PORT,
+ &format, MCBSP1_TX);
abe_dai_enable_data_transfer(BT_VX_UL_PORT);
}
+ }
break;
case OMAP_ABE_DAI_MM_FM:
case OMAP_ABE_DAI_MODEM:
if (be_is_pending(be_rtd, stream)) {
- if (stream == SNDRV_PCM_STREAM_PLAYBACK)
+ if (stream == SNDRV_PCM_STREAM_PLAYBACK) {
+ /* MM_EXT connection to McBSP 2 ports */
+ format.f = 8000;
+ format.samp_format = STEREO_RSHIFTED_16;
+ abe_connect_serial_port(MM_EXT_OUT_PORT,
+ &format, MCBSP2_RX);
abe_dai_enable_data_transfer(MM_EXT_OUT_PORT);
- else
+ } else {
+ /* MM_EXT connection to McBSP 2 ports */
+ format.f = 8000;
+ format.samp_format = STEREO_RSHIFTED_16;
+ abe_connect_serial_port(MM_EXT_IN_PORT,
+ &format, MCBSP2_TX);
abe_dai_enable_data_transfer(MM_EXT_IN_PORT);
}
+ }
break;
case OMAP_ABE_DAI_DMIC0:
if (be_is_pending(be_rtd, stream))