Update raven SVN to 38 am: f045ccd24a am: 142ee1802f
Original change: https://googleplex-android-review.googlesource.com/c/device/google/raviole/+/19629901
Change-Id: Ib4aceadeaad146db6f46c5b8e7901c52d002515f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/audio/oriole/audio-tables.mk b/audio/oriole/audio-tables.mk
index 5c63f40..8d15bf9 100644
--- a/audio/oriole/audio-tables.mk
+++ b/audio/oriole/audio-tables.mk
@@ -25,7 +25,7 @@
device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/config/sound_trigger_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_configuration.xml \
device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_configuration_le_offload_disabled.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_le_offload_disabled.xml \
- frameworks/av/services/audiopolicy/config/bluetooth_with_le_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration_7_0.xml
+ device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/config/bluetooth_with_le_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration_7_0.xml
# AudioEffectHAL Configuration
PRODUCT_COPY_FILES += \
diff --git a/audio/oriole/config/audio_effects.xml b/audio/oriole/config/audio_effects.xml
index 1718057..e35bfbd 100644
--- a/audio/oriole/config/audio_effects.xml
+++ b/audio/oriole/config/audio_effects.xml
@@ -10,6 +10,7 @@
<library name="proxy" path="libeffectproxy.so"/>
<library name="offload_effect" path="liboffloadeffect.so"/>
<library name="haptic_generator" path="libhapticgenerator.so"/>
+ <library name="spatializer" path="libspatialaudio.so"/>
</libraries>
<effects>
<effectProxy name="bassboost" library="proxy" uuid="2f0871a2-c93c-4824-9664-42eb2909f2ef">
@@ -51,6 +52,7 @@
<effect name="ns" library="offload_effect" uuid="62ff2836-d050-43c3-9c2d-94a73dad2c64"/>
<effect name="haptic_generator" library="haptic_generator" uuid="97c4acd1-8b82-4f2f-832e-c2fe5d7a9931"/>
<effect name="dynamics_processing" library="dynamics_processing" uuid="e0e6539b-1781-7261-676f-6d7573696340"/>
+ <effect name="spatializer" library="spatializer" uuid="cc4677de-ff72-11eb-9a03-0242ac130003"/>
</effects>
<postprocess>
</postprocess>
diff --git a/audio/oriole/config/audio_platform_configuration.xml b/audio/oriole/config/audio_platform_configuration.xml
index a4232cd..5923cb9 100644
--- a/audio/oriole/config/audio_platform_configuration.xml
+++ b/audio/oriole/config/audio_platform_configuration.xml
@@ -182,6 +182,8 @@
<usecase id="UC_DEEP_BUFFER_PLAYBACK" dev1="5" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="4"/>
<!-- dev1: voice-call downlink dev2: voice-clal uplink -->
<usecase id="UC_VOICE_CALL" dev1="4" dev2="11"/>
+ <!-- for output with flag AUDIO_OUTPUT_SPATIALIZER -->
+ <usecase id="UC_IMMERSIVE_PLAYBACK" dev1="30" dyn_path="true" dsp_vol="false" mmap="false" period="10" period_num="3"/>
<!-- for output with AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD, 4 * 128KB buffer -->
<usecase id="UC_COMPRESSED_OFFLOAD_PLAYBACK" dev1="6" dyn_path="true" dsp_vol="true" mmap="false" period="131072" period_num="4" pre_proc_id="14"/>
<!-- dev1: audio dev2: haptic -->
diff --git a/audio/oriole/config/audio_policy_configuration.xml b/audio/oriole/config/audio_policy_configuration.xml
index 5bd7ec8..1e27950 100644
--- a/audio/oriole/config/audio_policy_configuration.xml
+++ b/audio/oriole/config/audio_policy_configuration.xml
@@ -37,7 +37,7 @@
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">
+ flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD AUDIO_OUTPUT_FLAG_NON_BLOCKING AUDIO_OUTPUT_FLAG_GAPLESS_OFFLOAD">
<profile name="" format="AUDIO_FORMAT_MP3"
samplingRates="8000 16000 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
@@ -64,6 +64,10 @@
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
+ <mixPort name="immersive_out" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER">
+ <profile name="" format="AUDIO_FORMAT_PCM_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"
@@ -159,17 +163,17 @@
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
</devicePort>
<devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
- encodedFormats="AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink"
- encodedFormats="AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink"
- encodedFormats="AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
@@ -196,25 +200,25 @@
<!-- 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"/>
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,immersive_out"/>
<route type="mix" sink="Speaker Safe"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="Earpiece"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="BT A2DP Out"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="BT A2DP Headphones"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="BT A2DP Speaker"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="BT BLE Headset"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="BT BLE Speaker"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_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"/>
+ 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"/>
+ 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"/>
<route type="mix" sink="BT SCO Headset"
diff --git a/audio/oriole/config/audio_policy_configuration_a2dp_offload_disabled.xml b/audio/oriole/config/audio_policy_configuration_a2dp_offload_disabled.xml
index c0f0677..e106936 100644
--- a/audio/oriole/config/audio_policy_configuration_a2dp_offload_disabled.xml
+++ b/audio/oriole/config/audio_policy_configuration_a2dp_offload_disabled.xml
@@ -64,6 +64,10 @@
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
+ <mixPort name="immersive_out" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER">
+ <profile name="" format="AUDIO_FORMAT_PCM_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"
@@ -171,15 +175,15 @@
<!-- 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"/>
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,immersive_out"/>
<route type="mix" sink="Speaker Safe"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="Earpiece"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="USB Device Out"
- sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/>
+ 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"/>
+ 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"/>
<route type="mix" sink="BT SCO Headset"
diff --git a/audio/oriole/config/audio_policy_configuration_le_offload_disabled.xml b/audio/oriole/config/audio_policy_configuration_le_offload_disabled.xml
index 95c2dbe..3c8466a 100644
--- a/audio/oriole/config/audio_policy_configuration_le_offload_disabled.xml
+++ b/audio/oriole/config/audio_policy_configuration_le_offload_disabled.xml
@@ -64,6 +64,10 @@
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
+ <mixPort name="immersive_out" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER">
+ <profile name="" format="AUDIO_FORMAT_PCM_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"
@@ -159,17 +163,17 @@
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
</devicePort>
<devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
- encodedFormats="AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink"
- encodedFormats="AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink"
- encodedFormats="AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
@@ -186,21 +190,21 @@
<!-- 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"/>
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,immersive_out"/>
<route type="mix" sink="Speaker Safe"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="Earpiece"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="BT A2DP Out"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="BT A2DP Headphones"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="BT A2DP Speaker"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_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"/>
+ 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"/>
+ 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"/>
<route type="mix" sink="BT SCO Headset"
diff --git a/audio/oriole/config/bluetooth_with_le_audio_policy_configuration_7_0.xml b/audio/oriole/config/bluetooth_with_le_audio_policy_configuration_7_0.xml
new file mode 100644
index 0000000..8b2af59
--- /dev/null
+++ b/audio/oriole/config/bluetooth_with_le_audio_policy_configuration_7_0.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Bluetooth Audio HAL Audio Policy Configuration file -->
+<module name="bluetooth" halVersion="2.0">
+ <mixPorts>
+ <!-- A2DP Audio Ports -->
+ <mixPort name="a2dp output" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER"/>
+ <!-- Hearing AIDs Audio Ports -->
+ <mixPort name="hearing aid output" role="source">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="24000 16000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
+ <!-- Le Audio Audio Ports -->
+ <mixPort name="le audio output" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="44100 48000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
+ <mixPort name="le audio input" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="8000 16000 24000 32000 44100 48000"
+ channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
+ <profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
+ samplingRates="8000 16000 24000 32000 44100 48000"
+ channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
+ <profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
+ samplingRates="8000 16000 24000 32000 44100 48000"
+ channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
+ </mixPort>
+ </mixPorts>
+ <devicePorts>
+ <!-- A2DP Audio Ports -->
+ <devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="44100 48000 88200 96000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </devicePort>
+ <devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="44100 48000 88200 96000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </devicePort>
+ <devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="44100 48000 88200 96000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </devicePort>
+ <!-- Hearing AIDs Audio Ports -->
+ <devicePort tagName="BT Hearing Aid Out" type="AUDIO_DEVICE_OUT_HEARING_AID" role="sink"/>
+ <!-- BLE Audio Ports -->
+ <devicePort tagName="BLE Headset Out" type="AUDIO_DEVICE_OUT_BLE_HEADSET" role="sink"/>
+ <devicePort tagName="BLE Speaker Out" type="AUDIO_DEVICE_OUT_BLE_SPEAKER" role="sink"/>
+ <devicePort tagName="BLE Headset In" type="AUDIO_DEVICE_IN_BLE_HEADSET" role="source"/>
+ </devicePorts>
+ <routes>
+ <route type="mix" sink="BT A2DP Out"
+ sources="a2dp output"/>
+ <route type="mix" sink="BT A2DP Headphones"
+ sources="a2dp output"/>
+ <route type="mix" sink="BT A2DP Speaker"
+ sources="a2dp output"/>
+ <route type="mix" sink="BT Hearing Aid Out"
+ sources="hearing aid output"/>
+ <route type="mix" sink="BLE Headset Out"
+ sources="le audio output"/>
+ <route type="mix" sink="le audio input"
+ sources="BLE Headset In"/>
+ <route type="mix" sink="BLE Speaker Out"
+ sources="le audio output"/>
+ </routes>
+</module>
\ No newline at end of file
diff --git a/audio/oriole/config/mixer_paths.xml b/audio/oriole/config/mixer_paths.xml
index a39fcd0..b7fb719 100644
--- a/audio/oriole/config/mixer_paths.xml
+++ b/audio/oriole/config/mixer_paths.xml
@@ -30,6 +30,9 @@
<ctl name="PCM Stream Wait Time in MSec" value="100"/>
<ctl name="Voice PCM Stream Wait Time in MSec" value="500"/>
+ <!-- Enable it when AOC is ready to trim delay and padding -->
+ <!--ctl name="Gapless Offload Enable" value="1"/-->
+
<!-- TDM 0 setting -->
<ctl name="TDM_0_RX Chan" value="Four"/>
<ctl name="TDM_0_RX Format" value="S32_LE"/>
@@ -110,6 +113,7 @@
<ctl name="TDM_0_RX Mixer NoHost1" value="0"/>
<ctl name="TDM_0_RX Mixer VOIP" value="0"/>
<ctl name="TDM_0_RX Mixer RAW" value="0"/>
+ <ctl name="TDM_0_RX Mixer IMSV" value="0"/>
<ctl name="TDM_1_RX Mixer EP1" value="0"/>
<ctl name="TDM_1_RX Mixer EP2" value="0"/>
@@ -132,6 +136,7 @@
<ctl name="USB_RX Mixer VOIP" value="0"/>
<ctl name="USB_RX Mixer HIFI" value="0"/>
<ctl name="USB_RX Mixer RAW" value="0"/>
+ <ctl name="USB_RX Mixer IMSV" value="0"/>
<ctl name="BT_RX Mixer EP1" value="0"/>
<ctl name="BT_RX Mixer EP2" value="0"/>
@@ -142,6 +147,7 @@
<ctl name="BT_RX Mixer EP7" value="0"/>
<ctl name="BT_RX Mixer NoHost1" value="0"/>
<ctl name="BT_RX Mixer VOIP" value="0"/>
+ <ctl name="BT_RX Mixer IMSV" value="0"/>
<ctl name="INCALL_RX Mixer EP1" value="0"/>
<ctl name="INCALL_RX Mixer EP2" value="0"/>
@@ -429,6 +435,18 @@
<path name="compress-offload-playback" />
</path>
+ <path name="immersive-playbackP">
+ <ctl name="TDM_0_RX Mixer IMSV" value="1"/>
+ </path>
+
+ <path name="immersive-playbackP bt">
+ <ctl name="BT_RX Mixer IMSV" value="1"/>
+ </path>
+
+ <path name="immersive-playbackP usb-headphone">
+ <ctl name="USB_RX Mixer IMSV" value="1"/>
+ </path>
+
<path name="voip-playbackP">
<ctl name="TDM_0_RX Mixer VOIP" value="1"/>
</path>
diff --git a/audio/raven/audio-tables.mk b/audio/raven/audio-tables.mk
index 75303c1..11e20b1 100644
--- a/audio/raven/audio-tables.mk
+++ b/audio/raven/audio-tables.mk
@@ -25,7 +25,7 @@
device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/config/sound_trigger_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_configuration.xml \
device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_configuration_le_offload_disabled.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_le_offload_disabled.xml \
- frameworks/av/services/audiopolicy/config/bluetooth_with_le_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration_7_0.xml
+ device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/config/bluetooth_with_le_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration_7_0.xml
# AudioEffectHAL Configuration
PRODUCT_COPY_FILES += \
diff --git a/audio/raven/config/audio_effects.xml b/audio/raven/config/audio_effects.xml
index 1718057..e35bfbd 100644
--- a/audio/raven/config/audio_effects.xml
+++ b/audio/raven/config/audio_effects.xml
@@ -10,6 +10,7 @@
<library name="proxy" path="libeffectproxy.so"/>
<library name="offload_effect" path="liboffloadeffect.so"/>
<library name="haptic_generator" path="libhapticgenerator.so"/>
+ <library name="spatializer" path="libspatialaudio.so"/>
</libraries>
<effects>
<effectProxy name="bassboost" library="proxy" uuid="2f0871a2-c93c-4824-9664-42eb2909f2ef">
@@ -51,6 +52,7 @@
<effect name="ns" library="offload_effect" uuid="62ff2836-d050-43c3-9c2d-94a73dad2c64"/>
<effect name="haptic_generator" library="haptic_generator" uuid="97c4acd1-8b82-4f2f-832e-c2fe5d7a9931"/>
<effect name="dynamics_processing" library="dynamics_processing" uuid="e0e6539b-1781-7261-676f-6d7573696340"/>
+ <effect name="spatializer" library="spatializer" uuid="cc4677de-ff72-11eb-9a03-0242ac130003"/>
</effects>
<postprocess>
</postprocess>
diff --git a/audio/raven/config/audio_platform_configuration.xml b/audio/raven/config/audio_platform_configuration.xml
index a4232cd..e376ee6 100644
--- a/audio/raven/config/audio_platform_configuration.xml
+++ b/audio/raven/config/audio_platform_configuration.xml
@@ -182,6 +182,7 @@
<usecase id="UC_DEEP_BUFFER_PLAYBACK" dev1="5" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="4"/>
<!-- dev1: voice-call downlink dev2: voice-clal uplink -->
<usecase id="UC_VOICE_CALL" dev1="4" dev2="11"/>
+ <usecase id="UC_IMMERSIVE_PLAYBACK" dev1="30" dyn_path="true" dsp_vol="false" mmap="false" period="10" period_num="3"/>
<!-- for output with AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD, 4 * 128KB buffer -->
<usecase id="UC_COMPRESSED_OFFLOAD_PLAYBACK" dev1="6" dyn_path="true" dsp_vol="true" mmap="false" period="131072" period_num="4" pre_proc_id="14"/>
<!-- dev1: audio dev2: haptic -->
diff --git a/audio/raven/config/audio_policy_configuration.xml b/audio/raven/config/audio_policy_configuration.xml
index 5bd7ec8..1e27950 100644
--- a/audio/raven/config/audio_policy_configuration.xml
+++ b/audio/raven/config/audio_policy_configuration.xml
@@ -37,7 +37,7 @@
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">
+ flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD AUDIO_OUTPUT_FLAG_NON_BLOCKING AUDIO_OUTPUT_FLAG_GAPLESS_OFFLOAD">
<profile name="" format="AUDIO_FORMAT_MP3"
samplingRates="8000 16000 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
@@ -64,6 +64,10 @@
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
+ <mixPort name="immersive_out" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER">
+ <profile name="" format="AUDIO_FORMAT_PCM_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"
@@ -159,17 +163,17 @@
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
</devicePort>
<devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
- encodedFormats="AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink"
- encodedFormats="AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink"
- encodedFormats="AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
@@ -196,25 +200,25 @@
<!-- 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"/>
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,immersive_out"/>
<route type="mix" sink="Speaker Safe"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="Earpiece"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="BT A2DP Out"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="BT A2DP Headphones"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="BT A2DP Speaker"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="BT BLE Headset"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="BT BLE Speaker"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_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"/>
+ 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"/>
+ 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"/>
<route type="mix" sink="BT SCO Headset"
diff --git a/audio/raven/config/audio_policy_configuration_a2dp_offload_disabled.xml b/audio/raven/config/audio_policy_configuration_a2dp_offload_disabled.xml
index c0f0677..e106936 100644
--- a/audio/raven/config/audio_policy_configuration_a2dp_offload_disabled.xml
+++ b/audio/raven/config/audio_policy_configuration_a2dp_offload_disabled.xml
@@ -64,6 +64,10 @@
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
+ <mixPort name="immersive_out" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER">
+ <profile name="" format="AUDIO_FORMAT_PCM_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"
@@ -171,15 +175,15 @@
<!-- 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"/>
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,immersive_out"/>
<route type="mix" sink="Speaker Safe"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="Earpiece"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="USB Device Out"
- sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/>
+ 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"/>
+ 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"/>
<route type="mix" sink="BT SCO Headset"
diff --git a/audio/raven/config/audio_policy_configuration_le_offload_disabled.xml b/audio/raven/config/audio_policy_configuration_le_offload_disabled.xml
index 95c2dbe..3c8466a 100644
--- a/audio/raven/config/audio_policy_configuration_le_offload_disabled.xml
+++ b/audio/raven/config/audio_policy_configuration_le_offload_disabled.xml
@@ -64,6 +64,10 @@
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
+ <mixPort name="immersive_out" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER">
+ <profile name="" format="AUDIO_FORMAT_PCM_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"
@@ -159,17 +163,17 @@
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
</devicePort>
<devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
- encodedFormats="AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink"
- encodedFormats="AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink"
- encodedFormats="AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
@@ -186,21 +190,21 @@
<!-- 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"/>
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,immersive_out"/>
<route type="mix" sink="Speaker Safe"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="Earpiece"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="BT A2DP Out"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="BT A2DP Headphones"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="BT A2DP Speaker"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_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"/>
+ 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"/>
+ 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"/>
<route type="mix" sink="BT SCO Headset"
diff --git a/audio/raven/config/bluetooth_with_le_audio_policy_configuration_7_0.xml b/audio/raven/config/bluetooth_with_le_audio_policy_configuration_7_0.xml
new file mode 100644
index 0000000..e3f27d9
--- /dev/null
+++ b/audio/raven/config/bluetooth_with_le_audio_policy_configuration_7_0.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Bluetooth Audio HAL Audio Policy Configuration file -->
+<module name="bluetooth" halVersion="2.0">
+ <mixPorts>
+ <!-- A2DP Audio Ports -->
+ <mixPort name="a2dp output" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER"/>
+ <!-- Hearing AIDs Audio Ports -->
+ <mixPort name="hearing aid output" role="source">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="24000 16000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
+ <!-- Le Audio Audio Ports -->
+ <mixPort name="le audio output" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="44100 48000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
+ <mixPort name="le audio input" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="8000 16000 24000 32000 44100 48000"
+ channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
+ <profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
+ samplingRates="8000 16000 24000 32000 44100 48000"
+ channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
+ <profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
+ samplingRates="8000 16000 24000 32000 44100 48000"
+ channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
+ </mixPort>
+ </mixPorts>
+ <devicePorts>
+ <!-- A2DP Audio Ports -->
+ <devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="44100 48000 88200 96000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </devicePort>
+ <devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="44100 48000 88200 96000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </devicePort>
+ <devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="44100 48000 88200 96000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </devicePort>
+ <!-- Hearing AIDs Audio Ports -->
+ <devicePort tagName="BT Hearing Aid Out" type="AUDIO_DEVICE_OUT_HEARING_AID" role="sink"/>
+ <!-- BLE Audio Ports -->
+ <devicePort tagName="BLE Headset Out" type="AUDIO_DEVICE_OUT_BLE_HEADSET" role="sink"/>
+ <devicePort tagName="BLE Speaker Out" type="AUDIO_DEVICE_OUT_BLE_SPEAKER" role="sink"/>
+ <devicePort tagName="BLE Headset In" type="AUDIO_DEVICE_IN_BLE_HEADSET" role="source"/>
+ </devicePorts>
+ <routes>
+ <route type="mix" sink="BT A2DP Out"
+ sources="a2dp output"/>
+ <route type="mix" sink="BT A2DP Headphones"
+ sources="a2dp output"/>
+ <route type="mix" sink="BT A2DP Speaker"
+ sources="a2dp output"/>
+ <route type="mix" sink="BT Hearing Aid Out"
+ sources="hearing aid output"/>
+ <route type="mix" sink="BLE Headset Out"
+ sources="le audio output"/>
+ <route type="mix" sink="le audio input"
+ sources="BLE Headset In"/>
+ <route type="mix" sink="BLE Speaker Out"
+ sources="le audio output"/>
+ </routes>
+</module>
diff --git a/audio/raven/config/mixer_paths.xml b/audio/raven/config/mixer_paths.xml
index a39fcd0..b7fb719 100644
--- a/audio/raven/config/mixer_paths.xml
+++ b/audio/raven/config/mixer_paths.xml
@@ -30,6 +30,9 @@
<ctl name="PCM Stream Wait Time in MSec" value="100"/>
<ctl name="Voice PCM Stream Wait Time in MSec" value="500"/>
+ <!-- Enable it when AOC is ready to trim delay and padding -->
+ <!--ctl name="Gapless Offload Enable" value="1"/-->
+
<!-- TDM 0 setting -->
<ctl name="TDM_0_RX Chan" value="Four"/>
<ctl name="TDM_0_RX Format" value="S32_LE"/>
@@ -110,6 +113,7 @@
<ctl name="TDM_0_RX Mixer NoHost1" value="0"/>
<ctl name="TDM_0_RX Mixer VOIP" value="0"/>
<ctl name="TDM_0_RX Mixer RAW" value="0"/>
+ <ctl name="TDM_0_RX Mixer IMSV" value="0"/>
<ctl name="TDM_1_RX Mixer EP1" value="0"/>
<ctl name="TDM_1_RX Mixer EP2" value="0"/>
@@ -132,6 +136,7 @@
<ctl name="USB_RX Mixer VOIP" value="0"/>
<ctl name="USB_RX Mixer HIFI" value="0"/>
<ctl name="USB_RX Mixer RAW" value="0"/>
+ <ctl name="USB_RX Mixer IMSV" value="0"/>
<ctl name="BT_RX Mixer EP1" value="0"/>
<ctl name="BT_RX Mixer EP2" value="0"/>
@@ -142,6 +147,7 @@
<ctl name="BT_RX Mixer EP7" value="0"/>
<ctl name="BT_RX Mixer NoHost1" value="0"/>
<ctl name="BT_RX Mixer VOIP" value="0"/>
+ <ctl name="BT_RX Mixer IMSV" value="0"/>
<ctl name="INCALL_RX Mixer EP1" value="0"/>
<ctl name="INCALL_RX Mixer EP2" value="0"/>
@@ -429,6 +435,18 @@
<path name="compress-offload-playback" />
</path>
+ <path name="immersive-playbackP">
+ <ctl name="TDM_0_RX Mixer IMSV" value="1"/>
+ </path>
+
+ <path name="immersive-playbackP bt">
+ <ctl name="BT_RX Mixer IMSV" value="1"/>
+ </path>
+
+ <path name="immersive-playbackP usb-headphone">
+ <ctl name="USB_RX Mixer IMSV" value="1"/>
+ </path>
+
<path name="voip-playbackP">
<ctl name="TDM_0_RX Mixer VOIP" value="1"/>
</path>
diff --git a/audio/slider/config/audio_policy_configuration.xml b/audio/slider/config/audio_policy_configuration.xml
index 42db5e8..cd66fbc 100644
--- a/audio/slider/config/audio_policy_configuration.xml
+++ b/audio/slider/config/audio_policy_configuration.xml
@@ -152,17 +152,17 @@
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
</devicePort>
<devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
- encodedFormats="AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink"
- encodedFormats="AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink"
- encodedFormats="AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
diff --git a/device-oriole.mk b/device-oriole.mk
index 1506459..5caee88 100644
--- a/device-oriole.mk
+++ b/device-oriole.mk
@@ -68,7 +68,8 @@
# Bluetooth
PRODUCT_PRODUCT_PROPERTIES += \
- persist.bluetooth.a2dp_aac.vbr_supported=true
+ persist.bluetooth.a2dp_aac.vbr_supported=true \
+ persist.bluetooth.firmware.selection=BCM.hcd
# Bluetooth Tx power caps for oriole
PRODUCT_COPY_FILES += \
@@ -120,7 +121,7 @@
PRODUCT_PACKAGES += \
NfcNci \
Tag \
- android.hardware.nfc@1.2-service.st
+ android.hardware.nfc-service.st
# SecureElement
PRODUCT_PACKAGES += \
@@ -134,7 +135,6 @@
device/google/raviole/nfc/libse-gto-hal2.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal2.conf
DEVICE_MANIFEST_FILE += \
- device/google/raviole/nfc/manifest_nfc.xml \
device/google/raviole/nfc/manifest_se.xml
# Vibrator HAL
@@ -238,6 +238,13 @@
persist.bluetooth.le_audio_test=false
endif
+# declare use of spatial audio
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.audio.spatializer_enabled=true
+
+PRODUCT_PACKAGES += \
+ libspatialaudio
+
# Device features
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml
diff --git a/device-raven.mk b/device-raven.mk
index 03a928d..28c0ef8 100644
--- a/device-raven.mk
+++ b/device-raven.mk
@@ -41,7 +41,6 @@
endif
ifeq ($(filter factory_raven, $(TARGET_PRODUCT)),)
-include device/google/gs101/uwb/uwb.mk
include device/google/raviole/uwb/uwb_calibration.mk
endif
@@ -76,7 +75,8 @@
# Bluetooth
PRODUCT_PRODUCT_PROPERTIES += \
- persist.bluetooth.a2dp_aac.vbr_supported=true
+ persist.bluetooth.a2dp_aac.vbr_supported=true \
+ persist.bluetooth.firmware.selection=BCM.hcd
# Bluetooth Tx power caps for raven
PRODUCT_COPY_FILES += \
@@ -132,7 +132,7 @@
PRODUCT_PACKAGES += \
NfcNci \
Tag \
- android.hardware.nfc@1.2-service.st
+ android.hardware.nfc-service.st
# SecureElement
PRODUCT_PACKAGES += \
@@ -146,7 +146,6 @@
device/google/raviole/nfc/libse-gto-hal2.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal2.conf
DEVICE_MANIFEST_FILE += \
- device/google/raviole/nfc/manifest_nfc.xml \
device/google/raviole/nfc/manifest_se.xml
@@ -252,6 +251,13 @@
persist.bluetooth.le_audio_test=false
endif
+# declare use of spatial audio
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.audio.spatializer_enabled=true
+
+PRODUCT_PACKAGES += \
+ libspatialaudio
+
# Device features
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml
diff --git a/device-slider.mk b/device-slider.mk
index bba1e52..a1662de 100644
--- a/device-slider.mk
+++ b/device-slider.mk
@@ -84,7 +84,7 @@
PRODUCT_PACKAGES += \
NfcNci \
Tag \
- android.hardware.nfc@1.2-service.st
+ android.hardware.nfc-service.st
# SecureElement
PRODUCT_PACKAGES += \
@@ -97,7 +97,6 @@
device/google/raviole/nfc/libse-gto-hal2.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal2.conf
DEVICE_MANIFEST_FILE += \
- device/google/raviole/nfc/manifest_nfc.xml \
device/google/raviole/nfc/manifest_se.xml
# PowerStats HAL
diff --git a/device-whitefin.mk b/device-whitefin.mk
index 6378046..df3ce52 100644
--- a/device-whitefin.mk
+++ b/device-whitefin.mk
@@ -76,10 +76,7 @@
PRODUCT_PACKAGES += \
NfcNci \
Tag \
- android.hardware.nfc@1.2-service.st
-
-DEVICE_MANIFEST_FILE += \
- device/google/raviole/nfc/manifest_nfc.xml
+ android.hardware.nfc-service.st
# PowerStats HAL
PRODUCT_SOONG_NAMESPACES += device/google/raviole/powerstats/whitefin
diff --git a/init.insmod.oriole.cfg b/init.insmod.oriole.cfg
index 8d7ce06..6617a28 100644
--- a/init.insmod.oriole.cfg
+++ b/init.insmod.oriole.cfg
@@ -12,3 +12,5 @@
# All device specific modules loaded
setprop|vendor.device.modules.ready
+setprop|vendor.all.modules.ready
+setprop|vendor.all.devices.ready
diff --git a/init.insmod.raven.cfg b/init.insmod.raven.cfg
index cdbf3f7..d12fc88 100644
--- a/init.insmod.raven.cfg
+++ b/init.insmod.raven.cfg
@@ -11,3 +11,5 @@
# All device specific modules loaded
setprop|vendor.device.modules.ready
+setprop|vendor.all.modules.ready
+setprop|vendor.all.devices.ready
diff --git a/init.insmod.slider.cfg b/init.insmod.slider.cfg
index a877273..89014ba 100644
--- a/init.insmod.slider.cfg
+++ b/init.insmod.slider.cfg
@@ -19,3 +19,5 @@
# All device specific modules loaded
setprop|vendor.device.modules.ready
+setprop|vendor.all.modules.ready
+setprop|vendor.all.devices.ready
diff --git a/init.insmod.whitefin.cfg b/init.insmod.whitefin.cfg
index aa49c61..e8f3444 100644
--- a/init.insmod.whitefin.cfg
+++ b/init.insmod.whitefin.cfg
@@ -13,3 +13,5 @@
# All device specific modules loaded
setprop|vendor.device.modules.ready
+setprop|vendor.all.modules.ready
+setprop|vendor.all.devices.ready
diff --git a/nfc/libnfc-hal-st-debug.conf b/nfc/libnfc-hal-st-debug.conf
index 5fdaf5e..3b3e1ee 100644
--- a/nfc/libnfc-hal-st-debug.conf
+++ b/nfc/libnfc-hal-st-debug.conf
@@ -60,8 +60,8 @@
NCI_HAL_MODULE="nfc_nci.st21nfc"
###############################################################################
-# White list to be set at startup.
-DEVICE_HOST_WHITE_LIST={02:C0}
+# Allow list to be set at startup.
+DEVICE_HOST_ALLOW_LIST={02:C0}
###############################################################################
# BAIL OUT value for P2P
diff --git a/nfc/libnfc-hal-st-disable.conf b/nfc/libnfc-hal-st-disable.conf
index 2b455df..165665e 100644
--- a/nfc/libnfc-hal-st-disable.conf
+++ b/nfc/libnfc-hal-st-disable.conf
@@ -64,8 +64,8 @@
NCI_HAL_MODULE="nfc_nci.st21nfc"
###############################################################################
-# White list to be set at startup.
-DEVICE_HOST_WHITE_LIST={02:C0}
+# Allow list to be set at startup.
+DEVICE_HOST_ALLOW_LIST={02:C0}
###############################################################################
# BAIL OUT value for P2P
diff --git a/nfc/libnfc-hal-st.conf b/nfc/libnfc-hal-st.conf
index 0035a70..b7599c7 100644
--- a/nfc/libnfc-hal-st.conf
+++ b/nfc/libnfc-hal-st.conf
@@ -60,8 +60,8 @@
NCI_HAL_MODULE="nfc_nci.st21nfc"
###############################################################################
-# White list to be set at startup.
-DEVICE_HOST_WHITE_LIST={02:C0}
+# Allow list to be set at startup.
+DEVICE_HOST_ALLOW_LIST={02:C0}
###############################################################################
# BAIL OUT value for P2P
diff --git a/oriole/BoardConfig.mk b/oriole/BoardConfig.mk
index 1292d4a..dc1db0c 100644
--- a/oriole/BoardConfig.mk
+++ b/oriole/BoardConfig.mk
@@ -16,13 +16,15 @@
ifdef PHONE_CAR_BOARD_PRODUCT
include device/google_car/$(PHONE_CAR_BOARD_PRODUCT)/BoardConfig.mk
else
- TARGET_BOARD_INFO_FILE := device/google/raviole/board-info.txt
- TARGET_BOOTLOADER_BOARD_NAME := oriole
TARGET_SCREEN_DENSITY := 420
- USES_DEVICE_GOOGLE_RAVIOLE := true
-
- include device/google/gs101/BoardConfig-common.mk
- include device/google/gs101/wifi/BoardConfig-wifi.mk
- -include vendor/google_devices/gs101/prebuilts/BoardConfigVendor.mk
- -include vendor/google_devices/oriole/proprietary/BoardConfigVendor.mk
endif
+
+TARGET_BOARD_INFO_FILE := device/google/raviole/board-info.txt
+TARGET_BOOTLOADER_BOARD_NAME := oriole
+USES_DEVICE_GOOGLE_RAVIOLE := true
+BOARD_KERNEL_CMDLINE += disable_dma32=on
+
+include device/google/gs101/BoardConfig-common.mk
+include device/google/gs101/wifi/BoardConfig-wifi.mk
+-include vendor/google_devices/gs101/prebuilts/BoardConfigVendor.mk
+-include vendor/google_devices/oriole/proprietary/BoardConfigVendor.mk
diff --git a/oriole/overlay/frameworks/base/core/res/res/values/config.xml b/oriole/overlay/frameworks/base/core/res/res/values/config.xml
index ad976ac..dcb4e39 100644
--- a/oriole/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/oriole/overlay/frameworks/base/core/res/res/values/config.xml
@@ -173,7 +173,7 @@
when adapting to brighter or darker environments. This parameter controls how quickly
brightness changes occur in response to an observed change in light level that exceeds the
hysteresis threshold. -->
- <integer name="config_autoBrightnessBrighteningLightDebounce">2000</integer>
+ <integer name="config_autoBrightnessBrighteningLightDebounce">1000</integer>
<integer name="config_autoBrightnessDarkeningLightDebounce">4000</integer>
<!-- Type of the udfps long press sensor. Empty if long press is not supported. -->
@@ -232,73 +232,94 @@
<!-- the number of the max cached processes in the system. -->
<integer name="config_customizedMaxCachedProcesses">64</integer>
- <integer-array name="config_ambientThresholdLevels">
- <item>1</item>
- <item>2</item>
- <item>3</item>
- <item>4</item>
- <item>5</item>
- <item>6</item>
- <item>7</item>
- <item>8</item>
- <item>9</item>
- <item>10</item>
- <item>20</item>
- <item>30</item>
- <item>40</item>
- <item>50</item>
- <item>60</item>
- <item>70</item>
- <item>80</item>
- <item>90</item>
- <item>100</item>
- </integer-array>
+<integer-array name="config_ambientThresholdLevels">
+ <item>2</item>
+ <item>3</item>
+ <item>4</item>
+ <item>5</item>
+ <item>6</item>
+ <item>7</item>
+ <item>8</item>
+ <item>9</item>
+ <item>10</item>
+ <item>20</item>
+ <item>30</item>
+ <item>40</item>
+ <item>50</item>
+ <item>60</item>
+ <item>70</item>
+ <item>80</item>
+ <item>90</item>
+ <item>100</item>
+ <item>200</item>
+ <item>300</item>
+ <item>400</item>
+ <item>500</item>
+ <item>1000</item>
+ <item>2000</item>
+ <item>3000</item>
+ <item>4000</item>
+</integer-array>
- <integer-array name="config_ambientBrighteningThresholds">
- <item>11373</item>
- <item>5000</item>
- <item>4333</item>
- <item>3666</item>
- <item>3000</item>
- <item>2760</item>
- <item>2520</item>
- <item>2280</item>
- <item>2040</item>
- <item>1800</item>
- <item>800</item>
- <item>527</item>
- <item>500</item>
- <item>470</item>
- <item>396</item>
- <item>322</item>
- <item>248</item>
- <item>174</item>
- <item>99</item>
- <item>99</item>
- </integer-array>
+<integer-array name="config_ambientBrighteningThresholds">
+ <item>5186</item>
+ <item>4333</item>
+ <item>3666</item>
+ <item>2999</item>
+ <item>2759</item>
+ <item>2519</item>
+ <item>2279</item>
+ <item>2039</item>
+ <item>1799</item>
+ <item>799</item>
+ <item>527</item>
+ <item>499</item>
+ <item>470</item>
+ <item>517</item>
+ <item>565</item>
+ <item>612</item>
+ <item>660</item>
+ <item>708</item>
+ <item>742</item>
+ <item>636</item>
+ <item>582</item>
+ <item>549</item>
+ <item>369</item>
+ <item>294</item>
+ <item>269</item>
+ <item>220</item>
+ <item>220</item>
+</integer-array>
- <integer-array name="config_ambientDarkeningThresholds">
- <item>853</item>
- <item>700</item>
- <item>683</item>
- <item>666</item>
- <item>650</item>
- <item>640</item>
- <item>630</item>
- <item>620</item>
- <item>610</item>
- <item>600</item>
- <item>500</item>
- <item>500</item>
- <item>440</item>
- <item>385</item>
- <item>348</item>
- <item>311</item>
- <item>274</item>
- <item>237</item>
- <item>200</item>
- <item>200</item>
- </integer-array>
+<integer-array name="config_ambientDarkeningThresholds">
+ <item>525</item>
+ <item>683</item>
+ <item>666</item>
+ <item>650</item>
+ <item>640</item>
+ <item>630</item>
+ <item>620</item>
+ <item>610</item>
+ <item>600</item>
+ <item>500</item>
+ <item>500</item>
+ <item>440</item>
+ <item>385</item>
+ <item>382</item>
+ <item>379</item>
+ <item>376</item>
+ <item>373</item>
+ <item>371</item>
+ <item>367</item>
+ <item>387</item>
+ <item>397</item>
+ <item>403</item>
+ <item>380</item>
+ <item>345</item>
+ <item>333</item>
+ <item>283</item>
+ <item>283</item>
+</integer-array>
<!-- Boolean indicating if restoring network selection should be skipped -->
<!-- The restoring is handled by modem if it is true -->
diff --git a/oriole/overlay/frameworks/base/core/res/res/xml/power_profile.xml b/oriole/overlay/frameworks/base/core/res/res/xml/power_profile.xml
index c4e23c2..e878d40 100644
--- a/oriole/overlay/frameworks/base/core/res/res/xml/power_profile.xml
+++ b/oriole/overlay/frameworks/base/core/res/res/xml/power_profile.xml
@@ -170,15 +170,15 @@
<item name="audio">75</item>
<!-- Cellular modem related values.-->
- <item name="modem.controller.sleep">0</item>
- <item name="modem.controller.idle">156</item>
- <item name="modem.controller.rx">145</item>
+ <item name="modem.controller.sleep">2</item>
+ <item name="modem.controller.idle">3.5</item>
+ <item name="modem.controller.rx">198</item>
<array name="modem.controller.tx"> <!-- Strength 0 to 4 -->
- <value>153</value>
- <value>212</value>
- <value>292</value>
- <value>359</value>
- <value>471</value>
+ <value>223</value>
+ <value>243</value>
+ <value>298</value>
+ <value>573</value>
+ <value>668</value>
</array>
<item name="modem.controller.voltage">3700</item>
diff --git a/oriole/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml b/oriole/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml
index 61f284d..2e0c18b 100644
--- a/oriole/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml
+++ b/oriole/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml
@@ -52,5 +52,8 @@
<!-- Alpha in duration in ms for the auth ripple to become fully vislble. If set to 0, it is immediately visible. -->
<integer name="auth_ripple_alpha_in_duration">0</integer>
+
+ <!-- Offset should not be more than 1mm -->
+ <dimen name="udfps_burn_in_offset_y">16px</dimen>
</resources>
diff --git a/powerhint-oriole.json b/powerhint-oriole.json
index a6934b2..52b054f 100644
--- a/powerhint-oriole.json
+++ b/powerhint-oriole.json
@@ -144,7 +144,6 @@
"Path": "/proc/vendor_sched/ta_uclamp_min",
"Values": [
"553",
- "185",
"1",
"55"
],
@@ -1303,58 +1302,6 @@
"Value": "1"
},
{
- "PowerHint": "ADPF_DISABLE_TA_BOOST",
- "Type": "MaskHint",
- "Value": "BOOST_DISPLAY"
- },
- {
- "PowerHint": "ADPF_DISABLE_TA_BOOST",
- "Type": "EndHint",
- "Value": "BOOST_90HZ"
- },
- {
- "PowerHint": "ADPF_DISABLE_TA_BOOST",
- "Type": "EndHint",
- "Value": "BOOST_60HZ"
- },
- {
- "PowerHint": "BOOST_DISPLAY",
- "Type": "DoHint",
- "Value": "BOOST_90HZ"
- },
- {
- "PowerHint": "BOOST_DISPLAY",
- "Type": "DoHint",
- "Value": "BOOST_60HZ"
- },
- {
- "PowerHint": "INTERACTION",
- "Type": "DoHint",
- "Value": "BOOST_DISPLAY"
- },
- {
- "PowerHint": "BOOST_90HZ",
- "Node": "TAUClampBoost",
- "Duration": 200,
- "Value": "185"
- },
- {
- "PowerHint": "BOOST_60HZ",
- "Node": "TAUClampBoost",
- "Duration": 200,
- "Value": "185"
- },
- {
- "PowerHint": "REFRESH_90FPS",
- "Type": "MaskHint",
- "Value": "BOOST_60HZ"
- },
- {
- "PowerHint": "REFRESH_60FPS",
- "Type": "MaskHint",
- "Value": "BOOST_90HZ"
- },
- {
"PowerHint": "DISPLAY_IDLE",
"Node": "FGPreferIdle",
"Duration": 0,
@@ -1374,16 +1321,6 @@
{
"PowerHint": "DISPLAY_IDLE",
"Type": "EndHint",
- "Value": "BOOST_90HZ"
- },
- {
- "PowerHint": "DISPLAY_IDLE",
- "Type": "EndHint",
- "Value": "BOOST_60HZ"
- },
- {
- "PowerHint": "DISPLAY_IDLE",
- "Type": "EndHint",
"Value": "DISPLAY_UPDATE_IMMINENT"
},
{
diff --git a/powerhint-raven.json b/powerhint-raven.json
index 3b9b980..c06d670 100644
--- a/powerhint-raven.json
+++ b/powerhint-raven.json
@@ -143,7 +143,6 @@
"Path": "/proc/vendor_sched/ta_uclamp_min",
"Values": [
"553",
- "185",
"1",
"55"
],
@@ -1300,58 +1299,6 @@
"Value": "1"
},
{
- "PowerHint": "ADPF_DISABLE_TA_BOOST",
- "Type": "MaskHint",
- "Value": "BOOST_DISPLAY"
- },
- {
- "PowerHint": "ADPF_DISABLE_TA_BOOST",
- "Type": "EndHint",
- "Value": "BOOST_120HZ"
- },
- {
- "PowerHint": "ADPF_DISABLE_TA_BOOST",
- "Type": "EndHint",
- "Value": "BOOST_60HZ"
- },
- {
- "PowerHint": "BOOST_DISPLAY",
- "Type": "DoHint",
- "Value": "BOOST_120HZ"
- },
- {
- "PowerHint": "BOOST_DISPLAY",
- "Type": "DoHint",
- "Value": "BOOST_60HZ"
- },
- {
- "PowerHint": "INTERACTION",
- "Type": "DoHint",
- "Value": "BOOST_DISPLAY"
- },
- {
- "PowerHint": "BOOST_120HZ",
- "Node": "TAUClampBoost",
- "Duration": 200,
- "Value": "185"
- },
- {
- "PowerHint": "BOOST_60HZ",
- "Node": "TAUClampBoost",
- "Duration": 200,
- "Value": "185"
- },
- {
- "PowerHint": "REFRESH_120FPS",
- "Type": "MaskHint",
- "Value": "BOOST_60HZ"
- },
- {
- "PowerHint": "REFRESH_60FPS",
- "Type": "MaskHint",
- "Value": "BOOST_120HZ"
- },
- {
"PowerHint": "DISPLAY_IDLE",
"Node": "FGPreferIdle",
"Duration": 0,
@@ -1371,16 +1318,6 @@
{
"PowerHint": "DISPLAY_IDLE",
"Type": "EndHint",
- "Value": "BOOST_120HZ"
- },
- {
- "PowerHint": "DISPLAY_IDLE",
- "Type": "EndHint",
- "Value": "BOOST_60HZ"
- },
- {
- "PowerHint": "DISPLAY_IDLE",
- "Type": "EndHint",
"Value": "DISPLAY_UPDATE_IMMINENT"
},
{
diff --git a/powerhint-slider.json b/powerhint-slider.json
index 1e2df3f..26af88f 100644
--- a/powerhint-slider.json
+++ b/powerhint-slider.json
@@ -143,12 +143,7 @@
"Path": "/proc/vendor_sched/ta_uclamp_min",
"Values": [
"553",
- "185",
- "129",
- "56",
"1",
- "183",
- "128",
"55"
],
"ResetOnInit": true
@@ -1247,94 +1242,6 @@
"Value": "1"
},
{
- "PowerHint": "ADPF_DISABLE_TA_BOOST",
- "Type": "MaskHint",
- "Value": "BOOST_DISPLAY"
- },
- {
- "PowerHint": "ADPF_DISABLE_TA_BOOST",
- "Type": "EndHint",
- "Value": "BOOST_120HZ"
- },
- {
- "PowerHint": "ADPF_DISABLE_TA_BOOST",
- "Type": "EndHint",
- "Value": "BOOST_90HZ"
- },
- {
- "PowerHint": "ADPF_DISABLE_TA_BOOST",
- "Type": "EndHint",
- "Value": "BOOST_60HZ"
- },
- {
- "PowerHint": "BOOST_DISPLAY",
- "Type": "DoHint",
- "Value": "BOOST_120HZ"
- },
- {
- "PowerHint": "BOOST_DISPLAY",
- "Type": "DoHint",
- "Value": "BOOST_90HZ"
- },
- {
- "PowerHint": "BOOST_DISPLAY",
- "Type": "DoHint",
- "Value": "BOOST_60HZ"
- },
- {
- "PowerHint": "INTERACTION",
- "Type": "DoHint",
- "Value": "BOOST_DISPLAY"
- },
- {
- "PowerHint": "BOOST_120HZ",
- "Node": "TAUClampBoost",
- "Duration": 200,
- "Value": "185"
- },
- {
- "PowerHint": "BOOST_90HZ",
- "Node": "TAUClampBoost",
- "Duration": 200,
- "Value": "129"
- },
- {
- "PowerHint": "BOOST_60HZ",
- "Node": "TAUClampBoost",
- "Duration": 200,
- "Value": "129"
- },
- {
- "PowerHint": "REFRESH_120FPS",
- "Type": "MaskHint",
- "Value": "BOOST_60HZ"
- },
- {
- "PowerHint": "REFRESH_120FPS",
- "Type": "MaskHint",
- "Value": "BOOST_90HZ"
- },
- {
- "PowerHint": "REFRESH_90FPS",
- "Type": "MaskHint",
- "Value": "BOOST_60HZ"
- },
- {
- "PowerHint": "REFRESH_90FPS",
- "Type": "MaskHint",
- "Value": "BOOST_120HZ"
- },
- {
- "PowerHint": "REFRESH_60FPS",
- "Type": "MaskHint",
- "Value": "BOOST_90HZ"
- },
- {
- "PowerHint": "REFRESH_60FPS",
- "Type": "MaskHint",
- "Value": "BOOST_120HZ"
- },
- {
"PowerHint": "DISPLAY_IDLE",
"Node": "FGPreferIdle",
"Duration": 0,
@@ -1354,21 +1261,6 @@
{
"PowerHint": "DISPLAY_IDLE",
"Type": "EndHint",
- "Value": "BOOST_120HZ"
- },
- {
- "PowerHint": "DISPLAY_IDLE",
- "Type": "EndHint",
- "Value": "BOOST_90HZ"
- },
- {
- "PowerHint": "DISPLAY_IDLE",
- "Type": "EndHint",
- "Value": "BOOST_60HZ"
- },
- {
- "PowerHint": "DISPLAY_IDLE",
- "Type": "EndHint",
"Value": "DISPLAY_UPDATE_IMMINENT"
},
{
@@ -1378,11 +1270,6 @@
"Value": "1"
},
{
- "PowerHint": "DISPLAY_UPDATE_IMMINENT",
- "Type": "DoHint",
- "Value": "BOOST_DISPLAY"
- },
- {
"PowerHint": "THERMAL_FLASH_LED_REDUCE_CRITICAL",
"Node": "LimitFlashCurrent",
"Duration": 0,
diff --git a/powerhint-whitefin.json b/powerhint-whitefin.json
index a590283..3b10212 100644
--- a/powerhint-whitefin.json
+++ b/powerhint-whitefin.json
@@ -143,12 +143,7 @@
"Path": "/proc/vendor_sched/ta_uclamp_min",
"Values": [
"553",
- "185",
- "129",
- "56",
"1",
- "183",
- "128",
"55"
],
"ResetOnInit": true
@@ -1232,94 +1227,6 @@
"Value": "1"
},
{
- "PowerHint": "ADPF_DISABLE_TA_BOOST",
- "Type": "MaskHint",
- "Value": "BOOST_DISPLAY"
- },
- {
- "PowerHint": "ADPF_DISABLE_TA_BOOST",
- "Type": "EndHint",
- "Value": "BOOST_120HZ"
- },
- {
- "PowerHint": "ADPF_DISABLE_TA_BOOST",
- "Type": "EndHint",
- "Value": "BOOST_90HZ"
- },
- {
- "PowerHint": "ADPF_DISABLE_TA_BOOST",
- "Type": "EndHint",
- "Value": "BOOST_60HZ"
- },
- {
- "PowerHint": "BOOST_DISPLAY",
- "Type": "DoHint",
- "Value": "BOOST_120HZ"
- },
- {
- "PowerHint": "BOOST_DISPLAY",
- "Type": "DoHint",
- "Value": "BOOST_90HZ"
- },
- {
- "PowerHint": "BOOST_DISPLAY",
- "Type": "DoHint",
- "Value": "BOOST_60HZ"
- },
- {
- "PowerHint": "INTERACTION",
- "Type": "DoHint",
- "Value": "BOOST_DISPLAY"
- },
- {
- "PowerHint": "BOOST_120HZ",
- "Node": "TAUClampBoost",
- "Duration": 200,
- "Value": "185"
- },
- {
- "PowerHint": "BOOST_90HZ",
- "Node": "TAUClampBoost",
- "Duration": 200,
- "Value": "129"
- },
- {
- "PowerHint": "BOOST_60HZ",
- "Node": "TAUClampBoost",
- "Duration": 200,
- "Value": "129"
- },
- {
- "PowerHint": "REFRESH_120FPS",
- "Type": "MaskHint",
- "Value": "BOOST_60HZ"
- },
- {
- "PowerHint": "REFRESH_120FPS",
- "Type": "MaskHint",
- "Value": "BOOST_90HZ"
- },
- {
- "PowerHint": "REFRESH_90FPS",
- "Type": "MaskHint",
- "Value": "BOOST_60HZ"
- },
- {
- "PowerHint": "REFRESH_90FPS",
- "Type": "MaskHint",
- "Value": "BOOST_120HZ"
- },
- {
- "PowerHint": "REFRESH_60FPS",
- "Type": "MaskHint",
- "Value": "BOOST_90HZ"
- },
- {
- "PowerHint": "REFRESH_60FPS",
- "Type": "MaskHint",
- "Value": "BOOST_120HZ"
- },
- {
"PowerHint": "DISPLAY_IDLE",
"Node": "FGPreferIdle",
"Duration": 0,
@@ -1339,21 +1246,6 @@
{
"PowerHint": "DISPLAY_IDLE",
"Type": "EndHint",
- "Value": "BOOST_120HZ"
- },
- {
- "PowerHint": "DISPLAY_IDLE",
- "Type": "EndHint",
- "Value": "BOOST_90HZ"
- },
- {
- "PowerHint": "DISPLAY_IDLE",
- "Type": "EndHint",
- "Value": "BOOST_60HZ"
- },
- {
- "PowerHint": "DISPLAY_IDLE",
- "Type": "EndHint",
"Value": "DISPLAY_UPDATE_IMMINENT"
},
{
@@ -1363,11 +1255,6 @@
"Value": "1"
},
{
- "PowerHint": "DISPLAY_UPDATE_IMMINENT",
- "Type": "DoHint",
- "Value": "BOOST_DISPLAY"
- },
- {
"PowerHint": "THERMAL_FLASH_LED_REDUCE_CRITICAL",
"Node": "LimitFlashCurrent",
"Duration": 0,
diff --git a/raven/BoardConfig.mk b/raven/BoardConfig.mk
index 2b67f76..b78d5b4 100644
--- a/raven/BoardConfig.mk
+++ b/raven/BoardConfig.mk
@@ -17,13 +17,15 @@
ifdef PHONE_CAR_BOARD_PRODUCT
include device/google_car/$(PHONE_CAR_BOARD_PRODUCT)/BoardConfig.mk
else
- TARGET_BOARD_INFO_FILE := device/google/raviole/board-info.txt
- TARGET_BOOTLOADER_BOARD_NAME := raven
TARGET_SCREEN_DENSITY := 560
- USES_DEVICE_GOOGLE_RAVIOLE := true
-
- include device/google/gs101/BoardConfig-common.mk
- include device/google/gs101/wifi/BoardConfig-wifi.mk
- -include vendor/google_devices/gs101/prebuilts/BoardConfigVendor.mk
- -include vendor/google_devices/raven/proprietary/BoardConfigVendor.mk
endif
+
+TARGET_BOARD_INFO_FILE := device/google/raviole/board-info.txt
+TARGET_BOOTLOADER_BOARD_NAME := raven
+USES_DEVICE_GOOGLE_RAVIOLE := true
+BOARD_KERNEL_CMDLINE += disable_dma32=on
+
+include device/google/gs101/BoardConfig-common.mk
+include device/google/gs101/wifi/BoardConfig-wifi.mk
+-include vendor/google_devices/gs101/prebuilts/BoardConfigVendor.mk
+-include vendor/google_devices/raven/proprietary/BoardConfigVendor.mk
diff --git a/raven/overlay/frameworks/base/core/res/res/values/config.xml b/raven/overlay/frameworks/base/core/res/res/values/config.xml
index e945ffd..9a49278 100644
--- a/raven/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/raven/overlay/frameworks/base/core/res/res/values/config.xml
@@ -175,7 +175,7 @@
when adapting to brighter or darker environments. This parameter controls how quickly
brightness changes occur in response to an observed change in light level that exceeds the
hysteresis threshold. -->
- <integer name="config_autoBrightnessBrighteningLightDebounce">2000</integer>
+ <integer name="config_autoBrightnessBrighteningLightDebounce">1000</integer>
<integer name="config_autoBrightnessDarkeningLightDebounce">4000</integer>
<!-- MMS user agent string -->
@@ -208,73 +208,94 @@
<!-- the number of the max cached processes in the system. -->
<integer name="config_customizedMaxCachedProcesses">64</integer>
- <integer-array name="config_ambientThresholdLevels">
- <item>1</item>
- <item>2</item>
- <item>3</item>
- <item>4</item>
- <item>5</item>
- <item>6</item>
- <item>7</item>
- <item>8</item>
- <item>9</item>
- <item>10</item>
- <item>20</item>
- <item>30</item>
- <item>40</item>
- <item>50</item>
- <item>60</item>
- <item>70</item>
- <item>80</item>
- <item>90</item>
- <item>100</item>
- </integer-array>
+<integer-array name="config_ambientThresholdLevels">
+ <item>2</item>
+ <item>3</item>
+ <item>4</item>
+ <item>5</item>
+ <item>6</item>
+ <item>7</item>
+ <item>8</item>
+ <item>9</item>
+ <item>10</item>
+ <item>20</item>
+ <item>30</item>
+ <item>40</item>
+ <item>50</item>
+ <item>60</item>
+ <item>70</item>
+ <item>80</item>
+ <item>90</item>
+ <item>100</item>
+ <item>200</item>
+ <item>300</item>
+ <item>400</item>
+ <item>500</item>
+ <item>1000</item>
+ <item>2000</item>
+ <item>3000</item>
+ <item>4000</item>
+</integer-array>
- <integer-array name="config_ambientBrighteningThresholds">
- <item>11373</item>
- <item>5000</item>
- <item>4333</item>
- <item>3666</item>
- <item>3000</item>
- <item>2760</item>
- <item>2520</item>
- <item>2280</item>
- <item>2040</item>
- <item>1800</item>
- <item>800</item>
- <item>527</item>
- <item>500</item>
- <item>470</item>
- <item>396</item>
- <item>322</item>
- <item>248</item>
- <item>174</item>
- <item>99</item>
- <item>99</item>
- </integer-array>
+<integer-array name="config_ambientBrighteningThresholds">
+ <item>5186</item>
+ <item>4333</item>
+ <item>3666</item>
+ <item>2999</item>
+ <item>2759</item>
+ <item>2519</item>
+ <item>2279</item>
+ <item>2039</item>
+ <item>1799</item>
+ <item>799</item>
+ <item>527</item>
+ <item>499</item>
+ <item>470</item>
+ <item>517</item>
+ <item>565</item>
+ <item>612</item>
+ <item>660</item>
+ <item>708</item>
+ <item>742</item>
+ <item>636</item>
+ <item>582</item>
+ <item>549</item>
+ <item>369</item>
+ <item>294</item>
+ <item>269</item>
+ <item>220</item>
+ <item>220</item>
+</integer-array>
- <integer-array name="config_ambientDarkeningThresholds">
- <item>853</item>
- <item>700</item>
- <item>683</item>
- <item>666</item>
- <item>650</item>
- <item>640</item>
- <item>630</item>
- <item>620</item>
- <item>610</item>
- <item>600</item>
- <item>500</item>
- <item>500</item>
- <item>440</item>
- <item>385</item>
- <item>348</item>
- <item>311</item>
- <item>274</item>
- <item>237</item>
- <item>200</item>
- <item>200</item>
- </integer-array>
+<integer-array name="config_ambientDarkeningThresholds">
+ <item>525</item>
+ <item>683</item>
+ <item>666</item>
+ <item>650</item>
+ <item>640</item>
+ <item>630</item>
+ <item>620</item>
+ <item>610</item>
+ <item>600</item>
+ <item>500</item>
+ <item>500</item>
+ <item>440</item>
+ <item>385</item>
+ <item>382</item>
+ <item>379</item>
+ <item>376</item>
+ <item>373</item>
+ <item>371</item>
+ <item>367</item>
+ <item>387</item>
+ <item>397</item>
+ <item>403</item>
+ <item>380</item>
+ <item>345</item>
+ <item>333</item>
+ <item>283</item>
+ <item>283</item>
+</integer-array>
<!-- Boolean indicating if restoring network selection should be skipped -->
<!-- The restoring is handled by modem if it is true -->
diff --git a/raven/overlay/frameworks/base/core/res/res/xml/power_profile.xml b/raven/overlay/frameworks/base/core/res/res/xml/power_profile.xml
index 1937c0d..bdf30a8 100644
--- a/raven/overlay/frameworks/base/core/res/res/xml/power_profile.xml
+++ b/raven/overlay/frameworks/base/core/res/res/xml/power_profile.xml
@@ -170,15 +170,15 @@
<item name="audio">75</item>
<!-- Cellular modem related values.-->
- <item name="modem.controller.sleep">0</item>
- <item name="modem.controller.idle">156</item>
- <item name="modem.controller.rx">145</item>
+ <item name="modem.controller.sleep">2</item>
+ <item name="modem.controller.idle">3.5</item>
+ <item name="modem.controller.rx">198</item>
<array name="modem.controller.tx"> <!-- Strength 0 to 4 -->
- <value>153</value>
- <value>212</value>
- <value>292</value>
- <value>359</value>
- <value>471</value>
+ <value>223</value>
+ <value>243</value>
+ <value>298</value>
+ <value>573</value>
+ <value>668</value>
</array>
<item name="modem.controller.voltage">3700</item>
diff --git a/uwb/init.uwb.calib.xtal.sh b/uwb/init.uwb.calib.xtal.sh
new file mode 100644
index 0000000..1fcb876
--- /dev/null
+++ b/uwb/init.uwb.calib.xtal.sh
@@ -0,0 +1,26 @@
+#!/vendor/bin/sh
+# only use xtal_trim from factory calibration
+if [ -z "$2" ]
+then
+ echo "usage is $0 input-calibration output_calibration"
+ exit 0
+fi
+OUTPUT_CALIB="$2"
+if [ ! -f "$OUTPUT_CALIB" ]; then
+ touch $OUTPUT_CALIB
+ chmod 0644 $OUTPUT_CALIB
+ file="$1"
+ while IFS=, read -r f1 f2
+ do
+ case $f1 in
+ "UWB_cal_tx_xtal_reg_final_value")
+ if [ $((0x$f2)) -gt 63 ]; then
+ f2=63
+ fi
+ echo 'xtal_trim=0x'$f2 >> $OUTPUT_CALIB
+ ;;
+ esac
+ done <"$file"
+ exit 0
+fi
+
diff --git a/uwb/uwb_calibration.mk b/uwb/uwb_calibration.mk
index e29bea2..2661ad1 100644
--- a/uwb/uwb_calibration.mk
+++ b/uwb/uwb_calibration.mk
@@ -13,9 +13,16 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+# UWB - ultra wide band
+$(call inherit-product-if-exists, vendor/qorvo/uwb/uwb.mk)
+
LOCAL_UWB_CAL_DIR=device/google/raviole/uwb
PRODUCT_COPY_FILES += \
$(LOCAL_UWB_CAL_DIR)/UWB-calibration.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration.conf \
$(LOCAL_UWB_CAL_DIR)/UWB-calibration.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-unknown.conf \
$(LOCAL_UWB_CAL_DIR)/UWB-calibration.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-default.conf \
+ $(LOCAL_UWB_CAL_DIR)/init.uwb.calib.xtal.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.uwb.calib.sh \
+
+PRODUCT_COPY_FILES += \
+ frameworks/native/data/etc/android.hardware.uwb.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.uwb.xml