Merge 10952656

Merged-In: Ib8c847ed355f1502d0b4bc92af239fbe293a7a36
Change-Id: Iadaafc8a8f2d330ac43645f259f83918ca0700fc
This commit is contained in:
Xin Li 2023-10-17 10:08:04 -07:00
commit 77e53f462a
24 changed files with 1883 additions and 381 deletions

View file

@ -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>

View file

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

File diff suppressed because it is too large Load diff

View file

@ -16,6 +16,15 @@
AUDIO_TABLE_FOLDER := tangorpro
# Enable this to build AIDL
BUILD_AUDIO_AIDL_VERSION := false
ifeq ($(BUILD_AUDIO_AIDL_VERSION),true)
PRODUCT_COPY_FILES += \
device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/aidl_config/audio_platform_configuration_aidl.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_configuration_aidl.xml \
device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/aidl_config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
device/google/tangorpro/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/tangorpro/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 +43,7 @@ PRODUCT_COPY_FILES += \
# Mixer Path Configuration for AudioHAL
PRODUCT_COPY_FILES += \
device/google/tangorpro/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
@ -51,7 +61,13 @@ PRODUCT_COPY_FILES += \
device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HEADSET.dat:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HEADSET.dat \
device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/mcps.dat:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/mcps.dat \
device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/waves/waves_config.ini:$(TARGET_COPY_OUT_VENDOR)/etc/waves_config.ini \
device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/waves/waves_preset.mps:$(TARGET_COPY_OUT_VENDOR)/etc/waves_preset.mps
device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/waves/waves_preset.mps:$(TARGET_COPY_OUT_VENDOR)/etc/waves_preset.mps \
device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/apmg3/uplink_headset_config.pb:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/uplink_headset_config.pb \
device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/apmg3/uplink_dock_config.pb:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/uplink_dock_config.pb \
device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/apmg3/uplink_tablet_stereo_config.pb:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/uplink_tablet_stereo_config.pb \
device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/apmg3/downlink_headset_config.pb:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/downlink_headset_config.pb \
device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/apmg3/downlink_dock_config.pb:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/downlink_dock_config.pb \
device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/apmg3/downlink_tablet_stereo_config.pb:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/downlink_tablet_stereo_config.pb
# userdebug specific
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))

View file

@ -10,6 +10,7 @@
<library name="proxy" path="libeffectproxy.so"/>
<library name="offload_effect" path="liboffloadeffect.so"/>
<library name="haptic_generator" path="libhapticgenerator.so"/>
<library name="spatializer" path="libspatialaudio.so"/>
</libraries>
<effects>
<effectProxy name="bassboost" library="proxy" uuid="2f0871a2-c93c-4824-9664-42eb2909f2ef">
@ -54,6 +55,7 @@
<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="spatializer" library="spatializer" uuid="cc4677de-ff72-11eb-9a03-0242ac130003"/>
</effects>
<postprocess>
</postprocess>

View file

