eqs: initial conversion from dubai

This commit is contained in:
SGCMarkus
2022-10-18 22:53:03 +02:00
parent 865bfdcecd
commit 954ee7661c
61 changed files with 5438 additions and 6320 deletions

View File

@@ -16,6 +16,6 @@
LOCAL_PATH := $(call my-dir) LOCAL_PATH := $(call my-dir)
ifeq ($(TARGET_DEVICE),dubai) ifeq ($(TARGET_DEVICE),eqs)
include $(call all-makefiles-under,$(LOCAL_PATH)) include $(call all-makefiles-under,$(LOCAL_PATH))
endif endif

View File

@@ -15,9 +15,9 @@
# #
PRODUCT_MAKEFILES := \ PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/lineage_dubai.mk $(LOCAL_DIR)/lineage_eqs.mk
COMMON_LUNCH_CHOICES := \ COMMON_LUNCH_CHOICES := \
lineage_dubai-user \ lineage_eqs-user \
lineage_dubai-userdebug \ lineage_eqs-userdebug \
lineage_dubai-eng lineage_eqs-eng

View File

@@ -14,25 +14,24 @@
# limitations under the License. # limitations under the License.
# #
DEVICE_PATH := device/motorola/dubai DEVICE_PATH := device/motorola/eqs
# Inherit from motorola sm7325-common # Inherit from motorola sm8475-common
include device/motorola/sm7325-common/BoardConfigCommon.mk include device/motorola/sm8475-common/BoardConfigCommon.mk
# Bootloader # Bootloader
TARGET_BOOTLOADER_BOARD_NAME := dubai TARGET_BOOTLOADER_BOARD_NAME := eqs
# Fingerprint # Fingerprint
TARGET_SURFACEFLINGER_UDFPS_LIB := //$(DEVICE_PATH):libudfps_extension.dubai #TARGET_SURFACEFLINGER_UDFPS_LIB := //$(DEVICE_PATH):libudfps_extension.eqs
SOONG_CONFIG_qtidisplay_udfps := true #SOONG_CONFIG_qtidisplay_udfps := true
# HIDL # HIDL
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE += $(DEVICE_PATH)/device_framework_matrix_dubai.xml DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE += $(DEVICE_PATH)/device_framework_matrix_eqs.xml
DEVICE_MANIFEST_YUPIK_FILES += $(DEVICE_PATH)/manifest_dubai.xml DEVICE_MANIFEST_CAPE_FILES += $(DEVICE_PATH)/manifest_eqs.xml
# Kernel # Kernel
BOARD_KERNEL_CMDLINE += androidboot.hab.product=dubai TARGET_KERNEL_CONFIG += vendor/lineage_eqs.config
TARGET_KERNEL_CONFIG += vendor/lineage_dubai.config
# Kernel Modules # Kernel Modules
BOARD_VENDOR_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules.load)) BOARD_VENDOR_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules.load))
@@ -41,14 +40,14 @@ BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVIC
BOOT_KERNEL_MODULES := $(BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD) BOOT_KERNEL_MODULES := $(BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD)
# Partitions # Partitions
BOARD_USERDATAIMAGE_PARTITION_SIZE := 116340535296 BOARD_USERDATAIMAGE_PARTITION_SIZE := 228362006528
ifneq ($(WITH_GMS),true) ifneq ($(WITH_GMS),true)
BOARD_PRODUCTIMAGE_PARTITION_RESERVED_SIZE := 3318226944 BOARD_PRODUCTIMAGE_PARTITION_RESERVED_SIZE := 3318226944
BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 873680896 BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 873680896
BOARD_SYSTEM_EXTIMAGE_PARTITION_RESERVED_SIZE := 916299776 BOARD_SYSTEM_EXTIMAGE_PARTITION_RESERVED_SIZE := 916299776
endif endif
BOARD_MOT_DP_GROUP_SIZE := 8921284608 # ( BOARD_SUPER_PARTITION_SIZE - 4MB ) BOARD_MOT_DP_GROUP_SIZE := 11806965760 # ( BOARD_SUPER_PARTITION_SIZE - 4MB )
BOARD_SUPER_PARTITION_SIZE := 8925478912 BOARD_SUPER_PARTITION_SIZE := 11811160064
# Properties # Properties
TARGET_SYSTEM_PROP += $(DEVICE_PATH)/system.prop TARGET_SYSTEM_PROP += $(DEVICE_PATH)/system.prop
@@ -58,7 +57,7 @@ TARGET_VENDOR_PROP += $(DEVICE_PATH)/vendor.prop
TARGET_RECOVERY_UI_MARGIN_HEIGHT := 90 TARGET_RECOVERY_UI_MARGIN_HEIGHT := 90
# Security # Security
VENDOR_SECURITY_PATCH := 2022-06-01 VENDOR_SECURITY_PATCH := 2022-09-01
# inherit from the proprietary version # inherit from the proprietary version
include vendor/motorola/dubai/BoardConfigVendor.mk include vendor/motorola/eqs/BoardConfigVendor.mk

25
audio/audio_effects.xml Executable file → Normal file
View File

@@ -3,6 +3,7 @@
<libraries> <libraries>
<library name="proxy" path="libeffectproxy.so"/> <library name="proxy" path="libeffectproxy.so"/>
<library name="mmieffects" path="libmmieffectswrapper.so"/> <library name="mmieffects" path="libmmieffectswrapper.so"/>
<library name="mot_speaker_helper" path="libspeakerbundle.so"/>
<library name="bundle" path="libbundlewrapper.so"/> <library name="bundle" path="libbundlewrapper.so"/>
<library name="reverb" path="libreverbwrapper.so"/> <library name="reverb" path="libreverbwrapper.so"/>
<library name="visualizer" path="libvisualizer.so"/> <library name="visualizer" path="libvisualizer.so"/>
@@ -25,9 +26,33 @@
<effect name="downmix" library="downmix" uuid="93f04452-e4fe-41cc-91f9-e475b6d1d69f"/> <effect name="downmix" library="downmix" uuid="93f04452-e4fe-41cc-91f9-e475b6d1d69f"/>
<effect name="dynamics_processing" library="dynamics_processing" uuid="e0e6539b-1781-7261-676f-6d7573696340"/> <effect name="dynamics_processing" library="dynamics_processing" uuid="e0e6539b-1781-7261-676f-6d7573696340"/>
<effect name="loudness_enhancer" library="loudness_enhancer" uuid="fa415329-2034-4bea-b5dc-5b381c8d1e2c"/> <effect name="loudness_enhancer" library="loudness_enhancer" uuid="fa415329-2034-4bea-b5dc-5b381c8d1e2c"/>
<effectProxy name="music_helper" library="proxy" uuid="00905020-4e52-11e4-83aa-0002a5d5c51b">
<libsw library="mot_speaker_helper" uuid="bce61ec2-eca4-445c-9dcb-91cc7cce01ab"/>
<libhw library="mot_speaker_helper" uuid="bce61ec2-eca4-445c-9dcb-91cc7cce01b0"/>
</effectProxy>
<effect name="voice_helper" library="mot_speaker_helper" uuid="bce61ec2-eca4-445c-9dcb-91cc7cce01ac"/>
<effect name="ring_helper" library="mot_speaker_helper" uuid="bce61ec2-eca4-445c-9dcb-91cc7cce01ad"/>
<effect name="notification_helper" library="mot_speaker_helper" uuid="bce61ec2-eca4-445c-9dcb-91cc7cce01ae"/>
<effect name="aec" library="audio_pre_processing" uuid="0f8d0d2a-59e5-45fe-b6e4-248c8a799109"/> <effect name="aec" library="audio_pre_processing" uuid="0f8d0d2a-59e5-45fe-b6e4-248c8a799109"/>
<effect name="ns" library="audio_pre_processing" uuid="1d97bb0b-9e2f-4403-9ae3-58c2554306f8"/> <effect name="ns" library="audio_pre_processing" uuid="1d97bb0b-9e2f-4403-9ae3-58c2554306f8"/>
</effects> </effects>
<postprocess>
<stream type="music">
<apply effect="music_helper"/>
</stream>
<stream type="ring">
<apply effect="ring_helper"/>
</stream>
<stream type="alarm">
<apply effect="ring_helper"/>
</stream>
<stream type="voice_call">
<apply effect="voice_helper"/>
</stream>
<stream type="notification">
<apply effect="notification_helper"/>
</stream>
</postprocess>
<preprocess> <preprocess>
<stream type="voice_communication"> <stream type="voice_communication">
<apply effect="aec"/> <apply effect="aec"/>

18
audio/audio_ext_spkr.conf Executable file → Normal file
View File

@@ -1,29 +1,29 @@
global_config { global_config {
name Dubai name Eqs
sonification_pad 20 force_ring_ramp true
sonification_prox_timeout_sec 5 sonification_pad 43
} }
ring { ring {
#dB to attenuate playback to meet safety level at each volume step #dB to attenuate playback to meet safety level at each volume step
#16 steps total, 15...0. In case of truncated list, last attenuation #16 steps total, 15...0. In case of truncated list, last attenuation
#given will be applied to all lower volume steps #given will be applied to all lower volume steps
attenuation 32,31,30,29,27,25,23,21,19,17,15,12,9,6,3,0 attenuation 43,41,38,35,32,29,26,23,20,17,14,9,4,0,0,0
knee_step 16 knee_step 21
} }
voice { voice {
#dB to attenuate playback to meet safety level at each volume step #dB to attenuate playback to meet safety level at each volume step
#16 steps total, 15...0. In case of truncated list, last attenuation #16 steps total, 15...0. In case of truncated list, last attenuation
#given will be applied to all lower volume steps #given will be applied to all lower volume steps
attenuation 32,31,30,29,27,25,23,21,19,17,15,12,9,6,3,0 attenuation 43,39,35,32,28,23,21,19,17,15,12,6,1,0,0,0
knee_step 16 knee_step 21
} }
media { media {
#dB to attenuate playback to meet safety level at each volume step #dB to attenuate playback to meet safety level at each volume step
#16 steps total, 15...0. In case of truncated list, last attenuation #16 steps total, 15...0. In case of truncated list, last attenuation
#given will be applied to all lower volume steps #given will be applied to all lower volume steps
attenuation 32,31,30,29,27,25,23,21,19,17,15,12,9,6,3,0 attenuation 43,39,35,32,28,23,21,19,17,15,12,6,1,0,0,0
knee_step 16 knee_step 21
} }

280
audio/audio_policy_configuration.xml Executable file → Normal file
View File

@@ -1,9 +1,28 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<audioPolicyConfiguration version="1.0" xmlns:xi="http://www.w3.org/2001/XInclude"> <!-- Copyright (c) 2016-2021, The Linux Foundation. All rights reserved
Not a Contribution.
-->
<!-- Copyright (C) 2015 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<audioPolicyConfiguration version="7.0" xmlns:xi="http://www.w3.org/2001/XInclude">
<!-- version section contains a “version” tag in the form “major.minor” e.g version=”1.0” --> <!-- version section contains a “version” tag in the form “major.minor” e.g version=”1.0” -->
<!-- Global configuration Decalaration --> <!-- Global configuration Decalaration -->
<globalConfiguration speaker_drc_enabled="false"/> <globalConfiguration speaker_drc_enabled="true" call_screen_mode_supported="true"/>
<!-- Modules section: <!-- Modules section:
There is one section per audio HW module present on the platform. There is one section per audio HW module present on the platform.
@@ -35,139 +54,214 @@
<item>Telephony Tx</item> <item>Telephony Tx</item>
<item>Built-In Mic</item> <item>Built-In Mic</item>
<item>Built-In Back Mic</item> <item>Built-In Back Mic</item>
<item>FM Tuner</item>
<item>Telephony Rx</item> <item>Telephony Rx</item>
<item>FM tuner</item>
</attachedDevices> </attachedDevices>
<defaultOutputDevice>Speaker</defaultOutputDevice> <defaultOutputDevice>Speaker</defaultOutputDevice>
<mixPorts> <mixPorts>
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_PRIMARY"> <mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_FAST AUDIO_OUTPUT_FLAG_PRIMARY">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT" <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100,48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="haptics output" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO_HAPTIC_A"/>
</mixPort> </mixPort>
<mixPort name="deep_buffer" role="source" <mixPort name="deep_buffer" role="source"
flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER"> flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT" <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort> </mixPort>
<mixPort name="hifi_playback" role="source" /> <mixPort name="hifi_playback" role="source" />
<mixPort name="compress_passthrough" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD AUDIO_OUTPUT_FLAG_NON_BLOCKING">
</mixPort>
<mixPort name="direct_pcm" role="source" <mixPort name="direct_pcm" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT"> flags="AUDIO_OUTPUT_FLAG_DIRECT">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT" <profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000" samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000 352800 384000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/> channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED" <profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000" samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000 352800 384000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/> channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT" <profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000" samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000 352800 384000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/> channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
</mixPort> </mixPort>
<mixPort name="compressed_offload" role="source" <mixPort name="compressed_offload" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING"> flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD AUDIO_OUTPUT_FLAG_NON_BLOCKING AUDIO_OUTPUT_FLAG_GAPLESS_OFFLOAD">
<profile name="" format="AUDIO_FORMAT_MP3" <profile name="" format="AUDIO_FORMAT_MP3"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000" samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/> channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_LC"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_FLAC" <profile name="" format="AUDIO_FORMAT_FLAC"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000" samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/> channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_ALAC"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000"
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
<profile name="" format="AUDIO_FORMAT_APE"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_LC"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_DTS"
samplingRates="32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1"/>
<profile name="" format="AUDIO_FORMAT_DTS_HD"
samplingRates="32000 44100 48000 64000 88200 96000 128000 176400 192000"
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
<profile name="" format="AUDIO_FORMAT_WMA"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
<profile name="" format="AUDIO_FORMAT_WMA_PRO"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
<profile name="" format="AUDIO_FORMAT_VORBIS"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_LC"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_HE_V1"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_HE_V2"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
</mixPort> </mixPort>
<mixPort name="voice_tx" role="source"> <mixPort name="voice_tx" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT" <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/> samplingRates="8000 16000 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort> </mixPort>
<mixPort name="primary input" role="sink"> <mixPort name="voip_rx" role="source"
flags="AUDIO_OUTPUT_FLAG_VOIP_RX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT" <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000" samplingRates="8000 16000 32000 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/>
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_IN_AMBISONIC,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_IN_AMBISONIC,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>
</mixPort>
<mixPort name="scc input" role="sink" flags="AUDIO_INPUT_FLAG_HW_HOTWORD">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="16000"
channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</mixPort>
<mixPort name="voice_rx" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
</mixPort> </mixPort>
<mixPort name="incall_music_uplink" role="source" <mixPort name="incall_music_uplink" role="source"
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC"> flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT" <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000,48000" samplingRates="8000 16000 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort> </mixPort>
<mixPort name="hifi_input" role="sink" />
<mixPort name="fm input" role="sink"> <mixPort name="primary input" role="sink" maxOpenCount="2" maxActiveCount="2">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT" <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100,48000" samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/> channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/>
</mixPort> </mixPort>
<mixPort name="voip_rx" role="source" <mixPort name="fast input" role="sink"
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_VOIP_RX"> flags="AUDIO_INPUT_FLAG_FAST">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT" <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/> samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/>
</mixPort> </mixPort>
<mixPort name="voip_tx" role="sink" <mixPort name="voip_tx" role="sink"
flags="AUDIO_INPUT_FLAG_VOIP_TX"> flags="AUDIO_INPUT_FLAG_VOIP_TX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT" <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/> samplingRates="8000 16000 32000 48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</mixPort> </mixPort>
<mixPort name="voice_rx" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 48000" channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="hifi_input" role="sink" />
</mixPorts> </mixPorts>
<devicePorts> <devicePorts>
<!-- Output devices declaration, i.e. Sink DEVICE PORT --> <!-- Output devices declaration, i.e. Sink DEVICE PORT -->
<devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink"> <devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</devicePort> </devicePort>
<devicePort tagName="Speaker" type="AUDIO_DEVICE_OUT_SPEAKER" role="sink"> <devicePort tagName="Speaker" role="sink" type="AUDIO_DEVICE_OUT_SPEAKER" address="">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort> </devicePort>
<devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink"> <devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort> </devicePort>
<devicePort tagName="Wired Headphones" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE" role="sink"> <devicePort tagName="Wired Headphones" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort> </devicePort>
<devicePort tagName="Line Out" type="AUDIO_DEVICE_OUT_LINE" role="sink"> <devicePort tagName="Line" type="AUDIO_DEVICE_OUT_LINE" role="sink">
</devicePort> <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
<devicePort tagName="Dock Headset" type="AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET" role="sink"> samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort> </devicePort>
<devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink"> <devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</devicePort> </devicePort>
<devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink"> <devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</devicePort> </devicePort>
<devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink"> <devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
</devicePort> <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
<devicePort tagName="Proxy" type="AUDIO_DEVICE_OUT_PROXY" role="sink"> samplingRates="8000 16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</devicePort>
<devicePort tagName="HDMI Out" type="AUDIO_DEVICE_OUT_HDMI" role="sink">
</devicePort> </devicePort>
<devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink"> <devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="HDMI" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 11025 16000 22050 32000 44100 48000 64000 88200 96000 128000 176400 192000"/>
</devicePort>
<devicePort tagName="Proxy" type="AUDIO_DEVICE_OUT_PROXY" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 11025 16000 22050 32000 44100 48000 64000 88200 96000 128000 176400 192000"/>
</devicePort>
<devicePort tagName="FM" type="AUDIO_DEVICE_OUT_FM" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort> </devicePort>
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink"> <devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000 64000 88200 96000 128000 176400 192000"/>
</devicePort> </devicePort>
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink"> <devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000 64000 88200 96000 128000 176400 192000"/>
</devicePort> </devicePort>
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source"> <devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/>
</devicePort> </devicePort>
<devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source"> <devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/>
</devicePort>
<devicePort tagName="FM Tuner" type="AUDIO_DEVICE_IN_FM_TUNER" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</devicePort> </devicePort>
<devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source"> <devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/>
</devicePort> </devicePort>
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source"> <devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</devicePort> </devicePort>
<devicePort tagName="Telephony Rx" type="AUDIO_DEVICE_IN_TELEPHONY_RX" role="source"> <devicePort tagName="Telephony Rx" type="AUDIO_DEVICE_IN_TELEPHONY_RX" role="source">
</devicePort> <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
<devicePort tagName="FM tuner" type="AUDIO_DEVICE_IN_FM_TUNER" role="source"> samplingRates="8000 16000 48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</devicePort> </devicePort>
<devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source"> <devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source">
</devicePort> </devicePort>
@@ -177,45 +271,44 @@
<!-- route declaration, i.e. list all available sources for a given sink --> <!-- route declaration, i.e. list all available sources for a given sink -->
<routes> <routes>
<route type="mix" sink="Earpiece" <route type="mix" sink="Earpiece"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/> sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
<route type="mix" sink="Speaker" <route type="mix" sink="Speaker"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/> sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
<route type="mix" sink="Wired Headset" <route type="mix" sink="Wired Headset"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/> sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
<route type="mix" sink="Wired Headphones" <route type="mix" sink="Wired Headphones"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/> sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
<route type="mix" sink="Line Out" <route type="mix" sink="Line"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/> sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
<route type="mix" sink="Dock Headset" <route type="mix" sink="HDMI"
sources="primary output,deep_buffer,voip_rx"/> sources="primary output,deep_buffer,direct_pcm,compressed_offload,compress_passthrough,voip_rx,haptics output"/>
<route type="mix" sink="Proxy"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,haptics output"/>
<route type="mix" sink="FM"
sources="primary output"/>
<route type="mix" sink="BT SCO" <route type="mix" sink="BT SCO"
sources="primary output,deep_buffer,direct_pcm,voip_rx"/> sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
<route type="mix" sink="BT SCO Headset" <route type="mix" sink="BT SCO Headset"
sources="primary output,deep_buffer,direct_pcm,voip_rx"/> sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
<route type="mix" sink="BT SCO Car Kit" <route type="mix" sink="BT SCO Car Kit"
sources="primary output,deep_buffer,direct_pcm,voip_rx"/> sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
<route type="mix" sink="HDMI Out"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
<route type="mix" sink="USB Device Out" <route type="mix" sink="USB Device Out"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,hifi_playback,voip_rx"/> sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,hifi_playback,haptics output"/>
<route type="mix" sink="USB Headset Out" <route type="mix" sink="USB Headset Out"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,hifi_playback,voip_rx"/> sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,hifi_playback,haptics output"/>
<route type="mix" sink="Telephony Tx" <route type="mix" sink="Telephony Tx"
sources="voice_tx,incall_music_uplink"/> sources="voice_tx,incall_music_uplink"/>
<route type="mix" sink="voice_rx" <route type="mix" sink="voice_rx"
sources="Telephony Rx"/> sources="Telephony Rx"/>
<route type="mix" sink="Proxy" <route type="mix" sink="primary input"
sources="primary output,deep_buffer,direct_pcm,compressed_offload"/> sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,Telephony Rx,A2DP In"/>
<route type="mix" sink="fast input"
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
<route type="mix" sink="voip_tx" <route type="mix" sink="voip_tx"
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/> sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
<route type="mix" sink="primary input"
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,USB Device In,USB Headset In"/>
<route type="mix" sink="scc input"
sources="Built-In Mic,Wired Headset Mic"/>
<route type="mix" sink="fm input"
sources="FM tuner"/>
<route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" /> <route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" />
</routes> </routes>
</module> </module>
<!-- A2dp Audio HAL --> <!-- A2dp Audio HAL -->
@@ -225,18 +318,19 @@
<xi:include href="usb_audio_policy_configuration.xml"/> <xi:include href="usb_audio_policy_configuration.xml"/>
<!-- Remote Submix Audio HAL --> <!-- Remote Submix Audio HAL -->
<xi:include href="r_submix_audio_policy_configuration.xml"/> <xi:include href="/vendor/etc/r_submix_audio_policy_configuration.xml"/>
<!-- Bluetooth Audio HAL --> <!-- qti non-offload configuration to support Hearing Aid and LHDC -->
<xi:include href="bluetooth_audio_policy_configuration.xml"/> <xi:include href="/vendor/etc/bluetooth_audio_policy_configuration.xml"/>
</modules> </modules>
<!-- End of Modules section --> <!-- End of Modules section -->
<!-- Volume section --> <!-- Volume section -->
<xi:include href="audio_policy_volumes.xml"/> <xi:include href="/vendor/etc/audio_policy_volumes.xml"/>
<xi:include href="default_volume_tables.xml"/> <xi:include href="/vendor/etc/default_volume_tables.xml"/>
<!-- End of Volume section --> <!-- End of Volume section -->
</audioPolicyConfiguration> </audioPolicyConfiguration>

66
audio/audio_policy_volumes.xml Executable file → Normal file
View File

