diff options
| author | wzedlare <vedatak01@gmail.com> | 2017-04-02 15:13:00 +0000 |
|---|---|---|
| committer | Kaan Kulahli <kaankulahli2@gmail.com> | 2017-04-14 17:37:11 +0000 |
| commit | e6e394ae10665a9fc02d493d72cdea53fad38edf (patch) | |
| tree | 95b2e605969883527b057cdc907ee570482387c0 | |
| parent | 42891beec3561525d70aa00fa57c4ac7d06678fc (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
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 @@ -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 |
