Merge "hal: configs: Enable BCS port for headset mic path"
diff --git a/configs/atoll/atoll.mk b/configs/atoll/atoll.mk
index 3c2bcd4..7531be6 100644
--- a/configs/atoll/atoll.mk
+++ b/configs/atoll/atoll.mk
@@ -442,10 +442,6 @@
PRODUCT_PACKAGES += \
android.hardware.soundtrigger@2.2-impl \
-# enable sound trigger hidl hal 2.3
-PRODUCT_PACKAGES += \
- android.hardware.soundtrigger@2.3-impl
-
PRODUCT_PACKAGES_ENG += \
VoicePrintTest \
VoicePrintDemo
diff --git a/configs/atoll/sound_trigger_platform_info.xml b/configs/atoll/sound_trigger_platform_info.xml
index 32ffb67..4850d2b 100644
--- a/configs/atoll/sound_trigger_platform_info.xml
+++ b/configs/atoll/sound_trigger_platform_info.xml
@@ -213,7 +213,7 @@
<param capture_device="HANDSET" />
<!-- adm_cfg_profile should match with the one defined under adm_config -->
<!-- Set it to NONE if LSM directly connects to AFE -->
- <param adm_cfg_profile="NONE" />
+ <param adm_cfg_profile="DEFAULT" />
<!-- fluence_type: "FLUENCE_MIC", "FLUENCE_DMIC", "FLUENCE_TMIC" -->
<!-- "FLUENCE_QMIC". Param value is valid when adm_cfg_profile -->
<!-- is FFECNS -->
@@ -229,7 +229,7 @@
</lsm_usecase>
<lsm_usecase>
<param capture_device="HEADSET" />
- <param adm_cfg_profile="NONE" />
+ <param adm_cfg_profile="DEFAULT" />
<param fluence_type="NONE" />
<param execution_mode="ADSP" />
<param app_type="4" /> <!-- app type for MD used in ACDB -->
@@ -263,7 +263,7 @@
<param capture_device="HANDSET" />
<!-- adm_cfg_profile should match with the one defined under adm_config -->
<!-- Set it to NONE if LSM directly connects to AFE -->
- <param adm_cfg_profile="NONE" />
+ <param adm_cfg_profile="DEFAULT" />
<!-- fluence_type: "FLUENCE_MIC", "FLUENCE_DMIC", "FLUENCE_TMIC" -->
<!-- "FLUENCE_QMIC". Param value is valid when adm_cfg_profile -->
<!-- is FFECNS -->
@@ -280,7 +280,7 @@
</lsm_usecase>
<lsm_usecase>
<param capture_device="HEADSET" />
- <param adm_cfg_profile="NONE" />
+ <param adm_cfg_profile="DEFAULT" />
<param fluence_type="NONE" />
<param execution_mode="ADSP" />
<param app_type="3" /> <!-- app type used in ACDB -->
@@ -315,7 +315,7 @@
<param capture_device="HANDSET" />
<!-- adm_cfg_profile should match with the one defined under adm_config -->
<!-- Set it to NONE if LSM directly connects to AFE -->
- <param adm_cfg_profile="NONE" />
+ <param adm_cfg_profile="DEFAULT" />
<!-- fluence_type: "FLUENCE_MIC", "FLUENCE_DMIC", "FLUENCE_TMIC" -->
<!-- "FLUENCE_QMIC". Param value is valid when adm_cfg_profile -->
<!-- is FFECNS -->
@@ -332,7 +332,7 @@
</lsm_usecase>
<lsm_usecase>
<param capture_device="HEADSET" />
- <param adm_cfg_profile="NONE" />
+ <param adm_cfg_profile="DEFAULT" />
<param fluence_type="NONE" />
<param execution_mode="ADSP" />
<param app_type="3" /> <!-- app type used in ACDB -->
@@ -362,4 +362,12 @@
<param bit_width="16" />
<param out_channels="3"/>
</adm_config>
+
+ <adm_config>
+ <param adm_cfg_profile="DEFAULT" />
+ <param app_type="69938" />
+ <param sample_rate="16000" />
+ <param bit_width="16" />
+ <param out_channels="1"/>
+ </adm_config>
</sound_trigger_platform_info>
diff --git a/configs/bengal/audio_platform_info_intcodec.xml b/configs/bengal/audio_platform_info_intcodec.xml
index e2a47c7..5ee8d54 100644
--- a/configs/bengal/audio_platform_info_intcodec.xml
+++ b/configs/bengal/audio_platform_info_intcodec.xml
@@ -64,6 +64,10 @@
<usecase name="USECASE_AUDIO_A2DP_ABR_FEEDBACK" type="in" id="35" />
<usecase name="USECASE_AUDIO_A2DP_ABR_FEEDBACK" type="out" id="35" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK" type="out" id="23" />
+ <usecase name="USECASE_AUDIO_RECORD_COMPRESS2" type="in" id="36" />
+ <usecase name="USECASE_INCALL_REC_UPLINK" type="in" id="23" />
+ <usecase name="USECASE_INCALL_REC_DOWNLINK" type="in" id="23" />
+ <usecase name="USECASE_INCALL_REC_UPLINK_AND_DOWNLINK" type="in" id="23" />
</pcm_ids>
<config_params>
<!-- In the below value string, the value indicates default mono -->
@@ -129,6 +133,7 @@
<device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES_EXTERNAL_1" interface="RX_CDC_DMA_RX_1-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES_EXTERNAL_2" interface="RX_CDC_DMA_RX_1-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_HANDSET" backend="handset" interface="RX_CDC_DMA_RX_0"/>
+ <device name="SND_DEVICE_OUT_VOICE_HANDSET_TMUS" backend="handset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_IN_HANDSET_GENERIC_QMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER" interface="RX_CDC_DMA_RX_1"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_STEREO" interface="RX_CDC_DMA_RX_1"/>
@@ -169,10 +174,12 @@
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
- <device name="SND_DEVICE_IN_HEADSET_MIC" interface="TX_CDC_DMA_TX_3"/>
- <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" interface="TX_CDC_DMA_TX_3"/>
+ <device name="SND_DEVICE_IN_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
+ <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC" interface="TX_CDC_DMA_TX_3"/>
- <device name="SND_DEVICE_IN_VOICE_HEADSET_MIC" interface="TX_CDC_DMA_TX_3"/>
+ <device name="SND_DEVICE_IN_VOICE_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
+ <device name="SND_DEVICE_IN_VOICE_REC_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
+ <device name="SND_DEVICE_IN_HEADSET_MIC_AEC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_HDMI_MIC" interface="HDMI"/>
<device name="SND_DEVICE_IN_BT_SCO_MIC" interface="SLIMBUS_7_TX"/>
<device name="SND_DEVICE_IN_BT_SCO_MIC_NREC" interface="SLIMBUS_7_TX"/>
@@ -182,9 +189,9 @@
<device name="SND_DEVICE_IN_VOICE_DMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_DMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_QMIC" interface="TX_CDC_DMA_TX_3"/>
- <device name="SND_DEVICE_IN_VOICE_TTY_FULL_HEADSET_MIC" interface="TX_CDC_DMA_TX_3"/>
+ <device name="SND_DEVICE_IN_VOICE_TTY_FULL_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_VOICE_TTY_VCO_HANDSET_MIC" interface="TX_CDC_DMA_TX_3"/>
- <device name="SND_DEVICE_IN_VOICE_TTY_HCO_HEADSET_MIC" interface="TX_CDC_DMA_TX_3"/>
+ <device name="SND_DEVICE_IN_VOICE_TTY_HCO_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_VOICE_REC_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_REC_MIC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_REC_DMIC_STEREO" interface="TX_CDC_DMA_TX_3"/>
@@ -217,7 +224,7 @@
<device name="SND_DEVICE_IN_UNPROCESSED_STEREO_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_UNPROCESSED_THREE_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_UNPROCESSED_QUAD_MIC" interface="TX_CDC_DMA_TX_3"/>
- <device name="SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC" interface="TX_CDC_DMA_TX_3"/>
+ <device name="SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_AND_VOICE_HEADPHONES" backend="speaker-and-headphones" interface="RX_CDC_DMA_RX_1-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_AND_VOICE_ANC_HEADSET" backend="speaker-and-headphones" interface="RX_CDC_DMA_RX_1-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO" backend="speaker-and-bt-sco" interface="RX_CDC_DMA_RX_1-and-SLIMBUS_7_RX"/>
diff --git a/configs/bengal/bengal.mk b/configs/bengal/bengal.mk
index ff0f239..1c7f13e 100644
--- a/configs/bengal/bengal.mk
+++ b/configs/bengal/bengal.mk
@@ -459,10 +459,6 @@
PRODUCT_PACKAGES += \
android.hardware.soundtrigger@2.2-impl \
-# enable sound trigger hidl hal 2.3
-PRODUCT_PACKAGES += \
- android.hardware.soundtrigger@2.3-impl
-
PRODUCT_PACKAGES_ENG += \
VoicePrintTest \
VoicePrintDemo
diff --git a/configs/bengal/mixer_paths.xml b/configs/bengal/mixer_paths.xml
index 9fea425..2053f22 100644
--- a/configs/bengal/mixer_paths.xml
+++ b/configs/bengal/mixer_paths.xml
@@ -60,12 +60,22 @@
<ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia16" value="0" />
<ctl name="MultiMedia5 Mixer AFE_PCM_TX" value="0" />
<ctl name="MultiMedia5 Mixer TX_CDC_DMA_TX_3" value="0" />
+ <ctl name="MultiMedia5 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_3" value="0" />
+ <ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_4" value="0" />
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_3" value="0" />
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="0" />
+ <ctl name="MultiMedia2 Mixer TX_CDC_DMA_TX_3" value="0" />
+ <ctl name="MultiMedia2 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia1 Mixer SLIM_7_TX" value="0" />
<ctl name="MultiMedia8 Mixer SLIM_7_TX" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="0" />
+ <ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
<ctl name="MultiMedia10 Mixer AFE_PCM_TX" value="0" />
+ <ctl name="MultiMedia17 Mixer TX_CDC_DMA_TX_3" value="0" />
+ <ctl name="MultiMedia17 Mixer TX_CDC_DMA_TX_4" value="0" />
+ <ctl name="MultiMedia17 Mixer SLIM_7_TX" value="0" />
<ctl name="DISPLAY_PORT Mixer MultiMedia1" value="0" />
<ctl name="DISPLAY_PORT Mixer MultiMedia2" value="0" />
<ctl name="DISPLAY_PORT Mixer MultiMedia3" value="0" />
@@ -129,6 +139,7 @@
<ctl name="MultiMedia5 Mixer USB_AUDIO_TX" value="0" />
<ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="0" />
<ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="0" />
+ <ctl name="MultiMedia17 Mixer USB_AUDIO_TX" value="0" />
<ctl name="TX_AIF2_CAP Mixer DEC0" value="0" />
<ctl name="TX_CDC_DMA_TX_4 Channels" value="One" />
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
@@ -148,6 +159,8 @@
<!-- HFP end -->
<!-- echo reference -->
<ctl name="AUDIO_REF_EC_UL1 MUX" value="None" />
+ <ctl name="AUDIO_REF_EC_UL10 MUX" value="None" />
+ <ctl name="EC Reference Channels" value="Zero"/>
<!-- usb headset -->
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="0" />
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia2" value="0" />
@@ -196,8 +209,8 @@
<!-- Multimode Voice2 -->
<ctl name="RX_CDC_DMA_RX_1_Voice Mixer VoiceMMode2" value="0" />
<ctl name="RX_CDC_DMA_RX_0_Voice Mixer VoiceMMode2" value="0" />
- <ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="0" />
- <ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_4_MMode2" value="0" />
+ <ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="0" />
+ <ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_4_MMode2" value="0" />
<!-- Multimode Voice2 BTSCO -->
<ctl name="SLIM_7_RX_Voice Mixer VoiceMMode2" value="0" />
<ctl name="VoiceMMode2_Tx Mixer SLIM_7_TX_MMode2" value="0" />
@@ -223,8 +236,8 @@
<!-- RT Proxy Cal end -->
<!-- Incall Recording -->
- <ctl name="MultiMedia1 Mixer VOC_REC_UL" value="0" />
- <ctl name="MultiMedia1 Mixer VOC_REC_DL" value="0" />
+ <ctl name="MultiMedia9 Mixer VOC_REC_UL" value="0" />
+ <ctl name="MultiMedia9 Mixer VOC_REC_DL" value="0" />
<ctl name="MultiMedia8 Mixer VOC_REC_UL" value="0" />
<ctl name="MultiMedia8 Mixer VOC_REC_DL" value="0" />
<!-- Incall Recording End -->
@@ -238,6 +251,7 @@
<ctl name="RX_CDC_DMA_RX_1_Voice Mixer Voip" value="0" />
<ctl name="RX_CDC_DMA_RX_0_Voice Mixer Voip" value="0" />
<ctl name="Voip_Tx Mixer TX_CDC_DMA_TX_3_Voip" value="0" />
+ <ctl name="Voip_Tx Mixer TX_CDC_DMA_TX_4_Voip" value="0" />
<ctl name="SLIM_7_RX_Voice Mixer Voip" value="0" />
<ctl name="Voip_Tx Mixer SLIM_7_TX_Voip" value="0" />
<ctl name="AFE_PCM_RX_Voice Mixer Voip" value="0" />
@@ -306,6 +320,7 @@
<!-- TX Controls -->
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
+ <ctl name="DEC0_BCS Switch" value="0" />
<ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_3" value="0" />
<ctl name="ADC2_MIXER Switch" value="0" />
<ctl name="ADC2 MUX" value="ZERO" />
@@ -413,6 +428,7 @@
<!-- defaults for mmap record -->
<ctl name="MultiMedia16 Mixer TX_CDC_DMA_TX_3" value="0" />
+ <ctl name="MultiMedia16 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia16 Mixer SLIM_7_TX" value="0" />
<ctl name="MultiMedia16 Mixer SLIM_8_TX" value="0" />
<ctl name="MultiMedia16 Mixer USB_AUDIO_TX" value="0" />
@@ -424,18 +440,25 @@
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="RX_CDC_DMA_RX_1" />
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+ <path name="echo-reference handset">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="RX_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="One"/>
</path>
<path name="echo-reference headphones">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="RX_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
- <path name="echo-reference display-port">
- <ctl name="AUDIO_REF_EC_UL1 MUX" value="DISPLAY_PORT" />
+ <path name="echo-reference headset">
+ <path name="echo-reference headphones" />
</path>
<path name="echo-reference headphones-44.1">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="RX_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference bt-sco">
@@ -453,14 +476,17 @@
<path name="echo-reference-voip">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="RX_CDC_DMA_RX_1" />
+ <ctl name="EC Reference Channels" value="One"/>
</path>
<path name="echo-reference-voip handset">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="RX_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="One"/>
</path>
<path name="echo-reference-voip headphones">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="RX_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference-voip bt-sco">
@@ -1864,6 +1890,10 @@
<path name="audio-record bt-sco" />
</path>
+ <path name="audio-record headset-mic">
+ <ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="audio-record bt-sco-swb">
<path name="audio-record bt-sco" />
</path>
@@ -1876,6 +1906,10 @@
<ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
+ <path name="audio-record-compress headset-mic">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="audio-record-compress bt-sco">
<ctl name="MultiMedia8 Mixer SLIM_7_TX" value="1" />
</path>
@@ -1901,7 +1935,7 @@
<ctl name="MultiMedia17 Mixer SLIM_7_TX" value="1" />
</path>
- <path name="audio-record-compress2 bt-sco-wb">
+ <path name="audio-record-compress bt-sco-wb">
<ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record-compress2 bt-sco" />
</path>
@@ -1922,6 +1956,10 @@
<ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
+ <path name="low-latency-record headset-mic">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="low-latency-record bt-sco">
<ctl name="MultiMedia8 Mixer SLIM_7_TX" value="1" />
</path>
@@ -1964,7 +2002,7 @@
</path>
<path name="incall-rec-uplink">
- <ctl name="MultiMedia1 Mixer VOC_REC_UL" value="1" />
+ <ctl name="MultiMedia9 Mixer VOC_REC_UL" value="1" />
</path>
<path name="incall-rec-uplink bt-sco">
@@ -1991,6 +2029,10 @@
<path name="incall-rec-uplink" />
</path>
+ <path name="incall-rec-uplink-compress headset-mic">
+ <path name="incall-rec-uplink-compress" />
+ </path>
+
<path name="incall-rec-uplink-compress">
<ctl name="MultiMedia8 Mixer VOC_REC_UL" value="1" />
</path>
@@ -2015,8 +2057,12 @@
<path name="incall-rec-uplink-compress" />
</path>
+ <path name="incall-rec-uplink-compress headset-mic">
+ <path name="incall-rec-uplink-compress" />
+ </path>
+
<path name="incall-rec-downlink">
- <ctl name="MultiMedia1 Mixer VOC_REC_DL" value="1" />
+ <ctl name="MultiMedia9 Mixer VOC_REC_DL" value="1" />
</path>
<path name="incall-rec-downlink bt-sco">
@@ -2043,6 +2089,10 @@
<path name="incall-rec-downlink" />
</path>
+ <path name="incall-rec-downlink headset-mic">
+ <path name="incall-rec-downlink" />
+ </path>
+
<path name="incall-rec-downlink-compress">
<ctl name="MultiMedia8 Mixer VOC_REC_DL" value="1" />
</path>
@@ -2067,6 +2117,10 @@
<path name="incall-rec-downlink-compress" />
</path>
+ <path name="incall-rec-downlink-compress headset-mic">
+ <path name="incall-rec-downlink-compress" />
+ </path>
+
<path name="incall-rec-uplink-and-downlink">
<path name="incall-rec-uplink" />
<path name="incall-rec-downlink" />
@@ -2096,6 +2150,10 @@
<path name="incall-rec-uplink-and-downlink" />
</path>
+ <path name="incall-rec-uplink-and-downlink headset-mic">
+ <path name="incall-rec-uplink-and-downlink" />
+ </path>
+
<path name="incall-rec-uplink-and-downlink-compress">
<path name="incall-rec-uplink-compress" />
<path name="incall-rec-downlink-compress" />
@@ -2121,6 +2179,10 @@
<path name="incall-rec-uplink-and-downlink-compress" />
</path>
+ <path name="incall-rec-uplink-and-downlink-compress headset-mic">
+ <path name="incall-rec-uplink-and-downlink-compress" />
+ </path>
+
<path name="hfp-sco">
</path>
@@ -2383,6 +2445,10 @@
<ctl name="TX_DEC2 Volume" value="84" />
</path>
+ <path name="audio-record-voip headset-mic">
+ <ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="audio-record-voip usb-headset-mic">
<ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="1" />
</path>
@@ -2400,6 +2466,10 @@
<path name="audio-record-voip bt-sco" />
</path>
+ <path name="audio-record-voip headset-mic">
+ <ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="spkr-rx-calib">
<ctl name="RX_CDC_DMA_RX_1_DL_HL Switch" value="1" />
</path>
@@ -2410,35 +2480,36 @@
<!-- These are actual sound device specific mixer settings -->
<path name="amic2">
<ctl name="TX DEC0 MUX" value="SWR_MIC" />
- <ctl name="TX SMIC MUX0" value="ADC1" />
- <ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
- <ctl name="TX_AIF1_CAP Mixer DEC0" value="1" />
+ <ctl name="TX SMIC MUX0" value="SWR_MIC4" />
+ <ctl name="TX_CDC_DMA_TX_4 Channels" value="One" />
+ <ctl name="TX_AIF2_CAP Mixer DEC0" value="1" />
+ <ctl name="DEC0_BCS Switch" value="1" />
<ctl name="ADC2_MIXER Switch" value="1" />
<ctl name="ADC2 MUX" value="INP2" />
</path>
<path name="dmic1">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
- <ctl name="TX_AIF1_CAP Mixer DEC0" value="1" />
- <ctl name="TX DMIC MUX0" value="DMIC0" />
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
+ <ctl name="TX DMIC MUX2" value="DMIC0" />
</path>
<path name="dmic2">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
- <ctl name="TX_AIF1_CAP Mixer DEC0" value="1" />
- <ctl name="TX DMIC MUX0" value="DMIC1" />
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
+ <ctl name="TX DMIC MUX2" value="DMIC1" />
</path>
<path name="dmic3">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
- <ctl name="TX_AIF1_CAP Mixer DEC0" value="1" />
- <ctl name="TX DMIC MUX0" value="DMIC2" />
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
+ <ctl name="TX DMIC MUX2" value="DMIC2" />
</path>
<path name="dmic4">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
- <ctl name="TX_AIF1_CAP Mixer DEC0" value="1" />
- <ctl name="TX DMIC MUX0" value="DMIC3" />
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
+ <ctl name="TX DMIC MUX2" value="DMIC3" />
</path>
<path name="speaker">
@@ -2485,7 +2556,7 @@
<path name="sidetone-headphones">
<path name="sidetone-iir" />
<ctl name="IIR0 INP0 Volume" value="54" />
- <ctl name="IIR0 INP0 MUX" value="DEC0" />
+ <ctl name="IIR0 INP0 MUX" value="DEC2" />
<ctl name="RX INT0 MIX2 INP" value="SRC0" />
<ctl name="RX INT1 MIX2 INP" value="SRC0" />
</path>
@@ -2493,7 +2564,7 @@
<path name="sidetone-handset">
<path name="sidetone-iir" />
<ctl name="IIR0 INP0 Volume" value="54" />
- <ctl name="IIR0 INP0 MUX" value="DEC0" />
+ <ctl name="IIR0 INP0 MUX" value="DEC2" />
<ctl name="RX INT0 MIX2 INP" value="SRC0" />
</path>
@@ -2523,7 +2594,7 @@
</path>
<path name="handset-mic">
- <path name="dmic2" />
+ <path name="dmic3" />
</path>
<path name="headphones">
@@ -2546,6 +2617,10 @@
<path name="headphones" />
</path>
+ <path name="headphones-hifi-filter">
+ <path name="headphones" />
+ </path>
+
<path name="hph-highquality-mode">
<ctl name="RX_HPH_PWR_MODE" value="LOHIFI" />
<ctl name="RX HPH Mode" value="CLS_H_LOHIFI" />
@@ -2568,8 +2643,8 @@
</path>
<path name="headset-mic">
- <path name="amic2" />
<ctl name="TX_DEC0 Volume" value="84" />
+ <path name="amic2" />
</path>
<path name="headset-mic-liquid">
@@ -2643,6 +2718,11 @@
<path name="speaker" />
</path>
+ <path name="speaker-and-headphones-hifi-filter">
+ <path name="headphones" />
+ <path name="speaker" />
+ </path>
+
<path name="speaker-safe-and-headphones">
<path name="headphones" />
<path name="speaker-safe" />
@@ -2759,7 +2839,7 @@
<path name="dmic-endfire">
<path name="handset-dmic-endfire" />
- <ctl name="IIR0 INP0 MUX" value="DEC0" />
+ <ctl name="IIR0 INP0 MUX" value="DEC2" />
</path>
<path name="dmic-endfire-liquid">
@@ -2820,15 +2900,15 @@
</path>
<path name="speaker-dmic-broadside">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="Two" />
- <ctl name="TX_AIF1_CAP Mixer DEC0" value="1" />
- <ctl name="TX DMIC MUX0" value="DMIC0" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
- <ctl name="TX DMIC MUX1" value="DMIC1" />
+ <ctl name="TX DMIC MUX1" value="DMIC0" />
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
+ <ctl name="TX DMIC MUX2" value="DMIC1" />
</path>
<path name="dmic-broadside">
<path name="speaker-dmic-broadside" />
- <ctl name="IIR0 INP0 MUX" value="DEC0" />
+ <ctl name="IIR0 INP0 MUX" value="DEC2" />
</path>
<path name="voice-speaker-dmic-broadside">
@@ -2838,22 +2918,22 @@
<!-- Tri MIC devices -->
<path name="three-mic">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="Three" />
- <ctl name="TX_AIF1_CAP Mixer DEC0" value="1" />
- <ctl name="TX DMIC MUX0" value="DMIC3" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
- <ctl name="TX DMIC MUX1" value="DMIC0" />
+ <ctl name="TX DMIC MUX1" value="DMIC3" />
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
- <ctl name="TX DMIC MUX2" value="DMIC2" />
+ <ctl name="TX DMIC MUX2" value="DMIC0" />
+ <ctl name="TX_AIF1_CAP Mixer DEC3" value="1" />
+ <ctl name="TX DMIC MUX3" value="DMIC2" />
</path>
<path name="speaker-tmic">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="Three" />
- <ctl name="TX_AIF1_CAP Mixer DEC0" value="1" />
- <ctl name="TX DMIC MUX0" value="DMIC0" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
- <ctl name="TX DMIC MUX1" value="DMIC2" />
+ <ctl name="TX DMIC MUX1" value="DMIC0" />
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
- <ctl name="TX DMIC MUX2" value="DMIC3" />
+ <ctl name="TX DMIC MUX2" value="DMIC2" />
+ <ctl name="TX_AIF1_CAP Mixer DEC3" value="1" />
+ <ctl name="TX DMIC MUX3" value="DMIC3" />
</path>
<path name="voice-speaker-tmic">
@@ -2863,14 +2943,14 @@
<!-- Quad MIC devices -->
<path name="speaker-qmic">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="Four" />
- <ctl name="TX_AIF1_CAP Mixer DEC0" value="1" />
- <ctl name="TX DMIC MUX0" value="DMIC0" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
- <ctl name="TX DMIC MUX1" value="DMIC2" />
+ <ctl name="TX DMIC MUX1" value="DMIC0" />
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
- <ctl name="TX DMIC MUX2" value="DMIC3" />
+ <ctl name="TX DMIC MUX2" value="DMIC2" />
<ctl name="TX_AIF1_CAP Mixer DEC3" value="1" />
- <ctl name="TX DMIC MUX3" value="DMIC1" />
+ <ctl name="TX DMIC MUX3" value="DMIC3" />
+ <ctl name="TX_AIF1_CAP Mixer DEC4" value="1" />
+ <ctl name="TX DMIC MUX4" value="DMIC1" />
</path>
<path name="speaker-qmic-liquid">
@@ -2908,11 +2988,21 @@
<path name="tty-headphones" />
</path>
+ <path name="voice-tty-full-headset">
+ <ctl name="TTY Mode" value="FULL" />
+ <path name="tty-headphones" />
+ </path>
+
<path name="voice-tty-vco-headphones">
<ctl name="TTY Mode" value="VCO" />
<path name="tty-headphones" />
</path>
+ <path name="voice-tty-vco-headset">
+ <ctl name="TTY Mode" value="VCO" />
+ <path name="tty-headphones" />
+ </path>
+
<path name="voice-tty-hco-handset">
<ctl name="TTY Mode" value="HCO" />
<path name="handset" />
@@ -2931,7 +3021,12 @@
</path>
<path name="voice-tty-hco-headset-mic">
- <path name="voice-tty-full-headset-mic" />
+ <ctl name="TX DEC6 MUX" value="SWR_MIC" />
+ <ctl name="TX SMIC MUX6" value="SWR_MIC4" />
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
+ <ctl name="TX_AIF1_CAP Mixer DEC6" value="1" />
+ <ctl name="ADC2_MIXER Switch" value="1" />
+ <ctl name="ADC2 MUX" value="INP2" />
</path>
<path name="voice-tty-vco-handset-mic">
@@ -3185,6 +3280,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia16" value="1" />
</path>
+ <path name="mmap-playback headset">
+ <path name="mmap-playback headphones" />
+ </path>
+
<path name="mmap-playback speaker-and-headphones">
<path name="mmap-playback" />
<path name="mmap-playback headphones" />
@@ -3262,6 +3361,10 @@
<ctl name="MultiMedia16 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
+ <path name="mmap-record headset-mic">
+ <ctl name="MultiMedia16 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="mmap-record bt-sco">
<ctl name="MultiMedia16 Mixer SLIM_7_TX" value="1" />
</path>
@@ -3303,6 +3406,10 @@
<ctl name="MultiMedia2 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
+ <path name="hifi-record headset-mic">
+ <ctl name="MultiMedia2 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="hifi-record usb-headset-mic">
<ctl name="MultiMedia2 Mixer USB_AUDIO_TX" value="1" />
</path>
@@ -3371,6 +3478,10 @@
<path name="incall_music_uplink" />
</path>
+ <path name="incall_music_uplink headset">
+ <path name="incall_music_uplink" />
+ </path>
+
<path name="incall_music_uplink speaker-and-headphones">
<path name="incall_music_uplink" />
</path>
diff --git a/configs/bengal/mixer_paths_qrd.xml b/configs/bengal/mixer_paths_qrd.xml
index f5b92cc..2bcb8e9 100644
--- a/configs/bengal/mixer_paths_qrd.xml
+++ b/configs/bengal/mixer_paths_qrd.xml
@@ -2700,7 +2700,7 @@
<!-- These are actual sound device specific mixer settings -->
<path name="amic1">
<ctl name="TX DEC0 MUX" value="SWR_MIC" />
- <ctl name="TX SMIC MUX0" value="ADC0" />
+ <ctl name="TX SMIC MUX0" value="SWR_MIC0" />
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
<ctl name="TX_AIF1_CAP Mixer DEC0" value="1" />
<ctl name="ADC1_MIXER Switch" value="1" />
@@ -2708,7 +2708,7 @@
<path name="amic2">
<ctl name="TX DEC0 MUX" value="SWR_MIC" />
- <ctl name="TX SMIC MUX0" value="ADC1" />
+ <ctl name="TX SMIC MUX0" value="SWR_MIC4" />
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
<ctl name="TX_AIF1_CAP Mixer DEC0" value="1" />
<ctl name="ADC2_MIXER Switch" value="1" />
@@ -2718,7 +2718,7 @@
<path name="amic3">
<ctl name="TX DEC0 MUX" value="SWR_MIC" />
- <ctl name="TX SMIC MUX0" value="ADC2" />
+ <ctl name="TX SMIC MUX0" value="SWR_MIC4" />
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
<ctl name="TX_AIF1_CAP Mixer DEC0" value="1" />
<ctl name="ADC2_MIXER Switch" value="1" />
@@ -2749,7 +2749,7 @@
<ctl name="TX DMIC MUX0" value="DMIC3" />
</path>
- <path name="dmic5">
+ <path name="dmic5">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
<ctl name="TX_AIF1_CAP Mixer DEC0" value="1" />
<ctl name="TX DMIC MUX0" value="DMIC4" />
diff --git a/configs/bengal/mixer_paths_scubaidp.xml b/configs/bengal/mixer_paths_scubaidp.xml
index 7ffefea..acf1dd7 100644
--- a/configs/bengal/mixer_paths_scubaidp.xml
+++ b/configs/bengal/mixer_paths_scubaidp.xml
@@ -2611,6 +2611,8 @@
<ctl name="HPHR_COMP Switch" value="1" />
<ctl name="HPHL_RDAC Switch" value="1" />
<ctl name="HPHR_RDAC Switch" value="1" />
+ <ctl name="RX_RX0 Digital Volume" value="65" />
+ <ctl name="RX_RX1 Digital Volume" value="65" />
</path>
<path name="headphones-44.1">
@@ -2714,13 +2716,27 @@
</path>
<path name="speaker-and-headphones">
- <path name="headphones" />
- <path name="speaker" />
+ <ctl name="RX_MACRO RX0 MUX" value="AIF1_PB" />
+ <ctl name="RX_MACRO RX1 MUX" value="AIF1_PB" />
+ <ctl name="RX_CDC_DMA_RX_0 Channels" value="Two" />
+ <ctl name="RX INT0_1 MIX1 INP0" value="RX0" />
+ <ctl name="RX INT1_1 MIX1 INP0" value="RX1" />
+ <ctl name="RX INT0 DEM MUX" value="CLSH_DSM_OUT" />
+ <ctl name="RX INT1 DEM MUX" value="CLSH_DSM_OUT" />
+ <ctl name="RX_COMP1 Switch" value="1" />
+ <ctl name="RX_COMP2 Switch" value="1" />
+ <ctl name="HPHL_COMP Switch" value="1" />
+ <ctl name="HPHR_COMP Switch" value="1" />
+ <ctl name="HPHL_RDAC Switch" value="1" />
+ <ctl name="HPHR_RDAC Switch" value="1" />
+ <ctl name="LO_RDAC Switch" value="1" />
+ <ctl name="SpkrMono WSA_RDAC" value="Switch" />
+ <ctl name="RX_RX0 Digital Volume" value="65" />
+ <ctl name="RX_RX1 Digital Volume" value="65" />
</path>
<path name="speaker-and-headphones-hifi-filter">
- <path name="headphones" />
- <path name="speaker" />
+ <path name="speaker-and-headphones" />
</path>
<path name="speaker-safe-and-headphones">
@@ -2737,8 +2753,7 @@
</path>
<path name="speaker-and-headphones-liquid">
- <path name="headphones" />
- <path name="speaker" />
+ <path name="speaker-and-headphones" />
</path>
<path name="speaker-safe-and-headphones-liquid">
diff --git a/configs/bengal/mixer_paths_scubaqrd.xml b/configs/bengal/mixer_paths_scubaqrd.xml
index 6c983ce..fd681a6 100644
--- a/configs/bengal/mixer_paths_scubaqrd.xml
+++ b/configs/bengal/mixer_paths_scubaqrd.xml
@@ -2496,7 +2496,6 @@
<ctl name="RX INT0 DEM MUX" value="CLSH_DSM_OUT" />
<ctl name="LO_RDAC Switch" value="1" />
<ctl name="SpkrMono WSA_RDAC" value="Switch" />
- <ctl name="LO_RDAC Switch" value="1" />
</path>
<path name="speaker-mono">
@@ -2589,6 +2588,8 @@
<ctl name="HPHR_COMP Switch" value="1" />
<ctl name="HPHL_RDAC Switch" value="1" />
<ctl name="HPHR_RDAC Switch" value="1" />
+ <ctl name="RX_RX0 Digital Volume" value="65" />
+ <ctl name="RX_RX1 Digital Volume" value="65" />
</path>
<path name="headphones-44.1">
@@ -2694,13 +2695,27 @@
</path>
<path name="speaker-and-headphones">
- <path name="headphones" />
- <path name="speaker" />
+ <ctl name="RX_MACRO RX0 MUX" value="AIF1_PB" />
+ <ctl name="RX_MACRO RX1 MUX" value="AIF1_PB" />
+ <ctl name="RX_CDC_DMA_RX_0 Channels" value="Two" />
+ <ctl name="RX INT0_1 MIX1 INP0" value="RX0" />
+ <ctl name="RX INT1_1 MIX1 INP0" value="RX1" />
+ <ctl name="RX INT0 DEM MUX" value="CLSH_DSM_OUT" />
+ <ctl name="RX INT1 DEM MUX" value="CLSH_DSM_OUT" />
+ <ctl name="RX_COMP1 Switch" value="1" />
+ <ctl name="RX_COMP2 Switch" value="1" />
+ <ctl name="HPHL_COMP Switch" value="1" />
+ <ctl name="HPHR_COMP Switch" value="1" />
+ <ctl name="HPHL_RDAC Switch" value="1" />
+ <ctl name="HPHR_RDAC Switch" value="1" />
+ <ctl name="LO_RDAC Switch" value="1" />
+ <ctl name="SpkrMono WSA_RDAC" value="Switch" />
+ <ctl name="RX_RX0 Digital Volume" value="65" />
+ <ctl name="RX_RX1 Digital Volume" value="65" />
</path>
<path name="speaker-and-headphones-hifi-filter">
- <path name="headphones" />
- <path name="speaker" />
+ <path name="speaker-and-headphones" />
</path>
<path name="speaker-safe-and-headphones">
@@ -2717,8 +2732,7 @@
</path>
<path name="speaker-and-headphones-liquid">
- <path name="headphones" />
- <path name="speaker" />
+ <path name="speaker-and-headphones" />
</path>
<path name="speaker-safe-and-headphones-liquid">
diff --git a/configs/bengal/sound_trigger_mixer_paths.xml b/configs/bengal/sound_trigger_mixer_paths.xml
index 8f2c95a..4e86422 100644
--- a/configs/bengal/sound_trigger_mixer_paths.xml
+++ b/configs/bengal/sound_trigger_mixer_paths.xml
@@ -225,7 +225,7 @@
<path name="listen-ape-handset-mic">
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
<ctl name="VA DEC0 MUX" value="MSM_DMIC" />
- <ctl name="VA DMIC MUX0" value="DMIC4" />
+ <ctl name="VA DMIC MUX0" value="DMIC1" />
</path>
<path name="listen-ape-handset-mic-preproc">
@@ -238,7 +238,7 @@
<ctl name="VA_AIF1_CAP Mixer DEC1" value="1" />
<ctl name="VA DEC0 MUX" value="MSM_DMIC" />
<ctl name="VA DEC1 MUX" value="MSM_DMIC" />
- <ctl name="VA DMIC MUX0" value="DMIC4" />
+ <ctl name="VA DMIC MUX0" value="DMIC1" />
<ctl name="VA DMIC MUX1" value="DMIC0" />
</path>
diff --git a/configs/bengal/sound_trigger_platform_info.xml b/configs/bengal/sound_trigger_platform_info.xml
index 32ffb67..4850d2b 100644
--- a/configs/bengal/sound_trigger_platform_info.xml
+++ b/configs/bengal/sound_trigger_platform_info.xml
@@ -213,7 +213,7 @@
<param capture_device="HANDSET" />
<!-- adm_cfg_profile should match with the one defined under adm_config -->
<!-- Set it to NONE if LSM directly connects to AFE -->
- <param adm_cfg_profile="NONE" />
+ <param adm_cfg_profile="DEFAULT" />
<!-- fluence_type: "FLUENCE_MIC", "FLUENCE_DMIC", "FLUENCE_TMIC" -->
<!-- "FLUENCE_QMIC". Param value is valid when adm_cfg_profile -->
<!-- is FFECNS -->
@@ -229,7 +229,7 @@
</lsm_usecase>
<lsm_usecase>
<param capture_device="HEADSET" />
- <param adm_cfg_profile="NONE" />
+ <param adm_cfg_profile="DEFAULT" />
<param fluence_type="NONE" />
<param execution_mode="ADSP" />
<param app_type="4" /> <!-- app type for MD used in ACDB -->
@@ -263,7 +263,7 @@
<param capture_device="HANDSET" />
<!-- adm_cfg_profile should match with the one defined under adm_config -->
<!-- Set it to NONE if LSM directly connects to AFE -->
- <param adm_cfg_profile="NONE" />
+ <param adm_cfg_profile="DEFAULT" />
<!-- fluence_type: "FLUENCE_MIC", "FLUENCE_DMIC", "FLUENCE_TMIC" -->
<!-- "FLUENCE_QMIC". Param value is valid when adm_cfg_profile -->
<!-- is FFECNS -->
@@ -280,7 +280,7 @@
</lsm_usecase>
<lsm_usecase>
<param capture_device="HEADSET" />
- <param adm_cfg_profile="NONE" />
+ <param adm_cfg_profile="DEFAULT" />
<param fluence_type="NONE" />
<param execution_mode="ADSP" />
<param app_type="3" /> <!-- app type used in ACDB -->
@@ -315,7 +315,7 @@
<param capture_device="HANDSET" />
<!-- adm_cfg_profile should match with the one defined under adm_config -->
<!-- Set it to NONE if LSM directly connects to AFE -->
- <param adm_cfg_profile="NONE" />
+ <param adm_cfg_profile="DEFAULT" />
<!-- fluence_type: "FLUENCE_MIC", "FLUENCE_DMIC", "FLUENCE_TMIC" -->
<!-- "FLUENCE_QMIC". Param value is valid when adm_cfg_profile -->
<!-- is FFECNS -->
@@ -332,7 +332,7 @@
</lsm_usecase>
<lsm_usecase>
<param capture_device="HEADSET" />
- <param adm_cfg_profile="NONE" />
+ <param adm_cfg_profile="DEFAULT" />
<param fluence_type="NONE" />
<param execution_mode="ADSP" />
<param app_type="3" /> <!-- app type used in ACDB -->
@@ -362,4 +362,12 @@
<param bit_width="16" />
<param out_channels="3"/>
</adm_config>
+
+ <adm_config>
+ <param adm_cfg_profile="DEFAULT" />
+ <param app_type="69938" />
+ <param sample_rate="16000" />
+ <param bit_width="16" />
+ <param out_channels="1"/>
+ </adm_config>
</sound_trigger_platform_info>
diff --git a/configs/common_au/audio_policy_configuration.xml b/configs/common_au/audio_policy_configuration.xml
index 00eeb5a..2dc3b04 100644
--- a/configs/common_au/audio_policy_configuration.xml
+++ b/configs/common_au/audio_policy_configuration.xml
@@ -57,6 +57,7 @@
<item>Sys Notification Bus</item>
<item>Nav Guidance Bus</item>
<item>Phone Bus</item>
+ <item>Front Passenger Bus</item>
<item>Rear Seat Bus</item>
<item>Built-In Mic</item>
<item>Built-In Back Mic</item>
@@ -80,6 +81,10 @@
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
+ <mixPort name="front_passenger" role="source">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
<mixPort name="rear_seat" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
@@ -194,8 +199,17 @@
minValueMB="-6000" maxValueMB="600" defaultValueMB="0" stepValueMB="100"/>
</gains>
</devicePort>
+ <devicePort tagName="Front Passenger Bus" role="sink" type="AUDIO_DEVICE_OUT_BUS"
+ address="BUS08_FRONT_PASSENGER">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ <gains>
+ <gain name="" mode="AUDIO_GAIN_MODE_JOINT"
+ minValueMB="-6000" maxValueMB="600" defaultValueMB="0" stepValueMB="100"/>
+ </gains>
+ </devicePort>
<devicePort tagName="Rear Seat Bus" role="sink" type="AUDIO_DEVICE_OUT_BUS"
- address="BUS08_REAR_SEAT">
+ address="BUS16_REAR_SEAT">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
<gains>
@@ -250,6 +264,8 @@
sources="nav_guidance"/>
<route type="mix" sink="Phone Bus"
sources="phone"/>
+ <route type="mix" sink="Front Passenger Bus"
+ sources="front_passenger"/>
<route type="mix" sink="Rear Seat Bus"
sources="rear_seat"/>
<route type="mix" sink="Earpiece"
diff --git a/configs/common_au/car_audio_configuration.xml b/configs/common_au/car_audio_configuration.xml
index 0ca4c68..28060ac 100644
--- a/configs/common_au/car_audio_configuration.xml
+++ b/configs/common_au/car_audio_configuration.xml
@@ -28,9 +28,9 @@
- Volume groups
in the car environment.
-->
-<carAudioConfiguration version="1">
+<carAudioConfiguration version="2">
<zones>
- <zone name="primary zone" isPrimary="true">
+ <zone name="primary zone" isPrimary="true" occupantZoneId="0">
<volumeGroups>
<group>
<device address="BUS00_MEDIA">
@@ -42,6 +42,10 @@
<context context="alarm"/>
<context context="notification"/>
<context context="system_sound"/>
+ <context context="emergency"/>
+ <context context="safety"/>
+ <context context="vehicle_status"/>
+ <context context="announcement"/>
</device>
</group>
<group>
@@ -68,10 +72,10 @@
where port is the physical port of the display (See DisplayAddress.Phyisical)
-->
</zone>
- <zone name="rear seat zone">
+ <zone name="front passenger zone" audioZoneId="1">
<volumeGroups>
<group>
- <device address="BUS08_REAR_SEAT">
+ <device address="BUS08_FRONT_PASSENGER">
<context context="music"/>
<context context="navigation"/>
<context context="voice_command"/>
@@ -80,6 +84,10 @@
<context context="alarm"/>
<context context="notification"/>
<context context="system_sound"/>
+ <context context="emergency"/>
+ <context context="safety"/>
+ <context context="vehicle_status"/>
+ <context context="announcement"/>
</device>
</group>
</volumeGroups>
@@ -87,5 +95,28 @@
<display port="1"/>
</displays>
</zone>
+ <zone name="rear seat zone" audioZoneId="2">
+ <volumeGroups>
+ <group>
+ <device address="BUS16_REAR_SEAT">
+ <context context="music"/>
+ <context context="navigation"/>
+ <context context="voice_command"/>
+ <context context="call_ring"/>
+ <context context="call"/>
+ <context context="alarm"/>
+ <context context="notification"/>
+ <context context="system_sound"/>
+ <context context="emergency"/>
+ <context context="safety"/>
+ <context context="vehicle_status"/>
+ <context context="announcement"/>
+ </device>
+ </group>
+ </volumeGroups>
+ <displays>
+ <display port="2"/>
+ </displays>
+ </zone>
</zones>
</carAudioConfiguration>
diff --git a/configs/kona/kona.mk b/configs/kona/kona.mk
index 548ef3d..03dc953 100644
--- a/configs/kona/kona.mk
+++ b/configs/kona/kona.mk
@@ -453,10 +453,6 @@
PRODUCT_PACKAGES += \
android.hardware.soundtrigger@2.2-impl \
-# enable sound trigger hidl hal 2.3
-PRODUCT_PACKAGES += \
- android.hardware.soundtrigger@2.3-impl
-
PRODUCT_PACKAGES_ENG += \
VoicePrintTest \
VoicePrintDemo
diff --git a/configs/lahaina/audio_platform_info.xml b/configs/lahaina/audio_platform_info.xml
index 6eb6c85..2a9a986 100644
--- a/configs/lahaina/audio_platform_info.xml
+++ b/configs/lahaina/audio_platform_info.xml
@@ -46,6 +46,7 @@
<device name="SND_DEVICE_IN_USB_HEADSET_HEX_MIC_AEC" acdb_id="162"/>
<device name="SND_DEVICE_IN_UNPROCESSED_USB_HEADSET_HEX_MIC" acdb_id="162"/>
<device name="SND_DEVICE_IN_VOCE_RECOG_USB_HEADSET_HEX_MIC" acdb_id="162"/>
+ <device name="SND_DEVICE_IN_VOICE_HEARING_AID" acdb_id="11"/>
</acdb_ids>
<module_ids>
@@ -100,6 +101,7 @@
<usecase name="USECASE_AUDIO_SPKR_CALIB_TX" type="in" id="33"/>
<usecase name="USECASE_AUDIO_PLAYBACK_AFE_PROXY" type="out" id="5"/>
<usecase name="USECASE_AUDIO_RECORD_AFE_PROXY" type="in" id="6"/>
+ <usecase name="USECASE_AUDIO_RECORD_AFE_PROXY2" type="in" id="42"/>
<usecase name="USECASE_AUDIO_RECORD_LOW_LATENCY" type="in" id="13" />
<usecase name="USECASE_AUDIO_PLAYBACK_ULL" type="out" id="13" />
<usecase name="USECASE_AUDIO_PLAYBACK_SILENCE" type="out" id="23" />
@@ -246,6 +248,7 @@
<device name="SND_DEVICE_IN_SPEAKER_QMIC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_QMIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_THREE_MIC" interface="TX_CDC_DMA_TX_3"/>
+ <device name="SND_DEVICE_IN_VOICE_HEARING_AID" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC_FLUENCE_PRO" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC_AEC" interface="TX_CDC_DMA_TX_3"/>
diff --git a/configs/lahaina/audio_platform_info_intcodec.xml b/configs/lahaina/audio_platform_info_intcodec.xml
index 6cfe78f..3048232 100644
--- a/configs/lahaina/audio_platform_info_intcodec.xml
+++ b/configs/lahaina/audio_platform_info_intcodec.xml
@@ -82,6 +82,7 @@
<usecase name="USECASE_AUDIO_SPKR_CALIB_TX" type="in" id="33"/>
<usecase name="USECASE_AUDIO_PLAYBACK_AFE_PROXY" type="out" id="5"/>
<usecase name="USECASE_AUDIO_RECORD_AFE_PROXY" type="in" id="6"/>
+ <usecase name="USECASE_AUDIO_RECORD_AFE_PROXY2" type="in" id="42"/>
<usecase name="USECASE_AUDIO_RECORD_LOW_LATENCY" type="in" id="13" />
<usecase name="USECASE_AUDIO_PLAYBACK_ULL" type="out" id="13" />
<usecase name="USECASE_AUDIO_PLAYBACK_SILENCE" type="out" id="23" />
@@ -138,6 +139,7 @@
<device name="SND_DEVICE_IN_UNPROCESSED_QUAD_MIC" acdb_id="146"/>
<device name="SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC" acdb_id="147"/>
<device name="SND_DEVICE_IN_HANDSET_GENERIC_QMIC" acdb_id="191"/>
+ <device name="SND_DEVICE_IN_VOICE_HEARING_AID" acdb_id="11"/>
</acdb_ids>
<backend_names>
<device name="SND_DEVICE_OUT_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
@@ -268,6 +270,7 @@
<device name="SND_DEVICE_IN_SPEAKER_QMIC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_QMIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_THREE_MIC" interface="TX_CDC_DMA_TX_3"/>
+ <device name="SND_DEVICE_IN_VOICE_HEARING_AID" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC_FLUENCE_PRO" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC_AEC" interface="TX_CDC_DMA_TX_3"/>
diff --git a/configs/lahaina/audio_platform_info_qrd.xml b/configs/lahaina/audio_platform_info_qrd.xml
index 04c7314..77a72b2 100644
--- a/configs/lahaina/audio_platform_info_qrd.xml
+++ b/configs/lahaina/audio_platform_info_qrd.xml
@@ -82,6 +82,7 @@
<usecase name="USECASE_AUDIO_SPKR_CALIB_TX" type="in" id="33"/>
<usecase name="USECASE_AUDIO_PLAYBACK_AFE_PROXY" type="out" id="5"/>
<usecase name="USECASE_AUDIO_RECORD_AFE_PROXY" type="in" id="6"/>
+ <usecase name="USECASE_AUDIO_RECORD_AFE_PROXY2" type="in" id="42"/>
<usecase name="USECASE_AUDIO_RECORD_LOW_LATENCY" type="in" id="13" />
<usecase name="USECASE_AUDIO_PLAYBACK_ULL" type="out" id="13" />
<usecase name="USECASE_AUDIO_PLAYBACK_SILENCE" type="out" id="23" />
@@ -138,6 +139,7 @@
<device name="SND_DEVICE_IN_UNPROCESSED_QUAD_MIC" acdb_id="146"/>
<device name="SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC" acdb_id="147"/>
<device name="SND_DEVICE_IN_HANDSET_GENERIC_QMIC" acdb_id="191"/>
+ <device name="SND_DEVICE_IN_VOICE_HEARING_AID" acdb_id="11"/>
</acdb_ids>
<backend_names>
<device name="SND_DEVICE_OUT_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
@@ -268,6 +270,7 @@
<device name="SND_DEVICE_IN_SPEAKER_QMIC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_QMIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_THREE_MIC" interface="TX_CDC_DMA_TX_3"/>
+ <device name="SND_DEVICE_IN_VOICE_HEARING_AID" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC_FLUENCE_PRO" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC_AEC" interface="TX_CDC_DMA_TX_3"/>
diff --git a/configs/lahaina/audio_policy_configuration.xml b/configs/lahaina/audio_policy_configuration.xml
index a05909b..a5a5b6c 100644
--- a/configs/lahaina/audio_policy_configuration.xml
+++ b/configs/lahaina/audio_policy_configuration.xml
@@ -428,6 +428,9 @@
<!-- Remote Submix Audio HAL -->
<xi:include href="/vendor/etc/r_submix_audio_policy_configuration.xml"/>
+ <!-- Bluetooth Audio HAL for hearing aid -->
+ <xi:include href="/vendor/etc/bluetooth_qti_hearing_aid_audio_policy_configuration.xml"/>
+
</modules>
<!-- End of Modules section -->
diff --git a/configs/lahaina/lahaina.mk b/configs/lahaina/lahaina.mk
index 0471f38..a6504a8 100644
--- a/configs/lahaina/lahaina.mk
+++ b/configs/lahaina/lahaina.mk
@@ -144,7 +144,8 @@
$(TOPDIR)frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
$(TOPDIR)frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
$(TOPDIR)frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \
- $(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/bluetooth_qti_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_qti_audio_policy_configuration.xml
+ $(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/bluetooth_qti_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_qti_audio_policy_configuration.xml \
+ $(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/bluetooth_qti_hearing_aid_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_qti_hearing_aid_audio_policy_configuration.xml
# Reduce client buffer size for fast audio output tracks
PRODUCT_PROPERTY_OVERRIDES += \
@@ -352,6 +353,10 @@
PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.bt.aac_vbr_frm_ctl.enabled=true
+#enable dedicated proxy for hearing aid
+PRODUCT_PROPERTY_OVERRIDES += \
+persist.vendor.audio.ha_proxy.enabled=true
+
#add dynamic feature flags here
PRODUCT_PROPERTY_OVERRIDES += \
vendor.audio.feature.a2dp_offload.enable=true \
@@ -435,10 +440,6 @@
PRODUCT_PACKAGES += \
android.hardware.soundtrigger@2.2-impl \
-# enable sound trigger hidl hal 2.3
-PRODUCT_PACKAGES += \
- android.hardware.soundtrigger@2.3-impl
-
PRODUCT_PACKAGES_ENG += \
VoicePrintTest \
VoicePrintDemo
diff --git a/configs/lahaina/mixer_paths.xml b/configs/lahaina/mixer_paths.xml
index 0764078..eeabea6 100644
--- a/configs/lahaina/mixer_paths.xml
+++ b/configs/lahaina/mixer_paths.xml
@@ -210,6 +210,8 @@
<ctl name="VoiceMMode1_Tx Mixer USB_AUDIO_TX_MMode1" value="0" />
<!-- Multimode Voice1 Display-Port -->
<ctl name="DISPLAY_PORT_RX_Voice Mixer VoiceMMode1" value="0" />
+ <!-- Multimode Voice1 proxy-Port -->
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode1" value="0" />
<!-- Miltimode Voice1 end-->
<!-- Multimode Voice2 -->
@@ -227,6 +229,8 @@
<ctl name="VoiceMMode2_Tx Mixer USB_AUDIO_TX_MMode2" value="0" />
<!-- Multimode Voice2 Display-Port -->
<ctl name="DISPLAY_PORT_RX_Voice Mixer VoiceMMode2" value="0" />
+ <!-- Multimode Voice2 proxy-Port -->
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode2" value="0" />
<!-- Multimode Voice2 end-->
<!-- Voice external ec. reference -->
@@ -2060,6 +2064,11 @@
<ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="1" />
</path>
+ <path name="voicemmode1-call hearing-aid">
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode1" value="1" />
+ <ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="1" />
+ </path>
+
<path name="voicemmode1-call headphones">
<ctl name="RX_CDC_DMA_RX_0_Voice Mixer VoiceMMode1" value="1" />
<ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="1" />
@@ -2181,6 +2190,11 @@
<ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="1" />
</path>
+ <path name="voicemmode2-call hearing-aid">
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="1" />
+ </path>
+
<!-- VoIP Rx settings -->
<path name="audio-playback-voip">
<ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia10" value="1" />
@@ -2770,6 +2784,10 @@
<path name="dmic-endfire" />
</path>
+ <path name="hearing-aid-mic">
+ <path name="voice-speaker-mic"/>
+ </path>
+
<path name="handset-stereo-dmic-ef-liquid">
<path name="handset-dmic-endfire" />
</path>
diff --git a/configs/lahaina/mixer_paths_cdp.xml b/configs/lahaina/mixer_paths_cdp.xml
index 2986b7b..5f95018 100644
--- a/configs/lahaina/mixer_paths_cdp.xml
+++ b/configs/lahaina/mixer_paths_cdp.xml
@@ -195,6 +195,8 @@
<ctl name="VoiceMMode1_Tx Mixer USB_AUDIO_TX_MMode1" value="0" />
<!-- Multimode Voice1 Display-Port -->
<ctl name="DISPLAY_PORT_RX_Voice Mixer VoiceMMode1" value="0" />
+ <!-- Multimode Voice1 proxy-Port -->
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode1" value="0" />
<!-- Miltimode Voice1 end-->
<!-- Multimode Voice2 -->
@@ -212,6 +214,8 @@
<ctl name="VoiceMMode2_Tx Mixer USB_AUDIO_TX_MMode2" value="0" />
<!-- Multimode Voice2 Display-Port -->
<ctl name="DISPLAY_PORT_RX_Voice Mixer VoiceMMode2" value="0" />
+ <!-- Multimode Voice2 proxy-Port -->
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode2" value="0" />
<!-- Multimode Voice2 end-->
<!-- Voice external ec. reference -->
@@ -1933,6 +1937,11 @@
<ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="1" />
</path>
+ <path name="voicemmode1-call hearing-aid">
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode1" value="1" />
+ <ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="1" />
+ </path>
+
<path name="voicemmode1-call headphones">
<ctl name="RX_CDC_DMA_RX_0_Voice Mixer VoiceMMode1" value="1" />
<ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="1" />
@@ -2034,6 +2043,11 @@
<ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="1" />
</path>
+ <path name="voicemmode2-call hearing-aid">
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="1" />
+ </path>
+
<!-- VoIP Rx settings -->
<path name="audio-playback-voip">
<ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia10" value="1" />
@@ -2627,6 +2641,10 @@
<path name="dmic-endfire" />
</path>
+ <path name="hearing-aid-mic">
+ <path name="voice-speaker-mic"/>
+ </path>
+
<path name="handset-stereo-dmic-ef-liquid">
<path name="handset-dmic-endfire" />
</path>
diff --git a/configs/lahaina/mixer_paths_qrd.xml b/configs/lahaina/mixer_paths_qrd.xml
index 89afdf2..b6494a3 100644
--- a/configs/lahaina/mixer_paths_qrd.xml
+++ b/configs/lahaina/mixer_paths_qrd.xml
@@ -210,6 +210,8 @@
<ctl name="VoiceMMode1_Tx Mixer USB_AUDIO_TX_MMode1" value="0" />
<!-- Multimode Voice1 Display-Port -->
<ctl name="DISPLAY_PORT_RX_Voice Mixer VoiceMMode1" value="0" />
+ <!-- Multimode Voice1 proxy-Port -->
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode1" value="0" />
<!-- Miltimode Voice1 end-->
<!-- Multimode Voice2 -->
@@ -227,6 +229,8 @@
<ctl name="VoiceMMode2_Tx Mixer USB_AUDIO_TX_MMode2" value="0" />
<!-- Multimode Voice2 Display-Port -->
<ctl name="DISPLAY_PORT_RX_Voice Mixer VoiceMMode2" value="0" />
+ <!-- Multimode Voice2 proxy-Port -->
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode2" value="0" />
<!-- Multimode Voice2 end-->
<!-- Voice external ec. reference -->
@@ -2060,6 +2064,11 @@
<ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="1" />
</path>
+ <path name="voicemmode1-call hearing-aid">
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode1" value="1" />
+ <ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="1" />
+ </path>
+
<path name="voicemmode1-call headphones">
<ctl name="RX_CDC_DMA_RX_0_Voice Mixer VoiceMMode1" value="1" />
<ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="1" />
@@ -2181,6 +2190,11 @@
<ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="1" />
</path>
+ <path name="voicemmode2-call hearing-aid">
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="1" />
+ </path>
+
<!-- VoIP Rx settings -->
<path name="audio-playback-voip">
<ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia10" value="1" />
@@ -2778,6 +2792,10 @@
<path name="dmic-endfire" />
</path>
+ <path name="hearing-aid-mic">
+ <path name="voice-speaker-mic"/>
+ </path>
+
<path name="handset-stereo-dmic-ef-liquid">
<path name="handset-dmic-endfire" />
</path>
diff --git a/configs/lito/lito.mk b/configs/lito/lito.mk
index fcf0a96..ce6bf00 100644
--- a/configs/lito/lito.mk
+++ b/configs/lito/lito.mk
@@ -524,10 +524,6 @@
PRODUCT_PACKAGES += \
android.hardware.soundtrigger@2.2-impl \
-# enable sound trigger hidl hal 2.3
-PRODUCT_PACKAGES += \
- android.hardware.soundtrigger@2.3-impl
-
PRODUCT_PACKAGES_ENG += \
VoicePrintTest \
VoicePrintDemo
diff --git a/configs/lito/sound_trigger_platform_info.xml b/configs/lito/sound_trigger_platform_info.xml
index 32ffb67..4850d2b 100644
--- a/configs/lito/sound_trigger_platform_info.xml
+++ b/configs/lito/sound_trigger_platform_info.xml
@@ -213,7 +213,7 @@
<param capture_device="HANDSET" />
<!-- adm_cfg_profile should match with the one defined under adm_config -->
<!-- Set it to NONE if LSM directly connects to AFE -->
- <param adm_cfg_profile="NONE" />
+ <param adm_cfg_profile="DEFAULT" />
<!-- fluence_type: "FLUENCE_MIC", "FLUENCE_DMIC", "FLUENCE_TMIC" -->
<!-- "FLUENCE_QMIC". Param value is valid when adm_cfg_profile -->
<!-- is FFECNS -->
@@ -229,7 +229,7 @@
</lsm_usecase>
<lsm_usecase>
<param capture_device="HEADSET" />
- <param adm_cfg_profile="NONE" />
+ <param adm_cfg_profile="DEFAULT" />
<param fluence_type="NONE" />
<param execution_mode="ADSP" />
<param app_type="4" /> <!-- app type for MD used in ACDB -->
@@ -263,7 +263,7 @@
<param capture_device="HANDSET" />
<!-- adm_cfg_profile should match with the one defined under adm_config -->
<!-- Set it to NONE if LSM directly connects to AFE -->
- <param adm_cfg_profile="NONE" />
+ <param adm_cfg_profile="DEFAULT" />
<!-- fluence_type: "FLUENCE_MIC", "FLUENCE_DMIC", "FLUENCE_TMIC" -->
<!-- "FLUENCE_QMIC". Param value is valid when adm_cfg_profile -->
<!-- is FFECNS -->
@@ -280,7 +280,7 @@
</lsm_usecase>
<lsm_usecase>
<param capture_device="HEADSET" />
- <param adm_cfg_profile="NONE" />
+ <param adm_cfg_profile="DEFAULT" />
<param fluence_type="NONE" />
<param execution_mode="ADSP" />
<param app_type="3" /> <!-- app type used in ACDB -->
@@ -315,7 +315,7 @@
<param capture_device="HANDSET" />
<!-- adm_cfg_profile should match with the one defined under adm_config -->
<!-- Set it to NONE if LSM directly connects to AFE -->
- <param adm_cfg_profile="NONE" />
+ <param adm_cfg_profile="DEFAULT" />
<!-- fluence_type: "FLUENCE_MIC", "FLUENCE_DMIC", "FLUENCE_TMIC" -->
<!-- "FLUENCE_QMIC". Param value is valid when adm_cfg_profile -->
<!-- is FFECNS -->
@@ -332,7 +332,7 @@
</lsm_usecase>
<lsm_usecase>
<param capture_device="HEADSET" />
- <param adm_cfg_profile="NONE" />
+ <param adm_cfg_profile="DEFAULT" />
<param fluence_type="NONE" />
<param execution_mode="ADSP" />
<param app_type="3" /> <!-- app type used in ACDB -->
@@ -362,4 +362,12 @@
<param bit_width="16" />
<param out_channels="3"/>
</adm_config>
+
+ <adm_config>
+ <param adm_cfg_profile="DEFAULT" />
+ <param app_type="69938" />
+ <param sample_rate="16000" />
+ <param bit_width="16" />
+ <param out_channels="1"/>
+ </adm_config>
</sound_trigger_platform_info>
diff --git a/configs/msmnile_au/audio_io_policy.conf b/configs/msmnile_au/audio_io_policy.conf
index 3cb1b74..ee4e6aa 100644
--- a/configs/msmnile_au/audio_io_policy.conf
+++ b/configs/msmnile_au/audio_io_policy.conf
@@ -102,6 +102,13 @@
bit_width 16
app_type 69936
}
+ front_passenger {
+ flags AUDIO_OUTPUT_FLAG_FRONT_PASSENGER
+ formats AUDIO_FORMAT_PCM_16_BIT
+ sampling_rates 48000
+ bit_width 16
+ app_type 69936
+ }
rear_seat {
flags AUDIO_OUTPUT_FLAG_REAR_SEAT
formats AUDIO_FORMAT_PCM_16_BIT
diff --git a/configs/msmnile_au/audio_platform_info.xml b/configs/msmnile_au/audio_platform_info.xml
index f39a804..d642138 100644
--- a/configs/msmnile_au/audio_platform_info.xml
+++ b/configs/msmnile_au/audio_platform_info.xml
@@ -34,6 +34,7 @@
<device name="SND_DEVICE_OUT_BUS_SYS" acdb_id="60"/>
<device name="SND_DEVICE_OUT_BUS_NAV" acdb_id="14"/>
<device name="SND_DEVICE_OUT_BUS_PHN" acdb_id="94"/>
+ <device name="SND_DEVICE_OUT_BUS_PAX" acdb_id="60"/>
<device name="SND_DEVICE_OUT_BUS_RSE" acdb_id="60"/>
<device name="SND_DEVICE_OUT_BT_SCO" acdb_id="21"/>
<device name="SND_DEVICE_OUT_BT_SCO_WB" acdb_id="39"/>
@@ -100,6 +101,7 @@
<usecase name="USECASE_AUDIO_PLAYBACK_SYS_NOTIFICATION" type="out" id="9"/>
<usecase name="USECASE_AUDIO_PLAYBACK_NAV_GUIDANCE" type="out" id="1"/>
<usecase name="USECASE_AUDIO_PLAYBACK_PHONE" type="out" id="12"/>
+ <usecase name="USECASE_AUDIO_PLAYBACK_FRONT_PASSENGER" type="out" id="55"/>
<usecase name="USECASE_AUDIO_PLAYBACK_REAR_SEAT" type="out" id="54"/>
<usecase name="USECASE_VOICEMMODE1_CALL" type="in" id="2"/>
<usecase name="USECASE_VOICEMMODE1_CALL" type="out" id="2"/>
@@ -166,7 +168,8 @@
<device name="SND_DEVICE_OUT_BUS_SYS" interface="TERT_TDM_RX_0"/>
<device name="SND_DEVICE_OUT_BUS_NAV" interface="TERT_TDM_RX_1"/>
<device name="SND_DEVICE_OUT_BUS_PHN" interface="TERT_TDM_RX_2"/>
- <device name="SND_DEVICE_OUT_BUS_RSE" interface="QUAT_TDM_RX_0"/>
+ <device name="SND_DEVICE_OUT_BUS_PAX" interface="QUAT_TDM_RX_0"/>
+ <device name="SND_DEVICE_OUT_BUS_RSE" interface="QUIN_TDM_RX_0"/>
<device name="SND_DEVICE_IN_HANDSET_MIC" interface="TERT_TDM_TX_0"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC" interface="TERT_TDM_TX_0"/>
<device name="SND_DEVICE_IN_HEADSET_MIC" interface="TERT_TDM_TX_0"/>
diff --git a/configs/msmnile_au/audio_policy_configuration.xml b/configs/msmnile_au/audio_policy_configuration.xml
index 70742b4..852d4d0 100644
--- a/configs/msmnile_au/audio_policy_configuration.xml
+++ b/configs/msmnile_au/audio_policy_configuration.xml
@@ -57,6 +57,7 @@
<item>Sys Notification Bus</item>
<item>Nav Guidance Bus</item>
<item>Phone Bus</item>
+ <item>Front Passenger Bus</item>
<item>Rear Seat Bus</item>
<item>Built-In Mic</item>
<item>Built-In Back Mic</item>
@@ -81,6 +82,10 @@
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
+ <mixPort name="front_passenger" role="source">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
<mixPort name="rear_seat" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
@@ -266,8 +271,17 @@
minValueMB="-6000" maxValueMB="600" defaultValueMB="0" stepValueMB="100"/>
</gains>
</devicePort>
+ <devicePort tagName="Front Passenger Bus" role="sink" type="AUDIO_DEVICE_OUT_BUS"
+ address="BUS08_FRONT_PASSENGER">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ <gains>
+ <gain name="" mode="AUDIO_GAIN_MODE_JOINT"
+ minValueMB="-6000" maxValueMB="600" defaultValueMB="0" stepValueMB="100"/>
+ </gains>
+ </devicePort>
<devicePort tagName="Rear Seat Bus" role="sink" type="AUDIO_DEVICE_OUT_BUS"
- address="BUS08_REAR_SEAT">
+ address="BUS16_REAR_SEAT">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
<gains>
@@ -384,6 +398,8 @@
sources="nav_guidance"/>
<route type="mix" sink="Phone Bus"
sources="phone"/>
+ <route type="mix" sink="Front Passenger Bus"
+ sources="front_passenger"/>
<route type="mix" sink="Rear Seat Bus"
sources="rear_seat"/>
<route type="mix" sink="Earpiece"
diff --git a/configs/msmnile_au/mixer_paths_adp.xml b/configs/msmnile_au/mixer_paths_adp.xml
index 29ef078..fbdc7be 100644
--- a/configs/msmnile_au/mixer_paths_adp.xml
+++ b/configs/msmnile_au/mixer_paths_adp.xml
@@ -1329,9 +1329,14 @@
<ctl name="TERT_TDM_RX_2 Audio Mixer MultiMedia10" value="1" />
</path>
+ <path name="front-passenger-playback">
+ <ctl name="QUAT_TDM_RX_0 Channels" value="Eight" />
+ <ctl name="QUAT_TDM_RX_0 Audio Mixer MultiMedia23" value="1" />
+ </path>
+
<path name="rear-seat-playback">
- <ctl name="QUAT_TDM_RX_0 Channels" value="Six" />
- <ctl name="QUAT_TDM_RX_0 Audio Mixer MultiMedia22" value="1" />
+ <ctl name="QUIN_TDM_RX_0 Channels" value="Sixteen" />
+ <ctl name="QUIN_TDM_RX_0 Audio Mixer MultiMedia22" value="1" />
</path>
<path name="audio-record">
diff --git a/configs/msmnile_au/mixer_paths_custom.xml b/configs/msmnile_au/mixer_paths_custom.xml
index cb02df6..c9b8eba 100644
--- a/configs/msmnile_au/mixer_paths_custom.xml
+++ b/configs/msmnile_au/mixer_paths_custom.xml
@@ -1315,9 +1315,14 @@
<ctl name="TERT_TDM_RX_2 Audio Mixer MultiMedia10" value="1" />
</path>
+ <path name="front-passenger-playback">
+ <ctl name="QUAT_TDM_RX_0 Channels" value="Eight" />
+ <ctl name="QUAT_TDM_RX_0 Audio Mixer MultiMedia23" value="1" />
+ </path>
+
<path name="rear-seat-playback">
- <ctl name="QUAT_TDM_RX_0 Channels" value="Six" />
- <ctl name="QUAT_TDM_RX_0 Audio Mixer MultiMedia22" value="1" />
+ <ctl name="QUIN_TDM_RX_0 Channels" value="Sixteen" />
+ <ctl name="QUIN_TDM_RX_0 Audio Mixer MultiMedia22" value="1" />
</path>
<path name="audio-record">
diff --git a/configs/msmsteppe_au/audio_io_policy.conf b/configs/msmsteppe_au/audio_io_policy.conf
index b1eebef..502b632 100644
--- a/configs/msmsteppe_au/audio_io_policy.conf
+++ b/configs/msmsteppe_au/audio_io_policy.conf
@@ -102,6 +102,13 @@
bit_width 16
app_type 69936
}
+ front_passenger {
+ flags AUDIO_OUTPUT_FLAG_FRONT_PASSENGER
+ formats AUDIO_FORMAT_PCM_16_BIT
+ sampling_rates 48000
+ bit_width 16
+ app_type 69936
+ }
rear_seat {
flags AUDIO_OUTPUT_FLAG_REAR_SEAT
formats AUDIO_FORMAT_PCM_16_BIT
diff --git a/configs/msmsteppe_au/audio_platform_info.xml b/configs/msmsteppe_au/audio_platform_info.xml
index f39a804..c46f47e 100644
--- a/configs/msmsteppe_au/audio_platform_info.xml
+++ b/configs/msmsteppe_au/audio_platform_info.xml
@@ -34,6 +34,7 @@
<device name="SND_DEVICE_OUT_BUS_SYS" acdb_id="60"/>
<device name="SND_DEVICE_OUT_BUS_NAV" acdb_id="14"/>
<device name="SND_DEVICE_OUT_BUS_PHN" acdb_id="94"/>
+ <device name="SND_DEVICE_OUT_BUS_PAX" acdb_id="60"/>
<device name="SND_DEVICE_OUT_BUS_RSE" acdb_id="60"/>
<device name="SND_DEVICE_OUT_BT_SCO" acdb_id="21"/>
<device name="SND_DEVICE_OUT_BT_SCO_WB" acdb_id="39"/>
@@ -100,6 +101,7 @@
<usecase name="USECASE_AUDIO_PLAYBACK_SYS_NOTIFICATION" type="out" id="9"/>
<usecase name="USECASE_AUDIO_PLAYBACK_NAV_GUIDANCE" type="out" id="1"/>
<usecase name="USECASE_AUDIO_PLAYBACK_PHONE" type="out" id="12"/>
+ <usecase name="USECASE_AUDIO_PLAYBACK_FRONT_PASSENGER" type="out" id="55"/>
<usecase name="USECASE_AUDIO_PLAYBACK_REAR_SEAT" type="out" id="54"/>
<usecase name="USECASE_VOICEMMODE1_CALL" type="in" id="2"/>
<usecase name="USECASE_VOICEMMODE1_CALL" type="out" id="2"/>
@@ -166,7 +168,8 @@
<device name="SND_DEVICE_OUT_BUS_SYS" interface="TERT_TDM_RX_0"/>
<device name="SND_DEVICE_OUT_BUS_NAV" interface="TERT_TDM_RX_1"/>
<device name="SND_DEVICE_OUT_BUS_PHN" interface="TERT_TDM_RX_2"/>
- <device name="SND_DEVICE_OUT_BUS_RSE" interface="QUAT_TDM_RX_0"/>
+ <device name="SND_DEVICE_OUT_BUS_PAX" interface="QUAT_TDM_RX_0"/>
+ <device name="SND_DEVICE_OUT_BUS_RSE" interface="QUAT_TDM_RX_1"/>
<device name="SND_DEVICE_IN_HANDSET_MIC" interface="TERT_TDM_TX_0"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC" interface="TERT_TDM_TX_0"/>
<device name="SND_DEVICE_IN_HEADSET_MIC" interface="TERT_TDM_TX_0"/>
diff --git a/configs/msmsteppe_au/audio_policy_configuration.xml b/configs/msmsteppe_au/audio_policy_configuration.xml
index 58c8e4b..d575c61 100644
--- a/configs/msmsteppe_au/audio_policy_configuration.xml
+++ b/configs/msmsteppe_au/audio_policy_configuration.xml
@@ -57,6 +57,7 @@
<item>Sys Notification Bus</item>
<item>Nav Guidance Bus</item>
<item>Phone Bus</item>
+ <item>Front Passenger Bus</item>
<item>Rear Seat Bus</item>
<item>Built-In Mic</item>
<item>Built-In Back Mic</item>
@@ -81,6 +82,10 @@
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
+ <mixPort name="front_passenger" role="source">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
<mixPort name="rear_seat" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
@@ -266,8 +271,17 @@
minValueMB="-6000" maxValueMB="600" defaultValueMB="0" stepValueMB="100"/>
</gains>
</devicePort>
+ <devicePort tagName="Front Passenger Bus" role="sink" type="AUDIO_DEVICE_OUT_BUS"
+ address="BUS08_FRONT_PASSENGER">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ <gains>
+ <gain name="" mode="AUDIO_GAIN_MODE_JOINT"
+ minValueMB="-6000" maxValueMB="600" defaultValueMB="0" stepValueMB="100"/>
+ </gains>
+ </devicePort>
<devicePort tagName="Rear Seat Bus" role="sink" type="AUDIO_DEVICE_OUT_BUS"
- address="BUS08_REAR_SEAT">
+ address="BUS16_REAR_SEAT">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
<gains>
@@ -384,6 +398,8 @@
sources="nav_guidance"/>
<route type="mix" sink="Phone Bus"
sources="phone"/>
+ <route type="mix" sink="Front Passenger Bus"
+ sources="front_passenger"/>
<route type="mix" sink="Rear Seat Bus"
sources="rear_seat"/>
<route type="mix" sink="Earpiece"
diff --git a/configs/msmsteppe_au/mixer_paths_adp.xml b/configs/msmsteppe_au/mixer_paths_adp.xml
index 8b15730..2e06f21 100644
--- a/configs/msmsteppe_au/mixer_paths_adp.xml
+++ b/configs/msmsteppe_au/mixer_paths_adp.xml
@@ -1165,9 +1165,14 @@
<ctl name="TERT_TDM_RX_2 Audio Mixer MultiMedia10" value="1" />
</path>
+ <path name="front-passenger-playback">
+ <ctl name="QUAT_TDM_RX_0 Channels" value="Eight" />
+ <ctl name="QUAT_TDM_RX_0 Audio Mixer MultiMedia23" value="1" />
+ </path>
+
<path name="rear-seat-playback">
- <ctl name="QUAT_TDM_RX_0 Channels" value="Six" />
- <ctl name="QUAT_TDM_RX_0 Audio Mixer MultiMedia22" value="1" />
+ <ctl name="QUAT_TDM_RX_1 Channels" value="Eight" />
+ <ctl name="QUAT_TDM_RX_1 Audio Mixer MultiMedia22" value="1" />
</path>
<path name="audio-record">
diff --git a/configs/msmsteppe_au/mixer_paths_custom.xml b/configs/msmsteppe_au/mixer_paths_custom.xml
index fdfb282..848b62e 100644
--- a/configs/msmsteppe_au/mixer_paths_custom.xml
+++ b/configs/msmsteppe_au/mixer_paths_custom.xml
@@ -1152,9 +1152,14 @@
<ctl name="TERT_TDM_RX_2 Audio Mixer MultiMedia10" value="1" />
</path>
+ <path name="front-passenger-playback">
+ <ctl name="QUAT_TDM_RX_0 Channels" value="Eight" />
+ <ctl name="QUAT_TDM_RX_0 Audio Mixer MultiMedia23" value="1" />
+ </path>
+
<path name="rear-seat-playback">
- <ctl name="QUAT_TDM_RX_0 Channels" value="Six" />
- <ctl name="QUAT_TDM_RX_0 Audio Mixer MultiMedia22" value="1" />
+ <ctl name="QUAT_TDM_RX_1 Channels" value="Eight" />
+ <ctl name="QUAT_TDM_RX_1 Audio Mixer MultiMedia22" value="1" />
</path>
<path name="audio-record">
diff --git a/hal/audio_extn/audio_extn.h b/hal/audio_extn/audio_extn.h
index c01954d..ef6fe47 100644
--- a/hal/audio_extn/audio_extn.h
+++ b/hal/audio_extn/audio_extn.h
@@ -1315,8 +1315,11 @@
#ifndef AUDIO_OUTPUT_FLAG_PHONE
#define AUDIO_OUTPUT_FLAG_PHONE 0x800000
#endif
+#ifndef AUDIO_OUTPUT_FLAG_FRONT_PASSENGER
+#define AUDIO_OUTPUT_FLAG_FRONT_PASSENGER 0x1000000
+#endif
#ifndef AUDIO_OUTPUT_FLAG_REAR_SEAT
-#define AUDIO_OUTPUT_FLAG_REAR_SEAT 0x1000000
+#define AUDIO_OUTPUT_FLAG_REAR_SEAT 0x2000000
#endif
int audio_extn_auto_hal_init(struct audio_device *adev);
void audio_extn_auto_hal_deinit(void);
diff --git a/hal/audio_extn/auto_hal.c b/hal/audio_extn/auto_hal.c
index 3802199..3ed76f3 100644
--- a/hal/audio_extn/auto_hal.c
+++ b/hal/audio_extn/auto_hal.c
@@ -360,6 +360,12 @@
out->flags |= AUDIO_OUTPUT_FLAG_PHONE;
out->volume_l = out->volume_r = MAX_VOLUME_GAIN;
break;
+ case CAR_AUDIO_STREAM_FRONT_PASSENGER:
+ out->usecase = USECASE_AUDIO_PLAYBACK_FRONT_PASSENGER;
+ out->config = pcm_config_system;
+ if (out->flags == AUDIO_OUTPUT_FLAG_NONE)
+ out->flags |= AUDIO_OUTPUT_FLAG_FRONT_PASSENGER;
+ break;
case CAR_AUDIO_STREAM_REAR_SEAT:
out->usecase = USECASE_AUDIO_PLAYBACK_REAR_SEAT;
out->config = pcm_config_media;
@@ -412,6 +418,9 @@
case CAR_AUDIO_STREAM_PHONE:
snd_device = SND_DEVICE_OUT_BUS_PHN;
break;
+ case CAR_AUDIO_STREAM_FRONT_PASSENGER:
+ snd_device = SND_DEVICE_OUT_BUS_PAX;
+ break;
case CAR_AUDIO_STREAM_REAR_SEAT:
snd_device = SND_DEVICE_OUT_BUS_RSE;
break;
@@ -811,6 +820,9 @@
case USECASE_AUDIO_PLAYBACK_PHONE:
snd_device = SND_DEVICE_OUT_BUS_PHN;
break;
+ case USECASE_AUDIO_PLAYBACK_FRONT_PASSENGER:
+ snd_device = SND_DEVICE_OUT_BUS_PAX;
+ break;
case USECASE_AUDIO_PLAYBACK_REAR_SEAT:
snd_device = SND_DEVICE_OUT_BUS_RSE;
break;
diff --git a/hal/audio_extn/auto_hal.h b/hal/audio_extn/auto_hal.h
index 8941703..15a65d2 100644
--- a/hal/audio_extn/auto_hal.h
+++ b/hal/audio_extn/auto_hal.h
@@ -64,5 +64,6 @@
USECASE_AUDIO_PLAYBACK_SYS_NOTIFICATION,
USECASE_AUDIO_PLAYBACK_NAV_GUIDANCE,
USECASE_AUDIO_PLAYBACK_PHONE,
+ USECASE_AUDIO_PLAYBACK_FRONT_PASSENGER,
USECASE_AUDIO_PLAYBACK_REAR_SEAT,
};
diff --git a/hal/audio_extn/utils.c b/hal/audio_extn/utils.c
index bb33885..a888a07 100644
--- a/hal/audio_extn/utils.c
+++ b/hal/audio_extn/utils.c
@@ -155,6 +155,7 @@
STRING_TO_ENUM(AUDIO_OUTPUT_FLAG_SYS_NOTIFICATION),
STRING_TO_ENUM(AUDIO_OUTPUT_FLAG_NAV_GUIDANCE),
STRING_TO_ENUM(AUDIO_OUTPUT_FLAG_PHONE),
+ STRING_TO_ENUM(AUDIO_OUTPUT_FLAG_FRONT_PASSENGER),
STRING_TO_ENUM(AUDIO_OUTPUT_FLAG_REAR_SEAT),
STRING_TO_ENUM(AUDIO_INPUT_FLAG_NONE),
STRING_TO_ENUM(AUDIO_INPUT_FLAG_FAST),
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index 8fc8770..7e08c5c 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -384,6 +384,7 @@
[USECASE_AUDIO_PLAYBACK_AFE_PROXY] = "afe-proxy-playback",
[USECASE_AUDIO_RECORD_AFE_PROXY] = "afe-proxy-record",
+ [USECASE_AUDIO_RECORD_AFE_PROXY2] = "afe-proxy-record2",
[USECASE_AUDIO_PLAYBACK_SILENCE] = "silence-playback",
/* Transcode loopback cases */
@@ -410,6 +411,7 @@
[USECASE_AUDIO_PLAYBACK_SYS_NOTIFICATION] = "sys-notification-playback",
[USECASE_AUDIO_PLAYBACK_NAV_GUIDANCE] = "nav-guidance-playback",
[USECASE_AUDIO_PLAYBACK_PHONE] = "phone-playback",
+ [USECASE_AUDIO_PLAYBACK_FRONT_PASSENGER] = "front-passenger-playback",
[USECASE_AUDIO_PLAYBACK_REAR_SEAT] = "rear-seat-playback",
[USECASE_AUDIO_FM_TUNER_EXT] = "fm-tuner-ext",
};
@@ -881,6 +883,7 @@
static inline bool is_mmap_usecase(audio_usecase_t uc_id)
{
return (uc_id == USECASE_AUDIO_RECORD_AFE_PROXY) ||
+ (uc_id == USECASE_AUDIO_RECORD_AFE_PROXY2) ||
(uc_id == USECASE_AUDIO_PLAYBACK_AFE_PROXY);
}
@@ -2727,7 +2730,10 @@
usecase->stream.in->enable_ec_port = false;
- if (usecase->id == USECASE_AUDIO_RECORD_AFE_PROXY) {
+ bool is_ha_usecase = adev->ha_proxy_enable ?
+ usecase->id == USECASE_AUDIO_RECORD_AFE_PROXY2 :
+ usecase->id == USECASE_AUDIO_RECORD_AFE_PROXY;
+ if (is_ha_usecase) {
reassign_device_list(&out_devices, AUDIO_DEVICE_OUT_TELEPHONY_TX, "");
} else if (voip_usecase) {
assign_devices(&out_devices, &voip_usecase->stream.out->device_list);
@@ -3141,7 +3147,8 @@
unsigned int flags = PCM_IN | PCM_MONOTONIC;
unsigned int pcm_open_retry_count = 0;
- if (in->usecase == USECASE_AUDIO_RECORD_AFE_PROXY) {
+ if ((in->usecase == USECASE_AUDIO_RECORD_AFE_PROXY) ||
+ (in->usecase == USECASE_AUDIO_RECORD_AFE_PROXY2)) {
flags |= PCM_MMAP | PCM_NOIRQ;
pcm_open_retry_count = PROXY_OPEN_RETRY_COUNT;
} else if (in->realtime) {
@@ -7041,7 +7048,8 @@
*/
if ((ret == 0 && voice_get_mic_mute(adev) &&
!voice_is_in_call_rec_stream(in) &&
- in->usecase != USECASE_AUDIO_RECORD_AFE_PROXY) ||
+ (in->usecase != USECASE_AUDIO_RECORD_AFE_PROXY &&
+ in->usecase != USECASE_AUDIO_RECORD_AFE_PROXY2)) ||
(adev->num_va_sessions &&
in->source != AUDIO_SOURCE_VOICE_RECOGNITION &&
property_get_bool("persist.vendor.audio.va_concurrency_mute_enabled",
@@ -7519,6 +7527,7 @@
struct stream_in *in = (struct stream_in *)stream;
struct audio_device *adev = in->dev;
struct listnode devices;
+ bool is_ha_usecase = false;
list_init(&devices);
@@ -7529,8 +7538,10 @@
pthread_mutex_lock(&adev->lock);
ALOGV("%s: in->usecase: %d, device: %x", __func__, in->usecase, get_device_types(&devices));
- if (in->usecase == USECASE_AUDIO_RECORD_AFE_PROXY
- && !list_empty(&devices)
+ is_ha_usecase = adev->ha_proxy_enable ?
+ in->usecase == USECASE_AUDIO_RECORD_AFE_PROXY2 :
+ in->usecase == USECASE_AUDIO_RECORD_AFE_PROXY;
+ if (is_ha_usecase && !list_empty(&devices)
&& adev->voice_tx_output != NULL) {
/* Use the rx device from afe-proxy record to route voice call because
there is no routing if tx device is on primary hal and rx device
@@ -9367,6 +9378,10 @@
}
in->usecase = USECASE_AUDIO_RECORD_AFE_PROXY;
+ if (adev->ha_proxy_enable &&
+ is_single_device_type_equal(&in->device_list,
+ AUDIO_DEVICE_IN_TELEPHONY_RX))
+ in->usecase = USECASE_AUDIO_RECORD_AFE_PROXY2;
in->config = pcm_config_afe_proxy_record;
in->config.rate = config->sample_rate;
in->af_period_multiplier = 1;
@@ -10560,6 +10575,7 @@
audio_extn_qdsp_init(adev->platform);
adev->multi_offload_enable = property_get_bool("vendor.audio.offload.multiple.enabled", false);
+ adev->ha_proxy_enable = property_get_bool("persist.vendor.audio.ha_proxy.enabled", false);
pthread_mutex_unlock(&adev_init_lock);
if (adev->adm_init)
diff --git a/hal/audio_hw.h b/hal/audio_hw.h
index 5e3c1cb..7b075e5 100644
--- a/hal/audio_hw.h
+++ b/hal/audio_hw.h
@@ -215,6 +215,7 @@
USECASE_AUDIO_PLAYBACK_AFE_PROXY,
USECASE_AUDIO_RECORD_AFE_PROXY,
+ USECASE_AUDIO_RECORD_AFE_PROXY2,
USECASE_AUDIO_DSM_FEEDBACK,
USECASE_AUDIO_PLAYBACK_SILENCE,
@@ -240,6 +241,7 @@
USECASE_AUDIO_PLAYBACK_SYS_NOTIFICATION,
USECASE_AUDIO_PLAYBACK_NAV_GUIDANCE,
USECASE_AUDIO_PLAYBACK_PHONE,
+ USECASE_AUDIO_PLAYBACK_FRONT_PASSENGER,
USECASE_AUDIO_PLAYBACK_REAR_SEAT,
/*Audio FM Tuner usecase*/
@@ -312,18 +314,22 @@
RENDER_MODE_AUDIO_STC_MASTER,
} render_mode_t;
-/* This defines the physical car streams supported in audio HAL,
- * limited by the available frontend PCM driver.
- * Max number of physical streams supported is currently 16 and is
+/* This defines the physical car audio streams supported in
+ * audio HAL, limited by the available frontend PCM devices.
+ * Max number of physical streams supported is 32 and is
* represented by stream bit flag.
+ * Primary zone: bit 0 - 7
+ * Front passenger zone: bit 8 - 15
+ * Rear seat zone: bit 16 - 23
*/
-#define MAX_CAR_AUDIO_STREAMS 16
+#define MAX_CAR_AUDIO_STREAMS 32
enum {
CAR_AUDIO_STREAM_MEDIA = 0x1,
CAR_AUDIO_STREAM_SYS_NOTIFICATION = 0x2,
CAR_AUDIO_STREAM_NAV_GUIDANCE = 0x4,
CAR_AUDIO_STREAM_PHONE = 0x8,
- CAR_AUDIO_STREAM_REAR_SEAT = 0x100,
+ CAR_AUDIO_STREAM_FRONT_PASSENGER = 0x100,
+ CAR_AUDIO_STREAM_REAR_SEAT = 0x10000,
};
struct stream_app_type_cfg {
@@ -732,6 +738,7 @@
struct listnode audio_patch_record_list;
Hashmap *patch_map;
Hashmap *io_streams_map;
+ bool ha_proxy_enable;
};
struct audio_patch_record {
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index 122e4fc..e314dd3 100644
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -293,6 +293,7 @@
bool external_mic;
bool speaker_lr_swap;
bool fluence_sb_enabled;
+ bool fluence_nn_enabled;
int fluence_type;
int fluence_mode;
char fluence_cap[PROPERTY_VALUE_MAX];
@@ -463,6 +464,8 @@
AFE_PROXY_RECORD_PCM_DEVICE},
[USECASE_AUDIO_RECORD_AFE_PROXY] = {AFE_PROXY_PLAYBACK_PCM_DEVICE,
AFE_PROXY_RECORD_PCM_DEVICE},
+ [USECASE_AUDIO_RECORD_AFE_PROXY2] = {AFE_PROXY_RECORD2_PCM_DEVICE,
+ AFE_PROXY_RECORD2_PCM_DEVICE},
[USECASE_AUDIO_DSM_FEEDBACK] = {QUAT_MI2S_PCM_DEVICE, QUAT_MI2S_PCM_DEVICE},
[USECASE_AUDIO_PLAYBACK_SILENCE] = {MULTIMEDIA9_PCM_DEVICE, -1},
[USECASE_AUDIO_TRANSCODE_LOOPBACK_RX] = {TRANSCODE_LOOPBACK_RX_DEV_ID, -1},
@@ -495,6 +498,8 @@
NAV_GUIDANCE_PCM_DEVICE},
[USECASE_AUDIO_PLAYBACK_PHONE] = {PHONE_PCM_DEVICE,
PHONE_PCM_DEVICE},
+ [USECASE_AUDIO_PLAYBACK_FRONT_PASSENGER] = {FRONT_PASSENGER_PCM_DEVICE,
+ FRONT_PASSENGER_PCM_DEVICE},
[USECASE_AUDIO_PLAYBACK_REAR_SEAT] = {REAR_SEAT_PCM_DEVICE,
REAR_SEAT_PCM_DEVICE},
[USECASE_AUDIO_FM_TUNER_EXT] = {-1, -1},
@@ -604,19 +609,24 @@
[SND_DEVICE_OUT_BUS_SYS] = "bus-speaker",
[SND_DEVICE_OUT_BUS_NAV] = "bus-speaker",
[SND_DEVICE_OUT_BUS_PHN] = "bus-speaker",
+ [SND_DEVICE_OUT_BUS_PAX] = "bus-speaker",
[SND_DEVICE_OUT_BUS_RSE] = "bus-speaker",
[SND_DEVICE_OUT_CALL_PROXY] = "call-proxy",
/* Capture sound devices */
[SND_DEVICE_IN_HANDSET_MIC] = "handset-mic",
[SND_DEVICE_IN_HANDSET_MIC_SB] = "handset-mic",
+ [SND_DEVICE_IN_HANDSET_MIC_NN] = "handset-mic",
[SND_DEVICE_IN_HANDSET_MIC_EXTERNAL] = "handset-mic-ext",
[SND_DEVICE_IN_HANDSET_MIC_AEC] = "handset-mic",
[SND_DEVICE_IN_HANDSET_MIC_AEC_SB] = "handset-mic",
+ [SND_DEVICE_IN_HANDSET_MIC_AEC_NN] = "handset-mic",
[SND_DEVICE_IN_HANDSET_MIC_NS] = "handset-mic",
[SND_DEVICE_IN_HANDSET_MIC_NS_SB] = "handset-mic",
+ [SND_DEVICE_IN_HANDSET_MIC_NS_NN] = "handset-mic",
[SND_DEVICE_IN_HANDSET_MIC_AEC_NS] = "handset-mic",
[SND_DEVICE_IN_HANDSET_MIC_AEC_NS_SB] = "handset-mic",
+ [SND_DEVICE_IN_HANDSET_MIC_AEC_NS_NN] = "handset-mic",
[SND_DEVICE_IN_HANDSET_DMIC] = "dmic-endfire",
[SND_DEVICE_IN_HANDSET_DMIC_AEC] = "dmic-endfire",
[SND_DEVICE_IN_HANDSET_DMIC_AEC_SB] = "dmic-endfire",
@@ -626,12 +636,16 @@
[SND_DEVICE_IN_HANDSET_DMIC_AEC_NS_SB] = "dmic-endfire",
[SND_DEVICE_IN_SPEAKER_MIC] = "speaker-mic",
[SND_DEVICE_IN_SPEAKER_MIC_SB] = "speaker-mic",
+ [SND_DEVICE_IN_SPEAKER_MIC_NN] = "speaker-mic",
[SND_DEVICE_IN_SPEAKER_MIC_AEC] = "speaker-mic",
[SND_DEVICE_IN_SPEAKER_MIC_AEC_SB] = "speaker-mic",
+ [SND_DEVICE_IN_SPEAKER_MIC_AEC_NN] = "speaker-mic",
[SND_DEVICE_IN_SPEAKER_MIC_NS] = "speaker-mic",
[SND_DEVICE_IN_SPEAKER_MIC_NS_SB] = "speaker-mic",
+ [SND_DEVICE_IN_SPEAKER_MIC_NS_NN] = "speaker-mic",
[SND_DEVICE_IN_SPEAKER_MIC_AEC_NS] = "speaker-mic",
[SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_SB] = "speaker-mic",
+ [SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_NN] = "speaker-mic",
[SND_DEVICE_IN_SPEAKER_DMIC] = "speaker-dmic-endfire",
[SND_DEVICE_IN_SPEAKER_DMIC_AEC] = "speaker-dmic-endfire",
[SND_DEVICE_IN_SPEAKER_DMIC_AEC_SB] = "speaker-dmic-endfire",
@@ -644,6 +658,7 @@
[SND_DEVICE_IN_HEADSET_MIC_FLUENCE] = "headset-mic",
[SND_DEVICE_IN_VOICE_SPEAKER_MIC] = "voice-speaker-mic",
[SND_DEVICE_IN_VOICE_SPEAKER_MIC_SB] = "voice-speaker-mic",
+ [SND_DEVICE_IN_VOICE_SPEAKER_MIC_NN] = "voice-speaker-mic",
[SND_DEVICE_IN_VOICE_HEADSET_MIC] = "voice-headset-mic",
[SND_DEVICE_IN_SPDIF] = "spdif-in",
[SND_DEVICE_IN_HDMI_MIC] = "hdmi-in",
@@ -779,6 +794,11 @@
[GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_DMIC_AEC_NS_SB)][EFFECT_NS] = {TX_VOICE_FLUENCE_MM_SB, 0x8000, 0x10EAF, 0x02},
[GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_MIC_SB)][EFFECT_AEC] = {TX_VOICE_FLUENCE_SM_SB, 0x8000, 0x10EAF, 0x01},
[GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_MIC_SB)][EFFECT_NS] = {TX_VOICE_FLUENCE_SM_SB, 0x8000, 0x10EAF, 0x02},
+
+ [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_MIC_NN)][EFFECT_AEC] = {TX_VOICE_FLUENCE_SM_NN, 0x8000, 0x10EAF, 0x01},
+ [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_MIC_NN)][EFFECT_NS] = {TX_VOICE_FLUENCE_SM_NN, 0x8000, 0x10EAF, 0x02},
+ [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_MIC_NN)][EFFECT_AEC] = {TX_VOICE_FLUENCE_SM_NN, 0x8000, 0x10EAF, 0x01},
+ [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_MIC_NN)][EFFECT_NS] = {TX_VOICE_FLUENCE_SM_NN, 0x8000, 0x10EAF, 0x02},
};
static struct audio_fluence_mmsecns_config fluence_mmsecns_table = {TOPOLOGY_ID_MM_HFP_ECNS, MODULE_ID_MM_HFP_ECNS,
@@ -881,17 +901,22 @@
[SND_DEVICE_OUT_BUS_SYS] = 60,
[SND_DEVICE_OUT_BUS_NAV] = 14,
[SND_DEVICE_OUT_BUS_PHN] = 94,
+ [SND_DEVICE_OUT_BUS_PAX] = 60,
[SND_DEVICE_OUT_BUS_RSE] = 60,
[SND_DEVICE_OUT_CALL_PROXY] = 32,
[SND_DEVICE_IN_HANDSET_MIC] = 4,
[SND_DEVICE_IN_HANDSET_MIC_SB] = 163,
+ [SND_DEVICE_IN_HANDSET_MIC_NN] = 183,
[SND_DEVICE_IN_HANDSET_MIC_EXTERNAL] = 4,
[SND_DEVICE_IN_HANDSET_MIC_AEC] = 106,
[SND_DEVICE_IN_HANDSET_MIC_AEC_SB] = 164,
+ [SND_DEVICE_IN_HANDSET_MIC_AEC_NN] = 184,
[SND_DEVICE_IN_HANDSET_MIC_NS] = 107,
[SND_DEVICE_IN_HANDSET_MIC_NS_SB] = 165,
+ [SND_DEVICE_IN_HANDSET_MIC_NS_NN] = 185,
[SND_DEVICE_IN_HANDSET_MIC_AEC_NS] = 108,
[SND_DEVICE_IN_HANDSET_MIC_AEC_NS_SB] = 166,
+ [SND_DEVICE_IN_HANDSET_MIC_AEC_NS_NN] = 186,
[SND_DEVICE_IN_HANDSET_DMIC] = 41,
[SND_DEVICE_IN_HANDSET_DMIC_AEC] = 109,
[SND_DEVICE_IN_HANDSET_DMIC_AEC_SB] = 168,
@@ -901,12 +926,16 @@
[SND_DEVICE_IN_HANDSET_DMIC_AEC_NS_SB] = 170,
[SND_DEVICE_IN_SPEAKER_MIC] = 11,
[SND_DEVICE_IN_SPEAKER_MIC_SB] = 171,
+ [SND_DEVICE_IN_SPEAKER_MIC_NN] = 187,
[SND_DEVICE_IN_SPEAKER_MIC_AEC] = 112,
[SND_DEVICE_IN_SPEAKER_MIC_AEC_SB] = 172,
+ [SND_DEVICE_IN_SPEAKER_MIC_AEC_NN] = 189,
[SND_DEVICE_IN_SPEAKER_MIC_NS] = 113,
[SND_DEVICE_IN_SPEAKER_MIC_NS_SB] = 173,
+ [SND_DEVICE_IN_SPEAKER_MIC_NS_NN] = 190,
[SND_DEVICE_IN_SPEAKER_MIC_AEC_NS] = 114,
[SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_SB] = 174,
+ [SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_NN] = 192,
[SND_DEVICE_IN_SPEAKER_DMIC] = 43,
[SND_DEVICE_IN_SPEAKER_DMIC_AEC] = 115,
[SND_DEVICE_IN_SPEAKER_DMIC_AEC_SB] = 176,
@@ -919,6 +948,7 @@
[SND_DEVICE_IN_HEADSET_MIC_FLUENCE] = 47,
[SND_DEVICE_IN_VOICE_SPEAKER_MIC] = 11,
[SND_DEVICE_IN_VOICE_SPEAKER_MIC_SB] = 171,
+ [SND_DEVICE_IN_VOICE_SPEAKER_MIC_NN] = 187,
[SND_DEVICE_IN_VOICE_SPEAKER_MIC_HFP] = 11,
[SND_DEVICE_IN_VOICE_SPEAKER_MIC_HFP_MMSECNS] = 131,
[SND_DEVICE_IN_VOICE_HEADSET_MIC] = 8,
@@ -1119,17 +1149,22 @@
{TO_NAME_INDEX(SND_DEVICE_OUT_BUS_SYS)},
{TO_NAME_INDEX(SND_DEVICE_OUT_BUS_NAV)},
{TO_NAME_INDEX(SND_DEVICE_OUT_BUS_PHN)},
+ {TO_NAME_INDEX(SND_DEVICE_OUT_BUS_PAX)},
{TO_NAME_INDEX(SND_DEVICE_OUT_BUS_RSE)},
{TO_NAME_INDEX(SND_DEVICE_OUT_CALL_PROXY)},
{TO_NAME_INDEX(SND_DEVICE_IN_HANDSET_MIC)},
{TO_NAME_INDEX(SND_DEVICE_IN_HANDSET_MIC_SB)},
+ {TO_NAME_INDEX(SND_DEVICE_IN_HANDSET_MIC_NN)},
{TO_NAME_INDEX(SND_DEVICE_IN_HANDSET_MIC_EXTERNAL)},
{TO_NAME_INDEX(SND_DEVICE_IN_HANDSET_MIC_AEC)},
{TO_NAME_INDEX(SND_DEVICE_IN_HANDSET_MIC_AEC_SB)},
+ {TO_NAME_INDEX(SND_DEVICE_IN_HANDSET_MIC_AEC_NN)},
{TO_NAME_INDEX(SND_DEVICE_IN_HANDSET_MIC_NS)},
{TO_NAME_INDEX(SND_DEVICE_IN_HANDSET_MIC_NS_SB)},
+ {TO_NAME_INDEX(SND_DEVICE_IN_HANDSET_MIC_NS_NN)},
{TO_NAME_INDEX(SND_DEVICE_IN_HANDSET_MIC_AEC_NS)},
{TO_NAME_INDEX(SND_DEVICE_IN_HANDSET_MIC_AEC_NS_SB)},
+ {TO_NAME_INDEX(SND_DEVICE_IN_HANDSET_MIC_AEC_NS_NN)},
{TO_NAME_INDEX(SND_DEVICE_IN_HANDSET_DMIC)},
{TO_NAME_INDEX(SND_DEVICE_IN_HANDSET_DMIC_AEC)},
{TO_NAME_INDEX(SND_DEVICE_IN_HANDSET_DMIC_AEC_SB)},
@@ -1139,12 +1174,16 @@
{TO_NAME_INDEX(SND_DEVICE_IN_HANDSET_DMIC_AEC_NS_SB)},
{TO_NAME_INDEX(SND_DEVICE_IN_SPEAKER_MIC)},
{TO_NAME_INDEX(SND_DEVICE_IN_SPEAKER_MIC_SB)},
+ {TO_NAME_INDEX(SND_DEVICE_IN_SPEAKER_MIC_NN)},
{TO_NAME_INDEX(SND_DEVICE_IN_SPEAKER_MIC_AEC)},
{TO_NAME_INDEX(SND_DEVICE_IN_SPEAKER_MIC_AEC_SB)},
+ {TO_NAME_INDEX(SND_DEVICE_IN_SPEAKER_MIC_AEC_NN)},
{TO_NAME_INDEX(SND_DEVICE_IN_SPEAKER_MIC_NS)},
{TO_NAME_INDEX(SND_DEVICE_IN_SPEAKER_MIC_NS_SB)},
+ {TO_NAME_INDEX(SND_DEVICE_IN_SPEAKER_MIC_NS_NN)},
{TO_NAME_INDEX(SND_DEVICE_IN_SPEAKER_MIC_AEC_NS)},
{TO_NAME_INDEX(SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_SB)},
+ {TO_NAME_INDEX(SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_NN)},
{TO_NAME_INDEX(SND_DEVICE_IN_SPEAKER_DMIC)},
{TO_NAME_INDEX(SND_DEVICE_IN_SPEAKER_DMIC_AEC)},
{TO_NAME_INDEX(SND_DEVICE_IN_SPEAKER_DMIC_AEC_SB)},
@@ -1158,6 +1197,7 @@
{TO_NAME_INDEX(SND_DEVICE_IN_HEADSET_MIC_FLUENCE)},
{TO_NAME_INDEX(SND_DEVICE_IN_VOICE_SPEAKER_MIC)},
{TO_NAME_INDEX(SND_DEVICE_IN_VOICE_SPEAKER_MIC_SB)},
+ {TO_NAME_INDEX(SND_DEVICE_IN_VOICE_SPEAKER_MIC_NN)},
{TO_NAME_INDEX(SND_DEVICE_IN_VOICE_SPEAKER_MIC_HFP)},
{TO_NAME_INDEX(SND_DEVICE_IN_VOICE_SPEAKER_MIC_HFP_MMSECNS)},
{TO_NAME_INDEX(SND_DEVICE_IN_VOICE_HEADSET_MIC)},
@@ -1311,6 +1351,7 @@
{TO_NAME_INDEX(USECASE_AUDIO_SPKR_CALIB_TX)},
{TO_NAME_INDEX(USECASE_AUDIO_PLAYBACK_AFE_PROXY)},
{TO_NAME_INDEX(USECASE_AUDIO_RECORD_AFE_PROXY)},
+ {TO_NAME_INDEX(USECASE_AUDIO_RECORD_AFE_PROXY2)},
{TO_NAME_INDEX(USECASE_AUDIO_DSM_FEEDBACK)},
{TO_NAME_INDEX(USECASE_AUDIO_PLAYBACK_SILENCE)},
{TO_NAME_INDEX(USECASE_AUDIO_EC_REF_LOOPBACK)},
@@ -1325,6 +1366,7 @@
{TO_NAME_INDEX(USECASE_AUDIO_PLAYBACK_SYS_NOTIFICATION)},
{TO_NAME_INDEX(USECASE_AUDIO_PLAYBACK_NAV_GUIDANCE)},
{TO_NAME_INDEX(USECASE_AUDIO_PLAYBACK_PHONE)},
+ {TO_NAME_INDEX(USECASE_AUDIO_PLAYBACK_FRONT_PASSENGER)},
{TO_NAME_INDEX(USECASE_AUDIO_PLAYBACK_REAR_SEAT)},
};
@@ -2350,17 +2392,22 @@
hw_interface_table[SND_DEVICE_OUT_BUS_SYS] = strdup("TERT_TDM_RX_0");
hw_interface_table[SND_DEVICE_OUT_BUS_NAV] = strdup("TERT_TDM_RX_1");
hw_interface_table[SND_DEVICE_OUT_BUS_PHN] = strdup("TERT_TDM_RX_2");
- hw_interface_table[SND_DEVICE_OUT_BUS_RSE] = strdup("QUAT_TDM_RX_0");
+ hw_interface_table[SND_DEVICE_OUT_BUS_PAX] = strdup("QUAT_TDM_RX_0");
+ hw_interface_table[SND_DEVICE_OUT_BUS_RSE] = strdup("QUIN_TDM_RX_0");
hw_interface_table[SND_DEVICE_OUT_CALL_PROXY] = strdup("CALL_PROXY_RX");
hw_interface_table[SND_DEVICE_IN_HANDSET_MIC] = strdup("SLIMBUS_0_TX");
hw_interface_table[SND_DEVICE_IN_HANDSET_MIC_SB] = strdup("SLIMBUS_0_TX");
+ hw_interface_table[SND_DEVICE_IN_HANDSET_MIC_NN] = strdup("SLIMBUS_0_TX");
hw_interface_table[SND_DEVICE_IN_HANDSET_MIC_EXTERNAL] = strdup("SLIMBUS_0_TX");
hw_interface_table[SND_DEVICE_IN_HANDSET_MIC_AEC] = strdup("SLIMBUS_0_TX");
hw_interface_table[SND_DEVICE_IN_HANDSET_MIC_AEC_SB] = strdup("SLIMBUS_0_TX");
+ hw_interface_table[SND_DEVICE_IN_HANDSET_MIC_AEC_NN] = strdup("SLIMBUS_0_TX");
hw_interface_table[SND_DEVICE_IN_HANDSET_MIC_NS] = strdup("SLIMBUS_0_TX");
hw_interface_table[SND_DEVICE_IN_HANDSET_MIC_NS_SB] = strdup("SLIMBUS_0_TX");
+ hw_interface_table[SND_DEVICE_IN_HANDSET_MIC_NS_NN] = strdup("SLIMBUS_0_TX");
hw_interface_table[SND_DEVICE_IN_HANDSET_MIC_AEC_NS] = strdup("SLIMBUS_0_TX");
hw_interface_table[SND_DEVICE_IN_HANDSET_MIC_AEC_NS_SB] = strdup("SLIMBUS_0_TX");
+ hw_interface_table[SND_DEVICE_IN_HANDSET_MIC_AEC_NS_NN] = strdup("SLIMBUS_0_TX");
hw_interface_table[SND_DEVICE_IN_HANDSET_DMIC] = strdup("SLIMBUS_0_TX");
hw_interface_table[SND_DEVICE_IN_HANDSET_DMIC_AEC] = strdup("SLIMBUS_0_TX");
hw_interface_table[SND_DEVICE_IN_HANDSET_DMIC_AEC_SB] = strdup("SLIMBUS_0_TX");
@@ -2373,12 +2420,16 @@
hw_interface_table[SND_DEVICE_IN_CAMCORDER_LANDSCAPE] = strdup("SLIMBUS_0_TX");
hw_interface_table[SND_DEVICE_IN_SPEAKER_MIC] = strdup("SLIMBUS_0_TX");
hw_interface_table[SND_DEVICE_IN_SPEAKER_MIC_SB] = strdup("SLIMBUS_0_TX");
+ hw_interface_table[SND_DEVICE_IN_SPEAKER_MIC_NN] = strdup("SLIMBUS_0_TX");
hw_interface_table[SND_DEVICE_IN_SPEAKER_MIC_AEC] = strdup("SLIMBUS_0_TX");
hw_interface_table[SND_DEVICE_IN_SPEAKER_MIC_AEC_SB] = strdup("SLIMBUS_0_TX");
+ hw_interface_table[SND_DEVICE_IN_SPEAKER_MIC_AEC_NN] = strdup("SLIMBUS_0_TX");
hw_interface_table[SND_DEVICE_IN_SPEAKER_MIC_NS] = strdup("SLIMBUS_0_TX");
hw_interface_table[SND_DEVICE_IN_SPEAKER_MIC_NS_SB] = strdup("SLIMBUS_0_TX");
+ hw_interface_table[SND_DEVICE_IN_SPEAKER_MIC_NS_NN] = strdup("SLIMBUS_0_TX");
hw_interface_table[SND_DEVICE_IN_SPEAKER_MIC_AEC_NS] = strdup("SLIMBUS_0_TX");
hw_interface_table[SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_SB] = strdup("SLIMBUS_0_TX");
+ hw_interface_table[SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_NN] = strdup("SLIMBUS_0_TX");
hw_interface_table[SND_DEVICE_IN_SPEAKER_DMIC] = strdup("SLIMBUS_0_TX");
hw_interface_table[SND_DEVICE_IN_SPEAKER_DMIC_AEC] = strdup("SLIMBUS_0_TX");
hw_interface_table[SND_DEVICE_IN_SPEAKER_DMIC_AEC_SB] = strdup("SLIMBUS_0_TX");
@@ -2391,6 +2442,7 @@
hw_interface_table[SND_DEVICE_IN_HEADSET_MIC_FLUENCE] = strdup("SLIMBUS_0_TX");
hw_interface_table[SND_DEVICE_IN_VOICE_SPEAKER_MIC] = strdup("SLIMBUS_0_TX");
hw_interface_table[SND_DEVICE_IN_VOICE_SPEAKER_MIC_SB] = strdup("SLIMBUS_0_TX");
+ hw_interface_table[SND_DEVICE_IN_VOICE_SPEAKER_MIC_NN] = strdup("SLIMBUS_0_TX");
hw_interface_table[SND_DEVICE_IN_VOICE_HEADSET_MIC] = strdup("SLIMBUS_0_TX");
hw_interface_table[SND_DEVICE_IN_SPDIF] = strdup("PRI_SPDIF_TX");
hw_interface_table[SND_DEVICE_IN_HDMI_MIC] = strdup("SEC_MI2S_TX");
@@ -3089,6 +3141,7 @@
my_data->external_spk_2 = false;
my_data->external_mic = false;
my_data->fluence_sb_enabled = false;
+ my_data->fluence_nn_enabled = false;
my_data->fluence_type = FLUENCE_NONE;
my_data->fluence_mode = FLUENCE_ENDFIRE;
my_data->ambisonic_capture = false;
@@ -3123,6 +3176,10 @@
if (property_get_bool("ro.vendor.audio.sdk.fluence.subband.enabled",false))
my_data->fluence_sb_enabled = true;
+ /* Check for Fluence NN Enablement */
+ if (property_get_bool("ro.vendor.audio.sdk.fluence.nn.enabled",false))
+ my_data->fluence_nn_enabled = true;
+
my_data->fluence_type = FLUENCE_NONE;
if (property_get("ro.vendor.audio.sdk.fluencetype",
my_data->fluence_cap, NULL) > 0) {
@@ -3549,11 +3606,11 @@
/* obtain source mic type from max mic count*/
get_source_mic_type(my_data);
ALOGD("%s: Fluence_Type(%d) max_mic_count(%d) mic_type(0x%x) fluence_in_voice_call(%d)"
- " fluence_in_voice_rec(%d) fluence_in_spkr_mode(%d) fluence_in_hfp_call(%d)"
- "fluence_sb_enabled(%d)", __func__, my_data->fluence_type, my_data->max_mic_count,
+ " fluence_in_voice_rec(%d) fluence_in_spkr_mode(%d) fluence_in_hfp_call(%d) fluence_sb_enabled(%d)"
+ "fluence_nn_enabled(%d) ", __func__, my_data->fluence_type, my_data->max_mic_count,
my_data->source_mic_type, my_data->fluence_in_voice_call,
my_data->fluence_in_voice_rec, my_data->fluence_in_spkr_mode,
- my_data->fluence_in_hfp_call, my_data->fluence_sb_enabled);
+ my_data->fluence_in_hfp_call, my_data->fluence_sb_enabled, my_data->fluence_nn_enabled);
/* init usb */
audio_extn_usb_init(adev);
@@ -6546,7 +6603,9 @@
} else
snd_device = my_data->fluence_sb_enabled ?
SND_DEVICE_IN_SPEAKER_MIC_SB
- : SND_DEVICE_IN_SPEAKER_MIC;
+ : (my_data->fluence_nn_enabled ?
+ SND_DEVICE_IN_SPEAKER_MIC_NN
+ : SND_DEVICE_IN_SPEAKER_MIC);
} else if (compare_device_type(in_devices, AUDIO_DEVICE_IN_BUILTIN_MIC)) {
if ((my_data->fluence_type & FLUENCE_TRI_MIC) &&
(my_data->source_mic_type & SOURCE_THREE_MIC)) {
@@ -6561,7 +6620,9 @@
} else
snd_device = my_data->fluence_sb_enabled ?
SND_DEVICE_IN_HANDSET_MIC_SB
- : SND_DEVICE_IN_HANDSET_MIC;
+ : (my_data->fluence_nn_enabled ?
+ SND_DEVICE_IN_HANDSET_MIC_NN
+ : SND_DEVICE_IN_HANDSET_MIC);
} else if (compare_device_type(in_devices, AUDIO_DEVICE_IN_WIRED_HEADSET)) {
snd_device = SND_DEVICE_IN_HEADSET_MIC;
}
@@ -6601,7 +6662,9 @@
} else
snd_device = my_data->fluence_sb_enabled ?
SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_SB
- : SND_DEVICE_IN_SPEAKER_MIC_AEC_NS;
+ : (my_data->fluence_nn_enabled?
+ SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_NN
+ : SND_DEVICE_IN_SPEAKER_MIC_AEC_NS);
} else if (compare_device_type(in_devices, AUDIO_DEVICE_IN_BUILTIN_MIC)) {
if ((my_data->fluence_type & FLUENCE_TRI_MIC) &&
(my_data->source_mic_type & SOURCE_THREE_MIC)) {
@@ -6617,7 +6680,9 @@
} else
snd_device = my_data->fluence_sb_enabled ?
SND_DEVICE_IN_HANDSET_MIC_AEC_NS_SB
- : SND_DEVICE_IN_HANDSET_MIC_AEC_NS;
+ : (my_data->fluence_nn_enabled ?
+ SND_DEVICE_IN_HANDSET_MIC_AEC_NS_NN
+ : SND_DEVICE_IN_HANDSET_MIC_AEC_NS);
} else if (compare_device_type(in_devices, AUDIO_DEVICE_IN_WIRED_HEADSET)) {
snd_device = SND_DEVICE_IN_HEADSET_MIC_FLUENCE;
} else if (audio_extn_usb_connected(NULL) &&
@@ -6647,7 +6712,9 @@
} else
snd_device = my_data->fluence_sb_enabled ?
SND_DEVICE_IN_SPEAKER_MIC_AEC_SB
- : SND_DEVICE_IN_SPEAKER_MIC_AEC;
+ : (my_data->fluence_nn_enabled ?
+ SND_DEVICE_IN_SPEAKER_MIC_AEC_NN
+ : SND_DEVICE_IN_SPEAKER_MIC_AEC);
} else if (compare_device_type(in_devices, AUDIO_DEVICE_IN_BUILTIN_MIC)) {
if ((my_data->fluence_type & FLUENCE_TRI_MIC) &&
(my_data->source_mic_type & SOURCE_THREE_MIC)) {
@@ -6690,7 +6757,9 @@
} else
snd_device = my_data->fluence_sb_enabled ?
SND_DEVICE_IN_SPEAKER_MIC_NS_SB
- : SND_DEVICE_IN_SPEAKER_MIC_NS;
+ : (my_data->fluence_nn_enabled ?
+ SND_DEVICE_IN_SPEAKER_MIC_NS_NN
+ : SND_DEVICE_IN_SPEAKER_MIC_NS);
} else if (compare_device_type(in_devices, AUDIO_DEVICE_IN_BUILTIN_MIC)) {
if ((my_data->fluence_type & FLUENCE_TRI_MIC) &&
(my_data->source_mic_type & SOURCE_THREE_MIC)) {
@@ -6842,11 +6911,15 @@
audio_extn_hfp_is_active(adev)) {
snd_device = my_data->fluence_sb_enabled ?
SND_DEVICE_IN_VOICE_SPEAKER_MIC_SB
- : SND_DEVICE_IN_VOICE_SPEAKER_MIC;
+ : (my_data->fluence_nn_enabled ?
+ SND_DEVICE_IN_VOICE_SPEAKER_MIC_NN
+ : SND_DEVICE_IN_VOICE_SPEAKER_MIC);
} else {
snd_device = my_data->fluence_sb_enabled ?
SND_DEVICE_IN_HANDSET_MIC_SB
- : SND_DEVICE_IN_HANDSET_MIC;
+ : (my_data->fluence_nn_enabled ?
+ SND_DEVICE_IN_HANDSET_MIC_NN
+ : SND_DEVICE_IN_HANDSET_MIC);
}
if (audio_extn_hfp_is_active(adev))
platform_set_echo_reference(adev, true, out_devices);
@@ -6930,7 +7003,9 @@
} else {
snd_device = my_data->fluence_sb_enabled ?
SND_DEVICE_IN_VOICE_SPEAKER_MIC_SB
- : SND_DEVICE_IN_VOICE_SPEAKER_MIC;
+ : (my_data->fluence_nn_enabled ?
+ SND_DEVICE_IN_VOICE_SPEAKER_MIC_NN
+ : SND_DEVICE_IN_VOICE_SPEAKER_MIC);
if (audio_extn_hfp_is_active(adev))
platform_set_echo_reference(adev, true, out_devices);
}
@@ -7211,7 +7286,8 @@
snd_device = SND_DEVICE_IN_HANDSET_DMIC_STEREO;
else
snd_device = my_data->fluence_sb_enabled ? SND_DEVICE_IN_HANDSET_MIC_SB
- : SND_DEVICE_IN_HANDSET_MIC;
+ : (my_data->fluence_nn_enabled? SND_DEVICE_IN_HANDSET_MIC_NN
+ : SND_DEVICE_IN_HANDSET_MIC);
} else if (compare_device_type(&in_devices, AUDIO_DEVICE_IN_BACK_MIC)) {
if ((my_data->source_mic_type & SOURCE_DUAL_MIC) &&
channel_count == 2)
@@ -7219,7 +7295,9 @@
else
snd_device = my_data->fluence_sb_enabled ?
SND_DEVICE_IN_SPEAKER_MIC_SB
- : SND_DEVICE_IN_SPEAKER_MIC;
+ : (my_data->fluence_nn_enabled ?
+ SND_DEVICE_IN_SPEAKER_MIC_NN
+ : SND_DEVICE_IN_SPEAKER_MIC);
} else if (compare_device_type(&in_devices, AUDIO_DEVICE_IN_LINE)) {
snd_device = SND_DEVICE_IN_LINE;
} else if (compare_device_type(&in_devices, AUDIO_DEVICE_IN_WIRED_HEADSET)) {
@@ -7263,12 +7341,14 @@
ALOGE("%s: Unknown input device(s) %#x", __func__, get_device_types(&in_devices));
ALOGW("%s: Using default handset-mic", __func__);
snd_device = my_data->fluence_sb_enabled ? SND_DEVICE_IN_HANDSET_MIC_SB
- : SND_DEVICE_IN_HANDSET_MIC;
+ : (my_data->fluence_nn_enabled ? SND_DEVICE_IN_HANDSET_MIC_NN
+ : SND_DEVICE_IN_HANDSET_MIC);
}
} else {
if (compare_device_type(out_devices, AUDIO_DEVICE_OUT_EARPIECE)) {
snd_device = my_data->fluence_sb_enabled ? SND_DEVICE_IN_HANDSET_MIC_SB
- : SND_DEVICE_IN_HANDSET_MIC;
+ : (my_data->fluence_nn_enabled ? SND_DEVICE_IN_HANDSET_MIC_NN
+ : SND_DEVICE_IN_HANDSET_MIC);
} else if (compare_device_type(out_devices, AUDIO_DEVICE_OUT_WIRED_HEADSET)) {
snd_device = SND_DEVICE_IN_HEADSET_MIC;
} else if (compare_device_type(out_devices, AUDIO_DEVICE_OUT_SPEAKER) ||
@@ -7280,19 +7360,24 @@
(channel_count == 1)) {
snd_device = my_data->fluence_sb_enabled ?
SND_DEVICE_IN_SPEAKER_MIC_SB
- : SND_DEVICE_IN_SPEAKER_MIC;
+ : (my_data->fluence_nn_enabled ?
+ SND_DEVICE_IN_SPEAKER_MIC_NN
+ : SND_DEVICE_IN_SPEAKER_MIC);
} else {
ALOGE("%s: something wrong: source type (%d) channel_count (%d) .."
" no combination found .. setting to mono", __func__,
my_data->source_mic_type, channel_count);
snd_device = my_data->fluence_sb_enabled ?
SND_DEVICE_IN_SPEAKER_MIC_SB
- : SND_DEVICE_IN_SPEAKER_MIC;
+ : (my_data->fluence_nn_enabled ?
+ SND_DEVICE_IN_SPEAKER_MIC_NN
+ : SND_DEVICE_IN_SPEAKER_MIC);
}
} else if (compare_device_type(out_devices, AUDIO_DEVICE_OUT_WIRED_HEADPHONE) ||
compare_device_type(out_devices, AUDIO_DEVICE_OUT_LINE)) {
snd_device = my_data->fluence_sb_enabled ? SND_DEVICE_IN_HANDSET_MIC_SB
- : SND_DEVICE_IN_HANDSET_MIC;
+ : (my_data->fluence_nn_enabled ? SND_DEVICE_IN_HANDSET_MIC_NN
+ : SND_DEVICE_IN_HANDSET_MIC);
} else if (compare_device_type(out_devices, AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET)) {
if (adev->swb_speech_mode != SPEECH_MODE_INVALID) {
if (adev->bluetooth_nrec)
@@ -7328,7 +7413,8 @@
ALOGE("%s: Unknown output device(s) %#x", __func__, get_device_types(out_devices));
ALOGW("%s: Using default handset-mic", __func__);
snd_device = my_data->fluence_sb_enabled ? SND_DEVICE_IN_HANDSET_MIC_SB
- : SND_DEVICE_IN_HANDSET_MIC;
+ : (my_data->fluence_nn_enabled ? SND_DEVICE_IN_HANDSET_MIC_NN
+ : SND_DEVICE_IN_HANDSET_MIC);
}
}
exit:
@@ -8686,6 +8772,7 @@
case USECASE_AUDIO_PLAYBACK_LOW_LATENCY:
case USECASE_AUDIO_PLAYBACK_WITH_HAPTICS:
case USECASE_AUDIO_PLAYBACK_SYS_NOTIFICATION:
+ case USECASE_AUDIO_PLAYBACK_FRONT_PASSENGER:
case USECASE_AUDIO_PLAYBACK_PHONE:
delay = LOW_LATENCY_PLATFORM_DELAY;
break;
diff --git a/hal/msm8974/platform.h b/hal/msm8974/platform.h
index 9104080..de5d2bd 100644
--- a/hal/msm8974/platform.h
+++ b/hal/msm8974/platform.h
@@ -163,6 +163,7 @@
SND_DEVICE_OUT_BUS_SYS,
SND_DEVICE_OUT_BUS_NAV,
SND_DEVICE_OUT_BUS_PHN,
+ SND_DEVICE_OUT_BUS_PAX,
SND_DEVICE_OUT_BUS_RSE,
SND_DEVICE_OUT_CALL_PROXY,
SND_DEVICE_OUT_END,
@@ -176,11 +177,15 @@
SND_DEVICE_IN_HANDSET_MIC = SND_DEVICE_IN_BEGIN,
SND_DEVICE_IN_HANDSET_MIC_SB,
SND_DEVICE_IN_HANDSET_MIC_EXTERNAL,
+ SND_DEVICE_IN_HANDSET_MIC_NN,
SND_DEVICE_IN_HANDSET_MIC_AEC,
SND_DEVICE_IN_HANDSET_MIC_AEC_SB,
+ SND_DEVICE_IN_HANDSET_MIC_AEC_NN,
SND_DEVICE_IN_HANDSET_MIC_NS,
+ SND_DEVICE_IN_HANDSET_MIC_NS_NN,
SND_DEVICE_IN_HANDSET_MIC_NS_SB,
SND_DEVICE_IN_HANDSET_MIC_AEC_NS,
+ SND_DEVICE_IN_HANDSET_MIC_AEC_NS_NN,
SND_DEVICE_IN_HANDSET_MIC_AEC_NS_SB,
SND_DEVICE_IN_HANDSET_DMIC,
SND_DEVICE_IN_HANDSET_DMIC_AEC,
@@ -191,12 +196,16 @@
SND_DEVICE_IN_HANDSET_DMIC_AEC_NS_SB,
SND_DEVICE_IN_SPEAKER_MIC,
SND_DEVICE_IN_SPEAKER_MIC_SB,
+ SND_DEVICE_IN_SPEAKER_MIC_NN,
SND_DEVICE_IN_SPEAKER_MIC_AEC,
SND_DEVICE_IN_SPEAKER_MIC_AEC_SB,
+ SND_DEVICE_IN_SPEAKER_MIC_AEC_NN,
SND_DEVICE_IN_SPEAKER_MIC_NS,
SND_DEVICE_IN_SPEAKER_MIC_NS_SB,
+ SND_DEVICE_IN_SPEAKER_MIC_NS_NN,
SND_DEVICE_IN_SPEAKER_MIC_AEC_NS,
SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_SB,
+ SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_NN,
SND_DEVICE_IN_SPEAKER_DMIC,
SND_DEVICE_IN_SPEAKER_DMIC_AEC,
SND_DEVICE_IN_SPEAKER_DMIC_AEC_SB,
@@ -209,6 +218,7 @@
SND_DEVICE_IN_HEADSET_MIC_FLUENCE,
SND_DEVICE_IN_VOICE_SPEAKER_MIC,
SND_DEVICE_IN_VOICE_SPEAKER_MIC_SB,
+ SND_DEVICE_IN_VOICE_SPEAKER_MIC_NN,
SND_DEVICE_IN_VOICE_SPEAKER_MIC_HFP,
SND_DEVICE_IN_VOICE_SPEAKER_MIC_HFP_MMSECNS,
SND_DEVICE_IN_VOICE_HEADSET_MIC,
@@ -617,6 +627,7 @@
#define AFE_PROXY_PLAYBACK_PCM_DEVICE 7
#define AFE_PROXY_RECORD_PCM_DEVICE 8
+#define AFE_PROXY_RECORD2_PCM_DEVICE 40
#ifdef PLATFORM_MSM8x26
#ifdef EXTERNAL_BT_SUPPORTED
@@ -656,6 +667,7 @@
#define SYS_NOTIFICATION_PCM_DEVICE 9
#define NAV_GUIDANCE_PCM_DEVICE MULTIMEDIA2_PCM_DEVICE
#define PHONE_PCM_DEVICE 12
+#define FRONT_PASSENGER_PCM_DEVICE 55
#define REAR_SEAT_PCM_DEVICE 54
#ifdef PLATFORM_APQ8084
@@ -682,6 +694,7 @@
#define TX_VOICE_FV5ECNS_DM 0x10F0A
#define TX_VOICE_FLUENCE_SM_SB 0x10F38
#define TX_VOICE_FLUENCE_MM_SB 0x10F39
+#define TX_VOICE_FLUENCE_SM_NN 0x10B0F
/* multi-mic surround ECNS zone control */
#define TOPOLOGY_ID_MM_HFP_ECNS 0x1FFF0002