1 Commits
bka ... vic

Author SHA1 Message Date
eaf780c7f6 felix: Initialize for Evolution X 10.x
Signed-off-by: AnierinB <anierin@evolution-x.org>
2025-05-12 03:51:44 +00:00
79 changed files with 273916 additions and 1047 deletions

View File

@@ -16,4 +16,9 @@
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/aosp_felix.mk \
$(LOCAL_DIR)/aosp_felix_hwasan.mk \
$(LOCAL_DIR)/factory_felix.mk \
$(LOCAL_DIR)/lineage_felix.mk
COMMON_LUNCH_CHOICES := \
aosp_felix-trunk_staging-userdebug

4
OWNERS Normal file
View File

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

2
PREUPLOAD.cfg Normal file
View File

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

View File

@@ -27,3 +27,6 @@ PRODUCT_DEVICE := felix
PRODUCT_MODEL := AOSP on Felix
PRODUCT_BRAND := Android
PRODUCT_MANUFACTURER := Google
DEVICE_MANIFEST_FILE := \
device/google/felix/manifest.xml

23
aosp_felix_hwasan.mk Normal file
View File

@@ -0,0 +1,23 @@
#
# Copyright 2023 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
$(call inherit-product, device/google/felix/aosp_felix.mk)
PRODUCT_NAME := aosp_felix_hwasan
# Add "hwaddress" as a global sanitizer if it's missing.
ifeq ($(filter hwaddress,$(SANITIZE_TARGET)),)
SANITIZE_TARGET := $(strip $(SANITIZE_TARGET) hwaddress)
endif

View File

@@ -64,3 +64,27 @@ PRODUCT_COPY_FILES += \
device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/mcps.dat:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/mcps.dat \
device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/tuning/waves/waves_config.ini:$(TARGET_COPY_OUT_VENDOR)/etc/waves_config.ini \
device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/tuning/waves/waves_preset.mps:$(TARGET_COPY_OUT_VENDOR)/etc/waves_preset.mps
# eng specific
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
PRODUCT_COPY_FILES += \
device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/BLUETOOTH.mods:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/BLUETOOTH.mods \
device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HANDSFREE.mods:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HANDSFREE.mods \
device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HANDSET.mods:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HANDSET.mods \
device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HEADSET.mods:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HEADSET.mods
#Bluenote files
PRODUCT_COPY_FILES += \
device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/tuning/bluenote/template.xml:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/template.xml \
device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/tuning/bluenote/tuning_constraints_combination.xml:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/tuning_constraints_combination.xml
# Mixer Path Configuration for Audio Speaker Calibration Tool crus_sp_cal
PRODUCT_COPY_FILES += \
device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/cs35l41/crus_sp_cal_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/crus_sp_cal_mixer_paths.xml
# Waves ini/mps files for unit tests of halcontroller
PRODUCT_COPY_FILES += \
device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/tuning/waves/tests/test_config.ini:$(TARGET_COPY_OUT_VENDOR)/etc/test_config.ini \
device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/tuning/waves/tests/test_preset.mps:$(TARGET_COPY_OUT_VENDOR)/etc/test_preset.mps
endif

View File

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

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

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

Binary file not shown.

View File

@@ -4,9 +4,6 @@
UartPort = /dev/ttySAC18
# Update BQR Event Mask property value
BqrEventMaskValueUpdate = 295006
BqrEventMaskValueUpdate = 262238
BtOpusEnabled = true
# Silent recover unimplement type packet when no device connected
SilentRecoverUnimplementedPacket = true

View File

@@ -14,11 +14,22 @@
# limitations under the License.
#
# Restrict the visibility of Android.bp files to improve build analysis time
$(call inherit-product-if-exists, vendor/google/products/sources_pixel.mk)
TARGET_RECOVERY_DEFAULT_ROTATION := ROTATION_RIGHT
TARGET_LINUX_KERNEL_VERSION := $(RELEASE_KERNEL_FELIX_VERSION)
TARGET_KERNEL_DIR := device/google/felix-kernels/evolution
TARGET_BOARD_KERNEL_HEADERS := $(TARGET_KERNEL_DIR)/kernel-headers
# Keeps flexibility for kasan and ufs builds
TARGET_KERNEL_DIR ?= $(RELEASE_KERNEL_FELIX_DIR)
TARGET_BOARD_KERNEL_HEADERS ?= $(RELEASE_KERNEL_FELIX_DIR)/kernel-headers
$(call inherit-product-if-exists, vendor/google_devices/felix/prebuilts/device-vendor-felix.mk)
$(call inherit-product-if-exists, vendor/google_devices/gs201/prebuilts/device-vendor.mk)
$(call inherit-product-if-exists, vendor/google_devices/gs201/proprietary/device-vendor.mk)
$(call inherit-product-if-exists, vendor/google_devices/felix/proprietary/felix/device-vendor-felix.mk)
$(call inherit-product-if-exists, vendor/google_devices/felix/proprietary/device-vendor.mk)
$(call inherit-product-if-exists, vendor/google_devices/felix/proprietary/WallpapersFelix.mk)
$(call inherit-product, device/google/felix/uwb/uwb_calibration_country.mk)
@@ -29,11 +40,12 @@ include device/google/gs201/device-shipping-common.mk
$(call soong_config_set,fp_hal_feature,pixel_product, product_a)
include device/google/felix/vibrator/cs40l26/device.mk
include device/google/gs-common/bcmbt/bluetooth.mk
include device/google/gs-common/display/dump_exynos_second_display.mk
include device/google/gs-common/display/dump_second_display.mk
include device/google/gs-common/touch/gti/predump_gti_dual.mk
include device/google/gs-common/touch/stm/predump_stm6.mk
ifeq ($(filter factory_felix, $(TARGET_PRODUCT)),)
include device/google/felix/uwb/uwb_calibration.mk
endif
# go/lyric-soong-variables
$(call soong_config_set,lyric,camera_hardware,felix)
@@ -48,6 +60,14 @@ PRODUCT_COPY_FILES += \
PRODUCT_COPY_FILES += \
device/google/felix/conf/init.recovery.device.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.felix.rc
# insmod files. Kernel 5.10 prebuilts don't provide these yet, so provide our
# own copy if they're not in the prebuilts.
# TODO(b/369686096): drop this when 5.10 is gone.
ifeq ($(wildcard $(TARGET_KERNEL_DIR)/init.insmod.*.cfg),)
PRODUCT_COPY_FILES += \
device/google/felix/init.insmod.felix.cfg:$(TARGET_COPY_OUT_VENDOR_DLKM)/etc/init.insmod.felix.cfg
endif
# Camera
PRODUCT_COPY_FILES += \
device/google/felix/media_profiles_felix.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml
@@ -155,6 +175,14 @@ PRODUCT_PROPERTY_OVERRIDES += \
ro.audio.spatializer_transaural_enabled_default=false \
persist.vendor.audio.spatializer.speaker_enabled=true
# Bluetooth SAR test tool
PRODUCT_PACKAGES_ENG += \
sar_test
# Bluetooth hci_inject test tool
PRODUCT_PACKAGES_ENG += \
hci_inject
# Bluetooth
PRODUCT_PRODUCT_PROPERTIES += \
persist.bluetooth.a2dp_aac.vbr_supported=true
@@ -241,9 +269,7 @@ PRODUCT_VENDOR_PROPERTIES += \
vendor.audio.hapticgenerator.distortion.output.gain=0.52
# Fingerprint
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml
include device/google/gs101/fingerprint/fpc1540/sw42/fpc1540.mk
FPC_MODULE_TYPE=1542_C
# Fingerprint config
include device/google/felix/fingerprint_config.mk
@@ -274,6 +300,9 @@ PRODUCT_PACKAGES += \
SettingsOverlayG0B96 \
SettingsOverlayG9FPL
# Trusty liboemcrypto.so
PRODUCT_SOONG_NAMESPACES += vendor/google_devices/felix/prebuilts
# Set zram size
PRODUCT_VENDOR_PROPERTIES += \
vendor.zram.size=3g
@@ -287,15 +316,28 @@ PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.sensor.hinge_angle.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.hinge_angle.xml
# Location
PRODUCT_COPY_FILES += \
device/google/felix/location/lhd_user.conf.f10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/lhd.conf \
device/google/felix/location/scd_user.conf.f10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/scd.conf
ifneq (,$(filter 6.1, $(TARGET_LINUX_KERNEL_VERSION)))
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
PRODUCT_COPY_FILES += \
device/google/felix/location/gps_user.6.1.xml.f10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.xml
device/google/felix/location/lhd.conf.f10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/lhd.conf \
device/google/felix/location/scd.conf.f10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/scd.conf
ifneq (,$(filter 6.1, $(TARGET_LINUX_KERNEL_VERSION)))
PRODUCT_COPY_FILES += \
device/google/felix/location/gps.6.1.xml.f10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.xml
else
PRODUCT_COPY_FILES += \
device/google/felix/location/gps.xml.f10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.xml
endif
else
PRODUCT_COPY_FILES += \
device/google/felix/location/gps_user.xml.f10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.xml
device/google/felix/location/lhd_user.conf.f10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/lhd.conf \
device/google/felix/location/scd_user.conf.f10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/scd.conf
ifneq (,$(filter 6.1, $(TARGET_LINUX_KERNEL_VERSION)))
PRODUCT_COPY_FILES += \
device/google/felix/location/gps_user.6.1.xml.f10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.xml
else
PRODUCT_COPY_FILES += \
device/google/felix/location/gps_user.xml.f10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.xml
endif
endif
PRODUCT_PACKAGES += \
@@ -348,6 +390,12 @@ PRODUCT_VENDOR_PROPERTIES += \
PRODUCT_PRODUCT_PROPERTIES += \
persist.bluetooth.opus.enabled=true
# WLC eng specific
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
PRODUCT_COPY_FILES += \
device/google/gs201/init.hardware.wlc.rc.userdebug:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.wlc.rc
endif
# Bluetooth LE Audio
PRODUCT_PRODUCT_PROPERTIES += \
ro.bluetooth.leaudio_offload.supported=true \
@@ -361,11 +409,13 @@ PRODUCT_PRODUCT_PROPERTIES += \
bluetooth.profile.vcp.controller.enabled=true \
# Override BQR mask to enable LE Audio Choppy report
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
PRODUCT_PRODUCT_PROPERTIES += \
persist.bluetooth.bqr.event_mask=295006 \
persist.bluetooth.bqr.vnd_quality_mask=16 \
persist.bluetooth.bqr.vnd_trace_mask=0 \
persist.bluetooth.vendor.btsnoop=false
persist.bluetooth.bqr.event_mask=262238
else
PRODUCT_PRODUCT_PROPERTIES += \
persist.bluetooth.bqr.event_mask=94
endif
# Bluetooth LE Audio CIS handover to SCO
# Set the property only if the controller doesn't support CIS and SCO
@@ -385,13 +435,9 @@ PRODUCT_COPY_FILES += \
PRODUCT_PRODUCT_PROPERTIES += \
persist.bluetooth.leaudio.allow_list=SM-R510,WF-1000XM5,SM-R630
# Disable Bluetooth HAP by default
PRODUCT_PRODUCT_PROPERTIES += \
bluetooth.profile.hap.enabled_by_default=false
# Disable Bluetooth LE Audio toggle for ASHA device
PRODUCT_PRODUCT_PROPERTIES += \
bluetooth.leaudio.toggle_visible_for_asha=false
# Bluetooth EWP test tool
PRODUCT_PACKAGES_ENG += \
ewp_tool
# Enable DeviceAsWebcam support
PRODUCT_VENDOR_PROPERTIES += \

View File

@@ -34,9 +34,11 @@ include device/google/gs-common/wireless_charger/wireless_charger.mk
# Build necessary packages for vendor
# Dumpstate
# Codec2
PRODUCT_PACKAGES += \
dump_gsc.sh
libacryl \
libacryl_hdr_plugin \
libexynosv4l2
# GNSS
PRODUCT_PACKAGES += \

View File

@@ -1,7 +1,7 @@
<compatibility-matrix version="1.0" type="framework" level="7">
<hal format="aidl" optional="true">
<name>com.google.hardware.pixel.display</name>
<version>13-15</version>
<version>13</version>
<interface>
<name>IDisplay</name>
<instance>secondary</instance>

View File

@@ -4,13 +4,8 @@
"target_path": "device/google/gs201"
},
{
"remote": "evo-tensor",
"repository": "device_google_felix-kernels_evolution",
"target_path": "device/google/felix-kernels/evolution"
},
{
"remote": "evo-tensor",
"repository": "vendor_google_felix",
"target_path": "vendor/google/felix"
"repository": "device/google/felix-kernels/6.1",
"target_path": "device/google/felix-kernels/6.1",
"remote": "aosp-felix"
}
]

View File

@@ -0,0 +1,25 @@
#!/bin/sh
# Copyright 2023 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
source ../../../common/clear-factory-images-variables.sh
BUILD=9548499
DEVICE=felix
PRODUCT=felix
VERSION=td3a.230201.001
SRCPREFIX=signed-
BOOTLOADER=felix-1.0-9477737
RADIO=g5300n-230112-230118-b-9502391
source ../../../common/generate-factory-images-common.sh

34
factory_felix.mk Normal file
View File

@@ -0,0 +1,34 @@
#
# Copyright 2021 The Android Open-Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
TARGET_LINUX_KERNEL_VERSION := 5.10
$(call inherit-product, device/google/gs201/factory_common.mk)
$(call inherit-product, device/google/felix/device-felix.mk)
include device/google/felix/audio/felix/factory-audio-tables.mk
PRODUCT_NAME := factory_felix
PRODUCT_DEVICE := felix
PRODUCT_MODEL := Factory build on Felix
PRODUCT_BRAND := Android
PRODUCT_MANUFACTURER := Google
# default BDADDR for EVB only
PRODUCT_PROPERTY_OVERRIDES += \
ro.vendor.bluetooth.evb_bdaddr="22:22:22:33:44:55"
# Factory binary of camera
PRODUCT_PACKAGES += fatp_f10_wide_hat_tool fatp_f10_tele_hat_tool

View File

