hal: Add support for TTS output stream

Add new audio playback use case to support stream for
Transmitted Through Speaker (TTS) data.

Bug: 21334936

Change-Id: Ief4519f30516f39078fdcdfce90645194bd885ea
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index 20763ac..aa9a7ae 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -145,6 +145,7 @@
     [USECASE_AUDIO_PLAYBACK_LOW_LATENCY] = "low-latency-playback",
     [USECASE_AUDIO_PLAYBACK_MULTI_CH] = "multi-channel-playback",
     [USECASE_AUDIO_PLAYBACK_OFFLOAD] = "compress-offload-playback",
+    [USECASE_AUDIO_PLAYBACK_TTS] = "audio-tts-playback",
 
     [USECASE_AUDIO_RECORD] = "audio-record",
     [USECASE_AUDIO_RECORD_LOW_LATENCY] = "low-latency-record",
@@ -2097,6 +2098,9 @@
         if (out->flags & AUDIO_OUTPUT_FLAG_DEEP_BUFFER) {
             out->usecase = USECASE_AUDIO_PLAYBACK_DEEP_BUFFER;
             out->config = pcm_config_deep_buffer;
+        } else if (out->flags & AUDIO_OUTPUT_FLAG_TTS) {
+            out->usecase = USECASE_AUDIO_PLAYBACK_TTS;
+            out->config = pcm_config_deep_buffer;
         } else {
             out->usecase = USECASE_AUDIO_PLAYBACK_LOW_LATENCY;
             out->config = pcm_config_low_latency;
diff --git a/hal/audio_hw.h b/hal/audio_hw.h
index d531744..92cd5de 100644
--- a/hal/audio_hw.h
+++ b/hal/audio_hw.h
@@ -57,6 +57,7 @@
     USECASE_AUDIO_PLAYBACK_LOW_LATENCY,
     USECASE_AUDIO_PLAYBACK_MULTI_CH,
     USECASE_AUDIO_PLAYBACK_OFFLOAD,
+    USECASE_AUDIO_PLAYBACK_TTS,
 
     /* HFP Use case*/
     USECASE_AUDIO_HFP_SCO,
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index e0ea8ed..a90fdc5 100644
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -102,6 +102,8 @@
                                          MULTIMEDIA2_PCM_DEVICE},
     [USECASE_AUDIO_PLAYBACK_OFFLOAD] = {PLAYBACK_OFFLOAD_DEVICE,
                                         PLAYBACK_OFFLOAD_DEVICE},
+    [USECASE_AUDIO_PLAYBACK_TTS] = {MULTIMEDIA3_PCM_DEVICE,
+                                        MULTIMEDIA3_PCM_DEVICE},
     [USECASE_AUDIO_RECORD] = {AUDIO_RECORD_PCM_DEVICE,
                               AUDIO_RECORD_PCM_DEVICE},
     [USECASE_AUDIO_RECORD_LOW_LATENCY] = {LOWLATENCY_PCM_DEVICE,
diff --git a/hal/msm8974/platform.h b/hal/msm8974/platform.h
index cf7d20d..c76c700 100644
--- a/hal/msm8974/platform.h
+++ b/hal/msm8974/platform.h
@@ -182,8 +182,12 @@
 #define DEEP_BUFFER_PCM_DEVICE 0
 #define AUDIO_RECORD_PCM_DEVICE 0
 #define MULTIMEDIA2_PCM_DEVICE 1
+
 #define SPKR_PROT_CALIB_RX_PCM_DEVICE 5
 #define SPKR_PROT_CALIB_TX_PCM_DEVICE 25
+
+#define MULTIMEDIA3_PCM_DEVICE 4
+
 #define PLAYBACK_OFFLOAD_DEVICE 9
 #define LOWLATENCY_PCM_DEVICE 15
 #define VOICE_VSID  0x10C01000