FILESYSTEM_TYPE_system=ext4 \
POSTINSTALL_OPTIONAL_system=true
+
+# Audio
+PRODUCT_COPY_FILES += \
+ frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \
+ $(COMMON_PATH)/configs/audio/aov_ec_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/aov_ec_mixer_paths.xml \
+ $(COMMON_PATH)/configs/audio/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
+ $(COMMON_PATH)/configs/audio/audio_ext_spkr.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_ext_spkr.conf \
+ $(COMMON_PATH)/configs/audio/audio_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info.xml \
+ $(COMMON_PATH)/configs/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
+ $(COMMON_PATH)/configs/audio/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
+ $(COMMON_PATH)/configs/audio/mixer_paths.retin.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.retin.xml \
+ $(COMMON_PATH)/configs/audio/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \
+ frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
+ frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
+ frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml
+
# Update engine
PRODUCT_PACKAGES += \
update_engine \
FMRadio \
libfmjni
+# GPS
+PRODUCT_COPY_FILES += \
+ $(COMMON_PATH)/configs/gps/gps.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.cfg
+
+
# Graphics
# Device uses high-density artwork where available
PRODUCT_AAPT_CONFIG := xlarge
PRODUCT_COPY_FILES += \
$(COMMON_PATH)/configs/init/init.recovery.exynos9610.rc:$(TARGET_COPY_OUT_ROOT)/init.recovery.exynos9610.rc
+# Media
+PRODUCT_COPY_FILES += \
+ $(COMMON_PATH)/configs/media/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
+ $(COMMON_PATH)/configs/media/media_codecs_dolby_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_dolby_audio.xml \
+ $(COMMON_PATH)/configs/media/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \
+ $(COMMON_PATH)/configs/media/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \
+ $(COMMON_PATH)/configs/media/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \
+ $(COMMON_PATH)/configs/media/media_codecs_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \
+ $(COMMON_PATH)/configs/media/media_profiles_V1_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml \
+ $(COMMON_PATH)/configs/media/media_profiles_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_vendor.xml \
+ $(COMMON_PATH)/configs/media/media_profiles_vendor_V1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_vendor_V1.xml
+
# NFC
PRODUCT_PACKAGES += \
NfcNci \
SecureElement \
com.android.nfc_extras
+PRODUCT_COPY_FILES += \
+ $(COMMON_PATH)/configs/nfc/libnfc-nci.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-nci.conf \
+ $(COMMON_PATH)/configs/nfc/libnfc-sec-vendor.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-sec-vendor.conf
+
# Permissions
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml \
frameworks/native/data/etc/android.hardware.nfc.hce.xml:system/etc/permissions/android.hardware.nfc.hce.xml \
frameworks/native/data/etc/android.hardware.nfc.hce.xml:system/etc/permissions/android.hardware.nfc.hcef.xml
+# Public Libraries
+PRODUCT_COPY_FILES += \
+ $(COMMON_PATH)/configs/public.libraries.txt:$(TARGET_COPY_OUT_VENDOR)/etc/public.libraries.txt
+
+# Recovery
+PRODUCT_PACKAGES += \
+ android.hardware.boot@1.0-impl.exynos.recovery
+
+# Seccomp
+PRODUCT_COPY_FILES += \
+ $(COMMON_PATH)/configs/seccomp/configstore@1.1.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/configstore@1.1.policy \
+ $(COMMON_PATH)/configs/seccomp/mediacodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy
+
+# Sensors
+PRODUCT_COPY_FILES += \
+ $(COMMON_PATH)/configs/sensors/hals.conf:$(TARGET_COPY_OUT_VENDOR)/etc/sensors/hals.conf \
+ $(COMMON_PATH)/configs/sensors/mot_sensor_settings.json:$(TARGET_COPY_OUT_VENDOR)/etc/sensors/mot_sensor_settings.json
+
+# Thermal
+PRODUCT_COPY_FILES += \
+ $(COMMON_PATH)/configs/thermal/exynos-thermal.conf:$(TARGET_COPY_OUT_VENDOR)/exynos-thermal.conf \
+ $(COMMON_PATH)/configs/thermal/exynos-thermal.env:$(TARGET_COPY_OUT_VENDOR)/exynos-thermal.env \
+ $(COMMON_PATH)/configs/thermal/exynos-thermal-kane.conf:$(TARGET_COPY_OUT_VENDOR)/exynos-thermal-kane.conf \
+ $(COMMON_PATH)/configs/thermal/exynos-thermal-kane-retin.conf:$(TARGET_COPY_OUT_VENDOR)/exynos-thermal-kane-retin.conf \
+ $(COMMON_PATH)/configs/thermal/exynos-thermal-troika.conf:$(TARGET_COPY_OUT_VENDOR)/exynos-thermal-troika.conf
+
# WiFi
PRODUCT_PACKAGES += \
android.hardware.wifi@1.0-service \
libwpa_client \
wpa_supplicant \
wpa_supplicant.conf \
+
+PRODUCT_COPY_FILES += \
+ $(COMMON_PATH)/configs/wifi/p2p_supplicant.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant.conf \
+ $(COMMON_PATH)/configs/wifi/wpa_supplicant.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant.conf
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- A2dp Audio HAL Audio Policy Configuration file -->
+<module name="a2dp" halVersion="2.0">
+ <mixPorts>
+ <mixPort name="a2dp output" role="source"/>
+ <mixPort name="a2dp input" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="44100,48000"
+ channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
+ </mixPort>
+ </mixPorts>
+ <devicePorts>
+ <devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="44100"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </devicePort>
+ <devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="44100"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </devicePort>
+ <devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="44100"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </devicePort>
+ <devicePort tagName="BT A2DP In" type="AUDIO_DEVICE_IN_BLUETOOTH_A2DP" role="source">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="44100,48000"
+ channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
+ </devicePort>
+ </devicePorts>
+ <routes>
+ <route type="mix" sink="BT A2DP Out"
+ sources="a2dp output"/>
+ <route type="mix" sink="BT A2DP Headphones"
+ sources="a2dp output"/>
+ <route type="mix" sink="BT A2DP Speaker"
+ sources="a2dp output"/>
+ <route type="mix" sink="a2dp input"
+ sources="BT A2DP In"/>
+ </routes>
+</module>
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<mixer>
+ <!-- These are the initial mixer settings -->
+ <!-- AOV default EC REF settings -->
+ <ctl name="ISRC1DEC4 Input 1" value="None" />
+ <ctl name="DSP2 Aux 6" value="None" />
+ <!-- AOV default EC REF settings end -->
+
+ <path name="aov-ec-ref-spkr">
+ <ctl name="ISRC1DEC4 Input 1" value="AIF1RX1" />
+ <ctl name="DSP2 Aux 6" value="ISRC1DEC4" />
+ </path>
+</mixer>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<audio_effects_conf version="2.0" xmlns="http://schemas.android.com/audio/audio_effects_conf/v2_0">
+ <libraries>
+ <library name="bundle" path="libbundlewrapper.so"/>
+ <library name="reverb" path="libreverbwrapper.so"/>
+ <library name="visualizer" path="libvisualizer.so"/>
+ <library name="downmix" path="libdownmix.so"/>
+ <library name="loudness_enhancer" path="libldnhncr.so"/>
+ <library name="dynamics_processing" path="libdynproc.so"/>
+ <library name="dap" path="libswdap.so"/>
+ <library name="proxy" path="libeffectproxy.so"/>
+ <library name="mot_speaker_helper" path="libspeakerbundle.so"/>
+ </libraries>
+ <effects>
+ <effect name="bassboost" library="bundle" uuid="8631f300-72e2-11df-b57e-0002a5d5c51b"/>
+ <effect name="virtualizer" library="bundle" uuid="1d4033c0-8557-11df-9f2d-0002a5d5c51b"/>
+ <effect name="equalizer" library="bundle" uuid="ce772f20-847d-11df-bb17-0002a5d5c51b"/>
+ <effect name="volume" library="bundle" uuid="119341a0-8469-11df-81f9-0002a5d5c51b"/>
+ <effect name="reverb_env_aux" library="reverb" uuid="4a387fc0-8ab3-11df-8bad-0002a5d5c51b"/>
+ <effect name="reverb_env_ins" library="reverb" uuid="c7a511a0-a3bb-11df-860e-0002a5d5c51b"/>
+ <effect name="reverb_pre_aux" library="reverb" uuid="f29a1400-a3bb-11df-8ddc-0002a5d5c51b"/>
+ <effect name="reverb_pre_ins" library="reverb" uuid="172cdf00-a3bc-11df-a72f-0002a5d5c51b"/>
+ <effect name="visualizer" library="visualizer" uuid="d069d9e0-8329-11df-9168-0002a5d5c51b"/>
+ <effect name="downmix" library="downmix" uuid="93f04452-e4fe-41cc-91f9-e475b6d1d69f"/>
+ <effect name="loudness_enhancer" library="loudness_enhancer" uuid="fa415329-2034-4bea-b5dc-5b381c8d1e2c"/>
+ <effect name="dynamics_processing" library="dynamics_processing" uuid="e0e6539b-1781-7261-676f-6d7573696340"/>
+ <effect name="dap" library="dap" uuid="9d4921da-8225-4f29-aefa-39537a04bcaa"/>
+ <effectProxy name="music_helper" library="proxy" uuid="00905020-4e52-11e4-83aa-0002a5d5c51b">
+ <libsw library="mot_speaker_helper" uuid="bce61ec2-eca4-445c-9dcb-91cc7cce01ab"/>
+ <libhw library="mot_speaker_helper" uuid="bce61ec2-eca4-445c-9dcb-91cc7cce01b0"/>
+ </effectProxy>
+ <effect name="voice_helper" library="mot_speaker_helper" uuid="bce61ec2-eca4-445c-9dcb-91cc7cce01ac"/>
+ <effect name="ring_helper" library="mot_speaker_helper" uuid="bce61ec2-eca4-445c-9dcb-91cc7cce01ad"/>
+ <effect name="notification_helper" library="mot_speaker_helper" uuid="bce61ec2-eca4-445c-9dcb-91cc7cce01ae"/>
+ </effects>
+ <postprocess>
+ <stream type="music">
+ <apply effect="music_helper"/>
+ </stream>
+ <stream type="ring">
+ <apply effect="ring_helper"/>
+ </stream>
+ <stream type="alarm">
+ <apply effect="ring_helper"/>
+ </stream>
+ <stream type="voice_call">
+ <apply effect="voice_helper"/>
+ </stream>
+ <stream type="notification">
+ <apply effect="notification_helper"/>
+ </stream>
+ </postprocess>
+</audio_effects_conf>
--- /dev/null
+global_config {
+ name Kane
+}
+
+ring {
+ #dB to attenuate playback to meet safety level at each volume step
+ #16 steps total, 15...0. In case of truncated list, last attenuation
+ #given will be applied to all lower volume steps
+ attenuation 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+ knee_step 16
+}
+
+voice {
+ #dB to attenuate playback to meet safety level at each volume step
+ #16 steps total, 15...0. In case of truncated list, last attenuation
+ #given will be applied to all lower volume steps
+ attenuation 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+ knee_step 17
+}
+
+media {
+ #dB to attenuate playback to meet safety level at each volume step
+ #16 steps total, 15...0. In case of truncated list, last attenuation
+ #given will be applied to all lower volume steps
+ attenuation 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+ knee_step 16
+}
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<audio_platform_info>
+
+<pcm_ids>
+ <usecase name="USECASE_MOTVR_COMMAND" type="in" id="23" />
+ <usecase name="USECASE_MOTVR_TRACE" type="in" id="24" />
+ <usecase name="USECASE_ADSPD_DSP1_TEXT" type="in" id="27" />
+ <usecase name="USECASE_ADSPD_DSP2_TEXT" type="in" id="25" />
+ <usecase name="USECASE_ADSPD_DSP3_TEXT" type="in" id="26" />
+</pcm_ids>
+
+</audio_platform_info>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!-- Copyright (C) 2016 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<audioPolicyConfiguration version="1.0" xmlns:xi="http://www.w3.org/2001/XInclude">
+ <globalConfiguration speaker_drc_enabled="false"/>
+
+ <modules>
+ <!-- Primary Audio HAL -->
+ <module name="primary" halVersion="2.0">
+ <attachedDevices>
+ <item>Speaker</item>
+ <item>Earpiece</item>
+ <item>Telephony Tx</item>
+ <item>Built-In Mic</item>
+ <item>Built-In Back Mic</item>
+ <item>FM Tuner</item>
+ <item>Call Recording</item>
+ </attachedDevices>
+ <defaultOutputDevice>Speaker</defaultOutputDevice>
+ <mixPorts>
+ <!-- Playback(Output) Streams -->
+ <mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY">
+ <profile name="primary_out" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="44100,48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
+
+ <mixPort name="mmap_no_irq_out" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_MMAP_NOIRQ">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
+
+ <mixPort name="deep_buffer" role="source" flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
+ <profile name="deep_out" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="8000,16000,32000,44100,48000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
+
+ <mixPort name="aux output" role="source" flags="AUDIO_OUTPUT_FLAG_NONE">
+ <profile name="aux_out" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
+
+ <mixPort name="incall_music_uplink" role="source"
+ flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="8000,16000,48000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
+
+ <!-- Capture(Input) Streams -->
+ <mixPort name="primary input" role="sink">
+ <profile name="primary_in" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="8000,16000,32000,48000"
+ channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
+ </mixPort>
+
+ <mixPort name="fm input" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="8000,16000,32000,48000"
+ channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
+ </mixPort>
+
+ <mixPort name="fast input" role="sink" flags="AUDIO_INPUT_FLAG_FAST">
+ <profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
+ samplingRates="48000"
+ channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
+ </mixPort>
+
+ <mixPort name="mmap_no_irq_in" role="sink" flags="AUDIO_INPUT_FLAG_MMAP_NOIRQ">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
+ channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3"/>
+ </mixPort>
+ </mixPorts>
+
+ <devicePorts>
+ <devicePort tagName="Speaker" type="AUDIO_DEVICE_OUT_SPEAKER" role="sink">
+ </devicePort>
+ <devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink">
+ </devicePort>
+ <devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink">
+ </devicePort>
+ <devicePort tagName="Wired Headphone" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE" role="sink">
+ </devicePort>
+ <devicePort tagName="Line Out" type="AUDIO_DEVICE_OUT_LINE" role="sink">
+ </devicePort>
+
+ <devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
+ </devicePort>
+ <devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
+ </devicePort>
+ <devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
+ </devicePort>
+
+ <devicePort tagName="AUX DIGITAL" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
+ </devicePort>
+
+ <devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
+ </devicePort>
+ <devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
+ </devicePort>
+ <devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source">
+ </devicePort>
+
+ <devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
+ </devicePort>
+ <devicePort tagName="FM Tuner" type="AUDIO_DEVICE_IN_FM_TUNER" role="source">
+ </devicePort>
+ <devicePort tagName="Call Recording" type="AUDIO_DEVICE_IN_VOICE_CALL" role="source"/>
+ <devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink"/>
+ </devicePorts>
+
+ <routes>
+ <route type="mix" sink="Earpiece"
+ sources="primary output,deep_buffer,mmap_no_irq_out"/>
+ <route type="mix" sink="Speaker"
+ sources="primary output,deep_buffer,mmap_no_irq_out"/>
+ <route type="mix" sink="Wired Headset"
+ sources="primary output,deep_buffer,mmap_no_irq_out"/>
+ <route type="mix" sink="Wired Headphone"
+ sources="primary output,deep_buffer,mmap_no_irq_out"/>
+ <route type="mix" sink="Line Out"
+ sources="primary output,deep_buffer,mmap_no_irq_out"/>
+
+ <route type="mix" sink="BT SCO"
+ sources="primary output,deep_buffer"/>
+ <route type="mix" sink="BT SCO Headset"
+ sources="primary output,deep_buffer"/>
+ <route type="mix" sink="BT SCO Car Kit"
+ sources="primary output,deep_buffer"/>
+
+ <route type="mix" sink="AUX DIGITAL"
+ sources="aux output"/>
+ <route type="mix" sink="Telephony Tx"
+ sources="incall_music_uplink"/>
+
+ <route type="mix" sink="primary input"
+ sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,Call Recording"/>
+ <route type="mix" sink="fm input" sources="FM Tuner"/>
+ <route type="mix" sink="fast input"
+ sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic"/>
+ <route type="mix" sink="mmap_no_irq_in"
+ sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic"/>
+ </routes>
+
+ </module>
+
+ <module name="vx_motvr" halVersion="3.0">
+ <mixPorts>
+ <mixPort name="primary input" role="sink" flags="AUDIO_INPUT_FLAG_HW_HOTWORD">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="16000"
+ channelMasks="AUDIO_CHANNEL_IN_MONO"/>
+ </mixPort>
+ <mixPort name="trigger" role="sink" flags="AUDIO_INPUT_FLAG_HW_HOTWORD|AUDIO_INPUT_FLAG_CAPTURE_TRIGGER_AUDIO">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="16000"
+ channelMasks="AUDIO_CHANNEL_IN_MONO"/>
+ </mixPort>
+ </mixPorts>
+ <devicePorts>
+ <devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source" address="bottom">
+ </devicePort>
+ <devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source">
+ </devicePort>
+ </devicePorts>
+ <routes>
+ <route type="mix" sink="primary input"
+ sources="Built-In Mic,Wired Headset Mic"/>
+ <route type="mix" sink="trigger"
+ sources="Built-In Mic,Wired Headset Mic"/>
+ </routes>
+ </module>
+
+ <!-- USB Audio HAL -->
+ <xi:include href="usb_audio_policy_configuration.xml"/>
+
+ <!-- A2dp Audio HAL -->
+ <xi:include href="a2dp_audio_policy_configuration.xml"/>
+
+ <!-- Remote Submix Audio HAL -->
+ <xi:include href="r_submix_audio_policy_configuration.xml"/>
+
+ </modules>
+
+ <!-- Volume section -->
+ <xi:include href="audio_policy_volumes.xml"/>
+ <xi:include href="default_volume_tables.xml"/>
+
+</audioPolicyConfiguration>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- Volume section defines a volume curve for a given use case and device category.
+It contains a list of points of this curve expressing the attenuation in Millibels for a given
+volume index from 0 to 100.
+<volume stream=”AUDIO_STREAM_MUSIC” deviceCategory=””>
+<point>0,-9600</point>
+<point>100,0</point>
+</volume>
+-->
+
+<volumes>
+ <volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_HEADSET">
+ <point>0,-2700</point>
+ <point>33,-1800</point>
+ <point>66,-900</point>
+ <point>100,0</point>
+ </volume>
+ <volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_SPEAKER">
+ <point>0,-2400</point>
+ <point>33,-1600</point>
+ <point>66,-800</point>
+ <point>100,0</point>
+ </volume>
+ <volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_EARPIECE">
+ <point>0,-2400</point>
+ <point>33,-1600</point>
+ <point>66,-800</point>
+ <point>100,0</point>
+ </volume>
+ <volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
+ ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
+ ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_HEADSET">
+ <point>1,-3000</point>
+ <point>33,-2600</point>
+ <point>66,-2200</point>
+ <point>100,-1800</point>
+ </volume>
+ <volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_SPEAKER"
+ ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_EARPIECE"
+ ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
+ ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
+ ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_HEADSET"
+ ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_SPEAKER">
+ <point>1,-3570</point>
+ <point>33,-2010</point>
+ <point>66,-1020</point>
+ <point>100,0</point>
+ </volume>
+ <volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_EARPIECE"
+ ref="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
+ ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
+ ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_HEADSET"
+ ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_SPEAKER"
+ ref="DEFAULT_DEVICE_CATEGORY_SPEAKER_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_EARPIECE"
+ ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
+ ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
+ ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_HEADSET"
+ ref="DEFAULT_NON_MUTABLE_HEADSET_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_SPEAKER">
+ <point>1,-2970</point>
+ <point>33,-2010</point>
+ <point>66,-1020</point>
+ <point>100,0</point>
+ </volume>
+ <volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_EARPIECE"
+ ref="DEFAULT_NON_MUTABLE_EARPIECE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
+ ref="DEFAULT_NON_MUTABLE_EXT_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
+ ref="DEFAULT_NON_MUTABLE_HEARING_AID_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_HEADSET"
+ ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_SPEAKER">
+ <point>1,-3370</point>
+ <point>33,-2210</point>
+ <point>66,-1420</point>
+ <point>100,-400</point>
+ </volume>
+ <volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_EARPIECE"
+ ref="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
+ ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
+ ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_HEADSET">
+ <point>0,-4200</point>
+ <point>33,-2800</point>
+ <point>66,-1400</point>
+ <point>100,0</point>
+ </volume>
+ <volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_SPEAKER">
+ <point>0,-2400</point>
+ <point>33,-1600</point>
+ <point>66,-800</point>
+ <point>100,0</point>
+ </volume>
+ <volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_EARPIECE">
+ <point>0,-4200</point>
+ <point>33,-2800</point>
+ <point>66,-1400</point>
+ <point>100,0</point>
+ </volume>
+ <volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
+ ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
+ ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_HEADSET">
+ <point>1,-3000</point>
+ <point>33,-2600</point>
+ <point>66,-2200</point>
+ <point>100,-1800</point>
+ </volume>
+ <volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_SPEAKER"
+ ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_EARPIECE"
+ ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
+ ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
+ ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_HEADSET">
+ <point>1,-3000</point>
+ <point>33,-2600</point>
+ <point>66,-2200</point>
+ <point>100,-1800</point>
+ </volume>
+ <volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_SPEAKER"
+ ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_EARPIECE"
+ ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
+ ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
+ ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_HEADSET"
+ ref="SILENT_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_SPEAKER"
+ ref="FULL_SCALE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_EARPIECE"
+ ref="SILENT_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
+ ref="SILENT_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
+ ref="SILENT_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_HEADSET"
+ ref="DEFAULT_NON_MUTABLE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_SPEAKER"
+ ref="DEFAULT_NON_MUTABLE_SPEAKER_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_EARPIECE"
+ ref="DEFAULT_NON_MUTABLE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
+ ref="DEFAULT_NON_MUTABLE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
+ ref="DEFAULT_NON_MUTABLE_HEARING_AID_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_HEADSET"
+ ref="FULL_SCALE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_SPEAKER"
+ ref="FULL_SCALE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_EARPIECE"
+ ref="FULL_SCALE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
+ ref="FULL_SCALE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
+ ref="FULL_SCALE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_HEADSET"
+ ref="FULL_SCALE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_SPEAKER"
+ ref="FULL_SCALE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_EARPIECE"
+ ref="FULL_SCALE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
+ ref="FULL_SCALE_VOLUME_CURVE"/>
+ <volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
+ ref="FULL_SCALE_VOLUME_CURVE"/>
+</volumes>
+
--- /dev/null
+<mixer>
+ <!-- These paths are for ERD with Exynos9610 -->
+
+ <!-- Board Device Connections -->
+ <!-- UAIF0 - CODEC for normal Playback and Capture -->
+ <!-- UAIF1 - None -->
+ <!-- UAIF2 - Echo Reference from Codec -->
+ <!-- UAIF3 - None -->
+ <!-- UAIF4 - Loopback -->
+ <!-- SPDY - FM Radio -->
+
+ <!-- Exynos A-Box Term -->
+ <!-- SIFS0 : Mixer for Playback -->
+ <!-- SIFS1 : Mux1 for Playback -->
+ <!-- SIFS2 : Mux2 for Playback -->
+ <!-- RSRC0 : Recording Source 0 -->
+ <!-- RSRC1 : Recording Source 1 -->
+ <!-- NSRC0 : Capture Source 0 -->
+ <!-- NSRC1 : Capture Source 1 -->
+ <!-- NSRC2 : Capture Source 2 -->
+ <!-- NSRC3 : Capture Source 3 -->
+
+ <!-- Initial Mixer control configurations -->
+ <ctl name="ABOX Sampling Rate Mixer" value="48000" />
+ <ctl name="ABOX Sampling Rate Out1" value="48000" />
+ <ctl name="ABOX Sampling Rate Out2" value="48000" />
+
+ <ctl name="ABOX SPUS ASRC0" value="On" />
+ <ctl name="ABOX SPUS ASRC1" value="On" />
+ <ctl name="ABOX SPUS ASRC2" value="On" />
+ <ctl name="ABOX SPUS ASRC3" value="On" />
+ <ctl name="ABOX SPUS ASRC4" value="On" />
+ <ctl name="ABOX SPUS ASRC5" value="On" />
+ <ctl name="ABOX SPUS ASRC6" value="On" />
+ <ctl name="ABOX SPUS ASRC7" value="On" />
+
+ <ctl name="ABOX SPUS OUT0" value="SIFS0" />
+ <ctl name="ABOX SPUS OUT1" value="SIFS0" />
+ <ctl name="ABOX SPUS OUT2" value="SIFS0" />
+ <ctl name="ABOX SPUS OUT3" value="SIFS0" />
+ <ctl name="ABOX SPUS OUT4" value="SIFS0" />
+ <ctl name="ABOX SPUS OUT5" value="SIFS0" />
+ <ctl name="ABOX SPUS OUT6" value="SIFS2" />
+ <ctl name="ABOX SPUS OUT7" value="SIFS1" />
+
+ <ctl name="ABOX SIFS1" value="SPUS OUT7" />
+ <ctl name="ABOX SIFS2" value="SPUS OUT6" />
+
+ <ctl name="ABOX UAIF1 SPK" value="SIFS2" />
+
+ <ctl name="ABOX Sampling Rate Recp" value="48000" />
+ <ctl name="ABOX Sampling Rate Inmux0" value="48000" />
+ <ctl name="ABOX Sampling Rate Inmux1" value="48000" />
+ <ctl name="ABOX Sampling Rate Inmux2" value="48000" />
+ <ctl name="ABOX Sampling Rate Inmux3" value="48000" />
+ <ctl name="ABOX Sampling Rate Inmux4" value="48000" />
+
+ <ctl name="ABOX SPUM ASRC0" value="On" />
+ <ctl name="ABOX SPUM ASRC1" value="On" />
+ <ctl name="ABOX SPUM ASRC2" value="On" />
+ <ctl name="ABOX SPUM ASRC3" value="On" />
+ <ctl name="ABOX RECP PIFS0" value="0" />
+ <ctl name="ABOX RECP PIFS1" value="0" />
+
+ <ctl name="ABOX SIFM0" value="WDMA" />
+ <ctl name="ABOX SIFM1" value="WDMA" />
+ <ctl name="ABOX SIFM2" value="WDMA" />
+ <ctl name="ABOX SIFM3" value="WDMA" />
+
+ <ctl name="ABOX NSRC0" value="RESERVED" />
+ <ctl name="ABOX NSRC1" value="RESERVED" />
+ <ctl name="ABOX NSRC2" value="RESERVED" />
+ <ctl name="ABOX NSRC3" value="RESERVED" />
+
+ <ctl name="ABOX ERAP info FM Radio On" value="0" />
+ <ctl name="ABOX PCM ext VPCMIN ON" value="0" />
+ <ctl name="ABOX ERAP info ICM On" value="0" />
+
+ <!-- Initial Codec control configurations -->
+ <ctl name="IN1L Mux" value="A" />
+ <ctl name="IN1R Mux" value="B" />
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="128" />
+ <ctl name="IN1R Digital Volume" value="128" />
+ <ctl name="IN2L Digital Volume" value="128" />
+ <ctl name="IN2R Digital Volume" value="128" />
+ <ctl name="IN HPF Cutoff Frequency" value="40Hz" />
+ <ctl name="IN1L HPF Switch" value="1" />
+ <ctl name="IN1R HPF Switch" value="1" />
+ <ctl name="IN2L HPF Switch" value="1" />
+ <ctl name="IN2R HPF Switch" value="1" />
+ <ctl name="SLIMTX1 Input 1" value="None" />
+ <ctl name="SLIMTX2 Input 1" value="None" />
+ <ctl name="SLIMTX3 Input 1" value="None" />
+ <ctl name="SLIMTX5 Input 1" value="None" />
+ <ctl name="SLIMTX6 Input 1" value="None" />
+ <ctl name="Input Ramp Up" value="8ms/6dB" />
+ <ctl name="Input Ramp Down" value="8ms/6dB" />
+ <ctl name="AIF1TX1 Input 1" value="None" />
+ <ctl name="AIF1TX1 Input 2" value="None" />
+ <ctl name="AIF1TX1 Input 3" value="None" />
+ <ctl name="AIF1TX1 Input 1 Volume" value="32" />
+ <ctl name="AIF1TX1 Input 2 Volume" value="32" />
+ <ctl name="AIF1TX1 Input 3 Volume" value="32" />
+ <ctl name="AIF1TX2 Input 1" value="None" />
+ <ctl name="AIF1TX2 Input 2" value="None" />
+ <ctl name="AIF1TX2 Input 3" value="None" />
+ <ctl name="AIF1TX2 Input 1 Volume" value="32" />
+ <ctl name="AIF1TX2 Input 2 Volume" value="32" />
+ <ctl name="AIF1TX2 Input 3 Volume" value="32" />
+ <ctl name="HPOUT1L Input 1" value="None" />
+ <ctl name="HPOUT1R Input 1" value="None" />
+ <ctl name="HPOUT1 Digital Volume" id="0" value="0" />
+ <ctl name="HPOUT1 Digital Volume" id="1" value="0" />
+ <ctl name="HPOUT1 Digital Switch" id="0" value="0" />
+ <ctl name="HPOUT1 Digital Switch" id="1" value="0" />
+ <ctl name="DSP2 Firmware" value="frontend" />
+ <ctl name="DSP3 Firmware" value="aov" />
+ <ctl name="Sample Rate 2" value="16kHz" />
+ <ctl name="Sample Rate 3" value="48kHz" />
+ <ctl name="In Rate" value="SYNCCLK rate 3" />
+ <ctl name="FX Rate" value="SYNCCLK rate 2" />
+ <ctl name="ISRC1 FSH" value="SYNCCLK rate 3" />
+ <ctl name="ISRC1 FSL" value="SYNCCLK rate 2" />
+ <ctl name="LHPF1 Input 1" value="None" />
+ <ctl name="LHPF1 Mode" value="High-pass" />
+ <ctl name="LHPF1 Coefficients" id="0" value="0xF0" />
+ <ctl name="LHPF1 Coefficients" id="1" value="0xC4" />
+ <ctl name="DSP2L Input 1" value="LHPF1" />
+ <ctl name="DSP2L Input 1 Volume" value="48" />
+ <ctl name="LHPF2 Input 1" value="None" />
+ <ctl name="LHPF2 Mode" value="High-pass" />
+ <ctl name="LHPF2 Coefficients" id="0" value="0xF0" />
+ <ctl name="LHPF2 Coefficients" id="1" value="0xC4" />
+ <ctl name="DSP2 Aux 1" value="LHPF2" />
+ <ctl name="LHPF3 Input 1" value="None" />
+ <ctl name="LHPF3 Mode" value="High-pass" />
+ <ctl name="LHPF3 Coefficients" id="0" value="0xF0" />
+ <ctl name="LHPF3 Coefficients" id="1" value="0xC4" />
+ <ctl name="DSP2R Input 1" value="LHPF3" />
+ <ctl name="DSP2R Input 1 Volume" value="48" />
+ <ctl name="LHPF4 Input 1" value="None" />
+ <ctl name="LHPF4 Mode" value="High-pass" />
+ <ctl name="LHPF4 Coefficients" id="0" value="0xF0" />
+ <ctl name="LHPF4 Coefficients" id="1" value="0xC4" />
+ <ctl name="DSP2 Aux 2" value="LHPF4" />
+ <ctl name="DSP2 Aux 5" value="None" />
+ <ctl name="LHPF1 Input 1" value="ISRC1DEC1" />
+ <ctl name="LHPF2 Input 1" value="ISRC1DEC2" />
+ <ctl name="LHPF3 Input 1" value="ISRC1DEC3" />
+ <ctl name="DRC1R Input 1" value="None" />
+ <ctl name="DRC1L Input 1" value="None" />
+ <ctl name="DRC1" id="0" value="0x01" />
+ <ctl name="DRC1" id="1" value="0x78" />
+ <ctl name="DRC1" id="2" value="0x07" />
+ <ctl name="DRC1" id="3" value="0x30" />
+ <ctl name="DRC1" id="4" value="0x08" />
+ <ctl name="DRC1" id="5" value="0x20" />
+ <ctl name="DRC1" id="6" value="0x00" />
+ <ctl name="DRC1" id="7" value="0xc2" />
+ <ctl name="DRC1" id="8" value="0x01" />
+ <ctl name="DRC1" id="9" value="0x6d" />
+ <ctl name="HPOUT1L Input 2" value="None" />
+ <ctl name="HPOUT1R Input 2" value="None" />
+ <ctl name="HPOUT1 Demux" value="HPOUT" />
+ <ctl name="EQ1 Input 1" value="None" />
+ <ctl name="HPOUT1L Input 2 Volume" value="32" />
+ <ctl name="HPOUT1R Input 2 Volume" value="32" />
+ <ctl name="DSP3L Input 1" value="None" />
+ <ctl name="DSP3R Input 1" value="None" />
+ <ctl name="DSP3 Aux 5" value="None" />
+ <ctl name="DSP3 Aux 6" value="None" />
+ <ctl name="DRC2R Input 1" value="None" />
+ <ctl name="DRC2L Input 1" value="None" />
+ <ctl name="DRC2" id="0" value="0x01" />
+ <ctl name="DRC2" id="1" value="0x78" />
+ <ctl name="DRC2" id="2" value="0x09" />
+ <ctl name="DRC2" id="3" value="0x30" />
+ <ctl name="DRC2" id="4" value="0x08" />
+ <ctl name="DRC2" id="5" value="0x28" />
+ <ctl name="DRC2" id="6" value="0x00" />
+ <ctl name="DRC2" id="7" value="0x42" />
+ <ctl name="DRC2" id="8" value="0x01" />
+ <ctl name="DRC2" id="9" value="0xbf" />
+ <ctl name="AIF2TX1 Input 1 Volume" value="32" />
+ <ctl name="AIF2TX2 Input 1 Volume" value="32" />
+
+ <!-- AOV default settings -->
+ <!-- AOV default sample rate settings -->
+ <ctl name="Sample Rate 2" value="16kHz" />
+ <ctl name="Sample Rate 3" value="48kHz" />
+ <ctl name="In Rate" value="SYNCCLK rate 2" />
+ <ctl name="FX Rate" value="SYNCCLK rate 2" />
+ <ctl name="ISRC1 FSH" value="SYNCCLK rate 3" />
+ <ctl name="ISRC1 FSL" value="SYNCCLK rate 2" />
+ <ctl name="ISRC2 FSH" value="SYNCCLK rate 3" />
+ <ctl name="ISRC2 FSL" value="SYNCCLK rate 2" />
+ <!-- AOV default microphone 1 settings -->
+ <ctl name="LHPF1 Input 1" value="None" />
+ <ctl name="LHPF1 Mode" value="High-pass" />
+ <ctl name="LHPF1 Coefficients" id="0" value="0xF0" />
+ <ctl name="LHPF1 Coefficients" id="1" value="0xC4" />
+ <ctl name="DSP2L Input 1" value="LHPF1" />
+ <ctl name="DSP2L Input 1 Volume" value="48" />
+ <!-- AOV default microphone 2 settings -->
+ <ctl name="LHPF2 Input 1" value="None" />
+ <ctl name="LHPF2 Mode" value="High-pass" />
+ <ctl name="LHPF2 Coefficients" id="0" value="0xF0" />
+ <ctl name="LHPF2 Coefficients" id="1" value="0xC4" />
+ <ctl name="DSP2 Aux 1" value="LHPF2" />
+ <!-- AOV default headset microphone settings -->
+ <ctl name="DSP2 Aux 5" value="None" />
+ <!-- AOV default settings end -->
+
+ <ctl name="SPK AMP PCM Gain" value="0" />
+ <ctl name="SPK PCM Soft Ramp" value="4ms" />
+ <ctl name="SPK AMP Enable Switch" value="0" />
+ <ctl name="SPK PCM Source" value="ASP" />
+
+ <!-- DRC1 Parameters for Mono and Stereo input -->
+ <path name="drc1-mono">
+ <ctl name="DRC1" id="0" value="0x01" />
+ <ctl name="DRC1" id="1" value="0x2A" />
+ <ctl name="DRC1" id="2" value="0x0A" />
+ <ctl name="DRC1" id="3" value="0xE5" />
+ <ctl name="DRC1" id="4" value="0x75" />
+ <ctl name="DRC1" id="5" value="0x52" />
+ <ctl name="DRC1" id="6" value="0x01" />
+ <ctl name="DRC1" id="7" value="0x88" />
+ <ctl name="DRC1" id="8" value="0x02" />
+ <ctl name="DRC1" id="9" value="0x4A" />
+ </path>
+
+ <path name="drc1-stereo">
+ <ctl name="DRC1" id="0" value="0x01" />
+ <ctl name="DRC1" id="1" value="0x2B" />
+ <ctl name="DRC1" id="2" value="0x0A" />
+ <ctl name="DRC1" id="3" value="0xE5" />
+ <ctl name="DRC1" id="4" value="0x75" />
+ <ctl name="DRC1" id="5" value="0x52" />
+ <ctl name="DRC1" id="6" value="0x01" />
+ <ctl name="DRC1" id="7" value="0x88" />
+ <ctl name="DRC1" id="8" value="0x02" />
+ <ctl name="DRC1" id="9" value="0x4A" />
+ </path>
+
+ <!-- Common control configurations -->
+ <path name="route-playback">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ <ctl name="ABOX UAIF0 SPK" value="SIFS0" />
+ </path>
+
+ <path name="route-spkamp-playback">
+ </path>
+
+ <path name="route-incall-reference">
+ <ctl name="ABOX NSRC2" value="UAIF2" />
+ <ctl name="ABOX SIFM2" value="WDMA" />
+ </path>
+
+ <path name="route-incall-bt-sco-reference">
+ <ctl name="ABOX NSRC2" value="UAIF4" />
+ <ctl name="ABOX SIFM2" value="WDMA" />
+ </path>
+
+ <path name="route-feedback">
+ <ctl name="ABOX NSRC2" value="UAIF2" />
+ <ctl name="ABOX SIFM2" value="WDMA" />
+ </path>
+
+ <path name="route-bt-sco-playback">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ <ctl name="ABOX RECP PIFS0" value="1" />
+ <ctl name="ABOX RSRC0" value="SIFS0" />
+ <ctl name="ABOX RECP PIFS1" value="0" />
+ <ctl name="ABOX RSRC1" value="RESERVED" />
+ <ctl name="BT SCO SPK Enable" value="1" />
+ </path>
+
+ <path name="route-ap-record">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ <ctl name="ABOX NSRC0" value="UAIF0" />
+ </path>
+
+ <path name="route-cp-tx">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ <ctl name="ABOX NSRC1" value="UAIF0" />
+ </path>
+
+ <path name="route-ap-bt-sco-record">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ <ctl name="ABOX NSRC0" value="SIFS2" />
+ </path>
+
+ <path name="route-cp-bt-sco-tx">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ <ctl name="ABOX NSRC1" value="SIFS2" />
+ </path>
+
+ <path name="route-loop-record">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ </path>
+
+ <path name="route-bt-sco-tx">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ <ctl name="ABOX SPUS OUT6" value="SIFS2" />
+ <ctl name="ABOX SIFS2" value="SPUS OUT6" />
+ <ctl name="BT SCO MIC Enable" value="1" />
+ </path>
+
+ <path name="route-ap-music-to-cp-tx">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ <ctl name="ABOX SPUS OUT7" value="SIFS1" />
+ <ctl name="ABOX SIFS1" value="SPUS OUT7" />
+ <ctl name="ABOX NSRC3" value="SIFS1" />
+ <ctl name="ABOX SIFM3" value="WDMA" />
+ </path>
+
+ <path name="route-codec-handset">
+ <!-- Cirrus Logic CS47L3 RCV path control -->
+ <ctl name="HPOUT1L Input 1" value="AIF1RX1" />
+ <ctl name="HPOUT1R Input 1" value="AIF1RX2" />
+ <ctl name="Noise Gate Switch" value="0" />
+ <ctl name="HPOUT1 Digital Volume" id="0" value="118" />
+ <ctl name="HPOUT1 Digital Volume" id="1" value="118" />
+ <ctl name="HPOUT1 Digital Switch" id="0" value="1" />
+ <ctl name="HPOUT1 Digital Switch" id="1" value="1" />
+ <ctl name="HPOUT1 Demux" value="EPOUT" />
+ <ctl name="HPOUT1 Mono Switch" value="1" />
+ </path>
+
+ <path name="route-codec-speaker">
+ <!-- Cirrus Logic CS47L3 Speaker path control -->
+ <ctl name="AIF2TX1 Input 1" value="AIF1RX1" />
+ <ctl name="AIF2TX2 Input 1" value="AIF1RX2" />
+ </path>
+
+ <path name="route-codec-headset">
+ <!-- Cirrus Logic CS47L3 HP path control -->
+ <ctl name="HPOUT1L Input 1" value="AIF1RX1" />
+ <ctl name="HPOUT1R Input 1" value="AIF1RX2" />
+ <ctl name="HPOUT1 Digital Volume" id="0" value="116" />
+ <ctl name="HPOUT1 Digital Volume" id="1" value="116" />
+ <ctl name="HPOUT1 Digital Switch" id="0" value="1" />
+ <ctl name="HPOUT1 Digital Switch" id="1" value="1" />
+ <ctl name="HPOUT1 Demux" value="HPOUT" />
+ <ctl name="HPOUT1 Mono Switch" value="0" />
+ </path>
+
+ <path name="route-codec-handset-feedback">
+ <!-- Cirrus Logic CS47L3 RCV path control -->
+ <ctl name="AIF3TX1 Input 1" value="AIF1RX1" />
+ </path>
+
+ <path name="route-codec-speaker-feedback">
+ <!-- Cirrus Logic CS47L3 RCV path control -->
+ <ctl name="AIF3TX1 Input 1" value="AIF1RX1" />
+ </path>
+
+ <path name="route-codec-headset-feedback">
+ <!-- Cirrus Logic CS47L3 RCV path control -->
+ <ctl name="AIF3TX1 Input 1" value="AIF1RX1" />
+ </path>
+
+ <path name="AOV">
+ <!-- Set ADC sample rate to 48kHz -->
+ <ctl name="In Rate" value="SYNCCLK rate 3" />
+ <!-- Microphone 1 settings -->
+ <ctl name="LHPF1 Input 1" value="ISRC1DEC1" />
+ <!-- Microphone 2 settings -->
+ <ctl name="LHPF2 Input 1" value="ISRC1DEC2" />
+ <!-- AOV default headset microphone settings -->
+ <ctl name="DSP2 Aux 5" value="ISRC2DEC1" />
+ </path>
+
+ <path name="route-codec-main-mic">
+ <!-- Cirrus Logic CS47L3 Main MIC path control -->
+ <ctl name="AIF1TX1 Input 1" value="IN1L" />
+ </path>
+
+ <path name="route-codec-main-mic-L">
+ <ctl name="AIF1TX1 Input 1" value="IN1L" />
+ </path>
+ <path name="route-codec-main-mic-R">
+ <ctl name="AIF1TX2 Input 1" value="IN1L" />
+ </path>
+ <path name="route-codec-sub-mic">
+ <!-- Cirrus Logic CS47L3 Sub MIC path control -->
+ <ctl name="AIF1TX1 Input 1" value="IN2L" />
+ </path>
+
+ <path name="route-codec-sub-mic-L">
+ <ctl name="AIF1TX1 Input 1" value="IN2L" />
+ </path>
+
+ <path name="route-codec-sub-mic-R">
+ <ctl name="AIF1TX2 Input 1" value="IN2L" />
+ </path>
+ <path name="route-codec-sub-mic-R-channel">
+ <!-- Cirrus Logic CS47L3 Sub MIC path control -->
+ <ctl name="AIF1TX2 Input 1" value="IN2L" />
+ </path>
+
+ <path name="route-codec-headset-mic">
+ <!-- Cirrus Logic CS47L3 HeadSet MIC path control -->
+ <ctl name="AIF1TX1 Input 1" value="IN1R" />
+ </path>
+
+ <path name="route-fm">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ <ctl name="ABOX ERAP info FM Radio On" value="1" />
+ <ctl name="ABOX PCM ext VPCMIN ON" value="1" />
+ <ctl name="ABOX Sampling Rate Inmux1" value="40000" />
+ <ctl name="ABOX NSRC1" value="SPDY" />
+ </path>
+
+ <!-- BT SCO Sampling Rate Settings -->
+ <path name="set-bt-sco-rx-rate-nb">
+ </path>
+
+ <path name="set-bt-sco-tx-rate-nb">
+ </path>
+
+ <path name="set-bt-sco-rx-rate-wb">
+ </path>
+
+ <path name="set-bt-sco-tx-rate-wb">
+ </path>
+
+ <!-- Output mixer settings -->
+ <!-- Playback paths -->
+ <path name="media-handset">
+ <path name="route-playback" />
+ <path name="route-codec-handset" />
+ </path>
+
+ <path name="media-speaker0">
+ <path name="route-playback" />
+ <path name="route-codec-speaker" />
+ </path>
+
+ <path name="media-speaker1">
+ <path name="route-playback" />
+ <path name="route-codec-speaker" />
+ </path>
+
+ <path name="media-headset">
+ <path name="route-playback" />
+ <path name="route-codec-headset" />
+ </path>
+
+ <path name="media-headphone">
+ <path name="media-headset" />
+ </path>
+
+ <!-- Lineout path routing is similar to Headphone-->
+ <path name="media-lineout">
+ <path name="route-playback" />
+ <path name="route-codec-headset" />
+ </path>
+
+ <path name="media-speaker0-headset">
+ <path name="route-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-headset" />
+ </path>
+
+ <path name="media-speaker1-headset">
+ <path name="route-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-headset" />
+ </path>
+
+ <path name="media-speaker0-headphone">
+ <path name="media-speaker0-headset" />
+ </path>
+
+ <path name="media-speaker1-headphone">
+ <path name="media-speaker1-headset" />
+ </path>
+
+ <path name="media-speaker0-lineout">
+ <path name="route-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-headset" />
+ </path>
+
+ <path name="media-speaker1-lineout">
+ <path name="route-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-headset" />
+ </path>
+
+ <path name="media-bt-sco-headset">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ <path name="route-playback" />
+ <path name="route-bt-sco-playback" />
+ </path>
+
+ <path name="fm_radio-bt-sco-headset">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ <path name="route-playback" />
+ <path name="route-bt-sco-playback" />
+ </path>
+
+ <path name="media-speaker0-bt-sco-headset">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ <path name="route-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-bt-sco-playback" />
+ </path>
+
+ <path name="media-speaker1-bt-sco-headset">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ <path name="route-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-bt-sco-playback" />
+ </path>
+
+ <path name="media_ringtone-handset">
+ <path name="media-handset" />
+ </path>
+
+ <path name="media_ringtone-speaker0">
+ <path name="media-speaker0" />
+ </path>
+
+ <path name="media_ringtone-speaker1">
+ <path name="media-speaker1" />
+ </path>
+
+ <path name="media_ringtone-headset">
+ <path name="media-headset" />
+ </path>
+
+ <path name="media_ringtone-headphone">
+ <path name="media-headphone" />
+ </path>
+
+ <path name="media_ringtone-lineout">
+ <path name="media-lineout" />
+ </path>
+
+ <path name="media_ringtone-speaker0-headset">
+ <path name="media-speaker0-headset" />
+ </path>
+
+ <path name="media_ringtone-speaker1-headset">
+ <path name="media-speaker1-headset" />
+ </path>
+
+ <path name="media_ringtone-speaker0-headphone">
+ <path name="media-speaker0-headphone" />
+ </path>
+
+ <path name="media_ringtone-speaker1-headphone">
+ <path name="media-speaker1-headphone" />
+ </path>
+
+ <path name="media_ringtone-bt-sco-headset">
+ <path name="media-bt-sco-headset" />
+ </path>
+
+ <path name="media_ringtone-speaker0-bt-sco-headset">
+ <path name="media-speaker0-bt-sco-headset" />
+ </path>
+
+ <path name="media_ringtone-speaker1-bt-sco-headset">
+ <path name="media-speaker1-bt-sco-headset" />
+ </path>
+
+ <path name="media_ringtone-speaker0-lineout">
+ <path name="media-speaker0-lineout" />
+ </path>
+
+ <path name="media_ringtone-speaker1-lineout">
+ <path name="media-speaker1-lineout" />
+ </path>
+
+ <path name="media_notification-handset">
+ <path name="media-handset" />
+ </path>
+
+ <path name="media_notification-speaker0">
+ <path name="media-speaker0" />
+ </path>
+
+ <path name="media_notification-speaker1">
+ <path name="media-speaker1" />
+ </path>
+
+ <path name="media_notification-headset">
+ <path name="media-headset" />
+ </path>
+
+ <path name="media_notification-headphone">
+ <path name="media-headphone" />
+ </path>
+
+ <path name="media_notification-lineout">
+ <path name="media-lineout" />
+ </path>
+
+ <path name="media_notification-speaker0-headset">
+ <path name="media-speaker0-headset" />
+ </path>
+
+ <path name="media_notification-speaker1-headset">
+ <path name="media-speaker1-headset" />
+ </path>
+
+ <path name="media_notification-speaker0-headphone">
+ <path name="media-speaker0-headphone" />
+ </path>
+
+ <path name="media_notification-speaker1-headphone">
+ <path name="media-speaker1-headphone" />
+ </path>
+
+ <path name="media_notification-bt-sco-headset">
+ <path name="media-bt-sco-headset" />
+ </path>
+
+ <path name="media_notification-speaker0-bt-sco-headset">
+ <path name="media-speaker0-bt-sco-headset" />
+ </path>
+
+ <path name="media_notification-speaker1-bt-sco-headset">
+ <path name="media-speaker1-bt-sco-headset" />
+ </path>
+
+ <path name="media_notification-speaker0-lineout">
+ <path name="media-speaker0-lineout" />
+ </path>
+
+ <path name="media_notification-speaker1-lineout">
+ <path name="media-speaker1-lineout" />
+ </path>
+
+ <!-- VoiceCall paths -->
+ <path name="incall_nb-handset">
+ <path name="route-playback" />
+ <path name="route-codec-handset" />
+ <path name="route-codec-handset-feedback" />
+ <path name="route-incall-reference" />
+ <ctl name="ABOX Sound Type" value="VOICE" />
+ </path>
+
+ <path name="incall_nb_hac-handset">
+ <path name="incall_nb-handset" />
+ </path>
+
+ <path name="incall_nb-speaker0">
+ <path name="route-playback" />
+ <path name="route-spkamp-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-speaker-feedback" />
+ <path name="route-incall-reference" />
+ <ctl name="ABOX Sound Type" value="SPEAKER" />
+ </path>
+
+ <path name="incall_nb-speaker1">
+ <path name="route-playback" />
+ <path name="route-spkamp-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-speaker-feedback" />
+ <path name="route-incall-reference" />
+ <ctl name="ABOX Sound Type" value="SPEAKER" />
+ </path>
+
+ <path name="incall_nb_hac-speaker0">
+ <path name="incall_nb-speaker0" />
+ </path>
+
+ <path name="incall_nb_hac-speaker1">
+ <path name="incall_nb-speaker1" />
+ </path>
+
+ <path name="incall_nb-headset">
+ <path name="route-playback" />
+ <path name="route-codec-headset" />
+ <path name="route-codec-headset-feedback" />
+ <path name="route-incall-reference" />
+ <ctl name="ABOX Sound Type" value="HEADSET" />
+ </path>
+
+ <path name="incall_nb_hac-headset">
+ <path name="incall_nb-headset" />
+ </path>
+
+ <path name="incall_nb-headphone">
+ <path name="incall_nb-headset" />
+ </path>
+
+ <path name="incall_nb_hac-headphone">
+ <path name="incall_nb-headset" />
+ </path>
+
+ <path name="incall_nb-lineout">
+ <path name="route-playback" />
+ <path name="route-codec-headset" />
+ <path name="route-codec-headset-feedback" />
+ <path name="route-incall-reference" />
+ <ctl name="ABOX Sound Type" value="LINEOUT" />
+ </path>
+
+ <path name="incall_nb_hac-lineout">
+ <path name="incall_nb-lineout" />
+ </path>
+
+ <path name="incall_nb-bt-sco-headset">
+ <path name="route-playback" />
+ <path name="route-bt-sco-playback" />
+ <path name="route-incall-bt-sco-reference" />
+ <ctl name="ABOX Sound Type" value="BTVOICE" />
+ </path>
+
+ <path name="incall_nb_hac-bt-sco-headset">
+ <path name="incall_nb-bt-sco-headset" />
+ </path>
+
+ <path name="incall_wb-handset">
+ <path name="incall_nb-handset" />
+ </path>
+
+ <path name="incall_wb_hac-handset">
+ <path name="incall_wb-handset" />
+ </path>
+
+ <path name="incall_wb-speaker0">
+ <path name="incall_nb-speaker0" />
+ </path>
+
+ <path name="incall_wb-speaker1">
+ <path name="incall_nb-speaker1" />
+ </path>
+
+ <path name="incall_wb_hac-speaker0">
+ <path name="incall_wb-speaker0" />
+ </path>
+
+ <path name="incall_wb_hac-speaker1">
+ <path name="incall_wb-speaker1" />
+ </path>
+
+ <path name="incall_wb-headset">
+ <path name="incall_nb-headset" />
+ </path>
+
+ <path name="incall_wb_hac-headset">
+ <path name="incall_wb-headset" />
+ </path>
+
+ <path name="incall_wb-headphone">
+ <path name="incall_wb-headset" />
+ </path>
+
+ <path name="incall_wb_hac-headphone">
+ <path name="incall_wb-headset" />
+ </path>
+
+ <path name="incall_wb-lineout">
+ <path name="incall_nb-lineout" />
+ </path>
+
+ <path name="incall_wb_hac-lineout">
+ <path name="incall_nb-lineout" />
+ </path>
+
+ <path name="incall_wb-bt-sco-headset">
+ <path name="incall_nb-bt-sco-headset" />
+ </path>
+
+ <path name="incall_wb_hac-bt-sco-headset">
+ <path name="incall_wb-bt-sco-headset" />
+ </path>
+
+ <!-- Incall Music path -->
+ <path name="incall_music-handset">
+ <path name="incall_nb-handset" />
+ <ctl name="ABOX ERAP info ICM On" value="1" />
+ </path>
+
+ <path name="incall_music_hac-handset">
+ <path name="incall_music-handset" />
+ </path>
+
+ <path name="incall_music-speaker0">
+ <path name="incall_nb-speaker0" />
+ <ctl name="ABOX ERAP info ICM On" value="1" />
+ </path>
+
+ <path name="incall_music-speaker1">
+ <path name="incall_nb-speaker1" />
+ <ctl name="ABOX ERAP info ICM On" value="1" />
+ </path>
+
+ <path name="incall_music_hac-speaker0">
+ <path name="incall_music-speaker0" />
+ </path>
+
+ <path name="incall_music_hac-speaker1">
+ <path name="incall_music-speaker1" />
+ </path>
+
+ <path name="incall_music-headset">
+ <path name="incall_nb-headset" />
+ <ctl name="ABOX ERAP info ICM On" value="1" />
+ </path>
+
+ <path name="incall_music_hac-headset">
+ <path name="incall_music-headset" />
+ </path>
+ <path name="incall_music-headphone">
+ <path name="incall_music-headset" />
+ </path>
+
+ <path name="incall_music_hac-headphone">
+ <path name="incall_music-headset" />
+ </path>
+
+ <path name="incall_music-lineout">
+ <path name="incall_nb-lineout" />
+ <ctl name="ABOX ERAP info ICM On" value="1" />
+ </path>
+
+ <path name="incall_music_hac-lineout">
+ <path name="incall_music-lineout" />
+ </path>
+
+ <path name="incall_music-bt-sco-headset">
+ <path name="incall_nb-bt-sco-headset" />
+ <ctl name="ABOX ERAP info ICM On" value="1" />
+ </path>
+
+ <path name="incall_music_hac-bt-sco-headset">
+ <path name="incall_music-bt-sco-headset" />
+ </path>
+
+ <!-- Communication Playback paths -->
+ <path name="communication-handset">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-codec-handset" />
+ <path name="route-codec-handset-feedback" />
+ <ctl name="ABOX Speech Param" value="8" />
+ </path>
+
+ <path name="communication-speaker0">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-spkamp-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-speaker-feedback" />
+ <ctl name="ABOX Speech Param" value="9" />
+ </path>
+
+ <path name="communication-speaker1">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-spkamp-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-speaker-feedback" />
+ <ctl name="ABOX Speech Param" value="9" />
+ </path>
+
+ <path name="communication-headset">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-codec-headset" />
+ <path name="route-codec-headset-feedback" />
+ <ctl name="ABOX Speech Param" value="11" />
+ </path>
+
+ <path name="communication-headphone">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-codec-headset" />
+ <path name="route-codec-headset-feedback" />
+ <ctl name="ABOX Speech Param" value="10" />
+ </path>
+
+ <path name="communication-lineout">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-codec-headset" />
+ <path name="route-codec-headset-feedback" />
+ <ctl name="ABOX Speech Param" value="12" />
+ </path>
+
+ <path name="communication-speaker0-headset">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-spkamp-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-speaker-feedback" />
+ <path name="route-codec-headset" />
+ <ctl name="ABOX Speech Param" value="11" />
+ </path>
+
+ <path name="communication-speaker1-headset">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-spkamp-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-speaker-feedback" />
+ <path name="route-codec-headset" />
+ <ctl name="ABOX Speech Param" value="11" />
+ </path>
+
+ <path name="communication-speaker0-headphone">
+ <path name="communication-speaker0-headset" />
+ </path>
+
+ <path name="communication-speaker1-headphone">
+ <path name="communication-speaker1-headset" />
+ </path>
+
+ <path name="communication-speaker0-lineout">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-spkamp-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-speaker-feedback" />
+ <path name="route-codec-headset" />
+ </path>
+
+ <path name="communication-speaker1-lineout">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-spkamp-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-speaker-feedback" />
+ <path name="route-codec-headset" />
+ </path>
+
+ <path name="communication-bt-sco-headset">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-bt-sco-playback" />
+ <ctl name="ABOX Speech Param" value="6" />
+ </path>
+
+ <!-- voip Playback paths -->
+ <path name="voip-handset">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-codec-handset" />
+ <path name="route-codec-handset-feedback" />
+ <ctl name="ABOX Speech Param" value="8" />
+ </path>
+
+ <path name="voip-speaker0">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-spkamp-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-speaker-feedback" />
+ <ctl name="ABOX Speech Param" value="9" />
+ </path>
+
+ <path name="voip-speaker1">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-spkamp-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-speaker-feedback" />
+ <ctl name="ABOX Speech Param" value="9" />
+ </path>
+
+ <path name="voip-headset">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-codec-headset" />
+ <path name="route-codec-headset-feedback" />
+ <ctl name="ABOX Speech Param" value="11" />
+ </path>
+
+ <path name="voip-headphone">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-codec-headset" />
+ <path name="route-codec-headset-feedback" />
+ <ctl name="ABOX Speech Param" value="10" />
+ </path>
+
+ <path name="voip-lineout">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-codec-headset" />
+ <path name="route-codec-headset-feedback" />
+ <ctl name="ABOX Speech Param" value="12" />
+ </path>
+
+ <path name="voip-speaker0-headset">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-spkamp-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-speaker-feedback" />
+ <path name="route-codec-headset" />
+ <ctl name="ABOX Speech Param" value="11" />
+ </path>
+
+ <path name="voip-speaker1-headset">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-spkamp-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-speaker-feedback" />
+ <path name="route-codec-headset" />
+ <ctl name="ABOX Speech Param" value="11" />
+ </path>
+
+ <path name="voip-speaker0-headphone">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-spkamp-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-speaker-feedback" />
+ <path name="route-codec-headset" />
+ <ctl name="ABOX Speech Param" value="10" />
+ </path>
+
+ <path name="voip-speaker1-headphone">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-spkamp-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-speaker-feedback" />
+ <path name="route-codec-headset" />
+ <ctl name="ABOX Speech Param" value="10" />
+ </path>
+
+ <path name="voip-speaker0-lineout">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-spkamp-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-speaker-feedback" />
+ <path name="route-codec-headset" />
+ </path>
+
+ <path name="voip-speaker1-lineout">
+ <path name="voip-speaker0-lineout" />
+ </path>
+ <path name="voip-bt-sco-headset">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-bt-sco-playback" />
+ <ctl name="ABOX Speech Param" value="6" />
+ </path>
+
+ <!-- FM Radio Playback paths -->
+ <path name="fm_radio-speaker0">
+ <path name="media-speaker0" />
+ </path>
+
+ <path name="fm_radio-speaker1">
+ <path name="media-speaker1" />
+ </path>
+
+ <path name="fm_radio-headphone">
+ <path name="media-headphone" />
+ </path>
+
+ <path name="fm_radio-headset">
+ <path name="media-headset" />
+ </path>
+
+ <path name="fm_radio-lineout">
+ <path name="media-lineout" />
+ </path>
+
+ <!-- Input mixer settings -->
+ <!-- Capture paths -->
+ <path name="media-mic">
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <path name="route-codec-main-mic-L" />
+ </path>
+
+ <path name="media-headset-mic">
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <path name="route-codec-headset-mic" />
+ </path>
+
+ <path name="recording-mic">
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <ctl name="AIF1TX1 Input 1" value="IN1L" />
+ <ctl name="AIF1TX2 Input 1" value="IN2L" />
+ </path>
+
+ <path name="recording-mic1">
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <ctl name="AIF1TX1 Input 1" value="IN1L" />
+ </path>
+
+ <path name="recording-mic2">
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <ctl name="AIF1TX1 Input 1" value="IN2L" />
+ </path>
+
+ <path name="media-2nd-mic">
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <path name="route-codec-sub-mic-L" />
+ </path>
+
+ <path name="recording-2nd-mic">
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <ctl name="AIF1TX1 Input 1" value="IN2L" />
+ </path>
+
+ <path name="camcorder-mic">
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <ctl name="ISRC2DEC1 Input 1" value="IN1L" />
+ <ctl name="DRC1L Input 1" value="ISRC2DEC1" />
+ <ctl name="ISRC2INT1 Input 1" value="DRC1L" />
+ <path name="drc1-mono" />
+ <ctl name="AIF1TX1 Input 1" value="ISRC2INT1" />
+ </path>
+
+ <path name="camcorder-2nd-mic">
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <ctl name="ISRC2DEC1 Input 1" value="IN2L" />
+ <ctl name="DRC1L Input 1" value="ISRC2DEC1" />
+ <ctl name="ISRC2INT1 Input 1" value="DRC1L" />
+ <path name="drc1-mono" />
+ <ctl name="AIF1TX1 Input 1" value="ISRC2INT1" />
+ </path>
+
+ <path name="camcorder-dualmic">
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <ctl name="AIF1TX1 Input 1" value="IN2L" />
+ <ctl name="AIF1TX2 Input 1" value="IN1L" />
+ </path>
+
+ <path name="recording-headset-mic">
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <ctl name="AIF1TX1 Input 1" value="IN1R" />
+ <ctl name="AIF1TX2 Input 1" value="IN1R" />
+ </path>
+
+ <path name="media-bt-sco-mic">
+ <path name="route-bt-sco-tx" />
+ <path name="route-ap-bt-sco-record" />
+ </path>
+
+ <path name="recording-bt-sco-headset-in">
+ <path name="media-bt-sco-mic" />
+ </path>
+
+ <!-- Recognition Input paths -->
+ <path name="recognition-mic">
+ <path name="media-mic" />
+ </path>
+
+ <path name="recognition-2nd-mic">
+ <path name="media-2nd-mic" />
+ </path>
+
+ <path name="recognition-headset-mic">
+ <path name="recording-headset-mic" />
+ </path>
+
+ <path name="recognition-headphone-mic">
+ <path name="recognition-mic" />
+ </path>
+
+ <path name="recognition-lineout-mic">
+ <path name="recognition-mic" />
+ </path>
+
+ <path name="recognition-bt-sco-headset-in">
+ <path name="media-bt-sco-mic" />
+ </path>
+
+ <!-- VoiceCall paths -->
+ <path name="incall_nb-handset-mic">
+ <ctl name="ABOX ERAP info FM Radio On" value="0" />
+ <ctl name="ABOX PCM ext VPCMIN ON" value="0" />
+ <ctl name="ABOX Sampling Rate Inmux1" value="48000" />
+ <path name="route-cp-tx" />
+ <path name="route-loop-record" />
+ <path name="route-codec-main-mic-L" />
+ <path name="route-codec-sub-mic-R" />
+ </path>
+
+ <path name="incall_nb_hac-handset-mic">
+ <path name="incall_nb-handset-mic" />
+ </path>
+
+ <path name="incall_nb-speaker0-mic">
+ <ctl name="ABOX ERAP info FM Radio On" value="0" />
+ <ctl name="ABOX PCM ext VPCMIN ON" value="0" />
+ <ctl name="ABOX Sampling Rate Inmux1" value="48000" />
+ <path name="route-cp-tx" />
+ <path name="route-loop-record" />
+ <path name="route-codec-main-mic-R" />
+ <path name="route-codec-sub-mic-L" />
+ </path>
+
+ <path name="incall_nb-speaker1-mic">
+ <ctl name="ABOX ERAP info FM Radio On" value="0" />
+ <ctl name="ABOX PCM ext VPCMIN ON" value="0" />
+ <ctl name="ABOX Sampling Rate Inmux1" value="48000" />
+ <path name="route-cp-tx" />
+ <path name="route-loop-record" />
+ <path name="route-codec-main-mic-R" />
+ <path name="route-codec-sub-mic-L" />
+ </path>
+
+ <path name="incall_nb-headphone-mic">
+ <path name="incall_nb-speaker0-mic" />
+ </path>
+
+ <path name="incall_nb_hac-headphone-mic">
+ <path name="incall_nb_hac-speaker0-mic" />
+ </path>
+
+ <path name="incall_nb-lineout-mic">
+ <path name="incall_nb-speaker0-mic" />
+ </path>
+
+ <path name="incall_nb_hac-lineout-mic">
+ <path name="incall_nb_hac-speaker0-mic" />
+ </path>
+
+ <path name="incall_nb_hac-speaker0-mic">
+ <path name="incall_nb-speaker0-mic" />
+ </path>
+
+ <path name="incall_nb_hac-speaker1-mic">
+ <path name="incall_nb-speaker1-mic" />
+ </path>
+
+ <path name="incall_nb-headset-mic">
+ <ctl name="ABOX ERAP info FM Radio On" value="0" />
+ <ctl name="ABOX PCM ext VPCMIN ON" value="0" />
+ <ctl name="ABOX Sampling Rate Inmux1" value="48000" />
+ <path name="route-cp-tx" />
+ <path name="route-loop-record" />
+ <path name="route-codec-headset-mic" />
+ </path>
+
+ <path name="incall_nb_hac-headset-mic">
+ <path name="incall_nb-headset-mic" />
+ </path>
+
+ <path name="incall_nb-bt-sco-headset-in">
+ <ctl name="ABOX ERAP info FM Radio On" value="0" />
+ <ctl name="ABOX PCM ext VPCMIN ON" value="0" />
+ <ctl name="ABOX Sampling Rate Inmux1" value="48000" />
+ <path name="route-bt-sco-tx" />
+ <path name="route-cp-bt-sco-tx" />
+ </path>
+
+ <path name="incall_nb_hac-bt-sco-headset-in">
+ <path name="incall_nb-bt-sco-headset-in" />
+ </path>
+
+ <!-- Incall Music Mic path -->
+ <path name="route-incall-music-uplink">
+ <!-- CP Rx to AP Tx routing-->
+ <path name="route-ap-music-to-cp-tx" />
+ </path>
+
+ <path name="incall_music-handset-mic">
+ <path name="incall_nb-handset-mic" />
+ <path name="route-incall-music-uplink" />
+ </path>
+
+ <path name="incall_music_hac-handset-mic">
+ <path name="incall_music-handset-mic" />
+ </path>
+
+ <path name="incall_music-headphone-mic">
+ <path name="incall_music-handset-mic" />
+ </path>
+
+ <path name="incall_music_hac-headphone-mic">
+ <path name="incall_music-handset-mic" />
+ </path>
+
+ <path name="incall_music-lineout-mic">
+ <path name="incall_music-handset-mic" />
+ </path>
+
+ <path name="incall_music_hac-lineout-mic">
+ <path name="incall_music-handset-mic" />
+ </path>
+
+ <path name="incall_music-speaker0-mic">
+ <path name="incall_nb-speaker0-mic" />
+ <path name="route-incall-music-uplink" />
+ </path>
+
+ <path name="incall_music-speaker1-mic">
+ <path name="incall_nb-speaker1-mic" />
+ <path name="route-incall-music-uplink" />
+ </path>
+
+ <path name="incall_music_hac-speaker0-mic">
+ <path name="incall_music-speaker0-mic" />
+ </path>
+
+ <path name="incall_music_hac-speaker1-mic">
+ <path name="incall_music-speaker1-mic" />
+ </path>
+
+ <path name="incall_music-headset-mic">
+ <path name="incall_nb-headset-mic" />
+ <path name="route-incall-music-uplink" />
+ </path>
+
+ <path name="incall_music_hac-headset-mic">
+ <path name="incall_music-headset-mic" />
+ </path>
+
+ <path name="incall_music-bt-sco-headset-in">
+ <path name="incall_nb-bt-sco-headset-in" />
+ <path name="route-incall-music-uplink" />
+ </path>
+
+ <path name="incall_music_hac-bt-sco-headset-in">
+ <path name="incall_music-bt-sco-headset-in" />
+ </path>
+
+ <!-- Communication Capture paths -->
+
+ <path name="communication-handset-mic">
+ <ctl name="ABOX OEM AP Call BW" value="0x000201" />
+ <ctl name="ABOX OEM AP Call type" value="8" />
+ <ctl name="ABOX OEM NXP Mode" value="1" />
+ <ctl name="ABOX Speech Param" value="8" />
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <path name="route-codec-main-mic-L" />
+ <path name="route-codec-sub-mic-R" />
+ </path>
+
+ <path name="communication-headphone-mic">
+ <ctl name="ABOX OEM AP Call BW" value="0x000201" />
+ <ctl name="ABOX OEM AP Call type" value="10" />
+ <ctl name="ABOX OEM NXP Mode" value="1" />
+ <ctl name="ABOX Speech Param" value="10" />
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <path name="route-codec-main-mic-R" />
+ <path name="route-codec-sub-mic-L" />
+ </path>
+
+ <path name="communication-lineout-mic">
+ <ctl name="ABOX OEM AP Call BW" value="0x000201" />
+ <ctl name="ABOX OEM AP Call type" value="12" />
+ <ctl name="ABOX OEM NXP Mode" value="1" />
+ <ctl name="ABOX Speech Param" value="12" />
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <path name="route-codec-main-mic-R" />
+ <path name="route-codec-sub-mic-L" />
+ </path>
+
+ <path name="communication-2nd-mic">
+ <path name="media-2nd-mic" />
+ </path>
+
+ <path name="communication-headset-mic">
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <path name="route-codec-headset-mic" />
+ <ctl name="ABOX OEM AP Call BW" value="0x010101" />
+ <ctl name="ABOX OEM AP Call type" value="11" />
+ <ctl name="ABOX OEM NXP Mode" value="1" />
+ <ctl name="ABOX Speech Param" value="11" />
+ </path>
+
+ <path name="communication-speaker0-mic">
+ <ctl name="ABOX OEM AP Call BW" value="0x020201" />
+ <ctl name="ABOX OEM AP Call type" value="9" />
+ <ctl name="ABOX OEM NXP Mode" value="1" />
+ <ctl name="ABOX Speech Param" value="9" />
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <path name="route-codec-main-mic-R" />
+ <path name="route-codec-sub-mic-L" />
+ </path>
+
+ <path name="communication-speaker1-mic">
+ <ctl name="ABOX OEM AP Call BW" value="0x020201" />
+ <ctl name="ABOX OEM AP Call type" value="9" />
+ <ctl name="ABOX OEM NXP Mode" value="1" />
+ <ctl name="ABOX Speech Param" value="9" />
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <path name="route-codec-main-mic-R" />
+ <path name="route-codec-sub-mic-L" />
+ </path>
+
+ <path name="communication-bt-sco-headset-in">
+ <path name="route-bt-sco-tx" />
+ <path name="route-ap-bt-sco-record" />
+ <ctl name="ABOX OEM AP Call BW" value="0x030101" />
+ <ctl name="ABOX OEM AP Call type" value="6" />
+ <ctl name="ABOX OEM NXP Mode" value="1" />
+ <ctl name="ABOX Speech Param" value="6" />
+ </path>
+
+ <!-- voip Capture paths -->
+ <path name="voip-mic">
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <path name="route-codec-main-mic-L" />
+ <path name="route-codec-sub-mic-R" />
+ </path>
+
+ <path name="voip-handset-mic">
+ <path name="voip-mic" />
+ <ctl name="ABOX OEM AP Call BW" value="0x000201" />
+ <ctl name="ABOX OEM AP Call type" value="8" />
+ <ctl name="ABOX OEM NXP Mode" value="1" />
+ <ctl name="ABOX Speech Param" value="8" />
+ </path>
+
+ <path name="voip-headphone-mic">
+ <path name="voip-mic" />
+ <ctl name="ABOX OEM AP Call BW" value="0x000201" />
+ <ctl name="ABOX OEM AP Call type" value="10" />
+ <ctl name="ABOX OEM NXP Mode" value="1" />
+ <ctl name="ABOX Speech Param" value="10" />
+ </path>
+
+ <path name="voip-lineout-mic">
+ <path name="voip-mic" />
+ <ctl name="ABOX OEM AP Call BW" value="0x000201" />
+ <ctl name="ABOX OEM AP Call type" value="12" />
+ <ctl name="ABOX OEM NXP Mode" value="1" />
+ <ctl name="ABOX Speech Param" value="12" />
+ </path>
+ <path name="voip-2nd-mic">
+ <path name="media-2nd-mic" />
+ </path>
+
+ <path name="voip-headset-mic">
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <path name="route-codec-headset-mic" />
+ <ctl name="ABOX OEM AP Call BW" value="0x010101" />
+ <ctl name="ABOX OEM AP Call type" value="11" />
+ <ctl name="ABOX OEM NXP Mode" value="1" />
+ <ctl name="ABOX Speech Param" value="11" />
+ </path>
+
+ <path name="voip-speaker0-mic">
+ <path name="voip-mic" />
+ <ctl name="ABOX OEM AP Call BW" value="0x020201" />
+ <ctl name="ABOX OEM AP Call type" value="9" />
+ <ctl name="ABOX OEM NXP Mode" value="1" />
+ <ctl name="ABOX Speech Param" value="9" />
+ </path>
+
+ <path name="voip-speaker1-mic">
+ <path name="voip-mic" />
+ <ctl name="ABOX OEM AP Call BW" value="0x020201" />
+ <ctl name="ABOX OEM AP Call type" value="9" />
+ <ctl name="ABOX OEM NXP Mode" value="1" />
+ <ctl name="ABOX Speech Param" value="9" />
+ </path>
+
+ <path name="voip-bt-sco-headset-in">
+ <path name="route-bt-sco-tx" />
+ <path name="route-ap-bt-sco-record" />
+ <ctl name="ABOX OEM AP Call BW" value="0x030101" />
+ <ctl name="ABOX OEM AP Call type" value="6" />
+ <ctl name="ABOX OEM NXP Mode" value="1" />
+ <ctl name="ABOX Speech Param" value="6" />
+ </path>
+ <!-- FM Radio Capture paths -->
+ <path name="fm_radio-fm-tuner">
+ <path name="route-fm" />
+ <path name="route-ap-record" />
+ <path name="route-codec-main-mic-L" />
+ </path>
+
+ <path name="recording-fm-tuner">
+ <path name="route-fm" />
+ <!-- headset Mic path -->
+ <path name="route-ap-record" />
+ <path name="route-codec-main-mic-L" />
+ </path>
+
+ <!-- TTY mode paths -->
+ <path name="tty_mode-headset">
+ <!-- TTY mode VCO & FULL mode Playback paths -->
+ <path name="route-playback" />
+ <path name="route-codec-headset" />
+ <path name="route-codec-headset-feedback" />
+ <path name="route-incall-reference" />
+ <ctl name="ABOX Sound Type" value="HEADSET" />
+ </path>
+
+ <path name="tty_mode-handset">
+ <!-- TTY mode HCO mode Playback paths -->
+ <path name="route-playback" />
+ <path name="route-codec-handset" />
+ <path name="route-codec-handset-feedback" />
+ <path name="route-incall-reference" />
+ <ctl name="ABOX Sound Type" value="VOICE" />
+ </path>
+
+ <path name="tty_mode-speaker0">
+ <path name="incall_nb-speaker0" />
+ </path>
+
+ <path name="tty_mode-speaker1">
+ <path name="incall_nb-speaker1" />
+ </path>
+
+ <path name="tty_mode-full-mic">
+ <!-- TTY mode FULL mode MIC -->
+ <ctl name="ABOX ERAP info FM Radio On" value="0" />
+ <ctl name="ABOX PCM ext VPCMIN ON" value="0" />
+ <path name="route-cp-tx" />
+ <path name="route-loop-record" />
+ <path name="AOV" />
+ <path name="route-codec-headset-mic" />
+ </path>
+
+ <path name="tty_mode-handset-mic">
+ <!-- TTY mode HCO MIC paths -->
+ <ctl name="ABOX ERAP info FM Radio On" value="0" />
+ <ctl name="ABOX PCM ext VPCMIN ON" value="0" />
+ <path name="route-cp-tx" />
+ <path name="route-loop-record" />
+ <path name="AOV" />
+ <path name="route-codec-headset-mic" />
+ </path>
+
+ <path name="tty_mode-hco-mic">
+ <path name="tty_mode-handset-mic" />
+ </path>
+
+ <path name="tty_mode-vco-mic">
+ <!-- TTY mode VCO MIC paths -->
+ <ctl name="ABOX ERAP info FM Radio On" value="0" />
+ <ctl name="ABOX PCM ext VPCMIN ON" value="0" />
+ <path name="route-cp-tx" />
+ <path name="route-loop-record" />
+ <path name="AOV" />
+ <path name="route-codec-main-mic-L" />
+ </path>
+
+ <!-- media gain controls for each path -->
+ <!-- Play paths gain controls -->
+ <path name="gain-media-handset">
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="128 128" />
+ </path>
+
+ <path name="gain-media-speaker0">
+ <ctl name="SPK DSP1 Firmware" value="protectionsp_indmusic_qisheng" />
+ <ctl name="SPK PCM Source" value="DSP" />
+ <ctl name="AIF2TX1 Input 1 Volume" value="32" />
+ <ctl name="AIF2TX2 Input 1 Volume" value="32" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ </path>
+
+ <path name="gain-media-speaker1">
+ <ctl name="SPK DSP1 Firmware" value="protectionsp_indmusic_aac" />
+ <ctl name="SPK PCM Source" value="DSP" />
+ <ctl name="AIF2TX1 Input 1 Volume" value="32" />
+ <ctl name="AIF2TX2 Input 1 Volume" value="32" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ </path>
+
+ <path name="gain-media-headset">
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="104 104" />
+ </path>
+
+ <path name="gain-media-headset-fm">
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="113 113" />
+ </path>
+
+ <path name="gain-media-speaker0-headset">
+ <path name="gain-media-speaker0" />
+ <path name="gain-media-headset" />
+ </path>
+
+ <path name="gain-media-speaker1-headset">
+ <path name="gain-media-speaker1" />
+ <path name="gain-media-headset" />
+ </path>
+
+ <path name="gain-media-bt-sco-headset">
+ <path name="gain-media-headset" />
+ </path>
+
+ <path name="gain-media-headphone">
+ <path name="gain-media-headset" />
+ </path>
+
+ <path name="gain-media-lineout">
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="124 124" />
+ </path>
+
+ <path name="gain-media-speaker0-headphone">
+ <path name="gain-media-headset" />
+ <path name="gain-media-speaker0" />
+ </path>
+
+ <path name="gain-media-speaker1-headphone">
+ <path name="gain-media-headset" />
+ <path name="gain-media-speaker1" />
+ </path>
+
+ <path name="gain-media-speaker0-lineout">
+ <path name="gain-media-lineout" />
+ <path name="gain-media-speaker0" />
+ </path>
+
+ <path name="gain-media-speaker1-lineout">
+ <path name="gain-media-lineout" />
+ <path name="gain-media-speaker1" />
+ </path>
+
+ <path name="gain-media-speaker0-bt-sco-headset">
+ <path name="gain-media-speaker0" />
+ </path>
+
+ <path name="gain-media-speaker1-bt-sco-headset">
+ <path name="gain-media-speaker1" />
+ </path>
+
+ <path name="gain-media_ringtone-handset">
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="128 128" />
+ </path>
+
+ <path name="gain-media_ringtone-speaker0">
+ <ctl name="SPK DSP1 Firmware" value="protectionsp_ringtone_qisheng" />
+ <ctl name="SPK PCM Source" value="DSP" />
+ <ctl name="AIF2TX1 Input 1 Volume" value="32" />
+ <ctl name="AIF2TX2 Input 1 Volume" value="32" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ </path>
+
+ <path name="gain-media_ringtone-speaker1">
+ <ctl name="SPK DSP1 Firmware" value="protectionsp_ringtone_aac" />
+ <ctl name="SPK PCM Source" value="DSP" />
+ <ctl name="AIF2TX1 Input 1 Volume" value="32" />
+ <ctl name="AIF2TX2 Input 1 Volume" value="32" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ </path>
+
+ <path name="gain-media_ringtone-headset">
+ <path name="gain-media-headset" />
+ </path>
+
+ <path name="gain-media_ringtone-speaker0-headset">
+ <path name="gain-media_ringtone-headset" />
+ <path name="gain-media_ringtone-speaker0" />
+ </path>
+
+ <path name="gain-media_ringtone-speaker1-headset">
+ <path name="gain-media_ringtone-headset" />
+ <path name="gain-media_ringtone-speaker1" />
+ </path>
+
+ <path name="gain-media_ringtone-bt-sco-headset">
+ </path>
+
+ <path name="gain-media_ringtone-headphone">
+ <path name="gain-media_ringtone-headset" />
+ </path>
+
+ <path name="gain-media_ringtone-lineout">
+ <path name="gain-media-lineout" />
+ </path>
+
+ <path name="gain-media_ringtone-speaker0-headphone">
+ <path name="gain-media_ringtone-headset" />
+ <path name="gain-media_ringtone-speaker0" />
+ </path>
+
+ <path name="gain-media_ringtone-speaker1-headphone">
+ <path name="gain-media_ringtone-headset" />
+ <path name="gain-media_ringtone-speaker1" />
+ </path>
+
+ <path name="gain-media_ringtone-speaker0-bt-sco-headset">
+ <path name="gain-media_ringtone-speaker0" />
+ </path>
+
+ <path name="gain-media_ringtone-speaker1-bt-sco-headset">
+ <path name="gain-media_ringtone-speaker1" />
+ </path>
+
+ <path name="gain-media_ringtone-speaker0-lineout">
+ <path name="gain-media_ringtone-lineout" />
+ <path name="gain-media_ringtone-speaker0" />
+ </path>
+
+ <path name="gain-media_ringtone-speaker1-lineout">
+ <path name="gain-media_ringtone-lineout" />
+ <path name="gain-media_ringtone-speaker1" />
+ </path>
+
+ <path name="gain-media_notification-handset">
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="128 128" />
+ </path>
+
+ <path name="gain-media_notification-speaker0">
+ <ctl name="SPK DSP1 Firmware" value="protectionsp_notification_qisheng" />
+ <ctl name="SPK PCM Source" value="DSP" />
+ <ctl name="AIF2TX1 Input 1 Volume" value="32" />
+ <ctl name="AIF2TX2 Input 1 Volume" value="32" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ </path>
+
+ <path name="gain-media_notification-speaker1">
+ <ctl name="SPK DSP1 Firmware" value="protectionsp_notification_aac" />
+ <ctl name="SPK PCM Source" value="DSP" />
+ <ctl name="AIF2TX1 Input 1 Volume" value="32" />
+ <ctl name="AIF2TX2 Input 1 Volume" value="32" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ </path>
+
+ <path name="gain-media_notification-headset">
+ <path name="gain-media-headset" />
+ </path>
+
+ <path name="gain-media_notification-speaker0-headset">
+ <path name="gain-media_notification-headset" />
+ <path name="gain-media_notification-speaker0" />
+ </path>
+
+ <path name="gain-media_notification-speaker1-headset">
+ <path name="gain-media_notification-headset" />
+ <path name="gain-media_notification-speaker1" />
+ </path>
+
+ <path name="gain-media_notification-bt-sco-headset">
+ <path name="gain-media_notification-headset" />
+ </path>
+
+ <path name="gain-media_notification-headphone">
+ <path name="gain-media_notification-headset" />
+ </path>
+
+ <path name="gain-media_notification-lineout">
+ <path name="gain-media-lineout" />
+ </path>
+
+ <path name="gain-media_notification-speaker0-headphone">
+ <path name="gain-media_notification-headset" />
+ <path name="gain-media_notification-speaker0" />
+ </path>
+
+ <path name="gain-media_notification-speaker1-headphone">
+ <path name="gain-media_notification-speaker1" />
+ </path>
+
+ <path name="gain-media_notification-speaker0-bt-sco-headset">
+ <path name="gain-media_notification-speaker0" />
+ </path>
+
+ <path name="gain-media_notification-speaker1-bt-sco-headset">
+ <path name="gain-media_notification-speaker1" />
+ </path>
+
+ <path name="gain-media_notification-speaker0-lineout">
+ <path name="gain-media_notification-lineout" />
+ <path name="gain-media_notification-speaker0" />
+ </path>
+
+ <path name="gain-media_notification-speaker1-lineout">
+ <path name="gain-media_notification-lineout" />
+ <path name="gain-media_notification-speaker1" />
+ </path>
+
+ <!-- Capture paths gain controls -->
+ <path name="gain-media-main-mic">
+ <ctl name="IN1L Volume" value="31" />
+ <ctl name="IN1R Volume" value="31" />
+ <ctl name="IN2L Volume" value="31" />
+ <ctl name="IN2R Volume" value="31" />
+ <ctl name="IN1L Digital Volume" value="128" />
+ <ctl name="IN1R Digital Volume" value="128" />
+ <ctl name="IN2L Digital Volume" value="128" />
+ <ctl name="IN2R Digital Volume" value="128" />
+ </path>
+
+ <path name="gain-media-sub-mic">
+ <ctl name="IN1L Volume" value="31" />
+ <ctl name="IN1R Volume" value="31" />
+ <ctl name="IN2L Volume" value="31" />
+ <ctl name="IN2R Volume" value="31" />
+ <ctl name="IN1L Digital Volume" value="128" />
+ <ctl name="IN1R Digital Volume" value="128" />
+ <ctl name="IN2L Digital Volume" value="128" />
+ <ctl name="IN2R Digital Volume" value="128" />
+ </path>
+
+ <path name="gain-media-headset-mic">
+ <ctl name="IN1L Volume" value="31" />
+ <ctl name="IN1R Volume" value="31" />
+ <ctl name="IN2L Volume" value="31" />
+ <ctl name="IN2R Volume" value="31" />
+ <ctl name="IN1L Digital Volume" value="128" />
+ <ctl name="IN1R Digital Volume" value="128" />
+ <ctl name="IN2L Digital Volume" value="128" />
+ <ctl name="IN2R Digital Volume" value="128" />
+ </path>
+
+ <path name="gain-recording-mic">
+ <ctl name="IN1L Volume" value="31"/>
+ <ctl name="IN1L Digital Volume" value="128" />
+ <ctl name="IN2L Volume" value="31"/>
+ <ctl name="IN2L Digital Volume" value="128" />
+ </path>
+
+ <path name="gain-recording-mic1">
+ <ctl name="IN1L Volume" value="31"/>
+ <ctl name="IN1L Digital Volume" value="128" />
+ </path>
+
+ <path name="gain-recording-mic2">
+ <ctl name="IN2L Volume" value="31"/>
+ <ctl name="IN2L Digital Volume" value="128" />
+ </path>
+
+ <path name="gain-recording-2nd-mic">
+ <ctl name="IN2L Volume" value="31"/>
+ <ctl name="IN2L Digital Volume" value="128" />
+ </path>
+
+ <path name="gain-camcorder-mic">
+ <ctl name="IN1L Volume" value="12"/>
+ <ctl name="IN1L Digital Volume" value="128" />
+ </path>
+
+ <path name="gain-camcorder-2nd-mic">
+ <ctl name="IN2L Volume" value="12"/>
+ <ctl name="IN2L Digital Volume" value="128" />
+ </path>
+
+ <path name="gain-media-bt-sco-mic">
+ </path>
+
+ <path name="gain-media-headphone-mic">
+ <path name="gain-media-main-mic" />
+ </path>
+
+ <path name="gain-media-lineout-mic">
+ <path name="gain-media-main-mic" />
+ </path>
+
+ <path name="gain-recording-headset-mic">
+ <ctl name="IN1R Volume" value="31"/>
+ <ctl name="IN1R Digital Volume" value="128" />
+ </path>
+
+ <path name="gain-recording-bt-sco-headset-in">
+ </path>
+
+ <path name="gain-camcorder-dualmic">
+ <ctl name="IN1L Volume" value="9" />
+ <ctl name="IN2L Volume" value="9" />
+ <ctl name="IN1L Digital Volume" value="128" />
+ <ctl name="IN2L Digital Volume" value="128" />
+ </path>
+
+ <!-- recognition input volume -->
+ <path name="gain-recognition-mic">
+ <path name="gain-media-main-mic" />
+ </path>
+
+ <path name="gain-recognition-2nd-mic">
+ <path name="gain-media-sub-mic" />
+ </path>
+
+ <path name="gain-recognition-headset-mic">
+ <path name="gain-media-headset-mic" />
+ </path>
+
+ <path name="gain-recognition-headphone-mic">
+ <path name="gain-media-main-mic" />
+ </path>
+
+ <path name="gain-recognition-lineout-mic">
+ <path name="gain-media-main-mic" />
+ </path>
+
+ <path name="gain-recognition-bt-sco-headset-in">
+ </path>
+
+ <!-- Communication gain controls for each path -->
+ <!-- Play paths gain controls -->
+ <path name="gain-communication-handset">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="128 128" />
+ </path>
+
+ <path name="gain-communication-speaker0">
+ <ctl name="SPK DSP1 Firmware" value="protectionsp_voice_qisheng" />
+ <ctl name="SPK PCM Source" value="DSP" />
+ <ctl name="AIF2TX1 Input 1 Volume" value="32" />
+ <ctl name="AIF2TX2 Input 1 Volume" value="32" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ </path>
+
+ <path name="gain-communication-speaker1">
+ <ctl name="SPK DSP1 Firmware" value="protectionsp_voice_aac" />
+ <ctl name="SPK PCM Source" value="DSP" />
+ <ctl name="AIF2TX1 Input 1 Volume" value="32" />
+ <ctl name="AIF2TX2 Input 1 Volume" value="32" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ </path>
+
+ <path name="gain-communication-headset">
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="128 128" />
+ </path>
+ <path name="gain-communication-headphone">
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="128 128" />
+ </path>
+
+ <path name="gain-communication-lineout">
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="130 130" />
+ </path>
+
+ <path name="gain-communication-speaker0-headset">
+ <ctl name="SPK DSP1 Firmware" value="protectionsp_voice_qisheng" />
+ <ctl name="SPK PCM Source" value="DSP" />
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="130 130" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ </path>
+
+ <path name="gain-communication-speaker1-headset">
+ <ctl name="SPK DSP1 Firmware" value="protectionsp_voice_aac" />
+ <ctl name="SPK PCM Source" value="DSP" />
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="130 130" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ </path>
+
+ <path name="gain-communication-speaker0-lineout">
+ <ctl name="SPK DSP1 Firmware" value="protectionsp_voice_qisheng" />
+ <ctl name="SPK PCM Source" value="DSP" />
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="130 130" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ </path>
+
+ <path name="gain-communication-speaker1-lineout">
+ <ctl name="SPK DSP1 Firmware" value="protectionsp_voice_aac" />
+ <ctl name="SPK PCM Source" value="DSP" />
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="130 130" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ </path>
+
+ <path name="gain-communication-bt-sco-headset">
+ </path>
+
+ <!-- Capture paths gain controls -->
+
+
+ <path name="gain-communication-headset-mic">
+ <ctl name="IN1L Volume" value="21" />
+ <ctl name="IN1R Volume" value="21" />
+ <ctl name="IN2L Volume" value="21" />
+ <ctl name="IN2R Volume" value="21" />
+ <ctl name="IN1L Digital Volume" value="128" />
+ <ctl name="IN1R Digital Volume" value="128" />
+ <ctl name="IN2L Digital Volume" value="128" />
+ <ctl name="IN2R Digital Volume" value="128" />
+ </path>
+ <path name="gain-communication-headphone-mic">
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="134" />
+ <ctl name="IN1R Digital Volume" value="134" />
+ <ctl name="IN2L Digital Volume" value="148" />
+ <ctl name="IN2R Digital Volume" value="148" />
+ </path>
+
+
+ <path name="gain-communication-lineout-mic">
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="134" />
+ <ctl name="IN1R Digital Volume" value="134" />
+ <ctl name="IN2L Digital Volume" value="148" />
+ <ctl name="IN2R Digital Volume" value="148" />
+ </path>
+
+ <path name="gain-communication-bt-sco-headset-in">
+ </path>
+
+ <path name="gain-communication-handset-mic">
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="134" />
+ <ctl name="IN1R Digital Volume" value="134" />
+ <ctl name="IN2L Digital Volume" value="134" />
+ <ctl name="IN2R Digital Volume" value="134" />
+ </path>
+
+ <path name="gain-communication-speaker0-mic">
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="134" />
+ <ctl name="IN1R Digital Volume" value="134" />
+ <ctl name="IN2L Digital Volume" value="148" />
+ <ctl name="IN2R Digital Volume" value="148" />
+ </path>
+
+ <path name="gain-communication-speaker1-mic">
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="134" />
+ <ctl name="IN1R Digital Volume" value="134" />
+ <ctl name="IN2L Digital Volume" value="148" />
+ <ctl name="IN2R Digital Volume" value="148" />
+ </path>
+
+ <!-- voip gain controls for each path -->
+ <!-- Play paths gain controls -->
+ <path name="gain-voip-handset">
+ <path name="gain-media-handset" />
+ </path>
+
+ <path name="gain-voip-speaker0">
+ <path name="gain-media-speaker0" />
+ </path>
+
+ <path name="gain-voip-speaker1">
+ <path name="gain-media-speaker1" />
+ </path>
+
+ <path name="gain-voip-headset">
+ <path name="gain-media-headset" />
+ </path>
+
+ <path name="gain-voip-speaker0-headset">
+ <path name="gain-media-speaker0" />
+ <path name="gain-media-headset" />
+ </path>
+
+ <path name="gain-voip-speaker1-headset">
+ <path name="gain-media-speaker1" />
+ <path name="gain-media-headset" />
+ </path>
+
+ <path name="gain-voip-bt-sco-headset">
+ </path>
+
+ <!-- Capture paths gain controls -->
+ <path name="gain-voip-main-mic">
+ <path name="gain-media-main-mic" />
+ </path>
+
+ <path name="gain-voip-sub-mic">
+ <path name="gain-media-sub-mic" />
+ </path>
+
+ <path name="gain-voip-headset-mic">
+ <path name="gain-media-headset-mic" />
+ </path>
+
+ <path name="gain-voip-bt-sco-headset-in">
+ </path>
+
+ <path name="gain-voip-handset-mic">
+ <ctl name="IN1L Volume" value="32" />
+ <ctl name="IN1R Volume" value="32" />
+ <ctl name="IN2L Volume" value="32" />
+ <ctl name="IN2R Volume" value="32" />
+ <ctl name="IN1L Digital Volume" value="124" />
+ <ctl name="IN1R Digital Volume" value="124" />
+ <ctl name="IN2L Digital Volume" value="124" />
+ <ctl name="IN2R Digital Volume" value="124" />
+ </path>
+
+ <path name="gain-voip-speaker0-mic">
+ <path name="gain-media-main-mic" />
+ </path>
+
+ <path name="gain-voip-speaker1-mic">
+ <path name="gain-media-main-mic" />
+ </path>
+
+ <!-- Voice Call gain controls for each path -->
+ <!-- Play paths gain controls -->
+ <path name="gain-incall_nb-handset">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="136 136" />
+ </path>
+
+ <path name="gain-incall_nb_hac-handset">
+ <!-- Rx paths gain controls -->
+ <path name="gain-incall_nb-handset" />
+ </path>
+
+ <path name="gain-incall_music-handset">
+ <!-- Rx paths gain controls -->
+ <path name="gain-incall_nb-handset" />
+ </path>
+
+ <path name="gain-incall_nb-handset-mic">
+ <!-- Tx paths gain controls -->
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="128" />
+ <ctl name="IN1R Digital Volume" value="128" />
+ <ctl name="IN2L Digital Volume" value="128" />
+ <ctl name="IN2R Digital Volume" value="128" />
+ </path>
+
+ <path name="gain-incall_nb_hac-handset-mic">
+ <path name="gain-incall_nb-handset-mic" />
+ </path>
+
+ <path name="gain-incall_music-handset-mic">
+ </path>
+
+ <path name="gain-incall_nb-headset">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="128 128" />
+ </path>
+
+ <path name="gain-incall_nb_hac-headset">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="130 130" />
+ </path>
+
+ <path name="gain-incall_nb-headset-mic">
+ <!-- Tx paths gain controls -->
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="140" />
+ <ctl name="IN1R Digital Volume" value="140" />
+ <ctl name="IN2L Digital Volume" value="140" />
+ <ctl name="IN2R Digital Volume" value="140" />
+ </path>
+
+ <path name="gain-incall_nb_hac-headset-mic">
+ <path name="gain-incall_nb-headset-mic" />
+ </path>
+
+ <path name="gain-incall_nb-headphone">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="128 128" />
+ </path>
+
+ <path name="gain-incall_nb_hac-headphone">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="130 130" />
+ </path>
+
+ <path name="gain-incall_nb-lineout">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="130 130" />
+ </path>
+
+ <path name="gain-incall_nb_hac-lineout">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="130 130" />
+ </path>
+
+ <path name="gain-incall_nb-headphone-mic">
+ <!-- Tx paths gain controls -->
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="134" />
+ <ctl name="IN1R Digital Volume" value="134" />
+ <ctl name="IN2L Digital Volume" value="148" />
+ <ctl name="IN2R Digital Volume" value="148" />
+ </path>
+
+ <path name="gain-incall_nb_hac-headphone-mic">
+ <path name="gain-incall_nb-headphone-mic" />
+ </path>
+
+ <path name="gain-incall_nb-lineout-mic">
+ <!-- Tx paths gain controls -->
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="134" />
+ <ctl name="IN1R Digital Volume" value="134" />
+ <ctl name="IN2L Digital Volume" value="148" />
+ <ctl name="IN2R Digital Volume" value="148" />
+ </path>
+
+ <path name="gain-incall_nb_hac-lineout-mic">
+ <path name="gain-incall_nb-lineout-mic" />
+ </path>
+
+ <path name="gain-incall_nb-bt-sco-headset">
+ </path>
+
+ <path name="gain-incall_nb_hac-bt-sco-headset">
+ </path>
+
+ <path name="gain-incall_nb-bt-sco-headset-in">
+ </path>
+
+ <path name="gain-incall_nb_hac-bt-sco-headset-in">
+ </path>
+
+
+ <path name="gain-incall_nb-speaker0">
+ <!-- Tx paths gain controls -->
+ <ctl name="SPK DSP1 Firmware" value="protectionsp_voice_qisheng" />
+ <ctl name="SPK PCM Source" value="DSP" />
+ <ctl name="AIF2TX1 Input 1 Volume" value="32" />
+ <ctl name="AIF2TX2 Input 1 Volume" value="32" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ <!-- Rx paths gain controls -->
+ </path>
+
+ <path name="gain-incall_nb-speaker1">
+ <!-- Rx paths gain controls -->
+ <ctl name="SPK DSP1 Firmware" value="protectionsp_voice_aac" />
+ <ctl name="SPK PCM Source" value="DSP" />
+ <ctl name="AIF2TX1 Input 1 Volume" value="32" />
+ <ctl name="AIF2TX2 Input 1 Volume" value="32" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ </path>
+
+ <path name="gain-incall_nb_hac-speaker0">
+ <path name="gain-incall_nb-speaker0" />
+ </path>
+
+ <path name="gain-incall_nb_hac-speaker1">
+ <path name="gain-incall_nb-speaker1" />
+ </path>
+
+ <path name="gain-incall_nb-speaker0-mic">
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="134" />
+ <ctl name="IN1R Digital Volume" value="134" />
+ <ctl name="IN2L Digital Volume" value="148" />
+ <ctl name="IN2R Digital Volume" value="148" />
+ </path>
+
+ <path name="gain-incall_nb-speaker1-mic">
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="134" />
+ <ctl name="IN1R Digital Volume" value="134" />
+ <ctl name="IN2L Digital Volume" value="148" />
+ <ctl name="IN2R Digital Volume" value="148" />
+ </path>
+
+ <path name="gain-incall_nb_hac-speaker0-mic">
+ <path name="gain-incall_nb-speaker0-mic" />
+ </path>
+
+ <path name="gain-incall_nb_hac-speaker1-mic">
+ <path name="gain-incall_nb-speaker1-mic" />
+ </path>
+
+ <path name="gain-incall_wb-handset">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="124 124" />
+ </path>
+
+ <path name="gain-incall_wb_hac-handset">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="124 124" />
+ </path>
+
+ <path name="gain-incall_wb-handset-mic">
+ <!-- Tx paths gain controls -->
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="128" />
+ <ctl name="IN1R Digital Volume" value="128" />
+ <ctl name="IN2L Digital Volume" value="128" />
+ <ctl name="IN2R Digital Volume" value="128" />
+ </path>
+
+ <path name="gain-incall_wb_hac-handset-mic">
+ <path name="gain-incall_wb-handset-mic" />
+ </path>
+
+ <path name="gain-incall_wb-headset">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="106 106" />
+ </path>
+
+ <path name="gain-incall_wb_hac-headset">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="106 106" />
+ </path>
+
+ <path name="gain-incall_wb-headset-mic">
+ <!-- Tx paths gain controls -->
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="128" />
+ <ctl name="IN1R Digital Volume" value="128" />
+ <ctl name="IN2L Digital Volume" value="128" />
+ <ctl name="IN2R Digital Volume" value="128" />
+ </path>
+
+ <path name="gain-incall_wb_hac-headset-mic">
+ <path name="gain-incall_wb-headset-mic" />
+ </path>
+
+ <path name="gain-incall_wb-headphone">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="106 106" />
+ </path>
+
+ <path name="gain-incall_wb_hac-headphone">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="106 106" />
+ </path>
+
+ <path name="gain-incall_wb-lineout">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="106 106" />
+ </path>
+
+ <path name="gain-incall_wb_hac-lineout">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="106 106" />
+ </path>
+
+ <path name="gain-incall_wb-headphone-mic">
+ <!-- Tx paths gain controls -->
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="128" />
+ <ctl name="IN1R Digital Volume" value="128" />
+ <ctl name="IN2L Digital Volume" value="128" />
+ <ctl name="IN2R Digital Volume" value="128" />
+ </path>
+
+ <path name="gain-incall_wb_hac-headphone-mic">
+ <path name="gain-incall_wb-headphone-mic" />
+ </path>
+
+ <path name="gain-incall_wb-lineout-mic">
+ <!-- Tx paths gain controls -->
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="128" />
+ <ctl name="IN1R Digital Volume" value="128" />
+ <ctl name="IN2L Digital Volume" value="128" />
+ <ctl name="IN2R Digital Volume" value="128" />
+ </path>
+
+ <path name="gain-incall_wb_hac-lineout-mic">
+ <path name="gain-incall_wb-lineout-mic" />
+ </path>
+
+ <path name="gain-incall_wb-bt-sco-headset">
+ </path>
+
+ <path name="gain-incall_wb_hac-bt-sco-headset">
+ </path>
+
+ <path name="gain-incall_wb-bt-sco-headset-in">
+ </path>
+
+ <path name="gain-incall_wb_hac-bt-sco-headset-in">
+ </path>
+
+ <path name="gain-incall_wb-speaker0">
+ <!-- Tx paths gain controls -->
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="128" />
+ <ctl name="IN1R Digital Volume" value="128" />
+ <ctl name="IN2L Digital Volume" value="128" />
+ <ctl name="IN2R Digital Volume" value="128" />
+ <!-- Rx paths gain controls -->
+ </path>
+
+ <path name="gain-incall_wb-speaker1">
+ <!-- Tx paths gain controls -->
+ <ctl name="IN1L Volume" value="31" />
+ <ctl name="IN1R Volume" value="31" />
+ <ctl name="IN2L Volume" value="31" />
+ <ctl name="IN2R Volume" value="31" />
+ <ctl name="IN1L Digital Volume" value="128" />
+ <ctl name="IN1R Digital Volume" value="128" />
+ <ctl name="IN2L Digital Volume" value="128" />
+ <ctl name="IN2R Digital Volume" value="128" />
+ <!-- Rx paths gain controls -->
+ </path>
+
+ <path name="gain-incall_wb_hac-speaker0">
+ <path name="gain-incall_wb-speaker0" />
+ </path>
+
+ <path name="gain-incall_wb_hac-speaker1">
+ <path name="gain-incall_wb-speaker1" />
+ </path>
+
+ <path name="gain-incall_wb-speaker0-mic">
+ <path name="gain-incall_nb-speaker0-mic" />
+ </path>
+
+ <path name="gain-incall_wb-speaker1-mic">
+ <path name="gain-incall_nb-speaker1-mic" />
+ </path>
+
+ <path name="gain-incall_wb_hac-speaker0-mic">
+ <path name="gain-incall_nb_hac-speaker0-mic" />
+ </path>
+
+ <path name="gain-incall_wb_hac-speaker1-mic">
+ <path name="gain-incall_nb_hac-speaker1-mic" />
+ </path>
+
+ <!-- tty paths gain controls -->
+ <path name="gain-tty_mode-headset">
+ <!-- TTY mode VCO & FULL mode Playback paths -->
+ <!-- Tx paths gain controls -->
+ <ctl name="IN1L Volume" value="25" />
+ <ctl name="IN1R Volume" value="25" />
+ <ctl name="IN2L Volume" value="25" />
+ <ctl name="IN2R Volume" value="25" />
+ <ctl name="IN1L Digital Volume" value="104" />
+ <ctl name="IN1R Digital Volume" value="104" />
+ <ctl name="IN2L Digital Volume" value="104" />
+ <ctl name="IN2R Digital Volume" value="104" />
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="25" />
+ <ctl name="HPOUT1R Input 1 Volume" value="25" />
+ <ctl name="HPOUT1 Digital Volume" value="110 110" />
+ </path>
+
+ <!-- FM Radio Playback paths gain control -->
+ <path name="gain-fm_radio-speaker0">
+ <path name="gain-media-speaker0" />
+ </path>
+
+ <path name="gain-fm_radio-speaker1">
+ <path name="gain-media-speaker1" />
+ </path>
+
+ <path name="gain-fm_radio-headphone">
+ <path name="gain-media-headset-fm" />
+ </path>
+
+ <path name="gain-fm_radio-headset">
+ <path name="gain-media-headset-fm" />
+ </path>
+
+ <path name="gain-fm_radio-lineout">
+ <path name="gain-media-lineout" />
+ </path>
+
+ <path name="gain-tty_mode-full-mic">
+ <!-- TTY mode FULL mode MIC -->
+ <!-- Tx paths gain controls -->
+ <ctl name="IN1L Volume" value="25" />
+ <ctl name="IN1R Volume" value="25" />
+ <ctl name="IN2L Volume" value="25" />
+ <ctl name="IN2R Volume" value="25" />
+ <ctl name="IN1L Digital Volume" value="104" />
+ <ctl name="IN1R Digital Volume" value="104" />
+ <ctl name="IN2L Digital Volume" value="104" />
+ <ctl name="IN2R Digital Volume" value="104" />
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="25" />
+ <ctl name="HPOUT1R Input 1 Volume" value="25" />
+ <ctl name="HPOUT1 Digital Volume" value="110 110" />
+ </path>
+
+ <path name="gain-tty_mode-handset">
+ <!-- TTY mode HCO mode Playback paths -->
+ <!-- Tx paths gain controls -->
+ <ctl name="IN1L Volume" value="25" />
+ <ctl name="IN1R Volume" value="25" />
+ <ctl name="IN2L Volume" value="25" />
+ <ctl name="IN2R Volume" value="25" />
+ <ctl name="IN1L Digital Volume" value="104" />
+ <ctl name="IN1R Digital Volume" value="104" />
+ <ctl name="IN2L Digital Volume" value="104" />
+ <ctl name="IN2R Digital Volume" value="104" />
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="110 110" />
+ </path>
+
+ <path name="gain-tty_mode-speaker0">
+ <path name="gain-incall_nb-speaker0" />
+ </path>
+
+ <path name="gain-tty_mode-speaker1">
+ <path name="gain-incall_nb-speaker1" />
+ </path>
+
+ <path name="gain-tty_mode-handset-mic">
+ <!-- TTY mode HCO MIC paths -->
+ <!-- Tx paths gain controls -->
+ <ctl name="IN1L Volume" value="25" />
+ <ctl name="IN1R Volume" value="25" />
+ <ctl name="IN2L Volume" value="25" />
+ <ctl name="IN2R Volume" value="25" />
+ <ctl name="IN1L Digital Volume" value="104" />
+ <ctl name="IN1R Digital Volume" value="104" />
+ <ctl name="IN2L Digital Volume" value="104" />
+ <ctl name="IN2R Digital Volume" value="104" />
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="110 110" />
+ </path>
+
+ <path name="gain-tty_mode-hco-mic">
+ <path name="gain-tty_mode-handset-mic" />
+ </path>
+
+ <path name="gain-tty_mode-vco-mic">
+ <!-- TTY mode VCO MIC paths -->
+ <!-- Tx paths gain controls -->
+ <ctl name="IN1L Volume" value="25" />
+ <ctl name="IN1R Volume" value="25" />
+ <ctl name="IN2L Volume" value="25" />
+ <ctl name="IN2R Volume" value="25" />
+ <ctl name="IN1L Digital Volume" value="104" />
+ <ctl name="IN1R Digital Volume" value="104" />
+ <ctl name="IN2L Digital Volume" value="104" />
+ <ctl name="IN2R Digital Volume" value="104" />
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="110 110" />
+ </path>
+
+ <path name="gain-incall_music-handset">
+ <path name="gain-incall_nb-handset" />
+ </path>
+
+ <path name="gain-incall_music_hac-handset">
+ <path name="gain-incall_music-handset" />
+ </path>
+
+ <path name="gain-incall_music-speaker0">
+ <path name="gain-incall_nb-speaker0" />
+ </path>
+
+ <path name="gain-incall_music-speaker1">
+ <path name="gain-incall_nb-speaker1" />
+ </path>
+
+ <path name="gain-incall_music_hac-speaker0">
+ <path name="gain-incall_music-speaker0" />
+ </path>
+
+ <path name="gain-incall_music_hac-speaker1">
+ <path name="gain-incall_music-speaker1" />
+ </path>
+
+ <path name="gain-incall_music-headset">
+ <path name="gain-incall_nb-headset" />
+ </path>
+
+ <path name="gain-incall_music_hac-headset">
+ <path name="gain-incall_music-headset" />
+ </path>
+
+ <path name="gain-incall_music-headphone">
+ <path name="gain-incall_music-headset" />
+ </path>
+
+ <path name="gain-incall_music_hac-headphone">
+ <path name="gain-incall_music-headset" />
+ </path>
+
+ <path name="gain-incall_music-lineout">
+ <path name="gain-incall_nb-lineout" />
+ </path>
+
+ <path name="gain-incall_music_hac-lineout">
+ <path name="gain-incall_music-lineout" />
+ </path>
+
+ <path name="gain-incall_music-bt-sco-headset">
+ <path name="gain-incall_nb-bt-sco-headset" />
+ </path>
+
+ <path name="gain-incall_music_hac-bt-sco-headset">
+ <path name="gain-incall_music-bt-sco-headset" />
+ </path>
+
+ <path name="gain-incall_music-handset-mic">
+ <path name="gain-incall_nb-handset-mic" />
+ </path>
+
+ <path name="gain-incall_music_hac-handset-mic">
+ <path name="gain-incall_music-handset-mic" />
+ </path>
+
+ <path name="gain-incall_music-headphone-mic">
+ <path name="gain-incall_nb-headphone-mic" />
+ </path>
+
+ <path name="gain-incall_music_hac-headphone-mic">
+ <path name="gain-incall_music-headphone-mic" />
+ </path>
+
+ <path name="gain-incall_music-lineout-mic">
+ <path name="gain-incall_nb-lineout-mic" />
+ </path>
+
+ <path name="gain-incall_music_hac-lineout-mic">
+ <path name="gain-incall_music-lineout-mic" />
+ </path>
+
+ <path name="gain-incall_music-speaker0-mic">
+ <path name="gain-incall_nb-speaker0-mic" />
+ </path>
+
+ <path name="gain-incall_music-speaker1-mic">
+ <path name="gain-incall_nb-speaker1-mic" />
+ </path>
+
+ <path name="gain-incall_music_hac-speaker0-mic">
+ <path name="gain-incall_music-speaker0-mic" />
+ </path>
+
+ <path name="gain-incall_music_hac-speaker1-mic">
+ <path name="gain-incall_music-speaker1-mic" />
+ </path>
+
+ <path name="gain-incall_music-headset-mic">
+ <path name="gain-incall_nb-headset-mic" />
+ </path>
+
+ <path name="gain-incall_music_hac-headset-mic">
+ <path name="gain-incall_music-headset-mic" />
+ </path>
+
+ <path name="gain-incall_music-bt-sco-headset-in">
+ <path name="gain-incall_nb-bt-sco-headset-in" />
+ </path>
+
+ <path name="gain-incall_music_hac-bt-sco-headset-in">
+ <path name="gain-incall_music-bt-sco-headset-in" />
+ </path>
+
+ <path name="media-speaker-ar">
+ <path name="route-playback" />
+ <path name="route-codec-speaker" />
+ </path>
+
+ <path name="media_ringtone-speaker-ar">
+ <path name="route-playback" />
+ <path name="route-codec-speaker" />
+ </path>
+
+ <path name="gain-media-speaker-ar">
+ <ctl name="SPK PCM Source" value="ASP" />
+ <ctl name="AIF2TX1 Input 1 Volume" value="32" />
+ <ctl name="AIF2TX2 Input 1 Volume" value="32" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ </path>
+
+ <path name="gain-media_ringtone-speaker-ar">
+ <ctl name="SPK PCM Source" value="ASP" />
+ <ctl name="AIF2TX1 Input 1 Volume" value="32" />
+ <ctl name="AIF2TX2 Input 1 Volume" value="32" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ </path>
+</mixer>
--- /dev/null
+<mixer>
+ <!-- These paths are for ERD with Exynos9610 -->
+
+ <!-- Board Device Connections -->
+ <!-- UAIF0 - CODEC for normal Playback and Capture -->
+ <!-- UAIF1 - None -->
+ <!-- UAIF2 - Echo Reference from Codec -->
+ <!-- UAIF3 - None -->
+ <!-- UAIF4 - Loopback -->
+ <!-- SPDY - FM Radio -->
+
+ <!-- Exynos A-Box Term -->
+ <!-- SIFS0 : Mixer for Playback -->
+ <!-- SIFS1 : Mux1 for Playback -->
+ <!-- SIFS2 : Mux2 for Playback -->
+ <!-- RSRC0 : Recording Source 0 -->
+ <!-- RSRC1 : Recording Source 1 -->
+ <!-- NSRC0 : Capture Source 0 -->
+ <!-- NSRC1 : Capture Source 1 -->
+ <!-- NSRC2 : Capture Source 2 -->
+ <!-- NSRC3 : Capture Source 3 -->
+
+ <!-- Initial Mixer control configurations -->
+ <ctl name="ABOX Sampling Rate Mixer" value="48000" />
+ <ctl name="ABOX Sampling Rate Out1" value="48000" />
+ <ctl name="ABOX Sampling Rate Out2" value="48000" />
+
+ <ctl name="ABOX SPUS ASRC0" value="On" />
+ <ctl name="ABOX SPUS ASRC1" value="On" />
+ <ctl name="ABOX SPUS ASRC2" value="On" />
+ <ctl name="ABOX SPUS ASRC3" value="On" />
+ <ctl name="ABOX SPUS ASRC4" value="On" />
+ <ctl name="ABOX SPUS ASRC5" value="On" />
+ <ctl name="ABOX SPUS ASRC6" value="On" />
+ <ctl name="ABOX SPUS ASRC7" value="On" />
+
+ <ctl name="ABOX SPUS OUT0" value="SIFS0" />
+ <ctl name="ABOX SPUS OUT1" value="SIFS0" />
+ <ctl name="ABOX SPUS OUT2" value="SIFS0" />
+ <ctl name="ABOX SPUS OUT3" value="SIFS0" />
+ <ctl name="ABOX SPUS OUT4" value="SIFS0" />
+ <ctl name="ABOX SPUS OUT5" value="SIFS0" />
+ <ctl name="ABOX SPUS OUT6" value="SIFS2" />
+ <ctl name="ABOX SPUS OUT7" value="SIFS1" />
+
+ <ctl name="ABOX SIFS1" value="SPUS OUT7" />
+ <ctl name="ABOX SIFS2" value="SPUS OUT6" />
+
+ <ctl name="ABOX UAIF1 SPK" value="SIFS2" />
+
+ <ctl name="ABOX Sampling Rate Recp" value="48000" />
+ <ctl name="ABOX Sampling Rate Inmux0" value="48000" />
+ <ctl name="ABOX Sampling Rate Inmux1" value="48000" />
+ <ctl name="ABOX Sampling Rate Inmux2" value="48000" />
+ <ctl name="ABOX Sampling Rate Inmux3" value="48000" />
+ <ctl name="ABOX Sampling Rate Inmux4" value="48000" />
+
+ <ctl name="ABOX SPUM ASRC0" value="On" />
+ <ctl name="ABOX SPUM ASRC1" value="On" />
+ <ctl name="ABOX SPUM ASRC2" value="On" />
+ <ctl name="ABOX SPUM ASRC3" value="On" />
+ <ctl name="ABOX RECP PIFS0" value="0" />
+ <ctl name="ABOX RECP PIFS1" value="0" />
+
+ <ctl name="ABOX SIFM0" value="WDMA" />
+ <ctl name="ABOX SIFM1" value="WDMA" />
+ <ctl name="ABOX SIFM2" value="WDMA" />
+ <ctl name="ABOX SIFM3" value="WDMA" />
+
+ <ctl name="ABOX NSRC0" value="RESERVED" />
+ <ctl name="ABOX NSRC1" value="RESERVED" />
+ <ctl name="ABOX NSRC2" value="RESERVED" />
+ <ctl name="ABOX NSRC3" value="RESERVED" />
+
+ <ctl name="ABOX ERAP info FM Radio On" value="0" />
+ <ctl name="ABOX PCM ext VPCMIN ON" value="0" />
+ <!-- Callscreen mic+music data mixing enabling control -->
+ <ctl name="ABOX ERAP info ICM On" value="0" />
+
+ <!-- Initial Codec control configurations -->
+ <ctl name="IN1L Mux" value="A" />
+ <ctl name="IN1R Mux" value="B" />
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="128" />
+ <ctl name="IN1R Digital Volume" value="128" />
+ <ctl name="IN2L Digital Volume" value="128" />
+ <ctl name="IN2R Digital Volume" value="128" />
+ <ctl name="IN HPF Cutoff Frequency" value="40Hz" />
+ <ctl name="IN1L HPF Switch" value="1" />
+ <ctl name="IN1R HPF Switch" value="1" />
+ <ctl name="IN2L HPF Switch" value="1" />
+ <ctl name="IN2R HPF Switch" value="1" />
+ <ctl name="SLIMTX1 Input 1" value="None" />
+ <ctl name="SLIMTX2 Input 1" value="None" />
+ <ctl name="SLIMTX3 Input 1" value="None" />
+ <ctl name="SLIMTX5 Input 1" value="None" />
+ <ctl name="SLIMTX6 Input 1" value="None" />
+ <ctl name="Input Ramp Up" value="8ms/6dB" />
+ <ctl name="Input Ramp Down" value="8ms/6dB" />
+ <ctl name="AIF1TX1 Input 1" value="None" />
+ <ctl name="AIF1TX1 Input 2" value="None" />
+ <ctl name="AIF1TX1 Input 3" value="None" />
+ <ctl name="AIF1TX1 Input 1 Volume" value="32" />
+ <ctl name="AIF1TX1 Input 2 Volume" value="32" />
+ <ctl name="AIF1TX1 Input 3 Volume" value="32" />
+ <ctl name="AIF1TX2 Input 1" value="None" />
+ <ctl name="AIF1TX2 Input 2" value="None" />
+ <ctl name="AIF1TX2 Input 3" value="None" />
+ <ctl name="AIF1TX2 Input 1 Volume" value="32" />
+ <ctl name="AIF1TX2 Input 2 Volume" value="32" />
+ <ctl name="AIF1TX2 Input 3 Volume" value="32" />
+ <ctl name="HPOUT1L Input 1" value="None" />
+ <ctl name="HPOUT1R Input 1" value="None" />
+ <ctl name="HPOUT1 Digital Volume" id="0" value="0" />
+ <ctl name="HPOUT1 Digital Volume" id="1" value="0" />
+ <ctl name="HPOUT1 Digital Switch" id="0" value="0" />
+ <ctl name="HPOUT1 Digital Switch" id="1" value="0" />
+ <ctl name="DSP2 Firmware" value="frontend" />
+ <ctl name="DSP3 Firmware" value="aov" />
+ <ctl name="Sample Rate 2" value="16kHz" />
+ <ctl name="Sample Rate 3" value="48kHz" />
+ <ctl name="In Rate" value="SYNCCLK rate 3" />
+ <ctl name="FX Rate" value="SYNCCLK rate 2" />
+ <ctl name="ISRC1 FSH" value="SYNCCLK rate 3" />
+ <ctl name="ISRC1 FSL" value="SYNCCLK rate 2" />
+ <ctl name="LHPF1 Input 1" value="None" />
+ <ctl name="LHPF1 Mode" value="High-pass" />
+ <ctl name="LHPF1 Coefficients" id="0" value="0xF0" />
+ <ctl name="LHPF1 Coefficients" id="1" value="0xC4" />
+ <ctl name="DSP2L Input 1" value="LHPF1" />
+ <ctl name="DSP2L Input 1 Volume" value="48" />
+ <ctl name="LHPF2 Input 1" value="None" />
+ <ctl name="LHPF2 Mode" value="High-pass" />
+ <ctl name="LHPF2 Coefficients" id="0" value="0xF0" />
+ <ctl name="LHPF2 Coefficients" id="1" value="0xC4" />
+ <ctl name="DSP2 Aux 1" value="LHPF2" />
+ <ctl name="LHPF3 Input 1" value="None" />
+ <ctl name="LHPF3 Mode" value="High-pass" />
+ <ctl name="LHPF3 Coefficients" id="0" value="0xF0" />
+ <ctl name="LHPF3 Coefficients" id="1" value="0xC4" />
+ <ctl name="DSP2R Input 1" value="LHPF3" />
+ <ctl name="DSP2R Input 1 Volume" value="48" />
+ <ctl name="LHPF4 Input 1" value="None" />
+ <ctl name="LHPF4 Mode" value="High-pass" />
+ <ctl name="LHPF4 Coefficients" id="0" value="0xF0" />
+ <ctl name="LHPF4 Coefficients" id="1" value="0xC4" />
+ <ctl name="DSP2 Aux 2" value="LHPF4" />
+ <ctl name="DSP2 Aux 5" value="None" />
+ <ctl name="LHPF1 Input 1" value="ISRC1DEC1" />
+ <ctl name="LHPF2 Input 1" value="ISRC1DEC2" />
+ <ctl name="LHPF3 Input 1" value="ISRC1DEC3" />
+ <ctl name="DRC1R Input 1" value="None" />
+ <ctl name="DRC1L Input 1" value="None" />
+ <ctl name="DRC1" id="0" value="0x01" />
+ <ctl name="DRC1" id="1" value="0x78" />
+ <ctl name="DRC1" id="2" value="0x07" />
+ <ctl name="DRC1" id="3" value="0x30" />
+ <ctl name="DRC1" id="4" value="0x08" />
+ <ctl name="DRC1" id="5" value="0x20" />
+ <ctl name="DRC1" id="6" value="0x00" />
+ <ctl name="DRC1" id="7" value="0xc2" />
+ <ctl name="DRC1" id="8" value="0x01" />
+ <ctl name="DRC1" id="9" value="0x6d" />
+ <ctl name="HPOUT1L Input 2" value="None" />
+ <ctl name="HPOUT1R Input 2" value="None" />
+ <ctl name="HPOUT1 Demux" value="HPOUT" />
+ <ctl name="EQ1 Input 1" value="None" />
+ <ctl name="HPOUT1L Input 2 Volume" value="32" />
+ <ctl name="HPOUT1R Input 2 Volume" value="32" />
+ <ctl name="DSP3L Input 1" value="None" />
+ <ctl name="DSP3R Input 1" value="None" />
+ <ctl name="DSP3 Aux 5" value="None" />
+ <ctl name="DSP3 Aux 6" value="None" />
+ <ctl name="DRC2R Input 1" value="None" />
+ <ctl name="DRC2L Input 1" value="None" />
+ <ctl name="DRC2" id="0" value="0x01" />
+ <ctl name="DRC2" id="1" value="0x78" />
+ <ctl name="DRC2" id="2" value="0x09" />
+ <ctl name="DRC2" id="3" value="0x30" />
+ <ctl name="DRC2" id="4" value="0x08" />
+ <ctl name="DRC2" id="5" value="0x28" />
+ <ctl name="DRC2" id="6" value="0x00" />
+ <ctl name="DRC2" id="7" value="0x42" />
+ <ctl name="DRC2" id="8" value="0x01" />
+ <ctl name="DRC2" id="9" value="0xbf" />
+ <ctl name="AIF2TX1 Input 1 Volume" value="32" />
+ <ctl name="AIF2TX2 Input 1 Volume" value="32" />
+
+ <!-- AOV default settings -->
+ <!-- AOV default sample rate settings -->
+ <ctl name="Sample Rate 2" value="16kHz" />
+ <ctl name="Sample Rate 3" value="48kHz" />
+ <ctl name="In Rate" value="SYNCCLK rate 2" />
+ <ctl name="FX Rate" value="SYNCCLK rate 2" />
+ <ctl name="ISRC1 FSH" value="SYNCCLK rate 3" />
+ <ctl name="ISRC1 FSL" value="SYNCCLK rate 2" />
+ <ctl name="ISRC2 FSH" value="SYNCCLK rate 3" />
+ <ctl name="ISRC2 FSL" value="SYNCCLK rate 2" />
+ <!-- AOV default microphone 1 settings -->
+ <ctl name="LHPF1 Input 1" value="None" />
+ <ctl name="LHPF1 Mode" value="High-pass" />
+ <ctl name="LHPF1 Coefficients" id="0" value="0xF0" />
+ <ctl name="LHPF1 Coefficients" id="1" value="0xC4" />
+ <ctl name="DSP2L Input 1" value="LHPF1" />
+ <ctl name="DSP2L Input 1 Volume" value="48" />
+ <!-- AOV default microphone 2 settings -->
+ <ctl name="LHPF2 Input 1" value="None" />
+ <ctl name="LHPF2 Mode" value="High-pass" />
+ <ctl name="LHPF2 Coefficients" id="0" value="0xF0" />
+ <ctl name="LHPF2 Coefficients" id="1" value="0xC4" />
+ <ctl name="DSP2 Aux 1" value="LHPF2" />
+ <!-- AOV default headset microphone settings -->
+ <ctl name="DSP2 Aux 5" value="None" />
+ <!-- AOV default settings end -->
+
+ <ctl name="SPK AMP PCM Gain" value="7" />
+ <ctl name="SPK PCM Soft Ramp" value="2ms" />
+ <ctl name="SPK AMP Enable Switch" value="0" />
+ <ctl name="SPK PCM Source" value="ASP" />
+
+ <!-- DRC1 Parameters for Mono and Stereo input -->
+ <path name="drc1-mono">
+ <ctl name="DRC1" id="0" value="0x01" />
+ <ctl name="DRC1" id="1" value="0x2A" />
+ <ctl name="DRC1" id="2" value="0x0A" />
+ <ctl name="DRC1" id="3" value="0xE5" />
+ <ctl name="DRC1" id="4" value="0x75" />
+ <ctl name="DRC1" id="5" value="0x52" />
+ <ctl name="DRC1" id="6" value="0x01" />
+ <ctl name="DRC1" id="7" value="0x88" />
+ <ctl name="DRC1" id="8" value="0x02" />
+ <ctl name="DRC1" id="9" value="0x4A" />
+ </path>
+
+ <path name="drc1-stereo">
+ <ctl name="DRC1" id="0" value="0x01" />
+ <ctl name="DRC1" id="1" value="0x2B" />
+ <ctl name="DRC1" id="2" value="0x0A" />
+ <ctl name="DRC1" id="3" value="0xE5" />
+ <ctl name="DRC1" id="4" value="0x75" />
+ <ctl name="DRC1" id="5" value="0x52" />
+ <ctl name="DRC1" id="6" value="0x01" />
+ <ctl name="DRC1" id="7" value="0x88" />
+ <ctl name="DRC1" id="8" value="0x02" />
+ <ctl name="DRC1" id="9" value="0x4A" />
+ </path>
+
+ <!-- Common control configurations -->
+ <path name="route-playback">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ <ctl name="ABOX UAIF0 SPK" value="SIFS0" />
+ </path>
+
+ <path name="route-spkamp-playback">
+ </path>
+
+ <path name="route-incall-reference">
+ <ctl name="ABOX NSRC2" value="UAIF2" />
+ <ctl name="ABOX SIFM2" value="WDMA" />
+ </path>
+
+ <path name="route-incall-bt-sco-reference">
+ <ctl name="ABOX NSRC2" value="UAIF4" />
+ <ctl name="ABOX SIFM2" value="WDMA" />
+ </path>
+
+ <path name="route-feedback">
+ <ctl name="ABOX NSRC2" value="UAIF2" />
+ <ctl name="ABOX SIFM2" value="WDMA" />
+ </path>
+
+ <path name="route-bt-sco-playback">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ <ctl name="ABOX RECP PIFS0" value="1" />
+ <ctl name="ABOX RSRC0" value="SIFS0" />
+ <ctl name="ABOX RECP PIFS1" value="0" />
+ <ctl name="ABOX RSRC1" value="RESERVED" />
+ <ctl name="BT SCO SPK Enable" value="1" />
+ </path>
+
+ <path name="route-ap-record">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ <ctl name="ABOX NSRC0" value="UAIF0" />
+ </path>
+
+ <path name="route-cp-tx">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ <ctl name="ABOX NSRC1" value="UAIF0" />
+ </path>
+
+ <path name="route-ap-bt-sco-record">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ <ctl name="ABOX NSRC0" value="SIFS2" />
+ </path>
+
+ <path name="route-cp-bt-sco-tx">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ <ctl name="ABOX NSRC1" value="SIFS2" />
+ </path>
+
+ <path name="route-loop-record">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ </path>
+
+ <path name="route-bt-sco-tx">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ <ctl name="ABOX SPUS OUT6" value="SIFS2" />
+ <ctl name="ABOX SIFS2" value="SPUS OUT6" />
+ <ctl name="BT SCO MIC Enable" value="1" />
+ </path>
+
+ <path name="route-ap-music-to-cp-tx">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ <ctl name="ABOX SPUS OUT7" value="SIFS1" />
+ <ctl name="ABOX SIFS1" value="SPUS OUT7" />
+ <ctl name="ABOX NSRC3" value="SIFS1" />
+ <ctl name="ABOX SIFM3" value="WDMA" />
+ </path>
+
+ <path name="route-codec-handset">
+ <!-- Cirrus Logic CS47L3 RCV path control -->
+ <ctl name="HPOUT1L Input 1" value="AIF1RX1" />
+ <ctl name="HPOUT1R Input 1" value="AIF1RX2" />
+ <ctl name="Noise Gate Switch" value="0" />
+ <ctl name="HPOUT1 Digital Volume" id="0" value="118" />
+ <ctl name="HPOUT1 Digital Volume" id="1" value="118" />
+ <ctl name="HPOUT1 Digital Switch" id="0" value="1" />
+ <ctl name="HPOUT1 Digital Switch" id="1" value="1" />
+ <ctl name="HPOUT1 Demux" value="EPOUT" />
+ <ctl name="HPOUT1 Mono Switch" value="1" />
+ </path>
+
+ <path name="route-codec-speaker">
+ <!-- Cirrus Logic CS47L3 Speaker path control -->
+ <ctl name="AIF2TX1 Input 1" value="AIF1RX1" />
+ <ctl name="AIF2TX2 Input 1" value="AIF1RX2" />
+ </path>
+
+ <path name="route-codec-headset">
+ <!-- Cirrus Logic CS47L3 HP path control -->
+ <ctl name="HPOUT1L Input 1" value="AIF1RX1" />
+ <ctl name="HPOUT1R Input 1" value="AIF1RX2" />
+ <ctl name="HPOUT1 Digital Volume" id="0" value="116" />
+ <ctl name="HPOUT1 Digital Volume" id="1" value="116" />
+ <ctl name="HPOUT1 Digital Switch" id="0" value="1" />
+ <ctl name="HPOUT1 Digital Switch" id="1" value="1" />
+ <ctl name="HPOUT1 Demux" value="HPOUT" />
+ <ctl name="HPOUT1 Mono Switch" value="0" />
+ </path>
+
+ <path name="route-codec-handset-feedback">
+ <!-- Cirrus Logic CS47L3 RCV path control -->
+ <ctl name="AIF3TX1 Input 1" value="AIF1RX1" />
+ </path>
+
+ <path name="route-codec-speaker-feedback">
+ <!-- Cirrus Logic CS47L3 RCV path control -->
+ <ctl name="AIF3TX1 Input 1" value="AIF1RX1" />
+ </path>
+
+ <path name="route-codec-headset-feedback">
+ <!-- Cirrus Logic CS47L3 RCV path control -->
+ <ctl name="AIF3TX1 Input 1" value="AIF1RX1" />
+ </path>
+
+ <path name="AOV">
+ <!-- Set ADC sample rate to 48kHz -->
+ <ctl name="In Rate" value="SYNCCLK rate 3" />
+ <!-- Microphone 1 settings -->
+ <ctl name="LHPF1 Input 1" value="ISRC1DEC1" />
+ <!-- Microphone 2 settings -->
+ <ctl name="LHPF2 Input 1" value="ISRC1DEC2" />
+ <!-- AOV default headset microphone settings -->
+ <ctl name="DSP2 Aux 5" value="ISRC2DEC1" />
+ </path>
+
+ <path name="route-codec-main-mic">
+ <!-- Cirrus Logic CS47L3 Main MIC path control -->
+ <ctl name="AIF1TX1 Input 1" value="IN1L" />
+ </path>
+
+ <path name="route-codec-main-mic-L">
+ <ctl name="AIF1TX1 Input 1" value="IN1L" />
+ </path>
+ <path name="route-codec-main-mic-R">
+ <ctl name="AIF1TX2 Input 1" value="IN1L" />
+ </path>
+ <path name="route-codec-sub-mic">
+ <!-- Cirrus Logic CS47L3 Sub MIC path control -->
+ <ctl name="AIF1TX1 Input 1" value="IN2L" />
+ </path>
+
+ <path name="route-codec-sub-mic-L">
+ <ctl name="AIF1TX1 Input 1" value="IN2L" />
+ </path>
+
+ <path name="route-codec-sub-mic-R">
+ <ctl name="AIF1TX2 Input 1" value="IN2L" />
+ </path>
+ <path name="route-codec-sub-mic-R-channel">
+ <!-- Cirrus Logic CS47L3 Sub MIC path control -->
+ <ctl name="AIF1TX2 Input 1" value="IN2L" />
+ </path>
+
+ <path name="route-codec-headset-mic">
+ <!-- Cirrus Logic CS47L3 HeadSet MIC path control -->
+ <ctl name="AIF1TX1 Input 1" value="IN1R" />
+ </path>
+
+ <path name="route-fm">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ <ctl name="ABOX ERAP info FM Radio On" value="1" />
+ <ctl name="ABOX PCM ext VPCMIN ON" value="1" />
+ <ctl name="ABOX Sampling Rate Inmux1" value="40000" />
+ <ctl name="ABOX NSRC1" value="SPDY" />
+ </path>
+
+ <!-- BT SCO Sampling Rate Settings -->
+ <path name="set-bt-sco-rx-rate-nb">
+ </path>
+
+ <path name="set-bt-sco-tx-rate-nb">
+ </path>
+
+ <path name="set-bt-sco-rx-rate-wb">
+ </path>
+
+ <path name="set-bt-sco-tx-rate-wb">
+ </path>
+
+ <!-- Output mixer settings -->
+ <!-- Playback paths -->
+ <path name="media-handset">
+ <path name="route-playback" />
+ <path name="route-codec-handset" />
+ </path>
+
+ <path name="media-speaker0">
+ <path name="route-playback" />
+ <path name="route-codec-speaker" />
+ </path>
+
+ <path name="media-speaker1">
+ <path name="route-playback" />
+ <path name="route-codec-speaker" />
+ </path>
+
+ <path name="media-headset">
+ <path name="route-playback" />
+ <path name="route-codec-headset" />
+ </path>
+
+ <path name="media-headphone">
+ <path name="media-headset" />
+ </path>
+
+ <!-- Lineout path routing is similar to Headphone-->
+ <path name="media-lineout">
+ <path name="route-playback" />
+ <path name="route-codec-headset" />
+ </path>
+
+ <path name="media-speaker0-headset">
+ <path name="route-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-headset" />
+ </path>
+
+ <path name="media-speaker1-headset">
+ <path name="route-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-headset" />
+ </path>
+
+ <path name="media-speaker0-headphone">
+ <path name="media-speaker0-headset" />
+ </path>
+
+ <path name="media-speaker1-headphone">
+ <path name="media-speaker1-headset" />
+ </path>
+
+ <path name="media-speaker0-lineout">
+ <path name="route-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-headset" />
+ </path>
+
+ <path name="media-speaker1-lineout">
+ <path name="route-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-headset" />
+ </path>
+
+ <path name="media-bt-sco-headset">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ <path name="route-playback" />
+ <path name="route-bt-sco-playback" />
+ </path>
+
+ <path name="fm_radio-bt-sco-headset">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ <path name="route-playback" />
+ <path name="route-bt-sco-playback" />
+ </path>
+
+ <path name="media-speaker0-bt-sco-headset">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ <path name="route-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-bt-sco-playback" />
+ </path>
+
+ <path name="media-speaker1-bt-sco-headset">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ <path name="route-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-bt-sco-playback" />
+ </path>
+
+ <path name="media_ringtone-handset">
+ <path name="media-handset" />
+ </path>
+
+ <path name="media_ringtone-speaker0">
+ <path name="media-speaker0" />
+ </path>
+
+ <path name="media_ringtone-speaker1">
+ <path name="media-speaker1" />
+ </path>
+
+ <path name="media_ringtone-headset">
+ <path name="media-headset" />
+ </path>
+
+ <path name="media_ringtone-headphone">
+ <path name="media-headphone" />
+ </path>
+
+ <path name="media_ringtone-lineout">
+ <path name="media-lineout" />
+ </path>
+
+ <path name="media_ringtone-speaker0-headset">
+ <path name="media-speaker0-headset" />
+ </path>
+
+ <path name="media_ringtone-speaker1-headset">
+ <path name="media-speaker1-headset" />
+ </path>
+
+ <path name="media_ringtone-speaker0-headphone">
+ <path name="media-speaker0-headphone" />
+ </path>
+
+ <path name="media_ringtone-speaker1-headphone">
+ <path name="media-speaker1-headphone" />
+ </path>
+
+ <path name="media_ringtone-bt-sco-headset">
+ <path name="media-bt-sco-headset" />
+ </path>
+
+ <path name="media_ringtone-speaker0-bt-sco-headset">
+ <path name="media-speaker0-bt-sco-headset" />
+ </path>
+
+ <path name="media_ringtone-speaker1-bt-sco-headset">
+ <path name="media-speaker1-bt-sco-headset" />
+ </path>
+
+ <path name="media_ringtone-speaker0-lineout">
+ <path name="media-speaker0-lineout" />
+ </path>
+
+ <path name="media_ringtone-speaker1-lineout">
+ <path name="media-speaker1-lineout" />
+ </path>
+
+ <path name="media_notification-handset">
+ <path name="media-handset" />
+ </path>
+
+ <path name="media_notification-speaker0">
+ <path name="media-speaker0" />
+ </path>
+
+ <path name="media_notification-speaker1">
+ <path name="media-speaker1" />
+ </path>
+
+ <path name="media_notification-headset">
+ <path name="media-headset" />
+ </path>
+
+ <path name="media_notification-headphone">
+ <path name="media-headphone" />
+ </path>
+
+ <path name="media_notification-lineout">
+ <path name="media-lineout" />
+ </path>
+
+ <path name="media_notification-speaker0-headset">
+ <path name="media-speaker0-headset" />
+ </path>
+
+ <path name="media_notification-speaker1-headset">
+ <path name="media-speaker1-headset" />
+ </path>
+
+ <path name="media_notification-speaker0-headphone">
+ <path name="media-speaker0-headphone" />
+ </path>
+
+ <path name="media_notification-speaker1-headphone">
+ <path name="media-speaker1-headphone" />
+ </path>
+
+ <path name="media_notification-bt-sco-headset">
+ <path name="media-bt-sco-headset" />
+ </path>
+
+ <path name="media_notification-speaker0-bt-sco-headset">
+ <path name="media-speaker0-bt-sco-headset" />
+ </path>
+
+ <path name="media_notification-speaker1-bt-sco-headset">
+ <path name="media-speaker1-bt-sco-headset" />
+ </path>
+
+ <path name="media_notification-speaker0-lineout">
+ <path name="media-speaker0-lineout" />
+ </path>
+
+ <path name="media_notification-speaker1-lineout">
+ <path name="media-speaker1-lineout" />
+ </path>
+
+ <!-- VoiceCall paths -->
+ <path name="incall_nb-handset">
+ <path name="route-playback" />
+ <path name="route-codec-handset" />
+ <path name="route-codec-handset-feedback" />
+ <path name="route-incall-reference" />
+ <ctl name="ABOX Sound Type" value="VOICE" />
+ </path>
+
+ <path name="incall_nb_hac-handset">
+ <path name="incall_nb-handset" />
+ </path>
+
+ <path name="incall_nb-speaker0">
+ <path name="route-playback" />
+ <path name="route-spkamp-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-speaker-feedback" />
+ <path name="route-incall-reference" />
+ <ctl name="ABOX Sound Type" value="SPEAKER" />
+ </path>
+
+ <path name="incall_nb-speaker1">
+ <path name="route-playback" />
+ <path name="route-spkamp-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-speaker-feedback" />
+ <path name="route-incall-reference" />
+ <ctl name="ABOX Sound Type" value="SPEAKER" />
+ </path>
+
+ <path name="incall_nb_hac-speaker0">
+ <path name="incall_nb-speaker0" />
+ </path>
+
+ <path name="incall_nb_hac-speaker1">
+ <path name="incall_nb-speaker1" />
+ </path>
+
+ <path name="incall_nb-headset">
+ <path name="route-playback" />
+ <path name="route-codec-headset" />
+ <path name="route-codec-headset-feedback" />
+ <path name="route-incall-reference" />
+ <ctl name="ABOX Sound Type" value="HEADSET" />
+ </path>
+
+ <path name="incall_nb_hac-headset">
+ <path name="incall_nb-headset" />
+ </path>
+
+ <path name="incall_nb-headphone">
+ <path name="incall_nb-headset" />
+ </path>
+
+ <path name="incall_nb_hac-headphone">
+ <path name="incall_nb-headset" />
+ </path>
+
+ <path name="incall_nb-lineout">
+ <path name="route-playback" />
+ <path name="route-codec-headset" />
+ <path name="route-codec-headset-feedback" />
+ <path name="route-incall-reference" />
+ <ctl name="ABOX Sound Type" value="LINEOUT" />
+ </path>
+
+ <path name="incall_nb_hac-lineout">
+ <path name="incall_nb-lineout" />
+ </path>
+
+ <path name="incall_nb-bt-sco-headset">
+ <path name="route-playback" />
+ <path name="route-bt-sco-playback" />
+ <path name="route-incall-bt-sco-reference" />
+ <ctl name="ABOX Sound Type" value="BTVOICE" />
+ </path>
+
+ <path name="incall_nb_hac-bt-sco-headset">
+ <path name="incall_nb-bt-sco-headset" />
+ </path>
+
+ <path name="incall_wb-handset">
+ <path name="incall_nb-handset" />
+ </path>
+
+ <path name="incall_wb_hac-handset">
+ <path name="incall_wb-handset" />
+ </path>
+
+ <path name="incall_wb-speaker0">
+ <path name="incall_nb-speaker0" />
+ </path>
+
+ <path name="incall_wb-speaker1">
+ <path name="incall_nb-speaker1" />
+ </path>
+
+ <path name="incall_wb_hac-speaker0">
+ <path name="incall_wb-speaker0" />
+ </path>
+
+ <path name="incall_wb_hac-speaker1">
+ <path name="incall_wb-speaker1" />
+ </path>
+
+ <path name="incall_wb-headset">
+ <path name="incall_nb-headset" />
+ </path>
+
+ <path name="incall_wb_hac-headset">
+ <path name="incall_wb-headset" />
+ </path>
+
+ <path name="incall_wb-headphone">
+ <path name="incall_wb-headset" />
+ </path>
+
+ <path name="incall_wb_hac-headphone">
+ <path name="incall_wb-headset" />
+ </path>
+
+ <path name="incall_wb-lineout">
+ <path name="incall_nb-lineout" />
+ </path>
+
+ <path name="incall_wb_hac-lineout">
+ <path name="incall_nb-lineout" />
+ </path>
+
+ <path name="incall_wb-bt-sco-headset">
+ <path name="incall_nb-bt-sco-headset" />
+ </path>
+
+ <path name="incall_wb_hac-bt-sco-headset">
+ <path name="incall_wb-bt-sco-headset" />
+ </path>
+
+ <!-- Incall Music path -->
+ <path name="incall_music-handset">
+ <path name="incall_nb-handset" />
+ <ctl name="ABOX ERAP info ICM On" value="1" />
+ </path>
+
+ <path name="incall_music_hac-handset">
+ <path name="incall_music-handset" />
+ </path>
+
+ <path name="incall_music-speaker0">
+ <path name="incall_nb-speaker0" />
+ <ctl name="ABOX ERAP info ICM On" value="1" />
+ </path>
+
+ <path name="incall_music-speaker1">
+ <path name="incall_nb-speaker1" />
+ <ctl name="ABOX ERAP info ICM On" value="1" />
+ </path>
+
+ <path name="incall_music_hac-speaker0">
+ <path name="incall_music-speaker0" />
+ </path>
+
+ <path name="incall_music_hac-speaker1">
+ <path name="incall_music-speaker1" />
+ </path>
+
+ <path name="incall_music-headset">
+ <path name="incall_nb-headset" />
+ <ctl name="ABOX ERAP info ICM On" value="1" />
+ </path>
+
+ <path name="incall_music_hac-headset">
+ <path name="incall_music-headset" />
+ </path>
+ <path name="incall_music-headphone">
+ <path name="incall_music-headset" />
+ </path>
+
+ <path name="incall_music_hac-headphone">
+ <path name="incall_music-headset" />
+ </path>
+
+ <path name="incall_music-lineout">
+ <path name="incall_nb-lineout" />
+ <ctl name="ABOX ERAP info ICM On" value="1" />
+ </path>
+
+ <path name="incall_music_hac-lineout">
+ <path name="incall_music-lineout" />
+ </path>
+
+ <path name="incall_music-bt-sco-headset">
+ <path name="incall_nb-bt-sco-headset" />
+ <ctl name="ABOX ERAP info ICM On" value="1" />
+ </path>
+
+ <path name="incall_music_hac-bt-sco-headset">
+ <path name="incall_music-bt-sco-headset" />
+ </path>
+
+ <!-- Communication Playback paths -->
+ <path name="communication-handset">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-codec-handset" />
+ <path name="route-codec-handset-feedback" />
+ <ctl name="ABOX Speech Param" value="8" />
+ </path>
+
+ <path name="communication-speaker0">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-spkamp-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-speaker-feedback" />
+ <ctl name="ABOX Speech Param" value="9" />
+ </path>
+
+ <path name="communication-speaker1">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-spkamp-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-speaker-feedback" />
+ <ctl name="ABOX Speech Param" value="9" />
+ </path>
+
+ <path name="communication-headset">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-codec-headset" />
+ <path name="route-codec-headset-feedback" />
+ <ctl name="ABOX Speech Param" value="11" />
+ </path>
+
+ <path name="communication-headphone">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-codec-headset" />
+ <path name="route-codec-headset-feedback" />
+ <ctl name="ABOX Speech Param" value="10" />
+ </path>
+
+ <path name="communication-lineout">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-codec-headset" />
+ <path name="route-codec-headset-feedback" />
+ <ctl name="ABOX Speech Param" value="12" />
+ </path>
+
+ <path name="communication-speaker0-headset">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-spkamp-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-speaker-feedback" />
+ <path name="route-codec-headset" />
+ <ctl name="ABOX Speech Param" value="11" />
+ </path>
+
+ <path name="communication-speaker1-headset">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-spkamp-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-speaker-feedback" />
+ <path name="route-codec-headset" />
+ <ctl name="ABOX Speech Param" value="11" />
+ </path>
+
+ <path name="communication-speaker0-headphone">
+ <path name="communication-speaker0-headset" />
+ </path>
+
+ <path name="communication-speaker1-headphone">
+ <path name="communication-speaker1-headset" />
+ </path>
+
+ <path name="communication-speaker0-lineout">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-spkamp-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-speaker-feedback" />
+ <path name="route-codec-headset" />
+ </path>
+
+ <path name="communication-speaker1-lineout">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-spkamp-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-speaker-feedback" />
+ <path name="route-codec-headset" />
+ </path>
+
+ <path name="communication-bt-sco-headset">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-bt-sco-playback" />
+ <ctl name="ABOX Speech Param" value="6" />
+ </path>
+
+ <!-- voip Playback paths -->
+ <path name="voip-handset">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-codec-handset" />
+ <path name="route-codec-handset-feedback" />
+ <ctl name="ABOX Speech Param" value="8" />
+ </path>
+
+ <path name="voip-speaker0">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-spkamp-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-speaker-feedback" />
+ <ctl name="ABOX Speech Param" value="9" />
+ </path>
+
+ <path name="voip-speaker1">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-spkamp-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-speaker-feedback" />
+ <ctl name="ABOX Speech Param" value="9" />
+ </path>
+
+ <path name="voip-headset">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-codec-headset" />
+ <path name="route-codec-headset-feedback" />
+ <ctl name="ABOX Speech Param" value="11" />
+ </path>
+
+ <path name="voip-headphone">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-codec-headset" />
+ <path name="route-codec-headset-feedback" />
+ <ctl name="ABOX Speech Param" value="10" />
+ </path>
+
+ <path name="voip-lineout">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-codec-headset" />
+ <path name="route-codec-headset-feedback" />
+ <ctl name="ABOX Speech Param" value="12" />
+ </path>
+
+ <path name="voip-speaker0-headset">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-spkamp-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-speaker-feedback" />
+ <path name="route-codec-headset" />
+ <ctl name="ABOX Speech Param" value="11" />
+ </path>
+
+ <path name="voip-speaker1-headset">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-spkamp-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-speaker-feedback" />
+ <path name="route-codec-headset" />
+ <ctl name="ABOX Speech Param" value="11" />
+ </path>
+
+ <path name="voip-speaker0-headphone">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-spkamp-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-speaker-feedback" />
+ <path name="route-codec-headset" />
+ <ctl name="ABOX Speech Param" value="10" />
+ </path>
+
+ <path name="voip-speaker1-headphone">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-spkamp-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-speaker-feedback" />
+ <path name="route-codec-headset" />
+ <ctl name="ABOX Speech Param" value="10" />
+ </path>
+
+ <path name="voip-speaker0-lineout">
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-spkamp-playback" />
+ <path name="route-codec-speaker" />
+ <path name="route-codec-speaker-feedback" />
+ <path name="route-codec-headset" />
+ </path>
+
+ <path name="voip-speaker1-lineout">
+ <path name="voip-speaker0-lineout" />
+ </path>
+ <path name="voip-bt-sco-headset">
+ <!-- Calliope Mixer controls-->
+ <!-- Calliope Routing Matrix controls-->
+ <path name="route-playback" />
+ <path name="route-feedback" />
+ <path name="route-bt-sco-playback" />
+ <ctl name="ABOX Speech Param" value="6" />
+ </path>
+
+ <!-- FM Radio Playback paths -->
+ <path name="fm_radio-speaker0">
+ <path name="media-speaker0" />
+ </path>
+
+ <path name="fm_radio-speaker1">
+ <path name="media-speaker1" />
+ </path>
+
+ <path name="fm_radio-headphone">
+ <path name="media-headphone" />
+ </path>
+
+ <path name="fm_radio-headset">
+ <path name="media-headset" />
+ </path>
+
+ <path name="fm_radio-lineout">
+ <path name="media-lineout" />
+ </path>
+
+ <!-- Input mixer settings -->
+ <!-- Capture paths -->
+ <path name="media-mic">
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <path name="route-codec-main-mic-L" />
+ </path>
+
+ <path name="media-headset-mic">
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <path name="route-codec-headset-mic" />
+ </path>
+
+ <path name="recording-mic">
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <ctl name="AIF1TX1 Input 1" value="IN1L" />
+ <ctl name="AIF1TX2 Input 1" value="IN2L" />
+ </path>
+
+ <path name="recording-mic1">
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <ctl name="AIF1TX1 Input 1" value="IN1L" />
+ </path>
+
+ <path name="recording-mic2">
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <ctl name="AIF1TX1 Input 1" value="IN2L" />
+ </path>
+
+ <path name="media-2nd-mic">
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <path name="route-codec-sub-mic-L" />
+ </path>
+
+ <path name="recording-2nd-mic">
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <ctl name="AIF1TX1 Input 1" value="IN2L" />
+ </path>
+
+ <path name="camcorder-mic">
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <ctl name="ISRC2DEC1 Input 1" value="IN1L" />
+ <ctl name="DRC1L Input 1" value="ISRC2DEC1" />
+ <ctl name="ISRC2INT1 Input 1" value="DRC1L" />
+ <path name="drc1-mono" />
+ <ctl name="AIF1TX1 Input 1" value="ISRC2INT1" />
+ </path>
+
+ <path name="camcorder-2nd-mic">
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <ctl name="ISRC2DEC1 Input 1" value="IN2L" />
+ <ctl name="DRC1L Input 1" value="ISRC2DEC1" />
+ <ctl name="ISRC2INT1 Input 1" value="DRC1L" />
+ <path name="drc1-mono" />
+ <ctl name="AIF1TX1 Input 1" value="ISRC2INT1" />
+ </path>
+
+ <path name="camcorder-dualmic">
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <ctl name="AIF1TX1 Input 1" value="IN2L" />
+ <ctl name="AIF1TX2 Input 1" value="IN1L" />
+ </path>
+
+ <path name="recording-headset-mic">
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <ctl name="AIF1TX1 Input 1" value="IN1R" />
+ <ctl name="AIF1TX2 Input 1" value="IN1R" />
+ </path>
+
+ <path name="media-bt-sco-mic">
+ <path name="route-bt-sco-tx" />
+ <path name="route-ap-bt-sco-record" />
+ </path>
+
+ <path name="recording-bt-sco-headset-in">
+ <path name="media-bt-sco-mic" />
+ </path>
+
+ <!-- Recognition Input paths -->
+ <path name="recognition-mic">
+ <path name="media-mic" />
+ </path>
+
+ <path name="recognition-2nd-mic">
+ <path name="media-2nd-mic" />
+ </path>
+
+ <path name="recognition-headset-mic">
+ <path name="recording-headset-mic" />
+ </path>
+
+ <path name="recognition-headphone-mic">
+ <path name="recognition-mic" />
+ </path>
+
+ <path name="recognition-lineout-mic">
+ <path name="recognition-mic" />
+ </path>
+
+ <path name="recognition-bt-sco-headset-in">
+ <path name="media-bt-sco-mic" />
+ </path>
+
+ <!-- VoiceCall paths -->
+ <path name="incall_nb-handset-mic">
+ <ctl name="ABOX ERAP info FM Radio On" value="0" />
+ <ctl name="ABOX PCM ext VPCMIN ON" value="0" />
+ <ctl name="ABOX Sampling Rate Inmux1" value="48000" />
+ <path name="route-cp-tx" />
+ <path name="route-loop-record" />
+ <path name="route-codec-main-mic-L" />
+ <path name="route-codec-sub-mic-R" />
+ </path>
+
+ <path name="incall_nb_hac-handset-mic">
+ <path name="incall_nb-handset-mic" />
+ </path>
+
+ <path name="incall_nb-speaker0-mic">
+ <ctl name="ABOX ERAP info FM Radio On" value="0" />
+ <ctl name="ABOX PCM ext VPCMIN ON" value="0" />
+ <ctl name="ABOX Sampling Rate Inmux1" value="48000" />
+ <path name="route-cp-tx" />
+ <path name="route-loop-record" />
+ <path name="route-codec-main-mic-R" />
+ <path name="route-codec-sub-mic-L" />
+ </path>
+
+ <path name="incall_nb-speaker1-mic">
+ <ctl name="ABOX ERAP info FM Radio On" value="0" />
+ <ctl name="ABOX PCM ext VPCMIN ON" value="0" />
+ <ctl name="ABOX Sampling Rate Inmux1" value="48000" />
+ <path name="route-cp-tx" />
+ <path name="route-loop-record" />
+ <path name="route-codec-main-mic-R" />
+ <path name="route-codec-sub-mic-L" />
+ </path>
+
+ <path name="incall_nb-headphone-mic">
+ <path name="incall_nb-speaker0-mic" />
+ </path>
+
+ <path name="incall_nb_hac-headphone-mic">
+ <path name="incall_nb_hac-speaker0-mic" />
+ </path>
+
+ <path name="incall_nb-lineout-mic">
+ <path name="incall_nb-speaker0-mic" />
+ </path>
+
+ <path name="incall_nb_hac-lineout-mic">
+ <path name="incall_nb_hac-speaker0-mic" />
+ </path>
+
+ <path name="incall_nb_hac-speaker0-mic">
+ <path name="incall_nb-speaker0-mic" />
+ </path>
+
+ <path name="incall_nb_hac-speaker1-mic">
+ <path name="incall_nb-speaker1-mic" />
+ </path>
+
+ <path name="incall_nb-headset-mic">
+ <ctl name="ABOX ERAP info FM Radio On" value="0" />
+ <ctl name="ABOX PCM ext VPCMIN ON" value="0" />
+ <ctl name="ABOX Sampling Rate Inmux1" value="48000" />
+ <path name="route-cp-tx" />
+ <path name="route-loop-record" />
+ <path name="route-codec-headset-mic" />
+ </path>
+
+ <path name="incall_nb_hac-headset-mic">
+ <path name="incall_nb-headset-mic" />
+ </path>
+
+ <path name="incall_nb-bt-sco-headset-in">
+ <ctl name="ABOX ERAP info FM Radio On" value="0" />
+ <ctl name="ABOX PCM ext VPCMIN ON" value="0" />
+ <ctl name="ABOX Sampling Rate Inmux1" value="48000" />
+ <path name="route-bt-sco-tx" />
+ <path name="route-cp-bt-sco-tx" />
+ </path>
+
+ <path name="incall_nb_hac-bt-sco-headset-in">
+ <path name="incall_nb-bt-sco-headset-in" />
+ </path>
+
+ <!-- Incall Music Mic path -->
+ <path name="route-incall-music-uplink">
+ <!-- CP Rx to AP Tx routing-->
+ <path name="route-ap-music-to-cp-tx" />
+ </path>
+
+ <path name="incall_music-handset-mic">
+ <path name="incall_nb-handset-mic" />
+ <path name="route-incall-music-uplink" />
+ </path>
+
+ <path name="incall_music_hac-handset-mic">
+ <path name="incall_music-handset-mic" />
+ </path>
+
+ <path name="incall_music-headphone-mic">
+ <path name="incall_music-handset-mic" />
+ </path>
+
+ <path name="incall_music_hac-headphone-mic">
+ <path name="incall_music-handset-mic" />
+ </path>
+
+ <path name="incall_music-lineout-mic">
+ <path name="incall_music-handset-mic" />
+ </path>
+
+ <path name="incall_music_hac-lineout-mic">
+ <path name="incall_music-handset-mic" />
+ </path>
+
+ <path name="incall_music-speaker0-mic">
+ <path name="incall_nb-speaker0-mic" />
+ <path name="route-incall-music-uplink" />
+ </path>
+
+ <path name="incall_music-speaker1-mic">
+ <path name="incall_nb-speaker1-mic" />
+ <path name="route-incall-music-uplink" />
+ </path>
+
+ <path name="incall_music_hac-speaker0-mic">
+ <path name="incall_music-speaker0-mic" />
+ </path>
+
+ <path name="incall_music_hac-speaker1-mic">
+ <path name="incall_music-speaker1-mic" />
+ </path>
+
+ <path name="incall_music-headset-mic">
+ <path name="incall_nb-headset-mic" />
+ <path name="route-incall-music-uplink" />
+ </path>
+
+ <path name="incall_music_hac-headset-mic">
+ <path name="incall_music-headset-mic" />
+ </path>
+
+ <path name="incall_music-bt-sco-headset-in">
+ <path name="incall_nb-bt-sco-headset-in" />
+ <path name="route-incall-music-uplink" />
+ </path>
+
+ <path name="incall_music_hac-bt-sco-headset-in">
+ <path name="incall_music-bt-sco-headset-in" />
+ </path>
+
+ <!-- Communication Capture paths -->
+
+ <path name="communication-handset-mic">
+ <ctl name="ABOX OEM AP Call BW" value="0x000201" />
+ <ctl name="ABOX OEM AP Call type" value="8" />
+ <ctl name="ABOX OEM NXP Mode" value="1" />
+ <ctl name="ABOX Speech Param" value="8" />
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <path name="route-codec-main-mic-L" />
+ <path name="route-codec-sub-mic-R" />
+ </path>
+
+ <path name="communication-headphone-mic">
+ <ctl name="ABOX OEM AP Call BW" value="0x000201" />
+ <ctl name="ABOX OEM AP Call type" value="10" />
+ <ctl name="ABOX OEM NXP Mode" value="1" />
+ <ctl name="ABOX Speech Param" value="10" />
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <path name="route-codec-main-mic-R" />
+ <path name="route-codec-sub-mic-L" />
+ </path>
+
+ <path name="communication-lineout-mic">
+ <ctl name="ABOX OEM AP Call BW" value="0x000201" />
+ <ctl name="ABOX OEM AP Call type" value="12" />
+ <ctl name="ABOX OEM NXP Mode" value="1" />
+ <ctl name="ABOX Speech Param" value="12" />
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <path name="route-codec-main-mic-R" />
+ <path name="route-codec-sub-mic-L" />
+ </path>
+
+ <path name="communication-2nd-mic">
+ <path name="media-2nd-mic" />
+ </path>
+
+ <path name="communication-headset-mic">
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <path name="route-codec-headset-mic" />
+ <ctl name="ABOX OEM AP Call BW" value="0x010101" />
+ <ctl name="ABOX OEM AP Call type" value="11" />
+ <ctl name="ABOX OEM NXP Mode" value="1" />
+ <ctl name="ABOX Speech Param" value="11" />
+ </path>
+
+ <path name="communication-speaker0-mic">
+ <ctl name="ABOX OEM AP Call BW" value="0x020201" />
+ <ctl name="ABOX OEM AP Call type" value="9" />
+ <ctl name="ABOX OEM NXP Mode" value="1" />
+ <ctl name="ABOX Speech Param" value="9" />
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <path name="route-codec-main-mic-R" />
+ <path name="route-codec-sub-mic-L" />
+ </path>
+
+ <path name="communication-speaker1-mic">
+ <ctl name="ABOX OEM AP Call BW" value="0x020201" />
+ <ctl name="ABOX OEM AP Call type" value="9" />
+ <ctl name="ABOX OEM NXP Mode" value="1" />
+ <ctl name="ABOX Speech Param" value="9" />
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <path name="route-codec-main-mic-R" />
+ <path name="route-codec-sub-mic-L" />
+ </path>
+
+ <path name="communication-bt-sco-headset-in">
+ <path name="route-bt-sco-tx" />
+ <path name="route-ap-bt-sco-record" />
+ <ctl name="ABOX OEM AP Call BW" value="0x030101" />
+ <ctl name="ABOX OEM AP Call type" value="6" />
+ <ctl name="ABOX OEM NXP Mode" value="1" />
+ <ctl name="ABOX Speech Param" value="6" />
+ </path>
+
+ <!-- voip Capture paths -->
+ <path name="voip-mic">
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <path name="route-codec-main-mic-L" />
+ <path name="route-codec-sub-mic-R" />
+ </path>
+
+ <path name="voip-handset-mic">
+ <path name="voip-mic" />
+ <ctl name="ABOX OEM AP Call BW" value="0x000201" />
+ <ctl name="ABOX OEM AP Call type" value="8" />
+ <ctl name="ABOX OEM NXP Mode" value="1" />
+ <ctl name="ABOX Speech Param" value="8" />
+ </path>
+
+ <path name="voip-headphone-mic">
+ <path name="voip-mic" />
+ <ctl name="ABOX OEM AP Call BW" value="0x000201" />
+ <ctl name="ABOX OEM AP Call type" value="10" />
+ <ctl name="ABOX OEM NXP Mode" value="1" />
+ <ctl name="ABOX Speech Param" value="10" />
+ </path>
+
+ <path name="voip-lineout-mic">
+ <path name="voip-mic" />
+ <ctl name="ABOX OEM AP Call BW" value="0x000201" />
+ <ctl name="ABOX OEM AP Call type" value="12" />
+ <ctl name="ABOX OEM NXP Mode" value="1" />
+ <ctl name="ABOX Speech Param" value="12" />
+ </path>
+ <path name="voip-2nd-mic">
+ <path name="media-2nd-mic" />
+ </path>
+
+ <path name="voip-headset-mic">
+ <path name="AOV" />
+ <path name="route-ap-record" />
+ <path name="route-codec-headset-mic" />
+ <ctl name="ABOX OEM AP Call BW" value="0x010101" />
+ <ctl name="ABOX OEM AP Call type" value="11" />
+ <ctl name="ABOX OEM NXP Mode" value="1" />
+ <ctl name="ABOX Speech Param" value="11" />
+ </path>
+
+ <path name="voip-speaker0-mic">
+ <path name="voip-mic" />
+ <ctl name="ABOX OEM AP Call BW" value="0x020201" />
+ <ctl name="ABOX OEM AP Call type" value="9" />
+ <ctl name="ABOX OEM NXP Mode" value="1" />
+ <ctl name="ABOX Speech Param" value="9" />
+ </path>
+
+ <path name="voip-speaker1-mic">
+ <path name="voip-mic" />
+ <ctl name="ABOX OEM AP Call BW" value="0x020201" />
+ <ctl name="ABOX OEM AP Call type" value="9" />
+ <ctl name="ABOX OEM NXP Mode" value="1" />
+ <ctl name="ABOX Speech Param" value="9" />
+ </path>
+
+ <path name="voip-bt-sco-headset-in">
+ <path name="route-bt-sco-tx" />
+ <path name="route-ap-bt-sco-record" />
+ <ctl name="ABOX OEM AP Call BW" value="0x030101" />
+ <ctl name="ABOX OEM AP Call type" value="6" />
+ <ctl name="ABOX OEM NXP Mode" value="1" />
+ <ctl name="ABOX Speech Param" value="6" />
+ </path>
+ <!-- FM Radio Capture paths -->
+ <path name="fm_radio-fm-tuner">
+ <path name="route-fm" />
+ <path name="route-ap-record" />
+ <path name="route-codec-main-mic-L" />
+ </path>
+
+ <path name="recording-fm-tuner">
+ <path name="route-fm" />
+ <!-- headset Mic path -->
+ <path name="route-ap-record" />
+ <path name="route-codec-main-mic-L" />
+ </path>
+
+ <!-- TTY mode paths -->
+ <path name="tty_mode-headset">
+ <!-- TTY mode VCO & FULL mode Playback paths -->
+ <path name="route-playback" />
+ <path name="route-codec-headset" />
+ <path name="route-codec-headset-feedback" />
+ <path name="route-incall-reference" />
+ <ctl name="ABOX Sound Type" value="HEADSET" />
+ </path>
+
+ <path name="tty_mode-handset">
+ <!-- TTY mode HCO mode Playback paths -->
+ <path name="route-playback" />
+ <path name="route-codec-handset" />
+ <path name="route-codec-handset-feedback" />
+ <path name="route-incall-reference" />
+ <ctl name="ABOX Sound Type" value="VOICE" />
+ </path>
+
+ <path name="tty_mode-speaker0">
+ <path name="incall_nb-speaker0" />
+ </path>
+
+ <path name="tty_mode-speaker1">
+ <path name="incall_nb-speaker1" />
+ </path>
+
+ <path name="tty_mode-full-mic">
+ <!-- TTY mode FULL mode MIC -->
+ <ctl name="ABOX ERAP info FM Radio On" value="0" />
+ <ctl name="ABOX PCM ext VPCMIN ON" value="0" />
+ <path name="route-cp-tx" />
+ <path name="route-loop-record" />
+ <path name="AOV" />
+ <path name="route-codec-headset-mic" />
+ </path>
+
+ <path name="tty_mode-handset-mic">
+ <!-- TTY mode HCO MIC paths -->
+ <ctl name="ABOX ERAP info FM Radio On" value="0" />
+ <ctl name="ABOX PCM ext VPCMIN ON" value="0" />
+ <path name="route-cp-tx" />
+ <path name="route-loop-record" />
+ <path name="AOV" />
+ <path name="route-codec-headset-mic" />
+ </path>
+
+ <path name="tty_mode-hco-mic">
+ <path name="tty_mode-handset-mic" />
+ </path>
+
+ <path name="tty_mode-vco-mic">
+ <!-- TTY mode VCO MIC paths -->
+ <ctl name="ABOX ERAP info FM Radio On" value="0" />
+ <ctl name="ABOX PCM ext VPCMIN ON" value="0" />
+ <path name="route-cp-tx" />
+ <path name="route-loop-record" />
+ <path name="AOV" />
+ <path name="route-codec-main-mic-L" />
+ </path>
+
+ <!-- media gain controls for each path -->
+ <!-- Play paths gain controls -->
+ <path name="gain-media-handset">
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="128 128" />
+ </path>
+
+ <path name="gain-media-speaker0">
+ <ctl name="SPK DSP1 Firmware" value="protectionsp_music_qisheng" />
+ <ctl name="SPK PCM Source" value="DSP" />
+ <ctl name="AIF2TX1 Input 1 Volume" value="32" />
+ <ctl name="AIF2TX2 Input 1 Volume" value="32" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ </path>
+
+ <path name="gain-media-speaker1">
+ <ctl name="SPK DSP1 Firmware" value="protectionsp_music_aac" />
+ <ctl name="SPK PCM Source" value="DSP" />
+ <ctl name="AIF2TX1 Input 1 Volume" value="32" />
+ <ctl name="AIF2TX2 Input 1 Volume" value="32" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ </path>
+
+ <path name="gain-media-headset">
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="104 104" />
+ </path>
+
+ <path name="gain-media-headset-fm">
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="114 114" />
+ </path>
+
+ <path name="gain-media-speaker0-headset">
+ <path name="gain-media-speaker0" />
+ <path name="gain-media-headset" />
+ </path>
+
+ <path name="gain-media-speaker1-headset">
+ <path name="gain-media-speaker1" />
+ <path name="gain-media-headset" />
+ </path>
+
+ <path name="gain-media-bt-sco-headset">
+ <path name="gain-media-headset" />
+ </path>
+
+ <path name="gain-media-headphone">
+ <path name="gain-media-headset" />
+ </path>
+
+ <path name="gain-media-lineout">
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="124 124" />
+ </path>
+
+ <path name="gain-media-speaker0-headphone">
+ <path name="gain-media-headset" />
+ <path name="gain-media-speaker0" />
+ </path>
+
+ <path name="gain-media-speaker1-headphone">
+ <path name="gain-media-headset" />
+ <path name="gain-media-speaker1" />
+ </path>
+
+ <path name="gain-media-speaker0-lineout">
+ <path name="gain-media-lineout" />
+ <path name="gain-media-speaker0" />
+ </path>
+
+ <path name="gain-media-speaker1-lineout">
+ <path name="gain-media-lineout" />
+ <path name="gain-media-speaker1" />
+ </path>
+
+ <path name="gain-media-speaker0-bt-sco-headset">
+ <path name="gain-media-speaker0" />
+ </path>
+
+ <path name="gain-media-speaker1-bt-sco-headset">
+ <path name="gain-media-speaker1" />
+ </path>
+
+ <path name="gain-media_ringtone-handset">
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="128 128" />
+ </path>
+
+ <path name="gain-media_ringtone-speaker0">
+ <ctl name="SPK DSP1 Firmware" value="protectionsp_ringtone_qisheng" />
+ <ctl name="SPK PCM Source" value="DSP" />
+ <ctl name="AIF2TX1 Input 1 Volume" value="32" />
+ <ctl name="AIF2TX2 Input 1 Volume" value="32" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ </path>
+
+ <path name="gain-media_ringtone-speaker1">
+ <ctl name="SPK DSP1 Firmware" value="protectionsp_ringtone_aac" />
+ <ctl name="SPK PCM Source" value="DSP" />
+ <ctl name="AIF2TX1 Input 1 Volume" value="32" />
+ <ctl name="AIF2TX2 Input 1 Volume" value="32" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ </path>
+
+ <path name="gain-media_ringtone-headset">
+ <path name="gain-media-headset" />
+ </path>
+
+ <path name="gain-media_ringtone-speaker0-headset">
+ <path name="gain-media_ringtone-headset" />
+ <path name="gain-media_ringtone-speaker0" />
+ </path>
+
+ <path name="gain-media_ringtone-speaker1-headset">
+ <path name="gain-media_ringtone-headset" />
+ <path name="gain-media_ringtone-speaker1" />
+ </path>
+
+ <path name="gain-media_ringtone-bt-sco-headset">
+ </path>
+
+ <path name="gain-media_ringtone-headphone">
+ <path name="gain-media_ringtone-headset" />
+ </path>
+
+ <path name="gain-media_ringtone-lineout">
+ <path name="gain-media-lineout" />
+ </path>
+
+ <path name="gain-media_ringtone-speaker0-headphone">
+ <path name="gain-media_ringtone-headset" />
+ <path name="gain-media_ringtone-speaker0" />
+ </path>
+
+ <path name="gain-media_ringtone-speaker1-headphone">
+ <path name="gain-media_ringtone-headset" />
+ <path name="gain-media_ringtone-speaker1" />
+ </path>
+
+ <path name="gain-media_ringtone-speaker0-bt-sco-headset">
+ <path name="gain-media_ringtone-speaker0" />
+ </path>
+
+ <path name="gain-media_ringtone-speaker1-bt-sco-headset">
+ <path name="gain-media_ringtone-speaker1" />
+ </path>
+
+ <path name="gain-media_ringtone-speaker0-lineout">
+ <path name="gain-media_ringtone-lineout" />
+ <path name="gain-media_ringtone-speaker0" />
+ </path>
+
+ <path name="gain-media_ringtone-speaker1-lineout">
+ <path name="gain-media_ringtone-lineout" />
+ <path name="gain-media_ringtone-speaker1" />
+ </path>
+
+ <path name="gain-media_notification-handset">
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="128 128" />
+ </path>
+
+ <path name="gain-media_notification-speaker0">
+ <ctl name="SPK DSP1 Firmware" value="protectionsp_notification_qisheng" />
+ <ctl name="SPK PCM Source" value="DSP" />
+ <ctl name="AIF2TX1 Input 1 Volume" value="32" />
+ <ctl name="AIF2TX2 Input 1 Volume" value="32" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ </path>
+
+ <path name="gain-media_notification-speaker1">
+ <ctl name="SPK DSP1 Firmware" value="protectionsp_notification_aac" />
+ <ctl name="SPK PCM Source" value="DSP" />
+ <ctl name="AIF2TX1 Input 1 Volume" value="32" />
+ <ctl name="AIF2TX2 Input 1 Volume" value="32" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ </path>
+
+ <path name="gain-media_notification-headset">
+ <path name="gain-media-headset" />
+ </path>
+
+ <path name="gain-media_notification-speaker0-headset">
+ <path name="gain-media_notification-headset" />
+ <path name="gain-media_notification-speaker0" />
+ </path>
+
+ <path name="gain-media_notification-speaker1-headset">
+ <path name="gain-media_notification-headset" />
+ <path name="gain-media_notification-speaker1" />
+ </path>
+
+ <path name="gain-media_notification-bt-sco-headset">
+ <path name="gain-media_notification-headset" />
+ </path>
+
+ <path name="gain-media_notification-headphone">
+ <path name="gain-media_notification-headset" />
+ </path>
+
+ <path name="gain-media_notification-lineout">
+ <path name="gain-media-lineout" />
+ </path>
+
+ <path name="gain-media_notification-speaker0-headphone">
+ <path name="gain-media_notification-headset" />
+ <path name="gain-media_notification-speaker0" />
+ </path>
+
+ <path name="gain-media_notification-speaker1-headphone">
+ <path name="gain-media_notification-speaker1" />
+ </path>
+
+ <path name="gain-media_notification-speaker0-bt-sco-headset">
+ <path name="gain-media_notification-speaker0" />
+ </path>
+
+ <path name="gain-media_notification-speaker1-bt-sco-headset">
+ <path name="gain-media_notification-speaker1" />
+ </path>
+
+ <path name="gain-media_notification-speaker0-lineout">
+ <path name="gain-media_notification-lineout" />
+ <path name="gain-media_notification-speaker0" />
+ </path>
+
+ <path name="gain-media_notification-speaker1-lineout">
+ <path name="gain-media_notification-lineout" />
+ <path name="gain-media_notification-speaker1" />
+ </path>
+
+ <!-- Capture paths gain controls -->
+ <path name="gain-media-main-mic">
+ <ctl name="IN1L Volume" value="31" />
+ <ctl name="IN1R Volume" value="31" />
+ <ctl name="IN2L Volume" value="31" />
+ <ctl name="IN2R Volume" value="31" />
+ <ctl name="IN1L Digital Volume" value="128" />
+ <ctl name="IN1R Digital Volume" value="128" />
+ <ctl name="IN2L Digital Volume" value="128" />
+ <ctl name="IN2R Digital Volume" value="128" />
+ </path>
+
+ <path name="gain-media-sub-mic">
+ <ctl name="IN1L Volume" value="31" />
+ <ctl name="IN1R Volume" value="31" />
+ <ctl name="IN2L Volume" value="31" />
+ <ctl name="IN2R Volume" value="31" />
+ <ctl name="IN1L Digital Volume" value="128" />
+ <ctl name="IN1R Digital Volume" value="128" />
+ <ctl name="IN2L Digital Volume" value="128" />
+ <ctl name="IN2R Digital Volume" value="128" />
+ </path>
+
+ <path name="gain-media-headset-mic">
+ <ctl name="IN1L Volume" value="31" />
+ <ctl name="IN1R Volume" value="31" />
+ <ctl name="IN2L Volume" value="31" />
+ <ctl name="IN2R Volume" value="31" />
+ <ctl name="IN1L Digital Volume" value="128" />
+ <ctl name="IN1R Digital Volume" value="128" />
+ <ctl name="IN2L Digital Volume" value="128" />
+ <ctl name="IN2R Digital Volume" value="128" />
+ </path>
+
+ <path name="gain-recording-mic">
+ <ctl name="IN1L Volume" value="31"/>
+ <ctl name="IN1L Digital Volume" value="128" />
+ <ctl name="IN2L Volume" value="31"/>
+ <ctl name="IN2L Digital Volume" value="128" />
+ </path>
+
+ <path name="gain-recording-mic1">
+ <ctl name="IN1L Volume" value="31"/>
+ <ctl name="IN1L Digital Volume" value="128" />
+ </path>
+
+ <path name="gain-recording-mic2">
+ <ctl name="IN2L Volume" value="31"/>
+ <ctl name="IN2L Digital Volume" value="128" />
+ </path>
+
+ <path name="gain-recording-2nd-mic">
+ <ctl name="IN2L Volume" value="31"/>
+ <ctl name="IN2L Digital Volume" value="128" />
+ </path>
+
+ <path name="gain-camcorder-mic">
+ <ctl name="IN1L Volume" value="12"/>
+ <ctl name="IN1L Digital Volume" value="128" />
+ </path>
+
+ <path name="gain-camcorder-2nd-mic">
+ <ctl name="IN2L Volume" value="12"/>
+ <ctl name="IN2L Digital Volume" value="128" />
+ </path>
+
+ <path name="gain-media-bt-sco-mic">
+ </path>
+
+ <path name="gain-media-headphone-mic">
+ <path name="gain-media-main-mic" />
+ </path>
+
+ <path name="gain-media-lineout-mic">
+ <path name="gain-media-main-mic" />
+ </path>
+
+ <path name="gain-recording-headset-mic">
+ <ctl name="IN1R Volume" value="31"/>
+ <ctl name="IN1R Digital Volume" value="128" />
+ </path>
+
+ <path name="gain-recording-bt-sco-headset-in">
+ </path>
+
+ <path name="gain-camcorder-dualmic">
+ <ctl name="IN1L Volume" value="9" />
+ <ctl name="IN2L Volume" value="9" />
+ <ctl name="IN1L Digital Volume" value="128" />
+ <ctl name="IN2L Digital Volume" value="128" />
+ </path>
+
+ <!-- recognition input volume -->
+ <path name="gain-recognition-mic">
+ <path name="gain-media-main-mic" />
+ </path>
+
+ <path name="gain-recognition-2nd-mic">
+ <path name="gain-media-sub-mic" />
+ </path>
+
+ <path name="gain-recognition-headset-mic">
+ <path name="gain-media-headset-mic" />
+ </path>
+
+ <path name="gain-recognition-headphone-mic">
+ <path name="gain-media-main-mic" />
+ </path>
+
+ <path name="gain-recognition-lineout-mic">
+ <path name="gain-media-main-mic" />
+ </path>
+
+ <path name="gain-recognition-bt-sco-headset-in">
+ </path>
+
+ <!-- Communication gain controls for each path -->
+ <!-- Play paths gain controls -->
+ <path name="gain-communication-handset">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="128 128" />
+ </path>
+
+ <path name="gain-communication-speaker0">
+ <ctl name="SPK DSP1 Firmware" value="protectionsp_voice_qisheng" />
+ <ctl name="SPK PCM Source" value="DSP" />
+ <ctl name="AIF2TX1 Input 1 Volume" value="32" />
+ <ctl name="AIF2TX2 Input 1 Volume" value="32" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ </path>
+
+ <path name="gain-communication-speaker1">
+ <ctl name="SPK DSP1 Firmware" value="protectionsp_voice_aac" />
+ <ctl name="SPK PCM Source" value="DSP" />
+ <ctl name="AIF2TX1 Input 1 Volume" value="32" />
+ <ctl name="AIF2TX2 Input 1 Volume" value="32" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ </path>
+
+ <path name="gain-communication-headset">
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="128 128" />
+ </path>
+ <path name="gain-communication-headphone">
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="128 128" />
+ </path>
+
+ <path name="gain-communication-lineout">
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="130 130" />
+ </path>
+
+ <path name="gain-communication-speaker0-headset">
+ <ctl name="SPK DSP1 Firmware" value="protectionsp_voice_qisheng" />
+ <ctl name="SPK PCM Source" value="DSP" />
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="130 130" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ </path>
+
+ <path name="gain-communication-speaker1-headset">
+ <ctl name="SPK DSP1 Firmware" value="protectionsp_voice_aac" />
+ <ctl name="SPK PCM Source" value="DSP" />
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="130 130" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ </path>
+
+ <path name="gain-communication-speaker0-lineout">
+ <ctl name="SPK DSP1 Firmware" value="protectionsp_voice_qisheng" />
+ <ctl name="SPK PCM Source" value="DSP" />
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="130 130" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ </path>
+
+ <path name="gain-communication-speaker1-lineout">
+ <ctl name="SPK DSP1 Firmware" value="protectionsp_voice_aac" />
+ <ctl name="SPK PCM Source" value="DSP" />
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="130 130" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ </path>
+
+ <path name="gain-communication-bt-sco-headset">
+ </path>
+
+ <!-- Capture paths gain controls -->
+
+
+ <path name="gain-communication-headset-mic">
+ <ctl name="IN1L Volume" value="21" />
+ <ctl name="IN1R Volume" value="21" />
+ <ctl name="IN2L Volume" value="21" />
+ <ctl name="IN2R Volume" value="21" />
+ <ctl name="IN1L Digital Volume" value="128" />
+ <ctl name="IN1R Digital Volume" value="128" />
+ <ctl name="IN2L Digital Volume" value="128" />
+ <ctl name="IN2R Digital Volume" value="128" />
+ </path>
+ <path name="gain-communication-headphone-mic">
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="134" />
+ <ctl name="IN1R Digital Volume" value="134" />
+ <ctl name="IN2L Digital Volume" value="148" />
+ <ctl name="IN2R Digital Volume" value="148" />
+ </path>
+
+
+ <path name="gain-communication-lineout-mic">
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="134" />
+ <ctl name="IN1R Digital Volume" value="134" />
+ <ctl name="IN2L Digital Volume" value="148" />
+ <ctl name="IN2R Digital Volume" value="148" />
+ </path>
+
+ <path name="gain-communication-bt-sco-headset-in">
+ </path>
+
+ <path name="gain-communication-handset-mic">
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="134" />
+ <ctl name="IN1R Digital Volume" value="134" />
+ <ctl name="IN2L Digital Volume" value="134" />
+ <ctl name="IN2R Digital Volume" value="134" />
+ </path>
+
+ <path name="gain-communication-speaker0-mic">
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="134" />
+ <ctl name="IN1R Digital Volume" value="134" />
+ <ctl name="IN2L Digital Volume" value="148" />
+ <ctl name="IN2R Digital Volume" value="148" />
+ </path>
+
+ <path name="gain-communication-speaker1-mic">
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="134" />
+ <ctl name="IN1R Digital Volume" value="134" />
+ <ctl name="IN2L Digital Volume" value="148" />
+ <ctl name="IN2R Digital Volume" value="148" />
+ </path>
+
+ <!-- voip gain controls for each path -->
+ <!-- Play paths gain controls -->
+ <path name="gain-voip-handset">
+ <path name="gain-media-handset" />
+ </path>
+
+ <path name="gain-voip-speaker0">
+ <path name="gain-media-speaker0" />
+ </path>
+
+ <path name="gain-voip-speaker1">
+ <path name="gain-media-speaker1" />
+ </path>
+
+ <path name="gain-voip-headset">
+ <path name="gain-media-headset" />
+ </path>
+
+ <path name="gain-voip-speaker0-headset">
+ <path name="gain-media-speaker0" />
+ <path name="gain-media-headset" />
+ </path>
+
+ <path name="gain-voip-speaker1-headset">
+ <path name="gain-media-speaker1" />
+ <path name="gain-media-headset" />
+ </path>
+
+ <path name="gain-voip-bt-sco-headset">
+ </path>
+
+ <!-- Capture paths gain controls -->
+ <path name="gain-voip-main-mic">
+ <path name="gain-media-main-mic" />
+ </path>
+
+ <path name="gain-voip-sub-mic">
+ <path name="gain-media-sub-mic" />
+ </path>
+
+ <path name="gain-voip-headset-mic">
+ <path name="gain-media-headset-mic" />
+ </path>
+
+ <path name="gain-voip-bt-sco-headset-in">
+ </path>
+
+ <path name="gain-voip-handset-mic">
+ <ctl name="IN1L Volume" value="32" />
+ <ctl name="IN1R Volume" value="32" />
+ <ctl name="IN2L Volume" value="32" />
+ <ctl name="IN2R Volume" value="32" />
+ <ctl name="IN1L Digital Volume" value="124" />
+ <ctl name="IN1R Digital Volume" value="124" />
+ <ctl name="IN2L Digital Volume" value="124" />
+ <ctl name="IN2R Digital Volume" value="124" />
+ </path>
+
+ <path name="gain-voip-speaker0-mic">
+ <path name="gain-media-main-mic" />
+ </path>
+
+ <path name="gain-voip-speaker1-mic">
+ <path name="gain-media-main-mic" />
+ </path>
+
+ <!-- Voice Call gain controls for each path -->
+ <!-- Play paths gain controls -->
+ <path name="gain-incall_nb-handset">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="136 136" />
+ </path>
+
+ <path name="gain-incall_nb_hac-handset">
+ <!-- Rx paths gain controls -->
+ <path name="gain-incall_nb-handset" />
+ </path>
+
+ <path name="gain-incall_music-handset">
+ <!-- Rx paths gain controls -->
+ <path name="gain-incall_nb-handset" />
+ </path>
+
+ <path name="gain-incall_nb-handset-mic">
+ <!-- Tx paths gain controls -->
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="128" />
+ <ctl name="IN1R Digital Volume" value="128" />
+ <ctl name="IN2L Digital Volume" value="128" />
+ <ctl name="IN2R Digital Volume" value="128" />
+ </path>
+
+ <path name="gain-incall_nb_hac-handset-mic">
+ <path name="gain-incall_nb-handset-mic" />
+ </path>
+
+ <path name="gain-incall_music-handset-mic">
+ </path>
+
+ <path name="gain-incall_nb-headset">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="128 128" />
+ </path>
+
+ <path name="gain-incall_nb_hac-headset">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="130 130" />
+ </path>
+
+ <path name="gain-incall_nb-headset-mic">
+ <!-- Tx paths gain controls -->
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="140" />
+ <ctl name="IN1R Digital Volume" value="140" />
+ <ctl name="IN2L Digital Volume" value="140" />
+ <ctl name="IN2R Digital Volume" value="140" />
+ </path>
+
+ <path name="gain-incall_nb_hac-headset-mic">
+ <path name="gain-incall_nb-headset-mic" />
+ </path>
+
+ <path name="gain-incall_nb-headphone">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="128 128" />
+ </path>
+
+ <path name="gain-incall_nb_hac-headphone">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="130 130" />
+ </path>
+
+ <path name="gain-incall_nb-lineout">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="130 130" />
+ </path>
+
+ <path name="gain-incall_nb_hac-lineout">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="130 130" />
+ </path>
+
+ <path name="gain-incall_nb-headphone-mic">
+ <!-- Tx paths gain controls -->
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="134" />
+ <ctl name="IN1R Digital Volume" value="134" />
+ <ctl name="IN2L Digital Volume" value="148" />
+ <ctl name="IN2R Digital Volume" value="148" />
+ </path>
+
+ <path name="gain-incall_nb_hac-headphone-mic">
+ <path name="gain-incall_nb-headphone-mic" />
+ </path>
+
+ <path name="gain-incall_nb-lineout-mic">
+ <!-- Tx paths gain controls -->
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="134" />
+ <ctl name="IN1R Digital Volume" value="134" />
+ <ctl name="IN2L Digital Volume" value="148" />
+ <ctl name="IN2R Digital Volume" value="148" />
+ </path>
+
+ <path name="gain-incall_nb_hac-lineout-mic">
+ <path name="gain-incall_nb-lineout-mic" />
+ </path>
+
+ <path name="gain-incall_nb-bt-sco-headset">
+ </path>
+
+ <path name="gain-incall_nb_hac-bt-sco-headset">
+ </path>
+
+ <path name="gain-incall_nb-bt-sco-headset-in">
+ </path>
+
+ <path name="gain-incall_nb_hac-bt-sco-headset-in">
+ </path>
+
+
+ <path name="gain-incall_nb-speaker0">
+ <!-- Tx paths gain controls -->
+ <ctl name="SPK DSP1 Firmware" value="protectionsp_voice_qisheng" />
+ <ctl name="SPK PCM Source" value="DSP" />
+ <ctl name="AIF2TX1 Input 1 Volume" value="32" />
+ <ctl name="AIF2TX2 Input 1 Volume" value="32" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ <!-- Rx paths gain controls -->
+ </path>
+
+ <path name="gain-incall_nb-speaker1">
+ <!-- Rx paths gain controls -->
+ <ctl name="SPK DSP1 Firmware" value="protectionsp_voice_aac" />
+ <ctl name="SPK PCM Source" value="DSP" />
+ <ctl name="AIF2TX1 Input 1 Volume" value="32" />
+ <ctl name="AIF2TX2 Input 1 Volume" value="32" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ </path>
+
+ <path name="gain-incall_nb_hac-speaker0">
+ <path name="gain-incall_nb-speaker0" />
+ </path>
+
+ <path name="gain-incall_nb_hac-speaker1">
+ <path name="gain-incall_nb-speaker1" />
+ </path>
+
+ <path name="gain-incall_nb-speaker0-mic">
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="134" />
+ <ctl name="IN1R Digital Volume" value="134" />
+ <ctl name="IN2L Digital Volume" value="148" />
+ <ctl name="IN2R Digital Volume" value="148" />
+ </path>
+
+ <path name="gain-incall_nb-speaker1-mic">
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="134" />
+ <ctl name="IN1R Digital Volume" value="134" />
+ <ctl name="IN2L Digital Volume" value="148" />
+ <ctl name="IN2R Digital Volume" value="148" />
+ </path>
+
+ <path name="gain-incall_nb_hac-speaker0-mic">
+ <path name="gain-incall_nb-speaker0-mic" />
+ </path>
+
+ <path name="gain-incall_nb_hac-speaker1-mic">
+ <path name="gain-incall_nb-speaker1-mic" />
+ </path>
+
+ <path name="gain-incall_wb-handset">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="124 124" />
+ </path>
+
+ <path name="gain-incall_wb_hac-handset">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="124 124" />
+ </path>
+
+ <path name="gain-incall_wb-handset-mic">
+ <!-- Tx paths gain controls -->
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="128" />
+ <ctl name="IN1R Digital Volume" value="128" />
+ <ctl name="IN2L Digital Volume" value="128" />
+ <ctl name="IN2R Digital Volume" value="128" />
+ </path>
+
+ <path name="gain-incall_wb_hac-handset-mic">
+ <path name="gain-incall_wb-handset-mic" />
+ </path>
+
+ <path name="gain-incall_wb-headset">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="106 106" />
+ </path>
+
+ <path name="gain-incall_wb_hac-headset">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="106 106" />
+ </path>
+
+ <path name="gain-incall_wb-headset-mic">
+ <!-- Tx paths gain controls -->
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="128" />
+ <ctl name="IN1R Digital Volume" value="128" />
+ <ctl name="IN2L Digital Volume" value="128" />
+ <ctl name="IN2R Digital Volume" value="128" />
+ </path>
+
+ <path name="gain-incall_wb_hac-headset-mic">
+ <path name="gain-incall_wb-headset-mic" />
+ </path>
+
+ <path name="gain-incall_wb-headphone">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="106 106" />
+ </path>
+
+ <path name="gain-incall_wb_hac-headphone">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="106 106" />
+ </path>
+
+ <path name="gain-incall_wb-lineout">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="106 106" />
+ </path>
+
+ <path name="gain-incall_wb_hac-lineout">
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="106 106" />
+ </path>
+
+ <path name="gain-incall_wb-headphone-mic">
+ <!-- Tx paths gain controls -->
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="128" />
+ <ctl name="IN1R Digital Volume" value="128" />
+ <ctl name="IN2L Digital Volume" value="128" />
+ <ctl name="IN2R Digital Volume" value="128" />
+ </path>
+
+ <path name="gain-incall_wb_hac-headphone-mic">
+ <path name="gain-incall_wb-headphone-mic" />
+ </path>
+
+ <path name="gain-incall_wb-lineout-mic">
+ <!-- Tx paths gain controls -->
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="128" />
+ <ctl name="IN1R Digital Volume" value="128" />
+ <ctl name="IN2L Digital Volume" value="128" />
+ <ctl name="IN2R Digital Volume" value="128" />
+ </path>
+
+ <path name="gain-incall_wb_hac-lineout-mic">
+ <path name="gain-incall_wb-lineout-mic" />
+ </path>
+
+ <path name="gain-incall_wb-bt-sco-headset">
+ </path>
+
+ <path name="gain-incall_wb_hac-bt-sco-headset">
+ </path>
+
+ <path name="gain-incall_wb-bt-sco-headset-in">
+ </path>
+
+ <path name="gain-incall_wb_hac-bt-sco-headset-in">
+ </path>
+
+ <path name="gain-incall_wb-speaker0">
+ <!-- Tx paths gain controls -->
+ <ctl name="IN1L Volume" value="18" />
+ <ctl name="IN1R Volume" value="18" />
+ <ctl name="IN2L Volume" value="18" />
+ <ctl name="IN2R Volume" value="18" />
+ <ctl name="IN1L Digital Volume" value="128" />
+ <ctl name="IN1R Digital Volume" value="128" />
+ <ctl name="IN2L Digital Volume" value="128" />
+ <ctl name="IN2R Digital Volume" value="128" />
+ <!-- Rx paths gain controls -->
+ </path>
+
+ <path name="gain-incall_wb-speaker1">
+ <!-- Tx paths gain controls -->
+ <ctl name="IN1L Volume" value="31" />
+ <ctl name="IN1R Volume" value="31" />
+ <ctl name="IN2L Volume" value="31" />
+ <ctl name="IN2R Volume" value="31" />
+ <ctl name="IN1L Digital Volume" value="128" />
+ <ctl name="IN1R Digital Volume" value="128" />
+ <ctl name="IN2L Digital Volume" value="128" />
+ <ctl name="IN2R Digital Volume" value="128" />
+ <!-- Rx paths gain controls -->
+ </path>
+
+ <path name="gain-incall_wb_hac-speaker0">
+ <path name="gain-incall_wb-speaker0" />
+ </path>
+
+ <path name="gain-incall_wb_hac-speaker1">
+ <path name="gain-incall_wb-speaker1" />
+ </path>
+
+ <path name="gain-incall_wb-speaker0-mic">
+ <path name="gain-incall_nb-speaker0-mic" />
+ </path>
+
+ <path name="gain-incall_wb-speaker1-mic">
+ <path name="gain-incall_nb-speaker1-mic" />
+ </path>
+
+ <path name="gain-incall_wb_hac-speaker0-mic">
+ <path name="gain-incall_nb_hac-speaker0-mic" />
+ </path>
+
+ <path name="gain-incall_wb_hac-speaker1-mic">
+ <path name="gain-incall_nb_hac-speaker1-mic" />
+ </path>
+
+ <!-- tty paths gain controls -->
+ <path name="gain-tty_mode-headset">
+ <!-- TTY mode VCO & FULL mode Playback paths -->
+ <!-- Tx paths gain controls -->
+ <ctl name="IN1L Volume" value="25" />
+ <ctl name="IN1R Volume" value="25" />
+ <ctl name="IN2L Volume" value="25" />
+ <ctl name="IN2R Volume" value="25" />
+ <ctl name="IN1L Digital Volume" value="104" />
+ <ctl name="IN1R Digital Volume" value="104" />
+ <ctl name="IN2L Digital Volume" value="104" />
+ <ctl name="IN2R Digital Volume" value="104" />
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="25" />
+ <ctl name="HPOUT1R Input 1 Volume" value="25" />
+ <ctl name="HPOUT1 Digital Volume" value="110 110" />
+ </path>
+
+ <!-- FM Radio Playback paths gain control -->
+ <path name="gain-fm_radio-speaker0">
+ <path name="gain-media-speaker0" />
+ </path>
+
+ <path name="gain-fm_radio-speaker1">
+ <path name="gain-media-speaker1" />
+ </path>
+
+ <path name="gain-fm_radio-headphone">
+ <path name="gain-media-headset-fm" />
+ </path>
+
+ <path name="gain-fm_radio-headset">
+ <path name="gain-media-headset-fm" />
+ </path>
+
+ <path name="gain-fm_radio-lineout">
+ <path name="gain-media-lineout" />
+ </path>
+
+ <path name="gain-tty_mode-full-mic">
+ <!-- TTY mode FULL mode MIC -->
+ <!-- Tx paths gain controls -->
+ <ctl name="IN1L Volume" value="25" />
+ <ctl name="IN1R Volume" value="25" />
+ <ctl name="IN2L Volume" value="25" />
+ <ctl name="IN2R Volume" value="25" />
+ <ctl name="IN1L Digital Volume" value="104" />
+ <ctl name="IN1R Digital Volume" value="104" />
+ <ctl name="IN2L Digital Volume" value="104" />
+ <ctl name="IN2R Digital Volume" value="104" />
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="25" />
+ <ctl name="HPOUT1R Input 1 Volume" value="25" />
+ <ctl name="HPOUT1 Digital Volume" value="110 110" />
+ </path>
+
+ <path name="gain-tty_mode-handset">
+ <!-- TTY mode HCO mode Playback paths -->
+ <!-- Tx paths gain controls -->
+ <ctl name="IN1L Volume" value="25" />
+ <ctl name="IN1R Volume" value="25" />
+ <ctl name="IN2L Volume" value="25" />
+ <ctl name="IN2R Volume" value="25" />
+ <ctl name="IN1L Digital Volume" value="104" />
+ <ctl name="IN1R Digital Volume" value="104" />
+ <ctl name="IN2L Digital Volume" value="104" />
+ <ctl name="IN2R Digital Volume" value="104" />
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="110 110" />
+ </path>
+
+ <path name="gain-tty_mode-speaker0">
+ <path name="gain-incall_nb-speaker0" />
+ </path>
+
+ <path name="gain-tty_mode-speaker1">
+ <path name="gain-incall_nb-speaker1" />
+ </path>
+
+ <path name="gain-tty_mode-handset-mic">
+ <!-- TTY mode HCO MIC paths -->
+ <!-- Tx paths gain controls -->
+ <ctl name="IN1L Volume" value="25" />
+ <ctl name="IN1R Volume" value="25" />
+ <ctl name="IN2L Volume" value="25" />
+ <ctl name="IN2R Volume" value="25" />
+ <ctl name="IN1L Digital Volume" value="104" />
+ <ctl name="IN1R Digital Volume" value="104" />
+ <ctl name="IN2L Digital Volume" value="104" />
+ <ctl name="IN2R Digital Volume" value="104" />
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="110 110" />
+ </path>
+
+ <path name="gain-tty_mode-hco-mic">
+ <path name="gain-tty_mode-handset-mic" />
+ </path>
+
+ <path name="gain-tty_mode-vco-mic">
+ <!-- TTY mode VCO MIC paths -->
+ <!-- Tx paths gain controls -->
+ <ctl name="IN1L Volume" value="25" />
+ <ctl name="IN1R Volume" value="25" />
+ <ctl name="IN2L Volume" value="25" />
+ <ctl name="IN2R Volume" value="25" />
+ <ctl name="IN1L Digital Volume" value="104" />
+ <ctl name="IN1R Digital Volume" value="104" />
+ <ctl name="IN2L Digital Volume" value="104" />
+ <ctl name="IN2R Digital Volume" value="104" />
+ <!-- Rx paths gain controls -->
+ <ctl name="HPOUT1L Input 1 Volume" value="32" />
+ <ctl name="HPOUT1R Input 1 Volume" value="32" />
+ <ctl name="HPOUT1 Digital Volume" value="110 110" />
+ </path>
+
+ <path name="gain-incall_music-handset">
+ <path name="gain-incall_nb-handset" />
+ </path>
+
+ <path name="gain-incall_music_hac-handset">
+ <path name="gain-incall_music-handset" />
+ </path>
+
+ <path name="gain-incall_music-speaker0">
+ <path name="gain-incall_nb-speaker0" />
+ </path>
+
+ <path name="gain-incall_music-speaker1">
+ <path name="gain-incall_nb-speaker1" />
+ </path>
+
+ <path name="gain-incall_music_hac-speaker0">
+ <path name="gain-incall_music-speaker0" />
+ </path>
+
+ <path name="gain-incall_music_hac-speaker1">
+ <path name="gain-incall_music-speaker1" />
+ </path>
+
+ <path name="gain-incall_music-headset">
+ <path name="gain-incall_nb-headset" />
+ </path>
+
+ <path name="gain-incall_music_hac-headset">
+ <path name="gain-incall_music-headset" />
+ </path>
+
+ <path name="gain-incall_music-headphone">
+ <path name="gain-incall_music-headset" />
+ </path>
+
+ <path name="gain-incall_music_hac-headphone">
+ <path name="gain-incall_music-headset" />
+ </path>
+
+ <path name="gain-incall_music-lineout">
+ <path name="gain-incall_nb-lineout" />
+ </path>
+
+ <path name="gain-incall_music_hac-lineout">
+ <path name="gain-incall_music-lineout" />
+ </path>
+
+ <path name="gain-incall_music-bt-sco-headset">
+ <path name="gain-incall_nb-bt-sco-headset" />
+ </path>
+
+ <path name="gain-incall_music_hac-bt-sco-headset">
+ <path name="gain-incall_music-bt-sco-headset" />
+ </path>
+
+ <path name="gain-incall_music-handset-mic">
+ <path name="gain-incall_nb-handset-mic" />
+ </path>
+
+ <path name="gain-incall_music_hac-handset-mic">
+ <path name="gain-incall_music-handset-mic" />
+ </path>
+
+ <path name="gain-incall_music-headphone-mic">
+ <path name="gain-incall_nb-headphone-mic" />
+ </path>
+
+ <path name="gain-incall_music_hac-headphone-mic">
+ <path name="gain-incall_music-headphone-mic" />
+ </path>
+
+ <path name="gain-incall_music-lineout-mic">
+ <path name="gain-incall_nb-lineout-mic" />
+ </path>
+
+ <path name="gain-incall_music_hac-lineout-mic">
+ <path name="gain-incall_music-lineout-mic" />
+ </path>
+
+ <path name="gain-incall_music-speaker0-mic">
+ <path name="gain-incall_nb-speaker0-mic" />
+ </path>
+
+ <path name="gain-incall_music-speaker1-mic">
+ <path name="gain-incall_nb-speaker1-mic" />
+ </path>
+
+ <path name="gain-incall_music_hac-speaker0-mic">
+ <path name="gain-incall_music-speaker0-mic" />
+ </path>
+
+ <path name="gain-incall_music_hac-speaker1-mic">
+ <path name="gain-incall_music-speaker1-mic" />
+ </path>
+
+ <path name="gain-incall_music-headset-mic">
+ <path name="gain-incall_nb-headset-mic" />
+ </path>
+
+ <path name="gain-incall_music_hac-headset-mic">
+ <path name="gain-incall_music-headset-mic" />
+ </path>
+
+ <path name="gain-incall_music-bt-sco-headset-in">
+ <path name="gain-incall_nb-bt-sco-headset-in" />
+ </path>
+
+ <path name="gain-incall_music_hac-bt-sco-headset-in">
+ <path name="gain-incall_music-bt-sco-headset-in" />
+ </path>
+
+ <path name="media-speaker-ar">
+ <path name="route-playback" />
+ <path name="route-codec-speaker" />
+ </path>
+
+ <path name="media_ringtone-speaker-ar">
+ <path name="route-playback" />
+ <path name="route-codec-speaker" />
+ </path>
+
+ <path name="gain-media-speaker-ar">
+ <ctl name="SPK PCM Source" value="ASP" />
+ <ctl name="AIF2TX1 Input 1 Volume" value="32" />
+ <ctl name="AIF2TX2 Input 1 Volume" value="32" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ </path>
+
+ <path name="gain-media_ringtone-speaker-ar">
+ <ctl name="SPK PCM Source" value="ASP" />
+ <ctl name="AIF2TX1 Input 1 Volume" value="32" />
+ <ctl name="AIF2TX2 Input 1 Volume" value="32" />
+ <ctl name="SPK AMP PCM Gain" value="17" />
+ <ctl name="SPK AMP Enable Switch" value="1" />
+ </path>
+</mixer>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- Remote Submix Audio Policy Configuration file -->
+<module name="r_submix" halVersion="2.0">
+ <attachedDevices>
+ <item>Remote Submix In</item>
+ </attachedDevices>
+ <mixPorts>
+ <mixPort name="r_submix output" role="source">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
+ <mixPort name="r_submix input" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_IN_STEREO"/>
+ </mixPort>
+ </mixPorts>
+ <devicePorts>
+ <devicePort tagName="Remote Submix Out" type="AUDIO_DEVICE_OUT_REMOTE_SUBMIX" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </devicePort>
+ <devicePort tagName="Remote Submix In" type="AUDIO_DEVICE_IN_REMOTE_SUBMIX" role="source">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_IN_STEREO"/>
+ </devicePort>
+ </devicePorts>
+ <routes>
+ <route type="mix" sink="Remote Submix Out"
+ sources="r_submix output"/>
+ <route type="mix" sink="r_submix input"
+ sources="Remote Submix In"/>
+ </routes>
+</module>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- USB Audio HAL Audio Policy Configuration file -->
+
+<module name="usb" halVersion="2.0">
+ <mixPorts>
+ <mixPort name="usb_accessory output" role="source">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
+ <mixPort name="usb_device output" role="source"/>
+ <mixPort name="usb_device input" role="sink"/>
+ </mixPorts>
+ <devicePorts>
+ <devicePort tagName="USB Host Out" type="AUDIO_DEVICE_OUT_USB_ACCESSORY" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </devicePort>
+ <devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink"/>
+ <devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink"/>
+ <devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source"/>
+ <devicePort tagName="USB Headset In" type="AUDIO_DEVICE_IN_USB_HEADSET" role="source"/>
+ </devicePorts>
+ <routes>
+ <route type="mix" sink="USB Host Out"
+ sources="usb_accessory output"/>
+ <route type="mix" sink="USB Device Out"
+ sources="usb_device output"/>
+ <route type="mix" sink="USB Headset Out"
+ sources="usb_device output"/>
+ <route type="mix" sink="usb_device input"
+ sources="USB Device In,USB Headset In"/>
+ </routes>
+</module>
--- /dev/null
+############################################
+#debug_enable=1
+GlueLayer_ToolConfigSelection=2
+#user_ports_tcp_name=Autotest
+#user_ports_tcp_port=7555
+PosReq_Supl2Params_SuplNiUdpPort=7275
+Agnss_SuplUseCpNi=1
+debug_console=1
+debug_device=1
+############################################
+Sif_UseFwXtraInterface=0
+GlueLayer_YearOfHW=2019
+gf_enabled=0
+notifResponsivenessMs=20000
+firmware_run_flags=0x28
+
+LocTech_Constraints=0x2f
+
+GlueLayer_IsGedKeyExist=1
+
+Agnss_SuplUseApn=1
+Agnss_SuplUseApnNi=0
+Agnss_SuplUseFwDns=0
+
+#Support A-GPS only in CP/UP
+GlueLayer_IsCpGloAidingEnable=0
+Agnss_IsGloAidingEnable=0
+Agnss_IsGalAidingEnable=0
+Agnss_IsBdsAidingEnable=0
+
+CP_LocTech_PrimaryConst=0
+CP_LocTech_Constraints=1
+CP_LocTech_Requirements=0
+GlueLayer_LtsTimeGuard=1
+
+RfPathLossDb_Ap=0
+RfPathLossDb_Cp=5
+
+#enabled IP2 cal with custom settings
+# [6:2]: 19 AGC gain fixed value during ip2 cal
+# [12:7]: 0 RF Cal bypass value. 0 for invalid
+# [14:13]: 0 RO_COUPLING
+# [16:15]: 0 MIX_LO_CM_SEL
+# [19:17]: 5 MIX_IF_GM_TRIM
+# [21:20]: 0 IP2_DAC_STEP
+# [23:22]: 0 IP2_DAC_CONFIG
+# [27:24]: 7 IP2_ACC_LENGTH
+# [28]: 1 Use IP2 Cal override configuration
+
+Chip_Configuration_ChipCfgIp2Cal= 0x170A004C
+scheduling_enabled=1
+
+# force insample mode and sample rate
+Chip_Configuration_IspTestConfig=0x28242C22
+
+GlueLayer_IsCDMACpEnable=1
+
+# To Enable LPP without LPPe
+GlueLayer_IsLPPCpBitmask=7
+GlueLayer_IsCpLPPeEnable=0
+
+SETCaps_IsOtdoa=1
+
+#########
+### uncomment line below for lab testing
+#Sif_OperationMode=0
+#GlueLayer_isForceIPV6=1
+Agnss_ShaVariant=256
+Agnss_TlsVariant=1
+#Agnss_ServerAddress=slp.rs.de
+#Agnss_IsCertiCheckBypass=1
+SETCaps_IsLpp=1
+#GlueLayer_IsMOReqIgnored=1
+
+UP_LocTech_PrimaryConst=0
+UP_LocTech_Constraints=1
+UP_LocTech_Requirements=0
+#StartupConfiguration_StartMode=4
+GlueLayer_IsSlpIpCachingEnable=0
+Chip_Configuration_AidingConfiguration=0x0002004F
+
+SETCaps_SuplUT1=11
+SETCaps_SuplUT2=11
+SETCaps_SuplUT3=11
+
+#3G_CP_SETCaps_IsMSA=0
+#4G_CP_SETCaps_IsMSA=0
--- /dev/null
+<?xml version="1.0" encoding="utf-8" ?>
+<!-- Copyright (C) 2012 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.
+-->
+
+<!--
+<!DOCTYPE MediaCodecs [
+<!ELEMENT Include EMPTY>
+<!ATTLIST Include href CDATA #REQUIRED>
+<!ELEMENT MediaCodecs (Decoders|Encoders|Include)*>
+<!ELEMENT Decoders (MediaCodec|Include)*>
+<!ELEMENT Encoders (MediaCodec|Include)*>
+<!ELEMENT MediaCodec (Type|Quirk|Include)*>
+<!ATTLIST MediaCodec name CDATA #REQUIRED>
+<!ATTLIST MediaCodec type CDATA>
+<!ELEMENT Type EMPTY>
+<!ATTLIST Type name CDATA #REQUIRED>
+<!ELEMENT Quirk EMPTY>
+<!ATTLIST Quirk name CDATA #REQUIRED>
+]>
+
+There's a simple and a complex syntax to declare the availability of a
+media codec:
+
+A codec that properly follows the OpenMax spec and therefore doesn't have any
+quirks and that only supports a single content type can be declared like so:
+
+ <MediaCodec name="OMX.foo.bar" type="something/interesting" />
+
+If a codec has quirks OR supports multiple content types, the following syntax
+can be used:
+
+ <MediaCodec name="OMX.foo.bar" >
+ <Type name="something/interesting" />
+ <Type name="something/else" />
+ ...
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Quirk name="output-buffers-are-unreadable" />
+ </MediaCodec>
+
+Only the three quirks included above are recognized at this point:
+
+"requires-allocate-on-input-ports"
+ must be advertised if the component does not properly support specification
+ of input buffers using the OMX_UseBuffer(...) API but instead requires
+ OMX_AllocateBuffer to be used.
+
+"requires-allocate-on-output-ports"
+ must be advertised if the component does not properly support specification
+ of output buffers using the OMX_UseBuffer(...) API but instead requires
+ OMX_AllocateBuffer to be used.
+
+"output-buffers-are-unreadable"
+ must be advertised if the emitted output buffers of a decoder component
+ are not readable, i.e. use a custom format even though abusing one of
+ the official OMX colorspace constants.
+ Clients of such decoders will not be able to access the decoded data,
+ naturally making the component much less useful. The only use for
+ a component with this quirk is to render the output to the screen.
+ Audio decoders MUST NOT advertise this quirk.
+ Video decoders that advertise this quirk must be accompanied by a
+ corresponding color space converter for thumbnail extraction,
+ matching surfaceflinger support that can render the custom format to
+ a texture and possibly other code, so just DON'T USE THIS QUIRK.
+
+-->
+
+<MediaCodecs>
+ <Include href="media_codecs_google_audio.xml" />
+ <Include href="media_codecs_google_telephony.xml" />
+ <Settings>
+ <Setting name="supports-multiple-secure-codecs" value="true" />
+ <Setting name="supports-secure-with-non-secure-codec" value="true" />
+ <Setting name="max-video-encoder-input-buffers" value="9" />
+ </Settings>
+ <Decoders>
+ <MediaCodec name="OMX.Exynos.MPEG4.Decoder" type="video/mp4v-es" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Limit name="size" min="32x32" max="2048x2048" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" min="1" max="979200" />
+ <Limit name="bitrate" range="1-80000000" />
+ <Limit name="performance-point-1920x1080" range="120" />
+ <Limit name="concurrent-instances" max="16" />
+ <Feature name="adaptive-playback" />
+ </MediaCodec>
+ <MediaCodec name="OMX.Exynos.H263.Decoder" type="video/3gpp" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Limit name="size" min="32x32" max="2048x1152" />
+ <Limit name="alignment" value="4x4" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" min="1" max="979200" />
+ <Limit name="bitrate" range="1-80000000" />
+ <Limit name="performance-point-1920x1080" range="120" />
+ <Limit name="concurrent-instances" max="16" />
+ <Feature name="adaptive-playback" />
+ </MediaCodec>
+ <MediaCodec name="OMX.Exynos.AVC.Decoder" type="video/avc" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Limit name="size" min="32x32" max="3840x2160" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" min="1" max="3888000" />
+ <Limit name="bitrate" range="1-120000000" />
+ <Limit name="performance-point-3840x2160" range="120" />
+ <Limit name="concurrent-instances" max="16" />
+ <Feature name="adaptive-playback" />
+ </MediaCodec>
+ <MediaCodec name="OMX.Exynos.AVC.Decoder.secure" type="video/avc" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Limit name="size" min="32x32" max="3840x2160" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" min="1" max="3888000" />
+ <Limit name="bitrate" range="1-120000000" />
+ <Limit name="performance-point-3840x2160" range="120" />
+ <Limit name="concurrent-instances" max="2" />
+ <Feature name="adaptive-playback" />
+ <Feature name="secure-playback" required="true" />
+ </MediaCodec>
+ <MediaCodec name="OMX.Exynos.VP8.Decoder" type="video/x-vnd.on2.vp8" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Limit name="size" min="32x32" max="3840x2160" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" min="1" max="3888000" />
+ <Limit name="bitrate" range="1-80000000" />
+ <Limit name="performance-point-3840x2160" range="120" />
+ <Limit name="concurrent-instances" max="16" />
+ <Feature name="adaptive-playback" />
+ </MediaCodec>
+ <MediaCodec name="OMX.Exynos.HEVC.Decoder" type="video/hevc" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Limit name="size" min="64x64" max="3840x2160" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" min="1" max="3888000" />
+ <Limit name="bitrate" range="1-120000000" />
+ <Limit name="performance-point-3840x2160" range="120" />
+ <Limit name="concurrent-instances" max="16" />
+ <Feature name="adaptive-playback" />
+ </MediaCodec>
+ <MediaCodec name="OMX.Exynos.HEVC.Decoder.secure" type="video/hevc" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Limit name="size" min="64x64" max="3840x2160" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" min="1" max="3888000" />
+ <Limit name="bitrate" range="1-120000000" />
+ <Limit name="performance-point-3840x2160" range="120" />
+ <Limit name="concurrent-instances" max="2" />
+ <Feature name="adaptive-playback" />
+ <Feature name="secure-playback" required="true" />
+ </MediaCodec>
+ <MediaCodec name="OMX.Exynos.VP9.Decoder" type="video/x-vnd.on2.vp9" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Limit name="size" min="64x64" max="3840x2160" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="64x64" />
+ <Limit name="blocks-per-second" min="1" max="243000" />
+ <Limit name="bitrate" range="1-80000000" />
+ <Limit name="performance-point-3840x2160" range="120" />
+ <Limit name="concurrent-instances" max="16" />
+ <Feature name="adaptive-playback" />
+ </MediaCodec>
+ <MediaCodec name="OMX.Exynos.VP9.Decoder.secure" type="video/x-vnd.on2.vp9" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Limit name="size" min="64x64" max="3840x2160" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="64x64" />
+ <Limit name="blocks-per-second" min="1" max="243000" />
+ <Limit name="bitrate" range="1-80000000" />
+ <Limit name="performance-point-3840x2160" range="120" />
+ <Limit name="concurrent-instances" max="2" />
+ <Feature name="adaptive-playback" />
+ <Feature name="secure-playback" required="true" />
+ </MediaCodec>
+ </Decoders>
+
+ <Encoders>
+ <MediaCodec name="OMX.Exynos.AVC.Encoder" type="video/avc" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Limit name="size" min="32x32" max="3840x2160" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" min="1" max="3888000" />
+ <Limit name="bitrate" range="1-120000000" />
+ <Limit name="performance-point-3840x2160" range="120" />
+ <Limit name="concurrent-instances" max="16" />
+ </MediaCodec>
+ <MediaCodec name="OMX.Exynos.H263.Encoder" type="video/3gpp" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Limit name="size" min="32x32" max="2048x1152" />
+ <Limit name="alignment" value="4x4" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" min="1" max="979200" />
+ <Limit name="bitrate" range="1-80000000" />
+ <Limit name="performance-point-1920x1080" range="120" />
+ <Limit name="concurrent-instances" max="16" />
+ </MediaCodec>
+ <MediaCodec name="OMX.Exynos.MPEG4.Encoder" type="video/mp4v-es" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Limit name="size" min="32x32" max="2048x2048" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" min="1" max="979200" />
+ <Limit name="bitrate" range="1-80000000" />
+ <Limit name="performance-point-1920x1080" range="120" />
+ <Limit name="concurrent-instances" max="16" />
+ </MediaCodec>
+ <MediaCodec name="OMX.Exynos.VP8.Encoder" type="video/x-vnd.on2.vp8" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Limit name="size" min="32x32" max="3840x2160" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" min="1" max="3888000" />
+ <Limit name="bitrate" range="1-80000000" />
+ <Limit name="performance-point-3840x2160" range="120" />
+ <Limit name="concurrent-instances" max="16" />
+ </MediaCodec>
+ <MediaCodec name="OMX.Exynos.HEVC.Encoder" type="video/hevc" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Limit name="size" min="64x64" max="3840x2160" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="32x32" />
+ <Limit name="blocks-per-second" min="1" max="979200" />
+ <Limit name="bitrate" range="1-120000000" />
+ <Limit name="performance-point-3840x2160" range="120" />
+ <Limit name="concurrent-instances" max="16" />
+ </MediaCodec>
+ <MediaCodec name="OMX.Exynos.VP9.Encoder" type="video/x-vnd.on2.vp9" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Limit name="size" min="64x64" max="3840x2160" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="64x64" />
+ <Limit name="blocks-per-second" min="1" max="243000" />
+ <Limit name="bitrate" range="1-80000000" />
+ <Limit name="performance-point-3840x2160" range="120" />
+ <Limit name="concurrent-instances" max="16" />
+ </MediaCodec>
+ </Encoders>
+ <Include href="media_codecs_google_video.xml" />
+ <Include href="media_codecs_dolby_audio.xml" />
+</MediaCodecs>
--- /dev/null
+<?xml version="1.0" encoding="utf-8" ?>
+<!-- Copyright 2016 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.
+
+ This file was modified by Dolby Laboratories, Inc. The portions of the
+ code that are surrounded by "DOLBY..." are copyrighted and
+ licensed separately, as follows:
+
+ (C) 2018 Dolby Laboratories, Inc.
+ All rights reserved.
+
+ This program is protected under international and U.S. Copyright laws as
+ an unpublished work. This program is confidential and proprietary to the
+ copyright owners. Reproduction or disclosure, in whole or in part, or the
+ production of derivative works therefrom without the express permission of
+ the copyright owners is prohibited.
+-->
+
+<Included>
+ <Decoders>
+ <!-- DOLBY_UDC -->
+ <MediaCodec name="OMX.dolby.ac3.decoder" type="audio/ac3">
+ <Limit name="channel-count" max="6" />
+ <Limit name="sample-rate" ranges="32000,44100,48000" />
+ <Limit name="bitrate" range="32000-640000" />
+ </MediaCodec>
+ <MediaCodec name="OMX.dolby.eac3.decoder" type="audio/eac3">
+ <Limit name="channel-count" max="8" />
+ <Limit name="sample-rate" ranges="32000,44100,48000" />
+ <Limit name="bitrate" range="32000-6144000" />
+ </MediaCodec>
+ <!-- DOLBY_UDC END -->
+ </Decoders>
+</Included>
--- /dev/null
+<?xml version="1.0" encoding="utf-8" ?>
+<!-- Copyright (C) 2014 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.
+-->
+
+<Included>
+ <Decoders>
+ <MediaCodec name="OMX.google.mp3.decoder" type="audio/mpeg">
+ <Limit name="channel-count" max="2" />
+ <Limit name="sample-rate" ranges="8000,11025,12000,16000,22050,24000,32000,44100,48000" />
+ <Limit name="bitrate" range="8000-320000" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.amrnb.decoder" type="audio/3gpp">
+ <Limit name="channel-count" max="1" />
+ <Limit name="sample-rate" ranges="8000" />
+ <Limit name="bitrate" range="4750-12200" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.amrwb.decoder" type="audio/amr-wb">
+ <Limit name="channel-count" max="1" />
+ <Limit name="sample-rate" ranges="16000" />
+ <Limit name="bitrate" range="6600-23850" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.aac.decoder" type="audio/mp4a-latm">
+ <Limit name="channel-count" max="8" />
+ <Limit name="sample-rate" ranges="7350,8000,11025,12000,16000,22050,24000,32000,44100,48000" />
+ <Limit name="bitrate" range="8000-960000" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.g711.alaw.decoder" type="audio/g711-alaw">
+ <Limit name="channel-count" max="1" />
+ <Limit name="sample-rate" ranges="8000-48000" />
+ <Limit name="bitrate" range="64000" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.g711.mlaw.decoder" type="audio/g711-mlaw">
+ <Limit name="channel-count" max="1" />
+ <Limit name="sample-rate" ranges="8000-48000" />
+ <Limit name="bitrate" range="64000" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.vorbis.decoder" type="audio/vorbis">
+ <Limit name="channel-count" max="8" />
+ <Limit name="sample-rate" ranges="8000-96000" />
+ <Limit name="bitrate" range="32000-500000" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.opus.decoder" type="audio/opus">
+ <Limit name="channel-count" max="8" />
+ <Limit name="sample-rate" ranges="48000" />
+ <Limit name="bitrate" range="6000-510000" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.raw.decoder" type="audio/raw">
+ <Limit name="channel-count" max="8" />
+ <Limit name="sample-rate" ranges="8000-192000" />
+ <Limit name="bitrate" range="1-10000000" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.flac.decoder" type="audio/flac">
+ <Limit name="channel-count" max="8" />
+ <Limit name="sample-rate" ranges="1-655350" />
+ <Limit name="bitrate" range="1-21000000" />
+ </MediaCodec>
+ </Decoders>
+ <Encoders>
+ <MediaCodec name="OMX.google.aac.encoder" type="audio/mp4a-latm">
+ <Limit name="channel-count" max="6" />
+ <Limit name="sample-rate" ranges="8000,11025,12000,16000,22050,24000,32000,44100,48000" />
+ <!-- also may support 64000, 88200 and 96000 Hz -->
+ <Limit name="bitrate" range="8000-960000" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.amrnb.encoder" type="audio/3gpp">
+ <Limit name="channel-count" max="1" />
+ <Limit name="sample-rate" ranges="8000" />
+ <Limit name="bitrate" range="4750-12200" />
+ <Feature name="bitrate-modes" value="CBR" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.amrwb.encoder" type="audio/amr-wb">
+ <Limit name="channel-count" max="1" />
+ <Limit name="sample-rate" ranges="16000" />
+ <Limit name="bitrate" range="6600-23850" />
+ <Feature name="bitrate-modes" value="CBR" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.flac.encoder" type="audio/flac">
+ <Limit name="channel-count" max="2" />
+ <Limit name="sample-rate" ranges="1-655350" />
+ <Limit name="bitrate" range="1-21000000" />
+ <Limit name="complexity" range="0-8" default="5" />
+ <Feature name="bitrate-modes" value="CQ" />
+ </MediaCodec>
+ </Encoders>
+</Included>
--- /dev/null
+<?xml version="1.0" encoding="utf-8" ?>
+<!-- Copyright (C) 2014 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.
+-->
+
+<Included>
+ <Decoders>
+ <MediaCodec name="OMX.google.gsm.decoder" type="audio/gsm">
+ <Limit name="channel-count" max="1" />
+ <Limit name="sample-rate" ranges="8000" />
+ <Limit name="bitrate" range="13000" />
+ </MediaCodec>
+ </Decoders>
+</Included>
--- /dev/null
+<?xml version="1.0" encoding="utf-8" ?>
+<!-- Copyright (C) 2014 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.
+-->
+
+<Included>
+ <Decoders>
+ <MediaCodec name="OMX.google.mpeg4.decoder" type="video/mp4v-es">
+ <!-- profiles and levels: ProfileSimple : Level3 -->
+ <Limit name="size" min="2x2" max="352x288" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" range="12-11880" />
+ <Limit name="bitrate" range="1-384000" />
+ <Feature name="adaptive-playback" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.h263.decoder" type="video/3gpp">
+ <!-- profiles and levels: ProfileBaseline : Level30, ProfileBaseline : Level45
+ ProfileISWV2 : Level30, ProfileISWV2 : Level45 -->
+ <Limit name="size" min="2x2" max="352x288" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="bitrate" range="1-384000" />
+ <Feature name="adaptive-playback" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.h264.decoder" type="video/avc">
+ <!-- profiles and levels: ProfileHigh : Level52 -->
+ <Limit name="size" min="2x2" max="4080x4080" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="block-count" range="1-32768" /> <!-- max 4096x2048 equivalent -->
+ <Limit name="blocks-per-second" range="1-1966080" />
+ <Limit name="bitrate" range="1-48000000" />
+ <Feature name="adaptive-playback" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.hevc.decoder" type="video/hevc">
+ <!-- profiles and levels: ProfileMain : MainTierLevel51 -->
+ <Limit name="size" min="2x2" max="4096x4096" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="8x8" />
+ <Limit name="block-count" range="1-196608" /> <!-- max 4096x3072 -->
+ <Limit name="blocks-per-second" range="1-2000000" />
+ <Limit name="bitrate" range="1-10000000" />
+ <Feature name="adaptive-playback" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8">
+ <Limit name="size" min="2x2" max="2048x2048" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="block-count" range="1-16384" />
+ <Limit name="blocks-per-second" range="1-1000000" />
+ <Limit name="bitrate" range="1-40000000" />
+ <Feature name="adaptive-playback" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9">
+ <Limit name="size" min="2x2" max="2048x2048" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="block-count" range="1-16384" />
+ <Limit name="blocks-per-second" range="1-500000" />
+ <Limit name="bitrate" range="1-40000000" />
+ <Feature name="adaptive-playback" />
+ </MediaCodec>
+ </Decoders>
+
+ <Encoders>
+ <MediaCodec name="OMX.google.h263.encoder" type="video/3gpp">
+ <!-- profiles and levels: ProfileBaseline : Level45 -->
+ <Limit name="size" min="176x144" max="176x144" />
+ <Limit name="alignment" value="16x16" />
+ <Limit name="bitrate" range="1-128000" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.h264.encoder" type="video/avc">
+ <!-- profiles and levels: ProfileBaseline : Level41 -->
+ <Limit name="size" min="16x16" max="2048x2048" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="block-count" range="1-8192" /> <!-- max 2048x1024 -->
+ <Limit name="blocks-per-second" range="1-245760" />
+ <Limit name="bitrate" range="1-12000000" />
+ <Feature name="intra-refresh" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es">
+ <!-- profiles and levels: ProfileCore : Level2 -->
+ <Limit name="size" min="16x16" max="176x144" />
+ <Limit name="alignment" value="16x16" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" range="12-1485" />
+ <Limit name="bitrate" range="1-64000" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.vp8.encoder" type="video/x-vnd.on2.vp8">
+ <!-- profiles and levels: ProfileMain : Level_Version0-3 -->
+ <Limit name="size" min="2x2" max="2048x2048" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <!-- 2016 devices can encode at about 10fps at this block count -->
+ <Limit name="block-count" range="1-16384" />
+ <Limit name="bitrate" range="1-40000000" />
+ <Feature name="bitrate-modes" value="VBR,CBR" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.vp9.encoder" type="video/x-vnd.on2.vp9">
+ <!-- profiles and levels: ProfileMain : Level_Version0-3 -->
+ <Limit name="size" min="2x2" max="2048x2048" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <!-- 2016 devices can encode at about 8fps at this block count -->
+ <Limit name="block-count" range="1-3600" /> <!-- max 1280x720 -->
+ <Limit name="bitrate" range="1-40000000" />
+ <Feature name="bitrate-modes" value="VBR,CBR" />
+ </MediaCodec>
+ </Encoders>
+</Included>
--- /dev/null
+<?xml version="1.0" encoding="utf-8" ?>
+<!-- Copyright 2016 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.
+-->
+
+<MediaCodecs>
+ <Encoders>
+ <MediaCodec name="OMX.Exynos.H263.Encoder" type="video/3gpp" update="true">
+ <Limit name="measured-frame-rate-176x144" range="237-527" /> <!-- N=22 v90%=1.1 -->
+ <Limit name="measured-frame-rate-352x288" range="169-169" /> <!-- N=22 v90%=1.1 -->
+ <Limit name="measured-frame-rate-704x576" range="102-103" /> <!-- N=22 v90%=1.1 -->
+ </MediaCodec>
+ <MediaCodec name="OMX.Exynos.AVC.Encoder" type="video/avc" update="true">
+ <Limit name="measured-frame-rate-320x240" range="189-198" /> <!-- N=22 v90%=1.2 -->
+ <Limit name="measured-frame-rate-720x480" range="106-106" /> <!-- N=22 v90%=1.1 -->
+ <Limit name="measured-frame-rate-1280x720" range="65-175" /> <!-- N=22 v90%=1.1 -->
+ <Limit name="measured-frame-rate-1920x1080" range="64-64" /> <!-- N=22 v90%=1.5 -->
+ </MediaCodec>
+ <MediaCodec name="OMX.Exynos.HEVC.Encoder" type="video/hevc" update="true">
+ <Limit name="measured-frame-rate-320x240" range="186-436" /> <!-- N=22 v90%=1.1 -->
+ <Limit name="measured-frame-rate-720x480" range="111-119" /> <!-- N=22 v90%=1.1 -->
+ <!-- measured 90%:63-84 med:66 SLOW -->
+ <Limit name="measured-frame-rate-1280x720" range="65-169" /> <!-- N=22 v90%=1.2 -->
+ <Limit name="measured-frame-rate-1920x1080" range="66-66" /> <!-- N=22 v90%=1.5 -->
+ </MediaCodec>
+ <MediaCodec name="OMX.Exynos.MPEG4.Encoder" type="video/mp4v-es" update="true">
+ <!-- measured 90%:220-388 med:241 SLOW -->
+ <Limit name="measured-frame-rate-176x144" range="240-292" /> <!-- N=22 v90%=1.3 -->
+ <Limit name="measured-frame-rate-352x288" range="176-185" /> <!-- N=22 v90%=1.2 -->
+ <Limit name="measured-frame-rate-640x480" range="116-116" /> <!-- N=22 v90%=1.1 -->
+ </MediaCodec>
+ <MediaCodec name="OMX.Exynos.VP8.Encoder" type="video/x-vnd.on2.vp8" update="true">
+ <Limit name="measured-frame-rate-320x180" range="205-222" /> <!-- N=22 v90%=1.2 -->
+ <Limit name="measured-frame-rate-640x360" range="120-120" /> <!-- N=22 v90%=1.3 -->
+ <Limit name="measured-frame-rate-1280x720" range="63-67" /> <!-- N=22 v90%=1.1 -->
+ <Limit name="measured-frame-rate-1920x1080" range="55-60" /> <!-- N=22 v90%=1.4 -->
+ </MediaCodec>
+ <MediaCodec name="OMX.Exynos.VP9.Encoder" type="video/x-vnd.on2.vp9" update="true">
+ <Limit name="measured-frame-rate-320x180" range="205-214" /> <!-- N=22 v90%=1.2 -->
+ <Limit name="measured-frame-rate-640x360" range="133-133" /> <!-- N=22 v90%=1.1 -->
+ <!-- measured 90%:61-84 med:64 SLOW -->
+ <Limit name="measured-frame-rate-1280x720" range="64-72" /> <!-- N=22 v90%=1.2 -->
+ <Limit name="measured-frame-rate-1920x1080" range="44-120" /> <!-- N=22 v90%=1.2 -->
+ </MediaCodec>
+ <MediaCodec name="OMX.google.h263.encoder" type="video/3gpp" update="true">
+ <Limit name="measured-frame-rate-176x144" range="143-144" /> <!-- N=22 v90%=1.0 -->
+ </MediaCodec>
+ <MediaCodec name="OMX.google.h264.encoder" type="video/avc" update="true">
+ <Limit name="measured-frame-rate-320x240" range="145-154" /> <!-- N=22 v90%=1.1 -->
+ <Limit name="measured-frame-rate-720x480" range="77-77" /> <!-- N=22 v90%=1.0 -->
+ <Limit name="measured-frame-rate-1280x720" range="36-36" /> <!-- N=22 v90%=1.0 -->
+ <Limit name="measured-frame-rate-1920x1080" range="19-55" /> <!-- N=22 v90%=1.0 -->
+ </MediaCodec>
+ <MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es" update="true">
+ <Limit name="measured-frame-rate-176x144" range="131-131" /> <!-- N=22 v90%=1.1 -->
+ </MediaCodec>
+ <MediaCodec name="OMX.google.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
+ <Limit name="measured-frame-rate-320x180" range="39-40" /> <!-- N=22 v90%=1.0 -->
+ <Limit name="measured-frame-rate-640x360" range="35-36" /> <!-- N=22 v90%=1.0 -->
+ <Limit name="measured-frame-rate-1280x720" range="26-26" /> <!-- N=22 v90%=1.0 -->
+ <Limit name="measured-frame-rate-1920x1080" range="9-10" /> <!-- N=22 v90%=1.0 -->
+ </MediaCodec>
+ </Encoders>
+ <Decoders>
+ <MediaCodec name="OMX.Exynos.H263.Decoder" type="video/3gpp" update="true">
+ <!-- measured 90%:284-490 med:373 N=18 -->
+ <Limit name="measured-frame-rate-176x144" range="587-1219" /> <!-- v90%=1.3 -->
+ <!-- measured 90%:283-478 med:401 N=18 -->
+ <Limit name="measured-frame-rate-352x288" range="539-546" /> <!-- v90%=1.3 -->
+ </MediaCodec>
+ <MediaCodec name="OMX.Exynos.AVC.Decoder" type="video/avc" update="true">
+ <!-- measured 90%:314-479 med:430 N=18 -->
+ <Limit name="measured-frame-rate-320x240" range="544-1250" /> <!-- v90%=1.2 -->
+ <!-- measured 90%:345-422 med:395 N=18 -->
+ <Limit name="measured-frame-rate-720x480" range="508-860" /> <!-- v90%=1.1 -->
+ <!-- measured 90%:434-566 med:508 N=18 -->
+ <Limit name="measured-frame-rate-1280x720" range="495-495" /> <!-- v90%=1.1 -->
+ <!-- measured 90%:289-307 med:301 N=18 -->
+ <Limit name="measured-frame-rate-1920x1088" range="302-397" /> <!-- v90%=1.0 -->
+ </MediaCodec>
+ <MediaCodec name="OMX.Exynos.HEVC.Decoder" type="video/hevc" update="true">
+ <!-- measured 90%:285-509 med:421 N=18 -->
+ <Limit name="measured-frame-rate-352x288" range="381-1270" /> <!-- v90%=1.3 -->
+ <!-- measured 90%:326-479 med:429 N=18 -->
+ <Limit name="measured-frame-rate-640x360" range="395-1500" /> <!-- v90%=1.2 -->
+ <!-- measured 90%:292-484 med:400 N=18 -->
+ <Limit name="measured-frame-rate-720x480" range="376-1040" /> <!-- v90%=1.3 -->
+ <!-- measured 90%:452-585 med:512 N=18 -->
+ <Limit name="measured-frame-rate-1280x720" range="512-515" /> <!-- v90%=1.1 -->
+ <!-- measured 90%:393-463 med:436 N=18 -->
+ <Limit name="measured-frame-rate-1920x1080" range="426-426" /> <!-- v90%=1.1 -->
+ <!-- measured 90%:127-133 med:131 N=18 -->
+ <Limit name="measured-frame-rate-3840x2160" range="130-130" /> <!-- v90%=1.0 -->
+ </MediaCodec>
+ <MediaCodec name="OMX.Exynos.MPEG4.Decoder" type="video/mp4v-es" update="true">
+ <!-- measured 90%:253-473 med:412 N=18 -->
+ <Limit name="measured-frame-rate-176x144" range="346-557" /> <!-- v90%=1.4 -->
+ <!-- measured 90%:271-303 med:292 N=18 -->
+ <Limit name="measured-frame-rate-480x360" range="286-316" /> <!-- v90%=1.1 -->
+ </MediaCodec>
+ <MediaCodec name="OMX.Exynos.VP8.Decoder" type="video/x-vnd.on2.vp8" update="true">
+ <!-- measured 90%:255-459 med:394 N=18 -->
+ <Limit name="measured-frame-rate-320x180" range="342-1155" /> <!-- v90%=1.3 -->
+ <!-- measured 90%:287-438 med:390 N=18 -->
+ <Limit name="measured-frame-rate-640x360" range="355-1060" /> <!-- v90%=1.2 -->
+ <!-- measured 90%:328-511 med:438 N=18 -->
+ <Limit name="measured-frame-rate-1280x720" range="410-410" /> <!-- v90%=1.2 -->
+ <!-- measured 90%:312-359 med:349 N=18 -->
+ <Limit name="measured-frame-rate-1920x1080" range="335-335" /> <!-- v90%=1.1 -->
+ </MediaCodec>
+ <MediaCodec name="OMX.Exynos.VP9.Decoder" type="video/x-vnd.on2.vp9" update="true">
+ <!-- measured 90%:265-448 med:412 N=18 -->
+ <Limit name="measured-frame-rate-320x180" range="345-515" /> <!-- v90%=1.3 -->
+ <!-- measured 90%:313-465 med:411 N=18 -->
+ <Limit name="measured-frame-rate-640x360" range="382-514" /> <!-- v90%=1.2 -->
+ <!-- measured 90%:308-424 med:395 N=18 -->
+ <Limit name="measured-frame-rate-1280x720" range="361-457" /> <!-- v90%=1.2 -->
+ <!-- measured 90%:238-241 med:240 N=18 -->
+ <Limit name="measured-frame-rate-1920x1080" range="239-240" /> <!-- v90%=1.0 -->
+ </MediaCodec>
+ <MediaCodec name="OMX.google.h263.decoder" type="video/3gpp" update="true">
+ <!-- measured 90%:76-165 med:83 SLOW N=18 -->
+ <Limit name="measured-frame-rate-176x144" range="83-112" /> <!-- v90%=1.5 -->
+ </MediaCodec>
+ <MediaCodec name="OMX.google.h264.decoder" type="video/avc" update="true">
+ <!-- measured 90%:181-215 med:185 N=18 -->
+ <Limit name="measured-frame-rate-320x240" range="385-1000" /> <!-- v90%=1.1 -->
+ <!-- measured 90%:71-77 med:73 N=18 -->
+ <Limit name="measured-frame-rate-720x480" range="73-190" /> <!-- v90%=1.0 -->
+ <!-- measured 90%:31-33 med:32 N=18 -->
+ <Limit name="measured-frame-rate-1280x720" range="32-120" /> <!-- v90%=1.0 -->
+ <!-- measured 90%:15-17 med:15 N=18 -->
+ <Limit name="measured-frame-rate-1920x1080" range="15-50" /> <!-- v90%=1.0 -->
+ </MediaCodec>
+ <MediaCodec name="OMX.google.hevc.decoder" type="video/hevc" update="true">
+ <!-- measured 90%:191-276 med:237 N=18 -->
+ <Limit name="measured-frame-rate-352x288" range="230-840" /> <!-- v90%=1.2 -->
+ <!-- measured 90%:169-183 med:178 N=18 -->
+ <Limit name="measured-frame-rate-640x360" range="176-176" /> <!-- v90%=1.0 -->
+ <!-- measured 90%:141-168 med:160 N=18 -->
+ <Limit name="measured-frame-rate-720x480" range="154-370" /> <!-- v90%=1.1 -->
+ <!-- measured 90%:70-74 med:72 N=18 -->
+ <Limit name="measured-frame-rate-1280x720" range="72-72" /> <!-- v90%=1.0 -->
+ <!-- measured 90%:38-41 med:40 N=18 -->
+ <Limit name="measured-frame-rate-1920x1080" range="39-90" /> <!-- v90%=1.0 -->
+ </MediaCodec>
+ <MediaCodec name="OMX.google.mpeg4.decoder" type="video/mp4v-es" update="true">
+ <!-- measured 90%:82-170 med:96 SLOW N=18 -->
+ <Limit name="measured-frame-rate-176x144" range="96-118" /> <!-- v90%=1.4 -->
+ </MediaCodec>
+ <MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
+ <!-- measured 90%:261-623 med:278 SLOW N=18 -->
+ <Limit name="measured-frame-rate-320x180" range="278-1135" /> <!-- v90%=1.5 -->
+ <!-- measured 90%:334-358 med:350 N=18 -->
+ <Limit name="measured-frame-rate-640x360" range="346-346" /> <!-- v90%=1.0 -->
+ <!-- measured 90%:33-34 med:33 N=18 -->
+ <Limit name="measured-frame-rate-1920x1080" range="33-33" /> <!-- v90%=1.0 -->
+ </MediaCodec>
+ <MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
+ <!-- measured 90%:267-310 med:285 N=18 -->
+ <Limit name="measured-frame-rate-320x180" range="285-785" /> <!-- v90%=1.1 -->
+ <!-- measured 90%:112-338 med:188 N=18 -->
+ <Limit name="measured-frame-rate-640x360" range="187-195" /> <!-- v90%=1.7 -->
+ <!-- measured 90%:105-162 med:159 N=18 -->
+ <Limit name="measured-frame-rate-1280x720" range="131-131" /> <!-- v90%=1.2 -->
+ <!-- measured 90%:32-49 med:38 N=18 -->
+ <Limit name="measured-frame-rate-1920x1080" range="37-100" /> <!-- v90%=1.2 -->
+ </MediaCodec>
+ </Decoders>
+</MediaCodecs>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2010 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.
+-->
+<!DOCTYPE MediaSettings [
+<!ELEMENT MediaSettings (CamcorderProfiles,
+ EncoderOutputFileFormat+,
+ VideoEncoderCap+,
+ AudioEncoderCap+,
+ VideoDecoderCap,
+ AudioDecoderCap)>
+<!ELEMENT CamcorderProfiles (EncoderProfile+, ImageEncoding+, ImageDecoding, Camera)>
+<!ELEMENT EncoderProfile (Video, Audio)>
+<!ATTLIST EncoderProfile quality (high|low) #REQUIRED>
+<!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED>
+<!ATTLIST EncoderProfile duration (30|60) #REQUIRED>
+<!ELEMENT Video EMPTY>
+<!ATTLIST Video codec (h264|h263|m4v) #REQUIRED>
+<!ATTLIST Video bitRate CDATA #REQUIRED>
+<!ATTLIST Video width CDATA #REQUIRED>
+<!ATTLIST Video height CDATA #REQUIRED>
+<!ATTLIST Video frameRate CDATA #REQUIRED>
+<!ELEMENT Audio EMPTY>
+<!ATTLIST Audio codec (amrnb|amrwb|aac) #REQUIRED>
+<!ATTLIST Audio bitRate CDATA #REQUIRED>
+<!ATTLIST Audio sampleRate CDATA #REQUIRED>
+<!ATTLIST Audio channels (1|2) #REQUIRED>
+<!ELEMENT ImageEncoding EMPTY>
+<!ATTLIST ImageEncoding quality (90|80|70|60|50|40) #REQUIRED>
+<!ELEMENT ImageDecoding EMPTY>
+<!ATTLIST ImageDecoding memCap CDATA #REQUIRED>
+<!ELEMENT Camera EMPTY>
+<!ATTLIST Camera previewFrameRate CDATA #REQUIRED>
+<!ELEMENT EncoderOutputFileFormat EMPTY>
+<!ATTLIST EncoderOutputFileFormat name (mp4|3gp) #REQUIRED>
+<!ELEMENT VideoEncoderCap EMPTY>
+<!ATTLIST VideoEncoderCap name (h264|h263|m4v|wmv) #REQUIRED>
+<!ATTLIST VideoEncoderCap enabled (true|false) #REQUIRED>
+<!ATTLIST VideoEncoderCap minBitRate CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap maxBitRate CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap minFrameWidth CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap maxFrameWidth CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap minFrameHeight CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap maxFrameHeight CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap minFrameRate CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap maxFrameRate CDATA #REQUIRED>
+<!ELEMENT AudioEncoderCap EMPTY>
+<!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|wma) #REQUIRED>
+<!ATTLIST AudioEncoderCap enabled (true|false) #REQUIRED>
+<!ATTLIST AudioEncoderCap minBitRate CDATA #REQUIRED>
+<!ATTLIST AudioEncoderCap maxBitRate CDATA #REQUIRED>
+<!ATTLIST AudioEncoderCap minSampleRate CDATA #REQUIRED>
+<!ATTLIST AudioEncoderCap maxSampleRate CDATA #REQUIRED>
+<!ATTLIST AudioEncoderCap minChannels (1|2) #REQUIRED>
+<!ATTLIST AudioEncoderCap maxChannels (1|2) #REQUIRED>
+<!ELEMENT VideoDecoderCap EMPTY>
+<!ATTLIST VideoDecoderCap name (wmv) #REQUIRED>
+<!ATTLIST VideoDecoderCap enabled (true|false) #REQUIRED>
+<!ELEMENT AudioDecoderCap EMPTY>
+<!ATTLIST AudioDecoderCap name (wma) #REQUIRED>
+<!ATTLIST AudioDecoderCap enabled (true|false) #REQUIRED>
+]>
+<!--
+ This file is used to declare the multimedia profiles and capabilities
+ on an android-powered device.
+-->
+<MediaSettings>
+ <!-- Each camcorder profile defines a set of predefined configuration parameters -->
+ <CamcorderProfiles cameraId="0">
+
+ <EncoderProfile quality="2160p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="48000000"
+ width="3840"
+ height="2160"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="1080p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="12000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="720p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+
+ </EncoderProfile>
+
+ <EncoderProfile quality="480p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="3000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse2160p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="48000000"
+ width="3840"
+ height="2160"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="12000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="3000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <ImageEncoding quality="90" />
+ <ImageEncoding quality="80" />
+ <ImageEncoding quality="70" />
+ <ImageDecoding memCap="20000000" />
+
+ </CamcorderProfiles>
+
+ <CamcorderProfiles cameraId="1">
+
+ <EncoderProfile quality="1080p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="12000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="720p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+
+ </EncoderProfile>
+ <EncoderProfile quality="480p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="3000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="12000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="3000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <ImageEncoding quality="90" />
+ <ImageEncoding quality="80" />
+ <ImageEncoding quality="70" />
+ <ImageDecoding memCap="20000000" />
+
+ </CamcorderProfiles>
+
+ <CamcorderProfiles cameraId="2">
+
+ <EncoderProfile quality="1080p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="12000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="720p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+
+ </EncoderProfile>
+ <EncoderProfile quality="480p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="3000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="12000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="3000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <ImageEncoding quality="90" />
+ <ImageEncoding quality="80" />
+ <ImageEncoding quality="70" />
+ <ImageDecoding memCap="20000000" />
+
+ </CamcorderProfiles>
+
+ <CamcorderProfiles cameraId="3">
+
+ <EncoderProfile quality="1080p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="12000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="720p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+
+ </EncoderProfile>
+ <EncoderProfile quality="480p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="3000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="12000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="3000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <ImageEncoding quality="90" />
+ <ImageEncoding quality="80" />
+ <ImageEncoding quality="70" />
+ <ImageDecoding memCap="20000000" />
+
+ </CamcorderProfiles>
+
+ <CamcorderProfiles cameraId="2">
+
+ <EncoderProfile quality="1080p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="12000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="720p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+
+ </EncoderProfile>
+ <EncoderProfile quality="480p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="3000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="12000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="3000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <ImageEncoding quality="90" />
+ <ImageEncoding quality="80" />
+ <ImageEncoding quality="70" />
+ <ImageDecoding memCap="20000000" />
+
+ </CamcorderProfiles>
+
+ <EncoderOutputFileFormat name="3gp" />
+ <EncoderOutputFileFormat name="mp4" />
+
+ <!--
+ If a codec is not enabled, it is invisible to the applications
+ In other words, the applications won't be able to use the codec
+ or query the capabilities of the codec at all if it is disabled
+ -->
+
+ <!--
+ FIXME : we only check Mpeg4 encorder cap and other codec doesn't check
+ codec cap
+ -->
+ <VideoEncoderCap name="h264" enabled="true"
+ minBitRate="64000" maxBitRate="50000000"
+ minFrameWidth="128" maxFrameWidth="3840"
+ minFrameHeight="96" maxFrameHeight="2160"
+ minFrameRate="15" maxFrameRate="30" />
+
+ <VideoEncoderCap name="h263" enabled="true"
+ minBitRate="64000" maxBitRate="1000000"
+ minFrameWidth="128" maxFrameWidth="1920"
+ minFrameHeight="96" maxFrameHeight="1080"
+ minFrameRate="15" maxFrameRate="30" />
+
+ <VideoEncoderCap name="m4v" enabled="true"
+ minBitRate="64000" maxBitRate="2000000"
+ minFrameWidth="128" maxFrameWidth="1920"
+ minFrameHeight="96" maxFrameHeight="1080"
+ minFrameRate="15" maxFrameRate="30" />
+
+ <AudioEncoderCap name="aac" enabled="true"
+ minBitRate="758" maxBitRate="288000"
+ minSampleRate="8000" maxSampleRate="48000"
+ minChannels="1" maxChannels="1" />
+
+ <AudioEncoderCap name="heaac" enabled="true"
+ minBitRate="8000" maxBitRate="64000"
+ minSampleRate="16000" maxSampleRate="48000"
+ minChannels="1" maxChannels="1" />
+
+ <AudioEncoderCap name="aaceld" enabled="true"
+ minBitRate="16000" maxBitRate="192000"
+ minSampleRate="16000" maxSampleRate="48000"
+ minChannels="1" maxChannels="1" />
+
+ <AudioEncoderCap name="amrwb" enabled="true"
+ minBitRate="6600" maxBitRate="23050"
+ minSampleRate="16000" maxSampleRate="16000"
+ minChannels="1" maxChannels="1" />
+
+ <AudioEncoderCap name="amrnb" enabled="true"
+ minBitRate="5525" maxBitRate="12200"
+ minSampleRate="8000" maxSampleRate="8000"
+ minChannels="1" maxChannels="1" />
+
+ <!--
+ FIXME:
+ We do not check decoder capabilities at present
+ At present, we only check whether windows media is visible
+ for TEST applications. For other applications, we do
+ not perform any checks at all.
+ -->
+ <VideoDecoderCap name="wmv" enabled="false"/>
+ <AudioDecoderCap name="wma" enabled="false"/>
+
+</MediaSettings>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2010 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.
+-->
+<!DOCTYPE MediaSettings [
+<!ELEMENT MediaSettings (CamcorderProfiles,
+ EncoderOutputFileFormat+,
+ VideoEncoderCap+,
+ AudioEncoderCap+,
+ VideoDecoderCap,
+ AudioDecoderCap)>
+<!ELEMENT CamcorderProfiles (EncoderProfile+, ImageEncoding+, ImageDecoding, Camera)>
+<!ELEMENT EncoderProfile (Video, Audio)>
+<!ATTLIST EncoderProfile quality (high|low) #REQUIRED>
+<!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED>
+<!ATTLIST EncoderProfile duration (30|60) #REQUIRED>
+<!ELEMENT Video EMPTY>
+<!ATTLIST Video codec (h264|h263|m4v) #REQUIRED>
+<!ATTLIST Video bitRate CDATA #REQUIRED>
+<!ATTLIST Video width CDATA #REQUIRED>
+<!ATTLIST Video height CDATA #REQUIRED>
+<!ATTLIST Video frameRate CDATA #REQUIRED>
+<!ELEMENT Audio EMPTY>
+<!ATTLIST Audio codec (amrnb|amrwb|aac) #REQUIRED>
+<!ATTLIST Audio bitRate CDATA #REQUIRED>
+<!ATTLIST Audio sampleRate CDATA #REQUIRED>
+<!ATTLIST Audio channels (1|2) #REQUIRED>
+<!ELEMENT ImageEncoding EMPTY>
+<!ATTLIST ImageEncoding quality (90|80|70|60|50|40) #REQUIRED>
+<!ELEMENT ImageDecoding EMPTY>
+<!ATTLIST ImageDecoding memCap CDATA #REQUIRED>
+<!ELEMENT Camera EMPTY>
+<!ATTLIST Camera previewFrameRate CDATA #REQUIRED>
+<!ELEMENT EncoderOutputFileFormat EMPTY>
+<!ATTLIST EncoderOutputFileFormat name (mp4|3gp) #REQUIRED>
+<!ELEMENT VideoEncoderCap EMPTY>
+<!ATTLIST VideoEncoderCap name (h264|h263|m4v|wmv) #REQUIRED>
+<!ATTLIST VideoEncoderCap enabled (true|false) #REQUIRED>
+<!ATTLIST VideoEncoderCap minBitRate CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap maxBitRate CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap minFrameWidth CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap maxFrameWidth CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap minFrameHeight CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap maxFrameHeight CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap minFrameRate CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap maxFrameRate CDATA #REQUIRED>
+<!ELEMENT AudioEncoderCap EMPTY>
+<!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|wma) #REQUIRED>
+<!ATTLIST AudioEncoderCap enabled (true|false) #REQUIRED>
+<!ATTLIST AudioEncoderCap minBitRate CDATA #REQUIRED>
+<!ATTLIST AudioEncoderCap maxBitRate CDATA #REQUIRED>
+<!ATTLIST AudioEncoderCap minSampleRate CDATA #REQUIRED>
+<!ATTLIST AudioEncoderCap maxSampleRate CDATA #REQUIRED>
+<!ATTLIST AudioEncoderCap minChannels (1|2) #REQUIRED>
+<!ATTLIST AudioEncoderCap maxChannels (1|2) #REQUIRED>
+<!ELEMENT VideoDecoderCap EMPTY>
+<!ATTLIST VideoDecoderCap name (wmv) #REQUIRED>
+<!ATTLIST VideoDecoderCap enabled (true|false) #REQUIRED>
+<!ELEMENT AudioDecoderCap EMPTY>
+<!ATTLIST AudioDecoderCap name (wma) #REQUIRED>
+<!ATTLIST AudioDecoderCap enabled (true|false) #REQUIRED>
+]>
+<!--
+ This file is used to declare the multimedia profiles and capabilities
+ on an android-powered device.
+-->
+<MediaSettings>
+ <!-- Each camcorder profile defines a set of predefined configuration parameters -->
+ <CamcorderProfiles cameraId="0">
+
+ <EncoderProfile quality="2160p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="48000000"
+ width="3840"
+ height="2160"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="512000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="1080p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="12000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="512000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="720p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="512000"
+ sampleRate="48000"
+ channels="2" />
+
+ </EncoderProfile>
+
+ <EncoderProfile quality="480p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="3000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="512000"
+ sampleRate="48000"
+ channels="2" />
+
+ </EncoderProfile>
+
+ <!-- CAMCORDER_QUALITY_HIGH_SPEED_HIGH/720P : 720p@120fps; 42.0 Mbps -->
+ <EncoderProfile quality="highspeedlow" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="42000000"
+ width="1280"
+ height="720"
+ frameRate="120" />
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="highspeedhigh" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="42000000"
+ width="1280"
+ height="720"
+ frameRate="120" />
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="highspeed720p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="42000000"
+ width="1280"
+ height="720"
+ frameRate="120" />
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+
+ <EncoderProfile quality="timelapse2160p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="48000000"
+ width="3840"
+ height="2160"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="12000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="3000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="2" />
+ </EncoderProfile>
+
+ <ImageEncoding quality="90" />
+ <ImageEncoding quality="80" />
+ <ImageEncoding quality="70" />
+ <ImageDecoding memCap="20000000" />
+
+ </CamcorderProfiles>
+
+ <CamcorderProfiles cameraId="1">
+
+ <EncoderProfile quality="2160p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="48000000"
+ width="3840"
+ height="2160"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="320000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="1080p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="12000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="512000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="720p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="512000"
+ sampleRate="48000"
+ channels="2" />
+
+ </EncoderProfile>
+ <EncoderProfile quality="480p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="3000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="512000"
+ sampleRate="48000"
+ channels="2" />
+
+ </EncoderProfile>
+
+ <!-- CAMCORDER_QUALITY_HIGH_SPEED_HIGH/720P : 720p@120fps; 42.0 Mbps -->
+ <EncoderProfile quality="highspeedlow" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="42000000"
+ width="1280"
+ height="720"
+ frameRate="120" />
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="highspeedhigh" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="42000000"
+ width="1280"
+ height="720"
+ frameRate="120" />
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="highspeed720p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="42000000"
+ width="1280"
+ height="720"
+ frameRate="120" />
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="12000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="3000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <ImageEncoding quality="90" />
+ <ImageEncoding quality="80" />
+ <ImageEncoding quality="70" />
+ <ImageDecoding memCap="20000000" />
+
+ </CamcorderProfiles>
+
+ <CamcorderProfiles cameraId="2">
+
+ <EncoderProfile quality="1080p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="12000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="512000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="720p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="512000"
+ sampleRate="48000"
+ channels="2" />
+
+ </EncoderProfile>
+ <EncoderProfile quality="480p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="3000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="512000"
+ sampleRate="48000"
+ channels="2" />
+
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="12000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="3000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="2" />
+ </EncoderProfile>
+
+ <ImageEncoding quality="90" />
+ <ImageEncoding quality="80" />
+ <ImageEncoding quality="70" />
+ <ImageDecoding memCap="20000000" />
+
+ </CamcorderProfiles>
+
+ <CamcorderProfiles cameraId="3">
+
+ <EncoderProfile quality="1080p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="12000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="512000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="720p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="512000"
+ sampleRate="48000"
+ channels="2" />
+
+ </EncoderProfile>
+ <EncoderProfile quality="480p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="3000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="512000"
+ sampleRate="48000"
+ channels="2" />
+
+ </EncoderProfile>
+
+ <!-- CAMCORDER_QUALITY_HIGH_SPEED_HIGH/1080P : 1080p@120fps; 42.0 Mbps -->
+ <EncoderProfile quality="highspeedlow" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="42000000"
+ width="1920"
+ height="1080"
+ frameRate="120" />
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="highspeedhigh" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="42000000"
+ width="1920"
+ height="1080"
+ frameRate="120" />
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="highspeed1080p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="42000000"
+ width="1920"
+ height="1080"
+ frameRate="120" />
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="12000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="3000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="2" />
+ </EncoderProfile>
+
+ <ImageEncoding quality="90" />
+ <ImageEncoding quality="80" />
+ <ImageEncoding quality="70" />
+ <ImageDecoding memCap="20000000" />
+
+ </CamcorderProfiles>
+
+ <EncoderOutputFileFormat name="3gp" />
+ <EncoderOutputFileFormat name="mp4" />
+
+ <!--
+ If a codec is not enabled, it is invisible to the applications
+ In other words, the applications won't be able to use the codec
+ or query the capabilities of the codec at all if it is disabled
+ -->
+
+ <!--
+ FIXME : we only check Mpeg4 encorder cap and other codec doesn't check
+ codec cap
+ -->
+ <VideoEncoderCap name="h264" enabled="true"
+ minBitRate="64000" maxBitRate="50000000"
+ minFrameWidth="128" maxFrameWidth="3840"
+ minFrameHeight="96" maxFrameHeight="2160"
+ minFrameRate="15" maxFrameRate="30" />
+
+ <VideoEncoderCap name="h263" enabled="true"
+ minBitRate="64000" maxBitRate="1000000"
+ minFrameWidth="128" maxFrameWidth="1920"
+ minFrameHeight="96" maxFrameHeight="1080"
+ minFrameRate="15" maxFrameRate="30" />
+
+ <VideoEncoderCap name="m4v" enabled="true"
+ minBitRate="64000" maxBitRate="2000000"
+ minFrameWidth="128" maxFrameWidth="1920"
+ minFrameHeight="96" maxFrameHeight="1080"
+ minFrameRate="15" maxFrameRate="30" />
+
+ <AudioEncoderCap name="aac" enabled="true"
+ minBitRate="758" maxBitRate="512000"
+ minSampleRate="8000" maxSampleRate="48000"
+ minChannels="1" maxChannels="2" />
+
+ <AudioEncoderCap name="heaac" enabled="true"
+ minBitRate="8000" maxBitRate="64000"
+ minSampleRate="16000" maxSampleRate="48000"
+ minChannels="1" maxChannels="1" />
+
+ <AudioEncoderCap name="aaceld" enabled="true"
+ minBitRate="16000" maxBitRate="192000"
+ minSampleRate="16000" maxSampleRate="48000"
+ minChannels="1" maxChannels="1" />
+
+ <AudioEncoderCap name="amrwb" enabled="true"
+ minBitRate="6600" maxBitRate="23050"
+ minSampleRate="16000" maxSampleRate="16000"
+ minChannels="1" maxChannels="1" />
+
+ <AudioEncoderCap name="amrnb" enabled="true"
+ minBitRate="5525" maxBitRate="12200"
+ minSampleRate="8000" maxSampleRate="8000"
+ minChannels="1" maxChannels="1" />
+
+ <!--
+ FIXME:
+ We do not check decoder capabilities at present
+ At present, we only check whether windows media is visible
+ for TEST applications. For other applications, we do
+ not perform any checks at all.
+ -->
+ <VideoDecoderCap name="wmv" enabled="false"/>
+ <AudioDecoderCap name="wma" enabled="false"/>
+
+ <!--
+ The VideoEditor Capability configuration:
+ - maxInputFrameWidth: maximum video width of imported video clip.
+ - maxInputFrameHeight: maximum video height of imported video clip.
+ - maxOutputFrameWidth: maximum video width of exported video clip.
+ - maxOutputFrameHeight: maximum video height of exported video clip.
+ - maxPrefetchYUVFrames: maximum prefetch YUV frames for encoder,
+ used to limit the amount of memory for prefetched YUV frames.
+ For this platform, it allows maximum 30MB(3MB per 1080p frame x 10
+ frames) memory.
+ -->
+ <VideoEditorCap maxInputFrameWidth="1920"
+ maxInputFrameHeight="1080" maxOutputFrameWidth="1920"
+ maxOutputFrameHeight="1080" maxPrefetchYUVFrames="10"/>
+ <!--
+ The VideoEditor Export codec profile and level values
+ correspond to the values in OMX_Video.h.
+ E.g. for h264, profile value 1 means OMX_VIDEO_AVCProfileBaseline
+ and level 4096 means OMX_VIDEO_AVCLevel41.
+ Please note that the values are in decimal.
+ These values are for video encoder.
+ -->
+ <!--
+ Codec = h.264, Baseline profile, level 4.2
+ -->
+ <ExportVideoProfile name="h264" profile= "1" level="8192"/>
+ <!--
+ Codec = h.263, Baseline profile, level 45
+ -->
+ <ExportVideoProfile name="h263" profile= "1" level="16"/>
+ <!--
+ Codec = mpeg4, Simple profile, level 5
+ -->
+ <ExportVideoProfile name="m4v" profile= "1" level="128"/>
+</MediaSettings>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2010 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.
+-->
+<!DOCTYPE MediaSettings [
+<!ELEMENT MediaSettings (CamcorderProfiles,
+ EncoderOutputFileFormat+,
+ VideoEncoderCap+,
+ AudioEncoderCap+,
+ VideoDecoderCap,
+ AudioDecoderCap)>
+<!ELEMENT CamcorderProfiles (EncoderProfile+, ImageEncoding+, ImageDecoding, Camera)>
+<!ELEMENT EncoderProfile (Video, Audio)>
+<!ATTLIST EncoderProfile quality (high|low) #REQUIRED>
+<!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED>
+<!ATTLIST EncoderProfile duration (30|60) #REQUIRED>
+<!ELEMENT Video EMPTY>
+<!ATTLIST Video codec (h264|h263|m4v) #REQUIRED>
+<!ATTLIST Video bitRate CDATA #REQUIRED>
+<!ATTLIST Video width CDATA #REQUIRED>
+<!ATTLIST Video height CDATA #REQUIRED>
+<!ATTLIST Video frameRate CDATA #REQUIRED>
+<!ELEMENT Audio EMPTY>
+<!ATTLIST Audio codec (amrnb|amrwb|aac) #REQUIRED>
+<!ATTLIST Audio bitRate CDATA #REQUIRED>
+<!ATTLIST Audio sampleRate CDATA #REQUIRED>
+<!ATTLIST Audio channels (1|2) #REQUIRED>
+<!ELEMENT ImageEncoding EMPTY>
+<!ATTLIST ImageEncoding quality (90|80|70|60|50|40) #REQUIRED>
+<!ELEMENT ImageDecoding EMPTY>
+<!ATTLIST ImageDecoding memCap CDATA #REQUIRED>
+<!ELEMENT Camera EMPTY>
+<!ATTLIST Camera previewFrameRate CDATA #REQUIRED>
+<!ELEMENT EncoderOutputFileFormat EMPTY>
+<!ATTLIST EncoderOutputFileFormat name (mp4|3gp) #REQUIRED>
+<!ELEMENT VideoEncoderCap EMPTY>
+<!ATTLIST VideoEncoderCap name (h264|h263|m4v|wmv) #REQUIRED>
+<!ATTLIST VideoEncoderCap enabled (true|false) #REQUIRED>
+<!ATTLIST VideoEncoderCap minBitRate CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap maxBitRate CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap minFrameWidth CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap maxFrameWidth CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap minFrameHeight CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap maxFrameHeight CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap minFrameRate CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap maxFrameRate CDATA #REQUIRED>
+<!ELEMENT AudioEncoderCap EMPTY>
+<!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|wma) #REQUIRED>
+<!ATTLIST AudioEncoderCap enabled (true|false) #REQUIRED>
+<!ATTLIST AudioEncoderCap minBitRate CDATA #REQUIRED>
+<!ATTLIST AudioEncoderCap maxBitRate CDATA #REQUIRED>
+<!ATTLIST AudioEncoderCap minSampleRate CDATA #REQUIRED>
+<!ATTLIST AudioEncoderCap maxSampleRate CDATA #REQUIRED>
+<!ATTLIST AudioEncoderCap minChannels (1|2) #REQUIRED>
+<!ATTLIST AudioEncoderCap maxChannels (1|2) #REQUIRED>
+<!ELEMENT VideoDecoderCap EMPTY>
+<!ATTLIST VideoDecoderCap name (wmv) #REQUIRED>
+<!ATTLIST VideoDecoderCap enabled (true|false) #REQUIRED>
+<!ELEMENT AudioDecoderCap EMPTY>
+<!ATTLIST AudioDecoderCap name (wma) #REQUIRED>
+<!ATTLIST AudioDecoderCap enabled (true|false) #REQUIRED>
+]>
+<!--
+ This file is used to declare the multimedia profiles and capabilities
+ on an android-powered device.
+-->
+<MediaSettings>
+ <!-- Each camcorder profile defines a set of predefined configuration parameters -->
+ <CamcorderProfiles cameraId="0">
+
+ <EncoderProfile quality="2160p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="48000000"
+ width="3840"
+ height="2160"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="512000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="1080p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="12000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="512000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="720p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="512000"
+ sampleRate="48000"
+ channels="2" />
+
+ </EncoderProfile>
+
+ <EncoderProfile quality="480p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="3000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="512000"
+ sampleRate="48000"
+ channels="2" />
+
+ </EncoderProfile>
+
+ <!-- CAMCORDER_QUALITY_HIGH_SPEED_HIGH/720P : 720p@120fps; 42.0 Mbps -->
+ <EncoderProfile quality="highspeedlow" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="42000000"
+ width="1280"
+ height="720"
+ frameRate="120" />
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="highspeedhigh" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="42000000"
+ width="1280"
+ height="720"
+ frameRate="120" />
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="highspeed720p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="42000000"
+ width="1280"
+ height="720"
+ frameRate="120" />
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+
+ <EncoderProfile quality="timelapse2160p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="48000000"
+ width="3840"
+ height="2160"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="12000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="3000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="2" />
+ </EncoderProfile>
+
+ <ImageEncoding quality="90" />
+ <ImageEncoding quality="80" />
+ <ImageEncoding quality="70" />
+ <ImageDecoding memCap="20000000" />
+
+ </CamcorderProfiles>
+
+ <CamcorderProfiles cameraId="1">
+
+ <EncoderProfile quality="2160p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="48000000"
+ width="3840"
+ height="2160"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="320000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="1080p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="12000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="512000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="720p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="512000"
+ sampleRate="48000"
+ channels="2" />
+
+ </EncoderProfile>
+ <EncoderProfile quality="480p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="3000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="512000"
+ sampleRate="48000"
+ channels="2" />
+
+ </EncoderProfile>
+
+ <!-- CAMCORDER_QUALITY_HIGH_SPEED_HIGH/720P : 720p@120fps; 42.0 Mbps -->
+ <EncoderProfile quality="highspeedlow" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="42000000"
+ width="1280"
+ height="720"
+ frameRate="120" />
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="highspeedhigh" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="42000000"
+ width="1280"
+ height="720"
+ frameRate="120" />
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="highspeed720p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="42000000"
+ width="1280"
+ height="720"
+ frameRate="120" />
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="12000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="3000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="2" />
+ </EncoderProfile>
+
+ <ImageEncoding quality="90" />
+ <ImageEncoding quality="80" />
+ <ImageEncoding quality="70" />
+ <ImageDecoding memCap="20000000" />
+
+ </CamcorderProfiles>
+
+ <CamcorderProfiles cameraId="2">
+
+ <EncoderProfile quality="1080p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="12000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="512000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="720p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="512000"
+ sampleRate="48000"
+ channels="2" />
+
+ </EncoderProfile>
+ <EncoderProfile quality="480p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="3000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="512000"
+ sampleRate="48000"
+ channels="2" />
+
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="12000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="3000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="2" />
+ </EncoderProfile>
+
+ <ImageEncoding quality="90" />
+ <ImageEncoding quality="80" />
+ <ImageEncoding quality="70" />
+ <ImageDecoding memCap="20000000" />
+
+ </CamcorderProfiles>
+
+ <CamcorderProfiles cameraId="3">
+
+ <EncoderProfile quality="1080p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="12000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="512000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="720p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="512000"
+ sampleRate="48000"
+ channels="2" />
+
+ </EncoderProfile>
+ <EncoderProfile quality="480p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="3000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="512000"
+ sampleRate="48000"
+ channels="2" />
+
+ </EncoderProfile>
+
+ <!-- CAMCORDER_QUALITY_HIGH_SPEED_HIGH/1080P : 1080p@120fps; 42.0 Mbps -->
+ <EncoderProfile quality="highspeedlow" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="42000000"
+ width="1920"
+ height="1080"
+ frameRate="120" />
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="highspeedhigh" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="42000000"
+ width="1920"
+ height="1080"
+ frameRate="120" />
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="highspeed1080p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="42000000"
+ width="1920"
+ height="1080"
+ frameRate="120" />
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="12000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="3000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+
+ <!-- Audio settings are not used for timealpse video recording -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="2" />
+ </EncoderProfile>
+
+ <ImageEncoding quality="90" />
+ <ImageEncoding quality="80" />
+ <ImageEncoding quality="70" />
+ <ImageDecoding memCap="20000000" />
+
+ </CamcorderProfiles>
+
+ <EncoderOutputFileFormat name="3gp" />
+ <EncoderOutputFileFormat name="mp4" />
+
+ <!--
+ If a codec is not enabled, it is invisible to the applications
+ In other words, the applications won't be able to use the codec
+ or query the capabilities of the codec at all if it is disabled
+ -->
+
+ <!--
+ FIXME : we only check Mpeg4 encorder cap and other codec doesn't check
+ codec cap
+ -->
+ <VideoEncoderCap name="h264" enabled="true"
+ minBitRate="64000" maxBitRate="50000000"
+ minFrameWidth="128" maxFrameWidth="3840"
+ minFrameHeight="96" maxFrameHeight="2160"
+ minFrameRate="15" maxFrameRate="30" />
+
+ <VideoEncoderCap name="h263" enabled="true"
+ minBitRate="64000" maxBitRate="1000000"
+ minFrameWidth="128" maxFrameWidth="1920"
+ minFrameHeight="96" maxFrameHeight="1080"
+ minFrameRate="15" maxFrameRate="30" />
+
+ <VideoEncoderCap name="m4v" enabled="true"
+ minBitRate="64000" maxBitRate="2000000"
+ minFrameWidth="128" maxFrameWidth="1920"
+ minFrameHeight="96" maxFrameHeight="1080"
+ minFrameRate="15" maxFrameRate="30" />
+
+ <AudioEncoderCap name="aac" enabled="true"
+ minBitRate="758" maxBitRate="512000"
+ minSampleRate="8000" maxSampleRate="48000"
+ minChannels="1" maxChannels="2" />
+
+ <AudioEncoderCap name="heaac" enabled="true"
+ minBitRate="8000" maxBitRate="64000"
+ minSampleRate="16000" maxSampleRate="48000"
+ minChannels="1" maxChannels="1" />
+
+ <AudioEncoderCap name="aaceld" enabled="true"
+ minBitRate="16000" maxBitRate="192000"
+ minSampleRate="16000" maxSampleRate="48000"
+ minChannels="1" maxChannels="1" />
+
+ <AudioEncoderCap name="amrwb" enabled="true"
+ minBitRate="6600" maxBitRate="23050"
+ minSampleRate="16000" maxSampleRate="16000"
+ minChannels="1" maxChannels="1" />
+
+ <AudioEncoderCap name="amrnb" enabled="true"
+ minBitRate="5525" maxBitRate="12200"
+ minSampleRate="8000" maxSampleRate="8000"
+ minChannels="1" maxChannels="1" />
+
+ <!--
+ FIXME:
+ We do not check decoder capabilities at present
+ At present, we only check whether windows media is visible
+ for TEST applications. For other applications, we do
+ not perform any checks at all.
+ -->
+ <VideoDecoderCap name="wmv" enabled="false"/>
+ <AudioDecoderCap name="wma" enabled="false"/>
+
+ <!--
+ The VideoEditor Capability configuration:
+ - maxInputFrameWidth: maximum video width of imported video clip.
+ - maxInputFrameHeight: maximum video height of imported video clip.
+ - maxOutputFrameWidth: maximum video width of exported video clip.
+ - maxOutputFrameHeight: maximum video height of exported video clip.
+ - maxPrefetchYUVFrames: maximum prefetch YUV frames for encoder,
+ used to limit the amount of memory for prefetched YUV frames.
+ For this platform, it allows maximum 30MB(3MB per 1080p frame x 10
+ frames) memory.
+ -->
+ <VideoEditorCap maxInputFrameWidth="1920"
+ maxInputFrameHeight="1080" maxOutputFrameWidth="1920"
+ maxOutputFrameHeight="1080" maxPrefetchYUVFrames="10"/>
+ <!--
+ The VideoEditor Export codec profile and level values
+ correspond to the values in OMX_Video.h.
+ E.g. for h264, profile value 1 means OMX_VIDEO_AVCProfileBaseline
+ and level 4096 means OMX_VIDEO_AVCLevel41.
+ Please note that the values are in decimal.
+ These values are for video encoder.
+ -->
+ <!--
+ Codec = h.264, Baseline profile, level 4.2
+ -->
+ <ExportVideoProfile name="h264" profile= "1" level="8192"/>
+ <!--
+ Codec = h.263, Baseline profile, level 45
+ -->
+ <ExportVideoProfile name="h263" profile= "1" level="16"/>
+ <!--
+ Codec = mpeg4, Simple profile, level 5
+ -->
+ <ExportVideoProfile name="m4v" profile= "1" level="128"/>
+</MediaSettings>
--- /dev/null
+########################## Start of libnfc-nci.conf ###########################
+###############################################################################
+# Application options
+NFC_DEBUG_ENABLED=0
+
+###############################################################################
+# File used for NFA storage
+NFA_STORAGE="/data/nfc"
+PRESERVE_STORAGE=0x01
+
+# Force tag polling for the following technology(s).
+# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
+# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B |
+# NFA_TECHNOLOGY_MASK_F | NFA_TECHNOLOGY_MASK_ISO15693 |
+# NFA_TECHNOLOGY_MASK_B_PRIME | NFA_TECHNOLOGY_MASK_KOVIO |
+# NFA_TECHNOLOGY_MASK_ACTIVE
+#
+# Notable bits:
+# NFA_TECHNOLOGY_MASK_A 0x01 /* NFC Technology A */
+# NFA_TECHNOLOGY_MASK_B 0x02 /* NFC Technology B */
+# NFA_TECHNOLOGY_MASK_F 0x04 /* NFC Technology F */
+# NFA_TECHNOLOGY_MASK_ISO15693 0x08 /* Proprietary Technology */
+# NFA_TECHNOLOGY_MASK_KOVIO 0x20 /* Proprietary Technology */
+# NFA_TECHNOLOGY_MASK_ACTIVE 0x40 /* NFC Technology Active */
+POLLING_TECH_MASK=0x6F
+
+###############################################################################
+# Force P2P to only listen for the following technology(s).
+# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
+# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_F |
+# NFA_TECHNOLOGY_MASK_ACTIVE
+#
+# Notable bits:
+# NFA_TECHNOLOGY_MASK_A 0x01 /* NFC Technology A */
+# NFA_TECHNOLOGY_MASK_F 0x04 /* NFC Technology F */
+# NFA_TECHNOLOGY_MASK_ACTIVE 0x40 /* NFC Technology Active */
+P2P_LISTEN_TECH_MASK=0x44
+
+UICC_LISTEN_TECH_MASK=0x07
+
+#NFA_DM_CFG
+
+###############################################################################
+# When screen is turned off, specify the desired power state of the controller.
+# 0: power-off-sleep state; DEFAULT
+# 1: full-power state
+# 2: screen-off card-emulation (CE4/CE3/CE1 modes are used)
+SCREEN_OFF_POWER_STATE=1
+###############################################################################
+
+###############################################################################
+# Override the stack default for NFA_EE_MAX_EE_SUPPORTED set in nfc_target.h.
+# The value is set assumeing discovery of 0x00(Host), 0xC0(Ese) and 0x80(UICC).
+# If a platform will exclude and SE, this value can be reduced so that the stack
+# will not wait any longer than necessary.
+# Maximum EE supported number
+NFA_MAX_EE_SUPPORTED=3
+
+###############################################################################
+# Default poll duration (in ms)
+# The defualt is 500ms if not set (see nfc_target.h)
+NFA_DM_DISC_DURATION_POLL=800
+
+#POLL_FREQUENCY
+
+#NFA_AID_BLOCK_ROUTE
+
+#AID_FOR_EMPTY_SELECT
+
+###############################################################################
+# Enable/Disable Block Route feature.
+# Block Route will restrict routing to first matched rule
+# Block Route enable 0x01
+# Block Route disable 0x00
+#NFA_BLOCK_ROUTE=0x00
+
+###############################################################################
+# AID_MATCHING constants
+# AID_MATCHING_EXACT_ONLY 0x00
+# AID_MATCHING_EXACT_OR_PREFIX 0x01
+# AID_MATCHING_PREFIX_ONLY 0x02
+# AID_MATCHING_EXACT_OR_SUBSET_OR_PREFIX 0x03
+AID_MATCHING_MODE=0
+
+###############################################################################
+# AID Route power state for OffHost
+OFFHOST_AID_ROUTE_PWR_STATE=0x3B
+###############################################################################
+
+LEGACY_MIFARE_READER=1
--- /dev/null
+# Vendor common
+NFA_POLL_BAIL_OUT_MODE=0
+PRESENCE_CHECK_ALGORITHM=5
+NFA_PROPRIETARY_CFG={00, 81, 82, 80, 8A, 81, 70, 74, F4}
+DEFAULT_OFFHOST_ROUTE=0x03
+OFFHOST_ROUTE_ESE={82}
+OFFHOST_ROUTE_UICC={83}
+DEFAULT_NFCF_ROUTE=0x03
+###############################################################################
+#Set the default Felica T3T System Code :
+#This settings will be used when application does not set this parameter
+DEFAULT_SYS_CODE={FE:FF}
+#DEFAULT_SYS_CODE_ROUTE
+#DEFAULT_SYS_CODE_PWR_STATE
+DEFAULT_ROUTE=0x03
+#OFF_HOST_ESE_PIPE_ID
+OFF_HOST_SIM_PIPE_ID=0x06
+ISO_DEP_MAX_TRANSCEIVE=261
+#DEVICE_HOST_WHITE_LIST
+DEFAULT_ISODEP_ROUTE=0x83
+
+# LSI
+DEFAULT_SIMSLOT=1
+FW_CFG_CLK_SPEED=0x12
+FW_BASE_ADDRESS=0x2000
+WAKEUP_DELAY=20
+FW_DIR_PATH="/vendor/firmware"
+FW_FILE_NAME="sec_s3nrn82_firmware.bin"
+RF_DIR_PATH="/vendor/etc"
+RF_FILE_NAME="sec_s3nrn82_rfreg.bin"
+POWER_DRIVER="/dev/sec-nfc"
+TRANS_DRIVER="/dev/sec-nfc"
+TRACE_LEVEL=2
+DATA_TRACE=2
+SLEEP_TIMEOUT=1000
+FW_UPDATE_MODE=0
--- /dev/null
+libOpenCL.so
--- /dev/null
+# Copyright (C) 2017 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.
+
+futex: 1
+# ioctl: arg1 == BINDER_WRITE_READ
+ioctl: arg1 == 0xc0306201
+# prctl: arg0 == PR_SET_NAME || arg0 == PR_SET_VMA || arg0 == PR_SET_TIMERSLACK
+# || arg0 == PR_GET_NO_NEW_PRIVS # used by crash_dump
+# prctl: arg0 == 15 || arg0 == 0x53564d41 || arg0 == 29 || arg0 == 39
+# TODO(b/68162846) reduce scope of prctl() based on arguments
+prctl: 1
+openat: 1
+mmap: 1
+mprotect: 1
+close: 1
+getuid: 1
+read: 1
+faccessat: 1
+write: 1
+fstat: 1
+clone: 1
+sched_setscheduler: 1
+munmap: 1
+lseek: 1
+sigaltstack: 1
+writev: 1
+setpriority: 1
+restart_syscall: 1
+exit: 1
+exit_group: 1
+rt_sigreturn: 1
+getrlimit: 1
+madvise: 1
+getdents64: 1
+clock_gettime: 1
+getpid: 1
+
+# used during process crash by crash_dump to dump process info
+rt_sigprocmask: 1
+rt_sigaction: 1
+# socket: arg0 == AF_LOCAL
+socket: arg0 == 1
+connect: 1
+recvmsg: 1
+rt_tgsigqueueinfo: 1
--- /dev/null
+
+# for H/W Codec
+getdents64: 1
--- /dev/null
+sensors.rp.so
+sensors.chub.so
--- /dev/null
+{
+ "chopchop params": {
+ "max_gyro_rotation": 102.0,
+ "max_chop_duration_ms": 350,
+ "first_accel_threshold": 36.0,
+ "second_accel_threshold": 20.0,
+ "min_magnitude_percentage": 0.25,
+ "max_xy_percentage": 0.45,
+ "gyroless": false
+ },
+ "glance params": {
+ "motion_threshold": 0.04,
+ "cool_time": 3000,
+ "gesture_allow": 23,
+ "uncover_timeout": 900
+ },
+ "ltv params": {
+ "min_accel_rotation_deg": 19.0,
+ "accel_fast_alpha": 0.25,
+ "accel_slow_alpha": 0.0625,
+ "land_conv_cnt": 3,
+ "min_accel_rotation_wake_deg": 8.0,
+ "non_accel_rotation_ff_deg": 4.0,
+ "rearm_non_rotation_deg": 8.0,
+ "rearm_accel_rotation_deg": 30.0,
+ "rearm_forced_accel_rot_deg": 80.0,
+ "rearm_conv_cnt": 30,
+ "raw_accel_margin": 4.2
+ }
+}
--- /dev/null
+[REPORT-FRONT-TEMP]
+algo_type monitor
+sampling 300000
+sensor FRONT_TEMP
+thresholds 45000
+thresholds_clr 43000
+actions report
+action_info 1
+
+[REPORT-BACK-TEMP]
+algo_type monitor
+sampling 300000
+sensor BACK_TEMP
+thresholds 45000
+thresholds_clr 43000
+actions report
+action_info 1
+
+[SS-MSM-Cluster0]
+algo_type ss
+sampling 1000
+sensor therm_soc
+device little_freq
+set_point 46000
+set_point_clr 44000
+device_perf_floor 1326000
+
+[MON-MSM-Cluster0]
+algo_type monitor
+sampling 1000
+sensor therm_soc
+thresholds 51000
+thresholds_clr 49000
+actions little_freq
+action_info 1053000
+
+[SS-MSM-Cluster1]
+algo_type ss
+sampling 1000
+sensor therm_soc
+device big_freq
+set_point 39000
+set_point_clr 37000
+device_perf_floor 1508000
+
+[MON-MSM-Cluster1]
+algo_type monitor
+sampling 1000
+sensor therm_soc
+thresholds 49000
+thresholds_clr 47000
+actions big_freq
+action_info 1352000
+
+[MON-CHG-BATT]
+algo_type monitor
+sampling 1000
+sensor therm_chg
+thresholds 44000 45000 46000 48000 49000
+thresholds_clr 42000 44000 45000 46000 48000
+actions charger charger charger charger charger
+action_info 1 2 3 4 6
+
+[CPU7_HOTPLUG_MONITOR]
+algo_type monitor
+sampling 1000
+sensor therm_soc
+thresholds 56000
+thresholds_clr 54000
+actions cpu_hotplug
+action_info 7
+
+[CPU6_HOTPLUG_MONITOR]
+algo_type monitor
+sampling 1000
+sensor therm_soc
+thresholds 57000
+thresholds_clr 55000
+actions cpu_hotplug
+action_info 6
+
+[CPU5_HOTPLUG_MONITOR]
+algo_type monitor
+sampling 1000
+sensor therm_soc
+thresholds 58000
+thresholds_clr 56000
+actions cpu_hotplug
+action_info 5
+
+[CPU4_HOTPLUG_MONITOR]
+algo_type monitor
+sampling 1000
+sensor therm_soc
+thresholds 59000
+thresholds_clr 57000
+actions cpu_hotplug
+action_info 4
+
+[MONITOR-LCD-BRIGHTNESS]
+algo_type monitor
+sampling 5000
+sensor therm_usb_con
+thresholds 41000 43000 45000 46000 47000 48000
+thresholds_clr 40000 41000 43000 45000 46000 47000
+actions backlight backlight backlight backlight backlight backlight
+action_info 240 225 210 200 190 180
+
+[SS-GPU]
+algo_type ss
+sampling 1000
+sensor tmu_gpu
+device gpu_freq
+set_point 75000
+set_point_clr 65000
+
+[REPORT-BIG-TEMP]
+algo_type monitor
+sampling 300000
+sensor tmu_big
+thresholds 22000
+thresholds_clr 19000
+actions report
+action_info 1
--- /dev/null
+[REPORT-FRONT-TEMP]
+algo_type monitor
+sampling 300000
+sensor FRONT_TEMP
+thresholds 45000
+thresholds_clr 43000
+actions report
+action_info 1
+
+[REPORT-BACK-TEMP]
+algo_type monitor
+sampling 300000
+sensor BACK_TEMP
+thresholds 45000
+thresholds_clr 43000
+actions report
+action_info 1
+
+[SS-MSM-Cluster0]
+algo_type ss
+sampling 1000
+sensor therm_soc
+device little_freq
+set_point 46000
+set_point_clr 44000
+device_perf_floor 1326000
+
+[MON-MSM-Cluster0]
+algo_type monitor
+sampling 1000
+sensor therm_soc
+thresholds 51000
+thresholds_clr 49000
+actions little_freq
+action_info 1053000
+
+[SS-MSM-Cluster1]
+algo_type ss
+sampling 1000
+sensor therm_soc
+device big_freq
+set_point 39000
+set_point_clr 37000
+device_perf_floor 1508000
+
+[MON-MSM-Cluster1]
+algo_type monitor
+sampling 1000
+sensor therm_soc
+thresholds 49000
+thresholds_clr 47000
+actions big_freq
+action_info 1352000
+
+[MON-CHG-BATT]
+algo_type monitor
+sampling 1000
+sensor therm_chg
+thresholds 45000 46000 48000 49000 50000
+thresholds_clr 43000 45000 46000 48000 49000
+actions charger charger charger charger charger
+action_info 1 2 3 4 6
+
+[CPU7_HOTPLUG_MONITOR]
+algo_type monitor
+sampling 1000
+sensor therm_soc
+thresholds 56000
+thresholds_clr 55000
+actions cpu_hotplug
+action_info 7
+
+[CPU6_HOTPLUG_MONITOR]
+algo_type monitor
+sampling 1000
+sensor therm_soc
+thresholds 57000
+thresholds_clr 56000
+actions cpu_hotplug
+action_info 6
+
+[CPU5_HOTPLUG_MONITOR]
+algo_type monitor
+sampling 1000
+sensor therm_soc
+thresholds 58000
+thresholds_clr 57000
+actions cpu_hotplug
+action_info 5
+
+[CPU4_HOTPLUG_MONITOR]
+algo_type monitor
+sampling 1000
+sensor therm_soc
+thresholds 59000
+thresholds_clr 58000
+actions cpu_hotplug
+action_info 4
+
+[MONITOR-LCD-BRIGHTNESS]
+algo_type monitor
+sampling 5000
+sensor therm_usb_con
+thresholds 41000 43000 45000 46000 47000 48000
+thresholds_clr 40000 41000 43000 45000 46000 47000
+actions backlight backlight backlight backlight backlight backlight
+action_info 240 225 210 200 190 180
+
+[SS-GPU]
+algo_type ss
+sampling 1000
+sensor tmu_gpu
+device gpu_freq
+set_point 75000
+set_point_clr 65000
+
+[REPORT-BIG-TEMP]
+algo_type monitor
+sampling 300000
+sensor tmu_big
+thresholds 22000
+thresholds_clr 19000
+actions report
+action_info 1
--- /dev/null
+[REPORT-FRONT-TEMP]
+algo_type monitor
+sampling 300000
+sensor FRONT_TEMP
+thresholds 45000
+thresholds_clr 43000
+actions report
+action_info 1
+
+[REPORT-BACK-TEMP]
+algo_type monitor
+sampling 300000
+sensor BACK_TEMP
+thresholds 45000
+thresholds_clr 43000
+actions report
+action_info 1
+
+[SS-MSM-Cluster0]
+algo_type ss
+sampling 1000
+sensor therm_soc
+device little_freq
+set_point 46000
+set_point_clr 44000
+device_perf_floor 1326000
+
+[MON-MSM-Cluster0]
+algo_type monitor
+sampling 1000
+sensor therm_soc
+thresholds 51000
+thresholds_clr 49000
+actions little_freq
+action_info 1053000
+
+[SS-MSM-Cluster1]
+algo_type ss
+sampling 1000
+sensor therm_soc
+device big_freq
+set_point 39000
+set_point_clr 37000
+device_perf_floor 1508000
+
+[MON-MSM-Cluster1]
+algo_type monitor
+sampling 1000
+sensor therm_soc
+thresholds 49000
+thresholds_clr 47000
+actions big_freq
+action_info 1352000
+
+[MON-CHG-BATT]
+algo_type monitor
+sampling 1000
+sensor therm_chg
+thresholds 44000 46000 48000
+thresholds_clr 42000 44000 46000
+actions charger charger charger
+action_info 1 4 6
+
+[CPU7_HOTPLUG_MONITOR]
+algo_type monitor
+sampling 1000
+sensor therm_soc
+thresholds 56000
+thresholds_clr 54000
+actions cpu_hotplug
+action_info 7
+
+[CPU6_HOTPLUG_MONITOR]
+algo_type monitor
+sampling 1000
+sensor therm_soc
+thresholds 57000
+thresholds_clr 55000
+actions cpu_hotplug
+action_info 6
+
+[CPU5_HOTPLUG_MONITOR]
+algo_type monitor
+sampling 1000
+sensor therm_soc
+thresholds 58000
+thresholds_clr 56000
+actions cpu_hotplug
+action_info 5
+
+[CPU4_HOTPLUG_MONITOR]
+algo_type monitor
+sampling 1000
+sensor therm_soc
+thresholds 59000
+thresholds_clr 57000
+actions cpu_hotplug
+action_info 4
+
+[MONITOR-LCD-BRIGHTNESS]
+algo_type monitor
+sampling 5000
+sensor therm_usb_con
+thresholds 41000 43000 45000 46000 47000 48000
+thresholds_clr 40000 41000 43000 45000 46000 47000
+actions backlight backlight backlight backlight backlight backlight
+action_info 240 225 210 200 190 180
+
+[SS-GPU]
+algo_type ss
+sampling 1000
+sensor tmu_gpu
+device gpu_freq
+set_point 75000
+set_point_clr 65000
+
+[REPORT-BIG-TEMP]
+algo_type monitor
+sampling 300000
+sensor tmu_big
+thresholds 22000
+thresholds_clr 19000
+actions report
+action_info 1
--- /dev/null
+[REPORT-FRONT-TEMP]
+algo_type monitor
+sampling 300000
+sensor FRONT_TEMP
+thresholds 45000
+thresholds_clr 43000
+actions report
+action_info 1
+
+[REPORT-BACK-TEMP]
+algo_type monitor
+sampling 300000
+sensor BACK_TEMP
+thresholds 45000
+thresholds_clr 43000
+actions report
+action_info 1
+
+[SS-MSM-Cluster0]
+algo_type ss
+sampling 1000
+sensor therm_soc
+device little_freq
+set_point 46000
+set_point_clr 44000
+device_perf_floor 1326000
+
+[MON-MSM-Cluster0]
+algo_type monitor
+sampling 1000
+sensor therm_soc
+thresholds 51000
+thresholds_clr 49000
+actions little_freq
+action_info 1053000
+
+[SS-MSM-Cluster1]
+algo_type ss
+sampling 1000
+sensor therm_soc
+device big_freq
+set_point 39000
+set_point_clr 37000
+device_perf_floor 1508000
+
+[MON-MSM-Cluster1]
+algo_type monitor
+sampling 1000
+sensor therm_soc
+thresholds 49000
+thresholds_clr 47000
+actions big_freq
+action_info 1352000
+
+[MON-CHG-BATT]
+algo_type monitor
+sampling 1000
+sensor therm_chg
+thresholds 45000 46000 48000 49000 50000
+thresholds_clr 43000 45000 46000 48000 49000
+actions charger charger charger charger charger
+action_info 1 2 3 4 6
+
+[CPU7_HOTPLUG_MONITOR]
+algo_type monitor
+sampling 1000
+sensor therm_soc
+thresholds 56000
+thresholds_clr 55000
+actions cpu_hotplug
+action_info 7
+
+[CPU6_HOTPLUG_MONITOR]
+algo_type monitor
+sampling 1000
+sensor therm_soc
+thresholds 57000
+thresholds_clr 56000
+actions cpu_hotplug
+action_info 6
+
+[CPU5_HOTPLUG_MONITOR]
+algo_type monitor
+sampling 1000
+sensor therm_soc
+thresholds 58000
+thresholds_clr 57000
+actions cpu_hotplug
+action_info 5
+
+[CPU4_HOTPLUG_MONITOR]
+algo_type monitor
+sampling 1000
+sensor therm_soc
+thresholds 59000
+thresholds_clr 58000
+actions cpu_hotplug
+action_info 4
+
+[MONITOR-LCD-BRIGHTNESS]
+algo_type monitor
+sampling 5000
+sensor therm_usb_con
+thresholds 41000 43000 45000 46000 47000 48000
+thresholds_clr 40000 41000 43000 45000 46000 47000
+actions backlight backlight backlight backlight backlight backlight
+action_info 240 225 210 200 190 180
+
+[SS-GPU]
+algo_type ss
+sampling 1000
+sensor tmu_gpu
+device gpu_freq
+set_point 75000
+set_point_clr 65000
+
+[REPORT-BIG-TEMP]
+algo_type monitor
+sampling 300000
+sensor tmu_big
+thresholds 22000
+thresholds_clr 19000
+actions report
+action_info 1
--- /dev/null
+[tmu_little]
+type real
+node_path /sys/class/thermal/thermal_zone1/temp
+sampling 1000
+
+[tmu_big]
+type real
+node_path /sys/class/thermal/thermal_zone0/temp
+sampling 1000
+
+[tmu_gpu]
+type real
+node_path /sys/class/thermal/thermal_zone2/temp
+sampling 1000
+
+[tmu_isp]
+type real
+node_path /sys/class/thermal/thermal_zone3/temp
+sampling 1000
+
+[therm_soc]
+type real
+node_path /sys/class/hwmon/hwmon0/temp1_input
+
+[therm_bat]
+type real
+node_path /sys/class/hwmon/hwmon1/temp1_input
+
+[charger]
+type charger
+node_path /sys/class/power_supply/battery/charge_control_limit
+
+[little_freq]
+type cpufreq
+node_path /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq
+level_table 1638000 1534000 1456000 1326000 1118000 1053000 910000 806000 702000 598000 403000
+
+[big_freq]
+type cpufreq
+node_path /sys/devices/system/cpu/cpufreq/policy4/scaling_max_freq
+level_table 2210000 2184000 2080000 1976000 1898000 1768000 1664000 1508000 1456000 1352000 1248000 1144000 1040000 936000
+
+[gpu_freq]
+type gpufreq
+node_path /sys/devices/platform/11500000.mali/dvfs_max_lock
+level_table 1053000 949000 839000 764000 683000 572000 546000 455000 385000 338000 260000
+
+[cpu_hotplug]
+type cpuhotplug
+node_path /sys/power/cpuhp/set_online_cpu
+
+[camera]
+type camera
+node_path /sys/devices/platform/14490000.fimc_is/debug/fixed_sensor_fps
+
+[backlight]
+type backlight
+node_path /sys/class/panel/panel/max_brightness
+
+[report]
+type report
+node_path /data/vendor/exynos-thermal.log
+
+[therm_soc]
+type real
+node_path /sys/class/hwmon/hwmon0/temp1_input
+sampling 1000
+
+[therm_bat]
+type real
+node_path /sys/class/hwmon/hwmon1/temp1_input
+sampling 1000
+
+[therm_pa]
+type real
+node_path /sys/class/hwmon/hwmon2/temp1_input
+sampling 1000
+
+[therm_board]
+type real
+node_path /sys/class/hwmon/hwmon3/temp1_input
+sampling 1000
+
+[therm_usb_con]
+type real
+node_path /sys/class/hwmon/hwmon4/temp1_input
+sampling 1000
+
+[therm_chg]
+type real
+node_path /sys/class/power_supply/battery/charge_temp
+sampling 1000
+
+[FRONT_TEMP]
+type virtual
+trip_sensor therm_soc
+set_point -18000
+set_point_clr -20000
+sensors therm_soc therm_bat
+weights 110 85
+offsets -2000 -2000
+sampling 10000
+math 0
+
+[BACK_TEMP]
+type virtual
+trip_sensor therm_soc
+set_point -18000
+set_point_clr -20000
+sensors therm_soc therm_bat
+weights 110 85
+offsets -1000 -1000
+sampling 10000
+math 0
--- /dev/null
+update_config=1
+ctrl_interface=/data/vendor/wifi/wpa/sockets
+config_methods=physical_display virtual_push_button keypad
+eapol_version=1
+ap_scan=1
+fast_reauth=1
+p2p_add_cli_chan=1
--- /dev/null
+update_config=1
+ctrl_interface=wlan0
+eapol_version=1
+ap_scan=1
+fast_reauth=1
+p2p_listen_reg_class=81
+p2p_listen_channel=1
+p2p_oper_reg_class=124
+p2p_oper_channel=149
+pmf=1
+bss_no_flush_when_down=1