@@ -38,7 +38,9 @@ BOARD_KERNEL_CMDLINE += s2mpg12-regulator.load_sequential=1
USES_IDISPLAY_INTF_SEC := true
include device/google/gs201/BoardConfig-common.mk
-include vendor/google_devices/gs201/prebuilts/BoardConfigVendor.mk
include device/google/gs-common/check_current_prebuilt/check_current_prebuilt.mk
-include vendor/google_devices/felix/proprietary/BoardConfigVendor.mk
include device/google/felix/sepolicy/felix-sepolicy.mk
include device/google/felix/wifi/BoardConfig-wifi.mk

View File

@@ -29,6 +29,8 @@ from extract_utils.main import (
namespace_imports = [
'device/google/felix',
'hardware/google/av',
'hardware/google/gchips',
'hardware/google/graphics/common',
'hardware/google/interfaces',
'hardware/google/pixel',
]

View File

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

View File

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

View File

@@ -9,15 +9,12 @@ product/etc/CarrierSettings/a1_bg.pb
product/etc/CarrierSettings/a1_hr.pb
product/etc/CarrierSettings/a1_mk.pb
product/etc/CarrierSettings/a1_si.pb
product/etc/CarrierSettings/a1mpn_at.pb
product/etc/CarrierSettings/ahamo_jp.pb
product/etc/CarrierSettings/airbus_de.pb
product/etc/CarrierSettings/airbus_fr.pb
product/etc/CarrierSettings/airtel_in.pb
product/etc/CarrierSettings/ais_th.pb
product/etc/CarrierSettings/alcom_fi.pb
product/etc/CarrierSettings/alestra_mx.pb
product/etc/CarrierSettings/aliv_bs.pb
product/etc/CarrierSettings/altice_us.pb
product/etc/CarrierSettings/alticeroaming_us.pb
product/etc/CarrierSettings/andorratelecom_ad.pb
@@ -28,17 +25,13 @@ product/etc/CarrierSettings/asda_gb.pb
product/etc/CarrierSettings/assurance_us.pb
product/etc/CarrierSettings/astca_as.pb
product/etc/CarrierSettings/astoundbroadband_us.pb
product/etc/CarrierSettings/att4g_mx.pb
product/etc/CarrierSettings/att5g_us.pb
product/etc/CarrierSettings/att5gsa_us.pb
product/etc/CarrierSettings/att_mx.pb
product/etc/CarrierSettings/att_us.pb
product/etc/CarrierSettings/attbootstrap_us.pb
product/etc/CarrierSettings/attmvnos_mx.pb
product/etc/CarrierSettings/attmvnos_us.pb
product/etc/CarrierSettings/axis_id.pb
product/etc/CarrierSettings/bait_mx.pb
product/etc/CarrierSettings/bark_us.pb
product/etc/CarrierSettings/base_be.pb
product/etc/CarrierSettings/batelco_bh.pb
product/etc/CarrierSettings/bell_ca.pb
@@ -59,7 +52,6 @@ product/etc/CarrierSettings/celcom_my.pb
product/etc/CarrierSettings/cellcom_il.pb
product/etc/CarrierSettings/cellcom_us.pb
product/etc/CarrierSettings/cellcommno_us.pb
product/etc/CarrierSettings/cellfie_ge.pb
product/etc/CarrierSettings/celluarone_us.pb
product/etc/CarrierSettings/chatr_ca.pb
product/etc/CarrierSettings/chinamobile_hk.pb
@@ -109,7 +101,6 @@ product/etc/CarrierSettings/entel_cl.pb
product/etc/CarrierSettings/epic_mt.pb
product/etc/CarrierSettings/eplus_de.pb
product/etc/CarrierSettings/erate_no.pb
product/etc/CarrierSettings/esimgo_gb.pb
product/etc/CarrierSettings/esn_gb.pb
product/etc/CarrierSettings/etisalat_ae.pb
product/etc/CarrierSettings/euskaltel_es.pb
@@ -125,7 +116,6 @@ product/etc/CarrierSettings/firstnetpacific2_us.pb
product/etc/CarrierSettings/firstnetpacific_us.pb
product/etc/CarrierSettings/fizz_ca.pb
product/etc/CarrierSettings/fl1_li.pb
product/etc/CarrierSettings/fliggsmobile_us.pb
product/etc/CarrierSettings/foroyatele_fo.pb
product/etc/CarrierSettings/free_fr.pb
product/etc/CarrierSettings/free_gp.pb
@@ -140,12 +130,10 @@ product/etc/CarrierSettings/giga_sg.pb
product/etc/CarrierSettings/globe_ph.pb
product/etc/CarrierSettings/gomobile_mt.pb
product/etc/CarrierSettings/grameenphone_bd.pb
product/etc/CarrierSettings/gta_us.pb
product/etc/CarrierSettings/guuk_es.pb
product/etc/CarrierSettings/h3_at.pb
product/etc/CarrierSettings/h3_gb.pb
product/etc/CarrierSettings/h3_ie.pb
product/etc/CarrierSettings/h3_lk.pb
product/etc/CarrierSettings/h3_se.pb
product/etc/CarrierSettings/h3g27202_ie.pb
product/etc/CarrierSettings/halebop_se.pb
@@ -153,7 +141,6 @@ product/etc/CarrierSettings/helium_us.pb
product/etc/CarrierSettings/help_at.pb
product/etc/CarrierSettings/homobile_it.pb
product/etc/CarrierSettings/hotmobile_il.pb
product/etc/CarrierSettings/humane_us.pb
product/etc/CarrierSettings/ice_no.pb
product/etc/CarrierSettings/idea_in.pb
product/etc/CarrierSettings/idmobile_gb.pb
@@ -161,12 +148,9 @@ product/etc/CarrierSettings/iliad_it.pb
product/etc/CarrierSettings/indosat_id.pb
product/etc/CarrierSettings/inland_us.pb
product/etc/CarrierSettings/iwireless_us.pb
product/etc/CarrierSettings/izziatt_mx.pb
product/etc/CarrierSettings/jazz_pk.pb
product/etc/CarrierSettings/jazztel_es.pb
product/etc/CarrierSettings/jcommobile_jp.pb
product/etc/CarrierSettings/joonto_us.pb
product/etc/CarrierSettings/kajeetmvno_us.pb
product/etc/CarrierSettings/kddi5gsa_jp.pb
product/etc/CarrierSettings/kddi_jp.pb
product/etc/CarrierSettings/kddimvno5gsa_jp.pb
@@ -198,15 +182,12 @@ product/etc/CarrierSettings/manxprepaid_im.pb
product/etc/CarrierSettings/masmovil_es.pb
product/etc/CarrierSettings/maxis_my.pb
product/etc/CarrierSettings/mediacom_us.pb
product/etc/CarrierSettings/megamovil_mx.pb
product/etc/CarrierSettings/melita_mt.pb
product/etc/CarrierSettings/meo_pt.pb
product/etc/CarrierSettings/metropcs_us.pb
product/etc/CarrierSettings/mettel_us.pb
product/etc/CarrierSettings/mobifone_vn.pb
product/etc/CarrierSettings/mobily_sa.pb
product/etc/CarrierSettings/monacotelecom_mc.pb
product/etc/CarrierSettings/movistar_cl.pb
product/etc/CarrierSettings/movistar_co.pb
product/etc/CarrierSettings/movistar_es.pb
product/etc/CarrierSettings/movistar_mx.pb
@@ -214,14 +195,12 @@ product/etc/CarrierSettings/mucho_ch.pb
product/etc/CarrierSettings/mvnoconnect_us.pb
product/etc/CarrierSettings/nema_fo.pb
product/etc/CarrierSettings/netcomgroup_fr.pb
product/etc/CarrierSettings/newww_mx.pb
product/etc/CarrierSettings/nexphone_ch.pb
product/etc/CarrierSettings/nextech_us.pb
product/etc/CarrierSettings/no_sim.pb
product/etc/CarrierSettings/nos_pt.pb
product/etc/CarrierSettings/nova_gr.pb
product/etc/CarrierSettings/nova_is.pb
product/etc/CarrierSettings/nymobile_us.pb
product/etc/CarrierSettings/o2_cz.pb
product/etc/CarrierSettings/o2_de.pb
product/etc/CarrierSettings/o2_sk.pb
@@ -246,7 +225,6 @@ product/etc/CarrierSettings/orange_re.pb
product/etc/CarrierSettings/orange_ro.pb
product/etc/CarrierSettings/orange_sk.pb
product/etc/CarrierSettings/others.pb
product/etc/CarrierSettings/oxio_us.pb
product/etc/CarrierSettings/paradisemobile_bm.pb
product/etc/CarrierSettings/partner_il.pb
product/etc/CarrierSettings/pcmobilebell_ca.pb
@@ -266,15 +244,11 @@ product/etc/CarrierSettings/qlink_us.pb
product/etc/CarrierSettings/r_es.pb
product/etc/CarrierSettings/racc_es.pb
product/etc/CarrierSettings/rakuten_jp.pb
product/etc/CarrierSettings/reach_us.pb
product/etc/CarrierSettings/reallycommunications_us.pb
product/etc/CarrierSettings/redpocketatt_us.pb
product/etc/CarrierSettings/redpockettmo_us.pb
product/etc/CarrierSettings/republicwireless_us.pb
product/etc/CarrierSettings/rjio_in.pb
product/etc/CarrierSettings/robi_bd.pb
product/etc/CarrierSettings/roccstar_us.pb
product/etc/CarrierSettings/rockisland_us.pb
product/etc/CarrierSettings/rogers5g_ca.pb
product/etc/CarrierSettings/rogers_ca.pb
product/etc/CarrierSettings/rogerswpn_ca.pb
@@ -292,11 +266,9 @@ product/etc/CarrierSettings/skinny_nz.pb
product/etc/CarrierSettings/skt_kr.pb
product/etc/CarrierSettings/sky_gb.pb
product/etc/CarrierSettings/sky_ie.pb
product/etc/CarrierSettings/sky_mx.pb
product/etc/CarrierSettings/skylo_zz.pb
product/etc/CarrierSettings/smart_ph.pb
product/etc/CarrierSettings/smartfren_id.pb
product/etc/CarrierSettings/smartless_us.pb
product/etc/CarrierSettings/smartone_hk.pb
product/etc/CarrierSettings/smarty_gb.pb
product/etc/CarrierSettings/softbank_jp.pb
@@ -390,14 +362,12 @@ product/etc/CarrierSettings/truphone_zz.pb
product/etc/CarrierSettings/tstar_tw.pb
product/etc/CarrierSettings/turkcell_tr.pb
product/etc/CarrierSettings/turktelekom_tr.pb
product/etc/CarrierSettings/tusass_gl.pb
product/etc/CarrierSettings/twm_tw.pb
product/etc/CarrierSettings/u264a_ca.pb
product/etc/CarrierSettings/u264a_us.pb
product/etc/CarrierSettings/u264ab_ca.pb
product/etc/CarrierSettings/u264ao_at.pb
product/etc/CarrierSettings/u264ap_at.pb
product/etc/CarrierSettings/ubixatt_mx.pb
product/etc/CarrierSettings/ultra_us.pb
product/etc/CarrierSettings/umobile_my.pb
product/etc/CarrierSettings/unifi_my.pb
@@ -407,10 +377,8 @@ product/etc/CarrierSettings/uqmobile5gsa_jp.pb
product/etc/CarrierSettings/uqmobile_jp.pb
product/etc/CarrierSettings/uscc_us.pb
product/etc/CarrierSettings/verizon_us.pb
product/etc/CarrierSettings/verizononsitelte_us.pb
product/etc/CarrierSettings/verymobile_it.pb
product/etc/CarrierSettings/viaero_us.pb
product/etc/CarrierSettings/vianova_it.pb
product/etc/CarrierSettings/videotron_ca.pb
product/etc/CarrierSettings/viettel_vn.pb
product/etc/CarrierSettings/vimla_se.pb
@@ -444,9 +412,7 @@ product/etc/CarrierSettings/vodafone_ro.pb
product/etc/CarrierSettings/vodafone_tr.pb
product/etc/CarrierSettings/walmart_mx.pb
product/etc/CarrierSettings/webbing_hk.pb
product/etc/CarrierSettings/wim_mx.pb
product/etc/CarrierSettings/windtre_it.pb
product/etc/CarrierSettings/wom_cl.pb
product/etc/CarrierSettings/xfinity2_us.pb
product/etc/CarrierSettings/xfinity_us.pb
product/etc/CarrierSettings/xfinitymso_us.pb
@@ -455,7 +421,6 @@ product/etc/CarrierSettings/yesss_at.pb
product/etc/CarrierSettings/yettel_bg.pb
product/etc/CarrierSettings/yettel_hu.pb
product/etc/CarrierSettings/yoigo_es.pb
product/etc/CarrierSettings/yomobile_mx.pb
product/etc/CarrierSettings/zain_bh.pb
product/etc/CarrierSettings/zain_kw.pb
product/etc/CarrierSettings/zain_sa.pb

File diff suppressed because it is too large Load Diff

View File

@@ -3,8 +3,8 @@
# product partition
# AiAi
product/priv-app/DeviceIntelligenceNetworkPrebuilt-astrea_20240329.00_RC02/DeviceIntelligenceNetworkPrebuilt-astrea_20240329.00_RC02.apk;PRESIGNED
product/priv-app/DevicePersonalizationPrebuiltPixel2022-bfinal_aiai_20250217.00_RC08/DevicePersonalizationPrebuiltPixel2022-bfinal_aiai_20250217.00_RC08.apk;PRESIGNED
product/priv-app/DeviceIntelligenceNetworkPrebuilt-U.32_V.7_playstore_astrea_20240725.00_RC01/DeviceIntelligenceNetworkPrebuilt-U.32_V.7_playstore_astrea_20240725.00_RC01.apk;PRESIGNED
product/priv-app/DevicePersonalizationPrebuiltPixel2022-U.32_V.7_playstore_aiai_20240725.00_RC08/DevicePersonalizationPrebuiltPixel2022-U.32_V.7_playstore_aiai_20240725.00_RC08.apk;PRESIGNED
# Audio
product/etc/ambient/matcher_tah.leveldb
@@ -67,7 +67,7 @@ product/lib/libdmengine.so;SYMLINK=product/priv-app/DMService/lib/arm/libdmengin
product/lib/libdmjavaplugin.so;SYMLINK=product/priv-app/DMService/lib/arm/libdmjavaplugin.so
product/lib64/libdmengine.so;SYMLINK=product/priv-app/DMService/lib/arm64/libdmengine.so
product/lib64/libdmjavaplugin.so;SYMLINK=product/priv-app/DMService/lib/arm64/libdmjavaplugin.so
product/priv-app/CarrierSettings_signed_53.0.733201674/CarrierSettings_signed_53.0.733201674.apk;PRESIGNED
product/priv-app/CarrierSettings_signed_51.0.707712815/CarrierSettings_signed_51.0.707712815.apk;PRESIGNED
product/priv-app/CarrierWifi/CarrierWifi.apk;PRESIGNED
product/priv-app/ConnMO/ConnMO.apk
product/priv-app/DCMO/DCMO.apk
@@ -88,6 +88,11 @@ product/priv-app/AppDirectedSMSService/AppDirectedSMSService.apk;PRESIGNED
product/priv-app/OemDmTrigger/OemDmTrigger.apk
product/priv-app/WfcActivation/WfcActivation.apk;PRESIGNED
# system partition
# IMS
system/bin/oem-iptables-init.sh
# system_ext partition
# Camera extensions
@@ -135,6 +140,11 @@ system_ext/priv-app/PixelQualifiedNetworksService/PixelQualifiedNetworksService.
system_ext/priv-app/ShannonIms/ShannonIms.apk;PRESIGNED
system_ext/priv-app/ShannonRcs/ShannonRcs.apk;PRESIGNED
# IWLAN
system_ext/etc/permissions/privapp-permlist_com.google.pixel.iwlan.xml
system_ext/etc/sysconfig/sysconfig_com.google.pixel.iwlan.xml
system_ext/priv-app/PixelIwlan/PixelIwlan.apk
# Permissions
system_ext/etc/permissions/privapp-permissions-google-se.xml:system_ext/etc/permissions/privapp-permissions-google-se-evolution.xml
@@ -149,11 +159,6 @@ system_ext/framework/google-ril.jar
system_ext/priv-app/CarrierSetup/CarrierSetup.apk;PRESIGNED
system_ext/priv-app/ConnectivityThermalPowerManager/ConnectivityThermalPowerManager.apk
system_ext/priv-app/EuiccGoogleOverlay/EuiccGoogleOverlay.apk
system_ext/priv-app/EuiccSupportPixel/DKA_0105_P22_DVT.in
system_ext/priv-app/EuiccSupportPixel/DKA_0105_P22_DVT.up
system_ext/priv-app/EuiccSupportPixel/DKA_0105_P22_EVT.in
system_ext/priv-app/EuiccSupportPixel/DKA_0105_P22_EVT.up
system_ext/priv-app/EuiccSupportPixel/DKA_0109_P22_DVT.up
system_ext/priv-app/EuiccSupportPixel/DKA_RC7_DVT.in
system_ext/priv-app/EuiccSupportPixel/DKA_RC7_DVT.up
system_ext/priv-app/EuiccSupportPixel/DKA_RC7_EVT.up

View File

@@ -37,14 +37,14 @@ bin/dos2unix
bin/du
bin/dump/dump_aoc
bin/dump/dump_devfreq
bin/dump/dump_exynos_display
bin/dump/dump_exynos_second_display
bin/dump/dump_display
bin/dump/dump_fingerprint
bin/dump/dump_modem
bin/dump/dump_modemlog
bin/dump/dump_perf
bin/dump/dump_pixel_metrics
bin/dump/dump_power
bin/dump/dump_second_display
bin/dump/dump_sensors
bin/dump/dump_soc
bin/dump/dump_storage
@@ -91,11 +91,14 @@ bin/hostname
bin/hw/android.hardware.audio.service
bin/hw/android.hardware.boot-service.default-pixel
bin/hw/android.hardware.cas@1.2-service
bin/hw/android.hardware.composer.hwc3-service.pixel
bin/hw/android.hardware.drm-service.clearkey
bin/hw/android.hardware.dumpstate-service
bin/hw/android.hardware.gatekeeper-service.trusty
bin/hw/android.hardware.graphics.allocator-V2-service
bin/hw/android.hardware.health-service.gs201
bin/hw/android.hardware.health.storage-service.default
bin/hw/android.hardware.memtrack-service.pixel
bin/hw/android.hardware.nfc-service.st
bin/hw/android.hardware.power-service.pixel-libperfmgr
bin/hw/android.hardware.power.stats-service.pixel
@@ -172,6 +175,7 @@ bin/paste
bin/patch
bin/pgrep
bin/pidof
bin/pixelstats-vendor
bin/pkill
bin/pmap
bin/predump_touch.sh
@@ -266,10 +270,6 @@ build.prop
etc/NOTICE.xml.gz
etc/a2dp_audio_policy_configuration_7_0.xml
etc/a2dp_in_audio_policy_configuration_7_0.xml
etc/aconfig/flag.info
etc/aconfig/flag.map
etc/aconfig/flag.val
etc/aconfig/package.map
etc/aconfig_flags.pb
etc/aidl/hfp/hfp_codec_capabilities.xml
etc/aidl/le_audio/aidl_audio_set_configurations.bfbs
@@ -338,6 +338,7 @@ etc/init/android.hardware.cas@1.2-service.rc
etc/init/android.hardware.drm-service.clearkey.rc
etc/init/android.hardware.dumpstate-service.rc
etc/init/android.hardware.gatekeeper-service.trusty.rc
etc/init/android.hardware.graphics.allocator2-aidl-service.rc
etc/init/android.hardware.health-service.gs201.rc
etc/init/android.hardware.power-service.pixel-libperfmgr.rc
etc/init/android.hardware.power.stats-service.pixel.rc
@@ -361,6 +362,7 @@ etc/init/hw/init.felix.rc
etc/init/hw/init.gs201.rc
etc/init/hw/init.gs201.storage.rc
etc/init/hw/init.gs201.usb.rc
etc/init/hwc3-pixel.rc
etc/init/init.aoc.rc
etc/init/init.fingerprint.dump.rc
etc/init/init.modem.rc
@@ -375,9 +377,11 @@ etc/init/init.touch.predump.rc
etc/init/libg3a_gabc.rc
etc/init/libg3a_gaf.rc
etc/init/libg3a_ghawb.rc
etc/init/memtrack.rc
etc/init/nfc-service-default.rc
etc/init/pixel-mm-gki.rc
etc/init/pixel-thermal-symlinks.rc
etc/init/pixelstats-vendor.gs201.rc
etc/init/rebalance_interrupts-vendor.gs101.rc
etc/init/storage.gs201.rc
etc/init/vndservicemanager.rc
@@ -418,7 +422,7 @@ etc/permissions/android.hardware.camera.raw.xml
etc/permissions/android.hardware.context_hub.xml
etc/permissions/android.hardware.device_unique_attestation.xml
etc/permissions/android.hardware.fingerprint.xml
etc/permissions/android.hardware.hardware_keystore.xml
etc/permissions/android.hardware.hardware_keystore_V3.xml
etc/permissions/android.hardware.keystore.app_attest_key.xml
etc/permissions/android.hardware.location.gps.prebuilt.xml
etc/permissions/android.hardware.nfc.ese.xml
@@ -482,7 +486,6 @@ etc/selinux/vendor_property_contexts
etc/selinux/vendor_seapp_contexts
etc/selinux/vendor_sepolicy.cil
etc/selinux/vendor_service_contexts
etc/selinux/vendor_tee_service_contexts
etc/selinux/vndservice_contexts
etc/sound_trigger_configuration.xml
etc/sysconfig/component-overrides.xml
@@ -493,6 +496,7 @@ etc/thermal_info_config_proactive_skin.json
etc/ueventd.rc
etc/usb_audio_policy_configuration.xml
etc/uwb/UWB-calibration-am.conf
etc/uwb/UWB-calibration-ar.conf
etc/uwb/UWB-calibration-at.conf
etc/uwb/UWB-calibration-az.conf
etc/uwb/UWB-calibration-be.conf
@@ -529,10 +533,13 @@ etc/uwb/UWB-calibration-ni.conf
etc/uwb/UWB-calibration-nl.conf
etc/uwb/UWB-calibration-no.conf
etc/uwb/UWB-calibration-np.conf
etc/uwb/UWB-calibration-pk.conf
etc/uwb/UWB-calibration-pl.conf
etc/uwb/UWB-calibration-pt.conf
etc/uwb/UWB-calibration-py.conf
etc/uwb/UWB-calibration-ro.conf
etc/uwb/UWB-calibration-ru.conf
etc/uwb/UWB-calibration-sb.conf
etc/uwb/UWB-calibration-se.conf
etc/uwb/UWB-calibration-si.conf
etc/uwb/UWB-calibration-sk.conf
@@ -565,7 +572,13 @@ etc/vintf/manifest/android.hardware.wifi.hostapd.xml
etc/vintf/manifest/android.hardware.wifi.supplicant.xml
etc/vintf/manifest/bluetooth_audio.xml
etc/vintf/manifest/health-storage-default.xml
etc/vintf/manifest/hwc3-default.xml
etc/vintf/manifest/manifest.xml
etc/vintf/manifest/manifest_gralloc_aidl2.xml
etc/vintf/manifest/memtrack.xml
etc/vintf/manifest/nfc-service-default.xml
etc/vintf/manifest/pixel-display-default.xml
etc/vintf/manifest/pixel-display-secondary.xml
etc/waves_config.ini
etc/waves_preset.mps
etc/wifi/coex_table.xml
@@ -609,6 +622,11 @@ lib/android.hardware.bluetooth.audio@2.0.so
lib/android.hardware.bluetooth.audio@2.1.so
lib/android.hardware.common-V2-ndk.so
lib/android.hardware.common.fmq-V1-ndk.so
lib/android.hardware.graphics.common-V6-ndk.so
lib/android.hardware.graphics.common@1.0.so
lib/android.hardware.graphics.common@1.1.so
lib/android.hardware.graphics.common@1.2.so
lib/android.hardware.graphics.mapper@4.0.so
lib/android.hardware.radio@1.0.so
lib/android.hardware.radio@1.1.so
lib/android.hardware.soundtrigger@2.0-core.so
@@ -622,6 +640,7 @@ lib/android.hidl.memory@1.0.so
lib/android.hidl.safe_union@1.0.so
lib/android.media.audio.common.types-V4-ndk.so
lib/android.system.suspend-V1-ndk.so
lib/arm.graphics-V1-ndk.so
lib/hw/android.hardware.audio.effect@7.0-impl.so
lib/hw/android.hardware.audio@7.1-impl.so
lib/hw/android.hardware.soundtrigger@2.3-impl.so
@@ -633,6 +652,7 @@ lib/hw/audio.usb.default.so
lib/hw/audio.usbv2.default.so
lib/hw/gralloc.default.so
lib/hw/local_time.default.so
lib/hw/mapper.pixel.so
lib/hw/power.default.so
lib/hw/vibrator.default.so
lib/libOpenCL.so
@@ -647,14 +667,18 @@ lib/libc++.so
lib/libclang_rt.ubsan_standalone-arm-android.so
lib/libcrypto.so
lib/libcutils.so
lib/libdmabufheap.so
lib/libeffects.so
lib/libeffectsconfig.so
lib/libflatbuffers-cpp.so
lib/libfmq.so
lib/libgralloctypes.so
lib/libhardware.so
lib/libhardware_legacy.so
lib/libhidlbase.so
lib/libhidlmemory.so
lib/libhwjpeg.so
lib/libion_google.so
lib/libmedia_helper.so
lib/libmediautils_vendor.so
lib/libmemunreachable.so
@@ -809,7 +833,6 @@ lib/modules/i2c-exynos5.ko
lib/modules/ieee802154.ko
lib/modules/ieee802154_6lowpan.ko
lib/modules/ieee802154_socket.ko
lib/modules/iovad-best-fit-algo.ko
lib/modules/itmon.ko
lib/modules/janeiro.ko
lib/modules/kernel-top.ko
@@ -1015,6 +1038,7 @@ lib/soundfx/libldnhncr.so
lib/soundfx/libreverbwrapper.so
lib/soundfx/libvisualizer.so
lib64/PixelVibratorFlagsL26.so
lib64/android.frameworks.sensorservice-V1-ndk.so
lib64/android.frameworks.stats-V1-ndk.so
lib64/android.frameworks.stats-V2-ndk.so
lib64/android.hardware.audio.common-V4-ndk.so
@@ -1048,10 +1072,31 @@ lib64/android.hardware.drm-V1-ndk.so
lib64/android.hardware.drm.common-V1-ndk.so
lib64/android.hardware.dumpstate-V1-ndk.so
lib64/android.hardware.gatekeeper-V1-ndk.so
lib64/android.hardware.graphics.allocator-V2-ndk.so
lib64/android.hardware.graphics.allocator@2.0.so
lib64/android.hardware.graphics.allocator@3.0.so
lib64/android.hardware.graphics.allocator@4.0.so
lib64/android.hardware.graphics.common-V6-ndk.so
lib64/android.hardware.graphics.common@1.0.so
lib64/android.hardware.graphics.common@1.1.so
lib64/android.hardware.graphics.common@1.2.so
lib64/android.hardware.graphics.composer3-V4-ndk.so
lib64/android.hardware.graphics.composer@2.1-resources.so
lib64/android.hardware.graphics.composer@2.1.so
lib64/android.hardware.graphics.composer@2.2-resources.so
lib64/android.hardware.graphics.composer@2.2.so
lib64/android.hardware.graphics.composer@2.3.so
lib64/android.hardware.graphics.composer@2.4.so
lib64/android.hardware.graphics.mapper@2.0.so
lib64/android.hardware.graphics.mapper@2.1.so
lib64/android.hardware.graphics.mapper@3.0.so
lib64/android.hardware.graphics.mapper@4.0.so
lib64/android.hardware.health-V4-ndk.so
lib64/android.hardware.health.storage-V1-ndk.so
lib64/android.hardware.memtrack-V1-ndk.so
lib64/android.hardware.nfc-V1-ndk.so
lib64/android.hardware.power-V1-ndk.so
lib64/android.hardware.power-V2-ndk.so
lib64/android.hardware.power-V6-ndk.so
lib64/android.hardware.power.stats-V2-ndk.so
lib64/android.hardware.power.stats-impl.gs-common.so
@@ -1097,8 +1142,11 @@ lib64/android.hidl.safe_union@1.0.so
lib64/android.media.audio.common.types-V4-ndk.so
lib64/android.system.keystore2-V1-ndk.so
lib64/android.system.suspend-V1-ndk.so
lib64/arm.graphics-V1-ndk.so
lib64/com.google.hardware.pixel.display-V13-ndk.so
lib64/hw/android.hardware.audio.effect@7.0-impl.so
lib64/hw/android.hardware.audio@7.1-impl.so
lib64/hw/android.hardware.graphics.allocator-aidl-impl.so
lib64/hw/android.hardware.soundtrigger@2.3-impl.so
lib64/hw/android.hardware.vibrator-impl.cs40l26-private.so
lib64/hw/android.hidl.memory@1.0-impl.so
@@ -1109,12 +1157,15 @@ lib64/hw/audio.usb.default.so
lib64/hw/audio.usbv2.default.so
lib64/hw/gralloc.default.so
lib64/hw/local_time.default.so
lib64/hw/mapper.pixel.so
lib64/hw/power.default.so
lib64/hw/vibrator.default.so
lib64/libExynosHWCService.so
lib64/libOpenCL.so
lib64/lib_android_keymaster_keymint_utils.so
lib64/libaconfig_storage_read_api_cc.so
lib64/libaho_corasick.dylib.so
lib64/libacryl.so
lib64/libacryl_hdr_plugin.so
lib64/libalsautils.so
lib64/libalsautilsv2.so
lib64/libandroid_log_sys.dylib.so
@@ -1132,18 +1183,24 @@ lib64/libcrypto.so
lib64/libcutils.so
lib64/libdisppower-pixel.so
lib64/libdmabufheap.so
lib64/libdrm.so
lib64/libdrmresource.so
lib64/libdump.so
lib64/libdumpstateutil.so
lib64/libeffects.so
lib64/libeffectsconfig.so
lib64/libenv_filter.dylib.so
lib64/libenv_logger.dylib.so
lib64/libexynosdisplay.so
lib64/libflatbuffers-cpp.so
lib64/libfmq.so
lib64/libgatekeeper.so
lib64/libgralloctypes.so
lib64/libhardware.so
lib64/libhardware_legacy.so
lib64/libhidlbase.so
lib64/libhidlmemory.so
lib64/libhwjpeg.so
lib64/libion_google.so
lib64/libjsoncpp.so
lib64/libkeymaster_messages.so
lib64/libkeymasterconfig.so
@@ -1152,7 +1209,7 @@ lib64/liblibloading.dylib.so
lib64/liblog_rust.dylib.so
lib64/libmedia_helper.so
lib64/libmediautils_vendor.so
lib64/libmemchr.dylib.so
lib64/libmemtrack-pixel.so
lib64/libmemunreachable.so
lib64/libnbaio_mono.so
lib64/libnl.so
@@ -1160,16 +1217,16 @@ lib64/libonce_cell.dylib.so
lib64/libperfmgr.so
lib64/libpixelatoms_defs.so
lib64/libpixelhealth.so
lib64/libpixelstats.so
lib64/libpng.so
lib64/libpower.so
lib64/libprocessgroup.so
lib64/libprotobuf-cpp-full-21.12.so
lib64/libprotobuf-cpp-lite-21.12.so
lib64/libreference-ril.so
lib64/libregex.dylib.so
lib64/libregex_syntax.dylib.so
lib64/libril.so
lib64/librilutils.so
lib64/libsensorndkbridge.so
lib64/libspeexresampler.so
lib64/libssl.so
lib64/libstagefright_foundation.so
@@ -1178,8 +1235,10 @@ lib64/libtinyalsa.so
lib64/libtinyalsav2.so
lib64/libtinyxml2.so
lib64/libtrusty.so
lib64/libui.so
lib64/libusbhost.so
lib64/libutils.so
lib64/libvendorgraphicbuffer.so
lib64/libvibratorutils.so
lib64/libwifi-hal.so
lib64/libwifi-system-iface.so
@@ -1284,11 +1343,15 @@ lib/android.hardware.media.c2-V1-ndk.so
lib/android.hardware.media.c2@1.0.so
lib/android.hardware.media.omx@1.0.so
lib/android.hardware.media@1.0.so
lib/libacryl.so
lib/libacryl_hdr_plugin.so
lib/libcodec2.so
lib/libcodec2_hal_common.so
lib/libcodec2_hidl@1.0.so
lib/libcodec2_hidl_plugin.so
lib/libcodec2_vndk.so
lib/libexynosutils.so
lib/libexynosv4l2.so
lib/libmedia_ecoservice.so
lib/libmedia_omx.so
lib/libsfplugin_ccodec_utils.so
@@ -1297,22 +1360,28 @@ lib/libstagefright_bufferpool@2.0.1.so
lib/libstagefright_bufferqueue_helper.so
lib/libstagefright_omx_utils.so
lib/libstagefright_xmlparser.so
lib/libvendorgraphicbuffer.so
lib64/android.hardware.media.bufferpool2-V2-ndk.so
lib64/android.hardware.media.bufferpool@2.0.so
lib64/android.hardware.media.c2-V1-ndk.so
lib64/android.hardware.media.c2@1.0.so
lib64/android.hardware.media.c2@1.1.so
lib64/android.hardware.media.c2@1.2.so
lib64/android.hardware.media.omx@1.0.so
lib64/android.hardware.media@1.0.so
lib64/libavservices_minijail.so
lib64/libcap.so
lib64/libcodec2.so
lib64/libcodec2_aidl.so
lib64/libcodec2_aidl_noisurface.so
lib64/libcodec2_hal_common.so
lib64/libcodec2_hidl@1.0.so
lib64/libcodec2_hidl@1.1.so
lib64/libcodec2_hidl@1.2.so
lib64/libcodec2_hidl_plugin.so
lib64/libcodec2_soft_common.so
lib64/libcodec2_vndk.so
lib64/libexynosutils.so
lib64/libexynosv4l2.so
lib64/libmedia_ecoservice.so
lib64/libmedia_omx.so
lib64/libminijail.so
@@ -1320,9 +1389,16 @@ lib64/libsfplugin_ccodec_utils.so
lib64/libstagefright_aidl_bufferpool2.so
lib64/libstagefright_bufferpool@2.0.1.so
lib64/libstagefright_bufferqueue_helper.so
lib64/libstagefright_omx.so
lib64/libstagefright_omx_utils.so
lib64/libstagefright_xmlparser.so
# Confirmation UI
lib64/android.hardware.confirmationui-V1-ndk.so
lib64/android.hardware.confirmationui-lib.trusty.so
lib64/android.hardware.confirmationui@1.0.so
lib64/libteeui_hal_support.so
# Contexthub
lib/android.hardware.contexthub-V3-ndk.so
lib64/android.hardware.contexthub-V3-ndk.so
@@ -1331,7 +1407,6 @@ lib64/chre_atoms_log.so
lib64/chremetrics-cpp.so
# GPS
lib64/android.hardware.gnss-V3-ndk.so
lib64/liblzma.so
lib64/libunwindstack.so
@@ -1350,6 +1425,7 @@ lib64/android.hardware.security.keymint-V3-ndk.so
lib64/libcppbor.so
lib64/libcppcose_rkp.so
lib64/libkeymaster_portable.so
lib64/libkeymint_support.so
lib64/libkeymint_support_V3.so
lib64/libnos.so
lib64/libnos_client_citadel.so
@@ -1388,17 +1464,17 @@ lib/android.hardware.sensors@2.1.so
lib/hw/sensors.dynamic_sensor_hal.so
lib/libhidparser.so
lib/libsensorndkbridge.so
lib64/android.frameworks.sensorservice-V1-ndk.so
lib64/android.hardware.sensors-V2-ndk.so
lib64/hw/sensors.dynamic_sensor_hal.so
lib64/libhidparser.so
lib64/libsensorndkbridge.so
# Trusty
lib64/android.trusty.stats.nw.setter-cpp.so
lib64/libbinder_trusty.so
lib64/libtrusty_metrics.so
# Misc interfaces
lib/android.frameworks.stats-V1-ndk.so
lib/android.frameworks.stats-V2-ndk.so
lib/android.hardware.graphics.allocator-V2-ndk.so
lib/android.hardware.graphics.allocator@2.0.so
@@ -1406,14 +1482,10 @@ lib/android.hardware.graphics.allocator@3.0.so
lib/android.hardware.graphics.allocator@4.0.so
lib/android.hardware.graphics.bufferqueue@1.0.so
lib/android.hardware.graphics.bufferqueue@2.0.so
lib/android.hardware.graphics.common-V6-ndk.so
lib/android.hardware.graphics.common@1.0.so
lib/android.hardware.graphics.common@1.1.so
lib/android.hardware.graphics.common@1.2.so
lib/android.hardware.graphics.common-V3-ndk.so
lib/android.hardware.graphics.mapper@2.0.so
lib/android.hardware.graphics.mapper@2.1.so
lib/android.hardware.graphics.mapper@3.0.so
lib/android.hardware.graphics.mapper@4.0.so
lib/android.hardware.health-V1-ndk.so
lib/android.hardware.radio-V1-ndk.so
lib/android.hardware.radio.config-V1-ndk.so
@@ -1442,39 +1514,21 @@ lib64/android.frameworks.stats-V1-cpp.so
lib64/android.hardware.authsecret-V1-ndk.so
lib64/android.hardware.biometrics.common-V3-ndk.so
lib64/android.hardware.biometrics.fingerprint-V3-ndk.so
lib64/android.hardware.graphics.allocator-V2-ndk.so
lib64/android.hardware.graphics.allocator@2.0.so
lib64/android.hardware.graphics.allocator@3.0.so
lib64/android.hardware.graphics.allocator@4.0.so
lib64/android.hardware.gnss-V3-ndk.so
lib64/android.hardware.graphics.bufferqueue@1.0.so
lib64/android.hardware.graphics.bufferqueue@2.0.so
lib64/android.hardware.graphics.common-V6-ndk.so
lib64/android.hardware.graphics.common@1.0.so
lib64/android.hardware.graphics.common@1.1.so
lib64/android.hardware.graphics.common@1.2.so
lib64/android.hardware.graphics.composer3-V4-ndk.so
lib64/android.hardware.graphics.composer@2.1-resources.so
lib64/android.hardware.graphics.composer@2.1.so
lib64/android.hardware.graphics.composer@2.2-resources.so
lib64/android.hardware.graphics.composer@2.2.so
lib64/android.hardware.graphics.composer@2.3.so
lib64/android.hardware.graphics.composer@2.4.so
lib64/android.hardware.graphics.mapper@2.0.so
lib64/android.hardware.graphics.mapper@2.1.so
lib64/android.hardware.graphics.mapper@3.0.so
lib64/android.hardware.graphics.mapper@4.0.so
lib64/android.hardware.health-V1-ndk.so
lib64/android.hardware.input.common-V1-ndk.so
lib64/android.hardware.input.processor-V1-ndk.so
lib64/android.hardware.keymaster-V4-ndk.so
lib64/android.hardware.memtrack-V1-ndk.so
lib64/android.hardware.keymaster@3.0.so
lib64/android.hardware.keymaster@4.0.so
lib64/android.hardware.neuralnetworks-V4-ndk.so
lib64/android.hardware.neuralnetworks@1.0.so
lib64/android.hardware.neuralnetworks@1.1.so
lib64/android.hardware.neuralnetworks@1.2.so
lib64/android.hardware.neuralnetworks@1.3.so
lib64/android.hardware.oemlock-V1-ndk.so
lib64/android.hardware.power-V2-ndk.so
lib64/android.hardware.radio-V1-ndk.so
lib64/android.hardware.radio.config-V1-ndk.so
lib64/android.hardware.radio.config@1.0.so
@@ -1496,22 +1550,16 @@ lib64/android.hardware.weaver-V2-ndk.so
lib64/android.hidl.token@1.0-utils.so
lib64/android.hidl.token@1.0.so
lib64/com.google.hardware.pixel.display-V9-ndk.so
lib64/com.google.hardware.pixel.display-V15-ndk.so
# Misc
bin/dump/dump_gsc.sh
lib/libbinder.so
lib/libdmabufheap.so
lib/libevent.so
lib/libgralloctypes.so
lib/libion.so
lib/libprocessgroup.so
lib/libui.so
lib64/libdrm.so
lib64/libevent.so
lib64/libgralloctypes.so
lib64/libion.so
lib64/libui.so
# Odex
framework/oat/arm/com.google.android.camera.experimental2022.odex
@@ -1524,11 +1572,6 @@ framework/oat/arm64/com.google.android.camera.experimental2022.vdex
# Edge TPU
lib/libedgetpu_util.so
# Flood control
bin/flood.control.hal
etc/init/init.flood.control.rc
etc/vintf/manifest/flood_control.xml
# Google
etc/default-permissions/default-permissions_talkback.xml

View File

@@ -1,5 +1,11 @@
# Factory build, use HIDL hal & extension so that we can use Test tool
ifneq ( ,$(findstring factory, $(TARGET_PRODUCT)))
GOOGLE_CONFIG_FP_STATUS=1
FPC_CONFIG_TRUSTY_CLEAN_TA=1
else
# Non factory build, use fingerprint AIDL version
GOOGLE_CONFIG_POWER_NODE=/dev/input/event2
GOOGLE_CONFIG_DP_COUNT=2
GOOGLE_CONFIG_FP_STATUS=1
GOOGLE_CONFIG_TOUCH_TO_UNLOCK_ANYTIME=1
endif

19
init.insmod.felix.cfg Normal file
View File

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

View File

@@ -28,8 +28,8 @@ TARGET_SCREEN_HEIGHT := 2092
TARGET_SCREEN_WIDTH := 1080
PRODUCT_BUILD_PROP_OVERRIDES += \
BuildDesc="felix-user 16 BP2A.250805.005 13691446 release-keys" \
BuildFingerprint=google/felix/felix:16/BP2A.250805.005/13691446:user/release-keys \
BuildDesc="felix-user 15 BP1A.250505.005.B1 13277630 release-keys" \
BuildFingerprint=google/felix/felix:15/BP1A.250505.005.B1/13277630:user/release-keys \
DeviceProduct=$(DEVICE_CODENAME)
$(call inherit-product, $(VENDOR_PATH)/$(DEVICE_CODENAME)-vendor.mk)

107
location/gps.6.1.xml.f10 Normal file
View File

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

108
location/gps.xml.f10 Normal file
View File

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

View File

@@ -59,9 +59,6 @@
CpLppeCancelDbhOnAgnssProvideLoc="true"
CpLppeUseAgnssLocForEmptyDbh="true"
CpLppHighAccuracyShapeMode="1"
CpLppDisableUEAInLTE="true"
CpLppGalileoCapable="true"
CpLppGalileoIE="true"
ReAidingOnHotStart="false"
ReAidingIntervalSec="3600"
RuntimeSwLteFilterEnable="true"

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

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

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

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

124
manifest.xml Normal file
View File

@@ -0,0 +1,124 @@
<manifest version="1.0" type="device" target-level="5">
<hal format="hidl">
<name>android.hardware.audio</name>
<transport>hwbinder</transport>
<version>7.1</version>
<interface>
<name>IDevicesFactory</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.audio.effect</name>
<transport>hwbinder</transport>
<version>7.0</version>
<interface>
<name>IEffectsFactory</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.soundtrigger</name>
<transport>hwbinder</transport>
<version>2.3</version>
<interface>
<name>ISoundTriggerHw</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.media.omx</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IOmx</name>
<instance>default</instance>
</interface>
<interface>
<name>IOmxStore</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.graphics.allocator</name>
<transport>hwbinder</transport>
<version>4.0</version>
<interface>
<name>IAllocator</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.graphics.composer</name>
<transport>hwbinder</transport>
<version>2.4</version>
<interface>
<name>IComposer</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.renderscript</name>
<transport arch="32+64">passthrough</transport>
<version>1.0</version>
<interface>
<name>IDevice</name>
<instance>default</instance>
</interface>
</hal>
<hal format = "hidl">
<name>android.hardware.dumpstate</name>
<transport>hwbinder</transport>
<version>1.1</version>
<interface>
<name>IDumpstateDevice</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.bluetooth.audio</name>
<transport>hwbinder</transport>
<version>2.1</version>
<interface>
<name>IBluetoothAudioProvidersFactory</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.boot</name>
<transport>hwbinder</transport>
<fqname>@1.2::IBootControl/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.neuralnetworks</name>
<transport>hwbinder</transport>
<fqname>@1.3::IDevice/google-edgetpu</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.health</name>
<transport>hwbinder</transport>
<version>2.1</version>
<interface>
<name>IHealth</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl">
<name>vendor.google.google_battery</name>
<version>3</version>
<interface>
<name>IGoogleBattery</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.google.whitechapel.audio.audioext</name>
<transport>hwbinder</transport>
<version>4.0</version>
<interface>
<name>IAudioExt</name>
<instance>default</instance>
</interface>
</hal>
<kernel target-level="6"/>
</manifest>

View File

@@ -24,6 +24,9 @@
entries do not follow the convention, but all new entries should. -->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- IWLAN-->
<string name="config_qualified_networks_service_package">com.android.qns</string>
<!-- If true, allows rotation resolver service to help resolve screen rotation. -->
<bool name="config_allowRotationResolver">false</bool>
@@ -49,7 +52,6 @@
state. Default is empty. -->
<integer-array name="config_rearDisplayDeviceStates">
<item>3</item>
<item>5</item>
</integer-array>
<!-- The device states (supplied by DeviceStateManager) that should be treated as concurrent
@@ -58,10 +60,6 @@
<item>4</item>
</integer-array>
<!-- Indicates whether the window manager reacts to half-fold device states by overriding
rotation. -->
<bool name="config_windowManagerHalfFoldAutoRotateOverride">false</bool>
<!-- Indicates whether the window manager pauses autorotation when folding or unfolding
a foldable device based on hinge angle sensor events and physical display switch events. -->
<bool name="config_windowManagerPauseRotationWhenUnfolding">true</bool>
@@ -103,15 +101,11 @@
<item>3:0:0</item>
</string-array>
<!-- Whether to show Fold lock behavior setting feature in Settings App -->
<bool name="config_fold_lock_behavior">true</bool>
<!-- Device states where the sensor based rotation values should be reversed around the Z axis
for the default display.
TODO(b/265312193): Remove this workaround when this bug is fixed.-->
<integer-array name="config_deviceStatesToReverseDefaultDisplayRotationAroundZAxis">
<item>3</item>
<item>5</item>
</integer-array>
<!-- Boolean indicating whether secondary built-in displays should have their orientation
@@ -128,13 +122,9 @@
global actions dialog -->
<integer name="config_globalActionsKeyTimeout">750</integer>
<!-- The fixed keyboard vibration strength in [0,1], or -1 to indicate the strength not fixed
and should depend on the touch feedback intensity user setting -->
<item name="config_keyboardHapticFeedbackFixedAmplitude" type="dimen">1.0</item>
<!-- Class name of the device specific implementation of DeviceStatePolicy.Provider
or empty if the default should be used. -->
<string name="config_deviceSpecificDeviceStatePolicyProvider" translatable="false">com.google.android.server.policy.FelixDeviceStatePolicyProvider</string>
<string translatable="false" name="config_deviceSpecificDeviceStatePolicyProvider">com.google.android.server.policy.FelixDeviceStatePolicyProvider</string>
<!-- Indicates whether device has a power button fingerprint sensor. -->
<bool name="config_is_powerbutton_fps">true</bool>
@@ -148,13 +138,12 @@
<!-- Map of System DeviceState supplied by DeviceStateManager to WM Jetpack posture. Must be in
the format [System DeviceState]:[WM Jetpack Posture], for example: "0:1". -->
<string-array name="config_device_state_postures" translatable="false">
<string-array name="config_device_state_postures">
<item>0:1</item>
<item>1:2</item>
<item>2:3</item>
<item>3:1</item>
<item>4:1000</item>
<item>5:1</item>
</string-array>
<!-- Which Surface rotations are considered as tabletop posture (horizontal hinge) when the
@@ -177,7 +166,7 @@
Note: Activity min/max aspect ratio restrictions will still be respected.
Therefore this override can control the maximum screen area that can be occupied by
the app in the letterbox mode. -->
<item name="config_fixedOrientationLetterboxAspectRatio" type="dimen">1.333</item>
<item name="config_fixedOrientationLetterboxAspectRatio" format="float" type="dimen">1.333</item>
<!-- Corners radius for activity presented the letterbox mode. Values < 0 enable rounded
corners with radius equal to min between device bottom corner radii. Default 0 value turns
@@ -188,7 +177,7 @@
0 corresponds to the upper side of the screen and 1 to the lower side. If given value < 0
or > 1 it is ignored and for non-tabletop mode central position is used (0.5); for
tabletop mode top (0.0) is used. -->
<item name="config_letterboxVerticalPositionMultiplier" type="dimen">0.5</item>
<item type="dimen" name="config_letterboxVerticalPositionMultiplier">0.5</item>
<!-- Whether horizontal reachability repositioning is allowed for letterboxed fullscreen apps.
-->
@@ -211,10 +200,6 @@
<!-- Whether using display aspect ratio as a default aspect ratio for all letterboxed apps. -->
<bool name="config_letterboxIsDisplayAspectRatioForFixedOrientationLetterboxEnabled">true</bool>
<!-- Whether should use split screen aspect ratio for the activity when camera compat treatment
is enabled and activity is connected to the camera in fullscreen. -->
<bool name="config_isWindowManagerCameraCompatSplitScreenAspectRatioEnabled">true</bool>
<!-- Whether the specific behaviour for translucent activities letterboxing is enabled.
TODO(b/255532890) Enable when ignoreOrientationRequest is set -->
<bool name="config_letterboxIsEnabledForTranslucentActivities">true</bool>
@@ -236,6 +221,14 @@
split screen. -->
<bool name="config_isWindowManagerCameraCompatTreatmentEnabled">true</bool>
<!-- Whether should use split screen aspect ratio for the activity when camera compat treatment
is enabled and activity is connected to the camera in fullscreen. -->
<bool name="config_isWindowManagerCameraCompatSplitScreenAspectRatioEnabled">true</bool>
<!-- Whether a camera compat controller is enabled to allow the user to apply or revert
treatment for stretched issues in camera viewfinder. -->
<bool name="config_isCameraCompatControlForStretchedIssuesEnabled">true</bool>
<!-- List of the labels of requestable device state config values -->
<string-array name="config_deviceStatesAvailableForAppRequests">
<item>config_deviceStateRearDisplay</item>

View File

@@ -1,15 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-FileCopyrightText: The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- Indicating whether the retry timer from setup data call response for data throttling should
be honored for emergency network request. By default this is off, meaning for emergency
network requests, the data frameworks will ignore the previous retry timer passed in from
setup data call response. -->
<bool name="config_honor_data_retry_timer_for_emergency_network">true</bool>
<!-- Telephony qualified networks service package name to bind to by default. -->
<string name="config_qualified_networks_service_package" translatable="false">com.android.qns</string>
</resources>

View File

@@ -1,12 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-FileCopyrightText: The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- Whether the extended restart dialog is enabled -->
<bool name="config_letterboxIsRestartDialogEnabled">true</bool>
<!-- Whether the additional education about reachability is enabled -->
<bool name="config_letterboxIsReachabilityEducationEnabled">true</bool>
</resources>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-FileCopyrightText: The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- The number of columns in the QuickSettings -->
<integer name="quick_settings_num_columns">2</integer>
</resources>

View File

@@ -47,5 +47,5 @@
</string-array>
<!-- The ratio to use when using the two-pane settings layout -->
<item name="config_activity_embed_split_ratio" type="dimen">0.5</item>
<item name="config_activity_embed_split_ratio" format="float" type="dimen">0.5</item>
</resources>

View File

@@ -194,54 +194,6 @@
],
"ResetOnInit": true
},
{
"Name": "TAUclampMinOnNiceEnable",
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_enable",
"Values": [
"1",
"0"
],
"ResetOnInit": true
},
{
"Name": "TAUclampMinOnNiceHighValue",
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_value",
"Values": [
"765",
"0"
],
"ResetOnInit": true
},
{
"Name": "TAUclampMinOnNiceMidValue",
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_value",
"Values": [
"600",
"590",
"0"
],
"ResetOnInit": true
},
{
"Name": "TAUclampMinOnNiceHighPrio",
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_prio",
"Values": [
"110",
"119",
"120"
],
"ResetOnInit": true
},
{
"Name": "TAUclampMinOnNiceMidPrio",
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_prio",
"Values": [
"128",
"139",
"130"
],
"ResetOnInit": true
},
{
"Name": "FGUClampBoost",
"Path": "/proc/vendor_sched/groups/fg/uclamp_min",
@@ -334,35 +286,6 @@
],
"ResetOnInit": true
},
{
"Name": "TAAutoPreferFit",
"Path": "/proc/vendor_sched/groups/ta/auto_prefer_fit",
"Values": [
"1",
"0"
],
"ResetOnInit": true
},
{
"Name": "TAPreferredIdleMaskMid",
"Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_mid",
"Values": [
"0x3f",
"0xf0",
"0xff"
],
"ResetOnInit": true
},
{
"Name": "TAPreferredIdleMaskLow",
"Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_low",
"Values": [
"0x3f",
"0xf0",
"0xff"
],
"ResetOnInit": true
},
{
"Name": "FGPreferIdle",
"Path": "/proc/vendor_sched/groups/fg/prefer_idle",
@@ -391,6 +314,14 @@
],
"ResetOnInit": true
},
{
"Name": "NewlyIdleBalancer",
"Path": "/proc/vendor_sched/idle_balancer",
"Values": [
"0",
"1"
]
},
{
"Name": "DisplayWakeup",
"Path": "/sys/devices/platform/1c240000.drmdecon/early_wakeup",
@@ -757,26 +688,6 @@
],
"DefaultIndex": 0,
"ResetOnInit": true
},
{
"Name": "AAModeProperty",
"Path": "vendor.powerhal.mode.aa",
"Values": [
"1",
"0"
],
"ResetOnInit": true,
"Type": "Property"
},
{
"Name": "SYSTEM_UI_ADPF_PROFILES",
"Path": "<AdpfConfig>:SYSTEM_UI",
"Values": [
"SYSTEM_UI_PROFILE"
],
"DefaultIndex": 0,
"ResetOnInit": true,
"Type": "Event"
}
],
"Actions": [
@@ -869,54 +780,6 @@
"Duration": 5000,
"Value": "0"
},
{
"PowerHint": "LAUNCH",
"Node": "TAAutoPreferFit",
"Duration": 5000,
"Value": "1"
},
{
"PowerHint": "LAUNCH",
"Node": "TAPreferredIdleMaskMid",
"Duration": 5000,
"Value": "0x3f"
},
{
"PowerHint": "LAUNCH",
"Node": "TAPreferredIdleMaskLow",
"Duration": 5000,
"Value": "0x3f"
},
{
"PowerHint": "LAUNCH",
"Node": "TAUclampMinOnNiceEnable",
"Duration": 5000,
"Value": "1"
},
{
"PowerHint": "LAUNCH",
"Node": "TAUclampMinOnNiceHighValue",
"Duration": 5000,
"Value": "765"
},
{
"PowerHint": "LAUNCH",
"Node": "TAUclampMinOnNiceHighPrio",
"Duration": 5000,
"Value": "110"
},
{
"PowerHint": "LAUNCH",
"Node": "TAUclampMinOnNiceMidValue",
"Duration": 5000,
"Value": "590"
},
{
"PowerHint": "LAUNCH",
"Node": "TAUclampMinOnNiceMidPrio",
"Duration": 5000,
"Value": "139"
},
{
"PowerHint": "LAUNCH",
"Type": "DoHint",
@@ -1520,6 +1383,12 @@
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "CAMERA_STREAMING_EXTREME",
"Node": "NewlyIdleBalancer",
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "CAMERA_STREAMING_HIGH",
"Node": "PMU_POLL",
@@ -1634,6 +1503,12 @@
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "CAMERA_STREAMING_HIGH",
"Node": "NewlyIdleBalancer",
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "CAMERA_STREAMING_STANDARD",
"Node": "PowerHALCameraRunning",
@@ -1730,6 +1605,12 @@
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "CAMERA_STREAMING_STANDARD",
"Node": "NewlyIdleBalancer",
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "CAMERA_STREAMING_LOW",
"Node": "PowerHALCameraRunning",
@@ -1790,6 +1671,12 @@
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "CAMERA_STREAMING_LOW",
"Node": "NewlyIdleBalancer",
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "CAMERA_MULTI_CAM_STREAMING",
"Node": "CPUBigClusterMaxFreq",
@@ -2074,12 +1961,6 @@
"Duration": 0,
"Value": "1"
},
{
"PowerHint": "AUTOMOTIVE_PROJECTION",
"Node": "AAModeProperty",
"Duration": 0,
"Value": "1"
},
{
"PowerHint": "DISPLAY_IDLE",
"Node": "FGPreferIdle",
@@ -2097,18 +1978,6 @@
"Type": "EndHint",
"Value": "DISPLAY_UPDATE_IMMINENT"
},
{
"PowerHint": "DISPLAY_IDLE",
"Type": "MaskHint",
"Value":"DISPLAY_UPDATE_IMMINENT",
"EnableProperty": "vendor.powerhal.mode.aa"
},
{
"PowerHint": "DISPLAY_IDLE",
"Type": "MaskHint",
"Value":"CPU_LOAD_RESET",
"EnableProperty": "vendor.powerhal.mode.aa"
},
{
"PowerHint": "DISPLAY_UPDATE_IMMINENT",
"Node": "DisplayWakeup",
@@ -2436,40 +2305,76 @@
"MaxRecordsNum": 300
},
{
"Name": "SYSTEM_UI_PROFILE",
"PID_On": true,
"PID_Po": 2.0,
"PID_Pu": 1.0,
"PID_I": 0.0,
"PID_I_Init": 200,
"PID_I_High": 512,
"PID_I_Low": -30,
"PID_Do": 500.0,
"PID_Du": 0.0,
"Name": "UiHighBoostWithoutPid",
"PID_On": false,
"PID_Po": 0,
"PID_Pu": 0,
"PID_I": 0,
"PID_I_Init": 0,
"PID_I_High": 0,
"PID_I_Low": 0,
"PID_Do": 0,
"PID_Du": 0,
"SamplingWindow_P": 1,
"SamplingWindow_I": 1,
"SamplingWindow_D": 1,
"UclampMin_On": true,
"UclampMin_Init": 232,
"UclampMin_LoadUp": 730,
"UclampMin_LoadReset": 730,
"UclampMin_High": 480,
"UclampMin_Low": 2,
"UclampMin_Init": 250,
"UclampMin_High": 197,
"UclampMin_Low": 197,
"UclampMax_EfficientBase": 500,
"UclampMax_EfficientOffset": 200,
"SamplingWindow_P": 1,
"SamplingWindow_I": 0,
"SamplingWindow_D": 1,
"ReportingRateLimitNs": 166666660,
"ReportingRateLimitNs": 1,
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 15.0,
"HeuristicBoost_On": true,
"HBoostModerateJankThreshold": 2,
"HBoostOffMaxAvgDurRatio": 4.0,
"HBoostSevereJankPidPu": 0.5,
"HBoostSevereJankThreshold": 8,
"HBoostUclampMinCeilingRange": [480, 722],
"HBoostUclampMinFloorRange": [230, 410],
"JankCheckTimeFactor": 1.2,
"LowFrameRateThreshold": 25,
"MaxRecordsNum": 300
"StaleTimeFactor": 5.0
},
{
"Name": "UiLowBoostWithoutPid",
"PID_On": false,
"PID_Po": 0,
"PID_Pu": 0,
"PID_I": 0,
"PID_I_Init": 0,
"PID_I_High": 0,
"PID_I_Low": 0,
"PID_Do": 0,
"PID_Du": 0,
"SamplingWindow_P": 1,
"SamplingWindow_I": 1,
"SamplingWindow_D": 1,
"UclampMin_On": true,
"UclampMin_Init": 250,
"UclampMin_High": 53,
"UclampMin_Low": 53,
"UclampMax_EfficientBase": 500,
"UclampMax_EfficientOffset": 200,
"ReportingRateLimitNs": 1,
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 5.0
},
{
"Name": "UiLowNoneBoost",
"PID_On": false,
"PID_Po": 0,
"PID_Pu": 0,
"PID_I": 0,
"PID_I_Init": 0,
"PID_I_High": 0,
"PID_I_Low": 0,
"PID_Do": 0,
"PID_Du": 0,
"SamplingWindow_P": 1,
"SamplingWindow_I": 1,
"SamplingWindow_D": 1,
"UclampMin_On": true,
"UclampMin_Init": 250,
"UclampMin_High": 0,
"UclampMin_Low": 0,
"UclampMax_EfficientBase": 500,
"UclampMax_EfficientOffset": 200,
"ReportingRateLimitNs": 1,
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 5.0
}
]
}

