diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-10-16 20:09:23 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-10-16 20:09:23 +0000 |
commit | c8a531f5e179d2f898b57208f4e2482d552ebaad (patch) | |
tree | 3206d1229a163203ec1d325553aeadd1284a3c91 | |
parent | cb5a5ecb001cb84173ffe58e27295402b800b379 (diff) | |
parent | 86e259c1c06d36e4738bdd4df94c5f13c91afa7e (diff) | |
download | lynx-c8a531f5e179d2f898b57208f4e2482d552ebaad.tar.gz |
Snap for 10957012 from 86e259c1c06d36e4738bdd4df94c5f13c91afa7e to simpleperf-release
Change-Id: If44a38b84fae3a86819f83e8b8c0dfa24fb8ed1f
51 files changed, 2258 insertions, 957 deletions
diff --git a/AndroidProducts.mk b/AndroidProducts.mk index 2a82dde..c6046a3 100644 --- a/AndroidProducts.mk +++ b/AndroidProducts.mk @@ -16,6 +16,7 @@ PRODUCT_MAKEFILES := \ $(LOCAL_DIR)/aosp_lynx.mk \ + $(LOCAL_DIR)/aosp_lynx_hwasan.mk \ $(LOCAL_DIR)/factory_lynx.mk COMMON_LUNCH_CHOICES := \ @@ -1 +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=file:device/google/gs-common:master:/OWNERS diff --git a/sensors/Android.mk b/aosp_lynx_hwasan.mk index 46d6f0c..d0845b6 100644 --- a/sensors/Android.mk +++ b/aosp_lynx_hwasan.mk @@ -1,4 +1,5 @@ -# Copyright (C) 2009 The Android Open Source Project +# +# 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. @@ -11,20 +12,12 @@ # 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. +# -LOCAL_PATH := $(call my-dir) - -# HAL module implemenation stored in -# hw/<SENSORS_HARDWARE_MODULE_ID>.<ro.hardware>.so -include $(CLEAR_VARS) - -LOCAL_MODULE_RELATIVE_PATH := hw -LOCAL_SHARED_LIBRARIES := liblog libcutils libhardware -LOCAL_SRC_FILES := sensors_dummy.c -LOCAL_MODULE := sensors.lynx -LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 -LOCAL_LICENSE_CONDITIONS := notice -LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../NOTICE -LOCAL_PROPRIETARY_MODULE := true +$(call inherit-product, device/google/lynx/aosp_lynx.mk) +PRODUCT_NAME := aosp_lynx_hwasan -include $(BUILD_SHARED_LIBRARY) +# Add "hwaddress" as a global sanitizer if it's missing. +ifeq ($(filter hwaddress,$(SANITIZE_TARGET)),) + SANITIZE_TARGET := $(strip $(SANITIZE_TARGET) hwaddress) +endif diff --git a/audio/lynx/aidl_config/audio_platform_configuration_aidl.xml b/audio/lynx/aidl_config/audio_platform_configuration_aidl.xml new file mode 100644 index 0000000..912b4aa --- /dev/null +++ b/audio/lynx/aidl_config/audio_platform_configuration_aidl.xml @@ -0,0 +1,76 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- Copyright (c) 2023, 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> + <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> + + <features> + <feature name="ThermalThrottle=Type:SKIN,Name:VIRTUAL-SKIN" /> + <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> + + <!-- The voip_db_mapping: format is "device="x" value="f1,f2..." --> + <!-- device should be "handset","speaker","usb","bt","bt_hearing_aid" or "digital_dock" --> + <voip_db_mapping> + <voip_path device="usb" value="0.01,0.02,0.04,0.1,0.21,0.47,1.0" /> + </voip_db_mapping> + + <!-- The device_builder: format is "type="x" codec_name="y" argu="z". name and argu are optional. --> + <device_builder> + <device type="bt" /> + <device type="usb" argu="MaxSamplingRate=96000,UnsupportedFormat=S24_LE" /> + <device type="speaker" codec_name="cs35l41" argu="SpeakerNum=4,Rotation,AcousticShockProtection" /> + </device_builder> + + <!-- The spatial_capture_conditions: format is "use_case="x" audio_source="y" --> + <!-- use_case defines in aidl/audio/usecase/use_case.h, audio_source is definied in aidl interfaces. --> + <spatial_capture_conditions> + <conditions use_case="primary-capture" audio_source="MIC,CAMCORDER,VOICE_RECOGNITION" /> + </spatial_capture_conditions> + + <!-- The tuner_builder: format is "type="x" codec_name="y" argu="z". argu is optional. --> + <tuner_builder> + <tuner type="playback" name="waves" argu="Sink=SPK ThermistorsName=VIRTUAL-SKIN" /> + <tuner type="telephony" name="fortemedia" argu="VoIP_DLCHs=SPK:2,USB:2 VoIP_Rate=32000 BOOST_USB_SWB_CLK=y CCA=y" /> + <tuner type="capture" name="gs_capture" /> + </tuner_builder> +</audio_platform_configuration> diff --git a/audio/lynx/aidl_config/audio_policy_configuration.xml b/audio/lynx/aidl_config/audio_policy_configuration.xml new file mode 100644 index 0000000..dfc8577 --- /dev/null +++ b/audio/lynx/aidl_config/audio_policy_configuration.xml @@ -0,0 +1,203 @@ +<?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="immersive_out" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER"> + <profile name="" format="AUDIO_FORMAT_PCM_32_BIT" + 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="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="mmap playback" 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="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="primary input" role="sink"> + <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" + samplingRates="48000" + channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_INDEX_MASK_3" /> + </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="hotword input" role="sink" flags="AUDIO_INPUT_FLAG_HW_HOTWORD"> + <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" + samplingRates="16000" + channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO" /> + </mixPort> + <!-- <mixPort name="mmap capture" 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> --> + + </mixPorts> + <devicePorts> + <!-- Output devices declaration, i.e. Sink DEVICE PORT --> + <devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink" /> + <devicePort tagName="Speaker" type="AUDIO_DEVICE_OUT_SPEAKER" role="sink" /> + <devicePort tagName="Speaker Safe" type="AUDIO_DEVICE_OUT_SPEAKER_SAFE" role="sink" /> + <devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" + role="sink" /> + <devicePort tagName="Wired Headphones" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE" + role="sink" /> + <devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink" /> + <devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" + role="sink" /> + <devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" + role="sink" /> + <devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink" /> + <devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" + role="sink" /> + <devicePort tagName="Aux Digital" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink" /> + <devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink" /> + <!-- Input devices declaration, i.e. Source DEVICE PORT --> + <devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source" /> + <devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" + role="source" /> + <devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" + role="source" /> + <devicePort tagName="BT SCO Headset Mic" + type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source" /> + <devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink" + encodedFormats="AUDIO_FORMAT_OPUS 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_OPUS 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_OPUS 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="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 tagName="USB Headset In" type="AUDIO_DEVICE_IN_USB_HEADSET" + role="source" /> + <!-- 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 tagName="Echo Ref In" type="AUDIO_DEVICE_IN_ECHO_REFERENCE" + role="source" /> + </devicePorts> + <!-- route declaration, i.e. list all available sources for a given sink --> + <routes> + <route type="mix" sink="Earpiece" + sources="primary output,deep buffer,haptic,voip_rx,compressed offload" /> + <route type="mix" sink="Speaker" + sources="primary output,deep buffer,haptic,voip_rx,compressed offload" /> + <route type="mix" sink="Telephony Tx" sources="incall playback" /> + <route type="mix" sink="primary input" + sources="Built-In Mic,Built-In Back Mic" /> + <route type="mix" sink="voip_tx" + sources="Built-In Mic,Built-In Back Mic" /> + <route type="mix" sink="fast input" + sources="Built-In Mic,Built-In Back Mic" /> + <route type="mix" sink="hotword input" sources="Built-In Mic" /> + </routes> + </module> + </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> diff --git a/audio/lynx/aidl_config/audio_policy_volumes.xml b/audio/lynx/aidl_config/audio_policy_volumes.xml new file mode 100644 index 0000000..04e731d --- /dev/null +++ b/audio/lynx/aidl_config/audio_policy_volumes.xml @@ -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> + diff --git a/audio/lynx/aidl_config/mixer_paths_aidl.xml b/audio/lynx/aidl_config/mixer_paths_aidl.xml new file mode 100644 index 0000000..894ef4e --- /dev/null +++ b/audio/lynx/aidl_config/mixer_paths_aidl.xml @@ -0,0 +1,862 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- Copyright (c) 2022, 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_0_RX Mixer IMSV" 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="USB_RX Mixer IMSV" 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="BT_RX Mixer IMSV" 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="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" /> + + <ctl name="Compress Offload Volume" value="1000" /> + <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="primary-playback -> speaker"> + <ctl name="TDM_0_RX Mixer EP2" value="1" /> + </path> + + <path name="primary-playback-0 -> speaker"> + <path name="primary-playback -> speaker" /> + </path> + + <path name="primary-playback-0 -> speaker-earpiece"> + <path name="primary-playback -> speaker" /> + </path> + + <path name="primary-playback-0 -> speaker-safe"> + <path name="primary-playback -> speaker" /> + </path> + + <path name="primary-playback -> bt"> + <ctl name="BT_RX Mixer EP2" value="1" /> + </path> + + <path name="primary-playback -> usb-headset"> + <ctl name="USB_RX Mixer EP2" value="1" /> + </path> + + <path name="raw-playback -> speaker"> + <ctl name="TDM_0_RX Mixer RAW" value="1" /> + </path> + + <path name="raw-playback-0 -> speaker"> + <path name="raw-playback -> speaker" /> + </path> + + <path name="raw-playback-0 -> speaker-earpiece"> + <path name="raw-playback -> speaker" /> + </path> + + <path name="raw-playback-0 -> speaker-safe"> + <path name="raw-playback -> speaker" /> + </path> + + <path name="raw-playback -> bt"> + <ctl name="BT_RX Mixer RAW" value="1" /> + </path> + + <path name="raw-playback -> usb-headset"> + <ctl name="USB_RX Mixer RAW" value="1" /> + </path> + + <path name="deep-buffer-playback -> speaker"> + <ctl name="TDM_0_RX Mixer EP6" value="1" /> + </path> + + <path name="deep-buffer-playback-0 -> speaker"> + <path name="deep-buffer-playback -> speaker" /> + </path> + + <path name="deep-buffer-playback-0 -> speaker-earpiece"> + <path name="deep-buffer-playback -> speaker" /> + </path> + + <path name="deep-buffer-playback-0 -> speaker-safe"> + <path name="deep-buffer-playback -> speaker" /> + </path> + + <path name="deep-buffer-playback -> bt"> + <ctl name="BT_RX Mixer EP6" value="1" /> + </path> + + <path name="deep-buffer-playback -> usb-headset"> + <ctl name="USB_RX Mixer EP6" value="1" /> + </path> + + <path name="compress-offload-playback"> + <ctl name="LVM Enable" value="1" /> + </path> + + <path name="compress-offload-playback -> speaker"> + <path name="compress-offload-playback" /> + <ctl name="TDM_0_RX Mixer EP7" value="1" /> + </path> + + <path name="compress-offload-playback-0 -> speaker"> + <path name="compress-offload-playback -> speaker" /> + </path> + + <path name="compress-offload-playback-0 -> speaker-earpiece"> + <path name="compress-offload-playback -> speaker" /> + </path> + + <path name="compress-offload-playback-0 -> speaker-safe"> + <path name="compress-offload-playback -> speaker" /> + </path> + + <path name="compress-offload-playback -> bt"> + <ctl name="BT_RX Mixer EP7" value="1" /> + </path> + + <path name="compress-offload-playback -> usb-headset"> + <ctl name="USB_RX Mixer EP7" value="1" /> + </path> + + <path name="mmap-playback -> speaker"> + <ctl name="TDM_0_RX Mixer EP1" value="1" /> + </path> + + <path name="mmap-playback-0 -> speaker"> + <path name="mmap-playback -> speaker" /> + </path> + + <path name="mmap-playback-0 -> speaker-earpiece"> + <path name="mmap-playback -> speaker" /> + </path> + + <path name="mmap-playback-0 -> speaker-safe"> + <path name="mmap-playback -> speaker" /> + </path> + + <path name="mmap-playback -> bt"> + <ctl name="BT_RX Mixer EP1" value="1" /> + </path> + + <path name="mmap-playback -> usb-headset"> + <ctl name="USB_RX Mixer EP1" value="1" /> + </path> + + <path name="hifi-playback -> usb-headset"> + <ctl name="USB_RX Mixer HIFI" value="1" /> + </path> + + <path name="voip-playback -> speaker"> + <ctl name="TDM_0_RX Mixer VOIP" value="1" /> + </path> + + <path name="voip-playback-0 -> speaker"> + <path name="voip-playback -> speaker" /> + </path> + + <path name="voip-playback-0 -> speaker-earpiece"> + <path name="voip-playback -> speaker" /> + </path> + + <path name="voip-playback-0 -> speaker-safe"> + <path name="voip-playback -> speaker" /> + </path> + + <path name="voip-playback -> bt"> + <ctl name="BT_RX Mixer VOIP" value="1" /> + </path> + + <path name="voip-playback -> usb-headset"> + <ctl name="USB_RX Mixer VOIP" value="1" /> + </path> + + <path name="immersive-playback -> speaker"> + <ctl name="TDM_0_RX Mixer IMSV" value="1" /> + </path> + + <path name="immersive-playback-0 -> speaker"> + <path name="immersive-playback -> speaker" /> + </path> + + <path name="immersive-playback-0 -> speaker-earpiece"> + <path name="immersive-playback -> speaker" /> + </path> + + <path name="immersive-playback-0 -> speaker-safe"> + <path name="immersive-playback -> speaker" /> + </path> + + <path name="immersive-playback -> bt"> + <ctl name="BT_RX Mixer IMSV" value="1" /> + </path> + + <path name="immersive-playback -> usb-headset"> + <ctl name="USB_RX Mixer IMSV" value="1" /> + </path> + + <path name="haptic-playback -> speaker"> + <ctl name="TDM_0_RX Mixer EP3" value="1" /> + <ctl name="TDM_0_RX Mixer EP8" value="1" /> + </path> + + <path name="haptic-playback-0 -> speaker"> + <path name="haptic-playback -> speaker" /> + </path> + + <path name="haptic-playback-0 -> speaker-earpiece"> + <path name="haptic-playback -> speaker" /> + </path> + + <path name="haptic-playback-0 -> speaker-safe"> + <path name="haptic-playback -> speaker" /> + </path> + + <path name="haptic-playback -> bt"> + <ctl name="BT_RX Mixer EP3" value="1" /> + <ctl name="TDM_0_RX Mixer EP8" value="1" /> + </path> + + <path name="haptic-playback -> usb-headset"> + <ctl name="USB_RX Mixer EP3" value="1" /> + <ctl name="TDM_0_RX Mixer EP8" value="1" /> + </path> + + <!-- audio capture dynamic route --> + <path name="microphones -> primary-capture-0"> + <ctl name="EP1 TX Mixer INTERNAL_MIC_TX" value="1" /> + </path> + + <path name="back-microphones -> primary-capture-0"> + <ctl name="EP1 TX Mixer INTERNAL_MIC_TX" value="1" /> + </path> + + <path name="usb-headset-mic -> primary-capture-0"> + <ctl name="EP1 TX Mixer USB_TX" value="1" /> + </path> + + <path name="microphones -> voip-capture-0"> + <ctl name="VOIP TX Mixer INTERNAL_MIC_TX" value="1" /> + </path> + + <path name="back-microphones -> voip-capture-0"> + <ctl name="VOIP TX Mixer INTERNAL_MIC_TX" value="1" /> + </path> + + <path name="usb-headset-mic -> voip-capture-0"> + <ctl name="VOIP TX Mixer USB_TX" value="1" /> + </path> + + <path name="bt-mic -> voip-capture-0"> + <ctl name="VOIP TX Mixer BT_TX" value="1" /> + </path> + + <path name="microphones -> fast-capture-0"> + <ctl name="EP3 TX Mixer INTERNAL_MIC_TX" value="1" /> + </path> + + <path name="back-microphones -> fast-capture-0"> + <ctl name="EP3 TX Mixer INTERNAL_MIC_TX" value="1" /> + </path> + + <path name="usb-headset-mic -> fast-capture-0"> + <ctl name="EP3 TX Mixer USB_TX" value="1" /> + </path> + + <path name="bt-mic -> fast-capture-0"> + <ctl name="EP3 TX Mixer BT_TX" value="1" /> + </path> + + <path name="microphones -> sound-trigger-capture-0"> + </path> + + <!-- voice-call dynamic route --> + <path name="voice-call-downlink-0 -> speaker"> + <ctl name="TDM_0_RX Mixer EP5" value="1" /> + </path> + + <path name="voice-call-downlink-0 -> speaker-earpiece"> + <ctl name="TDM_0_RX Mixer EP5" value="1" /> + </path> + + <path name="voice-call-downlink-0 -> bt"> + <ctl name="BT_RX Mixer EP5" value="1" /> + </path> + + <path name="voice-call-downlink-0 -> usb-headphone"> + <ctl name="USB_RX Mixer EP5" value="1" /> + </path> + + <path name="voice-call-downlink-0 -> null-sink"> + <ctl name="INCALL_RX Mixer EP5" value="1" /> + </path> + + <path name="microphones -> voice-call-uplink-0"> + <ctl name="EP4 TX Mixer INTERNAL_MIC_TX" value="1" /> + </path> + + <path name="back-microphones -> voice-call-uplink-0"> + <ctl name="EP4 TX Mixer INTERNAL_MIC_TX" value="1" /> + </path> + + <path name="usb-headset-mic -> voice-call-uplink-0"> + <ctl name="EP4 TX Mixer USB_TX" value="1" /> + </path> + + <path name="bt-mic -> voice-call-uplink-0"> + <ctl name="EP4 TX Mixer BT_TX" value="1" /> + </path> + + <path name="null-source -> voice-call-uplink-0"> + <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 -> in-call-capture-0" /> + <path name="telephony-rx -> in-call-capture-1" /> + <path name="telephony-rx -> in-call-capture-2" /> + + <path name="microphones -> mmap-capture-0"> + <ctl name="EP2 TX Mixer INTERNAL_MIC_TX" value="1" /> + </path> + + <path name="usb-headset-mic -> mmap-capture-0"> + <ctl name="EP2 TX Mixer USB_TX" value="1" /> + </path> + + <path name="bt-mic -> mmap-capture-0"> + <ctl name="EP2 TX Mixer BT_TX" value="1" /> + </path> + + <!-- codec setting --> + <!-- Rx device --> + <path name="speaker-earpiece"> + <ctl name="PCM Source" value="ASP" /> + <ctl name="AMP PCM Gain" value="6" /> + <ctl name="Main AMP Enable Switch" value="1" /> + </path> + + <path name="speaker-earpiece (VOICE)"> + <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="speaker"> + <ctl name="Boost Peak Current Limit" value="2.50A" /> + <ctl name="R Boost Peak Current Limit" value="2.50A" /> + <ctl name="Main AMP Enable Switch" value="1" /> + <ctl name="R Main AMP Enable Switch" value="1" /> + <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="speaker (VOICE)"> + <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 DSP RX2 Source" value="ASPRX2"/>--> + <ctl name="R Main AMP Enable Switch" value="1" /> + <ctl name="Main AMP Enable Switch" value="1" /> + <!-- 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="speaker-safe"> + <ctl name="R Boost Peak Current Limit" value="3.50A" /> + <ctl name="R Main AMP Enable Switch" value="1" /> + <!-- 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> + + <!-- Tx device --> + <path name="microphones"> + <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 Record Soft Gain (dB)" value="22" /> + </path> + + <path name="microphones (VOICE)"> + <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" /> + <ctl name="MIC Record Soft Gain (dB)" value="0" /> + </path> + + <path name="back-microphones"> + <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 Record Soft Gain (dB)" value="22" /> + </path> + + <path name="back-microphones (VOICE)"> + <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" /> + <ctl name="MIC Record Soft Gain (dB)" value="0" /> + </path> + + <path name="microphones (CAMCORDER)"> + <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 Record Soft Gain (dB)" value="0"/> + </path> + + <path name="back-microphones (CAMCORDER)"> + <path name="microphones (CAMCORDER)" /> + </path> + + <path name="camcorder-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 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="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 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="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="Audio Capture Mic Source" value="ERASER" /> + <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="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 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="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 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="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 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="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="Audio Capture Mic Source" value="BT_MIC" /> + <ctl name="Voice Call Mic Source" value="BT_MIC" /> + <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="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="Audio Capture Mic Source" value="USB_MIC" /> + <ctl name="Voice Call Mic Source" value="USB_MIC" /> + <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> diff --git a/audio/lynx/audio-tables.mk b/audio/lynx/audio-tables.mk index 812dbce..f8c1da5 100644 --- a/audio/lynx/audio-tables.mk +++ b/audio/lynx/audio-tables.mk @@ -16,6 +16,16 @@ 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_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \ + device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/aidl_config/audio_platform_configuration_aidl.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_configuration_aidl.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 \ @@ -34,6 +44,7 @@ PRODUCT_COPY_FILES += \ # 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 @@ -44,6 +55,7 @@ PRODUCT_COPY_FILES += $(call copy-files,$(wildcard $(SPK_FIRMWARE_FULL_PATH)/*) # 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 \ diff --git a/audio/lynx/config/audio_effects.xml b/audio/lynx/config/audio_effects.xml index 1718057..9c2ba29 100644 --- a/audio/lynx/config/audio_effects.xml +++ b/audio/lynx/config/audio_effects.xml @@ -5,7 +5,7 @@ <library name="reverb" path="libreverbwrapper.so"/> <library name="visualizer_sw" path="libvisualizer.so"/> <library name="downmix" path="libdownmix.so"/> - <library name="dynamics_processing" path="libdynproc.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"/> @@ -45,12 +45,15 @@ <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"/> - <effect name="dynamics_processing" library="dynamics_processing" uuid="e0e6539b-1781-7261-676f-6d7573696340"/> </effects> <postprocess> </postprocess> diff --git a/audio/lynx/config/audio_platform_configuration.xml b/audio/lynx/config/audio_platform_configuration.xml index 1a3aba5..5443432 100644 --- a/audio/lynx/config/audio_platform_configuration.xml +++ b/audio/lynx/config/audio_platform_configuration.xml @@ -286,7 +286,7 @@ <device_handle> <handler libname="audio_bt_aoc.so"/> - <handler libname="audio_usb_aoc.so" argu="MaxSamplingRate=96000,UnsupportedFormat=S24_LE"/> + <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> diff --git a/audio/lynx/config/audio_policy_configuration.xml b/audio/lynx/config/audio_policy_configuration.xml index 82bad3c..527b603 100644 --- a/audio/lynx/config/audio_policy_configuration.xml +++ b/audio/lynx/config/audio_policy_configuration.xml @@ -209,27 +209,27 @@ <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"/> + 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"/> + 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"/> + 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"/> + 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"/> + 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"/> + 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"/> + 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"/> + 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"/> + 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"/> @@ -240,9 +240,9 @@ <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"/> + 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"/> + 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> diff --git a/audio/lynx/config/audio_policy_configuration_a2dp_offload_disabled.xml b/audio/lynx/config/audio_policy_configuration_a2dp_offload_disabled.xml index 2f1812c..5c80141 100644 --- a/audio/lynx/config/audio_policy_configuration_a2dp_offload_disabled.xml +++ b/audio/lynx/config/audio_policy_configuration_a2dp_offload_disabled.xml @@ -181,11 +181,11 @@ <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"/> + 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"/> + 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"/> + 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"/> @@ -196,9 +196,9 @@ <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"/> + 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"/> + 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> diff --git a/audio/lynx/config/audio_policy_configuration_bluetooth_legacy_hal.xml b/audio/lynx/config/audio_policy_configuration_bluetooth_legacy_hal.xml index ce3be39..5ef0148 100644 --- a/audio/lynx/config/audio_policy_configuration_bluetooth_legacy_hal.xml +++ b/audio/lynx/config/audio_policy_configuration_bluetooth_legacy_hal.xml @@ -181,11 +181,11 @@ <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"/> + 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"/> + 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"/> + 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"/> @@ -196,9 +196,9 @@ <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"/> + 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"/> + 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> diff --git a/audio/lynx/config/audio_policy_configuration_le_offload_disabled.xml b/audio/lynx/config/audio_policy_configuration_le_offload_disabled.xml index a16256d..846282e 100644 --- a/audio/lynx/config/audio_policy_configuration_le_offload_disabled.xml +++ b/audio/lynx/config/audio_policy_configuration_le_offload_disabled.xml @@ -64,6 +64,10 @@ <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" @@ -186,27 +190,27 @@ <!-- 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"/> + 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,mmap_no_irq_out,voip_rx,compressed_offload"/> + 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,mmap_no_irq_out,voip_rx,compressed_offload"/> + 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,voip_rx,compressed_offload,raw,mmap_no_irq_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,voip_rx,compressed_offload,raw,mmap_no_irq_out"/> + 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,voip_rx,compressed_offload,raw,mmap_no_irq_out"/> + 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,mmap_no_irq_out,voip_rx,hifi_playback,compressed_offload"/> + 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,mmap_no_irq_out,voip_rx,hifi_playback,compressed_offload"/> + 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,voip_rx,compressed_offload,raw,mmap_no_irq_out"/> + 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,voip_rx,compressed_offload,raw,mmap_no_irq_out"/> + 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,voip_rx,compressed_offload,raw,mmap_no_irq_out"/> + 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"/> diff --git a/audio/lynx/config/mixer_paths.xml b/audio/lynx/config/mixer_paths.xml index 45df0f8..bec5b6e 100644 --- a/audio/lynx/config/mixer_paths.xml +++ b/audio/lynx/config/mixer_paths.xml @@ -162,6 +162,7 @@ <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"/> @@ -396,6 +397,10 @@ <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> @@ -410,6 +415,10 @@ <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> @@ -596,6 +605,10 @@ <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> @@ -604,6 +617,10 @@ <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"> diff --git a/audio/lynx/tuning/bluenote/smartfeature.gstf b/audio/lynx/tuning/bluenote/smartfeature.gstf Binary files differnew file mode 100644 index 0000000..d174ae3 --- /dev/null +++ b/audio/lynx/tuning/bluenote/smartfeature.gstf diff --git a/audio/lynx/tuning/fortemedia/BLUETOOTH.dat b/audio/lynx/tuning/fortemedia/BLUETOOTH.dat Binary files differindex 93eeb03..4c24529 100644 --- a/audio/lynx/tuning/fortemedia/BLUETOOTH.dat +++ b/audio/lynx/tuning/fortemedia/BLUETOOTH.dat diff --git a/audio/lynx/tuning/fortemedia/BLUETOOTH.mods b/audio/lynx/tuning/fortemedia/BLUETOOTH.mods index 13ab499..06401da 100644 --- a/audio/lynx/tuning/fortemedia/BLUETOOTH.mods +++ b/audio/lynx/tuning/fortemedia/BLUETOOTH.mods @@ -1,7 +1,7 @@ #PLATFORM_NAME gChip
#EXPORT_FLAG BLUETOOTH
#SINGLE_API_VER 1.2.1
-#SAVE_TIME 2023-03-22 15:50:15
+#SAVE_TIME 2023-04-18 16:05:27
#CASE_NAME BLUETOOTH-BT_HAC-VOICE_GENERIC-NB
#PARAM_MODE FULL
@@ -2680,7 +2680,7 @@ #TX
0 0x0001 //TX_OPERATION_MODE_0
1 0x0001 //TX_OPERATION_MODE_1
-2 0x0073 //TX_PATCH_REG
+2 0x00F3 //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0002 //TX_NUM_MIC
@@ -2875,10 +2875,10 @@ 194 0x0000 //TX_NORMENERTH
195 0x0000 //TX_NORMENERHIGHTH
196 0x0000 //TX_NORMENERHIGHTHL
-197 0x7FF0 //TX_DTD_THR1_0
-198 0x7FF0 //TX_DTD_THR1_1
+197 0x7333 //TX_DTD_THR1_0
+198 0x7333 //TX_DTD_THR1_1
199 0x7FF0 //TX_DTD_THR1_2
-200 0x6D60 //TX_DTD_THR1_3
+200 0x7FF0 //TX_DTD_THR1_3
201 0x7FF0 //TX_DTD_THR1_4
202 0x7FF0 //TX_DTD_THR1_5
203 0x7FF0 //TX_DTD_THR1_6
@@ -2922,7 +2922,7 @@ 241 0x0000 //TX_DT_RESRV_9
242 0xF800 //TX_THR_SN_EST_0
243 0xFA00 //TX_THR_SN_EST_1
-244 0xFA00 //TX_THR_SN_EST_2
+244 0xFC00 //TX_THR_SN_EST_2
245 0xF200 //TX_THR_SN_EST_3
246 0xFA00 //TX_THR_SN_EST_4
247 0xFA00 //TX_THR_SN_EST_5
@@ -2931,7 +2931,7 @@ 250 0x0100 //TX_DELTA_THR_SN_EST_0
251 0x0100 //TX_DELTA_THR_SN_EST_1
252 0x0200 //TX_DELTA_THR_SN_EST_2
-253 0x0100 //TX_DELTA_THR_SN_EST_3
+253 0x0400 //TX_DELTA_THR_SN_EST_3
254 0x0100 //TX_DELTA_THR_SN_EST_4
255 0x0200 //TX_DELTA_THR_SN_EST_5
256 0x0200 //TX_DELTA_THR_SN_EST_6
@@ -2968,20 +2968,20 @@ 287 0x0014 //TX_NS_LVL_CTRL_6
288 0x0011 //TX_NS_LVL_CTRL_7
289 0x000F //TX_MIN_GAIN_S_0
-290 0x0010 //TX_MIN_GAIN_S_1
+290 0x0020 //TX_MIN_GAIN_S_1
291 0x0010 //TX_MIN_GAIN_S_2
292 0x0010 //TX_MIN_GAIN_S_3
293 0x0010 //TX_MIN_GAIN_S_4
294 0x0010 //TX_MIN_GAIN_S_5
295 0x0010 //TX_MIN_GAIN_S_6
296 0x000F //TX_MIN_GAIN_S_7
-297 0x6000 //TX_NMOS_SUP
+297 0x2000 //TX_NMOS_SUP
298 0x0000 //TX_NS_MAX_PRI_SNR_TH
299 0x0000 //TX_NMOS_SUP_MENSA
-300 0x7FFF //TX_SNRI_SUP_0
+300 0x4000 //TX_SNRI_SUP_0
301 0x2000 //TX_SNRI_SUP_1
302 0x2000 //TX_SNRI_SUP_2
-303 0x4000 //TX_SNRI_SUP_3
+303 0x2000 //TX_SNRI_SUP_3
304 0x4000 //TX_SNRI_SUP_4
305 0x50C0 //TX_SNRI_SUP_5
306 0x2000 //TX_SNRI_SUP_6
@@ -2995,15 +2995,15 @@ 314 0x5000 //TX_A_POST_FILT_S_0
315 0x4C00 //TX_A_POST_FILT_S_1
316 0x4000 //TX_A_POST_FILT_S_2
-317 0x2000 //TX_A_POST_FILT_S_3
+317 0x6000 //TX_A_POST_FILT_S_3
318 0x4000 //TX_A_POST_FILT_S_4
319 0x5000 //TX_A_POST_FILT_S_5
320 0x6000 //TX_A_POST_FILT_S_6
321 0x7000 //TX_A_POST_FILT_S_7
322 0x2000 //TX_B_POST_FILT_0
-323 0x2000 //TX_B_POST_FILT_1
+323 0x4000 //TX_B_POST_FILT_1
324 0x2000 //TX_B_POST_FILT_2
-325 0x2000 //TX_B_POST_FILT_3
+325 0x7FFF //TX_B_POST_FILT_3
326 0x4000 //TX_B_POST_FILT_4
327 0x1000 //TX_B_POST_FILT_5
328 0x1000 //TX_B_POST_FILT_6
@@ -3018,9 +3018,9 @@ 337 0x7FFF //TX_B_LESSCUT_RTO_S_7
338 0x7C00 //TX_LAMBDA_PFILT
339 0x7C00 //TX_LAMBDA_PFILT_S_0
-340 0x7C00 //TX_LAMBDA_PFILT_S_1
-341 0x7A00 //TX_LAMBDA_PFILT_S_2
-342 0x7800 //TX_LAMBDA_PFILT_S_3
+340 0x7E00 //TX_LAMBDA_PFILT_S_1
+341 0x7E00 //TX_LAMBDA_PFILT_S_2
+342 0x7D00 //TX_LAMBDA_PFILT_S_3
343 0x7C00 //TX_LAMBDA_PFILT_S_4
344 0x7C00 //TX_LAMBDA_PFILT_S_5
345 0x7C00 //TX_LAMBDA_PFILT_S_6
@@ -3045,12 +3045,12 @@ 364 0x0000 //TX_K_APT
365 0x0001 //TX_NOISEDET
366 0x0064 //TX_NDETCT
-367 0x0032 //TX_NOISE_TH_0
+367 0x001E //TX_NOISE_TH_0
368 0x7FFF //TX_NOISE_TH_0_2
369 0x7FFF //TX_NOISE_TH_0_3
370 0x0320 //TX_NOISE_TH_1
-371 0x0230 //TX_NOISE_TH_2
-372 0x2CEC //TX_NOISE_TH_3
+371 0x0384 //TX_NOISE_TH_2
+372 0x2904 //TX_NOISE_TH_3
373 0x3E80 //TX_NOISE_TH_4
374 0x7FFF //TX_NOISE_TH_5
375 0x7FFF //TX_NOISE_TH_5_2
@@ -3084,7 +3084,7 @@ 403 0x4000 //TX_POST_MASK_SUP
404 0x7FFF //TX_POST_MASK_ADJUST
405 0x00C8 //TX_NS_ENOISE_MIC0_TH
-406 0x0033 //TX_MINENOISE_MIC0_TH
+406 0x001E //TX_MINENOISE_MIC0_TH
407 0x012C //TX_MINENOISE_MIC0_S_TH
408 0x7FFF //TX_MIN_G_CTRL_SSNS
409 0x0000 //TX_METAL_RTO_THR
@@ -3622,8 +3622,8 @@ 941 0x0008 //TX_MIC1MUTE_CVG_TIME
942 0x0008 //TX_MIC1MUTE_RELEASE_TIME
943 0x0100 //TX_AMS_RESRV_01
-944 0xE4A8 //TX_AMS_RESRV_02
-945 0x7EF4 //TX_AMS_RESRV_03
+944 0xE0C0 //TX_AMS_RESRV_02
+945 0x2710 //TX_AMS_RESRV_03
946 0x0000 //TX_AMS_RESRV_04
947 0x0000 //TX_AMS_RESRV_05
948 0x0000 //TX_AMS_RESRV_06
diff --git a/audio/lynx/tuning/fortemedia/HANDSFREE.dat b/audio/lynx/tuning/fortemedia/HANDSFREE.dat Binary files differindex 9d15e8e..f6f5afb 100644 --- a/audio/lynx/tuning/fortemedia/HANDSFREE.dat +++ b/audio/lynx/tuning/fortemedia/HANDSFREE.dat diff --git a/audio/lynx/tuning/fortemedia/HANDSFREE.mods b/audio/lynx/tuning/fortemedia/HANDSFREE.mods index 39c21d1..dc42412 100644 --- a/audio/lynx/tuning/fortemedia/HANDSFREE.mods +++ b/audio/lynx/tuning/fortemedia/HANDSFREE.mods @@ -1,7 +1,7 @@ #PLATFORM_NAME gChip
#EXPORT_FLAG HANDSFREE
#SINGLE_API_VER 1.2.1
-#SAVE_TIME 2023-03-22 15:41:43
+#SAVE_TIME 2023-04-18 16:04:40
#CASE_NAME HANDSFREE-HANDSFREE-VOICE_GENERIC-NB
#PARAM_MODE FULL
@@ -2680,7 +2680,7 @@ #TX
0 0x0001 //TX_OPERATION_MODE_0
1 0x0001 //TX_OPERATION_MODE_1
-2 0x0073 //TX_PATCH_REG
+2 0x00F3 //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0002 //TX_NUM_MIC
@@ -2875,8 +2875,8 @@ 194 0x0000 //TX_NORMENERTH
195 0x0000 //TX_NORMENERHIGHTH
196 0x0000 //TX_NORMENERHIGHTHL
-197 0x7FD5 //TX_DTD_THR1_0
-198 0x7EF4 //TX_DTD_THR1_1
+197 0x7333 //TX_DTD_THR1_0
+198 0x7333 //TX_DTD_THR1_1
199 0x7FF0 //TX_DTD_THR1_2
200 0x7FF0 //TX_DTD_THR1_3
201 0x7FF0 //TX_DTD_THR1_4
@@ -2922,7 +2922,7 @@ 241 0x0000 //TX_DT_RESRV_9
242 0xF800 //TX_THR_SN_EST_0
243 0xFA00 //TX_THR_SN_EST_1
-244 0xFA00 //TX_THR_SN_EST_2
+244 0xFC00 //TX_THR_SN_EST_2
245 0xF200 //TX_THR_SN_EST_3
246 0xFA00 //TX_THR_SN_EST_4
247 0xFA00 //TX_THR_SN_EST_5
@@ -2931,7 +2931,7 @@ 250 0x0100 //TX_DELTA_THR_SN_EST_0
251 0x0100 //TX_DELTA_THR_SN_EST_1
252 0x0200 //TX_DELTA_THR_SN_EST_2
-253 0x0100 //TX_DELTA_THR_SN_EST_3
+253 0x0400 //TX_DELTA_THR_SN_EST_3
254 0x0100 //TX_DELTA_THR_SN_EST_4
255 0x0200 //TX_DELTA_THR_SN_EST_5
256 0x0200 //TX_DELTA_THR_SN_EST_6
@@ -2968,20 +2968,20 @@ 287 0x0014 //TX_NS_LVL_CTRL_6
288 0x0011 //TX_NS_LVL_CTRL_7
289 0x000F //TX_MIN_GAIN_S_0
-290 0x0010 //TX_MIN_GAIN_S_1
+290 0x0020 //TX_MIN_GAIN_S_1
291 0x0010 //TX_MIN_GAIN_S_2
292 0x0010 //TX_MIN_GAIN_S_3
293 0x0010 //TX_MIN_GAIN_S_4
294 0x0010 //TX_MIN_GAIN_S_5
295 0x0010 //TX_MIN_GAIN_S_6
296 0x000F //TX_MIN_GAIN_S_7
-297 0x6000 //TX_NMOS_SUP
+297 0x2000 //TX_NMOS_SUP
298 0x0000 //TX_NS_MAX_PRI_SNR_TH
299 0x0000 //TX_NMOS_SUP_MENSA
-300 0x7FFF //TX_SNRI_SUP_0
+300 0x4000 //TX_SNRI_SUP_0
301 0x2000 //TX_SNRI_SUP_1
302 0x2000 //TX_SNRI_SUP_2
-303 0x4000 //TX_SNRI_SUP_3
+303 0x2000 //TX_SNRI_SUP_3
304 0x4000 //TX_SNRI_SUP_4
305 0x50C0 //TX_SNRI_SUP_5
306 0x2000 //TX_SNRI_SUP_6
@@ -2995,15 +2995,15 @@ 314 0x5000 //TX_A_POST_FILT_S_0
315 0x4C00 //TX_A_POST_FILT_S_1
316 0x4000 //TX_A_POST_FILT_S_2
-317 0x2000 //TX_A_POST_FILT_S_3
+317 0x6000 //TX_A_POST_FILT_S_3
318 0x4000 //TX_A_POST_FILT_S_4
319 0x5000 //TX_A_POST_FILT_S_5
320 0x6000 //TX_A_POST_FILT_S_6
321 0x7000 //TX_A_POST_FILT_S_7
322 0x2000 //TX_B_POST_FILT_0
-323 0x2000 //TX_B_POST_FILT_1
+323 0x4000 //TX_B_POST_FILT_1
324 0x2000 //TX_B_POST_FILT_2
-325 0x2000 //TX_B_POST_FILT_3
+325 0x7FFF //TX_B_POST_FILT_3
326 0x4000 //TX_B_POST_FILT_4
327 0x1000 //TX_B_POST_FILT_5
328 0x1000 //TX_B_POST_FILT_6
@@ -3018,9 +3018,9 @@ 337 0x7FFF //TX_B_LESSCUT_RTO_S_7
338 0x7C00 //TX_LAMBDA_PFILT
339 0x7C00 //TX_LAMBDA_PFILT_S_0
-340 0x7C00 //TX_LAMBDA_PFILT_S_1
-341 0x7A00 //TX_LAMBDA_PFILT_S_2
-342 0x7800 //TX_LAMBDA_PFILT_S_3
+340 0x7E00 //TX_LAMBDA_PFILT_S_1
+341 0x7E00 //TX_LAMBDA_PFILT_S_2
+342 0x7D00 //TX_LAMBDA_PFILT_S_3
343 0x7C00 //TX_LAMBDA_PFILT_S_4
344 0x7C00 //TX_LAMBDA_PFILT_S_5
345 0x7C00 //TX_LAMBDA_PFILT_S_6
@@ -3045,12 +3045,12 @@ 364 0x0000 //TX_K_APT
365 0x0001 //TX_NOISEDET
366 0x0064 //TX_NDETCT
-367 0x0032 //TX_NOISE_TH_0
+367 0x001E //TX_NOISE_TH_0
368 0x7FFF //TX_NOISE_TH_0_2
369 0x7FFF //TX_NOISE_TH_0_3
370 0x0320 //TX_NOISE_TH_1
-371 0x0230 //TX_NOISE_TH_2
-372 0x2CEC //TX_NOISE_TH_3
+371 0x0384 //TX_NOISE_TH_2
+372 0x2904 //TX_NOISE_TH_3
373 0x3E80 //TX_NOISE_TH_4
374 0x7FFF //TX_NOISE_TH_5
375 0x7FFF //TX_NOISE_TH_5_2
@@ -3084,7 +3084,7 @@ 403 0x4000 //TX_POST_MASK_SUP
404 0x7FFF //TX_POST_MASK_ADJUST
405 0x00C8 //TX_NS_ENOISE_MIC0_TH
-406 0x0033 //TX_MINENOISE_MIC0_TH
+406 0x001E //TX_MINENOISE_MIC0_TH
407 0x012C //TX_MINENOISE_MIC0_S_TH
408 0x7FFF //TX_MIN_G_CTRL_SSNS
409 0x0000 //TX_METAL_RTO_THR
diff --git a/audio/lynx/tuning/fortemedia/HEADSET.dat b/audio/lynx/tuning/fortemedia/HEADSET.dat Binary files differindex 3f64c37..5ff7a8e 100644 --- a/audio/lynx/tuning/fortemedia/HEADSET.dat +++ b/audio/lynx/tuning/fortemedia/HEADSET.dat diff --git a/audio/lynx/tuning/fortemedia/HEADSET.mods b/audio/lynx/tuning/fortemedia/HEADSET.mods index b953e9e..7ce97f0 100644 --- a/audio/lynx/tuning/fortemedia/HEADSET.mods +++ b/audio/lynx/tuning/fortemedia/HEADSET.mods @@ -1,7 +1,7 @@ #PLATFORM_NAME gChip
#EXPORT_FLAG HEADSET
#SINGLE_API_VER 1.2.1
-#SAVE_TIME 2023-03-22 15:50:48
+#SAVE_TIME 2023-04-18 16:05:05
#CASE_NAME HEADSET-USB_BLACKBIRD-VOICE_GENERIC-NB
#PARAM_MODE FULL
@@ -29380,7 +29380,7 @@ #TX
0 0x0001 //TX_OPERATION_MODE_0
1 0x0001 //TX_OPERATION_MODE_1
-2 0x0073 //TX_PATCH_REG
+2 0x00F3 //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0002 //TX_NUM_MIC
@@ -29575,10 +29575,10 @@ 194 0x0000 //TX_NORMENERTH
195 0x0000 //TX_NORMENERHIGHTH
196 0x0000 //TX_NORMENERHIGHTHL
-197 0x7FF0 //TX_DTD_THR1_0
-198 0x7FF0 //TX_DTD_THR1_1
+197 0x7333 //TX_DTD_THR1_0
+198 0x7333 //TX_DTD_THR1_1
199 0x7FF0 //TX_DTD_THR1_2
-200 0x6D60 //TX_DTD_THR1_3
+200 0x7FF0 //TX_DTD_THR1_3
201 0x7FF0 //TX_DTD_THR1_4
202 0x7FF0 //TX_DTD_THR1_5
203 0x7FF0 //TX_DTD_THR1_6
@@ -29622,7 +29622,7 @@ 241 0x0000 //TX_DT_RESRV_9
242 0xF800 //TX_THR_SN_EST_0
243 0xFA00 //TX_THR_SN_EST_1
-244 0xFA00 //TX_THR_SN_EST_2
+244 0xFC00 //TX_THR_SN_EST_2
245 0xF200 //TX_THR_SN_EST_3
246 0xFA00 //TX_THR_SN_EST_4
247 0xFA00 //TX_THR_SN_EST_5
@@ -29631,7 +29631,7 @@ 250 0x0100 //TX_DELTA_THR_SN_EST_0
251 0x0100 //TX_DELTA_THR_SN_EST_1
252 0x0200 //TX_DELTA_THR_SN_EST_2
-253 0x0100 //TX_DELTA_THR_SN_EST_3
+253 0x0400 //TX_DELTA_THR_SN_EST_3
254 0x0100 //TX_DELTA_THR_SN_EST_4
255 0x0200 //TX_DELTA_THR_SN_EST_5
256 0x0200 //TX_DELTA_THR_SN_EST_6
@@ -29668,20 +29668,20 @@ 287 0x0014 //TX_NS_LVL_CTRL_6
288 0x0011 //TX_NS_LVL_CTRL_7
289 0x000F //TX_MIN_GAIN_S_0
-290 0x0010 //TX_MIN_GAIN_S_1
+290 0x0020 //TX_MIN_GAIN_S_1
291 0x0010 //TX_MIN_GAIN_S_2
292 0x0010 //TX_MIN_GAIN_S_3
293 0x0010 //TX_MIN_GAIN_S_4
294 0x0010 //TX_MIN_GAIN_S_5
295 0x0010 //TX_MIN_GAIN_S_6
296 0x000F //TX_MIN_GAIN_S_7
-297 0x6000 //TX_NMOS_SUP
+297 0x2000 //TX_NMOS_SUP
298 0x0000 //TX_NS_MAX_PRI_SNR_TH
299 0x0000 //TX_NMOS_SUP_MENSA
-300 0x7FFF //TX_SNRI_SUP_0
+300 0x4000 //TX_SNRI_SUP_0
301 0x2000 //TX_SNRI_SUP_1
302 0x2000 //TX_SNRI_SUP_2
-303 0x4000 //TX_SNRI_SUP_3
+303 0x2000 //TX_SNRI_SUP_3
304 0x4000 //TX_SNRI_SUP_4
305 0x50C0 //TX_SNRI_SUP_5
306 0x2000 //TX_SNRI_SUP_6
@@ -29695,15 +29695,15 @@ 314 0x5000 //TX_A_POST_FILT_S_0
315 0x4C00 //TX_A_POST_FILT_S_1
316 0x4000 //TX_A_POST_FILT_S_2
-317 0x2000 //TX_A_POST_FILT_S_3
+317 0x6000 //TX_A_POST_FILT_S_3
318 0x4000 //TX_A_POST_FILT_S_4
319 0x5000 //TX_A_POST_FILT_S_5
320 0x6000 //TX_A_POST_FILT_S_6
321 0x7000 //TX_A_POST_FILT_S_7
322 0x2000 //TX_B_POST_FILT_0
-323 0x2000 //TX_B_POST_FILT_1
+323 0x4000 //TX_B_POST_FILT_1
324 0x2000 //TX_B_POST_FILT_2
-325 0x2000 //TX_B_POST_FILT_3
+325 0x7FFF //TX_B_POST_FILT_3
326 0x4000 //TX_B_POST_FILT_4
327 0x1000 //TX_B_POST_FILT_5
328 0x1000 //TX_B_POST_FILT_6
@@ -29718,9 +29718,9 @@ 337 0x7FFF //TX_B_LESSCUT_RTO_S_7
338 0x7C00 //TX_LAMBDA_PFILT
339 0x7C00 //TX_LAMBDA_PFILT_S_0
-340 0x7C00 //TX_LAMBDA_PFILT_S_1
-341 0x7A00 //TX_LAMBDA_PFILT_S_2
-342 0x7800 //TX_LAMBDA_PFILT_S_3
+340 0x7E00 //TX_LAMBDA_PFILT_S_1
+341 0x7E00 //TX_LAMBDA_PFILT_S_2
+342 0x7D00 //TX_LAMBDA_PFILT_S_3
343 0x7C00 //TX_LAMBDA_PFILT_S_4
344 0x7C00 //TX_LAMBDA_PFILT_S_5
345 0x7C00 //TX_LAMBDA_PFILT_S_6
@@ -29745,12 +29745,12 @@ 364 0x0000 //TX_K_APT
365 0x0001 //TX_NOISEDET
366 0x0064 //TX_NDETCT
-367 0x0032 //TX_NOISE_TH_0
+367 0x001E //TX_NOISE_TH_0
368 0x7FFF //TX_NOISE_TH_0_2
369 0x7FFF //TX_NOISE_TH_0_3
370 0x0320 //TX_NOISE_TH_1
-371 0x0230 //TX_NOISE_TH_2
-372 0x2CEC //TX_NOISE_TH_3
+371 0x0384 //TX_NOISE_TH_2
+372 0x2904 //TX_NOISE_TH_3
373 0x3E80 //TX_NOISE_TH_4
374 0x7FFF //TX_NOISE_TH_5
375 0x7FFF //TX_NOISE_TH_5_2
@@ -29784,7 +29784,7 @@ 403 0x4000 //TX_POST_MASK_SUP
404 0x7FFF //TX_POST_MASK_ADJUST
405 0x00C8 //TX_NS_ENOISE_MIC0_TH
-406 0x0033 //TX_MINENOISE_MIC0_TH
+406 0x001E //TX_MINENOISE_MIC0_TH
407 0x012C //TX_MINENOISE_MIC0_S_TH
408 0x7FFF //TX_MIN_G_CTRL_SSNS
409 0x0000 //TX_METAL_RTO_THR
@@ -30322,8 +30322,8 @@ 941 0x0008 //TX_MIC1MUTE_CVG_TIME
942 0x0008 //TX_MIC1MUTE_RELEASE_TIME
943 0x0100 //TX_AMS_RESRV_01
-944 0xE4A8 //TX_AMS_RESRV_02
-945 0x7EF4 //TX_AMS_RESRV_03
+944 0xE0C0 //TX_AMS_RESRV_02
+945 0x2710 //TX_AMS_RESRV_03
946 0x0000 //TX_AMS_RESRV_04
947 0x0000 //TX_AMS_RESRV_05
948 0x0000 //TX_AMS_RESRV_06
@@ -69430,7 +69430,7 @@ #TX
0 0x0001 //TX_OPERATION_MODE_0
1 0x0001 //TX_OPERATION_MODE_1
-2 0x0073 //TX_PATCH_REG
+2 0x00F3 //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0002 //TX_NUM_MIC
@@ -69625,10 +69625,10 @@ 194 0x0000 //TX_NORMENERTH
195 0x0000 //TX_NORMENERHIGHTH
196 0x0000 //TX_NORMENERHIGHTHL
-197 0x7FF0 //TX_DTD_THR1_0
-198 0x7FF0 //TX_DTD_THR1_1
+197 0x7333 //TX_DTD_THR1_0
+198 0x7333 //TX_DTD_THR1_1
199 0x7FF0 //TX_DTD_THR1_2
-200 0x6D60 //TX_DTD_THR1_3
+200 0x7FF0 //TX_DTD_THR1_3
201 0x7FF0 //TX_DTD_THR1_4
202 0x7FF0 //TX_DTD_THR1_5
203 0x7FF0 //TX_DTD_THR1_6
@@ -69672,7 +69672,7 @@ 241 0x0000 //TX_DT_RESRV_9
242 0xF800 //TX_THR_SN_EST_0
243 0xFA00 //TX_THR_SN_EST_1
-244 0xFA00 //TX_THR_SN_EST_2
+244 0xFC00 //TX_THR_SN_EST_2
245 0xF200 //TX_THR_SN_EST_3
246 0xFA00 //TX_THR_SN_EST_4
247 0xFA00 //TX_THR_SN_EST_5
@@ -69681,7 +69681,7 @@ 250 0x0100 //TX_DELTA_THR_SN_EST_0
251 0x0100 //TX_DELTA_THR_SN_EST_1
252 0x0200 //TX_DELTA_THR_SN_EST_2
-253 0x0100 //TX_DELTA_THR_SN_EST_3
+253 0x0400 //TX_DELTA_THR_SN_EST_3
254 0x0100 //TX_DELTA_THR_SN_EST_4
255 0x0200 //TX_DELTA_THR_SN_EST_5
256 0x0200 //TX_DELTA_THR_SN_EST_6
@@ -69718,20 +69718,20 @@ 287 0x0014 //TX_NS_LVL_CTRL_6
288 0x0011 //TX_NS_LVL_CTRL_7
289 0x000F //TX_MIN_GAIN_S_0
-290 0x0010 //TX_MIN_GAIN_S_1
+290 0x0020 //TX_MIN_GAIN_S_1
291 0x0010 //TX_MIN_GAIN_S_2
292 0x0010 //TX_MIN_GAIN_S_3
293 0x0010 //TX_MIN_GAIN_S_4
294 0x0010 //TX_MIN_GAIN_S_5
295 0x0010 //TX_MIN_GAIN_S_6
296 0x000F //TX_MIN_GAIN_S_7
-297 0x6000 //TX_NMOS_SUP
+297 0x2000 //TX_NMOS_SUP
298 0x0000 //TX_NS_MAX_PRI_SNR_TH
299 0x0000 //TX_NMOS_SUP_MENSA
-300 0x7FFF //TX_SNRI_SUP_0
+300 0x4000 //TX_SNRI_SUP_0
301 0x2000 //TX_SNRI_SUP_1
302 0x2000 //TX_SNRI_SUP_2
-303 0x4000 //TX_SNRI_SUP_3
+303 0x2000 //TX_SNRI_SUP_3
304 0x4000 //TX_SNRI_SUP_4
305 0x50C0 //TX_SNRI_SUP_5
306 0x2000 //TX_SNRI_SUP_6
@@ -69745,15 +69745,15 @@ 314 0x5000 //TX_A_POST_FILT_S_0
315 0x4C00 //TX_A_POST_FILT_S_1
316 0x4000 //TX_A_POST_FILT_S_2
-317 0x2000 //TX_A_POST_FILT_S_3
+317 0x6000 //TX_A_POST_FILT_S_3
318 0x4000 //TX_A_POST_FILT_S_4
319 0x5000 //TX_A_POST_FILT_S_5
320 0x6000 //TX_A_POST_FILT_S_6
321 0x7000 //TX_A_POST_FILT_S_7
322 0x2000 //TX_B_POST_FILT_0
-323 0x2000 //TX_B_POST_FILT_1
+323 0x4000 //TX_B_POST_FILT_1
324 0x2000 //TX_B_POST_FILT_2
-325 0x2000 //TX_B_POST_FILT_3
+325 0x7FFF //TX_B_POST_FILT_3
326 0x4000 //TX_B_POST_FILT_4
327 0x1000 //TX_B_POST_FILT_5
328 0x1000 //TX_B_POST_FILT_6
@@ -69768,9 +69768,9 @@ 337 0x7FFF //TX_B_LESSCUT_RTO_S_7
338 0x7C00 //TX_LAMBDA_PFILT
339 0x7C00 //TX_LAMBDA_PFILT_S_0
-340 0x7C00 //TX_LAMBDA_PFILT_S_1
-341 0x7A00 //TX_LAMBDA_PFILT_S_2
-342 0x7800 //TX_LAMBDA_PFILT_S_3
+340 0x7E00 //TX_LAMBDA_PFILT_S_1
+341 0x7E00 //TX_LAMBDA_PFILT_S_2
+342 0x7D00 //TX_LAMBDA_PFILT_S_3
343 0x7C00 //TX_LAMBDA_PFILT_S_4
344 0x7C00 //TX_LAMBDA_PFILT_S_5
345 0x7C00 //TX_LAMBDA_PFILT_S_6
@@ -69795,12 +69795,12 @@ 364 0x0000 //TX_K_APT
365 0x0001 //TX_NOISEDET
366 0x0064 //TX_NDETCT
-367 0x0032 //TX_NOISE_TH_0
+367 0x001E //TX_NOISE_TH_0
368 0x7FFF //TX_NOISE_TH_0_2
369 0x7FFF //TX_NOISE_TH_0_3
370 0x0320 //TX_NOISE_TH_1
-371 0x0230 //TX_NOISE_TH_2
-372 0x2CEC //TX_NOISE_TH_3
+371 0x0384 //TX_NOISE_TH_2
+372 0x2904 //TX_NOISE_TH_3
373 0x3E80 //TX_NOISE_TH_4
374 0x7FFF //TX_NOISE_TH_5
375 0x7FFF //TX_NOISE_TH_5_2
@@ -69834,7 +69834,7 @@ 403 0x4000 //TX_POST_MASK_SUP
404 0x7FFF //TX_POST_MASK_ADJUST
405 0x00C8 //TX_NS_ENOISE_MIC0_TH
-406 0x0033 //TX_MINENOISE_MIC0_TH
+406 0x001E //TX_MINENOISE_MIC0_TH
407 0x012C //TX_MINENOISE_MIC0_S_TH
408 0x7FFF //TX_MIN_G_CTRL_SSNS
409 0x0000 //TX_METAL_RTO_THR
@@ -70372,8 +70372,8 @@ 941 0x0008 //TX_MIC1MUTE_CVG_TIME
942 0x0008 //TX_MIC1MUTE_RELEASE_TIME
943 0x0100 //TX_AMS_RESRV_01
-944 0xE4A8 //TX_AMS_RESRV_02
-945 0x7EF4 //TX_AMS_RESRV_03
+944 0xE0C0 //TX_AMS_RESRV_02
+945 0x2710 //TX_AMS_RESRV_03
946 0x0000 //TX_AMS_RESRV_04
947 0x0000 //TX_AMS_RESRV_05
948 0x0000 //TX_AMS_RESRV_06
diff --git a/bluetooth/bluetooth_power_limits_Lynx.csv b/bluetooth/bluetooth_power_limits_Lynx.csv index 4dfb75f..c65ffad 100644 --- a/bluetooth/bluetooth_power_limits_Lynx.csv +++ b/bluetooth/bluetooth_power_limits_Lynx.csv @@ -1,34 +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,any,any,any,any,off,68,66,28,70,66,28,68,66,28,70,66,28 +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
diff --git a/bluetooth/bluetooth_power_limits_Lynx_G0DZQ_CA.csv b/bluetooth/bluetooth_power_limits_Lynx_G0DZQ_CA.csv index 81b050e..579c955 100644 --- a/bluetooth/bluetooth_power_limits_Lynx_G0DZQ_CA.csv +++ b/bluetooth/bluetooth_power_limits_Lynx_G0DZQ_CA.csv @@ -1,34 +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,any,any,any,any,off,74,66,74,74,66,74,74,66,74,74,66,74 +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
diff --git a/bluetooth/bluetooth_power_limits_Lynx_G0DZQ_EU.csv b/bluetooth/bluetooth_power_limits_Lynx_G0DZQ_EU.csv index 40f70fd..0545553 100644 --- a/bluetooth/bluetooth_power_limits_Lynx_G0DZQ_EU.csv +++ b/bluetooth/bluetooth_power_limits_Lynx_G0DZQ_EU.csv @@ -1,34 +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,any,any,any,any,off,74,66,28,70,66,28,74,66,28,70,66,28 +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
diff --git a/bluetooth/bluetooth_power_limits_Lynx_G0DZQ_JP.csv b/bluetooth/bluetooth_power_limits_Lynx_G0DZQ_JP.csv index 3ec5bc3..1f725dc 100644 --- a/bluetooth/bluetooth_power_limits_Lynx_G0DZQ_JP.csv +++ b/bluetooth/bluetooth_power_limits_Lynx_G0DZQ_JP.csv @@ -1,34 +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,any,any,any,any,off,68,66,38,72,66,38,68,66,38,72,66,38 +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
diff --git a/bluetooth/bluetooth_power_limits_Lynx_G0DZQ_US.csv b/bluetooth/bluetooth_power_limits_Lynx_G0DZQ_US.csv index 81b050e..579c955 100644 --- a/bluetooth/bluetooth_power_limits_Lynx_G0DZQ_US.csv +++ b/bluetooth/bluetooth_power_limits_Lynx_G0DZQ_US.csv @@ -1,34 +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,any,any,any,any,off,74,66,74,74,66,74,74,66,74,74,66,74 +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
diff --git a/bluetooth/bluetooth_power_limits_Lynx_G82U8_JP.csv b/bluetooth/bluetooth_power_limits_Lynx_G82U8_JP.csv index 3ec5bc3..1f725dc 100644 --- a/bluetooth/bluetooth_power_limits_Lynx_G82U8_JP.csv +++ b/bluetooth/bluetooth_power_limits_Lynx_G82U8_JP.csv @@ -1,34 +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,any,any,any,any,off,68,66,38,72,66,38,68,66,38,72,66,38 +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
diff --git a/bluetooth/bluetooth_power_limits_Lynx_GHL1X_EU.csv b/bluetooth/bluetooth_power_limits_Lynx_GHL1X_EU.csv index 54928f5..9f7153a 100644 --- a/bluetooth/bluetooth_power_limits_Lynx_GHL1X_EU.csv +++ b/bluetooth/bluetooth_power_limits_Lynx_GHL1X_EU.csv @@ -1,34 +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,any,any,any,any,off,74,66,34,70,66,28,74,66,34,70,66,28 +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
diff --git a/bluetooth/bluetooth_power_limits_Lynx_GWKK3_CA.csv b/bluetooth/bluetooth_power_limits_Lynx_GWKK3_CA.csv index 81b050e..579c955 100644 --- a/bluetooth/bluetooth_power_limits_Lynx_GWKK3_CA.csv +++ b/bluetooth/bluetooth_power_limits_Lynx_GWKK3_CA.csv @@ -1,34 +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,any,any,any,any,off,74,66,74,74,66,74,74,66,74,74,66,74 +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
diff --git a/bluetooth/bluetooth_power_limits_Lynx_GWKK3_US.csv b/bluetooth/bluetooth_power_limits_Lynx_GWKK3_US.csv index 81b050e..579c955 100644 --- a/bluetooth/bluetooth_power_limits_Lynx_GWKK3_US.csv +++ b/bluetooth/bluetooth_power_limits_Lynx_GWKK3_US.csv @@ -1,34 +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,any,any,any,any,off,74,66,74,74,66,74,74,66,74,74,66,74 +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
diff --git a/bluetooth/device_framework_matrix_product.xml b/bluetooth/device_framework_matrix_product.xml new file mode 100644 index 0000000..0c013a6 --- /dev/null +++ b/bluetooth/device_framework_matrix_product.xml @@ -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> diff --git a/bluetooth/le_audio_codec_capabilities.xml b/bluetooth/le_audio_codec_capabilities.xml index cfb915b..d4404a8 100644 --- a/bluetooth/le_audio_codec_capabilities.xml +++ b/bluetooth/le_audio_codec_capabilities.xml @@ -32,9 +32,6 @@ <scenario encode="OneChanMono_24_2" decode="invalid"/> <scenario encode="TwoChanStereo_24_2" decode="invalid"/> <scenario encode="OneChanStereo_24_2" decode="invalid"/> - <scenario encode="OneChanMono_32_2" decode="invalid"/> - <scenario encode="TwoChanStereo_32_2" decode="invalid"/> - <scenario encode="OneChanStereo_32_2" decode="invalid"/> <scenario encode="OneChanMono_48_4" decode="invalid"/> <scenario encode="TwoChanStereo_48_4" decode="invalid"/> <scenario encode="OneChanStereo_48_4" decode="invalid"/> @@ -47,10 +44,11 @@ <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="OneChanStereo_32_2" decode="OneChanStereo_32_2"/> - <scenario encode="OneChanStereo_32_2" decode="OneChanMono_32_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"/> @@ -64,10 +62,11 @@ <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="OneChanStereo_32_2" codecConfiguration="LC3_32k_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"/> @@ -80,5 +79,6 @@ <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> diff --git a/bluetooth/qti_default.mk b/bluetooth/qti_default.mk index d5717b2..5158663 100644 --- a/bluetooth/qti_default.mk +++ b/bluetooth/qti_default.mk @@ -24,10 +24,15 @@ PRODUCT_PRODUCT_PROPERTIES += \ # Bluetooth LE Audio PRODUCT_PRODUCT_PROPERTIES += \ ro.bluetooth.leaudio_switcher.supported=true \ - ro.bluetooth.leaudio_broadcast_switcher.supported=true \ ro.bluetooth.leaudio_offload.supported=true \ persist.bluetooth.leaudio_offload.disabled=false \ ro.vendor.audio_hal.ble_use_stream_id=true \ + bluetooth.profile.bap.unicast.client.enabled?=true \ + bluetooth.profile.csip.set_coordinator.enabled?=true \ + bluetooth.profile.hap.client.enabled?=true \ + bluetooth.profile.mcp.server.enabled?=true \ + bluetooth.profile.ccp.server.enabled?=true \ + bluetooth.profile.vcp.controller.enabled?=true \ # Bluetooth LE Audio CIS handover to SCO # Set the property only if the controller doesn't support CIS and SCO @@ -42,6 +47,7 @@ PRODUCT_COPY_FILES += \ # 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 @@ -71,7 +77,9 @@ else ifeq ($(TARGET_USE_QTI_BT_SAR),true) endif PRODUCT_PACKAGES += \ android.hardware.bluetooth@1.0-service-qti \ - hardware.google.bluetooth.bt_channel_avoidance@1.0-impl + 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 += \ diff --git a/conf/init.lynx.rc b/conf/init.lynx.rc index c5fbb19..c116f92 100644 --- a/conf/init.lynx.rc +++ b/conf/init.lynx.rc @@ -16,7 +16,7 @@ on early-boot wait_for_prop vendor.common.modules.ready 1 start insmod_sh_lynx -service insmod_sh_lynx /vendor/bin/init.insmod.sh /vendor/etc/init.insmod.lynx.cfg +service insmod_sh_lynx /vendor/bin/insmod.sh /vendor/etc/init.insmod.lynx.cfg class main user root group root system @@ -38,11 +38,6 @@ on property:vendor.mfgapi.touchpanel.permission=1 chmod 0600 /sys/devices/virtual/sec/tsp/cmd chown system system /sys/devices/virtual/sec/tsp/cmd -# Fingerprint -on post-fs-data - chown system system /dev/goodix_fp - exec_background - system shell -- /vendor/bin/trusty_apploader /vendor/firmware/g7.app - # SecureElement eSE2 cts mode on property:persist.vendor.se.ese2.mode=ctsmode write /sys/class/st33spi/st33spi/st33spi_state 33 @@ -88,31 +83,29 @@ on property:persist.vendor.touch_sensitivity_mode=0 && property:sys.boot_complet 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 -# Touch -on property:vendor.device.modules.ready=1 - chown system system /sys/devices/virtual/goog_touch_interface/gti.0/force_active - chown system system /sys/devices/virtual/goog_touch_interface/gti.0/fw_ver - chown system system /sys/devices/virtual/goog_touch_interface/gti.0/ms_base - chown system system /sys/devices/virtual/goog_touch_interface/gti.0/ms_diff - chown system system /sys/devices/virtual/goog_touch_interface/gti.0/ms_raw - chown system system /sys/devices/virtual/goog_touch_interface/gti.0/self_test - chown system system /sys/devices/virtual/goog_touch_interface/gti.0/ss_base - chown system system /sys/devices/virtual/goog_touch_interface/gti.0/ss_diff - chown system system /sys/devices/virtual/goog_touch_interface/gti.0/ss_raw - -# Override SF and RE uclamps to 0 on boot after being set elsewhere, for adpf cpu hints -on property:sys.boot_completed=1 - trigger override-sf-uclamp - -on property:vendor.powerhal.init=* - write /dev/cpuset/background/cpus ${persist.device_config.vendor_system_native.background_cpuset:-0-3} - -on override-sf-uclamp - write /proc/vendor_sched/rt_uclamp_min 0 - write /proc/vendor_sched/sf_uclamp_min 0 - # 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/i2c-cs40l26a/calibration/f0_stored + chown system system /sys/bus/i2c/devices/i2c-cs40l26a/calibration/q_stored + chown system system /sys/bus/i2c/devices/i2c-cs40l26a/calibration/redc_stored + chown system system /sys/bus/i2c/devices/i2c-cs40l26a/default/vibe_state + chown system system /sys/bus/i2c/devices/i2c-cs40l26a/default/num_waves + chown system system /sys/bus/i2c/devices/i2c-cs40l26a/default/f0_offset + chown system system /sys/bus/i2c/devices/i2c-cs40l26a/default/owt_free_space + chown system system /sys/bus/i2c/devices/i2c-cs40l26a/default/f0_comp_enable + chown system system /sys/bus/i2c/devices/i2c-cs40l26a/default/redc_comp_enable + chown system system /sys/bus/i2c/devices/i2c-cs40l26a/default/delay_before_stop_playback_us + + enable vendor.vibrator.cs40l26 diff --git a/device-lynx.mk b/device-lynx.mk index 254f99c..ea17b2e 100644 --- a/device-lynx.mk +++ b/device-lynx.mk @@ -29,6 +29,8 @@ DEVICE_PACKAGE_OVERLAYS += device/google/lynx/lynx/overlay include device/google/lynx/audio/lynx/audio-tables.mk include device/google/gs201/device-shipping-common.mk include hardware/google/pixel/vibrator/cs40l26/device.mk +include device/google/gs-common/touch/gti/gti.mk +include device/google/gs-common/wlan/dump.mk # go/lyric-soong-variables $(call soong_config_set,lyric,camera_hardware,lynx) @@ -76,7 +78,7 @@ PRODUCT_COPY_FILES += \ device/google/lynx/nfc/libnfc-nci-lynx.conf:$(TARGET_COPY_OUT_PRODUCT)/etc/libnfc-nci.conf PRODUCT_PACKAGES += \ - NfcNci \ + com.android.nfcservices \ Tag \ android.hardware.nfc-service.st @@ -151,10 +153,16 @@ include device/google/gs101/fingerprint/udfps_factory.mk endif # Vibrator HAL +ADAPTIVE_HAPTICS_FEATURE := adaptive_haptics_v1 PRODUCT_VENDOR_PROPERTIES += \ ro.vendor.vibrator.hal.supported_primitives=243 \ ro.vendor.vibrator.hal.f0.comp.enabled=1 \ - ro.vendor.vibrator.hal.redc.comp.enabled=0 + 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 # Trusty liboemcrypto.so PRODUCT_SOONG_NAMESPACES += vendor/google_devices/lynx/prebuilts @@ -172,9 +180,13 @@ else device/google/lynx/location/scd_user.conf.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/scd.conf endif +# Wifi HAL +PRODUCT_SOONG_NAMESPACES += hardware/qcom/wlan/wcn6740 + # DCK properties based on target PRODUCT_PROPERTY_OVERRIDES += \ - ro.gms.dck.eligible_wcc=2 + ro.gms.dck.eligible_wcc=2 \ + ro.gms.dck.se_capability=1 # WIFI COEX PRODUCT_COPY_FILES += \ @@ -194,7 +206,7 @@ PRODUCT_VENDOR_PROPERTIES += \ # Increment the SVN for any official public releases PRODUCT_VENDOR_PROPERTIES += \ - ro.vendor.build.svn=8 + ro.vendor.build.svn=16 # Set support hide display cutout feature PRODUCT_PRODUCT_PROPERTIES += \ @@ -245,17 +257,10 @@ PRODUCT_VENDOR_PROPERTIES += \ PRODUCT_VENDOR_PROPERTIES += \ persist.vendor.camera.front_720P_always_binning=true -# Use GmsCorePrebuilt y2022w28 -USE_GMSCORE_PREBUILT_Y2022W28 := true - # Device features PRODUCT_COPY_FILES += \ frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml -# Enable adpf cpu hint session for SurfaceFlinger -PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ - debug.sf.enable_adpf_cpu_hint=true - # 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 += \ @@ -277,4 +282,3 @@ PRODUCT_PACKAGES += \ SettingsOverlayG0DZQ \ SettingsOverlayGHL1X \ SettingsOverlayGWKK3 - diff --git a/init.insmod.lynx.cfg b/init.insmod.lynx.cfg index e4eecf5..1b88597 100644 --- a/init.insmod.lynx.cfg +++ b/init.insmod.lynx.cfg @@ -9,8 +9,7 @@ modprobe|snd-soc-cs35l41-spi.ko modprobe|goodix_brl_touch.ko modprobe|focal_touch.ko -modprobe|cl_dsp.ko -modprobe|input-cs40l26-i2c.ko +modprobe|cs40l26-i2c.ko modprobe|snd-soc-cs40l26.ko # All device specific modules loaded diff --git a/location/gps.xml.l10 b/location/gps.xml.l10 index 61c31d9..c51fd4d 100644 --- a/location/gps.xml.l10 +++ b/location/gps.xml.l10 @@ -35,7 +35,7 @@ SuplVersion="2" SuplMinorVersion="0" SuplOtdoaCapable="true" - SuplOtdoaCapable2="true" + SuplOtdoaCapable2="false" SuplGlonassCapable = "true" SuplGalileoCapable = "true" SuplBdsCapable = "true" @@ -85,6 +85,7 @@ EnableOnChipStopNotification="2" PowerMode="3" MinGpsWeekNumber="2216" + OnChipAccMask="50" /> <gll_features diff --git a/location/gps_user.xml.l10 b/location/gps_user.xml.l10 index 477e7f4..b996bf0 100644 --- a/location/gps_user.xml.l10 +++ b/location/gps_user.xml.l10 @@ -34,7 +34,7 @@ SuplVersion="2" SuplMinorVersion="0" SuplOtdoaCapable="true" - SuplOtdoaCapable2="true" + SuplOtdoaCapable2="false" SuplGlonassCapable = "true" SuplGalileoCapable = "true" SuplBdsCapable = "true" @@ -84,6 +84,7 @@ EnableOnChipStopNotification="false" PowerMode="3" MinGpsWeekNumber="2216" + OnChipAccMask="50" /> <gll_features diff --git a/lynx/BoardConfig.mk b/lynx/BoardConfig.mk index 616a01a..ca5006a 100644 --- a/lynx/BoardConfig.mk +++ b/lynx/BoardConfig.mk @@ -13,12 +13,25 @@ # See the License for the specific language governing permissions and # limitations under the License. # + TARGET_BOARD_INFO_FILE := device/google/lynx/board-info.txt TARGET_BOOTLOADER_BOARD_NAME := lynx -TARGET_SCREEN_DENSITY := 420 + +ifdef PHONE_CAR_BOARD_PRODUCT + include vendor/auto/embedded/products/$(PHONE_CAR_BOARD_PRODUCT)/BoardConfig.mk +else + TARGET_SCREEN_DENSITY := 420 +endif + 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 += exynos_drm.load_sequential=1 + include device/google/gs201/BoardConfig-common.mk -include vendor/google_devices/gs201/prebuilts/BoardConfigVendor.mk -include vendor/google_devices/lynx/proprietary/BoardConfigVendor.mk diff --git a/lynx/overlay/frameworks/base/core/res/res/values/config.xml b/lynx/overlay/frameworks/base/core/res/res/values/config.xml index b38878a..c122acf 100644 --- a/lynx/overlay/frameworks/base/core/res/res/values/config.xml +++ b/lynx/overlay/frameworks/base/core/res/res/values/config.xml @@ -187,9 +187,6 @@ <!-- The default peak refresh rate. --> <integer name="config_defaultPeakRefreshRate">60</integer> - <!-- the number of the max cached processes in the system. --> - <integer name="config_customizedMaxCachedProcesses">64</integer> - <integer-array name="config_ambientThresholdLevels"> <item>2</item> <item>3</item> @@ -299,4 +296,17 @@ <string name="config_mms_user_agent" translatable="false">gwkk3</string> <!-- MMS user agent profile url --> <string name="config_mms_user_agent_profile_url" translatable="false">http://www.gstatic.com/android/sms/GWKK3.xml</string> + + <!-- A string config in svg path format for the main display shape. + (@see https://www.w3.org/TR/SVG/paths.html#PathData). + + This config must be set unless: + 1. {@link Configuration#isScreenRound} is true which means the display shape is circular + and the system will auto-generate a circular shape. + 2. The display has no rounded corner and the system will auto-generate a rectangular shape. + (@see DisplayShape#createDefaultDisplayShape) + + Note: If the display supports multiple resolutions, please define the path config based on + the highest resolution so that it can be scaled correctly in each resolution. --> + <string name="config_mainDisplayShape">M 50 0 C 42.768298 0.20918843 40.38325 0.67140492 36.839844 1.4492188 C 32.88207 2.499408 31.55228 2.9412067 27.529297 4.6933594 C 22.757243 6.7717586 20.051023 9.0487475 17.677734 10.873047 C 14.896398 13.14348 12.520098 15.642526 10.375 18.316406 C 7.8943843 21.48606 6.0935469 24.386022 4.3515625 28.15625 C 1.8145748 33.95665 1.4214109 36.446413 0.90625 38.939453 C 0.29310087 41.906691 0.090606668 43.961689 0 50 L 0 2350 C 0.083036414 2356.0047 0.27049146 2357.7278 0.70507812 2360.4961 C 1.0552946 2362.727 1.7787856 2366.4728 4.1152344 2372.0391 C 5.8274884 2375.87 7.608122 2378.6647 10.011719 2381.8281 C 12.156817 2384.5019 14.6796 2387.128 17.460938 2389.3984 C 19.82277 2391.2952 22.788288 2393.4515 27.306641 2395.5898 C 30.772461 2397.23 33.05157 2397.9241 37.181641 2398.8828 C 41.654968 2399.8035 43.840728 2399.9069 50 2400 L 1030 2400 C 1036.1593 2399.9069 1038.345 2399.8035 1042.8184 2398.8828 C 1046.9485 2397.9241 1049.2276 2397.23 1052.6934 2395.5898 C 1057.2118 2393.4515 1060.1773 2391.2952 1062.5391 2389.3984 C 1065.3205 2387.128 1067.8432 2384.5019 1069.9883 2381.8281 C 1072.3919 2378.6647 1074.1725 2375.87 1075.8848 2372.0391 C 1078.2212 2366.4728 1078.9466 2362.727 1079.2969 2360.4961 C 1079.7314 2357.7278 1079.917 2356.0047 1080 2350 L 1080 50 C 1079.909 43.961692 1079.7068 41.906687 1079.0938 38.939453 C 1078.5787 36.446409 1078.1854 33.956648 1075.6484 28.15625 C 1073.9064 24.386028 1072.1057 21.48606 1069.625 18.316406 C 1067.4799 15.642522 1065.1037 13.143473 1062.3223 10.873047 C 1059.949 9.0487399 1057.2428 6.7717652 1052.4707 4.6933594 C 1048.4477 2.9412128 1047.118 2.4994066 1043.1602 1.4492188 C 1039.6168 0.67140026 1037.2317 0.20918958 1030 0 L 50 0 z</string> </resources> diff --git a/lynx/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml b/lynx/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml new file mode 100644 index 0000000..8304044 --- /dev/null +++ b/lynx/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +** +** 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. +*/ +--> +<irq-device-map> + <device name="rtc-alarm0"> + <subsystem>Alarm</subsystem> + </device> + <device name="wlan_pci_wake_irq"> + <subsystem>Wifi</subsystem> + </device> + <device name="cp2ap_wakeup"> + <subsystem>Cellular_data</subsystem> + </device> + <device name="MAILBOX_AOCF12APx1100"> + <subsystem>Sound_trigger</subsystem> + </device> + <device name="MAILBOX_AOCA322APx100"> + <subsystem>Sensor</subsystem> + </device> +</irq-device-map> + diff --git a/lynx/overlay/packages/apps/Nfc/res/values/config.xml b/lynx/overlay/packages/apps/Nfc/res/values/config.xml index 34bf74e..4a8efa9 100644 --- a/lynx/overlay/packages/apps/Nfc/res/values/config.xml +++ b/lynx/overlay/packages/apps/Nfc/res/values/config.xml @@ -21,4 +21,15 @@ <item>GHL1X</item> <item>G82U8</item> </string-array> + <bool name="tag_intent_app_pref_supported">true</bool> + <!-- NFC Antenna Location API --> + <integer name="device_width">70</integer> + <integer name="device_height">150</integer> + <bool name="device_foldable">false</bool> + <integer-array name="antenna_x"> + <item>36</item> + </integer-array> + <integer-array name="antenna_y"> + <item>102</item> + </integer-array> </resources> diff --git a/powerhint.json b/powerhint.json index 4f20b9c..5a7b1f9 100644 --- a/powerhint.json +++ b/powerhint.json @@ -1,6 +1,19 @@ { "Nodes": [ { + "Name": "GPUMinFreq", + "Path": "/sys/devices/platform/28000000.mali/hint_min_freq", + "Values": [ + "848000", + "762000", + "572000", + "471000", + "302000", + "202000" + ], + "ResetOnInit": true + }, + { "Name": "MemFreq", "Path": "/sys/devices/platform/17000010.devfreq_mif/devfreq/17000010.devfreq_mif/min_freq", "Values": [ @@ -105,19 +118,6 @@ "ResetOnInit": true }, { - "Name": "GPUMinFreq", - "Path": "/sys/devices/platform/28000000.mali/hint_min_freq", - "Values": [ - "848000", - "762000", - "572000", - "471000", - "302000", - "202000" - ], - "ResetOnInit": true - }, - { "Name": "ReducePreferIdle", "Path": "/proc/vendor_sched/reduce_prefer_idle", "Values": [ @@ -137,6 +137,16 @@ "ResetOnInit": true }, { + "Name": "CPUDVFSHeadroom", + "Path": "/proc/vendor_sched/dvfs_headroom", + "Values": [ + "1280", + "1100 1078 1024" + ], + "DefaultIndex": 0, + "ResetOnInit": true + }, + { "Name": "MIFTargetLoad", "Path": "/sys/class/devfreq/17000010.devfreq_mif/interactive/target_load", "Values": [ @@ -150,7 +160,7 @@ "Name": "CAMUClampBoost", "Path": "/proc/vendor_sched/cam_uclamp_min", "Values": [ - "612", + "764", "0" ], "ResetOnInit": true @@ -159,7 +169,7 @@ "Name": "TAUClampBoost", "Path": "/proc/vendor_sched/ta_uclamp_min", "Values": [ - "612", + "764", "1" ], "ResetOnInit": true @@ -177,8 +187,8 @@ "Name": "MLUclampBoost", "Path": "/proc/vendor_sched/nnapi_uclamp_min", "Values": [ - "180", - "650" + "225", + "813" ], "DefaultIndex": 0, "ResetOnInit": true @@ -593,6 +603,16 @@ "0,1,2,3,4,5,6,7" ], "Type": "Property" + }, + { + "Name": "Dex2oatGroup", + "Path": "/proc/vendor_sched/dex2oat_ug", + "Values": [ + "1", + "0" + ], + "DefaultIndex": 0, + "ResetOnInit": true } ], "Actions": [ @@ -654,7 +674,7 @@ "PowerHint": "LAUNCH", "Node": "TAUClampBoost", "Duration": 5000, - "Value": "612" + "Value": "764" }, { "PowerHint": "LAUNCH", @@ -722,6 +742,18 @@ "Value": "9999999" }, { + "PowerHint": "CPU_LOAD_RESET", + "Node": "GPUMinFreq", + "Duration": 50, + "Value": "302000" + }, + { + "PowerHint": "CPU_LOAD_RESET", + "Node": "MemFreq", + "Duration": 33, + "Value": "1014000" + }, + { "PowerHint": "CAMERA_LAUNCH", "Node": "MemFreq", "Duration": 1000, @@ -767,7 +799,7 @@ "PowerHint": "CAMERA_LAUNCH", "Node": "CAMUClampBoost", "Duration": 1000, - "Value": "612" + "Value": "764" }, { "PowerHint": "CAMERA_LAUNCH", @@ -1119,6 +1151,12 @@ }, { "PowerHint": "CAMERA_STREAMING_HIGH", + "Node": "CPUDVFSHeadroom", + "Duration": 0, + "Value": "1100 1078 1024" + }, + { + "PowerHint": "CAMERA_STREAMING_HIGH", "Node": "CDPreferHighCap", "Duration": 0, "Value": "1" @@ -1438,6 +1476,66 @@ "Value": "1" }, { + "PowerHint": "LOW_POWER", + "Node": "BigControlTempSet", + "Duration": 0, + "Value": "80000" + }, + { + "PowerHint": "LOW_POWER", + "Node": "MidControlTempSet", + "Duration": 0, + "Value": "80000" + }, + { + "PowerHint": "LOW_POWER", + "Node": "LittleControlTempSet", + "Duration": 0, + "Value": "80000" + }, + { + "PowerHint": "LOW_POWER", + "Node": "G3dControlTempSet", + "Duration": 0, + "Value": "80000" + }, + { + "PowerHint": "LOW_POWER", + "Node": "TpuControlTempSet", + "Duration": 0, + "Value": "80000" + }, + { + "PowerHint": "LOW_POWER", + "Node": "BigSwitchOnTempSet", + "Duration": 0, + "Value": "60000" + }, + { + "PowerHint": "LOW_POWER", + "Node": "MidSwitchOnTempSet", + "Duration": 0, + "Value": "60000" + }, + { + "PowerHint": "LOW_POWER", + "Node": "LittleSwitchOnTempSet", + "Duration": 0, + "Value": "60000" + }, + { + "PowerHint": "LOW_POWER", + "Node": "G3dSwitchOnTempSet", + "Duration": 0, + "Value": "60000" + }, + { + "PowerHint": "LOW_POWER", + "Node": "TpuSwitchOnTempSet", + "Duration": 0, + "Value": "60000" + }, + { "PowerHint": "REFRESH_90FPS", "Node": "TAUClampBoost", "Duration": 0, @@ -1503,12 +1601,6 @@ "Value": "572000" }, { - "PowerHint": "ADPF_FIRST_FRAME", - "Node": "GPUMinFreq", - "Duration": 50, - "Value": "302000" - }, - { "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_LIGHT", "Node": "PMU_POLL", "Duration": 0, @@ -1587,6 +1679,12 @@ "Value": "0,1,2,3" }, { + "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_LIGHT", + "Node": "Dex2oatGroup", + "Duration": 0, + "Value": "0" + }, + { "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE", "Node": "PMU_POLL", "Duration": 0, @@ -1665,6 +1763,12 @@ "Value": "0,1,2,3" }, { + "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE", + "Node": "Dex2oatGroup", + "Duration": 0, + "Value": "0" + }, + { "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE", "Node": "PMU_POLL", "Duration": 0, @@ -1743,6 +1847,12 @@ "Value": "0,1,2,3" }, { + "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE", + "Node": "Dex2oatGroup", + "Duration": 0, + "Value": "0" + }, + { "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL", "Node": "PMU_POLL", "Duration": 0, @@ -1821,6 +1931,12 @@ "Value": "0,1,2,3" }, { + "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL", + "Node": "Dex2oatGroup", + "Duration": 0, + "Value": "0" + }, + { "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY", "Node": "PMU_POLL", "Duration": 0, @@ -1917,6 +2033,12 @@ "Value": "0,1,2,3" }, { + "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY", + "Node": "Dex2oatGroup", + "Duration": 0, + "Value": "0" + }, + { "PowerHint": "FACE_UNLOCK_BOOST", "Node": "CPU_LITTLE_TSKIN_BYPASS", "Duration": 1000, @@ -1980,7 +2102,7 @@ "PowerHint": "ML_ACC", "Node": "MLUclampBoost", "Duration": 2000, - "Value": "650" + "Value": "813" }, { "PowerHint": "ML_ACC", @@ -2002,8 +2124,8 @@ "PID_Do": 500.0, "PID_Du": 0.0, "UclampMin_On": true, - "UclampMin_Init": 185, - "UclampMin_High": 384, + "UclampMin_Init": 232, + "UclampMin_High": 480, "UclampMin_Low": 2, "SamplingWindow_P": 1, "SamplingWindow_I": 0, @@ -2026,8 +2148,8 @@ "PID_Do": 500.0, "PID_Du": 0.0, "UclampMin_On": true, - "UclampMin_Init": 129, - "UclampMin_High": 384, + "UclampMin_Init": 162, + "UclampMin_High": 480, "UclampMin_Low": 2, "SamplingWindow_P": 1, "SamplingWindow_I": 0, @@ -2050,8 +2172,8 @@ "PID_Do": 500.0, "PID_Du": 0.0, "UclampMin_On": true, - "UclampMin_Init": 129, - "UclampMin_High": 384, + "UclampMin_Init": 162, + "UclampMin_High": 480, "UclampMin_Low": 2, "SamplingWindow_P": 1, "SamplingWindow_I": 0, @@ -2077,9 +2199,9 @@ "SamplingWindow_I": 1, "SamplingWindow_D": 1, "UclampMin_On": true, - "UclampMin_Init": 200, - "UclampMin_High": 157, - "UclampMin_Low": 157, + "UclampMin_Init": 250, + "UclampMin_High": 197, + "UclampMin_Low": 197, "ReportingRateLimitNs": 1, "EarlyBoost_On": false, "EarlyBoost_TimeFactor": 0.0, @@ -2101,9 +2223,9 @@ "SamplingWindow_I": 1, "SamplingWindow_D": 1, "UclampMin_On": true, - "UclampMin_Init": 200, - "UclampMin_High": 42, - "UclampMin_Low": 42, + "UclampMin_Init": 250, + "UclampMin_High": 53, + "UclampMin_Low": 53, "ReportingRateLimitNs": 1, "EarlyBoost_On": false, "EarlyBoost_TimeFactor": 0.0, @@ -2125,7 +2247,7 @@ "SamplingWindow_I": 1, "SamplingWindow_D": 1, "UclampMin_On": true, - "UclampMin_Init": 200, + "UclampMin_Init": 250, "UclampMin_High": 0, "UclampMin_Low": 0, "ReportingRateLimitNs": 1, diff --git a/powerstats/service.cpp b/powerstats/service.cpp index d8856cc..971fd8f 100644 --- a/powerstats/service.cpp +++ b/powerstats/service.cpp @@ -27,6 +27,7 @@ #include <android/binder_manager.h> #include <android/binder_process.h> #include <log/log.h> +#include <sys/stat.h> using aidl::android::hardware::power::stats::DevfreqStateResidencyDataProvider; using aidl::android::hardware::power::stats::DisplayStateResidencyDataProvider; @@ -89,6 +90,8 @@ void addGPUGs202(std::shared_ptr<PowerStats> p) { } int main() { + struct stat buffer; + LOG(INFO) << "Pixel PowerStats HAL AIDL Service is starting."; // single thread @@ -107,7 +110,21 @@ int main() { addWlan(p); addTPU(p); addUfs(p); - addNFC(p, "/sys/devices/platform/10970000.hsi2c/i2c-4/i2c-st21nfc/power_stats"); + if (!stat("/sys/devices/platform/10970000.hsi2c/i2c-2/i2c-st21nfc/power_stats", &buffer)) { + addNFC(p, "/sys/devices/platform/10970000.hsi2c/i2c-2/i2c-st21nfc/power_stats"); + } else if (!stat("/sys/devices/platform/10970000.hsi2c/i2c-3/i2c-st21nfc/power_stats", &buffer)) { + addNFC(p, "/sys/devices/platform/10970000.hsi2c/i2c-3/i2c-st21nfc/power_stats"); + } else if (!stat("/sys/devices/platform/10970000.hsi2c/i2c-4/i2c-st21nfc/power_stats", &buffer)) { + addNFC(p, "/sys/devices/platform/10970000.hsi2c/i2c-4/i2c-st21nfc/power_stats"); + } else if (!stat("/sys/devices/platform/10970000.hsi2c/i2c-5/i2c-st21nfc/power_stats", &buffer)) { + addNFC(p, "/sys/devices/platform/10970000.hsi2c/i2c-5/i2c-st21nfc/power_stats"); + } else if (!stat("/sys/devices/platform/10970000.hsi2c/i2c-6/i2c-st21nfc/power_stats", &buffer)) { + addNFC(p, "/sys/devices/platform/10970000.hsi2c/i2c-6/i2c-st21nfc/power_stats"); + } else if (!stat("/sys/devices/platform/10970000.hsi2c/i2c-7/i2c-st21nfc/power_stats", &buffer)) { + addNFC(p, "/sys/devices/platform/10970000.hsi2c/i2c-7/i2c-st21nfc/power_stats"); + } else { + addNFC(p, "/sys/devices/platform/10970000.hsi2c/i2c-8/i2c-st21nfc/power_stats"); + } addPowerDomains(p); addDevfreq(p); addGPUGs202(p); diff --git a/rro_overlays/WifiOverlay/res/values/config.xml b/rro_overlays/WifiOverlay/res/values/config.xml index 4fa03d2..2659754 100644 --- a/rro_overlays/WifiOverlay/res/values/config.xml +++ b/rro_overlays/WifiOverlay/res/values/config.xml @@ -126,10 +126,29 @@ <!-- Enable the default coex channel avoidance algorithm and disable the functionality of WifiManager#setCoexUnsafeChannels. --> <bool translatable="false" name="config_wifiDefaultCoexAlgorithmEnabled">true</bool> + <!-- If the default coex channel avoidance algorithm is enabled, then avoid channels that + conflict with GPS L1. --> + <bool translatable="false" name="config_wifiCoexForGpsL1">true</bool> + <!-- The distance in KHz between Wi-Fi-based interference and GPS L1 that is considered unsafe. --> + <integer translatable="false" name="config_wifiCoexGpsL1ThresholdKhz">10000</integer> <!-- Whether to use the explicit vendor HAL API: IWifiStaIface.setRoamingState for disabling fw roaming. --> <bool translatable="false" name="config_wifiUseHalApiToDisableFwRoaming">true</bool> <!-- Indicate the driver doesn't support NL80211 Reg changed event --> <bool translatable="false" name="config_wifiDriverSupportedNl80211RegChangedEvent">true</bool> + + <!-- Boolean indicating whether DTIM multiplier configuration is enabled. DTIM multiplier value + is when the system is in the suspended mode --> + <bool translatable="false" name="config_wifiDtimMultiplierConfigEnabled">true</bool> + + <!-- Enable the feature of adjusting link layer stats polling interval based on + device mobility state and client mode RSSI monitoring. --> + <bool translatable="false" name="config_wifiAdjustPollRssiIntervalEnabled">true</bool> + + <!-- Boolean indicating whether the framework updates country from scan results when there is + no telephony country code. This is applied to all generic cases and might require the + regulatory approval (for example, FCC pre-approval is required according to "594280 D01 + Software Configuration Control v02r01").--> + <bool translatable="false" name ="config_wifiUpdateCountryCodeFromScanResultGeneric">true</bool> </resources> diff --git a/self-extractors/extract-lists.txt b/self-extractors/extract-lists.txt index e09731b..63655a4 100644 --- a/self-extractors/extract-lists.txt +++ b/self-extractors/extract-lists.txt @@ -10,7 +10,7 @@ system_ext/lib64/libmediaadaptor.so \ system_ext/priv-app/ShannonRcs/ShannonRcs.apk \ system_ext/priv-app/ShannonIms/ShannonIms.apk \ - system_ext/priv-app/QualifiedNetworksService/QualifiedNetworksService.apk \ + system_ext/priv-app/PixelQualifiedNetworksService/PixelQualifiedNetworksService.apk \ " ;; diff --git a/self-extractors/google_devices/staging/Android.mk b/self-extractors/google_devices/staging/Android.mk index c52fbf2..a720400 100644 --- a/self-extractors/google_devices/staging/Android.mk +++ b/self-extractors/google_devices/staging/Android.mk @@ -18,14 +18,13 @@ LOCAL_PATH := $(call my-dir) ifneq ($(filter lynx,$(TARGET_DEVICE)),) $(call add-radio-file,bootloader.img) + $(call add-radio-file,radio.img) endif -$(call add-radio-file-checked,radio.img,version-baseband) - ifneq ($(filter lynx,$(TARGET_DEVICE)),) include $(CLEAR_VARS) LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX) -LOCAL_MODULE := QualifiedNetworksService +LOCAL_MODULE := PixelQualifiedNetworksService LOCAL_MODULE_TAGS := optional LOCAL_BUILT_MODULE_STEM := package.apk LOCAL_SYSTEM_EXT_MODULE := true diff --git a/self-extractors/google_devices/staging/device-partial.mk b/self-extractors/google_devices/staging/device-partial.mk index 7f1e7e3..d4e5924 100644 --- a/self-extractors/google_devices/staging/device-partial.mk +++ b/self-extractors/google_devices/staging/device-partial.mk @@ -17,7 +17,7 @@ PRODUCT_SOONG_NAMESPACES += \ # AOSP packages required by the blobs PRODUCT_PACKAGES := \ - QualifiedNetworksService \ + PixelQualifiedNetworksService \ ShannonIms \ ShannonRcs \ diff --git a/sensors/sensors_dummy.c b/sensors/sensors_dummy.c deleted file mode 100644 index b1edd56..0000000 --- a/sensors/sensors_dummy.c +++ /dev/null @@ -1,409 +0,0 @@ -/* - * Copyright (C) 2009 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. - */ - -/* this implements a sensors hardware library for the Android emulator. - * the following code should be built as a shared library that will be - * placed into /system/lib/hw/sensors.goldfish.so - * - * it will be loaded by the code in hardware/libhardware/hardware.c - * which is itself called from com_android_server_SensorService.cpp - */ - -#define SENSORS_SERVICE_NAME "sensors" - -#define LOG_TAG "Dummy_Sensors" - -#include <unistd.h> -#include <fcntl.h> -#include <errno.h> -#include <string.h> -#include <log/log.h> -#include <cutils/sockets.h> -#include <hardware/sensors.h> -#include <pthread.h> - -#if 0 -#define D(...) ALOGD(__VA_ARGS__) -#else -#define D(...) ((void)0) -#endif - -#define E(...) ALOGE(__VA_ARGS__) - -/** SENSOR IDS AND NAMES - **/ - -#define MAX_NUM_SENSORS 8 - -#define SUPPORTED_SENSORS ((1<<MAX_NUM_SENSORS)-1) - -#define ID_BASE SENSORS_HANDLE_BASE -#define ID_ACCELERATION (ID_BASE+0) -#define ID_MAGNETIC_FIELD (ID_BASE+1) -#define ID_ORIENTATION (ID_BASE+2) -#define ID_TEMPERATURE (ID_BASE+3) -#define ID_PROXIMITY (ID_BASE+4) -#define ID_LIGHT (ID_BASE+5) -#define ID_PRESSURE (ID_BASE+6) -#define ID_HUMIDITY (ID_BASE+7) - -#define SENSORS_ACCELERATION (1 << ID_ACCELERATION) -#define SENSORS_MAGNETIC_FIELD (1 << ID_MAGNETIC_FIELD) -#define SENSORS_ORIENTATION (1 << ID_ORIENTATION) -#define SENSORS_TEMPERATURE (1 << ID_TEMPERATURE) -#define SENSORS_PROXIMITY (1 << ID_PROXIMITY) -#define SENSORS_LIGHT (1 << ID_LIGHT) -#define SENSORS_PRESSURE (1 << ID_PRESSURE) -#define SENSORS_HUMIDITY (1 << ID_HUMIDITY) - -#define ID_CHECK(x) ((unsigned)((x) - ID_BASE) < MAX_NUM_SENSORS) - -#define SENSORS_LIST \ - SENSOR_(ACCELERATION,"acceleration") \ - SENSOR_(MAGNETIC_FIELD,"magnetic-field") \ - SENSOR_(ORIENTATION,"orientation") \ - SENSOR_(TEMPERATURE,"temperature") \ - SENSOR_(PROXIMITY,"proximity") \ - SENSOR_(LIGHT, "light") \ - SENSOR_(PRESSURE, "pressure") \ - SENSOR_(HUMIDITY, "humidity") - -static const struct { - const char* name; - int id; } _sensorIds[MAX_NUM_SENSORS] = -{ -#define SENSOR_(x,y) { y, ID_##x }, - SENSORS_LIST -#undef SENSOR_ -}; - -static const char* -_sensorIdToName( int id ) -{ - int nn; - for (nn = 0; nn < MAX_NUM_SENSORS; nn++) - if (id == _sensorIds[nn].id) - return _sensorIds[nn].name; - return "<UNKNOWN>"; -} - -static int -_sensorIdFromName( const char* name ) -{ - int nn; - - if (name == NULL) - return -1; - - for (nn = 0; nn < MAX_NUM_SENSORS; nn++) - if (!strcmp(name, _sensorIds[nn].name)) - return _sensorIds[nn].id; - - return -1; -} - -/* return the current time in nanoseconds */ -static int64_t now_ns(void) { - struct timespec ts; - clock_gettime(CLOCK_MONOTONIC, &ts); - return (int64_t)ts.tv_sec * 1000000000 + ts.tv_nsec; -} - -/** SENSORS POLL DEVICE - ** - ** This one is used to read sensor data from the hardware. - ** We implement this by simply reading the data from the - ** emulator through the QEMUD channel. - **/ - -typedef struct SensorDevice { - struct sensors_poll_device_1 device; - sensors_event_t sensors[MAX_NUM_SENSORS]; - uint32_t pendingSensors; - int64_t timeStart; - int64_t timeOffset; - uint32_t active_sensors; - int fd; - pthread_mutex_t lock; -} SensorDevice; - -/* Grab the file descriptor to the emulator's sensors service pipe. - * This function returns a file descriptor on success, or -errno on - * failure, and assumes the SensorDevice instance's lock is held. - * - * This is needed because set_delay(), poll() and activate() can be called - * from different threads, and poll() is blocking. - * - * 1) On a first thread, de-activate() all sensors first, then call poll(), - * which results in the thread blocking. - * - * 2) On a second thread, slightly later, call set_delay() then activate() - * to enable the acceleration sensor. - * - * The system expects this to unblock the first thread which will receive - * new sensor events after the activate() call in 2). - * - * This cannot work if both threads don't use the same connection. - * - * TODO(digit): This protocol is brittle, implement another control channel - * for set_delay()/activate()/batch() when supporting HAL 1.3 - */ -static int sensor_device_get_fd_locked(SensorDevice* dev) { - /* Create connection to service on first call */ - if (dev->fd < 0) { - int ret = -errno; - E("%s: Could not open connection to service: %s", __FUNCTION__, - strerror(-ret)); - return ret; - } - return dev->fd; -} - -/* Pick up one pending sensor event. On success, this returns the sensor - * id, and sets |*event| accordingly. On failure, i.e. if there are no - * pending events, return -EINVAL. - * - * Note: The device's lock must be acquired. - */ -static int sensor_device_pick_pending_event_locked(SensorDevice* d, - sensors_event_t* event) -{ - uint32_t mask = SUPPORTED_SENSORS & d->pendingSensors; - - if (mask) { - uint32_t i = 31 - __builtin_clz(mask); - - pthread_mutex_lock(&d->lock); - d->pendingSensors &= ~(1U << i); - *event = d->sensors[i]; - event->sensor = i; - event->version = sizeof(*event); - pthread_mutex_unlock(&d->lock); - D("%s: %d [%f, %f, %f]", __FUNCTION__, - i, - event->data[0], - event->data[1], - event->data[2]); - return i; - } - E("No sensor to return!!! pendingSensors=0x%08x", d->pendingSensors); - // we may end-up in a busy loop, slow things down, just in case. - usleep(1000); - return -EINVAL; -} - -static int sensor_device_close(struct hw_device_t* dev0) -{ - SensorDevice* dev = (void*)dev0; - // Assume that there are no other threads blocked on poll() - if (dev->fd >= 0) { - close(dev->fd); - dev->fd = -1; - } - pthread_mutex_destroy(&dev->lock); - free(dev); - return 0; -} - -/* Return an array of sensor data. This function blocks until there is sensor - * related events to report. On success, it will write the events into the - * |data| array, which contains |count| items. The function returns the number - * of events written into the array, which shall never be greater than |count|. - * On error, return -errno code. - * - * Note that according to the sensor HAL [1], it shall never return 0! - * - * [1] http://source.android.com/devices/sensors/hal-interface.html - */ -static int sensor_device_poll(struct sensors_poll_device_t *dev0, - sensors_event_t* data, int count) -{ - return -EIO; -} - -static int sensor_device_activate(struct sensors_poll_device_t *dev0, - int handle, - int enabled) -{ - SensorDevice* dev = (void*)dev0; - - D("%s: handle=%s (%d) enabled=%d", __FUNCTION__, - _sensorIdToName(handle), handle, enabled); - - /* Sanity check */ - if (!ID_CHECK(handle)) { - E("%s: bad handle ID", __FUNCTION__); - return -EINVAL; - } - - /* Exit early if sensor is already enabled/disabled. */ - uint32_t mask = (1U << handle); - uint32_t sensors = enabled ? mask : 0; - - pthread_mutex_lock(&dev->lock); - - uint32_t active = dev->active_sensors; - uint32_t new_sensors = (active & ~mask) | (sensors & mask); - uint32_t changed = active ^ new_sensors; - - if (changed) - dev->active_sensors = new_sensors; - - pthread_mutex_unlock(&dev->lock); - return 0; -} - -static int sensor_device_default_flush( - struct sensors_poll_device_1* dev0, - int handle) { - - SensorDevice* dev = (void*)dev0; - - D("%s: handle=%s (%d)", __FUNCTION__, - _sensorIdToName(handle), handle); - - /* Sanity check */ - if (!ID_CHECK(handle)) { - E("%s: bad handle ID", __FUNCTION__); - return -EINVAL; - } - - pthread_mutex_lock(&dev->lock); - dev->sensors[handle].version = META_DATA_VERSION; - dev->sensors[handle].type = SENSOR_TYPE_META_DATA; - dev->sensors[handle].sensor = 0; - dev->sensors[handle].timestamp = 0; - dev->sensors[handle].meta_data.what = META_DATA_FLUSH_COMPLETE; - dev->pendingSensors |= (1U << handle); - pthread_mutex_unlock(&dev->lock); - - return 0; -} - -static int sensor_device_set_delay(struct sensors_poll_device_t *dev0, - int handle __unused, - int64_t ns) -{ - return 0; -} - -static int sensor_device_default_batch( - struct sensors_poll_device_1* dev, - int sensor_handle, - int flags, - int64_t sampling_period_ns, - int64_t max_report_latency_ns) { - return sensor_device_set_delay(dev, sensor_handle, sampling_period_ns); -} - -/** MODULE REGISTRATION SUPPORT - ** - ** This is required so that hardware/libhardware/hardware.c - ** will dlopen() this library appropriately. - **/ - -/* - * the following is the list of all supported sensors. - * this table is used to build sSensorList declared below - * according to which hardware sensors are reported as - * available from the emulator (see get_sensors_list below) - * - * note: numerical values for maxRange/resolution/power for - * all sensors but light, pressure and humidity were - * taken from the reference AK8976A implementation - */ -static const struct sensor_t sSensorListInit[] = { - { .name = "Accelerometer", - .vendor = "The Android Open Source Project", - .version = 1, - .handle = ID_ACCELERATION, - .type = SENSOR_TYPE_ACCELEROMETER, - .maxRange = 2.8f, - .resolution = 1.0f/4032.0f, - .power = 3.0f, - .minDelay = 10000, - .maxDelay = 60 * 1000 * 1000, - .fifoReservedEventCount = 0, - .fifoMaxEventCount = 0, - .stringType = 0, - .requiredPermission = 0, - .flags = SENSOR_FLAG_CONTINUOUS_MODE, - .reserved = {} - }, -}; - -static struct sensor_t sSensorList[1]; - -static int sensors__get_sensors_list(struct sensors_module_t* module __unused, - struct sensor_t const** list) -{ - *list = sSensorList; - - return 0; -} - -static int -open_sensors(const struct hw_module_t* module, - const char* name, - struct hw_device_t* *device) -{ - int status = -EINVAL; - - D("%s: name=%s", __FUNCTION__, name); - - if (!strcmp(name, SENSORS_HARDWARE_POLL)) { - SensorDevice *dev = malloc(sizeof(*dev)); - - memset(dev, 0, sizeof(*dev)); - - dev->device.common.tag = HARDWARE_DEVICE_TAG; - dev->device.common.version = SENSORS_DEVICE_API_VERSION_1_3; - dev->device.common.module = (struct hw_module_t*) module; - dev->device.common.close = sensor_device_close; - dev->device.poll = sensor_device_poll; - dev->device.activate = sensor_device_activate; - dev->device.setDelay = sensor_device_set_delay; - - // Version 1.3-specific functions - dev->device.batch = sensor_device_default_batch; - dev->device.flush = sensor_device_default_flush; - - dev->fd = -1; - pthread_mutex_init(&dev->lock, NULL); - - *device = &dev->device.common; - status = 0; - } - return status; -} - - -static struct hw_module_methods_t sensors_module_methods = { - .open = open_sensors -}; - -struct sensors_module_t HAL_MODULE_INFO_SYM = { - .common = { - .tag = HARDWARE_MODULE_TAG, - .version_major = 1, - .version_minor = 0, - .id = SENSORS_HARDWARE_MODULE_ID, - .name = "Dummy SENSORS Module", - .author = "The Android Open Source Project", - .methods = &sensors_module_methods, - }, - .get_sensors_list = sensors__get_sensors_list -}; diff --git a/thermal_info_config_lynx.json b/thermal_info_config_lynx.json index 075a283..a72d137 100644 --- a/thermal_info_config_lynx.json +++ b/thermal_info_config_lynx.json @@ -866,5 +866,45 @@ "PowerSampleDelay":14000, "PowerSampleCount":5 } - ] + ], + "Stats": { + "Sensors": { + "RecordWithDefaultThreshold": ["VIRTUAL-SKIN", "VIRTUAL-SKIN-CHARGE-WLC"], + "RecordWithThreshold": [ + { + "Name": "VIRTUAL-NEU-QUT-SKIN1-SKIN2-USB-USB2-GNSS-1", + "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51] + }, + { + "Name": "VIRTUAL-QUT-SKIN2-USB-USB2-2", + "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51] + }, + { + "Name": "VIRTUAL-QUT-SKIN2-USB-GNSS-3", + "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51] + }, + { + "Name": "VIRTUAL-NEU-QUT-SKIN1-SKIN2-USB-USB2-GNSS-4", + "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51] + }, + { + "Name": "VIRTUAL-SKIN", + "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51] + }, + { + "Name": "VIRTUAL-SKIN-CHARGE-WLC", + "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51] + }, + { + "Name": "VIRTUAL-USB-THROTTLING", + "Thresholds": [2.0] + } + ] + }, + "CoolingDevices": { + "RecordVotePerSensor": { + "DefaultThresholdEnableAll": true + } + } + } } |