@@ -9,23 +9,19 @@ volume index from 0 to 100.
--> -->
<volumes> <volumes>
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_HEADSET"> <volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_HEADSET">
<point>0,-3700</point> <point>1,-3000</point>
<point>20,-2600</point> <point>33,-1600</point>
<point>40,-1800</point>
<point>60,-1100</point>
<point>80,-500</point>
<point>100,0</point>
</volume>
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_SPEAKER">
<point>0,-3000</point>
<point>33,-2000</point>
<point>66,-1000</point> <point>66,-1000</point>
<point>100,0</point> <point>100,0</point>
</volume> </volume>
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_SPEAKER"
ref="DEFAULT_VOICE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_EARPIECE" <volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_EARPIECE"
ref="DEFAULT_VOICE_VOLUME_CURVE"/> ref="DEFAULT_VOICE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" <volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_MEDIA_VOLUME_CURVE"/> ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_NON_MUTABLE_HEARING_AID_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_HEADSET"> <volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_HEADSET">
<point>1,-3000</point> <point>1,-3000</point>
<point>33,-2600</point> <point>33,-2600</point>
@@ -38,6 +34,8 @@ volume index from 0 to 100.
ref="DEFAULT_SYSTEM_VOLUME_CURVE"/> ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" <volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/> ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_HEADSET" <volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_HEADSET"
ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/> ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_SPEAKER" <volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_SPEAKER"
@@ -46,18 +44,18 @@ volume index from 0 to 100.
ref="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE"/> ref="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" <volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="SONIFICATION_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/> ref="SONIFICATION_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_HEADSET"> <volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
<point>1,-6000</point> ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
<point>33,-3800</point> <volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_HEADSET"
<point>66,-1800</point> ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<point>100,0</point>
</volume>
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_SPEAKER" <volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_SPEAKER"
ref="DEFAULT_DEVICE_CATEGORY_SPEAKER_VOLUME_CURVE"/> ref="DEFAULT_DEVICE_CATEGORY_SPEAKER_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_EARPIECE" <volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_EARPIECE"
ref="DEFAULT_MEDIA_VOLUME_CURVE"/> ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" <volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_MEDIA_VOLUME_CURVE"/> ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_HEADSET" <volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_HEADSET"
ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/> ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_SPEAKER" <volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_SPEAKER"
@@ -66,6 +64,8 @@ volume index from 0 to 100.
ref="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE"/> ref="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" <volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="SONIFICATION_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/> ref="SONIFICATION_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_NON_MUTABLE_HEARING_AID_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_HEADSET" <volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_HEADSET"
ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/> ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_SPEAKER" <volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_SPEAKER"
@@ -74,6 +74,8 @@ volume index from 0 to 100.
ref="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE"/> ref="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" <volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="SONIFICATION_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/> ref="SONIFICATION_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_HEADSET" <volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_HEADSET"
ref="DEFAULT_VOICE_VOLUME_CURVE"/> ref="DEFAULT_VOICE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_SPEAKER" <volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_SPEAKER"
@@ -82,6 +84,8 @@ volume index from 0 to 100.
ref="DEFAULT_VOICE_VOLUME_CURVE"/> ref="DEFAULT_VOICE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" <volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_MEDIA_VOLUME_CURVE"/> ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_HEADSET" <volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_HEADSET"
ref="DEFAULT_SYSTEM_VOLUME_CURVE"/> ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_SPEAKER" <volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_SPEAKER"
@@ -90,26 +94,22 @@ volume index from 0 to 100.
ref="DEFAULT_SYSTEM_VOLUME_CURVE"/> ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" <volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="SONIFICATION_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/> ref="SONIFICATION_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_HEADSET"> <volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_HEADSET">
<point>1,-3000</point> <point>1,-3000</point>
<point>33,-2600</point> <point>33,-2600</point>
<point>66,-2200</point> <point>66,-2200</point>
<point>100,-1800</point> <point>100,-1800</point>
</volume> </volume>
<volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_SPEAKER"> <volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_SPEAKER"
<point>1,-3800</point> ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
<point>33,-2800</point> <volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_EARPIECE"
<point>66,-2000</point> ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
<point>100,-1300</point> <volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
</volume>
<volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_EARPIECE">
<point>1,-2700</point>
<point>33,-1600</point>
<point>66,-700</point>
<point>100,0</point>
</volume>
<volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/> ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_HEADSET" <volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_HEADSET"
ref="SILENT_VOLUME_CURVE"/> ref="SILENT_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_SPEAKER" <volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_SPEAKER"
@@ -118,6 +118,8 @@ volume index from 0 to 100.
ref="SILENT_VOLUME_CURVE"/> ref="SILENT_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" <volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="SILENT_VOLUME_CURVE"/> ref="SILENT_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="SILENT_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_HEADSET" <volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_HEADSET"
ref="DEFAULT_MEDIA_VOLUME_CURVE"/> ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_SPEAKER" <volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_SPEAKER"
@@ -126,6 +128,8 @@ volume index from 0 to 100.
ref="DEFAULT_MEDIA_VOLUME_CURVE"/> ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" <volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_MEDIA_VOLUME_CURVE"/> ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_NON_MUTABLE_HEARING_AID_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_HEADSET" <volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_HEADSET"
ref="FULL_SCALE_VOLUME_CURVE"/> ref="FULL_SCALE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_SPEAKER" <volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_SPEAKER"
@@ -134,6 +138,8 @@ volume index from 0 to 100.
ref="FULL_SCALE_VOLUME_CURVE"/> ref="FULL_SCALE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" <volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="FULL_SCALE_VOLUME_CURVE"/> ref="FULL_SCALE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="FULL_SCALE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_HEADSET" <volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_HEADSET"
ref="FULL_SCALE_VOLUME_CURVE"/> ref="FULL_SCALE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_SPEAKER" <volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_SPEAKER"
@@ -142,4 +148,6 @@ volume index from 0 to 100.
ref="FULL_SCALE_VOLUME_CURVE"/> ref="FULL_SCALE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" <volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="FULL_SCALE_VOLUME_CURVE"/> ref="FULL_SCALE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="FULL_SCALE_VOLUME_CURVE"/>
</volumes> </volumes>

35
audio/default_volume_tables.xml Executable file → Normal file
View File

@@ -20,24 +20,24 @@
</reference> </reference>
<reference name="SONIFICATION_CATEGORY_SPEAKER_VOLUME_CURVE"> <reference name="SONIFICATION_CATEGORY_SPEAKER_VOLUME_CURVE">
<!-- Speaker Sonification reference Volume Curve --> <!-- Speaker Sonification reference Volume Curve -->
<point>1,-4800</point> <point>1,-3900</point>
<point>33,-3100</point> <point>33,-2600</point>
<point>66,-1500</point> <point>66,-1300</point>
<point>100,0</point> <point>100,0</point>
</reference> </reference>
<reference name="NOTIFICATION_CATEGORY_SPEAKER_VOLUME_CURVE"> <reference name="NOTIFICATION_CATEGORY_SPEAKER_VOLUME_CURVE">
<!-- Speaker Sonification reference Volume Curve --> <!-- Speaker Sonification reference Volume Curve -->
<point>1,-4900</point> <point>1,-5300</point>
<point>33,-3400</point> <point>33,-2990</point>
<point>66,-2000</point> <point>66,-1800</point>
<point>100,-700</point> <point>100,0</point>
</reference> </reference>
<reference name="DEFAULT_SYSTEM_VOLUME_CURVE"> <reference name="DEFAULT_SYSTEM_VOLUME_CURVE">
<!-- Default System reference Volume Curve --> <!-- Default System reference Volume Curve -->
<point>1,-3800</point> <point>1,-3800</point>
<point>33,-3300</point> <point>33,-3300</point>
<point>66,-2800</point> <point>66,-2800</point>
<point>100,-2300</point> <point>100,-1300</point>
</reference> </reference>
<reference name="DEFAULT_MEDIA_VOLUME_CURVE"> <reference name="DEFAULT_MEDIA_VOLUME_CURVE">
<!-- Default Media reference Volume Curve --> <!-- Default Media reference Volume Curve -->
@@ -62,9 +62,9 @@
</reference> </reference>
<reference name="DEFAULT_DEVICE_CATEGORY_SPEAKER_VOLUME_CURVE"> <reference name="DEFAULT_DEVICE_CATEGORY_SPEAKER_VOLUME_CURVE">
<!-- Default is Speaker Media Volume Curve --> <!-- Default is Speaker Media Volume Curve -->
<point>1,-5400</point> <point>1,-5800</point>
<point>33,-3000</point> <point>33,-3000</point>
<point>66,-1200</point> <point>66,-1400</point>
<point>100,0</point> <point>100,0</point>
</reference> </reference>
<reference name="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE"> <reference name="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE">
@@ -81,4 +81,19 @@
<point>60,-2100</point> <point>60,-2100</point>
<point>100,-1000</point> <point>100,-1000</point>
</reference> </reference>
<reference name="DEFAULT_HEARING_AID_VOLUME_CURVE">
<!-- Default Hearing Aid Volume Curve -->
<point>1,-12700</point>
<point>20,-8000</point>
<point>60,-4000</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_NON_MUTABLE_HEARING_AID_VOLUME_CURVE">
<!-- Default non-mutable Hearing Aid Volume Curve -->
<!-- based on DEFAULT_HEARING_AID_VOLUME_CURVE -->
<point>0,-12700</point>
<point>20,-8000</point>
<point>60,-4000</point>
<point>100,0</point>
</reference>
</volumes> </volumes>

View File

