Merge "configs: Enable AAC frame control for A2DP"
diff --git a/Android.mk b/Android.mk
index 00332c7..6db5a30 100644
--- a/Android.mk
+++ b/Android.mk
@@ -1,5 +1,5 @@
ifneq ($(AUDIO_USE_STUB_HAL), true)
-ifneq ($(filter mpq8092 msm8960 msm8226 msm8x26 msm8610 msm8974 msm8x74 apq8084 msm8916 msm8994 msm8992 msm8909 msm8996 msm8952 msm8937 thorium msm8953 msmgold msm8998 sdm660 sdm845 sdm710 apq8098_latv qcs605 msmnile kona $(MSMSTEPPE) $(TRINKET) atoll lito,$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter mpq8092 msm8960 msm8226 msm8x26 msm8610 msm8974 msm8x74 apq8084 msm8916 msm8994 msm8992 msm8909 msm8996 msm8952 msm8937 thorium msm8953 msmgold msm8998 sdm660 sdm845 sdm710 apq8098_latv qcs605 sdmshrike msmnile kona $(MSMSTEPPE) $(TRINKET) atoll lito,$(TARGET_BOARD_PLATFORM)),)
MY_LOCAL_PATH := $(call my-dir)
diff --git a/configs/atoll/audio_policy_configuration.xml b/configs/atoll/audio_policy_configuration.xml
index b65a9b6..4a0800c 100644
--- a/configs/atoll/audio_policy_configuration.xml
+++ b/configs/atoll/audio_policy_configuration.xml
@@ -287,11 +287,11 @@
</devicePort>
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
+ samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
</devicePort>
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
+ samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
</devicePort>
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
diff --git a/configs/atoll/mixer_paths_idp.xml b/configs/atoll/mixer_paths_idp.xml
index 433e1a8..2a8ecd8 100644
--- a/configs/atoll/mixer_paths_idp.xml
+++ b/configs/atoll/mixer_paths_idp.xml
@@ -146,6 +146,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" />
@@ -432,18 +434,56 @@
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference handset">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_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 headset">
+ <path name="echo-reference headphones" />
</path>
<path name="echo-reference display-port">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="DISPLAY_PORT" />
+ <ctl name="EC Reference Channels" value="Two"/>
</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-voip">
+ <ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip handset">
+ <ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_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 display-port">
+ <ctl name="AUDIO_REF_EC_UL10 MUX" value="DISPLAY_PORT" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip headphones-44.1">
+ <ctl name="AUDIO_REF_EC_UL10 MUX" value="RX_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="deep-buffer-playback">
diff --git a/configs/atoll/mixer_paths_qrd.xml b/configs/atoll/mixer_paths_qrd.xml
index 8719bf1..1859751 100644
--- a/configs/atoll/mixer_paths_qrd.xml
+++ b/configs/atoll/mixer_paths_qrd.xml
@@ -145,6 +145,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" />
@@ -420,18 +422,56 @@
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_CDC_DMA_RX_0" />
+ <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 headset">
+ <path name="echo-reference headphones" />
</path>
<path name="echo-reference display-port">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="DISPLAY_PORT" />
+ <ctl name="EC Reference Channels" value="Two"/>
</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-voip">
+ <ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_CDC_DMA_RX_0" />
+ <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 display-port">
+ <ctl name="AUDIO_REF_EC_UL10 MUX" value="DISPLAY_PORT" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip headphones-44.1">
+ <ctl name="AUDIO_REF_EC_UL10 MUX" value="RX_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="deep-buffer-playback">
diff --git a/configs/atoll/mixer_paths_wcd9375.xml b/configs/atoll/mixer_paths_wcd9375.xml
index c4d2af7..6b5ac56 100644
--- a/configs/atoll/mixer_paths_wcd9375.xml
+++ b/configs/atoll/mixer_paths_wcd9375.xml
@@ -147,6 +147,7 @@
<!-- 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" />
@@ -434,34 +435,56 @@
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference handset">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_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 headset">
+ <path name="echo-reference headphones" />
</path>
<path name="echo-reference display-port">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="DISPLAY_PORT" />
+ <ctl name="EC Reference Channels" value="Two"/>
</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-voip">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip handset">
+ <ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_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 display-port">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="DISPLAY_PORT" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference-voip headphones-44.1">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="RX_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="deep-buffer-playback">
diff --git a/configs/atoll/mixer_paths_wcd9375qrd.xml b/configs/atoll/mixer_paths_wcd9375qrd.xml
index aee360c..c61ad23 100644
--- a/configs/atoll/mixer_paths_wcd9375qrd.xml
+++ b/configs/atoll/mixer_paths_wcd9375qrd.xml
@@ -147,6 +147,7 @@
<!-- 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" />
@@ -435,38 +436,56 @@
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_CDC_DMA_RX_0" />
+ <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 headset">
+ <path name="echo-reference headphones" />
</path>
<path name="echo-reference display-port">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="DISPLAY_PORT" />
+ <ctl name="EC Reference Channels" value="Two"/>
</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-voip">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_CDC_DMA_RX_0" />
+ <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 display-port">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="DISPLAY_PORT" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference-voip headphones-44.1">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="RX_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="deep-buffer-playback">
diff --git a/configs/common_au/audio_policy_configuration.xml b/configs/common_au/audio_policy_configuration.xml
new file mode 100644
index 0000000..9caba69
--- /dev/null
+++ b/configs/common_au/audio_policy_configuration.xml
@@ -0,0 +1,293 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!-- Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved
+ Not a Contribution.
+-->
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<audioPolicyConfiguration version="1.0" xmlns:xi="http://www.w3.org/2001/XInclude">
+ <!-- version section contains a “version” tag in the form “major.minor” e.g version=”1.0” -->
+
+ <!-- Global configuration Decalaration -->
+ <globalConfiguration speaker_drc_enabled="true"/>
+
+
+ <!-- Modules section:
+ There is one section per audio HW module present on the platform.
+ Each module section will contains two mandatory tags for audio HAL “halVersion” and “name”.
+ The module names are the same as in current .conf file:
+ “primary”, “A2DP”, “remote_submix”, “USB”
+ Each module will contain the following sections:
+ “devicePorts”: a list of device descriptors for all input and output devices accessible via this
+ module.
+ This contains both permanently attached devices and removable devices.
+ "gain": constraints applied to the millibel values:
+ - maxValueMB >= minValueMB
+ - defaultValueMB >= minValueMB && defaultValueMB <= maxValueMB
+ - (maxValueMB - minValueMB) % stepValueMB == 0
+ - (defaultValueMB - minValueMB) % stepValueMB == 0
+ “mixPorts”: listing all output and input streams exposed by the audio HAL
+ “routes”: list of possible connections between input and output devices or between stream and
+ devices.
+ "route": is defined by an attribute:
+ -"type": <mux|mix> means all sources are mutual exclusive (mux) or can be mixed (mix)
+ -"sink": the sink involved in this route
+ -"sources": all the sources than can be connected to the sink via vis route
+ “attachedDevices”: permanently attached devices.
+ The attachedDevices section is a list of devices names. The names correspond to device names
+ defined in <devicePorts> section.
+ “defaultOutputDevice”: device to be used by default when no policy rule applies
+ -->
+ <modules>
+ <module name="primary" halVersion="3.0">
+ <attachedDevices>
+ <item>Media Bus</item>
+ <item>Sys Notification Bus</item>
+ <item>Nav Guidance Bus</item>
+ <item>Phone Bus</item>
+ <item>Telephony Tx</item>
+ <item>Built-In Mic</item>
+ <item>Built-In Back Mic</item>
+ <item>Telephony Rx</item>
+ </attachedDevices>
+ <defaultOutputDevice>Media Bus</defaultOutputDevice>
+ <mixPorts>
+ <mixPort name="media" role="source"
+ flags="AUDIO_OUTPUT_FLAG_PRIMARY">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
+ <mixPort name="sys_notification" role="source">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
+ <mixPort name="nav_guidance" role="source">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
+ <mixPort name="phone" role="source">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
+ <mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY|AUDIO_OUTPUT_FLAG_FAST">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
+ <mixPort name="raw" role="source" flags="AUDIO_OUTPUT_FLAG_RAW|AUDIO_OUTPUT_FLAG_FAST">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
+ <mixPort name="deep_buffer" role="source"
+ flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
+ <profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
+ samplingRates="44100,48000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
+ <mixPort name="compressed_offload" role="source"
+ flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
+ <profile name="" format="AUDIO_FORMAT_MP3"
+ samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
+ <profile name="" format="AUDIO_FORMAT_AAC_LC"
+ samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
+ <profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
+ samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
+ <profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
+ samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
+ </mixPort>
+ <mixPort name="voice_tx" role="source">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
+ <mixPort name="mmap_no_irq_out" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_MMAP_NOIRQ">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
+ <mixPort name="voip_rx" role="source"
+ flags="AUDIO_OUTPUT_FLAG_VOIP_RX">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
+ <mixPort name="incall_music_uplink" role="source"
+ flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="8000,16000,48000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
+ <mixPort name="primary input" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
+ samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
+ channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3"/>
+ </mixPort>
+ <mixPort name="fast input" role="sink" flags="AUDIO_INPUT_FLAG_FAST">
+ <profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
+ samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
+ channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3"/>
+ </mixPort>
+ <mixPort name="voice_rx" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
+ </mixPort>
+ <mixPort name="mmap_no_irq_in" role="sink" flags="AUDIO_INPUT_FLAG_MMAP_NOIRQ">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
+ channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3"/>
+ </mixPort>
+ <mixPort name="voip_tx" role="sink"
+ flags="AUDIO_INPUT_FLAG_VOIP_TX">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
+ </mixPort>
+ </mixPorts>
+ <devicePorts>
+ <devicePort tagName="Media Bus" role="sink" type="AUDIO_DEVICE_OUT_BUS"
+ address="BUS00_MEDIA">
+ <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="Sys Notification Bus" role="sink" type="AUDIO_DEVICE_OUT_BUS"
+ address="BUS01_SYS_NOTIFICATION">
+ <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="Nav Guidance Bus" role="sink" type="AUDIO_DEVICE_OUT_BUS"
+ address="BUS02_NAV_GUIDANCE">
+ <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="Phone Bus" role="sink" type="AUDIO_DEVICE_OUT_BUS"
+ address="BUS03_PHONE">
+ <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="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink">
+ </devicePort>
+ <devicePort tagName="Speaker" type="AUDIO_DEVICE_OUT_SPEAKER" role="sink">
+ </devicePort>
+ <devicePort tagName="Speaker Safe" type="AUDIO_DEVICE_OUT_SPEAKER_SAFE" role="sink">
+ </devicePort>
+ <devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
+ </devicePort>
+ <devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
+ </devicePort>
+ <devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
+ </devicePort>
+ <devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
+ </devicePort>
+ <devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
+ encodedFormats="AUDIO_FORMAT_LDAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="44100,48000,88200,96000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </devicePort>
+ <devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink"
+ encodedFormats="AUDIO_FORMAT_LDAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="44100,48000,88200,96000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </devicePort>
+ <devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink"
+ encodedFormats="AUDIO_FORMAT_LDAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="44100,48000,88200,96000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </devicePort>
+ <devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
+ </devicePort>
+ <devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
+ </devicePort>
+ <devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
+ </devicePort>
+ <devicePort tagName="Telephony Rx" type="AUDIO_DEVICE_IN_TELEPHONY_RX" role="source">
+ </devicePort>
+ </devicePorts>
+ <routes>
+ <route type="mix" sink="Media Bus"
+ sources="media"/>
+ <route type="mix" sink="Sys Notification Bus"
+ sources="sys_notification"/>
+ <route type="mix" sink="Nav Guidance Bus"
+ sources="nav_guidance"/>
+ <route type="mix" sink="Phone Bus"
+ sources="phone"/>
+ <route type="mix" sink="Earpiece"
+ sources="primary output,raw,deep_buffer,mmap_no_irq_out,voip_rx"/>
+ <route type="mix" sink="Speaker"
+ sources="primary output,raw,deep_buffer,compressed_offload,mmap_no_irq_out,voip_rx"/>
+ <route type="mix" sink="Speaker Safe"
+ sources="primary output,raw,deep_buffer,compressed_offload,mmap_no_irq_out,voip_rx"/>
+ <route type="mix" sink="BT SCO"
+ sources="primary output,raw,deep_buffer,voip_rx"/>
+ <route type="mix" sink="BT SCO Headset"
+ sources="primary output,raw,deep_buffer,voip_rx"/>
+ <route type="mix" sink="BT SCO Car Kit"
+ sources="primary output,raw,deep_buffer,voip_rx"/>
+ <route type="mix" sink="Telephony Tx"
+ sources="voice_tx,incall_music_uplink"/>
+ <route type="mix" sink="primary input"
+ sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic"/>
+ <route type="mix" sink="fast input"
+ sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic"/>
+ <route type="mix" sink="voice_rx"
+ sources="Telephony Rx"/>
+ <route type="mix" sink="mmap_no_irq_in"
+ sources="Built-In Mic,Built-In Back Mic"/>
+ <route type="mix" sink="voip_tx"
+ sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic"/>
+ <route type="mix" sink="BT A2DP Out"
+ sources="primary output,deep_buffer,compressed_offload,voip_rx"/>
+ <route type="mix" sink="BT A2DP Headphones"
+ sources="primary output,deep_buffer,compressed_offload,voip_rx"/>
+ <route type="mix" sink="BT A2DP Speaker"
+ sources="primary output,deep_buffer,compressed_offload,voip_rx"/>
+ </routes>
+ </module>
+
+ <!-- A2DP Input Audio HAL -->
+ <xi:include href="a2dp_audio_policy_configuration.xml"/>
+
+ <!-- Usb Audio HAL -->
+ <xi:include href="usb_audio_policy_configuration.xml"/>
+
+ <!-- Remote Submix Audio HAL -->
+ <xi:include href="r_submix_audio_policy_configuration.xml"/>
+
+ </modules>
+ <!-- End of Modules section -->
+
+ <!-- Volume section -->
+
+ <xi:include href="audio_policy_volumes.xml"/>
+ <xi:include href="default_volume_tables.xml"/>
+
+ <!-- End of Volume section -->
+
+</audioPolicyConfiguration>
diff --git a/configs/msmnile_au/overlay/frameworks/base/core/res/res/values/config.xml b/configs/common_au/overlay/frameworks/base/core/res/res/values/config.xml
similarity index 94%
rename from configs/msmnile_au/overlay/frameworks/base/core/res/res/values/config.xml
rename to configs/common_au/overlay/frameworks/base/core/res/res/values/config.xml
index 0274f9e..01e279d 100644
--- a/configs/msmnile_au/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/configs/common_au/overlay/frameworks/base/core/res/res/values/config.xml
@@ -23,7 +23,7 @@
<resources>
<!-- Car uses hardware amplifier for volume. -->
- <bool name="config_useFixedVolume">false</bool>
+ <bool name="config_useFixedVolume">true</bool>
<!--
Handle volume keys directly in CarAudioService without passing them to the foreground app
-->
diff --git a/configs/msmnile_au/overlay/packages/services/Car/service/res/values/config.xml b/configs/common_au/overlay/packages/services/Car/service/res/values/config.xml
similarity index 100%
rename from configs/msmnile_au/overlay/packages/services/Car/service/res/values/config.xml
rename to configs/common_au/overlay/packages/services/Car/service/res/values/config.xml
diff --git a/configs/msmnile_au/overlay/packages/services/Car/service/res/xml/car_volume_groups.xml b/configs/common_au/overlay/packages/services/Car/service/res/xml/car_volume_groups.xml
similarity index 100%
rename from configs/msmnile_au/overlay/packages/services/Car/service/res/xml/car_volume_groups.xml
rename to configs/common_au/overlay/packages/services/Car/service/res/xml/car_volume_groups.xml
diff --git a/configs/kona/audio_configs.xml b/configs/kona/audio_configs.xml
index 3c13e33..f5ea583 100644
--- a/configs/kona/audio_configs.xml
+++ b/configs/kona/audio_configs.xml
@@ -49,6 +49,10 @@
<flag name="audio_extn_hdmi_spk_enabled" value="true" />
<flag name="use_xml_audio_policy_conf" value="true" />
<flag name="voice_concurrency" value="false" />
+ <flag name="afe_proxy_enabled" value="true" />
+ <flag name="compress_voip_enabled" value="false" />
+ <flag name="fm_power_opt" value="true" />
+ <flag name="record_play_concurrency" value="false" />
<!-- AV Configs -->
<property name="vendor.audio.use.sw.alac.decoder" value="true"/>
@@ -65,50 +69,4 @@
<flag name="qti_flac_decoder" value="true" />
<flag name="vorbis_offload_enabled" value="true" />
<flag name="wma_offload_enabled" value="true" />
-
- <!-- AHAL Configs -->
- <flag name="a2dp_offload_enabled" value="true" />
- <flag name="anc_headset_enabled" value="true" />
- <flag name="audiosphere_enabled" value="true" />
- <flag name="audio_zoom_enabled" value="false" />
- <flag name="battery_listener_enabled" value="true" />
- <flag name="compress_capture_enabled" value="false" />
- <flag name="compress_in_enabled" value="true" />
- <flag name="compress_metadata_needed" value="true" />
- <flag name="concurrent_capture_enabled" value="true" />
- <flag name="custom_stereo_enabled" value="true" />
- <flag name="display_port_enabled" value="true" />
- <flag name="dsm_feedback_enabled" value="false" />
- <flag name="dynamic_ecns_enabled" value="true" />
- <flag name="ext_hw_plugin_enabled" value="true" />
- <flag name="ext_qdsp_enabled" value="false" />
- <flag name="ext_spkr_enabled" value="false" />
- <flag name="ext_spkr_tfa_enabled" value="false" />
- <flag name="fluence_enabled" value="true" />
- <flag name="hdmi_edid_enabled" value="true" />
- <flag name="hdmi_passthrough_enabled" value="true" />
- <flag name="hfp_enabled" value="true" />
- <flag name="hifi_audio_enabled" value="false" />
- <flag name="hwdep_cal_enabled" value="false" />
- <flag name="incall_music_enabled" value="true" />
- <flag name="keep_alive_enabled" value="true" />
- <flag name="kpi_optimize_enabled" value="true" />
- <flag name="maxx_audio_enabled" value="false" />
- <flag name="receiver_aided_stereo" value="true" />
- <flag name="snd_monitor_enabled" value="true" />
- <flag name="source_track_enabled" value="true" />
- <flag name="spkr_prot_enabled" value="true" />
- <flag name="ssrec_enabled" value="true" />
- <flag name="usb_offload_burst_mode" value="true" />
- <flag name="usb_offload_enabled" value="true" />
- <flag name="usb_offload_sidetone_vol_enabled" value="false" />
- <flag name="use_deep_buffer_as_primary_output" value="false" />
- <flag name="vbat_enabled" value="true" />
- <flag name="wsa_enabled" value="false" />
-
- <!-- Common configs between APM and AHAL -->
- <flag name="afe_proxy_enabled" value="true" />
- <flag name="compress_voip_enabled" value="false" />
- <flag name="fm_power_opt" value="true" />
- <flag name="record_play_concurrency" value="false" />
</configs>
diff --git a/configs/kona/audio_configs_stock.xml b/configs/kona/audio_configs_stock.xml
index e26ef14..dd0c3b4 100644
--- a/configs/kona/audio_configs_stock.xml
+++ b/configs/kona/audio_configs_stock.xml
@@ -29,45 +29,4 @@
-->
<configs>
<!-- AHAL Configs -->
- <flag name="a2dp_offload_enabled" value="true" />
- <flag name="afe_proxy_enabled" value="false" />
- <flag name="anc_headset_enabled" value="false" />
- <flag name="audio_zoom_enabled" value="false" />
- <flag name="audiosphere_enabled" value="false" />
- <flag name="battery_listener_enabled" value="false" />
- <flag name="compress_capture_enabled" value="false" />
- <flag name="compress_in_enabled" value="false" />
- <flag name="compress_metadata_needed" value="false" />
- <flag name="compress_voip_enabled" value="false" />
- <flag name="concurrent_capture_enabled" value="true" />
- <flag name="custom_stereo_enabled" value="false" />
- <flag name="display_port_enabled" value="false" />
- <flag name="dsm_feedback_enabled" value="false" />
- <flag name="dynamic_ecns_enabled" value="false" />
- <flag name="ext_hw_plugin_enabled" value="false" />
- <flag name="ext_qdsp_enabled" value="true" />
- <flag name="ext_spkr_enabled" value="true" />
- <flag name="ext_spkr_tfa_enabled" value="false" />
- <flag name="fluence_enabled" value="false" />
- <flag name="fm_power_opt" value="false" />
- <flag name="hdmi_edid_enabled" value="false" />
- <flag name="hdmi_passthrough_enabled" value="false" />
- <flag name="hfp_enabled" value="true" />
- <flag name="hifi_audio_enabled" value="false" />
- <flag name="hwdep_cal_enabled" value="true" />
- <flag name="incall_music_enabled" value="true" />
- <flag name="keep_alive_enabled" value="false" />
- <flag name="kpi_optimize_enabled" value="false" />
- <flag name="receiver_aided_stereo" value="false" />
- <flag name="record_play_concurrency" value="false" />
- <flag name="snd_monitor_enabled" value="true" />
- <flag name="source_track_enabled" value="false" />
- <flag name="spkr_prot_enabled" value="true" />
- <flag name="ssrec_enabled" value="false" />
- <flag name="usb_offload_burst_mode" value="false" />
- <flag name="usb_offload_enabled" value="true" />
- <flag name="usb_offload_sidetone_vol_enabled" value="false" />
- <flag name="use_deep_buffer_as_primary_output" value="false" />
- <flag name="vbat_enabled" value="false" />
- <flag name="wsa_enabled" value="false" />
</configs>
diff --git a/configs/kona/kona.mk b/configs/kona/kona.mk
index 33a678f..db467e5 100644
--- a/configs/kona/kona.mk
+++ b/configs/kona/kona.mk
@@ -423,6 +423,7 @@
vendor.audio.feature.hifi_audio.enable=false \
vendor.audio.feature.hwdep_cal.enable=false \
vendor.audio.feature.incall_music.enable=true \
+vendor.audio.feature.multi_voice_session.enable=true \
vendor.audio.feature.keep_alive.enable=true \
vendor.audio.feature.kpi_optimize.enable=true \
vendor.audio.feature.maxx_audio.enable=false \
@@ -465,6 +466,10 @@
android.hardware.audio.effect@5.0 \
android.hardware.audio.effect@5.0-impl
+# enable sound trigger hidl hal 2.2
+PRODUCT_PACKAGES += \
+ android.hardware.soundtrigger@2.2-impl \
+
PRODUCT_PACKAGES_ENG += \
VoicePrintTest \
VoicePrintDemo
diff --git a/configs/kona/mixer_paths.xml b/configs/kona/mixer_paths.xml
index 201c9fb..73f4d20 100644
--- a/configs/kona/mixer_paths.xml
+++ b/configs/kona/mixer_paths.xml
@@ -152,6 +152,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" />
@@ -444,10 +446,17 @@
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference handset">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_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 headset">
@@ -456,18 +465,27 @@
<path name="echo-reference display-port">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="DISPLAY_PORT" />
+ <ctl name="EC Reference Channels" value="Two"/>
</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-voip">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip handset">
+ <ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_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="deep-buffer-playback">
@@ -2053,6 +2071,21 @@
<ctl name="SpkrRight SWR DAC_Port Switch" value="1" />
</path>
+ <path name="speaker-vbat-mono">
+ <path name="speaker-mono" />
+ <ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
+ </path>
+
+ <path name="speaker-vbat-mono-2">
+ <path name="speaker-mono-2" />
+ <ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
+ </path>
+
+ <path name="speaker-vbat">
+ <path name="speaker" />
+ <ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
+ <ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
+ </path>
<path name="speaker-hdk">
<path name="speaker-mono" />
@@ -2135,6 +2168,22 @@
<path name="speaker-protected" />
</path>
+ <path name="speaker-protected-vbat">
+ <path name="speaker-protected" />
+ <ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
+ <ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
+ </path>
+
+ <path name="voice-speaker-protected-vbat">
+ <path name="voice-speaker-protected" />
+ <ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
+ </path>
+
+ <path name="voice-speaker-2-protected-vbat">
+ <path name="voice-speaker-2-protected" />
+ <ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
+ </path>
+
<path name="vi-feedback">
</path>
@@ -2526,7 +2575,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="ADC1" />
+ <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">
diff --git a/configs/kona/mixer_paths_cdp.xml b/configs/kona/mixer_paths_cdp.xml
index ed9bfc0..e6dbf2b 100644
--- a/configs/kona/mixer_paths_cdp.xml
+++ b/configs/kona/mixer_paths_cdp.xml
@@ -153,6 +153,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" />
@@ -450,10 +452,17 @@
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference handset">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_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 headset">
@@ -462,18 +471,27 @@
<path name="echo-reference display-port">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="DISPLAY_PORT" />
+ <ctl name="EC Reference Channels" value="Two"/>
</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-voip">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip handset">
+ <ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_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="deep-buffer-playback">
@@ -2090,6 +2108,21 @@
<ctl name="SpkrRight SWR DAC_Port Switch" value="1" />
</path>
+ <path name="speaker-vbat-mono">
+ <path name="speaker-mono" />
+ <ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
+ </path>
+
+ <path name="speaker-vbat-mono-2">
+ <path name="speaker-mono-2" />
+ <ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
+ </path>
+
+ <path name="speaker-vbat">
+ <path name="speaker" />
+ <ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
+ <ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
+ </path>
<path name="speaker-hdk">
<path name="speaker-mono" />
@@ -2172,6 +2205,22 @@
<path name="speaker-protected" />
</path>
+ <path name="speaker-protected-vbat">
+ <path name="speaker-protected" />
+ <ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
+ <ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
+ </path>
+
+ <path name="voice-speaker-protected-vbat">
+ <path name="voice-speaker-protected" />
+ <ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
+ </path>
+
+ <path name="voice-speaker-2-protected-vbat">
+ <path name="voice-speaker-2-protected" />
+ <ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
+ </path>
+
<path name="vi-feedback">
</path>
diff --git a/configs/kona/mixer_paths_qrd.xml b/configs/kona/mixer_paths_qrd.xml
index 3cf38a1..de9095d 100644
--- a/configs/kona/mixer_paths_qrd.xml
+++ b/configs/kona/mixer_paths_qrd.xml
@@ -152,6 +152,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" />
@@ -444,10 +446,17 @@
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_CDC_DMA_RX_0" />
+ <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 headset">
@@ -456,22 +465,27 @@
<path name="echo-reference display-port">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="DISPLAY_PORT" />
+ <ctl name="EC Reference Channels" value="Two"/>
</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-voip">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_CDC_DMA_RX_0" />
+ <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="deep-buffer-playback">
@@ -2489,6 +2503,22 @@
<path name="speaker-mono" />
</path>
+ <path name="speaker-vbat-mono">
+ <path name="speaker-mono" />
+ <ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
+ </path>
+
+ <path name="speaker-vbat-mono-2">
+ <path name="speaker-mono-2" />
+ <ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
+ </path>
+
+ <path name="speaker-vbat">
+ <path name="speaker" />
+ <ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
+ <ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
+ </path>
+
<path name="sidetone-iir">
<ctl name="IIR0 Enable Band1" value="1" />
<ctl name="IIR0 Enable Band2" value="1" />
@@ -2548,6 +2578,22 @@
<path name="speaker-protected" />
</path>
+ <path name="speaker-protected-vbat">
+ <path name="speaker-protected" />
+ <ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
+ <ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
+ </path>
+
+ <path name="voice-speaker-protected-vbat">
+ <path name="voice-speaker-protected" />
+ <ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
+ </path>
+
+ <path name="voice-speaker-2-protected-vbat">
+ <path name="voice-speaker-2-protected" />
+ <ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
+ </path>
+
<path name="vi-feedback">
</path>
diff --git a/configs/kona/sound_trigger_platform_info.xml b/configs/kona/sound_trigger_platform_info.xml
index 7c8c25f..2a44adc 100644
--- a/configs/kona/sound_trigger_platform_info.xml
+++ b/configs/kona/sound_trigger_platform_info.xml
@@ -98,6 +98,14 @@
<param bit_wdith="16"/>
<param channel_count="1"/>
</arm_ss_usecase>
+ <arm_ss_usecase>
+ <param sm_detection_type= "KEYWORD_DETECTION" />
+ <param sm_id="0x8" />
+ <param module_lib="libcapiv2svarnn.so"/>
+ <param sample_rate="16000"/>
+ <param bit_wdith="16"/>
+ <param channel_count="1"/>
+ </arm_ss_usecase>
<!-- Module and param ids with which the algorithm is integrated
in non-graphite firmware (note these must come after gcs params)
Extends flexibility to have different ids based on execution type.
diff --git a/configs/lito/audio_configs.xml b/configs/lito/audio_configs.xml
index 271023d..8e3cda2 100644
--- a/configs/lito/audio_configs.xml
+++ b/configs/lito/audio_configs.xml
@@ -49,6 +49,10 @@
<flag name="audio_extn_hdmi_spk_enabled" value="true" />
<flag name="use_xml_audio_policy_conf" value="true" />
<flag name="voice_concurrency" value="false" />
+ <flag name="afe_proxy_enabled" value="true" />
+ <flag name="compress_voip_enabled" value="false" />
+ <flag name="fm_power_opt" value="true" />
+ <flag name="record_play_concurrency" value="false" />
<!-- AV Configs -->
<property name="vendor.audio.use.sw.alac.decoder" value="true"/>
@@ -65,50 +69,4 @@
<flag name="qti_flac_decoder" value="true" />
<flag name="vorbis_offload_enabled" value="true" />
<flag name="wma_offload_enabled" value="true" />
-
- <!-- AHAL Configs -->
- <flag name="a2dp_offload_enabled" value="true" />
- <flag name="anc_headset_enabled" value="true" />
- <flag name="audiosphere_enabled" value="true" />
- <flag name="audio_zoom_enabled" value="false" />
- <flag name="battery_listener_enabled" value="true" />
- <flag name="compress_capture_enabled" value="false" />
- <flag name="compress_in_enabled" value="true" />
- <flag name="compress_metadata_needed" value="true" />
- <flag name="concurrent_capture_enabled" value="true" />
- <flag name="custom_stereo_enabled" value="true" />
- <flag name="display_port_enabled" value="true" />
- <flag name="dsm_feedback_enabled" value="false" />
- <flag name="dynamic_ecns_enabled" value="true" />
- <flag name="ext_hw_plugin_enabled" value="true" />
- <flag name="ext_qdsp_enabled" value="false" />
- <flag name="ext_spkr_enabled" value="false" />
- <flag name="ext_spkr_tfa_enabled" value="false" />
- <flag name="fluence_enabled" value="true" />
- <flag name="hdmi_edid_enabled" value="true" />
- <flag name="hdmi_passthrough_enabled" value="true" />
- <flag name="hfp_enabled" value="true" />
- <flag name="hifi_audio_enabled" value="false" />
- <flag name="hwdep_cal_enabled" value="false" />
- <flag name="incall_music_enabled" value="true" />
- <flag name="keep_alive_enabled" value="true" />
- <flag name="kpi_optimize_enabled" value="true" />
- <flag name="maxx_audio_enabled" value="false" />
- <flag name="receiver_aided_stereo" value="true" />
- <flag name="snd_monitor_enabled" value="true" />
- <flag name="source_track_enabled" value="true" />
- <flag name="spkr_prot_enabled" value="true" />
- <flag name="ssrec_enabled" value="true" />
- <flag name="usb_offload_burst_mode" value="true" />
- <flag name="usb_offload_enabled" value="true" />
- <flag name="usb_offload_sidetone_vol_enabled" value="false" />
- <flag name="use_deep_buffer_as_primary_output" value="false" />
- <flag name="vbat_enabled" value="true" />
- <flag name="wsa_enabled" value="false" />
-
- <!-- Common configs between APM and AHAL -->
- <flag name="afe_proxy_enabled" value="true" />
- <flag name="compress_voip_enabled" value="false" />
- <flag name="fm_power_opt" value="true" />
- <flag name="record_play_concurrency" value="false" />
</configs>
diff --git a/configs/lito/audio_configs_stock.xml b/configs/lito/audio_configs_stock.xml
index e26ef14..dd0c3b4 100644
--- a/configs/lito/audio_configs_stock.xml
+++ b/configs/lito/audio_configs_stock.xml
@@ -29,45 +29,4 @@
-->
<configs>
<!-- AHAL Configs -->
- <flag name="a2dp_offload_enabled" value="true" />
- <flag name="afe_proxy_enabled" value="false" />
- <flag name="anc_headset_enabled" value="false" />
- <flag name="audio_zoom_enabled" value="false" />
- <flag name="audiosphere_enabled" value="false" />
- <flag name="battery_listener_enabled" value="false" />
- <flag name="compress_capture_enabled" value="false" />
- <flag name="compress_in_enabled" value="false" />
- <flag name="compress_metadata_needed" value="false" />
- <flag name="compress_voip_enabled" value="false" />
- <flag name="concurrent_capture_enabled" value="true" />
- <flag name="custom_stereo_enabled" value="false" />
- <flag name="display_port_enabled" value="false" />
- <flag name="dsm_feedback_enabled" value="false" />
- <flag name="dynamic_ecns_enabled" value="false" />
- <flag name="ext_hw_plugin_enabled" value="false" />
- <flag name="ext_qdsp_enabled" value="true" />
- <flag name="ext_spkr_enabled" value="true" />
- <flag name="ext_spkr_tfa_enabled" value="false" />
- <flag name="fluence_enabled" value="false" />
- <flag name="fm_power_opt" value="false" />
- <flag name="hdmi_edid_enabled" value="false" />
- <flag name="hdmi_passthrough_enabled" value="false" />
- <flag name="hfp_enabled" value="true" />
- <flag name="hifi_audio_enabled" value="false" />
- <flag name="hwdep_cal_enabled" value="true" />
- <flag name="incall_music_enabled" value="true" />
- <flag name="keep_alive_enabled" value="false" />
- <flag name="kpi_optimize_enabled" value="false" />
- <flag name="receiver_aided_stereo" value="false" />
- <flag name="record_play_concurrency" value="false" />
- <flag name="snd_monitor_enabled" value="true" />
- <flag name="source_track_enabled" value="false" />
- <flag name="spkr_prot_enabled" value="true" />
- <flag name="ssrec_enabled" value="false" />
- <flag name="usb_offload_burst_mode" value="false" />
- <flag name="usb_offload_enabled" value="true" />
- <flag name="usb_offload_sidetone_vol_enabled" value="false" />
- <flag name="use_deep_buffer_as_primary_output" value="false" />
- <flag name="vbat_enabled" value="false" />
- <flag name="wsa_enabled" value="false" />
</configs>
diff --git a/configs/lito/audio_platform_info.xml b/configs/lito/audio_platform_info.xml
index 6d14b50..93d47c5 100644
--- a/configs/lito/audio_platform_info.xml
+++ b/configs/lito/audio_platform_info.xml
@@ -102,6 +102,7 @@
<usecase name="USECASE_AUDIO_A2DP_ABR_FEEDBACK" type="in" id="36" />
<usecase name="USECASE_AUDIO_A2DP_ABR_FEEDBACK" type="out" id="36" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK" type="out" id="23" />
+ <usecase name="USECASE_AUDIO_RECORD_COMPRESS2" type="in" id="37" />
</pcm_ids>
<config_params>
<param key="spkr_1_tz_name" value="wsatz.13"/>
@@ -137,6 +138,7 @@
<device name="SND_DEVICE_OUT_SPEAKER_AND_LINE" backend="speaker-and-headphones" interface="WSA_CDC_DMA_RX_0-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_ANC_HEADSET" backend="speaker-and-headphones" interface="WSA_CDC_DMA_RX_0-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
+ <device name="SND_DEVICE_OUT_VOICE_HEADSET" backend="headset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_ANC_HEADSET" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_LINE" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_TTY_FULL_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
@@ -189,10 +191,15 @@
<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_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
+ <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_HCO_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
+ <device name="SND_DEVICE_IN_UNPROCESSED_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_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_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"/>
@@ -211,8 +218,8 @@
<device name="SND_DEVICE_IN_VOICE_REC_DMIC_FLUENCE" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_AANC_HANDSET_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_QUAD_MIC" interface="TX_CDC_DMA_TX_3"/>
- <device name="SND_DEVICE_IN_HANDSET_STEREO_DMIC" interface="TX_CDC_DMA_TX_3"/>
- <device name="SND_DEVICE_IN_SPEAKER_STEREO_DMIC" interface="TX_CDC_DMA_TX_3"/>
+ <device name="SND_DEVICE_IN_HANDSET_DMIC_STEREO" interface="TX_CDC_DMA_TX_3"/>
+ <device name="SND_DEVICE_IN_SPEAKER_DMIC_STEREO" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK" interface="WSA_CDC_DMA_TX_0"/>
<device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK_MONO_1" interface="WSA_CDC_DMA_TX_0"/>
<device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK_MONO_2" interface="WSA_CDC_DMA_TX_0"/>
@@ -425,13 +432,13 @@
<mic_info mic_device_id="builtin_mic_4"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
- <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_STEREO_DMIC">
+ <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_DMIC_STEREO">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
- <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_STEREO_DMIC">
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC_STEREO">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
diff --git a/configs/lito/audio_platform_info_intcodec.xml b/configs/lito/audio_platform_info_intcodec.xml
index 7f2a4a0..e72a83a 100644
--- a/configs/lito/audio_platform_info_intcodec.xml
+++ b/configs/lito/audio_platform_info_intcodec.xml
@@ -66,6 +66,7 @@
<usecase name="USECASE_AUDIO_A2DP_ABR_FEEDBACK" type="in" id="36" />
<usecase name="USECASE_AUDIO_A2DP_ABR_FEEDBACK" type="out" id="36" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK" type="out" id="23" />
+ <usecase name="USECASE_AUDIO_RECORD_COMPRESS2" type="in" id="37" />
</pcm_ids>
<config_params>
<!-- In the below value string, the value indicates default mono -->
@@ -114,6 +115,7 @@
<device name="SND_DEVICE_OUT_SPEAKER_AND_LINE" backend="speaker-and-headphones" interface="WSA_CDC_DMA_RX_0-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_ANC_HEADSET" backend="speaker-and-headphones" interface="WSA_CDC_DMA_RX_0-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
+ <device name="SND_DEVICE_OUT_VOICE_HEADSET" backend="headset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_ANC_HEADSET" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_LINE" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_TTY_FULL_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
@@ -166,10 +168,15 @@
<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_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
+ <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_HCO_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
+ <device name="SND_DEVICE_IN_UNPROCESSED_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_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_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"/>
diff --git a/configs/lito/audio_platform_info_qrd.xml b/configs/lito/audio_platform_info_qrd.xml
index 635f321..b8bbf8a 100644
--- a/configs/lito/audio_platform_info_qrd.xml
+++ b/configs/lito/audio_platform_info_qrd.xml
@@ -66,6 +66,7 @@
<usecase name="USECASE_AUDIO_A2DP_ABR_FEEDBACK" type="in" id="36" />
<usecase name="USECASE_AUDIO_A2DP_ABR_FEEDBACK" type="out" id="36" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK" type="out" id="23" />
+ <usecase name="USECASE_AUDIO_RECORD_COMPRESS2" type="in" id="37" />
</pcm_ids>
<config_params>
<!-- In the below value string, the value indicates default mono -->
@@ -113,6 +114,7 @@
<device name="SND_DEVICE_OUT_SPEAKER_AND_LINE" backend="speaker-and-headphones" interface="WSA_CDC_DMA_RX_0-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_ANC_HEADSET" backend="speaker-and-headphones" interface="WSA_CDC_DMA_RX_0-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
+ <device name="SND_DEVICE_OUT_VOICE_HEADSET" backend="headset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_ANC_HEADSET" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_LINE" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_TTY_FULL_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
@@ -165,10 +167,15 @@
<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_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
+ <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_HCO_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
+ <device name="SND_DEVICE_IN_UNPROCESSED_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_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_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"/>
diff --git a/configs/lito/audio_policy_configuration.xml b/configs/lito/audio_policy_configuration.xml
index d932652..c6365ff 100644
--- a/configs/lito/audio_policy_configuration.xml
+++ b/configs/lito/audio_policy_configuration.xml
@@ -194,7 +194,7 @@
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
channelMasks="AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
</mixPort>
- <mixPort name="record_24" role="sink">
+ <mixPort name="record_24" role="sink" maxOpenCount="2" maxActiveCount="2">
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>
diff --git a/configs/lito/lito.mk b/configs/lito/lito.mk
index 4022d72..0b0f1bb 100644
--- a/configs/lito/lito.mk
+++ b/configs/lito/lito.mk
@@ -394,7 +394,7 @@
vendor.audio.feature.compress_in.enable=true \
vendor.audio.feature.compress_meta_data.enable=true \
vendor.audio.feature.compr_voip.enable=false \
-vendor.audio.feature.concurrent_capture.enable=false \
+vendor.audio.feature.concurrent_capture.enable=true \
vendor.audio.feature.custom_stereo.enable=true \
vendor.audio.feature.display_port.enable=true \
vendor.audio.feature.dsm_feedback.enable=false \
@@ -411,6 +411,7 @@
vendor.audio.feature.hifi_audio.enable=false \
vendor.audio.feature.hwdep_cal.enable=false \
vendor.audio.feature.incall_music.enable=true \
+vendor.audio.feature.multi_voice_session.enable=true \
vendor.audio.feature.keep_alive.enable=true \
vendor.audio.feature.kpi_optimize.enable=true \
vendor.audio.feature.maxx_audio.enable=false \
diff --git a/configs/lito/mixer_paths.xml b/configs/lito/mixer_paths.xml
index ec6be2e..dab30ae 100644
--- a/configs/lito/mixer_paths.xml
+++ b/configs/lito/mixer_paths.xml
@@ -61,11 +61,16 @@
<ctl name="MultiMedia5 Mixer AFE_PCM_TX" value="0" />
<ctl name="MultiMedia5 Mixer TX_CDC_DMA_TX_3" 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="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 +134,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_CDC_DMA_TX_3 Channels" value="One" />
<ctl name="WSA_CDC_DMA_RX_0 Channels" value="One" />
<ctl name="RX_CDC_DMA_RX_0 Channels" value="One" />
@@ -146,6 +152,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" />
@@ -175,6 +183,7 @@
<ctl name="WSA_CDC_DMA_RX_0_Voice Mixer VoiceMMode1" value="0" />
<ctl name="RX_CDC_DMA_RX_0_Voice Mixer VoiceMMode1" value="0" />
<ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="0" />
+ <ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_4_MMode1" value="0" />
<!-- Multimode Voice1 BTSCO -->
<ctl name="SLIM_7_RX_Voice Mixer VoiceMMode1" value="0" />
<ctl name="VoiceMMode1_Tx Mixer SLIM_7_TX_MMode1" value="0" />
@@ -191,6 +200,7 @@
<ctl name="WSA_CDC_DMA_RX_0_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" />
<!-- Multimode Voice2 BTSCO -->
<ctl name="SLIM_7_RX_Voice Mixer VoiceMMode2" value="0" />
<ctl name="VoiceMMode2_Tx Mixer SLIM_7_TX_MMode2" value="0" />
@@ -423,6 +433,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" />
@@ -434,26 +445,46 @@
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference handset">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_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 headset">
+ <path name="echo-reference headphones" />
</path>
<path name="echo-reference display-port">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="DISPLAY_PORT" />
+ <ctl name="EC Reference Channels" value="Two"/>
</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-voip">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip handset">
+ <ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_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="deep-buffer-playback">
@@ -507,6 +538,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia1" value="1" />
</path>
+ <path name="deep-buffer-playback headset">
+ <path name="deep-buffer-playback headphones" />
+ </path>
+
<path name="deep-buffer-playback speaker-and-headphones">
<path name="deep-buffer-playback headphones" />
<path name="deep-buffer-playback" />
@@ -578,6 +613,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia5" value="1" />
</path>
+ <path name="low-latency-playback headset">
+ <path name="low-latency-playback headphones" />
+ </path>
+
<path name="low-latency-playback speaker-and-headphones">
<path name="low-latency-playback headphones" />
<path name="low-latency-playback" />
@@ -613,6 +652,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia8" value="1" />
</path>
+ <path name="audio-ull-playback headset">
+ <path name="audio-ull-playback headphones" />
+ </path>
+
<path name="audio-ull-playback speaker-and-headphones">
<path name="audio-ull-playback" />
<path name="audio-ull-playback headphones" />
@@ -730,6 +773,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia4" value="1" />
</path>
+ <path name="compress-offload-playback headset">
+ <path name="compress-offload-playback headphones" />
+ </path>
+
<path name="compress-offload-playback headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia4" value="1" />
</path>
@@ -805,6 +852,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia7" value="1" />
</path>
+ <path name="compress-offload-playback2 headset">
+ <path name="compress-offload-playback2 headphones" />
+ </path>
+
<path name="compress-offload-playback2 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia7" value="1" />
@@ -881,6 +932,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia10" value="1" />
</path>
+ <path name="compress-offload-playback3 headset">
+ <path name="compress-offload-playback3 headphones" />
+ </path>
+
<path name="compress-offload-playback3 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia10" value="1" />
</path>
@@ -957,6 +1012,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia11" value="1" />
</path>
+ <path name="compress-offload-playback4 headset">
+ <path name="compress-offload-playback4 headphones" />
+ </path>
+
<path name="compress-offload-playback4 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia11" value="1" />
</path>
@@ -1032,6 +1091,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia12" value="1" />
</path>
+ <path name="compress-offload-playback5 headset">
+ <path name="compress-offload-playback5 headphones" />
+ </path>
+
<path name="compress-offload-playback5 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia12" value="1" />
</path>
@@ -1107,6 +1170,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia13" value="1" />
</path>
+ <path name="compress-offload-playback6 headset">
+ <path name="compress-offload-playback6 headphones" />
+ </path>
+
<path name="compress-offload-playback6 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia13" value="1" />
</path>
@@ -1182,6 +1249,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia14" value="1" />
</path>
+ <path name="compress-offload-playback7 headset">
+ <path name="compress-offload-playback7 headphones" />
+ </path>
+
<path name="compress-offload-playback7 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia14" value="1" />
</path>
@@ -1257,6 +1328,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia15" value="1" />
</path>
+ <path name="compress-offload-playback8 headset">
+ <path name="compress-offload-playback8 headphones" />
+ </path>
+
<path name="compress-offload-playback8 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia15" value="1" />
</path>
@@ -1332,6 +1407,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia16" value="1" />
</path>
+ <path name="compress-offload-playback9 headset">
+ <path name="compress-offload-playback9 headphones" />
+ </path>
+
<path name="compress-offload-playback9 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia16" value="1" />
</path>
@@ -1381,6 +1460,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 capture-fm">
<ctl name="MultiMedia1 Mixer SLIM_8_TX" value="1" />
</path>
@@ -1406,6 +1489,31 @@
<ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="1" />
</path>
+ <path name="audio-record-compress2">
+ <ctl name="MultiMedia17 Mixer TX_CDC_DMA_TX_3" value="1" />
+ </path>
+
+ <path name="audio-record-compress2 bt-sco">
+ <ctl name="MultiMedia17 Mixer SLIM_7_TX" value="1" />
+ </path>
+
+ <path name="audio-record-compress bt-sco-wb">
+ <ctl name="BT SampleRate" value="KHZ_16" />
+ <path name="audio-record-compress2 bt-sco" />
+ </path>
+
+ <path name="audio-record-compress2 bt-sco-swb">
+ <path name="audio-record-compress2 bt-sco" />
+ </path>
+
+ <path name="audio-record-compress2 usb-headset-mic">
+ <ctl name="MultiMedia17 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
+ <path name="audio-record-compress2 headset-mic">
+ <ctl name="MultiMedia17 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="low-latency-record">
<ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
@@ -1447,6 +1555,10 @@
<ctl name="RX_CDC_DMA_RX_0_DL_HL Switch" value="1" />
</path>
+ <path name="play-fm headset">
+ <path name="play-fm headphones" />
+ </path>
+
<path name="incall-rec-uplink">
<ctl name="MultiMedia1 Mixer VOC_REC_UL" value="1" />
</path>
@@ -1471,6 +1583,10 @@
<path name="incall-rec-uplink" />
</path>
+ <path name="incall-rec-uplink headset-mic">
+ <path name="incall-rec-uplink" />
+ </path>
+
<path name="incall-rec-uplink-compress">
<ctl name="MultiMedia8 Mixer VOC_REC_UL" value="1" />
</path>
@@ -1495,6 +1611,10 @@
<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" />
</path>
@@ -1519,6 +1639,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>
@@ -1543,6 +1667,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" />
@@ -1568,6 +1696,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" />
@@ -1593,6 +1725,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>
@@ -1662,6 +1798,11 @@
<ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="1" />
</path>
+ <path name="voicemmode1-call headset">
+ <ctl name="RX_CDC_DMA_RX_0_Voice Mixer VoiceMMode1" value="1" />
+ <ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_4_MMode1" value="1" />
+ </path>
+
<path name="voicemmode1-call bt-sco">
<ctl name="SLIM_7_RX_Voice Mixer VoiceMMode1" value="1" />
<ctl name="VoiceMMode1_Tx Mixer SLIM_7_TX_MMode1" value="1" />
@@ -1711,6 +1852,11 @@
<ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="1" />
</path>
+ <path name="voicemmode2-call headset">
+ <ctl name="RX_CDC_DMA_RX_0_Voice Mixer VoiceMMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_4_MMode2" value="1" />
+ </path>
+
<path name="voicemmode2-call bt-sco">
<ctl name="SLIM_7_RX_Voice Mixer VoiceMMode2" value="1" />
<ctl name="VoiceMMode2_Tx Mixer SLIM_7_TX_MMode2" value="1" />
@@ -1819,6 +1965,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="WSA_CDC_DMA_RX_0_DL_HL Switch" value="1" />
</path>
@@ -1828,10 +1978,10 @@
<!-- 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 DEC5 MUX" value="SWR_MIC" />
+ <ctl name="TX SMIC MUX5" value="ADC1" />
+ <ctl name="TX_CDC_DMA_TX_4 Channels" value="One" />
+ <ctl name="TX_AIF2_CAP Mixer DEC5" value="1" />
<ctl name="ADC2_MIXER Switch" value="1" />
<ctl name="ADC2 MUX" value="INP2" />
</path>
@@ -2054,7 +2204,6 @@
<path name="headset-mic">
<path name="amic2" />
- <ctl name="TX_DEC0 Volume" value="84" />
</path>
<path name="headset-mic-liquid">
@@ -2111,6 +2260,10 @@
<path name="headphones" />
</path>
+ <path name="voice-headset">
+ <path name="headphones" />
+ </path>
+
<path name="voice-line">
<path name="voice-headphones" />
</path>
@@ -2646,6 +2799,10 @@
<ctl name="MultiMedia16 Mixer USB_AUDIO_TX" value="1" />
</path>
+ <path name="mmap-record headset-mic">
+ <ctl name="MultiMedia16 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="hifi-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia2" value="1" />
</path>
@@ -2726,6 +2883,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/lito/mixer_paths_qrd.xml b/configs/lito/mixer_paths_qrd.xml
index b246c5a..4a369a4 100644
--- a/configs/lito/mixer_paths_qrd.xml
+++ b/configs/lito/mixer_paths_qrd.xml
@@ -61,11 +61,16 @@
<ctl name="MultiMedia5 Mixer AFE_PCM_TX" value="0" />
<ctl name="MultiMedia5 Mixer TX_CDC_DMA_TX_3" 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="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 +134,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_CDC_DMA_TX_3 Channels" value="One" />
<ctl name="WSA_CDC_DMA_RX_0 Channels" value="One" />
<ctl name="RX_CDC_DMA_RX_0 Channels" value="One" />
@@ -146,6 +152,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" />
@@ -175,6 +183,7 @@
<ctl name="WSA_CDC_DMA_RX_0_Voice Mixer VoiceMMode1" value="0" />
<ctl name="RX_CDC_DMA_RX_0_Voice Mixer VoiceMMode1" value="0" />
<ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="0" />
+ <ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_4_MMode1" value="0" />
<!-- Multimode Voice1 BTSCO -->
<ctl name="SLIM_7_RX_Voice Mixer VoiceMMode1" value="0" />
<ctl name="VoiceMMode1_Tx Mixer SLIM_7_TX_MMode1" value="0" />
@@ -191,6 +200,7 @@
<ctl name="WSA_CDC_DMA_RX_0_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" />
<!-- Multimode Voice2 BTSCO -->
<ctl name="SLIM_7_RX_Voice Mixer VoiceMMode2" value="0" />
<ctl name="VoiceMMode2_Tx Mixer SLIM_7_TX_MMode2" value="0" />
@@ -423,6 +433,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" />
@@ -434,30 +445,46 @@
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_CDC_DMA_RX_0" />
+ <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 headset">
+ <path name="echo-reference headphones" />
</path>
<path name="echo-reference display-port">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="DISPLAY_PORT" />
+ <ctl name="EC Reference Channels" value="Two"/>
</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-voip">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_CDC_DMA_RX_0" />
+ <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="deep-buffer-playback">
@@ -515,6 +542,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia1" value="1" />
</path>
+ <path name="deep-buffer-playback headset">
+ <path name="deep-buffer-playback headphones" />
+ </path>
+
<path name="deep-buffer-playback speaker-and-headphones">
<path name="deep-buffer-playback headphones" />
<path name="deep-buffer-playback" />
@@ -590,6 +621,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia5" value="1" />
</path>
+ <path name="low-latency-playback headset">
+ <path name="low-latency-playback headphones" />
+ </path>
+
<path name="low-latency-playback speaker-and-headphones">
<path name="low-latency-playback headphones" />
<path name="low-latency-playback" />
@@ -626,6 +661,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia8" value="1" />
</path>
+ <path name="audio-ull-playback headset">
+ <path name="audio-ull-playback headphones" />
+ </path>
+
<path name="audio-ull-playback speaker-and-headphones">
<path name="audio-ull-playback" />
<path name="audio-ull-playback headphones" />
@@ -747,6 +786,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia4" value="1" />
</path>
+ <path name="compress-offload-playback headset">
+ <path name="compress-offload-playback headphones" />
+ </path>
+
<path name="compress-offload-playback headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia4" value="1" />
</path>
@@ -822,6 +865,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia7" value="1" />
</path>
+ <path name="compress-offload-playback2 headset">
+ <path name="compress-offload-playback2 headphones" />
+ </path>
+
<path name="compress-offload-playback2 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia7" value="1" />
</path>
@@ -897,6 +944,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia10" value="1" />
</path>
+ <path name="compress-offload-playback3 headset">
+ <path name="compress-offload-playback3 headphones" />
+ </path>
+
<path name="compress-offload-playback3 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia10" value="1" />
</path>
@@ -973,6 +1024,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia11" value="1" />
</path>
+ <path name="compress-offload-playback4 headset">
+ <path name="compress-offload-playback4 headphones" />
+ </path>
+
<path name="compress-offload-playback4 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia11" value="1" />
</path>
@@ -1048,6 +1103,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia12" value="1" />
</path>
+ <path name="compress-offload-playback5 headset">
+ <path name="compress-offload-playback5 headphones" />
+ </path>
+
<path name="compress-offload-playback5 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia12" value="1" />
</path>
@@ -1123,6 +1182,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia13" value="1" />
</path>
+ <path name="compress-offload-playback6 headset">
+ <path name="compress-offload-playback6 headphones" />
+ </path>
+
<path name="compress-offload-playback6 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia13" value="1" />
</path>
@@ -1198,6 +1261,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia14" value="1" />
</path>
+ <path name="compress-offload-playback7 headset">
+ <path name="compress-offload-playback7 headphones" />
+ </path>
+
<path name="compress-offload-playback7 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia14" value="1" />
</path>
@@ -1273,6 +1340,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia15" value="1" />
</path>
+ <path name="compress-offload-playback8 headset">
+ <path name="compress-offload-playback8 headphones" />
+ </path>
+
<path name="compress-offload-playback8 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia15" value="1" />
</path>
@@ -1348,6 +1419,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia16" value="1" />
</path>
+ <path name="compress-offload-playback9 headset">
+ <path name="compress-offload-playback9 headphones" />
+ </path>
+
<path name="compress-offload-playback9 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia16" value="1" />
</path>
@@ -1393,6 +1468,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 capture-fm">
<ctl name="MultiMedia1 Mixer SLIM_8_TX" value="1" />
</path>
@@ -1418,6 +1497,31 @@
<ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="1" />
</path>
+ <path name="audio-record-compress2">
+ <ctl name="MultiMedia17 Mixer TX_CDC_DMA_TX_3" value="1" />
+ </path>
+
+ <path name="audio-record-compress2 bt-sco">
+ <ctl name="MultiMedia17 Mixer SLIM_7_TX" value="1" />
+ </path>
+
+ <path name="audio-record-compress bt-sco-wb">
+ <ctl name="BT SampleRate" value="KHZ_16" />
+ <path name="audio-record-compress2 bt-sco" />
+ </path>
+
+ <path name="audio-record-compress2 bt-sco-swb">
+ <path name="audio-record-compress2 bt-sco" />
+ </path>
+
+ <path name="audio-record-compress2 usb-headset-mic">
+ <ctl name="MultiMedia17 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
+ <path name="audio-record-compress2 headset-mic">
+ <ctl name="MultiMedia17 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="low-latency-record">
<ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
@@ -1459,6 +1563,10 @@
<ctl name="RX_CDC_DMA_RX_0_DL_HL Switch" value="1" />
</path>
+ <path name="play-fm headset">
+ <path name="play-fm headphones" />
+ </path>
+
<path name="incall-rec-uplink">
<ctl name="MultiMedia1 Mixer VOC_REC_UL" value="1" />
</path>
@@ -1483,6 +1591,10 @@
<path name="incall-rec-uplink" />
</path>
+ <path name="incall-rec-uplink headset-mic">
+ <path name="incall-rec-uplink" />
+ </path>
+
<path name="incall-rec-uplink-compress">
<ctl name="MultiMedia8 Mixer VOC_REC_UL" value="1" />
</path>
@@ -1507,6 +1619,10 @@
<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" />
</path>
@@ -1531,6 +1647,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>
@@ -1555,6 +1675,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" />
@@ -1580,6 +1704,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" />
@@ -1605,6 +1733,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>
@@ -1683,6 +1815,11 @@
<ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="1" />
</path>
+ <path name="voicemmode1-call headset">
+ <ctl name="RX_CDC_DMA_RX_0_Voice Mixer VoiceMMode1" value="1" />
+ <ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_4_MMode1" value="1" />
+ </path>
+
<path name="voicemmode1-call bt-sco">
<ctl name="SLIM_7_RX_Voice Mixer VoiceMMode1" value="1" />
<ctl name="VoiceMMode1_Tx Mixer SLIM_7_TX_MMode1" value="1" />
@@ -1737,6 +1874,11 @@
<ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="1" />
</path>
+ <path name="voicemmode2-call headset">
+ <ctl name="RX_CDC_DMA_RX_0_Voice Mixer VoiceMMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_4_MMode2" value="1" />
+ </path>
+
<path name="voicemmode2-call bt-sco">
<ctl name="SLIM_7_RX_Voice Mixer VoiceMMode2" value="1" />
<ctl name="VoiceMMode2_Tx Mixer SLIM_7_TX_MMode2" value="1" />
@@ -1849,6 +1991,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="bt-a2dp">
<ctl name="SLIM7_RX ADM Channels" value="Two" />
</path>
@@ -2056,6 +2202,10 @@
<ctl name="MultiMedia16 Mixer USB_AUDIO_TX" value="1" />
</path>
+ <path name="mmap-record headset-mic">
+ <ctl name="MultiMedia16 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="hifi-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia2" value="1" />
</path>
@@ -2132,6 +2282,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>
@@ -2172,10 +2326,10 @@
</path>
<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 DEC5 MUX" value="SWR_MIC" />
+ <ctl name="TX SMIC MUX5" value="ADC1" />
+ <ctl name="TX_CDC_DMA_TX_4 Channels" value="One" />
+ <ctl name="TX_AIF2_CAP Mixer DEC5" value="1" />
<ctl name="ADC2_MIXER Switch" value="1" />
<ctl name="ADC2 MUX" value="INP2" />
</path>
@@ -2403,6 +2557,10 @@
<path name="headphones" />
</path>
+ <path name="voice-headset">
+ <path name="headphones" />
+ </path>
+
<path name="voice-line">
<path name="voice-headphones" />
</path>
@@ -2480,7 +2638,7 @@
<ctl name="TX_AIF1_CAP Mixer DEC0" value="1" />
<ctl name="TX DMIC MUX0" value="DMIC1" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
- <ctl name="TX DMIC MUX0" value="DMIC3" />
+ <ctl name="TX DMIC MUX1" value="DMIC3" />
</path>
<path name="speaker-dmic-endfire">
@@ -2488,7 +2646,7 @@
<ctl name="TX_AIF1_CAP Mixer DEC0" value="1" />
<ctl name="TX DMIC MUX0" value="DMIC2" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
- <ctl name="TX DMIC MUX0" value="DMIC1" />
+ <ctl name="TX DMIC MUX1" value="DMIC1" />
</path>
<path name="dmic-endfire">
diff --git a/configs/lito/sound_trigger_platform_info.xml b/configs/lito/sound_trigger_platform_info.xml
index 510fa09..3f5f5df 100644
--- a/configs/lito/sound_trigger_platform_info.xml
+++ b/configs/lito/sound_trigger_platform_info.xml
@@ -48,6 +48,7 @@
<param backend_dai_name="VA_CDC_DMA_TX_0" />
<!-- Param used to indicate if SVA has dedicated SLIM ports -->
<param dedicated_sva_path="true" />
+ <param dedicated_headset_path="false" />
<param platform_lpi_enable="true" />
</common_config>
<acdb_ids>
diff --git a/configs/msm8937/audio_configs.xml b/configs/msm8937/audio_configs.xml
index ed3ed8d..0b0caba 100644
--- a/configs/msm8937/audio_configs.xml
+++ b/configs/msm8937/audio_configs.xml
@@ -49,6 +49,10 @@
<flag name="audio_extn_hdmi_spk_enabled" value="true" />
<flag name="use_xml_audio_policy_conf" value="true" />
<flag name="voice_concurrency" value="false" />
+ <flag name="afe_proxy_enabled" value="true" />
+ <flag name="compress_voip_enabled" value="true" />
+ <flag name="fm_power_opt" value="true" />
+ <flag name="record_play_concurrency" value="false" />
<!-- AV Configs -->
<property name="vendor.audio.use.sw.alac.decoder" value="true"/>
@@ -65,49 +69,4 @@
<flag name="qti_flac_decoder" value="true" />
<flag name="vorbis_offload_enabled" value="true" />
<flag name="wma_offload_enabled" value="true" />
-
- <!-- AHAL Configs -->
- <flag name="a2dp_offload_enabled" value="false" />
- <flag name="anc_headset_enabled" value="true" />
- <flag name="audiosphere_enabled" value="true" />
- <flag name="battery_listener_enabled" value="false" />
- <flag name="compress_capture_enabled" value="false" />
- <flag name="compress_in_enabled" value="false" />
- <flag name="compress_metadata_needed" value="true" />
- <flag name="concurrent_capture_enabled" value="false" />
- <flag name="custom_stereo_enabled" value="true" />
- <flag name="display_port_enabled" value="false" />
- <flag name="dsm_feedback_enabled" value="false" />
- <flag name="dynamic_ecns_enabled" value="false" />
- <flag name="ext_hw_plugin_enabled" value="false" />
- <flag name="ext_qdsp_enabled" value="false" />
- <flag name="ext_spkr_enabled" value="false" />
- <flag name="ext_spkr_tfa_enabled" value="false" />
- <flag name="fluence_enabled" value="true" />
- <flag name="hdmi_edid_enabled" value="true" />
- <flag name="hdmi_passthrough_enabled" value="false" />
- <flag name="hfp_enabled" value="true" />
- <flag name="hifi_audio_enabled" value="true" />
- <flag name="hwdep_cal_enabled" value="false" />
- <flag name="incall_music_enabled" value="false" />
- <flag name="keep_alive_enabled" value="false" />
- <flag name="kpi_optimize_enabled" value="true" />
- <flag name="maxx_audio_enabled" value="false" />
- <flag name="receiver_aided_stereo" value="false" />
- <flag name="snd_monitor_enabled" value="true" />
- <flag name="source_track_enabled" value="true" />
- <flag name="spkr_prot_enabled" value="true" />
- <flag name="ssrec_enabled" value="true" />
- <flag name="usb_offload_burst_mode" value="false" />
- <flag name="usb_offload_enabled" value="false" />
- <flag name="usb_offload_sidetone_vol_enabled" value="false" />
- <flag name="use_deep_buffer_as_primary_output" value="false" />
- <flag name="vbat_enabled" value="true" />
- <flag name="wsa_enabled" value="true" />
-
- <!-- Common configs between APM and AHAL -->
- <flag name="afe_proxy_enabled" value="true" />
- <flag name="compress_voip_enabled" value="true" />
- <flag name="fm_power_opt" value="true" />
- <flag name="record_play_concurrency" value="false" />
</configs>
diff --git a/configs/msm8937/mixer_paths.xml b/configs/msm8937/mixer_paths.xml
index 6d7f4f0..04ac71f 100644
--- a/configs/msm8937/mixer_paths.xml
+++ b/configs/msm8937/mixer_paths.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- Copyright (c) 2015-2016, 2018, The Linux Foundation. All rights reserved. -->
+<!-- Copyright (c) 2015-2016, 2018, 2019 The Linux Foundation. All rights reserved. -->
<!-- -->
<!-- Redistribution and use in source and binary forms, with or without -->
<!-- modification, are permitted provided that the following conditions are -->
@@ -283,6 +283,10 @@
<path name="deep-buffer-playback" />
</path>
+ <path name="deep-buffer-playback speaker-and-headphones">
+ <path name="deep-buffer-playback" />
+ </path>
+
<path name="deep-buffer-playback transmission-fm">
<ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -391,6 +395,10 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-and-headphones">
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="compress-offload-playback">
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia4" value="1" />
</path>
@@ -438,6 +446,10 @@
<path name="compress-offload-playback" />
</path>
+ <path name="compress-offload-playback speaker-and-headphones">
+ <path name="compress-offload-playback" />
+ </path>
+
<path name="compress-offload-playback2">
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia7" value="1" />
</path>
@@ -469,6 +481,10 @@
<path name="compress-offload-playback2 speaker-and-bt-sco-wb" />
</path>
+ <path name="compress-offload-playback2 speaker-and-headphones">
+ <path name="compress-offload-playback2" />
+ </path>
+
<path name="compress-offload-playback transmission-fm">
<ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia4" value="1" />
</path>
@@ -504,6 +520,10 @@
<path name="compress-offload-playback3 speaker-and-bt-sco-wb" />
</path>
+ <path name="compress-offload-playback3 speaker-and-headphones">
+ <path name="compress-offload-playback3" />
+ </path>
+
<path name="compress-offload-playback4">
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia11" value="1" />
</path>
@@ -535,6 +555,10 @@
<path name="compress-offload-playback4 speaker-and-bt-sco-wb" />
</path>
+ <path name="compress-offload-playback4 speaker-and-headphones">
+ <path name="compress-offload-playback4" />
+ </path>
+
<path name="compress-offload-playback5">
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia12" value="1" />
</path>
@@ -566,6 +590,10 @@
<path name="compress-offload-playback5 speaker-and-bt-sco-wb" />
</path>
+ <path name="compress-offload-playback5 speaker-and-headphones">
+ <path name="compress-offload-playback5" />
+ </path>
+
<path name="compress-offload-playback6">
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia13" value="1" />
</path>
@@ -605,6 +633,10 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia14" value="1" />
</path>
+ <path name="compress-offload-playback6 speaker-and-headphones">
+ <path name="compress-offload-playback6" />
+ </path>
+
<path name="compress-offload-playback7 bt-sco-wb">
<ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
<path name="compress-offload-playback7 bt-sco" />
@@ -628,6 +660,10 @@
<path name="compress-offload-playback7 speaker-and-bt-sco-wb" />
</path>
+ <path name="compress-offload-playback7 speaker-and-headphones">
+ <path name="compress-offload-playback7" />
+ </path>
+
<path name="audio-record">
<ctl name="MultiMedia1 Mixer TERT_MI2S_TX" value="1" />
</path>
@@ -765,6 +801,10 @@
<ctl name="VoWLAN_Tx Mixer AFE_PCM_TX_VoWLAN" value="1" />
</path>
+ <path name="vowlan-call speaker-and-headphones">
+ <path name="vowlan-call" />
+ </path>
+
<path name="voicemmode1-call">
<ctl name="PRI_MI2S_RX_Voice Mixer VoiceMMode1" value="1" />
<ctl name="VoiceMMode1_Tx Mixer TERT_MI2S_TX_MMode1" value="1" />
@@ -789,6 +829,10 @@
<path name="voicemmode1-call usb-headphones" />
</path>
+ <path name="voicemmode1-call speaker-and-headphones">
+ <path name="voicemmode1-call" />
+ </path>
+
<path name="voicemmode2-call">
<ctl name="PRI_MI2S_RX_Voice Mixer VoiceMMode2" value="1" />
<ctl name="VoiceMMode2_Tx Mixer TERT_MI2S_TX_MMode2" value="1" />
@@ -813,6 +857,10 @@
<path name="voicemmode2-call usb-headphones" />
</path>
+ <path name="voicemmode2-call speaker-and-headphones">
+ <path name="voicemmode2-call" />
+ </path>
+
<path name="hfp-sco">
<ctl name="PRI_MI2S_RX Port Mixer INTERNAL_BT_SCO_TX" value="1" />
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia6" value="1" />
@@ -1001,6 +1049,10 @@
<path name="volte-call usb-headphones" />
</path>
+ <path name="volte-call speaker-and-headphones">
+ <path name="volte-call" />
+ </path>
+
<path name="compress-voip-call">
<ctl name="PRI_MI2S_RX_Voice Mixer Voip" value="1" />
<ctl name="Voip_Tx Mixer TERT_MI2S_TX_Voip" value="1" />
@@ -1027,6 +1079,10 @@
<ctl name="Voip_Tx Mixer AFE_PCM_TX_Voip" value='1' />
</path>
+ <path name="compress-voip-call speaker-and-headphones">
+ <path name="compress-voip-call" />
+ </path>
+
<path name="qchat-call">
<ctl name="PRI_MI2S_RX_Voice Mixer QCHAT" value="1" />
<ctl name="QCHAT_Tx Mixer TERT_MI2S_TX_QCHAT" value="1" />
@@ -1166,6 +1222,11 @@
<path name="headphones" />
</path>
+ <path name="voice-speaker-and-voice-headphones">
+ <path name="wsa-voice-speaker" />
+ <path name="voice-headphones" />
+ </path>
+
<path name="voice-headset-mic">
<path name="headset-mic" />
</path>
diff --git a/configs/msm8937/mixer_paths_mtp.xml b/configs/msm8937/mixer_paths_mtp.xml
index db11446..4e5c872 100644
--- a/configs/msm8937/mixer_paths_mtp.xml
+++ b/configs/msm8937/mixer_paths_mtp.xml
@@ -319,6 +319,10 @@
<path name="deep-buffer-playback" />
</path>
+ <path name="deep-buffer-playback speaker-and-headphones">
+ <path name="deep-buffer-playback" />
+ </path>
+
<path name="deep-buffer-playback transmission-fm">
<ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -384,6 +388,10 @@
<ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia5" value="1" />
</path>
+ <path name="low-latency-playback speaker-and-headphones">
+ <path name="low-latency-playback" />
+ </path>
+
<path name="audio-ull-playback">
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia3" value="1" />
</path>
@@ -445,6 +453,10 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-and-headphones">
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="compress-offload-playback">
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia4" value="1" />
</path>
@@ -501,6 +513,10 @@
<path name="compress-offload-playback" />
</path>
+ <path name="compress-offload-playback speaker-and-headphones">
+ <path name="compress-offload-playback" />
+ </path>
+
<path name="compress-offload-playback2">
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia7" value="1" />
</path>
@@ -545,6 +561,10 @@
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia7" value="1" />
</path>
+ <path name="compress-offload-playback2 speaker-and-headphones">
+ <path name="compress-offload-playback2" />
+ </path>
+
<path name="compress-offload-playback transmission-fm">
<ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia4" value="1" />
</path>
@@ -589,6 +609,10 @@
<path name="compress-offload-playback3" />
</path>
+ <path name="compress-offload-playback3 speaker-and-headphones">
+ <path name="compress-offload-playback3" />
+ </path>
+
<path name="compress-offload-playback4">
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia11" value="1" />
</path>
@@ -629,6 +653,10 @@
<path name="compress-offload-playback4" />
</path>
+ <path name="compress-offload-playback4 speaker-and-headphones">
+ <path name="compress-offload-playback4" />
+ </path>
+
<path name="compress-offload-playback5">
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia12" value="1" />
</path>
@@ -669,6 +697,10 @@
<path name="compress-offload-playback5" />
</path>
+ <path name="compress-offload-playback5 speaker-and-headphones">
+ <path name="compress-offload-playback5" />
+ </path>
+
<path name="compress-offload-playback6">
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia13" value="1" />
</path>
@@ -709,6 +741,10 @@
<path name="compress-offload-playback6" />
</path>
+ <path name="compress-offload-playback6 speaker-and-headphones">
+ <path name="compress-offload-playback6" />
+ </path>
+
<path name="compress-offload-playback7">
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia14" value="1" />
</path>
@@ -749,6 +785,10 @@
<path name="compress-offload-playback7" />
</path>
+ <path name="compress-offload-playback7 speaker-and-headphones">
+ <path name="compress-offload-playback7" />
+ </path>
+
<path name="audio-record">
<ctl name="MultiMedia1 Mixer TERT_MI2S_TX" value="1" />
</path>
@@ -886,6 +926,10 @@
<ctl name="VoWLAN_Tx Mixer AFE_PCM_TX_VoWLAN" value="1" />
</path>
+ <path name="vowlan-call speaker-and-headphones">
+ <path name="vowlan-call" />
+ </path>
+
<path name="voicemmode1-call">
<ctl name="PRI_MI2S_RX_Voice Mixer VoiceMMode1" value="1" />
<ctl name="VoiceMMode1_Tx Mixer TERT_MI2S_TX_MMode1" value="1" />
@@ -910,6 +954,10 @@
<path name="voicemmode1-call usb-headphones" />
</path>
+ <path name="voicemmode1-call speaker-and-headphones">
+ <path name="voicemmode1-call" />
+ </path>
+
<path name="voicemmode2-call">
<ctl name="PRI_MI2S_RX_Voice Mixer VoiceMMode2" value="1" />
<ctl name="VoiceMMode2_Tx Mixer TERT_MI2S_TX_MMode2" value="1" />
@@ -934,6 +982,10 @@
<path name="voicemmode2-call usb-headphones" />
</path>
+ <path name="voicemmode2-call speaker-and-headphones">
+ <path name="voicemmode2-call" />
+ </path>
+
<path name="hfp-sco">
<ctl name="PRI_MI2S_RX Port Mixer INTERNAL_BT_SCO_TX" value="1" />
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia6" value="1" />
@@ -1122,6 +1174,10 @@
<path name="volte-call usb-headphones" />
</path>
+ <path name="volte-call speaker-and-headphones">
+ <path name="volte-call" />
+ </path>
+
<path name="compress-voip-call">
<ctl name="PRI_MI2S_RX_Voice Mixer Voip" value="1" />
<ctl name="Voip_Tx Mixer TERT_MI2S_TX_Voip" value="1" />
@@ -1148,6 +1204,10 @@
<ctl name="Voip_Tx Mixer AFE_PCM_TX_Voip" value='1' />
</path>
+ <path name="compress-voip-call speaker-and-headphones">
+ <path name="compress-voip-call" />
+ </path>
+
<path name="qchat-call">
<ctl name="PRI_MI2S_RX_Voice Mixer QCHAT" value="1" />
<ctl name="QCHAT_Tx Mixer TERT_MI2S_TX_QCHAT" value="1" />
@@ -1308,6 +1368,11 @@
<path name="headphones" />
</path>
+ <path name="voice-speaker-and-voice-headphones">
+ <path name="wsa-voice-speaker" />
+ <path name="voice-headphones" />
+ </path>
+
<path name="voice-headset-mic">
<path name="headset-mic-default" />
</path>
diff --git a/configs/msm8937/msm8937.mk b/configs/msm8937/msm8937.mk
index a41740f..ff86399 100644
--- a/configs/msm8937/msm8937.mk
+++ b/configs/msm8937/msm8937.mk
@@ -263,6 +263,7 @@
vendor.audio.feature.hifi_audio.enable=true \
vendor.audio.feature.hwdep_cal.enable=false \
vendor.audio.feature.incall_music.enable=false \
+vendor.audio.feature.multi_voice_session.enable=true \
vendor.audio.feature.keep_alive.enable=false \
vendor.audio.feature.kpi_optimize.enable=true \
vendor.audio.feature.maxx_audio.enable=false \
diff --git a/configs/msm8998/audio_configs.xml b/configs/msm8998/audio_configs.xml
index 4b0159d..34d01b7 100644
--- a/configs/msm8998/audio_configs.xml
+++ b/configs/msm8998/audio_configs.xml
@@ -49,6 +49,10 @@
<flag name="audio_extn_hdmi_spk_enabled" value="true" />
<flag name="use_xml_audio_policy_conf" value="true" />
<flag name="voice_concurrency" value="false" />
+ <flag name="afe_proxy_enabled" value="true" />
+ <flag name="compress_voip_enabled" value="false" />
+ <flag name="fm_power_opt" value="true" />
+ <flag name="record_play_concurrency" value="false" />
<!-- AV Configs -->
<property name="vendor.audio.use.sw.alac.decoder" value="true"/>
@@ -65,49 +69,4 @@
<flag name="qti_flac_decoder" value="true" />
<flag name="vorbis_offload_enabled" value="true" />
<flag name="wma_offload_enabled" value="true" />
-
- <!-- AHAL Configs -->
- <flag name="a2dp_offload_enabled" value="true" />
- <flag name="anc_headset_enabled" value="true" />
- <flag name="audiosphere_enabled" value="true" />
- <flag name="battery_listener_enabled" value="false" />
- <flag name="compress_capture_enabled" value="false" />
- <flag name="compress_in_enabled" value="false" />
- <flag name="compress_metadata_needed" value="true" />
- <flag name="concurrent_capture_enabled" value="false" />
- <flag name="custom_stereo_enabled" value="true" />
- <flag name="display_port_enabled" value="true" />
- <flag name="dsm_feedback_enabled" value="false" />
- <flag name="dynamic_ecns_enabled" value="false" />
- <flag name="ext_hw_plugin_enabled" value="false" />
- <flag name="ext_qdsp_enabled" value="false" />
- <flag name="ext_spkr_enabled" value="false" />
- <flag name="ext_spkr_tfa_enabled" value="false" />
- <flag name="fluence_enabled" value="true" />
- <flag name="hdmi_edid_enabled" value="true" />
- <flag name="hdmi_passthrough_enabled" value="true" />
- <flag name="hfp_enabled" value="true" />
- <flag name="hifi_audio_enabled" value="false" />
- <flag name="hwdep_cal_enabled" value="false" />
- <flag name="incall_music_enabled" value="false" />
- <flag name="keep_alive_enabled" value="false" />
- <flag name="kpi_optimize_enabled" value="true" />
- <flag name="maxx_audio_enabled" value="false" />
- <flag name="receiver_aided_stereo" value="true" />
- <flag name="snd_monitor_enabled" value="true" />
- <flag name="source_track_enabled" value="true" />
- <flag name="spkr_prot_enabled" value="true" />
- <flag name="ssrec_enabled" value="true" />
- <flag name="usb_offload_burst_mode" value="false" />
- <flag name="usb_offload_enabled" value="true" />
- <flag name="usb_offload_sidetone_vol_enabled" value="false" />
- <flag name="use_deep_buffer_as_primary_output" value="false" />
- <flag name="vbat_enabled" value="true" />
- <flag name="wsa_enabled" value="false" />
-
- <!-- Common configs between APM and AHAL -->
- <flag name="afe_proxy_enabled" value="true" />
- <flag name="compress_voip_enabled" value="false" />
- <flag name="fm_power_opt" value="true" />
- <flag name="record_play_concurrency" value="false" />
</configs>
diff --git a/configs/msm8998/audio_policy_configuration.xml b/configs/msm8998/audio_policy_configuration.xml
index 5f861d9..0073071 100644
--- a/configs/msm8998/audio_policy_configuration.xml
+++ b/configs/msm8998/audio_policy_configuration.xml
@@ -267,11 +267,11 @@
</devicePort>
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
+ samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
</devicePort>
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
+ samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
</devicePort>
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
@@ -304,16 +304,8 @@
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</devicePort>
<devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source">
- <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
- <profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="USB Headset In" type="AUDIO_DEVICE_IN_USB_HEADSET" role="source">
- <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
- <profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
</devicePorts>
diff --git a/configs/msm8998/msm8998.mk b/configs/msm8998/msm8998.mk
index 81077c1..9f31670 100644
--- a/configs/msm8998/msm8998.mk
+++ b/configs/msm8998/msm8998.mk
@@ -283,6 +283,7 @@
vendor.audio.feature.hifi_audio.enable=false \
vendor.audio.feature.hwdep_cal.enable=false \
vendor.audio.feature.incall_music.enable=false \
+vendor.audio.feature.multi_voice_session.enable=true \
vendor.audio.feature.keep_alive.enable=false \
vendor.audio.feature.kpi_optimize.enable=true \
vendor.audio.feature.maxx_audio.enable=false \
diff --git a/configs/msmnile/audio_configs.xml b/configs/msmnile/audio_configs.xml
index 6217f0c..8e3cda2 100644
--- a/configs/msmnile/audio_configs.xml
+++ b/configs/msmnile/audio_configs.xml
@@ -49,6 +49,10 @@
<flag name="audio_extn_hdmi_spk_enabled" value="true" />
<flag name="use_xml_audio_policy_conf" value="true" />
<flag name="voice_concurrency" value="false" />
+ <flag name="afe_proxy_enabled" value="true" />
+ <flag name="compress_voip_enabled" value="false" />
+ <flag name="fm_power_opt" value="true" />
+ <flag name="record_play_concurrency" value="false" />
<!-- AV Configs -->
<property name="vendor.audio.use.sw.alac.decoder" value="true"/>
@@ -65,50 +69,4 @@
<flag name="qti_flac_decoder" value="true" />
<flag name="vorbis_offload_enabled" value="true" />
<flag name="wma_offload_enabled" value="true" />
-
- <!-- AHAL Configs -->
- <flag name="a2dp_offload_enabled" value="true" />
- <flag name="anc_headset_enabled" value="true" />
- <flag name="audio_zoom_enabled" value="false" />
- <flag name="audiosphere_enabled" value="true" />
- <flag name="battery_listener_enabled" value="true" />
- <flag name="compress_capture_enabled" value="false" />
- <flag name="compress_in_enabled" value="true" />
- <flag name="compress_metadata_needed" value="true" />
- <flag name="concurrent_capture_enabled" value="true" />
- <flag name="custom_stereo_enabled" value="true" />
- <flag name="display_port_enabled" value="true" />
- <flag name="dsm_feedback_enabled" value="false" />
- <flag name="dynamic_ecns_enabled" value="true" />
- <flag name="ext_hw_plugin_enabled" value="true" />
- <flag name="ext_qdsp_enabled" value="false" />
- <flag name="ext_spkr_enabled" value="false" />
- <flag name="ext_spkr_tfa_enabled" value="false" />
- <flag name="fluence_enabled" value="true" />
- <flag name="hdmi_edid_enabled" value="true" />
- <flag name="hdmi_passthrough_enabled" value="true" />
- <flag name="hfp_enabled" value="true" />
- <flag name="hifi_audio_enabled" value="false" />
- <flag name="hwdep_cal_enabled" value="false" />
- <flag name="incall_music_enabled" value="true" />
- <flag name="keep_alive_enabled" value="true" />
- <flag name="kpi_optimize_enabled" value="true" />
- <flag name="maxx_audio_enabled" value="false" />
- <flag name="receiver_aided_stereo" value="true" />
- <flag name="snd_monitor_enabled" value="true" />
- <flag name="source_track_enabled" value="true" />
- <flag name="spkr_prot_enabled" value="true" />
- <flag name="ssrec_enabled" value="true" />
- <flag name="usb_offload_burst_mode" value="true" />
- <flag name="usb_offload_enabled" value="true" />
- <flag name="usb_offload_sidetone_vol_enabled" value="false" />
- <flag name="use_deep_buffer_as_primary_output" value="false" />
- <flag name="vbat_enabled" value="true" />
- <flag name="wsa_enabled" value="false" />
-
- <!-- Common configs between APM and AHAL -->
- <flag name="afe_proxy_enabled" value="true" />
- <flag name="compress_voip_enabled" value="false" />
- <flag name="fm_power_opt" value="true" />
- <flag name="record_play_concurrency" value="false" />
</configs>
diff --git a/configs/msmnile/audio_configs_stock.xml b/configs/msmnile/audio_configs_stock.xml
index bbc44c3..dd0c3b4 100644
--- a/configs/msmnile/audio_configs_stock.xml
+++ b/configs/msmnile/audio_configs_stock.xml
@@ -29,46 +29,4 @@
-->
<configs>
<!-- AHAL Configs -->
- <flag name="a2dp_offload_enabled" value="true" />
- <flag name="afe_proxy_enabled" value="false" />
- <flag name="anc_headset_enabled" value="false" />
- <flag name="audio_zoom_enabled" value="true" />
- <flag name="audiosphere_enabled" value="false" />
- <flag name="battery_listener_enabled" value="false" />
- <flag name="compress_capture_enabled" value="false" />
- <flag name="compress_in_enabled" value="false" />
- <flag name="compress_metadata_needed" value="false" />
- <flag name="compress_voip_enabled" value="false" />
- <flag name="concurrent_capture_enabled" value="true" />
- <flag name="custom_stereo_enabled" value="false" />
- <flag name="display_port_enabled" value="false" />
- <flag name="dsm_feedback_enabled" value="false" />
- <flag name="dynamic_ecns_enabled" value="false" />
- <flag name="ext_hw_plugin_enabled" value="false" />
- <flag name="ext_qdsp_enabled" value="true" />
- <flag name="ext_spkr_enabled" value="true" />
- <flag name="ext_spkr_tfa_enabled" value="false" />
- <flag name="fluence_enabled" value="false" />
- <flag name="fm_power_opt" value="false" />
- <flag name="hdmi_edid_enabled" value="false" />
- <flag name="hdmi_passthrough_enabled" value="false" />
- <flag name="hfp_enabled" value="true" />
- <flag name="hifi_audio_enabled" value="false" />
- <flag name="hwdep_cal_enabled" value="true" />
- <flag name="incall_music_enabled" value="true" />
- <flag name="keep_alive_enabled" value="false" />
- <flag name="kpi_optimize_enabled" value="false" />
- <flag name="maxx_audio_enabled" value="true" />
- <flag name="receiver_aided_stereo" value="false" />
- <flag name="record_play_concurrency" value="false" />
- <flag name="snd_monitor_enabled" value="true" />
- <flag name="source_track_enabled" value="false" />
- <flag name="spkr_prot_enabled" value="true" />
- <flag name="ssrec_enabled" value="false" />
- <flag name="usb_offload_burst_mode" value="false" />
- <flag name="usb_offload_enabled" value="true" />
- <flag name="usb_offload_sidetone_vol_enabled" value="false" />
- <flag name="use_deep_buffer_as_primary_output" value="false" />
- <flag name="vbat_enabled" value="false" />
- <flag name="wsa_enabled" value="false" />
</configs>
diff --git a/configs/msmnile/msmnile.mk b/configs/msmnile/msmnile.mk
index 3315b11..bb9f804 100644
--- a/configs/msmnile/msmnile.mk
+++ b/configs/msmnile/msmnile.mk
@@ -402,6 +402,7 @@
vendor.audio.feature.hifi_audio.enable=false \
vendor.audio.feature.hwdep_cal.enable=true \
vendor.audio.feature.incall_music.enable=true \
+vendor.audio.feature.multi_voice_session.enable=true \
vendor.audio.feature.keep_alive.enable=false \
vendor.audio.feature.kpi_optimize.enable=false \
vendor.audio.feature.maxx_audio.enable=true \
@@ -446,6 +447,7 @@
vendor.audio.feature.hifi_audio.enable=false \
vendor.audio.feature.hwdep_cal.enable=false \
vendor.audio.feature.incall_music.enable=true \
+vendor.audio.feature.multi_voice_session.enable=true \
vendor.audio.feature.keep_alive.enable=true \
vendor.audio.feature.kpi_optimize.enable=true \
vendor.audio.feature.maxx_audio.enable=false \
diff --git a/configs/msmnile_au/audio_configs.xml b/configs/msmnile_au/audio_configs.xml
new file mode 100644
index 0000000..6217f0c
--- /dev/null
+++ b/configs/msmnile_au/audio_configs.xml
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+Copyright (c) 2019, The Linux Foundation. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+ * Neither the name of The Linux Foundation nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+<configs>
+ <!-- APM Configs -->
+ <property name="audio.deep_buffer.media" value="true"/>
+ <property name="audio.offload.disable" value="false"/>
+ <property name="audio.offload.min.duration.secs" value="30"/>
+ <property name="audio.offload.video" value="true"/>
+ <property name="persist.vendor.audio.sva.conc.enabled" value="false"/>
+ <property name="persist.vendor.audio.va_concurrency_enabled" value="false"/>
+ <property name="vendor.audio.av.streaming.offload.enable" value="false"/>
+ <property name="vendor.audio.offload.track.enable" value="true"/>
+ <property name="vendor.audio.offload.multiple.enabled" value="false"/>
+ <property name="vendor.audio.rec.playback.conc.disabled" value="false"/>
+ <property name="vendor.voice.conc.fallbackpath" value=""/>
+ <property name="vendor.voice.dsd.playback.conc.disabled" value="true"/>
+ <property name="vendor.voice.path.for.pcm.voip" value="true"/>
+ <property name="vendor.voice.playback.conc.disabled" value="false"/>
+ <property name="vendor.voice.record.conc.disabled" value="false"/>
+ <property name="vendor.voice.voip.conc.disabled" value="false"/>
+ <flag name="audio_extn_formats_enabled" value="true" />
+ <flag name="audio_extn_hdmi_spk_enabled" value="true" />
+ <flag name="use_xml_audio_policy_conf" value="true" />
+ <flag name="voice_concurrency" value="false" />
+
+ <!-- AV Configs -->
+ <property name="vendor.audio.use.sw.alac.decoder" value="true"/>
+ <property name="vendor.audio.use.sw.ape.decoder" value="true"/>
+ <property name="vendor.audio.use.sw.mpegh.decoder" value="false"/>
+ <property name="vendor.audio.flac.sw.decoder.24bit" value="true"/>
+ <property name="vendor.audio.hw.aac.encoder" value="true"/>
+ <flag name="aac_adts_offload_enabled" value="true" />
+ <flag name="alac_offload_enabled" value="true" />
+ <flag name="ape_offload_enabled" value="true" />
+ <flag name="flac_offload_enabled" value="true" />
+ <flag name="pcm_offload_enabled_16" value="true" />
+ <flag name="pcm_offload_enabled_24" value="true" />
+ <flag name="qti_flac_decoder" value="true" />
+ <flag name="vorbis_offload_enabled" value="true" />
+ <flag name="wma_offload_enabled" value="true" />
+
+ <!-- AHAL Configs -->
+ <flag name="a2dp_offload_enabled" value="true" />
+ <flag name="anc_headset_enabled" value="true" />
+ <flag name="audio_zoom_enabled" value="false" />
+ <flag name="audiosphere_enabled" value="true" />
+ <flag name="battery_listener_enabled" value="true" />
+ <flag name="compress_capture_enabled" value="false" />
+ <flag name="compress_in_enabled" value="true" />
+ <flag name="compress_metadata_needed" value="true" />
+ <flag name="concurrent_capture_enabled" value="true" />
+ <flag name="custom_stereo_enabled" value="true" />
+ <flag name="display_port_enabled" value="true" />
+ <flag name="dsm_feedback_enabled" value="false" />
+ <flag name="dynamic_ecns_enabled" value="true" />
+ <flag name="ext_hw_plugin_enabled" value="true" />
+ <flag name="ext_qdsp_enabled" value="false" />
+ <flag name="ext_spkr_enabled" value="false" />
+ <flag name="ext_spkr_tfa_enabled" value="false" />
+ <flag name="fluence_enabled" value="true" />
+ <flag name="hdmi_edid_enabled" value="true" />
+ <flag name="hdmi_passthrough_enabled" value="true" />
+ <flag name="hfp_enabled" value="true" />
+ <flag name="hifi_audio_enabled" value="false" />
+ <flag name="hwdep_cal_enabled" value="false" />
+ <flag name="incall_music_enabled" value="true" />
+ <flag name="keep_alive_enabled" value="true" />
+ <flag name="kpi_optimize_enabled" value="true" />
+ <flag name="maxx_audio_enabled" value="false" />
+ <flag name="receiver_aided_stereo" value="true" />
+ <flag name="snd_monitor_enabled" value="true" />
+ <flag name="source_track_enabled" value="true" />
+ <flag name="spkr_prot_enabled" value="true" />
+ <flag name="ssrec_enabled" value="true" />
+ <flag name="usb_offload_burst_mode" value="true" />
+ <flag name="usb_offload_enabled" value="true" />
+ <flag name="usb_offload_sidetone_vol_enabled" value="false" />
+ <flag name="use_deep_buffer_as_primary_output" value="false" />
+ <flag name="vbat_enabled" value="true" />
+ <flag name="wsa_enabled" value="false" />
+
+ <!-- Common configs between APM and AHAL -->
+ <flag name="afe_proxy_enabled" value="true" />
+ <flag name="compress_voip_enabled" value="false" />
+ <flag name="fm_power_opt" value="true" />
+ <flag name="record_play_concurrency" value="false" />
+</configs>
diff --git a/configs/msmnile_au/audio_configs_stock.xml b/configs/msmnile_au/audio_configs_stock.xml
new file mode 100644
index 0000000..396d0c9
--- /dev/null
+++ b/configs/msmnile_au/audio_configs_stock.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+Copyright (c) 2019, The Linux Foundation. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+ * Neither the name of The Linux Foundation nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+<configs>
+ <!-- AHAL Configs -->
+ <flag name="a2dp_offload_enabled" value="true" />
+ <flag name="afe_proxy_enabled" value="false" />
+ <flag name="anc_headset_enabled" value="false" />
+ <flag name="audio_zoom_enabled" value="true" />
+ <flag name="audiosphere_enabled" value="false" />
+ <flag name="battery_listener_enabled" value="false" />
+ <flag name="compress_capture_enabled" value="false" />
+ <flag name="compress_in_enabled" value="false" />
+ <flag name="compress_metadata_needed" value="false" />
+ <flag name="compress_voip_enabled" value="false" />
+ <flag name="concurrent_capture_enabled" value="true" />
+ <flag name="custom_stereo_enabled" value="false" />
+ <flag name="display_port_enabled" value="false" />
+ <flag name="dsm_feedback_enabled" value="false" />
+ <flag name="dynamic_ecns_enabled" value="false" />
+ <flag name="ext_hw_plugin_enabled" value="true" />
+ <flag name="ext_qdsp_enabled" value="true" />
+ <flag name="ext_spkr_enabled" value="true" />
+ <flag name="ext_spkr_tfa_enabled" value="false" />
+ <flag name="fluence_enabled" value="false" />
+ <flag name="fm_power_opt" value="false" />
+ <flag name="hdmi_edid_enabled" value="false" />
+ <flag name="hdmi_passthrough_enabled" value="false" />
+ <flag name="hfp_enabled" value="true" />
+ <flag name="hifi_audio_enabled" value="false" />
+ <flag name="hwdep_cal_enabled" value="true" />
+ <flag name="incall_music_enabled" value="true" />
+ <flag name="keep_alive_enabled" value="false" />
+ <flag name="kpi_optimize_enabled" value="false" />
+ <flag name="maxx_audio_enabled" value="true" />
+ <flag name="receiver_aided_stereo" value="false" />
+ <flag name="record_play_concurrency" value="false" />
+ <flag name="snd_monitor_enabled" value="true" />
+ <flag name="source_track_enabled" value="false" />
+ <flag name="spkr_prot_enabled" value="true" />
+ <flag name="ssrec_enabled" value="false" />
+ <flag name="usb_offload_burst_mode" value="false" />
+ <flag name="usb_offload_enabled" value="true" />
+ <flag name="usb_offload_sidetone_vol_enabled" value="false" />
+ <flag name="use_deep_buffer_as_primary_output" value="false" />
+ <flag name="vbat_enabled" value="false" />
+ <flag name="wsa_enabled" value="false" />
+</configs>
diff --git a/configs/msmnile_au/audio_effects.xml b/configs/msmnile_au/audio_effects.xml
index 7c0cd22..15adc92 100644
--- a/configs/msmnile_au/audio_effects.xml
+++ b/configs/msmnile_au/audio_effects.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!--- Copyright (c) 2018, The Linux Foundation. All rights reserved. -->
+<!--- Copyright (c) 2018-2019, The Linux Foundation. All rights reserved. -->
<!--- -->
<!--- Redistribution and use in source and binary forms, with or without -->
<!--- modification, are permitted provided that the following conditions are -->
@@ -30,9 +30,6 @@
<libraries>
<library name="bundle" path="libbundlewrapper.so"/>
<library name="reverb" path="libreverbwrapper.so"/>
- <library name="qcbassboost" path="libqcbassboost.so"/>
- <library name="qcvirt" path="libqcvirt.so"/>
- <library name="qcreverb" path="libqcreverb.so"/>
<library name="visualizer_sw" path="libvisualizer.so"/>
<library name="visualizer_hw" path="libqcomvisualizer.so"/>
<library name="downmix" path="libdownmix.so"/>
@@ -47,11 +44,11 @@
</libraries>
<effects>
<effectProxy name="bassboost" library="proxy" uuid="14804144-a5ee-4d24-aa88-0002a5d5c51b">
- <libsw library="qcbassboost" uuid="23aca180-44bd-11e2-bcfd-0800200c9a66"/>
+ <libsw library="bundle" uuid="8631f300-72e2-11df-b57e-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="2c4a8c24-1581-487f-94f6-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="virtualizer" library="proxy" uuid="d3467faa-acc7-4d34-acaf-0002a5d5c51b">
- <libsw library="qcvirt" uuid="e6c98a16-22a3-11e2-b87b-f23c91aec05e"/>
+ <libsw library="bundle" uuid="1d4033c0-8557-11df-9f2d-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="509a4498-561a-4bea-b3b1-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="equalizer" library="proxy" uuid="c8e70ecd-48ca-456e-8a4f-0002a5d5c51b">
@@ -60,19 +57,19 @@
</effectProxy>
<effect name="volume" library="bundle" uuid="119341a0-8469-11df-81f9-0002a5d5c51b"/>
<effectProxy name="reverb_env_aux" library="proxy" uuid="48404ac9-d202-4ccc-bf84-0002a5d5c51b">
- <libsw library="qcreverb" uuid="a8c1e5f3-293d-43cd-95ec-d5e26c02e217"/>
+ <libsw library="reverb" uuid="4a387fc0-8ab3-11df-8bad-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="79a18026-18fd-4185-8233-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="reverb_env_ins" library="proxy" uuid="b707403a-a1c1-4291-9573-0002a5d5c51b">
- <libsw library="qcreverb" uuid="791fff8b-8129-4655-83a4-59bc61034c3a"/>
+ <libsw library="reverb" uuid="c7a511a0-a3bb-11df-860e-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="eb64ea04-973b-43d2-8f5e-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="reverb_pre_aux" library="proxy" uuid="1b78f587-6d1c-422e-8b84-0002a5d5c51b">
- <libsw library="qcreverb" uuid="53ef1db5-c0c0-445b-b060-e34d20ebb70a"/>
+ <libsw library="reverb" uuid="f29a1400-a3bb-11df-8ddc-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="6987be09-b142-4b41-9056-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="reverb_pre_ins" library="proxy" uuid="f3e178d2-ebcb-408e-8357-0002a5d5c51b">
- <libsw library="qcreverb" uuid="b08a0e38-22a5-11e2-b87b-f23c91aec05e"/>
+ <libsw library="reverb" uuid="172cdf00-a3bc-11df-a72f-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="aa2bebf6-47cf-4613-9bca-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="visualizer" library="proxy" uuid="1d0a1a53-7d5d-48f2-8e71-27fbd10d842c">
diff --git a/configs/msmnile_au/audio_output_policy.conf b/configs/msmnile_au/audio_io_policy.conf
similarity index 72%
copy from configs/msmnile_au/audio_output_policy.conf
copy to configs/msmnile_au/audio_io_policy.conf
index 67febfa..3362dd9 100644
--- a/configs/msmnile_au/audio_output_policy.conf
+++ b/configs/msmnile_au/audio_io_policy.conf
@@ -12,11 +12,11 @@
outputs {
default {
- flags AUDIO_OUTPUT_FLAG_PRIMARY
+ flags AUDIO_OUTPUT_FLAG_PRIMARY|AUDIO_OUTPUT_FLAG_MEDIA
formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 48000
bit_width 16
- app_type 69937
+ app_type 69936
}
proaudio {
flags AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_RAW
@@ -81,4 +81,53 @@
bit_width 24
app_type 69940
}
+ sys_notification {
+ flags AUDIO_OUTPUT_FLAG_SYS_NOTIFICATION
+ formats AUDIO_FORMAT_PCM_16_BIT
+ sampling_rates 48000
+ bit_width 16
+ app_type 69937
+ }
+ nav_guidance {
+ flags AUDIO_OUTPUT_FLAG_NAV_GUIDANCE
+ formats AUDIO_FORMAT_PCM_16_BIT
+ sampling_rates 48000
+ bit_width 16
+ app_type 69937
+ }
+ phone {
+ flags AUDIO_OUTPUT_FLAG_PHONE
+ formats AUDIO_FORMAT_PCM_16_BIT
+ sampling_rates 48000
+ bit_width 16
+ app_type 69936
+ }
}
+
+inputs {
+ primary {
+ formats AUDIO_FORMAT_PCM_16_BIT
+ sampling_rates 8000|16000|32000|44100|48000|88200|96000|176400|192000
+ bit_width 16
+ app_type 69938
+ }
+ record_24bit {
+ formats AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_24_BIT
+ sampling_rates 44100|48000|88200|96000|176400|192000
+ bit_width 24
+ app_type 69948
+ }
+ record_32bit {
+ formats AUDIO_FORMAT_PCM_32_BIT|AUDIO_FORMAT_PCM_FLOAT
+ sampling_rates 44100|48000|88200|96000|176400|192000
+ bit_width 32
+ app_type 69949
+ }
+ record_unprocessed {
+ profile record_unprocessed
+ formats AUDIO_FORMAT_PCM_24_BIT_PACKED
+ sampling_rates 16000|48000
+ bit_width 24
+ app_type 69942
+ }
+}
\ No newline at end of file
diff --git a/configs/msmnile_au/audio_platform_info.xml b/configs/msmnile_au/audio_platform_info.xml
index e02397c..71789a0 100644
--- a/configs/msmnile_au/audio_platform_info.xml
+++ b/configs/msmnile_au/audio_platform_info.xml
@@ -22,28 +22,32 @@
<!-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
<!-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
<!-- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
+<!-- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -->
<!-- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
<audio_platform_info>
<acdb_ids>
- <device name="SND_DEVICE_OUT_HANDSET" acdb_id="78"/>
- <device name="SND_DEVICE_OUT_SPEAKER" acdb_id="78"/>
- <device name="SND_DEVICE_OUT_HEADPHONES" acdb_id="78"/>
- <device name="SND_DEVICE_OUT_BUS_MEDIA" acdb_id="78"/>
- <device name="SND_DEVICE_OUT_BUS_SYS" acdb_id="78"/>
+ <device name="SND_DEVICE_OUT_HANDSET" acdb_id="60"/>
+ <device name="SND_DEVICE_OUT_SPEAKER" acdb_id="60"/>
+ <device name="SND_DEVICE_OUT_HEADPHONES" acdb_id="60"/>
+ <device name="SND_DEVICE_OUT_BUS_MEDIA" acdb_id="60"/>
+ <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_BT_SCO" acdb_id="94"/>
<device name="SND_DEVICE_OUT_BT_SCO_WB" acdb_id="94"/>
- <device name="SND_DEVICE_OUT_BT_A2DP" acdb_id="78"/>
+ <device name="SND_DEVICE_OUT_BT_A2DP" acdb_id="60"/>
<device name="SND_DEVICE_OUT_VOICE_HANDSET" acdb_id="94"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER" acdb_id="94"/>
+ <device name="SND_DEVICE_OUT_VOICE_SPEAKER_HFP" acdb_id="94"/>
+ <device name="SND_DEVICE_OUT_VOICE_SPEAKER_STEREO" acdb_id="94"/>
<device name="SND_DEVICE_IN_HANDSET_MIC" acdb_id="11"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC" acdb_id="11"/>
<device name="SND_DEVICE_IN_BUS" acdb_id="11"/>
<device name="SND_DEVICE_IN_HEADSET_MIC" acdb_id="11"/>
- <device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC" acdb_id="95"/>
<device name="SND_DEVICE_IN_VOICE_HEADSET_MIC" acdb_id="95"/>
+ <device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC" acdb_id="95"/>
+ <device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC_HFP" acdb_id="95"/>
<device name="SND_DEVICE_IN_BT_SCO_MIC" acdb_id="95"/>
<device name="SND_DEVICE_IN_BT_SCO_MIC_WB" acdb_id="95"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC" acdb_id="80"/>
@@ -140,11 +144,14 @@
<device name="SND_DEVICE_OUT_BT_A2DP" interface="TERT_TDM_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_HANDSET" interface="TERT_TDM_RX_2"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER" interface="TERT_TDM_RX_2"/>
+ <device name="SND_DEVICE_OUT_VOICE_SPEAKER_HFP" interface="TERT_TDM_RX_2"/>
+ <device name="SND_DEVICE_OUT_VOICE_SPEAKER_STEREO" interface="TERT_TDM_RX_2"/>
<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"/>
- <device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC" interface="TERT_TDM_TX_0"/>
<device name="SND_DEVICE_IN_VOICE_HEADSET_MIC" interface="TERT_TDM_TX_0"/>
+ <device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC" interface="TERT_TDM_TX_0"/>
+ <device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC_HFP" interface="TERT_TDM_TX_0"/>
<device name="SND_DEVICE_IN_BT_SCO_MIC" interface="TERT_TDM_TX_0"/>
<device name="SND_DEVICE_IN_BT_SCO_MIC_WB" interface="TERT_TDM_TX_0"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC" interface="TERT_TDM_TX_0"/>
@@ -152,5 +159,376 @@
<device name="SND_DEVICE_IN_QUAD_MIC" interface="TERT_TDM_TX_0"/>
<device name="SND_DEVICE_IN_HANDSET_QMIC" interface="TERT_TDM_TX_0"/>
</backend_names>
+ <!-- below values are for ref purpose to OEM, doesn't contain actual hardware info on MTP -->
+ <microphone_characteristics>
+ <microphone valid_mask="31" device_id="builtin_mic_1" type="AUDIO_DEVICE_IN_BUILTIN_MIC" address="bottom" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
+ group="0" index_in_the_group="0" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="93"
+ frequencies="100.00 106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00 20000.00"
+ responses="-0.78 -0.71 -0.64 -0.60 -0.55 -0.50 -0.47 -0.42 -0.39 -0.36 -0.34 -0.33 -0.32 -0.29 -0.28 -0.28 -0.27 -0.25 -0.25 -0.24 -0.23 -0.23 -0.22 -0.22 -0.19 -0.17 -0.15 -0.15 -0.14 -0.14 -0.12 -0.11 -0.10 -0.10 -0.08 -0.07 -0.07 -0.04 -0.03 -0.01 0.00 0.04 0.06 0.07 0.08 0.13 0.09 0.14 0.19 0.23 0.28 0.29 0.31 0.37 0.88 0.86 0.77 0.78 0.84 0.86 1.05 1.12 1.18 1.25 1.43 1.66 1.83 2.02 2.23 2.59 2.84 3.35 4.01 6.82 6.62 6.42 7.30 8.23 7.54 12.68 13.76 18.69 19.68 20.90 23.70 25.10 21.65 16.18 18.84 25.44 23.48 23.22 24.89"
+ sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 0.0 1.0" geometric_location="0.0269 0.0058 0.0079" />
+ <microphone valid_mask="31" device_id="builtin_mic_2" type="AUDIO_DEVICE_IN_BACK_MIC" address="back" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
+ group="0" index_in_the_group="1" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="92"
+ frequencies="106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00 20000.00"
+ responses="-0.75 -0.74 -0.69 -0.65 -0.62 -0.61 -0.56 -0.53 -0.50 -0.47 -0.43 -0.40 -0.37 -0.36 -0.33 -0.30 -0.28 -0.25 -0.24 -0.24 -0.24 -0.25 -0.24 -0.12 -0.10 -0.08 -0.09 -0.07 -0.07 -0.06 -0.06 -0.06 -0.05 -0.04 -0.05 -0.04 -0.01 0.02 0.02 0.00 0.02 0.03 0.07 0.10 0.10 0.13 0.01 0.01 0.10 0.11 0.19 0.24 0.38 0.46 0.26 0.27 0.43 0.76 0.75 1.09 1.09 0.94 1.06 1.21 1.47 1.45 1.36 2.07 2.85 2.90 3.85 4.65 5.84 5.46 6.15 7.50 8.30 10.62 12.70 16.65 20.95 25.41 26.32 20.20 16.60 11.24 7.85 7.62 20.19 7.32 2.87 5.18"
+ sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 1.0 0.0" geometric_location="0.0546 0.1456 0.00415" />
+ <microphone valid_mask="31" device_id="builtin_mic_3" type="AUDIO_DEVICE_IN_BUILTIN_MIC" address="" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
+ group="0" index_in_the_group="2" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="92"
+ frequencies="100.00 106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00"
+ responses="-9.24 -9.31 -9.39 -9.45 -9.46 -9.47 -9.50 -9.52 -9.51 -9.52 -9.51 -9.50 -9.49 -9.47 -9.48 -9.49 -9.48 -9.50 -9.51 -9.53 -9.55 -9.59 -9.63 -9.67 -9.58 -9.57 -9.65 -9.68 -9.71 -9.75 -9.79 -9.84 -9.87 -9.87 -9.90 -9.90 -9.91 -9.97 -10.01 -10.05 -9.85 -9.93 -9.94 -9.98 -10.04 -10.12 -10.28 -10.25 -10.01 -9.86 -9.81 -9.82 -9.61 -9.46 -8.27 -8.42 -8.98 -8.99 -8.82 -9.21 -8.92 -8.97 -9.30 -9.44 -9.52 -9.28 -9.09 -8.81 -7.02 -5.72 -5.30 -7.26 -8.39 -12.28 -8.23 -6.99 -5.52 -4.87 -3.82 -6.09 0.00 -2.15 -0.26 1.48 5.22 10.92 6.41 9.55 12.96 3.35 22.00 19.75"
+ sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 0.0 1.0" geometric_location="0.0274 0.14065 0.0079" />
+ <microphone valid_mask="31" device_id="builtin_mic_4" type="AUDIO_DEVICE_IN_BACK_MIC" address="" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
+ group="0" index_in_the_group="3" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="92"
+ frequencies="106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00 20000.00"
+ responses="-0.75 -0.74 -0.69 -0.65 -0.62 -0.61 -0.56 -0.53 -0.50 -0.47 -0.43 -0.40 -0.37 -0.36 -0.33 -0.30 -0.28 -0.25 -0.24 -0.24 -0.24 -0.25 -0.24 -0.12 -0.10 -0.08 -0.09 -0.07 -0.07 -0.06 -0.06 -0.06 -0.05 -0.04 -0.05 -0.04 -0.01 0.02 0.02 0.00 0.02 0.03 0.07 0.10 0.10 0.13 0.01 0.01 0.10 0.11 0.19 0.24 0.38 0.46 0.26 0.27 0.43 0.76 0.75 1.09 1.09 0.94 1.06 1.21 1.47 1.45 1.36 2.07 2.85 2.90 3.85 4.65 5.84 5.46 6.15 7.50 8.30 10.62 12.70 16.65 20.95 25.41 26.32 20.20 16.60 11.24 7.85 7.62 20.19 7.32 2.87 5.18"
+ sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 1.0 0.0" geometric_location="0.0546 0.1456 0.00415" />
+ </microphone_characteristics>
+ <snd_devices>
+ <input_snd_device>
+ <input_snd_device_mic_mapping>
+ <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_MIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_MIC_AEC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_MIC_NS">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_MIC_AEC_NS">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_DMIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_DMIC_AEC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_DMIC_NS">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_MIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_MIC_AEC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_MIC_NS">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC_AEC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC_NS">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_VOICE_SPEAKER_MIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_CAMCORDER_MIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_VOICE_DMIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_VOICE_SPEAKER_DMIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_VOICE_SPEAKER_TMIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_VOICE_SPEAKER_QMIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_4"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_VOICE_REC_MIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_VOICE_REC_MIC_NS">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_VOICE_REC_DMIC_STEREO">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_VOICE_REC_DMIC_FLUENCE">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_AANC_HANDSET_MIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_QUAD_MIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_4"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_DMIC_STEREO">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC_STEREO">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_VOICE_SPEAKER_DMIC_BROADSIDE">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC_BROADSIDE">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC_AEC_BROADSIDE">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC_NS_BROADSIDE">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_VOICE_FLUENCE_DMIC_AANC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_4"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_QMIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_4"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_QMIC_AEC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_4"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_QMIC_NS">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_4"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_QMIC_AEC_NS">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_4"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_THREE_MIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_TMIC_FLUENCE_PRO">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_TMIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_TMIC_AEC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_TMIC_NS">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_TMIC_AEC_NS">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_VOICE_REC_TMIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_UNPROCESSED_MIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_UNPROCESSED_STEREO_MIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_UNPROCESSED_THREE_MIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_UNPROCESSED_QUAD_MIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
+ <mic_info mic_device_id="builtin_mic_4"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_GENERIC_QMIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_4"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ </input_snd_device_mic_mapping>
+ </input_snd_device>
+ </snd_devices>
</audio_platform_info>
diff --git a/configs/msmnile_au/audio_policy_configuration.xml b/configs/msmnile_au/audio_policy_configuration.xml
index b00e62f..0f4450d 100644
--- a/configs/msmnile_au/audio_policy_configuration.xml
+++ b/configs/msmnile_au/audio_policy_configuration.xml
@@ -100,7 +100,6 @@
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
- <mixPort name="hifi_playback" role="source" />
<mixPort name="compress_passthrough" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
<profile name="" format="dynamic"
@@ -190,18 +189,24 @@
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</mixPort>
+ <mixPort name="incall_music_uplink" role="source"
+ flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="8000,16000,48000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
<mixPort name="primary input" role="sink" maxOpenCount="2" maxActiveCount="2">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
</mixPort>
- <mixPort name="surround_sound" role="sink">
+ <mixPort name="voip_tx" role="sink"
+ flags="AUDIO_INPUT_FLAG_VOIP_TX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
- channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4,AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6"/>
+ samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</mixPort>
- <mixPort name="record_24" role="sink">
+ <mixPort name="record_24" role="sink" maxOpenCount="2" maxActiveCount="2">
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>
@@ -221,7 +226,6 @@
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3"/>
</mixPort>
- <mixPort name="hifi_input" role="sink" />
</mixPorts>
<devicePorts>
@@ -314,15 +318,18 @@
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
- <devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink">
+ <devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
+ encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
- <devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink">
+ <devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink"
+ encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
- <devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink">
+ <devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink"
+ encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
@@ -386,14 +393,18 @@
sources="primary output"/>
<route type="mix" sink="BT SCO All"
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
+ <route type="mix" sink="BT SCO Headset"
+ sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
+ <route type="mix" sink="BT SCO Car Kit"
+ sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
<route type="mix" sink="Telephony Tx"
- sources="voice_tx"/>
+ sources="voice_tx,incall_music_uplink"/>
<route type="mix" sink="voice_rx"
sources="Telephony Rx"/>
<route type="mix" sink="primary input"
- sources="Wired Headset Mic,BT SCO Headset Mic,FM Tuner,Telephony Rx"/>
- <route type="mix" sink="surround_sound"
- sources="Built-In Mic,Built-In Back Mic"/>
+ sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,Telephony Rx"/>
+ <route type="mix" sink="voip_tx"
+ sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic"/>
<route type="mix" sink="record_24"
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic"/>
<route type="mix" sink="mmap_no_irq_in"
diff --git a/configs/msmnile_au/audio_tuning_mixer_tavil.txt b/configs/msmnile_au/audio_tuning_mixer_tavil.txt
deleted file mode 100644
index 6c1c864..0000000
--- a/configs/msmnile_au/audio_tuning_mixer_tavil.txt
+++ /dev/null
@@ -1,193 +0,0 @@
-#ANC_TEST_P_PATH_MIC_STEREO Capture
-acdb_dev_id:85
-!Capture
-Txdevice:0
-
-enable
-AIF1_CAP Mixer SLIM TX7:1
-AIF1_CAP Mixer SLIM TX8:1
-CDC_IF TX7 MUX:DEC7
-ADC MUX7:DMIC
-DMIC MUX7:DMIC4
-CDC_IF TX8 MUX:DEC8
-ADC MUX8:DMIC
-DMIC MUX8:DMIC0
-SLIM_0_TX Channels:Two
-MultiMedia1 Mixer SLIM_0_TX:1
-
-disable
-MultiMedia1 Mixer SLIM_0_TX:0
-AIF1_CAP Mixer SLIM TX7:0
-AIF1_CAP Mixer SLIM TX8:0
-CDC_IF TX7 MUX:ZERO
-CDC_IF TX8 MUX:ZERO
-DMIC MUX7:ZERO
-DMIC MUX8:ZERO
-
-#ANC_TEST_S_PATH_MIC_STEREO Capture
-acdb_dev_id:88
-!Capture
-Txdevice:0
-
-enable
-AIF1_CAP Mixer SLIM TX7:1
-AIF1_CAP Mixer SLIM TX8:1
-CDC_IF TX7 MUX:DEC7
-ADC MUX7:ANC_FB_TUNE1
-ADC MUX10:DMIC
-DMIC MUX10:DMIC0
-CDC_IF TX8 MUX:DEC8
-ADC MUX8:ANC_FB_TUNE2
-ADC MUX12:DMIC
-DMIC MUX12:DMIC0
-ANC0 FB MUX:ANC_IN_EAR_SPKR
-ANC OUT EAR SPKR Enable Switch:1
-SLIM_0_TX Channels:Two
-MultiMedia1 Mixer SLIM_0_TX:1
-
-disable
-MultiMedia1 Mixer SLIM_0_TX:0
-AIF1_CAP Mixer SLIM TX7:0
-AIF1_CAP Mixer SLIM TX8:0
-CDC_IF TX7 MUX:ZERO
-CDC_IF TX8 MUX:ZERO
-ADC MUX7:DMIC
-ADC MUX8:DMIC
-DMIC MUX10:ZERO
-DMIC MUX12:ZERO
-ANC0 FB MUX:ZERO
-ANC OUT EAR SPKR Enable Switch:0
-
-
-#ANC_TEST_E_PATH_MIC_STEREO Capture
-acdb_dev_id:91
-!Capture
-Txdevice:0
-
-enable
-AIF1_CAP Mixer SLIM TX7:1
-AIF1_CAP Mixer SLIM TX8:1
-CDC_IF TX7 MUX:DEC7
-ADC MUX7:ANC_FB_TUNE1
-ADC MUX10:DMIC
-DMIC MUX10:DMIC4
-CDC_IF TX8 MUX:DEC8
-ADC MUX8:ANC_FB_TUNE2
-ADC MUX12:DMIC
-DMIC MUX12:DMIC4
-ANC0 FB MUX:ANC_IN_EAR_SPKR
-ANC OUT EAR SPKR Enable Switch:1
-SLIM_0_TX Channels:Two
-MultiMedia1 Mixer SLIM_0_TX:1
-
-disable
-MultiMedia1 Mixer SLIM_0_TX:0
-AIF1_CAP Mixer SLIM TX7:0
-AIF1_CAP Mixer SLIM TX8:0
-CDC_IF TX7 MUX:ZERO
-CDC_IF TX8 MUX:ZERO
-ADC MUX7:DMIC
-ADC MUX8:DMIC
-DMIC MUX10:ZERO
-DMIC MUX12:ZERO
-ANC0 FB MUX:ZERO
-ANC OUT EAR SPKR Enable Switch:0
-
-
-#ANC_TEST_S_PATH_HANDSET_SPKR_ANC_MONO
-acdb_dev_id:86
-!Playback
-Rxdevice:0
-
-enable
-ANC Function:ON
-SLIM RX0 MUX:AIF1_PB
-SLIM_0_RX Channels:One
-RX INT7_1 MIX1 INP0:RX0
-SpkrLeft SWR DAC_Port Switch:1
-ANC Slot:7
-ANC OUT EAR SPKR Enable Switch:1
-ANC SPKR PA Enable Switch:1
-SpkrLeft WSA PA Gain:G_6_DB
-SLIMBUS_0_RX Audio Mixer MultiMedia1:1
-
-disable
-SLIMBUS_0_RX Audio Mixer MultiMedia1:0
-SpkrLeft WSA PA Gain:G_0_DB
-ANC SPKR PA Enable Switch:0
-ANC OUT EAR SPKR Enable Switch:0
-SpkrLeft SWR DAC_Port Switch:0
-ANC Slot:0
-SLIM RX0 MUX:ZERO
-RX INT7_1 MIX1 INP0:ZERO
-ANC Function:OFF
-
-#ANC_TEST_E_PATH_HANDSET_SPKR_ANC_MONO
-acdb_dev_id:89
-!Playback
-Rxdevice:0
-
-enable
-ANC Function:ON
-SLIM RX0 MUX:AIF1_PB
-SLIM_0_RX Channels:One
-RX INT7_1 MIX1 INP0:RX0
-SpkrLeft SWR DAC_Port Switch:1
-ANC Slot:8
-ANC OUT EAR SPKR Enable Switch:1
-ANC SPKR PA Enable Switch:1
-SpkrLeft WSA PA Gain:G_6_DB
-SLIMBUS_0_RX Audio Mixer MultiMedia1:1
-
-disable
-SLIMBUS_0_RX Audio Mixer MultiMedia1:0
-SpkrLeft WSA PA Gain:G_0_DB
-ANC SPKR PA Enable Switch:0
-ANC OUT EAR SPKR Enable Switch:0
-SpkrLeft SWR DAC_Port Switch:0
-ANC Slot:0
-SLIM RX0 MUX:ZERO
-RX INT7_1 MIX1 INP0:ZERO
-ANC Function:OFF
-
-#RAS_TEST_SPKR_PHONE_SPKR_STEREO
-acdb_dev_id:136
-!Playback
-Rxdevice:0
-
-enable
-SLIM RX0 MUX:AIF1_PB
-SLIM RX1 MUX:AIF1_PB
-CDC_IF RX0 MUX:SLIM RX0
-CDC_IF RX1 MUX:SLIM RX1
-SLIM_0_RX Channels:Two
-RX INT7_1 MIX1 INP0:RX0
-RX INT8_1 MIX1 INP0:RX1
-COMP7 Switch:1
-COMP8 Switch:1
-SpkrLeft COMP Switch:1
-SpkrRight COMP Switch:1
-SpkrLeft BOOST Switch:1
-SpkrRight BOOST Switch:1
-SpkrLeft VISENSE Switch:1
-SpkrRight VISENSE Switch:1
-SpkrLeft SWR DAC_Port Switch:1
-SpkrRight SWR DAC_Port Switch:1
-SLIMBUS_0_RX Audio Mixer MultiMedia1:1
-
-disable
-SLIM RX0 MUX:ZERO
-SLIM RX1 MUX:ZERO
-RX INT7_1 MIX1 INP0:ZERO
-RX INT8_1 MIX1 INP0:ZERO
-COMP7 Switch:0
-COMP8 Switch:0
-SpkrLeft COMP Switch:0
-SpkrRight COMP Switch:0
-SpkrLeft BOOST Switch:0
-SpkrRight BOOST Switch:0
-SpkrLeft VISENSE Switch:0
-SpkrRight VISENSE Switch:0
-SpkrLeft SWR DAC_Port Switch:0
-SpkrRight SWR DAC_Port Switch:0
-SLIMBUS_0_RX Audio Mixer MultiMedia1:0
diff --git a/configs/msmnile_au/mixer_paths_adp.xml b/configs/msmnile_au/mixer_paths_adp.xml
index 63012be..98414f4 100644
--- a/configs/msmnile_au/mixer_paths_adp.xml
+++ b/configs/msmnile_au/mixer_paths_adp.xml
@@ -286,10 +286,6 @@
<ctl name="SEC_TDM_RX_0 Audio Mixer MultiMedia9" value="0" />
<ctl name="MultiMedia9 Mixer TERT_TDM_TX_0" value="0" />
- <path name="dummy-hostless">
- <ctl name="SEC_TDM_RX_7 Port Mixer TERT_TDM_TX_7" value="1" />
- </path>
-
<!-- These are audio route (FE to BE) specific mixer settings -->
<!-- EC Reference -->
@@ -307,6 +303,10 @@
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_6_RX" />
</path>
+ <path name="echo-reference headset">
+ <path name="echo-reference headphones" />
+ </path>
+
<path name="echo-reference display-port">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="DISPLAY_PORT" />
</path>
@@ -329,14 +329,16 @@
<path name="deep-buffer-playback">
<ctl name="TERT_TDM_RX_0 Channels" value="Six" />
<ctl name="TERT_TDM_RX_0 Audio Mixer MultiMedia1" value="1" />
- <ctl name="QUAT_TDM_RX_0 Channels" value="Six" />
- <ctl name="QUAT_TDM_RX_0 Audio Mixer MultiMedia1" value="1" />
</path>
<path name="deep-buffer-playback speaker-protected">
<path name="deep-buffer-playback" />
</path>
+ <path name="deep-buffer-playback speaker-safe">
+ <path name="deep-buffer-playback" />
+ </path>
+
<path name="deep-buffer-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia1" value="1" />
</path>
@@ -372,25 +374,49 @@
<path name="deep-buffer-playback" />
</path>
+ <path name="deep-buffer-playback speaker-safe-and-usb-headphones">
+ <path name="deep-buffer-playback usb-headphones" />
+ <path name="deep-buffer-playback" />
+ </path>
+
<path name="deep-buffer-playback headphones">
<ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia1" value="1" />
</path>
+ <path name="deep-buffer-playback headset">
+ <path name="deep-buffer-playback headphones" />
+ </path>
+
<path name="deep-buffer-playback speaker-and-headphones">
<path name="deep-buffer-playback headphones" />
<path name="deep-buffer-playback" />
</path>
+ <path name="deep-buffer-playback speaker-safe-and-headphones">
+ <path name="deep-buffer-playback headphones" />
+ <path name="deep-buffer-playback" />
+ </path>
+
<path name="deep-buffer-playback speaker-and-bt-sco">
<path name="deep-buffer-playback bt-sco" />
<path name="deep-buffer-playback" />
</path>
+ <path name="deep-buffer-playback speaker-safe-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco" />
+ <path name="deep-buffer-playback" />
+ </path>
+
<path name="deep-buffer-playback speaker-and-bt-sco-wb">
<path name="deep-buffer-playback bt-sco-wb" />
<path name="deep-buffer-playback" />
</path>
+ <path name="deep-buffer-playback speaker-safe-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
<path name="low-latency-playback">
<ctl name="TERT_TDM_RX_0 Channels" value="Six" />
<ctl name="TERT_TDM_RX_0 Audio Mixer MultiMedia5" value="1" />
@@ -400,6 +426,10 @@
<path name="low-latency-playback" />
</path>
+ <path name="low-latency-playback speaker-safe">
+ <path name="low-latency-playback" />
+ </path>
+
<path name="low-latency-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia5" value="1" />
</path>
@@ -435,15 +465,29 @@
<path name="low-latency-playback" />
</path>
+ <path name="low-latency-playback speaker-safe-and-usb-headphones">
+ <path name="low-latency-playback usb-headphones" />
+ <path name="low-latency-playback" />
+ </path>
+
<path name="low-latency-playback headphones">
<ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia5" value="1" />
</path>
+ <path name="low-latency-playback headset">
+ <path name="low-latency-playback headphones" />
+ </path>
+
<path name="low-latency-playback speaker-and-headphones">
<path name="low-latency-playback headphones" />
<path name="low-latency-playback" />
</path>
+ <path name="low-latency-playback speaker-safe-and-headphones">
+ <path name="low-latency-playback headphones" />
+ <path name="low-latency-playback" />
+ </path>
+
<path name="low-latency-playback resume">
<ctl name="MultiMedia5_RX QOS Vote" value="Enable" />
</path>
@@ -453,11 +497,21 @@
<path name="low-latency-playback" />
</path>
+ <path name="low-latency-playback speaker-safe-and-bt-sco">
+ <path name="low-latency-playback bt-sco" />
+ <path name="low-latency-playback" />
+ </path>
+
<path name="low-latency-playback speaker-and-bt-sco-wb">
<path name="low-latency-playback bt-sco-wb" />
<path name="low-latency-playback" />
</path>
+ <path name="low-latency-playback speaker-safe-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb" />
+ <path name="low-latency-playback" />
+ </path>
+
<path name="audio-ull-playback">
<ctl name="TERT_TDM_RX_0 Channels" value="Six" />
<ctl name="TERT_TDM_RX_0 Audio Mixer MultiMedia8" value="1" />
@@ -467,15 +521,28 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-safe">
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="audio-ull-playback headphones">
<ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia8" value="1" />
</path>
+ <path name="audio-ull-playback headset">
+ <path name="audio-ull-playback headphones" />
+ </path>
+
<path name="audio-ull-playback speaker-and-headphones">
<path name="audio-ull-playback" />
<path name="audio-ull-playback headphones" />
</path>
+ <path name="audio-ull-playback speaker-safe-and-headphones">
+ <path name="audio-ull-playback" />
+ <path name="audio-ull-playback headphones" />
+ </path>
+
<path name="audio-ull-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia8" value="1" />
</path>
@@ -511,11 +578,21 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-safe-and-bt-sco">
+ <path name="audio-ull-playback bt-sco" />
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="audio-ull-playback speaker-and-bt-sco-wb">
<path name="audio-ull-playback bt-sco-wb" />
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-safe-and-bt-sco-wb">
+ <path name="audio-ull-playback bt-sco-wb" />
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="multi-channel-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia2" value="1" />
</path>
@@ -529,12 +606,18 @@
<ctl name="TERT_TDM_RX_0 Audio Mixer MultiMedia4" value="1" />
<ctl name="QUAT_TDM_RX_0 Channels" value="Six" />
<ctl name="QUAT_TDM_RX_0 Audio Mixer MultiMedia4" value="1" />
+ <ctl name="QUIN_TDM_RX_0 Channels" value="Two" />
+ <ctl name="QUIN_TDM_RX_0 Audio Mixer MultiMedia4" value="1" />
</path>
<path name="compress-offload-playback speaker-protected">
<path name="compress-offload-playback" />
</path>
+ <path name="compress-offload-playback speaker-safe">
+ <path name="compress-offload-playback" />
+ </path>
+
<path name="compress-offload-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia4" value="1" />
</path>
@@ -574,10 +657,19 @@
<path name="compress-offload-playback" />
</path>
+ <path name="compress-offload-playback speaker-safe-and-usb-headphones">
+ <path name="compress-offload-playback usb-headphones" />
+ <path name="compress-offload-playback" />
+ </path>
+
<path name="compress-offload-playback headphones">
<ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia4" value="1" />
</path>
+ <path name="compress-offload-playback headset">
+ <path name="compress-offload-playback headphones" />
+ </path>
+
<path name="compress-offload-playback headphones-44.1">
<ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia4" value="1" />
</path>
@@ -591,21 +683,38 @@
<path name="compress-offload-playback" />
</path>
+ <path name="compress-offload-playback speaker-safe-and-headphones">
+ <path name="compress-offload-playback headphones" />
+ <path name="compress-offload-playback" />
+ </path>
+
<path name="compress-offload-playback speaker-and-bt-sco">
<path name="compress-offload-playback bt-sco" />
<path name="compress-offload-playback" />
</path>
+ <path name="compress-offload-playback speaker-safe-and-bt-sco">
+ <path name="compress-offload-playback bt-sco" />
+ <path name="compress-offload-playback" />
+ </path>
+
<path name="compress-offload-playback speaker-and-bt-sco-wb">
<path name="compress-offload-playback bt-sco-wb" />
<path name="compress-offload-playback" />
</path>
+ <path name="compress-offload-playback speaker-safe-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb" />
+ <path name="compress-offload-playback" />
+ </path>
+
<path name="compress-offload-playback2">
<ctl name="TERT_TDM_RX_0 Channels" value="Six" />
<ctl name="TERT_TDM_RX_0 Audio Mixer MultiMedia7" value="1" />
<ctl name="QUAT_TDM_RX_0 Channels" value="Six" />
<ctl name="QUAT_TDM_RX_0 Audio Mixer MultiMedia7" value="1" />
+ <ctl name="QUIN_TDM_RX_0 Channels" value="Two" />
+ <ctl name="QUIN_TDM_RX_0 Audio Mixer MultiMedia7" value="1" />
</path>
<path name="compress-offload-playback2 display-port">
@@ -643,10 +752,19 @@
<path name="compress-offload-playback2" />
</path>
+ <path name="compress-offload-playback2 speaker-safe-and-usb-headphones">
+ <path name="compress-offload-playback2 usb-headphones" />
+ <path name="compress-offload-playback2" />
+ </path>
+
<path name="compress-offload-playback2 headphones">
<ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia7" value="1" />
</path>
+ <path name="compress-offload-playback2 headset">
+ <path name="compress-offload-playback2 headphones" />
+ </path>
+
<path name="compress-offload-playback2 headphones-44.1">
<ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia7" value="1" />
</path>
@@ -660,16 +778,31 @@
<path name="compress-offload-playback2" />
</path>
+ <path name="compress-offload-playback2 speaker-safe-and-headphones">
+ <path name="compress-offload-playback2 headphones" />
+ <path name="compress-offload-playback2" />
+ </path>
+
<path name="compress-offload-playback2 speaker-and-bt-sco">
<path name="compress-offload-playback2 bt-sco" />
<path name="compress-offload-playback2" />
</path>
+ <path name="compress-offload-playback2 speaker-safe-and-bt-sco">
+ <path name="compress-offload-playback2 bt-sco" />
+ <path name="compress-offload-playback2" />
+ </path>
+
<path name="compress-offload-playback2 speaker-and-bt-sco-wb">
<path name="compress-offload-playback2 bt-sco-wb" />
<path name="compress-offload-playback2" />
</path>
+ <path name="compress-offload-playback2 speaker-safe-and-bt-sco-wb">
+ <path name="compress-offload-playback2 bt-sco-wb" />
+ <path name="compress-offload-playback2" />
+ </path>
+
<path name="compress-offload-playback3">
<ctl name="TERT_TDM_RX_0 Channels" value="Six" />
<ctl name="TERT_TDM_RX_0 Audio Mixer MultiMedia10" value="1" />
@@ -714,6 +847,10 @@
<ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia10" value="1" />
</path>
+ <path name="compress-offload-playback3 headset">
+ <path name="compress-offload-playback3 headphones" />
+ </path>
+
<path name="compress-offload-playback3 headphones-44.1">
<ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia10" value="1" />
</path>
@@ -782,6 +919,10 @@
<ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia11" value="1" />
</path>
+ <path name="compress-offload-playback4 headset">
+ <path name="compress-offload-playback4 headphones" />
+ </path>
+
<path name="compress-offload-playback4 headphones-44.1">
<ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia11" value="1" />
</path>
@@ -849,6 +990,10 @@
<ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia12" value="1" />
</path>
+ <path name="compress-offload-playback5 headset">
+ <path name="compress-offload-playback5 headphones" />
+ </path>
+
<path name="compress-offload-playback5 headphones-44.1">
<ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia12" value="1" />
</path>
@@ -916,6 +1061,10 @@
<ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia13" value="1" />
</path>
+ <path name="compress-offload-playback6 headset">
+ <path name="compress-offload-playback6 headphones" />
+ </path>
+
<path name="compress-offload-playback6 headphones-44.1">
<ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia13" value="1" />
</path>
@@ -983,6 +1132,10 @@
<ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia14" value="1" />
</path>
+ <path name="compress-offload-playback7 headset">
+ <path name="compress-offload-playback7 headphones" />
+ </path>
+
<path name="compress-offload-playback7 headphones-44.1">
<ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia14" value="1" />
</path>
@@ -1050,6 +1203,10 @@
<ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia15" value="1" />
</path>
+ <path name="compress-offload-playback8 headset">
+ <path name="compress-offload-playback8 headphones" />
+ </path>
+
<path name="compress-offload-playback8 headphones-44.1">
<ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia15" value="1" />
</path>
@@ -1117,6 +1274,10 @@
<ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia16" value="1" />
</path>
+ <path name="compress-offload-playback9 headset">
+ <path name="compress-offload-playback9 headphones" />
+ </path>
+
<path name="compress-offload-playback9 headphones-44.1">
<ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia16" value="1" />
</path>
@@ -1144,6 +1305,10 @@
<path name="media-playback">
<ctl name="TERT_TDM_RX_0 Channels" value="Six" />
<ctl name="TERT_TDM_RX_0 Audio Mixer MultiMedia1" value="1" />
+ <ctl name="QUAT_TDM_RX_0 Channels" value="Six" />
+ <ctl name="QUAT_TDM_RX_0 Audio Mixer MultiMedia1" value="1" />
+ <ctl name="QUIN_TDM_RX_0 Channels" value="Two" />
+ <ctl name="QUIN_TDM_RX_0 Audio Mixer MultiMedia1" value="1" />
</path>
<path name="sys-notification-playback">
@@ -1166,6 +1331,11 @@
<ctl name="MultiMedia1 Mixer TERT_TDM_TX_0" value="1" />
</path>
+ <path name="audio-record headset-mic">
+ <ctl name="TERT_TDM_TX_0 Channels" value="One" />
+ <ctl name="MultiMedia1 Mixer TERT_TDM_TX_0" value="1" />
+ </path>
+
<path name="audio-record usb-headset-mic">
<ctl name="MultiMedia1 Mixer USB_AUDIO_TX" value="1" />
</path>
@@ -1189,6 +1359,11 @@
<ctl name="MultiMedia8 Mixer TERT_TDM_TX_0" value="1" />
</path>
+ <path name="audio-record-compress headset-mic">
+ <ctl name="TERT_TDM_TX_0 Channels" value="One" />
+ <ctl name="MultiMedia8 Mixer TERT_TDM_TX_0" value="1" />
+ </path>
+
<path name="audio-record-compress bt-sco">
<ctl name="MultiMedia8 Mixer SLIM_7_TX" value="1" />
</path>
@@ -1202,9 +1377,37 @@
<ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="1" />
</path>
+ <path name="audio-record-compress2">
+ <ctl name="TERT_TDM_TX_0 Channels" value="One" />
+ <ctl name="MultiMedia17 Mixer TERT_TDM_TX_0" value="1" />
+ </path>
+
+ <path name="audio-record-compress2 headset-mic">
+ <ctl name="TERT_TDM_TX_0 Channels" value="One" />
+ <ctl name="MultiMedia17 Mixer TERT_TDM_TX_0" value="1" />
+ </path>
+
+ <path name="audio-record-compress2 usb-headset-mic">
+ <ctl name="MultiMedia17 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
+ <path name="audio-record-compress2 bt-sco">
+ <ctl name="MultiMedia17 Mixer SLIM_7_TX" value="1" />
+ </path>
+
+ <path name="audio-record-compress2 bt-sco-wb">
+ <ctl name="BT SampleRate" value="KHZ_16" />
+ <path name="audio-record-compress2 bt-sco" />
+ </path>
+
<path name="low-latency-record">
<ctl name="TERT_TDM_TX_0 Channels" value="One" />
- <ctl name="MultiMedia8 Mixer TERT_TDM_TX_0" value="1" />
+ <ctl name="MultiMedia8 Mixer TERT_TDM_TX_0" value="1" />
+ </path>
+
+ <path name="low-latency-record headset-mic">
+ <ctl name="TERT_TDM_TX_0 Channels" value="One" />
+ <ctl name="MultiMedia8 Mixer TERT_TDM_TX_0" value="1" />
</path>
<path name="low-latency-record bt-sco">
@@ -1242,6 +1445,10 @@
<ctl name="SLIMBUS6_DL_HL Switch" value="1" />
</path>
+ <path name="play-fm headset">
+ <path name="play-fm headphones" />
+ </path>
+
<path name="incall-rec-uplink">
<ctl name="MultiMedia1 Mixer VOC_REC_UL" value="1" />
</path>
@@ -1258,6 +1465,10 @@
<path name="incall-rec-uplink" />
</path>
+ <path name="incall-rec-uplink headset-mic">
+ <path name="incall-rec-uplink" />
+ </path>
+
<path name="incall-rec-uplink afe-proxy">
<path name="incall-rec-uplink" />
</path>
@@ -1266,6 +1477,10 @@
<ctl name="MultiMedia8 Mixer VOC_REC_UL" value="1" />
</path>
+ <path name="incall-rec-uplink-compress headset-mic">
+ <path name="incall-rec-uplink-compress" />
+ </path>
+
<path name="incall-rec-uplink-compress bt-sco">
<path name="incall-rec-uplink-compress" />
</path>
@@ -1298,6 +1513,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 afe-proxy">
<path name="incall-rec-downlink" />
</path>
@@ -1306,6 +1525,10 @@
<ctl name="MultiMedia8 Mixer VOC_REC_DL" value="1" />
</path>
+ <path name="incall-rec-downlink-compress headset-mic">
+ <path name="incall-rec-downlink-compress" />
+ </path>
+
<path name="incall-rec-downlink-compress bt-sco">
<path name="incall-rec-downlink-compress" />
</path>
@@ -1339,6 +1562,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 afe-proxy">
<path name="incall-rec-uplink-and-downlink" />
</path>
@@ -1352,6 +1579,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="incall-rec-uplink-and-downlink-compress bt-sco-wb">
<path name="incall-rec-uplink-and-downlink-compress" />
</path>
@@ -1390,6 +1621,10 @@
<path name="hfp-sco headphones">
</path>
+ <path name="hfp-sco headset">
+ <path name="hfp-sco headphones" />
+ </path>
+
<path name="hfp-sco-wb">
<ctl name="PRIM_AUX_PCM_TX SampleRate" value="KHZ_16" />
<ctl name="PRIM_AUX_PCM_RX SampleRate" value="KHZ_16" />
@@ -1400,6 +1635,10 @@
<path name="hfp-sco headphones" />
</path>
+ <path name="hfp-sco-wb headset">
+ <path name="hfp-sco headphones" />
+ </path>
+
<path name="compress-voip-call">
<ctl name="SLIM_0_RX_Voice Mixer Voip" value="1" />
<ctl name="Voip_Tx Mixer SLIM_0_TX_Voip" value="1" />
@@ -1415,6 +1654,10 @@
<ctl name="Voip_Tx Mixer SLIM_0_TX_Voip" value="1" />
</path>
+ <path name="compress-voip-call headset">
+ <ctl name="SLIM_6_RX_Voice Mixer Voip" value="1" />
+ <ctl name="Voip_Tx Mixer SLIM_1_TX_Voip" value="1" />
+ </path>
<path name="compress-voip-call bt-sco">
<ctl name="SLIM_7_RX_Voice Mixer Voip" value="1" />
@@ -1447,7 +1690,12 @@
</path>
<path name="voicemmode1-call headphones">
- <ctl name="SLIM_6_RX_Voice Mixer VoiceMMode1" value="1" />
+ <ctl name="TERT_TDM_RX_2_Voice Mixer VoiceMMode1" value="1" />
+ <ctl name="VoiceMMode1_Tx Mixer TERT_TDM_TX_0_MMode1" value="1" />
+ </path>
+
+ <path name="voicemmode1-call headset">
+ <ctl name="TERT_TDM_RX_2_Voice Mixer VoiceMMode1" value="1" />
<ctl name="VoiceMMode1_Tx Mixer TERT_TDM_TX_0_MMode1" value="1" />
</path>
@@ -1487,13 +1735,18 @@
</path>
<path name="voicemmode2-call">
- <ctl name="SLIM_0_RX_Voice Mixer VoiceMMode2" value="1" />
- <ctl name="VoiceMMode2_Tx Mixer SLIM_0_TX_MMode2" value="1" />
+ <ctl name="TERT_TDM_RX_2_Voice Mixer VoiceMMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer TERT_TDM_TX_0_MMode2" value="1" />
</path>
<path name="voicemmode2-call headphones">
- <ctl name="SLIM_6_RX_Voice Mixer VoiceMMode2" value="1" />
- <ctl name="VoiceMMode2_Tx Mixer SLIM_0_TX_MMode2" value="1" />
+ <ctl name="TERT_TDM_RX_2_Voice Mixer VoiceMMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer TERT_TDM_TX_0_MMode2" value="1" />
+ </path>
+
+ <path name="voicemmode2-call headset">
+ <ctl name="TERT_TDM_RX_2_Voice Mixer VoiceMMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer TERT_TDM_TX_0_MMode2" value="1" />
</path>
<path name="voicemmode2-call bt-sco">
@@ -1513,7 +1766,7 @@
<path name="voicemmode2-call usb-headphones">
<ctl name="USB_AUDIO_RX_Voice Mixer VoiceMMode2" value="1" />
- <ctl name="VoiceMMode2_Tx Mixer SLIM_0_TX_MMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer TERT_TDM_TX_0_MMode2" value="1" />
</path>
<path name="voicemmode2-call usb-headset">
@@ -1528,7 +1781,7 @@
<path name="voicemmode2-call display-port">
<ctl name="DISPLAY_PORT_RX_Voice Mixer VoiceMMode2" value="1" />
- <ctl name="VoiceMMode2_Tx Mixer SLIM_0_TX_MMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer TERT_TDM_TX_0_MMode2" value="1" />
</path>
<!-- VoIP Rx settings -->
@@ -1541,6 +1794,10 @@
<ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia10" value="1" />
</path>
+ <path name="audio-playback-voip headset">
+ <path name="audio-playback-voip headphones" />
+ </path>
+
<path name="audio-playback-voip bt-sco">
<ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia10" value="1" />
</path>
@@ -1550,6 +1807,10 @@
<path name="audio-playback-voip bt-sco" />
</path>
+ <path name="audio-playback-voip bt-a2dp">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia10" value="1" />
+ </path>
+
<path name="audio-playback-voip afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia10" value="1" />
</path>
@@ -1576,6 +1837,10 @@
<ctl name="MultiMedia10 Mixer SLIM_0_TX" value="1" />
</path>
+ <path name="audio-record-voip headset-mic">
+ <ctl name="MultiMedia10 Mixer SLIM_1_TX" value="1" />
+ </path>
+
<path name="audio-record-voip usb-headset-mic">
<ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="1" />
</path>
@@ -1647,6 +1912,10 @@
<path name="speaker" />
</path>
+ <path name="speaker-safe">
+ <path name="speaker-mono"/>
+ </path>
+
<path name="speaker-adp">
<!--ctl name="TERT_TDM_RX_0 Channels" value="Six" /-->
</path>
@@ -1675,24 +1944,39 @@
</path>
<path name="speaker-mic">
- <path name="dmic2" />
+ <path name="dmic3" />
</path>
<path name="speaker-mic-liquid">
- <path name="dmic2" />
+ <path name="dmic3" />
</path>
<path name="speaker-mic-sbc">
</path>
+ <path name="speaker-mic-qrd">
+ <path name="dmic1" />
+ </path>
+
<path name="speaker-protected">
<path name="speaker" />
</path>
+ <path name="speaker-protected-qrd">
+ </path>
+
<path name="voice-speaker-protected">
<path name="speaker-mono" />
</path>
+ <path name="voice-speaker-protected-qrd">
+ <path name="speaker-protected-qrd" />
+ </path>
+
+ <path name="voice-speaker-stereo-protected">
+ <path name="speaker-protected" />
+ </path>
+
<path name="voice-speaker-2-protected">
<path name="speaker-mono-2" />
</path>
@@ -1716,6 +2000,14 @@
<path name="dmic3" />
</path>
+ <path name="handset-mic-qrd">
+ <path name="dmic3" />
+ </path>
+
+ <path name="voice-handset-mic-qrd">
+ <path name="handset-mic-qrd" />
+ </path>
+
<path name="handset-mic-db">
</path>
@@ -1726,15 +2018,12 @@
<path name="handset-mic-sbc">
</path>
- <path name="handset-mic-adp">
- </path>
-
- <path name="handset-mic-custom">
- </path>
-
<path name="three-mic">
</path>
+ <path name="three-mic-qrd">
+ </path>
+
<path name="anc-handset">
</path>
@@ -1799,6 +2088,10 @@
<path name="speaker-mono" />
</path>
+ <path name="voice-speaker-stereo">
+ <path name="speaker" />
+ </path>
+
<path name="voice-speaker-qrd">
<path name="speaker-mono-2" />
</path>
@@ -1819,16 +2112,28 @@
<path name="speaker-mic" />
</path>
+ <path name="voice-speaker-mic-qrd">
+ <path name="speaker-mic-qrd" />
+ </path>
+
<path name="voice-headphones">
<path name="headphones" />
</path>
+ <path name="voice-headset">
+ <path name="headphones" />
+ </path>
+
<path name="voice-line">
<path name="voice-headphones" />
</path>
<path name="voice-headset-mic">
- <path name="headset-mic" />
+ <path name="amic2" />
+ </path>
+
+ <path name="voice-headset-mic-qrd">
+ <path name="amic2" />
</path>
<path name="speaker-and-headphones">
@@ -1836,6 +2141,11 @@
<path name="speaker" />
</path>
+ <path name="speaker-safe-and-headphones">
+ <path name="headphones" />
+ <path name="speaker-safe" />
+ </path>
+
<path name="speaker-and-line">
<path name="speaker-and-headphones" />
</path>
@@ -1895,6 +2205,11 @@
<path name="usb-headphones" />
</path>
+ <path name="speaker-safe-and-usb-headphones">
+ <path name="speaker-safe" />
+ <path name="usb-headphones" />
+ </path>
+
<path name="speaker-and-display-port">
<path name="speaker" />
<path name="display-port" />
@@ -1932,6 +2247,9 @@
<path name="aanc-handset-mic">
</path>
+ <path name="aanc-handset-mic-qrd">
+ </path>
+
<!-- Dual MIC devices -->
<path name="handset-dmic-endfire">
</path>
@@ -1939,6 +2257,12 @@
<path name="speaker-dmic-endfire">
</path>
+ <path name="handset-dmic-endfire-qrd">
+ </path>
+
+ <path name="speaker-dmic-endfire-qrd">
+ </path>
+
<path name="dmic-endfire">
<path name="handset-dmic-endfire" />
</path>
@@ -1947,6 +2271,10 @@
<path name="handset-dmic-endfire" />
</path>
+ <path name="dmic-endfire-qrd">
+ <path name="handset-dmic-endfire-qrd" />
+ </path>
+
<path name="handset-stereo-dmic-ef">
<path name="handset-dmic-endfire" />
</path>
@@ -1999,6 +2327,22 @@
<path name="dmic-endfire-liquid" />
</path>
+ <path name="handset-stereo-dmic-ef-qrd">
+ <path name="handset-dmic-endfire-qrd" />
+ </path>
+
+ <path name="speaker-stereo-dmic-ef-qrd">
+ <path name="speaker-dmic-endfire-qrd" />
+ </path>
+
+ <path name="voice-dmic-ef-qrd">
+ <path name="dmic-endfire-qrd" />
+ </path>
+
+ <path name="voice-speaker-dmic-ef-qrd">
+ <path name="speaker-dmic-endfire-qrd" />
+ </path>
+
<path name="speaker-dmic-broadside">
</path>
@@ -2010,12 +2354,34 @@
<path name="dmic-broadside" />
</path>
+ <path name="voice-speaker-dmic-broadside-qrd">
+ <path name="speaker-dmic-broadside-qrd" />
+ </path>
+
+ <!-- Tri MIC devices -->
+ <path name="speaker-tmic">
+ </path>
+
+ <path name="speaker-tmic-qrd">
+ </path>
+
+ <path name="voice-speaker-tmic">
+ <path name="speaker-tmic" />
+ </path>
+
+ <path name="voice-speaker-tmic-qrd">
+ <path name="speaker-tmic-qrd" />
+ </path>
+
<!-- Quad MIC devices -->
<path name="speaker-qmic">
<ctl name="TERT_TDM_TX_0 Channels" value="Four" />
<ctl name="MultiMedia1 Mixer TERT_TDM_TX_0" value="1" />
</path>
+ <path name="speaker-qmic-qrd">
+ </path>
+
<path name="speaker-qmic-liquid">
</path>
@@ -2035,6 +2401,14 @@
<path name="speaker-qmic-liquid" />
</path>
+ <path name="quad-mic-qrd">
+ <path name="speaker-qmic-qrd" />
+ </path>
+
+ <path name="voice-speaker-qmic-qrd">
+ <path name="speaker-qmic-qrd" />
+ </path>
+
<!-- TTY devices -->
<path name="tty-headphones">
@@ -2045,11 +2419,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" />
@@ -2070,7 +2454,6 @@
</path>
<path name="voice-tty-hco-headset-mic">
- <path name="voice-tty-full-headset-mic" />
</path>
<path name="voice-tty-vco-handset-mic">
@@ -2098,7 +2481,7 @@
</path>
<path name="unprocessed-headset-mic">
- <path name="headset-mic" />
+ <path name="amic2" />
</path>
<!-- USB TTY start -->
@@ -2140,6 +2523,11 @@
<path name="bt-a2dp" />
</path>
+ <path name="speaker-safe-and-bt-a2dp">
+ <path name="speaker-safe" />
+ <path name="bt-a2dp" />
+ </path>
+
<path name="deep-buffer-playback bt-a2dp">
<ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -2193,21 +2581,41 @@
<path name="deep-buffer-playback" />
</path>
+ <path name="deep-buffer-playback speaker-safe-and-bt-a2dp">
+ <path name="deep-buffer-playback bt-a2dp" />
+ <path name="deep-buffer-playback" />
+ </path>
+
<path name="compress-offload-playback speaker-and-bt-a2dp">
<path name="compress-offload-playback bt-a2dp" />
<path name="compress-offload-playback" />
</path>
+ <path name="compress-offload-playback speaker-safe-and-bt-a2dp">
+ <path name="compress-offload-playback bt-a2dp" />
+ <path name="compress-offload-playback" />
+ </path>
+
<path name="low-latency-playback speaker-and-bt-a2dp">
<path name="low-latency-playback bt-a2dp" />
<path name="low-latency-playback" />
</path>
+ <path name="low-latency-playback speaker-safe-and-bt-a2dp">
+ <path name="low-latency-playback bt-a2dp" />
+ <path name="low-latency-playback" />
+ </path>
+
<path name="compress-offload-playback2 speaker-and-bt-a2dp">
<path name="compress-offload-playback2 bt-a2dp" />
<path name="compress-offload-playback2" />
</path>
+ <path name="compress-offload-playback2 speaker-safe-and-bt-a2dp">
+ <path name="compress-offload-playback2 bt-a2dp" />
+ <path name="compress-offload-playback2" />
+ </path>
+
<path name="compress-offload-playback3 speaker-and-bt-a2dp">
<path name="compress-offload-playback3 bt-a2dp" />
<path name="compress-offload-playback3" />
@@ -2248,6 +2656,11 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-safe-and-bt-a2dp">
+ <path name="audio-ull-playback bt-a2dp" />
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="mmap-playback">
<ctl name="TERT_TDM_RX_0 Audio Mixer MultiMedia16" value="1" />
</path>
@@ -2256,17 +2669,26 @@
<ctl name="SLIMBUS_6_RX 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" />
</path>
+ <path name="mmap-playback speaker-safe-and-headphones">
+ <path name="mmap-playback" />
+ <path name="mmap-playback headphones" />
+ </path>
+
<path name="mmap-playback bt-sco">
<ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia16" value="1" />
</path>
<path name="mmap-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="16000" />
+ <ctl name="BT SampleRate" value="KHZ_16" />
<path name="mmap-playback bt-sco" />
</path>
@@ -2286,7 +2708,7 @@
<ctl name="DISPLAY_PORT Mixer MultiMedia16" value="1" />
</path>
- <path name="mmap-buffer-playback hdmi">
+ <path name="mmap-playback hdmi">
<ctl name="HDMI Mixer MultiMedia16" value="1" />
</path>
@@ -2305,8 +2727,17 @@
<path name="mmap-playback" />
</path>
+ <path name="mmap-playback speaker-safe-and-usb-headphones">
+ <path name="mmap-playback usb-headphones" />
+ <path name="mmap-playback" />
+ </path>
+
<path name="mmap-record">
- <ctl name="MultiMedia16 Mixer SLIM_0_TX" value="1" />
+ <ctl name="MultiMedia16 Mixer TERT_TDM_TX_0" value="1" />
+ </path>
+
+ <path name="mmap-record headset-mic">
+ <ctl name="MultiMedia16 Mixer SLIM_1_TX" value="1" />
</path>
<path name="mmap-record bt-sco">
@@ -2342,8 +2773,183 @@
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia2" value="1" />
</path>
+ <path name="hifi-record">
+ <ctl name="MultiMedia2 Mixer SLIM_0_TX" value="1" />
+ </path>
+
+ <path name="hifi-record headset-mic">
+ <ctl name="MultiMedia2 Mixer SLIM_1_TX" value="1" />
+ </path>
+
<path name="hifi-record usb-headset-mic">
<ctl name="MultiMedia2 Mixer USB_AUDIO_TX" value="1" />
</path>
+ <path name="incall_music_uplink">
+ <ctl name="Incall_Music Audio Mixer MultiMedia9" value="1" />
+ </path>
+
+ <path name="incall_music_uplink speaker">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink handset">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink handset-hac">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink display-port">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink bt-sco">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink bt-sco-wb">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-display-port">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink afe-proxy">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink usb-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink usb-headset">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-usb-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-safe-and-usb-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-safe-and-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-bt-sco">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-safe-and-bt-sco">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink voice-tty-hco-handset">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-bt-a2dp">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-safe-and-bt-a2dp">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink bt-a2dp">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink afe-proxy">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink2">
+ <ctl name="Incall_Music_2 Audio Mixer MultiMedia9" value="1" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 handset">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 handset-hac">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 display-port">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 bt-sco">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 bt-sco-wb">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-display-port">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 afe-proxy">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 usb-headphones">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 usb-headset">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-usb-headphones">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 headphones">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-headphones">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-bt-sco">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 voice-tty-hco-handset">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-bt-a2dp">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 bt-a2dp">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 afe-proxy">
+ <path name="incall_music_uplink2" />
+ </path>
</mixer>
diff --git a/configs/msmnile_au/mixer_paths_custom.xml b/configs/msmnile_au/mixer_paths_custom.xml
index 9d8507a..3f48185 100644
--- a/configs/msmnile_au/mixer_paths_custom.xml
+++ b/configs/msmnile_au/mixer_paths_custom.xml
@@ -303,6 +303,10 @@
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_6_RX" />
</path>
+ <path name="echo-reference headset">
+ <path name="echo-reference headphones" />
+ </path>
+
<path name="echo-reference display-port">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="DISPLAY_PORT" />
</path>
@@ -331,6 +335,10 @@
<path name="deep-buffer-playback" />
</path>
+ <path name="deep-buffer-playback speaker-safe">
+ <path name="deep-buffer-playback" />
+ </path>
+
<path name="deep-buffer-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia1" value="1" />
</path>
@@ -366,25 +374,49 @@
<path name="deep-buffer-playback" />
</path>
+ <path name="deep-buffer-playback speaker-safe-and-usb-headphones">
+ <path name="deep-buffer-playback usb-headphones" />
+ <path name="deep-buffer-playback" />
+ </path>
+
<path name="deep-buffer-playback headphones">
<ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia1" value="1" />
</path>
+ <path name="deep-buffer-playback headset">
+ <path name="deep-buffer-playback headphones" />
+ </path>
+
<path name="deep-buffer-playback speaker-and-headphones">
<path name="deep-buffer-playback headphones" />
<path name="deep-buffer-playback" />
</path>
+ <path name="deep-buffer-playback speaker-safe-and-headphones">
+ <path name="deep-buffer-playback headphones" />
+ <path name="deep-buffer-playback" />
+ </path>
+
<path name="deep-buffer-playback speaker-and-bt-sco">
<path name="deep-buffer-playback bt-sco" />
<path name="deep-buffer-playback" />
</path>
+ <path name="deep-buffer-playback speaker-safe-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco" />
+ <path name="deep-buffer-playback" />
+ </path>
+
<path name="deep-buffer-playback speaker-and-bt-sco-wb">
<path name="deep-buffer-playback bt-sco-wb" />
<path name="deep-buffer-playback" />
</path>
+ <path name="deep-buffer-playback speaker-safe-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
<path name="low-latency-playback">
<ctl name="TERT_TDM_RX_0 Channels" value="Six" />
<ctl name="TERT_TDM_RX_0 Audio Mixer MultiMedia5" value="1" />
@@ -394,6 +426,10 @@
<path name="low-latency-playback" />
</path>
+ <path name="low-latency-playback speaker-safe">
+ <path name="low-latency-playback" />
+ </path>
+
<path name="low-latency-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia5" value="1" />
</path>
@@ -429,15 +465,29 @@
<path name="low-latency-playback" />
</path>
+ <path name="low-latency-playback speaker-safe-and-usb-headphones">
+ <path name="low-latency-playback usb-headphones" />
+ <path name="low-latency-playback" />
+ </path>
+
<path name="low-latency-playback headphones">
<ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia5" value="1" />
</path>
+ <path name="low-latency-playback headset">
+ <path name="low-latency-playback headphones" />
+ </path>
+
<path name="low-latency-playback speaker-and-headphones">
<path name="low-latency-playback headphones" />
<path name="low-latency-playback" />
</path>
+ <path name="low-latency-playback speaker-safe-and-headphones">
+ <path name="low-latency-playback headphones" />
+ <path name="low-latency-playback" />
+ </path>
+
<path name="low-latency-playback resume">
<ctl name="MultiMedia5_RX QOS Vote" value="Enable" />
</path>
@@ -447,11 +497,21 @@
<path name="low-latency-playback" />
</path>
+ <path name="low-latency-playback speaker-safe-and-bt-sco">
+ <path name="low-latency-playback bt-sco" />
+ <path name="low-latency-playback" />
+ </path>
+
<path name="low-latency-playback speaker-and-bt-sco-wb">
<path name="low-latency-playback bt-sco-wb" />
<path name="low-latency-playback" />
</path>
+ <path name="low-latency-playback speaker-safe-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb" />
+ <path name="low-latency-playback" />
+ </path>
+
<path name="audio-ull-playback">
<ctl name="TERT_TDM_RX_0 Channels" value="Six" />
<ctl name="TERT_TDM_RX_0 Audio Mixer MultiMedia8" value="1" />
@@ -461,15 +521,28 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-safe">
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="audio-ull-playback headphones">
<ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia8" value="1" />
</path>
+ <path name="audio-ull-playback headset">
+ <path name="audio-ull-playback headphones" />
+ </path>
+
<path name="audio-ull-playback speaker-and-headphones">
<path name="audio-ull-playback" />
<path name="audio-ull-playback headphones" />
</path>
+ <path name="audio-ull-playback speaker-safe-and-headphones">
+ <path name="audio-ull-playback" />
+ <path name="audio-ull-playback headphones" />
+ </path>
+
<path name="audio-ull-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia8" value="1" />
</path>
@@ -505,11 +578,21 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-safe-and-bt-sco">
+ <path name="audio-ull-playback bt-sco" />
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="audio-ull-playback speaker-and-bt-sco-wb">
<path name="audio-ull-playback bt-sco-wb" />
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-safe-and-bt-sco-wb">
+ <path name="audio-ull-playback bt-sco-wb" />
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="multi-channel-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia2" value="1" />
</path>
@@ -527,6 +610,10 @@
<path name="compress-offload-playback" />
</path>
+ <path name="compress-offload-playback speaker-safe">
+ <path name="compress-offload-playback" />
+ </path>
+
<path name="compress-offload-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia4" value="1" />
</path>
@@ -566,10 +653,19 @@
<path name="compress-offload-playback" />
</path>
+ <path name="compress-offload-playback speaker-safe-and-usb-headphones">
+ <path name="compress-offload-playback usb-headphones" />
+ <path name="compress-offload-playback" />
+ </path>
+
<path name="compress-offload-playback headphones">
<ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia4" value="1" />
</path>
+ <path name="compress-offload-playback headset">
+ <path name="compress-offload-playback headphones" />
+ </path>
+
<path name="compress-offload-playback headphones-44.1">
<ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia4" value="1" />
</path>
@@ -583,16 +679,31 @@
<path name="compress-offload-playback" />
</path>
+ <path name="compress-offload-playback speaker-safe-and-headphones">
+ <path name="compress-offload-playback headphones" />
+ <path name="compress-offload-playback" />
+ </path>
+
<path name="compress-offload-playback speaker-and-bt-sco">
<path name="compress-offload-playback bt-sco" />
<path name="compress-offload-playback" />
</path>
+ <path name="compress-offload-playback speaker-safe-and-bt-sco">
+ <path name="compress-offload-playback bt-sco" />
+ <path name="compress-offload-playback" />
+ </path>
+
<path name="compress-offload-playback speaker-and-bt-sco-wb">
<path name="compress-offload-playback bt-sco-wb" />
<path name="compress-offload-playback" />
</path>
+ <path name="compress-offload-playback speaker-safe-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb" />
+ <path name="compress-offload-playback" />
+ </path>
+
<path name="compress-offload-playback2">
<ctl name="TERT_TDM_RX_0 Channels" value="Six" />
<ctl name="TERT_TDM_RX_0 Audio Mixer MultiMedia7" value="1" />
@@ -633,10 +744,19 @@
<path name="compress-offload-playback2" />
</path>
+ <path name="compress-offload-playback2 speaker-safe-and-usb-headphones">
+ <path name="compress-offload-playback2 usb-headphones" />
+ <path name="compress-offload-playback2" />
+ </path>
+
<path name="compress-offload-playback2 headphones">
<ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia7" value="1" />
</path>
+ <path name="compress-offload-playback2 headset">
+ <path name="compress-offload-playback2 headphones" />
+ </path>
+
<path name="compress-offload-playback2 headphones-44.1">
<ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia7" value="1" />
</path>
@@ -650,16 +770,31 @@
<path name="compress-offload-playback2" />
</path>
+ <path name="compress-offload-playback2 speaker-safe-and-headphones">
+ <path name="compress-offload-playback2 headphones" />
+ <path name="compress-offload-playback2" />
+ </path>
+
<path name="compress-offload-playback2 speaker-and-bt-sco">
<path name="compress-offload-playback2 bt-sco" />
<path name="compress-offload-playback2" />
</path>
+ <path name="compress-offload-playback2 speaker-safe-and-bt-sco">
+ <path name="compress-offload-playback2 bt-sco" />
+ <path name="compress-offload-playback2" />
+ </path>
+
<path name="compress-offload-playback2 speaker-and-bt-sco-wb">
<path name="compress-offload-playback2 bt-sco-wb" />
<path name="compress-offload-playback2" />
</path>
+ <path name="compress-offload-playback2 speaker-safe-and-bt-sco-wb">
+ <path name="compress-offload-playback2 bt-sco-wb" />
+ <path name="compress-offload-playback2" />
+ </path>
+
<path name="compress-offload-playback3">
<ctl name="TERT_TDM_RX_0 Channels" value="Six" />
<ctl name="TERT_TDM_RX_0 Audio Mixer MultiMedia10" value="1" />
@@ -704,6 +839,10 @@
<ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia10" value="1" />
</path>
+ <path name="compress-offload-playback3 headset">
+ <path name="compress-offload-playback3 headphones" />
+ </path>
+
<path name="compress-offload-playback3 headphones-44.1">
<ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia10" value="1" />
</path>
@@ -772,6 +911,10 @@
<ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia11" value="1" />
</path>
+ <path name="compress-offload-playback4 headset">
+ <path name="compress-offload-playback4 headphones" />
+ </path>
+
<path name="compress-offload-playback4 headphones-44.1">
<ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia11" value="1" />
</path>
@@ -839,6 +982,10 @@
<ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia12" value="1" />
</path>
+ <path name="compress-offload-playback5 headset">
+ <path name="compress-offload-playback5 headphones" />
+ </path>
+
<path name="compress-offload-playback5 headphones-44.1">
<ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia12" value="1" />
</path>
@@ -906,6 +1053,10 @@
<ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia13" value="1" />
</path>
+ <path name="compress-offload-playback6 headset">
+ <path name="compress-offload-playback6 headphones" />
+ </path>
+
<path name="compress-offload-playback6 headphones-44.1">
<ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia13" value="1" />
</path>
@@ -973,6 +1124,10 @@
<ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia14" value="1" />
</path>
+ <path name="compress-offload-playback7 headset">
+ <path name="compress-offload-playback7 headphones" />
+ </path>
+
<path name="compress-offload-playback7 headphones-44.1">
<ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia14" value="1" />
</path>
@@ -1040,6 +1195,10 @@
<ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia15" value="1" />
</path>
+ <path name="compress-offload-playback8 headset">
+ <path name="compress-offload-playback8 headphones" />
+ </path>
+
<path name="compress-offload-playback8 headphones-44.1">
<ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia15" value="1" />
</path>
@@ -1107,6 +1266,10 @@
<ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia16" value="1" />
</path>
+ <path name="compress-offload-playback9 headset">
+ <path name="compress-offload-playback9 headphones" />
+ </path>
+
<path name="compress-offload-playback9 headphones-44.1">
<ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia16" value="1" />
</path>
@@ -1156,6 +1319,11 @@
<ctl name="MultiMedia1 Mixer TERT_TDM_TX_0" value="1" />
</path>
+ <path name="audio-record headset-mic">
+ <ctl name="TERT_TDM_TX_0 Channels" value="One" />
+ <ctl name="MultiMedia1 Mixer TERT_TDM_TX_0" value="1" />
+ </path>
+
<path name="audio-record usb-headset-mic">
<ctl name="MultiMedia1 Mixer USB_AUDIO_TX" value="1" />
</path>
@@ -1179,6 +1347,11 @@
<ctl name="MultiMedia8 Mixer TERT_TDM_TX_0" value="1" />
</path>
+ <path name="audio-record-compress headset-mic">
+ <ctl name="TERT_TDM_TX_0 Channels" value="One" />
+ <ctl name="MultiMedia8 Mixer TERT_TDM_TX_0" value="1" />
+ </path>
+
<path name="audio-record-compress bt-sco">
<ctl name="MultiMedia8 Mixer SLIM_7_TX" value="1" />
</path>
@@ -1192,9 +1365,37 @@
<ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="1" />
</path>
+ <path name="audio-record-compress2">
+ <ctl name="TERT_TDM_TX_0 Channels" value="One" />
+ <ctl name="MultiMedia17 Mixer TERT_TDM_TX_0" value="1" />
+ </path>
+
+ <path name="audio-record-compress2 headset-mic">
+ <ctl name="TERT_TDM_TX_0 Channels" value="One" />
+ <ctl name="MultiMedia17 Mixer TERT_TDM_TX_0" value="1" />
+ </path>
+
+ <path name="audio-record-compress2 usb-headset-mic">
+ <ctl name="MultiMedia17 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
+ <path name="audio-record-compress2 bt-sco">
+ <ctl name="MultiMedia17 Mixer SLIM_7_TX" value="1" />
+ </path>
+
+ <path name="audio-record-compress2 bt-sco-wb">
+ <ctl name="BT SampleRate" value="KHZ_16" />
+ <path name="audio-record-compress2 bt-sco" />
+ </path>
+
<path name="low-latency-record">
<ctl name="TERT_TDM_TX_0 Channels" value="One" />
- <ctl name="MultiMedia8 Mixer TERT_TDM_TX_0" value="1" />
+ <ctl name="MultiMedia8 Mixer TERT_TDM_TX_0" value="1" />
+ </path>
+
+ <path name="low-latency-record headset-mic">
+ <ctl name="TERT_TDM_TX_0 Channels" value="One" />
+ <ctl name="MultiMedia8 Mixer TERT_TDM_TX_0" value="1" />
</path>
<path name="low-latency-record bt-sco">
@@ -1232,6 +1433,10 @@
<ctl name="SLIMBUS6_DL_HL Switch" value="1" />
</path>
+ <path name="play-fm headset">
+ <path name="play-fm headphones" />
+ </path>
+
<path name="incall-rec-uplink">
<ctl name="MultiMedia1 Mixer VOC_REC_UL" value="1" />
</path>
@@ -1248,6 +1453,10 @@
<path name="incall-rec-uplink" />
</path>
+ <path name="incall-rec-uplink headset-mic">
+ <path name="incall-rec-uplink" />
+ </path>
+
<path name="incall-rec-uplink afe-proxy">
<path name="incall-rec-uplink" />
</path>
@@ -1256,6 +1465,10 @@
<ctl name="MultiMedia8 Mixer VOC_REC_UL" value="1" />
</path>
+ <path name="incall-rec-uplink-compress headset-mic">
+ <path name="incall-rec-uplink-compress" />
+ </path>
+
<path name="incall-rec-uplink-compress bt-sco">
<path name="incall-rec-uplink-compress" />
</path>
@@ -1288,6 +1501,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 afe-proxy">
<path name="incall-rec-downlink" />
</path>
@@ -1296,6 +1513,10 @@
<ctl name="MultiMedia8 Mixer VOC_REC_DL" value="1" />
</path>
+ <path name="incall-rec-downlink-compress headset-mic">
+ <path name="incall-rec-downlink-compress" />
+ </path>
+
<path name="incall-rec-downlink-compress bt-sco">
<path name="incall-rec-downlink-compress" />
</path>
@@ -1329,6 +1550,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 afe-proxy">
<path name="incall-rec-uplink-and-downlink" />
</path>
@@ -1342,6 +1567,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="incall-rec-uplink-and-downlink-compress bt-sco-wb">
<path name="incall-rec-uplink-and-downlink-compress" />
</path>
@@ -1380,6 +1609,10 @@
<path name="hfp-sco headphones">
</path>
+ <path name="hfp-sco headset">
+ <path name="hfp-sco headphones" />
+ </path>
+
<path name="hfp-sco-wb">
<ctl name="PRIM_AUX_PCM_TX SampleRate" value="KHZ_16" />
<ctl name="PRIM_AUX_PCM_RX SampleRate" value="KHZ_16" />
@@ -1390,6 +1623,10 @@
<path name="hfp-sco headphones" />
</path>
+ <path name="hfp-sco-wb headset">
+ <path name="hfp-sco headphones" />
+ </path>
+
<path name="compress-voip-call">
<ctl name="SLIM_0_RX_Voice Mixer Voip" value="1" />
<ctl name="Voip_Tx Mixer SLIM_0_TX_Voip" value="1" />
@@ -1405,6 +1642,10 @@
<ctl name="Voip_Tx Mixer SLIM_0_TX_Voip" value="1" />
</path>
+ <path name="compress-voip-call headset">
+ <ctl name="SLIM_6_RX_Voice Mixer Voip" value="1" />
+ <ctl name="Voip_Tx Mixer SLIM_1_TX_Voip" value="1" />
+ </path>
<path name="compress-voip-call bt-sco">
<ctl name="SLIM_7_RX_Voice Mixer Voip" value="1" />
@@ -1437,7 +1678,12 @@
</path>
<path name="voicemmode1-call headphones">
- <ctl name="SLIM_6_RX_Voice Mixer VoiceMMode1" value="1" />
+ <ctl name="TERT_TDM_RX_2_Voice Mixer VoiceMMode1" value="1" />
+ <ctl name="VoiceMMode1_Tx Mixer TERT_TDM_TX_0_MMode1" value="1" />
+ </path>
+
+ <path name="voicemmode1-call headset">
+ <ctl name="TERT_TDM_RX_2_Voice Mixer VoiceMMode1" value="1" />
<ctl name="VoiceMMode1_Tx Mixer TERT_TDM_TX_0_MMode1" value="1" />
</path>
@@ -1477,13 +1723,18 @@
</path>
<path name="voicemmode2-call">
- <ctl name="SLIM_0_RX_Voice Mixer VoiceMMode2" value="1" />
- <ctl name="VoiceMMode2_Tx Mixer SLIM_0_TX_MMode2" value="1" />
+ <ctl name="TERT_TDM_RX_2_Voice Mixer VoiceMMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer TERT_TDM_TX_0_MMode2" value="1" />
</path>
<path name="voicemmode2-call headphones">
- <ctl name="SLIM_6_RX_Voice Mixer VoiceMMode2" value="1" />
- <ctl name="VoiceMMode2_Tx Mixer SLIM_0_TX_MMode2" value="1" />
+ <ctl name="TERT_TDM_RX_2_Voice Mixer VoiceMMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer TERT_TDM_TX_0_MMode2" value="1" />
+ </path>
+
+ <path name="voicemmode2-call headset">
+ <ctl name="TERT_TDM_RX_2_Voice Mixer VoiceMMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer TERT_TDM_TX_0_MMode2" value="1" />
</path>
<path name="voicemmode2-call bt-sco">
@@ -1503,7 +1754,7 @@
<path name="voicemmode2-call usb-headphones">
<ctl name="USB_AUDIO_RX_Voice Mixer VoiceMMode2" value="1" />
- <ctl name="VoiceMMode2_Tx Mixer SLIM_0_TX_MMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer TERT_TDM_TX_0_MMode2" value="1" />
</path>
<path name="voicemmode2-call usb-headset">
@@ -1518,7 +1769,7 @@
<path name="voicemmode2-call display-port">
<ctl name="DISPLAY_PORT_RX_Voice Mixer VoiceMMode2" value="1" />
- <ctl name="VoiceMMode2_Tx Mixer SLIM_0_TX_MMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer TERT_TDM_TX_0_MMode2" value="1" />
</path>
<!-- VoIP Rx settings -->
@@ -1531,6 +1782,10 @@
<ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia10" value="1" />
</path>
+ <path name="audio-playback-voip headset">
+ <path name="audio-playback-voip headphones" />
+ </path>
+
<path name="audio-playback-voip bt-sco">
<ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia10" value="1" />
</path>
@@ -1540,6 +1795,10 @@
<path name="audio-playback-voip bt-sco" />
</path>
+ <path name="audio-playback-voip bt-a2dp">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia10" value="1" />
+ </path>
+
<path name="audio-playback-voip afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia10" value="1" />
</path>
@@ -1566,6 +1825,10 @@
<ctl name="MultiMedia10 Mixer SLIM_0_TX" value="1" />
</path>
+ <path name="audio-record-voip headset-mic">
+ <ctl name="MultiMedia10 Mixer SLIM_1_TX" value="1" />
+ </path>
+
<path name="audio-record-voip usb-headset-mic">
<ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="1" />
</path>
@@ -1637,6 +1900,10 @@
<path name="speaker" />
</path>
+ <path name="speaker-safe">
+ <path name="speaker-mono"/>
+ </path>
+
<path name="speaker-adp">
<!--ctl name="TERT_TDM_RX_0 Channels" value="Six" /-->
</path>
@@ -1665,24 +1932,39 @@
</path>
<path name="speaker-mic">
- <path name="dmic2" />
+ <path name="dmic3" />
</path>
<path name="speaker-mic-liquid">
- <path name="dmic2" />
+ <path name="dmic3" />
</path>
<path name="speaker-mic-sbc">
</path>
+ <path name="speaker-mic-qrd">
+ <path name="dmic1" />
+ </path>
+
<path name="speaker-protected">
<path name="speaker" />
</path>
+ <path name="speaker-protected-qrd">
+ </path>
+
<path name="voice-speaker-protected">
<path name="speaker-mono" />
</path>
+ <path name="voice-speaker-protected-qrd">
+ <path name="speaker-protected-qrd" />
+ </path>
+
+ <path name="voice-speaker-stereo-protected">
+ <path name="speaker-protected" />
+ </path>
+
<path name="voice-speaker-2-protected">
<path name="speaker-mono-2" />
</path>
@@ -1706,6 +1988,14 @@
<path name="dmic3" />
</path>
+ <path name="handset-mic-qrd">
+ <path name="dmic3" />
+ </path>
+
+ <path name="voice-handset-mic-qrd">
+ <path name="handset-mic-qrd" />
+ </path>
+
<path name="handset-mic-db">
</path>
@@ -1716,15 +2006,12 @@
<path name="handset-mic-sbc">
</path>
- <path name="handset-mic-adp">
- </path>
-
- <path name="handset-mic-custom">
- </path>
-
<path name="three-mic">
</path>
+ <path name="three-mic-qrd">
+ </path>
+
<path name="anc-handset">
</path>
@@ -1789,6 +2076,10 @@
<path name="speaker-mono" />
</path>
+ <path name="voice-speaker-stereo">
+ <path name="speaker" />
+ </path>
+
<path name="voice-speaker-qrd">
<path name="speaker-mono-2" />
</path>
@@ -1809,16 +2100,28 @@
<path name="speaker-mic" />
</path>
+ <path name="voice-speaker-mic-qrd">
+ <path name="speaker-mic-qrd" />
+ </path>
+
<path name="voice-headphones">
<path name="headphones" />
</path>
+ <path name="voice-headset">
+ <path name="headphones" />
+ </path>
+
<path name="voice-line">
<path name="voice-headphones" />
</path>
<path name="voice-headset-mic">
- <path name="headset-mic" />
+ <path name="amic2" />
+ </path>
+
+ <path name="voice-headset-mic-qrd">
+ <path name="amic2" />
</path>
<path name="speaker-and-headphones">
@@ -1826,6 +2129,11 @@
<path name="speaker" />
</path>
+ <path name="speaker-safe-and-headphones">
+ <path name="headphones" />
+ <path name="speaker-safe" />
+ </path>
+
<path name="speaker-and-line">
<path name="speaker-and-headphones" />
</path>
@@ -1885,6 +2193,11 @@
<path name="usb-headphones" />
</path>
+ <path name="speaker-safe-and-usb-headphones">
+ <path name="speaker-safe" />
+ <path name="usb-headphones" />
+ </path>
+
<path name="speaker-and-display-port">
<path name="speaker" />
<path name="display-port" />
@@ -1922,6 +2235,9 @@
<path name="aanc-handset-mic">
</path>
+ <path name="aanc-handset-mic-qrd">
+ </path>
+
<!-- Dual MIC devices -->
<path name="handset-dmic-endfire">
</path>
@@ -1929,6 +2245,12 @@
<path name="speaker-dmic-endfire">
</path>
+ <path name="handset-dmic-endfire-qrd">
+ </path>
+
+ <path name="speaker-dmic-endfire-qrd">
+ </path>
+
<path name="dmic-endfire">
<path name="handset-dmic-endfire" />
</path>
@@ -1937,6 +2259,10 @@
<path name="handset-dmic-endfire" />
</path>
+ <path name="dmic-endfire-qrd">
+ <path name="handset-dmic-endfire-qrd" />
+ </path>
+
<path name="handset-stereo-dmic-ef">
<path name="handset-dmic-endfire" />
</path>
@@ -1989,6 +2315,22 @@
<path name="dmic-endfire-liquid" />
</path>
+ <path name="handset-stereo-dmic-ef-qrd">
+ <path name="handset-dmic-endfire-qrd" />
+ </path>
+
+ <path name="speaker-stereo-dmic-ef-qrd">
+ <path name="speaker-dmic-endfire-qrd" />
+ </path>
+
+ <path name="voice-dmic-ef-qrd">
+ <path name="dmic-endfire-qrd" />
+ </path>
+
+ <path name="voice-speaker-dmic-ef-qrd">
+ <path name="speaker-dmic-endfire-qrd" />
+ </path>
+
<path name="speaker-dmic-broadside">
</path>
@@ -2000,12 +2342,34 @@
<path name="dmic-broadside" />
</path>
+ <path name="voice-speaker-dmic-broadside-qrd">
+ <path name="speaker-dmic-broadside-qrd" />
+ </path>
+
+ <!-- Tri MIC devices -->
+ <path name="speaker-tmic">
+ </path>
+
+ <path name="speaker-tmic-qrd">
+ </path>
+
+ <path name="voice-speaker-tmic">
+ <path name="speaker-tmic" />
+ </path>
+
+ <path name="voice-speaker-tmic-qrd">
+ <path name="speaker-tmic-qrd" />
+ </path>
+
<!-- Quad MIC devices -->
<path name="speaker-qmic">
<ctl name="TERT_TDM_TX_0 Channels" value="Four" />
<ctl name="MultiMedia1 Mixer TERT_TDM_TX_0" value="1" />
</path>
+ <path name="speaker-qmic-qrd">
+ </path>
+
<path name="speaker-qmic-liquid">
</path>
@@ -2025,6 +2389,14 @@
<path name="speaker-qmic-liquid" />
</path>
+ <path name="quad-mic-qrd">
+ <path name="speaker-qmic-qrd" />
+ </path>
+
+ <path name="voice-speaker-qmic-qrd">
+ <path name="speaker-qmic-qrd" />
+ </path>
+
<!-- TTY devices -->
<path name="tty-headphones">
@@ -2035,11 +2407,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" />
@@ -2060,7 +2442,6 @@
</path>
<path name="voice-tty-hco-headset-mic">
- <path name="voice-tty-full-headset-mic" />
</path>
<path name="voice-tty-vco-handset-mic">
@@ -2088,7 +2469,7 @@
</path>
<path name="unprocessed-headset-mic">
- <path name="headset-mic" />
+ <path name="amic2" />
</path>
<!-- USB TTY start -->
@@ -2130,6 +2511,11 @@
<path name="bt-a2dp" />
</path>
+ <path name="speaker-safe-and-bt-a2dp">
+ <path name="speaker-safe" />
+ <path name="bt-a2dp" />
+ </path>
+
<path name="deep-buffer-playback bt-a2dp">
<ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -2183,21 +2569,41 @@
<path name="deep-buffer-playback" />
</path>
+ <path name="deep-buffer-playback speaker-safe-and-bt-a2dp">
+ <path name="deep-buffer-playback bt-a2dp" />
+ <path name="deep-buffer-playback" />
+ </path>
+
<path name="compress-offload-playback speaker-and-bt-a2dp">
<path name="compress-offload-playback bt-a2dp" />
<path name="compress-offload-playback" />
</path>
+ <path name="compress-offload-playback speaker-safe-and-bt-a2dp">
+ <path name="compress-offload-playback bt-a2dp" />
+ <path name="compress-offload-playback" />
+ </path>
+
<path name="low-latency-playback speaker-and-bt-a2dp">
<path name="low-latency-playback bt-a2dp" />
<path name="low-latency-playback" />
</path>
+ <path name="low-latency-playback speaker-safe-and-bt-a2dp">
+ <path name="low-latency-playback bt-a2dp" />
+ <path name="low-latency-playback" />
+ </path>
+
<path name="compress-offload-playback2 speaker-and-bt-a2dp">
<path name="compress-offload-playback2 bt-a2dp" />
<path name="compress-offload-playback2" />
</path>
+ <path name="compress-offload-playback2 speaker-safe-and-bt-a2dp">
+ <path name="compress-offload-playback2 bt-a2dp" />
+ <path name="compress-offload-playback2" />
+ </path>
+
<path name="compress-offload-playback3 speaker-and-bt-a2dp">
<path name="compress-offload-playback3 bt-a2dp" />
<path name="compress-offload-playback3" />
@@ -2238,6 +2644,11 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-safe-and-bt-a2dp">
+ <path name="audio-ull-playback bt-a2dp" />
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="mmap-playback">
<ctl name="TERT_TDM_RX_0 Audio Mixer MultiMedia16" value="1" />
</path>
@@ -2246,17 +2657,26 @@
<ctl name="SLIMBUS_6_RX 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" />
</path>
+ <path name="mmap-playback speaker-safe-and-headphones">
+ <path name="mmap-playback" />
+ <path name="mmap-playback headphones" />
+ </path>
+
<path name="mmap-playback bt-sco">
<ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia16" value="1" />
</path>
<path name="mmap-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="16000" />
+ <ctl name="BT SampleRate" value="KHZ_16" />
<path name="mmap-playback bt-sco" />
</path>
@@ -2276,7 +2696,7 @@
<ctl name="DISPLAY_PORT Mixer MultiMedia16" value="1" />
</path>
- <path name="mmap-buffer-playback hdmi">
+ <path name="mmap-playback hdmi">
<ctl name="HDMI Mixer MultiMedia16" value="1" />
</path>
@@ -2295,8 +2715,17 @@
<path name="mmap-playback" />
</path>
+ <path name="mmap-playback speaker-safe-and-usb-headphones">
+ <path name="mmap-playback usb-headphones" />
+ <path name="mmap-playback" />
+ </path>
+
<path name="mmap-record">
- <ctl name="MultiMedia16 Mixer SLIM_0_TX" value="1" />
+ <ctl name="MultiMedia16 Mixer TERT_TDM_TX_0" value="1" />
+ </path>
+
+ <path name="mmap-record headset-mic">
+ <ctl name="MultiMedia16 Mixer SLIM_1_TX" value="1" />
</path>
<path name="mmap-record bt-sco">
@@ -2332,8 +2761,183 @@
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia2" value="1" />
</path>
+ <path name="hifi-record">
+ <ctl name="MultiMedia2 Mixer SLIM_0_TX" value="1" />
+ </path>
+
+ <path name="hifi-record headset-mic">
+ <ctl name="MultiMedia2 Mixer SLIM_1_TX" value="1" />
+ </path>
+
<path name="hifi-record usb-headset-mic">
<ctl name="MultiMedia2 Mixer USB_AUDIO_TX" value="1" />
</path>
+ <path name="incall_music_uplink">
+ <ctl name="Incall_Music Audio Mixer MultiMedia9" value="1" />
+ </path>
+
+ <path name="incall_music_uplink speaker">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink handset">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink handset-hac">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink display-port">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink bt-sco">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink bt-sco-wb">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-display-port">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink afe-proxy">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink usb-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink usb-headset">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-usb-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-safe-and-usb-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-safe-and-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-bt-sco">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-safe-and-bt-sco">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink voice-tty-hco-handset">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-bt-a2dp">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-safe-and-bt-a2dp">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink bt-a2dp">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink afe-proxy">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink2">
+ <ctl name="Incall_Music_2 Audio Mixer MultiMedia9" value="1" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 handset">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 handset-hac">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 display-port">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 bt-sco">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 bt-sco-wb">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-display-port">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 afe-proxy">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 usb-headphones">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 usb-headset">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-usb-headphones">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 headphones">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-headphones">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-bt-sco">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 voice-tty-hco-handset">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-bt-a2dp">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 bt-a2dp">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 afe-proxy">
+ <path name="incall_music_uplink2" />
+ </path>
</mixer>
diff --git a/configs/msmnile_au/msmnile_au.mk b/configs/msmnile_au/msmnile_au.mk
index 7d17be7..731144f 100644
--- a/configs/msmnile_au/msmnile_au.mk
+++ b/configs/msmnile_au/msmnile_au.mk
@@ -1,11 +1,20 @@
#BOARD_USES_GENERIC_AUDIO := true
#
#AUDIO_FEATURE_FLAGS
+ifeq ($(TARGET_USES_QMAA_OVERRIDE_AUDIO), false)
+ifeq ($(TARGET_USES_QMAA),true)
+AUDIO_USE_STUB_HAL := true
+endif
+endif
+
+ifneq ($(AUDIO_USE_STUB_HAL), true)
BOARD_USES_ALSA_AUDIO := true
ifneq ($(TARGET_USES_AOSP_FOR_AUDIO), true)
-USE_CUSTOM_AUDIO_POLICY := 1
+AUDIO_FEATURE_QSSI_COMPLIANCE := false
AUDIO_FEATURE_ENABLED_COMPRESS_CAPTURE := false
+AUDIO_FEATURE_ENABLED_COMPRESS_INPUT := true
+AUDIO_FEATURE_ENABLED_CONCURRENT_CAPTURE := true
AUDIO_FEATURE_ENABLED_COMPRESS_VOIP := false
AUDIO_FEATURE_ENABLED_DYNAMIC_ECNS := true
AUDIO_FEATURE_ENABLED_EXTN_FORMATS := true
@@ -32,6 +41,7 @@
AUDIO_FEATURE_ENABLED_USB_TUNNEL := true
AUDIO_FEATURE_ENABLED_A2DP_OFFLOAD := true
AUDIO_FEATURE_ENABLED_3D_AUDIO := false
+AUDIO_FEATURE_ENABLED_AHAL_EXT := false
DOLBY_ENABLE := false
endif
@@ -62,7 +72,7 @@
AUDIO_FEATURE_ENABLED_GEF_SUPPORT := true
BOARD_SUPPORTS_QAHW := false
AUDIO_FEATURE_ENABLED_RAS := true
-AUDIO_FEATURE_ENABLED_SND_MONITOR := true
+AUDIO_FEATURE_ENABLED_SND_MONITOR := false
AUDIO_FEATURE_ENABLED_DLKM := true
AUDIO_FEATURE_ENABLED_USB_BURST_MODE := false
AUDIO_FEATURE_ENABLED_SVA_MULTI_STAGE := false
@@ -72,6 +82,10 @@
AUDIO_FEATURE_ENABLED_AUTO_HAL := true
AUDIO_FEATURE_ENABLED_EXT_HW_PLUGIN := true
AUDIO_FEATURE_ENABLED_AUDIO_CONTROL_HAL := true
+ifneq ($(ENABLE_HYP),true)
+AUDIO_FEATURE_ENABLED_AUTO_AUDIOD := true
+endif
+AUDIO_FEATURE_ENABLED_FM_TUNER_EXT := true
##AUTOMOTIVE_AUDIO_FEATURE_FLAGS
ifneq ($(strip $(TARGET_USES_RRO)), true)
@@ -80,23 +94,23 @@
endif
#Automotive audio specific device overlays
-ifneq ($(TARGET_USES_AOSP_FOR_AUDIO), true)
-DEVICE_PACKAGE_OVERLAYS += hardware/qcom/audio/configs/msmnile_au/overlay
-endif
+DEVICE_PACKAGE_OVERLAYS += vendor/qcom/opensource/audio-hal/primary-hal/configs/common_au/overlay
PRODUCT_COPY_FILES += \
- vendor/qcom/opensource/audio-hal/primary-hal/configs/msmnile_au/audio_output_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_output_policy.conf \
+ vendor/qcom/opensource/audio-hal/primary-hal/configs/msmnile_au/audio_io_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_io_policy.conf \
vendor/qcom/opensource/audio-hal/primary-hal/configs/msmnile_au/audio_effects.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.conf \
vendor/qcom/opensource/audio-hal/primary-hal/configs/msmnile_au/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/msmnile_au/mixer_paths_adp.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_adp.xml \
- vendor/qcom/opensource/audio-hal/primary-hal/configs/msmnile_au/audio_tuning_mixer_tavil.txt:$(TARGET_COPY_OUT_VENDOR)/etc/audio_tuning_mixer_tavil.txt \
vendor/qcom/opensource/audio-hal/primary-hal/configs/msmnile_au/audio_tuning_mixer.txt:$(TARGET_COPY_OUT_VENDOR)/etc/audio_tuning_mixer.txt \
- vendor/qcom/opensource/audio-hal/primary-hal/configs/msmnile_au/sound_trigger_mixer_paths_wcd9340.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_wcd9340.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/msmnile_au/sound_trigger_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_platform_info.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/msmnile_au/graphite_ipc_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/graphite_ipc_platform_info.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/msmnile_au/audio_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/msmnile_au/mixer_paths_custom.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_custom.xml \
- vendor/qcom/opensource/audio-hal/primary-hal/configs/msmnile_au/sound_trigger_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths.xml
+ vendor/qcom/opensource/audio-hal/primary-hal/configs/msmnile_au/sound_trigger_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths.xml \
+ vendor/qcom/opensource/audio-hal/primary-hal/configs/msmnile_au/audio_configs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_configs.xml \
+ vendor/qcom/opensource/audio-hal/primary-hal/configs/msmnile_au/audio_configs_stock.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_configs_stock.xml \
+ frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml \
+ frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml
#XML Audio configuration files
ifneq ($(TARGET_USES_AOSP_FOR_AUDIO), true)
@@ -104,7 +118,7 @@
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/msmnile_au/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/audio_policy_configuration.xml
endif
PRODUCT_COPY_FILES += \
- $(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
+ $(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common_au/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
$(TOPDIR)frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \
$(TOPDIR)frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
$(TOPDIR)frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
@@ -136,6 +150,19 @@
persist.vendor.audio.fluence.speaker=true\
persist.vendor.audio.fluence.tmic.enabled=false
+#
+#snapdragon value add features
+#
+PRODUCT_PROPERTY_OVERRIDES += \
+ro.qc.sdk.audio.ssr=false
+
+##fluencetype can be "fluence" or "fluencepro" or "none"
+PRODUCT_PROPERTY_OVERRIDES += \
+ro.qc.sdk.audio.fluencetype=none\
+persist.audio.fluence.voicecall=true\
+persist.audio.fluence.voicerec=false\
+persist.audio.fluence.speaker=true
+
#disable tunnel encoding
PRODUCT_PROPERTY_OVERRIDES += \
vendor.audio.tunnel.encode=false
@@ -191,7 +218,7 @@
#enable pbe effects
PRODUCT_PROPERTY_OVERRIDES += \
-vendor.audio.safx.pbe.enabled=true
+vendor.audio.safx.pbe.enabled=false
#parser input buffer size(256kb) in byte stream mode
PRODUCT_PROPERTY_OVERRIDES += \
@@ -263,6 +290,13 @@
PRODUCT_PROPERTY_OVERRIDES += \
vendor.audio.hal.output.suspend.supported=false
+#Enable AAudio MMAP/NOIRQ data path
+#2 is AAUDIO_POLICY_AUTO so it will try MMAP then fallback to Legacy path
+PRODUCT_PROPERTY_OVERRIDES += aaudio.mmap_policy=2
+#Allow EXCLUSIVE then fall back to SHARED.
+PRODUCT_PROPERTY_OVERRIDES += aaudio.mmap_exclusive_policy=2
+PRODUCT_PROPERTY_OVERRIDES += aaudio.hw_burst_min_usec=2000
+
#enable mirror-link feature
PRODUCT_PROPERTY_OVERRIDES += \
vendor.audio.enable.mirrorlink=false
@@ -271,6 +305,11 @@
PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.audio.voicecall.speaker.stereo=true
+#enable AAC frame ctl for A2DP sinks
+PRODUCT_PROPERTY_OVERRIDES += \
+persist.vendor.bt.aac_frm_ctl.enabled=true
+endif
+
#enable headset calibration
PRODUCT_PROPERTY_OVERRIDES += \
audio.volume.headset.gain.depcal=true
@@ -279,6 +318,99 @@
PRODUCT_PROPERTY_OVERRIDES += \
persist.audio.fluence.voicecomm=true
+#add dynamic feature flags here
+ifeq ($(TARGET_USES_AOSP_FOR_AUDIO),true)
+# Generic ODM varient related
+PRODUCT_ODM_PROPERTIES += \
+vendor.audio.feature.a2dp_offload.enable=true \
+vendor.audio.feature.afe_proxy.enable=false \
+vendor.audio.feature.anc_headset.enable=false \
+vendor.audio.feature.battery_listener.enable=false \
+vendor.audio.feature.compr_cap.enable=false \
+vendor.audio.feature.compress_in.enable=false \
+vendor.audio.feature.compress_meta_data.enable=false \
+vendor.audio.feature.compr_voip.enable=false \
+vendor.audio.feature.concurrent_capture.enable=true \
+vendor.audio.feature.custom_stereo.enable=false \
+vendor.audio.feature.display_port.enable=false \
+vendor.audio.feature.dsm_feedback.enable=false \
+vendor.audio.feature.dynamic_ecns.enable=false \
+vendor.audio.feature.ext_hw_plugin.enable=true \
+vendor.audio.feature.external_dsp.enable=true \
+vendor.audio.feature.external_speaker.enable=true \
+vendor.audio.feature.external_speaker_tfa.enable=false \
+vendor.audio.feature.fluence.enable=false \
+vendor.audio.feature.fm.enable=false \
+vendor.audio.feature.hdmi_edid.enable=false \
+vendor.audio.feature.hdmi_passthrough.enable=false \
+vendor.audio.feature.hfp.enable=true \
+vendor.audio.feature.hifi_audio.enable=false \
+vendor.audio.feature.hwdep_cal.enable=false \
+vendor.audio.feature.incall_music.enable=true \
+vendor.audio.feature.keep_alive.enable=false \
+vendor.audio.feature.kpi_optimize.enable=false \
+vendor.audio.feature.maxx_audio.enable=false \
+vendor.audio.feature.ras.enable=false \
+vendor.audio.feature.record_play_concurency.enable=false \
+vendor.audio.feature.src_trkn.enable=false \
+vendor.audio.feature.spkr_prot.enable=false \
+vendor.audio.feature.ssrec.enable=false \
+vendor.audio.feature.usb_offload.enable=true \
+vendor.audio.feature.usb_offload_burst_mode.enable=false \
+vendor.audio.feature.usb_offload_sidetone_volume.enable=false \
+vendor.audio.feature.deepbuffer_as_primary.enable=false \
+vendor.audio.feature.vbat.enable=false \
+vendor.audio.feature.wsa.enable=false \
+vendor.audio.feature.audiozoom.enable=false \
+vendor.audio.feature.snd_mon.enable=false \
+vendor.audio.feature.auto_hal.enable=true
+else
+# Non-Generic ODM varient related
+PRODUCT_ODM_PROPERTIES += \
+vendor.audio.feature.a2dp_offload.enable=true \
+vendor.audio.feature.afe_proxy.enable=true \
+vendor.audio.feature.anc_headset.enable=true \
+vendor.audio.feature.battery_listener.enable=true \
+vendor.audio.feature.compr_cap.enable=false \
+vendor.audio.feature.compress_in.enable=true \
+vendor.audio.feature.compress_meta_data.enable=true \
+vendor.audio.feature.compr_voip.enable=false \
+vendor.audio.feature.concurrent_capture.enable=true \
+vendor.audio.feature.custom_stereo.enable=true \
+vendor.audio.feature.display_port.enable=true \
+vendor.audio.feature.dsm_feedback.enable=false \
+vendor.audio.feature.dynamic_ecns.enable=true \
+vendor.audio.feature.ext_hw_plugin.enable=true \
+vendor.audio.feature.external_dsp.enable=false \
+vendor.audio.feature.external_speaker.enable=false \
+vendor.audio.feature.external_speaker_tfa.enable=false \
+vendor.audio.feature.fluence.enable=true \
+vendor.audio.feature.fm.enable=true \
+vendor.audio.feature.hdmi_edid.enable=true \
+vendor.audio.feature.hdmi_passthrough.enable=true \
+vendor.audio.feature.hfp.enable=true \
+vendor.audio.feature.hifi_audio.enable=false \
+vendor.audio.feature.hwdep_cal.enable=false \
+vendor.audio.feature.incall_music.enable=true \
+vendor.audio.feature.keep_alive.enable=true \
+vendor.audio.feature.kpi_optimize.enable=true \
+vendor.audio.feature.maxx_audio.enable=false \
+vendor.audio.feature.ras.enable=true \
+vendor.audio.feature.record_play_concurency.enable=false \
+vendor.audio.feature.src_trkn.enable=true \
+vendor.audio.feature.spkr_prot.enable=false \
+vendor.audio.feature.ssrec.enable=true \
+vendor.audio.feature.usb_offload.enable=true \
+vendor.audio.feature.usb_offload_burst_mode.enable=true \
+vendor.audio.feature.usb_offload_sidetone_volume.enable=false \
+vendor.audio.feature.deepbuffer_as_primary.enable=false \
+vendor.audio.feature.vbat.enable=true \
+vendor.audio.feature.wsa.enable=false \
+vendor.audio.feature.audiozoom.enable=false \
+vendor.audio.feature.snd_mon.enable=false \
+vendor.audio.feature.auto_hal.enable=true
+endif
+
# for HIDL related packages
PRODUCT_PACKAGES += \
android.hardware.audio@2.0-service \
@@ -292,6 +424,22 @@
android.hardware.audio.effect@4.0 \
android.hardware.audio.effect@4.0-impl
+# enable audio hidl hal 5.0
+PRODUCT_PACKAGES += \
+ android.hardware.audio@5.0 \
+ android.hardware.audio.common@5.0 \
+ android.hardware.audio.common@5.0-util \
+ android.hardware.audio@5.0-impl \
+ android.hardware.audio.effect@5.0 \
+ android.hardware.audio.effect@5.0-impl
+
+PRODUCT_PACKAGES_ENG += \
+ VoicePrintTest \
+ VoicePrintDemo
+
+PRODUCT_PACKAGES_DEBUG += \
+ AudioSettings
+
# for HIDL related audiocontrol packages
PRODUCT_PACKAGES += \
vendor.qti.hardware.automotive.audiocontrol@1.0-service \
diff --git a/configs/msmnile_au/sound_trigger_mixer_paths_wcd9340.xml b/configs/msmnile_au/sound_trigger_mixer_paths_wcd9340.xml
deleted file mode 100644
index 1e3d4e7..0000000
--- a/configs/msmnile_au/sound_trigger_mixer_paths_wcd9340.xml
+++ /dev/null
@@ -1,358 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--- Copyright (c) 2014-2018, The Linux Foundation. All rights reserved. -->
-<!--- -->
-<!--- Redistribution and use in source and binary forms, with or without -->
-<!--- modification, are permitted provided that the following conditions are -->
-<!--- met: -->
-<!--- * Redistributions of source code must retain the above copyright -->
-<!--- notice, this list of conditions and the following disclaimer. -->
-<!--- * Redistributions in binary form must reproduce the above -->
-<!--- copyright notice, this list of conditions and the following -->
-<!--- disclaimer in the documentation and/or other materials provided -->
-<!--- with the distribution. -->
-<!--- * Neither the name of The Linux Foundation nor the names of its -->
-<!--- contributors may be used to endorse or promote products derived -->
-<!--- from this software without specific prior written permission. -->
-<!--- -->
-<!--- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
-<!--- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
-<!--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
-<!--- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
-<!--- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
-<!--- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
-<!--- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
-<!--- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
-<!--- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -->
-<!--- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
-<!--- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
-
-<mixer>
- <!-- These are the initial mixer settings -->
- <ctl name="LSM1 Mixer SLIMBUS_5_TX" value="0" />
- <ctl name="LSM2 Mixer SLIMBUS_5_TX" value="0" />
- <ctl name="LSM3 Mixer SLIMBUS_5_TX" value="0" />
- <ctl name="LSM4 Mixer SLIMBUS_5_TX" value="0" />
- <ctl name="LSM5 Mixer SLIMBUS_5_TX" value="0" />
- <ctl name="LSM6 Mixer SLIMBUS_5_TX" value="0" />
- <ctl name="LSM7 Mixer SLIMBUS_5_TX" value="0" />
- <ctl name="LSM8 Mixer SLIMBUS_5_TX" value="0" />
- <ctl name="LSM1 Port" value="None" />
- <ctl name="LSM2 Port" value="None" />
- <ctl name="LSM3 Port" value="None" />
- <ctl name="LSM4 Port" value="None" />
- <ctl name="LSM5 Port" value="None" />
- <ctl name="LSM6 Port" value="None" />
- <ctl name="LSM7 Port" value="None" />
- <ctl name="LSM8 Port" value="None" />
- <ctl name="SLIMBUS_5_TX LSM Function" value="None" />
- <ctl name="MADONOFF Switch" value="0" />
- <ctl name="MAD Input" value="DMIC1" />
- <ctl name="MAD_SEL MUX" value="SPE" />
- <ctl name="MAD_INP MUX" value="DEC1" />
- <ctl name="MAD_CPE1 Switch" value="0" />
- <ctl name="CDC_IF TX13 MUX" value="ZERO" />
- <ctl name="MAD_BROADCAST Switch" value="0" />
- <ctl name="TX13 INP MUX" value="CDC_DEC_5" />
- <ctl name="AIF4_MAD Mixer SLIM TX12" value="0" />
- <ctl name="AIF4_MAD Mixer SLIM TX13" value="0" />
- <ctl name="CPE AFE MAD Enable" value="0"/>
- <ctl name="CLK MODE" value="EXTERNAL" />
- <ctl name="EC BUF MUX INP" value="ZERO" />
- <ctl name="ADC MUX1" value="DMIC" />
- <ctl name="DMIC MUX1" value="ZERO" />
- <ctl name="AIF1_CAP Mixer SLIM TX8" value="0"/>
- <ctl name="AIF1_CAP Mixer SLIM TX7" value="0" />
- <ctl name="AIF1_CAP Mixer SLIM TX6" value="0" />
- <ctl name="AIF1_CAP Mixer SLIM TX5" value="0"/>
- <ctl name="CDC_IF TX5 MUX" value="ZERO" />
- <ctl name="CDC_IF TX6 MUX" value="ZERO" />
- <ctl name="CDC_IF TX7 MUX" value="ZERO" />
- <ctl name="CDC_IF TX8 MUX" value="ZERO" />
- <ctl name="ADC MUX5" value="AMIC" />
- <ctl name="ADC MUX6" value="AMIC" />
- <ctl name="ADC MUX7" value="AMIC" />
- <ctl name="ADC MUX8" value="AMIC" />
- <ctl name="DMIC MUX5" value="ZERO" />
- <ctl name="DMIC MUX6" value="ZERO" />
- <ctl name="DMIC MUX7" value="ZERO" />
- <ctl name="DMIC MUX8" value="ZERO" />
- <ctl name="IIR0 INP0 MUX" value="ZERO" />
- <ctl name= "ADC MUX0" value="AMIC" />
- <ctl name= "ADC MUX1" value="AMIC" />
- <ctl name= "ADC MUX2" value="AMIC" />
- <ctl name= "DMIC MUX0" value="ZERO" />
- <ctl name= "DMIC MUX2" value="ZERO" />
- <ctl name= "WDMA3 PORT0 MUX" value="RX_MIX_TX0" />
- <ctl name= "WDMA3 PORT1 MUX" value="RX_MIX_TX1" />
- <ctl name= "WDMA3 PORT2 MUX" value="RX_MIX_TX2" />
- <ctl name= "WDMA3 CH0 MUX" value="PORT_0" />
- <ctl name= "WDMA3 CH1 MUX" value="PORT_0" />
- <ctl name= "WDMA3 CH2 MUX" value="PORT_0" />
- <ctl name= "WDMA3_ON_OFF Switch" value="0" />
-
- <path name="listen-voice-wakeup-1">
- <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
- <ctl name="LSM1 Port" value="SLIMBUS_5_TX" />
- <ctl name="LSM1 Mixer SLIMBUS_5_TX" value="1" />
- </path>
-
- <path name="listen-voice-wakeup-2">
- <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
- <ctl name="LSM2 Port" value="SLIMBUS_5_TX" />
- <ctl name="LSM2 Mixer SLIMBUS_5_TX" value="1" />
- </path>
-
- <path name="listen-voice-wakeup-3">
- <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
- <ctl name="LSM3 Port" value="SLIMBUS_5_TX" />
- <ctl name="LSM3 Mixer SLIMBUS_5_TX" value="1" />
- </path>
-
- <path name="listen-voice-wakeup-4">
- <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
- <ctl name="LSM4 Port" value="SLIMBUS_5_TX" />
- <ctl name="LSM4 Mixer SLIMBUS_5_TX" value="1" />
- </path>
-
- <path name="listen-voice-wakeup-5">
- <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
- <ctl name="LSM5 Port" value="SLIMBUS_5_TX" />
- <ctl name="LSM5 Mixer SLIMBUS_5_TX" value="1" />
- </path>
-
- <path name="listen-voice-wakeup-6">
- <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
- <ctl name="LSM6 Port" value="SLIMBUS_5_TX" />
- <ctl name="LSM6 Mixer SLIMBUS_5_TX" value="1" />
- </path>
-
- <path name="listen-voice-wakeup-7">
- <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
- <ctl name="LSM7 Port" value="SLIMBUS_5_TX" />
- <ctl name="LSM7 Mixer SLIMBUS_5_TX" value="1" />
- </path>
-
- <path name="listen-voice-wakeup-8">
- <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
- <ctl name="LSM8 Port" value="SLIMBUS_5_TX" />
- <ctl name="LSM8 Mixer SLIMBUS_5_TX" value="1" />
- </path>
-
- <path name="listen-voice-wakeup-1 preproc">
- <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
- <ctl name="LSM1 Port" value="ADM_LSM_TX" />
- <ctl name="LSM1 Mixer SLIMBUS_0_TX" value="1" />
- </path>
-
- <path name="listen-voice-wakeup-2 preproc">
- <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
- <ctl name="LSM2 Port" value="ADM_LSM_TX" />
- <ctl name="LSM2 Mixer SLIMBUS_0_TX" value="1" />
- </path>
-
- <path name="listen-voice-wakeup-3 preproc">
- <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
- <ctl name="LSM3 Port" value="ADM_LSM_TX" />
- <ctl name="LSM3 Mixer SLIMBUS_0_TX" value="1" />
- </path>
-
- <path name="listen-voice-wakeup-4 preproc">
- <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
- <ctl name="LSM4 Port" value="ADM_LSM_TX" />
- <ctl name="LSM4 Mixer SLIMBUS_0_TX" value="1" />
- </path>
-
- <path name="listen-voice-wakeup-5 preproc">
- <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
- <ctl name="LSM5 Port" value="ADM_LSM_TX" />
- <ctl name="LSM5 Mixer SLIMBUS_0_TX" value="1" />
- </path>
-
- <path name="listen-voice-wakeup-6 preproc">
- <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
- <ctl name="LSM6 Port" value="ADM_LSM_TX" />
- <ctl name="LSM6 Mixer SLIMBUS_0_TX" value="1" />
- </path>
-
- <path name="listen-voice-wakeup-7 preproc">
- <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
- <ctl name="LSM7 Port" value="ADM_LSM_TX" />
- <ctl name="LSM7 Mixer SLIMBUS_0_TX" value="1" />
- </path>
-
- <path name="listen-voice-wakeup-8 preproc">
- <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
- <ctl name="LSM8 Port" value="ADM_LSM_TX" />
- <ctl name="LSM8 Mixer SLIMBUS_0_TX" value="1" />
- </path>
-
- <path name="listen-cpe-handset-mic">
- <ctl name="MAD Input" value="DMIC2" />
- <ctl name="MAD_SEL MUX" value="SPE" />
- <ctl name="MAD_INP MUX" value="MAD" />
- <ctl name="MAD_CPE1 Switch" value="1" />
- </path>
-
- <path name="listen-cpe-handset-dmic">
- <ctl name="CLK MODE" value="INTERNAL" />
- <ctl name= "ADC MUX0" value="DMIC" />
- <ctl name= "DMIC MUX0" value="DMIC2" />
- <ctl name= "DEC0 Volume" value="84" />
- <ctl name= "ADC MUX1" value="DMIC" />
- <ctl name= "DMIC MUX1" value="DMIC0" />
- <ctl name= "DEC1 Volume" value="84" />
- <ctl name= "WDMA3 PORT0 MUX" value="DEC0" />
- <ctl name= "WDMA3 PORT1 MUX" value="DEC1" />
- <ctl name= "WDMA3 CH0 MUX" value="PORT_0" />
- <ctl name= "WDMA3 CH1 MUX" value="PORT_1" />
- <ctl name= "WDMA3_ON_OFF Switch" value="1" />
- </path>
-
- <path name="listen-cpe-handset-tmic">
- <ctl name="CLK MODE" value="INTERNAL" />
- <ctl name= "ADC MUX0" value="DMIC" />
- <ctl name= "DMIC MUX0" value="DMIC2" />
- <ctl name= "DEC0 Volume" value="84" />
- <ctl name= "ADC MUX1" value="DMIC" />
- <ctl name= "DMIC MUX1" value="DMIC0" />
- <ctl name= "DEC1 Volume" value="84" />
- <ctl name= "ADC MUX2" value="DMIC" />
- <ctl name= "DMIC MUX2" value="DMIC1" />
- <ctl name= "DEC2 Volume" value="84" />
- <ctl name= "WDMA3 PORT0 MUX" value="DEC0" />
- <ctl name= "WDMA3 PORT1 MUX" value="DEC1" />
- <ctl name= "WDMA3 PORT2 MUX" value="DEC2" />
- <ctl name= "WDMA3 CH0 MUX" value="PORT_0" />
- <ctl name= "WDMA3 CH1 MUX" value="PORT_1" />
- <ctl name= "WDMA3 CH2 MUX" value="PORT_2" />
- <ctl name= "WDMA3_ON_OFF Switch" value="1" />
- </path>
-
- <path name="listen-cpe-handset-qmic">
- <ctl name="CLK MODE" value="INTERNAL" />
- <ctl name= "ADC MUX0" value="DMIC" />
- <ctl name= "DMIC MUX0" value="DMIC2" />
- <ctl name= "DEC0 Volume" value="84" />
- <ctl name= "ADC MUX1" value="DMIC" />
- <ctl name= "DMIC MUX1" value="DMIC0" />
- <ctl name= "DEC1 Volume" value="84" />
- <ctl name= "ADC MUX2" value="DMIC" />
- <ctl name= "DMIC MUX2" value="DMIC1" />
- <ctl name= "DEC2 Volume" value="84" />
- <ctl name= "ADC MUX3" value="DMIC" />
- <ctl name= "DMIC MUX3" value="DMIC3" />
- <ctl name= "DEC3 Volume" value="84" />
- <ctl name= "WDMA3 PORT0 MUX" value="DEC0" />
- <ctl name= "WDMA3 PORT1 MUX" value="DEC1" />
- <ctl name= "WDMA3 PORT2 MUX" value="DEC2" />
- <ctl name= "WDMA3 PORT3 MUX" value="DEC3" />
- <ctl name= "WDMA3 CH0 MUX" value="PORT_0" />
- <ctl name= "WDMA3 CH1 MUX" value="PORT_1" />
- <ctl name= "WDMA3 CH2 MUX" value="PORT_2" />
- <ctl name= "WDMA3 CH3 MUX" value="PORT_3" />
- <ctl name= "WDMA3_ON_OFF Switch" value="1" />
- </path>
-
- <path name="listen-cpe-headset-mic">
- <ctl name="MAD Input" value="ADC2" />
- <ctl name="MAD_SEL MUX" value="SPE" />
- <ctl name="MAD_INP MUX" value="MAD" />
- <ctl name="MAD_CPE1 Switch" value="1" />
- </path>
-
- <path name="listen-cpe-handset-mic-ecpp">
- <ctl name="CLK MODE" value="INTERNAL" />
- <ctl name="EC BUF MUX INP" value="DEC1" />
- <ctl name="ADC MUX1" value="DMIC" />
- <ctl name="DMIC MUX1" value="DMIC2" />
- </path>
-
- <!-- path name used for low bandwidth FTRT codec interface -->
- <path name="listen-cpe-handset-mic low-speed-intf">
- <ctl name="MADONOFF Switch" value="1" />
- <ctl name="AIF4_MAD Mixer SLIM TX12" value="1" />
- <ctl name="MAD Input" value="DMIC2" />
- <ctl name="CPE AFE MAD Enable" value="1"/>
- </path>
-
- <path name="listen-ape-handset-mic">
- <ctl name="MAD Input" value="DMIC2" />
- <ctl name="MAD_SEL MUX" value="MSM" />
- <ctl name="MAD_INP MUX" value="MAD" />
- <ctl name="MAD_BROADCAST Switch" value="1" />
- <ctl name="CDC_IF TX13 MUX" value="MAD_BRDCST" />
- <ctl name="AIF4_MAD Mixer SLIM TX13" value="1" />
- </path>
-
- <path name="listen-ape-handset-mic-preproc">
- <ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
- <ctl name="SLIM_0_TX Channels" value="One" />
- <ctl name="CDC_IF TX7 MUX" value="DEC7" />
- <ctl name="ADC MUX7" value="DMIC" />
- <ctl name="DMIC MUX7" value="DMIC2" />
- <ctl name="IIR0 INP0 MUX" value="DEC7" />
- </path>
-
- <path name="listen-ape-handset-dmic">
- <ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
- <ctl name="AIF1_CAP Mixer SLIM TX8" value="1" />
- <ctl name="CDC_IF TX7 MUX" value="DEC7" />
- <ctl name="ADC MUX7" value="DMIC" />
- <ctl name="DMIC MUX7" value="DMIC1" />
- <ctl name="CDC_IF TX8 MUX" value="DEC8" />
- <ctl name="ADC MUX8" value="DMIC" />
- <ctl name="DMIC MUX8" value="DMIC5" />
- <ctl name="SLIM_0_TX Channels" value="Two" />
- </path>
-
- <path name="listen-ape-handset-tmic">
- <ctl name="AIF1_CAP Mixer SLIM TX5" value="1" />
- <ctl name="AIF1_CAP Mixer SLIM TX6" value="1" />
- <ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
- <ctl name="SLIM_0_TX Channels" value="Three" />
- <ctl name="CDC_IF TX5 MUX" value="DEC5" />
- <ctl name="ADC MUX5" value="DMIC" />
- <ctl name="DMIC MUX5" value="DMIC1" />
- <ctl name="CDC_IF TX6 MUX" value="DEC6" />
- <ctl name="ADC MUX6" value="DMIC" />
- <ctl name="DMIC MUX6" value="DMIC5" />
- <ctl name="CDC_IF TX7 MUX" value="DEC7" />
- <ctl name="ADC MUX7" value="DMIC" />
- <ctl name="DMIC MUX7" value="DMIC2" />
- </path>
-
- <path name="listen-ape-handset-qmic">
- <ctl name="AIF1_CAP Mixer SLIM TX5" value="1" />
- <ctl name="AIF1_CAP Mixer SLIM TX6" value="1" />
- <ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
- <ctl name="AIF1_CAP Mixer SLIM TX8" value="1" />
- <ctl name="SLIM_0_TX Channels" value="Four" />
- <ctl name="CDC_IF TX5 MUX" value="DEC5" />
- <ctl name="ADC MUX5" value="DMIC" />
- <ctl name="DMIC MUX5" value="DMIC1" />
- <ctl name="CDC_IF TX6 MUX" value="DEC6" />
- <ctl name="ADC MUX6" value="DMIC" />
- <ctl name="DMIC MUX6" value="DMIC5" />
- <ctl name="CDC_IF TX7 MUX" value="DEC7" />
- <ctl name="ADC MUX7" value="DMIC" />
- <ctl name="DMIC MUX7" value="DMIC2" />
- <ctl name="CDC_IF TX8 MUX" value="DEC8" />
- <ctl name="ADC MUX8" value="DMIC" />
- <ctl name="DMIC MUX8" value="DMIC0" />
- </path>
-
- <path name="echo-reference">
- <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_RX"/>
- <ctl name="EC Reference Channels" value="Two"/>
- <ctl name="EC Reference Bit Format" value="S16_LE"/>
- <ctl name="EC Reference SampleRate" value="48000"/>
- </path>
-
- <path name="echo-reference a2dp">
- <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_7_RX"/>
- <ctl name="EC Reference Channels" value="Two"/>
- <ctl name="EC Reference Bit Format" value="S16_LE"/>
- <ctl name="EC Reference SampleRate" value="48000"/>
- </path>
-
-</mixer>
diff --git a/configs/msmnile_au/sound_trigger_platform_info.xml b/configs/msmnile_au/sound_trigger_platform_info.xml
index 234fcd1..7d5e81f 100644
--- a/configs/msmnile_au/sound_trigger_platform_info.xml
+++ b/configs/msmnile_au/sound_trigger_platform_info.xml
@@ -35,6 +35,7 @@
<!--- added to <adm_config> -->
<common_config>
+ <param implementer_version="0x0100" />
<param max_cpe_sessions="1" />
<param max_wdsp_sessions="2" />
<param max_ape_sessions="8" />
@@ -45,9 +46,11 @@
<param transit_to_adsp_on_battery_charging="false" />
<!-- Below backend params must match with port used in mixer path file -->
<!-- param used to configure backend sample rate, format and channels -->
- <param backend_port_name="SLIM_0_TX" />
+ <param backend_port_name="SLIM_1_TX" />
<!-- Param used to match and obtain device backend index -->
- <param backend_dai_name="SLIMBUS_0_TX" />
+ <param backend_dai_name="SLIMBUS_1_TX" />
+ <!-- Param used to indicate if SVA has dedicated SLIM ports -->
+ <param dedicated_sva_path="true" />
</common_config>
<acdb_ids>
<param DEVICE_HANDSET_MIC_APE="100" />
@@ -58,6 +61,7 @@
<param DEVICE_HANDSET_MIC_PP_APE="135" />
<param DEVICE_HANDSET_QMIC_APE="137" />
<param DEVICE_HEADSET_MIC_CPE="139" />
+ <param DEVICE_HEADSET_MIC_APE="141" />
<param DEVICE_HANDSET_DMIC_APE="149" />
<param DEVICE_HANDSET_DMIC_CPE="148" />
</acdb_ids>
diff --git a/configs/msmsteppe/audio_policy_configuration.xml b/configs/msmsteppe/audio_policy_configuration.xml
index 99f03bf..7756457 100644
--- a/configs/msmsteppe/audio_policy_configuration.xml
+++ b/configs/msmsteppe/audio_policy_configuration.xml
@@ -279,11 +279,11 @@
</devicePort>
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
+ samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
</devicePort>
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
+ samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
</devicePort>
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
diff --git a/configs/msmsteppe/mixer_paths_idp.xml b/configs/msmsteppe/mixer_paths_idp.xml
index 2ce8d12..2f83ccc 100644
--- a/configs/msmsteppe/mixer_paths_idp.xml
+++ b/configs/msmsteppe/mixer_paths_idp.xml
@@ -147,6 +147,7 @@
<!-- 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" />
@@ -433,34 +434,56 @@
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference handset">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_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 headset">
+ <path name="echo-reference headphones" />
</path>
<path name="echo-reference display-port">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="DISPLAY_PORT" />
+ <ctl name="EC Reference Channels" value="Two"/>
</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-voip">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip handset">
+ <ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_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 display-port">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="DISPLAY_PORT" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference-voip headphones-44.1">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="RX_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="deep-buffer-playback">
diff --git a/configs/msmsteppe/mixer_paths_qrd.xml b/configs/msmsteppe/mixer_paths_qrd.xml
index 5665322..bd8e4ae 100644
--- a/configs/msmsteppe/mixer_paths_qrd.xml
+++ b/configs/msmsteppe/mixer_paths_qrd.xml
@@ -146,6 +146,7 @@
<!-- 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" />
@@ -421,38 +422,56 @@
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_CDC_DMA_RX_0" />
+ <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 headset">
+ <path name="echo-reference headphones" />
</path>
<path name="echo-reference display-port">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="DISPLAY_PORT" />
+ <ctl name="EC Reference Channels" value="Two"/>
</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-voip">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_CDC_DMA_RX_0" />
+ <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 display-port">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="DISPLAY_PORT" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference-voip headphones-44.1">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="RX_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="deep-buffer-playback">
diff --git a/configs/msmsteppe/mixer_paths_tavil.xml b/configs/msmsteppe/mixer_paths_tavil.xml
index d0db2fb..fb34a91 100644
--- a/configs/msmsteppe/mixer_paths_tavil.xml
+++ b/configs/msmsteppe/mixer_paths_tavil.xml
@@ -193,6 +193,7 @@
<!-- 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" />
@@ -541,14 +542,26 @@
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference handset">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_RX" />
+ <ctl name="EC Reference Channels" value="One"/>
</path>
<path name="echo-reference headphones">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_6_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference headset">
+ <path name="echo-reference headphones" />
</path>
<path name="echo-reference display-port">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="DISPLAY_PORT" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference headphones-44.1">
@@ -556,14 +569,22 @@
<path name="echo-reference-voip">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="SLIM_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip handset">
+ <ctl name="AUDIO_REF_EC_UL10 MUX" value="SLIM_RX" />
+ <ctl name="EC Reference Channels" value="One"/>
</path>
<path name="echo-reference-voip headphones">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="SLIM_6_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference-voip display-port">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="DISPLAY_PORT" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="deep-buffer-playback">
diff --git a/configs/msmsteppe/mixer_paths_wcd9375.xml b/configs/msmsteppe/mixer_paths_wcd9375.xml
index c4d2af7..6b5ac56 100644
--- a/configs/msmsteppe/mixer_paths_wcd9375.xml
+++ b/configs/msmsteppe/mixer_paths_wcd9375.xml
@@ -147,6 +147,7 @@
<!-- 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" />
@@ -434,34 +435,56 @@
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference handset">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_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 headset">
+ <path name="echo-reference headphones" />
</path>
<path name="echo-reference display-port">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="DISPLAY_PORT" />
+ <ctl name="EC Reference Channels" value="Two"/>
</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-voip">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip handset">
+ <ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_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 display-port">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="DISPLAY_PORT" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference-voip headphones-44.1">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="RX_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="deep-buffer-playback">
diff --git a/configs/msmsteppe/mixer_paths_wcd9375qrd.xml b/configs/msmsteppe/mixer_paths_wcd9375qrd.xml
index aee360c..c61ad23 100644
--- a/configs/msmsteppe/mixer_paths_wcd9375qrd.xml
+++ b/configs/msmsteppe/mixer_paths_wcd9375qrd.xml
@@ -147,6 +147,7 @@
<!-- 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" />
@@ -435,38 +436,56 @@
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_CDC_DMA_RX_0" />
+ <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 headset">
+ <path name="echo-reference headphones" />
</path>
<path name="echo-reference display-port">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="DISPLAY_PORT" />
+ <ctl name="EC Reference Channels" value="Two"/>
</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-voip">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_CDC_DMA_RX_0" />
+ <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 display-port">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="DISPLAY_PORT" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference-voip headphones-44.1">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="RX_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="deep-buffer-playback">
diff --git a/configs/msmsteppe/msmsteppe.mk b/configs/msmsteppe/msmsteppe.mk
index ec546ac..55caba5 100644
--- a/configs/msmsteppe/msmsteppe.mk
+++ b/configs/msmsteppe/msmsteppe.mk
@@ -384,6 +384,7 @@
vendor.audio.feature.hifi_audio.enable=false \
vendor.audio.feature.hwdep_cal.enable=false \
vendor.audio.feature.incall_music.enable=true \
+vendor.audio.feature.multi_voice_session.enable=true \
vendor.audio.feature.keep_alive.enable=false \
vendor.audio.feature.kpi_optimize.enable=true \
vendor.audio.feature.maxx_audio.enable=false \
diff --git a/configs/msmsteppe_au/audio_effects.conf b/configs/msmsteppe_au/audio_effects.conf
index 8b9189a..ddf578f 100644
--- a/configs/msmsteppe_au/audio_effects.conf
+++ b/configs/msmsteppe_au/audio_effects.conf
@@ -33,9 +33,6 @@
loudness_enhancer {
path /vendor/lib/soundfx/libldnhncr.so
}
- dynamics_processing {
- path /vendor/lib/soundfx/libdynproc.so
- }
proxy {
path /vendor/lib/soundfx/libeffectproxy.so
}
@@ -229,10 +226,6 @@
library loudness_enhancer
uuid fa415329-2034-4bea-b5dc-5b381c8d1e2c
}
- dynamics_processing {
- library dynamics_processing
- uuid e0e6539b-1781-7261-676f-6d7573696340
- }
aec {
library audio_pre_processing
uuid 0f8d0d2a-59e5-45fe-b6e4-248c8a799109
diff --git a/configs/msmsteppe_au/audio_effects.xml b/configs/msmsteppe_au/audio_effects.xml
index 7c0cd22..add0925 100644
--- a/configs/msmsteppe_au/audio_effects.xml
+++ b/configs/msmsteppe_au/audio_effects.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!--- Copyright (c) 2018, The Linux Foundation. All rights reserved. -->
+<!--- Copyright (c) 2018-2019, The Linux Foundation. All rights reserved. -->
<!--- -->
<!--- Redistribution and use in source and binary forms, with or without -->
<!--- modification, are permitted provided that the following conditions are -->
@@ -30,9 +30,6 @@
<libraries>
<library name="bundle" path="libbundlewrapper.so"/>
<library name="reverb" path="libreverbwrapper.so"/>
- <library name="qcbassboost" path="libqcbassboost.so"/>
- <library name="qcvirt" path="libqcvirt.so"/>
- <library name="qcreverb" path="libqcreverb.so"/>
<library name="visualizer_sw" path="libvisualizer.so"/>
<library name="visualizer_hw" path="libqcomvisualizer.so"/>
<library name="downmix" path="libdownmix.so"/>
@@ -47,11 +44,11 @@
</libraries>
<effects>
<effectProxy name="bassboost" library="proxy" uuid="14804144-a5ee-4d24-aa88-0002a5d5c51b">
- <libsw library="qcbassboost" uuid="23aca180-44bd-11e2-bcfd-0800200c9a66"/>
+ <libsw library="bundle" uuid="8631f300-72e2-11df-b57e-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="2c4a8c24-1581-487f-94f6-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="virtualizer" library="proxy" uuid="d3467faa-acc7-4d34-acaf-0002a5d5c51b">
- <libsw library="qcvirt" uuid="e6c98a16-22a3-11e2-b87b-f23c91aec05e"/>
+ <libsw library="bundle" uuid="1d4033c0-8557-11df-9f2d-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="509a4498-561a-4bea-b3b1-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="equalizer" library="proxy" uuid="c8e70ecd-48ca-456e-8a4f-0002a5d5c51b">
@@ -60,19 +57,19 @@
</effectProxy>
<effect name="volume" library="bundle" uuid="119341a0-8469-11df-81f9-0002a5d5c51b"/>
<effectProxy name="reverb_env_aux" library="proxy" uuid="48404ac9-d202-4ccc-bf84-0002a5d5c51b">
- <libsw library="qcreverb" uuid="a8c1e5f3-293d-43cd-95ec-d5e26c02e217"/>
+ <libsw library="reverb" uuid="4a387fc0-8ab3-11df-8bad-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="79a18026-18fd-4185-8233-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="reverb_env_ins" library="proxy" uuid="b707403a-a1c1-4291-9573-0002a5d5c51b">
- <libsw library="qcreverb" uuid="791fff8b-8129-4655-83a4-59bc61034c3a"/>
+ <libsw library="reverb" uuid="c7a511a0-a3bb-11df-860e-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="eb64ea04-973b-43d2-8f5e-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="reverb_pre_aux" library="proxy" uuid="1b78f587-6d1c-422e-8b84-0002a5d5c51b">
- <libsw library="qcreverb" uuid="53ef1db5-c0c0-445b-b060-e34d20ebb70a"/>
+ <libsw library="reverb" uuid="f29a1400-a3bb-11df-8ddc-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="6987be09-b142-4b41-9056-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="reverb_pre_ins" library="proxy" uuid="f3e178d2-ebcb-408e-8357-0002a5d5c51b">
- <libsw library="qcreverb" uuid="b08a0e38-22a5-11e2-b87b-f23c91aec05e"/>
+ <libsw library="reverb" uuid="172cdf00-a3bc-11df-a72f-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="aa2bebf6-47cf-4613-9bca-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="visualizer" library="proxy" uuid="1d0a1a53-7d5d-48f2-8e71-27fbd10d842c">
diff --git a/configs/msmnile_au/audio_output_policy.conf b/configs/msmsteppe_au/audio_io_policy.conf
similarity index 75%
rename from configs/msmnile_au/audio_output_policy.conf
rename to configs/msmsteppe_au/audio_io_policy.conf
index 67febfa..56cb909 100644
--- a/configs/msmnile_au/audio_output_policy.conf
+++ b/configs/msmsteppe_au/audio_io_policy.conf
@@ -12,11 +12,11 @@
outputs {
default {
- flags AUDIO_OUTPUT_FLAG_PRIMARY
+ flags AUDIO_OUTPUT_FLAG_PRIMARY|AUDIO_OUTPUT_FLAG_MEDIA
formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 48000
bit_width 16
- app_type 69937
+ app_type 69936
}
proaudio {
flags AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_RAW
@@ -81,4 +81,46 @@
bit_width 24
app_type 69940
}
+ sys_notification {
+ flags AUDIO_OUTPUT_FLAG_SYS_NOTIFICATION
+ formats AUDIO_FORMAT_PCM_16_BIT
+ sampling_rates 48000
+ bit_width 16
+ app_type 69937
+ }
+ nav_guidance {
+ flags AUDIO_OUTPUT_FLAG_NAV_GUIDANCE
+ formats AUDIO_FORMAT_PCM_16_BIT
+ sampling_rates 48000
+ bit_width 16
+ app_type 69937
+ }
+ phone {
+ flags AUDIO_OUTPUT_FLAG_PHONE
+ formats AUDIO_FORMAT_PCM_16_BIT
+ sampling_rates 48000
+ bit_width 16
+ app_type 69936
+ }
+}
+
+inputs {
+ record_16bit {
+ formats AUDIO_FORMAT_PCM_16_BIT
+ sampling_rates 8000|16000|32000|44100|48000|88200|96000|176400|192000
+ bit_width 16
+ app_type 69938
+ }
+ record_24bit {
+ formats AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_24_BIT
+ sampling_rates 44100|48000|88200|96000|176400|192000
+ bit_width 24
+ app_type 69948
+ }
+ record_32bit {
+ formats AUDIO_FORMAT_PCM_32_BIT|AUDIO_FORMAT_PCM_FLOAT
+ sampling_rates 44100|48000|88200|96000|176400|192000
+ bit_width 32
+ app_type 69949
+ }
}
diff --git a/configs/msmsteppe_au/audio_output_policy.conf b/configs/msmsteppe_au/audio_output_policy.conf
deleted file mode 100644
index 67febfa..0000000
--- a/configs/msmsteppe_au/audio_output_policy.conf
+++ /dev/null
@@ -1,84 +0,0 @@
-# List of profiles for the output device session where stream is routed.
-# A stream opened with the inputs attributes which match the "flags" and
-# "formats" as specified in the profile is routed to a device at
-# sample rate specified under "sampling_rates" and bit width under
-# "bit_width" and the topology extracted from the acdb data against
-# the "app_type".
-#
-# the flags and formats are specified using the strings corresponding to
-# enums in audio.h and audio_policy.h. They are concatenated with "|"
-# without space or "\n".
-# the flags and formats should match the ones in "audio_policy.conf"
-
-outputs {
- default {
- flags AUDIO_OUTPUT_FLAG_PRIMARY
- formats AUDIO_FORMAT_PCM_16_BIT
- sampling_rates 48000
- bit_width 16
- app_type 69937
- }
- proaudio {
- flags AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_RAW
- formats AUDIO_FORMAT_PCM_16_BIT
- sampling_rates 48000
- bit_width 16
- app_type 69943
- }
- voip_rx {
- flags AUDIO_OUTPUT_FLAG_VOIP_RX|AUDIO_OUTPUT_FLAG_DIRECT
- formats AUDIO_FORMAT_PCM_16_BIT
- sampling_rates 8000|16000|32000|48000
- bit_width 16
- app_type 69946
- }
- deep_buffer {
- flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER
- formats AUDIO_FORMAT_PCM_16_BIT
- sampling_rates 48000
- bit_width 16
- app_type 69936
- }
- direct_pcm_16 {
- flags AUDIO_OUTPUT_FLAG_DIRECT
- formats AUDIO_FORMAT_PCM_16_BIT|AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_8_24_BIT|AUDIO_FORMAT_PCM_32_BIT
- sampling_rates 44100|48000|88200|96000|176400|192000
- bit_width 16
- app_type 69936
- }
- direct_pcm_24 {
- flags AUDIO_OUTPUT_FLAG_DIRECT
- formats AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_8_24_BIT|AUDIO_FORMAT_PCM_32_BIT
- sampling_rates 44100|48000|88200|96000|176400|192000|352800|384000
- bit_width 24
- app_type 69940
- }
- direct_pcm_32 {
- flags AUDIO_OUTPUT_FLAG_DIRECT
- formats AUDIO_FORMAT_PCM_32_BIT
- sampling_rates 44100|48000|88200|96000|176400|192000|352800|384000
- bit_width 32
- app_type 69942
- }
- compress_passthrough {
- flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING|AUDIO_OUTPUT_FLAG_COMPRESS_PASSTHROUGH
- formats AUDIO_FORMAT_DTS|AUDIO_FORMAT_DTS_HD|AUDIO_FORMAT_DSD
- sampling_rates 32000|44100|48000|88200|96000|176400|192000|352800
- bit_width 16
- app_type 69941
- }
- compress_offload_16 {
- flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
- formats AUDIO_FORMAT_MP3|AUDIO_FORMAT_PCM_16_BIT_OFFLOAD|AUDIO_FORMAT_PCM_24_BIT_OFFLOAD|AUDIO_FORMAT_FLAC|AUDIO_FORMAT_ALAC|AUDIO_FORMAT_APE|AUDIO_FORMAT_AAC_LC|AUDIO_FORMAT_AAC_HE_V1|AUDIO_FORMAT_AAC_HE_V2|AUDIO_FORMAT_WMA|AUDIO_FORMAT_WMA_PRO|AUDIO_FORMAT_VORBIS|AUDIO_FORMAT_AAC_ADTS_LC|AUDIO_FORMAT_AAC_ADTS_HE_V1|AUDIO_FORMAT_AAC_ADTS_HE_V2
- sampling_rates 44100|48000|88200|96000|176400|192000
- bit_width 16
- app_type 69936
- }
- compress_offload_24 {
- flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
- formats AUDIO_FORMAT_PCM_24_BIT_OFFLOAD|AUDIO_FORMAT_FLAC|AUDIO_FORMAT_ALAC|AUDIO_FORMAT_APE|AUDIO_FORMAT_VORBIS|AUDIO_FORMAT_WMA|AUDIO_FORMAT_WMA_PRO
- sampling_rates 44100|48000|88200|96000|176400|192000
- bit_width 24
- app_type 69940
- }
-}
diff --git a/configs/msmsteppe_au/audio_platform_info.xml b/configs/msmsteppe_au/audio_platform_info.xml
index e90675c..71789a0 100644
--- a/configs/msmsteppe_au/audio_platform_info.xml
+++ b/configs/msmsteppe_au/audio_platform_info.xml
@@ -27,24 +27,27 @@
<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
<audio_platform_info>
<acdb_ids>
- <device name="SND_DEVICE_OUT_HANDSET" acdb_id="78"/>
- <device name="SND_DEVICE_OUT_SPEAKER" acdb_id="78"/>
- <device name="SND_DEVICE_OUT_HEADPHONES" acdb_id="78"/>
- <device name="SND_DEVICE_OUT_BUS_MEDIA" acdb_id="78"/>
- <device name="SND_DEVICE_OUT_BUS_SYS" acdb_id="78"/>
+ <device name="SND_DEVICE_OUT_HANDSET" acdb_id="60"/>
+ <device name="SND_DEVICE_OUT_SPEAKER" acdb_id="60"/>
+ <device name="SND_DEVICE_OUT_HEADPHONES" acdb_id="60"/>
+ <device name="SND_DEVICE_OUT_BUS_MEDIA" acdb_id="60"/>
+ <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_BT_SCO" acdb_id="94"/>
<device name="SND_DEVICE_OUT_BT_SCO_WB" acdb_id="94"/>
- <device name="SND_DEVICE_OUT_BT_A2DP" acdb_id="78"/>
+ <device name="SND_DEVICE_OUT_BT_A2DP" acdb_id="60"/>
<device name="SND_DEVICE_OUT_VOICE_HANDSET" acdb_id="94"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER" acdb_id="94"/>
+ <device name="SND_DEVICE_OUT_VOICE_SPEAKER_HFP" acdb_id="94"/>
+ <device name="SND_DEVICE_OUT_VOICE_SPEAKER_STEREO" acdb_id="94"/>
<device name="SND_DEVICE_IN_HANDSET_MIC" acdb_id="11"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC" acdb_id="11"/>
<device name="SND_DEVICE_IN_BUS" acdb_id="11"/>
<device name="SND_DEVICE_IN_HEADSET_MIC" acdb_id="11"/>
- <device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC" acdb_id="95"/>
<device name="SND_DEVICE_IN_VOICE_HEADSET_MIC" acdb_id="95"/>
+ <device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC" acdb_id="95"/>
+ <device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC_HFP" acdb_id="95"/>
<device name="SND_DEVICE_IN_BT_SCO_MIC" acdb_id="95"/>
<device name="SND_DEVICE_IN_BT_SCO_MIC_WB" acdb_id="95"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC" acdb_id="80"/>
@@ -141,11 +144,14 @@
<device name="SND_DEVICE_OUT_BT_A2DP" interface="TERT_TDM_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_HANDSET" interface="TERT_TDM_RX_2"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER" interface="TERT_TDM_RX_2"/>
+ <device name="SND_DEVICE_OUT_VOICE_SPEAKER_HFP" interface="TERT_TDM_RX_2"/>
+ <device name="SND_DEVICE_OUT_VOICE_SPEAKER_STEREO" interface="TERT_TDM_RX_2"/>
<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"/>
- <device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC" interface="TERT_TDM_TX_0"/>
<device name="SND_DEVICE_IN_VOICE_HEADSET_MIC" interface="TERT_TDM_TX_0"/>
+ <device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC" interface="TERT_TDM_TX_0"/>
+ <device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC_HFP" interface="TERT_TDM_TX_0"/>
<device name="SND_DEVICE_IN_BT_SCO_MIC" interface="TERT_TDM_TX_0"/>
<device name="SND_DEVICE_IN_BT_SCO_MIC_WB" interface="TERT_TDM_TX_0"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC" interface="TERT_TDM_TX_0"/>
@@ -153,5 +159,376 @@
<device name="SND_DEVICE_IN_QUAD_MIC" interface="TERT_TDM_TX_0"/>
<device name="SND_DEVICE_IN_HANDSET_QMIC" interface="TERT_TDM_TX_0"/>
</backend_names>
+ <!-- below values are for ref purpose to OEM, doesn't contain actual hardware info on MTP -->
+ <microphone_characteristics>
+ <microphone valid_mask="31" device_id="builtin_mic_1" type="AUDIO_DEVICE_IN_BUILTIN_MIC" address="bottom" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
+ group="0" index_in_the_group="0" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="93"
+ frequencies="100.00 106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00 20000.00"
+ responses="-0.78 -0.71 -0.64 -0.60 -0.55 -0.50 -0.47 -0.42 -0.39 -0.36 -0.34 -0.33 -0.32 -0.29 -0.28 -0.28 -0.27 -0.25 -0.25 -0.24 -0.23 -0.23 -0.22 -0.22 -0.19 -0.17 -0.15 -0.15 -0.14 -0.14 -0.12 -0.11 -0.10 -0.10 -0.08 -0.07 -0.07 -0.04 -0.03 -0.01 0.00 0.04 0.06 0.07 0.08 0.13 0.09 0.14 0.19 0.23 0.28 0.29 0.31 0.37 0.88 0.86 0.77 0.78 0.84 0.86 1.05 1.12 1.18 1.25 1.43 1.66 1.83 2.02 2.23 2.59 2.84 3.35 4.01 6.82 6.62 6.42 7.30 8.23 7.54 12.68 13.76 18.69 19.68 20.90 23.70 25.10 21.65 16.18 18.84 25.44 23.48 23.22 24.89"
+ sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 0.0 1.0" geometric_location="0.0269 0.0058 0.0079" />
+ <microphone valid_mask="31" device_id="builtin_mic_2" type="AUDIO_DEVICE_IN_BACK_MIC" address="back" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
+ group="0" index_in_the_group="1" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="92"
+ frequencies="106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00 20000.00"
+ responses="-0.75 -0.74 -0.69 -0.65 -0.62 -0.61 -0.56 -0.53 -0.50 -0.47 -0.43 -0.40 -0.37 -0.36 -0.33 -0.30 -0.28 -0.25 -0.24 -0.24 -0.24 -0.25 -0.24 -0.12 -0.10 -0.08 -0.09 -0.07 -0.07 -0.06 -0.06 -0.06 -0.05 -0.04 -0.05 -0.04 -0.01 0.02 0.02 0.00 0.02 0.03 0.07 0.10 0.10 0.13 0.01 0.01 0.10 0.11 0.19 0.24 0.38 0.46 0.26 0.27 0.43 0.76 0.75 1.09 1.09 0.94 1.06 1.21 1.47 1.45 1.36 2.07 2.85 2.90 3.85 4.65 5.84 5.46 6.15 7.50 8.30 10.62 12.70 16.65 20.95 25.41 26.32 20.20 16.60 11.24 7.85 7.62 20.19 7.32 2.87 5.18"
+ sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 1.0 0.0" geometric_location="0.0546 0.1456 0.00415" />
+ <microphone valid_mask="31" device_id="builtin_mic_3" type="AUDIO_DEVICE_IN_BUILTIN_MIC" address="" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
+ group="0" index_in_the_group="2" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="92"
+ frequencies="100.00 106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00"
+ responses="-9.24 -9.31 -9.39 -9.45 -9.46 -9.47 -9.50 -9.52 -9.51 -9.52 -9.51 -9.50 -9.49 -9.47 -9.48 -9.49 -9.48 -9.50 -9.51 -9.53 -9.55 -9.59 -9.63 -9.67 -9.58 -9.57 -9.65 -9.68 -9.71 -9.75 -9.79 -9.84 -9.87 -9.87 -9.90 -9.90 -9.91 -9.97 -10.01 -10.05 -9.85 -9.93 -9.94 -9.98 -10.04 -10.12 -10.28 -10.25 -10.01 -9.86 -9.81 -9.82 -9.61 -9.46 -8.27 -8.42 -8.98 -8.99 -8.82 -9.21 -8.92 -8.97 -9.30 -9.44 -9.52 -9.28 -9.09 -8.81 -7.02 -5.72 -5.30 -7.26 -8.39 -12.28 -8.23 -6.99 -5.52 -4.87 -3.82 -6.09 0.00 -2.15 -0.26 1.48 5.22 10.92 6.41 9.55 12.96 3.35 22.00 19.75"
+ sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 0.0 1.0" geometric_location="0.0274 0.14065 0.0079" />
+ <microphone valid_mask="31" device_id="builtin_mic_4" type="AUDIO_DEVICE_IN_BACK_MIC" address="" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
+ group="0" index_in_the_group="3" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="92"
+ frequencies="106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00 20000.00"
+ responses="-0.75 -0.74 -0.69 -0.65 -0.62 -0.61 -0.56 -0.53 -0.50 -0.47 -0.43 -0.40 -0.37 -0.36 -0.33 -0.30 -0.28 -0.25 -0.24 -0.24 -0.24 -0.25 -0.24 -0.12 -0.10 -0.08 -0.09 -0.07 -0.07 -0.06 -0.06 -0.06 -0.05 -0.04 -0.05 -0.04 -0.01 0.02 0.02 0.00 0.02 0.03 0.07 0.10 0.10 0.13 0.01 0.01 0.10 0.11 0.19 0.24 0.38 0.46 0.26 0.27 0.43 0.76 0.75 1.09 1.09 0.94 1.06 1.21 1.47 1.45 1.36 2.07 2.85 2.90 3.85 4.65 5.84 5.46 6.15 7.50 8.30 10.62 12.70 16.65 20.95 25.41 26.32 20.20 16.60 11.24 7.85 7.62 20.19 7.32 2.87 5.18"
+ sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 1.0 0.0" geometric_location="0.0546 0.1456 0.00415" />
+ </microphone_characteristics>
+ <snd_devices>
+ <input_snd_device>
+ <input_snd_device_mic_mapping>
+ <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_MIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_MIC_AEC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_MIC_NS">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_MIC_AEC_NS">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_DMIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_DMIC_AEC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_DMIC_NS">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_MIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_MIC_AEC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_MIC_NS">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC_AEC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC_NS">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_VOICE_SPEAKER_MIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_CAMCORDER_MIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_VOICE_DMIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_VOICE_SPEAKER_DMIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_VOICE_SPEAKER_TMIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_VOICE_SPEAKER_QMIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_4"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_VOICE_REC_MIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_VOICE_REC_MIC_NS">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_VOICE_REC_DMIC_STEREO">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_VOICE_REC_DMIC_FLUENCE">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_AANC_HANDSET_MIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_QUAD_MIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_4"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_DMIC_STEREO">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC_STEREO">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_VOICE_SPEAKER_DMIC_BROADSIDE">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC_BROADSIDE">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC_AEC_BROADSIDE">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC_NS_BROADSIDE">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_VOICE_FLUENCE_DMIC_AANC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_4"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_QMIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_4"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_QMIC_AEC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_4"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_QMIC_NS">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_4"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_QMIC_AEC_NS">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_4"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_THREE_MIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_TMIC_FLUENCE_PRO">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_TMIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_TMIC_AEC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_TMIC_NS">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_TMIC_AEC_NS">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_VOICE_REC_TMIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_UNPROCESSED_MIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_UNPROCESSED_STEREO_MIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_UNPROCESSED_THREE_MIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_UNPROCESSED_QUAD_MIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
+ <mic_info mic_device_id="builtin_mic_4"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
+ </snd_dev>
+ <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_GENERIC_QMIC">
+ <mic_info mic_device_id="builtin_mic_1"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_2"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_3"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ <mic_info mic_device_id="builtin_mic_4"
+ channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
+ </snd_dev>
+ </input_snd_device_mic_mapping>
+ </input_snd_device>
+ </snd_devices>
</audio_platform_info>
diff --git a/configs/msmsteppe_au/audio_policy_configuration.xml b/configs/msmsteppe_au/audio_policy_configuration.xml
index 6ab75d8..667637b 100644
--- a/configs/msmsteppe_au/audio_policy_configuration.xml
+++ b/configs/msmsteppe_au/audio_policy_configuration.xml
@@ -197,10 +197,16 @@
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
</mixPort>
- <mixPort name="surround_sound" role="sink">
+ <mixPort name="voip_tx" role="sink"
+ flags="AUDIO_INPUT_FLAG_VOIP_TX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
- channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4,AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6"/>
+ samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
+ </mixPort>
+ <mixPort name="incall_music_uplink" role="source"
+ flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="8000,16000,48000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="record_24" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
@@ -315,15 +321,18 @@
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
- <devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink">
+ <devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
+ encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_APTX_TWSP">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
- <devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink">
+ <devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink"
+ encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_APTX_TWSP">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
- <devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink">
+ <devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink"
+ encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_APTX_TWSP">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
@@ -387,14 +396,18 @@
sources="primary output"/>
<route type="mix" sink="BT SCO All"
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
+ <route type="mix" sink="BT SCO Headset"
+ sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
+ <route type="mix" sink="BT SCO Car Kit"
+ sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
<route type="mix" sink="Telephony Tx"
- sources="voice_tx"/>
+ sources="voice_tx,incall_music_uplink"/>
<route type="mix" sink="voice_rx"
sources="Telephony Rx"/>
<route type="mix" sink="primary input"
- sources="Wired Headset Mic,BT SCO Headset Mic,FM Tuner,Telephony Rx"/>
- <route type="mix" sink="surround_sound"
- sources="Built-In Mic,Built-In Back Mic"/>
+ sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,Telephony Rx"/>
+ <route type="mix" sink="voip_tx"
+ sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic"/>
<route type="mix" sink="record_24"
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic"/>
<route type="mix" sink="mmap_no_irq_in"
diff --git a/configs/msmsteppe_au/audio_tuning_mixer_tavil.txt b/configs/msmsteppe_au/audio_tuning_mixer_tavil.txt
deleted file mode 100644
index 6c1c864..0000000
--- a/configs/msmsteppe_au/audio_tuning_mixer_tavil.txt
+++ /dev/null
@@ -1,193 +0,0 @@
-#ANC_TEST_P_PATH_MIC_STEREO Capture
-acdb_dev_id:85
-!Capture
-Txdevice:0
-
-enable
-AIF1_CAP Mixer SLIM TX7:1
-AIF1_CAP Mixer SLIM TX8:1
-CDC_IF TX7 MUX:DEC7
-ADC MUX7:DMIC
-DMIC MUX7:DMIC4
-CDC_IF TX8 MUX:DEC8
-ADC MUX8:DMIC
-DMIC MUX8:DMIC0
-SLIM_0_TX Channels:Two
-MultiMedia1 Mixer SLIM_0_TX:1
-
-disable
-MultiMedia1 Mixer SLIM_0_TX:0
-AIF1_CAP Mixer SLIM TX7:0
-AIF1_CAP Mixer SLIM TX8:0
-CDC_IF TX7 MUX:ZERO
-CDC_IF TX8 MUX:ZERO
-DMIC MUX7:ZERO
-DMIC MUX8:ZERO
-
-#ANC_TEST_S_PATH_MIC_STEREO Capture
-acdb_dev_id:88
-!Capture
-Txdevice:0
-
-enable
-AIF1_CAP Mixer SLIM TX7:1
-AIF1_CAP Mixer SLIM TX8:1
-CDC_IF TX7 MUX:DEC7
-ADC MUX7:ANC_FB_TUNE1
-ADC MUX10:DMIC
-DMIC MUX10:DMIC0
-CDC_IF TX8 MUX:DEC8
-ADC MUX8:ANC_FB_TUNE2
-ADC MUX12:DMIC
-DMIC MUX12:DMIC0
-ANC0 FB MUX:ANC_IN_EAR_SPKR
-ANC OUT EAR SPKR Enable Switch:1
-SLIM_0_TX Channels:Two
-MultiMedia1 Mixer SLIM_0_TX:1
-
-disable
-MultiMedia1 Mixer SLIM_0_TX:0
-AIF1_CAP Mixer SLIM TX7:0
-AIF1_CAP Mixer SLIM TX8:0
-CDC_IF TX7 MUX:ZERO
-CDC_IF TX8 MUX:ZERO
-ADC MUX7:DMIC
-ADC MUX8:DMIC
-DMIC MUX10:ZERO
-DMIC MUX12:ZERO
-ANC0 FB MUX:ZERO
-ANC OUT EAR SPKR Enable Switch:0
-
-
-#ANC_TEST_E_PATH_MIC_STEREO Capture
-acdb_dev_id:91
-!Capture
-Txdevice:0
-
-enable
-AIF1_CAP Mixer SLIM TX7:1
-AIF1_CAP Mixer SLIM TX8:1
-CDC_IF TX7 MUX:DEC7
-ADC MUX7:ANC_FB_TUNE1
-ADC MUX10:DMIC
-DMIC MUX10:DMIC4
-CDC_IF TX8 MUX:DEC8
-ADC MUX8:ANC_FB_TUNE2
-ADC MUX12:DMIC
-DMIC MUX12:DMIC4
-ANC0 FB MUX:ANC_IN_EAR_SPKR
-ANC OUT EAR SPKR Enable Switch:1
-SLIM_0_TX Channels:Two
-MultiMedia1 Mixer SLIM_0_TX:1
-
-disable
-MultiMedia1 Mixer SLIM_0_TX:0
-AIF1_CAP Mixer SLIM TX7:0
-AIF1_CAP Mixer SLIM TX8:0
-CDC_IF TX7 MUX:ZERO
-CDC_IF TX8 MUX:ZERO
-ADC MUX7:DMIC
-ADC MUX8:DMIC
-DMIC MUX10:ZERO
-DMIC MUX12:ZERO
-ANC0 FB MUX:ZERO
-ANC OUT EAR SPKR Enable Switch:0
-
-
-#ANC_TEST_S_PATH_HANDSET_SPKR_ANC_MONO
-acdb_dev_id:86
-!Playback
-Rxdevice:0
-
-enable
-ANC Function:ON
-SLIM RX0 MUX:AIF1_PB
-SLIM_0_RX Channels:One
-RX INT7_1 MIX1 INP0:RX0
-SpkrLeft SWR DAC_Port Switch:1
-ANC Slot:7
-ANC OUT EAR SPKR Enable Switch:1
-ANC SPKR PA Enable Switch:1
-SpkrLeft WSA PA Gain:G_6_DB
-SLIMBUS_0_RX Audio Mixer MultiMedia1:1
-
-disable
-SLIMBUS_0_RX Audio Mixer MultiMedia1:0
-SpkrLeft WSA PA Gain:G_0_DB
-ANC SPKR PA Enable Switch:0
-ANC OUT EAR SPKR Enable Switch:0
-SpkrLeft SWR DAC_Port Switch:0
-ANC Slot:0
-SLIM RX0 MUX:ZERO
-RX INT7_1 MIX1 INP0:ZERO
-ANC Function:OFF
-
-#ANC_TEST_E_PATH_HANDSET_SPKR_ANC_MONO
-acdb_dev_id:89
-!Playback
-Rxdevice:0
-
-enable
-ANC Function:ON
-SLIM RX0 MUX:AIF1_PB
-SLIM_0_RX Channels:One
-RX INT7_1 MIX1 INP0:RX0
-SpkrLeft SWR DAC_Port Switch:1
-ANC Slot:8
-ANC OUT EAR SPKR Enable Switch:1
-ANC SPKR PA Enable Switch:1
-SpkrLeft WSA PA Gain:G_6_DB
-SLIMBUS_0_RX Audio Mixer MultiMedia1:1
-
-disable
-SLIMBUS_0_RX Audio Mixer MultiMedia1:0
-SpkrLeft WSA PA Gain:G_0_DB
-ANC SPKR PA Enable Switch:0
-ANC OUT EAR SPKR Enable Switch:0
-SpkrLeft SWR DAC_Port Switch:0
-ANC Slot:0
-SLIM RX0 MUX:ZERO
-RX INT7_1 MIX1 INP0:ZERO
-ANC Function:OFF
-
-#RAS_TEST_SPKR_PHONE_SPKR_STEREO
-acdb_dev_id:136
-!Playback
-Rxdevice:0
-
-enable
-SLIM RX0 MUX:AIF1_PB
-SLIM RX1 MUX:AIF1_PB
-CDC_IF RX0 MUX:SLIM RX0
-CDC_IF RX1 MUX:SLIM RX1
-SLIM_0_RX Channels:Two
-RX INT7_1 MIX1 INP0:RX0
-RX INT8_1 MIX1 INP0:RX1
-COMP7 Switch:1
-COMP8 Switch:1
-SpkrLeft COMP Switch:1
-SpkrRight COMP Switch:1
-SpkrLeft BOOST Switch:1
-SpkrRight BOOST Switch:1
-SpkrLeft VISENSE Switch:1
-SpkrRight VISENSE Switch:1
-SpkrLeft SWR DAC_Port Switch:1
-SpkrRight SWR DAC_Port Switch:1
-SLIMBUS_0_RX Audio Mixer MultiMedia1:1
-
-disable
-SLIM RX0 MUX:ZERO
-SLIM RX1 MUX:ZERO
-RX INT7_1 MIX1 INP0:ZERO
-RX INT8_1 MIX1 INP0:ZERO
-COMP7 Switch:0
-COMP8 Switch:0
-SpkrLeft COMP Switch:0
-SpkrRight COMP Switch:0
-SpkrLeft BOOST Switch:0
-SpkrRight BOOST Switch:0
-SpkrLeft VISENSE Switch:0
-SpkrRight VISENSE Switch:0
-SpkrLeft SWR DAC_Port Switch:0
-SpkrRight SWR DAC_Port Switch:0
-SLIMBUS_0_RX Audio Mixer MultiMedia1:0
diff --git a/configs/msmsteppe_au/mixer_paths_adp.xml b/configs/msmsteppe_au/mixer_paths_adp.xml
index 75ce9c5..e5f0455 100644
--- a/configs/msmsteppe_au/mixer_paths_adp.xml
+++ b/configs/msmsteppe_au/mixer_paths_adp.xml
@@ -287,10 +287,6 @@
<ctl name="SEC_TDM_RX_0 Audio Mixer MultiMedia9" value="0" />
<ctl name="MultiMedia9 Mixer TERT_TDM_TX_0" value="0" />
- <path name="dummy-hostless">
- <ctl name="SEC_TDM_RX_7 Port Mixer TERT_TDM_TX_7" value="1" />
- </path>
-
<!-- These are audio route (FE to BE) specific mixer settings -->
<!-- EC Reference -->
@@ -1487,13 +1483,13 @@
</path>
<path name="voicemmode2-call">
- <ctl name="SLIM_0_RX_Voice Mixer VoiceMMode2" value="1" />
- <ctl name="VoiceMMode2_Tx Mixer SLIM_0_TX_MMode2" value="1" />
+ <ctl name="TERT_TDM_RX_2_Voice Mixer VoiceMMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer TERT_TDM_TX_0_MMode2" value="1" />
</path>
<path name="voicemmode2-call headphones">
<ctl name="SLIM_6_RX_Voice Mixer VoiceMMode2" value="1" />
- <ctl name="VoiceMMode2_Tx Mixer SLIM_0_TX_MMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer TERT_TDM_TX_0_MMode2" value="1" />
</path>
<path name="voicemmode2-call bt-sco">
@@ -1513,7 +1509,7 @@
<path name="voicemmode2-call usb-headphones">
<ctl name="USB_AUDIO_RX_Voice Mixer VoiceMMode2" value="1" />
- <ctl name="VoiceMMode2_Tx Mixer SLIM_0_TX_MMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer TERT_TDM_TX_0_MMode2" value="1" />
</path>
<path name="voicemmode2-call usb-headset">
@@ -1528,7 +1524,7 @@
<path name="voicemmode2-call display-port">
<ctl name="DISPLAY_PORT_RX_Voice Mixer VoiceMMode2" value="1" />
- <ctl name="VoiceMMode2_Tx Mixer SLIM_0_TX_MMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer TERT_TDM_TX_0_MMode2" value="1" />
</path>
<!-- VoIP Rx settings -->
@@ -1675,24 +1671,40 @@
</path>
<path name="speaker-mic">
- <path name="dmic2" />
+ <path name="dmic3" />
</path>
<path name="speaker-mic-liquid">
- <path name="dmic2" />
+ <path name="dmic3" />
</path>
<path name="speaker-mic-sbc">
</path>
+ <path name="speaker-mic-qrd">
+ <path name="dmic1" />
+ </path>
+
<path name="speaker-protected">
<path name="speaker" />
</path>
+ <path name="speaker-protected-qrd">
+ <path name="speaker-qrd" />
+ </path>
+
<path name="voice-speaker-protected">
<path name="speaker-mono" />
</path>
+ <path name="voice-speaker-protected-qrd">
+ <path name="speaker-protected-qrd" />
+ </path>
+
+ <path name="voice-speaker-stereo-protected">
+ <path name="speaker-protected" />
+ </path>
+
<path name="voice-speaker-2-protected">
<path name="speaker-mono-2" />
</path>
@@ -1726,15 +1738,12 @@
<path name="handset-mic-sbc">
</path>
- <path name="handset-mic-adp">
- </path>
-
- <path name="handset-mic-custom">
- </path>
-
<path name="three-mic">
</path>
+ <path name="three-mic-qrd">
+ </path>
+
<path name="anc-handset">
</path>
@@ -1799,6 +1808,10 @@
<path name="speaker-mono" />
</path>
+ <path name="voice-speaker-stereo">
+ <path name="speaker" />
+ </path>
+
<path name="voice-speaker-qrd">
<path name="speaker-mono-2" />
</path>
@@ -1819,6 +1832,10 @@
<path name="speaker-mic" />
</path>
+ <path name="voice-speaker-mic-qrd">
+ <path name="speaker-mic-qrd" />
+ </path>
+
<path name="voice-headphones">
<path name="headphones" />
</path>
@@ -1932,6 +1949,9 @@
<path name="aanc-handset-mic">
</path>
+ <path name="aanc-handset-mic-qrd">
+ </path>
+
<!-- Dual MIC devices -->
<path name="handset-dmic-endfire">
</path>
@@ -1939,6 +1959,12 @@
<path name="speaker-dmic-endfire">
</path>
+ <path name="handset-dmic-endfire-qrd">
+ </path>
+
+ <path name="speaker-dmic-endfire-qrd">
+ </path>
+
<path name="dmic-endfire">
<path name="handset-dmic-endfire" />
</path>
@@ -1947,6 +1973,10 @@
<path name="handset-dmic-endfire" />
</path>
+ <path name="dmic-endfire-qrd">
+ <path name="handset-dmic-endfire-qrd" />
+ </path>
+
<path name="handset-stereo-dmic-ef">
<path name="handset-dmic-endfire" />
</path>
@@ -1999,6 +2029,22 @@
<path name="dmic-endfire-liquid" />
</path>
+ <path name="handset-stereo-dmic-ef-qrd">
+ <path name="handset-dmic-endfire-qrd" />
+ </path>
+
+ <path name="speaker-stereo-dmic-ef-qrd">
+ <path name="speaker-dmic-endfire-qrd" />
+ </path>
+
+ <path name="voice-dmic-ef-qrd">
+ <path name="dmic-endfire-qrd" />
+ </path>
+
+ <path name="voice-speaker-dmic-ef-qrd">
+ <path name="speaker-dmic-endfire-qrd" />
+ </path>
+
<path name="speaker-dmic-broadside">
</path>
@@ -2010,12 +2056,30 @@
<path name="dmic-broadside" />
</path>
+ <!-- Tri MIC devices -->
+ <path name="speaker-tmic">
+ </path>
+
+ <path name="speaker-tmic-qrd">
+ </path>
+
+ <path name="voice-speaker-tmic">
+ <path name="speaker-tmic" />
+ </path>
+
+ <path name="voice-speaker-tmic-qrd">
+ <path name="speaker-tmic-qrd" />
+ </path>
+
<!-- Quad MIC devices -->
<path name="speaker-qmic">
<ctl name="TERT_TDM_TX_0 Channels" value="Four" />
<ctl name="MultiMedia1 Mixer TERT_TDM_TX_0" value="1" />
</path>
+ <path name="speaker-qmic-qrd">
+ </path>
+
<path name="speaker-qmic-liquid">
</path>
@@ -2035,6 +2099,14 @@
<path name="speaker-qmic-liquid" />
</path>
+ <path name="quad-mic-qrd">
+ <path name="speaker-qmic-qrd" />
+ </path>
+
+ <path name="voice-speaker-qmic-qrd">
+ <path name="speaker-qmic-qrd" />
+ </path>
+
<!-- TTY devices -->
<path name="tty-headphones">
@@ -2346,4 +2418,79 @@
<ctl name="MultiMedia2 Mixer USB_AUDIO_TX" value="1" />
</path>
+ <path name="incall_music_uplink">
+ <ctl name="Incall_Music Audio Mixer MultiMedia9" value="1" />
+ </path>
+
+ <path name="incall_music_uplink speaker">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink handset">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink handset-hac">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink display-port">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink bt-sco">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink bt-sco-wb">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-display-port">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink afe-proxy">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink usb-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink usb-headset">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-usb-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-bt-sco">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink voice-tty-hco-handset">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-bt-a2dp">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink bt-a2dp">
+ <path name="incall_music_uplink" />
+ </path>
+ <path name="incall_music_uplink afe-proxy">
+ <path name="incall_music_uplink" />
+ </path>
+
</mixer>
diff --git a/configs/msmsteppe_au/mixer_paths_custom.xml b/configs/msmsteppe_au/mixer_paths_custom.xml
index 5175d9f..6f6aeff 100644
--- a/configs/msmsteppe_au/mixer_paths_custom.xml
+++ b/configs/msmsteppe_au/mixer_paths_custom.xml
@@ -1478,13 +1478,13 @@
</path>
<path name="voicemmode2-call">
- <ctl name="SLIM_0_RX_Voice Mixer VoiceMMode2" value="1" />
- <ctl name="VoiceMMode2_Tx Mixer SLIM_0_TX_MMode2" value="1" />
+ <ctl name="TERT_TDM_RX_2_Voice Mixer VoiceMMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer TERT_TDM_TX_0_MMode2" value="1" />
</path>
<path name="voicemmode2-call headphones">
<ctl name="SLIM_6_RX_Voice Mixer VoiceMMode2" value="1" />
- <ctl name="VoiceMMode2_Tx Mixer SLIM_0_TX_MMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer TERT_TDM_TX_0_MMode2" value="1" />
</path>
<path name="voicemmode2-call bt-sco">
@@ -1504,7 +1504,7 @@
<path name="voicemmode2-call usb-headphones">
<ctl name="USB_AUDIO_RX_Voice Mixer VoiceMMode2" value="1" />
- <ctl name="VoiceMMode2_Tx Mixer SLIM_0_TX_MMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer TERT_TDM_TX_0_MMode2" value="1" />
</path>
<path name="voicemmode2-call usb-headset">
@@ -1519,7 +1519,7 @@
<path name="voicemmode2-call display-port">
<ctl name="DISPLAY_PORT_RX_Voice Mixer VoiceMMode2" value="1" />
- <ctl name="VoiceMMode2_Tx Mixer SLIM_0_TX_MMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer TERT_TDM_TX_0_MMode2" value="1" />
</path>
<!-- VoIP Rx settings -->
@@ -1666,24 +1666,40 @@
</path>
<path name="speaker-mic">
- <path name="dmic2" />
+ <path name="dmic3" />
</path>
<path name="speaker-mic-liquid">
- <path name="dmic2" />
+ <path name="dmic3" />
</path>
<path name="speaker-mic-sbc">
</path>
+ <path name="speaker-mic-qrd">
+ <path name="dmic1" />
+ </path>
+
<path name="speaker-protected">
<path name="speaker" />
</path>
+ <path name="speaker-protected-qrd">
+ <path name="speaker-qrd" />
+ </path>
+
<path name="voice-speaker-protected">
<path name="speaker-mono" />
</path>
+ <path name="voice-speaker-protected-qrd">
+ <path name="speaker-protected-qrd" />
+ </path>
+
+ <path name="voice-speaker-stereo-protected">
+ <path name="speaker-protected" />
+ </path>
+
<path name="voice-speaker-2-protected">
<path name="speaker-mono-2" />
</path>
@@ -1717,15 +1733,12 @@
<path name="handset-mic-sbc">
</path>
- <path name="handset-mic-adp">
- </path>
-
- <path name="handset-mic-custom">
- </path>
-
<path name="three-mic">
</path>
+ <path name="three-mic-qrd">
+ </path>
+
<path name="anc-handset">
</path>
@@ -1790,6 +1803,10 @@
<path name="speaker-mono" />
</path>
+ <path name="voice-speaker-stereo">
+ <path name="speaker" />
+ </path>
+
<path name="voice-speaker-qrd">
<path name="speaker-mono-2" />
</path>
@@ -1810,6 +1827,10 @@
<path name="speaker-mic" />
</path>
+ <path name="voice-speaker-mic-qrd">
+ <path name="speaker-mic-qrd" />
+ </path>
+
<path name="voice-headphones">
<path name="headphones" />
</path>
@@ -1923,6 +1944,9 @@
<path name="aanc-handset-mic">
</path>
+ <path name="aanc-handset-mic-qrd">
+ </path>
+
<!-- Dual MIC devices -->
<path name="handset-dmic-endfire">
</path>
@@ -1930,6 +1954,12 @@
<path name="speaker-dmic-endfire">
</path>
+ <path name="handset-dmic-endfire-qrd">
+ </path>
+
+ <path name="speaker-dmic-endfire-qrd">
+ </path>
+
<path name="dmic-endfire">
<path name="handset-dmic-endfire" />
</path>
@@ -1938,6 +1968,10 @@
<path name="handset-dmic-endfire" />
</path>
+ <path name="dmic-endfire-qrd">
+ <path name="handset-dmic-endfire-qrd" />
+ </path>
+
<path name="handset-stereo-dmic-ef">
<path name="handset-dmic-endfire" />
</path>
@@ -1990,6 +2024,22 @@
<path name="dmic-endfire-liquid" />
</path>
+ <path name="handset-stereo-dmic-ef-qrd">
+ <path name="handset-dmic-endfire-qrd" />
+ </path>
+
+ <path name="speaker-stereo-dmic-ef-qrd">
+ <path name="speaker-dmic-endfire-qrd" />
+ </path>
+
+ <path name="voice-dmic-ef-qrd">
+ <path name="dmic-endfire-qrd" />
+ </path>
+
+ <path name="voice-speaker-dmic-ef-qrd">
+ <path name="speaker-dmic-endfire-qrd" />
+ </path>
+
<path name="speaker-dmic-broadside">
</path>
@@ -2001,12 +2051,30 @@
<path name="dmic-broadside" />
</path>
+ <!-- Tri MIC devices -->
+ <path name="speaker-tmic">
+ </path>
+
+ <path name="speaker-tmic-qrd">
+ </path>
+
+ <path name="voice-speaker-tmic">
+ <path name="speaker-tmic" />
+ </path>
+
+ <path name="voice-speaker-tmic-qrd">
+ <path name="speaker-tmic-qrd" />
+ </path>
+
<!-- Quad MIC devices -->
<path name="speaker-qmic">
<ctl name="TERT_TDM_TX_0 Channels" value="Four" />
<ctl name="MultiMedia1 Mixer TERT_TDM_TX_0" value="1" />
</path>
+ <path name="speaker-qmic-qrd">
+ </path>
+
<path name="speaker-qmic-liquid">
</path>
@@ -2026,6 +2094,14 @@
<path name="speaker-qmic-liquid" />
</path>
+ <path name="quad-mic-qrd">
+ <path name="speaker-qmic-qrd" />
+ </path>
+
+ <path name="voice-speaker-qmic-qrd">
+ <path name="speaker-qmic-qrd" />
+ </path>
+
<!-- TTY devices -->
<path name="tty-headphones">
@@ -2337,4 +2413,79 @@
<ctl name="MultiMedia2 Mixer USB_AUDIO_TX" value="1" />
</path>
+ <path name="incall_music_uplink">
+ <ctl name="Incall_Music Audio Mixer MultiMedia9" value="1" />
+ </path>
+
+ <path name="incall_music_uplink speaker">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink handset">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink handset-hac">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink display-port">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink bt-sco">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink bt-sco-wb">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-display-port">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink afe-proxy">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink usb-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink usb-headset">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-usb-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-bt-sco">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink voice-tty-hco-handset">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-bt-a2dp">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink bt-a2dp">
+ <path name="incall_music_uplink" />
+ </path>
+ <path name="incall_music_uplink afe-proxy">
+ <path name="incall_music_uplink" />
+ </path>
+
</mixer>
diff --git a/configs/msmsteppe_au/msmsteppe_au.mk b/configs/msmsteppe_au/msmsteppe_au.mk
index a0b9cf1..5aa7981 100644
--- a/configs/msmsteppe_au/msmsteppe_au.mk
+++ b/configs/msmsteppe_au/msmsteppe_au.mk
@@ -4,7 +4,6 @@
BOARD_USES_ALSA_AUDIO := true
ifneq ($(TARGET_USES_AOSP_FOR_AUDIO), true)
-USE_CUSTOM_AUDIO_POLICY := 1
AUDIO_FEATURE_ENABLED_COMPRESS_CAPTURE := false
AUDIO_FEATURE_ENABLED_COMPRESS_VOIP := false
AUDIO_FEATURE_ENABLED_DYNAMIC_ECNS := true
@@ -29,16 +28,17 @@
MM_AUDIO_ENABLED_SAFX := true
AUDIO_FEATURE_ENABLED_HW_ACCELERATED_EFFECTS := false
AUDIO_FEATURE_ENABLED_AUDIOSPHERE := true
-AUDIO_FEATURE_ENABLED_USB_TUNNEL_AUDIO := true
-AUDIO_FEATURE_ENABLED_SPLIT_A2DP := true
+AUDIO_FEATURE_ENABLED_USB_TUNNEL := true
+AUDIO_FEATURE_ENABLED_A2DP_OFFLOAD := true
AUDIO_FEATURE_ENABLED_3D_AUDIO := false
DOLBY_ENABLE := false
endif
USE_XML_AUDIO_POLICY_CONF := 1
+AUDIO_FEATURE_ENABLED_DLKM := true
BOARD_SUPPORTS_SOUND_TRIGGER := true
AUDIO_FEATURE_ENABLED_INSTANCE_ID := true
-AUDIO_USE_LL_AS_PRIMARY_OUTPUT := true
+AUDIO_USE_DEEP_AS_PRIMARY_OUTPUT := false
AUDIO_FEATURE_ENABLED_VBAT_MONITOR := true
AUDIO_FEATURE_ENABLED_ANC_HEADSET := true
AUDIO_FEATURE_ENABLED_CUSTOMSTEREO := true
@@ -62,8 +62,7 @@
AUDIO_FEATURE_ENABLED_GEF_SUPPORT := true
BOARD_SUPPORTS_QAHW := false
AUDIO_FEATURE_ENABLED_RAS := true
-AUDIO_FEATURE_ENABLED_SND_MONITOR := true
-AUDIO_FEATURE_ENABLED_DLKM := true
+AUDIO_FEATURE_ENABLED_SND_MONITOR := false
AUDIO_FEATURE_ENABLED_USB_BURST_MODE := false
AUDIO_FEATURE_ENABLED_SVA_MULTI_STAGE := false
AUDIO_FEATURE_ENABLED_BATTERY_LISTENER := false
@@ -72,6 +71,10 @@
AUDIO_FEATURE_ENABLED_AUTO_HAL := true
AUDIO_FEATURE_ENABLED_EXT_HW_PLUGIN := true
AUDIO_FEATURE_ENABLED_AUDIO_CONTROL_HAL := true
+ifneq ($(ENABLE_HYP),true)
+AUDIO_FEATURE_ENABLED_AUTO_AUDIOD := true
+endif
+AUDIO_FEATURE_ENABLED_FM_TUNER_EXT := true
##AUTOMOTIVE_AUDIO_FEATURE_FLAGS
ifneq ($(strip $(TARGET_USES_RRO)), true)
@@ -80,23 +83,21 @@
endif
#Automotive audio specific device overlays
-ifneq ($(TARGET_USES_AOSP_FOR_AUDIO), true)
-DEVICE_PACKAGE_OVERLAYS += hardware/qcom/audio/configs/msmsteppe_au/overlay
-endif
+DEVICE_PACKAGE_OVERLAYS += vendor/qcom/opensource/audio-hal/primary-hal/configs/common_au/overlay
PRODUCT_COPY_FILES += \
- vendor/qcom/opensource/audio-hal/primary-hal/configs/msmsteppe_au/audio_output_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_output_policy.conf \
+ vendor/qcom/opensource/audio-hal/primary-hal/configs/msmsteppe_au/audio_io_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_io_policy.conf \
vendor/qcom/opensource/audio-hal/primary-hal/configs/msmsteppe_au/audio_effects.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.conf \
vendor/qcom/opensource/audio-hal/primary-hal/configs/msmsteppe_au/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/msmsteppe_au/mixer_paths_adp.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_adp.xml \
- vendor/qcom/opensource/audio-hal/primary-hal/configs/msmsteppe_au/audio_tuning_mixer_tavil.txt:$(TARGET_COPY_OUT_VENDOR)/etc/audio_tuning_mixer_tavil.txt \
vendor/qcom/opensource/audio-hal/primary-hal/configs/msmsteppe_au/audio_tuning_mixer.txt:$(TARGET_COPY_OUT_VENDOR)/etc/audio_tuning_mixer.txt \
- vendor/qcom/opensource/audio-hal/primary-hal/configs/msmsteppe_au/sound_trigger_mixer_paths_wcd9340.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_wcd9340.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/msmsteppe_au/sound_trigger_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_platform_info.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/msmsteppe_au/graphite_ipc_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/graphite_ipc_platform_info.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/msmsteppe_au/audio_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/msmsteppe_au/mixer_paths_custom.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_custom.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/msmsteppe_au/sound_trigger_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths.xml
+ frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml \
+ frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml
#XML Audio configuration files
ifneq ($(TARGET_USES_AOSP_FOR_AUDIO), true)
@@ -104,7 +105,7 @@
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/msmsteppe_au/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/audio_policy_configuration.xml
endif
PRODUCT_COPY_FILES += \
- $(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
+ $(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common_au/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
$(TOPDIR)frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \
$(TOPDIR)frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
$(TOPDIR)frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
@@ -133,8 +134,25 @@
ro.vendor.audio.sdk.fluencetype=none\
persist.vendor.audio.fluence.voicecall=true\
persist.vendor.audio.fluence.voicerec=false\
-persist.vendor.audio.fluence.speaker=true\
-persist.vendor.audio.fluence.tmic.enabled=false
+persist.vendor.audio.fluence.speaker=true
+
+#
+#snapdragon value add features
+#
+PRODUCT_PROPERTY_OVERRIDES += \
+ro.qc.sdk.audio.ssr=false
+
+##fluencetype can be "fluence" or "fluencepro" or "none"
+PRODUCT_PROPERTY_OVERRIDES += \
+ro.qc.sdk.audio.fluencetype=none\
+persist.audio.fluence.voicecall=true\
+persist.audio.fluence.voicerec=false\
+persist.audio.fluence.speaker=true
+
+##speaker protection v3 switch and ADSP AFE API version
+PRODUCT_PROPERTY_OVERRIDES += \
+persist.vendor.audio.spv3.enable=true\
+persist.vendor.audio.avs.afe_api_version=2
#disable tunnel encoding
PRODUCT_PROPERTY_OVERRIDES += \
@@ -191,7 +209,7 @@
#enable pbe effects
PRODUCT_PROPERTY_OVERRIDES += \
-vendor.audio.safx.pbe.enabled=true
+vendor.audio.safx.pbe.enabled=false
#parser input buffer size(256kb) in byte stream mode
PRODUCT_PROPERTY_OVERRIDES += \
@@ -211,7 +229,19 @@
#split a2dp DSP supported encoder list
PRODUCT_PROPERTY_OVERRIDES += \
-persist.vendor.bt.a2dp_offload_cap=sbc-aptx-aptxtws-aptxhd-aac-ldac
+persist.vendor.bt.a2dp_offload_cap=sbc-aptx-aptxtws-aptxhd-aac
+
+# A2DP offload support
+PRODUCT_PROPERTY_OVERRIDES += \
+ro.bluetooth.a2dp_offload.supported=true
+
+# Disable A2DP offload
+PRODUCT_PROPERTY_OVERRIDES += \
+persist.bluetooth.a2dp_offload.disabled=false
+
+# A2DP offload DSP supported encoder list
+PRODUCT_PROPERTY_OVERRIDES += \
+persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac
#enable software decoders for ALAC and APE
PRODUCT_PROPERTY_OVERRIDES += \
@@ -259,6 +289,111 @@
PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.audio.voicecall.speaker.stereo=true
+#enable headset calibration
+PRODUCT_PROPERTY_OVERRIDES += \
+audio.volume.headset.gain.depcal=true
+
+#enable dualmic fluence for voice communication
+PRODUCT_PROPERTY_OVERRIDES += \
+persist.audio.fluence.voicecomm=true
+
+#enable AAC frame ctl for A2DP sinks
+PRODUCT_PROPERTY_OVERRIDES += \
+persist.vendor.bt.aac_frm_ctl.enabled=true
+
+#add dynamic feature flags here
+ifeq ($(TARGET_USES_AOSP_FOR_AUDIO),true)
+# Generic ODM varient related
+PRODUCT_ODM_PROPERTIES += \
+vendor.audio.feature.a2dp_offload.enable=true \
+vendor.audio.feature.afe_proxy.enable=false \
+vendor.audio.feature.anc_headset.enable=false \
+vendor.audio.feature.battery_listener.enable=false \
+vendor.audio.feature.compr_cap.enable=false \
+vendor.audio.feature.compress_in.enable=false \
+vendor.audio.feature.compress_meta_data.enable=false \
+vendor.audio.feature.compr_voip.enable=false \
+vendor.audio.feature.concurrent_capture.enable=true \
+vendor.audio.feature.custom_stereo.enable=false \
+vendor.audio.feature.display_port.enable=false \
+vendor.audio.feature.dsm_feedback.enable=false \
+vendor.audio.feature.dynamic_ecns.enable=false \
+vendor.audio.feature.ext_hw_plugin.enable=true \
+vendor.audio.feature.external_dsp.enable=true \
+vendor.audio.feature.external_speaker.enable=true \
+vendor.audio.feature.external_speaker_tfa.enable=false \
+vendor.audio.feature.fluence.enable=false \
+vendor.audio.feature.fm.enable=false \
+vendor.audio.feature.hdmi_edid.enable=false \
+vendor.audio.feature.hdmi_passthrough.enable=false \
+vendor.audio.feature.hfp.enable=true \
+vendor.audio.feature.hifi_audio.enable=false \
+vendor.audio.feature.hwdep_cal.enable=false \
+vendor.audio.feature.incall_music.enable=true \
+vendor.audio.feature.keep_alive.enable=false \
+vendor.audio.feature.kpi_optimize.enable=false \
+vendor.audio.feature.maxx_audio.enable=false \
+vendor.audio.feature.ras.enable=false \
+vendor.audio.feature.record_play_concurency.enable=false \
+vendor.audio.feature.src_trkn.enable=false \
+vendor.audio.feature.spkr_prot.enable=false \
+vendor.audio.feature.ssrec.enable=false \
+vendor.audio.feature.usb_offload.enable=true \
+vendor.audio.feature.usb_offload_burst_mode.enable=false \
+vendor.audio.feature.usb_offload_sidetone_volume.enable=false \
+vendor.audio.feature.deepbuffer_as_primary.enable=false \
+vendor.audio.feature.vbat.enable=false \
+vendor.audio.feature.wsa.enable=false \
+vendor.audio.feature.audiozoom.enable=false \
+vendor.audio.feature.snd_mon.enable=false \
+vendor.audio.feature.auto_hal.enable=true
+else
+# Non-Generic ODM varient related
+PRODUCT_ODM_PROPERTIES += \
+vendor.audio.feature.a2dp_offload.enable=true \
+vendor.audio.feature.afe_proxy.enable=true \
+vendor.audio.feature.anc_headset.enable=true \
+vendor.audio.feature.battery_listener.enable=true \
+vendor.audio.feature.compr_cap.enable=false \
+vendor.audio.feature.compress_in.enable=true \
+vendor.audio.feature.compress_meta_data.enable=true \
+vendor.audio.feature.compr_voip.enable=false \
+vendor.audio.feature.concurrent_capture.enable=true \
+vendor.audio.feature.custom_stereo.enable=true \
+vendor.audio.feature.display_port.enable=true \
+vendor.audio.feature.dsm_feedback.enable=false \
+vendor.audio.feature.dynamic_ecns.enable=true \
+vendor.audio.feature.ext_hw_plugin.enable=true \
+vendor.audio.feature.external_dsp.enable=false \
+vendor.audio.feature.external_speaker.enable=false \
+vendor.audio.feature.external_speaker_tfa.enable=false \
+vendor.audio.feature.fluence.enable=true \
+vendor.audio.feature.fm.enable=true \
+vendor.audio.feature.hdmi_edid.enable=true \
+vendor.audio.feature.hdmi_passthrough.enable=true \
+vendor.audio.feature.hfp.enable=true \
+vendor.audio.feature.hifi_audio.enable=false \
+vendor.audio.feature.hwdep_cal.enable=false \
+vendor.audio.feature.incall_music.enable=true \
+vendor.audio.feature.keep_alive.enable=true \
+vendor.audio.feature.kpi_optimize.enable=true \
+vendor.audio.feature.maxx_audio.enable=false \
+vendor.audio.feature.ras.enable=true \
+vendor.audio.feature.record_play_concurency.enable=false \
+vendor.audio.feature.src_trkn.enable=true \
+vendor.audio.feature.spkr_prot.enable=false \
+vendor.audio.feature.ssrec.enable=true \
+vendor.audio.feature.usb_offload.enable=true \
+vendor.audio.feature.usb_offload_burst_mode.enable=true \
+vendor.audio.feature.usb_offload_sidetone_volume.enable=false \
+vendor.audio.feature.deepbuffer_as_primary.enable=false \
+vendor.audio.feature.vbat.enable=true \
+vendor.audio.feature.wsa.enable=false \
+vendor.audio.feature.audiozoom.enable=false \
+vendor.audio.feature.snd_mon.enable=false \
+vendor.audio.feature.auto_hal.enable=true
+endif
+
# for HIDL related packages
PRODUCT_PACKAGES += \
android.hardware.audio@2.0-service \
@@ -272,6 +407,22 @@
android.hardware.audio.effect@4.0 \
android.hardware.audio.effect@4.0-impl
+# enable audio hidl hal 5.0
+PRODUCT_PACKAGES += \
+ android.hardware.audio@5.0 \
+ android.hardware.audio.common@5.0 \
+ android.hardware.audio.common@5.0-util \
+ android.hardware.audio@5.0-impl \
+ android.hardware.audio.effect@5.0 \
+ android.hardware.audio.effect@5.0-impl
+
+PRODUCT_PACKAGES_ENG += \
+ VoicePrintTest \
+ VoicePrintDemo
+
+PRODUCT_PACKAGES_DEBUG += \
+ AudioSettings
+
# for HIDL related audiocontrol packages
PRODUCT_PACKAGES += \
vendor.qti.hardware.automotive.audiocontrol@1.0-service \
diff --git a/configs/msmsteppe_au/overlay/frameworks/base/core/res/res/values/config.xml b/configs/msmsteppe_au/overlay/frameworks/base/core/res/res/values/config.xml
deleted file mode 100644
index 0274f9e..0000000
--- a/configs/msmsteppe_au/overlay/frameworks/base/core/res/res/values/config.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
-** Not a Contribution.
-*/
-/*
-** Copyright 2009, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<resources>
- <!-- Car uses hardware amplifier for volume. -->
- <bool name="config_useFixedVolume">false</bool>
- <!--
- Handle volume keys directly in CarAudioService without passing them to the foreground app
- -->
- <bool name="config_handleVolumeKeysInWindowManager">true</bool>
-</resources>
diff --git a/configs/msmsteppe_au/overlay/packages/services/Car/service/res/values/config.xml b/configs/msmsteppe_au/overlay/packages/services/Car/service/res/values/config.xml
deleted file mode 100644
index ac5f818..0000000
--- a/configs/msmsteppe_au/overlay/packages/services/Car/service/res/values/config.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
-** Not a Contribution.
-*/
-/*
-** Copyright 2015, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<!--
- Overlay resources to configure car service based on each OEM's preference.
- See also packages/services/Car/service/res/values/config.xml
--->
-<resources>
- <!-- Configuration to enable usage of dynamic audio routing. If this is set to false,
- dynamic audio routing is disabled and audio works in legacy mode. It may be useful
- during initial development where audio hal does not support bus based addressing yet. -->
- <bool name="audioUseDynamicRouting">true</bool>
-</resources>
diff --git a/configs/msmsteppe_au/overlay/packages/services/Car/service/res/xml/car_volume_groups.xml b/configs/msmsteppe_au/overlay/packages/services/Car/service/res/xml/car_volume_groups.xml
deleted file mode 100644
index 850d4d4..0000000
--- a/configs/msmsteppe_au/overlay/packages/services/Car/service/res/xml/car_volume_groups.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
- Not a Contribution.
-
- Copyright (C) 2018 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<!--
- Defines the all available volume groups for volume control in a car.
- One can overlay this configuration to customize the groups.
-
- This configuration will be populated by CarAudioService and
- surfaced to Car Settings App and/or other volume control interfaces.
-
- Certain constraints applied to this configuration
- - One context should not appear in two groups
- - All contexts are assigned
- - One bus should not appear in two groups
- - All gain controllers (set on each bus) in one group have same step value
-
- It is fine that there are buses that do not appear in any group, those buses
- may be reserved for other usages.
-
- Important note: when overlaying this configuration,
- make sure the resources are in the same package as CarAudioService.
--->
-<volumeGroups xmlns:car="http://schemas.android.com/apk/res-auto">
- <group>
- <context car:context="music"/>
- </group>
- <group>
- <context car:context="call"/>
- <context car:context="call_ring"/>
- </group>
- <group>
- <context car:context="alarm"/>
- <context car:context="notification"/>
- <context car:context="system_sound"/>
- </group>
- <group>
- <context car:context="navigation"/>
- <context car:context="voice_command"/>
- </group>
-</volumeGroups>
diff --git a/configs/msmsteppe_au/sound_trigger_mixer_paths.xml b/configs/msmsteppe_au/sound_trigger_mixer_paths.xml
index 28cd4db..90de0d3 100644
--- a/configs/msmsteppe_au/sound_trigger_mixer_paths.xml
+++ b/configs/msmsteppe_au/sound_trigger_mixer_paths.xml
@@ -28,14 +28,14 @@
<mixer>
<!-- These are the initial mixer settings -->
- <ctl name="LSM1 Mixer SLIMBUS_5_TX" value="0" />
- <ctl name="LSM2 Mixer SLIMBUS_5_TX" value="0" />
- <ctl name="LSM3 Mixer SLIMBUS_5_TX" value="0" />
- <ctl name="LSM4 Mixer SLIMBUS_5_TX" value="0" />
- <ctl name="LSM5 Mixer SLIMBUS_5_TX" value="0" />
- <ctl name="LSM6 Mixer SLIMBUS_5_TX" value="0" />
- <ctl name="LSM7 Mixer SLIMBUS_5_TX" value="0" />
- <ctl name="LSM8 Mixer SLIMBUS_5_TX" value="0" />
+ <ctl name="LSM1 Mixer TX_CDC_DMA_TX_3" value="0" />
+ <ctl name="LSM2 Mixer TX_CDC_DMA_TX_3" value="0" />
+ <ctl name="LSM3 Mixer TX_CDC_DMA_TX_3" value="0" />
+ <ctl name="LSM4 Mixer TX_CDC_DMA_TX_3" value="0" />
+ <ctl name="LSM5 Mixer TX_CDC_DMA_TX_3" value="0" />
+ <ctl name="LSM6 Mixer TX_CDC_DMA_TX_3" value="0" />
+ <ctl name="LSM7 Mixer TX_CDC_DMA_TX_3" value="0" />
+ <ctl name="LSM8 Mixer TX_CDC_DMA_TX_3" value="0" />
<ctl name="LSM1 Port" value="None" />
<ctl name="LSM2 Port" value="None" />
<ctl name="LSM3 Port" value="None" />
@@ -44,286 +44,184 @@
<ctl name="LSM6 Port" value="None" />
<ctl name="LSM7 Port" value="None" />
<ctl name="LSM8 Port" value="None" />
- <ctl name="SLIMBUS_5_TX LSM Function" value="None" />
- <ctl name="MADONOFF Switch" value="0" />
- <ctl name="MAD Input" value="DMIC1" />
- <ctl name="MAD_SEL MUX" value="SPE" />
- <ctl name="MAD_INP MUX" value="DEC1" />
- <ctl name="MAD_CPE1 Switch" value="0" />
- <ctl name="CDC_IF TX13 MUX" value="ZERO" />
- <ctl name="MAD_BROADCAST Switch" value="0" />
- <ctl name="TX13 INP MUX" value="CDC_DEC_5" />
- <ctl name="AIF4_MAD Mixer SLIM TX12" value="0" />
- <ctl name="AIF4_MAD Mixer SLIM TX13" value="0" />
- <ctl name="CPE AFE MAD Enable" value="0"/>
- <ctl name="CLK MODE" value="EXTERNAL" />
- <ctl name="EC BUF MUX INP" value="ZERO" />
- <ctl name="ADC MUX1" value="DMIC" />
- <ctl name="DMIC MUX1" value="ZERO" />
- <ctl name="AIF1_CAP Mixer SLIM TX8" value="0"/>
- <ctl name="AIF1_CAP Mixer SLIM TX7" value="0" />
- <ctl name="AIF1_CAP Mixer SLIM TX6" value="0" />
- <ctl name="AIF1_CAP Mixer SLIM TX5" value="0"/>
- <ctl name="CDC_IF TX5 MUX" value="ZERO" />
- <ctl name="CDC_IF TX6 MUX" value="ZERO" />
- <ctl name="CDC_IF TX7 MUX" value="ZERO" />
- <ctl name="CDC_IF TX8 MUX" value="ZERO" />
- <ctl name="ADC MUX5" value="AMIC" />
- <ctl name="ADC MUX6" value="AMIC" />
- <ctl name="ADC MUX7" value="AMIC" />
- <ctl name="ADC MUX8" value="AMIC" />
- <ctl name="DMIC MUX5" value="ZERO" />
- <ctl name="DMIC MUX6" value="ZERO" />
- <ctl name="DMIC MUX7" value="ZERO" />
- <ctl name="DMIC MUX8" value="ZERO" />
- <ctl name="IIR0 INP0 MUX" value="ZERO" />
- <ctl name= "ADC MUX0" value="AMIC" />
- <ctl name= "ADC MUX1" value="AMIC" />
- <ctl name= "ADC MUX2" value="AMIC" />
- <ctl name= "DMIC MUX0" value="ZERO" />
- <ctl name= "DMIC MUX2" value="ZERO" />
- <ctl name= "WDMA3 PORT0 MUX" value="RX_MIX_TX0" />
- <ctl name= "WDMA3 PORT1 MUX" value="RX_MIX_TX1" />
- <ctl name= "WDMA3 PORT2 MUX" value="RX_MIX_TX2" />
- <ctl name= "WDMA3 CH0 MUX" value="PORT_0" />
- <ctl name= "WDMA3 CH1 MUX" value="PORT_0" />
- <ctl name= "WDMA3 CH2 MUX" value="PORT_0" />
- <ctl name= "WDMA3_ON_OFF Switch" value="0" />
+ <ctl name="TX_CDC_DMA_TX_3 LSM Function" value="None" />
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
+ <ctl name="TX_AIF1_CAP Mixer DEC0" value="0" />
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="0" />
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="0" />
+ <ctl name="TX_AIF1_CAP Mixer DEC3" value="0" />
+ <ctl name="TX DEC0 MUX" value="MSM_DMIC" />
+ <ctl name="TX DMIC MUX0" value="ZERO" />
+ <ctl name="TX DEC1 MUX" value="MSM_DMIC" />
+ <ctl name="TX DMIC MUX1" value="ZERO" />
+ <ctl name="TX DEC2 MUX" value="MSM_DMIC" />
+ <ctl name="TX DMIC MUX2" value="ZERO" />
+ <ctl name="TX DEC3 MUX" value="MSM_DMIC" />
+ <ctl name="TX DMIC MUX3" value="ZERO" />
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="None"/>
+ <ctl name="EC Reference Channels" value="Zero"/>
+ <ctl name="EC Reference Bit Format" value="0"/>
+ <ctl name="EC Reference SampleRate" value="0"/>
+ <ctl name="TX_DEC0 Volume" value="84" />
+ <ctl name="TX_DEC1 Volume" value="84" />
+ <ctl name="TX_DEC2 Volume" value="84" />
+ <ctl name="TX_DEC3 Volume" value="84" />
<path name="listen-voice-wakeup-1">
- <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
- <ctl name="LSM1 Port" value="SLIMBUS_5_TX" />
- <ctl name="LSM1 Mixer SLIMBUS_5_TX" value="1" />
+ <ctl name="TX_CDC_DMA_TX_3 LSM Function" value="SWAUDIO" />
+ <ctl name="LSM1 Port" value="TX_CDC_DMA_TX_3" />
+ <ctl name="LSM1 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
<path name="listen-voice-wakeup-2">
- <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
- <ctl name="LSM2 Port" value="SLIMBUS_5_TX" />
- <ctl name="LSM2 Mixer SLIMBUS_5_TX" value="1" />
+ <ctl name="TX_CDC_DMA_TX_3 LSM Function" value="SWAUDIO" />
+ <ctl name="LSM2 Port" value="TX_CDC_DMA_TX_3" />
+ <ctl name="LSM2 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
<path name="listen-voice-wakeup-3">
- <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
- <ctl name="LSM3 Port" value="SLIMBUS_5_TX" />
- <ctl name="LSM3 Mixer SLIMBUS_5_TX" value="1" />
+ <ctl name="TX_CDC_DMA_TX_3 LSM Function" value="SWAUDIO" />
+ <ctl name="LSM3 Port" value="TX_CDC_DMA_TX_3" />
+ <ctl name="LSM3 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
<path name="listen-voice-wakeup-4">
- <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
- <ctl name="LSM4 Port" value="SLIMBUS_5_TX" />
- <ctl name="LSM4 Mixer SLIMBUS_5_TX" value="1" />
+ <ctl name="TX_CDC_DMA_TX_3 LSM Function" value="SWAUDIO" />
+ <ctl name="LSM4 Port" value="TX_CDC_DMA_TX_3" />
+ <ctl name="LSM4 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
<path name="listen-voice-wakeup-5">
- <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
- <ctl name="LSM5 Port" value="SLIMBUS_5_TX" />
- <ctl name="LSM5 Mixer SLIMBUS_5_TX" value="1" />
+ <ctl name="TX_CDC_DMA_TX_3 LSM Function" value="SWAUDIO" />
+ <ctl name="LSM5 Port" value="TX_CDC_DMA_TX_3" />
+ <ctl name="LSM5 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
<path name="listen-voice-wakeup-6">
- <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
- <ctl name="LSM6 Port" value="SLIMBUS_5_TX" />
- <ctl name="LSM6 Mixer SLIMBUS_5_TX" value="1" />
+ <ctl name="TX_CDC_DMA_TX_3 LSM Function" value="SWAUDIO" />
+ <ctl name="LSM6 Port" value="TX_CDC_DMA_TX_3" />
+ <ctl name="LSM6 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
<path name="listen-voice-wakeup-7">
- <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
- <ctl name="LSM7 Port" value="SLIMBUS_5_TX" />
- <ctl name="LSM7 Mixer SLIMBUS_5_TX" value="1" />
+ <ctl name="TX_CDC_DMA_TX_3 LSM Function" value="SWAUDIO" />
+ <ctl name="LSM7 Port" value="TX_CDC_DMA_TX_3" />
+ <ctl name="LSM7 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
<path name="listen-voice-wakeup-8">
- <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
- <ctl name="LSM8 Port" value="SLIMBUS_5_TX" />
- <ctl name="LSM8 Mixer SLIMBUS_5_TX" value="1" />
+ <ctl name="TX_CDC_DMA_TX_3 LSM Function" value="SWAUDIO" />
+ <ctl name="LSM8 Port" value="TX_CDC_DMA_TX_3" />
+ <ctl name="LSM8 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
<path name="listen-voice-wakeup-1 preproc">
- <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
+ <ctl name="TX_CDC_DMA_TX_3 LSM Function" value="SWAUDIO" />
<ctl name="LSM1 Port" value="ADM_LSM_TX" />
- <ctl name="LSM1 Mixer SLIMBUS_0_TX" value="1" />
+ <ctl name="LSM1 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
<path name="listen-voice-wakeup-2 preproc">
- <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
+ <ctl name="TX_CDC_DMA_TX_3 LSM Function" value="SWAUDIO" />
<ctl name="LSM2 Port" value="ADM_LSM_TX" />
- <ctl name="LSM2 Mixer SLIMBUS_0_TX" value="1" />
+ <ctl name="LSM2 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
<path name="listen-voice-wakeup-3 preproc">
- <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
+ <ctl name="TX_CDC_DMA_TX_3 LSM Function" value="SWAUDIO" />
<ctl name="LSM3 Port" value="ADM_LSM_TX" />
- <ctl name="LSM3 Mixer SLIMBUS_0_TX" value="1" />
+ <ctl name="LSM3 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
<path name="listen-voice-wakeup-4 preproc">
- <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
+ <ctl name="TX_CDC_DMA_TX_3 LSM Function" value="SWAUDIO" />
<ctl name="LSM4 Port" value="ADM_LSM_TX" />
- <ctl name="LSM4 Mixer SLIMBUS_0_TX" value="1" />
+ <ctl name="LSM4 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
<path name="listen-voice-wakeup-5 preproc">
- <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
+ <ctl name="TX_CDC_DMA_TX_3 LSM Function" value="SWAUDIO" />
<ctl name="LSM5 Port" value="ADM_LSM_TX" />
- <ctl name="LSM5 Mixer SLIMBUS_0_TX" value="1" />
+ <ctl name="LSM5 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
<path name="listen-voice-wakeup-6 preproc">
- <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
+ <ctl name="TX_CDC_DMA_TX_3 LSM Function" value="SWAUDIO" />
<ctl name="LSM6 Port" value="ADM_LSM_TX" />
- <ctl name="LSM6 Mixer SLIMBUS_0_TX" value="1" />
+ <ctl name="LSM6 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
<path name="listen-voice-wakeup-7 preproc">
- <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
+ <ctl name="TX_CDC_DMA_TX_3 LSM Function" value="SWAUDIO" />
<ctl name="LSM7 Port" value="ADM_LSM_TX" />
- <ctl name="LSM7 Mixer SLIMBUS_0_TX" value="1" />
+ <ctl name="LSM7 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
<path name="listen-voice-wakeup-8 preproc">
- <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
+ <ctl name="TX_CDC_DMA_TX_3 LSM Function" value="SWAUDIO" />
<ctl name="LSM8 Port" value="ADM_LSM_TX" />
- <ctl name="LSM8 Mixer SLIMBUS_0_TX" value="1" />
- </path>
-
- <path name="listen-cpe-handset-mic">
- <ctl name="MAD Input" value="DMIC2" />
- <ctl name="MAD_SEL MUX" value="SPE" />
- <ctl name="MAD_INP MUX" value="MAD" />
- <ctl name="MAD_CPE1 Switch" value="1" />
- </path>
-
- <path name="listen-cpe-handset-tmic">
- <ctl name="CLK MODE" value="INTERNAL" />
- <ctl name= "ADC MUX0" value="DMIC" />
- <ctl name= "DMIC MUX0" value="DMIC2" />
- <ctl name= "DEC0 Volume" value="84" />
- <ctl name= "ADC MUX1" value="DMIC" />
- <ctl name= "DMIC MUX1" value="DMIC0" />
- <ctl name= "DEC1 Volume" value="84" />
- <ctl name= "ADC MUX2" value="DMIC" />
- <ctl name= "DMIC MUX2" value="DMIC1" />
- <ctl name= "DEC2 Volume" value="84" />
- <ctl name= "WDMA3 PORT0 MUX" value="DEC0" />
- <ctl name= "WDMA3 PORT1 MUX" value="DEC1" />
- <ctl name= "WDMA3 PORT2 MUX" value="DEC2" />
- <ctl name= "WDMA3 CH0 MUX" value="PORT_0" />
- <ctl name= "WDMA3 CH1 MUX" value="PORT_1" />
- <ctl name= "WDMA3 CH2 MUX" value="PORT_2" />
- <ctl name= "WDMA3_ON_OFF Switch" value="1" />
- </path>
-
- <path name="listen-cpe-handset-qmic">
- <ctl name="CLK MODE" value="INTERNAL" />
- <ctl name= "ADC MUX0" value="DMIC" />
- <ctl name= "DMIC MUX0" value="DMIC2" />
- <ctl name= "DEC0 Volume" value="84" />
- <ctl name= "ADC MUX1" value="DMIC" />
- <ctl name= "DMIC MUX1" value="DMIC0" />
- <ctl name= "DEC1 Volume" value="84" />
- <ctl name= "ADC MUX2" value="DMIC" />
- <ctl name= "DMIC MUX2" value="DMIC1" />
- <ctl name= "DEC2 Volume" value="84" />
- <ctl name= "ADC MUX3" value="DMIC" />
- <ctl name= "DMIC MUX3" value="DMIC3" />
- <ctl name= "DEC3 Volume" value="84" />
- <ctl name= "WDMA3 PORT0 MUX" value="DEC0" />
- <ctl name= "WDMA3 PORT1 MUX" value="DEC1" />
- <ctl name= "WDMA3 PORT2 MUX" value="DEC2" />
- <ctl name= "WDMA3 PORT3 MUX" value="DEC3" />
- <ctl name= "WDMA3 CH0 MUX" value="PORT_0" />
- <ctl name= "WDMA3 CH1 MUX" value="PORT_1" />
- <ctl name= "WDMA3 CH2 MUX" value="PORT_2" />
- <ctl name= "WDMA3 CH3 MUX" value="PORT_3" />
- <ctl name= "WDMA3_ON_OFF Switch" value="1" />
- </path>
-
- <path name="listen-cpe-headset-mic">
- </path>
-
- <path name="listen-cpe-handset-mic-ecpp">
- <ctl name="CLK MODE" value="INTERNAL" />
- <ctl name="EC BUF MUX INP" value="DEC1" />
- <ctl name="ADC MUX1" value="DMIC" />
- <ctl name="DMIC MUX1" value="DMIC2" />
- </path>
-
- <!-- path name used for low bandwidth FTRT codec interface -->
- <path name="listen-cpe-handset-mic low-speed-intf">
- <ctl name="MADONOFF Switch" value="1" />
- <ctl name="AIF4_MAD Mixer SLIM TX12" value="1" />
- <ctl name="MAD Input" value="DMIC2" />
- <ctl name="CPE AFE MAD Enable" value="1"/>
+ <ctl name="LSM8 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
<path name="listen-ape-handset-mic">
- <ctl name="MAD Input" value="DMIC2" />
- <ctl name="MAD_SEL MUX" value="MSM" />
- <ctl name="MAD_INP MUX" value="MAD" />
- <ctl name="MAD_BROADCAST Switch" value="1" />
- <ctl name="CDC_IF TX13 MUX" value="MAD_BRDCST" />
- <ctl name="AIF4_MAD Mixer SLIM TX13" value="1" />
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
+ <ctl name="TX_AIF1_CAP Mixer DEC0" value="1" />
+ <ctl name="TX_DEC0 Volume" value="102" />
+ <ctl name="TX DMIC MUX0" value="DMIC2" />
</path>
<path name="listen-ape-handset-mic-preproc">
- <ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
- <ctl name="SLIM_0_TX Channels" value="One" />
- <ctl name="CDC_IF TX7 MUX" value="DEC7" />
- <ctl name="ADC MUX7" value="DMIC" />
- <ctl name="DMIC MUX7" value="DMIC2" />
- <ctl name="IIR0 INP0 MUX" value="DEC7" />
+ <path name="listen-ape-handset-mic"/>
</path>
<path name="listen-ape-handset-dmic">
- <ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
- <ctl name="AIF1_CAP Mixer SLIM TX8" value="1" />
- <ctl name="CDC_IF TX7 MUX" value="DEC7" />
- <ctl name="ADC MUX7" value="DMIC" />
- <ctl name="DMIC MUX7" value="DMIC1" />
- <ctl name="CDC_IF TX8 MUX" value="DEC8" />
- <ctl name="ADC MUX8" value="DMIC" />
- <ctl name="DMIC MUX8" value="DMIC5" />
- <ctl name="SLIM_0_TX Channels" value="Two" />
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Two" />
+ <ctl name="TX_AIF1_CAP Mixer DEC0" value="1" />
+ <ctl name="TX_DEC0 Volume" value="102" />
+ <ctl name="TX_DEC1 Volume" value="102" />
+ <ctl name="TX DMIC MUX0" value="DMIC2" />
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
+ <ctl name="TX DMIC MUX1" value="DMIC3" />
</path>
<path name="listen-ape-handset-tmic">
- <ctl name="AIF1_CAP Mixer SLIM TX5" value="1" />
- <ctl name="AIF1_CAP Mixer SLIM TX6" value="1" />
- <ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
- <ctl name="SLIM_0_TX Channels" value="Three" />
- <ctl name="CDC_IF TX5 MUX" value="DEC5" />
- <ctl name="ADC MUX5" value="DMIC" />
- <ctl name="DMIC MUX5" value="DMIC1" />
- <ctl name="CDC_IF TX6 MUX" value="DEC6" />
- <ctl name="ADC MUX6" value="DMIC" />
- <ctl name="DMIC MUX6" value="DMIC5" />
- <ctl name="CDC_IF TX7 MUX" value="DEC7" />
- <ctl name="ADC MUX7" value="DMIC" />
- <ctl name="DMIC MUX7" value="DMIC2" />
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Three" />
+ <ctl name="TX_AIF1_CAP Mixer DEC0" value="1" />
+ <ctl name="TX_DEC0 Volume" value="102" />
+ <ctl name="TX_DEC1 Volume" value="102" />
+ <ctl name="TX_DEC2 Volume" value="102" />
+ <ctl name="TX DMIC MUX0" value="DMIC2" />
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
+ <ctl name="TX DMIC MUX1" value="DMIC0" />
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
+ <ctl name="TX DMIC MUX2" value="DMIC3" />
</path>
<path name="listen-ape-handset-qmic">
- <ctl name="AIF1_CAP Mixer SLIM TX5" value="1" />
- <ctl name="AIF1_CAP Mixer SLIM TX6" value="1" />
- <ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
- <ctl name="AIF1_CAP Mixer SLIM TX8" value="1" />
- <ctl name="SLIM_0_TX Channels" value="Four" />
- <ctl name="CDC_IF TX5 MUX" value="DEC5" />
- <ctl name="ADC MUX5" value="DMIC" />
- <ctl name="DMIC MUX5" value="DMIC1" />
- <ctl name="CDC_IF TX6 MUX" value="DEC6" />
- <ctl name="ADC MUX6" value="DMIC" />
- <ctl name="DMIC MUX6" value="DMIC5" />
- <ctl name="CDC_IF TX7 MUX" value="DEC7" />
- <ctl name="ADC MUX7" value="DMIC" />
- <ctl name="DMIC MUX7" value="DMIC2" />
- <ctl name="CDC_IF TX8 MUX" value="DEC8" />
- <ctl name="ADC MUX8" value="DMIC" />
- <ctl name="DMIC MUX8" value="DMIC0" />
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Four" />
+ <ctl name="TX_AIF1_CAP Mixer DEC0" value="1" />
+ <ctl name="TX_DEC0 Volume" value="102" />
+ <ctl name="TX_DEC1 Volume" value="102" />
+ <ctl name="TX_DEC2 Volume" value="102" />
+ <ctl name="TX_DEC3 Volume" value="102" />
+ <ctl name="TX DMIC MUX0" value="DMIC2" />
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
+ <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_AIF1_CAP Mixer DEC3" value="1" />
+ <ctl name="TX DMIC MUX3" value="DMIC1" />
</path>
<path name="echo-reference">
- <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_RX"/>
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="Two"/>
+ <ctl name="EC Reference Bit Format" value="S16_LE"/>
+ <ctl name="EC Reference SampleRate" value="48000"/>
+ </path>
+
+ <path name="echo-reference a2dp">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_7_RX"/>
<ctl name="EC Reference Channels" value="Two"/>
<ctl name="EC Reference Bit Format" value="S16_LE"/>
<ctl name="EC Reference SampleRate" value="48000"/>
diff --git a/configs/msmsteppe_au/sound_trigger_mixer_paths_wcd9340.xml b/configs/msmsteppe_au/sound_trigger_mixer_paths_wcd9340.xml
deleted file mode 100644
index 1e3d4e7..0000000
--- a/configs/msmsteppe_au/sound_trigger_mixer_paths_wcd9340.xml
+++ /dev/null
@@ -1,358 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--- Copyright (c) 2014-2018, The Linux Foundation. All rights reserved. -->
-<!--- -->
-<!--- Redistribution and use in source and binary forms, with or without -->
-<!--- modification, are permitted provided that the following conditions are -->
-<!--- met: -->
-<!--- * Redistributions of source code must retain the above copyright -->
-<!--- notice, this list of conditions and the following disclaimer. -->
-<!--- * Redistributions in binary form must reproduce the above -->
-<!--- copyright notice, this list of conditions and the following -->
-<!--- disclaimer in the documentation and/or other materials provided -->
-<!--- with the distribution. -->
-<!--- * Neither the name of The Linux Foundation nor the names of its -->
-<!--- contributors may be used to endorse or promote products derived -->
-<!--- from this software without specific prior written permission. -->
-<!--- -->
-<!--- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
-<!--- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
-<!--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
-<!--- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
-<!--- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
-<!--- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
-<!--- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
-<!--- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
-<!--- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -->
-<!--- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
-<!--- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
-
-<mixer>
- <!-- These are the initial mixer settings -->
- <ctl name="LSM1 Mixer SLIMBUS_5_TX" value="0" />
- <ctl name="LSM2 Mixer SLIMBUS_5_TX" value="0" />
- <ctl name="LSM3 Mixer SLIMBUS_5_TX" value="0" />
- <ctl name="LSM4 Mixer SLIMBUS_5_TX" value="0" />
- <ctl name="LSM5 Mixer SLIMBUS_5_TX" value="0" />
- <ctl name="LSM6 Mixer SLIMBUS_5_TX" value="0" />
- <ctl name="LSM7 Mixer SLIMBUS_5_TX" value="0" />
- <ctl name="LSM8 Mixer SLIMBUS_5_TX" value="0" />
- <ctl name="LSM1 Port" value="None" />
- <ctl name="LSM2 Port" value="None" />
- <ctl name="LSM3 Port" value="None" />
- <ctl name="LSM4 Port" value="None" />
- <ctl name="LSM5 Port" value="None" />
- <ctl name="LSM6 Port" value="None" />
- <ctl name="LSM7 Port" value="None" />
- <ctl name="LSM8 Port" value="None" />
- <ctl name="SLIMBUS_5_TX LSM Function" value="None" />
- <ctl name="MADONOFF Switch" value="0" />
- <ctl name="MAD Input" value="DMIC1" />
- <ctl name="MAD_SEL MUX" value="SPE" />
- <ctl name="MAD_INP MUX" value="DEC1" />
- <ctl name="MAD_CPE1 Switch" value="0" />
- <ctl name="CDC_IF TX13 MUX" value="ZERO" />
- <ctl name="MAD_BROADCAST Switch" value="0" />
- <ctl name="TX13 INP MUX" value="CDC_DEC_5" />
- <ctl name="AIF4_MAD Mixer SLIM TX12" value="0" />
- <ctl name="AIF4_MAD Mixer SLIM TX13" value="0" />
- <ctl name="CPE AFE MAD Enable" value="0"/>
- <ctl name="CLK MODE" value="EXTERNAL" />
- <ctl name="EC BUF MUX INP" value="ZERO" />
- <ctl name="ADC MUX1" value="DMIC" />
- <ctl name="DMIC MUX1" value="ZERO" />
- <ctl name="AIF1_CAP Mixer SLIM TX8" value="0"/>
- <ctl name="AIF1_CAP Mixer SLIM TX7" value="0" />
- <ctl name="AIF1_CAP Mixer SLIM TX6" value="0" />
- <ctl name="AIF1_CAP Mixer SLIM TX5" value="0"/>
- <ctl name="CDC_IF TX5 MUX" value="ZERO" />
- <ctl name="CDC_IF TX6 MUX" value="ZERO" />
- <ctl name="CDC_IF TX7 MUX" value="ZERO" />
- <ctl name="CDC_IF TX8 MUX" value="ZERO" />
- <ctl name="ADC MUX5" value="AMIC" />
- <ctl name="ADC MUX6" value="AMIC" />
- <ctl name="ADC MUX7" value="AMIC" />
- <ctl name="ADC MUX8" value="AMIC" />
- <ctl name="DMIC MUX5" value="ZERO" />
- <ctl name="DMIC MUX6" value="ZERO" />
- <ctl name="DMIC MUX7" value="ZERO" />
- <ctl name="DMIC MUX8" value="ZERO" />
- <ctl name="IIR0 INP0 MUX" value="ZERO" />
- <ctl name= "ADC MUX0" value="AMIC" />
- <ctl name= "ADC MUX1" value="AMIC" />
- <ctl name= "ADC MUX2" value="AMIC" />
- <ctl name= "DMIC MUX0" value="ZERO" />
- <ctl name= "DMIC MUX2" value="ZERO" />
- <ctl name= "WDMA3 PORT0 MUX" value="RX_MIX_TX0" />
- <ctl name= "WDMA3 PORT1 MUX" value="RX_MIX_TX1" />
- <ctl name= "WDMA3 PORT2 MUX" value="RX_MIX_TX2" />
- <ctl name= "WDMA3 CH0 MUX" value="PORT_0" />
- <ctl name= "WDMA3 CH1 MUX" value="PORT_0" />
- <ctl name= "WDMA3 CH2 MUX" value="PORT_0" />
- <ctl name= "WDMA3_ON_OFF Switch" value="0" />
-
- <path name="listen-voice-wakeup-1">
- <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
- <ctl name="LSM1 Port" value="SLIMBUS_5_TX" />
- <ctl name="LSM1 Mixer SLIMBUS_5_TX" value="1" />
- </path>
-
- <path name="listen-voice-wakeup-2">
- <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
- <ctl name="LSM2 Port" value="SLIMBUS_5_TX" />
- <ctl name="LSM2 Mixer SLIMBUS_5_TX" value="1" />
- </path>
-
- <path name="listen-voice-wakeup-3">
- <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
- <ctl name="LSM3 Port" value="SLIMBUS_5_TX" />
- <ctl name="LSM3 Mixer SLIMBUS_5_TX" value="1" />
- </path>
-
- <path name="listen-voice-wakeup-4">
- <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
- <ctl name="LSM4 Port" value="SLIMBUS_5_TX" />
- <ctl name="LSM4 Mixer SLIMBUS_5_TX" value="1" />
- </path>
-
- <path name="listen-voice-wakeup-5">
- <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
- <ctl name="LSM5 Port" value="SLIMBUS_5_TX" />
- <ctl name="LSM5 Mixer SLIMBUS_5_TX" value="1" />
- </path>
-
- <path name="listen-voice-wakeup-6">
- <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
- <ctl name="LSM6 Port" value="SLIMBUS_5_TX" />
- <ctl name="LSM6 Mixer SLIMBUS_5_TX" value="1" />
- </path>
-
- <path name="listen-voice-wakeup-7">
- <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
- <ctl name="LSM7 Port" value="SLIMBUS_5_TX" />
- <ctl name="LSM7 Mixer SLIMBUS_5_TX" value="1" />
- </path>
-
- <path name="listen-voice-wakeup-8">
- <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
- <ctl name="LSM8 Port" value="SLIMBUS_5_TX" />
- <ctl name="LSM8 Mixer SLIMBUS_5_TX" value="1" />
- </path>
-
- <path name="listen-voice-wakeup-1 preproc">
- <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
- <ctl name="LSM1 Port" value="ADM_LSM_TX" />
- <ctl name="LSM1 Mixer SLIMBUS_0_TX" value="1" />
- </path>
-
- <path name="listen-voice-wakeup-2 preproc">
- <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
- <ctl name="LSM2 Port" value="ADM_LSM_TX" />
- <ctl name="LSM2 Mixer SLIMBUS_0_TX" value="1" />
- </path>
-
- <path name="listen-voice-wakeup-3 preproc">
- <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
- <ctl name="LSM3 Port" value="ADM_LSM_TX" />
- <ctl name="LSM3 Mixer SLIMBUS_0_TX" value="1" />
- </path>
-
- <path name="listen-voice-wakeup-4 preproc">
- <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
- <ctl name="LSM4 Port" value="ADM_LSM_TX" />
- <ctl name="LSM4 Mixer SLIMBUS_0_TX" value="1" />
- </path>
-
- <path name="listen-voice-wakeup-5 preproc">
- <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
- <ctl name="LSM5 Port" value="ADM_LSM_TX" />
- <ctl name="LSM5 Mixer SLIMBUS_0_TX" value="1" />
- </path>
-
- <path name="listen-voice-wakeup-6 preproc">
- <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
- <ctl name="LSM6 Port" value="ADM_LSM_TX" />
- <ctl name="LSM6 Mixer SLIMBUS_0_TX" value="1" />
- </path>
-
- <path name="listen-voice-wakeup-7 preproc">
- <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
- <ctl name="LSM7 Port" value="ADM_LSM_TX" />
- <ctl name="LSM7 Mixer SLIMBUS_0_TX" value="1" />
- </path>
-
- <path name="listen-voice-wakeup-8 preproc">
- <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
- <ctl name="LSM8 Port" value="ADM_LSM_TX" />
- <ctl name="LSM8 Mixer SLIMBUS_0_TX" value="1" />
- </path>
-
- <path name="listen-cpe-handset-mic">
- <ctl name="MAD Input" value="DMIC2" />
- <ctl name="MAD_SEL MUX" value="SPE" />
- <ctl name="MAD_INP MUX" value="MAD" />
- <ctl name="MAD_CPE1 Switch" value="1" />
- </path>
-
- <path name="listen-cpe-handset-dmic">
- <ctl name="CLK MODE" value="INTERNAL" />
- <ctl name= "ADC MUX0" value="DMIC" />
- <ctl name= "DMIC MUX0" value="DMIC2" />
- <ctl name= "DEC0 Volume" value="84" />
- <ctl name= "ADC MUX1" value="DMIC" />
- <ctl name= "DMIC MUX1" value="DMIC0" />
- <ctl name= "DEC1 Volume" value="84" />
- <ctl name= "WDMA3 PORT0 MUX" value="DEC0" />
- <ctl name= "WDMA3 PORT1 MUX" value="DEC1" />
- <ctl name= "WDMA3 CH0 MUX" value="PORT_0" />
- <ctl name= "WDMA3 CH1 MUX" value="PORT_1" />
- <ctl name= "WDMA3_ON_OFF Switch" value="1" />
- </path>
-
- <path name="listen-cpe-handset-tmic">
- <ctl name="CLK MODE" value="INTERNAL" />
- <ctl name= "ADC MUX0" value="DMIC" />
- <ctl name= "DMIC MUX0" value="DMIC2" />
- <ctl name= "DEC0 Volume" value="84" />
- <ctl name= "ADC MUX1" value="DMIC" />
- <ctl name= "DMIC MUX1" value="DMIC0" />
- <ctl name= "DEC1 Volume" value="84" />
- <ctl name= "ADC MUX2" value="DMIC" />
- <ctl name= "DMIC MUX2" value="DMIC1" />
- <ctl name= "DEC2 Volume" value="84" />
- <ctl name= "WDMA3 PORT0 MUX" value="DEC0" />
- <ctl name= "WDMA3 PORT1 MUX" value="DEC1" />
- <ctl name= "WDMA3 PORT2 MUX" value="DEC2" />
- <ctl name= "WDMA3 CH0 MUX" value="PORT_0" />
- <ctl name= "WDMA3 CH1 MUX" value="PORT_1" />
- <ctl name= "WDMA3 CH2 MUX" value="PORT_2" />
- <ctl name= "WDMA3_ON_OFF Switch" value="1" />
- </path>
-
- <path name="listen-cpe-handset-qmic">
- <ctl name="CLK MODE" value="INTERNAL" />
- <ctl name= "ADC MUX0" value="DMIC" />
- <ctl name= "DMIC MUX0" value="DMIC2" />
- <ctl name= "DEC0 Volume" value="84" />
- <ctl name= "ADC MUX1" value="DMIC" />
- <ctl name= "DMIC MUX1" value="DMIC0" />
- <ctl name= "DEC1 Volume" value="84" />
- <ctl name= "ADC MUX2" value="DMIC" />
- <ctl name= "DMIC MUX2" value="DMIC1" />
- <ctl name= "DEC2 Volume" value="84" />
- <ctl name= "ADC MUX3" value="DMIC" />
- <ctl name= "DMIC MUX3" value="DMIC3" />
- <ctl name= "DEC3 Volume" value="84" />
- <ctl name= "WDMA3 PORT0 MUX" value="DEC0" />
- <ctl name= "WDMA3 PORT1 MUX" value="DEC1" />
- <ctl name= "WDMA3 PORT2 MUX" value="DEC2" />
- <ctl name= "WDMA3 PORT3 MUX" value="DEC3" />
- <ctl name= "WDMA3 CH0 MUX" value="PORT_0" />
- <ctl name= "WDMA3 CH1 MUX" value="PORT_1" />
- <ctl name= "WDMA3 CH2 MUX" value="PORT_2" />
- <ctl name= "WDMA3 CH3 MUX" value="PORT_3" />
- <ctl name= "WDMA3_ON_OFF Switch" value="1" />
- </path>
-
- <path name="listen-cpe-headset-mic">
- <ctl name="MAD Input" value="ADC2" />
- <ctl name="MAD_SEL MUX" value="SPE" />
- <ctl name="MAD_INP MUX" value="MAD" />
- <ctl name="MAD_CPE1 Switch" value="1" />
- </path>
-
- <path name="listen-cpe-handset-mic-ecpp">
- <ctl name="CLK MODE" value="INTERNAL" />
- <ctl name="EC BUF MUX INP" value="DEC1" />
- <ctl name="ADC MUX1" value="DMIC" />
- <ctl name="DMIC MUX1" value="DMIC2" />
- </path>
-
- <!-- path name used for low bandwidth FTRT codec interface -->
- <path name="listen-cpe-handset-mic low-speed-intf">
- <ctl name="MADONOFF Switch" value="1" />
- <ctl name="AIF4_MAD Mixer SLIM TX12" value="1" />
- <ctl name="MAD Input" value="DMIC2" />
- <ctl name="CPE AFE MAD Enable" value="1"/>
- </path>
-
- <path name="listen-ape-handset-mic">
- <ctl name="MAD Input" value="DMIC2" />
- <ctl name="MAD_SEL MUX" value="MSM" />
- <ctl name="MAD_INP MUX" value="MAD" />
- <ctl name="MAD_BROADCAST Switch" value="1" />
- <ctl name="CDC_IF TX13 MUX" value="MAD_BRDCST" />
- <ctl name="AIF4_MAD Mixer SLIM TX13" value="1" />
- </path>
-
- <path name="listen-ape-handset-mic-preproc">
- <ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
- <ctl name="SLIM_0_TX Channels" value="One" />
- <ctl name="CDC_IF TX7 MUX" value="DEC7" />
- <ctl name="ADC MUX7" value="DMIC" />
- <ctl name="DMIC MUX7" value="DMIC2" />
- <ctl name="IIR0 INP0 MUX" value="DEC7" />
- </path>
-
- <path name="listen-ape-handset-dmic">
- <ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
- <ctl name="AIF1_CAP Mixer SLIM TX8" value="1" />
- <ctl name="CDC_IF TX7 MUX" value="DEC7" />
- <ctl name="ADC MUX7" value="DMIC" />
- <ctl name="DMIC MUX7" value="DMIC1" />
- <ctl name="CDC_IF TX8 MUX" value="DEC8" />
- <ctl name="ADC MUX8" value="DMIC" />
- <ctl name="DMIC MUX8" value="DMIC5" />
- <ctl name="SLIM_0_TX Channels" value="Two" />
- </path>
-
- <path name="listen-ape-handset-tmic">
- <ctl name="AIF1_CAP Mixer SLIM TX5" value="1" />
- <ctl name="AIF1_CAP Mixer SLIM TX6" value="1" />
- <ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
- <ctl name="SLIM_0_TX Channels" value="Three" />
- <ctl name="CDC_IF TX5 MUX" value="DEC5" />
- <ctl name="ADC MUX5" value="DMIC" />
- <ctl name="DMIC MUX5" value="DMIC1" />
- <ctl name="CDC_IF TX6 MUX" value="DEC6" />
- <ctl name="ADC MUX6" value="DMIC" />
- <ctl name="DMIC MUX6" value="DMIC5" />
- <ctl name="CDC_IF TX7 MUX" value="DEC7" />
- <ctl name="ADC MUX7" value="DMIC" />
- <ctl name="DMIC MUX7" value="DMIC2" />
- </path>
-
- <path name="listen-ape-handset-qmic">
- <ctl name="AIF1_CAP Mixer SLIM TX5" value="1" />
- <ctl name="AIF1_CAP Mixer SLIM TX6" value="1" />
- <ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
- <ctl name="AIF1_CAP Mixer SLIM TX8" value="1" />
- <ctl name="SLIM_0_TX Channels" value="Four" />
- <ctl name="CDC_IF TX5 MUX" value="DEC5" />
- <ctl name="ADC MUX5" value="DMIC" />
- <ctl name="DMIC MUX5" value="DMIC1" />
- <ctl name="CDC_IF TX6 MUX" value="DEC6" />
- <ctl name="ADC MUX6" value="DMIC" />
- <ctl name="DMIC MUX6" value="DMIC5" />
- <ctl name="CDC_IF TX7 MUX" value="DEC7" />
- <ctl name="ADC MUX7" value="DMIC" />
- <ctl name="DMIC MUX7" value="DMIC2" />
- <ctl name="CDC_IF TX8 MUX" value="DEC8" />
- <ctl name="ADC MUX8" value="DMIC" />
- <ctl name="DMIC MUX8" value="DMIC0" />
- </path>
-
- <path name="echo-reference">
- <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_RX"/>
- <ctl name="EC Reference Channels" value="Two"/>
- <ctl name="EC Reference Bit Format" value="S16_LE"/>
- <ctl name="EC Reference SampleRate" value="48000"/>
- </path>
-
- <path name="echo-reference a2dp">
- <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_7_RX"/>
- <ctl name="EC Reference Channels" value="Two"/>
- <ctl name="EC Reference Bit Format" value="S16_LE"/>
- <ctl name="EC Reference SampleRate" value="48000"/>
- </path>
-
-</mixer>
diff --git a/configs/msmsteppe_au/sound_trigger_platform_info.xml b/configs/msmsteppe_au/sound_trigger_platform_info.xml
index 234fcd1..a85a180 100644
--- a/configs/msmsteppe_au/sound_trigger_platform_info.xml
+++ b/configs/msmsteppe_au/sound_trigger_platform_info.xml
@@ -33,8 +33,8 @@
<!--- the gcs_usecase with the acdb device that uses it. -->
<!--- 0x0103: app_type and in_channels added to <lsm usecase> and out_channels -->
<!--- added to <adm_config> -->
-
<common_config>
+ <param implementer_version="0x0100" />
<param max_cpe_sessions="1" />
<param max_wdsp_sessions="2" />
<param max_ape_sessions="8" />
@@ -45,31 +45,34 @@
<param transit_to_adsp_on_battery_charging="false" />
<!-- Below backend params must match with port used in mixer path file -->
<!-- param used to configure backend sample rate, format and channels -->
+ <!-- uncomment TX_CDC_DMA_TX_3 values for internal codec and comment SLIM_0_TX values -->
<param backend_port_name="SLIM_0_TX" />
+ <!-- param backend_port_name="TX_CDC_DMA_TX_3" /-->
<!-- Param used to match and obtain device backend index -->
<param backend_dai_name="SLIMBUS_0_TX" />
+ <!-- param backend_dai_name="TX_CDC_DMA_TX_3" /-->
+
</common_config>
<acdb_ids>
+ <!--For internal codec please enable below device-->
+ <!--param DEVICE_HANDSET_MIC_APE="130" /-->
<param DEVICE_HANDSET_MIC_APE="100" />
<param DEVICE_HANDSET_MIC_CPE="128" />
<param DEVICE_HANDSET_MIC_ECPP_CPE="128" />
<param DEVICE_HANDSET_TMIC_CPE="130" />
- <param DEVICE_HANDSET_TMIC_APE="157" />
<param DEVICE_HANDSET_MIC_PP_APE="135" />
<param DEVICE_HANDSET_QMIC_APE="137" />
<param DEVICE_HEADSET_MIC_CPE="139" />
<param DEVICE_HANDSET_DMIC_APE="149" />
- <param DEVICE_HANDSET_DMIC_CPE="148" />
+ <param DEVICE_HANDSET_DMIC_CPE="153" />
+ <param DEVICE_HANDSET_TMIC_APE="157" />
</acdb_ids>
-
<!-- Multiple sound_model_config tags can be listed, each with unique -->
<!-- vendor_uuid. The below tag represents QTI SVA engine sound model -->
<!-- configuration. ISV must use their own unique vendor_uuid. -->
-
- <!-- QTI SVA -->
<sound_model_config>
<param vendor_uuid="68ab2d40-e860-11e3-95ef-0002a5d5c51b" />
- <param execution_type="DYNAMIC" /> <!-- value: "WDSP" "ADSP" "DYNAMIC" -->
+ <param execution_type="WDSP" /> <!-- value: "WDSP" "ADSP" "DYNAMIC" -->
<param library="libsmwrapper.so" />
<param max_cpe_phrases="6" />
<param max_cpe_users="3" />
@@ -79,13 +82,11 @@
<param sample_rate="16000" />
<param bit_width="16" />
<param out_channels="1"/> <!-- Module output channels -->
-
<!-- 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="FFECNS" />
- <!-- fluence_type: "FLUENCE", "FLUENCE_DMIC", "FLUENCE_TMIC" -->
- <!-- "FLUENCE_QMIC". Param value is valid when adm_cfg_profile -->
- <!-- is one of FLUENCE, FLUENCE_STEREO, FFECNS values -->
+ <!-- fluence_type: "FLUENCE", "FLUENCE_DMIC", "FLUENCE_TMIC", -->
+ <!-- "FLUENCE_QMIC". param value is valid when adm_cfg_profile="FLUENCE"-->
<param fluence_type="FLUENCE_TMIC" />
<!-- wdsp_fluence_type: fluence disabled: "NONE" -->
<!-- fluence enabled: "FLUENCE_DMIC", "FLUENCE_TMIC", "FLUENCE_QMIC" -->
@@ -113,22 +114,20 @@
<!-- module_id, instance_id, param_id -->
<param load_sound_model_ids="0x00012C0D, 0x2, 0x00012C14" />
<param confidence_levels_ids="0x00012C0D, 0x2, 0x00012C28" />
- <param detection_event_ids="0x00012C0D, 0x2, 0x00012B05" />
+ <param detection_event_ids="0x00012C0D, 0x2, 0x00012C29" />
<param read_cmd_ids="0x00020013, 0x2, 0x00020015" />
<param read_rsp_ids="0x00020013, 0x2, 0x00020016" />
<param custom_config_ids="0x00012C0D, 0x2, 0x00012C20" />
- <param det_event_type_ids="0x00012C0D, 0x2, 0x00012C2A" />
</gcs_usecase>
<gcs_usecase>
<param uid="0x2" />
<param acdb_devices="DEVICE_HANDSET_MIC_CPE, DEVICE_HANDSET_TMIC_CPE, DEVICE_HEADSET_MIC_CPE" />
<param load_sound_model_ids="0x00012C0D, 0x3, 0x00012C14" />
<param confidence_levels_ids="0x00012C0D, 0x3, 0x00012C28" />
- <param detection_event_ids="0x00012C0D, 0x3, 0x00012B05" />
+ <param detection_event_ids="0x00012C0D, 0x3, 0x00012C29" />
<param read_cmd_ids="0x00020013, 0x3, 0x00020015" />
<param read_rsp_ids="0x00020013, 0x3, 0x00020016" />
<param custom_config_ids="0x00012C0D, 0x3, 0x00012C20" />
- <param det_event_type_ids="0x00012C0D, 0x3, 0x00012C2A" />
</gcs_usecase>
<gcs_usecase>
<param uid="0x7" />
@@ -166,7 +165,15 @@
<param operation_mode_ids="0x00012C1C, 0x00012C02" />
<param polling_enable_ids="0x00012C1C, 0x00012C1B" />
<param custom_config_ids="0x00012C1C, 0x00012C20" />
- <param det_event_type_ids="0x00012C1C, 0x00012C2C" />
+ </lsm_usecase>
+
+ <lsm_usecase>
+ <param execution_mode="WDSP" />
+ <param load_sound_model_ids="0x00012C0D, 0x00012C14" />
+ <param unload_sound_model_ids="0x00012C0D, 0x00012C15" />
+ <param confidence_levels_ids="0x00012C0D, 0x00012C07" />
+ <param operation_mode_ids="0x00012C0D, 0x00012C02" />
+ <param custom_config_ids="0x00012C0D, 0x00012C20" />
</lsm_usecase>
<!-- format: "ADPCM_packet" or "PCM_packet" !-->
@@ -180,7 +187,7 @@
<!-- QTI Music Detection !-->
<sound_model_config>
<param vendor_uuid="876c1b46-9d4d-40cc-a4fd-4d5ec7a80e47" />
- <param execution_type="WDSP" /> <!-- value: "WDSP" "ADSP" "DYNAMIC" -->
+ <param execution_type="ADSP" /> <!-- value: "WDSP" "ADSP" "DYNAMIC" -->
<param library="libsmwrapper.so" />
<param max_cpe_phrases="1" />
<param max_cpe_users="1" />
@@ -235,7 +242,7 @@
<param client_capture_read_delay="2000" />
</sound_model_config>
- <!-- Google Hotword -->
+<!-- Sound model config for Hotword !-->
<sound_model_config>
<param vendor_uuid="7038ddc8-30f2-11e6-b0ac-40a8f03d3f15" />
<param execution_type="WDSP" /> <!-- value: "WDSP" "ADSP" "DYNAMIC" -->
@@ -251,36 +258,36 @@
<!-- 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" />
- <!-- fluence_type: "FLUENCE", "FLUENCE_DMIC", "FLUENCE_TMIC" -->
- <!-- "FLUENCE_QMIC". Param value is valid when adm_cfg_profile -->
- <!-- is one of FLUENCE, FLUENCE_STEREO, FFECNS values -->
+ <!-- fluence_type: "FLUENCE", "FLUENCE_DMIC", "FLUENCE_TMIC", -->
+ <!-- "FLUENCE_QMIC". param value is valid when adm_cfg_profile="FLUENCE"-->
<param fluence_type="FLUENCE_DMIC" />
<!-- wdsp_fluence_type: fluence disabled: "NONE" -->
- <!-- fluence enabled: "FLUENCE_DMIC", "FLUENCE_QMIC" -->
+ <!-- fluence enabled: "FLUENCE_DMIC", "FLUENCE_TMIC", "FLUENCE_QMIC" -->
<param wdsp_fluence_type="NONE" />
<gcs_usecase>
<param uid="0x3" />
- <param acdb_devices="DEVICE_HANDSET_MIC_CPE" />
- <param load_sound_model_ids="0x18000001, 0x4, 0x18000100" />
- <param start_engine_ids="0x18000001, 0x4, 0x18000101" />
+ <param acdb_devices="DEVICE_HANDSET_MIC_CPE, DEVICE_HANDSET_TMIC_CPE" />
+ <param load_sound_model_ids="0x18000001, 0x4, 0x00012C14" />
<param confidence_levels_ids="0x18000001, 0x4, 0x00012C28" />
<param detection_event_ids="0x18000001, 0x4, 0x00012C29" />
- <param custom_config_ids="0x18000001, 0x4, 0x00012C20" />
<param read_cmd_ids="0x00020013, 0x4, 0x00020015" />
<param read_rsp_ids="0x00020013, 0x4, 0x00020016" />
+ <param custom_config_ids="0x18000001, 0x4, 0x00012C20" />
</gcs_usecase>
<gcs_usecase>
<param uid="0x4" />
<param acdb_devices="DEVICE_HANDSET_DMIC_CPE" />
- <param load_sound_model_ids="0x18000001, 0x5, 0x18000100" />
- <param start_engine_ids="0x18000001, 0x5, 0x18000101" />
+ <param load_sound_model_ids="0x18000001, 0x5, 0x00012C14" />
<param confidence_levels_ids="0x18000001, 0x5, 0x00012C28" />
<param detection_event_ids="0x18000001, 0x5, 0x00012C29" />
- <param custom_config_ids="0x18000001, 0x5, 0x00012C20" />
<param read_cmd_ids="0x00020013, 0x5, 0x00020015" />
<param read_rsp_ids="0x00020013, 0x5, 0x00020016" />
+ <param custom_config_ids="0x18000001, 0x5, 0x00012C20" />
</gcs_usecase>
-
+ <!-- Module and param ids with which the algorithm is integrated
+ in non-graphite firmware (note these must come after gcs params)
+ Extends flexibility to have different ids based on execution type.
+ valid execution_type values: "WDSP" "ADSP" -->
<lsm_usecase>
<param execution_mode="ADSP" />
<param app_type="3" /> <!-- app type used in ACDB -->
@@ -293,35 +300,20 @@
<param custom_config_ids="0x18000001, 0x00012C20" />
</lsm_usecase>
+ <lsm_usecase>
+ <param execution_mode="WDSP" />
+ <param load_sound_model_ids="0x18000001, 0x00012C14" />
+ <param unload_sound_model_ids="0x18000001, 0x00012C15" />
+ <param confidence_levels_ids="0x18000001, 0x00012C07" />
+ <param operation_mode_ids="0x18000001, 0x00012C02" />
+ <param custom_config_ids="0x18000001, 0x00012C20" />
+ </lsm_usecase>
+
<!-- format: "ADPCM_packet" or "PCM_packet" !-->
<!-- transfer_mode: "FTRT" or "RT" -->
<!-- kw_duration is in milli seconds. It is valid only for FTRT
transfer mode -->
- <param capture_keyword="PCM_raw, FTRT, 2000" />
- <param client_capture_read_delay="2000" />
- </sound_model_config>
-
- <!-- Google Music Detection -->
- <sound_model_config>
- <param vendor_uuid="9f6ad62a-1f0b-11e7-87c5-40a8f03d3f15" />
- <param execution_type="WDSP" /> <!-- value: "WDSP" "ADSP" "DYNAMIC" -->
- <param library="none" />
- <!-- fluence enabled: "FLUENCE_DMIC", "FLUENCE_QMIC" -->
- <param wdsp_fluence_type="NONE" />
- <gcs_usecase>
- <param uid="0x6" />
- <param acdb_devices="DEVICE_HANDSET_MIC_CPE" />
- <param load_sound_model_ids="0x18000001, 0x4, 0x18000102" />
- <param start_engine_ids="0x18000001, 0x4, 0x18000103" />
- <param confidence_levels_ids="0x18000001, 0x4, 0x00012C28" />
- <param detection_event_ids="0x18000001, 0x4, 0x00012C29" />
- <param custom_config_ids="0x18000001, 0x4, 0x00012C20" />
- <param read_cmd_ids="0x00020013, 0x7, 0x00020015" />
- <param read_rsp_ids="0x00020013, 0x7, 0x00020016" />
- </gcs_usecase>
- <!-- kw_duration is in milli seconds. It is valid only for FTRT
- transfer mode -->
- <param capture_keyword="MULAW_raw, FTRT, 5000" />
+ <param capture_keyword="PCM_packet, RT, 2000" />
<param client_capture_read_delay="2000" />
</sound_model_config>
diff --git a/configs/sdm660/audio_configs.xml b/configs/sdm660/audio_configs.xml
index 3688697..9ba674c 100644
--- a/configs/sdm660/audio_configs.xml
+++ b/configs/sdm660/audio_configs.xml
@@ -49,6 +49,10 @@
<flag name="audio_extn_hdmi_spk_enabled" value="true" />
<flag name="use_xml_audio_policy_conf" value="true" />
<flag name="voice_concurrency" value="false" />
+ <flag name="afe_proxy_enabled" value="true" />
+ <flag name="compress_voip_enabled" value="true" />
+ <flag name="fm_power_opt" value="true" />
+ <flag name="record_play_concurrency" value="false" />
<!-- AV Configs -->
<property name="vendor.audio.use.sw.alac.decoder" value="true"/>
@@ -65,49 +69,4 @@
<flag name="qti_flac_decoder" value="true" />
<flag name="vorbis_offload_enabled" value="true" />
<flag name="wma_offload_enabled" value="true" />
-
- <!-- AHAL Configs -->
- <flag name="a2dp_offload_enabled" value="true" />
- <flag name="anc_headset_enabled" value="true" />
- <flag name="audiosphere_enabled" value="true" />
- <flag name="battery_listener_enabled" value="false" />
- <flag name="compress_capture_enabled" value="false" />
- <flag name="compress_in_enabled" value="false" />
- <flag name="compress_metadata_needed" value="true" />
- <flag name="concurrent_capture_enabled" value="false" />
- <flag name="custom_stereo_enabled" value="true" />
- <flag name="display_port_enabled" value="true" />
- <flag name="dsm_feedback_enabled" value="false" />
- <flag name="dynamic_ecns_enabled" value="false" />
- <flag name="ext_hw_plugin_enabled" value="false" />
- <flag name="ext_qdsp_enabled" value="false" />
- <flag name="ext_spkr_enabled" value="false" />
- <flag name="ext_spkr_tfa_enabled" value="false" />
- <flag name="fluence_enabled" value="true" />
- <flag name="hdmi_edid_enabled" value="true" />
- <flag name="hdmi_passthrough_enabled" value="true" />
- <flag name="hfp_enabled" value="true" />
- <flag name="hifi_audio_enabled" value="true" />
- <flag name="hwdep_cal_enabled" value="false" />
- <flag name="incall_music_enabled" value="false" />
- <flag name="keep_alive_enabled" value="false" />
- <flag name="kpi_optimize_enabled" value="true" />
- <flag name="maxx_audio_enabled" value="false" />
- <flag name="receiver_aided_stereo" value="true" />
- <flag name="snd_monitor_enabled" value="true" />
- <flag name="source_track_enabled" value="true" />
- <flag name="spkr_prot_enabled" value="true" />
- <flag name="ssrec_enabled" value="true" />
- <flag name="usb_offload_burst_mode" value="false" />
- <flag name="usb_offload_enabled" value="true" />
- <flag name="usb_offload_sidetone_vol_enabled" value="false" />
- <flag name="use_deep_buffer_as_primary_output" value="false" />
- <flag name="vbat_enabled" value="true" />
- <flag name="wsa_enabled" value="false" />
-
- <!-- Common configs between APM and AHAL -->
- <flag name="afe_proxy_enabled" value="true" />
- <flag name="compress_voip_enabled" value="true" />
- <flag name="fm_power_opt" value="true" />
- <flag name="record_play_concurrency" value="false" />
</configs>
diff --git a/configs/sdm660/audio_policy_configuration.xml b/configs/sdm660/audio_policy_configuration.xml
index e1a0181..40c02b2 100644
--- a/configs/sdm660/audio_policy_configuration.xml
+++ b/configs/sdm660/audio_policy_configuration.xml
@@ -258,11 +258,11 @@
</devicePort>
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
+ samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
</devicePort>
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
+ samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
</devicePort>
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
@@ -295,16 +295,8 @@
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</devicePort>
<devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source">
- <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
- <profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="USB Headset In" type="AUDIO_DEVICE_IN_USB_HEADSET" role="source">
- <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
- <profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
</devicePorts>
diff --git a/configs/sdm660/sdm660.mk b/configs/sdm660/sdm660.mk
index b598a2c..8fa1840 100644
--- a/configs/sdm660/sdm660.mk
+++ b/configs/sdm660/sdm660.mk
@@ -294,6 +294,7 @@
vendor.audio.feature.hifi_audio.enable=true \
vendor.audio.feature.hwdep_cal.enable=false \
vendor.audio.feature.incall_music.enable=false \
+vendor.audio.feature.multi_voice_session.enable=true \
vendor.audio.feature.keep_alive.enable=false \
vendor.audio.feature.kpi_optimize.enable=true \
vendor.audio.feature.maxx_audio.enable=false \
diff --git a/configs/sdm710/audio_configs.xml b/configs/sdm710/audio_configs.xml
index 6a6fb7d..eb02775 100644
--- a/configs/sdm710/audio_configs.xml
+++ b/configs/sdm710/audio_configs.xml
@@ -49,6 +49,10 @@
<flag name="audio_extn_hdmi_spk_enabled" value="true" />
<flag name="use_xml_audio_policy_conf" value="true" />
<flag name="voice_concurrency" value="false" />
+ <flag name="afe_proxy_enabled" value="true" />
+ <flag name="compress_voip_enabled" value="false" />
+ <flag name="fm_power_opt" value="true" />
+ <flag name="record_play_concurrency" value="false" />
<!-- AV Configs -->
<property name="vendor.audio.use.sw.alac.decoder" value="true"/>
@@ -65,49 +69,4 @@
<flag name="qti_flac_decoder" value="true" />
<flag name="vorbis_offload_enabled" value="true" />
<flag name="wma_offload_enabled" value="true" />
-
- <!-- AHAL Configs -->
- <flag name="a2dp_offload_enabled" value="true" />
- <flag name="anc_headset_enabled" value="true" />
- <flag name="audiosphere_enabled" value="true" />
- <flag name="battery_listener_enabled" value="false" />
- <flag name="compress_capture_enabled" value="false" />
- <flag name="compress_in_enabled" value="false" />
- <flag name="compress_metadata_needed" value="true" />
- <flag name="concurrent_capture_enabled" value="false" />
- <flag name="custom_stereo_enabled" value="true" />
- <flag name="display_port_enabled" value="true" />
- <flag name="dsm_feedback_enabled" value="false" />
- <flag name="dynamic_ecns_enabled" value="false" />
- <flag name="ext_hw_plugin_enabled" value="false" />
- <flag name="ext_qdsp_enabled" value="false" />
- <flag name="ext_spkr_enabled" value="false" />
- <flag name="ext_spkr_tfa_enabled" value="false" />
- <flag name="fluence_enabled" value="true" />
- <flag name="hdmi_edid_enabled" value="true" />
- <flag name="hdmi_passthrough_enabled" value="true" />
- <flag name="hfp_enabled" value="true" />
- <flag name="hifi_audio_enabled" value="true" />
- <flag name="hwdep_cal_enabled" value="false" />
- <flag name="incall_music_enabled" value="false" />
- <flag name="keep_alive_enabled" value="false" />
- <flag name="kpi_optimize_enabled" value="true" />
- <flag name="maxx_audio_enabled" value="false" />
- <flag name="receiver_aided_stereo" value="true" />
- <flag name="snd_monitor_enabled" value="true" />
- <flag name="source_track_enabled" value="true" />
- <flag name="spkr_prot_enabled" value="true" />
- <flag name="ssrec_enabled" value="true" />
- <flag name="usb_offload_burst_mode" value="false" />
- <flag name="usb_offload_enabled" value="true" />
- <flag name="usb_offload_sidetone_vol_enabled" value="false" />
- <flag name="use_deep_buffer_as_primary_output" value="false" />
- <flag name="vbat_enabled" value="true" />
- <flag name="wsa_enabled" value="false" />
-
- <!-- Common configs between APM and AHAL -->
- <flag name="afe_proxy_enabled" value="true" />
- <flag name="compress_voip_enabled" value="false" />
- <flag name="fm_power_opt" value="true" />
- <flag name="record_play_concurrency" value="false" />
</configs>
diff --git a/configs/sdm710/audio_platform_info.xml b/configs/sdm710/audio_platform_info.xml
index 6eed60f..553e02f 100644
--- a/configs/sdm710/audio_platform_info.xml
+++ b/configs/sdm710/audio_platform_info.xml
@@ -41,6 +41,7 @@
<device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES_EXTERNAL_1" acdb_id="10"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES_EXTERNAL_2" acdb_id="10"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_USB_HEADSET" acdb_id="45"/>
+ <device name="SND_DEVICE_IN_UNPROCESSED_USB_HEADSET_MIC" acdb_id="133"/>
<device name="SND_DEVICE_IN_UNPROCESSED_MIC" acdb_id="143"/>
<device name="SND_DEVICE_IN_UNPROCESSED_STEREO_MIC" acdb_id="144"/>
<device name="SND_DEVICE_IN_UNPROCESSED_THREE_MIC" acdb_id="145"/>
diff --git a/configs/sdm710/audio_policy_configuration.xml b/configs/sdm710/audio_policy_configuration.xml
index 145a811..3f17b95 100644
--- a/configs/sdm710/audio_policy_configuration.xml
+++ b/configs/sdm710/audio_policy_configuration.xml
@@ -304,16 +304,8 @@
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</devicePort>
<devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source">
- <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
- <profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="USB Headset In" type="AUDIO_DEVICE_IN_USB_HEADSET" role="source">
- <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
- <profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
</devicePorts>
diff --git a/configs/sdm710/sdm710.mk b/configs/sdm710/sdm710.mk
index 4d9adae..3ad2a88 100644
--- a/configs/sdm710/sdm710.mk
+++ b/configs/sdm710/sdm710.mk
@@ -393,6 +393,7 @@
vendor.audio.feature.hifi_audio.enable=true \
vendor.audio.feature.hwdep_cal.enable=false \
vendor.audio.feature.incall_music.enable=false \
+vendor.audio.feature.multi_voice_session.enable=true \
vendor.audio.feature.keep_alive.enable=false \
vendor.audio.feature.kpi_optimize.enable=true \
vendor.audio.feature.maxx_audio.enable=false \
diff --git a/configs/sdm845/audio_configs.xml b/configs/sdm845/audio_configs.xml
index 307f9a3..8e3cda2 100644
--- a/configs/sdm845/audio_configs.xml
+++ b/configs/sdm845/audio_configs.xml
@@ -49,6 +49,10 @@
<flag name="audio_extn_hdmi_spk_enabled" value="true" />
<flag name="use_xml_audio_policy_conf" value="true" />
<flag name="voice_concurrency" value="false" />
+ <flag name="afe_proxy_enabled" value="true" />
+ <flag name="compress_voip_enabled" value="false" />
+ <flag name="fm_power_opt" value="true" />
+ <flag name="record_play_concurrency" value="false" />
<!-- AV Configs -->
<property name="vendor.audio.use.sw.alac.decoder" value="true"/>
@@ -65,49 +69,4 @@
<flag name="qti_flac_decoder" value="true" />
<flag name="vorbis_offload_enabled" value="true" />
<flag name="wma_offload_enabled" value="true" />
-
- <!-- AHAL Configs -->
- <flag name="a2dp_offload_enabled" value="true" />
- <flag name="anc_headset_enabled" value="true" />
- <flag name="audiosphere_enabled" value="true" />
- <flag name="battery_listener_enabled" value="false" />
- <flag name="compress_capture_enabled" value="false" />
- <flag name="compress_in_enabled" value="false" />
- <flag name="compress_metadata_needed" value="true" />
- <flag name="concurrent_capture_enabled" value="false" />
- <flag name="custom_stereo_enabled" value="true" />
- <flag name="display_port_enabled" value="true" />
- <flag name="dsm_feedback_enabled" value="false" />
- <flag name="dynamic_ecns_enabled" value="false" />
- <flag name="ext_hw_plugin_enabled" value="false" />
- <flag name="ext_qdsp_enabled" value="false" />
- <flag name="ext_spkr_enabled" value="false" />
- <flag name="ext_spkr_tfa_enabled" value="false" />
- <flag name="fluence_enabled" value="true" />
- <flag name="hdmi_edid_enabled" value="true" />
- <flag name="hdmi_passthrough_enabled" value="true" />
- <flag name="hfp_enabled" value="true" />
- <flag name="hifi_audio_enabled" value="false" />
- <flag name="hwdep_cal_enabled" value="false" />
- <flag name="incall_music_enabled" value="false" />
- <flag name="keep_alive_enabled" value="false" />
- <flag name="kpi_optimize_enabled" value="true" />
- <flag name="maxx_audio_enabled" value="false" />
- <flag name="receiver_aided_stereo" value="true" />
- <flag name="snd_monitor_enabled" value="true" />
- <flag name="source_track_enabled" value="true" />
- <flag name="spkr_prot_enabled" value="true" />
- <flag name="ssrec_enabled" value="true" />
- <flag name="usb_offload_burst_mode" value="false" />
- <flag name="usb_offload_enabled" value="true" />
- <flag name="usb_offload_sidetone_vol_enabled" value="false" />
- <flag name="use_deep_buffer_as_primary_output" value="false" />
- <flag name="vbat_enabled" value="true" />
- <flag name="wsa_enabled" value="false" />
-
- <!-- Common configs between APM and AHAL -->
- <flag name="afe_proxy_enabled" value="true" />
- <flag name="compress_voip_enabled" value="false" />
- <flag name="fm_power_opt" value="true" />
- <flag name="record_play_concurrency" value="false" />
</configs>
diff --git a/configs/sdm845/audio_policy_configuration.xml b/configs/sdm845/audio_policy_configuration.xml
index fcd0119..65b503c 100644
--- a/configs/sdm845/audio_policy_configuration.xml
+++ b/configs/sdm845/audio_policy_configuration.xml
@@ -298,16 +298,8 @@
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</devicePort>
<devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source">
- <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
- <profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="USB Headset In" type="AUDIO_DEVICE_IN_USB_HEADSET" role="source">
- <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
- <profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
</devicePorts>
diff --git a/configs/sdm845/sdm845.mk b/configs/sdm845/sdm845.mk
index 77da76c..a967867 100644
--- a/configs/sdm845/sdm845.mk
+++ b/configs/sdm845/sdm845.mk
@@ -343,6 +343,7 @@
vendor.audio.feature.hifi_audio.enable=false \
vendor.audio.feature.hwdep_cal.enable=false \
vendor.audio.feature.incall_music.enable=false \
+vendor.audio.feature.multi_voice_session.enable=true \
vendor.audio.feature.keep_alive.enable=false \
vendor.audio.feature.kpi_optimize.enable=true \
vendor.audio.feature.maxx_audio.enable=false \
diff --git a/configs/trinket/audio_platform_info.xml b/configs/trinket/audio_platform_info.xml
index ff03dd2..8aec518 100644
--- a/configs/trinket/audio_platform_info.xml
+++ b/configs/trinket/audio_platform_info.xml
@@ -329,13 +329,13 @@
<mic_info mic_device_id="builtin_mic_4"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
- <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_STEREO_DMIC">
+ <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_DMIC_STEREO">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
- <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_STEREO_DMIC">
+ <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC_STEREO">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
diff --git a/configs/trinket/audio_policy_configuration.xml b/configs/trinket/audio_policy_configuration.xml
index a5d7f88..ed15fdb 100644
--- a/configs/trinket/audio_policy_configuration.xml
+++ b/configs/trinket/audio_policy_configuration.xml
@@ -284,11 +284,11 @@
</devicePort>
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
+ samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
</devicePort>
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
+ samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
</devicePort>
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
diff --git a/configs/trinket/trinket.mk b/configs/trinket/trinket.mk
index 5176889..2a28adf 100644
--- a/configs/trinket/trinket.mk
+++ b/configs/trinket/trinket.mk
@@ -30,8 +30,8 @@
MM_AUDIO_ENABLED_SAFX := true
AUDIO_FEATURE_ENABLED_HW_ACCELERATED_EFFECTS := false
AUDIO_FEATURE_ENABLED_AUDIOSPHERE := true
-AUDIO_FEATURE_ENABLED_USB_TUNNEL_AUDIO := true
-AUDIO_FEATURE_ENABLED_SPLIT_A2DP := true
+AUDIO_FEATURE_ENABLED_USB_TUNNEL := true
+AUDIO_FEATURE_ENABLED_A2DP_OFFLOAD := true
AUDIO_FEATURE_ENABLED_3D_AUDIO := false
DOLBY_ENABLE := false
endif
@@ -40,7 +40,7 @@
AUDIO_FEATURE_ENABLED_DLKM := true
BOARD_SUPPORTS_SOUND_TRIGGER := true
AUDIO_FEATURE_ENABLED_INSTANCE_ID := true
-AUDIO_USE_LL_AS_PRIMARY_OUTPUT := true
+AUDIO_USE_DEEP_AS_PRIMARY_OUTPUT := false
AUDIO_FEATURE_ENABLED_VBAT_MONITOR := true
AUDIO_FEATURE_ENABLED_ANC_HEADSET := true
AUDIO_FEATURE_ENABLED_CUSTOMSTEREO := true
@@ -71,7 +71,7 @@
##AUDIO_FEATURE_FLAGS
#Audio Specific device overlays
-DEVICE_PACKAGE_OVERLAYS += hardware/qcom/audio/configs/common/overlay
+DEVICE_PACKAGE_OVERLAYS += vendor/qcom/opensource/audio-hal/primary-hal/configs/common/overlay
PRODUCT_COPY_FILES += \
vendor/qcom/opensource/audio-hal/primary-hal/configs/trinket/audio_io_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_io_policy.conf \
@@ -201,6 +201,18 @@
PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.bt.a2dp_offload_cap=sbc-aptx-aptxtws-aptxhd-aac
+# A2DP offload support
+PRODUCT_PROPERTY_OVERRIDES += \
+ro.bluetooth.a2dp_offload.supported=true
+
+# Disable A2DP offload
+PRODUCT_PROPERTY_OVERRIDES += \
+persist.bluetooth.a2dp_offload.disabled=false
+
+# A2DP offload DSP supported encoder list
+PRODUCT_PROPERTY_OVERRIDES += \
+persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac
+
#enable software decoders for ALAC and APE
PRODUCT_PROPERTY_OVERRIDES += \
vendor.audio.use.sw.alac.decoder=true
@@ -239,6 +251,14 @@
PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.bt.aac_frm_ctl.enabled=true
+#enable headset calibration
+PRODUCT_PROPERTY_OVERRIDES += \
+audio.volume.headset.gain.depcal=true
+
+#enable dualmic fluence for voice communication
+PRODUCT_PROPERTY_OVERRIDES += \
+persist.audio.fluence.voicecomm=true
+
#add dynamic feature flags here
PRODUCT_PROPERTY_OVERRIDES += \
vendor.audio.feature.a2dp_offload.enable=true \
@@ -266,6 +286,7 @@
vendor.audio.feature.hifi_audio.enable=false \
vendor.audio.feature.hwdep_cal.enable=false \
vendor.audio.feature.incall_music.enable=false \
+vendor.audio.feature.multi_voice_session.enable=true \
vendor.audio.feature.keep_alive.enable=false \
vendor.audio.feature.kpi_optimize.enable=true \
vendor.audio.feature.maxx_audio.enable=false \
diff --git a/hal/Android.mk b/hal/Android.mk
index 42b5951..595e0c6 100644
--- a/hal/Android.mk
+++ b/hal/Android.mk
@@ -9,7 +9,7 @@
AUDIO_PLATFORM := $(TARGET_BOARD_PLATFORM)
-ifneq ($(filter msm8974 msm8226 msm8084 msm8610 apq8084 msm8994 msm8992 msm8996 msm8998 apq8098_latv sdm845 sdm710 qcs605 msmnile kona sdm660 msm8937 $(MSMSTEPPE) $(TRINKET) lito atoll,$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter msm8974 msm8226 msm8084 msm8610 apq8084 msm8994 msm8992 msm8996 msm8998 apq8098_latv sdm845 sdm710 qcs605 sdmshrike msmnile kona sdm660 msm8937 $(MSMSTEPPE) $(TRINKET) lito atoll,$(TARGET_BOARD_PLATFORM)),)
# B-family platform uses msm8974 code base
AUDIO_PLATFORM = msm8974
MULTIPLE_HW_VARIANTS_ENABLED := true
@@ -65,7 +65,7 @@
ifneq ($(filter qcs605,$(TARGET_BOARD_PLATFORM)),)
LOCAL_CFLAGS := -DPLATFORM_QCS605
endif
-ifneq ($(filter msmnile,$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter msmnile sdmshrike,$(TARGET_BOARD_PLATFORM)),)
LOCAL_CFLAGS := -DPLATFORM_MSMNILE
LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="4"
LOCAL_CFLAGS += -DINCALL_MUSIC_ENABLED
@@ -347,14 +347,13 @@
LOCAL_STATIC_LIBRARIES += libprofile_rt
endif
-#ifeq ($(strip $(AUDIO_FEATURE_ENABLED_AUTO_HAL)),true)
-# LOCAL_CFLAGS += -DAUDIO_EXTN_AUTO_HAL_ENABLED
-# LOCAL_SRC_FILES += audio_extn/auto_hal.c
-#endif
-
LOCAL_SHARED_LIBRARIES += libbase libhidlbase libhwbinder libutils android.hardware.power@1.2 liblog
LOCAL_SRC_FILES += audio_perf.cpp
+ifeq ($(strip $(AUDIO_FEATURE_ENABLED_FM_TUNER_EXT)),true)
+ LOCAL_CFLAGS += -DFM_TUNER_EXT_ENABLED
+endif
+
LOCAL_MODULE := audio.primary.$(TARGET_BOARD_PLATFORM)
LOCAL_MODULE_RELATIVE_PATH := hw
diff --git a/hal/audio_extn/Android.mk b/hal/audio_extn/Android.mk
index fee6977..a8667fe 100644
--- a/hal/audio_extn/Android.mk
+++ b/hal/audio_extn/Android.mk
@@ -63,7 +63,7 @@
AUDIO_PLATFORM := $(TARGET_BOARD_PLATFORM)
-ifneq ($(filter sdm845 sdm710 qcs605 msmnile kona lito atoll sdm660 msm8937 msm8998 $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter sdm845 sdm710 qcs605 sdmshrike msmnile kona lito atoll sdm660 msm8937 msm8998 $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
# B-family platform uses msm8974 code base
AUDIO_PLATFORM := msm8974
MULTIPLE_HW_VARIANTS_ENABLED := true
@@ -121,7 +121,7 @@
AUDIO_PLATFORM := $(TARGET_BOARD_PLATFORM)
-ifneq ($(filter sdm845 sdm710 msmnile kona lito atoll sdm660 msm8937 msm8998 $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter sdm845 sdm710 sdmshrike msmnile kona lito atoll sdm660 msm8937 msm8998 $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
# B-family platform uses msm8974 code base
AUDIO_PLATFORM := msm8974
MULTIPLE_HW_VARIANTS_ENABLED := true
@@ -182,7 +182,7 @@
PRIMARY_HAL_PATH := vendor/qcom/opensource/audio-hal/primary-hal/hal
AUDIO_PLATFORM := $(TARGET_BOARD_PLATFORM)
-ifneq ($(filter sdm845 sdm710 msmnile kona lito atoll sdm660 msm8937 msm8998 $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter sdm845 sdm710 sdmshrike msmnile kona lito atoll sdm660 msm8937 msm8998 $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
# B-family platform uses msm8974 code base
AUDIO_PLATFORM := msm8974
endif
@@ -234,7 +234,7 @@
#--------------------------------------------
include $(CLEAR_VARS)
-ifneq ($(filter sdm845 sdm710 msmnile kona lito atoll sdm660 msm8937 msm8998 $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter sdm845 sdm710 sdmshrike msmnile kona lito atoll sdm660 msm8937 msm8998 $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
# B-family platform uses msm8974 code base
AUDIO_PLATFORM := msm8974
endif
@@ -289,7 +289,7 @@
include $(CLEAR_VARS)
-ifneq ($(filter sdm845 sdm710 msmnile kona lito atoll sdm660 msm8937 msm8998 $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter sdm845 sdm710 sdmshrike msmnile kona lito atoll sdm660 msm8937 msm8998 $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
# B-family platform uses msm8974 code base
AUDIO_PLATFORM := msm8974
endif
@@ -350,7 +350,7 @@
PRIMARY_HAL_PATH := vendor/qcom/opensource/audio-hal/primary-hal/hal
AUDIO_PLATFORM := $(TARGET_BOARD_PLATFORM)
-ifneq ($(filter sdm845 sdm710 msmnile kona lito atoll sdm660 msm8937 msm8998 $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter sdm845 sdm710 sdmshrike msmnile kona lito atoll sdm660 msm8937 msm8998 $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
# B-family platform uses msm8974 code base
AUDIO_PLATFORM := msm8974
MULTIPLE_HW_VARIANTS_ENABLED := true
@@ -410,7 +410,7 @@
PRIMARY_HAL_PATH := vendor/qcom/opensource/audio-hal/primary-hal/hal
AUDIO_PLATFORM := $(TARGET_BOARD_PLATFORM)
-ifneq ($(filter sdm845 sdm710 msmnile kona lito atoll sdm660 msm8937 msm8998 $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter sdm845 sdm710 sdmshrike msmnile kona lito atoll sdm660 msm8937 msm8998 $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
# B-family platform uses msm8974 code base
AUDIO_PLATFORM := msm8974
MULTIPLE_HW_VARIANTS_ENABLED := true
@@ -469,7 +469,7 @@
PRIMARY_HAL_PATH := vendor/qcom/opensource/audio-hal/primary-hal/hal
AUDIO_PLATFORM := $(TARGET_BOARD_PLATFORM)
-ifneq ($(filter sdm845 sdm710 msmnile kona lito atoll sdm660 msm8937 msm8998 $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter sdm845 sdm710 sdmshrike msmnile kona lito atoll sdm660 msm8937 msm8998 $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
# B-family platform uses msm8974 code base
AUDIO_PLATFORM := msm8974
MULTIPLE_HW_VARIANTS_ENABLED := true
@@ -528,7 +528,7 @@
PRIMARY_HAL_PATH := vendor/qcom/opensource/audio-hal/primary-hal/hal
AUDIO_PLATFORM := $(TARGET_BOARD_PLATFORM)
-ifneq ($(filter sdm845 sdm710 msmnile kona lito atoll sdm660 msm8937 msm8998 $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter sdm845 sdm710 sdmshrike msmnile kona lito atoll sdm660 msm8937 msm8998 $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
# B-family platform uses msm8974 code base
AUDIO_PLATFORM := msm8974
MULTIPLE_HW_VARIANTS_ENABLED := true
@@ -590,7 +590,7 @@
PRIMARY_HAL_PATH := vendor/qcom/opensource/audio-hal/primary-hal/hal
AUDIO_PLATFORM := $(TARGET_BOARD_PLATFORM)
-ifneq ($(filter sdm845 sdm710 msmnile kona lito atoll sdm660 msm8937 msm8998 $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter sdm845 sdm710 sdmshrike msmnile kona lito atoll sdm660 msm8937 msm8998 $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
# B-family platform uses msm8974 code base
AUDIO_PLATFORM := msm8974
MULTIPLE_HW_VARIANTS_ENABLED := true
@@ -660,7 +660,7 @@
PRIMARY_HAL_PATH := vendor/qcom/opensource/audio-hal/primary-hal/hal
AUDIO_PLATFORM := $(TARGET_BOARD_PLATFORM)
-ifneq ($(filter sdm845 sdm710 msmnile kona lito atoll sdm660 msm8937 msm8998 $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter sdm845 sdm710 sdmshrike msmnile kona lito atoll sdm660 msm8937 msm8998 $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
# B-family platform uses msm8974 code base
AUDIO_PLATFORM := msm8974
MULTIPLE_HW_VARIANTS_ENABLED := true
@@ -719,7 +719,7 @@
PRIMARY_HAL_PATH := vendor/qcom/opensource/audio-hal/primary-hal/hal
AUDIO_PLATFORM := $(TARGET_BOARD_PLATFORM)
-ifneq ($(filter sdm845 sdm710 msmnile kona sdm660 msm8937 $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter sdm845 sdm710 sdmshrike msmnile kona sdm660 msm8937 $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
# B-family platform uses msm8974 code base
AUDIO_PLATFORM = msm8974
MULTIPLE_HW_VARIANTS_ENABLED := true
@@ -776,7 +776,7 @@
PRIMARY_HAL_PATH := vendor/qcom/opensource/audio-hal/primary-hal/hal
AUDIO_PLATFORM := $(TARGET_BOARD_PLATFORM)
-ifneq ($(filter sdm845 sdm710 msmnile kona sdm660 msm8937 $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter sdm845 sdm710 sdmshrike msmnile kona sdm660 msm8937 $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
# B-family platform uses msm8974 code base
AUDIO_PLATFORM = msm8974
MULTIPLE_HW_VARIANTS_ENABLED := true
@@ -823,4 +823,60 @@
LOCAL_HEADER_LIBRARIES += libsystem_headers
include $(BUILD_SHARED_LIBRARY)
+#-------------------------------------------
+# Build AUTO_HAL LIB
+#-------------------------------------------
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libautohal
+
+LOCAL_VENDOR_MODULE := true
+
+PRIMARY_HAL_PATH := vendor/qcom/opensource/audio-hal/primary-hal/hal
+AUDIO_PLATFORM := $(TARGET_BOARD_PLATFORM)
+
+ifneq ($(filter sdm845 sdm710 sdmshrike msmnile kona lito atoll sdm660 msm8937 msm8998 $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
+ # B-family platform uses msm8974 code base
+ AUDIO_PLATFORM := msm8974
+ MULTIPLE_HW_VARIANTS_ENABLED := true
+endif
+
+LOCAL_SRC_FILES:= \
+ auto_hal.c
+
+LOCAL_CFLAGS += \
+ -Wall \
+ -Werror \
+ -Wno-unused-function \
+ -Wno-unused-variable
+
+LOCAL_SHARED_LIBRARIES := \
+ libaudioutils \
+ libcutils \
+ libdl \
+ libexpat \
+ liblog
+
+LOCAL_C_INCLUDES := \
+ $(PRIMARY_HAL_PATH) \
+ $(PRIMARY_HAL_PATH)/$(AUDIO_PLATFORM) \
+ external/tinyalsa/include \
+ external/tinycompress/include \
+ external/expat/lib \
+ system/media/audio_utils/include \
+ $(call include-path-for, audio-route) \
+
+LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include
+LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/techpack/audio/include
+LOCAL_ADDITIONAL_DEPENDENCIES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
+
+ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DLKM)),true)
+ LOCAL_HEADER_LIBRARIES += audio_kernel_headers
+ LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/vendor/qcom/opensource/audio-kernel/include
+ LOCAL_ADDITIONAL_DEPENDENCIES += $(BOARD_VENDOR_KERNEL_MODULES)
+endif
+
+LOCAL_HEADER_LIBRARIES += libhardware_headers
+LOCAL_HEADER_LIBRARIES += libsystem_headers
+include $(BUILD_SHARED_LIBRARY)
diff --git a/hal/audio_extn/a2dp.c b/hal/audio_extn/a2dp.c
old mode 100755
new mode 100644
index 1b197b2..f487511
--- a/hal/audio_extn/a2dp.c
+++ b/hal/audio_extn/a2dp.c
@@ -1031,12 +1031,10 @@
a2dp.audio_is_tws_mono_mode_enable = (audio_is_tws_mono_mode_enable_t)
dlsym(a2dp.bt_lib_source_handle,"isTwsMonomodeEnable");
- if (is_running_with_enhanced_fwk == UNINITIALIZED)
- is_running_with_enhanced_fwk = check_if_enhanced_fwk();
- if (a2dp.bt_lib_source_handle && is_running_with_enhanced_fwk
- && a2dp.bt_audio_pre_init) {
- ALOGD("calling BT module preinit");
- a2dp.bt_audio_pre_init();
+ if (a2dp.bt_lib_source_handle && a2dp.bt_audio_pre_init) {
+ ALOGD("calling BT module preinit");
+ // fwk related check's will be done in the BT layer
+ a2dp.bt_audio_pre_init();
}
}
@@ -2604,19 +2602,17 @@
struct abr_dec_cfg_t dummy_reset_cfg;
int ret = 0;
- if (a2dp.abr_config.is_abr_enabled) {
- ctl_dec_data = mixer_get_ctl_by_name(a2dp.adev->mixer, MIXER_SOURCE_DEC_CONFIG_BLOCK);
- if (!ctl_dec_data) {
- ALOGE("%s: ERROR A2DP decoder config mixer control not identifed", __func__);
- return -EINVAL;
- }
- memset(&dummy_reset_cfg, 0x0, sizeof(dummy_reset_cfg));
- ret = mixer_ctl_set_array(ctl_dec_data, (void *)&dummy_reset_cfg,
- sizeof(dummy_reset_cfg));
- if (ret != 0) {
- ALOGE("%s: Failed to set dummy decoder config", __func__);
- return ret;
- }
+ ctl_dec_data = mixer_get_ctl_by_name(a2dp.adev->mixer, MIXER_SOURCE_DEC_CONFIG_BLOCK);
+ if (!ctl_dec_data) {
+ ALOGE("%s: ERROR A2DP decoder config mixer control not identifed", __func__);
+ return -EINVAL;
+ }
+ memset(&dummy_reset_cfg, 0x0, sizeof(dummy_reset_cfg));
+ ret = mixer_ctl_set_array(ctl_dec_data, (void *)&dummy_reset_cfg,
+ sizeof(dummy_reset_cfg));
+ if (ret != 0) {
+ ALOGE("%s: Failed to set dummy decoder config", __func__);
+ return ret;
}
return ret;
diff --git a/hal/audio_extn/audio_extn.c b/hal/audio_extn/audio_extn.c
index 8e65471..c2e1349 100644
--- a/hal/audio_extn/audio_extn.c
+++ b/hal/audio_extn/audio_extn.c
@@ -4639,8 +4639,8 @@
{
if(ext_hw_plugin_init) {
ext_hw_plugin_init_config_t ext_hw_plugin_init_config;
- ext_hw_plugin_init_config.fp_audio_route_apply_and_update_path =
- audio_route_apply_and_update_path;
+ ext_hw_plugin_init_config.fp_b64decode = b64decode;
+ ext_hw_plugin_init_config.fp_b64encode = b64encode;
return ext_hw_plugin_init(adev, ext_hw_plugin_init_config);
}
else
@@ -5391,6 +5391,224 @@
}
// END: MAXX_AUDIO =====================================================================
+// START: AUTO_HAL ===================================================================
+#ifdef __LP64__
+#define AUTO_HAL_LIB_PATH "/vendor/lib64/libautohal.so"
+#else
+#define AUTO_HAL_LIB_PATH "/vendor/lib/libautohal.so"
+#endif
+
+static void *auto_hal_lib_handle = NULL;
+
+typedef int (*auto_hal_init_t)(struct audio_device*,
+ auto_hal_init_config_t);
+static auto_hal_init_t auto_hal_init;
+
+typedef void (*auto_hal_deinit_t)();
+static auto_hal_deinit_t auto_hal_deinit;
+
+typedef int (*auto_hal_create_audio_patch_t)(struct audio_hw_device*,
+ unsigned int,
+ const struct audio_port_config*,
+ unsigned int,
+ const struct audio_port_config*,
+ audio_patch_handle_t*);
+static auto_hal_create_audio_patch_t auto_hal_create_audio_patch;
+
+typedef int (*auto_hal_release_audio_patch_t)(struct audio_hw_device*,
+ audio_patch_handle_t);
+static auto_hal_release_audio_patch_t auto_hal_release_audio_patch;
+
+typedef int (*auto_hal_get_car_audio_stream_from_address_t)(const char*);
+static auto_hal_get_car_audio_stream_from_address_t auto_hal_get_car_audio_stream_from_address;
+
+typedef int (*auto_hal_open_output_stream_t)(struct stream_out*);
+static auto_hal_open_output_stream_t auto_hal_open_output_stream;
+
+typedef bool (*auto_hal_is_bus_device_usecase_t)(audio_usecase_t);
+static auto_hal_is_bus_device_usecase_t auto_hal_is_bus_device_usecase;
+
+typedef snd_device_t (*auto_hal_get_snd_device_for_car_audio_stream_t)(
+ struct stream_out*);
+static auto_hal_get_snd_device_for_car_audio_stream_t auto_hal_get_snd_device_for_car_audio_stream;
+
+typedef int (*auto_hal_get_audio_port_t)(struct audio_hw_device*,
+ struct audio_port*);
+static auto_hal_get_audio_port_t auto_hal_get_audio_port;
+
+typedef int (*auto_hal_set_audio_port_config_t)(struct audio_hw_device*,
+ const struct audio_port_config*);
+static auto_hal_set_audio_port_config_t auto_hal_set_audio_port_config;
+
+typedef void (*auto_hal_set_parameters_t)(struct audio_device*,
+ struct str_parms*);
+static auto_hal_set_parameters_t auto_hal_set_parameters;
+
+int auto_hal_feature_init(bool is_feature_enabled)
+{
+ ALOGD("%s: Called with feature %s", __func__,
+ is_feature_enabled ? "Enabled" : "NOT Enabled");
+ if (is_feature_enabled) {
+ // dlopen lib
+ auto_hal_lib_handle = dlopen(AUTO_HAL_LIB_PATH, RTLD_NOW);
+
+ if (!auto_hal_lib_handle) {
+ ALOGE("%s: dlopen failed", __func__);
+ goto feature_disabled;
+ }
+ if (!(auto_hal_init = (auto_hal_init_t)dlsym(
+ auto_hal_lib_handle, "auto_hal_init")) ||
+ !(auto_hal_deinit =
+ (auto_hal_deinit_t)dlsym(
+ auto_hal_lib_handle, "auto_hal_deinit")) ||
+ !(auto_hal_create_audio_patch =
+ (auto_hal_create_audio_patch_t)dlsym(
+ auto_hal_lib_handle, "auto_hal_create_audio_patch")) ||
+ !(auto_hal_release_audio_patch =
+ (auto_hal_release_audio_patch_t)dlsym(
+ auto_hal_lib_handle, "auto_hal_release_audio_patch")) ||
+ !(auto_hal_get_car_audio_stream_from_address =
+ (auto_hal_get_car_audio_stream_from_address_t)dlsym(
+ auto_hal_lib_handle, "auto_hal_get_car_audio_stream_from_address")) ||
+ !(auto_hal_open_output_stream =
+ (auto_hal_open_output_stream_t)dlsym(
+ auto_hal_lib_handle, "auto_hal_open_output_stream")) ||
+ !(auto_hal_is_bus_device_usecase =
+ (auto_hal_is_bus_device_usecase_t)dlsym(
+ auto_hal_lib_handle, "auto_hal_is_bus_device_usecase")) ||
+ !(auto_hal_get_snd_device_for_car_audio_stream =
+ (auto_hal_get_snd_device_for_car_audio_stream_t)dlsym(
+ auto_hal_lib_handle, "auto_hal_get_snd_device_for_car_audio_stream")) ||
+ !(auto_hal_get_audio_port =
+ (auto_hal_get_audio_port_t)dlsym(
+ auto_hal_lib_handle, "auto_hal_get_audio_port")) ||
+ !(auto_hal_set_audio_port_config =
+ (auto_hal_set_audio_port_config_t)dlsym(
+ auto_hal_lib_handle, "auto_hal_set_audio_port_config")) ||
+ !(auto_hal_set_parameters =
+ (auto_hal_set_parameters_t)dlsym(
+ auto_hal_lib_handle, "auto_hal_set_parameters"))) {
+ ALOGE("%s: dlsym failed", __func__);
+ goto feature_disabled;
+ }
+ ALOGD("%s:: ---- Feature AUTO_HAL is Enabled ----", __func__);
+ return 0;
+ }
+
+feature_disabled:
+ if (auto_hal_lib_handle) {
+ dlclose(auto_hal_lib_handle);
+ auto_hal_lib_handle = NULL;
+ }
+
+ auto_hal_init = NULL;
+ auto_hal_deinit = NULL;
+ auto_hal_create_audio_patch = NULL;
+ auto_hal_release_audio_patch = NULL;
+ auto_hal_get_car_audio_stream_from_address = NULL;
+ auto_hal_open_output_stream = NULL;
+ auto_hal_is_bus_device_usecase = NULL;
+ auto_hal_get_snd_device_for_car_audio_stream = NULL;
+ auto_hal_get_audio_port = NULL;
+ auto_hal_set_audio_port_config = NULL;
+ auto_hal_set_parameters = NULL;
+
+ ALOGW(":: %s: ---- Feature AUTO_HAL is disabled ----", __func__);
+ return -ENOSYS;
+}
+
+int audio_extn_auto_hal_init(struct audio_device *adev)
+{
+ if(auto_hal_init) {
+ auto_hal_init_config_t auto_hal_init_config;
+ auto_hal_init_config.fp_in_get_stream = in_get_stream;
+ auto_hal_init_config.fp_out_get_stream = out_get_stream;
+ auto_hal_init_config.fp_audio_extn_ext_hw_plugin_usecase_start = audio_extn_ext_hw_plugin_usecase_start;
+ auto_hal_init_config.fp_audio_extn_ext_hw_plugin_usecase_stop = audio_extn_ext_hw_plugin_usecase_stop;
+ auto_hal_init_config.fp_get_usecase_from_list = get_usecase_from_list;
+ auto_hal_init_config.fp_get_output_period_size = get_output_period_size;
+ auto_hal_init_config.fp_audio_extn_ext_hw_plugin_set_audio_gain = audio_extn_ext_hw_plugin_set_audio_gain;
+ return auto_hal_init(adev, auto_hal_init_config);
+ }
+ else
+ return 0;
+}
+
+void audio_extn_auto_hal_deinit()
+{
+ if (auto_hal_deinit)
+ auto_hal_deinit();
+}
+
+int audio_extn_auto_hal_create_audio_patch(struct audio_hw_device *dev,
+ unsigned int num_sources,
+ const struct audio_port_config *sources,
+ unsigned int num_sinks,
+ const struct audio_port_config *sinks,
+ audio_patch_handle_t *handle)
+{
+ return ((auto_hal_create_audio_patch) ?
+ auto_hal_create_audio_patch(dev,
+ num_sources,
+ sources,
+ num_sinks,
+ sinks,
+ handle): 0);
+}
+
+int audio_extn_auto_hal_release_audio_patch(struct audio_hw_device *dev,
+ audio_patch_handle_t handle)
+{
+ return ((auto_hal_release_audio_patch) ?
+ auto_hal_release_audio_patch(dev, handle): 0);
+}
+
+int audio_extn_auto_hal_get_car_audio_stream_from_address(const char *address)
+{
+ return ((auto_hal_get_car_audio_stream_from_address) ?
+ auto_hal_get_car_audio_stream_from_address(address): 0);
+}
+
+int audio_extn_auto_hal_open_output_stream(struct stream_out *out)
+{
+ return ((auto_hal_open_output_stream) ?
+ auto_hal_open_output_stream(out): 0);
+}
+
+bool audio_extn_auto_hal_is_bus_device_usecase(audio_usecase_t uc_id)
+{
+ return ((auto_hal_is_bus_device_usecase) ?
+ auto_hal_is_bus_device_usecase(uc_id): 0);
+}
+
+snd_device_t audio_extn_auto_hal_get_snd_device_for_car_audio_stream(struct stream_out *out)
+{
+ return ((auto_hal_get_snd_device_for_car_audio_stream) ?
+ auto_hal_get_snd_device_for_car_audio_stream(out): 0);
+}
+
+int audio_extn_auto_hal_get_audio_port(struct audio_hw_device *dev,
+ struct audio_port *config)
+{
+ return ((auto_hal_get_audio_port) ?
+ auto_hal_get_audio_port(dev, config): 0);
+}
+
+int audio_extn_auto_hal_set_audio_port_config(struct audio_hw_device *dev,
+ const struct audio_port_config *config)
+{
+ return ((auto_hal_set_audio_port_config) ?
+ auto_hal_set_audio_port_config(dev, config): 0);
+}
+
+void audio_extn_auto_hal_set_parameters(struct audio_device *adev,
+ struct str_parms *parms)
+{
+ if (auto_hal_set_parameters)
+ auto_hal_set_parameters(adev, parms);
+}
+// END: AUTO_HAL ===================================================================
+
void audio_extn_feature_init()
{
is_running_vendor_enhanced_fwk = audio_extn_utils_is_vendor_enhanced_fwk();
@@ -5506,6 +5724,9 @@
audiozoom_feature_init(
property_get_bool("vendor.audio.feature.audiozoom.enable",
true));
+ auto_hal_feature_init(
+ property_get_bool("vendor.audio.feature.auto_hal.enable",
+ false));
}
void audio_extn_set_parameters(struct audio_device *adev,
diff --git a/hal/audio_extn/audio_extn.h b/hal/audio_extn/audio_extn.h
index 0f9d3b8..4fa96da 100644
--- a/hal/audio_extn/audio_extn.h
+++ b/hal/audio_extn/audio_extn.h
@@ -706,10 +706,12 @@
int audio_extn_ext_hw_plugin_set_audio_gain(void *plugin,
struct audio_usecase *usecase, uint32_t gain);
-typedef int (*fp_audio_route_apply_and_update_path_t)(struct audio_route*, const char*);
+typedef int (*fp_b64decode_t)(char *inp, int ilen, uint8_t* outp);
+typedef int (*fp_b64encode_t)(uint8_t *inp, int ilen, char* outp);
typedef struct ext_hw_plugin_init_config {
- fp_audio_route_apply_and_update_path_t fp_audio_route_apply_and_update_path;
+ fp_b64decode_t fp_b64decode;
+ fp_b64encode_t fp_b64encode;
} ext_hw_plugin_init_config_t;
// END: EXT_HW_PLUGIN FEATURE ==================================================
@@ -1097,6 +1099,7 @@
void audio_extn_fm_set_parameters(struct audio_device *adev,
struct str_parms *parms);
void audio_extn_fm_get_parameters(struct str_parms *query, struct str_parms *reply);
+void audio_extn_fm_route_on_selected_device(struct audio_device *adev, audio_devices_t device);
#ifndef APTX_DECODER_ENABLED
#define audio_extn_aptx_dec_set_license(adev); (0)
@@ -1270,24 +1273,20 @@
int audio_extn_utils_get_license_params(const struct audio_device *adev, struct audio_license_params *lic_params);
-/*
- * TODO: AUTO TEAM to convert following feature flag to runtime flag enable
-*/
-#ifndef AUDIO_EXTN_AUTO_HAL_ENABLED
-#define audio_extn_auto_hal_init(adev) (0)
-#define audio_extn_auto_hal_deinit() (0)
-#define audio_extn_auto_hal_create_audio_patch(dev, num_sources,\
- sources, num_sinks, sinks, handle) (0)
-#define audio_extn_auto_hal_release_audio_patch(dev, handle) (0)
-#define audio_extn_auto_hal_get_car_audio_stream_from_address(address) (-1)
-#define audio_extn_auto_hal_open_output_stream(out) (0)
-#define audio_extn_auto_hal_is_bus_device_usecase(uc_id) (0)
-#define audio_extn_auto_hal_get_snd_device_for_car_audio_stream(out) (0)
-#define audio_extn_auto_hal_get_audio_port(dev, config) (0)
-#define audio_extn_auto_hal_set_audio_port_config(dev, config) (0)
-#define audio_extn_auto_hal_set_parameters(adev, parms) (0)
-#else
-int32_t audio_extn_auto_hal_init(struct audio_device *adev);
+// START: AUTO_HAL FEATURE ==================================================
+#ifndef AUDIO_OUTPUT_FLAG_MEDIA
+#define AUDIO_OUTPUT_FLAG_MEDIA 0x100000
+#endif
+#ifndef AUDIO_OUTPUT_FLAG_SYS_NOTIFICATION
+#define AUDIO_OUTPUT_FLAG_SYS_NOTIFICATION 0x200000
+#endif
+#ifndef AUDIO_OUTPUT_FLAG_NAV_GUIDANCE
+#define AUDIO_OUTPUT_FLAG_NAV_GUIDANCE 0x400000
+#endif
+#ifndef AUDIO_OUTPUT_FLAG_PHONE
+#define AUDIO_OUTPUT_FLAG_PHONE 0x800000
+#endif
+int audio_extn_auto_hal_init(struct audio_device *adev);
void audio_extn_auto_hal_deinit(void);
int audio_extn_auto_hal_create_audio_patch(struct audio_hw_device *dev,
unsigned int num_sources,
@@ -1297,8 +1296,8 @@
audio_patch_handle_t *handle);
int audio_extn_auto_hal_release_audio_patch(struct audio_hw_device *dev,
audio_patch_handle_t handle);
-int32_t audio_extn_auto_hal_get_car_audio_stream_from_address(const char *address);
-int32_t audio_extn_auto_hal_open_output_stream(struct stream_out *out);
+int audio_extn_auto_hal_get_car_audio_stream_from_address(const char *address);
+int audio_extn_auto_hal_open_output_stream(struct stream_out *out);
bool audio_extn_auto_hal_is_bus_device_usecase(audio_usecase_t uc_id);
snd_device_t audio_extn_auto_hal_get_snd_device_for_car_audio_stream(struct stream_out *out);
int audio_extn_auto_hal_get_audio_port(struct audio_hw_device *dev,
@@ -1306,8 +1305,23 @@
int audio_extn_auto_hal_set_audio_port_config(struct audio_hw_device *dev,
const struct audio_port_config *config);
void audio_extn_auto_hal_set_parameters(struct audio_device *adev,
- struct str_parms *parms);
-#endif
+ struct str_parms *parms);
+
+typedef streams_input_ctxt_t* (*fp_in_get_stream_t)(struct audio_device*, audio_io_handle_t);
+typedef streams_output_ctxt_t* (*fp_out_get_stream_t)(struct audio_device*, audio_io_handle_t);
+typedef size_t (*fp_get_output_period_size_t)(uint32_t, audio_format_t, int, int);
+typedef int (*fp_audio_extn_ext_hw_plugin_set_audio_gain_t)(void*, struct audio_usecase*, uint32_t);
+
+typedef struct auto_hal_init_config {
+ fp_in_get_stream_t fp_in_get_stream;
+ fp_out_get_stream_t fp_out_get_stream;
+ fp_audio_extn_ext_hw_plugin_usecase_start_t fp_audio_extn_ext_hw_plugin_usecase_start;
+ fp_audio_extn_ext_hw_plugin_usecase_stop_t fp_audio_extn_ext_hw_plugin_usecase_stop;
+ fp_get_usecase_from_list_t fp_get_usecase_from_list;
+ fp_get_output_period_size_t fp_get_output_period_size;
+ fp_audio_extn_ext_hw_plugin_set_audio_gain_t fp_audio_extn_ext_hw_plugin_set_audio_gain;
+} auto_hal_init_config_t;
+// END: AUTO_HAL FEATURE ==================================================
bool audio_extn_edid_is_supported_sr(edid_audio_info* info, int sr);
bool audio_extn_edid_is_supported_bps(edid_audio_info* info, int bps);
diff --git a/hal/audio_extn/audio_feature_manager.c b/hal/audio_extn/audio_feature_manager.c
index 441071d..76b5ac6 100644
--- a/hal/audio_extn/audio_feature_manager.c
+++ b/hal/audio_extn/audio_feature_manager.c
@@ -150,6 +150,8 @@
return confValues->dynamic_ecns_enabled;
case AUDIO_ZOOM:
return confValues->audio_zoom_enabled;
+ case AUTO_HAL:
+ return confValues->auto_hal_enabled;
default:
return false;
}
diff --git a/hal/audio_extn/audio_feature_manager.h b/hal/audio_extn/audio_feature_manager.h
index 908b0cb..3ffe996 100644
--- a/hal/audio_extn/audio_feature_manager.h
+++ b/hal/audio_extn/audio_feature_manager.h
@@ -73,6 +73,7 @@
COMPRESS_METADATA_NEEDED,
MAXX_AUDIO,
AUDIO_ZOOM,
+ AUTO_HAL,
// End Audio feature flags
// Start Voice feature flags
COMPRESS_VOIP,
diff --git a/hal/audio_extn/auto_hal.c b/hal/audio_extn/auto_hal.c
index 7f2163d..81ef46c 100644
--- a/hal/audio_extn/auto_hal.c
+++ b/hal/audio_extn/auto_hal.c
@@ -45,7 +45,14 @@
#include <log_utils.h>
#endif
-#ifdef AUDIO_EXTN_AUTO_HAL_ENABLED
+//external feature dependency
+static fp_in_get_stream_t fp_in_get_stream;
+static fp_out_get_stream_t fp_out_get_stream;
+static fp_audio_extn_ext_hw_plugin_usecase_start_t fp_audio_extn_ext_hw_plugin_usecase_start;
+static fp_audio_extn_ext_hw_plugin_usecase_stop_t fp_audio_extn_ext_hw_plugin_usecase_stop;
+static fp_get_usecase_from_list_t fp_get_usecase_from_list;
+static fp_get_output_period_size_t fp_get_output_period_size;
+static fp_audio_extn_ext_hw_plugin_set_audio_gain_t fp_audio_extn_ext_hw_plugin_set_audio_gain;
typedef struct auto_hal_module {
struct audio_device *adev;
@@ -55,8 +62,27 @@
/* Auto hal module struct */
static struct auto_hal_module *auto_hal = NULL;
-extern struct pcm_config pcm_config_deep_buffer;
-extern struct pcm_config pcm_config_low_latency;
+struct pcm_config pcm_config_deep_buffer = {
+ .channels = 2,
+ .rate = DEFAULT_OUTPUT_SAMPLING_RATE,
+ .period_size = DEEP_BUFFER_OUTPUT_PERIOD_SIZE,
+ .period_count = DEEP_BUFFER_OUTPUT_PERIOD_COUNT,
+ .format = PCM_FORMAT_S16_LE,
+ .start_threshold = DEEP_BUFFER_OUTPUT_PERIOD_SIZE / 4,
+ .stop_threshold = INT_MAX,
+ .avail_min = DEEP_BUFFER_OUTPUT_PERIOD_SIZE / 4,
+};
+
+struct pcm_config pcm_config_low_latency = {
+ .channels = 2,
+ .rate = DEFAULT_OUTPUT_SAMPLING_RATE,
+ .period_size = LOW_LATENCY_OUTPUT_PERIOD_SIZE,
+ .period_count = LOW_LATENCY_OUTPUT_PERIOD_COUNT,
+ .format = PCM_FORMAT_S16_LE,
+ .start_threshold = LOW_LATENCY_OUTPUT_PERIOD_SIZE / 4,
+ .stop_threshold = INT_MAX,
+ .avail_min = LOW_LATENCY_OUTPUT_PERIOD_SIZE / 4,
+};
static const audio_usecase_t bus_device_usecases[] = {
USECASE_AUDIO_PLAYBACK_MEDIA,
@@ -65,10 +91,26 @@
USECASE_AUDIO_PLAYBACK_PHONE,
};
+int auto_hal_release_audio_patch(struct audio_hw_device *dev,
+ audio_patch_handle_t handle);
+
+static struct audio_patch_record *get_patch_from_list(struct audio_device *adev,
+ audio_patch_handle_t patch_id)
+{
+ struct audio_patch_record *patch;
+ struct listnode *node;
+ list_for_each(node, &adev->audio_patch_record_list) {
+ patch = node_to_item(node, struct audio_patch_record, list);
+ if (patch->handle == patch_id)
+ return patch;
+ }
+ return NULL;
+}
+
#define MAX_SOURCE_PORTS_PER_PATCH 1
#define MAX_SINK_PORTS_PER_PATCH 1
-int audio_extn_auto_hal_create_audio_patch(struct audio_hw_device *dev,
+int auto_hal_create_audio_patch(struct audio_hw_device *dev,
unsigned int num_sources,
const struct audio_port_config *sources,
unsigned int num_sinks,
@@ -80,6 +122,11 @@
char *str = NULL;
struct str_parms *parms = NULL;
char *address = NULL;
+ struct audio_usecase *uc_info = NULL;
+ struct audio_patch_record *patch_record = NULL;
+ audio_usecase_t usecase = USECASE_INVALID;
+ audio_io_handle_t input_io_handle = AUDIO_IO_HANDLE_NONE;
+ audio_io_handle_t output_io_handle = AUDIO_IO_HANDLE_NONE;
ALOGV("%s: enter", __func__);
@@ -98,7 +145,7 @@
/* Release patch if valid handle */
if (*handle != AUDIO_PATCH_HANDLE_NONE) {
- ret = audio_extn_auto_hal_release_audio_patch(dev,
+ ret = auto_hal_release_audio_patch(dev,
*handle);
if (ret) {
ALOGE("%s: failed to release audio patch 0x%x", __func__, *handle);
@@ -123,7 +170,7 @@
if ((sources->type == AUDIO_PORT_TYPE_DEVICE) &&
(sinks->type == AUDIO_PORT_TYPE_MIX)) {
pthread_mutex_lock(&adev->lock);
- streams_input_ctxt_t *in_ctxt = in_get_stream(adev,
+ streams_input_ctxt_t *in_ctxt = fp_in_get_stream(adev,
sinks->ext.mix.handle);
if (!in_ctxt) {
ALOGE("%s, failed to find input stream", __func__);
@@ -132,6 +179,7 @@
pthread_mutex_unlock(&adev->lock);
if(ret)
return ret;
+ input_io_handle = sinks->ext.mix.handle;
if (strcmp(sources->ext.device.address, "") != 0) {
address = audio_device_address_to_parameter(
@@ -144,7 +192,7 @@
if (!parms) {
ALOGE("%s: failed to allocate mem for parms", __func__);
ret = -ENOMEM;
- goto error;
+ goto exit;
}
str_parms_add_int(parms, AUDIO_PARAMETER_STREAM_ROUTING,
(int)sources->ext.device.type);
@@ -156,7 +204,7 @@
} else if ((sources->type == AUDIO_PORT_TYPE_MIX) &&
(sinks->type == AUDIO_PORT_TYPE_DEVICE)) {
pthread_mutex_lock(&adev->lock);
- streams_output_ctxt_t *out_ctxt = out_get_stream(adev,
+ streams_output_ctxt_t *out_ctxt = fp_out_get_stream(adev,
sources->ext.mix.handle);
if (!out_ctxt) {
ALOGE("%s, failed to find output stream", __func__);
@@ -165,6 +213,7 @@
pthread_mutex_unlock(&adev->lock);
if(ret)
return ret;
+ output_io_handle = sources->ext.mix.handle;
if (strcmp(sinks->ext.device.address, "") != 0) {
address = audio_device_address_to_parameter(
@@ -177,30 +226,110 @@
if (!parms) {
ALOGE("%s: failed to allocate mem for parms", __func__);
ret = -ENOMEM;
- goto error;
+ goto exit;
}
str_parms_add_int(parms, AUDIO_PARAMETER_STREAM_ROUTING,
(int)sinks->ext.device.type);
str = str_parms_to_str(parms);
out_ctxt->output->stream.common.set_parameters(
(struct audio_stream *)out_ctxt->output, str);
+ } else if ((sources->type == AUDIO_PORT_TYPE_DEVICE) &&
+ (sinks->type == AUDIO_PORT_TYPE_DEVICE)) {
+ /* allocate use case and call to plugin driver*/
+ uc_info = (struct audio_usecase *)calloc(1, sizeof(struct audio_usecase));
+ if (!uc_info) {
+ ALOGE("%s fail to allocate uc_info", __func__);
+ return -ENOMEM;
+ }
+ /* TODO - add sink type check and printout for non speaker sink */
+ switch(sources->ext.device.type) {
+#ifdef FM_TUNER_EXT_ENABLED
+ case AUDIO_DEVICE_IN_FM_TUNER:
+ ALOGV("Creating audio patch for external FM tuner");
+ uc_info->id = USECASE_AUDIO_FM_TUNER_EXT;
+ uc_info->type = PCM_PASSTHROUGH;
+ uc_info->devices = AUDIO_DEVICE_IN_FM_TUNER;
+ uc_info->in_snd_device = SND_DEVICE_IN_CAPTURE_FM;
+ uc_info->out_snd_device = SND_DEVICE_OUT_BUS_MEDIA;
+ break;
+#endif
+ default:
+ ALOGE("%s: Unsupported audio source type %x", __func__,
+ sources->ext.device.type);
+ goto error;
+ }
+
+ ALOGD("%s: Starting ext hw plugin use case (%d) in_snd_device (%d) out_snd_device (%d)",
+ __func__, uc_info->id, uc_info->in_snd_device, uc_info->out_snd_device);
+
+ ret = fp_audio_extn_ext_hw_plugin_usecase_start(adev->ext_hw_plugin, uc_info);
+ if (ret) {
+ ALOGE("%s: failed to start ext hw plugin use case (%d)",
+ __func__, uc_info->id);
+ goto error;
+ }
+ /* TODO: apply audio port gain to codec if applicable */
+ usecase = uc_info->id;
+ pthread_mutex_lock(&adev->lock);
+ list_add_tail(&adev->usecase_list, &uc_info->list);
+ pthread_mutex_unlock(&adev->lock);
} else {
- ALOGW("%s: create device -> device audio patch", __func__);
+ ALOGW("%s: audio patch not supported",__func__);
+ return -EINVAL;
}
+ /* patch created success, add to patch record list */
+ patch_record = (struct audio_patch_record *)calloc(1,
+ sizeof(struct audio_patch_record));
+ if (!patch_record) {
+ ALOGE("%s fail to allocate patch_record", __func__);
+ ret = -ENOMEM;
+ if (uc_info)
+ list_remove(&uc_info->list);
+ goto error;
+ }
+
+ pthread_mutex_lock(&adev->lock);
+ adev->audio_patch_index++;
+ patch_record->handle = adev->audio_patch_index;
+ patch_record->usecase = usecase;
+ patch_record->input_io_handle = input_io_handle;
+ patch_record->output_io_handle = output_io_handle;
+ memcpy((void *)&patch_record->source, (void *)sources,
+ sizeof(struct audio_port_config));
+ memcpy((void *)&patch_record->sink, (void *)sinks,
+ sizeof(struct audio_port_config));
+ list_add_tail(&adev->audio_patch_record_list, &patch_record->list);
+ pthread_mutex_unlock(&adev->lock);
+
+ *handle = patch_record->handle;
+ goto exit;
+
error:
+ if(uc_info)
+ free(uc_info);
+exit:
if (parms)
str_parms_destroy(parms);
+ if (str)
+ free(str);
if (address)
free(address);
ALOGV("%s: exit: handle 0x%x", __func__, *handle);
return ret;
}
-int audio_extn_auto_hal_release_audio_patch(struct audio_hw_device *dev,
+int auto_hal_release_audio_patch(struct audio_hw_device *dev,
audio_patch_handle_t handle)
{
int ret = 0;
+ struct audio_device *adev = (struct audio_device *)dev;
+ struct audio_usecase *uc_info = NULL;
+ struct audio_patch_record *patch_record = NULL;
+ streams_input_ctxt_t *in_ctxt = NULL;
+ streams_output_ctxt_t *out_ctxt = NULL;
+ char *str = NULL;
+ struct str_parms *parms = NULL;
ALOGV("%s: enter: handle 0x%x", __func__, handle);
@@ -209,17 +338,99 @@
return -EINVAL;
}
- if (handle != AUDIO_PATCH_HANDLE_NONE) {
- ALOGW("%s: release device -> device audio patch", __func__);
+ if (handle == AUDIO_PATCH_HANDLE_NONE) {
+ ALOGW("%s: null audio patch handle", __func__);
+ return -EINVAL;
}
+ /* get the patch record from handle */
+ pthread_mutex_lock(&adev->lock);
+ patch_record = get_patch_from_list(adev, handle);
+ if(!patch_record) {
+ ALOGE("%s: failed to find the patch record with handle (%d) in the list",
+ __func__, handle);
+ ret = -EINVAL;
+ }
+ pthread_mutex_unlock(&adev->lock);
+ if(ret)
+ goto exit;
+
+ if (patch_record->input_io_handle) {
+ pthread_mutex_lock(&adev->lock);
+ in_ctxt = fp_in_get_stream(adev, patch_record->input_io_handle);
+ if (!in_ctxt) {
+ ALOGE("%s, Could not find input stream", __func__);
+ ret = -EINVAL;
+ }
+ pthread_mutex_unlock(&adev->lock);
+ if(ret)
+ goto exit;
+
+ parms = str_parms_create();
+ str_parms_add_int(parms, AUDIO_PARAMETER_STREAM_ROUTING, 0);
+ str = str_parms_to_str(parms);
+ in_ctxt->input->stream.common.set_parameters(
+ (struct audio_stream *)in_ctxt->input, str);
+ }
+
+ if (patch_record->output_io_handle) {
+ pthread_mutex_lock(&adev->lock);
+ out_ctxt = fp_out_get_stream(adev, patch_record->output_io_handle);
+ if (!out_ctxt) {
+ ALOGE("%s, Could not find output stream", __func__);
+ ret = -EINVAL;
+ }
+ pthread_mutex_unlock(&adev->lock);
+ if(ret)
+ goto exit;
+
+ parms = str_parms_create();
+ str_parms_add_int(parms, AUDIO_PARAMETER_STREAM_ROUTING, 0);
+ str = str_parms_to_str(parms);
+ out_ctxt->output->stream.common.set_parameters(
+ (struct audio_stream *)out_ctxt->output, str);
+ }
+
+ if (patch_record->usecase != USECASE_INVALID) {
+ pthread_mutex_lock(&adev->lock);
+ uc_info = fp_get_usecase_from_list(adev, patch_record->usecase);
+ if (!uc_info) {
+ ALOGE("%s: failed to find the usecase (%d)",
+ __func__, patch_record->usecase);
+ ret = -EINVAL;
+ } else {
+ /* call to plugin to stop the usecase */
+ ret = fp_audio_extn_ext_hw_plugin_usecase_stop(adev->ext_hw_plugin, uc_info);
+ if (ret) {
+ ALOGE("%s: failed to stop ext hw plugin use case (%d)",
+ __func__, uc_info->id);
+ }
+
+ /* remove usecase from list and free it */
+ list_remove(&uc_info->list);
+ free(uc_info);
+ }
+ pthread_mutex_unlock(&adev->lock);
+ }
+
+ /* remove the patch record from list and free it */
+ pthread_mutex_lock(&adev->lock);
+ list_remove(&patch_record->list);
+ pthread_mutex_unlock(&adev->lock);
+ free(patch_record);
+ if (parms)
+ str_parms_destroy(parms);
+ if (str)
+ free(str);
+
+exit:
ALOGV("%s: exit", __func__);
return ret;
}
-int32_t audio_extn_auto_hal_get_car_audio_stream_from_address(const char *address)
+int auto_hal_get_car_audio_stream_from_address(const char *address)
{
- int32_t bus_num = -1;
+ int bus_num = -1;
char *str = NULL;
char *last_r = NULL;
char local_address[AUDIO_DEVICE_MAX_ADDRESS_LEN];
@@ -236,7 +447,7 @@
/* extract bus number from address */
str = strtok_r(local_address, "BUS_",&last_r);
if (str != NULL)
- bus_num = (int32_t)strtol(str, (char **)NULL, 10);
+ bus_num = (int)strtol(str, (char **)NULL, 10);
/* validate bus number */
if ((bus_num < 0) || (bus_num >= MAX_CAR_AUDIO_STREAMS)) {
@@ -247,7 +458,7 @@
return (0x1 << bus_num);
}
-int32_t audio_extn_auto_hal_open_output_stream(struct stream_out *out)
+int auto_hal_open_output_stream(struct stream_out *out)
{
int ret = 0;
unsigned int channels = audio_channel_count_from_out_mask(out->channel_mask);
@@ -257,33 +468,42 @@
/* media bus stream shares pcm device with deep-buffer */
out->usecase = USECASE_AUDIO_PLAYBACK_MEDIA;
out->config = pcm_config_deep_buffer;
- out->config.period_size = get_output_period_size(out->sample_rate, out->format,
+ out->config.period_size = fp_get_output_period_size(out->sample_rate, out->format,
channels, DEEP_BUFFER_OUTPUT_PERIOD_DURATION);
if (out->config.period_size <= 0) {
ALOGE("Invalid configuration period size is not valid");
ret = -EINVAL;
goto error;
}
+ if (out->flags == AUDIO_OUTPUT_FLAG_NONE ||
+ out->flags == AUDIO_OUTPUT_FLAG_PRIMARY)
+ out->flags |= AUDIO_OUTPUT_FLAG_MEDIA;
break;
case CAR_AUDIO_STREAM_SYS_NOTIFICATION:
/* sys notification bus stream shares pcm device with low-latency */
out->usecase = USECASE_AUDIO_PLAYBACK_SYS_NOTIFICATION;
out->config = pcm_config_low_latency;
+ if (out->flags == AUDIO_OUTPUT_FLAG_NONE)
+ out->flags |= AUDIO_OUTPUT_FLAG_SYS_NOTIFICATION;
break;
case CAR_AUDIO_STREAM_NAV_GUIDANCE:
out->usecase = USECASE_AUDIO_PLAYBACK_NAV_GUIDANCE;
out->config = pcm_config_deep_buffer;
- out->config.period_size = get_output_period_size(out->sample_rate, out->format,
+ out->config.period_size = fp_get_output_period_size(out->sample_rate, out->format,
channels, DEEP_BUFFER_OUTPUT_PERIOD_DURATION);
if (out->config.period_size <= 0) {
ALOGE("Invalid configuration period size is not valid");
ret = -EINVAL;
goto error;
}
+ if (out->flags == AUDIO_OUTPUT_FLAG_NONE)
+ out->flags |= AUDIO_OUTPUT_FLAG_NAV_GUIDANCE;
break;
case CAR_AUDIO_STREAM_PHONE:
out->usecase = USECASE_AUDIO_PLAYBACK_PHONE;
out->config = pcm_config_low_latency;
+ if (out->flags == AUDIO_OUTPUT_FLAG_NONE)
+ out->flags |= AUDIO_OUTPUT_FLAG_PHONE;
break;
default:
ALOGE("%s: Car audio stream %x not supported", __func__,
@@ -296,7 +516,7 @@
return ret;
}
-bool audio_extn_auto_hal_is_bus_device_usecase(audio_usecase_t uc_id)
+bool auto_hal_is_bus_device_usecase(audio_usecase_t uc_id)
{
unsigned int i;
for (i = 0; i < sizeof(bus_device_usecases)/sizeof(bus_device_usecases[0]); i++) {
@@ -306,7 +526,7 @@
return false;
}
-snd_device_t audio_extn_auto_hal_get_snd_device_for_car_audio_stream(struct stream_out *out)
+snd_device_t auto_hal_get_snd_device_for_car_audio_stream(struct stream_out *out)
{
snd_device_t snd_device = SND_DEVICE_NONE;
@@ -330,7 +550,7 @@
return snd_device;
}
-int audio_extn_auto_hal_get_audio_port(struct audio_hw_device *dev __unused,
+int auto_hal_get_audio_port(struct audio_hw_device *dev __unused,
struct audio_port *config __unused)
{
return -ENOSYS;
@@ -342,7 +562,7 @@
#define MIN_VOLUME_VALUE_MB -6000
#define MAX_VOLUME_VALUE_MB 600
#define STEP_VALUE_MB 100
-int audio_extn_auto_hal_set_audio_port_config(struct audio_hw_device *dev,
+int auto_hal_set_audio_port_config(struct audio_hw_device *dev,
const struct audio_port_config *config)
{
struct audio_device *adev = (struct audio_device *)dev;
@@ -414,40 +634,40 @@
* to be part of port config upon audio patch creation. If not, need
* to create a list of audio port configs in adev context.
*/
-#if 0
list_for_each(node, &adev->audio_patch_record_list) {
struct audio_patch_record *patch_record = node_to_item(node,
struct audio_patch_record,
list);
- /* limit audio gain support for bus device only */
- if (patch_record->sink.type == AUDIO_PORT_TYPE_DEVICE &&
+ /* limit audio gain support for device -> bus device patch */
+ if (patch_record->source.type == AUDIO_PORT_TYPE_DEVICE &&
+ patch_record->sink.type == AUDIO_PORT_TYPE_DEVICE &&
patch_record->sink.role == AUDIO_PORT_ROLE_SINK &&
patch_record->sink.ext.device.type == AUDIO_DEVICE_OUT_BUS &&
patch_record->sink.ext.device.type == config->ext.device.type &&
strcmp(patch_record->sink.ext.device.address,
config->ext.device.address) == 0) {
- /* cache / update gain per audio patch sink */
- patch_record->sink.gain = config->gain;
+ /* cache audio port configuration for sink */
+ memcpy((void *)&patch_record->sink, (void *)config,
+ sizeof(struct audio_port_config));
- struct audio_usecase *uc_info = get_usecase_from_list(adev,
+ struct audio_usecase *uc_info = fp_get_usecase_from_list(adev,
patch_record->usecase);
if (!uc_info) {
ALOGE("%s: failed to find the usecase %d",
__func__, patch_record->usecase);
ret = -EINVAL;
} else {
- volume = config->gain->values[0];
+ volume = config->gain.values[0];
/* linear interpolation from millibel to level */
int vol_level = lrint(((volume + (0 - MIN_VOLUME_VALUE_MB)) /
(MAX_VOLUME_VALUE_MB - MIN_VOLUME_VALUE_MB)) * 40);
- ALOGV("%s: set volume to patch: %p", __func__,
+ ALOGV("%s: set volume to patch %x", __func__,
patch_record->handle);
- ret = audio_extn_ext_hw_plugin_set_audio_gain(adev,
+ ret = fp_audio_extn_ext_hw_plugin_set_audio_gain(adev,
uc_info, vol_level);
}
}
}
-#endif
pthread_mutex_unlock(&adev->lock);
} else if (config->role == AUDIO_PORT_ROLE_SOURCE) {
// FIXME: handle input devices.
@@ -460,7 +680,7 @@
return ret;
}
-void audio_extn_auto_hal_set_parameters(struct audio_device *adev __unused,
+void auto_hal_set_parameters(struct audio_device *adev __unused,
struct str_parms *parms)
{
int ret = 0;
@@ -483,9 +703,9 @@
ALOGV("%s: exit", __func__);
}
-int32_t audio_extn_auto_hal_init(struct audio_device *adev)
+int auto_hal_init(struct audio_device *adev, auto_hal_init_config_t init_config)
{
- int32_t ret = 0;
+ int ret = 0;
if (auto_hal != NULL) {
ALOGD("%s: Auto hal module already exists",
@@ -503,10 +723,18 @@
auto_hal->adev = adev;
+ fp_in_get_stream = init_config.fp_in_get_stream;
+ fp_out_get_stream = init_config.fp_out_get_stream;
+ fp_audio_extn_ext_hw_plugin_usecase_start = init_config.fp_audio_extn_ext_hw_plugin_usecase_start;
+ fp_audio_extn_ext_hw_plugin_usecase_stop = init_config.fp_audio_extn_ext_hw_plugin_usecase_stop;
+ fp_get_usecase_from_list = init_config.fp_get_usecase_from_list;
+ fp_get_output_period_size = init_config.fp_get_output_period_size;
+ fp_audio_extn_ext_hw_plugin_set_audio_gain = init_config.fp_audio_extn_ext_hw_plugin_set_audio_gain;
+
return ret;
}
-void audio_extn_auto_hal_deinit(void)
+void auto_hal_deinit(void)
{
if (auto_hal == NULL) {
ALOGE("%s: Auto hal module is NULL, cannot deinitialize",
@@ -518,4 +746,3 @@
return;
}
-#endif /* AUDIO_EXTN_AUTO_HAL_ENABLED */
diff --git a/hal/audio_extn/ext_hw_plugin.c b/hal/audio_extn/ext_hw_plugin.c
index 619ecfc..1ede1a8 100644
--- a/hal/audio_extn/ext_hw_plugin.c
+++ b/hal/audio_extn/ext_hw_plugin.c
@@ -40,22 +40,9 @@
#include "platform.h"
#include "audio_hal_plugin.h"
-
-// - external function dependency -
-static fp_read_line_from_file_t fp_read_line_from_file;
-static fp_get_usecase_from_list_t fp_get_usecase_from_list;
-static fp_enable_disable_snd_device_t fp_disable_snd_device;
-static fp_enable_disable_snd_device_t fp_enable_snd_device;
-static fp_enable_disable_audio_route_t fp_disable_audio_route;
-static fp_enable_disable_audio_route_t fp_enable_audio_route;
-static fp_platform_set_snd_device_backend_t fp_platform_set_snd_device_backend;
-static fp_platform_get_snd_device_name_extn_t fp_platform_get_snd_device_name_extn;
-static fp_platform_get_default_app_type_v2_t fp_platform_get_default_app_type_v2;
-static fp_platform_send_audio_calibration_t fp_platform_send_audio_calibration;
-
-fp_audio_route_apply_and_update_path_t fp_audio_route_apply_and_update_path;
-
-#ifdef EXT_HW_PLUGIN_ENABLED
+//external feature dependency
+static fp_b64decode_t fp_b64decode;
+static fp_b64encode_t fp_b64encode;
typedef int32_t (*audio_hal_plugin_init_t)(void);
typedef int32_t (*audio_hal_plugin_deinit_t)(void);
@@ -90,7 +77,9 @@
}
my_plugin->adev = adev;
- fp_audio_route_apply_and_update_path = init_config.fp_audio_route_apply_and_update_path;
+
+ fp_b64decode = init_config.fp_b64decode;
+ fp_b64encode = init_config.fp_b64encode;
my_plugin->plugin_handle = dlopen(LIB_PLUGIN_DRIVER, RTLD_NOW);
if (my_plugin->plugin_handle == NULL) {
@@ -205,6 +194,9 @@
case USECASE_AUDIO_PLAYBACK_PHONE:
*plugin_usecase = AUDIO_HAL_PLUGIN_USECASE_PHONE_PLAYBACK;
break;
+ case USECASE_AUDIO_FM_TUNER_EXT:
+ *plugin_usecase = AUDIO_HAL_PLUGIN_USECASE_FM_TUNER;
+ break;
default:
ret = -EINVAL;
}
@@ -247,7 +239,8 @@
}
if (((usecase->type == PCM_CAPTURE) || (usecase->type == VOICE_CALL) ||
- (usecase->type == VOIP_CALL) || (usecase->type == PCM_HFP_CALL)) &&
+ (usecase->type == VOIP_CALL) || (usecase->type == PCM_HFP_CALL) ||
+ (usecase->type == PCM_PASSTHROUGH)) &&
(usecase->in_snd_device != SND_DEVICE_NONE)) {
codec_enable.snd_dev = usecase->in_snd_device;
/* TODO - below should be related with in_snd_dev */
@@ -402,7 +395,8 @@
my_plugin->out_snd_dev[codec_disable.usecase] = 0;
}
if (((usecase->type == PCM_CAPTURE) || (usecase->type == VOICE_CALL) ||
- (usecase->type == VOIP_CALL) || (usecase->type == PCM_HFP_CALL)) &&
+ (usecase->type == VOIP_CALL) || (usecase->type == PCM_HFP_CALL) ||
+ (usecase->type == PCM_PASSTHROUGH)) &&
(usecase->in_snd_device != SND_DEVICE_NONE)) {
codec_disable.snd_dev = usecase->in_snd_device;
@@ -464,7 +458,7 @@
ALOGE("%s: memory allocation failed", __func__);
return -ENOMEM;
}
- dlen = b64decode(string_value, strlen(string_value), dptr);
+ dlen = fp_b64decode(string_value, strlen(string_value), dptr);
if ((dlen <= 0) || ((uint32_t)dlen != 4*dword_len)){
ALOGE("%s: data decoding failed", __func__);
ret = -EINVAL;
@@ -531,7 +525,7 @@
goto done_dword_to_string;
}
- ret = b64encode(dptr, dlen, outptr);
+ ret = fp_b64encode(dptr, dlen, outptr);
if(ret < 0) {
ALOGE("[%s] failed to convert data to string ret = %d", __func__, ret);
free(outptr);
@@ -1563,4 +1557,3 @@
}
return ret;
}
-#endif /* EXT_HW_PLUGIN_ENABLED */
diff --git a/hal/audio_extn/fm.c b/hal/audio_extn/fm.c
index b4e9ff2..435c377 100644
--- a/hal/audio_extn/fm.c
+++ b/hal/audio_extn/fm.c
@@ -387,3 +387,23 @@
exit:
ALOGV("%s: exit", __func__);
}
+
+void audio_extn_fm_route_on_selected_device(struct audio_device *adev, audio_devices_t device)
+{
+ struct listnode *node;
+ struct audio_usecase *usecase;
+
+ if (fmmod.is_fm_running) {
+ list_for_each(node, &adev->usecase_list) {
+ usecase = node_to_item(node, struct audio_usecase, list);
+ if (usecase->id == USECASE_AUDIO_PLAYBACK_FM) {
+ if (fmmod.fm_device != device) {
+ ALOGV("%s selected routing device %x current device %x"
+ "are different, reroute on selected device", __func__,
+ fmmod.fm_device, device);
+ select_devices(adev, usecase->id);
+ }
+ }
+ }
+ }
+}
diff --git a/hal/audio_extn/soundtrigger.c b/hal/audio_extn/soundtrigger.c
index 1e28b86..a175b83 100644
--- a/hal/audio_extn/soundtrigger.c
+++ b/hal/audio_extn/soundtrigger.c
@@ -84,9 +84,9 @@
AUDIO_EVENT_CAPTURE_STREAM_INACTIVE,
AUDIO_EVENT_CAPTURE_STREAM_ACTIVE,
AUDIO_EVENT_BATTERY_STATUS_CHANGED,
- AUDIO_EVENT_SCREEN_STATUS_CHANGED,
AUDIO_EVENT_GET_PARAM,
- AUDIO_EVENT_UPDATE_ECHO_REF
+ AUDIO_EVENT_UPDATE_ECHO_REF,
+ AUDIO_EVENT_SCREEN_STATUS_CHANGED
} audio_event_type_t;
typedef enum {
diff --git a/hal/audio_extn/utils.c b/hal/audio_extn/utils.c
index f8bb529..fe368e9 100644
--- a/hal/audio_extn/utils.c
+++ b/hal/audio_extn/utils.c
@@ -146,6 +146,10 @@
STRING_TO_ENUM(AUDIO_OUTPUT_FLAG_VOIP_RX),
STRING_TO_ENUM(AUDIO_OUTPUT_FLAG_BD),
STRING_TO_ENUM(AUDIO_OUTPUT_FLAG_INTERACTIVE),
+ STRING_TO_ENUM(AUDIO_OUTPUT_FLAG_MEDIA),
+ 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_INPUT_FLAG_NONE),
STRING_TO_ENUM(AUDIO_INPUT_FLAG_FAST),
STRING_TO_ENUM(AUDIO_INPUT_FLAG_HW_HOTWORD),
@@ -1134,6 +1138,7 @@
goto exit_send_app_type_cfg;
}
if ((usecase->id != USECASE_AUDIO_PLAYBACK_DEEP_BUFFER) &&
+ (usecase->id != USECASE_AUDIO_PLAYBACK_WITH_HAPTICS) &&
(usecase->id != USECASE_AUDIO_PLAYBACK_LOW_LATENCY) &&
(usecase->id != USECASE_AUDIO_PLAYBACK_MULTI_CH) &&
(usecase->id != USECASE_AUDIO_PLAYBACK_ULL) &&
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index c9683d5..eeb87ac 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -406,6 +406,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_FM_TUNER_EXT] = "fm-tuner-ext",
};
static const audio_usecase_t offload_usecases[] = {
@@ -1532,14 +1533,11 @@
goto end;
}
- // NB: case 7 is hypothetical and isn't a practical usecase yet.
- // But if it does happen, we need to give priority to d2 if
- // the combo devices active on the existing usecase share a backend.
- // This is because we cannot have a usecase active on a combo device
- // and a new usecase requests one device in this combo pair.
if (platform_check_backends_match(d3[0], d3[1])) {
return d2; // case 5
} else {
+ if (popcount(a1) > 1)
+ return d1; //case 7
// check if d1 is related to any of d3's
if (d1 == d3[0] || d1 == d3[1])
return d1; // case 1
@@ -1615,7 +1613,8 @@
platform_get_snd_device_name(snd_device),
platform_get_snd_device_name(usecase->out_snd_device),
platform_check_backends_match(snd_device, usecase->out_snd_device));
- if ((usecase->type != PCM_CAPTURE) && (usecase != uc_info)) {
+ if ((usecase->type != PCM_CAPTURE) && (usecase != uc_info) &&
+ (usecase->type != PCM_PASSTHROUGH)) {
uc_derive_snd_device = derive_playback_snd_device(adev->platform,
usecase, uc_info, snd_device);
if (((uc_derive_snd_device != usecase->out_snd_device) || force_routing) &&
@@ -2753,6 +2752,7 @@
!(usecase->stream.out->flags & AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD) &&
(usecase->type != TRANSCODE_LOOPBACK_TX) &&
(usecase->type != TRANSCODE_LOOPBACK_RX) &&
+ (usecase->type != PCM_CAPTURE) &&
usecase->stream.out->started) {
if (is_bt_soc_on(adev) == false) {
ALOGD("BT SCO/A2dp disconnected while in connection");
@@ -4184,6 +4184,13 @@
if (out->usecase == USECASE_AUDIO_PLAYBACK_MMAP) {
do_stop = out->playback_started;
out->playback_started = false;
+
+ if (out->mmap_shared_memory_fd >= 0) {
+ ALOGV("%s: closing mmap_shared_memory_fd = %d",
+ __func__, out->mmap_shared_memory_fd);
+ close(out->mmap_shared_memory_fd);
+ out->mmap_shared_memory_fd = -1;
+ }
}
} else {
ALOGD("copl(%p):standby", out);
@@ -4199,6 +4206,8 @@
if (do_stop) {
stop_output_stream(out);
}
+ // if fm is active route on selected device in UI
+ audio_extn_fm_route_on_selected_device(adev, out->devices);
pthread_mutex_unlock(&adev->lock);
}
pthread_mutex_unlock(&out->lock);
@@ -6111,6 +6120,9 @@
// Fall back to non exclusive mode
info->shared_memory_fd = pcm_get_poll_fd(out->pcm);
} else {
+ out->mmap_shared_memory_fd = info->shared_memory_fd; // for closing later
+ ALOGV("%s: opened mmap_shared_memory_fd = %d", __func__, out->mmap_shared_memory_fd);
+
if (mmap_size < buffer_size) {
step = "mmap";
goto exit;
@@ -6257,6 +6269,12 @@
} else if (in->usecase == USECASE_AUDIO_RECORD_MMAP) {
do_stop = in->capture_started;
in->capture_started = false;
+ if (in->mmap_shared_memory_fd >= 0) {
+ ALOGV("%s: closing mmap_shared_memory_fd = %d",
+ __func__, in->mmap_shared_memory_fd);
+ close(in->mmap_shared_memory_fd);
+ in->mmap_shared_memory_fd = -1;
+ }
} else {
if (audio_extn_cin_attached_usecase(in->usecase))
audio_extn_cin_close_input_stream(in);
@@ -6985,6 +7003,9 @@
// Fall back to non exclusive mode
info->shared_memory_fd = pcm_get_poll_fd(in->pcm);
} else {
+ in->mmap_shared_memory_fd = info->shared_memory_fd; // for closing later
+ ALOGV("%s: opened mmap_shared_memory_fd = %d", __func__, in->mmap_shared_memory_fd);
+
if (mmap_size < buffer_size) {
step = "mmap";
goto exit;
@@ -7159,6 +7180,15 @@
*stream_out = NULL;
+ pthread_mutex_lock(&adev->lock);
+ if (out_get_stream(adev, handle) != NULL) {
+ ALOGW("%s, output stream already opened", __func__);
+ ret = -EEXIST;
+ }
+ pthread_mutex_unlock(&adev->lock);
+ if (ret)
+ return ret;
+
out = (struct stream_out *)calloc(1, sizeof(struct stream_out));
ALOGD("%s: enter: format(%#x) sample_rate(%d) channel_mask(%#x) devices(%#x) flags(%#x)\
@@ -7200,6 +7230,7 @@
out->set_dual_mono = false;
out->prev_card_status_offline = false;
out->pspd_coeff_sent = false;
+ out->mmap_shared_memory_fd = -1; // not open
if ((flags & AUDIO_OUTPUT_FLAG_BD) &&
(property_get_bool("vendor.audio.matrix.limiter.enable", false)))
@@ -8102,16 +8133,13 @@
if (strcmp(value, AUDIO_PARAMETER_VALUE_ON) == 0){
adev->bt_sco_on = true;
} else {
- ALOGD("sco is off, reset sco and route device to handset/mic");
+ ALOGD("sco is off, reset sco and route device to handset mic");
adev->bt_sco_on = false;
audio_extn_sco_reset_configuration();
list_for_each(node, &adev->usecase_list) {
usecase = node_to_item(node, struct audio_usecase, list);
- if ((usecase->type == PCM_PLAYBACK) && usecase->stream.out &&
- (usecase->stream.out->devices & AUDIO_DEVICE_OUT_ALL_SCO))
- usecase->stream.out->devices = AUDIO_DEVICE_OUT_EARPIECE;
- else if ((usecase->type == PCM_CAPTURE) && usecase->stream.in &&
- (usecase->stream.in->device & AUDIO_DEVICE_IN_ALL_SCO))
+ if ((usecase->type == PCM_CAPTURE) && usecase->stream.in &&
+ (usecase->stream.in->device & AUDIO_DEVICE_IN_ALL_SCO))
usecase->stream.in->device = AUDIO_DEVICE_IN_BUILTIN_MIC;
else
continue;
@@ -8662,6 +8690,15 @@
return -EINVAL;
}
+ pthread_mutex_lock(&adev->lock);
+ if (in_get_stream(adev, handle) != NULL) {
+ ALOGW("%s, input stream already opened", __func__);
+ ret = -EEXIST;
+ }
+ pthread_mutex_unlock(&adev->lock);
+ if (ret)
+ return ret;
+
in = (struct stream_in *)calloc(1, sizeof(struct stream_in));
if (!in) {
@@ -8708,6 +8745,7 @@
in->zoom = 0;
list_init(&in->aec_list);
list_init(&in->ns_list);
+ in->mmap_shared_memory_fd = -1; // not open
ALOGV("%s: source %d, config->channel_mask %#x", __func__, source, config->channel_mask);
if (source == AUDIO_SOURCE_VOICE_UPLINK ||
@@ -9397,6 +9435,8 @@
platform_snd_card_update(adev->platform, status);
audio_extn_fm_set_parameters(adev, parms);
audio_extn_auto_hal_set_parameters(adev, parms);
+ if (status == CARD_STATUS_OFFLINE)
+ audio_extn_sco_reset_configuration();
} else if (is_ext_device_status) {
platform_set_parameters(adev->platform, parms);
}
@@ -9575,6 +9615,8 @@
list_init(&adev->usecase_list);
list_init(&adev->active_inputs_list);
list_init(&adev->active_outputs_list);
+ list_init(&adev->audio_patch_record_list);
+ adev->audio_patch_index = 0;
adev->cur_wfd_channels = 2;
adev->offload_usecases_state = 0;
adev->pcm_record_uc_state = 0;
diff --git a/hal/audio_hw.h b/hal/audio_hw.h
index 4810896..e3e19c5 100644
--- a/hal/audio_hw.h
+++ b/hal/audio_hw.h
@@ -228,6 +228,8 @@
USECASE_AUDIO_PLAYBACK_NAV_GUIDANCE,
USECASE_AUDIO_PLAYBACK_PHONE,
+ /*Audio FM Tuner usecase*/
+ USECASE_AUDIO_FM_TUNER_EXT,
AUDIO_USECASE_MAX
};
@@ -296,7 +298,6 @@
RENDER_MODE_AUDIO_STC_MASTER,
} render_mode_t;
-#ifdef AUDIO_EXTN_AUTO_HAL_ENABLED
/* 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 8 and is
@@ -309,7 +310,6 @@
CAR_AUDIO_STREAM_NAV_GUIDANCE = 0x4,
CAR_AUDIO_STREAM_PHONE = 0x8,
};
-#endif
struct stream_app_type_cfg {
int sample_rate;
@@ -366,6 +366,7 @@
bool muted;
uint64_t written; /* total frames written, not cleared when entering standby */
int64_t mmap_time_offset_nanos; /* fudge factor to correct inaccuracies in DSP */
+ int mmap_shared_memory_fd; /* file descriptor associated with MMAP NOIRQ shared memory */
audio_io_handle_t handle;
struct stream_app_type_cfg app_type_cfg;
@@ -454,6 +455,7 @@
struct listnode aec_list;
struct listnode ns_list;
int64_t mmap_time_offset_nanos; /* fudge factor to correct inaccuracies in DSP */
+ int mmap_shared_memory_fd; /* file descriptor associated with MMAP NOIRQ shared memory */
audio_io_handle_t capture_handle;
audio_input_flags_t flags;
char profile[MAX_STREAM_PROFILE_STR_LEN];
@@ -494,6 +496,7 @@
PCM_HFP_CALL,
TRANSCODE_LOOPBACK_RX,
TRANSCODE_LOOPBACK_TX,
+ PCM_PASSTHROUGH,
USECASE_TYPE_MAX
} usecase_type_t;
@@ -673,6 +676,18 @@
bool use_old_pspd_mix_ctrl;
int camera_orientation; /* CAMERA_BACK_LANDSCAPE ... CAMERA_FRONT_PORTRAIT */
bool adm_routing_changed;
+ struct listnode audio_patch_record_list;
+ unsigned int audio_patch_index;
+};
+
+struct audio_patch_record {
+ struct listnode list;
+ audio_patch_handle_t handle;
+ audio_usecase_t usecase;
+ audio_io_handle_t input_io_handle;
+ audio_io_handle_t output_io_handle;
+ struct audio_port_config source;
+ struct audio_port_config sink;
};
int select_devices(struct audio_device *adev,
diff --git a/hal/msm8916/platform.c b/hal/msm8916/platform.c
index 130c017..64e9383 100644
--- a/hal/msm8916/platform.c
+++ b/hal/msm8916/platform.c
@@ -5910,7 +5910,6 @@
case USECASE_VOICEMMODE1_CALL:
case USECASE_VOICEMMODE2_CALL:
case USECASE_COMPRESS_VOIP_CALL:
- case USECASE_AUDIO_RECORD_FM_VIRTUAL:
case USECASE_INCALL_REC_UPLINK:
case USECASE_INCALL_REC_DOWNLINK:
case USECASE_INCALL_REC_UPLINK_AND_DOWNLINK:
@@ -5919,8 +5918,6 @@
case USECASE_INCALL_REC_UPLINK_AND_DOWNLINK_COMPRESS:
case USECASE_INCALL_MUSIC_UPLINK:
case USECASE_INCALL_MUSIC_UPLINK2:
- case USECASE_AUDIO_SPKR_CALIB_RX:
- case USECASE_AUDIO_SPKR_CALIB_TX:
case USECASE_AUDIO_RECORD_VOIP:
needs_event = true;
break;
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index 5cb1189..42c9256 100644
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -481,7 +481,7 @@
NAV_GUIDANCE_PCM_DEVICE},
[USECASE_AUDIO_PLAYBACK_PHONE] = {PHONE_PCM_DEVICE,
PHONE_PCM_DEVICE},
-
+ [USECASE_AUDIO_FM_TUNER_EXT] = {-1, -1},
};
/* Array to store sound devices */
@@ -5880,7 +5880,8 @@
snd_device = SND_DEVICE_OUT_BT_SCO_WB;
else
snd_device = SND_DEVICE_OUT_BT_SCO;
- } else if (devices & (AUDIO_DEVICE_OUT_SPEAKER | AUDIO_DEVICE_OUT_SPEAKER_SAFE)) {
+ } else if ((devices & (AUDIO_DEVICE_OUT_SPEAKER | AUDIO_DEVICE_OUT_SPEAKER_SAFE)) ||
+ (devices & AUDIO_DEVICE_OUT_BUS)) {
if (my_data->is_vbat_speaker || my_data->is_bcl_speaker) {
if (hw_info_is_stereo_spkr(my_data->hw_info)) {
if (my_data->mono_speaker == SPKR_1)
@@ -6432,7 +6433,8 @@
} else if (out_device & AUDIO_DEVICE_OUT_SPEAKER ||
out_device & AUDIO_DEVICE_OUT_SPEAKER_SAFE ||
out_device & AUDIO_DEVICE_OUT_WIRED_HEADPHONE ||
- out_device & AUDIO_DEVICE_OUT_LINE) {
+ out_device & AUDIO_DEVICE_OUT_LINE ||
+ out_device & AUDIO_DEVICE_OUT_BUS) {
if (my_data->fluence_type != FLUENCE_NONE &&
(my_data->fluence_in_voice_call ||
my_data->fluence_in_hfp_call) &&
@@ -8021,9 +8023,6 @@
case USECASE_INCALL_MUSIC_UPLINK:
case USECASE_INCALL_MUSIC_UPLINK2:
case USECASE_AUDIO_RECORD_VOIP:
- case USECASE_AUDIO_RECORD_FM_VIRTUAL:
- case USECASE_AUDIO_SPKR_CALIB_RX:
- case USECASE_AUDIO_SPKR_CALIB_TX:
needs_event = true;
break;
default:
@@ -8057,7 +8056,9 @@
}
/* Use client specified buffer size if mentioned */
- if ((info != NULL) && (info->duration_us > 0)) {
+ if ((info != NULL) &&
+ (info->duration_us >= MIN_OFFLOAD_BUFFER_DURATION_MS) &&
+ (info->duration_us <= MAX_OFFLOAD_BUFFER_DURATION_MS)) {
duration_ms = info->duration_us / 1000;
channel_count = audio_channel_count_from_in_mask(info->channel_mask);
diff --git a/hal/msm8974/platform.h b/hal/msm8974/platform.h
index d747454..3816f77 100644
--- a/hal/msm8974/platform.h
+++ b/hal/msm8974/platform.h
@@ -445,7 +445,12 @@
#define MULTIMEDIA9_PCM_DEVICE 32
#define FM_PLAYBACK_PCM_DEVICE 5
#define FM_CAPTURE_PCM_DEVICE 6
+
+#ifdef PLATFORM_AUTO
+#define HFP_PCM_RX 36
+#else
#define HFP_PCM_RX 5
+#endif
#define INCALL_MUSIC_UPLINK_PCM_DEVICE 1
diff --git a/hal/voice.c b/hal/voice.c
index c455537..0000d72 100644
--- a/hal/voice.c
+++ b/hal/voice.c
@@ -330,7 +330,7 @@
}
#endif
- if(adev->mic_break_enabled)
+ if (adev->mic_break_enabled)
platform_set_mic_break_det(adev->platform, true);
ret = pcm_start(session->pcm_tx);
@@ -786,6 +786,10 @@
void voice_init(struct audio_device *adev)
{
int i = 0;
+ int max_voice_sessions = MAX_VOICE_SESSIONS;
+
+ if (!voice_extn_is_multi_session_supported())
+ max_voice_sessions = 1;
memset(&adev->voice, 0, sizeof(adev->voice));
adev->voice.tty_mode = TTY_MODE_OFF;
@@ -793,7 +797,7 @@
adev->voice.volume = 1.0f;
adev->voice.mic_mute = false;
adev->voice.in_call = false;
- for (i = 0; i < MAX_VOICE_SESSIONS; i++) {
+ for (i = 0; i < max_voice_sessions; i++) {
adev->voice.session[i].pcm_rx = NULL;
adev->voice.session[i].pcm_tx = NULL;
adev->voice.session[i].state.current = CALL_INACTIVE;
diff --git a/hal/voice_extn/voice_extn.c b/hal/voice_extn/voice_extn.c
index d278742..e6a4ed6 100644
--- a/hal/voice_extn/voice_extn.c
+++ b/hal/voice_extn/voice_extn.c
@@ -87,6 +87,7 @@
static bool voice_extn_compress_voip_enabled = false;
static bool voice_extn_dynamic_ecns_feature_enabled = false;
static bool voice_extn_incall_music_enabled = false;
+static bool voice_extn_multi_session_enabled = false;
int voice_extn_is_call_state_active(struct audio_device *adev, bool *is_call_active);
@@ -184,10 +185,14 @@
struct voice_session *session = NULL;
int i = 0;
uint32_t session_id = 0;
+ int max_voice_sessions = MAX_VOICE_SESSIONS;
- for (i = 0; i < MAX_VOICE_SESSIONS; i++) {
+ if (!voice_extn_is_multi_session_supported())
+ max_voice_sessions = 1;
+
+ for (i = 0; i < max_voice_sessions; i++) {
session = &adev->voice.session[i];
- if(session->state.current == call_state){
+ if (session->state.current == call_state){
session_id = session->vsid;
break;
}
@@ -203,10 +208,13 @@
enum voice_lch_mode lch_mode;
struct voice_session *session = NULL;
int ret = 0;
+ int max_voice_sessions = MAX_VOICE_SESSIONS;
ALOGD("%s: enter:", __func__);
+ if (!voice_extn_is_multi_session_supported())
+ max_voice_sessions = 1;
- for (i = 0; i < MAX_VOICE_SESSIONS; i++) {
+ for (i = 0; i < max_voice_sessions; i++) {
usecase_id = voice_extn_get_usecase_for_session_idx(i);
session = &adev->voice.session[i];
ALOGD("%s: cur_state=%d new_state=%d vsid=%x",
@@ -220,7 +228,7 @@
case CALL_INACTIVE:
ALOGD("%s: INACTIVE -> ACTIVE vsid:%x", __func__, session->vsid);
ret = voice_start_usecase(adev, usecase_id);
- if(ret < 0) {
+ if (ret < 0) {
ALOGE("%s: voice_start_usecase() failed for usecase: %d\n",
__func__, usecase_id);
} else {
@@ -258,7 +266,7 @@
case CALL_LOCAL_HOLD:
ALOGD("%s: ACTIVE/HOLD/LOCAL_HOLD -> INACTIVE vsid:%x", __func__, session->vsid);
ret = voice_stop_usecase(adev, usecase_id);
- if(ret < 0) {
+ if (ret < 0) {
ALOGE("%s: voice_stop_usecase() failed for usecase: %d\n",
__func__, usecase_id);
} else {
@@ -334,8 +342,12 @@
struct voice_session *session = NULL;
int i = 0;
bool is_call_active;
+ int max_voice_sessions = MAX_VOICE_SESSIONS;
- for (i = 0; i < MAX_VOICE_SESSIONS; i++) {
+ if (!voice_extn_is_multi_session_supported())
+ max_voice_sessions = 1;
+
+ for (i = 0; i < max_voice_sessions; i++) {
if (vsid == adev->voice.session[i].vsid) {
session = &adev->voice.session[i];
break;
@@ -370,6 +382,9 @@
int voice_extn_get_active_session_id(struct audio_device *adev,
uint32_t *session_id)
{
+ if (!voice_extn_is_multi_session_supported())
+ return -ENOSYS;
+
*session_id = get_session_id_with_state(adev, CALL_ACTIVE);
return 0;
}
@@ -378,11 +393,14 @@
{
struct voice_session *session = NULL;
int i = 0;
- *is_call_active = false;
+ if (!voice_extn_is_multi_session_supported())
+ return -ENOSYS;
+
+ *is_call_active = false;
for (i = 0; i < MAX_VOICE_SESSIONS; i++) {
session = &adev->voice.session[i];
- if(session->state.current != CALL_INACTIVE){
+ if (session->state.current != CALL_INACTIVE){
*is_call_active = true;
break;
}
@@ -403,14 +421,17 @@
return voice_extn_dynamic_ecns_feature_enabled;
}
-// START: INCALL_MUSIC ===================================================================
void incall_music_feature_init(bool is_feature_enabled)
{
voice_extn_incall_music_enabled = is_feature_enabled;
ALOGV("%s: ---- Feature INCALL_MUSIC is %s----", __func__,
is_feature_enabled ? "ENABLED" : "NOT ENABLED");
}
-// END: INCALL_MUSIC ===================================================================
+
+bool voice_extn_is_incall_music_enabled()
+{
+ return voice_extn_incall_music_enabled;
+}
void compr_voip_feature_init(bool is_feature_enabled)
{
@@ -424,6 +445,18 @@
return voice_extn_compress_voip_enabled;
}
+void multi_voice_session_feature_init(bool is_feature_enabled)
+{
+ voice_extn_multi_session_enabled = is_feature_enabled;
+ ALOGV("%s:: ---- Feature MULTI VOICE SESSION is %s ----", __func__,
+ is_feature_enabled ? "ENABLED" : "NOT ENABLED");
+}
+
+bool voice_extn_is_multi_session_supported()
+{
+ return voice_extn_multi_session_enabled;
+}
+
void voice_extn_feature_init()
{
// Register feature function here
@@ -437,10 +470,17 @@
incall_music_feature_init(
property_get_bool("vendor.audio.feature.incall_music.enable",
true));
+ multi_voice_session_feature_init(
+ property_get_bool("vendor.audio.feature.multi_voice_session.enable",
+ true));
+
}
void voice_extn_init(struct audio_device *adev)
{
+ if (!voice_extn_is_multi_session_supported())
+ return;
+
adev->voice.session[VOICE_SESS_IDX].vsid = VOICE_VSID;
adev->voice.session[VOICE2_SESS_IDX].vsid = VOICE2_VSID;
adev->voice.session[VOLTE_SESS_IDX].vsid = VOLTE_VSID;
@@ -454,6 +494,8 @@
const audio_usecase_t usecase_id,
struct voice_session **session)
{
+ if (!voice_extn_is_multi_session_supported())
+ return -ENOSYS;
switch(usecase_id)
{
@@ -500,6 +542,9 @@
* udpated.
*/
ALOGV("%s: enter:", __func__);
+ if (!voice_extn_is_multi_session_supported())
+ return -ENOSYS;
+
return update_calls(adev);
}
@@ -510,6 +555,9 @@
ALOGV("%s: enter:", __func__);
+ if (!voice_extn_is_multi_session_supported())
+ return -ENOSYS;
+
/* If BT device is enabled and voice calls are ended, telephony will call
* set_mode(AUDIO_MODE_NORMAL) which will trigger audio policy manager to
* set routing with device BT A2DP profile. Hence end all voice calls when
@@ -616,8 +664,12 @@
int ret = 0;
char *cur_ptr = value;
int i, len=0;
+ int max_voice_sessions = MAX_VOICE_SESSIONS;
- for (i = 0; i < MAX_VOICE_SESSIONS; i++) {
+ if (!voice_extn_is_multi_session_supported())
+ max_voice_sessions = 1;
+
+ for (i = 0; i < max_voice_sessions; i++) {
snprintf(cur_ptr, VOICE_EXTN_PARAMETER_VALUE_MAX_LEN - len,
"%d:%d,",adev->voice.session[i].vsid,
adev->voice.session[i].state.current);
@@ -655,7 +707,7 @@
}
str_parms_add_str(reply, AUDIO_PARAMETER_KEY_ALL_CALL_STATES, value);
}
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
voice_extn_compress_voip_get_parameters(query, reply);
str = str_parms_to_str(reply);
@@ -667,7 +719,7 @@
struct str_parms *query,
struct str_parms *reply)
{
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
voice_extn_compress_voip_out_get_parameters(out, query, reply);
}
@@ -675,7 +727,7 @@
struct str_parms *query,
struct str_parms *reply)
{
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
voice_extn_compress_voip_in_get_parameters(in, query, reply);
}
@@ -683,7 +735,7 @@
int voice_extn_check_and_set_incall_music_usecase(struct audio_device *adev,
struct stream_out *out)
{
- if(voice_extn_incall_music_enabled) {
+ if (voice_extn_incall_music_enabled) {
uint32_t session_id = get_session_id_with_state(adev, CALL_ACTIVE);
if (session_id == VOICEMMODE1_VSID) {
out->usecase = USECASE_INCALL_MUSIC_UPLINK;
@@ -707,10 +759,10 @@
int voice_extn_compress_voip_set_parameters(struct audio_device *adev,
- struct str_parms *parms)
+ struct str_parms *parms)
{
int ret = -ENOSYS;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_set_parameters(adev, parms);
return ret;
}
@@ -718,7 +770,7 @@
void voice_extn_compress_voip_get_parameters(struct str_parms *query,
struct str_parms *reply)
{
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
compress_voip_get_parameters(query, reply);
}
@@ -727,7 +779,7 @@
struct str_parms *query,
struct str_parms *reply)
{
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
compress_voip_out_get_parameters(out, query, reply);
}
@@ -735,14 +787,14 @@
struct str_parms *query,
struct str_parms *reply)
{
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
compress_voip_in_get_parameters(in, query, reply);
}
int voice_extn_compress_voip_out_get_buffer_size(struct stream_out *out)
{
int ret = -1;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_out_get_buffer_size(out);
return ret;
}
@@ -750,7 +802,7 @@
int voice_extn_compress_voip_in_get_buffer_size(struct stream_in *in)
{
int ret = -1;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_in_get_buffer_size(in);
return ret;
}
@@ -759,7 +811,7 @@
int voice_extn_compress_voip_start_output_stream(struct stream_out *out)
{
int ret = -1;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_start_output_stream(out);
return ret;
}
@@ -768,7 +820,7 @@
int voice_extn_compress_voip_start_input_stream(struct stream_in *in)
{
int ret = -1;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_start_input_stream(in);
return ret;
}
@@ -776,7 +828,7 @@
int voice_extn_compress_voip_close_output_stream(struct audio_stream *stream)
{
int ret = -1;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_close_output_stream(stream);
return ret;
}
@@ -785,7 +837,7 @@
int voice_extn_compress_voip_close_input_stream(struct audio_stream *stream)
{
int ret = -1;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_close_input_stream(stream);
return ret;
}
@@ -793,7 +845,7 @@
int voice_extn_compress_voip_open_output_stream(struct stream_out *out)
{
int ret = -1;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_open_output_stream(out);
return ret;
}
@@ -802,7 +854,7 @@
int voice_extn_compress_voip_open_input_stream(struct stream_in *in)
{
int ret = -1;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_open_input_stream(in);
return ret;
}
@@ -810,7 +862,7 @@
int voice_extn_compress_voip_set_volume(struct audio_device *adev, float volume)
{
int ret = -1;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_set_volume(adev, volume);
return ret;
}
@@ -818,7 +870,7 @@
int voice_extn_compress_voip_set_mic_mute(struct audio_device *adev, bool state)
{
int ret = -1;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_set_mic_mute(adev, state);
return ret;
}
@@ -826,7 +878,7 @@
bool voice_extn_compress_voip_pcm_prop_check()
{
bool ret = false;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_pcm_prop_check();
return ret;
}
@@ -834,7 +886,7 @@
bool voice_extn_compress_voip_is_active(const struct audio_device *adev)
{
bool ret = false;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_is_active(adev);
return ret;
}
@@ -842,7 +894,7 @@
bool voice_extn_compress_voip_is_format_supported(audio_format_t format)
{
bool ret = false;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_is_format_supported(format);
return ret;
}
@@ -850,7 +902,7 @@
bool voice_extn_compress_voip_is_config_supported(struct audio_config *config)
{
bool ret = false;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_is_config_supported(config);
return ret;
}
@@ -858,7 +910,7 @@
bool voice_extn_compress_voip_is_started(struct audio_device *adev)
{
bool ret = false;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_is_started(adev);
return ret;
}
diff --git a/hal/voice_extn/voice_extn.h b/hal/voice_extn/voice_extn.h
index c4f0d49..b2aab7e 100644
--- a/hal/voice_extn/voice_extn.h
+++ b/hal/voice_extn/voice_extn.h
@@ -78,10 +78,14 @@
bool voice_extn_compress_voip_is_config_supported(struct audio_config *config);
bool voice_extn_compress_voip_is_started(struct audio_device *adev);
void voice_extn_feature_init();
-void compr_voip_feature_init(bool is_feature_enabled);
-bool voice_extn_is_compress_voip_supported();
void dynamic_ecns_feature_init(bool is_feature_enabled);
bool voice_extn_is_dynamic_ecns_enabled();
+void incall_music_feature_init(bool is_feature_enabled);
+bool voice_extn_is_incall_music_enabled();
+void compr_voip_feature_init(bool is_feature_enabled);
+bool voice_extn_is_compress_voip_supported();
+void multi_voice_session_feature_init(bool is_feature_enabled);
+bool voice_extn_is_multi_session_supported();
#endif //VOICE_EXTN_H
diff --git a/post_proc/Android.mk b/post_proc/Android.mk
index fb42514..76a42b1 100644
--- a/post_proc/Android.mk
+++ b/post_proc/Android.mk
@@ -142,7 +142,7 @@
################################################################################
-ifneq ($(filter msm8992 msm8994 msm8996 msm8998 sdm660 sdm845 apq8098_latv sdm710 msm8953 msm8937 qcs605 msmnile kona atoll $(MSMSTEPPE) $(TRINKET) lito,$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter msm8992 msm8994 msm8996 msm8998 sdm660 sdm845 apq8098_latv sdm710 msm8953 msm8937 qcs605 sdmshrike msmnile kona atoll $(MSMSTEPPE) $(TRINKET) lito,$(TARGET_BOARD_PLATFORM)),)
include $(CLEAR_VARS)