aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwzedlare <vedatak01@gmail.com>2017-04-02 15:13:00 +0000
committerKaan Kulahli <kaankulahli2@gmail.com>2017-04-14 17:37:11 +0000
commite6e394ae10665a9fc02d493d72cdea53fad38edf (patch)
tree95b2e605969883527b057cdc907ee570482387c0
parent42891beec3561525d70aa00fa57c4ac7d06678fc (diff)
shamrock: Massive update
* Move many vendor blobs to device tree. * Update and reorder products and boardconfig. * Update power profile. * Update system properties. Change-Id: I00ff57656eef5920a87a8a937638e360cb1cc540
-rw-r--r--AndroidBoard.mk1
-rw-r--r--BoardConfig.mk165
-rw-r--r--audio/audio_effects.conf188
-rw-r--r--audio/audio_output_policy.conf56
-rw-r--r--audio/audio_platform_info.xml55
-rw-r--r--audio/audio_policy.conf167
-rw-r--r--audio/mixer_paths.xml1100
-rw-r--r--audio/mixer_paths_l9300.xml972
-rw-r--r--audio/sound_trigger_mixer_paths.xml83
-rw-r--r--audio/sound_trigger_platform_info.xml62
-rw-r--r--configs/com.qualcomm.location.xml24
-rw-r--r--configs/data/dsi_config.xml642
-rw-r--r--configs/data/netmgr_config.xml1550
-rw-r--r--configs/data/qmi_config.xml614
-rw-r--r--configs/media_codecs.xml342
-rw-r--r--configs/media_codecs_performance.xml121
-rw-r--r--configs/media_profiles.xml609
-rw-r--r--configs/sec_config311
-rw-r--r--configs/thermal-engine.conf254
-rw-r--r--device.mk152
-rw-r--r--gps/flp.conf60
-rw-r--r--gps/gps.conf117
-rw-r--r--gps/izat.conf196
-rw-r--r--gps/lowi.conf51
-rw-r--r--gps/sap.conf53
-rw-r--r--healthd/healthd.h2
-rw-r--r--keylayout/cyttsp4_btn.kl (renamed from AndroidProducts.mk)6
-rw-r--r--keylayout/gpio-keys.kl32
-rw-r--r--overlay/frameworks/base/core/res/res/xml/power_profile.xml149
-rw-r--r--sensors/hals.conf1
-rw-r--r--sensors/sensor_def_qcomdev.conf260
-rw-r--r--system.prop2
-rw-r--r--vendorsetup.sh1
-rw-r--r--wifi/WCNSS_qcom_cfg.ini408
-rw-r--r--wifi/hostapd.accept3
-rw-r--r--wifi/hostapd.deny2
-rw-r--r--wifi/hostapd_default.conf1043
-rw-r--r--wifi/p2p_supplicant_overlay.conf1
-rw-r--r--wifi/wpa_supplicant_overlay.conf2
39 files changed, 9623 insertions, 234 deletions
diff --git a/AndroidBoard.mk b/AndroidBoard.mk
deleted file mode 100644
index 7911f61..0000000
--- a/AndroidBoard.mk
+++ /dev/null
@@ -1 +0,0 @@
-LOCAL_PATH := $(call my-dir)
diff --git a/BoardConfig.mk b/BoardConfig.mk
index 9db7ee4..1181272 100644
--- a/BoardConfig.mk
+++ b/BoardConfig.mk
@@ -13,6 +13,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+DEVICE_PATH := device/google/shamrock
+
# Platform
TARGET_BOARD_PLATFORM := msm8952
TARGET_BOOTLOADER_BOARD_NAME := MSM8952
@@ -26,18 +28,77 @@ TARGET_CPU_ABI := armeabi-v7a
TARGET_CPU_ABI2 := armeabi
TARGET_CPU_VARIANT := cortex-a53
+# Audio
+AUDIO_FEATURE_ENABLED_KPI_OPTIMIZE := true
+AUDIO_FEATURE_ENABLED_NEW_SAMPLE_RATE := true
+BOARD_USES_ALSA_AUDIO := true
+USE_CUSTOM_AUDIO_POLICY := 1
+AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS := true
+
+# Block Based System
+BLOCK_BASED_OTA := false
+
+# Bluetooth
+BOARD_HAVE_BLUETOOTH := true
+BOARD_HAVE_BLUETOOTH_QCOM := true
+BLUETOOTH_HCI_USE_MCT := true
+BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := $(DEVICE_PATH)/bluetooth
+
+# Camera
+BOARD_CAMERA_SENSORS := imx220 imx230 ov8858_q8v19w_spirit
+TARGET_USE_VENDOR_CAMERA_EXT := true
+USE_DEVICE_SPECIFIC_CAMERA := true
+TARGET_HAS_LEGACY_CAMERA_HAL1 := true
+TARGET_USES_MEDIA_EXTENSIONS := true
+
+# Charger
+WITH_CM_CHARGER := false
+BOARD_CHARGER_DISABLE_INIT_BLANK := true
+BOARD_HAL_STATIC_LIBRARIES += libhealthd.msm8952
+BOARD_HEALTHD_CUSTOM_CHARGER_RES := $(DEVICE_PATH)/charger/images
+
+# Cryption
+TARGET_KEYMASTER_WAIT_FOR_QSEE := true
+TARGET_HW_DISK_ENCRYPTION := true
+
+# Cyanogen Hardware
+BOARD_HARDWARE_CLASS += hardware/cyanogen/cmhw
+BOARD_USES_CYANOGEN_HARDWARE := true
+
+# Dexopt
+ifeq ($(HOST_OS),linux)
+ ifeq ($(TARGET_BUILD_VARIANT),user)
+ ifeq ($(WITH_DEXPREOPT),)
+ WITH_DEXPREOPT := true
+ WITH_DEXPREOPT_BOOT_IMG_ONLY ?= true
+ endif
+ endif
+endif
+
+# Display
+MAX_EGL_CACHE_KEY_SIZE := 12*1024
+MAX_EGL_CACHE_SIZE := 2048*1024
+NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
+OVERRIDE_RS_DRIVER := libRSDriver_adreno.so
+TARGET_CONTINUOUS_SPLASH_ENABLED := true
+TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS := true
+TARGET_USES_C2D_COMPOSITION := true
+TARGET_USES_ION := true
+USE_OPENGL_RENDERER := true
+
+# FM
+AUDIO_FEATURE_ENABLED_FM_POWER_OPT := true
+TARGET_QCOM_NO_FM_FIRMWARE := true
+
+# GPS
+TARGET_NO_RPC := true
+USE_DEVICE_SPECIFIC_GPS := true
+
# Init
TARGET_PLATFORM_DEVICE_BASE := /devices/soc.0/
-BOARD_NEEDS_VENDORIMAGE_SYMLINK := true
-TARGET_COPY_OUT_VENDOR := system
TARGET_UNIFIED_DEVICE := true
TARGET_USES_OVERLAY := true
-# Qualcomm support
-BOARD_USES_QCOM_HARDWARE := true
-BOARD_USES_QC_TIME_SERVICES := true
-TARGET_POWERHAL_VARIANT := qcom
-
# Kernel
BOARD_DTBTOOL_ARGS := -2
BOARD_KERNEL_BASE := 0x80000000
@@ -51,23 +112,11 @@ TARGET_KERNEL_SOURCE := kernel/google/shamrock
TARGET_KERNEL_CONFIG := lineageos_shamrock_defconfig
TARGET_KERNEL_ARCH := arm
-# Audio
-AUDIO_FEATURE_ENABLED_KPI_OPTIMIZE := true
-AUDIO_FEATURE_ENABLED_NEW_SAMPLE_RATE := true
-BOARD_USES_ALSA_AUDIO := true
-USE_CUSTOM_AUDIO_POLICY := 1
-AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS := true
+# Media
+TARGET_HAVE_SIGNED_VENUS_FW := true
-# Display
-MAX_EGL_CACHE_KEY_SIZE := 12*1024
-MAX_EGL_CACHE_SIZE := 2048*1024
-NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
-OVERRIDE_RS_DRIVER := libRSDriver_adreno.so
-TARGET_CONTINUOUS_SPLASH_ENABLED := true
-TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS := true
-TARGET_USES_C2D_COMPOSITION := true
-TARGET_USES_ION := true
-USE_OPENGL_RENDERER := true
+# Peripheral manager
+TARGET_PER_MGR_ENABLED := true
# Partitions
TARGET_USERIMAGES_USE_EXT4 := true
@@ -81,78 +130,36 @@ BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1585446912
BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_USERDATAIMAGE_PARTITION_SIZE := 28538268672
-# Cyanogen Hardware
-BOARD_HARDWARE_CLASS += hardware/cyanogen/cmhw
-BOARD_USES_CYANOGEN_HARDWARE := true
-
-# Bluetooth
-BOARD_HAVE_BLUETOOTH := true
-BOARD_HAVE_BLUETOOTH_QCOM := true
-BLUETOOTH_HCI_USE_MCT := true
-BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/google/shamrock/bluetooth
-
-# Cryption
-TARGET_KEYMASTER_WAIT_FOR_QSEE := true
-
-# FM
-AUDIO_FEATURE_ENABLED_FM_POWER_OPT := true
-TARGET_QCOM_NO_FM_FIRMWARE := true
+# Qualcomm support
+BOARD_USES_QCOM_HARDWARE := true
+BOARD_USES_QC_TIME_SERVICES := true
+TARGET_POWERHAL_VARIANT := qcom
-# Media
-TARGET_HAVE_SIGNED_VENUS_FW := true
+# Recovery
+TARGET_RECOVERY_UPDATER_LIBS := librecovery_updater_cm
+TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/rootdir/etc/fstab.qcom
# RIL
TARGET_RIL_VARIANT := caf
# Sepolicy
-BOARD_SEPOLICY_DIRS += device/google/shamrock/sepolicy
+BOARD_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy
include device/qcom/sepolicy/sepolicy.mk
+# Vendor Symlink
+BOARD_NEEDS_VENDORIMAGE_SYMLINK := true
+TARGET_COPY_OUT_VENDOR := system
+
# Wlan
BOARD_HAS_QCOM_WLAN := true
BOARD_HAS_QCOM_WLAN_SDK := true
BOARD_HOSTAPD_DRIVER := NL80211
-BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_qcwcn
BOARD_WLAN_DEVICE := qcwcn
+BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
-BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_qcwcn
+BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
TARGET_USES_QCOM_WCNSS_QMI := true
TARGET_USES_WCNSS_CTRL := true
WIFI_DRIVER_FW_PATH_AP := "ap"
WIFI_DRIVER_FW_PATH_STA := "sta"
WPA_SUPPLICANT_VERSION := VER_0_8_X
-
-# Peripheral manager
-TARGET_PER_MGR_ENABLED := true
-
-# Recovery
-TARGET_RECOVERY_UPDATER_LIBS := librecovery_updater_cm
-TARGET_RECOVERY_FSTAB := device/google/shamrock/rootdir/etc/fstab.qcom
-
-# Charger
-WITH_CM_CHARGER := false
-BOARD_CHARGER_DISABLE_INIT_BLANK := true
-BOARD_HAL_STATIC_LIBRARIES += libhealthd.msm8952
-BOARD_HEALTHD_CUSTOM_CHARGER_RES := $(DEVICE_PATH)/charger/images
-
-
-# Dexopt
-ifeq ($(HOST_OS),linux)
- ifeq ($(TARGET_BUILD_VARIANT),user)
- ifeq ($(WITH_DEXPREOPT),)
- WITH_DEXPREOPT := true
- WITH_DEXPREOPT_BOOT_IMG_ONLY ?= true
- endif
- endif
-endif
-
-# Camera
-BOARD_CAMERA_SENSORS := imx220 imx230 ov8858_q8v19w_spirit
-TARGET_USE_VENDOR_CAMERA_EXT := true
-USE_DEVICE_SPECIFIC_CAMERA := true
-TARGET_HAS_LEGACY_CAMERA_HAL1 := true
-TARGET_USES_MEDIA_EXTENSIONS := true
-
-# GPS
-TARGET_NO_RPC := true
-USE_DEVICE_SPECIFIC_GPS := true
diff --git a/audio/audio_effects.conf b/audio/audio_effects.conf
new file mode 100644
index 0000000..c3c4b67
--- /dev/null
+++ b/audio/audio_effects.conf
@@ -0,0 +1,188 @@
+# List of effect libraries to load. Each library element must contain a "path" element
+# giving the full path of the library .so file.
+# libraries {
+# <lib name> {
+# path <lib path>
+# }
+# }
+libraries {
+# This is a proxy library that will be an abstraction for
+# the HW and SW effects
+
+ #proxy {
+ #path /system/lib/soundfx/libeffectproxy.so
+ #}
+
+# This is the SW implementation library of the effect
+ #libSW {
+ #path /system/lib/soundfx/libswwrapper.so
+ #}
+
+# This is the HW implementation library for the effect
+ #libHW {
+ #path /system/lib/soundfx/libhwwrapper.so
+ #}
+
+ bundle {
+ path /system/lib/soundfx/libbundlewrapper.so
+ }
+ reverb {
+ path /system/lib/soundfx/libreverbwrapper.so
+ }
+ visualizer {
+ path /system/lib/soundfx/libvisualizer.so
+ }
+ downmix {
+ path /system/lib/soundfx/libdownmix.so
+ }
+ loudness_enhancer {
+ path /system/lib/soundfx/libldnhncr.so
+ }
+}
+
+# Default pre-processing library. Add to audio_effect.conf "libraries" section if
+# audio HAL implements support for default software audio pre-processing effects
+#
+# pre_processing {
+# path /system/lib/soundfx/libaudiopreprocessing.so
+# }
+
+# list of effects to load. Each effect element must contain a "library" and a "uuid" element.
+# The value of the "library" element must correspond to the name of one library element in the
+# "libraries" element.
+# The name of the effect element is indicative, only the value of the "uuid" element
+# designates the effect.
+# The uuid is the implementation specific UUID as specified by the effect vendor. This is not the
+# generic effect type UUID.
+# effects {
+# <fx name> {
+# library <lib name>
+# uuid <effect uuid>
+# }
+# ...
+# }
+
+effects {
+
+# additions for the proxy implementation
+# Proxy implementation
+ #effectname {
+ #library proxy
+ #uuid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
+
+ # SW implemetation of the effect. Added as a node under the proxy to
+ # indicate this as a sub effect.
+ #libsw {
+ #library libSW
+ #uuid yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
+ #} End of SW effect
+
+ # HW implementation of the effect. Added as a node under the proxy to
+ # indicate this as a sub effect.
+ #libhw {
+ #library libHW
+ #uuid zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz
+ #}End of HW effect
+ #} End of effect proxy
+
+ bassboost {
+ library bundle
+ uuid 8631f300-72e2-11df-b57e-0002a5d5c51b
+ }
+ virtualizer {
+ library bundle
+ uuid 1d4033c0-8557-11df-9f2d-0002a5d5c51b
+ }
+ equalizer {
+ library bundle
+ uuid ce772f20-847d-11df-bb17-0002a5d5c51b
+ }
+ volume {
+ library bundle
+ uuid 119341a0-8469-11df-81f9-0002a5d5c51b
+ }
+ reverb_env_aux {
+ library reverb
+ uuid 4a387fc0-8ab3-11df-8bad-0002a5d5c51b
+ }
+ reverb_env_ins {
+ library reverb
+ uuid c7a511a0-a3bb-11df-860e-0002a5d5c51b
+ }
+ reverb_pre_aux {
+ library reverb
+ uuid f29a1400-a3bb-11df-8ddc-0002a5d5c51b
+ }
+ reverb_pre_ins {
+ library reverb
+ uuid 172cdf00-a3bc-11df-a72f-0002a5d5c51b
+ }
+ visualizer {
+ library visualizer
+ uuid d069d9e0-8329-11df-9168-0002a5d5c51b
+ }
+ downmix {
+ library downmix
+ uuid 93f04452-e4fe-41cc-91f9-e475b6d1d69f
+ }
+ loudness_enhancer {
+ library loudness_enhancer
+ uuid fa415329-2034-4bea-b5dc-5b381c8d1e2c
+ }
+}
+
+# Default pre-processing effects. Add to audio_effect.conf "effects" section if
+# audio HAL implements support for them.
+#
+# agc {
+# library pre_processing
+# uuid aa8130e0-66fc-11e0-bad0-0002a5d5c51b
+# }
+# aec {
+# library pre_processing
+# uuid bb392ec0-8d4d-11e0-a896-0002a5d5c51b
+# }
+# ns {
+# library pre_processing
+# uuid c06c8400-8e06-11e0-9cb6-0002a5d5c51b
+# }
+
+# Audio preprocessor configurations.
+# The pre processor configuration consists in a list of elements each describing
+# pre processor settings for a given input source. Valid input source names are:
+# "mic", "camcorder", "voice_recognition", "voice_communication"
+# Each input source element contains a list of effects elements. The name of the effect
+# element must be the name of one of the effects in the "effects" list of the file.
+# Each effect element may optionally contain a list of parameters and their
+# default value to apply when the pre processor effect is created.
+# A parameter is defined by a "param" element and a "value" element. Each of these elements
+# consists in one or more elements specifying a type followed by a value.
+# The types defined are: "int", "short", "float", "bool" and "string"
+# When both "param" and "value" are a single int, a simple form is allowed where just
+# the param and value pair is present in the parameter description
+# pre_processing {
+# <input source name> {
+# <fx name> {
+# <param 1 name> {
+# param {
+# int|short|float|bool|string <value>
+# [ int|short|float|bool|string <value> ]
+# ...
+# }
+# value {
+# int|short|float|bool|string <value>
+# [ int|short|float|bool|string <value> ]
+# ...
+# }
+# }
+# <param 2 name > {<param> <value>}
+# ...
+# }
+# ...
+# }
+# ...
+# }
+
+#
+# TODO: add default audio pre processor configurations after debug and tuning phase
+#
diff --git a/audio/audio_output_policy.conf b/audio/audio_output_policy.conf
new file mode 100644
index 0000000..9820d4c
--- /dev/null
+++ b/audio/audio_output_policy.conf
@@ -0,0 +1,56 @@
+# List of profiles for the output device session where stream is routed.
+# A stream opened with the inputs attributes which match the "flags" and
+# "formats" as specified in the profile is routed to a device at
+# sample rate specified under "sampling_rates" and bit width under
+# "bit_width" and the topology extracted from the acdb data against
+# the "app_type".
+#
+# the flags and formats are specified using the strings corresponding to
+# enums in audio.h and audio_policy.h. They are concatenated with "|"
+# without space or "\n".
+# the flags and formats should match the ones in "audio_policy.conf"
+
+outputs {
+ default {
+ flags AUDIO_OUTPUT_FLAG_PRIMARY
+ formats AUDIO_FORMAT_PCM_16_BIT
+ sampling_rates 48000
+ bit_width 16
+ app_type 69937
+ }
+ deep_buffer {
+ flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER
+ formats AUDIO_FORMAT_PCM_16_BIT
+ sampling_rates 48000
+ bit_width 16
+ app_type 69936
+ }
+ direct {
+ flags AUDIO_OUTPUT_FLAG_DIRECT
+ formats AUDIO_FORMAT_PCM_16_BIT
+ sampling_rates 48000
+ bit_width 16
+ app_type 69936
+ }
+ direct_pcm {
+ flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_DIRECT_PCM
+ formats AUDIO_FORMAT_PCM_16_BIT
+ sampling_rates 44100|48000|96000|192000
+ bit_width 16
+ app_type 69936
+ }
+ compress_offload_16 {
+ flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
+ formats AUDIO_FORMAT_MP3|AUDIO_FORMAT_AC3|AUDIO_FORMAT_E_AC3|AUDIO_FORMAT_PCM_16_BIT_OFFLOAD|AUDIO_FORMAT_PCM_24_BIT_OFFLOAD|AUDIO_FORMAT_FLAC|AUDIO_FORMAT_ALAC|AUDIO_FORMAT_APE|AUDIO_FORMAT_AAC_LC|AUDIO_FORMAT_AAC_HE_V1|AUDIO_FORMAT_AAC_HE_V2|AUDIO_FORMAT_VORBIS|AUDIO_FORMAT_AAC_ADTS_LC|AUDIO_FORMAT_AAC_ADTS_HE_V1|AUDIO_FORMAT_AAC_ADTS_HE_V2
+ sampling_rates 44100|48000
+ bit_width 16
+ app_type 69936
+ }
+ compress_offload_24 {
+ flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
+ formats AUDIO_FORMAT_PCM_24_BIT_OFFLOAD|AUDIO_FORMAT_FLAC|AUDIO_FORMAT_ALAC|AUDIO_FORMAT_APE|AUDIO_FORMAT_VORBIS
+ sampling_rates 44100|48000|96000|192000
+ bit_width 24
+ app_type 69940
+ }
+} \ No newline at end of file
diff --git a/audio/audio_platform_info.xml b/audio/audio_platform_info.xml
new file mode 100644
index 0000000..7da96ba
--- /dev/null
+++ b/audio/audio_platform_info.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!-- Copyright (c) 2015, The Linux Foundation. All rights reserved. -->
+<!-- -->
+<!-- Redistribution and use in source and binary forms, with or without -->
+<!-- modification, are permitted provided that the following conditions are -->
+<!-- met: -->
+<!-- * Redistributions of source code must retain the above copyright -->
+<!-- notice, this list of conditions and the following disclaimer. -->
+<!-- * Redistributions in binary form must reproduce the above -->
+<!-- copyright notice, this list of conditions and the following -->
+<!-- disclaimer in the documentation and/or other materials provided -->
+<!-- with the distribution. -->
+<!-- * Neither the name of The Linux Foundation nor the names of its -->
+<!-- contributors may be used to endorse or promote products derived -->
+<!-- from this software without specific prior written permission. -->
+<!-- -->
+<!-- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
+<!-- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
+<!-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
+<!-- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
+<!-- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
+<!-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
+<!-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
+<!-- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
+<!-- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
+<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
+<audio_platform_info>
+ <bit_width_configs>
+ <device name="SND_DEVICE_OUT_SPEAKER" bit_width="24"/>
+ </bit_width_configs>
+ <interface_names>
+ <device name="AUDIO_DEVICE_IN_BUILTIN_MIC" interface="SLIMBUS_0" codec_type="external"/>
+ <device name="AUDIO_DEVICE_IN_BACK_MIC" interface="SLIMBUS_0" codec_type="external"/>
+ <device name="AUDIO_DEVICE_IN_BUILTIN_MIC" interface="TERT_MI2S" codec_type="internal"/>
+ <device name="AUDIO_DEVICE_IN_BACK_MIC" interface="TERT_MI2S" codec_type="internal"/>
+ </interface_names>
+ <pcm_ids>
+ <usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD2" type="out" id="24"/>
+ <usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD3" type="out" id="27"/>
+ <usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD4" type="out" id="28"/>
+ <usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD5" type="out" id="29"/>
+ <usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD6" type="out" id="30"/>
+ <usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD7" type="out" id="31"/>
+ <usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD8" type="out" id="32"/>
+ <usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD9" type="out" id="33"/>
+ <usecase name="USECASE_VOICEMMODE1_CALL" type="in" id="34"/>
+ <usecase name="USECASE_VOICEMMODE1_CALL" type="out" id="34"/>
+ <usecase name="USECASE_VOICEMMODE2_CALL" type="in" id="35"/>
+ <usecase name="USECASE_VOICEMMODE2_CALL" type="out" id="35"/>
+ </pcm_ids>
+ <tz_names>
+ <device name="SND_DEVICE_OUT_SPEAKER" spkr_1_tz_name="wsa881x.0f" spkr_2_tz_name=""/>
+ </tz_names>
+</audio_platform_info>
+
diff --git a/audio/audio_policy.conf b/audio/audio_policy.conf
new file mode 100644
index 0000000..0ead8c0
--- /dev/null
+++ b/audio/audio_policy.conf
@@ -0,0 +1,167 @@
+# Global configuration section:
+# - lists input and output devices always present on the device
+# as well as the output device selected by default.
+# Devices are designated by a string that corresponds to the enum in audio.h
+# - defines whether the speaker output path uses DRC
+# "TRUE" means DRC is enabled, "FALSE" or omission means DRC isn't used.
+global_configuration {
+ attached_output_devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_TELEPHONY_TX
+ default_output_device AUDIO_DEVICE_OUT_SPEAKER
+ attached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_BACK_MIC|AUDIO_DEVICE_IN_REMOTE_SUBMIX|AUDIO_DEVICE_IN_FM_TUNER|AUDIO_DEVICE_IN_VOICE_CALL|AUDIO_DEVICE_IN_TELEPHONY_RX
+
+ speaker_drc_enabled TRUE
+}
+
+# audio hardware module section: contains descriptors for all audio hw modules present on the
+# device. Each hw module node is named after the corresponding hw module library base name.
+# For instance, "primary" corresponds to audio.primary.<device>.so.
+# The "primary" module is mandatory and must include at least one output with
+# AUDIO_OUTPUT_FLAG_PRIMARY flag.
+# Each module descriptor contains one or more output profile descriptors and zero or more
+# input profile descriptors. Each profile lists all the parameters supported by a given output
+# or input stream category.
+# The "channel_masks", "formats", "devices" and "flags" are specified using strings corresponding
+# to enums in audio.h and audio_policy.h. They are concatenated by use of "|" without space or "\n".
+
+audio_hw_modules {
+ primary {
+ outputs {
+ primary {
+ sampling_rates 44100|48000
+ channel_masks AUDIO_CHANNEL_OUT_STEREO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_LINE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_AUX_DIGITAL|AUDIO_DEVICE_OUT_PROXY|AUDIO_DEVICE_OUT_FM
+ flags AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_PRIMARY
+ }
+ raw {
+ sampling_rates 48000
+ channel_masks AUDIO_CHANNEL_OUT_STEREO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_LINE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_AUX_DIGITAL|AUDIO_DEVICE_OUT_PROXY
+ flags AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_RAW
+ }
+ deep_buffer {
+ sampling_rates 44100|48000
+ channel_masks AUDIO_CHANNEL_OUT_STEREO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_LINE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_AUX_DIGITAL|AUDIO_DEVICE_OUT_PROXY
+ flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER
+ }
+ multichannel {
+ sampling_rates 44100|48000
+ channel_masks dynamic
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_OUT_AUX_DIGITAL|AUDIO_DEVICE_OUT_PROXY
+ flags AUDIO_OUTPUT_FLAG_DIRECT
+ }
+ direct_pcm {
+ sampling_rates 8000|11025|16000|22050|32000|44100|48000|64000|88200|96000|176400|192000
+ channel_masks AUDIO_CHANNEL_OUT_MONO|AUDIO_CHANNEL_OUT_STEREO|AUDIO_CHANNEL_OUT_2POINT1|AUDIO_CHANNEL_OUT_QUAD|AUDIO_CHANNEL_OUT_PENTA|AUDIO_CHANNEL_OUT_6POINT1|AUDIO_CHANNEL_OUT_7POINT1
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_LINE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_PROXY
+ flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_DIRECT_PCM
+ }
+ compress_offload {
+ sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000|64000|88200|96000|176400|192000
+ channel_masks AUDIO_CHANNEL_OUT_MONO|AUDIO_CHANNEL_OUT_STEREO|AUDIO_CHANNEL_OUT_2POINT1|AUDIO_CHANNEL_OUT_QUAD|AUDIO_CHANNEL_OUT_PENTA|AUDIO_CHANNEL_OUT_6POINT1|AUDIO_CHANNEL_OUT_7POINT1
+ formats AUDIO_FORMAT_MP3|AUDIO_FORMAT_AC3|AUDIO_FORMAT_E_AC3|AUDIO_FORMAT_PCM_16_BIT_OFFLOAD|AUDIO_FORMAT_PCM_24_BIT_OFFLOAD|AUDIO_FORMAT_FLAC|AUDIO_FORMAT_ALAC|AUDIO_FORMAT_APE|AUDIO_FORMAT_AAC_LC|AUDIO_FORMAT_AAC_HE_V1|AUDIO_FORMAT_AAC_HE_V2|AUDIO_FORMAT_VORBIS|AUDIO_FORMAT_AAC_ADTS_LC|AUDIO_FORMAT_AAC_ADTS_HE_V1|AUDIO_FORMAT_AAC_ADTS_HE_V2
+ devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_LINE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_AUX_DIGITAL|AUDIO_DEVICE_OUT_PROXY
+ flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
+ }
+ incall_music {
+ sampling_rates 8000|16000|48000
+ channel_masks AUDIO_CHANNEL_OUT_MONO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_LINE|AUDIO_DEVICE_OUT_ALL_SCO
+ flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_INCALL_MUSIC
+ }
+ voice_tx {
+ sampling_rates 8000|16000|48000
+ channel_masks AUDIO_CHANNEL_OUT_STEREO|AUDIO_CHANNEL_OUT_MONO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_OUT_TELEPHONY_TX
+ }
+ voip_rx {
+ sampling_rates 8000|16000
+ channel_masks AUDIO_CHANNEL_OUT_MONO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_LINE|AUDIO_DEVICE_OUT_ALL_SCO
+ flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_VOIP_RX
+ }
+ }
+ inputs {
+ primary {
+ sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000
+ channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO|AUDIO_CHANNEL_IN_FRONT_BACK
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_WIRED_HEADSET|AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET|AUDIO_DEVICE_IN_BACK_MIC|AUDIO_DEVICE_IN_FM_TUNER|AUDIO_DEVICE_IN_VOICE_CALL
+ }
+ voice_rx {
+ sampling_rates 8000|16000|48000
+ channel_masks AUDIO_CHANNEL_IN_STEREO|AUDIO_CHANNEL_IN_MONO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_IN_TELEPHONY_RX
+ }
+ }
+ }
+ a2dp {
+ outputs {
+ a2dp {
+ sampling_rates 44100
+ channel_masks AUDIO_CHANNEL_OUT_STEREO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_OUT_ALL_A2DP
+ }
+ }
+ inputs {
+ a2dp {
+ sampling_rates 44100|48000
+ channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_IN_BLUETOOTH_A2DP
+ }
+ }
+ }
+ usb {
+ outputs {
+ usb_accessory {
+ sampling_rates 44100
+ channel_masks AUDIO_CHANNEL_OUT_STEREO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_OUT_USB_ACCESSORY
+ }
+ usb_device {
+ sampling_rates dynamic
+ channel_masks dynamic
+ formats dynamic
+ devices AUDIO_DEVICE_OUT_USB_DEVICE
+ }
+ }
+ inputs {
+ usb_device {
+ sampling_rates dynamic
+ channel_masks AUDIO_CHANNEL_IN_STEREO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_IN_USB_DEVICE
+ }
+ }
+ }
+ r_submix {
+ outputs {
+ submix {
+ sampling_rates 48000
+ channel_masks AUDIO_CHANNEL_OUT_STEREO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_OUT_REMOTE_SUBMIX
+ }
+ }
+ inputs {
+ submix {
+ sampling_rates 48000
+ channel_masks AUDIO_CHANNEL_IN_STEREO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_IN_REMOTE_SUBMIX
+ }
+ }
+ }
+}
diff --git a/audio/mixer_paths.xml b/audio/mixer_paths.xml
new file mode 100644
index 0000000..ac15289
--- /dev/null
+++ b/audio/mixer_paths.xml
@@ -0,0 +1,1100 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<mixer>
+ <!-- These are the initial mixer settings -->
+ <ctl name="Voice Rx Device Mute" id="0" value="0" />
+ <ctl name="Voice Rx Device Mute" id="1" value="-1" />
+ <ctl name="Voice Rx Device Mute" id="2" value="20" />
+ <ctl name="Voice Tx Mute" id="0" value="0" />
+ <ctl name="Voice Tx Mute" id="1" value="-1" />
+ <ctl name="Voice Tx Mute" id="2" value="500" />
+ <ctl name="Voice Rx Gain" id="0" value="0" />
+ <ctl name="Voice Rx Gain" id="1" value="-1" />
+ <ctl name="Voice Rx Gain" id="2" value="20" />
+ <ctl name="Voip Tx Mute" id="0" value="0" />
+ <ctl name="Voip Tx Mute" id="1" value="500" />
+ <ctl name="Voip Rx Gain" id="0" value="0" />
+ <ctl name="Voip Rx Gain" id="1" value="20" />
+ <ctl name="Voip Mode Config" value="12" />
+ <ctl name="Voip Rate Config" value="0" />
+ <ctl name="Voip Evrc Min Max Rate Config" id="0" value="1" />
+ <ctl name="Voip Evrc Min Max Rate Config" id="1" value="4" />
+ <ctl name="Voip Dtx Mode" value="0" />
+ <ctl name="TTY Mode" value="OFF" />
+ <ctl name="HPHL Volume" value="9" />
+ <ctl name="HPHR Volume" value="9" />
+ <ctl name="RX1 Digital Volume" value="84" />
+ <ctl name="RX2 Digital Volume" value="84" />
+ <ctl name="RX3 Digital Volume" value="84" />
+ <ctl name="IIR1 INP1 Volume" value="84" />
+ <ctl name="IIR1 INP2 Volume" value="84" />
+ <ctl name="IIR1 INP3 Volume" value="84" />
+ <ctl name="IIR1 INP4 Volume" value="84" />
+ <ctl name="ADC1 Volume" value="4" />
+ <ctl name="ADC2 Volume" value="4" />
+ <ctl name="ADC3 Volume" value="4" />
+ <ctl name="DEC1 Volume" value="84" />
+ <ctl name="DEC2 Volume" value="84" />
+ <ctl name="DEC2 MUX" value="ZERO" />
+ <ctl name="DEC1 MUX" value="ZERO" />
+ <ctl name="ADC2 MUX" value="ZERO" />
+ <ctl name="RDAC2 MUX" value="ZERO" />
+ <ctl name="RX2 MIX2 INP2" value="ZERO" />
+ <ctl name="RX2 MIX2 INP1" value="ZERO" />
+ <ctl name="RX1 MIX2 INP2" value="ZERO" />
+ <ctl name="RX1 MIX2 INP1" value="ZERO" />
+ <ctl name="RX3 MIX1 INP2" value="ZERO" />
+ <ctl name="RX3 MIX1 INP1" value="ZERO" />
+ <ctl name="RX2 MIX1 INP2" value="ZERO" />
+ <ctl name="RX2 MIX1 INP1" value="ZERO" />
+ <ctl name="RX1 MIX1 INP2" value="ZERO" />
+ <ctl name="RX1 MIX1 INP1" value="ZERO" />
+ <ctl name="EAR_S" value="ZERO" />
+ <ctl name="HPHL" value="ZERO" />
+ <ctl name="HPHR" value="ZERO" />
+ <ctl name="SPK" value="ZERO" />
+ <ctl name="WSA Spk Switch" value="ZERO" />
+ <ctl name="SpkrMono WSA_RDAC" value="ZERO" />
+ <ctl name="SpkrMono BOOST Switch" value="1" />
+ <ctl name="EAR PA Gain" value="POS_6_DB" />
+ <ctl name="Speaker Boost" value="ENABLE" />
+ <ctl name="EAR PA Gain" value="POS_1P5_DB" />
+ <ctl name="EAR PA Boost" value="ENABLE" />
+ <ctl name="MI2S_RX Channels" value="One" />
+ <ctl name="MI2S_TX Channels" value="One" />
+ <ctl name="PRI_MI2S_RX_DL_HL Switch" value="0" />
+ <ctl name="PRI_MI2S_RX_VI_FB_MUX" value="ZERO" />
+ <ctl name="DEC3 MUX" value="ZERO" />
+ <ctl name="DEC4 MUX" value="ZERO" />
+ <ctl name="SpkrMono VISENSE Switch" value="0" />
+
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia1" value="0" />
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia1" value="0" />
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia3" value="0" />
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia3" value="0" />
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="0" />
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia4" value="0" />
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia4" value="0" />
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="0" />
+ <ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia4" value="0" />
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia5" value="0" />
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia5" value="0" />
+ <ctl name="MultiMedia1 Mixer TERT_MI2S_TX" value="0" />
+ <ctl name="MultiMedia5 Mixer TERT_MI2S_TX" value="0" />
+ <ctl name="MultiMedia1 Mixer INTERNAL_BT_SCO_TX" value="0" />
+ <ctl name="PRI_MI2S_RX_Voice Mixer CSVoice" value="0" />
+ <ctl name="Voice_Tx Mixer TERT_MI2S_TX_Voice" value="0" />
+ <ctl name="PRI_MI2S_RX Port Mixer INT_BT_SCO_TX" value="0" />
+ <!-- Voice BTSCO -->
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_8KHZ" />
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer CSVoice" value="0" />
+ <ctl name="Voice_Tx Mixer INTERNAL_BT_SCO_TX_Voice" value="0" />
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer Multimedia6" value="0" />
+ <ctl name="MultiMedia6 Mixer TERT_MI2S_TX" value="0" />
+
+ <!-- Voice2 -->
+ <ctl name="PRI_MI2S_RX_Voice Mixer Voice2" value="0" />
+ <ctl name="Voice2_Tx Mixer TERT_MI2S_TX_Voice2" value="0" />
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer Voice2" value="0" />
+ <ctl name="Voice2_Tx Mixer INTERNAL_BT_SCO_TX_Voice2" value="0" />
+ <ctl name="AFE_PCM_RX_Voice Mixer Voice2" value="0" />
+ <ctl name="Voice2_Tx Mixer AFE_PCM_TX_Voice2" value="0" />
+ <!-- Voice2 end -->
+
+ <!-- VoWLAN -->
+ <ctl name="PRI_MI2S_RX_Voice Mixer VoWLAN" value="0" />
+ <ctl name="VoWLAN_Tx Mixer TERT_MI2S_TX_VoWLAN" value="0" />
+ <ctl name="HDMI_RX_Voice Mixer VoWLAN" value="0" />
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer VoWLAN" value="0" />
+ <ctl name="VoWLAN_Tx Mixer INTERNAL_BT_SCO_TX_VoWLAN" value="0" />
+ <ctl name="AFE_PCM_RX_Voice Mixer VoWLAN" value="0" />
+ <ctl name="VoWLAN_Tx Mixer AFE_PCM_TX_VoWLAN" value="0" />
+ <!-- VoWLAN -->
+
+ <!-- Multimode Voice1 -->
+ <ctl name="PRI_MI2S_RX_Voice Mixer VoiceMMode1" value="0" />
+ <ctl name="VoiceMMode1_Tx Mixer TERT_MI2S_TX_MMode1" value="0" />
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer VoiceMMode1" value="0" />
+ <ctl name="VoiceMMode1_Tx Mixer INT_BT_SCO_TX_MMode1" value="0" />
+ <ctl name="AFE_PCM_RX_Voice Mixer VoiceMMode1" value="0" />
+ <ctl name="VoiceMMode1_Tx Mixer AFE_PCM_TX_MMode1" value="0" />
+ <!-- Multimode Voice1 end -->
+
+ <!-- Multimode Voice2 -->
+ <ctl name="PRI_MI2S_RX_Voice Mixer VoiceMMode2" value="0" />
+ <ctl name="VoiceMMode2_Tx Mixer TERT_MI2S_TX_MMode2" value="0" />
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer VoiceMMode2" value="0" />
+ <ctl name="VoiceMMode2_Tx Mixer INT_BT_SCO_TX_MMode2" value="0" />
+ <ctl name="AFE_PCM_RX_Voice Mixer VoiceMMode2" value="0" />
+ <ctl name="VoiceMMode2_Tx Mixer AFE_PCM_TX_MMode2" value="0" />
+ <!-- Multimode Voice2 end -->
+
+ <!-- Voip -->
+ <ctl name="PRI_MI2S_RX_Voice Mixer Voip" value="0" />
+ <ctl name="Voip_Tx Mixer TERT_MI2S_TX_Voip" value="0" />
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_8KHZ" />
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer Voip" value="0" />
+ <ctl name="Voip_Tx Mixer INTERNAL_BT_SCO_TX_Voip" value="0" />
+ <!-- Voip end -->
+
+ <!-- fm -->
+ <ctl name="Internal FM RX Volume" value="0" />
+ <ctl name="PRI_MI2S_RX Port Mixer INTERNAL_FM_TX" value="0" />
+ <ctl name="MI2S_DL_HL Switch" value="1" />
+ <ctl name="MultiMedia1 Mixer INTERNAL_FM_TX" value="0" />
+ <ctl name="MultiMedia2 Mixer INTERNAL_FM_TX" value="0" />
+ <ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia1" value="0" />
+ <ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia5" value="0" />
+ <!-- fm end -->
+
+ <!-- RT Proxy Cal -->
+ <ctl name="RT_PROXY_1_RX SetCalMode" value="CAL_MODE_NONE" />
+ <ctl name="RT_PROXY_1_TX SetCalMode" value="CAL_MODE_NONE" />
+ <!-- RT Proxy Cal end -->
+
+ <!-- Incall Recording -->
+ <ctl name="MultiMedia1 Mixer VOC_REC_UL" value="0" />
+ <ctl name="MultiMedia1 Mixer VOC_REC_DL" value="0" />
+ <!-- Incall Recording end -->
+
+ <!-- Incall Music -->
+ <ctl name="Incall_Music Audio Mixer MultiMedia2" value="0" />
+ <ctl name="Incall_Music_2 Audio Mixer MultiMedia9" value="0" />
+ <!-- Incall Music End -->
+
+ <!-- QCHAT -->
+ <ctl name="PRI_MI2S_RX_Voice Mixer QCHAT" value="0" />
+ <ctl name="QCHAT_Tx Mixer TERT_MI2S_TX_QCHAT" value="0" />
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer QCHAT" value="0" />
+ <ctl name="QCHAT_Tx Mixer INTERNAL_BT_SCO_TX_QCHAT" value="0" />
+ <!-- QCHAT End -->
+
+ <!-- EC_REF -->
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="None" />
+
+ <!-- IIR -->
+ <ctl name="IIR1 Band1" id ="0" value="268435456" />
+ <ctl name="IIR1 Band1" id ="1" value="0" />
+ <ctl name="IIR1 Band1" id ="2" value="0" />
+ <ctl name="IIR1 Band1" id ="3" value="0" />
+ <ctl name="IIR1 Band1" id ="4" value="0" />
+ <ctl name="IIR1 Band2" id ="0" value="268435456" />
+ <ctl name="IIR1 Band2" id ="1" value="0" />
+ <ctl name="IIR1 Band2" id ="2" value="0" />
+ <ctl name="IIR1 Band2" id ="3" value="0" />
+ <ctl name="IIR1 Band2" id ="4" value="0" />
+ <ctl name="IIR1 Band3" id ="0" value="268435456" />
+ <ctl name="IIR1 Band3" id ="1" value="0" />
+ <ctl name="IIR1 Band3" id ="2" value="0" />
+ <ctl name="IIR1 Band3" id ="3" value="0" />
+ <ctl name="IIR1 Band3" id ="4" value="0" />
+ <ctl name="IIR1 Band4" id ="0" value="268435456" />
+ <ctl name="IIR1 Band4" id ="1" value="0" />
+ <ctl name="IIR1 Band4" id ="2" value="0" />
+ <ctl name="IIR1 Band4" id ="3" value="0" />
+ <ctl name="IIR1 Band4" id ="4" value="0" />
+ <ctl name="IIR1 Band5" id ="0" value="268435456" />
+ <ctl name="IIR1 Band5" id ="1" value="0" />
+ <ctl name="IIR1 Band5" id ="2" value="0" />
+ <ctl name="IIR1 Band5" id ="3" value="0" />
+ <ctl name="IIR1 Band5" id ="4" value="0" />
+ <ctl name="IIR1 Enable Band1" value="0" />
+ <ctl name="IIR1 Enable Band2" value="0" />
+ <ctl name="IIR1 Enable Band3" value="0" />
+ <ctl name="IIR1 Enable Band4" value="0" />
+ <ctl name="IIR1 Enable Band5" value="0" />
+ <!-- IIR -->
+
+ <!-- ADSP testfwk -->
+ <ctl name="MI2S_DL_HL Switch" value="0" />
+ <!-- ADSP testfwk end-->
+
+ <path name="bt-sco-wb-samplerate">
+ <ctl name="Internal BTSCO SampleRate" value="16000" />
+ </path>
+
+ <!-- These are audio route (FE to BE) specific mixer settings -->
+ <path name="deep-buffer-playback">
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia1" value="1" />
+ </path>
+
+ <path name="deep-buffer-playback bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia1" value="1" />
+ </path>
+
+ <path name="deep-buffer-playback bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="deep-buffer-playback bt-sco" />
+ </path>
+
+ <path name="deep-buffer-playback afe-proxy">
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
+ </path>
+
+ <path name="deep-buffer-playback usb-headphones">
+ <path name="deep-buffer-playback afe-proxy" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-usb-headphones">
+ <path name="deep-buffer-playback usb-headphones" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback transmission-fm">
+ <ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia1" value="1" />
+ </path>
+
+ <path name="low-latency-playback">
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia5" value="1" />
+ </path>
+
+ <path name="low-latency-playback speaker-protected">
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia5" value="1" />
+ </path>
+
+ <path name="low-latency-playback bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="low-latency-playback bt-sco" />
+ </path>
+
+ <path name="low-latency-playback afe-proxy">
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia5" value="1" />
+ </path>
+
+ <path name="low-latency-playback usb-headphones">
+ <path name="low-latency-playback afe-proxy" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-usb-headphones">
+ <path name="low-latency-playback usb-headphones" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback transmission-fm">
+ <ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia5" value="1" />
+ </path>
+
+ <path name="audio-ull-playback">
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia3" value="1" />
+ </path>
+
+ <path name="audio-ull-playback headphones">
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback speaker-protected">
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia3" value="1" />
+ </path>
+
+ <path name="audio-ull-playback bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="audio-ull-playback bt-sco" />
+ </path>
+
+ <path name="audio-ull-playback afe-proxy">
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
+ </path>
+
+ <path name="audio-ull-playback usb-headphones">
+ <path name="audio-ull-playback afe-proxy" />
+ </path>
+
+ <path name="audio-ull-playback speaker-and-usb-headphones">
+ <path name="audio-ull-playback usb-headphones" />
+ <path name="audio-ull-playback" />
+ </path>
+
+
+ <path name="compress-offload-playback">
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia4" value="1" />
+ </path>
+
+ <path name="compress-offload-playback speaker-protected">
+ <path name="compress-offload-playback" />
+ </path>
+ <path name="compress-offload-playback bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia4" value="1" />
+ </path>
+
+ <path name="compress-offload-playback bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback afe-proxy">
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="1" />
+ </path>
+
+ <path name="compress-offload-playback usb-headphones">
+ <path name="compress-offload-playback afe-proxy" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-usb-headphones">
+ <path name="compress-offload-playback usb-headphones" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback2">
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia7" value="1" />
+ </path>
+
+ <path name="compress-offload-playback2 bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia7" value="1" />
+ </path>
+
+ <path name="compress-offload-playback transmission-fm">
+ <ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia4" value="1" />
+ </path>
+
+ <path name="compress-offload-playback3">
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia10" value="1" />
+ </path>
+
+ <path name="compress-offload-playback3 bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia10" value="1" />
+ </path>
+
+ <path name="compress-offload-playback4">
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia11" value="1" />
+ </path>
+
+ <path name="compress-offload-playback4 bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia11" value="1" />
+ </path>
+
+ <path name="compress-offload-playback5">
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia12" value="1" />
+ </path>
+
+ <path name="compress-offload-playback5 bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia12" value="1" />
+ </path>
+
+ <path name="compress-offload-playback6">
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia13" value="1" />
+ </path>
+
+ <path name="compress-offload-playback6 bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia13" value="1" />
+ </path>
+
+ <path name="compress-offload-playback7">
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia14" value="1" />
+ </path>
+
+ <path name="compress-offload-playback7 bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia14" value="1" />
+ </path>
+
+ <path name="audio-record">
+ <ctl name="MultiMedia1 Mixer TERT_MI2S_TX" value="1" />
+ </path>
+
+ <path name="audio-record bt-sco">
+ <ctl name="MultiMedia1 Mixer INTERNAL_BT_SCO_TX" value="1" />
+ </path>
+
+ <path name="audio-record bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="audio-record bt-sco" />
+ </path>
+
+ <path name="audio-record usb-headset-mic">
+ <ctl name="MultiMedia1 Mixer AFE_PCM_TX" value="1" />
+ </path>
+
+ <path name="audio-record capture-fm">
+ <ctl name="MultiMedia1 Mixer INTERNAL_FM_TX" value="1" />
+ </path>
+ <path name="audio-record-compress">
+ <ctl name="MultiMedia8 Mixer TERT_MI2S_TX" value="1" />
+ </path>
+
+ <path name="audio-record-compress bt-sco">
+ <ctl name="MultiMedia8 Mixer INTERNAL_BT_SCO_TX" value="1" />
+ </path>
+
+ <path name="audio-record-compress bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="16000" />
+ <path name="audio-record-compress bt-sco" />
+ </path>
+
+ <path name="audio-record-compress usb-headset-mic">
+ <ctl name="MultiMedia8 Mixer AFE_PCM_TX" value="1" />
+ </path>
+
+ <path name="low-latency-record">
+ <ctl name="MultiMedia5 Mixer TERT_MI2S_TX" value="1" />
+ </path>
+
+ <path name="low-latency-record bt-sco">
+ <ctl name="MultiMedia5 Mixer INTERNAL_BT_SCO_TX" value="1" />
+ </path>
+
+ <path name="low-latency-record bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="16000" />
+ <path name="low-latency-record bt-sco" />
+ </path>
+
+ <path name="low-latency-record capture-fm">
+ <ctl name="MultiMedia5 Mixer INTERNAL_FM_TX" value="1" />
+ </path>
+
+ <path name="fm-virtual-record capture-fm">
+ <ctl name="MultiMedia2 Mixer INTERNAL_FM_TX" value="1" />
+ </path>
+
+ <path name="voice-call">
+ <ctl name="PRI_MI2S_RX_Voice Mixer CSVoice" value="1" />
+ <ctl name="Voice_Tx Mixer TERT_MI2S_TX_Voice" value="1" />
+ </path>
+
+ <path name="voice-call bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer CSVoice" value="1" />
+ <ctl name="Voice_Tx Mixer INTERNAL_BT_SCO_TX_Voice" value="1" />
+ </path>
+
+ <path name="voice-call bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="voice-call bt-sco" />
+ </path>
+
+ <path name="voice-call usb-headphones">
+ <ctl name="AFE_PCM_RX_Voice Mixer CSVoice" value="1" />
+ <ctl name="Voice_Tx Mixer AFE_PCM_TX_Voice" value="1" />
+ </path>
+
+ <path name="voice-call afe-proxy">
+ <path name="voice-call usb-headphones" />
+ </path>
+
+ <path name="voice2-call">
+ <ctl name="PRI_MI2S_RX_Voice Mixer Voice2" value="1" />
+ <ctl name="Voice2_Tx Mixer TERT_MI2S_TX_Voice2" value="1" />
+ </path>
+
+ <path name="voice2-call bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer Voice2" value="1" />
+ <ctl name="Voice2_Tx Mixer INTERNAL_BT_SCO_TX_Voice2" value="1" />
+ </path>
+
+ <path name="voice2-call bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="voice2-call bt-sco" />
+ </path>
+
+ <path name="voice2-call usb-headphones">
+ <ctl name="AFE_PCM_RX_Voice Mixer Voice2" value="1" />
+ <ctl name="Voice2_Tx Mixer AFE_PCM_TX_Voice2" value="1" />
+ </path>
+
+ <path name="voice2-call afe-proxy">
+ <path name="voice2-call usb-headphones" />
+ </path>
+
+ <path name="play-fm">
+ <ctl name="Internal FM RX Volume" value="1" />
+ <ctl name="PRI_MI2S_RX Port Mixer INTERNAL_FM_TX" value="1" />
+ <ctl name="MI2S_DL_HL Switch" value="1" />
+ </path>
+
+ <path name="vowlan-call">
+ <ctl name="PRI_MI2S_RX_Voice Mixer VoWLAN" value="1" />
+ <ctl name="VoWLAN_Tx Mixer TERT_MI2S_TX_VoWLAN" value="1" />
+ </path>
+
+ <path name="vowlan-call hdmi">
+ <ctl name="HDMI_RX_Voice Mixer VoWLAN" value="1" />
+ <ctl name="VoWLAN_Tx Mixer TERT_MI2S_TX_VoWLAN" value="1" />
+ </path>
+
+ <path name="vowlan-call bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer VoWLAN" value="1" />
+ <ctl name="VoWLAN_Tx Mixer INTERNAL_BT_SCO_TX_VoWLAN" value="1" />
+ </path>
+
+ <path name="vowlan-call bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="16000" />
+ <path name="vowlan-call bt-sco" />
+ </path>
+
+ <path name="vowlan-call usb-headphones">
+ <ctl name="AFE_PCM_RX_Voice Mixer VoWLAN" value="1" />
+ <ctl name="VoWLAN_Tx Mixer AFE_PCM_TX_VoWLAN" value="1" />
+ </path>
+
+ <path name="voicemmode1-call">
+ <ctl name="PRI_MI2S_RX_Voice Mixer VoiceMMode1" value="1" />
+ <ctl name="VoiceMMode1_Tx Mixer TERT_MI2S_TX_MMode1" value="1" />
+ </path>
+
+ <path name="voicemmode1-call bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer VoiceMMode1" value="1" />
+ <ctl name="VoiceMMode1_Tx Mixer INT_BT_SCO_TX_MMode1" value="1" />
+ </path>
+
+ <path name="voicemmode1-call bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="voicemmode1-call bt-sco" />
+ </path>
+
+ <path name="voicemmode1-call usb-headphones">
+ <ctl name="AFE_PCM_RX_Voice Mixer VoiceMMode1" value="1" />
+ <ctl name="VoiceMMode1_Tx Mixer AFE_PCM_TX_MMode1" value="1" />
+ </path>
+
+ <path name="voicemmode1-call afe-proxy">
+ <path name="voicemmode1-call usb-headphones" />
+ </path>
+
+ <path name="voicemmode2-call">
+ <ctl name="PRI_MI2S_RX_Voice Mixer VoiceMMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer TERT_MI2S_TX_MMode2" value="1" />
+ </path>
+
+ <path name="voicemmode2-call bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer VoiceMMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer INT_BT_SCO_TX_MMode2" value="1" />
+ </path>
+
+ <path name="voicemmode2-call bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="voicemmode2-call bt-sco" />
+ </path>
+
+ <path name="voicemmode2-call usb-headphones">
+ <ctl name="AFE_PCM_RX_Voice Mixer VoiceMMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer AFE_PCM_TX_MMode2" value="1" />
+ </path>
+
+ <path name="voicemmode2-call afe-proxy">
+ <path name="voicemmode2-call usb-headphones" />
+ </path>
+
+ <path name="hfp-sco">
+ <ctl name="PRI_MI2S_RX Port Mixer INTERNAL_BT_SCO_TX" value="1" />
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia6" value="1" />
+ <ctl name="MultiMedia6 Mixer TERT_MI2S_TX" value="1" />
+ <ctl name="HFP_INT_UL_HL Switch" value="1" />
+ </path>
+
+ <path name="hfp-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="16000" />
+ <path name="hfp-sco" />
+ </path>
+
+ <path name="incall-rec-uplink">
+ <ctl name="MultiMedia1 Mixer VOC_REC_UL" value="1" />
+ </path>
+
+ <path name="incall-rec-uplink bt-sco">
+ <path name="incall-rec-uplink" />
+ </path>
+
+ <path name="incall-rec-uplink bt-sco-wb">
+ <path name="incall-rec-uplink" />
+ </path>
+
+ <path name="incall-rec-uplink afe-proxy">
+ <path name="incall-rec-uplink" />
+ </path>
+
+ <path name="incall-rec-uplink usb-headset-mic">
+ <path name="incall-rec-uplink" />
+ </path>
+
+ <path name="incall-rec-uplink-compress">
+ <ctl name="MultiMedia8 Mixer VOC_REC_UL" value="1" />
+ </path>
+
+ <path name="incall-rec-uplink-compress bt-sco">
+ <path name="incall-rec-uplink-compress" />
+ </path>
+
+ <path name="incall-rec-uplink-compress bt-sco-wb">
+ <path name="incall-rec-uplink-compress" />
+ </path>
+
+ <path name="incall-rec-uplink-compress usb-headset-mic">
+ <path name="incall-rec-uplink-compress" />
+ </path>
+
+ <path name="incall-rec-downlink">
+ <ctl name="MultiMedia1 Mixer VOC_REC_DL" value="1" />
+ </path>
+
+ <path name="incall-rec-downlink bt-sco">
+ <path name="incall-rec-downlink" />
+ </path>
+
+ <path name="incall-rec-downlink bt-sco-wb">
+ <path name="incall-rec-downlink" />
+ </path>
+
+ <path name="incall-rec-downlink afe-proxy">
+ <path name="incall-rec-downlink" />
+ </path>
+
+ <path name="incall-rec-downlink usb-headset-mic">
+ <path name="incall-rec-downlink" />
+ </path>
+
+ <path name="incall-rec-downlink-compress">
+ <ctl name="MultiMedia8 Mixer VOC_REC_DL" value="1" />
+ </path>
+
+ <path name="incall-rec-downlink-compress bt-sco">
+ <path name="incall-rec-downlink-compress" />
+ </path>
+
+ <path name="incall-rec-downlink-compress bt-sco-wb">
+ <path name="incall-rec-downlink-compress" />
+ </path>
+
+ <path name="incall-rec-downlink-compress usb-headset-mic">
+ <path name="incall-rec-downlink-compress" />
+ </path>
+
+ <path name="incall-rec-uplink-and-downlink">
+ <path name="incall-rec-uplink" />
+ <path name="incall-rec-downlink" />
+ </path>
+
+ <path name="incall-rec-uplink-and-downlink bt-sco">
+ <path name="incall-rec-uplink-and-downlink" />
+ </path>
+
+ <path name="incall-rec-uplink-and-downlink bt-sco-wb">
+ <path name="incall-rec-uplink-and-downlink" />
+ </path>
+
+ <path name="incall-rec-uplink-and-downlink afe-proxy">
+ <path name="incall-rec-uplink-and-downlink" />
+ </path>
+
+ <path name="incall-rec-uplink-and-downlink-compress">
+ <path name="incall-rec-uplink-compress" />
+ <path name="incall-rec-downlink-compress" />
+ </path>
+
+ <path name="incall-rec-uplink-and-downlink-compress bt-sco">
+ <path name="incall-rec-uplink-and-downlink-compress" />
+ </path>
+
+ <path name="incall-rec-uplink-and-downlink-compress bt-sco-wb">
+ <path name="incall-rec-uplink-and-downlink-compress" />
+ </path>
+ <path name="incall-rec-uplink-and-downlink usb-headset-mic">
+ <path name="incall-rec-uplink-and-downlink" />
+ </path>
+
+ <path name="incall-rec-uplink-and-downlink-compress usb-headset-mic">
+ <path name="incall-rec-uplink-and-downlink-compress" />
+ </path>
+
+ <path name="incall_music_uplink">
+ <ctl name="Incall_Music Audio Mixer MultiMedia2" value="1" />
+ </path>
+
+ <path name="incall_music_uplink bt-sco">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink bt-sco-wb">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink afe-proxy">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink usb-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+ <path name="incall_music_uplink2">
+ <ctl name="Incall_Music_2 Audio Mixer MultiMedia9" value="1" />
+ </path>
+
+ <path name="incall_music_uplink2 bt-sco">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 bt-sco-wb">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 afe-proxy">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 usb-headphones">
+ <path name="incall_music_uplink2" />
+ </path>
+ <path name="volte-call">
+ <ctl name="PRI_MI2S_RX_Voice Mixer VoLTE" value="1" />
+ <ctl name="VoLTE_Tx Mixer TERT_MI2S_TX_VoLTE" value="1" />
+ </path>
+
+ <path name="volte-call hdmi">
+ <ctl name="HDMI_RX_Voice Mixer VoLTE" value="1" />
+ <ctl name="VoLTE_Tx Mixer SLIM_0_TX_VoLTE" value="1" />
+ </path>
+
+ <path name="volte-call bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer VoLTE" value="1" />
+ <ctl name="VoLTE_Tx Mixer INTERNAL_BT_SCO_TX_VoLTE" value="1" />
+ </path>
+
+ <path name="volte-call bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="volte-call bt-sco" />
+ </path>
+
+ <path name="volte-call usb-headphones">
+ <ctl name="AFE_PCM_RX_Voice Mixer VoLTE" value="1" />
+ <ctl name="VoLTE_Tx Mixer AFE_PCM_TX_VoLTE" value="1" />
+ </path>
+
+ <path name="volte-call afe-proxy">
+ <path name="volte-call usb-headphones" />
+ </path>
+
+ <path name="compress-voip-call">
+ <ctl name="PRI_MI2S_RX_Voice Mixer Voip" value="1" />
+ <ctl name="Voip_Tx Mixer TERT_MI2S_TX_Voip" value="1" />
+ </path>
+
+ <path name="compress-voip-call bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer Voip" value="1" />
+ <ctl name="Voip_Tx Mixer INTERNAL_BT_SCO_TX_Voip" value="1" />
+ </path>
+
+ <path name="compress-voip-call bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-voip-call bt-sco" />
+ </path>
+
+ <path name="afe-proxy-playback afe-proxy">
+ </path>
+
+ <path name="afe-proxy-record afe-proxy">
+ </path>
+
+ <path name="compress-voip-call afe-proxy">
+ <ctl name="AFE_PCM_RX_Voice Mixer Voip" value='1' />
+ <ctl name="Voip_Tx Mixer AFE_PCM_TX_Voip" value='1' />
+ </path>
+
+ <path name="qchat-call">
+ <ctl name="PRI_MI2S_RX_Voice Mixer QCHAT" value="1" />
+ <ctl name="QCHAT_Tx Mixer TERT_MI2S_TX_QCHAT" value="1" />
+ </path>
+
+ <path name="qchat-call bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer QCHAT" value="1" />
+ <ctl name="QCHAT_Tx Mixer INTERNAL_BT_SCO_TX_QCHAT" value="1" />
+ </path>
+
+ <path name="qchat-call bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="qchat-call bt-sco" />
+ </path>
+
+ <!-- These are actual sound device specific mixer settings -->
+ <path name="adc1">
+ <ctl name="ADC1 Volume" value="6" />
+ <ctl name="DEC1 MUX" value="ADC1" />
+ </path>
+
+ <path name="adc2">
+ <ctl name="ADC2 Volume" value="6" />
+ <ctl name="DEC1 MUX" value="ADC2" />
+ </path>
+
+ <path name="adc3">
+ <ctl name="ADC3 Volume" value="6" />
+ <ctl name="DEC1 MUX" value="ADC2" />
+ <ctl name="ADC2 MUX" value="INP3" />
+ </path>
+
+ <path name="speaker">
+ <ctl name="RX3 MIX1 INP1" value="RX1" />
+ <ctl name="SPK" value="Switch" />
+ </path>
+
+ <path name="wsa-speaker">
+ <ctl name="RX1 MIX1 INP1" value="RX1" />
+ <ctl name="RDAC2 MUX" value="RX1" />
+ <ctl name="RX1 Digital Volume" value="84" />
+ <ctl name="WSA Spk Switch" value="WSA" />
+ <ctl name="SpkrMono WSA_RDAC" value="Switch" />
+ </path>
+
+ <path name="spkr-rx-calib">
+ <ctl name="PRI_MI2S_RX_DL_HL Switch" value="1" />
+ </path>
+
+ <path name="vi-feedback">
+ </path>
+
+ <path name="spkr-vi-record">
+ <ctl name="PRI_MI2S_RX_VI_FB_MUX" value="SENARY_TX" />
+ </path>
+
+ <path name="speaker-protected">
+ <ctl name="DEC3 MUX" value="DMIC3" />
+ <ctl name="DEC4 MUX" value="DMIC4" />
+ <path name="wsa-speaker" />
+ <ctl name="PRI_MI2S_RX_VI_FB_MUX" value="SENARY_TX" />
+ <ctl name="SpkrMono VISENSE Switch" value="1" />
+ </path>
+
+ <path name="speaker-mic">
+ <path name="adc1" />
+ <ctl name="IIR1 INP1 MUX" value="DEC1" />
+ </path>
+
+ <path name="handset">
+ <ctl name="RX1 MIX1 INP1" value="RX1" />
+ <ctl name="RDAC2 MUX" value="RX1" />
+ <ctl name="RX1 Digital Volume" value="84" />
+ <ctl name="EAR PA Gain" value="POS_6_DB" />
+ <ctl name="EAR_S" value="Switch" />
+ </path>
+
+ <path name="handset-mic">
+ <path name="adc1" />
+ <ctl name="IIR1 INP1 MUX" value="DEC1" />
+ </path>
+
+ <path name="headphones">
+ <ctl name="MI2S_RX Channels" value="Two" />
+ <ctl name="RX1 MIX1 INP1" value="RX1" />
+ <ctl name="RX2 MIX1 INP1" value="RX2" />
+ <ctl name="RDAC2 MUX" value="RX2" />
+ <ctl name="HPHL" value="Switch" />
+ <ctl name="HPHR" value="Switch" />
+ </path>
+
+ <path name="headset-mic">
+ <path name="adc2" />
+ <ctl name="ADC2 MUX" value="INP2" />
+ <ctl name="IIR1 INP1 MUX" value="DEC1" />
+ </path>
+
+ <path name="sidetone-iir">
+ <ctl name="IIR1 Enable Band1" value="1" />
+ <ctl name="IIR1 Enable Band2" value="1" />
+ <ctl name="IIR1 Enable Band3" value="1" />
+ <ctl name="IIR1 Enable Band4" value="1" />
+ <ctl name="IIR1 Enable Band5" value="1" />
+ </path>
+
+ <path name="sidetone-handset">
+ <path name="sidetone-iir" />
+ <ctl name="IIR1 INP1 Volume" value="53" />
+ <ctl name="RX1 MIX2 INP1" value="IIR1" />
+ </path>
+
+ <path name="sidetone-headphone">
+ <path name="sidetone-iir" />
+ <ctl name="RX1 MIX2 INP1" value="IIR1" />
+ <ctl name="RX2 MIX2 INP1" value="IIR1" />
+ <ctl name="IIR1 INP1 Volume" value="53" />
+ </path>
+
+
+ <path name="voice-handset">
+ <path name="handset" />
+ </path>
+
+ <path name="voice-speaker">
+ <path name="speaker" />
+ </path>
+
+ <path name="wsa-voice-speaker">
+ <path name="wsa-speaker" />
+ </path>
+
+ <path name="voice-speaker-mic">
+ <path name="speaker-mic" />
+ </path>
+
+ <path name="voice-headphones">
+ <path name="headphones" />
+ </path>
+
+ <path name="voice-headset-mic">
+ <path name="headset-mic" />
+ </path>
+
+ <path name="speaker-and-headphones">
+ <path name="speaker" />
+ <path name="headphones" />
+ </path>
+
+ <path name="usb-headphones">
+ </path>
+
+ <path name="afe-proxy">
+ </path>
+
+ <path name="transmission-fm">
+ </path>
+
+ <path name="speaker-and-usb-headphones">
+ <path name="speaker" />
+ <path name="usb-headphones" />
+ </path>
+
+ <path name="voice-rec-mic">
+ <path name="handset-mic" />
+ </path>
+
+ <path name="camcorder-mic">
+ <path name="handset-mic" />
+ </path>
+
+ <path name="bt-sco-headset">
+ </path>
+
+ <path name="bt-sco-mic">
+ </path>
+
+ <path name="bt-sco-headset-wb">
+ </path>
+
+ <path name="bt-sco-mic-wb">
+ </path>
+ <path name="usb-headset-mic">
+ </path>
+
+ <path name="capture-fm">
+ </path>
+
+ <!-- Dual MIC devices -->
+ <path name="speaker-dmic-endfire">
+ <path name="adc1" />
+ <ctl name="ADC3 Volume" value="6" />
+ <ctl name="DEC2 MUX" value="ADC2" />
+ <ctl name="MI2S_TX Channels" value="Two" />
+ <ctl name="ADC2 MUX" value="INP3" />
+ </path>
+
+ <path name="dmic-endfire">
+ <path name="speaker-dmic-endfire" />
+ </path>
+
+ <path name="voice-dmic-ef-tmus">
+ <path name="dmic-endfire" />
+ </path>
+
+ <path name="voice-dmic-ef">
+ <path name="dmic-endfire" />
+ </path>
+
+ <path name="voice-speaker-dmic-ef">
+ <path name="dmic-endfire" />
+ </path>
+
+ <path name="voice-rec-dmic-ef">
+ <path name="dmic-endfire" />
+ </path>
+
+ <path name="voice-rec-dmic-ef-fluence">
+ <path name="dmic-endfire" />
+ </path>
+
+ <path name="handset-stereo-dmic-ef">
+ <path name="speaker-dmic-endfire" />
+ </path>
+
+ <path name="speaker-stereo-dmic-ef">
+ <path name="speaker-dmic-endfire" />
+ </path>
+
+ <path name="speaker-dmic-broadside">
+ <path name="adc1" />
+ <ctl name="ADC3 Volume" value="6" />
+ <ctl name="DEC2 MUX" value="ADC2" />
+ <ctl name="ADC2 MUX" value="INP3" />
+ <ctl name="MI2S_TX Channels" value="Two" />
+ </path>
+
+ <path name="dmic-broadside">
+ <path name="speaker-dmic-broadside" />
+ </path>
+
+ <path name="voice-speaker-dmic-broadside">
+ <path name="dmic-broadside"/>
+ </path>
+
+ <path name="echo-reference">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="I2S_RX" />
+ </path>
+
+ <!-- TTY devices -->
+
+ <path name="tty-headphones">
+ <ctl name="RX1 MIX1 INP1" value="RX1" />
+ <ctl name="HPHL" value="Switch" />
+ </path>
+
+ <path name="voice-tty-full-headphones">
+ <ctl name="TTY Mode" value="FULL" />
+ <path name="tty-headphones" />
+ </path>
+
+ <path name="voice-tty-vco-headphones">
+ <ctl name="TTY Mode" value="VCO" />
+ <path name="tty-headphones" />
+ </path>
+
+ <path name="voice-tty-hco-handset">
+ <ctl name="TTY Mode" value="HCO" />
+ <path name="handset" />
+ </path>
+
+ <path name="voice-tty-full-headset-mic">
+ <path name="adc2" />
+ <ctl name="ADC2 MUX" value="INP2" />
+ </path>
+
+ <path name="voice-tty-hco-headset-mic">
+ <path name="voice-tty-full-headset-mic" />
+ </path>
+
+ <path name="voice-tty-vco-handset-mic">
+ <path name="adc1" />
+ </path>
+
+ <path name="ADSP testfwk">
+ <ctl name="MI2S_DL_HL Switch" value="1" />
+ </path>
+
+ <path name="voice-rx">
+ </path>
+
+ <path name="voice-tx">
+ </path>
+
+ <path name="line">
+ <path name="headphones" />
+ </path>
+
+ <path name="voice-line">
+ <path name="voice-headphones" />
+ </path>
+
+ <path name="speaker-and-line">
+ <path name="speaker-and-headphones" />
+ </path>
+
+</mixer>
diff --git a/audio/mixer_paths_l9300.xml b/audio/mixer_paths_l9300.xml
new file mode 100644
index 0000000..4a830fb
--- /dev/null
+++ b/audio/mixer_paths_l9300.xml
@@ -0,0 +1,972 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ Copyright (c) 2015, The Linux Foundation. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+ * Neither the name of The Linux Foundation nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<mixer>
+ <!-- These are the initial mixer settings -->
+ <ctl name="Voice Rx Device Mute" id="0" value="0" />
+ <ctl name="Voice Rx Device Mute" id="1" value="-1" />
+ <ctl name="Voice Rx Device Mute" id="2" value="20" />
+ <ctl name="Voice Tx Mute" id="0" value="0" />
+ <ctl name="Voice Tx Mute" id="1" value="-1" />
+ <ctl name="Voice Tx Mute" id="2" value="500" />
+ <ctl name="Voice Rx Gain" id="0" value="0" />
+ <ctl name="Voice Rx Gain" id="1" value="-1" />
+ <ctl name="Voice Rx Gain" id="2" value="20" />
+ <ctl name="Voip Tx Mute" id="0" value="0" />
+ <ctl name="Voip Tx Mute" id="1" value="500" />
+ <ctl name="Voip Rx Gain" id="0" value="0" />
+ <ctl name="Voip Rx Gain" id="1" value="20" />
+ <ctl name="Voip Mode Config" value="12" />
+ <ctl name="Voip Rate Config" value="0" />
+ <ctl name="Voip Evrc Min Max Rate Config" id="0" value="1" />
+ <ctl name="Voip Evrc Min Max Rate Config" id="1" value="4" />
+ <ctl name="Voip Dtx Mode" value="0" />
+ <ctl name="TTY Mode" value="Off" />
+ <ctl name="HPHL Volume" value="9" />
+ <ctl name="HPHR Volume" value="9" />
+ <ctl name="RX1 Digital Volume" value="84" />
+ <ctl name="RX2 Digital Volume" value="84" />
+ <ctl name="RX3 Digital Volume" value="84" />
+ <ctl name="IIR1 INP1 Volume" value="84" />
+ <ctl name="IIR1 INP2 Volume" value="84" />
+ <ctl name="IIR1 INP3 Volume" value="84" />
+ <ctl name="IIR1 INP4 Volume" value="84" />
+ <ctl name="ADC1 Volume" value="4" />
+ <ctl name="ADC2 Volume" value="4" />
+ <ctl name="ADC3 Volume" value="4" />
+ <ctl name="DEC1 Volume" value="84" />
+ <ctl name="DEC2 Volume" value="84" />
+ <ctl name="DEC2 MUX" value="ZERO" />
+ <ctl name="DEC1 MUX" value="ZERO" />
+ <ctl name="ADC2 MUX" value="ZERO" />
+ <ctl name="RDAC2 MUX" value="ZERO" />
+ <ctl name="RX2 MIX2 INP2" value="ZERO" />
+ <ctl name="RX2 MIX2 INP1" value="ZERO" />
+ <ctl name="RX1 MIX2 INP2" value="ZERO" />
+ <ctl name="RX1 MIX2 INP1" value="ZERO" />
+ <ctl name="RX3 MIX1 INP2" value="ZERO" />
+ <ctl name="RX3 MIX1 INP1" value="ZERO" />
+ <ctl name="RX2 MIX1 INP2" value="ZERO" />
+ <ctl name="RX2 MIX1 INP1" value="ZERO" />
+ <ctl name="RX1 MIX1 INP2" value="ZERO" />
+ <ctl name="RX1 MIX1 INP1" value="ZERO" />
+ <ctl name="EAR_S" value="ZERO" />
+ <ctl name="HPHL" value="ZERO" />
+ <ctl name="HPHR" value="ZERO" />
+ <ctl name="SPK" value="ZERO" />
+ <ctl name="WSA Spk Switch" value="ZERO" />
+ <ctl name="SpkrMono WSA_RDAC" value="ZERO" />
+ <ctl name="EAR PA Gain" value="POS_6_DB" />
+ <ctl name="Speaker Boost" value="ENABLE" />
+ <ctl name="SpkrMono BOOST Switch" value="1" />
+ <ctl name="EAR PA Gain" value="POS_1P5_DB" />
+ <ctl name="EAR PA Boost" value="ENABLE" />
+ <ctl name="MI2S_RX Channels" value="One" />
+ <ctl name="MI2S_TX Channels" value="One" />
+ <ctl name="PRI_MI2S_RX_DL_HL Switch" value="0" />
+ <ctl name="PRI_MI2S_RX_VI_FB_MUX" value="ZERO" />
+ <ctl name="DEC3 MUX" value="ZERO" />
+ <ctl name="DEC4 MUX" value="ZERO" />
+ <ctl name="SpkrMono VISENSE Switch" value="0" />
+ <ctl name="Speaker PA Open" value="OFF" />
+ <ctl name="Headphone PA Open" value="OFF" />
+
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia1" value="0" />
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia1" value="0" />
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia3" value="0" />
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia3" value="0" />
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="0" />
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia4" value="0" />
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia4" value="0" />
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="0" />
+ <ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia4" value="0" />
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia5" value="0" />
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia5" value="0" />
+ <ctl name="MultiMedia1 Mixer TERT_MI2S_TX" value="0" />
+ <ctl name="MultiMedia5 Mixer TERT_MI2S_TX" value="0" />
+ <ctl name="MultiMedia1 Mixer INTERNAL_BT_SCO_TX" value="0" />
+ <ctl name="PRI_MI2S_RX_Voice Mixer CSVoice" value="0" />
+ <ctl name="Voice_Tx Mixer TERT_MI2S_TX_Voice" value="0" />
+ <!-- Voice BTSCO -->
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_8KHZ" />
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer CSVoice" value="0" />
+ <ctl name="Voice_Tx Mixer INTERNAL_BT_SCO_TX_Voice" value="0" />
+
+ <!-- Voice2 -->
+ <ctl name="PRI_MI2S_RX_Voice Mixer Voice2" value="0" />
+ <ctl name="Voice2_Tx Mixer TERT_MI2S_TX_Voice2" value="0" />
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer Voice2" value="0" />
+ <ctl name="Voice2_Tx Mixer INTERNAL_BT_SCO_TX_Voice2" value="0" />
+ <ctl name="AFE_PCM_RX_Voice Mixer Voice2" value="0" />
+ <ctl name="Voice2_Tx Mixer AFE_PCM_TX_Voice2" value="0" />
+ <!-- Voice2 end -->
+
+ <!-- Multimode Voice1 -->
+ <ctl name="PRI_MI2S_RX_Voice Mixer VoiceMMode1" value="0" />
+ <ctl name="VoiceMMode1_Tx Mixer TERT_MI2S_TX_MMode1" value="0" />
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer VoiceMMode1" value="0" />
+ <ctl name="VoiceMMode1_Tx Mixer INT_BT_SCO_TX_MMode1" value="0" />
+ <ctl name="AFE_PCM_RX_Voice Mixer VoiceMMode1" value="0" />
+ <ctl name="VoiceMMode1_Tx Mixer AFE_PCM_TX_MMode1" value="0" />
+ <!-- Multimode Voice1 end -->
+
+ <!-- Multimode Voice2 -->
+ <ctl name="PRI_MI2S_RX_Voice Mixer VoiceMMode2" value="0" />
+ <ctl name="VoiceMMode2_Tx Mixer TERT_MI2S_TX_MMode2" value="0" />
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer VoiceMMode2" value="0" />
+ <ctl name="VoiceMMode2_Tx Mixer INT_BT_SCO_TX_MMode2" value="0" />
+ <ctl name="AFE_PCM_RX_Voice Mixer VoiceMMode2" value="0" />
+ <ctl name="VoiceMMode2_Tx Mixer AFE_PCM_TX_MMode2" value="0" />
+ <!-- Multimode Voice2 end -->
+
+ <!-- Multimode Voice1 -->
+ <ctl name="PRI_MI2S_RX_Voice Mixer VoiceMMode1" value="0" />
+ <ctl name="VoiceMMode1_Tx Mixer TERT_MI2S_TX_MMode1" value="0" />
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer VoiceMMode1" value="0" />
+ <ctl name="VoiceMMode1_Tx Mixer INT_BT_SCO_TX_MMode1" value="0" />
+ <ctl name="AFE_PCM_RX_Voice Mixer VoiceMMode1" value="0" />
+ <ctl name="VoiceMMode1_Tx Mixer AFE_PCM_TX_MMode1" value="0" />
+ <!-- Multimode Voice1 end -->
+
+ <!-- Multimode Voice2 -->
+ <ctl name="PRI_MI2S_RX_Voice Mixer VoiceMMode2" value="0" />
+ <ctl name="VoiceMMode2_Tx Mixer TERT_MI2S_TX_MMode2" value="0" />
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer VoiceMMode2" value="0" />
+ <ctl name="VoiceMMode2_Tx Mixer INT_BT_SCO_TX_MMode2" value="0" />
+ <ctl name="AFE_PCM_RX_Voice Mixer VoiceMMode2" value="0" />
+ <ctl name="VoiceMMode2_Tx Mixer AFE_PCM_TX_MMode2" value="0" />
+ <!-- Multimode Voice2 end -->
+
+ <!-- Voip -->
+ <ctl name="PRI_MI2S_RX_Voice Mixer Voip" value="0" />
+ <ctl name="Voip_Tx Mixer TERT_MI2S_TX_Voip" value="0" />
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_8KHZ" />
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer Voip" value="0" />
+ <ctl name="Voip_Tx Mixer INTERNAL_BT_SCO_TX_Voip" value="0" />
+ <!-- Voip end -->
+
+ <!-- fm -->
+ <ctl name="Internal FM RX Volume" value="0" />
+ <ctl name="PRI_MI2S_RX Port Mixer INTERNAL_FM_TX" value="0" />
+ <ctl name="MI2S_DL_HL Switch" value="1" />
+ <ctl name="MultiMedia1 Mixer INTERNAL_FM_TX" value="0" />
+ <ctl name="MultiMedia2 Mixer INTERNAL_FM_TX" value="0" />
+ <ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia1" value="0" />
+ <ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia5" value="0" />
+ <!-- fm end -->
+
+ <!-- RT Proxy Cal -->
+ <ctl name="RT_PROXY_1_RX SetCalMode" value="CAL_MODE_NONE" />
+ <ctl name="RT_PROXY_1_TX SetCalMode" value="CAL_MODE_NONE" />
+ <!-- RT Proxy Cal end -->
+
+ <!-- Incall Recording -->
+ <ctl name="MultiMedia1 Mixer VOC_REC_UL" value="0" />
+ <ctl name="MultiMedia1 Mixer VOC_REC_DL" value="0" />
+ <!-- Incall Recording end -->
+
+ <!-- Incall Music -->
+ <ctl name="Incall_Music Audio Mixer MultiMedia2" value="0" />
+ <ctl name="Incall_Music_2 Audio Mixer MultiMedia9" value="0" />
+ <!-- Incall Music End -->
+
+ <!-- QCHAT -->
+ <ctl name="PRI_MI2S_RX_Voice Mixer QCHAT" value="0" />
+ <ctl name="QCHAT_Tx Mixer TERT_MI2S_TX_QCHAT" value="0" />
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer QCHAT" value="0" />
+ <ctl name="QCHAT_Tx Mixer INTERNAL_BT_SCO_TX_QCHAT" value="0" />
+ <!-- QCHAT End -->
+
+ <!-- EC_REF -->
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="None" />
+
+ <!-- IIR -->
+ <ctl name="IIR1 Band1" id ="0" value="268435456" />
+ <ctl name="IIR1 Band1" id ="1" value="0" />
+ <ctl name="IIR1 Band1" id ="2" value="0" />
+ <ctl name="IIR1 Band1" id ="3" value="0" />
+ <ctl name="IIR1 Band1" id ="4" value="0" />
+ <ctl name="IIR1 Band2" id ="0" value="268435456" />
+ <ctl name="IIR1 Band2" id ="1" value="0" />
+ <ctl name="IIR1 Band2" id ="2" value="0" />
+ <ctl name="IIR1 Band2" id ="3" value="0" />
+ <ctl name="IIR1 Band2" id ="4" value="0" />
+ <ctl name="IIR1 Band3" id ="0" value="268435456" />
+ <ctl name="IIR1 Band3" id ="1" value="0" />
+ <ctl name="IIR1 Band3" id ="2" value="0" />
+ <ctl name="IIR1 Band3" id ="3" value="0" />
+ <ctl name="IIR1 Band3" id ="4" value="0" />
+ <ctl name="IIR1 Band4" id ="0" value="268435456" />
+ <ctl name="IIR1 Band4" id ="1" value="0" />
+ <ctl name="IIR1 Band4" id ="2" value="0" />
+ <ctl name="IIR1 Band4" id ="3" value="0" />
+ <ctl name="IIR1 Band4" id ="4" value="0" />
+ <ctl name="IIR1 Band5" id ="0" value="268435456" />
+ <ctl name="IIR1 Band5" id ="1" value="0" />
+ <ctl name="IIR1 Band5" id ="2" value="0" />
+ <ctl name="IIR1 Band5" id ="3" value="0" />
+ <ctl name="IIR1 Band5" id ="4" value="0" />
+ <ctl name="IIR1 Enable Band1" value="0" />
+ <ctl name="IIR1 Enable Band2" value="0" />
+ <ctl name="IIR1 Enable Band3" value="0" />
+ <ctl name="IIR1 Enable Band4" value="0" />
+ <ctl name="IIR1 Enable Band5" value="0" />
+ <!-- IIR -->
+
+ <!-- ADSP testfwk -->
+ <ctl name="MI2S_DL_HL Switch" value="0" />
+ <!-- ADSP testfwk end-->
+
+ <!-- These are audio route (FE to BE) specific mixer settings -->
+ <path name="deep-buffer-playback">
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia1" value="1" />
+ </path>
+
+ <path name="deep-buffer-playback bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia1" value="1" />
+ </path>
+
+ <path name="deep-buffer-playback bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="deep-buffer-playback bt-sco" />
+ </path>
+
+ <path name="deep-buffer-playback afe-proxy">
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
+ </path>
+
+ <path name="deep-buffer-playback usb-headphones">
+ <path name="deep-buffer-playback afe-proxy" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-usb-headphones">
+ <path name="deep-buffer-playback usb-headphones" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback transmission-fm">
+ <ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia1" value="1" />
+ </path>
+
+ <path name="low-latency-playback">
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia5" value="1" />
+ </path>
+
+ <path name="low-latency-playback speaker-protected">
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia5" value="1" />
+ </path>
+
+ <path name="low-latency-playback bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="low-latency-playback bt-sco" />
+ </path>
+
+ <path name="low-latency-playback afe-proxy">
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia5" value="1" />
+ </path>
+
+ <path name="low-latency-playback usb-headphones">
+ <path name="low-latency-playback afe-proxy" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-usb-headphones">
+ <path name="low-latency-playback usb-headphones" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback transmission-fm">
+ <ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia5" value="1" />
+ </path>
+
+ <path name="audio-ull-playback">
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia3" value="1" />
+ </path>
+
+ <path name="audio-ull-playback headphones">
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback speaker-protected">
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia3" value="1" />
+ </path>
+
+ <path name="audio-ull-playback bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="audio-ull-playback bt-sco" />
+ </path>
+
+ <path name="audio-ull-playback afe-proxy">
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
+ </path>
+
+
+ <path name="audio-ull-playback usb-headphones">
+ <path name="audio-ull-playback afe-proxy" />
+ </path>
+
+ <path name="audio-ull-playback speaker-and-usb-headphones">
+ <path name="audio-ull-playback usb-headphones" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="compress-offload-playback">
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia4" value="1" />
+ </path>
+
+ <path name="compress-offload-playback speaker-protected">
+ <path name="compress-offload-playback" />
+ </path>
+ <path name="compress-offload-playback bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia4" value="1" />
+ </path>
+
+ <path name="compress-offload-playback bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback afe-proxy">
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="1" />
+ </path>
+
+ <path name="compress-offload-playback usb-headphones">
+ <path name="compress-offload-playback afe-proxy" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-usb-headphones">
+ <path name="compress-offload-playback usb-headphones" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback2">
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia7" value="1" />
+ </path>
+
+ <path name="compress-offload-playback2 bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia7" value="1" />
+ </path>
+
+ <path name="compress-offload-playback transmission-fm">
+ <ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia4" value="1" />
+ </path>
+
+ <path name="compress-offload-playback3">
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia10" value="1" />
+ </path>
+
+ <path name="compress-offload-playback3 bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia10" value="1" />
+ </path>
+
+ <path name="compress-offload-playback4">
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia11" value="1" />
+ </path>
+
+ <path name="compress-offload-playback4 bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia11" value="1" />
+ </path>
+
+ <path name="compress-offload-playback5">
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia12" value="1" />
+ </path>
+
+ <path name="compress-offload-playback5 bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia12" value="1" />
+ </path>
+
+ <path name="compress-offload-playback6">
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia13" value="1" />
+ </path>
+
+ <path name="compress-offload-playback6 bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia13" value="1" />
+ </path>
+
+ <path name="compress-offload-playback7">
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia14" value="1" />
+ </path>
+
+ <path name="compress-offload-playback7 bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia14" value="1" />
+ </path>
+
+ <path name="audio-record">
+ <ctl name="MultiMedia1 Mixer TERT_MI2S_TX" value="1" />
+ </path>
+
+ <path name="audio-record bt-sco">
+ <ctl name="MultiMedia1 Mixer INTERNAL_BT_SCO_TX" value="1" />
+ </path>
+
+ <path name="audio-record bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="audio-record bt-sco" />
+ </path>
+
+ <path name="audio-record usb-headset-mic">
+ <ctl name="MultiMedia1 Mixer AFE_PCM_TX" value="1" />
+ </path>
+
+ <path name="audio-record capture-fm">
+ <ctl name="MultiMedia1 Mixer INTERNAL_FM_TX" value="1" />
+ </path>
+
+ <path name="low-latency-record">
+ <ctl name="MultiMedia5 Mixer TERT_MI2S_TX" value="1" />
+ </path>
+
+ <path name="fm-virtual-record capture-fm">
+ <ctl name="MultiMedia2 Mixer INTERNAL_FM_TX" value="1" />
+ </path>
+
+ <path name="voice-call">
+ <ctl name="PRI_MI2S_RX_Voice Mixer CSVoice" value="1" />
+ <ctl name="Voice_Tx Mixer TERT_MI2S_TX_Voice" value="1" />
+ </path>
+
+ <path name="voice-call bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer CSVoice" value="1" />
+ <ctl name="Voice_Tx Mixer INTERNAL_BT_SCO_TX_Voice" value="1" />
+ </path>
+
+ <path name="voice-call bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="voice-call bt-sco" />
+ </path>
+
+ <path name="voice-call usb-headphones">
+ <ctl name="AFE_PCM_RX_Voice Mixer CSVoice" value="1" />
+ <ctl name="Voice_Tx Mixer AFE_PCM_TX_Voice" value="1" />
+ </path>
+
+ <path name="voice-call afe-proxy">
+ <path name="voice-call usb-headphones" />
+ </path>
+
+ <path name="voice2-call">
+ <ctl name="PRI_MI2S_RX_Voice Mixer Voice2" value="1" />
+ <ctl name="Voice2_Tx Mixer TERT_MI2S_TX_Voice2" value="1" />
+ </path>
+
+ <path name="voice2-call bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer Voice2" value="1" />
+ <ctl name="Voice2_Tx Mixer INTERNAL_BT_SCO_TX_Voice2" value="1" />
+ </path>
+
+ <path name="voice2-call bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="voice2-call bt-sco" />
+ </path>
+
+ <path name="voice2-call usb-headphones">
+ <ctl name="AFE_PCM_RX_Voice Mixer Voice2" value="1" />
+ <ctl name="Voice2_Tx Mixer AFE_PCM_TX_Voice2" value="1" />
+ </path>
+
+ <path name="voice2-call afe-proxy">
+ <path name="voice2-call usb-headphones" />
+ </path>
+
+ <path name="play-fm">
+ <ctl name="Internal FM RX Volume" value="1" />
+ <ctl name="PRI_MI2S_RX Port Mixer INTERNAL_FM_TX" value="1" />
+ <ctl name="MI2S_DL_HL Switch" value="1" />
+ </path>
+
+
+ <path name="voicemmode1-call">
+ <ctl name="PRI_MI2S_RX_Voice Mixer VoiceMMode1" value="1" />
+ <ctl name="VoiceMMode1_Tx Mixer TERT_MI2S_TX_MMode1" value="1" />
+ </path>
+
+ <path name="voicemmode1-call bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer VoiceMMode1" value="1" />
+ <ctl name="VoiceMMode1_Tx Mixer INT_BT_SCO_TX_MMode1" value="1" />
+ </path>
+
+ <path name="voicemmode1-call bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="voicemmode1-call bt-sco" />
+ </path>
+
+ <path name="voicemmode1-call usb-headphones">
+ <ctl name="AFE_PCM_RX_Voice Mixer VoiceMMode1" value="1" />
+ <ctl name="VoiceMMode1_Tx Mixer AFE_PCM_TX_MMode1" value="1" />
+ </path>
+
+ <path name="voicemmode1-call afe-proxy">
+ <path name="voicemmode1-call usb-headphones" />
+ </path>
+
+ <path name="voicemmode2-call">
+ <ctl name="PRI_MI2S_RX_Voice Mixer VoiceMMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer TERT_MI2S_TX_MMode2" value="1" />
+ </path>
+
+ <path name="voicemmode2-call bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer VoiceMMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer INT_BT_SCO_TX_MMode2" value="1" />
+ </path>
+
+ <path name="voicemmode2-call bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="voicemmode2-call bt-sco" />
+ </path>
+
+ <path name="voicemmode2-call usb-headphones">
+ <ctl name="AFE_PCM_RX_Voice Mixer VoiceMMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer AFE_PCM_TX_MMode2" value="1" />
+ </path>
+
+ <path name="voicemmode2-call afe-proxy">
+ <path name="voicemmode2-call usb-headphones" />
+ </path>
+ <path name="incall-rec-uplink">
+ <ctl name="MultiMedia1 Mixer VOC_REC_UL" value="1" />
+ </path>
+
+ <path name="incall-rec-uplink bt-sco">
+ <path name="incall-rec-uplink" />
+ </path>
+
+ <path name="incall-rec-uplink bt-sco-wb">
+ <path name="incall-rec-uplink" />
+ </path>
+
+ <path name="incall-rec-uplink afe-proxy">
+ <path name="incall-rec-uplink" />
+ </path>
+
+ <path name="incall-rec-downlink">
+ <ctl name="MultiMedia1 Mixer VOC_REC_DL" value="1" />
+ </path>
+
+ <path name="incall-rec-downlink bt-sco">
+ <path name="incall-rec-downlink" />
+ </path>
+
+ <path name="incall-rec-downlink bt-sco-wb">
+ <path name="incall-rec-downlink" />
+ </path>
+
+ <path name="incall-rec-downlink afe-proxy">
+ <path name="incall-rec-downlink" />
+ </path>
+
+ <path name="incall-rec-uplink-and-downlink">
+ <path name="incall-rec-uplink" />
+ <path name="incall-rec-downlink" />
+ </path>
+
+ <path name="incall-rec-uplink-and-downlink bt-sco">
+ <path name="incall-rec-uplink-and-downlink" />
+ </path>
+
+ <path name="incall-rec-uplink-and-downlink bt-sco-wb">
+ <path name="incall-rec-uplink-and-downlink" />
+ </path>
+
+ <path name="incall-rec-uplink-and-downlink afe-proxy">
+ <path name="incall-rec-uplink-and-downlink" />
+ </path>
+
+ <path name="incall_music_uplink">
+ <ctl name="Incall_Music Audio Mixer MultiMedia2" value="1" />
+ </path>
+
+ <path name="incall_music_uplink2">
+ <ctl name="Incall_Music_2 Audio Mixer MultiMedia9" value="1" />
+ </path>
+
+ <path name="volte-call">
+ <ctl name="PRI_MI2S_RX_Voice Mixer VoLTE" value="1" />
+ <ctl name="VoLTE_Tx Mixer TERT_MI2S_TX_VoLTE" value="1" />
+ </path>
+
+ <path name="volte-call hdmi">
+ <ctl name="HDMI_RX_Voice Mixer VoLTE" value="1" />
+ <ctl name="VoLTE_Tx Mixer SLIM_0_TX_VoLTE" value="1" />
+ </path>
+
+ <path name="volte-call bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer VoLTE" value="1" />
+ <ctl name="VoLTE_Tx Mixer INTERNAL_BT_SCO_TX_VoLTE" value="1" />
+ </path>
+
+ <path name="volte-call bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="volte-call bt-sco" />
+ </path>
+
+ <path name="volte-call usb-headphones">
+ <ctl name="AFE_PCM_RX_Voice Mixer VoLTE" value="1" />
+ <ctl name="VoLTE_Tx Mixer AFE_PCM_TX_VoLTE" value="1" />
+ </path>
+
+ <path name="volte-call afe-proxy">
+ <path name="volte-call usb-headphones" />
+ </path>
+
+ <path name="compress-voip-call">
+ <ctl name="PRI_MI2S_RX_Voice Mixer Voip" value="1" />
+ <ctl name="Voip_Tx Mixer TERT_MI2S_TX_Voip" value="1" />
+ </path>
+
+ <path name="compress-voip-call bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer Voip" value="1" />
+ <ctl name="Voip_Tx Mixer INTERNAL_BT_SCO_TX_Voip" value="1" />
+ </path>
+
+ <path name="compress-voip-call bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-voip-call bt-sco" />
+ </path>
+
+ <path name="compress-voip-call afe-proxy">
+ <ctl name="AFE_PCM_RX_Voice Mixer Voip" value='1' />
+ <ctl name="Voip_Tx Mixer AFE_PCM_TX_Voip" value='1' />
+ </path>
+
+ <path name="afe-proxy-playback afe-proxy">
+ </path>
+
+ <path name="afe-proxy-record afe-proxy">
+ </path>
+
+ <path name="qchat-call">
+ <ctl name="PRI_MI2S_RX_Voice Mixer QCHAT" value="1" />
+ <ctl name="QCHAT_Tx Mixer TERT_MI2S_TX_QCHAT" value="1" />
+ </path>
+
+ <path name="qchat-call bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer QCHAT" value="1" />
+ <ctl name="QCHAT_Tx Mixer INTERNAL_BT_SCO_TX_QCHAT" value="1" />
+ </path>
+
+ <path name="qchat-call bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="qchat-call bt-sco" />
+ </path>
+
+ <path name="multi-channel-playback afe-proxy">
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia2" value="1" />
+ </path>
+
+ <!-- These are actual sound device specific mixer settings -->
+ <path name="adc1">
+ <ctl name="ADC1 Volume" value="6" />
+ <ctl name="DEC1 MUX" value="ADC1" />
+ </path>
+
+ <path name="adc2">
+ <ctl name="ADC2 Volume" value="6" />
+ <ctl name="DEC1 MUX" value="ADC2" />
+ </path>
+
+ <path name="adc3">
+ <ctl name="ADC3 Volume" value="6" />
+ <ctl name="DEC1 MUX" value="ADC2" />
+ <ctl name="ADC2 MUX" value="INP3" />
+ </path>
+
+ <path name="speaker">
+ <ctl name="RX1 MIX1 INP1" value="RX1" />
+ <ctl name="RX2 MIX1 INP1" value="RX2" />
+ <ctl name="RDAC2 MUX" value="RX2" />
+ <ctl name="HPHL" value="Switch" />
+ <ctl name="HPHR" value="Switch" />
+
+ <ctl name="RX3 MIX1 INP1" value="RX1" />
+ <ctl name="SPK" value="Switch" />
+ </path>
+
+ <path name="wsa-speaker">
+ <ctl name="RX1 MIX1 INP1" value="RX1" />
+ <ctl name="RDAC2 MUX" value="RX1" />
+ <ctl name="RX1 Digital Volume" value="84" />
+ <ctl name="WSA Spk Switch" value="WSA" />
+ <ctl name="SpkrMono WSA_RDAC" value="Switch" />
+ </path>
+
+ <path name="spkr-rx-calib">
+ <ctl name="PRI_MI2S_RX_DL_HL Switch" value="1" />
+ </path>
+
+ <path name="vi-feedback">
+ </path>
+
+ <path name="spkr-vi-record">
+ <ctl name="PRI_MI2S_RX_VI_FB_MUX" value="SENARY_TX" />
+ </path>
+
+ <path name="speaker-protected">
+ <ctl name="DEC3 MUX" value="DMIC3" />
+ <ctl name="DEC4 MUX" value="DMIC4" />
+ <path name="wsa-speaker" />
+ <ctl name="PRI_MI2S_RX_VI_FB_MUX" value="SENARY_TX" />
+ <ctl name="SpkrMono VISENSE Switch" value="1" />
+ </path>
+
+ <path name="speaker-mic">
+ <path name="adc1" />
+ <ctl name="IIR1 INP1 MUX" value="DEC1" />
+ </path>
+
+ <path name="handset">
+ <ctl name="RX1 MIX1 INP1" value="RX1" />
+ <ctl name="RDAC2 MUX" value="RX1" />
+ <ctl name="RX1 Digital Volume" value="84" />
+ <ctl name="EAR PA Gain" value="POS_6_DB" />
+ <ctl name="EAR_S" value="Switch" />
+ </path>
+
+ <path name="handset-mic">
+ <path name="adc1" />
+ <ctl name="IIR1 INP1 MUX" value="DEC1" />
+ </path>
+
+ <path name="handset-secondary-mic">
+ <path name="adc3" />
+ </path>
+
+ <path name="headphones">
+ <ctl name="MI2S_RX Channels" value="Two" />
+ <ctl name="RX1 MIX1 INP1" value="RX1" />
+ <ctl name="RX2 MIX1 INP1" value="RX2" />
+ <ctl name="RDAC2 MUX" value="RX2" />
+ <ctl name="HPHL" value="Switch" />
+ <ctl name="HPHR" value="Switch" />
+ </path>
+
+ <path name="headset-mic">
+ <path name="adc2" />
+ <ctl name="ADC2 MUX" value="INP2" />
+ <ctl name="IIR1 INP1 MUX" value="DEC1" />
+ </path>
+
+ <path name="sidetone-iir">
+ <ctl name="IIR1 Enable Band1" value="1" />
+ <ctl name="IIR1 Enable Band2" value="1" />
+ <ctl name="IIR1 Enable Band3" value="1" />
+ <ctl name="IIR1 Enable Band4" value="1" />
+ <ctl name="IIR1 Enable Band5" value="1" />
+ </path>
+
+ <path name="sidetone-handset">
+ <path name="sidetone-iir" />
+ <ctl name="IIR1 INP1 Volume" value="53" />
+ <ctl name="RX1 MIX2 INP1" value="IIR1" />
+ </path>
+
+ <path name="sidetone-headphone">
+ <path name="sidetone-iir" />
+ <ctl name="RX1 MIX2 INP1" value="IIR1" />
+ <ctl name="RX2 MIX2 INP1" value="IIR1" />
+ <ctl name="IIR1 INP1 Volume" value="53" />
+ </path>
+
+ <path name="voice-handset">
+ <path name="handset" />
+ </path>
+
+ <path name="voice-speaker">
+ <path name="speaker" />
+ </path>
+
+ <path name="wsa-voice-speaker">
+ <path name="wsa-speaker" />
+ </path>
+
+ <path name="voice-speaker-mic">
+ <path name="speaker-mic" />
+ </path>
+
+ <path name="voice-headphones">
+ <path name="headphones" />
+ </path>
+
+ <path name="voice-headset-mic">
+ <path name="headset-mic" />
+ </path>
+
+ <path name="speaker-and-headphones">
+ <path name="speaker" />
+ <path name="headphones" />
+ </path>
+
+ <path name="usb-headphones">
+ </path>
+
+ <path name="afe-proxy">
+ </path>
+
+ <path name="transmission-fm">
+ </path>
+
+ <path name="speaker-and-usb-headphones">
+ <path name="speaker" />
+ <path name="usb-headphones" />
+ </path>
+
+ <path name="voice-rec-mic">
+ <path name="handset-mic" />
+ </path>
+
+ <path name="camcorder-mic">
+ <path name="handset-mic" />
+ </path>
+
+ <path name="bt-sco-headset">
+ </path>
+
+ <path name="bt-sco-mic">
+ </path>
+
+ <path name="usb-headset-mic">
+ </path>
+
+ <path name="capture-fm">
+ </path>
+
+ <!-- Dual MIC devices -->
+ <path name="speaker-dmic-endfire">
+ <path name="adc1" />
+ <ctl name="ADC3 Volume" value="6" />
+ <ctl name="DEC2 MUX" value="ADC2" />
+ <ctl name="MI2S_TX Channels" value="Two" />
+ <ctl name="ADC2 MUX" value="INP3" />
+ </path>
+
+ <path name="dmic-endfire">
+ <path name="speaker-dmic-endfire" />
+ </path>
+
+ <path name="voice-dmic-ef-tmus">
+ <path name="dmic-endfire" />
+ </path>
+
+ <path name="voice-dmic-ef">
+ <path name="dmic-endfire" />
+ </path>
+
+ <path name="voice-speaker-dmic-ef">
+ <path name="dmic-endfire" />
+ </path>
+
+ <path name="voice-rec-dmic-ef">
+ <path name="dmic-endfire" />
+ </path>
+
+ <path name="voice-rec-dmic-ef-fluence">
+ <path name="dmic-endfire" />
+ </path>
+
+ <path name="handset-stereo-dmic-ef">
+ <path name="speaker-dmic-endfire" />
+ </path>
+
+ <path name="speaker-stereo-dmic-ef">
+ <path name="speaker-dmic-endfire" />
+ </path>
+
+ <path name="echo-reference">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="I2S_RX" />
+ </path>
+
+ <!-- TTY devices -->
+
+ <path name="tty-headphones">
+ <ctl name="RX1 MIX1 INP1" value="RX1" />
+ <ctl name="HPHL" value="Switch" />
+ </path>
+
+ <path name="voice-tty-full-headphones">
+ <ctl name="TTY Mode" value="FULL" />
+ <path name="tty-headphones" />
+ </path>
+
+ <path name="voice-tty-vco-headphones">
+ <ctl name="TTY Mode" value="VCO" />
+ <path name="tty-headphones" />
+ </path>
+
+ <path name="voice-tty-hco-handset">
+ <ctl name="TTY Mode" value="HCO" />
+ <path name="handset" />
+ </path>
+
+ <path name="voice-tty-full-headset-mic">
+ <path name="adc2" />
+ <ctl name="ADC2 MUX" value="INP2" />
+ </path>
+
+ <path name="voice-tty-hco-headset-mic">
+ <path name="voice-tty-full-headset-mic" />
+ </path>
+
+ <path name="voice-tty-vco-handset-mic">
+ <path name="adc1" />
+ </path>
+
+ <path name="listen-handset-mic">
+ <path name="adc1" />
+ </path>
+
+ <path name="ADSP testfwk">
+ <ctl name="MI2S_DL_HL Switch" value="1" />
+ </path>
+
+ <path name="voice-rx">
+ </path>
+
+ <path name="voice-tx">
+ </path>
+
+ <path name="line">
+ <path name="headphones" />
+ </path>
+
+ <path name="voice-line">
+ <path name="voice-headphones" />
+ </path>
+
+ <path name="speaker-and-line">
+ <path name="speaker-and-headphones" />
+ </path>
+
+</mixer>
diff --git a/audio/sound_trigger_mixer_paths.xml b/audio/sound_trigger_mixer_paths.xml
new file mode 100644
index 0000000..bbec875
--- /dev/null
+++ b/audio/sound_trigger_mixer_paths.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--- Copyright (c) 2014, The Linux Foundation. All rights reserved. -->
+<!--- -->
+<!--- Redistribution and use in source and binary forms, with or without -->
+<!--- modification, are permitted provided that the following conditions are -->
+<!--- met: -->
+<!--- * Redistributions of source code must retain the above copyright -->
+<!--- notice, this list of conditions and the following disclaimer. -->
+<!--- * Redistributions in binary form must reproduce the above -->
+<!--- copyright notice, this list of conditions and the following -->
+<!--- disclaimer in the documentation and/or other materials provided -->
+<!--- with the distribution. -->
+<!--- * Neither the name of The Linux Foundation nor the names of its -->
+<!--- contributors may be used to endorse or promote products derived -->
+<!--- from this software without specific prior written permission. -->
+<!--- -->
+<!--- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
+<!--- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
+<!--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
+<!--- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
+<!--- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
+<!--- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
+<!--- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
+<!--- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
+<!--- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -->
+<!--- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
+<!--- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
+
+<mixer>
+ <!-- These are the initial mixer settings -->
+ <ctl name="LSM1 MUX" value="None" />
+ <ctl name="LSM2 MUX" value="None" />
+ <ctl name="LSM3 MUX" value="None" />
+ <ctl name="LSM4 MUX" value="None" />
+ <ctl name="LSM5 MUX" value="None" />
+ <ctl name="LSM6 MUX" value="None" />
+ <ctl name="LSM7 MUX" value="None" />
+ <ctl name="LSM8 MUX" value="None" />
+ <ctl name="TERT_MI2S_TX LSM Function" value="None" />
+
+ <path name="listen-voice-wakeup-1">
+ <ctl name="TERT_MI2S_TX LSM Function" value="SWAUDIO" />
+ <ctl name="LSM1 MUX" value="TERT_MI2S_TX" />
+ </path>
+
+ <path name="listen-voice-wakeup-2">
+ <ctl name="TERT_MI2S_TX LSM Function" value="SWAUDIO" />
+ <ctl name="LSM2 MUX" value="TERT_MI2S_TX" />
+ </path>
+ <path name="listen-voice-wakeup-3">
+ <ctl name="TERT_MI2S_TX LSM Function" value="SWAUDIO" />
+ <ctl name="LSM3 MUX" value="TERT_MI2S_TX" />
+ </path>
+ <path name="listen-voice-wakeup-4">
+ <ctl name="TERT_MI2S_TX LSM Function" value="SWAUDIO" />
+ <ctl name="LSM4 MUX" value="TERT_MI2S_TX" />
+ </path>
+ <path name="listen-voice-wakeup-5">
+ <ctl name="TERT_MI2S_TX LSM Function" value="SWAUDIO" />
+ <ctl name="LSM5 MUX" value="TERT_MI2S_TX" />
+ </path>
+ <path name="listen-voice-wakeup-6">
+ <ctl name="TERT_MI2S_TX LSM Function" value="SWAUDIO" />
+ <ctl name="LSM6 MUX" value="TERT_MI2S_TX" />
+ </path>
+ <path name="listen-voice-wakeup-7">
+ <ctl name="TERT_MI2S_TX LSM Function" value="SWAUDIO" />
+ <ctl name="LSM7 MUX" value="TERT_MI2S_TX" />
+ </path>
+ <path name="listen-voice-wakeup-8">
+ <ctl name="TERT_MI2S_TX LSM Function" value="SWAUDIO" />
+ <ctl name="LSM8 MUX" value="TERT_MI2S_TX" />
+ </path>
+
+ <path name="listen-ape-handset-mic">
+ <!-- this is to avoid codec mute when device is not enabled first -->
+ <ctl name="LOOPBACK Mode" value="ENABLE" />
+ <!-- actual device ebable sequence -->
+ <ctl name="DEC1 MUX" value="ADC2" />
+ <ctl name="ADC2 MUX" value="INP3" />
+ </path>
+
+</mixer>
diff --git a/audio/sound_trigger_platform_info.xml b/audio/sound_trigger_platform_info.xml
new file mode 100644
index 0000000..5c28f8e
--- /dev/null
+++ b/audio/sound_trigger_platform_info.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--- Copyright (c) 2013-2014, The Linux Foundation. All rights reserved. -->
+<!--- -->
+<!--- Redistribution and use in source and binary forms, with or without -->
+<!--- modification, are permitted provided that the following conditions are -->
+<!--- met: -->
+<!--- * Redistributions of source code must retain the above copyright -->
+<!--- notice, this list of conditions and the following disclaimer. -->
+<!--- * Redistributions in binary form must reproduce the above -->
+<!--- copyright notice, this list of conditions and the following -->
+<!--- disclaimer in the documentation and/or other materials provided -->
+<!--- with the distribution. -->
+<!--- * Neither the name of The Linux Foundation nor the names of its -->
+<!--- contributors may be used to endorse or promote products derived -->
+<!--- from this software without specific prior written permission. -->
+<!--- -->
+<!--- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
+<!--- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
+<!--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
+<!--- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
+<!--- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
+<!--- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
+<!--- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
+<!--- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
+<!--- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -->
+<!--- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
+<!--- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
+<sound_trigger_platform_info>
+ <device name="DEVICE_HANDSET_APE_ACDB_ID" value="130" />
+ <device name="DEVICE_HEADSET_APE_ACDB_ID" value="138" />
+ <device name="DEVICE_HANDSET_CPE_ACDB_ID" value="128" />
+ <device name="DEVICE_HEADSET_CPE_ACDB_ID" value="139" />
+ <ctrl name="execution_type" value="APE" /> <!-- value: "CPE" "APE" -->
+ <ctrl name="max_cpe_sessions" value="1" />
+ <ctrl name="max_ape_sessions" value="5" />
+ <ctrl name="enable_failure_detection" value="false" />
+ <ctrl name="rx_concurrency_disabled" value="true" />
+ <ctrl name="rx_conc_max_st_ses" value="1" />
+ <ctrl name="support_device_switch" value="false" />
+
+ <!-- vendor_uuid for a soundmodel. More than one vendor_uuid tags can be -->
+ <!-- listed in sequence, the below vendor uuid is reserved for Qualcomm -->
+ <!-- module. ISV must use their own unique vendor uuid. app_type, -->
+ <!-- module_id, param_id must match to the calibration database -->
+ <!-- If ISV vendor_uuid is present, execution_type will be forced to APE -->
+ <vendor_uuid value="68ab2d40-e860-11e3-95ef-0002a5d5c51b" app_type="2" library="libsmwrapper.so">
+ <!-- format: "ADPCM_packet" or "PCM_packet" !-->
+ <!-- transfer_mode: "FTRT" or "RT" -->
+ <!-- kw_duration is in milli seconds. It is valid only for FTRT transfer mode -->
+ <capture_keyword format="PCM_packet" transfer_mode="RT" kw_duration="2000" />
+ <param_type name="load_sound_model" module_id="0x00012C0D" param_id="0x00012C14"/>
+ <param_type name="unload_sound_model" module_id="0x00012C0D" param_id="0x00012C15"/>
+ <param_type name="confidence_levels" module_id="0x00012C0D" param_id="0x00012C07"/>
+ <param_type name="operation_mode" module_id="0x00012C0D" param_id="0x00012C02"/>
+ <ctrl name="max_cpe_phrases" value="6" />
+ <ctrl name="max_cpe_users" value="3" />
+ <ctrl name="max_ape_phrases" value="10" />
+ <ctrl name="max_ape_users" value="10" />
+ <ctrl name="client_capture_read_delay" value="2000" /> <!-- in milli seconds -->
+ </vendor_uuid>
+</sound_trigger_platform_info>
+
diff --git a/configs/com.qualcomm.location.xml b/configs/com.qualcomm.location.xml
new file mode 100644
index 0000000..a0c5504
--- /dev/null
+++ b/configs/com.qualcomm.location.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!---******************************************************************************
+* @file com.qualcomm.location.xml
+* @brief configuration file for permission mapping
+* Copyright (c) 2012 Qualcomm Atheros, Inc.
+* All Rights Reserved.
+* Qualcomm Atheros Confidential and Proprietary.
+* *****************************************************************************-->
+
+<permissions>
+
+<permission name="com.qualcomm.permission.IZAT" >
+ <group gid="gps" />
+ <group gid="net_raw" />
+ <group gid="net_admin" />
+ <group gid="system" />
+ <group gid="diag" />
+ <group gid="sdcard_rw" />
+ <group gid="media_rw" />
+ <group gid="wifi" />
+</permission>
+
+</permissions>
diff --git a/configs/data/dsi_config.xml b/configs/data/dsi_config.xml
new file mode 100644
index 0000000..7d871cc
--- /dev/null
+++ b/configs/data/dsi_config.xml
@@ -0,0 +1,642 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<list name="dsi_config">
+
+ <!-- Configuration for legacy MSM targets -->
+ <listitem name="msm">
+
+ <data name="qos_enabled" type="int"> 0 </data>
+ <data name="rmnet_data_enabled" type="int"> 0 </data>
+ <data name="phys_net_dev" type="string"> rmnet0 </data>
+
+ <data name="single_qmux_channel_enabled" type="int"> 0 </data>
+ <data name="single_qmux_channel_name" type="string"> rmnet0 </data>
+
+ <data name="num_dsi_handles" type="int"> 8 </data>
+ <list name="device_names">
+ <data type="string"> rmnet0 </data>
+ <data type="string"> rmnet1 </data>
+ <data type="string"> rmnet2 </data>
+ <data type="string"> rmnet3 </data>
+ <data type="string"> rmnet4 </data>
+ <data type="string"> rmnet5 </data>
+ <data type="string"> rmnet6 </data>
+ <data type="string"> rmnet7 </data>
+ </list>
+
+ <list name="control_port_names">
+ <data type="string"> rmnet0 </data>
+ <data type="string"> rmnet1 </data>
+ <data type="string"> rmnet2 </data>
+ <data type="string"> rmnet3 </data>
+ <data type="string"> rmnet4 </data>
+ <data type="string"> rmnet5 </data>
+ <data type="string"> rmnet6 </data>
+ <data type="string"> rmnet7 </data>
+ </list>
+ </listitem>
+
+ <!-- Configuration for fusion4 -->
+ <listitem name="mdm">
+
+ <data name="qos_enabled" type="int"> 0 </data>
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="phys_net_dev" type="string"> rmnet_usb0 </data>
+
+ <data name="single_qmux_channel_enabled" type="int"> 0 </data>
+ <data name="single_qmux_channel_name" type="string"> rmnet_usb0 </data>
+
+ <data name="num_dsi_handles" type="int"> 8 </data>
+ <list name="device_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <list name="control_port_names">
+ <data type="string"> rmnet_usb0 </data>
+ <data type="string"> rmnet_usb1 </data>
+ <data type="string"> rmnet_usb2 </data>
+ <data type="string"> rmnet_usb3 </data>
+ <data type="string"> rmnet_usb4 </data>
+ <data type="string"> rmnet_usb5 </data>
+ <data type="string"> rmnet_usb6 </data>
+ <data type="string"> rmnet_usb7 </data>
+ </list>
+ </listitem>
+
+ <!-- Configuration for fusion4.5 PCIe -->
+ <listitem name="fusion4_5_pcie">
+
+ <data name="qos_enabled" type="int"> 0 </data>
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="phys_net_dev" type="string"> rmnet_mhi0 </data>
+
+ <data name="single_qmux_channel_enabled" type="int"> 1 </data>
+ <data name="single_qmux_channel_name" type="string"> rmnet_mhi0 </data>
+
+ <data name="num_dsi_handles" type="int"> 8 </data>
+ <list name="device_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <list name="control_port_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+ </listitem>
+
+ <!-- Configuration for MSM8994 -->
+ <listitem name="msm8994">
+
+ <data name="qos_enabled" type="int"> 1 </data>
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="phys_net_dev" type="string"> rmnet_ipa0 </data>
+
+ <data name="single_qmux_channel_enabled" type="int"> 1 </data>
+ <data name="single_qmux_channel_name" type="string"> rmnet0 </data>
+
+ <data name="num_dsi_handles" type="int"> 8 </data>
+ <list name="device_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <list name="control_port_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+ </listitem>
+
+ <!-- Configuration for dpm_2_0 targets -->
+ <listitem name="dpm_2_0">
+ <data name="qos_enabled" type="int"> 1 </data>
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="phys_net_dev" type="string"> rmnet0 </data>
+
+ <data name="single_qmux_channel_enabled" type="int"> 1 </data>
+ <data name="single_qmux_channel_name" type="string"> rmnet0 </data>
+
+ <data name="num_dsi_handles" type="int"> 8 </data>
+ <list name="device_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <list name="control_port_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+ </listitem>
+
+ <!-- Configuration for Jolokia -->
+ <listitem name="jolokia">
+ <data name="qos_enabled" type="int"> 1 </data>
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="phys_net_dev" type="string"> rmnet0 </data>
+
+ <data name="single_qmux_channel_enabled" type="int"> 1 </data>
+ <data name="single_qmux_channel_name" type="string"> rmnet0 </data>
+
+ <data name="num_dsi_handles" type="int"> 8 </data>
+ <list name="device_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <list name="control_port_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+ </listitem>
+
+ <!-- Configuration for MSM8992 -->
+ <listitem name="msm8992">
+
+ <data name="qos_enabled" type="int"> 1 </data>
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="phys_net_dev" type="string"> rmnet_ipa0 </data>
+
+ <data name="single_qmux_channel_enabled" type="int"> 1 </data>
+ <data name="single_qmux_channel_name" type="string"> rmnet0 </data>
+
+ <data name="num_dsi_handles" type="int"> 8 </data>
+ <list name="device_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <list name="control_port_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+ </listitem>
+
+ <!-- Configuration for 9X40/9X45 LE (Tesla) -->
+ <listitem name="tesla">
+ <data name="qos_enabled" type="int"> 0 </data>
+ <data name="qos_enabled" type="int"> 1 </data>
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="phys_net_dev" type="string"> rmnet_ipa0 </data>
+
+ <data name="single_qmux_channel_enabled" type="int"> 1 </data>
+ <data name="single_qmux_channel_name" type="string"> rmnet0 </data>
+
+ <data name="num_dsi_handles" type="int"> 8 </data>
+ <list name="device_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <list name="control_port_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+ </listitem>
+
+ <!-- Configuration for MSM8952/MSM8956 -->
+ <listitem name="tabasco">
+
+ <data name="qos_enabled" type="int"> 1 </data>
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="phys_net_dev" type="string"> rmnet_ipa0 </data>
+
+ <data name="single_qmux_channel_enabled" type="int"> 1 </data>
+ <data name="single_qmux_channel_name" type="string"> rmnet0 </data>
+
+ <data name="num_dsi_handles" type="int"> 8 </data>
+ <list name="device_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <list name="control_port_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+ </listitem>
+ <!-- Configuration for MSM8976 -->
+ <listitem name="Eldarion">
+
+ <data name="qos_enabled" type="int"> 1 </data>
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="phys_net_dev" type="string"> rmnet_ipa0 </data>
+
+ <data name="single_qmux_channel_enabled" type="int"> 1 </data>
+ <data name="single_qmux_channel_name" type="string"> rmnet0 </data>
+
+ <data name="num_dsi_handles" type="int"> 8 </data>
+ <list name="device_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <list name="control_port_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ </listitem>
+
+ <!-- Configuration for MSM8953 -->
+ <listitem name="jacala">
+
+ <data name="qos_enabled" type="int"> 1 </data>
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="phys_net_dev" type="string"> rmnet_ipa0 </data>
+
+ <data name="single_qmux_channel_enabled" type="int"> 1 </data>
+ <data name="single_qmux_channel_name" type="string"> rmnet0 </data>
+
+ <data name="num_dsi_handles" type="int"> 8 </data>
+ <list name="device_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <list name="control_port_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+ </listitem>
+
+ <!-- Configuration for MSM8940 -->
+ <listitem name="feero6">
+
+ <data name="qos_enabled" type="int"> 1 </data>
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="phys_net_dev" type="string"> rmnet_ipa0 </data>
+
+ <data name="single_qmux_channel_enabled" type="int"> 1 </data>
+ <data name="single_qmux_channel_name" type="string"> rmnet0 </data>
+
+ <data name="num_dsi_handles" type="int"> 8 </data>
+ <list name="device_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <list name="control_port_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+ </listitem>
+
+ <!-- Configuration for MSM8996 -->
+ <listitem name="msm8996">
+
+ <data name="qos_enabled" type="int"> 1 </data>
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="phys_net_dev" type="string"> rmnet_ipa0 </data>
+
+ <data name="single_qmux_channel_enabled" type="int"> 1 </data>
+ <data name="single_qmux_channel_name" type="string"> rmnet0 </data>
+
+ <data name="num_dsi_handles" type="int"> 8 </data>
+ <list name="device_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <list name="control_port_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+ </listitem>
+
+ <!-- Configuration for Fusion 8084 + 9x45 PCIe -->
+ <listitem name="fusion_8084_9x45_pcie">
+ <data name="qos_enabled" type="int"> 0 </data>
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="phys_net_dev" type="string"> rmnet_mhi0 </data>
+
+ <data name="single_qmux_channel_enabled" type="int"> 1 </data>
+ <data name="single_qmux_channel_name" type="string"> rmnet_mhi0 </data>
+
+ <data name="num_dsi_handles" type="int"> 8 </data>
+ <list name="device_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <list name="control_port_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+ </listitem>
+
+ <!-- Configuration for 9X50/9X55 LE (Atlas) -->
+ <listitem name="atlas">
+ <data name="qos_enabled" type="int"> 0 </data>
+ <data name="qos_enabled" type="int"> 1 </data>
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="phys_net_dev" type="string"> rmnet_ipa0 </data>
+
+ <data name="single_qmux_channel_enabled" type="int"> 1 </data>
+ <data name="single_qmux_channel_name" type="string"> rmnet0 </data>
+
+ <data name="num_dsi_handles" type="int"> 8 </data>
+ <list name="device_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <list name="control_port_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+ </listitem>
+
+ <!-- Configuration for Fusion 8096 + 9x55 PCIe -->
+ <listitem name="fusion_8096_9x55_pcie">
+ <data name="qos_enabled" type="int"> 0 </data>
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="phys_net_dev" type="string"> rmnet_mhi0 </data>
+
+ <data name="single_qmux_channel_enabled" type="int"> 1 </data>
+ <data name="single_qmux_channel_name" type="string"> rmnet_mhi0 </data>
+
+ <data name="num_dsi_handles" type="int"> 8 </data>
+ <list name="device_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <list name="control_port_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+ </listitem>
+ <!-- Configuration for lykan -->
+ <listitem name="lykan">
+ <data name="qos_enabled" type="int"> 0 </data>
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="phys_net_dev" type="string"> rmnet0 </data>
+
+ <data name="single_qmux_channel_enabled" type="int"> 1 </data>
+ <data name="single_qmux_channel_name" type="string"> rmnet0 </data>
+
+ <data name="num_dsi_handles" type="int"> 8 </data>
+ <list name="device_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <list name="control_port_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+ </listitem>
+ <!-- Configuration for feero -->
+ <listitem name="feero">
+ <data name="qos_enabled" type="int"> 1 </data>
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="phys_net_dev" type="string"> rmnet0 </data>
+
+ <data name="single_qmux_channel_enabled" type="int"> 1 </data>
+ <data name="single_qmux_channel_name" type="string"> rmnet0 </data>
+
+ <data name="num_dsi_handles" type="int"> 8 </data>
+ <list name="device_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <list name="control_port_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+ </listitem>
+
+ <!-- Configuration for Cobalt -->
+ <listitem name="cobalt">
+
+ <data name="qos_enabled" type="int"> 1 </data>
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="phys_net_dev" type="string"> rmnet_ipa0 </data>
+
+ <data name="single_qmux_channel_enabled" type="int"> 1 </data>
+ <data name="single_qmux_channel_name" type="string"> rmnet0 </data>
+
+ <data name="num_dsi_handles" type="int"> 8 </data>
+ <list name="device_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <list name="control_port_names">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+ </listitem>
+</list>
+
diff --git a/configs/data/netmgr_config.xml b/configs/data/netmgr_config.xml
new file mode 100644
index 0000000..d1c1233
--- /dev/null
+++ b/configs/data/netmgr_config.xml
@@ -0,0 +1,1550 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- QMI configuration -->
+<list name="netmgr_config">
+ <!-- Logging overrides for ds_exec() family of commands -->
+ <!-- Remove the 'disabled_' from the properties to enable them -->
+ <listitem name = "cmd_logging_config">
+ <data name="disabled_log_options" type="int"> 255 </data>
+ <data name="disabled_cmd_debug" type="int"> 1 </data>
+ <data name="disabled_outfile" type="string"> /data/netmgr_cmd_log.txt </data>
+ </listitem>
+
+ <!-- Legacy MSM targets -->
+ <listitem name = "msm">
+
+ <data name="qmi_dpm_enabled" type="int"> 0 </data>
+ <data name="wda_data_format_enabled" type="int"> 0 </data>
+
+ <data name="single_qmux_ch_enabled" type="int"> 0 </data>
+ <data name="single_qmux_ch_conn_id_str" type="string"> rmnet0 </data>
+ <data name="single_qmux_ch_name" type="string"> SMDCTL0 </data>
+
+ <data name="rmnet_data_enabled" type="int"> 0 </data>
+ <data name="dataformat_agg_dl_pkt" type="int"> 0 </data>
+ <data name="dataformat_agg_dl_size" type="int"> 0 </data>
+ <data name="dataformat_dl_data_aggregation_protocol" type="int"> 0 </data>
+ <data name="dataformat_ul_data_aggregation_protocol" type="int"> 0 </data>
+ <data name="dataformat_dl_gro_enabled" type="int"> 0 </data>
+ <data name="dataformat_ul_gso_enabled" type="int"> 0 </data>
+ <data name="phys_net_dev" type="string"> rmnet0 </data>
+ <data name="tc_ul_baserate" type="int"> 0 </data>
+ <data name="pnd_rps_mask" type="int"> 0 </data>
+ <data name="netdev_budget" type="int"> 0 </data>
+
+ <data name="low_latency_filters" type="int"> 0 </data>
+
+ <data name="num_modems" type="int"> 2 </data>
+ <list name="modems_enabled">
+ <data type="int"> 1 </data> <!-- MODEM_MSM -->
+ <data type="int"> 0 </data> <!-- MODEM_MDM -->
+ </list>
+
+ <data name="control_ports_len" type="int"> 8 </data>
+ <list name="control_ports">
+ <data type="string"> rmnet0 </data>
+ <data type="string"> rmnet1 </data>
+ <data type="string"> rmnet2 </data>
+ <data type="string"> rmnet3 </data>
+ <data type="string"> rmnet4 </data>
+ <data type="string"> rmnet5 </data>
+ <data type="string"> rmnet6 </data>
+ <data type="string"> rmnet7 </data>
+ </list>
+
+ <data name="data_ports_len" type="int"> 8 </data>
+ <list name="data_ports">
+ <data type="string"> rmnet0 </data>
+ <data type="string"> rmnet1 </data>
+ <data type="string"> rmnet2 </data>
+ <data type="string"> rmnet3 </data>
+ <data type="string"> rmnet4 </data>
+ <data type="string"> rmnet5 </data>
+ <data type="string"> rmnet6 </data>
+ <data type="string"> rmnet7 </data>
+ </list>
+
+ <data name="iwlan_enable" type="int"> 1 </data>
+ <data name="rev_control_ports_len" type="int"> 9 </data>
+ <list name="rev_control_ports">
+ <data type="string"> rev_rmnet0 </data>
+ <data type="string"> rev_rmnet1 </data>
+ <data type="string"> rev_rmnet2 </data>
+ <data type="string"> rev_rmnet3 </data>
+ <data type="string"> rev_rmnet4 </data>
+ <data type="string"> rev_rmnet5 </data>
+ <data type="string"> rev_rmnet6 </data>
+ <data type="string"> rev_rmnet7 </data>
+ <data type="string"> rev_rmnet8 </data>
+ </list>
+
+ <data name="rev_data_ports_len" type="int"> 9 </data>
+ <list name="rev_data_ports">
+ <data type="string"> rev_rmnet0 </data>
+ <data type="string"> rev_rmnet1 </data>
+ <data type="string"> rev_rmnet2 </data>
+ <data type="string"> rev_rmnet3 </data>
+ <data type="string"> rev_rmnet4 </data>
+ <data type="string"> rev_rmnet5 </data>
+ <data type="string"> rev_rmnet6 </data>
+ <data type="string"> rev_rmnet7 </data>
+ <data type="string"> rev_rmnet8 </data>
+ </list>
+ </listitem>
+
+ <!-- Fusion4 parameters -->
+ <listitem name = "mdm">
+
+ <data name="qmi_dpm_enabled" type="int"> 0 </data>
+ <data name="wda_data_format_enabled" type="int"> 1 </data>
+
+ <data name="single_qmux_ch_enabled" type="int"> 0 </data>
+ <data name="single_qmux_ch_conn_id_str" type="string"> rmnet_usb0 </data>
+ <data name="single_qmux_ch_name" type="string"> HSICTL0 </data>
+
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="dataformat_agg_dl_pkt" type="int"> 10 </data>
+ <data name="dataformat_agg_dl_size" type="int"> 4096 </data>
+ <data name="dataformat_agg_ul_pkt" type="int"> 0 </data>
+ <data name="dataformat_agg_ul_size" type="int"> 0 </data>
+ <data name="dataformat_dl_data_aggregation_protocol" type="int"> 5 </data>
+ <data name="dataformat_ul_data_aggregation_protocol" type="int"> 5 </data>
+ <data name="dataformat_dl_gro_enabled" type="int"> 0 </data>
+ <data name="dataformat_ul_gso_enabled" type="int"> 0 </data>
+ <data name="phys_net_dev" type="string"> rmnet_usb0 </data>
+ <data name="tc_ul_baserate" type="int"> 0 </data>
+ <data name="pnd_rps_mask" type="int"> 0 </data>
+ <data name="netdev_budget" type="int"> 0 </data>
+
+ <data name="low_latency_filters" type="int"> 1 </data>
+
+ <data name="num_modems" type="int"> 2 </data>
+ <list name="modems_enabled">
+ <data type="int"> 1 </data> <!-- MODEM_MSM -->
+ <data type="int"> 0 </data> <!-- MODEM_MDM -->
+ </list>
+
+ <data name="control_ports_len" type="int"> 8 </data>
+ <list name="control_ports">
+ <data type="string"> rmnet_usb0 </data>
+ <data type="string"> rmnet_usb1 </data>
+ <data type="string"> rmnet_usb2 </data>
+ <data type="string"> rmnet_usb3 </data>
+ <data type="string"> rmnet_usb4 </data>
+ <data type="string"> rmnet_usb5 </data>
+ <data type="string"> rmnet_usb6 </data>
+ <data type="string"> rmnet_usb7 </data>
+ </list>
+
+ <data name="data_ports_len" type="int"> 8 </data>
+ <list name="data_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <data name="iwlan_enable" type="int"> 1 </data>
+ <data name="rev_control_ports_len" type="int"> 9 </data>
+ <list name="rev_control_ports">
+ <data type="string"> rev_rmnet_usb0 </data>
+ <data type="string"> rev_rmnet_usb1 </data>
+ <data type="string"> rev_rmnet_usb2 </data>
+ <data type="string"> rev_rmnet_usb3 </data>
+ <data type="string"> rev_rmnet_usb4 </data>
+ <data type="string"> rev_rmnet_usb5 </data>
+ <data type="string"> rev_rmnet_usb6 </data>
+ <data type="string"> rev_rmnet_usb7 </data>
+ <data type="string"> rev_rmnet_usb8 </data>
+ </list>
+
+ <data name="rev_data_ports_len" type="int"> 9 </data>
+ <list name="rev_data_ports">
+ <data type="string"> r_rmnet_data0 </data>
+ <data type="string"> r_rmnet_data1 </data>
+ <data type="string"> r_rmnet_data2 </data>
+ <data type="string"> r_rmnet_data3 </data>
+ <data type="string"> r_rmnet_data4 </data>
+ <data type="string"> r_rmnet_data5 </data>
+ <data type="string"> r_rmnet_data6 </data>
+ <data type="string"> r_rmnet_data7 </data>
+ <data type="string"> r_rmnet_data8 </data>
+ </list>
+ </listitem>
+
+ <!-- Fusion4.5 (PCIe) parameters -->
+ <listitem name = "fusion4_5_pcie">
+
+ <data name="qmi_dpm_enabled" type="int"> 0 </data>
+ <data name="wda_data_format_enabled" type="int"> 1 </data>
+ <data name="ep_type" type="int"> 3 </data> <!-- PCIE -->
+
+ <data name="single_qmux_ch_enabled" type="int"> 1 </data>
+ <data name="single_qmux_ch_conn_id_str" type="string"> rmnet_mhi0 </data>
+ <data name="single_qmux_ch_name" type="string"> MHICTL0 </data>
+
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="dataformat_agg_dl_pkt" type="int"> 1 </data>
+ <data name="dataformat_agg_dl_size" type="int"> 2048 </data>
+ <data name="dataformat_agg_ul_pkt" type="int"> 0 </data>
+ <data name="dataformat_agg_ul_size" type="int"> 0 </data>
+ <data name="dataformat_dl_data_aggregation_protocol" type="int"> 5 </data>
+ <data name="dataformat_ul_data_aggregation_protocol" type="int"> 5 </data>
+ <data name="dataformat_dl_gro_enabled" type="int"> 0 </data>
+ <data name="dataformat_ul_gso_enabled" type="int"> 0 </data>
+ <data name="phys_net_dev" type="string"> rmnet_mhi0 </data>
+ <data name="pnd_rps_mask" type="int"> 1 </data>
+ <data name="qos_via_idl" type="int"> 0 </data>
+ <data name="netdev_budget" type="int"> 9 </data>
+ <data name="tc_ul_baserate" type="int"> 0 </data>
+ <data name="low_latency_filters" type="int"> 1 </data>
+
+ <data name="num_modems" type="int"> 2 </data>
+ <list name="modems_enabled">
+ <data type="int"> 1 </data> <!-- MODEM_MSM -->
+ <data type="int"> 0 </data> <!-- MODEM_MDM -->
+ </list>
+
+ <data name="control_ports_len" type="int"> 8 </data>
+ <list name="control_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <data name="data_ports_len" type="int"> 8 </data>
+ <list name="data_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <data name="iwlan_enable" type="int"> 1 </data>
+ <data name="rev_control_ports_len" type="int"> 9 </data>
+ <list name="rev_control_ports">
+ <data type="string"> r_rmnet_data0 </data>
+ <data type="string"> r_rmnet_data1 </data>
+ <data type="string"> r_rmnet_data2 </data>
+ <data type="string"> r_rmnet_data3 </data>
+ <data type="string"> r_rmnet_data4 </data>
+ <data type="string"> r_rmnet_data5 </data>
+ <data type="string"> r_rmnet_data6 </data>
+ <data type="string"> r_rmnet_data7 </data>
+ <data type="string"> r_rmnet_data8 </data>
+ </list>
+
+ <data name="rev_data_ports_len" type="int"> 9 </data>
+ <list name="rev_data_ports">
+ <data type="string"> r_rmnet_data0 </data>
+ <data type="string"> r_rmnet_data1 </data>
+ <data type="string"> r_rmnet_data2 </data>
+ <data type="string"> r_rmnet_data3 </data>
+ <data type="string"> r_rmnet_data4 </data>
+ <data type="string"> r_rmnet_data5 </data>
+ <data type="string"> r_rmnet_data6 </data>
+ <data type="string"> r_rmnet_data7 </data>
+ <data type="string"> r_rmnet_data8 </data>
+ </list>
+ </listitem>
+
+ <!-- MSM8994 parameters -->
+ <listitem name = "msm8994">
+
+ <data name="qmi_dpm_enabled" type="int"> 1 </data>
+ <data name="dpm_retry_timeout" type="int"> 10000 </data>
+ <data name="wda_data_format_enabled" type="int"> 1 </data>
+
+ <data name="single_qmux_ch_enabled" type="int"> 1 </data>
+ <data name="single_qmux_ch_conn_id_str" type="string"> rmnet0 </data>
+ <data name="single_qmux_ch_name" type="string"> DATA5_CNTL </data>
+
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="dataformat_agg_dl_pkt" type="int"> 1 </data>
+ <data name="dataformat_agg_dl_size" type="int"> 2048 </data>
+ <data name="dataformat_agg_ul_pkt" type="int"> 0 </data>
+ <data name="dataformat_agg_ul_size" type="int"> 0 </data>
+ <data name="dataformat_dl_data_aggregation_protocol" type="int"> 7 </data>
+ <data name="dataformat_ul_data_aggregation_protocol" type="int"> 5 </data>
+ <data name="dataformat_dl_gro_enabled" type="int"> 0 </data>
+ <data name="dataformat_ul_gso_enabled" type="int"> 0 </data>
+ <data name="phys_net_dev" type="string"> rmnet_ipa0 </data>
+ <data name="pnd_rps_mask" type="int"> 0 </data>
+ <data name="qos_via_idl" type="int"> 0 </data>
+ <data name="netdev_budget" type="int"> 0 </data>
+ <data name="low_latency_filters" type="int"> 0 </data>
+ <data name="netdev_max_backlog" type="int"> 10000 </data>
+ <data name="tc_ul_baserate" type="int"> 55000000 </data>
+ <data name="num_modems" type="int"> 2 </data>
+ <list name="modems_enabled">
+ <data type="int"> 1 </data> <!-- MODEM_MSM -->
+ <data type="int"> 0 </data> <!-- MODEM_MDM -->
+ </list>
+
+ <data name="control_ports_len" type="int"> 8 </data>
+ <list name="control_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <data name="data_ports_len" type="int"> 8 </data>
+ <list name="data_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <!-- iWLAN ports -->
+ <data name="iwlan_enable" type="int"> 1 </data>
+ <data name="rev_control_ports_len" type="int"> 9 </data>
+ <list name="rev_control_ports">
+ <data type="string"> r_rmnet_data0 </data>
+ <data type="string"> r_rmnet_data1 </data>
+ <data type="string"> r_rmnet_data2 </data>
+ <data type="string"> r_rmnet_data3 </data>
+ <data type="string"> r_rmnet_data4 </data>
+ <data type="string"> r_rmnet_data5 </data>
+ <data type="string"> r_rmnet_data6 </data>
+ <data type="string"> r_rmnet_data7 </data>
+ <data type="string"> r_rmnet_data8 </data>
+ </list>
+
+ <data name="rev_data_ports_len" type="int"> 9 </data>
+ <list name="rev_data_ports">
+ <data type="string"> r_rmnet_data0 </data>
+ <data type="string"> r_rmnet_data1 </data>
+ <data type="string"> r_rmnet_data2 </data>
+ <data type="string"> r_rmnet_data3 </data>
+ <data type="string"> r_rmnet_data4 </data>
+ <data type="string"> r_rmnet_data5 </data>
+ <data type="string"> r_rmnet_data6 </data>
+ <data type="string"> r_rmnet_data7 </data>
+ <data type="string"> r_rmnet_data8 </data>
+ </list>
+ </listitem>
+
+ <!-- DPM 2.0 parameters -->
+ <listitem name = "dpm_2_0">
+
+ <data name="qmi_dpm_enabled" type="int"> 0 </data>
+ <data name="wda_data_format_enabled" type="int"> 1 </data>
+
+ <data name="single_qmux_ch_enabled" type="int"> 1 </data>
+ <data name="single_qmux_ch_conn_id_str" type="string"> rmnet0 </data>
+ <data name="single_qmux_ch_name" type="string"> DATA5_CNTL </data>
+ <data name="tc_ul_baserate" type="int"> 0 </data>
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="dataformat_agg_dl_pkt" type="int"> 1 </data>
+ <data name="dataformat_agg_dl_size" type="int"> 2048 </data>
+ <data name="dataformat_agg_ul_pkt" type="int"> 0 </data>
+ <data name="dataformat_agg_ul_size" type="int"> 0 </data>
+ <data name="dataformat_dl_data_aggregation_protocol" type="int"> 5 </data>
+ <data name="dataformat_ul_data_aggregation_protocol" type="int"> 5 </data>
+ <data name="dataformat_dl_gro_enabled" type="int"> 0 </data>
+ <data name="dataformat_ul_gso_enabled" type="int"> 0 </data>
+ <data name="phys_net_dev" type="string"> rmnet0 </data>
+ <data name="pnd_rps_mask" type="int"> 16 </data>
+ <data name="qos_via_idl" type="int"> 0 </data>
+ <data name="netdev_budget" type="int"> 0 </data>
+ <data name="low_latency_filters" type="int"> 0 </data>
+ <data name="num_modems" type="int"> 2 </data>
+ <list name="modems_enabled">
+ <data type="int"> 1 </data> <!-- MODEM_MSM -->
+ <data type="int"> 0 </data> <!-- MODEM_MDM -->
+ </list>
+
+ <data name="control_ports_len" type="int"> 8 </data>
+ <list name="control_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <data name="data_ports_len" type="int"> 8 </data>
+ <list name="data_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <data name="iwlan_enable" type="int"> 0 </data>
+ <data name="rev_control_ports_len" type="int"> 9 </data>
+ <list name="rev_control_ports">
+ <data type="string"> r_rmnet_data0 </data>
+ <data type="string"> r_rmnet_data1 </data>
+ <data type="string"> r_rmnet_data2 </data>
+ <data type="string"> r_rmnet_data3 </data>
+ <data type="string"> r_rmnet_data4 </data>
+ <data type="string"> r_rmnet_data5 </data>
+ <data type="string"> r_rmnet_data6 </data>
+ <data type="string"> r_rmnet_data7 </data>
+ <data type="string"> r_rmnet_data8 </data>
+ </list>
+
+ <data name="rev_data_ports_len" type="int"> 9 </data>
+ <list name="rev_data_ports">
+ <data type="string"> r_rmnet_data0 </data>
+ <data type="string"> r_rmnet_data1 </data>
+ <data type="string"> r_rmnet_data2 </data>
+ <data type="string"> r_rmnet_data3 </data>
+ <data type="string"> r_rmnet_data4 </data>
+ <data type="string"> r_rmnet_data5 </data>
+ <data type="string"> r_rmnet_data6 </data>
+ <data type="string"> r_rmnet_data7 </data>
+ <data type="string"> r_rmnet_data8 </data>
+ </list>
+ </listitem>
+
+ <!-- JOLOKIA parameters -->
+ <listitem name = "jolokia">
+
+ <data name="qmi_dpm_enabled" type="int"> 1 </data>
+ <data name="dpm_retry_timeout" type="int"> 10000 </data>
+ <data name="wda_data_format_enabled" type="int"> 1 </data>
+ <data name="ep_type" type="int"> 5 </data> <!-- DATA_EP_TYPE_BAM_DMUX_V01 -->
+
+ <data name="single_qmux_ch_enabled" type="int"> 1 </data>
+ <data name="single_qmux_ch_conn_id_str" type="string"> rmnet0 </data>
+ <data name="single_qmux_ch_name" type="string"> DATA5_CNTL </data>
+ <data name="tc_ul_baserate" type="int"> 65000000 </data>
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="dataformat_agg_dl_pkt" type="int"> 1 </data>
+ <data name="dataformat_agg_dl_size" type="int"> 2048 </data>
+ <data name="dataformat_agg_ul_pkt" type="int"> 0 </data>
+ <data name="dataformat_agg_ul_size" type="int"> 0 </data>
+ <data name="phys_net_dev" type="string"> rmnet0 </data>
+ <data name="dataformat_dl_data_aggregation_protocol" type="int"> 5 </data>
+ <data name="dataformat_ul_data_aggregation_protocol" type="int"> 5 </data>
+ <data name="dataformat_dl_gro_enabled" type="int"> 0 </data>
+ <data name="dataformat_ul_gso_enabled" type="int"> 0 </data>
+ <data name="pnd_rps_mask" type="int"> 2 </data>
+ <data name="netdev_budget" type="int"> 9 </data>
+ <data name="low_latency_filters" type="int"> 1 </data>
+ <data name="qos_via_idl" type="int"> 0 </data>
+ <data name="num_modems" type="int"> 2 </data>
+ <list name="modems_enabled">
+ <data type="int"> 1 </data> <!-- MODEM_MSM -->
+ <data type="int"> 0 </data> <!-- MODEM_MDM -->
+ </list>
+
+ <data name="control_ports_len" type="int"> 8 </data>
+ <list name="control_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <data name="data_ports_len" type="int"> 8 </data>
+ <list name="data_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <data name="iwlan_enable" type="int"> 0 </data>
+ <data name="rev_control_ports_len" type="int"> 9 </data>
+ <list name="rev_control_ports">
+ <data type="string"> r_rmnet_data0 </data>
+ <data type="string"> r_rmnet_data1 </data>
+ <data type="string"> r_rmnet_data2 </data>
+ <data type="string"> r_rmnet_data3 </data>
+ <data type="string"> r_rmnet_data4 </data>
+ <data type="string"> r_rmnet_data5 </data>
+ <data type="string"> r_rmnet_data6 </data>
+ <data type="string"> r_rmnet_data7 </data>
+ <data type="string"> r_rmnet_data8 </data>
+ </list>
+
+ <data name="rev_data_ports_len" type="int"> 9 </data>
+ <list name="rev_data_ports">
+ <data type="string"> r_rmnet_data0 </data>
+ <data type="string"> r_rmnet_data1 </data>
+ <data type="string"> r_rmnet_data2 </data>
+ <data type="string"> r_rmnet_data3 </data>
+ <data type="string"> r_rmnet_data4 </data>
+ <data type="string"> r_rmnet_data5 </data>
+ <data type="string"> r_rmnet_data6 </data>
+ <data type="string"> r_rmnet_data7 </data>
+ <data type="string"> r_rmnet_data8 </data>
+ </list>
+
+ </listitem>
+
+ <!-- lykan parameters -->
+ <listitem name = "lykan">
+
+ <data name="qmi_dpm_enabled" type="int"> 1 </data>
+ <data name="dpm_retry_timeout" type="int"> 10000 </data>
+ <data name="wda_data_format_enabled" type="int"> 1 </data>
+ <data name="ep_type" type="int"> 5 </data> <!-- DATA_EP_TYPE_BAM_DMUX_V01 -->
+
+ <data name="single_qmux_ch_enabled" type="int"> 1 </data>
+ <data name="single_qmux_ch_conn_id_str" type="string"> rmnet0 </data>
+ <data name="single_qmux_ch_name" type="string"> DATA5_CNTL </data>
+
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="dataformat_agg_dl_pkt" type="int"> 1 </data>
+ <data name="dataformat_agg_dl_size" type="int"> 2048 </data>
+ <data name="dataformat_agg_ul_pkt" type="int"> 0 </data>
+ <data name="dataformat_agg_ul_size" type="int"> 0 </data>
+ <data name="phys_net_dev" type="string"> rmnet0 </data>
+ <data name="dataformat_dl_data_aggregation_protocol" type="int"> 5 </data>
+ <data name="dataformat_ul_data_aggregation_protocol" type="int"> 5 </data>
+ <data name="dataformat_dl_gro_enabled" type="int"> 0 </data>
+ <data name="dataformat_ul_gso_enabled" type="int"> 0 </data>
+ <data name="pnd_rps_mask" type="int"> 0 </data>
+ <data name="netdev_budget" type="int"> 9 </data>
+ <data name="low_latency_filters" type="int"> 0 </data>
+ <data name="qos_via_idl" type="int"> 1 </data>
+ <data name="num_modems" type="int"> 2 </data>
+ <list name="modems_enabled">
+ <data type="int"> 1 </data> <!-- MODEM_MSM -->
+ <data type="int"> 0 </data> <!-- MODEM_MDM -->
+ </list>
+
+ <data name="control_ports_len" type="int"> 8 </data>
+ <list name="control_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <data name="data_ports_len" type="int"> 8 </data>
+ <list name="data_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+ </listitem>
+
+ <!-- FEERO parameters -->
+ <listitem name = "feero">
+
+ <data name="qmi_dpm_enabled" type="int"> 1 </data>
+ <data name="use_qmuxd" type="int"> 0 </data>
+ <data name="dpm_retry_timeout" type="int"> 10000 </data>
+ <data name="wda_data_format_enabled" type="int"> 1 </data>
+ <data name="ep_type" type="int"> 5 </data> <!-- DATA_EP_TYPE_BAM_DMUX_V01 -->
+
+ <data name="single_qmux_ch_enabled" type="int"> 1 </data>
+ <data name="single_qmux_ch_conn_id_str" type="string"> rmnet0 </data>
+ <data name="single_qmux_ch_name" type="string"> DATA5_CNTL </data>
+
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="dataformat_agg_dl_pkt" type="int"> 1 </data>
+ <data name="dataformat_agg_dl_size" type="int"> 2048 </data>
+ <data name="dataformat_agg_ul_pkt" type="int"> 0 </data>
+ <data name="dataformat_agg_ul_size" type="int"> 0 </data>
+ <data name="phys_net_dev" type="string"> rmnet0 </data>
+ <data name="dataformat_dl_data_aggregation_protocol" type="int"> 5 </data>
+ <data name="dataformat_ul_data_aggregation_protocol" type="int"> 5 </data>
+ <data name="dataformat_dl_gro_enabled" type="int"> 0 </data>
+ <data name="dataformat_ul_gso_enabled" type="int"> 0 </data>
+ <data name="pnd_rps_mask" type="int"> 16 </data>
+ <data name="netdev_budget" type="int"> 9 </data>
+ <data name="low_latency_filters" type="int"> 0 </data>
+ <data name="qos_via_idl" type="int"> 1 </data>
+ <data name="num_modems" type="int"> 2 </data>
+ <list name="modems_enabled">
+ <data type="int"> 1 </data> <!-- MODEM_MSM -->
+ <data type="int"> 0 </data> <!-- MODEM_MDM -->
+ </list>
+
+ <data name="control_ports_len" type="int"> 8 </data>
+ <list name="control_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <data name="data_ports_len" type="int"> 8 </data>
+ <list name="data_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <data name="iwlan_enable" type="int"> 0 </data>
+ <data name="rev_control_ports_len" type="int"> 9 </data>
+ <list name="rev_control_ports">
+ <data type="string"> r_rmnet_data0 </data>
+ <data type="string"> r_rmnet_data1 </data>
+ <data type="string"> r_rmnet_data2 </data>
+ <data type="string"> r_rmnet_data3 </data>
+ <data type="string"> r_rmnet_data4 </data>
+ <data type="string"> r_rmnet_data5 </data>
+ <data type="string"> r_rmnet_data6 </data>
+ <data type="string"> r_rmnet_data7 </data>
+ <data type="string"> r_rmnet_data8 </data>
+ </list>
+
+ <data name="rev_data_ports_len" type="int"> 9 </data>
+ <list name="rev_data_ports">
+ <data type="string"> r_rmnet_data0 </data>
+ <data type="string"> r_rmnet_data1 </data>
+ <data type="string"> r_rmnet_data2 </data>
+ <data type="string"> r_rmnet_data3 </data>
+ <data type="string"> r_rmnet_data4 </data>
+ <data type="string"> r_rmnet_data5 </data>
+ <data type="string"> r_rmnet_data6 </data>
+ <data type="string"> r_rmnet_data7 </data>
+ <data type="string"> r_rmnet_data8 </data>
+ </list>
+</listitem>
+
+ <!-- feero6 parameters -->
+ <listitem name = "feero6">
+
+ <data name="qmi_dpm_enabled" type="int"> 1 </data>
+ <data name="use_qmuxd" type="int"> 0 </data>
+ <data name="dpm_retry_timeout" type="int"> 10000 </data>
+ <data name="wda_data_format_enabled" type="int"> 1 </data>
+
+ <data name="single_qmux_ch_enabled" type="int"> 1 </data>
+ <data name="single_qmux_ch_conn_id_str" type="string"> rmnet0 </data>
+ <data name="single_qmux_ch_name" type="string"> DATA5_CNTL </data>
+
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="dataformat_agg_dl_pkt" type="int"> 10 </data>
+ <data name="dataformat_agg_dl_size" type="int"> 8192 </data>
+ <data name="dataformat_agg_ul_pkt" type="int"> 0 </data>
+ <data name="dataformat_agg_ul_size" type="int"> 0 </data>
+ <data name="phys_net_dev" type="string"> rmnet_ipa0 </data>
+ <data name="dataformat_dl_data_aggregation_protocol" type="int"> 7 </data>
+ <data name="dataformat_ul_data_aggregation_protocol" type="int"> 7 </data>
+ <data name="dataformat_dl_gro_enabled" type="int"> 1 </data>
+ <data name="dataformat_ul_gso_enabled" type="int"> 1 </data>
+ <data name="pnd_rps_mask" type="int"> 16 </data>
+ <data name="vnd_rps_mask" type="int"> 32 </data>
+ <data name="netdev_budget" type="int"> 9 </data>
+ <data name="low_latency_filters" type="int"> 0 </data>
+ <data name="qos_via_idl" type="int"> 1 </data>
+ <data name="num_modems" type="int"> 2 </data>
+ <list name="modems_enabled">
+ <data type="int"> 1 </data> <!-- MODEM_MSM -->
+ <data type="int"> 0 </data> <!-- MODEM_MDM -->
+ </list>
+
+ <data name="control_ports_len" type="int"> 8 </data>
+ <list name="control_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <data name="data_ports_len" type="int"> 8 </data>
+ <list name="data_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <data name="iwlan_enable" type="int"> 1 </data>
+ <data name="rev_control_ports_len" type="int"> 9 </data>
+ <list name="rev_control_ports">
+ <data type="string"> r_rmnet_data0 </data>
+ <data type="string"> r_rmnet_data1 </data>
+ <data type="string"> r_rmnet_data2 </data>
+ <data type="string"> r_rmnet_data3 </data>
+ <data type="string"> r_rmnet_data4 </data>
+ <data type="string"> r_rmnet_data5 </data>
+ <data type="string"> r_rmnet_data6 </data>
+ <data type="string"> r_rmnet_data7 </data>
+ <data type="string"> r_rmnet_data8 </data>
+ </list>
+
+ <data name="rev_data_ports_len" type="int"> 9 </data>
+ <list name="rev_data_ports">
+ <data type="string"> r_rmnet_data0 </data>
+ <data type="string"> r_rmnet_data1 </data>
+ <data type="string"> r_rmnet_data2 </data>
+ <data type="string"> r_rmnet_data3 </data>
+ <data type="string"> r_rmnet_data4 </data>
+ <data type="string"> r_rmnet_data5 </data>
+ <data type="string"> r_rmnet_data6 </data>
+ <data type="string"> r_rmnet_data7 </data>
+ <data type="string"> r_rmnet_data8 </data>
+ </list>
+ </listitem>
+
+ <!-- MSM8992 parameters -->
+ <listitem name = "msm8992">
+
+ <data name="qmi_dpm_enabled" type="int"> 1 </data>
+ <data name="dpm_retry_timeout" type="int"> 10000 </data>
+ <data name="wda_data_format_enabled" type="int"> 1 </data>
+
+ <data name="single_qmux_ch_enabled" type="int"> 1 </data>
+ <data name="single_qmux_ch_conn_id_str" type="string"> rmnet0 </data>
+ <data name="single_qmux_ch_name" type="string"> DATA5_CNTL </data>
+
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="dataformat_agg_dl_pkt" type="int"> 1 </data>
+ <data name="dataformat_agg_dl_size" type="int"> 2048 </data>
+ <data name="dataformat_agg_ul_pkt" type="int"> 0 </data>
+ <data name="dataformat_agg_ul_size" type="int"> 0 </data>
+ <data name="dataformat_dl_data_aggregation_protocol" type="int"> 7 </data>
+ <data name="dataformat_ul_data_aggregation_protocol" type="int"> 5 </data>
+ <data name="dataformat_dl_gro_enabled" type="int"> 0 </data>
+ <data name="dataformat_ul_gso_enabled" type="int"> 0 </data>
+ <data name="phys_net_dev" type="string"> rmnet_ipa0 </data>
+ <data name="pnd_rps_mask" type="int"> 0 </data>
+ <data name="qos_via_idl" type="int"> 0 </data>
+ <data name="netdev_budget" type="int"> 0 </data>
+ <data name="low_latency_filters" type="int"> 0 </data>
+ <data name="tc_ul_baserate" type="int"> 55000000 </data>
+ <data name="num_modems" type="int"> 2 </data>
+ <list name="modems_enabled">
+ <data type="int"> 1 </data> <!-- MODEM_MSM -->
+ <data type="int"> 0 </data> <!-- MODEM_MDM -->
+ </list>
+
+ <data name="control_ports_len" type="int"> 8 </data>
+ <list name="control_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <data name="data_ports_len" type="int"> 8 </data>
+ <list name="data_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <!-- iWLAN ports -->
+ <data name="iwlan_enable" type="int"> 1 </data>
+ <data name="rev_control_ports_len" type="int"> 9 </data>
+ <list name="rev_control_ports">
+ <data type="string"> r_rmnet_data0 </data>
+ <data type="string"> r_rmnet_data1 </data>
+ <data type="string"> r_rmnet_data2 </data>
+ <data type="string"> r_rmnet_data3 </data>
+ <data type="string"> r_rmnet_data4 </data>
+ <data type="string"> r_rmnet_data5 </data>
+ <data type="string"> r_rmnet_data6 </data>
+ <data type="string"> r_rmnet_data7 </data>
+ <data type="string"> r_rmnet_data8 </data>
+ </list>
+
+ <data name="rev_data_ports_len" type="int"> 9 </data>
+ <list name="rev_data_ports">
+ <data type="string"> r_rmnet_data0 </data>
+ <data type="string"> r_rmnet_data1 </data>
+ <data type="string"> r_rmnet_data2 </data>
+ <data type="string"> r_rmnet_data3 </data>
+ <data type="string"> r_rmnet_data4 </data>
+ <data type="string"> r_rmnet_data5 </data>
+ <data type="string"> r_rmnet_data6 </data>
+ <data type="string"> r_rmnet_data7 </data>
+ <data type="string"> r_rmnet_data8 </data>
+ </list>
+ </listitem>
+
+<listitem name = "tesla">
+ <data name="qmi_dpm_enabled" type="int"> 1 </data>
+ <data name="wda_data_format_enabled" type="int"> 1 </data>
+
+ <data name="single_qmux_ch_enabled" type="int"> 1 </data>
+ <data name="single_qmux_ch_conn_id_str" type="string"> rmnet0 </data>
+ <data name="single_qmux_ch_name" type="string"> DATA5_CNTL </data>
+ <data name="tc_ul_baserate" type="int"> 0 </data>
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="dataformat_agg_dl_pkt" type="int"> 1 </data>
+ <data name="dataformat_agg_dl_size" type="int"> 2048 </data>
+ <data name="dataformat_agg_ul_pkt" type="int"> 0 </data>
+ <data name="dataformat_agg_ul_size" type="int"> 0 </data>
+ <data name="phys_net_dev" type="string"> rmnet_ipa0 </data>
+ <data name="dataformat_dl_data_aggregation_protocol" type="int"> 5 </data>
+ <data name="dataformat_ul_data_aggregation_protocol" type="int"> 5 </data>
+ <data name="dataformat_dl_gro_enabled" type="int"> 0 </data>
+ <data name="dataformat_ul_gso_enabled" type="int"> 0 </data>
+ <data name="qos_via_idl" type="int"> 0n </data>
+
+ <data name="low_latency_filters" type="int"> 0 </data>
+
+ <data name="frag_low_mem" type="int"> 300000 </data>
+ <data name="frag_high_mem" type="int"> 400000 </data>
+
+ <data name="num_modems" type="int"> 2 </data>
+ <list name="modems_enabled">
+ <data type="int"> 1 </data> <!-- MODEM_MSM -->
+ <data type="int"> 0 </data> <!-- MODEM_MDM -->
+ </list>
+
+ <data name="control_ports_len" type="int"> 8 </data>
+ <list name="control_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <data name="data_ports_len" type="int"> 8 </data>
+ <list name="data_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+ </listitem>
+
+ <!-- MSM8952/MSM8956 parameters -->
+ <listitem name = "tabasco">
+
+ <data name="qmi_dpm_enabled" type="int"> 1 </data>
+ <data name="dpm_retry_timeout" type="int"> 10000 </data>
+ <data name="wda_data_format_enabled" type="int"> 1 </data>
+
+ <data name="single_qmux_ch_enabled" type="int"> 1 </data>
+ <data name="single_qmux_ch_conn_id_str" type="string"> rmnet0 </data>
+ <data name="single_qmux_ch_name" type="string"> DATA5_CNTL </data>
+ <data name="tc_ul_baserate" type="int"> 0 </data>
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="dataformat_agg_dl_pkt" type="int"> 1 </data>
+ <data name="dataformat_agg_dl_size" type="int"> 2048 </data>
+ <data name="dataformat_agg_ul_pkt" type="int"> 0 </data>
+ <data name="dataformat_agg_ul_size" type="int"> 0 </data>
+ <data name="dataformat_dl_data_aggregation_protocol" type="int"> 7 </data>
+ <data name="dataformat_ul_data_aggregation_protocol" type="int"> 7 </data>
+ <data name="dataformat_dl_gro_enabled" type="int"> 0 </data>
+ <data name="dataformat_ul_gso_enabled" type="int"> 0 </data>
+ <data name="phys_net_dev" type="string"> rmnet_ipa0 </data>
+
+ <data name="pnd_rps_mask" type="int"> 16 </data>
+ <data name="netdev_budget" type="int"> 0 </data>
+ <data name="low_latency_filters" type="int"> 0 </data>
+ <data name="qos_via_idl" type="int"> 1 </data>
+ <data name="num_modems" type="int"> 2 </data>
+ <list name="modems_enabled">
+ <data type="int"> 1 </data> <!-- MODEM_MSM -->
+ <data type="int"> 0 </data> <!-- MODEM_MDM -->
+ </list>
+
+ <data name="control_ports_len" type="int"> 8 </data>
+ <list name="control_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <data name="data_ports_len" type="int"> 8 </data>
+ <list name="data_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <!-- iWLAN ports -->
+ <data name="iwlan_enable" type="int"> 1 </data>
+ <data name="rev_control_ports_len" type="int"> 9 </data>
+ <list name="rev_control_ports">
+ <data type="string"> r_rmnet_data0 </data>
+ <data type="string"> r_rmnet_data1 </data>
+ <data type="string"> r_rmnet_data2 </data>
+ <data type="string"> r_rmnet_data3 </data>
+ <data type="string"> r_rmnet_data4 </data>
+ <data type="string"> r_rmnet_data5 </data>
+ <data type="string"> r_rmnet_data6 </data>
+ <data type="string"> r_rmnet_data7 </data>
+ <data type="string"> r_rmnet_data8 </data>
+ </list>
+
+ <data name="rev_data_ports_len" type="int"> 9 </data>
+ <list name="rev_data_ports">
+ <data type="string"> r_rmnet_data0 </data>
+ <data type="string"> r_rmnet_data1 </data>
+ <data type="string"> r_rmnet_data2 </data>
+ <data type="string"> r_rmnet_data3 </data>
+ <data type="string"> r_rmnet_data4 </data>
+ <data type="string"> r_rmnet_data5 </data>
+ <data type="string"> r_rmnet_data6 </data>
+ <data type="string"> r_rmnet_data7 </data>
+ <data type="string"> r_rmnet_data8 </data>
+ </list>
+ </listitem>
+ <!-- MSM8976 parameters -->
+ <listitem name = "Eldarion">
+
+ <data name="qmi_dpm_enabled" type="int"> 1 </data>
+ <data name="dpm_retry_timeout" type="int"> 10000 </data>
+ <data name="wda_data_format_enabled" type="int"> 1 </data>
+
+ <data name="single_qmux_ch_enabled" type="int"> 1 </data>
+ <data name="single_qmux_ch_conn_id_str" type="string"> rmnet0 </data>
+ <data name="single_qmux_ch_name" type="string"> DATA5_CNTL </data>
+ <data name="tc_ul_baserate" type="int"> 0 </data>
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="dataformat_agg_dl_pkt" type="int"> 10 </data>
+ <data name="dataformat_agg_dl_size" type="int"> 8192 </data>
+ <data name="dataformat_dl_data_aggregation_protocol" type="int"> 7 </data>
+ <data name="dataformat_ul_data_aggregation_protocol" type="int"> 7 </data>
+ <data name="dataformat_dl_gro_enabled" type="int"> 1 </data>
+ <data name="dataformat_ul_gso_enabled" type="int"> 0 </data>
+ <data name="phys_net_dev" type="string"> rmnet_ipa0 </data>
+
+ <data name="pnd_rps_mask" type="int"> 01 </data>
+ <data name="netdev_budget" type="int"> 0 </data>
+ <data name="low_latency_filters" type="int"> 0 </data>
+
+ <data name="num_modems" type="int"> 2 </data>
+ <list name="modems_enabled">
+ <data type="int"> 1 </data> <!-- MODEM_MSM -->
+ <data type="int"> 0 </data> <!-- MODEM_MDM -->
+ </list>
+
+ <data name="control_ports_len" type="int"> 8 </data>
+ <list name="control_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <data name="data_ports_len" type="int"> 8 </data>
+ <list name="data_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <!-- iWLAN ports -->
+ <data name="iwlan_enable" type="int"> 1 </data>
+ <data name="rev_control_ports_len" type="int"> 9 </data>
+ <list name="rev_control_ports">
+ <data type="string"> r_rmnet_data0 </data>
+ <data type="string"> r_rmnet_data1 </data>
+ <data type="string"> r_rmnet_data2 </data>
+ <data type="string"> r_rmnet_data3 </data>
+ <data type="string"> r_rmnet_data4 </data>
+ <data type="string"> r_rmnet_data5 </data>
+ <data type="string"> r_rmnet_data6 </data>
+ <data type="string"> r_rmnet_data7 </data>
+ <data type="string"> r_rmnet_data8 </data>
+ </list>
+
+ <data name="rev_data_ports_len" type="int"> 9 </data>
+ <list name="rev_data_ports">
+ <data type="string"> r_rmnet_data0 </data>
+ <data type="string"> r_rmnet_data1 </data>
+ <data type="string"> r_rmnet_data2 </data>
+ <data type="string"> r_rmnet_data3 </data>
+ <data type="string"> r_rmnet_data4 </data>
+ <data type="string"> r_rmnet_data5 </data>
+ <data type="string"> r_rmnet_data6 </data>
+ <data type="string"> r_rmnet_data7 </data>
+ <data type="string"> r_rmnet_data8 </data>
+ </list>
+ </listitem>
+
+ <!-- MSM8953 parameters -->
+ <listitem name = "jacala">
+
+ <data name="qmi_dpm_enabled" type="int"> 1 </data>
+ <data name="use_qmuxd" type="int"> 0 </data>
+ <data name="dpm_retry_timeout" type="int"> 10000 </data>
+ <data name="wda_data_format_enabled" type="int"> 1 </data>
+
+ <data name="single_qmux_ch_enabled" type="int"> 1 </data>
+ <data name="single_qmux_ch_conn_id_str" type="string"> rmnet0 </data>
+ <data name="single_qmux_ch_name" type="string"> DATA5_CNTL </data>
+
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="dataformat_agg_dl_pkt" type="int"> 10 </data>
+ <data name="dataformat_agg_dl_size" type="int"> 8192 </data>
+ <data name="dataformat_agg_ul_pkt" type="int"> 0 </data>
+ <data name="dataformat_agg_ul_size" type="int"> 0 </data>
+ <data name="dataformat_dl_data_aggregation_protocol" type="int"> 7 </data>
+ <data name="dataformat_ul_data_aggregation_protocol" type="int"> 7 </data>
+ <data name="dataformat_dl_gro_enabled" type="int"> 1 </data>
+ <data name="dataformat_ul_gso_enabled" type="int"> 1 </data>
+ <data name="phys_net_dev" type="string"> rmnet_ipa0 </data>
+
+ <data name="pnd_rps_mask" type="int"> 16 </data>
+ <data name="vnd_rps_mask" type="int"> 0 </data>
+ <data name="netdev_budget" type="int"> 0 </data>
+ <data name="low_latency_filters" type="int"> 0 </data>
+ <data name="qos_via_idl" type="int"> 1 </data>
+
+ <data name="num_modems" type="int"> 2 </data>
+ <list name="modems_enabled">
+ <data type="int"> 1 </data> <!-- MODEM_MSM -->
+ <data type="int"> 0 </data> <!-- MODEM_MDM -->
+ </list>
+
+ <data name="control_ports_len" type="int"> 8 </data>
+ <list name="control_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <data name="data_ports_len" type="int"> 8 </data>
+ <list name="data_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <!-- iWLAN ports -->
+ <data name="iwlan_enable" type="int"> 1 </data>
+ <data name="rev_control_ports_len" type="int"> 9 </data>
+ <list name="rev_control_ports">
+ <data type="string"> r_rmnet_data0 </data>
+ <data type="string"> r_rmnet_data1 </data>
+ <data type="string"> r_rmnet_data2 </data>
+ <data type="string"> r_rmnet_data3 </data>
+ <data type="string"> r_rmnet_data4 </data>
+ <data type="string"> r_rmnet_data5 </data>
+ <data type="string"> r_rmnet_data6 </data>
+ <data type="string"> r_rmnet_data7 </data>
+ <data type="string"> r_rmnet_data8 </data>
+ </list>
+
+ <data name="rev_data_ports_len" type="int"> 9 </data>
+ <list name="rev_data_ports">
+ <data type="string"> r_rmnet_data0 </data>
+ <data type="string"> r_rmnet_data1 </data>
+ <data type="string"> r_rmnet_data2 </data>
+ <data type="string"> r_rmnet_data3 </data>
+ <data type="string"> r_rmnet_data4 </data>
+ <data type="string"> r_rmnet_data5 </data>
+ <data type="string"> r_rmnet_data6 </data>
+ <data type="string"> r_rmnet_data7 </data>
+ <data type="string"> r_rmnet_data8 </data>
+ </list>
+ </listitem>
+
+ <!-- MSM8996 parameters -->
+ <listitem name = "msm8996">
+
+ <data name="qmi_dpm_enabled" type="int"> 1 </data>
+ <data name="use_qmuxd" type="int"> 0 </data>
+ <data name="dpm_retry_timeout" type="int"> 10000 </data>
+ <data name="wda_data_format_enabled" type="int"> 1 </data>
+
+ <data name="single_qmux_ch_enabled" type="int"> 1 </data>
+ <data name="single_qmux_ch_conn_id_str" type="string"> rmnet0 </data>
+ <data name="single_qmux_ch_name" type="string"> DATA5_CNTL </data>
+ <data name="tc_ul_baserate" type="int"> 155000000 </data>
+ <data name="dynamic_tc_ul_baserate" type="int"> 1 </data>
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="dataformat_agg_dl_pkt" type="int"> 10 </data>
+ <data name="dataformat_agg_dl_size" type="int"> 8192 </data>
+ <data name="dataformat_agg_ul_pkt" type="int"> 0 </data>
+ <data name="dataformat_agg_ul_size" type="int"> 0 </data>
+ <data name="dataformat_dl_data_aggregation_protocol" type="int"> 8 </data>
+ <data name="dataformat_ul_data_aggregation_protocol" type="int"> 8 </data>
+ <data name="dataformat_dl_gro_enabled" type="int"> 1 </data>
+ <data name="dataformat_ul_gso_enabled" type="int"> 0 </data>
+ <data name="phys_net_dev" type="string"> rmnet_ipa0 </data>
+
+ <data name="pnd_rps_mask" type="int"> 2 </data>
+ <data name="vnd_rps_mask" type="int"> 15 </data>
+ <data name="netdev_budget" type="int"> 0 </data>
+ <data name="low_latency_filters" type="int"> 0 </data>
+ <data name="qos_via_idl" type="int"> 1 </data>
+
+ <data name="num_modems" type="int"> 2 </data>
+ <list name="modems_enabled">
+ <data type="int"> 1 </data> <!-- MODEM_MSM -->
+ <data type="int"> 0 </data> <!-- MODEM_MDM -->
+ </list>
+
+ <data name="control_ports_len" type="int"> 8 </data>
+ <list name="control_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <data name="data_ports_len" type="int"> 8 </data>
+ <list name="data_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <!-- iWLAN ports -->
+ <data name="iwlan_enable" type="int"> 1 </data>
+ <data name="rev_control_ports_len" type="int"> 9 </data>
+ <list name="rev_control_ports">
+ <data type="string"> r_rmnet_data0 </data>
+ <data type="string"> r_rmnet_data1 </data>
+ <data type="string"> r_rmnet_data2 </data>
+ <data type="string"> r_rmnet_data3 </data>
+ <data type="string"> r_rmnet_data4 </data>
+ <data type="string"> r_rmnet_data5 </data>
+ <data type="string"> r_rmnet_data6 </data>
+ <data type="string"> r_rmnet_data7 </data>
+ <data type="string"> r_rmnet_data8 </data>
+ </list>
+
+ <data name="rev_data_ports_len" type="int"> 9 </data>
+ <list name="rev_data_ports">
+ <data type="string"> r_rmnet_data0 </data>
+ <data type="string"> r_rmnet_data1 </data>
+ <data type="string"> r_rmnet_data2 </data>
+ <data type="string"> r_rmnet_data3 </data>
+ <data type="string"> r_rmnet_data4 </data>
+ <data type="string"> r_rmnet_data5 </data>
+ <data type="string"> r_rmnet_data6 </data>
+ <data type="string"> r_rmnet_data7 </data>
+ <data type="string"> r_rmnet_data8 </data>
+ </list>
+ </listitem>
+
+ <!-- Fusion 8084 + 9x45 (PCIe) parameters -->
+ <listitem name = "fusion_8084_9x45_pcie">
+
+ <data name="use_qmuxd" type="int"> 1 </data>
+ <data name="qmi_dpm_enabled" type="int"> 0 </data>
+ <data name="dpm_retry_timeout" type="int"> 10000 </data>
+ <data name="wda_data_format_enabled" type="int"> 1 </data>
+ <data name="ep_type" type="int"> 3 </data>
+
+ <data name="single_qmux_ch_enabled" type="int"> 1 </data>
+ <data name="single_qmux_ch_conn_id_str" type="string"> rmnet_mhi0 </data>
+ <data name="single_qmux_ch_name" type="string"> MHICTL0 </data>
+
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="dataformat_agg_dl_pkt" type="int"> 32 </data>
+ <data name="dataformat_agg_dl_size" type="int"> 16384 </data>
+ <data name="dataformat_agg_ul_pkt" type="int"> 32 </data>
+ <data name="dataformat_agg_ul_size" type="int"> 16384 </data>
+ <data name="dataformat_dl_data_aggregation_protocol" type="int"> 5 </data>
+ <data name="dataformat_ul_data_aggregation_protocol" type="int"> 5 </data>
+ <data name="dataformat_dl_gro_enabled" type="int"> 0 </data>
+ <data name="dataformat_ul_gso_enabled" type="int"> 0 </data>
+ <data name="phys_net_dev" type="string"> rmnet_mhi0 </data>
+ <data name="tc_ul_baserate" type="int"> 0 </data>
+ <data name="pnd_rps_mask" type="int"> 1 </data>
+ <data name="vnd_rps_mask" type="int"> 0 </data>
+ <data name="netdev_budget" type="int"> 9 </data>
+ <data name="low_latency_filters" type="int"> 0 </data>
+
+ <data name="num_modems" type="int"> 2 </data>
+ <list name="modems_enabled">
+ <data type="int"> 1 </data> <!-- MODEM_MSM -->
+ <data type="int"> 0 </data> <!-- MODEM_MDM -->
+ </list>
+
+ <data name="control_ports_len" type="int"> 8 </data>
+ <list name="control_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <data name="data_ports_len" type="int"> 8 </data>
+ <list name="data_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <data name="iwlan_enable" type="int"> 1 </data>
+ <data name="rev_control_ports_len" type="int"> 9 </data>
+ <list name="rev_control_ports">
+ <data type="string"> r_rmnet_data0 </data>
+ <data type="string"> r_rmnet_data1 </data>
+ <data type="string"> r_rmnet_data2 </data>
+ <data type="string"> r_rmnet_data3 </data>
+ <data type="string"> r_rmnet_data4 </data>
+ <data type="string"> r_rmnet_data5 </data>
+ <data type="string"> r_rmnet_data6 </data>
+ <data type="string"> r_rmnet_data7 </data>
+ <data type="string"> r_rmnet_data8 </data>
+ </list>
+
+ <data name="rev_data_ports_len" type="int"> 9 </data>
+ <list name="rev_data_ports">
+ <data type="string"> r_rmnet_data0 </data>
+ <data type="string"> r_rmnet_data1 </data>
+ <data type="string"> r_rmnet_data2 </data>
+ <data type="string"> r_rmnet_data3 </data>
+ <data type="string"> r_rmnet_data4 </data>
+ <data type="string"> r_rmnet_data5 </data>
+ <data type="string"> r_rmnet_data6 </data>
+ <data type="string"> r_rmnet_data7 </data>
+ <data type="string"> r_rmnet_data8 </data>
+ </list>
+ </listitem>
+
+<listitem name = "atlas">
+
+ <data name="qmi_dpm_enabled" type="int"> 1 </data>
+ <data name="use_qmuxd" type="int"> 0 </data>
+ <data name="dpm_retry_timeout" type="int"> 10000 </data>
+ <data name="wda_data_format_enabled" type="int"> 1 </data>
+
+ <data name="single_qmux_ch_enabled" type="int"> 1 </data>
+ <data name="single_qmux_ch_conn_id_str" type="string"> rmnet0 </data>
+ <data name="single_qmux_ch_name" type="string"> DATA5_CNTL </data>
+
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="dataformat_agg_dl_pkt" type="int"> 1 </data>
+ <data name="dataformat_agg_dl_size" type="int"> 2048 </data>
+ <data name="dataformat_agg_ul_pkt" type="int"> 0 </data>
+ <data name="dataformat_agg_ul_size" type="int"> 0 </data>
+ <data name="phys_net_dev" type="string"> rmnet_ipa0 </data>
+ <data name="dataformat_dl_data_aggregation_protocol" type="int"> 5 </data>
+ <data name="dataformat_ul_data_aggregation_protocol" type="int"> 5 </data>
+ <data name="dataformat_dl_gro_enabled" type="int"> 0 </data>
+ <data name="dataformat_ul_gso_enabled" type="int"> 0 </data>
+ <data name="qos_via_idl" type="int"> 0 </data>
+ <data name="tc_ul_baserate" type="int"> 0 </data>
+
+ <data name="low_latency_filters" type="int"> 0 </data>
+
+ <data name="frag_low_mem" type="int"> 300000 </data>
+ <data name="frag_high_mem" type="int"> 400000 </data>
+
+ <data name="num_modems" type="int"> 2 </data>
+ <list name="modems_enabled">
+ <data type="int"> 1 </data> <!-- MODEM_MSM -->
+ <data type="int"> 0 </data> <!-- MODEM_MDM -->
+ </list>
+
+ <data name="control_ports_len" type="int"> 8 </data>
+ <list name="control_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <data name="data_ports_len" type="int"> 8 </data>
+ <list name="data_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+ </listitem>
+
+ <!-- Fusion 8096 + 9x55 (PCIe) parameters -->
+ <listitem name = "fusion_8096_9x55_pcie">
+
+ <data name="use_qmuxd" type="int"> 1 </data>
+ <data name="qmi_dpm_enabled" type="int"> 0 </data>
+ <data name="dpm_retry_timeout" type="int"> 10000 </data>
+ <data name="wda_data_format_enabled" type="int"> 1 </data>
+ <data name="ep_type" type="int"> 3 </data>
+
+ <data name="single_qmux_ch_enabled" type="int"> 1 </data>
+ <data name="single_qmux_ch_conn_id_str" type="string"> rmnet_mhi0 </data>
+ <data name="single_qmux_ch_name" type="string"> MHICTL0 </data>
+
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="dataformat_agg_dl_pkt" type="int"> 32 </data>
+ <data name="dataformat_agg_dl_size" type="int"> 16384 </data>
+ <data name="dataformat_agg_ul_pkt" type="int"> 32 </data>
+ <data name="dataformat_agg_ul_size" type="int"> 16384 </data>
+ <data name="dataformat_dl_data_aggregation_protocol" type="int"> 5 </data>
+ <data name="dataformat_ul_data_aggregation_protocol" type="int"> 5 </data>
+ <data name="dataformat_dl_gro_enabled" type="int"> 0 </data>
+ <data name="dataformat_ul_gso_enabled" type="int"> 0 </data>
+ <data name="phys_net_dev" type="string"> rmnet_mhi0 </data>
+ <data name="tc_ul_baserate" type="int"> 0 </data>
+ <data name="pnd_rps_mask" type="int"> 0 </data>
+ <data name="vnd_rps_mask" type="int"> 0 </data>
+ <data name="netdev_budget" type="int"> 0 </data>
+ <data name="low_latency_filters" type="int"> 0 </data>
+
+ <data name="num_modems" type="int"> 2 </data>
+ <list name="modems_enabled">
+ <data type="int"> 1 </data> <!-- MODEM_MSM -->
+ <data type="int"> 0 </data> <!-- MODEM_MDM -->
+ </list>
+
+ <data name="control_ports_len" type="int"> 8 </data>
+ <list name="control_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <data name="data_ports_len" type="int"> 8 </data>
+ <list name="data_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <data name="iwlan_enable" type="int"> 1 </data>
+ <data name="rev_control_ports_len" type="int"> 9 </data>
+ <list name="rev_control_ports">
+ <data type="string"> r_rmnet_data0 </data>
+ <data type="string"> r_rmnet_data1 </data>
+ <data type="string"> r_rmnet_data2 </data>
+ <data type="string"> r_rmnet_data3 </data>
+ <data type="string"> r_rmnet_data4 </data>
+ <data type="string"> r_rmnet_data5 </data>
+ <data type="string"> r_rmnet_data6 </data>
+ <data type="string"> r_rmnet_data7 </data>
+ <data type="string"> r_rmnet_data8 </data>
+ </list>
+
+ <data name="rev_data_ports_len" type="int"> 9 </data>
+ <list name="rev_data_ports">
+ <data type="string"> r_rmnet_data0 </data>
+ <data type="string"> r_rmnet_data1 </data>
+ <data type="string"> r_rmnet_data2 </data>
+ <data type="string"> r_rmnet_data3 </data>
+ <data type="string"> r_rmnet_data4 </data>
+ <data type="string"> r_rmnet_data5 </data>
+ <data type="string"> r_rmnet_data6 </data>
+ <data type="string"> r_rmnet_data7 </data>
+ <data type="string"> r_rmnet_data8 </data>
+ </list>
+ </listitem>
+
+ <!-- Cobalt parameters -->
+ <listitem name = "cobalt">
+
+ <data name="qmi_dpm_enabled" type="int"> 1 </data>
+ <data name="use_qmuxd" type="int"> 0 </data>
+ <data name="dpm_retry_timeout" type="int"> 10000 </data>
+ <data name="wda_data_format_enabled" type="int"> 1 </data>
+
+ <data name="single_qmux_ch_enabled" type="int"> 1 </data>
+ <data name="single_qmux_ch_conn_id_str" type="string"> rmnet0 </data>
+ <data name="single_qmux_ch_name" type="string"> DATA5_CNTL </data>
+
+ <data name="rmnet_data_enabled" type="int"> 1 </data>
+ <data name="dataformat_agg_dl_pkt" type="int"> 10 </data>
+ <data name="dataformat_agg_dl_size" type="int"> 8192 </data>
+ <data name="dataformat_agg_ul_pkt" type="int"> 0 </data>
+ <data name="dataformat_agg_ul_size" type="int"> 0 </data>
+ <data name="dataformat_dl_data_aggregation_protocol" type="int"> 8 </data>
+ <data name="dataformat_ul_data_aggregation_protocol" type="int"> 8 </data>
+ <data name="dataformat_dl_gro_enabled" type="int"> 1 </data>
+ <data name="dataformat_ul_gso_enabled" type="int"> 1 </data>
+ <data name="phys_net_dev" type="string"> rmnet_ipa0 </data>
+
+ <data name="pnd_rps_mask" type="int"> 2 </data>
+ <data name="vnd_rps_mask" type="int"> 15 </data>
+ <data name="netdev_budget" type="int"> 0 </data>
+ <data name="low_latency_filters" type="int"> 0 </data>
+ <data name="qos_via_idl" type="int"> 1 </data>
+
+ <data name="num_modems" type="int"> 2 </data>
+ <list name="modems_enabled">
+ <data type="int"> 1 </data> <!-- MODEM_MSM -->
+ <data type="int"> 0 </data> <!-- MODEM_MDM -->
+ </list>
+
+ <data name="control_ports_len" type="int"> 8 </data>
+ <list name="control_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <data name="data_ports_len" type="int"> 8 </data>
+ <list name="data_ports">
+ <data type="string"> rmnet_data0 </data>
+ <data type="string"> rmnet_data1 </data>
+ <data type="string"> rmnet_data2 </data>
+ <data type="string"> rmnet_data3 </data>
+ <data type="string"> rmnet_data4 </data>
+ <data type="string"> rmnet_data5 </data>
+ <data type="string"> rmnet_data6 </data>
+ <data type="string"> rmnet_data7 </data>
+ </list>
+
+ <!-- iWLAN ports -->
+ <data name="iwlan_enable" type="int"> 1 </data>
+ <data name="rev_control_ports_len" type="int"> 9 </data>
+ <list name="rev_control_ports">
+ <data type="string"> r_rmnet_data0 </data>
+ <data type="string"> r_rmnet_data1 </data>
+ <data type="string"> r_rmnet_data2 </data>
+ <data type="string"> r_rmnet_data3 </data>
+ <data type="string"> r_rmnet_data4 </data>
+ <data type="string"> r_rmnet_data5 </data>
+ <data type="string"> r_rmnet_data6 </data>
+ <data type="string"> r_rmnet_data7 </data>
+ <data type="string"> r_rmnet_data8 </data>
+ </list>
+
+ <data name="rev_data_ports_len" type="int"> 9 </data>
+ <list name="rev_data_ports">
+ <data type="string"> r_rmnet_data0 </data>
+ <data type="string"> r_rmnet_data1 </data>
+ <data type="string"> r_rmnet_data2 </data>
+ <data type="string"> r_rmnet_data3 </data>
+ <data type="string"> r_rmnet_data4 </data>
+ <data type="string"> r_rmnet_data5 </data>
+ <data type="string"> r_rmnet_data6 </data>
+ <data type="string"> r_rmnet_data7 </data>
+ <data type="string"> r_rmnet_data8 </data>
+ </list>
+ </listitem>
+</list>
diff --git a/configs/data/qmi_config.xml b/configs/data/qmi_config.xml
new file mode 100644
index 0000000..8c6ec2b
--- /dev/null
+++ b/configs/data/qmi_config.xml
@@ -0,0 +1,614 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- QMI configuration -->
+<list name="qmi_config">
+
+ <!-- Fusion4.5 (PCIe) parameters -->
+ <listitem name = "fusion4_5_pcie">
+
+ <data name="single_qmux_ch" type="int"> 1 </data>
+ <data name="control_ports_len" type="int"> 2 </data>
+
+ <list name="conn_str">
+ <data type="string"> QMI_PORT_RMNET_MHI_0 </data>
+ <data type="string"> QMI_PORT_RMNET_MHI_1 </data>
+ </list>
+
+ <list name="conn_id">
+ <data type="string"> QMI_CONN_ID_RMNET_MHI_0 </data>
+ <data type="string"> QMI_CONN_ID_RMNET_MHI_1 </data>
+ </list>
+
+ <list name="dev_name">
+ <data type="string"> /dev/mhi_pipe_14 </data>
+ <data type="string"> /dev/mhi_pipe_16 </data>
+ </list>
+
+ <list name="dev_name_test">
+ <data type="string"> /tmp/data/mhi_pipe_14 </data>
+ <data type="string"> /tmp/data/mhi_pipe_16 </data>
+ </list>
+
+ <list name="ch_name">
+ <data type="string"> MHICTL0 </data>
+ <data type="string"> MHICTL1 </data>
+ </list>
+
+ <list name="transport">
+ <data type="string"> LINUX_QMI_TRANSPORT_MHI </data>
+ <data type="string"> LINUX_QMI_TRANSPORT_MHI </data>
+ </list>
+
+ <list name="enabled">
+ <data type="int"> 1 </data>
+ <data type="int"> 1 </data>
+ </list>
+
+ <list name="open_at_powerup">
+ <data type="int"> 1 </data>
+ <data type="int"> 0 </data>
+ </list>
+
+ </listitem>
+
+ <!-- Fusion 8084 + 9x45 parameters-->
+ <listitem name = "fusion_8084_9x45_pcie">
+ <data name="single_qmux_ch" type="int"> 1 </data>
+ <data name="control_ports_len" type="int"> 2 </data>
+
+ <list name="conn_str">
+ <data type="string"> QMI_PORT_RMNET_MHI_0 </data>
+ <data type="string"> QMI_PORT_RMNET_MHI_1 </data>
+ </list>
+
+ <list name="conn_id">
+ <data type="string"> QMI_CONN_ID_RMNET_MHI_0 </data>
+ <data type="string"> QMI_CONN_ID_RMNET_MHI_1 </data>
+ </list>
+
+ <list name="dev_name">
+ <data type="string"> /dev/mhi_pipe_14 </data>
+ <data type="string"> /dev/mhi_pipe_16 </data>
+ </list>
+
+ <list name="ch_name">
+ <data type="string"> MHICTL0 </data>
+ <data type="string"> MHICTL1 </data>
+ </list>
+
+ <list name="transport">
+ <data type="string"> LINUX_QMI_TRANSPORT_MHI </data>
+ <data type="string"> LINUX_QMI_TRANSPORT_MHI </data>
+ </list>
+
+ <list name="enabled">
+ <data type="int"> 1 </data>
+ <data type="int"> 1 </data>
+ </list>
+
+ <list name="open_at_powerup">
+ <data type="int"> 1 </data>
+ <data type="int"> 0 </data>
+ </list>
+ </listitem>
+
+ <!-- MSM8994 parameters -->
+ <listitem name = "msm8994">
+
+ <data name="single_qmux_ch" type="int"> 1 </data>
+ <data name="dpm_enabled" type="int"> 1 </data>
+ <data name="use_qmuxd" type="int"> 1 </data>
+ <data name="control_ports_len" type="int"> 1 </data>
+
+ <list name="conn_str">
+ <data type="string"> QMI_PORT_RMNET_IPA_0 </data>
+ </list>
+
+ <list name="conn_id">
+ <data type="string"> QMI_CONN_ID_RMNET_0 </data>
+ <data type="string"> QMI_CONN_ID_RMNET_8 </data>
+ </list>
+
+ <list name="dev_name">
+ <data type="string"> /dev/smdcntl0 </data>
+ <data type="string"> /dev/smdcntl8 </data>
+ </list>
+
+ <list name="dev_name_test">
+ <data type="string"> /tmp/data/smdcntl0 </data>
+ <data type="string"> /tmp/data/smdcntl8 </data>
+ </list>
+
+ <list name="ch_name">
+ <data type="string"> DATA5_CNTL </data>
+ <data type="string"> DATA14_CNTL </data>
+ </list>
+
+ <list name="transport">
+ <data type="string"> LINUX_QMI_TRANSPORT_SMD </data>
+ <data type="string"> LINUX_QMI_TRANSPORT_SMD </data>
+ </list>
+
+ <list name="enabled">
+ <data type="int"> 1 </data>
+ <data type="int"> 1 </data>
+ </list>
+
+ <list name="open_at_powerup">
+ <data type="int"> 1 </data>
+ </list>
+
+ </listitem>
+
+ <!-- MDM9X40/MDM9X45 (Tesla) parameters -->
+ <listitem name = "tesla">
+ <data name="single_qmux_ch" type="int"> 1 </data>
+ <data name="dpm_enabled" type="int"> 1 </data>
+ <data name="use_qmuxd" type="int"> 1 </data>
+ <data name="control_ports_len" type="int"> 2 </data>
+
+ <list name="conn_str">
+ <data type="string"> QMI_PORT_RMNET_0 </data>
+ <data type="string"> QMI_PORT_RMNET_8 </data>
+ </list>
+
+ <list name="conn_id">
+ <data type="string"> QMI_CONN_ID_RMNET_0 </data>
+ <data type="string"> QMI_CONN_ID_RMNET_8 </data>
+ </list>
+
+ <list name="dev_name">
+ <data type="string"> /dev/smdcntl0 </data>
+ <data type="string"> /dev/smdcntl8 </data>
+ </list>
+
+ <list name="ch_name">
+ <data type="string"> DATA5_CNTL </data>
+ <data type="string"> DATA40_CNTL </data>
+ </list>
+
+ <list name="transport">
+ <data type="string"> LINUX_QMI_TRANSPORT_BAM </data>
+ <data type="string"> LINUX_QMI_TRANSPORT_BAM </data>
+ </list>
+
+ <list name="enabled">
+ <data type="int"> 1 </data>
+ <data type="int"> 1 </data>
+ </list>
+
+ <list name="open_at_powerup">
+ <data type="int"> 1 </data>
+ <data type="int"> 0 </data>
+ </list>
+ </listitem>
+
+ <!-- MSM8992 parameters -->
+ <listitem name = "msm8992">
+
+ <data name="single_qmux_ch" type="int"> 1 </data>
+ <data name="dpm_enabled" type="int"> 1 </data>
+ <data name="use_qmuxd" type="int"> 1 </data>
+ <data name="control_ports_len" type="int"> 2 </data>
+
+ <list name="conn_str">
+ <data type="string"> QMI_PORT_RMNET_0 </data>
+ <data type="string"> QMI_PORT_RMNET_8 </data>
+ </list>
+
+ <list name="conn_id">
+ <data type="string"> QMI_CONN_ID_RMNET_0 </data>
+ <data type="string"> QMI_CONN_ID_RMNET_8 </data>
+ </list>
+
+ <list name="dev_name">
+ <data type="string"> /dev/smdcntl0 </data>
+ <data type="string"> /dev/smdcntl8 </data>
+ </list>
+
+ <list name="dev_name_test">
+ <data type="string"> /tmp/data/smdcntl0 </data>
+ <data type="string"> /tmp/data/smdcntl8 </data>
+ </list>
+
+ <list name="ch_name">
+ <data type="string"> DATA5_CNTL </data>
+ <data type="string"> DATA40_CNTL </data>
+ </list>
+
+ <list name="transport">
+ <data type="string"> LINUX_QMI_TRANSPORT_SMD </data>
+ <data type="string"> LINUX_QMI_TRANSPORT_SMD </data>
+ </list>
+
+ <list name="enabled">
+ <data type="int"> 1 </data>
+ <data type="int"> 1 </data>
+ </list>
+
+ <list name="open_at_powerup">
+ <data type="int"> 1 </data>
+ <data type="int"> 0 </data>
+ </list>
+
+ </listitem>
+
+ <!-- MSM8952/MSM8956 parameters -->
+ <listitem name = "tabasco">
+
+ <data name="single_qmux_ch" type="int"> 1 </data>
+ <data name="dpm_enabled" type="int"> 1 </data>
+ <data name="use_qmuxd" type="int"> 1 </data>
+ <data name="control_ports_len" type="int"> 2 </data>
+
+ <list name="conn_str">
+ <data type="string"> QMI_PORT_RMNET_0 </data>
+ <data type="string"> QMI_PORT_RMNET_8 </data>
+ </list>
+
+ <list name="conn_id">
+ <data type="string"> QMI_CONN_ID_RMNET_0 </data>
+ <data type="string"> QMI_CONN_ID_RMNET_8 </data>
+ </list>
+
+ <list name="dev_name">
+ <data type="string"> /dev/smdcntl0 </data>
+ <data type="string"> /dev/smdcntl8 </data>
+ </list>
+
+ <list name="dev_name_test">
+ <data type="string"> /tmp/data/smdcntl0 </data>
+ <data type="string"> /tmp/data/smdcntl8 </data>
+ </list>
+
+ <list name="ch_name">
+ <data type="string"> DATA5_CNTL </data>
+ <data type="string"> DATA40_CNTL </data>
+ </list>
+
+ <list name="transport">
+ <data type="string"> LINUX_QMI_TRANSPORT_SMD </data>
+ <data type="string"> LINUX_QMI_TRANSPORT_SMD </data>
+ </list>
+
+ <list name="enabled">
+ <data type="int"> 1 </data>
+ <data type="int"> 1 </data>
+ </list>
+
+ <list name="open_at_powerup">
+ <data type="int"> 1 </data>
+ <data type="int"> 0 </data>
+ </list>
+
+ </listitem>
+
+ <!-- MSM8996 parameters -->
+ <listitem name = "msm8996">
+
+ <data name="single_qmux_ch" type="int"> 1 </data>
+ <data name="control_ports_len" type="int"> 2 </data>
+ <data name="dpm_enabled" type="int"> 1 </data>
+ <data name="use_qmuxd" type="int"> 0 </data>
+
+ <list name="conn_str">
+ <data type="string"> QMI_PORT_RMNET_0 </data>
+ <data type="string"> QMI_PORT_RMNET_8 </data>
+ </list>
+
+ <list name="conn_id">
+ <data type="string"> QMI_CONN_ID_RMNET_0 </data>
+ <data type="string"> QMI_CONN_ID_RMNET_8 </data>
+ </list>
+
+ <list name="dev_name">
+ <data type="string"> /dev/smdcntl0 </data>
+ <data type="string"> /dev/smdcntl8 </data>
+ </list>
+
+ <list name="dev_name_test">
+ <data type="string"> /tmp/data/smdcntl0 </data>
+ <data type="string"> /tmp/data/smdcntl8 </data>
+ </list>
+
+ <list name="ch_name">
+ <data type="string"> DATA5_CNTL </data>
+ <data type="string"> DATA40_CNTL </data>
+ </list>
+
+ <list name="transport">
+ <data type="string"> LINUX_QMI_TRANSPORT_SMD </data>
+ <data type="string"> LINUX_QMI_TRANSPORT_SMD </data>
+ </list>
+
+ <list name="enabled">
+ <data type="int"> 1 </data>
+ <data type="int"> 1 </data>
+ </list>
+
+ <list name="open_at_powerup">
+ <data type="int"> 1 </data>
+ <data type="int"> 0 </data>
+ </list>
+
+ </listitem>
+
+
+ <!-- MSM8937 parameters -->
+ <listitem name = "feero">
+
+ <data name="single_qmux_ch" type="int"> 1 </data>
+ <data name="control_ports_len" type="int"> 2 </data>
+ <data name="dpm_enabled" type="int"> 1 </data>
+ <data name="use_qmuxd" type="int"> 0 </data>
+
+ <list name="conn_str">
+ <data type="string"> QMI_PORT_RMNET_0 </data>
+ <data type="string"> QMI_PORT_RMNET_8 </data>
+ </list>
+
+ <list name="conn_id">
+ <data type="string"> QMI_CONN_ID_RMNET_0 </data>
+ <data type="string"> QMI_CONN_ID_RMNET_8 </data>
+ </list>
+
+ <list name="dev_name">
+ <data type="string"> /dev/smdcntl0 </data>
+ <data type="string"> /dev/smdcntl8 </data>
+ </list>
+
+ <list name="dev_name_test">
+ <data type="string"> /tmp/data/smdcntl0 </data>
+ <data type="string"> /tmp/data/smdcntl8 </data>
+ </list>
+
+ <list name="ch_name">
+ <data type="string"> DATA5_CNTL </data>
+ <data type="string"> DATA40_CNTL </data>
+ </list>
+
+ <list name="transport">
+ <data type="string"> LINUX_QMI_TRANSPORT_SMD </data>
+ <data type="string"> LINUX_QMI_TRANSPORT_SMD </data>
+ </list>
+
+ <list name="enabled">
+ <data type="int"> 1 </data>
+ <data type="int"> 1 </data>
+ </list>
+
+ <list name="open_at_powerup">
+ <data type="int"> 1 </data>
+ <data type="int"> 0 </data>
+ </list>
+
+ </listitem>
+
+ <!-- MSM8976 parameters -->
+ <listitem name = "Eldarion">
+
+ <data name="single_qmux_ch" type="int"> 1 </data>
+ <data name="dpm_enabled" type="int"> 1 </data>
+ <data name="use_qmuxd" type="int"> 1 </data>
+ <data name="control_ports_len" type="int"> 2 </data>
+
+ <list name="conn_str">
+ <data type="string"> QMI_PORT_RMNET_0 </data>
+ <data type="string"> QMI_PORT_RMNET_8 </data>
+ </list>
+
+ <list name="conn_id">
+ <data type="string"> QMI_CONN_ID_RMNET_0 </data>
+ <data type="string"> QMI_CONN_ID_RMNET_8 </data>
+ </list>
+
+ <list name="dev_name">
+ <data type="string"> /dev/smdcntl0 </data>
+ <data type="string"> /dev/smdcntl8 </data>
+ </list>
+
+ <list name="dev_name_test">
+ <data type="string"> /tmp/data/smdcntl0 </data>
+ <data type="string"> /tmp/data/smdcntl8 </data>
+ </list>
+
+ <list name="ch_name">
+ <data type="string"> DATA5_CNTL </data>
+ <data type="string"> DATA40_CNTL </data>
+ </list>
+
+ <list name="transport">
+ <data type="string"> LINUX_QMI_TRANSPORT_SMD </data>
+ <data type="string"> LINUX_QMI_TRANSPORT_SMD </data>
+ </list>
+
+ <list name="enabled">
+ <data type="int"> 1 </data>
+ <data type="int"> 1 </data>
+ </list>
+
+ <list name="open_at_powerup">
+ <data type="int"> 1 </data>
+ <data type="int"> 0 </data>
+ </list>
+
+ </listitem>
+
+ <!-- MSM8953 parameters -->
+ <listitem name = "jacala">
+
+ <data name="single_qmux_ch" type="int"> 1 </data>
+ <data name="dpm_enabled" type="int"> 1 </data>
+ <data name="use_qmuxd" type="int"> 0 </data>
+ <data name="control_ports_len" type="int"> 2 </data>
+
+ <list name="conn_str">
+ <data type="string"> QMI_PORT_RMNET_0 </data>
+ <data type="string"> QMI_PORT_RMNET_8 </data>
+ </list>
+
+ <list name="conn_id">
+ <data type="string"> QMI_CONN_ID_RMNET_0 </data>
+ <data type="string"> QMI_CONN_ID_RMNET_8 </data>
+ </list>
+
+ <list name="dev_name">
+ <data type="string"> /dev/smdcntl0 </data>
+ <data type="string"> /dev/smdcntl8 </data>
+ </list>
+
+ <list name="dev_name_test">
+ <data type="string"> /tmp/data/smdcntl0 </data>
+ <data type="string"> /tmp/data/smdcntl8 </data>
+ </list>
+
+ <list name="ch_name">
+ <data type="string"> DATA5_CNTL </data>
+ <data type="string"> DATA40_CNTL </data>
+ </list>
+
+ <list name="transport">
+ <data type="string"> LINUX_QMI_TRANSPORT_SMD </data>
+ <data type="string"> LINUX_QMI_TRANSPORT_SMD </data>
+ </list>
+
+ <list name="enabled">
+ <data type="int"> 1 </data>
+ <data type="int"> 1 </data>
+ </list>
+
+ <list name="open_at_powerup">
+ <data type="int"> 1 </data>
+ <data type="int"> 0 </data>
+ </list>
+
+ </listitem>
+
+ <!-- MDM9X50/MDM9X55 (Atlas) parameters -->
+ <listitem name = "atlas">
+
+ <data name="single_qmux_ch" type="int"> 1 </data>
+ <data name="dpm_enabled" type="int"> 1 </data>
+ <data name="use_qmuxd" type="int"> 0 </data>
+ <data name="control_ports_len" type="int"> 2 </data>
+
+ <list name="conn_str">
+ <data type="string"> QMI_PORT_RMNET_0 </data>
+ <data type="string"> QMI_PORT_RMNET_8 </data>
+ </list>
+
+ <list name="conn_id">
+ <data type="string"> QMI_CONN_ID_RMNET_0 </data>
+ <data type="string"> QMI_CONN_ID_RMNET_8 </data>
+ </list>
+
+ <list name="dev_name">
+ <data type="string"> /dev/smdcntl0 </data>
+ <data type="string"> /dev/smdcntl8 </data>
+ </list>
+
+ <list name="ch_name">
+ <data type="string"> DATA5_CNTL </data>
+ <data type="string"> DATA40_CNTL </data>
+ </list>
+
+ <list name="transport">
+ <data type="string"> LINUX_QMI_TRANSPORT_BAM </data>
+ <data type="string"> LINUX_QMI_TRANSPORT_BAM </data>
+ </list>
+
+ <list name="enabled">
+ <data type="int"> 1 </data>
+ <data type="int"> 1 </data>
+ </list>
+
+ <list name="open_at_powerup">
+ <data type="int"> 1 </data>
+ <data type="int"> 0 </data>
+ </list>
+ </listitem>
+
+ <!-- Fusion 8096 + 9x55 parameters-->
+ <listitem name = "fusion_8096_9x55_pcie">
+ <data name="single_qmux_ch" type="int"> 1 </data>
+ <data name="control_ports_len" type="int"> 2 </data>
+
+ <list name="conn_str">
+ <data type="string"> QMI_PORT_RMNET_MHI_0 </data>
+ <data type="string"> QMI_PORT_RMNET_MHI_1 </data>
+ </list>
+
+ <list name="conn_id">
+ <data type="string"> QMI_CONN_ID_RMNET_MHI_0 </data>
+ <data type="string"> QMI_CONN_ID_RMNET_MHI_1 </data>
+ </list>
+
+ <list name="dev_name">
+ <data type="string"> /dev/mhi_pipe_14 </data>
+ <data type="string"> /dev/mhi_pipe_16 </data>
+ </list>
+
+ <list name="ch_name">
+ <data type="string"> MHICTL0 </data>
+ <data type="string"> MHICTL1 </data>
+ </list>
+
+ <list name="transport">
+ <data type="string"> LINUX_QMI_TRANSPORT_MHI </data>
+ <data type="string"> LINUX_QMI_TRANSPORT_MHI </data>
+ </list>
+
+ <list name="enabled">
+ <data type="int"> 1 </data>
+ <data type="int"> 1 </data>
+ </list>
+
+ <list name="open_at_powerup">
+ <data type="int"> 1 </data>
+ <data type="int"> 0 </data>
+ </list>
+ </listitem>
+
+ <!-- Cobalt parameters -->
+ <listitem name = "cobalt">
+
+ <data name="single_qmux_ch" type="int"> 1 </data>
+ <data name="control_ports_len" type="int"> 1 </data>
+ <data name="dpm_enabled" type="int"> 1 </data>
+ <data name="use_qmuxd" type="int"> 0 </data>
+
+ <list name="conn_str">
+ <data type="string"> QMI_PORT_RMNET_8 </data>
+ </list>
+
+ <list name="conn_id">
+ <data type="string"> QMI_CONN_ID_RMNET_8 </data>
+ </list>
+
+ <list name="dev_name">
+ <data type="string"> /dev/smdcntl8 </data>
+ </list>
+
+ <list name="dev_name_test">
+ <data type="string"> /tmp/data/smdcntl8 </data>
+ </list>
+
+ <list name="ch_name">
+ <data type="string"> DATA40_CNTL </data>
+ </list>
+
+ <list name="transport">
+ <data type="string"> LINUX_QMI_TRANSPORT_SMD </data>
+ </list>
+
+ <list name="enabled">
+ <data type="int"> 1 </data>
+ </list>
+
+ <list name="open_at_powerup">
+ <data type="int"> 0 </data>
+ </list>
+
+ </listitem>
+</list>
+
diff --git a/configs/media_codecs.xml b/configs/media_codecs.xml
new file mode 100644
index 0000000..a32f574
--- /dev/null
+++ b/configs/media_codecs.xml
@@ -0,0 +1,342 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!-- Copyright (C) 2013 The Android Open Source Project
+ Copyright (C) 2015 The Linux Foundation. All rights reserved.
+ Not a contribution.
+
+ 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.
+
+
+-->
+
+<!--
+ Decoder capabilities for 8952
+_________________________________________________________________
+ | Codec | W H fps Mbps MB/s | Encode Secure-dec |
+ |__________|_________________________________________|___________________|
+ | h264 | 1920 1088 60 50 489600 | Y Y |
+ | hevc | 1920 1088 60 50 489600 | N Y |
+ | mpeg4 | 1920 1088 60 40 489600 | Y N |
+ | vc1 | 1920 1088 30 45 244800 | N Y |
+ | vp8 | 1920 1088 30 50 244800 | Y N |
+ | divx3 | 1920 1088 30 20 244800 | N N |
+ | div4/5/6 | 1920 1088 30 50 244800 | N N |
+ | h263 | 864 480 30 2 48600 | Y N |
+ | mpeg2 | 1920 1088 30 80 244800 | N Y |
+ |__________|_________________________________________|___________________|
+
+-->
+
+<!--
+ Encoder capabilities for 8952
+ ____________________________________________________
+ | Codec | W H fps Mbps MB/s |
+ |__________|_________________________________________|
+ | h264 | 1920 1088 30 20 244800 |
+ | mpeg4 | 1920 1088 30 40 244800 |
+ | h263 | 864 480 30 2 48600 |
+ | vp8 | 1920 1088 30 20 244800 |
+ |____________________________________________________|
+-->
+
+<MediaCodecs>
+ <Include href="media_codecs_google_audio.xml" />
+ <Include href="media_codecs_google_telephony.xml" />
+ <Settings>
+ <Setting name="max-video-encoder-input-buffers" value="9" />
+ </Settings>
+ <Encoders>
+ <!-- Video Hardware -->
+ <MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Quirk name="requires-loaded-to-idle-after-allocation" />
+ <Limit name="size" min="96x64" max="1920x1088" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" min="1" max="244800" />
+ <Limit name="bitrate" range="1-20000000" />
+ <Limit name="concurrent-instances" max="8" />
+ </MediaCodec>
+ <MediaCodec name="OMX.qcom.video.encoder.mpeg4" type="video/mp4v-es" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Quirk name="requires-loaded-to-idle-after-allocation"/>
+ <Limit name="size" min="96x64" max="1920x1088" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" min="1" max="244800" />
+ <Limit name="bitrate" range="1-40000000" />
+ <Limit name="concurrent-instances" max="8" />
+ </MediaCodec>
+ <MediaCodec name="OMX.qcom.video.encoder.h263" type="video/3gpp" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Quirk name="requires-loaded-to-idle-after-allocation" />
+ <Limit name="size" min="96x64" max="864x480" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" min="1" max="48600" />
+ <Limit name="bitrate" range="1-2000000" />
+ <Limit name="concurrent-instances" max="8" />
+ </MediaCodec>
+ <MediaCodec name="OMX.qcom.video.encoder.vp8" type="video/x-vnd.on2.vp8" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Quirk name="requires-loaded-to-idle-after-allocation" />
+ <Limit name="size" min="96x64" max="1920x1088" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" min="1" max="244800" />
+ <Limit name="bitrate" range="1-20000000" />
+ <Limit name="concurrent-instances" max="8" />
+ </MediaCodec>
+ </Encoders>
+ <Decoders>
+ <!-- Audio Hardware -->
+ <!-- Audio Software -->
+ <MediaCodec name="OMX.qti.audio.decoder.flac" type="audio/flac" />
+ <!-- Video Hardware -->
+ <MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Limit name="size" min="64x64" max="1920x1088" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" min="1" max="489600" />
+ <Limit name="bitrate" range="1-50000000" />
+ <Feature name="adaptive-playback" />
+ <Limit name="concurrent-instances" max="8" />
+ </MediaCodec>
+ <MediaCodec name="OMX.qcom.video.decoder.avc.secure" type="video/avc" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Limit name="size" min="64x64" max="1920x1088" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" min="1" max="489600" />
+ <Limit name="bitrate" range="1-50000000" />
+ <Feature name="adaptive-playback" />
+ <Feature name="secure-playback" required="true" />
+ <Limit name="concurrent-instances" max="4" />
+ </MediaCodec>
+ <MediaCodec name="OMX.qcom.video.decoder.mpeg2" type="video/mpeg2" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Limit name="size" min="64x64" max="1920x1088" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" min="1" max="244800" />
+ <Limit name="bitrate" range="1-80000000" />
+ <Feature name="adaptive-playback" />
+ <Limit name="concurrent-instances" max="8" />
+ </MediaCodec>
+ <MediaCodec name="OMX.qcom.video.decoder.mpeg2.secure" type="video/mpeg2" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Limit name="size" min="64x64" max="1920x1088" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" min="1" max="244800" />
+ <Limit name="bitrate" range="1-80000000" />
+ <Feature name="adaptive-playback" />
+ <Feature name="secure-playback" required="true" />
+ <Limit name="concurrent-instances" max="7" />
+ </MediaCodec>
+ <MediaCodec name="OMX.qcom.video.decoder.mpeg4" type="video/mp4v-es" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Limit name="size" min="64x64" max="1920x1088" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" min="1" max="489600" />
+ <Limit name="bitrate" range="1-40000000" />
+ <Feature name="adaptive-playback" />
+ <Limit name="concurrent-instances" max="8" />
+ </MediaCodec>
+ <MediaCodec name="OMX.qcom.video.decoder.h263" type="video/3gpp" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Limit name="size" min="64x64" max="864x480" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" min="1" max="48600" />
+ <Limit name="bitrate" range="1-2000000" />
+ <Feature name="adaptive-playback" />
+ <Limit name="concurrent-instances" max="8" />
+ </MediaCodec>
+ <MediaCodec name="OMX.qcom.video.decoder.wmv" type="video/x-ms-wmv" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Limit name="size" min="64x64" max="1920x1088" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" min="1" max="244800" />
+ <Limit name="bitrate" range="1-45000000" />
+ <Feature name="adaptive-playback" />
+ <Limit name="concurrent-instances" max="8" />
+ </MediaCodec>
+ <MediaCodec name="OMX.qcom.video.decoder.wmv.secure" type="video/x-ms-wmv" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Limit name="size" min="64x64" max="1920x1088" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" min="1" max="244800" />
+ <Limit name="bitrate" range="1-45000000" />
+ <Feature name="adaptive-playback" />
+ <Feature name="secure-playback" required="true" />
+ <Limit name="concurrent-instances" max="7" />
+ </MediaCodec>
+ <MediaCodec name="OMX.qcom.video.decoder.vc1" type="video/wvc1" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Limit name="size" min="64x64" max="1920x1088" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" min="1" max="244800" />
+ <Limit name="bitrate" range="1-45000000" />
+ <Feature name="adaptive-playback" />
+ <Limit name="concurrent-instances" max="8" />
+ </MediaCodec>
+ <MediaCodec name="OMX.qcom.video.decoder.vc1.secure" type="video/wvc1" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Limit name="size" min="64x64" max="1920x1088" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" min="1" max="244800" />
+ <Limit name="bitrate" range="1-45000000" />
+ <Feature name="adaptive-playback" />
+ <Feature name="secure-playback" required="true" />
+ <Limit name="concurrent-instances" max="7" />
+ </MediaCodec>
+ <MediaCodec name="OMX.qcom.video.decoder.divx" type="video/divx" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Limit name="size" min="64x64" max="1920x1088" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" min="1" max="244800" />s
+ <Limit name="bitrate" range="1-20000000" />
+ <Feature name="adaptive-playback" />
+ <Limit name="concurrent-instances" max="8" />
+ </MediaCodec>
+ <MediaCodec name="OMX.qcom.video.decoder.divx311" type="video/divx311" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Limit name="size" min="64x64" max="1920x1088" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" min="1" max="244800" />
+ <Limit name="bitrate" range="1-2000000" />
+ <Feature name="adaptive-playback" />
+ <Limit name="concurrent-instances" max="8" />
+ </MediaCodec>
+ <MediaCodec name="OMX.qcom.video.decoder.divx4" type="video/divx4" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Limit name="size" min="64x64" max="1920x1088" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" min="1" max="244800" />
+ <Limit name="bitrate" range="1-20000000" />
+ <Feature name="adaptive-playback" />
+ <Limit name="concurrent-instances" max="8" />
+ </MediaCodec>
+ <MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Limit name="size" min="64x64" max="1920x1088" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" min="1" max="244800" />
+ <Limit name="bitrate" range="1-50000000" />
+ <Feature name="adaptive-playback" />
+ <Limit name="concurrent-instances" max="8" />
+ </MediaCodec>
+ <MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Limit name="size" min="64x64" max="1920x1088" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" min="1" max="489600" />
+ <Limit name="bitrate" range="1-50000000" />
+ <Feature name="adaptive-playback" />
+ <Limit name="concurrent-instances" max="8" />
+ </MediaCodec>
+ </Decoders>
+ <Include href="media_codecs_google_video.xml" />
+</MediaCodecs>
diff --git a/configs/media_codecs_performance.xml b/configs/media_codecs_performance.xml
new file mode 100644
index 0000000..47aa3ac
--- /dev/null
+++ b/configs/media_codecs_performance.xml
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!-- Copyright (c) 2015, The Linux Foundation. All rights reserved.
+
+ Not a Contribution.
+
+ Copyright 2015 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<MediaCodecs>
+ <Encoders>
+ <MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" update="true">
+ <Limit name="measured-frame-rate-320x240" range="319-319" />
+ <Limit name="measured-frame-rate-720x480" range="109-109" />
+ <Limit name="measured-frame-rate-1280x720" range="53-53" />
+ <Limit name="measured-frame-rate-1920x1080" range="22-22" />
+ </MediaCodec>
+ <MediaCodec name="OMX.qcom.video.encoder.h263" type="video/3gpp" update="true">
+ <Limit name="measured-frame-rate-176x144" range="487-487" />
+ <Limit name="measured-frame-rate-352x288" range="236-236" />
+ </MediaCodec>
+ <MediaCodec name="OMX.qcom.video.encoder.mpeg4" type="video/mp4v-es" update="true">
+ <Limit name="measured-frame-rate-176x144" range="540-540" />
+ <Limit name="measured-frame-rate-352x288" range="263-263" />
+ <Limit name="measured-frame-rate-640x480" range="116-116" />
+ </MediaCodec>
+ <MediaCodec name="OMX.qcom.video.encoder.vp8" type="video/x-vnd.on2.vp8" update="true">
+ <Limit name="measured-frame-rate-320x180" range="186-186" />
+ <Limit name="measured-frame-rate-640x360" range="150-150" />
+ <Limit name="measured-frame-rate-1280x720" range="58-58" />
+ <Limit name="measured-frame-rate-1920x1080" range="26-26" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.h264.encoder" type="video/avc" update="true">
+ <Limit name="measured-frame-rate-320x240" range="259-259" />
+ <Limit name="measured-frame-rate-720x480" range="90-90" />
+ <Limit name="measured-frame-rate-1280x720" range="40-40" />
+ <Limit name="measured-frame-rate-1920x1080" range="20-20" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.h263.encoder" type="video/3gpp" update="true">
+ <Limit name="measured-frame-rate-176x144" range="482-482" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es" update="true">
+ <Limit name="measured-frame-rate-176x144" range="529-529" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
+ <Limit name="measured-frame-rate-320x180" range="76-76" />
+ <Limit name="measured-frame-rate-640x360" range="37-37" />
+ <Limit name="measured-frame-rate-1280x720" range="18-18" />
+ <Limit name="measured-frame-rate-1920x1080" range="8-8" />
+ </MediaCodec>
+ </Encoders>
+ <Decoders>
+ <MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" update="true">
+ <Limit name="measured-frame-rate-320x240" range="496-496" />
+ <Limit name="measured-frame-rate-720x480" range="317-317" />
+ <Limit name="measured-frame-rate-1280x720" range="154-154" />
+ <Limit name="measured-frame-rate-1920x1088" range="74-74" />
+ </MediaCodec>
+ <MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" update="true">
+ <Limit name="measured-frame-rate-352x288" range="611-611" />
+ <Limit name="measured-frame-rate-640x360" range="495-495" />
+ <Limit name="measured-frame-rate-1280x720" range="233-233" />
+ <Limit name="measured-frame-rate-1920x1080" range="96-96" />
+ </MediaCodec>
+ <MediaCodec name="OMX.qcom.video.decoder.h263" type="video/3gpp" update="true">
+ <Limit name="measured-frame-rate-176x144" range="675-675" />
+ <Limit name="measured-frame-rate-352x288" range="590-590" />
+ </MediaCodec>
+ <MediaCodec name="OMX.qcom.video.decoder.mpeg4" type="video/mp4v-es" update="true">
+ <Limit name="measured-frame-rate-176x144" range="534-534" />
+ <Limit name="measured-frame-rate-480x360" range="665-665" />
+ </MediaCodec>
+ <MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" update="true">
+ <Limit name="measured-frame-rate-320x180" range="428-428" />
+ <Limit name="measured-frame-rate-640x360" range="377-377" />
+ <Limit name="measured-frame-rate-1280x720" range="129-129" />
+ <Limit name="measured-frame-rate-1920x1080" range="66-66" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.h264.decoder" type="video/avc" update="true">
+ <Limit name="measured-frame-rate-320x240" range="317-317" />
+ <Limit name="measured-frame-rate-720x480" range="102-102" />
+ <Limit name="measured-frame-rate-1280x720" range="38-38" />
+ <Limit name="measured-frame-rate-1920x1080" range="16-68" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.hevc.decoder" type="video/hevc" update="true">
+ <Limit name="measured-frame-rate-352x288" range="292-292" />
+ <Limit name="measured-frame-rate-640x360" range="160-160" />
+ <Limit name="measured-frame-rate-1280x720" range="65-65" />
+ <Limit name="measured-frame-rate-1920x1080" range="36-36" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.h263.decoder" type="video/3gpp" update="true">
+ <Limit name="measured-frame-rate-176x144" range="294-294" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.mpeg4.decoder" type="video/mp4v-es" update="true">
+ <Limit name="measured-frame-rate-176x144" range="347-347" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
+ <Limit name="measured-frame-rate-320x180" range="517-517" />
+ <Limit name="measured-frame-rate-640x360" range="143-143" />
+ <Limit name="measured-frame-rate-1280x720" range="32-32" />
+ <Limit name="measured-frame-rate-1920x1080" range="13-13" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
+ <Limit name="measured-frame-rate-320x180" range="322-322" />
+ <Limit name="measured-frame-rate-640x360" range="126-126" />
+ <Limit name="measured-frame-rate-1280x720" range="57-57" />
+ <Limit name="measured-frame-rate-1920x1080" range="33-33" />
+ </MediaCodec>
+ </Decoders>
+</MediaCodecs>
diff --git a/configs/media_profiles.xml b/configs/media_profiles.xml
new file mode 100644
index 0000000..06d8df6
--- /dev/null
+++ b/configs/media_profiles.xml
@@ -0,0 +1,609 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2013 The Android Open Source Project
+ Copyright (C) 2015 The Linux Foundation. All rights reserved.
+ Not a contribution.
+
+ 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>
+<!ATTLIST EncoderProfile cameraId (0|1) #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>
+<!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>
+<!ELEMENT VideoEditorCap EMPTY>
+<!ATTLIST VideoEditorCap maxInputFrameWidth CDATA #REQUIRED>
+<!ATTLIST VideoEditorCap maxInputFrameHeight CDATA #REQUIRED>
+<!ATTLIST VideoEditorCap maxOutputFrameWidth CDATA #REQUIRED>
+<!ATTLIST VideoEditorCap maxOutputFrameHeight CDATA #REQUIRED>
+<!ATTLIST VideoEditorCap maxPrefetchYUVFrames CDATA #REQUIRED>
+<!ELEMENT ExportVideoProfile EMPTY>
+<!ATTLIST ExportVideoProfile name (h264|h263|m4v) #REQUIRED>
+<!ATTLIST ExportVideoProfile profile CDATA #REQUIRED>
+<!ATTLIST ExportVideoProfile level CDATA #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 -->
+ <!-- Back Camera -->
+ <CamcorderProfiles cameraId="0" startOffsetMs="700">
+
+ <EncoderProfile quality="low" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="192000"
+ width="176"
+ height="144"
+ frameRate="30" />
+
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="high" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="20000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="156000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="qvga" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="512000"
+ width="320"
+ height="240"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="156000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="cif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="720000"
+ width="352"
+ height="288"
+ frameRate="30" />
+
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="2000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="156000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="720p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="14000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="156000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="20000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="156000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="192000"
+ width="176"
+ height="144"
+ frameRate="30" />
+
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapselow" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="192000"
+ width="176"
+ height="144"
+ frameRate="30" />
+
+ <!-- audio setting is ignored -->
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="20000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="156000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="192000"
+ width="176"
+ height="144"
+ frameRate="30" />
+
+ <!-- audio setting is ignored -->
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="720000"
+ width="352"
+ height="288"
+ frameRate="30" />
+
+ <!-- audio setting is ignored -->
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="2000000"
+ width="640"
+ height="480"
+ frameRate="30" />
+
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="156000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="14000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="156000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="20000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="156000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <ImageEncoding quality="95" />
+ <ImageEncoding quality="80" />
+ <ImageEncoding quality="70" />
+ <ImageDecoding memCap="20000000" />
+
+ </CamcorderProfiles>
+ <!-- Front Camera -->
+ <CamcorderProfiles cameraId="1" startOffsetMs="700">
+
+ <EncoderProfile quality="low" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="192000"
+ width="176"
+ height="144"
+ frameRate="30" />
+
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="high" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="20000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="156000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="qvga" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="512000"
+ width="320"
+ height="240"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="156000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="cif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="720000"
+ width="352"
+ height="288"
+ frameRate="30" />
+
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="2000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="156000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="720p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="14000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="156000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="20000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="156000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="192000"
+ width="176"
+ height="144"
+ frameRate="30" />
+
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+ <EncoderProfile quality="timelapselow" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="192000"
+ width="176"
+ height="144"
+ frameRate="30" />
+
+ <!-- audio setting is ignored -->
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="20000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="156000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="192000"
+ width="176"
+ height="144"
+ frameRate="30" />
+
+ <!-- audio setting is ignored -->
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="1200000"
+ width="352"
+ height="288"
+ frameRate="30" />
+
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="5000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="20000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="156000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <ImageEncoding quality="95" />
+ <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
+ -->
+ <VideoEncoderCap name="h264" enabled="true"
+ minBitRate="64000" maxBitRate="20000000"
+ minFrameWidth="176" maxFrameWidth="1920"
+ minFrameHeight="144" maxFrameHeight="1088"
+ minFrameRate="15" maxFrameRate="30" />
+
+ <VideoEncoderCap name="h263" enabled="true"
+ minBitRate="64000" maxBitRate="2000000"
+ minFrameWidth="176" maxFrameWidth="800"
+ minFrameHeight="144" maxFrameHeight="480"
+ minFrameRate="15" maxFrameRate="30" />
+
+ <VideoEncoderCap name="m4v" enabled="true"
+ minBitRate="64000" maxBitRate="20000000"
+ minFrameWidth="176" maxFrameWidth="1920"
+ minFrameHeight="144" maxFrameHeight="1088"
+ minFrameRate="15" maxFrameRate="30" />
+
+ <AudioEncoderCap name="aac" enabled="true"
+ minBitRate="8000" maxBitRate="96000"
+ minSampleRate="8000" maxSampleRate="48000"
+ minChannels="1" maxChannels="6" />
+
+ <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="23850"
+ 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="1280"
+ maxInputFrameHeight="720" maxOutputFrameWidth="1280"
+ maxOutputFrameHeight="720" 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.0
+ -->
+ <ExportVideoProfile name="h264" profile= "1" level="2048"/>
+ <!--
+ Codec = h.263, Baseline profile, level 70
+ -->
+ <ExportVideoProfile name="h263" profile= "1" level="128"/>
+ <!--
+ Codec = mpeg4, Simple profile, level 5
+ -->
+ <ExportVideoProfile name="m4v" profile= "1" level="128"/>
+</MediaSettings>
diff --git a/configs/sec_config b/configs/sec_config
new file mode 100644
index 0000000..68c6e15
--- /dev/null
+++ b/configs/sec_config
@@ -0,0 +1,311 @@
+/* IPC Security Config */
+/* <GPS QMI Service ID - 16>:<GPS QMI Instance ID - all instances>:<Client Group ID> */
+16:4294967295:1000:3004
+/* <LOWI QMI Service ID - 38>:<LOWI QMI Instance ID - all instances>:<Client Group ID> */
+56:4294967295:1021:3004
+/* Allow SS CTL service to be used by system and net_raw processes */
+43:4294967295:1000:3004
+/* <UIMRMT QMI Service ID - 16>:<UIMRMT QMI Instance ID - all instances>:<Client Group ID> */
+50:4294967295:1001
+/* QMI-SLIM service permitted to gps and net_raw */
+55:4294967295:1021:3004
+/* Allow Sensor services to be used by sensor process */
+256:4294967295:3011
+257:4294967295:3011
+258:4294967295:3011
+259:4294967295:3011
+260:4294967295:3011
+261:4294967295:3011
+262:4294967295:3011
+263:4294967295:3011
+264:4294967295:3011
+265:4294967295:3011
+266:4294967295:3011
+267:4294967295:3011
+268:4294967295:3011
+269:4294967295:3011
+270:4294967295:3011
+271:4294967295:3011
+272:4294967295:3011
+273:4294967295:3011
+274:4294967295:3011
+275:4294967295:3011
+276:4294967295:3011
+277:4294967295:3011
+278:4294967295:3011
+279:4294967295:3011
+280:4294967295:3011
+281:4294967295:3011
+282:4294967295:3011
+283:4294967295:3011
+284:4294967295:3011
+285:4294967295:3011
+286:4294967295:3011
+287:4294967295:3011
+288:4294967295:3011
+289:4294967295:3011
+290:4294967295:3011
+291:4294967295:3011
+292:4294967295:3011
+293:4294967295:3011
+294:4294967295:3011
+295:4294967295:3011
+296:4294967295:3011
+297:4294967295:3011
+298:4294967295:3011
+299:4294967295:3011
+300:4294967295:3011
+301:4294967295:3011
+302:4294967295:3011
+303:4294967295:3011
+304:4294967295:3011
+305:4294967295:3011
+306:4294967295:3011
+307:4294967295:3011
+308:4294967295:3011
+309:4294967295:3011
+310:4294967295:3011
+311:4294967295:3011
+312:4294967295:3011
+313:4294967295:3011
+314:4294967295:3011
+315:4294967295:3011
+316:4294967295:3011
+317:4294967295:3011
+318:4294967295:3011
+319:4294967295:3011
+320:4294967295:3011
+321:4294967295:3011
+322:4294967295:3011
+323:4294967295:3011
+324:4294967295:3011
+325:4294967295:3011
+326:4294967295:3011
+327:4294967295:3011
+328:4294967295:3011
+329:4294967295:3011
+330:4294967295:3011
+331:4294967295:3011
+332:4294967295:3011
+333:4294967295:3011
+334:4294967295:3011
+335:4294967295:3011
+336:4294967295:3011
+337:4294967295:3011
+338:4294967295:3011
+339:4294967295:3011
+340:4294967295:3011
+341:4294967295:3011
+342:4294967295:3011
+343:4294967295:3011
+344:4294967295:3011
+345:4294967295:3011
+346:4294967295:3011
+347:4294967295:3011
+348:4294967295:3011
+349:4294967295:3011
+350:4294967295:3011
+351:4294967295:3011
+352:4294967295:3011
+353:4294967295:3011
+354:4294967295:3011
+355:4294967295:3011
+356:4294967295:3011
+357:4294967295:3011
+358:4294967295:3011
+359:4294967295:3011
+360:4294967295:3011
+361:4294967295:3011
+362:4294967295:3011
+363:4294967295:3011
+364:4294967295:3011
+365:4294967295:3011
+366:4294967295:3011
+367:4294967295:3011
+368:4294967295:3011
+369:4294967295:3011
+370:4294967295:3011
+371:4294967295:3011
+372:4294967295:3011
+373:4294967295:3011
+374:4294967295:3011
+375:4294967295:3011
+376:4294967295:3011
+377:4294967295:3011
+378:4294967295:3011
+379:4294967295:3011
+380:4294967295:3011
+381:4294967295:3011
+382:4294967295:3011
+383:4294967295:3011
+384:4294967295:3011
+385:4294967295:3011
+386:4294967295:3011
+387:4294967295:3011
+388:4294967295:3011
+389:4294967295:3011
+390:4294967295:3011
+391:4294967295:3011
+392:4294967295:3011
+393:4294967295:3011
+394:4294967295:3011
+395:4294967295:3011
+396:4294967295:3011
+397:4294967295:3011
+398:4294967295:3011
+399:4294967295:3011
+400:4294967295:3011
+401:4294967295:3011
+402:4294967295:3011
+403:4294967295:3011
+404:4294967295:3011
+405:4294967295:3011
+406:4294967295:3011
+407:4294967295:3011
+408:4294967295:3011
+409:4294967295:3011
+410:4294967295:3011
+411:4294967295:3011
+412:4294967295:3011
+413:4294967295:3011
+414:4294967295:3011
+415:4294967295:3011
+416:4294967295:3011
+417:4294967295:3011
+418:4294967295:3011
+419:4294967295:3011
+420:4294967295:3011
+421:4294967295:3011
+422:4294967295:3011
+423:4294967295:3011
+424:4294967295:3011
+425:4294967295:3011
+426:4294967295:3011
+427:4294967295:3011
+428:4294967295:3011
+429:4294967295:3011
+430:4294967295:3011
+431:4294967295:3011
+432:4294967295:3011
+433:4294967295:3011
+434:4294967295:3011
+435:4294967295:3011
+436:4294967295:3011
+437:4294967295:3011
+438:4294967295:3011
+439:4294967295:3011
+440:4294967295:3011
+441:4294967295:3011
+442:4294967295:3011
+443:4294967295:3011
+444:4294967295:3011
+445:4294967295:3011
+446:4294967295:3011
+447:4294967295:3011
+448:4294967295:3011
+449:4294967295:3011
+450:4294967295:3011
+451:4294967295:3011
+452:4294967295:3011
+453:4294967295:3011
+454:4294967295:3011
+455:4294967295:3011
+456:4294967295:3011
+457:4294967295:3011
+458:4294967295:3011
+459:4294967295:3011
+460:4294967295:3011
+461:4294967295:3011
+462:4294967295:3011
+463:4294967295:3011
+464:4294967295:3011
+465:4294967295:3011
+466:4294967295:3011
+467:4294967295:3011
+468:4294967295:3011
+469:4294967295:3011
+470:4294967295:3011
+471:4294967295:3011
+472:4294967295:3011
+473:4294967295:3011
+474:4294967295:3011
+475:4294967295:3011
+476:4294967295:3011
+477:4294967295:3011
+478:4294967295:3011
+479:4294967295:3011
+480:4294967295:3011
+481:4294967295:3011
+482:4294967295:3011
+483:4294967295:3011
+484:4294967295:3011
+485:4294967295:3011
+486:4294967295:3011
+487:4294967295:3011
+488:4294967295:3011
+489:4294967295:3011
+490:4294967295:3011
+491:4294967295:3011
+492:4294967295:3011
+493:4294967295:3011
+494:4294967295:3011
+495:4294967295:3011
+496:4294967295:3011
+497:4294967295:3011
+498:4294967295:3011
+499:4294967295:3011
+500:4294967295:3011
+501:4294967295:3011
+502:4294967295:3011
+503:4294967295:3011
+504:4294967295:3011
+505:4294967295:3011
+506:4294967295:3011
+507:4294967295:3011
+508:4294967295:3011
+509:4294967295:3011
+510:4294967295:3011
+511:4294967295:3011
+/* Allow RCS service to aquire net_raw permission */
+18:4294967295:1001:3004
+/* Allow QMID service to aquire net_raw permission */
+3:4294967295:1001:3004
+2:4294967295:1001:3004
+42:4294967295:1001:3004
+18:4294967295:1001:3004
+9:4294967295:1001:3004
+1:4294967295:1001:3004:1000
+4:4294967295:1001:3004
+7:4294967295:1001:3004
+8:4294967295:1001:3004
+/* Allow dpmd to access QMI DFS */
+2797:4294967295:1001:3004
+2808:4294967295:1001:3004:1000
+/* DPM */
+47:4294967295:1001:3004
+/* Allow communication to some QMI services with radio privilages */
+/* Format is <Service id>:<all instances>:<radio> */
+/* PBM */
+12:4294967295:1001
+/* WMS */
+5:4294967295:1001
+/* IMS VT */
+32:4294967295:1001
+/* IMSP */
+31:4294967295:1001
+/* PDC */
+36:4294967295:1001
+/* SAR */
+17:4294967295:1001
+/* RFRPE */
+41:4294967295:1001
+/*UIM*/
+11:4294967295:1001
+/*CAT*/
+10:4294967295:1001
+/*IMSA*/
+33:4294967295:1001
+/* Allow dpmd to access QMI DFS */
+48:4294967295:1000:3004
+/* DIAG */
+4097:4294967295:3009
diff --git a/configs/thermal-engine.conf b/configs/thermal-engine.conf
new file mode 100644
index 0000000..266ec52
--- /dev/null
+++ b/configs/thermal-engine.conf
@@ -0,0 +1,254 @@
+# SENSOR : ALIAS
+# tsens_tz_sensor2 : pop_mem
+# tsens_tz_sensor10 : gpu
+# tsens_tz_sensor9 : cpu4-5-6-7
+# tsens_tz_sensor8 : cpu3
+# tsens_tz_sensor7 : cpu2
+# tsens_tz_sensor6 : cpu1
+# tsens_tz_sensor5 : cpu0
+# tsens_tz_sensor4 : L2_cache_1
+
+#Conf file: /system/etc/thermal-engine.conf
+
+[CAMERA_CAMCORDER_MONITOR]
+algo_type monitor
+sampling 50
+sensor case_therm
+thresholds 41000 44000 47000
+thresholds_clr 38000 42000 45000
+actions camera+camcorder camera+camcorder camera+camcorder
+action_info 1+1 2+2 3+3
+
+
+[SS-GPU]
+#algo_type ss
+sampling 50
+sensor tsens_tz_sensor10
+device gpu
+set_point 50000
+set_point_clr 42000
+time_constant 0
+device_max_limit 465000000
+
+[SS-EXT_THERM]
+#algo_type ss
+sampling 1000
+sensor case_therm
+device cluster1
+set_point 40000
+set_point_clr 37000
+time_constant 3
+device_max_limit 1344000
+
+[SS-CPU4-5-6-7]
+#algo_type ss
+sampling 50
+sensor tsens_tz_sensor9
+device cluster0
+set_point 80000
+set_point_clr 55000
+time_constant 0
+device_max_limit 800000
+
+[SS-CPU3]
+#algo_type ss
+sampling 50
+sensor tsens_tz_sensor8
+device cluster1
+set_point 80000
+set_point_clr 55000
+time_constant 0
+device_max_limit 1094400
+
+[SS-CPU2]
+#algo_type ss
+sampling 50
+sensor tsens_tz_sensor7
+device cluster1
+set_point 80000
+set_point_clr 55000
+time_constant 0
+device_max_limit 1094400
+
+[SS-CPU1]
+#algo_type ss
+sampling 50
+sensor tsens_tz_sensor6
+device cluster1
+set_point 80000
+set_point_clr 55000
+time_constant 0
+device_max_limit 1094400
+
+[SS-CPU0]
+#algo_type ss
+sampling 50
+sensor tsens_tz_sensor5
+device cluster1
+set_point 80000
+set_point_clr 55000
+time_constant 0
+device_max_limit 1094400
+
+[SPEAKER-CAL]
+sampling 30000 30000 10 1800000
+sensor pm8950_tz
+sensors tsens_tz_sensor1 tsens_tz_sensor2 tsens_tz_sensor3 tsens_tz_sensor10
+temp_range 6000 10000 2000
+max_temp 45000
+offset -4000
+
+[PA_THERM_CPU0_CPU3_HOTPLUG]
+#algo_type monitor
+sampling 5000
+sensor pa_therm0
+thresholds 42000
+thresholds_clr 38000
+actions hotplug_0+hotplug_3
+action_info 1+1
+
+[PA_THERM_CPU1_CPU2_HOTPLUG]
+#algo_type monitor
+sampling 5000
+sensor case_therm
+thresholds 40000
+thresholds_clr 37000
+actions hotplug_1+hotplug_2
+action_info 1+1
+
+[MODEM_PROC_TEMP_MITIGATION]
+#algo_type monitor
+sampling 1000
+sensor tsens_tz_sensor1
+thresholds 75000 80000
+thresholds_clr 70000 75000
+actions modem_proc modem_proc
+action_info 1 3
+
+[BATTERY_CHARGING_CTL]
+#algo_type monitor
+sampling 5000
+sensor case_therm
+thresholds 41000 44000
+thresholds_clr 38000 42000
+actions battery+lcd battery+lcd
+action_info 1+205 2+175
+
+[CPU3_HOTPLUG_MONITOR]
+#algo_type monitor
+sampling 1000
+sensor tsens_tz_sensor8
+thresholds 80000
+thresholds_clr 75000
+actions hotplug_3
+action_info 1
+
+[VDD_RSTR_MONITOR-TSENS10]
+#algo_type monitor
+sampling 1000
+sensor tsens_tz_sensor10
+thresholds 5000
+thresholds_clr 10000
+actions vdd_restriction
+action_info 1
+descending
+
+[VDD_RSTR_MONITOR-TSENS9]
+#algo_type monitor
+sampling 1000
+sensor tsens_tz_sensor9
+thresholds 5000
+thresholds_clr 10000
+actions vdd_restriction
+action_info 1
+descending
+
+[VDD_RSTR_MONITOR-TSENS8]
+#algo_type monitor
+sampling 1000
+sensor tsens_tz_sensor8
+thresholds 5000
+thresholds_clr 10000
+actions vdd_restriction
+action_info 1
+descending
+
+[VDD_RSTR_MONITOR-TSENS7]
+#algo_type monitor
+sampling 1000
+sensor tsens_tz_sensor7
+thresholds 5000
+thresholds_clr 10000
+actions vdd_restriction
+action_info 1
+descending
+
+[VDD_RSTR_MONITOR-TSENS6]
+#algo_type monitor
+sampling 1000
+sensor tsens_tz_sensor6
+thresholds 5000
+thresholds_clr 10000
+actions vdd_restriction
+action_info 1
+descending
+
+[VDD_RSTR_MONITOR-TSENS5]
+#algo_type monitor
+sampling 1000
+sensor tsens_tz_sensor5
+thresholds 5000
+thresholds_clr 10000
+actions vdd_restriction
+action_info 1
+descending
+
+[VDD_RSTR_MONITOR-TSENS4]
+#algo_type monitor
+sampling 1000
+sensor tsens_tz_sensor4
+thresholds 5000
+thresholds_clr 10000
+actions vdd_restriction
+action_info 1
+descending
+
+[VDD_RSTR_MONITOR-TSENS3]
+#algo_type monitor
+sampling 1000
+sensor tsens_tz_sensor3
+thresholds 5000
+thresholds_clr 10000
+actions vdd_restriction
+action_info 1
+descending
+
+[VDD_RSTR_MONITOR-TSENS2]
+#algo_type monitor
+sampling 1000
+sensor tsens_tz_sensor2
+thresholds 5000
+thresholds_clr 10000
+actions vdd_restriction
+action_info 1
+descending
+
+[VDD_RSTR_MONITOR-TSENS1]
+#algo_type monitor
+sampling 1000
+sensor tsens_tz_sensor1
+thresholds 5000
+thresholds_clr 10000
+actions vdd_restriction
+action_info 1
+descending
+
+[VDD_RSTR_MONITOR-TSENS0]
+#algo_type monitor
+sampling 1000
+sensor tsens_tz_sensor0
+thresholds 5000
+thresholds_clr 10000
+actions vdd_restriction
+action_info 1
+descending
diff --git a/device.mk b/device.mk
index 1747faa..7f7fa4e 100644
--- a/device.mk
+++ b/device.mk
@@ -14,6 +14,55 @@
# limitations under the License.
#
+DEVICE_PATH := device/google/shamrock
+
+$(call inherit-product, frameworks/native/build/phone-xxhdpi-2048-dalvik-heap.mk)
+$(call inherit-product, frameworks/native/build/phone-xxhdpi-2048-hwui-memory.mk)
+
+$(call inherit-product-if-exists, vendor/google/shamrock/shamrock-vendor.mk)
+
+# Overlay
+DEVICE_PACKAGE_OVERLAYS += $(DEVICE_PATH)/overlay
+
+# Boot animation
+TARGET_SCREEN_HEIGHT := 1920
+TARGET_SCREEN_WIDTH := 1080
+TARGET_BOOTANIMATION_HALF_RES := true
+
+# Screen Density
+PRODUCT_AAPT_CONFIG := normal
+PRODUCT_AAPT_PREF_CONFIG := xxhdpi
+
+# Permissions
+PRODUCT_COPY_FILES += \
+ frameworks/native/data/etc/android.hardware.ethernet.xml:system/etc/permissions/android.hardware.ethernet.xml \
+ frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \
+ frameworks/native/data/etc/android.software.print.xml:system/etc/permissions/android.software.print.xml \
+ frameworks/native/data/etc/handheld_core_hardware.xml:system/etc/permissions/handheld_core_hardware.xml \
+ frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \
+ frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \
+ frameworks/native/data/etc/android.hardware.wifi.direct.xml:system/etc/permissions/android.hardware.wifi.direct.xml \
+ frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \
+ frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:system/etc/permissions/android.hardware.sensor.accelerometer.xml \
+ frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:system/etc/permissions/android.hardware.sensor.gyroscope.xml \
+ frameworks/native/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml \
+ frameworks/native/data/etc/android.hardware.sensor.proximity.xml:system/etc/permissions/android.hardware.sensor.proximity.xml \
+ frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:system/etc/permissions/android.hardware.sensor.stepcounter.xml \
+ frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:system/etc/permissions/android.hardware.sensor.stepdetector.xml \
+ frameworks/native/data/etc/android.hardware.telephony.gsm.xml:system/etc/permissions/android.hardware.telephony.gsm.xml \
+ frameworks/native/data/etc/android.hardware.telephony.cdma.xml:system/etc/permissions/android.hardware.telephony.cdma.xml \
+ frameworks/native/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml \
+ frameworks/native/data/etc/android.hardware.location.gps.xml:system/etc/permissions/android.hardware.location.gps.xml \
+ frameworks/native/data/etc/android.software.midi.xml:system/etc/permissions/android.software.midi.xml \
+ frameworks/native/data/etc/android.hardware.audio.low_latency.xml:system/etc/permissions/android.hardware.audio.low_latency.xml \
+ frameworks/native/data/etc/android.hardware.bluetooth.xml:system/etc/permissions/android.hardware.bluetooth.xml \
+ frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml \
+ frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:system/etc/permissions/android.hardware.camera.flash-autofocus.xml \
+ frameworks/native/data/etc/android.hardware.camera.front.xml:system/etc/permissions/android.hardware.camera.front.xml \
+ frameworks/native/data/etc/android.hardware.vulkan.level-0.xml:system/etc/permissions/android.hardware.vulkan.level-0.xml \
+ frameworks/native/data/etc/android.hardware.vulkan.version-1_0_3.xml:system/etc/permissions/android.hardware.vulkan.version-1_0_3.xml \
+ $(DEVICE_PATH)/configs/com.qualcomm.location.xml:system/etc/permissions/com.qualcomm.location.xml
+
# Audio
PRODUCT_PACKAGES += \
audio.a2dp.default \
@@ -26,19 +75,16 @@ PRODUCT_PACKAGES += \
libtinycompress \
tinymix
+# Audio Configurations
PRODUCT_COPY_FILES += \
- frameworks/native/data/etc/android.software.midi.xml:system/etc/permissions/android.software.midi.xml \
- frameworks/native/data/etc/android.hardware.audio.low_latency.xml:system/etc/permissions/android.hardware.audio.low_latency.xml
-
-# Bluetooth
-PRODUCT_COPY_FILES += \
- frameworks/native/data/etc/android.hardware.bluetooth.xml:system/etc/permissions/android.hardware.bluetooth.xml \
- frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml
-
-# Boot animation
-TARGET_SCREEN_HEIGHT := 1920
-TARGET_SCREEN_WIDTH := 1080
-TARGET_BOOTANIMATION_HALF_RES := true
+ $(DEVICE_PATH)/audio/audio_effects.conf:system/etc/audio_effects.conf \
+ $(DEVICE_PATH)/audio/audio_output_policy.conf:system/etc/audio_output_policy.conf \
+ $(DEVICE_PATH)/audio/audio_platform_info.xml:system/etc/audio_platform_info.xml \
+ $(DEVICE_PATH)/audio/audio_policy.conf:system/etc/audio_policy.conf \
+ $(DEVICE_PATH)/audio/mixer_paths.xml:system/etc/mixer_paths.xml \
+ $(DEVICE_PATH)/audio/mixer_paths_l9300.xml:system/etc/mixer_paths_l9300.xml \
+ $(DEVICE_PATH)/audio/sound_trigger_mixer_paths.xml:system/etc/sound_trigger_mixer_paths.xml \
+ $(DEVICE_PATH)/audio/sound_trigger_platform_info.xml:system/etc/sound_trigger_platform_info.xml
# Camera
PRODUCT_PACKAGES += \
@@ -46,16 +92,10 @@ PRODUCT_PACKAGES += \
libmm-qcamera \
Camera2
-PRODUCT_COPY_FILES += \
- frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:system/etc/permissions/android.hardware.camera.flash-autofocus.xml \
- frameworks/native/data/etc/android.hardware.camera.front.xml:system/etc/permissions/android.hardware.camera.front.xml
-
-
# Charger
PRODUCT_PACKAGES += \
charger_res_images
-
# Display
PRODUCT_PACKAGES += \
copybit.msm8952 \
@@ -64,12 +104,6 @@ PRODUCT_PACKAGES += \
libtinyxml \
memtrack.msm8952
-PRODUCT_AAPT_CONFIG := normal
-PRODUCT_AAPT_PREF_CONFIG := xxhdpi
-
-$(call inherit-product, frameworks/native/build/phone-xxhdpi-2048-dalvik-heap.mk)
-$(call inherit-product, frameworks/native/build/phone-xxhdpi-2048-hwui-memory.mk)
-
# Init scripts
PRODUCT_PACKAGES += \
fstab.qcom \
@@ -79,7 +113,7 @@ PRODUCT_PACKAGES += \
init.qcom.usb.rc \
init.qcom.power.rc \
init.recovery.qcom.rc \
- ueventd.qcom.rc \
+ ueventd.qcom.rc
# IPv6
PRODUCT_PACKAGES += \
@@ -88,12 +122,21 @@ PRODUCT_PACKAGES += \
libebtc
# GPS
-
PRODUCT_PACKAGES += \
gps.msm8952
+# Gps Configurations
PRODUCT_COPY_FILES += \
- frameworks/native/data/etc/android.hardware.location.gps.xml:system/etc/permissions/android.hardware.location.gps.xml
+ $(DEVICE_PATH)/gps/flp.conf:system/etc/flp.conf \
+ $(DEVICE_PATH)/gps/gps.conf:system/etc/gps.conf \
+ $(DEVICE_PATH)/gps/izat.conf:system/etc/izat.conf \
+ $(DEVICE_PATH)/gps/lowi.conf:system/etc/lowi.conf \
+ $(DEVICE_PATH)/gps/sap.conf:system/etc/sap.conf
+
+# Keylayout
+PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/keylayout/cyttsp4_btn.kl:system/usr/keylayout/cyttsp4_btn.kl \
+ $(LOCAL_PATH)/keylayout/gpio-keys.kl:system/usr/keylayout/gpio-keys.kl
# Keystore
ifneq ($(TARGET_PROVIDES_KEYMASTER),true)
@@ -123,8 +166,10 @@ PRODUCT_COPY_FILES += \
frameworks/av/media/libstagefright/data/media_codecs_google_video_le.xml:system/etc/media_codecs_google_video_le.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:system/etc/media_codecs_google_video.xml
-# Overlays
-DEVICE_PACKAGE_OVERLAYS += device/google/shamrock/overlay
+PRODUCT_COPY_FILES += \
+ $(DEVICE_PATH)/configs/media_codecs.xml:system/etc/media_codecs.xml \
+ $(DEVICE_PATH)/configs/media_codecs_performance.xml:system/etc/media_codecs_performance.xml \
+ $(DEVICE_PATH)/configs/media_profiles.xml:system/etc/media_profiles.xml
# Power HAL
PRODUCT_PACKAGES += \
@@ -134,12 +179,7 @@ PRODUCT_PACKAGES += \
PRODUCT_PACKAGES += \
librecovery_updater_cm
-# RIL
-PRODUCT_COPY_FILES += \
- frameworks/native/data/etc/android.hardware.telephony.gsm.xml:system/etc/permissions/android.hardware.telephony.gsm.xml \
- frameworks/native/data/etc/android.hardware.telephony.cdma.xml:system/etc/permissions/android.hardware.telephony.cdma.xml \
- frameworks/native/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml
-
+# Radio
PRODUCT_PACKAGES += \
librmnetctl \
libxml2 \
@@ -148,27 +188,26 @@ PRODUCT_PACKAGES += \
PRODUCT_BOOT_JARS += \
telephony-ext
+# Radio Configurations
+PRODUCT_COPY_FILES += \
+ $(DEVICE_PATH)/configs/data/dsi_config.xml:system/etc/data/dsi_config.xml \
+ $(DEVICE_PATH)/configs/data/netmgr_config.xml:system/etc/data/netmgr_config.xml \
+ $(DEVICE_PATH)/configs/data/qmi_config.xml:system/etc/data/qmi_config.xml
+
# Sensors
PRODUCT_PACKAGES += \
sensors.msm8952
+# Sensor Configurations
PRODUCT_COPY_FILES += \
- frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:system/etc/permissions/android.hardware.sensor.accelerometer.xml \
- frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:system/etc/permissions/android.hardware.sensor.gyroscope.xml \
- frameworks/native/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml \
- frameworks/native/data/etc/android.hardware.sensor.proximity.xml:system/etc/permissions/android.hardware.sensor.proximity.xml \
- frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:system/etc/permissions/android.hardware.sensor.stepcounter.xml \
- frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:system/etc/permissions/android.hardware.sensor.stepdetector.xml
+ $(LOCAL_PATH)/sensors/hals.conf:system/etc/sensors/hals.conf \
+ $(LOCAL_PATH)/sensors/sensor_def_qcomdev.conf:system/etc/sensors/sensor_def_qcomdev.conf
-# USB
+# Thermal
PRODUCT_COPY_FILES += \
- frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml
+ $(DEVICE_PATH)/configs/thermal-engine.conf:system/etc/thermal-engine.conf
# Wlan
-PRODUCT_COPY_FILES += \
- frameworks/native/data/etc/android.hardware.wifi.direct.xml:system/etc/permissions/android.hardware.wifi.direct.xml \
- frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml
-
PRODUCT_PACKAGES += \
libqsap_sdk \
libQWiFiSoftApCfg \
@@ -177,15 +216,12 @@ PRODUCT_PACKAGES += \
wpa_supplicant \
wpa_supplicant.conf
+# Wlan Configurations
PRODUCT_COPY_FILES += \
- frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml
-
-# Other Permissions
-PRODUCT_COPY_FILES += \
- frameworks/native/data/etc/android.hardware.ethernet.xml:system/etc/permissions/android.hardware.ethernet.xml \
- frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \
- frameworks/native/data/etc/android.software.print.xml:system/etc/permissions/android.software.print.xml \
- frameworks/native/data/etc/handheld_core_hardware.xml:system/etc/permissions/handheld_core_hardware.xml
-
-# Include vendor blobs
-$(call inherit-product-if-exists, vendor/google/shamrock/shamrock-vendor.mk)
+ $(DEVICE_PATH)/configs/sec_config:system/etc/sec_config \
+ $(DEVICE_PATH)/wifi/hostapd.accept:system/etc/hostapd/hostapd.accept \
+ $(DEVICE_PATH)/wifi/hostapd_default.conf:system/etc/hostapd/hostapd_default.conf \
+ $(DEVICE_PATH)/wifi/hostapd.deny:system/etc/hostapd/hostapd.deny \
+ $(DEVICE_PATH)/wifi/p2p_supplicant_overlay.conf:system/etc/wifi/p2p_supplicant_overlay.conf \
+ $(DEVICE_PATH)/wifi/wpa_supplicant_overlay.conf:system/etc/wifi/wpa_supplicant_overlay.conf \
+ $(DEVICE_PATH)/wifi/WCNSS_qcom_cfg.ini:system/etc/wifi/WCNSS_qcom_cfg.ini
diff --git a/gps/flp.conf b/gps/flp.conf
new file mode 100644
index 0000000..7d6002f
--- /dev/null
+++ b/gps/flp.conf
@@ -0,0 +1,60 @@
+###################################
+##### FLP settings #####
+###################################
+
+###################################
+# FLP BATCHING SIZE
+###################################
+# The number of batched locations
+# requested to modem. The desired number
+# defined below may not be satisfied, as
+# the modem can only return the number
+# of batched locations that can be allocated,
+# which is limited by memory. The default
+# batch size defined as 20 as below.
+BATCH_SIZE=20
+
+###################################
+# FLP BATCHING SESSION TIMEOUT
+###################################
+# Duration with which batch session timeout
+# happens in milliseconds. If not specified
+# or set to zero, batching session timeout
+# defaults to 20 seconds by the modem.
+# BATCH_SESSION_TIMEOUT=20000
+
+###################################
+# FLP CAPABILITIES BIT MASK
+###################################
+# GEOFENCE = 0x01
+# BATCHING = 0x02
+# default = GEOFENCE | BATCHING
+CAPABILITIES=0x03
+
+###################################
+# FLP BATCHING ACCURACY
+###################################
+# Set to one of the defined values below
+# to define the accuracy of batching.
+# If not specified, accuracy defaults
+# to LOW.
+# FLP BATCHING ACCURACY values:
+# Low accuracy = 0
+# Medium accuracy = 1
+# High accuracy = 2
+ACCURACY=0
+
+###################################
+# FLP GEOFENCE RESPONSIVENESS
+###################################
+# If set to one of the defined values below,
+# it will override the responsiveness for
+# FLP geofence, which implements the fused
+# location API. If not set to a value defined
+# below, which is default, it will not
+# override the responsivness.
+# FLP_GEOFENCE_RESPONSIVENESS_OVERRIDE Values:
+# 1: LOW responsiveness
+# 2: MEDIUM responsiveness
+# 3: HIGH responsiveness
+FLP_GEOFENCE_RESPONSIVENESS_OVERRIDE = 0
diff --git a/gps/gps.conf b/gps/gps.conf
new file mode 100644
index 0000000..98eb5b7
--- /dev/null
+++ b/gps/gps.conf
@@ -0,0 +1,117 @@
+#Uncommenting these urls would only enable
+#the power up auto injection and force injection(test case).
+XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin
+XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin
+XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin
+
+#Version check for XTRA
+#DISABLE = 0
+#AUTO = 1
+#XTRA2 = 2
+#XTRA3 = 3
+XTRA_VERSION_CHECK=0
+
+# Error Estimate
+# _SET = 1
+# _CLEAR = 0
+ERR_ESTIMATE=0
+
+#Test
+#NTP_SERVER=time.gpsonextra.net
+#Asia
+# NTP_SERVER=asia.pool.ntp.org
+#Europe
+# NTP_SERVER=europe.pool.ntp.org
+#North America
+# NTP_SERVER=north-america.pool.ntp.org
+
+# DEBUG LEVELS: 0 - none, 1 - Error, 2 - Warning, 3 - Info
+# 4 - Debug, 5 - Verbose
+# If DEBUG_LEVEL is commented, Android's logging levels will be used
+DEBUG_LEVEL = 2
+
+# Intermediate position report, 1=enable, 0=disable
+INTERMEDIATE_POS=0
+
+# Below bit mask configures how GPS functionalities
+# should be locked when user turns off GPS on Settings
+# Set bit 0x1 if MO GPS functionalities are to be locked
+# Set bit 0x2 if NI GPS functionalities are to be locked
+# default - non is locked for backward compatibility
+#GPS_LOCK = 0
+
+# supl version 1.0
+#SUPL_VER=0x10000
+
+# Emergency SUPL, 1=enable, 0=disable
+#SUPL_ES=0
+
+#Choose PDN for Emergency SUPL
+#1 - Use emergency PDN
+#0 - Use regular SUPL PDN for Emergency SUPL
+#USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL=1
+
+#SUPL_MODE is a bit mask set in config.xml per carrier by default.
+#If it is uncommented here, this value will overwrite the value from
+#config.xml.
+#MSA=0X2
+#MSB=0X1
+#SUPL_MODE=
+
+# GPS Capabilities bit mask
+# SCHEDULING = 0x01
+# MSB = 0x02
+# MSA = 0x04
+# ON_DEMAND_TIME = 0x10
+# GEOFENCE = 0x20
+# default = ON_DEMAND_TIME | MSA | MSB | SCHEDULING | GEOFENCE
+CAPABILITIES=0x37
+
+# Accuracy threshold for intermediate positions
+# less accurate positions are ignored, 0 for passing all positions
+# ACCURACY_THRES=5000
+
+################################
+##### AGPS server settings #####
+################################
+
+# FOR SUPL SUPPORT, set the following
+#SUPL_HOST=supl.google.com
+#SUPL_PORT=7276
+
+# FOR C2K PDE SUPPORT, set the following
+# C2K_HOST=c2k.pde.com or IP
+# C2K_PORT=1234
+
+# Bitmask of slots that are available
+# for write/install to, where 1s indicate writable,
+# and the default value is 0 where no slots
+# are writable. For example, AGPS_CERT_WRITABLE_MASK
+# of b1000001010 makes 3 slots available
+# and the remaining 7 slots unwritable.
+#AGPS_CERT_WRITABLE_MASK=0
+
+####################################
+# LTE Positioning Profile Settings
+####################################
+# 0: Enable RRLP on LTE(Default)
+# 1: Enable LPP_User_Plane on LTE
+# 2: Enable LPP_Control_Plane
+# 3: Enable both LPP_User_Plane and LPP_Control_Plane
+#LPP_PROFILE = 2
+
+################################
+# EXTRA SETTINGS
+################################
+# NMEA provider (1=Modem Processor, 0=Application Processor)
+#NMEA_PROVIDER=0
+# Mark if it is a SGLTE target (1=SGLTE, 0=nonSGLTE)
+#SGLTE_TARGET=0
+
+##################################################
+# Select Positioning Protocol on A-GLONASS system
+##################################################
+# 0x1: RRC CPlane
+# 0x2: RRLP UPlane
+# 0x4: LLP Uplane
+#A_GLONASS_POS_PROTOCOL_SELECT = 0
diff --git a/gps/izat.conf b/gps/izat.conf
new file mode 100644
index 0000000..5ca0479
--- /dev/null
+++ b/gps/izat.conf
@@ -0,0 +1,196 @@
+#########################################
+# Log verbosity control for izat modules
+#########################################
+# OFF = 0, ERROR = 1, WARNING = 2, INFO = 3, DEBUG = 4, VERBOSE = 5
+IZAT_DEBUG_LEVEL = 2
+
+##################################################
+# Select WIFI Wait Timeout value in seconds for SUPL
+##################################################
+WIFI_WAIT_TIMEOUT_SELECT = 0
+
+################################
+# NLP Settings
+################################
+# NLP_MODE 1: GNP Only, 2: QNP Only, 3: Combo
+# NLP_TOLERANCE_TIME_FIRST: Time in ms used in Combo mode
+# to determine how much Tolerance for first position
+# NLP_TOLERANCE_TIME_AFTER: Time in ms used in Combo mode
+# to determine how much Tolerance for positions after first
+# NLP_THRESHOLD: Sets how many failures needed before
+# switching preferred NLP in Combo mode
+# NLP_ACCURACY_MULTIPLE: Determines how far off the accuracy
+# must be, in multiples, between two NLP location reports to
+# be considered much worse accuracy. Used in switching logic
+# NLP COMBO MODE USES QNP WITH NO EULA CONSENT: Determines
+# whether or not to still send network location requests to
+# QNP when the EULA is not consented to by the user. QNP can
+# still return ZPP locations or injected locations even
+# without EULA consent, but the uncertainty can be high.
+NLP_MODE = 3
+NLP_TOLERANCE_TIME_FIRST = 5000
+NLP_TOLERANCE_TIME_AFTER = 20000
+NLP_THRESHOLD = 3
+NLP_ACCURACY_MULTIPLE = 2
+NLP_COMBO_MODE_USES_QNP_WITH_NO_EULA_CONSENT = 1
+
+# Threshold period for ZPP triggers
+ZPP_TRIGGER_THRESHOLD=60000
+
+###################################
+# GEOFENCE SERVICES
+###################################
+# If set to one of the defined values below, it will override
+# the responsiveness for geofence services, which implements
+# the Proximity Alert API. If not set to a value defined below,
+# which is default, it will not override the responsivness.
+# The geofence HAL API is unaffected by this value.
+# GEOFENCE_SERVICES_RESPONSIVENESS_OVERRIDE Values:
+# 1: LOW responsiveness
+# 2: MEDIUM responsiveness
+# 3: HIGH responsiveness
+GEOFENCE_SERVICES_RESPONSIVENESS_OVERRIDE = 0
+
+#####################################
+# IZAT PREMIUM FEATURE SETTINGS
+#####################################
+#Possible states of a feature:
+#DISABLED
+#BASIC
+#PREMIUM
+
+#GTP_CELL_PROC valid options:
+# AP
+# MODEM
+GTP_CELL_PROC=MODEM
+
+#GTP_CELL valid modes:
+# DISABLED
+# BASIC
+GTP_CELL=BASIC
+
+#GTP_WIFI valid modes:
+# DISABLED
+# BASIC
+GTP_WIFI=BASIC
+
+#GTP_WAA valid modes:
+# DISABLED
+# BASIC
+GTP_WAA=DISABLED
+
+#SAP valid modes:
+# DISABLED
+# BASIC
+# PREMIUM
+SAP=PREMIUM
+
+#ODCPI valid modes:
+#DISABLED
+#BASIC
+ODCPI=BASIC
+
+#FREE_WIFI_SCAN_INJECT valid modes:
+#DISABLED
+#BASIC
+FREE_WIFI_SCAN_INJECT=BASIC
+
+#SUPL_WIFI valid modes:
+#DISABLED
+#BASIC
+SUPL_WIFI=BASIC
+
+#WIFI_SUPPLICANT_INFO valid modes:
+#DISABLED
+#BASIC
+WIFI_SUPPLICANT_INFO=BASIC
+
+#####################################
+# Location process launcher settings
+#####################################
+
+#Values for PROCESS_STATE:
+# ENABLED
+# DISABLED
+
+#FEATURE MASKS:
+# GTP-WIFI 0X03
+# GTP-AP-CELL 0X0c
+# GTP-MP-CELL 0xc00
+# GTP-WAA 0X300
+# SAP 0Xc0
+# ODCPI 0x1000
+# FREE_WIFI_SCAN_INJECT 0x2000
+# SUPL_WIFI 0x4000
+# WIFI_SUPPLICANT_INFO 0x8000
+
+#Values for PLATFORMS can be:
+#1. Any valid values obtained from ro.board.platform separated by single space. For example: msm8960 msm8226
+#2. all -> for All platforms
+
+#Values for BASEBAND can be:
+#1. Any valid values obtained from ro.baseband separated by single space. For example: sglte sglte2
+#2. all -> for all basebands
+
+#Valyes for LEAN_TARGETS can be:
+#ENABLED -> if this process is supposed to run on lean and mean targets
+#DISABLED -> if this process is to be disabled on lean and mean targets
+PROCESS_NAME=/system/bin/garden_app
+PROCESS_ARGUMENT=-u 0 -q 0 -j 0 -g 0 -l 0 -Z 0 -T 1
+PROCESS_STATE=ENABLED
+PROCESS_GROUPS=gps net_raw
+PREMIUM_FEATURE=0
+IZAT_FEATURE_MASK=0
+PLATFORMS=all
+BASEBAND=auto
+LEAN_TARGETS=DISABLED
+
+PROCESS_NAME=/system/bin/gpsone_daemon
+PROCESS_ARGUMENT=
+PROCESS_STATE=ENABLED
+PROCESS_GROUPS=inet net_raw
+PREMIUM_FEATURE=0
+IZAT_FEATURE_MASK=0
+PLATFORMS=msm7630_fusion
+BASEBAND=svlte2a sglte sglte2
+LEAN_TARGETS=DISABLED
+
+PROCESS_NAME=/system/bin/lowi-server
+PROCESS_ARGUMENT=
+PROCESS_STATE=ENABLED
+PROCESS_GROUPS=gps net_admin wifi inet diag net_raw
+PREMIUM_FEATURE=0
+IZAT_FEATURE_MASK=0xf303
+PLATFORMS=all
+BASEBAND=all
+LEAN_TARGETS=DISABLED
+
+PROCESS_NAME=/system/bin/xtwifi-inet-agent
+PROCESS_ARGUMENT=
+PROCESS_STATE=ENABLED
+PROCESS_GROUPS=inet gps
+PREMIUM_FEATURE=1
+IZAT_FEATURE_MASK=0xc0f
+PLATFORMS=all
+BASEBAND=all
+LEAN_TARGETS=DISABLED
+
+PROCESS_NAME=/system/bin/xtwifi-client
+PROCESS_ARGUMENT=
+PROCESS_STATE=ENABLED
+PROCESS_GROUPS=net_admin wifi inet gps net_raw rfs_shared
+PREMIUM_FEATURE=1
+IZAT_FEATURE_MASK=0xf0f
+PLATFORMS=all
+BASEBAND=all
+LEAN_TARGETS=DISABLED
+
+PROCESS_NAME=/system/vendor/bin/slim_daemon
+PROCESS_ARGUMENT=
+PROCESS_STATE=ENABLED
+PROCESS_GROUPS=gps net_raw diag
+PREMIUM_FEATURE=1
+IZAT_FEATURE_MASK=0xf0
+PLATFORMS=all
+BASEBAND=all
+LEAN_TARGETS=DISABLED
diff --git a/gps/lowi.conf b/gps/lowi.conf
new file mode 100644
index 0000000..cfadcb2
--- /dev/null
+++ b/gps/lowi.conf
@@ -0,0 +1,51 @@
+#*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*
+#
+# LOWI Config file
+#
+# GENERAL DESCRIPTION
+# This file contains the config params for LOWI
+#
+# Copyright (c) 2012-2013 Qualcomm Atheros, Inc.
+# All Rights Reserved.
+# Qualcomm Atheros Confidential and Proprietary.
+#
+# Export of this technology or software is regulated by the U.S. Government.
+# Diversion contrary to U.S. law prohibited.
+#=============================================================================*/
+
+# X86 ONLY - UBUNTU:
+# Copy this file in the same directory where the executable is
+
+# The RSSI threshold used in the RTT outlier detection in half decibels. Default value recommended by the
+# system team currently is -140 (corresponding to -70 dB).
+LOWI_RSSI_THRESHOLD_FOR_RTT = -140
+
+# Number of measurment per AP for RTS/CTS
+LOWI_RTS_CTS_NUM_MEAS = 5
+
+# Maximum Number of Outstanding Requests supported
+LOWI_MAX_OUTSTANDING_REQUEST = 255
+
+# Maximum number of records in Cache
+LOWI_MAX_NUM_CACHE_RECORDS = 200
+
+# Default threshold before issuing another fresh scan (ms)
+LOWI_FRESH_SCAN_THRESHOLD = 500
+
+# Timeout in case no result is reported by the driver (seconds)
+LOWI_NO_RESULT_WAIT_TOLERANCE = 10
+
+# Use Fake Wifi driver. Only valid for engineering builds
+LOWI_USE_FAKE_WIFI_DRIVER = 0
+
+# Use ROME Wifi driver. Only valid for engineering builds
+# Will be removed later only for development support
+LOWI_USE_ROME_WIFI_DRIVER = 0
+
+# Use LOWI LP.
+# When enabled the Discovery Request will be routed to LOWI-LP
+LOWI_USE_LOWI_LP = 1
+
+# Log level
+# EL_LOG_OFF = 0, EL_ERROR = 1, EL_WARNING = 2, EL_INFO = 3, EL_DEBUG = 4, EL_VERBOSE = 5, EL_LOG_ALL = 100
+LOWI_LOG_LEVEL = 2
diff --git a/gps/sap.conf b/gps/sap.conf
new file mode 100644
index 0000000..ce9cc0d
--- /dev/null
+++ b/gps/sap.conf
@@ -0,0 +1,53 @@
+################################
+# Sensor Settings
+################################
+#The following parameters are optional.
+#Internal defaults support MEMS sensors
+#native to most handset devices.
+#Device specific sensor characterization
+#for improved performance is possible as
+#described in SAP application notes.
+#GYRO_BIAS_RANDOM_WALK=
+#ACCEL_RANDOM_WALK_SPECTRAL_DENSITY=
+#ANGLE_RANDOM_WALK_SPECTRAL_DENSITY=
+#RATE_RANDOM_WALK_SPECTRAL_DENSITY=
+#VELOCITY_RANDOM_WALK_SPECTRAL_DENSITY=
+
+# Sensor Sampling Rate Parameters for Low-Data Rate Filter (should be greater than 0)
+# used in loc_eng_reinit
+SENSOR_ACCEL_BATCHES_PER_SEC=2
+SENSOR_ACCEL_SAMPLES_PER_BATCH=5
+SENSOR_GYRO_BATCHES_PER_SEC=2
+SENSOR_GYRO_SAMPLES_PER_BATCH=5
+# Sensor Sampling Rate Parameters for High-Data Rate Filter (should be greater than 0)
+SENSOR_ACCEL_BATCHES_PER_SEC_HIGH=4
+SENSOR_ACCEL_SAMPLES_PER_BATCH_HIGH=25
+SENSOR_GYRO_BATCHES_PER_SEC_HIGH=4
+SENSOR_GYRO_SAMPLES_PER_BATCH_HIGH=25
+
+# Sensor Control Mode (0=AUTO, 1=FORCE_ON)
+# used in loc_eng_reinit
+SENSOR_CONTROL_MODE=1
+
+# Enable or Disable Sensors for GPS use (0=Enable, 1=Disable)
+# used in loc_eng_reinit
+SENSOR_USAGE=0
+
+# Choose GSIFF sensor provider (1=Snapdragon Sensors Core, 2=Android NDK)
+SENSOR_PROVIDER=1
+
+# Bit mask used to define which sensor algorithms are used.
+# Setting each bit has the following definition:
+# 0x1 - DISABLE_INS_POSITIONING_FILTER
+# 0x0 - ENABLE_INS_POSITIONING_FILTER
+SENSOR_ALGORITHM_CONFIG_MASK=0x0
+
+# Time source used by Sensor HAL
+# Setting this value controls accuracy of location sensor services.
+# 0 - Unknown
+# 1 - CLOCK_BOOTTIME
+# 2 - CLOCK_MONOTONIC
+# 3 - CLOCK_REALTIME
+# 4 - CLOCK_BOOTTIME using Alarm timer interface
+NDK_PROVIDER_TIME_SOURCE=1
+
diff --git a/healthd/healthd.h b/healthd/healthd.h
index 022c1c4..1f0d28c 100644
--- a/healthd/healthd.h
+++ b/healthd/healthd.h
@@ -1,6 +1,6 @@
/*
* Copyright (C) 2013 The Android Open Source Project
- * Copyright (C) 2015 The CyanogenMod Project
+ * Copyright (C) 2017 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/AndroidProducts.mk b/keylayout/cyttsp4_btn.kl
index 9839158..2929ec1 100644
--- a/AndroidProducts.mk
+++ b/keylayout/cyttsp4_btn.kl
@@ -12,6 +12,8 @@
# 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.
+#
-PRODUCT_MAKEFILES := \
- $(LOCAL_DIR)/full_shamrock.mk
+key 158 BACK VIRTUAL
+key 172 HOME VIRTUAL
+key 580 APP_SWITCH VIRTUAL
diff --git a/keylayout/gpio-keys.kl b/keylayout/gpio-keys.kl
new file mode 100644
index 0000000..079fcd2
--- /dev/null
+++ b/keylayout/gpio-keys.kl
@@ -0,0 +1,32 @@
+# Copyright (c) 2014, The Linux Foundation. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following
+# disclaimer in the documentation and/or other materials provided
+# with the distribution.
+# * Neither the name of The Linux Foundation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+key 115 VOLUME_UP
+key 114 VOLUME_DOWN
+key 102 HOME
+key 528 FOCUS
+key 766 CAMERA
diff --git a/overlay/frameworks/base/core/res/res/xml/power_profile.xml b/overlay/frameworks/base/core/res/res/xml/power_profile.xml
index b097445..558667f 100644
--- a/overlay/frameworks/base/core/res/res/xml/power_profile.xml
+++ b/overlay/frameworks/base/core/res/res/xml/power_profile.xml
@@ -1,92 +1,59 @@
-<?xml version="1.0" encoding="utf-8"?>
-<device name="Android">
- <item name="none">0</item>
- <item name="screen.on">18</item>
- <item name="screen.full">154.8</item>
- <array name="screen.brightness">
- <value>dark</value>
- <value>dim</value>
- <value>medium</value>
- <value>light</value>
- <value>bright</value>
- </array>
- <array name="screen.brightness_bin">
- <value>18</value>
- <value>52.2</value>
- <value>86.04</value>
- <value>120.96</value>
- <value>154.80</value>
- </array>
- <array name="gpu.speeds">
- <value>27000</value>
- <value>200000</value>
- <value>320000</value>
- <value>400000</value>
- </array>
- <array name="gpu.active">
- <value>102.6</value>
- <value>406.8</value>
- <value>525.6</value>
- <value>626.4</value>
- </array>
- <item name="bluetooth.active">25.2</item>
- <item name="bluetooth.on">1.8</item>
- <item name="bluetooth.at">0</item>
- <item name="wifi.on">1.14</item>
- <item name="wifi.active">74</item>
- <item name="wifi.scan">54</item>
- <item name="dsp.audio">10.8</item>
- <item name="dsp.video">39.6</item>
- <item name="radio.talk">96.12</item>
- <item name="radio.active">191.16</item>
- <item name="gps.on">50.4</item>
- <item name="battery.capacity">3100</item>
- <item name="radio.scanning">82.8</item>
- <item name="camera.flashlight">160</item>
- <item name="camera.avg">550</item>
- <array name="radio.on">
- <value>2.88</value>
- <value>2.88</value>
- </array>
- <array name="cpu.speeds">
- <value>300000</value>
- <value>422400</value>
- <value>652800</value>
- <value>729600</value>
- <value>883200</value>
- <value>960000</value>
- <value>1036800</value>
- <value>1190400</value>
- <value>1267200</value>
- <value>1497600</value>
- <value>1574400</value>
- <value>1728000</value>
- <value>1958400</value>
- <value>2265600</value>
- </array>
- <item name="cpu.idle">2.52</item>
- <item name="cpu.awake">9.08</item>
- <array name="cpu.active">
- <value>23.60</value>
- <value>24.24</value>
- <value>31.00</value>
- <value>31.98</value>
- <value>45.47</value>
- <value>49.44</value>
- <value>51.78</value>
- <value>58.26</value>
- <value>61.76</value>
- <value>77.48</value>
- <value>84.47</value>
- <value>96.27</value>
- <value>112.63</value>
- <value>161.76</value>
- </array>
- <array name="wifi.batchedscan">
- <value>0.0002</value>
- <value>0.002</value>
- <value>0.02</value>
- <value>0.2</value>
- <value>2</value>
- </array>
+<?xml version="1.0" encoding="utf-8"?>
+<device name="Android">
+ <item name="none">0</item>
+ <item name="screen.on">135.24</item>
+ <item name="screen.full">441</item>
+ <item name="bluetooth.active">55.71</item>
+ <item name="bluetooth.on">1.42</item>
+ <item name="wifi.on">0.5</item>
+ <item name="wifi.active">394.3</item>
+ <item name="wifi.scan">90.1</item>
+ <item name="dsp.audio">15.91</item>
+ <item name="dsp.video">51.5</item>
+ <item name="gps.on">65.2</item>
+ <item name="radio.active">180.63</item>
+ <item name="radio.scanning">5</item>
+ <array name="radio.on">
+ <value>1.1</value>
+ </array>
+ <array name="cpu.speeds.cluster0">
+ <value>960000</value>
+ <value>1094400</value>
+ <value>1344000</value>
+ <value>1440000</value>
+ <value>1516800</value>
+ </array>
+ <array name="cpu.speeds.cluster1">
+ <value>806400</value>
+ <value>998400</value>
+ <value>1094400</value>
+ <value>1209600</value>
+ </array>
+ <item name="cpu.idle">3.63</item>
+ <item name="cpu.awake">26.15</item>
+ <array name="cpu.active.cluster0">
+ <value>107.96</value>
+ <value>156.31</value>
+ <value>222.49</value>
+ <value>274.09</value>
+ <value>283.91</value>
+ </array>
+ <array name="cpu.active.cluster1">
+ <value>53.14</value>
+ <value>79.58</value>
+ <value>155.09</value>
+ <value>188.37</value>
+ </array>
+ <array name="cpu.clusters.cores">
+ <value>4</value>
+ <value>4</value>
+ </array>
+ <item name="battery.capacity">3100</item>
+ <array name="wifi.batchedscan">
+ <value>.0076</value>
+ <value>.0613</value>
+ <value>.4845</value>
+ <value>3.870</value>
+ <value>30.96</value>
+ </array>
</device> \ No newline at end of file
diff --git a/sensors/hals.conf b/sensors/hals.conf
new file mode 100644
index 0000000..5f3a14b
--- /dev/null
+++ b/sensors/hals.conf
@@ -0,0 +1 @@
+sensors.ssc.so
diff --git a/sensors/sensor_def_qcomdev.conf b/sensors/sensor_def_qcomdev.conf
new file mode 100644
index 0000000..9df54eb
--- /dev/null
+++ b/sensors/sensor_def_qcomdev.conf
@@ -0,0 +1,260 @@
+#
+# File: sensor_def_qcomdev.conf
+#
+# Tihs file contains default sensor registry values for Qualcomm development
+# test platforms.
+#
+# Copyright (c) 2013-2015 Qualcomm Technologies, Inc.
+# All Rights Reserved.
+# Confidential and Proprietary - Qualcomm Technologies, Inc.
+
+
+# File format:
+#
+# Lines starting with "#" are comments and ignored.
+#
+# File metadata uses this format:
+# :key value1 value2
+#
+# The following keys are defined:
+# - "version" : value1 is non-zero positive version number of the file. This
+# number will be stored in the sensors registry. It should be equal to the
+# largest version of any item. It will be saved in the sensors registry for
+# later use when initializing values. See the item format below.
+# This value should only be specified once in the file.
+#
+# - "hardware" : The value1 will be compared to the "Hardware" string from
+# the property of ro.board.platform.
+# Items will only be used as default values in the registry if the hardware
+# string value is a substring of the ro.board.platform string.
+# This metadata key can be used more than once, so that one file can support
+# more than one type of hardware.
+# The value may be NULL, indicating common item values for all hardware.
+# Common conf entries for multiple hardware can be mentioned as below.
+# configuration below this string is common for 8952,8956 and 8974
+# :hardware 8952 8956 8974
+# hardware list gets overwritten with the new one every time when "hardware"
+# tag appears while parsing conf file.
+#
+# - "platform" : Similar to the "hardware" key, but this string will need to
+# match the text of either /sys/devices/soc0/hw_platform or
+# /sys/devices/soc0/platform_subtype.
+# Common conf entries for multiple platform can be mentioned as below.
+# configuration below this string is common for MTP and QRD
+# :platfrom MTP QRD
+# platform list gets overwritten with the new one every time when "platfrom"
+# tag appears while parsing conf file.
+#
+#
+# - "soc_id" : Similar to the "hardware" key, but this string will need to
+# match the text of /sys/devices/soc0/soc_id.
+# Common conf entries for multiple soc_id can be mentioned as below.
+# configuration below this string is common for soc_id 264 and 278
+# :soc_id 264 278
+# soc_id list gets overwritten with the new one every time when "soc_id"
+# tag appears while parsing conf file.
+#
+# - "subtype" : Similar to the "hardware" key, but this string will need to
+# match the text of /sys/devices/soc0/platform_subtype.
+# Common conf entries for multiple subtype can be mentioned as below.
+# configuration below this string is common for subtype X and Y
+# :subtype X Y
+# subtype list gets overwritten with the new one every time when "subtype"
+# tag appears while parsing conf file.
+#
+# - "soc_rev" : Similar to the "hardware" key, but this string will need to
+# match the text of /sys/devices/soc0/revision.
+# Common conf entries for multiple soc_rev can be mentioned as below.
+# configuration below this string is common for soc_rev 1.0,2.0 and 3.0
+# :soc_rev 1.0 2.0 3.0
+# soc_rev list gets overwritten with the new one every time when "soc_rev"
+# tag appears while parsing conf file.
+#
+# - "property" : value1 is the Android system property key, and value2 is
+# the desired property value. If the system property value matches the
+# desired property value, then the following items will be applied.
+# This metadata key can be used more than once, in which case the new
+# property value overrides the old.
+# value1 and 2 may be NULL, indicating common item values for all properties.
+#
+# Registry items are in lines with the following format:
+# <itemID> <value> <version>
+# Where:
+# itemID is the numeric item ID defined in sns_reg_api_v02.h
+#
+# "value" is the numeric value of the item.
+#
+# "version" is a non-zero version of the item value.
+# The version field will be compared against the previous saved
+# value in the sensors registry. If this value is greater than the
+# saved value, the default will be applied. Otherwise, the default
+# will be skipped.
+#
+# Registry item values will only be applied if the hardware, platform, and
+# property values match for the current hardware configuration.
+#
+# The numeric fields are parsed with the strtoull function, base 0.
+#
+
+:version 0x00010001
+
+#######################################################################
+### 8952 Chipsets
+#######################################################################
+:hardware 8952
+:platform
+:property
+:subtype
+# Use soc_id of msm8952(264) to indicate, this configuration is specific
+# to msm8952 targets. This is needed as msm8952 and msm8976 share same
+# hardware field.
+# soc_id for msm8952 targets is 264
+# soc_id for apq8052 targets is 289
+:soc_id 264 289
+# Orientation of sensors
+# accel x/y/z
+700 2 0x00010001 #accel-x-axis
+701 1 0x00010001 #accel-y-axis
+702 -3 0x00010001 #accel-z-axis
+# gyro x/y/z
+800 2 0x00010001 #gyro-x-axis
+801 1 0x00010001 #gyro-y-axis
+802 -3 0x00010001 #gyro-z-axis
+# mag x/y/z
+900 -2 0x00010001 #mag-x-axis
+901 -1 0x00010001 #mag-y-axis
+902 -3 0x00010001 #mag-z-axis
+# SSI SMGR Version
+1900 1 0x00010001 #Maj Ver
+1901 1 0x00010001 #Min Ver
+
+# SAM config
+#
+203 65536 0x10001 # AMD
+225 983040 0x10001 # RMD
+504 65536 0x10001 # Gyro Cal
+1703 65536 0x10001 # Ped
+2800 983040 0x10001 # basic ges
+2900 983040 0x10001 # Facing
+3400 65536 0x10001 # CMC
+609 983040 0x10001 # FMV
+1005 983040 0x10001 # Grav
+1103 983040 0x10001 # orientation
+3000 983040 0x10001 # gyro quat
+3100 983040 0x10001 # rot vec
+3500 983040 0x10001 # game rv
+4112 65536 0x10001 # SMD
+4103 5 0x10001 # SMD_ACC_WIN_TIME
+
+# SSI SMGR Cfg 0 BMI160 FIFO
+1903 0x0f4d0fd654c7eab5 0x00010001 #UUID
+1902 0xd646cb83ec0cd5a5 0x00010001 #UUID
+1904 10000 0x00010001 #off_to_idle
+1905 30000 0x00010001 #idle_to_ready
+1906 4 0x00010001 #i2c_bus
+1907 1000 0x00010001 #reg_group_id
+1908 0 0x00010001 #cal_grp_id
+1909 42 0x00010001 #gpio1
+1910 0xFFFF 0x00010001 #gpio2
+1911 0 0x00010001 #sensor_id
+1912 0x68 0x00010001 #i2c_address
+1913 1 0x00010001 #data_type1
+1914 0 0x00010001 #data_type2
+1915 -1 0x00010001 #rel_sns_idx
+1916 1 0x00010001 #sens_default
+1917 0xD0 0x00010001 #flags
+1982 0 0x00010001 #device_select
+
+# SSI SMGR Cfg 1 BMG160 FIFO
+1919 0x0f4d0fd654c7eab5 0x00010001 #UUID
+1918 0xd646cb83ec0cd5a5 0x00010001 #UUID
+1920 15000 0x00010001 #off_to_idle
+1921 25000 0x00010001 #idle_to_ready
+1922 4 0x00010001 #i2c_bus
+1923 1010 0x00010001 #reg_group_id
+1924 10 0x00010001 #cal_grp_id
+1925 37 0x00010001 #gpio1
+1926 0xFFFF 0x00010001 #gpio2
+1927 10 0x00010001 #sensor_id
+1928 0x68 0x00010001 #i2c_address
+1929 3 0x00010001 #data_type1
+1930 0 0x00010001 #data_type2
+1931 -1 0x00010001 #rel_sns_idx
+1932 4 0x00010001 #sens_default
+1933 0XD0 0x00010001 #flags
+1983 0 0x00010001 #device_select
+
+# SSI SMGR Cfg 3 MMC3530
+1951 0x7fc31ec17f1c0abd 0x00010001 #UUID
+1950 0x5c473990a806b072 0x00010001 #UUID
+1952 3000 0x00010001 #off_to_idle
+1953 10000 0x00010001 #idle_to_ready
+1954 4 0x00010001 #i2c_bus
+1955 1020 0x00010001 #reg_group_id
+1956 0xFFFF 0x00010001 #cal_grp_id
+1957 0xFFFF 0x00010001 #gpio1
+1958 0xFFFF 0x00010001 #gpio2
+1959 20 0x00010001 #sensor_id
+1960 0x30 0x00010001 #i2c_address
+1961 2 0x00010001 #data_type1
+1962 0 0x00010001 #data_type2
+1963 -1 0x00010001 #rel_sns_idx
+1964 1 0x00010001 #sens_default
+1965 0 0x00010001 #flags
+1985 0 0x00010001 #device_select
+
+# SSI SMGR Cfg 4: LTR579 POLL
+1967 0xb29f1b32d2e838b2 0x00010001 #UUID should same to ADSP
+1966 0x544031cd12c64e32 0x00010001 #UUID
+1968 5000 0x00010001 #off_to_idle
+1969 0 0x00010001 #idle_to_ready
+1970 4 0x00010001 #i2c_bus
+1971 1040 0x00010001 #reg_group_id
+1972 0xFFFF 0x00010001 #cal_grp_id
+1973 0xFFFF 0x00010001 #gpio1
+1974 0xFFFF 0x00010001 #gpio2
+1975 40 0x00010001 #sensor_id
+1976 0x53 0x00010001 #i2c_address
+1977 5 0x00010001 #data_type1
+1978 6 0x00010001 #data_type2
+1979 -1 0x00010001 #rel_sns_idx
+1980 0 0x00010001 #sens_default
+1981 0x00 0x00010001 #flags
+1986 0 0x00010001 #device_select
+
+# SSI SMGR Version
+3600 1 0x00010001 #Maj Ver
+3601 1 0x00010001 #Min Ver
+
+# QMAG_CAL Configuration
+3801 1 0x00010001
+3804 0x000A0000 0x00010001 #Sample Rate
+
+#
+# SSI GPIO configuration
+#-----------------------------
+2700 1 0x00010001 #maj ver
+2701 1 0x00010001 #min ver
+2702 14 0x00010001 #I2C SDA_1
+2703 15 0x00010001 #I2C SCL_1
+2704 0xFFFF 0x00010001 #I2C SDA_2
+2705 0xFFFF 0x00010001 #I2C SCL_2
+2706 132 0x00010001 #RESET pin
+2709 42 0x00010001 #ACCEL DRI
+2710 37 0x00010001 #GYRO DRI
+2711 0xFFFF 0x00010001 #MAG DRI
+2712 0xFFFF 0x00010001 #ALS/PRX INT
+2714 0xFFFF 0x00010001 #PRESS INT
+
+
+# AMD Cfg
+200 0x000A0000 0x00010001 #AMD Default Sample rate
+201 0x00000CDC 0x00010001 #AMD INT Cfg param1
+202 0x00008000 0x00010001 #AMD INT Cfg param2
+
+# RMD Cfg
+220 0x001E0000 0x00010001 #RMD Default Sample rate
+221 0X0001B333 0x00010001 #RMD INT Cfg param1
+222 0x00003333 0x00010001 #RMD INT Cfg param2
+223 0x00050000 0x00010001 #RMD INT Cfg param3
+224 0x00003333 0x00010001 #RMD INT Cfg param4
diff --git a/system.prop b/system.prop
index a9dc86b..77dd04d 100644
--- a/system.prop
+++ b/system.prop
@@ -1,5 +1,5 @@
#
-# System prop for Gm 5+
+# System prop for Gm 5 Plus # One-Teams.Com
#
# Audio
audio.deep_buffer.media=true
diff --git a/vendorsetup.sh b/vendorsetup.sh
deleted file mode 100644
index 8c0df90..0000000
--- a/vendorsetup.sh
+++ /dev/null
@@ -1 +0,0 @@
-add_lunch_combo cm_shamrock-userdebug
diff --git a/wifi/WCNSS_qcom_cfg.ini b/wifi/WCNSS_qcom_cfg.ini
new file mode 100644
index 0000000..25854f1
--- /dev/null
+++ b/wifi/WCNSS_qcom_cfg.ini
@@ -0,0 +1,408 @@
+# This file allows user to override the factory
+
+# defaults for the WLAN Driver
+
+
+# Enable IMPS or not
+gEnableImps=1
+
+# Enable/Disable Idle Scan
+
+gEnableIdleScan=0
+
+
+# Increase sleep duration (seconds) during IMPS
+# 0 implies no periodic wake up from IMPS. Periodic wakeup is
+# unnecessary if Idle Scan is disabled.
+gImpsModSleepTime=0
+
+
+# Enable BMPS or not
+gEnableBmps=1
+
+# Enable suspend or not
+
+# 1: Enable standby, 2: Enable Deep sleep, 3: Enable Mcast/Bcast Filter
+
+gEnableSuspend=3
+
+
+# Phy Mode (auto, b, g, n, etc)
+# Valid values are 0-9, with 0 = Auto, 4 = 11n, 9 = 11ac
+gDot11Mode=0
+
+
+# CSR Roaming Enable(1) Disable(0)
+
+gRoamingTime=0
+
+
+# Assigned MAC Addresses - This will be used until NV items are in place
+
+# Each byte of MAC address is represented in Hex format as XX
+
+Intf0MacAddress=000AF58989FF
+Intf1MacAddress=000AF58989FE
+Intf2MacAddress=000AF58989FD
+
+Intf3MacAddress=000AF58989FC
+
+# Set/Clear UAPSD mask
+
+UapsdMask=0
+
+# UAPSD service interval for VO,VI, BE, BK traffic
+
+InfraUapsdVoSrvIntv=20
+
+InfraUapsdViSrvIntv=40
+
+# Flag to allow STA send AddTspec even when ACM is Off
+gAddTSWhenACMIsOff=1
+
+# Make 1x1 the default antenna configuration
+
+gNumRxAnt=1
+
+
+# Beacon filtering frequency (unit in beacon intervals)
+
+gNthBeaconFilter=50
+
+
+# Enable WAPI or not
+
+# WAPIIsEnabled=0
+
+
+# Flags to filter Mcast abd Bcast RX packets.
+
+# Value 0: No filtering, 1: Filter all Multicast.
+
+# 2: Filter all Broadcast. 3: Filter all Mcast abd Bcast
+
+McastBcastFilter=3
+
+
+#Flag to enable HostARPOffload feature or not
+
+hostArpOffload=1
+
+
+#SoftAP Related Parameters
+
+# AP MAc addr
+
+gAPMacAddr=000AF589dcab
+
+
+# 802.11n Protection flag
+
+gEnableApProt=1
+
+
+#Enable OBSS protection
+
+gEnableApOBSSProt=1
+
+
+#Enable/Disable UAPSD for SoftAP
+
+gEnableApUapsd=1
+
+
+# Fixed Rate
+
+gFixedRate=0
+
+
+# Maximum Tx power
+
+# gTxPowerCap=30
+
+
+# Fragmentation Threshold
+
+# gFragmentationThreshold=2346
+
+
+# RTS threshold
+
+RTSThreshold=2347
+
+
+# Intra-BSS forward
+
+gDisableIntraBssFwd=0
+
+
+# WMM Enable/Disable
+
+WmmIsEnabled=0
+
+
+# 802.11d support
+
+g11dSupportEnabled=1
+
+# CCX Support and fast transition
+EseEnabled=0
+FastTransitionEnabled=1
+ImplicitQosIsEnabled=0
+gNeighborScanTimerPeriod=200
+
+# default value of this parameter is zero to enable dynamic threshold allocation
+# to set static roming threshold uncomment below parameter and set vaule
+#gNeighborLookupThreshold=78
+
+gNeighborScanChannelMinTime=20
+gNeighborScanChannelMaxTime=30
+
+# Legacy (non-CCX, non-802.11r) Fast Roaming Support
+# To enable, set FastRoamEnabled=1
+# To disable, set FastRoamEnabled=0
+FastRoamEnabled=1
+
+#Check if the AP to which we are roaming is better than current AP in terms of RSSI.
+#Checking is disabled if set to Zero.Otherwise it will use this value as to how better
+#the RSSI of the new/roamable AP should be for roaming
+RoamRssiDiff=5
+
+# SAP Country code
+
+# Default Country Code is 2 bytes, 3rd byte is optional indoor or out door.
+
+# Example
+
+# US Indoor, USI
+
+# Korea Outdoor, KRO
+
+# Japan without optional byte, JP
+
+# France without optional byte, FR
+
+#gAPCntryCode=USI
+
+
+#Short Guard Interval Enable/disable
+
+gShortGI20Mhz=1
+
+gShortGI40Mhz=1
+
+
+#Auto Shutdown Value in seconds. A value of 0 means Auto shutoff is disabled
+
+gAPAutoShutOff=0
+
+
+# SAP auto channel selection configuration
+
+# 0 = disable auto channel selection
+
+# 1 = enable auto channel selection, channel provided by supplicant will be ignored
+
+gApAutoChannelSelection=0
+
+
+# Listen Energy Detect Mode Configuration
+
+# Valid values 0-128
+
+# 128 means disable Energy Detect feature
+
+# 0-9 are threshold code and 7 is recommended value from system if feature is to be enabled.
+
+# 10-128 are reserved.
+
+# The EDET threshold mapping is as follows in 3dB step:
+
+# 0 = -60 dBm
+
+# 1 = -63 dBm
+
+# 2 = -66 dBm
+
+# ...
+
+# 7 = -81 dBm
+
+# 8 = -84 dBm
+
+# 9 = -87 dBm
+
+# Note: Any of these settings are valid. Setting 0 would yield the highest power saving (in a noisy environment) at the cost of more range. The range impact is approximately #calculated as:
+
+#
+
+# Range Loss (dB) = EDET threshold level (dBm) + 97 dBm.
+
+#
+
+gEnablePhyAgcListenMode=128
+
+
+#Preferred channel to start BT AMP AP mode (0 means, any channel)
+
+BtAmpPreferredChannel=0
+
+
+#Preferred band (both or 2.4 only or 5 only)
+
+BandCapability=0
+
+
+#Beacon Early Termination (1 = enable the BET feature, 0 = disable)
+
+enableBeaconEarlyTermination=1
+
+beaconEarlyTerminationWakeInterval=11
+
+
+#Bluetooth Alternate Mac Phy (1 = enable the BT AMP feature, 0 = disable)
+
+gEnableBtAmp=0
+
+
+#SOFTAP Channel Range selection
+
+gAPChannelSelectStartChannel=1
+
+gAPChannelSelectEndChannel=11
+
+
+#SOFTAP Channel Range selection Operating band
+
+# 0:2.4GHZ 1: LOW-5GHZ 2:MID-5GHZ 3:HIGH-5GHZ 4: 4.9HZ BAND
+
+gAPChannelSelectOperatingBand=0
+
+
+#Channel Bonding
+gChannelBondingMode5GHz=1
+
+gEnableModulatedDTIM = 3
+gMaxLIModulatedDTIM = 3
+gEnableDatainactivity = 200
+
+#Enable Keep alive with non-zero period value
+
+gStaKeepAlivePeriod=30
+
+
+#Say gGoKeepAlivePeriod(5 seconds) and gGoLinkMonitorPeriod(10 seconds).
+#For every 10 seconds DUT sends Qos Null frame(i.e., Keep Alive frame if link is idle for last 10 seconds.)
+#For both active and power save clients.
+
+#Power save clients: DUT set TIM bit from 10th second onwards and till client honors TIM bit.
+#If doesn't honor for 5 seconds then Driver remove client.
+
+#Active clients: DUT send Qos Null frame for 10th seconds onwards if it is not success still DUT try on
+#11th second if not tries on 12th and so on till 15th second. Hence before disconnection DUT will send 5 NULL frames.
+#Hence in any case DUT will detect client got removed in (10+5) seconds. i.e., (gGoKeepAlivePeriod +gGoLinkMonitorPeriod)..
+
+#gGoLinkMonitorPeriod/ gApLinkMonitorPeriod is period where link is idle and it is period
+#where we send NULL frame.
+
+#gApLinkMonitorPeriod = 10
+
+#gGoLinkMonitorPeriod = 10
+
+#gGoKeepAlivePeriod/gApKeepAlivePeriod is time to spend to check whether frame are succeed to send or not.
+#Hence total effective detection time is gGoLinkMonitorPeriod+ gGoKeepAlivePeriod/gApLinkMonitorPeriod+ gApKeepAlivePeriod.
+gGoKeepAlivePeriod = 10
+
+gApKeepAlivePeriod = 30
+#If set will start with active scan after driver load, otherwise will start with
+
+#passive scan to find out the domain
+
+#gEnableBypass11d=1
+
+
+#If set to 0, will not scan DFS channels
+
+gEnableDFSChnlScan=1
+
+gEnableLogp=1
+
+
+# Enable Automatic Tx Power control
+
+gEnableAutomaticTxPowerControl=0
+
+# 0 for OLPC 1 for CLPC and SCPC
+gEnableCloseLoop=1
+
+#Data Inactivity Timeout when in powersave (in ms)
+gDataInactivityTimeout=200
+
+gEnableLpwrImgTransition=1
+
+# Scan Timing Parameters
+# gPassiveMaxChannelTime=110
+# gPassiveMinChannelTime=60
+# Enable Tx LDPC
+#gTxLdpcEnable = 1 for HT mode, 2 for VHT mode,3 for both HT and VHT
+gTxLdpcEnable=3
+# gActiveMaxChannelTime=40
+# gActiveMinChannelTime=20
+
+# Valid values are 2048,4096,8192 and so on
+# Please don't use values other than the ones mentioned above
+gMaxMediumTime=4096
+
+# 802.11K support
+gRrmEnable=1
+gRrmOperChanMax=8
+gRrmNonOperChanMax=8
+gRrmRandIntvl=100
+
+#Scan offload
+gEnableDirectedScanOffload=0
+
+#FlexConnect Power Factor
+#Default is set to 0 (disable)
+gFlexConnectPowerFactor=0
+
+gVhtChannelWidth=2
+
+# VHT Tx/Rx MCS values
+# Valid values are 0,1,2. If commented out, the default value is 0.
+# 0=MCS0-7, 1=MCS0-8, 2=MCS0-9
+gVhtRxMCS=2
+gVhtTxMCS=2
+
+# Enable Tx beamforming
+gTxBFEnable=1
+
+# Setting csn value
+# Certain TxBF capability AP has an issue that when pronto advertise the csn value as 3 it uses the 2 antenna in the NDPA packet
+# but it is supposed to use the 3 antenna in the NDPA packet.
+# If we advertise the csn value as 2 then it uses 3 antennas in the NDPA packet.
+# We need to have ini configuration for setting the csn value.
+gTxBFCsnValue=3
+
+#Enable/Disable TDLS Feature
+gEnableTDLSSupport=1
+
+#Enable/Disable TDLS Implicit Trigger
+gEnableTDLSImplicitTrigger=0
+
+#Enable/Disable TDLS WMM Mode
+gEnableTDLSWmmMode=1
+
+#Enable/Disable TDLS Buffer Sta
+gEnableTDLSBufferSta=1
+
+#Enable/Disable Mgmt Frame Logging
+gEnableMgmtLogging=1
+
+#Enable/Disable MAc Spoofing
+gEnableMacAddrSpoof=1
+
+END
+
+# Note: Configuration parser would not read anything past the END marker
+
diff --git a/wifi/hostapd.accept b/wifi/hostapd.accept
new file mode 100644
index 0000000..923eab6
--- /dev/null
+++ b/wifi/hostapd.accept
@@ -0,0 +1,3 @@
+# List of MAC addresses that are allowed to authenticate (IEEE 802.11)
+# with the AP. Optional VLAN ID can be assigned for clients based on the
+# MAC address if dynamic VLANs (hostapd.conf dynamic_vlan option) are used.
diff --git a/wifi/hostapd.deny b/wifi/hostapd.deny
new file mode 100644
index 0000000..e4b6c09
--- /dev/null
+++ b/wifi/hostapd.deny
@@ -0,0 +1,2 @@
+# List of MAC addresses that are not allowed to authenticate (IEEE 802.11)
+# with the AP.
diff --git a/wifi/hostapd_default.conf b/wifi/hostapd_default.conf
new file mode 100644
index 0000000..915ceff
--- /dev/null
+++ b/wifi/hostapd_default.conf
@@ -0,0 +1,1043 @@
+##### hostapd configuration file ##############################################
+# Empty lines and lines starting with # are ignored
+
+# AP netdevice name (without 'ap' postfix, i.e., wlan0 uses wlan0ap for
+# management frames); ath0 for madwifi
+interface=wlan0
+
+# In case of madwifi and nl80211 driver interfaces, an additional configuration
+# parameter, bridge, must be used to notify hostapd if the interface is
+# included in a bridge. This parameter is not used with Host AP driver.
+#bridge=br0
+
+# Driver interface type (hostap/wired/madwifi/prism54/test/none/nl80211/bsd);
+# default: hostap). nl80211 is used with all Linux mac80211 drivers.
+# Use driver=none if building hostapd as a standalone RADIUS server that does
+# not control any wireless/wired driver.
+driver=nl80211
+
+# hostapd event logger configuration
+#
+# Two output method: syslog and stdout (only usable if not forking to
+# background).
+#
+# Module bitfield (ORed bitfield of modules that will be logged; -1 = all
+# modules):
+# bit 0 (1) = IEEE 802.11
+# bit 1 (2) = IEEE 802.1X
+# bit 2 (4) = RADIUS
+# bit 3 (8) = WPA
+# bit 4 (16) = driver interface
+# bit 5 (32) = IAPP
+# bit 6 (64) = MLME
+#
+# Levels (minimum value for logged events):
+# 0 = verbose debugging
+# 1 = debugging
+# 2 = informational messages
+# 3 = notification
+# 4 = warning
+#
+logger_syslog=-1
+logger_syslog_level=2
+logger_stdout=-1
+logger_stdout_level=2
+
+# Dump file for state information (on SIGUSR1)
+dump_file=/tmp/hostapd.dump
+
+# Interface for separate control program. If this is specified, hostapd
+# will create this directory and a UNIX domain socket for listening to requests
+# from external programs (CLI/GUI, etc.) for status information and
+# configuration. The socket file will be named based on the interface name, so
+# multiple hostapd processes/interfaces can be run at the same time if more
+# than one interface is used.
+# /var/run/hostapd is the recommended directory for sockets and by default,
+# hostapd_cli will use it when trying to connect with hostapd.
+ctrl_interface=/data/misc/wifi/hostapd
+
+
+# Access control for the control interface can be configured by setting the
+# directory to allow only members of a group to use sockets. This way, it is
+# possible to run hostapd as root (since it needs to change network
+# configuration and open raw sockets) and still allow GUI/CLI components to be
+# run as non-root users. However, since the control interface can be used to
+# change the network configuration, this access needs to be protected in many
+# cases. By default, hostapd is configured to use gid 0 (root). If you
+# want to allow non-root users to use the contron interface, add a new group
+# and change this value to match with that group. Add users that should have
+# control interface access to this group.
+#
+# This variable can be a group name or gid.
+#ctrl_interface_group=wheel
+#ctrl_interface_group=0
+
+
+##### IEEE 802.11 related configuration #######################################
+
+# SSID to be used in IEEE 802.11 management frames
+ssid=QualcommSoftAP
+
+# Country code (ISO/IEC 3166-1). Used to set regulatory domain.
+# Set as needed to indicate country in which device is operating.
+# This can limit available channels and transmit power.
+#country_code=US
+
+# Enable IEEE 802.11d. This advertises the country_code and the set of allowed
+# channels and transmit power levels based on the regulatory limits. The
+# country_code setting must be configured with the correct country for
+# IEEE 802.11d functions.
+# (default: 0 = disabled)
+#ieee80211d=1
+
+# Operation mode (a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g,
+# n = IEEE 802.11n, g_only = IEEE 802.11g_only, n_only = IEEE 802.11n_only,
+# Default: IEEE 802.11n
+hw_mode=g
+
+# Channel number (IEEE 802.11)
+# (default: 0, i.e., not set)
+# Please note that some drivers (e.g., madwifi) do not use this value from
+# hostapd and the channel will need to be configuration separately with
+# iwconfig.
+channel=6
+
+# Beacon interval in kus (1.024 ms) (default: 100; range 15..65535)
+beacon_int=100
+
+# DTIM (delivery trafic information message) period (range 1..255):
+# number of beacons between DTIMs (1 = every beacon includes DTIM element)
+# (default: 2)
+dtim_period=2
+
+# Maximum number of stations allowed in station table. New stations will be
+# rejected after the station table is full. IEEE 802.11 has a limit of 2007
+# different association IDs, so this number should not be larger than that.
+# (default: 2007)
+max_num_sta=255
+
+# RTS/CTS threshold; 2347 = disabled (default); range 0..2347
+# If this field is not included in hostapd.conf, hostapd will not control
+# RTS threshold and 'iwconfig wlan# rts <val>' can be used to set it.
+#rts_threshold=2347
+
+# Fragmentation threshold; 2346 = disabled (default); range 256..2346
+# If this field is not included in hostapd.conf, hostapd will not control
+# fragmentation threshold and 'iwconfig wlan# frag <val>' can be used to set
+# it.
+#fragm_threshold=2346
+
+# Rate configuration
+# Default is to enable all rates supported by the hardware. This configuration
+# item allows this list be filtered so that only the listed rates will be left
+# in the list. If the list is empty, all rates are used. This list can have
+# entries that are not in the list of rates the hardware supports (such entries
+# are ignored). The entries in this list are in 100 kbps, i.e., 11 Mbps = 110.
+# If this item is present, at least one rate have to be matching with the rates
+# hardware supports.
+# default: use the most common supported rate setting for the selected
+# hw_mode (i.e., this line can be removed from configuration file in most
+# cases)
+#supported_rates=10 20 55 110 60 90 120 180 240 360 480 540
+
+# Basic rate set configuration
+# List of rates (in 100 kbps) that are included in the basic rate set.
+# If this item is not included, usually reasonable default set is used.
+# This basic rates set is currently used for g-only profile
+#basic_rates=60
+
+# Short Preamble
+# This parameter can be used to enable optional use of short preamble for
+# frames sent at 2 Mbps, 5.5 Mbps, and 11 Mbps to improve network performance.
+# This applies only to IEEE 802.11b-compatible networks and this should only be
+# enabled if the local hardware supports use of short preamble. If any of the
+# associated STAs do not support short preamble, use of short preamble will be
+# disabled (and enabled when such STAs disassociate) dynamically.
+# 0 = do not allow use of short preamble (default)
+# 1 = allow use of short preamble
+#preamble=1
+
+# Station MAC address -based authentication
+# Please note that this kind of access control requires a driver that uses
+# hostapd to take care of management frame processing and as such, this can be
+# used with driver=hostap or driver=nl80211, but not with driver=madwifi.
+# 0 = accept unless in deny list
+# 1 = deny unless in accept list
+# 2 = use external RADIUS server (accept/deny lists are searched first)
+macaddr_acl=0
+
+# Accept/deny lists are read from separate files (containing list of
+# MAC addresses, one per line). Use absolute path name to make sure that the
+# files can be read on SIGHUP configuration reloads.
+accept_mac_file=/data/misc/wifi/hostapd.accept
+deny_mac_file=/data/misc/wifi/hostapd.deny
+
+# IEEE 802.11 specifies two authentication algorithms. hostapd can be
+# configured to allow both of these or only one. Open system authentication
+# should be used with IEEE 802.1X.
+# Bit fields of allowed authentication algorithms:
+# bit 0 = Open System Authentication
+# bit 1 = Shared Key Authentication (requires WEP)
+auth_algs=3
+
+# Send empty SSID in beacons and ignore probe request frames that do not
+# specify full SSID, i.e., require stations to know SSID.
+# default: disabled (0)
+# 1 = send empty (length=0) SSID in beacon and ignore probe request for
+# broadcast SSID
+# 2 = clear SSID (ASCII 0), but keep the original length (this may be required
+# with some clients that do not support empty SSID) and ignore probe
+# requests for broadcast SSID
+ignore_broadcast_ssid=0
+
+# TX queue parameters (EDCF / bursting)
+# default for all these fields: not set, use hardware defaults
+# tx_queue_<queue name>_<param>
+# queues: data0, data1, data2, data3, after_beacon, beacon
+# (data0 is the highest priority queue)
+# parameters:
+# aifs: AIFS (default 2)
+# cwmin: cwMin (1, 3, 7, 15, 31, 63, 127, 255, 511, 1023)
+# cwmax: cwMax (1, 3, 7, 15, 31, 63, 127, 255, 511, 1023); cwMax >= cwMin
+# burst: maximum length (in milliseconds with precision of up to 0.1 ms) for
+# bursting
+#
+# Default WMM parameters (IEEE 802.11 draft; 11-03-0504-03-000e):
+# These parameters are used by the access point when transmitting frames
+# to the clients.
+#
+# Low priority / AC_BK = background
+#tx_queue_data3_aifs=7
+#tx_queue_data3_cwmin=15
+#tx_queue_data3_cwmax=1023
+#tx_queue_data3_burst=0
+# Note: for IEEE 802.11b mode: cWmin=31 cWmax=1023 burst=0
+#
+# Normal priority / AC_BE = best effort
+#tx_queue_data2_aifs=3
+#tx_queue_data2_cwmin=15
+#tx_queue_data2_cwmax=63
+#tx_queue_data2_burst=0
+# Note: for IEEE 802.11b mode: cWmin=31 cWmax=127 burst=0
+#
+# High priority / AC_VI = video
+#tx_queue_data1_aifs=1
+#tx_queue_data1_cwmin=7
+#tx_queue_data1_cwmax=15
+#tx_queue_data1_burst=3.0
+# Note: for IEEE 802.11b mode: cWmin=15 cWmax=31 burst=6.0
+#
+# Highest priority / AC_VO = voice
+#tx_queue_data0_aifs=1
+#tx_queue_data0_cwmin=3
+#tx_queue_data0_cwmax=7
+#tx_queue_data0_burst=1.5
+# Note: for IEEE 802.11b mode: cWmin=7 cWmax=15 burst=3.3
+#
+# Special queues; normally not user configurable
+#
+#tx_queue_after_beacon_aifs=2
+#tx_queue_after_beacon_cwmin=15
+#tx_queue_after_beacon_cwmax=1023
+#tx_queue_after_beacon_burst=0
+#
+#tx_queue_beacon_aifs=2
+#tx_queue_beacon_cwmin=3
+#tx_queue_beacon_cwmax=7
+#tx_queue_beacon_burst=1.5
+
+# 802.1D Tag (= UP) to AC mappings
+# WMM specifies following mapping of data frames to different ACs. This mapping
+# can be configured using Linux QoS/tc and sch_pktpri.o module.
+# 802.1D Tag 802.1D Designation Access Category WMM Designation
+# 1 BK AC_BK Background
+# 2 - AC_BK Background
+# 0 BE AC_BE Best Effort
+# 3 EE AC_BE Best Effort
+# 4 CL AC_VI Video
+# 5 VI AC_VI Video
+# 6 VO AC_VO Voice
+# 7 NC AC_VO Voice
+# Data frames with no priority information: AC_BE
+# Management frames: AC_VO
+# PS-Poll frames: AC_BE
+
+# Default WMM parameters (IEEE 802.11 draft; 11-03-0504-03-000e):
+# for 802.11a or 802.11g networks
+# These parameters are sent to WMM clients when they associate.
+# The parameters will be used by WMM clients for frames transmitted to the
+# access point.
+#
+# note - txop_limit is in units of 32microseconds
+# note - acm is admission control mandatory flag. 0 = admission control not
+# required, 1 = mandatory
+# note - here cwMin and cmMax are in exponent form. the actual cw value used
+# will be (2^n)-1 where n is the value given here
+#
+wmm_enabled=1
+#
+# Low priority / AC_BK = background
+wmm_ac_bk_cwmin=4
+wmm_ac_bk_cwmax=10
+wmm_ac_bk_aifs=7
+wmm_ac_bk_txop_limit=0
+wmm_ac_bk_acm=0
+# Note: for IEEE 802.11b mode: cWmin=5 cWmax=10
+#
+# Normal priority / AC_BE = best effort
+wmm_ac_be_aifs=3
+wmm_ac_be_cwmin=4
+wmm_ac_be_cwmax=10
+wmm_ac_be_txop_limit=0
+wmm_ac_be_acm=0
+# Note: for IEEE 802.11b mode: cWmin=5 cWmax=7
+#
+# High priority / AC_VI = video
+wmm_ac_vi_aifs=2
+wmm_ac_vi_cwmin=3
+wmm_ac_vi_cwmax=4
+wmm_ac_vi_txop_limit=94
+wmm_ac_vi_acm=0
+# Note: for IEEE 802.11b mode: cWmin=4 cWmax=5 txop_limit=188
+#
+# Highest priority / AC_VO = voice
+wmm_ac_vo_aifs=2
+wmm_ac_vo_cwmin=2
+wmm_ac_vo_cwmax=3
+wmm_ac_vo_txop_limit=47
+wmm_ac_vo_acm=0
+# Note: for IEEE 802.11b mode: cWmin=3 cWmax=4 burst=102
+
+# Static WEP key configuration
+#
+# The key number to use when transmitting.
+# It must be between 0 and 3, and the corresponding key must be set.
+# default: not set
+#wep_default_key=0
+# The WEP keys to use.
+# A key may be a quoted string or unquoted hexadecimal digits.
+# The key length should be 5, 13, or 16 characters, or 10, 26, or 32
+# digits, depending on whether 40-bit (64-bit), 104-bit (128-bit), or
+# 128-bit (152-bit) WEP is used.
+# Only the default key must be supplied; the others are optional.
+# default: not set
+#wep_key0=1234567890
+#wep_key1=1234567890
+#wep_key2=1234567890
+#wep_key3=1234567890
+
+# Station inactivity limit
+#
+# If a station does not send anything in ap_max_inactivity seconds, an
+# empty data frame is sent to it in order to verify whether it is
+# still in range. If this frame is not ACKed, the station will be
+# disassociated and then deauthenticated. This feature is used to
+# clear station table of old entries when the STAs move out of the
+# range.
+#
+# The station can associate again with the AP if it is still in range;
+# this inactivity poll is just used as a nicer way of verifying
+# inactivity; i.e., client will not report broken connection because
+# disassociation frame is not sent immediately without first polling
+# the STA with a data frame.
+# default: 300 (i.e., 5 minutes)
+#ap_max_inactivity=300
+
+# Enable/disable internal bridge for packets between associated stations.
+#
+# When IEEE 802.11 is used in managed mode, packets are usually send through
+# the AP even if they are from a wireless station to another wireless station.
+# This functionality requires that the AP has a bridge functionality that sends
+# frames back to the same interface if their destination is another associated
+# station. In addition, broadcast/multicast frames from wireless stations will
+# be sent both to the host system net stack (e.g., to eventually wired network)
+# and back to the wireless interface.
+#
+# The internal bridge is implemented within the wireless kernel module and it
+# bypasses kernel filtering (netfilter/iptables/ebtables). If direct
+# communication between the stations needs to be prevented, the internal
+# bridge can be disabled by setting bridge_packets=0.
+#
+# Note: If this variable is not included in hostapd.conf, hostapd does not
+# change the configuration and iwpriv can be used to set the value with
+# 'iwpriv wlan# param 10 0' command. If the variable is in hostapd.conf,
+# hostapd will override possible iwpriv configuration whenever configuration
+# file is reloaded.
+#
+# default: do not control from hostapd (80211.o defaults to 1=enabled)
+#bridge_packets=1
+
+# Maximum allowed Listen Interval (how many Beacon periods STAs are allowed to
+# remain asleep). Default: 65535 (no limit apart from field size)
+#max_listen_interval=100
+
+# Client isolation can be used to prevent low-level bridging of frames between
+# associated stations in the BSS. By default, this bridging is allowed.
+#ap_isolate=1
+
+##### IEEE 802.11n related configuration ######################################
+
+# ieee80211n: Whether IEEE 802.11n (HT) is enabled
+# 0 = disabled (default)
+# 1 = enabled
+# Note: You will also need to enable WMM for full HT functionality.
+ieee80211n=1
+
+#require_ht=1
+
+# ht_capab: HT capabilities (list of flags)
+# LDPC coding capability: [LDPC] = supported
+# Supported channel width set: [HT40-] = both 20 MHz and 40 MHz with secondary
+# channel below the primary channel; [HT40+] = both 20 MHz and 40 MHz
+# with secondary channel below the primary channel
+# (20 MHz only if neither is set)
+# Note: There are limits on which channels can be used with HT40- and
+# HT40+. Following table shows the channels that may be available for
+# HT40- and HT40+ use per IEEE 802.11n Annex J:
+# freq HT40- HT40+
+# 2.4 GHz 5-13 1-7 (1-9 in Europe/Japan)
+# 5 GHz 40,48,56,64 36,44,52,60
+# (depending on the location, not all of these channels may be available
+# for use)
+# Spatial Multiplexing (SM) Power Save: [SMPS-STATIC] or [SMPS-DYNAMIC]
+# (SMPS disabled if neither is set)
+# HT-greenfield: [GF] (disabled if not set)
+# Short GI for 20 MHz: [SHORT-GI-20] (disabled if not set)
+# Short GI for 40 MHz: [SHORT-GI-40] (disabled if not set)
+# Tx STBC: [TX-STBC] (disabled if not set)
+# Rx STBC: [RX-STBC1] (one spatial stream), [RX-STBC12] (one or two spatial
+# streams), or [RX-STBC123] (one, two, or three spatial streams); Rx STBC
+# disabled if none of these set
+# HT-delayed Block Ack: [DELAYED-BA] (disabled if not set)
+# Maximum A-MSDU length: [MAX-AMSDU-7935] for 7935 octets (3839 octets if not
+# set)
+# DSSS/CCK Mode in 40 MHz: [DSSS_CCK-40] = allowed (not allowed if not set)
+# PSMP support: [PSMP] (disabled if not set)
+# L-SIG TXOP protection support: [LSIG-TXOP-PROT] (disabled if not set)
+# QcHostapd:
+# LOWER byte for associated stations
+# UPPER byte for overlapping stations
+# each byte will have the following info
+# bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8
+# OBSS RIFS LSIG_TXOP NON_GF HT20 FROM_11G FROM_11B FROM_11A
+# bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
+# OBSS RIFS LSIG_TXOP NON_GF HT_20 FROM_11G FROM_11B FROM_11A
+#ht_capab=[HT40-] [SHORT-GI-20] [SHORT-GI-40]
+ht_capab=[SHORT-GI-20] [GF] [DSSS_CCK-40] [LSIG-TXOP-PROT]
+#ht_capab=[LDPC] [HT40-] [HT40+] [SMPS-STATIC] [SMPS-DYNAMIC] [GF] [SHORT-GI-20] [SHORT-GI-40] [TX-STBC] [RX-STBC1] [RX-STBC12] [RX-STBC123] [DELAYED-BA] [MAX-AMSDU-7935] [DSSS_CCK-40] [PSMP] [LSIG-TXOP-PROT]
+
+##### IEEE 802.1X-2004 related configuration ##################################
+
+# Require IEEE 802.1X authorization
+#ieee8021x=1
+
+# IEEE 802.1X/EAPOL version
+# hostapd is implemented based on IEEE Std 802.1X-2004 which defines EAPOL
+# version 2. However, there are many client implementations that do not handle
+# the new version number correctly (they seem to drop the frames completely).
+# In order to make hostapd interoperate with these clients, the version number
+# can be set to the older version (1) with this configuration value.
+#eapol_version=2
+
+# Optional displayable message sent with EAP Request-Identity. The first \0
+# in this string will be converted to ASCII-0 (nul). This can be used to
+# separate network info (comma separated list of attribute=value pairs); see,
+# e.g., RFC 4284.
+#eap_message=hello
+#eap_message=hello\0networkid=netw,nasid=foo,portid=0,NAIRealms=example.com
+
+# WEP rekeying (disabled if key lengths are not set or are set to 0)
+# Key lengths for default/broadcast and individual/unicast keys:
+# 5 = 40-bit WEP (also known as 64-bit WEP with 40 secret bits)
+# 13 = 104-bit WEP (also known as 128-bit WEP with 104 secret bits)
+#wep_key_len_broadcast=5
+#wep_key_len_unicast=5
+# Rekeying period in seconds. 0 = do not rekey (i.e., set keys only once)
+#wep_rekey_period=300
+
+# EAPOL-Key index workaround (set bit7) for WinXP Supplicant (needed only if
+# only broadcast keys are used)
+eapol_key_index_workaround=0
+
+# EAP reauthentication period in seconds (default: 3600 seconds; 0 = disable
+# reauthentication).
+#eap_reauth_period=3600
+
+# Use PAE group address (01:80:c2:00:00:03) instead of individual target
+# address when sending EAPOL frames with driver=wired. This is the most common
+# mechanism used in wired authentication, but it also requires that the port
+# is only used by one station.
+#use_pae_group_addr=1
+
+##### Integrated EAP server ###################################################
+
+# Optionally, hostapd can be configured to use an integrated EAP server
+# to process EAP authentication locally without need for an external RADIUS
+# server. This functionality can be used both as a local authentication server
+# for IEEE 802.1X/EAPOL and as a RADIUS server for other devices.
+
+# Use integrated EAP server instead of external RADIUS authentication
+# server. This is also needed if hostapd is configured to act as a RADIUS
+# authentication server.
+eap_server=1
+
+# Path for EAP server user database
+#eap_user_file=/etc/hostapd.eap_user
+
+# CA certificate (PEM or DER file) for EAP-TLS/PEAP/TTLS
+#ca_cert=/etc/hostapd.ca.pem
+
+# Server certificate (PEM or DER file) for EAP-TLS/PEAP/TTLS
+#server_cert=/etc/hostapd.server.pem
+
+# Private key matching with the server certificate for EAP-TLS/PEAP/TTLS
+# This may point to the same file as server_cert if both certificate and key
+# are included in a single file. PKCS#12 (PFX) file (.p12/.pfx) can also be
+# used by commenting out server_cert and specifying the PFX file as the
+# private_key.
+#private_key=/etc/hostapd.server.prv
+
+# Passphrase for private key
+#private_key_passwd=secret passphrase
+
+# Enable CRL verification.
+# Note: hostapd does not yet support CRL downloading based on CDP. Thus, a
+# valid CRL signed by the CA is required to be included in the ca_cert file.
+# This can be done by using PEM format for CA certificate and CRL and
+# concatenating these into one file. Whenever CRL changes, hostapd needs to be
+# restarted to take the new CRL into use.
+# 0 = do not verify CRLs (default)
+# 1 = check the CRL of the user certificate
+# 2 = check all CRLs in the certificate path
+#check_crl=1
+
+# dh_file: File path to DH/DSA parameters file (in PEM format)
+# This is an optional configuration file for setting parameters for an
+# ephemeral DH key exchange. In most cases, the default RSA authentication does
+# not use this configuration. However, it is possible setup RSA to use
+# ephemeral DH key exchange. In addition, ciphers with DSA keys always use
+# ephemeral DH keys. This can be used to achieve forward secrecy. If the file
+# is in DSA parameters format, it will be automatically converted into DH
+# params. This parameter is required if anonymous EAP-FAST is used.
+# You can generate DH parameters file with OpenSSL, e.g.,
+# "openssl dhparam -out /etc/hostapd.dh.pem 1024"
+#dh_file=/etc/hostapd.dh.pem
+
+# Configuration data for EAP-SIM database/authentication gateway interface.
+# This is a text string in implementation specific format. The example
+# implementation in eap_sim_db.c uses this as the UNIX domain socket name for
+# the HLR/AuC gateway (e.g., hlr_auc_gw). In this case, the path uses "unix:"
+# prefix.
+#eap_sim_db=unix:/tmp/hlr_auc_gw.sock
+
+# Encryption key for EAP-FAST PAC-Opaque values. This key must be a secret,
+# random value. It is configured as a 16-octet value in hex format. It can be
+# generated, e.g., with the following command:
+# od -tx1 -v -N16 /dev/random | colrm 1 8 | tr -d ' '
+#pac_opaque_encr_key=000102030405060708090a0b0c0d0e0f
+
+# EAP-FAST authority identity (A-ID)
+# A-ID indicates the identity of the authority that issues PACs. The A-ID
+# should be unique across all issuing servers. In theory, this is a variable
+# length field, but due to some existing implementations required A-ID to be
+# 16 octets in length, it is strongly recommended to use that length for the
+# field to provided interoperability with deployed peer implementation. This
+# field is configured in hex format.
+#eap_fast_a_id=101112131415161718191a1b1c1d1e1f
+
+# EAP-FAST authority identifier information (A-ID-Info)
+# This is a user-friendly name for the A-ID. For example, the enterprise name
+# and server name in a human-readable format. This field is encoded as UTF-8.
+#eap_fast_a_id_info=test server
+
+# Enable/disable different EAP-FAST provisioning modes:
+#0 = provisioning disabled
+#1 = only anonymous provisioning allowed
+#2 = only authenticated provisioning allowed
+#3 = both provisioning modes allowed (default)
+#eap_fast_prov=3
+
+# EAP-FAST PAC-Key lifetime in seconds (hard limit)
+#pac_key_lifetime=604800
+
+# EAP-FAST PAC-Key refresh time in seconds (soft limit on remaining hard
+# limit). The server will generate a new PAC-Key when this number of seconds
+# (or fewer) of the lifetime remains.
+#pac_key_refresh_time=86400
+
+# EAP-SIM and EAP-AKA protected success/failure indication using AT_RESULT_IND
+# (default: 0 = disabled).
+#eap_sim_aka_result_ind=1
+
+# Trusted Network Connect (TNC)
+# If enabled, TNC validation will be required before the peer is allowed to
+# connect. Note: This is only used with EAP-TTLS and EAP-FAST. If any other
+# EAP method is enabled, the peer will be allowed to connect without TNC.
+#tnc=1
+
+
+##### IEEE 802.11f - Inter-Access Point Protocol (IAPP) #######################
+
+# Interface to be used for IAPP broadcast packets
+#iapp_interface=eth0
+
+
+##### RADIUS client configuration #############################################
+# for IEEE 802.1X with external Authentication Server, IEEE 802.11
+# authentication with external ACL for MAC addresses, and accounting
+
+# The own IP address of the access point (used as NAS-IP-Address)
+own_ip_addr=127.0.0.1
+
+# Optional NAS-Identifier string for RADIUS messages. When used, this should be
+# a unique to the NAS within the scope of the RADIUS server. For example, a
+# fully qualified domain name can be used here.
+# When using IEEE 802.11r, nas_identifier must be set and must be between 1 and
+# 48 octets long.
+#nas_identifier=ap.example.com
+
+# RADIUS authentication server
+#auth_server_addr=127.0.0.1
+#auth_server_port=1812
+#auth_server_shared_secret=secret
+
+# RADIUS accounting server
+#acct_server_addr=127.0.0.1
+#acct_server_port=1813
+#acct_server_shared_secret=secret
+
+# Secondary RADIUS servers; to be used if primary one does not reply to
+# RADIUS packets. These are optional and there can be more than one secondary
+# server listed.
+#auth_server_addr=127.0.0.2
+#auth_server_port=1812
+#auth_server_shared_secret=secret2
+#
+#acct_server_addr=127.0.0.2
+#acct_server_port=1813
+#acct_server_shared_secret=secret2
+
+# Retry interval for trying to return to the primary RADIUS server (in
+# seconds). RADIUS client code will automatically try to use the next server
+# when the current server is not replying to requests. If this interval is set,
+# primary server will be retried after configured amount of time even if the
+# currently used secondary server is still working.
+#radius_retry_primary_interval=600
+
+
+# Interim accounting update interval
+# If this is set (larger than 0) and acct_server is configured, hostapd will
+# send interim accounting updates every N seconds. Note: if set, this overrides
+# possible Acct-Interim-Interval attribute in Access-Accept message. Thus, this
+# value should not be configured in hostapd.conf, if RADIUS server is used to
+# control the interim interval.
+# This value should not be less 600 (10 minutes) and must not be less than
+# 60 (1 minute).
+#radius_acct_interim_interval=600
+
+# Dynamic VLAN mode; allow RADIUS authentication server to decide which VLAN
+# is used for the stations. This information is parsed from following RADIUS
+# attributes based on RFC 3580 and RFC 2868: Tunnel-Type (value 13 = VLAN),
+# Tunnel-Medium-Type (value 6 = IEEE 802), Tunnel-Private-Group-ID (value
+# VLANID as a string). vlan_file option below must be configured if dynamic
+# VLANs are used. Optionally, the local MAC ACL list (accept_mac_file) can be
+# used to set static client MAC address to VLAN ID mapping.
+# 0 = disabled (default)
+# 1 = option; use default interface if RADIUS server does not include VLAN ID
+# 2 = required; reject authentication if RADIUS server does not include VLAN ID
+#dynamic_vlan=0
+
+# VLAN interface list for dynamic VLAN mode is read from a separate text file.
+# This list is used to map VLAN ID from the RADIUS server to a network
+# interface. Each station is bound to one interface in the same way as with
+# multiple BSSIDs or SSIDs. Each line in this text file is defining a new
+# interface and the line must include VLAN ID and interface name separated by
+# white space (space or tab).
+#vlan_file=/etc/hostapd.vlan
+
+# Interface where 802.1q tagged packets should appear when a RADIUS server is
+# used to determine which VLAN a station is on. hostapd creates a bridge for
+# each VLAN. Then hostapd adds a VLAN interface (associated with the interface
+# indicated by 'vlan_tagged_interface') and the appropriate wireless interface
+# to the bridge.
+#vlan_tagged_interface=eth0
+
+
+##### RADIUS authentication server configuration ##############################
+
+# hostapd can be used as a RADIUS authentication server for other hosts. This
+# requires that the integrated EAP server is also enabled and both
+# authentication services are sharing the same configuration.
+
+# File name of the RADIUS clients configuration for the RADIUS server. If this
+# commented out, RADIUS server is disabled.
+#radius_server_clients=/etc/hostapd.radius_clients
+
+# The UDP port number for the RADIUS authentication server
+#radius_server_auth_port=1812
+
+# Use IPv6 with RADIUS server (IPv4 will also be supported using IPv6 API)
+#radius_server_ipv6=1
+
+
+##### WPA/IEEE 802.11i configuration ##########################################
+
+# Enable WPA. Setting this variable configures the AP to require WPA (either
+# WPA-PSK or WPA-RADIUS/EAP based on other configuration). For WPA-PSK, either
+# wpa_psk or wpa_passphrase must be set and wpa_key_mgmt must include WPA-PSK.
+# For WPA-RADIUS/EAP, ieee8021x must be set (but without dynamic WEP keys),
+# RADIUS authentication server must be configured, and WPA-EAP must be included
+# in wpa_key_mgmt.
+# This field is a bit field that can be used to enable WPA (IEEE 802.11i/D3.0)
+# and/or WPA2 (full IEEE 802.11i/RSN):
+# bit0 = WPA
+# bit1 = IEEE 802.11i/RSN (WPA2) (dot11RSNAEnabled)
+#wpa=1
+
+# WPA pre-shared keys for WPA-PSK. This can be either entered as a 256-bit
+# secret in hex format (64 hex digits), wpa_psk, or as an ASCII passphrase
+# (8..63 characters) that will be converted to PSK. This conversion uses SSID
+# so the PSK changes when ASCII passphrase is used and the SSID is changed.
+# wpa_psk (dot11RSNAConfigPSKValue)
+# wpa_passphrase (dot11RSNAConfigPSKPassPhrase)
+#wpa_psk=0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
+#wpa_passphrase=qualcomm
+
+# Optionally, WPA PSKs can be read from a separate text file (containing list
+# of (PSK,MAC address) pairs. This allows more than one PSK to be configured.
+# Use absolute path name to make sure that the files can be read on SIGHUP
+# configuration reloads.
+#wpa_psk_file=/etc/hostapd.wpa_psk
+
+# Set of accepted key management algorithms (WPA-PSK, WPA-EAP, or both). The
+# entries are separated with a space. WPA-PSK-SHA256 and WPA-EAP-SHA256 can be
+# added to enable SHA256-based stronger algorithms.
+# (dot11RSNAConfigAuthenticationSuitesTable)
+#wpa_key_mgmt=WPA-PSK
+#wpa_key_mgmt=WPA-EAP
+
+# Set of accepted cipher suites (encryption algorithms) for pairwise keys
+# (unicast packets). This is a space separated list of algorithms:
+# CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0]
+# TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
+# Group cipher suite (encryption algorithm for broadcast and multicast frames)
+# is automatically selected based on this configuration. If only CCMP is
+# allowed as the pairwise cipher, group cipher will also be CCMP. Otherwise,
+# TKIP will be used as the group cipher.
+# (dot11RSNAConfigPairwiseCiphersTable)
+# Pairwise cipher for WPA (v1) (default: TKIP)
+#wpa_pairwise=TKIP CCMP
+# Pairwise cipher for RSN/WPA2 (default: use wpa_pairwise value)
+#rsn_pairwise=CCMP
+
+# Time interval for rekeying GTK (broadcast/multicast encryption keys) in
+# seconds. (dot11RSNAConfigGroupRekeyTime)
+wpa_group_rekey=86400
+
+# Rekey GTK when any STA that possesses the current GTK is leaving the BSS.
+# (dot11RSNAConfigGroupRekeyStrict)
+#wpa_strict_rekey=1
+
+# Time interval for rekeying GMK (master key used internally to generate GTKs
+# (in seconds).
+#wpa_gmk_rekey=86400
+
+# Maximum lifetime for PTK in seconds. This can be used to enforce rekeying of
+# PTK to mitigate some attacks against TKIP deficiencies.
+#wpa_ptk_rekey=600
+
+# Enable IEEE 802.11i/RSN/WPA2 pre-authentication. This is used to speed up
+# roaming be pre-authenticating IEEE 802.1X/EAP part of the full RSN
+# authentication and key handshake before actually associating with a new AP.
+# (dot11RSNAPreauthenticationEnabled)
+#rsn_preauth=1
+#
+# Space separated list of interfaces from which pre-authentication frames are
+# accepted (e.g., 'eth0' or 'eth0 wlan0wds0'. This list should include all
+# interface that are used for connections to other APs. This could include
+# wired interfaces and WDS links. The normal wireless data interface towards
+# associated stations (e.g., wlan0) should not be added, since
+# pre-authentication is only used with APs other than the currently associated
+# one.
+#rsn_preauth_interfaces=eth0
+
+# peerkey: Whether PeerKey negotiation for direct links (IEEE 802.11e) is
+# allowed. This is only used with RSN/WPA2.
+# 0 = disabled (default)
+# 1 = enabled
+#peerkey=1
+
+# ieee80211w: Whether management frame protection (MFP) is enabled
+# 0 = disabled (default)
+# 1 = optional
+# 2 = required
+#ieee80211w=0
+
+# Association SA Query maximum timeout (in TU = 1.024 ms; for MFP)
+# (maximum time to wait for a SA Query response)
+# dot11AssociationSAQueryMaximumTimeout, 1...4294967295
+#assoc_sa_query_max_timeout=1000
+
+# Association SA Query retry timeout (in TU = 1.024 ms; for MFP)
+# (time between two subsequent SA Query requests)
+# dot11AssociationSAQueryRetryTimeout, 1...4294967295
+#assoc_sa_query_retry_timeout=201
+
+
+# okc: Opportunistic Key Caching (aka Proactive Key Caching)
+# Allow PMK cache to be shared opportunistically among configured interfaces
+# and BSSes (i.e., all configurations within a single hostapd process).
+# 0 = disabled (default)
+# 1 = enabled
+#okc=1
+
+
+##### IEEE 802.11r configuration ##############################################
+
+# Mobility Domain identifier (dot11FTMobilityDomainID, MDID)
+# MDID is used to indicate a group of APs (within an ESS, i.e., sharing the
+# same SSID) between which a STA can use Fast BSS Transition.
+# 2-octet identifier as a hex string.
+#mobility_domain=a1b2
+
+# PMK-R0 Key Holder identifier (dot11FTR0KeyHolderID)
+# 1 to 48 octet identifier.
+# This is configured with nas_identifier (see RADIUS client section above).
+
+# Default lifetime of the PMK-RO in minutes; range 1..65535
+# (dot11FTR0KeyLifetime)
+#r0_key_lifetime=10000
+
+# PMK-R1 Key Holder identifier (dot11FTR1KeyHolderID)
+# 6-octet identifier as a hex string.
+#r1_key_holder=000102030405
+
+# Reassociation deadline in time units (TUs / 1.024 ms; range 1000..65535)
+# (dot11FTReassociationDeadline)
+#reassociation_deadline=1000
+
+# List of R0KHs in the same Mobility Domain
+# format: <MAC address> <NAS Identifier> <128-bit key as hex string>
+# This list is used to map R0KH-ID (NAS Identifier) to a destination MAC
+# address when requesting PMK-R1 key from the R0KH that the STA used during the
+# Initial Mobility Domain Association.
+#r0kh=02:01:02:03:04:05 r0kh-1.example.com 000102030405060708090a0b0c0d0e0f
+#r0kh=02:01:02:03:04:06 r0kh-2.example.com 00112233445566778899aabbccddeeff
+# And so on.. One line per R0KH.
+
+# List of R1KHs in the same Mobility Domain
+# format: <MAC address> <R0KH-ID> <128-bit key as hex string>
+# This list is used to map R1KH-ID to a destination MAC address when sending
+# PMK-R1 key from the R0KH. This is also the list of authorized R1KHs in the MD
+# that can request PMK-R1 keys.
+#r1kh=02:01:02:03:04:05 02:11:22:33:44:55 000102030405060708090a0b0c0d0e0f
+#r1kh=02:01:02:03:04:06 02:11:22:33:44:66 00112233445566778899aabbccddeeff
+# And so on.. One line per R1KH.
+
+# Whether PMK-R1 push is enabled at R0KH
+# 0 = do not push PMK-R1 to all configured R1KHs (default)
+# 1 = push PMK-R1 to all configured R1KHs whenever a new PMK-R0 is derived
+#pmk_r1_push=1
+
+##### Passive scanning ########################################################
+# Scan different channels every N seconds. 0 = disable passive scanning.
+#passive_scan_interval=60
+
+# Listen N usecs on each channel when doing passive scanning.
+# This value plus the time needed for changing channels should be less than
+# 32 milliseconds (i.e. 32000 usec) to avoid interruptions to normal
+# operations. Time needed for channel changing varies based on the used wlan
+# hardware.
+# default: disabled (0)
+#passive_scan_listen=10000
+
+# Passive scanning mode:
+# 0 = scan all supported modes (802.11a/b/g/Turbo) (default)
+# 1 = scan only the mode that is currently used for normal operations
+#passive_scan_mode=1
+
+# Maximum number of entries kept in AP table (either for passive scanning or
+# for detecting Overlapping Legacy BSS Condition). The oldest entry will be
+# removed when adding a new entry that would make the list grow over this
+# limit. Note! Wi-Fi certification for IEEE 802.11g requires that OLBC is
+# enabled, so this field should not be set to 0 when using IEEE 802.11g.
+# default: 255
+#ap_table_max_size=255
+
+# Number of seconds of no frames received after which entries may be deleted
+# from the AP table. Since passive scanning is not usually performed frequently
+# this should not be set to very small value. In addition, there is no
+# guarantee that every scan cycle will receive beacon frames from the
+# neighboring APs.
+# default: 60
+#ap_table_expiration_time=3600
+
+
+##### Wi-Fi Protected Setup (WPS) #############################################
+
+# WPS state
+# 0 = WPS disabled (default)
+# 1 = WPS enabled, not configured
+# 2 = WPS enabled, configured
+#wps_state=2
+
+# AP can be configured into a locked state where new WPS Registrar are not
+# accepted, but previously authorized Registrars (including the internal one)
+# can continue to add new Enrollees.
+ap_setup_locked=1
+
+# Universally Unique IDentifier (UUID; see RFC 4122) of the device
+# This value is used as the UUID for the internal WPS Registrar. If the AP
+# is also using UPnP, this value should be set to the device's UPnP UUID.
+# If not configured, UUID will be generated based on the local MAC address.
+#uuid=12345678-9abc-def0-1234-56789abcdef0
+
+# Note: If wpa_psk_file is set, WPS is used to generate random, per-device PSKs
+# that will be appended to the wpa_psk_file. If wpa_psk_file is not set, the
+# default PSK (wpa_psk/wpa_passphrase) will be delivered to Enrollees. Use of
+# per-device PSKs is recommended as the more secure option (i.e., make sure to
+# set wpa_psk_file when using WPS with WPA-PSK).
+
+# When an Enrollee requests access to the network with PIN method, the Enrollee
+# PIN will need to be entered for the Registrar. PIN request notifications are
+# sent to hostapd ctrl_iface monitor. In addition, they can be written to a
+# text file that could be used, e.g., to populate the AP administration UI with
+# pending PIN requests. If the following variable is set, the PIN requests will
+# be written to the configured file.
+#wps_pin_requests=/var/run/hostapd_wps_pin_requests
+
+# Device Name
+# User-friendly description of device; up to 32 octets encoded in UTF-8
+#device_name=Wireless AP
+
+# Manufacturer
+# The manufacturer of the device (up to 64 ASCII characters)
+#manufacturer=Qualcomm
+
+# Model Name
+# Model of the device (up to 32 ASCII characters)
+#model_name=QualcommSoftAP
+
+# Model Number
+# Additional device description (up to 32 ASCII characters)
+#model_number=123
+
+# Serial Number
+# Serial number of the device (up to 32 characters)
+#serial_number=12345
+
+# Primary Device Type
+# Used format: <categ>-<OUI>-<subcateg>
+# categ = Category as an integer value
+# OUI = OUI and type octet as a 4-octet hex-encoded value; 0050F204 for
+# default WPS OUI
+# subcateg = OUI-specific Sub Category as an integer value
+# Examples:
+# 1-0050F204-1 (Computer / PC)
+# 1-0050F204-2 (Computer / Server)
+# 5-0050F204-1 (Storage / NAS)
+# 6-0050F204-1 (Network Infrastructure / AP)
+#device_type=6-0050F204-1
+
+# OS Version
+# 4-octet operating system version number (hex string)
+#os_version=01020300
+
+# Config Methods
+# List of the supported configuration methods
+config_methods=label display push_button keypad
+
+# Access point PIN for initial configuration and adding Registrars
+# If not set, hostapd will not allow external WPS Registrars to control the
+# access point.
+#ap_pin=12345670
+
+# Skip building of automatic WPS credential
+# This can be used to allow the automatically generated Credential attribute to
+# be replaced with pre-configured Credential(s).
+#skip_cred_build=1
+
+# Additional Credential attribute(s)
+# This option can be used to add pre-configured Credential attributes into M8
+# message when acting as a Registrar. If skip_cred_build=1, this data will also
+# be able to override the Credential attribute that would have otherwise been
+# automatically generated based on network configuration. This configuration
+# option points to an external file that much contain the WPS Credential
+# attribute(s) as binary data.
+#extra_cred=hostapd.cred
+
+# Credential processing
+# 0 = process received credentials internally (default)
+# 1 = do not process received credentials; just pass them over ctrl_iface to
+# external program(s)
+# 2 = process received credentials internally and pass them over ctrl_iface
+# to external program(s)
+# Note: With wps_cred_processing=1, skip_cred_build should be set to 1 and
+# extra_cred be used to provide the Credential data for Enrollees.
+#
+# wps_cred_processing=1 will disabled automatic updates of hostapd.conf file
+# both for Credential processing and for marking AP Setup Locked based on
+# validation failures of AP PIN. An external program is responsible on updating
+# the configuration appropriately in this case.
+#wps_cred_processing=0
+
+# AP Settings Attributes for M7
+# By default, hostapd generates the AP Settings Attributes for M7 based on the
+# current configuration. It is possible to override this by providing a file
+# with pre-configured attributes. This is similar to extra_cred file format,
+# but the AP Settings attributes are not encapsulated in a Credential
+# attribute.
+#ap_settings=hostapd.ap_settings
+
+# WPS UPnP interface
+# If set, support for external Registrars is enabled.
+#upnp_iface=br0
+
+# Friendly Name (required for UPnP)
+# Short description for end use. Should be less than 64 characters.
+#friendly_name=Qualcomm Access Point
+
+# Manufacturer URL (optional for UPnP)
+#manufacturer_url=http://www.qualcomm.com/
+
+# Model Description (recommended for UPnP)
+# Long description for end user. Should be less than 128 characters.
+#model_description=Wireless Access Point
+
+# Model URL (optional for UPnP)
+#model_url=http://www.qualcomm.com/
+
+# Universal Product Code (optional for UPnP)
+# 12-digit, all-numeric code that identifies the consumer package.
+#upc=123456789012
+
+##### Multiple BSSID support ##################################################
+#
+# Above configuration is using the default interface (wlan#, or multi-SSID VLAN
+# interfaces). Other BSSIDs can be added by using separator 'bss' with
+# default interface name to be allocated for the data packets of the new BSS.
+#
+# hostapd will generate BSSID mask based on the BSSIDs that are
+# configured. hostapd will verify that dev_addr & MASK == dev_addr. If this is
+# not the case, the MAC address of the radio must be changed before starting
+# hostapd (ifconfig wlan0 hw ether <MAC addr>).
+#
+# BSSIDs are assigned in order to each BSS, unless an explicit BSSID is
+# specified using the 'bssid' parameter.
+# If an explicit BSSID is specified, it must be chosen such that it:
+# - results in a valid MASK that covers it and the dev_addr
+# - is not the same as the MAC address of the radio
+# - is not the same as any other explicitly specified BSSID
+#
+# Please note that hostapd uses some of the values configured for the first BSS
+# as the defaults for the following BSSes. However, it is recommended that all
+# BSSes include explicit configuration of all relevant configuration items.
+#
+#bss=wlan0_0
+#ssid=test2
+# most of the above items can be used here (apart from radio interface specific
+# items, like channel)
+
+#bss=wlan0_1
+#bssid=00:13:10:95:fe:0b
+# ...
diff --git a/wifi/p2p_supplicant_overlay.conf b/wifi/p2p_supplicant_overlay.conf
new file mode 100644
index 0000000..acbace2
--- /dev/null
+++ b/wifi/p2p_supplicant_overlay.conf
@@ -0,0 +1 @@
+disable_scan_offload=1
diff --git a/wifi/wpa_supplicant_overlay.conf b/wifi/wpa_supplicant_overlay.conf
new file mode 100644
index 0000000..58c2639
--- /dev/null
+++ b/wifi/wpa_supplicant_overlay.conf
@@ -0,0 +1,2 @@
+disable_scan_offload=1
+p2p_disabled=1