@@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<audio_effects_conf version="2.0" xmlns="http://schemas.android.com/audio/audio_effects_conf/v2_0">
<libraries>
<library name="proxy" path="libeffectproxy.so"/>
<library name="mmieffects" path="libmmieffectswrapper.so"/>
<library name="mot_speaker_helper" path="libspeakerbundle.so"/>
<library name="bundle" path="libbundlewrapper.so"/>
<library name="reverb" path="libreverbwrapper.so"/>
<library name="visualizer" path="libvisualizer.so"/>
<library name="downmix" path="libdownmix.so"/>
<library name="dynamics_processing" path="libdynproc.so"/>
<library name="loudness_enhancer" path="libldnhncr.so"/>
<library name="audio_pre_processing" path="libqcomvoiceprocessing.so"/>
<!--<library name="haptic_generator" path="libhapticgenerator.so"/>-->
<library name="moto_sst" path="libmsstwrapper.so"/>
<!--DOLBY DAP-->
<library name="dap" path="libswdap.so"/>
<!--DOLBY END-->
<!--DOLBY GAME-->
<library name="gamedap" path="libswgamedap.so"/>
<!--DOLBY END-->
<!--DOLBY VQE-->
<library name="vqe" path="libswvqe.so"/>
<!--DOLBY DVL-->
<library name="dvl" path="libdlbvol.so"/>
<!--DOLBY END-->
</libraries>
<effects>
<effect name="bassboost" library="bundle" uuid="8631f300-72e2-11df-b57e-0002a5d5c51b"/>
<effect name="virtualizer" library="bundle" uuid="1d4033c0-8557-11df-9f2d-0002a5d5c51b"/>
<effect name="equalizer" library="bundle" uuid="ce772f20-847d-11df-bb17-0002a5d5c51b"/>
<effect name="volume" library="bundle" uuid="119341a0-8469-11df-81f9-0002a5d5c51b"/>
<effect name="mmieffects" library="mmieffects" uuid="bce61ec2-eca4-445c-9dcb-91cc7cce01ba"/>
<effect name="reverb_env_aux" library="reverb" uuid="4a387fc0-8ab3-11df-8bad-0002a5d5c51b"/>
<effect name="reverb_env_ins" library="reverb" uuid="c7a511a0-a3bb-11df-860e-0002a5d5c51b"/>
<effect name="reverb_pre_aux" library="reverb" uuid="f29a1400-a3bb-11df-8ddc-0002a5d5c51b"/>
<effect name="reverb_pre_ins" library="reverb" uuid="172cdf00-a3bc-11df-a72f-0002a5d5c51b"/>
<effect name="visualizer" library="visualizer" uuid="d069d9e0-8329-11df-9168-0002a5d5c51b"/>
<effect name="downmix" library="downmix" uuid="93f04452-e4fe-41cc-91f9-e475b6d1d69f"/>
<effect name="dynamics_processing" library="dynamics_processing" uuid="e0e6539b-1781-7261-676f-6d7573696340"/>
<effect name="loudness_enhancer" library="loudness_enhancer" uuid="fa415329-2034-4bea-b5dc-5b381c8d1e2c"/>
<effectProxy name="music_helper" library="proxy" uuid="00905020-4e52-11e4-83aa-0002a5d5c51b">
<libsw library="mot_speaker_helper" uuid="bce61ec2-eca4-445c-9dcb-91cc7cce01ab"/>
<libhw library="mot_speaker_helper" uuid="bce61ec2-eca4-445c-9dcb-91cc7cce01b0"/>
</effectProxy>
<effect name="voice_helper" library="mot_speaker_helper" uuid="bce61ec2-eca4-445c-9dcb-91cc7cce01ac"/>
<effect name="ring_helper" library="mot_speaker_helper" uuid="bce61ec2-eca4-445c-9dcb-91cc7cce01ad"/>
<effect name="notification_helper" library="mot_speaker_helper" uuid="bce61ec2-eca4-445c-9dcb-91cc7cce01ae"/>
<effect name="aec" library="audio_pre_processing" uuid="0f8d0d2a-59e5-45fe-b6e4-248c8a799109"/>
<effect name="ns" library="audio_pre_processing" uuid="1d97bb0b-9e2f-4403-9ae3-58c2554306f8"/>
<!--<effect name="haptic_generator" library="haptic_generator" uuid="97c4acd1-8b82-4f2f-832e-c2fe5d7a9931"/>-->
<effect name="moto_sst" library="moto_sst" uuid="01325f27-2882-44f7-bdec-e7ce4ea3a581"/>
<!--DOLBY DAP-->
<effect name="dap" library="dap" uuid="9d4921da-8225-4f29-aefa-39537a04bcaa"/>
<!--DOLBY END-->
<!--DOLBY GAME-->
<effect name="gamedap" library="gamedap" uuid="3783c334-d3a0-4d13-874f-0032e5fb80e2"/>
<!--DOLBY END-->
<!--DOLBY VQE-->
<effect name="vqe" library="vqe" uuid="64a0f614-7fa4-48b8-b081-d59dc954616f"/>
<!--DOLBY DVL-->
<effect name="dlb_music_listener" library="dvl" uuid="40f66c8b-5aa5-4345-8919-53ec431aaa98"/>
<effect name="dlb_ring_listener" library="dvl" uuid="21d14087-558a-4f21-94a9-5002dce64bce"/>
<effect name="dlb_alarm_listener" library="dvl" uuid="6aff229c-30c6-4cc8-9957-dbfe5c1bd7f6"/>
<effect name="dlb_system_listener" library="dvl" uuid="874db4d8-051d-4b7b-bd95-a3bebc837e9e"/>
<effect name="dlb_notification_listener" library="dvl" uuid="1f0091e3-6ad8-40fe-9b09-5948f9a26e7e"/>
<!--DOLBY END-->
</effects>
<postprocess>
<stream type="music">
<apply effect="music_helper"/>
<apply effect="dlb_music_listener"/>
</stream>
<stream type="ring">
<apply effect="ring_helper"/>
<apply effect="dlb_ring_listener"/>
</stream>
<stream type="alarm">
<apply effect="ring_helper"/>
<apply effect="dlb_alarm_listener"/>
</stream>
<stream type="voice_call">
<apply effect="voice_helper"/>
</stream>
<stream type="system">
<apply effect="dlb_system_listener"/>
</stream>
<stream type="notification">
<apply effect="notification_helper"/>
<apply effect="dlb_notification_listener"/>
</stream>
</postprocess>
<preprocess>
<stream type="voice_communication">
<apply effect="aec"/>
<apply effect="ns"/>
</stream>
</preprocess>
</audio_effects_conf>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,572 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Copyright (c) 2014, 2016-2020, 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="TX_CDC_DMA_TX_3" codec_type="internal"/>
<device name="AUDIO_DEVICE_IN_BACK_MIC" interface="TX_CDC_DMA_TX_3" codec_type="internal"/>
</interface_names>
<module_ids>
<aec>
<device name="SND_DEVICE_IN_SPEAKER_TMIC_AEC_NS" module_id="0x10F35" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE" module_id="0x10F34" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS" module_id="0x10F33" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS" module_id="0x10F31" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS" module_id="0x10F33" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS" module_id="0x10F31" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_SB" module_id="0x10F39" instance_id="0x8000" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_SB" module_id="0x10F38" instance_id="0x8000" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS_SB" module_id="0x10F39" instance_id="0x8000" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS_SB" module_id="0x10F38" instance_id="0x8000" param_id="0x10EAF" param_value="0x01"/>
</aec>
<ns>
<device name="SND_DEVICE_IN_SPEAKER_TMIC_AEC_NS" module_id="0x10F35" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE" module_id="0x10F34" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS" module_id="0x10F33" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS" module_id="0x10F31" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS" module_id="0x10F33" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS" module_id="0x10F31" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_SB" module_id="0x10F39" instance_id="0x8000" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_SB" module_id="0x10F38" instance_id="0x8000" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS_SB" module_id="0x10F39" instance_id="0x8000" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS_SB" module_id="0x10F38" instance_id="0x8000" param_id="0x10EAF" param_value="0x02"/>
</ns>
</module_ids>
<pcm_ids>
<usecase name="USECASE_AUDIO_PLAYBACK_LOW_LATENCY" type="out" id="9"/>
<usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD" type="out" id="7"/>
<usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD2" type="out" id="11"/>
<usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD3" type="out" id="43"/>
<usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD4" type="out" id="24"/>
<usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD5" type="out" id="25"/>
<usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD6" type="out" id="26"/>
<usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD7" type="out" id="27"/>
<usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD8" type="out" id="28"/>
<usecase name="USECASE_VOICEMMODE1_CALL" type="in" id="2"/>
<usecase name="USECASE_VOICEMMODE1_CALL" type="out" id="2"/>
<usecase name="USECASE_VOICEMMODE2_CALL" type="in" id="15"/>
<usecase name="USECASE_VOICEMMODE2_CALL" type="out" id="15"/>
<usecase name="USECASE_VOWLAN_CALL" type="in" id="-1"/>
<usecase name="USECASE_VOWLAN_CALL" type="out" id="-1"/>
<usecase name="USECASE_AUDIO_PLAYBACK_FM" type="out" id="30"/>
<usecase name="USECASE_AUDIO_PLAYBACK_FM" type="in" id="38"/>
<usecase name="USECASE_AUDIO_SPKR_CALIB_RX" type="out" id="30"/>
<usecase name="USECASE_AUDIO_SPKR_CALIB_TX" type="in" id="45"/>
<usecase name="USECASE_AUDIO_PLAYBACK_AFE_PROXY" type="out" id="5"/>
<usecase name="USECASE_AUDIO_RECORD_AFE_PROXY" type="in" id="6"/>
<usecase name="USECASE_AUDIO_RECORD_AFE_PROXY2" type="in" id="42"/>
<usecase name="USECASE_AUDIO_RECORD_LOW_LATENCY" type="in" id="13" />
<usecase name="USECASE_AUDIO_PLAYBACK_ULL" type="out" id="13" />
<usecase name="USECASE_AUDIO_PLAYBACK_SILENCE" type="out" id="23" />
<usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="12" />
<usecase name="USECASE_AUDIO_RECORD_VOIP" type="in" id="12" />
<usecase name="USECASE_AUDIO_HFP_SCO" type="in" id="12" />
<usecase name="USECASE_AUDIO_HFP_SCO_WB" type="in" id="12" />
<usecase name="USECASE_AUDIO_PLAYBACK_MMAP" type="out" id="29" />
<usecase name="USECASE_AUDIO_RECORD_MMAP" type="in" id="29" />
<usecase name="USECASE_AUDIO_A2DP_ABR_FEEDBACK" type="in" id="36" />
<usecase name="USECASE_AUDIO_A2DP_ABR_FEEDBACK" type="out" id="36" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK" type="out" id="23" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK2" type="out" id="23" />
<usecase name="USECASE_AUDIO_RECORD_COMPRESS2" type="in" id="37" />
<usecase name="USECASE_INCALL_REC_UPLINK" type="in" id="23" />
<usecase name="USECASE_INCALL_REC_DOWNLINK" type="in" id="23" />
<usecase name="USECASE_INCALL_REC_UPLINK_AND_DOWNLINK" type="in" id="23" />
</pcm_ids>
<config_params>
<!-- In the below value string, the value indicates default mono -->
<!-- speaker. It can be set to either left or right -->
<param key="mono_speaker" value="left"/>
<param key="true_32_bit" value="true"/>
<param key="hifi_filter" value="false"/>
<param key="native_audio_mode" value="multiple_mix_dsp"/>
<param key="hfp_pcm_dev_id" value="39"/>
<param key="input_mic_max_count" value="3"/>
</config_params>
<gain_db_to_level_mapping>
<gain_level_map db="-59" level="5"/>
<gain_level_map db="-17.4" level="4"/>
<gain_level_map db="-13.8" level="3"/>
<gain_level_map db="-10.2" level="2"/>
<gain_level_map db="0" level="1"/>
</gain_db_to_level_mapping>
<crystalk_devices>
<device name="SND_DEVICE_IN_HANDSET_MIC_NN" value="true" />
<device name="SND_DEVICE_IN_HANDSET_MIC" value="false" />
<device name="SND_DEVICE_IN_VOICE_REC_EXTERNAL_MIC_NN" value="true" />
<device name="SND_DEVICE_IN_VOICE_REC_EXTERNAL_MIC" value="false" />
<device name="SND_DEVICE_IN_SPEAKER_MIC_GAME_NN" value="true" />
<device name="SND_DEVICE_IN_SPEAKER_MIC_GAME" value="false" />
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_NN" value="true" />
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS" value="false" />
<device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE_NN" value="true" />
<device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" value="false" />
<device name="SND_DEVICE_IN_USB_HEADSET_MIC_AEC_NN" value="true" />
<device name="SND_DEVICE_IN_USB_HEADSET_MIC_AEC" value="false" />
</crystalk_devices>
<acdb_ids>
<!-- Output devices -->
<device name="SND_DEVICE_OUT_HANDSET" acdb_id="7" />
<device name="SND_DEVICE_OUT_VOICE_HANDSET" acdb_id="7" />
<device name="SND_DEVICE_OUT_VOICE_HANDSET_TMUS" acdb_id="7" />
<device name="SND_DEVICE_OUT_VOICE_TTY_HCO_HANDSET" acdb_id="7" />
<device name="SND_DEVICE_OUT_HEADPHONES" acdb_id="9" />
<device name="SND_DEVICE_OUT_USB_HEADSET" acdb_id="45" />
<device name="SND_DEVICE_OUT_USB_HEADPHONES" acdb_id="45" />
<device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES" acdb_id="9" />
<device name="SND_DEVICE_OUT_SPEAKER" acdb_id="14" />
<device name="SND_DEVICE_OUT_SPEAKER_RIGHT" acdb_id="13" />
<device name="SND_DEVICE_OUT_VOICE_SPEAKER" acdb_id="15" />
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_HFP" acdb_id="15" />
<device name="SND_DEVICE_OUT_LINE" acdb_id="77" />
<device name="SND_DEVICE_OUT_SPEAKER_AND_LINE" acdb_id="77" />
<device name="SND_DEVICE_OUT_VOICE_LINE" acdb_id="78" />
<device name="SND_DEVICE_OUT_VOLTE_NB_ANC_HANDSET" acdb_id="200" />
<device name="SND_DEVICE_OUT_VOLTE_NB_HANDSET_TMUS" acdb_id="200" />
<device name="SND_DEVICE_OUT_VOICE_TX" acdb_id="245" />
<device name="SND_DEVICE_OUT_VOLTE_NB_TX" acdb_id="245" />
<device name="SND_DEVICE_OUT_VOICE_USB_HEADSET" acdb_id="245" />
<device name="SND_DEVICE_OUT_VOICE_USB_HEADPHONES" acdb_id="245" />
<device name="SND_DEVICE_OUT_VOLTE_NB_TX" acdb_id="246" />
<device name="SND_DEVICE_OUT_AFE_PROXY" acdb_id="19" />
<!-- Input devices -->
<device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK" acdb_id="102" />
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC" acdb_id="4" />
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS" acdb_id="4" />
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS_NN" acdb_id="315" />
<device name="SND_DEVICE_IN_HANDSET_MIC_NS" acdb_id="4" />
<device name="SND_DEVICE_IN_HANDSET_MIC_NN" acdb_id="315" />
<device name="SND_DEVICE_IN_HANDSET_MIC_TOP" acdb_id="88" />
<device name="SND_DEVICE_IN_HANDSET_MIC_NN_TOP" acdb_id="88" />
<device name="SND_DEVICE_IN_SPEAKER_DMIC" acdb_id="35" />
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC" acdb_id="35" />
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS" acdb_id="35" />
<device name="SND_DEVICE_IN_SPEAKER_DMIC_NS" acdb_id="35" />
<device name="SND_DEVICE_IN_HANDSET_DMIC_STEREO" acdb_id="34" />
<device name="SND_DEVICE_IN_VOICE_REC_DMIC_FLUENCE" acdb_id="35" />
<device name="SND_DEVICE_IN_VOICE_SPEAKER_DMIC" acdb_id="35" />
<device name="SND_DEVICE_IN_VOICE_TTY_VCO_HANDSET_MIC" acdb_id="41" />
<device name="SND_DEVICE_IN_USB_HEADSET_MIC" acdb_id="44" />
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC" acdb_id="114" />
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS" acdb_id="114" />
<device name="SND_DEVICE_IN_SPEAKER_MIC_NS" acdb_id="114" />
<device name="SND_DEVICE_IN_UNPROCESSED_MIC" acdb_id="11" />
<device name="SND_DEVICE_IN_VOICE_DMIC_TMUS" acdb_id="41" />
<device name="SND_DEVICE_IN_HEADSET_MIC" acdb_id="8" />
<device name="SND_DEVICE_IN_HEADSET_MIC_AEC" acdb_id="47" />
<device name="SND_DEVICE_IN_HEADSET_MIC_CQA" acdb_id="60" />
<device name="SND_DEVICE_IN_CAMCORDER_MIC" acdb_id="61" />
<device name="SND_DEVICE_IN_VOICE_REC_MIC" acdb_id="62" />
<device name="SND_DEVICE_IN_VOICE_REC_MIC_AEC" acdb_id="62" />
<device name="SND_DEVICE_IN_VOICE_REC_MIC_AEC_NS" acdb_id="62" />
<device name="SND_DEVICE_IN_VOICE_REC_MIC_NS" acdb_id="62" />
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC" acdb_id="111" />
<device name="SND_DEVICE_IN_HANDSET_DMIC_NS" acdb_id="111" />
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS" acdb_id="111" />
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC" acdb_id="117" />
<device name="SND_DEVICE_IN_SPEAKER_DMIC_NS" acdb_id="117" />
<device name="SND_DEVICE_IN_THREE_MIC" acdb_id="125" />
<device name="SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC" acdb_id="125" />
<device name="SND_DEVICE_IN_UNPROCESSED_MIC" acdb_id="125" />
<device name="SND_DEVICE_IN_UNPROCESSED_STEREO_MIC" acdb_id="125" />
<device name="SND_DEVICE_IN_UNPROCESSED_USB_HEADSET_MIC" acdb_id="125" />
<device name="SND_DEVICE_IN_VOICE_REC_EXTERNAL_MIC" acdb_id="147" />
<device name="SND_DEVICE_IN_VOICE_REC_EXTERNAL_MIC_NN" acdb_id="319" />
<device name="SND_DEVICE_IN_USB_HEADSET_MIC_AEC" acdb_id="244" />
<device name="SND_DEVICE_IN_MIC1" acdb_id="60" />
<device name="SND_DEVICE_IN_MIC2" acdb_id="60" />
<device name="SND_DEVICE_IN_MIC3" acdb_id="60" />
<device name="SND_DEVICE_IN_HDMI_MIC" acdb_id="4" />
<device name="SND_DEVICE_IN_BT_SCO_MIC_NREC" acdb_id="122" />
<device name="SND_DEVICE_IN_BT_SCO_MIC_WB_NREC" acdb_id="123" />
<device name="SND_DEVICE_IN_CAMCORDER_LANDSCAPE" acdb_id="61" />
<device name="SND_DEVICE_IN_CAMCORDER_INVERT_LANDSCAPE" acdb_id="61" />
<device name="SND_DEVICE_IN_CAMCORDER_PORTRAIT" acdb_id="61" />
<device name="SND_DEVICE_IN_CAMCORDER_SELFIE_LANDSCAPE" acdb_id="61" />
<device name="SND_DEVICE_IN_CAMCORDER_SELFIE_INVERT_LANDSCAPE" acdb_id="61" />
<device name="SND_DEVICE_IN_VOICE_REC_DMIC_STEREO" acdb_id="35" />
<device name="SND_DEVICE_IN_CAPTURE_FM" acdb_id="90" />
<device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC_NN" acdb_id="11" />
<device name="SND_DEVICE_IN_VOICE_HEADSET_MIC_NN" acdb_id="302" />
<device name="SND_DEVICE_IN_VOICE_USB_HEADSET_MIC_NN" acdb_id="303" />
<device name="SND_DEVICE_IN_SPEAKER_MIC_NN" acdb_id="114" />
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NN" acdb_id="114" />
<device name="SND_DEVICE_IN_SPEAKER_MIC_NS_NN" acdb_id="114" />
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_NN" acdb_id="114" />
<device name="SND_DEVICE_IN_HEADSET_MIC_NN" acdb_id="319" />
<device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE_NN" acdb_id="305" />
<device name="SND_DEVICE_IN_SPEAKER_MIC_GAME" acdb_id="114" />
<device name="SND_DEVICE_IN_SPEAKER_MIC_GAME_NN" acdb_id="114" />
<device name="SND_DEVICE_IN_AUX_MIC_AEC_NS" acdb_id="316" />
<device name="SND_DEVICE_IN_AUX_MIC_AEC_NS_NN" acdb_id="316" />
<device name="SND_DEVICE_IN_USB_HEADSET_MIC_NN" acdb_id="306" />
<device name="SND_DEVICE_IN_USB_HEADSET_MIC_AEC_NN" acdb_id="306" />
</acdb_ids>
<backend_names>
<device name="SND_DEVICE_OUT_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOLTE_NB_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOLTE_NB_LINE" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_HEADPHONES_HIFI_FILTER" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_HEADPHONES_44_1" backend="headphones-44.1" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_BT_SCO_WB" backend="bt-sco-wb" interface="SLIMBUS_7_RX"/>
<device name="SND_DEVICE_OUT_BT_SCO" backend="bt-sco" interface="SLIMBUS_7_RX"/>
<device name="SND_DEVICE_OUT_BT_A2DP" backend="bt-a2dp" interface="SLIMBUS_7_RX"/>
<device name="SND_DEVICE_OUT_LINE" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_ANC_HEADSET" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES" backend="speaker-and-headphones" interface="SEN_MI2S_RX-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES_HIFI_FILTER" backend="speaker-and-headphones" interface="SEN_MI2S_RX-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_LINE" backend="speaker-and-headphones" interface="SEN_MI2S_RX-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_ANC_HEADSET" backend="speaker-and-headphones" interface="SEN_MI2S_RX-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_HEADSET" backend="headset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOLTE_NB_HEADSET" backend="headset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_ANC_HEADSET" backend="headset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_LINE" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_TTY_FULL_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_TTY_FULL_HEADSET" backend="headset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_TTY_VCO_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_TTY_VCO_HEADSET" backend="headset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_HANDSET" interface="SEN_MI2S_RX"/>
<device name="SND_DEVICE_OUT_CQA_HANDSET" interface="SEN_MI2S_RX"/>
<device name="SND_DEVICE_OUT_VOLTE_NB_HANDSET_TMUS" interface="SEN_MI2S_RX"/>
<device name="SND_DEVICE_OUT_VOLTE_NB_ANC_HANDSET" interface="SEN_MI2S_RX"/>
<device name="SND_DEVICE_OUT_VOICE_HAC_HANDSET" interface="SEN_MI2S_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER" backend="speaker" interface="SEN_MI2S_RX"/>
<device name="SND_DEVICE_OUT_CQA_SPEAKER" backend="speaker" interface="SEN_MI2S_RX"/>
<device name="SND_DEVICE_OUT_VOLTE_NB_SPEAKER" backend="speaker" interface="SEN_MI2S_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_LEFT" backend="speaker" interface="SEN_MI2S_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_RIGHT" backend="speaker" interface="SEN_MI2S_RX"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER" backend="speaker" interface="SEN_MI2S_RX"/>
<device name="SND_DEVICE_OUT_VOICE_HANDSET" interface="SEN_MI2S_RX"/>
<device name="SND_DEVICE_OUT_VOICE_ANC_HANDSET" interface="SEN_MI2S_RX"/>
<device name="SND_DEVICE_OUT_VOLTE_NB_HANDSET" interface="SEN_MI2S_RX"/>
<device name="SND_DEVICE_OUT_VOLTE_NB_HAC_HANDSET" interface="SEN_MI2S_RX"/>
<device name="SND_DEVICE_OUT_VOICE_HANDSET_TMUS" interface="SEN_MI2S_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_BT_A2DP" interface="SEN_MI2S_RX-and-SLIMBUS_7_RX"/>
<device name="SND_DEVICE_OUT_VOICE_TTY_HCO_HANDSET" backend="hco" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_ANC_FB_HEADSET" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_ANC_FB_HEADSET" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_ANC_HANDSET" interface="SEN_MI2S_RX"/>
<device name="SND_DEVICE_IN_HANDSET_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_NN" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS_NN" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_TOP" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_NN_TOP" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_EXTERNAL" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_STEREO" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_NN" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NN" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_NS_NN" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_NN" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_STEREO" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_GAME" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_GAME_NN" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_AUX_MIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_AUX_MIC_AEC_NS_NN" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_HEADSET_MIC_NN" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE_NN" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_VOICE_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_VOICE_HEADSET_MIC_NN" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_VOICE_TTY_FULL_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_VOICE_TTY_HCO_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_VOICE_REC_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_VOICE_REC_EXTERNAL_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_VOICE_REC_EXTERNAL_MIC_NN" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_HEADSET_MIC_AEC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_HEADSET_MIC_AEC_NN" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_HEADSET_MIC_CQA" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC_NN" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HDMI_MIC" interface="HDMI"/>
<device name="SND_DEVICE_IN_BT_SCO_MIC" interface="SLIMBUS_7_TX"/>
<device name="SND_DEVICE_IN_BT_SCO_MIC_NREC" interface="SLIMBUS_7_TX"/>
<device name="SND_DEVICE_IN_BT_SCO_MIC_WB" interface="SLIMBUS_7_TX"/>
<device name="SND_DEVICE_IN_BT_SCO_MIC_WB_NREC" interface="SLIMBUS_7_TX"/>
<device name="SND_DEVICE_IN_CAMCORDER_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_CAMCORDER_BF" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_CAMCORDER_BF_REVERSE" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_CAMCORDER_AUDIO_ZOOM" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_DMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_DMIC_TMUS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_DMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_QMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_TTY_FULL_HEADSET_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_TTY_VCO_HANDSET_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_TTY_HCO_HEADSET_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_REC_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_REC_MIC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_REC_MIC_AEC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_REC_MIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_REC_DMIC_STEREO" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_REC_DMIC_FLUENCE" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_AANC_HANDSET_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_STEREO_DMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_STEREO_DMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK" interface="SEN_MI2S_TX"/>
<device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK_MONO_1" interface="SEN_MI2S_TX"/>
<device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK_MONO_2" interface="SEN_MI2S_TX"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_DMIC_BROADSIDE" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_BROADSIDE" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_BROADSIDE" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_NS_BROADSIDE" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_FLUENCE_DMIC_AANC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_THREE_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC_FLUENCE_PRO" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC_AEC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_REC_TMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_UNPROCESSED_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_UNPROCESSED_STEREO_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_UNPROCESSED_THREE_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_UNPROCESSED_QUAD_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_AND_VOICE_HEADPHONES" backend="speaker-and-headphones" interface="SEN_MI2S_RX-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_AND_VOICE_ANC_HEADSET" backend="speaker-and-headphones" interface="SEN_MI2S_RX-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO" backend="speaker-and-bt-sco" interface="SEN_MI2S_RX-and-SLIMBUS_7_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO_WB" backend="speaker-and-bt-sco-wb" interface="SEN_MI2S_RX-and-SLIMBUS_7_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_USB_HEADSET" backend="speaker-and-usb-headset" interface="SEN_MI2S_RX-and-USB_AUDIO_RX"/>
<device name="SND_DEVICE_OUT_VOICE_TTY_FULL_USB" backend="usb-headset" interface="USB_AUDIO_RX"/>
<device name="SND_DEVICE_OUT_VOICE_TTY_VCO_USB" backend="usb-headset" interface="USB_AUDIO_RX"/>
<device name="SND_DEVICE_OUT_USB_HEADSET" backend="usb-headset" interface="USB_AUDIO_RX"/>
<device name="SND_DEVICE_OUT_USB_HEADPHONES" backend="usb-headphones" interface="USB_AUDIO_RX"/>
<device name="SND_DEVICE_OUT_VOICE_USB_HEADPHONES" backend="usb-headphones" interface="USB_AUDIO_RX"/>
<device name="SND_DEVICE_OUT_VOICE_USB_HEADSET" backend="usb-headset" interface="USB_AUDIO_RX"/>
<device name="SND_DEVICE_OUT_USB_HEADSET_SPEC" backend="usb-headset" interface="USB_AUDIO_RX"/>
<device name="SND_DEVICE_IN_VOICE_TTY_FULL_USB_MIC" backend="usb-headset-mic" interface="USB_AUDIO_TX"/>
<device name="SND_DEVICE_IN_VOICE_TTY_HCO_USB_MIC" backend="usb-headset-mic" interface="USB_AUDIO_TX"/>
<device name="SND_DEVICE_IN_USB_HEADSET_MIC" backend="usb-headset-mic" interface="USB_AUDIO_TX"/>
<device name="SND_DEVICE_IN_USB_HEADSET_MIC_NN" backend="usb-headset-mic" interface="USB_AUDIO_TX"/>
<device name="SND_DEVICE_IN_USB_HEADSET_MIC_AEC" backend="usb-headset-mic" interface="USB_AUDIO_TX"/>
<device name="SND_DEVICE_IN_USB_HEADSET_MIC_AEC_NN" backend="usb-headset-mic" interface="USB_AUDIO_TX"/>
<device name="SND_DEVICE_IN_VOICE_USB_HEADSET_MIC" backend="usb-headset-mic" interface="USB_AUDIO_TX"/>
<device name="SND_DEVICE_IN_VOICE_USB_HEADSET_MIC_NN" backend="usb-headset-mic" interface="USB_AUDIO_TX"/>
<device name="SND_DEVICE_IN_UNPROCESSED_USB_HEADSET_MIC" backend="usb-headset-mic" interface="USB_AUDIO_TX"/>
<device name="SND_DEVICE_IN_VOICE_RECOG_USB_HEADSET_MIC" backend="usb-headset-mic" interface="USB_AUDIO_TX"/>
<device name="SND_DEVICE_IN_MIC1" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_MIC2" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_MIC3" interface="TX_CDC_DMA_TX_3"/>
</backend_names>
<!-- below values are for ref purpose to OEM, doesn't contain actual hardware info on MTP -->
<microphone_characteristics>
<microphone valid_mask="31" device_id="builtin_mic_1" type="AUDIO_DEVICE_IN_BUILTIN_MIC" address="bottom" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
group="0" index_in_the_group="0" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="93"
frequencies="100.00 106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00 20000.00"
responses="-0.78 -0.71 -0.64 -0.60 -0.55 -0.50 -0.47 -0.42 -0.39 -0.36 -0.34 -0.33 -0.32 -0.29 -0.28 -0.28 -0.27 -0.25 -0.25 -0.24 -0.23 -0.23 -0.22 -0.22 -0.19 -0.17 -0.15 -0.15 -0.14 -0.14 -0.12 -0.11 -0.10 -0.10 -0.08 -0.07 -0.07 -0.04 -0.03 -0.01 0.00 0.04 0.06 0.07 0.08 0.13 0.09 0.14 0.19 0.23 0.28 0.29 0.31 0.37 0.88 0.86 0.77 0.78 0.84 0.86 1.05 1.12 1.18 1.25 1.43 1.66 1.83 2.02 2.23 2.59 2.84 3.35 4.01 6.82 6.62 6.42 7.30 8.23 7.54 12.68 13.76 18.69 19.68 20.90 23.70 25.10 21.65 16.18 18.84 25.44 23.48 23.22 24.89"
sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 0.0 1.0" geometric_location="0.0269 0.0058 0.0079" />
<microphone valid_mask="31" device_id="builtin_mic_2" type="AUDIO_DEVICE_IN_BACK_MIC" address="back" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
group="0" index_in_the_group="1" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="92"
frequencies="106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00 20000.00"
responses="-0.75 -0.74 -0.69 -0.65 -0.62 -0.61 -0.56 -0.53 -0.50 -0.47 -0.43 -0.40 -0.37 -0.36 -0.33 -0.30 -0.28 -0.25 -0.24 -0.24 -0.24 -0.25 -0.24 -0.12 -0.10 -0.08 -0.09 -0.07 -0.07 -0.06 -0.06 -0.06 -0.05 -0.04 -0.05 -0.04 -0.01 0.02 0.02 0.00 0.02 0.03 0.07 0.10 0.10 0.13 0.01 0.01 0.10 0.11 0.19 0.24 0.38 0.46 0.26 0.27 0.43 0.76 0.75 1.09 1.09 0.94 1.06 1.21 1.47 1.45 1.36 2.07 2.85 2.90 3.85 4.65 5.84 5.46 6.15 7.50 8.30 10.62 12.70 16.65 20.95 25.41 26.32 20.20 16.60 11.24 7.85 7.62 20.19 7.32 2.87 5.18"
sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 1.0 0.0" geometric_location="0.0546 0.1456 0.00415" />
<microphone valid_mask="31" device_id="builtin_mic_3" type="AUDIO_DEVICE_IN_BUILTIN_MIC" address="top" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
group="0" index_in_the_group="2" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="92"
frequencies="100.00 106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00"
responses="-9.24 -9.31 -9.39 -9.45 -9.46 -9.47 -9.50 -9.52 -9.51 -9.52 -9.51 -9.50 -9.49 -9.47 -9.48 -9.49 -9.48 -9.50 -9.51 -9.53 -9.55 -9.59 -9.63 -9.67 -9.58 -9.57 -9.65 -9.68 -9.71 -9.75 -9.79 -9.84 -9.87 -9.87 -9.90 -9.90 -9.91 -9.97 -10.01 -10.05 -9.85 -9.93 -9.94 -9.98 -10.04 -10.12 -10.28 -10.25 -10.01 -9.86 -9.81 -9.82 -9.61 -9.46 -8.27 -8.42 -8.98 -8.99 -8.82 -9.21 -8.92 -8.97 -9.30 -9.44 -9.52 -9.28 -9.09 -8.81 -7.02 -5.72 -5.30 -7.26 -8.39 -12.28 -8.23 -6.99 -5.52 -4.87 -3.82 -6.09 0.00 -2.15 -0.26 1.48 5.22 10.92 6.41 9.55 12.96 3.35 22.00 19.75"
sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 0.0 1.0" geometric_location="0.0274 0.14065 0.0079" />
</microphone_characteristics>
<snd_devices>
<input_snd_device>
<input_snd_device_mic_mapping>
<snd_dev in_snd_device="SND_DEVICE_IN_CAMCORDER_MIC">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_VOICE_REC_MIC_AEC_NS">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_VOICE_REC_MIC_AEC">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_VOICE_REC_MIC_NS">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_VOICE_REC_MIC">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_MIC">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_MIC_NN">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_VOICE_DMIC">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_VOICE_DMIC_TMUS">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_VOICE_SPEAKER_DMIC">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_DMIC_AEC">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_DMIC_NS">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_DMIC">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC_AEC">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC_NS">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_MIC">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_MIC_NN">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_UNPROCESSED_MIC">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_UNPROCESSED_STEREO_MIC">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_UNPROCESSED_THREE_MIC">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_DMIC_STEREO">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC_STEREO">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
</input_snd_device_mic_mapping>
</input_snd_device>
</snd_devices>
</audio_platform_info>

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +0,0 @@
#
# Goodix Touch sensor fod key event
#
#
# 704 finger touch down
# 705 finger touch up
# goodix_ts "finger present"
key 704 SYSTEM_NAVIGATION_DOWN
key 705 SYSTEM_NAVIGATION_UP

View File

@@ -14,9 +14,6 @@
# limitations under the License. # limitations under the License.
# #
# A/B
TARGET_IS_VAB := true
# Boot animation # Boot animation
TARGET_SCREEN_HEIGHT := 2400 TARGET_SCREEN_HEIGHT := 2400
TARGET_SCREEN_WIDTH := 1080 TARGET_SCREEN_WIDTH := 1080
@@ -31,20 +28,21 @@ PRODUCT_AAPT_PREBUILT_DPI := xxxhdpi xxhdpi xhdpi hdpi
PRODUCT_SHIPPING_API_LEVEL := 31 PRODUCT_SHIPPING_API_LEVEL := 31
# Inherit from motorola sm7325-common # Inherit from motorola sm8475-common
$(call inherit-product, device/motorola/sm7325-common/sm7325.mk) $(call inherit-product, device/motorola/sm8475-common/sm8475.mk)
# Overlay # Overlay
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
FrameworksResDubai \ FrameworksResEqs \
LineageSystemUIDubai \ LineageSystemUIEqs \
SettingsProviderResDubai \ SettingsProviderResEqs \
SystemUIResDubai SystemUIResEqs
# Audio # Audio
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/audio/sku_yupik/audio_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_yupik/audio_platform_info.xml \ $(LOCAL_PATH)/audio/sku_cape/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sku_cape/audio_effects.xml \
$(LOCAL_PATH)/audio/sku_yupik/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_yupik/mixer_paths.xml \ $(LOCAL_PATH)/audio/sku_cape/mixer_paths_waipio_mtp.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_cape/mixer_paths_waipio_mtp.xml \
$(LOCAL_PATH)/audio/sku_cape/resourcemanager_waipio_mtp.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_cape/resourcemanager_waipio_mtp.xml \
$(LOCAL_PATH)/audio/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \ $(LOCAL_PATH)/audio/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
$(LOCAL_PATH)/audio/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \ $(LOCAL_PATH)/audio/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
$(LOCAL_PATH)/audio/audio_ext_spkr.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_ext_spkr.conf \ $(LOCAL_PATH)/audio/audio_ext_spkr.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_ext_spkr.conf \
@@ -53,7 +51,7 @@ PRODUCT_COPY_FILES += \
# Fingerprint # Fingerprint
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
android.hardware.biometrics.fingerprint@2.3-service.dubai android.hardware.biometrics.fingerprint@2.3-service.eqs
# Init # Init
$(foreach f,$(wildcard $(LOCAL_PATH)/rootdir/etc/init/hw/*.rc),\ $(foreach f,$(wildcard $(LOCAL_PATH)/rootdir/etc/init/hw/*.rc),\
@@ -63,21 +61,17 @@ $(foreach f,$(wildcard $(LOCAL_PATH)/rootdir/etc/init/*.rc),\
$(foreach f,$(wildcard $(LOCAL_PATH)/rootdir/bin/*.sh),\ $(foreach f,$(wildcard $(LOCAL_PATH)/rootdir/bin/*.sh),\
$(eval PRODUCT_COPY_FILES += $(f):$(TARGET_COPY_OUT_VENDOR)/bin/$(notdir $f))) $(eval PRODUCT_COPY_FILES += $(f):$(TARGET_COPY_OUT_VENDOR)/bin/$(notdir $f)))
# Keylayout
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/keylayout/goodix_ts.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/goodix_ts.kl
# Media # Media
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/media/media_profiles_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_vendor.xml \ $(LOCAL_PATH)/media/media_profiles_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_vendor.xml \
$(LOCAL_PATH)/media/media_profiles_yupik_v0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_yupik_v0.xml \ $(LOCAL_PATH)/media/media_profiles_cape.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_cape.xml
$(LOCAL_PATH)/media/media_profiles_yupik_v1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_yupik_v1.xml
# NFC # NFC
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
android.hardware.nfc@1.2.vendor \ android.hardware.nfc@1.2.vendor \
android.hardware.nfc@1.2-service.st \ android.hardware.nfc@1.2-service.st \
android.hardware.secure_element@1.2.vendor \ android.hardware.secure_element@1.2.vendor \
android.hardware.secure_element@1.2-service-gto \
com.android.nfc_extras \ com.android.nfc_extras \
libchrome.vendor \ libchrome.vendor \
NfcNci \ NfcNci \
@@ -89,15 +83,8 @@ PRODUCT_PACKAGES += \
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml
# Sensors
PRODUCT_PACKAGES += \
sensors.dubai
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/sensors/hals.conf:$(TARGET_COPY_OUT_VENDOR)/etc/sensors/hals.conf
# Soong namespaces # Soong namespaces
PRODUCT_SOONG_NAMESPACES += $(LOCAL_PATH) PRODUCT_SOONG_NAMESPACES += $(LOCAL_PATH)
# Inherit from vendor blobs # Inherit from vendor blobs
$(call inherit-product, vendor/motorola/dubai/dubai-vendor.mk) $(call inherit-product, vendor/motorola/eqs/eqs-vendor.mk)

View File

@@ -14,8 +14,8 @@ fi
set -e set -e
export DEVICE=dubai export DEVICE=eqs
export DEVICE_COMMON=sm7325-common export DEVICE_COMMON=sm8475-common
export VENDOR=motorola export VENDOR=motorola
"./../../${VENDOR}/${DEVICE_COMMON}/extract-files.sh" "$@" "./../../${VENDOR}/${DEVICE_COMMON}/extract-files.sh" "$@"

View File

@@ -1,8 +1,8 @@
cc_binary { cc_binary {
name: "android.hardware.biometrics.fingerprint@2.3-service.dubai", name: "android.hardware.biometrics.fingerprint@2.3-service.eqs",
defaults: ["hidl_defaults"], defaults: ["hidl_defaults"],
init_rc: ["android.hardware.biometrics.fingerprint@2.3-service.dubai.rc"], init_rc: ["android.hardware.biometrics.fingerprint@2.3-service.eqs.rc"],
vintf_fragments: ["android.hardware.biometrics.fingerprint@2.3-service.dubai.xml"], vintf_fragments: ["android.hardware.biometrics.fingerprint@2.3-service.eqs.xml"],
relative_install_path: "hw", relative_install_path: "hw",
srcs: [ srcs: [
"service.cpp", "service.cpp",
@@ -22,7 +22,7 @@ cc_binary {
} }
cc_library_static { cc_library_static {
name: "libudfps_extension.dubai", name: "libudfps_extension.eqs",
srcs: ["UdfpsExtension.cpp"], srcs: ["UdfpsExtension.cpp"],
include_dirs: [ include_dirs: [
"frameworks/native/services/surfaceflinger/CompositionEngine/include" "frameworks/native/services/surfaceflinger/CompositionEngine/include"

View File

@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
#define LOG_TAG "android.hardware.biometrics.fingerprint@2.3-service.dubai" #define LOG_TAG "android.hardware.biometrics.fingerprint@2.3-service.eqs"
#include "BiometricsFingerprint.h" #include "BiometricsFingerprint.h"

View File

@@ -1,4 +1,4 @@
service fps_hal.dubai /vendor/bin/hw/android.hardware.biometrics.fingerprint@2.3-service.dubai service fps_hal.eqs /vendor/bin/hw/android.hardware.biometrics.fingerprint@2.3-service.eqs
# "class hal" causes a race condition on some devices due to files created # "class hal" causes a race condition on some devices due to files created
# in /data. As a workaround, postpone startup until later in boot once # in /data. As a workaround, postpone startup until later in boot once
# /data is mounted. # /data is mounted.

View File

@@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
#define LOG_TAG "android.hardware.biometrics.fingerprint@2.3-service.dubai" #define LOG_TAG "android.hardware.biometrics.fingerprint@2.3-service.eqs"
#include <android-base/logging.h> #include <android-base/logging.h>
#include <hidl/HidlTransportSupport.h> #include <hidl/HidlTransportSupport.h>
#include "BiometricsFingerprint.h" #include "BiometricsFingerprint.h"

View File

@@ -1,4 +1,4 @@
hidl_package_root { hidl_package_root {
name: "com.motorola", name: "com.motorola",
path: "device/motorola/dubai/interfaces/motorola", path: "device/motorola/eqs/interfaces/motorola",
} }

View File

@@ -1,6 +1,6 @@
[ [
{ {
"repository": "android_device_motorola_sm7325-common", "repository": "android_device_motorola_sm8475-common",
"target_path": "device/motorola/sm7325-common" "target_path": "device/motorola/sm8475-common"
} }
] ]

View File

@@ -18,22 +18,22 @@
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
# Inherit from dubai device # Inherit from eqs device
$(call inherit-product, device/motorola/dubai/device.mk) $(call inherit-product, device/motorola/eqs/device.mk)
# Inherit some common Lineage stuff. # Inherit some common Lineage stuff.
$(call inherit-product, vendor/lineage/config/common_full_phone.mk) $(call inherit-product, vendor/lineage/config/common_full_phone.mk)
PRODUCT_NAME := lineage_dubai PRODUCT_NAME := lineage_eqs
PRODUCT_DEVICE := dubai PRODUCT_DEVICE := eqs
PRODUCT_MANUFACTURER := motorola PRODUCT_MANUFACTURER := motorola
PRODUCT_BRAND := motorola PRODUCT_BRAND := motorola
PRODUCT_MODEL := motorola edge 30 PRODUCT_MODEL := motorola edge 30 ultra
PRODUCT_GMS_CLIENTID_BASE := android-motorola PRODUCT_GMS_CLIENTID_BASE := android-motorola
PRODUCT_BUILD_PROP_OVERRIDES += \ PRODUCT_BUILD_PROP_OVERRIDES += \
TARGET_PRODUCT=dubai_retail \ TARGET_PRODUCT=eqs_retail \
PRIVATE_BUILD_DESC="dubai_g-user 12 S1RD32M.55-67 356bc release-keys" PRIVATE_BUILD_DESC="eqs_g-user 12 S1RD32M.55-67 356bc release-keys"
BUILD_FINGERPRINT := motorola/dubai_g/dubai:12/S1RD32M.55-67/356bc:user/release-keys BUILD_FINGERPRINT := motorola/eqs_g/eqs:12/S1RD32M.55-67/356bc:user/release-keys

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- <!--
Copyright (c) 2020-2021 Qualcomm Technologies, Inc. Copyright (c) 2021 Qualcomm Technologies, Inc.
All Rights Reserved. All Rights Reserved.
Confidential and Proprietary - Qualcomm Technologies, Inc. Confidential and Proprietary - Qualcomm Technologies, Inc.
@@ -192,6 +192,19 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="4kdci" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="57500000"
width="4096"
height="2160"
frameRate="24" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="2160p" fileFormat="mp4" duration="30"> <EncoderProfile quality="2160p" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="50000000" bitRate="50000000"
@@ -205,6 +218,19 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="8kuhd" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="105000000"
width="7680"
height="4320"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="qcif" fileFormat="3gp" duration="30"> <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="192000" bitRate="192000"
@@ -384,6 +410,19 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="timelapse8kuhd" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="105000000"
width="7680"
height="4320"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<ImageEncoding quality="95" /> <ImageEncoding quality="95" />
<ImageEncoding quality="80" /> <ImageEncoding quality="80" />
<ImageEncoding quality="70" /> <ImageEncoding quality="70" />
@@ -489,7 +528,7 @@
bitRate="57500000" bitRate="57500000"
width="4096" width="4096"
height="2160" height="2160"
frameRate="30" /> frameRate="24" />
<Audio codec="aac" <Audio codec="aac"
bitRate="156000" bitRate="156000"
@@ -510,6 +549,19 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="8kuhd" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="105000000"
width="7680"
height="4320"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="qcif" fileFormat="3gp" duration="30"> <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="192000" bitRate="192000"
@@ -689,6 +741,19 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="timelapse8kuhd" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="105000000"
width="7680"
height="4320"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<ImageEncoding quality="95" /> <ImageEncoding quality="95" />
<ImageEncoding quality="80" /> <ImageEncoding quality="80" />
<ImageEncoding quality="70" /> <ImageEncoding quality="70" />
@@ -794,7 +859,7 @@
bitRate="57500000" bitRate="57500000"
width="4096" width="4096"
height="2160" height="2160"
frameRate="30" /> frameRate="24" />
<Audio codec="aac" <Audio codec="aac"
bitRate="156000" bitRate="156000"
@@ -815,6 +880,19 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="8kuhd" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="105000000"
width="7680"
height="4320"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="qcif" fileFormat="3gp" duration="30"> <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="192000" bitRate="192000"
@@ -994,6 +1072,19 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="timelapse8kuhd" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="105000000"
width="7680"
height="4320"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="highspeed1080p" fileFormat="mp4" duration="30"> <EncoderProfile quality="highspeed1080p" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="50000000" bitRate="50000000"
@@ -1154,7 +1245,7 @@
bitRate="57500000" bitRate="57500000"
width="4096" width="4096"
height="2160" height="2160"
frameRate="30" /> frameRate="24" />
<Audio codec="aac" <Audio codec="aac"
bitRate="156000" bitRate="156000"
@@ -1175,6 +1266,19 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="8kuhd" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="105000000"
width="7680"
height="4320"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="qcif" fileFormat="3gp" duration="30"> <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="192000" bitRate="192000"
@@ -1354,6 +1458,19 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="timelapse8kuhd" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="105000000"
width="7680"
height="4320"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="highspeed1080p" fileFormat="mp4" duration="30"> <EncoderProfile quality="highspeed1080p" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="50000000" bitRate="50000000"
@@ -1514,7 +1631,7 @@
bitRate="57500000" bitRate="57500000"
width="4096" width="4096"
height="2160" height="2160"
frameRate="30" /> frameRate="24" />
<Audio codec="aac" <Audio codec="aac"
bitRate="156000" bitRate="156000"
@@ -1728,21 +1845,21 @@
In other words, the applications won't be able to use the codec 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 or query the capabilities of the codec at all if it is disabled
--> -->
<VideoEncoderCap name="h264" enabled="true" <VideoEncoderCap name="h264" enabled="true"
minBitRate="64000" maxBitRate="42000000" minBitRate="64000" maxBitRate="105000000"
minFrameWidth="176" maxFrameWidth="4096" minFrameWidth="176" maxFrameWidth="7680"
minFrameHeight="144" maxFrameHeight="2160" minFrameHeight="144" maxFrameHeight="4320"
minFrameRate="15" maxFrameRate="30" minFrameRate="15" maxFrameRate="30"
maxHFRFrameWidth="1920" maxHFRFrameHeight="1080" maxHFRFrameWidth="1920" maxHFRFrameHeight="1080"
maxHFRMode="120" /> maxHFRMode="120" />
<VideoEncoderCap name="h263" enabled="true" <VideoEncoderCap name="hevc" enabled="true"
minBitRate="64000" maxBitRate="2000000" minBitRate="64000" maxBitRate="73500000"
minFrameWidth="176" maxFrameWidth="800" minFrameWidth="176" maxFrameWidth="7680"
minFrameHeight="144" maxFrameHeight="480" minFrameHeight="144" maxFrameHeight="4320"
minFrameRate="15" maxFrameRate="30" minFrameRate="15" maxFrameRate="30"
maxHFRFrameWidth="0" maxHFRFrameHeight="0" maxHFRFrameWidth="0" maxHFRFrameHeight="0"
maxHFRMode="0" /> maxHFRMode="0" />
<AudioEncoderCap name="aac" enabled="true" <AudioEncoderCap name="aac" enabled="true"
minBitRate="8000" maxBitRate="96000" minBitRate="8000" maxBitRate="96000"

View File

@@ -47,7 +47,7 @@
<!ELEMENT EncoderOutputFileFormat EMPTY> <!ELEMENT EncoderOutputFileFormat EMPTY>
<!ATTLIST EncoderOutputFileFormat name (mp4|3gp) #REQUIRED> <!ATTLIST EncoderOutputFileFormat name (mp4|3gp) #REQUIRED>
<!ELEMENT VideoEncoderCap EMPTY> <!ELEMENT VideoEncoderCap EMPTY>
<!ATTLIST VideoEncoderCap name (h264|h263|m4v|wmv) #REQUIRED> <!ATTLIST VideoEncoderCap name (hevc|h264|h263|m4v|wmv) #REQUIRED>
<!ATTLIST VideoEncoderCap enabled (true|false) #REQUIRED> <!ATTLIST VideoEncoderCap enabled (true|false) #REQUIRED>
<!ATTLIST VideoEncoderCap minBitRate CDATA #REQUIRED> <!ATTLIST VideoEncoderCap minBitRate CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxBitRate CDATA #REQUIRED> <!ATTLIST VideoEncoderCap maxBitRate CDATA #REQUIRED>
@@ -109,8 +109,8 @@
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="high" fileFormat="mp4" duration="30"> <EncoderProfile quality="high" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="hevc"
bitRate="50000000" bitRate="35000000"
width="3840" width="3840"
height="2160" height="2160"
frameRate="30" /> frameRate="30" />
@@ -134,22 +134,9 @@
channels="1" /> channels="1" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="cif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="1200000"
width="352"
height="288"
frameRate="30" />
<Audio codec="aac"
bitRate="256000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="480p" fileFormat="mp4" duration="30"> <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="6000000" bitRate="2000000"
width="640" width="640"
height="480" height="480"
frameRate="30" /> frameRate="30" />
@@ -162,7 +149,7 @@
<EncoderProfile quality="720p" fileFormat="mp4" duration="30"> <EncoderProfile quality="720p" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="12000000" bitRate="14000000"
width="1280" width="1280"
height="720" height="720"
frameRate="30" /> frameRate="30" />
@@ -186,22 +173,9 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="1080p_60fps" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="32000000"
width="1920"
height="1080"
frameRate="60" />
<Audio codec="aac"
bitRate="256000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="2160p" fileFormat="mp4" duration="30"> <EncoderProfile quality="2160p" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="hevc"
bitRate="50000000" bitRate="35000000"
width="3840" width="3840"
height="2160" height="2160"
frameRate="30" /> frameRate="30" />
@@ -227,8 +201,8 @@
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30"> <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="hevc"
bitRate="50000000" bitRate="35000000"
width="3840" width="3840"
height="2160" height="2160"
frameRate="30" /> frameRate="30" />
@@ -253,20 +227,6 @@
channels="1" /> channels="1" />
</EncoderProfile> </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="256000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30"> <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="2000000" bitRate="2000000"
@@ -310,8 +270,8 @@
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="timelapse2160p" fileFormat="mp4" duration="30"> <EncoderProfile quality="timelapse2160p" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="hevc"
bitRate="50000000" bitRate="35000000"
width="3840" width="3840"
height="2160" height="2160"
frameRate="30" /> frameRate="30" />
@@ -322,56 +282,56 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<!-- CAMCORDER_QUALITY_HIGH_SPEED_LOW/720P : 720p@240fps; 56.0 Mbps --> <!-- CAMCORDER_QUALITY_HIGH_SPEED_LOW/720P : 720p@240fps; 55.0 Mbps -->
<EncoderProfile quality="highspeedlow" fileFormat="mp4" duration="30"> <EncoderProfile quality="highspeedlow" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="56000000" bitRate="55000000"
width="1280" width="1280"
height="720" height="720"
frameRate="240" /> frameRate="240" />
<!-- audio setting is ignored --> <!-- audio setting is ignored -->
<Audio codec="aac" <Audio codec="aac"
bitRate="256000" bitRate="96000"
sampleRate="48000" sampleRate="48000"
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<!-- CAMCORDER_QUALITY_HIGH_SPEED_HIGH/1080P : 1080p@120fps; 50.0 Mbps --> <!-- CAMCORDER_QUALITY_HIGH_SPEED_HIGH/1080P : 1080p@240fps; 80.0 Mbps -->
<EncoderProfile quality="highspeedhigh" fileFormat="mp4" duration="30"> <EncoderProfile quality="highspeedhigh" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="50000000" bitRate="80000000"
width="1920" width="1920"
height="1080" height="1080"
frameRate="120" /> frameRate="240" />
<!-- audio setting is ignored --> <!-- audio setting is ignored -->
<Audio codec="aac" <Audio codec="aac"
bitRate="256000" bitRate="96000"
sampleRate="48000" sampleRate="48000"
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="highspeed720p" fileFormat="mp4" duration="30"> <EncoderProfile quality="highspeed720p" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="56000000" bitRate="55000000"
width="1280" width="1280"
height="720" height="720"
frameRate="240" /> frameRate="240" />
<!-- audio setting is ignored --> <!-- audio setting is ignored -->
<Audio codec="aac" <Audio codec="aac"
bitRate="256000" bitRate="96000"
sampleRate="48000" sampleRate="48000"
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="highspeed1080p" fileFormat="mp4" duration="30"> <EncoderProfile quality="highspeed1080p" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="50000000" bitRate="80000000"
width="1920" width="1920"
height="1080" height="1080"
frameRate="120" /> frameRate="240" />
<!-- audio setting is ignored --> <!-- audio setting is ignored -->
<Audio codec="aac" <Audio codec="aac"
bitRate="256000" bitRate="96000"
sampleRate="48000" sampleRate="48000"
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
@@ -424,19 +384,6 @@
channels="1" /> channels="1" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="cif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="1200000"
width="352"
height="288"
frameRate="30" />
<Audio codec="aac"
bitRate="256000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="480p" fileFormat="mp4" duration="30"> <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="2000000" bitRate="2000000"
@@ -452,7 +399,7 @@
<EncoderProfile quality="720p" fileFormat="mp4" duration="30"> <EncoderProfile quality="720p" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="12000000" bitRate="14000000"
width="1280" width="1280"
height="720" height="720"
frameRate="30" /> frameRate="30" />
@@ -476,19 +423,6 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="1080p_60fps" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="32000000"
width="1920"
height="1080"
frameRate="60" />
<Audio codec="aac"
bitRate="256000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="timelapselow" fileFormat="mp4" duration="30"> <EncoderProfile quality="timelapselow" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="192000" bitRate="192000"
@@ -531,19 +465,6 @@
channels="1" /> channels="1" />
</EncoderProfile> </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="256000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30"> <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="2000000" bitRate="2000000"
@@ -560,7 +481,7 @@
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30"> <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="12000000" bitRate="14000000"
width="1280" width="1280"
height="720" height="720"
frameRate="30" /> frameRate="30" />
@@ -586,60 +507,6 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<!-- CAMCORDER_QUALITY_HIGH_SPEED_LOW/720P : 720p@240fps; 56.0 Mbps -->
<EncoderProfile quality="highspeedlow" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="56000000"
width="1280"
height="720"
frameRate="240" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="256000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<!-- CAMCORDER_QUALITY_HIGH_SPEED_HIGH/1080P : 1080p@120fps; 50.0 Mbps -->
<EncoderProfile quality="highspeedhigh" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="50000000"
width="1920"
height="1080"
frameRate="120" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="256000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="highspeed720p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="56000000"
width="1280"
height="720"
frameRate="240" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="256000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="highspeed1080p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="50000000"
width="1920"
height="1080"
frameRate="120" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="256000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<ImageEncoding quality="95" /> <ImageEncoding quality="95" />
<ImageEncoding quality="80" /> <ImageEncoding quality="80" />
<ImageEncoding quality="70" /> <ImageEncoding quality="70" />
@@ -679,6 +546,14 @@
maxHFRFrameWidth="0" maxHFRFrameHeight="0" maxHFRFrameWidth="0" maxHFRFrameHeight="0"
maxHFRMode="0" /> maxHFRMode="0" />
<VideoEncoderCap name="hevc" enabled="true"
minBitRate="64000" maxBitRate="100000000"
minFrameWidth="176" maxFrameWidth="4096"
minFrameHeight="144" maxFrameHeight="2160"
minFrameRate="15" maxFrameRate="30"
maxHFRFrameWidth="0" maxHFRFrameHeight="0"
maxHFRMode="0" />
<AudioEncoderCap name="aac" enabled="true" <AudioEncoderCap name="aac" enabled="true"
minBitRate="8000" maxBitRate="512000" minBitRate="8000" maxBitRate="512000"
minSampleRate="8000" maxSampleRate="48000" minSampleRate="8000" maxSampleRate="48000"

File diff suppressed because it is too large Load Diff

View File

@@ -1,42 +1,17 @@
# Copyright (c) 2019-2020, The Linux Foundation. All rights reserved. # SPDX-License-Identifier: GPL-2.0-only
# # Copyright (c) 2020, 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.
blocklist 8250_of blocklist 8250_of
blocklist dummy_hcd blocklist dummy_hcd
blocklist llcc_perfmon blocklist llcc_perfmon
blocklist tda18250 blocklist tda18250
blocklist tda9887 blocklist tda9887
blocklist tuner_simple blocklist tuner-simple
blocklist mt2266 blocklist mt2266
blocklist tea5767 blocklist tea5767
blocklist xc5000 blocklist xc5000
blocklist mt2131 blocklist mt2131
blocklist qt1010 blocklist qt1010
blocklist tuner_types blocklist tuner-types
blocklist tua9001 blocklist tua9001
blocklist m88rs6000t blocklist m88rs6000t
blocklist tda18218 blocklist tda18218
@@ -47,7 +22,7 @@ blocklist mc44s803
blocklist fc0012 blocklist fc0012
blocklist si2157 blocklist si2157
blocklist tda827x blocklist tda827x
blocklist tuner_xc2028 blocklist tuner-xc2028
blocklist mt2060 blocklist mt2060
blocklist qm1d1b0004 blocklist qm1d1b0004
blocklist qm1d1c0042 blocklist qm1d1c0042
@@ -66,38 +41,28 @@ blocklist e4000
blocklist tea5761 blocklist tea5761
blocklist tda18271 blocklist tda18271
blocklist mxl5005s blocklist mxl5005s
blocklist radio_i2c_rtc6226_qca blocklist dummy-cpufreq
blocklist dummy_cpufreq
blocklist dummy_hcd blocklist dummy_hcd
blocklist kheaders blocklist kheaders
blocklist atomic64_test blocklist atomic64_test
blocklist test_user_copy blocklist test_user_copy
blocklist lkdtm blocklist lkdtm
blocklist net_failover blocklist net_failover
blocklist adc_tm blocklist adc-tm
blocklist rtc_test blocklist rtc-test
blocklist can_bcm blocklist can-bcm
blocklist can_gw blocklist can-gw
blocklist can_raw blocklist can-raw
blocklist failover blocklist failover
blocklist vmw_vsock_virtio_transport blocklist vmw_vsock_virtio_transport
blocklist vmw_vsock_virtio_transport_common blocklist vmw_vsock_virtio_transport_common
blocklist vsock_diag blocklist vsock_diag
blocklist vsock blocklist vsock
blocklist qca_cld3_wlan
blocklist qca_cld3_qca6390
blocklist torture blocklist torture
blocklist locktorture blocklist locktorture
blocklist rcutorture blocklist rcutorture
# Copyright (c) 2019-2020, The Linux Foundation. All rights reserved. blocklist mmrm_test_module
# blocklist q5drv_linux
# Motorola platform module block list blocklist limits_stat
# blocklist fpc1020_mmi
blocklist goodix_fod_mmi
blocklist utags
# Copyright (c) 2019-2020, The Linux Foundation. All rights reserved.
#
# Motorola product module block list
#

View File

@@ -1,117 +1,296 @@
msm_sysstats.ko
zsmalloc.ko
lzo.ko
lzo-rle.ko
msm_show_resume_irq.ko
mhi_cntrl_qcom.ko
mhi.ko
mhi_dev_uci.ko
mhi_dev_netdev.ko
mhi_dev_dtr.ko
phy-qcom-ufs-qmp-v4-lahaina.ko
phy-qcom-ufs-qmp-v4-parrot.ko
phy-qcom-ufs-qmp-v3.ko
phy-qcom-ufs-qmp-14nm.ko
pinctrl-spmi-gpio.ko
pinctrl-spmi-mpp.ko
pwm-qti-lpg.ko
pci-msm-drv.ko
camcc-waipio.ko
camcc-diwali.ko
debugcc-diwali.ko
videocc-waipio.ko
gpucc-waipio.ko
debugcc-waipio.ko
gpucc-diwali.ko
videocc-diwali.ko
bam_dma.ko
gpi.ko
pci-edma.ko
qcom_cpuss_sleep_stats.ko
mdt_loader.ko
cdsp-loader.ko
qcom_ramdump.ko
pdr_interface.ko
qmi_helpers.ko
heap_mem_ext_v01.ko
msm_memshare.ko
boot_stats.ko
smp2p.ko
subsystem_sleep_stats.ko
adsp_sleepmon.ko
sysmon_subsystem_stats.ko
qsee_ipc_irq_bridge.ko
core_hang_detect.ko
soc_sleep_stats.ko
rq_stats.ko
dcc_v2.ko
smcinvoke_mod.ko
microdump_collector.ko
llcc_perfmon.ko
smp2p_sleepstate.ko
sensors_ssc.ko
glink_pkt.ko
glink_probe.ko
pmic_glink.ko
qti_battery_debug.ko
charger-ulog-glink.ko
altmode-glink.ko
pmic-pon-log.ko
spss_utils.ko
msm_performance.ko
qpnp-pbs.ko
spcom.ko
cdsprm.ko
fsa4480-i2c.ko
msm_show_epoch.ko
eud.ko
guestvm_loader.ko
hyp_core_ctl.ko
qbt_handler.ko
qcom_soc_wdt.ko
sys_pm_vx.ko
msm_ext_display.ko
icnss2.ko
rimps_log.ko
plh_scmi.ko
gplaf_scmi.ko
qdss_bridge.ko
memlat.ko
qcom_logbuf_vendor_hooks.ko
panel_event_notifier.ko
qcom_sync_file.ko
hung_task_enh.ko
qfprom-sys.ko
qcom_pm8008-regulator.ko
qpnp-amoled-regulator.ko
hvc_gunyah.ko
msm_rng.ko
frpc-adsprpc.ko
rdbg.ko
qcom_iommu_debug.ko
lt9611uxc.ko
msm_kgsl.ko
zram.ko
hdcp_qseecom.ko
qseecom-mod.ko
qcom-i2c-pmic.ko
nfc_i2c.ko
sg.ko
spi-msm-geni.ko
spmi-pmic-arb-debug.ko
spmi-glink-debug.ko
cnss2.ko
cnss_utils.ko
wlan_firmware_service.ko
cnss_plat_ipc_qmi_svc.ko
cnss_nl.ko
cnss_prealloc.ko
asix.ko
ax88179_178a.ko
msm_sharedmem.ko
phy-qcom-emu.ko
phy-msm-ssusb-qmp.ko
phy-msm-snps-hs.ko
phy-msm-snps-eusb2.ko
dwc3-msm.ko
ehset.ko
lvstest.ko
ssusb-redriver-ps5169.ko
usb_f_diag.ko
usb_f_qdss.ko
usb_f_ccid.ko
usb_f_cdev.ko
usb_f_gsi.ko
f_fs_ipc_log.ko
ucsi_glink.ko
repeater.ko
repeater-i2c-eusb2.ko
pm8941-pwrkey.ko
qcom-hv-haptics.ko
i2c-msm-geni.ko
i2c-dev.ko
i3c-master-msm-geni.ko
qcom_ipc_lite.ko
synx-driver.ko
radio-i2c-rtc6226-qca.ko
qcom-pon.ko
qti_battery_charger.ko
qcom-spmi-temp-alarm.ko
qti-adc-tm.ko
qti_qmi_sensor_v2.ko
qti_qmi_cdev.ko
bcl_soc.ko
msm_lmh_dcvs.ko
cpu_voltage_cooling.ko
policy_engine.ko
sdpm_clk.ko
ddr_cdev.ko
qti_userspace_cdev.ko
qti_cpufreq_cdev.ko
qti_devfreq_cdev.ko
btpower.ko
bt_fm_slim.ko
qcom_edac.ko
qcom-cpufreq-hw-debug.ko
qcom_lpm.ko
sdhci-msm.ko
leds-qti-flash.ko
leds-qti-tri-led.ko
leds-qpnp-vibrator-ldo.ko
plh_vendor.ko
gplaf_vendor.ko
tz_log.ko
qce50.ko
qcedev-mod.ko
ipa_fmwk.ko
usb_bam.ko
sps_drv.ko
ep_pcie_drv.ko
mhi_dev_drv.ko
mhi_dev_net.ko
qcom_pil_info.ko
rproc_qcom_common.ko
qcom_q6v5.ko
qcom_q6v5_pas.ko
qcom_spss.ko
qcom_esoc.ko
qcom_sysmon.ko
qcom_glink.ko
qcom_glink_smem.ko
qcom_glink_spss.ko
qcom_smd.ko
gh_irq_lend.ko
gh_mem_notifier.ko
gh_virtio_backend.ko
qcom-spmi-adc5.ko
qcom-vadc-common.ko
nvmem_qfprom.ko
icc-test.ko
qnoc-parrot.ko
slimbus.ko
slim-qcom-ngd-ctrl.ko
hwmon.ko
qti_amoled_ecm.ko
coresight.ko
coresight-tmc.ko
coresight-funnel.ko
coresight-replicator.ko
coresight-stm.ko
coresight-cti.ko
coresight-tpda.ko
coresight-tpdm.ko
coresight-csr.ko
coresight-dummy.ko
coresight-remote-etm.ko
coresight-tgu.ko
coresight-hwevent.ko
stm_core.ko
stm_p_basic.ko
stm_p_ost.ko
stm_console.ko
stm_ftrace.ko
snd-usb-audio-qmi.ko
qrtr-smd.ko
qrtr-mhi.ko
qrtr-gunyah.ko
qca_cld3_qca6490.ko
qca_cld3_qca6750.ko
qca_cld3_kiwi.ko
qca_cld3_qca6490.ko
qca_cld3_qca6750.ko
qca_cld3_kiwi.ko
q6_notifier_dlkm.ko
spf_core_dlkm.ko
audpkt_ion_dlkm.ko
gpr_dlkm.ko
audio_pkt_dlkm.ko
q6_dlkm.ko
adsp_loader_dlkm.ko
audio_prm_dlkm.ko
q6_pdr_dlkm.ko
pinctrl_lpi_dlkm.ko
swr_dlkm.ko
swr_ctrl_dlkm.ko
snd_event_dlkm.ko
wcd_core_dlkm.ko
mbhc_dlkm.ko
swr_dmic_dlkm.ko
wcd9xxx_dlkm.ko
swr_haptics_dlkm.ko
stub_dlkm.ko stub_dlkm.ko
machine_dlkm.ko machine_dlkm.ko
fc2580.ko lpass_cdc_wsa2_macro_dlkm.ko
mt2063.ko lpass_cdc_wsa_macro_dlkm.ko
tda9887.ko lpass_cdc_va_macro_dlkm.ko
apr_dlkm.ko lpass_cdc_rx_macro_dlkm.ko
mxl5005s.ko lpass_cdc_tx_macro_dlkm.ko
xc4000.ko lpass_cdc_dlkm.ko
tuner-xc2028.ko
radio-i2c-rtc6226-qca.ko
max2165.ko
qt1010.ko
slimbus-ngd.ko
llcc_perfmon.ko
platform_dlkm.ko
wsa883x_dlkm.ko wsa883x_dlkm.ko
tea5767.ko
msi001.ko
qm1d1c0042.ko
fc0013.ko
btpower.ko
tua9001.ko
m88rs6000t.ko
qcom_edac.ko
fc0011.ko
wcd937x_dlkm.ko
pinctrl_lpi_dlkm.ko
fc0012.ko
aw882xx_k504.ko
mt20xx.ko
xc5000.ko
wcd9xxx_dlkm.ko
bt_fm_slim.ko
tea5761.ko
rx_macro_dlkm.ko
pinctrl_wcd_dlkm.ko
wsa_macro_dlkm.ko
adsp_loader_dlkm.ko
wcd938x_dlkm.ko wcd938x_dlkm.ko
q6_dlkm.ko
hdmi_dlkm.ko
swr_haptics_dlkm.ko
tda18218.ko
msm_drm.ko
tda18212.ko
wcd937x_slave_dlkm.ko
mt2060.ko
q6_notifier_dlkm.ko
tuner-simple.ko
snd_event_dlkm.ko
mc44s803.ko
wcd_core_dlkm.ko
qm1d1b0004.ko
tda18250.ko
mbhc_dlkm.ko
tuner-types.ko
si2157.ko
mt2131.ko
slimbus.ko
native_dlkm.ko
va_macro_dlkm.ko
hid-aksys.ko
mt2266.ko
bolero_cdc_dlkm.ko
mxl5007t.ko
wcd938x_slave_dlkm.ko wcd938x_slave_dlkm.ko
q6_pdr_dlkm.ko wcd937x_dlkm.ko
e4000.ko wcd937x_slave_dlkm.ko
it913x.ko hdmi_dlkm.ko
swr_ctrl_dlkm.ko
mxl301rf.ko
swr_dlkm.ko
rdbg.ko
swr_dmic_dlkm.ko
r820t.ko
camera.ko camera.ko
tx_macro_dlkm.ko msm-cvp.ko
qca_cld3_wlan.ko gsim.ko
qca_cld3_qca6750.ko ipam.ko
qca_cld3_qca6390.ko ipanetm.ko
qca_cld3_wlan.ko rndisipam.ko
qca_cld3_qca6750.ko ipa_clientsm.ko
qca_cld3_qca6390.ko
rmnet_core.ko rmnet_core.ko
rmnet_ctl.ko rmnet_ctl.ko
rmnet_offload.ko rmnet_offload.ko
rmnet_perf_tether.ko
rmnet_perf.ko
rmnet_shs.ko rmnet_shs.ko
rmnet_wlan.ko
rmnet_aps.ko
rmnet_sch.ko
msm_drm.ko
msm-eva.ko
msm-mmrm.ko
mmrm_test_module.ko
msm_video.ko
utags.ko utags.ko
mmi_info.ko
mmi_annotate.ko mmi_annotate.ko
sensors_class.ko
watchdogtest.ko
exfat.ko
bm_adsp_ulog.ko
mmi_charger.ko
qti_glink_charger.ko
qpnp_adaptive_charge.ko
cirrus_wm_adsp.ko
cirrus_cs35l41.ko
cirrus_cs35l45.ko
aw862x.ko
mmi_info.ko mmi_info.ko
mmi_relay.ko
wl2864c.ko
cci_intf.ko
st21nfc.ko
nfc_i2c.ko
sx937x_sar.ko
moto_f_usbnet.ko moto_f_usbnet.ko
bm_adsp_ulog.ko
watchdogtest.ko
mmi_charger.ko
moto_f_mass_storage.ko
rbs_fod_mmi.ko
st21nfc.ko
st54spi.ko
mmi_relay.ko
sensors_class.ko
sx937x_multi.ko
touchscreen_mmi.ko touchscreen_mmi.ko
stmicro_mmi.ko
goodix_brl_mmi.ko goodix_brl_mmi.ko
qti_glink_charger.ko
wl2868c.ko
mmi_sys_temp.ko mmi_sys_temp.ko
rbs_fps_mmi.ko qpnp_adaptive_charge.ko
mmi_info.ko
mmi_annotate.ko
tzlog_dump.ko
watchdog_cpu_ctx.ko

View File

@@ -5,3 +5,4 @@ touchscreen_mmi.ko
mmi_annotate.ko mmi_annotate.ko
mmi_info.ko mmi_info.ko
goodix_brl_mmi.ko goodix_brl_mmi.ko
stmicro_mmi.ko

View File

@@ -1,29 +1,12 @@
# All unpinned blobs below are extracted from 12-S1RDS32.55-67-4 f3f840 release-keys. # All unpinned blobs below are extracted from 12-S1RDS32.55-67-4 f3f840 release-keys.
# ACDB Data # ACDB Data
vendor/etc/acdbdata/nn_ns_models/candidate__2.7.1.31__3.0.0__eai_1.10_enpu1.pmd vendor/etc/acdbdata/waipio_mtp/MTP_acdb_cal.acdb
vendor/etc/acdbdata/nn_ns_models/fai__2.0.0_0.1__3.0.0_0.0__eai_1.00.pmd vendor/etc/acdbdata/waipio_mtp/MTP_workspaceFile.qwsp
vendor/etc/acdbdata/nn_ns_models/fai__2.2.0_0.1__3.0.0_0.0__eai_1.00.pmd
vendor/etc/acdbdata/nn_ns_models/fai__2.6.1_0.0__eai_v1.10.pmd
vendor/etc/acdbdata/nn_vad_models/fai_3.0.0_0.0_eai_1.00.pmd
vendor/etc/acdbdata/Bluetooth_cal.acdb
vendor/etc/acdbdata/General_cal.acdb
vendor/etc/acdbdata/Global_cal.acdb
vendor/etc/acdbdata/Handset_cal.acdb
vendor/etc/acdbdata/Hdmi_cal.acdb
vendor/etc/acdbdata/Headset_cal.acdb
vendor/etc/acdbdata/Speaker_cal.acdb
vendor/etc/acdbdata/adsp_avs_config.acdb
# Audio firmware
vendor/firmware/aw882xx_pid_1852_acf.bin
vendor/firmware/aw882xx_pid_2113_acf.bin
vendor/firmware/aw882xx_spk_reg.bin
vendor/firmware/aw_skt.bin
# Audio libraries # Audio libraries
vendor/lib/libacdbloader.so vendor/lib/libar-acdb.so
vendor/lib64/libacdbloader.so vendor/lib64/libar-acdb.so
# Camera # Camera
vendor/etc/pwr/PowerFeatureConfig.xml vendor/etc/pwr/PowerFeatureConfig.xml
@@ -35,25 +18,11 @@ vendor/lib/camera/fdconfigvideolite.bin
vendor/lib/hw/camera.qcom.so vendor/lib/hw/camera.qcom.so
vendor/lib/hw/com.qti.chi.override.so vendor/lib/hw/com.qti.chi.override.so
vendor/lib/com.qti.chiusecaseselector.so vendor/lib/com.qti.chiusecaseselector.so
vendor/lib/com.qti.settings.kamorta.so vendor/lib/com.qti.settings.sm8450.so
vendor/lib/com.qti.settings.kodiak.so
vendor/lib/com.qti.settings.mannar.so
vendor/lib/com.qti.settings.sdm865.so
vendor/lib/com.qti.settings.sm8350.so
vendor/lib/com.qti.stats.common.so vendor/lib/com.qti.stats.common.so
vendor/lib/libarcsoft_chi_utils.so vendor/lib/libarcsoft_chi_utils.so
vendor/lib/libarcsoft_distortion_correction.so
vendor/lib/libarcsoft_hdr_detection.so
vendor/lib/libarcsoft_high_dynamic_range.so
vendor/lib/libarcsoft_portrait_distortion_correction.so
vendor/lib/libarcsoft_portrait_super_night_raw.so
vendor/lib/libarcsoft_portrait_super_night_se_raw.so
vendor/lib/libarcsoft_qnnhtp.so
vendor/lib/libarcsoft_super_night_raw.so
vendor/lib/libarcsoft_super_night_se_raw.so
vendor/lib/libbitmlengine.so vendor/lib/libbitmlengine.so
vendor/lib/libbitmlenginev2.so vendor/lib/libbitmlenginev2.so
vendor/lib/libc2d_helper.so
vendor/lib/libcamera_nn_stub.so vendor/lib/libcamera_nn_stub.so
vendor/lib/libcamerapostproc.so vendor/lib/libcamerapostproc.so
vendor/lib/libcamxexternalformatutils.so vendor/lib/libcamxexternalformatutils.so
@@ -69,12 +38,11 @@ vendor/lib/libcamxswprocessalgo.so
vendor/lib/libcamxtintlessalgo.so vendor/lib/libcamxtintlessalgo.so
vendor/lib/libchilog.so vendor/lib/libchilog.so
vendor/lib/libcom.qti.chinodeutils.so vendor/lib/libcom.qti.chinodeutils.so
vendor/lib/libhdr10plus.so
vendor/lib/libipebpsstriping.so vendor/lib/libipebpsstriping.so
vendor/lib/libipebpsstriping170.so vendor/lib/libipebpsstriping170.so
vendor/lib/libmmcamera_bestats.so vendor/lib/libmmcamera_bestats.so
vendor/lib/libmmcamera_cac3.so vendor/lib/libmmcamera_cac3.so
vendor/lib/libmmcamera_faceproc.so
vendor/lib/libmmcamera_faceproc2.so
vendor/lib/libmmcamera_lscv35.so vendor/lib/libmmcamera_lscv35.so
vendor/lib/libmmcamera_mfnr.so vendor/lib/libmmcamera_mfnr.so
vendor/lib/libmmcamera_mfnr_t4.so vendor/lib/libmmcamera_mfnr_t4.so
@@ -83,9 +51,6 @@ vendor/lib/libmot_afd.so
vendor/lib/libmot_chi_desktop_helper.so vendor/lib/libmot_chi_desktop_helper.so
vendor/lib/libmot_engine_settings.so vendor/lib/libmot_engine_settings.so
vendor/lib/libmotoisdataqueue.so vendor/lib/libmotoisdataqueue.so
vendor/lib/libmpbase.so
vendor/lib/libofflinedump.so
vendor/lib/libofflinelog.so
vendor/lib/libopencv.so vendor/lib/libopencv.so
vendor/lib/libos.so vendor/lib/libos.so
vendor/lib/libpowercore.so vendor/lib/libpowercore.so
@@ -103,6 +68,7 @@ vendor/lib/libvidhance_fbc.so
vendor/lib/libvidhance_horizon_correction.so vendor/lib/libvidhance_horizon_correction.so
vendor/lib/libvidhance_stabilizer.so vendor/lib/libvidhance_stabilizer.so
vendor/lib/libvidhance_zoom_stabilization.so vendor/lib/libvidhance_zoom_stabilization.so
vendor/lib/vendor.qti.hardware.camera.aon@1.0-service-impl.so
vendor/lib/vendor.qti.hardware.camera.postproc@1.0-service-impl.so vendor/lib/vendor.qti.hardware.camera.postproc@1.0-service-impl.so
vendor/lib64/camera/fdconfigpreview.bin vendor/lib64/camera/fdconfigpreview.bin
vendor/lib64/camera/fdconfigpreviewlite.bin vendor/lib64/camera/fdconfigpreviewlite.bin
@@ -111,27 +77,21 @@ vendor/lib64/camera/fdconfigvideolite.bin
vendor/lib64/hw/camera.qcom.so vendor/lib64/hw/camera.qcom.so
vendor/lib64/hw/com.qti.chi.override.so vendor/lib64/hw/com.qti.chi.override.so
vendor/lib64/com.qti.chiusecaseselector.so vendor/lib64/com.qti.chiusecaseselector.so
vendor/lib64/com.qti.settings.kamorta.so vendor/lib64/com.qti.settings.sm8450.so
vendor/lib64/com.qti.settings.kodiak.so
vendor/lib64/com.qti.settings.mannar.so
vendor/lib64/com.qti.settings.sdm865.so
vendor/lib64/com.qti.settings.sm8350.so
vendor/lib64/com.qti.stats.common.so vendor/lib64/com.qti.stats.common.so
vendor/lib64/libarcsoft_chi_utils.so vendor/lib64/libarcsoft_chi_utils.so
vendor/lib64/libarcsoft_distortion_correction.so
vendor/lib64/libarcsoft_dual_sat.so
vendor/lib64/libarcsoft_dual_zoomtranslator.so
vendor/lib64/libarcsoft_hdr_detection.so vendor/lib64/libarcsoft_hdr_detection.so
vendor/lib64/libarcsoft_high_dynamic_range.so vendor/lib64/libarcsoft_high_dynamic_range.so
vendor/lib64/libarcsoft_mcxmflpolicy.so
vendor/lib64/libarcsoft_portrait_distortion_correction.so vendor/lib64/libarcsoft_portrait_distortion_correction.so
vendor/lib64/libarcsoft_portrait_super_night_raw.so
vendor/lib64/libarcsoft_portrait_super_night_se_raw.so vendor/lib64/libarcsoft_portrait_super_night_se_raw.so
vendor/lib64/libarcsoft_qnnhtp.so vendor/lib64/libarcsoft_qnnhtp.so
vendor/lib64/libarcsoft_super_night_raw.so vendor/lib64/libarcsoft_super_night_raw.so
vendor/lib64/libarcsoft_super_night_se_raw.so vendor/lib64/libarcsoft_super_night_se_raw.so
vendor/lib64/libarcsoft_triple_sat.so
vendor/lib64/libarcsoft_triple_zoomtranslator.so
vendor/lib64/libbitmlengine.so vendor/lib64/libbitmlengine.so
vendor/lib64/libbitmlenginev2.so vendor/lib64/libbitmlenginev2.so
vendor/lib64/libc2d_helper.so
vendor/lib64/libcamera_nn_stub.so vendor/lib64/libcamera_nn_stub.so
vendor/lib64/libcamerapostproc.so vendor/lib64/libcamerapostproc.so
vendor/lib64/libcamxexternalformatutils.so vendor/lib64/libcamxexternalformatutils.so
@@ -147,12 +107,11 @@ vendor/lib64/libcamxswprocessalgo.so
vendor/lib64/libcamxtintlessalgo.so vendor/lib64/libcamxtintlessalgo.so
vendor/lib64/libchilog.so vendor/lib64/libchilog.so
vendor/lib64/libcom.qti.chinodeutils.so vendor/lib64/libcom.qti.chinodeutils.so
vendor/lib64/libhdr10plus.so
vendor/lib64/libipebpsstriping.so vendor/lib64/libipebpsstriping.so
vendor/lib64/libipebpsstriping170.so vendor/lib64/libipebpsstriping170.so
vendor/lib64/libmmcamera_bestats.so vendor/lib64/libmmcamera_bestats.so
vendor/lib64/libmmcamera_cac3.so vendor/lib64/libmmcamera_cac3.so
vendor/lib64/libmmcamera_faceproc.so
vendor/lib64/libmmcamera_faceproc2.so
vendor/lib64/libmmcamera_lscv35.so vendor/lib64/libmmcamera_lscv35.so
vendor/lib64/libmmcamera_mfnr.so vendor/lib64/libmmcamera_mfnr.so
vendor/lib64/libmmcamera_mfnr_t4.so vendor/lib64/libmmcamera_mfnr_t4.so
@@ -162,8 +121,6 @@ vendor/lib64/libmot_chi_desktop_helper.so
vendor/lib64/libmot_engine_settings.so vendor/lib64/libmot_engine_settings.so
vendor/lib64/libmotoisdataqueue.so vendor/lib64/libmotoisdataqueue.so
vendor/lib64/libmpbase.so vendor/lib64/libmpbase.so
vendor/lib64/libofflinedump.so
vendor/lib64/libofflinelog.so
vendor/lib64/libopencv.so vendor/lib64/libopencv.so
vendor/lib64/libos.so vendor/lib64/libos.so
vendor/lib64/libpowercore.so vendor/lib64/libpowercore.so
@@ -180,30 +137,38 @@ vendor/lib64/libvidhance_fbc.so
vendor/lib64/libvidhance_horizon_correction.so vendor/lib64/libvidhance_horizon_correction.so
vendor/lib64/libvidhance_stabilizer.so vendor/lib64/libvidhance_stabilizer.so
vendor/lib64/libvidhance_zoom_stabilization.so vendor/lib64/libvidhance_zoom_stabilization.so
vendor/lib64/vendor.qti.hardware.camera.aon@1.0-service-impl.so
vendor/lib64/vendor.qti.hardware.camera.postproc@1.0-service-impl.so vendor/lib64/vendor.qti.hardware.camera.postproc@1.0-service-impl.so
# Camera - Components # Camera - Components
vendor/lib/camera/components/com.bots.node.vendortagwrite.so
vendor/lib/camera/components/com.mot.node.c2d.so vendor/lib/camera/components/com.mot.node.c2d.so
vendor/lib/camera/components/com.mot.node.dc_capture.so
vendor/lib/camera/components/com.mot.node.hdr.so
vendor/lib/camera/components/com.mot.node.scene_detect.so
vendor/lib/camera/components/com.qti.camx.chiiqutils.so vendor/lib/camera/components/com.qti.camx.chiiqutils.so
vendor/lib/camera/components/com.qti.eisv2.so vendor/lib/camera/components/com.qti.eisv2.so
vendor/lib/camera/components/com.qti.eisv3.so vendor/lib/camera/components/com.qti.eisv3.so
vendor/lib/camera/components/com.qti.hvx.addconstant.so vendor/lib/camera/components/com.qti.hvx.addconstant.so
vendor/lib/camera/components/com.qti.hvx.binning.so vendor/lib/camera/components/com.qti.hvx.binning.so
vendor/lib/camera/components/com.qti.node.afbfusion.so
vendor/lib/camera/components/com.qti.node.aon.so
vendor/lib/camera/components/com.qti.node.customhwnode.so vendor/lib/camera/components/com.qti.node.customhwnode.so
vendor/lib/camera/components/com.qti.node.depth.so vendor/lib/camera/components/com.qti.node.depth.so
vendor/lib/camera/components/com.qti.node.dewarp.so vendor/lib/camera/components/com.qti.node.dewarp.so
vendor/lib/camera/components/com.qti.node.dummydepth.so
vendor/lib/camera/components/com.qti.node.dummyrtb.so vendor/lib/camera/components/com.qti.node.dummyrtb.so
vendor/lib/camera/components/com.qti.node.dummysat.so vendor/lib/camera/components/com.qti.node.dummysat.so
vendor/lib/camera/components/com.qti.node.eisv2.so vendor/lib/camera/components/com.qti.node.eisv2.so
vendor/lib/camera/components/com.qti.node.eisv3.so vendor/lib/camera/components/com.qti.node.eisv3.so
vendor/lib/camera/components/com.qti.node.fcv.so vendor/lib/camera/components/com.qti.node.fcv.so
vendor/lib/camera/components/com.qti.node.formatconversion.so vendor/lib/camera/components/com.qti.node.formatconversion.so
vendor/lib/camera/components/com.qti.node.gme.so
vendor/lib/camera/components/com.qti.node.gpu.so vendor/lib/camera/components/com.qti.node.gpu.so
vendor/lib/camera/components/com.qti.node.gyrornn.so
vendor/lib/camera/components/com.qti.node.hdr10pgen.so
vendor/lib/camera/components/com.qti.node.hdr10phist.so
vendor/lib/camera/components/com.qti.node.memcpy.so vendor/lib/camera/components/com.qti.node.memcpy.so
vendor/lib/camera/components/com.qti.node.ml.so vendor/lib/camera/components/com.qti.node.ml.so
vendor/lib/camera/components/com.qti.node.mlinference.so
vendor/lib/camera/components/com.qti.node.muxer.so
vendor/lib/camera/components/com.qti.node.remosaic.so vendor/lib/camera/components/com.qti.node.remosaic.so
vendor/lib/camera/components/com.qti.node.stich.so vendor/lib/camera/components/com.qti.node.stich.so
vendor/lib/camera/components/com.qti.node.swaidenoiser.so vendor/lib/camera/components/com.qti.node.swaidenoiser.so
@@ -211,6 +176,7 @@ vendor/lib/camera/components/com.qti.node.swbestats.so
vendor/lib/camera/components/com.qti.node.swcac.so vendor/lib/camera/components/com.qti.node.swcac.so
vendor/lib/camera/components/com.qti.node.swec.so vendor/lib/camera/components/com.qti.node.swec.so
vendor/lib/camera/components/com.qti.node.swfusion.so vendor/lib/camera/components/com.qti.node.swfusion.so
vendor/lib/camera/components/com.qti.node.swhme.so
vendor/lib/camera/components/com.qti.node.swlsc.so vendor/lib/camera/components/com.qti.node.swlsc.so
vendor/lib/camera/components/com.qti.node.swmctf.so vendor/lib/camera/components/com.qti.node.swmctf.so
vendor/lib/camera/components/com.qti.node.swmfnr.so vendor/lib/camera/components/com.qti.node.swmfnr.so
@@ -229,9 +195,11 @@ vendor/lib/camera/components/com.qti.stats.awbwrapper.so
vendor/lib/camera/components/com.qti.stats.cnndriver.so vendor/lib/camera/components/com.qti.stats.cnndriver.so
vendor/lib/camera/components/com.qti.stats.haf.so vendor/lib/camera/components/com.qti.stats.haf.so
vendor/lib/camera/components/com.qti.stats.hafoverride.so vendor/lib/camera/components/com.qti.stats.hafoverride.so
vendor/lib/camera/components/com.qti.stats.localhistogram.so
vendor/lib/camera/components/com.qti.stats.pdlib.so vendor/lib/camera/components/com.qti.stats.pdlib.so
vendor/lib/camera/components/com.qti.stats.pdlibsony.so vendor/lib/camera/components/com.qti.stats.pdlibsony.so
vendor/lib/camera/components/com.qti.stats.pdlibwrapper.so vendor/lib/camera/components/com.qti.stats.pdlibwrapper.so
vendor/lib/camera/components/com.qti.stats.statsgenerator.so
vendor/lib/camera/components/com.qti.stats.tracker.so vendor/lib/camera/components/com.qti.stats.tracker.so
vendor/lib/camera/components/com.qtistatic.stats.aec.so vendor/lib/camera/components/com.qtistatic.stats.aec.so
vendor/lib/camera/components/com.qtistatic.stats.af.so vendor/lib/camera/components/com.qtistatic.stats.af.so
@@ -240,10 +208,11 @@ vendor/lib/camera/components/com.qtistatic.stats.pdlib.so
vendor/lib/camera/components/com.vidhance.node.ica.so vendor/lib/camera/components/com.vidhance.node.ica.so
vendor/lib/camera/components/com.vidhance.node.processing.so vendor/lib/camera/components/com.vidhance.node.processing.so
vendor/lib/camera/components/com.vidhance.stats.aec_dmbr.so vendor/lib/camera/components/com.vidhance.stats.aec_dmbr.so
vendor/lib64/camera/components/com.arcsoft.node.dc_capture.so
vendor/lib64/camera/components/com.arcsoft.node.smooth_transition.so vendor/lib64/camera/components/com.arcsoft.node.smooth_transition.so
vendor/lib64/camera/components/com.arcsoft.node.supernightraw.so vendor/lib64/camera/components/com.arcsoft.node.supernightraw.so
vendor/lib64/camera/components/com.bots.node.vendortagwrite.so
vendor/lib64/camera/components/com.mot.node.c2d.so vendor/lib64/camera/components/com.mot.node.c2d.so
vendor/lib64/camera/components/com.mot.node.dc_capture.so
vendor/lib64/camera/components/com.mot.node.hdr.so vendor/lib64/camera/components/com.mot.node.hdr.so
vendor/lib64/camera/components/com.mot.node.scene_detect.so vendor/lib64/camera/components/com.mot.node.scene_detect.so
vendor/lib64/camera/components/com.qti.camx.chiiqutils.so vendor/lib64/camera/components/com.qti.camx.chiiqutils.so
@@ -251,18 +220,27 @@ vendor/lib64/camera/components/com.qti.eisv2.so
vendor/lib64/camera/components/com.qti.eisv3.so vendor/lib64/camera/components/com.qti.eisv3.so
vendor/lib64/camera/components/com.qti.hvx.addconstant.so vendor/lib64/camera/components/com.qti.hvx.addconstant.so
vendor/lib64/camera/components/com.qti.hvx.binning.so vendor/lib64/camera/components/com.qti.hvx.binning.so
vendor/lib64/camera/components/com.qti.node.afbfusion.so
vendor/lib64/camera/components/com.qti.node.aon.so
vendor/lib64/camera/components/com.qti.node.customhwnode.so vendor/lib64/camera/components/com.qti.node.customhwnode.so
vendor/lib64/camera/components/com.qti.node.depth.so vendor/lib64/camera/components/com.qti.node.depth.so
vendor/lib64/camera/components/com.qti.node.dewarp.so vendor/lib64/camera/components/com.qti.node.dewarp.so
vendor/lib64/camera/components/com.qti.node.dummydepth.so
vendor/lib64/camera/components/com.qti.node.dummyrtb.so vendor/lib64/camera/components/com.qti.node.dummyrtb.so
vendor/lib64/camera/components/com.qti.node.dummysat.so vendor/lib64/camera/components/com.qti.node.dummysat.so
vendor/lib64/camera/components/com.qti.node.eisv2.so vendor/lib64/camera/components/com.qti.node.eisv2.so
vendor/lib64/camera/components/com.qti.node.eisv3.so vendor/lib64/camera/components/com.qti.node.eisv3.so
vendor/lib64/camera/components/com.qti.node.fcv.so vendor/lib64/camera/components/com.qti.node.fcv.so
vendor/lib64/camera/components/com.qti.node.formatconversion.so vendor/lib64/camera/components/com.qti.node.formatconversion.so
vendor/lib64/camera/components/com.qti.node.gme.so
vendor/lib64/camera/components/com.qti.node.gpu.so vendor/lib64/camera/components/com.qti.node.gpu.so
vendor/lib64/camera/components/com.qti.node.gyrornn.so
vendor/lib64/camera/components/com.qti.node.hdr10pgen.so
vendor/lib64/camera/components/com.qti.node.hdr10phist.so
vendor/lib64/camera/components/com.qti.node.memcpy.so vendor/lib64/camera/components/com.qti.node.memcpy.so
vendor/lib64/camera/components/com.qti.node.ml.so vendor/lib64/camera/components/com.qti.node.ml.so
vendor/lib64/camera/components/com.qti.node.mlinference.so
vendor/lib64/camera/components/com.qti.node.muxer.so
vendor/lib64/camera/components/com.qti.node.remosaic.so vendor/lib64/camera/components/com.qti.node.remosaic.so
vendor/lib64/camera/components/com.qti.node.stich.so vendor/lib64/camera/components/com.qti.node.stich.so
vendor/lib64/camera/components/com.qti.node.swaidenoiser.so vendor/lib64/camera/components/com.qti.node.swaidenoiser.so
@@ -270,6 +248,7 @@ vendor/lib64/camera/components/com.qti.node.swbestats.so
vendor/lib64/camera/components/com.qti.node.swcac.so vendor/lib64/camera/components/com.qti.node.swcac.so
vendor/lib64/camera/components/com.qti.node.swec.so vendor/lib64/camera/components/com.qti.node.swec.so
vendor/lib64/camera/components/com.qti.node.swfusion.so vendor/lib64/camera/components/com.qti.node.swfusion.so
vendor/lib64/camera/components/com.qti.node.swhme.so
vendor/lib64/camera/components/com.qti.node.swlsc.so vendor/lib64/camera/components/com.qti.node.swlsc.so
vendor/lib64/camera/components/com.qti.node.swmctf.so vendor/lib64/camera/components/com.qti.node.swmctf.so
vendor/lib64/camera/components/com.qti.node.swmfnr.so vendor/lib64/camera/components/com.qti.node.swmfnr.so
@@ -288,9 +267,11 @@ vendor/lib64/camera/components/com.qti.stats.awbwrapper.so
vendor/lib64/camera/components/com.qti.stats.cnndriver.so vendor/lib64/camera/components/com.qti.stats.cnndriver.so
vendor/lib64/camera/components/com.qti.stats.haf.so vendor/lib64/camera/components/com.qti.stats.haf.so
vendor/lib64/camera/components/com.qti.stats.hafoverride.so vendor/lib64/camera/components/com.qti.stats.hafoverride.so
vendor/lib64/camera/components/com.qti.stats.localhistogram.so
vendor/lib64/camera/components/com.qti.stats.pdlib.so vendor/lib64/camera/components/com.qti.stats.pdlib.so
vendor/lib64/camera/components/com.qti.stats.pdlibsony.so vendor/lib64/camera/components/com.qti.stats.pdlibsony.so
vendor/lib64/camera/components/com.qti.stats.pdlibwrapper.so vendor/lib64/camera/components/com.qti.stats.pdlibwrapper.so
vendor/lib64/camera/components/com.qti.stats.statsgenerator.so
vendor/lib64/camera/components/com.qti.stats.tracker.so vendor/lib64/camera/components/com.qti.stats.tracker.so
vendor/lib64/camera/components/com.qtistatic.stats.aec.so vendor/lib64/camera/components/com.qtistatic.stats.aec.so
vendor/lib64/camera/components/com.qtistatic.stats.af.so vendor/lib64/camera/components/com.qtistatic.stats.af.so
@@ -302,42 +283,42 @@ vendor/lib64/camera/components/com.vidhance.stats.aec_dmbr.so
vendor/lib64/camera/components/libdepthmapwrapper_secure.so vendor/lib64/camera/components/libdepthmapwrapper_secure.so
# Camera - eeprom # Camera - eeprom
vendor/lib/camera/com.mot.eeprom.mot_dubai_gc02m1b_otp.so vendor/lib/camera/com.mot.eeprom.mot_gt24p128e_imx663_eeprom.so
vendor/lib/camera/com.mot.eeprom.mot_gt24p128e_ov50a_eeprom.so vendor/lib/camera/com.mot.eeprom.mot_gt24p128e_s5khp1_eeprom.so
vendor/lib/camera/com.mot.eeprom.mot_gt24p128e_s5kjn1_eeprom.so vendor/lib/camera/com.mot.eeprom.mot_gt24p128e_s5kjn1_eeprom.so
vendor/lib/camera/com.mot.eeprom.mot_gt24p64e_ov32b40_eeprom.so vendor/lib/camera/com.mot.eeprom.mot_gt24p64e_ov60a_eeprom.so
vendor/lib64/camera/com.mot.eeprom.mot_dubai_gc02m1b_otp.so vendor/lib64/camera/com.mot.eeprom.mot_gt24p128e_imx663_eeprom.so
vendor/lib64/camera/com.mot.eeprom.mot_gt24p128e_ov50a_eeprom.so vendor/lib64/camera/com.mot.eeprom.mot_gt24p128e_s5khp1_eeprom.so
vendor/lib64/camera/com.mot.eeprom.mot_gt24p128e_s5kjn1_eeprom.so vendor/lib64/camera/com.mot.eeprom.mot_gt24p128e_s5kjn1_eeprom.so
vendor/lib64/camera/com.mot.eeprom.mot_gt24p64e_ov32b40_eeprom.so vendor/lib64/camera/com.mot.eeprom.mot_gt24p64e_ov60a_eeprom.so
# Camera - etc # Camera - etc
vendor/etc/camera/aec_golden_depth.bin vendor/etc/camera/aec_golden_tele.bin
vendor/etc/camera/aec_golden_wide.bin vendor/etc/camera/aec_golden_wide.bin
vendor/etc/camera/arcsoft_calibration_u_dc.bin vendor/etc/camera/dual_golden_tele.bin
vendor/etc/camera/dual_golden_depth.bin
vendor/etc/camera/dual_golden_wide.bin vendor/etc/camera/dual_golden_wide.bin
vendor/etc/camera/mot_engine_config.bin vendor/etc/camera/mot_engine_config.bin
vendor/etc/camera/vidhance_calibration vendor/etc/camera/vidhance_calibration
# Camera - feature2 # Camera - feature2
vendor/lib/com.qti.feature2.anchorsync.so vendor/lib/com.qti.feature2.anchorsync.so
vendor/lib/com.qti.feature2.arcrawpro.so
vendor/lib/com.qti.feature2.demux.so vendor/lib/com.qti.feature2.demux.so
vendor/lib/com.qti.feature2.derivedoffline.so vendor/lib/com.qti.feature2.derivedoffline.so
vendor/lib/com.qti.feature2.frameselect.so vendor/lib/com.qti.feature2.frameselect.so
vendor/lib/com.qti.feature2.fusion.so vendor/lib/com.qti.feature2.fusion.so
vendor/lib/com.qti.feature2.generic.so vendor/lib/com.qti.feature2.generic.so
vendor/lib/com.qti.feature2.gs.cedros.so vendor/lib/com.qti.feature2.gs.cedros.so
vendor/lib/com.qti.feature2.gs.kamorta.so vendor/lib/com.qti.feature2.gs.fillmore.so
vendor/lib/com.qti.feature2.gs.kodiak.so
vendor/lib/com.qti.feature2.gs.mannar.so
vendor/lib/com.qti.feature2.gs.sdm865.so vendor/lib/com.qti.feature2.gs.sdm865.so
vendor/lib/com.qti.feature2.gs.sm8350.so vendor/lib/com.qti.feature2.gs.sm8350.so
vendor/lib/com.qti.feature2.gs.sm8450.so
vendor/lib/com.qti.feature2.hdr.so vendor/lib/com.qti.feature2.hdr.so
vendor/lib/com.qti.feature2.mcreprocrt.so vendor/lib/com.qti.feature2.mcreprocrt.so
vendor/lib/com.qti.feature2.memcpy.so vendor/lib/com.qti.feature2.memcpy.so
vendor/lib/com.qti.feature2.mfsr.netrani.so
vendor/lib/com.qti.feature2.mfsr.sm8450.so
vendor/lib/com.qti.feature2.mfsr.so vendor/lib/com.qti.feature2.mfsr.so
vendor/lib/com.qti.feature2.ml.fillmore.so
vendor/lib/com.qti.feature2.ml.so vendor/lib/com.qti.feature2.ml.so
vendor/lib/com.qti.feature2.mux.so vendor/lib/com.qti.feature2.mux.so
vendor/lib/com.qti.feature2.qcfa.so vendor/lib/com.qti.feature2.qcfa.so
@@ -357,15 +338,17 @@ vendor/lib64/com.qti.feature2.frameselect.so
vendor/lib64/com.qti.feature2.fusion.so vendor/lib64/com.qti.feature2.fusion.so
vendor/lib64/com.qti.feature2.generic.so vendor/lib64/com.qti.feature2.generic.so
vendor/lib64/com.qti.feature2.gs.cedros.so vendor/lib64/com.qti.feature2.gs.cedros.so
vendor/lib64/com.qti.feature2.gs.kamorta.so vendor/lib64/com.qti.feature2.gs.fillmore.so
vendor/lib64/com.qti.feature2.gs.kodiak.so
vendor/lib64/com.qti.feature2.gs.mannar.so
vendor/lib64/com.qti.feature2.gs.sdm865.so vendor/lib64/com.qti.feature2.gs.sdm865.so
vendor/lib64/com.qti.feature2.gs.sm8350.so vendor/lib64/com.qti.feature2.gs.sm8350.so
vendor/lib64/com.qti.feature2.gs.sm8450.so
vendor/lib64/com.qti.feature2.hdr.so vendor/lib64/com.qti.feature2.hdr.so
vendor/lib64/com.qti.feature2.mcreprocrt.so vendor/lib64/com.qti.feature2.mcreprocrt.so
vendor/lib64/com.qti.feature2.memcpy.so vendor/lib64/com.qti.feature2.memcpy.so
vendor/lib64/com.qti.feature2.mfsr.netrani.so
vendor/lib64/com.qti.feature2.mfsr.sm8450.so
vendor/lib64/com.qti.feature2.mfsr.so vendor/lib64/com.qti.feature2.mfsr.so
vendor/lib64/com.qti.feature2.ml.fillmore.so
vendor/lib64/com.qti.feature2.ml.so vendor/lib64/com.qti.feature2.ml.so
vendor/lib64/com.qti.feature2.mux.so vendor/lib64/com.qti.feature2.mux.so
vendor/lib64/com.qti.feature2.qcfa.so vendor/lib64/com.qti.feature2.qcfa.so
@@ -381,65 +364,63 @@ vendor/lib64/com.qti.feature2.swmf.so
# Camera - ICP # Camera - ICP
vendor/firmware/CAMERA_ICP.elf vendor/firmware/CAMERA_ICP.elf
vendor/firmware/CAMERA_ICP_170.elf vendor/firmware/CAMERA_ICP_170.elf
vendor/firmware/CAMERA_ICP_480.elf
# Camera - Motorola # Camera - Motorola
vendor/bin/hw/motorola.hardware.camera.desktop@2.0-service vendor/bin/hw/motorola.hardware.camera.desktop@2.0-service
vendor/etc/init/motorola.hardware.camera.desktop@2.0-service.rc vendor/etc/init/motorola.hardware.camera.desktop@2.0-service.rc
vendor/etc/init/motorola.hardware.camera.imgtuner@1.0-service.rc
vendor/lib/motorola.hardware.camera.desktop@1.0.so vendor/lib/motorola.hardware.camera.desktop@1.0.so
vendor/lib/motorola.hardware.camera.desktop@2.0.so vendor/lib/motorola.hardware.camera.desktop@2.0.so
vendor/lib64/motorola.hardware.camera.desktop@1.0.so vendor/lib64/motorola.hardware.camera.desktop@1.0.so
vendor/lib64/motorola.hardware.camera.desktop@2.0.so vendor/lib64/motorola.hardware.camera.desktop@2.0.so
# Camera - OIS # Camera - OIS
vendor/firmware/mot_dw9781c.prog vendor/firmware/mot_bu63169.coeff
vendor/firmware/mot_bu63169.prog
# Camera - sensor # Camera - sensor
vendor/lib/camera/com.qti.sensor.mot_gc02m1b.so vendor/lib/camera/com.qti.sensor.mot_imx663.so
vendor/lib/camera/com.qti.sensor.mot_ov32b40.so vendor/lib/camera/com.qti.sensor.mot_ov60a.so
vendor/lib/camera/com.qti.sensor.mot_ov50a.so vendor/lib/camera/com.qti.sensor.mot_s5khp1.so
vendor/lib/camera/com.qti.sensor.mot_s5kjn1.so vendor/lib/camera/com.qti.sensor.mot_s5kjn1.so
vendor/lib/camera/com.qti.sensormodule.mot_dubai_gc02m1b_tsp.bin vendor/lib64/camera/com.qti.sensor.mot_imx663.so
vendor/lib/camera/com.qti.sensormodule.mot_dubai_ov32b40_ofilm.bin vendor/lib64/camera/com.qti.sensor.mot_ov60a.so
vendor/lib/camera/com.qti.sensormodule.mot_dubai_ov50a_sunny.bin vendor/lib64/camera/com.qti.sensor.mot_s5khp1.so
vendor/lib/camera/com.qti.sensormodule.mot_dubai_s5kjn1_qtech.bin
vendor/lib64/camera/com.qti.sensor.mot_gc02m1b.so
vendor/lib64/camera/com.qti.sensor.mot_ov32b40.so
vendor/lib64/camera/com.qti.sensor.mot_ov50a.so
vendor/lib64/camera/com.qti.sensor.mot_s5kjn1.so vendor/lib64/camera/com.qti.sensor.mot_s5kjn1.so
vendor/lib64/camera/com.qti.sensormodule.mot_dubai_gc02m1b_tsp.bin
vendor/lib64/camera/com.qti.sensormodule.mot_dubai_ov32b40_ofilm.bin
vendor/lib64/camera/com.qti.sensormodule.mot_dubai_ov50a_sunny.bin
vendor/lib64/camera/com.qti.sensormodule.mot_dubai_s5kjn1_qtech.bin
# Camera - sensormodule # Camera - sensormodule
vendor/lib/camera/com.qti.sensormodule.mot_dubai_gc02m1b_tsp.bin vendor/lib/camera/com.qti.sensormodule.mot_eqs_imx663_ofilm.bin
vendor/lib/camera/com.qti.sensormodule.mot_dubai_ov32b40_ofilm.bin vendor/lib/camera/com.qti.sensormodule.mot_eqs_ov60a_qtech.bin
vendor/lib/camera/com.qti.sensormodule.mot_dubai_ov50a_sunny.bin vendor/lib/camera/com.qti.sensormodule.mot_eqs_s5khp1_qtech.bin
vendor/lib/camera/com.qti.sensormodule.mot_dubai_s5kjn1_qtech.bin vendor/lib/camera/com.qti.sensormodule.mot_eqs_s5kjn1_qtech.bin
vendor/lib64/camera/com.qti.sensormodule.mot_dubai_gc02m1b_tsp.bin vendor/lib64/camera/com.qti.sensormodule.mot_eqs_imx663_ofilm.bin
vendor/lib64/camera/com.qti.sensormodule.mot_dubai_ov32b40_ofilm.bin vendor/lib64/camera/com.qti.sensormodule.mot_eqs_ov60a_qtech.bin
vendor/lib64/camera/com.qti.sensormodule.mot_dubai_ov50a_sunny.bin vendor/lib64/camera/com.qti.sensormodule.mot_eqs_s5khp1_qtech.bin
vendor/lib64/camera/com.qti.sensormodule.mot_dubai_s5kjn1_qtech.bin vendor/lib64/camera/com.qti.sensormodule.mot_eqs_s5kjn1_qtech.bin
# Camera - tuned # Camera - tuned
vendor/lib/camera/com.qti.tuned.default.bin vendor/lib/camera/com.qti.tuned.default.bin
vendor/lib/camera/com.qti.tuned.mot_dubai_gc02m1b.bin vendor/lib/camera/com.qti.tuned.mot_eqs_imx663.bin
vendor/lib/camera/com.qti.tuned.mot_dubai_ov32b40.bin vendor/lib/camera/com.qti.tuned.mot_eqs_ov60a.bin
vendor/lib/camera/com.qti.tuned.mot_dubai_ov50a.bin vendor/lib/camera/com.qti.tuned.mot_eqs_s5khp1.bin
vendor/lib/camera/com.qti.tuned.mot_dubai_s5kjn1.bin vendor/lib/camera/com.qti.tuned.mot_eqs_s5kjn1.bin
vendor/lib64/camera/com.qti.tuned.default.bin vendor/lib64/camera/com.qti.tuned.default.bin
vendor/lib64/camera/com.qti.tuned.mot_dubai_gc02m1b.bin vendor/lib64/camera/com.qti.tuned.mot_eqs_imx663.bin
vendor/lib64/camera/com.qti.tuned.mot_dubai_ov32b40.bin vendor/lib64/camera/com.qti.tuned.mot_eqs_ov60a.bin
vendor/lib64/camera/com.qti.tuned.mot_dubai_ov50a.bin vendor/lib64/camera/com.qti.tuned.mot_eqs_s5khp1.bin
vendor/lib64/camera/com.qti.tuned.mot_dubai_s5kjn1.bin vendor/lib64/camera/com.qti.tuned.mot_eqs_s5kjn1.bin
# Charger firmware
vendor/firmware/cps4035.bin
# Display calibration data # Display calibration data
vendor/etc/qdcm_calib_data_mipi_mot_cmd_csot_1080p_dsc_655.xml vendor/etc/display/qdcm_calib_data_mipi_mot_cmd_csot_1080p_dsc_667.json
vendor/etc/qdcm_calib_data_mipi_mot_cmd_tm_1080p_dsc_655.xml vendor/etc/display/qdcm_calib_data_mipi_mot_cmd_csot_1080p_dsc_667_c6.json
vendor/etc/qdcm_calib_data_nt36672e_60_Hz_fhd_plus_video_mode_panel_without_DSC.xml vendor/etc/display/qdcm_calib_data_mipi_mot_cmd_csot_ili_1080p_dsc_667.json
vendor/etc/qdcm_calib_data_nt36672e_fhd_plus_120Hz_Video_panel.xml vendor/etc/display/qdcm_calib_data_mipi_mot_cmd_tianma_1080p_667.json
vendor/etc/qdcm_calib_data_nt36672e_fhd_plus_144Hz_video_panel.xml vendor/etc/display/qdcm_calib_data_mipi_mot_video_dummy_qhd.json
vendor/etc/display/qdcm_calib_data_nt36672e_lcd_video_mode_dsi_novatek_panel_with_DSC.json
vendor/etc/display/qdcm_calib_data_nt36672e_lcd_video_mode_dsi_novatek_panel_without_DSC.json
# Fingerprint # Fingerprint
vendor/bin/hw/android.hardware.biometrics.fingerprint@2.1-service-ets vendor/bin/hw/android.hardware.biometrics.fingerprint@2.1-service-ets
@@ -454,6 +435,7 @@ vendor/bin/STFlashTool
# NFC - configs # NFC - configs
vendor/etc/libnfc-hal-st.conf vendor/etc/libnfc-hal-st.conf
vendor/etc/libnfc-hal-st54j.conf
vendor/etc/libnfc-nci-st.conf vendor/etc/libnfc-nci-st.conf
vendor/etc/st21nfc_conf_ds.txt vendor/etc/st21nfc_conf_ds.txt
vendor/etc/st21nfc_conf_ss.txt vendor/etc/st21nfc_conf_ss.txt
@@ -461,6 +443,7 @@ vendor/etc/st21nfc_conf_ss.txt
# NFC firmware # NFC firmware
vendor/firmware/st21nfc_fw.bin vendor/firmware/st21nfc_fw.bin
vendor/firmware/st21nfc_fw7.bin vendor/firmware/st21nfc_fw7.bin
vendor/firmware/st54j_fw.bin
# OEM # OEM
vendor/etc/vhw.xml vendor/etc/vhw.xml
@@ -470,26 +453,34 @@ vendor/lib64/sensors.moto.so
vendor/lib64/sensors.ssc.so vendor/lib64/sensors.ssc.so
# Sensor - configs # Sensor - configs
vendor/etc/sensors/config/icm4x6xx.json vendor/etc/sensors/als_comp_config.xml
vendor/etc/sensors/config/kodiak_default_sensors.json vendor/etc/sensors/als_comp_tf_csotc4.config
vendor/etc/sensors/config/kodiak_dynamic_sensors.json vendor/etc/sensors/als_comp_tf_csotc6.config
vendor/etc/sensors/config/kodiak_irq.json vendor/etc/sensors/als_comp_tf_tianma.config
vendor/etc/sensors/config/kodiak_power_0.json vendor/etc/sensors/config/icm4x6xx_0.json
vendor/etc/sensors/config/lsm6dso_0.json
vendor/etc/sensors/config/mmc5603x_0.json
vendor/etc/sensors/config/mot_camgest.json vendor/etc/sensors/config/mot_camgest.json
vendor/etc/sensors/config/mot_devorient.json vendor/etc/sensors/config/mot_chopchop.json
vendor/etc/sensors/config/mot_drop.json
vendor/etc/sensors/config/mot_ftm.json
vendor/etc/sensors/config/mot_ltv.json
vendor/etc/sensors/config/mot_tap.json
vendor/etc/sensors/config/mot_vsync_psd.json
vendor/etc/sensors/config/mxg4300_0.json vendor/etc/sensors/config/mxg4300_0.json
vendor/etc/sensors/config/qmc6308_0.json
vendor/etc/sensors/config/qsh_camera.json
vendor/etc/sensors/config/sns_amd.json vendor/etc/sensors/config/sns_amd.json
vendor/etc/sensors/config/sns_amd_sw_disabled.json vendor/etc/sensors/config/sns_amd_sw_disabled.json
vendor/etc/sensors/config/sns_amd_sw_enabled.json vendor/etc/sensors/config/sns_amd_sw_enabled.json
vendor/etc/sensors/config/sns_aont.json vendor/etc/sensors/config/sns_aont.json
vendor/etc/sensors/config/sns_basic_gestures.json vendor/etc/sensors/config/sns_basic_gestures.json
vendor/etc/sensors/config/sns_bring_to_ear.json vendor/etc/sensors/config/sns_bring_to_ear.json
vendor/etc/sensors/config/sns_ccd.json vendor/etc/sensors/config/sns_ccd_v1_0_amd.json
vendor/etc/sensors/config/sns_ccd_v2_walk.json vendor/etc/sensors/config/sns_ccd_v1_0_ttw.json
vendor/etc/sensors/config/sns_ccd_v2_0_walk.json
vendor/etc/sensors/config/sns_ccd_v3_0_walk.json
vendor/etc/sensors/config/sns_ccd_v3_1_walk.json vendor/etc/sensors/config/sns_ccd_v3_1_walk.json
vendor/etc/sensors/config/sns_ccd_v3_walk.json vendor/etc/sensors/config/sns_ccd_v4_0_sensors.json
vendor/etc/sensors/config/sns_ccd_v4_0_te_cd_regs.json
vendor/etc/sensors/config/sns_cm.json vendor/etc/sensors/config/sns_cm.json
vendor/etc/sensors/config/sns_dae.json vendor/etc/sensors/config/sns_dae.json
vendor/etc/sensors/config/sns_device_orient.json vendor/etc/sensors/config/sns_device_orient.json
@@ -502,10 +493,8 @@ vendor/etc/sensors/config/sns_fmv.json
vendor/etc/sensors/config/sns_fmv_legacy.json vendor/etc/sensors/config/sns_fmv_legacy.json
vendor/etc/sensors/config/sns_geomag_rv.json vendor/etc/sensors/config/sns_geomag_rv.json
vendor/etc/sensors/config/sns_gyro_cal.json vendor/etc/sensors/config/sns_gyro_cal.json
vendor/etc/sensors/config/sns_heart_rate.json
vendor/etc/sensors/config/sns_mag_cal.json vendor/etc/sensors/config/sns_mag_cal.json
vendor/etc/sensors/config/sns_mag_cal_legacy.json vendor/etc/sensors/config/sns_mag_cal_legacy.json
vendor/etc/sensors/config/sns_multishake.json
vendor/etc/sensors/config/sns_pedometer.json vendor/etc/sensors/config/sns_pedometer.json
vendor/etc/sensors/config/sns_rmd.json vendor/etc/sensors/config/sns_rmd.json
vendor/etc/sensors/config/sns_rotv.json vendor/etc/sensors/config/sns_rotv.json
@@ -514,165 +503,30 @@ vendor/etc/sensors/config/sns_tilt.json
vendor/etc/sensors/config/sns_tilt_sw_disabled.json vendor/etc/sensors/config/sns_tilt_sw_disabled.json
vendor/etc/sensors/config/sns_tilt_sw_enabled.json vendor/etc/sensors/config/sns_tilt_sw_enabled.json
vendor/etc/sensors/config/sns_tilt_to_wake.json vendor/etc/sensors/config/sns_tilt_to_wake.json
vendor/etc/sensors/config/sns_wrist_pedo.json vendor/etc/sensors/config/tcs3720_0.json
vendor/etc/sensors/config/stk3a5x_0.json vendor/etc/sensors/config/tcs3720_0_csot_dvt2.json
vendor/etc/sensors/proto/als_mastercal.proto vendor/etc/sensors/config/tcs3720_0_csotc4_always.json
vendor/etc/sensors/proto/descriptor.proto vendor/etc/sensors/config/tcs3720_0_csotc4_pvt1.json
vendor/etc/sensors/proto/mot_barocal.proto vendor/etc/sensors/config/tcs3720_0_csotc6_always.json
vendor/etc/sensors/proto/mot_camgest.proto vendor/etc/sensors/config/tcs3720_0_csotc6_pvt1.json
vendor/etc/sensors/proto/mot_chopchop.proto vendor/etc/sensors/config/tcs3720_0_evt_dvt1.json
vendor/etc/sensors/proto/mot_devorient.proto vendor/etc/sensors/config/tcs3720_0_tianma_always.json
vendor/etc/sensors/proto/mot_dsp_usound.proto vendor/etc/sensors/config/tcs3720_0_tianma_dvt2.json
vendor/etc/sensors/proto/mot_flip.proto vendor/etc/sensors/config/waipio_default_sensors.json
vendor/etc/sensors/proto/mot_ftm.proto vendor/etc/sensors/config/waipio_dynamic_sensors.json
vendor/etc/sensors/proto/mot_glance.proto vendor/etc/sensors/config/waipio_irq.json
vendor/etc/sensors/proto/mot_log.proto vendor/etc/sensors/config/waipio_power_0.json
vendor/etc/sensors/proto/mot_lts.proto vendor/etc/sensors/hals.conf
vendor/etc/sensors/proto/mot_ltv.proto
vendor/etc/sensors/proto/mot_movement.proto
vendor/etc/sensors/proto/mot_offbody.proto
vendor/etc/sensors/proto/mot_probe.proto
vendor/etc/sensors/proto/mot_proxcal.proto
vendor/etc/sensors/proto/mot_stowed.proto
vendor/etc/sensors/proto/mot_tap.proto
vendor/etc/sensors/proto/mot_vsync.proto
vendor/etc/sensors/proto/nanopb.proto
vendor/etc/sensors/proto/sns_accel.proto
vendor/etc/sensors/proto/sns_accel_cal.proto
vendor/etc/sensors/proto/sns_activity_recognition.proto
vendor/etc/sensors/proto/sns_ambient_light.proto
vendor/etc/sensors/proto/sns_ambient_temperature.proto
vendor/etc/sensors/proto/sns_amd.proto
vendor/etc/sensors/proto/sns_aont.proto
vendor/etc/sensors/proto/sns_basic_gestures.proto
vendor/etc/sensors/proto/sns_bring_to_ear.proto
vendor/etc/sensors/proto/sns_cal.proto
vendor/etc/sensors/proto/sns_client.proto
vendor/etc/sensors/proto/sns_cmc.proto
vendor/etc/sensors/proto/sns_da_test.proto
vendor/etc/sensors/proto/sns_device_mode.proto
vendor/etc/sensors/proto/sns_device_orient.proto
vendor/etc/sensors/proto/sns_diag.proto
vendor/etc/sensors/proto/sns_diag_sensor.proto
vendor/etc/sensors/proto/sns_direct_channel.proto
vendor/etc/sensors/proto/sns_dpc.proto
vendor/etc/sensors/proto/sns_ext_svc.proto
vendor/etc/sensors/proto/sns_facing.proto
vendor/etc/sensors/proto/sns_fmv.proto
vendor/etc/sensors/proto/sns_formatter.proto
vendor/etc/sensors/proto/sns_fw.proto
vendor/etc/sensors/proto/sns_game_rv.proto
vendor/etc/sensors/proto/sns_geomag_rv.proto
vendor/etc/sensors/proto/sns_gravity.proto
vendor/etc/sensors/proto/sns_gyro.proto
vendor/etc/sensors/proto/sns_gyro_cal.proto
vendor/etc/sensors/proto/sns_gyro_rot_matrix.proto
vendor/etc/sensors/proto/sns_hall.proto
vendor/etc/sensors/proto/sns_heart_beat.proto
vendor/etc/sensors/proto/sns_heart_rate.proto
vendor/etc/sensors/proto/sns_hinge_angle.proto
vendor/etc/sensors/proto/sns_humidity.proto
vendor/etc/sensors/proto/sns_mag.proto
vendor/etc/sensors/proto/sns_mag_cal.proto
vendor/etc/sensors/proto/sns_mot_factory_cal.proto
vendor/etc/sensors/proto/sns_oem1.proto
vendor/etc/sensors/proto/sns_offbody_detect.proto
vendor/etc/sensors/proto/sns_panel_status.proto
vendor/etc/sensors/proto/sns_pedometer.proto
vendor/etc/sensors/proto/sns_pedometer_wrist.proto
vendor/etc/sensors/proto/sns_physical_sensor_test.proto
vendor/etc/sensors/proto/sns_pose_6dof.proto
vendor/etc/sensors/proto/sns_ppg.proto
vendor/etc/sensors/proto/sns_pressure.proto
vendor/etc/sensors/proto/sns_proximity.proto
vendor/etc/sensors/proto/sns_psmd.proto
vendor/etc/sensors/proto/sns_registry.proto
vendor/etc/sensors/proto/sns_resampler.proto
vendor/etc/sensors/proto/sns_rgb.proto
vendor/etc/sensors/proto/sns_rmd.proto
vendor/etc/sensors/proto/sns_rotv.proto
vendor/etc/sensors/proto/sns_sar.proto
vendor/etc/sensors/proto/sns_sensor_temperature.proto
vendor/etc/sensors/proto/sns_sig_motion.proto
vendor/etc/sensors/proto/sns_std.proto
vendor/etc/sensors/proto/sns_std_event_gated_sensor.proto
vendor/etc/sensors/proto/sns_std_sensor.proto
vendor/etc/sensors/proto/sns_std_type.proto
vendor/etc/sensors/proto/sns_step_detect.proto
vendor/etc/sensors/proto/sns_suid.proto
vendor/etc/sensors/proto/sns_thermopile.proto
vendor/etc/sensors/proto/sns_threshold.proto
vendor/etc/sensors/proto/sns_tilt.proto
vendor/etc/sensors/proto/sns_tilt_to_wake.proto
vendor/etc/sensors/proto/sns_trimag.proto
vendor/etc/sensors/proto/sns_ultra_violet.proto
vendor/etc/sensors/proto/sns_wrist_tilt_gesture.proto
vendor/etc/sensors/sns_reg_config vendor/etc/sensors/sns_reg_config
# Thermal engine - configs # Thermal engine - configs
vendor/etc/thermal-engine-dubai.conf vendor/etc/thermal-engine-eqs.conf
vendor/etc/thermal-engine.conf vendor/etc/thermal-engine.conf
# Touchscreen firmware # Touchscreen firmware
vendor/firmware/csot_goodix_cfg_group.bin vendor/firmware/csot_goodix_cfg_group.bin
vendor/firmware/csot_goodix_test_limits_255.csv vendor/firmware/csot_goodix_test_limits_255.csv
vendor/firmware/goodix-csot-gt9916S-2202250f-62187be9-dubai.bin vendor/firmware/goodix-csot-gt9916-2207161f-62de58cd-eqs.bin
vendor/firmware/goodix-tianma-gt9916S-2202250f-62187c3e-dubai.bin vendor/firmware/goodix-tianma-gt9916-2207161f-62de5b51-eqs.bin
vendor/firmware/tianma_goodix_cfg_group.bin vendor/firmware/tianma_goodix_cfg_group.bin
vendor/firmware/tianma_goodix_test_limits_255.csv vendor/firmware/tianma_goodix_test_limits_255.csv
# Vibration firmware
vendor/firmware/aw8622x_haptic.bin
vendor/firmware/aw8622x_osc_rtp_12K_10s.bin
vendor/firmware/aw8622x_rtp.bin
vendor/firmware/aw8622x_rtp_Argo_Navis.bin
vendor/firmware/aw8622x_rtp_Attentive.bin
vendor/firmware/aw8622x_rtp_Awake.bin
vendor/firmware/aw8622x_rtp_Bird_Loop.bin
vendor/firmware/aw8622x_rtp_Brilliant_Times.bin
vendor/firmware/aw8622x_rtp_Chimey_Phone.bin
vendor/firmware/aw8622x_rtp_City_Lights.bin
vendor/firmware/aw8622x_rtp_Complex.bin
vendor/firmware/aw8622x_rtp_Crazy_Dream.bin
vendor/firmware/aw8622x_rtp_Curve_Ball_Blend.bin
vendor/firmware/aw8622x_rtp_Digital_Phone.bin
vendor/firmware/aw8622x_rtp_Electrovision.bin
vendor/firmware/aw8622x_rtp_Ether_Shake.bin
vendor/firmware/aw8622x_rtp_Fateful_Words.bin
vendor/firmware/aw8622x_rtp_Firefly.bin
vendor/firmware/aw8622x_rtp_Flutey_Phone.bin
vendor/firmware/aw8622x_rtp_Future_Funk.bin
vendor/firmware/aw8622x_rtp_Future_Hi_Tech.bin
vendor/firmware/aw8622x_rtp_Girtab.bin
vendor/firmware/aw8622x_rtp_Hello.bin
vendor/firmware/aw8622x_rtp_Hexagon.bin
vendor/firmware/aw8622x_rtp_Hydra.bin
vendor/firmware/aw8622x_rtp_Insert_Coin.bin
vendor/firmware/aw8622x_rtp_Jumping_Dots.bin
vendor/firmware/aw8622x_rtp_Keys.bin
vendor/firmware/aw8622x_rtp_Loopy.bin
vendor/firmware/aw8622x_rtp_Loopy_Lounge.bin
vendor/firmware/aw8622x_rtp_Modular.bin
vendor/firmware/aw8622x_rtp_Momentum.bin
vendor/firmware/aw8622x_rtp_Morning.bin
vendor/firmware/aw8622x_rtp_Moto.bin
vendor/firmware/aw8622x_rtp_Moto_Original.bin
vendor/firmware/aw8622x_rtp_Moto_Retro.bin
vendor/firmware/aw8622x_rtp_Natural.bin
vendor/firmware/aw8622x_rtp_New_Player.bin
vendor/firmware/aw8622x_rtp_Now_or_Never.bin
vendor/firmware/aw8622x_rtp_Onward.bin
vendor/firmware/aw8622x_rtp_Organ_Dub.bin
vendor/firmware/aw8622x_rtp_Overclocked.bin
vendor/firmware/aw8622x_rtp_Pegasus.bin
vendor/firmware/aw8622x_rtp_Play.bin
vendor/firmware/aw8622x_rtp_Pyxis.bin
vendor/firmware/aw8622x_rtp_Regrade.bin
vendor/firmware/aw8622x_rtp_Scarabaeus.bin
vendor/firmware/aw8622x_rtp_Sceptrum.bin
vendor/firmware/aw8622x_rtp_Simple.bin
vendor/firmware/aw8622x_rtp_Solarium.bin
vendor/firmware/aw8622x_rtp_Sparse.bin
vendor/firmware/aw8622x_rtp_Terrabytes.bin
vendor/firmware/aw8622x_rtp_Verizon_Airwaves.bin
vendor/firmware/aw8622x_rtp_Zero_Hour.bin

View File

@@ -1,5 +1,5 @@
runtime_resource_overlay { runtime_resource_overlay {
name: "SystemUIResDubai", name: "FrameworksResEqs",
sdk_version: "current", sdk_version: "current",
vendor: true vendor: true
} }

View File

@@ -4,6 +4,6 @@
SPDX-License-Identifier: Apache-2.0 SPDX-License-Identifier: Apache-2.0
--> -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.overlay.dubai"> package="android.overlay.eqs">
<overlay android:targetPackage="android" android:isStatic="true" android:priority="600"/> <overlay android:targetPackage="android" android:isStatic="true" android:priority="600"/>
</manifest> </manifest>

View File

@@ -4,6 +4,6 @@
// //
runtime_resource_overlay { runtime_resource_overlay {
name: "LineageSystemUIDubai", name: "LineageSystemUIEqs",
vendor: true, vendor: true,
} }

View File

@@ -4,7 +4,7 @@
SPDX-License-Identifier: Apache-2.0 SPDX-License-Identifier: Apache-2.0
--> -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.systemui.dubai.lineage"> package="com.android.systemui.eqs.lineage">
<overlay <overlay
android:isStatic="true" android:isStatic="true"

View File

@@ -1,5 +1,5 @@
runtime_resource_overlay { runtime_resource_overlay {
name: "SettingsProviderResDubai", name: "SettingsProviderResEqs",
sdk_version: "current", sdk_version: "current",
vendor: true vendor: true
} }

View File

@@ -5,6 +5,6 @@
--> -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
coreApp="true" coreApp="true"
package="com.android.providers.settings.overlay.dubai"> package="com.android.providers.settings.overlay.eqs">
<overlay android:targetPackage="com.android.providers.settings" android:isStatic="true" /> <overlay android:targetPackage="com.android.providers.settings" android:isStatic="true" />
</manifest> </manifest>

View File

@@ -1,5 +1,5 @@
runtime_resource_overlay { runtime_resource_overlay {
name: "FrameworksResDubai", name: "SystemUIResEqs",
sdk_version: "current", sdk_version: "current",
vendor: true vendor: true
} }

View File

@@ -5,6 +5,6 @@
--> -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
coreApp="true" coreApp="true"
package="com.android.systemui.overlay.dubai"> package="com.android.systemui.overlay.eqs">
<overlay android:targetPackage="com.android.systemui" android:isStatic="true" /> <overlay android:targetPackage="com.android.systemui" android:isStatic="true" />
</manifest> </manifest>

View File

@@ -1,11 +0,0 @@
BasedOnStyle: Google
AccessModifierOffset: -2
AllowShortFunctionsOnASingleLine: Inline
ColumnLimit: 100
CommentPragmas: NOLINT:.*
DerivePointerAlignment: false
IndentWidth: 4
PointerAlignment: Left
TabWidth: 4
UseTab: Never
PenaltyExcessCharacter: 32

View File

@@ -1,35 +0,0 @@
//
// Copyright (C) 2022 The LineageOS Project
//
// SPDX-License-Identifier: Apache-2.0
//
cc_library_shared {
name: "sensors.dubai",
defaults: ["hidl_defaults"],
srcs: [
"Sensor.cpp",
"SensorsSubHal.cpp",
],
shared_libs: [
"android.hardware.sensors@1.0",
"android.hardware.sensors@2.0",
"android.hardware.sensors@2.0-ScopedWakelock",
"android.hardware.sensors@2.1",
"libcutils",
"libfmq",
"libhardware",
"libhidlbase",
"liblog",
"libpower",
"libutils",
],
static_libs: [
"android.hardware.sensors@1.0-convert",
"android.hardware.sensors@2.X-multihal",
],
cflags: [
"-DLOG_TAG=\"sensors.dubai\"",
],
vendor: true,
}

View File

@@ -1,361 +0,0 @@
/*
* Copyright (C) 2019 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.
*/
#include "Sensor.h"
#include <hardware/sensors.h>
#include <log/log.h>
#include <utils/SystemClock.h>
#include <cmath>
static bool readBool(int fd, bool seek) {
char c;
int rc;
if (seek) {
rc = lseek(fd, 0, SEEK_SET);
if (rc) {
ALOGE("failed to seek: %d", rc);
return false;
}
}
rc = read(fd, &c, sizeof(c));
if (rc != 1) {
ALOGE("failed to read bool: %d", rc);
return false;
}
return c != '0';
}
namespace android {
namespace hardware {
namespace sensors {
namespace V2_1 {
namespace subhal {
namespace implementation {
using ::android::hardware::sensors::V1_0::MetaDataEventType;
using ::android::hardware::sensors::V1_0::OperationMode;
using ::android::hardware::sensors::V1_0::Result;
using ::android::hardware::sensors::V1_0::SensorFlagBits;
using ::android::hardware::sensors::V1_0::SensorStatus;
using ::android::hardware::sensors::V2_1::Event;
using ::android::hardware::sensors::V2_1::SensorInfo;
using ::android::hardware::sensors::V2_1::SensorType;
Sensor::Sensor(int32_t sensorHandle, ISensorsEventCallback* callback)
: mIsEnabled(false),
mSamplingPeriodNs(0),
mLastSampleTimeNs(0),
mCallback(callback),
mMode(OperationMode::NORMAL) {
mSensorInfo.sensorHandle = sensorHandle;
mSensorInfo.vendor = "The LineageOS Project";
mSensorInfo.version = 1;
constexpr float kDefaultMaxDelayUs = 1000 * 1000;
mSensorInfo.maxDelay = kDefaultMaxDelayUs;
mSensorInfo.fifoReservedEventCount = 0;
mSensorInfo.fifoMaxEventCount = 0;
mSensorInfo.requiredPermission = "";
mSensorInfo.flags = 0;
mRunThread = std::thread(startThread, this);
}
Sensor::~Sensor() {
// Ensure that lock is unlocked before calling mRunThread.join() or a
// deadlock will occur.
{
std::unique_lock<std::mutex> lock(mRunMutex);
mStopThread = true;
mIsEnabled = false;
mWaitCV.notify_all();
}
mRunThread.join();
}
const SensorInfo& Sensor::getSensorInfo() const {
return mSensorInfo;
}
void Sensor::batch(int32_t samplingPeriodNs) {
samplingPeriodNs =
std::clamp(samplingPeriodNs, mSensorInfo.minDelay * 1000, mSensorInfo.maxDelay * 1000);
if (mSamplingPeriodNs != samplingPeriodNs) {
mSamplingPeriodNs = samplingPeriodNs;
// Wake up the 'run' thread to check if a new event should be generated now
mWaitCV.notify_all();
}
}
void Sensor::activate(bool enable) {
std::lock_guard<std::mutex> lock(mRunMutex);
if (mIsEnabled != enable) {
mIsEnabled = enable;
mWaitCV.notify_all();
}
}
Result Sensor::flush() {
// Only generate a flush complete event if the sensor is enabled and if the sensor is not a
// one-shot sensor.
if (!mIsEnabled) {
return Result::BAD_VALUE;
}
// Note: If a sensor supports batching, write all of the currently batched events for the sensor
// to the Event FMQ prior to writing the flush complete event.
Event ev;
ev.sensorHandle = mSensorInfo.sensorHandle;
ev.sensorType = SensorType::META_DATA;
ev.u.meta.what = MetaDataEventType::META_DATA_FLUSH_COMPLETE;
std::vector<Event> evs{ev};
mCallback->postEvents(evs, isWakeUpSensor());
return Result::OK;
}
void Sensor::startThread(Sensor* sensor) {
sensor->run();
}
void Sensor::run() {
std::unique_lock<std::mutex> runLock(mRunMutex);
constexpr int64_t kNanosecondsInSeconds = 1000 * 1000 * 1000;
while (!mStopThread) {
if (!mIsEnabled || mMode == OperationMode::DATA_INJECTION) {
mWaitCV.wait(runLock, [&] {
return ((mIsEnabled && mMode == OperationMode::NORMAL) || mStopThread);
});
} else {
timespec curTime;
clock_gettime(CLOCK_REALTIME, &curTime);
int64_t now = (curTime.tv_sec * kNanosecondsInSeconds) + curTime.tv_nsec;
int64_t nextSampleTime = mLastSampleTimeNs + mSamplingPeriodNs;
if (now >= nextSampleTime) {
mLastSampleTimeNs = now;
nextSampleTime = mLastSampleTimeNs + mSamplingPeriodNs;
mCallback->postEvents(readEvents(), isWakeUpSensor());
}
mWaitCV.wait_for(runLock, std::chrono::nanoseconds(nextSampleTime - now));
}
}
}
bool Sensor::isWakeUpSensor() {
return mSensorInfo.flags & static_cast<uint32_t>(SensorFlagBits::WAKE_UP);
}
std::vector<Event> Sensor::readEvents() {
std::vector<Event> events;
Event event;
event.sensorHandle = mSensorInfo.sensorHandle;
event.sensorType = mSensorInfo.type;
event.timestamp = ::android::elapsedRealtimeNano();
event.u.vec3.x = 0;
event.u.vec3.y = 0;
event.u.vec3.z = 0;
event.u.vec3.status = SensorStatus::ACCURACY_HIGH;
events.push_back(event);
return events;
}
void Sensor::setOperationMode(OperationMode mode) {
std::lock_guard<std::mutex> lock(mRunMutex);
if (mMode != mode) {
mMode = mode;
mWaitCV.notify_all();
}
}
bool Sensor::supportsDataInjection() const {
return mSensorInfo.flags & static_cast<uint32_t>(SensorFlagBits::DATA_INJECTION);
}
Result Sensor::injectEvent(const Event& event) {
Result result = Result::OK;
if (event.sensorType == SensorType::ADDITIONAL_INFO) {
// When in OperationMode::NORMAL, SensorType::ADDITIONAL_INFO is used to push operation
// environment data into the device.
} else if (!supportsDataInjection()) {
result = Result::INVALID_OPERATION;
} else if (mMode == OperationMode::DATA_INJECTION) {
mCallback->postEvents(std::vector<Event>{event}, isWakeUpSensor());
} else {
result = Result::BAD_VALUE;
}
return result;
}
OneShotSensor::OneShotSensor(int32_t sensorHandle, ISensorsEventCallback* callback)
: Sensor(sensorHandle, callback) {
mSensorInfo.minDelay = -1;
mSensorInfo.maxDelay = 0;
mSensorInfo.flags |= SensorFlagBits::ONE_SHOT_MODE;
}
SysfsPollingOneShotSensor::SysfsPollingOneShotSensor(
int32_t sensorHandle, ISensorsEventCallback* callback, const std::string& pollPath,
const std::string& enablePath, const std::string& name, const std::string& typeAsString,
SensorType type)
: OneShotSensor(sensorHandle, callback) {
mSensorInfo.name = name;
mSensorInfo.type = type;
mSensorInfo.typeAsString = typeAsString;
mSensorInfo.maxRange = 2048.0f;
mSensorInfo.resolution = 1.0f;
mSensorInfo.power = 0;
mSensorInfo.flags |= SensorFlagBits::WAKE_UP;
mEnableStream.open(enablePath);
int rc;
rc = pipe(mWaitPipeFd);
if (rc < 0) {
mWaitPipeFd[0] = -1;
mWaitPipeFd[1] = -1;
ALOGE("failed to open wait pipe: %d", rc);
}
mPollFd = open(pollPath.c_str(), O_RDONLY);
if (mPollFd < 0) {
ALOGE("failed to open poll fd: %d", mPollFd);
}
if (mWaitPipeFd[0] < 0 || mWaitPipeFd[1] < 0 || mPollFd < 0) {
mStopThread = true;
return;
}
mPolls[0] = {
.fd = mWaitPipeFd[0],
.events = POLLIN,
};
mPolls[1] = {
.fd = mPollFd,
.events = POLLERR | POLLPRI,
};
}
SysfsPollingOneShotSensor::~SysfsPollingOneShotSensor() {
interruptPoll();
}
void SysfsPollingOneShotSensor::writeEnable(bool enable) {
if (mEnableStream) {
mEnableStream << (enable ? '1' : '0') << std::flush;
}
}
void SysfsPollingOneShotSensor::activate(bool enable, bool notify, bool lock) {
std::unique_lock<std::mutex> runLock(mRunMutex, std::defer_lock);
if (lock) {
runLock.lock();
}
if (mIsEnabled != enable) {
writeEnable(enable);
mIsEnabled = enable;
if (notify) {
interruptPoll();
mWaitCV.notify_all();
}
}
if (lock) {
runLock.unlock();
}
}
void SysfsPollingOneShotSensor::activate(bool enable) {
activate(enable, true, true);
}
void SysfsPollingOneShotSensor::setOperationMode(OperationMode mode) {
Sensor::setOperationMode(mode);
interruptPoll();
}
void SysfsPollingOneShotSensor::run() {
std::unique_lock<std::mutex> runLock(mRunMutex);
while (!mStopThread) {
if (!mIsEnabled || mMode == OperationMode::DATA_INJECTION) {
mWaitCV.wait(runLock, [&] {
return ((mIsEnabled && mMode == OperationMode::NORMAL) || mStopThread);
});
} else {
// Cannot hold lock while polling.
runLock.unlock();
int rc = poll(mPolls, 2, -1);
runLock.lock();
if (rc < 0) {
ALOGE("failed to poll: %d", rc);
mStopThread = true;
continue;
}
if (mPolls[1].revents == mPolls[1].events && readBool(mPollFd, true /* seek */)) {
activate(false, false, false);
mCallback->postEvents(readEvents(), isWakeUpSensor());
} else if (mPolls[0].revents == mPolls[0].events) {
readBool(mWaitPipeFd[0], false /* seek */);
}
}
}
}
void SysfsPollingOneShotSensor::interruptPoll() {
if (mWaitPipeFd[1] < 0) return;
char c = '1';
write(mWaitPipeFd[1], &c, sizeof(c));
}
std::vector<Event> SysfsPollingOneShotSensor::readEvents() {
std::vector<Event> events;
Event event;
event.sensorHandle = mSensorInfo.sensorHandle;
event.sensorType = mSensorInfo.type;
event.timestamp = ::android::elapsedRealtimeNano();
fillEventData(event);
events.push_back(event);
return events;
}
void SysfsPollingOneShotSensor::fillEventData(Event& event) {
event.u.data[0] = 0;
event.u.data[1] = 0;
}
} // namespace implementation
} // namespace subhal
} // namespace V2_1
} // namespace sensors
} // namespace hardware
} // namespace android

View File

@@ -1,142 +0,0 @@
/*
* Copyright (C) 2019 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.
*/
#pragma once
#include <android/hardware/sensors/2.1/types.h>
#include <fcntl.h>
#include <poll.h>
#include <unistd.h>
#include <condition_variable>
#include <fstream>
#include <memory>
#include <mutex>
#include <thread>
#include <vector>
using ::android::hardware::sensors::V1_0::OperationMode;
using ::android::hardware::sensors::V1_0::Result;
using ::android::hardware::sensors::V2_1::Event;
using ::android::hardware::sensors::V2_1::SensorInfo;
using ::android::hardware::sensors::V2_1::SensorType;
namespace android {
namespace hardware {
namespace sensors {
namespace V2_1 {
namespace subhal {
namespace implementation {
class ISensorsEventCallback {
public:
virtual ~ISensorsEventCallback(){};
virtual void postEvents(const std::vector<Event>& events, bool wakeup) = 0;
};
class Sensor {
public:
Sensor(int32_t sensorHandle, ISensorsEventCallback* callback);
virtual ~Sensor();
const SensorInfo& getSensorInfo() const;
virtual void batch(int32_t samplingPeriodNs);
virtual void activate(bool enable);
virtual Result flush();
virtual void setOperationMode(OperationMode mode);
bool supportsDataInjection() const;
Result injectEvent(const Event& event);
protected:
virtual void run();
virtual std::vector<Event> readEvents();
static void startThread(Sensor* sensor);
bool isWakeUpSensor();
bool mIsEnabled;
int64_t mSamplingPeriodNs;
int64_t mLastSampleTimeNs;
SensorInfo mSensorInfo;
std::atomic_bool mStopThread;
std::condition_variable mWaitCV;
std::mutex mRunMutex;
std::thread mRunThread;
ISensorsEventCallback* mCallback;
OperationMode mMode;
};
class OneShotSensor : public Sensor {
public:
OneShotSensor(int32_t sensorHandle, ISensorsEventCallback* callback);
virtual void batch(int32_t /* samplingPeriodNs */) override {}
virtual Result flush() override { return Result::BAD_VALUE; }
};
class SysfsPollingOneShotSensor : public OneShotSensor {
public:
SysfsPollingOneShotSensor(int32_t sensorHandle, ISensorsEventCallback* callback,
const std::string& pollPath, const std::string& enablePath,
const std::string& name, const std::string& typeAsString,
SensorType type);
virtual ~SysfsPollingOneShotSensor() override;
virtual void activate(bool enable) override;
virtual void activate(bool enable, bool notify, bool lock);
virtual void writeEnable(bool enable);
virtual void setOperationMode(OperationMode mode) override;
virtual std::vector<Event> readEvents() override;
virtual void fillEventData(Event& event);
protected:
virtual void run() override;
std::ofstream mEnableStream;
private:
void interruptPoll();
struct pollfd mPolls[2];
int mWaitPipeFd[2];
int mPollFd;
};
const std::string kTsPath = "/sys/devices/platform/soc/a94000.spi/spi_master/spi0/spi0.0/touchscreen/primary/";
const std::string kTsDoubleTapPressedPath = kTsPath + "double_tap_pressed";
const std::string kTsDoubleTapEnabledPath = kTsPath + "double_tap_enabled";
class DoubleTapSensor : public SysfsPollingOneShotSensor {
public:
DoubleTapSensor(int32_t sensorHandle, ISensorsEventCallback* callback)
: SysfsPollingOneShotSensor(
sensorHandle, callback, kTsDoubleTapPressedPath, kTsDoubleTapEnabledPath,
"Double Tap Sensor", "org.lineageos.sensor.double_tap",
static_cast<SensorType>(static_cast<int32_t>(SensorType::DEVICE_PRIVATE_BASE) + 1)) {}
};
} // namespace implementation
} // namespace subhal
} // namespace V2_1
} // namespace sensors
} // namespace hardware
} // namespace android

View File

@@ -1,162 +0,0 @@
/*
* Copyright (C) 2019 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.
*/
#include "SensorsSubHal.h"
#include <android/hardware/sensors/2.1/types.h>
#include <log/log.h>
using ::android::hardware::sensors::V2_1::implementation::ISensorsSubHal;
using ::android::hardware::sensors::V2_1::subhal::implementation::SensorsSubHal;
namespace android {
namespace hardware {
namespace sensors {
namespace V2_1 {
namespace subhal {
namespace implementation {
using ::android::hardware::Void;
using ::android::hardware::sensors::V2_0::implementation::ScopedWakelock;
SensorsSubHal::SensorsSubHal() : mCallback(nullptr), mNextHandle(1) {
AddSensor<DoubleTapSensor>();
}
Return<void> SensorsSubHal::getSensorsList_2_1(ISensors::getSensorsList_2_1_cb _hidl_cb) {
std::vector<SensorInfo> sensors;
for (const auto& sensor : mSensors) {
sensors.push_back(sensor.second->getSensorInfo());
}
_hidl_cb(sensors);
return Void();
}
Return<Result> SensorsSubHal::setOperationMode(OperationMode mode) {
for (auto sensor : mSensors) {
sensor.second->setOperationMode(mode);
}
mCurrentOperationMode = mode;
return Result::OK;
}
Return<Result> SensorsSubHal::activate(int32_t sensorHandle, bool enabled) {
auto sensor = mSensors.find(sensorHandle);
if (sensor != mSensors.end()) {
sensor->second->activate(enabled);
return Result::OK;
}
return Result::BAD_VALUE;
}
Return<Result> SensorsSubHal::batch(int32_t sensorHandle, int64_t samplingPeriodNs,
int64_t /* maxReportLatencyNs */) {
auto sensor = mSensors.find(sensorHandle);
if (sensor != mSensors.end()) {
sensor->second->batch(samplingPeriodNs);
return Result::OK;
}
return Result::BAD_VALUE;
}
Return<Result> SensorsSubHal::flush(int32_t sensorHandle) {
auto sensor = mSensors.find(sensorHandle);
if (sensor != mSensors.end()) {
return sensor->second->flush();
}
return Result::BAD_VALUE;
}
Return<Result> SensorsSubHal::injectSensorData_2_1(const Event& event) {
auto sensor = mSensors.find(event.sensorHandle);
if (sensor != mSensors.end()) {
return sensor->second->injectEvent(event);
}
return Result::BAD_VALUE;
}
Return<void> SensorsSubHal::registerDirectChannel(const SharedMemInfo& /* mem */,
ISensors::registerDirectChannel_cb _hidl_cb) {
_hidl_cb(Result::INVALID_OPERATION, -1 /* channelHandle */);
return Return<void>();
}
Return<Result> SensorsSubHal::unregisterDirectChannel(int32_t /* channelHandle */) {
return Result::INVALID_OPERATION;
}
Return<void> SensorsSubHal::configDirectReport(int32_t /* sensorHandle */,
int32_t /* channelHandle */, RateLevel /* rate */,
ISensors::configDirectReport_cb _hidl_cb) {
_hidl_cb(Result::INVALID_OPERATION, 0 /* reportToken */);
return Return<void>();
}
Return<void> SensorsSubHal::debug(const hidl_handle& fd, const hidl_vec<hidl_string>& args) {
if (fd.getNativeHandle() == nullptr || fd->numFds < 1) {
ALOGE("%s: missing fd for writing", __FUNCTION__);
return Void();
}
FILE* out = fdopen(dup(fd->data[0]), "w");
if (args.size() != 0) {
fprintf(out,
"Note: sub-HAL %s currently does not support args. Input arguments are "
"ignored.\n",
getName().c_str());
}
std::ostringstream stream;
stream << "Available sensors:" << std::endl;
for (auto sensor : mSensors) {
SensorInfo info = sensor.second->getSensorInfo();
stream << "Name: " << info.name << std::endl;
stream << "Min delay: " << info.minDelay << std::endl;
stream << "Flags: " << info.flags << std::endl;
}
stream << std::endl;
fprintf(out, "%s", stream.str().c_str());
fclose(out);
return Return<void>();
}
Return<Result> SensorsSubHal::initialize(const sp<IHalProxyCallback>& halProxyCallback) {
mCallback = halProxyCallback;
setOperationMode(OperationMode::NORMAL);
return Result::OK;
}
void SensorsSubHal::postEvents(const std::vector<Event>& events, bool wakeup) {
ScopedWakelock wakelock = mCallback->createScopedWakelock(wakeup);
mCallback->postEvents(events, std::move(wakelock));
}
} // namespace implementation
} // namespace subhal
} // namespace V2_1
} // namespace sensors
} // namespace hardware
} // namespace android
ISensorsSubHal* sensorsHalGetSubHal_2_1(uint32_t* version) {
static SensorsSubHal subHal;
*version = SUB_HAL_2_1_VERSION;
return &subHal;
}

View File

@@ -1,94 +0,0 @@
/*
* Copyright (C) 2019 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.
*/
#pragma once
#include <vector>
#include "Sensor.h"
#include "V2_1/SubHal.h"
namespace android {
namespace hardware {
namespace sensors {
namespace V2_1 {
namespace subhal {
namespace implementation {
using ::android::hardware::sensors::V1_0::OperationMode;
using ::android::hardware::sensors::V1_0::RateLevel;
using ::android::hardware::sensors::V1_0::Result;
using ::android::hardware::sensors::V1_0::SharedMemInfo;
using ::android::hardware::sensors::V2_1::Event;
using ::android::hardware::sensors::V2_1::implementation::IHalProxyCallback;
using ::android::hardware::sensors::V2_1::implementation::ISensorsSubHal;
class SensorsSubHal : public ISensorsSubHal, public ISensorsEventCallback {
public:
SensorsSubHal();
Return<void> getSensorsList_2_1(ISensors::getSensorsList_2_1_cb _hidl_cb);
Return<Result> injectSensorData_2_1(const Event& event);
Return<Result> initialize(const sp<IHalProxyCallback>& halProxyCallback);
virtual Return<Result> setOperationMode(OperationMode mode);
OperationMode getOperationMode() const { return mCurrentOperationMode; }
Return<Result> activate(int32_t sensorHandle, bool enabled);
Return<Result> batch(int32_t sensorHandle, int64_t samplingPeriodNs, int64_t maxReportLatencyNs);
Return<Result> flush(int32_t sensorHandle);
Return<void> registerDirectChannel(const SharedMemInfo& mem,
ISensors::registerDirectChannel_cb _hidl_cb);
Return<Result> unregisterDirectChannel(int32_t channelHandle);
Return<void> configDirectReport(int32_t sensorHandle, int32_t channelHandle, RateLevel rate,
ISensors::configDirectReport_cb _hidl_cb);
Return<void> debug(const hidl_handle& fd, const hidl_vec<hidl_string>& args);
const std::string getName() { return "FakeSubHal"; }
void postEvents(const std::vector<Event>& events, bool wakeup) override;
protected:
template <class SensorType>
void AddSensor() {
std::shared_ptr<SensorType> sensor =
std::make_shared<SensorType>(mNextHandle++ /* sensorHandle */, this /* callback */);
mSensors[sensor->getSensorInfo().sensorHandle] = sensor;
}
std::map<int32_t, std::shared_ptr<Sensor>> mSensors;
sp<IHalProxyCallback> mCallback;
private:
OperationMode mCurrentOperationMode = OperationMode::NORMAL;
int32_t mNextHandle;
};
} // namespace implementation
} // namespace subhal
} // namespace V2_1
} // namespace sensors
} // namespace hardware
} // namespace android

View File

@@ -1,3 +0,0 @@
sensors.ssc.so
sensors.moto.so
sensors.dubai.so

View File

@@ -8,8 +8,8 @@
set -e set -e
export DEVICE=dubai export DEVICE=eqs
export DEVICE_COMMON=sm7325-common export DEVICE_COMMON=sm8475-common
export VENDOR=motorola export VENDOR=motorola
"./../../${VENDOR}/${DEVICE_COMMON}/setup-makefiles.sh" "$@" "./../../${VENDOR}/${DEVICE_COMMON}/setup-makefiles.sh" "$@"

View File

@@ -1,3 +1,3 @@
# Google # Google
ro.opa.device_model_id=motorola-dubai ro.opa.device_model_id=motorola-eqs
ro.opa.eligible_device=true ro.opa.eligible_device=true

View File

@@ -1,5 +1,5 @@
# Bluetooth # Bluetooth
bluetooth.device.default_name=motorola edge 30 bluetooth.device.default_name=motorola edge 30 ultra
# Camera # Camera
persist.vendor.camera.physical.num=4 persist.vendor.camera.physical.num=4