diff --git a/audio/akita/aidl_config/Android.bp b/audio/akita/aidl_config/Android.bp
new file mode 100644
index 0000000..630183f
--- /dev/null
+++ b/audio/akita/aidl_config/Android.bp
@@ -0,0 +1,63 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+soong_namespace {
+ imports: [
+ "frameworks/av/services/audiopolicy/config",
+ ],
+}
+
+package {
+ default_applicable_licenses: [
+ "Android-Apache-2.0",
+ ],
+}
+
+prebuilt_etc {
+ name: "audio_policy_volumes.xml",
+ src: "audio_policy_volumes.xml",
+ soc_specific: true,
+}
+
+prebuilt_etc {
+ name: "imported_default_volume_tables.xml",
+ src: "//frameworks/av/services/audiopolicy/config:default_volume_tables.xml",
+ soc_specific: true,
+ filename_from_src: true,
+}
+
+prebuilt_etc {
+ name: "audio_platform_configuration.xml",
+ src: "audio_platform_configuration.xml",
+ soc_specific: true,
+ required: [
+ "audio_policy_volumes.xml",
+ "imported_default_volume_tables.xml",
+ ],
+}
+
+prebuilt_etc {
+ name: "mixer_paths_aidl.xml",
+ src: "mixer_paths_aidl.xml",
+ soc_specific: true,
+}
+
+phony {
+ name: "audio_aidl_configs",
+ soc_specific: true,
+ required: [
+ "audio_platform_configuration.xml",
+ "mixer_paths_aidl.xml",
+ ],
+}
diff --git a/audio/akita/aidl_config/audio_platform_configuration.xml b/audio/akita/aidl_config/audio_platform_configuration.xml
new file mode 100644
index 0000000..f864b87
--- /dev/null
+++ b/audio/akita/aidl_config/audio_platform_configuration.xml
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.01
+ 0.02
+ 0.04
+ 0.10
+ 0.21
+ 0.47
+ 1.00
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MIC
+ CAMCORDER
+
+
+ MIC
+ CAMCORDER
+
+
+
+
+
+
diff --git a/audio/akita/aidl_config/audio_policy_volumes.xml b/audio/akita/aidl_config/audio_policy_volumes.xml
new file mode 100644
index 0000000..8a138a0
--- /dev/null
+++ b/audio/akita/aidl_config/audio_policy_volumes.xml
@@ -0,0 +1,265 @@
+
+
+
+
+
+
+ 0,-4200
+ 33,-2800
+ 66,-1400
+ 100,0
+
+
+ 0,-2400
+ 33,-1600
+ 66,-800
+ 100,0
+
+
+ 0,-2400
+ 33,-1600
+ 66,-800
+ 100,0
+
+
+
+
+ 1,-3000
+ 33,-2600
+ 66,-2200
+ 100,-1800
+
+
+ 1,-5200
+ 13,-5000
+ 28,-4400
+ 56,-3380
+ 71,-3120
+ 85,-2750
+ 100,-2150
+
+
+
+
+
+
+ 1,-4935
+ 14,-3320
+ 28,-2960
+ 71,-1400
+ 100,0
+
+
+
+
+
+
+ 1,-6920
+ 4,-6920
+ 8,-6664
+ 12,-6374
+ 16,-6082
+ 20,-5759
+ 24,-5410
+ 28,-5038
+ 32,-4807
+ 36,-4577
+ 40,-4339
+ 44,-4132
+ 48,-3860
+ 52,-3569
+ 56,-3223
+ 60,-2823
+ 64,-2452
+ 68,-2078
+ 72,-1795
+ 76,-1561
+ 80,-1226
+ 84,-956
+ 88,-789
+ 92,-635
+ 96,-505
+ 100,0
+
+
+
+
+
+
+ 0,-5600
+ 14,-4670
+ 28,-3060
+ 71,-1050
+ 100,-100
+
+
+
+
+
+
+ 1,-6350
+ 14,-4300
+ 28,-3710
+ 66,-2100
+ 85,-1550
+ 100,-780
+
+
+
+
+
+ 0,-4200
+ 33,-2800
+ 66,-1400
+ 100,0
+
+
+ 0,-2400
+ 33,-1600
+ 66,-800
+ 100,0
+
+
+ 0,-4200
+ 33,-2800
+ 66,-1400
+ 100,0
+
+
+
+
+ 1,-3000
+ 33,-2600
+ 66,-2200
+ 100,-1800
+
+
+ 1,-5200
+ 13,-5000
+ 28,-4400
+ 56,-3380
+ 71,-3120
+ 85,-2750
+ 100,-2150
+
+
+
+
+
+ 1,-3000
+ 33,-2600
+ 66,-2200
+ 100,-1800
+
+
+ 1,-6600
+ 13,-6220
+ 28,-5500
+ 42,-4600
+ 57,-4250
+ 100,-2780
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/audio/akita/aidl_config/mixer_paths_aidl.xml b/audio/akita/aidl_config/mixer_paths_aidl.xml
new file mode 100644
index 0000000..8943c9e
--- /dev/null
+++ b/audio/akita/aidl_config/mixer_paths_aidl.xml
@@ -0,0 +1,1507 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/audio/akita/audio-tables.mk b/audio/akita/audio-tables.mk
index 65242e8..e18e4aa 100644
--- a/audio/akita/audio-tables.mk
+++ b/audio/akita/audio-tables.mk
@@ -16,6 +16,11 @@
AUDIO_TABLE_FOLDER := akita
+ifeq ($(USE_AUDIO_HAL_AIDL),true)
+PRODUCT_SOONG_NAMESPACES += device/google/akita/audio/$(AUDIO_TABLE_FOLDER)/aidl_config
+PRODUCT_PACKAGES += audio_aidl_configs
+
+else
# Platform Configuration for AudioHAL / SoundTriggerHAL
PRODUCT_COPY_FILES += \
device/google/akita/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_configuration_bluetooth_legacy_hal.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_bluetooth_legacy_hal.xml \
@@ -27,6 +32,8 @@ PRODUCT_COPY_FILES += \
device/google/akita/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
+endif
+
# AudioEffectHAL Configuration
PRODUCT_COPY_FILES += \
device/google/akita/audio/$(AUDIO_TABLE_FOLDER)/config/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml
@@ -76,3 +83,13 @@ PRODUCT_COPY_FILES += \
device/google/akita/audio/$(AUDIO_TABLE_FOLDER)/tuning/waves/tests/test_preset.mps:$(TARGET_COPY_OUT_VENDOR)/etc/test_preset.mps
endif
+
+ifeq ($(USE_AUDIO_HAL_AIDL),true)
+# Offload spatializer config
+PRODUCT_COPY_FILES += \
+ device/google/akita/audio/$(AUDIO_TABLE_FOLDER)/tuning/spatializer/base:$(TARGET_COPY_OUT_VENDOR)/etc/spatializer/base \
+ device/google/akita/audio/$(AUDIO_TABLE_FOLDER)/tuning/spatializer/mode_2_ch:$(TARGET_COPY_OUT_VENDOR)/etc/spatializer/mode_2_ch \
+ device/google/akita/audio/$(AUDIO_TABLE_FOLDER)/tuning/spatializer/mode_6_ch:$(TARGET_COPY_OUT_VENDOR)/etc/spatializer/mode_6_ch \
+ device/google/akita/audio/$(AUDIO_TABLE_FOLDER)/tuning/spatializer/mode_xaural:$(TARGET_COPY_OUT_VENDOR)/etc/spatializer/mode_xaural \
+
+endif
diff --git a/audio/akita/tuning/spatializer/base b/audio/akita/tuning/spatializer/base
new file mode 100644
index 0000000..38cc646
Binary files /dev/null and b/audio/akita/tuning/spatializer/base differ
diff --git a/audio/akita/tuning/spatializer/mode_2_ch b/audio/akita/tuning/spatializer/mode_2_ch
new file mode 100644
index 0000000..470c56c
Binary files /dev/null and b/audio/akita/tuning/spatializer/mode_2_ch differ
diff --git a/audio/akita/tuning/spatializer/mode_6_ch b/audio/akita/tuning/spatializer/mode_6_ch
new file mode 100644
index 0000000..94ec635
Binary files /dev/null and b/audio/akita/tuning/spatializer/mode_6_ch differ
diff --git a/audio/akita/tuning/spatializer/mode_xaural b/audio/akita/tuning/spatializer/mode_xaural
new file mode 100644
index 0000000..b3a3a96
Binary files /dev/null and b/audio/akita/tuning/spatializer/mode_xaural differ
diff --git a/device-akita.mk b/device-akita.mk
index 51502a8..585ab22 100644
--- a/device-akita.mk
+++ b/device-akita.mk
@@ -34,6 +34,10 @@ $(call inherit-product-if-exists, vendor/google_devices/akita/proprietary/Wallpa
DEVICE_PACKAGE_OVERLAYS += device/google/akita/akita/overlay
+ifeq ($(RELEASE_PIXEL_AIDL_AUDIO_HAL_ZUMA),true)
+USE_AUDIO_HAL_AIDL := true
+endif
+
include device/google/akita/audio/akita/audio-tables.mk
include device/google/zuma/device-shipping-common.mk
include hardware/google/pixel/vibrator/cs40l26/device.mk
@@ -260,6 +264,17 @@ endif
PRODUCT_PRODUCT_PROPERTIES += \
bluetooth.server.automatic_turn_on=true
+ifeq ($(USE_AUDIO_HAL_AIDL),true)
+# AIDL
+
+# declare use of stereo spatialization
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.audio.stereo_spatialization_enabled=true \
+ ro.audio.spatializer_enabled=true
+
+else
+# HIDL
+
# Spatial Audio
PRODUCT_PACKAGES += \
libspatialaudio \
@@ -270,6 +285,8 @@ PRODUCT_PACKAGES += \
android.hardware.audio.sounddose-vendor-impl \
audio_sounddose_aoc \
+endif
+
# Audio CCA property
PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.audio.cca.enabled=false