View File

@@ -0,0 +1,2 @@
# Bug component: 48448
include platform/packages/apps/Nfc:/OWNERS

View File

@@ -0,0 +1,3 @@
# People who can approve changes for submission
include platform/packages/modules/Uwb:/OWNERS
victorliu@google.com

View File

@@ -0,0 +1,4 @@
# People who can approve changes for submission
kumachang@google.com
wangroger@google.com
hsuvictor@google.com

3
self-extractors/METADATA Normal file
View File

@@ -0,0 +1,3 @@
third_party {
license_type: NOTICE
}

12
self-extractors/PART1 Normal file
View File

@@ -0,0 +1,12 @@
#
# Usage is subject to the enclosed license agreement
echo
echo The license for this software will now be displayed.
echo You must agree to this license before using this software.
echo
echo -n Press Enter to view the license
read dummy
echo
more << __EOF__

22
self-extractors/PART2 Normal file
View File

@@ -0,0 +1,22 @@
__EOF__
if test $? != 0
then
echo ERROR: Couldn\'t display license file 1>&2
exit 1
fi
echo
echo -n Type \"I ACCEPT\" if you agree to the terms of the license:\
read typed
if test "$typed" != I\ ACCEPT
then
echo
echo You didn\'t accept the license. Extraction aborted.
exit 2
fi
echo