@ -187,6 +187,8 @@
<usecase id="UC_DEEP_BUFFER_PLAYBACK" dev1="5" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="4"/>
<!-- dev1: voice-call downlink dev2: voice-clal uplink -->
<usecase id="UC_VOICE_CALL" dev1="4" dev2="11"/>
<!-- for output with flag AUDIO_OUTPUT_SPATIALIZER -->
<usecase id="UC_IMMERSIVE_PLAYBACK" dev1="3" dyn_path="true" dsp_vol="false" mmap="false" period="10" period_num="3"/>
<!-- for output with AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD, 4 * 128KB buffer -->
<usecase id="UC_COMPRESSED_OFFLOAD_PLAYBACK" dev1="6" dyn_path="true" dsp_vol="true" mmap="false" period="131072" period_num="4" pre_proc_id="14"/>
<!-- dev1: audio dev2: haptic -->
@ -197,7 +199,7 @@
<usecase id="UC_AUDIO_RECORD" dev1="8" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="4"/>
<usecase id="UC_HOSTLESS_UL" dev1="15"/>
<!-- for VOIP input, 4 * 10ms buffer -->
<usecase id="UC_VOIP_RECORD" dev1="17" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="2"/>
<usecase id="UC_VOIP_RECORD" dev1="20" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="2" pcm_ch="4"/>
<!-- for input wit AUDIO_INPUT_FLAG_FAST 480 periods * 1ms buffer, 16-bit, 2ch, buffer size 92160 bytes-->
<usecase id="UC_LOW_LATENCY_AUDIO_RECORD" dev1="10" dyn_path="true" dsp_vol="false" mmap="true" period="1" period_num="480"/>
<!-- for input wit AUDIO_INPUT_FLAG_MMAP_NOIRQ 240 periods * 1ms buffer, 32-bit,2 ch, buffer size 92160 bytes -->
@ -223,6 +225,10 @@
<be_cfg be_id="OUT_A2DP_BE_CFG" latency="180000"/>
</usecase>
<usecase id="UC_IMMERSIVE_PLAYBACK" type="playback">
<be_cfg be_id="OUT_A2DP_BE_CFG" latency="100000"/>
</usecase>
<usecase id="UC_AUDIO_RECORD" type="capture">
<be_cfg be_id="IN_CAMCORDER_LANDSCAPE_BE_CFG" latency="160000"/>
<be_cfg be_id="IN_CAMCORDER_INVERT_LANDSCAPE_BE_CFG" latency="160000"/>
@ -239,10 +245,15 @@
</usecase>
</dsp_latency>
<usecase_effect>
<usecase id="UC_VOIP_RECORD" effect_lib="audio_speech_enhancer_aoc.so"/>
</usecase_effect>
<soundcard_name name="google,aoc-snd-card" />
<features>
<feature name="SoundTriggerDockTuning"/>
<feature name="BatteryThrottle=Type:BCL_VOLTAGE,Name:BCL_AUDIO_BAACL,Strategy:WholeSpeaker"/>
<feature name="Apmg3"/>
</features>
<cfg_attr>
@ -280,7 +291,9 @@
<xlate_id>
<item component="TUNING_COMPONENT_WAVES" id="2"/>
<item component="TUNING_COMPONENT_FORTEMEDIA" id="3"/>
<item component="TUNING_COMPONENT_APMG3" id="24"/>
<item component="TUNING_COMPONENT_CAMCORDER" id="6"/>
<item component="TUNING_COMPONENT_STEREO_SPATIALIZER" id="26"/>
</xlate_id>
<voip_db_mapping>
@ -293,11 +306,15 @@
</device_handle>
<external_module>
<module libname="audio_waves_aoc.so" argu="Sink=SPK:1,USB_DOCK:4,USB_HP:4"/>
<module libname="audio_waves_aoc.so" argu="Sink=SPK:1,USB_DOCK:4,USB_HP:4 Extensions=StereoSpatializer"/>
<module libname="audio_spk_35l41.so" argu="SpeakerNum=4,Rotation"/>
<module libname="audio_fortemedia_aoc.so" argu="RTN_SUP=y DOCK_CHARGER_MONITOR=y DL_CH=y VoIP_DLCHs=SPK:2,USB:2 VoIP_Rate=32000"/>
<module libname="liboffloadeffect.so"/>
<module libname="audio_amcs_ext.so" argu="SpeakerNum=4" />
<module libname="audio_bluenote_aoc.so"/>
<module libname="audio_apmg3_aoc.so"/>
</external_module>
<hal_effect>
<module libname="audio_speech_enhancer_aoc.so"/>
</hal_effect>
</audio_platform_configuration>

View file

