fogos: Initial tree conversion from xpeng

* Drop light hal and recovery scripts.
* All configs updated from fogos U1UG34M.23-82-2 build.

Change-Id: Ia889f2af05ec08937a3d64954c40e7e24d9a6025
This commit is contained in:
Anand S 2024-07-03 12:56:42 +05:30
parent 76b5f8b755
commit 3737732902
No known key found for this signature in database
GPG key ID: 3B2983FA448B3D61
86 changed files with 3046 additions and 2984 deletions

View file

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

View file

@ -5,4 +5,4 @@
#
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/lineage_xpeng.mk
$(LOCAL_DIR)/lineage_fogos.mk

View file

@ -4,20 +4,20 @@
# SPDX-License-Identifier: Apache-2.0
#
DEVICE_PATH := device/motorola/xpeng
DEVICE_PATH := device/motorola/fogos
# Inherit from motorola sm7325-common
include device/motorola/sm7325-common/BoardConfigCommon.mk
# Inherit from motorola sm6375-common
include device/motorola/sm6375-common/BoardConfigCommon.mk
# Bootloader
TARGET_BOOTLOADER_BOARD_NAME := xpeng
TARGET_BOOTLOADER_BOARD_NAME := fogos
# HIDL
DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/manifest_xpeng.xml
DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/manifest_fogos.xml
# Kernel
BOARD_KERNEL_CMDLINE += androidboot.hab.product=xpeng
TARGET_KERNEL_CONFIG += vendor/lineage_xpeng.config
BOARD_KERNEL_CMDLINE += androidboot.hab.product=fogos
TARGET_KERNEL_CONFIG += vendor/fogos_defconfig
# Kernel Modules
BOARD_VENDOR_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules.load))
@ -26,9 +26,8 @@ BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVIC
BOOT_KERNEL_MODULES := $(BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD)
# Partitions
BOARD_USERDATAIMAGE_PARTITION_SIZE := 116674899968
BOARD_MOT_DP_GROUP_SIZE := 8585740288 # ( BOARD_SUPER_PARTITION_SIZE - 4MB )
BOARD_SUPER_PARTITION_SIZE := 8589934592
BOARD_MOT_DP_GROUP_SIZE := 5901385728 # (BOARD_SUPER_PARTITION_SIZE - 4MB)
BOARD_SUPER_PARTITION_SIZE := 5905580032
# Properties
TARGET_SYSTEM_PROP += $(DEVICE_PATH)/system.prop
@ -37,8 +36,8 @@ TARGET_VENDOR_PROP += $(DEVICE_PATH)/vendor.prop
# Recovery
TARGET_RECOVERY_UI_MARGIN_HEIGHT := 90
# Security
VENDOR_SECURITY_PATCH := 2024-01-01
# Security patch level
VENDOR_SECURITY_PATCH := 2024-05-01
# inherit from the proprietary version
include vendor/motorola/xpeng/BoardConfigVendor.mk
include vendor/motorola/fogos/BoardConfigVendor.mk

View file