12
self-extractors/PART3 Normal file
View File

@@ -0,0 +1,12 @@
if test $? != 0
then
echo
echo ERROR: Couldn\'t extract files. 1>&2
exit 3
else
echo
echo Files extracted successfully.
fi
exit 0

2
self-extractors/PROLOGUE Normal file
View File

@@ -0,0 +1,2 @@
#!/bin/bash
#

View File

@@ -0,0 +1,17 @@
google_devices)
TO_EXTRACT="\
IMAGES/vbmeta_vendor.img \
IMAGES/vendor.img \
IMAGES/vendor_dlkm.img \
RADIO/bootloader.img \
RADIO/radio.img \
system_ext/etc/permissions/com.shannon.imsservice.xml \
system_ext/etc/permissions/com.shannon.rcsservice.xml \
system_ext/etc/permissions/privapp-permissions-qorvo.xml \
system_ext/lib64/libmediaadaptor.so \
system_ext/priv-app/ShannonRcs/ShannonRcs.apk \
system_ext/priv-app/ShannonIms/ShannonIms.apk \
system_ext/priv-app/UwbVendorService/UwbVendorService.apk \
"
;;

View File

@@ -0,0 +1 @@
# (C) Google Inc.

View File

@@ -0,0 +1,264 @@
THIS DEVELOPER SOFTWARE LICENSE AGREEMENT (THE "AGREEMENT") IS A LEGALLY
BINDING AGREEMENT BETWEEN Google Inc. ("LICENSOR") AND
YOU OR THE LEGAL ENTITY YOU REPRESENT ("You" or its possessive, "Your"). BY
TYPING "I ACCEPT" WHERE INDICATED YOU ACKNOWLEDGE THAT YOU HAVE READ THIS
AGREEMENT, UNDERSTAND IT AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS.
IF YOU DO NOT AGREE TO THESE TERMS YOU MUST DISCONTINUE THE INSTALLATION
PROCESS AND YOU SHALL NOT USE THE SOFTWARE OR RETAIN ANY COPIES OF THE
SOFTWARE OR DOCUMENTATION. ANY USE OR POSSESSION OF THE SOFTWARE BY YOU IS
SUBJECT TO THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT. IF THE
SOFTWARE IS INSTALLED ON A COMPUTER OWNED BY A CORPORATION OR OTHER LEGAL
ENTITY, THEN YOU REPRESENT AND WARRANT THAT YOU HAVE THE AUTHORITY TO BIND
SUCH ENTITY TO THE TERMS AND CONDITIONS OF THIS AGREEMENT.
1. Special Definitions
a. The term "Android" means the open source mobile platform, software
stack, operating system, middleware, application programming
interfaces and mobile applications under the trade-name "Android"
distributed at Android.com.
b. The term "Android Applications" means a software application or
open-source contribution developed by You, designed to operate with
Android that does not contain or incorporate any of the Software.
c. The term "Authorized Android Enabled Device" means only the device
identified on the site from which You downloaded the Software.
The term "Software" means the Licensor's proprietary software and
libraries in object code form, designed for use on the Authorized
Android Enabled Device.
d. The term "Authorized Android Enabled Device Software" means a
packaged build for Authorized Android Enabled Devices, consisting
of files suitable for installation on an Authorized Android Enabled
Device using a mechanism such as fastboot mode or recovery mode.
2. License Grant
a. Subject to the terms of this Agreement, Licensor hereby grants to
You, free of charge, a non-exclusive, non-sublicensable,
non-transferable, limited copyright license, during the term of
this Agreement, to download, install and use the Software
internally in machine-readable (i.e., object code) form and the
Documentation for non-commercial use on an Authorized Android
Enabled Device and non-commercial redistribution for academic
purposes only of a reasonable number of copies of the Authorized
Android Enabled Device Software (the "Limited Purpose"). You may
grant your end users the right to use the Software for
non-commercial purposes on an Authorized Android Enabled Device.
The license to the Software granted to You hereunder is solely for
the Limited Purpose set forth in this section, and the Software
shall not be used for any other purpose.
3. Restrictions
a. Retention of Rights. The entire right, title and interest in the
Software shall remain with Licensor and, unless specified in
writing hereunder, no rights are granted to any of the Software.
Except for the right to use the Software for the Limited Purpose,
the delivery of the Software to You does not convey to You any
intellectual property rights in the Software, including, but not
limited to any rights under any patent, trademark, copyright, or
trade secret. Neither the delivery of the Software to You nor any
terms set forth herein shall be construed to grant to You, either
expressly, by implication or by way of estoppel, any license under
any patents or other intellectual property rights covering or
relating to any other product or invention or any combination of
the Software with any other product. Any rights not expressly
granted to You herein are reserved by Licensor.
b. No Commercialization or Distribution of the Software and
Documentation. Except as expressly provided in Section 2 of this
Agreement, You shall have no right to (i) copy, disclose,
distribute, publically perform, publically display, transfer,
alter, modify, translate, disassemble, decompile, reverse engineer,
or adapt the Software and Documentation, or any portion thereof, or
create any derivative works based thereon; (ii) rent, lease,
assign, sublicense, resell, disclose or otherwise transfer the
Software and Documentation in whole or in part to any third party
(iii) use the Software and Documentation except for the Limited
Purpose, (iv) remove or alter any of the copyright or proprietary
notices contained in any of the Software and Documentation. For the
purposes of clarity, nothing in this Agreement prohibits You from
making and distributing Android Applications under commercial or
non-commercial terms, provided that You shall not contain,
incorporate, and/or compile the Software or any of its derivative
works, in whole or in part, into Your Android Applications and/or
any software/devices created by You or by third parties acting on
Your behalf. You and any such third party shall comply with all of
the terms and conditions of this Agreement.
c. No Reverse Engineering. Except for any portions of the Software
provided to You in source code format and except for any third
party code distributed with the Software that is licensed under
contrary terms, You will not reverse engineer, disassemble,
decompile, or translate the Software, or otherwise attempt to
derive the source code version of the Software, except if and to
the extent expressly permitted under any applicable law.
d. Third Party Software. You agree that Android may contain third
party software. You agree that you may not distribute such third
party software for any purpose without appropriate licenses from
the applicable third party or parties.
e. No Transfer or Assignment. You shall not assign any of its rights
or obligations under this Agreement. Any attempted assignment in
contravention of this Section shall be void.
f. Licensor shall retain all title, ownership and Intellectual
Property Rights in and to the Software and any derivative thereof.
"Intellectual Property Rights" shall mean all patent, copyright,
trade secret, trademark and other proprietary and intellectual
property rights, including moral rights.
g. Neither this Agreement, nor any act by Licensor or its Affiliates
persuant to this Agreement or relating to the Software (including,
without limitation, the provision by Licensor or its Affiliates of
the Software) shall provide to You any license or any other rights
whatsoever under any patents, trademarks, trade secrets, copyrights
or any other intellectual property rights of Licensor or its
Affiliates, except for the copyrights expressly set forth in this
Agreement. You understand and agree that:
h. Neither this Agreement, nor delivery of the Software alone or in
combination with any Licensor ASIC grants you any right to
practice, or any other right at all with respect to, any patent of
Licensor or its Affiliates, and
i. A separating license agreement from Motorola Incorporated is needed
to use or practice any patent of Licensor or its Affiliates.
j. You agree not to contend in any context that, as a result of the
provision or use of this software, either Licensor or Affiliate has
any obligation to extend, or Licensor or any other party has
obtained any right to, any license, whether express or implied,
with respect to any patent of Licensor or its Affiliates for any
purpose. For the purposes of this agreement, "Affiliate" means
(i) any corporation or any other legal entity that owns, directly
or indirectly, more than fifty percent (50%) of the shares, equity
interest or other securities of any entity entitled to vote for
election of directors (or other managing authority), or (ii) any
corporation or any other legal entity fifty percent (50%) or more
of whose shares, equity interest, or other securities entitled to
vote for election of directors (or other managing authority) is
owned or controlled by an entity, either directly or indirectly.
4. Indemnity
a. You agree to indemnify and hold harmless Licensor, Google, and
their officers, directors, customers, employees and successors and
assigns (each an "Indemnified Party") against any and all claims,
demands, causes of action, losses, liabilities, damages, costs and
expenses, incurred by the Indemnified Party (including but not
limited to costs of defense, investigation and reasonable
attorney's fees) arising out of, resulting from or related to
(i) any software, products, documentation, content, materials or
derivative works created or developed by You using the Software
which causes an infringement of any patent, copyright, trademark,
trade secret, or other property, publicity or privacy rights of any
third parties arising in any jurisdiction anywhere in the world,
(ii) the download, distribution, installation, storage, execution,
use or transfer of such software, products, documentation, content,
materials or derivative works by any person or entity, and/or
(iii) any breach of this Agreement by You. If requested by an
Indemnified Party, You agree to defend such Indemnified Party in
connection with any third party claims, demands, or causes of
action resulting from, arising out of or in connection with any of
the foregoing.
5. Limitation of Liability
a. TO THE MAXIMUM EXTENT PERMITTED UNDER APPLICABLE LAWS, UNDER NO
CIRCUMSTANCES, INCLUDING WITHOUT LIMITATION NEGLIGENCE, SHALL
LICENSOR, GOOGLE, THEIR AFFILIATES AND/OR ITS DIRECTORS, OFFICERS,
EMPLOYEES OR AGENTS BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT
LIMITED TO DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS
INTERRUPTION, LOSS OF BUSINESS INFORMATION AND THE LIKE) ARISING
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR ANY DOWNLOAD,
INSTALLATION OR USE OF, OR INABILITY TO USE, THE SOFTWARE, EVEN IF
LICENSOR OR GOOGLE HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OR
EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES SO
THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY OR MAY BE LIMITED.
IN NO EVENT SHALL LICENSOR'S OR GOOGLE'S TOTAL AGGREGATE LIABILITY
TO YOU FOR ANY AND ALL DAMAGES, LOSSES, CLAIMS AND CAUSES OF
ACTIONS (WHETHER IN CONTRACT, TORT, INCLUDING NEGLIGENCE,
INDEMNIFICATION OR OTHERWISE) EXCEED ONE HUNDRED U.S. DOLLARS
(US$100). THE LIMITATIONS SET FORTH IN THIS PARAGRAPH SHALL BE
DEEMED TO APPLY TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW.
THE PARTIES HAVE FULLY CONSIDERED THE FOREGOING ALLOCATION OF RISK
AND FIND IT REASONABLE, AND THAT THE FOREGOING LIMITATIONS IN THIS
PARAGRAPH ARE AN ESSENTIAL BASIS OF THE BARGAIN BETWEEN THE
PARTIES.
6. No Warranty
a. LICENSOR AND GOOGLE MAKE NO WARRANTIES, EXPRESS OR IMPLIED, WITH
RESPECT TO THE SOFTWARE AND DOCUMENTATION PROVIDED UNDER THIS
AGREEMENT, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR AGAINST
INFRINGEMENT, OR ANY EXPRESS OR IMPLIED WARRANTY ARISING OUT OF
TRADE USAGE OR OUT OF A COURSE OF DEALING OR COURSE OF PERFORMANCE.
NOTHING CONTAINED IN THIS AGREEMENT SHALL BE CONSTRUED AS A
WARRANTY OR REPRESENTATION BY LICENSOR (I) AS TO THE VALIDITY OR
SCOPE OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT
AND (II) THAT ANY MANUFACTURE OR USE WILL BE FREE FROM INFRINGEMENT
OF PATENTS, COPYRIGHTS OR OTHER INTELLECTUAL PROPERTY RIGHTS OF
OTHERS, AND IT SHALL BE THE SOLE RESPONSIBILITY OF YOU TO MAKE SUCH
DETERMINATION AS IS NECESSARY WITH RESPECT TO THE ACQUISITION OF
LICENSES UNDER PATENTS AND OTHER INTELLECTUAL PROPERTY OF THIRD
PARTIES. LICENSOR AND GOOGLE SHALL NOT HAVE ANY OBLIGATION TO
PROVIDE ANY TECHNICAL SUPPORT OF THE SOFTWARE UNDER THIS AGREEMENT.
7. Term and Termination
a. This Agreement shall be effective on the date You accept this
Agreement and shall remain in effect until terminated as provided
herein. You may terminate the Agreement at any time by deleting and
destroying all copies of the Software and all related information
in Your possession or control. This Agreement terminates
immediately and automatically, with or without notice, if You fail
to comply with any provision hereof. Additionally, Licensor may at
any time terminate this Agreement, without cause, upon notice to
You. Upon termination You must delete or destroy all copies of the
Software in Your possession, and the license granted to You in this
Agreement shall terminate. Sections 3, 4, 5, 6 and 8 shall survive
the termination of this Agreement.
8. Miscellaneous
a. Governing Law. This Agreement is governed and interpreted in
accordance with the laws of the State of California without giving
effect to its conflict of laws provisions. The United Nations
Convention on Contracts for the International Sale of Goods is
expressly disclaimed and shall not apply. Any claim arising out of
or related to this Agreement must be brought exclusively in a
federal or state court located in Santa Clara County, California
and You consent to the jurisdiction and venue of such courts.
b. Waiver and Severability. The failure of either party to require
performance by the other party of any provision of this Agreement
shall not affect the full right to require such performance at any
time thereafter; nor shall the waiver by either party of a breach
of any provision of this Agreement be taken or held to be a waiver
of the provision itself. Severability. If any provision of this
Agreement is unenforceable or invalid under any applicable law or
is so held by applicable court decision, such unenforceability or
invalidity shall not render this Agreement unenforceable or invalid
as a whole, and such provision shall be changed and interpreted so
as to best accomplish the objectives of such unenforceable or
invalid provision within the limits of applicable law or
applicable court decisions.
c. Amendment and Modification. This Agreement and any of its terms and
provisions may only be amended, modified, supplemented or waived in
a writing signed by both parties hereto.
d. Compliance with Laws. You shall comply with all applicable laws,
rules, and regulations in connection with its activities under this
Agreement.
e. Entire Agreement. This Agreement completely and exclusively states
the agreement between You and Licensor regarding this subject
matter.