@ -58,6 +58,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_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"
@ -162,17 +166,17 @@
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
</devicePort>
<devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
encodedFormats="AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
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_AAC AUDIO_FORMAT_SBC">
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_AAC AUDIO_FORMAT_SBC">
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>
@ -189,21 +193,21 @@
<!-- route declaration, i.e. list all available sources for a given sink -->
<routes>
<route type="mix" sink="Speaker"
sources="primary output,deep buffer,raw,compressed_offload,mmap_no_irq_out,voip_rx,ultrasound output"/>
sources="primary output,deep buffer,raw,compressed_offload,mmap_no_irq_out,voip_rx,ultrasound output,immersive_out"/>
<route type="mix" sink="Speaker Safe"
sources="primary output,deep buffer,raw,compressed_offload,mmap_no_irq_out,voip_rx,ultrasound output"/>
<route type="mix" sink="BT A2DP Out"
sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out,immersive_out"/>
<route type="mix" sink="BT A2DP Headphones"
sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out,immersive_out"/>
<route type="mix" sink="BT A2DP Speaker"
sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out,immersive_out"/>
<route type="mix" sink="USB Device Out"
sources="primary output,deep buffer,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/>
sources="primary output,deep buffer,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="USB Dock"
sources="primary output,deep buffer,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/>
sources="primary output,deep buffer,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="USB Headset Out"
sources="primary output,deep buffer,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/>
sources="primary output,deep buffer,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="BT SCO"
sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
<route type="mix" sink="BT SCO Headset"

View file

@ -58,6 +58,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"
@ -178,11 +182,11 @@
<route type="mix" sink="Speaker Safe"
sources="primary output,deep buffer,raw,compressed_offload,mmap_no_irq_out,voip_rx,ultrasound output"/>
<route type="mix" sink="USB Device Out"
sources="primary output,deep buffer,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/>
sources="primary output,deep buffer,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,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/>
sources="primary output,deep buffer,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="USB Dock"
sources="primary output,deep buffer,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/>
sources="primary output,deep buffer,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="BT SCO"
sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
<route type="mix" sink="BT SCO Headset"

View file