@ -1,30 +1 @@
# 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.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
Storage | 256/512
Battery | 5000 mAh
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
![Device Picture](https://i.imgur.com/04lu80E.png)
# Device configuration files for Motorola moto g34 5G (fogos)

View file

@ -2,7 +2,7 @@
<audio_effects_conf version="2.0" xmlns="http://schemas.android.com/audio/audio_effects_conf/v2_0">
<libraries>
<library name="proxy" path="libeffectproxy.so"/>
<library name="mmieffects" path="libmmieffectswrapper.so"/>
<library name="mot_speaker_helper" path="libspeakerbundle.so"/>
<library name="bundle" path="libbundlewrapper.so"/>
<library name="reverb" path="libreverbwrapper.so"/>
<library name="visualizer" path="libvisualizer.so"/>
@ -16,7 +16,6 @@
<effect name="virtualizer" library="bundle" uuid="1d4033c0-8557-11df-9f2d-0002a5d5c51b"/>
<effect name="equalizer" library="bundle" uuid="ce772f20-847d-11df-bb17-0002a5d5c51b"/>
<effect name="volume" library="bundle" uuid="119341a0-8469-11df-81f9-0002a5d5c51b"/>
<effect name="mmieffects" library="mmieffects" uuid="bce61ec2-eca4-445c-9dcb-91cc7cce01ba"/>
<effect name="reverb_env_aux" library="reverb" uuid="4a387fc0-8ab3-11df-8bad-0002a5d5c51b"/>
<effect name="reverb_env_ins" library="reverb" uuid="c7a511a0-a3bb-11df-860e-0002a5d5c51b"/>
<effect name="reverb_pre_aux" library="reverb" uuid="f29a1400-a3bb-11df-8ddc-0002a5d5c51b"/>
@ -25,9 +24,40 @@
<effect name="downmix" library="downmix" uuid="93f04452-e4fe-41cc-91f9-e475b6d1d69f"/>
<effect name="dynamics_processing" library="dynamics_processing" uuid="e0e6539b-1781-7261-676f-6d7573696340"/>
<effect name="loudness_enhancer" library="loudness_enhancer" uuid="fa415329-2034-4bea-b5dc-5b381c8d1e2c"/>
<effectProxy name="music_helper" library="proxy" uuid="00905020-4e52-11e4-83aa-0002a5d5c51b">
<libsw library="mot_speaker_helper" uuid="bce61ec2-eca4-445c-9dcb-91cc7cce01ab"/>
<libhw library="mot_speaker_helper" uuid="bce61ec2-eca4-445c-9dcb-91cc7cce01b0"/>
</effectProxy>
<effect name="voice_helper" library="mot_speaker_helper" uuid="bce61ec2-eca4-445c-9dcb-91cc7cce01ac"/>
<effect name="ring_helper" library="mot_speaker_helper" uuid="bce61ec2-eca4-445c-9dcb-91cc7cce01ad"/>
<effect name="notification_helper" library="mot_speaker_helper" uuid="bce61ec2-eca4-445c-9dcb-91cc7cce01ae"/>
<effect name="aec" library="audio_pre_processing" uuid="0f8d0d2a-59e5-45fe-b6e4-248c8a799109"/>
<effect name="ns" library="audio_pre_processing" uuid="1d97bb0b-9e2f-4403-9ae3-58c2554306f8"/>
</effects>
<postprocess>
<stream type="music">
<apply effect="music_helper"/>
<apply effect="dlb_music_listener"/>
</stream>
<stream type="ring">
<apply effect="ring_helper"/>
<apply effect="dlb_ring_listener"/>
</stream>
<stream type="alarm">
<apply effect="ring_helper"/>
<apply effect="dlb_alarm_listener"/>
</stream>
<stream type="voice_call">
<apply effect="voice_helper"/>
</stream>
<stream type="system">
<apply effect="dlb_system_listener"/>
</stream>
<stream type="notification">
<apply effect="notification_helper"/>
<apply effect="dlb_notification_listener"/>
</stream>
</postprocess>
<preprocess>
<stream type="voice_communication">
<apply effect="aec"/>

View file

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

View file

@ -18,56 +18,123 @@ outputs {
bit_width 16
app_type 69937
}
voip_rx {
flags AUDIO_OUTPUT_FLAG_VOIP_RX|AUDIO_OUTPUT_FLAG_DIRECT
proaudio {
flags AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_RAW
formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 48000
bit_width 16
app_type 69943
}
voip_rx {
flags AUDIO_OUTPUT_FLAG_VOIP_RX
formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 8000|16000|32000|48000
bit_width 16
app_type 69946
}
deep_buffer {
flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER
formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 48000
bit_width 16
app_type 69936
}
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
sampling_rates 48000|96000
bit_width 16
app_type 69936
app_type 69937
}
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
sampling_rates 48000|96000
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
sampling_rates 48000|96000
bit_width 32
app_type 69942
}
compress_passthrough {
flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING|AUDIO_OUTPUT_FLAG_COMPRESS_PASSTHROUGH
formats AUDIO_FORMAT_DTS|AUDIO_FORMAT_DTS_HD|AUDIO_FORMAT_DSD
sampling_rates 48000
bit_width 16
app_type 69941
}
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
sampling_rates 48000|96000
bit_width 16
app_type 69936
app_type 69937
}
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
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_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 48000|96000
bit_width 24
app_type 69940
}
}
inputs {
voip_tx {
flags AUDIO_INPUT_FLAG_VOIP_TX
record_16bit {
formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 48000
bit_width 16
app_type 69938
}
record_24bit {
formats AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_24_BIT
sampling_rates 48000
bit_width 24
app_type 69948
}
record_32bit {
formats AUDIO_FORMAT_PCM_32_BIT|AUDIO_FORMAT_PCM_FLOAT
sampling_rates 48000
bit_width 32
app_type 69949
}
record_compress_16 {
flags AUDIO_INPUT_FLAG_COMPRESS
formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 48000
bit_width 16
app_type 69938
}
record_compress_24 {
flags AUDIO_INPUT_FLAG_COMPRESS
formats AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_24_BIT
sampling_rates 48000
bit_width 24
app_type 69948
}
record_compress_32 {
flags AUDIO_INPUT_FLAG_COMPRESS
formats AUDIO_FORMAT_PCM_32_BIT|AUDIO_FORMAT_PCM_FLOAT
sampling_rates 48000
bit_width 32
app_type 69949
}
voip_tx {
flags AUDIO_INPUT_FLAG_VOIP_TX
formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 8000|16000|32000|48000
bit_width 16
app_type 69946
}
low_latency_voip_tx {
flags AUDIO_INPUT_FLAG_FAST|AUDIO_INPUT_FLAG_VOIP_TX
formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 48000
bit_width 16
app_type
}
}

View file

@ -44,16 +44,12 @@
<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"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="hifi_playback" role="source" />
<mixPort name="hifi_playback" role="source" />
<mixPort name="direct_pcm" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
@ -121,9 +117,9 @@
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="voip_rx" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_VOIP_RX">
flags="AUDIO_OUTPUT_FLAG_VOIP_RX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="voip_tx" role="sink"
flags="AUDIO_INPUT_FLAG_VOIP_TX">
@ -151,6 +147,15 @@
</devicePort>
<devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
</devicePort>
<devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_LDAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE">
</devicePort>
<devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink"
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_LDAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE">
</devicePort>
<devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink"
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_LDAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE">
</devicePort>
<devicePort tagName="Proxy" type="AUDIO_DEVICE_OUT_PROXY" role="sink">
</devicePort>
<devicePort tagName="HDMI Out" type="AUDIO_DEVICE_OUT_HDMI" role="sink">
@ -183,7 +188,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,haptics output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
sources="primary 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"
@ -198,6 +203,14 @@
sources="primary output,deep_buffer,direct_pcm,voip_rx"/>
<route type="mix" sink="BT SCO Car Kit"
sources="primary output,deep_buffer,direct_pcm,voip_rx"/>
<route type="mix" sink="BT A2DP Out"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
<route type="mix" sink="BT A2DP Headphones"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
<route type="mix" sink="BT A2DP Speaker"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
<route type="mix" sink="Proxy"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
<route type="mix" sink="HDMI Out"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
<route type="mix" sink="USB Device Out"
@ -208,8 +221,6 @@
sources="voice_tx,incall_music_uplink"/>
<route type="mix" sink="voice_rx"
sources="Telephony Rx"/>
<route type="mix" sink="Proxy"
sources="primary output,deep_buffer,direct_pcm,compressed_offload"/>
<route type="mix" sink="voip_tx"
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
<route type="mix" sink="primary input"
@ -223,17 +234,34 @@
</module>
<!-- A2dp Audio HAL -->
<xi:include href="a2dp_in_audio_policy_configuration.xml"/>
<module name="a2dp" halVersion="2.0">
<mixPorts>
<mixPort name="a2dp input" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
</mixPorts>
<devicePorts>
<devicePort tagName="BT A2DP In" type="AUDIO_DEVICE_IN_BLUETOOTH_A2DP" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
</devicePort>
</devicePorts>
<routes>
<route type="mix" sink="a2dp input"
sources="BT A2DP In"/>
</routes>
</module>
<!-- Usb Audio HAL -->
<xi:include href="usb_audio_policy_configuration.xml"/>
<!-- Remote Submix Audio HAL -->
<xi:include href="r_submix_audio_policy_configuration.xml"/>
<!-- Bluetooth Audio HAL -->
<xi:include href="bluetooth_audio_policy_configuration.xml"/>
<!-- qti non-offload configuration -->
<xi:include href="/vendor/etc/bluetooth_qti_audio_policy_configuration.xml"/>
</modules>
<!-- End of Modules section -->

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<!-- Volume section defines a volume curve for a given use case and device category.
It contains a list of points of this curve expressing the attenuation in Millibels for a given
volume index from 0 to 100.
@ -10,16 +10,18 @@ volume index from 0 to 100.
<volumes>
<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,-3300</point>
<point>33,-2100</point>
<point>66,-1000</point>
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_SPEAKER"
ref="DEFAULT_VOICE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_EARPIECE">
<point>0,-2500</point>
<point>44,-1400</point>
<point>71,-700</point>
<point>100,0</point>
</volume>
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_EARPIECE"
ref="DEFAULT_VOICE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_NON_MUTABLE_HEARING_AID_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_HEADSET">
<point>1,-3000</point>
<point>33,-2600</point>
@ -32,6 +34,8 @@ volume index from 0 to 100.
ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_HEADSET"
ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_SPEAKER"
@ -40,14 +44,41 @@ 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"
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_RING" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_HEADSET">
<point>1,-6550</point>
<point>15,-4300</point>
<point>30,-3050</point>
<point>43,-2200</point>
<point>65,-1150</point>
<point>85,-640</point>
<point>93,-280</point>
<point>100,0</point>
</volume>
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_SPEAKER">
<point>1,-5500</point>
<point>13,-3950</point>
<point>20,-3400</point>
<point>27,-3200</point>
<point>33,-3150</point>
<point>40,-2990</point>
<point>47,-2650</point>
<point>50,-2500</point>
<point>60,-2200</point>
<point>66,-1950</point>
<point>73,-1750</point>
<point>80,-1550</point>
<point>86,-1150</point>
<point>90,-820</point>
<point>100,0</point>
</volume>
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_EARPIECE"
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_HEADSET"
ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_SPEAKER"
@ -56,18 +87,22 @@ volume index from 0 to 100.
ref="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="SONIFICATION_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_NON_MUTABLE_HEARING_AID_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_HEADSET"
ref="DEFAULT_DEVICE_CATEGORY_HEADSET_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>
<point>1,-3600</point>
<point>33,-1950</point>
<point>60,-1600</point>
<point>100,-1000</point>
</volume>
<volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_EARPIECE"
ref="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="SONIFICATION_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_HEADSET"
ref="DEFAULT_VOICE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_SPEAKER"
@ -76,6 +111,8 @@ volume index from 0 to 100.
ref="DEFAULT_VOICE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_HEADSET"
ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_SPEAKER"
@ -84,26 +121,22 @@ volume index from 0 to 100.
ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="SONIFICATION_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_HEADSET">
<point>1,-3000</point>
<point>33,-2600</point>
<point>66,-2200</point>
<point>100,-1800</point>
</volume>
<volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_SPEAKER">
<point>1,-3800</point>
<point>33,-2800</point>
<point>66,-2000</point>
<point>100,-1300</point>
</volume>
<volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_EARPIECE">
<point>1,-2700</point>
<point>33,-1600</point>
<point>66,-700</point>
<point>100,0</point>
</volume>
<volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
<volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_SPEAKER"
ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_EARPIECE"
ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_HEADSET"
ref="SILENT_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_SPEAKER"
@ -112,6 +145,8 @@ volume index from 0 to 100.
ref="SILENT_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="SILENT_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="SILENT_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_HEADSET"
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_SPEAKER"
@ -120,6 +155,8 @@ volume index from 0 to 100.
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_NON_MUTABLE_HEARING_AID_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_HEADSET"
ref="FULL_SCALE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_SPEAKER"
@ -128,6 +165,8 @@ volume index from 0 to 100.
ref="FULL_SCALE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="FULL_SCALE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="FULL_SCALE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_HEADSET"
ref="FULL_SCALE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_SPEAKER"
@ -136,4 +175,6 @@ volume index from 0 to 100.
ref="FULL_SCALE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="FULL_SCALE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="FULL_SCALE_VOLUME_CURVE"/>
</volumes>

View file

@ -28,8 +28,8 @@
<reference name="NOTIFICATION_CATEGORY_SPEAKER_VOLUME_CURVE">
<!-- Speaker Sonification reference Volume Curve -->
<point>1,-5300</point>
<point>70,-2390</point>
<point>84,-1010</point>
<point>33,-2990</point>
<point>66,-1800</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_SYSTEM_VOLUME_CURVE">
@ -37,13 +37,13 @@
<point>1,-3800</point>
<point>33,-3300</point>
<point>66,-2800</point>
<point>100,-2300</point>
<point>100,-1300</point>
</reference>
<reference name="DEFAULT_MEDIA_VOLUME_CURVE">
<!-- Default Media reference Volume Curve -->
<point>1,-5400</point>
<point>34,-3600</point>
<point>67,-1800</point>
<point>1,-4800</point>
<point>34,-3200</point>
<point>67,-1600</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_VOICE_VOLUME_CURVE">
@ -62,12 +62,9 @@
</reference>
<reference name="DEFAULT_DEVICE_CATEGORY_SPEAKER_VOLUME_CURVE">
<!-- Default is Speaker Media Volume Curve -->
<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>1,-5800</point>
<point>33,-3000</point>
<point>66,-1400</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE">
@ -84,4 +81,19 @@
<point>60,-2100</point>
<point>100,-1000</point>
</reference>
<reference name="DEFAULT_HEARING_AID_VOLUME_CURVE">
<!-- Default Hearing Aid Volume Curve -->
<point>1,-12700</point>
<point>20,-8000</point>
<point>60,-4000</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_NON_MUTABLE_HEARING_AID_VOLUME_CURVE">
<!-- Default non-mutable Hearing Aid Volume Curve -->
<!-- based on DEFAULT_HEARING_AID_VOLUME_CURVE -->
<point>0,-12700</point>
<point>20,-8000</point>
<point>60,-4000</point>
<point>100,0</point>
</reference>
</volumes>

View file

@ -38,11 +38,14 @@
<device name="SND_DEVICE_IN_SPEAKER_TMIC_AEC_NS" module_id="0x10F35" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE" module_id="0x10F34" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS" module_id="0x10F33" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_NN" module_id="0x10F31" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS" module_id="0x10F31" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_AUX_MIC_AEC_NS" module_id="0x10F31" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS" module_id="0x10F33" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS" module_id="0x10F31" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_SB" module_id="0x10F39" instance_id="0x8000" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_SB" module_id="0x10F38" instance_id="0x8000" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_AUX_MIC_AEC_NS_SB" module_id="0x10F38" instance_id="0x8000" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS_SB" module_id="0x10F39" instance_id="0x8000" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS_SB" module_id="0x10F38" instance_id="0x8000" param_id="0x10EAF" param_value="0x01"/>
</aec>
@ -50,11 +53,14 @@
<device name="SND_DEVICE_IN_SPEAKER_TMIC_AEC_NS" module_id="0x10F35" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE" module_id="0x10F34" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS" module_id="0x10F33" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_NN" module_id="0x10F31" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS" module_id="0x10F31" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_AUX_MIC_AEC_NS" module_id="0x10F31" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS" module_id="0x10F33" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS" module_id="0x10F31" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_SB" module_id="0x10F39" instance_id="0x8000" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_SB" module_id="0x10F38" instance_id="0x8000" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_AUX_MIC_AEC_NS_SB" module_id="0x10F38" instance_id="0x8000" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS_SB" module_id="0x10F39" instance_id="0x8000" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS_SB" module_id="0x10F38" instance_id="0x8000" param_id="0x10EAF" param_value="0x02"/>
</ns>
@ -77,9 +83,9 @@
<usecase name="USECASE_VOWLAN_CALL" type="in" id="-1"/>
<usecase name="USECASE_VOWLAN_CALL" type="out" id="-1"/>
<usecase name="USECASE_AUDIO_PLAYBACK_FM" type="out" id="30"/>
<usecase name="USECASE_AUDIO_PLAYBACK_FM" type="in" id="38"/>
<usecase name="USECASE_AUDIO_PLAYBACK_FM" type="in" id="37"/>
<usecase name="USECASE_AUDIO_SPKR_CALIB_RX" type="out" id="30"/>
<usecase name="USECASE_AUDIO_SPKR_CALIB_TX" type="in" id="47"/>
<usecase name="USECASE_AUDIO_SPKR_CALIB_TX" type="in" id="80"/>
<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"/>
@ -92,26 +98,24 @@
<usecase name="USECASE_AUDIO_HFP_SCO_WB" type="in" id="12" />
<usecase name="USECASE_AUDIO_PLAYBACK_MMAP" type="out" id="29" />
<usecase name="USECASE_AUDIO_RECORD_MMAP" type="in" id="29" />
<usecase name="USECASE_AUDIO_A2DP_ABR_FEEDBACK" type="in" id="36" />
<usecase name="USECASE_AUDIO_A2DP_ABR_FEEDBACK" type="out" id="36" />
<usecase name="USECASE_AUDIO_A2DP_ABR_FEEDBACK" type="in" id="35" />
<usecase name="USECASE_AUDIO_A2DP_ABR_FEEDBACK" type="out" id="35" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK" type="out" id="23" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK2" type="out" id="23" />
<usecase name="USECASE_AUDIO_RECORD_COMPRESS2" type="in" id="37" />
<usecase name="USECASE_AUDIO_RECORD_COMPRESS2" type="in" id="36" />
<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 -->
<!-- speaker. It can be set to either left or right -->
<param key="mono_speaker" value="left"/>
<param key="mono_speaker" value="right"/>
<param key="true_32_bit" value="true"/>
<param key="hifi_filter" value="false"/>
<param key="native_audio_mode" value="multiple_mix_dsp"/>
<param key="hfp_pcm_dev_id" value="39"/>
<param key="input_mic_max_count" value="3"/>
<param key="input_mic_max_count" value="2"/>
</config_params>
<gain_db_to_level_mapping>
<gain_level_map db="-59" level="5"/>
@ -136,7 +140,6 @@
</crystalk_devices>
<acdb_ids>
<!-- Output devices -->
<device name="SND_DEVICE_OUT_HANDSET" acdb_id="7" />
<device name="SND_DEVICE_OUT_VOICE_HANDSET" acdb_id="7" />
<device name="SND_DEVICE_OUT_VOICE_HANDSET_TMUS" acdb_id="7" />
<device name="SND_DEVICE_OUT_VOICE_TTY_HCO_HANDSET" acdb_id="7" />
@ -144,11 +147,23 @@
<device name="SND_DEVICE_OUT_USB_HEADSET" acdb_id="45" />
<device name="SND_DEVICE_OUT_USB_HEADPHONES" acdb_id="45" />
<device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES" acdb_id="9" />
<device name="SND_DEVICE_OUT_SPEAKER_SAFE_AND_HEADPHONES" acdb_id="9" />
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_AND_VOICE_HEADPHONES" acdb_id="10" />
<device name="SND_DEVICE_OUT_SPEAKER" acdb_id="14" />
<device name="SND_DEVICE_OUT_SPEAKER_RIGHT" acdb_id="13" />
<device name="SND_DEVICE_OUT_SPEAKER_PROTECTED" acdb_id="14" />
<device name="SND_DEVICE_OUT_SPEAKER_REVERSE" acdb_id="14" />
<device name="SND_DEVICE_OUT_SPEAKER_SAFE" acdb_id="14" />
<device name="SND_DEVICE_OUT_VOICE_SPEAKER" acdb_id="15" />
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_2" acdb_id="15" />
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_PROTECTED" acdb_id="15" />
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_2_PROTECTED" acdb_id="15" />
<device name="SND_DEVICE_OUT_SPEAKER_AND_DISPLAY_PORT" acdb_id="15" />
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_HFP" acdb_id="15" />
<device name="SND_DEVICE_OUT_SPEAKER_AND_HDMI" acdb_id="18" />
<device name="SND_DEVICE_OUT_LINE" acdb_id="77" />
<device name="SND_DEVICE_OUT_SPEAKER_AND_LINE" acdb_id="77" />
<device name="SND_DEVICE_OUT_SPEAKER_SAFE_AND_LINE" acdb_id="77" />
<device name="SND_DEVICE_OUT_VOICE_LINE" acdb_id="78" />
<device name="SND_DEVICE_OUT_VOLTE_NB_ANC_HANDSET" acdb_id="200" />
<device name="SND_DEVICE_OUT_VOLTE_NB_HANDSET_TMUS" acdb_id="200" />
@ -157,8 +172,6 @@
<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_HAPTICS" acdb_id="400" />
<!-- Input devices -->
<device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK" acdb_id="102" />
@ -166,8 +179,8 @@
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS" acdb_id="4" />
<device name="SND_DEVICE_IN_HANDSET_MIC_NS" acdb_id="4" />
<device name="SND_DEVICE_IN_HANDSET_MIC_NN" acdb_id="318" />
<device name="SND_DEVICE_IN_HANDSET_MIC_TOP" acdb_id="88" />
<device name="SND_DEVICE_IN_HANDSET_MIC_NN_TOP" acdb_id="88" />
<device name="SND_DEVICE_IN_HANDSET_MIC_TOP" acdb_id="4" />
<device name="SND_DEVICE_IN_HANDSET_MIC_NN_TOP" acdb_id="4" />
<device name="SND_DEVICE_IN_SPEAKER_DMIC" acdb_id="35" />
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC" acdb_id="35" />
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS" acdb_id="35" />
@ -179,11 +192,12 @@
<device name="SND_DEVICE_IN_USB_HEADSET_MIC" acdb_id="44" />
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC" acdb_id="114" />
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS" acdb_id="114" />
<device name="SND_DEVICE_IN_AUX_MIC_AEC_NS" acdb_id="115" />
<device name="SND_DEVICE_IN_SPEAKER_MIC_NS" acdb_id="114" />
<device name="SND_DEVICE_IN_UNPROCESSED_MIC" acdb_id="11" />
<device name="SND_DEVICE_IN_VOICE_DMIC_TMUS" acdb_id="41" />
<device name="SND_DEVICE_IN_HEADSET_MIC" acdb_id="8" />
<device name="SND_DEVICE_IN_HEADSET_MIC_AEC" acdb_id="47" />
<device name="SND_DEVICE_IN_HEADSET_MIC_CQA" acdb_id="60" />
<device name="SND_DEVICE_IN_CAMCORDER_MIC" acdb_id="61" />
<device name="SND_DEVICE_IN_VOICE_REC_MIC" acdb_id="62" />
<device name="SND_DEVICE_IN_VOICE_REC_MIC_AEC" acdb_id="62" />
@ -201,9 +215,8 @@
<device name="SND_DEVICE_IN_VOICE_REC_EXTERNAL_MIC" acdb_id="147" />
<device name="SND_DEVICE_IN_VOICE_REC_EXTERNAL_MIC_NN" acdb_id="319" />
<device name="SND_DEVICE_IN_USB_HEADSET_MIC_AEC" acdb_id="244" />
<device name="SND_DEVICE_IN_MIC1" acdb_id="60" />
<device name="SND_DEVICE_IN_MIC2" acdb_id="60" />
<device name="SND_DEVICE_IN_MIC3" acdb_id="60" />
<device name="SND_DEVICE_IN_MIC1" acdb_id="125" />
<device name="SND_DEVICE_IN_MIC2" acdb_id="125" />
<device name="SND_DEVICE_IN_HDMI_MIC" acdb_id="4" />
<device name="SND_DEVICE_IN_BT_SCO_MIC_NREC" acdb_id="122" />
<device name="SND_DEVICE_IN_BT_SCO_MIC_WB_NREC" acdb_id="123" />
@ -215,17 +228,16 @@
<device name="SND_DEVICE_IN_VOICE_REC_DMIC_STEREO" acdb_id="35" />
<device name="SND_DEVICE_IN_CAPTURE_FM" acdb_id="90" />
<device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC_NN" acdb_id="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="44" />
<device name="SND_DEVICE_IN_VOICE_HEADSET_MIC_NN" acdb_id="302" />
<device name="SND_DEVICE_IN_VOICE_USB_HEADSET_MIC_NN" acdb_id="303" />
<device name="SND_DEVICE_IN_SPEAKER_MIC_NN" acdb_id="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_AUX_MIC_AEC_NS" acdb_id="316" />
<device name="SND_DEVICE_IN_AUX_MIC_AEC_NS_NN" acdb_id="316" />
<device name="SND_DEVICE_IN_USB_HEADSET_MIC_NN" acdb_id="306" />
<device name="SND_DEVICE_IN_HEADSET_MIC_NN" acdb_id="305" />
<device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE_NN" acdb_id="305" />
<device name="SND_DEVICE_IN_USB_HEADSET_MIC_NN" acdb_id="320" />
<device name="SND_DEVICE_IN_USB_HEADSET_MIC_AEC_NN" acdb_id="306" />
</acdb_ids>
@ -240,38 +252,62 @@
<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="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_SPEAKER_AND_HEADPHONES" backend="speaker-and-headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_SAFE_AND_HEADPHONES" backend="speaker-and-headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES_HIFI_FILTER" backend="speaker-and-headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_LINE" backend="speaker-and-headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_SAFE_AND_LINE" backend="speaker-and-headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_ANC_HEADSET" backend="speaker-and-headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_HEADSET" backend="headset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOLTE_NB_HEADSET" backend="headset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_ANC_HEADSET" backend="headset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_ANC_HEADSET" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_LINE" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_TTY_FULL_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_TTY_FULL_HEADSET" backend="headset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_TTY_FULL_HEADSET" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_TTY_VCO_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_TTY_VCO_HEADSET" backend="headset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_HANDSET" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_CQA_HANDSET" interface="RX_CDC_DMA_RX_0"/>
<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="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="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_VOICE_TTY_VCO_HEADSET" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_HANDSET" backend="handset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_CQA_HANDSET" backend="handset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOLTE_NB_HANDSET_TMUS" backend="handset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOLTE_NB_ANC_HANDSET" backend="handset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_HAC_HANDSET" backend="handset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_RIGHT" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_CQA_SPEAKER" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOLTE_NB_SPEAKER" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_EXTERNAL_1" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_EXTERNAL_2" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_REVERSE" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_SAFE" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_VBAT" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES_EXTERNAL_1" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES_EXTERNAL_2" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_HANDSET" backend="handset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_ANC_HANDSET" backend="handset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOLTE_NB_HANDSET" backend="handset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOLTE_NB_HAC_HANDSET" backend="handset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_HANDSET_TMUS" backend="handset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_IN_HANDSET_GENERIC_QMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_STEREO" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_VBAT" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_2" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_2_VBAT" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_HDMI" interface="RX_CDC_DMA_RX_0-and-HDMI"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_DISPLAY_PORT" interface="RX_CDC_DMA_RX_0-and-DISPLAY_PORT"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_BT_A2DP" interface="RX_CDC_DMA_RX_0-and-SLIMBUS_7_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_SAFE_AND_BT_A2DP" interface="RX_CDC_DMA_RX_0-and-SLIMBUS_7_RX"/>
<device name="SND_DEVICE_OUT_VOICE_TTY_HCO_HANDSET" backend="handset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_ANC_FB_HEADSET" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_ANC_FB_HEADSET" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_ANC_HANDSET" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_PROTECTED" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_PROTECTED" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_2_PROTECTED" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_PROTECTED_VBAT" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_PROTECTED_VBAT" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_2_PROTECTED_VBAT" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_IN_HANDSET_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_NN" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_TOP" interface="TX_CDC_DMA_TX_3"/>
@ -292,14 +328,14 @@
<device name="SND_DEVICE_IN_SPEAKER_MIC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_NS_NN" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_AUX_MIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_NN" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_AUX_MIC_AEC_NS_NN" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_STEREO" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_AUX_MIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_AUX_MIC_AEC_NS_NN" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_HEADSET_MIC_NN" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
@ -314,6 +350,7 @@
<device name="SND_DEVICE_IN_VOICE_REC_EXTERNAL_MIC_NN" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_HEADSET_MIC_AEC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_HEADSET_MIC_AEC_NN" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_HEADSET_MIC_CQA" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC_NN" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HDMI_MIC" interface="HDMI"/>
@ -324,7 +361,6 @@
<device name="SND_DEVICE_IN_CAMCORDER_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_CAMCORDER_BF" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_CAMCORDER_BF_REVERSE" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_CAMCORDER_AUDIO_ZOOM" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_DMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_DMIC_TMUS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_DMIC" interface="TX_CDC_DMA_TX_3"/>
@ -339,17 +375,22 @@
<device name="SND_DEVICE_IN_VOICE_REC_DMIC_STEREO" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_REC_DMIC_FLUENCE" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_AANC_HANDSET_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_QUAD_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="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_CAPTURE_VI_FEEDBACK" interface="SEC_MI2S_TX"/>
<device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK_MONO_1" interface="SEC_MI2S_TX"/>
<device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK_MONO_2" interface="SEC_MI2S_TX"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_DMIC_BROADSIDE" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_BROADSIDE" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_BROADSIDE" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_NS_BROADSIDE" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_FLUENCE_DMIC_AANC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_QMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_QMIC_AEC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_QMIC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_QMIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_THREE_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC_FLUENCE_PRO" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC" interface="TX_CDC_DMA_TX_3"/>
@ -362,11 +403,14 @@
<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="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_SPEAKER_AND_VOICE_HEADPHONES" backend="speaker-and-headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_AND_VOICE_ANC_HEADSET" backend="speaker-and-headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO" backend="speaker-and-bt-sco" interface="RX_CDC_DMA_RX_0-and-SLIMBUS_7_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_SAFE_AND_BT_SCO" backend="speaker-and-bt-sco" interface="RX_CDC_DMA_RX_0-and-SLIMBUS_7_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO_WB" backend="speaker-and-bt-sco-wb" interface="RX_CDC_DMA_RX_0-and-SLIMBUS_7_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_SAFE_AND_BT_SCO_WB" backend="speaker-and-bt-sco-wb" interface="RX_CDC_DMA_RX_0-and-SLIMBUS_7_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_USB_HEADSET" backend="speaker-and-usb-headset" interface="RX_CDC_DMA_RX_0-and-USB_AUDIO_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_SAFE_AND_USB_HEADSET" backend="speaker-and-usb-headset" interface="RX_CDC_DMA_RX_0-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"/>
@ -386,7 +430,6 @@
<device name="SND_DEVICE_IN_VOICE_RECOG_USB_HEADSET_MIC" backend="usb-headset-mic" interface="USB_AUDIO_TX"/>
<device name="SND_DEVICE_IN_MIC1" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_MIC2" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_MIC3" interface="TX_CDC_DMA_TX_3"/>
</backend_names>
<!-- below values are for ref purpose to OEM, doesn't contain actual hardware info on MTP -->
<microphone_characteristics>

View file

@ -1,337 +0,0 @@
<?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

@ -1,471 +0,0 @@
<?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

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

View file

@ -1,9 +1,20 @@
#Copyright (c) 2021 Fingerprint Cards AB <tech@fingerprints.com>
#
# FPC1020 Touch sensor driver
#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.
device.internal = 1
keyboard.layout = uinput-fpc
keyboard.builtIn = 1
keyboard.orientationAware = 1

View file

@ -1,8 +1,21 @@
# Copyright (C) 2010 The Android Open Source Project
#
# GF3626_Z9 gesture sensor driver
# 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
device.internal = 1
keyboard.layout = uinput_nav
keyboard.builtIn = 1
keyboard.orientationAware = 1

View file

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

View file

@ -1,9 +1,21 @@
#
# FPC1020 Touch sensor driver
#
# Copyright (c) 2021 Fingerprint Cards AB <tech@fingerprints.com>
#
# 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.
# fpc1020 "finger present"
key 618 SYSTEM_NAVIGATION_UP
key 619 SYSTEM_NAVIGATION_DOWN
# key 618 SYSTEM_NAVIGATION_UP
# key 619 SYSTEM_NAVIGATION_DOWN
key 622 SYSTEM_NAVIGATION_LEFT

View file

@ -1,8 +1,16 @@
# Copyright (C) 2010 The Android Open Source Project
#
# GF3626_Z9 gesture sensor driver
# 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.
key 618 SYSTEM_NAVIGATION_UP
key 619 SYSTEM_NAVIGATION_DOWN
# double tap
key 622 SYSTEM_NAVIGATION_LEFT
key 618 SYSTEM_NAVIGATION_UP
key 619 SYSTEM_NAVIGATION_DOWN

View file

@ -1,185 +0,0 @@
[FRONT_TEMP]
algo_type virtual
trip_sensor skin-msm-therm-usr
thresholds -18000
thresholds_clr -20000
sensors camera-therm-usr pmb8350b_therm quiet_therm usb_therm
weights 3 39 5 53
offsets -1000 0 0 0
sampling 1000
math 0
sys_temp
[REPORT-FRONT-TEMP]
algo_type monitor
sampling 300000
sensor FRONT_TEMP
thresholds 42000
thresholds_clr 40000
actions report
action_info 1
[BACK_TEMP]
algo_type virtual
trip_sensor skin-msm-therm-usr
thresholds -18000
thresholds_clr -20000
sensors camera-therm-usr quiet_therm usb_therm
weights 42 37 21
offsets 0 0 0
sampling 1000
math 0
sys_temp
[BACK_PATEMP1]
algo_type virtual
trip_sensor modem-mmw-pa1-usr
thresholds 53000
thresholds_clr 40000
sensors camera-therm-usr quiet_therm usb_therm
weights 42 37 21
offsets 0 0 0
sampling 1000
math 0
[BACK_PATEMP2]
algo_type virtual
trip_sensor modem-mmw-pa2-usr
thresholds 53000
thresholds_clr 40000
sensors camera-therm-usr quiet_therm usb_therm
weights 42 37 21
offsets 0 0 0
sampling 1000
math 0
[REPORT-BACK-TEMP]
algo_type monitor
sampling 300000
sensor BACK_TEMP
thresholds 42000
thresholds_clr 40000
actions report
action_info 1
[DETECT-STANDBY]
algo_type virtual
trip_sensor skin-msm-therm-usr
thresholds -18000
thersholds_clr -20000
sensors cpu_utilization lcd_brightness_value
weights 16 50
sampling 1000
less_than
math 7
[OVERRIDE-CHG]
algo_type monitor
sampling 1000
sensor DETECT-STANDBY
thresholds 1
thresholds_clr 0
actions internal_override
action_info 1
[FREEZE-CHG]
algo_type monitor
sampling 1000
descending
sensor DETECT-STANDBY
thresholds 0
thresholds_clr 1
actions freeze_rule
action_info 1
[MON-MSM-STB]
algo_type monitor
sampling 1000
sensor skin-msm-therm-usr
thresholds 38000 42000 49000
thresholds_clr 35000 38000 42000
actions battery battery battery
action_info 6 5 4
freezing
[MON-MSM-COMB1]
algo_type monitor
sampling 1000
sensor BACK_TEMP
thresholds 35000 37000 38000 41000 43000
thresholds_clr 32000 35000 37000 38000 41000
actions battery battery battery battery battery
action_info 5 4 3 2 1
override_c 10000
[MON-MSM-CPU0]
algo_type monitor
sampling 1000
sensor BACK_TEMP
thresholds 43500 46000 49000
thresholds_clr 42000 43500 46000
actions cpu0 cpu0 cpu0
action_info 1708800 1497600 1305600
[MON-MSM-CPU4]
algo_type monitor
sampling 1000
sensor BACK_TEMP
thresholds 44000 45000 46000 48000 53000
thresholds_clr 42000 44000 45000 47000 50000
actions cpu4 cpu4 cpu4 cpu4 cpu4
action_info 2227200 1996800 1881600 1766400 1440000
[MON-MSM-CPU7]
algo_type monitor
sampling 1000
sensor BACK_TEMP
thresholds 40000 41000 42000 43000 44000
thresholds_clr 38000 40000 41000 42000 43000
actions cpu7 cpu7 cpu7 cpu7 cpu7
action_info 2150400 1785600 1555200 1305600 1075200
[MON-MSM-GPU]
algo_type monitor
sampling 1000
sensor BACK_TEMP
thresholds 42000 44000 47000 52000
thresholds_clr 40000 42000 44000 48000
actions gpu gpu gpu gpu
action_info 676000000 608000000 540000000 491000000
[MON-MODEM1]
algo_type monitor
sampling 5000
sensor BACK_TEMP
thresholds 44500
thresholds_clr 42000
actions modem_skin
action_info 1
[MON-MODEM2]
algo_type monitor
sampling 5000
sensor BACK_PATEMP1
thresholds 49000
thresholds_clr 47000
actions modem_skin
action_info 2
[MON-MODEM3]
algo_type monitor
sampling 5000
sensor BACK_PATEMP2
thresholds 49000
thresholds_clr 47000
actions modem_skin
action_info 2
[MON-PA-FR1]
algo_type monitor
sampling 5000
sensor BACK_TEMP
thresholds 46000
thresholds_clr 44000
actions modem_pa_fr1
action_info 1

View file

@ -10,38 +10,34 @@
TARGET_IS_VAB := true
# Boot animation
TARGET_SCREEN_HEIGHT := 2400
TARGET_SCREEN_WIDTH := 1080
TARGET_SCREEN_HEIGHT := 1600
TARGET_SCREEN_WIDTH := 720
# Screen
TARGET_SCREEN_DENSITY := 400
TARGET_SCREEN_DENSITY := 280
# AAPT
PRODUCT_AAPT_CONFIG := normal
PRODUCT_AAPT_PREF_CONFIG := 400dpi
PRODUCT_AAPT_PREF_CONFIG := 420dpi
PRODUCT_AAPT_PREBUILT_DPI := xxxhdpi xxhdpi xhdpi hdpi
PRODUCT_SHIPPING_API_LEVEL := 30
# Inherit from motorola sm7325-common
$(call inherit-product, device/motorola/sm7325-common/common.mk)
# Inherit from motorola sm6375-common
$(call inherit-product, device/motorola/sm6375-common/common.mk)
# Overlays
PRODUCT_PACKAGES += \
FrameworksResXpeng \
LineageApertureAppXpeng \
LineagePlatformXpeng \
LineageSystemUIXpeng \
SettingsProviderResXpeng \
SystemUIResXpeng
FrameworksResFogos \
LineageSystemUIFogos \
SettingsProviderResFogos \
SystemUIResFogos \
WifiResFogos
# Audio
PRODUCT_COPY_FILES += \
$(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/sku_holi/audio_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_holi/audio_platform_info.xml \
$(LOCAL_PATH)/audio/sku_holi/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_holi/mixer_paths.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 \
@ -50,7 +46,7 @@ PRODUCT_COPY_FILES += \
# Fingerprint
PRODUCT_PACKAGES += \
android.hardware.biometrics.fingerprint@2.1-service.xpeng \
android.hardware.biometrics.fingerprint@2.1-service.fogos \
com.motorola.hardware.biometric.fingerprint@1.0.vendor
$(foreach f,$(wildcard $(LOCAL_PATH)/configs/idc/*.idc),\
@ -66,44 +62,42 @@ $(foreach f,$(wildcard $(LOCAL_PATH)/rootdir/etc/init/*.rc),\
$(foreach f,$(wildcard $(LOCAL_PATH)/rootdir/bin/*.sh),\
$(eval PRODUCT_COPY_FILES += $(f):$(TARGET_COPY_OUT_VENDOR)/bin/$(notdir $f)))
# Init (recovery)
PRODUCT_PACKAGES += \
init.recovery.xpeng.rc \
load_touch.sh
# Keylayout
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/idc/uinput-fpc.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/uinput-fpc.idc \
$(LOCAL_PATH)/configs/idc/uinput_nav.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/uinput_nav.idc \
$(LOCAL_PATH)/configs/keylayout/uinput-fpc.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/uinput-fpc.kl \
$(LOCAL_PATH)/configs/keylayout/uinput_nav.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/uinput_nav.kl
# Lineage Touch
PRODUCT_PACKAGES += \
vendor.lineage.touch@1.0-service.xpeng
# Lights
PRODUCT_PACKAGES += \
android.hardware.lights-service.xpeng
vendor.lineage.touch@1.0-service.fogos
# NFC
PRODUCT_PACKAGES += \
android.hardware.nfc@1.2.vendor \
android.hardware.nfc@1.2-service.st \
android.hardware.nfc@1.2-service.samsung \
nfc_nci_samsung \
SecureElement \
android.hardware.secure_element@1.2.vendor \
com.android.nfc_extras \
libchrome.vendor \
Tag \
nfc_nci.st21nfc.default
Tag
# Permissions
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \
frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \
frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.uicc.xml \
frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \
frameworks/native/data/etc/com.nxp.mifare.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.nxp.mifare.xml
# Sensors
PRODUCT_PACKAGES += \
sensors.xpeng
sensors.fogos
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/sensors/hals.conf:$(TARGET_COPY_OUT_VENDOR)/etc/sensors/hals.conf
# Thermal
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/thermal-engine-xpeng-game-perf.conf:$(TARGET_COPY_OUT_VENDOR)/etc/thermal-engine-xpeng.conf
# Inherit from vendor blobs
$(call inherit-product, vendor/motorola/xpeng/xpeng-vendor.mk)
$(call inherit-product, vendor/motorola/fogos/fogos-vendor.mk)

View file

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

View file

@ -4,9 +4,9 @@
// SPDX-License-Identifier: Apache-2.0
//
cc_binary {
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"],
name: "android.hardware.biometrics.fingerprint@2.1-service.fogos",
vintf_fragments: ["android.hardware.biometrics.fingerprint@2.1-service.fogos.xml"],
init_rc: ["android.hardware.biometrics.fingerprint@2.1-service.fogos.rc"],
defaults: ["hidl_defaults"],
relative_install_path: "hw",
srcs: ["service.cpp", "BiometricsFingerprint.cpp"],

View file

@ -5,7 +5,7 @@
* SPDX-License-Identifier: Apache-2.0
*/
#define LOG_TAG "android.hardware.biometrics.fingerprint@2.1-service.xpeng"
#define LOG_TAG "android.hardware.biometrics.fingerprint@2.1-service.fogos"
#include "BiometricsFingerprint.h"

View file

@ -1,4 +1,4 @@
service vendor.fps_hal /vendor/bin/hw/android.hardware.biometrics.fingerprint@2.1-service.xpeng
service vendor.fps_hal /vendor/bin/hw/android.hardware.biometrics.fingerprint@2.1-service.fogos
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

@ -4,7 +4,7 @@
* SPDX-License-Identifier: Apache-2.0
*/
#define LOG_TAG "android.hardware.biometrics.fingerprint@2.1-service.xpeng"
#define LOG_TAG "android.hardware.biometrics.fingerprint@2.1-service.fogos"
#include <android/log.h>
#include <hidl/HidlTransportSupport.h>

View file

@ -1,33 +0,0 @@
//
// Copyright (C) 2019-2020 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.
cc_binary {
name: "android.hardware.lights-service.xpeng",
relative_install_path: "hw",
init_rc: ["android.hardware.lights.xpeng.rc"],
vintf_fragments: ["android.hardware.lights.xpeng.xml"],
vendor: true,
shared_libs: [
"libbase",
"liblog",
"libhardware",
"libbinder_ndk",
"android.hardware.light-V1-ndk",
],
srcs: [
"Lights.cpp",
"main.cpp",
],
}

View file

@ -1,147 +0,0 @@
/*
* Copyright (C) 2019 The Android Open Source Project
* Copyright (C) 2020-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.
*/
#define LOG_TAG "android.hardware.lights-service.xpeng"
#include "Lights.h"
#include <android-base/file.h>
#include <android-base/logging.h>
/* clang-format off */
#define PPCAT_NX(A, B) A/B
#define PPCAT(A, B) PPCAT_NX(A, B)
#define STRINGIFY_INNER(x) #x
#define STRINGIFY(x) STRINGIFY_INNER(x)
#define CHARGING_ATTR(x) STRINGIFY(PPCAT(/sys/class/leds/charging, x))
/* clang-format on */
namespace aidl {
namespace android {
namespace hardware {
namespace light {
namespace {
// Write value to path and close file.
template <typename T>
inline bool WriteToFile(const std::string& path, T content) {
return ::android::base::WriteStringToFile(std::to_string(content), path);
}
uint32_t RgbaToBrightness(uint32_t color) {
// Extract brightness from AARRGGBB.
uint32_t alpha = (color >> 24) & 0xFF;
// Retrieve each of the RGB colors
uint32_t red = (color >> 16) & 0xFF;
uint32_t green = (color >> 8) & 0xFF;
uint32_t blue = color & 0xFF;
// Scale RGB colors if a brightness has been applied by the user
if (alpha != 0xFF && alpha != 0) {
red = red * alpha / 0xFF;
green = green * alpha / 0xFF;
blue = blue * alpha / 0xFF;
}
return (77 * red + 150 * green + 29 * blue) >> 8;
}
inline bool IsLit(uint32_t color) {
return color & 0x00ffffff;
}
void ApplyNotificationState(const HwLightState& state) {
bool blink = state.flashOnMs > 0 && state.flashOffMs > 0;
bool ok = false;
switch (state.flashMode) {
case FlashMode::HARDWARE:
ok = WriteToFile(CHARGING_ATTR(breath), blink);
// fallback to timed blinking if breath is not supported
if (ok) break;
FALLTHROUGH_INTENDED;
case FlashMode::TIMED:
ok = WriteToFile(CHARGING_ATTR(delay_off), state.flashOffMs);
ok &= WriteToFile(CHARGING_ATTR(delay_on), state.flashOnMs);
// fallback to constant on if timed blinking is not supported
if (ok) break;
FALLTHROUGH_INTENDED;
case FlashMode::NONE:
default:
ok = WriteToFile(CHARGING_ATTR(brightness), RgbaToBrightness(state.color));
break;
}
LOG(DEBUG) << __func__ << ": mode=" << toString(state.flashMode) << ", colorRGB=" << std::hex
<< state.color << std::dec << ", onMS=" << state.flashOnMs
<< ", offMS=" << state.flashOffMs << ", ok=" << ok;
}
} // anonymous namespace
ndk::ScopedAStatus Lights::setLightState(int id, const HwLightState& state) {
static_assert(kAvailableLights.size() == std::tuple_size_v<decltype(notif_states_)>);
if (id == static_cast<int32_t>(LightType::BACKLIGHT)) {
// Stub backlight handling
return ndk::ScopedAStatus::ok();
}
// Update saved state first
bool found = false;
for (size_t i = 0; i < notif_states_.size(); ++i) {
if (kAvailableLights[i].id == id) {
notif_states_[i] = state;
LOG(DEBUG) << __func__ << ": updating id=" << id
<< ", type=" << toString(kAvailableLights[i].type);
found = true;
break;
}
}
if (!found) {
LOG(ERROR) << "Light not supported";
return ndk::ScopedAStatus::fromExceptionCode(EX_UNSUPPORTED_OPERATION);
}
// Lit up in order or fallback to battery light if others are dim
for (size_t i = 0; i < notif_states_.size(); ++i) {
auto&& cur_state = notif_states_[i];
auto&& cur_light = kAvailableLights[i];
if (IsLit(cur_state.color) || cur_light.type == LightType::BATTERY) {
LOG(DEBUG) << __func__ << ": applying id=" << cur_light.id
<< ", type=" << toString(cur_light.type);
ApplyNotificationState(cur_state);
break;
}
}
return ndk::ScopedAStatus::ok();
}
ndk::ScopedAStatus Lights::getLights(std::vector<HwLight>* lights) {
lights->insert(lights->end(), kAvailableLights.begin(), kAvailableLights.end());
// We don't handle backlight but still need to report as supported.
lights->push_back({static_cast<int32_t>(LightType::BACKLIGHT), 0, LightType::BACKLIGHT});
return ndk::ScopedAStatus::ok();
}
} // namespace light
} // namespace hardware
} // namespace android
} // namespace aidl

View file

@ -1,47 +0,0 @@
/*
* Copyright (C) 2020 The Android Open Source Project
* Copyright (C) 2020-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.
*/
#pragma once
#include <aidl/android/hardware/light/BnLights.h>
#include <array>
namespace aidl {
namespace android {
namespace hardware {
namespace light {
// Keep sorted in the order of priority.
constexpr std::array kAvailableLights = {
// id, ordinal, type
HwLight{static_cast<int32_t>(LightType::NOTIFICATIONS), 0, LightType::NOTIFICATIONS},
HwLight{static_cast<int32_t>(LightType::BATTERY), 0, LightType::BATTERY},
};
class Lights : public BnLights {
public:
ndk::ScopedAStatus setLightState(int id, const HwLightState& state) override;
ndk::ScopedAStatus getLights(std::vector<HwLight>* types) override;
private:
std::array<HwLightState, kAvailableLights.size()> notif_states_;
};
} // namespace light
} // namespace hardware
} // namespace android
} // namespace aidl

View file

@ -1,20 +0,0 @@
service vendor.light /vendor/bin/hw/android.hardware.lights-service.xpeng
class hal
user system
group system
shutdown critical
on boot
# Change ownership and permission for leds backlight
chown system system /sys/class/leds/charging/breath
chmod 0664 /sys/class/leds/charging/breath
chown system system /sys/class/leds/charging/brightness
chmod 0664 /sys/class/leds/charging/brightness
chown system system /sys/class/leds/charging/delay_off
chmod 0664 /sys/class/leds/charging/delay_off
chown system system /sys/class/leds/charging/delay_on
chmod 0664 /sys/class/leds/charging/delay_on
# change permission of red leds
chown system system /sys/class/leds/red/brightness
chmod 0664 /sys/class/leds/red/brightness

View file

@ -1,6 +0,0 @@
<manifest version="1.0" type="device">
<hal format="aidl">
<name>android.hardware.light</name>
<fqname>ILights/default</fqname>
</hal>
</manifest>

View file

@ -1,37 +0,0 @@
/*
* Copyright (C) 2020 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <android-base/logging.h>
#include <android/binder_manager.h>
#include <android/binder_process.h>
#include "Lights.h"
using ::aidl::android::hardware::light::Lights;
int main() {
ABinderProcess_setThreadPoolMaxThreadCount(0);
std::shared_ptr<Lights> lights = ndk::SharedRefBase::make<Lights>();
if (!lights) {
return EXIT_FAILURE;
}
const std::string instance = std::string() + Lights::descriptor + "/default";
binder_status_t status = AServiceManager_addService(lights->asBinder().get(), instance.c_str());
CHECK(status == STATUS_OK);
ABinderProcess_joinThreadPool();
return EXIT_FAILURE; // should not reached
}

View file

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

View file

@ -8,22 +8,22 @@
$(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 from fogos device
$(call inherit-product, device/motorola/fogos/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_NAME := lineage_fogos
PRODUCT_DEVICE := fogos
PRODUCT_MANUFACTURER := motorola
PRODUCT_BRAND := motorola
PRODUCT_MODEL := moto g200 5G
PRODUCT_MODEL := moto g34 5G
PRODUCT_GMS_CLIENTID_BASE := android-motorola
PRODUCT_BUILD_PROP_OVERRIDES += \
TARGET_PRODUCT=xpeng_retail \
PRIVATE_BUILD_DESC="xpeng_g-user 12 S1RXS32.50-13-25 5fb68-c44485 release-keys"
TARGET_PRODUCT=fogos_g \
PRIVATE_BUILD_DESC="fogos_g-user 14 U1UG34M.23-82-2 e82316 release-keys"
BUILD_FINGERPRINT := motorola/xpeng_g/xpeng:12/S1RXS32.50-13-25/5fb68-c44485:user/release-keys
BUILD_FINGERPRINT := motorola/fogos_g/fogos:14/U1UG34M.23-82-2/e82316:user/release-keys

View file

@ -84,9 +84,6 @@ blocklist vmw_vsock_virtio_transport
blocklist vmw_vsock_virtio_transport_common
blocklist vsock_diag
blocklist vsock
blocklist qca_cld3_wlan
blocklist qca_cld3_qca6390
blocklist wlan
blocklist torture
blocklist locktorture
blocklist rcutorture
@ -94,16 +91,21 @@ blocklist rcutorture
#
# Motorola platform module block list
#
blocklist utags
blocklist watchdogtest
blocklist moto_f_usbnet
# Copyright (c) 2019-2020, The Linux Foundation. All rights reserved.
#
# Motorola product module block list
#
blocklist goodix_fod_mmi
blocklist fpc1020_mmi
blocklist rbs_fps_mmi
blocklist watchdogtest
blocklist moto_f_usbnet
blocklist qpnp_adaptive_charge
blocklist nova_0flash_mmi
blocklist leds_aw99703
blocklist leds_lm3697
#
blocklist focaltech_0flash_v2_mmi
blocklist mmi_smbcharger_iio
blocklist chipone_tddi_v2_mmi
blocklist ilitek_v3_mmi

View file

@ -1,106 +1,66 @@
qm1d1b0004.ko
sec_nfc.ko
lzo_decompress.ko
wcd9xxx_dlkm.ko
tuner-simple.ko
fc2580.ko
q6_pdr_dlkm.ko
tuner-xc2028.ko
apr_dlkm.ko
slimbus.ko
mc44s803.ko
adsp_loader_dlkm.ko
bolero_cdc_dlkm.ko
swr_dmic_dlkm.ko
tuner-types.ko
wcd937x_dlkm.ko
btpower.ko
llcc_perfmon.ko
hdmi_dlkm.ko
lzo.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
wsa881x_analog_dlkm.ko
lzo_compress.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
lzo-rle.ko
zram.ko
aw882xx_acf.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
aw882xx_k419.ko
swr_ctrl_dlkm.ko
tua9001.ko
platform_dlkm.ko
msm_drm.ko
fc0011.ko
tda9887.ko
si2157.ko
swr_haptics_dlkm.ko
msi001.ko
mxl301rf.ko
qcom_edac.ko
fs1815_dlkm.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
rmnet_shs.ko
utags.ko
mmi_relay.ko
mmi_info.ko
mmi_annotate.ko
sensors_class.ko
watchdogtest.ko
exfat.ko
bm_adsp_ulog.ko
mmi_charger.ko
qti_glink_charger.ko
qpnp_adaptive_charge.ko
mmi_relay.ko
wl2866d.ko
cci_intf.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
watchdogtest.ko
qpnp_adaptive_charge.ko
goodix_fod_mmi.ko
rbs_fps_mmi.ko
fpc1020_mmi.ko
sensors_class.ko
mmi_relay.ko
sx937x_sar.ko
awinic_sar.ko
mmi_sys_temp.ko
ldo_vibrator_mmi.ko
cci_intf.ko
mmi-smbcharger-iio.ko
chipone_tddi_v2_mmi.ko
ilitek_v3_mmi.ko
moto_mm.ko
moto_swap.ko

View file

@ -1,7 +1,12 @@
msm_drm.ko
utags.ko
mmi_relay.ko
sensors_class.ko
touchscreen_mmi.ko
mmi_annotate.ko
mmi_info.ko
nova_0flash_mmi.ko
mmi_annotate.ko
sensors_class.ko
moto_f_usbnet.ko
watchdogtest.ko
qpnp_adaptive_charge.ko
sensors_class.ko
ilitek_v3_mmi.ko
mmi_sys_temp.ko
mmi-smbcharger-iio.ko

View file

@ -1,6 +1,15 @@
# All unpinned blobs below are extracted from xpeng_g-user 12 S1RXS32.50-13-25 5fb68-c44485 release-keys - RETEU variant.
# All unpinned blobs are extracted from fogos_g-user 14 U1UG34M.23-82-2 e82316 release-keys
# ACDB Data
# ACDB-data
vendor/etc/acdbdata/nn_ns_models/candidate__2.7.1.31__3.0.0__eai_1.10_enpu1.pmd
vendor/etc/acdbdata/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.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.6.3_0.0__3.0.0_0.0__eai_1.36_enpu2.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
vendor/etc/acdbdata/Global_cal.acdb
@ -9,144 +18,46 @@ vendor/etc/acdbdata/Hdmi_cal.acdb
vendor/etc/acdbdata/Headset_cal.acdb
vendor/etc/acdbdata/Speaker_cal.acdb
vendor/etc/acdbdata/adsp_avs_config.acdb
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
# 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/lib/libacdbloader.so
vendor/lib64/libacdbloader.so
# Camera
vendor/etc/bst_3ddns_1.cfg
vendor/etc/bst_3ddns_2.cfg
vendor/etc/bst_3ddns_3.cfg
vendor/etc/bstconfig/hdrcfg.cfg
vendor/etc/pwr/PowerFeatureConfig.xml
vendor/etc/pwr/VideoPowerOptFeature.xml
vendor/lib/camera/fdconfigpreview.bin
vendor/lib/camera/fdconfigpreviewlite.bin
vendor/lib/camera/fdconfigvideo.bin
vendor/lib/camera/fdconfigvideolite.bin
vendor/lib/com.qti.chiusecaseselector.so
vendor/lib/com.qti.settings.kamorta.so
vendor/lib/com.qti.settings.kodiak.so
vendor/lib/com.qti.settings.mannar.so
vendor/lib/com.qti.settings.sdm865.so
vendor/lib/com.qti.settings.sm8350.so
vendor/lib/com.qti.stats.common.so
vendor/lib/com.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/hw/camera.qcom.so
vendor/lib/hw/com.qti.chi.override.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/libcamxexternalformatutils.so
vendor/lib64/libC2D2.so
vendor/lib64/libc2d_helper.so
vendor/lib/libbitmlengine.so
vendor/lib/libbitmlenginev2.so
vendor/lib/libc2d_helper.so
vendor/lib/libcamera_nn_stub.so
vendor/lib/libcamerapostproc.so
vendor/lib64/libhdr_impl.so
vendor/lib/libcamxexternalformatutils.so
vendor/lib/libcamxfacialfeatures.so
vendor/lib/libcamxfdalgo.so
vendor/lib/libcamxfdengine.so
vendor/lib/libcamxifestriping.so
vendor/lib/libcamximageformatutils.so
vendor/lib/libcamxqsatalgo.so
vendor/lib/libcamxstatscore.so
vendor/lib/libcamxswispiqmodule.so
vendor/lib/libcamxswprocessalgo.so
vendor/lib/libcamxtintlessalgo.so
vendor/lib/libchilog.so
vendor/lib/libcom.qti.chinodeutils.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
vendor/lib/libmmcamera_faceproc2.so
vendor/lib/libmmcamera_lscv35.so
vendor/lib/libmmcamera_mfnr.so
vendor/lib/libmmcamera_mfnr_t4.so
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
vendor/lib/libvidhance.so
vendor/lib/libvidhance_active_ois.so
vendor/lib/libvidhance_dmbr.so
vendor/lib/libvidhance_face_stabilizer.so
vendor/lib/libvidhance_fbc.so
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/lib64/camera/fdconfigpreview.bin
vendor/lib64/camera/fdconfigpreviewlite.bin
vendor/lib64/camera/fdconfigvideo.bin
vendor/lib64/camera/fdconfigvideolite.bin
vendor/lib64/hw/camera.qcom.so
vendor/lib64/hw/com.qti.chi.override.so
vendor/lib64/com.qti.chiusecaseselector.so
vendor/lib64/com.qti.settings.kamorta.so
vendor/lib64/com.qti.settings.kodiak.so
vendor/lib64/com.qti.settings.mannar.so
vendor/lib64/com.qti.settings.sdm865.so
vendor/lib64/com.qti.settings.sm8350.so
vendor/lib64/com.qti.stats.common.so
vendor/lib64/com.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/hw/camera.qcom.so
vendor/lib64/hw/com.qti.chi.override.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
vendor/lib64/libc2d_helper.so
vendor/lib64/libBST3DDNS.so
vendor/lib64/libBSTHDRDETECT.so
vendor/lib64/libBSTMultiExpoGainHDR.so
vendor/lib64/libBSTNodeUtils.so
vendor/lib64/libcamera_nn_stub.so
vendor/lib64/libcamerapostproc.so
vendor/lib64/libcamxexternalformatutils.so
@ -162,12 +73,18 @@ vendor/lib64/libcamxswprocessalgo.so
vendor/lib64/libcamxtintlessalgo.so
vendor/lib64/libchilog.so
vendor/lib64/libcom.qti.chinodeutils.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/libarcsoft_chi_utils.so
vendor/lib64/libarcsoft_portrait_super_night_se_raw.so
vendor/lib64/libarcsoft_super_night_raw.so
vendor/lib64/libarcsoft_super_night_se_raw.so
vendor/lib64/libportrait_repair_ppl3_ocl.so
vendor/lib64/libmot_chi_desktop_helper.so
vendor/lib64/libmot_engine_settings.so
vendor/lib64/liblowlight_ai_portrait.arcsoft.so
vendor/lib64/libmctfengine_stub.so
vendor/lib64/libmfec.so
vendor/lib64/libmmcamera_bestats.so
vendor/lib64/libmmcamera_cac3.so
@ -178,9 +95,6 @@ vendor/lib64/libmmcamera_mfnr.so
vendor/lib64/libmmcamera_mfnr_t4.so
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
@ -191,86 +105,30 @@ vendor/lib64/libos.so
vendor/lib64/libpowercore.so
vendor/lib64/libqll10.so
vendor/lib64/libqllengine.so
vendor/lib64/libremosaic_wrapper.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
vendor/lib64/libvidhance_active_ois.so
vendor/lib64/libvidhance_dmbr.so
vendor/lib64/libvidhance_face_stabilizer.so
vendor/lib64/libvidhance_fbc.so
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.scve.objecttracker@1.0.so
vendor/lib64/vendor.qti.hardware.scve.panorama@1.0.so
# Camera - Motorola
vendor/etc/init/motorola.hardware.camera.imgtuner@2.0-service.rc
vendor/lib64/hw/motorola.hardware.camera.imgtuner@2.0-impl.so
vendor/lib64/motorola.hardware.camera.imgtuner@1.0.so
vendor/lib64/motorola.hardware.camera.imgtuner@2.0.so
vendor/lib64/motorola.hardware.camera.desktop@1.0.so
vendor/lib64/motorola.hardware.camera.desktop@2.0.so
# Camera - Components
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
vendor/lib/camera/components/com.qti.hvx.addconstant.so
vendor/lib/camera/components/com.qti.hvx.binning.so
vendor/lib/camera/components/com.qti.node.customhwnode.so
vendor/lib/camera/components/com.qti.node.depth.so
vendor/lib/camera/components/com.qti.node.dewarp.so
vendor/lib/camera/components/com.qti.node.dummyrtb.so
vendor/lib/camera/components/com.qti.node.dummysat.so
vendor/lib/camera/components/com.qti.node.eisv2.so
vendor/lib/camera/components/com.qti.node.eisv3.so
vendor/lib/camera/components/com.qti.node.fcv.so
vendor/lib/camera/components/com.qti.node.formatconversion.so
vendor/lib/camera/components/com.qti.node.gpu.so
vendor/lib/camera/components/com.qti.node.memcpy.so
vendor/lib/camera/components/com.qti.node.ml.so
vendor/lib/camera/components/com.qti.node.remosaic.so
vendor/lib/camera/components/com.qti.node.stich.so
vendor/lib/camera/components/com.qti.node.swaidenoiser.so
vendor/lib/camera/components/com.qti.node.swbestats.so
vendor/lib/camera/components/com.qti.node.swcac.so
vendor/lib/camera/components/com.qti.node.swec.so
vendor/lib/camera/components/com.qti.node.swfusion.so
vendor/lib/camera/components/com.qti.node.swlsc.so
vendor/lib/camera/components/com.qti.node.swmctf.so
vendor/lib/camera/components/com.qti.node.swmfnr.so
vendor/lib/camera/components/com.qti.node.swpdpc.so
vendor/lib/camera/components/com.qti.node.swpreprocess.so
vendor/lib/camera/components/com.qti.node.swregistration.so
vendor/lib/camera/components/com.qti.stats.aec.so
vendor/lib/camera/components/com.qti.stats.aecwrapper.so
vendor/lib/camera/components/com.qti.stats.aecxcore.so
vendor/lib/camera/components/com.qti.stats.af.so
vendor/lib/camera/components/com.qti.stats.afd.so
vendor/lib/camera/components/com.qti.stats.afwrapper.so
vendor/lib/camera/components/com.qti.stats.asd.so
vendor/lib/camera/components/com.qti.stats.awb.so
vendor/lib/camera/components/com.qti.stats.awbwrapper.so
vendor/lib/camera/components/com.qti.stats.cnndriver.so
vendor/lib/camera/components/com.qti.stats.haf.so
vendor/lib/camera/components/com.qti.stats.hafoverride.so
vendor/lib/camera/components/com.qti.stats.pdlib.so
vendor/lib/camera/components/com.qti.stats.pdlibsony.so
vendor/lib/camera/components/com.qti.stats.pdlibwrapper.so
vendor/lib/camera/components/com.qti.stats.tracker.so
vendor/lib/camera/components/com.qtistatic.stats.aec.so
vendor/lib/camera/components/com.qtistatic.stats.af.so
vendor/lib/camera/components/com.qtistatic.stats.awb.so
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.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.arcsoft.node.supernightraw.so
vendor/lib64/camera/components/com.bst.node.hdrdetect.so
vendor/lib64/camera/components/com.bst.node.mfnr.so
vendor/lib64/camera/components/com.bst.node.yuvhdr.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
@ -293,8 +151,6 @@ vendor/lib64/camera/components/com.qti.node.stich.so
vendor/lib64/camera/components/com.qti.node.swaidenoiser.so
vendor/lib64/camera/components/com.qti.node.swbestats.so
vendor/lib64/camera/components/com.qti.node.swcac.so
vendor/lib64/camera/components/com.qti.node.swec.so
vendor/lib64/camera/components/com.qti.node.swfusion.so
vendor/lib64/camera/components/com.qti.node.swlsc.so
vendor/lib64/camera/components/com.qti.node.swmctf.so
vendor/lib64/camera/components/com.qti.node.swmfnr.so
@ -316,187 +172,120 @@ vendor/lib64/camera/components/com.qti.stats.hafoverride.so
vendor/lib64/camera/components/com.qti.stats.pdlib.so
vendor/lib64/camera/components/com.qti.stats.pdlibsony.so
vendor/lib64/camera/components/com.qti.stats.pdlibwrapper.so
vendor/lib64/camera/components/com.qti.stats.tracker.so
vendor/lib64/camera/components/com.qtistatic.stats.aec.so
vendor/lib64/camera/components/com.qtistatic.stats.af.so
vendor/lib64/camera/components/com.qtistatic.stats.awb.so
vendor/lib64/camera/components/com.qtistatic.stats.pdlib.so
vendor/lib64/camera/components/com.vidhance.node.ica.so
vendor/lib64/camera/components/com.vidhance.node.processing.so
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_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/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
# Camera - etc
vendor/etc/camera/aec_golden_depth.bin
vendor/etc/camera/aec_golden_wide.bin
vendor/etc/camera/arcsoft_calibration_u_dc.bin
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
vendor/lib/com.qti.feature2.demux.so
vendor/lib/com.qti.feature2.derivedoffline.so
vendor/lib/com.qti.feature2.frameselect.so
vendor/lib/com.qti.feature2.fusion.so
vendor/lib/com.qti.feature2.generic.so
vendor/lib/com.qti.feature2.gs.cedros.so
vendor/lib/com.qti.feature2.gs.kamorta.so
vendor/lib/com.qti.feature2.gs.kodiak.so
vendor/lib/com.qti.feature2.gs.mannar.so
vendor/lib/com.qti.feature2.gs.sdm865.so
vendor/lib/com.qti.feature2.gs.sm8350.so
vendor/lib/com.qti.feature2.hdr.so
vendor/lib/com.qti.feature2.mcreprocrt.so
vendor/lib/com.qti.feature2.memcpy.so
vendor/lib/com.qti.feature2.mfsr.so
vendor/lib/com.qti.feature2.ml.so
vendor/lib/com.qti.feature2.mux.so
vendor/lib/com.qti.feature2.qcfa.so
vendor/lib/com.qti.feature2.rawhdr.so
vendor/lib/com.qti.feature2.realtimeserializer.so
vendor/lib/com.qti.feature2.rt.so
vendor/lib/com.qti.feature2.rtmcx.so
vendor/lib/com.qti.feature2.serializer.so
vendor/lib/com.qti.feature2.statsregeneration.so
vendor/lib/com.qti.feature2.stub.so
vendor/lib/com.qti.feature2.swmf.so
vendor/lib64/com.qti.feature2.anchorsync.so
vendor/lib64/com.qti.feature2.arcrawpro.so
vendor/lib64/com.qti.feature2.demux.so
vendor/lib64/com.qti.feature2.derivedoffline.so
vendor/lib64/com.qti.feature2.frameselect.so
vendor/lib64/com.qti.feature2.fusion.so
vendor/lib64/com.qti.feature2.generic.so
vendor/lib64/com.qti.feature2.gs.cedros.so
vendor/lib64/com.qti.feature2.gs.kamorta.so
vendor/lib64/com.qti.feature2.gs.kodiak.so
vendor/lib64/com.qti.feature2.gs.mannar.so
vendor/lib64/com.qti.feature2.gs.sdm865.so
vendor/lib64/com.qti.feature2.gs.sm8350.so
vendor/lib64/com.qti.feature2.hdr.so
vendor/lib64/com.qti.feature2.mcreprocrt.so
vendor/lib64/com.qti.feature2.memcpy.so
vendor/lib64/com.qti.feature2.mfsr.so
vendor/lib64/com.qti.feature2.ml.so
vendor/lib64/com.qti.feature2.mux.so
vendor/lib64/com.qti.feature2.qcfa.so
vendor/lib64/com.qti.feature2.rawhdr.so
vendor/lib64/com.qti.feature2.realtimeserializer.so
vendor/lib64/com.qti.feature2.rt.so
vendor/lib64/com.qti.feature2.rtmcx.so
vendor/lib64/com.qti.feature2.serializer.so
vendor/lib64/com.qti.feature2.statsregeneration.so
vendor/lib64/com.qti.feature2.stub.so
vendor/lib64/com.qti.feature2.swmf.so
# Camera - ICP
vendor/firmware/CAMERA_ICP.elf
vendor/firmware/CAMERA_ICP_170.elf
# Camera - etc
vendor/etc/camera/anc_detect_model
vendor/etc/camera/anc_track_model
vendor/etc/camera/mot_engine_config.bin
vendor/etc/camera/vidhance.lic
vendor/etc/camera/vidhance_calibration
vendor/etc/camera/vidhance_calibration_2rd
# Camera - Motorola
vendor/bin/hw/motorola.hardware.camera.desktop@2.0-service
vendor/etc/init/motorola.hardware.camera.desktop@2.0-service.rc
vendor/etc/init/motorola.hardware.camera.imgtuner@1.0-service.rc
vendor/lib/motorola.hardware.camera.desktop@1.0.so
vendor/lib/motorola.hardware.camera.desktop@2.0.so
vendor/lib64/motorola.hardware.camera.desktop@1.0.so
vendor/lib64/motorola.hardware.camera.desktop@2.0.so
# Camera - eeprom
vendor/lib64/camera/com.mot.eeprom.mot_gt24p256c_s5kjns_eeprom.so
vendor/lib64/camera/com.mot.eeprom.mot_gt24p64b_ov16a1q_eeprom.so
vendor/lib64/camera/com.mot.eeprom.mot_gt24p64b_s5k3p9_eeprom.so
vendor/lib64/camera/com.mot.eeprom.mot_sc202acs_otp.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_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.flash.aw36514.so
vendor/lib64/camera/com.qti.flash.ocp81375.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_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
vendor/lib64/camera/com.qti.sensor.mot_s5k3p9.so
vendor/lib64/camera/com.qti.sensor.mot_s5kjns.so
vendor/lib64/camera/com.qti.sensor.mot_sc202acs.so
vendor/lib64/camera/com.qti.sensormodule.mot_fogor_s5kjns_qtech.bin
vendor/lib64/camera/com.qti.sensormodule.mot_fogor_sc202acs_sunny.bin
vendor/lib64/camera/com.qti.sensormodule.mot_fogos_ov16a1q_ofilm.bin
vendor/lib64/camera/com.qti.sensormodule.mot_fogos_s5k3p9_qtech.bin
# Camera - tuned
vendor/lib/camera/com.qti.tuned.default.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_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
vendor/lib64/camera/com.qti.tuned.mot_fogo_sc202acs.bin
vendor/lib64/camera/com.qti.tuned.mot_fogor_s5kjns.bin
vendor/lib64/camera/com.qti.tuned.mot_fogos_ov16a1q.bin
vendor/lib64/camera/com.qti.tuned.mot_fogos_s5k3p9.bin
# Display calibration data
vendor/etc/qdcm_calib_data_mipi_mot_vid_tianma_1080p_dsc_678.xml
vendor/etc/qdcm_calib_data_nt36672e_60_Hz_fhd_plus_video_mode_panel_without_DSC.xml
vendor/etc/qdcm_calib_data_nt36672e_fhd_plus_120Hz_Video_panel.xml
vendor/etc/qdcm_calib_data_nt36672e_fhd_plus_144Hz_video_panel.xml
vendor/etc/qdcm_calib_data_mipi_mot_vid_tm_icnl9916c_hdp_652_120.xml
vendor/etc/qdcm_calib_data_mipi_mot_vid_txd_ili9883c_hdp_652_120.xml
# Fingerprint (goodix)
# Display config
vendor/etc/SVIConfig.xml
# Fingerprint
vendor/bin/hw/android.hardware.biometrics.fingerprint@2.1-goodixservice
vendor/bin/hw/android.hardware.biometrics.fingerprint@2.1-service-fpc
vendor/bin/hw/fpc_ident:vendor/bin/fpc_ident
vendor/bin/hw/goodix_ident:vendor/bin/goodix_ident
vendor/etc/init/android.hardware.biometrics.fingerprint@2.1-goodixservice.rc
vendor/etc/init/android.hardware.biometrics.fingerprint@2.1-service-fpc2.rc
vendor/firmware/tm_goodix_cfg_group.bin
vendor/lib64/com.fingerprints.extension@1.0.so
vendor/lib64/hw/fingerprint.goodix.default.so
vendor/lib64/libgf_ca.so
vendor/lib64/libgf_hal.so
vendor/lib64/libgoodixhwfingerprint.so
vendor/lib64/vendor.goodix.hardware.biometrics.fingerprint@3.0.so
# Fingerprint (egistec)
vendor/bin/hw/android.hardware.biometrics.fingerprint@2.1-service-ets
vendor/bin/hw/egis_ident:vendor/bin/egis_ident
vendor/etc/init/android.hardware.biometrics.fingerprint@2.1-service-ets2.rc
vendor/lib64/libRbsFlow.so
vendor/lib64/libets_teeclient_v2.so
vendor/lib64/vendor.egistec.hardware.fingerprint@4.0.so
# Fingerprint (fpc)
vendor/bin/hw/android.hardware.biometrics.fingerprint@2.1-service-fpc
vendor/bin/hw/fpc_ident:vendor/bin/fpc_ident
vendor/etc/init/android.hardware.biometrics.fingerprint@2.1-service-fpc2.rc
vendor/lib64/vendor.qti.hardware.fingerprint@1.0.so
# Firmware
vendor/etc/motorola/12m/chipone-icnl9916c_120hz_hd_plus_vid-primary-fogos.ini
vendor/firmware/aw963xx_reg_0.bin
vendor/firmware/chipone_firmware.bin
vendor/firmware/csot_focal_test_limits.ini
vendor/firmware/focaltech-csot-ft3681-22-0000-fogos.bin
vendor/firmware/fs1815.fsm
vendor/firmware/goodix-tm-gt9916S-23051702-646483c4-fogos.bin
vendor/firmware/ILITEK_FW
vendor/firmware/sec_s3nrn4v_firmware.bin
# HotwordEnrollment
-product/priv-app/HotwordEnrollmentOKGoogleHEXAGON/HotwordEnrollmentOKGoogleHEXAGON.apk
-product/priv-app/HotwordEnrollmentXGoogleHEXAGON/HotwordEnrollmentXGoogleHEXAGON.apk
-product/priv-app/HotwordEnrollmentOKGoogleHEXAGON_WIDEBAND/HotwordEnrollmentOKGoogleHEXAGON_WIDEBAND.apk
-product/priv-app/HotwordEnrollmentXGoogleHEXAGON_WIDEBAND/HotwordEnrollmentXGoogleHEXAGON_WIDEBAND.apk
system_ext/etc/permissions/com.android.hotwordenrollment.common.util.xml
system_ext/framework/com.android.hotwordenrollment.common.util.jar
# NFC
vendor/bin/STFlashTool
# NFC - configs
vendor/etc/libnfc-hal-st.conf
vendor/etc/libnfc-nci-st.conf
vendor/etc/st21nfc_conf_ds.txt
vendor/etc/st21nfc_conf_ss.txt
# NFC firmware
vendor/firmware/st21nfc_fw.bin
vendor/firmware/st21nfc_fw7.bin
vendor/etc/libnfc-PN557.conf
vendor/etc/libnfc-SN220-UICC.conf
vendor/etc/libnfc-SN220.conf
vendor/etc/libnfc-mtp-SN100-UICC.conf
vendor/etc/libnfc-mtp-SN100.conf
vendor/etc/libnfc-mtp-SN100_38_4MHZ.conf
vendor/etc/libnfc-nxp-pnscr.conf
vendor/etc/libnfc-qrd-SN100.conf
vendor/etc/libnfc-qrd-SN100_38_4MHZ.conf
vendor/etc/libnfc-sec-nci.conf
vendor/etc/libnfc-sec-vendor.conf
vendor/etc/nfc_calibration.txt
# OEM
vendor/etc/vhw.xml
@ -505,60 +294,36 @@ vendor/etc/vhw.xml
vendor/lib64/sensors.moto.so
vendor/lib64/sensors.ssc.so
# Sensor - configs
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
# Sensors Configs
vendor/etc/sensors/config/icm4x6xa.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
vendor/etc/sensors/config/sns_aont.json
vendor/etc/sensors/config/sns_basic_gestures.json
vendor/etc/sensors/config/sns_bring_to_ear.json
vendor/etc/sensors/config/sns_ccd.json
vendor/etc/sensors/config/sns_ccd_v2_walk.json
vendor/etc/sensors/config/sns_ccd_v3_1_walk.json
vendor/etc/sensors/config/sns_ccd_v3_walk.json
vendor/etc/sensors/config/sns_cm.json
vendor/etc/sensors/config/sns_dae.json
vendor/etc/sensors/config/sns_device_orient.json
vendor/etc/sensors/config/sns_diag_filter.json
vendor/etc/sensors/config/sns_distance_bound.json
vendor/etc/sensors/config/sns_dpc.json
vendor/etc/sensors/config/sns_facing.json
vendor/etc/sensors/config/sns_fmv.json
vendor/etc/sensors/config/sns_fmv_legacy.json
vendor/etc/sensors/config/sns_geomag_rv.json
vendor/etc/sensors/config/sns_gyro_cal.json
vendor/etc/sensors/config/sns_heart_rate.json
vendor/etc/sensors/config/sns_mag_cal.json
vendor/etc/sensors/config/sns_mag_cal_legacy.json
vendor/etc/sensors/config/sns_multishake.json
vendor/etc/sensors/config/sns_pedometer.json
vendor/etc/sensors/config/sns_rmd.json
vendor/etc/sensors/config/sns_rotv.json
vendor/etc/sensors/config/sns_smd.json
vendor/etc/sensors/config/sns_tilt.json
vendor/etc/sensors/config/sns_tilt_sw_disabled.json
vendor/etc/sensors/config/sns_tilt_sw_enabled.json
vendor/etc/sensors/config/sns_tilt_to_wake.json
vendor/etc/sensors/config/sns_wrist_pedo.json
vendor/etc/sensors/proto/als_mastercal.proto
vendor/etc/sensors/config/strait_bmi3x0_0.json
vendor/etc/sensors/config/strait_default_sensors.json
vendor/etc/sensors/config/strait_dynamic_sensors.json
vendor/etc/sensors/config/strait_ltr569_0.json
vendor/etc/sensors/config/strait_mmc56x3x_0_with_nfc.json
vendor/etc/sensors/config/strait_mmc56x3x_0_without_nfc.json
vendor/etc/sensors/config/strait_power_0.json
vendor/etc/sensors/config/strait_qmc6308_0_with_nfc.json
vendor/etc/sensors/config/strait_qmc6308_0_without_nfc.json
vendor/etc/sensors/config/strait_qmi8658_0.json
vendor/etc/sensors/proto/descriptor.proto
vendor/etc/sensors/proto/mot_barocal.proto
vendor/etc/sensors/proto/mot_camgest.proto
@ -602,6 +367,7 @@ vendor/etc/sensors/proto/sns_ext_svc.proto
vendor/etc/sensors/proto/sns_facing.proto
vendor/etc/sensors/proto/sns_fmv.proto
vendor/etc/sensors/proto/sns_formatter.proto
vendor/etc/sensors/proto/sns_formatter_notify.proto
vendor/etc/sensors/proto/sns_fw.proto
vendor/etc/sensors/proto/sns_game_rv.proto
vendor/etc/sensors/proto/sns_geomag_rv.proto
@ -619,7 +385,6 @@ vendor/etc/sensors/proto/sns_mag_cal.proto
vendor/etc/sensors/proto/sns_mot_factory_cal.proto
vendor/etc/sensors/proto/sns_oem1.proto
vendor/etc/sensors/proto/sns_offbody_detect.proto
vendor/etc/sensors/proto/sns_panel_status.proto
vendor/etc/sensors/proto/sns_pedometer.proto
vendor/etc/sensors/proto/sns_pedometer_wrist.proto
vendor/etc/sensors/proto/sns_physical_sensor_test.proto
@ -646,19 +411,14 @@ vendor/etc/sensors/proto/sns_thermopile.proto
vendor/etc/sensors/proto/sns_threshold.proto
vendor/etc/sensors/proto/sns_tilt.proto
vendor/etc/sensors/proto/sns_tilt_to_wake.proto
vendor/etc/sensors/proto/sns_trimag.proto
vendor/etc/sensors/proto/sns_ultra_violet.proto
vendor/etc/sensors/proto/sns_wrist_tilt_gesture.proto
vendor/etc/sensors/proto/tcs3708.proto
vendor/etc/sensors/sns_reg_config
# Thermal engine - configs
# Thermal configs
vendor/etc/thermal-engine-fogos-camera.conf
vendor/etc/thermal-engine-fogos-game-normal.conf
vendor/etc/thermal-engine-fogos-game-perf.conf
vendor/etc/thermal-engine-fogos.conf
vendor/etc/thermal-engine.conf
# Touchscreen firmware
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
# Touchscreen firmware (for recovery)
vendor/firmware/mp_novatek_ts-NT36675-21101302-6044-xpeng.bin:recovery/root/vendor/firmware/mp_novatek_ts-NT36675-21101302-6044-xpeng.bin
vendor/firmware/novatek_ts-NT36675-21101302-6044-xpeng.bin:recovery/root/vendor/firmware/novatek_ts-NT36675-21101302-6044-xpeng.bin

View file

@ -1,20 +0,0 @@
LOCAL_PATH := $(call my-dir)
# Recovery-Stuffs
include $(CLEAR_VARS)
LOCAL_MODULE := init.recovery.xpeng.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.recovery.xpeng.rc
LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := load_touch.sh
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := bin/load_touch.sh
LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/vendor/bin/
include $(BUILD_PREBUILT)

View file

@ -1,60 +0,0 @@
#!/system/bin/sh
firmware_path=/vendor/firmware
touch_class_path=/sys/class/touchscreen
touch_path=
firmware_file=
wait_for_poweron()
{
local wait_nomore
local readiness
local count
echo "wait until driver reports <ready to flash>..."
wait_nomore=60
count=0
while true; do
readiness=$(cat $touch_path/poweron)
if [ "$readiness" == "1" ]; then
echo "ready to flash!!!"
break;
fi
count=$((count+1))
[ $count -eq $wait_nomore ] && break
sleep 1
echo "not ready; keep waiting..."
done
if [ $count -eq $wait_nomore ]; then
return 1
fi
return 0
}
load_touch()
{
panel_supplier=""
panel_supplier=$(cat /sys/class/touchscreen/*/panel_supplier)
echo "panel supplier vendor is: [$panel_supplier]"
cd $firmware_path
case $panel_supplier in
tianma)
firmware_file="novatek_ts-NT36675-21101302-6044-xpeng.bin"
;;
esac
echo "Firmware file for upgrade $firmware_file"
touch_path=/sys/class/touchscreen/$(ls /sys/class/touchscreen/)
wait_for_poweron
wait
echo "forcing firmware upgrade"
echo 1 > $touch_path/forcereflash
wait
echo "sending reflash command"
echo $firmware_file > $touch_path/doreflash
sleep 1.5
echo "Resetting Touch"
echo 1 > $touch_path/reset
}
load_touch
exit 0

View file

@ -1,39 +0,0 @@
# Copyright (c) 2017-2018, 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 BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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.
#
on boot
start load_touch
on property:sys.usb.config=fastboot
start load_touch
service load_touch vendor/bin/load_touch.sh
oneshot
disabled
user root
group root
seclabel u:r:recovery:s0

View file

@ -1,5 +1,5 @@
runtime_resource_overlay {
name: "FrameworksResXpeng",
name: "FrameworksResFogos",
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.xpeng">
package="android.overlay.fogos">
<overlay android:targetPackage="android" android:isStatic="true" android:priority="600"/>
</manifest>

View file

@ -96,24 +96,31 @@
This array should be equal in size to config_screenBrightnessBacklight. -->
<array name="config_screenBrightnessBacklight">
<item>0</item>
<item>1</item>
<item>2</item>
<item>6</item>
<item>11</item>
<item>28</item>
<item>13</item>
<item>32</item>
<item>45</item>
<item>54</item>
<item>70</item>
<item>83</item>
<item>96</item>
<item>115</item>
<item>134</item>
<item>140</item>
<item>143</item>
<item>223</item>
<item>255</item>
</array>
<array name="config_autoBrightnessLcdBacklightValues">
<item>10</item>
<item>20</item>
<item>40</item>
<item>48</item>
<item>62</item>
<item>74</item>
<item>85</item>
<item>102</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>70</item>
<item>110</item>
<item>160</item>
<item>200</item>
<item>255</item>
</array>
@ -126,7 +133,7 @@
This array should be equal in size to config_screenBrightnessBacklight -->
<array name="config_screenBrightnessNits">
<item>0</item>
<item>2</item>
<item>3</item>
<item>10</item>
<item>20</item>
<item>50</item>
@ -136,15 +143,11 @@
<item>130</item>
<item>150</item>
<item>180</item>
<item>210</item>
<item>220</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>400</item>
</array>
<!-- Stability requirements in milliseconds for accepting a new brightness level. This is used
@ -177,11 +180,11 @@
@see https://www.w3.org/TR/SVG/paths.html#PathData
-->
<string translatable="false" name="config_mainBuiltInDisplayCutout">
M -50,0
L 50,0
L 50,115
L -50,115
Z
M -28,0
L 28,0
L 28,77
L -28,77
Z
</string>
<!-- Indicate whether to allow the device to suspend when the screen is off
@ -238,9 +241,6 @@
<item>0:2:15</item> <!-- ID0:Fingerprint:Strong -->
</string-array>
<!-- Is the notification LED intrusive? Used to decide if there should be a disable option -->
<bool name="config_intrusiveNotificationLed">true</bool>
<!-- 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. -->
@ -299,10 +299,10 @@
</array>
<array name="config_sfps_sensor_props_0" translatable="false">
<item>local:4630946747577212034</item> <!--item>displayId</item-->
<item>1080</item> <!--item>sensorLocationX</item-->
<item>800</item> <!--item>sensorLocationY</item-->
<item>50</item> <!--item>sensorRadius</item-->
<item>local:4630946747577212033</item> <!--item>displayId</item-->
<item>720</item> <!--item>sensorLocationX</item-->
<item>600</item> <!--item>sensorLocationY</item-->
<item>200</item> <!--item>sensorRadius</item-->
</array>
<!-- Indicates whether device has a power button fingerprint sensor. -->
@ -325,7 +325,7 @@
<integer name="config_defaultPeakRefreshRate">120</integer>
<!-- MMS user agent string -->
<string name="config_mms_user_agent" translatable="false">motorolag2005G</string>
<string name="config_mms_user_agent" translatable="false">motog345G</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

@ -5,11 +5,12 @@
-->
<resources>
<!-- Radius of the software rounded corners. -->
<dimen name="rounded_corner_radius">85.0px</dimen>
<dimen name="rounded_corner_radius_bottom">60.0px</dimen>
<dimen name="rounded_corner_radius_top">66.0px</dimen>
<!-- Height of the status bar in portrait. The height should be
Max((status bar content height + waterfall top size), top cutout size) -->
<dimen name="status_bar_height">115px</dimen>
<dimen name="status_bar_height">77.0px</dimen>
<dimen name="status_bar_padding_top_portrait">19.0px</dimen>
<dimen name="status_bar_padding_top_portrait">10.0px</dimen>
</resources>

View file

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8"?>
<device name="Android">
<item name="none">0</item>
<item name="screen.on">120.12</item>
<item name="screen.full">370.48</item>
<item name="wifi.on">1.78</item>
<item name="wifi.active">110.2</item>
<item name="wifi.scan">83.35</item>
<item name="camera.avg">607.96</item>
<item name="camera.flashlight">158.81</item>
<item name="gps.on">50.69</item>
<item name="radio.active">149.95</item>
<item name="radio.scanning">74.8</item>
<array name="radio.on">
<value>51</value>
<value>43</value>
<value>36</value>
<value>29</value>
<value>22</value>
<value>16</value>
<value>10</value>
<value>4.54</value>
</array>
<array name="cpu.clusters.cores">
<value>6</value>
<value>2</value>
</array>
<array name="cpu.core_speeds.cluster0">
<value>300000</value>
<value>576000</value>
<value>691200</value>
<value>940800</value>
<value>1113600</value>
<value>1324800</value>
<value>1516800</value>
<value>1651200</value>
<value>1708800</value>
<value>1804800</value>
</array>
<array name="cpu.core_speeds.cluster1">
<value>691200</value>
<value>940800</value>
<value>1228800</value>
<value>1401600</value>
<value>1516800</value>
<value>1651200</value>
<value>1804800</value>
<value>1900800</value>
<value>2054400</value>
<value>2208000</value>
</array>
<array name="cpu.core_power.cluster0">
<value>22.8</value>
<value>24.7</value>
<value>25.6</value>
<value>31.1</value>
<value>33.9</value>
<value>39.3</value>
<value>43.8</value>
<value>52.3</value>
<value>53.7</value>
<value>57.2</value>
</array>
<array name="cpu.core_power.cluster1">
<value>53.3</value>
<value>68.5</value>
<value>91.2</value>
<value>114.4</value>
<value>130.6</value>
<value>155.6</value>
<value>173.7</value>
<value>184.6</value>
<value>197.3</value>
<value>220.5</value>
</array>
<item name="cpu.cluster_power.cluster0">13.5</item>
<item name="cpu.cluster_power.cluster1">43.3</item>
<item name="cpu.suspend">6.34</item>
<item name="cpu.idle">8.606</item>
<item name="cpu.active">10.72</item>
<item name="battery.capacity">5000</item>
</device>

View file

@ -4,6 +4,6 @@
//
runtime_resource_overlay {
name: "LineagePlatformXpeng",
name: "LineageSystemUIFogos",
vendor: true,
}

View file

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

View file

@ -1,5 +1,5 @@
runtime_resource_overlay {
name: "SettingsProviderResXpeng",
name: "SettingsProviderResFogos",
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.xpeng">
package="com.android.providers.settings.overlay.fogos">
<overlay android:targetPackage="com.android.providers.settings" android:isStatic="true" />
</manifest>

View file

@ -5,5 +5,5 @@
-->
<resources>
<!-- Default for Settings.Global.DEVICE_NAME $1=MODEL-->
<string name="def_device_name_simple">Motorola g200 5G</string>
<string name="def_device_name_simple">moto g34 5G</string>
</resources>

View file

@ -1,5 +1,5 @@
runtime_resource_overlay {
name: "SystemUIResXpeng",
name: "SystemUIResFogos",
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.xpeng">
package="com.android.systemui.overlay.fogos">
<overlay android:targetPackage="com.android.systemui" android:isStatic="true" />
</manifest>

View file

@ -5,12 +5,12 @@
-->
<resources>
<!-- the padding on the start of the statusbar -->
<dimen name="status_bar_padding_start">24dp</dimen>
<dimen name="status_bar_padding_start">8dp</dimen>
<!-- the padding on the top of the statusbar (usually 0) -->
<dimen name="status_bar_padding_top">19.0px</dimen>
<dimen name="status_bar_padding_top">10.0px</dimen>
<dimen name="rounded_corner_content_padding">5.0px</dimen>
<dimen name="rounded_corner_content_padding">11.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,23 +18,24 @@
<!-- 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">9.0px</dimen>
<dimen name="system_icons_keyguard_padding_end">10.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>
<dimen name="physical_power_button_center_screen_location_y">700px</dimen>
<!-- Location on the screen of the center of the fingerprint sensor. For devices with under
display fingerprint sensors, this directly corresponds to the fingerprint sensor's location.
For devices with sensors on the back of the device, this corresponds to the location on the
screen directly in front of the sensor.
By default, this is set to @null to use the horizontal center of the screen. -->
<dimen name="physical_fingerprint_sensor_center_screen_location_x">1080px</dimen>
<dimen name="physical_fingerprint_sensor_center_screen_location_y">700px</dimen>
<!-- Location on the screen of the center of the fingerprint sensor. For devices with under
display fingerprint sensors, this directly corresponds to the fingerprint sensor's location.
For devices with sensors on the back of the device, this corresponds to the location on the
screen directly in front of the sensor. -->
<dimen name="physical_fingerprint_sensor_center_screen_location_y">810px</dimen>
screen directly in front of the sensor.
By default, this is set to @null to use the horizontal center of the screen. -->
<dimen name="physical_fingerprint_sensor_center_screen_location_x">720px</dimen>
<!-- Location on the screen of the center of the physical volume up/down buttons. -->
<dimen name="physical_volume_up_button_center_screen_location_y">300px</dimen>

View file

@ -0,0 +1,10 @@
//
// Copyright (C) 2021 The LineageOS Project
// SPDX-License-Identifier: Apache-2.0
//
runtime_resource_overlay {
name: "WifiResFogos",
sdk_version: "current",
vendor: true,
}

View file

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2021 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.wifi.resources.overlay.fogos">
<overlay
android:isStatic="true"
android:priority="750"
android:targetName="WifiCustomization"
android:targetPackage="com.android.wifi.resources" />
</manifest>

View file

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
* Copyright (C) 2019 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-->
<resources>
<!-- Default access point SSID used for tethering -->
<string name="wifi_tether_configure_ssid_default" translatable="false">moto g34 5G</string>
</resources>

View file

@ -1,106 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<device name="Android">
<item name="none">0</item>
<item name="screen.on">79.683</item>
<item name="screen.full">393.32</item>
<item name="wifi.on">1.293</item>
<item name="wifi.active">34.36</item>
<item name="wifi.scan">4.73</item>
<item name="camera.avg">523.93</item>
<item name="camera.flashlight">200.75</item>
<item name="gps.on">171</item>
<item name="radio.active">86.278</item>
<item name="radio.scanning">33.2</item>
<array name="radio.on">
<value>33.079</value>
<value>30</value>
<value>25</value>
<value>20</value>
<value>15</value>
<value>10</value>
<value>5</value>
<value>1.463</value>
</array>
<array name="cpu.clusters.cores">
<value>4</value>
<value>3</value>
<value>1</value>
</array>
<array name="cpu.core_speeds.cluster0">
<value>300000</value>
<value>691200</value>
<value>806400</value>
<value>940800</value>
<value>1152000</value>
<value>1324800</value>
<value>1516800</value>
<value>1651200</value>
<value>1804800</value>
</array>
<array name="cpu.core_speeds.cluster1">
<value>691200</value>
<value>940800</value>
<value>1228800</value>
<value>1344000</value>
<value>1516800</value>
<value>1651200</value>
<value>1900800</value>
<value>2054400</value>
<value>2131200</value>
<value>2400000</value>
</array>
<array name="cpu.core_speeds.cluster2">
<value>806400</value>
<value>1056000</value>
<value>1324800</value>
<value>1516800</value>
<value>1766400</value>
<value>1862400</value>
<value>2035200</value>
<value>2208000</value>
<value>2380800</value>
<value>2400000</value>
</array>
<array name="cpu.core_power.cluster0">
<value>4.13</value>
<value>6.9</value>
<value>7.26</value>
<value>8.88</value>
<value>12.17</value>
<value>15.7</value>
<value>20.06</value>
<value>25.76</value>
<value>30.9</value>
</array>
<array name="cpu.core_power.cluster1">
<value>26.93</value>
<value>20.23</value>
<value>57.22</value>
<value>71.71</value>
<value>91.77</value>
<value>108.31</value>
<value>158.29</value>
<value>182.69</value>
<value>186.79</value>
<value>230.89</value>
</array>
<array name="cpu.core_power.cluster2">
<value>34.69</value>
<value>49.4</value>
<value>70.56</value>
<value>89.92</value>
<value>117.81</value>
<value>129.49</value>
<value>185.7</value>
<value>184.51</value>
<value>218.2</value>
<value>233.16</value>
</array>
<item name="cpu.cluster_power.cluster0">1.13</item>
<item name="cpu.cluster_power.cluster1">1.13</item>
<item name="cpu.cluster_power.cluster1">1.13</item>
<item name="cpu.suspend">5.5</item>
<item name="cpu.idle">22.71</item>
<item name="cpu.active">6.9</item>
<item name="battery.capacity">5000</item>
</device>

View file

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

View file

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

View file

@ -1,18 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-FileCopyrightText: 2022 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- List of ID of auxiliary cameras that must be ignored by the app. -->
<!-- <string-array name="config_ignoredAuxCameraIds">
<item>2</item>
</string-array> -->
<string-array name="config_ignoredAuxCameraIds">
<item>2</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
</string-array>
</resources>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
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.lineageos.platform.xpeng.lineage">
<overlay
android:isStatic="true"
android:priority="800"
android:targetPackage="com.lineageos.platform" />
</manifest>

View file

@ -1,37 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2016 The CyanogenMod Project
Copyright (C) 2017 The LineageOS Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
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.
-->
<resources>
<!-- All the capabilities of the LEDs on this device, stored as a bit field.
This integer should equal the sum of the corresponding value for each
of the following capabilities present:
LIGHTS_RGB_NOTIFICATION_LED = 1
LIGHTS_RGB_BATTERY_LED = 2
LIGHTS_MULTIPLE_NOTIFICATION_LED = 4 (deprecated)
LIGHTS_PULSATING_LED = 8
LIGHTS_SEGMENTED_BATTERY_LED = 16
LIGHTS_ADJUSTABLE_NOTIFICATION_LED_BRIGHTNESS = 32
LIGHTS_BATTERY_LED = 64
LIGHTS_ADJUSTABLE_BATTERY_LED_BRIGHTNESS = 128
For example, a device support pulsating, RGB notification and
battery LEDs would set this config to 11. -->
<integer name="config_deviceLightCapabilities" translatable="false">248</integer>
</resources>

View file

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

View file

@ -24,10 +24,11 @@ function log {
# 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/rbs_fps_mmi.ko" "/vendor/lib/modules/fpc1020_mmi.ko" "/vendor/lib/modules/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')
vendor_list=('goodix' 'fpc')
kernel_so_list=("/vendor/lib/modules/goodix_fod_mmi.ko" "/vendor/lib/modules/fpc1020_mmi.ko")
kernel_so_name_list=("goodix_fod_mmi.ko" "fpc1020_mmi.ko")
dev_node_list=("/dev/goodix_fp" "/sys/class/fingerprint/fpc1020/irq")
hal_list=('goodix_hal' 'fps_hal')
last_vendor_index=`expr ${#vendor_list[@]} - 1`
vendor_list_size=${#vendor_list[@]}
@ -53,7 +54,7 @@ persist_fps_id=/mnt/vendor/persist/fps/vendor_id
persist_fps_id2=/mnt/vendor/persist/fps/last_vendor_id
FPS_VENDOR_NONE=none
MAX_TIMES=20
MAX_TIMES=50
# this property store FPS_STATUS_NONE or FPS_STATUS_OK
# after start fingerprint hal service, the hal service will set this property.
@ -87,9 +88,23 @@ function start_hal_service(){
setprop $prop_fps_ident $FPS_STATUS_NONE
insmod ${kernel_so_list[$1]}
log "${kernel_so_list[$1]} insmod"
sleep 1
setprop $prop_fps_ident ${vendor_list[$1]}
retry=1
while [ $retry -lt 5 ]
do
if [ -e "${dev_node_list[$1]}" ]; then
log "dev node : ${dev_node_list[$1]} is ready"
break
else
log "driver is not ready, $retry times wait 1s to retry"
sleep 1
fi
let retry++
done
log "start ${hal_list[$1]}"
start ${hal_list[$1]}

View file

@ -1,67 +1,20 @@
import /vendor/etc/init/hw/init.vendor.st21nfc.rc
on early-init && property:ro.bootmode=mot-factory
insmod /vendor/lib/modules/moto_f_usbnet.ko
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/aw882xx_k504.ko
insmod /vendor/lib/modules/bm_adsp_ulog.ko
insmod /vendor/lib/modules/camera.ko
insmod /vendor/lib/modules/cci_intf.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/qti_glink_charger.ko
insmod /vendor/lib/modules/wl2866d.ko
# sec_nfc
import /vendor/etc/init/hw/init.nfc.sec.rc
on post-fs
# Sensors
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
# "Tap to wake" gesture
chown root input /sys/class/sensors/dt-gesture/enable
chmod 0660 /sys/class/sensors/dt-gesture/enable
chown root input /sys/class/sensors/dt-gesture/poll_delay
chmod 0660 /sys/class/sensors/dt-gesture/poll_delay
on post-fs
chown system system /sys/devices/platform/soc/4804000.ufshc/clkgate_enable
chown system system /sys/devices/platform/soc/4804000.ufshc/devfreq/4804000.ufshc/min_freq
on post-fs-data
mkdir /mnt/vendor/persist/tof 0755 vendor_tcmd camera
chown vendor_tcmd camera /mnt/vendor/persist/tof/refspad_cal
chown vendor_tcmd camera /mnt/vendor/persist/tof/xtalk_g1_cal
chown vendor_tcmd camera /mnt/vendor/persist/tof/xtalk_shape_cal
chown vendor_tcmd camera /mnt/vendor/persist/tof/xtalk_production_cal
chown vendor_tcmd camera /mnt/vendor/persist/tof/offset_cal
chmod 0640 /mnt/vendor/persist/tof/refspad_cal
chmod 0640 /mnt/vendor/persist/tof/xtalk_g1_cal
chmod 0640 /mnt/vendor/persist/tof/xtalk_shape_cal
chmod 0640 /mnt/vendor/persist/tof/xtalk_production_cal
chmod 0640 /mnt/vendor/persist/tof/offset_cal
# Param updater data for various modules
mkdir /data/vendor/param 0775 system system
mkdir /data/vendor/tzstorage/goodix 0770 system system
exec_background u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules wlan
on early-boot
# Goodix fingerprint
chown system system /dev/goodix_fp
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
# 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
chown system system /sys/devices/platform/soc/soc:fm_wcn39x0/elna_en
# touch api
chown system system /sys/class/touchscreen/primary/interpolation
chmod 0660 /sys/class/touchscreen/primary/interpolation
@ -69,37 +22,137 @@ on boot
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
chmod 0775 /mnt/vendor/persist/touch
# change permission for stylus
chown system system /sys/class/touchscreen/primary/palm_settings
service capsense_reset /system/vendor/bin/capsense_reset
# Change ownership and permission for bq25960-standalone factory testing
chown system system /sys/class/power_supply/bq25960-standalone/voltage_now
chown system system /sys/bus/iio/devices/iio:device6/in_index_bq25980_cp_enabled_input
chmod 0644 /sys/class/power_supply/bq25960-standalone/voltage_now
chmod 0664 /sys/bus/iio/devices/iio:device6/in_index_bq25980_cp_enabled_input
# Add for Egis Fod fingerprint
mkdir /data/vendor/egis 0770 system system
mkdir /mnt/vendor/persist/egis 0770 system system
mkdir /data/vendor/tzstorage/egis 0770 system system
mkdir /data/vendor/egis/cqa 0770 system system
# Add for after-sale ois gyro cal
mkdir /mnt/vendor/persist/camera/gyro_compat 0770 vendor_tcmd camera
# Add for OIS hall test result
mkdir /mnt/vendor/persist/camera/ois_hall 0770 vendor_tcmd camera
# Add for fod fps calibration
chown system system /sys/class/backlight/panel0-backlight/brightness
chown system system /sys/class/drm/card0-DSI-1/panelName
chown system system /sys/class/drm/card0-DSI-1/panelId
chown system system /d/dri/0/debug/motUtil
chmod 0666 /d/dri/0/debug/motUtil;
chmod 0666 /sys/class/backlight/panel0-backlight/brightness
chmod 0666 /sys/class/drm/card0-DSI-1/panelName
chmod 0666 /sys/class/drm/card0-DSI-1/panelId
#bluetooth sar
write /data/vendor/radio/bluetooth_sar disable
chmod 0644 /data/vendor/radio/bluetooth_sar
chown radio /data/vendor/radio/bluetooth_sar
on early-init
insmod /vendor/lib/modules/leds_aw99703.ko
insmod /vendor/lib/modules/leds_lm3697.ko
exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -r -d /vendor/lib/modules/${ro.vendor.mot.gki.path} zram
on boot
# vibrator hal need to access this sysfs node for AF noise issue
chown system system /sys/devices/platform/soc/soc:mot,cam-actuator/onekey_actuator
chmod 0660 /sys/devices/platform/soc/soc:mot,cam-actuator/onekey_actuator
# change permission for capsensor
chown system system /sys/class/capsense/reset
chown system system /sys/class/capsense/int_state
chown radio system /sys/class/capsense/reg
chown radio system /sys/class/capsense/fw_download_status
chown system system /sys/class/capsense/mode
chmod 0660 /sys/class/capsense/reset
chmod 0660 /sys/class/capsense/int_state
chmod 0660 /sys/class/capsense/reg
chmod 0660 /sys/class/capsense/fw_download_status
# touch
chown system system /sys/class/touchscreen/primary/interpolation
chmod 0660 /sys/class/touchscreen/primary/interpolation
chown system system /sys/class/touchscreen/primary/sample
chmod 0660 /sys/class/touchscreen/primary/sample
chown system system /sys/class/touchscreen/primary/edge
chmod 0660 /sys/class/touchscreen/primary/edge
chown system system /sys/class/touchscreen/primary/gesture
chmod 0660 /sys/class/touchscreen/primary/gesture
chmod 0660 /sys/class/capsense/mode
chmod 0666 /dev/gtp_tools
chmod 0662 /sys/class/leds/vibrator/state
chmod 0666 /sys/class/leds/vibrator/activate
chmod 0662 /sys/class/leds/vibrator/duration
write /proc/sys/vm/dirty_background_bytes 26214400
write /proc/sys/vm/dirty_bytes 104857600
on fs
insmod /vendor/lib/modules/${ro.vendor.mot.gki.path}/rbs_fod_mmi.ko
on boot && property:ro.vendor.mot.gki.path=5.4-gki
insmod /vendor/lib/modules/${ro.vendor.mot.gki.path}/nfc_i2c.ko
on late-init
insmod /vendor/lib/modules/${ro.vendor.mot.gki.path}/qpnp_adaptive_charge.ko
insmod /vendor/lib/modules/${ro.vendor.mot.gki.path}/mmi-smbcharger-iio.ko
exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules/${ro.vendor.mot.gki.path} moto_mm moto_swap
on early-boot
# Add for egis fingerprint
chown system system /dev/esfp0
chmod 0664 /dev/esfp0
chown system camera /dev/cci_intf
chmod 0660 /dev/cci_intf
on charger
insmod /vendor/lib/modules/${ro.vendor.mot.gki.path}/qpnp_adaptive_charge.ko
insmod /vendor/lib/modules/${ro.vendor.mot.gki.path}/mmi-smbcharger-iio.ko
on post-fs-data && property:ro.boot.mode=charger
setprop persist.vendor.hvdcp_opti.start 1
service capsense_reset /vendor/bin/capsense_reset
class core
user system
group system input
disabled
on property:vendor.bluetooth.sar_state=connect
write /data/vendor/radio/bluetooth_sar connect
on property:vendor.bluetooth.sar_state=disconnect
write /data/vendor/radio/bluetooth_sar disconnect
on property:sys.boot_completed=1
start capsense_reset
chown system system /sys/class/touchscreen/primary/stowed
chmod 0660 /sys/class/touchscreen/primary/stowed
service egis_ident /vendor/bin/egis_ident
class late_start
user system
group system
oneshot
disabled
on init
insmod /vendor/lib/modules/${ro.vendor.mot.gki.path}/chipone_tddi_v2_mmi.ko
insmod /vendor/lib/modules/${ro.vendor.mot.gki.path}/ilitek_v3_mmi.ko
service fpc_ident /vendor/bin/fpc_ident
class late_start
user system
group system
oneshot
disabled
on property:dev.bootcomplete=1 && property:ro.vendor.hw.ram=4GB
write /sys/block/dm-0/queue/read_ahead_kb 128
write /sys/block/dm-1/queue/read_ahead_kb 128
write /sys/block/dm-2/queue/read_ahead_kb 128
write /sys/block/dm-3/queue/read_ahead_kb 128
write /sys/block/dm-4/queue/read_ahead_kb 128
write /sys/block/dm-5/queue/read_ahead_kb 128
write /sys/block/${dev.mnt.dev.root}/queue/read_ahead_kb 128
write /sys/block/${dev.mnt.dev.system_ext}/queue/read_ahead_kb 128
write /sys/block/${dev.mnt.dev.product}/queue/read_ahead_kb 128
write /sys/block/${dev.mnt.dev.vendor}/queue/read_ahead_kb 128
write /sys/block/${dev.mnt.dev.data}/queue/read_ahead_kb 128
write /sys/block/${dev.mnt.rootdisk.data}/queue/read_ahead_kb 128
service gf_ident /vendor/bin/goodix_ident
class late_start
user system
group system input uhid
oneshot
disabled

View file

@ -0,0 +1,12 @@
on boot
on post-fs-data
# NFC storage
# mkdir /data/nfc
# NFC permission
chown nfc nfc /dev/sec-nfc
chmod 0770 /dev/sec-nfc
# chown nfc nfc /data/nfc
# chmod 0770 /data/nfc

View file

@ -1,23 +0,0 @@
# This file needs to be executed by vendor_init at boot of the device,
# both in normal and factory mode.
on post-fs
# Change ownership and permision of st nfc device
chown nfc nfc /dev/st21nfc
chmod 0660 /dev/st21nfc
on property:ro.vendor.hw.nfc=true && property:persist.vendor.radio.multisim.config=*
start vendor.stflashtool
on property:ro.vendor.hw.nfc=st && property:persist.vendor.radio.multisim.config=*
start vendor.stflashtool
on property:ro.vendor.hw.nfc=ese_st && property:persist.vendor.radio.multisim.config=*
start vendor.stflashtool
service vendor.stflashtool /vendor/bin/STFlashTool -c /vendor/etc/st21nfc_conf.txt -P vendor.nfc.fw_status
group nfc
user nfc
oneshot
disabled

View file

@ -1,22 +0,0 @@
# 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

@ -5,7 +5,7 @@
//
cc_library_shared {
name: "sensors.xpeng",
name: "sensors.fogos",
defaults: ["hidl_defaults"],
srcs: [
"Sensor.cpp",
@ -29,7 +29,7 @@ cc_library_shared {
"android.hardware.sensors@2.X-multihal",
],
cflags: [
"-DLOG_TAG=\"sensors.xpeng\"",
"-DLOG_TAG=\"sensors.fogos\"",
],
vendor: true,
}

View file

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

View file

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

View file

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

View file

@ -4,9 +4,9 @@
// SPDX-License-Identifier: Apache-2.0
cc_binary {
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"],
name: "vendor.lineage.touch@1.0-service.fogos",
vintf_fragments: ["vendor.lineage.touch@1.0-service.fogos.xml"],
init_rc: ["vendor.lineage.touch@1.0-service.fogos.rc"],
defaults: ["hidl_defaults"],
relative_install_path: "hw",
proprietary: true,

View file

@ -4,7 +4,7 @@
* SPDX-License-Identifier: Apache-2.0
*/
#define LOG_TAG "lineage.touch@1.0-service.xpeng"
#define LOG_TAG "lineage.touch@1.0-service.fogos"
#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.xpeng
service vendor.touch-hal-1-0 /vendor/bin/hw/vendor.lineage.touch@1.0-service.fogos
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='xpeng'
device='fogos'
vendor='motorola'
with open('proprietary-files.txt', 'r') as f:

View file

@ -1,11 +1,11 @@
# Bluetooth
bluetooth.device.default_name=Motorola g200 5G
bluetooth.device.default_name=moto g34 5G
# Camera
persist.vendor.camera.physical.num=4
persist.vendor.camera.physical.num=3
# Motorola
ro.mot.build.customerid=global
# NFC
ro.vendor.hw.nfc=st
persist.vendor.nfc.config_secfile_name=libnfc-sec-nci.conf