View File

@@ -0,0 +1,41 @@
// 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.
soong_namespace {
}
cc_prebuilt_library_shared {
name: "libmediaadaptor",
arch: {
arm64: {
srcs: ["lib64/libmediaadaptor.so"],
shared_libs: [
"libandroid_runtime",
"libbinder",
"libc++",
"liblog",
"libmedia",
"libnativehelper",
"libstagefright",
"libutils",
],
},
},
compile_multilib: "both",
system_ext_specific: true,
strip: {
none: true,
},
}

View File

@@ -0,0 +1,73 @@
#
# 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.
#
LOCAL_PATH := $(call my-dir)
ifneq ($(filter felix,$(TARGET_DEVICE)),)
$(call add-radio-file,bootloader.img)
$(call add-radio-file,radio.img)
endif
ifneq ($(filter felix,$(TARGET_DEVICE)),)
include $(CLEAR_VARS)
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_MODULE := ShannonIms
LOCAL_MODULE_TAGS := optional
LOCAL_BUILT_MODULE_STEM := package.apk
LOCAL_SYSTEM_EXT_MODULE := true
LOCAL_PRIVILEGED_MODULE := true
LOCAL_MODULE_OWNER := samsung
LOCAL_MODULE_CLASS := APPS
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
LOCAL_LICENSE_CONDITIONS := notice
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../COPYRIGHT $(LOCAL_PATH)/../LICENSE
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_MODULE := ShannonRcs
LOCAL_MODULE_TAGS := optional
LOCAL_BUILT_MODULE_STEM := package.apk
LOCAL_SYSTEM_EXT_MODULE := true
LOCAL_PRIVILEGED_MODULE := true
LOCAL_MODULE_OWNER := samsung
LOCAL_MODULE_CLASS := APPS
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
LOCAL_LICENSE_CONDITIONS := notice
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../COPYRIGHT $(LOCAL_PATH)/../LICENSE
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_MODULE := UwbVendorService
LOCAL_MODULE_TAGS := optional
LOCAL_BUILT_MODULE_STEM := package.apk
LOCAL_SYSTEM_EXT_MODULE := true
LOCAL_PRIVILEGED_MODULE := true
LOCAL_MODULE_OWNER := qorvo
LOCAL_MODULE_CLASS := APPS
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
LOCAL_LICENSE_CONDITIONS := notice
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../COPYRIGHT $(LOCAL_PATH)/../LICENSE
include $(BUILD_PREBUILT)
endif

