1 Commits
bq2 ... vic

Author SHA1 Message Date
74de5fdcc4 lynx: Initialize for Evolution X 10.x
Change-Id: I3a32cede8f5ae5b8dc231ee9110d583d2d0d890a
Signed-off-by: AnierinB <anierin@evolution-x.org>
2025-05-12 03:51:32 +00:00
206 changed files with 285446 additions and 1693 deletions

1
.gitupstream Normal file
View File

@@ -0,0 +1 @@
https://android.googlesource.com/device/google/lynx

View File

@@ -1,7 +1,17 @@
//
// SPDX-FileCopyrightText: 2021 The Android Open Source Project
// SPDX-License-Identifier: Apache-2.0
// Copyright (C) 2021 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.
package {
default_applicable_licenses: ["device_google_lynx_license"],

View File

@@ -1,8 +1,24 @@
#
# SPDX-FileCopyrightText: 2021 The Android Open-Source Project
# SPDX-License-Identifier: Apache-2.0
# Copyright (C) 2021 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.
#
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/aosp_lynx.mk \
$(LOCAL_DIR)/aosp_lynx_hwasan.mk \
$(LOCAL_DIR)/factory_lynx.mk \
$(LOCAL_DIR)/lineage_lynx.mk
COMMON_LUNCH_CHOICES := \
aosp_lynx-trunk_staging-userdebug

4
BoardConfigEvolution.mk Normal file
View File

@@ -0,0 +1,4 @@
#
# SPDX-FileCopyrightText: 2024 The Evolution X Project
# SPDX-License-Identifier: Apache-2.0
#

11
BoardConfigLineage.mk Normal file
View File

@@ -0,0 +1,11 @@
#
# SPDX-FileCopyrightText: 2021-2024 The LineageOS Project
# SPDX-FileCopyrightText: 2021-2024 The Calyx Institute
# SPDX-License-Identifier: Apache-2.0
#
# Kernel modules
BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_BLOCKLIST_FILE := $(DEVICE_PATH)/modules.blocklist.vendor_kernel_boot
BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_RAW := $(strip $(shell cat $(DEVICE_PATH)/modules.load.vendor_kernel_boot))
BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD += $(BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_RAW)
BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES += $(addprefix $(KERNEL_MODULE_DIR)/, $(notdir $(BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_RAW)))

4
OWNERS Normal file
View File

@@ -0,0 +1,4 @@
per-file powerhint.json = jychen@google.com,jenhaochen@google.com,wvw@google.com,joaodias@google.com
# per-file for Pixel device makefiles, see go/pixel-device-mk-owner-checklist for details.
per-file *.mk,*/BoardConfig.mk,{**/,}Android.bp=file:device/google/gs-common:main:/MK_OWNERS

2
PREUPLOAD.cfg Normal file
View File

@@ -0,0 +1,2 @@
[Builtin Hooks]
jsonlint = true

View File

@@ -1,7 +1,24 @@
#
# SPDX-FileCopyrightText: 2021 The Android Open-Source Project
# SPDX-License-Identifier: Apache-2.0
# Copyright 2021 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.
#
TARGET_LINUX_KERNEL_VERSION := 5.10
DEVICE_USES_NO_TRUSTY := true
USE_SWIFTSHADER := true
BOARD_USES_SWIFTSHADER := true
$(call inherit-product, device/google/gs201/aosp_common.mk)
$(call inherit-product, device/google/lynx/device-lynx.mk)
@@ -11,3 +28,6 @@ PRODUCT_DEVICE := lynx
PRODUCT_MODEL := AOSP on Lynx
PRODUCT_BRAND := Android
PRODUCT_MANUFACTURER := Google
DEVICE_MANIFEST_FILE := \
device/google/lynx/manifest.xml

23
aosp_lynx_hwasan.mk Normal file
View File

@@ -0,0 +1,23 @@
#
# Copyright 2023 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.
#
$(call inherit-product, device/google/lynx/aosp_lynx.mk)
PRODUCT_NAME := aosp_lynx_hwasan
# Add "hwaddress" as a global sanitizer if it's missing.
ifeq ($(filter hwaddress,$(SANITIZE_TARGET)),)
SANITIZE_TARGET := $(strip $(SANITIZE_TARGET) hwaddress)
endif

View File

@@ -0,0 +1,118 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright (C) 2023 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.
-->
<audioPlatformConfiguration xmlns:xi="http://www.w3.org/2001/XInclude">
<features>
<feature name="ThermalThrottle">
<argument name="Type" value="SKIN" />
<argument name="Name" value="VIRTUAL-SKIN" />
</feature>
<feature name="BatteryThrottle">
<argument name="Type" value="BCL_VOLTAGE" />
<argument name="Name" value="BCL_AUDIO_BAACL" />
<argument name="Strategy" value="MediaSpeakerAndScreenOn" />
</feature>
<feature name="PlaybackThermalThrottle">
<argument name="PollWaitMs" value="20000" />
<argument name="ThermistorName" value="VIRTUAL-SKIN" />
<argument name="ThermistorType" value="SKIN" />
<argument name="ThrottlingSeverity" value="MODERATE" />
</feature>
</features>
<voipVolume>
<path voipDevice="VoipDevice::kUsb">
<gain>0.01</gain>
<gain>0.02</gain>
<gain>0.04</gain>
<gain>0.10</gain>
<gain>0.21</gain>
<gain>0.47</gain>
<gain>1.00</gain>
</path>
</voipVolume>
<devices>
<device name="bluetooth" />
<device name="usb" />
<device name="speaker" codec="cs35l41">
<argument name="SpeakerNum" value="2" />
<argument name="Rotation" />
<argument name="AcousticShockProtection" />
</device>
</devices>
<tuners>
<tuner type="playback" name="waves">
<argument name="Sink" value="SPK" />
<argument name="ThermistorsName" value="VIRTUAL-SKIN" />
</tuner>
<tuner type="telephony" name="fortemedia">
<argument name="VoIP_DLCHs" value="SPK:2,USB:2" />
<argument name="VoIP_Rate" value="32000" />
<argument name="BOOST_USB_SWB_CLK" value="y" />
<argument name="CCA" value="y" />
</tuner>
<tuner type="capture" name="gs_capture" />
</tuners>
<latencies>
<latency source="primary-playback" sink="speaker" milliseconds="20" />
<latency source="primary-playback" sink="usb-device" milliseconds="10" />
<latency source="primary-playback" sink="usb-headset" milliseconds="10" />
<latency source="primary-playback" sink="bluetooth-a2dp-device"
milliseconds="10" />
<latency source="primary-playback" sink="bluetooth-low-energy-speaker"
milliseconds="10" />
<latency source="deep-buffer-playback" sink="speaker" milliseconds="70" />
<latency source="deep-buffer-playback" sink="usb-device" milliseconds="70" />
<latency source="deep-buffer-playback" sink="usb-headset" milliseconds="70" />
<latency source="deep-buffer-playback" sink="bluetooth-a2dp-device"
milliseconds="180" />
<latency source="compress-offload-playback" sink="speaker" milliseconds="40" />
<latency source="compress-offload-playback" sink="usb-device"
milliseconds="40" />
<latency source="compress-offload-playback" sink="usb-headset"
milliseconds="40" />
<latency source="compress-offload-playback" sink="bluetooth-a2dp-device"
milliseconds="70" />
<latency source="immersive-playback" sink="bluetooth-a2dp-device"
milliseconds="100" />
<latency source="microphones" sink="primary-capture" milliseconds="160" />
<latency source="back-microphones" sink="primary-capture" milliseconds="160" />
<latency source="bluetooth-sco-headset" sink="primary-capture"
milliseconds="40" />
</latencies>
<spatialCapture>
<enablement useCase="primary-capture" deviceInterface="microphones">
<source>MIC</source>
<source>CAMCORDER</source>
<source>VOICE_RECOGNITION</source>
</enablement>
<enablement useCase="primary-capture" deviceInterface="back-microphones">
<source>MIC</source>
<source>CAMCORDER</source>
<source>VOICE_RECOGNITION</source>
</enablement>
</spatialCapture>
<xi:include href="audio_policy_volumes.xml" />
<xi:include href="default_volume_tables.xml" />
</audioPlatformConfiguration>

View File

@@ -0,0 +1,227 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (C) 2015 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- 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.
<volume stream=”AUDIO_STREAM_MUSIC” deviceCategory=””>
<point>0,-9600</point>
<point>100,0</point>
</volume>
-->
<volumes>
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_HEADSET">
<point>0,-4200</point>
<point>33,-2800</point>
<point>66,-1400</point>
<point>100,0</point>
</volume>
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_SPEAKER">
<point>0,-2400</point>
<point>33,-1600</point>
<point>66,-800</point>
<point>100,0</point>
</volume>
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_EARPIECE">
<point>0,-2400</point>
<point>33,-1600</point>
<point>66,-800</point>
<point>100,0</point>
</volume>
<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>
<point>66,-2200</point>
<point>100,-1800</point>
</volume>
<volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_SPEAKER">
<point>1,-4700</point>
<point>33,-3500</point>
<point>66,-2350</point>
<point>100,-1250</point>
</volume>
<volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_EARPIECE"
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">
<point>1,-3350</point>
<point>33,-2100</point>
<point>66,-1000</point>
<point>100,0</point>
</volume>
<volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_EARPIECE"
ref="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_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"
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_SPEAKER"
ref="DEFAULT_DEVICE_CATEGORY_SPEAKER_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_EARPIECE"
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_NON_MUTABLE_HEADSET_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_SPEAKER">
<point>0,-4800</point>
<point>33,-2050</point>
<point>66,-800</point>
<point>100,0</point>
</volume>
<volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_EARPIECE"
ref="DEFAULT_NON_MUTABLE_EARPIECE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_NON_MUTABLE_EXT_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,-3800</point>
<point>33,-2600</point>
<point>66,-1400</point>
<point>100,0</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="DEFAULT_DEVICE_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">
<point>0,-4200</point>
<point>33,-2800</point>
<point>66,-1400</point>
<point>100,0</point>
</volume>
<volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_SPEAKER">
<point>0,-2400</point>
<point>33,-1600</point>
<point>66,-800</point>
<point>100,0</point>
</volume>
<volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_EARPIECE">
<point>0,-4200</point>
<point>33,-2800</point>
<point>66,-1400</point>
<point>100,0</point>
</volume>
<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">
<point>1,-3000</point>
<point>33,-2600</point>
<point>66,-2200</point>
<point>100,-1800</point>
</volume>
<volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_SPEAKER">
<point>1,-4700</point>
<point>33,-3500</point>
<point>66,-2350</point>
<point>100,-1250</point>
</volume>
<volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_EARPIECE"
ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_DEVICE_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,-5500</point>
<point>33,-3650</point>
<point>66,-2700</point>
<point>100,-1800</point>
</volume>
<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"
ref="FULL_SCALE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_EARPIECE"
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_NON_MUTABLE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_SPEAKER"
ref="DEFAULT_NON_MUTABLE_SPEAKER_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_EARPIECE"
ref="DEFAULT_NON_MUTABLE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_NON_MUTABLE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_NON_MUTABLE_HEARING_AID_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ASSISTANT" deviceCategory="DEVICE_CATEGORY_HEADSET"
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ASSISTANT" deviceCategory="DEVICE_CATEGORY_SPEAKER"
ref="DEFAULT_DEVICE_CATEGORY_SPEAKER_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ASSISTANT" deviceCategory="DEVICE_CATEGORY_EARPIECE"
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ASSISTANT" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ASSISTANT" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_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"
ref="FULL_SCALE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_EARPIECE"
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"
ref="FULL_SCALE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_EARPIECE"
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>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,82 @@
#
# Copyright (C) 2021 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.
#
AUDIO_TABLE_FOLDER := lynx
# Enable this to build AIDL
# BUILD_AUDIO_AIDL_VERSION := true
ifeq ($(BUILD_AUDIO_AIDL_VERSION),true)
PRODUCT_COPY_FILES += \
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/aidl_config/audio_platform_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_configuration.xml \
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/aidl_config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/aidl_config/mixer_paths_aidl.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_aidl.xml
else
# Platform Configuration for AudioHAL / SoundTriggerHAL
PRODUCT_COPY_FILES += \
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_configuration_bluetooth_legacy_hal.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_bluetooth_legacy_hal.xml \
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_configuration_a2dp_offload_disabled.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_a2dp_offload_disabled.xml \
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/config/audio_platform_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_configuration.xml \
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/config/sound_trigger_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_configuration.xml \
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_configuration_le_offload_disabled.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_le_offload_disabled.xml \
frameworks/av/services/audiopolicy/config/bluetooth_with_le_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration_7_0.xml
# AudioEffectHAL Configuration
PRODUCT_COPY_FILES += \
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/config/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml
# Mixer Path Configuration for AudioHAL
PRODUCT_COPY_FILES += \
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/config/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml
endif
# Speaker firmware files
SPK_FIRMWARE_PATH := $(AUDIO_TABLE_FOLDER)/cs35l41/fw
SPK_FIRMWARE_FULL_PATH := device/google/lynx/audio/$(SPK_FIRMWARE_PATH)
PRODUCT_COPY_FILES += $(call copy-files,$(wildcard $(SPK_FIRMWARE_FULL_PATH)/*),$(TARGET_COPY_OUT_VENDOR)/firmware)
# Audio tuning
PRODUCT_COPY_FILES += \
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/tuning/bluenote/recording.gatf:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/recording.gatf \
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/tuning/bluenote/smartfeature.gstf:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/smartfeature.gstf \
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/BLUETOOTH.dat:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/BLUETOOTH.dat \
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HANDSFREE.dat:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HANDSFREE.dat \
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HANDSET.dat:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HANDSET.dat \
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HEADSET.dat:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HEADSET.dat \
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/mcps.dat:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/mcps.dat \
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/tuning/waves/waves_config.ini:$(TARGET_COPY_OUT_VENDOR)/etc/waves_config.ini \
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/tuning/waves/waves_preset.mps:$(TARGET_COPY_OUT_VENDOR)/etc/waves_preset.mps
# eng specific
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
PRODUCT_COPY_FILES += \
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/BLUETOOTH.mods:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/BLUETOOTH.mods \
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HANDSFREE.mods:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HANDSFREE.mods \
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HANDSET.mods:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HANDSET.mods \
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HEADSET.mods:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HEADSET.mods
#Bluenote files
PRODUCT_COPY_FILES += \
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/tuning/bluenote/template.xml:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/template.xml \
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/tuning/bluenote/tuning_constraints_combination.xml:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/tuning_constraints_combination.xml
# Mixer Path Configuration for Audio Speaker Calibration Tool crus_sp_cal
PRODUCT_COPY_FILES += \
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/cs35l41/crus_sp_cal_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/crus_sp_cal_mixer_paths.xml
endif

View File

@@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8"?>
<audio_effects_conf version="2.0" xmlns="http://schemas.android.com/audio/audio_effects_conf/v2_0">
<libraries>
<library name="bundle" path="libbundlewrapper.so"/>
<library name="reverb" path="libreverbwrapper.so"/>
<library name="visualizer_sw" path="libvisualizer.so"/>
<library name="downmix" path="libdownmix.so"/>
<library name="dynamics_processing_sw" path="libdynproc.so"/>
<library name="loudness_enhancer" path="libldnhncr.so"/>
<library name="proxy" path="libeffectproxy.so"/>
<library name="offload_effect" path="liboffloadeffect.so"/>
<library name="haptic_generator" path="libhapticgenerator.so"/>
</libraries>
<effects>
<effectProxy name="bassboost" library="proxy" uuid="2f0871a2-c93c-4824-9664-42eb2909f2ef">
<libsw library="bundle" uuid="8631f300-72e2-11df-b57e-0002a5d5c51b"/>
<libhw library="offload_effect" uuid="c7e3b29d-e797-4cf9-9912-17c1956510cc"/>
</effectProxy>
<effectProxy name="virtualizer" library="proxy" uuid="626499c6-647e-455e-8c45-2d106e23c755">
<libsw library="bundle" uuid="1d4033c0-8557-11df-9f2d-0002a5d5c51b"/>
<libhw library="offload_effect" uuid="f8f88a03-fdf8-4554-8e60-77fbf8f2d3b0"/>
</effectProxy>
<effectProxy name="equalizer" library="proxy" uuid="49004f03-3391-4c44-97dd-a043d526ea7d">
<libsw library="bundle" uuid="ce772f20-847d-11df-bb17-0002a5d5c51b"/>
<libhw library="offload_effect" uuid="50deaa30-4a83-4b1f-bfe3-dec6d605ede0"/>
</effectProxy>
<effect name="volume" library="bundle" uuid="119341a0-8469-11df-81f9-0002a5d5c51b"/>
<effectProxy name="reverb_env_aux" library="proxy" uuid="b8154738-a0a1-4fc0-bb79-c845a3197739">
<libsw library="reverb" uuid="4a387fc0-8ab3-11df-8bad-0002a5d5c51b"/>
<libhw library="offload_effect" uuid="0c84bcd9-bce4-441b-ba9e-51f80897c949"/>
</effectProxy>
<effectProxy name="reverb_env_ins" library="proxy" uuid="ba0f19fe-8790-4831-a58b-1f3299dd0bae">
<libsw library="reverb" uuid="c7a511a0-a3bb-11df-860e-0002a5d5c51b"/>
<libhw library="offload_effect" uuid="86d1877a-127f-4bdc-9665-c958903ad7b2"/>
</effectProxy>
<effectProxy name="reverb_pre_aux" library="proxy" uuid="80974a8b-b3be-4c21-8c0b-b392a54e13bc">
<libsw library="reverb" uuid="f29a1400-a3bb-11df-8ddc-0002a5d5c51b"/>
<libhw library="offload_effect" uuid="4f90220c-9742-4467-a9d7-122f85c01195"/>
</effectProxy>
<effectProxy name="reverb_pre_ins" library="proxy" uuid="c02d7dce-ca56-4aea-8c83-bbb53e5600e8">
<libsw library="reverb" uuid="172cdf00-a3bc-11df-a72f-0002a5d5c51b"/>
<libhw library="offload_effect" uuid="a2cf6b45-360b-49f3-94d7-fdb9837f89e8"/>
</effectProxy>
<effectProxy name="visualizer" library="proxy" uuid="b27271d9-64d6-413c-b316-80005ad09008">
<libsw library="visualizer_sw" uuid="d069d9e0-8329-11df-9168-0002a5d5c51b"/>
<libhw library="offload_effect" uuid="99fb2ecb-3426-4a0e-8082-1a1da5604b7d"/>
</effectProxy>
<effectProxy name="dynamics_processing" library="proxy" uuid="dcf01474-8982-11ec-a8a3-0242ac120002">
<libsw library="dynamics_processing_sw" uuid="e0e6539b-1781-7261-676f-6d7573696340"/>
<libhw library="offload_effect" uuid="1bf15eb7-8f49-4fd8-8380-0767fd5680f3"/>
</effectProxy>
<effect name="downmix" library="downmix" uuid="93f04452-e4fe-41cc-91f9-e475b6d1d69f"/>
<effect name="loudness_enhancer" library="loudness_enhancer" uuid="fa415329-2034-4bea-b5dc-5b381c8d1e2c"/>
<effect name="aec" library="offload_effect" uuid="28c28780-ec8b-48b6-8590-8c84557d797d"/>
<effect name="ns" library="offload_effect" uuid="62ff2836-d050-43c3-9c2d-94a73dad2c64"/>
<effect name="haptic_generator" library="haptic_generator" uuid="97c4acd1-8b82-4f2f-832e-c2fe5d7a9931"/>
</effects>
<postprocess>
</postprocess>
<preprocess>
<stream type="voice_communication">
<apply effect="aec"/>
<apply effect="ns"/>
</stream>
</preprocess>
</audio_effects_conf>

View File

@@ -0,0 +1,301 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Copyright (c) 2019, The Linux Foundation. All rights reserved. -->
<!-- -->
<!-- Redistribution and use in source and binary forms, with or without -->
<!-- modification, are permitted provided that the following conditions are -->
<!-- met: -->
<!-- * Redistributions of source code must retain the above copyright -->
<!-- notice, this list of conditions and the following disclaimer. -->
<!-- * Redistributions in binary form must reproduce the above -->
<!-- copyright notice, this list of conditions and the following -->
<!-- disclaimer in the documentation and/or other materials provided -->
<!-- with the distribution. -->
<!-- * Neither the name of The Linux Foundation nor the names of its -->
<!-- contributors may be used to endorse or promote products derived -->
<!-- from this software without specific prior written permission. -->
<!-- -->
<!-- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
<!-- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
<!-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
<!-- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
<!-- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
<!-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
<!-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
<!-- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
<!-- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
<audio_platform_configuration>
<hw_intf>
<intf id="BE_HW_RX_INTF_0" name="TDM_RX_0" min_bit="24" min_chan="2" min_rate="48000" block_id="16"/>
<intf id="BE_HW_RX_INTF_1" name="TDM_RX_1" min_bit="24" min_chan="2" min_rate="48000" block_id="17"/>
<intf id="BE_HW_RX_INTF_2" name="USB_RX" min_bit="24" min_chan="2" min_rate="48000" block_id="20"/>
<intf id="BE_HW_RX_INTF_3" name="I2S_RX_0" min_bit="24" min_chan="2" min_rate="48000" block_id="18"/>
<!--intf id="BE_HW_RX_INTF_2" name="USB_RX" min_bit="24" min_chan="2" min_rate="48000" ctrl_config="USB device" ctrl_rate="Sample Rate" ctrl_bit="Bit Width" ctrl_chan="Channel"/-->
<!--intf id="BE_HW_RX_INTF_3" name="BT_RX"/-->
<intf id="BE_VIRTUAL_VOICE_RX_TUNING" block_id="19"/>
<intf id="BE_VIRTUAL_VOICE_TX_TUNING" block_id="19"/>
<intf id="BE_HW_TX_INTF_0" block_id="134,128,137"/>
<intf id="BE_VIRTUAL_CRYSTAL_CLEAR_AUDIO_TUNING" block_id="138"/>
</hw_intf>
<product_lists>
<product name="Blackbird">
<id value="18d1:5033"/>
</product>
<product name="Condor">
<id value="18d1:5034"/>
</product>
<product name="Condor_Sprint">
<id value="18d1:5038"/>
</product>
<product name="Condor_Sprint2">
<id value="18d1:5036"/>
</product>
</product_lists>
<!-- The microphone capability is fake data -->
<microphone_characteristics>
<microphone device_id="builtin_mic_1" type="AUDIO_DEVICE_IN_BUILTIN_MIC" address="bottom" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
group="0" index_in_the_group="0" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="93"
frequencies="100.00 106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00 20000.00"
responses="-0.78 -0.71 -0.64 -0.60 -0.55 -0.50 -0.47 -0.42 -0.39 -0.36 -0.34 -0.33 -0.32 -0.29 -0.28 -0.28 -0.27 -0.25 -0.25 -0.24 -0.23 -0.23 -0.22 -0.22 -0.19 -0.17 -0.15 -0.15 -0.14 -0.14 -0.12 -0.11 -0.10 -0.10 -0.08 -0.07 -0.07 -0.04 -0.03 -0.01 0.00 0.04 0.06 0.07 0.08 0.13 0.09 0.14 0.19 0.23 0.28 0.29 0.31 0.37 0.88 0.86 0.77 0.78 0.84 0.86 1.05 1.12 1.18 1.25 1.43 1.66 1.83 2.02 2.23 2.59 2.84 3.35 4.01 6.82 6.62 6.42 7.30 8.23 7.54 12.68 13.76 18.69 19.68 20.90 23.70 25.10 21.65 16.18 18.84 25.44 23.48 23.22 24.89"
sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 0.0 1.0" geometric_location="0.0269 0.0058 0.0079" />
<microphone device_id="builtin_mic_2" type="AUDIO_DEVICE_IN_BACK_MIC" address="back" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
group="0" index_in_the_group="1" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="92"
frequencies="106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00 20000.00"
responses="-0.75 -0.74 -0.69 -0.65 -0.62 -0.61 -0.56 -0.53 -0.50 -0.47 -0.43 -0.40 -0.37 -0.36 -0.33 -0.30 -0.28 -0.25 -0.24 -0.24 -0.24 -0.25 -0.24 -0.12 -0.10 -0.08 -0.09 -0.07 -0.07 -0.06 -0.06 -0.06 -0.05 -0.04 -0.05 -0.04 -0.01 0.02 0.02 0.00 0.02 0.03 0.07 0.10 0.10 0.13 0.01 0.01 0.10 0.11 0.19 0.24 0.38 0.46 0.26 0.27 0.43 0.76 0.75 1.09 1.09 0.94 1.06 1.21 1.47 1.45 1.36 2.07 2.85 2.90 3.85 4.65 5.84 5.46 6.15 7.50 8.30 10.62 12.70 16.65 20.95 25.41 26.32 20.20 16.60 11.24 7.85 7.62 20.19 7.32 2.87 5.18"
sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 1.0 0.0" geometric_location="0.0546 0.1456 0.00415" />
<microphone device_id="builtin_mic_3" type="AUDIO_DEVICE_IN_BUILTIN_MIC" address="top" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
group="0" index_in_the_group="2" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="92"
frequencies="100.00 106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00"
responses="-9.24 -9.31 -9.39 -9.45 -9.46 -9.47 -9.50 -9.52 -9.51 -9.52 -9.51 -9.50 -9.49 -9.47 -9.48 -9.49 -9.48 -9.50 -9.51 -9.53 -9.55 -9.59 -9.63 -9.67 -9.58 -9.57 -9.65 -9.68 -9.71 -9.75 -9.79 -9.84 -9.87 -9.87 -9.90 -9.90 -9.91 -9.97 -10.01 -10.05 -9.85 -9.93 -9.94 -9.98 -10.04 -10.12 -10.28 -10.25 -10.01 -9.86 -9.81 -9.82 -9.61 -9.46 -8.27 -8.42 -8.98 -8.99 -8.82 -9.21 -8.92 -8.97 -9.30 -9.44 -9.52 -9.28 -9.09 -8.81 -7.02 -5.72 -5.30 -7.26 -8.39 -12.28 -8.23 -6.99 -5.52 -4.87 -3.82 -6.09 0.00 -2.15 -0.26 1.48 5.22 10.92 6.41 9.55 12.96 3.35 22.00 19.75"
sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 0.0 1.0" geometric_location="0.0274 0.14065 0.0079" />
</microphone_characteristics>
<!-- The microphone mapping of backend device is fake data -->
<input_backend_cfg_mic_mapping>
<backend_cfg in_cfg="IN_CAMCORDER_LANDSCAPE_BE_CFG">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</backend_cfg>
<backend_cfg in_cfg="IN_CAMCORDER_INVERT_LANDSCAPE_BE_CFG">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</backend_cfg>
<backend_cfg in_cfg="IN_CAMCORDER_PORTRAIT_BE_CFG">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</backend_cfg>
<backend_cfg in_cfg="IN_CAMCORDER_SELFIE_LANDSCAPE_BE_CFG">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</backend_cfg>
<backend_cfg in_cfg="IN_CAMCORDER_SELFIE_INVERT_LANDSCAPE_BE_CFG">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</backend_cfg>
<backend_cfg in_cfg="IN_CAMCORDER_SELFIE_PORTRAIT_BE_CFG">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</backend_cfg>
<backend_cfg in_cfg="IN_HANDSET_MIC_BE_CFG">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</backend_cfg>
<backend_cfg in_cfg="IN_VOICECALL_HANDSET_MIC_BE_CFG">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</backend_cfg>
<backend_cfg in_cfg="IN_VOICECALL_SPEAKER_MIC_BE_CFG">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</backend_cfg>
<backend_cfg in_cfg="IN_USB_TTY_VCO_MIC_BE_CFG">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</backend_cfg>
<backend_cfg in_cfg="IN_VOICE_RECOGN_MIC_BE_CFG">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
</backend_cfg>
<backend_cfg in_cfg="IN_UNPROCESSED_MIC_BE_CFG">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
</backend_cfg>
<backend_cfg in_cfg="IN_UNPROCESSED_DUAL_MIC_BE_CFG">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
</backend_cfg>
<backend_cfg in_cfg="IN_UNPROCESSED_TRIPLE_MIC_BE_CFG">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
</backend_cfg>
</input_backend_cfg_mic_mapping>
<usecase_attr>
<!-- for output with AUDIO_OUTPUT_FLAG_RAW, 32 periods * 64 frames(around 1.3ms) * 2ch * 4(s32) = 16384 bytes -->
<usecase id="UC_RAW_PLAYBACK" dev1="23" dyn_path="true" dsp_vol="false" mmap="true" period="64" period_num="32"/>
<!-- for output with AUDIO_OUTPUT_FLAG_PRIMARY|AUDIO_OUTPUT_FLAG_FAST, 4 * 10ms buffer -->
<usecase id="UC_LOW_LATENCY_PLAYBACK" dev1="1" dyn_path="true" dsp_vol="false" mmap="false" period="10" period_num="4"/>
<!-- for output with AUDIO_OUTPUT_FLAG_MMAP_NOIRQ, 40 periods * 48 frames/period(=1ms w/ 48k sample rate) * 2ch *4(float) = 15360 bytes -->
<usecase id="UC_MMAP_PLAYBACK" dev1="0" dyn_path="true" dsp_vol="false" mmap="true" period="1" period_num="40"/>
<!-- for output with AUDIO_OUTPUT_FLAG_DEEP_BUFFER, 4 * 20ms buffer -->
<usecase id="UC_DEEP_BUFFER_PLAYBACK" dev1="5" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="4"/>
<!-- dev1: voice-call downlink dev2: voice-clal uplink -->
<usecase id="UC_VOICE_CALL" dev1="4" dev2="11"/>
<!-- for output with AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD, 4 * 128KB buffer -->
<usecase id="UC_COMPRESSED_OFFLOAD_PLAYBACK" dev1="6" dyn_path="true" dsp_vol="true" mmap="false" period="131072" period_num="4" pre_proc_id="14"/>
<!-- dev1: audio dev2: haptic -->
<usecase id="UC_HAPTIC_AUDIO" dev1="2" dev2="7" period="10" period_num="4"/>
<!-- for VOIP output, 4 * 10ms buffer -->
<usecase id="UC_VOIP_PLAYBACK" dev1="16" dyn_path="true" dsp_vol="true" mmap="false" period="10" period_num="4" pcm_ch="2"/>
<!-- for input -->
<usecase id="UC_AUDIO_RECORD" dev1="8" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="4"/>
<usecase id="UC_HOSTLESS_UL" dev1="15"/>
<!-- for VOIP input, 4 * 10ms buffer -->
<usecase id="UC_VOIP_RECORD" dev1="17" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="2"/>
<!-- for input wit AUDIO_INPUT_FLAG_FAST 480 periods * 1ms buffer, 16-bit, 2ch, buffer size 92160 bytes-->
<usecase id="UC_LOW_LATENCY_AUDIO_RECORD" dev1="10" dyn_path="true" dsp_vol="false" mmap="true" period="1" period_num="480"/>
<!-- for input wit AUDIO_INPUT_FLAG_MMAP_NOIRQ 240 periods * 1ms buffer, 32-bit,2 ch, buffer size 92160 bytes -->
<usecase id="UC_MMAP_RECORD" dev1="9" dyn_path="true" mmap="true" period="1" period_num="240"/>
<!-- for hifi -->
<usecase id="UC_HIFI_PLAYBACK" dev1="25" period="20" period_num="4"/>
<usecase id="UC_HIFI_RECORD" dev1="26" period="20" period_num="4"/>
</usecase_attr>
<dsp_latency>
<usecase id="UC_LOW_LATENCY_PLAYBACK" type="playback">
<be_cfg be_id="OUT_SPEAKER_BE_CFG" latency="20000"/>
<be_cfg be_id="OUT_USB_HEADSET_BE_CFG" latency="10000"/>
<be_cfg be_id="OUT_USB_HEADPHONE_BE_CFG" latency="10000"/>
<be_cfg be_id="OUT_A2DP_BE_CFG" latency="10000"/>
</usecase>
<usecase id="UC_DEEP_BUFFER_PLAYBACK" type="playback">
<be_cfg be_id="OUT_SPEAKER_BE_CFG" latency="70000"/>
<be_cfg be_id="OUT_USB_HEADSET_BE_CFG" latency="70000"/>
<be_cfg be_id="OUT_USB_HEADPHONE_BE_CFG" latency="70000"/>
<be_cfg be_id="OUT_A2DP_BE_CFG" latency="100000"/>
</usecase>
<usecase id="UC_AUDIO_RECORD" type="capture">
<be_cfg be_id="IN_CAMCORDER_LANDSCAPE_BE_CFG" latency="100000"/>
<be_cfg be_id="IN_CAMCORDER_INVERT_LANDSCAPE_BE_CFG" latency="100000"/>
<be_cfg be_id="IN_CAMCORDER_PORTRAIT_BE_CFG" latency="100000"/>
<be_cfg be_id="IN_CAMCORDER_SELFIE_LANDSCAPE_BE_CFG" latency="100000"/>
<be_cfg be_id="IN_CAMCORDER_SELFIE_INVERT_LANDSCAPE_BE_CFG" latency="100000"/>
<be_cfg be_id="IN_CAMCORDER_SELFIE_PORTRAIT_BE_CFG" latency="100000"/>
<be_cfg be_id="IN_CAMCORDER_MIC_BE_CFG" latency="100000"/>
<be_cfg be_id="IN_CAMCORDER_TRIPLE_MIC_BE_CFG" latency="100000"/>
<be_cfg be_id="IN_BTSCO_MIC_BE_CFG" latency="100000"/>
<be_cfg be_id="IN_BTSCO_MIC_NREC_BE_CFG" latency="100000"/>
<be_cfg be_id="IN_BTSCO_MIC_WB_BE_CFG" latency="100000"/>
<be_cfg be_id="IN_BTSCO_MIC_WB_NREC_BE_CFG" latency="100000"/>
</usecase>
</dsp_latency>
<soundcard_name name="google,aoc-snd-card" />
<features>
<feature name="BatteryThrottle=Type:BCL_VOLTAGE,Name:BCL_AUDIO_BAACL,Strategy:MediaSpeakerAndScreenOn"/>
<feature name="PlaybackThermalThrottle=PollWaitMs:20000,ThermistorName:VIRTUAL-SKIN,ThermistorType:SKIN,ThrottlingSeverity:MODERATE"/>
</features>
<cfg_attr>
<cfg id="OUT_SPEAKER_BE_CFG" intf_name="TDM_RX_0" mux="HW_MUX_GP_0" tuning_id="2"/>
<cfg id="OUT_HAC_HANDSET_BE_CFG" intf_name="TDM_RX_1" mux="HW_MUX_GP_1" be_path="hac-handset"/>
<cfg id="OUT_USB_HEADSET_BE_CFG">
<override product="Blackbird" tuning_id="22"/>
<override product="Condor" tuning_id="33"/>
</cfg>
<cfg id="OUT_USB_TTY_FULL_BE_CFG" be_path="usb-headphone" codec_path="usb-headphone"/>
<cfg id="OUT_USB_TTY_VCO_BE_CFG" be_path="usb-headphone" codec_path="usb-headphone"/>
<cfg id="OUT_USB_TTY_HCO_BE_CFG" be_path="NULL" codec_path="voice-speaker"/>
<cfg id="IN_USB_TTY_FULL_MIC_BE_CFG" be_path="usb-headset-mic" codec_path="usb-headset-mic" mux="HW_MUX_GP_0"/>
<cfg id="IN_USB_TTY_VCO_MIC_BE_CFG" be_path="NULL" codec_path="voice-speaker-mic"/>
<cfg id="IN_USB_TTY_HCO_MIC_BE_CFG" be_path="usb-headset-mic" codec_path="usb-headset-mic" mux="HW_MUX_GP_0"/>
<cfg id="IN_SPK_VI_BE_CFG" codec_path="NULL" be_path="spk-vi"/>
<cfg id="IN_HANDSET_MIC_BE_CFG" tuning_id="62"/>
<cfg id="IN_HANDSET_DUAL_MIC_BE_CFG" tuning_id="63"/>
<cfg id="IN_CAMCORDER_LANDSCAPE_BE_CFG" tuning_id="70"/>
<cfg id="IN_CAMCORDER_INVERT_LANDSCAPE_BE_CFG" tuning_id="71"/>
<cfg id="IN_CAMCORDER_PORTRAIT_BE_CFG" tuning_id="72"/>
<cfg id="IN_CAMCORDER_SELFIE_LANDSCAPE_BE_CFG" tuning_id="73"/>
<cfg id="IN_CAMCORDER_SELFIE_INVERT_LANDSCAPE_BE_CFG" tuning_id="74"/>
<cfg id="IN_CAMCORDER_SELFIE_PORTRAIT_BE_CFG" tuning_id="75"/>
<cfg id="IN_CAMCORDER_MIC_BE_CFG" tuning_id="70"/>
<cfg id="IN_CAMCORDER_TRIPLE_MIC_BE_CFG" tuning_id="70"/>
<cfg id="IN_BTSCO_MIC_BE_CFG" mux="HW_MUX_GP_0"/>
<cfg id="IN_BTSCO_MIC_NREC_BE_CFG" mux="HW_MUX_GP_0"/>
<cfg id="IN_BTSCO_MIC_WB_BE_CFG" mux="HW_MUX_GP_0"/>
<cfg id="IN_BTSCO_MIC_WB_NREC_BE_CFG" mux="HW_MUX_GP_0"/>
<cfg id="IN_VOICE_RECOGN_USB_HEADSET_MIC_BE_CFG" mux="HW_MUX_GP_0"/>
<cfg id="IN_USB_HEADSET_MIC_BE_CFG" mux="HW_MUX_GP_0"/>
<cfg id="IN_VOICECALL_USB_HEADSET_MIC_BE_CFG" mux="HW_MUX_GP_0"/>
<cfg id="IN_UNPROCESSED_USB_HEADSET_MIC_BE_CFG" mux="HW_MUX_GP_0"/>
</cfg_attr>
<xlate_id>
<item component="TUNING_COMPONENT_WAVES" id="2"/>
<item component="TUNING_COMPONENT_FORTEMEDIA" id="3"/>
<item component="TUNING_COMPONENT_CAMCORDER" id="6"/>
</xlate_id>
<voip_db_mapping>
<voip_path id="VOIP_RX_USB" value="0.01,0.02,0.04,0.1,0.21,0.47,1.0"/>
</voip_db_mapping>
<device_handle>
<handler libname="audio_bt_aoc.so"/>
<handler libname="audio_usb_aoc.so" argu="MaxSamplingRate=192000,UnsupportedFormat=S24_LE,MaxCapPacketInterval=125,MaxCapSampleRate=192000,MaxCapBitWidth=32,MaxCapChannel=2,EnableHifi192kMultichannel=0"/>
</device_handle>
<external_module>
<module libname="audio_spk_35l41.so" argu="AcousticShockProtection"/>
<module libname="audio_waves_aoc.so" argu="Sink=SPK:1 ThermistorsName=VIRTUAL-SKIN"/>
<module libname="audio_cca_aoc.so"/>
<module libname="audio_fortemedia_aoc.so" argu="DL_CH=y VoIP_DLCHs=SPK:2,USB:2,BT:2 VoIP_Rate=32000 BOOST_USB_SWB_CLK=y SHARED_MODULE=1130578253"/>
<module libname="liboffloadeffect.so"/>
<module libname="audio_amcs_ext.so"/>
<module libname="audio_bluenote_aoc.so"/>
</external_module>
</audio_platform_configuration>

View File

@@ -0,0 +1,271 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- 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.
-->
<audioPolicyConfiguration version="7.0" xmlns:xi="http://www.w3.org/2001/XInclude">
<globalConfiguration speaker_drc_enabled="false" call_screen_mode_supported="true" />
<modules>
<!-- Primary Audio HAL -->
<module name="primary" halVersion="2.0">
<attachedDevices>
<item>Speaker</item>
<item>Speaker Safe</item>
<item>Earpiece</item>
<item>Built-In Mic</item>
<item>Built-In Back Mic</item>
<item>Telephony Tx</item>
<item>Voice Call And Telephony Rx</item>
<item>Echo Ref In</item>
</attachedDevices>
<defaultOutputDevice>Speaker</defaultOutputDevice>
<mixPorts>
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY AUDIO_OUTPUT_FLAG_FAST"
recommendedMuteDurationMs="40">
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="deep buffer" role="source" flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="compressed_offload" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD AUDIO_OUTPUT_FLAG_NON_BLOCKING AUDIO_OUTPUT_FLAG_GAPLESS_OFFLOAD">
<profile name="" format="AUDIO_FORMAT_MP3"
samplingRates="8000 16000 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_LC"
samplingRates="8000 16000 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
samplingRates="8000 16000 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
samplingRates="8000 16000 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
</mixPort>
<mixPort name="haptic" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO_HAPTIC_A" />
</mixPort>
<mixPort name="raw" role="source" flags="AUDIO_OUTPUT_FLAG_RAW AUDIO_OUTPUT_FLAG_FAST">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="mmap_no_irq_out" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_MMAP_NOIRQ">
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="incall playback" role="source"
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO" />
</mixPort>
<mixPort name="voice call tx" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO" />
</mixPort>
<mixPort name="voip_rx" role="source"
flags="AUDIO_OUTPUT_FLAG_VOIP_RX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="primary input" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="hotword input" role="sink" flags="AUDIO_INPUT_FLAG_HW_HOTWORD" maxActiveCount="0" >
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="incall capture" role="sink" maxActiveCount="2" maxOpenCount="2">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</mixPort>
<mixPort name="voice call rx" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</mixPort>
<mixPort name="voip_tx" role="sink"
flags="AUDIO_INPUT_FLAG_VOIP_TX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</mixPort>
<mixPort name="fast input" role="sink" flags="AUDIO_INPUT_FLAG_RAW AUDIO_INPUT_FLAG_FAST">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="mmap_no_irq_in" role="sink" flags="AUDIO_INPUT_FLAG_MMAP_NOIRQ">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="hifi_playback" role="source" />
<mixPort name="hifi_input" role="sink" />
<mixPort name="echo_ref_input" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
</mixPorts>
<devicePorts>
<!-- Output devices declaration, i.e. Sink DEVICE PORT -->
<devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink">
</devicePort>
<devicePort tagName="Speaker" type="AUDIO_DEVICE_OUT_SPEAKER" role="sink">
</devicePort>
<devicePort tagName="Speaker Safe" type="AUDIO_DEVICE_OUT_SPEAKER_SAFE" role="sink">
</devicePort>
<devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
</devicePort>
<devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
</devicePort>
<devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
</devicePort>
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
</devicePort>
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
</devicePort>
<devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
</devicePort>
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
</devicePort>
<devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
</devicePort>
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
</devicePort>
<devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
encodedFormats="AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink"
encodedFormats="AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink"
encodedFormats="AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT BLE Headset" type="AUDIO_DEVICE_OUT_BLE_HEADSET" role="sink"
encodedFormats="AUDIO_FORMAT_LC3">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT BLE Speaker" type="AUDIO_DEVICE_OUT_BLE_SPEAKER" role="sink"
encodedFormats="AUDIO_FORMAT_LC3">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT BLE Broadcast" type="AUDIO_DEVICE_OUT_BLE_BROADCAST" role="sink"
encodedFormats="AUDIO_FORMAT_LC3">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BLE Headset Mic" type="AUDIO_DEVICE_IN_BLE_HEADSET" role="source">
</devicePort>
<devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source">
</devicePort>
<devicePort tagName="USB Headset In" type="AUDIO_DEVICE_IN_USB_HEADSET" role="source">
</devicePort>
<!-- AUDIO_DEVICE_IN_VOICE_CALL and AUDIO_DEVICE_IN_TELEPHONY_RX are in the same value -->
<devicePort tagName="Voice Call And Telephony Rx" type="AUDIO_DEVICE_IN_VOICE_CALL" role="source">
</devicePort>
<devicePort tagName="Echo Ref In" type="AUDIO_DEVICE_IN_ECHO_REFERENCE" role="source">
</devicePort>
</devicePorts>
<!-- route declaration, i.e. list all available sources for a given sink -->
<routes>
<route type="mix" sink="Speaker"
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,compressed_offload"/>
<route type="mix" sink="Speaker Safe"
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,compressed_offload"/>
<route type="mix" sink="Earpiece"
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,compressed_offload"/>
<route type="mix" sink="BT A2DP Out"
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload,raw,mmap_no_irq_out"/>
<route type="mix" sink="BT A2DP Headphones"
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload,raw,mmap_no_irq_out"/>
<route type="mix" sink="BT A2DP Speaker"
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload,raw,mmap_no_irq_out"/>
<route type="mix" sink="BT BLE Headset"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
<route type="mix" sink="BT BLE Speaker"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
<route type="mix" sink="BT BLE Broadcast"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
<route type="mix" sink="USB Device Out"
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,hifi_playback,compressed_offload"/>
<route type="mix" sink="USB Headset Out"
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,hifi_playback,compressed_offload"/>
<route type="mix" sink="BT SCO"
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload,raw,mmap_no_irq_out"/>
<route type="mix" sink="BT SCO Headset"
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload,raw,mmap_no_irq_out"/>
<route type="mix" sink="BT SCO Car Kit"
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload,raw,mmap_no_irq_out"/>
<route type="mix" sink="Telephony Tx" sources="incall playback,voice call tx" />
<route type="mix" sink="primary input"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic,BLE Headset Mic"/>
<route type="mix" sink="hotword input"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic,BLE Headset Mic"/>
<route type="mix" sink="incall capture" sources="Voice Call And Telephony Rx" />
<route type="mix" sink="voice call rx" sources="Voice Call And Telephony Rx" />
<route type="mix" sink="voip_tx"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic,BLE Headset Mic"/>
<route type="mix" sink="fast input"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic,BLE Headset Mic"/>
<route type="mix" sink="mmap_no_irq_in"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic,BLE Headset Mic"/>
<route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" />
<route type="mix" sink="echo_ref_input" sources="Echo Ref In"/>
</routes>
</module>
<!-- Bluetooth Audio HAL -->
<xi:include href="bluetooth_audio_policy_configuration_7_0.xml"/>
<!-- Usb Audio HAL -->
<module name="usbv2" halVersion="2.0">
<mixPorts>
<mixPort name="usb_accessory output" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
</mixPorts>
<devicePorts>
<devicePort tagName="USB Host Out" type="AUDIO_DEVICE_OUT_USB_ACCESSORY" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
</devicePorts>
<routes>
<route type="mix" sink="USB Host Out"
sources="usb_accessory output"/>
</routes>
</module>
<!-- Remote Submix Audio HAL -->
<xi:include href="r_submix_audio_policy_configuration.xml"/>
</modules>
<!-- End of Modules section -->
<!-- Volume section -->
<xi:include href="audio_policy_volumes.xml"/>
<xi:include href="default_volume_tables.xml"/>
<!-- End of Volume section -->
</audioPolicyConfiguration>

View File

@@ -0,0 +1,227 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- 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.
-->
<audioPolicyConfiguration version="7.0" xmlns:xi="http://www.w3.org/2001/XInclude">
<globalConfiguration speaker_drc_enabled="false" call_screen_mode_supported="true" />
<modules>
<!-- Primary Audio HAL -->
<module name="primary" halVersion="2.0">
<attachedDevices>
<item>Speaker</item>
<item>Speaker Safe</item>
<item>Earpiece</item>
<item>Built-In Mic</item>
<item>Built-In Back Mic</item>
<item>Telephony Tx</item>
<item>Voice Call And Telephony Rx</item>
<item>Echo Ref In</item>
</attachedDevices>
<defaultOutputDevice>Speaker</defaultOutputDevice>
<mixPorts>
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY AUDIO_OUTPUT_FLAG_FAST"
recommendedMuteDurationMs="40">
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="deep buffer" role="source" flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="compressed_offload" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD AUDIO_OUTPUT_FLAG_NON_BLOCKING AUDIO_OUTPUT_FLAG_GAPLESS_OFFLOAD">
<profile name="" format="AUDIO_FORMAT_MP3"
samplingRates="8000 16000 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_LC"
samplingRates="8000 16000 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
samplingRates="8000 16000 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
samplingRates="8000 16000 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
</mixPort>
<mixPort name="haptic" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO_HAPTIC_A" />
</mixPort>
<mixPort name="raw" role="source" flags="AUDIO_OUTPUT_FLAG_RAW AUDIO_OUTPUT_FLAG_FAST">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="mmap_no_irq_out" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_MMAP_NOIRQ">
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="incall playback" role="source"
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO" />
</mixPort>
<mixPort name="voice call tx" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO" />
</mixPort>
<mixPort name="voip_rx" role="source"
flags="AUDIO_OUTPUT_FLAG_VOIP_RX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="primary input" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="hotword input" role="sink" flags="AUDIO_INPUT_FLAG_HW_HOTWORD" maxActiveCount="0" >
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="incall capture" role="sink" maxActiveCount="2" maxOpenCount="2">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</mixPort>
<mixPort name="voice call rx" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</mixPort>
<mixPort name="voip_tx" role="sink"
flags="AUDIO_INPUT_FLAG_VOIP_TX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</mixPort>
<mixPort name="fast input" role="sink" flags="AUDIO_INPUT_FLAG_RAW AUDIO_INPUT_FLAG_FAST">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="mmap_no_irq_in" role="sink" flags="AUDIO_INPUT_FLAG_MMAP_NOIRQ">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="hifi_playback" role="source" />
<mixPort name="hifi_input" role="sink" />
<mixPort name="echo_ref_input" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
</mixPorts>
<devicePorts>
<!-- Output devices declaration, i.e. Sink DEVICE PORT -->
<devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink">
</devicePort>
<devicePort tagName="Speaker" type="AUDIO_DEVICE_OUT_SPEAKER" role="sink">
</devicePort>
<devicePort tagName="Speaker Safe" type="AUDIO_DEVICE_OUT_SPEAKER_SAFE" role="sink">
</devicePort>
<devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
</devicePort>
<devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
</devicePort>
<devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
</devicePort>
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
</devicePort>
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
</devicePort>
<devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
</devicePort>
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
</devicePort>
<devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
</devicePort>
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
</devicePort>
<devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source">
</devicePort>
<devicePort tagName="USB Headset In" type="AUDIO_DEVICE_IN_USB_HEADSET" role="source">
</devicePort>
<!-- AUDIO_DEVICE_IN_VOICE_CALL and AUDIO_DEVICE_IN_TELEPHONY_RX are in the same value -->
<devicePort tagName="Voice Call And Telephony Rx" type="AUDIO_DEVICE_IN_VOICE_CALL" role="source">
</devicePort>
<devicePort tagName="Echo Ref In" type="AUDIO_DEVICE_IN_ECHO_REFERENCE" role="source">
</devicePort>
</devicePorts>
<!-- route declaration, i.e. list all available sources for a given sink -->
<routes>
<route type="mix" sink="Speaker"
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,compressed_offload"/>
<route type="mix" sink="Speaker Safe"
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,compressed_offload"/>
<route type="mix" sink="Earpiece"
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,compressed_offload"/>
<route type="mix" sink="USB Device Out"
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,hifi_playback,compressed_offload"/>
<route type="mix" sink="USB Headset Out"
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,hifi_playback,compressed_offload"/>
<route type="mix" sink="BT SCO"
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload,raw,mmap_no_irq_out"/>
<route type="mix" sink="BT SCO Headset"
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload,raw,mmap_no_irq_out"/>
<route type="mix" sink="BT SCO Car Kit"
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload,raw,mmap_no_irq_out"/>
<route type="mix" sink="Telephony Tx" sources="incall playback,voice call tx" />
<route type="mix" sink="primary input"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="hotword input"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="incall capture" sources="Voice Call And Telephony Rx" />
<route type="mix" sink="voice call rx" sources="Voice Call And Telephony Rx" />
<route type="mix" sink="voip_tx"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="fast input"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="mmap_no_irq_in"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" />
<route type="mix" sink="echo_ref_input" sources="Echo Ref In"/>
</routes>
</module>
<!-- Bluetooth Audio HAL -->
<xi:include href="bluetooth_audio_policy_configuration_7_0.xml"/>
<!-- Usb Audio HAL -->
<module name="usbv2" halVersion="2.0">
<mixPorts>
<mixPort name="usb_accessory output" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
</mixPorts>
<devicePorts>
<devicePort tagName="USB Host Out" type="AUDIO_DEVICE_OUT_USB_ACCESSORY" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
</devicePorts>
<routes>
<route type="mix" sink="USB Host Out"
sources="usb_accessory output"/>
</routes>
</module>
<!-- Remote Submix Audio HAL -->
<xi:include href="r_submix_audio_policy_configuration.xml"/>
</modules>
<!-- End of Modules section -->
<!-- Volume section -->
<xi:include href="audio_policy_volumes.xml"/>
<xi:include href="default_volume_tables.xml"/>
<!-- End of Volume section -->
</audioPolicyConfiguration>

View File

@@ -0,0 +1,227 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- 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.
-->
<audioPolicyConfiguration version="7.0" xmlns:xi="http://www.w3.org/2001/XInclude">
<globalConfiguration speaker_drc_enabled="false" call_screen_mode_supported="true" />
<modules>
<!-- Primary Audio HAL -->
<module name="primary" halVersion="2.0">
<attachedDevices>
<item>Speaker</item>
<item>Speaker Safe</item>
<item>Earpiece</item>
<item>Built-In Mic</item>
<item>Built-In Back Mic</item>
<item>Telephony Tx</item>
<item>Voice Call And Telephony Rx</item>
<item>Echo Ref In</item>
</attachedDevices>
<defaultOutputDevice>Speaker</defaultOutputDevice>
<mixPorts>
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY AUDIO_OUTPUT_FLAG_FAST"
recommendedMuteDurationMs="40">
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="deep buffer" role="source" flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="compressed_offload" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD AUDIO_OUTPUT_FLAG_NON_BLOCKING AUDIO_OUTPUT_FLAG_GAPLESS_OFFLOAD">
<profile name="" format="AUDIO_FORMAT_MP3"
samplingRates="8000 16000 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_LC"
samplingRates="8000 16000 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
samplingRates="8000 16000 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
samplingRates="8000 16000 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
</mixPort>
<mixPort name="haptic" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO_HAPTIC_A" />
</mixPort>
<mixPort name="raw" role="source" flags="AUDIO_OUTPUT_FLAG_RAW AUDIO_OUTPUT_FLAG_FAST">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="mmap_no_irq_out" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_MMAP_NOIRQ">
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="incall playback" role="source"
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO" />
</mixPort>
<mixPort name="voice call tx" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO" />
</mixPort>
<mixPort name="voip_rx" role="source"
flags="AUDIO_OUTPUT_FLAG_VOIP_RX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="primary input" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="hotword input" role="sink" flags="AUDIO_INPUT_FLAG_HW_HOTWORD" maxActiveCount="0" >
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="incall capture" role="sink" maxActiveCount="2" maxOpenCount="2">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</mixPort>
<mixPort name="voice call rx" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</mixPort>
<mixPort name="voip_tx" role="sink"
flags="AUDIO_INPUT_FLAG_VOIP_TX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</mixPort>
<mixPort name="fast input" role="sink" flags="AUDIO_INPUT_FLAG_RAW AUDIO_INPUT_FLAG_FAST">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="mmap_no_irq_in" role="sink" flags="AUDIO_INPUT_FLAG_MMAP_NOIRQ">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="hifi_playback" role="source" />
<mixPort name="hifi_input" role="sink" />
<mixPort name="echo_ref_input" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
</mixPorts>
<devicePorts>
<!-- Output devices declaration, i.e. Sink DEVICE PORT -->
<devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink">
</devicePort>
<devicePort tagName="Speaker" type="AUDIO_DEVICE_OUT_SPEAKER" role="sink">
</devicePort>
<devicePort tagName="Speaker Safe" type="AUDIO_DEVICE_OUT_SPEAKER_SAFE" role="sink">
</devicePort>
<devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
</devicePort>
<devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
</devicePort>
<devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
</devicePort>
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
</devicePort>
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
</devicePort>
<devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
</devicePort>
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
</devicePort>
<devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
</devicePort>
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
</devicePort>
<devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source">
</devicePort>
<devicePort tagName="USB Headset In" type="AUDIO_DEVICE_IN_USB_HEADSET" role="source">
</devicePort>
<!-- AUDIO_DEVICE_IN_VOICE_CALL and AUDIO_DEVICE_IN_TELEPHONY_RX are in the same value -->
<devicePort tagName="Voice Call And Telephony Rx" type="AUDIO_DEVICE_IN_VOICE_CALL" role="source">
</devicePort>
<devicePort tagName="Echo Ref In" type="AUDIO_DEVICE_IN_ECHO_REFERENCE" role="source">
</devicePort>
</devicePorts>
<!-- route declaration, i.e. list all available sources for a given sink -->
<routes>
<route type="mix" sink="Speaker"
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,compressed_offload"/>
<route type="mix" sink="Speaker Safe"
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,compressed_offload"/>
<route type="mix" sink="Earpiece"
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,compressed_offload"/>
<route type="mix" sink="USB Device Out"
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,hifi_playback,compressed_offload"/>
<route type="mix" sink="USB Headset Out"
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,hifi_playback,compressed_offload"/>
<route type="mix" sink="BT SCO"
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload,raw,mmap_no_irq_out"/>
<route type="mix" sink="BT SCO Headset"
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload,raw,mmap_no_irq_out"/>
<route type="mix" sink="BT SCO Car Kit"
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload,raw,mmap_no_irq_out"/>
<route type="mix" sink="Telephony Tx" sources="incall playback,voice call tx" />
<route type="mix" sink="primary input"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="hotword input"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="incall capture" sources="Voice Call And Telephony Rx" />
<route type="mix" sink="voice call rx" sources="Voice Call And Telephony Rx" />
<route type="mix" sink="voip_tx"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="fast input"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="mmap_no_irq_in"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" />
<route type="mix" sink="echo_ref_input" sources="Echo Ref In"/>
</routes>
</module>
<!-- A2dp Audio HAL -->
<xi:include href="a2dp_audio_policy_configuration_7_0.xml"/>
<!-- Usb Audio HAL -->
<module name="usbv2" halVersion="2.0">
<mixPorts>
<mixPort name="usb_accessory output" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
</mixPorts>
<devicePorts>
<devicePort tagName="USB Host Out" type="AUDIO_DEVICE_OUT_USB_ACCESSORY" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
</devicePorts>
<routes>
<route type="mix" sink="USB Host Out"
sources="usb_accessory output"/>
</routes>
</module>
<!-- Remote Submix Audio HAL -->
<xi:include href="r_submix_audio_policy_configuration.xml"/>
</modules>
<!-- End of Modules section -->
<!-- Volume section -->
<xi:include href="audio_policy_volumes.xml"/>
<xi:include href="default_volume_tables.xml"/>
<!-- End of Volume section -->
</audioPolicyConfiguration>

View File

@@ -0,0 +1,252 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- 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.
-->
<audioPolicyConfiguration version="7.0" xmlns:xi="http://www.w3.org/2001/XInclude">
<globalConfiguration speaker_drc_enabled="false" call_screen_mode_supported="true" />
<modules>
<!-- Primary Audio HAL -->
<module name="primary" halVersion="2.0">
<attachedDevices>
<item>Speaker</item>
<item>Speaker Safe</item>
<item>Earpiece</item>
<item>Built-In Mic</item>
<item>Built-In Back Mic</item>
<item>Telephony Tx</item>
<item>Voice Call And Telephony Rx</item>
<item>Echo Ref In</item>
</attachedDevices>
<defaultOutputDevice>Speaker</defaultOutputDevice>
<mixPorts>
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY AUDIO_OUTPUT_FLAG_FAST"
recommendedMuteDurationMs="40">
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="deep buffer" role="source" flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="compressed_offload" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD AUDIO_OUTPUT_FLAG_NON_BLOCKING AUDIO_OUTPUT_FLAG_GAPLESS_OFFLOAD">
<profile name="" format="AUDIO_FORMAT_MP3"
samplingRates="8000 16000 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_LC"
samplingRates="8000 16000 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
samplingRates="8000 16000 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
samplingRates="8000 16000 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
</mixPort>
<mixPort name="haptic" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO_HAPTIC_A" />
</mixPort>
<mixPort name="raw" role="source" flags="AUDIO_OUTPUT_FLAG_RAW AUDIO_OUTPUT_FLAG_FAST">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="mmap_no_irq_out" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_MMAP_NOIRQ">
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="immersive_out" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER">
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="incall playback" role="source"
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO" />
</mixPort>
<mixPort name="voice call tx" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO" />
</mixPort>
<mixPort name="voip_rx" role="source"
flags="AUDIO_OUTPUT_FLAG_VOIP_RX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="primary input" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="hotword input" role="sink" flags="AUDIO_INPUT_FLAG_HW_HOTWORD" maxActiveCount="0" >
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="incall capture" role="sink" maxActiveCount="2" maxOpenCount="2">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</mixPort>
<mixPort name="voice call rx" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</mixPort>
<mixPort name="voip_tx" role="sink"
flags="AUDIO_INPUT_FLAG_VOIP_TX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</mixPort>
<mixPort name="fast input" role="sink" flags="AUDIO_INPUT_FLAG_RAW AUDIO_INPUT_FLAG_FAST">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="mmap_no_irq_in" role="sink" flags="AUDIO_INPUT_FLAG_MMAP_NOIRQ">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="hifi_playback" role="source" />
<mixPort name="hifi_input" role="sink" />
<mixPort name="echo_ref_input" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
</mixPorts>
<devicePorts>
<!-- Output devices declaration, i.e. Sink DEVICE PORT -->
<devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink">
</devicePort>
<devicePort tagName="Speaker" type="AUDIO_DEVICE_OUT_SPEAKER" role="sink">
</devicePort>
<devicePort tagName="Speaker Safe" type="AUDIO_DEVICE_OUT_SPEAKER_SAFE" role="sink">
</devicePort>
<devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
</devicePort>
<devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
</devicePort>
<devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
</devicePort>
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
</devicePort>
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
</devicePort>
<devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
</devicePort>
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
</devicePort>
<devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
</devicePort>
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
</devicePort>
<devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
encodedFormats="AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink"
encodedFormats="AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink"
encodedFormats="AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source">
</devicePort>
<devicePort tagName="USB Headset In" type="AUDIO_DEVICE_IN_USB_HEADSET" role="source">
</devicePort>
<!-- AUDIO_DEVICE_IN_VOICE_CALL and AUDIO_DEVICE_IN_TELEPHONY_RX are in the same value -->
<devicePort tagName="Voice Call And Telephony Rx" type="AUDIO_DEVICE_IN_VOICE_CALL" role="source">
</devicePort>
<devicePort tagName="Echo Ref In" type="AUDIO_DEVICE_IN_ECHO_REFERENCE" role="source">
</devicePort>
</devicePorts>
<!-- route declaration, i.e. list all available sources for a given sink -->
<routes>
<route type="mix" sink="Speaker"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,immersive_out"/>
<route type="mix" sink="Speaker Safe"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="Earpiece"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="BT A2DP Out"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out,raw,mmap_no_irq_out"/>
<route type="mix" sink="BT A2DP Headphones"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out,raw,mmap_no_irq_out"/>
<route type="mix" sink="BT A2DP Speaker"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out,raw,mmap_no_irq_out"/>
<route type="mix" sink="USB Device Out"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="USB Headset Out"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="BT SCO"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
<route type="mix" sink="BT SCO Headset"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
<route type="mix" sink="BT SCO Car Kit"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
<route type="mix" sink="Telephony Tx" sources="incall playback,voice call tx" />
<route type="mix" sink="primary input"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="hotword input"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="incall capture" sources="Voice Call And Telephony Rx" />
<route type="mix" sink="voice call rx" sources="Voice Call And Telephony Rx" />
<route type="mix" sink="voip_tx"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="fast input"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="mmap_no_irq_in"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" />
<route type="mix" sink="echo_ref_input" sources="Echo Ref In"/>
</routes>
</module>
<!-- Bluetooth Audio HAL -->
<xi:include href="bluetooth_audio_policy_configuration_7_0.xml"/>
<!-- Usb Audio HAL -->
<module name="usbv2" halVersion="2.0">
<mixPorts>
<mixPort name="usb_accessory output" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
</mixPorts>
<devicePorts>
<devicePort tagName="USB Host Out" type="AUDIO_DEVICE_OUT_USB_ACCESSORY" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
</devicePorts>
<routes>
<route type="mix" sink="USB Host Out"
sources="usb_accessory output"/>
</routes>
</module>
<!-- Remote Submix Audio HAL -->
<xi:include href="r_submix_audio_policy_configuration.xml"/>
</modules>
<!-- End of Modules section -->
<!-- Volume section -->
<xi:include href="audio_policy_volumes.xml"/>
<xi:include href="default_volume_tables.xml"/>
<!-- End of Volume section -->
</audioPolicyConfiguration>

View File

@@ -0,0 +1,238 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (C) 2015 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- 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.
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="">
<point>0,-9600</point>
<point>100,0</point>
</volume>
-->
<volumes>
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_HEADSET">
<point>0,-4200</point>
<point>33,-2800</point>
<point>66,-1400</point>
<point>100,0</point>
</volume>
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_SPEAKER">
<point>0,-2400</point>
<point>33,-1600</point>
<point>66,-800</point>
<point>100,0</point>
</volume>
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_EARPIECE">
<point>0,-2400</point>
<point>33,-1600</point>
<point>66,-800</point>
<point>100,0</point>
</volume>
<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>
<point>66,-2200</point>
<point>100,-1800</point>
</volume>
<volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_SPEAKER">
<point>1,-5000</point>
<point>33,-3500</point>
<point>66,-2400</point>
<point>100,-1600</point>
</volume>
<volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_EARPIECE"
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">
<point>1,-4000</point>
<point>33,-2400</point>
<point>66,-1200</point>
<point>100,0</point>
</volume>
<volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_EARPIECE"
ref="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_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"
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_SPEAKER">
<point>1,-6200</point>
<point>28,-3800</point>
<point>64,-1900</point>
<point>68,-1700</point>
<point>72,-1500</point>
<point>76,-1300</point>
<point>80,-1150</point>
<point>88,-850</point>
<point>92,-650</point>
<point>96,-400</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_NON_MUTABLE_HEADSET_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_SPEAKER">
<point>0,-4000</point>
<point>33,-2400</point>
<point>66,-1200</point>
<point>100,0</point>
</volume>
<volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_EARPIECE"
ref="DEFAULT_NON_MUTABLE_EARPIECE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_NON_MUTABLE_EXT_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,-4000</point>
<point>33,-2400</point>
<point>66,-1200</point>
<point>100,0</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="DEFAULT_DEVICE_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">
<point>0,-4200</point>
<point>33,-2800</point>
<point>66,-1400</point>
<point>100,0</point>
</volume>
<volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_SPEAKER">
<point>0,-2400</point>
<point>33,-1600</point>
<point>66,-800</point>
<point>100,0</point>
</volume>
<volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_EARPIECE">
<point>0,-4200</point>
<point>33,-2800</point>
<point>66,-1400</point>
<point>100,0</point>
</volume>
<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">
<point>1,-3000</point>
<point>33,-2600</point>
<point>66,-2200</point>
<point>100,-1800</point>
</volume>
<volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_SPEAKER">
<point>1,-5000</point>
<point>33,-3500</point>
<point>66,-2400</point>
<point>100,-1600</point>
</volume>
<volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_EARPIECE"
ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_DEVICE_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,-6000</point>
<point>33,-3000</point>
<point>66,-2200</point>
<point>100,-1600</point>
</volume>
<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"
ref="FULL_SCALE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_EARPIECE"
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_NON_MUTABLE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_SPEAKER"
ref="DEFAULT_NON_MUTABLE_SPEAKER_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_EARPIECE"
ref="DEFAULT_NON_MUTABLE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_NON_MUTABLE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_NON_MUTABLE_HEARING_AID_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ASSISTANT" deviceCategory="DEVICE_CATEGORY_HEADSET"
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ASSISTANT" deviceCategory="DEVICE_CATEGORY_SPEAKER"
ref="DEFAULT_DEVICE_CATEGORY_SPEAKER_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ASSISTANT" deviceCategory="DEVICE_CATEGORY_EARPIECE"
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ASSISTANT" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ASSISTANT" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_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"
ref="FULL_SCALE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_EARPIECE"
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"
ref="FULL_SCALE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_EARPIECE"
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

@@ -0,0 +1,882 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Copyright (c) 2019, The Linux Foundation. All rights reserved. -->
<!-- -->
<!-- Redistribution and use in source and binary forms, with or without -->
<!-- modification, are permitted provided that the following conditions are -->
<!-- met: -->
<!-- * Redistributions of source code must retain the above copyright -->
<!-- notice, this list of conditions and the following disclaimer. -->
<!-- * Redistributions in binary form must reproduce the above -->
<!-- copyright notice, this list of conditions and the following -->
<!-- disclaimer in the documentation and/or other materials provided -->
<!-- with the distribution. -->
<!-- * Neither the name of The Linux Foundation nor the names of its -->
<!-- contributors may be used to endorse or promote products derived -->
<!-- from this software without specific prior written permission. -->
<!-- -->
<!-- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
<!-- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
<!-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
<!-- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
<!-- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
<!-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
<!-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
<!-- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
<!-- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
<mixer>
<!-- Initial default value of ALSA command -->
<!-- PCM timeout -->
<ctl name="PCM Stream Wait Time in MSec" value="100"/>
<ctl name="Voice PCM Stream Wait Time in MSec" value="500"/>
<!-- Enable it when AOC is ready to trim delay and padding -->
<ctl name="Gapless Offload Enable" value="1"/>
<!-- TDM 0 setting -->
<ctl name="TDM_0_RX Chan" value="Four"/>
<ctl name="TDM_0_RX Format" value="S32_LE"/>
<ctl name="TDM_0_RX Sample Rate" value="SR_48K" />
<ctl name="TDM_0_TX Chan" value="Four"/>
<ctl name="TDM_0_TX Format" value="S32_LE"/>
<ctl name="TDM_0_TX Sample Rate" value="SR_48K" />
<!-- Haptic setting -->
<ctl name="Haptics Source" value="PCM"/>
<ctl name="HAPTIC_RX Format" value="S32_LE"/>
<ctl name="HAPTIC_RX SlotFmt" value="S32_LE"/>
<ctl name="HAPTIC_RX Chan" value="Four"/>
<ctl name="HAPTIC_RX nSlot" value="Four"/>
<ctl name="RX Slots" id="0" value="2"/>
<ctl name="RX Slots" id="1" value="3"/>
<!-- Cirrus default 96K -->
<ctl name="Default 96K" value="0"/>
<ctl name="R Default 96K" value="0"/>
<!-- Cirrus Booster Amp TDM slot assignment-->
<!-- RX slot -->
<ctl name="ASPRX1 Slot Position" value="0"/>
<ctl name="ASPRX2 Slot Position" value="1"/>
<ctl name="R ASPRX1 Slot Position" value="1"/>
<ctl name="R ASPRX2 Slot Position" value="0"/>
<!-- TX slot -->
<ctl name="ASPTX1 Slot Position" value="0"/>
<ctl name="R ASPTX1 Slot Position" value="1"/>
<ctl name="ASPTX2 Slot Position" value="2"/>
<ctl name="R ASPTX2 Slot Position" value="3"/>
<ctl name="ASPTX3 Slot Position" value="4"/>
<ctl name="R ASPTX3 Slot Position" value="5"/>
<ctl name="ASPTX4 Slot Position" value="6"/>
<ctl name="R ASPTX4 Slot Position" value="7"/>
<!-- Cirrus Booster Amp DRE and VBST config-->
<ctl name="VBSTMON Output Switch" value="1"/>
<ctl name="R VBSTMON Output Switch" value="1"/>
<ctl name="DRE DRE Switch" value="1"/>
<ctl name="R DRE DRE Switch" value="1"/>
<!-- Cirrus Booster Amp Output Gain -->
<ctl name="AMP PCM Gain" value="17"/>
<ctl name="R AMP PCM Gain" value="17"/>
<ctl name="Digital PCM Volume" value="817"/>
<ctl name="R Digital PCM Volume" value="817"/>
<!-- Cirrus Booster Amp Power -->
<ctl name="Main AMP Enable Switch" value="0"/>
<ctl name="R Main AMP Enable Switch" value="0"/>
<!-- Cirrus Booster mode -->
<ctl name="PCM Source" value="DSP"/>
<ctl name="R PCM Source" value="DSP"/>
<ctl name="DSP1 Firmware" value="Protection"/>
<ctl name="R DSP1 Firmware" value="Protection"/>
<ctl name="DSP RX1 Source" value="ASPRX1"/>
<ctl name="DSP RX2 Source" value="ASPRX1"/>
<ctl name="R DSP RX1 Source" value="ASPRX1"/>
<ctl name="R DSP RX2 Source" value="ASPRX1"/>
<ctl name="Boost Peak Current Limit" value="3.50A"/>
<ctl name="R Boost Peak Current Limit" value="3.50A"/>
<!-- Cirrus ASP TX source -->
<ctl name="ASP TX1 Source" value="VMON" />
<ctl name="R ASP TX1 Source" value="VMON" />
<ctl name="ASP TX2 Source" value="IMON" />
<ctl name="R ASP TX2 Source" value="IMON" />
<ctl name="ASP TX3 Source" value="Zero" />
<ctl name="R ASP TX3 Source" value="Zero" />
<ctl name="ASP TX4 Source" value="Zero" />
<ctl name="R ASP TX4 Source" value="Zero" />
<!-- Cirrus fast switch init -->
<ctl name="Fast Use Case Switch Enable" value="0" />
<ctl name="Fast Use Case Delta File" value="fast_switch5.txt" />
<ctl name="R Fast Use Case Switch Enable" value="0" />
<ctl name="R Fast Use Case Delta File" value="fast_switch5.txt" />
<!-- default EP volume -->
<ctl name="PCM Playback Switch" value="1"/>
<ctl name="PCM Playback Volume" value="10"/>
<!-- audio RX route initial/default value -->
<ctl name="TDM_0_RX Mixer EP1" value="0"/>
<ctl name="TDM_0_RX Mixer EP2" value="0"/>
<ctl name="TDM_0_RX Mixer EP3" value="0"/>
<ctl name="TDM_0_RX Mixer EP4" value="0"/>
<ctl name="TDM_0_RX Mixer EP5" value="0"/>
<ctl name="TDM_0_RX Mixer EP6" value="0"/>
<ctl name="TDM_0_RX Mixer EP7" value="0"/>
<ctl name="TDM_0_RX Mixer EP8" value="0"/>
<ctl name="TDM_0_RX Mixer NoHost1" value="0"/>
<ctl name="TDM_0_RX Mixer VOIP" value="0"/>
<ctl name="TDM_0_RX Mixer RAW" value="0"/>
<ctl name="TDM_1_RX Mixer EP1" value="0"/>
<ctl name="TDM_1_RX Mixer EP2" value="0"/>
<ctl name="TDM_1_RX Mixer EP3" value="0"/>
<ctl name="TDM_1_RX Mixer EP4" value="0"/>
<ctl name="TDM_1_RX Mixer EP5" value="0"/>
<ctl name="TDM_1_RX Mixer EP6" value="0"/>
<ctl name="TDM_1_RX Mixer EP7" value="0"/>
<ctl name="TDM_1_RX Mixer EP8" value="0"/>
<ctl name="TDM_1_RX Mixer NoHost1" value="0"/>
<ctl name="USB_RX Mixer EP1" value="0"/>
<ctl name="USB_RX Mixer EP2" value="0"/>
<ctl name="USB_RX Mixer EP3" value="0"/>
<ctl name="USB_RX Mixer EP4" value="0"/>
<ctl name="USB_RX Mixer EP5" value="0"/>
<ctl name="USB_RX Mixer EP6" value="0"/>
<ctl name="USB_RX Mixer EP7" value="0"/>
<ctl name="USB_RX Mixer NoHost1" value="0"/>
<ctl name="USB_RX Mixer VOIP" value="0"/>
<ctl name="USB_RX Mixer HIFI" value="0"/>
<ctl name="USB_RX Mixer RAW" value="0"/>
<ctl name="BT_RX Mixer EP1" value="0"/>
<ctl name="BT_RX Mixer EP2" value="0"/>
<ctl name="BT_RX Mixer EP3" value="0"/>
<ctl name="BT_RX Mixer EP4" value="0"/>
<ctl name="BT_RX Mixer EP5" value="0"/>
<ctl name="BT_RX Mixer EP6" value="0"/>
<ctl name="BT_RX Mixer EP7" value="0"/>
<ctl name="BT_RX Mixer NoHost1" value="0"/>
<ctl name="BT_RX Mixer VOIP" value="0"/>
<ctl name="BT_RX Mixer RAW" value="0"/>
<ctl name="INCALL_RX Mixer EP1" value="0"/>
<ctl name="INCALL_RX Mixer EP2" value="0"/>
<ctl name="INCALL_RX Mixer EP3" value="0"/>
<ctl name="INCALL_RX Mixer EP4" value="0"/>
<ctl name="INCALL_RX Mixer EP5" value="0"/>
<ctl name="INCALL_RX Mixer EP6" value="0"/>
<ctl name="INCALL_RX Mixer EP7" value="0"/>
<ctl name="INCALL_RX Mixer NoHost1" value="0"/>
<ctl name="SINK_IDS" id="0" value="-1"/>
<ctl name="SINK_IDS" id="1" value="-1"/>
<!-- audio TX route initial/default value -->
<ctl name="EP1 TX Mixer TDM_0_TX" value="0"/>
<ctl name="EP2 TX Mixer TDM_0_TX" value="0"/>
<ctl name="EP3 TX Mixer TDM_0_TX" value="0"/>
<ctl name="EP4 TX Mixer TDM_0_TX" value="0"/>
<ctl name="EP5 TX Mixer TDM_0_TX" value="0"/>
<ctl name="EP6 TX Mixer TDM_0_TX" value="0"/>
<ctl name="NoHost1 TX Mixer TDM_0_TX" value="0"/>
<ctl name="EP1 TX Mixer TDM_1_TX" value="0"/>
<ctl name="EP2 TX Mixer TDM_1_TX" value="0"/>
<ctl name="EP3 TX Mixer TDM_1_TX" value="0"/>
<ctl name="EP4 TX Mixer TDM_1_TX" value="0"/>
<ctl name="EP5 TX Mixer TDM_1_TX" value="0"/>
<ctl name="EP6 TX Mixer TDM_1_TX" value="0"/>
<ctl name="NoHost1 TX Mixer TDM_1_TX" value="0"/>
<ctl name="EP1 TX Mixer INTERNAL_MIC_TX" value="0"/>
<ctl name="EP2 TX Mixer INTERNAL_MIC_TX" value="0"/>
<ctl name="EP3 TX Mixer INTERNAL_MIC_TX" value="0"/>
<ctl name="EP4 TX Mixer INTERNAL_MIC_TX" value="0"/>
<ctl name="EP5 TX Mixer INTERNAL_MIC_TX" value="0"/>
<ctl name="EP6 TX Mixer INTERNAL_MIC_TX" value="0"/>
<ctl name="NoHost1 TX Mixer INTERNAL_MIC_TX" value="0"/>
<ctl name="VOIP TX Mixer INTERNAL_MIC_TX" value="0"/>
<ctl name="EP1 TX Mixer BT_TX" value="0"/>
<ctl name="EP2 TX Mixer BT_TX" value="0"/>
<ctl name="EP3 TX Mixer BT_TX" value="0"/>
<ctl name="EP4 TX Mixer BT_TX" value="0"/>
<ctl name="EP5 TX Mixer BT_TX" value="0"/>
<ctl name="EP6 TX Mixer BT_TX" value="0"/>
<ctl name="NoHost1 TX Mixer BT_TX" value="0"/>
<ctl name="VOIP TX Mixer BT_TX" value="0"/>
<ctl name="EP1 TX Mixer USB_TX" value="0"/>
<ctl name="EP2 TX Mixer USB_TX" value="0"/>
<ctl name="EP3 TX Mixer USB_TX" value="0"/>
<ctl name="EP4 TX Mixer USB_TX" value="0"/>
<ctl name="EP5 TX Mixer USB_TX" value="0"/>
<ctl name="EP6 TX Mixer USB_TX" value="0"/>
<ctl name="NoHost1 TX Mixer USB_TX" value="0"/>
<ctl name="VOIP TX Mixer USB_TX" value="0"/>
<ctl name="EP1 TX Mixer INCALL_TX" value="0"/>
<ctl name="EP2 TX Mixer INCALL_TX" value="0"/>
<ctl name="EP3 TX Mixer INCALL_TX" value="0"/>
<ctl name="EP4 TX Mixer INCALL_TX" value="0"/>
<ctl name="EP5 TX Mixer INCALL_TX" value="0"/>
<ctl name="EP6 TX Mixer INCALL_TX" value="0"/>
<ctl name="NoHost1 TX Mixer INCALL_TX" value="0"/>
<ctl name="EP4 TX Mixer I2S_2_TX" value="0"/>
<!-- AoC Mic setting -->
<ctl name="MIC DC Blocker" value="1" />
<ctl name="MIC HW Gain At High Power Mode (cB)" value="0" />
<ctl name="MIC Record Soft Gain (dB)" value="-40"/>
<!-- USB setting v2 -->
<ctl name="USB Bus ID v2" value="2"/>
<ctl name="USB Dev ID v2" value="2"/>
<ctl name="USB Playback EP ID v2" value="1"/>
<ctl name="USB Playback FORMAT v2" value="0"/>
<ctl name="USB Playback SR v2" value="48000"/>
<ctl name="USB Playback CH v2" value="2"/>
<ctl name="USB Playback BW v2" value="24"/>
<ctl name="USB Capture EP ID v2" value="1"/>
<ctl name="USB Capture FORMAT v2" value="0"/>
<ctl name="USB Capture SR v2" value="48000"/>
<ctl name="USB Capture CH v2" value="1"/>
<ctl name="USB Capture BW v2" value="16"/>
<ctl name="AoC Modem Downlink ASRC Mode" value="ASP_ON"/>
<ctl name="Voice Call Mic Source" value="Builtin_MIC"/>
<ctl name="Mic Spatial Module Enable" value="0"/>
<ctl name="Audio Capture Eraser Enable" value="0"/>
<!-- audio PDM mic default state -->
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="-1"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="-1"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="-1"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1"/>
<ctl name="Audio Capture Mic Source" value="Builtin_MIC"/>
<!-- sidetone controls -->
<ctl name="Sidetone Enable" value="0"/>
<ctl name="Sidetone Volume" value="-96"/>
<ctl name="Sidetone Selected Mic" value="0"/>
<ctl name="Sidetone EQ Stage Number" value="1"/>
<!-- IEEE 754, value is in float -->
<ctl name="Sidetone Biquad0" id="0" value="0"/>
<ctl name="Sidetone Biquad0" id="1" value="0"/>
<ctl name="Sidetone Biquad0" id="2" value="0"/>
<ctl name="Sidetone Biquad0" id="3" value="0"/>
<ctl name="Sidetone Biquad0" id="4" value="0"/>
<ctl name="Sidetone Biquad0" id="5" value="0"/>
<ctl name="Sidetone Biquad1" id="0" value="0"/>
<ctl name="Sidetone Biquad1" id="1" value="0"/>
<ctl name="Sidetone Biquad1" id="2" value="0"/>
<ctl name="Sidetone Biquad1" id="3" value="0"/>
<ctl name="Sidetone Biquad1" id="4" value="0"/>
<ctl name="Sidetone Biquad1" id="5" value="0"/>
<ctl name="Sidetone Biquad2" id="0" value="0"/>
<ctl name="Sidetone Biquad2" id="1" value="0"/>
<ctl name="Sidetone Biquad2" id="2" value="0"/>
<ctl name="Sidetone Biquad2" id="3" value="0"/>
<ctl name="Sidetone Biquad2" id="4" value="0"/>
<ctl name="Sidetone Biquad2" id="5" value="0"/>
<ctl name="Sidetone Biquad3" id="0" value="0"/>
<ctl name="Sidetone Biquad3" id="1" value="0"/>
<ctl name="Sidetone Biquad3" id="2" value="0"/>
<ctl name="Sidetone Biquad3" id="3" value="0"/>
<ctl name="Sidetone Biquad3" id="4" value="0"/>
<ctl name="Sidetone Biquad3" id="5" value="0"/>
<ctl name="Sidetone Biquad4" id="0" value="0"/>
<ctl name="Sidetone Biquad4" id="1" value="0"/>
<ctl name="Sidetone Biquad4" id="2" value="0"/>
<ctl name="Sidetone Biquad4" id="3" value="0"/>
<ctl name="Sidetone Biquad4" id="4" value="0"/>
<ctl name="Sidetone Biquad4" id="5" value="0"/>
<ctl name="Incall Capture Stream0" value="Off"/>
<ctl name="Incall Capture Stream1" value="Off"/>
<ctl name="Incall Capture Stream2" value="Off"/>
<!-- These two controls control the muting function of mics and sinks during the voice call. -->
<!-- They would be enabled by HAL. -->
<ctl name="Incall Sink Mute" value="0"/>
<ctl name="Incall Mic Mute" value="0"/>
<!-- Decoder Reference Enable is controlled in aoc_control -->
<ctl name="Decoder Reference Enable" value="0"/>
<ctl name="LVM Enable" value="0"/>
<!-- sidetone dynamic control -->
<path name="sidetone-for handset">
<!-- 1065353216 = 0x3f800000 = 1.0 -->
<ctl name="Sidetone Biquad0" id="0" value="1065353216"/>
<ctl name="Sidetone Biquad0" id="1" value="1065353216"/>
<ctl name="Sidetone Biquad0" id="2" value="0"/>
<ctl name="Sidetone Biquad0" id="3" value="0"/>
<ctl name="Sidetone Biquad0" id="4" value="0"/>
<ctl name="Sidetone Biquad0" id="5" value="0"/>
<ctl name="Sidetone Biquad1" id="0" value="1065353216"/>
<ctl name="Sidetone Biquad1" id="1" value="1065353216"/>
<ctl name="Sidetone Biquad1" id="2" value="0"/>
<ctl name="Sidetone Biquad1" id="3" value="0"/>
<ctl name="Sidetone Biquad1" id="4" value="0"/>
<ctl name="Sidetone Biquad1" id="5" value="0"/>
<ctl name="Sidetone Biquad2" id="0" value="1065353216"/>
<ctl name="Sidetone Biquad2" id="1" value="1065353216"/>
<ctl name="Sidetone Biquad2" id="2" value="0"/>
<ctl name="Sidetone Biquad2" id="3" value="0"/>
<ctl name="Sidetone Biquad2" id="4" value="0"/>
<ctl name="Sidetone Biquad2" id="5" value="0"/>
<ctl name="Sidetone Biquad3" id="0" value="1065353216"/>
<ctl name="Sidetone Biquad3" id="1" value="1065353216"/>
<ctl name="Sidetone Biquad3" id="2" value="0"/>
<ctl name="Sidetone Biquad3" id="3" value="0"/>
<ctl name="Sidetone Biquad3" id="4" value="0"/>
<ctl name="Sidetone Biquad3" id="5" value="0"/>
<ctl name="Sidetone Biquad4" id="0" value="1065353216"/>
<ctl name="Sidetone Biquad4" id="1" value="1065353216"/>
<ctl name="Sidetone Biquad4" id="2" value="0"/>
<ctl name="Sidetone Biquad4" id="3" value="0"/>
<ctl name="Sidetone Biquad4" id="4" value="0"/>
<ctl name="Sidetone Biquad4" id="5" value="0"/>
<ctl name="Sidetone EQ Stage Number" value="5"/>
<ctl name="Sidetone Volume" value="-90"/>
<ctl name="Sidetone Enable" value="1"/>
</path>
<!-- audio playback dynamic route -->
<path name="deep-buffer-playbackP">
<ctl name="TDM_0_RX Mixer EP6" value="1"/>
</path>
<path name="deep-buffer-playbackP hac-handset">
</path>
<path name="deep-buffer-playbackP bt">
<ctl name="BT_RX Mixer EP6" value="1"/>
</path>
<path name="deep-buffer-playbackP usb-headphone">
<ctl name="USB_RX Mixer EP6" value="1"/>
</path>
<path name="deep-buffer-playbackP hearing-aid">
</path>
<path name="low-latency-playbackP">
<ctl name="TDM_0_RX Mixer EP2" value="1"/>
</path>
<path name="low-latency-playbackP hac-handset">
</path>
<path name="low-latency-playbackP bt">
<ctl name="BT_RX Mixer EP2" value="1"/>
</path>
<path name="low-latency-playbackP usb-headphone">
<ctl name="USB_RX Mixer EP2" value="1"/>
</path>
<path name="low-latency-playbackP hearing-aid">
</path>
<path name="raw-playbackP">
<ctl name="TDM_0_RX Mixer RAW" value="1"/>
</path>
<path name="raw-playbackP hac-handset">
</path>
<path name="raw-playbackP usb-headphone">
<ctl name="USB_RX Mixer RAW" value="1"/>
</path>
<path name="raw-playbackP bt">
<ctl name="BT_RX Mixer RAW" value="1"/>
</path>
<path name="raw-playbackP hearing-aid">
</path>
<path name="mmap-playbackP">
<ctl name="TDM_0_RX Mixer EP1" value="1"/>
</path>
<path name="mmap-playbackP hac-handset">
</path>
<path name="mmap-playbackP usb-headphone">
<ctl name="USB_RX Mixer EP1" value="1"/>
</path>
<path name="mmap-playbackP bt">
<ctl name="BT_RX Mixer EP1" value="1"/>
</path>
<path name="mmap-playbackP hearing-aid">
</path>
<path name="compress-offload-playback">
<ctl name="LVM Enable" value="1" />
</path>
<path name="compress-offload-playbackP">
<path name="compress-offload-playback" />
<ctl name="TDM_0_RX Mixer EP7" value="1"/>
</path>
<path name="compress-offload-playbackP hac-handset">
<path name="compress-offload-playback" />
</path>
<path name="compress-offload-playbackP bt">
<path name="compress-offload-playback" />
<ctl name="BT_RX Mixer EP7" value="1"/>
</path>
<path name="compress-offload-playbackP usb-headphone">
<path name="compress-offload-playback" />
<ctl name="USB_RX Mixer EP7" value="1"/>
</path>
<path name="compress-offload-playbackP hearing-aid">
<path name="compress-offload-playback" />
</path>
<path name="voip-playbackP">
<ctl name="TDM_0_RX Mixer VOIP" value="1"/>
</path>
<path name="voip-playbackP hac-handset">
</path>
<path name="voip-playbackP bt">
<ctl name="BT_RX Mixer VOIP" value="1"/>
</path>
<path name="voip-playbackP usb-headphone">
<ctl name="USB_RX Mixer VOIP" value="1"/>
</path>
<path name="voip-playbackP hearing-aid">
</path>
<path name="haptic-audioP">
<ctl name="TDM_0_RX Mixer EP3" value="1"/>
<ctl name="TDM_0_RX Mixer EP8" value="1"/>
</path>
<path name="haptic-audioP hac-handset">
</path>
<path name="haptic-audioP bt">
<ctl name="BT_RX Mixer EP3" value="1"/>
<ctl name="TDM_0_RX Mixer EP8" value="1"/>
</path>
<path name="haptic-audioP usb-headphone">
<ctl name="USB_RX Mixer EP3" value="1"/>
<ctl name="TDM_0_RX Mixer EP8" value="1"/>
</path>
<path name="hifi-playbackP">
</path>
<path name="hifi-playbackP usb-headphone">
<ctl name="USB_RX Mixer HIFI" value="1"/>
</path>
<path name="hifi-recordC">
</path>
<path name="hifi-recordC usb-headset-mic">
</path>
<!-- audio capture dynamic route -->
<path name="audio-recordC">
<ctl name="EP1 TX Mixer INTERNAL_MIC_TX" value="1"/>
</path>
<path name="audio-recordC usb-headset-mic">
<ctl name="EP1 TX Mixer USB_TX" value="1"/>
</path>
<path name="audio-recordC bt-mic">
<ctl name="EP1 TX Mixer BT_TX" value="1"/>
</path>
<path name="voip-recordC">
<ctl name="VOIP TX Mixer INTERNAL_MIC_TX" value="1"/>
</path>
<path name="voip-recordC usb-headset-mic">
<ctl name="VOIP TX Mixer USB_TX" value="1"/>
</path>
<path name="voip-recordC bt-mic">
<ctl name="VOIP TX Mixer BT_TX" value="1"/>
</path>
<!-- voice-call dynamic route -->
<path name="voice-callP">
<ctl name="TDM_0_RX Mixer EP5" value="1"/>
</path>
<path name="voice-callP bt">
<ctl name="BT_RX Mixer EP5" value="1"/>
</path>
<path name="voice-callP usb-headphone">
<ctl name="USB_RX Mixer EP5" value="1"/>
</path>
<path name="voice-callP hearing-aid">
<ctl name="INCALL_RX Mixer EP5" value="1"/>
</path>
<path name="voice-callP call-screen">
<ctl name="INCALL_RX Mixer EP5" value="1"/>
</path>
<path name="voice-callC">
<ctl name="EP4 TX Mixer INTERNAL_MIC_TX" value="1"/>
</path>
<path name="voice-callC usb-headset-mic">
<ctl name="AoC Modem Downlink ASRC Mode" value="ASP_OFF"/>
<ctl name="EP4 TX Mixer USB_TX" value="1"/>
</path>
<path name="voice-callC bt-mic">
<ctl name="EP4 TX Mixer BT_TX" value="1"/>
</path>
<path name="voice-callC hearing-aid">
<ctl name="EP4 TX Mixer INCALL_TX" value="1"/>
</path>
<path name="voice-callC call-screen">
<ctl name="EP4 TX Mixer INCALL_TX" value="1"/>
</path>
<path name="hostless-ulC spk-vi">
<ctl name="NoHost1 TX Mixer TDM_0_TX" value="1"/>
</path>
<path name="telephony-rx-captureC">
<ctl name="Incall Capture Stream0" value="DL"/>
</path>
<path name="incall-capture1C uplink">
<ctl name="Incall Capture Stream1" value="UL"/>
</path>
<path name="incall-capture1C downlink">
<ctl name="Incall Capture Stream1" value="DL"/>
</path>
<path name="incall-capture1C call">
<ctl name="Incall Capture Stream1" value="UL_DL"/>
</path>
<path name="incall-capture2C uplink">
<ctl name="Incall Capture Stream2" value="UL"/>
</path>
<path name="incall-capture2C downlink">
<ctl name="Incall Capture Stream2" value="DL"/>
</path>
<path name="incall-capture2C call">
<ctl name="Incall Capture Stream2" value="UL_DL"/>
</path>
<path name="low-latency-recordC">
<ctl name="EP3 TX Mixer INTERNAL_MIC_TX" value="1"/>
</path>
<path name="low-latency-recordC usb-headset-mic">
<ctl name="EP3 TX Mixer USB_TX" value="1"/>
</path>
<path name="low-latency-recordC bt-mic">
<ctl name="EP3 TX Mixer BT_TX" value="1"/>
</path>
<path name="mmap-recordC">
<ctl name="EP2 TX Mixer INTERNAL_MIC_TX" value="1"/>
</path>
<path name="mmap-recordC usb-headset-mic">
<ctl name="EP2 TX Mixer USB_TX" value="1"/>
</path>
<path name="mmap-recordC bt-mic">
<ctl name="EP2 TX Mixer BT_TX" value="1"/>
</path>
<!-- codec setting -->>
<!-- Rx device -->
<path name="handset">
<ctl name="PCM Source" value="ASP"/>
<ctl name="AMP PCM Gain" value="6"/>
<ctl name="Main AMP Enable Switch" value="1"/>
</path>
<path name="voice-handset">
<ctl name="Boost Peak Current Limit" value="3.50A"/>
<ctl name="PCM Source" value="ASP"/>
<ctl name="AMP PCM Gain" value="7"/>
<ctl name="Main AMP Enable Switch" value="1"/>
</path>
<path name="voice-hac">
<path name="voice-handset"/>
</path>
<path name="voice-hac-handset">
</path>
<path name="speaker">
<ctl name="Boost Peak Current Limit" value="3.50A"/>
<ctl name="R Boost Peak Current Limit" value="3.50A"/>
<ctl name="Main AMP Enable Switch" value="1"/>
<ctl name="R Main AMP Enable Switch" value="1"/>
</path>
<path name="speaker-post">
<!-- load Bypass FIR -->
<ctl name="Fast Use Case Delta File" value="fast_switch3.txt" />
<ctl name="Fast Use Case Switch Enable" value="1" />
<ctl name="R Fast Use Case Delta File" value="fast_switch4.txt" />
<ctl name="R Fast Use Case Switch Enable" value="1" />
</path>
<path name="voice-speaker">
<ctl name="R Boost Peak Current Limit" value="3.50A"/>
<ctl name="Boost Peak Current Limit" value="3.50A"/>
<ctl name="ASPTX1 Slot Position" value="1"/>
<ctl name="R ASPTX1 Slot Position" value="0"/>
<ctl name="R Main AMP Enable Switch" value="1"/>
<ctl name="Main AMP Enable Switch" value="1"/>
</path>
<path name="voice-speaker-post">
<!-- load Enable FIR -->
<ctl name="Fast Use Case Delta File" value="fast_switch1.txt" />
<ctl name="Fast Use Case Switch Enable" value="1" />
<ctl name="R Fast Use Case Delta File" value="fast_switch2.txt" />
<ctl name="R Fast Use Case Switch Enable" value="1" />
<ctl name="Digital PCM Volume" value="800"/>
</path>
<path name="voice-dual-speaker">
<!-- Speaker Separation -->
<path name="voice-speaker" />
<path name="voice-speaker-post" />
</path>
<path name="speaker-safe">
<ctl name="R Boost Peak Current Limit" value="3.50A"/>
<ctl name="R Main AMP Enable Switch" value="1"/>
</path>
<path name="speaker-safe-post">
<!-- load Bypass FIR -->
<ctl name="R Fast Use Case Delta File" value="fast_switch4.txt" />
<ctl name="R Fast Use Case Switch Enable" value="1" />
</path>
<path name="speaker-amp1">
<ctl name="Main AMP Enable Switch" value="1"/>
</path>
<path name="speaker-amp2">
<ctl name="R Main AMP Enable Switch" value="1"/>
</path>
<path name="usb-tty-full">
</path>
<path name="usb-tty-hco">
</path>
<path name="usb-tty-vco">
</path>
<!-- Tx device -->
<path name="handset-mic">
<ctl name="Mic Spatial Module Enable" value="1"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="2"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="-1"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1"/>
<ctl name="MIC DC Blocker" value="1"/>
</path>
<path name="handset-mic-post">
<ctl name="MIC Record Soft Gain (dB)" value="22"/>
</path>
<path name="voice-handset-mic">
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="3"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="2"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1"/>
<ctl name="MIC DC Blocker" value="1"/>
<ctl name="MIC HW Gain At High Power Mode (cB)" value="130"/>
</path>
<path name="voice-handset-mic-post">
<ctl name="MIC Record Soft Gain (dB)" value="0"/>
</path>
<path name="speaker-mic">
<ctl name="Mic Spatial Module Enable" value="1"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="2"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="-1"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1"/>
<ctl name="MIC DC Blocker" value="1"/>
</path>
<path name="speaker-mic-post">
<ctl name="MIC Record Soft Gain (dB)" value="22"/>
</path>
<path name="voice-speaker-mic">
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="3"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="2"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1"/>
<ctl name="MIC DC Blocker" value="1"/>
<ctl name="MIC HW Gain At High Power Mode (cB)" value="130"/>
</path>
<path name="voice-speaker-mic-post">
<ctl name="MIC Record Soft Gain (dB)" value="0"/>
</path>
<path name="camcorder-mic">
<ctl name="Mic Spatial Module Enable" value="1"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="2"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="-1"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1"/>
<ctl name="MIC DC Blocker" value="1"/>
</path>
<path name="camcorder-mic-post">
<ctl name="MIC Record Soft Gain (dB)" value="0"/>
</path>
<path name="voice-recog-mic">
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="2"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="-1"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1"/>
<ctl name="MIC DC Blocker" value="1"/>
</path>
<path name="voice-recog-mic-post">
<ctl name="MIC Record Soft Gain (dB)" value="22"/>
</path>
<path name="voice-recog-aec-mic">
<ctl name="Audio Capture Eraser Enable" value="1"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="2"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="-1"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1"/>
<ctl name="MIC DC Blocker" value="1"/>
<ctl name="Audio Capture Mic Source" value="ERASER"/>
</path>
<path name="voice-recog-aec-mic-post">
<ctl name="MIC Record Soft Gain (dB)" value="0"/>
</path>
<path name="unprocessed-mic">
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="2"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="-1"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1"/>
<ctl name="MIC DC Blocker" value="1"/>
</path>
<path name="unprocessed-mic-post">
<ctl name="MIC Record Soft Gain (dB)" value="5"/>
</path>
<path name="unprocessed-dual-mic">
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="2"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="-1"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1"/>
<ctl name="MIC DC Blocker" value="1"/>
</path>
<path name="unprocessed-dual-mic-post">
<ctl name="MIC Record Soft Gain (dB)" value="5"/>
</path>
<path name="unprocessed-triple-mic">
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="2"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="-1"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1"/>
<ctl name="MIC DC Blocker" value="1"/>
</path>
<path name="unprocessed-triple-mic-post">
<ctl name="MIC Record Soft Gain (dB)" value="5"/>
</path>
<path name="bt-mic">
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="2"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="-1"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1"/>
<ctl name="Audio Capture Mic Source" value="BT_MIC"/>
<ctl name="Voice Call Mic Source" value="BT_MIC"/>
</path>
<path name="bt-mic-post">
<ctl name="MIC Record Soft Gain (dB)" value="0"/>
</path>
<path name="usb-headset-mic">
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="2"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="-1"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1"/>
<ctl name="Audio Capture Mic Source" value="USB_MIC"/>
<ctl name="Voice Call Mic Source" value="USB_MIC"/>
</path>
<path name="usb-headset-mic-post">
<ctl name="MIC Record Soft Gain (dB)" value="0"/>
</path>
<!-- cs35l41 specific path to load firmware in cs35l41.c -->
<path name="cs35l41-load-protection-firmware-start">
<!-- Enable it after get the protection firmware -->
<ctl name="DSP Booted" value="0" />
<ctl name="R DSP Booted" value="0" />
<ctl name="DSP1 Preload Switch" value="0" />
<ctl name="R DSP1 Preload Switch" value="0" />
</path>
<path name="cs35l41-load-protection-firmware-end">
<!-- Enable it after get the protection firmware -->
<ctl name="DSP1 Preload Switch" value="1" />
<ctl name="R DSP1 Preload Switch" value="1" />
</path>
<!-- cs35l41 specific path to load firmware in cs35l41.c end-->
</mixer>

View File

@@ -0,0 +1,389 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<mixer>
<ctl name="TDM_0_RX Mixer EP3" value="0" />
<ctl name="TDM_0_RX Mixer EP6" value="0" />
<ctl name="I2S_0_RX Mixer EP3" value="0" />
<ctl name="Main AMP Enable Switch" value="0" />
<ctl name="R Main AMP Enable Switch" value="0" />
<ctl name="MIC HW Gain At Lower Power Mode (cB)" value="-160" />
<ctl name="MIC HW Gain At High Power Mode (cB)" value="0" />
<ctl name="MIC Record Soft Gain (dB)" value="0"/>
<ctl name="EP1 TX Mixer TDM_0_TX" value="0" />
<ctl name="DEFAULT_MIC_ID" value="0" />
<ctl name="MIC0" value="0" />
<ctl name="MIC1" value="0" />
<ctl name="MIC2" value="0" />
<ctl name="MIC3" value="0" />
<ctl name="AoC Speaker Mixer ASP Mode" value="ASP_ON" />
<ctl name="TDM_0_RX Mixer US" value="0" />
<ctl name="US Record Enable" value="0" />
<path name="mfg-playback">
</path>
<path name="deep-buffer-playback speaker">
<ctl name="AoC Speaker Mixer ASP Mode" value="ASP_BYPASS" />
<ctl name="TDM_0_RX Mixer EP6" value="1" />
<path name="mfg-playback" />
</path>
<path name="deep-buffer-playback headphones">
<ctl name="I2S_0_RX Mixer EP6" value="1" />
<path name="mfg-playback" />
</path>
<path name="mfg-record">
<ctl name="EP1 TX Mixer TDM_0_TX" value="1" />
</path>
<path name="us-mfg-record">
<ctl name="US Record Enable" value="1" />
<ctl name="EP1 TX Mixer TDM_0_TX" value="1" />
</path>
<path name="mic1-status">
<ctl name="MIC0" value="1" />
</path>
<path name="mic2-status">
<ctl name="MIC1" value="1" />
</path>
<path name="mic3-status">
<ctl name="MIC2" value="1" />
</path>
<path name="mic4-status">
<ctl name="MIC3" value="0" />
</path>
<path name="mic1-gain">
<ctl name="MIC HW Gain At Lower Power Mode (cB)" />
<ctl name="MIC HW Gain At High Power Mode (cB)" />
</path>
<path name="mic2-gain">
<ctl name="MIC HW Gain At Lower Power Mode (cB)" />
<ctl name="MIC HW Gain At High Power Mode (cB)" />
</path>
<path name="mic3-gain">
<ctl name="MIC HW Gain At Lower Power Mode (cB)" />
<ctl name="MIC HW Gain At High Power Mode (cB)" />
</path>
<path name="mic4-gain">
<ctl name="MIC HW Gain At Lower Power Mode (cB)" />
<ctl name="MIC HW Gain At High Power Mode (cB)" />
</path>
<path name="mic1-sw-gain">
<ctl name="MIC Record Soft Gain (dB)" />
</path>
<path name="mic2-sw-gain">
<ctl name="MIC Record Soft Gain (dB)" />
</path>
<path name="mic3-sw-gain">
<ctl name="MIC Record Soft Gain (dB)" />
</path>
<path name="mic4-sw-gain">
<ctl name="MIC Record Soft Gain (dB)" />
</path>
<path name="usb-capture-gain">
<ctl name="Headset Capture Volume" />
</path>
<path name="mic1-only">
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0" />
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="-1" />
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="-1" />
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1" />
<ctl name="MIC0" value="1" />
<ctl name="MIC Record Soft Gain (dB)" value="0" />
</path>
<path name="mic2-only">
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="2" />
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="-1" />
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="-1" />
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1" />
<ctl name="MIC1" value="1" />
<ctl name="MIC Record Soft Gain (dB)" value="0" />
</path>
<path name="mic3-only">
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="2" />
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="-1" />
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="-1" />
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1" />
<ctl name="MIC2" value="1" />
<ctl name="MIC Record Soft Gain (dB)" value="0" />
</path>
<path name="mic4-only">
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="3" />
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="-1" />
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="-1" />
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1" />
<ctl name="MIC3" value="0" />
<ctl name="MIC Record Soft Gain (dB)" value="0" />
</path>
<path name="mic-all">
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0" />
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="2" />
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="3" />
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1" />
<ctl name="MIC0" value="1" />
<ctl name="MIC1" value="1" />
<ctl name="MIC2" value="1" />
<ctl name="MIC3" value="0" />
<ctl name="MIC Record Soft Gain (dB)" value="0" />
</path>
<path name="amp_iv-only">
<ctl name="R ASPTX1 Slot Position" value="2" />
<ctl name="R ASPTX2 Slot Position" value="3" />
<ctl name="R ASPTX3 Slot Position" value="6" />
<ctl name="R ASPTX4 Slot Position" value="7" />
<ctl name="ASPTX1 Slot Position" value="0" />
<ctl name="ASPTX2 Slot Position" value="1" />
<ctl name="ASPTX3 Slot Position" value="4" />
<ctl name="ASPTX4 Slot Position" value="5" />
<ctl name="R ASP TX1 Source" value="VMON" />
<ctl name="R ASP TX2 Source" value="ASPRX1" />
<ctl name="R ASP TX3 Source" value="Zero" />
<ctl name="R ASP TX4 Source" value="Zero" />
<ctl name="ASP TX1 Source" value="VMON" />
<ctl name="ASP TX2 Source" value="ASPRX1" />
<ctl name="ASP TX3 Source" value="Zero" />
<ctl name="ASP TX4 Source" value="Zero" />
<ctl name="NoHost1 TX Mixer TDM_0_TX" value="1" />
</path>
<path name="amp_iv1-only">
<ctl name="R ASPTX1 Slot Position" value="4" />
<ctl name="R ASPTX2 Slot Position" value="5" />
<ctl name="R ASPTX3 Slot Position" value="6" />
<ctl name="R ASPTX4 Slot Position" value="7" />
<ctl name="ASPTX1 Slot Position" value="0" />
<ctl name="ASPTX2 Slot Position" value="1" />
<ctl name="ASPTX3 Slot Position" value="2" />
<ctl name="ASPTX4 Slot Position" value="3" />
<ctl name="R ASP TX1 Source" value="Zero" />
<ctl name="R ASP TX2 Source" value="Zero" />
<ctl name="R ASP TX3 Source" value="Zero" />
<ctl name="R ASP TX4 Source" value="Zero" />
<ctl name="ASP TX1 Source" value="VMON" />
<ctl name="ASP TX2 Source" value="IMON" />
<ctl name="ASP TX3 Source" value="VPMON" />
<ctl name="ASP TX4 Source" value="ASPRX1" />
<ctl name="NoHost1 TX Mixer TDM_0_TX" value="1" />
</path>
<path name="amp_iv2-only">
<ctl name="R ASPTX1 Slot Position" value="0" />
<ctl name="R ASPTX2 Slot Position" value="1" />
<ctl name="R ASPTX3 Slot Position" value="2" />
<ctl name="R ASPTX4 Slot Position" value="3" />
<ctl name="ASPTX1 Slot Position" value="4" />
<ctl name="ASPTX2 Slot Position" value="5" />
<ctl name="ASPTX3 Slot Position" value="6" />
<ctl name="ASPTX4 Slot Position" value="7" />
<ctl name="R ASP TX1 Source" value="VMON" />
<ctl name="R ASP TX2 Source" value="IMON" />
<ctl name="R ASP TX3 Source" value="VPMON" />
<ctl name="R ASP TX4 Source" value="ASPRX1" />
<ctl name="ASP TX1 Source" value="Zero" />
<ctl name="ASP TX2 Source" value="Zero" />
<ctl name="ASP TX3 Source" value="Zero" />
<ctl name="ASP TX4 Source" value="Zero" />
<ctl name="NoHost1 TX Mixer TDM_0_TX" value="1" />
</path>
<path name="us-amp_iv-only">
<ctl name="TDM_0_RX Sample Rate" value="SR_96K" />
<ctl name="TDM_0_TX Sample Rate" value="SR_96K" />
<path name="amp_iv-only" />
</path>
<path name="us-amp_iv1-only">
<ctl name="TDM_0_RX Sample Rate" value="SR_96K" />
<ctl name="TDM_0_TX Sample Rate" value="SR_96K" />
<path name="amp_iv1-only" />
</path>
<path name="us-amp_iv2-only">
<ctl name="TDM_0_RX Sample Rate" value="SR_96K" />
<ctl name="TDM_0_TX Sample Rate" value="SR_96K" />
<path name="amp_iv2-only" />
</path>
<path name="speaker1-status">
<ctl name="Main AMP Enable Switch" value="1" />
</path>
<path name="speaker2-status">
<ctl name="R Main AMP Enable Switch" value="1" />
</path>
<path name="speaker1-gain">
<ctl name="AMP PCM Gain" />
</path>
<path name="speaker2-gain">
<ctl name="R AMP PCM Gain" />
</path>
<path name="usb-playback-gain">
<ctl name="Headset Playback Volume" />
</path>
<path name="mfg-playback speaker">
<ctl name="AoC Speaker Mixer ASP Mode" value="ASP_BYPASS" />
<ctl name="TDM_0_RX Mixer EP3" value="1" />
<ctl name="ASPRX1 Slot Position" value="0" />
<ctl name="R ASPRX1 Slot Position" value="1" />
<ctl name="SINK_IDS" id="0" value="0" />
<ctl name="SINK_IDS" id="1" value="-1" />
</path>
<path name="mfg-playback headphones">
<ctl name="I2S_0_RX Chan" value="Two" />
<ctl name="I2S_0_RX Format" value="S32_LE" />
<ctl name="I2S_0_RX Mixer EP3" value="1" />
<ctl name="SINK_IDS" id="0" value="1" />
<ctl name="SINK_IDS" id="1" value="-1" />
</path>
<path name="mfg-playback usb-headphones">
<ctl name="USB Dev ID v2" value="2" />
<ctl name="USB Playback EP ID v2" value="1" />
<ctl name="USB Capture EP ID v2" value="0" />
<ctl name="USB Playback FORMAT v2" value="6" />
<ctl name="USB Playback SR v2" value="48000" />
<ctl name="USB Playback CH v2" value="2" />
<ctl name="USB Playback BW v2" value="16" />
<ctl name="USB Config To AoC v2" value="1" />
<ctl name="USB_RX Mixer EP3" value="1" />
</path>
<path name="mfg-record usb-headset-mic">
<ctl name="Audio Capture Mic Source" value="USB_MIC"/>
<ctl name="USB Playback EP ID v2" value="0" />
<ctl name="USB Capture FORMAT v2" value="1" />
<ctl name="USB Config To AoC v2" value="1"/>
<ctl name="EP1 TX Mixer USB_TX" value="1"/>
</path>
<path name="us-mfg-playback speaker">
<ctl name="TDM_0_RX Sample Rate" value="SR_96K" />
<ctl name="TDM_0_TX Sample Rate" value="SR_96K" />
<ctl name="TDM_0_RX Mixer US" value="1" />
</path>
<path name="speaker1-only">
<ctl name="Main AMP Enable Switch" value="1" />
<path name="mfg-playback speaker" />
<ctl name="AMP PCM Gain" value="17" />
<ctl name="PCM Source" value="ASP" />
</path>
<path name="speaker2-only">
<ctl name="R Main AMP Enable Switch" value="1" />
<path name="mfg-playback speaker" />
<ctl name="R AMP PCM Gain" value="17" />
<ctl name="R PCM Source" value="ASP" />
</path>
<path name="us-speaker1-only">
<path name="us-mfg-playback speaker" />
<ctl name="PCM Source" value="ASP" />
<ctl name="Main AMP Enable Switch" value="1" />
</path>
<path name="us-speaker2-only">
<path name="us-mfg-playback speaker" />
<ctl name="R PCM Source" value="ASP" />
<ctl name="R Main AMP Enable Switch" value="1" />
</path>
<path name="headphones">
<ctl name="DAC1 MIXL DAC1 Switch" value="1" />
<ctl name="DAC1 MIXR DAC1 Switch" value="1" />
<ctl name="Stereo1 DAC MIXL DAC L1 Switch" value="1" />
<ctl name="Stereo1 DAC MIXR DAC R1 Switch" value="1" />
<ctl name="DAC L1 Source" value="Stereo1 DAC Mixer" />
<ctl name="DAC R1 Source" value="Stereo1 DAC Mixer" />
<ctl name="HPOL Playback Switch" value="1" />
<ctl name="HPOR Playback Switch" value="1" />
<path name="mfg-playback headphones" />
</path>
<path name="speaker-all">
<ctl name="Main AMP Enable Switch" value="1" />
<ctl name="PCM Source" value="ASP" />
<ctl name="R Main AMP Enable Switch" value="1" />
<ctl name="R PCM Source" value="ASP" />
<path name="mfg-playback speaker" />
</path>
<path name="us-speaker-all">
<path name="us-mfg-playback speaker" />
<ctl name="PCM Source" value="ASP" />
<ctl name="Main AMP Enable Switch" value="1" />
<ctl name="R PCM Source" value="ASP" />
<ctl name="R Main AMP Enable Switch" value="1" />
</path>
<path name="loopback-mic-speaker">
<ctl name="EP1 TX Mixer TDM_0_TX" value="1" />
<ctl name="SINK_IDS" id="0" value="0" />
<ctl name="SINK_IDS" id="1" value="-1" />
<path name="mfg-playback" />
</path>
<path name="loopback-mic-headphones">
<ctl name="EP1 TX Mixer TDM_0_TX" value="1" />
<ctl name="SINK_IDS" id="0" value="1" />
<ctl name="SINK_IDS" id="1" value="-1" />
<path name="mfg-playback" />
</path>
<path name="loopback-mic-usb-headphones">
<ctl name="MIC HW Gain At Lower Power Mode (cB)" value="-160" />
<ctl name="MIC HW Gain At High Power Mode (cB)" value="0" />
<ctl name="TDM_0_TX Format" value="S32_LE" />
<ctl name="TDM_0_TX Chan" value="One" />
<ctl name="EP1 TX Mixer TDM_0_TX" value="1" />
</path>
<path name="loopback-usb-mic-speaker">
<ctl name="USB Capture FORMAT v2" value="1" />
<ctl name="MIC Record Soft Gain (dB)" value="0" />
</path>
<path name="loopback-usb-mic-usb-headphone">
<ctl name="Audio Capture Mic Source" value='USB_MIC' />
<ctl name="USB Capture FORMAT v2" value="1" />
<ctl name="MIC Record Soft Gain (dB)" value="0" />
</path>
<pcm_id name="loopback-mic1" value="EP1 capture (*)"/>
<pcm_id name="loopback-mic2" value="EP1 capture (*)"/>
<pcm_id name="loopback-mic3" value="EP1 capture (*)"/>
<pcm_id name="loopback-mic4" value="EP1 capture (*)"/>
<pcm_id name="loopback-speaker1" value="EP3 playback (*)"/>
<pcm_id name="loopback-speaker2" value="EP3 playback (*)"/>
<pcm_id name="loopback-speaker3" value="EP3 playback (*)"/>
<pcm_id name="loopback-headphones" value="EP3 playback (*)"/>
<pcm_id name="loopback-usb-headphones" value="EP3 playback (*)"/>
<pcm_id name="loopback-usb-mic" value="EP1 capture (*)"/>
<pcm_id name="loopback-amp_iv" value="nohost1 capture (*)"/>
</mixer>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Copyright (c) 2020, The Linux Foundation. All rights reserved. -->
<!-- -->
<!-- Redistribution and use in source and binary forms, with or without -->
<!-- modification, are permitted provided that the following conditions are -->
<!-- met: -->
<!-- * Redistributions of source code must retain the above copyright -->
<!-- notice, this list of conditions and the following disclaimer. -->
<!-- * Redistributions in binary form must reproduce the above -->
<!-- copyright notice, this list of conditions and the following -->
<!-- disclaimer in the documentation and/or other materials provided -->
<!-- with the distribution. -->
<!-- * Neither the name of The Linux Foundation nor the names of its -->
<!-- contributors may be used to endorse or promote products derived -->
<!-- from this software without specific prior written permission. -->
<!-- -->
<!-- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
<!-- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
<!-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
<!-- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
<!-- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
<!-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
<!-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
<!-- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
<!-- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
<sound_trigger_hal_configuration>
<supported_model>
<model name="CLIENT_HOTWORD" uuid="7038ddc8-30f2-11e6-b0ac-40a8f03d3f15" model_type="keyphrase" bargein="true"/>
<model name="CLIENT_AMBIENT_MUSIC" uuid="9f6ad62a-1f0b-11e7-87c5-40a8f03d3f15" model_type="generic" bargein="false"/>
<model name="CLIENT_AMBIENT_MUSIC_BREAK" uuid="12caddb1-acdb-4dce-8cb0-2e95a2313aee" model_type="generic" bargein="false"/>
</supported_model>
</sound_trigger_hal_configuration>

View File

@@ -0,0 +1,307 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. -->
<!-- -->
<!-- Redistribution and use in source and binary forms, with or without -->
<!-- modification, are permitted provided that the following conditions are -->
<!-- met: -->
<!-- * Redistributions of source code must retain the above copyright -->
<!-- notice, this list of conditions and the following disclaimer. -->
<!-- * Redistributions in binary form must reproduce the above -->
<!-- copyright notice, this list of conditions and the following -->
<!-- disclaimer in the documentation and/or other materials provided -->
<!-- with the distribution. -->
<!-- * Neither the name of The Linux Foundation nor the names of its -->
<!-- contributors may be used to endorse or promote products derived -->
<!-- from this software without specific prior written permission. -->
<!-- -->
<!-- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
<!-- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
<!-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
<!-- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
<!-- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
<!-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
<!-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
<!-- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
<!-- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
<mixer>
<!-- Initial Values -->
<!-- Preload Stage -->
<ctl name="Main AMP Enable Switch" value="0" />
<ctl name="DSP1 Preload Switch" value="0" />
<ctl name="R Main AMP Enable Switch" value="0" />
<ctl name="R DSP1 Preload Switch" value="0" />
<!-- Clock-trigger Stage -->
<ctl name="SINK_IDS" id="0" value="-1"/>
<ctl name="SINK_IDS" id="1" value="-1"/>
<ctl name="PCM Playback Volume" value="10"/>
<ctl name="TDM_0_RX Mixer EP6" value="0"/>
<!-- Preparation Stage -->
<path name="crus-switch-fw-prepare">
<ctl name="DRE DRE Switch" value="1" />
<ctl name="VBSTMON Output Switch" value="1" />
<ctl name="DSP Booted" value="0" />
<ctl name="DSP1 Preload Switch" value="0" />
<ctl name="R DRE DRE Switch" value="1" />
<ctl name="R VBSTMON Output Switch" value="1" />
<ctl name="R DSP Booted" value="0" />
<ctl name="R DSP1 Preload Switch" value="0" />
</path>
<!-- Preload Stage -->
<path name="crus-fw-preload">
<ctl name="DSP1 Preload Switch" value="1" />
<ctl name="R DSP1 Preload Switch" value="1" />
</path>
<!-- Firmware-switching Stage -->
<path name="crus-switch-fw-Calibration">
<ctl name="AMP PCM Gain" value="17" />
<ctl name="Digital PCM Volume" value="817" />
<ctl name="PCM Source" value="DSP" />
<ctl name="DSP1 Firmware" value="Calibration" />
<ctl name="R AMP PCM Gain" value="17" />
<ctl name="R Digital PCM Volume" value="817" />
<ctl name="R PCM Source" value="DSP" />
<ctl name="R DSP1 Firmware" value="Calibration" />
</path>
<path name="crus-switch-fw-Diagnostic">
<ctl name="AMP PCM Gain" value="17" />
<ctl name="Digital PCM Volume" value="817" />
<ctl name="PCM Source" value="DSP" />
<ctl name="DSP1 Firmware" value="Diagnostic" />
<ctl name="R AMP PCM Gain" value="17" />
<ctl name="R Digital PCM Volume" value="817" />
<ctl name="R PCM Source" value="DSP" />
<ctl name="R DSP1 Firmware" value="Diagnostic" />
</path>
<path name="crus-switch-fw-Protection">
<ctl name="PCM Source" value="DSP" />
<ctl name="DSP1 Firmware" value="Protection" />
<ctl name="R PCM Source" value="DSP" />
<ctl name="R DSP1 Firmware" value="Protection" />
</path>
<!-- DSP-initialization Stage -->
<path name="crus-dsp-pre-calibration-amp1">
<ctl name="Main AMP Enable Switch" value="1" />
</path>
<path name="crus-dsp-pre-calibration-amp2">
<ctl name="R Main AMP Enable Switch" value="1" />
</path>
<path name="crus-dsp-pre-calibration">
<path name="crus-dsp-pre-calibration-amp1" />
<path name="crus-dsp-pre-calibration-amp2" />
</path>
<path name="crus-dsp-pre-diagnostic-amp1">
<ctl name="Main AMP Enable Switch" value="1" />
</path>
<path name="crus-dsp-pre-diagnostic-amp2">
<ctl name="R Main AMP Enable Switch" value="1" />
</path>
<path name="crus-dsp-pre-diagnostic">
<path name="crus-dsp-pre-diagnostic-amp1" />
<path name="crus-dsp-pre-diagnostic-amp2" />
</path>
<path name="crus-dsp-pre-protection">
<ctl name="Main AMP Enable Switch" value="1" />
<ctl name="R Main AMP Enable Switch" value="1" />
</path>
<!-- Clock-trigger Stage -->
<path name="platform-controls">
<ctl name="PCM Playback Volume" value="1000"/>
<ctl name="SINK_IDS" id="0" value="0"/>
<ctl name="SINK_IDS" id="1" value="-1"/>
<ctl name="TDM_0_RX Mixer EP6" value="1"/>
</path>
<!-- Post loaded firmware -->
<path name="crus-dsp-post-loading-fw">
<ctl name="Main AMP Enable Switch" value="0" />
<ctl name="R Main AMP Enable Switch" value="0" />
</path>
<!-- Value & Information Fetch Stage -->
<path name="platform-values">
<ctl name="TDM_0_RX Format" />
<ctl name="TDM_0_RX Chan" />
<ctl name="TDM_0_RX Sample Rate" />
<ctl name="PCM Playback Volume" />
<ctl name="TDM_0_RX Mixer EP6" />
</path>
<path name="cs35l41-values">
<ctl name="DRE DRE Switch" />
<ctl name="R DRE DRE Switch" />
<ctl name="VBSTMON Output Switch" />
<ctl name="R VBSTMON Output Switch" />
<ctl name="AMP PCM Gain" />
<ctl name="R AMP PCM Gain" />
<ctl name="Digital PCM Volume" />
<ctl name="R Digital PCM Volume" />
<ctl name="PCM Source" />
<ctl name="R PCM Source" />
<ctl name="DSP Booted" />
<ctl name="R DSP Booted" />
<ctl name="Main AMP Enable Switch" />
<ctl name="R Main AMP Enable Switch" />
<ctl name="DSP1 Preload Switch" />
<ctl name="R DSP1 Preload Switch" />
<ctl name="DSP1 Firmware" />
<ctl name="R DSP1 Firmware" />
</path>
<!-- Note that the order of controls does matter because
it should be matched to the structure defined in
sp_cal_common.h -->
<!--
struct calibration_data {
unsigned int cal_r;
unsigned int cal_status;
unsigned int cal_checksum;
unsigned int cal_ambient;
unsigned int amp_pcm_gain;
unsigned int digital_pcm_gain;
};
-->
<path name="cs35l41-dsp-amp1-calibration-values">
<ctl name="DSP1 Calibration cd CAL_R" />
<ctl name="DSP1 Calibration cd CAL_STATUS" />
<ctl name="DSP1 Calibration cd CAL_CHECKSUM" />
<ctl name="DSP1 Calibration cd CAL_AMBIENT" />
<ctl name="AMP PCM Gain" />
<ctl name="Digital PCM Volume" />
<!-- Only for debug print -->
<ctl name="DSP1 Calibration cd CAL_SET_STATUS" />
</path>
<path name="cs35l41-dsp-amp2-calibration-values">
<ctl name="R DSP1 Calibration cd CAL_R" />
<ctl name="R DSP1 Calibration cd CAL_STATUS" />
<ctl name="R DSP1 Calibration cd CAL_CHECKSUM" />
<ctl name="R DSP1 Calibration cd CAL_AMBIENT" />
<ctl name="R AMP PCM Gain" />
<ctl name="R Digital PCM Volume" />
<!-- Only for debug print -->
<ctl name="R DSP1 Calibration cd CAL_SET_STATUS" />
</path>
<!--
struct diagnostic_data {
struct calibration_data calibration_data;
unsigned int z_low_diff;
unsigned int diag_f0;
unsigned int diag_f0_status;
};
-->
<path name="cs35l41-dsp-amp1-diagnostic-values">
<!-- struct calibration_data START -->
<ctl name="DSP1 Diagnostic cd CAL_R" />
<ctl name="DSP1 Diagnostic cd CAL_STATUS" />
<ctl name="DSP1 Diagnostic cd CAL_CHECKSUM" />
<ctl name="DSP1 Diagnostic cd CAL_AMBIENT" />
<ctl name="AMP PCM Gain" />
<ctl name="Digital PCM Volume" />
<!-- struct calibration_data END -->
<ctl name="DSP1 Diagnostic cd DIAG_Z_LOW_DIFF" />
<ctl name="DSP1 Diagnostic cd DIAG_F0" />
<ctl name="DSP1 Diagnostic cd DIAG_F0_STATUS" />
<!-- Only for debug print -->
<ctl name="DSP1 Diagnostic cd CAL_SET_STATUS" />
</path>
<path name="cs35l41-dsp-amp2-diagnostic-values">
<!-- struct calibration_data START -->
<ctl name="R DSP1 Diagnostic cd CAL_R" />
<ctl name="R DSP1 Diagnostic cd CAL_STATUS" />
<ctl name="R DSP1 Diagnostic cd CAL_CHECKSUM" />
<ctl name="R DSP1 Diagnostic cd CAL_AMBIENT" />
<ctl name="R AMP PCM Gain" />
<ctl name="R Digital PCM Volume" />
<!-- struct calibration_data END -->
<ctl name="R DSP1 Diagnostic cd DIAG_Z_LOW_DIFF" />
<ctl name="R DSP1 Diagnostic cd DIAG_F0" />
<ctl name="R DSP1 Diagnostic cd DIAG_F0_STATUS" />
<!-- Only for debug print -->
<ctl name="R DSP1 Diagnostic cd CAL_SET_STATUS" />
</path>
<path name="cs35l41-dsp-amp1-protection-values">
<!-- struct calibration_data START -->
<ctl name="DSP1 Protection cd CAL_R" />
<ctl name="DSP1 Protection cd CAL_STATUS" />
<ctl name="DSP1 Protection cd CAL_CHECKSUM" />
<ctl name="DSP1 Protection cd CAL_AMBIENT" />
<!-- These controls are unrelated so we can simply
skip them
<ctl name="AMP PCM Gain" />
<ctl name="Digital PCM Volume" />
-->
<!-- struct calibration_data END -->
</path>
<path name="cs35l41-dsp-amp2-protection-values">
<!-- struct calibration_data START -->
<ctl name="R DSP1 Protection cd CAL_R" />
<ctl name="R DSP1 Protection cd CAL_STATUS" />
<ctl name="R DSP1 Protection cd CAL_CHECKSUM" />
<ctl name="R DSP1 Protection cd CAL_AMBIENT" />
<!-- These controls are unrelated so we can simply
skip them
<ctl name="R AMP PCM Gain" />
<ctl name="R Digital PCM Volume" />
-->
<!-- struct calibration_data END -->
</path>
<path name="cs35l41-dsp-amp1-calibration-completion">
<ctl name="DSP1 Calibration cd CAL_STATUS" />
</path>
<path name="cs35l41-dsp-amp2-calibration-completion">
<ctl name="R DSP1 Calibration cd CAL_STATUS" />
</path>
<path name="cs35l41-dsp-amp1-protection-completion">
<ctl name="DSP1 Protection cd CAL_SET_STATUS" />
</path>
<path name="cs35l41-dsp-amp2-protection-completion">
<ctl name="R DSP1 Protection cd CAL_SET_STATUS" />
</path>
<path name="cs35l41-dsp-amp1-diagnostic-completion">
<ctl name="DSP1 Diagnostic cd CAL_STATUS" />
<ctl name="DSP1 Diagnostic cd DIAG_F0_STATUS" />
</path>
<path name="cs35l41-dsp-amp2-diagnostic-completion">
<ctl name="R DSP1 Diagnostic cd CAL_STATUS" />
<ctl name="R DSP1 Diagnostic cd DIAG_F0_STATUS" />
</path>
<path name="cs35l41-dsp-amp1-enable-status">
<ctl name="Main AMP Enable Switch" />
</path>
<path name="cs35l41-dsp-amp2-enable-status">
<ctl name="R Main AMP Enable Switch" />
</path>
</mixer>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
11,4,768,1236,353840,65536,2229536,1,7,0,256012610

View File

@@ -0,0 +1 @@
11,4,768,1236,353840,69632,2229536,1,7,0,469781064

View File

@@ -0,0 +1 @@
11,4,768,1236,353840,65536,2229536,1,7,4194304,-12894649

View File

@@ -0,0 +1 @@
11,4,768,1236,353840,69632,2229536,1,7,4194304,-327613107

View File

@@ -0,0 +1,22 @@
#
# Copyright (C) 2021 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.
#
AUDIO_FACTORY_TABLE_FOLDER := lynx
# Mixer Path Configuration for Audio Factory
PRODUCT_COPY_FILES += \
device/google/lynx/audio/$(AUDIO_FACTORY_TABLE_FOLDER)/config/mixer_paths_factory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_factory.xml

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,287 @@
<?xml version="1.0" encoding="UTF-8"?>
<template>
<modules>
<module id="2" name="Waves">
<param id="0" max="3" name="opMode_" type="uint32"/>
</module>
<module id="3" name="Forte">
<param id="0" max="3" name="opMode_" type="uint32"/>
</module>
<module id="5" name="Auto Gain Control">
<param default="0" id="0" max="3" name="opMode_" type="uint32"/>
<param default="48000" id="1" name="fs_" type="uint32"/>
<param default="1" id="2" name="numCh_" type="uint32"/>
<param default="1" id="3" name="chMask_" type="uint32"/>
<param id="16" name="GainApplied" type="float"/>
<param id="17" name="idealRMS" type="float"/>
<param id="18" name="noiseGate" type="float"/>
<param id="19" name="minGain" type="float"/>
<param id="20" name="maxGain" type="float"/>
<param id="21" name="longGainAtRt" type="uint32"/>
<param id="22" name="GainAtRt" type="uint32"/>
<param id="23" name="rmsTav" type="uint32"/>
</module>
<module id="6" name="Surround Record">
<param default="0" id="0" max="3" name="opMode_" type="uint32"/>
<param default="48000" id="1" name="fs_" type="uint32"/>
<param default="3" id="2" name="numCh_" type="uint32"/>
<param default="7" id="3" name="chMask_" type="uint32"/>
<param id="16" max="1" min="0" name="alpha" type="float"/>
<param complex="true" id="17" name="ch0_profileL" size="1024" type="float"/>
<param complex="true" id="18" name="ch1_profileL" size="1024" type="float"/>
<param complex="true" id="19" name="ch2_profileL" size="1024" type="float"/>
<param complex="true" id="20" name="ch0_profileR" size="1024" type="float"/>
<param complex="true" id="21" name="ch1_profileR" size="1024" type="float"/>
<param complex="true" id="22" name="ch2_profileR" size="1024" type="float"/>
<param complex="true" id="23" name="ch0_profileAZ" size="1024" type="float"/>
<param complex="true" id="24" name="ch1_profileAZ" size="1024" type="float"/>
<param complex="true" id="25" name="ch2_profileAZ" size="1024" type="float"/>
<struct id="26">
<param default="1" name="ch_gain" type="float"/>
<param default="1" name="zoom_gain" type="float"/>
</struct>
<param default="0" id="27" name="ch0_assignFrom" type="int32"/>
<param default="1" id="28" name="ch1_assignFrom" type="int32"/>
<param default="2" id="29" name="ch2_assignFrom" type="int32"/>
</module>
<module id="7" name="Multi Channel IIR 2">
<param default="0" id="0" max="3" name="opMode_" type="uint32"/>
<param default="48000" id="1" name="fs_" type="uint32"/>
<param default="3" id="2" name="numCh_" type="uint32"/>
<param default="1" id="3" name="chMask_" type="uint32"/>
<param default="3" id="16" max="3" min="1" name="numOfChannel" type="uint32"/>
<param id="17" name="coeff" size="300" type="float"/>
<struct id="18">
<param max="18" min="-96" name="gain" size="60" type="float"/>
<param max="24000" min="0" name="frequency" size="60" type="uint32"/>
<param max="200" min="0" name="qfactor" size="60" type="float"/>
<param default="4" name="type" size="60" type="int32"/>
</struct>
</module>
<module id="8" name="Multi Band DRC">
<param default="0" id="0" max="3" name="opMode_" type="uint32"/>
<param default="48000" id="1" name="fs_" type="uint32"/>
<param default="2" id="2" name="numCh_" type="uint32"/>
<param default="3" id="3" name="chMask_" type="uint32"/>
<struct id="16">
<param default="1" max="3" min="1" name="numBand" type="uint32"/>
<param name="IIR_LowPass1" size="5" type="float"/>
<param name="IIR_HighPass1" size="5" type="float"/>
<param name="IIR_LowPass2" size="5" type="float"/>
<param name="IIR_HighPass2" size="5" type="float"/>
</struct>
<struct id="17">
<param max="20" min="0" name="band0_delay_ms" type="float"/>
<param default="5" max="20" min="0" minInclusive="false" name="band0_rms_ms" type="float"/>
<param max="30" min="0" name="band0_gain_dB" type="float"/>
<param max="30" min="-30" name="band0_Min_Gain_dB" type="float"/>
<param default="1" max="3" min="1" name="band0_numOfKnee" type="uint32"/>
<param name="band0_threadhold_dB" size="3" type="float"/>
<param name="band0_compressRatio" size="4" type="float"/>
<param name="band0_kneeWidth" size="3" type="float"/>
<param name="band0_attackTime_ms" size="4" type="float"/>
<param name="band0_releaseTime_ms" size="4" type="float"/>
<param name="band0_hysteresis" size="4" type="float"/>
<param max="20" min="0" name="band1_delay_ms" type="float"/>
<param default="5" max="20" min="0" minInclusive="false" name="band1_rms_ms" type="float"/>
<param max="30" min="0" name="band1_gain_dB" type="float"/>
<param max="30" min="-30" name="band1_Min_Gain_dB" type="float"/>
<param default="1" max="3" min="1" name="band1_numOfKnee" type="uint32"/>
<param name="band1_threadhold_dB" size="3" type="float"/>
<param name="band1_compressRatio" size="4" type="float"/>
<param name="band1_kneeWidth" size="3" type="float"/>
<param name="band1_attackTime_ms" size="4" type="float"/>
<param name="band1_releaseTime_ms" size="4" type="float"/>
<param name="band1_hysteresis" size="4" type="float"/>
<param max="20" min="0" name="band2_delay_ms" type="float"/>
<param default="5" max="20" min="0" minInclusive="false" name="band2_rms_ms" type="float"/>
<param max="30" min="0" name="band2_gain_dB" type="float"/>
<param max="30" min="-30" name="band2_Min_Gain_dB" type="float"/>
<param default="1" max="3" min="1" name="band2_numOfKnee" type="uint32"/>
<param name="band2_threadhold_dB" size="3" type="float"/>
<param name="band2_compressRatio" size="4" type="float"/>
<param name="band2_kneeWidth" size="3" type="float"/>
<param name="band2_attackTime_ms" size="4" type="float"/>
<param name="band2_releaseTime_ms" size="4" type="float"/>
<param name="band2_hysteresis" size="4" type="float"/>
</struct>
<struct id="18">
<param max="30" min="-30" name="limiter_gain_dB" type="float"/>
<param max="0" min="-30" name="limiter_threadhold_dB" type="float"/>
<param max="100" min="0" name="limiter_attackTime_ms" type="float"/>
<param max="100" min="0" name="limiter_releaseTime_ms" type="float"/>
</struct>
<struct id="19">
<param name="frequency0" type="uint32"/>
<param name="frequency1" type="uint32"/>
</struct>
</module>
<module id="11" name="Stationary Noise Suppression">
<param default="0" id="0" max="3" name="opMode_" type="uint32"/>
<param default="48000" id="1" name="fs_" type="uint32"/>
<param default="2" id="2" name="numCh_" type="uint32"/>
<param default="3" id="3" name="chMask_" type="uint32"/>
<param default="1" id="16" name="strength level" type="uint32"/>
<param id="17" name="POWER_TIME_SMOOTH" type="float"/>
<param id="18" name="RMS_TIME_SMOOTH" type="float"/>
<param id="19" name="LOWER_BAND_THRESHOLD" size="129" type="float"/>
<param id="20" name="UPPER_BAND_THRESHOLD" size="3" type="float"/>
<param id="21" name="ATTACK_TIME" type="float"/>
<param id="22" name="RELEASE_TIME" type="float"/>
</module>
<module id="14" name="Linear Gain">
<param default="0" id="0" max="3" name="opMode_" type="uint32"/>
<param default="48000" id="1" name="fs_" type="uint32"/>
<param default="1" id="2" name="numCh_" type="uint32"/>
<param default="1" id="3" name="chMask_" type="uint32"/>
<param id="16" name="Simple_gain" type="float"/>
<param default="0" id="17" name="ch0_assignFrom" type="int32"/>
<param default="1" id="18" name="ch1_assignFrom" type="int32"/>
<param default="2" id="19" name="ch2_assignFrom" type="int32"/>
</module>
<module id="17" name="Wind Noise Reduction">
<param default="0" id="0" max="3" name="opMode_" type="uint32"/>
<param default="48000" id="1" name="fs_" type="uint32"/>
<param default="2" id="2" name="numCh_" type="uint32"/>
<param default="3" id="3" name="chMask_" type="uint32"/>
<param default="450" id="16" name="DECISION_SMOOTHING_FACTOR" type="int32"/>
<param default="50" id="17" name="DECISION_ATTACK_SMOOTHING_FACTOR" type="int32"/>
<param default="50" id="18" name="DECISION_RELEASE_HIGH_SMOOTHING_FACTOR" type="int32"/>
<param default="50" id="19" name="DECISION_RELEASE_LOW_SMOOTHING_FACTOR" type="int32"/>
<param default="700" id="20" name="DECISION_RELEASE_THRESHOLD" type="int32"/>
<param default="0" id="21" name="DECISION_RANGE_OFFSET_FACTOR" type="int32"/>
<param default="1000" id="22" name="DECISION_RANGE_SLOPE_FACTOR" type="int32"/>
<param default="450" id="23" name="DECISION_GAIN_SMOOTHING_FACTOR" type="int32"/>
<param default="27" id="24" name="DECISION_DB_RANGE" type="int32"/>
<param default="1000" id="25" name="MASTER_REDUCTION_FACTOR" type="int32"/>
<param default="15" id="26" name="KEEP_NUM_OF_PREV_DECISIONS" type="int32"/>
<param default="1000" id="27" name="DEC_PRE_GAIN" type="int32"/>
<param default="16000" id="28" name="SUP_PRE_GAIN" type="int32"/>
<param default="2" id="29" name="COHERENCE_ENABLE" type="int32"/>
<param default="1" id="30" name="COHERENCE_START_BIN" type="int32"/>
<param default="10" id="31" name="COHERENCE_END_BIN" type="int32"/>
<param default="300" id="32" name="COHERENCE_THRESHOLD" type="int32"/>
<param default="990" id="33" name="COHERENCE_FORGETTING_FACTOR" type="int32"/>
<param default="0" id="34" name="DB_SCALING_FACTOR" type="int32"/>
<param default="9" id="35" name="SEP_LAYER" type="int32"/>
<param default="1" id="36" name="SP_GAIN_ENABLE" type="int32"/>
<param default="15" id="37" name="SP_GAIN_MAX_BIN" type="int32"/>
<param default="500" id="38" name="SP_GAIN_MIN" type="int32"/>
<param default="200" id="39" name="SP_GAIN_TH_MIN" type="int32"/>
<param default="450" id="40" name="SP_GAIN_TH_MAX" type="int32"/>
<param default="800" id="41" name="SP_GAIN_SMOOTH" type="int32"/>
<param default="3" id="42" name="SP_GAIN_FREQ_SMOOTH" type="int32"/>
<param default="300" id="43" name="MASTER_MAX_SUP_SMOOTHING_FACTOR" type="int32"/>
<param default="1" id="44" name="GAIN_FREQ_SMOOTH" type="int32"/>
<param default="2" id="45" name="GMIN_CURVE_TYPE" type="int32"/>
<param default="55" id="46" name="GMIN_LINEAR_SPLIT_MID_POINT_BINR" type="int32"/>
<param default="330" id="47" name="GMIN_LINEAR_SPLIT_MID_POINT_VAL" type="int32"/>
<param default="1000" id="48" name="SP_OVERSUB_RATIO" type="int32"/>
<param default="16" id="49" name="WIND_ENERGY_EST_COMPENSATION_GAIN" type="int32"/>
<param default="2000" id="50" name="WIND_ENERGY_CURVE_SLOPE" type="int32"/>
<param default="300" id="51" name="WIND_ENERGY_CURVE_OFFSET" type="int32"/>
<param default="16000" id="52" name="WIND_ENERGY_CURVE_MIN" type="int32"/>
<param default="16000" id="53" name="WIND_ENERGY_CURVE_MAX" type="int32"/>
<param default="900" id="54" name="WIND_ENERGY_SMOOTHING" type="int32"/>
<param default="144" id="55" name="WIND_ENERGY_NORM_DENOM" type="int32"/>
<param default="600" id="56" name="WIND_ENERGY_CURVE_SCALED_TH_MIN" type="int32"/>
<param default="900" id="57" name="WIND_ENERGY_CURVE_SCALED_TH_MAX" type="int32"/>
<param default="1" id="58" name="ENABLE_ML_COMBI_WIND_ENERGY" type="int32"/>
<param default="1" id="59" name="ENABLE_SP_COMBI_WIND_ENERGY" type="int32"/>
<param default="1" id="60" name="ENALBE_SP_COMBI_OVERSUBTRACTION" type="int32"/>
<param default="1" id="61" name="ENABLE_PRIORI_SNR" type="int32"/>
<param default="1000" id="62" name="PRIORI_SNR_ML_TUNING" type="int32"/>
<param default="15" id="63" name="DEC_PREV_NUM" type="int32"/>
<param default="1" id="64" name="SSC_ENABLE" type="int32"/>
<param default="930" id="65" name="SSC_SOFT_SMOOTHING_FACTOR" type="int32"/>
<param default="1600" id="66" name="SSC_OVERDRIVE" type="int32"/>
<param default="3" id="67" name="SSC_MIN_FREQ" type="int32"/>
<param default="130" id="68" name="SSC_MAX_FREQ" type="int32"/>
<param default="700" id="69" name="SSC_PSD_SMOOTHING_FACTOR" type="int32"/>
<param default="12" id="70" name="SSC_SOFT_DECISION_MIN_FREQ" type="int32"/>
<param default="450" id="71" name="SSC_SOFT_DECISION_MAX_FREQ" type="int32"/>
<param default="5" id="72" name="SSC_KEEP_SAVED_PROB_SMOOTH_SIZE" type="int32"/>
<param default="1000" id="73" name="GAIN_BOOSTING_COST" type="int32"/>
</module>
<module id="18" name="Multi Channel IIR 1">
<param default="0" id="0" max="3" name="opMode_" type="uint32"/>
<param default="48000" id="1" name="fs_" type="uint32"/>
<param default="2" id="2" name="numCh_" type="uint32"/>
<param default="3" id="3" name="chMask_" type="uint32"/>
<param default="3" id="16" max="3" min="1" name="numOfChannel" type="uint32"/>
<param id="17" name="coeff" size="300" type="float"/>
<struct id="18">
<param max="18" min="-96" name="gain" size="60" type="float"/>
<param max="24000" min="0" name="frequency" size="60" type="uint32"/>
<param max="200" min="0" name="qfactor" size="60" type="float"/>
<param default="4" name="type" size="60" type="int32"/>
</struct>
</module>
<module id="32" name="Single Band DRC">
<param default="1" id="0" max="3" name="opMode_" type="uint32"/>
<param default="48000" id="1" name="fs_" type="uint32"/>
<param default="2" id="2" name="numCh_" type="uint32"/>
<param default="3" id="3" name="chMask_" type="uint32"/>
<struct id="16">
<param max="20" min="0" name="delay_ms" type="float"/>
<param default="5" max="20" min="0" minInclusive="false" name="rms_ms" type="float"/>
<param max="30" min="0" name="gain_dB" type="float"/>
<param max="30" min="-30" name="Min_Gain_dB" type="float"/>
<param default="1" max="3" min="1" name="numOfKnee" type="uint32"/>
<param name="threadhold_dB" size="3" type="float"/>
<param name="compressRatio" size="4" type="float"/>
<param name="kneeWidth" size="3" type="float"/>
<param name="attackTime_ms" size="4" type="float"/>
<param name="releaseTime_ms" size="4" type="float"/>
<param name="hysteresis" size="4" type="float"/>
</struct>
<struct id="17">
<param max="30" min="-30" name="limiter_gain_dB" type="float"/>
<param max="0" min="-30" name="limiter_threadhold_dB" type="float"/>
<param max="100" min="0" name="limiter_attackTime_ms" type="uint32"/>
<param max="100" min="0" name="limiter_releaseTime_ms" type="uint32"/>
</struct>
</module>
<module id="10000" name="Eraser">
<param id="275" name="eraser_pre_gain" type="uint32"/>
<param id="277" name="eraser_post_gain" type="uint32"/>
<param id="279" name="non_eraser_gain" type="uint32"/>
</module>
<module id="10001" name="Cleaner">
<param id="299" name="cleaner_post_gain" type="uint32"/>
</module>
<module id="10002" name="CHRE">
<param id="297" name="chre_gain" type="uint32"/>
</module>
</modules>
<signalflows>
<signalflow id="1" name="Spatial Audio">
<block id="128">
<moduleRef id="18"/>
<moduleRef id="17"/>
</block>
<block id="134">
<moduleRef id="14"/>
<moduleRef id="11"/>
<moduleRef id="6"/>
<moduleRef id="7"/>
<moduleRef id="5"/>
<moduleRef id="8"/>
</block>
</signalflow>
<signalflow id="2" name="General Mic Recording">
<block id="137">
<moduleRef id="14"/>
<moduleRef id="7"/>
<moduleRef id="8"/>
</block>
</signalflow>
<signalflow id="1000" name="Smart Feature">
<block id="0">
<moduleRef id="10000"/>
<moduleRef id="10001"/>
<moduleRef id="10002"/>
</block>
</signalflow>
</signalflows>
</template>

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -0,0 +1,61 @@
########################################################################################################
# (Optional) The supported features list for platform vendors to query from.
# Platform vendors should call maxxaudio_qdsp_is_feature_supported with a string to query from the list.
# This config has no effect in the MaxxAudioQdspHalController. It's only meaningful for platform vendors.
# Putting any value other than 1 would be equivalent to not supported.
########################################################################################################
[HAL_SUPPORTED_FEATURES]
CUSTOM_ACTION_260=1
########################################################################################################
# This defined the options of supported sample rates.
# This can be configured by Waves or platform vendor.
########################################################################################################
[HAL_SUPPORTED_SAMPLE_RATES]
SR_COMMON = 48000
########################################################################################################
# (Optional) The subtypes that applies to different angles(0, 90, 180, 270). Can be empty if not applicable.
# This can be configured by Waves or platform vendor.
########################################################################################################
[HAL_ORIENTATION_SUBTYPES]
OST_SPEAKER = 0:12,90:13,180:12,270:0|13
########################################################################################################
# This defines available preset configurations.
# This should be configured by Waves only unless platform vendor is familiar with MPS structure.
########################################################################################################
[HAL_SUPPORTED_PRESETS]
SPEAKER_MUSIC_THROTTLE= OM:1,SM:3,OST:OST_SPEAKER
SPEAKER_SAFE_MUSIC_THROTTLE = OM:10,SM:3,OST:OST_SPEAKER
SPEAKER_MUSIC = OM:1,SM:2,OST:OST_SPEAKER
SPEAKER_SAFE_MUSIC = OM:10,SM:2,OST:OST_SPEAKER
########################################################################################################
# This defines available CONTROL configurations. Only define the CONTROL if you need it.
# The numbers could vary from device to device.
# This can be configured by Waves or platform vendor.
########################################################################################################
[HAL_SUPPORTED_CONTROLS]
SPEAKER_INSTANCE = INSTANCE:1,DEV:0,SR:SR_COMMON,PRESET:SPEAKER_MUSIC|SPEAKER_SAFE_MUSIC|SPEAKER_MUSIC_THROTTLE|SPEAKER_SAFE_MUSIC_THROTTLE
[COEFS_CONVERTER_SETTING]
AlgFxPath=/vendor/lib/libAlgFx_HiFi3z.so
AlgFxPath64=/vendor/lib64/libAlgFx_HiFi3z.so
# do not modify the following if not necessary
#AudioFormatType=0
#AudioFormatChannels=2
#AudioFormatSampleRate=48000
#AudioFormatBitsPerSample=32
#AudioFormatSampleSize=4
#AudioFormatIncrement=8
[CUSTOM_ACTION_260]
CASE_1=PRIORITY:0,NUMBERS:2:0|1:1|2,PRESET:SPEAKER_MUSIC
CASE_2=PRIORITY:1,NUMBERS:1|2|4194304:2|3|4:1|2,PRESET:SPEAKER_SAFE_MUSIC
CASE_3=PRIORITY:2,NUMBERS:1|4194304:0|1:1|2,PRESET:SPEAKER_SAFE_MUSIC
CASE_4=PRIORITY:3,NUMBERS:2:0|1:0,PRESET:SPEAKER_MUSIC_THROTTLE
CASE_5=PRIORITY:4,NUMBERS:1|2|4194304:2|3|4:0,PRESET:SPEAKER_SAFE_MUSIC_THROTTLE
CASE_6=PRIORITY:5,NUMBERS:1|4194304:0|1:0,PRESET:SPEAKER_SAFE_MUSIC_THROTTLE
# Action 260 parameters: audio_devices_t, audio_mode_t, throttle_control_state_t
# - throttle_control_state_t: 0 - Enabled, 1 - Disabled, 2 - Bypassed

Binary file not shown.

View File

@@ -0,0 +1,36 @@
Head,BTHotspot,WIFI5Ghz,HotspotVoice,Cell,IMU,BDR_Single_Chain_0,EDR_Single_Chain_0,BLE_Single_Chain_0,BDR_Single_Chain_1,EDR_Single_Chain_1,BLE_Single_Chain_1,BDR_Dual_Chain_0,EDR_Dual_Chain_0,BLE_Dual_Chain_0,BDR_Dual_Chain_1,EDR_Dual_Chain_1,BLE_Dual_Chain_1
off,off,off,off,off,on,68,66,28,70,66,28,68,66,28,70,66,28
off,off,off,off,on,on,68,66,28,70,66,28,68,66,28,70,66,28
off,off,off,on,off,on,68,66,28,70,66,28,68,66,28,70,66,28
off,off,off,on,on,on,54,66,28,54,66,28,54,66,28,54,66,28
off,off,on,off,off,on,68,66,28,70,66,28,68,66,28,70,66,28
off,off,on,off,on,on,54,54,28,54,54,28,54,54,28,54,54,28
off,off,on,on,off,on,68,66,28,70,66,28,68,66,28,70,66,28
off,off,on,on,on,on,54,54,28,54,54,28,54,54,28,54,54,28
off,on,off,off,off,on,68,66,28,70,66,28,68,66,28,70,66,28
off,on,off,off,on,on,68,66,28,70,66,28,68,66,28,70,66,28
off,on,off,on,off,on,68,66,28,70,66,28,68,66,28,70,66,28
off,on,off,on,on,on,54,54,28,54,54,28,54,54,28,54,54,28
off,on,on,off,off,on,68,66,28,70,66,28,68,66,28,70,66,28
off,on,on,off,on,on,54,54,28,54,54,28,54,54,28,54,54,28
off,on,on,on,off,on,68,66,28,70,66,28,68,66,28,70,66,28
off,on,on,on,on,on,54,54,28,54,54,28,54,54,28,54,54,28
on,off,off,off,off,any,42,42,28,42,42,28,42,42,28,42,42,28
on,off,off,off,on,any,42,42,28,42,42,28,42,42,28,42,42,28
on,off,off,on,off,any,42,42,28,42,42,28,42,42,28,42,42,28
on,off,off,on,on,any,42,42,28,42,42,28,42,42,28,42,42,28
on,off,on,off,off,any,42,42,28,42,42,28,42,42,28,42,42,28
on,off,on,off,on,any,42,42,28,42,42,28,42,42,28,42,42,28
on,off,on,on,off,any,42,42,28,42,42,28,42,42,28,42,42,28
on,off,on,on,on,any,42,42,28,42,42,28,42,42,28,42,42,28
on,on,off,off,off,any,42,42,28,42,42,28,42,42,28,42,42,28
on,on,off,off,on,any,42,42,28,42,42,28,42,42,28,42,42,28
on,on,off,on,off,any,42,42,28,42,42,28,42,42,28,42,42,28
on,on,off,on,on,any,42,42,28,42,42,28,42,42,28,42,42,28
on,on,on,off,off,any,42,42,28,42,42,28,42,42,28,42,42,28
on,on,on,off,on,any,42,42,28,42,42,28,42,42,28,42,42,28
on,on,on,on,off,any,42,42,28,42,42,28,42,42,28,42,42,28
on,on,on,on,on,any,42,42,28,42,42,28,42,42,28,42,42,28
off,off,any,off,any,off,68,66,28,70,66,28,68,66,28,70,66,28
off,on,any,off,any,off,54,54,28,54,54,28,54,54,28,54,54,28
off,off,any,on,any,off,54,54,28,54,54,28,54,54,28,54,54,28
1 Head BTHotspot WIFI5Ghz HotspotVoice Cell IMU BDR_Single_Chain_0 EDR_Single_Chain_0 BLE_Single_Chain_0 BDR_Single_Chain_1 EDR_Single_Chain_1 BLE_Single_Chain_1 BDR_Dual_Chain_0 EDR_Dual_Chain_0 BLE_Dual_Chain_0 BDR_Dual_Chain_1 EDR_Dual_Chain_1 BLE_Dual_Chain_1
2 off off off off off on 68 66 28 70 66 28 68 66 28 70 66 28
3 off off off off on on 68 66 28 70 66 28 68 66 28 70 66 28
4 off off off on off on 68 66 28 70 66 28 68 66 28 70 66 28
5 off off off on on on 54 66 28 54 66 28 54 66 28 54 66 28
6 off off on off off on 68 66 28 70 66 28 68 66 28 70 66 28
7 off off on off on on 54 54 28 54 54 28 54 54 28 54 54 28
8 off off on on off on 68 66 28 70 66 28 68 66 28 70 66 28
9 off off on on on on 54 54 28 54 54 28 54 54 28 54 54 28
10 off on off off off on 68 66 28 70 66 28 68 66 28 70 66 28
11 off on off off on on 68 66 28 70 66 28 68 66 28 70 66 28
12 off on off on off on 68 66 28 70 66 28 68 66 28 70 66 28
13 off on off on on on 54 54 28 54 54 28 54 54 28 54 54 28
14 off on on off off on 68 66 28 70 66 28 68 66 28 70 66 28
15 off on on off on on 54 54 28 54 54 28 54 54 28 54 54 28
16 off on on on off on 68 66 28 70 66 28 68 66 28 70 66 28
17 off on on on on on 54 54 28 54 54 28 54 54 28 54 54 28
18 on off off off off any 42 42 28 42 42 28 42 42 28 42 42 28
19 on off off off on any 42 42 28 42 42 28 42 42 28 42 42 28
20 on off off on off any 42 42 28 42 42 28 42 42 28 42 42 28
21 on off off on on any 42 42 28 42 42 28 42 42 28 42 42 28
22 on off on off off any 42 42 28 42 42 28 42 42 28 42 42 28
23 on off on off on any 42 42 28 42 42 28 42 42 28 42 42 28
24 on off on on off any 42 42 28 42 42 28 42 42 28 42 42 28
25 on off on on on any 42 42 28 42 42 28 42 42 28 42 42 28
26 on on off off off any 42 42 28 42 42 28 42 42 28 42 42 28
27 on on off off on any 42 42 28 42 42 28 42 42 28 42 42 28
28 on on off on off any 42 42 28 42 42 28 42 42 28 42 42 28
29 on on off on on any 42 42 28 42 42 28 42 42 28 42 42 28
30 on on on off off any 42 42 28 42 42 28 42 42 28 42 42 28
31 on on on off on any 42 42 28 42 42 28 42 42 28 42 42 28
32 on on on on off any 42 42 28 42 42 28 42 42 28 42 42 28
33 on on on on on any 42 42 28 42 42 28 42 42 28 42 42 28
34 off off any off any off 68 66 28 70 66 28 68 66 28 70 66 28
35 off on any off any off 54 54 28 54 54 28 54 54 28 54 54 28
36 off off any on any off 54 54 28 54 54 28 54 54 28 54 54 28

View File

@@ -0,0 +1,36 @@
Head,BTHotspot,WIFI5Ghz,HotspotVoice,Cell,IMU,BDR_Single_Chain_0,EDR_Single_Chain_0,BLE_Single_Chain_0,BDR_Single_Chain_1,EDR_Single_Chain_1,BLE_Single_Chain_1,BDR_Dual_Chain_0,EDR_Dual_Chain_0,BLE_Dual_Chain_0,BDR_Dual_Chain_1,EDR_Dual_Chain_1,BLE_Dual_Chain_1
off,off,off,off,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,off,off,off,on,on,74,66,74,74,66,74,74,66,74,74,66,74
off,off,off,on,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,off,off,on,on,on,54,66,54,54,66,54,54,66,54,54,66,54
off,off,on,off,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,off,on,off,on,on,54,54,54,54,54,54,54,54,54,54,54,54
off,off,on,on,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,off,on,on,on,on,54,54,54,54,54,54,54,54,54,54,54,54
off,on,off,off,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,on,off,off,on,on,74,66,74,74,66,74,74,66,74,74,66,74
off,on,off,on,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,on,off,on,on,on,54,54,54,54,54,54,54,54,54,54,54,54
off,on,on,off,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,on,on,off,on,on,54,54,54,54,54,54,54,54,54,54,54,54
off,on,on,on,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,on,on,on,on,on,54,54,54,54,54,54,54,54,54,54,54,54
on,off,off,off,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,off,off,off,on,any,42,42,42,42,42,42,42,42,42,42,42,42
on,off,off,on,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,off,off,on,on,any,42,42,42,42,42,42,42,42,42,42,42,42
on,off,on,off,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,off,on,off,on,any,42,42,42,42,42,42,42,42,42,42,42,42
on,off,on,on,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,off,on,on,on,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,off,off,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,off,off,on,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,off,on,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,off,on,on,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,on,off,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,on,off,on,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,on,on,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,on,on,on,any,42,42,42,42,42,42,42,42,42,42,42,42
off,off,any,off,any,off,74,66,74,74,66,74,74,66,74,74,66,74
off,on,any,off,any,off,54,54,54,54,54,54,54,54,54,54,54,54
off,off,any,on,any,off,54,54,54,54,54,54,54,54,54,54,54,54
1 Head BTHotspot WIFI5Ghz HotspotVoice Cell IMU BDR_Single_Chain_0 EDR_Single_Chain_0 BLE_Single_Chain_0 BDR_Single_Chain_1 EDR_Single_Chain_1 BLE_Single_Chain_1 BDR_Dual_Chain_0 EDR_Dual_Chain_0 BLE_Dual_Chain_0 BDR_Dual_Chain_1 EDR_Dual_Chain_1 BLE_Dual_Chain_1
2 off off off off off on 74 66 74 74 66 74 74 66 74 74 66 74
3 off off off off on on 74 66 74 74 66 74 74 66 74 74 66 74
4 off off off on off on 74 66 74 74 66 74 74 66 74 74 66 74
5 off off off on on on 54 66 54 54 66 54 54 66 54 54 66 54
6 off off on off off on 74 66 74 74 66 74 74 66 74 74 66 74
7 off off on off on on 54 54 54 54 54 54 54 54 54 54 54 54
8 off off on on off on 74 66 74 74 66 74 74 66 74 74 66 74
9 off off on on on on 54 54 54 54 54 54 54 54 54 54 54 54
10 off on off off off on 74 66 74 74 66 74 74 66 74 74 66 74
11 off on off off on on 74 66 74 74 66 74 74 66 74 74 66 74
12 off on off on off on 74 66 74 74 66 74 74 66 74 74 66 74
13 off on off on on on 54 54 54 54 54 54 54 54 54 54 54 54
14 off on on off off on 74 66 74 74 66 74 74 66 74 74 66 74
15 off on on off on on 54 54 54 54 54 54 54 54 54 54 54 54
16 off on on on off on 74 66 74 74 66 74 74 66 74 74 66 74
17 off on on on on on 54 54 54 54 54 54 54 54 54 54 54 54
18 on off off off off any 42 42 42 42 42 42 42 42 42 42 42 42
19 on off off off on any 42 42 42 42 42 42 42 42 42 42 42 42
20 on off off on off any 42 42 42 42 42 42 42 42 42 42 42 42
21 on off off on on any 42 42 42 42 42 42 42 42 42 42 42 42
22 on off on off off any 42 42 42 42 42 42 42 42 42 42 42 42
23 on off on off on any 42 42 42 42 42 42 42 42 42 42 42 42
24 on off on on off any 42 42 42 42 42 42 42 42 42 42 42 42
25 on off on on on any 42 42 42 42 42 42 42 42 42 42 42 42
26 on on off off off any 42 42 42 42 42 42 42 42 42 42 42 42
27 on on off off on any 42 42 42 42 42 42 42 42 42 42 42 42
28 on on off on off any 42 42 42 42 42 42 42 42 42 42 42 42
29 on on off on on any 42 42 42 42 42 42 42 42 42 42 42 42
30 on on on off off any 42 42 42 42 42 42 42 42 42 42 42 42
31 on on on off on any 42 42 42 42 42 42 42 42 42 42 42 42
32 on on on on off any 42 42 42 42 42 42 42 42 42 42 42 42
33 on on on on on any 42 42 42 42 42 42 42 42 42 42 42 42
34 off off any off any off 74 66 74 74 66 74 74 66 74 74 66 74
35 off on any off any off 54 54 54 54 54 54 54 54 54 54 54 54
36 off off any on any off 54 54 54 54 54 54 54 54 54 54 54 54

View File

@@ -0,0 +1,36 @@
Head,BTHotspot,WIFI5Ghz,HotspotVoice,Cell,IMU,BDR_Single_Chain_0,EDR_Single_Chain_0,BLE_Single_Chain_0,BDR_Single_Chain_1,EDR_Single_Chain_1,BLE_Single_Chain_1,BDR_Dual_Chain_0,EDR_Dual_Chain_0,BLE_Dual_Chain_0,BDR_Dual_Chain_1,EDR_Dual_Chain_1,BLE_Dual_Chain_1
off,off,off,off,off,on,74,66,28,70,66,28,74,66,28,70,66,28
off,off,off,off,on,on,74,66,28,70,66,28,74,66,28,70,66,28
off,off,off,on,off,on,74,66,28,70,66,28,74,66,28,70,66,28
off,off,off,on,on,on,74,66,28,70,66,28,74,66,28,70,66,28
off,off,on,off,off,on,74,66,28,70,66,28,74,66,28,70,66,28
off,off,on,off,on,on,74,66,28,70,66,28,74,66,28,70,66,28
off,off,on,on,off,on,74,66,28,70,66,28,74,66,28,70,66,28
off,off,on,on,on,on,74,66,28,70,66,28,74,66,28,70,66,28
off,on,off,off,off,on,74,66,28,70,66,28,74,66,28,70,66,28
off,on,off,off,on,on,74,66,28,70,66,28,74,66,28,70,66,28
off,on,off,on,off,on,74,66,28,70,66,28,74,66,28,70,66,28
off,on,off,on,on,on,74,66,28,70,66,28,74,66,28,70,66,28
off,on,on,off,off,on,74,66,28,70,66,28,74,66,28,70,66,28
off,on,on,off,on,on,74,66,28,70,66,28,74,66,28,70,66,28
off,on,on,on,off,on,74,66,28,70,66,28,74,66,28,70,66,28
off,on,on,on,on,on,74,66,28,70,66,28,74,66,28,70,66,28
on,off,off,off,off,any,74,66,28,70,66,28,74,66,28,70,66,28
on,off,off,off,on,any,74,66,28,70,66,28,74,66,28,70,66,28
on,off,off,on,off,any,74,66,28,70,66,28,74,66,28,70,66,28
on,off,off,on,on,any,74,66,28,70,66,28,74,66,28,70,66,28
on,off,on,off,off,any,74,66,28,70,66,28,74,66,28,70,66,28
on,off,on,off,on,any,74,66,28,70,66,28,74,66,28,70,66,28
on,off,on,on,off,any,74,66,28,70,66,28,74,66,28,70,66,28
on,off,on,on,on,any,74,66,28,70,66,28,74,66,28,70,66,28
on,on,off,off,off,any,74,66,28,70,66,28,74,66,28,70,66,28
on,on,off,off,on,any,74,66,28,70,66,28,74,66,28,70,66,28
on,on,off,on,off,any,74,66,28,70,66,28,74,66,28,70,66,28
on,on,off,on,on,any,74,66,28,70,66,28,74,66,28,70,66,28
on,on,on,off,off,any,74,66,28,70,66,28,74,66,28,70,66,28
on,on,on,off,on,any,74,66,28,70,66,28,74,66,28,70,66,28
on,on,on,on,off,any,74,66,28,70,66,28,74,66,28,70,66,28
on,on,on,on,on,any,74,66,28,70,66,28,74,66,28,70,66,28
off,off,any,off,any,off,74,66,28,70,66,28,74,66,28,70,66,28
off,on,any,off,any,off,74,66,28,70,66,28,74,66,28,70,66,28
off,off,any,on,any,off,74,66,28,70,66,28,74,66,28,70,66,28
1 Head BTHotspot WIFI5Ghz HotspotVoice Cell IMU BDR_Single_Chain_0 EDR_Single_Chain_0 BLE_Single_Chain_0 BDR_Single_Chain_1 EDR_Single_Chain_1 BLE_Single_Chain_1 BDR_Dual_Chain_0 EDR_Dual_Chain_0 BLE_Dual_Chain_0 BDR_Dual_Chain_1 EDR_Dual_Chain_1 BLE_Dual_Chain_1
2 off off off off off on 74 66 28 70 66 28 74 66 28 70 66 28
3 off off off off on on 74 66 28 70 66 28 74 66 28 70 66 28
4 off off off on off on 74 66 28 70 66 28 74 66 28 70 66 28
5 off off off on on on 74 66 28 70 66 28 74 66 28 70 66 28
6 off off on off off on 74 66 28 70 66 28 74 66 28 70 66 28
7 off off on off on on 74 66 28 70 66 28 74 66 28 70 66 28
8 off off on on off on 74 66 28 70 66 28 74 66 28 70 66 28
9 off off on on on on 74 66 28 70 66 28 74 66 28 70 66 28
10 off on off off off on 74 66 28 70 66 28 74 66 28 70 66 28
11 off on off off on on 74 66 28 70 66 28 74 66 28 70 66 28
12 off on off on off on 74 66 28 70 66 28 74 66 28 70 66 28
13 off on off on on on 74 66 28 70 66 28 74 66 28 70 66 28
14 off on on off off on 74 66 28 70 66 28 74 66 28 70 66 28
15 off on on off on on 74 66 28 70 66 28 74 66 28 70 66 28
16 off on on on off on 74 66 28 70 66 28 74 66 28 70 66 28
17 off on on on on on 74 66 28 70 66 28 74 66 28 70 66 28
18 on off off off off any 74 66 28 70 66 28 74 66 28 70 66 28
19 on off off off on any 74 66 28 70 66 28 74 66 28 70 66 28
20 on off off on off any 74 66 28 70 66 28 74 66 28 70 66 28
21 on off off on on any 74 66 28 70 66 28 74 66 28 70 66 28
22 on off on off off any 74 66 28 70 66 28 74 66 28 70 66 28
23 on off on off on any 74 66 28 70 66 28 74 66 28 70 66 28
24 on off on on off any 74 66 28 70 66 28 74 66 28 70 66 28
25 on off on on on any 74 66 28 70 66 28 74 66 28 70 66 28
26 on on off off off any 74 66 28 70 66 28 74 66 28 70 66 28
27 on on off off on any 74 66 28 70 66 28 74 66 28 70 66 28
28 on on off on off any 74 66 28 70 66 28 74 66 28 70 66 28
29 on on off on on any 74 66 28 70 66 28 74 66 28 70 66 28
30 on on on off off any 74 66 28 70 66 28 74 66 28 70 66 28
31 on on on off on any 74 66 28 70 66 28 74 66 28 70 66 28
32 on on on on off any 74 66 28 70 66 28 74 66 28 70 66 28
33 on on on on on any 74 66 28 70 66 28 74 66 28 70 66 28
34 off off any off any off 74 66 28 70 66 28 74 66 28 70 66 28
35 off on any off any off 74 66 28 70 66 28 74 66 28 70 66 28
36 off off any on any off 74 66 28 70 66 28 74 66 28 70 66 28

View File

@@ -0,0 +1,36 @@
Head,BTHotspot,WIFI5Ghz,HotspotVoice,Cell,IMU,BDR_Single_Chain_0,EDR_Single_Chain_0,BLE_Single_Chain_0,BDR_Single_Chain_1,EDR_Single_Chain_1,BLE_Single_Chain_1,BDR_Dual_Chain_0,EDR_Dual_Chain_0,BLE_Dual_Chain_0,BDR_Dual_Chain_1,EDR_Dual_Chain_1,BLE_Dual_Chain_1
off,off,off,off,off,on,68,66,38,72,66,38,68,66,38,72,66,38
off,off,off,off,on,on,68,66,38,72,66,38,68,66,38,72,66,38
off,off,off,on,off,on,68,66,38,72,66,38,68,66,38,72,66,38
off,off,off,on,on,on,68,66,38,72,66,38,68,66,38,72,66,38
off,off,on,off,off,on,68,66,38,72,66,38,68,66,38,72,66,38
off,off,on,off,on,on,68,66,38,72,66,38,68,66,38,72,66,38
off,off,on,on,off,on,68,66,38,72,66,38,68,66,38,72,66,38
off,off,on,on,on,on,68,66,38,72,66,38,68,66,38,72,66,38
off,on,off,off,off,on,68,66,38,72,66,38,68,66,38,72,66,38
off,on,off,off,on,on,68,66,38,72,66,38,68,66,38,72,66,38
off,on,off,on,off,on,68,66,38,72,66,38,68,66,38,72,66,38
off,on,off,on,on,on,68,66,38,72,66,38,68,66,38,72,66,38
off,on,on,off,off,on,68,66,38,72,66,38,68,66,38,72,66,38
off,on,on,off,on,on,68,66,38,72,66,38,68,66,38,72,66,38
off,on,on,on,off,on,68,66,38,72,66,38,68,66,38,72,66,38
off,on,on,on,on,on,68,66,38,72,66,38,68,66,38,72,66,38
on,off,off,off,off,any,68,66,38,72,66,38,68,66,38,72,66,38
on,off,off,off,on,any,68,66,38,72,66,38,68,66,38,72,66,38
on,off,off,on,off,any,68,66,38,72,66,38,68,66,38,72,66,38
on,off,off,on,on,any,68,66,38,72,66,38,68,66,38,72,66,38
on,off,on,off,off,any,68,66,38,72,66,38,68,66,38,72,66,38
on,off,on,off,on,any,68,66,38,72,66,38,68,66,38,72,66,38
on,off,on,on,off,any,68,66,38,72,66,38,68,66,38,72,66,38
on,off,on,on,on,any,68,66,38,72,66,38,68,66,38,72,66,38
on,on,off,off,off,any,68,66,38,72,66,38,68,66,38,72,66,38
on,on,off,off,on,any,68,66,38,72,66,38,68,66,38,72,66,38
on,on,off,on,off,any,68,66,38,72,66,38,68,66,38,72,66,38
on,on,off,on,on,any,68,66,38,72,66,38,68,66,38,72,66,38
on,on,on,off,off,any,68,66,38,72,66,38,68,66,38,72,66,38
on,on,on,off,on,any,68,66,38,72,66,38,68,66,38,72,66,38
on,on,on,on,off,any,68,66,38,72,66,38,68,66,38,72,66,38
on,on,on,on,on,any,68,66,38,72,66,38,68,66,38,72,66,38
off,off,any,off,any,off,68,66,38,72,66,38,68,66,38,72,66,38
off,on,any,off,any,off,68,66,38,72,66,38,68,66,38,72,66,38
off,off,any,on,any,off,68,66,38,72,66,38,68,66,38,72,66,38
1 Head BTHotspot WIFI5Ghz HotspotVoice Cell IMU BDR_Single_Chain_0 EDR_Single_Chain_0 BLE_Single_Chain_0 BDR_Single_Chain_1 EDR_Single_Chain_1 BLE_Single_Chain_1 BDR_Dual_Chain_0 EDR_Dual_Chain_0 BLE_Dual_Chain_0 BDR_Dual_Chain_1 EDR_Dual_Chain_1 BLE_Dual_Chain_1
2 off off off off off on 68 66 38 72 66 38 68 66 38 72 66 38
3 off off off off on on 68 66 38 72 66 38 68 66 38 72 66 38
4 off off off on off on 68 66 38 72 66 38 68 66 38 72 66 38
5 off off off on on on 68 66 38 72 66 38 68 66 38 72 66 38
6 off off on off off on 68 66 38 72 66 38 68 66 38 72 66 38
7 off off on off on on 68 66 38 72 66 38 68 66 38 72 66 38
8 off off on on off on 68 66 38 72 66 38 68 66 38 72 66 38
9 off off on on on on 68 66 38 72 66 38 68 66 38 72 66 38
10 off on off off off on 68 66 38 72 66 38 68 66 38 72 66 38
11 off on off off on on 68 66 38 72 66 38 68 66 38 72 66 38
12 off on off on off on 68 66 38 72 66 38 68 66 38 72 66 38
13 off on off on on on 68 66 38 72 66 38 68 66 38 72 66 38
14 off on on off off on 68 66 38 72 66 38 68 66 38 72 66 38
15 off on on off on on 68 66 38 72 66 38 68 66 38 72 66 38
16 off on on on off on 68 66 38 72 66 38 68 66 38 72 66 38
17 off on on on on on 68 66 38 72 66 38 68 66 38 72 66 38
18 on off off off off any 68 66 38 72 66 38 68 66 38 72 66 38
19 on off off off on any 68 66 38 72 66 38 68 66 38 72 66 38
20 on off off on off any 68 66 38 72 66 38 68 66 38 72 66 38
21 on off off on on any 68 66 38 72 66 38 68 66 38 72 66 38
22 on off on off off any 68 66 38 72 66 38 68 66 38 72 66 38
23 on off on off on any 68 66 38 72 66 38 68 66 38 72 66 38
24 on off on on off any 68 66 38 72 66 38 68 66 38 72 66 38
25 on off on on on any 68 66 38 72 66 38 68 66 38 72 66 38
26 on on off off off any 68 66 38 72 66 38 68 66 38 72 66 38
27 on on off off on any 68 66 38 72 66 38 68 66 38 72 66 38
28 on on off on off any 68 66 38 72 66 38 68 66 38 72 66 38
29 on on off on on any 68 66 38 72 66 38 68 66 38 72 66 38
30 on on on off off any 68 66 38 72 66 38 68 66 38 72 66 38
31 on on on off on any 68 66 38 72 66 38 68 66 38 72 66 38
32 on on on on off any 68 66 38 72 66 38 68 66 38 72 66 38
33 on on on on on any 68 66 38 72 66 38 68 66 38 72 66 38
34 off off any off any off 68 66 38 72 66 38 68 66 38 72 66 38
35 off on any off any off 68 66 38 72 66 38 68 66 38 72 66 38
36 off off any on any off 68 66 38 72 66 38 68 66 38 72 66 38

View File

@@ -0,0 +1,36 @@
Head,BTHotspot,WIFI5Ghz,HotspotVoice,Cell,IMU,BDR_Single_Chain_0,EDR_Single_Chain_0,BLE_Single_Chain_0,BDR_Single_Chain_1,EDR_Single_Chain_1,BLE_Single_Chain_1,BDR_Dual_Chain_0,EDR_Dual_Chain_0,BLE_Dual_Chain_0,BDR_Dual_Chain_1,EDR_Dual_Chain_1,BLE_Dual_Chain_1
off,off,off,off,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,off,off,off,on,on,74,66,74,74,66,74,74,66,74,74,66,74
off,off,off,on,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,off,off,on,on,on,54,66,54,54,66,54,54,66,54,54,66,54
off,off,on,off,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,off,on,off,on,on,54,54,54,54,54,54,54,54,54,54,54,54
off,off,on,on,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,off,on,on,on,on,54,54,54,54,54,54,54,54,54,54,54,54
off,on,off,off,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,on,off,off,on,on,74,66,74,74,66,74,74,66,74,74,66,74
off,on,off,on,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,on,off,on,on,on,54,54,54,54,54,54,54,54,54,54,54,54
off,on,on,off,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,on,on,off,on,on,54,54,54,54,54,54,54,54,54,54,54,54
off,on,on,on,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,on,on,on,on,on,54,54,54,54,54,54,54,54,54,54,54,54
on,off,off,off,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,off,off,off,on,any,42,42,42,42,42,42,42,42,42,42,42,42
on,off,off,on,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,off,off,on,on,any,42,42,42,42,42,42,42,42,42,42,42,42
on,off,on,off,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,off,on,off,on,any,42,42,42,42,42,42,42,42,42,42,42,42
on,off,on,on,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,off,on,on,on,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,off,off,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,off,off,on,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,off,on,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,off,on,on,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,on,off,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,on,off,on,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,on,on,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,on,on,on,any,42,42,42,42,42,42,42,42,42,42,42,42
off,off,any,off,any,off,74,66,74,74,66,74,74,66,74,74,66,74
off,on,any,off,any,off,54,54,54,54,54,54,54,54,54,54,54,54
off,off,any,on,any,off,54,54,54,54,54,54,54,54,54,54,54,54
1 Head BTHotspot WIFI5Ghz HotspotVoice Cell IMU BDR_Single_Chain_0 EDR_Single_Chain_0 BLE_Single_Chain_0 BDR_Single_Chain_1 EDR_Single_Chain_1 BLE_Single_Chain_1 BDR_Dual_Chain_0 EDR_Dual_Chain_0 BLE_Dual_Chain_0 BDR_Dual_Chain_1 EDR_Dual_Chain_1 BLE_Dual_Chain_1
2 off off off off off on 74 66 74 74 66 74 74 66 74 74 66 74
3 off off off off on on 74 66 74 74 66 74 74 66 74 74 66 74
4 off off off on off on 74 66 74 74 66 74 74 66 74 74 66 74
5 off off off on on on 54 66 54 54 66 54 54 66 54 54 66 54
6 off off on off off on 74 66 74 74 66 74 74 66 74 74 66 74
7 off off on off on on 54 54 54 54 54 54 54 54 54 54 54 54
8 off off on on off on 74 66 74 74 66 74 74 66 74 74 66 74
9 off off on on on on 54 54 54 54 54 54 54 54 54 54 54 54
10 off on off off off on 74 66 74 74 66 74 74 66 74 74 66 74
11 off on off off on on 74 66 74 74 66 74 74 66 74 74 66 74
12 off on off on off on 74 66 74 74 66 74 74 66 74 74 66 74
13 off on off on on on 54 54 54 54 54 54 54 54 54 54 54 54
14 off on on off off on 74 66 74 74 66 74 74 66 74 74 66 74
15 off on on off on on 54 54 54 54 54 54 54 54 54 54 54 54
16 off on on on off on 74 66 74 74 66 74 74 66 74 74 66 74
17 off on on on on on 54 54 54 54 54 54 54 54 54 54 54 54
18 on off off off off any 42 42 42 42 42 42 42 42 42 42 42 42
19 on off off off on any 42 42 42 42 42 42 42 42 42 42 42 42
20 on off off on off any 42 42 42 42 42 42 42 42 42 42 42 42
21 on off off on on any 42 42 42 42 42 42 42 42 42 42 42 42
22 on off on off off any 42 42 42 42 42 42 42 42 42 42 42 42
23 on off on off on any 42 42 42 42 42 42 42 42 42 42 42 42
24 on off on on off any 42 42 42 42 42 42 42 42 42 42 42 42
25 on off on on on any 42 42 42 42 42 42 42 42 42 42 42 42
26 on on off off off any 42 42 42 42 42 42 42 42 42 42 42 42
27 on on off off on any 42 42 42 42 42 42 42 42 42 42 42 42
28 on on off on off any 42 42 42 42 42 42 42 42 42 42 42 42
29 on on off on on any 42 42 42 42 42 42 42 42 42 42 42 42
30 on on on off off any 42 42 42 42 42 42 42 42 42 42 42 42
31 on on on off on any 42 42 42 42 42 42 42 42 42 42 42 42
32 on on on on off any 42 42 42 42 42 42 42 42 42 42 42 42
33 on on on on on any 42 42 42 42 42 42 42 42 42 42 42 42
34 off off any off any off 74 66 74 74 66 74 74 66 74 74 66 74
35 off on any off any off 54 54 54 54 54 54 54 54 54 54 54 54
36 off off any on any off 54 54 54 54 54 54 54 54 54 54 54 54

View File

@@ -0,0 +1,36 @@
Head,BTHotspot,WIFI5Ghz,HotspotVoice,Cell,IMU,BDR_Single_Chain_0,EDR_Single_Chain_0,BLE_Single_Chain_0,BDR_Single_Chain_1,EDR_Single_Chain_1,BLE_Single_Chain_1,BDR_Dual_Chain_0,EDR_Dual_Chain_0,BLE_Dual_Chain_0,BDR_Dual_Chain_1,EDR_Dual_Chain_1,BLE_Dual_Chain_1
off,off,off,off,off,on,68,66,38,72,66,38,68,66,38,72,66,38
off,off,off,off,on,on,68,66,38,72,66,38,68,66,38,72,66,38
off,off,off,on,off,on,68,66,38,72,66,38,68,66,38,72,66,38
off,off,off,on,on,on,68,66,38,72,66,38,68,66,38,72,66,38
off,off,on,off,off,on,68,66,38,72,66,38,68,66,38,72,66,38
off,off,on,off,on,on,68,66,38,72,66,38,68,66,38,72,66,38
off,off,on,on,off,on,68,66,38,72,66,38,68,66,38,72,66,38
off,off,on,on,on,on,68,66,38,72,66,38,68,66,38,72,66,38
off,on,off,off,off,on,68,66,38,72,66,38,68,66,38,72,66,38
off,on,off,off,on,on,68,66,38,72,66,38,68,66,38,72,66,38
off,on,off,on,off,on,68,66,38,72,66,38,68,66,38,72,66,38
off,on,off,on,on,on,68,66,38,72,66,38,68,66,38,72,66,38
off,on,on,off,off,on,68,66,38,72,66,38,68,66,38,72,66,38
off,on,on,off,on,on,68,66,38,72,66,38,68,66,38,72,66,38
off,on,on,on,off,on,68,66,38,72,66,38,68,66,38,72,66,38
off,on,on,on,on,on,68,66,38,72,66,38,68,66,38,72,66,38
on,off,off,off,off,any,68,66,38,72,66,38,68,66,38,72,66,38
on,off,off,off,on,any,68,66,38,72,66,38,68,66,38,72,66,38
on,off,off,on,off,any,68,66,38,72,66,38,68,66,38,72,66,38
on,off,off,on,on,any,68,66,38,72,66,38,68,66,38,72,66,38
on,off,on,off,off,any,68,66,38,72,66,38,68,66,38,72,66,38
on,off,on,off,on,any,68,66,38,72,66,38,68,66,38,72,66,38
on,off,on,on,off,any,68,66,38,72,66,38,68,66,38,72,66,38
on,off,on,on,on,any,68,66,38,72,66,38,68,66,38,72,66,38
on,on,off,off,off,any,68,66,38,72,66,38,68,66,38,72,66,38
on,on,off,off,on,any,68,66,38,72,66,38,68,66,38,72,66,38
on,on,off,on,off,any,68,66,38,72,66,38,68,66,38,72,66,38
on,on,off,on,on,any,68,66,38,72,66,38,68,66,38,72,66,38
on,on,on,off,off,any,68,66,38,72,66,38,68,66,38,72,66,38
on,on,on,off,on,any,68,66,38,72,66,38,68,66,38,72,66,38
on,on,on,on,off,any,68,66,38,72,66,38,68,66,38,72,66,38
on,on,on,on,on,any,68,66,38,72,66,38,68,66,38,72,66,38
off,off,any,off,any,off,68,66,38,72,66,38,68,66,38,72,66,38
off,on,any,off,any,off,68,66,38,72,66,38,68,66,38,72,66,38
off,off,any,on,any,off,68,66,38,72,66,38,68,66,38,72,66,38
1 Head BTHotspot WIFI5Ghz HotspotVoice Cell IMU BDR_Single_Chain_0 EDR_Single_Chain_0 BLE_Single_Chain_0 BDR_Single_Chain_1 EDR_Single_Chain_1 BLE_Single_Chain_1 BDR_Dual_Chain_0 EDR_Dual_Chain_0 BLE_Dual_Chain_0 BDR_Dual_Chain_1 EDR_Dual_Chain_1 BLE_Dual_Chain_1
2 off off off off off on 68 66 38 72 66 38 68 66 38 72 66 38
3 off off off off on on 68 66 38 72 66 38 68 66 38 72 66 38
4 off off off on off on 68 66 38 72 66 38 68 66 38 72 66 38
5 off off off on on on 68 66 38 72 66 38 68 66 38 72 66 38
6 off off on off off on 68 66 38 72 66 38 68 66 38 72 66 38
7 off off on off on on 68 66 38 72 66 38 68 66 38 72 66 38
8 off off on on off on 68 66 38 72 66 38 68 66 38 72 66 38
9 off off on on on on 68 66 38 72 66 38 68 66 38 72 66 38
10 off on off off off on 68 66 38 72 66 38 68 66 38 72 66 38
11 off on off off on on 68 66 38 72 66 38 68 66 38 72 66 38
12 off on off on off on 68 66 38 72 66 38 68 66 38 72 66 38
13 off on off on on on 68 66 38 72 66 38 68 66 38 72 66 38
14 off on on off off on 68 66 38 72 66 38 68 66 38 72 66 38
15 off on on off on on 68 66 38 72 66 38 68 66 38 72 66 38
16 off on on on off on 68 66 38 72 66 38 68 66 38 72 66 38
17 off on on on on on 68 66 38 72 66 38 68 66 38 72 66 38
18 on off off off off any 68 66 38 72 66 38 68 66 38 72 66 38
19 on off off off on any 68 66 38 72 66 38 68 66 38 72 66 38
20 on off off on off any 68 66 38 72 66 38 68 66 38 72 66 38
21 on off off on on any 68 66 38 72 66 38 68 66 38 72 66 38
22 on off on off off any 68 66 38 72 66 38 68 66 38 72 66 38
23 on off on off on any 68 66 38 72 66 38 68 66 38 72 66 38
24 on off on on off any 68 66 38 72 66 38 68 66 38 72 66 38
25 on off on on on any 68 66 38 72 66 38 68 66 38 72 66 38
26 on on off off off any 68 66 38 72 66 38 68 66 38 72 66 38
27 on on off off on any 68 66 38 72 66 38 68 66 38 72 66 38
28 on on off on off any 68 66 38 72 66 38 68 66 38 72 66 38
29 on on off on on any 68 66 38 72 66 38 68 66 38 72 66 38
30 on on on off off any 68 66 38 72 66 38 68 66 38 72 66 38
31 on on on off on any 68 66 38 72 66 38 68 66 38 72 66 38
32 on on on on off any 68 66 38 72 66 38 68 66 38 72 66 38
33 on on on on on any 68 66 38 72 66 38 68 66 38 72 66 38
34 off off any off any off 68 66 38 72 66 38 68 66 38 72 66 38
35 off on any off any off 68 66 38 72 66 38 68 66 38 72 66 38
36 off off any on any off 68 66 38 72 66 38 68 66 38 72 66 38

View File

@@ -0,0 +1,36 @@
Head,BTHotspot,WIFI5Ghz,HotspotVoice,Cell,IMU,BDR_Single_Chain_0,EDR_Single_Chain_0,BLE_Single_Chain_0,BDR_Single_Chain_1,EDR_Single_Chain_1,BLE_Single_Chain_1,BDR_Dual_Chain_0,EDR_Dual_Chain_0,BLE_Dual_Chain_0,BDR_Dual_Chain_1,EDR_Dual_Chain_1,BLE_Dual_Chain_1
off,off,off,off,off,on,74,66,34,70,66,28,74,66,34,70,66,28
off,off,off,off,on,on,74,66,34,70,66,28,74,66,34,70,66,28
off,off,off,on,off,on,74,66,34,70,66,28,74,66,34,70,66,28
off,off,off,on,on,on,62,62,34,62,62,28,62,62,34,62,62,28
off,off,on,off,off,on,74,66,34,70,66,28,74,66,34,70,66,28
off,off,on,off,on,on,62,62,34,62,62,28,62,62,34,62,62,28
off,off,on,on,off,on,70,66,34,70,66,28,70,66,34,70,66,28
off,off,on,on,on,on,62,62,34,62,62,28,62,62,34,62,62,28
off,on,off,off,off,on,70,66,34,70,66,28,70,66,34,70,66,28
off,on,off,off,on,on,70,66,34,70,66,28,70,66,34,70,66,28
off,on,off,on,off,on,70,66,34,70,66,28,70,66,34,70,66,28
off,on,off,on,on,on,62,62,34,62,62,28,62,62,34,62,62,28
off,on,on,off,off,on,70,66,34,70,66,28,70,66,34,70,66,28
off,on,on,off,on,on,62,62,34,62,62,28,62,62,34,62,62,28
off,on,on,on,off,on,70,66,34,70,66,28,70,66,34,70,66,28
off,on,on,on,on,on,62,62,34,62,62,28,62,62,34,62,62,28
on,off,off,off,off,any,62,62,34,62,62,28,62,62,34,62,62,28
on,off,off,off,on,any,62,62,34,62,62,28,62,62,34,62,62,28
on,off,off,on,off,any,62,62,34,62,62,28,62,62,34,62,62,28
on,off,off,on,on,any,62,62,34,62,62,28,62,62,34,62,62,28
on,off,on,off,off,any,62,62,34,62,62,28,62,62,34,62,62,28
on,off,on,off,on,any,62,62,34,62,62,28,62,62,34,62,62,28
on,off,on,on,off,any,62,62,34,62,62,28,62,62,34,62,62,28
on,off,on,on,on,any,62,62,34,62,62,28,62,62,34,62,62,28
on,on,off,off,off,any,62,62,34,62,62,28,62,62,34,62,62,28
on,on,off,off,on,any,62,62,34,62,62,28,62,62,34,62,62,28
on,on,off,on,off,any,62,62,34,62,62,28,62,62,34,62,62,28
on,on,off,on,on,any,62,62,34,62,62,28,62,62,34,62,62,28
on,on,on,off,off,any,62,62,34,62,62,28,62,62,34,62,62,28
on,on,on,off,on,any,62,62,34,62,62,28,62,62,34,62,62,28
on,on,on,on,off,any,62,62,34,62,62,28,62,62,34,62,62,28
on,on,on,on,on,any,62,62,34,62,62,28,62,62,34,62,62,28
off,off,any,off,any,off,74,66,34,70,66,28,74,66,34,70,66,28
off,on,any,off,any,off,62,62,34,62,62,28,62,62,34,62,62,28
off,off,any,on,any,off,62,62,34,62,62,28,62,62,34,62,62,28
1 Head BTHotspot WIFI5Ghz HotspotVoice Cell IMU BDR_Single_Chain_0 EDR_Single_Chain_0 BLE_Single_Chain_0 BDR_Single_Chain_1 EDR_Single_Chain_1 BLE_Single_Chain_1 BDR_Dual_Chain_0 EDR_Dual_Chain_0 BLE_Dual_Chain_0 BDR_Dual_Chain_1 EDR_Dual_Chain_1 BLE_Dual_Chain_1
2 off off off off off on 74 66 34 70 66 28 74 66 34 70 66 28
3 off off off off on on 74 66 34 70 66 28 74 66 34 70 66 28
4 off off off on off on 74 66 34 70 66 28 74 66 34 70 66 28
5 off off off on on on 62 62 34 62 62 28 62 62 34 62 62 28
6 off off on off off on 74 66 34 70 66 28 74 66 34 70 66 28
7 off off on off on on 62 62 34 62 62 28 62 62 34 62 62 28
8 off off on on off on 70 66 34 70 66 28 70 66 34 70 66 28
9 off off on on on on 62 62 34 62 62 28 62 62 34 62 62 28
10 off on off off off on 70 66 34 70 66 28 70 66 34 70 66 28
11 off on off off on on 70 66 34 70 66 28 70 66 34 70 66 28
12 off on off on off on 70 66 34 70 66 28 70 66 34 70 66 28
13 off on off on on on 62 62 34 62 62 28 62 62 34 62 62 28
14 off on on off off on 70 66 34 70 66 28 70 66 34 70 66 28
15 off on on off on on 62 62 34 62 62 28 62 62 34 62 62 28
16 off on on on off on 70 66 34 70 66 28 70 66 34 70 66 28
17 off on on on on on 62 62 34 62 62 28 62 62 34 62 62 28
18 on off off off off any 62 62 34 62 62 28 62 62 34 62 62 28
19 on off off off on any 62 62 34 62 62 28 62 62 34 62 62 28
20 on off off on off any 62 62 34 62 62 28 62 62 34 62 62 28
21 on off off on on any 62 62 34 62 62 28 62 62 34 62 62 28
22 on off on off off any 62 62 34 62 62 28 62 62 34 62 62 28
23 on off on off on any 62 62 34 62 62 28 62 62 34 62 62 28
24 on off on on off any 62 62 34 62 62 28 62 62 34 62 62 28
25 on off on on on any 62 62 34 62 62 28 62 62 34 62 62 28
26 on on off off off any 62 62 34 62 62 28 62 62 34 62 62 28
27 on on off off on any 62 62 34 62 62 28 62 62 34 62 62 28
28 on on off on off any 62 62 34 62 62 28 62 62 34 62 62 28
29 on on off on on any 62 62 34 62 62 28 62 62 34 62 62 28
30 on on on off off any 62 62 34 62 62 28 62 62 34 62 62 28
31 on on on off on any 62 62 34 62 62 28 62 62 34 62 62 28
32 on on on on off any 62 62 34 62 62 28 62 62 34 62 62 28
33 on on on on on any 62 62 34 62 62 28 62 62 34 62 62 28
34 off off any off any off 74 66 34 70 66 28 74 66 34 70 66 28
35 off on any off any off 62 62 34 62 62 28 62 62 34 62 62 28
36 off off any on any off 62 62 34 62 62 28 62 62 34 62 62 28

View File

@@ -0,0 +1,36 @@
Head,BTHotspot,WIFI5Ghz,HotspotVoice,Cell,IMU,BDR_Single_Chain_0,EDR_Single_Chain_0,BLE_Single_Chain_0,BDR_Single_Chain_1,EDR_Single_Chain_1,BLE_Single_Chain_1,BDR_Dual_Chain_0,EDR_Dual_Chain_0,BLE_Dual_Chain_0,BDR_Dual_Chain_1,EDR_Dual_Chain_1,BLE_Dual_Chain_1
off,off,off,off,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,off,off,off,on,on,74,66,74,74,66,74,74,66,74,74,66,74
off,off,off,on,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,off,off,on,on,on,54,66,54,54,66,54,54,66,54,54,66,54
off,off,on,off,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,off,on,off,on,on,54,54,54,54,54,54,54,54,54,54,54,54
off,off,on,on,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,off,on,on,on,on,54,54,54,54,54,54,54,54,54,54,54,54
off,on,off,off,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,on,off,off,on,on,74,66,74,74,66,74,74,66,74,74,66,74
off,on,off,on,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,on,off,on,on,on,54,54,54,54,54,54,54,54,54,54,54,54
off,on,on,off,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,on,on,off,on,on,54,54,54,54,54,54,54,54,54,54,54,54
off,on,on,on,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,on,on,on,on,on,54,54,54,54,54,54,54,54,54,54,54,54
on,off,off,off,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,off,off,off,on,any,42,42,42,42,42,42,42,42,42,42,42,42
on,off,off,on,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,off,off,on,on,any,42,42,42,42,42,42,42,42,42,42,42,42
on,off,on,off,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,off,on,off,on,any,42,42,42,42,42,42,42,42,42,42,42,42
on,off,on,on,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,off,on,on,on,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,off,off,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,off,off,on,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,off,on,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,off,on,on,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,on,off,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,on,off,on,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,on,on,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,on,on,on,any,42,42,42,42,42,42,42,42,42,42,42,42
off,off,any,off,any,off,74,66,74,74,66,74,74,66,74,74,66,74
off,on,any,off,any,off,54,54,54,54,54,54,54,54,54,54,54,54
off,off,any,on,any,off,54,54,54,54,54,54,54,54,54,54,54,54
1 Head BTHotspot WIFI5Ghz HotspotVoice Cell IMU BDR_Single_Chain_0 EDR_Single_Chain_0 BLE_Single_Chain_0 BDR_Single_Chain_1 EDR_Single_Chain_1 BLE_Single_Chain_1 BDR_Dual_Chain_0 EDR_Dual_Chain_0 BLE_Dual_Chain_0 BDR_Dual_Chain_1 EDR_Dual_Chain_1 BLE_Dual_Chain_1
2 off off off off off on 74 66 74 74 66 74 74 66 74 74 66 74
3 off off off off on on 74 66 74 74 66 74 74 66 74 74 66 74
4 off off off on off on 74 66 74 74 66 74 74 66 74 74 66 74
5 off off off on on on 54 66 54 54 66 54 54 66 54 54 66 54
6 off off on off off on 74 66 74 74 66 74 74 66 74 74 66 74
7 off off on off on on 54 54 54 54 54 54 54 54 54 54 54 54
8 off off on on off on 74 66 74 74 66 74 74 66 74 74 66 74
9 off off on on on on 54 54 54 54 54 54 54 54 54 54 54 54
10 off on off off off on 74 66 74 74 66 74 74 66 74 74 66 74
11 off on off off on on 74 66 74 74 66 74 74 66 74 74 66 74
12 off on off on off on 74 66 74 74 66 74 74 66 74 74 66 74
13 off on off on on on 54 54 54 54 54 54 54 54 54 54 54 54
14 off on on off off on 74 66 74 74 66 74 74 66 74 74 66 74
15 off on on off on on 54 54 54 54 54 54 54 54 54 54 54 54
16 off on on on off on 74 66 74 74 66 74 74 66 74 74 66 74
17 off on on on on on 54 54 54 54 54 54 54 54 54 54 54 54
18 on off off off off any 42 42 42 42 42 42 42 42 42 42 42 42
19 on off off off on any 42 42 42 42 42 42 42 42 42 42 42 42
20 on off off on off any 42 42 42 42 42 42 42 42 42 42 42 42
21 on off off on on any 42 42 42 42 42 42 42 42 42 42 42 42
22 on off on off off any 42 42 42 42 42 42 42 42 42 42 42 42
23 on off on off on any 42 42 42 42 42 42 42 42 42 42 42 42
24 on off on on off any 42 42 42 42 42 42 42 42 42 42 42 42
25 on off on on on any 42 42 42 42 42 42 42 42 42 42 42 42
26 on on off off off any 42 42 42 42 42 42 42 42 42 42 42 42
27 on on off off on any 42 42 42 42 42 42 42 42 42 42 42 42
28 on on off on off any 42 42 42 42 42 42 42 42 42 42 42 42
29 on on off on on any 42 42 42 42 42 42 42 42 42 42 42 42
30 on on on off off any 42 42 42 42 42 42 42 42 42 42 42 42
31 on on on off on any 42 42 42 42 42 42 42 42 42 42 42 42
32 on on on on off any 42 42 42 42 42 42 42 42 42 42 42 42
33 on on on on on any 42 42 42 42 42 42 42 42 42 42 42 42
34 off off any off any off 74 66 74 74 66 74 74 66 74 74 66 74
35 off on any off any off 54 54 54 54 54 54 54 54 54 54 54 54
36 off off any on any off 54 54 54 54 54 54 54 54 54 54 54 54

View File

@@ -0,0 +1,36 @@
Head,BTHotspot,WIFI5Ghz,HotspotVoice,Cell,IMU,BDR_Single_Chain_0,EDR_Single_Chain_0,BLE_Single_Chain_0,BDR_Single_Chain_1,EDR_Single_Chain_1,BLE_Single_Chain_1,BDR_Dual_Chain_0,EDR_Dual_Chain_0,BLE_Dual_Chain_0,BDR_Dual_Chain_1,EDR_Dual_Chain_1,BLE_Dual_Chain_1
off,off,off,off,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,off,off,off,on,on,74,66,74,74,66,74,74,66,74,74,66,74
off,off,off,on,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,off,off,on,on,on,54,66,54,54,66,54,54,66,54,54,66,54
off,off,on,off,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,off,on,off,on,on,54,54,54,54,54,54,54,54,54,54,54,54
off,off,on,on,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,off,on,on,on,on,54,54,54,54,54,54,54,54,54,54,54,54
off,on,off,off,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,on,off,off,on,on,74,66,74,74,66,74,74,66,74,74,66,74
off,on,off,on,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,on,off,on,on,on,54,54,54,54,54,54,54,54,54,54,54,54
off,on,on,off,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,on,on,off,on,on,54,54,54,54,54,54,54,54,54,54,54,54
off,on,on,on,off,on,74,66,74,74,66,74,74,66,74,74,66,74
off,on,on,on,on,on,54,54,54,54,54,54,54,54,54,54,54,54
on,off,off,off,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,off,off,off,on,any,42,42,42,42,42,42,42,42,42,42,42,42
on,off,off,on,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,off,off,on,on,any,42,42,42,42,42,42,42,42,42,42,42,42
on,off,on,off,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,off,on,off,on,any,42,42,42,42,42,42,42,42,42,42,42,42
on,off,on,on,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,off,on,on,on,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,off,off,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,off,off,on,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,off,on,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,off,on,on,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,on,off,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,on,off,on,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,on,on,off,any,42,42,42,42,42,42,42,42,42,42,42,42
on,on,on,on,on,any,42,42,42,42,42,42,42,42,42,42,42,42
off,off,any,off,any,off,74,66,74,74,66,74,74,66,74,74,66,74
off,on,any,off,any,off,54,54,54,54,54,54,54,54,54,54,54,54
off,off,any,on,any,off,54,54,54,54,54,54,54,54,54,54,54,54
1 Head BTHotspot WIFI5Ghz HotspotVoice Cell IMU BDR_Single_Chain_0 EDR_Single_Chain_0 BLE_Single_Chain_0 BDR_Single_Chain_1 EDR_Single_Chain_1 BLE_Single_Chain_1 BDR_Dual_Chain_0 EDR_Dual_Chain_0 BLE_Dual_Chain_0 BDR_Dual_Chain_1 EDR_Dual_Chain_1 BLE_Dual_Chain_1
2 off off off off off on 74 66 74 74 66 74 74 66 74 74 66 74
3 off off off off on on 74 66 74 74 66 74 74 66 74 74 66 74
4 off off off on off on 74 66 74 74 66 74 74 66 74 74 66 74
5 off off off on on on 54 66 54 54 66 54 54 66 54 54 66 54
6 off off on off off on 74 66 74 74 66 74 74 66 74 74 66 74
7 off off on off on on 54 54 54 54 54 54 54 54 54 54 54 54
8 off off on on off on 74 66 74 74 66 74 74 66 74 74 66 74
9 off off on on on on 54 54 54 54 54 54 54 54 54 54 54 54
10 off on off off off on 74 66 74 74 66 74 74 66 74 74 66 74
11 off on off off on on 74 66 74 74 66 74 74 66 74 74 66 74
12 off on off on off on 74 66 74 74 66 74 74 66 74 74 66 74
13 off on off on on on 54 54 54 54 54 54 54 54 54 54 54 54
14 off on on off off on 74 66 74 74 66 74 74 66 74 74 66 74
15 off on on off on on 54 54 54 54 54 54 54 54 54 54 54 54
16 off on on on off on 74 66 74 74 66 74 74 66 74 74 66 74
17 off on on on on on 54 54 54 54 54 54 54 54 54 54 54 54
18 on off off off off any 42 42 42 42 42 42 42 42 42 42 42 42
19 on off off off on any 42 42 42 42 42 42 42 42 42 42 42 42
20 on off off on off any 42 42 42 42 42 42 42 42 42 42 42 42
21 on off off on on any 42 42 42 42 42 42 42 42 42 42 42 42
22 on off on off off any 42 42 42 42 42 42 42 42 42 42 42 42
23 on off on off on any 42 42 42 42 42 42 42 42 42 42 42 42
24 on off on on off any 42 42 42 42 42 42 42 42 42 42 42 42
25 on off on on on any 42 42 42 42 42 42 42 42 42 42 42 42
26 on on off off off any 42 42 42 42 42 42 42 42 42 42 42 42
27 on on off off on any 42 42 42 42 42 42 42 42 42 42 42 42
28 on on off on off any 42 42 42 42 42 42 42 42 42 42 42 42
29 on on off on on any 42 42 42 42 42 42 42 42 42 42 42 42
30 on on on off off any 42 42 42 42 42 42 42 42 42 42 42 42
31 on on on off on any 42 42 42 42 42 42 42 42 42 42 42 42
32 on on on on off any 42 42 42 42 42 42 42 42 42 42 42 42
33 on on on on on any 42 42 42 42 42 42 42 42 42 42 42 42
34 off off any off any off 74 66 74 74 66 74 74 66 74 74 66 74
35 off on any off any off 54 54 54 54 54 54 54 54 54 54 54 54
36 off off any on any off 54 54 54 54 54 54 54 54 54 54 54 54

View File

@@ -0,0 +1,4 @@
# This is BTBCM HAL overlay configuration file.
# Uart port name
UartPort = /dev/ttySAC18

View File

@@ -0,0 +1,18 @@
<compatibility-matrix version="1.0" type="framework" level="7">
<hal format="hidl">
<name>hardware.google.bluetooth.bt_channel_avoidance</name>
<version>1.0</version>
<interface>
<name>IBTChannelAvoidance</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>hardware.google.bluetooth.sar</name>
<version>1.1</version>
<interface>
<name>IBluetoothSar</name>
<instance>default</instance>
</interface>
</hal>
</compatibility-matrix>

View File

@@ -0,0 +1,91 @@
<?xml version="1.0" encoding="UTF-8"?>
<!---
This is an example to configure LE Audio hardware offload supported capability settings
codecConfigurationList:
Supported codec capability along with its parameter setting
strategyConfigurationList:
ASE Configuration strategies
configurationList:
For each configuration, there are two attributes
- codecConfiguration
- strategyConfiguration
scenarioList:
There would be only one `scenarios` group
For each scenario, the are two attributes
- encode
- decode
If a scenario is unidirectional, mark another direction as `invalid`
The configuration should be chosen from `configurationList`
-->
<leAudioOffloadSetting>
<scenarioList>
<!-- encode only -->
<scenario encode="OneChanMono_16_1" decode="invalid"/>
<scenario encode="TwoChanStereo_16_1" decode="invalid"/>
<scenario encode="OneChanStereo_16_1" decode="invalid"/>
<scenario encode="OneChanMono_16_2" decode="invalid"/>
<scenario encode="TwoChanStereo_16_2" decode="invalid"/>
<scenario encode="OneChanStereo_16_2" decode="invalid"/>
<scenario encode="OneChanMono_24_2" decode="invalid"/>
<scenario encode="TwoChanStereo_24_2" decode="invalid"/>
<scenario encode="OneChanStereo_24_2" decode="invalid"/>
<scenario encode="OneChanMono_48_2" decode="invalid"/>
<scenario encode="TwoChanStereo_48_2" decode="invalid"/>
<scenario encode="OneChanStereo_48_2" decode="invalid"/>
<scenario encode="OneChanMono_48_4" decode="invalid"/>
<scenario encode="TwoChanStereo_48_4" decode="invalid"/>
<scenario encode="OneChanStereo_48_4" decode="invalid"/>
<!-- encode and decode -->
<scenario encode="OneChanStereo_16_1" decode="OneChanStereo_16_1"/>
<scenario encode="OneChanStereo_16_1" decode="OneChanMono_16_1"/>
<scenario encode="TwoChanStereo_16_1" decode="OneChanMono_16_1"/>
<scenario encode="OneChanMono_16_1" decode="OneChanMono_16_1"/>
<scenario encode="OneChanStereo_16_2" decode="OneChanStereo_16_2"/>
<scenario encode="OneChanStereo_16_2" decode="OneChanMono_16_2"/>
<scenario encode="TwoChanStereo_16_2" decode="OneChanMono_16_2"/>
<scenario encode="OneChanMono_16_2" decode="OneChanMono_16_2"/>
<scenario encode="TwoChanStereo_32_2" decode="OneChanMono_32_2"/>
<scenario encode="OneChanMono_32_2" decode="OneChanMono_32_2"/>
<!-- broadcast -->
<scenario encode="invalid" decode="invalid" broadcast="BcastStereo_24_2"/>
<scenario encode="invalid" decode="invalid" broadcast="BcastStereo_16_2"/>
</scenarioList>
<configurationList>
<configuration name="OneChanMono_16_1" codecConfiguration="LC3_16k_1" strategyConfiguration="MONO_ONE_CIS_PER_DEVICE"/>
<configuration name="TwoChanStereo_16_1" codecConfiguration="LC3_16k_1" strategyConfiguration="STEREO_TWO_CISES_PER_DEVICE"/>
<configuration name="OneChanStereo_16_1" codecConfiguration="LC3_16k_1" strategyConfiguration="STEREO_ONE_CIS_PER_DEVICE"/>
<configuration name="OneChanMono_16_2" codecConfiguration="LC3_16k_2" strategyConfiguration="MONO_ONE_CIS_PER_DEVICE"/>
<configuration name="TwoChanStereo_16_2" codecConfiguration="LC3_16k_2" strategyConfiguration="STEREO_TWO_CISES_PER_DEVICE"/>
<configuration name="OneChanStereo_16_2" codecConfiguration="LC3_16k_2" strategyConfiguration="STEREO_ONE_CIS_PER_DEVICE"/>
<configuration name="OneChanMono_24_2" codecConfiguration="LC3_24k_2" strategyConfiguration="MONO_ONE_CIS_PER_DEVICE"/>
<configuration name="TwoChanStereo_24_2" codecConfiguration="LC3_24k_2" strategyConfiguration="STEREO_TWO_CISES_PER_DEVICE"/>
<configuration name="OneChanStereo_24_2" codecConfiguration="LC3_24k_2" strategyConfiguration="STEREO_ONE_CIS_PER_DEVICE"/>
<configuration name="OneChanMono_32_2" codecConfiguration="LC3_32k_2" strategyConfiguration="MONO_ONE_CIS_PER_DEVICE"/>
<configuration name="TwoChanStereo_32_2" codecConfiguration="LC3_32k_2" strategyConfiguration="STEREO_TWO_CISES_PER_DEVICE"/>
<configuration name="OneChanMono_48_2" codecConfiguration="LC3_48k_2" strategyConfiguration="MONO_ONE_CIS_PER_DEVICE"/>
<configuration name="TwoChanStereo_48_2" codecConfiguration="LC3_48k_2" strategyConfiguration="STEREO_TWO_CISES_PER_DEVICE"/>
<configuration name="OneChanStereo_48_2" codecConfiguration="LC3_48k_2" strategyConfiguration="STEREO_ONE_CIS_PER_DEVICE"/>
<configuration name="OneChanMono_48_4" codecConfiguration="LC3_48k_4" strategyConfiguration="MONO_ONE_CIS_PER_DEVICE"/>
<configuration name="TwoChanStereo_48_4" codecConfiguration="LC3_48k_4" strategyConfiguration="STEREO_TWO_CISES_PER_DEVICE"/>
<configuration name="OneChanStereo_48_4" codecConfiguration="LC3_48k_4" strategyConfiguration="STEREO_ONE_CIS_PER_DEVICE"/>
<configuration name="BcastStereo_24_2" codecConfiguration="LC3_24k_2" strategyConfiguration="BROADCAST_STEREO"/>
<configuration name="BcastStereo_16_2" codecConfiguration="LC3_16k_2" strategyConfiguration="BROADCAST_STEREO"/>
</configurationList>
<codecConfigurationList>
<codecConfiguration name="LC3_16k_1" codec="LC3" samplingFrequency="16000" frameDurationUs="7500" octetsPerCodecFrame="30"/>
<codecConfiguration name="LC3_16k_2" codec="LC3" samplingFrequency="16000" frameDurationUs="10000" octetsPerCodecFrame="40"/>
<codecConfiguration name="LC3_24k_2" codec="LC3" samplingFrequency="24000" frameDurationUs="10000" octetsPerCodecFrame="60"/>
<codecConfiguration name="LC3_32k_2" codec="LC3" samplingFrequency="32000" frameDurationUs="10000" octetsPerCodecFrame="80"/>
<codecConfiguration name="LC3_48k_2" codec="LC3" samplingFrequency="48000" frameDurationUs="10000" octetsPerCodecFrame="100"/>
<codecConfiguration name="LC3_48k_4" codec="LC3" samplingFrequency="48000" frameDurationUs="10000" octetsPerCodecFrame="120"/>
</codecConfigurationList>
<strategyConfigurationList>
<strategyConfiguration name="STEREO_ONE_CIS_PER_DEVICE" audioLocation="STEREO" connectedDevice="2" channelCount="1"/>
<strategyConfiguration name="STEREO_TWO_CISES_PER_DEVICE" audioLocation="STEREO" connectedDevice="1" channelCount="2"/>
<strategyConfiguration name="MONO_ONE_CIS_PER_DEVICE" audioLocation="MONO" connectedDevice="1" channelCount="1"/>
<strategyConfiguration name="BROADCAST_STEREO" audioLocation="STEREO" connectedDevice="0" channelCount="2"/>
</strategyConfigurationList>
</leAudioOffloadSetting>

View File

@@ -0,0 +1,29 @@
<manifest version="1.0" type="device">
<hal format="hidl">
<name>android.hardware.bluetooth</name>
<transport>hwbinder</transport>
<version>1.1</version>
<interface>
<name>IBluetoothHci</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>hardware.google.bluetooth.bt_channel_avoidance</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IBTChannelAvoidance</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>hardware.google.bluetooth.sar</name>
<transport>hwbinder</transport>
<version>1.1</version>
<interface>
<name>IBluetoothSar</name>
<instance>default</instance>
</interface>
</hal>
</manifest>

107
bluetooth/qti_default.mk Normal file
View File

@@ -0,0 +1,107 @@
#
# Copyright (C) 2021 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.
#
# Bluetooth Services sysprop for A2DP AAC VBR and A2DP offloading
PRODUCT_PRODUCT_PROPERTIES += \
persist.bluetooth.a2dp_aac.vbr_supported=true \
ro.bluetooth.a2dp_offload.supported=true \
persist.bluetooth.a2dp_offload.disabled=false \
persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac
# Bluetooth LE Audio
PRODUCT_PRODUCT_PROPERTIES += \
ro.bluetooth.leaudio_switcher.supported=false \
bluetooth.profile.bap.unicast.client.enabled?=false \
bluetooth.profile.csip.set_coordinator.enabled?=false \
bluetooth.profile.hap.client.enabled?=false \
bluetooth.profile.mcp.server.enabled?=false \
bluetooth.profile.ccp.server.enabled?=false \
bluetooth.profile.vcp.controller.enabled?=false \
# Bluetotoh Auto On feature
PRODUCT_PRODUCT_PROPERTIES += \
bluetooth.server.automatic_turn_on=true
# Bluetooth HAL and Pixel extension
DEVICE_MANIFEST_FILE += \
device/google/lynx/bluetooth/manifest_bluetooth.xml
DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += device/google/lynx/bluetooth/device_framework_matrix_product.xml
BOARD_SEPOLICY_DIRS += device/google/lynx/sepolicy/bluetooth
BOARD_HAVE_BLUETOOTH_QCOM = true
BOARD_USES_COMMON_BLUETOOTH_HAL = true
QCOM_BLUETOOTH_USING_DIAG = false
TARGET_BLUETOOTH_HCI_V1_1 = true
TARGET_BLUETOOTH_UART_DEVICE = "/dev/ttySAC18"
UART_USE_TERMIOS_AFC = true
TARGET_USE_QTI_BT_IBS = false
TARGET_USE_QTI_BT_OBS = true
TARGET_USE_QTI_BT_SAR_V1_1 = true
TARGET_USE_QTI_BT_CHANNEL_AVOIDANCE = true
TARGET_DROP_BYTES_BEFORE_SSR_DUMP = true
# IBluetoothHci @1.1 / @1.0
ifeq ($(TARGET_BLUETOOTH_HCI_V1_1),true)
PRODUCT_PACKAGES += android.hardware.bluetooth@1.1-impl-qti
else
PRODUCT_PACKAGES += android.hardware.bluetooth@1.0-impl-qti
endif
# IBluetoothSar @1.1 / @1.0
ifeq ($(TARGET_USE_QTI_BT_SAR_V1_1),true)
PRODUCT_PACKAGES += hardware.google.bluetooth.sar@1.1-impl
else ifeq ($(TARGET_USE_QTI_BT_SAR),true)
PRODUCT_PACKAGES += hardware.google.bluetooth.sar@1.0-impl
endif
PRODUCT_PACKAGES += \
android.hardware.bluetooth@1.0-service-qti \
hardware.google.bluetooth.bt_channel_avoidance@1.0-impl \
android.hardware.bluetooth.prebuilt.xml \
android.hardware.bluetooth_le.prebuilt.xml
# Bluetooth SAR Tx power caps
PRODUCT_COPY_FILES += \
device/google/lynx/bluetooth/bluetooth_power_limits_Lynx.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits.csv \
device/google/lynx/bluetooth/bluetooth_power_limits_Lynx_G0DZQ_EU.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G0DZQ_EU.csv \
device/google/lynx/bluetooth/bluetooth_power_limits_Lynx_GHL1X_EU.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_GHL1X_EU.csv \
device/google/lynx/bluetooth/bluetooth_power_limits_Lynx_G0DZQ_CA.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G0DZQ_CA.csv \
device/google/lynx/bluetooth/bluetooth_power_limits_Lynx_G0DZQ_US.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G0DZQ_US.csv \
device/google/lynx/bluetooth/bluetooth_power_limits_Lynx_GWKK3_CA.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_GWKK3_cA.csv \
device/google/lynx/bluetooth/bluetooth_power_limits_Lynx_GWKK3_US.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_GWKK3_US.csv \
device/google/lynx/bluetooth/bluetooth_power_limits_Lynx_G0DZQ_JP.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G0DZQ_JP.csv \
device/google/lynx/bluetooth/bluetooth_power_limits_Lynx_G82U8_JP.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G82U8_JP.csv
# Bluetooth SAR test tools
ifneq (,$(filter true, $(TARGET_USE_QTI_BT_SAR_V1_1) $(TARGET_USE_QTI_BT_SAR)))
PRODUCT_PACKAGES_ENG += bluetooth_sar_test
endif
# Bluetooth (Vendor) SoC, BDA in device tree, and WiPower
PRODUCT_PROPERTY_OVERRIDES += \
vendor.qcom.bluetooth.soc=hastings \
ro.vendor.bt.bdaddr_path=/proc/device-tree/chosen/config/bt_addr \
ro.vendor.bluetooth.emb_wp_mode=false \
ro.vendor.bluetooth.wipower=false
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.service.bdroid.soclog=true \
persist.vendor.service.bdroid.fwsnoop=true
else
PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.service.bdroid.soclog=false \
persist.vendor.service.bdroid.fwsnoop=false
endif

114
conf/init.lynx.rc Normal file
View File

@@ -0,0 +1,114 @@
# Lynx specific init.rc
import /vendor/etc/init/hw/init.gs201.rc
on init
# NFC streset tool name
setprop persist.vendor.nfc.streset libstreset21
setprop persist.vendor.se.streset libstreset21
setprop dalvik.vm.dexopt.thermal-cutoff 1
# When ro.build.flavor=factory_lynx-userdebug, add vendor/bin/factory to default path
on init && property:ro.build.flavor=factory_lynx-userdebug
export PATH /product/bin:/apex/com.android.runtime/bin:/apex/com.android.art/bin:/system_ext/bin:/system/bin:/system/xbin:/odm/bin:/vendor/bin:/vendor/xbin:/vendor/bin/factory
on early-boot
# Wait for insmod_sh to finish all common modules
wait_for_prop vendor.common.modules.ready 1
start insmod_sh_lynx
service insmod_sh_lynx /vendor/bin/insmod.sh /vendor_dlkm/etc/init.insmod.lynx.cfg
class main
user root
group root system
disabled
oneshot
on boot && property:ro.build.flavor=factory_lynx-userdebug
# FTM log folder
mkdir /data/ftmlog 0775 system system
# Audio test folder
mkdir /data/AudioTest 0775 system system
# Start the twoshay touch service
on property:vendor.device.modules.ready=1
start twoshay
on property:vendor.mfgapi.touchpanel.permission=1
chmod 0600 /sys/devices/virtual/sec/tsp/cmd
chown system system /sys/devices/virtual/sec/tsp/cmd
# SecureElement eSE2 cts mode
on property:persist.vendor.se.ese2.mode=ctsmode
write /sys/class/st33spi/st33spi/st33spi_state 33
# Allow secure_element group to read / write ST33 SPI state
on post-fs-data
chown secure_element secure_element /sys/class/st33spi/st33spi/st33spi_state
chmod 0660 /sys/class/st33spi/st33spi/st33spi_state
# Wifi
on property:sys.boot_completed=1
write /sys/bus/platform/drivers/cnss2/qcom,cnss-qca6490/fs_ready 1
on property:vendor.all.modules.ready=1 && property:vendor.all.devices.ready=1
write /sys/bus/platform/drivers/cnss2/qcom,cnss-qca6490/fs_ready 1
# Create directories for wifihal services
mkdir /dev/socket/wifihal 0770 wifi wifi
chmod 2777 /dev/socket/wifihal
# Create directories for Location services
mkdir /dev/socket/location 0770 wifi wifi
chmod 2777 /dev/socket/location
mkdir /dev/socket/location/mq 0770 wifi wifi
chmod 2777 /dev/socket/location/mq
start vendor.loc_launcher
# Start loc_launcher to launch lowi-server
service vendor.loc_launcher /system/vendor/bin/loc_launcher
class late_start
user wifi
group wifi
disabled
# Start cnss-daemon for CHRE
service vendor.cnss-daemon /vendor/bin/cnss-daemon -n -l
class late_start
user system
group system inet wifi
# Toggle high_sensitivity according to touch_sensitivity_mode
on property:persist.vendor.touch_sensitivity_mode=0 && property:sys.boot_completed=1
write /sys/devices/virtual/goog_touch_interface/gti.0/screen_protector_mode_enabled 0
on property:persist.vendor.touch_sensitivity_mode=1 && property:sys.boot_completed=1
write /sys/devices/virtual/goog_touch_interface/gti.0/screen_protector_mode_enabled 1
# For Japan sku, always enforce camera shutter sound
# Since this property is read by the audio server in system service,
# it should be written by the system init.
on property:ro.boot.hardware.sku=G82U8
setprop audio.camerasound.force true
# Haptics
on property:vendor.all.modules.ready=1
mkdir /mnt/vendor/persist/haptics 0770 system system
chmod 770 /mnt/vendor/persist/haptics
chmod 440 /mnt/vendor/persist/haptics/cs40l26.cal
chown system system /mnt/vendor/persist/haptics
chown system system /mnt/vendor/persist/haptics/cs40l26.cal
chown system system /sys/bus/i2c/devices/8-0043/calibration/f0_stored
chown system system /sys/bus/i2c/devices/8-0043/calibration/q_stored
chown system system /sys/bus/i2c/devices/8-0043/calibration/redc_stored
chown system system /sys/bus/i2c/devices/8-0043/default/vibe_state
chown system system /sys/bus/i2c/devices/8-0043/default/num_waves
chown system system /sys/bus/i2c/devices/8-0043/default/braking_time_bank
chown system system /sys/bus/i2c/devices/8-0043/default/braking_time_index
chown system system /sys/bus/i2c/devices/8-0043/default/braking_time_ms
chown system system /sys/bus/i2c/devices/8-0043/default/f0_offset
chown system system /sys/bus/i2c/devices/8-0043/default/owt_free_space
chown system system /sys/bus/i2c/devices/8-0043/default/f0_comp_enable
chown system system /sys/bus/i2c/devices/8-0043/default/redc_comp_enable
chown system system /sys/bus/i2c/devices/8-0043/default/delay_before_stop_playback_us
enable vendor.vibrator.cs40l26

View File

@@ -1,5 +1,5 @@
#
# Copyright (C) 2026 The Evolution X Project
# Copyright (C) 2024 The Evolution X Project
#
# SPDX-License-Identifier: Apache-2.0
#
@@ -7,4 +7,3 @@
DEVICE_PACKAGE_OVERLAYS += $(DEVICE_PATH)/overlay-evolution
TARGET_HAS_UDFPS += true

59
device-lineage.mk Normal file
View File

@@ -0,0 +1,59 @@
#
# SPDX-FileCopyrightText: 2021-2024 The LineageOS Project
# SPDX-FileCopyrightText: 2021-2024 The Calyx Institute
# SPDX-License-Identifier: Apache-2.0
#
DEVICE_PACKAGE_OVERLAYS += $(DEVICE_PATH)/overlay-lineage
# ANGLE - Almost Native Graphics Layer Engine
PRODUCT_PACKAGES += \
ANGLE
# EUICC
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.telephony.euicc.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/android.hardware.telephony.euicc.xml
PRODUCT_PACKAGES += \
EuiccSupportPixelOverlay
# HBM
PRODUCT_PACKAGES += \
HbmSVManagerOverlayLynx
# IWLAN
PRODUCT_PACKAGES += \
Iwlan
# wireless_charger HAL service
include device/google/gs-common/wireless_charger/wireless_charger.mk
# Build necessary packages for vendor
# Codec2
PRODUCT_PACKAGES += \
libacryl \
libacryl_hdr_plugin \
libexynosv4l2
# Fingerprint
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml
# GNSS
PRODUCT_PACKAGES += \
android.hardware.sensors-V2-ndk.vendor:64
# Graphics
PRODUCT_PACKAGES += \
libEGL_angle \
libGLESv1_CM_angle \
libGLESv2_angle
# Sensors
PRODUCT_PACKAGES += \
sensors.dynamic_sensor_hal
# Wi-Fi
PRODUCT_PACKAGES += \
libwifi-hal-ctrl:64

View File

@@ -1,23 +1,78 @@
#
# SPDX-FileCopyrightText: 2021 The Android Open-Source Project
# SPDX-FileCopyrightText: The LineageOS Project
# SPDX-FileCopyrightText: The Calyx Institute
# SPDX-License-Identifier: Apache-2.0
# Copyright (C) 2021 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.
#
TARGET_LINUX_KERNEL_VERSION := 6.1
TARGET_KERNEL_DEVICE := lynx
TARGET_KERNEL_DIR := device/google/$(TARGET_KERNEL_DEVICE)-kernels/$(TARGET_LINUX_KERNEL_VERSION)
TARGET_KERNEL_PLATFORM_SOURCE := google/gs-$(TARGET_LINUX_KERNEL_VERSION)
TARGET_LINUX_KERNEL_VERSION := $(RELEASE_KERNEL_LYNX_VERSION)
# Keeps flexibility for kasan and ufs builds
TARGET_KERNEL_DIR ?= $(RELEASE_KERNEL_LYNX_DIR)
TARGET_BOARD_KERNEL_HEADERS ?= $(RELEASE_KERNEL_LYNX_DIR)/kernel-headers
$(call inherit-product-if-exists, vendor/google_devices/lynx/prebuilts/device-vendor-lynx.mk)
$(call inherit-product-if-exists, vendor/google_devices/gs201/prebuilts/device-vendor.mk)
$(call inherit-product-if-exists, vendor/google_devices/gs201/proprietary/device-vendor.mk)
$(call inherit-product-if-exists, vendor/google_devices/lynx/proprietary/lynx/device-vendor-lynx.mk)
$(call inherit-product-if-exists, vendor/google_devices/lynx/proprietary/device-vendor.mk)
$(call inherit-product-if-exists, vendor/google_devices/lynx/proprietary/WallpapersLynx.mk)
DEVICE_PACKAGE_OVERLAYS += device/google/lynx/lynx/overlay
DEVICE_PACKAGE_OVERLAYS += device/google/lynx/overlay-lineage
include device/google/lynx/audio/lynx/audio-tables.mk
include device/google/gs201/device-shipping-common.mk
include device/google/gs-common/touch/gti/predump_gti.mk
include device/google/gs-common/wlan/dump.mk
# go/lyric-soong-variables
$(call soong_config_set,lyric,camera_hardware,lynx)
$(call soong_config_set,lyric,tuning_product,lynx)
$(call soong_config_set,google3a_config,target_device,lynx)
# Init files
PRODUCT_COPY_FILES += \
device/google/lynx/conf/init.lynx.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.lynx.rc
# Recovery files
PRODUCT_COPY_FILES += \
device/google/lynx/recovery/init.recovery.device.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.lynx.rc
device/google/lynx/conf/init.recovery.device.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.lynx.rc
# insmod files. Kernel 5.10 prebuilts don't provide these yet, so provide our
# own copy if they're not in the prebuilts.
# TODO(b/369686096): drop this when 5.10 is gone.
ifeq ($(wildcard $(TARGET_KERNEL_DIR)/init.insmod.*.cfg),)
PRODUCT_COPY_FILES += \
device/google/lynx/init.insmod.lynx.cfg:$(TARGET_COPY_OUT_VENDOR_DLKM)/etc/init.insmod.lynx.cfg
endif
# Camera
PRODUCT_COPY_FILES += \
device/google/lynx/media_profiles_lynx.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml
# Media Performance Class 13
PRODUCT_PROPERTY_OVERRIDES += ro.odm.build.media_performance_class=33
# Display Config
PRODUCT_COPY_FILES += \
device/google/lynx/lynx/display_colordata_dev_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_colordata_dev_cal0.pb \
device/google/lynx/lynx/display_golden_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_golden_cal0.pb
# Display
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.display.lbe.supported=1
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.set_idle_timer_ms=1000
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.ignore_hdr_camera_layers=true
#config of primary display frames to reach LHBM peak brightness
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.primarydisplay.lhbm.frames_to_reach_peak_brightness=2
# NFC
PRODUCT_COPY_FILES += \
@@ -25,12 +80,22 @@ 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/com.nxp.mifare.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.nxp.mifare.xml \
frameworks/native/data/etc/android.hardware.nfc.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.ese.xml
frameworks/native/data/etc/android.hardware.nfc.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.ese.xml \
device/google/lynx/nfc/libnfc-hal-st.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-hal-st.conf \
device/google/lynx/nfc/libnfc-nci-lynx.conf:$(TARGET_COPY_OUT_PRODUCT)/etc/libnfc-nci.conf
PRODUCT_PACKAGES += \
$(RELEASE_PACKAGE_NFC_STACK) \
Tag \
android.hardware.nfc-service.st \
NfcOverlayLynx
# Shared Modem Platform
SHARED_MODEM_PLATFORM_VENDOR := lassen
# Shared Modem Platform
include device/google/gs-common/modem/modem_svc_sit/shared_modem_platform.mk
# SecureElement
PRODUCT_PACKAGES += \
android.hardware.secure_element@1.2-service-gto \
@@ -38,31 +103,235 @@ PRODUCT_PACKAGES += \
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.se.omapi.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.ese.xml \
frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml
frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml \
device/google/lynx/nfc/libse-gto-hal.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal.conf \
device/google/lynx/nfc/libse-gto-hal2.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal2.conf
# Bluetooth HAL
PRODUCT_PACKAGES += \
android.hardware.bluetooth.prebuilt.xml \
android.hardware.bluetooth_le.prebuilt.xml
DEVICE_MANIFEST_FILE += \
device/google/lynx/nfc/manifest_se.xml
# Thermal Config
PRODUCT_COPY_FILES += \
device/google/lynx/thermal_info_config_lynx.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json \
device/google/lynx/thermal_info_config_charge_lynx.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config_charge.json
# Power HAL config
PRODUCT_COPY_FILES += \
device/google/lynx/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json
# PowerStats HAL
PRODUCT_SOONG_NAMESPACES += \
device/google/lynx/powerstats \
device/google/lynx
# Bluetooth HAL and Pixel extension
include device/google/lynx/bluetooth/qti_default.mk
# Keymaster HAL
#LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= android.hardware.keymaster@4.1-service
# Gatekeeper HAL
#LOCAL_GATEKEEPER_PRODUCT_PACKAGE ?= android.hardware.gatekeeper@1.0-service.software
# Gatekeeper
# PRODUCT_PACKAGES += \
# android.hardware.gatekeeper@1.0-service.software
# Keymint replaces Keymaster
# PRODUCT_PACKAGES += \
# android.hardware.security.keymint-service
# Keymaster
#PRODUCT_PACKAGES += \
# android.hardware.keymaster@4.0-impl \
# android.hardware.keymaster@4.0-service
#PRODUCT_PACKAGES += android.hardware.keymaster@4.0-service.remote
#PRODUCT_PACKAGES += android.hardware.keymaster@4.1-service.remote
#LOCAL_KEYMASTER_PRODUCT_PACKAGE := android.hardware.keymaster@4.1-service
#LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= android.hardware.keymaster@4.1-service
# PRODUCT_PROPERTY_OVERRIDES += \
# ro.hardware.keystore_desede=true \
# ro.hardware.keystore=software \
# ro.hardware.gatekeeper=software
# Fingerprint HAL
GOODIX_CONFIG_BUILD_VERSION := g7_trusty
$(call inherit-product-if-exists, vendor/goodix/udfps/configuration/udfps_common.mk)
ifeq ($(filter factory%, $(TARGET_PRODUCT)),)
$(call inherit-product-if-exists, vendor/goodix/udfps/configuration/udfps_shipping.mk)
else
$(call inherit-product-if-exists, vendor/goodix/udfps/configuration/udfps_factory.mk)
endif
# Vibrator HAL
$(call soong_config_set,haptics,kernel_ver,v$(subst .,_,$(TARGET_LINUX_KERNEL_VERSION)))
ADAPTIVE_HAPTICS_FEATURE := adaptive_haptics_v1
ACTUATOR_MODEL := legacy_zlra_actuator
PRODUCT_VENDOR_PROPERTIES += \
ro.vendor.vibrator.hal.f0.comp.enabled=1 \
ro.vendor.vibrator.hal.redc.comp.enabled=0 \
persist.vendor.vibrator.hal.context.enable=false \
persist.vendor.vibrator.hal.context.scale=40 \
persist.vendor.vibrator.hal.context.fade=true \
persist.vendor.vibrator.hal.context.cooldowntime=1600 \
persist.vendor.vibrator.hal.context.settlingtime=5000
# Override Output Distortion Gain
PRODUCT_VENDOR_PROPERTIES += \
vendor.audio.hapticgenerator.distortion.output.gain=0.29
# Trusty liboemcrypto.so
PRODUCT_SOONG_NAMESPACES += vendor/google_devices/lynx/prebuilts
# Location
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
PRODUCT_COPY_FILES += \
device/google/lynx/location/lhd.conf.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/lhd.conf \
device/google/lynx/location/scd.conf.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/scd.conf
ifneq (,$(filter 6.1, $(TARGET_LINUX_KERNEL_VERSION)))
PRODUCT_COPY_FILES += \
device/google/lynx/location/gps.6.1.xml.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.xml
else
PRODUCT_COPY_FILES += \
device/google/lynx/location/gps.xml.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.xml
endif
else
PRODUCT_COPY_FILES += \
device/google/lynx/location/lhd_user.conf.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/lhd.conf \
device/google/lynx/location/scd_user.conf.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/scd.conf
ifneq (,$(filter 6.1, $(TARGET_LINUX_KERNEL_VERSION)))
PRODUCT_COPY_FILES += \
device/google/lynx/location/gps_user.6.1.xml.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.xml
else
PRODUCT_COPY_FILES += \
device/google/lynx/location/gps_user.xml.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.xml
endif
endif
# Wifi HAL
PRODUCT_SOONG_NAMESPACES += \
hardware/qcom/wlan \
hardware/qcom/wlan/wcn6740
PRODUCT_SOONG_NAMESPACES += hardware/qcom/wlan/wcn6740
# DCK properties based on target
PRODUCT_PROPERTY_OVERRIDES += \
ro.gms.dck.eligible_wcc=2 \
ro.gms.dck.se_capability=1
# WIFI COEX
PRODUCT_COPY_FILES += \
device/google/lynx/wifi/coex_table.xml:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/coex_table.xml
# WiFi Overlay
PRODUCT_PACKAGES += \
WifiOverlay2023Mid
# Wifi Aware Interface
PRODUCT_PROPERTY_OVERRIDES += \
wifi.aware.interface=wifi-aware0
# Set zram size
PRODUCT_VENDOR_PROPERTIES += \
vendor.zram.size=3g
# Increment the SVN for any official public releases
ifdef RELEASE_SVN_LYNX
TARGET_SVN ?= $(RELEASE_SVN_LYNX)
else
# Set this for older releases that don't use build flag
TARGET_SVN ?= 46
endif
PRODUCT_VENDOR_PROPERTIES += \
ro.vendor.build.svn=$(TARGET_SVN)
# Set device family property for SMR
PRODUCT_PROPERTY_OVERRIDES += \
ro.build.device_family=P10C10L10
# Set build properties for SMR builds
ifeq ($(RELEASE_IS_SMR), true)
ifneq (,$(RELEASE_BASE_OS_LYNX))
PRODUCT_BASE_OS := $(RELEASE_BASE_OS_LYNX)
endif
endif
# Set build properties for EMR builds
ifeq ($(RELEASE_IS_EMR), true)
ifneq (,$(RELEASE_BASE_OS_LYNX))
PRODUCT_PROPERTY_OVERRIDES += \
ro.build.version.emergency_base_os=$(RELEASE_BASE_OS_LYNX)
endif
endif
# Set support hide display cutout feature
PRODUCT_PRODUCT_PROPERTIES += \
ro.support_hide_display_cutout=true
# Set support One-handed mode
PRODUCT_PRODUCT_PROPERTIES += \
ro.support_one_handed_mode=true
# Fingerprint als feed forward
PRODUCT_VENDOR_PROPERTIES += \
persist.vendor.udfps.als_feed_forward_supported=true \
persist.vendor.udfps.lhbm_controlled_in_hal_supported=true
# Hide cutout overlays
PRODUCT_PACKAGES += \
NoCutoutOverlay \
AvoidAppsInCutoutOverlay
# MIPI Coex Configs
PRODUCT_COPY_FILES += \
device/google/lynx/lynx/radio/lynx_display_primary_mipi_coex_table.csv:$(TARGET_COPY_OUT_VENDOR)/etc/modem/display_primary_mipi_coex_table.csv
# Camera
PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.camera.extended_launch_boost=1 \
persist.vendor.camera.optimized_tnr_freq=1 \
persist.vendor.camera.raise_buf_allocation_priority=1 \
persist.vendor.camera.start_cpu_throttling_at_moderate_thermal=1
# Enable camera 1080P 60FPS binning mode
PRODUCT_VENDOR_PROPERTIES += \
persist.vendor.camera.1080P_60fps_binning=true
# Increase thread priority for nodes stop
PRODUCT_VENDOR_PROPERTIES += \
persist.vendor.camera.increase_thread_priority_nodes_stop=true
# OIS with system imu
PRODUCT_VENDOR_PROPERTIES += \
persist.vendor.camera.ois_with_system_imu=true
# Enable camera exif model/make reporting
PRODUCT_VENDOR_PROPERTIES += \
persist.vendor.camera.exif_reveal_make_model=true
# Enable front camera always binning for 720P or smaller resolution
PRODUCT_VENDOR_PROPERTIES += \
persist.vendor.camera.front_720P_always_binning=true
# Device features
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml
# The default value of this variable is false and should only be set to true when
# the device allows users to enable the seamless transfer feature.
PRODUCT_PRODUCT_PROPERTIES += \
euicc.seamless_transfer_enabled_in_non_qs=true
##Audio Vendor property
PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.audio.cca.enabled=false
# eng specific
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
PRODUCT_COPY_FILES += \
device/google/gs201/init.hardware.wlc.rc.userdebug:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.wlc.rc
endif
# SKU specific RROs
PRODUCT_PACKAGES += \
SettingsOverlayG82U8 \
@@ -70,47 +339,23 @@ PRODUCT_PACKAGES += \
SettingsOverlayGHL1X \
SettingsOverlayGWKK3
# ANGLE - Almost Native Graphics Layer Engine
PRODUCT_PACKAGES += \
ANGLE
# Enable DeviceAsWebcam support
PRODUCT_VENDOR_PROPERTIES += \
ro.usb.uvc.enabled=true
# EUICC
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.telephony.euicc.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/android.hardware.telephony.euicc.xml
# Quick Start device-specific settings
PRODUCT_PRODUCT_PROPERTIES += \
ro.quick_start.oem_id=00e0 \
ro.quick_start.device_id=lynx
PRODUCT_PACKAGES += \
EuiccSupportPixelOverlay
# Bluetooth device id
# Raven: 0x410B
PRODUCT_PRODUCT_PROPERTIES += \
bluetooth.device_id.product_id=16651
# Fingerprint
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml
# GNSS
PRODUCT_PACKAGES += \
android.hardware.sensors-V2-ndk.vendor:64
# HBM
PRODUCT_PACKAGES += \
HbmSVManagerOverlayLynx
# Init
PRODUCT_PACKAGES += \
init.recovery.lynx.touch.rc
# Properties
TARGET_PRODUCT_PROP += $(DEVICE_PATH)/$(DEVICE_CODENAME)/product.prop
TARGET_VENDOR_PROP += $(DEVICE_PATH)/$(DEVICE_CODENAME)/vendor.prop
# Sensors
PRODUCT_PACKAGES += \
sensors.dynamic_sensor_hal
# Wi-Fi
PRODUCT_PACKAGES += \
libwifi-hal-ctrl:64
# VINTF
DEVICE_MANIFEST_FILE += \
$(DEVICE_PATH)/vintf/manifest.xml
DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += \
$(DEVICE_PATH)/vintf/device_framework_matrix_product.xml
# ETM
ifneq (,$(RELEASE_ETM_IN_USERDEBUG_ENG))
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
$(call inherit-product-if-exists, device/google/common/etm/device-userdebug-modules.mk)
endif
endif

View File

@@ -4,8 +4,8 @@
"target_path": "device/google/gs201"
},
{
"remote": "github",
"repository": "android_device_google_lynx-kernels",
"target_path": "device/google/lynx-kernels"
"repository": "device/google/lynx-kernels/6.1",
"target_path": "device/google/lynx-kernels/6.1",
"remote": "aosp-lynx"
}
]

View File

@@ -0,0 +1,25 @@
#!/bin/sh
# Copyright 2023 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.
source ../../../common/clear-factory-images-variables.sh
BUILD=9456232
DEVICE=lynx
PRODUCT=lynx
VERSION=td4a.221205.017
SRCPREFIX=signed-
BOOTLOADER=lynx-1.0-9450676
RADIO=g5300n-221222-221226-b-9437664
source ../../../common/generate-factory-images-common.sh

40
factory_lynx.mk Normal file
View File

@@ -0,0 +1,40 @@
#
# Copyright 2021 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.
#
TARGET_LINUX_KERNEL_VERSION := 5.10
$(call inherit-product, device/google/gs201/factory_common.mk)
$(call inherit-product, device/google/lynx/device-lynx.mk)
include device/google/lynx/audio/lynx/factory-audio-tables.mk
PRODUCT_NAME := factory_lynx
PRODUCT_DEVICE := lynx
PRODUCT_MODEL := Factory build on Lynx
PRODUCT_BRAND := Android
PRODUCT_MANUFACTURER := Google
# default BDADDR for EVB only
PRODUCT_PROPERTY_OVERRIDES += \
ro.vendor.bluetooth.evb_bdaddr="22:22:22:33:44:55"
# Factory binaries of camera
PRODUCT_PACKAGES += fatp_imx787_hat_tool
# Factory binaries of wifi
PRODUCT_PACKAGES += athdiag
PRODUCT_PACKAGES += libdiag
PRODUCT_PACKAGES += libtime_genoff
PRODUCT_PACKAGES += cnss_diag

18
init.insmod.lynx.cfg Normal file
View File

@@ -0,0 +1,18 @@
##########################################################
# init.insmod.lynx.cfg #
# This file contains lynx specific kernel modules #
# to load at init time by init.insmod.sh script #
##########################################################
# Load device specific kernel modules
# Modules here will be loaded *after* all common modules
modprobe|snd-soc-cs35l41-spi.ko
modprobe|goodix_brl_touch.ko
modprobe|focal_touch.ko
modprobe|cs40l26-i2c.ko
modprobe|snd-soc-cs40l26.ko
# All device specific modules loaded
setprop|vendor.device.modules.ready
setprop|vendor.all.modules.ready
setprop|vendor.all.devices.ready

View File

@@ -1,10 +1,11 @@
#
# SPDX-FileCopyrightText: The LineageOS Project
# SPDX-FileCopyrightText: The Calyx Institute
# SPDX-FileCopyrightText: 2021-2024 The LineageOS Project
# SPDX-FileCopyrightText: 2021-2024 The Calyx Institute
# SPDX-License-Identifier: Apache-2.0
#
# Inherit some common stuff
TARGET_DISABLE_EPPE := true
$(call inherit-product, vendor/lineage/config/common_full_phone.mk)
# Inherit device configuration
@@ -12,6 +13,10 @@ DEVICE_CODENAME := lynx
DEVICE_PATH := device/google/lynx
VENDOR_PATH := vendor/google/lynx
$(call inherit-product, $(DEVICE_PATH)/aosp_$(DEVICE_CODENAME).mk)
$(call inherit-product, device/google/gs201/lineage_common.mk)
$(call inherit-product, device/google/gs201/evolution_common.mk)
$(call inherit-product, $(DEVICE_PATH)/$(DEVICE_CODENAME)/device-lineage.mk)
$(call inherit-product, $(DEVICE_PATH)/$(DEVICE_CODENAME)/device-evolution.mk)
# Device identifier. This must come after all inclusions
PRODUCT_BRAND := google
@@ -23,8 +28,8 @@ TARGET_SCREEN_HEIGHT := 2400
TARGET_SCREEN_WIDTH := 1080
PRODUCT_BUILD_PROP_OVERRIDES += \
BuildDesc="lynx-user 16 BP4A.260105.004.E1 14587043 release-keys" \
BuildFingerprint=google/lynx/lynx:16/BP4A.260105.004.E1/14587043:user/release-keys \
BuildDesc="lynx-user 15 BP1A.250505.005.B1 13277630 release-keys" \
BuildFingerprint=google/lynx/lynx:15/BP1A.250505.005.B1/13277630:user/release-keys \
DeviceProduct=$(DEVICE_CODENAME)
$(call inherit-product, $(VENDOR_PATH)/$(DEVICE_CODENAME)-vendor.mk)

106
location/gps.6.1.xml.l10 Normal file
View File

@@ -0,0 +1,106 @@
<?xml version="1.0" encoding="utf-8"?>
<glgps xmlns="http://www.glpals.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.glpals.com/ glconfig.xsd" >
<hal
PortName="/dev/ttyBCM"
BaudRate="921600"
GpioNStdbyPath="/sys/devices/platform/10940000.spi/spi_master/spi5/spi5.0/nstandby"
CustGpioDelayMs="250"
LogEnabled="true"
Log="JAVA"
SecondaryConfigPath="/data/vendor/gps/overlay/gps_overlay.xml"
LogDirectory="/sdcard/gps/broadcom/storage/"
CtrlPipe="/data/vendor/gps/glgpsctrl"
NmeaOutName="/data/vendor/gps/nmea_out"
acSuplServer="supl.google.com"
SuplPort="7275"
SuplLogEnable="true"
SuplLogFullName="/data/vendor/gps/suplflow.txt"
tlsEnable="true"
SuplSslMethod="SSLv23"
SuplEnable="true"
SuplUseApn="false"
SuplUseApnNI="true"
SuplUseFwCellInfo="false"
SuplDummyCellInfo ="true"
SuplTlsCertDirPath="/etc/security/cacerts"
SuplTlsCertPath="/vendor/etc/gnss/gps.cer"
SuplUT1Seconds="20"
SuplUT2Seconds="20"
SuplUT3Seconds="20"
TcpConnectionTimeout="20"
SuplLppCapable="true"
SuplEcidCapable="true"
SuplVersion="2"
SuplMinorVersion="0"
SuplOtdoaCapable="true"
SuplOtdoaCapable2="true"
SuplGlonassCapable = "true"
SuplGalileoCapable = "true"
SuplBdsCapable = "true"
SuplMgpsCapable = "true"
RtoEnable="true"
RtiEnable="true"
HttpSyncLto="true"
LtoFileName="lto2.dat"
LtoDir="/data/vendor/gps/"
LtoSyncThresholdDays="1"
GnssYearOfHardware="2020"
CpEarlyFixGuardTimeSec="1"
CpGuardTimeSec="1"
CpLppGuardTimeSec="1"
IgnoreInjectedSystemTime="true"
AttributionAppPkgName="com.google.android.carrierlocation"
AssertEnabled="true"
ExitOnComFailure="true"
CpLppeCancelDbhOnAgnssProvideLoc="true"
CpLppeUseAgnssLocForEmptyDbh="true"
CpLppHighAccuracyShapeMode="1"
ReAidingOnHotStart="false"
ReAidingIntervalSec="3600"
RuntimeSwLteFilterEnable="true"
PpsDevice="/sys/devices/platform/bbd_pps/pps_assert"
SensorsMask="0x244"
MaxThreadNum="13"
/>
<gll
PpsEnable="true"
LogPriMask="LOG_INFO"
LogFacMask="LOG_NMEA | LOG_GLLIOS | LOG_GLLAPI"
FrqPlan="FRQ_PLAN_26MHZ_2PPM_49_152MHZ_300PPB"
MultiCarrRFMode="GL_MULTI_CARR_RF_MODE_L1"
MultiCarrLnaMask="L1_EXT_ON"
RfType="GL_RF_4776_BRCM"
WarmStandbyTimeout1Seconds="10"
WarmStandbyTimeout2Seconds="15"
EnableGnssPropagateInStandby="true"
RfPathLossDb_Ap="4"
RfPathLossDb_Cp="4"
OnChipGpsCarrierType="3,2,3,3,2,3,2,3,3,3,1,2,1,3,2,1,2,3,1,1,1,1,3,3,3,3,3,1,2,3,2,3"
EnableOnChipStopNotification="2"
PowerMode="3"
MinGpsWeekNumber="2216"
OnChipAccMask="50"
EnableB1C="false"
RTICacheTimeoutSec="3600"
/>
<gll_features
EnableQzsAutoSwitch="false"
EnableGloAutoSwitch="false"
EnableNicAutoSwitch="true"
/>
</glgps>

107
location/gps.xml.l10 Normal file
View File

@@ -0,0 +1,107 @@
<?xml version="1.0" encoding="utf-8"?>
<glgps xmlns="http://www.glpals.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.glpals.com/ glconfig.xsd" >
<hal
PortName="/dev/ttyBCM"
BaudRate="921600"
GpioNStdbyPath="/sys/devices/platform/10940000.spi/spi_master/spi5/spi5.0/nstandby"
CustGpioDelayMs="250"
LogEnabled="true"
Log="JAVA"
SecondaryConfigPath="/data/vendor/gps/overlay/gps_overlay.xml"
LogDirectory="/sdcard/gps/broadcom/storage/"
CtrlPipe="/data/vendor/gps/glgpsctrl"
NmeaOutName="/data/vendor/gps/nmea_out"
acSuplServer="supl.google.com"
SuplPort="7275"
SuplLogEnable="true"
SuplLogFullName="/data/vendor/gps/suplflow.txt"
tlsEnable="true"
SuplSslMethod="SSLv23"
SuplEnable="true"
SuplUseApn="false"
SuplUseApnNI="true"
SuplUseFwCellInfo="false"
SuplDummyCellInfo ="true"
SuplTlsCertDirPath="/etc/security/cacerts"
SuplTlsCertPath="/vendor/etc/gnss/gps.cer"
SuplUT1Seconds="20"
SuplUT2Seconds="20"
SuplUT3Seconds="20"
TcpConnectionTimeout="20"
SuplLppCapable="true"
SuplEcidCapable="true"
SuplVersion="2"
SuplMinorVersion="0"
SuplOtdoaCapable="true"
SuplOtdoaCapable2="true"
SuplGlonassCapable = "true"
SuplGalileoCapable = "true"
SuplBdsCapable = "true"
SuplMgpsCapable = "true"
RtoEnable="true"
RtiEnable="true"
HttpSyncLto="true"
LtoFileName="lto2.dat"
LtoDir="/data/vendor/gps/"
LtoSyncThresholdDays="1"
GnssYearOfHardware="2020"
CpEarlyFixGuardTimeSec="1"
CpGuardTimeSec="1"
CpLppGuardTimeSec="1"
IgnoreInjectedSystemTime="true"
AttributionAppPkgName="com.google.android.carrierlocation"
AssertEnabled="true"
ExitOnComFailure="true"
CpLppeCancelDbhOnAgnssProvideLoc="true"
CpLppeUseAgnssLocForEmptyDbh="true"
CpLppHighAccuracyShapeMode="1"
ReAidingOnHotStart="false"
ReAidingIntervalSec="3600"
RuntimeSwLteFilterEnable="true"
PpsDevice="/sys/class/pps/pps0/assert_elapsed"
SensorsMask="0x244"
MaxThreadNum="13"
/>
<gll
PpsEnable="true"
LogPriMask="LOG_INFO"
LogFacMask="LOG_NMEA | LOG_GLLIOS | LOG_GLLAPI"
FrqPlan="FRQ_PLAN_26MHZ_2PPM_49_152MHZ_300PPB"
MultiCarrRFMode="GL_MULTI_CARR_RF_MODE_L1"
MultiCarrLnaMask="L1_EXT_ON"
RfType="GL_RF_4776_BRCM"
WarmStandbyTimeout1Seconds="10"
WarmStandbyTimeout2Seconds="15"
EnableGnssPropagateInStandby="true"
RfPathLossDb_Ap="4"
RfPathLossDb_Cp="4"
OnChipGpsCarrierType="3,2,3,3,2,3,2,3,3,3,1,2,1,3,2,1,2,3,1,1,1,1,3,3,3,3,3,1,2,3,2,3"
EnableOnChipStopNotification="2"
PowerMode="3"
MinGpsWeekNumber="2216"
OnChipAccMask="50"
EnableB1C="false"
RTICacheTimeoutSec="3600"
/>
<gll_features
EnableQzsAutoSwitch="false"
EnableGloAutoSwitch="false"
EnableNicAutoSwitch="true"
ConstellationAutoSwitchOffNavOnly="true"
/>
</glgps>

View File

@@ -0,0 +1,105 @@
<?xml version="1.0" encoding="utf-8"?>
<glgps xmlns="http://www.glpals.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.glpals.com/ glconfig.xsd" >
<hal
PortName="/dev/ttyBCM"
BaudRate="921600"
GpioNStdbyPath="/sys/devices/platform/10940000.spi/spi_master/spi5/spi5.0/nstandby"
CustGpioDelayMs="250"
LogEnabled="false"
Log="JAVA"
LogDirectory="/sdcard/gps/broadcom/storage/"
CtrlPipe="/data/vendor/gps/glgpsctrl"
NmeaOutName="/data/vendor/gps/nmea_out"
acSuplServer="supl.google.com"
SuplPort="7275"
SuplLogEnable="false"
SuplLogFullName="/data/vendor/gps/suplflow.txt"
tlsEnable="true"
SuplSslMethod="SSLv23"
SuplEnable="true"
SuplUseApn="false"
SuplUseApnNI="true"
SuplUseFwCellInfo="false"
SuplDummyCellInfo ="true"
SuplTlsCertDirPath="/etc/security/cacerts"
SuplTlsCertPath="/vendor/etc/gnss/gps.cer"
SuplUT1Seconds="20"
SuplUT2Seconds="20"
SuplUT3Seconds="20"
TcpConnectionTimeout="20"
SuplLppCapable="true"
SuplEcidCapable="true"
SuplVersion="2"
SuplMinorVersion="0"
SuplOtdoaCapable="true"
SuplOtdoaCapable2="true"
SuplGlonassCapable = "true"
SuplGalileoCapable = "true"
SuplBdsCapable = "true"
SuplMgpsCapable = "true"
RtoEnable="true"
RtiEnable="true"
HttpSyncLto="true"
LtoFileName="lto2.dat"
LtoDir="/data/vendor/gps/"
LtoSyncThresholdDays="1"
GnssYearOfHardware="2020"
CpEarlyFixGuardTimeSec="1"
CpGuardTimeSec="1"
CpLppGuardTimeSec="1"
IgnoreInjectedSystemTime="true"
AttributionAppPkgName="com.google.android.carrierlocation"
AssertEnabled="false"
CpLppeCancelDbhOnAgnssProvideLoc="true"
CpLppeUseAgnssLocForEmptyDbh="true"
CpLppHighAccuracyShapeMode="1"
ReAidingOnHotStart="false"
ReAidingIntervalSec="3600"
RuntimeSwLteFilterEnable="true"
PpsDevice="/sys/devices/platform/bbd_pps/pps_assert"
SensorsMask="0x244"
MaxThreadNum="13"
/>
<gll
PpsEnable="true"
LogPriMask="LOG_INFO"
LogFacMask="LOG_NMEA | LOG_GLLIOS | LOG_GLLAPI"
FrqPlan="FRQ_PLAN_26MHZ_2PPM_49_152MHZ_300PPB"
MultiCarrRFMode="GL_MULTI_CARR_RF_MODE_L1"
MultiCarrLnaMask="L1_EXT_ON"
RfType="GL_RF_4776_BRCM"
WarmStandbyTimeout1Seconds="10"
WarmStandbyTimeout2Seconds="15"
EnableGnssPropagateInStandby="true"
RfPathLossDb_Ap="4"
RfPathLossDb_Cp="4"
OnChipGpsCarrierType="3,2,3,3,2,3,2,3,3,3,1,2,1,3,2,1,2,3,1,1,1,1,3,3,3,3,3,1,2,3,2,3"
EnableOnChipStopNotification="false"
PowerMode="3"
MinGpsWeekNumber="2216"
OnChipAccMask="50"
EnableB1C="false"
RTICacheTimeoutSec="3600"
/>
<gll_features
EnableQzsAutoSwitch="false"
EnableGloAutoSwitch="false"
EnableNicAutoSwitch="true"
/>
</glgps>

106
location/gps_user.xml.l10 Normal file
View File

@@ -0,0 +1,106 @@
<?xml version="1.0" encoding="utf-8"?>
<glgps xmlns="http://www.glpals.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.glpals.com/ glconfig.xsd" >
<hal
PortName="/dev/ttyBCM"
BaudRate="921600"
GpioNStdbyPath="/sys/devices/platform/10940000.spi/spi_master/spi5/spi5.0/nstandby"
CustGpioDelayMs="250"
LogEnabled="false"
Log="JAVA"
LogDirectory="/sdcard/gps/broadcom/storage/"
CtrlPipe="/data/vendor/gps/glgpsctrl"
NmeaOutName="/data/vendor/gps/nmea_out"
acSuplServer="supl.google.com"
SuplPort="7275"
SuplLogEnable="false"
SuplLogFullName="/data/vendor/gps/suplflow.txt"
tlsEnable="true"
SuplSslMethod="SSLv23"
SuplEnable="true"
SuplUseApn="false"
SuplUseApnNI="true"
SuplUseFwCellInfo="false"
SuplDummyCellInfo ="true"
SuplTlsCertDirPath="/etc/security/cacerts"
SuplTlsCertPath="/vendor/etc/gnss/gps.cer"
SuplUT1Seconds="20"
SuplUT2Seconds="20"
SuplUT3Seconds="20"
TcpConnectionTimeout="20"
SuplLppCapable="true"
SuplEcidCapable="true"
SuplVersion="2"
SuplMinorVersion="0"
SuplOtdoaCapable="true"
SuplOtdoaCapable2="true"
SuplGlonassCapable = "true"
SuplGalileoCapable = "true"
SuplBdsCapable = "true"
SuplMgpsCapable = "true"
RtoEnable="true"
RtiEnable="true"
HttpSyncLto="true"
LtoFileName="lto2.dat"
LtoDir="/data/vendor/gps/"
LtoSyncThresholdDays="1"
GnssYearOfHardware="2020"
CpEarlyFixGuardTimeSec="1"
CpGuardTimeSec="1"
CpLppGuardTimeSec="1"
IgnoreInjectedSystemTime="true"
AttributionAppPkgName="com.google.android.carrierlocation"
AssertEnabled="false"
CpLppeCancelDbhOnAgnssProvideLoc="true"
CpLppeUseAgnssLocForEmptyDbh="true"
CpLppHighAccuracyShapeMode="1"
ReAidingOnHotStart="false"
ReAidingIntervalSec="3600"
RuntimeSwLteFilterEnable="true"
PpsDevice="/sys/class/pps/pps0/assert_elapsed"
SensorsMask="0x244"
MaxThreadNum="13"
/>
<gll
PpsEnable="true"
LogPriMask="LOG_INFO"
LogFacMask="LOG_NMEA | LOG_GLLIOS | LOG_GLLAPI"
FrqPlan="FRQ_PLAN_26MHZ_2PPM_49_152MHZ_300PPB"
MultiCarrRFMode="GL_MULTI_CARR_RF_MODE_L1"
MultiCarrLnaMask="L1_EXT_ON"
RfType="GL_RF_4776_BRCM"
WarmStandbyTimeout1Seconds="10"
WarmStandbyTimeout2Seconds="15"
EnableGnssPropagateInStandby="true"
RfPathLossDb_Ap="4"
RfPathLossDb_Cp="4"
OnChipGpsCarrierType="3,2,3,3,2,3,2,3,3,3,1,2,1,3,2,1,2,3,1,1,1,1,3,3,3,3,3,1,2,3,2,3"
EnableOnChipStopNotification="false"
PowerMode="3"
MinGpsWeekNumber="2216"
OnChipAccMask="50"
EnableB1C="false"
RTICacheTimeoutSec="3600"
/>
<gll_features
EnableQzsAutoSwitch="false"
EnableGloAutoSwitch="false"
EnableNicAutoSwitch="true"
ConstellationAutoSwitchOffNavOnly="true"
/>
</glgps>

34
location/lhd.conf.l10 Normal file
View File

@@ -0,0 +1,34 @@
LheName=bbd
LheRsmResetTimeoutMS=10000
GpioNStdbyPath=/sys/devices/platform/10940000.spi/spi_master/spi5/spi5.0/nstandby
LhePatch=/vendor/firmware/SensorHub.patch
Lhe477xDebugFlags=RPC:FACILITY=65535-dKP+CUST+LHE:STDOUT_PUTS:STDOUT_LOG
LheConsole=/data/vendor/gps/LheConsole
LogEnabled=true
Log=JAVA
LogDirectory=/sdcard/gps/broadcom/storage
LheBbdPacket=/dev/ttyBCM
LheBbdControl=/dev/bbd_control
# LheBbdSensor=/dev/bbd_sensor
LheFailSafe=/data/vendor/gps/logs/esw-crash-dump.txt
LogLevel=*:I
NvStorageDir=/data/vendor/gps/
# Enable BBD debugging at these stages:
# LheDriverDebugFlags=PATCH_BBD:LHE_BBD:FSC_BBD
LheAutoBaudDelayMS=10
TrafficLogEnabled=false
SecondaryConfigPath=/data/vendor/gps/overlay/lhd_overlay.conf
SkipSensorWakeLock=true
LoggerWakeLockEnable=false
PpsEnable=true

View File

@@ -0,0 +1,32 @@
LheName=bbd
LheRsmResetTimeoutMS=10000
GpioNStdbyPath=/sys/devices/platform/10940000.spi/spi_master/spi5/spi5.0/nstandby
LhePatch=/vendor/firmware/SensorHub.patch
Lhe477xDebugFlags=RPC:FACILITY=65535-dKP+CUST+LHE:STDOUT_PUTS:STDOUT_LOG
# LheConsole=/data/vendor/gps/LheConsole
LogEnabled=false
Log=JAVA
LogDirectory=/sdcard/gps/broadcom/storage
LheBbdPacket=/dev/ttyBCM
LheBbdControl=/dev/bbd_control
# LheBbdSensor=/dev/bbd_sensor
# LheFailSafe=/data/vendor/gps/esw-crash-dump.txt
NvStorageDir=/data/vendor/gps/
# Enable BBD debugging at these stages:
# LheDriverDebugFlags=PATCH_BBD:LHE_BBD:FSC_BBD
LheAutoBaudDelayMS=10
TrafficLogEnabled=false
SkipSensorWakeLock=true
LoggerWakeLockEnable=false
PpsEnable=true

6
location/scd.conf.l10 Normal file
View File

@@ -0,0 +1,6 @@
LogEnabled=true
Log=JAVA
LogDirectory=/sdcard/gps/broadcom/storage
NvStorageDir=/data/vendor/gps/
TcpConnectionTimeout=20
SecondaryConfigPath=/data/vendor/gps/overlay/scd_overlay.conf

View File

@@ -0,0 +1,5 @@
LogEnabled=false
Log=JAVA
LogDirectory=/sdcard/gps/broadcom/storage
NvStorageDir=/data/vendor/gps/
TcpConnectionTimeout=20

View File

@@ -1,5 +1,5 @@
//
// SPDX-FileCopyrightText: The LineageOS Project
// SPDX-FileCopyrightText: 2024 The LineageOS Project
// SPDX-License-Identifier: Apache-2.0
//

View File

@@ -1,38 +1,57 @@
#
# SPDX-FileCopyrightText: 2021 The Android Open-Source Project
# SPDX-FileCopyrightText: The LineageOS Project
# SPDX-FileCopyrightText: The Calyx Institute
# SPDX-License-Identifier: Apache-2.0
# Copyright (C) 2021 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.
#
TARGET_BOARD_INFO_FILE := $(DEVICE_PATH)/board-info.txt
TARGET_BOOTLOADER_BOARD_NAME := $(DEVICE_CODENAME)
TARGET_SCREEN_DENSITY := 420
TARGET_BOARD_INFO_FILE := device/google/lynx/board-info.txt
TARGET_BOOTLOADER_BOARD_NAME := lynx
# Security - must be defined before including BoardConfig-common.mk
BOOT_SECURITY_PATCH := 2026-01-05
VENDOR_SECURITY_PATCH := $(BOOT_SECURITY_PATCH)
RELEASE_GOOGLE_PRODUCT_RADIO_DIR := $(RELEASE_GOOGLE_LYNX_RADIO_DIR)
RELEASE_GOOGLE_BOOTLOADER_LYNX_DIR ?= pdk# Keep this for pdk TODO: b/327119000
RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/$(RELEASE_GOOGLE_BOOTLOADER_LYNX_DIR)
$(call soong_config_set,lynx_bootloader,prebuilt_dir,$(RELEASE_GOOGLE_BOOTLOADER_LYNX_DIR))
include device/google/gs201/BoardConfig-common.mk
ifdef PHONE_CAR_BOARD_PRODUCT
include vendor/auto/embedded/products/$(PHONE_CAR_BOARD_PRODUCT)/BoardConfig.mk
else
TARGET_SCREEN_DENSITY := 420
endif
# Kernel modules
BOARD_USES_GENERIC_AUDIO := true
USES_DEVICE_GOOGLE_LYNX := true
# Enable load module in parallel
BOARD_BOOTCONFIG += androidboot.load_modules_parallel=true
# The modules which need to be loaded in sequential
BOARD_KERNEL_CMDLINE += fips140.load_sequential=1
BOARD_KERNEL_CMDLINE += exynos_drm.load_sequential=1
BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_BLOCKLIST_FILE := $(DEVICE_PATH)/recovery/modules.blocklist.vendor_kernel_boot
BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_RAW := $(strip $(shell cat $(DEVICE_PATH)/recovery/modules.load.vendor_kernel_boot))
BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD += $(BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_RAW)
BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES += $(addprefix $(KERNEL_MODULE_DIR)/, $(notdir $(BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_RAW)))
# SEPolicy
BOARD_VENDOR_SEPOLICY_DIRS += \
$(DEVICE_PATH)/sepolicy/vendor \
hardware/google/pixel-sepolicy/vibrator/common \
hardware/google/pixel-sepolicy/vibrator/cs40l26
# WiFi
include device/google/gs201/BoardConfig-common.mk
-include vendor/google_devices/gs201/prebuilts/BoardConfigVendor.mk
include device/google/gs-common/check_current_prebuilt/check_current_prebuilt.mk
-include vendor/google_devices/lynx/proprietary/BoardConfigVendor.mk
include device/google/lynx/sepolicy/lynx-sepolicy.mk
include device/google/gs201/wifi/qcom/BoardConfig-wifi.mk
include $(VENDOR_PATH)/BoardConfigVendor.mk
ifneq (,$(RELEASE_ETM_IN_USERDEBUG_ENG))
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
-include device/google/common/etm/BoardUserdebugModules.mk
endif
endif
DEVICE_PATH := device/google/lynx
VENDOR_PATH := vendor/google/lynx
include $(DEVICE_PATH)/$(TARGET_BOOTLOADER_BOARD_NAME)/BoardConfigLineage.mk
include $(DEVICE_PATH)/$(TARGET_BOOTLOADER_BOARD_NAME)/BoardConfigEvolution.mk

View File

@@ -0,0 +1,6 @@
#
# SPDX-FileCopyrightText: 2024 The Evolution X Project
# SPDX-License-Identifier: Apache-2.0
#
include $(DEVICE_PATH)/BoardConfigEvolution.mk

View File

@@ -0,0 +1,9 @@
#
# SPDX-FileCopyrightText: 2021-2024 The LineageOS Project
# SPDX-FileCopyrightText: 2021-2024 The Calyx Institute
# SPDX-License-Identifier: Apache-2.0
#
include $(DEVICE_PATH)/BoardConfigLineage.mk
include $(VENDOR_PATH)/BoardConfigVendor.mk

View File

@@ -1,4 +1,3 @@
#
# SPDX-FileCopyrightText: 2024 The Evolution X Project
# SPDX-License-Identifier: Apache-2.0
@@ -7,4 +6,3 @@
$(call inherit-product, $(DEVICE_PATH)/device-evolution.mk)
DEVICE_PACKAGE_OVERLAYS += $(DEVICE_PATH)/$(DEVICE_CODENAME)/overlay-evolution

13
lynx/device-lineage.mk Normal file
View File

@@ -0,0 +1,13 @@
#
# SPDX-FileCopyrightText: 2021-2024 The LineageOS Project
# SPDX-FileCopyrightText: 2021-2024 The Calyx Institute
# SPDX-License-Identifier: Apache-2.0
#
$(call inherit-product, $(DEVICE_PATH)/device-lineage.mk)
DEVICE_PACKAGE_OVERLAYS += $(DEVICE_PATH)/$(DEVICE_CODENAME)/overlay-lineage
# Init
PRODUCT_PACKAGES += \
init.recovery.lynx.touch.rc

Binary file not shown.

BIN
lynx/display_golden_cal0.pb Normal file

Binary file not shown.

View File

@@ -27,7 +27,10 @@ from extract_utils.main import (
)
namespace_imports = [
'device/google/lynx',
'hardware/google/av',
'hardware/google/gchips',
'hardware/google/graphics/common',
'hardware/google/interfaces',
'hardware/google/pixel',
'hardware/qcom/wlan/wcn6740',
@@ -52,11 +55,6 @@ blob_fixups: blob_fixups_user_type = {
.patch_file('osaifu-keitai.patch'),
'vendor/etc/init/init.modem_logging_control.rc': blob_fixup()
.regex_replace(' && property:ro.debuggable=0', ''),
(
'vendor/etc/init/fingerprint-goodix.rc',
'vendor/etc/init/init.storage.rc',
) : blob_fixup()
.regex_replace('ro.build.type=userdebug', 'ro.debuggable=1'),
} # fmt: skip
extract_fns: extract_fns_user_type = {
@@ -97,13 +95,6 @@ def fix_vendor_file_list(file_list: FileList):
for file_path in module_suffix_file_paths:
file_list.get_file(file_path).set_arg(FileArgs.MODULE_SUFFIX, '_vendor')
powerstats_service_file_path = (
'vendor/bin/hw/android.hardware.power.stats-service.pixel'
)
file_list.get_file(powerstats_service_file_path).set_arg(
FileArgs.REQUIRED, 'pixel_powerstats_xml'
)
module.add_generated_proprietary_file(
'proprietary-files-vendor.txt',

View File

@@ -12,9 +12,9 @@ index 3b78765..00f53cb 100644
--- a/common.cfg
+++ b/common.cfg
@@ -11,6 +11,5 @@
02030001,0
02030002,0
02030003,intent:#Intent;action=android.settings.NFC_SETTINGS;end
02030004,com.android.settings
-00000014,content://com.google.android.pixelnfc.provider.DeviceInfoContentProvider/isJapanSku
-00000015,is_japan_sku
00000016,0001

View File

@@ -1,13 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2019-2026 The Evolution X Project
Copyright (C) 2019-2024 The Evolution X Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- Android version screen, build maintainer -->
<string name="build_maintainer_summary" translatable="false">nhansp</string>
<string name="build_maintainer_donate_url" translatable="false">https://github.com/nhansp</string>
<string name="build_maintainer_summary" translatable="false">Anierin Bliss</string>
<string name="build_maintainer_donate_url" translatable="false">https://PayPal.me/AnierinB</string>
</resources>

View File

@@ -29,8 +29,9 @@
<!-- Height of the status bar.
Do not read this dimen directly. Use {@link SystemBarUtils#getStatusBarHeight} instead.
-->
<dimen name="status_bar_height">41.142857143dp</dimen>
<dimen name="status_bar_height_default">28dp</dimen>
<dimen name="status_bar_height_portrait">118px</dimen>
<dimen name="status_bar_height_portrait">41.142857143dp</dimen>
<dimen name="status_bar_height_landscape">28dp</dimen>
<!-- Adjustment for software rounded corners since corners aren't perfectly round. -->

View File

@@ -23,7 +23,7 @@
<dimen name="status_bar_padding_top">1px</dimen>
<!-- Height of the status bar header bar when on Keyguard (match status_bar_height) -->
<dimen name="status_bar_header_height_keyguard">@*android:dimen/status_bar_height</dimen>
<dimen name="status_bar_header_height_keyguard">28dp</dimen>
<!-- Margin on the left side of the carrier text on Keyguard -->
<dimen name="keyguard_carrier_text_margin">@dimen/status_bar_padding_start</dimen>

Some files were not shown because too many files have changed in this diff Show More