Merge "configs: Enable sorting for the paths in utils script"
diff --git a/configs/common/base/mixer_paths_base.xml b/configs/common/base/mixer_paths_base.xml
old mode 100644
new mode 100755
index 8055744..3d96c7f
--- a/configs/common/base/mixer_paths_base.xml
+++ b/configs/common/base/mixer_paths_base.xml
@@ -458,6 +458,7 @@
<ctl name="RX INT2_1 VBAT RX AUX VBAT Enable" value="0"/>
<ctl name="MultiMedia16 Mixer SLIM_8_TX" value="0"/>
<ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia31" value="0"/>
+ <path name="speaker-and-haptics"/>
<path name="gsm-mode">
<ctl name="GSM mode Enable" value="ON"/>
</path>
diff --git a/configs/common/mixer_xml_utils.py b/configs/common/mixer_xml_utils.py
index 5920afd..d8f5581 100755
--- a/configs/common/mixer_xml_utils.py
+++ b/configs/common/mixer_xml_utils.py
@@ -56,6 +56,7 @@
def xml_to_map(xml_node, root_key=None, map=None, node_level=0):
+ """Given xml node, generate map(dict)"""
if not map:
map = dict()
if not root_key:
@@ -69,6 +70,16 @@
return map
+def get_mixer_map(super_root):
+ for node in super_root:
+ mixer = node
+ mixer_map = dict()
+ for node in mixer:
+ node_key = gen_xml_string(node)
+ mixer_map[node_key] = node
+ return mixer_map
+
+
def get_key_for_node_only(xml_node, level):
""" Given xml node ,generate unique based on (node, node atrributes, node depth) only"""
attr_str = ''
@@ -118,11 +129,12 @@
def gen_xml_string(xml_node, level=0):
+ """Generate xml string for a given xml node with good indentation"""
s = '<' + xml_node.tag + ' '
if xml_node.attrib:
for at_name in ATTRIBUTE_ORDER:
- at_value = xml_node.attrib.get(at_name, "ZEBRAA")
- if at_value != "ZEBRAA":
+ at_value = xml_node.attrib.get(at_name, "ZEBRAAAA")
+ if at_value != "ZEBRAAAA":
s += at_name + '=\"' + at_value + '\" '
space_str = ''
for i in range(level):
@@ -214,19 +226,14 @@
def mixer_extract_overlay(super_base, super_mixer):
for child in super_mixer:
mixer = child
- base_map = xml_to_map(super_base, map=None)
- # print_map(base_map)
- level = 0
- current_key = get_key_for_node_only(
- super_mixer, level) + '->' + get_key_for_node_only(mixer, level + 1)
- level += 1
+ base_map = get_mixer_map(super_base)
new_mixer = get_copy_xml_node(mixer)
super_root = get_copy_xml_node(super_mixer)
super_root.append(new_mixer)
for xml_child in mixer:
- if not _mixer_extract_overlay(xml_child, current_key, base_map,
- level + 1):
- # print(xml_child.tag, xml_child.attrib)
+ xml_child_key = gen_xml_string(xml_child)
+ node_elem=base_map.get(xml_child_key, False)
+ if not isinstance(node_elem,ET.Element):
child_copy = copy_full_node(xml_child)
new_mixer.append(child_copy)
return super_root
@@ -243,12 +250,13 @@
return False
return True
+
def seperate_ctl_path(super_root):
for child in super_root:
- mixer=child
- path_nodes=list()
+ mixer = child
+ path_nodes = list()
for child in mixer:
- if child.tag=='path':
+ if child.tag == 'path':
path_nodes.append(child)
for path_node in path_nodes:
mixer.remove(path_node)
@@ -256,12 +264,13 @@
mixer.append(path_node)
return super_root
+
def mixer_combine(super_base, super_overlay):
super_base = copy_full_node(super_base)
super_overlay = copy_full_node(super_overlay)
- super_base=seperate_ctl_path(super_base)
- super_overlay=seperate_ctl_path(super_overlay)
+ super_base = seperate_ctl_path(super_base)
+ super_overlay = seperate_ctl_path(super_overlay)
for child in super_base:
base = child
@@ -285,6 +294,7 @@
for i in range(overlay_ctl_len, len(overlay)):
base.append(overlay[i])
super_base = override_tag(super_base)
+ super_base = sort_tag_depend(super_base)
return super_base
@@ -314,6 +324,72 @@
return super_combined
+def sort_tag_depend(super_root):
+ for node in super_root:
+ mixer = node
+ dep_map = dict()
+ sub_node_list = list()
+ start_flag = True
+ start = 0
+ path_start = 0
+ all_nodes_map = dict()
+ for sub_node in mixer:
+ start += 1
+ sub_node_list.append(sub_node)
+ if sub_node.tag == "ctl":
+ continue
+ if start_flag:
+ path_start = start
+ start_flag = False
+ key = sub_node.tag+":"+"name=" + \
+ sub_node.attrib.get("name", str(None)) + "id=" + \
+ sub_node.attrib.get("id", str(None))
+ dep_list = list()
+ all_nodes_map[key] = sub_node
+ for child in sub_node:
+ if child.tag == "ctl":
+ continue
+ dep_list.append(child)
+ if len(dep_list) != 0:
+ dep_map[key] = dep_list
+ else:
+ dep_map[key] = True
+ # print("path_start:"+str(path_start))
+ ctl_list = sub_node_list[0:path_start]
+ path_list = sub_node_list[path_start:]
+ new_path_list = _sort_tag_depend(
+ all_nodes_map, path_list, dep_map, new_path_list=None)
+ full_list = ctl_list+new_path_list
+ mixer.clear()
+ for node in full_list:
+ mixer.append(node)
+ return super_root
+
+
+def _sort_tag_depend(all_nodes_map, path_list, dep_map, new_path_list=None):
+ if new_path_list is None:
+ new_path_list = list()
+
+ for sub_node in path_list:
+ key = sub_node.tag+":"+"name=" + \
+ sub_node.attrib.get("name", str(None))+"id=" + \
+ sub_node.attrib.get("id", str(None))
+ res = dep_map.get(key, False)
+ req_node = all_nodes_map.get(key, 0)
+ if req_node == 0:
+ print(gen_xml_string(sub_node))
+ print("Error in ordering the mixer tags")
+ if res == True:
+ new_path_list.append(req_node)
+ elif res == False:
+ continue
+ else:
+ _sort_tag_depend(all_nodes_map, res, dep_map, new_path_list)
+ new_path_list.append(req_node)
+ dep_map[key] = False
+ return new_path_list
+
+
def is_xmls_good(files):
try:
for file_name in files:
@@ -527,6 +603,24 @@
return flag
+def checker_v3(node1, node2):
+ for node in node1:
+ mixer1 = node
+ for node in node2:
+ mixer2 = node
+ map2 = dict()
+ for sub_node in mixer2:
+ key = gen_xml_string(sub_node)
+ map2[key] = True
+ flag = True
+ for sub_node in mixer1:
+ key = gen_xml_string(sub_node)
+ if not map2.get(key, False):
+ print(key)
+ flag = False
+ return flag
+
+
def check(args):
if args.file:
if not os.path.isfile(args.file):
@@ -535,10 +629,10 @@
return
f1 = open_xml_root(args.file1)
f2 = open_xml_root(args.file2)
- if check_mixer_equivalent(f1, f2):
+ if checker_v3(f1, f2):
print('file1 <= file2')
print("=======================================================")
- if check_mixer_equivalent(f2, f1):
+ if checker_v3(f2, f1):
print('file2 <= file1')
return
diff --git a/configs/holi/holi.mk b/configs/holi/holi.mk
index c6b10ff..bca59d2 100755
--- a/configs/holi/holi.mk
+++ b/configs/holi/holi.mk
@@ -6,16 +6,18 @@
AUDIO_USE_STUB_HAL := true
endif
endif
-##mixer xml generation
-#BASE_PATH := vendor/qcom/opensource/audio-hal/primary-hal/configs/common/base
-#OVERLAY_PATH := vendor/qcom/opensource/audio-hal/primary-hal/configs/holi/holi_overlay
-#TARGET_PATH := vendor/qcom/opensource/audio-hal/primary-hal/configs/holi
-#SCRIPT := vendor/qcom/opensource/audio-hal/primary-hal/configs/common/mixer_xml_utils.py
-#$(shell python $(SCRIPT) --generate combine --base $(BASE_PATH)/mixer_paths_base.xml --overlay $(OVERLAY_PATH)/mixer_paths_overlay.xml $(OVERLAY_PATH)/mixer_paths_qrd_overlay.xml $(OVERLAY_PATH)/mixer_paths_usbc_overlay.xml --out_dir $(TARGET_PATH) --out mixer_paths.xml mixer_paths_qrd.xml mixer_paths_usbc.xml )
+#mixer xml generation
+BASE_PATH := vendor/qcom/opensource/audio-hal/primary-hal/configs/common/base
+OVERLAY_PATH := vendor/qcom/opensource/audio-hal/primary-hal/configs/holi/holi_overlay
+TARGET_PATH := vendor/qcom/opensource/audio-hal/primary-hal/configs/holi
+SCRIPT := vendor/qcom/opensource/audio-hal/primary-hal/configs/common/mixer_xml_utils.py
-#$(shell python $(SCRIPT) --generate combine --base $(BASE_PATH)/sound_trigger_mixer_paths_base.xml --overlay $(OVERLAY_PATH)/sound_trigger_mixer_paths_overlay.xml $(OVERLAY_PATH)/sound_trigger_mixer_paths_qrd_overlay.xml $(OVERLAY_PATH)/sound_trigger_mixer_paths_usbc_overlay.xml --out_dir $(TARGET_PATH) --out sound_trigger_mixer_paths.xml sound_trigger_mixer_paths_qrd.xml sound_trigger_mixer_paths_usbc.xml )
-##
+$(shell python $(SCRIPT) --generate combine --base $(BASE_PATH)/mixer_paths_base.xml --overlay $(OVERLAY_PATH)/mixer_paths_overlay.xml $(OVERLAY_PATH)/mixer_paths_qrd_overlay.xml $(OVERLAY_PATH)/mixer_paths_usbc_overlay.xml --out_dir $(TARGET_PATH) --out mixer_paths.xml mixer_paths_qrd.xml mixer_paths_usbc.xml )
+
+$(shell python $(SCRIPT) --generate combine --base $(BASE_PATH)/sound_trigger_mixer_paths_base.xml --overlay $(OVERLAY_PATH)/sound_trigger_mixer_paths_overlay.xml $(OVERLAY_PATH)/sound_trigger_mixer_paths_qrd_overlay.xml $(OVERLAY_PATH)/sound_trigger_mixer_paths_usbc_overlay.xml --out_dir $(TARGET_PATH) --out sound_trigger_mixer_paths.xml sound_trigger_mixer_paths_qrd.xml sound_trigger_mixer_paths_usbc.xml )
+#
+
ifneq ($(AUDIO_USE_STUB_HAL), true)
BOARD_USES_ALSA_AUDIO := true
TARGET_USES_AOSP_FOR_AUDIO := false
diff --git a/configs/holi/holi_overlay/mixer_paths_qrd_overlay.xml b/configs/holi/holi_overlay/mixer_paths_qrd_overlay.xml
index 4b30af6..835d6fb 100644
--- a/configs/holi/holi_overlay/mixer_paths_qrd_overlay.xml
+++ b/configs/holi/holi_overlay/mixer_paths_qrd_overlay.xml
@@ -248,6 +248,9 @@
<path name="handset-mic">
<path name="amic3"/>
</path>
+ <path name="headphones-44.1">
+ <path name="headphones"/>
+ </path>
<path name="hph-highquality-mode">
<ctl name="RX_HPH_PWR_MODE" value="LOHIFI"/>
<ctl name="RX HPH Mode" value="CLS_H_LOHIFI"/>
@@ -291,6 +294,10 @@
<path name="speaker-dmic-broadside">
<path name="speaker-dmic-endfire"/>
</path>
+ <path name="voice-tty-full-headset-mic">
+ <path name="amic2"/>
+ <ctl name="ADC2 Volume" value="0"/>
+ </path>
<path name="voice-tty-hco-headset-mic">
<path name="voice-tty-full-headset-mic"/>
</path>
diff --git a/configs/holi/holi_overlay/mixer_paths_usbc_overlay.xml b/configs/holi/holi_overlay/mixer_paths_usbc_overlay.xml
index 8d001f8..f0eb264 100644
--- a/configs/holi/holi_overlay/mixer_paths_usbc_overlay.xml
+++ b/configs/holi/holi_overlay/mixer_paths_usbc_overlay.xml
@@ -144,6 +144,19 @@
<path name="spkr-rx-calib">
<ctl name="RX_CDC_DMA_RX_1_DL_HL Switch" value="1"/>
</path>
+ <path name="amic2">
+ <ctl name="TX DEC0 MUX" value="SWR_MIC"/>
+ <ctl name="TX SMIC MUX0" value="SWR_MIC1"/>
+ <ctl name="TX_CDC_DMA_TX_4 Channels" value="One"/>
+ <ctl name="TX_AIF2_CAP Mixer DEC0" value="1"/>
+ <ctl name="DEC0_BCS Switch" value="1"/>
+ <ctl name="ADC2_MIXER Switch" value="1"/>
+ <ctl name="ADC2 MUX" value="INP2"/>
+ <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2"/>
+ <ctl name="MBHC ChMap" value="SWRM_TX2_CH3"/>
+ <ctl name="BCS Channel" value="CH6"/>
+ <ctl name="HDR12 MUX" value="NO_HDR12"/>
+ </path>
<path name="speaker">
<ctl name="RX_CDC_DMA_RX_1 Channels" value="One"/>
<ctl name="RX_MACRO RX2 MUX" value="AIF2_PB"/>
diff --git a/configs/lahaina/lahaina.mk b/configs/lahaina/lahaina.mk
index 14efb45..a2d7e0b 100755
--- a/configs/lahaina/lahaina.mk
+++ b/configs/lahaina/lahaina.mk
@@ -6,16 +6,18 @@
AUDIO_USE_STUB_HAL := true
endif
endif
-##mixer xml generation
-#BASE_PATH := vendor/qcom/opensource/audio-hal/primary-hal/configs/common/base
-#OVERLAY_PATH := vendor/qcom/opensource/audio-hal/primary-hal/configs/lahaina/shima_overlay
-#TARGET_PATH := vendor/qcom/opensource/audio-hal/primary-hal/configs/lahaina
-#SCRIPT := vendor/qcom/opensource/audio-hal/primary-hal/configs/common/mixer_xml_utils.py
-#$(shell python $(SCRIPT) --generate combine --base $(BASE_PATH)/mixer_paths_base.xml --overlay $(OVERLAY_PATH)/mixer_paths_shimaidp_overlay.xml $(OVERLAY_PATH)/mixer_paths_shimaidps_overlay.xml $(OVERLAY_PATH)/mixer_paths_shimaqrd_overlay.xml --out_dir $(TARGET_PATH) --out mixer_paths_shimaidp.xml mixer_paths_shimaidps.xml mixer_paths_shimaqrd.xml )
+#mixer xml generation
+BASE_PATH := vendor/qcom/opensource/audio-hal/primary-hal/configs/common/base
+OVERLAY_PATH := vendor/qcom/opensource/audio-hal/primary-hal/configs/lahaina/shima_overlay
+TARGET_PATH := vendor/qcom/opensource/audio-hal/primary-hal/configs/lahaina
+SCRIPT := vendor/qcom/opensource/audio-hal/primary-hal/configs/common/mixer_xml_utils.py
-#$(shell python $(SCRIPT) --generate combine --base $(BASE_PATH)/sound_trigger_mixer_paths_base.xml --overlay $(OVERLAY_PATH)/sound_trigger_mixer_paths_shimaidp_overlay.xml $(OVERLAY_PATH)/sound_trigger_mixer_paths_shimaidps_overlay.xml $(OVERLAY_PATH)/sound_trigger_mixer_paths_shimaqrd_overlay.xml --out_dir $(TARGET_PATH) --out sound_trigger_mixer_paths_shimaidp.xml sound_trigger_mixer_paths_shimaidps.xml sound_trigger_mixer_paths_shimaqrd.xml )
-##
+$(shell python $(SCRIPT) --generate combine --base $(BASE_PATH)/mixer_paths_base.xml --overlay $(OVERLAY_PATH)/mixer_paths_shimaidp_overlay.xml $(OVERLAY_PATH)/mixer_paths_shimaidps_overlay.xml $(OVERLAY_PATH)/mixer_paths_shimaqrd_overlay.xml --out_dir $(TARGET_PATH) --out mixer_paths_shimaidp.xml mixer_paths_shimaidps.xml mixer_paths_shimaqrd.xml )
+
+$(shell python $(SCRIPT) --generate combine --base $(BASE_PATH)/sound_trigger_mixer_paths_base.xml --overlay $(OVERLAY_PATH)/sound_trigger_mixer_paths_shimaidp_overlay.xml $(OVERLAY_PATH)/sound_trigger_mixer_paths_shimaidps_overlay.xml $(OVERLAY_PATH)/sound_trigger_mixer_paths_shimaqrd_overlay.xml --out_dir $(TARGET_PATH) --out sound_trigger_mixer_paths_shimaidp.xml sound_trigger_mixer_paths_shimaidps.xml sound_trigger_mixer_paths_shimaqrd.xml )
+#
+
ifneq ($(AUDIO_USE_STUB_HAL), true)
BOARD_USES_ALSA_AUDIO := true
TARGET_USES_AOSP_FOR_AUDIO := false
diff --git a/configs/lahaina/mixer_paths_shimaidp.xml b/configs/lahaina/mixer_paths_shimaidp.xml
index 1f775f9..d43d437 100755
--- a/configs/lahaina/mixer_paths_shimaidp.xml
+++ b/configs/lahaina/mixer_paths_shimaidp.xml
@@ -498,6 +498,7 @@
<ctl name="TX3 MODE" value="ADC_LP" />
<!-- These are audio route (FE to BE) specific mixer settings -->
+ <path name="speaker-and-haptics"/>
<path name="gsm-mode">
<ctl name="GSM mode Enable" value="ON" />
</path>
diff --git a/configs/lahaina/shima_overlay/mixer_paths_shimaidps_overlay.xml b/configs/lahaina/shima_overlay/mixer_paths_shimaidps_overlay.xml
index cfe9bb8..ea6d898 100644
--- a/configs/lahaina/shima_overlay/mixer_paths_shimaidps_overlay.xml
+++ b/configs/lahaina/shima_overlay/mixer_paths_shimaidps_overlay.xml
@@ -48,6 +48,13 @@
<path name="incall-rec-downlink">
<ctl name="MultiMedia9 Mixer VOC_REC_DL" value="1"/>
</path>
+ <path name="amic1">
+ <ctl name="TX DEC1 MUX" value="SWR_MIC"/>
+ <ctl name="TX SMIC MUX1" value="SWR_MIC0"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="ADC1_MIXER Switch" value="1"/>
+ <ctl name="ADC1 ChMap" value="SWRM_TX1_CH1"/>
+ </path>
<path name="amic2">
<ctl name="TX DEC0 MUX" value="SWR_MIC"/>
<ctl name="TX SMIC MUX0" value="SWR_MIC1"/>
@@ -61,6 +68,15 @@
<ctl name="BCS Channel" value="CH2"/>
<ctl name="HDR12 MUX" value="NO_HDR12"/>
</path>
+ <path name="amic3">
+ <ctl name="TX DEC1 MUX" value="SWR_MIC"/>
+ <ctl name="TX SMIC MUX1" value="SWR_MIC1"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="ADC2_MIXER Switch" value="1"/>
+ <ctl name="ADC2 MUX" value="INP3"/>
+ <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2"/>
+ <ctl name="HDR12 MUX" value="NO_HDR12"/>
+ </path>
<path name="amic4">
<ctl name="TX DEC1 MUX" value="SWR_MIC"/>
<ctl name="TX SMIC MUX1" value="SWR_MIC2"/>
@@ -142,6 +158,10 @@
<ctl name="HPHL_RDAC Switch" value="1"/>
<ctl name="HPHR_RDAC Switch" value="1"/>
</path>
+ <path name="headset-mic">
+ <path name="amic2"/>
+ <ctl name="TX_DEC0 Volume" value="84"/>
+ </path>
<path name="handset-dmic-endfire">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="Two"/>
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
diff --git a/configs/lahaina/shima_overlay/mixer_paths_shimaqrd_overlay.xml b/configs/lahaina/shima_overlay/mixer_paths_shimaqrd_overlay.xml
old mode 100644
new mode 100755
index d85a784..3a7926c
--- a/configs/lahaina/shima_overlay/mixer_paths_shimaqrd_overlay.xml
+++ b/configs/lahaina/shima_overlay/mixer_paths_shimaqrd_overlay.xml
@@ -47,7 +47,7 @@
<ctl name="TX_DEC1 Volume" value="96"/>
<ctl name="TX_DEC2 Volume" value="96"/>
<ctl name="TX_DEC3 Volume" value="96"/>
- <ctl name="RX_EAR Mode" value="OFF" />
+ <ctl name="RX_EAR Mode" value="OFF"/>
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_CDC_DMA_RX_0"/>
<ctl name="EC Reference Channels" value="One"/>
@@ -72,6 +72,19 @@
<ctl name="AUDIO_REF_EC_UL10 MUX" value="RX_CDC_DMA_RX_0"/>
<ctl name="EC Reference Channels" value="One"/>
</path>
+ <path name="amic2">
+ <ctl name="TX DEC0 MUX" value="SWR_MIC"/>
+ <ctl name="TX SMIC MUX0" value="SWR_MIC1"/>
+ <ctl name="TX_CDC_DMA_TX_4 Channels" value="One"/>
+ <ctl name="DEC0_BCS Switch" value="1"/>
+ <ctl name="TX_AIF2_CAP Mixer DEC0" value="1"/>
+ <ctl name="ADC2_MIXER Switch" value="1"/>
+ <ctl name="ADC2 MUX" value="INP2"/>
+ <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2"/>
+ <ctl name="MBHC ChMap" value="SWRM_TX2_CH3"/>
+ <ctl name="BCS Channel" value="CH6"/>
+ <ctl name="HDR12 MUX" value="NO_HDR12"/>
+ </path>
<path name="speaker">
<ctl name="WSA_CDC_DMA_RX_0 Channels" value="One"/>
<ctl name="WSA RX1 MUX" value="AIF1_PB"/>
@@ -90,6 +103,10 @@
<ctl name="SpkrRight VISENSE Switch" value="1"/>
<ctl name="SpkrRight SWR DAC_Port Switch" value="1"/>
</path>
+ <path name="speaker-vbat">
+ <path name="speaker"/>
+ <ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1"/>
+ </path>
<path name="speaker-mic">
<path name="dmic6"/>
</path>
@@ -117,6 +134,10 @@
<ctl name="VI_FEED_TX Channels" value="One"/>
<ctl name="WSA_RX_0_VI_FB_LCH_MUX" value="WSA_CDC_DMA_TX_0"/>
</path>
+ <path name="speaker-protected-vbat">
+ <path name="speaker-protected"/>
+ <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 RX1 VBAT Enable" value="1"/>
@@ -128,7 +149,7 @@
<ctl name="RX INT0 DEM MUX" value="CLSH_DSM_OUT"/>
<ctl name="EAR_RDAC Switch" value="1"/>
<ctl name="RDAC3_MUX" value="RX1"/>
- <ctl name="RX_EAR Mode" value="ON" />
+ <ctl name="RX_EAR Mode" value="ON"/>
</path>
<path name="handset-mic">
<path name="dmic2"/>
@@ -213,4 +234,4 @@
<path name="voice-tty-vco-handset-mic">
<path name="dmic3"/>
</path>
-</mixer>
+</mixer>
\ No newline at end of file
diff --git a/configs/lahaina/shima_overlay/sound_trigger_mixer_paths_shimaidps_overlay.xml b/configs/lahaina/shima_overlay/sound_trigger_mixer_paths_shimaidps_overlay.xml
index c70c77e..1d16bb2 100644
--- a/configs/lahaina/shima_overlay/sound_trigger_mixer_paths_shimaidps_overlay.xml
+++ b/configs/lahaina/shima_overlay/sound_trigger_mixer_paths_shimaidps_overlay.xml
@@ -81,4 +81,15 @@
<ctl name="VA DMIC MUX2" value="DMIC3"/>
<ctl name="VA DMIC MUX3" value="DMIC4"/>
</path>
+ <path name="listen-ape-headset-mic">
+ <ctl name="VA_AIF1_CAP Mixer DEC0" value="1"/>
+ <ctl name="VA DEC0 MUX" value="SWR_MIC"/>
+ <ctl name="VA SMIC MUX0" value="SWR_MIC1"/>
+ <ctl name="ADC2_MIXER Switch" value="1"/>
+ <ctl name="VA_DEC0 MODE" value="ADC_LOW_PWR"/>
+ <ctl name="ADC2 MUX" value="INP2"/>
+ <ctl name="HDR12 MUX" value="NO_HDR12"/>
+ <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2"/>
+ <ctl name="ADC2_BCS Disable" value="1"/>
+ </path>
</mixer>
\ No newline at end of file
diff --git a/configs/lahaina/shima_overlay/sound_trigger_mixer_paths_shimaqrd_overlay.xml b/configs/lahaina/shima_overlay/sound_trigger_mixer_paths_shimaqrd_overlay.xml
index 04f0192..e5f27af 100644
--- a/configs/lahaina/shima_overlay/sound_trigger_mixer_paths_shimaqrd_overlay.xml
+++ b/configs/lahaina/shima_overlay/sound_trigger_mixer_paths_shimaqrd_overlay.xml
@@ -80,6 +80,18 @@
<ctl name="VA DMIC MUX2" value="DMIC3"/>
<ctl name="VA DMIC MUX3" value="DMIC5"/>
</path>
+ <path name="listen-ape-headset-mic">
+ <ctl name="VA_AIF1_CAP Mixer DEC0" value="1"/>
+ <ctl name="VA DEC0 MUX" value="SWR_MIC"/>
+ <ctl name="VA SMIC MUX0" value="SWR_MIC1"/>
+ <ctl name="VA_CDC_DMA_TX_0 Channels" value="One"/>
+ <ctl name="ADC2_MIXER Switch" value="1"/>
+ <ctl name="VA_DEC0 MODE" value="ADC_LOW_PWR"/>
+ <ctl name="ADC2 MUX" value="INP2"/>
+ <ctl name="HDR12 MUX" value="NO_HDR12"/>
+ <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2"/>
+ <ctl name="ADC2_BCS Disable" value="1"/>
+ </path>
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_CDC_DMA_RX_0"/>
<ctl name="EC Reference Channels" value="One"/>