View File

@@ -0,0 +1,37 @@
# 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.
BOARD_PREBUILT_VENDORIMAGE := vendor/google_devices/felix/proprietary/vendor.img
BOARD_PREBUILT_VENDOR_DLKMIMAGE := vendor/google_devices/felix/proprietary/vendor_dlkm.img
TARGET_COPY_OUT_VENDOR_DLKM := vendor_dlkm
BOARD_AVB_VBMETA_VENDOR := vendor
BOARD_AVB_VBMETA_VENDOR_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
BOARD_AVB_VBMETA_VENDOR_ALGORITHM := SHA256_RSA2048
BOARD_AVB_VBMETA_VENDOR_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
BOARD_AVB_VBMETA_VENDOR_ROLLBACK_INDEX_LOCATION := 3
AB_OTA_PARTITIONS += \
vbmeta_vendor \
vendor \
vendor_dlkm \
-include vendor/google/tools/android-info.mk
ifdef USE_ANDROID_INFO
TARGET_BOARD_INFO_FILE := vendor/google_devices/felix/android-info.txt
endif
VENDOR_BLOBS_LICENSE := vendor/google_devices/felix/LICENSE

View File

@@ -0,0 +1,32 @@
# 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.
PRODUCT_SOONG_NAMESPACES += \
vendor/google_devices/felix/proprietary \
# AOSP packages required by the blobs
PRODUCT_PACKAGES := \
ShannonIms \
ShannonRcs \
UwbVendorService \
PRODUCT_PACKAGES += \
libmediaadaptor \
# blob(s) necessary for felix hardware
PRODUCT_COPY_FILES := \
vendor/google_devices/felix/proprietary/com.shannon.imsservice.xml:system_ext/etc/permissions/com.shannon.imsservice.xml:samsung \
vendor/google_devices/felix/proprietary/com.shannon.rcsservice.xml:system_ext/etc/permissions/com.shannon.rcsservice.xml:samsung \
vendor/google_devices/felix/proprietary/privapp-permissions-qorvo.xml:system_ext/etc/permissions/privapp-permissions-qorvo.xml:qorvo \

