hal: Add support for HFP feature

 - Add set_parameters to be set from hfp app to enable
   and disable hfp session.
 - Implement start and stop hfp session which takes
   care of switching device and setting the session

Change-Id: Ie8697328ccbfee09d0d162f6fad01ddb552e4f83
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index 5233705..b7acc85 100644
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -108,6 +108,7 @@
                                           LOWLATENCY_PCM_DEVICE},
     [USECASE_VOICE_CALL] = {VOICE_CALL_PCM_DEVICE,
                             VOICE_CALL_PCM_DEVICE},
+    [USECASE_AUDIO_HFP_SCO] = {HFP_PCM_RX, HFP_SCO_RX},
 };
 
 /* Array to store sound devices */
@@ -960,6 +961,7 @@
             out_device & AUDIO_DEVICE_OUT_WIRED_HEADPHONE) {
             if (my_data->fluence_in_voice_call == false) {
                 snd_device = SND_DEVICE_IN_HANDSET_MIC;
+                set_echo_reference(adev->mixer, "SLIM_RX");
             } else {
                 if (my_data->dualmic_config == DUALMIC_CONFIG_ENDFIRE) {
                     if (is_operator_tmus())