[automerger skipped] 16kb: Add aosp_caimito_16k targets am: eb617e005b -s ours

am skip reason: Merged-In I9ea2b41b0d6af8f86179f7e4007140181f06028a with SHA-1 644e60f4dc is already in history

Original change: https://android-review.googlesource.com/c/device/google/caimito/+/3395425

Change-Id: I358fc5aa4b410fd137e0543884556db752f98948
Signed-off-by: Automerger Merge Worker <[email protected]>
diff --git a/OWNERS b/OWNERS
index 4cfcd6d..909c332 100644
--- a/OWNERS
+++ b/OWNERS
@@ -1,4 +1,4 @@
 per-file perf/*,thermal/*= [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected]
 
 # per-file for Pixel device makefiles, see go/pixel-device-mk-owner-checklist for details.
-per-file *.mk,*/BoardConfig.mk=file:device/google/gs-common:main:/MK_OWNERS
+per-file *.mk,*/BoardConfig.mk,{**/,}Android.bp=file:device/google/gs-common:main:/MK_OWNERS
diff --git a/aosp_caiman_16k.mk b/aosp_caiman_16k.mk
index 34c6873..f61ed9d 100644
--- a/aosp_caiman_16k.mk
+++ b/aosp_caiman_16k.mk
@@ -2,6 +2,5 @@
 
 PRODUCT_NAME := aosp_caiman_16k
 
-TARGET_USERDATAIMAGE_FILE_SYSTEM_TYPE := ext4
-TARGET_RW_FILE_SYSTEM_TYPE := ext4
+TARGET_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs
 TARGET_BOOTS_16K := true
diff --git a/aosp_komodo_16k.mk b/aosp_komodo_16k.mk
index 6333a48..25f73fd 100644
--- a/aosp_komodo_16k.mk
+++ b/aosp_komodo_16k.mk
@@ -2,6 +2,5 @@
 
 PRODUCT_NAME := aosp_komodo_16k
 
-TARGET_USERDATAIMAGE_FILE_SYSTEM_TYPE := ext4
-TARGET_RW_FILE_SYSTEM_TYPE := ext4
+TARGET_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs
 TARGET_BOOTS_16K := true
diff --git a/aosp_tokay_16k.mk b/aosp_tokay_16k.mk
index 17791dc..d1da5ec 100644
--- a/aosp_tokay_16k.mk
+++ b/aosp_tokay_16k.mk
@@ -2,6 +2,5 @@
 
 PRODUCT_NAME := aosp_tokay_16k
 
-TARGET_USERDATAIMAGE_FILE_SYSTEM_TYPE := ext4
-TARGET_RW_FILE_SYSTEM_TYPE := ext4
+TARGET_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs
 TARGET_BOOTS_16K := true
diff --git a/audio/caiman/aidl_config/audio_platform_configuration.xml b/audio/caiman/aidl_config/audio_platform_configuration.xml
index 3b7e970..3d89b97 100644
--- a/audio/caiman/aidl_config/audio_platform_configuration.xml
+++ b/audio/caiman/aidl_config/audio_platform_configuration.xml
@@ -68,7 +68,7 @@
       <argument name="ThermistorsName" value="VIRTUAL-SKIN-SPEAKER" />
       <argument name="Extensions" value="StereoSpatializerIndicator,SpeakerPowerLinkLaw" />
     </tuner>
-    <tuner type="telephony" name="fortemedia">
+    <tuner type="telephony" name="fmapmg3hybrid">
       <argument name="VoIP_DLCHs" value="SPK:2,USB:2,BT:2" />
       <argument name="VoIP_Rate" value="32000" />
       <argument name="BOOST_USB_SWB_CLK" value="y" />
diff --git a/audio/caiman/aidl_config/mixer_paths_aidl.xml b/audio/caiman/aidl_config/mixer_paths_aidl.xml
index d7dc1bc..b2c458c 100644
--- a/audio/caiman/aidl_config/mixer_paths_aidl.xml
+++ b/audio/caiman/aidl_config/mixer_paths_aidl.xml
@@ -318,6 +318,7 @@
   <ctl name="Incall Capture Stream0" value="Off" />
   <ctl name="Incall Capture Stream1" value="Off" />
   <ctl name="Incall Capture Stream2" value="Off" />
+  <ctl name="Incall Capture Stream3" value="Off" />
 
   <!-- These two controls control the muting function of mics and sinks during the voice call. -->
   <!-- They would be enabled by HAL. -->
@@ -423,6 +424,10 @@
     <path name="primary-playback -> bt" />
   </path>
 
+  <path name="primary-playback-0 -> bluetooth-low-energy-broadcast">
+    <path name="primary-playback -> bt" />
+  </path>
+
   <path name="primary-playback-0 -> usb">
     <ctl name="USB_RX Mixer EP2" value="1" />
   </path>
@@ -495,6 +500,10 @@
     <path name="raw-playback -> bt" />
   </path>
 
+  <path name="raw-playback-0 -> bluetooth-low-energy-broadcast">
+    <path name="raw-playback -> bt" />
+  </path>
+
   <path name="raw-playback-0 -> usb">
     <ctl name="USB_RX Mixer RAW" value="1" />
   </path>
@@ -567,6 +576,10 @@
     <path name="deep-buffer-playback -> bt" />
   </path>
 
+  <path name="deep-buffer-playback-0 -> bluetooth-low-energy-broadcast">
+    <path name="deep-buffer-playback -> bt" />
+  </path>
+
   <path name="deep-buffer-playback-0 -> usb">
     <ctl name="USB_RX Mixer EP6" value="1" />
   </path>
@@ -644,6 +657,10 @@
     <path name="compress-offload-playback -> bt" />
   </path>
 
+  <path name="compress-offload-playback-0 -> bluetooth-low-energy-broadcast">
+    <path name="compress-offload-playback -> bt" />
+  </path>
+
   <path name="compress-offload-playback-0 -> usb">
     <ctl name="USB_RX Mixer EP7" value="1" />
   </path>
@@ -716,6 +733,10 @@
     <path name="mmap-playback -> bt" />
   </path>
 
+  <path name="mmap-playback-0 -> bluetooth-low-energy-broadcast">
+    <path name="mmap-playback -> bt" />
+  </path>
+
   <path name="mmap-playback-0 -> usb">
     <ctl name="USB_RX Mixer EP1" value="1" />
   </path>
@@ -800,6 +821,10 @@
     <path name="voip-playback -> bt" />
   </path>
 
+  <path name="voip-playback-0 -> bluetooth-low-energy-broadcast">
+    <path name="voip-playback -> bt" />
+  </path>
+
   <path name="voip-playback-0 -> usb">
     <ctl name="USB_RX Mixer VOIP" value="1" />
   </path>
@@ -860,6 +885,10 @@
     <path name="immersive-playback -> bt" />
   </path>
 
+  <path name="immersive-playback-0 -> bluetooth-low-energy-broadcast">
+    <path name="immersive-playback -> bt" />
+  </path>
+
   <path name="immersive-playback-0 -> usb">
     <ctl name="USB_RX Mixer IMSV" value="1" />
   </path>
@@ -924,6 +953,10 @@
     <path name="spatializer-offload-playback -> bt" />
   </path>
 
+  <path name="spatializer-offload-playback-0 -> bluetooth-low-energy-broadcast">
+    <path name="spatializer-offload-playback -> bt" />
+  </path>
+
   <path name="spatializer-offload-playback-0 -> usb">
     <ctl name="USB_RX Mixer EP4" value="1" />
   </path>
@@ -994,6 +1027,10 @@
     <path name="haptic-playback -> bt" />
   </path>
 
+  <path name="haptic-playback-0 -> bluetooth-low-energy-broadcast">
+    <path name="haptic-playback -> bt" />
+  </path>
+
   <path name="haptic-playback-0 -> usb">
     <ctl name="USB_RX Mixer EP3" value="1" />
     <ctl name="TDM_0_RX Mixer EP8" value="1" />
@@ -1068,6 +1105,39 @@
     <ctl name="VOIP TX Mixer BT_TX" value="1" />
   </path>
 
+  <path name="microphones -> voip-gsenet-capture-0">
+    <ctl name="Incall Capture Stream3" value="3MIC" />
+    <ctl name="VOIP TX Mixer INTERNAL_MIC_TX" value="1" />
+  </path>
+
+  <path name="back-microphones -> voip-gsenet-capture-0">
+    <ctl name="Incall Capture Stream3" value="3MIC" />
+    <ctl name="VOIP TX Mixer INTERNAL_MIC_TX" value="1" />
+  </path>
+
+  <path name="usb-microphones -> voip-gsenet-capture-0">
+    <ctl name="Incall Capture Stream3" value="3MIC" />
+    <ctl name="VOIP TX Mixer USB_TX" value="1" />
+  </path>
+
+  <path name="usb-headset-microphones -> voip-gsenet-capture-0">
+    <path name="usb-microphones -> voip-gsenet-capture-0" />
+  </path>
+
+  <path name="usb-device-microphones -> voip-gsenet-capture-0">
+    <path name="usb-microphones -> voip-gsenet-capture-0" />
+  </path>
+
+  <path name="bluetooth-sco-headset-microphones -> voip-gsenet-capture-0">
+    <ctl name="Incall Capture Stream3" value="3MIC" />
+    <ctl name="VOIP TX Mixer BT_TX" value="1" />
+  </path>
+
+  <path name="bluetooth-low-energy-headset-microphones -> voip-gsenet-capture-0">
+    <ctl name="Incall Capture Stream3" value="3MIC" />
+    <ctl name="VOIP TX Mixer BT_TX" value="1" />
+  </path>
+
   <path name="microphones -> fast-capture-0">
     <ctl name="EP3 TX Mixer INTERNAL_MIC_TX" value="1" />
   </path>
@@ -1171,6 +1241,10 @@
     <path name="voice-call-downlink-0 -> bt" />
   </path>
 
+  <path name="voice-call-downlink-0 -> bluetooth-low-energy-broadcast">
+    <path name="voice-call-downlink-0 -> bt" />
+  </path>
+
   <path name="voice-call-downlink-0 -> usb">
     <ctl name="USB_RX Mixer EP5" value="1" />
   </path>
diff --git a/audio/caiman/audio-tables.mk b/audio/caiman/audio-tables.mk
index 295be07..4080425 100644
--- a/audio/caiman/audio-tables.mk
+++ b/audio/caiman/audio-tables.mk
@@ -62,7 +62,25 @@
     waves_preset.mps \
     compens_spk_l.conf \
     compens_spk_r.conf \
-    default_mic_compensation.bin
+    default_mic_compensation.bin \
+    downlink_bluetooth_headset_config.pb \
+    downlink_dock_config.pb \
+    downlink_external_speaker_config.pb \
+    downlink_handset_config.pb \
+    downlink_speaker_config.pb \
+    downlink_wired_headset_config.pb \
+    uplink_bluetooth_headset_aec_off_config.pb \
+    uplink_bluetooth_headset_aec_on_config.pb \
+    uplink_dock_aec_off_config.pb \
+    uplink_dock_aec_on_config.pb \
+    uplink_external_speaker_aec_off_config.pb \
+    uplink_external_speaker_aec_on_config.pb \
+    uplink_handset_aec_off_config.pb \
+    uplink_handset_aec_on_config.pb \
+    uplink_speaker_aec_off_config.pb \
+    uplink_speaker_aec_on_config.pb \
+    uplink_wired_headset_aec_off_config.pb \
+    uplink_wired_headset_aec_on_config.pb
 
 # userdebug and eng specific
 PRODUCT_PACKAGES_DEBUG += \
diff --git a/audio/caiman/prebuilt/libspeechenhancer/Android.bp b/audio/caiman/prebuilt/libspeechenhancer/Android.bp
index 5b4b8ae..9d4a232 100644
--- a/audio/caiman/prebuilt/libspeechenhancer/Android.bp
+++ b/audio/caiman/prebuilt/libspeechenhancer/Android.bp
@@ -34,7 +34,9 @@
         "libcutils",
         "libEGL",
         "libGLESv2",
+        "libbinder_ndk",
         "liblog",
+        "libsync",
         "libz",
         "libnativewindow",
     ],
diff --git a/audio/caiman/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so b/audio/caiman/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so
index b9f43a7..6bb4b10 100644
--- a/audio/caiman/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so
+++ b/audio/caiman/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so
Binary files differ
diff --git a/audio/caiman/tuning/Android.bp b/audio/caiman/tuning/Android.bp
index e81b4e9..6218306 100644
--- a/audio/caiman/tuning/Android.bp
+++ b/audio/caiman/tuning/Android.bp
@@ -35,16 +35,19 @@
     src: "bluenote/recording.gatf",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "smartfeature.gstf",
     src: "bluenote/smartfeature.gstf",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "template.xml",
     src: "bluenote/template.xml",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "tuning_constraints_combination.xml",
     src: "bluenote/tuning_constraints_combination.xml",
@@ -56,6 +59,7 @@
     src: "compensation/compens_spk_l.conf",
     soc_specific: true,
 }
+
 prebuilt_etc {
     name: "compens_spk_r.conf",
     src: "compensation/compens_spk_r.conf",
@@ -67,41 +71,49 @@
     src: "fortemedia/BLUETOOTH.dat",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "BLUETOOTH.mods",
     src: "fortemedia/BLUETOOTH.mods",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "HANDSFREE.dat",
     src: "fortemedia/HANDSFREE.dat",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "HANDSFREE.mods",
     src: "fortemedia/HANDSFREE.mods",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "HANDSET.dat",
     src: "fortemedia/HANDSET.dat",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "HANDSET.mods",
     src: "fortemedia/HANDSET.mods",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "HEADSET.dat",
     src: "fortemedia/HEADSET.dat",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "HEADSET.mods",
     src: "fortemedia/HEADSET.mods",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "mcps.dat",
     src: "fortemedia/mcps.dat",
@@ -109,20 +121,131 @@
 }
 
 prebuilt_etc {
+    name: "downlink_bluetooth_headset_config.pb",
+    src: "apmg3/downlink_bluetooth_headset_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "downlink_dock_config.pb",
+    src: "apmg3/downlink_dock_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "downlink_external_speaker_config.pb",
+    src: "apmg3/downlink_external_speaker_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "downlink_handset_config.pb",
+    src: "apmg3/downlink_handset_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "downlink_speaker_config.pb",
+    src: "apmg3/downlink_speaker_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "downlink_wired_headset_config.pb",
+    src: "apmg3/downlink_wired_headset_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_bluetooth_headset_aec_off_config.pb",
+    src: "apmg3/uplink_bluetooth_headset_aec_off_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_bluetooth_headset_aec_on_config.pb",
+    src: "apmg3/uplink_bluetooth_headset_aec_on_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_dock_aec_off_config.pb",
+    src: "apmg3/uplink_dock_aec_off_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_dock_aec_on_config.pb",
+    src: "apmg3/uplink_dock_aec_on_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_external_speaker_aec_off_config.pb",
+    src: "apmg3/uplink_external_speaker_aec_off_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_external_speaker_aec_on_config.pb",
+    src: "apmg3/uplink_external_speaker_aec_on_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_handset_aec_off_config.pb",
+    src: "apmg3/uplink_handset_aec_off_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_handset_aec_on_config.pb",
+    src: "apmg3/uplink_handset_aec_on_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_speaker_aec_off_config.pb",
+    src: "apmg3/uplink_speaker_aec_off_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_speaker_aec_on_config.pb",
+    src: "apmg3/uplink_speaker_aec_on_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_wired_headset_aec_off_config.pb",
+    src: "apmg3/uplink_wired_headset_aec_off_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_wired_headset_aec_on_config.pb",
+    src: "apmg3/uplink_wired_headset_aec_on_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
     name: "waves_config.ini",
     src: "waves/waves_config.ini",
     soc_specific: true,
 }
+
 prebuilt_etc {
     name: "waves_preset.mps",
     src: "waves/waves_preset.mps",
     soc_specific: true,
 }
+
 prebuilt_etc {
     name: "test_config.ini",
     src: "waves/tests/test_config.ini",
     soc_specific: true,
 }
+
 prebuilt_etc {
     name: "test_preset.mps",
     src: "waves/tests/test_preset.mps",
diff --git a/audio/caiman/tuning/apmg3/downlink_bluetooth_headset_config.pb b/audio/caiman/tuning/apmg3/downlink_bluetooth_headset_config.pb
new file mode 100644
index 0000000..4d26cce
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/downlink_bluetooth_headset_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/downlink_dock_config.pb b/audio/caiman/tuning/apmg3/downlink_dock_config.pb
new file mode 100644
index 0000000..854a48d
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/downlink_dock_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/downlink_external_speaker_config.pb b/audio/caiman/tuning/apmg3/downlink_external_speaker_config.pb
new file mode 100644
index 0000000..f501ab8
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/downlink_external_speaker_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/downlink_handset_config.pb b/audio/caiman/tuning/apmg3/downlink_handset_config.pb
new file mode 100644
index 0000000..59cfa12
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/downlink_handset_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/downlink_speaker_config.pb b/audio/caiman/tuning/apmg3/downlink_speaker_config.pb
new file mode 100644
index 0000000..bec8c9a
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/downlink_speaker_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/downlink_wired_headset_config.pb b/audio/caiman/tuning/apmg3/downlink_wired_headset_config.pb
new file mode 100644
index 0000000..0f98f65
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/downlink_wired_headset_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/uplink_bluetooth_headset_aec_off_config.pb b/audio/caiman/tuning/apmg3/uplink_bluetooth_headset_aec_off_config.pb
new file mode 100644
index 0000000..a6dfdce
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/uplink_bluetooth_headset_aec_off_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/uplink_bluetooth_headset_aec_on_config.pb b/audio/caiman/tuning/apmg3/uplink_bluetooth_headset_aec_on_config.pb
new file mode 100644
index 0000000..58ac211
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/uplink_bluetooth_headset_aec_on_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/uplink_dock_aec_off_config.pb b/audio/caiman/tuning/apmg3/uplink_dock_aec_off_config.pb
new file mode 100644
index 0000000..06e4ef5
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/uplink_dock_aec_off_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/uplink_dock_aec_on_config.pb b/audio/caiman/tuning/apmg3/uplink_dock_aec_on_config.pb
new file mode 100644
index 0000000..979a200
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/uplink_dock_aec_on_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/uplink_external_speaker_aec_off_config.pb b/audio/caiman/tuning/apmg3/uplink_external_speaker_aec_off_config.pb
new file mode 100644
index 0000000..7103879
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/uplink_external_speaker_aec_off_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/uplink_external_speaker_aec_on_config.pb b/audio/caiman/tuning/apmg3/uplink_external_speaker_aec_on_config.pb
new file mode 100644
index 0000000..d747bc2
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/uplink_external_speaker_aec_on_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/uplink_handset_aec_off_config.pb b/audio/caiman/tuning/apmg3/uplink_handset_aec_off_config.pb
new file mode 100644
index 0000000..9351945
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/uplink_handset_aec_off_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/uplink_handset_aec_on_config.pb b/audio/caiman/tuning/apmg3/uplink_handset_aec_on_config.pb
new file mode 100644
index 0000000..58dc380
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/uplink_handset_aec_on_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/uplink_speaker_aec_off_config.pb b/audio/caiman/tuning/apmg3/uplink_speaker_aec_off_config.pb
new file mode 100644
index 0000000..02348b9
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/uplink_speaker_aec_off_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/uplink_speaker_aec_on_config.pb b/audio/caiman/tuning/apmg3/uplink_speaker_aec_on_config.pb
new file mode 100644
index 0000000..e9bf30d
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/uplink_speaker_aec_on_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/uplink_wired_headset_aec_off_config.pb b/audio/caiman/tuning/apmg3/uplink_wired_headset_aec_off_config.pb
new file mode 100644
index 0000000..679aa66
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/uplink_wired_headset_aec_off_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/uplink_wired_headset_aec_on_config.pb b/audio/caiman/tuning/apmg3/uplink_wired_headset_aec_on_config.pb
new file mode 100644
index 0000000..fec3962
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/uplink_wired_headset_aec_on_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/fortemedia/BLUETOOTH.dat b/audio/caiman/tuning/fortemedia/BLUETOOTH.dat
index 64ad94c..fb01541 100644
--- a/audio/caiman/tuning/fortemedia/BLUETOOTH.dat
+++ b/audio/caiman/tuning/fortemedia/BLUETOOTH.dat
Binary files differ
diff --git a/audio/caiman/tuning/fortemedia/BLUETOOTH.mods b/audio/caiman/tuning/fortemedia/BLUETOOTH.mods
index 68155e2..ff86e94 100644
--- a/audio/caiman/tuning/fortemedia/BLUETOOTH.mods
+++ b/audio/caiman/tuning/fortemedia/BLUETOOTH.mods
@@ -3,7 +3,7 @@
 #EXPORT_FLAG  BLUETOOTH

 #PARAM_MODE   FULL

 #SAVE_MODE  3

-#SAVE_TIME  2024-06-06 17:12:26

+#SAVE_TIME  2024-07-23 15:16:17

 

 #CASE_NAME  BLUETOOTH-BT_HAC-VOICE_GENERIC-NB

 #PARAM_TYPE  TX+2RX

@@ -2708,7 +2708,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x003B    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0001    //TX_SAMPLINGFREQ_SIG

 7    0x0001    //TX_SAMPLINGFREQ_PROC

@@ -3101,7 +3101,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x1FFF    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x4000    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -5403,7 +5403,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -5796,7 +5796,7 @@
 394    0x4000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -10793,7 +10793,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -11186,7 +11186,7 @@
 394    0x4000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

diff --git a/audio/caiman/tuning/fortemedia/HANDSET.dat b/audio/caiman/tuning/fortemedia/HANDSET.dat
index f6eadd2..c77e3f1 100644
--- a/audio/caiman/tuning/fortemedia/HANDSET.dat
+++ b/audio/caiman/tuning/fortemedia/HANDSET.dat
Binary files differ
diff --git a/audio/caiman/tuning/fortemedia/HANDSET.mods b/audio/caiman/tuning/fortemedia/HANDSET.mods
index 5b51a9b..638d337 100644
--- a/audio/caiman/tuning/fortemedia/HANDSET.mods
+++ b/audio/caiman/tuning/fortemedia/HANDSET.mods
@@ -3,7 +3,7 @@
 #EXPORT_FLAG  HANDSET

 #PARAM_MODE   FULL

 #SAVE_MODE  3

-#SAVE_TIME  2024-06-06 17:12:00

+#SAVE_TIME  2024-07-23 15:15:40

 

 #CASE_NAME  HANDSET-HANDSET-VOICE_GENERIC-NB

 #PARAM_TYPE  TX+2RX

@@ -3228,10 +3228,10 @@
 521    0x0000    //TX_GSC_RTOL_TH

 522    0x0000    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -3972,7 +3972,7 @@
 121    0x199A    //RX_TDDRC_HMNC_GAIN

 122    0x0001    //RX_TDDRC_SMT_FLAG

 123    0x0CCD    //RX_TDDRC_SMT_W

-124    0x02B9    //RX_TDDRC_DRC_GAIN

+124    0x02FC    //RX_TDDRC_DRC_GAIN

 38    0x001C    //RX_FDEQ_SUBNUM

 39    0x5C54    //RX_FDEQ_GAIN_0

 40    0x5454    //RX_FDEQ_GAIN_1

@@ -4071,7 +4071,7 @@
 121    0x199A    //RX_TDDRC_HMNC_GAIN

 122    0x0001    //RX_TDDRC_SMT_FLAG

 123    0x0CCD    //RX_TDDRC_SMT_W

-124    0x029A    //RX_TDDRC_DRC_GAIN

+124    0x02EB    //RX_TDDRC_DRC_GAIN

 38    0x001C    //RX_FDEQ_SUBNUM

 39    0x5C54    //RX_FDEQ_GAIN_0

 40    0x5454    //RX_FDEQ_GAIN_1

@@ -4170,7 +4170,7 @@
 121    0x199A    //RX_TDDRC_HMNC_GAIN

 122    0x0001    //RX_TDDRC_SMT_FLAG

 123    0x0CCD    //RX_TDDRC_SMT_W

-124    0x03FB    //RX_TDDRC_DRC_GAIN

+124    0x0317    //RX_TDDRC_DRC_GAIN

 38    0x001C    //RX_FDEQ_SUBNUM

 39    0x5C54    //RX_FDEQ_GAIN_0

 40    0x4A54    //RX_FDEQ_GAIN_1

@@ -4269,7 +4269,7 @@
 121    0x199A    //RX_TDDRC_HMNC_GAIN

 122    0x0001    //RX_TDDRC_SMT_FLAG

 123    0x0CCD    //RX_TDDRC_SMT_W

-124    0x026D    //RX_TDDRC_DRC_GAIN

+124    0x02F4    //RX_TDDRC_DRC_GAIN

 38    0x001C    //RX_FDEQ_SUBNUM

 39    0x5C54    //RX_FDEQ_GAIN_0

 40    0x5454    //RX_FDEQ_GAIN_1

@@ -4368,7 +4368,7 @@
 121    0x199A    //RX_TDDRC_HMNC_GAIN

 122    0x0001    //RX_TDDRC_SMT_FLAG

 123    0x0CCD    //RX_TDDRC_SMT_W

-124    0x025F    //RX_TDDRC_DRC_GAIN

+124    0x02D2    //RX_TDDRC_DRC_GAIN

 38    0x001C    //RX_FDEQ_SUBNUM

 39    0x5C54    //RX_FDEQ_GAIN_0

 40    0x5454    //RX_FDEQ_GAIN_1

@@ -4467,7 +4467,7 @@
 121    0x199A    //RX_TDDRC_HMNC_GAIN

 122    0x0001    //RX_TDDRC_SMT_FLAG

 123    0x0CCD    //RX_TDDRC_SMT_W

-124    0x023D    //RX_TDDRC_DRC_GAIN

+124    0x0274    //RX_TDDRC_DRC_GAIN

 38    0x001C    //RX_FDEQ_SUBNUM

 39    0x5C54    //RX_FDEQ_GAIN_0

 40    0x5454    //RX_FDEQ_GAIN_1

@@ -5318,7 +5318,7 @@
 278    0x199A    //RX_TDDRC_HMNC_GAIN

 279    0x0001    //RX_TDDRC_SMT_FLAG

 280    0x0CCD    //RX_TDDRC_SMT_W

-281    0x029A    //RX_TDDRC_DRC_GAIN

+281    0x0274    //RX_TDDRC_DRC_GAIN

 195    0x001C    //RX_FDEQ_SUBNUM

 196    0x5C54    //RX_FDEQ_GAIN_0

 197    0x5454    //RX_FDEQ_GAIN_1

@@ -5923,10 +5923,10 @@
 521    0x3A98    //TX_GSC_RTOL_TH

 522    0x3A98    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -14008,10 +14008,10 @@
 521    0x0000    //TX_GSC_RTOL_TH

 522    0x0000    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -14752,7 +14752,7 @@
 121    0x199A    //RX_TDDRC_HMNC_GAIN

 122    0x0001    //RX_TDDRC_SMT_FLAG

 123    0x0CCD    //RX_TDDRC_SMT_W

-124    0x02B9    //RX_TDDRC_DRC_GAIN

+124    0x02FC    //RX_TDDRC_DRC_GAIN

 38    0x001C    //RX_FDEQ_SUBNUM

 39    0x5C54    //RX_FDEQ_GAIN_0

 40    0x5454    //RX_FDEQ_GAIN_1

@@ -14851,7 +14851,7 @@
 121    0x199A    //RX_TDDRC_HMNC_GAIN

 122    0x0001    //RX_TDDRC_SMT_FLAG

 123    0x0CCD    //RX_TDDRC_SMT_W

-124    0x029A    //RX_TDDRC_DRC_GAIN

+124    0x02EB    //RX_TDDRC_DRC_GAIN

 38    0x001C    //RX_FDEQ_SUBNUM

 39    0x5C54    //RX_FDEQ_GAIN_0

 40    0x5454    //RX_FDEQ_GAIN_1

@@ -14950,7 +14950,7 @@
 121    0x199A    //RX_TDDRC_HMNC_GAIN

 122    0x0001    //RX_TDDRC_SMT_FLAG

 123    0x0CCD    //RX_TDDRC_SMT_W

-124    0x03FB    //RX_TDDRC_DRC_GAIN

+124    0x0317    //RX_TDDRC_DRC_GAIN

 38    0x001C    //RX_FDEQ_SUBNUM

 39    0x5C54    //RX_FDEQ_GAIN_0

 40    0x4A54    //RX_FDEQ_GAIN_1

@@ -15049,7 +15049,7 @@
 121    0x199A    //RX_TDDRC_HMNC_GAIN

 122    0x0001    //RX_TDDRC_SMT_FLAG

 123    0x0CCD    //RX_TDDRC_SMT_W

-124    0x026D    //RX_TDDRC_DRC_GAIN

+124    0x02F4    //RX_TDDRC_DRC_GAIN

 38    0x001C    //RX_FDEQ_SUBNUM

 39    0x5C54    //RX_FDEQ_GAIN_0

 40    0x5454    //RX_FDEQ_GAIN_1

@@ -15148,7 +15148,7 @@
 121    0x199A    //RX_TDDRC_HMNC_GAIN

 122    0x0001    //RX_TDDRC_SMT_FLAG

 123    0x0CCD    //RX_TDDRC_SMT_W

-124    0x025F    //RX_TDDRC_DRC_GAIN

+124    0x02D2    //RX_TDDRC_DRC_GAIN

 38    0x001C    //RX_FDEQ_SUBNUM

 39    0x5C54    //RX_FDEQ_GAIN_0

 40    0x5454    //RX_FDEQ_GAIN_1

@@ -15247,7 +15247,7 @@
 121    0x199A    //RX_TDDRC_HMNC_GAIN

 122    0x0001    //RX_TDDRC_SMT_FLAG

 123    0x0CCD    //RX_TDDRC_SMT_W

-124    0x023D    //RX_TDDRC_DRC_GAIN

+124    0x0274    //RX_TDDRC_DRC_GAIN

 38    0x001C    //RX_FDEQ_SUBNUM

 39    0x5C54    //RX_FDEQ_GAIN_0

 40    0x5454    //RX_FDEQ_GAIN_1

@@ -16098,7 +16098,7 @@
 278    0x199A    //RX_TDDRC_HMNC_GAIN

 279    0x0001    //RX_TDDRC_SMT_FLAG

 280    0x0CCD    //RX_TDDRC_SMT_W

-281    0x029A    //RX_TDDRC_DRC_GAIN

+281    0x0274    //RX_TDDRC_DRC_GAIN

 195    0x001C    //RX_FDEQ_SUBNUM

 196    0x5C54    //RX_FDEQ_GAIN_0

 197    0x5454    //RX_FDEQ_GAIN_1

@@ -16703,10 +16703,10 @@
 521    0x3A98    //TX_GSC_RTOL_TH

 522    0x3A98    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -22093,10 +22093,10 @@
 521    0x3A98    //TX_GSC_RTOL_TH

 522    0x3A98    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -27483,10 +27483,10 @@
 521    0x3A98    //TX_GSC_RTOL_TH

 522    0x3A98    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -32873,10 +32873,10 @@
 521    0x3A98    //TX_GSC_RTOL_TH

 522    0x3A98    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -38263,10 +38263,10 @@
 521    0x3A98    //TX_GSC_RTOL_TH

 522    0x3A98    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -43653,10 +43653,10 @@
 521    0x0000    //TX_GSC_RTOL_TH

 522    0x0000    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -46348,10 +46348,10 @@
 521    0x3A98    //TX_GSC_RTOL_TH

 522    0x3A98    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -54433,10 +54433,10 @@
 521    0x0000    //TX_GSC_RTOL_TH

 522    0x0000    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -57128,10 +57128,10 @@
 521    0x3A98    //TX_GSC_RTOL_TH

 522    0x3A98    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -62518,10 +62518,10 @@
 521    0x3A98    //TX_GSC_RTOL_TH

 522    0x3A98    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

diff --git a/audio/caiman/tuning/fortemedia/HANDSFREE.dat b/audio/caiman/tuning/fortemedia/HANDSFREE.dat
index 243ad08..32e7bc6 100644
--- a/audio/caiman/tuning/fortemedia/HANDSFREE.dat
+++ b/audio/caiman/tuning/fortemedia/HANDSFREE.dat
Binary files differ
diff --git a/audio/caiman/tuning/fortemedia/HANDSFREE.mods b/audio/caiman/tuning/fortemedia/HANDSFREE.mods
index 56ed021..b384981 100644
--- a/audio/caiman/tuning/fortemedia/HANDSFREE.mods
+++ b/audio/caiman/tuning/fortemedia/HANDSFREE.mods
@@ -3,7 +3,7 @@
 #EXPORT_FLAG  HANDSFREE

 #PARAM_MODE   FULL

 #SAVE_MODE  3

-#SAVE_TIME  2024-06-06 17:11:36

+#SAVE_TIME  2024-07-23 15:15:11

 

 #CASE_NAME  HANDSFREE-HANDSFREE-VOICE_GENERIC-NB

 #PARAM_TYPE  TX+2RX

@@ -2708,7 +2708,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x003B    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0001    //TX_SAMPLINGFREQ_SIG

 7    0x0001    //TX_SAMPLINGFREQ_PROC

@@ -3101,7 +3101,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x1FFF    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x4000    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -5403,7 +5403,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -5796,7 +5796,7 @@
 394    0x4000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -10793,7 +10793,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F74    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -11186,7 +11186,7 @@
 394    0x4000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -16183,7 +16183,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -16576,7 +16576,7 @@
 394    0x4000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -21573,7 +21573,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F54    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -21966,7 +21966,7 @@
 394    0x4000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -26963,7 +26963,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -27356,7 +27356,7 @@
 394    0x4000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -28128,7 +28128,7 @@
 121    0x199A    //RX_TDDRC_HMNC_GAIN

 122    0x0001    //RX_TDDRC_SMT_FLAG

 123    0x0CCD    //RX_TDDRC_SMT_W

-124    0x0024    //RX_TDDRC_DRC_GAIN

+124    0x0020    //RX_TDDRC_DRC_GAIN

 38    0x0020    //RX_FDEQ_SUBNUM

 39    0x4848    //RX_FDEQ_GAIN_0

 40    0x4848    //RX_FDEQ_GAIN_1

@@ -28227,7 +28227,7 @@
 121    0x199A    //RX_TDDRC_HMNC_GAIN

 122    0x0001    //RX_TDDRC_SMT_FLAG

 123    0x0CCD    //RX_TDDRC_SMT_W

-124    0x0040    //RX_TDDRC_DRC_GAIN

+124    0x0039    //RX_TDDRC_DRC_GAIN

 38    0x0020    //RX_FDEQ_SUBNUM

 39    0x4848    //RX_FDEQ_GAIN_0

 40    0x4848    //RX_FDEQ_GAIN_1

@@ -28326,7 +28326,7 @@
 121    0x199A    //RX_TDDRC_HMNC_GAIN

 122    0x0001    //RX_TDDRC_SMT_FLAG

 123    0x0CCD    //RX_TDDRC_SMT_W

-124    0x0072    //RX_TDDRC_DRC_GAIN

+124    0x0066    //RX_TDDRC_DRC_GAIN

 38    0x0020    //RX_FDEQ_SUBNUM

 39    0x4848    //RX_FDEQ_GAIN_0

 40    0x4848    //RX_FDEQ_GAIN_1

@@ -28979,7 +28979,7 @@
 278    0x199A    //RX_TDDRC_HMNC_GAIN

 279    0x0001    //RX_TDDRC_SMT_FLAG

 280    0x0CCD    //RX_TDDRC_SMT_W

-281    0x0024    //RX_TDDRC_DRC_GAIN

+281    0x0020    //RX_TDDRC_DRC_GAIN

 195    0x0020    //RX_FDEQ_SUBNUM

 196    0x4848    //RX_FDEQ_GAIN_0

 197    0x4848    //RX_FDEQ_GAIN_1

@@ -29078,7 +29078,7 @@
 278    0x199A    //RX_TDDRC_HMNC_GAIN

 279    0x0001    //RX_TDDRC_SMT_FLAG

 280    0x0CCD    //RX_TDDRC_SMT_W

-281    0x0040    //RX_TDDRC_DRC_GAIN

+281    0x0039    //RX_TDDRC_DRC_GAIN

 195    0x0020    //RX_FDEQ_SUBNUM

 196    0x4848    //RX_FDEQ_GAIN_0

 197    0x4848    //RX_FDEQ_GAIN_1

@@ -29177,7 +29177,7 @@
 278    0x199A    //RX_TDDRC_HMNC_GAIN

 279    0x0001    //RX_TDDRC_SMT_FLAG

 280    0x0CCD    //RX_TDDRC_SMT_W

-281    0x0072    //RX_TDDRC_DRC_GAIN

+281    0x0066    //RX_TDDRC_DRC_GAIN

 195    0x0020    //RX_FDEQ_SUBNUM

 196    0x4848    //RX_FDEQ_GAIN_0

 197    0x4848    //RX_FDEQ_GAIN_1

diff --git a/audio/caiman/tuning/fortemedia/HEADSET.dat b/audio/caiman/tuning/fortemedia/HEADSET.dat
index b0d4f7f..362cabb 100644
--- a/audio/caiman/tuning/fortemedia/HEADSET.dat
+++ b/audio/caiman/tuning/fortemedia/HEADSET.dat
Binary files differ
diff --git a/audio/caiman/tuning/fortemedia/HEADSET.mods b/audio/caiman/tuning/fortemedia/HEADSET.mods
index 5ddd6ed..62b2d69 100644
--- a/audio/caiman/tuning/fortemedia/HEADSET.mods
+++ b/audio/caiman/tuning/fortemedia/HEADSET.mods
@@ -3,7 +3,7 @@
 #EXPORT_FLAG  HEADSET

 #PARAM_MODE   FULL

 #SAVE_MODE  3

-#SAVE_TIME  2024-06-06 17:11:05

+#SAVE_TIME  2024-07-23 15:14:44

 

 #CASE_NAME  HEADSET-USB_BLACKBIRD-VOICE_GENERIC-NB

 #PARAM_TYPE  TX+2RX

@@ -29658,7 +29658,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x003B    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0001    //TX_SAMPLINGFREQ_SIG

 7    0x0001    //TX_SAMPLINGFREQ_PROC

@@ -30051,7 +30051,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x1FFF    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x4000    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -32353,7 +32353,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -32746,7 +32746,7 @@
 394    0x4000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -37743,7 +37743,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -38136,7 +38136,7 @@
 394    0x4000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -70083,7 +70083,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x003B    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0001    //TX_SAMPLINGFREQ_SIG

 7    0x0001    //TX_SAMPLINGFREQ_PROC

@@ -70476,7 +70476,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x1FFF    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x4000    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -72778,7 +72778,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -73171,7 +73171,7 @@
 394    0x4000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -78168,7 +78168,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -78561,7 +78561,7 @@
 394    0x4000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

diff --git a/audio/caiman/tuning/spatializer/base b/audio/caiman/tuning/spatializer/base
index 38cc646..42b4329 100644
--- a/audio/caiman/tuning/spatializer/base
+++ b/audio/caiman/tuning/spatializer/base
Binary files differ
diff --git a/audio/caiman/tuning/spatializer/mode_2_ch b/audio/caiman/tuning/spatializer/mode_2_ch
index 470c56c..2610b2d 100644
--- a/audio/caiman/tuning/spatializer/mode_2_ch
+++ b/audio/caiman/tuning/spatializer/mode_2_ch
Binary files differ
diff --git a/audio/caiman/tuning/spatializer/mode_6_ch b/audio/caiman/tuning/spatializer/mode_6_ch
index 94ec635..0f432fa 100644
--- a/audio/caiman/tuning/spatializer/mode_6_ch
+++ b/audio/caiman/tuning/spatializer/mode_6_ch
Binary files differ
diff --git a/audio/caiman/tuning/spatializer/mode_xaural b/audio/caiman/tuning/spatializer/mode_xaural
index b3a3a96..619e215 100644
--- a/audio/caiman/tuning/spatializer/mode_xaural
+++ b/audio/caiman/tuning/spatializer/mode_xaural
Binary files differ
diff --git a/audio/komodo/aidl_config/audio_platform_configuration.xml b/audio/komodo/aidl_config/audio_platform_configuration.xml
index 3b7e970..3d89b97 100644
--- a/audio/komodo/aidl_config/audio_platform_configuration.xml
+++ b/audio/komodo/aidl_config/audio_platform_configuration.xml
@@ -68,7 +68,7 @@
       <argument name="ThermistorsName" value="VIRTUAL-SKIN-SPEAKER" />
       <argument name="Extensions" value="StereoSpatializerIndicator,SpeakerPowerLinkLaw" />
     </tuner>
-    <tuner type="telephony" name="fortemedia">
+    <tuner type="telephony" name="fmapmg3hybrid">
       <argument name="VoIP_DLCHs" value="SPK:2,USB:2,BT:2" />
       <argument name="VoIP_Rate" value="32000" />
       <argument name="BOOST_USB_SWB_CLK" value="y" />
diff --git a/audio/komodo/aidl_config/mixer_paths_aidl.xml b/audio/komodo/aidl_config/mixer_paths_aidl.xml
index d7dc1bc..b2c458c 100644
--- a/audio/komodo/aidl_config/mixer_paths_aidl.xml
+++ b/audio/komodo/aidl_config/mixer_paths_aidl.xml
@@ -318,6 +318,7 @@
   <ctl name="Incall Capture Stream0" value="Off" />
   <ctl name="Incall Capture Stream1" value="Off" />
   <ctl name="Incall Capture Stream2" value="Off" />
+  <ctl name="Incall Capture Stream3" value="Off" />
 
   <!-- These two controls control the muting function of mics and sinks during the voice call. -->
   <!-- They would be enabled by HAL. -->
@@ -423,6 +424,10 @@
     <path name="primary-playback -> bt" />
   </path>
 
+  <path name="primary-playback-0 -> bluetooth-low-energy-broadcast">
+    <path name="primary-playback -> bt" />
+  </path>
+
   <path name="primary-playback-0 -> usb">
     <ctl name="USB_RX Mixer EP2" value="1" />
   </path>
@@ -495,6 +500,10 @@
     <path name="raw-playback -> bt" />
   </path>
 
+  <path name="raw-playback-0 -> bluetooth-low-energy-broadcast">
+    <path name="raw-playback -> bt" />
+  </path>
+
   <path name="raw-playback-0 -> usb">
     <ctl name="USB_RX Mixer RAW" value="1" />
   </path>
@@ -567,6 +576,10 @@
     <path name="deep-buffer-playback -> bt" />
   </path>
 
+  <path name="deep-buffer-playback-0 -> bluetooth-low-energy-broadcast">
+    <path name="deep-buffer-playback -> bt" />
+  </path>
+
   <path name="deep-buffer-playback-0 -> usb">
     <ctl name="USB_RX Mixer EP6" value="1" />
   </path>
@@ -644,6 +657,10 @@
     <path name="compress-offload-playback -> bt" />
   </path>
 
+  <path name="compress-offload-playback-0 -> bluetooth-low-energy-broadcast">
+    <path name="compress-offload-playback -> bt" />
+  </path>
+
   <path name="compress-offload-playback-0 -> usb">
     <ctl name="USB_RX Mixer EP7" value="1" />
   </path>
@@ -716,6 +733,10 @@
     <path name="mmap-playback -> bt" />
   </path>
 
+  <path name="mmap-playback-0 -> bluetooth-low-energy-broadcast">
+    <path name="mmap-playback -> bt" />
+  </path>
+
   <path name="mmap-playback-0 -> usb">
     <ctl name="USB_RX Mixer EP1" value="1" />
   </path>
@@ -800,6 +821,10 @@
     <path name="voip-playback -> bt" />
   </path>
 
+  <path name="voip-playback-0 -> bluetooth-low-energy-broadcast">
+    <path name="voip-playback -> bt" />
+  </path>
+
   <path name="voip-playback-0 -> usb">
     <ctl name="USB_RX Mixer VOIP" value="1" />
   </path>
@@ -860,6 +885,10 @@
     <path name="immersive-playback -> bt" />
   </path>
 
+  <path name="immersive-playback-0 -> bluetooth-low-energy-broadcast">
+    <path name="immersive-playback -> bt" />
+  </path>
+
   <path name="immersive-playback-0 -> usb">
     <ctl name="USB_RX Mixer IMSV" value="1" />
   </path>
@@ -924,6 +953,10 @@
     <path name="spatializer-offload-playback -> bt" />
   </path>
 
+  <path name="spatializer-offload-playback-0 -> bluetooth-low-energy-broadcast">
+    <path name="spatializer-offload-playback -> bt" />
+  </path>
+
   <path name="spatializer-offload-playback-0 -> usb">
     <ctl name="USB_RX Mixer EP4" value="1" />
   </path>
@@ -994,6 +1027,10 @@
     <path name="haptic-playback -> bt" />
   </path>
 
+  <path name="haptic-playback-0 -> bluetooth-low-energy-broadcast">
+    <path name="haptic-playback -> bt" />
+  </path>
+
   <path name="haptic-playback-0 -> usb">
     <ctl name="USB_RX Mixer EP3" value="1" />
     <ctl name="TDM_0_RX Mixer EP8" value="1" />
@@ -1068,6 +1105,39 @@
     <ctl name="VOIP TX Mixer BT_TX" value="1" />
   </path>
 
+  <path name="microphones -> voip-gsenet-capture-0">
+    <ctl name="Incall Capture Stream3" value="3MIC" />
+    <ctl name="VOIP TX Mixer INTERNAL_MIC_TX" value="1" />
+  </path>
+
+  <path name="back-microphones -> voip-gsenet-capture-0">
+    <ctl name="Incall Capture Stream3" value="3MIC" />
+    <ctl name="VOIP TX Mixer INTERNAL_MIC_TX" value="1" />
+  </path>
+
+  <path name="usb-microphones -> voip-gsenet-capture-0">
+    <ctl name="Incall Capture Stream3" value="3MIC" />
+    <ctl name="VOIP TX Mixer USB_TX" value="1" />
+  </path>
+
+  <path name="usb-headset-microphones -> voip-gsenet-capture-0">
+    <path name="usb-microphones -> voip-gsenet-capture-0" />
+  </path>
+
+  <path name="usb-device-microphones -> voip-gsenet-capture-0">
+    <path name="usb-microphones -> voip-gsenet-capture-0" />
+  </path>
+
+  <path name="bluetooth-sco-headset-microphones -> voip-gsenet-capture-0">
+    <ctl name="Incall Capture Stream3" value="3MIC" />
+    <ctl name="VOIP TX Mixer BT_TX" value="1" />
+  </path>
+
+  <path name="bluetooth-low-energy-headset-microphones -> voip-gsenet-capture-0">
+    <ctl name="Incall Capture Stream3" value="3MIC" />
+    <ctl name="VOIP TX Mixer BT_TX" value="1" />
+  </path>
+
   <path name="microphones -> fast-capture-0">
     <ctl name="EP3 TX Mixer INTERNAL_MIC_TX" value="1" />
   </path>
@@ -1171,6 +1241,10 @@
     <path name="voice-call-downlink-0 -> bt" />
   </path>
 
+  <path name="voice-call-downlink-0 -> bluetooth-low-energy-broadcast">
+    <path name="voice-call-downlink-0 -> bt" />
+  </path>
+
   <path name="voice-call-downlink-0 -> usb">
     <ctl name="USB_RX Mixer EP5" value="1" />
   </path>
diff --git a/audio/komodo/audio-tables.mk b/audio/komodo/audio-tables.mk
index 1fd720f..a724bb5 100644
--- a/audio/komodo/audio-tables.mk
+++ b/audio/komodo/audio-tables.mk
@@ -62,7 +62,25 @@
     waves_preset.mps \
     compens_spk_l.conf \
     compens_spk_r.conf \
-    default_mic_compensation.bin
+    default_mic_compensation.bin \
+    downlink_bluetooth_headset_config.pb \
+    downlink_dock_config.pb \
+    downlink_external_speaker_config.pb \
+    downlink_handset_config.pb \
+    downlink_speaker_config.pb \
+    downlink_wired_headset_config.pb \
+    uplink_bluetooth_headset_aec_off_config.pb \
+    uplink_bluetooth_headset_aec_on_config.pb \
+    uplink_dock_aec_off_config.pb \
+    uplink_dock_aec_on_config.pb \
+    uplink_external_speaker_aec_off_config.pb \
+    uplink_external_speaker_aec_on_config.pb \
+    uplink_handset_aec_off_config.pb \
+    uplink_handset_aec_on_config.pb \
+    uplink_speaker_aec_off_config.pb \
+    uplink_speaker_aec_on_config.pb \
+    uplink_wired_headset_aec_off_config.pb \
+    uplink_wired_headset_aec_on_config.pb
 
 # userdebug and eng specific
 PRODUCT_PACKAGES_DEBUG += \
diff --git a/audio/komodo/prebuilt/libspeechenhancer/Android.bp b/audio/komodo/prebuilt/libspeechenhancer/Android.bp
index 5b4b8ae..9d4a232 100644
--- a/audio/komodo/prebuilt/libspeechenhancer/Android.bp
+++ b/audio/komodo/prebuilt/libspeechenhancer/Android.bp
@@ -34,7 +34,9 @@
         "libcutils",
         "libEGL",
         "libGLESv2",
+        "libbinder_ndk",
         "liblog",
+        "libsync",
         "libz",
         "libnativewindow",
     ],
diff --git a/audio/komodo/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so b/audio/komodo/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so
index b9f43a7..6bb4b10 100644
--- a/audio/komodo/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so
+++ b/audio/komodo/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so
Binary files differ
diff --git a/audio/komodo/tuning/Android.bp b/audio/komodo/tuning/Android.bp
index e81b4e9..6218306 100644
--- a/audio/komodo/tuning/Android.bp
+++ b/audio/komodo/tuning/Android.bp
@@ -35,16 +35,19 @@
     src: "bluenote/recording.gatf",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "smartfeature.gstf",
     src: "bluenote/smartfeature.gstf",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "template.xml",
     src: "bluenote/template.xml",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "tuning_constraints_combination.xml",
     src: "bluenote/tuning_constraints_combination.xml",
@@ -56,6 +59,7 @@
     src: "compensation/compens_spk_l.conf",
     soc_specific: true,
 }
+
 prebuilt_etc {
     name: "compens_spk_r.conf",
     src: "compensation/compens_spk_r.conf",
@@ -67,41 +71,49 @@
     src: "fortemedia/BLUETOOTH.dat",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "BLUETOOTH.mods",
     src: "fortemedia/BLUETOOTH.mods",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "HANDSFREE.dat",
     src: "fortemedia/HANDSFREE.dat",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "HANDSFREE.mods",
     src: "fortemedia/HANDSFREE.mods",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "HANDSET.dat",
     src: "fortemedia/HANDSET.dat",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "HANDSET.mods",
     src: "fortemedia/HANDSET.mods",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "HEADSET.dat",
     src: "fortemedia/HEADSET.dat",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "HEADSET.mods",
     src: "fortemedia/HEADSET.mods",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "mcps.dat",
     src: "fortemedia/mcps.dat",
@@ -109,20 +121,131 @@
 }
 
 prebuilt_etc {
+    name: "downlink_bluetooth_headset_config.pb",
+    src: "apmg3/downlink_bluetooth_headset_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "downlink_dock_config.pb",
+    src: "apmg3/downlink_dock_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "downlink_external_speaker_config.pb",
+    src: "apmg3/downlink_external_speaker_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "downlink_handset_config.pb",
+    src: "apmg3/downlink_handset_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "downlink_speaker_config.pb",
+    src: "apmg3/downlink_speaker_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "downlink_wired_headset_config.pb",
+    src: "apmg3/downlink_wired_headset_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_bluetooth_headset_aec_off_config.pb",
+    src: "apmg3/uplink_bluetooth_headset_aec_off_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_bluetooth_headset_aec_on_config.pb",
+    src: "apmg3/uplink_bluetooth_headset_aec_on_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_dock_aec_off_config.pb",
+    src: "apmg3/uplink_dock_aec_off_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_dock_aec_on_config.pb",
+    src: "apmg3/uplink_dock_aec_on_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_external_speaker_aec_off_config.pb",
+    src: "apmg3/uplink_external_speaker_aec_off_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_external_speaker_aec_on_config.pb",
+    src: "apmg3/uplink_external_speaker_aec_on_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_handset_aec_off_config.pb",
+    src: "apmg3/uplink_handset_aec_off_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_handset_aec_on_config.pb",
+    src: "apmg3/uplink_handset_aec_on_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_speaker_aec_off_config.pb",
+    src: "apmg3/uplink_speaker_aec_off_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_speaker_aec_on_config.pb",
+    src: "apmg3/uplink_speaker_aec_on_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_wired_headset_aec_off_config.pb",
+    src: "apmg3/uplink_wired_headset_aec_off_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_wired_headset_aec_on_config.pb",
+    src: "apmg3/uplink_wired_headset_aec_on_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
     name: "waves_config.ini",
     src: "waves/waves_config.ini",
     soc_specific: true,
 }
+
 prebuilt_etc {
     name: "waves_preset.mps",
     src: "waves/waves_preset.mps",
     soc_specific: true,
 }
+
 prebuilt_etc {
     name: "test_config.ini",
     src: "waves/tests/test_config.ini",
     soc_specific: true,
 }
+
 prebuilt_etc {
     name: "test_preset.mps",
     src: "waves/tests/test_preset.mps",
diff --git a/audio/komodo/tuning/apmg3/downlink_bluetooth_headset_config.pb b/audio/komodo/tuning/apmg3/downlink_bluetooth_headset_config.pb
new file mode 100644
index 0000000..4d26cce
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/downlink_bluetooth_headset_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/downlink_dock_config.pb b/audio/komodo/tuning/apmg3/downlink_dock_config.pb
new file mode 100644
index 0000000..854a48d
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/downlink_dock_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/downlink_external_speaker_config.pb b/audio/komodo/tuning/apmg3/downlink_external_speaker_config.pb
new file mode 100644
index 0000000..f501ab8
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/downlink_external_speaker_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/downlink_handset_config.pb b/audio/komodo/tuning/apmg3/downlink_handset_config.pb
new file mode 100644
index 0000000..ecdef83
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/downlink_handset_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/downlink_speaker_config.pb b/audio/komodo/tuning/apmg3/downlink_speaker_config.pb
new file mode 100644
index 0000000..71c7f08
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/downlink_speaker_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/downlink_wired_headset_config.pb b/audio/komodo/tuning/apmg3/downlink_wired_headset_config.pb
new file mode 100644
index 0000000..0f98f65
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/downlink_wired_headset_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/uplink_bluetooth_headset_aec_off_config.pb b/audio/komodo/tuning/apmg3/uplink_bluetooth_headset_aec_off_config.pb
new file mode 100644
index 0000000..a6dfdce
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/uplink_bluetooth_headset_aec_off_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/uplink_bluetooth_headset_aec_on_config.pb b/audio/komodo/tuning/apmg3/uplink_bluetooth_headset_aec_on_config.pb
new file mode 100644
index 0000000..58ac211
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/uplink_bluetooth_headset_aec_on_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/uplink_dock_aec_off_config.pb b/audio/komodo/tuning/apmg3/uplink_dock_aec_off_config.pb
new file mode 100644
index 0000000..06e4ef5
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/uplink_dock_aec_off_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/uplink_dock_aec_on_config.pb b/audio/komodo/tuning/apmg3/uplink_dock_aec_on_config.pb
new file mode 100644
index 0000000..979a200
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/uplink_dock_aec_on_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/uplink_external_speaker_aec_off_config.pb b/audio/komodo/tuning/apmg3/uplink_external_speaker_aec_off_config.pb
new file mode 100644
index 0000000..7103879
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/uplink_external_speaker_aec_off_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/uplink_external_speaker_aec_on_config.pb b/audio/komodo/tuning/apmg3/uplink_external_speaker_aec_on_config.pb
new file mode 100644
index 0000000..d747bc2
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/uplink_external_speaker_aec_on_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/uplink_handset_aec_off_config.pb b/audio/komodo/tuning/apmg3/uplink_handset_aec_off_config.pb
new file mode 100644
index 0000000..9351945
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/uplink_handset_aec_off_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/uplink_handset_aec_on_config.pb b/audio/komodo/tuning/apmg3/uplink_handset_aec_on_config.pb
new file mode 100644
index 0000000..58dc380
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/uplink_handset_aec_on_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/uplink_speaker_aec_off_config.pb b/audio/komodo/tuning/apmg3/uplink_speaker_aec_off_config.pb
new file mode 100644
index 0000000..02348b9
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/uplink_speaker_aec_off_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/uplink_speaker_aec_on_config.pb b/audio/komodo/tuning/apmg3/uplink_speaker_aec_on_config.pb
new file mode 100644
index 0000000..95c6659
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/uplink_speaker_aec_on_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/uplink_wired_headset_aec_off_config.pb b/audio/komodo/tuning/apmg3/uplink_wired_headset_aec_off_config.pb
new file mode 100644
index 0000000..679aa66
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/uplink_wired_headset_aec_off_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/uplink_wired_headset_aec_on_config.pb b/audio/komodo/tuning/apmg3/uplink_wired_headset_aec_on_config.pb
new file mode 100644
index 0000000..fec3962
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/uplink_wired_headset_aec_on_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/fortemedia/BLUETOOTH.dat b/audio/komodo/tuning/fortemedia/BLUETOOTH.dat
index a36f753..babe0c3 100644
--- a/audio/komodo/tuning/fortemedia/BLUETOOTH.dat
+++ b/audio/komodo/tuning/fortemedia/BLUETOOTH.dat
Binary files differ
diff --git a/audio/komodo/tuning/fortemedia/BLUETOOTH.mods b/audio/komodo/tuning/fortemedia/BLUETOOTH.mods
index 1366e7d..06578dd 100644
--- a/audio/komodo/tuning/fortemedia/BLUETOOTH.mods
+++ b/audio/komodo/tuning/fortemedia/BLUETOOTH.mods
@@ -3,7 +3,7 @@
 #EXPORT_FLAG  BLUETOOTH

 #PARAM_MODE   FULL

 #SAVE_MODE  3

-#SAVE_TIME  2024-06-06 17:28:27

+#SAVE_TIME  2024-07-19 14:39:26

 

 #CASE_NAME  BLUETOOTH-BT_HAC-VOICE_GENERIC-NB

 #PARAM_TYPE  TX+2RX

@@ -2708,7 +2708,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x003B    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0001    //TX_SAMPLINGFREQ_SIG

 7    0x0001    //TX_SAMPLINGFREQ_PROC

@@ -3101,7 +3101,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x4000    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -5403,7 +5403,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -5564,9 +5564,9 @@
 162    0x7800    //TX_MIN_EQ_RE_EST_10

 163    0x7800    //TX_MIN_EQ_RE_EST_11

 164    0x7800    //TX_MIN_EQ_RE_EST_12

-165    0x1000    //TX_LAMBDA_RE_EST

+165    0x8000    //TX_LAMBDA_RE_EST

 166    0x3000    //TX_LAMBDA_CB_NLE

-167    0x0000    //TX_C_POST_FLT

+167    0x4000    //TX_C_POST_FLT

 168    0x4000    //TX_GAIN_NP

 169    0x0270    //TX_SE_HOLD_N

 170    0x00C8    //TX_DT_HOLD_N

@@ -5625,15 +5625,15 @@
 223    0x0001    //TX_RATIO_DT_L_TH_LOW

 224    0x3A98    //TX_RATIO_DT_H_TH_LOW

 225    0x3E80    //TX_RATIO_DT_L_TH_HIGH

-226    0x6590    //TX_RATIO_DT_H_TH_HIGH

+226    0x4E20    //TX_RATIO_DT_H_TH_HIGH

 227    0x0001    //TX_RATIO_DT_L0_TH

-228    0x7FFF    //TX_B_POST_FILT_ECHO_L

+228    0x2000    //TX_B_POST_FILT_ECHO_L

 229    0x7FFF    //TX_B_POST_FILT_ECHO_H

 230    0x0200    //TX_MIN_G_CTRL_ECHO

 231    0x1000    //TX_B_LESSCUT_RTO_ECHO

 232    0x0000    //TX_EPD_OFFSET_00

 233    0x0000    //TX_EPD_OFFST_01

-234    0x0FA0    //TX_RATIO_DT_L0_TH_HIGH

+234    0x2328    //TX_RATIO_DT_L0_TH_HIGH

 235    0x7FFF    //TX_RATIO_DT_H_TH_CUT

 236    0x7FFF    //TX_MIN_EQ_RE_EST_13

 237    0x0000    //TX_DTD_THR1_7

@@ -5691,7 +5691,7 @@
 289    0x0020    //TX_MIN_GAIN_S_0

 290    0x0004    //TX_MIN_GAIN_S_1

 291    0x0016    //TX_MIN_GAIN_S_2

-292    0x0020    //TX_MIN_GAIN_S_3

+292    0x0010    //TX_MIN_GAIN_S_3

 293    0x0020    //TX_MIN_GAIN_S_4

 294    0x0020    //TX_MIN_GAIN_S_5

 295    0x0020    //TX_MIN_GAIN_S_6

@@ -5796,7 +5796,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -6348,7 +6348,7 @@
 946    0x000A    //TX_MUTE_REF_POW_TH

 947    0x0014    //TX_MIC0_MUTE_INITECHO_CUT_LEN

 948    0x0014    //TX_MIC1_MUTE_INITECHO_CUT_LEN

-949    0x4000    //TX_PRE_MASK_SUP

+949    0x6000    //TX_PRE_MASK_SUP

 950    0x00C0    //TX_SDPCRN_GAIN

 951    0x7333    //TX_EASSA_CUT_GAINTH

 952    0x0002    //TX_DT_HARME_ENDF

@@ -6378,10 +6378,10 @@
 976    0x00A0    //TX_EASSA_AEC_FEMALE_ECHO_TH

 977    0x0032    //TX_EASSA_NONLECHO_TH

 978    0x4E20    //TX_EASSA_NONLECHO_ECHOENTH

-979    0x0000    //TX_EASSA_NNG

-980    0x0800    //TX_EASSA_NONLHFG

+979    0x0400    //TX_EASSA_NNG

+980    0x2000    //TX_EASSA_NONLHFG

 981    0x1000    //TX_EASSA_DT2000HZ_REFG

-982    0x0C00    //TX_EASSA_DT400HZ_MAING

+982    0x0200    //TX_EASSA_DT400HZ_MAING

 983    0x3A98    //TX_EASSA_RATIODTH_THCUT_NSSA

 984    0x0000    //TX_EASSA_AEC_NSSA_REFG_MAINBLK_0

 985    0x0000    //TX_EASSA_AEC_NSSA_REFG_MAINBLK_1

@@ -10793,7 +10793,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -10954,9 +10954,9 @@
 162    0x7800    //TX_MIN_EQ_RE_EST_10

 163    0x7800    //TX_MIN_EQ_RE_EST_11

 164    0x7800    //TX_MIN_EQ_RE_EST_12

-165    0x1000    //TX_LAMBDA_RE_EST

+165    0x8000    //TX_LAMBDA_RE_EST

 166    0x3000    //TX_LAMBDA_CB_NLE

-167    0x0000    //TX_C_POST_FLT

+167    0x4000    //TX_C_POST_FLT

 168    0x4000    //TX_GAIN_NP

 169    0x0270    //TX_SE_HOLD_N

 170    0x00C8    //TX_DT_HOLD_N

@@ -11015,15 +11015,15 @@
 223    0x0001    //TX_RATIO_DT_L_TH_LOW

 224    0x3A98    //TX_RATIO_DT_H_TH_LOW

 225    0x3E80    //TX_RATIO_DT_L_TH_HIGH

-226    0x6590    //TX_RATIO_DT_H_TH_HIGH

+226    0x4E20    //TX_RATIO_DT_H_TH_HIGH

 227    0x0001    //TX_RATIO_DT_L0_TH

-228    0x7FFF    //TX_B_POST_FILT_ECHO_L

+228    0x2000    //TX_B_POST_FILT_ECHO_L

 229    0x7FFF    //TX_B_POST_FILT_ECHO_H

 230    0x0200    //TX_MIN_G_CTRL_ECHO

 231    0x1000    //TX_B_LESSCUT_RTO_ECHO

 232    0x0000    //TX_EPD_OFFSET_00

 233    0x0000    //TX_EPD_OFFST_01

-234    0x0FA0    //TX_RATIO_DT_L0_TH_HIGH

+234    0x2328    //TX_RATIO_DT_L0_TH_HIGH

 235    0x7FFF    //TX_RATIO_DT_H_TH_CUT

 236    0x7FFF    //TX_MIN_EQ_RE_EST_13

 237    0x0000    //TX_DTD_THR1_7

@@ -11081,7 +11081,7 @@
 289    0x0020    //TX_MIN_GAIN_S_0

 290    0x0004    //TX_MIN_GAIN_S_1

 291    0x0016    //TX_MIN_GAIN_S_2

-292    0x0020    //TX_MIN_GAIN_S_3

+292    0x0010    //TX_MIN_GAIN_S_3

 293    0x0020    //TX_MIN_GAIN_S_4

 294    0x0020    //TX_MIN_GAIN_S_5

 295    0x0020    //TX_MIN_GAIN_S_6

@@ -11186,7 +11186,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -11738,7 +11738,7 @@
 946    0x000A    //TX_MUTE_REF_POW_TH

 947    0x0014    //TX_MIC0_MUTE_INITECHO_CUT_LEN

 948    0x0014    //TX_MIC1_MUTE_INITECHO_CUT_LEN

-949    0x4000    //TX_PRE_MASK_SUP

+949    0x6000    //TX_PRE_MASK_SUP

 950    0x00C0    //TX_SDPCRN_GAIN

 951    0x7333    //TX_EASSA_CUT_GAINTH

 952    0x0002    //TX_DT_HARME_ENDF

@@ -11768,10 +11768,10 @@
 976    0x00A0    //TX_EASSA_AEC_FEMALE_ECHO_TH

 977    0x0032    //TX_EASSA_NONLECHO_TH

 978    0x4E20    //TX_EASSA_NONLECHO_ECHOENTH

-979    0x0000    //TX_EASSA_NNG

-980    0x0800    //TX_EASSA_NONLHFG

+979    0x0400    //TX_EASSA_NNG

+980    0x2000    //TX_EASSA_NONLHFG

 981    0x1000    //TX_EASSA_DT2000HZ_REFG

-982    0x0C00    //TX_EASSA_DT400HZ_MAING

+982    0x0200    //TX_EASSA_DT400HZ_MAING

 983    0x3A98    //TX_EASSA_RATIODTH_THCUT_NSSA

 984    0x0000    //TX_EASSA_AEC_NSSA_REFG_MAINBLK_0

 985    0x0000    //TX_EASSA_AEC_NSSA_REFG_MAINBLK_1

diff --git a/audio/komodo/tuning/fortemedia/HANDSET.dat b/audio/komodo/tuning/fortemedia/HANDSET.dat
index 58fd5a9..fff39a9 100644
--- a/audio/komodo/tuning/fortemedia/HANDSET.dat
+++ b/audio/komodo/tuning/fortemedia/HANDSET.dat
Binary files differ
diff --git a/audio/komodo/tuning/fortemedia/HANDSET.mods b/audio/komodo/tuning/fortemedia/HANDSET.mods
index 7547ee7..3fdb716 100644
--- a/audio/komodo/tuning/fortemedia/HANDSET.mods
+++ b/audio/komodo/tuning/fortemedia/HANDSET.mods
@@ -3,7 +3,7 @@
 #EXPORT_FLAG  HANDSET

 #PARAM_MODE   FULL

 #SAVE_MODE  3

-#SAVE_TIME  2024-06-06 17:28:25

+#SAVE_TIME  2024-07-19 14:39:24

 

 #CASE_NAME  HANDSET-HANDSET-VOICE_GENERIC-NB

 #PARAM_TYPE  TX+2RX

@@ -3228,10 +3228,10 @@
 521    0x0000    //TX_GSC_RTOL_TH

 522    0x0000    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -5923,10 +5923,10 @@
 521    0x3A98    //TX_GSC_RTOL_TH

 522    0x3A98    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -14008,10 +14008,10 @@
 521    0x0000    //TX_GSC_RTOL_TH

 522    0x0000    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -16703,10 +16703,10 @@
 521    0x3A98    //TX_GSC_RTOL_TH

 522    0x3A98    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -22093,10 +22093,10 @@
 521    0x3A98    //TX_GSC_RTOL_TH

 522    0x3A98    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -27483,10 +27483,10 @@
 521    0x3A98    //TX_GSC_RTOL_TH

 522    0x3A98    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -32873,10 +32873,10 @@
 521    0x3A98    //TX_GSC_RTOL_TH

 522    0x3A98    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -38263,10 +38263,10 @@
 521    0x3A98    //TX_GSC_RTOL_TH

 522    0x3A98    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -43653,10 +43653,10 @@
 521    0x0000    //TX_GSC_RTOL_TH

 522    0x0000    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -46348,10 +46348,10 @@
 521    0x3A98    //TX_GSC_RTOL_TH

 522    0x3A98    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -54433,10 +54433,10 @@
 521    0x0000    //TX_GSC_RTOL_TH

 522    0x0000    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -57128,10 +57128,10 @@
 521    0x3A98    //TX_GSC_RTOL_TH

 522    0x3A98    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -62518,10 +62518,10 @@
 521    0x3A98    //TX_GSC_RTOL_TH

 522    0x3A98    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

diff --git a/audio/komodo/tuning/fortemedia/HANDSFREE.dat b/audio/komodo/tuning/fortemedia/HANDSFREE.dat
index 46917dc..50b7b0c 100644
--- a/audio/komodo/tuning/fortemedia/HANDSFREE.dat
+++ b/audio/komodo/tuning/fortemedia/HANDSFREE.dat
Binary files differ
diff --git a/audio/komodo/tuning/fortemedia/HANDSFREE.mods b/audio/komodo/tuning/fortemedia/HANDSFREE.mods
index 29b9b27..26029c9 100644
--- a/audio/komodo/tuning/fortemedia/HANDSFREE.mods
+++ b/audio/komodo/tuning/fortemedia/HANDSFREE.mods
@@ -3,7 +3,7 @@
 #EXPORT_FLAG  HANDSFREE

 #PARAM_MODE   FULL

 #SAVE_MODE  3

-#SAVE_TIME  2024-06-06 17:28:24

+#SAVE_TIME  2024-07-19 14:44:35

 

 #CASE_NAME  HANDSFREE-HANDSFREE-VOICE_GENERIC-NB

 #PARAM_TYPE  TX+2RX

@@ -2708,7 +2708,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x003B    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0001    //TX_SAMPLINGFREQ_SIG

 7    0x0001    //TX_SAMPLINGFREQ_PROC

@@ -3101,7 +3101,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x4000    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -5403,7 +5403,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -5564,9 +5564,9 @@
 162    0x7800    //TX_MIN_EQ_RE_EST_10

 163    0x7800    //TX_MIN_EQ_RE_EST_11

 164    0x7800    //TX_MIN_EQ_RE_EST_12

-165    0x1000    //TX_LAMBDA_RE_EST

+165    0x8000    //TX_LAMBDA_RE_EST

 166    0x3000    //TX_LAMBDA_CB_NLE

-167    0x0000    //TX_C_POST_FLT

+167    0x4000    //TX_C_POST_FLT

 168    0x4000    //TX_GAIN_NP

 169    0x0270    //TX_SE_HOLD_N

 170    0x00C8    //TX_DT_HOLD_N

@@ -5625,15 +5625,15 @@
 223    0x0001    //TX_RATIO_DT_L_TH_LOW

 224    0x3A98    //TX_RATIO_DT_H_TH_LOW

 225    0x3E80    //TX_RATIO_DT_L_TH_HIGH

-226    0x6590    //TX_RATIO_DT_H_TH_HIGH

+226    0x4E20    //TX_RATIO_DT_H_TH_HIGH

 227    0x0001    //TX_RATIO_DT_L0_TH

-228    0x7FFF    //TX_B_POST_FILT_ECHO_L

+228    0x2000    //TX_B_POST_FILT_ECHO_L

 229    0x7FFF    //TX_B_POST_FILT_ECHO_H

 230    0x0200    //TX_MIN_G_CTRL_ECHO

 231    0x1000    //TX_B_LESSCUT_RTO_ECHO

 232    0x0000    //TX_EPD_OFFSET_00

 233    0x0000    //TX_EPD_OFFST_01

-234    0x0FA0    //TX_RATIO_DT_L0_TH_HIGH

+234    0x2328    //TX_RATIO_DT_L0_TH_HIGH

 235    0x7FFF    //TX_RATIO_DT_H_TH_CUT

 236    0x7FFF    //TX_MIN_EQ_RE_EST_13

 237    0x0000    //TX_DTD_THR1_7

@@ -5691,7 +5691,7 @@
 289    0x0020    //TX_MIN_GAIN_S_0

 290    0x0004    //TX_MIN_GAIN_S_1

 291    0x0016    //TX_MIN_GAIN_S_2

-292    0x0020    //TX_MIN_GAIN_S_3

+292    0x0010    //TX_MIN_GAIN_S_3

 293    0x0020    //TX_MIN_GAIN_S_4

 294    0x0020    //TX_MIN_GAIN_S_5

 295    0x0020    //TX_MIN_GAIN_S_6

@@ -5796,7 +5796,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -6348,7 +6348,7 @@
 946    0x000A    //TX_MUTE_REF_POW_TH

 947    0x0014    //TX_MIC0_MUTE_INITECHO_CUT_LEN

 948    0x0014    //TX_MIC1_MUTE_INITECHO_CUT_LEN

-949    0x4000    //TX_PRE_MASK_SUP

+949    0x6000    //TX_PRE_MASK_SUP

 950    0x00C0    //TX_SDPCRN_GAIN

 951    0x7333    //TX_EASSA_CUT_GAINTH

 952    0x0002    //TX_DT_HARME_ENDF

@@ -6378,10 +6378,10 @@
 976    0x00A0    //TX_EASSA_AEC_FEMALE_ECHO_TH

 977    0x0032    //TX_EASSA_NONLECHO_TH

 978    0x4E20    //TX_EASSA_NONLECHO_ECHOENTH

-979    0x0000    //TX_EASSA_NNG

-980    0x0800    //TX_EASSA_NONLHFG

+979    0x0400    //TX_EASSA_NNG

+980    0x2000    //TX_EASSA_NONLHFG

 981    0x1000    //TX_EASSA_DT2000HZ_REFG

-982    0x0C00    //TX_EASSA_DT400HZ_MAING

+982    0x0200    //TX_EASSA_DT400HZ_MAING

 983    0x3A98    //TX_EASSA_RATIODTH_THCUT_NSSA

 984    0x0000    //TX_EASSA_AEC_NSSA_REFG_MAINBLK_0

 985    0x0000    //TX_EASSA_AEC_NSSA_REFG_MAINBLK_1

@@ -10793,7 +10793,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F75    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -10954,9 +10954,9 @@
 162    0x7800    //TX_MIN_EQ_RE_EST_10

 163    0x7800    //TX_MIN_EQ_RE_EST_11

 164    0x7800    //TX_MIN_EQ_RE_EST_12

-165    0x1000    //TX_LAMBDA_RE_EST

+165    0x8000    //TX_LAMBDA_RE_EST

 166    0x3000    //TX_LAMBDA_CB_NLE

-167    0x0000    //TX_C_POST_FLT

+167    0x4000    //TX_C_POST_FLT

 168    0x4000    //TX_GAIN_NP

 169    0x0270    //TX_SE_HOLD_N

 170    0x00C8    //TX_DT_HOLD_N

@@ -11015,15 +11015,15 @@
 223    0x0001    //TX_RATIO_DT_L_TH_LOW

 224    0x3A98    //TX_RATIO_DT_H_TH_LOW

 225    0x3E80    //TX_RATIO_DT_L_TH_HIGH

-226    0x6590    //TX_RATIO_DT_H_TH_HIGH

+226    0x4E20    //TX_RATIO_DT_H_TH_HIGH

 227    0x0001    //TX_RATIO_DT_L0_TH

-228    0x7FFF    //TX_B_POST_FILT_ECHO_L

+228    0x2000    //TX_B_POST_FILT_ECHO_L

 229    0x7FFF    //TX_B_POST_FILT_ECHO_H

 230    0x0200    //TX_MIN_G_CTRL_ECHO

 231    0x1000    //TX_B_LESSCUT_RTO_ECHO

 232    0x0000    //TX_EPD_OFFSET_00

 233    0x0000    //TX_EPD_OFFST_01

-234    0x0FA0    //TX_RATIO_DT_L0_TH_HIGH

+234    0x2328    //TX_RATIO_DT_L0_TH_HIGH

 235    0x7FFF    //TX_RATIO_DT_H_TH_CUT

 236    0x7FFF    //TX_MIN_EQ_RE_EST_13

 237    0x0000    //TX_DTD_THR1_7

@@ -11081,7 +11081,7 @@
 289    0x0020    //TX_MIN_GAIN_S_0

 290    0x0004    //TX_MIN_GAIN_S_1

 291    0x0016    //TX_MIN_GAIN_S_2

-292    0x0020    //TX_MIN_GAIN_S_3

+292    0x0010    //TX_MIN_GAIN_S_3

 293    0x0020    //TX_MIN_GAIN_S_4

 294    0x0020    //TX_MIN_GAIN_S_5

 295    0x0020    //TX_MIN_GAIN_S_6

@@ -11186,7 +11186,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -11738,7 +11738,7 @@
 946    0x000A    //TX_MUTE_REF_POW_TH

 947    0x0014    //TX_MIC0_MUTE_INITECHO_CUT_LEN

 948    0x0014    //TX_MIC1_MUTE_INITECHO_CUT_LEN

-949    0x4000    //TX_PRE_MASK_SUP

+949    0x6000    //TX_PRE_MASK_SUP

 950    0x00C0    //TX_SDPCRN_GAIN

 951    0x7333    //TX_EASSA_CUT_GAINTH

 952    0x0002    //TX_DT_HARME_ENDF

@@ -11768,10 +11768,10 @@
 976    0x00A0    //TX_EASSA_AEC_FEMALE_ECHO_TH

 977    0x0032    //TX_EASSA_NONLECHO_TH

 978    0x4E20    //TX_EASSA_NONLECHO_ECHOENTH

-979    0x0000    //TX_EASSA_NNG

-980    0x0800    //TX_EASSA_NONLHFG

+979    0x0400    //TX_EASSA_NNG

+980    0x2000    //TX_EASSA_NONLHFG

 981    0x1000    //TX_EASSA_DT2000HZ_REFG

-982    0x0C00    //TX_EASSA_DT400HZ_MAING

+982    0x0200    //TX_EASSA_DT400HZ_MAING

 983    0x3A98    //TX_EASSA_RATIODTH_THCUT_NSSA

 984    0x0000    //TX_EASSA_AEC_NSSA_REFG_MAINBLK_0

 985    0x0000    //TX_EASSA_AEC_NSSA_REFG_MAINBLK_1

@@ -16183,7 +16183,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -16344,9 +16344,9 @@
 162    0x7800    //TX_MIN_EQ_RE_EST_10

 163    0x7800    //TX_MIN_EQ_RE_EST_11

 164    0x7800    //TX_MIN_EQ_RE_EST_12

-165    0x1000    //TX_LAMBDA_RE_EST

+165    0x8000    //TX_LAMBDA_RE_EST

 166    0x3000    //TX_LAMBDA_CB_NLE

-167    0x0000    //TX_C_POST_FLT

+167    0x4000    //TX_C_POST_FLT

 168    0x4000    //TX_GAIN_NP

 169    0x0270    //TX_SE_HOLD_N

 170    0x00C8    //TX_DT_HOLD_N

@@ -16405,15 +16405,15 @@
 223    0x0001    //TX_RATIO_DT_L_TH_LOW

 224    0x3A98    //TX_RATIO_DT_H_TH_LOW

 225    0x3E80    //TX_RATIO_DT_L_TH_HIGH

-226    0x6590    //TX_RATIO_DT_H_TH_HIGH

+226    0x4E20    //TX_RATIO_DT_H_TH_HIGH

 227    0x0001    //TX_RATIO_DT_L0_TH

-228    0x7FFF    //TX_B_POST_FILT_ECHO_L

+228    0x2000    //TX_B_POST_FILT_ECHO_L

 229    0x7FFF    //TX_B_POST_FILT_ECHO_H

 230    0x0200    //TX_MIN_G_CTRL_ECHO

 231    0x1000    //TX_B_LESSCUT_RTO_ECHO

 232    0x0000    //TX_EPD_OFFSET_00

 233    0x0000    //TX_EPD_OFFST_01

-234    0x0FA0    //TX_RATIO_DT_L0_TH_HIGH

+234    0x2328    //TX_RATIO_DT_L0_TH_HIGH

 235    0x7FFF    //TX_RATIO_DT_H_TH_CUT

 236    0x7FFF    //TX_MIN_EQ_RE_EST_13

 237    0x0000    //TX_DTD_THR1_7

@@ -16471,7 +16471,7 @@
 289    0x0020    //TX_MIN_GAIN_S_0

 290    0x0004    //TX_MIN_GAIN_S_1

 291    0x0016    //TX_MIN_GAIN_S_2

-292    0x0020    //TX_MIN_GAIN_S_3

+292    0x0010    //TX_MIN_GAIN_S_3

 293    0x0020    //TX_MIN_GAIN_S_4

 294    0x0020    //TX_MIN_GAIN_S_5

 295    0x0020    //TX_MIN_GAIN_S_6

@@ -16576,7 +16576,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -17128,7 +17128,7 @@
 946    0x000A    //TX_MUTE_REF_POW_TH

 947    0x0014    //TX_MIC0_MUTE_INITECHO_CUT_LEN

 948    0x0014    //TX_MIC1_MUTE_INITECHO_CUT_LEN

-949    0x4000    //TX_PRE_MASK_SUP

+949    0x6000    //TX_PRE_MASK_SUP

 950    0x00C0    //TX_SDPCRN_GAIN

 951    0x7333    //TX_EASSA_CUT_GAINTH

 952    0x0002    //TX_DT_HARME_ENDF

@@ -17158,10 +17158,10 @@
 976    0x00A0    //TX_EASSA_AEC_FEMALE_ECHO_TH

 977    0x0032    //TX_EASSA_NONLECHO_TH

 978    0x4E20    //TX_EASSA_NONLECHO_ECHOENTH

-979    0x0000    //TX_EASSA_NNG

-980    0x0800    //TX_EASSA_NONLHFG

+979    0x0400    //TX_EASSA_NNG

+980    0x2000    //TX_EASSA_NONLHFG

 981    0x1000    //TX_EASSA_DT2000HZ_REFG

-982    0x0C00    //TX_EASSA_DT400HZ_MAING

+982    0x0200    //TX_EASSA_DT400HZ_MAING

 983    0x3A98    //TX_EASSA_RATIODTH_THCUT_NSSA

 984    0x0000    //TX_EASSA_AEC_NSSA_REFG_MAINBLK_0

 985    0x0000    //TX_EASSA_AEC_NSSA_REFG_MAINBLK_1

@@ -21573,7 +21573,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F55    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -21734,9 +21734,9 @@
 162    0x7800    //TX_MIN_EQ_RE_EST_10

 163    0x7800    //TX_MIN_EQ_RE_EST_11

 164    0x7800    //TX_MIN_EQ_RE_EST_12

-165    0x1000    //TX_LAMBDA_RE_EST

+165    0x8000    //TX_LAMBDA_RE_EST

 166    0x3000    //TX_LAMBDA_CB_NLE

-167    0x0000    //TX_C_POST_FLT

+167    0x4000    //TX_C_POST_FLT

 168    0x4000    //TX_GAIN_NP

 169    0x0270    //TX_SE_HOLD_N

 170    0x00C8    //TX_DT_HOLD_N

@@ -21795,15 +21795,15 @@
 223    0x0001    //TX_RATIO_DT_L_TH_LOW

 224    0x3A98    //TX_RATIO_DT_H_TH_LOW

 225    0x3E80    //TX_RATIO_DT_L_TH_HIGH

-226    0x6590    //TX_RATIO_DT_H_TH_HIGH

+226    0x4E20    //TX_RATIO_DT_H_TH_HIGH

 227    0x0001    //TX_RATIO_DT_L0_TH

-228    0x7FFF    //TX_B_POST_FILT_ECHO_L

+228    0x2000    //TX_B_POST_FILT_ECHO_L

 229    0x7FFF    //TX_B_POST_FILT_ECHO_H

 230    0x0200    //TX_MIN_G_CTRL_ECHO

 231    0x1000    //TX_B_LESSCUT_RTO_ECHO

 232    0x0000    //TX_EPD_OFFSET_00

 233    0x0000    //TX_EPD_OFFST_01

-234    0x0FA0    //TX_RATIO_DT_L0_TH_HIGH

+234    0x2328    //TX_RATIO_DT_L0_TH_HIGH

 235    0x7FFF    //TX_RATIO_DT_H_TH_CUT

 236    0x7FFF    //TX_MIN_EQ_RE_EST_13

 237    0x0000    //TX_DTD_THR1_7

@@ -21861,7 +21861,7 @@
 289    0x0020    //TX_MIN_GAIN_S_0

 290    0x0004    //TX_MIN_GAIN_S_1

 291    0x0016    //TX_MIN_GAIN_S_2

-292    0x0020    //TX_MIN_GAIN_S_3

+292    0x0010    //TX_MIN_GAIN_S_3

 293    0x0020    //TX_MIN_GAIN_S_4

 294    0x0020    //TX_MIN_GAIN_S_5

 295    0x0020    //TX_MIN_GAIN_S_6

@@ -21966,7 +21966,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -22518,7 +22518,7 @@
 946    0x000A    //TX_MUTE_REF_POW_TH

 947    0x0014    //TX_MIC0_MUTE_INITECHO_CUT_LEN

 948    0x0014    //TX_MIC1_MUTE_INITECHO_CUT_LEN

-949    0x4000    //TX_PRE_MASK_SUP

+949    0x6000    //TX_PRE_MASK_SUP

 950    0x00C0    //TX_SDPCRN_GAIN

 951    0x7333    //TX_EASSA_CUT_GAINTH

 952    0x0002    //TX_DT_HARME_ENDF

@@ -22548,10 +22548,10 @@
 976    0x00A0    //TX_EASSA_AEC_FEMALE_ECHO_TH

 977    0x0032    //TX_EASSA_NONLECHO_TH

 978    0x4E20    //TX_EASSA_NONLECHO_ECHOENTH

-979    0x0000    //TX_EASSA_NNG

-980    0x0800    //TX_EASSA_NONLHFG

+979    0x0400    //TX_EASSA_NNG

+980    0x2000    //TX_EASSA_NONLHFG

 981    0x1000    //TX_EASSA_DT2000HZ_REFG

-982    0x0C00    //TX_EASSA_DT400HZ_MAING

+982    0x0200    //TX_EASSA_DT400HZ_MAING

 983    0x3A98    //TX_EASSA_RATIODTH_THCUT_NSSA

 984    0x0000    //TX_EASSA_AEC_NSSA_REFG_MAINBLK_0

 985    0x0000    //TX_EASSA_AEC_NSSA_REFG_MAINBLK_1

@@ -26963,7 +26963,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -27124,9 +27124,9 @@
 162    0x7800    //TX_MIN_EQ_RE_EST_10

 163    0x7800    //TX_MIN_EQ_RE_EST_11

 164    0x7800    //TX_MIN_EQ_RE_EST_12

-165    0x1000    //TX_LAMBDA_RE_EST

+165    0x8000    //TX_LAMBDA_RE_EST

 166    0x3000    //TX_LAMBDA_CB_NLE

-167    0x0000    //TX_C_POST_FLT

+167    0x4000    //TX_C_POST_FLT

 168    0x4000    //TX_GAIN_NP

 169    0x0270    //TX_SE_HOLD_N

 170    0x00C8    //TX_DT_HOLD_N

@@ -27185,15 +27185,15 @@
 223    0x0001    //TX_RATIO_DT_L_TH_LOW

 224    0x3A98    //TX_RATIO_DT_H_TH_LOW

 225    0x3E80    //TX_RATIO_DT_L_TH_HIGH

-226    0x6590    //TX_RATIO_DT_H_TH_HIGH

+226    0x4E20    //TX_RATIO_DT_H_TH_HIGH

 227    0x0001    //TX_RATIO_DT_L0_TH

-228    0x7FFF    //TX_B_POST_FILT_ECHO_L

+228    0x2000    //TX_B_POST_FILT_ECHO_L

 229    0x7FFF    //TX_B_POST_FILT_ECHO_H

 230    0x0200    //TX_MIN_G_CTRL_ECHO

 231    0x1000    //TX_B_LESSCUT_RTO_ECHO

 232    0x0000    //TX_EPD_OFFSET_00

 233    0x0000    //TX_EPD_OFFST_01

-234    0x0FA0    //TX_RATIO_DT_L0_TH_HIGH

+234    0x2328    //TX_RATIO_DT_L0_TH_HIGH

 235    0x7FFF    //TX_RATIO_DT_H_TH_CUT

 236    0x7FFF    //TX_MIN_EQ_RE_EST_13

 237    0x0000    //TX_DTD_THR1_7

@@ -27251,7 +27251,7 @@
 289    0x0020    //TX_MIN_GAIN_S_0

 290    0x0004    //TX_MIN_GAIN_S_1

 291    0x0016    //TX_MIN_GAIN_S_2

-292    0x0020    //TX_MIN_GAIN_S_3

+292    0x0010    //TX_MIN_GAIN_S_3

 293    0x0020    //TX_MIN_GAIN_S_4

 294    0x0020    //TX_MIN_GAIN_S_5

 295    0x0020    //TX_MIN_GAIN_S_6

@@ -27356,7 +27356,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -27908,7 +27908,7 @@
 946    0x000A    //TX_MUTE_REF_POW_TH

 947    0x0014    //TX_MIC0_MUTE_INITECHO_CUT_LEN

 948    0x0014    //TX_MIC1_MUTE_INITECHO_CUT_LEN

-949    0x4000    //TX_PRE_MASK_SUP

+949    0x6000    //TX_PRE_MASK_SUP

 950    0x00C0    //TX_SDPCRN_GAIN

 951    0x7333    //TX_EASSA_CUT_GAINTH

 952    0x0002    //TX_DT_HARME_ENDF

@@ -27938,10 +27938,10 @@
 976    0x00A0    //TX_EASSA_AEC_FEMALE_ECHO_TH

 977    0x0032    //TX_EASSA_NONLECHO_TH

 978    0x4E20    //TX_EASSA_NONLECHO_ECHOENTH

-979    0x0000    //TX_EASSA_NNG

-980    0x0800    //TX_EASSA_NONLHFG

+979    0x0400    //TX_EASSA_NNG

+980    0x2000    //TX_EASSA_NONLHFG

 981    0x1000    //TX_EASSA_DT2000HZ_REFG

-982    0x0C00    //TX_EASSA_DT400HZ_MAING

+982    0x0200    //TX_EASSA_DT400HZ_MAING

 983    0x3A98    //TX_EASSA_RATIODTH_THCUT_NSSA

 984    0x0000    //TX_EASSA_AEC_NSSA_REFG_MAINBLK_0

 985    0x0000    //TX_EASSA_AEC_NSSA_REFG_MAINBLK_1

diff --git a/audio/komodo/tuning/fortemedia/HEADSET.dat b/audio/komodo/tuning/fortemedia/HEADSET.dat
index b962e77..8090185 100644
--- a/audio/komodo/tuning/fortemedia/HEADSET.dat
+++ b/audio/komodo/tuning/fortemedia/HEADSET.dat
Binary files differ
diff --git a/audio/komodo/tuning/fortemedia/HEADSET.mods b/audio/komodo/tuning/fortemedia/HEADSET.mods
index f49b1df..2e9575a 100644
--- a/audio/komodo/tuning/fortemedia/HEADSET.mods
+++ b/audio/komodo/tuning/fortemedia/HEADSET.mods
@@ -3,7 +3,7 @@
 #EXPORT_FLAG  HEADSET

 #PARAM_MODE   FULL

 #SAVE_MODE  3

-#SAVE_TIME  2024-06-06 17:28:21

+#SAVE_TIME  2024-07-19 14:39:20

 

 #CASE_NAME  HEADSET-USB_BLACKBIRD-VOICE_GENERIC-NB

 #PARAM_TYPE  TX+2RX

@@ -29658,7 +29658,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x003B    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0001    //TX_SAMPLINGFREQ_SIG

 7    0x0001    //TX_SAMPLINGFREQ_PROC

@@ -30051,7 +30051,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x4000    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -32353,7 +32353,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -32514,9 +32514,9 @@
 162    0x7800    //TX_MIN_EQ_RE_EST_10

 163    0x7800    //TX_MIN_EQ_RE_EST_11

 164    0x7800    //TX_MIN_EQ_RE_EST_12

-165    0x1000    //TX_LAMBDA_RE_EST

+165    0x8000    //TX_LAMBDA_RE_EST

 166    0x3000    //TX_LAMBDA_CB_NLE

-167    0x0000    //TX_C_POST_FLT

+167    0x4000    //TX_C_POST_FLT

 168    0x4000    //TX_GAIN_NP

 169    0x0270    //TX_SE_HOLD_N

 170    0x00C8    //TX_DT_HOLD_N

@@ -32575,15 +32575,15 @@
 223    0x0001    //TX_RATIO_DT_L_TH_LOW

 224    0x3A98    //TX_RATIO_DT_H_TH_LOW

 225    0x3E80    //TX_RATIO_DT_L_TH_HIGH

-226    0x6590    //TX_RATIO_DT_H_TH_HIGH

+226    0x4E20    //TX_RATIO_DT_H_TH_HIGH

 227    0x0001    //TX_RATIO_DT_L0_TH

-228    0x7FFF    //TX_B_POST_FILT_ECHO_L

+228    0x2000    //TX_B_POST_FILT_ECHO_L

 229    0x7FFF    //TX_B_POST_FILT_ECHO_H

 230    0x0200    //TX_MIN_G_CTRL_ECHO

 231    0x1000    //TX_B_LESSCUT_RTO_ECHO

 232    0x0000    //TX_EPD_OFFSET_00

 233    0x0000    //TX_EPD_OFFST_01

-234    0x0FA0    //TX_RATIO_DT_L0_TH_HIGH

+234    0x2328    //TX_RATIO_DT_L0_TH_HIGH

 235    0x7FFF    //TX_RATIO_DT_H_TH_CUT

 236    0x7FFF    //TX_MIN_EQ_RE_EST_13

 237    0x0000    //TX_DTD_THR1_7

@@ -32641,7 +32641,7 @@
 289    0x0020    //TX_MIN_GAIN_S_0

 290    0x0004    //TX_MIN_GAIN_S_1

 291    0x0016    //TX_MIN_GAIN_S_2

-292    0x0020    //TX_MIN_GAIN_S_3

+292    0x0010    //TX_MIN_GAIN_S_3

 293    0x0020    //TX_MIN_GAIN_S_4

 294    0x0020    //TX_MIN_GAIN_S_5

 295    0x0020    //TX_MIN_GAIN_S_6

@@ -32746,7 +32746,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -33298,7 +33298,7 @@
 946    0x000A    //TX_MUTE_REF_POW_TH

 947    0x0014    //TX_MIC0_MUTE_INITECHO_CUT_LEN

 948    0x0014    //TX_MIC1_MUTE_INITECHO_CUT_LEN

-949    0x4000    //TX_PRE_MASK_SUP

+949    0x6000    //TX_PRE_MASK_SUP

 950    0x00C0    //TX_SDPCRN_GAIN

 951    0x7333    //TX_EASSA_CUT_GAINTH

 952    0x0002    //TX_DT_HARME_ENDF

@@ -33328,10 +33328,10 @@
 976    0x00A0    //TX_EASSA_AEC_FEMALE_ECHO_TH

 977    0x0032    //TX_EASSA_NONLECHO_TH

 978    0x4E20    //TX_EASSA_NONLECHO_ECHOENTH

-979    0x0000    //TX_EASSA_NNG

-980    0x0800    //TX_EASSA_NONLHFG

+979    0x0400    //TX_EASSA_NNG

+980    0x2000    //TX_EASSA_NONLHFG

 981    0x1000    //TX_EASSA_DT2000HZ_REFG

-982    0x0C00    //TX_EASSA_DT400HZ_MAING

+982    0x0200    //TX_EASSA_DT400HZ_MAING

 983    0x3A98    //TX_EASSA_RATIODTH_THCUT_NSSA

 984    0x0000    //TX_EASSA_AEC_NSSA_REFG_MAINBLK_0

 985    0x0000    //TX_EASSA_AEC_NSSA_REFG_MAINBLK_1

@@ -37743,7 +37743,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -37904,9 +37904,9 @@
 162    0x7800    //TX_MIN_EQ_RE_EST_10

 163    0x7800    //TX_MIN_EQ_RE_EST_11

 164    0x7800    //TX_MIN_EQ_RE_EST_12

-165    0x1000    //TX_LAMBDA_RE_EST

+165    0x8000    //TX_LAMBDA_RE_EST

 166    0x3000    //TX_LAMBDA_CB_NLE

-167    0x0000    //TX_C_POST_FLT

+167    0x4000    //TX_C_POST_FLT

 168    0x4000    //TX_GAIN_NP

 169    0x0270    //TX_SE_HOLD_N

 170    0x00C8    //TX_DT_HOLD_N

@@ -37965,15 +37965,15 @@
 223    0x0001    //TX_RATIO_DT_L_TH_LOW

 224    0x3A98    //TX_RATIO_DT_H_TH_LOW

 225    0x3E80    //TX_RATIO_DT_L_TH_HIGH

-226    0x6590    //TX_RATIO_DT_H_TH_HIGH

+226    0x4E20    //TX_RATIO_DT_H_TH_HIGH

 227    0x0001    //TX_RATIO_DT_L0_TH

-228    0x7FFF    //TX_B_POST_FILT_ECHO_L

+228    0x2000    //TX_B_POST_FILT_ECHO_L

 229    0x7FFF    //TX_B_POST_FILT_ECHO_H

 230    0x0200    //TX_MIN_G_CTRL_ECHO

 231    0x1000    //TX_B_LESSCUT_RTO_ECHO

 232    0x0000    //TX_EPD_OFFSET_00

 233    0x0000    //TX_EPD_OFFST_01

-234    0x0FA0    //TX_RATIO_DT_L0_TH_HIGH

+234    0x2328    //TX_RATIO_DT_L0_TH_HIGH

 235    0x7FFF    //TX_RATIO_DT_H_TH_CUT

 236    0x7FFF    //TX_MIN_EQ_RE_EST_13

 237    0x0000    //TX_DTD_THR1_7

@@ -38031,7 +38031,7 @@
 289    0x0020    //TX_MIN_GAIN_S_0

 290    0x0004    //TX_MIN_GAIN_S_1

 291    0x0016    //TX_MIN_GAIN_S_2

-292    0x0020    //TX_MIN_GAIN_S_3

+292    0x0010    //TX_MIN_GAIN_S_3

 293    0x0020    //TX_MIN_GAIN_S_4

 294    0x0020    //TX_MIN_GAIN_S_5

 295    0x0020    //TX_MIN_GAIN_S_6

@@ -38136,7 +38136,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -38688,7 +38688,7 @@
 946    0x000A    //TX_MUTE_REF_POW_TH

 947    0x0014    //TX_MIC0_MUTE_INITECHO_CUT_LEN

 948    0x0014    //TX_MIC1_MUTE_INITECHO_CUT_LEN

-949    0x4000    //TX_PRE_MASK_SUP

+949    0x6000    //TX_PRE_MASK_SUP

 950    0x00C0    //TX_SDPCRN_GAIN

 951    0x7333    //TX_EASSA_CUT_GAINTH

 952    0x0002    //TX_DT_HARME_ENDF

@@ -38718,10 +38718,10 @@
 976    0x00A0    //TX_EASSA_AEC_FEMALE_ECHO_TH

 977    0x0032    //TX_EASSA_NONLECHO_TH

 978    0x4E20    //TX_EASSA_NONLECHO_ECHOENTH

-979    0x0000    //TX_EASSA_NNG

-980    0x0800    //TX_EASSA_NONLHFG

+979    0x0400    //TX_EASSA_NNG

+980    0x2000    //TX_EASSA_NONLHFG

 981    0x1000    //TX_EASSA_DT2000HZ_REFG

-982    0x0C00    //TX_EASSA_DT400HZ_MAING

+982    0x0200    //TX_EASSA_DT400HZ_MAING

 983    0x3A98    //TX_EASSA_RATIODTH_THCUT_NSSA

 984    0x0000    //TX_EASSA_AEC_NSSA_REFG_MAINBLK_0

 985    0x0000    //TX_EASSA_AEC_NSSA_REFG_MAINBLK_1

@@ -70083,7 +70083,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x003B    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0001    //TX_SAMPLINGFREQ_SIG

 7    0x0001    //TX_SAMPLINGFREQ_PROC

@@ -70476,7 +70476,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x4000    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -72778,7 +72778,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -72939,9 +72939,9 @@
 162    0x7800    //TX_MIN_EQ_RE_EST_10

 163    0x7800    //TX_MIN_EQ_RE_EST_11

 164    0x7800    //TX_MIN_EQ_RE_EST_12

-165    0x1000    //TX_LAMBDA_RE_EST

+165    0x8000    //TX_LAMBDA_RE_EST

 166    0x3000    //TX_LAMBDA_CB_NLE

-167    0x0000    //TX_C_POST_FLT

+167    0x4000    //TX_C_POST_FLT

 168    0x4000    //TX_GAIN_NP

 169    0x0270    //TX_SE_HOLD_N

 170    0x00C8    //TX_DT_HOLD_N

@@ -73000,15 +73000,15 @@
 223    0x0001    //TX_RATIO_DT_L_TH_LOW

 224    0x3A98    //TX_RATIO_DT_H_TH_LOW

 225    0x3E80    //TX_RATIO_DT_L_TH_HIGH

-226    0x6590    //TX_RATIO_DT_H_TH_HIGH

+226    0x4E20    //TX_RATIO_DT_H_TH_HIGH

 227    0x0001    //TX_RATIO_DT_L0_TH

-228    0x7FFF    //TX_B_POST_FILT_ECHO_L

+228    0x2000    //TX_B_POST_FILT_ECHO_L

 229    0x7FFF    //TX_B_POST_FILT_ECHO_H

 230    0x0200    //TX_MIN_G_CTRL_ECHO

 231    0x1000    //TX_B_LESSCUT_RTO_ECHO

 232    0x0000    //TX_EPD_OFFSET_00

 233    0x0000    //TX_EPD_OFFST_01

-234    0x0FA0    //TX_RATIO_DT_L0_TH_HIGH

+234    0x2328    //TX_RATIO_DT_L0_TH_HIGH

 235    0x7FFF    //TX_RATIO_DT_H_TH_CUT

 236    0x7FFF    //TX_MIN_EQ_RE_EST_13

 237    0x0000    //TX_DTD_THR1_7

@@ -73066,7 +73066,7 @@
 289    0x0020    //TX_MIN_GAIN_S_0

 290    0x0004    //TX_MIN_GAIN_S_1

 291    0x0016    //TX_MIN_GAIN_S_2

-292    0x0020    //TX_MIN_GAIN_S_3

+292    0x0010    //TX_MIN_GAIN_S_3

 293    0x0020    //TX_MIN_GAIN_S_4

 294    0x0020    //TX_MIN_GAIN_S_5

 295    0x0020    //TX_MIN_GAIN_S_6

@@ -73171,7 +73171,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -73723,7 +73723,7 @@
 946    0x000A    //TX_MUTE_REF_POW_TH

 947    0x0014    //TX_MIC0_MUTE_INITECHO_CUT_LEN

 948    0x0014    //TX_MIC1_MUTE_INITECHO_CUT_LEN

-949    0x4000    //TX_PRE_MASK_SUP

+949    0x6000    //TX_PRE_MASK_SUP

 950    0x00C0    //TX_SDPCRN_GAIN

 951    0x7333    //TX_EASSA_CUT_GAINTH

 952    0x0002    //TX_DT_HARME_ENDF

@@ -73753,10 +73753,10 @@
 976    0x00A0    //TX_EASSA_AEC_FEMALE_ECHO_TH

 977    0x0032    //TX_EASSA_NONLECHO_TH

 978    0x4E20    //TX_EASSA_NONLECHO_ECHOENTH

-979    0x0000    //TX_EASSA_NNG

-980    0x0800    //TX_EASSA_NONLHFG

+979    0x0400    //TX_EASSA_NNG

+980    0x2000    //TX_EASSA_NONLHFG

 981    0x1000    //TX_EASSA_DT2000HZ_REFG

-982    0x0C00    //TX_EASSA_DT400HZ_MAING

+982    0x0200    //TX_EASSA_DT400HZ_MAING

 983    0x3A98    //TX_EASSA_RATIODTH_THCUT_NSSA

 984    0x0000    //TX_EASSA_AEC_NSSA_REFG_MAINBLK_0

 985    0x0000    //TX_EASSA_AEC_NSSA_REFG_MAINBLK_1

@@ -78168,7 +78168,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -78329,9 +78329,9 @@
 162    0x7800    //TX_MIN_EQ_RE_EST_10

 163    0x7800    //TX_MIN_EQ_RE_EST_11

 164    0x7800    //TX_MIN_EQ_RE_EST_12

-165    0x1000    //TX_LAMBDA_RE_EST

+165    0x8000    //TX_LAMBDA_RE_EST

 166    0x3000    //TX_LAMBDA_CB_NLE

-167    0x0000    //TX_C_POST_FLT

+167    0x4000    //TX_C_POST_FLT

 168    0x4000    //TX_GAIN_NP

 169    0x0270    //TX_SE_HOLD_N

 170    0x00C8    //TX_DT_HOLD_N

@@ -78390,15 +78390,15 @@
 223    0x0001    //TX_RATIO_DT_L_TH_LOW

 224    0x3A98    //TX_RATIO_DT_H_TH_LOW

 225    0x3E80    //TX_RATIO_DT_L_TH_HIGH

-226    0x6590    //TX_RATIO_DT_H_TH_HIGH

+226    0x4E20    //TX_RATIO_DT_H_TH_HIGH

 227    0x0001    //TX_RATIO_DT_L0_TH

-228    0x7FFF    //TX_B_POST_FILT_ECHO_L

+228    0x2000    //TX_B_POST_FILT_ECHO_L

 229    0x7FFF    //TX_B_POST_FILT_ECHO_H

 230    0x0200    //TX_MIN_G_CTRL_ECHO

 231    0x1000    //TX_B_LESSCUT_RTO_ECHO

 232    0x0000    //TX_EPD_OFFSET_00

 233    0x0000    //TX_EPD_OFFST_01

-234    0x0FA0    //TX_RATIO_DT_L0_TH_HIGH

+234    0x2328    //TX_RATIO_DT_L0_TH_HIGH

 235    0x7FFF    //TX_RATIO_DT_H_TH_CUT

 236    0x7FFF    //TX_MIN_EQ_RE_EST_13

 237    0x0000    //TX_DTD_THR1_7

@@ -78456,7 +78456,7 @@
 289    0x0020    //TX_MIN_GAIN_S_0

 290    0x0004    //TX_MIN_GAIN_S_1

 291    0x0016    //TX_MIN_GAIN_S_2

-292    0x0020    //TX_MIN_GAIN_S_3

+292    0x0010    //TX_MIN_GAIN_S_3

 293    0x0020    //TX_MIN_GAIN_S_4

 294    0x0020    //TX_MIN_GAIN_S_5

 295    0x0020    //TX_MIN_GAIN_S_6

@@ -78561,7 +78561,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -79113,7 +79113,7 @@
 946    0x000A    //TX_MUTE_REF_POW_TH

 947    0x0014    //TX_MIC0_MUTE_INITECHO_CUT_LEN

 948    0x0014    //TX_MIC1_MUTE_INITECHO_CUT_LEN

-949    0x4000    //TX_PRE_MASK_SUP

+949    0x6000    //TX_PRE_MASK_SUP

 950    0x00C0    //TX_SDPCRN_GAIN

 951    0x7333    //TX_EASSA_CUT_GAINTH

 952    0x0002    //TX_DT_HARME_ENDF

@@ -79143,10 +79143,10 @@
 976    0x00A0    //TX_EASSA_AEC_FEMALE_ECHO_TH

 977    0x0032    //TX_EASSA_NONLECHO_TH

 978    0x4E20    //TX_EASSA_NONLECHO_ECHOENTH

-979    0x0000    //TX_EASSA_NNG

-980    0x0800    //TX_EASSA_NONLHFG

+979    0x0400    //TX_EASSA_NNG

+980    0x2000    //TX_EASSA_NONLHFG

 981    0x1000    //TX_EASSA_DT2000HZ_REFG

-982    0x0C00    //TX_EASSA_DT400HZ_MAING

+982    0x0200    //TX_EASSA_DT400HZ_MAING

 983    0x3A98    //TX_EASSA_RATIODTH_THCUT_NSSA

 984    0x0000    //TX_EASSA_AEC_NSSA_REFG_MAINBLK_0

 985    0x0000    //TX_EASSA_AEC_NSSA_REFG_MAINBLK_1

diff --git a/audio/komodo/tuning/spatializer/base b/audio/komodo/tuning/spatializer/base
index 38cc646..42b4329 100644
--- a/audio/komodo/tuning/spatializer/base
+++ b/audio/komodo/tuning/spatializer/base
Binary files differ
diff --git a/audio/komodo/tuning/spatializer/mode_2_ch b/audio/komodo/tuning/spatializer/mode_2_ch
index 470c56c..2610b2d 100644
--- a/audio/komodo/tuning/spatializer/mode_2_ch
+++ b/audio/komodo/tuning/spatializer/mode_2_ch
Binary files differ
diff --git a/audio/komodo/tuning/spatializer/mode_6_ch b/audio/komodo/tuning/spatializer/mode_6_ch
index 94ec635..0f432fa 100644
--- a/audio/komodo/tuning/spatializer/mode_6_ch
+++ b/audio/komodo/tuning/spatializer/mode_6_ch
Binary files differ
diff --git a/audio/komodo/tuning/spatializer/mode_xaural b/audio/komodo/tuning/spatializer/mode_xaural
index b3a3a96..619e215 100644
--- a/audio/komodo/tuning/spatializer/mode_xaural
+++ b/audio/komodo/tuning/spatializer/mode_xaural
Binary files differ
diff --git a/audio/tokay/aidl_config/audio_platform_configuration.xml b/audio/tokay/aidl_config/audio_platform_configuration.xml
index 3b7e970..3d89b97 100644
--- a/audio/tokay/aidl_config/audio_platform_configuration.xml
+++ b/audio/tokay/aidl_config/audio_platform_configuration.xml
@@ -68,7 +68,7 @@
       <argument name="ThermistorsName" value="VIRTUAL-SKIN-SPEAKER" />
       <argument name="Extensions" value="StereoSpatializerIndicator,SpeakerPowerLinkLaw" />
     </tuner>
-    <tuner type="telephony" name="fortemedia">
+    <tuner type="telephony" name="fmapmg3hybrid">
       <argument name="VoIP_DLCHs" value="SPK:2,USB:2,BT:2" />
       <argument name="VoIP_Rate" value="32000" />
       <argument name="BOOST_USB_SWB_CLK" value="y" />
diff --git a/audio/tokay/aidl_config/mixer_paths_aidl.xml b/audio/tokay/aidl_config/mixer_paths_aidl.xml
index d7dc1bc..b2c458c 100644
--- a/audio/tokay/aidl_config/mixer_paths_aidl.xml
+++ b/audio/tokay/aidl_config/mixer_paths_aidl.xml
@@ -318,6 +318,7 @@
   <ctl name="Incall Capture Stream0" value="Off" />
   <ctl name="Incall Capture Stream1" value="Off" />
   <ctl name="Incall Capture Stream2" value="Off" />
+  <ctl name="Incall Capture Stream3" value="Off" />
 
   <!-- These two controls control the muting function of mics and sinks during the voice call. -->
   <!-- They would be enabled by HAL. -->
@@ -423,6 +424,10 @@
     <path name="primary-playback -> bt" />
   </path>
 
+  <path name="primary-playback-0 -> bluetooth-low-energy-broadcast">
+    <path name="primary-playback -> bt" />
+  </path>
+
   <path name="primary-playback-0 -> usb">
     <ctl name="USB_RX Mixer EP2" value="1" />
   </path>
@@ -495,6 +500,10 @@
     <path name="raw-playback -> bt" />
   </path>
 
+  <path name="raw-playback-0 -> bluetooth-low-energy-broadcast">
+    <path name="raw-playback -> bt" />
+  </path>
+
   <path name="raw-playback-0 -> usb">
     <ctl name="USB_RX Mixer RAW" value="1" />
   </path>
@@ -567,6 +576,10 @@
     <path name="deep-buffer-playback -> bt" />
   </path>
 
+  <path name="deep-buffer-playback-0 -> bluetooth-low-energy-broadcast">
+    <path name="deep-buffer-playback -> bt" />
+  </path>
+
   <path name="deep-buffer-playback-0 -> usb">
     <ctl name="USB_RX Mixer EP6" value="1" />
   </path>
@@ -644,6 +657,10 @@
     <path name="compress-offload-playback -> bt" />
   </path>
 
+  <path name="compress-offload-playback-0 -> bluetooth-low-energy-broadcast">
+    <path name="compress-offload-playback -> bt" />
+  </path>
+
   <path name="compress-offload-playback-0 -> usb">
     <ctl name="USB_RX Mixer EP7" value="1" />
   </path>
@@ -716,6 +733,10 @@
     <path name="mmap-playback -> bt" />
   </path>
 
+  <path name="mmap-playback-0 -> bluetooth-low-energy-broadcast">
+    <path name="mmap-playback -> bt" />
+  </path>
+
   <path name="mmap-playback-0 -> usb">
     <ctl name="USB_RX Mixer EP1" value="1" />
   </path>
@@ -800,6 +821,10 @@
     <path name="voip-playback -> bt" />
   </path>
 
+  <path name="voip-playback-0 -> bluetooth-low-energy-broadcast">
+    <path name="voip-playback -> bt" />
+  </path>
+
   <path name="voip-playback-0 -> usb">
     <ctl name="USB_RX Mixer VOIP" value="1" />
   </path>
@@ -860,6 +885,10 @@
     <path name="immersive-playback -> bt" />
   </path>
 
+  <path name="immersive-playback-0 -> bluetooth-low-energy-broadcast">
+    <path name="immersive-playback -> bt" />
+  </path>
+
   <path name="immersive-playback-0 -> usb">
     <ctl name="USB_RX Mixer IMSV" value="1" />
   </path>
@@ -924,6 +953,10 @@
     <path name="spatializer-offload-playback -> bt" />
   </path>
 
+  <path name="spatializer-offload-playback-0 -> bluetooth-low-energy-broadcast">
+    <path name="spatializer-offload-playback -> bt" />
+  </path>
+
   <path name="spatializer-offload-playback-0 -> usb">
     <ctl name="USB_RX Mixer EP4" value="1" />
   </path>
@@ -994,6 +1027,10 @@
     <path name="haptic-playback -> bt" />
   </path>
 
+  <path name="haptic-playback-0 -> bluetooth-low-energy-broadcast">
+    <path name="haptic-playback -> bt" />
+  </path>
+
   <path name="haptic-playback-0 -> usb">
     <ctl name="USB_RX Mixer EP3" value="1" />
     <ctl name="TDM_0_RX Mixer EP8" value="1" />
@@ -1068,6 +1105,39 @@
     <ctl name="VOIP TX Mixer BT_TX" value="1" />
   </path>
 
+  <path name="microphones -> voip-gsenet-capture-0">
+    <ctl name="Incall Capture Stream3" value="3MIC" />
+    <ctl name="VOIP TX Mixer INTERNAL_MIC_TX" value="1" />
+  </path>
+
+  <path name="back-microphones -> voip-gsenet-capture-0">
+    <ctl name="Incall Capture Stream3" value="3MIC" />
+    <ctl name="VOIP TX Mixer INTERNAL_MIC_TX" value="1" />
+  </path>
+
+  <path name="usb-microphones -> voip-gsenet-capture-0">
+    <ctl name="Incall Capture Stream3" value="3MIC" />
+    <ctl name="VOIP TX Mixer USB_TX" value="1" />
+  </path>
+
+  <path name="usb-headset-microphones -> voip-gsenet-capture-0">
+    <path name="usb-microphones -> voip-gsenet-capture-0" />
+  </path>
+
+  <path name="usb-device-microphones -> voip-gsenet-capture-0">
+    <path name="usb-microphones -> voip-gsenet-capture-0" />
+  </path>
+
+  <path name="bluetooth-sco-headset-microphones -> voip-gsenet-capture-0">
+    <ctl name="Incall Capture Stream3" value="3MIC" />
+    <ctl name="VOIP TX Mixer BT_TX" value="1" />
+  </path>
+
+  <path name="bluetooth-low-energy-headset-microphones -> voip-gsenet-capture-0">
+    <ctl name="Incall Capture Stream3" value="3MIC" />
+    <ctl name="VOIP TX Mixer BT_TX" value="1" />
+  </path>
+
   <path name="microphones -> fast-capture-0">
     <ctl name="EP3 TX Mixer INTERNAL_MIC_TX" value="1" />
   </path>
@@ -1171,6 +1241,10 @@
     <path name="voice-call-downlink-0 -> bt" />
   </path>
 
+  <path name="voice-call-downlink-0 -> bluetooth-low-energy-broadcast">
+    <path name="voice-call-downlink-0 -> bt" />
+  </path>
+
   <path name="voice-call-downlink-0 -> usb">
     <ctl name="USB_RX Mixer EP5" value="1" />
   </path>
diff --git a/audio/tokay/audio-tables.mk b/audio/tokay/audio-tables.mk
index 5aadc3e..58808a3 100644
--- a/audio/tokay/audio-tables.mk
+++ b/audio/tokay/audio-tables.mk
@@ -62,7 +62,25 @@
     waves_preset.mps \
     compens_spk_l.conf \
     compens_spk_r.conf \
-    default_mic_compensation.bin
+    default_mic_compensation.bin \
+    downlink_bluetooth_headset_config.pb \
+    downlink_dock_config.pb \
+    downlink_external_speaker_config.pb \
+    downlink_handset_config.pb \
+    downlink_speaker_config.pb \
+    downlink_wired_headset_config.pb \
+    uplink_bluetooth_headset_aec_off_config.pb \
+    uplink_bluetooth_headset_aec_on_config.pb \
+    uplink_dock_aec_off_config.pb \
+    uplink_dock_aec_on_config.pb \
+    uplink_external_speaker_aec_off_config.pb \
+    uplink_external_speaker_aec_on_config.pb \
+    uplink_handset_aec_off_config.pb \
+    uplink_handset_aec_on_config.pb \
+    uplink_speaker_aec_off_config.pb \
+    uplink_speaker_aec_on_config.pb \
+    uplink_wired_headset_aec_off_config.pb \
+    uplink_wired_headset_aec_on_config.pb
 
 # userdebug and eng specific
 PRODUCT_PACKAGES_DEBUG += \
@@ -73,7 +91,8 @@
     template.xml \
     tuning_constraints_combination.xml \
     test_config.ini \
-    test_preset.mps
+    test_preset.mps \
+    speaker_post_processing_volume_spec.xml
 
 ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
 # Mixer Path Configuration for Audio Speaker Calibration Tool crus_sp_cal
diff --git a/audio/tokay/prebuilt/libspeechenhancer/Android.bp b/audio/tokay/prebuilt/libspeechenhancer/Android.bp
index 5b4b8ae..9d4a232 100644
--- a/audio/tokay/prebuilt/libspeechenhancer/Android.bp
+++ b/audio/tokay/prebuilt/libspeechenhancer/Android.bp
@@ -34,7 +34,9 @@
         "libcutils",
         "libEGL",
         "libGLESv2",
+        "libbinder_ndk",
         "liblog",
+        "libsync",
         "libz",
         "libnativewindow",
     ],
diff --git a/audio/tokay/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so b/audio/tokay/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so
index b9f43a7..6bb4b10 100644
--- a/audio/tokay/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so
+++ b/audio/tokay/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so
Binary files differ
diff --git a/audio/tokay/tuning/Android.bp b/audio/tokay/tuning/Android.bp
index e81b4e9..10125af 100644
--- a/audio/tokay/tuning/Android.bp
+++ b/audio/tokay/tuning/Android.bp
@@ -35,16 +35,19 @@
     src: "bluenote/recording.gatf",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "smartfeature.gstf",
     src: "bluenote/smartfeature.gstf",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "template.xml",
     src: "bluenote/template.xml",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "tuning_constraints_combination.xml",
     src: "bluenote/tuning_constraints_combination.xml",
@@ -56,6 +59,7 @@
     src: "compensation/compens_spk_l.conf",
     soc_specific: true,
 }
+
 prebuilt_etc {
     name: "compens_spk_r.conf",
     src: "compensation/compens_spk_r.conf",
@@ -67,41 +71,49 @@
     src: "fortemedia/BLUETOOTH.dat",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "BLUETOOTH.mods",
     src: "fortemedia/BLUETOOTH.mods",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "HANDSFREE.dat",
     src: "fortemedia/HANDSFREE.dat",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "HANDSFREE.mods",
     src: "fortemedia/HANDSFREE.mods",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "HANDSET.dat",
     src: "fortemedia/HANDSET.dat",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "HANDSET.mods",
     src: "fortemedia/HANDSET.mods",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "HEADSET.dat",
     src: "fortemedia/HEADSET.dat",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "HEADSET.mods",
     src: "fortemedia/HEADSET.mods",
     defaults: ["aoc_defaults"],
 }
+
 prebuilt_etc {
     name: "mcps.dat",
     src: "fortemedia/mcps.dat",
@@ -109,20 +121,137 @@
 }
 
 prebuilt_etc {
+    name: "downlink_bluetooth_headset_config.pb",
+    src: "apmg3/downlink_bluetooth_headset_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "downlink_dock_config.pb",
+    src: "apmg3/downlink_dock_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "downlink_external_speaker_config.pb",
+    src: "apmg3/downlink_external_speaker_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "downlink_handset_config.pb",
+    src: "apmg3/downlink_handset_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "downlink_speaker_config.pb",
+    src: "apmg3/downlink_speaker_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "downlink_wired_headset_config.pb",
+    src: "apmg3/downlink_wired_headset_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_bluetooth_headset_aec_off_config.pb",
+    src: "apmg3/uplink_bluetooth_headset_aec_off_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_bluetooth_headset_aec_on_config.pb",
+    src: "apmg3/uplink_bluetooth_headset_aec_on_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_dock_aec_off_config.pb",
+    src: "apmg3/uplink_dock_aec_off_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_dock_aec_on_config.pb",
+    src: "apmg3/uplink_dock_aec_on_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_external_speaker_aec_off_config.pb",
+    src: "apmg3/uplink_external_speaker_aec_off_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_external_speaker_aec_on_config.pb",
+    src: "apmg3/uplink_external_speaker_aec_on_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_handset_aec_off_config.pb",
+    src: "apmg3/uplink_handset_aec_off_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_handset_aec_on_config.pb",
+    src: "apmg3/uplink_handset_aec_on_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_speaker_aec_off_config.pb",
+    src: "apmg3/uplink_speaker_aec_off_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_speaker_aec_on_config.pb",
+    src: "apmg3/uplink_speaker_aec_on_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_wired_headset_aec_off_config.pb",
+    src: "apmg3/uplink_wired_headset_aec_off_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+    name: "uplink_wired_headset_aec_on_config.pb",
+    src: "apmg3/uplink_wired_headset_aec_on_config.pb",
+    defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
     name: "waves_config.ini",
     src: "waves/waves_config.ini",
     soc_specific: true,
 }
+
 prebuilt_etc {
     name: "waves_preset.mps",
     src: "waves/waves_preset.mps",
     soc_specific: true,
 }
+
+prebuilt_etc {
+    name: "speaker_post_processing_volume_spec.xml",
+    src: "pts/speaker_post_processing_volume_spec.xml",
+    defaults: ["aoc_defaults"],
+}
+
 prebuilt_etc {
     name: "test_config.ini",
     src: "waves/tests/test_config.ini",
     soc_specific: true,
 }
+
 prebuilt_etc {
     name: "test_preset.mps",
     src: "waves/tests/test_preset.mps",
diff --git a/audio/tokay/tuning/apmg3/downlink_bluetooth_headset_config.pb b/audio/tokay/tuning/apmg3/downlink_bluetooth_headset_config.pb
new file mode 100644
index 0000000..4d26cce
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/downlink_bluetooth_headset_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/downlink_dock_config.pb b/audio/tokay/tuning/apmg3/downlink_dock_config.pb
new file mode 100644
index 0000000..854a48d
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/downlink_dock_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/downlink_external_speaker_config.pb b/audio/tokay/tuning/apmg3/downlink_external_speaker_config.pb
new file mode 100644
index 0000000..f501ab8
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/downlink_external_speaker_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/downlink_handset_config.pb b/audio/tokay/tuning/apmg3/downlink_handset_config.pb
new file mode 100644
index 0000000..7129053
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/downlink_handset_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/downlink_speaker_config.pb b/audio/tokay/tuning/apmg3/downlink_speaker_config.pb
new file mode 100644
index 0000000..cd25bc7
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/downlink_speaker_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/downlink_wired_headset_config.pb b/audio/tokay/tuning/apmg3/downlink_wired_headset_config.pb
new file mode 100644
index 0000000..0f98f65
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/downlink_wired_headset_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/uplink_bluetooth_headset_aec_off_config.pb b/audio/tokay/tuning/apmg3/uplink_bluetooth_headset_aec_off_config.pb
new file mode 100644
index 0000000..a6dfdce
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/uplink_bluetooth_headset_aec_off_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/uplink_bluetooth_headset_aec_on_config.pb b/audio/tokay/tuning/apmg3/uplink_bluetooth_headset_aec_on_config.pb
new file mode 100644
index 0000000..58ac211
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/uplink_bluetooth_headset_aec_on_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/uplink_dock_aec_off_config.pb b/audio/tokay/tuning/apmg3/uplink_dock_aec_off_config.pb
new file mode 100644
index 0000000..06e4ef5
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/uplink_dock_aec_off_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/uplink_dock_aec_on_config.pb b/audio/tokay/tuning/apmg3/uplink_dock_aec_on_config.pb
new file mode 100644
index 0000000..979a200
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/uplink_dock_aec_on_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/uplink_external_speaker_aec_off_config.pb b/audio/tokay/tuning/apmg3/uplink_external_speaker_aec_off_config.pb
new file mode 100644
index 0000000..7103879
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/uplink_external_speaker_aec_off_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/uplink_external_speaker_aec_on_config.pb b/audio/tokay/tuning/apmg3/uplink_external_speaker_aec_on_config.pb
new file mode 100644
index 0000000..d747bc2
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/uplink_external_speaker_aec_on_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/uplink_handset_aec_off_config.pb b/audio/tokay/tuning/apmg3/uplink_handset_aec_off_config.pb
new file mode 100644
index 0000000..9351945
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/uplink_handset_aec_off_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/uplink_handset_aec_on_config.pb b/audio/tokay/tuning/apmg3/uplink_handset_aec_on_config.pb
new file mode 100644
index 0000000..58dc380
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/uplink_handset_aec_on_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/uplink_speaker_aec_off_config.pb b/audio/tokay/tuning/apmg3/uplink_speaker_aec_off_config.pb
new file mode 100644
index 0000000..02348b9
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/uplink_speaker_aec_off_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/uplink_speaker_aec_on_config.pb b/audio/tokay/tuning/apmg3/uplink_speaker_aec_on_config.pb
new file mode 100644
index 0000000..10f1ed7
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/uplink_speaker_aec_on_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/uplink_wired_headset_aec_off_config.pb b/audio/tokay/tuning/apmg3/uplink_wired_headset_aec_off_config.pb
new file mode 100644
index 0000000..679aa66
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/uplink_wired_headset_aec_off_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/uplink_wired_headset_aec_on_config.pb b/audio/tokay/tuning/apmg3/uplink_wired_headset_aec_on_config.pb
new file mode 100644
index 0000000..fec3962
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/uplink_wired_headset_aec_on_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/fortemedia/BLUETOOTH.dat b/audio/tokay/tuning/fortemedia/BLUETOOTH.dat
index dde4998..3a06710 100644
--- a/audio/tokay/tuning/fortemedia/BLUETOOTH.dat
+++ b/audio/tokay/tuning/fortemedia/BLUETOOTH.dat
Binary files differ
diff --git a/audio/tokay/tuning/fortemedia/BLUETOOTH.mods b/audio/tokay/tuning/fortemedia/BLUETOOTH.mods
index ca001c6..66d607b 100644
--- a/audio/tokay/tuning/fortemedia/BLUETOOTH.mods
+++ b/audio/tokay/tuning/fortemedia/BLUETOOTH.mods
@@ -3,7 +3,7 @@
 #EXPORT_FLAG  BLUETOOTH

 #PARAM_MODE   FULL

 #SAVE_MODE  3

-#SAVE_TIME  2024-06-06 17:50:42

+#SAVE_TIME  2024-07-19 19:22:42

 

 #CASE_NAME  BLUETOOTH-BT_HAC-VOICE_GENERIC-NB

 #PARAM_TYPE  TX+2RX

@@ -2708,7 +2708,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0001    //TX_SAMPLINGFREQ_SIG

 7    0x0001    //TX_SAMPLINGFREQ_PROC

@@ -3101,7 +3101,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x3000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x4000    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -5403,7 +5403,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -5796,7 +5796,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -10793,7 +10793,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -11186,7 +11186,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

diff --git a/audio/tokay/tuning/fortemedia/HANDSET.dat b/audio/tokay/tuning/fortemedia/HANDSET.dat
index bddf5ea..186d79c 100644
--- a/audio/tokay/tuning/fortemedia/HANDSET.dat
+++ b/audio/tokay/tuning/fortemedia/HANDSET.dat
Binary files differ
diff --git a/audio/tokay/tuning/fortemedia/HANDSET.mods b/audio/tokay/tuning/fortemedia/HANDSET.mods
index 573d6d4..9177ce5 100644
--- a/audio/tokay/tuning/fortemedia/HANDSET.mods
+++ b/audio/tokay/tuning/fortemedia/HANDSET.mods
@@ -3,7 +3,7 @@
 #EXPORT_FLAG  HANDSET

 #PARAM_MODE   FULL

 #SAVE_MODE  3

-#SAVE_TIME  2024-06-06 17:50:41

+#SAVE_TIME  2024-07-19 19:22:41

 

 #CASE_NAME  HANDSET-HANDSET-VOICE_GENERIC-NB

 #PARAM_TYPE  TX+2RX

@@ -3228,10 +3228,10 @@
 521    0x0000    //TX_GSC_RTOL_TH

 522    0x0000    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -5923,10 +5923,10 @@
 521    0x3A98    //TX_GSC_RTOL_TH

 522    0x3A98    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -14008,10 +14008,10 @@
 521    0x0000    //TX_GSC_RTOL_TH

 522    0x0000    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -16703,10 +16703,10 @@
 521    0x3A98    //TX_GSC_RTOL_TH

 522    0x3A98    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -22093,10 +22093,10 @@
 521    0x3A98    //TX_GSC_RTOL_TH

 522    0x3A98    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -27483,10 +27483,10 @@
 521    0x3A98    //TX_GSC_RTOL_TH

 522    0x3A98    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -32873,10 +32873,10 @@
 521    0x3A98    //TX_GSC_RTOL_TH

 522    0x3A98    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -38263,10 +38263,10 @@
 521    0x3A98    //TX_GSC_RTOL_TH

 522    0x3A98    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -43653,10 +43653,10 @@
 521    0x0000    //TX_GSC_RTOL_TH

 522    0x0000    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -46348,10 +46348,10 @@
 521    0x3A98    //TX_GSC_RTOL_TH

 522    0x3A98    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -54433,10 +54433,10 @@
 521    0x0000    //TX_GSC_RTOL_TH

 522    0x0000    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -57128,10 +57128,10 @@
 521    0x3A98    //TX_GSC_RTOL_TH

 522    0x3A98    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

@@ -62518,10 +62518,10 @@
 521    0x3A98    //TX_GSC_RTOL_TH

 522    0x3A98    //TX_GSC_RTOH_TH

 523    0x7E2C    //TX_WIDE2_MEANHTH

-524    0x0000    //TX_KIDDET_NTH

-525    0x0000    //TX_B_POST_FLT_KID

-526    0x122E    //TX_T0_NE_TH

-527    0x1100    //TX_T0_NE_3_TH

+524    0x0003    //TX_KIDDET_NTH

+525    0x1000    //TX_B_POST_FLT_KID

+526    0x0DAC    //TX_T0_NE_TH

+527    0x0FA0    //TX_T0_NE_3_TH

 528    0x1333    //TX_WIND_MARK_TH

 529    0x399A    //TX_CORR_THR

 530    0x0004    //TX_SNR_THR

diff --git a/audio/tokay/tuning/fortemedia/HANDSFREE.dat b/audio/tokay/tuning/fortemedia/HANDSFREE.dat
index 246cbe2..55f4e3e 100644
--- a/audio/tokay/tuning/fortemedia/HANDSFREE.dat
+++ b/audio/tokay/tuning/fortemedia/HANDSFREE.dat
Binary files differ
diff --git a/audio/tokay/tuning/fortemedia/HANDSFREE.mods b/audio/tokay/tuning/fortemedia/HANDSFREE.mods
index b4a80f3..e31f8d4 100644
--- a/audio/tokay/tuning/fortemedia/HANDSFREE.mods
+++ b/audio/tokay/tuning/fortemedia/HANDSFREE.mods
@@ -3,7 +3,7 @@
 #EXPORT_FLAG  HANDSFREE

 #PARAM_MODE   FULL

 #SAVE_MODE  3

-#SAVE_TIME  2024-06-06 17:50:40

+#SAVE_TIME  2024-07-19 19:22:40

 

 #CASE_NAME  HANDSFREE-HANDSFREE-VOICE_GENERIC-NB

 #PARAM_TYPE  TX+2RX

@@ -2708,7 +2708,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0001    //TX_SAMPLINGFREQ_SIG

 7    0x0001    //TX_SAMPLINGFREQ_PROC

@@ -3101,7 +3101,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x3000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x4000    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -5403,7 +5403,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -5796,7 +5796,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -10793,7 +10793,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F75    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -11186,7 +11186,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -16183,7 +16183,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -16576,7 +16576,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -21573,7 +21573,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F55    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -21966,7 +21966,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -26963,7 +26963,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -27356,7 +27356,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

diff --git a/audio/tokay/tuning/fortemedia/HEADSET.dat b/audio/tokay/tuning/fortemedia/HEADSET.dat
index 6bd1851..913c5bb 100644
--- a/audio/tokay/tuning/fortemedia/HEADSET.dat
+++ b/audio/tokay/tuning/fortemedia/HEADSET.dat
Binary files differ
diff --git a/audio/tokay/tuning/fortemedia/HEADSET.mods b/audio/tokay/tuning/fortemedia/HEADSET.mods
index 69c2b42..548cd37 100644
--- a/audio/tokay/tuning/fortemedia/HEADSET.mods
+++ b/audio/tokay/tuning/fortemedia/HEADSET.mods
@@ -3,7 +3,7 @@
 #EXPORT_FLAG  HEADSET

 #PARAM_MODE   FULL

 #SAVE_MODE  3

-#SAVE_TIME  2024-06-06 17:50:38

+#SAVE_TIME  2024-07-19 19:22:38

 

 #CASE_NAME  HEADSET-USB_BLACKBIRD-VOICE_GENERIC-NB

 #PARAM_TYPE  TX+2RX

@@ -29658,7 +29658,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0001    //TX_SAMPLINGFREQ_SIG

 7    0x0001    //TX_SAMPLINGFREQ_PROC

@@ -30051,7 +30051,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x3000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x4000    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -32353,7 +32353,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -32746,7 +32746,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -37743,7 +37743,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -38136,7 +38136,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -70083,7 +70083,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0001    //TX_SAMPLINGFREQ_SIG

 7    0x0001    //TX_SAMPLINGFREQ_PROC

@@ -70476,7 +70476,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x3000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x4000    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -72778,7 +72778,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -73171,7 +73171,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

@@ -78168,7 +78168,7 @@
 1    0x0001    //TX_OPERATION_MODE_1

 2    0x00BB    //TX_PATCH_REG

 3    0x6F7D    //TX_SENDFUNC_MODE_0

-4    0x0080    //TX_SENDFUNC_MODE_1

+4    0x0000    //TX_SENDFUNC_MODE_1

 5    0x0003    //TX_NUM_MIC

 6    0x0003    //TX_SAMPLINGFREQ_SIG

 7    0x0003    //TX_SAMPLINGFREQ_PROC

@@ -78561,7 +78561,7 @@
 394    0x0000    //TX_MEL_G_R

 395    0x0080    //TX_SUPHIGH_TH

 396    0x0000    //TX_MASK_G_R

-397    0x0082    //TX_LOGSNR_THR

+397    0x8001    //TX_LOGSNR_THR

 398    0x0000    //TX_C_POST_FLT_MASK

 399    0x7FFF    //TX_A_POST_FLT_WNS

 400    0x0148    //TX_MIN_G_LOW300HZ

diff --git a/audio/tokay/tuning/pts/speaker_post_processing_volume_spec.xml b/audio/tokay/tuning/pts/speaker_post_processing_volume_spec.xml
new file mode 100644
index 0000000..969fd43
--- /dev/null
+++ b/audio/tokay/tuning/pts/speaker_post_processing_volume_spec.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" ?>
+<xml>
+    <spec feature="normal">
+        <vol step="1">-55.633537,-57.12799</vol>
+        <vol step="2">-52.74118,-54.248005</vol>
+        <vol step="3">-49.229015,-50.760155</vol>
+        <vol step="4">-46.39415,-47.93267</vol>
+        <vol step="5">-42.696896,-44.252502</vol>
+        <vol step="6">-39.243034,-40.831715</vol>
+        <vol step="7">-36.365067,-37.983456</vol>
+        <vol step="8">-33.502815,-35.130657</vol>
+        <vol step="9">-31.668825,-33.308605</vol>
+        <vol step="10">-29.462334,-31.116865</vol>
+        <vol step="11">-26.979172,-28.646566</vol>
+        <vol step="12">-24.473492,-26.155708</vol>
+        <vol step="13">-22.479034,-24.18116</vol>
+        <vol step="14">-20.641127,-22.376537</vol>
+        <vol step="15">-18.619516,-20.410694</vol>
+        <vol step="16">-17.039654,-18.978006</vol>
+        <vol step="17">-15.964582,-18.063643</vol>
+        <vol step="18">-14.847198,-17.068687</vol>
+        <vol step="19">-13.786341,-16.13179</vol>
+        <vol step="20">-12.377989,-14.879541</vol>
+        <vol step="21">-11.468842,-14.155666</vol>
+        <vol step="22">-10.673872,-13.19977</vol>
+        <vol step="23">-9.866504,-12.5231495</vol>
+        <vol step="24">-9.465342,-12.234019</vol>
+        <vol step="25">-9.418919,-12.183332</vol>
+    </spec>
+</xml>
+
diff --git a/audio/tokay/tuning/spatializer/base b/audio/tokay/tuning/spatializer/base
index 38cc646..42b4329 100644
--- a/audio/tokay/tuning/spatializer/base
+++ b/audio/tokay/tuning/spatializer/base
Binary files differ
diff --git a/audio/tokay/tuning/spatializer/mode_2_ch b/audio/tokay/tuning/spatializer/mode_2_ch
index 470c56c..2610b2d 100644
--- a/audio/tokay/tuning/spatializer/mode_2_ch
+++ b/audio/tokay/tuning/spatializer/mode_2_ch
Binary files differ
diff --git a/audio/tokay/tuning/spatializer/mode_6_ch b/audio/tokay/tuning/spatializer/mode_6_ch
index 94ec635..0f432fa 100644
--- a/audio/tokay/tuning/spatializer/mode_6_ch
+++ b/audio/tokay/tuning/spatializer/mode_6_ch
Binary files differ
diff --git a/audio/tokay/tuning/spatializer/mode_xaural b/audio/tokay/tuning/spatializer/mode_xaural
index b3a3a96..619e215 100644
--- a/audio/tokay/tuning/spatializer/mode_xaural
+++ b/audio/tokay/tuning/spatializer/mode_xaural
Binary files differ
diff --git a/bluetooth/audio_set_configurations.json b/bluetooth/audio_set_configurations.json
new file mode 100644
index 0000000..6a03f6b
--- /dev/null
+++ b/bluetooth/audio_set_configurations.json
@@ -0,0 +1,7492 @@
+{
+    "_comments_": [
+        " == Audio Set Configurations == ",
+        " Contains: ",
+        "   1. configurations : ",
+        "        Maps configuration name with codec and qos config to be used",
+        "   2. codec_configurations : ",
+        "        Array of codec specific configurations",
+        "   3. qos_configurations : ",
+        "        Array of QoS specific configurations",
+        "        QoS configuration values are as per BAP spec 1.0",
+        " Example values which can be used as 'codec_configuration.type'",
+        "   Codec Configuration parameter types:",
+        "     SUPPORTED_SAMPLING_FREQUENCY = 1",
+        "     SUPPORTED_FRAME_DURATION = 2",
+        "     SUPPORTED_OCTETS_PER_CODEC_FRAME = 4",
+        "     SUPPORTED_CODEC_FRAME_BLOCKS_PER_SDU = 5",
+        " Example values which can be used as 'codec_configuration.compound_value'",
+        "   Codec Coding formats:",
+        "     LC3 = 6",
+        "   Sampling Frequencies: ",
+        "     8000Hz = 1",
+        "     11025Hz = 2",
+        "     16000Hz = 3",
+        "     22050Hz = 4",
+        "     24000Hz = 5",
+        "     32000Hz = 6",
+        "     44100Hz = 7",
+        "     48000Hz = 8",
+        "     88200Hz = 9",
+        "     96000Hz = 10",
+        "     176400Hz = 11",
+        "     192000Hz = 12",
+        "     384000Hz = 13",
+        "   Frame Durations:",
+        "     7500us = 0",
+        "     10000us = 1"
+    ],
+    "configurations": [
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_1_Low_Latency",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_1_Balanced_Reliability",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_1_1",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_16_1_1"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_1_2",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_16_1_2"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_2_Low_Latency",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_2_Balanced_Reliability",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_2_1",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_16_2_1"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_2_2",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_16_2_2"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_1_Low_Latency",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_1_Balanced_Reliability",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_1_1",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_16_1_1"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_1_2",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_16_1_2"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_2_Low_Latency",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_2_Balanced_Reliability",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_2_1",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_16_2_1"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_2_2",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_16_2_2"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_16_1_Low_Latency",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_16_1_Balanced_Reliability",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_16_1_1",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_16_1_1"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_16_1_2",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_16_1_2"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_16_2_Low_Latency",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_16_2_Balanced_Reliability",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_16_2_1",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_16_2_1"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_16_2_2",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_16_2_2"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_32_1_Balanced_Reliability",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_32_1",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_32_1_1",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_32_1",
+            "qos_config_name": [
+                "QoS_Config_32_1_1"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_32_1_2",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_32_1",
+            "qos_config_name": [
+                "QoS_Config_32_1_2"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_32_2_Balanced_Reliability",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_32_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_32_2_1",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_32_2",
+            "qos_config_name": [
+                "QoS_Config_32_2_1"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_32_2_2",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_32_2",
+            "qos_config_name": [
+                "QoS_Config_32_2_2"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_16_1_Balanced_Reliability",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_16_1_1",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_16_1_1"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_16_1_2",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_16_1_2"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_2_Balanced_Reliability",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_16_2_Balanced_Reliability",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_16_2_1",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_16_2_1"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_16_2_2",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_16_2_2"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_1",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_16_1_1"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_2",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_16_1_2"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_2-Two-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2-Two-OneChan-SrcAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_2-Two-OneChan-SrcAse-Lc3_16_2_2",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2-Two-OneChan-SrcAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_16_2_2"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_2-Two-OneChan-SrcAse-Lc3_16_2_1",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2-Two-OneChan-SrcAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_16_2_1"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_1-Two-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1-Two-OneChan-SrcAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_1-Two-OneChan-SrcAse-Lc3_16_1_2",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1-Two-OneChan-SrcAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_16_1_2"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_1-Two-OneChan-SrcAse-Lc3_16_1_1",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1-Two-OneChan-SrcAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_16_1_1"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_1",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_16_2_1"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_2",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_16_2_2"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_32_2-One-TwoChan-SrcAse-Lc3_32_2_Low_Latency",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_32_2-One-TwoChan-SrcAse-Lc3_32_2",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_32_2-One-TwoChan-SrcAse-Lc3_32_2_1",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_32_2-One-TwoChan-SrcAse-Lc3_32_2",
+            "qos_config_name": [
+                "QoS_Config_32_2_1"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_16_2-One-TwoChan-SrcAse-Lc3_16_2_Low_Latency",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_2-One-TwoChan-SrcAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_16_2-One-TwoChan-SrcAse-Lc3_16_2_2",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_2-One-TwoChan-SrcAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_16_2_2"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_16_2-One-TwoChan-SrcAse-Lc3_16_2_1",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_2-One-TwoChan-SrcAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_16_2_1"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_16_1-One-TwoChan-SrcAse-Lc3_16_1_Low_Latency",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_1-One-TwoChan-SrcAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_16_1-One-TwoChan-SrcAse-Lc3_16_1_2",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_1-One-TwoChan-SrcAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_16_1_2"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_16_1-One-TwoChan-SrcAse-Lc3_16_1_1",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_1-One-TwoChan-SrcAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_16_1_1"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_1",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_16_1_1"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_2",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_16_1_2"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_1",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_16_2_1"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_2",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_16_2_2"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_1",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_16_1_1"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_2",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_16_1_2"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_1",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_16_2_1"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_2",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_16_2_2"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_1",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_16_1_1"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+            "codec_config_name": "Two-OneChan-SrcAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+            "codec_config_name": "Two-OneChan-SrcAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "One-OneChan-SrcAse-Lc3_48_4_Balanced_Reliability",
+            "codec_config_name": "One-OneChan-SrcAse-Lc3_48_4",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "One-OneChan-SrcAse-Lc3_48_3_Balanced_Reliability",
+            "codec_config_name": "One-OneChan-SrcAse-Lc3_48_3",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "One-OneChan-SrcAse-Lc3_48_2_Balanced_Reliability",
+            "codec_config_name": "One-OneChan-SrcAse-Lc3_48_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "One-OneChan-SrcAse-Lc3_48_1_Balanced_Reliability",
+            "codec_config_name": "One-OneChan-SrcAse-Lc3_48_1",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "One-OneChan-SrcAse-Lc3_32_2_Balanced_Reliability",
+            "codec_config_name": "One-OneChan-SrcAse-Lc3_32_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "One-OneChan-SrcAse-Lc3_32_1_Balanced_Reliability",
+            "codec_config_name": "One-OneChan-SrcAse-Lc3_32_1",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "One-OneChan-SrcAse-Lc3_24_2_Balanced_Reliability",
+            "codec_config_name": "One-OneChan-SrcAse-Lc3_24_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "One-OneChan-SrcAse-Lc3_24_1_Balanced_Reliability",
+            "codec_config_name": "One-OneChan-SrcAse-Lc3_24_1",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "One-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+            "codec_config_name": "One-OneChan-SrcAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "One-OneChan-SrcAse-Lc3_16_1_Balanced_Reliability",
+            "codec_config_name": "One-OneChan-SrcAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_2",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1",
+            "qos_config_name": [
+                "QoS_Config_16_1_2"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_1",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_16_2_1"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_2",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_16_2_2"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_24_1_Low_Latency",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_24_1",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_24_1_Low_Latency",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_24_1",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_24_2_Low_Latency",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_24_2",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_24_2_Low_Latency",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_24_2",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_24_2_Balanced_Reliability",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_24_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_24_2_2",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_24_2",
+            "qos_config_name": [
+                "QoS_Config_24_2_2"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_24_2_Low_Latency",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_24_2",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_24_2_Balanced_Reliability",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_24_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_24_2_2",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_24_2",
+            "qos_config_name": [
+                "QoS_Config_24_2_2"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_24_2_Low_Latency",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_24_2",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_24_2_Balanced_Reliability",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_24_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_24_2_2",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_24_2",
+            "qos_config_name": [
+                "QoS_Config_24_2_2"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_24_2_Balanced_Reliability",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_24_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_24_2_2",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_24_2",
+            "qos_config_name": [
+                "QoS_Config_24_2_2"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_32_2-Two-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_32_2-Two-OneChan-SrcAse-Lc3_32_2",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_32_2-Two-OneChan-SrcAse-Lc3_32_2_1",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_32_2-Two-OneChan-SrcAse-Lc3_32_2",
+            "qos_config_name": [
+                "QoS_Config_32_2_1"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_1",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2",
+            "qos_config_name": [
+                "QoS_Config_32_2_1"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_32_2_Low_Latency",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_32_2",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_32_1_Low_Latency",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_32_1",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_32_1_Low_Latency",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_32_1",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_32_2_Low_Latency",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_32_2",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_32_1_Low_Latency",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_32_1",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_1",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2",
+            "qos_config_name": [
+                "QoS_Config_32_2_1"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_1",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2",
+            "qos_config_name": [
+                "QoS_Config_32_2_1"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_1",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2",
+            "qos_config_name": [
+                "QoS_Config_32_2_1"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_32_2_Low_Latency",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_32_2",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_4_High_Reliability",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_4",
+            "qos_config_name": [
+                "QoS_Config_High_Reliability"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_4_1",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_4",
+            "qos_config_name": [
+                "QoS_Config_48_4_1"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_4_2",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_4",
+            "qos_config_name": [
+                "QoS_Config_48_4_2"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_3_Low_Latency",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_3",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_3_High_Reliability",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_3",
+            "qos_config_name": [
+                "QoS_Config_High_Reliability"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_3_2",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_3",
+            "qos_config_name": [
+                "QoS_Config_48_3_2"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_2_Low_Latency",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_2",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_2_High_Reliability",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_2",
+            "qos_config_name": [
+                "QoS_Config_High_Reliability"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_2_2",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_2",
+            "qos_config_name": [
+                "QoS_Config_48_2_2"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_1_Low_Latency",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_1",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_1_High_Reliability",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_1",
+            "qos_config_name": [
+                "QoS_Config_High_Reliability"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_1_2",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_1",
+            "qos_config_name": [
+                "QoS_Config_48_1_2"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_4_High_Reliability",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_4",
+            "qos_config_name": [
+                "QoS_Config_High_Reliability"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_4_1",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_4",
+            "qos_config_name": [
+                "QoS_Config_48_4_1"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_4_2",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_4",
+            "qos_config_name": [
+                "QoS_Config_48_4_2"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_3_Low_Latency",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_3",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_3_High_Reliability",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_3",
+            "qos_config_name": [
+                "QoS_Config_High_Reliability"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_3_2",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_3",
+            "qos_config_name": [
+                "QoS_Config_48_3_2"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_2_Low_Latency",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_2",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_2_High_Reliability",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_2",
+            "qos_config_name": [
+                "QoS_Config_High_Reliability"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_2_2",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_2",
+            "qos_config_name": [
+                "QoS_Config_48_2_2"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_1_Low_Latency",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_1",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_1_High_Reliability",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_1",
+            "qos_config_name": [
+                "QoS_Config_High_Reliability"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_1_2",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_1",
+            "qos_config_name": [
+                "QoS_Config_48_1_2"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_48_4_High_Reliability",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_4",
+            "qos_config_name": [
+                "QoS_Config_High_Reliability"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_48_4_1",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_4",
+            "qos_config_name": [
+                "QoS_Config_48_4_1"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_48_4_2",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_4",
+            "qos_config_name": [
+                "QoS_Config_48_4_2"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_48_3_Low_Latency",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_3",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_48_3_High_Reliability",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_3",
+            "qos_config_name": [
+                "QoS_Config_High_Reliability"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_48_3_2",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_3",
+            "qos_config_name": [
+                "QoS_Config_48_3_2"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_48_2_Low_Latency",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_2",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_48_2_High_Reliability",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_2",
+            "qos_config_name": [
+                "QoS_Config_High_Reliability"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_48_2_2",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_2",
+            "qos_config_name": [
+                "QoS_Config_48_2_2"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_48_1_Low_Latency",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_1",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_48_1_High_Reliability",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_1",
+            "qos_config_name": [
+                "QoS_Config_High_Reliability"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_48_1_2",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_1",
+            "qos_config_name": [
+                "QoS_Config_48_1_2"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_48_4_High_Reliability",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_48_4",
+            "qos_config_name": [
+                "QoS_Config_High_Reliability"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_48_4_1",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_48_4",
+            "qos_config_name": [
+                "QoS_Config_48_4_1"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_48_4_2",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_48_4",
+            "qos_config_name": [
+                "QoS_Config_48_4_2"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_48_3_High_Reliability",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_48_3",
+            "qos_config_name": [
+                "QoS_Config_High_Reliability"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_48_3_2",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_48_3",
+            "qos_config_name": [
+                "QoS_Config_48_3_2"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_48_2_High_Reliability",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_48_2",
+            "qos_config_name": [
+                "QoS_Config_High_Reliability"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_48_2_2",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_48_2",
+            "qos_config_name": [
+                "QoS_Config_48_2_2"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_48_1_High_Reliability",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_48_1",
+            "qos_config_name": [
+                "QoS_Config_High_Reliability"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_48_1_2",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_48_1",
+            "qos_config_name": [
+                "QoS_Config_48_1_2"
+            ]
+        },
+        {
+            "name": "VND_SingleDev_TwoChanStereoSnk_OneChanStereoSrc_32khz_60octs_Low_Latency_1",
+            "codec_config_name": "VND_SingleDev_TwoChanStereoSnk_OneChanStereoSrc_32khz_60octs_1",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "VND_SingleDev_TwoChanStereoSnk_OneChanStereoSrc_32khz_60oct_R3_L22_1",
+            "codec_config_name": "VND_SingleDev_TwoChanStereoSnk_OneChanStereoSrc_32khz_60octs_1",
+            "qos_config_name": [
+                "VND_QoS_Config_R3_L22"
+            ]
+        },
+        {
+            "name": "VND_DualDev_OneChanStereoSnk_48khz_100octs_High_Reliability_1",
+            "codec_config_name": "VND_DualDev_OneChanStereoSnk_48khz_100octs_1",
+            "qos_config_name": [
+                "QoS_Config_High_Reliability"
+            ]
+        },
+        {
+            "name": "VND_DualDev_OneChanStereoSnk_48khz_100octs_R15_L70_1",
+            "codec_config_name": "VND_DualDev_OneChanStereoSnk_48khz_100octs_1",
+            "qos_config_name": [
+                "VND_QoS_Config_R15_L70"
+            ]
+        },
+        {
+            "name": "VND_SingleDev_OneChanStereoSnk_48khz_100octs_High_Reliability_1",
+            "codec_config_name": "VND_SingleDev_OneChanStereoSnk_48khz_100octs_1",
+            "qos_config_name": [
+                "QoS_Config_High_Reliability"
+            ]
+        },
+        {
+            "name": "VND_SingleDev_OneChanStereoSnk_48khz_100octs_R15_L70_1",
+            "codec_config_name": "VND_SingleDev_OneChanStereoSnk_48khz_100octs_1",
+            "qos_config_name": [
+                "VND_QoS_Config_R15_L70"
+            ]
+        },
+        {
+            "name": "VND_SingleDev_TwoChanStereoSnk_48khz_100octs_High_Reliability_1",
+            "codec_config_name": "VND_SingleDev_TwoChanStereoSnk_48khz_100octs_1",
+            "qos_config_name": [
+                "QoS_Config_High_Reliability"
+            ]
+        },
+        {
+            "name": "VND_SingleDev_TwoChanStereoSnk_48khz_100octs_R15_L70_1",
+            "codec_config_name": "VND_SingleDev_TwoChanStereoSnk_48khz_100octs_1",
+            "qos_config_name": [
+                "VND_QoS_Config_R15_L70"
+            ]
+        },
+        {
+            "name": "VND_SingleDev_TwoChanStereoSnk_48khz_75octs_High_Reliability_1",
+            "codec_config_name": "VND_SingleDev_TwoChanStereoSnk_48khz_75octs_1",
+            "qos_config_name": [
+                "QoS_Config_High_Reliability"
+            ]
+        },
+        {
+            "name": "VND_SingleDev_TwoChanStereoSnk_48khz_75octs_R5_L12_1",
+            "codec_config_name": "VND_SingleDev_TwoChanStereoSnk_48khz_75octs_1",
+            "qos_config_name": [
+                "VND_QoS_Config_R5_L12"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_4-Two-OneChan-SrcAse-Lc3_32_2_Balanced_Reliability",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_4-Two-OneChan-SrcAse-Lc3_32_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_4-Two-OneChan-SrcAse-Lc3_24_2_Balanced_Reliability",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_4-Two-OneChan-SrcAse-Lc3_24_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_4-Two-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_4-Two-OneChan-SrcAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_32_2_Balanced_Reliability",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_32_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_24_2_Balanced_Reliability",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_24_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_48_4-One-TwoChan-SrcAse-Lc3_32_2_Balanced_Reliability",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_4-One-TwoChan-SrcAse-Lc3_32_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_48_4-One-TwoChan-SrcAse-Lc3_24_2_Balanced_Reliability",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_4-One-TwoChan-SrcAse-Lc3_24_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_48_4-One-TwoChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_4-One-TwoChan-SrcAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_32_2_Balanced_Reliability",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_32_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_24_2_Balanced_Reliability",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_24_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+            "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_32_2_Balanced_Reliability",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_32_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_24_2_Balanced_Reliability",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_24_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+            "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_32_2_Balanced_Reliability",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_32_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_24_2_Balanced_Reliability",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_24_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+            "codec_config_name": "One-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_16_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "Two-TwoChan-SnkAse-Lc3_48_1-Two-TwoChan-SrcAse-Lc3_48_1_Low_Latency",
+            "codec_config_name": "Two-TwoChan-SnkAse-Lc3_48_1-Two-TwoChan-SrcAse-Lc3_48_1",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "Two-TwoChan-SnkAse-Lc3_48_1-Two-TwoChan-SrcAse-Lc3_48_1_Balanced_Reliability",
+            "codec_config_name": "Two-TwoChan-SnkAse-Lc3_48_1-Two-TwoChan-SrcAse-Lc3_48_1",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "Two-TwoChan-SnkAse-Lc3_48_2-Two-TwoChan-SrcAse-Lc3_48_2_Low_Latency",
+            "codec_config_name": "Two-TwoChan-SnkAse-Lc3_48_2-Two-TwoChan-SrcAse-Lc3_48_2",
+            "qos_config_name": [
+                "QoS_Config_Low_Latency"
+            ]
+        },
+        {
+            "name": "Two-TwoChan-SnkAse-Lc3_48_2-Two-TwoChan-SrcAse-Lc3_48_2_Balanced_Reliability",
+            "codec_config_name": "Two-TwoChan-SnkAse-Lc3_48_2-Two-TwoChan-SrcAse-Lc3_48_2",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "VND_SingleDev_TwoChanStereoSrc_48khz_100octs_Balanced_Reliability_1",
+            "codec_config_name": "VND_SingleDev_TwoChanStereoSrc_48khz_100octs_1",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "VND_SingleDev_TwoChanStereoSrc_48khz_100octs_R11_L40_1",
+            "codec_config_name": "VND_SingleDev_TwoChanStereoSrc_48khz_100octs_1",
+            "qos_config_name": [
+                "VND_QoS_Config_R11_L40"
+            ]
+        },
+        {
+            "name": "VND_SingleDev_TwoChanStereoSnk_48khz_75octs_R5_L12_TwoChanStereoSrc_16khz_30octs_R3_L12_1",
+            "codec_config_name": "VND_SingleDev_TwoChanStereoSnk_48khz_75octs_TwoChanStereoSrc_16khz_30octs_1",
+            "qos_config_name": [
+                "VND_QoS_Config_R5_L12",
+                "VND_QoS_Config_R3_L12"
+            ]
+        },
+        {
+            "name": "VND_SingleDev_TwoChanStereoSnk_48khz_75octs_TwoChanStereoSrc_16khz_30octs_Balanced_Reliability_1",
+            "codec_config_name": "VND_SingleDev_TwoChanStereoSnk_48khz_75octs_TwoChanStereoSrc_16khz_30octs_1",
+            "qos_config_name": [
+                "QoS_Config_Balanced_Reliability"
+            ]
+        }
+    ],
+    "codec_configurations": [
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 2,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    40,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_1",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 2,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    30,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_16_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    40,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                }
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_16_1",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    30,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                }
+            ]
+        },
+        {
+            "name": "Two-OneChan-SrcAse-Lc3_16_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 2,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    40,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-OneChan-SrcAse-Lc3_24_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    5
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    60,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_32_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 2,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    6
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    80,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_32_1",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 2,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    6
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    60,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_32_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    6
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    80,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_32_1",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    6
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    60,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_16_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    40,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_16_1",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    30,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 2,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    40,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                },
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    40,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_2-Two-OneChan-SrcAse-Lc3_16_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 2,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    40,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                },
+                {
+                    "ase_cnt": 2,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    40,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_1-Two-OneChan-SrcAse-Lc3_16_1",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 2,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    30,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                },
+                {
+                    "ase_cnt": 2,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    30,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 2,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    30,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                },
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    30,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_32_2-One-TwoChan-SrcAse-Lc3_32_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    6
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    80,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                },
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    6
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    80,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                }
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_16_2-One-TwoChan-SrcAse-Lc3_16_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    40,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                },
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    40,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                }
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_16_1-One-TwoChan-SrcAse-Lc3_16_1",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    30,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                },
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    30,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                }
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    40,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                },
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    40,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    30,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                },
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    30,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    40,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                },
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    40,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    30,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                },
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    30,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-OneChan-SrcAse-Lc3_48_4",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    120,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-OneChan-SrcAse-Lc3_48_3",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    90,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-OneChan-SrcAse-Lc3_48_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    100,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-OneChan-SrcAse-Lc3_48_1",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    75,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-OneChan-SrcAse-Lc3_32_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    6
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    80,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-OneChan-SrcAse-Lc3_32_1",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    6
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    60,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-OneChan-SrcAse-Lc3_24_1",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    5
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    45,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-OneChan-SrcAse-Lc3_16_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    40,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-OneChan-SrcAse-Lc3_16_1",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    30,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_4",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 2,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    120,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_3",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 2,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    90,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 2,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    100,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_1",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 2,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    75,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_48_4",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    120,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                }
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_48_3",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    90,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                }
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_48_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    100,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                }
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_48_1",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    75,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                }
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_48_4",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    120,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_48_3",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    90,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_48_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    100,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_48_1",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    75,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "VND_SingleDev_TwoChanStereoSnk_48khz_100octs_1",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    100,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                }
+            ]
+        },
+        {
+            "name": "VND_DualDev_OneChanStereoSnk_48khz_100octs_1",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 2,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    100,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "VND_SingleDev_OneChanStereoSnk_48khz_100octs_1",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 2,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    100,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "VND_SingleDev_TwoChanStereoSnk_48khz_75octs_1",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    75,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                }
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_4-Two-OneChan-SrcAse-Lc3_32_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 2,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    120,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                },
+                {
+                    "ase_cnt": 2,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    6
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    80,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_4-Two-OneChan-SrcAse-Lc3_24_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 2,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    120,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                },
+                {
+                    "ase_cnt": 2,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    5
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    60,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_4-Two-OneChan-SrcAse-Lc3_16_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 2,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    120,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                },
+                {
+                    "ase_cnt": 2,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    40,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_32_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 2,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    120,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                },
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    6
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    80,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_24_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 2,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    120,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                },
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    5
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    60,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_16_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 2,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    120,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                },
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    40,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_48_4-One-TwoChan-SrcAse-Lc3_32_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    120,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                },
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    6
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    80,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                }
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_48_4-One-TwoChan-SrcAse-Lc3_24_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    120,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                },
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    5
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    60,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                }
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_48_4-One-TwoChan-SrcAse-Lc3_16_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    120,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                },
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    40,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                }
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_32_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    120,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                },
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    6
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    80,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_24_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    120,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                },
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    5
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    60,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_16_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    120,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                },
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    40,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_32_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    120,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                },
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    6
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    80,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_24_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    120,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                },
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    5
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    60,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_16_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    120,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                },
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    40,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "Two-TwoChan-SnkAse-Lc3_48_1-Two-TwoChan-SrcAse-Lc3_48_1",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 2,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    75,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                },
+                {
+                    "ase_cnt": 2,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    75,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                }
+            ]
+        },
+        {
+            "name": "Two-TwoChan-SnkAse-Lc3_48_2-Two-TwoChan-SrcAse-Lc3_48_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 2,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    100,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                },
+                {
+                    "ase_cnt": 2,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    100,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                }
+            ]
+        },
+        {
+            "name": "VND_SingleDev_TwoChanStereoSrc_48khz_100octs_1",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    100,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                }
+            ]
+        },
+        {
+            "name": "VND_SingleDev_TwoChanStereoSnk_OneChanStereoSrc_32khz_60octs_1",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    6
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    60,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                },
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    6
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    60,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "VND_SingleDev_TwoChanStereoSnk_48khz_75octs_TwoChanStereoSrc_16khz_30octs_1",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    75,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                },
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    30,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                }
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_24_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 2,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    5
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    60,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_24_1",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 2,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    5
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    45,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_24_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    5
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    60,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                }
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_24_1",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    5
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    45,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                }
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_24_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    5
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    60,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_32_2-Two-OneChan-SrcAse-Lc3_32_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 2,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    6
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    80,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                },
+                {
+                    "ase_cnt": 2,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    6
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    80,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "Two-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 2,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    6
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    80,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                },
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    6
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    80,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    6
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    80,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                },
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    6
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    80,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    6
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    80,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                },
+                {
+                    "ase_cnt": 1,
+                    "direction": "SOURCE",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    6
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    80,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 1
+                }
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_32_2",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    6
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    80,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                }
+            ]
+        },
+        {
+            "name": "One-TwoChan-SnkAse-Lc3_32_1",
+            "subconfigurations": [
+                {
+                    "ase_cnt": 1,
+                    "direction": "SINK",
+                    "codec_id": {
+                        "coding_format": 6,
+                        "vendor_company_id": 0,
+                        "vendor_codec_id": 0
+                    },
+                    "codec_configuration": [
+                        {
+                            "name": "sampling_frequency",
+                            "type": 1,
+                            "compound_value": {
+                                "value": [
+                                    6
+                                ]
+                            }
+                        },
+                        {
+                            "name": "frame_duration",
+                            "type": 2,
+                            "compound_value": {
+                                "value": [
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "octets_per_codec_frame",
+                            "type": 4,
+                            "compound_value": {
+                                "value": [
+                                    60,
+                                    0
+                                ]
+                            }
+                        },
+                        {
+                            "name": "codec_frame_blocks_per_sdu",
+                            "type": 5,
+                            "compound_value": {
+                                "value": [
+                                    1
+                                ]
+                            }
+                        }
+                    ],
+                    "ase_channel_cnt": 2
+                }
+            ]
+        }
+    ],
+    "qos_configurations": [
+        {
+            "name": "QoS_Config_16_1_1",
+            "retransmission_number": 2,
+            "max_transport_latency": 8
+        },
+        {
+            "name": "QoS_Config_16_1_2",
+            "retransmission_number": 13,
+            "max_transport_latency": 75
+        },
+        {
+            "name": "QoS_Config_16_2_1",
+            "retransmission_number": 2,
+            "max_transport_latency": 10
+        },
+        {
+            "name": "QoS_Config_16_2_2",
+            "retransmission_number": 13,
+            "max_transport_latency": 95
+        },
+        {
+            "name": "QoS_Config_24_1_1",
+            "retransmission_number": 2,
+            "max_transport_latency": 8
+        },
+        {
+            "name": "QoS_Config_24_1_2",
+            "retransmission_number": 13,
+            "max_transport_latency": 75
+        },
+        {
+            "name": "QoS_Config_24_2_1",
+            "retransmission_number": 2,
+            "max_transport_latency": 10
+        },
+        {
+            "name": "QoS_Config_24_2_2",
+            "retransmission_number": 13,
+            "max_transport_latency": 95
+        },
+        {
+            "name": "QoS_Config_32_1_1",
+            "retransmission_number": 2,
+            "max_transport_latency": 8
+        },
+        {
+            "name": "QoS_Config_32_1_2",
+            "retransmission_number": 13,
+            "max_transport_latency": 75
+        },
+        {
+            "name": "QoS_Config_32_2_1",
+            "retransmission_number": 2,
+            "max_transport_latency": 10
+        },
+        {
+            "name": "QoS_Config_32_2_2",
+            "retransmission_number": 13,
+            "max_transport_latency": 95
+        },
+        {
+            "name": "QoS_Config_48_1_2",
+            "retransmission_number": 13,
+            "max_transport_latency": 75
+        },
+        {
+            "name": "QoS_Config_48_2_2",
+            "retransmission_number": 13,
+            "max_transport_latency": 95
+        },
+        {
+            "name": "QoS_Config_48_3_2",
+            "retransmission_number": 13,
+            "max_transport_latency": 75
+        },
+        {
+            "name": "QoS_Config_48_4_1",
+            "retransmission_number": 5,
+            "max_transport_latency": 20
+        },
+        {
+            "name": "QoS_Config_48_4_2",
+            "retransmission_number": 13,
+            "max_transport_latency": 100
+        },
+        {
+            "name": "VND_QoS_Config_R3_L22",
+            "retransmission_number": 3,
+            "max_transport_latency": 22
+        },
+        {
+            "name": "VND_QoS_Config_R15_L70",
+            "retransmission_number": 15,
+            "max_transport_latency": 70
+        },
+        {
+            "name": "VND_QoS_Config_R5_L12",
+            "retransmission_number": 5,
+            "max_transport_latency": 12
+        },
+        {
+            "name": "VND_QoS_Config_R11_L40",
+            "retransmission_number": 11,
+            "max_transport_latency": 40
+        },
+        {
+            "name": "VND_QoS_Config_R3_L12",
+            "retransmission_number": 3,
+            "max_transport_latency": 12
+        },
+        {
+            "name": "QoS_Config_Low_Latency",
+            "target_latency": "LOW",
+            "retransmission_number": 0,
+            "max_transport_latency": 0
+        },
+        {
+            "name": "QoS_Config_Balanced_Reliability",
+            "target_latency": "BALANCED_RELIABILITY",
+            "retransmission_number": 0,
+            "max_transport_latency": 0
+        },
+        {
+            "name": "QoS_Config_High_Reliability",
+            "target_latency": "HIGH_RELIABILITY",
+            "retransmission_number": 0,
+            "max_transport_latency": 0
+        }
+    ]
+}
diff --git a/bluetooth/audio_set_scenarios.json b/bluetooth/audio_set_scenarios.json
new file mode 100644
index 0000000..ec36d87
--- /dev/null
+++ b/bluetooth/audio_set_scenarios.json
@@ -0,0 +1,259 @@
+{
+    "_comments_": [
+        "== Audio Set Scenarios ==",
+        "  Each defined scenario references externally defined audio set",
+        "  configurations, listed in the order of priority."
+    ],
+    "scenarios": [
+        {
+            "name": "Conversational",
+            "configurations": [
+                "Two-OneChan-SnkAse-Lc3_32_2-Two-OneChan-SrcAse-Lc3_32_2_1",
+                "Two-OneChan-SnkAse-Lc3_32_2-Two-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+                "Two-OneChan-SnkAse-Lc3_16_2-Two-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+                "Two-OneChan-SnkAse-Lc3_16_2-Two-OneChan-SrcAse-Lc3_16_2_1",
+                "Two-OneChan-SnkAse-Lc3_16_2-Two-OneChan-SrcAse-Lc3_16_2_2",
+                "Two-OneChan-SnkAse-Lc3_16_1-Two-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+                "Two-OneChan-SnkAse-Lc3_16_1-Two-OneChan-SrcAse-Lc3_16_1_1",
+                "Two-OneChan-SnkAse-Lc3_16_1-Two-OneChan-SrcAse-Lc3_16_1_2",
+                "Two-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_1",
+                "Two-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+                "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+                "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_1",
+                "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+                "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_1",
+                "One-TwoChan-SnkAse-Lc3_32_2-One-TwoChan-SrcAse-Lc3_32_2_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_32_2-One-TwoChan-SrcAse-Lc3_32_2_1",
+                "One-TwoChan-SnkAse-Lc3_16_2-One-TwoChan-SrcAse-Lc3_16_2_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_16_2-One-TwoChan-SrcAse-Lc3_16_2_1",
+                "One-TwoChan-SnkAse-Lc3_16_2-One-TwoChan-SrcAse-Lc3_16_2_2",
+                "One-TwoChan-SnkAse-Lc3_16_1-One-TwoChan-SrcAse-Lc3_16_1_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_16_1-One-TwoChan-SrcAse-Lc3_16_1_1",
+                "One-TwoChan-SnkAse-Lc3_16_1-One-TwoChan-SrcAse-Lc3_16_1_2",
+                "One-TwoChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_1",
+                "One-TwoChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_1",
+                "One-TwoChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_1",
+                "One-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+                "One-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_1",
+                "One-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+                "One-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_1",
+                "One-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+                "One-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_1",
+                "Two-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+                "One-OneChan-SrcAse-Lc3_48_4_Balanced_Reliability",
+                "One-OneChan-SrcAse-Lc3_48_2_Balanced_Reliability",
+                "One-OneChan-SrcAse-Lc3_48_3_Balanced_Reliability",
+                "One-OneChan-SrcAse-Lc3_48_1_Balanced_Reliability",
+                "One-OneChan-SrcAse-Lc3_32_2_Balanced_Reliability",
+                "One-OneChan-SrcAse-Lc3_32_1_Balanced_Reliability",
+                "One-OneChan-SrcAse-Lc3_24_2_Balanced_Reliability",
+                "One-OneChan-SrcAse-Lc3_24_1_Balanced_Reliability",
+                "One-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+                "One-OneChan-SrcAse-Lc3_16_1_Balanced_Reliability",
+                "VND_SingleDev_TwoChanStereoSnk_OneChanStereoSrc_32khz_60oct_R3_L22_1",
+                "Two-OneChan-SnkAse-Lc3_16_2_Balanced_Reliability",
+                "One-TwoChan-SnkAse-Lc3_16_2_Balanced_Reliability",
+                "One-OneChan-SnkAse-Lc3_16_2_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "Media",
+            "configurations": [
+                "Two-OneChan-SnkAse-Lc3_48_4_High_Reliability",
+                "Two-OneChan-SnkAse-Lc3_48_4_2",
+                "Two-OneChan-SnkAse-Lc3_48_2_High_Reliability",
+                "Two-OneChan-SnkAse-Lc3_48_2_2",
+                "Two-OneChan-SnkAse-Lc3_48_3_High_Reliability",
+                "Two-OneChan-SnkAse-Lc3_48_3_2",
+                "Two-OneChan-SnkAse-Lc3_48_1_High_Reliability",
+                "Two-OneChan-SnkAse-Lc3_48_1_2",
+                "Two-OneChan-SnkAse-Lc3_24_2_Balanced_Reliability",
+                "Two-OneChan-SnkAse-Lc3_24_2_2",
+                "Two-OneChan-SnkAse-Lc3_16_2_Balanced_Reliability",
+                "Two-OneChan-SnkAse-Lc3_16_2_2",
+                "Two-OneChan-SnkAse-Lc3_16_1_Balanced_Reliability",
+                "Two-OneChan-SnkAse-Lc3_16_1_2",
+                "One-TwoChan-SnkAse-Lc3_48_4_High_Reliability",
+                "One-TwoChan-SnkAse-Lc3_48_4_2",
+                "One-TwoChan-SnkAse-Lc3_48_2_High_Reliability",
+                "One-TwoChan-SnkAse-Lc3_48_2_2",
+                "One-TwoChan-SnkAse-Lc3_48_3_High_Reliability",
+                "One-TwoChan-SnkAse-Lc3_48_3_2",
+                "One-TwoChan-SnkAse-Lc3_48_1_High_Reliability",
+                "One-TwoChan-SnkAse-Lc3_48_1_2",
+                "One-TwoChan-SnkAse-Lc3_24_2_Balanced_Reliability",
+                "One-TwoChan-SnkAse-Lc3_24_2_2",
+                "One-TwoChan-SnkAse-Lc3_16_2_Balanced_Reliability",
+                "One-TwoChan-SnkAse-Lc3_16_2_2",
+                "One-TwoChan-SnkAse-Lc3_16_1_Balanced_Reliability",
+                "One-TwoChan-SnkAse-Lc3_16_1_2",
+                "One-OneChan-SnkAse-Lc3_48_4_High_Reliability",
+                "One-OneChan-SnkAse-Lc3_48_4_2",
+                "One-OneChan-SnkAse-Lc3_48_2_High_Reliability",
+                "One-OneChan-SnkAse-Lc3_48_2_2",
+                "One-OneChan-SnkAse-Lc3_48_3_High_Reliability",
+                "One-OneChan-SnkAse-Lc3_48_3_2",
+                "One-OneChan-SnkAse-Lc3_48_1_High_Reliability",
+                "One-OneChan-SnkAse-Lc3_48_1_2",
+                "One-OneChan-SnkAse-Lc3_32_2_Balanced_Reliability",
+                "One-OneChan-SnkAse-Lc3_32_2_2",
+                "One-OneChan-SnkAse-Lc3_32_1_Balanced_Reliability",
+                "One-OneChan-SnkAse-Lc3_32_1_2",
+                "One-OneChan-SnkAse-Lc3_24_2_Balanced_Reliability",
+                "One-OneChan-SnkAse-Lc3_24_2_2",
+                "One-OneChan-SnkAse-Lc3_16_2_Balanced_Reliability",
+                "One-OneChan-SnkAse-Lc3_16_2_2",
+                "One-OneChan-SnkAse-Lc3_16_1_Balanced_Reliability",
+                "One-OneChan-SnkAse-Lc3_16_1_2",
+                "VND_DualDev_OneChanStereoSnk_48khz_100octs_High_Reliability_1",
+                "VND_DualDev_OneChanStereoSnk_48khz_100octs_R15_L70_1",
+                "VND_SingleDev_TwoChanStereoSnk_48khz_100octs_High_Reliability_1",
+                "VND_SingleDev_TwoChanStereoSnk_48khz_100octs_R15_L70_1",
+                "VND_SingleDev_OneChanStereoSnk_48khz_100octs_High_Reliability_1",
+                "VND_SingleDev_OneChanStereoSnk_48khz_100octs_R15_L70_1",
+                "Two-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+                "One-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "Game",
+            "configurations": [
+                "One-TwoChan-SnkAse-Lc3_48_2_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_48_3_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_48_1_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_32_2_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_32_1_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_24_2_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_24_1_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_16_2_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_16_1_Low_Latency",
+                "Two-OneChan-SnkAse-Lc3_32_2-Two-OneChan-SrcAse-Lc3_32_2_1",
+                "Two-OneChan-SnkAse-Lc3_32_2-Two-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+                "Two-OneChan-SnkAse-Lc3_16_2-Two-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+                "Two-OneChan-SnkAse-Lc3_16_1-Two-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+                "Two-TwoChan-SnkAse-Lc3_48_2-Two-TwoChan-SrcAse-Lc3_48_2_Low_Latency",
+                "Two-TwoChan-SnkAse-Lc3_48_1-Two-TwoChan-SrcAse-Lc3_48_1_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_32_2-One-TwoChan-SrcAse-Lc3_32_2_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_16_2-One-TwoChan-SrcAse-Lc3_16_2_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_16_1-One-TwoChan-SrcAse-Lc3_16_1_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+                "VND_SingleDev_TwoChanStereoSnk_48khz_75octs_TwoChanStereoSrc_16khz_30octs_Balanced_Reliability_1",
+                "VND_SingleDev_TwoChanStereoSnk_48khz_75octs_R5_L12_TwoChanStereoSrc_16khz_30octs_R3_L12_1",
+                "VND_SingleDev_TwoChanStereoSnk_48khz_75octs_High_Reliability_1",
+                "VND_SingleDev_TwoChanStereoSnk_48khz_75octs_R5_L12_1",
+                "Two-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_1",
+                "Two-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+                "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+                "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+                "One-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+                "One-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+                "One-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+                "Two-OneChan-SnkAse-Lc3_48_2_Low_Latency",
+                "Two-OneChan-SnkAse-Lc3_48_3_Low_Latency",
+                "Two-OneChan-SnkAse-Lc3_48_1_Low_Latency",
+                "Two-OneChan-SnkAse-Lc3_32_2_Low_Latency",
+                "Two-OneChan-SnkAse-Lc3_32_1_Low_Latency",
+                "Two-OneChan-SnkAse-Lc3_24_2_Low_Latency",
+                "Two-OneChan-SnkAse-Lc3_24_1_Low_Latency",
+                "Two-OneChan-SnkAse-Lc3_16_2_Low_Latency",
+                "Two-OneChan-SnkAse-Lc3_16_1_Low_Latency"
+            ]
+        },
+        {
+            "name": "VoiceAssistants",
+            "configurations": [
+                "Two-OneChan-SnkAse-Lc3_32_2-Two-OneChan-SrcAse-Lc3_32_2_1",
+                "Two-OneChan-SnkAse-Lc3_32_2-Two-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+                "Two-OneChan-SnkAse-Lc3_16_2-Two-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+                "Two-OneChan-SnkAse-Lc3_16_2-Two-OneChan-SrcAse-Lc3_16_2_1",
+                "Two-OneChan-SnkAse-Lc3_16_1-Two-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+                "Two-OneChan-SnkAse-Lc3_16_1-Two-OneChan-SrcAse-Lc3_16_1_1",
+                "Two-TwoChan-SnkAse-Lc3_48_2-Two-TwoChan-SrcAse-Lc3_48_2_Balanced_Reliability",
+                "Two-TwoChan-SnkAse-Lc3_48_1-Two-TwoChan-SrcAse-Lc3_48_1_Balanced_Reliability",
+                "One-TwoChan-SnkAse-Lc3_32_2-One-TwoChan-SrcAse-Lc3_32_2_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_32_2-One-TwoChan-SrcAse-Lc3_32_2_1",
+                "One-TwoChan-SnkAse-Lc3_16_2-One-TwoChan-SrcAse-Lc3_16_2_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_16_2-One-TwoChan-SrcAse-Lc3_16_2_1",
+                "One-TwoChan-SnkAse-Lc3_16_1-One-TwoChan-SrcAse-Lc3_16_1_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_16_1-One-TwoChan-SrcAse-Lc3_16_1_1",
+                "One-TwoChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_1",
+                "One-TwoChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_1",
+                "One-TwoChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_1",
+                "One-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+                "One-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_1",
+                "One-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+                "One-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_1",
+                "One-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+                "One-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_1",
+                "Two-OneChan-SnkAse-Lc3_48_4-Two-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+                "Two-OneChan-SnkAse-Lc3_48_4-Two-OneChan-SrcAse-Lc3_24_2_Balanced_Reliability",
+                "Two-OneChan-SnkAse-Lc3_48_4-Two-OneChan-SrcAse-Lc3_32_2_Balanced_Reliability",
+                "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+                "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_24_2_Balanced_Reliability",
+                "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_32_2_Balanced_Reliability",
+                "One-TwoChan-SnkAse-Lc3_48_4-One-TwoChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+                "One-TwoChan-SnkAse-Lc3_48_4-One-TwoChan-SrcAse-Lc3_24_2_Balanced_Reliability",
+                "One-TwoChan-SnkAse-Lc3_48_4-One-TwoChan-SrcAse-Lc3_32_2_Balanced_Reliability",
+                "One-TwoChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+                "One-TwoChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_24_2_Balanced_Reliability",
+                "One-TwoChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_32_2_Balanced_Reliability",
+                "One-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+                "One-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_24_2_Balanced_Reliability",
+                "One-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_32_2_Balanced_Reliability"
+            ]
+        },
+        {
+            "name": "Live",
+            "configurations": [
+                "VND_SingleDev_TwoChanStereoSrc_48khz_100octs_Balanced_Reliability_1",
+                "VND_SingleDev_TwoChanStereoSrc_48khz_100octs_R11_L40_1",
+                "Two-OneChan-SnkAse-Lc3_32_2-Two-OneChan-SrcAse-Lc3_32_2_1",
+                "Two-OneChan-SnkAse-Lc3_32_2-Two-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+                "Two-OneChan-SnkAse-Lc3_16_2-Two-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+                "Two-OneChan-SnkAse-Lc3_16_2-Two-OneChan-SrcAse-Lc3_16_2_1",
+                "Two-OneChan-SnkAse-Lc3_16_1-Two-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+                "Two-OneChan-SnkAse-Lc3_16_1-Two-OneChan-SrcAse-Lc3_16_1_1",
+                "Two-TwoChan-SnkAse-Lc3_48_2-Two-TwoChan-SrcAse-Lc3_48_2_Balanced_Reliability",
+                "Two-TwoChan-SnkAse-Lc3_48_1-Two-TwoChan-SrcAse-Lc3_48_1_Balanced_Reliability",
+                "One-TwoChan-SnkAse-Lc3_32_2-One-TwoChan-SrcAse-Lc3_32_2_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_32_2-One-TwoChan-SrcAse-Lc3_32_2_1",
+                "One-TwoChan-SnkAse-Lc3_16_2-One-TwoChan-SrcAse-Lc3_16_2_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_16_2-One-TwoChan-SrcAse-Lc3_16_2_1",
+                "One-TwoChan-SnkAse-Lc3_16_1-One-TwoChan-SrcAse-Lc3_16_1_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_16_1-One-TwoChan-SrcAse-Lc3_16_1_1",
+                "One-TwoChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_1",
+                "One-TwoChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_1",
+                "One-TwoChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+                "One-TwoChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_1",
+                "Two-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_1",
+                "Two-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+                "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+                "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_1",
+                "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+                "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_1",
+                "One-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+                "One-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_1",
+                "One-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+                "One-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_1",
+                "One-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+                "One-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_1",
+                "One-OneChan-SrcAse-Lc3_48_2_Balanced_Reliability",
+                "One-OneChan-SrcAse-Lc3_48_1_Balanced_Reliability",
+                "One-OneChan-SrcAse-Lc3_32_2_Balanced_Reliability",
+                "One-OneChan-SrcAse-Lc3_32_1_Balanced_Reliability",
+                "One-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+                "One-OneChan-SrcAse-Lc3_16_1_Balanced_Reliability"
+            ]
+        }
+    ]
+}
diff --git a/bluetooth/bt_vendor_overlay_caiman.conf b/bluetooth/bt_vendor_overlay_caiman.conf
index c784f0e..6f6100f 100644
--- a/bluetooth/bt_vendor_overlay_caiman.conf
+++ b/bluetooth/bt_vendor_overlay_caiman.conf
@@ -40,3 +40,9 @@
 HwStageWithOldChipFwNoLongerSupport = EVT1.0-PROTO1.0-PROTO1.1
 
 ThreadDispatcherEnabled = true
+
+# A2DP_LDAC_QUALITY_HIGH 0  // Equal to 990/909(kbps)
+# A2DP_LDAC_QUALITY_MID 1   // Equal to 660/606(kbps)
+# A2DP_LDAC_QUALITY_LOW 2   // Equal to 330/303(kbps)
+# A2DP_LDAC_QUALITY_ABR 3   // ABR mode, range: 990,660,492,396,330(kbps)
+LdacDefaultQualityMode = 1
diff --git a/bluetooth/bt_vendor_overlay_komodo.conf b/bluetooth/bt_vendor_overlay_komodo.conf
index c784f0e..6f6100f 100644
--- a/bluetooth/bt_vendor_overlay_komodo.conf
+++ b/bluetooth/bt_vendor_overlay_komodo.conf
@@ -40,3 +40,9 @@
 HwStageWithOldChipFwNoLongerSupport = EVT1.0-PROTO1.0-PROTO1.1
 
 ThreadDispatcherEnabled = true
+
+# A2DP_LDAC_QUALITY_HIGH 0  // Equal to 990/909(kbps)
+# A2DP_LDAC_QUALITY_MID 1   // Equal to 660/606(kbps)
+# A2DP_LDAC_QUALITY_LOW 2   // Equal to 330/303(kbps)
+# A2DP_LDAC_QUALITY_ABR 3   // ABR mode, range: 990,660,492,396,330(kbps)
+LdacDefaultQualityMode = 1
diff --git a/bluetooth/bt_vendor_overlay_tokay.conf b/bluetooth/bt_vendor_overlay_tokay.conf
index c784f0e..6f6100f 100644
--- a/bluetooth/bt_vendor_overlay_tokay.conf
+++ b/bluetooth/bt_vendor_overlay_tokay.conf
@@ -40,3 +40,9 @@
 HwStageWithOldChipFwNoLongerSupport = EVT1.0-PROTO1.0-PROTO1.1
 
 ThreadDispatcherEnabled = true
+
+# A2DP_LDAC_QUALITY_HIGH 0  // Equal to 990/909(kbps)
+# A2DP_LDAC_QUALITY_MID 1   // Equal to 660/606(kbps)
+# A2DP_LDAC_QUALITY_LOW 2   // Equal to 330/303(kbps)
+# A2DP_LDAC_QUALITY_ABR 3   // ABR mode, range: 990,660,492,396,330(kbps)
+LdacDefaultQualityMode = 1
diff --git a/caiman/BoardConfig.mk b/caiman/BoardConfig.mk
index 5cf4452..034b3e7 100644
--- a/caiman/BoardConfig.mk
+++ b/caiman/BoardConfig.mk
@@ -20,10 +20,15 @@
 BOARD_USES_GENERIC_AUDIO := true
 USES_DEVICE_GOOGLE_CAIMITO := true
 
+RELEASE_GOOGLE_PRODUCT_RADIO_DIR := $(RELEASE_GOOGLE_CAIMAN_RADIO_DIR)
+RELEASE_GOOGLE_PRODUCT_RADIOCFG_DIR := $(RELEASE_GOOGLE_CAIMAN_RADIOCFG_DIR)
+RELEASE_GOOGLE_PRODUCT_NTNRADIO_DIR := $(RELEASE_GOOGLE_CAIMAN_NTNRADIO_DIR)
+
 include device/google/caimito/device-caimito-common.mk
 
 include device/google/zumapro/BoardConfig-common.mk
 -include vendor/google_devices/zumapro/prebuilts/BoardConfigVendor.mk
+include device/google/gs-common/check_current_prebuilt/check_current_prebuilt.mk
 -include vendor/google_devices/caiman/proprietary/BoardConfigVendor.mk
 include device/google/caimito-sepolicy/caiman-sepolicy.mk
 include device/google/caimito/wifi/BoardConfig-wifi.mk
diff --git a/caiman/overlay/frameworks/base/core/res/res/values/config.xml b/caiman/overlay/frameworks/base/core/res/res/values/config.xml
index 024b6c4..ada5548 100644
--- a/caiman/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/caiman/overlay/frameworks/base/core/res/res/values/config.xml
@@ -54,6 +54,10 @@
     <!-- 140 nits: (140-2)/(1250-2)*(0.61-0.0)+0.0 = 0.067451923 -->
     <item name="config_screenBrightnessSettingDefaultFloat" format="float" type="dimen">0.067451923</item>
 
+    <!-- The maximum range of gamma adjustment possible using the screen
+         auto-brightness adjustment setting. -->
+    <fraction name="config_autoBrightnessAdjustmentMaxGamma">105%</fraction>
+
     <!-- The default refresh rate. Pixel 6 manages this using the peak refresh rate setting, so set
          this value to 0 so it has no effect. -->
     <integer name="config_defaultRefreshRate">0</integer>
@@ -173,9 +177,12 @@
     <!-- The max vibration strength allowed in audio haptic channels. -->
     <item name="config_hapticChannelMaxVibrationAmplitude" format="float" type="dimen">0.335</item>
 
-    <dimen name="status_bar_height_default">52dp</dimen>
-    <dimen name="status_bar_height_portrait">52dp</dimen>
-    <dimen name="status_bar_height_landscape">52dp</dimen>
+    <!-- Align to camera cutout's height. -->
+    <dimen name="status_bar_height_portrait">68dp</dimen>
+    <!-- Since @dimen/status_bar_height_portrait is modified in overlay, need to restore its value
+         from original folder. This should be done even looks no effect on some apps because
+         some other apps may reference to it. -->
+    <dimen name="status_bar_height_landscape">24dp</dimen>
 
     <!-- Whether the display cutout region of the main built-in display should be forced to
         black in software (to avoid aliasing or emulate a cutout that is not physically existent).
@@ -187,8 +194,10 @@
         @left
     </string>
 
+    <!-- This configuartion effects status bar's height actually. Set its height as double
+         y position of @dimen/config_mainBuiltInDisplayCutout to make cutout center vertically -->
     <string translatable="false" name="config_mainBuiltInDisplayCutoutRectApproximation">
-        m 586,0 h 108.5 v 155.5 H 586 Z
+        m 586,0 h 108.5 v 204 H 586 Z
         @left
     </string>
     <!-- A string config in svg path format for the main display shape.
diff --git a/caiman/overlay/frameworks/base/core/res/res/xml/power_profile.xml b/caiman/overlay/frameworks/base/core/res/res/xml/power_profile.xml
index dd14f6a..36a3c33 100644
--- a/caiman/overlay/frameworks/base/core/res/res/xml/power_profile.xml
+++ b/caiman/overlay/frameworks/base/core/res/res/xml/power_profile.xml
@@ -184,11 +184,11 @@
     </array>
     <item name="gps.voltage">3700</item>
     <!-- Idle Receive current for wifi radio in mA.-->
-    <item name="wifi.controller.idle">79</item>
+    <item name="wifi.controller.idle">31</item>
     <!-- Rx current for wifi radio in mA.-->
-    <item name="wifi.controller.rx">118</item>
+    <item name="wifi.controller.rx">39</item>
     <!-- Tx current for wifi radio in mA-->
-    <item name="wifi.controller.tx">331</item>
+    <item name="wifi.controller.tx">540</item>
     <!-- Operating voltage for wifi radio in mV.-->
-    <item name="wifi.controller.voltage">3700</item>
+    <item name="wifi.controller.voltage">3850</item>
 </device>
diff --git a/caiman/overlay/frameworks/base/packages/SystemUI/res/values/config.xml b/caiman/overlay/frameworks/base/packages/SystemUI/res/values/config.xml
index 116b0df..2e6af64 100644
--- a/caiman/overlay/frameworks/base/packages/SystemUI/res/values/config.xml
+++ b/caiman/overlay/frameworks/base/packages/SystemUI/res/values/config.xml
@@ -40,16 +40,6 @@
     <string name="doze_brightness_sensor_type" translatable="false">com.google.sensor.binned_brightness</string>
 
     <!-- Doze: Table that translates sensor values from the doze_brightness_sensor_type sensor
-               to brightness values; -1 means keeping the current brightness. -->
-    <integer-array name="config_doze_brightness_sensor_to_brightness">
-        <item>-1</item> <!-- 0: OFF -->
-        <item>1</item> <!-- 1: NIGHT (1-1)/(255-1)*(2050-2)+2 = 2 nits -->
-        <item>2</item> <!-- 2: LOW (2-1)/(255-1)*(2050-2)+2 = 10.1 nits -->
-        <item>7</item> <!-- 3: HIGH (7-1)/(255-1)*(2050-2)+2 = 50.4 nits -->
-        <item>7</item> <!-- 4: SUN -->
-    </integer-array>
-
-    <!-- Doze: Table that translates sensor values from the doze_brightness_sensor_type sensor
                to an opacity value for a black scrim that is overlaid in AOD1.
                Valid range is from 0 (transparent) to 255 (opaque).
                -1 means keeping the current opacity. -->
diff --git a/caiman/rro_overlays/NfcOverlay/res/values/config.xml b/caiman/rro_overlays/NfcOverlay/res/values/config.xml
index 6ca3d09..0d5fe75 100644
--- a/caiman/rro_overlays/NfcOverlay/res/values/config.xml
+++ b/caiman/rro_overlays/NfcOverlay/res/values/config.xml
@@ -31,6 +31,6 @@
     <item>36</item>
   </integer-array>
   <integer-array name="antenna_y">
-    <item>108</item>
+    <item>44</item>
   </integer-array>
 </resources>
diff --git a/caiman/rro_overlays/UwbOverlay/Android.bp b/caiman/rro_overlays/UwbOverlay/Android.bp
new file mode 100644
index 0000000..db283b4
--- /dev/null
+++ b/caiman/rro_overlays/UwbOverlay/Android.bp
@@ -0,0 +1,18 @@
+package {
+    // See: http://go/android-license-faq
+    // A large-scale-change added 'default_applicable_licenses' to import
+    // all of the 'license_kinds' from "//device/google/caimito:device_google_caimito_license"
+    // to get the below license kinds:
+    //   SPDX-license-identifier-Apache-2.0
+    default_applicable_licenses: [
+        "//device/google/caimito:device_google_caimito_license",
+    ],
+}
+
+runtime_resource_overlay {
+    name: "UwbOverlayCM4",
+    theme: "UwbOverlayCM4",
+    certificate: "platform",
+    sdk_version: "current",
+    product_specific: true,
+}
diff --git a/caiman/rro_overlays/UwbOverlay/AndroidManifest.xml b/caiman/rro_overlays/UwbOverlay/AndroidManifest.xml
new file mode 100644
index 0000000..216c3f1
--- /dev/null
+++ b/caiman/rro_overlays/UwbOverlay/AndroidManifest.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2024 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.
+-->
+<!-- Pixel specific uwb overlays -->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.android.uwb.resources.pixel"
+    android:versionCode="1"
+    android:versionName="1.0">
+    <application android:hasCode="false" />
+    <overlay
+      android:targetPackage="com.android.uwb.resources"
+      android:targetName="UwbCustomization"
+      android:isStatic="true"
+      android:priority="0"/>
+</manifest>
diff --git a/caiman/rro_overlays/UwbOverlay/OWNERS b/caiman/rro_overlays/UwbOverlay/OWNERS
new file mode 100644
index 0000000..2395d7f
--- /dev/null
+++ b/caiman/rro_overlays/UwbOverlay/OWNERS
@@ -0,0 +1,3 @@
+# People who can approve changes for submission
+include platform/packages/modules/Uwb:/OWNERS
[email protected]
diff --git a/caiman/rro_overlays/UwbOverlay/res/values/config.xml b/caiman/rro_overlays/UwbOverlay/res/values/config.xml
new file mode 100644
index 0000000..2e9b322
--- /dev/null
+++ b/caiman/rro_overlays/UwbOverlay/res/values/config.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+ * Copyright (C) 2024 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>
+    <!-- When true, the filter engine will alter UWB values to improve accuracy. -->
+    <bool name="enable_filters">true</bool>
+
+    <!-- Enables the AoA conversion primer. This is needed on hardware that does not convert AoA
+    to spherical coordinates, including hardware that does not support elevation.-->
+    <bool name="enable_primer_aoa">true</bool>
+
+    <!-- Whether background ranging is enabled or not
+     If enabled:
+       * Background 3p apps are allowed to open new ranging sessions
+       * When previously foreground 3p apps moves to background, sessions are not terminated
+    -->
+    <bool name = "background_ranging_enabled">true</bool>
+
+    <!-- Whether multicast list update notification v2 is supported or not.
+     If enabled, the notification will be parsed into version 2 if uci major version is 2.0. -->
+    <bool name = "is_multicast_list_update_ntf_v2_supported">true</bool>
+
+    <!-- Whether multicast list update response v2 is supported or not.
+     If enabled, the response will be parsed into version 2 if uci major version is 2.0. -->
+    <bool name = "is_multicast_list_update_rsp_v2_supported">true</bool>
+</resources>
diff --git a/caiman/uwb/Android.bp b/caiman/uwb/Android.bp
index de2da1f..3b575b1 100644
--- a/caiman/uwb/Android.bp
+++ b/caiman/uwb/Android.bp
@@ -69,3 +69,9 @@
     defaults: ["conf_defaults"],
 }
 
+prebuilt_etc {
+    name: "capabilities.conf",
+    src: "capabilities.conf",
+    defaults: ["conf_defaults"],
+}
+
diff --git a/caiman/uwb/capabilities.conf b/caiman/uwb/capabilities.conf
new file mode 100644
index 0000000..792aff1
--- /dev/null
+++ b/caiman/uwb/capabilities.conf
@@ -0,0 +1,8 @@
+# Tag 0x13
+# Length 1
+# b0 : Azimuth AoA -90° to 90°
+# b1 : Azimuth AoA -180° to 180°
+# b2 : Elevation AoA
+# b3 : AoA FoM
+# b7-b4 : RFU
+AOA_SUPPORT=0x0B
diff --git a/caiman/uwb/uwb_calibration.mk b/caiman/uwb/uwb_calibration.mk
index 09c4f13..7dc89a9 100644
--- a/caiman/uwb/uwb_calibration.mk
+++ b/caiman/uwb/uwb_calibration.mk
@@ -21,4 +21,5 @@
     calibration-FCC.conf \
     calibration-JP.conf \
     calibration-TW.conf \
-    calibration-RESTRICTED.conf
+    calibration-RESTRICTED.conf \
+    capabilities.conf
diff --git a/conf/init.caiman.rc b/conf/init.caiman.rc
index 215e60d..0898984 100644
--- a/conf/init.caiman.rc
+++ b/conf/init.caiman.rc
@@ -10,6 +10,7 @@
 on init
     # eSE  streset tool name
     setprop persist.vendor.se.streset libstreset24
+    setprop persist.vendor.nfc.streset libstreset24
 # No se_chip_en for P1.0
 on late-init && property:ro.boot.hardware.revision=PROTO1.0
     setprop persist.vendor.se.reset.chip_en false
diff --git a/conf/init.komodo.rc b/conf/init.komodo.rc
index 97a6e22..e118f36 100644
--- a/conf/init.komodo.rc
+++ b/conf/init.komodo.rc
@@ -10,6 +10,7 @@
 on init
     # eSE streset tool name
     setprop persist.vendor.se.streset libstreset24
+    setprop persist.vendor.nfc.streset libstreset24
 # No se_chip_en for P1.0
 on late-init && property:ro.boot.hardware.revision=PROTO1.0
     setprop persist.vendor.se.reset.chip_en false
diff --git a/conf/init.tokay.rc b/conf/init.tokay.rc
index 99963f9..17e5c79 100644
--- a/conf/init.tokay.rc
+++ b/conf/init.tokay.rc
@@ -10,6 +10,7 @@
 on init
     # eSE streset tool name
     setprop persist.vendor.se.streset libstreset24
+    setprop persist.vendor.nfc.streset libstreset24
 # No se_chip_en for P1.0
 on late-init && property:ro.boot.hardware.revision=PROTO1.0
     setprop persist.vendor.se.reset.chip_en false
diff --git a/device-caiman.mk b/device-caiman.mk
index 4b83325..ce43669 100644
--- a/device-caiman.mk
+++ b/device-caiman.mk
@@ -14,6 +14,8 @@
 # limitations under the License.
 #
 
+SHIPPING_API_LEVEL := 34
+
 ifdef RELEASE_GOOGLE_CAIMAN_RADIO_DIR
 RELEASE_GOOGLE_PRODUCT_RADIO_DIR := $(RELEASE_GOOGLE_CAIMAN_RADIO_DIR)
 endif
@@ -27,6 +29,9 @@
 ifdef RELEASE_KERNEL_CAIMAN_DIR
 TARGET_KERNEL_DIR ?= $(RELEASE_KERNEL_CAIMAN_DIR)
 TARGET_BOARD_KERNEL_HEADERS ?= $(RELEASE_KERNEL_CAIMAN_DIR)/kernel-headers
+
+include device/google/caimito/device-caimito-16k-common.mk
+
 else
 TARGET_KERNEL_DIR ?= device/google/caimito-kernels/6.1/24D1
 TARGET_BOARD_KERNEL_HEADERS ?= device/google/caimito-kernels/6.1/24D1/kernel-headers
@@ -67,6 +72,7 @@
 include device/google/caimito/fingerprint/ultrasonic_udfps.mk
 include device/google/gs-common/modem/radio_ext/radio_ext.mk
 include device/google/gs-common/pixelsupport/pixelsupport.mk
+include device/google/gs-common/gril/hidl/1.7/gril_hidl.mk
 
 # Increment the SVN for any official public releases
 ifdef RELEASE_SVN_CAIMAN
@@ -79,6 +85,25 @@
 PRODUCT_VENDOR_PROPERTIES += \
     ro.vendor.build.svn=$(TARGET_SVN)
 
+# Set device family property for SMR
+PRODUCT_PROPERTY_OVERRIDES += \
+    ro.build.device_family=CM4KM4TK4TG4
+
+# Set build properties for SMR builds
+ifeq ($(RELEASE_IS_SMR), true)
+    ifneq (,$(RELEASE_BASE_OS_CAIMAN))
+        PRODUCT_BASE_OS := $(RELEASE_BASE_OS_CAIMAN)
+    endif
+endif
+
+# Set build properties for EMR builds
+ifeq ($(RELEASE_IS_EMR), true)
+    ifneq (,$(RELEASE_BASE_OS_CAIMAN))
+        PRODUCT_PROPERTY_OVERRIDES += \
+        ro.build.version.emergency_base_os=$(RELEASE_BASE_OS_CAIMAN)
+    endif
+endif
+
 # go/lyric-soong-variables
 $(call soong_config_set,lyric,camera_hardware,caiman)
 $(call soong_config_set,lyric,tuning_product,caiman)
@@ -266,6 +291,10 @@
 PRODUCT_SOONG_NAMESPACES += \
     device/google/caimito/powerstats/caiman
 
+# UWB Overlay
+PRODUCT_PACKAGES += \
+    UwbOverlayCM4
+
 # WiFi Overlay
 PRODUCT_PACKAGES += \
     WifiOverlay2024
@@ -335,6 +364,11 @@
     PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.vendor.primarydisplay.vrr.expected_present.timeout_ns=500000000
 endif
 
+# Display OP HZ Config
+PRODUCT_VENDOR_PROPERTIES += \
+    vendor.primarydisplay.op.hs_hz=120 \
+    vendor.primarydisplay.op.ns_hz=120
+
 # Display fixed TE2
 PRODUCT_VENDOR_PROPERTIES += vendor.primarydisplay.fixed_te2.default_rate_hz=120
 
@@ -353,6 +387,10 @@
     persist.vendor.vibrator.hal.context.settlingtime=5000 \
     ro.vendor.vibrator.hal.pm.activetimeout=5
 
+# Override Output Distortion Gain
+PRODUCT_VENDOR_PROPERTIES += \
+    vendor.audio.hapticgenerator.distortion.output.gain=0.48
+
 # PKVM Memory Reclaim
 PRODUCT_VENDOR_PROPERTIES += \
     hypervisor.memory_reclaim.supported=1
@@ -404,7 +442,7 @@
 
 # LE Audio Unicast Allowlist
 PRODUCT_PRODUCT_PROPERTIES += \
-   persist.bluetooth.leaudio.allow_list=SM-R510
+   persist.bluetooth.leaudio.allow_list=SM-R510,WF-1000XM5
 
 # Support LE & Classic concurrent encryption (b/330704060)
 PRODUCT_PRODUCT_PROPERTIES += \
@@ -431,13 +469,30 @@
 # Window Extensions
 $(call inherit-product, $(SRC_TARGET_DIR)/product/window_extensions.mk)
 
-# Connectivity Resources Overlay
+# Connectivity Resources Overlay for Thread host settings
 PRODUCT_PACKAGES += \
     ConnectivityResourcesOverlayCaimitoOverride
 
+# Thread Dispatcher enablement in Bluetooth HAL
+PRODUCT_PRODUCT_PROPERTIES += \
+    persist.bluetooth.thread_dispatcher.enabled=false
+
 #Component Override for Pixel Troubleshooting App
 PRODUCT_COPY_FILES += \
     device/google/caimito/caiman/caiman-component-overrides.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sysconfig/caiman-component-overrides.xml
 
+# Bluetooth device id
+# Caiman: 0x4110
 PRODUCT_PRODUCT_PROPERTIES += \
-    persist.bluetooth.thread_dispatcher.enabled=true
+    bluetooth.device_id.product_id=16656
+
+# Set support for LEA multicodec
+PRODUCT_PRODUCT_PROPERTIES += \
+    bluetooth.core.le_audio.codec_extension_aidl.enabled=true
+
+# LE Audio configuration scenarios
+PRODUCT_COPY_FILES += \
+    device/google/caimito/bluetooth/audio_set_scenarios.json:$(TARGET_COPY_OUT_VENDOR)/etc/aidl/le_audio/aidl_audio_set_scenarios.json
+
+PRODUCT_COPY_FILES += \
+    device/google/caimito/bluetooth/audio_set_configurations.json:$(TARGET_COPY_OUT_VENDOR)/etc/aidl/le_audio/aidl_audio_set_configurations.json
diff --git a/device-caimito-16k-common.mk b/device-caimito-16k-common.mk
new file mode 100644
index 0000000..b969354
--- /dev/null
+++ b/device-caimito-16k-common.mk
@@ -0,0 +1,20 @@
+#
+# Copyright (C) 2024 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.
+#
+
+ifeq ($(TARGET_BOOTS_16K),true)
+# Configures the 16kb kernel directory.
+TARGET_KERNEL_DIR := $(TARGET_KERNEL_DIR)/16kb
+endif
diff --git a/device-komodo.mk b/device-komodo.mk
index 30d54d6..18d62ad 100644
--- a/device-komodo.mk
+++ b/device-komodo.mk
@@ -14,6 +14,8 @@
 # limitations under the License.
 #
 
+SHIPPING_API_LEVEL := 34
+
 ifdef RELEASE_GOOGLE_KOMODO_RADIO_DIR
 RELEASE_GOOGLE_PRODUCT_RADIO_DIR := $(RELEASE_GOOGLE_KOMODO_RADIO_DIR)
 endif
@@ -27,6 +29,9 @@
 ifdef RELEASE_KERNEL_KOMODO_DIR
 TARGET_KERNEL_DIR ?= $(RELEASE_KERNEL_KOMODO_DIR)
 TARGET_BOARD_KERNEL_HEADERS ?= $(RELEASE_KERNEL_KOMODO_DIR)/kernel-headers
+
+include device/google/caimito/device-caimito-16k-common.mk
+
 else
 TARGET_KERNEL_DIR ?= device/google/caimito-kernels/6.1/24D1
 TARGET_BOARD_KERNEL_HEADERS ?= device/google/caimito-kernels/6.1/24D1/kernel-headers
@@ -67,6 +72,7 @@
 include device/google/caimito/fingerprint/ultrasonic_udfps.mk
 include device/google/gs-common/modem/radio_ext/radio_ext.mk
 include device/google/gs-common/pixelsupport/pixelsupport.mk
+include device/google/gs-common/gril/hidl/1.7/gril_hidl.mk
 
 # Increment the SVN for any official public releases
 ifdef RELEASE_SVN_KOMODO
@@ -79,6 +85,25 @@
 PRODUCT_VENDOR_PROPERTIES += \
     ro.vendor.build.svn=$(TARGET_SVN)
 
+# Set device family property for SMR
+PRODUCT_PROPERTY_OVERRIDES += \
+    ro.build.device_family=CM4KM4TK4TG4
+
+# Set build properties for SMR builds
+ifeq ($(RELEASE_IS_SMR), true)
+    ifneq (,$(RELEASE_BASE_OS_KOMODO))
+        PRODUCT_BASE_OS := $(RELEASE_BASE_OS_KOMODO)
+    endif
+endif
+
+# Set build properties for EMR builds
+ifeq ($(RELEASE_IS_EMR), true)
+    ifneq (,$(RELEASE_BASE_OS_KOMODO))
+        PRODUCT_PROPERTY_OVERRIDES += \
+        ro.build.version.emergency_base_os=$(RELEASE_BASE_OS_KOMODO)
+    endif
+endif
+
 # go/lyric-soong-variables
 $(call soong_config_set,lyric,camera_hardware,komodo)
 $(call soong_config_set,lyric,tuning_product,komodo)
@@ -97,6 +122,11 @@
 
 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.ignore_hdr_camera_layers=true
 
+# Display OP HZ Config
+PRODUCT_VENDOR_PROPERTIES += \
+    vendor.primarydisplay.op.hs_hz=120 \
+    vendor.primarydisplay.op.ns_hz=120
+
 # Display fixed TE2
 PRODUCT_VENDOR_PROPERTIES += vendor.primarydisplay.fixed_te2.default_rate_hz=120
 
@@ -281,6 +311,10 @@
 PRODUCT_SOONG_NAMESPACES += \
     device/google/caimito/powerstats/komodo
 
+# UWB Overlay
+PRODUCT_PACKAGES += \
+    UwbOverlayKM4
+
 # WiFi Overlay
 PRODUCT_PACKAGES += \
     WifiOverlay2024
@@ -354,6 +388,10 @@
     persist.vendor.vibrator.hal.context.settlingtime=5000 \
     ro.vendor.vibrator.hal.pm.activetimeout=5
 
+# Override Output Distortion Gain
+PRODUCT_VENDOR_PROPERTIES += \
+    vendor.audio.hapticgenerator.distortion.output.gain=0.48
+
 # PKVM Memory Reclaim
 PRODUCT_VENDOR_PROPERTIES += \
     hypervisor.memory_reclaim.supported=1
@@ -401,7 +439,7 @@
 
 # LE Audio Unicast Allowlist
 PRODUCT_PRODUCT_PROPERTIES += \
-   persist.bluetooth.leaudio.allow_list=SM-R510
+   persist.bluetooth.leaudio.allow_list=SM-R510,WF-1000XM5
 
 # Support LE & Classic concurrent encryption (b/330704060)
 PRODUCT_PRODUCT_PROPERTIES += \
@@ -432,13 +470,30 @@
 $(call inherit-product-if-exists, device/google/common/etm/device-userdebug-modules.mk)
 endif
 
-# Connectivity Resources Overlay
+# Connectivity Resources Overlay for Thread host settings
 PRODUCT_PACKAGES += \
     ConnectivityResourcesOverlayCaimitoOverride
 
+# Thread Dispatcher enablement in Bluetooth HAL
+PRODUCT_PRODUCT_PROPERTIES += \
+    persist.bluetooth.thread_dispatcher.enabled=false
+
 #Component Override for Pixel Troubleshooting App
 PRODUCT_COPY_FILES += \
     device/google/caimito/komodo/komodo-component-overrides.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sysconfig/komodo-component-overrides.xml
 
+# Bluetooth device id
+# Komodo: 0x4111
 PRODUCT_PRODUCT_PROPERTIES += \
-    persist.bluetooth.thread_dispatcher.enabled=true
+    bluetooth.device_id.product_id=16657
+
+# Set support for LEA multicodec
+PRODUCT_PRODUCT_PROPERTIES += \
+    bluetooth.core.le_audio.codec_extension_aidl.enabled=true
+
+# LE Audio configuration scenarios
+PRODUCT_COPY_FILES += \
+    device/google/caimito/bluetooth/audio_set_scenarios.json:$(TARGET_COPY_OUT_VENDOR)/etc/aidl/le_audio/aidl_audio_set_scenarios.json
+
+PRODUCT_COPY_FILES += \
+    device/google/caimito/bluetooth/audio_set_configurations.json:$(TARGET_COPY_OUT_VENDOR)/etc/aidl/le_audio/aidl_audio_set_configurations.json
diff --git a/device-ripcurrent24.mk b/device-ripcurrent24.mk
index 062f26d..0711143 100644
--- a/device-ripcurrent24.mk
+++ b/device-ripcurrent24.mk
@@ -14,6 +14,8 @@
 # limitations under the License.
 #
 
+SHIPPING_API_LEVEL := 34
+
 ifdef RELEASE_GOOGLE_RIPCURRENT24_RADIO_DIR
 RELEASE_GOOGLE_PRODUCT_RADIO_DIR := $(RELEASE_GOOGLE_RIPCURRENT24_RADIO_DIR)
 endif
@@ -44,6 +46,7 @@
 include device/google/gs-common/bcmbt/bluetooth.mk
 include device/google/gs-common/touch/stm/stm20.mk
 include device/google/caimito/fingerprint/ultrasonic_udfps.mk
+include device/google/gs-common/gril/hidl/1.7/gril_hidl.mk
 
 # go/lyric-soong-variables
 # Set to 'ripcurrent' as ripcurrent camera service is compatible with ripcurrent24.
diff --git a/device-ripcurrentpro.mk b/device-ripcurrentpro.mk
index c02b719..29f52b6 100644
--- a/device-ripcurrentpro.mk
+++ b/device-ripcurrentpro.mk
@@ -14,6 +14,8 @@
 # limitations under the License.
 #
 
+SHIPPING_API_LEVEL := 34
+
 ifdef RELEASE_GOOGLE_RIPCURRENTPRO_RADIO_DIR
 RELEASE_GOOGLE_PRODUCT_RADIO_DIR := $(RELEASE_GOOGLE_RIPCURRENTPRO_RADIO_DIR)
 endif
@@ -47,6 +49,7 @@
 include device/google/gs-common/bcmbt/bluetooth.mk
 include device/google/gs-common/touch/stm/stm20.mk
 include device/google/caimito/fingerprint/ultrasonic_udfps.mk
+include device/google/gs-common/gril/hidl/1.7/gril_hidl.mk
 
 # go/lyric-soong-variables
 $(call soong_config_set,lyric,camera_hardware,ripcurrentpro)
@@ -243,3 +246,7 @@
 # PKVM Memory Reclaim
 PRODUCT_VENDOR_PROPERTIES += \
     hypervisor.memory_reclaim.supported=1
+
+# Thread HAL
+PRODUCT_PACKAGES += \
+   com.google.caimito.hardware.threadnetwork
diff --git a/device-tokay.mk b/device-tokay.mk
index c65bc59..5d7f4c0 100644
--- a/device-tokay.mk
+++ b/device-tokay.mk
@@ -14,6 +14,8 @@
 # limitations under the License.
 #
 
+SHIPPING_API_LEVEL := 34
+
 ifdef RELEASE_GOOGLE_TOKAY_RADIO_DIR
 RELEASE_GOOGLE_PRODUCT_RADIO_DIR ?= $(RELEASE_GOOGLE_TOKAY_RADIO_DIR)
 endif
@@ -27,6 +29,9 @@
 ifdef RELEASE_KERNEL_TOKAY_DIR
 TARGET_KERNEL_DIR ?= $(RELEASE_KERNEL_TOKAY_DIR)
 TARGET_BOARD_KERNEL_HEADERS ?= $(RELEASE_KERNEL_TOKAY_DIR)/kernel-headers
+
+include device/google/caimito/device-caimito-16k-common.mk
+
 else
 TARGET_KERNEL_DIR ?= device/google/caimito-kernels/6.1/24D1
 TARGET_BOARD_KERNEL_HEADERS ?= device/google/caimito-kernels/6.1/24D1/kernel-headers
@@ -57,6 +62,7 @@
 include device/google/caimito/fingerprint/ultrasonic_udfps.mk
 include device/google/gs-common/modem/radio_ext/radio_ext.mk
 include device/google/gs-common/pixelsupport/pixelsupport.mk
+include device/google/gs-common/gril/hidl/1.7/gril_hidl.mk
 
 # Increment the SVN for any official public releases
 ifdef RELEASE_SVN_TOKAY
@@ -69,6 +75,25 @@
 PRODUCT_VENDOR_PROPERTIES += \
     ro.vendor.build.svn=$(TARGET_SVN)
 
+# Set device family property for SMR
+PRODUCT_PROPERTY_OVERRIDES += \
+    ro.build.device_family=CM4KM4TK4TG4
+
+# Set build properties for SMR builds
+ifeq ($(RELEASE_IS_SMR), true)
+    ifneq (,$(RELEASE_BASE_OS_TOKAY))
+        PRODUCT_BASE_OS := $(RELEASE_BASE_OS_TOKAY)
+    endif
+endif
+
+# Set build properties for EMR builds
+ifeq ($(RELEASE_IS_EMR), true)
+    ifneq (,$(RELEASE_BASE_OS_TOKAY))
+        PRODUCT_PROPERTY_OVERRIDES += \
+        ro.build.version.emergency_base_os=$(RELEASE_BASE_OS_TOKAY)
+    endif
+endif
+
 # go/lyric-soong-variables
 $(call soong_config_set,lyric,camera_hardware,tokay)
 $(call soong_config_set,lyric,tuning_product,tokay)
@@ -277,8 +302,11 @@
 # For GPS property
 PRODUCT_VENDOR_PROPERTIES += ro.vendor.gps.pps.enabled=true
 
-# Display LBE
-PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.display.lbe.supported=1
+# Display function property settings
+PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
+    vendor.display.lbe.supported=1 \
+    ro.vendor.primarydisplay.google-tk4c.temperature_path=/dev/thermal/tz-by-name/disp_therm/temp \
+    ro.vendor.display.read_temp_interval=30
 
 #Thermal VT estimator
 PRODUCT_PACKAGES += \
@@ -325,6 +353,10 @@
     persist.vendor.vibrator.hal.context.settlingtime=5000 \
     ro.vendor.vibrator.hal.pm.activetimeout=5
 
+# Override Output Distortion Gain
+PRODUCT_VENDOR_PROPERTIES += \
+    vendor.audio.hapticgenerator.distortion.output.gain=0.48
+
 # PKVM Memory Reclaim
 PRODUCT_VENDOR_PROPERTIES += \
     hypervisor.memory_reclaim.supported=1
@@ -376,7 +408,7 @@
 
 # LE Audio Unicast Allowlist
 PRODUCT_PRODUCT_PROPERTIES += \
-   persist.bluetooth.leaudio.allow_list=SM-R510
+   persist.bluetooth.leaudio.allow_list=SM-R510,WF-1000XM5
 
 # Support LE & Classic concurrent encryption (b/330704060)
 PRODUCT_PRODUCT_PROPERTIES += \
@@ -403,17 +435,34 @@
 $(call inherit-product-if-exists, device/google/common/etm/device-userdebug-modules.mk)
 endif
 
-# Connectivity Resources Overlay
+# Connectivity Resources Overlay for Thread host settings
 PRODUCT_PACKAGES += \
     ConnectivityResourcesOverlayCaimitoOverride
 
+# Thread Dispatcher enablement in Bluetooth HAL
+PRODUCT_PRODUCT_PROPERTIES += \
+    persist.bluetooth.thread_dispatcher.enabled=false
+
 #Component Override for Pixel Troubleshooting App
 PRODUCT_COPY_FILES += \
     device/google/caimito/tokay/tokay-component-overrides.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sysconfig/tokay-component-overrides.xml
 
+# Bluetooth device id
+# Tokay: 0x4112
 PRODUCT_PRODUCT_PROPERTIES += \
-    persist.bluetooth.thread_dispatcher.enabled=true
+    bluetooth.device_id.product_id=16658
+
+# Set support for LEA multicodec
+PRODUCT_PRODUCT_PROPERTIES += \
+    bluetooth.core.le_audio.codec_extension_aidl.enabled=true
 
 # Reduce lmkd aggressiveness
 PRODUCT_PROPERTY_OVERRIDES += \
     ro.lmk.swap_free_low_percentage=7
+
+# LE Audio configuration scenarios
+PRODUCT_COPY_FILES += \
+    device/google/caimito/bluetooth/audio_set_scenarios.json:$(TARGET_COPY_OUT_VENDOR)/etc/aidl/le_audio/aidl_audio_set_scenarios.json
+
+PRODUCT_COPY_FILES += \
+    device/google/caimito/bluetooth/audio_set_configurations.json:$(TARGET_COPY_OUT_VENDOR)/etc/aidl/le_audio/aidl_audio_set_configurations.json
diff --git a/komodo/BoardConfig.mk b/komodo/BoardConfig.mk
index ede93d4..6b30ab1 100644
--- a/komodo/BoardConfig.mk
+++ b/komodo/BoardConfig.mk
@@ -20,10 +20,15 @@
 BOARD_USES_GENERIC_AUDIO := true
 USES_DEVICE_GOOGLE_CAIMITO := true
 
+RELEASE_GOOGLE_PRODUCT_RADIO_DIR := $(RELEASE_GOOGLE_KOMODO_RADIO_DIR)
+RELEASE_GOOGLE_PRODUCT_RADIOCFG_DIR := $(RELEASE_GOOGLE_KOMODO_RADIOCFG_DIR)
+RELEASE_GOOGLE_PRODUCT_NTNRADIO_DIR := $(RELEASE_GOOGLE_KOMODO_NTNRADIO_DIR)
+
 include device/google/caimito/device-caimito-common.mk
 
 include device/google/zumapro/BoardConfig-common.mk
 -include vendor/google_devices/zumapro/prebuilts/BoardConfigVendor.mk
+include device/google/gs-common/check_current_prebuilt/check_current_prebuilt.mk
 -include vendor/google_devices/komodo/proprietary/BoardConfigVendor.mk
 include device/google/caimito-sepolicy/komodo-sepolicy.mk
 include device/google/caimito/wifi/BoardConfig-wifi.mk
diff --git a/komodo/overlay/frameworks/base/core/res/res/values/config.xml b/komodo/overlay/frameworks/base/core/res/res/values/config.xml
index 157f42c..5910fc6 100644
--- a/komodo/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/komodo/overlay/frameworks/base/core/res/res/values/config.xml
@@ -54,6 +54,10 @@
     <!-- 140 nits: (140-2)/(1250-2)*(0.61-0.0)+0.0 = 0.067451923 -->
     <item name="config_screenBrightnessSettingDefaultFloat" format="float" type="dimen">0.067451923</item>
 
+    <!-- The maximum range of gamma adjustment possible using the screen
+         auto-brightness adjustment setting. -->
+    <fraction name="config_autoBrightnessAdjustmentMaxGamma">105%</fraction>
+
     <!-- The default refresh rate. Pixel 6 manages this using the peak refresh rate setting, so set
          this value to 0 so it has no effect. -->
     <integer name="config_defaultRefreshRate">0</integer>
@@ -173,9 +177,12 @@
     <!-- The max vibration strength allowed in audio haptic channels. -->
     <item name="config_hapticChannelMaxVibrationAmplitude" format="float" type="dimen">0.335</item>
 
-    <dimen name="status_bar_height_default">52dp</dimen>
-    <dimen name="status_bar_height_portrait">52dp</dimen>
-    <dimen name="status_bar_height_landscape">52dp</dimen>
+    <!-- Align to camera cutout's height. -->
+    <dimen name="status_bar_height_portrait">66dp</dimen>
+    <!-- Since @dimen/status_bar_height_portrait is modified in overlay, need to restore its value
+         from original folder. This should be done even looks no effect on some apps because
+         some other apps may reference to it. -->
+    <dimen name="status_bar_height_landscape">24dp</dimen>
 
     <!-- Whether the display cutout region of the main built-in display should be forced to
         black in software (to avoid aliasing or emulate a cutout that is not physically existent).
@@ -187,8 +194,10 @@
         @left
     </string>
 
+    <!-- This configuartion effects status bar's height actually. Set its height as double
+         y position of @dimen/config_mainBuiltInDisplayCutout to make cutout center vertically -->
     <string translatable="false" name="config_mainBuiltInDisplayCutoutRectApproximation">
-        m 614.53715,0 h 115 v 158.5 h -115 z
+        m 614.53715,0 h 115 v 199 h -115 z
         @left
     </string>
     <!-- A string config in svg path format for the main display shape.
diff --git a/komodo/overlay/frameworks/base/core/res/res/xml/power_profile.xml b/komodo/overlay/frameworks/base/core/res/res/xml/power_profile.xml
index dd14f6a..36a3c33 100644
--- a/komodo/overlay/frameworks/base/core/res/res/xml/power_profile.xml
+++ b/komodo/overlay/frameworks/base/core/res/res/xml/power_profile.xml
@@ -184,11 +184,11 @@
     </array>
     <item name="gps.voltage">3700</item>
     <!-- Idle Receive current for wifi radio in mA.-->
-    <item name="wifi.controller.idle">79</item>
+    <item name="wifi.controller.idle">31</item>
     <!-- Rx current for wifi radio in mA.-->
-    <item name="wifi.controller.rx">118</item>
+    <item name="wifi.controller.rx">39</item>
     <!-- Tx current for wifi radio in mA-->
-    <item name="wifi.controller.tx">331</item>
+    <item name="wifi.controller.tx">540</item>
     <!-- Operating voltage for wifi radio in mV.-->
-    <item name="wifi.controller.voltage">3700</item>
+    <item name="wifi.controller.voltage">3850</item>
 </device>
diff --git a/komodo/overlay/frameworks/base/packages/SystemUI/res/values/config.xml b/komodo/overlay/frameworks/base/packages/SystemUI/res/values/config.xml
index 7b3e4c7..c8756fa 100644
--- a/komodo/overlay/frameworks/base/packages/SystemUI/res/values/config.xml
+++ b/komodo/overlay/frameworks/base/packages/SystemUI/res/values/config.xml
@@ -40,16 +40,6 @@
     <string name="doze_brightness_sensor_type" translatable="false">com.google.sensor.binned_brightness</string>
 
     <!-- Doze: Table that translates sensor values from the doze_brightness_sensor_type sensor
-               to brightness values; -1 means keeping the current brightness. -->
-    <integer-array name="config_doze_brightness_sensor_to_brightness">
-        <item>-1</item> <!-- 0: OFF -->
-        <item>1</item> <!-- 1: NIGHT (1-1)/(255-1)*(2050-2)+2 = 2 nits -->
-        <item>2</item> <!-- 2: LOW (2-1)/(255-1)*(2050-2)+2 = 10.1 nits -->
-        <item>7</item> <!-- 3: HIGH (7-1)/(255-1)*(2050-2)+2 = 50.4 nits -->
-        <item>7</item> <!-- 4: SUN -->
-    </integer-array>
-
-    <!-- Doze: Table that translates sensor values from the doze_brightness_sensor_type sensor
                to an opacity value for a black scrim that is overlaid in AOD1.
                Valid range is from 0 (transparent) to 255 (opaque).
                -1 means keeping the current opacity. -->
diff --git a/komodo/rro_overlays/NfcOverlay/res/values/config.xml b/komodo/rro_overlays/NfcOverlay/res/values/config.xml
index 1f9d2c4..4b87d82 100644
--- a/komodo/rro_overlays/NfcOverlay/res/values/config.xml
+++ b/komodo/rro_overlays/NfcOverlay/res/values/config.xml
@@ -31,6 +31,6 @@
     <item>38</item>
   </integer-array>
   <integer-array name="antenna_y">
-    <item>112</item>
+    <item>50</item>
   </integer-array>
 </resources>
diff --git a/komodo/rro_overlays/UwbOverlay/res/values/config.xml b/komodo/rro_overlays/UwbOverlay/res/values/config.xml
index bf8d264..be74e3e 100644
--- a/komodo/rro_overlays/UwbOverlay/res/values/config.xml
+++ b/komodo/rro_overlays/UwbOverlay/res/values/config.xml
@@ -30,4 +30,12 @@
        * When previously foreground 3p apps moves to background, sessions are not terminated
     -->
     <bool name = "background_ranging_enabled">true</bool>
+
+     <!-- Whether multicast list update notification v2 is supported or not.
+     If enabled, the notification will be parsed into version 2 if uci major version is 2.0. -->
+    <bool name = "is_multicast_list_update_ntf_v2_supported">true</bool>
+
+    <!-- Whether multicast list update response v2 is supported or not.
+     If enabled, the response will be parsed into version 2 if uci major version is 2.0. -->
+    <bool name = "is_multicast_list_update_rsp_v2_supported">true</bool>
 </resources>
diff --git a/komodo/uwb/Android.bp b/komodo/uwb/Android.bp
index de2da1f..3b575b1 100644
--- a/komodo/uwb/Android.bp
+++ b/komodo/uwb/Android.bp
@@ -69,3 +69,9 @@
     defaults: ["conf_defaults"],
 }
 
+prebuilt_etc {
+    name: "capabilities.conf",
+    src: "capabilities.conf",
+    defaults: ["conf_defaults"],
+}
+
diff --git a/komodo/uwb/capabilities.conf b/komodo/uwb/capabilities.conf
new file mode 100644
index 0000000..792aff1
--- /dev/null
+++ b/komodo/uwb/capabilities.conf
@@ -0,0 +1,8 @@
+# Tag 0x13
+# Length 1
+# b0 : Azimuth AoA -90° to 90°
+# b1 : Azimuth AoA -180° to 180°
+# b2 : Elevation AoA
+# b3 : AoA FoM
+# b7-b4 : RFU
+AOA_SUPPORT=0x0B
diff --git a/komodo/uwb/uwb_calibration.mk b/komodo/uwb/uwb_calibration.mk
index 09c4f13..7dc89a9 100644
--- a/komodo/uwb/uwb_calibration.mk
+++ b/komodo/uwb/uwb_calibration.mk
@@ -21,4 +21,5 @@
     calibration-FCC.conf \
     calibration-JP.conf \
     calibration-TW.conf \
-    calibration-RESTRICTED.conf
+    calibration-RESTRICTED.conf \
+    capabilities.conf
diff --git a/location/caiman/user/gps.cfg b/location/caiman/user/gps.cfg
index 8c6515a..d329a77 100644
--- a/location/caiman/user/gps.cfg
+++ b/location/caiman/user/gps.cfg
@@ -18,6 +18,7 @@
 gnss_device_data_port_chpp_present=1
 GlueLayer_YearOfHW=2023
 scheduling_enabled=1
+ChipCfg_Timemark_Option=1
 ChipCfg_VDR_high_end_Distance = 200
 ChipCfg_VDR_low_end_Distance = 200
 ChipCfg_VDR_high_end_Time = 20
@@ -28,6 +29,7 @@
 Chip_Configuration_GNSSConstConstraintDef = 0x60FF
 LocTech_Constraints = 0x60FF
 Chip_Configuration_RfMiscCtrl = 0x80008001
+Chip_Configuration_ntn_option=2
 bdsUsedInUSPolicy=2
 sbasUsedInUSPolicy=2
 qzssUsedInUSPolicy=2
@@ -54,6 +56,12 @@
 GlueLayer_IsMemsEnable=1
 GlueLayer_MeasCorrCap=7
 Chip_Configuration_mems_data_Configuration=0x25
+AccelSamplingPeriodUs=10000
+MagnSamplingPeriodUs=10000
+GyroSamplingPeriodUs=10000
+PressSamplingPeriodUs=50000
+OrientationSamplingPeriodUs=10000
+StepCounterSamplingPeriodUs=1000000
 Chip_Configuration_FeatureCfg_ANDRD_MEAS_CORR_ENABLE=1
 CP_LocTech_PrimaryConst=0
 CP_LocTech_Constraints=1
@@ -72,6 +80,10 @@
 MultiBandNmTrkPower=28
 SingleBandUdTrkPower=14
 MultiBandUdTrkPower=18
+path_delay_glo_12fx_cm = -5076,-5076,-5064,-5022,-4982,-4916,-4879,-4800,-4704,-4647,-4628,-4573,-4522,-4493
+path_delay_gps_2fx_cm = 12371
+path_delay_bds_4fx_cm = 123
+path_delay_l5_20fx_cm = 105888
 RfPathLossDb_Ap=3210
 RfPathLossDb_Cp=3210
 RfPathLossDb_L5_Ap=4450
@@ -110,12 +122,16 @@
 ENABLE_LPP_UP=0
 ENABLE_LPPE_CP=3
 ENABLE_LPPE_UP=0
+ENABLE_NLP_ALONG_WITH_UBP=0
 ENABLE_NLP_IN_LPPE=1
 ENABLE_NLP_IN_AGNSS=0
 ENABLE_LPP_HA_GAD_SHAPE=0
 USE_EMER_PDN_FOR_EMER_SUPL=1
+CP_LOCTECH_CONSTRAINTS=1
+UP_LOCTECH_CONSTRAINTS=1
 
 GNSS_CARRIER_ID=1
+CP_LOCTECH_CONSTRAINTS=5
 
 GNSS_CARRIER_ID=2
 ENABLE_3G_CP_CAPS_MSA=0
@@ -125,7 +141,6 @@
 ENABLE_LPP_HA_GAD_SHAPE=1
 
 GNSS_CARRIER_ID=3
-ENABLE_CAPS_OTDOA=0
 ENABLE_LPP_UP=1
 ENABLE_LPPE_UP=3
 SUPL_SSL_METHOD=TLSv1_2
diff --git a/location/caiman/userdebug/gps.cfg b/location/caiman/userdebug/gps.cfg
index 9276d62..61c7f3e 100644
--- a/location/caiman/userdebug/gps.cfg
+++ b/location/caiman/userdebug/gps.cfg
@@ -53,6 +53,9 @@
 GlueLayer_YearOfHW=2023
 scheduling_enabled=1
 
+# 1pps timemark output: 0: disable 1: enable
+ChipCfg_Timemark_Option=1
+
 # VDR End condition (meter, meter, sec, sec)
 ChipCfg_VDR_high_end_Distance = 200
 ChipCfg_VDR_low_end_Distance = 200
@@ -112,6 +115,11 @@
 #Chip_Configuration_RfMiscCtrl=0x8001
 #Chip_Configuration_IspTestConfig=0x22242822
 
+#Chip_Configuration_ntn_option=0 means no NTN blackout IPC handling
+#Chip_Configuration_ntn_option=1 means L1 blanking during NTN blackout period.
+#Chip_Configuration_ntn_option=2 means turning GNSS off during NTN blackout period.
+Chip_Configuration_ntn_option=2
+
 # Disable BDS in the U.S.
 # 0-enabled (default), 1-disabled, 2-auto(disabled in US)
 #gloUsedInUSPolicy=2
@@ -189,6 +197,12 @@
 # 0x0010: CHIP_CONFIG_MEMS_ORIENTATION_AVAILABLE
 # 0x0020: CHIP_CONFIG_MEMS_STEPCOUNTER_AVAILABLE
 Chip_Configuration_mems_data_Configuration=0x25
+AccelSamplingPeriodUs=10000
+MagnSamplingPeriodUs=10000
+GyroSamplingPeriodUs=10000
+PressSamplingPeriodUs=50000
+OrientationSamplingPeriodUs=10000
+StepCounterSamplingPeriodUs=1000000
 Chip_Configuration_FeatureCfg_ANDRD_MEAS_CORR_ENABLE=1
 CP_LocTech_PrimaryConst=0
 CP_LocTech_Constraints=1
@@ -210,6 +224,11 @@
 SingleBandUdTrkPower=14
 MultiBandUdTrkPower=18
 
+path_delay_glo_12fx_cm = -5076,-5076,-5064,-5022,-4982,-4916,-4879,-4800,-4704,-4647,-4628,-4573,-4522,-4493
+path_delay_gps_2fx_cm = 12371
+path_delay_bds_4fx_cm = 123
+path_delay_l5_20fx_cm = 105888
+
 RfPathLossDb_Ap=3210
 RfPathLossDb_Cp=3210
 RfPathLossDb_L5_Ap=4450
@@ -266,12 +285,16 @@
 ENABLE_LPP_UP=0
 ENABLE_LPPE_CP=3
 ENABLE_LPPE_UP=0
+ENABLE_NLP_ALONG_WITH_UBP=0
 ENABLE_NLP_IN_LPPE=1
 ENABLE_NLP_IN_AGNSS=0
 ENABLE_LPP_HA_GAD_SHAPE=0
 USE_EMER_PDN_FOR_EMER_SUPL=1
+CP_LOCTECH_CONSTRAINTS=1
+UP_LOCTECH_CONSTRAINTS=1
 # ATT
 GNSS_CARRIER_ID=1
+CP_LOCTECH_CONSTRAINTS=5
 # TMO
 GNSS_CARRIER_ID=2
 ENABLE_3G_CP_CAPS_MSA=0
@@ -281,7 +304,6 @@
 ENABLE_LPP_HA_GAD_SHAPE=1
 # VZW
 GNSS_CARRIER_ID=3
-ENABLE_CAPS_OTDOA=0
 ENABLE_LPP_UP=1
 ENABLE_LPPE_UP=3
 SUPL_SSL_METHOD=TLSv1_2
diff --git a/location/komodo/user/gps.cfg b/location/komodo/user/gps.cfg
index fcbf35c..f9e6e7c 100644
--- a/location/komodo/user/gps.cfg
+++ b/location/komodo/user/gps.cfg
@@ -18,6 +18,7 @@
 gnss_device_data_port_chpp_present=1
 GlueLayer_YearOfHW=2023
 scheduling_enabled=1
+ChipCfg_Timemark_Option=1
 ChipCfg_VDR_high_end_Distance = 200
 ChipCfg_VDR_low_end_Distance = 200
 ChipCfg_VDR_high_end_Time = 20
@@ -28,6 +29,7 @@
 Chip_Configuration_GNSSConstConstraintDef = 0x60FF
 LocTech_Constraints = 0x60FF
 Chip_Configuration_RfMiscCtrl = 0x80008001
+Chip_Configuration_ntn_option=2
 bdsUsedInUSPolicy=2
 sbasUsedInUSPolicy=2
 qzssUsedInUSPolicy=2
@@ -54,6 +56,12 @@
 GlueLayer_IsMemsEnable=1
 GlueLayer_MeasCorrCap=7
 Chip_Configuration_mems_data_Configuration=0x25
+AccelSamplingPeriodUs=10000
+MagnSamplingPeriodUs=10000
+GyroSamplingPeriodUs=10000
+PressSamplingPeriodUs=50000
+OrientationSamplingPeriodUs=10000
+StepCounterSamplingPeriodUs=1000000
 Chip_Configuration_FeatureCfg_ANDRD_MEAS_CORR_ENABLE=1
 CP_LocTech_PrimaryConst=0
 CP_LocTech_Constraints=1
@@ -72,6 +80,10 @@
 MultiBandNmTrkPower=28
 SingleBandUdTrkPower=14
 MultiBandUdTrkPower=18
+path_delay_glo_12fx_cm = -5185,-5158,-5112,-5111,-5031,-4972,-4900,-4823,-4765,-4714,-4625,-4613,-4553,-4553
+path_delay_gps_2fx_cm = 12378
+path_delay_bds_4fx_cm = 168
+path_delay_l5_20fx_cm = 105902
 RfPathLossDb_Ap=3520
 RfPathLossDb_Cp=3520
 RfPathLossDb_L5_Ap=3700
@@ -110,12 +122,16 @@
 ENABLE_LPP_UP=0
 ENABLE_LPPE_CP=3
 ENABLE_LPPE_UP=0
+ENABLE_NLP_ALONG_WITH_UBP=0
 ENABLE_NLP_IN_LPPE=1
 ENABLE_NLP_IN_AGNSS=0
 ENABLE_LPP_HA_GAD_SHAPE=0
 USE_EMER_PDN_FOR_EMER_SUPL=1
+CP_LOCTECH_CONSTRAINTS=1
+UP_LOCTECH_CONSTRAINTS=1
 
 GNSS_CARRIER_ID=1
+CP_LOCTECH_CONSTRAINTS=5
 
 GNSS_CARRIER_ID=2
 ENABLE_3G_CP_CAPS_MSA=0
@@ -125,7 +141,6 @@
 ENABLE_LPP_HA_GAD_SHAPE=1
 
 GNSS_CARRIER_ID=3
-ENABLE_CAPS_OTDOA=0
 ENABLE_LPP_UP=1
 ENABLE_LPPE_UP=3
 SUPL_SSL_METHOD=TLSv1_2
diff --git a/location/komodo/userdebug/gps.cfg b/location/komodo/userdebug/gps.cfg
index f700583..3aae35e 100644
--- a/location/komodo/userdebug/gps.cfg
+++ b/location/komodo/userdebug/gps.cfg
@@ -53,6 +53,9 @@
 GlueLayer_YearOfHW=2023
 scheduling_enabled=1
 
+# 1pps timemark output: 0: disable 1: enable
+ChipCfg_Timemark_Option=1
+
 # VDR End condition (meter, meter, sec, sec)
 ChipCfg_VDR_high_end_Distance = 200
 ChipCfg_VDR_low_end_Distance = 200
@@ -112,6 +115,11 @@
 #Chip_Configuration_RfMiscCtrl=0x8001
 #Chip_Configuration_IspTestConfig=0x22242822
 
+#Chip_Configuration_ntn_option=0 means no NTN blackout IPC handling
+#Chip_Configuration_ntn_option=1 means L1 blanking during NTN blackout period.
+#Chip_Configuration_ntn_option=2 means turning GNSS off during NTN blackout period.
+Chip_Configuration_ntn_option=2
+
 # Disable BDS in the U.S.
 # 0-enabled (default), 1-disabled, 2-auto(disabled in US)
 #gloUsedInUSPolicy=2
@@ -189,6 +197,12 @@
 # 0x0010: CHIP_CONFIG_MEMS_ORIENTATION_AVAILABLE
 # 0x0020: CHIP_CONFIG_MEMS_STEPCOUNTER_AVAILABLE
 Chip_Configuration_mems_data_Configuration=0x25
+AccelSamplingPeriodUs=10000
+MagnSamplingPeriodUs=10000
+GyroSamplingPeriodUs=10000
+PressSamplingPeriodUs=50000
+OrientationSamplingPeriodUs=10000
+StepCounterSamplingPeriodUs=1000000
 Chip_Configuration_FeatureCfg_ANDRD_MEAS_CORR_ENABLE=1
 CP_LocTech_PrimaryConst=0
 CP_LocTech_Constraints=1
@@ -210,6 +224,11 @@
 SingleBandUdTrkPower=14
 MultiBandUdTrkPower=18
 
+path_delay_glo_12fx_cm = -5185,-5158,-5112,-5111,-5031,-4972,-4900,-4823,-4765,-4714,-4625,-4613,-4553,-4553
+path_delay_gps_2fx_cm = 12378
+path_delay_bds_4fx_cm = 168
+path_delay_l5_20fx_cm = 105902
+
 RfPathLossDb_Ap=3520
 RfPathLossDb_Cp=3520
 RfPathLossDb_L5_Ap=3700
@@ -266,12 +285,16 @@
 ENABLE_LPP_UP=0
 ENABLE_LPPE_CP=3
 ENABLE_LPPE_UP=0
+ENABLE_NLP_ALONG_WITH_UBP=0
 ENABLE_NLP_IN_LPPE=1
 ENABLE_NLP_IN_AGNSS=0
 ENABLE_LPP_HA_GAD_SHAPE=0
 USE_EMER_PDN_FOR_EMER_SUPL=1
+CP_LOCTECH_CONSTRAINTS=1
+UP_LOCTECH_CONSTRAINTS=1
 # ATT
 GNSS_CARRIER_ID=1
+CP_LOCTECH_CONSTRAINTS=5
 # TMO
 GNSS_CARRIER_ID=2
 ENABLE_3G_CP_CAPS_MSA=0
@@ -281,7 +304,6 @@
 ENABLE_LPP_HA_GAD_SHAPE=1
 # VZW
 GNSS_CARRIER_ID=3
-ENABLE_CAPS_OTDOA=0
 ENABLE_LPP_UP=1
 ENABLE_LPPE_UP=3
 SUPL_SSL_METHOD=TLSv1_2
diff --git a/location/ripcurrent24/user/gps.cfg b/location/ripcurrent24/user/gps.cfg
index 337e44b..bd26a81 100644
--- a/location/ripcurrent24/user/gps.cfg
+++ b/location/ripcurrent24/user/gps.cfg
@@ -18,6 +18,7 @@
 gnss_device_data_port_chpp_present=1
 GlueLayer_YearOfHW=2023
 scheduling_enabled=1
+ChipCfg_Timemark_Option=1
 ChipCfg_VDR_high_end_Distance = 200
 ChipCfg_VDR_low_end_Distance = 200
 ChipCfg_VDR_high_end_Time = 20
@@ -28,6 +29,7 @@
 Chip_Configuration_GNSSConstConstraintDef = 0x60FF
 LocTech_Constraints = 0x60FF
 Chip_Configuration_RfMiscCtrl = 0x80008001
+Chip_Configuration_ntn_option=2
 bdsUsedInUSPolicy=2
 sbasUsedInUSPolicy=2
 qzssUsedInUSPolicy=2
@@ -54,6 +56,12 @@
 GlueLayer_IsMemsEnable=1
 GlueLayer_MeasCorrCap=7
 Chip_Configuration_mems_data_Configuration=0x25
+AccelSamplingPeriodUs=10000
+MagnSamplingPeriodUs=10000
+GyroSamplingPeriodUs=10000
+PressSamplingPeriodUs=50000
+OrientationSamplingPeriodUs=10000
+StepCounterSamplingPeriodUs=1000000
 Chip_Configuration_FeatureCfg_ANDRD_MEAS_CORR_ENABLE=1
 CP_LocTech_PrimaryConst=0
 CP_LocTech_Constraints=1
@@ -106,12 +114,16 @@
 ENABLE_LPP_UP=0
 ENABLE_LPPE_CP=3
 ENABLE_LPPE_UP=0
+ENABLE_NLP_ALONG_WITH_UBP=0
 ENABLE_NLP_IN_LPPE=1
 ENABLE_NLP_IN_AGNSS=0
 ENABLE_LPP_HA_GAD_SHAPE=0
 USE_EMER_PDN_FOR_EMER_SUPL=1
+CP_LOCTECH_CONSTRAINTS=1
+UP_LOCTECH_CONSTRAINTS=1
 
 GNSS_CARRIER_ID=1
+CP_LOCTECH_CONSTRAINTS=5
 
 GNSS_CARRIER_ID=2
 ENABLE_3G_CP_CAPS_MSA=0
@@ -121,7 +133,6 @@
 ENABLE_LPP_HA_GAD_SHAPE=1
 
 GNSS_CARRIER_ID=3
-ENABLE_CAPS_OTDOA=0
 ENABLE_LPP_UP=1
 ENABLE_LPPE_UP=3
 SUPL_SSL_METHOD=TLSv1_2
diff --git a/location/ripcurrent24/userdebug/gps.cfg b/location/ripcurrent24/userdebug/gps.cfg
index 418045c..f6ff481 100644
--- a/location/ripcurrent24/userdebug/gps.cfg
+++ b/location/ripcurrent24/userdebug/gps.cfg
@@ -53,6 +53,9 @@
 GlueLayer_YearOfHW=2023
 scheduling_enabled=1
 
+# 1pps timemark output: 0: disable 1: enable
+ChipCfg_Timemark_Option=1
+
 # VDR End condition (meter, meter, sec, sec)
 ChipCfg_VDR_high_end_Distance = 200
 ChipCfg_VDR_low_end_Distance = 200
@@ -112,6 +115,11 @@
 #Chip_Configuration_RfMiscCtrl=0x8001
 #Chip_Configuration_IspTestConfig=0x22242822
 
+#Chip_Configuration_ntn_option=0 means no NTN blackout IPC handling
+#Chip_Configuration_ntn_option=1 means L1 blanking during NTN blackout period.
+#Chip_Configuration_ntn_option=2 means turning GNSS off during NTN blackout period.
+Chip_Configuration_ntn_option=2
+
 # Disable BDS in the U.S.
 # 0-enabled (default), 1-disabled, 2-auto(disabled in US)
 #gloUsedInUSPolicy=2
@@ -189,6 +197,12 @@
 # 0x0010: CHIP_CONFIG_MEMS_ORIENTATION_AVAILABLE
 # 0x0020: CHIP_CONFIG_MEMS_STEPCOUNTER_AVAILABLE
 Chip_Configuration_mems_data_Configuration=0x25
+AccelSamplingPeriodUs=10000
+MagnSamplingPeriodUs=10000
+GyroSamplingPeriodUs=10000
+PressSamplingPeriodUs=50000
+OrientationSamplingPeriodUs=10000
+StepCounterSamplingPeriodUs=1000000
 Chip_Configuration_FeatureCfg_ANDRD_MEAS_CORR_ENABLE=1
 CP_LocTech_PrimaryConst=0
 CP_LocTech_Constraints=1
@@ -262,12 +276,16 @@
 ENABLE_LPP_UP=0
 ENABLE_LPPE_CP=3
 ENABLE_LPPE_UP=0
+ENABLE_NLP_ALONG_WITH_UBP=0
 ENABLE_NLP_IN_LPPE=1
 ENABLE_NLP_IN_AGNSS=0
 ENABLE_LPP_HA_GAD_SHAPE=0
 USE_EMER_PDN_FOR_EMER_SUPL=1
+CP_LOCTECH_CONSTRAINTS=1
+UP_LOCTECH_CONSTRAINTS=1
 # ATT
 GNSS_CARRIER_ID=1
+CP_LOCTECH_CONSTRAINTS=5
 # TMO
 GNSS_CARRIER_ID=2
 ENABLE_3G_CP_CAPS_MSA=0
@@ -277,7 +295,6 @@
 ENABLE_LPP_HA_GAD_SHAPE=1
 # VZW
 GNSS_CARRIER_ID=3
-ENABLE_CAPS_OTDOA=0
 ENABLE_LPP_UP=1
 ENABLE_LPPE_UP=3
 SUPL_SSL_METHOD=TLSv1_2
diff --git a/location/ripcurrentpro/user/gps.cfg b/location/ripcurrentpro/user/gps.cfg
index 337e44b..bd26a81 100644
--- a/location/ripcurrentpro/user/gps.cfg
+++ b/location/ripcurrentpro/user/gps.cfg
@@ -18,6 +18,7 @@
 gnss_device_data_port_chpp_present=1
 GlueLayer_YearOfHW=2023
 scheduling_enabled=1
+ChipCfg_Timemark_Option=1
 ChipCfg_VDR_high_end_Distance = 200
 ChipCfg_VDR_low_end_Distance = 200
 ChipCfg_VDR_high_end_Time = 20
@@ -28,6 +29,7 @@
 Chip_Configuration_GNSSConstConstraintDef = 0x60FF
 LocTech_Constraints = 0x60FF
 Chip_Configuration_RfMiscCtrl = 0x80008001
+Chip_Configuration_ntn_option=2
 bdsUsedInUSPolicy=2
 sbasUsedInUSPolicy=2
 qzssUsedInUSPolicy=2
@@ -54,6 +56,12 @@
 GlueLayer_IsMemsEnable=1
 GlueLayer_MeasCorrCap=7
 Chip_Configuration_mems_data_Configuration=0x25
+AccelSamplingPeriodUs=10000
+MagnSamplingPeriodUs=10000
+GyroSamplingPeriodUs=10000
+PressSamplingPeriodUs=50000
+OrientationSamplingPeriodUs=10000
+StepCounterSamplingPeriodUs=1000000
 Chip_Configuration_FeatureCfg_ANDRD_MEAS_CORR_ENABLE=1
 CP_LocTech_PrimaryConst=0
 CP_LocTech_Constraints=1
@@ -106,12 +114,16 @@
 ENABLE_LPP_UP=0
 ENABLE_LPPE_CP=3
 ENABLE_LPPE_UP=0
+ENABLE_NLP_ALONG_WITH_UBP=0
 ENABLE_NLP_IN_LPPE=1
 ENABLE_NLP_IN_AGNSS=0
 ENABLE_LPP_HA_GAD_SHAPE=0
 USE_EMER_PDN_FOR_EMER_SUPL=1
+CP_LOCTECH_CONSTRAINTS=1
+UP_LOCTECH_CONSTRAINTS=1
 
 GNSS_CARRIER_ID=1
+CP_LOCTECH_CONSTRAINTS=5
 
 GNSS_CARRIER_ID=2
 ENABLE_3G_CP_CAPS_MSA=0
@@ -121,7 +133,6 @@
 ENABLE_LPP_HA_GAD_SHAPE=1
 
 GNSS_CARRIER_ID=3
-ENABLE_CAPS_OTDOA=0
 ENABLE_LPP_UP=1
 ENABLE_LPPE_UP=3
 SUPL_SSL_METHOD=TLSv1_2
diff --git a/location/ripcurrentpro/userdebug/gps.cfg b/location/ripcurrentpro/userdebug/gps.cfg
index 418045c..f6ff481 100644
--- a/location/ripcurrentpro/userdebug/gps.cfg
+++ b/location/ripcurrentpro/userdebug/gps.cfg
@@ -53,6 +53,9 @@
 GlueLayer_YearOfHW=2023
 scheduling_enabled=1
 
+# 1pps timemark output: 0: disable 1: enable
+ChipCfg_Timemark_Option=1
+
 # VDR End condition (meter, meter, sec, sec)
 ChipCfg_VDR_high_end_Distance = 200
 ChipCfg_VDR_low_end_Distance = 200
@@ -112,6 +115,11 @@
 #Chip_Configuration_RfMiscCtrl=0x8001
 #Chip_Configuration_IspTestConfig=0x22242822
 
+#Chip_Configuration_ntn_option=0 means no NTN blackout IPC handling
+#Chip_Configuration_ntn_option=1 means L1 blanking during NTN blackout period.
+#Chip_Configuration_ntn_option=2 means turning GNSS off during NTN blackout period.
+Chip_Configuration_ntn_option=2
+
 # Disable BDS in the U.S.
 # 0-enabled (default), 1-disabled, 2-auto(disabled in US)
 #gloUsedInUSPolicy=2
@@ -189,6 +197,12 @@
 # 0x0010: CHIP_CONFIG_MEMS_ORIENTATION_AVAILABLE
 # 0x0020: CHIP_CONFIG_MEMS_STEPCOUNTER_AVAILABLE
 Chip_Configuration_mems_data_Configuration=0x25
+AccelSamplingPeriodUs=10000
+MagnSamplingPeriodUs=10000
+GyroSamplingPeriodUs=10000
+PressSamplingPeriodUs=50000
+OrientationSamplingPeriodUs=10000
+StepCounterSamplingPeriodUs=1000000
 Chip_Configuration_FeatureCfg_ANDRD_MEAS_CORR_ENABLE=1
 CP_LocTech_PrimaryConst=0
 CP_LocTech_Constraints=1
@@ -262,12 +276,16 @@
 ENABLE_LPP_UP=0
 ENABLE_LPPE_CP=3
 ENABLE_LPPE_UP=0
+ENABLE_NLP_ALONG_WITH_UBP=0
 ENABLE_NLP_IN_LPPE=1
 ENABLE_NLP_IN_AGNSS=0
 ENABLE_LPP_HA_GAD_SHAPE=0
 USE_EMER_PDN_FOR_EMER_SUPL=1
+CP_LOCTECH_CONSTRAINTS=1
+UP_LOCTECH_CONSTRAINTS=1
 # ATT
 GNSS_CARRIER_ID=1
+CP_LOCTECH_CONSTRAINTS=5
 # TMO
 GNSS_CARRIER_ID=2
 ENABLE_3G_CP_CAPS_MSA=0
@@ -277,7 +295,6 @@
 ENABLE_LPP_HA_GAD_SHAPE=1
 # VZW
 GNSS_CARRIER_ID=3
-ENABLE_CAPS_OTDOA=0
 ENABLE_LPP_UP=1
 ENABLE_LPPE_UP=3
 SUPL_SSL_METHOD=TLSv1_2
diff --git a/location/tokay/user/gps.cfg b/location/tokay/user/gps.cfg
index 6a6f63d..cf7ed87 100644
--- a/location/tokay/user/gps.cfg
+++ b/location/tokay/user/gps.cfg
@@ -18,6 +18,7 @@
 gnss_device_data_port_chpp_present=1
 GlueLayer_YearOfHW=2023
 scheduling_enabled=1
+ChipCfg_Timemark_Option=1
 ChipCfg_VDR_high_end_Distance = 200
 ChipCfg_VDR_low_end_Distance = 200
 ChipCfg_VDR_high_end_Time = 20
@@ -28,6 +29,7 @@
 Chip_Configuration_GNSSConstConstraintDef = 0x60FF
 LocTech_Constraints = 0x60FF
 Chip_Configuration_RfMiscCtrl = 0x80008001
+Chip_Configuration_ntn_option=2
 bdsUsedInUSPolicy=2
 sbasUsedInUSPolicy=2
 qzssUsedInUSPolicy=2
@@ -54,6 +56,12 @@
 GlueLayer_IsMemsEnable=1
 GlueLayer_MeasCorrCap=7
 Chip_Configuration_mems_data_Configuration=0x25
+AccelSamplingPeriodUs=10000
+MagnSamplingPeriodUs=10000
+GyroSamplingPeriodUs=10000
+PressSamplingPeriodUs=50000
+OrientationSamplingPeriodUs=10000
+StepCounterSamplingPeriodUs=1000000
 Chip_Configuration_FeatureCfg_ANDRD_MEAS_CORR_ENABLE=1
 CP_LocTech_PrimaryConst=0
 CP_LocTech_Constraints=1
@@ -72,6 +80,10 @@
 MultiBandNmTrkPower=28
 SingleBandUdTrkPower=14
 MultiBandUdTrkPower=18
+path_delay_glo_12fx_cm = -5166,-5149,-5097,-5104,-5021,-4992,-4936,-4854,-4776,-4719,-4656,-4619,-4581,-4544
+path_delay_gps_2fx_cm = 12368
+path_delay_bds_4fx_cm = 164
+path_delay_l5_20fx_cm = 105888
 RfPathLossDb_Ap=3550
 RfPathLossDb_Cp=3550
 RfPathLossDb_L5_Ap=3870
@@ -110,12 +122,16 @@
 ENABLE_LPP_UP=0
 ENABLE_LPPE_CP=3
 ENABLE_LPPE_UP=0
+ENABLE_NLP_ALONG_WITH_UBP=0
 ENABLE_NLP_IN_LPPE=1
 ENABLE_NLP_IN_AGNSS=0
 ENABLE_LPP_HA_GAD_SHAPE=0
 USE_EMER_PDN_FOR_EMER_SUPL=1
+CP_LOCTECH_CONSTRAINTS=1
+UP_LOCTECH_CONSTRAINTS=1
 
 GNSS_CARRIER_ID=1
+CP_LOCTECH_CONSTRAINTS=5
 
 GNSS_CARRIER_ID=2
 ENABLE_3G_CP_CAPS_MSA=0
@@ -125,7 +141,6 @@
 ENABLE_LPP_HA_GAD_SHAPE=1
 
 GNSS_CARRIER_ID=3
-ENABLE_CAPS_OTDOA=0
 ENABLE_LPP_UP=1
 ENABLE_LPPE_UP=3
 SUPL_SSL_METHOD=TLSv1_2
diff --git a/location/tokay/userdebug/gps.cfg b/location/tokay/userdebug/gps.cfg
index 74f5246..1389d99 100644
--- a/location/tokay/userdebug/gps.cfg
+++ b/location/tokay/userdebug/gps.cfg
@@ -53,6 +53,9 @@
 GlueLayer_YearOfHW=2023
 scheduling_enabled=1
 
+# 1pps timemark output: 0: disable 1: enable
+ChipCfg_Timemark_Option=1
+
 # VDR End condition (meter, meter, sec, sec)
 ChipCfg_VDR_high_end_Distance = 200
 ChipCfg_VDR_low_end_Distance = 200
@@ -112,6 +115,11 @@
 #Chip_Configuration_RfMiscCtrl=0x8001
 #Chip_Configuration_IspTestConfig=0x22242822
 
+#Chip_Configuration_ntn_option=0 means no NTN blackout IPC handling
+#Chip_Configuration_ntn_option=1 means L1 blanking during NTN blackout period.
+#Chip_Configuration_ntn_option=2 means turning GNSS off during NTN blackout period.
+Chip_Configuration_ntn_option=2
+
 # Disable BDS in the U.S.
 # 0-enabled (default), 1-disabled, 2-auto(disabled in US)
 #gloUsedInUSPolicy=2
@@ -189,6 +197,12 @@
 # 0x0010: CHIP_CONFIG_MEMS_ORIENTATION_AVAILABLE
 # 0x0020: CHIP_CONFIG_MEMS_STEPCOUNTER_AVAILABLE
 Chip_Configuration_mems_data_Configuration=0x25
+AccelSamplingPeriodUs=10000
+MagnSamplingPeriodUs=10000
+GyroSamplingPeriodUs=10000
+PressSamplingPeriodUs=50000
+OrientationSamplingPeriodUs=10000
+StepCounterSamplingPeriodUs=1000000
 Chip_Configuration_FeatureCfg_ANDRD_MEAS_CORR_ENABLE=1
 CP_LocTech_PrimaryConst=0
 CP_LocTech_Constraints=1
@@ -210,6 +224,11 @@
 SingleBandUdTrkPower=14
 MultiBandUdTrkPower=18
 
+path_delay_glo_12fx_cm = -5166,-5149,-5097,-5104,-5021,-4992,-4936,-4854,-4776,-4719,-4656,-4619,-4581,-4544
+path_delay_gps_2fx_cm = 12368
+path_delay_bds_4fx_cm = 164
+path_delay_l5_20fx_cm = 105888
+
 RfPathLossDb_Ap=3550
 RfPathLossDb_Cp=3550
 RfPathLossDb_L5_Ap=3870
@@ -266,12 +285,16 @@
 ENABLE_LPP_UP=0
 ENABLE_LPPE_CP=3
 ENABLE_LPPE_UP=0
+ENABLE_NLP_ALONG_WITH_UBP=0
 ENABLE_NLP_IN_LPPE=1
 ENABLE_NLP_IN_AGNSS=0
 ENABLE_LPP_HA_GAD_SHAPE=0
 USE_EMER_PDN_FOR_EMER_SUPL=1
+CP_LOCTECH_CONSTRAINTS=1
+UP_LOCTECH_CONSTRAINTS=1
 # ATT
 GNSS_CARRIER_ID=1
+CP_LOCTECH_CONSTRAINTS=5
 # TMO
 GNSS_CARRIER_ID=2
 ENABLE_3G_CP_CAPS_MSA=0
@@ -281,7 +304,6 @@
 ENABLE_LPP_HA_GAD_SHAPE=1
 # VZW
 GNSS_CARRIER_ID=3
-ENABLE_CAPS_OTDOA=0
 ENABLE_LPP_UP=1
 ENABLE_LPPE_UP=3
 SUPL_SSL_METHOD=TLSv1_2
diff --git a/manifest.xml b/manifest.xml
index e01d156..18109c6 100644
--- a/manifest.xml
+++ b/manifest.xml
@@ -49,15 +49,6 @@
         </interface>
     </hal>
     <hal format="hidl">
-        <name>android.hardware.graphics.mapper</name>
-        <transport arch="32+64">passthrough</transport>
-        <version>4.0</version>
-        <interface>
-            <name>IMapper</name>
-            <instance>default</instance>
-        </interface>
-    </hal>
-    <hal format="hidl">
         <name>android.hardware.graphics.composer</name>
         <transport>hwbinder</transport>
         <version>2.4</version>
diff --git a/perf/powerhint-caiman.json b/perf/powerhint-caiman.json
index 8b42d97..ebe5dfd 100644
--- a/perf/powerhint-caiman.json
+++ b/perf/powerhint-caiman.json
@@ -46,7 +46,7 @@
         "9999999",
         "1425000",
         "1197000",
-        "0"
+        "820000"
       ],
       "ResetOnInit": true
     },
@@ -56,6 +56,7 @@
       "Values": [
         "5000",
         "2000",
+        "1000",
         "500"
       ],
       "DefaultIndex": 0,
@@ -94,6 +95,7 @@
       "Path": "/sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/down_rate_limit_us",
       "Values": [
         "20000",
+        "5000",
         "3000",
         "2000",
         "500"
@@ -168,7 +170,6 @@
         "0",
         "1"
       ],
-      "DefaultIndex": 0,
       "ResetOnInit": true
     },
     {
@@ -295,7 +296,6 @@
         "0x0",
         "0x80"
       ],
-      "DefaultIndex": 0,
       "ResetOnInit": true
     },
     {
@@ -339,6 +339,42 @@
       "ResetOnInit": true
     },
     {
+      "Name": "TAUclampMinOnNiceEnable",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_enable",
+      "Values": [
+        "1",
+        "0"
+      ],
+      "ResetOnInit": true
+    },
+    {
+      "Name": "TAUclampMinOnNiceMidValue",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_value",
+      "Values": [
+        "600",
+        "0"
+      ],
+      "ResetOnInit": true
+    },
+    {
+      "Name": "TAUclampMinOnNiceHighPrio",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_prio",
+      "Values": [
+        "119",
+        "120"
+      ],
+      "ResetOnInit": true
+    },
+    {
+      "Name": "TAUclampMinOnNiceMidPrio",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_prio",
+      "Values": [
+        "128",
+        "130"
+      ],
+      "ResetOnInit": true
+    },
+    {
       "Name": "FGUClampBoost",
       "Path": "/proc/vendor_sched/groups/fg/uclamp_min",
       "Values": [
@@ -446,7 +482,6 @@
         "1",
         "0"
       ],
-      "DefaultIndex": 0,
       "ResetOnInit": true
     },
     {
@@ -454,6 +489,7 @@
       "Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_high",
       "Values": [
         "0xff",
+        "0xf0",
         "0x7f"
       ],
       "ResetOnInit": true
@@ -463,6 +499,7 @@
       "Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_mid",
       "Values": [
         "0xff",
+        "0xf0",
         "0x7f"
       ],
       "ResetOnInit": true
@@ -472,6 +509,7 @@
       "Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_low",
       "Values": [
         "0xff",
+        "0xf0",
         "0x7f"
       ],
       "ResetOnInit": true
@@ -483,7 +521,6 @@
         "1",
         "0"
       ],
-      "DefaultIndex": 0,
       "ResetOnInit": true
     },
     {
@@ -893,6 +930,34 @@
         "67000"
       ],
       "ResetOnInit": true
+    },
+    {
+      "Name": "PA_KILL",
+      "Path": "/sys/kernel/vendor_mm/pa_kill/reclaim_kb",
+      "Values": [
+        "102400",
+        "0"
+      ],
+      "ResetOnInit": false
+    },
+    {
+      "Name": "KswapdUclaimMin",
+      "Path": "/sys/kernel/vendor_mm/kswapd_uclamp_min",
+      "Values": [
+        "0",
+        "200"
+      ],
+      "ResetOnInit": true
+    },
+    {
+      "Name": "MaxLoadBalanceInterval",
+      "Path": "/proc/vendor_sched/max_load_balance_interval",
+      "Values": [
+        "1",
+        "4"
+      ],
+      "DefaultIndex": 0,
+      "ResetOnInit": true
     }
   ],
   "Actions": [
@@ -1355,17 +1420,23 @@
     },
     {
       "PowerHint": "DISPLAY_INACTIVE",
-      "Node": "SysGroupCfsSkipMask",
-      "Duration": 0,
-      "Value": "0x80"
-    },
-    {
-      "PowerHint": "DISPLAY_INACTIVE",
       "Node": "PerTaskMaxIowaitBoost",
       "Duration": 0,
       "Value": "0"
     },
     {
+      "PowerHint": "DISPLAY_INACTIVE",
+      "Node": "KswapdUclaimMin",
+      "Duration": 0,
+      "Value": "0"
+    },
+    {
+      "PowerHint": "CAMERA_PA_KILL_BOOST",
+      "Node": "PA_KILL",
+      "Duration": 0,
+      "Value": "102400"
+    },
+    {
       "PowerHint": "CAMERA_LAUNCH",
       "Node": "CPUSkipMask",
       "Duration": 1000,
@@ -1553,9 +1624,57 @@
     },
     {
       "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
-      "Node": "TAUClampBoost",
+      "Node": "ReducePreferIdle",
       "Duration": 3000,
-      "Value": "600"
+      "Value": "0"
+    },
+    {
+      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+      "Node": "TAPreferredIdleMaskHigh",
+      "Duration": 3000,
+      "Value": "0xf0"
+    },
+    {
+      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+      "Node": "TAPreferredIdleMaskMid",
+      "Duration": 3000,
+      "Value": "0xf0"
+    },
+    {
+      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+      "Node": "TAPreferredIdleMaskLow",
+      "Duration": 3000,
+      "Value": "0xf0"
+    },
+    {
+      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+      "Node": "TAUclampMinOnNiceEnable",
+      "Duration": 3000,
+      "Value": "1"
+    },
+    {
+      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+      "Node": "TAUclampMinOnNiceMidValue",
+       "Duration": 3000,
+       "Value": "600"
+    },
+    {
+      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+      "Node": "TAUclampMinOnNiceHighPrio",
+      "Duration": 3000,
+      "Value": "119"
+    },
+    {
+      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+      "Node": "TAUclampMinOnNiceMidPrio",
+      "Duration": 3000,
+      "Value": "128"
+    },
+    {
+      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+      "Node": "TAPreferIdle",
+      "Duration": 3000,
+      "Value": "1"
     },
     {
       "PowerHint": "CAMERA_THERMAL_SEVERE_BOOST",
@@ -1909,13 +2028,13 @@
       "PowerHint": "CAMERA_STREAMING_EXTREME",
       "Node": "CPULittleClusterDownRateLimitUs",
       "Duration": 0,
-      "Value": "5000"
+      "Value": "1000"
     },
     {
       "PowerHint": "CAMERA_STREAMING_EXTREME",
       "Node": "CPUMidClusterDownRateLimitUs",
       "Duration": 0,
-      "Value": "20000"
+      "Value": "5000"
     },
     {
       "PowerHint": "CAMERA_STREAMING_EXTREME",
@@ -2002,6 +2121,12 @@
       "Value": "0x0"
     },
     {
+      "PowerHint": "CAMERA_STREAMING_EXTREME",
+      "Node": "MaxLoadBalanceInterval",
+      "Duration": 0,
+      "Value": "4"
+    },
+    {
       "PowerHint": "CAMERA_STREAMING_HIGH",
       "Node": "PowerHALCameraRunning",
       "Duration": 0,
@@ -2083,13 +2208,13 @@
       "PowerHint": "CAMERA_STREAMING_HIGH",
       "Node": "CPULittleClusterDownRateLimitUs",
       "Duration": 0,
-      "Value": "5000"
+      "Value": "1000"
     },
     {
       "PowerHint": "CAMERA_STREAMING_HIGH",
       "Node": "CPUMidClusterDownRateLimitUs",
       "Duration": 0,
-      "Value": "20000"
+      "Value": "5000"
     },
     {
       "PowerHint": "CAMERA_STREAMING_HIGH",
@@ -2194,6 +2319,12 @@
       "Value": "0x80"
     },
     {
+      "PowerHint": "CAMERA_STREAMING_HIGH",
+      "Node": "MaxLoadBalanceInterval",
+      "Duration": 0,
+      "Value": "4"
+    },
+    {
       "PowerHint": "CAMERA_STREAMING_STANDARD",
       "Node": "AutoPreferIdle",
       "Duration": 0,
@@ -2281,13 +2412,13 @@
       "PowerHint": "CAMERA_STREAMING_STANDARD",
       "Node": "CPULittleClusterDownRateLimitUs",
       "Duration": 0,
-      "Value": "5000"
+      "Value": "1000"
     },
     {
       "PowerHint": "CAMERA_STREAMING_STANDARD",
       "Node": "CPUMidClusterDownRateLimitUs",
       "Duration": 0,
-      "Value": "20000"
+      "Value": "5000"
     },
     {
       "PowerHint": "CAMERA_STREAMING_STANDARD",
@@ -2368,6 +2499,12 @@
       "Value": "0x80"
     },
     {
+      "PowerHint": "CAMERA_STREAMING_STANDARD",
+      "Node": "MaxLoadBalanceInterval",
+      "Duration": 0,
+      "Value": "4"
+    },
+    {
       "PowerHint": "CAMERA_STREAMING_LOW",
       "Node": "AutoPreferIdle",
       "Duration": 0,
@@ -2951,18 +3088,6 @@
       "Value": "1"
     },
     {
-      "PowerHint": "THERMAL_FLASH_LED_REDUCE_CRITICAL",
-      "Node": "LimitFlashCurrent",
-      "Duration": 0,
-      "Value": "100"
-    },
-    {
-      "PowerHint": "THERMAL_FLASH_LED_REDUCE_NONE",
-      "Node": "LimitFlashCurrent",
-      "Duration": 0,
-      "Value": "1500"
-    },
-    {
       "PowerHint": "EXPENSIVE_RENDERING",
       "Node": "PowerHALRenderingState",
       "Duration": 0,
@@ -3140,7 +3265,7 @@
       "PowerHint": "GAME",
       "Node": "AutoPreferIdle",
       "Duration": 0,
-      "Value": "0"
+      "Value": "1"
     },
     {
       "PowerHint": "GAME",
@@ -3471,11 +3596,12 @@
       "TargetTimeFactor": 1.0,
       "StaleTimeFactor": 15.0,
       "HeuristicBoost_On": true,
-      "HBoostOnMissedCycles": 8,
-      "HBoostOffMaxAvgRatio": 4.0,
-      "HBoostOffMissedCycles": 5,
-      "HBoostPidPuFactor": 0.5,
-      "HBoostUclampMin": 722,
+      "HBoostModerateJankThreshold": 2,
+      "HBoostOffMaxAvgDurRatio": 4.0,
+      "HBoostSevereJankPidPu": 0.3,
+      "HBoostSevereJankThreshold": 8,
+      "HBoostUclampMinCeilingRange": [480, 722],
+      "HBoostUclampMinFloorRange": [230, 410],
       "JankCheckTimeFactor": 1.2,
       "LowFrameRateThreshold": 25,
       "MaxRecordsNum": 300,
@@ -3508,11 +3634,12 @@
       "TargetTimeFactor": 1.0,
       "StaleTimeFactor": 15.0,
       "HeuristicBoost_On": true,
-      "HBoostOnMissedCycles": 8,
-      "HBoostOffMaxAvgRatio": 4.0,
-      "HBoostOffMissedCycles": 5,
-      "HBoostPidPuFactor": 0.5,
-      "HBoostUclampMin": 722,
+      "HBoostModerateJankThreshold": 2,
+      "HBoostOffMaxAvgDurRatio": 4.0,
+      "HBoostSevereJankPidPu": 0.35,
+      "HBoostSevereJankThreshold": 8,
+      "HBoostUclampMinCeilingRange": [480, 722],
+      "HBoostUclampMinFloorRange": [230, 410],
       "JankCheckTimeFactor": 1.2,
       "LowFrameRateThreshold": 25,
       "MaxRecordsNum": 300,
@@ -3545,11 +3672,12 @@
       "TargetTimeFactor": 1.0,
       "StaleTimeFactor": 15.0,
       "HeuristicBoost_On": true,
-      "HBoostOnMissedCycles": 8,
-      "HBoostOffMaxAvgRatio": 4.0,
-      "HBoostOffMissedCycles": 5,
-      "HBoostPidPuFactor": 0.5,
-      "HBoostUclampMin": 722,
+      "HBoostModerateJankThreshold": 2,
+      "HBoostOffMaxAvgDurRatio": 4.0,
+      "HBoostSevereJankPidPu": 0.25,
+      "HBoostSevereJankThreshold": 8,
+      "HBoostUclampMinCeilingRange": [480, 722],
+      "HBoostUclampMinFloorRange": [230, 410],
       "JankCheckTimeFactor": 1.2,
       "LowFrameRateThreshold": 25,
       "MaxRecordsNum": 300,
diff --git a/perf/powerhint-komodo.json b/perf/powerhint-komodo.json
index 644f2b2..19f55f0 100644
--- a/perf/powerhint-komodo.json
+++ b/perf/powerhint-komodo.json
@@ -46,7 +46,7 @@
         "9999999",
         "1425000",
         "1197000",
-        "0"
+        "820000"
       ],
       "ResetOnInit": true
     },
@@ -56,6 +56,7 @@
       "Values": [
         "5000",
         "2000",
+        "1000",
         "500"
       ],
       "DefaultIndex": 0,
@@ -94,6 +95,7 @@
       "Path": "/sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/down_rate_limit_us",
       "Values": [
         "20000",
+        "5000",
         "3000",
         "2000",
         "500"
@@ -168,7 +170,6 @@
         "0",
         "1"
       ],
-      "DefaultIndex": 0,
       "ResetOnInit": true
     },
     {
@@ -295,7 +296,6 @@
         "0x0",
         "0x80"
       ],
-      "DefaultIndex": 0,
       "ResetOnInit": true
     },
     {
@@ -339,6 +339,42 @@
       "ResetOnInit": true
     },
     {
+      "Name": "TAUclampMinOnNiceEnable",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_enable",
+      "Values": [
+        "1",
+        "0"
+      ],
+      "ResetOnInit": true
+    },
+    {
+      "Name": "TAUclampMinOnNiceMidValue",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_value",
+      "Values": [
+        "600",
+        "0"
+      ],
+      "ResetOnInit": true
+    },
+    {
+      "Name": "TAUclampMinOnNiceHighPrio",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_prio",
+      "Values": [
+        "119",
+        "120"
+      ],
+      "ResetOnInit": true
+    },
+    {
+      "Name": "TAUclampMinOnNiceMidPrio",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_prio",
+      "Values": [
+        "128",
+        "130"
+      ],
+      "ResetOnInit": true
+    },
+    {
       "Name": "FGUClampBoost",
       "Path": "/proc/vendor_sched/groups/fg/uclamp_min",
       "Values": [
@@ -446,7 +482,6 @@
         "1",
         "0"
       ],
-      "DefaultIndex": 0,
       "ResetOnInit": true
     },
     {
@@ -454,6 +489,7 @@
       "Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_high",
       "Values": [
         "0xff",
+        "0xf0",
         "0x7f"
       ],
       "ResetOnInit": true
@@ -463,6 +499,7 @@
       "Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_mid",
       "Values": [
         "0xff",
+        "0xf0",
         "0x7f"
       ],
       "ResetOnInit": true
@@ -472,6 +509,7 @@
       "Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_low",
       "Values": [
         "0xff",
+        "0xf0",
         "0x7f"
       ],
       "ResetOnInit": true
@@ -483,7 +521,6 @@
         "1",
         "0"
       ],
-      "DefaultIndex": 0,
       "ResetOnInit": true
     },
     {
@@ -893,6 +930,34 @@
         "67000"
       ],
       "ResetOnInit": true
+    },
+    {
+      "Name": "PA_KILL",
+      "Path": "/sys/kernel/vendor_mm/pa_kill/reclaim_kb",
+      "Values": [
+        "102400",
+        "0"
+      ],
+      "ResetOnInit": false
+    },
+    {
+      "Name": "KswapdUclaimMin",
+      "Path": "/sys/kernel/vendor_mm/kswapd_uclamp_min",
+      "Values": [
+        "0",
+        "200"
+      ],
+      "ResetOnInit": true
+    },
+    {
+      "Name": "MaxLoadBalanceInterval",
+      "Path": "/proc/vendor_sched/max_load_balance_interval",
+      "Values": [
+        "1",
+        "4"
+      ],
+      "DefaultIndex": 0,
+      "ResetOnInit": true
     }
   ],
   "Actions": [
@@ -1355,17 +1420,23 @@
     },
     {
       "PowerHint": "DISPLAY_INACTIVE",
-      "Node": "SysGroupCfsSkipMask",
-      "Duration": 0,
-      "Value": "0x80"
-    },
-    {
-      "PowerHint": "DISPLAY_INACTIVE",
       "Node": "PerTaskMaxIowaitBoost",
       "Duration": 0,
       "Value": "0"
     },
     {
+      "PowerHint": "DISPLAY_INACTIVE",
+      "Node": "KswapdUclaimMin",
+      "Duration": 0,
+      "Value": "0"
+    },
+    {
+      "PowerHint": "CAMERA_PA_KILL_BOOST",
+      "Node": "PA_KILL",
+      "Duration": 0,
+      "Value": "102400"
+    },
+    {
       "PowerHint": "CAMERA_LAUNCH",
       "Node": "CPUSkipMask",
       "Duration": 1000,
@@ -1552,12 +1623,60 @@
       "Value": "0"
     },
     {
+       "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+       "Node": "ReducePreferIdle",
+       "Duration": 3000,
+       "Value": "0"
+    },
+    {
       "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
-      "Node": "TAUClampBoost",
+      "Node": "TAPreferredIdleMaskHigh",
+      "Duration": 3000,
+      "Value": "0xf0"
+    },
+    {
+      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+      "Node": "TAPreferredIdleMaskMid",
+      "Duration": 3000,
+      "Value": "0xf0"
+    },
+    {
+      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+      "Node": "TAPreferredIdleMaskLow",
+      "Duration": 3000,
+      "Value": "0xf0"
+    },
+    {
+      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+      "Node": "TAUclampMinOnNiceEnable",
+      "Duration": 3000,
+      "Value": "1"
+    },
+    {
+      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+      "Node": "TAUclampMinOnNiceMidValue",
       "Duration": 3000,
       "Value": "600"
     },
     {
+      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+      "Node": "TAUclampMinOnNiceHighPrio",
+      "Duration": 3000,
+      "Value": "119"
+    },
+    {
+      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+      "Node": "TAUclampMinOnNiceMidPrio",
+      "Duration": 3000,
+      "Value": "128"
+    },
+    {
+      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+      "Node": "TAPreferIdle",
+      "Duration": 3000,
+      "Value": "1"
+    },
+    {
       "PowerHint": "CAMERA_THERMAL_SEVERE_BOOST",
       "Node": "CDPreferHighCap",
       "Duration": 0,
@@ -1909,13 +2028,13 @@
       "PowerHint": "CAMERA_STREAMING_EXTREME",
       "Node": "CPULittleClusterDownRateLimitUs",
       "Duration": 0,
-      "Value": "5000"
+      "Value": "1000"
     },
     {
       "PowerHint": "CAMERA_STREAMING_EXTREME",
       "Node": "CPUMidClusterDownRateLimitUs",
       "Duration": 0,
-      "Value": "20000"
+      "Value": "5000"
     },
     {
       "PowerHint": "CAMERA_STREAMING_EXTREME",
@@ -2002,6 +2121,12 @@
       "Value": "0x0"
     },
     {
+      "PowerHint": "CAMERA_STREAMING_EXTREME",
+      "Node": "MaxLoadBalanceInterval",
+      "Duration": 0,
+      "Value": "4"
+    },
+    {
       "PowerHint": "CAMERA_STREAMING_HIGH",
       "Node": "PowerHALCameraRunning",
       "Duration": 0,
@@ -2083,13 +2208,13 @@
       "PowerHint": "CAMERA_STREAMING_HIGH",
       "Node": "CPULittleClusterDownRateLimitUs",
       "Duration": 0,
-      "Value": "5000"
+      "Value": "1000"
     },
     {
       "PowerHint": "CAMERA_STREAMING_HIGH",
       "Node": "CPUMidClusterDownRateLimitUs",
       "Duration": 0,
-      "Value": "20000"
+      "Value": "5000"
     },
     {
       "PowerHint": "CAMERA_STREAMING_HIGH",
@@ -2194,6 +2319,12 @@
       "Value": "0x80"
     },
     {
+      "PowerHint": "CAMERA_STREAMING_HIGH",
+      "Node": "MaxLoadBalanceInterval",
+      "Duration": 0,
+      "Value": "4"
+    },
+    {
       "PowerHint": "CAMERA_STREAMING_STANDARD",
       "Node": "AutoPreferIdle",
       "Duration": 0,
@@ -2281,13 +2412,13 @@
       "PowerHint": "CAMERA_STREAMING_STANDARD",
       "Node": "CPULittleClusterDownRateLimitUs",
       "Duration": 0,
-      "Value": "5000"
+      "Value": "1000"
     },
     {
       "PowerHint": "CAMERA_STREAMING_STANDARD",
       "Node": "CPUMidClusterDownRateLimitUs",
       "Duration": 0,
-      "Value": "20000"
+      "Value": "5000"
     },
     {
       "PowerHint": "CAMERA_STREAMING_STANDARD",
@@ -2368,6 +2499,12 @@
       "Value": "0x80"
     },
     {
+      "PowerHint": "CAMERA_STREAMING_STANDARD",
+      "Node": "MaxLoadBalanceInterval",
+      "Duration": 0,
+      "Value": "4"
+    },
+    {
       "PowerHint": "CAMERA_STREAMING_LOW",
       "Node": "AutoPreferIdle",
       "Duration": 0,
@@ -2951,18 +3088,6 @@
       "Value": "1"
     },
     {
-      "PowerHint": "THERMAL_FLASH_LED_REDUCE_CRITICAL",
-      "Node": "LimitFlashCurrent",
-      "Duration": 0,
-      "Value": "100"
-    },
-    {
-      "PowerHint": "THERMAL_FLASH_LED_REDUCE_NONE",
-      "Node": "LimitFlashCurrent",
-      "Duration": 0,
-      "Value": "1500"
-    },
-    {
       "PowerHint": "EXPENSIVE_RENDERING",
       "Node": "PowerHALRenderingState",
       "Duration": 0,
@@ -3140,7 +3265,7 @@
       "PowerHint": "GAME",
       "Node": "AutoPreferIdle",
       "Duration": 0,
-      "Value": "0"
+      "Value": "1"
     },
     {
       "PowerHint": "GAME",
@@ -3471,11 +3596,12 @@
       "TargetTimeFactor": 1.0,
       "StaleTimeFactor": 15.0,
       "HeuristicBoost_On": true,
-      "HBoostOnMissedCycles": 8,
-      "HBoostOffMaxAvgRatio": 4.0,
-      "HBoostOffMissedCycles": 5,
-      "HBoostPidPuFactor": 0.5,
-      "HBoostUclampMin": 722,
+      "HBoostModerateJankThreshold": 2,
+      "HBoostOffMaxAvgDurRatio": 4.0,
+      "HBoostSevereJankPidPu": 0.3,
+      "HBoostSevereJankThreshold": 8,
+      "HBoostUclampMinCeilingRange": [480, 722],
+      "HBoostUclampMinFloorRange": [230, 410],
       "JankCheckTimeFactor": 1.2,
       "LowFrameRateThreshold": 25,
       "MaxRecordsNum": 300,
@@ -3508,11 +3634,12 @@
       "TargetTimeFactor": 1.0,
       "StaleTimeFactor": 15.0,
       "HeuristicBoost_On": true,
-      "HBoostOnMissedCycles": 8,
-      "HBoostOffMaxAvgRatio": 4.0,
-      "HBoostOffMissedCycles": 5,
-      "HBoostPidPuFactor": 0.5,
-      "HBoostUclampMin": 722,
+      "HBoostModerateJankThreshold": 2,
+      "HBoostOffMaxAvgDurRatio": 4.0,
+      "HBoostSevereJankPidPu": 0.35,
+      "HBoostSevereJankThreshold": 8,
+      "HBoostUclampMinCeilingRange": [480, 722],
+      "HBoostUclampMinFloorRange": [230, 410],
       "JankCheckTimeFactor": 1.2,
       "LowFrameRateThreshold": 25,
       "MaxRecordsNum": 300,
@@ -3545,11 +3672,12 @@
       "TargetTimeFactor": 1.0,
       "StaleTimeFactor": 15.0,
       "HeuristicBoost_On": true,
-      "HBoostOnMissedCycles": 8,
-      "HBoostOffMaxAvgRatio": 4.0,
-      "HBoostOffMissedCycles": 5,
-      "HBoostPidPuFactor": 0.5,
-      "HBoostUclampMin": 722,
+      "HBoostModerateJankThreshold": 2,
+      "HBoostOffMaxAvgDurRatio": 4.0,
+      "HBoostSevereJankPidPu": 0.25,
+      "HBoostSevereJankThreshold": 8,
+      "HBoostUclampMinCeilingRange": [480, 722],
+      "HBoostUclampMinFloorRange": [230, 410],
       "JankCheckTimeFactor": 1.2,
       "LowFrameRateThreshold": 25,
       "MaxRecordsNum": 300,
diff --git a/perf/powerhint-ripcurrent24.json b/perf/powerhint-ripcurrent24.json
index 8d96044..ccab4c1 100644
--- a/perf/powerhint-ripcurrent24.json
+++ b/perf/powerhint-ripcurrent24.json
@@ -338,6 +338,16 @@
       "ResetOnInit": true
     },
     {
+      "Name": "PowerHALLaunch",
+      "Path": "vendor.powerhal.is_launch",
+      "Values": [
+        "1",
+        "0"
+      ],
+      "Type": "Property",
+      "ResetOnInit": true
+    },
+    {
       "Name": "INTCAMFreq",
       "Path": "/sys/devices/platform/17000030.devfreq_intcam/devfreq/17000030.devfreq_intcam/min_freq",
       "Values": [
@@ -594,6 +604,15 @@
         "0,1,2,3,4,5,6,7,8"
       ],
       "Type": "Property"
+    },
+    {
+      "Name": "PA_KILL",
+      "Path": "/sys/kernel/vendor_mm/pa_kill/reclaim_kb",
+      "Values": [
+        "102400",
+        "0"
+      ],
+      "ResetOnInit": false
     }
   ],
   "Actions": [
@@ -705,6 +724,12 @@
       "Value": "CDMIDHIGHCPUSETCPUS_RESTRICTED"
     },
     {
+      "PowerHint": "LAUNCH",
+      "Node": "PowerHALLaunch",
+      "Duration": 5000,
+      "Value": "1"
+    },
+    {
       "PowerHint": "LAUNCH_PMU",
       "Node": "PMU_POLL",
       "Duration": 3000,
@@ -724,6 +749,13 @@
     },
     {
       "PowerHint": "CAMERA_LAUNCH",
+      "Node": "PA_KILL",
+      "EnableProperty": "vendor.powerhal.is_launch",
+      "Duration": 0,
+      "Value": "102400"
+    },
+    {
+      "PowerHint": "CAMERA_LAUNCH",
       "Node": "MemFreq",
       "Duration": 1000,
       "Value": "3744000"
@@ -1606,18 +1638,6 @@
       "Value": "1"
     },
     {
-      "PowerHint": "THERMAL_FLASH_LED_REDUCE_CRITICAL",
-      "Node": "LimitFlashCurrent",
-      "Duration": 0,
-      "Value": "100"
-    },
-    {
-      "PowerHint": "THERMAL_FLASH_LED_REDUCE_NONE",
-      "Node": "LimitFlashCurrent",
-      "Duration": 0,
-      "Value": "1500"
-    },
-    {
       "PowerHint": "EXPENSIVE_RENDERING",
       "Node": "PowerHALRenderingState",
       "Duration": 0,
diff --git a/perf/powerhint-ripcurrentpro.json b/perf/powerhint-ripcurrentpro.json
index 3912d9b..b74fd19 100644
--- a/perf/powerhint-ripcurrentpro.json
+++ b/perf/powerhint-ripcurrentpro.json
@@ -100,7 +100,7 @@
         "9999999",
         "1425000",
         "1197000",
-        "0"
+        "820000"
       ],
       "ResetOnInit": true
     },
@@ -222,7 +222,6 @@
         "0",
         "1"
       ],
-      "DefaultIndex": 0,
       "ResetOnInit": true
     },
     {
@@ -285,7 +284,6 @@
         "0x0",
         "0x80"
       ],
-      "DefaultIndex": 0,
       "ResetOnInit": true
     },
     {
@@ -329,6 +327,42 @@
       "ResetOnInit": true
     },
     {
+      "Name": "TAUclampMinOnNiceEnable",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_enable",
+      "Values": [
+        "1",
+        "0"
+      ],
+      "ResetOnInit": true
+    },
+    {
+      "Name": "TAUclampMinOnNiceMidValue",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_value",
+      "Values": [
+        "600",
+        "0"
+      ],
+      "ResetOnInit": true
+    },
+    {
+      "Name": "TAUclampMinOnNiceHighPrio",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_prio",
+      "Values": [
+        "119",
+        "120"
+      ],
+      "ResetOnInit": true
+    },
+    {
+      "Name": "TAUclampMinOnNiceMidPrio",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_prio",
+      "Values": [
+        "128",
+        "130"
+      ],
+      "ResetOnInit": true
+    },
+    {
       "Name": "FGUClampBoost",
       "Path": "/proc/vendor_sched/groups/fg/uclamp_min",
       "Values": [
@@ -436,7 +470,6 @@
         "1",
         "0"
       ],
-      "DefaultIndex": 0,
       "ResetOnInit": true
     },
     {
@@ -444,6 +477,7 @@
       "Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_high",
       "Values": [
         "0xff",
+        "0xf0",
         "0x7f"
       ],
       "ResetOnInit": true
@@ -453,6 +487,7 @@
       "Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_mid",
       "Values": [
         "0xff",
+        "0xf0",
         "0x7f"
       ],
       "ResetOnInit": true
@@ -462,6 +497,7 @@
       "Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_low",
       "Values": [
         "0xff",
+        "0xf0",
         "0x7f"
       ],
       "ResetOnInit": true
@@ -473,7 +509,6 @@
         "1",
         "0"
       ],
-      "DefaultIndex": 0,
       "ResetOnInit": true
     },
     {
@@ -819,6 +854,34 @@
         "20 40"
       ],
       "ResetOnInit": true
+    },
+    {
+      "Name": "PA_KILL",
+      "Path": "/sys/kernel/vendor_mm/pa_kill/reclaim_kb",
+      "Values": [
+        "102400",
+        "0"
+      ],
+      "ResetOnInit": false
+    },
+    {
+      "Name": "KswapdUclaimMin",
+      "Path": "/sys/kernel/vendor_mm/kswapd_uclamp_min",
+      "Values": [
+        "0",
+        "200"
+      ],
+      "ResetOnInit": true
+    },
+    {
+      "Name": "MaxLoadBalanceInterval",
+      "Path": "/proc/vendor_sched/max_load_balance_interval",
+      "Values": [
+        "1",
+        "4"
+      ],
+      "DefaultIndex": 0,
+      "ResetOnInit": true
     }
   ],
   "Actions": [
@@ -1281,9 +1344,15 @@
     },
     {
       "PowerHint": "DISPLAY_INACTIVE",
-      "Node": "SysGroupCfsSkipMask",
+      "Node": "KswapdUclaimMin",
       "Duration": 0,
-      "Value": "0x80"
+      "Value": "0"
+    },
+    {
+      "PowerHint": "CAMERA_PA_KILL_BOOST",
+      "Node": "PA_KILL",
+      "Duration": 0,
+      "Value": "102400"
     },
     {
       "PowerHint": "CAMERA_LAUNCH",
@@ -1473,9 +1542,57 @@
     },
     {
       "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
-      "Node": "TAUClampBoost",
+      "Node": "ReducePreferIdle",
       "Duration": 3000,
-      "Value": "600"
+      "Value": "0"
+    },
+    {
+      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+      "Node": "TAPreferredIdleMaskHigh",
+      "Duration": 3000,
+      "Value": "0xf0"
+    },
+    {
+      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+      "Node": "TAPreferredIdleMaskMid",
+      "Duration": 3000,
+      "Value": "0xf0"
+    },
+    {
+      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+      "Node": "TAPreferredIdleMaskLow",
+      "Duration": 3000,
+      "Value": "0xf0"
+    },
+    {
+      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+      "Node": "TAUclampMinOnNiceEnable",
+      "Duration": 3000,
+      "Value": "1"
+    },
+    {
+      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+      "Node": "TAUclampMinOnNiceMidValue",
+       "Duration": 3000,
+       "Value": "600"
+    },
+    {
+      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+      "Node": "TAUclampMinOnNiceHighPrio",
+      "Duration": 3000,
+      "Value": "119"
+    },
+    {
+      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+      "Node": "TAUclampMinOnNiceMidPrio",
+      "Duration": 3000,
+      "Value": "128"
+    },
+    {
+      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+      "Node": "TAPreferIdle",
+      "Duration": 3000,
+      "Value": "1"
     },
     {
       "PowerHint": "CAMERA_THERMAL_SEVERE_BOOST",
@@ -1886,6 +2003,12 @@
       "Value": "0x0"
     },
     {
+      "PowerHint": "CAMERA_STREAMING_EXTREME",
+      "Node": "MaxLoadBalanceInterval",
+      "Duration": 0,
+      "Value": "4"
+    },
+    {
       "PowerHint": "CAMERA_STREAMING_HIGH",
       "Node": "PowerHALCameraRunning",
       "Duration": 0,
@@ -2042,6 +2165,12 @@
       "Value": "0x80"
     },
     {
+      "PowerHint": "CAMERA_STREAMING_HIGH",
+      "Node": "MaxLoadBalanceInterval",
+      "Duration": 0,
+      "Value": "4"
+    },
+    {
       "PowerHint": "CAMERA_STREAMING_STANDARD",
       "Node": "AutoPreferIdle",
       "Duration": 0,
@@ -2180,6 +2309,12 @@
       "Value": "0x80"
     },
     {
+      "PowerHint": "CAMERA_STREAMING_STANDARD",
+      "Node": "MaxLoadBalanceInterval",
+      "Duration": 0,
+      "Value": "4"
+    },
+    {
       "PowerHint": "CAMERA_STREAMING_LOW",
       "Node": "AutoPreferIdle",
       "Duration": 0,
@@ -2697,18 +2832,6 @@
       "Value": "1"
     },
     {
-      "PowerHint": "THERMAL_FLASH_LED_REDUCE_CRITICAL",
-      "Node": "LimitFlashCurrent",
-      "Duration": 0,
-      "Value": "100"
-    },
-    {
-      "PowerHint": "THERMAL_FLASH_LED_REDUCE_NONE",
-      "Node": "LimitFlashCurrent",
-      "Duration": 0,
-      "Value": "1500"
-    },
-    {
       "PowerHint": "EXPENSIVE_RENDERING",
       "Node": "PowerHALRenderingState",
       "Duration": 0,
@@ -2994,7 +3117,7 @@
       "PowerHint": "CAMERA_PROJECT11",
       "Node": "PMU_BIG_SPC_THRESHOLD",
       "Duration": 0,
-      "Value": "50"
+      "Value": "20"
     },
     {
       "PowerHint": "CAMERA_PROJECT11",
diff --git a/perf/powerhint-tokay.json b/perf/powerhint-tokay.json
index 8b42d97..ebe5dfd 100644
--- a/perf/powerhint-tokay.json
+++ b/perf/powerhint-tokay.json
@@ -46,7 +46,7 @@
         "9999999",
         "1425000",
         "1197000",
-        "0"
+        "820000"
       ],
       "ResetOnInit": true
     },
@@ -56,6 +56,7 @@
       "Values": [
         "5000",
         "2000",
+        "1000",
         "500"
       ],
       "DefaultIndex": 0,
@@ -94,6 +95,7 @@
       "Path": "/sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/down_rate_limit_us",
       "Values": [
         "20000",
+        "5000",
         "3000",
         "2000",
         "500"
@@ -168,7 +170,6 @@
         "0",
         "1"
       ],
-      "DefaultIndex": 0,
       "ResetOnInit": true
     },
     {
@@ -295,7 +296,6 @@
         "0x0",
         "0x80"
       ],
-      "DefaultIndex": 0,
       "ResetOnInit": true
     },
     {
@@ -339,6 +339,42 @@
       "ResetOnInit": true
     },
     {
+      "Name": "TAUclampMinOnNiceEnable",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_enable",
+      "Values": [
+        "1",
+        "0"
+      ],
+      "ResetOnInit": true
+    },
+    {
+      "Name": "TAUclampMinOnNiceMidValue",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_value",
+      "Values": [
+        "600",
+        "0"
+      ],
+      "ResetOnInit": true
+    },
+    {
+      "Name": "TAUclampMinOnNiceHighPrio",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_prio",
+      "Values": [
+        "119",
+        "120"
+      ],
+      "ResetOnInit": true
+    },
+    {
+      "Name": "TAUclampMinOnNiceMidPrio",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_prio",
+      "Values": [
+        "128",
+        "130"
+      ],
+      "ResetOnInit": true
+    },
+    {
       "Name": "FGUClampBoost",
       "Path": "/proc/vendor_sched/groups/fg/uclamp_min",
       "Values": [
@@ -446,7 +482,6 @@
         "1",
         "0"
       ],
-      "DefaultIndex": 0,
       "ResetOnInit": true
     },
     {
@@ -454,6 +489,7 @@
       "Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_high",
       "Values": [
         "0xff",
+        "0xf0",
         "0x7f"
       ],
       "ResetOnInit": true
@@ -463,6 +499,7 @@
       "Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_mid",
       "Values": [
         "0xff",
+        "0xf0",
         "0x7f"
       ],
       "ResetOnInit": true
@@ -472,6 +509,7 @@
       "Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_low",
       "Values": [
         "0xff",
+        "0xf0",
         "0x7f"
       ],
       "ResetOnInit": true
@@ -483,7 +521,6 @@
         "1",
         "0"
       ],
-      "DefaultIndex": 0,
       "ResetOnInit": true
     },
     {
@@ -893,6 +930,34 @@
         "67000"
       ],
       "ResetOnInit": true
+    },
+    {
+      "Name": "PA_KILL",
+      "Path": "/sys/kernel/vendor_mm/pa_kill/reclaim_kb",
+      "Values": [
+        "102400",
+        "0"
+      ],
+      "ResetOnInit": false
+    },
+    {
+      "Name": "KswapdUclaimMin",
+      "Path": "/sys/kernel/vendor_mm/kswapd_uclamp_min",
+      "Values": [
+        "0",
+        "200"
+      ],
+      "ResetOnInit": true
+    },
+    {
+      "Name": "MaxLoadBalanceInterval",
+      "Path": "/proc/vendor_sched/max_load_balance_interval",
+      "Values": [
+        "1",
+        "4"
+      ],
+      "DefaultIndex": 0,
+      "ResetOnInit": true
     }
   ],
   "Actions": [
@@ -1355,17 +1420,23 @@
     },
     {
       "PowerHint": "DISPLAY_INACTIVE",
-      "Node": "SysGroupCfsSkipMask",
-      "Duration": 0,
-      "Value": "0x80"
-    },
-    {
-      "PowerHint": "DISPLAY_INACTIVE",
       "Node": "PerTaskMaxIowaitBoost",
       "Duration": 0,
       "Value": "0"
     },
     {
+      "PowerHint": "DISPLAY_INACTIVE",
+      "Node": "KswapdUclaimMin",
+      "Duration": 0,
+      "Value": "0"
+    },
+    {
+      "PowerHint": "CAMERA_PA_KILL_BOOST",
+      "Node": "PA_KILL",
+      "Duration": 0,
+      "Value": "102400"
+    },
+    {
       "PowerHint": "CAMERA_LAUNCH",
       "Node": "CPUSkipMask",
       "Duration": 1000,
@@ -1553,9 +1624,57 @@
     },
     {
       "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
-      "Node": "TAUClampBoost",
+      "Node": "ReducePreferIdle",
       "Duration": 3000,
-      "Value": "600"
+      "Value": "0"
+    },
+    {
+      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+      "Node": "TAPreferredIdleMaskHigh",
+      "Duration": 3000,
+      "Value": "0xf0"
+    },
+    {
+      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+      "Node": "TAPreferredIdleMaskMid",
+      "Duration": 3000,
+      "Value": "0xf0"
+    },
+    {
+      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+      "Node": "TAPreferredIdleMaskLow",
+      "Duration": 3000,
+      "Value": "0xf0"
+    },
+    {
+      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+      "Node": "TAUclampMinOnNiceEnable",
+      "Duration": 3000,
+      "Value": "1"
+    },
+    {
+      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+      "Node": "TAUclampMinOnNiceMidValue",
+       "Duration": 3000,
+       "Value": "600"
+    },
+    {
+      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+      "Node": "TAUclampMinOnNiceHighPrio",
+      "Duration": 3000,
+      "Value": "119"
+    },
+    {
+      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+      "Node": "TAUclampMinOnNiceMidPrio",
+      "Duration": 3000,
+      "Value": "128"
+    },
+    {
+      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+      "Node": "TAPreferIdle",
+      "Duration": 3000,
+      "Value": "1"
     },
     {
       "PowerHint": "CAMERA_THERMAL_SEVERE_BOOST",
@@ -1909,13 +2028,13 @@
       "PowerHint": "CAMERA_STREAMING_EXTREME",
       "Node": "CPULittleClusterDownRateLimitUs",
       "Duration": 0,
-      "Value": "5000"
+      "Value": "1000"
     },
     {
       "PowerHint": "CAMERA_STREAMING_EXTREME",
       "Node": "CPUMidClusterDownRateLimitUs",
       "Duration": 0,
-      "Value": "20000"
+      "Value": "5000"
     },
     {
       "PowerHint": "CAMERA_STREAMING_EXTREME",
@@ -2002,6 +2121,12 @@
       "Value": "0x0"
     },
     {
+      "PowerHint": "CAMERA_STREAMING_EXTREME",
+      "Node": "MaxLoadBalanceInterval",
+      "Duration": 0,
+      "Value": "4"
+    },
+    {
       "PowerHint": "CAMERA_STREAMING_HIGH",
       "Node": "PowerHALCameraRunning",
       "Duration": 0,
@@ -2083,13 +2208,13 @@
       "PowerHint": "CAMERA_STREAMING_HIGH",
       "Node": "CPULittleClusterDownRateLimitUs",
       "Duration": 0,
-      "Value": "5000"
+      "Value": "1000"
     },
     {
       "PowerHint": "CAMERA_STREAMING_HIGH",
       "Node": "CPUMidClusterDownRateLimitUs",
       "Duration": 0,
-      "Value": "20000"
+      "Value": "5000"
     },
     {
       "PowerHint": "CAMERA_STREAMING_HIGH",
@@ -2194,6 +2319,12 @@
       "Value": "0x80"
     },
     {
+      "PowerHint": "CAMERA_STREAMING_HIGH",
+      "Node": "MaxLoadBalanceInterval",
+      "Duration": 0,
+      "Value": "4"
+    },
+    {
       "PowerHint": "CAMERA_STREAMING_STANDARD",
       "Node": "AutoPreferIdle",
       "Duration": 0,
@@ -2281,13 +2412,13 @@
       "PowerHint": "CAMERA_STREAMING_STANDARD",
       "Node": "CPULittleClusterDownRateLimitUs",
       "Duration": 0,
-      "Value": "5000"
+      "Value": "1000"
     },
     {
       "PowerHint": "CAMERA_STREAMING_STANDARD",
       "Node": "CPUMidClusterDownRateLimitUs",
       "Duration": 0,
-      "Value": "20000"
+      "Value": "5000"
     },
     {
       "PowerHint": "CAMERA_STREAMING_STANDARD",
@@ -2368,6 +2499,12 @@
       "Value": "0x80"
     },
     {
+      "PowerHint": "CAMERA_STREAMING_STANDARD",
+      "Node": "MaxLoadBalanceInterval",
+      "Duration": 0,
+      "Value": "4"
+    },
+    {
       "PowerHint": "CAMERA_STREAMING_LOW",
       "Node": "AutoPreferIdle",
       "Duration": 0,
@@ -2951,18 +3088,6 @@
       "Value": "1"
     },
     {
-      "PowerHint": "THERMAL_FLASH_LED_REDUCE_CRITICAL",
-      "Node": "LimitFlashCurrent",
-      "Duration": 0,
-      "Value": "100"
-    },
-    {
-      "PowerHint": "THERMAL_FLASH_LED_REDUCE_NONE",
-      "Node": "LimitFlashCurrent",
-      "Duration": 0,
-      "Value": "1500"
-    },
-    {
       "PowerHint": "EXPENSIVE_RENDERING",
       "Node": "PowerHALRenderingState",
       "Duration": 0,
@@ -3140,7 +3265,7 @@
       "PowerHint": "GAME",
       "Node": "AutoPreferIdle",
       "Duration": 0,
-      "Value": "0"
+      "Value": "1"
     },
     {
       "PowerHint": "GAME",
@@ -3471,11 +3596,12 @@
       "TargetTimeFactor": 1.0,
       "StaleTimeFactor": 15.0,
       "HeuristicBoost_On": true,
-      "HBoostOnMissedCycles": 8,
-      "HBoostOffMaxAvgRatio": 4.0,
-      "HBoostOffMissedCycles": 5,
-      "HBoostPidPuFactor": 0.5,
-      "HBoostUclampMin": 722,
+      "HBoostModerateJankThreshold": 2,
+      "HBoostOffMaxAvgDurRatio": 4.0,
+      "HBoostSevereJankPidPu": 0.3,
+      "HBoostSevereJankThreshold": 8,
+      "HBoostUclampMinCeilingRange": [480, 722],
+      "HBoostUclampMinFloorRange": [230, 410],
       "JankCheckTimeFactor": 1.2,
       "LowFrameRateThreshold": 25,
       "MaxRecordsNum": 300,
@@ -3508,11 +3634,12 @@
       "TargetTimeFactor": 1.0,
       "StaleTimeFactor": 15.0,
       "HeuristicBoost_On": true,
-      "HBoostOnMissedCycles": 8,
-      "HBoostOffMaxAvgRatio": 4.0,
-      "HBoostOffMissedCycles": 5,
-      "HBoostPidPuFactor": 0.5,
-      "HBoostUclampMin": 722,
+      "HBoostModerateJankThreshold": 2,
+      "HBoostOffMaxAvgDurRatio": 4.0,
+      "HBoostSevereJankPidPu": 0.35,
+      "HBoostSevereJankThreshold": 8,
+      "HBoostUclampMinCeilingRange": [480, 722],
+      "HBoostUclampMinFloorRange": [230, 410],
       "JankCheckTimeFactor": 1.2,
       "LowFrameRateThreshold": 25,
       "MaxRecordsNum": 300,
@@ -3545,11 +3672,12 @@
       "TargetTimeFactor": 1.0,
       "StaleTimeFactor": 15.0,
       "HeuristicBoost_On": true,
-      "HBoostOnMissedCycles": 8,
-      "HBoostOffMaxAvgRatio": 4.0,
-      "HBoostOffMissedCycles": 5,
-      "HBoostPidPuFactor": 0.5,
-      "HBoostUclampMin": 722,
+      "HBoostModerateJankThreshold": 2,
+      "HBoostOffMaxAvgDurRatio": 4.0,
+      "HBoostSevereJankPidPu": 0.25,
+      "HBoostSevereJankThreshold": 8,
+      "HBoostUclampMinCeilingRange": [480, 722],
+      "HBoostUclampMinFloorRange": [230, 410],
       "JankCheckTimeFactor": 1.2,
       "LowFrameRateThreshold": 25,
       "MaxRecordsNum": 300,
diff --git a/perf/powerhint-zuma.json b/perf/powerhint-zuma.json
index 84f89f2..996ecf9 100644
--- a/perf/powerhint-zuma.json
+++ b/perf/powerhint-zuma.json
@@ -486,6 +486,16 @@
       "ResetOnInit": true
     },
     {
+      "Name": "PowerHALLaunch",
+      "Path": "vendor.powerhal.is_launch",
+      "Values": [
+        "1",
+        "0"
+      ],
+      "Type": "Property",
+      "ResetOnInit": true
+    },
+    {
       "Name": "INTCAMFreq",
       "Path": "/sys/devices/platform/17000030.devfreq_intcam/devfreq/17000030.devfreq_intcam/min_freq",
       "Values": [
@@ -778,6 +788,15 @@
         "20 40"
       ],
       "ResetOnInit": true
+    },
+    {
+      "Name": "PA_KILL",
+      "Path": "/sys/kernel/vendor_mm/pa_kill/reclaim_kb",
+      "Values": [
+        "102400",
+        "0"
+      ],
+      "ResetOnInit": false
     }
   ],
   "Actions": [
@@ -935,6 +954,12 @@
       "Value": "1"
     },
     {
+      "PowerHint": "LAUNCH",
+      "Node": "PowerHALLaunch",
+      "Duration": 5000,
+      "Value": "1"
+    },
+    {
       "PowerHint": "LAUNCH_EXTEND",
       "Node": "CPUBigClusterMaxFreq",
       "Duration": 2000,
@@ -1079,6 +1104,13 @@
     },
     {
       "PowerHint": "CAMERA_LAUNCH",
+      "Node": "PA_KILL",
+      "EnableProperty": "vendor.powerhal.is_launch",
+      "Duration": 0,
+      "Value": "102400"
+    },
+    {
+      "PowerHint": "CAMERA_LAUNCH",
       "Node": "CPU_BIG_TSKIN_BYPASS",
       "Duration": 1000,
       "Value": "1"
@@ -2381,18 +2413,6 @@
       "Value": "1"
     },
     {
-      "PowerHint": "THERMAL_FLASH_LED_REDUCE_CRITICAL",
-      "Node": "LimitFlashCurrent",
-      "Duration": 0,
-      "Value": "100"
-    },
-    {
-      "PowerHint": "THERMAL_FLASH_LED_REDUCE_NONE",
-      "Node": "LimitFlashCurrent",
-      "Duration": 0,
-      "Value": "1500"
-    },
-    {
       "PowerHint": "EXPENSIVE_RENDERING",
       "Node": "PowerHALRenderingState",
       "Duration": 0,
diff --git a/ripcurrent24/BoardConfig.mk b/ripcurrent24/BoardConfig.mk
index 58b90fe..e9121e9 100644
--- a/ripcurrent24/BoardConfig.mk
+++ b/ripcurrent24/BoardConfig.mk
@@ -24,5 +24,6 @@
 
 include device/google/zumapro/BoardConfig-common.mk
 -include vendor/google_devices/zumapro/prebuilts/BoardConfigVendor.mk
+include device/google/gs-common/check_current_prebuilt/check_current_prebuilt.mk
 include device/google/caimito-sepolicy/ripcurrent24-sepolicy.mk
 include device/google/caimito/wifi/BoardConfig-wifi.mk
diff --git a/ripcurrentpro/BoardConfig.mk b/ripcurrentpro/BoardConfig.mk
index ca496d0..bc66ab0 100644
--- a/ripcurrentpro/BoardConfig.mk
+++ b/ripcurrentpro/BoardConfig.mk
@@ -24,5 +24,6 @@
 
 include device/google/zumapro/BoardConfig-common.mk
 -include vendor/google_devices/zumapro/prebuilts/BoardConfigVendor.mk
+include device/google/gs-common/check_current_prebuilt/check_current_prebuilt.mk
 include device/google/caimito-sepolicy/ripcurrentpro-sepolicy.mk
 include device/google/caimito/wifi/BoardConfig-wifi.mk
diff --git a/thermal/thermal_info_config_caiman.json b/thermal/thermal_info_config_caiman.json
index 03f0f21..7eaed01 100644
--- a/thermal/thermal_info_config_caiman.json
+++ b/thermal/thermal_info_config_caiman.json
@@ -78,30 +78,6 @@
             "PassiveDelay":7000
         },
         {
-            "Name":"battery_cycle",
-            "Type":"BCL_VOLTAGE"
-        },
-        {
-            "Name":"soc",
-            "Type":"BCL_PERCENTAGE",
-            "HotThreshold":["NAN", "NAN", 80, "NAN", "NAN", "NAN", "NAN"],
-            "Multiplier":1
-        },
-        {
-            "Name":"BCL_AUDIO_BAACL",
-            "Type":"BCL_VOLTAGE",
-            "VirtualSensor":true,
-            "Formula":"COUNT_THRESHOLD",
-            "TriggerSensor": "soc",
-            "Combination":["battery", "soc"],
-            "Coefficient":[-25000, 80],
-            "HotThreshold":["NAN", "NAN",  "NAN", "NAN", 2.0, "NAN", "NAN"],
-            "PollingDelay":0,
-            "PassiveDelay":1000,
-            "Multiplier":1,
-            "SendCallback":true
-        },
-        {
             "Name":"VIRTUAL-BTS-WINDOW-PARTIAL",
             "Type":"UNKNOWN",
             "VirtualSensor":true,
diff --git a/thermal/thermal_info_config_komodo.json b/thermal/thermal_info_config_komodo.json
index 22db445..c329b20 100644
--- a/thermal/thermal_info_config_komodo.json
+++ b/thermal/thermal_info_config_komodo.json
@@ -78,30 +78,6 @@
             "PassiveDelay":7000
         },
         {
-            "Name":"battery_cycle",
-            "Type":"BCL_VOLTAGE"
-        },
-        {
-            "Name":"soc",
-            "Type":"BCL_PERCENTAGE",
-            "HotThreshold":["NAN", "NAN", 80, "NAN", "NAN", "NAN", "NAN"],
-            "Multiplier":1
-        },
-        {
-            "Name":"BCL_AUDIO_BAACL",
-            "Type":"BCL_VOLTAGE",
-            "VirtualSensor":true,
-            "Formula":"COUNT_THRESHOLD",
-            "TriggerSensor": "soc",
-            "Combination":["battery", "soc"],
-            "Coefficient":[-25000, 80],
-            "HotThreshold":["NAN", "NAN",  "NAN", "NAN", 2.0, "NAN", "NAN"],
-            "PollingDelay":0,
-            "PassiveDelay":1000,
-            "Multiplier":1,
-            "SendCallback":true
-        },
-        {
             "Name":"VIRTUAL-BTS-WINDOW-PARTIAL",
             "Type":"UNKNOWN",
             "VirtualSensor":true,
diff --git a/thermal/thermal_info_config_ripcurrent24.json b/thermal/thermal_info_config_ripcurrent24.json
index e8ba936..f081771 100644
--- a/thermal/thermal_info_config_ripcurrent24.json
+++ b/thermal/thermal_info_config_ripcurrent24.json
@@ -508,20 +508,17 @@
         {
             "Name":"thermal-cpufreq-0",
             "Type":"CPU",
-            "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote",
-            "State2Power":["1100", "1050", "1000", "950", "900", "850", "800", "750", "700", "650", "600"]
+            "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote"
         },
         {
             "Name":"thermal-cpufreq-1",
             "Type":"CPU",
-            "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote",
-            "State2Power":["1400", "1350", "1300", "1250", "1200", "1150", "1100", "1050", "1000", "950", "900", "850", "800", "750"]
+            "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote"
         },
         {
             "Name":"thermal-cpufreq-2",
             "Type":"CPU",
-            "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote",
-            "State2Power":["1450", "1400", "1350", "1300", "1250", "1200", "1150", "1100", "1050", "1000", "950", "900", "850", "800", "750"]
+            "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote"
         },
         {
             "Name":"thermal-gpufreq-0",
diff --git a/thermal/thermal_info_config_ripcurrentpro.json b/thermal/thermal_info_config_ripcurrentpro.json
index a40bd59..6d05ad7 100644
--- a/thermal/thermal_info_config_ripcurrentpro.json
+++ b/thermal/thermal_info_config_ripcurrentpro.json
@@ -80,20 +80,17 @@
         {
             "Name":"thermal-cpufreq-0",
             "Type":"CPU",
-            "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote",
-            "State2Power":["1100", "1050", "1000", "950", "900", "850", "800", "750", "700", "650", "600"]
+            "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote"
         },
         {
             "Name":"thermal-cpufreq-1",
             "Type":"CPU",
-            "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote",
-            "State2Power":["1400", "1350", "1300", "1250", "1200", "1150", "1100", "1050", "1000", "950", "900", "850", "800", "750"]
+            "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote"
         },
         {
             "Name":"thermal-cpufreq-2",
             "Type":"CPU",
-            "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote",
-            "State2Power":["1450", "1400", "1350", "1300", "1250", "1200", "1150", "1100", "1050", "1000", "950", "900", "850", "800", "750"]
+            "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote"
         },
         {
             "Name":"thermal-gpufreq-0",
diff --git a/thermal/thermal_info_config_tokay.json b/thermal/thermal_info_config_tokay.json
index e2c7165..25aa5e7 100644
--- a/thermal/thermal_info_config_tokay.json
+++ b/thermal/thermal_info_config_tokay.json
@@ -78,30 +78,6 @@
             "PassiveDelay":7000
         },
         {
-            "Name":"battery_cycle",
-            "Type":"BCL_VOLTAGE"
-        },
-        {
-            "Name":"soc",
-            "Type":"BCL_PERCENTAGE",
-            "HotThreshold":["NAN", "NAN", 80, "NAN", "NAN", "NAN", "NAN"],
-            "Multiplier":1
-        },
-        {
-            "Name":"BCL_AUDIO_BAACL",
-            "Type":"BCL_VOLTAGE",
-            "VirtualSensor":true,
-            "Formula":"COUNT_THRESHOLD",
-            "TriggerSensor": "soc",
-            "Combination":["battery", "soc"],
-            "Coefficient":[-25000, 80],
-            "HotThreshold":["NAN", "NAN",  "NAN", "NAN", 2.0, "NAN", "NAN"],
-            "PollingDelay":0,
-            "PassiveDelay":1000,
-            "Multiplier":1,
-            "SendCallback":true
-        },
-        {
             "Name": "VIRTUAL-SKIN-SUB-0",
             "Type": "UNKNOWN",
             "Hidden": true,
diff --git a/tokay/BoardConfig.mk b/tokay/BoardConfig.mk
index 7cf14bc..608b533 100644
--- a/tokay/BoardConfig.mk
+++ b/tokay/BoardConfig.mk
@@ -20,10 +20,15 @@
 BOARD_USES_GENERIC_AUDIO := true
 USES_DEVICE_GOOGLE_CAIMITO := true
 
+RELEASE_GOOGLE_PRODUCT_RADIO_DIR := $(RELEASE_GOOGLE_TOKAY_RADIO_DIR)
+RELEASE_GOOGLE_PRODUCT_RADIOCFG_DIR := $(RELEASE_GOOGLE_TOKAY_RADIOCFG_DIR)
+RELEASE_GOOGLE_PRODUCT_NTNRADIO_DIR := $(RELEASE_GOOGLE_TOKAY_NTNRADIO_DIR)
+
 include device/google/caimito/device-caimito-common.mk
 
 include device/google/zumapro/BoardConfig-common.mk
 -include vendor/google_devices/zumapro/prebuilts/BoardConfigVendor.mk
+include device/google/gs-common/check_current_prebuilt/check_current_prebuilt.mk
 -include vendor/google_devices/tokay/proprietary/BoardConfigVendor.mk
 include device/google/caimito-sepolicy/tokay-sepolicy.mk
 include device/google/caimito/wifi/BoardConfig-wifi.mk
diff --git a/tokay/overlay/frameworks/base/core/res/res/values/config.xml b/tokay/overlay/frameworks/base/core/res/res/values/config.xml
index c5dafeb..0018e7c 100644
--- a/tokay/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/tokay/overlay/frameworks/base/core/res/res/values/config.xml
@@ -54,6 +54,10 @@
      <!-- 140 nits: (140-2)/(1200-2)*(0.67-0.0)+0.0 = 0.077178631 -->
      <item name="config_screenBrightnessSettingDefaultFloat" format="float" type="dimen">0.077178631</item>
 
+    <!-- The maximum range of gamma adjustment possible using the screen
+         auto-brightness adjustment setting. -->
+    <fraction name="config_autoBrightnessAdjustmentMaxGamma">105%</fraction>
+
      <!-- The default refresh rate. Pixel 6 manages this using the peak refresh rate setting, so set
           this value to 0 so it has no effect. -->
      <integer name="config_defaultRefreshRate">0</integer>
@@ -173,9 +177,12 @@
     <!-- The max vibration strength allowed in audio haptic channels. -->
     <item name="config_hapticChannelMaxVibrationAmplitude" format="float" type="dimen">0.335</item>
 
-    <dimen name="status_bar_height_default">52dp</dimen>
-    <dimen name="status_bar_height_portrait">52dp</dimen>
-    <dimen name="status_bar_height_landscape">52dp</dimen>
+    <!-- Align to camera cutout's height. -->
+    <dimen name="status_bar_height_portrait">66dp</dimen>
+    <!-- Since @dimen/status_bar_height_portrait is modified in overlay, need to restore its value
+         from original folder. This should be done even looks no effect on some apps because
+         some other apps may reference to it. -->
+    <dimen name="status_bar_height_landscape">24dp</dimen>
 
     <!-- Whether the display cutout region of the main built-in display should be forced to
         black in software (to avoid aliasing or emulate a cutout that is not physically existent).
@@ -187,8 +194,10 @@
         @left
     </string>
 
+    <!-- This configuartion effects status bar's height actually. Set its height as double
+         y position of @dimen/config_mainBuiltInDisplayCutout to make cutout center vertically -->
     <string translatable="false" name="config_mainBuiltInDisplayCutoutRectApproximation">
-        m 484.5,0 h 110 v 141.5 h -110 z
+        m 484.5,0 h 110 v 173 h -110 z
         @left
     </string>
     <!-- A string config in svg path format for the main display shape.
diff --git a/tokay/overlay/frameworks/base/core/res/res/xml/power_profile.xml b/tokay/overlay/frameworks/base/core/res/res/xml/power_profile.xml
index dd14f6a..36a3c33 100644
--- a/tokay/overlay/frameworks/base/core/res/res/xml/power_profile.xml
+++ b/tokay/overlay/frameworks/base/core/res/res/xml/power_profile.xml
@@ -184,11 +184,11 @@
     </array>
     <item name="gps.voltage">3700</item>
     <!-- Idle Receive current for wifi radio in mA.-->
-    <item name="wifi.controller.idle">79</item>
+    <item name="wifi.controller.idle">31</item>
     <!-- Rx current for wifi radio in mA.-->
-    <item name="wifi.controller.rx">118</item>
+    <item name="wifi.controller.rx">39</item>
     <!-- Tx current for wifi radio in mA-->
-    <item name="wifi.controller.tx">331</item>
+    <item name="wifi.controller.tx">540</item>
     <!-- Operating voltage for wifi radio in mV.-->
-    <item name="wifi.controller.voltage">3700</item>
+    <item name="wifi.controller.voltage">3850</item>
 </device>
diff --git a/tokay/overlay/frameworks/base/packages/SystemUI/res/values/config.xml b/tokay/overlay/frameworks/base/packages/SystemUI/res/values/config.xml
index 6564d57..27be1cd 100644
--- a/tokay/overlay/frameworks/base/packages/SystemUI/res/values/config.xml
+++ b/tokay/overlay/frameworks/base/packages/SystemUI/res/values/config.xml
@@ -26,16 +26,6 @@
     <string name="doze_brightness_sensor_type" translatable="false">com.google.sensor.binned_brightness</string>
 
     <!-- Doze: Table that translates sensor values from the doze_brightness_sensor_type sensor
-               to brightness values; -1 means keeping the current brightness. -->
-    <integer-array name="config_doze_brightness_sensor_to_brightness">
-        <item>-1</item> <!-- 0: OFF -->
-        <item>1</item> <!-- 1: NIGHT (1-1)/(255-1)*(1800-2)+2 = 2 nits -->
-        <item>2</item> <!-- 2: LOW (2-1)/(255-1)*(1800-2)+2 = 9.08 nits -->
-        <item>8</item> <!-- 3: HIGH (8-1)/(255-1)*(1800-2)+2 = 51.55 nits -->
-        <item>8</item> <!-- 4: SUN -->
-    </integer-array>
-
-    <!-- Doze: Table that translates sensor values from the doze_brightness_sensor_type sensor
                to an opacity value for a black scrim that is overlaid in AOD1.
                Valid range is from 0 (transparent) to 255 (opaque).
                -1 means keeping the current opacity. -->
diff --git a/tokay/rro_overlays/NfcOverlay/res/values/config.xml b/tokay/rro_overlays/NfcOverlay/res/values/config.xml
index 15af9e0..f00a894 100644
--- a/tokay/rro_overlays/NfcOverlay/res/values/config.xml
+++ b/tokay/rro_overlays/NfcOverlay/res/values/config.xml
@@ -31,6 +31,6 @@
     <item>31</item>
   </integer-array>
   <integer-array name="antenna_y">
-    <item>111</item>
+    <item>41</item>
   </integer-array>
 </resources>