View File

@@ -0,0 +1,8 @@
require board=felix
require partition-exists=vendor_kernel_boot
require version-bootloader=felix-1.0-9477737
require version-baseband=g5300n-230112-230118-B-9502391

View File

@@ -0,0 +1,15 @@
# 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.
-include vendor/google_devices/felix/BoardConfigPartial.mk

View File

@@ -0,0 +1,15 @@
# Copyright 2023 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
$(call inherit-product-if-exists, vendor/google_devices/felix/device-partial.mk)

View File

@@ -14,6 +14,7 @@
# limitations under the License.
# UWB - ultra wide band
$(call inherit-product-if-exists, vendor/qorvo/uwb/uwb.mk)
LOCAL_UWB_CAL_DIR=device/google/felix/uwb

View File

@@ -60,6 +60,7 @@ PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/UWB-calibration-ce.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-ch.conf \
$(LOCAL_PATH)/UWB-calibration-jp.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-jp.conf \
$(LOCAL_PATH)/UWB-calibration-tw.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-tw.conf \
$(LOCAL_PATH)/UWB-calibration-restricted.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-ar.conf \
$(LOCAL_PATH)/UWB-calibration-restricted.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-am.conf \
$(LOCAL_PATH)/UWB-calibration-restricted.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-az.conf \
$(LOCAL_PATH)/UWB-calibration-restricted.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-by.conf \
@@ -67,7 +68,10 @@ PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/UWB-calibration-restricted.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-kz.conf \
$(LOCAL_PATH)/UWB-calibration-restricted.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-kg.conf \
$(LOCAL_PATH)/UWB-calibration-restricted.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-np.conf \
$(LOCAL_PATH)/UWB-calibration-restricted.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-pk.conf \
$(LOCAL_PATH)/UWB-calibration-restricted.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-py.conf \
$(LOCAL_PATH)/UWB-calibration-restricted.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-ru.conf \
$(LOCAL_PATH)/UWB-calibration-restricted.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-sb.conf \
$(LOCAL_PATH)/UWB-calibration-restricted.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-tj.conf \
$(LOCAL_PATH)/UWB-calibration-restricted.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-tm.conf \
$(LOCAL_PATH)/UWB-calibration-restricted.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-ua.conf \

View File

@@ -44,6 +44,7 @@
"Taiwan": "tw"
*Restricted
"Argentina": "ar"
"Armenia": "am"
"Azerbaijan": "az"
"Belarus": "by"
@@ -51,7 +52,10 @@
"Kazakhstan": "kz"
"Kyrgyzstan": "kg"
"Nepal": "np"
"Pakistan": "pk"
"Paraguay": "py"
"Russia": "ru"
"Solomon Islands": "sb"
"Tajikistan": "tj"
"Turkmenistanr": "tm"
"Ukraine": "ua"

