Update Felix SVN to 18 am: b3193d2db4
Original change: https://googleplex-android-review.googlesource.com/c/device/google/felix/+/23722149
Change-Id: Ied93d75fe55b0d72d521b98933e85bcbda19f17e
Signed-off-by: Automerger Merge Worker <[email protected]>
diff --git a/OWNERS b/OWNERS
index 1451bd8..79003ba 100644
--- a/OWNERS
+++ b/OWNERS
@@ -1 +1,4 @@
per-file powerhint.json = [email protected],[email protected],[email protected],[email protected]
+
+# per-file for Pixel device makefiles, see go/pixel-device-mk-owner-checklist for details.
+per-file *.mk,*/BoardConfig.mk=file:device/google/gs-common:master:/OWNERS
diff --git a/audio/felix/audio-tables.mk b/audio/felix/audio-tables.mk
index 8fdb81a..8fb6642 100644
--- a/audio/felix/audio-tables.mk
+++ b/audio/felix/audio-tables.mk
@@ -20,6 +20,7 @@
PRODUCT_COPY_FILES += \
device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_configuration_bluetooth_legacy_hal.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_bluetooth_legacy_hal.xml \
device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
+ device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_configuration_le_offload_disabled.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_le_offload_disabled.xml \
device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_configuration_a2dp_offload_disabled.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_a2dp_offload_disabled.xml \
device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/config/audio_platform_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_configuration.xml \
device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/config/sound_trigger_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_configuration.xml \
@@ -43,6 +44,7 @@
# Audio tuning
PRODUCT_COPY_FILES += \
device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/tuning/bluenote/recording.gatf:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/recording.gatf \
+ device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/tuning/bluenote/smartfeature.gstf:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/smartfeature.gstf \
device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/BLUETOOTH.dat:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/BLUETOOTH.dat \
device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HANDSFREE.dat:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HANDSFREE.dat \
device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HANDSET.dat:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HANDSET.dat \
diff --git a/audio/felix/config/audio_platform_configuration.xml b/audio/felix/config/audio_platform_configuration.xml
index 16976b4..bd62349 100644
--- a/audio/felix/config/audio_platform_configuration.xml
+++ b/audio/felix/config/audio_platform_configuration.xml
@@ -295,7 +295,7 @@
<device_handle>
<handler libname="audio_bt_aoc.so"/>
- <handler libname="audio_usb_aoc.so" argu="MaxSamplingRate=96000,UnsupportedFormat=S24_LE"/>
+ <handler libname="audio_usb_aoc.so" argu="MaxSamplingRate=192000,UnsupportedFormat=S24_LE,MaxCapPacketInterval=125,MaxCapSampleRate=192000,MaxCapBitWidth=32,MaxCapChannel=2,EnableHifi192kMultichannel=0"/>
</device_handle>
<external_module>
diff --git a/audio/felix/config/audio_policy_configuration.xml b/audio/felix/config/audio_policy_configuration.xml
index 41b91bb..1b44390 100644
--- a/audio/felix/config/audio_policy_configuration.xml
+++ b/audio/felix/config/audio_policy_configuration.xml
@@ -166,6 +166,18 @@
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
+ <devicePort tagName="BT BLE Headset" type="AUDIO_DEVICE_OUT_BLE_HEADSET" role="sink"
+ encodedFormats="AUDIO_FORMAT_LC3">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </devicePort>
+ <devicePort tagName="BT BLE Speaker" type="AUDIO_DEVICE_OUT_BLE_SPEAKER" role="sink"
+ encodedFormats="AUDIO_FORMAT_LC3">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </devicePort>
+ <devicePort tagName="BLE Headset Mic" type="AUDIO_DEVICE_IN_BLE_HEADSET" role="source">
+ </devicePort>
<devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source">
</devicePort>
<devicePort tagName="USB Headset In" type="AUDIO_DEVICE_IN_USB_HEADSET" role="source">
@@ -183,34 +195,38 @@
<route type="mix" sink="Earpiece"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="BT A2DP Out"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out,raw,mmap_no_irq_out"/>
<route type="mix" sink="BT A2DP Headphones"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out,raw,mmap_no_irq_out"/>
<route type="mix" sink="BT A2DP Speaker"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out,raw,mmap_no_irq_out"/>
+ <route type="mix" sink="BT BLE Headset"
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out,raw,mmap_no_irq_out"/>
+ <route type="mix" sink="BT BLE Speaker"
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out,raw,mmap_no_irq_out"/>
<route type="mix" sink="USB Device Out"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="USB Headset Out"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="BT SCO"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
<route type="mix" sink="BT SCO Headset"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
<route type="mix" sink="BT SCO Car Kit"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
<route type="mix" sink="Telephony Tx" sources="incall playback,voice call tx" />
<route type="mix" sink="primary input"
- sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
+ sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic,BLE Headset Mic"/>
<route type="mix" sink="hotword input"
- sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
+ sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic,BLE Headset Mic"/>
<route type="mix" sink="incall capture" sources="Voice Call And Telephony Rx" />
<route type="mix" sink="voice call rx" sources="Voice Call And Telephony Rx" />
<route type="mix" sink="voip_tx"
- sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
+ sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic,BLE Headset Mic"/>
<route type="mix" sink="fast input"
- sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In"/>
+ sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="mmap_no_irq_in"
- sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In"/>
+ sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" />
<route type="mix" sink="echo_ref_input" sources="Echo Ref In"/>
</routes>
diff --git a/audio/felix/config/audio_policy_configuration_a2dp_offload_disabled.xml b/audio/felix/config/audio_policy_configuration_a2dp_offload_disabled.xml
index b4eaf0c..eb8560c 100644
--- a/audio/felix/config/audio_policy_configuration_a2dp_offload_disabled.xml
+++ b/audio/felix/config/audio_policy_configuration_a2dp_offload_disabled.xml
@@ -173,11 +173,11 @@
<route type="mix" sink="USB Headset Out"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="BT SCO"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
<route type="mix" sink="BT SCO Headset"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
<route type="mix" sink="BT SCO Car Kit"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
<route type="mix" sink="Telephony Tx" sources="incall playback,voice call tx" />
<route type="mix" sink="primary input"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
@@ -188,9 +188,9 @@
<route type="mix" sink="voip_tx"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="fast input"
- sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In"/>
+ sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="mmap_no_irq_in"
- sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In"/>
+ sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" />
<route type="mix" sink="echo_ref_input" sources="Echo Ref In"/>
</routes>
diff --git a/audio/felix/config/audio_policy_configuration_bluetooth_legacy_hal.xml b/audio/felix/config/audio_policy_configuration_bluetooth_legacy_hal.xml
index 7fd7f28..1863d5a 100644
--- a/audio/felix/config/audio_policy_configuration_bluetooth_legacy_hal.xml
+++ b/audio/felix/config/audio_policy_configuration_bluetooth_legacy_hal.xml
@@ -169,11 +169,11 @@
<route type="mix" sink="USB Headset Out"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="BT SCO"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
<route type="mix" sink="BT SCO Headset"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
<route type="mix" sink="BT SCO Car Kit"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
<route type="mix" sink="Telephony Tx" sources="incall playback,voice call tx" />
<route type="mix" sink="primary input"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
@@ -184,9 +184,9 @@
<route type="mix" sink="voip_tx"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="fast input"
- sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In"/>
+ sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="mmap_no_irq_in"
- sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In"/>
+ sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
<route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" />
<route type="mix" sink="echo_ref_input" sources="Echo Ref In"/>
</routes>
diff --git a/audio/felix/config/audio_policy_configuration_le_offload_disabled.xml b/audio/felix/config/audio_policy_configuration_le_offload_disabled.xml
new file mode 100644
index 0000000..bf54670
--- /dev/null
+++ b/audio/felix/config/audio_policy_configuration_le_offload_disabled.xml
@@ -0,0 +1,249 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!-- Copyright (C) 2020 The Android Open Source Project
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+ http://www.apache.org/licenses/LICENSE-2.0
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<audioPolicyConfiguration version="7.0" xmlns:xi="http://www.w3.org/2001/XInclude">
+ <globalConfiguration speaker_drc_enabled="false" call_screen_mode_supported="true" />
+ <modules>
+ <!-- Primary Audio HAL -->
+ <module name="primary" halVersion="2.0">
+ <attachedDevices>
+ <item>Speaker</item>
+ <item>Speaker Safe</item>
+ <item>Earpiece</item>
+ <item>Built-In Mic</item>
+ <item>Built-In Back Mic</item>
+ <item>Telephony Tx</item>
+ <item>Voice Call And Telephony Rx</item>
+ <item>Echo Ref In</item>
+ </attachedDevices>
+ <defaultOutputDevice>Speaker</defaultOutputDevice>
+ <mixPorts>
+ <mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY AUDIO_OUTPUT_FLAG_FAST">
+ <profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
+ <mixPort name="deep buffer" role="source" flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
+ <mixPort name="compressed_offload" role="source"
+ flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD AUDIO_OUTPUT_FLAG_NON_BLOCKING">
+ <profile name="" format="AUDIO_FORMAT_MP3"
+ samplingRates="8000 16000 24000 32000 44100 48000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
+ <profile name="" format="AUDIO_FORMAT_AAC_LC"
+ samplingRates="8000 16000 24000 32000 44100 48000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
+ <profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
+ samplingRates="8000 16000 24000 32000 44100 48000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
+ <profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
+ samplingRates="8000 16000 24000 32000 44100 48000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
+ </mixPort>
+ <mixPort name="haptic" role="source">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO_HAPTIC_AB" />
+ </mixPort>
+ <mixPort name="raw" role="source" flags="AUDIO_OUTPUT_FLAG_RAW AUDIO_OUTPUT_FLAG_FAST">
+ <profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
+ <mixPort name="mmap_no_irq_out" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_MMAP_NOIRQ">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
+ <mixPort name="immersive_out" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER">
+ <profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
+ <mixPort name="incall playback" role="source"
+ flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO" />
+ </mixPort>
+ <mixPort name="voice call tx" role="source">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO" />
+ </mixPort>
+ <mixPort name="voip_rx" role="source"
+ flags="AUDIO_OUTPUT_FLAG_VOIP_RX">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
+ <mixPort name="primary input" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000"
+ channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_INDEX_MASK_3"/>
+ </mixPort>
+ <mixPort name="hotword input" role="sink" flags="AUDIO_INPUT_FLAG_HW_HOTWORD" maxActiveCount="0" >
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
+ channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
+ </mixPort>
+ <mixPort name="incall capture" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000"
+ channelMasks="AUDIO_CHANNEL_IN_MONO"/>
+ </mixPort>
+ <mixPort name="voice call rx" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000"
+ channelMasks="AUDIO_CHANNEL_IN_MONO"/>
+ </mixPort>
+ <mixPort name="voip_tx" role="sink"
+ flags="AUDIO_INPUT_FLAG_VOIP_TX">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
+ </mixPort>
+ <mixPort name="fast input" role="sink" flags="AUDIO_INPUT_FLAG_RAW AUDIO_INPUT_FLAG_FAST">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000"
+ channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
+ </mixPort>
+ <mixPort name="mmap_no_irq_in" role="sink" flags="AUDIO_INPUT_FLAG_MMAP_NOIRQ">
+ <profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
+ samplingRates="48000"
+ channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
+ </mixPort>
+ <mixPort name="hifi_playback" role="source" />
+ <mixPort name="hifi_input" role="sink" />
+ <mixPort name="echo_ref_input" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
+ samplingRates="48000"
+ channelMasks="AUDIO_CHANNEL_IN_STEREO"/>
+ </mixPort>
+ </mixPorts>
+ <devicePorts>
+ <!-- Output devices declaration, i.e. Sink DEVICE PORT -->
+ <devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink">
+ </devicePort>
+ <devicePort tagName="Speaker" type="AUDIO_DEVICE_OUT_SPEAKER" role="sink">
+ </devicePort>
+ <devicePort tagName="Speaker Safe" type="AUDIO_DEVICE_OUT_SPEAKER_SAFE" role="sink">
+ </devicePort>
+ <devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
+ </devicePort>
+ <devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
+ </devicePort>
+ <devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
+ </devicePort>
+ <devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
+ </devicePort>
+ <devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
+ </devicePort>
+ <devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
+ </devicePort>
+ <!-- Input devices declaration, i.e. Source DEVICE PORT -->
+ <devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
+ </devicePort>
+ <devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
+ </devicePort>
+ <devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
+ </devicePort>
+ <devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </devicePort>
+ <devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink"
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </devicePort>
+ <devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink"
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </devicePort>
+ <devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source">
+ </devicePort>
+ <devicePort tagName="USB Headset In" type="AUDIO_DEVICE_IN_USB_HEADSET" role="source">
+ </devicePort>
+ <!-- AUDIO_DEVICE_IN_VOICE_CALL and AUDIO_DEVICE_IN_TELEPHONY_RX are in the same value -->
+ <devicePort tagName="Voice Call And Telephony Rx" type="AUDIO_DEVICE_IN_VOICE_CALL" role="source">
+ </devicePort>
+ <devicePort tagName="Echo Ref In" type="AUDIO_DEVICE_IN_ECHO_REFERENCE" role="source">
+ </devicePort>
+ </devicePorts>
+ <!-- route declaration, i.e. list all available sources for a given sink -->
+ <routes>
+ <route type="mix" sink="Speaker"
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,immersive_out"/>
+ <route type="mix" sink="Earpiece"
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
+ <route type="mix" sink="BT A2DP Out"
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out,raw,mmap_no_irq_out"/>
+ <route type="mix" sink="BT A2DP Headphones"
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out,raw,mmap_no_irq_out"/>
+ <route type="mix" sink="BT A2DP Speaker"
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out,raw,mmap_no_irq_out"/>
+ <route type="mix" sink="USB Device Out"
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
+ <route type="mix" sink="USB Headset Out"
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
+ <route type="mix" sink="BT SCO"
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
+ <route type="mix" sink="BT SCO Headset"
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
+ <route type="mix" sink="BT SCO Car Kit"
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
+ <route type="mix" sink="Telephony Tx" sources="incall playback,voice call tx" />
+ <route type="mix" sink="primary input"
+ sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
+ <route type="mix" sink="hotword input"
+ sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
+ <route type="mix" sink="incall capture" sources="Voice Call And Telephony Rx" />
+ <route type="mix" sink="voice call rx" sources="Voice Call And Telephony Rx" />
+ <route type="mix" sink="voip_tx"
+ sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
+ <route type="mix" sink="fast input"
+ sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
+ <route type="mix" sink="mmap_no_irq_in"
+ sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
+ <route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" />
+ <route type="mix" sink="echo_ref_input" sources="Echo Ref In"/>
+ </routes>
+ </module>
+ <!-- Bluetooth Audio HAL -->
+ <xi:include href="bluetooth_audio_policy_configuration_7_0.xml"/>
+ <!-- Usb Audio HAL -->
+ <module name="usbv2" halVersion="2.0">
+ <mixPorts>
+ <mixPort name="usb_accessory output" role="source">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
+ </mixPorts>
+ <devicePorts>
+ <devicePort tagName="USB Host Out" type="AUDIO_DEVICE_OUT_USB_ACCESSORY" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </devicePort>
+ </devicePorts>
+ <routes>
+ <route type="mix" sink="USB Host Out"
+ sources="usb_accessory output"/>
+ </routes>
+ </module>
+ <!-- Remote Submix Audio HAL -->
+ <xi:include href="r_submix_audio_policy_configuration.xml"/>
+ </modules>
+ <!-- End of Modules section -->
+ <!-- Volume section -->
+ <xi:include href="audio_policy_volumes.xml"/>
+ <xi:include href="default_volume_tables.xml"/>
+ <!-- End of Volume section -->
+</audioPolicyConfiguration>
diff --git a/audio/felix/config/mixer_paths.xml b/audio/felix/config/mixer_paths.xml
index ca5f366..35f399f 100644
--- a/audio/felix/config/mixer_paths.xml
+++ b/audio/felix/config/mixer_paths.xml
@@ -175,6 +175,7 @@
<ctl name="BT_RX Mixer NoHost1" value="0"/>
<ctl name="BT_RX Mixer VOIP" value="0"/>
<ctl name="BT_RX Mixer IMSV" value="0"/>
+ <ctl name="BT_RX Mixer RAW" value="0"/>
<ctl name="INCALL_RX Mixer EP1" value="0"/>
<ctl name="INCALL_RX Mixer EP2" value="0"/>
@@ -409,6 +410,10 @@
<ctl name="USB_RX Mixer RAW" value="1"/>
</path>
+ <path name="raw-playbackP bt">
+ <ctl name="BT_RX Mixer RAW" value="1"/>
+ </path>
+
<path name="raw-playbackP hearing-aid">
</path>
@@ -423,6 +428,10 @@
<ctl name="USB_RX Mixer EP1" value="1"/>
</path>
+ <path name="mmap-playbackP bt">
+ <ctl name="BT_RX Mixer EP1" value="1"/>
+ </path>
+
<path name="mmap-playbackP hearing-aid">
</path>
@@ -620,6 +629,10 @@
<ctl name="EP3 TX Mixer USB_TX" value="1"/>
</path>
+ <path name="low-latency-recordC bt-mic">
+ <ctl name="EP3 TX Mixer BT_TX" value="1"/>
+ </path>
+
<path name="mmap-recordC">
<ctl name="EP2 TX Mixer INTERNAL_MIC_TX" value="1"/>
</path>
@@ -628,6 +641,10 @@
<ctl name="EP2 TX Mixer USB_TX" value="1"/>
</path>
+ <path name="mmap-recordC bt-mic">
+ <ctl name="EP2 TX Mixer BT_TX" value="1"/>
+ </path>
+
<!-- codec setting -->>
<!-- Rx device -->
<path name="handset">
diff --git a/audio/felix/tuning/bluenote/smartfeature.gstf b/audio/felix/tuning/bluenote/smartfeature.gstf
new file mode 100644
index 0000000..d174ae3
--- /dev/null
+++ b/audio/felix/tuning/bluenote/smartfeature.gstf
Binary files differ
diff --git a/bluetooth/le_audio_codec_capabilities.xml b/bluetooth/le_audio_codec_capabilities.xml
new file mode 100644
index 0000000..89d0de6
--- /dev/null
+++ b/bluetooth/le_audio_codec_capabilities.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!---
+ This is an example to configure LE Audio hardware offload supported capability settings
+ codecConfigurationList:
+ Supported codec capability along with its parameter setting
+
+ strategyConfigurationList:
+ ASE Configuration strategies
+
+ configurationList:
+ For each configuration, there are two attributes
+ - codecConfiguration
+ - strategyConfiguration
+
+ scenarioList:
+ There would be only one `scenarios` group
+ For each scenario, the are two attributes
+ - encode
+ - decode
+ If a scenario is unidirectional, mark another direction as `invalid`
+ The configuration should be chosen from `configurationList`
+-->
+<leAudioOffloadSetting>
+ <scenarioList>
+ <!-- encode only -->
+ <scenario encode="OneChanMono_16_1" decode="invalid"/>
+ <scenario encode="TwoChanStereo_16_1" decode="invalid"/>
+ <scenario encode="OneChanStereo_16_1" decode="invalid"/>
+ <scenario encode="OneChanMono_16_2" decode="invalid"/>
+ <scenario encode="TwoChanStereo_16_2" decode="invalid"/>
+ <scenario encode="OneChanStereo_16_2" decode="invalid"/>
+ <scenario encode="OneChanMono_24_2" decode="invalid"/>
+ <scenario encode="TwoChanStereo_24_2" decode="invalid"/>
+ <scenario encode="OneChanStereo_24_2" decode="invalid"/>
+ <scenario encode="OneChanMono_48_4" decode="invalid"/>
+ <scenario encode="TwoChanStereo_48_4" decode="invalid"/>
+ <scenario encode="OneChanStereo_48_4" decode="invalid"/>
+ <!-- encode and decode -->
+ <scenario encode="OneChanStereo_16_1" decode="OneChanStereo_16_1"/>
+ <scenario encode="OneChanStereo_16_1" decode="OneChanMono_16_1"/>
+ <scenario encode="TwoChanStereo_16_1" decode="OneChanMono_16_1"/>
+ <scenario encode="OneChanMono_16_1" decode="OneChanMono_16_1"/>
+ <scenario encode="OneChanStereo_16_2" decode="OneChanStereo_16_2"/>
+ <scenario encode="OneChanStereo_16_2" decode="OneChanMono_16_2"/>
+ <scenario encode="TwoChanStereo_16_2" decode="OneChanMono_16_2"/>
+ <scenario encode="OneChanMono_16_2" decode="OneChanMono_16_2"/>
+ <scenario encode="TwoChanStereo_32_2" decode="OneChanMono_32_2"/>
+ <scenario encode="OneChanMono_32_2" decode="OneChanMono_32_2"/>
+ </scenarioList>
+ <configurationList>
+ <configuration name="OneChanMono_16_1" codecConfiguration="LC3_16k_1" strategyConfiguration="MONO_ONE_CIS_PER_DEVICE"/>
+ <configuration name="TwoChanStereo_16_1" codecConfiguration="LC3_16k_1" strategyConfiguration="STEREO_TWO_CISES_PER_DEVICE"/>
+ <configuration name="OneChanStereo_16_1" codecConfiguration="LC3_16k_1" strategyConfiguration="STEREO_ONE_CIS_PER_DEVICE"/>
+ <configuration name="OneChanMono_16_2" codecConfiguration="LC3_16k_2" strategyConfiguration="MONO_ONE_CIS_PER_DEVICE"/>
+ <configuration name="TwoChanStereo_16_2" codecConfiguration="LC3_16k_2" strategyConfiguration="STEREO_TWO_CISES_PER_DEVICE"/>
+ <configuration name="OneChanStereo_16_2" codecConfiguration="LC3_16k_2" strategyConfiguration="STEREO_ONE_CIS_PER_DEVICE"/>
+ <configuration name="OneChanMono_24_2" codecConfiguration="LC3_24k_2" strategyConfiguration="MONO_ONE_CIS_PER_DEVICE"/>
+ <configuration name="TwoChanStereo_24_2" codecConfiguration="LC3_24k_2" strategyConfiguration="STEREO_TWO_CISES_PER_DEVICE"/>
+ <configuration name="OneChanStereo_24_2" codecConfiguration="LC3_24k_2" strategyConfiguration="STEREO_ONE_CIS_PER_DEVICE"/>
+ <configuration name="OneChanMono_48_4" codecConfiguration="LC3_48k_4" strategyConfiguration="MONO_ONE_CIS_PER_DEVICE"/>
+ <configuration name="TwoChanStereo_32_2" codecConfiguration="LC3_32k_2" strategyConfiguration="STEREO_TWO_CISES_PER_DEVICE"/>
+ <configuration name="OneChanMono_32_2" codecConfiguration="LC3_32k_2" strategyConfiguration="MONO_ONE_CIS_PER_DEVICE"/>
+ <configuration name="TwoChanStereo_48_4" codecConfiguration="LC3_48k_4" strategyConfiguration="STEREO_TWO_CISES_PER_DEVICE"/>
+ <configuration name="OneChanStereo_48_4" codecConfiguration="LC3_48k_4" strategyConfiguration="STEREO_ONE_CIS_PER_DEVICE"/>
+ </configurationList>
+ <codecConfigurationList>
+ <codecConfiguration name="LC3_16k_1" codec="LC3" samplingFrequency="16000" frameDurationUs="7500" octetsPerCodecFrame="30"/>
+ <codecConfiguration name="LC3_16k_2" codec="LC3" samplingFrequency="16000" frameDurationUs="10000" octetsPerCodecFrame="40"/>
+ <codecConfiguration name="LC3_24k_2" codec="LC3" samplingFrequency="24000" frameDurationUs="10000" octetsPerCodecFrame="60"/>
+ <codecConfiguration name="LC3_32k_2" codec="LC3" samplingFrequency="32000" frameDurationUs="10000" octetsPerCodecFrame="80"/>
+ <codecConfiguration name="LC3_48k_4" codec="LC3" samplingFrequency="48000" frameDurationUs="10000" octetsPerCodecFrame="120"/>
+ </codecConfigurationList>
+ <strategyConfigurationList>
+ <strategyConfiguration name="STEREO_ONE_CIS_PER_DEVICE" audioLocation="STEREO" connectedDevice="2" channelCount="1"/>
+ <strategyConfiguration name="STEREO_TWO_CISES_PER_DEVICE" audioLocation="STEREO" connectedDevice="1" channelCount="2"/>
+ <strategyConfiguration name="MONO_ONE_CIS_PER_DEVICE" audioLocation="MONO" connectedDevice="1" channelCount="1"/>
+ </strategyConfigurationList>
+</leAudioOffloadSetting>
diff --git a/bluetooth/manifest_bluetooth.xml b/bluetooth/manifest_bluetooth.xml
deleted file mode 100644
index 64238c7..0000000
--- a/bluetooth/manifest_bluetooth.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<manifest version="1.0" type="device">
- <hal format="hidl">
- <name>android.hardware.bluetooth</name>
- <transport>hwbinder</transport>
- <version>1.1</version>
- <interface>
- <name>IBluetoothHci</name>
- <instance>default</instance>
- </interface>
- </hal>
- <hal format="hidl">
- <name>hardware.google.bluetooth.bt_channel_avoidance</name>
- <transport>hwbinder</transport>
- <version>1.0</version>
- <interface>
- <name>IBTChannelAvoidance</name>
- <instance>default</instance>
- </interface>
- </hal>
- <hal format="hidl">
- <name>hardware.google.bluetooth.sar</name>
- <transport>hwbinder</transport>
- <version>1.1</version>
- <interface>
- <name>IBluetoothSar</name>
- <instance>default</instance>
- </interface>
- </hal>
- <hal format="hidl">
- <name>hardware.google.bluetooth.ext</name>
- <transport>hwbinder</transport>
- <version>1.0</version>
- <interface>
- <name>IBluetoothExt</name>
- <instance>default</instance>
- </interface>
- </hal>
- <hal format="hidl">
- <name>hardware.google.bluetooth.ccc</name>
- <transport>hwbinder</transport>
- <version>1.1</version>
- <interface>
- <name>IBluetoothCcc</name>
- <instance>default</instance>
- </interface>
- </hal>
- <hal format="hidl">
- <name>hardware.google.bluetooth.ewp</name>
- <transport>hwbinder</transport>
- <version>1.0</version>
- <interface>
- <name>IBluetoothEwp</name>
- <instance>default</instance>
- </interface>
- </hal>
-</manifest>
diff --git a/conf/init.felix.rc b/conf/init.felix.rc
index 838f2fd..891865b 100644
--- a/conf/init.felix.rc
+++ b/conf/init.felix.rc
@@ -11,9 +11,6 @@
chown system system /sys/devices/platform/odm/odm:fp_fpc1020/irq
chown system system /sys/devices/platform/odm/odm:fp_fpc1020/wakeup_enable
-on fs
- exec_background - system shell -- /vendor/bin/trusty_apploader /vendor/firmware/1540.app
-
# Permissions for hwcomposer
on fs
chown system system /sys/class/backlight/panel1-backlight/als_table
@@ -56,24 +53,6 @@
chown system input /dev/touch_offload_fts_ext
chmod 660 /dev/touch_offload_fts
chmod 660 /dev/touch_offload_fts_ext
- chown system system /sys/devices/virtual/goog_touch_interface/gti.0/force_active
- chown system system /sys/devices/virtual/goog_touch_interface/gti.0/fw_ver
- chown system system /sys/devices/virtual/goog_touch_interface/gti.0/ms_base
- chown system system /sys/devices/virtual/goog_touch_interface/gti.0/ms_diff
- chown system system /sys/devices/virtual/goog_touch_interface/gti.0/ms_raw
- chown system system /sys/devices/virtual/goog_touch_interface/gti.0/self_test
- chown system system /sys/devices/virtual/goog_touch_interface/gti.0/ss_base
- chown system system /sys/devices/virtual/goog_touch_interface/gti.0/ss_diff
- chown system system /sys/devices/virtual/goog_touch_interface/gti.0/ss_raw
- chown system system /sys/devices/virtual/goog_touch_interface/gti.1/force_active
- chown system system /sys/devices/virtual/goog_touch_interface/gti.1/fw_ver
- chown system system /sys/devices/virtual/goog_touch_interface/gti.1/ms_base
- chown system system /sys/devices/virtual/goog_touch_interface/gti.1/ms_diff
- chown system system /sys/devices/virtual/goog_touch_interface/gti.1/ms_raw
- chown system system /sys/devices/virtual/goog_touch_interface/gti.1/self_test
- chown system system /sys/devices/virtual/goog_touch_interface/gti.1/ss_base
- chown system system /sys/devices/virtual/goog_touch_interface/gti.1/ss_diff
- chown system system /sys/devices/virtual/goog_touch_interface/gti.1/ss_raw
# Start the twoshay touch service
start twoshay
@@ -105,7 +84,7 @@
wait_for_prop vendor.common.modules.ready 1
start insmod_sh_felix
-service insmod_sh_felix /vendor/bin/init.insmod.sh /vendor/etc/init.insmod.felix.cfg
+service insmod_sh_felix /vendor/bin/insmod.sh /vendor/etc/init.insmod.felix.cfg
class main
user root
group root system
@@ -161,14 +140,6 @@
setprop wifi.direct.interface p2p-dev-wlan0
setprop wifi.aware.interface aware_nmi0
-# Override SF and RE uclamps to 0 on boot after being set elsewhere, for adpf cpu hints
-on property:sys.boot_completed=1
- trigger override-sf-uclamp
-
-on override-sf-uclamp
- write /proc/vendor_sched/rt_uclamp_min 0
- write /proc/vendor_sched/sf_uclamp_min 0
-
# For Japan sku, always enforce camera shutter sound
# Since this property is read by the audio server in system service,
# it should be written by the system init.
diff --git a/device-felix.mk b/device-felix.mk
index 3c2d206..d90f252 100644
--- a/device-felix.mk
+++ b/device-felix.mk
@@ -31,7 +31,10 @@
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/gs101/bluetooth/bluetooth.mk
+include device/google/gs-common/bcmbt/bluetooth.mk
+include device/google/gs-common/display/dump_second_display.mk
+include device/google/gs-common/touch/gti/gti.mk
+include device/google/gs-common/touch/stm/stm6.mk
ifeq ($(filter factory_felix, $(TARGET_PRODUCT)),)
include device/google/felix/uwb/uwb_calibration.mk
endif
@@ -121,13 +124,6 @@
device/google/felix/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json
# Bluetooth HAL
-DEVICE_MANIFEST_FILE += \
- device/google/felix/bluetooth/manifest_bluetooth.xml
-PRODUCT_SOONG_NAMESPACES += \
- vendor/broadcom/bluetooth
-PRODUCT_PACKAGES += \
- [email protected] \
- bt_vendor.conf
PRODUCT_COPY_FILES += \
device/google/felix/bluetooth/bt_vendor_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth/bt_vendor_overlay.conf
PRODUCT_PROPERTY_OVERRIDES += \
@@ -156,6 +152,22 @@
ro.audio.spatializer_transaural_enabled_default=false \
persist.vendor.audio.spatializer.speaker_enabled=true
+# Bluetooth SAR test tool
+PRODUCT_PACKAGES_DEBUG += \
+ sar_test
+
+# Bluetooth hci_inject test tool
+PRODUCT_PACKAGES_DEBUG += \
+ hci_inject
+
+# Bluetooth
+PRODUCT_PRODUCT_PROPERTIES += \
+ persist.bluetooth.a2dp_aac.vbr_supported=true
+
+# default BDADDR for EVB only
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.vendor.bluetooth.evb_bdaddr="22:22:22:33:44:55"
+
# Keymaster HAL
#LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= [email protected]
@@ -186,10 +198,6 @@
# ro.hardware.keystore=software \
# ro.hardware.gatekeeper=software
-# default BDADDR for EVB only
-PRODUCT_PROPERTY_OVERRIDES += \
- ro.vendor.bluetooth.evb_bdaddr="22:22:22:33:44:55"
-
# PowerStats HAL
PRODUCT_SOONG_NAMESPACES += \
device/google/felix/powerstats/felix \
@@ -219,23 +227,8 @@
# DCK properties based on target
PRODUCT_PROPERTY_OVERRIDES += \
- ro.gms.dck.eligible_wcc=3
-
-# Bluetooth SAR test tool
-PRODUCT_PACKAGES_DEBUG += \
- sar_test
-
-# Bluetooth hci_inject test tool
-PRODUCT_PACKAGES_DEBUG += \
- hci_inject
-
-# Bluetooth
-PRODUCT_PRODUCT_PROPERTIES += \
- persist.bluetooth.a2dp_aac.vbr_supported=true
-
-# Bluetooth HAL
-PRODUCT_PACKAGES += \
- bt_vendor.conf
+ ro.gms.dck.eligible_wcc=3 \
+ ro.gms.dck.se_capability=1
# Graphics
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.enable_frame_rate_override=true
@@ -281,8 +274,8 @@
device/google/felix/location/scd_user.conf.f10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/scd.conf
endif
-# WiFi
PRODUCT_PACKAGES += \
+ UwbOverlayF10 \
WifiOverlay2023Mid_F10
# MIPI Coex Configs
@@ -298,10 +291,6 @@
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml
-# Enable adpf cpu hint session for SurfaceFlinger
-PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
- debug.sf.enable_adpf_cpu_hint=true
-
# Increase thread priority for nodes stop
PRODUCT_VENDOR_PROPERTIES += \
persist.vendor.camera.increase_thread_priority_nodes_stop=true
@@ -312,7 +301,9 @@
# Camera
PRODUCT_PROPERTY_OVERRIDES += \
+ persist.vendor.camera.adjust_backend_min_freq_for_1p_front_video_1080p_30fps=1 \
persist.vendor.camera.extended_launch_boost=1 \
+ persist.vendor.camera.multicam_streaming_boost=1 \
persist.vendor.camera.optimized_tnr_freq=1 \
persist.vendor.camera.raise_buf_allocation_priority=1 \
persist.vendor.camera.start_cpu_throttling_at_moderate_thermal=1 \
@@ -338,3 +329,38 @@
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 \
+ persist.bluetooth.leaudio_offload.disabled=false \
+ ro.bluetooth.leaudio_switcher.supported=true \
+ bluetooth.profile.bap.unicast.client.enabled=true \
+ bluetooth.profile.csip.set_coordinator.enabled=true \
+ bluetooth.profile.hap.client.enabled=true \
+ bluetooth.profile.mcp.server.enabled=true \
+ bluetooth.profile.ccp.server.enabled=true \
+ bluetooth.profile.vcp.controller.enabled=true \
+
+# Override BQR mask to enable LE Audio Choppy report
+ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
+PRODUCT_PRODUCT_PROPERTIES += \
+ persist.bluetooth.bqr.event_mask=262238
+else
+PRODUCT_PRODUCT_PROPERTIES += \
+ persist.bluetooth.bqr.event_mask=94
+endif
+
+# Bluetooth LE Audio CIS handover to SCO
+# Set the property only if the controller doesn't support CIS and SCO
+# simultaneously. More details in b/242908683.
+PRODUCT_PRODUCT_PROPERTIES += \
+ persist.bluetooth.leaudio.notify.idle.during.call=true
+
+# LE Audio Offload Capabilities Setting
+PRODUCT_COPY_FILES += \
+ device/google/felix/bluetooth/le_audio_codec_capabilities.xml:$(TARGET_COPY_OUT_VENDOR)/etc/le_audio_codec_capabilities.xml
+
+# Bluetooth EWP test tool
+PRODUCT_PACKAGES_DEBUG += \
+ ewp_tool
diff --git a/device_framework_matrix_product_felix.xml b/device_framework_matrix_product_felix.xml
index d6e5a71..7f4a680 100644
--- a/device_framework_matrix_product_felix.xml
+++ b/device_framework_matrix_product_felix.xml
@@ -1,18 +1,10 @@
<compatibility-matrix version="1.0" type="framework" level="7">
<hal format="aidl" optional="true">
<name>com.google.hardware.pixel.display</name>
- <version>7</version>
+ <version>8</version>
<interface>
<name>IDisplay</name>
<instance>secondary</instance>
</interface>
</hal>
- <hal format="hidl">
- <name>hardware.google.bluetooth.ccc</name>
- <version>1.1</version>
- <interface>
- <name>IBluetoothCcc</name>
- <instance>default</instance>
- </interface>
- </hal>
</compatibility-matrix>
diff --git a/felix/BoardConfig.mk b/felix/BoardConfig.mk
index bba58ae..856eb42 100644
--- a/felix/BoardConfig.mk
+++ b/felix/BoardConfig.mk
@@ -20,6 +20,13 @@
USES_DEVICE_GOOGLE_FELIX := true
BOARD_KERNEL_CMDLINE += swiotlb=noforce
+# Enable load module in parallel
+BOARD_BOOTCONFIG += androidboot.load_modules_parallel=true
+
+# The modules which need to be loaded in sequential
+BOARD_KERNEL_CMDLINE += exynos_drm.load_sequential=1
+BOARD_KERNEL_CMDLINE += panel-samsung-ana6707-f10.load_sequential=1
+
#Display
USES_IDISPLAY_INTF_SEC := true
diff --git a/felix/overlay/frameworks/base/core/res/res/values/config.xml b/felix/overlay/frameworks/base/core/res/res/values/config.xml
index 04458fc..1dae8a8 100644
--- a/felix/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/felix/overlay/frameworks/base/core/res/res/values/config.xml
@@ -252,9 +252,6 @@
corners. -->
<dimen name="rounded_corner_radius_bottom_adjustment">4px</dimen>
- <!-- the number of the max cached processes in the system. -->
- <integer name="config_customizedMaxCachedProcesses">64</integer>
-
<string-array name="config_displayUniqueIdArray" translatable="false">
<item>"local:4619827677550801152"</item>
<item>"local:4619827677550801153"</item>
@@ -353,6 +350,32 @@
<item>283</item>
</integer-array>
+ <!-- A string config in svg path format for the main display shape.
+ (@see https://www.w3.org/TR/SVG/paths.html#PathData).
+
+ This config must be set unless:
+ 1. {@link Configuration#isScreenRound} is true which means the display shape is circular
+ and the system will auto-generate a circular shape.
+ 2. The display has no rounded corner and the system will auto-generate a rectangular shape.
+ (@see DisplayShape#createDefaultDisplayShape)
+
+ Note: If the display supports multiple resolutions, please define the path config based on
+ the highest resolution so that it can be scaled correctly in each resolution. -->
+ <string name="config_mainDisplayShape">M 100 0 C 85.508984 0.17732943 53.048104 0.19614615 50.220703 0.3125 C 46.59154 0.46184817 43.772284 0.73295581 41.220703 1.1679688 C 38.669124 1.6029816 37.395897 1.9206529 34.921875 2.7285156 C 32.447853 3.5363783 30.703329 4.1333351 26.476562 6.1855469 C 22.249798 8.2377586 19.650733 10.036004 17.412109 11.853516 C 15.173487 13.671026 13.194311 15.829318 11.78125 17.480469 C 10.368189 19.131618 9.7124678 20.077609 8.4746094 22.052734 C 7.2367508 24.027858 6.4508163 25.499897 5.3867188 28 C 4.3226211 30.500103 3.0570154 34.426858 2.375 36.919922 C 1.6929846 39.412984 1.4802708 40.78808 1.1132812 42.880859 C 0.7462918 44.973638 0.57743581 46.240459 0.38867188 49.041016 C 0.16693043 52.330833 0.48349037 76.000048 0 100 L 0 1744 C 0.46414424 1767.04 0.16213582 1789.7617 0.375 1792.9199 C 0.5562164 1795.6085 0.71800182 1796.8249 1.0703125 1798.834 C 1.4226231 1800.8431 1.6265082 1802.1633 2.28125 1804.5566 C 2.9359817 1806.9499 4.1503451 1810.719 5.171875 1813.1191 C 6.1934148 1815.5192 6.9464267 1816.9339 8.1347656 1818.8301 C 9.3231146 1820.7261 9.9520539 1821.6336 11.308594 1823.2188 C 12.665132 1824.8037 14.56772 1826.8763 16.716797 1828.6211 C 18.865874 1830.3659 21.360274 1832.0924 25.417969 1834.0625 C 29.475665 1836.0326 31.150324 1836.6054 33.525391 1837.3809 C 35.900446 1838.1565 37.122749 1838.4613 39.572266 1838.8789 C 42.021789 1839.2966 44.72889 1839.5579 48.212891 1839.7012 C 50.927192 1839.813 82.088619 1839.8298 96 1840 L 2112 1840 C 2125.9114 1839.8298 2157.0728 1839.813 2159.7871 1839.7012 C 2163.2712 1839.5579 2165.9782 1839.2966 2168.4277 1838.8789 C 2170.8772 1838.4613 2172.0995 1838.1565 2174.4746 1837.3809 C 2176.8496 1836.6054 2178.5243 1836.0326 2182.582 1834.0625 C 2186.6397 1832.0924 2189.1341 1830.3659 2191.2832 1828.6211 C 2193.4322 1826.8763 2195.3349 1824.8037 2196.6914 1823.2188 C 2198.048 1821.6336 2198.6769 1820.7261 2199.8652 1818.8301 C 2201.0536 1816.9339 2201.8066 1815.5192 2202.8281 1813.1191 C 2203.8497 1810.719 2205.064 1806.9499 2205.7188 1804.5566 C 2206.3733 1802.1633 2206.5774 1800.8431 2206.9297 1798.834 C 2207.282 1796.8249 2207.4458 1795.6085 2207.627 1792.9199 C 2207.8398 1789.7617 2207.536 1767.04 2208 1744 L 2208 100 C 2207.5164 76.000048 2207.833 52.330827 2207.6113 49.041016 C 2207.4225 46.24046 2207.2537 44.973645 2206.8867 42.880859 C 2206.5197 40.788083 2206.3071 39.412986 2205.625 36.919922 C 2204.943 34.426856 2203.6774 30.500104 2202.6133 28 C 2201.5492 25.499896 2200.7632 24.02785 2199.5254 22.052734 C 2198.2875 20.077608 2197.6317 19.131615 2196.2188 17.480469 C 2194.8058 15.829311 2192.8265 13.671032 2190.5879 11.853516 C 2188.3492 10.036008 2185.7502 8.2377527 2181.5234 6.1855469 C 2177.2967 4.1333309 2175.5521 3.536384 2173.0781 2.7285156 C 2170.6041 1.9206572 2169.3309 1.6029878 2166.7793 1.1679688 C 2164.2278 0.73295958 2161.4085 0.4618497 2157.7793 0.3125 C 2154.9519 0.19615024 2122.491 0.17732964 2108 0 L 100 0 z</string>
+
+ <!-- A string config in svg path format for the secondary display shape.
+ (@see https://www.w3.org/TR/SVG/paths.html#PathData).
+
+ This config must be set unless:
+ 1. {@link Configuration#isScreenRound} is true which means the display shape is circular
+ and the system will auto-generate a circular shape.
+ 2. The display has no rounded corner and the system will auto-generate a rectangular shape.
+ (@see DisplayShape#createDefaultDisplayShape)
+
+ Note: If the display supports multiple resolutions, please define the path config based on
+ the highest resolution so that it can be scaled correctly in each resolution. -->
+ <string name="config_secondaryDisplayShape">M 0 0 L 0 2092 L 1080 2092 L 1080 0 L 0 0 z M 0.00390625 0.01953125 L 124 0.01953125 C 120.62607 0.01953125 117.25272 0.062897597 113.87891 0.083984375 C 110.51044 0.15345796 107.14189 0.22554494 103.77344 0.29492188 C 100.41579 0.46723528 97.056902 0.63807032 93.699219 0.81054688 C 90.373874 1.1394815 87.049926 1.4682676 83.724609 1.796875 C 80.442364 2.3249488 77.159199 2.8527856 73.876953 3.3808594 C 70.680994 4.1567209 67.48502 4.933117 64.289062 5.7089844 C 61.206262 6.7649688 58.123836 7.8209034 55.041016 8.8769531 C 52.114502 10.229372 49.188251 11.581215 46.261719 12.933594 C 43.523829 14.593085 40.784745 16.252586 38.046875 17.912109 C 35.54087 19.873307 33.035436 21.835687 30.529297 23.796875 C 28.281876 26.043695 26.03451 28.29034 23.787109 30.537109 C 21.825326 33.047838 19.864128 35.557471 17.902344 38.068359 C 16.242372 40.800045 14.581846 43.531987 12.921875 46.263672 C 11.568993 49.19466 10.216047 52.125655 8.8632812 55.056641 C 7.807047 58.133103 6.7516762 61.210488 5.6953125 64.287109 C 4.9192068 67.487547 4.1432437 70.688232 3.3671875 73.888672 C 2.8389878 77.164433 2.3096105 80.440872 1.78125 83.716797 C 1.4522193 87.04105 1.12363 90.364877 0.79492188 93.689453 C 0.62263364 97.046037 0.44979383 100.40305 0.27734375 103.75977 C 0.20771199 107.1272 0.13750064 110.49376 0.068359375 113.86133 C 0.058717095 115.40631 0.01391657 122.4354 0.00390625 123.98047 C -0.0079363164 125.80834 0.015313378 -1.8083189 0.00390625 0.01953125 z M 956 0.01953125 L 1079.998 0.01953125 C 1079.9867 -1.8083196 1080.0071 125.80834 1079.9961 123.98047 C 1079.9861 122.4354 1079.9436 115.40631 1079.9336 113.86133 C 1079.8645 110.49376 1079.7927 107.1272 1079.7227 103.75977 C 1079.5502 100.40304 1079.3774 97.046035 1079.2051 93.689453 C 1078.8763 90.364875 1078.5477 87.041057 1078.2188 83.716797 C 1077.6905 80.440877 1077.163 77.164434 1076.6348 73.888672 L 1074.3066 64.287109 C 1073.2502 61.21048 1072.1929 58.133106 1071.1367 55.056641 C 1069.784 52.125655 1068.431 49.194657 1067.0781 46.263672 C 1065.418 43.531978 1063.7596 40.800035 1062.0996 38.068359 C 1060.1378 35.557468 1058.1747 33.047839 1056.2129 30.537109 C 1053.9655 28.290338 1051.7181 26.0437 1049.4707 23.796875 C 1046.9646 21.83568 1044.4591 19.873293 1041.9531 17.912109 C 1039.2153 16.252583 1036.4761 14.593089 1033.7383 12.933594 C 1030.8117 11.581217 1027.8856 10.229372 1024.959 8.8769531 C 1021.8762 7.8209026 1018.7938 6.7649692 1015.7109 5.7089844 C 1012.515 4.933117 1009.3189 4.1567207 1006.123 3.3808594 C 1002.8407 2.8527853 999.55759 2.324948 996.27539 1.796875 C 992.95004 1.4682674 989.62616 1.1394813 986.30078 0.81054688 C 982.94306 0.63807038 979.58423 0.46723542 976.22656 0.29492188 C 972.85807 0.22554451 969.48959 0.15345499 966.12109 0.083984375 C 962.74726 0.062904417 959.37395 0.01953125 956 0.01953125 z M 0.015625 1968 C 0.032745156 1971.3738 0.080078125 1974.7472 0.080078125 1978.1211 C 0.14382551 1981.4895 0.22555626 1984.8582 0.29101562 1988.2266 C 0.46100867 1991.5841 0.63698941 1994.941 0.80859375 1998.2988 C 1.1371999 2001.624 1.4647043 2004.9502 1.7949219 2008.2754 C 2.3229272 2011.5576 2.8526128 2014.8388 3.3789062 2018.1211 C 4.1553555 2021.3171 4.9304814 2024.513 5.7070312 2027.709 C 6.7632439 2030.7917 7.817277 2033.8762 8.875 2036.959 C 10.227391 2039.8856 11.578141 2042.8119 12.931641 2045.7383 C 14.591489 2048.4762 16.250812 2051.2132 17.910156 2053.9512 C 19.871723 2056.4573 21.833647 2058.9628 23.794922 2061.4688 C 26.041892 2063.7161 28.288387 2065.9635 30.535156 2068.2109 C 33.045978 2070.1727 35.557338 2072.1358 38.068359 2074.0977 C 40.800032 2075.7577 43.532001 2077.4162 46.263672 2079.0762 C 49.195245 2080.4289 52.125269 2081.7819 55.056641 2083.1348 C 58.133233 2084.191 61.210316 2085.2486 64.287109 2086.3047 C 67.48757 2087.0807 70.68811 2087.8567 73.888672 2088.6328 C 77.164765 2089.1611 80.440704 2089.6885 83.716797 2090.2168 C 87.041127 2090.5453 90.366976 2090.8741 93.691406 2091.2031 C 97.048366 2091.3756 100.40486 2091.5484 103.76172 2091.7207 C 107.12946 2091.7898 110.49741 2091.8597 113.86523 2091.9297 C 115.62196 2091.9407 122.22756 2091.9801 123.98438 2091.9941 C 125.60072 2092.0064 -1.6007186 2091.9941 0.015625 2091.9941 L 0.015625 1968 z M 1079.9844 1968 L 1079.9844 2091.9941 C 1081.6008 2091.9941 954.39928 2092.0064 956.01562 2091.9941 C 957.77244 2091.9801 964.37804 2091.9407 966.13477 2091.9297 C 969.50259 2091.8597 972.87054 2091.7898 976.23828 2091.7207 C 979.59514 2091.5484 982.95164 2091.3756 986.30859 2091.2031 C 989.63302 2090.8741 992.95888 2090.5453 996.2832 2090.2168 C 999.5593 2089.6885 1002.8352 2089.1611 1006.1113 2088.6328 C 1009.3119 2087.8567 1012.5124 2087.0807 1015.7129 2086.3047 C 1018.7897 2085.2486 1021.8668 2084.191 1024.9434 2083.1348 C 1027.8748 2081.7819 1030.8048 2080.4289 1033.7363 2079.0762 C 1036.468 2077.4162 1039.1999 2075.7577 1041.9316 2074.0977 C 1044.4426 2072.1358 1046.9539 2070.1727 1049.4648 2068.2109 C 1051.7115 2065.9635 1053.9581 2063.7161 1056.2051 2061.4688 C 1058.1664 2058.9628 1060.1282 2056.4573 1062.0898 2053.9512 C 1063.7491 2051.2132 1065.4086 2048.4762 1067.0684 2045.7383 C 1068.4219 2042.8119 1069.7726 2039.8856 1071.125 2036.959 C 1072.1828 2033.8762 1073.2368 2030.7917 1074.293 2027.709 C 1075.0695 2024.513 1075.8447 2021.3171 1076.6211 2018.1211 C 1077.1474 2014.8388 1077.6771 2011.5576 1078.2051 2008.2754 C 1078.5353 2004.9502 1078.8627 2001.624 1079.1914 1998.2988 C 1079.363 1994.941 1079.539 1991.5841 1079.709 1988.2266 C 1079.774 1984.8582 1079.8561 1981.4895 1079.9199 1978.1211 C 1079.9199 1974.7472 1079.9674 1971.3738 1079.9844 1968 z</string>
+
<!-- Whether we should persist the brightness value in nits for the default display even if
the underlying display device changes. -->
<bool name="config_persistBrightnessNitsForDefaultDisplay">true</bool>
diff --git a/felix/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml b/felix/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml
new file mode 100644
index 0000000..9b3e461
--- /dev/null
+++ b/felix/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+**
+** Copyright 2023, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License")
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<irq-device-map>
+ <device name="rtc-alarm0">
+ <subsystem>Alarm</subsystem>
+ </device>
+ <device name="dhdpcie_host_wake">
+ <subsystem>Wifi</subsystem>
+ </device>
+ <device name="cp2ap_wakeup">
+ <subsystem>Cellular_data</subsystem>
+ </device>
+ <device name="MAILBOX_AOCF12APx1100">
+ <subsystem>Sound_trigger</subsystem>
+ </device>
+ <device name="MAILBOX_AOCA322APx100">
+ <subsystem>Sensor</subsystem>
+ </device>
+</irq-device-map>
+
diff --git a/felix/overlay/frameworks/base/packages/SystemUI/res-keyguard/values-sw600dp-land/dimens.xml b/felix/overlay/frameworks/base/packages/SystemUI/res-keyguard/values-sw600dp-land/dimens.xml
new file mode 100644
index 0000000..d805e45
--- /dev/null
+++ b/felix/overlay/frameworks/base/packages/SystemUI/res-keyguard/values-sw600dp-land/dimens.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (c) 2023, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+*/
+-->
+<resources>
+ <!-- Weather clock smartspace scaling to apply for the weather clock on tablets -->
+ <item name="weather_clock_smartspace_scale" type="dimen" format="float">0.85</item>
+ <dimen name="weather_clock_smartspace_translateX">-40dp</dimen>
+ <dimen name="weather_clock_smartspace_translateY">-26dp</dimen>
+</resources>
diff --git a/felix/overlay/frameworks/base/packages/SystemUI/res-keyguard/values-sw600dp/dimens.xml b/felix/overlay/frameworks/base/packages/SystemUI/res-keyguard/values-sw600dp/dimens.xml
new file mode 100644
index 0000000..d6c2dbb
--- /dev/null
+++ b/felix/overlay/frameworks/base/packages/SystemUI/res-keyguard/values-sw600dp/dimens.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (c) 2023, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+*/
+-->
+<resources>
+ <!-- Weather clock smartspace scaling to apply for the weather clock on tablets -->
+ <dimen name="weather_clock_smartspace_translateX">-8dp</dimen>
+ <dimen name="weather_clock_smartspace_translateY">-16dp</dimen>
+</resources>
diff --git a/felix/overlay/frameworks/base/packages/SystemUI/res-keyguard/values/dimens.xml b/felix/overlay/frameworks/base/packages/SystemUI/res-keyguard/values/dimens.xml
new file mode 100644
index 0000000..d930b35
--- /dev/null
+++ b/felix/overlay/frameworks/base/packages/SystemUI/res-keyguard/values/dimens.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (c) 2023, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+*/
+-->
+<resources>
+ <!-- Weather clock smartspace positioning to apply for the weather clock on tablets -->
+ <dimen name="weather_clock_smartspace_translateX">-15dp</dimen>
+ <dimen name="weather_clock_smartspace_translateY">-26dp</dimen>
+</resources>
diff --git a/felix/overlay/packages/apps/Nfc/res/values/config.xml b/felix/overlay/packages/apps/Nfc/res/values/config.xml
index 348c881..5e89b28 100644
--- a/felix/overlay/packages/apps/Nfc/res/values/config.xml
+++ b/felix/overlay/packages/apps/Nfc/res/values/config.xml
@@ -19,4 +19,17 @@
<item>G9FPL</item>
<item>G0B96</item>
</string-array>
+ <bool name="tag_intent_app_pref_supported">true</bool>
+ <!-- NFC Antenna Location API -->
+ <integer name="device_width">160</integer>
+ <integer name="device_height">140</integer>
+ <bool name="device_foldable">true</bool>
+ <integer-array name="antenna_x">
+ <item>90</item>
+ <item>30</item>
+ </integer-array>
+ <integer-array name="antenna_y">
+ <item>103</item>
+ <item>103</item>
+ </integer-array>
</resources>
diff --git a/fingerprint_config.mk b/fingerprint_config.mk
index 2255f3b..1f9b521 100644
--- a/fingerprint_config.mk
+++ b/fingerprint_config.mk
@@ -4,7 +4,8 @@
FPC_CONFIG_TRUSTY_CLEAN_TA=1
else
# Non factory build, use fingerprint AIDL version
-GOOGLE_CONFIG_POWER_NODE=/dev/input/event1
+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
diff --git a/init.insmod.felix.cfg b/init.insmod.felix.cfg
index 76401ec..5693443 100644
--- a/init.insmod.felix.cfg
+++ b/init.insmod.felix.cfg
@@ -10,8 +10,7 @@
modprobe|snd-soc-cs35l41-i2c.ko
modprobe|fst2.ko
modprobe|ftm5.ko
-modprobe|cl_dsp.ko
-modprobe|input-cs40l26-i2c.ko
+modprobe|cs40l26-i2c.ko
modprobe|snd-soc-cs40l26.ko
# All device specific modules loaded
diff --git a/location/gps.xml.f10 b/location/gps.xml.f10
index 9aa35eb..6e005ae 100644
--- a/location/gps.xml.f10
+++ b/location/gps.xml.f10
@@ -88,6 +88,7 @@
EnableOnChipStopNotification="2"
PowerMode="3"
MinGpsWeekNumber="2216"
+ OnChipAccMask="50"
/>
<gll_features
diff --git a/location/gps_user.xml.f10 b/location/gps_user.xml.f10
index bcd8f1d..02afd01 100644
--- a/location/gps_user.xml.f10
+++ b/location/gps_user.xml.f10
@@ -87,6 +87,7 @@
EnableOnChipStopNotification="0"
PowerMode="3"
MinGpsWeekNumber="2216"
+ OnChipAccMask="50"
/>
<gll_features
diff --git a/powerhint.json b/powerhint.json
index fa662b3..46de73c 100644
--- a/powerhint.json
+++ b/powerhint.json
@@ -1,6 +1,19 @@
{
"Nodes": [
{
+ "Name": "GPUMinFreq",
+ "Path": "/sys/devices/platform/28000000.mali/hint_min_freq",
+ "Values": [
+ "848000",
+ "762000",
+ "572000",
+ "471000",
+ "302000",
+ "202000"
+ ],
+ "ResetOnInit": true
+ },
+ {
"Name": "MemFreq",
"Path": "/sys/devices/platform/17000010.devfreq_mif/devfreq/17000010.devfreq_mif/min_freq",
"Values": [
@@ -115,19 +128,6 @@
"ResetOnInit": true
},
{
- "Name": "GPUMinFreq",
- "Path": "/sys/devices/platform/28000000.mali/hint_min_freq",
- "Values": [
- "848000",
- "762000",
- "572000",
- "471000",
- "302000",
- "202000"
- ],
- "ResetOnInit": true
- },
- {
"Name": "GPUDvfsPeriod",
"Path": "/sys/devices/platform/28000000.mali/dvfs_period",
"Values": [
@@ -156,6 +156,16 @@
"ResetOnInit": true
},
{
+ "Name": "CPUDVFSHeadroom",
+ "Path": "/proc/vendor_sched/dvfs_headroom",
+ "Values": [
+ "1280",
+ "1100 1078 1024"
+ ],
+ "DefaultIndex": 0,
+ "ResetOnInit": true
+ },
+ {
"Name": "MIFTargetLoad",
"Path": "/sys/class/devfreq/17000010.devfreq_mif/interactive/target_load",
"Values": [
@@ -169,7 +179,7 @@
"Name": "CAMUClampBoost",
"Path": "/proc/vendor_sched/cam_uclamp_min",
"Values": [
- "612",
+ "764",
"0"
],
"ResetOnInit": true
@@ -178,7 +188,7 @@
"Name": "TAUClampBoost",
"Path": "/proc/vendor_sched/ta_uclamp_min",
"Values": [
- "612",
+ "764",
"1"
],
"ResetOnInit": true
@@ -196,8 +206,8 @@
"Name": "MLUclampBoost",
"Path": "/proc/vendor_sched/nnapi_uclamp_min",
"Values": [
- "180",
- "650"
+ "225",
+ "813"
],
"DefaultIndex": 0,
"ResetOnInit": true
@@ -345,6 +355,7 @@
"Path": "/sys/devices/platform/17000030.devfreq_intcam/devfreq/17000030.devfreq_intcam/min_freq",
"Values": [
"664000",
+ "233000",
"67000"
],
"ResetOnInit": true
@@ -364,6 +375,7 @@
"Path": "/sys/devices/platform/17000060.devfreq_tnr/devfreq/17000060.devfreq_tnr/min_freq",
"Values": [
"664000",
+ "233000",
"67000"
],
"ResetOnInit": true
@@ -560,6 +572,16 @@
"0,1,2,3,4,5,6,7"
],
"Type": "Property"
+ },
+ {
+ "Name": "Dex2oatGroup",
+ "Path": "/proc/vendor_sched/dex2oat_ug",
+ "Values": [
+ "1",
+ "0"
+ ],
+ "DefaultIndex": 0,
+ "ResetOnInit": true
}
],
"Actions": [
@@ -632,7 +654,7 @@
"PowerHint": "LAUNCH",
"Node": "TAUClampBoost",
"Duration": 5000,
- "Value": "612"
+ "Value": "764"
},
{
"PowerHint": "LAUNCH",
@@ -700,6 +722,18 @@
"Value": "9999999"
},
{
+ "PowerHint": "CPU_LOAD_RESET",
+ "Node": "GPUMinFreq",
+ "Duration": 50,
+ "Value": "302000"
+ },
+ {
+ "PowerHint": "CPU_LOAD_RESET",
+ "Node": "MemFreq",
+ "Duration": 33,
+ "Value": "1014000"
+ },
+ {
"PowerHint": "CAMERA_LAUNCH",
"Node": "MemFreq",
"Duration": 1000,
@@ -745,7 +779,7 @@
"PowerHint": "CAMERA_LAUNCH",
"Node": "CAMUClampBoost",
"Duration": 1000,
- "Value": "612"
+ "Value": "764"
},
{
"PowerHint": "CAMERA_LAUNCH",
@@ -1145,6 +1179,12 @@
},
{
"PowerHint": "CAMERA_STREAMING_HIGH",
+ "Node": "CPUDVFSHeadroom",
+ "Duration": 0,
+ "Value": "1100 1078 1024"
+ },
+ {
+ "PowerHint": "CAMERA_STREAMING_HIGH",
"Node": "CPUMidClusterMaxFreq",
"Duration": 0,
"Value": "1491000"
@@ -1318,6 +1358,24 @@
"Value": "0"
},
{
+ "PowerHint": "CAMERA_MULTI_CAM_STREAMING",
+ "Node": "CPUBigClusterMaxFreq",
+ "Duration": 0,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "CAMERA_MULTI_CAM_STREAMING",
+ "Node": "CPUMidClusterMaxFreq",
+ "Duration": 0,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "CAMERA_MULTI_CAM_STREAMING",
+ "Node": "CPULittleClusterMaxFreq",
+ "Duration": 0,
+ "Value": "9999999"
+ },
+ {
"PowerHint": "CAMERA_VIDEO_RECORDING",
"Type": "MaskHint",
"Value": "CDCPUSET_RESTRICTED"
@@ -1350,6 +1408,18 @@
"Value": "302000"
},
{
+ "PowerHint": "CAMERA_ADJUST_BACKEND_MIN_FREQ",
+ "Node": "INTCAMFreq",
+ "Duration": 0,
+ "Value": "233000"
+ },
+ {
+ "PowerHint": "CAMERA_ADJUST_BACKEND_MIN_FREQ",
+ "Node": "TNRFreq",
+ "Duration": 0,
+ "Value": "233000"
+ },
+ {
"PowerHint": "CAMERA_TNR_LOW",
"Node": "TNRMaxFreq",
"Duration": 0,
@@ -1488,6 +1558,72 @@
"Value": "1"
},
{
+ "PowerHint": "LOW_POWER",
+ "Node": "BigControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "LOW_POWER",
+ "Node": "MidControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "LOW_POWER",
+ "Node": "LittleControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "LOW_POWER",
+ "Node": "G3dControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "LOW_POWER",
+ "Node": "TpuControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "LOW_POWER",
+ "Node": "AurControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "LOW_POWER",
+ "Node": "BigSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "LOW_POWER",
+ "Node": "MidSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "LOW_POWER",
+ "Node": "LittleSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "LOW_POWER",
+ "Node": "G3dSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "LOW_POWER",
+ "Node": "TpuSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
"PowerHint": "REFRESH_120FPS",
"Node": "TAUClampBoost",
"Duration": 0,
@@ -1553,12 +1689,6 @@
"Value": "572000"
},
{
- "PowerHint": "ADPF_FIRST_FRAME",
- "Node": "GPUMinFreq",
- "Duration": 50,
- "Value": "302000"
- },
- {
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_LIGHT",
"Node": "PMU_POLL",
"Duration": 0,
@@ -1649,6 +1779,12 @@
"Value": "0,1,2,3"
},
{
+ "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_LIGHT",
+ "Node": "Dex2oatGroup",
+ "Duration": 0,
+ "Value": "0"
+ },
+ {
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE",
"Node": "PMU_POLL",
"Duration": 0,
@@ -1739,6 +1875,12 @@
"Value": "0,1,2,3"
},
{
+ "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE",
+ "Node": "Dex2oatGroup",
+ "Duration": 0,
+ "Value": "0"
+ },
+ {
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE",
"Node": "PMU_POLL",
"Duration": 0,
@@ -1829,6 +1971,12 @@
"Value": "0,1,2,3"
},
{
+ "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE",
+ "Node": "Dex2oatGroup",
+ "Duration": 0,
+ "Value": "0"
+ },
+ {
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL",
"Node": "PMU_POLL",
"Duration": 0,
@@ -1919,6 +2067,12 @@
"Value": "0,1,2,3"
},
{
+ "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL",
+ "Node": "Dex2oatGroup",
+ "Duration": 0,
+ "Value": "0"
+ },
+ {
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
"Node": "PMU_POLL",
"Duration": 0,
@@ -2027,6 +2181,12 @@
"Value": "0,1,2,3"
},
{
+ "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
+ "Node": "Dex2oatGroup",
+ "Duration": 0,
+ "Value": "0"
+ },
+ {
"PowerHint": "FACE_UNLOCK_BOOST",
"Node": "CPUBigClusterMaxFreq",
"Duration": 1000,
@@ -2096,7 +2256,7 @@
"PowerHint": "ML_ACC",
"Node": "MLUclampBoost",
"Duration": 2000,
- "Value": "650"
+ "Value": "813"
},
{
"PowerHint": "ML_ACC",
@@ -2118,8 +2278,8 @@
"PID_Do": 500.0,
"PID_Du": 0.0,
"UclampMin_On": true,
- "UclampMin_Init": 185,
- "UclampMin_High": 384,
+ "UclampMin_Init": 232,
+ "UclampMin_High": 480,
"UclampMin_Low": 2,
"SamplingWindow_P": 1,
"SamplingWindow_I": 0,
@@ -2142,8 +2302,8 @@
"PID_Do": 500.0,
"PID_Du": 0.0,
"UclampMin_On": true,
- "UclampMin_Init": 129,
- "UclampMin_High": 384,
+ "UclampMin_Init": 162,
+ "UclampMin_High": 480,
"UclampMin_Low": 2,
"SamplingWindow_P": 1,
"SamplingWindow_I": 0,
@@ -2166,8 +2326,8 @@
"PID_Do": 500.0,
"PID_Du": 0.0,
"UclampMin_On": true,
- "UclampMin_Init": 129,
- "UclampMin_High": 384,
+ "UclampMin_Init": 162,
+ "UclampMin_High": 480,
"UclampMin_Low": 2,
"SamplingWindow_P": 1,
"SamplingWindow_I": 0,
@@ -2193,9 +2353,9 @@
"SamplingWindow_I": 1,
"SamplingWindow_D": 1,
"UclampMin_On": true,
- "UclampMin_Init": 200,
- "UclampMin_High": 157,
- "UclampMin_Low": 157,
+ "UclampMin_Init": 250,
+ "UclampMin_High": 197,
+ "UclampMin_Low": 197,
"ReportingRateLimitNs": 1,
"EarlyBoost_On": false,
"EarlyBoost_TimeFactor": 0.0,
@@ -2217,9 +2377,9 @@
"SamplingWindow_I": 1,
"SamplingWindow_D": 1,
"UclampMin_On": true,
- "UclampMin_Init": 200,
- "UclampMin_High": 42,
- "UclampMin_Low": 42,
+ "UclampMin_Init": 250,
+ "UclampMin_High": 53,
+ "UclampMin_Low": 53,
"ReportingRateLimitNs": 1,
"EarlyBoost_On": false,
"EarlyBoost_TimeFactor": 0.0,
@@ -2241,7 +2401,7 @@
"SamplingWindow_I": 1,
"SamplingWindow_D": 1,
"UclampMin_On": true,
- "UclampMin_Init": 200,
+ "UclampMin_Init": 250,
"UclampMin_High": 0,
"UclampMin_Low": 0,
"ReportingRateLimitNs": 1,
diff --git a/powerstats/felix/service.cpp b/powerstats/felix/service.cpp
index 796b5a4..2de3797 100644
--- a/powerstats/felix/service.cpp
+++ b/powerstats/felix/service.cpp
@@ -28,6 +28,7 @@
#include <android/binder_manager.h>
#include <android/binder_process.h>
#include <log/log.h>
+#include <sys/stat.h>
using aidl::android::hardware::power::stats::DevfreqStateResidencyDataProvider;
using aidl::android::hardware::power::stats::DisplayStateResidencyDataProvider;
@@ -39,7 +40,9 @@
// Add display residency stats for inner display
std::vector<std::string> inner_states = {
"Off",
+ "LP: 1840x2208@1",
"LP: 1840x2208@30",
+ "On: 1840x2208@1",
"On: 1840x2208@10",
"On: 1840x2208@60",
"On: 1840x2208@120",
@@ -138,6 +141,18 @@
stateCoeffs));
}
+std::string getNfcPath() {
+ struct stat buffer;
+ int size = 128;
+ char path[size];
+ for (int i = 0; i < 10; i++) {
+ std::snprintf(path, size,
+ "/sys/devices/platform/10970000.hsi2c/i2c-%d/i2c-st21nfc/power_stats", i);
+ if (!stat(path, &buffer)) break;
+ }
+ return std::string(path);
+}
+
int main() {
LOG(INFO) << "Pixel PowerStats HAL AIDL Service is starting.";
@@ -158,7 +173,7 @@
addWifi(p);
addTPU(p);
addUfs(p);
- addNFC(p, "/sys/devices/platform/10970000.hsi2c/i2c-4/i2c-st21nfc/power_stats");
+ addNFC(p, getNfcPath());
addUwb(p);
addPowerDomains(p);
addDevfreq(p);
diff --git a/rro_overlays/UwbOverlay/Android.bp b/rro_overlays/UwbOverlay/Android.bp
new file mode 100644
index 0000000..bdaa13d
--- /dev/null
+++ b/rro_overlays/UwbOverlay/Android.bp
@@ -0,0 +1,18 @@
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "//device/google/felix:device_google_felix_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: [
+ "//device/google/felix:device_google_felix_license",
+ ],
+}
+
+runtime_resource_overlay {
+ name: "UwbOverlayF10",
+ theme: "UwbOverlayF10",
+ certificate: "platform",
+ sdk_version: "current",
+ product_specific: true
+}
diff --git a/rro_overlays/UwbOverlay/AndroidManifest.xml b/rro_overlays/UwbOverlay/AndroidManifest.xml
new file mode 100644
index 0000000..57dfd5b
--- /dev/null
+++ b/rro_overlays/UwbOverlay/AndroidManifest.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2022 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.
+-->
+<!-- Pixel specific uwb overlays -->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.android.uwb.resources.pixel"
+ android:versionCode="1"
+ android:versionName="1.0">
+ <application android:hasCode="false" />
+ <overlay
+ android:targetPackage="com.android.uwb.resources"
+ android:targetName="UwbCustomization"
+ android:isStatic="true"
+ android:priority="0"/>
+</manifest>
diff --git a/rro_overlays/UwbOverlay/OWNERS b/rro_overlays/UwbOverlay/OWNERS
new file mode 100644
index 0000000..2395d7f
--- /dev/null
+++ b/rro_overlays/UwbOverlay/OWNERS
@@ -0,0 +1,3 @@
+# People who can approve changes for submission
+include platform/packages/modules/Uwb:/OWNERS
[email protected]
diff --git a/rro_overlays/UwbOverlay/res/values/config.xml b/rro_overlays/UwbOverlay/res/values/config.xml
new file mode 100644
index 0000000..3c45c6a
--- /dev/null
+++ b/rro_overlays/UwbOverlay/res/values/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+ * Copyright (C) 2022 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>
+ <!-- When true, the filter engine will alter UWB values to improve accuracy. -->
+ <bool name="enable_filters">true</bool>
+
+ <!-- Enables the AoA conversion primer. This is needed on hardware that does not convert AoA
+ to spherical coordinates, including hardware that does not support elevation.-->
+ <bool name="enable_primer_aoa">true</bool>
+</resources>
diff --git a/rro_overlays/WifiOverlay/res/values/config.xml b/rro_overlays/WifiOverlay/res/values/config.xml
index aa13002..94f377b 100644
--- a/rro_overlays/WifiOverlay/res/values/config.xml
+++ b/rro_overlays/WifiOverlay/res/values/config.xml
@@ -56,6 +56,7 @@
<!-- True if the firmware supports connected MAC randomization -->
<bool name="config_wifi_connected_mac_randomization_supported">true</bool>
+ <bool name="config_wifiAllowNonPersistentMacRandomizationOnOpenSsids">true</bool>
<!-- True if the firmware supports p2p MAC randomization -->
<bool name="config_wifi_p2p_mac_randomization_supported">true</bool>
@@ -152,4 +153,18 @@
<!-- Enable WPA2 to WPA3 auto-upgrade offload to capable Driver/Firmware -->
<bool translatable="false" name="config_wifiSaeUpgradeOffloadEnabled">true</bool>
+
+ <!-- Boolean indicating whether DTIM multiplier configuration is enabled. DTIM multiplier value
+ is when the system is in the suspended mode -->
+ <bool translatable="false" name="config_wifiDtimMultiplierConfigEnabled">true</bool>
+
+ <!-- Enable the feature of adjusting link layer stats polling interval based on
+ device mobility state and client mode RSSI monitoring. -->
+ <bool translatable="false" name="config_wifiAdjustPollRssiIntervalEnabled">true</bool>
+
+ <!-- Boolean indicating whether the framework updates country from scan results when there is
+ no telephony country code. This is applied to all generic cases and might require the
+ regulatory approval (for example, FCC pre-approval is required according to "594280 D01
+ Software Configuration Control v02r01").-->
+ <bool translatable="false" name ="config_wifiUpdateCountryCodeFromScanResultGeneric">true</bool>
</resources>
diff --git a/self-extractors/extract-lists.txt b/self-extractors/extract-lists.txt
index 255e82e..9fc0800 100644
--- a/self-extractors/extract-lists.txt
+++ b/self-extractors/extract-lists.txt
@@ -11,7 +11,7 @@
system_ext/lib64/libmediaadaptor.so \
system_ext/priv-app/ShannonRcs/ShannonRcs.apk \
system_ext/priv-app/ShannonIms/ShannonIms.apk \
- system_ext/priv-app/QualifiedNetworksService/QualifiedNetworksService.apk \
+ system_ext/priv-app/PixelQualifiedNetworksService/PixelQualifiedNetworksService.apk \
system_ext/priv-app/UwbVendorService/UwbVendorService.apk \
"
;;
diff --git a/self-extractors/google_devices/staging/Android.mk b/self-extractors/google_devices/staging/Android.mk
index fac7172..60234be 100644
--- a/self-extractors/google_devices/staging/Android.mk
+++ b/self-extractors/google_devices/staging/Android.mk
@@ -24,7 +24,7 @@
ifneq ($(filter felix,$(TARGET_DEVICE)),)
include $(CLEAR_VARS)
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
-LOCAL_MODULE := QualifiedNetworksService
+LOCAL_MODULE := PixelQualifiedNetworksService
LOCAL_MODULE_TAGS := optional
LOCAL_BUILT_MODULE_STEM := package.apk
LOCAL_SYSTEM_EXT_MODULE := true
diff --git a/self-extractors/google_devices/staging/device-partial.mk b/self-extractors/google_devices/staging/device-partial.mk
index 736b944..9c4717f 100644
--- a/self-extractors/google_devices/staging/device-partial.mk
+++ b/self-extractors/google_devices/staging/device-partial.mk
@@ -17,7 +17,7 @@
# AOSP packages required by the blobs
PRODUCT_PACKAGES := \
- QualifiedNetworksService \
+ PixelQualifiedNetworksService \
ShannonIms \
ShannonRcs \
UwbVendorService \
diff --git a/sensors/Android.mk b/sensors/Android.mk
deleted file mode 100644
index 4417bc4..0000000
--- a/sensors/Android.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright (C) 2009 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-LOCAL_PATH := $(call my-dir)
-
-# HAL module implemenation stored in
-# hw/<SENSORS_HARDWARE_MODULE_ID>.<ro.hardware>.so
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_RELATIVE_PATH := hw
-LOCAL_SHARED_LIBRARIES := liblog libcutils libhardware
-LOCAL_SRC_FILES := sensors_dummy.c
-LOCAL_MODULE := sensors.felix
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../NOTICE
-LOCAL_PROPRIETARY_MODULE := true
-
-include $(BUILD_SHARED_LIBRARY)
diff --git a/sensors/sensors_dummy.c b/sensors/sensors_dummy.c
deleted file mode 100644
index b1edd56..0000000
--- a/sensors/sensors_dummy.c
+++ /dev/null
@@ -1,409 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/* this implements a sensors hardware library for the Android emulator.
- * the following code should be built as a shared library that will be
- * placed into /system/lib/hw/sensors.goldfish.so
- *
- * it will be loaded by the code in hardware/libhardware/hardware.c
- * which is itself called from com_android_server_SensorService.cpp
- */
-
-#define SENSORS_SERVICE_NAME "sensors"
-
-#define LOG_TAG "Dummy_Sensors"
-
-#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <log/log.h>
-#include <cutils/sockets.h>
-#include <hardware/sensors.h>
-#include <pthread.h>
-
-#if 0
-#define D(...) ALOGD(__VA_ARGS__)
-#else
-#define D(...) ((void)0)
-#endif
-
-#define E(...) ALOGE(__VA_ARGS__)
-
-/** SENSOR IDS AND NAMES
- **/
-
-#define MAX_NUM_SENSORS 8
-
-#define SUPPORTED_SENSORS ((1<<MAX_NUM_SENSORS)-1)
-
-#define ID_BASE SENSORS_HANDLE_BASE
-#define ID_ACCELERATION (ID_BASE+0)
-#define ID_MAGNETIC_FIELD (ID_BASE+1)
-#define ID_ORIENTATION (ID_BASE+2)
-#define ID_TEMPERATURE (ID_BASE+3)
-#define ID_PROXIMITY (ID_BASE+4)
-#define ID_LIGHT (ID_BASE+5)
-#define ID_PRESSURE (ID_BASE+6)
-#define ID_HUMIDITY (ID_BASE+7)
-
-#define SENSORS_ACCELERATION (1 << ID_ACCELERATION)
-#define SENSORS_MAGNETIC_FIELD (1 << ID_MAGNETIC_FIELD)
-#define SENSORS_ORIENTATION (1 << ID_ORIENTATION)
-#define SENSORS_TEMPERATURE (1 << ID_TEMPERATURE)
-#define SENSORS_PROXIMITY (1 << ID_PROXIMITY)
-#define SENSORS_LIGHT (1 << ID_LIGHT)
-#define SENSORS_PRESSURE (1 << ID_PRESSURE)
-#define SENSORS_HUMIDITY (1 << ID_HUMIDITY)
-
-#define ID_CHECK(x) ((unsigned)((x) - ID_BASE) < MAX_NUM_SENSORS)
-
-#define SENSORS_LIST \
- SENSOR_(ACCELERATION,"acceleration") \
- SENSOR_(MAGNETIC_FIELD,"magnetic-field") \
- SENSOR_(ORIENTATION,"orientation") \
- SENSOR_(TEMPERATURE,"temperature") \
- SENSOR_(PROXIMITY,"proximity") \
- SENSOR_(LIGHT, "light") \
- SENSOR_(PRESSURE, "pressure") \
- SENSOR_(HUMIDITY, "humidity")
-
-static const struct {
- const char* name;
- int id; } _sensorIds[MAX_NUM_SENSORS] =
-{
-#define SENSOR_(x,y) { y, ID_##x },
- SENSORS_LIST
-#undef SENSOR_
-};
-
-static const char*
-_sensorIdToName( int id )
-{
- int nn;
- for (nn = 0; nn < MAX_NUM_SENSORS; nn++)
- if (id == _sensorIds[nn].id)
- return _sensorIds[nn].name;
- return "<UNKNOWN>";
-}
-
-static int
-_sensorIdFromName( const char* name )
-{
- int nn;
-
- if (name == NULL)
- return -1;
-
- for (nn = 0; nn < MAX_NUM_SENSORS; nn++)
- if (!strcmp(name, _sensorIds[nn].name))
- return _sensorIds[nn].id;
-
- return -1;
-}
-
-/* return the current time in nanoseconds */
-static int64_t now_ns(void) {
- struct timespec ts;
- clock_gettime(CLOCK_MONOTONIC, &ts);
- return (int64_t)ts.tv_sec * 1000000000 + ts.tv_nsec;
-}
-
-/** SENSORS POLL DEVICE
- **
- ** This one is used to read sensor data from the hardware.
- ** We implement this by simply reading the data from the
- ** emulator through the QEMUD channel.
- **/
-
-typedef struct SensorDevice {
- struct sensors_poll_device_1 device;
- sensors_event_t sensors[MAX_NUM_SENSORS];
- uint32_t pendingSensors;
- int64_t timeStart;
- int64_t timeOffset;
- uint32_t active_sensors;
- int fd;
- pthread_mutex_t lock;
-} SensorDevice;
-
-/* Grab the file descriptor to the emulator's sensors service pipe.
- * This function returns a file descriptor on success, or -errno on
- * failure, and assumes the SensorDevice instance's lock is held.
- *
- * This is needed because set_delay(), poll() and activate() can be called
- * from different threads, and poll() is blocking.
- *
- * 1) On a first thread, de-activate() all sensors first, then call poll(),
- * which results in the thread blocking.
- *
- * 2) On a second thread, slightly later, call set_delay() then activate()
- * to enable the acceleration sensor.
- *
- * The system expects this to unblock the first thread which will receive
- * new sensor events after the activate() call in 2).
- *
- * This cannot work if both threads don't use the same connection.
- *
- * TODO(digit): This protocol is brittle, implement another control channel
- * for set_delay()/activate()/batch() when supporting HAL 1.3
- */
-static int sensor_device_get_fd_locked(SensorDevice* dev) {
- /* Create connection to service on first call */
- if (dev->fd < 0) {
- int ret = -errno;
- E("%s: Could not open connection to service: %s", __FUNCTION__,
- strerror(-ret));
- return ret;
- }
- return dev->fd;
-}
-
-/* Pick up one pending sensor event. On success, this returns the sensor
- * id, and sets |*event| accordingly. On failure, i.e. if there are no
- * pending events, return -EINVAL.
- *
- * Note: The device's lock must be acquired.
- */
-static int sensor_device_pick_pending_event_locked(SensorDevice* d,
- sensors_event_t* event)
-{
- uint32_t mask = SUPPORTED_SENSORS & d->pendingSensors;
-
- if (mask) {
- uint32_t i = 31 - __builtin_clz(mask);
-
- pthread_mutex_lock(&d->lock);
- d->pendingSensors &= ~(1U << i);
- *event = d->sensors[i];
- event->sensor = i;
- event->version = sizeof(*event);
- pthread_mutex_unlock(&d->lock);
- D("%s: %d [%f, %f, %f]", __FUNCTION__,
- i,
- event->data[0],
- event->data[1],
- event->data[2]);
- return i;
- }
- E("No sensor to return!!! pendingSensors=0x%08x", d->pendingSensors);
- // we may end-up in a busy loop, slow things down, just in case.
- usleep(1000);
- return -EINVAL;
-}
-
-static int sensor_device_close(struct hw_device_t* dev0)
-{
- SensorDevice* dev = (void*)dev0;
- // Assume that there are no other threads blocked on poll()
- if (dev->fd >= 0) {
- close(dev->fd);
- dev->fd = -1;
- }
- pthread_mutex_destroy(&dev->lock);
- free(dev);
- return 0;
-}
-
-/* Return an array of sensor data. This function blocks until there is sensor
- * related events to report. On success, it will write the events into the
- * |data| array, which contains |count| items. The function returns the number
- * of events written into the array, which shall never be greater than |count|.
- * On error, return -errno code.
- *
- * Note that according to the sensor HAL [1], it shall never return 0!
- *
- * [1] http://source.android.com/devices/sensors/hal-interface.html
- */
-static int sensor_device_poll(struct sensors_poll_device_t *dev0,
- sensors_event_t* data, int count)
-{
- return -EIO;
-}
-
-static int sensor_device_activate(struct sensors_poll_device_t *dev0,
- int handle,
- int enabled)
-{
- SensorDevice* dev = (void*)dev0;
-
- D("%s: handle=%s (%d) enabled=%d", __FUNCTION__,
- _sensorIdToName(handle), handle, enabled);
-
- /* Sanity check */
- if (!ID_CHECK(handle)) {
- E("%s: bad handle ID", __FUNCTION__);
- return -EINVAL;
- }
-
- /* Exit early if sensor is already enabled/disabled. */
- uint32_t mask = (1U << handle);
- uint32_t sensors = enabled ? mask : 0;
-
- pthread_mutex_lock(&dev->lock);
-
- uint32_t active = dev->active_sensors;
- uint32_t new_sensors = (active & ~mask) | (sensors & mask);
- uint32_t changed = active ^ new_sensors;
-
- if (changed)
- dev->active_sensors = new_sensors;
-
- pthread_mutex_unlock(&dev->lock);
- return 0;
-}
-
-static int sensor_device_default_flush(
- struct sensors_poll_device_1* dev0,
- int handle) {
-
- SensorDevice* dev = (void*)dev0;
-
- D("%s: handle=%s (%d)", __FUNCTION__,
- _sensorIdToName(handle), handle);
-
- /* Sanity check */
- if (!ID_CHECK(handle)) {
- E("%s: bad handle ID", __FUNCTION__);
- return -EINVAL;
- }
-
- pthread_mutex_lock(&dev->lock);
- dev->sensors[handle].version = META_DATA_VERSION;
- dev->sensors[handle].type = SENSOR_TYPE_META_DATA;
- dev->sensors[handle].sensor = 0;
- dev->sensors[handle].timestamp = 0;
- dev->sensors[handle].meta_data.what = META_DATA_FLUSH_COMPLETE;
- dev->pendingSensors |= (1U << handle);
- pthread_mutex_unlock(&dev->lock);
-
- return 0;
-}
-
-static int sensor_device_set_delay(struct sensors_poll_device_t *dev0,
- int handle __unused,
- int64_t ns)
-{
- return 0;
-}
-
-static int sensor_device_default_batch(
- struct sensors_poll_device_1* dev,
- int sensor_handle,
- int flags,
- int64_t sampling_period_ns,
- int64_t max_report_latency_ns) {
- return sensor_device_set_delay(dev, sensor_handle, sampling_period_ns);
-}
-
-/** MODULE REGISTRATION SUPPORT
- **
- ** This is required so that hardware/libhardware/hardware.c
- ** will dlopen() this library appropriately.
- **/
-
-/*
- * the following is the list of all supported sensors.
- * this table is used to build sSensorList declared below
- * according to which hardware sensors are reported as
- * available from the emulator (see get_sensors_list below)
- *
- * note: numerical values for maxRange/resolution/power for
- * all sensors but light, pressure and humidity were
- * taken from the reference AK8976A implementation
- */
-static const struct sensor_t sSensorListInit[] = {
- { .name = "Accelerometer",
- .vendor = "The Android Open Source Project",
- .version = 1,
- .handle = ID_ACCELERATION,
- .type = SENSOR_TYPE_ACCELEROMETER,
- .maxRange = 2.8f,
- .resolution = 1.0f/4032.0f,
- .power = 3.0f,
- .minDelay = 10000,
- .maxDelay = 60 * 1000 * 1000,
- .fifoReservedEventCount = 0,
- .fifoMaxEventCount = 0,
- .stringType = 0,
- .requiredPermission = 0,
- .flags = SENSOR_FLAG_CONTINUOUS_MODE,
- .reserved = {}
- },
-};
-
-static struct sensor_t sSensorList[1];
-
-static int sensors__get_sensors_list(struct sensors_module_t* module __unused,
- struct sensor_t const** list)
-{
- *list = sSensorList;
-
- return 0;
-}
-
-static int
-open_sensors(const struct hw_module_t* module,
- const char* name,
- struct hw_device_t* *device)
-{
- int status = -EINVAL;
-
- D("%s: name=%s", __FUNCTION__, name);
-
- if (!strcmp(name, SENSORS_HARDWARE_POLL)) {
- SensorDevice *dev = malloc(sizeof(*dev));
-
- memset(dev, 0, sizeof(*dev));
-
- dev->device.common.tag = HARDWARE_DEVICE_TAG;
- dev->device.common.version = SENSORS_DEVICE_API_VERSION_1_3;
- dev->device.common.module = (struct hw_module_t*) module;
- dev->device.common.close = sensor_device_close;
- dev->device.poll = sensor_device_poll;
- dev->device.activate = sensor_device_activate;
- dev->device.setDelay = sensor_device_set_delay;
-
- // Version 1.3-specific functions
- dev->device.batch = sensor_device_default_batch;
- dev->device.flush = sensor_device_default_flush;
-
- dev->fd = -1;
- pthread_mutex_init(&dev->lock, NULL);
-
- *device = &dev->device.common;
- status = 0;
- }
- return status;
-}
-
-
-static struct hw_module_methods_t sensors_module_methods = {
- .open = open_sensors
-};
-
-struct sensors_module_t HAL_MODULE_INFO_SYM = {
- .common = {
- .tag = HARDWARE_MODULE_TAG,
- .version_major = 1,
- .version_minor = 0,
- .id = SENSORS_HARDWARE_MODULE_ID,
- .name = "Dummy SENSORS Module",
- .author = "The Android Open Source Project",
- .methods = &sensors_module_methods,
- },
- .get_sensors_list = sensors__get_sensors_list
-};
diff --git a/thermal_info_config_felix.json b/thermal_info_config_felix.json
index dd844ba..6bbb5b0 100644
--- a/thermal_info_config_felix.json
+++ b/thermal_info_config_felix.json
@@ -966,5 +966,25 @@
"PowerSampleDelay":60000,
"PowerSampleCount":1
}
- ]
+ ],
+ "Stats": {
+ "Sensors": {
+ "RecordWithDefaultThreshold": ["VIRTUAL-SKIN"],
+ "RecordWithThreshold": [
+ {
+ "Name": "VIRTUAL-SKIN",
+ "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51]
+ },
+ {
+ "Name": "VIRTUAL-USB-THROTTLING",
+ "Thresholds": [2.0]
+ }
+ ]
+ },
+ "CoolingDevices": {
+ "RecordVotePerSensor": {
+ "DefaultThresholdEnableAll": true
+ }
+ }
+ }
}
diff --git a/uwb/UWB-calibration-ce.conf b/uwb/UWB-calibration-ce.conf
index 6468d80..ddc9fca 100644
--- a/uwb/UWB-calibration-ce.conf
+++ b/uwb/UWB-calibration-ce.conf
@@ -1,16 +1,10 @@
-[CCC]version=2
-[CCC]ant0.ch5.prf64.pdoa_iso_rf2_rf1=0
-[CCC]ant0.ch5.prf64.pdoa_iso_rf1_rf2=0
-[CCC]ant0.ch9.prf64.pdoa_iso_rf2_rf1=0
-[CCC]ant0.ch9.prf64.pdoa_iso_rf1_rf2=0
-[CCC]ant0.ch5.prf64.pdoa_offset=0
-[CCC]ant0.ch9.prf64.pdoa_offset=0
-[CCC]ant0.ch5.prf64.pll_locking_code=0
-[CCC]ant0.ch9.prf64.pll_locking_code=0
-[CCC]id=0
+[CCC]version=3
[CCC]wifi_coex_time_gap=10
[CCC]ap_coop_mode=1
-[CCC]antenna_selection=4
+[CCC]wifi_coex_min_spacing=0x08
+[CCC]ch5.antenna_selection=ant0
+[CCC]ch9.antenna_selection=ant2
+[CCC]alternate_pulse_shape=0x00
ant0.ch5.prf16.ant_delay=16449
ant0.ch5.prf16.tx_power=0xFFFFD4FF
ant0.ch5.prf16.pg_count=0
@@ -111,6 +105,7 @@
auto_sleep_margin=20000
alternate_pulse_shape=0x00
restricted_channels=0
+[HAL]aoa_restricted_channels=0x20
[HAL]aoa_capability=2
[HAL]ant_sets.ch5.range.rx_ant_set_nonranging=6
[HAL]ant_sets.ch5.range.rx_ant_set_ranging=6
diff --git a/uwb/UWB-calibration-default.conf b/uwb/UWB-calibration-default.conf
index 7838414..f3b70dd 100644
--- a/uwb/UWB-calibration-default.conf
+++ b/uwb/UWB-calibration-default.conf
@@ -1,16 +1,10 @@
-[CCC]version=2
-[CCC]ant0.ch5.prf64.pdoa_iso_rf2_rf1=0
-[CCC]ant0.ch5.prf64.pdoa_iso_rf1_rf2=0
-[CCC]ant0.ch9.prf64.pdoa_iso_rf2_rf1=0
-[CCC]ant0.ch9.prf64.pdoa_iso_rf1_rf2=0
-[CCC]ant0.ch5.prf64.pdoa_offset=0
-[CCC]ant0.ch9.prf64.pdoa_offset=0
-[CCC]ant0.ch5.prf64.pll_locking_code=0
-[CCC]ant0.ch9.prf64.pll_locking_code=0
-[CCC]id=0
+[CCC]version=3
[CCC]wifi_coex_time_gap=10
[CCC]ap_coop_mode=1
-[CCC]antenna_selection=4
+[CCC]wifi_coex_min_spacing=0x08
+[CCC]ch5.antenna_selection=ant0
+[CCC]ch9.antenna_selection=ant2
+[CCC]alternate_pulse_shape=0x00
ant0.ch5.prf16.ant_delay=16449
ant0.ch5.prf16.tx_power=0xFFFFD4FF
ant0.ch5.prf16.pg_count=0
@@ -111,6 +105,7 @@
auto_sleep_margin=20000
alternate_pulse_shape=0x00
restricted_channels=0
+[HAL]aoa_restricted_channels=0x20
[HAL]aoa_capability=2
[HAL]ant_sets.ch5.range.rx_ant_set_nonranging=6
[HAL]ant_sets.ch5.range.rx_ant_set_ranging=6
diff --git a/uwb/UWB-calibration-fcc.conf b/uwb/UWB-calibration-fcc.conf
index 7838414..f3b70dd 100644
--- a/uwb/UWB-calibration-fcc.conf
+++ b/uwb/UWB-calibration-fcc.conf
@@ -1,16 +1,10 @@
-[CCC]version=2
-[CCC]ant0.ch5.prf64.pdoa_iso_rf2_rf1=0
-[CCC]ant0.ch5.prf64.pdoa_iso_rf1_rf2=0
-[CCC]ant0.ch9.prf64.pdoa_iso_rf2_rf1=0
-[CCC]ant0.ch9.prf64.pdoa_iso_rf1_rf2=0
-[CCC]ant0.ch5.prf64.pdoa_offset=0
-[CCC]ant0.ch9.prf64.pdoa_offset=0
-[CCC]ant0.ch5.prf64.pll_locking_code=0
-[CCC]ant0.ch9.prf64.pll_locking_code=0
-[CCC]id=0
+[CCC]version=3
[CCC]wifi_coex_time_gap=10
[CCC]ap_coop_mode=1
-[CCC]antenna_selection=4
+[CCC]wifi_coex_min_spacing=0x08
+[CCC]ch5.antenna_selection=ant0
+[CCC]ch9.antenna_selection=ant2
+[CCC]alternate_pulse_shape=0x00
ant0.ch5.prf16.ant_delay=16449
ant0.ch5.prf16.tx_power=0xFFFFD4FF
ant0.ch5.prf16.pg_count=0
@@ -111,6 +105,7 @@
auto_sleep_margin=20000
alternate_pulse_shape=0x00
restricted_channels=0
+[HAL]aoa_restricted_channels=0x20
[HAL]aoa_capability=2
[HAL]ant_sets.ch5.range.rx_ant_set_nonranging=6
[HAL]ant_sets.ch5.range.rx_ant_set_ranging=6
diff --git a/uwb/UWB-calibration-jp.conf b/uwb/UWB-calibration-jp.conf
index 82bb3ca..1612133 100644
--- a/uwb/UWB-calibration-jp.conf
+++ b/uwb/UWB-calibration-jp.conf
@@ -1,16 +1,10 @@
-[CCC]version=2
-[CCC]ant0.ch5.prf64.pdoa_iso_rf2_rf1=0
-[CCC]ant0.ch5.prf64.pdoa_iso_rf1_rf2=0
-[CCC]ant0.ch9.prf64.pdoa_iso_rf2_rf1=0
-[CCC]ant0.ch9.prf64.pdoa_iso_rf1_rf2=0
-[CCC]ant0.ch5.prf64.pdoa_offset=0
-[CCC]ant0.ch9.prf64.pdoa_offset=0
-[CCC]ant0.ch5.prf64.pll_locking_code=0
-[CCC]ant0.ch9.prf64.pll_locking_code=0
-[CCC]id=0
+[CCC]version=3
[CCC]wifi_coex_time_gap=10
[CCC]ap_coop_mode=1
-[CCC]antenna_selection=12
+[CCC]wifi_coex_min_spacing=0x08
+[CCC]ch5.antenna_selection=ant0
+[CCC]ch9.antenna_selection=ant2
+[CCC]alternate_pulse_shape=0x01
ant0.ch5.prf16.ant_delay=16449
ant0.ch5.prf16.tx_power=0xFFFFD4FF
ant0.ch5.prf16.pg_count=0
@@ -111,6 +105,7 @@
auto_sleep_margin=20000
alternate_pulse_shape=0x01
restricted_channels=0x20
+[HAL]aoa_restricted_channels=0x20
[HAL]aoa_capability=2
[HAL]ant_sets.ch5.range.rx_ant_set_nonranging=6
[HAL]ant_sets.ch5.range.rx_ant_set_ranging=6
diff --git a/uwb/UWB-calibration-restricted.conf b/uwb/UWB-calibration-restricted.conf
index 7e5bf55..1c98823 100644
--- a/uwb/UWB-calibration-restricted.conf
+++ b/uwb/UWB-calibration-restricted.conf
@@ -1,16 +1,10 @@
-[CCC]version=2
-[CCC]ant0.ch5.prf64.pdoa_iso_rf2_rf1=0
-[CCC]ant0.ch5.prf64.pdoa_iso_rf1_rf2=0
-[CCC]ant0.ch9.prf64.pdoa_iso_rf2_rf1=0
-[CCC]ant0.ch9.prf64.pdoa_iso_rf1_rf2=0
-[CCC]ant0.ch5.prf64.pdoa_offset=0
-[CCC]ant0.ch9.prf64.pdoa_offset=0
-[CCC]ant0.ch5.prf64.pll_locking_code=0
-[CCC]ant0.ch9.prf64.pll_locking_code=0
-[CCC]id=0
+[CCC]version=3
[CCC]wifi_coex_time_gap=10
[CCC]ap_coop_mode=1
-[CCC]antenna_selection=4
+[CCC]wifi_coex_min_spacing=0x08
+[CCC]ch5.antenna_selection=ant0
+[CCC]ch9.antenna_selection=ant2
+[CCC]alternate_pulse_shape=0x00
ant0.ch5.prf16.ant_delay=16449
ant0.ch5.prf16.tx_power=0xFFFFD4FF
ant0.ch5.prf16.pg_count=0
@@ -111,6 +105,7 @@
auto_sleep_margin=20000
alternate_pulse_shape=0x00
restricted_channels=0xFFFF
+[HAL]aoa_restricted_channels=0x20
[HAL]aoa_capability=2
[HAL]ant_sets.ch5.range.rx_ant_set_nonranging=6
[HAL]ant_sets.ch5.range.rx_ant_set_ranging=6
diff --git a/uwb/UWB-calibration-tw.conf b/uwb/UWB-calibration-tw.conf
index 1f6c32c..5a348b2 100644
--- a/uwb/UWB-calibration-tw.conf
+++ b/uwb/UWB-calibration-tw.conf
@@ -1,16 +1,10 @@
-[CCC]version=2
-[CCC]ant0.ch5.prf64.pdoa_iso_rf2_rf1=0
-[CCC]ant0.ch5.prf64.pdoa_iso_rf1_rf2=0
-[CCC]ant0.ch9.prf64.pdoa_iso_rf2_rf1=0
-[CCC]ant0.ch9.prf64.pdoa_iso_rf1_rf2=0
-[CCC]ant0.ch5.prf64.pdoa_offset=0
-[CCC]ant0.ch9.prf64.pdoa_offset=0
-[CCC]ant0.ch5.prf64.pll_locking_code=0
-[CCC]ant0.ch9.prf64.pll_locking_code=0
-[CCC]id=0
+[CCC]version=3
[CCC]wifi_coex_time_gap=10
[CCC]ap_coop_mode=1
-[CCC]antenna_selection=12
+[CCC]wifi_coex_min_spacing=0x08
+[CCC]ch5.antenna_selection=ant0
+[CCC]ch9.antenna_selection=ant2
+[CCC]alternate_pulse_shape=0x00
ant0.ch5.prf16.ant_delay=16449
ant0.ch5.prf16.tx_power=0xFFFFD4FF
ant0.ch5.prf16.pg_count=0
@@ -111,6 +105,7 @@
auto_sleep_margin=20000
alternate_pulse_shape=0x00
restricted_channels=0x20
+[HAL]aoa_restricted_channels=0x20
[HAL]aoa_capability=2
[HAL]ant_sets.ch5.range.rx_ant_set_nonranging=6
[HAL]ant_sets.ch5.range.rx_ant_set_ranging=6
diff --git a/uwb/UWB-calibration.conf b/uwb/UWB-calibration.conf
index 7838414..f3b70dd 100644
--- a/uwb/UWB-calibration.conf
+++ b/uwb/UWB-calibration.conf
@@ -1,16 +1,10 @@
-[CCC]version=2
-[CCC]ant0.ch5.prf64.pdoa_iso_rf2_rf1=0
-[CCC]ant0.ch5.prf64.pdoa_iso_rf1_rf2=0
-[CCC]ant0.ch9.prf64.pdoa_iso_rf2_rf1=0
-[CCC]ant0.ch9.prf64.pdoa_iso_rf1_rf2=0
-[CCC]ant0.ch5.prf64.pdoa_offset=0
-[CCC]ant0.ch9.prf64.pdoa_offset=0
-[CCC]ant0.ch5.prf64.pll_locking_code=0
-[CCC]ant0.ch9.prf64.pll_locking_code=0
-[CCC]id=0
+[CCC]version=3
[CCC]wifi_coex_time_gap=10
[CCC]ap_coop_mode=1
-[CCC]antenna_selection=4
+[CCC]wifi_coex_min_spacing=0x08
+[CCC]ch5.antenna_selection=ant0
+[CCC]ch9.antenna_selection=ant2
+[CCC]alternate_pulse_shape=0x00
ant0.ch5.prf16.ant_delay=16449
ant0.ch5.prf16.tx_power=0xFFFFD4FF
ant0.ch5.prf16.pg_count=0
@@ -111,6 +105,7 @@
auto_sleep_margin=20000
alternate_pulse_shape=0x00
restricted_channels=0
+[HAL]aoa_restricted_channels=0x20
[HAL]aoa_capability=2
[HAL]ant_sets.ch5.range.rx_ant_set_nonranging=6
[HAL]ant_sets.ch5.range.rx_ant_set_ranging=6
diff --git a/vibrator/OWNERS b/vibrator/OWNERS
index 5d4a9c3..859c7e0 100644
--- a/vibrator/OWNERS
+++ b/vibrator/OWNERS
@@ -1,3 +1,4 @@
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
diff --git a/wifi/p2p_supplicant_overlay.conf b/wifi/p2p_supplicant_overlay.conf
index 4ec8453..74d24d8 100644
--- a/wifi/p2p_supplicant_overlay.conf
+++ b/wifi/p2p_supplicant_overlay.conf
@@ -8,3 +8,4 @@
disable_scan_offload=1
p2p_go_vht=1
p2p_pref_chan=124:149, 115:36
+p2p_6ghz_disable=1