xpeng: Convert tree from berlna

The partition reserved sizes were taking from stock ROM

IE, blockdev --getsize64 /dev/block/mapper/system_a

Also add TARGET_IS_VAB cflag as ro.virtual_ab.enabled is true on stock
so that our commonized tree can enable VAB-specific changes.

Change-Id: I922f61e5a0380d16eba5967f6c77346437290eb6
This commit is contained in:
Marc Bourgoin 2023-01-22 19:41:19 -07:00
parent 32f768abbc
commit 72a7ab0b82
73 changed files with 2018 additions and 4592 deletions

View file

@ -1,21 +1,11 @@
#
# Copyright (C) 2022 The LineageOS Project
# Copyright (C) 2022-2023 The LineageOS Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# 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.
# SPDX-License-Identifier: Apache-2.0
#
LOCAL_PATH := $(call my-dir)
ifeq ($(TARGET_DEVICE),berlna)
ifeq ($(TARGET_DEVICE),xpeng)
include $(call all-makefiles-under,$(LOCAL_PATH))
endif

View file

@ -1,28 +1,15 @@
#
# Copyright (C) 2017-2021 The LineageOS Project
# Copyright (C) 2017-2023 The LineageOS Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# 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.
# SPDX-License-Identifier: Apache-2.0
#
INSTALLED_KERNEL_TARGET := $(PRODUCT_OUT)/kernel
recovery_uncompressed_ramdisk := $(PRODUCT_OUT)/ramdisk-recovery.cpio
RECOVERY_FIRMWARE_TARGETS := \
aw8695_haptic.bin \
aw8695_rtp.bin \
mp-novatek_ts-NT36675-21061805-603a-berlna.bin \
novatek_ts-NT36675-21042101-603a-berlna-evt.bin \
novatek_ts-NT36675-21061805-603a-berlna.bin
mp_novatek_ts-NT36675-21101302-6044-xpeng.bin \
novatek_ts-NT36675-21101302-6044-xpeng.bin
INSTALLED_RECOVERY_FIRMWARE_TARGETS := $(RECOVERY_FIRMWARE_TARGETS:%=$(TARGET_RECOVERY_ROOT_OUT)/vendor/firmware/%)
$(INSTALLED_RECOVERY_FIRMWARE_TARGETS): $(INSTALLED_KERNEL_TARGET)

View file

@ -1,23 +1,13 @@
#
# Copyright (C) 2022 The LineageOS Project
# Copyright (C) 2022-2023 The LineageOS Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# 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.
# SPDX-License-Identifier: Apache-2.0
#
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/lineage_berlna.mk
$(LOCAL_DIR)/lineage_xpeng.mk
COMMON_LUNCH_CHOICES := \
lineage_berlna-user \
lineage_berlna-userdebug \
lineage_berlna-eng
lineage_xpeng-user \
lineage_xpeng-userdebug \
lineage_xpeng-eng

View file

@ -1,33 +1,23 @@
#
# Copyright (C) 2022 The LineageOS Project
# Copyright (C) 2022-2023 The LineageOS Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# 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.
# SPDX-License-Identifier: Apache-2.0
#
DEVICE_PATH := device/motorola/berlna
DEVICE_PATH := device/motorola/xpeng
# Inherit from motorola sm7325-common
include device/motorola/sm7325-common/BoardConfigCommon.mk
# Bootloader
TARGET_BOOTLOADER_BOARD_NAME := berlna
TARGET_BOOTLOADER_BOARD_NAME := xpeng
# HIDL
DEVICE_MANIFEST_YUPIK_FILES += $(DEVICE_PATH)/manifest_berlna.xml
DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/manifest_xpeng.xml
# Kernel
BOARD_KERNEL_CMDLINE += androidboot.hab.product=berlna
TARGET_KERNEL_CONFIG += vendor/lineage_berlna.config
BOARD_KERNEL_CMDLINE += androidboot.hab.product=xpeng
TARGET_KERNEL_CONFIG += vendor/lineage_xpeng.config
# Kernel Modules
BOARD_VENDOR_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules.load))
@ -35,19 +25,15 @@ BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE := $(DEVICE_PATH)/modules.blocklist
BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules.load.recovery))
BOOT_KERNEL_MODULES := $(BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD)
# Kernel modules - WLAN
TARGET_MODULE_ALIASES += \
wlan.ko:qca_cld3_qca6750.ko
# Partitions
BOARD_USERDATAIMAGE_PARTITION_SIZE := 237371371520
BOARD_USERDATAIMAGE_PARTITION_SIZE := 116674899968
ifneq ($(WITH_GMS),true)
BOARD_PRODUCTIMAGE_PARTITION_RESERVED_SIZE := 1073741824
BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 898367488
BOARD_SYSTEM_EXTIMAGE_PARTITION_RESERVED_SIZE := 1073741824
BOARD_PRODUCTIMAGE_PARTITION_RESERVED_SIZE := 3195027456
BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 872398848
BOARD_SYSTEM_EXTIMAGE_PARTITION_RESERVED_SIZE := 914399232
endif
BOARD_MOT_DP_GROUP_SIZE := 7916748800
BOARD_SUPER_PARTITION_SIZE := 15854469120
BOARD_MOT_DP_GROUP_SIZE := 8585740288 # ( BOARD_SUPER_PARTITION_SIZE - 4MB )
BOARD_SUPER_PARTITION_SIZE := 8589934592
# Properties
TARGET_SYSTEM_PROP += $(DEVICE_PATH)/system.prop
@ -57,10 +43,10 @@ TARGET_VENDOR_PROP += $(DEVICE_PATH)/vendor.prop
TARGET_RECOVERY_UI_MARGIN_HEIGHT := 90
# Security
VENDOR_SECURITY_PATCH := 2023-01-01
VENDOR_SECURITY_PATCH := 2022-11-01
# SELinux
BOARD_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/vendor
# inherit from the proprietary version
include vendor/motorola/berlna/BoardConfigVendor.mk
include vendor/motorola/xpeng/BoardConfigVendor.mk

View file