3
vibrator/OWNERS Normal file
View File

@@ -0,0 +1,3 @@
chrispaulo@google.com
nathankulczak@google.com
taikuo@google.com

View File

@@ -29,13 +29,6 @@ namespace android {
namespace hardware {
namespace vibrator {
void HwApiBase::recordEvent(const char *func, const std::string &value) {
std::lock_guard<std::mutex> lock(mRecordsMutex);
mRecords.emplace_back(std::make_unique<Record<std::string>>
(HwApiBase::RecordType::EVENT, func, value, nullptr));
mRecords.pop_front();
}
HwApiBase::HwApiBase() {
mPathPrefix = std::getenv("HWAPI_PATH_PREFIX") ?: "";
if (mPathPrefix.empty()) {

View File

@@ -39,7 +39,6 @@ using ::android::base::unique_fd;
class HwApiBase {
private:
using NamesMap = std::map<const std::ios *, std::string>;
enum class RecordType { EVENT, HWAPI };
class RecordInterface {
public:
@@ -49,16 +48,12 @@ class HwApiBase {
template <typename T>
class Record : public RecordInterface {
public:
Record(const RecordType &type, const char *func, const T &value, const std::ios *stream)
: mType(type),
mFunc(func),
mValue(value),
mStream(stream),
Record(const char *func, const T &value, const std::ios *stream)
: mFunc(func), mValue(value), mStream(stream),
mTp(std::chrono::system_clock::system_clock::now()) {}
std::string toString(const NamesMap &names) override;
private:
const RecordType mType;
const char *mFunc;
const T mValue;
const std::ios *mStream;
@@ -71,7 +66,6 @@ class HwApiBase {
public:
HwApiBase();
void debug(int fd);
void recordEvent(const char *func, const std::string &value);
protected:
void saveName(const std::string &name, const std::ios *stream);
@@ -182,7 +176,7 @@ bool HwApiBase::poll(const T &value, std::istream *stream, const int32_t timeout
template <typename T>
void HwApiBase::record(const char *func, const T &value, const std::ios *stream) {
std::lock_guard<std::mutex> lock(mRecordsMutex);
mRecords.emplace_back(std::make_unique<Record<T>>(RecordType::HWAPI, func, value, stream));
mRecords.emplace_back(std::make_unique<Record<T>>(func, value, stream));
mRecords.pop_front();
}
@@ -194,18 +188,10 @@ std::string HwApiBase::Record<T>::toString(const NamesMap &names) {
struct tm buf;
auto lTime = localtime_r(&lTp, &buf);
if (mType == RecordType::EVENT) {
ret << std::put_time(lTime, "%Y-%m-%d %H:%M:%S.") << std::setfill('0') << std::setw(3)
<< (std::chrono::duration_cast<std::chrono::milliseconds>(mTp.time_since_epoch()) %
1000).count()
<< " | " << "IVibrator::" << mFunc << " | " << mValue;
} else {
ret << " \t" << std::put_time(lTime, "%Y-%m-%d %H:%M:%S.") << std::setfill('0')
<< std::setw(3)
<< (std::chrono::duration_cast<std::chrono::milliseconds>(mTp.time_since_epoch()) %
1000).count()
<< " " << mFunc << " '" << names.at(mStream) << "' = '" << mValue << "'";
}
ret << std::put_time(lTime, "%Y-%m-%d %H:%M:%S.") << std::setfill('0') << std::setw(3)
<< (std::chrono::duration_cast<std::chrono::milliseconds>(mTp.time_since_epoch()) % 1000)
.count()
<< " " << mFunc << " '" << names.at(mStream) << "' = '" << mValue << "'";
return ret.str();
}

View File

@@ -287,10 +287,6 @@ class HwApi : public Vibrator::HwApi, private HwApiBase {
return true;
}
void recordEvent(const char *func, const std::string &value) override {
HwApiBase::recordEvent(func, value);
}
void debug(int fd) override { HwApiBase::debug(fd); }
private:

View File

@@ -45,24 +45,6 @@ namespace aidl {
namespace android {
namespace hardware {
namespace vibrator {
#define RECORD(fmt, ...) { \
this->mHwApiDef->recordEvent(__func__, StringPrintf(fmt, ##__VA_ARGS__)); \
if (this->mIsDual) { \
this->mHwApiDual->recordEvent(__func__, StringPrintf(fmt, ##__VA_ARGS__)); \
} \
}
#define RECORD_COMPOSE(...) \
std::string effectString = ""; \
for (auto &effect : composite) { \
effectString += effect.toString() + ", "; \
} \
this->mHwApiDef->recordEvent(__func__, effectString.c_str()); \
if (this->mIsDual) { \
this->mHwApiDual->recordEvent(__func__, effectString.c_str()); \
} \
static constexpr uint16_t FF_CUSTOM_DATA_LEN_MAX_COMP = 2044; // (COMPOSE_SIZE_MAX + 1) * 8 + 4
static constexpr uint16_t FF_CUSTOM_DATA_LEN_MAX_PWLE = 2302;
@@ -213,6 +195,7 @@ enum vibe_state {
VIBE_STATE_ASP,
};
std::mutex mActiveId_mutex; // protects mActiveId
class DspMemChunk {
private:
@@ -478,7 +461,6 @@ Vibrator::Vibrator(std::unique_ptr<HwApi> hwApiDefault, std::unique_ptr<HwCal> h
if ((mHwApiDual != nullptr) && (mHwCalDual != nullptr))
mIsDual = true;
RECORD("mIsDual = %d", mIsDual);
// ==================INPUT Devices== Base =================
const char *inputEventName = std::getenv("INPUT_EVENT_NAME");
const char *inputEventPathName = std::getenv("INPUT_EVENT_PATH");
@@ -834,8 +816,6 @@ ndk::ScopedAStatus Vibrator::off() {
bool ret{true};
const std::scoped_lock<std::mutex> lock(mActiveId_mutex);
RECORD("mActiveId = %d", mActiveId);
if (mActiveId >= 0) {
ALOGD("Off: Stop the active effect: %d", mActiveId);
/* Stop the active effect. */
@@ -878,7 +858,6 @@ ndk::ScopedAStatus Vibrator::on(int32_t timeoutMs,
const std::shared_ptr<IVibratorCallback> &callback) {
ATRACE_NAME("Vibrator::on");
ALOGD("Vibrator::on");
RECORD("timeoutMs = %d", timeoutMs);
if (timeoutMs > MAX_TIME_MS) {
return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT);
@@ -904,8 +883,6 @@ ndk::ScopedAStatus Vibrator::perform(Effect effect, EffectStrength strength,
int32_t *_aidl_return) {
ATRACE_NAME("Vibrator::perform");
ALOGD("Vibrator::perform");
RECORD("effect = %s, strength = %s",
toString(effect).c_str(), toString(strength).c_str());
return performEffect(effect, strength, callback, _aidl_return);
}
@@ -987,8 +964,6 @@ ndk::ScopedAStatus Vibrator::compose(const std::vector<CompositeEffect> &composi
const std::shared_ptr<IVibratorCallback> &callback) {
ATRACE_NAME("Vibrator::compose");
ALOGD("Vibrator::compose");
RECORD_COMPOSE(composite);
uint16_t size;
uint16_t nextEffectDelay;
@@ -1344,17 +1319,6 @@ static void incrementIndex(int *index) {
*index += 1;
}
Vibrator::~Vibrator() {
if (isUnderExternalControl()) {
ALOGD("Disabling external control");
setExternalControl(false);
}
ALOGD("Turning off the vibrator");
off();
ALOGD("Waiting for mAsyncHandle to complete");
mAsyncHandle.wait();
}
ndk::ScopedAStatus Vibrator::composePwle(const std::vector<PrimitivePwle> &composite,
const std::shared_ptr<IVibratorCallback> &callback) {
ATRACE_NAME("Vibrator::composePwle");

View File

@@ -16,7 +16,6 @@
#pragma once
#include <aidl/android/hardware/vibrator/BnVibrator.h>
#include <android-base/stringprintf.h>
#include <android-base/unique_fd.h>
#include <linux/input.h>
#include <tinyalsa/asoundlib.h>
@@ -30,8 +29,6 @@ namespace android {
namespace hardware {
namespace vibrator {
using ::android::base::StringPrintf;
class Vibrator : public BnVibrator {
public:
// APIs for interfacing with the GPIO pin.
@@ -106,8 +103,6 @@ class Vibrator : public BnVibrator {
int *status) = 0;
// Erase OWT waveform
virtual bool eraseOwtEffect(int fd, int8_t effectIndex, std::vector<ff_effect> *effect) = 0;
// Records IVibrator Event.
virtual void recordEvent(const char *func, const std::string &value) = 0;
// Emit diagnostic information to the given file.
virtual void debug(int fd) = 0;
};
@@ -153,7 +148,6 @@ class Vibrator : public BnVibrator {
Vibrator(std::unique_ptr<HwApi> hwApiDefault, std::unique_ptr<HwCal> hwCalDefault,
std::unique_ptr<HwApi> hwApiDual, std::unique_ptr<HwCal> hwCalDual,
std::unique_ptr<HwGPIO> hwgpio);
virtual ~Vibrator();
// BnVibrator APIs
ndk::ScopedAStatus getCapabilities(int32_t *_aidl_return) override;
@@ -256,7 +250,6 @@ class Vibrator : public BnVibrator {
bool mConfigHapticAlsaDeviceDone{false};
bool mGPIOStatus;
bool mIsDual{false};
std::mutex mActiveId_mutex; // protects mActiveId
};
} // namespace vibrator

View File

@@ -58,7 +58,6 @@ class MockApi : public ::aidl::android::hardware::vibrator::Vibrator::HwApi {
bool(int fd, const uint8_t *owtData, const uint32_t numBytes, struct ff_effect *effect,
uint32_t *outEffectIndex, int *status));
MOCK_METHOD3(eraseOwtEffect, bool(int fd, int8_t effectIndex, std::vector<ff_effect> *effect));
MOCK_METHOD2(recordEvent, void(const char *func, const std::string &value));
MOCK_METHOD1(debug, void(int fd));
~MockApi() override { destructor(); };

View File

@@ -295,7 +295,7 @@ class VibratorTest : public Test {
EXPECT_CALL(*mMockApi, setMinOnOffInterval(_)).Times(times);
EXPECT_CALL(*mMockApi, getHapticAlsaDevice(_, _)).Times(times);
EXPECT_CALL(*mMockApi, setHapticPcmAmp(_, _, _, _)).Times(times);
EXPECT_CALL(*mMockApi, recordEvent(_, _)).Times(times);
EXPECT_CALL(*mMockApi, debug(_)).Times(times);
EXPECT_CALL(*mMockCal, destructor()).Times(times);
@@ -335,14 +335,11 @@ TEST_F(VibratorTest, Constructor) {
EXPECT_CALL(*mMockApi, destructor()).WillOnce(DoDefault());
EXPECT_CALL(*mMockCal, destructor()).WillOnce(DoDefault());
EXPECT_CALL(*mMockGpio, destructor()).WillOnce(DoDefault());
// Mock calls for the VIbrator destructor.
EXPECT_CALL(*mMockApi, recordEvent(_, _)).WillRepeatedly(DoDefault());
EXPECT_CALL(*mMockApi, setFFGain(_, ON_GLOBAL_SCALE)).WillOnce(DoDefault());
deleteVibrator(false);
createMock(&mockapi, &mockcal, &mockgpio);
EXPECT_CALL(*mMockApi, recordEvent(_, _)).WillRepeatedly(DoDefault());
EXPECT_CALL(*mMockCal, getF0(_))
.InSequence(f0Seq)
.WillOnce(DoAll(SetArgReferee<0>(f0Val), Return(true)));
@@ -390,9 +387,6 @@ TEST_F(VibratorTest, on) {
Sequence s1, s2;
uint16_t duration = std::rand() + 1;
EXPECT_CALL(*mMockApi, recordEvent(_, _))
.InSequence(s1)
.WillRepeatedly(DoDefault());
EXPECT_CALL(*mMockApi, setFFGain(_, ON_GLOBAL_SCALE)).InSequence(s1).WillOnce(DoDefault());
EXPECT_CALL(*mMockApi, setFFEffect(_, _, duration + MAX_COLD_START_LATENCY_MS))
.InSequence(s2)
@@ -405,7 +399,6 @@ TEST_F(VibratorTest, on) {
TEST_F(VibratorTest, off) {
Sequence s1;
EXPECT_CALL(*mMockApi, recordEvent(_, _)).InSequence(s1).WillRepeatedly(DoDefault());
EXPECT_CALL(*mMockApi, setFFGain(_, ON_GLOBAL_SCALE)).InSequence(s1).WillOnce(DoDefault());
EXPECT_TRUE(mVibrator->off().isOk());
}
@@ -535,8 +528,6 @@ TEST_P(EffectsTest, perform) {
ExpectationSet eSetup;
Expectation eActivate, ePollHaptics, ePollStop, eEraseDone;
eSetup += EXPECT_CALL(*mMockApi, recordEvent(_, _)).WillRepeatedly(DoDefault());
if (scale != EFFECT_SCALE.end()) {
EffectIndex index = EFFECT_INDEX.at(effect);
duration = EFFECT_DURATIONS[index];
@@ -673,7 +664,6 @@ TEST_P(ComposeTest, compose) {
return ndk::ScopedAStatus::ok();
};
eSetup += EXPECT_CALL(*mMockApi, recordEvent(_, _)).WillRepeatedly(DoDefault());
eSetup += EXPECT_CALL(*mMockApi, setFFGain(_, ON_GLOBAL_SCALE))
.After(eSetup)
.WillOnce(DoDefault());

View File

@@ -31,7 +31,6 @@ WIFI_AVOID_IFACE_RESET_MAC_CHANGE := true
WIFI_FEATURE_HOSTAPD_11AX := true
BOARD_HOSTAPD_CONFIG_80211W_MFP_OPTIONAL := true
WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true
WIFI_BRCM_OPEN_SOURCE_MULTI_AKM := enabled
PRODUCT_COPY_FILES += \
device/google/felix/wifi/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf \