diff --git a/audio/oriole/audio-tables.mk b/audio/oriole/audio-tables.mk
index 7b41458..79fff6b 100644
--- a/audio/oriole/audio-tables.mk
+++ b/audio/oriole/audio-tables.mk
@@ -65,4 +65,10 @@ PRODUCT_COPY_FILES += \
# Mixer Path Configuration for Audio Speaker Calibration Tool crus_sp_cal
PRODUCT_COPY_FILES += \
device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/cs35l41/crus_sp_cal_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/crus_sp_cal_mixer_paths.xml
+
+# Waves ini/mps files for unit tests of halcontroller
+PRODUCT_COPY_FILES += \
+ device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/tuning/waves/tests/test_config.ini:$(TARGET_COPY_OUT_VENDOR)/etc/test_config.ini \
+ device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/tuning/waves/tests/test_preset.mps:$(TARGET_COPY_OUT_VENDOR)/etc/test_preset.mps
+
endif
diff --git a/audio/oriole/config/mixer_paths_factory.xml b/audio/oriole/config/mixer_paths_factory.xml
index 57633f5..3326db7 100644
--- a/audio/oriole/config/mixer_paths_factory.xml
+++ b/audio/oriole/config/mixer_paths_factory.xml
@@ -36,6 +36,14 @@
+
+
+
+
+
+
+
+
@@ -233,12 +241,13 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
@@ -300,9 +309,15 @@
+
+
+
+
+
+
diff --git a/audio/oriole/tuning/waves/tests/test_config.ini b/audio/oriole/tuning/waves/tests/test_config.ini
new file mode 100644
index 0000000..ba12a8e
--- /dev/null
+++ b/audio/oriole/tuning/waves/tests/test_config.ini
@@ -0,0 +1,58 @@
+########################################################################################################
+# (Optional) The supported features list for platform vendors to query from.
+# Platform vendors should call maxxaudio_qdsp_is_feature_supported with a string to query from the list.
+# This config has no effect in the MaxxAudioQdspHalController. It's only meaningful for platform vendors.
+# Putting any value other than 1 would be equivalent to not supported.
+########################################################################################################
+[HAL_SUPPORTED_FEATURES]
+CUSTOM_ACTION_256=1
+
+########################################################################################################
+# This defined the options of supported sample rates.
+# This can be configured by Waves or platform vendor.
+########################################################################################################
+[HAL_SUPPORTED_SAMPLE_RATES]
+SR_COMMON = 48000
+
+########################################################################################################
+# (Optional) The subtypes that applies to different angles(0, 90, 180, 270). Can be empty if not applicable.
+# This can be configured by Waves or platform vendor.
+########################################################################################################
+[HAL_ORIENTATION_SUBTYPES]
+OST_SPEAKER = 0:12,90:13,180:12,270:0|13
+
+########################################################################################################
+# This defines available preset configurations.
+# This should be configured by Waves only unless platform vendor is familiar with MPS structure.
+########################################################################################################
+[HAL_SUPPORTED_PRESETS]
+SPEAKER_MUSIC = OM:1,SM:2,OST:OST_SPEAKER
+SPEAKER_SAFE_MUSIC = OM:10,SM:2,OST:OST_SPEAKER
+SPEAKER_SAFE_CALL = OM:10,SM:2,OST:OST_SPEAKER
+HEADSET_MUSIC = OM:2,SM:2
+
+########################################################################################################
+# This defines available CONTROL configurations. Only define the CONTROL if you need it.
+# The numbers could vary from device to device.
+# This can be configured by Waves or platform vendor.
+########################################################################################################
+[HAL_SUPPORTED_CONTROLS]
+SPEAKER_INSTANCE = INSTANCE:1,DEV:0,SR:SR_COMMON,PRESET:SPEAKER_MUSIC|SPEAKER_SAFE_MUSIC|SPEAKER_SAFE_CALL
+A2DP_INSTANCE = INSTANCE:2,DEV:0,SR:SR_COMMON,PRESET:HEADSET_MUSIC
+USB_HEADPHONE_INSTANCE = INSTANCE:4,DEV:0,SR:SR_COMMON,PRESET:HEADSET_MUSIC
+
+[COEFS_CONVERTER_SETTING]
+AlgFxPath=/vendor/lib/libAlgFx_HiFi3z.so
+AlgFxPath64=/vendor/lib64/libAlgFx_HiFi3z.so
+# do not modify the following if not necessary
+#AudioFormatType=0
+#AudioFormatChannels=2
+#AudioFormatSampleRate=48000
+#AudioFormatBitsPerSample=32
+#AudioFormatSampleSize=4
+#AudioFormatIncrement=8
+
+[CUSTOM_ACTION_256]
+CASE_1=PRIORITY:0,NUMBERS:2:0|1,PRESET:SPEAKER_MUSIC
+CASE_2=PRIORITY:1,NUMBERS:1|2|4194304:2|3|4,PRESET:SPEAKER_SAFE_CALL
+CASE_3=PRIORITY:2,NUMBERS:1|4194304:0|1,PRESET:SPEAKER_SAFE_MUSIC
diff --git a/audio/oriole/tuning/waves/tests/test_preset.mps b/audio/oriole/tuning/waves/tests/test_preset.mps
new file mode 100644
index 0000000..bd08ee3
Binary files /dev/null and b/audio/oriole/tuning/waves/tests/test_preset.mps differ
diff --git a/audio/oriole/tuning/waves/waves_config.ini b/audio/oriole/tuning/waves/waves_config.ini
index 99b9604..ba12a8e 100644
--- a/audio/oriole/tuning/waves/waves_config.ini
+++ b/audio/oriole/tuning/waves/waves_config.ini
@@ -1,3 +1,12 @@
+########################################################################################################
+# (Optional) The supported features list for platform vendors to query from.
+# Platform vendors should call maxxaudio_qdsp_is_feature_supported with a string to query from the list.
+# This config has no effect in the MaxxAudioQdspHalController. It's only meaningful for platform vendors.
+# Putting any value other than 1 would be equivalent to not supported.
+########################################################################################################
+[HAL_SUPPORTED_FEATURES]
+CUSTOM_ACTION_256=1
+
########################################################################################################
# This defined the options of supported sample rates.
# This can be configured by Waves or platform vendor.
diff --git a/audio/raven/audio-tables.mk b/audio/raven/audio-tables.mk
index 81c7f04..905464c 100644
--- a/audio/raven/audio-tables.mk
+++ b/audio/raven/audio-tables.mk
@@ -65,4 +65,10 @@ PRODUCT_COPY_FILES += \
# Mixer Path Configuration for Audio Speaker Calibration Tool crus_sp_cal
PRODUCT_COPY_FILES += \
device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/cs35l41/crus_sp_cal_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/crus_sp_cal_mixer_paths.xml
+
+# Waves ini/mps files for unit tests of halcontroller
+PRODUCT_COPY_FILES += \
+ device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/tuning/waves/tests/test_config.ini:$(TARGET_COPY_OUT_VENDOR)/etc/test_config.ini \
+ device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/tuning/waves/tests/test_preset.mps:$(TARGET_COPY_OUT_VENDOR)/etc/test_preset.mps
+
endif
diff --git a/audio/raven/config/mixer_paths_factory.xml b/audio/raven/config/mixer_paths_factory.xml
index 57633f5..3326db7 100644
--- a/audio/raven/config/mixer_paths_factory.xml
+++ b/audio/raven/config/mixer_paths_factory.xml
@@ -36,6 +36,14 @@
+
+
+
+
+
+
+
+
@@ -233,12 +241,13 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
@@ -300,9 +309,15 @@
+
+
+
+
+
+
diff --git a/audio/raven/tuning/waves/tests/test_config.ini b/audio/raven/tuning/waves/tests/test_config.ini
new file mode 100644
index 0000000..ba12a8e
--- /dev/null
+++ b/audio/raven/tuning/waves/tests/test_config.ini
@@ -0,0 +1,58 @@
+########################################################################################################
+# (Optional) The supported features list for platform vendors to query from.
+# Platform vendors should call maxxaudio_qdsp_is_feature_supported with a string to query from the list.
+# This config has no effect in the MaxxAudioQdspHalController. It's only meaningful for platform vendors.
+# Putting any value other than 1 would be equivalent to not supported.
+########################################################################################################
+[HAL_SUPPORTED_FEATURES]
+CUSTOM_ACTION_256=1
+
+########################################################################################################
+# This defined the options of supported sample rates.
+# This can be configured by Waves or platform vendor.
+########################################################################################################
+[HAL_SUPPORTED_SAMPLE_RATES]
+SR_COMMON = 48000
+
+########################################################################################################
+# (Optional) The subtypes that applies to different angles(0, 90, 180, 270). Can be empty if not applicable.
+# This can be configured by Waves or platform vendor.
+########################################################################################################
+[HAL_ORIENTATION_SUBTYPES]
+OST_SPEAKER = 0:12,90:13,180:12,270:0|13
+
+########################################################################################################
+# This defines available preset configurations.
+# This should be configured by Waves only unless platform vendor is familiar with MPS structure.
+########################################################################################################
+[HAL_SUPPORTED_PRESETS]
+SPEAKER_MUSIC = OM:1,SM:2,OST:OST_SPEAKER
+SPEAKER_SAFE_MUSIC = OM:10,SM:2,OST:OST_SPEAKER
+SPEAKER_SAFE_CALL = OM:10,SM:2,OST:OST_SPEAKER
+HEADSET_MUSIC = OM:2,SM:2
+
+########################################################################################################
+# This defines available CONTROL configurations. Only define the CONTROL if you need it.
+# The numbers could vary from device to device.
+# This can be configured by Waves or platform vendor.
+########################################################################################################
+[HAL_SUPPORTED_CONTROLS]
+SPEAKER_INSTANCE = INSTANCE:1,DEV:0,SR:SR_COMMON,PRESET:SPEAKER_MUSIC|SPEAKER_SAFE_MUSIC|SPEAKER_SAFE_CALL
+A2DP_INSTANCE = INSTANCE:2,DEV:0,SR:SR_COMMON,PRESET:HEADSET_MUSIC
+USB_HEADPHONE_INSTANCE = INSTANCE:4,DEV:0,SR:SR_COMMON,PRESET:HEADSET_MUSIC
+
+[COEFS_CONVERTER_SETTING]
+AlgFxPath=/vendor/lib/libAlgFx_HiFi3z.so
+AlgFxPath64=/vendor/lib64/libAlgFx_HiFi3z.so
+# do not modify the following if not necessary
+#AudioFormatType=0
+#AudioFormatChannels=2
+#AudioFormatSampleRate=48000
+#AudioFormatBitsPerSample=32
+#AudioFormatSampleSize=4
+#AudioFormatIncrement=8
+
+[CUSTOM_ACTION_256]
+CASE_1=PRIORITY:0,NUMBERS:2:0|1,PRESET:SPEAKER_MUSIC
+CASE_2=PRIORITY:1,NUMBERS:1|2|4194304:2|3|4,PRESET:SPEAKER_SAFE_CALL
+CASE_3=PRIORITY:2,NUMBERS:1|4194304:0|1,PRESET:SPEAKER_SAFE_MUSIC
diff --git a/audio/raven/tuning/waves/tests/test_preset.mps b/audio/raven/tuning/waves/tests/test_preset.mps
new file mode 100644
index 0000000..bd08ee3
Binary files /dev/null and b/audio/raven/tuning/waves/tests/test_preset.mps differ
diff --git a/audio/raven/tuning/waves/waves_config.ini b/audio/raven/tuning/waves/waves_config.ini
index 99b9604..ba12a8e 100644
--- a/audio/raven/tuning/waves/waves_config.ini
+++ b/audio/raven/tuning/waves/waves_config.ini
@@ -1,3 +1,12 @@
+########################################################################################################
+# (Optional) The supported features list for platform vendors to query from.
+# Platform vendors should call maxxaudio_qdsp_is_feature_supported with a string to query from the list.
+# This config has no effect in the MaxxAudioQdspHalController. It's only meaningful for platform vendors.
+# Putting any value other than 1 would be equivalent to not supported.
+########################################################################################################
+[HAL_SUPPORTED_FEATURES]
+CUSTOM_ACTION_256=1
+
########################################################################################################
# This defined the options of supported sample rates.
# This can be configured by Waves or platform vendor.
diff --git a/audio/slider/audio-tables.mk b/audio/slider/audio-tables.mk
index 691d5c9..21200ce 100644
--- a/audio/slider/audio-tables.mk
+++ b/audio/slider/audio-tables.mk
@@ -59,4 +59,10 @@ PRODUCT_COPY_FILES += \
# Mixer Path Configuration for Audio Speaker Calibration Tool crus_sp_cal
PRODUCT_COPY_FILES += \
device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/cs35l41/crus_sp_cal_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/crus_sp_cal_mixer_paths.xml
+
+# Waves ini/mps files for unit tests of halcontroller
+PRODUCT_COPY_FILES += \
+ device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/tuning/waves/tests/test_config.ini:$(TARGET_COPY_OUT_VENDOR)/etc/test_config.ini \
+ device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/tuning/waves/tests/test_preset.mps:$(TARGET_COPY_OUT_VENDOR)/etc/test_preset.mps
+
endif
diff --git a/audio/slider/tuning/waves/tests/test_config.ini b/audio/slider/tuning/waves/tests/test_config.ini
new file mode 100644
index 0000000..ba12a8e
--- /dev/null
+++ b/audio/slider/tuning/waves/tests/test_config.ini
@@ -0,0 +1,58 @@
+########################################################################################################
+# (Optional) The supported features list for platform vendors to query from.
+# Platform vendors should call maxxaudio_qdsp_is_feature_supported with a string to query from the list.
+# This config has no effect in the MaxxAudioQdspHalController. It's only meaningful for platform vendors.
+# Putting any value other than 1 would be equivalent to not supported.
+########################################################################################################
+[HAL_SUPPORTED_FEATURES]
+CUSTOM_ACTION_256=1
+
+########################################################################################################
+# This defined the options of supported sample rates.
+# This can be configured by Waves or platform vendor.
+########################################################################################################
+[HAL_SUPPORTED_SAMPLE_RATES]
+SR_COMMON = 48000
+
+########################################################################################################
+# (Optional) The subtypes that applies to different angles(0, 90, 180, 270). Can be empty if not applicable.
+# This can be configured by Waves or platform vendor.
+########################################################################################################
+[HAL_ORIENTATION_SUBTYPES]
+OST_SPEAKER = 0:12,90:13,180:12,270:0|13
+
+########################################################################################################
+# This defines available preset configurations.
+# This should be configured by Waves only unless platform vendor is familiar with MPS structure.
+########################################################################################################
+[HAL_SUPPORTED_PRESETS]
+SPEAKER_MUSIC = OM:1,SM:2,OST:OST_SPEAKER
+SPEAKER_SAFE_MUSIC = OM:10,SM:2,OST:OST_SPEAKER
+SPEAKER_SAFE_CALL = OM:10,SM:2,OST:OST_SPEAKER
+HEADSET_MUSIC = OM:2,SM:2
+
+########################################################################################################
+# This defines available CONTROL configurations. Only define the CONTROL if you need it.
+# The numbers could vary from device to device.
+# This can be configured by Waves or platform vendor.
+########################################################################################################
+[HAL_SUPPORTED_CONTROLS]
+SPEAKER_INSTANCE = INSTANCE:1,DEV:0,SR:SR_COMMON,PRESET:SPEAKER_MUSIC|SPEAKER_SAFE_MUSIC|SPEAKER_SAFE_CALL
+A2DP_INSTANCE = INSTANCE:2,DEV:0,SR:SR_COMMON,PRESET:HEADSET_MUSIC
+USB_HEADPHONE_INSTANCE = INSTANCE:4,DEV:0,SR:SR_COMMON,PRESET:HEADSET_MUSIC
+
+[COEFS_CONVERTER_SETTING]
+AlgFxPath=/vendor/lib/libAlgFx_HiFi3z.so
+AlgFxPath64=/vendor/lib64/libAlgFx_HiFi3z.so
+# do not modify the following if not necessary
+#AudioFormatType=0
+#AudioFormatChannels=2
+#AudioFormatSampleRate=48000
+#AudioFormatBitsPerSample=32
+#AudioFormatSampleSize=4
+#AudioFormatIncrement=8
+
+[CUSTOM_ACTION_256]
+CASE_1=PRIORITY:0,NUMBERS:2:0|1,PRESET:SPEAKER_MUSIC
+CASE_2=PRIORITY:1,NUMBERS:1|2|4194304:2|3|4,PRESET:SPEAKER_SAFE_CALL
+CASE_3=PRIORITY:2,NUMBERS:1|4194304:0|1,PRESET:SPEAKER_SAFE_MUSIC
diff --git a/audio/slider/tuning/waves/tests/test_preset.mps b/audio/slider/tuning/waves/tests/test_preset.mps
new file mode 100644
index 0000000..bd08ee3
Binary files /dev/null and b/audio/slider/tuning/waves/tests/test_preset.mps differ
diff --git a/audio/slider/tuning/waves/waves_config.ini b/audio/slider/tuning/waves/waves_config.ini
index 99b9604..ba12a8e 100644
--- a/audio/slider/tuning/waves/waves_config.ini
+++ b/audio/slider/tuning/waves/waves_config.ini
@@ -1,3 +1,12 @@
+########################################################################################################
+# (Optional) The supported features list for platform vendors to query from.
+# Platform vendors should call maxxaudio_qdsp_is_feature_supported with a string to query from the list.
+# This config has no effect in the MaxxAudioQdspHalController. It's only meaningful for platform vendors.
+# Putting any value other than 1 would be equivalent to not supported.
+########################################################################################################
+[HAL_SUPPORTED_FEATURES]
+CUSTOM_ACTION_256=1
+
########################################################################################################
# This defined the options of supported sample rates.
# This can be configured by Waves or platform vendor.
diff --git a/audio/whitefin/audio-tables.mk b/audio/whitefin/audio-tables.mk
index b48b44e..f87c54b 100644
--- a/audio/whitefin/audio-tables.mk
+++ b/audio/whitefin/audio-tables.mk
@@ -59,4 +59,10 @@ PRODUCT_COPY_FILES += \
# Mixer Path Configuration for Audio Speaker Calibration Tool crus_sp_cal
PRODUCT_COPY_FILES += \
device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/cs35l41/crus_sp_cal_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/crus_sp_cal_mixer_paths.xml
+
+# Waves ini/mps files for unit tests of halcontroller
+PRODUCT_COPY_FILES += \
+ device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/tuning/waves/tests/test_config.ini:$(TARGET_COPY_OUT_VENDOR)/etc/test_config.ini \
+ device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/tuning/waves/tests/test_preset.mps:$(TARGET_COPY_OUT_VENDOR)/etc/test_preset.mps
+
endif
diff --git a/audio/whitefin/tuning/waves/tests/test_config.ini b/audio/whitefin/tuning/waves/tests/test_config.ini
new file mode 100644
index 0000000..ba12a8e
--- /dev/null
+++ b/audio/whitefin/tuning/waves/tests/test_config.ini
@@ -0,0 +1,58 @@
+########################################################################################################
+# (Optional) The supported features list for platform vendors to query from.
+# Platform vendors should call maxxaudio_qdsp_is_feature_supported with a string to query from the list.
+# This config has no effect in the MaxxAudioQdspHalController. It's only meaningful for platform vendors.
+# Putting any value other than 1 would be equivalent to not supported.
+########################################################################################################
+[HAL_SUPPORTED_FEATURES]
+CUSTOM_ACTION_256=1
+
+########################################################################################################
+# This defined the options of supported sample rates.
+# This can be configured by Waves or platform vendor.
+########################################################################################################
+[HAL_SUPPORTED_SAMPLE_RATES]
+SR_COMMON = 48000
+
+########################################################################################################
+# (Optional) The subtypes that applies to different angles(0, 90, 180, 270). Can be empty if not applicable.
+# This can be configured by Waves or platform vendor.
+########################################################################################################
+[HAL_ORIENTATION_SUBTYPES]
+OST_SPEAKER = 0:12,90:13,180:12,270:0|13
+
+########################################################################################################
+# This defines available preset configurations.
+# This should be configured by Waves only unless platform vendor is familiar with MPS structure.
+########################################################################################################
+[HAL_SUPPORTED_PRESETS]
+SPEAKER_MUSIC = OM:1,SM:2,OST:OST_SPEAKER
+SPEAKER_SAFE_MUSIC = OM:10,SM:2,OST:OST_SPEAKER
+SPEAKER_SAFE_CALL = OM:10,SM:2,OST:OST_SPEAKER
+HEADSET_MUSIC = OM:2,SM:2
+
+########################################################################################################
+# This defines available CONTROL configurations. Only define the CONTROL if you need it.
+# The numbers could vary from device to device.
+# This can be configured by Waves or platform vendor.
+########################################################################################################
+[HAL_SUPPORTED_CONTROLS]
+SPEAKER_INSTANCE = INSTANCE:1,DEV:0,SR:SR_COMMON,PRESET:SPEAKER_MUSIC|SPEAKER_SAFE_MUSIC|SPEAKER_SAFE_CALL
+A2DP_INSTANCE = INSTANCE:2,DEV:0,SR:SR_COMMON,PRESET:HEADSET_MUSIC
+USB_HEADPHONE_INSTANCE = INSTANCE:4,DEV:0,SR:SR_COMMON,PRESET:HEADSET_MUSIC
+
+[COEFS_CONVERTER_SETTING]
+AlgFxPath=/vendor/lib/libAlgFx_HiFi3z.so
+AlgFxPath64=/vendor/lib64/libAlgFx_HiFi3z.so
+# do not modify the following if not necessary
+#AudioFormatType=0
+#AudioFormatChannels=2
+#AudioFormatSampleRate=48000
+#AudioFormatBitsPerSample=32
+#AudioFormatSampleSize=4
+#AudioFormatIncrement=8
+
+[CUSTOM_ACTION_256]
+CASE_1=PRIORITY:0,NUMBERS:2:0|1,PRESET:SPEAKER_MUSIC
+CASE_2=PRIORITY:1,NUMBERS:1|2|4194304:2|3|4,PRESET:SPEAKER_SAFE_CALL
+CASE_3=PRIORITY:2,NUMBERS:1|4194304:0|1,PRESET:SPEAKER_SAFE_MUSIC
diff --git a/audio/whitefin/tuning/waves/tests/test_preset.mps b/audio/whitefin/tuning/waves/tests/test_preset.mps
new file mode 100644
index 0000000..bd08ee3
Binary files /dev/null and b/audio/whitefin/tuning/waves/tests/test_preset.mps differ
diff --git a/audio/whitefin/tuning/waves/waves_config.ini b/audio/whitefin/tuning/waves/waves_config.ini
index 99b9604..ba12a8e 100644
--- a/audio/whitefin/tuning/waves/waves_config.ini
+++ b/audio/whitefin/tuning/waves/waves_config.ini
@@ -1,3 +1,12 @@
+########################################################################################################
+# (Optional) The supported features list for platform vendors to query from.
+# Platform vendors should call maxxaudio_qdsp_is_feature_supported with a string to query from the list.
+# This config has no effect in the MaxxAudioQdspHalController. It's only meaningful for platform vendors.
+# Putting any value other than 1 would be equivalent to not supported.
+########################################################################################################
+[HAL_SUPPORTED_FEATURES]
+CUSTOM_ACTION_256=1
+
########################################################################################################
# This defined the options of supported sample rates.
# This can be configured by Waves or platform vendor.
diff --git a/conf/init.raven.rc b/conf/init.raven.rc
index af9fbfc..4d5d2a9 100644
--- a/conf/init.raven.rc
+++ b/conf/init.raven.rc
@@ -11,10 +11,6 @@ on init
# Power Stats HAL
chown system system /sys/devices/platform/10d30000.spi/spi_master/spi10/spi10.0/uwb/power_stats
-on fs
- # Face
- exec_background - system shell -- /vendor/bin/trusty_apploader /vendor/firmware/faceauth.app
-
on property:vendor.mfgapi.touchpanel.permission=1
chmod 0600 /sys/devices/virtual/sec/tsp/cmd
chown system system /sys/devices/virtual/sec/tsp/cmd
diff --git a/conf/init.raviole.rc b/conf/init.raviole.rc
index 330eacf..ed55764 100644
--- a/conf/init.raviole.rc
+++ b/conf/init.raviole.rc
@@ -1,5 +1,10 @@
# Raven/Oriole specific init.rc
+on init
+ # NFC streset tool name
+ setprop persist.vendor.nfc.streset libstreset21
+ setprop persist.vendor.se.streset libstreset21
+
on init && property:ro.vendor.factory=1
import /vendor/etc/init/hw/init.factory.rc
diff --git a/conf/init.slider.rc b/conf/init.slider.rc
index a6c8d2c..f8506a5 100644
--- a/conf/init.slider.rc
+++ b/conf/init.slider.rc
@@ -1,6 +1,11 @@
# Slider specific init.rc
import /vendor/etc/init/hw/init.gs101.rc
+on init
+ # NFC streset tool name
+ setprop persist.vendor.nfc.streset libstreset21
+ setprop persist.vendor.se.streset libstreset21
+
# When ro.build.flavor=factory_slider-userdebug, add vendor/bin/factory to default path
on init && property:ro.build.flavor=factory_slider-userdebug
import /vendor/etc/init/hw/init.factory.rc
diff --git a/conf/init.whitefin.rc b/conf/init.whitefin.rc
index e0fe9d9..f74abbb 100644
--- a/conf/init.whitefin.rc
+++ b/conf/init.whitefin.rc
@@ -1,6 +1,11 @@
# Whitefin specific init.rc
import /vendor/etc/init/hw/init.gs101.rc
+on init
+ # NFC streset tool name
+ setprop persist.vendor.nfc.streset libstreset21
+ setprop persist.vendor.se.streset libstreset21
+
on init && property:ro.build.flavor=factory_whitefin-userdebug
import /vendor/etc/init/hw/init.factory.rc
diff --git a/device-oriole.mk b/device-oriole.mk
index 17a1d89..a96210f 100644
--- a/device-oriole.mk
+++ b/device-oriole.mk
@@ -25,6 +25,7 @@ $(call inherit-product-if-exists, vendor/google_devices/raviole/proprietary/orio
$(call inherit-product-if-exists, vendor/google/camera/devices/raviole/oriole/device-vendor.mk)
$(call inherit-product-if-exists, vendor/google_devices/raviole/proprietary/WallpapersOriole.mk)
+GOODIX_CONFIG_BUILD_VERSION := g6_trusty
DEVICE_PACKAGE_OVERLAYS += device/google/raviole/oriole/overlay
include device/google/raviole/audio/oriole/audio-tables.mk
@@ -38,6 +39,8 @@ else
include device/google/gs101/fingerprint/udfps_factory.mk
endif
+$(call soong_config_set,lyric,tuning_product,oriole)
+$(call soong_config_set,google3a_config,target_device,oriole)
# Init files
PRODUCT_COPY_FILES += \
@@ -75,6 +78,9 @@ PRODUCT_COPY_FILES += \
PRODUCT_PACKAGES_DEBUG += \
sar_test
+# WirelessCharger
+DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += device/google/gs101/device_framework_matrix_product_wireless.xml
+
# MIPI Coex Configs
PRODUCT_COPY_FILES += \
device/google/raviole/radio/oriole_display_mipi_coex_table.csv:$(TARGET_COPY_OUT_VENDOR)/etc/modem/display_primary_mipi_coex_table.csv \
@@ -92,18 +98,39 @@ PRODUCT_COPY_FILES += \
# NFC
PRODUCT_COPY_FILES += \
+ frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \
+ frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \
+ frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \
+ frameworks/native/data/etc/com.nxp.mifare.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.nxp.mifare.xml \
+ frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.uicc.xml \
+ frameworks/native/data/etc/android.hardware.nfc.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.ese.xml \
device/google/raviole/nfc/libnfc-hal-st.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-hal-st.conf \
device/google/raviole/nfc/libnfc-nci.conf:$(TARGET_COPY_OUT_PRODUCT)/etc/libnfc-nci.conf
+PRODUCT_PACKAGES += \
+ NfcNci \
+ Tag \
+ android.hardware.nfc@1.2-service.st
+
+# SecureElement
+PRODUCT_PACKAGES += \
+ android.hardware.secure_element@1.2-service-gto
+
+PRODUCT_COPY_FILES += \
+ frameworks/native/data/etc/android.hardware.se.omapi.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.ese.xml \
+ frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml \
+ device/google/raviole/nfc/libse-gto-hal.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal.conf
DEVICE_MANIFEST_FILE += \
- device/google/gs101/nfc/manifest_se_gs101.xml
+ device/google/raviole/nfc/manifest_nfc.xml \
+ device/google/raviole/nfc/manifest_se.xml
# Vibrator HAL
PRODUCT_PRODUCT_PROPERTIES +=\
ro.vendor.vibrator.hal.long.frequency.shift=15
PRODUCT_PRODUCT_PROPERTIES += \
vendor.powerhal.adpf.rate=11111111
+ACTUATOR_MODEL := luxshare_ict_081545
# Voice packs for Text-To-Speech
PRODUCT_COPY_FILES += \
@@ -144,7 +171,7 @@ endif
# Increment the SVN for any official public releases
PRODUCT_VENDOR_PROPERTIES += \
- ro.vendor.build.svn=10
+ ro.vendor.build.svn=20
# Hide cutout overlays
PRODUCT_PACKAGES += \
@@ -175,3 +202,14 @@ PRODUCT_PRODUCT_PROPERTIES += \
# Enable camera exif model/make reporting
PRODUCT_VENDOR_PROPERTIES += \
persist.vendor.camera.exif_reveal_make_model=true
+
+# Override default distortion output gain according to UX experiments
+PRODUCT_PRODUCT_PROPERTIES += \
+ vendor.audio.hapticgenerator.distortion.output.gain=0.5
+
+# Set zram size
+PRODUCT_VENDOR_PROPERTIES += \
+ vendor.zram.size=3g
+
+# This device is shipped with 31 (Android S)
+PRODUCT_SHIPPING_API_LEVEL := 31
diff --git a/device-raven.mk b/device-raven.mk
index dcce448..eac68e5 100644
--- a/device-raven.mk
+++ b/device-raven.mk
@@ -25,6 +25,7 @@ $(call inherit-product-if-exists, vendor/google_devices/raviole/proprietary/rave
$(call inherit-product-if-exists, vendor/google/camera/devices/raviole/raven/device-vendor.mk)
$(call inherit-product-if-exists, vendor/google_devices/raviole/proprietary/WallpapersRaven.mk)
+GOODIX_CONFIG_BUILD_VERSION := g6_trusty
DEVICE_PACKAGE_OVERLAYS += device/google/raviole/raven/overlay
include device/google/raviole/audio/raven/audio-tables.mk
@@ -39,10 +40,14 @@ endif
ifeq ($(filter factory_raven, $(TARGET_PRODUCT)),)
include device/google/gs101/uwb/uwb.mk
+include device/google/raviole/uwb/uwb_calibration.mk
endif
include hardware/google/pixel/vibrator/cs40l25/device.mk
+$(call soong_config_set,lyric,tuning_product,raven)
+$(call soong_config_set,google3a_config,target_device,raven)
+
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.support_kernel_idle_timer=true
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.enable_frame_rate_override=true
@@ -79,6 +84,9 @@ PRODUCT_COPY_FILES += \
PRODUCT_PACKAGES_DEBUG += \
sar_test
+# WirelessCharger
+DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += device/google/gs101/device_framework_matrix_product_wireless.xml
+
# MIPI Coex Configs
PRODUCT_COPY_FILES += \
device/google/raviole/radio/raven_camera_rear_tele_mipi_coex_table.csv:$(TARGET_COPY_OUT_VENDOR)/etc/modem/camera_rear_tele_mipi_coex_table.csv
@@ -93,21 +101,51 @@ PRODUCT_COPY_FILES += \
device/google/raviole/raven/display_colordata_dev_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_colordata_dev_cal0.pb
#config of display brightness dimming
-PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.display.brightness.dimming.usage=2
+PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.display.brightness.dimming.usage=1
# NFC
+PRODUCT_COPY_FILES += \
+ frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \
+ frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \
+ frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \
+ frameworks/native/data/etc/com.nxp.mifare.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.nxp.mifare.xml \
+ frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.uicc.xml \
+ frameworks/native/data/etc/android.hardware.nfc.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.ese.xml
+
+ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
+PRODUCT_COPY_FILES += \
+ device/google/raviole/nfc/libnfc-hal-st-debug.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-hal-st.conf \
+ device/google/raviole/nfc/libnfc-nci-raven-debug.conf:$(TARGET_COPY_OUT_PRODUCT)/etc/libnfc-nci.conf
+else
PRODUCT_COPY_FILES += \
device/google/raviole/nfc/libnfc-hal-st.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-hal-st.conf \
device/google/raviole/nfc/libnfc-nci-raven.conf:$(TARGET_COPY_OUT_PRODUCT)/etc/libnfc-nci.conf
+endif
+
+PRODUCT_PACKAGES += \
+ NfcNci \
+ Tag \
+ android.hardware.nfc@1.2-service.st
+
+# SecureElement
+PRODUCT_PACKAGES += \
+ android.hardware.secure_element@1.2-service-gto
+
+PRODUCT_COPY_FILES += \
+ frameworks/native/data/etc/android.hardware.se.omapi.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.ese.xml \
+ frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml \
+ device/google/raviole/nfc/libse-gto-hal.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal.conf
DEVICE_MANIFEST_FILE += \
- device/google/gs101/nfc/manifest_se_gs101.xml
+ device/google/raviole/nfc/manifest_nfc.xml \
+ device/google/raviole/nfc/manifest_se.xml
# Vibrator HAL
PRODUCT_PRODUCT_PROPERTIES +=\
ro.vendor.vibrator.hal.long.frequency.shift=15
PRODUCT_PRODUCT_PROPERTIES += \
vendor.powerhal.adpf.rate=8333333
+ACTUATOR_MODEL := luxshare_ict_081545
# Voice packs for Text-To-Speech
PRODUCT_COPY_FILES += \
@@ -145,7 +183,7 @@ endif
# Increment the SVN for any official public releases
PRODUCT_VENDOR_PROPERTIES += \
- ro.vendor.build.svn=10
+ ro.vendor.build.svn=20
# Hide cutout overlays
PRODUCT_PACKAGES += \
@@ -180,3 +218,14 @@ PRODUCT_PRODUCT_PROPERTIES += \
# Enable camera exif model/make reporting
PRODUCT_VENDOR_PROPERTIES += \
persist.vendor.camera.exif_reveal_make_model=true
+
+# Override default distortion output gain according to UX experiments
+PRODUCT_PRODUCT_PROPERTIES += \
+ vendor.audio.hapticgenerator.distortion.output.gain=0.5
+
+# Set zram size
+PRODUCT_VENDOR_PROPERTIES += \
+ vendor.zram.size=3g
+
+# This device is shipped with 31 (Android S)
+PRODUCT_SHIPPING_API_LEVEL := 31
diff --git a/device-slider.mk b/device-slider.mk
index 8acb9ff..72fa1ec 100644
--- a/device-slider.mk
+++ b/device-slider.mk
@@ -28,6 +28,12 @@ include device/google/gs101/device-common.mk
include device/google/raviole/audio/slider/audio-tables.mk
include hardware/google/pixel/vibrator/cs40l25/device.mk
+$(call soong_config_set,lyric,tuning_product,slider)
+$(call soong_config_set,google3a_config,target_device,slider)
+
+# WirelessCharger
+DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += device/google/gs101/device_framework_matrix_product_wireless.xml
+
# Init files
PRODUCT_COPY_FILES += \
device/google/raviole/conf/init.slider.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.slider.rc
@@ -58,23 +64,46 @@ PRODUCT_PROPERTY_OVERRIDES += \
# SecureElement
PRODUCT_PACKAGES += \
- android.hardware.secure_element@1.2-service-gto \
- android.hardware.secure_element@1.2-service-gto-ese2
+ android.hardware.secure_element@1.2-service-gto
PRODUCT_COPY_FILES += \
- device/google/gs101/nfc/libse-gto-hal.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal.conf \
- device/google/gs101/nfc/libse-gto-hal2.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal2.conf
+ device/google/raviole/nfc/libse-gto-hal.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal.conf
# NFC
PRODUCT_COPY_FILES += \
+ frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \
+ frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \
+ frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \
+ frameworks/native/data/etc/com.nxp.mifare.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.nxp.mifare.xml \
+ frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.uicc.xml \
+ frameworks/native/data/etc/android.hardware.nfc.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.ese.xml \
device/google/raviole/nfc/libnfc-hal-st-disable.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-hal-st.conf \
device/google/raviole/nfc/libnfc-nci.conf:$(TARGET_COPY_OUT_PRODUCT)/etc/libnfc-nci.conf
+PRODUCT_PACKAGES += \
+ NfcNci \
+ Tag \
+ android.hardware.nfc@1.2-service.st
+
+# SecureElement
+PRODUCT_PACKAGES += \
+ android.hardware.secure_element@1.2-service-gto
+
+PRODUCT_COPY_FILES += \
+ frameworks/native/data/etc/android.hardware.se.omapi.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.ese.xml \
+ frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml \
+ device/google/raviole/nfc/libse-gto-hal.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal.conf \
+ device/google/raviole/nfc/libse-gto-hal2.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal2.conf
+
DEVICE_MANIFEST_FILE += \
- device/google/gs101/nfc/manifest_se_gs101.xml
+ device/google/raviole/nfc/manifest_nfc.xml \
+ device/google/raviole/nfc/manifest_se.xml
# PowerStats HAL
PRODUCT_SOONG_NAMESPACES += device/google/raviole/powerstats/slider
# Trusty liboemcrypto.so
PRODUCT_SOONG_NAMESPACES += vendor/google_devices/raviole/prebuilts
+
+# This device is shipped with 31 (Android S)
+PRODUCT_SHIPPING_API_LEVEL := 31
diff --git a/device-whitefin.mk b/device-whitefin.mk
index a61250b..370f885 100644
--- a/device-whitefin.mk
+++ b/device-whitefin.mk
@@ -28,6 +28,12 @@ include device/google/gs101/device-common.mk
include hardware/google/pixel/vibrator/drv2624/device.mk
include device/google/raviole/audio/whitefin/audio-tables.mk
+$(call soong_config_set,lyric,tuning_product,slider)
+$(call soong_config_set,google3a_config,target_device,slider)
+
+# WirelessCharger
+DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += device/google/gs101/device_framework_matrix_product_wireless.xml
+
# Init files
PRODUCT_COPY_FILES += \
device/google/raviole/conf/init.whitefin.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.whitefin.rc
@@ -57,10 +63,28 @@ PRODUCT_PRODUCT_PROPERTIES += \
# NFC
PRODUCT_COPY_FILES += \
- device/google/gs101/nfc/libnfc-hal-st.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-hal-st.conf
+ frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \
+ frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \
+ frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \
+ frameworks/native/data/etc/com.nxp.mifare.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.nxp.mifare.xml \
+ frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.uicc.xml \
+ frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml \
+ device/google/raviole/nfc/libnfc-hal-st.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-hal-st.conf \
+ device/google/raviole/nfc/libnfc-nci.conf:$(TARGET_COPY_OUT_PRODUCT)/etc/libnfc-nci.conf
+
+PRODUCT_PACKAGES += \
+ NfcNci \
+ Tag \
+ android.hardware.nfc@1.2-service.st
+
+DEVICE_MANIFEST_FILE += \
+ device/google/raviole/nfc/manifest_nfc.xml
# PowerStats HAL
PRODUCT_SOONG_NAMESPACES += device/google/raviole/powerstats/whitefin
# Trusty liboemcrypto.so
PRODUCT_SOONG_NAMESPACES += vendor/google_devices/raviole/prebuilts
+
+# This device is shipped with 31 (Android S)
+PRODUCT_SHIPPING_API_LEVEL := 31
diff --git a/nfc/libnfc-hal-st-debug.conf b/nfc/libnfc-hal-st-debug.conf
new file mode 100644
index 0000000..5fdaf5e
--- /dev/null
+++ b/nfc/libnfc-hal-st-debug.conf
@@ -0,0 +1,159 @@
+########################### Start of libnf-hal-st_aosp.conf ###########################
+
+###############################################################################
+###############################################################################
+# ST HAL trace log level
+STNFC_HAL_LOGLEVEL=4
+NFC_DEBUG_ENABLED=1
+
+###############################################################################
+# Vendor specific mode to enable FW (RF & SWP) traces.
+STNFC_FW_DEBUG_ENABLED=1
+
+###############################################################################
+# File used for NFA storage
+NFA_STORAGE="/data/nfc"
+
+###############################################################################
+# Keep the nfa storage file.
+PRESERVE_STORAGE=1
+
+###############################################################################
+# In Switch OFF mode (phone switched-off), specify the desired CE mode to
+# the controller.
+# 0: No card-emulation; DEFAULT
+# 1: Switch-off card-emulation enabled
+CE_ON_SWITCH_OFF_STATE=1
+
+###############################################################################
+# Vendor specific mode to support the USB charging mode if VPSIO=1 in switch off.
+STNFC_USB_CHARGING_MODE=1
+
+###############################################################################
+# Vendor Specific Proprietary Protocol & Discovery Configuration
+# Set to 0xFF if unsupported
+# byte[0] NCI_PROTOCOL_18092_ACTIVE
+# byte[1] NCI_PROTOCOL_B_PRIME
+# byte[2] NCI_PROTOCOL_DUAL
+# byte[3] NCI_PROTOCOL_15693
+# byte[4] NCI_PROTOCOL_KOVIO
+# byte[5] NCI_PROTOCOL_MIFARE
+# byte[6] NCI_DISCOVERY_TYPE_POLL_KOVIO
+# byte[7] NCI_DISCOVERY_TYPE_POLL_B_PRIME
+# byte[8] NCI_DISCOVERY_TYPE_LISTEN_B_PRIME
+NFA_PROPRIETARY_CFG={05:FF:FF:06:8A:90:77:FF:FF}
+
+###############################################################################
+# Choose the presence-check algorithm for type-4 tag. If not defined,
+# the default value is 1.
+# 0 NFA_RW_PRES_CHK_DEFAULT; Let stack selects an algorithm
+# 1 NFA_RW_PRES_CHK_I_BLOCK; ISO-DEP protocol's empty I-block
+# 2 NFA_RW_PRES_CHK_RESET; Deactivate to Sleep, then re-activate
+# 3 NFA_RW_PRES_CHK_RB_CH0; Type-4 tag protocol's ReadBinary command on channel 0
+# 4 NFA_RW_PRES_CHK_RB_CH3; Type-4 tag protocol's ReadBinary command on channel 3
+# 5 NFA_RW_PRES_CHK_ISO_DEP_NAK; presence check command ISO-DEP NAK as per NCI2.0
+PRESENCE_CHECK_ALGORITHM=5
+
+###############################################################################
+# Name of the NCI HAL module to use
+# If unset, falls back to nfc_nci.bcm2079x
+NCI_HAL_MODULE="nfc_nci.st21nfc"
+
+###############################################################################
+# White list to be set at startup.
+DEVICE_HOST_WHITE_LIST={02:C0}
+
+###############################################################################
+# BAIL OUT value for P2P
+# Implements algorithm for NFC-DEP protocol priority over ISO-DEP protocol.
+POLL_BAIL_OUT_MODE=1
+
+###############################################################################
+# Extended APDU length for ISO_DEP
+ISO_DEP_MAX_TRANSCEIVE=0xFEFF
+
+###############################################################################
+# Configure the NFC Extras to open and use a static pipe. If the value is
+# not set or set to 0, then the default is use a dynamic pipe based on a
+# destination gate (see NFA_HCI_DEFAULT_DEST_GATE). Note there is a value
+# for each EE (ESE/SIM)
+OFF_HOST_ESE_PIPE_ID=0x5E
+OFF_HOST_SIM_PIPE_ID=0x3E
+
+###############################################################################
+#Set the default Felica T3T System Code OffHost route Location :
+#This settings will be used when application does not set this parameter
+# host 0x00
+# eSE 0x82 (eSE), 0x86 (eUICC/SPI-SE)
+# UICC 0x81 (UICC_1), 0x85 (UICC_2)
+DEFAULT_SYS_CODE_ROUTE=0x86
+
+###############################################################################
+#Set the Felica T3T System Code supported power state:
+DEFAULT_SYS_CODE_PWR_STATE=0x3B
+
+###############################################################################
+# Path and Files used for FW update binaries storage
+STNFC_FW_PATH_STORAGE="/vendor/firmware"
+STNFC_FW_BIN_NAME="/st54j_fw.bin"
+STNFC_FW_CONF_NAME="/st54j_conf.bin"
+
+###############################################################################
+# Default off-host route for Felica.
+# This settings will be used when application does not set this parameter
+# host 0x00
+# eSE 0x82 (eSE), 0x86 (eUICC/SPI-SE)
+# UICC 0x81 (UICC_1), 0x85 (UICC_2)
+DEFAULT_NFCF_ROUTE=0x86
+
+###############################################################################
+# Configure the default off-host route.
+# used for technology A and B routing
+# eSE 0x82 (eSE), 0x86 (eUICC/SPI-SE)
+# UICC 0x81 (UICC_1), 0x85 (UICC_2)
+DEFAULT_OFFHOST_ROUTE=0x81
+
+###############################################################################
+# Configure the default AID route.
+# host 0x00
+# eSE 0x82 (eSE), 0x86 (eUICC/SPI-SE)
+# UICC 0x81 (UICC_1), 0x85 (UICC_2)
+DEFAULT_ROUTE=0x00
+
+###############################################################################
+# Configure the NFCEEIDs of offhost UICC.
+# UICC 0x81 (UICC_1), 0x85 (UICC_2)
+OFFHOST_ROUTE_UICC={81}
+
+###############################################################################
+# Configure the NFCEEIDs of offhost eSEs.
+# eSE 0x82 (eSE), 0x86 (eUICC/SPI-SE)
+OFFHOST_ROUTE_ESE={86}
+
+###############################################################################
+# Configure the list of NFCEE for the ISO-DEP routing.
+# host 0x00
+# eSE 0x82 (eSE), 0x86 (eUICC/SPI-SE)
+# UICC 0x81 (UICC_1), 0x85 (UICC_2)
+DEFAULT_ISODEP_ROUTE=0x81
+
+###############################################################################
+# Configure the HAL Clock control
+# enable 0x01
+# disable 0x00 default value
+STNFC_CONTROL_CLK=0x01
+
+################################################################################
+# Configure the ACTIVE_RW timer
+# Default 0x00, set 0x01 to enable it
+STNFC_ACTIVERW_TIMER=0x01
+
+################################################################################
+# Core configuration settings
+CORE_CONF_PROP={ 20, 02, 0a, 03,
+ a1, 01, 1e,
+ a2, 01, 19,
+ 80, 01, 01
+}
+
+
diff --git a/nfc/libnfc-nci-raven-debug.conf b/nfc/libnfc-nci-raven-debug.conf
new file mode 100644
index 0000000..e530888
--- /dev/null
+++ b/nfc/libnfc-nci-raven-debug.conf
@@ -0,0 +1,121 @@
+###############################################################################
+# Application options
+NFC_DEBUG_ENABLED=1
+
+###############################################################################
+# File used for NFA storage
+NFA_STORAGE="/data/nfc"
+
+###############################################################################
+# Force UICC to only listen to the following technology(s).
+# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
+# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B | NFA_TECHNOLOGY_MASK_F
+UICC_LISTEN_TECH_MASK=0x07
+
+###############################################################################
+# Set HOST default listen to the following technology(s).
+# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
+# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_F
+# 0x07 = A + B + F
+HOST_LISTEN_TECH_MASK=0x07
+
+###############################################################################
+# AID for Empty Select command
+# If specified, this AID will be substituted when an Empty SELECT command is
+# detected. The first byte is the length of the AID. Maximum length is 16.
+AID_FOR_EMPTY_SELECT={08:A0:00:00:01:51:00:00:00}
+
+###############################################################################
+# When screen is turned off, specify the desired power state of the controller.
+# 0: power-off-sleep state; DEFAULT
+# 1: full-power state
+# 2: screen-off card-emulation (CE4/CE3/CE1 modes are used)
+SCREEN_OFF_POWER_STATE=1
+
+###############################################################################
+# Force tag polling for the following technology(s).
+# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
+# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B |
+# NFA_TECHNOLOGY_MASK_F | NFA_TECHNOLOGY_MASK_ISO15693 |
+# NFA_TECHNOLOGY_MASK_B_PRIME | NFA_TECHNOLOGY_MASK_KOVIO |
+# NFA_TECHNOLOGY_MASK_ACTIVE
+#
+# Notable bits:
+# NFA_TECHNOLOGY_MASK_A 0x01 /* NFC Technology A */
+# NFA_TECHNOLOGY_MASK_B 0x02 /* NFC Technology B */
+# NFA_TECHNOLOGY_MASK_F 0x04 /* NFC Technology F */
+# NFA_TECHNOLOGY_MASK_ISO15693 0x08 /* Proprietary Technology */
+# NFA_TECHNOLOGY_MASK_KOVIO 0x20 /* Proprietary Technology */
+# NFA_TECHNOLOGY_MASK_ACTIVE 0x40 /* NFC Technology Active */
+POLLING_TECH_MASK=0x2F
+
+###############################################################################
+# Force P2P to only listen for the following technology(s).
+# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
+# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_F |
+# NFA_TECHNOLOGY_MASK_ACTIVE
+#
+# Notable bits:
+# NFA_TECHNOLOGY_MASK_A 0x01 /* NFC Technology A */
+# NFA_TECHNOLOGY_MASK_F 0x04 /* NFC Technology F */
+# NFA_TECHNOLOGY_MASK_ACTIVE 0x40 /* NFC Technology Active */
+P2P_LISTEN_TECH_MASK=0x00
+
+PRESERVE_STORAGE=0x01
+
+###############################################################################
+# Override the stack default for NFA_EE_MAX_EE_SUPPORTED set in nfc_target.h.
+# The value is set to 3 by default as it assumes we will discover 0xF2,
+# 0xF3, and 0xF4. If a platform will exclude and SE, this value can be reduced
+# so that the stack will not wait any longer than necessary.
+# Maximum EE supported number
+# NXP PN547C2 0x02
+# NXP PN65T 0x03
+# NXP PN548C2 0x02
+# NXP PN66T 0x03
+NFA_MAX_EE_SUPPORTED=0x02
+
+###############################################################################
+# AID_MATCHING constants
+# AID_MATCHING_EXACT_ONLY 0x00
+# AID_MATCHING_EXACT_OR_PREFIX 0x01
+# AID_MATCHING_PREFIX_ONLY 0x02
+# AID_MATCHING_EXACT_OR_SUBSET_OR_PREFIX 0x03
+AID_MATCHING_MODE=0x03
+
+###############################################################################
+#Set the default Felica T3T System Code :
+#This settings will be used when application does not set this parameter
+DEFAULT_SYS_CODE={FE:FE}
+
+###############################################################################
+# Value of NIC parameter NFCC_COFNIG_CONTROL
+# 0x00 NFCC is not allowed to manage RF configuration
+# 0x01 NFCC is allowed to manage RF configuration
+NFCC_CONFIG_CONTROL=0x01
+
+###############################################################################
+#Set if the AID routing should be blocked for the power modes not supported.
+NFA_AID_BLOCK_ROUTE=1
+
+###############################################################################
+#Set the OffHost AID supported power state:
+OFFHOST_AID_ROUTE_PWR_STATE=0x3B
+
+###############################################################################
+# Mifare Tag implementation
+# 0: General implementation
+# 1: Legacy implementation
+LEGACY_MIFARE_READER=0
+
+###############################################################################
+# Nfc recovery implementation
+# 0: Crash Nfc Service
+# 1: Toggle Nfc state
+RECOVERY_OPTION=1
+
+###############################################################################
+# NFCEE Power Supply and Communication Link Control Configuration
+# Set when SetAlwaysOn enabled
+# Default 0x00 when SetAlways on disabled
+ALWAYS_ON_SET_EE_POWER_AND_LINK_CONF=0x03
diff --git a/nfc/libse-gto-hal.conf b/nfc/libse-gto-hal.conf
new file mode 100644
index 0000000..f4e443d
--- /dev/null
+++ b/nfc/libse-gto-hal.conf
@@ -0,0 +1,2 @@
+#Gemalto SPI devnode
+GTO_DEV=/dev/st54spi;
diff --git a/nfc/libse-gto-hal2.conf b/nfc/libse-gto-hal2.conf
new file mode 100644
index 0000000..13ecd54
--- /dev/null
+++ b/nfc/libse-gto-hal2.conf
@@ -0,0 +1,2 @@
+#Gemalto SPI devnode
+GTO_DEV=/dev/st33spi;
diff --git a/nfc/manifest_nfc.xml b/nfc/manifest_nfc.xml
new file mode 100644
index 0000000..bf6b7cc
--- /dev/null
+++ b/nfc/manifest_nfc.xml
@@ -0,0 +1,11 @@
+
+
+ android.hardware.nfc
+ hwbinder
+ 1.2
+
+ INfc
+ default
+
+
+
diff --git a/nfc/manifest_se.xml b/nfc/manifest_se.xml
new file mode 100644
index 0000000..9e5cee9
--- /dev/null
+++ b/nfc/manifest_se.xml
@@ -0,0 +1,7 @@
+
+
+ android.hardware.secure_element
+ hwbinder
+ @1.2::ISecureElement/eSE1
+
+
diff --git a/oriole/BoardConfig.mk b/oriole/BoardConfig.mk
index d94b836..e1ef669 100644
--- a/oriole/BoardConfig.mk
+++ b/oriole/BoardConfig.mk
@@ -13,11 +13,15 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-TARGET_BOARD_INFO_FILE := device/google/raviole/board-info.txt
-TARGET_BOOTLOADER_BOARD_NAME := oriole
-TARGET_SCREEN_DENSITY := 420
-USES_DEVICE_GOOGLE_RAVIOLE := true
+ifdef PHONE_CAR_BOARD_CONFIG
+ include $(PHONE_CAR_BOARD_CONFIG)
+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 vendor/google_devices/gs101/prebuilts/BoardConfigVendor.mk
--include vendor/google_devices/oriole/proprietary/BoardConfigVendor.mk
+ include device/google/gs101/BoardConfig-common.mk
+ -include vendor/google_devices/gs101/prebuilts/BoardConfigVendor.mk
+ -include vendor/google_devices/oriole/proprietary/BoardConfigVendor.mk
+endif
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 267bc29..cf57ec0 100644
--- a/oriole/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/oriole/overlay/frameworks/base/core/res/res/values/config.xml
@@ -80,9 +80,9 @@
M 492,0
- h 118
+ h 124
v 118
- h -118
+ h -124
Z
@left
@@ -90,12 +90,10 @@
28px
-
- 124px
- 74px
-
- 124px
+
+ 74px
5px
@@ -229,6 +227,88 @@
non-zero amplitudes, to bring the vibrator amplitude down to zero using this timing. -->
50
+
+
+ - 0.0
+ - -0.85
+ - 0.0
+
+ - 0.4
+ - -0.25
+ - 100.0
+
+ - 0.4
+ - -0.25
+ - 100.0
+
+ - 0.0
+ - -0.85
+ - 100.0
+
+ - 0.0
+ - -0.85
+ - 100.0
+
+ - 0.4
+ - -0.25
+ - 100.0
+
+ - 0.4
+ - -0.25
+ - 100.0
+
+ - 0.0
+ - -0.85
+ - 100.0
+
+
+
+
+ - 0.0
+ - -0.85
+ - 0.0
+
+ - 0.4
+ - -0.25
+ - 50.0
+
+ - 0.4
+ - -0.25
+ - 100.0
+
+ - 0.0
+ - -0.85
+ - 50.0
+
+ - 0.0
+ - -0.85
+ - 100.0
+
+ - 0.4
+ - -0.25
+ - 50.0
+
+ - 0.4
+ - -0.25
+ - 100.0
+
+ - 0.0
+ - -0.85
+ - 50.0
+
+
64
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 29363c6..b364c4a 100644
--- a/oriole/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml
+++ b/oriole/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml
@@ -25,8 +25,8 @@
1px
-
- @*android:dimen/status_bar_height_portrait
+
+ @*android:dimen/status_bar_height
50
-
- 145px
- 28dp
+
+
+ - 0.0
+ - -0.85
+ - 0.0
-
- 145px
+ - 0.4
+ - -0.25
+ - 100.0
-
- false
+ - 0.4
+ - -0.25
+ - 100.0
+
+ - 0.0
+ - -0.85
+ - 100.0
+
+ - 0.0
+ - -0.85
+ - 100.0
+
+ - 0.4
+ - -0.25
+ - 100.0
+
+ - 0.4
+ - -0.25
+ - 100.0
+
+ - 0.0
+ - -0.85
+ - 100.0
+
+
+
+
+ - 0.0
+ - -0.85
+ - 0.0
+
+ - 0.4
+ - -0.25
+ - 50.0
+
+ - 0.4
+ - -0.25
+ - 100.0
+
+ - 0.0
+ - -0.85
+ - 50.0
+
+ - 0.0
+ - -0.85
+ - 100.0
+
+ - 0.4
+ - -0.25
+ - 50.0
+
+ - 0.4
+ - -0.25
+ - 100.0
+
+ - 0.0
+ - -0.85
+ - 50.0
+
+
+
+ 28dp
64
diff --git a/raven/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml b/raven/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml
index bd8bafa..fb6ecc9 100644
--- a/raven/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml
+++ b/raven/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml
@@ -22,8 +22,8 @@
1px
-
- @*android:dimen/status_bar_height_portrait
+
+ @*android:dimen/status_bar_height