@ -1,19 +1,30 @@
# Device configuration for Motorola Edge (2021)
# Device configuration for Motorola moto g200 5G / Edge S30
The moto g200 5G / Edge S30 (codenamed _"xpeng"_) are high-end smartphones from Motorola.
It was announced on 12 December 2021. Release date was 21 December 2021.
## Device specifications
Basic | Spec Sheet
-------:|:-------------------------
CPU | Octa-core (1x2.4 GHz Cortex-A78 & 3x2.2 GHz Cortex-A78 & 4x1.9 GHz Cortex-A55)
CHIPSET | Qualcomm SM7325 Snapdragon 778G
GPU | Adreno 642L
CPU | Octa-core (1x2.99 GHz Cortex-X1 & 3x2.42 GHz Cortex-A78 & 4x1.80 GHz Cortex-A55)
CHIPSET | Qualcomm SM8350 Snapdragon 888+ 5G (5 nm)
GPU | Adreno 660
Memory | 8 / 12GB
Shipped Android Version | 11
Memory | 8GB
Storage | 256GB
Storage | 256/512
Battery | 5000 mAh
Dimensions | 169 x 75.6 x 9 mm
Display | 1080 x 2460 pixels, 6.8" TFT IPS LCD, 144Hz, HDR10
Rear Camera | 108 MP (f/1.9) + 8 MP (f/2.2) + 2 MP (f/2.4)
Front Camera | 32 MP (f/2.3)
Dimensions | 168.1 x 75.5 x 8.9 mm
Display | 1080 x 2460 pixels, 6.8" LTPS IPS LCD, HDR10
Rear Camera 1 | 108 MP, f/1.9, (wide), 1/1.52", 0.7µm, PDAF
Rear Camera 2 | 13 MP, f/2.2, 119˚ (ultrawide), 1.12µm, AF
Rear Camera 3 | 2 MP, f/2.4, (depth)
Front Camera | 16 MP, f/2.2, (wide), 1.00µm
Extras | NFC (on g200), Bluetooth 5.2 A2DP LE, UDFPS, USB Type-C 2.0, Fast charging 33W
Ingress Protection | IP52
Touch Sampling Rate | 428 Hz (on g200) or 576Hz (on S30)
![Device Picture](https://fdn2.gsmarena.com/vv/pics/motorola/motorola-edge-2021-00.jpg)
## Device picture
![Device Picture](https://i.imgur.com/04lu80E.png)

View file

@ -10,8 +10,6 @@
<library name="dynamics_processing" path="libdynproc.so"/>
<library name="loudness_enhancer" path="libldnhncr.so"/>
<library name="audio_pre_processing" path="libqcomvoiceprocessing.so"/>
<library name="maxxaudio3" path="libmaxxeffect-cembedded.so"/>
<library name="bc360" path="libbc360.so"/>
</libraries>
<effects>
<effect name="bassboost" library="bundle" uuid="8631f300-72e2-11df-b57e-0002a5d5c51b"/>
@ -29,8 +27,6 @@
<effect name="loudness_enhancer" library="loudness_enhancer" uuid="fa415329-2034-4bea-b5dc-5b381c8d1e2c"/>
<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 library="maxxaudio3" name="maxxaudio3" uuid="ae12da60-99ac-11df-b456-0002a5d5c51b"/>
<effect name="boomcloud" library="bc360" uuid="5ec83eb9-9403-43ae-924f-c124589c8bd4"/>
</effects>
<preprocess>
<stream type="voice_communication">

View file

@ -44,6 +44,10 @@
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100,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 name="deep_buffer" role="source"
flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
@ -179,7 +183,7 @@
<route type="mix" sink="Earpiece"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
<route type="mix" sink="Speaker"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
sources="primary output,haptics output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
<route type="mix" sink="Wired Headset"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
<route type="mix" sink="Wired Headphones"

View file

@ -11,9 +11,9 @@ volume index from 0 to 100.
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_HEADSET"
ref="DEFAULT_VOICE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_SPEAKER">
<point>0,-3000</point>
<point>33,-2300</point>
<point>66,-1600</point>
<point>0,-3300</point>
<point>33,-2100</point>
<point>66,-1000</point>
<point>100,0</point>
</volume>
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_EARPIECE"
@ -40,12 +40,8 @@ volume index from 0 to 100.
ref="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="SONIFICATION_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_HEADSET">
<point>1,-5800</point>
<point>34,-3200</point>
<point>67,-1600</point>
<point>100,0</point>
</volume>
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_HEADSET"
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_SPEAKER"
ref="DEFAULT_DEVICE_CATEGORY_SPEAKER_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_EARPIECE"
@ -62,8 +58,12 @@ volume index from 0 to 100.
ref="SONIFICATION_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_HEADSET"
ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_SPEAKER"
ref="NOTIFICATION_CATEGORY_SPEAKER_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_SPEAKER">
<point>1,-3500</point>
<point>33,-2100</point>
<point>66,-1300</point>
<point>100,-500</point>
</volume>
<volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_EARPIECE"
ref="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"

View file

@ -41,9 +41,9 @@
</reference>
<reference name="DEFAULT_MEDIA_VOLUME_CURVE">
<!-- Default Media reference Volume Curve -->
<point>1,-4800</point>
<point>34,-3200</point>
<point>67,-1600</point>
<point>1,-5400</point>
<point>34,-3600</point>
<point>67,-1800</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_VOICE_VOLUME_CURVE">
@ -62,12 +62,12 @@
</reference>
<reference name="DEFAULT_DEVICE_CATEGORY_SPEAKER_VOLUME_CURVE">
<!-- Default is Speaker Media Volume Curve -->
<point>1,-6400</point>
<point>30,-4300</point>
<point>43,-2600</point>
<point>65,-1400</point>
<point>85,-750</point>
<point>93,-500</point>
<point>1,-6500</point>
<point>30,-4500</point>
<point>43,-3300</point>
<point>65,-2200</point>
<point>85,-1200</point>
<point>93,-600</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE">

View file

@ -0,0 +1,73 @@
# List of profiles for the output device session where stream is routed.
# A stream opened with the inputs attributes which match the "flags" and
# "formats" as specified in the profile is routed to a device at
# sample rate specified under "sampling_rates" and bit width under
# "bit_width" and the topology extracted from the acdb data against
# the "app_type".
#
# the flags and formats are specified using the strings corresponding to
# enums in audio.h and audio_policy.h. They are concatenated with "|"
# without space or "\n".
# the flags and formats should match the ones in "audio_policy.conf"
outputs {
default {
flags AUDIO_OUTPUT_FLAG_PRIMARY
formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 48000
bit_width 16
app_type 69937
}
voip_rx {
flags AUDIO_OUTPUT_FLAG_VOIP_RX|AUDIO_OUTPUT_FLAG_DIRECT
formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 48000
bit_width 16
app_type 69946
}
direct_pcm_16 {
flags AUDIO_OUTPUT_FLAG_DIRECT
formats AUDIO_FORMAT_PCM_16_BIT|AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_8_24_BIT|AUDIO_FORMAT_PCM_32_BIT
sampling_rates 44100|48000|88200|96000|176400|192000
bit_width 16
app_type 69936
}
direct_pcm_24 {
flags AUDIO_OUTPUT_FLAG_DIRECT
formats AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_8_24_BIT|AUDIO_FORMAT_PCM_32_BIT
sampling_rates 44100|48000|88200|96000|176400|192000|352800|384000
bit_width 24
app_type 69940
}
direct_pcm_32 {
flags AUDIO_OUTPUT_FLAG_DIRECT
formats AUDIO_FORMAT_PCM_32_BIT
sampling_rates 44100|48000|88200|96000|176400|192000|352800|384000
bit_width 32
app_type 69942
}
compress_offload_16 {
flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
formats AUDIO_FORMAT_MP3|AUDIO_FORMAT_PCM_16_BIT_OFFLOAD|AUDIO_FORMAT_PCM_24_BIT_OFFLOAD|AUDIO_FORMAT_FLAC|AUDIO_FORMAT_ALAC|AUDIO_FORMAT_APE|AUDIO_FORMAT_AAC_LC|AUDIO_FORMAT_AAC_HE_V1|AUDIO_FORMAT_AAC_HE_V2|AUDIO_FORMAT_WMA|AUDIO_FORMAT_WMA_PRO|AUDIO_FORMAT_VORBIS|AUDIO_FORMAT_AAC_ADTS_LC|AUDIO_FORMAT_AAC_ADTS_HE_V1|AUDIO_FORMAT_AAC_ADTS_HE_V2|AUDIO_FORMAT_AAC_LATM_LC|AUDIO_FORMAT_AAC_LATM_HE_V1|AUDIO_FORMAT_AAC_LATM_HE_V2
sampling_rates 44100|48000|88200|96000|176400|192000
bit_width 16
app_type 69936
}
compress_offload_24 {
flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
formats AUDIO_FORMAT_MP3|AUDIO_FORMAT_PCM_24_BIT_OFFLOAD|AUDIO_FORMAT_FLAC|AUDIO_FORMAT_ALAC|AUDIO_FORMAT_APE|AUDIO_FORMAT_AAC_LC|AUDIO_FORMAT_AAC_HE_V1|AUDIO_FORMAT_AAC_HE_V2|AUDIO_FORMAT_WMA_PRO|AUDIO_FORMAT_VORBIS|AUDIO_FORMAT_AAC_ADTS_LC|AUDIO_FORMAT_AAC_ADTS_HE_V1|AUDIO_FORMAT_AAC_ADTS_HE_V2|AUDIO_FORMAT_AAC_LATM_LC|AUDIO_FORMAT_AAC_LATM_HE_V1|AUDIO_FORMAT_AAC_LATM_HE_V2
sampling_rates 44100|48000|88200|96000|176400|192000
bit_width 24
app_type 69940
}
}
inputs {
voip_tx {
flags AUDIO_INPUT_FLAG_VOIP_TX
formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 48000
bit_width 16
app_type 69946
}
}

View file

@ -79,12 +79,11 @@
<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_SPKR_CALIB_TX" type="in" id="47"/>
<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_RECORD_VOIP_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" />
@ -101,6 +100,8 @@
<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" />
<usecase name="USECASE_AUDIO_PLAYBACK_WITH_HAPTICS" type="out" id="40" />
<usecase name="USECASE_AUDIO_PLAYBACK_HAPTICS" type="out" id="41" />
</pcm_ids>
<config_params>
<!-- In the below value string, the value indicates default mono -->
@ -156,7 +157,8 @@
<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" />
<device name="SND_DEVICE_OUT_HAPTICS" acdb_id="400" />
<!-- Input devices -->
<device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK" acdb_id="102" />
@ -170,7 +172,7 @@
<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_HANDSET_DMIC_STEREO" acdb_id="35" />
<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" />
@ -214,15 +216,13 @@
<device name="SND_DEVICE_IN_CAPTURE_FM" acdb_id="90" />
<device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC_NN" acdb_id="301" />
<device name="SND_DEVICE_IN_VOICE_HEADSET_MIC_NN" acdb_id="8" />
<device name="SND_DEVICE_IN_VOICE_USB_HEADSET_MIC_NN" acdb_id="303" />
<device name="SND_DEVICE_IN_VOICE_USB_HEADSET_MIC_NN" acdb_id="44" />
<device name="SND_DEVICE_IN_SPEAKER_MIC_NN" acdb_id="304" />
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NN" acdb_id="304" />
<device name="SND_DEVICE_IN_SPEAKER_MIC_NS_NN" acdb_id="304" />
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_NN" acdb_id="304" />
<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="304" />
<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" />
@ -240,10 +240,10 @@
<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_SPEAKER_AND_HEADPHONES" backend="speaker-and-headphones" interface="PRI_MI2S_RX-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES_HIFI_FILTER" backend="speaker-and-headphones" interface="PRI_MI2S_RX-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_LINE" backend="speaker-and-headphones" interface="PRI_MI2S_RX-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_ANC_HEADSET" backend="speaker-and-headphones" interface="PRI_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"/>
@ -258,16 +258,16 @@
<device name="SND_DEVICE_OUT_VOLTE_NB_HANDSET_TMUS" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOLTE_NB_ANC_HANDSET" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_HAC_HANDSET" interface="RX_CDC_DMA_RX_0"/>
<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_VOICE_SPEAKER" backend="speaker" interface="SEN_MI2S_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER" backend="speaker" interface="PRI_MI2S_RX"/>
<device name="SND_DEVICE_OUT_CQA_SPEAKER" backend="speaker" interface="PRI_MI2S_RX"/>
<device name="SND_DEVICE_OUT_VOLTE_NB_SPEAKER" backend="speaker" interface="PRI_MI2S_RX"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER" backend="speaker" interface="PRI_MI2S_RX"/>
<device name="SND_DEVICE_OUT_VOICE_HANDSET" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_ANC_HANDSET" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOLTE_NB_HANDSET" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOLTE_NB_HAC_HANDSET" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_HANDSET_TMUS" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_BT_A2DP" interface="SEN_MI2S_RX-and-SLIMBUS_7_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_BT_A2DP" interface="PRI_MI2S_RX-and-SLIMBUS_7_RX"/>
<device name="SND_DEVICE_OUT_VOICE_TTY_HCO_HANDSET" backend="headset" 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"/>
@ -298,8 +298,6 @@
<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"/>
@ -343,9 +341,9 @@
<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_CAPTURE_VI_FEEDBACK" interface="PRI_MI2S_TX"/>
<device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK_MONO_1" interface="PRI_MI2S_TX"/>
<device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK_MONO_2" interface="PRI_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"/>
@ -353,7 +351,6 @@
<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_VOICE_HEARING_AID" 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"/>
@ -365,12 +362,11 @@
<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_BT_SCO_SWB" backend="speaker-and-bt-sco-swb" interface="TERT_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_SPEAKER_AND_VOICE_HEADPHONES" backend="speaker-and-headphones" interface="PRI_MI2S_RX-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_AND_VOICE_ANC_HEADSET" backend="speaker-and-headphones" interface="PRI_MI2S_RX-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO" backend="speaker-and-bt-sco" interface="PRI_MI2S_RX-and-SLIMBUS_7_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO_WB" backend="speaker-and-bt-sco-wb" interface="PRI_MI2S_RX-and-SLIMBUS_7_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_USB_HEADSET" backend="speaker-and-usb-headset" interface="PRI_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"/>

View file

@ -103,20 +103,20 @@
<ctl name="DISPLAY_PORT1 Mixer MultiMedia14" value="0" />
<ctl name="DISPLAY_PORT1 Mixer MultiMedia15" value="0" />
<ctl name="DISPLAY_PORT1 Mixer MultiMedia16" value="0" />
<ctl name="SEN_MI2S_RX Audio Mixer MultiMedia1" value="0" />
<ctl name="SEN_MI2S_RX Audio Mixer MultiMedia2" value="0" />
<ctl name="SEN_MI2S_RX Audio Mixer MultiMedia3" value="0" />
<ctl name="SEN_MI2S_RX Audio Mixer MultiMedia4" value="0" />
<ctl name="SEN_MI2S_RX Audio Mixer MultiMedia5" value="0" />
<ctl name="SEN_MI2S_RX Audio Mixer MultiMedia7" value="0" />
<ctl name="SEN_MI2S_RX Audio Mixer MultiMedia8" value="0" />
<ctl name="SEN_MI2S_RX Audio Mixer MultiMedia10" value="0" />
<ctl name="SEN_MI2S_RX Audio Mixer MultiMedia11" value="0" />
<ctl name="SEN_MI2S_RX Audio Mixer MultiMedia12" value="0" />
<ctl name="SEN_MI2S_RX Audio Mixer MultiMedia13" value="0" />
<ctl name="SEN_MI2S_RX Audio Mixer MultiMedia14" value="0" />
<ctl name="SEN_MI2S_RX Audio Mixer MultiMedia15" value="0" />
<ctl name="SEN_MI2S_RX Audio Mixer MultiMedia16" value="0" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia1" value="0" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia2" value="0" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia3" value="0" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia4" value="0" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia5" value="0" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia7" value="0" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia8" value="0" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia10" value="0" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia11" value="0" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia12" value="0" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia13" value="0" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia14" value="0" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia15" value="0" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia16" value="0" />
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia1" value="0" />
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia2" value="0" />
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia3" value="0" />
@ -191,7 +191,7 @@
<!-- fm end -->
<!-- Multimode Voice1 -->
<ctl name="SEN_MI2S_RX_Voice Mixer VoiceMMode1" value="0" />
<ctl name="PRI_MI2S_RX_Voice Mixer VoiceMMode1" value="0" />
<ctl name="RX_CDC_DMA_RX_0_Voice Mixer VoiceMMode1" value="0" />
<ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="0" />
<ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_4_MMode1" value="0" />
@ -211,7 +211,7 @@
<!-- Miltimode Voice1 end-->
<!-- Multimode Voice2 -->
<ctl name="SEN_MI2S_RX_Voice Mixer VoiceMMode2" value="0" />
<ctl name="PRI_MI2S_RX_Voice Mixer VoiceMMode2" value="0" />
<ctl name="RX_CDC_DMA_RX_0_Voice Mixer VoiceMMode2" value="0" />
<ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="0" />
<ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_4_MMode2" value="0" />
@ -230,7 +230,7 @@
<ctl name="VoiceMMode2_Tx Mixer PROXY_TX_MMode2" value="0" />
<!-- Multimode Voice2 end-->
<ctl name="SEN_MI2S_RX_VI_FB_MUX" value="ZERO" />
<ctl name="PRI_MI2S_RX_VI_FB_MUX" value="ZERO" />
<!-- Voice external ec. reference -->
<ctl name="VOC_EXT_EC MUX" value="NONE" />
@ -254,7 +254,7 @@
<!-- Incall Music End -->
<!-- compress-voip-call start -->
<ctl name="SEN_MI2S_RX_Voice Mixer Voip" value="0" />
<ctl name="PRI_MI2S_RX_Voice Mixer Voip" value="0" />
<ctl name="RX_CDC_DMA_RX_0_Voice Mixer Voip" value="0" />
<ctl name="Voip_Tx Mixer TX_CDC_DMA_TX_3_Voip" value="0" />
<ctl name="Voip_Tx Mixer TX_CDC_DMA_TX_4_Voip" value="0" />
@ -279,6 +279,7 @@
<!-- audio record compress end-->
<!-- split a2dp -->
<ctl name="BT SampleRate" value="KHZ_8" />
<ctl name="AFE Input Channels" value="Zero" />
<ctl name="SLIM7_RX ADM Channels" value="Zero" />
<!-- split a2dp end-->
@ -291,6 +292,7 @@
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="0" />
<!-- Codec controls -->
<ctl name="SWR DAC_Port Switch" value="0" />
<!-- RX Controls -->
<ctl name="RX_MACRO RX0 MUX" value="ZERO" />
@ -442,6 +444,7 @@
<ctl name="RX INT2_1 VBAT RX AUX VBAT Enable" value="0" />
<!-- Codec controls end -->
<ctl name="Haptics Amplitude Step" value="180" />
<!-- defaults for mmap record -->
<ctl name="MultiMedia16 Mixer TX_CDC_DMA_TX_3" value="0" />
@ -451,8 +454,8 @@
<ctl name="RX_CDC_DMA_RX_6 Audio Mixer MultiMedia32" value="0"/>
<ctl name="RX_CDC_DMA_RX_6 Channels" value="One" />
<ctl name="SEN_MI2S_RX Channels" value="One" />
<ctl name="SEN_MI2S_TX Channels" value="Two" />
<ctl name="PRIM_MI2S_RX Channels" value="One" />
<ctl name="PRIM_MI2S_TX Channels" value="Two" />
<!-- These are audio route (FE to BE) specific mixer settings -->
<path name="gsm-mode">
@ -464,7 +467,12 @@
</path>
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SEN_MI2S_TX" />
<ctl name="AUDIO_REF_EC_UL1 MUX" value="I2S_RX" />
<ctl name="EC Reference Channels" value="One"/>
</path>
<path name="echo-reference handset">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="RX_CDC_DMA_RX_0" />
<ctl name="EC Reference Channels" value="One"/>
</path>
@ -477,6 +485,11 @@
<path name="echo-reference headphones" />
</path>
<path name="echo-reference display-port">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="DISPLAY_PORT" />
<ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference headphones-44.1">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="RX_CDC_DMA_RX_0" />
<ctl name="EC Reference Channels" value="Two"/>
@ -495,23 +508,8 @@
<path name="echo-reference bt-sco" />
</path>
<path name="echo-reference-voip-low-latency">
<ctl name="AUDIO_REF_EC_UL8 MUX" value="TERT_MI2S_RX" />
<ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference-voip-low-latency handset">
<ctl name="AUDIO_REF_EC_UL8 MUX" value="TERT_MI2S_RX" />
<ctl name="EC Reference Channels" value="One"/>
</path>
<path name="echo-reference-voip-low-latency headphones">
<ctl name="AUDIO_REF_EC_UL8 MUX" value="TERT_MI2S_RX" />
<ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference-voip">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="SEN_MI2S_TX" />
<ctl name="AUDIO_REF_EC_UL10 MUX" value="I2S_RX" />
<ctl name="EC Reference Channels" value="One"/>
</path>
@ -538,7 +536,7 @@
</path>
<path name="deep-buffer-playback speaker">
<ctl name="SEN_MI2S_RX Audio Mixer MultiMedia1" value="1" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia1" value="1" />
</path>
<path name="deep-buffer-playback bt-sco">
@ -546,6 +544,7 @@
</path>
<path name="deep-buffer-playback bt-sco-wb">
<ctl name="BT SampleRate" value="KHZ_16" />
<path name="deep-buffer-playback bt-sco" />
</path>
@ -603,12 +602,20 @@
<path name="deep-buffer-playback speaker" />
</path>
<path name="deep-buffer-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia1" value="1" />
</path>
<path name="low-latency-playback">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia5" value="1" />
</path>
<path name="low-latency-playback speaker">
<ctl name="SEN_MI2S_RX Audio Mixer MultiMedia5" value="1" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia5" value="1" />
</path>
<path name="low-latency-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia5" value="1" />
</path>
<path name="low-latency-playback bt-sco">
@ -616,6 +623,7 @@
</path>
<path name="low-latency-playback bt-sco-wb">
<ctl name="BT SampleRate" value="KHZ_16" />
<path name="low-latency-playback bt-sco" />
</path>
@ -678,7 +686,7 @@
</path>
<path name="audio-ull-playback speaker">
<ctl name="SEN_MI2S_RX Audio Mixer MultiMedia8" value="1" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia8" value="1" />
</path>
<path name="audio-ull-playback headphones">
@ -694,11 +702,16 @@
<path name="audio-ull-playback speaker" />
</path>
<path name="audio-ull-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia8" value="1" />
</path>
<path name="audio-ull-playback bt-sco">
<ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia8" value="1" />
</path>
<path name="audio-ull-playback bt-sco-wb">
<ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-ull-playback bt-sco" />
</path>
@ -738,12 +751,16 @@
<path name="audio-ull-playback speaker" />
</path>
<path name="multi-channel-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia2" value="1" />
</path>
<path name="multi-channel-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia2" value="1" />
</path>
<path name="compress-offload-playback speaker">
<ctl name="SEN_MI2S_RX Audio Mixer MultiMedia4" value="1" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia4" value="1" />
</path>
<path name="compress-offload-playback">
@ -755,6 +772,7 @@
</path>
<path name="compress-offload-playback bt-sco-wb">
<ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback bt-sco" />
</path>
@ -779,6 +797,14 @@
<path name="compress-offload-playback speaker" />
</path>
<path name="compress-offload-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia4" value="1" />
</path>
<path name="silence-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia9" value="1" />
</path>
<path name="compress-offload-playback headphones">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia4" value="1" />
</path>
@ -825,7 +851,7 @@
</path>
<path name="compress-offload-playback2 speaker">
<ctl name="SEN_MI2S_RX Audio Mixer MultiMedia7" value="1" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia7" value="1" />
</path>
<path name="compress-offload-playback2 bt-sco">
@ -906,6 +932,7 @@
</path>
<path name="audio-record bt-sco-wb">
<ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record bt-sco" />
</path>
@ -930,6 +957,7 @@
</path>
<path name="audio-record-compress bt-sco-wb">
<ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record-compress bt-sco" />
</path>
@ -954,6 +982,7 @@
</path>
<path name="audio-record-compress2 bt-sco-wb">
<ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record-compress2 bt-sco" />
</path>
@ -978,6 +1007,7 @@
</path>
<path name="low-latency-record bt-sco-wb">
<ctl name="BT SampleRate" value="KHZ_16" />
<path name="low-latency-record bt-sco" />
</path>
@ -1125,7 +1155,7 @@
</path>
<path name="compress-voip-call">
<ctl name="SEN_MI2S_RX_Voice Mixer Voip" value="1" />
<ctl name="PRI_MI2S_RX_Voice Mixer Voip" value="1" />
<ctl name="Voip_Tx Mixer TX_CDC_DMA_TX_3_Voip" value="1" />
</path>
@ -1155,6 +1185,7 @@
</path>
<path name="compress-voip-call bt-sco-wb">
<ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-voip-call bt-sco" />
</path>
@ -1164,7 +1195,7 @@
<path name="compress-voip-call afe-proxy">
<ctl name="AFE_PCM_RX_Voice Mixer Voip" value="1" />
<ctl name="Voip_Tx Mixer TX_CDC_DMA_TX_3_Voip" value="1" />
<ctl name="Voip_Tx Mixer AFE_PCM_TX_Voip" value="1" />
</path>
<path name="compress-voip-call usb-headphones">
@ -1183,7 +1214,7 @@
</path>
<path name="voicemmode1-call speaker">
<ctl name="SEN_MI2S_RX_Voice Mixer VoiceMMode1" value="1" />
<ctl name="PRI_MI2S_RX_Voice Mixer VoiceMMode1" value="1" />
<ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="1" />
</path>
@ -1213,6 +1244,7 @@
</path>
<path name="voicemmode1-call bt-sco-wb">
<ctl name="BT SampleRate" value="KHZ_16" />
<path name="voicemmode1-call bt-sco" />
</path>
@ -1235,13 +1267,23 @@
<ctl name="VoiceMMode1_Tx Mixer USB_AUDIO_TX_MMode1" value="1" />
</path>
<path name="voicemmode1-call display-port-and-usb-headset-mic">
<ctl name="DISPLAY_PORT_RX_Voice Mixer VoiceMMode1" value="1" />
<ctl name="VoiceMMode1_Tx Mixer USB_AUDIO_TX_MMode1" value="1" />
</path>
<path name="voicemmode1-call display-port">
<ctl name="DISPLAY_PORT_RX_Voice Mixer VoiceMMode1" value="1" />
<ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="1" />
</path>
<path name="voicemmode2-call">
<ctl name="RX_CDC_DMA_RX_0_Voice Mixer VoiceMMode2" value="1" />
<ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="1" />
</path>
<path name="voicemmode2-call speaker">
<ctl name="SEN_MI2S_RX_Voice Mixer VoiceMMode2" value="1" />
<ctl name="PRI_MI2S_RX_Voice Mixer VoiceMMode2" value="1" />
<ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="1" />
</path>
@ -1261,6 +1303,7 @@
</path>
<path name="voicemmode2-call bt-sco-wb">
<ctl name="BT SampleRate" value="KHZ_16" />
<path name="voicemmode2-call bt-sco" />
</path>
@ -1283,6 +1326,16 @@
<ctl name="VoiceMMode2_Tx Mixer USB_AUDIO_TX_MMode2" value="1" />
</path>
<path name="voicemmode2-call display-port-and-usb-headset-mic">
<ctl name="DISPLAY_PORT_RX_Voice Mixer VoiceMMode2" value="1" />
<ctl name="VoiceMMode2_Tx Mixer USB_AUDIO_TX_MMode2" value="1" />
</path>
<path name="voicemmode2-call display-port">
<ctl name="DISPLAY_PORT_RX_Voice Mixer VoiceMMode2" value="1" />
<ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="1" />
</path>
<path name="voicemmode2-call hearing-aid">
<ctl name="PROXY_RX_Voice Mixer VoiceMMode2" value="1" />
<ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="1" />
@ -1299,7 +1352,7 @@
</path>
<path name="audio-playback-voip speaker">
<ctl name="SEN_MI2S_RX Audio Mixer MultiMedia10" value="1" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia10" value="1" />
</path>
<path name="audio-playback-voip headphones">
@ -1315,6 +1368,7 @@
</path>
<path name="audio-playback-voip bt-sco-wb">
<ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-playback-voip bt-sco" />
</path>
@ -1338,11 +1392,16 @@
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia10" value="1" />
</path>
<!-- VoIP Tx settings -->
<path name="audio-record-voip-low-latency">
<ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_3" value="1" />
<path name="audio-playback-voip display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia10" value="1" />
</path>
<path name="audio-playback-voip speaker-and-display-port">
<path name="audio-playback-voip display-port" />
<path name="audio-playback-voip" />
</path>
<!-- VoIP Tx settings -->
<path name="audio-record-voip">
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="1" />
<ctl name="TX_DEC2 Volume" value="84" />
@ -1361,6 +1420,7 @@
</path>
<path name="audio-record-voip bt-sco-wb">
<ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record-voip bt-sco" />
</path>
@ -1368,6 +1428,131 @@
<path name="audio-record-voip bt-sco" />
</path>
<path name="audio-with-haptics-playback speaker">
<ctl name="RX_CDC_DMA_RX_6 Audio Mixer MultiMedia32" value="1"/>
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia31" value="1" />
</path>
<path name="audio-with-haptics-playback">
<ctl name="RX_CDC_DMA_RX_6 Audio Mixer MultiMedia32" value="1"/>
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia31" value="1" />
</path>
<path name="audio-with-haptics-playback speaker-protected">
<path name="audio-with-haptics-playback" />
</path>
<path name="audio-with-haptics-playback speaker-safe">
<path name="audio-with-haptics-playback" />
</path>
<path name="audio-with-haptics-playback display-port">
<ctl name="RX_CDC_DMA_RX_6 Audio Mixer MultiMedia32" value="1"/>
<ctl name="DISPLAY_PORT Mixer MultiMedia31" value="1" />
</path>
<path name="audio-with-haptics-playback bt-sco">
<ctl name="RX_CDC_DMA_RX_6 Audio Mixer MultiMedia32" value="1"/>
<ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia31" value="1" />
</path>
<path name="audio-with-haptics-playback bt-sco-wb">
<path name="audio-with-haptics-playback bt-sco" />
</path>
<path name="audio-with-haptics-playback bt-sco-swb">
<path name="audio-with-haptics-playback bt-sco" />
</path>
<path name="audio-with-haptics-playback speaker-and-display-port">
<path name="audio-with-haptics-playback display-port" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia31" value="1" />
</path>
<path name="audio-with-haptics-playback afe-proxy">
<ctl name="RX_CDC_DMA_RX_6 Audio Mixer MultiMedia32" value="1"/>
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia31" value="1" />
</path>
<path name="audio-with-haptics-playback usb-headphones">
<ctl name="RX_CDC_DMA_RX_6 Audio Mixer MultiMedia32" value="1"/>
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia31" value="1" />
</path>
<path name="audio-with-haptics-playback usb-headset">
<ctl name="RX_CDC_DMA_RX_6 Audio Mixer MultiMedia32" value="1"/>
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia31" value="1" />
</path>
<path name="audio-with-haptics-playback speaker-and-usb-headphones">
<path name="audio-with-haptics-playback usb-headphones" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia31" value="1" />
</path>
<path name="audio-with-haptics-playback speaker-safe-and-usb-headphones">
<path name="audio-with-haptics-playback usb-headphones" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia31" value="1" />
</path>
<path name="audio-with-haptics-playback headphones">
<ctl name="RX_CDC_DMA_RX_6 Audio Mixer MultiMedia32" value="1"/>
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="1" />
</path>
<path name="audio-with-haptics-playback headset">
<path name="audio-with-haptics-playback headphones" />
</path>
<path name="audio-with-haptics-playback speaker-and-headphones">
<path name="audio-with-haptics-playback headphones" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia31" value="1" />
</path>
<path name="audio-with-haptics-playback speaker-safe-and-headphones">
<path name="audio-with-haptics-playback headphones" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia31" value="1" />
</path>
<path name="audio-with-haptics-playback speaker-and-bt-sco">
<path name="audio-with-haptics-playback bt-sco" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia31" value="1" />
</path>
<path name="audio-with-haptics-playback speaker-safe-and-bt-sco">
<path name="audio-with-haptics-playback bt-sco" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia31" value="1" />
</path>
<path name="audio-with-haptics-playback speaker-and-bt-sco-wb">
<path name="audio-with-haptics-playback bt-sco-wb" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia31" value="1" />
</path>
<path name="audio-with-haptics-playback speaker-safe-and-bt-sco-wb">
<path name="audio-with-haptics-playback bt-sco-wb" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia31" value="1" />
</path>
<path name="audio-with-haptics-playback speaker-and-bt-sco-swb">
<path name="audio-with-haptics-playback bt-sco-swb" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia31" value="1" />
</path>
<path name="audio-with-haptics-playback bt-a2dp">
<ctl name="RX_CDC_DMA_RX_6 Audio Mixer MultiMedia32" value="1"/>
<ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia31" value="1" />
</path>
<path name="audio-with-haptics-playback speaker-and-bt-a2dp">
<path name="audio-with-haptics-playback bt-a2dp" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia31" value="1" />
</path>
<path name="audio-with-haptics-playback speaker-safe-and-bt-a2dp">
<path name="audio-with-haptics-playback bt-a2dp" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia31" value="1" />
</path>
<path name="deep-buffer-playback bt-a2dp">
<ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia1" value="1" />
</path>
@ -1413,7 +1598,7 @@
</path>
<path name="mmap-playback speaker">
<ctl name="SEN_MI2S_RX Audio Mixer MultiMedia16" value="1" />
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia16" value="1" />
</path>
<path name="mmap-playback headphones">
@ -1458,6 +1643,11 @@
<path name="mmap-playback speaker" />
</path>
<path name="mmap-playback speaker-and-display-port">
<path name="mmap-playback display-port" />
<path name="mmap-playback" />
</path>
<path name="mmap-record">
<ctl name="MultiMedia16 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
@ -1493,6 +1683,10 @@
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia2" value="1" />
</path>
<path name="hifi-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia2" value="1" />
</path>
<path name="hifi-record">
<ctl name="MultiMedia2 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
@ -1573,6 +1767,14 @@
<path name="incall_music_uplink" />
</path>
<path name="incall_music_uplink display-port">
<path name="incall_music_uplink" />
</path>
<path name="incall_music_uplink speaker-and-display-port">
<path name="incall_music_uplink" />
</path>
<path name="incall_music_uplink2">
<ctl name="Incall_Music_2 Audio Mixer MultiMedia9" value="1" />
</path>
@ -1581,18 +1783,10 @@
<path name="incall_music_uplink2" />
</path>
<path name="incall_music_uplink2 handset">
<path name="incall_music_uplink2" />
</path>
<path name="incall_music_uplink2 handset-hac">
<path name="incall_music_uplink2" />
</path>
<path name="incall_music_uplink2 display-port">
<path name="incall_music_uplink2" />
</path>
<path name="incall_music_uplink2 bt-sco">
<path name="incall_music_uplink2" />
</path>
@ -1605,10 +1799,6 @@
<path name="incall_music_uplink2" />
</path>
<path name="incall_music_uplink2 speaker-and-display-port">
<path name="incall_music_uplink2" />
</path>
<path name="incall_music_uplink2 afe-proxy">
<path name="incall_music_uplink2" />
</path>
@ -1629,6 +1819,14 @@
<path name="incall_music_uplink2" />
</path>
<path name="incall_music_uplink2 display-port">
<path name="incall_music_uplink2" />
</path>
<path name="incall_music_uplink2 speaker-and-display-port1">
<path name="incall_music_uplink2" />
</path>
<path name="incall_music_uplink2 headset">
<path name="incall_music_uplink2" />
</path>
@ -1641,10 +1839,6 @@
<path name="incall_music_uplink2" />
</path>
<path name="incall_music_uplink2 voice-tty-hco-handset">
<path name="incall_music_uplink2" />
</path>
<path name="incall_music_uplink2 speaker-and-bt-a2dp">
<path name="incall_music_uplink2" />
</path>
@ -1668,7 +1862,7 @@
</path>
<path name="spkr-vi-record">
<ctl name="SEN_MI2S_RX_VI_FB_MUX" value="SEN_MI2S_TX" />
<ctl name="PRI_MI2S_RX_VI_FB_MUX" value="PRI_MI2S_TX" />
</path>
<!-- These are actual sound device specific mixer settings -->
@ -1676,8 +1870,9 @@
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
<ctl name="TX_AIF1_CAP Mixer DEC0" value="1" />
<ctl name="TX DEC0 MUX" value="SWR_MIC" />
<ctl name="TX SMIC MUX0" value="SWR_MIC0" />
<ctl name="ADC1 ChMap" value="SWRM_TX1_CH1" />
<ctl name="TX SMIC MUX0" value="SWR_MIC4" />
<ctl name="ADC1 ChMap" value="SWRM_TX2_CH1" />
<ctl name="TX0 MODE" value="ADC_LP" />
<ctl name="ADC1_MIXER Switch" value="1" />
</path>
@ -1685,12 +1880,14 @@
<ctl name="TX_CDC_DMA_TX_4 Channels" value="One"/>
<ctl name="TX_AIF2_CAP Mixer DEC0" value="1"/>
<ctl name="TX DEC0 MUX" value="SWR_MIC"/>
<ctl name="TX SMIC MUX0" value="SWR_MIC4"/>
<ctl name="ADC2 ChMap" value="SWRM_TX2_CH1"/>
<ctl name="TX SMIC MUX0" value="SWR_MIC5"/>
<ctl name="ADC2 ChMap" value="SWRM_TX2_CH2"/>
<ctl name="MBHC ChMap" value="SWRM_TX3_CH3" />
<ctl name="ADC2 MUX" value="INP2"/>
<ctl name="DEC0_BCS Switch" value="1"/>
<ctl name="BCS Channel" value="CH5"/>
<ctl name="MBHC ChMap" value="SWRM_TX2_CH2"/>
<ctl name="DEC0_BCS Switch" value="1" />
<ctl name="TX1 MODE" value="ADC_LP" />
<ctl name="BCS Channel" value="CH10"/>
<ctl name="HDR12 MUX" value="NO_HDR12" />
<ctl name="ADC2_MIXER Switch" value="1"/>
</path>
@ -1698,27 +1895,33 @@
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
<ctl name="TX_AIF1_CAP Mixer DEC0" value="1"/>
<ctl name="TX DEC0 MUX" value="SWR_MIC"/>
<ctl name="TX SMIC MUX0" value="SWR_MIC4"/>
<ctl name="ADC2 ChMap" value="SWRM_TX2_CH1"/>
<ctl name="TX SMIC MUX0" value="SWR_MIC6"/>
<ctl name="ADC2 ChMap" value="SWRM_TX2_CH3"/>
<ctl name="ADC2 MUX" value="INP3"/>
<ctl name="ADC2_BCS Disable" value="1"/>
<ctl name="TX1 MODE" value="ADC_LP" />
<ctl name="HDR12 MUX" value="NO_HDR12" />
<ctl name="ADC2_MIXER Switch" value="1"/>
</path>
<path name="amic4">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
<ctl name="TX_AIF1_CAP Mixer DEC0" value="1"/>
<ctl name="TX DEC0 MUX" value="SWR_MIC"/>
<ctl name="TX SMIC MUX0" value="SWR_MIC5"/>
<ctl name="ADC3 ChMap" value="SWRM_TX2_CH2"/>
<ctl name="TX_AIF1_CAP Mixer DEC5" value="1"/>
<ctl name="TX DEC5 MUX" value="SWR_MIC"/>
<ctl name="TX SMIC MUX5" value="SWR_MIC8"/>
<ctl name="ADC3 ChMap" value="SWRM_TX3_CH1"/>
<ctl name="ADC3 MUX" value="INP4"/>
<ctl name="HDR34 MUX" value="NO_HDR34"/>
<ctl name="TX2 MODE" value="ADC_LP"/>
<ctl name="ADC3_MIXER Switch" value="1"/>
</path>
<path name="mic1">
<path name="amic3" />
<path name="amic1" />
</path>
<path name="mic2">
<path name="amic1" />
<path name="amic3" />
</path>
<path name="mic3">
@ -1728,18 +1931,22 @@
<path name="camcorder-mic-bf">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="Two" />
<!-- the top mic as left channel -->
<ctl name="ADC1 Volume" value="8" />
<ctl name="ADC2 Volume" value="8" />
<ctl name="TX_AIF1_CAP Mixer DEC0" value="1" />
<ctl name="TX DEC0 MUX" value="SWR_MIC" />
<ctl name="TX SMIC MUX0" value="SWR_MIC0" />
<ctl name="ADC1 ChMap" value="SWRM_TX1_CH1" />
<ctl name="ADC1_MIXER Switch" value="1" />
<ctl name="TX SMIC MUX0" value="SWR_MIC6" />
<ctl name="ADC2 ChMap" value="SWRM_TX2_CH3"/>
<ctl name="ADC2_BCS Disable" value="1" />
<!-- the bottom mic as right channel -->
<ctl name="ADC2 Volume" value="8" />
<ctl name="ADC1 Volume" value="8" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
<ctl name="TX DEC1 MUX" value="SWR_MIC"/>
<ctl name="TX SMIC MUX1" value="SWR_MIC4"/>
<ctl name="ADC2 ChMap" value="SWRM_TX2_CH1"/>
<ctl name="ADC1 ChMap" value="SWRM_TX2_CH1" />
<ctl name="TX0 MODE" value="ADC_LP" />
<ctl name="TX1 MODE" value="ADC_LP" />
<ctl name="HDR12 MUX" value="NO_HDR12" />
<ctl name="ADC1_MIXER Switch" value="1" />
<ctl name="ADC2_MIXER Switch" value="1"/>
<ctl name="ADC2 MUX" value="INP3"/>
</path>
@ -1747,33 +1954,37 @@
<path name="camcorder-mic-bf-reverse">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="Two" />
<!-- the bottom mic as left channel -->
<ctl name="ADC2 Volume" value="8" />
<ctl name="ADC1 Volume" value="8" />
<ctl name="TX_AIF1_CAP Mixer DEC0" value="1"/>
<ctl name="TX DEC0 MUX" value="SWR_MIC"/>
<ctl name="TX SMIC MUX0" value="SWR_MIC4"/>
<ctl name="ADC2 ChMap" value="SWRM_TX2_CH1"/>
<ctl name="ADC2_MIXER Switch" value="1"/>
<ctl name="ADC2 MUX" value="INP3"/>
<ctl name="ADC1 ChMap" value="SWRM_TX2_CH1"/>
<ctl name="ADC1_MIXER Switch" value="1"/>
<!-- the top mic as right channel -->
<ctl name="ADC1 Volume" value="8" />
<ctl name="ADC2 Volume" value="8" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
<ctl name="TX DEC1 MUX" value="SWR_MIC" />
<ctl name="TX SMIC MUX1" value="SWR_MIC0" />
<ctl name="ADC1 ChMap" value="SWRM_TX1_CH1" />
<ctl name="ADC1_MIXER Switch" value="1" />
<ctl name="TX SMIC MUX1" value="SWR_MIC6" />
<ctl name="ADC2 ChMap" value="SWRM_TX2_CH3" />
<ctl name="ADC2 MUX" value="INP3"/>
<ctl name="ADC1 ChMap" value="SWRM_TX2_CH1" />
<ctl name="TX0 MODE" value="ADC_LP" />
<ctl name="TX1 MODE" value="ADC_LP" />
<ctl name="HDR12 MUX" value="NO_HDR12" />
<ctl name="ADC2_MIXER Switch" value="1" />
</path>
<path name="camcorder-mic-audio-zoom">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="Three" />
<!-- the top mic as left channel -->
<ctl name="ADC1 Volume" value="6" />
<ctl name="ADC1 Volume" value="8" />
<ctl name="TX_AIF1_CAP Mixer DEC0" value="1" />
<ctl name="TX DEC0 MUX" value="SWR_MIC" />
<ctl name="TX SMIC MUX0" value="SWR_MIC0" />
<ctl name="ADC1 ChMap" value="SWRM_TX1_CH1" />
<ctl name="ADC1_MIXER Switch" value="1" />
<!-- the bottom mic as right channel -->
<ctl name="ADC2 Volume" value="6" />
<ctl name="ADC2 Volume" value="8" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
<ctl name="TX DEC1 MUX" value="SWR_MIC"/>
<ctl name="TX SMIC MUX1" value="SWR_MIC4"/>
@ -1781,7 +1992,7 @@
<ctl name="ADC2_MIXER Switch" value="1"/>
<ctl name="ADC2 MUX" value="INP3"/>
<!-- the back mic as aux channel -->
<ctl name="ADC3 Volume" value="4" />
<ctl name="ADC3 Volume" value="8" />
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
<ctl name="TX DEC2 MUX" value="SWR_MIC"/>
<ctl name="TX SMIC MUX2" value="SWR_MIC5"/>
@ -1797,6 +2008,10 @@
<path name="camcorder-mic-bf" />
</path>
<path name="haptics">
<ctl name="SWR DAC_Port Switch" value="1" />
</path>
<path name="speaker">
</path>
@ -1846,7 +2061,7 @@
<path name="sidetone-handset">
<path name="sidetone-iir" />
<ctl name="IIR0 INP0 Volume" value="54" />
<ctl name="IIR0 INP0 Volume" value="0" />
<ctl name="IIR0 INP0 MUX" value="DEC2" />
<ctl name="RX INT0 MIX2 INP" value="SRC0" />
</path>
@ -1856,11 +2071,7 @@
</path>
<path name="speaker-mic">
<path name="amic1" />
</path>
<path name="speaker-mic-game">
<path name="amic4" />
<path name="amic3" />
</path>
<path name="vi-feedback">
@ -1873,21 +2084,21 @@
</path>
<path name="handset">
<ctl name="RX_EAR Mode" value="ON" />
<ctl name="RX_MACRO RX0 MUX" value="AIF1_PB" />
<ctl name="RX_CDC_DMA_RX_0 Channels" value="One" />
<ctl name="RX INT0_1 MIX1 INP0" value="RX0" />
<ctl name="RX INT0 DEM MUX" value="CLSH_DSM_OUT" />
<ctl name="EAR_RDAC Switch" value="1" />
<ctl name="RDAC3_MUX" value="RX1" />
<ctl name="RX_EAR Mode" value="ON" />
</path>
<path name="handset-mic">
<path name="amic3" />
<path name="amic1" />
</path>
<path name="handset-mic-top">
<path name="amic1" />
<path name="amic3" />
</path>
<path name="headphones">
@ -2007,11 +2218,19 @@
<path name="afe-proxy">
</path>
<path name="display-port">
</path>
<path name="speaker-and-usb-headphones">
<path name="speaker" />
<path name="usb-headphones" />
</path>
<path name="speaker-and-display-port">
<path name="speaker" />
<path name="display-port" />
</path>
<path name="voice-rec-mic">
<path name="handset-mic" />
</path>
@ -2044,13 +2263,13 @@
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
<ctl name="TX DEC1 MUX" value="SWR_MIC" />
<ctl name="TX SMIC MUX1" value="SWR_MIC4" />
<ctl name="ADC2 ChMap" value="SWRM_TX2_CH1" />
<ctl name="ADC2 ChMap" value="SWRM_TX2_CH3" />
<ctl name="ADC2 MUX" value="INP3" />
<ctl name="ADC2_MIXER Switch" value="1" />
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
<ctl name="TX DEC2 MUX" value="SWR_MIC" />
<ctl name="TX SMIC MUX2" value="SWR_MIC0" />
<ctl name="ADC1 ChMap" value="SWRM_TX1_CH1" />
<ctl name="TX SMIC MUX2" value="SWR_MIC6" />
<ctl name="ADC1 ChMap" value="SWRM_TX2_CH1" />
<ctl name="ADC1_MIXER Switch" value="1" />
</path>
@ -2071,10 +2290,6 @@
<path name="speaker-dmic-endfire" />
</path>
<path name="hearing-aid-mic">
<path name="voice-speaker-mic"/>
</path>
<path name="voice-dmic-ef-tmus">
<path name="dmic-endfire" />
</path>
@ -2108,6 +2323,57 @@
<path name="dmic-broadside" />
</path>
<path name="unprocessed-hdr-mic">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="Four" />
<ctl name="TX_CDC_DMA_TX_3 Format" value="S24_LE" />
<ctl name="TX DEC1 MUX" value="SWR_MIC" />
<ctl name="TX DEC2 MUX" value="SWR_MIC" />
<ctl name="TX DEC5 MUX" value="SWR_MIC" />
<ctl name="TX DEC3 MUX" value="SWR_MIC" />
<ctl name="TX0 MODE" value="ADC_HIFI" />
<ctl name="TX1 MODE" value="ADC_HIFI" />
<ctl name="TX2 MODE" value="ADC_HIFI" />
<ctl name="TX3 MODE" value="ADC_HIFI" />
<ctl name="TX SMIC MUX1" value="SWR_MIC4" />
<ctl name="TX SMIC MUX2" value="SWR_MIC5" />
<ctl name="TX SMIC MUX5" value="SWR_MIC8" />
<ctl name="TX SMIC MUX3" value="SWR_MIC9" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
<ctl name="TX_AIF1_CAP Mixer DEC5" value="1" />
<ctl name="TX_AIF1_CAP Mixer DEC3" value="1" />
<ctl name="ADC1 ChMap" value="SWRM_TX2_CH1" />
<ctl name="ADC2 ChMap" value="SWRM_TX2_CH2" />
<ctl name="ADC3 ChMap" value="SWRM_TX3_CH1" />
<ctl name="ADC4 ChMap" value="SWRM_TX3_CH2" />
<ctl name="ADC4 MUX" value="INP5" />
<ctl name="HDR12 MUX" value="HDR12" />
<ctl name="HDR34 MUX" value="HDR34" />
<ctl name="ADC1_MIXER Switch" value="1" />
<ctl name="ADC2_MIXER Switch" value="1" />
<ctl name="ADC3_MIXER Switch" value="1" />
<ctl name="ADC4_MIXER Switch" value="1" />
</path>
<path name="unprocessed-hdr-dmic">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="Two" />
<ctl name="TX_CDC_DMA_TX_3 Format" value="S24_LE" />
<ctl name="TX DEC1 MUX" value="SWR_MIC" />
<ctl name="TX DEC2 MUX" value="SWR_MIC" />
<ctl name="TX0 MODE" value="ADC_HIFI" />
<ctl name="TX1 MODE" value="ADC_HIFI" />
<ctl name="TX SMIC MUX1" value="SWR_MIC4" />
<ctl name="TX SMIC MUX2" value="SWR_MIC5" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
<ctl name="ADC1 ChMap" value="SWRM_TX2_CH1" />
<ctl name="ADC2 ChMap" value="SWRM_TX2_CH2" />
<ctl name="HDR12 MUX" value="HDR12" />
<ctl name="ADC1_MIXER Switch" value="1" />
<ctl name="ADC2_MIXER Switch" value="1" />
</path>
<!-- TTY devices -->
<path name="tty-headphones">

View file

@ -0,0 +1,337 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--- Copyright (c) 2014-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. -->
<mixer>
<!-- These are the initial mixer settings -->
<ctl name="LSM1 Mixer VA_CDC_DMA_TX_0" value="0" />
<ctl name="LSM2 Mixer VA_CDC_DMA_TX_0" value="0" />
<ctl name="LSM3 Mixer VA_CDC_DMA_TX_0" value="0" />
<ctl name="LSM4 Mixer VA_CDC_DMA_TX_0" value="0" />
<ctl name="LSM5 Mixer VA_CDC_DMA_TX_0" value="0" />
<ctl name="LSM6 Mixer VA_CDC_DMA_TX_0" value="0" />
<ctl name="LSM7 Mixer VA_CDC_DMA_TX_0" value="0" />
<ctl name="LSM8 Mixer VA_CDC_DMA_TX_0" value="0" />
<ctl name="LSM1 Port" value="None" />
<ctl name="LSM2 Port" value="None" />
<ctl name="LSM3 Port" value="None" />
<ctl name="LSM4 Port" value="None" />
<ctl name="LSM5 Port" value="None" />
<ctl name="LSM6 Port" value="None" />
<ctl name="LSM7 Port" value="None" />
<ctl name="LSM8 Port" value="None" />
<ctl name="VA_CDC_DMA_TX_0 Channels" value="One" />
<ctl name="VA_CDC_DMA_TX_0 SampleRate" value="KHZ_16" />
<ctl name="VA_AIF1_CAP Mixer DEC0" value="0" />
<ctl name="VA_AIF1_CAP Mixer DEC1" value="0" />
<ctl name="VA_AIF1_CAP Mixer DEC2" value="0" />
<ctl name="VA_AIF1_CAP Mixer DEC3" value="0" />
<ctl name="VA_AIF1_CAP Mixer DEC4" value="0" />
<ctl name="VA_AIF1_CAP Mixer DEC5" value="0" />
<ctl name="VA_AIF1_CAP Mixer DEC6" value="0" />
<ctl name="VA_AIF1_CAP Mixer DEC7" value="0" />
<ctl name="VA DEC0 MUX" value="SWR_MIC" />
<ctl name="VA DEC1 MUX" value="SWR_MIC" />
<ctl name="VA DEC2 MUX" value="SWR_MIC" />
<ctl name="VA DEC3 MUX" value="SWR_MIC" />
<ctl name="VA DEC4 MUX" value="SWR_MIC" />
<ctl name="VA DEC5 MUX" value="SWR_MIC" />
<ctl name="VA DEC6 MUX" value="SWR_MIC" />
<ctl name="VA DEC7 MUX" value="SWR_MIC" />
<ctl name="VA DMIC MUX0" value="ZERO" />
<ctl name="VA DMIC MUX1" value="ZERO" />
<ctl name="VA DMIC MUX2" value="ZERO" />
<ctl name="VA DMIC MUX3" value="ZERO" />
<ctl name="VA DMIC MUX4" value="ZERO" />
<ctl name="VA DMIC MUX5" value="ZERO" />
<ctl name="VA DMIC MUX6" value="ZERO" />
<ctl name="VA DMIC MUX7" value="ZERO" />
<ctl name="VA SMIC MUX0" value="ZERO" />
<ctl name="VA SMIC MUX1" value="ZERO" />
<ctl name="VA SMIC MUX2" value="ZERO" />
<ctl name="VA SMIC MUX3" value="ZERO" />
<ctl name="VA SMIC MUX4" value="ZERO" />
<ctl name="VA SMIC MUX5" value="ZERO" />
<ctl name="VA SMIC MUX6" value="ZERO" />
<ctl name="VA SMIC MUX7" value="ZERO" />
<ctl name="ADC2 MUX" value="INP2" />
<ctl name="AUDIO_REF_EC_UL1 MUX" value="None"/>
<ctl name="EC Reference Channels" value="Zero"/>
<ctl name="EC Reference Bit Format" value="0"/>
<ctl name="EC Reference SampleRate" value="0"/>
<ctl name="ADC2_MIXER Switch" value="0" />
<ctl name="LPI Enable" value="0" />
<ctl name="ADC2 Volume" value="12" />
<ctl name="VA_DEC0 MODE" value="ADC_DEFAULT" />
<ctl name="ADC2_BCS Disable" value="0" />
<ctl name="SWR_MIC0 HIFI PortMap" value="ZERO" />
<ctl name="SWR_MIC1 HIFI PortMap" value="ZERO" />
<ctl name="SWR_MIC2 HIFI PortMap" value="ZERO" />
<ctl name="SWR_MIC3 HIFI PortMap" value="ZERO" />
<ctl name="SWR_MIC0 SWR_DMIC_VA_MIXER Switch" value="0" />
<ctl name="SWR_MIC1 SWR_DMIC_VA_MIXER Switch" value="0" />
<ctl name="SWR_MIC2 SWR_DMIC_VA_MIXER Switch" value="0" />
<ctl name="SWR_MIC3 SWR_DMIC_VA_MIXER Switch" value="0" />
<ctl name="SWR_MIC0 LP PortMap" value="ZERO" />
<ctl name="SWR_MIC1 LP PortMap" value="ZERO" />
<ctl name="SWR_MIC2 LP PortMap" value="ZERO" />
<ctl name="SWR_MIC3 LP PortMap" value="ZERO" />
<ctl name="ADC1 ChMap" value="ZERO" />
<ctl name="ADC2 ChMap" value="ZERO" />
<ctl name="ADC3 ChMap" value="ZERO" />
<ctl name="ADC4 ChMap" value="ZERO" />
<ctl name="HDR12 MUX" value="NO_HDR12" />
<ctl name="HDR34 MUX" value="NO_HDR34" />
<ctl name="TX0 MODE" value="ADC_NORMAL" />
<ctl name="TX1 MODE" value="ADC_NORMAL" />
<ctl name="TX2 MODE" value="ADC_NORMAL" />
<ctl name="TX3 MODE" value="ADC_NORMAL" />
<path name="listen-voice-wakeup-1">
<ctl name="LSM1 Mixer VA_CDC_DMA_TX_0" value="1" />
</path>
<path name="listen-voice-wakeup-2">
<ctl name="LSM2 Mixer VA_CDC_DMA_TX_0" value="1" />
</path>
<path name="listen-voice-wakeup-3">
<ctl name="LSM3 Mixer VA_CDC_DMA_TX_0" value="1" />
</path>
<path name="listen-voice-wakeup-4">
<ctl name="LSM4 Mixer VA_CDC_DMA_TX_0" value="1" />
</path>
<path name="listen-voice-wakeup-5">
<ctl name="LSM5 Mixer VA_CDC_DMA_TX_0" value="1" />
</path>
<path name="listen-voice-wakeup-6">
<ctl name="LSM6 Mixer VA_CDC_DMA_TX_0" value="1" />
</path>
<path name="listen-voice-wakeup-7">
<ctl name="LSM7 Mixer VA_CDC_DMA_TX_0" value="1" />
</path>
<path name="listen-voice-wakeup-8">
<ctl name="LSM8 Mixer VA_CDC_DMA_TX_0" value="1" />
</path>
<path name="listen-voice-wakeup-1 preproc">
<path name="listen-voice-wakeup-1" />
</path>
<path name="listen-voice-wakeup-2 preproc">
<path name="listen-voice-wakeup-2" />
</path>
<path name="listen-voice-wakeup-3 preproc">
<path name="listen-voice-wakeup-3" />
</path>
<path name="listen-voice-wakeup-4 preproc">
<path name="listen-voice-wakeup-4" />
</path>
<path name="listen-voice-wakeup-5 preproc">
<path name="listen-voice-wakeup-5" />
</path>
<path name="listen-voice-wakeup-6 preproc">
<path name="listen-voice-wakeup-6" />
</path>
<path name="listen-voice-wakeup-7 preproc">
<path name="listen-voice-wakeup-7" />
</path>
<path name="listen-voice-wakeup-8 preproc">
<path name="listen-voice-wakeup-8" />
</path>
<path name="listen-voice-wakeup-1 port">
<ctl name="LSM1 Port" value="VA_CDC_DMA_TX_0" />
<ctl name="LPI Enable" value="1" />
</path>
<path name="listen-voice-wakeup-2 port">
<ctl name="LSM2 Port" value="VA_CDC_DMA_TX_0" />
<ctl name="LPI Enable" value="1" />
</path>
<path name="listen-voice-wakeup-3 port">
<ctl name="LSM3 Port" value="VA_CDC_DMA_TX_0" />
<ctl name="LPI Enable" value="1" />
</path>
<path name="listen-voice-wakeup-4 port">
<ctl name="LSM4 Port" value="VA_CDC_DMA_TX_0" />
<ctl name="LPI Enable" value="1" />
</path>
<path name="listen-voice-wakeup-5 port">
<ctl name="LSM5 Port" value="VA_CDC_DMA_TX_0" />
<ctl name="LPI Enable" value="1" />
</path>
<path name="listen-voice-wakeup-6 port">
<ctl name="LSM6 Port" value="VA_CDC_DMA_TX_0" />
<ctl name="LPI Enable" value="1" />
</path>
<path name="listen-voice-wakeup-7 port">
<ctl name="LSM7 Port" value="VA_CDC_DMA_TX_0" />
<ctl name="LPI Enable" value="1" />
</path>
<path name="listen-voice-wakeup-8 port">
<ctl name="LSM8 Port" value="VA_CDC_DMA_TX_0" />
<ctl name="LPI Enable" value="1" />
</path>
<path name="listen-voice-wakeup-1 preproc port">
<ctl name="LSM1 Port" value="ADM_LSM_TX" />
<ctl name="LPI Enable" value="0" />
</path>
<path name="listen-voice-wakeup-2 preproc port">
<ctl name="LSM2 Port" value="ADM_LSM_TX" />
<ctl name="LPI Enable" value="0" />
</path>
<path name="listen-voice-wakeup-3 preproc port">
<ctl name="LSM3 Port" value="ADM_LSM_TX" />
<ctl name="LPI Enable" value="0" />
</path>
<path name="listen-voice-wakeup-4 preproc port">
<ctl name="LSM4 Port" value="ADM_LSM_TX" />
<ctl name="LPI Enable" value="0" />
</path>
<path name="listen-voice-wakeup-5 preproc port">
<ctl name="LSM5 Port" value="ADM_LSM_TX" />
<ctl name="LPI Enable" value="0" />
</path>
<path name="listen-voice-wakeup-6 preproc port">
<ctl name="LSM6 Port" value="ADM_LSM_TX" />
<ctl name="LPI Enable" value="0" />
</path>
<path name="listen-voice-wakeup-7 preproc port">
<ctl name="LSM7 Port" value="ADM_LSM_TX" />
<ctl name="LPI Enable" value="0" />
</path>
<path name="listen-voice-wakeup-8 preproc port">
<ctl name="LSM8 Port" value="ADM_LSM_TX" />
<ctl name="LPI Enable" value="0" />
</path>
<path name="listen-ape-handset-mic">
<ctl name="VA_CDC_DMA_TX_0 Channels" value="One" />
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
<ctl name="VA DEC0 MUX" value="SWR_MIC" />
<ctl name="VA_DEC0 MODE" value="ADC_LOW_PWR" />
<ctl name="TX0 MODE" value="ADC_LP" />
<ctl name="VA SMIC MUX0" value="SWR_MIC4" />
<ctl name="ADC1 ChMap" value="SWRM_TX2_CH1" />
<ctl name="ADC1_MIXER Switch" value="1" />
</path>
<path name="listen-ape-handset-mic-preproc">
<path name="listen-ape-handset-mic" />
</path>
<path name="listen-ape-handset-dmic">
<ctl name="VA_CDC_DMA_TX_0 Channels" value="Two" />
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
<ctl name="VA_AIF1_CAP Mixer DEC1" value="1" />
<ctl name="VA DEC0 MUX" value="SWR_MIC" />
<ctl name="VA DEC1 MUX" value="SWR_MIC" />
<ctl name="VA_DEC0 MODE" value="ADC_LOW_PWR" />
<ctl name="VA_DEC1 MODE" value="ADC_LOW_PWR" />
<ctl name="TX0 MODE" value="ADC_LP" />
<ctl name="TX1 MODE" value="ADC_LP" />
<ctl name="VA SMIC MUX0" value="SWR_MIC4" />
<ctl name="VA SMIC MUX1" value="SWR_MIC6" />
<ctl name="ADC2 ChMap" value="SWRM_TX2_CH3" />
<ctl name="ADC1 ChMap" value="SWRM_TX2_CH1" />
<ctl name="ADC2 MUX" value="INP3" />
<ctl name="VA_DEC0 Volume" value="84" />
<ctl name="VA_DEC1 Volume" value="84" />
<ctl name="ADC1_MIXER Switch" value="1" />
<ctl name="ADC2_MIXER Switch" value="1" />
</path>
<path name="listen-ape-handset-tmic">
</path>
<path name="listen-ape-handset-qmic">
</path>
<path name="listen-ape-headset-mic">
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
<ctl name="VA DEC0 MUX" value="SWR_MIC" />
<ctl name="VA SMIC MUX0" value="SWR_MIC5" />
<ctl name="TX1 MODE" value="ADC_LP" />
<ctl name="ADC2 MUX" value="INP2" />
<ctl name="VA_DEC0 MODE" value="ADC_LOW_PWR" />
<ctl name="ADC2 ChMap" value="SWRM_TX2_CH2" />
<ctl name="HDR12 MUX" value="NO_HDR12" />
<ctl name="ADC2_BCS Disable" value="1" />
<ctl name="ADC2_MIXER Switch" value="1" />
</path>
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="PRI_MI2S_TX"/>
<ctl name="EC Reference Channels" value="One"/>
<ctl name="EC Reference Bit Format" value="S16_LE"/>
<ctl name="EC Reference SampleRate" value="48000"/>
</path>
<path name="echo-reference headphones">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="RX_CDC_DMA_RX_0" />
<ctl name="EC Reference Channels" value="Two"/>
<ctl name="EC Reference Bit Format" value="S16_LE"/>
<ctl name="EC Reference SampleRate" value="48000"/>
</path>
<path name="echo-reference headset">
<path name="echo-reference headphones" />
</path>
<path name="echo-reference a2dp">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_7_RX"/>
<ctl name="EC Reference Channels" value="Two"/>
<ctl name="EC Reference Bit Format" value="S16_LE"/>
<ctl name="EC Reference SampleRate" value="48000"/>
</path>
</mixer>

View file

@ -0,0 +1,471 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--- Copyright (c) 2013-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. -->
<sound_trigger_platform_info>
<param version="0x0106" /> <!-- this must be the first param -->
<!--- Version History: -->
<!--- 0x0101: Legacy version. -->
<!--- 0x0102: Includes acdb_ids param with the gcs_usecase tag. This matches -->
<!--- the gcs_usecase with the acdb device that uses it. -->
<!--- 0x0103: app_type and in_channels added to <lsm usecase> and out_channels -->
<!--- added to <adm_config> -->
<!--- 0x0104: instance id support for both WDSP<CPE> and ADSP lsm usecases -->
<!--- 0x0105: Select <lsm_usecase> based on capture device -->
<!--- 0x0106: Add module_params tag to support multiple module and param ids -->
<!--- per <lsm_usecase> -->
<common_config>
<param implementer_version="0x0102" />
<param max_ape_sessions="8" />
<param enable_failure_detection="false" />
<param support_device_switch="true" />
<param transit_to_non_lpi_on_battery_charging="false" />
<!-- Below backend params must match with port used in mixer path file -->
<!-- param used to configure backend sample rate, format and channels -->
<param backend_port_name="VA_CDC_DMA_TX_0" />
<!-- Param used to match and obtain device backend index -->
<param backend_dai_name="VA_CDC_DMA_TX_0" />
<!-- Param used to indicate if SVA has dedicated SLIM ports -->
<param dedicated_sva_path="false" />
<param dedicated_headset_path="false" />
<param platform_lpi_enable="true" />
<param enable_debug_dumps="false" />
<param support_non_lpi_without_ec="false" />
<param concurrent_capture="true" />
<param concurrent_voip_call="false" />
<param concurrent_voice_call="false" />
</common_config>
<acdb_ids>
<param DEVICE_HANDSET_MIC_APE="100" />
<param DEVICE_HANDSET_MIC_PP_APE="135" />
<param DEVICE_HANDSET_DMIC_APE="149" />
<param DEVICE_HANDSET_DMIC_LPI_APE="179" />
<param DEVICE_HANDSET_TMIC_APE="157" />
<param DEVICE_HANDSET_TMIC_LPI_APE="180" />
<param DEVICE_HANDSET_QMIC_APE="137" />
<param DEVICE_HANDSET_QMIC_LPI_APE="181" />
<param DEVICE_HEADSET_MIC_APE="141" />
<param DEVICE_HEADSET_MIC_APE_LPI="182" />
</acdb_ids>
<!-- Multiple sound_model_config tags can be listed, each with unique -->
<!-- vendor_uuid. The below tag represents QTI SVA engine sound model -->
<!-- configuration. ISV must use their own unique vendor_uuid. -->
<!-- QTI SVA -->
<sound_model_config>
<param vendor_uuid="68ab2d40-e860-11e3-95ef-0002a5d5c51b" />
<param execution_type="ADSP" />
<param merge_first_stage_sound_models="false"/>
<param max_ape_phrases="20" />
<param max_ape_users="10" />
<!-- Profile specific data which the algorithm can support -->
<param sample_rate="16000" />
<param bit_width="16" />
<param out_channels="1"/> <!-- Module output channels -->
<param dam_token_id="1"/>
<arm_ss_usecase>
<!-- Options are "KEYWORD_DETECTION", "USER_VERIFICATION", "CUSTOM_DETECTION" -->
<param sm_detection_type= "KEYWORD_DETECTION" />
<param sm_id="0x2" />
<param module_lib="libcapiv2svacnn.so"/>
<param sample_rate="16000"/>
<param bit_wdith="16"/>
<param channel_count="1"/>
</arm_ss_usecase>
<arm_ss_usecase>
<param sm_detection_type= "USER_VERIFICATION" />
<param sm_id="0x4" />
<param module_lib="libcapiv2vop.so"/>
<param sample_rate="16000"/>
<param bit_wdith="16"/>
<param channel_count="1"/>
</arm_ss_usecase>
<arm_ss_usecase>
<param sm_detection_type= "KEYWORD_DETECTION" />
<param sm_id="0x8" />
<param module_lib="libcapiv2svarnn.so"/>
<param sample_rate="16000"/>
<param bit_wdith="16"/>
<param channel_count="1"/>
</arm_ss_usecase>
<!-- Module and param ids with which the algorithm is integrated
in non-graphite firmware (note these must come after gcs params)
Extends flexibility to have different ids based on execution type.
valid execution_type values: "WDSP" "ADSP" -->
<lsm_usecase>
<param capture_device="HANDSET" />
<!-- adm_cfg_profile should match with the one defined under adm_config -->
<!-- Set it to NONE if LSM directly connects to AFE -->
<param adm_cfg_profile="FFECNS" />
<!-- fluence_type: "FLUENCE_MIC", "FLUENCE_DMIC", "FLUENCE_TMIC" -->
<!-- "FLUENCE_QMIC". Param value is valid when adm_cfg_profile -->
<!-- is FFECNS -->
<param fluence_type="FLUENCE_DMIC" />
<param execution_mode="ADSP" />
<!-- lpi_mode: "NON_LPI_BARGE_IN", "NON_LPI", "LPI" -->
<!-- NON_LPI_BARGE_IN: Default non-LPI mode type. lsm_usecase -->
<!-- must be present with this mode type to handle barge-in. -->
<!-- NON_LPI: If another lsm_usecase is present with this mode -->
<!-- type, it will be used for non-LPI non-barge-in usecases. -->
<!-- If not present, NON_LPI_BARGE_IN mode type will be used. -->
<!-- LPI: This mode type will be used for LPI usecases. -->
<param lpi_mode="NON_LPI_BARGE_IN" />
<param app_type="2" /> <!-- app type used in ACDB -->
<param pdk5_app_type="5" />
<param in_channels="2"/> <!-- Module input channels -->
<module_params>
<param module_type="GMM" />
<param load_sound_model_ids="0x00012C1C, 0x0, 0x00012C14" />
<param unload_sound_model_ids="0x00012C1C, 0x0, 0x00012C15" />
<param confidence_levels_ids="0x00012C1C, 0x0, 0x00012C07" />
<param operation_mode_ids="0x00012C1C, 0x0, 0x00012C02" />
<param polling_enable_ids="0x00012C1C, 0x0, 0x00012C1B" />
<param custom_config_ids="0x00012C1C, 0x0, 0x00012C20" />
<param det_event_type_ids="0x00012C1C, 0x0, 0x00012C2C" />
<param lab_dam_cfg_ids="0x00012C08, 0x0, 0x000102C4" />
</module_params>
<module_params>
<param module_type="PDK5" />
<param load_sound_model_ids="0x00012C35, 0x0, 0x00012C36" />
<param unload_sound_model_ids="0x00012C35, 0x0, 0x00012C37" />
<param confidence_levels_ids="0x00012C35, 0x0, 0x00012C38" />
<param custom_config_ids="0x00012C35, 0x0, 0x00012C20" />
<param det_event_type_ids="0x00012C35, 0x0, 0x00012C2C" />
<param lab_dam_cfg_ids="0x00012C08, 0x0, 0x000102C4" />
</module_params>
</lsm_usecase>
<lsm_usecase>
<param capture_device="HANDSET" />
<!-- adm_cfg_profile should match with the one defined under adm_config -->
<!-- Set it to NONE if LSM directly connects to AFE -->
<param adm_cfg_profile="FFECNS" />
<!-- fluence_type: "FLUENCE_MIC", "FLUENCE_DMIC", "FLUENCE_TMIC" -->
<!-- "FLUENCE_QMIC". Param value is valid when adm_cfg_profile -->
<!-- is FFECNS -->
<param fluence_type="FLUENCE_DMIC" />
<param execution_mode="ADSP" />
<!-- lpi_mode: "NON_LPI_BARGE_IN", "NON_LPI", "LPI" -->
<!-- NON_LPI_BARGE_IN: Default non-LPI mode type. lsm_usecase -->
<!-- must be present with this mode type to handle barge-in. -->
<!-- NON_LPI: If another lsm_usecase is present with this mode -->
<!-- type, it will be used for non-LPI non-barge-in usecases. -->
<!-- If not present, NON_LPI_BARGE_IN mode type will be used. -->
<!-- LPI: This mode type will be used for LPI usecases. -->
<param lpi_mode="LPI" />
<param app_type="2" /> <!-- app type used in ACDB -->
<param pdk5_app_type="5" />
<param in_channels="1"/> <!-- Module input channels -->
<module_params>
<param module_type="GMM" />
<param load_sound_model_ids="0x00012C1C, 0x0, 0x00012C14" />
<param unload_sound_model_ids="0x00012C1C, 0x0, 0x00012C15" />
<param confidence_levels_ids="0x00012C1C, 0x0, 0x00012C07" />
<param operation_mode_ids="0x00012C1C, 0x0, 0x00012C02" />
<param polling_enable_ids="0x00012C1C, 0x0, 0x00012C1B" />
<param custom_config_ids="0x00012C1C, 0x0, 0x00012C20" />
<param det_event_type_ids="0x00012C1C, 0x0, 0x00012C2C" />
<param lab_dam_cfg_ids="0x00012C08, 0x0, 0x000102C4" />
</module_params>
<module_params>
<param module_type="PDK5" />
<param load_sound_model_ids="0x00012C35, 0x0, 0x00012C36" />
<param unload_sound_model_ids="0x00012C35, 0x0, 0x00012C37" />
<param confidence_levels_ids="0x00012C35, 0x0, 0x00012C38" />
<param custom_config_ids="0x00012C35, 0x0, 0x00012C20" />
<param det_event_type_ids="0x00012C35, 0x0, 0x00012C2C" />
<param lab_dam_cfg_ids="0x00012C08, 0x0, 0x000102C4" />
</module_params>
</lsm_usecase>
<lsm_usecase>
<param capture_device="HEADSET" />
<param adm_cfg_profile="FFECNS" />
<param fluence_type="FLUENCE_MIC" />
<param execution_mode="ADSP" />
<param app_type="2" /> <!-- app type used in ACDB -->
<param pdk5_app_type="5" />
<param in_channels="1"/> <!-- Module input channels -->
<module_params>
<param module_type="GMM" />
<param load_sound_model_ids="0x00012C1C, 0x0, 0x00012C14" />
<param unload_sound_model_ids="0x00012C1C, 0x0, 0x00012C15" />
<param confidence_levels_ids="0x00012C1C, 0x0, 0x00012C07" />
<param operation_mode_ids="0x00012C1C, 0x0, 0x00012C02" />
<param polling_enable_ids="0x00012C1C, 0x0, 0x00012C1B" />
<param custom_config_ids="0x00012C1C, 0x0, 0x00012C20" />
<param det_event_type_ids="0x00012C1C, 0x0, 0x00012C2C" />
<param lab_dam_cfg_ids="0x00012C08, 0x0, 0x000102C4" />
</module_params>
<module_params>
<param module_type="PDK5" />
<param load_sound_model_ids="0x00012C35, 0x0, 0x00012C36" />
<param unload_sound_model_ids="0x00012C35, 0x0, 0x00012C37" />
<param confidence_levels_ids="0x00012C35, 0x0, 0x00012C38" />
<param custom_config_ids="0x00012C35, 0x0, 0x00012C20" />
<param det_event_type_ids="0x00012C35, 0x0, 0x00012C2C" />
<param lab_dam_cfg_ids="0x00012C08, 0x0, 0x000102C4" />
</module_params>
</lsm_usecase>
<!-- format: "ADPCM_packet" or "PCM_packet" !-->
<!-- transfer_mode: "FTRT" or "RT" -->
<!-- kw_duration is in milli seconds. It is valid only for FTRT
transfer mode -->
<param capture_keyword="PCM_packet, RT, 2000" />
<param client_capture_read_delay="2000" />
</sound_model_config>
<!-- QTI Music Detection !-->
<sound_model_config>
<param vendor_uuid="876c1b46-9d4d-40cc-a4fd-4d5ec7a80e47" />
<param execution_type="ADSP" />
<param max_ape_phrases="1" />
<param max_ape_users="1" />
<!-- Profile specific data which the algorithm can support -->
<param sample_rate="16000" />
<param bit_width="16" />
<param out_channels="1"/> <!-- Module output channels -->
<!-- Module and param ids with which the algorithm is integrated
in non-graphite firmware (note these must come after gcs params)
Extends flexibility to have different ids based on execution type.
valid execution_type values: only "ADSP" -->
<lsm_usecase>
<param capture_device="HANDSET" />
<!-- adm_cfg_profile should match with the one defined under adm_config -->
<!-- Set it to NONE if LSM directly connects to AFE -->
<param adm_cfg_profile="DEFAULT" />
<!-- fluence_type: "FLUENCE_MIC", "FLUENCE_DMIC", "FLUENCE_TMIC" -->
<!-- "FLUENCE_QMIC". Param value is valid when adm_cfg_profile -->
<!-- is FFECNS -->
<param fluence_type="NONE" />
<param execution_mode="ADSP" />
<param app_type="4" /> <!-- app type for MD used in ACDB -->
<param in_channels="1"/> <!-- Module input channels -->
<module_params>
<param load_sound_model_ids="0x00012C22, 0x0, 0x00012C14" />
<param unload_sound_model_ids="0x00012C22, 0x0, 0x00012C15" />
<param confidence_levels_ids="0x00012C22, 0x0, 0x00012C07" />
<param det_event_type_ids="0x00012C22, 0x0, 0x00012C2C" />
<param custom_config_ids="0x00012C22, 0x0, 0x00012C30" />
</module_params>
</lsm_usecase>
<lsm_usecase>
<param capture_device="HEADSET" />
<param adm_cfg_profile="DEFAULT" />
<param fluence_type="NONE" />
<param execution_mode="ADSP" />
<param app_type="4" /> <!-- app type for MD used in ACDB -->
<param in_channels="1"/> <!-- Module input channels -->
<module_params>
<param load_sound_model_ids="0x00012C22, 0x0, 0x00012C14" />
<param unload_sound_model_ids="0x00012C22, 0x0, 0x00012C15" />
<param confidence_levels_ids="0x00012C22, 0x0, 0x00012C07" />
<param det_event_type_ids="0x00012C22, 0x0, 0x00012C2C" />
<param custom_config_ids="0x00012C22, 0x0, 0x00012C30" />
</module_params>
</lsm_usecase>
<!-- format: "ADPCM_packet" or "PCM_packet" !-->
<!-- transfer_mode: "FTRT" or "RT" -->
<!-- kw_duration is in milli seconds. It is valid only for FTRT
transfer mode -->
<param capture_keyword="PCM_packet, FTRT, 1500" />
<param client_capture_read_delay="2000" />
</sound_model_config>
<!-- Google Hotword -->
<sound_model_config>
<param vendor_uuid="7038ddc8-30f2-11e6-b0ac-40a8f03d3f15" />
<param execution_type="ADSP" />
<param max_ape_phrases="1" />
<param max_ape_users="1" />
<!-- Profile specific data which the algorithm can support -->
<param sample_rate="16000" />
<param bit_width="16" />
<param out_channels="1"/> <!-- Module output channels -->
<param get_module_version="true" />
<lsm_usecase>
<param capture_device="HANDSET" />
<!-- adm_cfg_profile should match with the one defined under adm_config -->
<!-- Set it to NONE if LSM directly connects to AFE -->
<param adm_cfg_profile="DEFAULT" />
<!-- fluence_type: "FLUENCE_MIC", "FLUENCE_DMIC", "FLUENCE_TMIC" -->
<!-- "FLUENCE_QMIC". Param value is valid when adm_cfg_profile -->
<!-- is FFECNS -->
<param fluence_type="NONE" />
<param execution_mode="ADSP" />
<!-- lpi_mode: "NON_LPI_BARGE_IN", "NON_LPI", "LPI" -->
<!-- NON_LPI_BARGE_IN: Default non-LPI mode type. lsm_usecase -->
<!-- must be present with this mode type to handle barge-in. -->
<!-- NON_LPI: If another lsm_usecase is present with this mode -->
<!-- type, it will be used for non-LPI non-barge-in usecases. -->
<!-- If not present, NON_LPI_BARGE_IN mode type will be used. -->
<!-- LPI: This mode type will be used for LPI usecases. -->
<param lpi_mode="NON_LPI_BARGE_IN" />
<param app_type="3" /> <!-- app type used in ACDB -->
<param in_channels="1"/> <!-- Module input channels -->
<module_params>
<param load_sound_model_ids="0x18000001, 0x0, 0x00012C14" />
<param unload_sound_model_ids="0x18000001, 0x0, 0x00012C15" />
<param confidence_levels_ids="0x18000001, 0x0, 0x00012C07" />
<param operation_mode_ids="0x18000001, 0x0, 0x00012C02" />
<param polling_enable_ids="0x18000001, 0x0, 0x00012C1B" />
<param custom_config_ids="0x18000001, 0x0, 0x00012C20" />
<param version_ids="0x18000001, 0x0, 0x18000101" />
</module_params>
</lsm_usecase>
<lsm_usecase>
<param capture_device="HANDSET" />
<!-- adm_cfg_profile should match with the one defined under adm_config -->
<!-- Set it to NONE if LSM directly connects to AFE -->
<param adm_cfg_profile="DEFAULT" />
<!-- fluence_type: "FLUENCE_MIC", "FLUENCE_DMIC", "FLUENCE_TMIC" -->
<!-- "FLUENCE_QMIC". Param value is valid when adm_cfg_profile -->
<!-- is FFECNS -->
<param fluence_type="NONE" />
<param execution_mode="ADSP" />
<!-- lpi_mode: "NON_LPI_BARGE_IN", "NON_LPI", "LPI" -->
<!-- NON_LPI_BARGE_IN: Default non-LPI mode type. lsm_usecase -->
<!-- must be present with this mode type to handle barge-in. -->
<!-- NON_LPI: If another lsm_usecase is present with this mode -->
<!-- type, it will be used for non-LPI non-barge-in usecases. -->
<!-- If not present, NON_LPI_BARGE_IN mode type will be used. -->
<!-- LPI: This mode type will be used for LPI usecases. -->
<param lpi_mode="LPI" />
<param app_type="3" /> <!-- app type used in ACDB -->
<param in_channels="1"/> <!-- Module input channels -->
<module_params>
<param load_sound_model_ids="0x18000001, 0x0, 0x00012C14" />
<param unload_sound_model_ids="0x18000001, 0x0, 0x00012C15" />
<param confidence_levels_ids="0x18000001, 0x0, 0x00012C07" />
<param operation_mode_ids="0x18000001, 0x0, 0x00012C02" />
<param polling_enable_ids="0x18000001, 0x0, 0x00012C1B" />
<param custom_config_ids="0x18000001, 0x0, 0x00012C20" />
<param version_ids="0x18000001, 0x0, 0x18000101" />
</module_params>
</lsm_usecase>
<lsm_usecase>
<param capture_device="HEADSET" />
<param adm_cfg_profile="DEFAULT" />
<param fluence_type="NONE" />
<param execution_mode="ADSP" />
<param app_type="3" /> <!-- app type used in ACDB -->
<param in_channels="1"/> <!-- Module input channels -->
<module_params>
<param load_sound_model_ids="0x18000001, 0x0, 0x00012C14" />
<param unload_sound_model_ids="0x18000001, 0x0, 0x00012C15" />
<param confidence_levels_ids="0x18000001, 0x0, 0x00012C07" />
<param operation_mode_ids="0x18000001, 0x0, 0x00012C02" />
<param polling_enable_ids="0x18000001, 0x0, 0x00012C1B" />
<param custom_config_ids="0x18000001, 0x0, 0x00012C20" />
<param version_ids="0x18000001, 0x0, 0x18000101" />
</module_params>
</lsm_usecase>
<!-- format: "ADPCM_packet" or "PCM_packet" !-->
<!-- transfer_mode: "FTRT" or "RT" -->
<!-- kw_duration is in milli seconds. It is valid only for FTRT
transfer mode -->
<param capture_keyword="PCM_raw, FTRT, 2000" />
<param client_capture_read_delay="2000" />
</sound_model_config>
<!-- Google Music Detection -->
<sound_model_config>
<param vendor_uuid="9f6ad62a-1f0b-11e7-87c5-40a8f03d3f15" />
<param execution_type="ADSP" />
<param max_ape_phrases="1" />
<param max_ape_users="1" />
<!-- Profile specific data which the algorithm can support -->
<param sample_rate="16000" />
<param bit_width="16" />
<param out_channels="1"/> <!-- Module output channels -->
<lsm_usecase>
<param capture_device="HANDSET" />
<!-- adm_cfg_profile should match with the one defined under adm_config -->
<!-- Set it to NONE if LSM directly connects to AFE -->
<param adm_cfg_profile="DEFAULT" />
<!-- fluence_type: "FLUENCE_MIC", "FLUENCE_DMIC", "FLUENCE_TMIC" -->
<!-- "FLUENCE_QMIC". Param value is valid when adm_cfg_profile -->
<!-- is FFECNS -->
<param fluence_type="NONE" />
<param execution_mode="ADSP" />
<param app_type="3" /> <!-- app type used in ACDB -->
<param in_channels="1"/> <!-- Module input channels -->
<module_params>
<param load_sound_model_ids="0x18000001, 0x0, 0x00012C14" />
<param unload_sound_model_ids="0x18000001, 0x0, 0x00012C15" />
<param confidence_levels_ids="0x18000001, 0x0, 0x00012C07" />
<param operation_mode_ids="0x18000001, 0x0, 0x00012C02" />
<param polling_enable_ids="0x18000001, 0x0, 0x00012C1B" />
<param custom_config_ids="0x18000001, 0x0, 0x00012C20" />
</module_params>
</lsm_usecase>
<lsm_usecase>
<param capture_device="HEADSET" />
<param adm_cfg_profile="DEFAULT" />
<param fluence_type="NONE" />
<param execution_mode="ADSP" />
<param app_type="3" /> <!-- app type used in ACDB -->
<param in_channels="1"/> <!-- Module input channels -->
<module_params>
<param load_sound_model_ids="0x18000001, 0x0, 0x00012C14" />
<param unload_sound_model_ids="0x18000001, 0x0, 0x00012C15" />
<param confidence_levels_ids="0x18000001, 0x0, 0x00012C07" />
<param operation_mode_ids="0x18000001, 0x0, 0x00012C02" />
<param polling_enable_ids="0x18000001, 0x0, 0x00012C1B" />
<param custom_config_ids="0x18000001, 0x0, 0x00012C20" />
</module_params>
</lsm_usecase>
<!-- format: "ADPCM_packet" or "PCM_packet" !-->
<!-- transfer_mode: "FTRT" or "RT" -->
<!-- kw_duration is in milli seconds. It is valid only for FTRT
transfer mode -->
<param capture_keyword="PCM_raw, FTRT, 5000" />
<param client_capture_read_delay="2000" />
</sound_model_config>
<!-- Multiple adm_config tags can be listed, each with unique profile name. -->
<!-- app_type to match corresponding value from ACDB -->
<adm_config>
<param adm_cfg_profile="FFECNS" />
<param app_type="69947" />
<param sample_rate="16000" />
<param bit_width="16" />
<param out_channels="2"/>
</adm_config>
<adm_config>
<param adm_cfg_profile="DEFAULT" />
<param app_type="69938" />
<param sample_rate="16000" />
<param bit_width="16" />
<param out_channels="1"/>
</adm_config>
</sound_trigger_platform_info>

View file

@ -0,0 +1,9 @@
#
# FPC1020 Touch sensor driver
#
device.internal = 1
keyboard.layout = uinput-fpc
keyboard.builtIn = 1
keyboard.orientationAware = 1

View file

@ -1,5 +1,8 @@
# Goodix side-type fingerprint sensor
#
# GF3626_Z9 gesture sensor driver
#
device.internal = 1
keyboard.layout = uinput_nav
keyboard.builtIn = 1
keyboard.orientationAware = 1

View file

@ -0,0 +1,9 @@
#
# FPC1020 Touch sensor driver
#
#
# fpc1020 "finger present"
key 618 SYSTEM_NAVIGATION_UP
key 619 SYSTEM_NAVIGATION_DOWN
key 622 SYSTEM_NAVIGATION_LEFT

View file

@ -1,7 +1,8 @@
# Goodix side-type fingerprint sensor
#
# GF3626_Z9 gesture sensor driver
#
key 103 SYSTEM_NAVIGATION_UP
key 108 SYSTEM_NAVIGATION_DOWN
# use SYSTEM_NAVIGATION_LEFT for double-tap gesture
key 115 SYSTEM_NAVIGATION_LEFT
key 618 SYSTEM_NAVIGATION_UP
key 619 SYSTEM_NAVIGATION_DOWN
# double tap
key 622 SYSTEM_NAVIGATION_LEFT

View file

@ -1,18 +1,13 @@
#
# Copyright (C) 2022 The LineageOS Project
# Copyright (C) 2022-2023 The LineageOS Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# 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.
#
# A/B
TARGET_IS_VAB := true
# Boot animation
TARGET_SCREEN_HEIGHT := 2400
@ -36,15 +31,18 @@ DEVICE_PACKAGE_OVERLAYS += \
$(LOCAL_PATH)/overlay-lineage
PRODUCT_PACKAGES += \
FrameworksResBerlna \
LineageSystemUIBerlna \
SettingsProviderResBerlna \
SystemUIResBerlna
FrameworksResXpeng \
LineageSystemUIXpeng \
SettingsProviderResXpeng \
SystemUIResXpeng
# Audio
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_yupik/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_yupik/mixer_paths.xml \
$(LOCAL_PATH)/audio/sku_lahaina/audio_io_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_lahaina/audio_io_policy.conf \
$(LOCAL_PATH)/audio/sku_lahaina/audio_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_lahaina/audio_platform_info.xml \
$(LOCAL_PATH)/audio/sku_lahaina/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_lahaina/mixer_paths.xml \
$(LOCAL_PATH)/audio/sku_lahaina/sound_trigger_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_lahaina/sound_trigger_mixer_paths.xml \
$(LOCAL_PATH)/audio/sku_lahaina/sound_trigger_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_lahaina/sound_trigger_platform_info.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_ext_spkr.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_ext_spkr.conf \
@ -53,7 +51,7 @@ PRODUCT_COPY_FILES += \
# Fingerprint
PRODUCT_PACKAGES += \
android.hardware.biometrics.fingerprint@2.1-service.berlna \
android.hardware.biometrics.fingerprint@2.1-service.xpeng \
com.motorola.hardware.biometric.fingerprint@1.0.vendor
$(foreach f,$(wildcard $(LOCAL_PATH)/configs/idc/*.idc),\
@ -71,22 +69,20 @@ $(foreach f,$(wildcard $(LOCAL_PATH)/rootdir/bin/*.sh),\
# Init (recovery)
PRODUCT_PACKAGES += \
init.recovery.berlna.rc \
init.recovery.xpeng.rc \
load_touch.sh
# Lineage Touch
PRODUCT_PACKAGES += \
vendor.lineage.touch@1.0-service.berlna
vendor.lineage.touch@1.0-service.xpeng
# Media
PRODUCT_COPY_FILES += \
$(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_yupik_v1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_yupik_v1.xml
$(LOCAL_PATH)/media/media_profiles_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_vendor.xml
# Lights
PRODUCT_PACKAGES += \
android.hardware.lights-service.berlna
android.hardware.lights-service.xpeng
# NFC
PRODUCT_PACKAGES += \
@ -106,10 +102,10 @@ PRODUCT_COPY_FILES += \
# Sensors
PRODUCT_PACKAGES += \
sensors.berlna
sensors.xpeng
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/sensors/hals.conf:$(TARGET_COPY_OUT_VENDOR)/etc/sensors/hals.conf
# Inherit from vendor blobs
$(call inherit-product, vendor/motorola/berlna/berlna-vendor.mk)
$(call inherit-product, vendor/motorola/xpeng/xpeng-vendor.mk)

View file

@ -1,7 +1,7 @@
#!/bin/bash
#
# Copyright (C) 2016 The CyanogenMod Project
# Copyright (C) 2017-2020 The LineageOS Project
# Copyright (C) 2017-2023 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
@ -14,7 +14,7 @@ fi
set -e
export DEVICE=berlna
export DEVICE=xpeng
export DEVICE_COMMON=sm7325-common
export VENDOR=motorola

View file

@ -1,21 +1,12 @@
//
// Copyright (C) 2017-2018 The LineageOS Project
// Copyright (C) 2017-2023 The LineageOS Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// SPDX-License-Identifier: Apache-2.0
//
// 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.
cc_binary {
name: "android.hardware.biometrics.fingerprint@2.1-service.berlna",
vintf_fragments: ["android.hardware.biometrics.fingerprint@2.1-service.berlna.xml"],
init_rc: ["android.hardware.biometrics.fingerprint@2.1-service.berlna.rc"],
name: "android.hardware.biometrics.fingerprint@2.1-service.xpeng",
vintf_fragments: ["android.hardware.biometrics.fingerprint@2.1-service.xpeng.xml"],
init_rc: ["android.hardware.biometrics.fingerprint@2.1-service.xpeng.rc"],
defaults: ["hidl_defaults"],
relative_install_path: "hw",
srcs: ["service.cpp", "BiometricsFingerprint.cpp"],

View file

@ -1,21 +1,11 @@
/*
* Copyright (C) 2017 The Android Open Source Project
* Copyright (C) 2018-2020 The LineageOS Project
* Copyright (C) 2018-2023 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* 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.
* SPDX-License-Identifier: Apache-2.0
*/
#define LOG_TAG "android.hardware.biometrics.fingerprint@2.1-service.berlna"
#define LOG_TAG "android.hardware.biometrics.fingerprint@2.1-service.xpeng"
#include "BiometricsFingerprint.h"

View file

@ -1,4 +1,4 @@
service vendor.fps_hal /vendor/bin/hw/android.hardware.biometrics.fingerprint@2.1-service.berlna
service vendor.fps_hal /vendor/bin/hw/android.hardware.biometrics.fingerprint@2.1-service.xpeng
interface android.hardware.biometrics.fingerprint@2.1::IBiometricsFingerprint default
oneshot
# "class hal" causes a race condition on some devices due to files created

View file

@ -1,20 +1,10 @@
/*
* Copyright (C) 2017 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* SPDX-License-Identifier: Apache-2.0
*/
#define LOG_TAG "android.hardware.biometrics.fingerprint@2.1-service.berlna"
#define LOG_TAG "android.hardware.biometrics.fingerprint@2.1-service.xpeng"
#include <android/log.h>
#include <hidl/HidlTransportSupport.h>

View file

@ -14,10 +14,10 @@
// limitations under the License.
cc_binary {
name: "android.hardware.lights-service.berlna",
name: "android.hardware.lights-service.xpeng",
relative_install_path: "hw",
init_rc: ["android.hardware.lights.berlna.rc"],
vintf_fragments: ["android.hardware.lights.berlna.xml"],
init_rc: ["android.hardware.lights.xpeng.rc"],
vintf_fragments: ["android.hardware.lights.xpeng.xml"],
vendor: true,
shared_libs: [
"libbase",

View file

@ -15,7 +15,7 @@
* limitations under the License.
*/
#define LOG_TAG "android.hardware.lights-service.berlna"
#define LOG_TAG "android.hardware.lights-service.xpeng"
#include "Lights.h"
#include <android-base/file.h>

View file

@ -1,4 +1,4 @@
service vendor.light /vendor/bin/hw/android.hardware.lights-service.berlna
service vendor.light /vendor/bin/hw/android.hardware.lights-service.xpeng
class hal
user system
group system

View file

@ -1,39 +0,0 @@
#
# Copyright (C) 2022 The LineageOS Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# 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.
#
# Inherit from those products. Most specific first.
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
# Inherit from berlna device
$(call inherit-product, device/motorola/berlna/device.mk)
# Inherit some common Lineage stuff.
$(call inherit-product, vendor/lineage/config/common_full_phone.mk)
PRODUCT_NAME := lineage_berlna
PRODUCT_DEVICE := berlna
PRODUCT_MANUFACTURER := motorola
PRODUCT_BRAND := motorola
PRODUCT_MODEL := motorola edge (2021)
PRODUCT_GMS_CLIENTID_BASE := android-motorola
PRODUCT_BUILD_PROP_OVERRIDES += \
TARGET_PRODUCT=berlna_global \
PRIVATE_BUILD_DESC="berlna_global-user 12 S1RMS32.48-18-11-2-19 5e5bb-394ae release-keys"
BUILD_FINGERPRINT := motorola/berlna_global/berlna:12/S1RMS32M.68-43-16-3/394ae:user/release-keys

29
lineage_xpeng.mk Normal file
View file

@ -0,0 +1,29 @@
#
# Copyright (C) 2022-2023 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
# Inherit from those products. Most specific first.
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
# Inherit from xpeng device
$(call inherit-product, device/motorola/xpeng/device.mk)
# Inherit some common Lineage stuff.
$(call inherit-product, vendor/lineage/config/common_full_phone.mk)
PRODUCT_NAME := lineage_xpeng
PRODUCT_DEVICE := xpeng
PRODUCT_MANUFACTURER := motorola
PRODUCT_BRAND := motorola
PRODUCT_MODEL := moto g200 5G
PRODUCT_GMS_CLIENTID_BASE := android-motorola
PRODUCT_BUILD_PROP_OVERRIDES += \
TARGET_PRODUCT=xpeng_retail \
PRIVATE_BUILD_DESC="xpeng_global-user 12 S1RXS32M.50-13-10 366f1 release-keys"
BUILD_FINGERPRINT := motorola/xpeng_g/xpeng:12/S1RXS32M.50-13-10/366f1:user/release-keys

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -98,9 +98,11 @@ blocklist utags
# Copyright (c) 2019-2020, The Linux Foundation. All rights reserved.
#
# Motorola product module block list
#
blocklist goodix_fod_mmi
blocklist ets_fps_mmi
blocklist camera
blocklist aw8695
blocklist fpc1020_mmi
blocklist rbs_fps_mmi
blocklist watchdogtest
blocklist moto_f_usbnet
blocklist leds_aw99703
blocklist leds_lm3697
#

View file

@ -1,81 +1,81 @@
mt2060.ko
adsp_loader_dlkm.ko
tua9001.ko
mc44s803.ko
fc0012.ko
mbhc_dlkm.ko
mt2063.ko
tx_macro_dlkm.ko
wcd937x_dlkm.ko
tuner-xc2028.ko
q6_notifier_dlkm.ko
xc5000.ko
snd_event_dlkm.ko
r820t.ko
wsa_macro_dlkm.ko
hid-aksys.ko
mt20xx.ko
wcd938x_dlkm.ko
xc4000.ko
tea5767.ko
swr_ctrl_dlkm.ko
tda18250.ko
tda18218.ko
qm1d1b0004.ko
wcd9xxx_dlkm.ko
tuner-simple.ko
fc2580.ko
mxl301rf.ko
msm_drm.ko
q6_dlkm.ko
tea5761.ko
swr_dmic_dlkm.ko
stub_dlkm.ko
rdbg.ko
pinctrl_wcd_dlkm.ko
platform_dlkm.ko
mxl5005s.ko
qt1010.ko
msi001.ko
mxl5007t.ko
llcc_perfmon.ko
wsa883x_dlkm.ko
native_dlkm.ko
qcom_edac.ko
swr_haptics_dlkm.ko
aw882xx_k504.ko
btpower.ko
bolero_cdc_dlkm.ko
hdmi_dlkm.ko
swr_dlkm.ko
bt_fm_slim.ko
q6_pdr_dlkm.ko
rx_macro_dlkm.ko
slimbus-ngd.ko
wcd938x_slave_dlkm.ko
it913x.ko
tda18212.ko
mt2131.ko
tuner-xc2028.ko
apr_dlkm.ko
va_macro_dlkm.ko
m88rs6000t.ko
camera.ko
wcd9xxx_dlkm.ko
si2157.ko
max2165.ko
slimbus.ko
radio-i2c-rtc6226-qca.ko
machine_dlkm.ko
mc44s803.ko
adsp_loader_dlkm.ko
bolero_cdc_dlkm.ko
swr_dmic_dlkm.ko
tuner-types.ko
fc0013.ko
e4000.ko
mt2266.ko
wcd_core_dlkm.ko
pinctrl_lpi_dlkm.ko
qm1d1c0042.ko
wcd937x_dlkm.ko
btpower.ko
llcc_perfmon.ko
hdmi_dlkm.ko
tx_macro_dlkm.ko
tea5761.ko
native_dlkm.ko
radio-i2c-rtc6226-qca.ko
tea5767.ko
q6_dlkm.ko
r820t.ko
wcd937x_slave_dlkm.ko
mbhc_dlkm.ko
bt_fm_slim.ko
camera.ko
q6_notifier_dlkm.ko
mxl5005s.ko
wcd938x_dlkm.ko
m88rs6000t.ko
tda18218.ko
mt2063.ko
rdbg.ko
mt2060.ko
fc0013.ko
xc4000.ko
stub_dlkm.ko
qm1d1c0042.ko
qt1010.ko
tda18250.ko
e4000.ko
it913x.ko
hid-aksys.ko
wsa883x_dlkm.ko
pinctrl_wcd_dlkm.ko
fc0012.ko
max2165.ko
xc5000.ko
aw882xx_k504.ko
swr_dlkm.ko
rx_macro_dlkm.ko
pinctrl_lpi_dlkm.ko
wcd938x_slave_dlkm.ko
wsa_macro_dlkm.ko
machine_dlkm.ko
wcd_core_dlkm.ko
va_macro_dlkm.ko
swr_ctrl_dlkm.ko
tua9001.ko
platform_dlkm.ko
msm_drm.ko
fc0011.ko
qm1d1b0004.ko
tda9887.ko
qca_cld3_qca6750.ko
si2157.ko
swr_haptics_dlkm.ko
msi001.ko
mxl301rf.ko
qcom_edac.ko
snd_event_dlkm.ko
mt2266.ko
mt20xx.ko
tda18212.ko
mxl5007t.ko
slimbus-ngd.ko
mt2131.ko
wlan.ko
rmnet_core.ko
rmnet_ctl.ko
rmnet_offload.ko
@ -90,15 +90,18 @@ bm_adsp_ulog.ko
mmi_charger.ko
qti_glink_charger.ko
qpnp_adaptive_charge.ko
aw8695.ko
mmi_relay.ko
goodix_fod_mmi.ko
ets_fps_mmi.ko
wl2864c.ko
wl2866d.ko
cci_intf.ko
st21nfc.ko
sx937x_sar.ko
moto_f_usbnet.ko
leds_aw99703.ko
leds_lm3697.ko
touchscreen_mmi.ko
nova_0flash_mmi.ko
st21nfc.ko
moto_f_usbnet.ko
sx937x_sar.ko
mmi_sys_temp.ko
aw37501.ko
fpc1020_mmi.ko
goodix_fod_mmi.ko
rbs_fps_mmi.ko

View file

@ -1,9 +1,7 @@
camera.ko
msm_drm.ko
mmi_info.ko
mmi_annotate.ko
sensors_class.ko
mmi_relay.ko
sensors_class.ko
touchscreen_mmi.ko
mmi_annotate.ko
mmi_info.ko
nova_0flash_mmi.ko
aw8695.ko

View file

@ -1,10 +1,12 @@
# All unpinned blobs below are extracted from RETUS - S1RMS32.48-18-11-2-19 5e5bb release-keys.
# All unpinned blobs below are extracted from xpeng_global-user 12 S1RXS32M.50-13-10 366f1 release-keys.
# ACDB Data
vendor/etc/acdbdata/nn_ns_models/candidate__2.7.1.31__3.0.0__eai_1.10_enpu1.pmd
vendor/etc/acdbdata/nn_ns_models/fai__2.0.0_0.1__3.0.0_0.0__eai_1.00.pmd
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_ns_models/fai__2.6.3_0.0__3.0.0_0.0__eai_1.10_enpu1.pmd
vendor/etc/acdbdata/nn_ns_models/fai__2.7.4_0.0__3.0.0_0.0__eai_1.10_enpu1.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
@ -17,22 +19,15 @@ vendor/etc/acdbdata/adsp_avs_config.acdb
# Audio firmware
vendor/firmware/aw882xx_afe_params.bin
vendor/firmware/aw882xx_mono.bin
vendor/firmware/aw882xx_pid_1852_acf.bin
vendor/firmware/aw882xx_pid_2113_acf.bin
vendor/firmware/aw882xx_spk_reg.bin
# Audio libraries
vendor/etc/maxx_conf.ini
vendor/etc/maxx_default.mps
vendor/lib/libAndroidAlgSys.so
vendor/lib/libacdbloader.so
vendor/lib/libc++_shared.so
vendor/lib/libMAM2_3-AlgFX-Coretex_A9.so
vendor/lib64/libacdbloader.so
# Audio - soundfx
vendor/lib/soundfx/libmaxxeffect-cembedded.so
vendor/lib/soundfx/libbc360.so
vendor/lib64/soundfx/libbc360.so
# Camera
vendor/etc/pwr/PowerFeatureConfig.xml
vendor/etc/pwr/VideoPowerOptFeature.xml
@ -53,7 +48,14 @@ vendor/lib/com.qualcomm.mcx.distortionmapper.so
vendor/lib/com.qualcomm.mcx.linearmapper.so
vendor/lib/com.qualcomm.mcx.policy.mfl.so
vendor/lib/com.qualcomm.qti.mcx.usecase.extension.so
vendor/lib/libFace3DTA.so
vendor/lib/libFace3D_hlos.so
vendor/lib/libQ6MSFR_manager_stub.so
vendor/lib/libaidenoiser.so
vendor/lib/libaidenoiserv2.so
vendor/lib/libarcsoft_distortion_correction.so
vendor/lib/libarcsoft_dualcam_refocus_image.so
vendor/lib/libarcsoft_dualcam_refocus_video.so
vendor/lib/libarcsoft_portrait_distortion_correction.so
vendor/lib/libbitmlengine.so
vendor/lib/libbitmlenginev2.so
@ -73,8 +75,15 @@ vendor/lib/libcamxswprocessalgo.so
vendor/lib/libcamxtintlessalgo.so
vendor/lib/libchilog.so
vendor/lib/libcom.qti.chinodeutils.so
vendor/lib/libcvp2_1.so
vendor/lib/libcvp_common.so
vendor/lib/libcvp_util.so
vendor/lib/libcvpcpuRev_skel.so
vendor/lib/libface3d_dev.so
vendor/lib/libipebpsstriping.so
vendor/lib/libipebpsstriping170.so
vendor/lib/libjpege.so
vendor/lib/libmfec.so
vendor/lib/libmmcamera_bestats.so
vendor/lib/libmmcamera_cac3.so
vendor/lib/libmmcamera_faceproc.so
@ -86,14 +95,19 @@ vendor/lib/libmmcamera_pdpc.so
vendor/lib/libmot_afd.so
vendor/lib/libmot_chi_desktop_helper.so
vendor/lib/libmot_engine_settings.so
vendor/lib/libmotext_inf.so
vendor/lib/libmpbase.so
vendor/lib/libofflinedump.so
vendor/lib/libofflinelog.so
vendor/lib/libopencv.so
vendor/lib/libopestriping.so
vendor/lib/libos.so
vendor/lib/libpowercore.so
vendor/lib/libqll10.so
vendor/lib/libqllengine.so
vendor/lib/libswregistrationalgo.so
vendor/lib/libsynx.so
vendor/lib/libtfestriping.so
vendor/lib/libthreadutils.so
vendor/lib/libvideooptfeature.so
vendor/lib/libvideoutils.so
@ -106,6 +120,7 @@ vendor/lib/libvidhance_horizon_correction.so
vendor/lib/libvidhance_stabilizer.so
vendor/lib/libvidhance_zoom_stabilization.so
vendor/lib/vendor.qti.hardware.camera.postproc@1.0-service-impl.so
vendor/lib/vendor.qti.hardware.cvp@1.0.so
vendor/lib64/camera/fdconfigpreview.bin
vendor/lib64/camera/fdconfigpreviewlite.bin
vendor/lib64/camera/fdconfigvideo.bin
@ -123,9 +138,16 @@ vendor/lib64/com.qualcomm.mcx.distortionmapper.so
vendor/lib64/com.qualcomm.mcx.linearmapper.so
vendor/lib64/com.qualcomm.mcx.policy.mfl.so
vendor/lib64/com.qualcomm.qti.mcx.usecase.extension.so
vendor/lib64/libFace3DTA.so
vendor/lib64/libFace3D_hlos.so
vendor/lib64/libQ6MSFR_manager_stub.so
vendor/lib64/libaidenoiser.so
vendor/lib64/libaidenoiserv2.so
vendor/lib64/libarcsoft_distortion_correction.so
vendor/lib64/libarcsoft_dual_sat.so
vendor/lib64/libarcsoft_dual_zoomtranslator.so
vendor/lib64/libarcsoft_dualcam_refocus_image.so
vendor/lib64/libarcsoft_dualcam_refocus_video.so
vendor/lib64/libarcsoft_portrait_distortion_correction.so
vendor/lib64/libbitmlengine.so
vendor/lib64/libbitmlenginev2.so
@ -145,10 +167,17 @@ vendor/lib64/libcamxswprocessalgo.so
vendor/lib64/libcamxtintlessalgo.so
vendor/lib64/libchilog.so
vendor/lib64/libcom.qti.chinodeutils.so
vendor/lib64/libcvp2_1.so
vendor/lib64/libcvp_common.so
vendor/lib64/libcvp_util.so
vendor/lib64/libcvpcpuRev_skel.so
vendor/lib64/libdualcam_optical_zoom_control.so
vendor/lib64/libdualcam_video_optical_zoom.so
vendor/lib64/libface3d_dev.so
vendor/lib64/libipebpsstriping.so
vendor/lib64/libipebpsstriping170.so
vendor/lib64/libjpege.so
vendor/lib64/libmfec.so
vendor/lib64/libmmcamera_bestats.so
vendor/lib64/libmmcamera_cac3.so
vendor/lib64/libmmcamera_faceproc.so
@ -160,14 +189,20 @@ vendor/lib64/libmmcamera_pdpc.so
vendor/lib64/libmot_afd.so
vendor/lib64/libmot_chi_desktop_helper.so
vendor/lib64/libmot_engine_settings.so
vendor/lib64/libmotext_inf.so
vendor/lib64/libmotohid.so
vendor/lib64/libmpbase.so
vendor/lib64/libofflinedump.so
vendor/lib64/libofflinelog.so
vendor/lib64/libopencv.so
vendor/lib64/libopestriping.so
vendor/lib64/libos.so
vendor/lib64/libpowercore.so
vendor/lib64/libqll10.so
vendor/lib64/libqllengine.so
vendor/lib64/libswregistrationalgo.so
vendor/lib64/libsynx.so
vendor/lib64/libtfestriping.so
vendor/lib64/libthreadutils.so
vendor/lib64/libvideooptfeature.so
vendor/lib64/libvidhance.so
@ -179,11 +214,14 @@ vendor/lib64/libvidhance_horizon_correction.so
vendor/lib64/libvidhance_stabilizer.so
vendor/lib64/libvidhance_zoom_stabilization.so
vendor/lib64/vendor.qti.hardware.camera.postproc@1.0-service-impl.so
vendor/lib64/vendor.qti.hardware.cvp@1.0.so
# Camera - Components
vendor/lib/camera/components/com.arcsoft.node.dc_capture.so
vendor/lib/camera/components/com.arcsoft.node.dc_preview.so
vendor/lib/camera/components/com.arcsoft.node.capturebokeh.so
vendor/lib/camera/components/com.arcsoft.node.realtimebokeh.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.dc_preview.so
vendor/lib/camera/components/com.qti.camx.chiiqutils.so
vendor/lib/camera/components/com.qti.eisv2.so
vendor/lib/camera/components/com.qti.eisv3.so
@ -237,10 +275,12 @@ 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.processing.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.dc_preview.so
vendor/lib64/camera/components/com.arcsoft.node.capturebokeh.so
vendor/lib64/camera/components/com.arcsoft.node.realtimebokeh.so
vendor/lib64/camera/components/com.arcsoft.node.smooth_transition.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.dc_preview.so
vendor/lib64/camera/components/com.qti.camx.chiiqutils.so
vendor/lib64/camera/components/com.qti.eisv2.so
vendor/lib64/camera/components/com.qti.eisv3.so
@ -297,14 +337,14 @@ vendor/lib64/camera/components/com.vidhance.stats.aec_dmbr.so
vendor/lib64/camera/components/libdepthmapwrapper_secure.so
# Camera - eeprom
vendor/lib/camera/com.mot.eeprom.mot_gt24p64e_ov32b40_eeprom.so
vendor/lib/camera/com.mot.eeprom.mot_gt24p64b_hi1336_eeprom.so
vendor/lib/camera/com.mot.eeprom.mot_gt24p64b_ov16a1q_eeprom.so
vendor/lib/camera/com.mot.eeprom.mot_gt24p64e_s5khm2_eeprom.so
vendor/lib/camera/com.mot.eeprom.mot_ov02b1b_otp.so
vendor/lib/camera/com.mot.eeprom.mot_s5k4h7_otp.so
vendor/lib64/camera/com.mot.eeprom.mot_gt24p64e_ov32b40_eeprom.so
vendor/lib64/camera/com.mot.eeprom.mot_gt24p64b_hi1336_eeprom.so
vendor/lib64/camera/com.mot.eeprom.mot_gt24p64b_ov16a1q_eeprom.so
vendor/lib64/camera/com.mot.eeprom.mot_gt24p64e_s5khm2_eeprom.so
vendor/lib64/camera/com.mot.eeprom.mot_ov02b1b_otp.so
vendor/lib64/camera/com.mot.eeprom.mot_s5k4h7_otp.so
# Camera - etc
vendor/etc/camera/aec_golden_depth.bin
@ -314,6 +354,7 @@ vendor/etc/camera/dual_golden_depth.bin
vendor/etc/camera/dual_golden_wide.bin
vendor/etc/camera/mot_engine_config.bin
vendor/etc/camera/vidhance_calibration
vendor/etc/camera/vidhance_calibration_2rd
# Camera - feature2
vendor/lib/com.qti.feature2.anchorsync.so
@ -385,36 +426,40 @@ vendor/lib64/motorola.hardware.camera.desktop@1.0.so
vendor/lib64/motorola.hardware.camera.desktop@2.0.so
# Camera - sensor
vendor/lib/camera/com.qti.sensor.mot_hi1336.so
vendor/lib/camera/com.qti.sensor.mot_ov02b1b.so
vendor/lib/camera/com.qti.sensor.mot_ov32b40.so
vendor/lib/camera/com.qti.sensor.mot_s5k4h7.so
vendor/lib/camera/com.qti.sensor.mot_ov16a1q.so
vendor/lib/camera/com.qti.sensor.mot_s5khm2.so
vendor/lib64/camera/com.qti.sensor.mot_hi1336.so
vendor/lib64/camera/com.qti.sensor.mot_ov02b1b.so
vendor/lib64/camera/com.qti.sensor.mot_ov32b40.so
vendor/lib64/camera/com.qti.sensor.mot_s5k4h7.so
vendor/lib64/camera/com.qti.sensor.mot_ov16a1q.so
vendor/lib64/camera/com.qti.sensor.mot_s5khm2.so
# Camera - sensormodule
vendor/lib/camera/com.qti.sensormodule.mot_berlna_ov02b1b_sunwin.bin
vendor/lib/camera/com.qti.sensormodule.mot_berlna_ov32b40_qtech.bin
vendor/lib/camera/com.qti.sensormodule.mot_berlna_s5k4h7_qtech.bin
vendor/lib/camera/com.qti.sensormodule.mot_berlna_s5khm2_qtech.bin
vendor/lib64/camera/com.qti.sensormodule.mot_berlna_ov02b1b_sunwin.bin
vendor/lib64/camera/com.qti.sensormodule.mot_berlna_ov32b40_qtech.bin
vendor/lib64/camera/com.qti.sensormodule.mot_berlna_s5k4h7_qtech.bin
vendor/lib64/camera/com.qti.sensormodule.mot_berlna_s5khm2_qtech.bin
vendor/lib/camera/com.qti.sensormodule.mot_xpeng_hi1336_qtech.bin
vendor/lib/camera/com.qti.sensormodule.mot_xpeng_ov02b1b_sunwin.bin
vendor/lib/camera/com.qti.sensormodule.mot_xpeng_ov16a1q_qtech.bin
vendor/lib/camera/com.qti.sensormodule.mot_xpeng_s5khm2_qtech.bin
vendor/lib/camera/com.qti.sensormodule.mot_xpeng_s5khm2sd03_qtech.bin
vendor/lib64/camera/com.qti.sensormodule.mot_xpeng_hi1336_qtech.bin
vendor/lib64/camera/com.qti.sensormodule.mot_xpeng_ov02b1b_sunwin.bin
vendor/lib64/camera/com.qti.sensormodule.mot_xpeng_ov16a1q_qtech.bin
vendor/lib64/camera/com.qti.sensormodule.mot_xpeng_s5khm2_qtech.bin
vendor/lib64/camera/com.qti.sensormodule.mot_xpeng_s5khm2sd03_qtech.bin
# Camera - tuned
vendor/lib/camera/com.qti.tuned.default.bin
vendor/lib/camera/com.qti.tuned.mot_berlna_ov02b1b.bin
vendor/lib/camera/com.qti.tuned.mot_berlna_ov32b40.bin
vendor/lib/camera/com.qti.tuned.mot_berlna_s5k4h7.bin
vendor/lib/camera/com.qti.tuned.mot_berlna_s5khm2.bin
vendor/lib/camera/com.qti.tuned.mot_xpeng_hi1336.bin
vendor/lib/camera/com.qti.tuned.mot_xpeng_ov02b1b.bin
vendor/lib/camera/com.qti.tuned.mot_xpeng_ov16a1q.bin
vendor/lib/camera/com.qti.tuned.mot_xpeng_s5khm2.bin
vendor/lib/camera/com.qti.tuned.mot_xpeng_s5khm2sd03.bin
vendor/lib64/camera/com.qti.tuned.default.bin
vendor/lib64/camera/com.qti.tuned.mot_berlna_ov02b1b.bin
vendor/lib64/camera/com.qti.tuned.mot_berlna_ov32b40.bin
vendor/lib64/camera/com.qti.tuned.mot_berlna_s5k4h7.bin
vendor/lib64/camera/com.qti.tuned.mot_berlna_s5khm2.bin
vendor/lib64/camera/com.qti.tuned.mot_xpeng_hi1336.bin
vendor/lib64/camera/com.qti.tuned.mot_xpeng_ov02b1b.bin
vendor/lib64/camera/com.qti.tuned.mot_xpeng_ov16a1q.bin
vendor/lib64/camera/com.qti.tuned.mot_xpeng_s5khm2.bin
vendor/lib64/camera/com.qti.tuned.mot_xpeng_s5khm2sd03.bin
# Display calibration data
vendor/etc/qdcm_calib_data_mipi_mot_vid_tianma_1080p_dsc_678.xml
@ -423,6 +468,7 @@ vendor/etc/qdcm_calib_data_nt36672e_fhd_plus_120Hz_Video_panel.xml
vendor/etc/qdcm_calib_data_nt36672e_fhd_plus_144Hz_video_panel.xml
# Fingerprint (goodix)
vendor/bin/hw/goodix_ident
vendor/lib64/hw/fingerprint.goodix.default.so
vendor/lib64/libgf_ca.so
vendor/lib64/libgf_hal.so
@ -432,82 +478,16 @@ vendor/lib64/vendor.goodix.hardware.biometrics.fingerprint@3.0.so
# Fingerprint (egistec)
vendor/bin/hw/android.hardware.biometrics.fingerprint@2.1-service-ets
vendor/etc/init/android.hardware.biometrics.fingerprint@2.1-service-ets2.rc
vendor/etc/init/init.ets.rc
vendor/lib64/libets_fp_et5.so
vendor/lib64/libets_teeclient.so
vendor/lib64/vendor.egistec.hardware.fingerprint@2.0.so
vendor/bin/hw/egis_ident
vendor/lib64/libRbsFlow.so
vendor/lib64/libets_teeclient_v2.so
vendor/lib64/vendor.egistec.hardware.fingerprint@4.0.so
# MotCamera3
product/app/MotCamera3AI/MotCamera3AI.apk;PRESIGNED
product/priv-app/MotCamera3/MotCamera3.apk;OVERRIDES=Aperture|fe46dccdccfd08bc416fabc97662df3c15440aa6
system_ext/etc/public.libraries-motocamera.txt
system_ext/framework/com.motorola.androidx.camera.extensions.jar
system_ext/lib/libmcf_native_window_helper.motocamera.so
system_ext/lib64/libmcf_native_window_helper.motocamera.so
# MotCamera3 - Permissions
product/etc/permissions/com.motorola.camera3.xml
product/etc/permissions/deviceowner-configuration-com.motorola.camera3.xml
product/etc/permissions/privapp-permissions-com.motorola.camera3.xml
product/etc/sysconfig/hiddenapi-whitelist-com.motorola.camera3.xml
system_ext/etc/permissions/com.motorola.androidx.camera.extensions.xml
# MotCamera3 - libs
product/lib64/libarcsoft_dualcam_refocus.so|cde6916a8b3c443e332c23e14229860a0e37aef0
product/lib64/libarcsoft_frc.so|dab92e6bd066b44bb557f24c9cb2c587df2aab46
product/lib64/libarcsoft_hdr_scbokeh_image.so|88391745e78f0234aa2514615ee8b3d76454d7e0
product/lib64/libarcsoft_high_dynamic_range.so|a9e2790263c6ed369b643a363ab0ecf135002453
product/lib64/libarcsoft_multiframe_bokeh_image.so|fcbb9c2f98b81f9462fa64ca8a79debcc64ac862
product/lib64/libarcsoft_scbokeh_Generic.so|a79fe0b8febdb9b920782c15b345182251b7214d
product/lib64/libarcsoft_supernight.so|b5740dc9e0dceae9bdb89f3cc3b100222dc4bc4f
product/lib64/libarcsoft_superportrait.so|428f537e4995d8ef6138f118159b319c9cc8e918
product/lib64/libas-super-slow-motion.so|1a822eb3a844d387f751fc60136c919f1d5289d0
product/lib64/libbarhopper_v3.so|01401953109a122c281f7e625cd6099433b34bb7
product/lib64/libbg-postproc-jni.so|2de65eaabd096ec5e0eac2dfb92158fe9878682c
product/lib64/libcamerax_extension_jni.so|484258aae91d462443bfc1627568522fc49a806c
product/lib64/libc++_shared.so|52beb16998338f6406e30a33b3066cd6cd457074
product/lib64/libc++.so|e8707820517ab7713b8ca6ac4462361e00629c26
product/lib64/libdoc-util.so|5cae17df39eed003f3b751b6ef3e1330faa0cea1
product/lib64/libdynamic_depth.so|515f03132a086f15c565dd89b192ede5eeca7e29
product/lib64/libfn-beauty-vfb-base.so|2116a9a2f2ff5e49e575e00985c3e18d295cdfbc
product/lib64/libFNVfbEngineHAL.so|a7365d9e7d728df8d4ad6ecfba07961fcf924d75
product/lib64/libfoundation.so|ffb388c6c8876cebf4614a0e5ae31c482803dd91
product/lib64/libgg-dynamic_depth.so|ae152e43f07bbd2b037d15b95d20c95451bfe5af
product/lib64/libgg-tensorflow-lite.so|08df2fdef345d48f8fecc5edc75c5e2bbb36bc08
product/lib64/libgif.so|310d708f0c9b60c065514c1e3f1534c8ba347c7d
product/lib64/libjpeg.so|a51f6dde2a6d7eb11378a2575a5e6bf625a15bbb
product/lib64/liblenovo_panorama.so|31cc6042e0cdd661fa9ccd6472058d90dfde00d8
product/lib64/libmcf-base.so|1dc98db1c8b7226bed72ec129fb5c3efa34f501f
product/lib64/libmcf-jni.so|991cb458d1a5ff8a43d83f7c5853dffee53e3da2
product/lib64/libmcf-qc-fd-offline_local.so|99d2dbab152e22d6ae3d552cee3a172fc886ba24
product/lib64/libmcf-stand-alone-sm.so|10a451062fa05ac259460f67dc7e06e50027372f
product/lib64/libmmcamera_faceproc2.so|1c732d58bf24c939f568cda340318e5b873dce3b
product/lib64/libmorpho_cinema_graph.so|c689a3734f6963b6ad4be3a9ddfae00c1c82acb0
product/lib64/libmorpho_panorama_gp3.so|b8ef93fa1b2bcc7f3166bfe8783d650182299935
product/lib64/libmorpho_sensor_fusion.so|eee6c344fc928d2c20a5e7a139d88d7cdbac7a73
product/lib64/libmot-cinemagraph-engine.so|00bc323a7cc11d485ab1dc85403669b5b4313f8b
product/lib64/libmot-util.so|77ead032fb208a404da0072320ce399a16984ac2
product/lib64/libmpbase.so|07021c39abbc5c8538f6df1876a3eb3015ff9c2a
product/lib64/libqc-snpe.so|3080e7127cf3fb3efc5e5da1ebe9715923d257e2
product/lib64/libsmart_ppt.so|bc562289e07bb64095effd8ed473d822272b53b9
product/lib64/libsmudge_detect.so|915e44b5013096b846b87c539d92200a0b048d23
product/lib64/libSNPE.so|ddcec410b42f85808bb8b0d8359c7a6490a934de
product/lib64/libSuperSensorCPU_v05052021.so|22378fd888fc13dac8f46a250f101dbcdb6d44bc
product/lib64/libSuperSensorProcessorCWrapper_v2.so|7e66994ee9b8c7d637afb58e0e341e5c94cf23a2
product/lib64/libSuperSensorProcessor_v05052021.so|2c9204b230bddd089070e5b9238c85b9fe6d94f8
product/lib64/libSuperSensor_v05052021.so|dfbfc247087c8f9dfc86401918c8026b06eaf4a5
product/lib64/libtensorflowlite_gpu_delegate.so|821bcbece27d47c49daac00a65fdf48213befad1
product/lib64/libtensorflowlite.so|17f94dc427220788db8f10d658d3a330488ac7d6
# Moto Permissions
product/etc/permissions/com.motorola.camera3.berlna.xml:vendor/etc/permissions/com.motorola.camera3.berlna.xml
product/etc/permissions/com.motorola.camera3.content.ai.xml:vendor/etc/permissions/com.motorola.camera3.content.ai.xml
product/etc/permissions/com.motorola.camera3.lens.xml:vendor/etc/permissions/com.motorola.camera3.lens.xml
product/etc/permissions/com.motorola.camera3.xml:vendor/etc/permissions/com.motorola.camera3.xml
product/etc/permissions/com.motorola.moto-uirefresh.xml
product/etc/permissions/com.motorola.motodisplay.xml
product/etc/permissions/privapp-permissions-com.motorola.motodisplay.xml
system_ext/etc/permissions/com.motorola.androidx.camera.extensions.xml:vendor/etc/permissions/com.motorola.androidx.camera.extensions.xml
# Fingerprint (fpc)
vendor/bin/hw/android.hardware.biometrics.fingerprint@2.1-service-fpc
vendor/etc/init/android.hardware.biometrics.fingerprint@2.1-service-fpc2.rc
vendor/bin/hw/fpc_ident
vendor/lib64/vendor.qti.hardware.fingerprint@1.0.so
# NFC
vendor/bin/STFlashTool
@ -530,20 +510,24 @@ vendor/lib64/sensors.moto.so
vendor/lib64/sensors.ssc.so
# Sensor - configs
vendor/etc/sensors/config/ak991x_0.json
vendor/etc/sensors/config/bmp5_0.json
vendor/etc/sensors/config/icm4x6xx.json
vendor/etc/sensors/config/icp101xx.json
vendor/etc/sensors/config/icp201xx_0.json
vendor/etc/sensors/config/kodiak_default_sensors.json
vendor/etc/sensors/config/kodiak_dynamic_sensors.json
vendor/etc/sensors/config/kodiak_irq.json
vendor/etc/sensors/config/kodiak_power_0.json
vendor/etc/sensors/config/lps22hh_0.json
vendor/etc/sensors/config/lsm6dso_0.json
vendor/etc/sensors/config/mmc5603x_0.json
vendor/etc/sensors/config/lahaina_ak991x_0.json
vendor/etc/sensors/config/lahaina_default_sensors.json
vendor/etc/sensors/config/lahaina_dynamic_sensors.json
vendor/etc/sensors/config/lahaina_icm4x6xa_0.json
vendor/etc/sensors/config/lahaina_irq.json
vendor/etc/sensors/config/lahaina_lsm6dso.json
vendor/etc/sensors/config/lahaina_mmc56x3x.json
vendor/etc/sensors/config/lahaina_power_0.json
vendor/etc/sensors/config/lahaina_stk3a5x_0.json
vendor/etc/sensors/config/mot_camgest.json
vendor/etc/sensors/config/mot_chopchop.json
vendor/etc/sensors/config/mot_chopchop_closed.json
vendor/etc/sensors/config/mot_devorient.json
vendor/etc/sensors/config/mot_ftm.json
vendor/etc/sensors/config/mot_gpio_flip.json
vendor/etc/sensors/config/mot_ltv.json
vendor/etc/sensors/config/mot_offbody.json
vendor/etc/sensors/config/mot_tap.json
vendor/etc/sensors/config/sns_amd.json
vendor/etc/sensors/config/sns_amd_sw_disabled.json
vendor/etc/sensors/config/sns_amd_sw_enabled.json
@ -578,7 +562,6 @@ vendor/etc/sensors/config/sns_tilt_sw_disabled.json
vendor/etc/sensors/config/sns_tilt_sw_enabled.json
vendor/etc/sensors/config/sns_tilt_to_wake.json
vendor/etc/sensors/config/sns_wrist_pedo.json
vendor/etc/sensors/config/stk3a5x_0.json
vendor/etc/sensors/proto/als_mastercal.proto
vendor/etc/sensors/proto/descriptor.proto
vendor/etc/sensors/proto/mot_barocal.proto
@ -670,68 +653,13 @@ 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/hals.conf
vendor/etc/sensors/sns_reg_config
# Thermal engine - configs
vendor/etc/thermal-engine-berlna.conf
vendor/etc/thermal-engine-xpeng.conf
vendor/etc/thermal-engine.conf
# Touchscreen firmware
vendor/firmware/mp-novatek_ts-NT36675-21061805-603a-berlna.bin
vendor/firmware/novatek_ts-NT36675-21042101-603a-berlna-evt.bin
vendor/firmware/novatek_ts-NT36675-21061805-603a-berlna.bin
vendor/firmware/NT36xxx_MP_Setting_Criteria_603A.csv
# Vibrator firmware
vendor/firmware/aw8695_haptic.bin
vendor/firmware/aw8695_rtp.bin
vendor/firmware/aw8695_rtp_Argo_Navis.bin
vendor/firmware/aw8695_rtp_Attentive.bin
vendor/firmware/aw8695_rtp_Awake.bin
vendor/firmware/aw8695_rtp_Bird_Loop.bin
vendor/firmware/aw8695_rtp_Brilliant_Times.bin
vendor/firmware/aw8695_rtp_Chimey_Phone.bin
vendor/firmware/aw8695_rtp_City_Lights.bin
vendor/firmware/aw8695_rtp_Complex.bin
vendor/firmware/aw8695_rtp_Crazy_Dream.bin
vendor/firmware/aw8695_rtp_Curve_Ball_Blend.bin
vendor/firmware/aw8695_rtp_Digital_Phone.bin
vendor/firmware/aw8695_rtp_Electrovision.bin
vendor/firmware/aw8695_rtp_Ether_Shake.bin
vendor/firmware/aw8695_rtp_Fateful_Words.bin
vendor/firmware/aw8695_rtp_Firefly.bin
vendor/firmware/aw8695_rtp_Flutey_Phone.bin
vendor/firmware/aw8695_rtp_Future_Funk.bin
vendor/firmware/aw8695_rtp_Future_Hi_Tech.bin
vendor/firmware/aw8695_rtp_Girtab.bin
vendor/firmware/aw8695_rtp_Hello.bin
vendor/firmware/aw8695_rtp_Hexagon.bin
vendor/firmware/aw8695_rtp_Hydra.bin
vendor/firmware/aw8695_rtp_Insert_Coin.bin
vendor/firmware/aw8695_rtp_Jumping_Dots.bin
vendor/firmware/aw8695_rtp_Keys.bin
vendor/firmware/aw8695_rtp_Loopy.bin
vendor/firmware/aw8695_rtp_Loopy_Lounge.bin
vendor/firmware/aw8695_rtp_Modular.bin
vendor/firmware/aw8695_rtp_Momentum.bin
vendor/firmware/aw8695_rtp_Morning.bin
vendor/firmware/aw8695_rtp_Moto.bin
vendor/firmware/aw8695_rtp_Natural.bin
vendor/firmware/aw8695_rtp_New_Player.bin
vendor/firmware/aw8695_rtp_Now_or_Never.bin
vendor/firmware/aw8695_rtp_Onward.bin
vendor/firmware/aw8695_rtp_Organ_Dub.bin
vendor/firmware/aw8695_rtp_Overclocked.bin
vendor/firmware/aw8695_rtp_Pegasus.bin
vendor/firmware/aw8695_rtp_Play.bin
vendor/firmware/aw8695_rtp_Pyxis.bin
vendor/firmware/aw8695_rtp_Regrade.bin
vendor/firmware/aw8695_rtp_Scarabaeus.bin
vendor/firmware/aw8695_rtp_Sceptrum.bin
vendor/firmware/aw8695_rtp_Simple.bin
vendor/firmware/aw8695_rtp_Solarium.bin
vendor/firmware/aw8695_rtp_Sparse.bin
vendor/firmware/aw8695_rtp_Terrabytes.bin
vendor/firmware/aw8695_rtp_Verizon_Airwaves.bin
vendor/firmware/aw8695_rtp_Zero_Hour.bin
vendor/firmware/NT36xxx_MP_Setting_Criteria_6044.csv
vendor/firmware/mp_novatek_ts-NT36675-21101302-6044-xpeng.bin
vendor/firmware/novatek_ts-NT36675-21101302-6044-xpeng.bin

View file

@ -3,10 +3,10 @@ LOCAL_PATH := $(call my-dir)
# Recovery-Stuffs
include $(CLEAR_VARS)
LOCAL_MODULE := init.recovery.berlna.rc
LOCAL_MODULE := init.recovery.xpeng.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.recovery.berlna.rc
LOCAL_SRC_FILES := etc/init.recovery.xpeng.rc
LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/
include $(BUILD_PREBUILT)

View file

@ -38,7 +38,7 @@ load_touch()
cd $firmware_path
case $panel_supplier in
tianma)
firmware_file="novatek_ts-NT36675-21061805-603a-berlna.bin"
firmware_file="novatek_ts-NT36675-21101302-6044-xpeng.bin"
;;
esac
echo "Firmware file for upgrade $firmware_file"

View file

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

View file

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

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2022 The LineageOS Project
Copyright (C) 2022-2023 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
@ -24,16 +24,31 @@
backlight values for LUX levels between these control points.
Must be overridden in platform specific overlays -->
<integer-array name="config_autoBrightnessLevels">
<array name="config_autoBrightnessLevels">
<item>1</item>
<item>2</item>
<item>5</item>
<item>10</item>
<item>40</item>
<item>29</item>
<item>50</item>
<item>90</item>
<item>100</item>
<item>325</item>
<item>1250</item>
<item>3500</item>
<item>5500</item>
</integer-array>
<item>150</item>
<item>200</item>
<item>300</item>
<item>400</item>
<item>500</item>
<item>800</item>
<item>1000</item>
<item>1300</item>
<item>1500</item>
<item>1600</item>
<item>1800</item>
<item>2000</item>
<item>3000</item>
<item>4000</item>
<item>8000</item>
</array>
<!-- Array of desired screen brightness in nits corresponding to the lux values
in the config_autoBrightnessLevels array. As with config_screenBrightnessMinimumNits and
@ -49,33 +64,58 @@
array. The brightness values must be non-negative and non-decreasing. This must be
overridden in platform specific overlays -->
<array name="config_autoBrightnessDisplayValuesNits">
<item>5</item>
<item>12</item>
<item>24</item>
<item>95</item>
<item>111</item>
<item>149</item>
<item>192</item>
<item>252</item>
<item>500</item>
<item>2</item>
<item>10</item>
<item>20</item>
<item>50</item>
<item>70</item>
<item>85</item>
<item>110</item>
<item>130</item>
<item>150</item>
<item>180</item>
<item>180</item>
<item>180</item>
<item>180</item>
<item>225</item>
<item>270</item>
<item>300</item>
<item>315</item>
<item>330</item>
<item>350</item>
<item>380</item>
<item>420</item>
<item>450</item>
<item>450</item>
<item>450</item>
</array>
<!-- An array describing the screen's backlight values corresponding to the brightness
values in the config_screenBrightnessNits array.
This array should be equal in size to config_screenBrightnessBacklight. -->
<integer-array name="config_screenBrightnessBacklight">
<array name="config_screenBrightnessBacklight">
<item>0</item>
<item>4</item>
<item>7</item>
<item>13</item>
<item>51</item>
<item>59</item>
<item>82</item>
<item>1</item>
<item>6</item>
<item>11</item>
<item>28</item>
<item>40</item>
<item>48</item>
<item>62</item>
<item>74</item>
<item>85</item>
<item>102</item>
<item>138</item>
<item>128</item>
<item>153</item>
<item>170</item>
<item>179</item>
<item>187</item>
<item>198</item>
<item>215</item>
<item>238</item>
<item>255</item>
</integer-array>
</array>
<!-- An array of floats describing the screen brightness in nits corresponding to the backlight
values in the config_screenBrightnessBacklight array. On OLED displays these values
@ -86,15 +126,25 @@
This array should be equal in size to config_screenBrightnessBacklight -->
<array name="config_screenBrightnessNits">
<item>0</item>
<item>5</item>
<item>12</item>
<item>24</item>
<item>95</item>
<item>111</item>
<item>149</item>
<item>192</item>
<item>252</item>
<item>500</item>
<item>2</item>
<item>10</item>
<item>20</item>
<item>50</item>
<item>70</item>
<item>85</item>
<item>110</item>
<item>130</item>
<item>150</item>
<item>180</item>
<item>225</item>
<item>270</item>
<item>300</item>
<item>315</item>
<item>330</item>
<item>350</item>
<item>380</item>
<item>420</item>
<item>450</item>
</array>
<!-- Stability requirements in milliseconds for accepting a new brightness level. This is used
@ -194,44 +244,44 @@
<!-- Screen brightness used to dim the screen when the user activity
timeout expires. May be less than the minimum allowed brightness setting
that can be set by the user. -->
<integer name="config_screenBrightnessDim">4</integer>
<integer name="config_screenBrightnessDim">2</integer>
<!-- Minimum screen brightness setting allowed by the power manager.
The user is forbidden from setting the brightness below this level. -->
<integer name="config_screenBrightnessSettingMinimum">2</integer>
<!-- Vibrator pattern for feedback about a long screen/key press -->
<integer-array name="config_longPressVibePattern">
<array name="config_longPressVibePattern">
<item>0</item>
<item>67</item>
</integer-array>
</array>
<!-- Vibrator pattern for feedback about touching a virtual key -->
<integer-array name="config_virtualKeyVibePattern">
<array name="config_virtualKeyVibePattern">
<item>0</item>
<item>67</item>
</integer-array>
</array>
<!-- Vibrator pattern for a very short but reliable vibration for soft keyboard tap -->
<integer-array name="config_keyboardTapVibePattern">
<array name="config_keyboardTapVibePattern">
<item>0</item>
<item>30</item>
</integer-array>
</array>
<!-- Vibrator pattern for feedback about booting with safe mode enabled -->
<integer-array name="config_safeModeEnabledVibePattern">
<array name="config_safeModeEnabledVibePattern">
<item>0</item>
<item>0</item>
<item>94</item>
</integer-array>
</array>
<!-- Vibrator pattern for feedback about hitting a scroll barrier -->
<integer-array name="config_scrollBarrierVibePattern">
<array name="config_scrollBarrierVibePattern">
<item>0</item>
<item>15</item>
<item>30</item>
<item>15</item>
</integer-array>
</array>
<!-- ComponentName of a dream to show whenever the system would otherwise have
gone to sleep. When the PowerManager is asked to go to sleep, it will instead
@ -247,15 +297,6 @@
turned off and the screen off animation has been performed. -->
<bool name="config_dozeAfterScreenOffByDefault">true</bool>
<!-- Whether the always on display mode is available. This should only be enabled
on devices where the display has been tuned to be power efficient in DOZE and/or
DOZE_SUSPEND states. -->
<bool name="config_dozeAlwaysOnDisplayAvailable">true</bool>
<!-- Control whether the always on display mode is enabled by default. This value will be used
during initialization when the setting is still null. -->
<bool name="config_dozeAlwaysOnEnabled">false</bool>
<!-- An array of arrays of side fingerprint sensor properties relative to each display.
Note: this value is temporary and is expected to be queried directly
from the HAL in the future. -->
@ -290,7 +331,7 @@
<integer name="config_defaultPeakRefreshRate">120</integer>
<!-- MMS user agent string -->
<string name="config_mms_user_agent" translatable="false">motorolaedge</string>
<string name="config_mms_user_agent" translatable="false">motorolag2005G</string>
<!-- MMS user agent profile url -->
<string name="config_mms_user_agent_profile_url" translatable="false">http://uaprof.motorola.com/phoneconfig/motov1/Profile/motov1.rdf</string>

View file

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2022 The LineageOS Project
Copyright (C) 2022-2023 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- Radius of the software rounded corners. -->
<dimen name="rounded_corner_radius">72px</dimen>
<dimen name="rounded_corner_radius">85.0px</dimen>
<!-- Height of the status bar in portrait. The height should be
Max((status bar content height + waterfall top size), top cutout size) -->

View file

@ -1,9 +1,9 @@
//
// Copyright (C) 2022 The LineageOS Project
// Copyright (C) 2022-2023 The LineageOS Project
// SPDX-License-Identifier: Apache-2.0
//
runtime_resource_overlay {
name: "LineageSystemUIBerlna",
name: "LineageSystemUIXpeng",
vendor: true,
}

View file

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2022 The LineageOS Project
Copyright (C) 2022-2023 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.systemui.berlna.lineage">
package="com.android.systemui.xpeng.lineage">
<overlay
android:isStatic="true"

View file

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

View file

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

View file

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2022 The LineageOS Project
Copyright (C) 2022-2023 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- Default for Settings.Global.DEVICE_NAME $1=MODEL-->
<string name="def_device_name_simple">motorola edge (2021)</string>
<string name="def_device_name_simple">Motorola g200 5G</string>
</resources>

View file

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

View file

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

View file

@ -8,9 +8,9 @@
<dimen name="status_bar_padding_start">24dp</dimen>
<!-- the padding on the top of the statusbar (usually 0) -->
<dimen name="status_bar_padding_top">10px</dimen>
<dimen name="status_bar_padding_top">19.0px</dimen>
<dimen name="rounded_corner_content_padding">6px</dimen>
<dimen name="rounded_corner_content_padding">5.0px</dimen>
<!-- Height of the status bar header bar when on Keyguard -->
<dimen name="status_bar_header_height_keyguard">@*android:dimen/status_bar_height</dimen>
@ -18,7 +18,7 @@
<!-- Margin on the left side of the carrier text on Keyguard -->
<dimen name="keyguard_carrier_text_margin">@dimen/status_bar_padding_start</dimen>
<dimen name="system_icons_keyguard_padding_end">10.0px</dimen>
<dimen name="system_icons_keyguard_padding_end">9.0px</dimen>
<!-- Location on the screen of the center of the physical power button. -->
<dimen name="physical_power_button_center_screen_location_y">810px</dimen>

View file

@ -1,89 +0,0 @@
#!/vendor/bin/sh
#
# Identify fingerprint sensor model
#
# Copyright (c) 2019 Lenovo
# All rights reserved.
#
# Changed Log:
# ---------------------------------
# April 15, 2019 chengql2@lenovo.com Initial version
# April 28, 2019 chengql2 Add fps_id creating step
# December 2, 2019 chengql2 Store fps_id into persist fs, and identify sensor
# again when secure unit boots as factory mode.
script_name=${0##*/}
script_name=${script_name%.*}
function log {
echo "$script_name: $*" > /dev/kmsg
}
persist_fps_id=/mnt/vendor/persist/fps/vendor_id
FPS_VENDOR_GOODIX=goodix
FPS_VENDOR_EGIS=egis
FPS_VENDOR_NONE=none
function is_file_ready {
if [ "$(ls $1)" != "" ]; then
return 0
fi
log "$0 - wait for $1 ..."
for i in $(seq 1 100); do
if [ "$(ls $1)" == "" ]; then
continue
fi
return 0
done
log "$0 - timeout"
return 1
}
function ident_fps {
log "- install Goodix FPS kernel module"
insmod /vendor/lib/modules/goodix_fod_mmi.ko
log "- identify Goodix fingerprint sensor"
is_file_ready /dev/goodix_fp
is_file_ready /vendor/firmware_mnt/image/goodixfp.mdt
/vendor/bin/hw/goodix_ident
if [ $? -eq 0 ]; then
log "ok"
echo $FPS_VENDOR_GOODIX > $persist_fps_id
return 0
fi
log "- uninstall Goodix FPS kernel module"
rmmod goodix_fod_mmi
log "- install Egis FPS kernel module"
insmod /vendor/lib/modules/ets_fps_mmi.ko
echo $FPS_VENDOR_EGIS > $persist_fps_id
return 0
}
if [ ! -f $persist_fps_id ]; then
ident_fps
return $?
fi
fps_vendor=$(cat $persist_fps_id)
if [ -z $fps_vendor ]; then
fps_vendor=$FPS_VENDOR_NONE
fi
log "FPS vendor: $fps_vendor"
if [ $fps_vendor == $FPS_VENDOR_EGIS ]; then
log "- install EgisTech FPS kernel module"
insmod /vendor/lib/modules/ets_fps_mmi.ko
return $?
fi
if [ $fps_vendor == $FPS_VENDOR_GOODIX ]; then
log "- install Goodix FPS kernel module"
insmod /vendor/lib/modules/goodix_fod_mmi.ko
return $?
fi
ident_fps
return $?

View file

@ -7,103 +7,172 @@
#
# April 15, 2019 chengql2@lenovo.com Initial version
# December 2, 2019 chengql2 Store fps_id into persist fs
# November 19, 2020 zengzm refactor the code, support more than 3 fingerprint sensors; support config.
# get the filename, contains the file postfix
script_name=${0##*/}
# remove the file postfix
script_name=${script_name%.*}
function log {
echo "$script_name: $*" > /dev/kmsg
}
persist_fps_id=/mnt/vendor/persist/fps/vendor_id
persist_fps_id2=/mnt/vendor/persist/fps/last_vendor_id
MAX_TIMES=20
PROP_GKI_PATH=ro.vendor.mot.gki.path
GKI_PATH=$(getprop $PROP_GKI_PATH)
if [ ! -f $persist_fps_id ]; then
log "warn: no associated persist file found"
return -1
# for new projects, only need to config varible vendor_list,kernel_so_list,kernel_so_name_list,hal_list
# vendor_list: the array contains the sensor name, it will be used for system properties.
# kernel_so_list: the array contains the kernel so's absolute path. It will be used at insmod.
# kernel_so_name_list: the array contains the kernel so's name. It will be used at rmmod.
# hal_list: the array contains the hal service name.
#
# note: all arrays should have the same size.
vendor_list=('egis' 'fpc' 'goodix')
kernel_so_list=("/vendor/lib/modules/$GKI_PATH/rbs_fps_mmi.ko" "/vendor/lib/modules/$GKI_PATH/fpc1020_mmi.ko" "/vendor/lib/modules/$GKI_PATH/goodix_fod_mmi.ko")
kernel_so_name_list=("rbs_fps_mmi.ko" "fpc1020_mmi.ko" "goodix_fod_mmi.ko")
hal_list=('ets_hal' 'fps_hal' 'vendor.fps_hal')
last_vendor_index=`expr ${#vendor_list[@]} - 1`
vendor_list_size=${#vendor_list[@]}
if [ $vendor_list_size != ${#kernel_so_list[@]} ]; then
log "error, vendor_list.size is not equal to kernel_so_list"
return 255
fi
FPS_VENDOR_NONE=none
FPS_VENDOR_EGIS=egis
FPS_VENDOR_GOODIX=goodix
if [ $vendor_list_size != ${#kernel_so_name_list[@]} ]; then
log "error, vendor_list.size is not equal to kernel_so_name_list"
return 255
fi
if [ $vendor_list_size != ${#hal_list[@]} ]; then
log "error, vendor_list.size is not equal to hal_list"
return 255
fi
# At the current boot, what is the fingerprint sensor
persist_fps_id=/mnt/vendor/persist/fps/vendor_id
# what is the fingerprint sensor successfully installed before.
persist_fps_id2=/mnt/vendor/persist/fps/last_vendor_id
FPS_VENDOR_NONE=none
MAX_TIMES=20
# this property store FPS_STATUS_NONE or FPS_STATUS_OK
# after start fingerprint hal service, the hal service will set this property.
prop_fps_status=vendor.hw.fingerprint.status
# use this to trigger init.mmi.rc
prop_fps_ident=vendor.hw.fps.ident
# if $prop_fps_status=$FPS_STATUS_OK, then will set prop_persist_fps to the specific vendor name.
prop_persist_fps=persist.vendor.hardware.fingerprint
FPS_STATUS_NONE=none
FPS_STATUS_OK=ok
function find_vendor_index() {
# param1: the specific vendor name
# return: the vendor index in vendor_list. the valid index is from 0; if not found,return 255
for temp_vendor_index in $(seq 0 $last_vendor_index)
do
if [ "${vendor_list[temp_vendor_index]}" = "$1" ]; then
return $temp_vendor_index
fi
done
return 255
}
function start_hal_service(){
# param1: the vendor index
# return: 0 means success, will setprop $prop_persist_fps
setprop $prop_fps_status $FPS_STATUS_NONE
setprop $prop_fps_ident $FPS_STATUS_NONE
insmod ${kernel_so_list[$1]}
sleep 1
setprop $prop_fps_ident ${vendor_list[$1]}
log "start ${hal_list[$1]}"
start ${hal_list[$1]}
for ii in $(seq 1 $MAX_TIMES)
do
sleep 0.1
fps_status=$(getprop $prop_fps_status)
# log "check fps vendor status: $fps_status"
if [ $fps_status != $FPS_STATUS_NONE ]; then
break
fi
done
log "fingerprint HAL status: $fps_status"
if [ $fps_status == $FPS_STATUS_OK ]; then
log "start ${hal_list[$1]} hal success"
setprop $prop_persist_fps ${vendor_list[$1]}
return 0
fi
log "start ${hal_list[$1]} hal failed, remove kernel so: ${kernel_so_name_list[$1]} "
setprop ctl.stop ${hal_list[$1]}
rmmod ${kernel_so_name_list[$1]}
sleep 0.1
# if failed,return 255
return 255
}
# set last fingerprint sensor
fps_vendor=$(cat $persist_fps_id)
if [ -n "$fps_vendor" ] && [ "$fps_vendor" != $FPS_STATUS_NONE ]; then
echo $fps_vendor > $persist_fps_id2
fi
# get the identified fingerprint sensor
fps_vendor2=$(cat $persist_fps_id2)
if [ -z $fps_vendor2 ]; then
fps_vendor2=$FPS_VENDOR_NONE
fi
log "FPS vendor (last): $fps_vendor2"
fps_vendor=$(cat $persist_fps_id)
if [ -z $fps_vendor ]; then
fps_vendor=$FPS_VENDOR_NONE
fi
log "FPS vendor: $fps_vendor"
log "FPS vendor (current): $fps_vendor"
if [ $fps_vendor == $FPS_STATUS_NONE ]; then
log "warn: boot as the last FPS"
fps=$fps_vendor2
else
fps=$fps_vendor
vendor_index=255
# try to start the most recent success launched sensor.
if [ $fps_vendor != $FPS_STATUS_NONE ]; then
find_vendor_index $fps_vendor
vendor_index=$?
if [ $vendor_index != 255 ]; then
log "start $fps_vendor hal service"
start_hal_service $vendor_index
if [ $? != 255 ]; then
return 0
fi
fi
fi
for i in $(seq 1 2); do
setprop $prop_fps_status $FPS_STATUS_NONE
if [ $fps == $FPS_VENDOR_GOODIX ]; then
log "- start service 'goodix_hal'"
start goodix_hal
else
log "- start service 'ets_hal'"
start ets_hal
# try all the fingerprint sensors
for temp_vendor_index in $(seq 0 $last_vendor_index)
do
if [ $temp_vendor_index == $vendor_index ]; then
continue
fi
sleep 1.2
fps_status=$(getprop $prop_fps_status)
if [ $fps_status == $FPS_STATUS_NONE ]; then
log "- wait for fingerprint HAL service ..."
for j in $(seq 1 100); do
fps_status=$(getprop $prop_fps_status)
if [ $fps_status != $FPS_STATUS_NONE ]; then
break
fi
sleep 0.2
done
fi
log "status: $fps_status"
if [ $fps_status == $FPS_STATUS_OK ]; then
log "HAL success"
setprop $prop_persist_fps $fps
if [ $fps_vendor2 == $fps ]; then
return 0
fi
log "- update FPS vendor (last)"
echo $fps > $persist_fps_id2
log "- done"
return 0
if [ ! -e ${kernel_so_list[$temp_vendor_index]} ]; then
log "does not exist ${kernel_so_list[$temp_vendor_index]},ignore this fingerprint sensor"
continue
fi
if [ $fps == $fps_vendor2 ]; then
if [ $fps == $FPS_VENDOR_GOODIX ]; then
rmmod goodix_fod_mmi
insmod /vendor/lib/modules/ets_fps_mmi.ko
fps=$FPS_VENDOR_EGIS
else
rmmod ets_fps_mmi
insmod /vendor/lib/modules/goodix_fod_mmi.ko
fps=$FPS_VENDOR_GOODIX
fi
log "- update FPS vendor"
echo $fps > $persist_fps_id
sleep 1
else
log "error: HAL fail again"
setprop $prop_persist_fps $FPS_VENDOR_NONE
echo $FPS_VENDOR_NONE > $persist_fps_id
log "- done"
return 1
start_hal_service $temp_vendor_index
if [ $? != 255 ]; then
echo ${vendor_list[$temp_vendor_index]} > $persist_fps_id
return 0
fi
done
log "error, no fingerprint sensor found"
setprop $prop_persist_fps $FPS_VENDOR_NONE
echo $FPS_VENDOR_NONE > $persist_fps_id

View file

@ -7,25 +7,25 @@ on early-init
exec_background u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules/${ro.vendor.mot.gki.path} mmi_annotate mmi_info mmi_relay
on early-init
insmod /vendor/lib/modules/bm_adsp_ulog.ko
insmod /vendor/lib/modules/mmi_charger.ko
insmod /vendor/lib/modules/qti_glink_charger.ko
insmod /vendor/lib/modules/aw882xx_k504.ko
insmod /vendor/lib/modules/mmi_sys_temp.ko
insmod /vendor/lib/modules/wl2864c.ko
insmod /vendor/lib/modules/goodix_mmi.ko
insmod /vendor/lib/modules/bm_adsp_ulog.ko
insmod /vendor/lib/modules/camera.ko
insmod /vendor/lib/modules/aw8695.ko
insmod /vendor/lib/modules/cci_intf.ko
insmod /vendor/lib/modules/fpc1020_mmi.ko
insmod /vendor/lib/modules/goodix_fod_mmi.ko
insmod /vendor/lib/modules/leds_aw99703.ko
insmod /vendor/lib/modules/leds_lm3697.ko
insmod /vendor/lib/modules/mmi_charger.ko
insmod /vendor/lib/modules/mmi_sys_temp.ko
insmod /vendor/lib/modules/qpnp_adaptive_charge.ko
insmod /vendor/lib/modules/5.4-gki/camera.ko
insmod /vendor/lib/modules/5.4-gki/aw8695.ko
start vendor.mmi_modules
insmod /vendor/lib/modules/qti_glink_charger.ko
insmod /vendor/lib/modules/rbs_fps_mmi.ko
insmod /vendor/lib/modules/wl2866d.ko
on post-fs
# Sensors
chown system system /sys/devices/platform/soc/a94000.spi/spi_master/spi0/spi0.0/touchscreen/NVT-ts/double_tap_enabled
chown system system /sys/devices/platform/soc/a94000.spi/spi_master/spi0/spi0.0/touchscreen/NVT-ts/double_tap_pressed
chown system system /sys/devices/platform/soc/998000.spi/spi_master/spi0/spi0.0/touchscreen/NVT-ts/double_tap_enabled
chown system system /sys/devices/platform/soc/998000.spi/spi_master/spi0/spi0.0/touchscreen/NVT-ts/double_tap_pressed
on post-fs-data
mkdir /mnt/vendor/persist/tof 0755 vendor_tcmd camera
@ -42,7 +42,6 @@ on post-fs-data
# Param updater data for various modules
mkdir /data/vendor/param 0775 system system
mkdir /data/vendor/tzstorage/goodix 0770 system system
exec_start vendor.ident-fps-overlay-sh
on early-boot
# Goodix fingerprint
@ -50,18 +49,28 @@ on early-boot
chmod 0664 /dev/goodix_fp
on boot
chmod 0664 /mnt/vendor/persist/factory/audio/aw_cali.bin
mkdir /data/vendor/gf_data 0770 system system
mkdir /mnt/vendor/persist/goodix 0770 system system
#change adsp pmic test command file access permission
chown vendor_tcmd system /sys/devices/platform/soc/soc:qcom,pmic_glink/soc:qcom,pmic_glink:mmi,qti-glink-charger/tcmd
chown vendor_tcmd system /sys/devices/platform/soc/soc:qcom,pmic_glink/soc:qcom,pmic_glink:mmi,qti-glink-charger/force_pmic_icl
chmod 0660 /sys/devices/platform/soc/soc:qcom,pmic_glink/soc:qcom,pmic_glink:mmi,qti-glink-charger/tcmd
chmod 0660 /sys/devices/platform/soc/soc:qcom,pmic_glink/soc:qcom,pmic_glink:mmi,qti-glink-charger/force_pmic_icl
chown system system /sys/devices/platform/soc/a94000.i2c/i2c-2/2-0049/double_click
chmod 0660 /sys/devices/platform/soc/a94000.i2c/i2c-2/2-0049/double_click
chown system system /sys/devices/platform/soc/a94000.i2c/i2c-2/2-0049/single_click
chmod 0660 /sys/devices/platform/soc/a94000.i2c/i2c-2/2-0049/single_click
# Set adaptive charging perms for HAL
chown system system /sys/module/qpnp_adaptive_charge/parameters/upper_limit
chown system system /sys/module/qpnp_adaptive_charge/parameters/lower_limit
# allow TCMD to access cci
chmod 0660 /dev/cci_intf
chown system camera /dev/cci_intf
# touch api
chown system system /sys/class/touchscreen/primary/interpolation
chmod 0660 /sys/class/touchscreen/primary/interpolation
chown system system /sys/class/touchscreen/primary/first_filter
chmod 0660 /sys/class/touchscreen/primary/first_filter
chown system system /sys/class/touchscreen/primary/edge
chmod 0660 /sys/class/touchscreen/primary/edge
# touch screen calibration file
mkdir /mnt/vendor/persist/touch
chown vendor_tcmd system /mnt/vendor/persist/touch
@ -76,26 +85,29 @@ service capsense_reset /system/vendor/bin/capsense_reset
on property:sys.boot_completed=1
start capsense_reset
on property:persist.vendor.paramfile.parse_panel=1
write /sys/devices/platform/soc/soc:qcom,dsi-display-primary/dsi_display_parse_para "1"
service vendor.ident-fps-overlay-sh /vendor/bin/init.oem.fingerprint.overlay.sh
class core
user root
group drmrpc system
oneshot
disabled
service vendor.ident-fps-sh /vendor/bin/init.oem.fingerprint.sh
class core
user root
group drmrpc system
oneshot
disabled
service egis_ident /vendor/bin/egis_ident
service egis_ident /vendor/bin/hw/egis_ident
class late_start
user system
group system
oneshot
disabled
service fpc_ident /vendor/bin/hw/fpc_ident
class late_start
user system
group system
oneshot
disabled
service gf_ident /vendor/bin/hw/goodix_ident
class late_start
user system
group system input uhid
oneshot
disabled
service vendor.hal-fps-sh /vendor/bin/init.oem.fingerprint2.sh
class late_start
user root
group system
oneshot

View file

@ -0,0 +1,22 @@
# Egistec fingerprint feature
on post-fs-data
mkdir /persist/egis 0770 system system
chmod 0660 /sys/devices/platform/egis_input/navigation_event
chmod 0660 /sys/devices/platform/egis_input/navigation_enable
chmod 0660 /sys/devices/soc/0.et320/etspi_enable
chown system system /sys/devices/platform/egis_input/navigation_enable
chown system system /sys/devices/platform/egis_input/navigation_event
chown system system /sys/devices/soc/0.et320/etspi_enable
restorecon /sys/devices/platform/egis_input/navigation_enable
restorecon /sys/devices/platform/egis_input/navigation_event
restorecon /sys/devices/soc/0.et320/etspi_enable
# Egistec fingerprint fp daemon start
# service etsd /system/bin/etsd
# user system
# group system input
# class late_start
on post-fs-data
# service-ets
on property:ro.vendor.hw.fps=false
stop ets_hal

View file

@ -1,11 +1,11 @@
//
// Copyright (C) 2022 The LineageOS Project
// Copyright (C) 2022-2023 The LineageOS Project
//
// SPDX-License-Identifier: Apache-2.0
//
cc_library_shared {
name: "sensors.berlna",
name: "sensors.xpeng",
defaults: ["hidl_defaults"],
srcs: [
"Sensor.cpp",
@ -29,7 +29,7 @@ cc_library_shared {
"android.hardware.sensors@2.X-multihal",
],
cflags: [
"-DLOG_TAG=\"sensors.berlna\"",
"-DLOG_TAG=\"sensors.xpeng\"",
],
vendor: true,
}

View file

@ -1,3 +1,3 @@
sensors.ssc.so
sensors.moto.so
sensors.berlna.so
sensors.xpeng.so

View file

@ -1,8 +1,10 @@
# HAL Services
/(vendor|system/vendor)/bin/hw/android\.hardware\.lights-service\.berlna u:object_r:hal_light_default_exec:s0
/(vendor|system/vendor)/bin/hw/android\.hardware\.light@2\.0-service\.berlna u:object_r:hal_light_default_exec:s0
/(vendor|system/vendor)/bin/hw/android\.hardware\.lights-service\.xpeng u:object_r:hal_light_default_exec:s0
/(vendor|system/vendor)/bin/hw/android\.hardware\.light@2\.0-service\.xpeng u:object_r:hal_light_default_exec:s0
/(vendor|system/vendor)/bin/init\.oem\.(fingerprint2|fingerprint\.overlay)\.sh u:object_r:vendor_init_fingerprint_exec:s0
/(vendor|system/vendor)/bin/hw/egis_ident u:object_r:hal_fingerprint_default_exec:s0
/(vendor|system/vendor)/bin/hw/fpc_ident u:object_r:hal_fingerprint_default_exec:s0
/(vendor|system/vendor)/bin/hw/goodix_ident u:object_r:hal_fingerprint_default_exec:s0
# Fingerprint
/(mnt/vendor)/persist/egis(/.*)? u:object_r:fingerprint_vendor_data_file:s0

View file

@ -1,14 +1,14 @@
#!/bin/bash
#
# Copyright (C) 2016 The CyanogenMod Project
# Copyright (C) 2017-2020 The LineageOS Project
# Copyright (C) 2017-2023 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
set -e
export DEVICE=berlna
export DEVICE=xpeng
export DEVICE_COMMON=sm7325-common
export VENDOR=motorola

View file

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

View file

@ -1,22 +1,12 @@
//
// Copyright (C) 2020 The LineageOS Project
// Copyright (C) 2020-2023 The LineageOS Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// 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.
// SPDX-License-Identifier: Apache-2.0
cc_binary {
name: "vendor.lineage.touch@1.0-service.berlna",
vintf_fragments: ["vendor.lineage.touch@1.0-service.berlna.xml"],
init_rc: ["vendor.lineage.touch@1.0-service.berlna.rc"],
name: "vendor.lineage.touch@1.0-service.xpeng",
vintf_fragments: ["vendor.lineage.touch@1.0-service.xpeng.xml"],
init_rc: ["vendor.lineage.touch@1.0-service.xpeng.rc"],
defaults: ["hidl_defaults"],
relative_install_path: "hw",
proprietary: true,

View file

@ -1,20 +1,10 @@
/*
* Copyright (C) 2020 The LineageOS Project
* Copyright (C) 2020-2023 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* 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.
* SPDX-License-Identifier: Apache-2.0
*/
#define LOG_TAG "lineage.touch@1.0-service.berlna"
#define LOG_TAG "lineage.touch@1.0-service.xpeng"
#include <android-base/logging.h>
#include <hidl/HidlTransportSupport.h>

View file

@ -1,4 +1,4 @@
service vendor.touch-hal-1-0 /vendor/bin/hw/vendor.lineage.touch@1.0-service.berlna
service vendor.touch-hal-1-0 /vendor/bin/hw/vendor.lineage.touch@1.0-service.xpeng
interface vendor.lineage.touch@1.0::IHighTouchPollingRate default
class hal
user system

View file

@ -20,7 +20,7 @@ import os
import sys
from hashlib import sha1
device='berlna'
device='xpeng'
vendor='motorola'
with open('proprietary-files.txt', 'r') as f:

View file

@ -1,5 +1,5 @@
# Bluetooth
bluetooth.device.default_name=motorola edge (2021)
bluetooth.device.default_name=Motorola g200 5G
# Camera
persist.vendor.camera.physical.num=4