@ -155,6 +155,7 @@
<ctl name="TDM_0_RX Mixer VOIP" value="0"/>
<ctl name="TDM_0_RX Mixer RAW" value="0"/>
<ctl name="TDM_0_RX Mixer US" 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"/>
@ -177,6 +178,7 @@
<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"/>
@ -188,6 +190,7 @@
<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"/>
@ -607,14 +610,17 @@
</path>
<path name="voip-recordC">
<ctl name="Incall Capture Stream0" value="3MIC"/>
<ctl name="VOIP TX Mixer INTERNAL_MIC_TX" value="1"/>
</path>
<path name="voip-recordC usb-headset-mic">
<ctl name="Incall Capture Stream0" value="3MIC"/>
<ctl name="VOIP TX Mixer USB_TX" value="1"/>
</path>
<path name="voip-recordC bt-mic">
<ctl name="Incall Capture Stream0" value="3MIC"/>
<ctl name="VOIP TX Mixer BT_TX" value="1"/>
</path>

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -30,6 +30,7 @@ SPEAKER_MUSIC = OM:1,SM:2,OST:OST_SPEAKER
SPEAKER_SAFE_MUSIC = OM:1,SM:2,OST:OST_SPEAKER
SPEAKER_SAFE_CALL = OM:1,SM:2,OST:OST_SPEAKER
SPEAKER_MUSIC_2_1 = OM:6,SM:2
SPEAKER_RESERVED_MUSIC = OM:1,SM:3,OST:OST_SPEAKER
DOCKSPEAKER_MUSIC = OM:4,SM:2
DOCKSPEAKER_VOICE_MUSIC = OM:7,SM:2
@ -39,7 +40,7 @@ DOCKSPEAKER_VOICE_MUSIC = OM:7,SM:2
# This can be configured by Waves or platform vendor.
########################################################################################################
[HAL_SUPPORTED_CONTROLS]
SPEAKER_INSTANCE = INSTANCE:1,DEV:0,SR:SR_COMMON,PRESET:SPEAKER_MUSIC|SPEAKER_SAFE_MUSIC|SPEAKER_SAFE_CALL|SPEAKER_MUSIC_2_1
SPEAKER_INSTANCE = INSTANCE:1,DEV:0,SR:SR_COMMON,PRESET:SPEAKER_MUSIC|SPEAKER_SAFE_MUSIC|SPEAKER_SAFE_CALL|SPEAKER_MUSIC_2_1|SPEAKER_RESERVED_MUSIC
DOCKSPEAKER_INSTANCE = INSTANCE:4,DEV:0,SR:SR_COMMON,PRESET:DOCKSPEAKER_MUSIC|DOCKSPEAKER_VOICE_MUSIC
[COEFS_CONVERTER_SETTING]
@ -54,14 +55,16 @@ AlgFxPath64=/vendor/lib64/libAlgFx_HiFi3z.so
#AudioFormatIncrement=8
[CUSTOM_ACTION_259]
CASE_1=PRIORITY:0,NUMBERS:2:0|1:0,PRESET:SPEAKER_MUSIC
CASE_2=PRIORITY:1,NUMBERS:1|2|4194304:2|3|4:0|1,PRESET:SPEAKER_SAFE_CALL
CASE_3=PRIORITY:2,NUMBERS:1|4194304:0|1:0|1,PRESET:SPEAKER_SAFE_MUSIC
CASE_4=PRIORITY:3,NUMBERS:4096|16384|67108864:0|1|4:0|1,PRESET:DOCKSPEAKER_MUSIC
CASE_5=PRIORITY:4,NUMBERS:2:0|1:1,PRESET:SPEAKER_MUSIC_2_1
CASE_6=PRIORITY:5,NUMBERS:4096|16384|67108864:2|3:0|1,PRESET:DOCKSPEAKER_VOICE_MUSIC
CASE_1=PRIORITY:0,NUMBERS:2:0|1:0:0,PRESET:SPEAKER_MUSIC
CASE_2=PRIORITY:1,NUMBERS:1|2|4194304:2|3|4:0|1:0|1,PRESET:SPEAKER_SAFE_CALL
CASE_3=PRIORITY:2,NUMBERS:1|4194304:0|1:0|1:0|1,PRESET:SPEAKER_SAFE_MUSIC
CASE_4=PRIORITY:3,NUMBERS:4096|16384|67108864:0|1|4:0|1:0|1,PRESET:DOCKSPEAKER_MUSIC
CASE_5=PRIORITY:4,NUMBERS:2:0|1:1:0|1,PRESET:SPEAKER_MUSIC_2_1
CASE_6=PRIORITY:5,NUMBERS:4096|16384|67108864:2|3:0|1:0|1,PRESET:DOCKSPEAKER_VOICE_MUSIC
CASE_7=PRIORITY:6,NUMBERS:2:0|1:0:1,PRESET:SPEAKER_RESERVED_MUSIC
# Action 259 parameters: audio_devices_t, audio_mode_t, is_dock_speaker_active_t
# Action 259 parameters: audio_devices_t, audio_mode_t, is_dock_speaker_active_t, is_spatial_audio_active_t
# - audio_devices_t : current active device
# - audio_mode_t : 0 - normal, 1 - incoming, 2 - voice call, 3 - voip
# - is_dock_speaker_active_t: 0 - Disabled, 1 - Enabled
# - is_dock_speaker_active_t: 0 - Disabled, 1 - Enabled
# - is_spatial_audio_active_t: 0 - Disabled, 1 - Enabled

View file

@ -15,9 +15,22 @@
# limitations under the License.
#
# Override BQR mask to enable LE Audio Choppy report
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
PRODUCT_PRODUCT_PROPERTIES += \
persist.bluetooth.bqr.event_mask=262238
else
PRODUCT_PRODUCT_PROPERTIES += \
persist.bluetooth.bqr.event_mask=94
endif
# Not support LE Audio dual mic SWB call based on the current launch strategy
PRODUCT_PRODUCT_PROPERTIES += \
bluetooth.leaudio.dual_bidirection_swb.supported=false
# Bluetooth Super Wide Band
PRODUCT_PRODUCT_PROPERTIES += \
bluetooth.hfp.swb.supported=true
bluetooth.hfp.swb.supported=false
# Bluetooth LE Audio
PRODUCT_PRODUCT_PROPERTIES += \
@ -29,6 +42,10 @@ PRODUCT_PRODUCT_PROPERTIES += \
bluetooth.profile.ccp.server.enabled?=true \
bluetooth.profile.vcp.controller.enabled?=true \
# LE Audio Lunch Config for Phase 1 (LE audio toggle hidden by default)
PRODUCT_PRODUCT_PROPERTIES += \
persist.bluetooth.leaudio.toggle_visible=false
# Bluetooth HAL and Pixel extension
DEVICE_MANIFEST_FILE += \
device/google/tangorpro/bluetooth/manifest_bluetooth.xml
@ -55,7 +72,7 @@ PRODUCT_PROPERTY_OVERRIDES += \
PRODUCT_PROPERTY_OVERRIDES += \
ro.bluetooth.a2dp_offload.supported=true \
persist.bluetooth.a2dp_offload.disabled=false \
persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac
persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac-opus
PRODUCT_PRODUCT_PROPERTIES += \
persist.bluetooth.firmware.selection="BTFW.hcd"

View file

@ -1,6 +1,9 @@
# Tangorpro specific init.rc
import /vendor/etc/init/hw/init.gs201.rc
on init && property:ro.build.flavor=tangorpro-userdebug
import /vendor/etc/init/hw/init.tangorpro.userdebug.rc
on init && property:ro.vendor.factory=1
import /vendor/etc/init/hw/init.factory.rc

View file

@ -106,6 +106,23 @@ PRODUCT_SOONG_NAMESPACES += device/google/tangorpro/powerstats
# Bluetooth HAL and Pixel extension
include device/google/tangorpro/bluetooth/syna_default.mk
# Spatial Audio
PRODUCT_PACKAGES += \
libspatialaudio
# optimize spatializer effect
PRODUCT_PROPERTY_OVERRIDES += \
audio.spatializer.effect.util_clamp_min=300
# declare use of spatial audio
PRODUCT_PROPERTY_OVERRIDES += \
ro.audio.spatializer_enabled=true \
persist.vendor.audio.spatializer.speaker_enabled=true
# Bluetooth OPUS codec
PRODUCT_PRODUCT_PROPERTIES += \
persist.bluetooth.opus.enabled=true
# Keymaster HAL
#LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= android.hardware.keymaster@4.1-service
@ -150,9 +167,6 @@ PRODUCT_SOONG_NAMESPACES += vendor/google_devices/tangorpro/prebuilts
PRODUCT_PROPERTY_OVERRIDES += \
ro.vendor.wifi.sap.interface=wlan1
# Set ro.crypto.metadata_init_delete_all_keys.enabled to false to unblock boot
PRODUCT_PROPERTY_OVERRIDES += ro.crypto.metadata_init_delete_all_keys.enabled=false
# Assistant minimum volume
PRODUCT_PROPERTY_OVERRIDES += \
ro.config.assistant_vol_min=1
@ -259,6 +273,14 @@ PRODUCT_PROPERTY_OVERRIDES += \
PRODUCT_VENDOR_PROPERTIES += \
persist.vendor.camera.exif_reveal_make_model=true
# Audio
PRODUCT_PROPERTY_OVERRIDES += \
ro.audio.multi_usb_mode=true
# Audio package
PRODUCT_PACKAGES += \
audio_apmg3_aoc
# AudioProxy
PRODUCT_PACKAGES += \
libaudio_proxy.google \
@ -266,6 +288,14 @@ PRODUCT_PACKAGES += \
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := device/google/tangorpro/device_framework_matrix_product_tangorpro.xml
#Audio
PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.audio.speech_enhancement.enable=1
PRODUCT_PACKAGES += \
libspeechenhancer \
audio_speech_enhancer_aoc
PRODUCT_COPY_FILES += \
device/google/tangorpro/public.libraries-google-tangorpro.txt:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/public.libraries-google.txt

View file

@ -98,16 +98,6 @@
<transport>hwbinder</transport>
<fqname>@1.2::IBootControl/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.neuralnetworks</name>
<transport>hwbinder</transport>
<version>1.2</version>
<interface>
<name>IDevice</name>
<instance>armnn</instance>
</interface>
<fqname>@1.2::IDevice/armnn</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.neuralnetworks</name>
<transport>hwbinder</transport>

View file

@ -292,6 +292,14 @@
],
"ResetOnInit": true
},
{
"Name": "NewlyIdleBalancer",
"Path": "/proc/vendor_sched/idle_balancer",
"Values": [
"0",
"1"
],
},
{
"Name": "DisplayWakeup",
"Path": "/sys/devices/platform/1c240000.drmdecon/early_wakeup",
@ -690,30 +698,6 @@
"Type": "DoHint",
"Value": "LAUNCH_PMU"
},
{
"PowerHint": "LAUNCH",
"Type": "DoHint",
"EnableProperty": "vendor.powerhal.camerarunning",
"Value": "CDCPUSET_RESTRICTED"
},
{
"PowerHint": "LAUNCH",
"Type": "DoHint",
"EnableProperty": "vendor.powerhal.camerarunning",
"Value": "CDHIGHCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "LAUNCH",
"Type": "DoHint",
"EnableProperty": "vendor.powerhal.camerarunning",
"Value": "CDMIDCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "LAUNCH",
"Type": "DoHint",
"EnableProperty": "vendor.powerhal.camerarunning",
"Value": "CDMIDHIGHCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "LAUNCH",
"Type": "DoHint",
@ -1061,6 +1045,12 @@
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "CAMERA_STREAMING_EXTREME",
"Node": "NewlyIdleBalancer",
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "CAMERA_STREAMING_HIGH",
"Node": "PowerHALCameraRunning",
@ -1133,6 +1123,12 @@
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "CAMERA_STREAMING_HIGH",
"Node": "NewlyIdleBalancer",
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "CAMERA_STREAMING_STANDARD",
"Node": "PowerHALCameraRunning",
@ -1229,6 +1225,12 @@
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "CAMERA_STREAMING_STANDARD",
"Node": "NewlyIdleBalancer",
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "CAMERA_STREAMING_LOW",
"Node": "PowerHALCameraRunning",
@ -1289,6 +1291,12 @@
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "CAMERA_STREAMING_LOW",
"Node": "NewlyIdleBalancer",
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "CAMERA_VIDEO_RECORDING",
"Type": "MaskHint",
@ -1608,72 +1616,6 @@
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE",
"Node": "PMU_POLL",
"Duration": 0,
"Value": "1"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE",
"Node": "BigControlTempSet",
"Duration": 0,
"Value": "80000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE",
"Node": "MidControlTempSet",
"Duration": 0,
"Value": "80000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE",
"Node": "LittleControlTempSet",
"Duration": 0,
"Value": "80000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE",
"Node": "G3dControlTempSet",
"Duration": 0,
"Value": "80000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE",
"Node": "TpuControlTempSet",
"Duration": 0,
"Value": "80000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE",
"Node": "BigSwitchOnTempSet",
"Duration": 0,
"Value": "60000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE",
"Node": "MidSwitchOnTempSet",
"Duration": 0,
"Value": "60000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE",
"Node": "LittleSwitchOnTempSet",
"Duration": 0,
"Value": "60000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE",
"Node": "G3dSwitchOnTempSet",
"Duration": 0,
"Value": "60000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE",
"Node": "TpuSwitchOnTempSet",
"Duration": 0,
"Value": "60000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE",
"Node": "Dex2oatThreads",
@ -1686,186 +1628,12 @@
"Duration": 0,
"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,
"Value": "1"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE",
"Node": "BigControlTempSet",
"Duration": 0,
"Value": "80000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE",
"Node": "MidControlTempSet",
"Duration": 0,
"Value": "80000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE",
"Node": "LittleControlTempSet",
"Duration": 0,
"Value": "80000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE",
"Node": "G3dControlTempSet",
"Duration": 0,
"Value": "80000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE",
"Node": "TpuControlTempSet",
"Duration": 0,
"Value": "80000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE",
"Node": "BigSwitchOnTempSet",
"Duration": 0,
"Value": "60000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE",
"Node": "MidSwitchOnTempSet",
"Duration": 0,
"Value": "60000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE",
"Node": "LittleSwitchOnTempSet",
"Duration": 0,
"Value": "60000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE",
"Node": "G3dSwitchOnTempSet",
"Duration": 0,
"Value": "60000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE",
"Node": "TpuSwitchOnTempSet",
"Duration": 0,
"Value": "60000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE",
"Node": "Dex2oatThreads",
"Duration": 0,
"Value": "4"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE",
"Node": "Dex2oatCPUSet",
"Duration": 0,
"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,
"Value": "1"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL",
"Node": "BigControlTempSet",
"Duration": 0,
"Value": "80000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL",
"Node": "MidControlTempSet",
"Duration": 0,
"Value": "80000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL",
"Node": "LittleControlTempSet",
"Duration": 0,
"Value": "80000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL",
"Node": "G3dControlTempSet",
"Duration": 0,
"Value": "80000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL",
"Node": "TpuControlTempSet",
"Duration": 0,
"Value": "80000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL",
"Node": "BigSwitchOnTempSet",
"Duration": 0,
"Value": "60000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL",
"Node": "MidSwitchOnTempSet",
"Duration": 0,
"Value": "60000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL",
"Node": "LittleSwitchOnTempSet",
"Duration": 0,
"Value": "60000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL",
"Node": "G3dSwitchOnTempSet",
"Duration": 0,
"Value": "60000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL",
"Node": "TpuSwitchOnTempSet",
"Duration": 0,
"Value": "60000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL",
"Node": "Dex2oatThreads",
"Duration": 0,
"Value": "2"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL",
"Node": "Dex2oatCPUSet",
"Duration": 0,
"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,
"Value": "1"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
"Node": "CPU_LITTLE_TSKIN_BYPASS",
@ -1884,84 +1652,12 @@
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
"Node": "BigControlTempSet",
"Duration": 0,
"Value": "80000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
"Node": "MidControlTempSet",
"Duration": 0,
"Value": "80000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
"Node": "LittleControlTempSet",
"Duration": 0,
"Value": "80000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
"Node": "G3dControlTempSet",
"Duration": 0,
"Value": "80000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
"Node": "TpuControlTempSet",
"Duration": 0,
"Value": "80000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
"Node": "BigSwitchOnTempSet",
"Duration": 0,
"Value": "60000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
"Node": "MidSwitchOnTempSet",
"Duration": 0,
"Value": "60000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
"Node": "LittleSwitchOnTempSet",
"Duration": 0,
"Value": "60000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
"Node": "G3dSwitchOnTempSet",
"Duration": 0,
"Value": "60000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
"Node": "TpuSwitchOnTempSet",
"Duration": 0,
"Value": "60000"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
"Node": "Dex2oatThreads",
"Duration": 0,
"Value": "1"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
"Node": "Dex2oatCPUSet",
"Duration": 0,
"Value": "0,1,2,3"
},
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
"Node": "Dex2oatGroup",
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "FP_BOOST",
"Node": "CPUBigClusterMaxFreq",
@ -2040,7 +1736,7 @@
"EarlyBoost_On": false,
"EarlyBoost_TimeFactor": 0.0,
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 20.0
"StaleTimeFactor": 15.0
},
{
"Name": "UiHighBoostWithoutPid",

View file

@ -348,8 +348,8 @@
<!-- Indicates whether device has a power button fingerprint sensor. -->
<bool name="config_is_powerbutton_fps">true</bool>
<dimen name="status_bar_height_default">104px</dimen>
<dimen name="status_bar_height_portrait">104px</dimen>
<dimen name="status_bar_height_default">36dp</dimen>
<dimen name="status_bar_height_portrait">36dp</dimen>
<!-- Control whether the pickup gesture is enabled by default. This value will be used
during initialization when the setting is still null. -->
@ -636,7 +636,7 @@
<!-- Enable the system motion prediction model. -->
<bool name="config_enableMotionPrediction">true</bool>
<integer name="config_motionPredictionOffsetNanos">20000000</integer> <!-- 20 ms -->
<integer name="config_motionPredictionOffsetNanos">-4000000</integer> <!-- -4 ms -->
<!-- Whether to reset Battery Stats on unplug when the battery level is high. -->
<bool name="config_batteryStatsResetOnUnplugHighBatteryLevel">false</bool>

View file

@ -32,3 +32,6 @@ WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true
PRODUCT_COPY_FILES += \
device/google/tangorpro/wifi/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf \
device/google/tangorpro/wifi/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf
# Add WIFI_FEATURE_IMU_DETECTION to soong_config
$(call soong_config_set,wifi,feature_imu_detection,$(WIFI_FEATURE_IMU_DETECTION))