diff --git a/OWNERS b/OWNERS
new file mode 100644
index 0000000..5aee848
--- /dev/null
+++ b/OWNERS
@@ -0,0 +1 @@
+per-file powerhint-*.json = jychen@google.com,jenhaochen@google.com,wvw@google.com,joaodias@google.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 @@ PRODUCT_COPY_FILES += \
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 @@
+
@@ -51,6 +52,7 @@
+
diff --git a/audio/oriole/config/audio_platform_configuration.xml b/audio/oriole/config/audio_platform_configuration.xml
index a4232cd..fa5571c 100644
--- a/audio/oriole/config/audio_platform_configuration.xml
+++ b/audio/oriole/config/audio_platform_configuration.xml
@@ -182,6 +182,8 @@
+
+
@@ -198,8 +200,8 @@
-
-
+
+
@@ -217,6 +219,10 @@
+
+
+
+
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"/>
+ flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD AUDIO_OUTPUT_FLAG_NON_BLOCKING AUDIO_OUTPUT_FLAG_GAPLESS_OFFLOAD">
@@ -64,6 +64,10 @@
+
+
+
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
@@ -196,25 +200,25 @@
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,immersive_out"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
+
+
+
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,immersive_out"/>
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
+
+
+
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
@@ -186,21 +190,21 @@
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,immersive_out"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/audio/oriole/config/mixer_paths.xml b/audio/oriole/config/mixer_paths.xml
index a39fcd0..d877752 100644
--- a/audio/oriole/config/mixer_paths.xml
+++ b/audio/oriole/config/mixer_paths.xml
@@ -30,6 +30,9 @@
+
+
+
@@ -110,6 +113,7 @@
+
@@ -132,6 +136,7 @@
+
@@ -142,6 +147,7 @@
+
@@ -429,6 +435,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
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 @@ PRODUCT_COPY_FILES += \
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 @@
+
@@ -51,6 +52,7 @@
+
diff --git a/audio/raven/config/audio_platform_configuration.xml b/audio/raven/config/audio_platform_configuration.xml
index a4232cd..fa5571c 100644
--- a/audio/raven/config/audio_platform_configuration.xml
+++ b/audio/raven/config/audio_platform_configuration.xml
@@ -182,6 +182,8 @@
+
+
@@ -198,8 +200,8 @@
-
-
+
+
@@ -217,6 +219,10 @@
+
+
+
+
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"/>
+ flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD AUDIO_OUTPUT_FLAG_NON_BLOCKING AUDIO_OUTPUT_FLAG_GAPLESS_OFFLOAD">
@@ -64,6 +64,10 @@
+
+
+
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
@@ -196,25 +200,25 @@
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,immersive_out"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
+
+
+
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,immersive_out"/>
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
+
+
+
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
@@ -186,21 +190,21 @@
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,immersive_out"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/audio/raven/config/mixer_paths.xml b/audio/raven/config/mixer_paths.xml
index a39fcd0..d877752 100644
--- a/audio/raven/config/mixer_paths.xml
+++ b/audio/raven/config/mixer_paths.xml
@@ -30,6 +30,9 @@
+
+
+
@@ -110,6 +113,7 @@
+
@@ -132,6 +136,7 @@
+
@@ -142,6 +147,7 @@
+
@@ -429,6 +435,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/audio/slider/config/audio_platform_configuration.xml b/audio/slider/config/audio_platform_configuration.xml
index bc63066..3d183b0 100644
--- a/audio/slider/config/audio_platform_configuration.xml
+++ b/audio/slider/config/audio_platform_configuration.xml
@@ -136,8 +136,8 @@
-
-
+
+
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 @@
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
+ encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
diff --git a/audio/whitefin/config/audio_platform_configuration.xml b/audio/whitefin/config/audio_platform_configuration.xml
index bc63066..3d183b0 100644
--- a/audio/whitefin/config/audio_platform_configuration.xml
+++ b/audio/whitefin/config/audio_platform_configuration.xml
@@ -136,8 +136,8 @@
-
-
+
+
diff --git a/bluetooth/bt_vendor_overlay.conf b/bluetooth/bt_vendor_overlay.conf
new file mode 100644
index 0000000..d5212db
--- /dev/null
+++ b/bluetooth/bt_vendor_overlay.conf
@@ -0,0 +1,3 @@
+# This is BTBCM HAL overlay configuration file.
+
+BtA2dpOffloadCap = sbc-aac-aptx-aptxhd-ldac-opus
diff --git a/conf/init.raven.rc b/conf/init.raven.rc
index 4d35ee1..5153c58 100644
--- a/conf/init.raven.rc
+++ b/conf/init.raven.rc
@@ -11,6 +11,10 @@ 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 31ff159..1437c49 100644
--- a/conf/init.raviole.rc
+++ b/conf/init.raviole.rc
@@ -66,3 +66,11 @@ on property:persist.vendor.se.ese2.mode=ctsmode
on property:sys.retaildemo.enabled=1
setprop persist.vendor.charge.stop.level 35
setprop persist.vendor.charge.start.level 30
+
+# Override SF and RE uclamps to 0 on boot after being set elsewhere, for adpf cpu hints
+on property:sys.boot_completed=1
+ trigger override-sf-uclamp
+
+on override-sf-uclamp
+ write /proc/vendor_sched/rt_uclamp_min 0
+ write /proc/vendor_sched/sf_uclamp_min 0
diff --git a/device-oriole.mk b/device-oriole.mk
index df3fa54..c9e69ab 100644
--- a/device-oriole.mk
+++ b/device-oriole.mk
@@ -41,6 +41,8 @@ else
include device/google/gs101/fingerprint/udfps_factory.mk
endif
+# go/lyric-soong-variables
+$(call soong_config_set,lyric,camera_hardware,oriole)
$(call soong_config_set,lyric,tuning_product,oriole)
$(call soong_config_set,google3a_config,target_device,oriole)
@@ -60,6 +62,7 @@ PRODUCT_COPY_FILES += \
# Thermal Config
PRODUCT_COPY_FILES += \
device/google/raviole/thermal_info_config_oriole.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json \
+ device/google/raviole/thermal_info_config_charge_oriole.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config_charge.json \
device/google/raviole/thermal_info_config_oriole_WHI_A.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config_WHI_A.json
# Power HAL config
@@ -68,7 +71,8 @@ PRODUCT_COPY_FILES += \
# 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 +124,7 @@ PRODUCT_COPY_FILES += \
PRODUCT_PACKAGES += \
NfcNci \
Tag \
- android.hardware.nfc@1.2-service.st
+ android.hardware.nfc-service.st
# SecureElement
PRODUCT_PACKAGES += \
@@ -134,7 +138,6 @@ PRODUCT_COPY_FILES += \
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
@@ -168,7 +171,7 @@ endif
# Increment the SVN for any official public releases
PRODUCT_VENDOR_PROPERTIES += \
- ro.vendor.build.svn=40
+ ro.vendor.build.svn=41
# Set support hide display cutout feature
PRODUCT_PRODUCT_PROPERTIES += \
@@ -213,6 +216,8 @@ PRODUCT_VENDOR_PROPERTIES += \
# Bluetooth HAL
PRODUCT_PACKAGES += \
bt_vendor.conf
+PRODUCT_COPY_FILES += \
+ device/google/raviole/bluetooth/bt_vendor_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth/bt_vendor_overlay.conf
# tetheroffload HAL
PRODUCT_PACKAGES += \
@@ -238,6 +243,13 @@ PRODUCT_PRODUCT_PROPERTIES += \
persist.bluetooth.le_audio_test=false
endif
+# declare use of spatial audio: disabled
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.audio.spatializer_enabled=false
+
+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
@@ -251,3 +263,7 @@ PRODUCT_COPY_FILES := \
$(PRODUCT_COPY_FILES)
PRODUCT_RESTRICT_VENDOR_FILES := false
+
+# Enable adpf cpu hint session for SurfaceFlinger
+PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
+ debug.sf.enable_adpf_cpu_hint=true
diff --git a/device-raven.mk b/device-raven.mk
index cc0b350..c337c13 100644
--- a/device-raven.mk
+++ b/device-raven.mk
@@ -41,12 +41,13 @@ include device/google/gs101/fingerprint/udfps_factory.mk
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
+# go/lyric-soong-variables
+$(call soong_config_set,lyric,camera_hardware,raven)
$(call soong_config_set,lyric,tuning_product,raven)
$(call soong_config_set,google3a_config,target_device,raven)
@@ -68,7 +69,8 @@ PRODUCT_COPY_FILES += \
# Thermal Config
PRODUCT_COPY_FILES += \
- device/google/raviole/thermal_info_config_raven.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json
+ device/google/raviole/thermal_info_config_raven.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json \
+ device/google/raviole/thermal_info_config_charge_raven.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config_charge.json
# Power HAL config
PRODUCT_COPY_FILES += \
@@ -76,7 +78,8 @@ PRODUCT_COPY_FILES += \
# 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 += \
@@ -108,7 +111,7 @@ 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=1
+PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.display.0.brightness.dimming.usage=1
# NFC
PRODUCT_COPY_FILES += \
@@ -132,7 +135,7 @@ endif
PRODUCT_PACKAGES += \
NfcNci \
Tag \
- android.hardware.nfc@1.2-service.st
+ android.hardware.nfc-service.st
# SecureElement
PRODUCT_PACKAGES += \
@@ -146,7 +149,6 @@ PRODUCT_COPY_FILES += \
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
@@ -178,7 +180,7 @@ endif
# Increment the SVN for any official public releases
PRODUCT_VENDOR_PROPERTIES += \
- ro.vendor.build.svn=40
+ ro.vendor.build.svn=41
# Set support hide display cutout feature
PRODUCT_PRODUCT_PROPERTIES += \
@@ -227,6 +229,8 @@ PRODUCT_VENDOR_PROPERTIES += \
# Bluetooth HAL
PRODUCT_PACKAGES += \
bt_vendor.conf
+PRODUCT_COPY_FILES += \
+ device/google/raviole/bluetooth/bt_vendor_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth/bt_vendor_overlay.conf
# tetheroffload HAL
PRODUCT_PACKAGES += \
@@ -252,6 +256,13 @@ PRODUCT_PRODUCT_PROPERTIES += \
persist.bluetooth.le_audio_test=false
endif
+# declare use of spatial audio: disabled
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.audio.spatializer_enabled=false
+
+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
@@ -265,3 +276,7 @@ PRODUCT_COPY_FILES := \
$(PRODUCT_COPY_FILES)
PRODUCT_RESTRICT_VENDOR_FILES := false
+
+# Enable adpf cpu hint session for SurfaceFlinger
+PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
+ debug.sf.enable_adpf_cpu_hint=true
diff --git a/device-slider.mk b/device-slider.mk
index bba1e52..07834b4 100644
--- a/device-slider.mk
+++ b/device-slider.mk
@@ -29,6 +29,8 @@ include device/google/raviole/audio/slider/audio-tables.mk
include hardware/google/pixel/vibrator/cs40l25/device.mk
include device/google/gs101/bluetooth/bluetooth.mk
+# go/lyric-soong-variables
+$(call soong_config_set,lyric,camera_hardware,slider)
$(call soong_config_set,lyric,tuning_product,slider)
$(call soong_config_set,google3a_config,target_device,slider)
@@ -84,7 +86,7 @@ PRODUCT_COPY_FILES += \
PRODUCT_PACKAGES += \
NfcNci \
Tag \
- android.hardware.nfc@1.2-service.st
+ android.hardware.nfc-service.st
# SecureElement
PRODUCT_PACKAGES += \
@@ -97,7 +99,6 @@ PRODUCT_COPY_FILES += \
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..41f5da2 100644
--- a/device-whitefin.mk
+++ b/device-whitefin.mk
@@ -29,6 +29,8 @@ include hardware/google/pixel/vibrator/drv2624/device.mk
include device/google/raviole/audio/whitefin/audio-tables.mk
include device/google/gs101/bluetooth/bluetooth.mk
+# go/lyric-soong-variables
+$(call soong_config_set,lyric,camera_hardware,slider)
$(call soong_config_set,lyric,tuning_product,slider)
$(call soong_config_set,google3a_config,target_device,slider)
@@ -76,10 +78,7 @@ PRODUCT_COPY_FILES += \
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 @@ modprobe|sec_touch.ko
# 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 @@ modprobe|sec_touch.ko
# 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 @@ wait|/sys/class/leds/vibrator
# 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 @@ modprobe|sec_touch.ko
# 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 @@ PRESENCE_CHECK_ALGORITHM=5
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 @@ PRESENCE_CHECK_ALGORITHM=5
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 @@ PRESENCE_CHECK_ALGORITHM=5
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..13aa728 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. -->
- 2000
+ 1000
4000
@@ -217,11 +217,6 @@
60
-
- 34
-
- 0.3
@@ -232,73 +227,94 @@
64
-
- - 1
- - 2
- - 3
- - 4
- - 5
- - 6
- - 7
- - 8
- - 9
- - 10
- - 20
- - 30
- - 40
- - 50
- - 60
- - 70
- - 80
- - 90
- - 100
-
+
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ - 9
+ - 10
+ - 20
+ - 30
+ - 40
+ - 50
+ - 60
+ - 70
+ - 80
+ - 90
+ - 100
+ - 200
+ - 300
+ - 400
+ - 500
+ - 1000
+ - 2000
+ - 3000
+ - 4000
+
-
- - 11373
- - 5000
- - 4333
- - 3666
- - 3000
- - 2760
- - 2520
- - 2280
- - 2040
- - 1800
- - 800
- - 527
- - 500
- - 470
- - 396
- - 322
- - 248
- - 174
- - 99
- - 99
-
+
+ - 5186
+ - 4333
+ - 3666
+ - 2999
+ - 2759
+ - 2519
+ - 2279
+ - 2039
+ - 1799
+ - 799
+ - 527
+ - 499
+ - 470
+ - 517
+ - 565
+ - 612
+ - 660
+ - 708
+ - 742
+ - 636
+ - 582
+ - 549
+ - 369
+ - 294
+ - 269
+ - 220
+ - 220
+
-
- - 853
- - 700
- - 683
- - 666
- - 650
- - 640
- - 630
- - 620
- - 610
- - 600
- - 500
- - 500
- - 440
- - 385
- - 348
- - 311
- - 274
- - 237
- - 200
- - 200
-
+
+ - 525
+ - 683
+ - 666
+ - 650
+ - 640
+ - 630
+ - 620
+ - 610
+ - 600
+ - 500
+ - 500
+ - 440
+ - 385
+ - 382
+ - 379
+ - 376
+ - 373
+ - 371
+ - 367
+ - 387
+ - 397
+ - 403
+ - 380
+ - 345
+ - 333
+ - 283
+ - 283
+
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 @@
- 75
- - 0
- - 156
- - 145
+ - 2
+ - 3.5
+ - 198
- 153
- 212
- 292
- 359
- 471
+ 223
+ 243
+ 298
+ 573
+ 668
- 3700
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 @@
0
+
+
+ 16px
diff --git a/powerhint-oriole.json b/powerhint-oriole.json
index a6934b2..cbbbbae 100644
--- a/powerhint-oriole.json
+++ b/powerhint-oriole.json
@@ -144,9 +144,7 @@
"Path": "/proc/vendor_sched/ta_uclamp_min",
"Values": [
"553",
- "185",
- "1",
- "55"
+ "1"
],
"ResetOnInit": true
},
@@ -159,16 +157,6 @@
],
"ResetOnInit": true
},
- {
- "Name": "SFUClampBoost",
- "Path": "/proc/vendor_sched/sf_uclamp_min",
- "Values": [
- "161",
- "85",
- "39"
- ],
- "ResetOnInit": true
- },
{
"Name": "MLUclampBoost",
"Path": "/proc/vendor_sched/nnapi_uclamp_min",
@@ -224,15 +212,6 @@
],
"ResetOnInit": true
},
- {
- "Name": "RestrictedCpuset",
- "Path": "/dev/cpuset/restricted/cpus",
- "Values": [
- "0-3",
- "0-7"
- ],
- "ResetOnInit": false
- },
{
"Name": "CDHighCpusetCpus",
"Path": "/dev/cpuset/camera-daemon-high-group/cpus",
@@ -483,15 +462,31 @@
"1"
],
"DefaultIndex": 0
+ },
+ {
+ "Name": "Dex2oatThreads",
+ "Path": "vendor.powerhal.dalvik.vm.dex2oat-threads",
+ "Values": [
+ "1",
+ "2",
+ "4",
+ "6",
+ "8"
+ ],
+ "Type": "Property"
+ },
+ {
+ "Name": "Dex2oatCPUSet",
+ "Path": "vendor.powerhal.dalvik.vm.dex2oat-cpu-set",
+ "Values": [
+ "0,1,2,3",
+ "0,1,2,3,4,5",
+ "0,1,2,3,4,5,6,7"
+ ],
+ "Type": "Property"
}
],
"Actions": [
- {
- "PowerHint": "INTERACTION",
- "Node": "SFUClampBoost",
- "Duration": 5000,
- "Value": "85"
- },
{
"PowerHint": "LAUNCH",
"Node": "UClampThreshold",
@@ -510,12 +505,6 @@
"Duration": 5000,
"Value": "1"
},
- {
- "PowerHint": "LAUNCH",
- "Node": "SFUClampBoost",
- "Duration": 5000,
- "Value": "85"
- },
{
"PowerHint": "LAUNCH",
"Node": "CPUBigClusterMaxFreq",
@@ -1288,71 +1277,19 @@
"PowerHint": "REFRESH_90FPS",
"Node": "TAUClampBoost",
"Duration": 0,
- "Value": "55"
+ "Value": "1"
},
{
"PowerHint": "REFRESH_60FPS",
"Node": "TAUClampBoost",
"Duration": 0,
- "Value": "55"
- },
- {
- "PowerHint": "ADPF_DISABLE_TA_BOOST",
- "Node": "TAUClampBoost",
- "Duration": 0,
"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"
+ "Duration": 0,
+ "Value": "1"
},
{
"PowerHint": "DISPLAY_IDLE",
@@ -1366,21 +1303,6 @@
"Duration": 0,
"Value": "1"
},
- {
- "PowerHint": "DISPLAY_IDLE",
- "Type": "EndHint",
- "Value": "INTERACTION"
- },
- {
- "PowerHint": "DISPLAY_IDLE",
- "Type": "EndHint",
- "Value": "BOOST_90HZ"
- },
- {
- "PowerHint": "DISPLAY_IDLE",
- "Type": "EndHint",
- "Value": "BOOST_60HZ"
- },
{
"PowerHint": "DISPLAY_IDLE",
"Type": "EndHint",
@@ -1416,6 +1338,138 @@
"Duration": 0,
"Value": "400000"
},
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
+ "Node": "PMU_POLL",
+ "Duration": 0,
+ "Value": "1"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
+ "Node": "BigControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
+ "Node": "MidControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
+ "Node": "LittleControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
+ "Node": "G3dControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
+ "Node": "BigSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
+ "Node": "MidSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
+ "Node": "LittleSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
+ "Node": "G3dSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
+ "Node": "Dex2oatThreads",
+ "Duration": 0,
+ "Value": "6"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
+ "Node": "Dex2oatCPUSet",
+ "Duration": 0,
+ "Value": "0,1,2,3,4,5"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_MODERATE",
+ "Node": "PMU_POLL",
+ "Duration": 0,
+ "Value": "1"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_MODERATE",
+ "Node": "BigControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_MODERATE",
+ "Node": "MidControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_MODERATE",
+ "Node": "LittleControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_MODERATE",
+ "Node": "G3dControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_MODERATE",
+ "Node": "BigSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_MODERATE",
+ "Node": "MidSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_MODERATE",
+ "Node": "LittleSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_MODERATE",
+ "Node": "G3dSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_MODERATE",
+ "Node": "Dex2oatThreads",
+ "Duration": 0,
+ "Value": "4"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_MODERATE",
+ "Node": "Dex2oatCPUSet",
+ "Duration": 0,
+ "Value": "0,1,2,3"
+ },
{
"PowerHint": "THERMAL_VIRTUAL-SKIN_SEVERE",
"Node": "PMU_POLL",
@@ -1471,16 +1525,166 @@
"Value": "60000"
},
{
- "PowerHint": "FACE_UNLOCK_BOOST",
- "Node": "CPUBigClusterMaxFreq",
- "Duration": 1000,
- "Value": "9999999"
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_SEVERE",
+ "Node": "Dex2oatThreads",
+ "Duration": 0,
+ "Value": "4"
},
{
- "PowerHint": "FACE_UNLOCK_BOOST",
- "Node": "CPUBigClusterMinFreq",
- "Duration": 1000,
- "Value": "9999999"
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_SEVERE",
+ "Node": "Dex2oatCPUSet",
+ "Duration": 0,
+ "Value": "0,1,2,3"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_CRITICAL",
+ "Node": "PMU_POLL",
+ "Duration": 0,
+ "Value": "1"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_CRITICAL",
+ "Node": "BigControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_CRITICAL",
+ "Node": "MidControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_CRITICAL",
+ "Node": "LittleControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_CRITICAL",
+ "Node": "G3dControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_CRITICAL",
+ "Node": "BigSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_CRITICAL",
+ "Node": "MidSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_CRITICAL",
+ "Node": "LittleSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_CRITICAL",
+ "Node": "G3dSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_CRITICAL",
+ "Node": "Dex2oatThreads",
+ "Duration": 0,
+ "Value": "2"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_CRITICAL",
+ "Node": "Dex2oatCPUSet",
+ "Duration": 0,
+ "Value": "0,1,2,3"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
+ "Node": "PMU_POLL",
+ "Duration": 0,
+ "Value": "1"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
+ "Node": "CPU_LITTLE_TSKIN_BYPASS",
+ "Duration": 0,
+ "Value": "0"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
+ "Node": "CPU_MID_TSKIN_BYPASS",
+ "Duration": 0,
+ "Value": "0"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
+ "Node": "CPU_BIG_TSKIN_BYPASS",
+ "Duration": 0,
+ "Value": "0"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
+ "Node": "BigControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
+ "Node": "MidControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
+ "Node": "LittleControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
+ "Node": "G3dControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
+ "Node": "BigSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
+ "Node": "MidSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
+ "Node": "LittleSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
+ "Node": "G3dSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
+ "Node": "Dex2oatThreads",
+ "Duration": 0,
+ "Value": "1"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
+ "Node": "Dex2oatCPUSet",
+ "Duration": 0,
+ "Value": "0,1,2,3"
},
{
"PowerHint": "FACE_UNLOCK_BOOST",
@@ -1542,78 +1746,6 @@
"Duration": 1000,
"Value": "1"
},
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
- "Node": "PMU_POLL",
- "Duration": 0,
- "Value": "1"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
- "Node": "CPU_LITTLE_TSKIN_BYPASS",
- "Duration": 0,
- "Value": "0"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
- "Node": "CPU_MID_TSKIN_BYPASS",
- "Duration": 0,
- "Value": "0"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
- "Node": "CPU_BIG_TSKIN_BYPASS",
- "Duration": 0,
- "Value": "0"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
- "Node": "BigControlTempSet",
- "Duration": 0,
- "Value": "80000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
- "Node": "MidControlTempSet",
- "Duration": 0,
- "Value": "80000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
- "Node": "LittleControlTempSet",
- "Duration": 0,
- "Value": "80000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
- "Node": "G3dControlTempSet",
- "Duration": 0,
- "Value": "80000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
- "Node": "BigSwitchOnTempSet",
- "Duration": 0,
- "Value": "60000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
- "Node": "MidSwitchOnTempSet",
- "Duration": 0,
- "Value": "60000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
- "Node": "LittleSwitchOnTempSet",
- "Duration": 0,
- "Value": "60000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
- "Node": "G3dSwitchOnTempSet",
- "Duration": 0,
- "Value": "60000"
- },
{
"PowerHint": "ML_ACC",
"Node": "MLUclampBoost",
@@ -1625,24 +1757,6 @@
"Node": "PMQoSCpuDmaLatency",
"Duration": 2000,
"Value": "44"
- },
- {
- "PowerHint": "DEVICE_IDLE",
- "Node": "RestrictedCpuset",
- "Duration": 0,
- "Value": "0-3"
- },
- {
- "PowerHint": "DISPLAY_INACTIVE",
- "Node": "RestrictedCpuset",
- "Duration": 0,
- "Value": "0-3"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
- "Node": "PMU_POLL",
- "Duration": 0,
- "Value": "1"
}
],
"AdpfConfig": [
diff --git a/powerhint-raven.json b/powerhint-raven.json
index 3b9b980..a232909 100644
--- a/powerhint-raven.json
+++ b/powerhint-raven.json
@@ -143,9 +143,7 @@
"Path": "/proc/vendor_sched/ta_uclamp_min",
"Values": [
"553",
- "185",
- "1",
- "55"
+ "1"
],
"ResetOnInit": true
},
@@ -158,16 +156,6 @@
],
"ResetOnInit": true
},
- {
- "Name": "SFUClampBoost",
- "Path": "/proc/vendor_sched/sf_uclamp_min",
- "Values": [
- "161",
- "85",
- "39"
- ],
- "ResetOnInit": true
- },
{
"Name": "MLUclampBoost",
"Path": "/proc/vendor_sched/nnapi_uclamp_min",
@@ -223,15 +211,6 @@
],
"ResetOnInit": true
},
- {
- "Name": "RestrictedCpuset",
- "Path": "/dev/cpuset/restricted/cpus",
- "Values": [
- "0-3",
- "0-7"
- ],
- "ResetOnInit": false
- },
{
"Name": "CDHighCpusetCpus",
"Path": "/dev/cpuset/camera-daemon-high-group/cpus",
@@ -482,15 +461,31 @@
"1"
],
"DefaultIndex": 0
+ },
+ {
+ "Name": "Dex2oatThreads",
+ "Path": "vendor.powerhal.dalvik.vm.dex2oat-threads",
+ "Values": [
+ "1",
+ "2",
+ "4",
+ "6",
+ "8"
+ ],
+ "Type": "Property"
+ },
+ {
+ "Name": "Dex2oatCPUSet",
+ "Path": "vendor.powerhal.dalvik.vm.dex2oat-cpu-set",
+ "Values": [
+ "0,1,2,3",
+ "0,1,2,3,4,5",
+ "0,1,2,3,4,5,6,7"
+ ],
+ "Type": "Property"
}
],
"Actions": [
- {
- "PowerHint": "INTERACTION",
- "Node": "SFUClampBoost",
- "Duration": 5000,
- "Value": "85"
- },
{
"PowerHint": "LAUNCH",
"Node": "UClampThreshold",
@@ -503,29 +498,12 @@
"Duration": 5000,
"Value": "0"
},
- {
- "PowerHint": "LAUNCH_120FPS",
- "Node": "SFUClampBoost",
- "Duration": 1000,
- "Value": "161"
- },
{
"PowerHint": "LAUNCH",
"Node": "FGPreferIdle",
"Duration": 5000,
"Value": "1"
},
- {
- "PowerHint": "LAUNCH",
- "Type": "DoHint",
- "Value": "LAUNCH_120FPS"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "SFUClampBoost",
- "Duration": 5000,
- "Value": "85"
- },
{
"PowerHint": "LAUNCH",
"Node": "CPUBigClusterMaxFreq",
@@ -1280,76 +1258,19 @@
"PowerHint": "REFRESH_120FPS",
"Node": "TAUClampBoost",
"Duration": 0,
- "Value": "55"
+ "Value": "1"
},
{
"PowerHint": "REFRESH_60FPS",
"Node": "TAUClampBoost",
"Duration": 0,
- "Value": "55"
- },
- {
- "PowerHint": "REFRESH_60FPS",
- "Type": "MaskHint",
- "Value": "LAUNCH_120FPS"
- },
- {
- "PowerHint": "ADPF_DISABLE_TA_BOOST",
- "Node": "TAUClampBoost",
- "Duration": 0,
"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"
+ "Duration": 0,
+ "Value": "1"
},
{
"PowerHint": "DISPLAY_IDLE",
@@ -1363,21 +1284,6 @@
"Duration": 0,
"Value": "1"
},
- {
- "PowerHint": "DISPLAY_IDLE",
- "Type": "EndHint",
- "Value": "INTERACTION"
- },
- {
- "PowerHint": "DISPLAY_IDLE",
- "Type": "EndHint",
- "Value": "BOOST_120HZ"
- },
- {
- "PowerHint": "DISPLAY_IDLE",
- "Type": "EndHint",
- "Value": "BOOST_60HZ"
- },
{
"PowerHint": "DISPLAY_IDLE",
"Type": "EndHint",
@@ -1413,6 +1319,138 @@
"Duration": 0,
"Value": "400000"
},
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
+ "Node": "PMU_POLL",
+ "Duration": 0,
+ "Value": "1"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
+ "Node": "BigControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
+ "Node": "MidControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
+ "Node": "LittleControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
+ "Node": "G3dControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
+ "Node": "BigSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
+ "Node": "MidSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
+ "Node": "LittleSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
+ "Node": "G3dSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
+ "Node": "Dex2oatThreads",
+ "Duration": 0,
+ "Value": "6"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
+ "Node": "Dex2oatCPUSet",
+ "Duration": 0,
+ "Value": "0,1,2,3,4,5"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_MODERATE",
+ "Node": "PMU_POLL",
+ "Duration": 0,
+ "Value": "1"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_MODERATE",
+ "Node": "BigControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_MODERATE",
+ "Node": "MidControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_MODERATE",
+ "Node": "LittleControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_MODERATE",
+ "Node": "G3dControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_MODERATE",
+ "Node": "BigSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_MODERATE",
+ "Node": "MidSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_MODERATE",
+ "Node": "LittleSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_MODERATE",
+ "Node": "G3dSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_MODERATE",
+ "Node": "Dex2oatThreads",
+ "Duration": 0,
+ "Value": "4"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_MODERATE",
+ "Node": "Dex2oatCPUSet",
+ "Duration": 0,
+ "Value": "0,1,2,3"
+ },
{
"PowerHint": "THERMAL_VIRTUAL-SKIN_SEVERE",
"Node": "PMU_POLL",
@@ -1468,16 +1506,166 @@
"Value": "60000"
},
{
- "PowerHint": "FACE_UNLOCK_BOOST",
- "Node": "CPUBigClusterMaxFreq",
- "Duration": 1000,
- "Value": "9999999"
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_SEVERE",
+ "Node": "Dex2oatThreads",
+ "Duration": 0,
+ "Value": "4"
},
{
- "PowerHint": "FACE_UNLOCK_BOOST",
- "Node": "CPUBigClusterMinFreq",
- "Duration": 1000,
- "Value": "9999999"
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_SEVERE",
+ "Node": "Dex2oatCPUSet",
+ "Duration": 0,
+ "Value": "0,1,2,3"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_CRITICAL",
+ "Node": "PMU_POLL",
+ "Duration": 0,
+ "Value": "1"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_CRITICAL",
+ "Node": "BigControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_CRITICAL",
+ "Node": "MidControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_CRITICAL",
+ "Node": "LittleControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_CRITICAL",
+ "Node": "G3dControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_CRITICAL",
+ "Node": "BigSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_CRITICAL",
+ "Node": "MidSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_CRITICAL",
+ "Node": "LittleSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_CRITICAL",
+ "Node": "G3dSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_CRITICAL",
+ "Node": "Dex2oatThreads",
+ "Duration": 0,
+ "Value": "2"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_CRITICAL",
+ "Node": "Dex2oatCPUSet",
+ "Duration": 0,
+ "Value": "0,1,2,3"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
+ "Node": "PMU_POLL",
+ "Duration": 0,
+ "Value": "1"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
+ "Node": "CPU_LITTLE_TSKIN_BYPASS",
+ "Duration": 0,
+ "Value": "0"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
+ "Node": "CPU_MID_TSKIN_BYPASS",
+ "Duration": 0,
+ "Value": "0"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
+ "Node": "CPU_BIG_TSKIN_BYPASS",
+ "Duration": 0,
+ "Value": "0"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
+ "Node": "BigControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
+ "Node": "MidControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
+ "Node": "LittleControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
+ "Node": "G3dControlTempSet",
+ "Duration": 0,
+ "Value": "80000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
+ "Node": "BigSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
+ "Node": "MidSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
+ "Node": "LittleSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
+ "Node": "G3dSwitchOnTempSet",
+ "Duration": 0,
+ "Value": "60000"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
+ "Node": "Dex2oatThreads",
+ "Duration": 0,
+ "Value": "1"
+ },
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
+ "Node": "Dex2oatCPUSet",
+ "Duration": 0,
+ "Value": "0,1,2,3"
},
{
"PowerHint": "FACE_UNLOCK_BOOST",
@@ -1539,78 +1727,6 @@
"Duration": 1000,
"Value": "1"
},
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
- "Node": "PMU_POLL",
- "Duration": 0,
- "Value": "1"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
- "Node": "CPU_LITTLE_TSKIN_BYPASS",
- "Duration": 0,
- "Value": "0"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
- "Node": "CPU_MID_TSKIN_BYPASS",
- "Duration": 0,
- "Value": "0"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
- "Node": "CPU_BIG_TSKIN_BYPASS",
- "Duration": 0,
- "Value": "0"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
- "Node": "BigControlTempSet",
- "Duration": 0,
- "Value": "80000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
- "Node": "MidControlTempSet",
- "Duration": 0,
- "Value": "80000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
- "Node": "LittleControlTempSet",
- "Duration": 0,
- "Value": "80000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
- "Node": "G3dControlTempSet",
- "Duration": 0,
- "Value": "80000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
- "Node": "BigSwitchOnTempSet",
- "Duration": 0,
- "Value": "60000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
- "Node": "MidSwitchOnTempSet",
- "Duration": 0,
- "Value": "60000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
- "Node": "LittleSwitchOnTempSet",
- "Duration": 0,
- "Value": "60000"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
- "Node": "G3dSwitchOnTempSet",
- "Duration": 0,
- "Value": "60000"
- },
{
"PowerHint": "ML_ACC",
"Node": "MLUclampBoost",
@@ -1622,24 +1738,6 @@
"Node": "PMQoSCpuDmaLatency",
"Duration": 2000,
"Value": "44"
- },
- {
- "PowerHint": "DEVICE_IDLE",
- "Node": "RestrictedCpuset",
- "Duration": 0,
- "Value": "0-3"
- },
- {
- "PowerHint": "DISPLAY_INACTIVE",
- "Node": "RestrictedCpuset",
- "Duration": 0,
- "Value": "0-3"
- },
- {
- "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
- "Node": "PMU_POLL",
- "Duration": 0,
- "Value": "1"
}
],
"AdpfConfig": [
diff --git a/powerhint-slider.json b/powerhint-slider.json
index 1e2df3f..4c50d32 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
@@ -1246,94 +1241,6 @@
"Duration": 0,
"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",
@@ -1351,21 +1258,6 @@
"Type": "EndHint",
"Value": "INTERACTION"
},
- {
- "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",
@@ -1377,11 +1269,6 @@
"Duration": 50,
"Value": "1"
},
- {
- "PowerHint": "DISPLAY_UPDATE_IMMINENT",
- "Type": "DoHint",
- "Value": "BOOST_DISPLAY"
- },
{
"PowerHint": "THERMAL_FLASH_LED_REDUCE_CRITICAL",
"Node": "LimitFlashCurrent",
@@ -1460,18 +1347,6 @@
"Duration": 0,
"Value": "60000"
},
- {
- "PowerHint": "FACE_UNLOCK_BOOST",
- "Node": "CPUBigClusterMaxFreq",
- "Duration": 1000,
- "Value": "9999999"
- },
- {
- "PowerHint": "FACE_UNLOCK_BOOST",
- "Node": "CPUBigClusterMinFreq",
- "Duration": 1000,
- "Value": "9999999"
- },
{
"PowerHint": "FP_BOOST",
"Node": "CPUBigClusterMaxFreq",
diff --git a/powerhint-whitefin.json b/powerhint-whitefin.json
index a590283..b7f5dea 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
@@ -1231,94 +1226,6 @@
"Duration": 0,
"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",
@@ -1336,21 +1243,6 @@
"Type": "EndHint",
"Value": "INTERACTION"
},
- {
- "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",
@@ -1362,11 +1254,6 @@
"Duration": 50,
"Value": "1"
},
- {
- "PowerHint": "DISPLAY_UPDATE_IMMINENT",
- "Type": "DoHint",
- "Value": "BOOST_DISPLAY"
- },
{
"PowerHint": "THERMAL_FLASH_LED_REDUCE_CRITICAL",
"Node": "LimitFlashCurrent",
@@ -1439,18 +1326,6 @@
"Duration": 0,
"Value": "60000"
},
- {
- "PowerHint": "FACE_UNLOCK_BOOST",
- "Node": "CPUBigClusterMaxFreq",
- "Duration": 1000,
- "Value": "9999999"
- },
- {
- "PowerHint": "FACE_UNLOCK_BOOST",
- "Node": "CPUBigClusterMinFreq",
- "Duration": 1000,
- "Value": "9999999"
- },
{
"PowerHint": "FP_BOOST",
"Node": "CPUBigClusterMaxFreq",
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 6fd22bc..7c7b5b7 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. -->
- 2000
+ 1000
4000
@@ -183,11 +183,6 @@
http://www.gstatic.com/android/sms/G8V0U.xml
-
- 25
-
- 0.3
@@ -202,76 +197,100 @@
130px
28dp
+
+ false
+
64
-
- - 1
- - 2
- - 3
- - 4
- - 5
- - 6
- - 7
- - 8
- - 9
- - 10
- - 20
- - 30
- - 40
- - 50
- - 60
- - 70
- - 80
- - 90
- - 100
-
+
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ - 9
+ - 10
+ - 20
+ - 30
+ - 40
+ - 50
+ - 60
+ - 70
+ - 80
+ - 90
+ - 100
+ - 200
+ - 300
+ - 400
+ - 500
+ - 1000
+ - 2000
+ - 3000
+ - 4000
+
-
- - 11373
- - 5000
- - 4333
- - 3666
- - 3000
- - 2760
- - 2520
- - 2280
- - 2040
- - 1800
- - 800
- - 527
- - 500
- - 470
- - 396
- - 322
- - 248
- - 174
- - 99
- - 99
-
+
+ - 5186
+ - 4333
+ - 3666
+ - 2999
+ - 2759
+ - 2519
+ - 2279
+ - 2039
+ - 1799
+ - 799
+ - 527
+ - 499
+ - 470
+ - 517
+ - 565
+ - 612
+ - 660
+ - 708
+ - 742
+ - 636
+ - 582
+ - 549
+ - 369
+ - 294
+ - 269
+ - 220
+ - 220
+
-
- - 853
- - 700
- - 683
- - 666
- - 650
- - 640
- - 630
- - 620
- - 610
- - 600
- - 500
- - 500
- - 440
- - 385
- - 348
- - 311
- - 274
- - 237
- - 200
- - 200
-
+
+ - 525
+ - 683
+ - 666
+ - 650
+ - 640
+ - 630
+ - 620
+ - 610
+ - 600
+ - 500
+ - 500
+ - 440
+ - 385
+ - 382
+ - 379
+ - 376
+ - 373
+ - 371
+ - 367
+ - 387
+ - 397
+ - 403
+ - 380
+ - 345
+ - 333
+ - 283
+ - 283
+
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 @@
- 75
- - 0
- - 156
- - 145
+ - 2
+ - 3.5
+ - 198
- 153
- 212
- 292
- 359
- 471
+ 223
+ 243
+ 298
+ 573
+ 668
- 3700
diff --git a/thermal_info_config_charge_oriole.json b/thermal_info_config_charge_oriole.json
new file mode 100644
index 0000000..280dd33
--- /dev/null
+++ b/thermal_info_config_charge_oriole.json
@@ -0,0 +1,483 @@
+{
+ "Sensors":[
+ {
+ "Name":"battery",
+ "Type":"BATTERY",
+ "HotThreshold":[
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "60.0"
+ ],
+ "VrThreshold":"NAN",
+ "Multiplier":0.001
+ },
+ {
+ "Name":"gnss_tcxo_therm",
+ "Type":"UNKNOWN",
+ "HotThreshold":[
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN"
+ ],
+ "TempPath":"/dev/thermal/tz-by-name/gnss_tcxo_therm/adc_channel/channel_temp",
+ "VrThreshold":"NAN",
+ "Multiplier":0.001
+ },
+ {
+ "Name":"qi_therm",
+ "Type":"UNKNOWN",
+ "HotThreshold":[
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN"
+ ],
+ "TempPath":"/dev/thermal/tz-by-name/qi_therm/adc_channel/channel_temp",
+ "VrThreshold":"NAN",
+ "Multiplier":0.001
+ },
+ {
+ "Name":"usb_pwr_therm",
+ "Type":"UNKNOWN",
+ "HotThreshold":[
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN"
+ ],
+ "TempPath":"/dev/thermal/tz-by-name/usb_pwr_therm/adc_channel/channel_temp",
+ "VrThreshold":"NAN",
+ "Multiplier":0.001
+ },
+ {
+ "Name":"usb_pwr_therm2",
+ "Type":"UNKNOWN",
+ "HotThreshold":[
+ "NAN",
+ "35.0",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN"
+ ],
+ "HotHysteresis":[
+ 0.0,
+ 0.9,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0
+ ],
+ "TempPath":"/dev/thermal/tz-by-name/usb_pwr_therm2/adc_channel/channel_temp",
+ "VrThreshold":"NAN",
+ "Multiplier":0.001,
+ "PollingDelay":60000,
+ "PassiveDelay":7000
+ },
+ {
+ "Name":"disp_therm",
+ "Type":"UNKNOWN",
+ "HotThreshold":[
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN"
+ ],
+ "TempPath":"/dev/thermal/tz-by-name/disp_therm/adc_channel/channel_temp",
+ "VrThreshold":"NAN",
+ "Multiplier":0.001
+ },
+ {
+ "Name":"quiet_therm",
+ "Type":"UNKNOWN",
+ "HotThreshold":[
+ "NAN",
+ "32.9",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN"
+ ],
+ "HotHysteresis":[
+ 0.0,
+ 0.9,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0
+ ],
+ "TempPath":"/dev/thermal/tz-by-name/quiet_therm/adc_channel/channel_temp",
+ "VrThreshold":"NAN",
+ "Multiplier":0.001,
+ "PollingDelay":60000,
+ "PassiveDelay":7000
+ },
+ {
+ "Name":"VIRTUAL-QI-GNSS",
+ "Type":"UNKNOWN",
+ "Hidden":true,
+ "VirtualSensor":true,
+ "Formula":"WEIGHTED_AVG",
+ "Combination":[
+ "qi_therm",
+ "gnss_tcxo_therm"
+ ],
+ "Coefficient":[
+ "0.25",
+ "0.75"
+ ],
+ "Offset":-4500,
+ "HotThreshold":[
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN"
+ ],
+ "VrThreshold":"NAN",
+ "Multiplier":0.001
+ },
+ {
+ "Name":"VIRTUAL-QI-BATT",
+ "Type":"UNKNOWN",
+ "Hidden":true,
+ "VirtualSensor":true,
+ "Formula":"WEIGHTED_AVG",
+ "Combination":[
+ "qi_therm",
+ "battery"
+ ],
+ "Coefficient":[
+ "0.22",
+ "0.78"
+ ],
+ "Offset":-500,
+ "HotThreshold":[
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN"
+ ],
+ "VrThreshold":"NAN",
+ "Multiplier":0.001
+ },
+ {
+ "Name":"VIRTUAL-USB2-DISP",
+ "Type":"UNKNOWN",
+ "Hidden":true,
+ "VirtualSensor":true,
+ "Formula":"WEIGHTED_AVG",
+ "Combination":[
+ "usb_pwr_therm2",
+ "disp_therm"
+ ],
+ "Coefficient":[
+ "0.16",
+ "0.84"
+ ],
+ "Offset":1500,
+ "HotThreshold":[
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN"
+ ],
+ "VrThreshold":"NAN",
+ "Multiplier":0.001
+ },
+ {
+ "Name":"VIRTUAL-QUIET-BATT",
+ "Type":"UNKNOWN",
+ "Hidden":true,
+ "VirtualSensor":true,
+ "Formula":"WEIGHTED_AVG",
+ "Combination":[
+ "quiet_therm",
+ "battery"
+ ],
+ "Coefficient":[
+ "2.15",
+ "-1.15"
+ ],
+ "Offset":-2000,
+ "HotThreshold":[
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN"
+ ],
+ "VrThreshold":"NAN",
+ "Multiplier":0.001
+ },
+ {
+ "Name":"VIRTUAL-SKIN-CHARGE",
+ "Type":"UNKNOWN",
+ "Hidden":true,
+ "VirtualSensor":true,
+ "TriggerSensor":"quiet_therm",
+ "Formula":"MAXIMUM",
+ "Combination":[
+ "VIRTUAL-QI-GNSS",
+ "VIRTUAL-QI-BATT",
+ "VIRTUAL-USB2-DISP",
+ "VIRTUAL-QUIET-BATT"
+ ],
+ "Coefficient":[
+ "1.0",
+ "1.0",
+ "1.0",
+ "1.0"
+ ],
+ "HotThreshold":[
+ "NAN",
+ "39.0",
+ "41.0",
+ "43.0",
+ "45.0",
+ "47.0",
+ "55.0"
+ ],
+ "HotHysteresis":[
+ 0.0,
+ 1.9,
+ 1.9,
+ 1.9,
+ 1.9,
+ 1.9,
+ 1.9
+ ],
+ "VrThreshold":"NAN",
+ "Multiplier":0.001,
+ "PollingDelay":300000,
+ "PassiveDelay":7000,
+ "BindedCdevInfo": [
+ {
+ "CdevRequest": "fcc",
+ "LimitInfo": [0, 2, 3, 3, 4, 4, 4],
+ "BindedPowerRail": "POWER_FOR_CHARGING_THROTTLING",
+ "PowerThreshold": [500, 500, 500, 500, 0, 0, 0],
+ "CdevFloorWithPowerLink": [0, 0, 2, 2, 4 ,4 ,4],
+ "ReleaseLogic": "RELEASE_TO_FLOOR",
+ "ThrottlingWithPowerLink":true
+ },
+ {
+ "CdevRequest": "dc_icl",
+ "LimitInfo": [0, 1, 2, 3, 4, 4, 4],
+ "BindedPowerRail": "POWER_FOR_CHARGING_THROTTLING",
+ "PowerThreshold": [500, 500, 500, 500, 0, 0, 0],
+ "CdevFloorWithPowerLink": [0, 1, 2, 3, 4, 4, 4],
+ "ReleaseLogic": "RELEASE_TO_FLOOR",
+ "ThrottlingWithPowerLink":true
+ },
+ {
+ "CdevRequest": "wlc_fcc",
+ "LimitInfo": [0, 2, 2, 4, 5, 5, 5],
+ "BindedPowerRail": "POWER_FOR_CHARGING_THROTTLING",
+ "PowerThreshold": [500, 500, 500, 500, 0, 0, 0],
+ "CdevFloorWithPowerLink": [0, 1, 1, 2, 5, 5, 5],
+ "ReleaseLogic": "RELEASE_TO_FLOOR",
+ "ThrottlingWithPowerLink":true
+ }
+ ]
+ },
+ {
+ "Name":"USB2-MINUS-USB",
+ "Type":"UNKNOWN",
+ "Hidden":true,
+ "VirtualSensor":true,
+ "Formula":"WEIGHTED_AVG",
+ "Combination":[
+ "usb_pwr_therm2",
+ "usb_pwr_therm"
+ ],
+ "Coefficient":[
+ "1.0",
+ "-1.0"
+ ],
+ "HotThreshold":[
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN"
+ ],
+ "VrThreshold":"NAN",
+ "Multiplier":0.001
+ },
+ {
+ "Name":"USB2-MINUS-QI",
+ "Type":"UNKNOWN",
+ "Hidden":true,
+ "VirtualSensor":true,
+ "Formula":"WEIGHTED_AVG",
+ "Combination":[
+ "usb_pwr_therm2",
+ "qi_therm"
+ ],
+ "Coefficient":[
+ "1.0",
+ "-1.0"
+ ],
+ "HotThreshold":[
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN"
+ ],
+ "VrThreshold":"NAN",
+ "Multiplier":0.001
+ },
+ {
+ "Name":"VIRTUAL-USB-THROTTLING",
+ "Type":"USB_PORT",
+ "Hidden":true,
+ "VirtualSensor":true,
+ "Formula":"COUNT_THRESHOLD",
+ "TriggerSensor": "usb_pwr_therm2",
+ "Combination":[
+ "usb_pwr_therm2",
+ "USB2-MINUS-USB",
+ "USB2-MINUS-QI"
+ ],
+ "Coefficient":[
+ "35000",
+ "2000",
+ "10000"
+ ],
+ "HotThreshold":[
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "3.0",
+ "NAN",
+ "NAN"
+ ],
+ "BindedCdevInfo": [
+ {
+ "CdevRequest": "usbc-port",
+ "LimitInfo": [0, 0, 0, 0, 1, 1, 1]
+ }
+ ],
+ "VrThreshold":"NAN",
+ "Multiplier":1,
+ "PollingDelay":60000,
+ "PassiveDelay":7000
+ }
+ ],
+ "CoolingDevices":[
+ {
+ "Name":"fcc",
+ "Type":"BATTERY"
+ },
+ {
+ "Name":"dc_icl",
+ "Type":"BATTERY"
+ },
+ {
+ "Name":"wlc_fcc",
+ "Type":"BATTERY"
+ },
+ {
+ "Name":"usbc-port",
+ "Type":"BATTERY"
+ }
+ ],
+ "PowerRails":[
+ {
+ "Name":"PPVAR_VSYS_PWR_DISP"
+ },
+ {
+ "Name":"VSYS_PWR_MODEM"
+ },
+ {
+ "Name":"S2M_VDD_CPUCL2",
+ "PowerSampleDelay":14000,
+ "PowerSampleCount":5
+
+ },
+ {
+ "Name":"S3M_VDD_CPUCL1",
+ "PowerSampleDelay":14000,
+ "PowerSampleCount":5
+ },
+ {
+ "Name":"S4M_VDD_CPUCL0",
+ "PowerSampleDelay":14000,
+ "PowerSampleCount":5
+ },
+ {
+ "Name":"S5M_VDD_INT"
+ },
+ {
+ "Name":"S1M_VDD_MIF"
+ },
+ {
+ "Name":"S2S_VDD_G3D",
+ "PowerSampleDelay":14000,
+ "PowerSampleCount":5
+ },
+ {
+ "Name":"POWER_FOR_CHARGING_THROTTLING",
+ "VirtualRails":true,
+ "Formula":"WEIGHTED_AVG",
+ "Combination":[
+ "VSYS_PWR_MODEM",
+ "S2M_VDD_CPUCL2",
+ "S3M_VDD_CPUCL1",
+ "S4M_VDD_CPUCL0",
+ "S5M_VDD_INT",
+ "S1M_VDD_MIF",
+ "S2S_VDD_G3D"
+ ],
+ "Coefficient":[
+ "1.0",
+ "1.0",
+ "1.0",
+ "1.0",
+ "1.0",
+ "1.0",
+ "1.0"
+ ],
+ "PowerSampleDelay":14000,
+ "PowerSampleCount":5
+ }
+ ]
+}
diff --git a/thermal_info_config_charge_raven.json b/thermal_info_config_charge_raven.json
new file mode 100644
index 0000000..411383b
--- /dev/null
+++ b/thermal_info_config_charge_raven.json
@@ -0,0 +1,499 @@
+{
+ "Sensors":[
+ {
+ "Name":"battery",
+ "Type":"BATTERY",
+ "HotThreshold":[
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "60.0"
+ ],
+ "VrThreshold":"NAN",
+ "Multiplier":0.001
+ },
+ {
+ "Name":"neutral_therm",
+ "Type":"UNKNOWN",
+ "HotThreshold":[
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN"
+ ],
+ "TempPath":"/dev/thermal/tz-by-name/neutral_therm/adc_channel/channel_temp",
+ "VrThreshold":"NAN",
+ "Multiplier":0.001
+ },
+ {
+ "Name":"gnss_tcxo_therm",
+ "Type":"UNKNOWN",
+ "HotThreshold":[
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN"
+ ],
+ "TempPath":"/dev/thermal/tz-by-name/gnss_tcxo_therm/adc_channel/channel_temp",
+ "VrThreshold":"NAN",
+ "Multiplier":0.001
+ },
+ {
+ "Name":"qi_therm",
+ "Type":"UNKNOWN",
+ "HotThreshold":[
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN"
+ ],
+ "TempPath":"/dev/thermal/tz-by-name/qi_therm/adc_channel/channel_temp",
+ "VrThreshold":"NAN",
+ "Multiplier":0.001
+ },
+ {
+ "Name":"quiet_therm",
+ "Type":"UNKNOWN",
+ "HotThreshold":[
+ "NAN",
+ "32.2",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN"
+ ],
+ "HotHysteresis":[
+ 0.0,
+ 0.9,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0
+ ],
+ "TempPath":"/dev/thermal/tz-by-name/quiet_therm/adc_channel/channel_temp",
+ "VrThreshold":"NAN",
+ "Multiplier":0.001,
+ "PollingDelay":60000,
+ "PassiveDelay":7000
+ },
+ {
+ "Name":"usb_pwr_therm",
+ "Type":"UNKNOWN",
+ "HotThreshold":[
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN"
+ ],
+ "TempPath":"/dev/thermal/tz-by-name/usb_pwr_therm/adc_channel/channel_temp",
+ "VrThreshold":"NAN",
+ "Multiplier":0.001
+ },
+ {
+ "Name":"usb_pwr_therm2",
+ "Type":"UNKNOWN",
+ "HotThreshold":[
+ "NAN",
+ "40.0",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN"
+ ],
+ "HotHysteresis":[
+ 0.0,
+ 0.9,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0
+ ],
+ "TempPath":"/dev/thermal/tz-by-name/usb_pwr_therm2/adc_channel/channel_temp",
+ "VrThreshold":"NAN",
+ "Multiplier":0.001,
+ "PollingDelay":60000,
+ "PassiveDelay":7000
+ },
+ {
+ "Name":"disp_therm",
+ "Type":"UNKNOWN",
+ "HotThreshold":[
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN"
+ ],
+ "TempPath":"/dev/thermal/tz-by-name/disp_therm/adc_channel/channel_temp",
+ "VrThreshold":"NAN",
+ "Multiplier":0.001
+ },
+ {
+ "Name":"VIRTUAL-NEUTRAL-QI",
+ "Type":"UNKNOWN",
+ "Hidden":true,
+ "VirtualSensor":true,
+ "Formula":"WEIGHTED_AVG",
+ "Combination":[
+ "neutral_therm",
+ "qi_therm"
+ ],
+ "Coefficient":[
+ "0.6",
+ "0.4"
+ ],
+ "Offset":-3000,
+ "HotThreshold":[
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN"
+ ],
+ "VrThreshold":"NAN",
+ "Multiplier":0.001
+ },
+ {
+ "Name":"VIRTUAL-USB2-BATT",
+ "Type":"UNKNOWN",
+ "Hidden":true,
+ "VirtualSensor":true,
+ "Formula":"WEIGHTED_AVG",
+ "Combination":[
+ "usb_pwr_therm2",
+ "battery"
+ ],
+ "Coefficient":[
+ "0.05",
+ "0.95"
+ ],
+ "Offset":1000,
+ "HotThreshold":[
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN"
+ ],
+ "VrThreshold":"NAN",
+ "Multiplier":0.001
+ },
+ {
+ "Name":"VIRTUAL-GNSS-BATT",
+ "Type":"UNKNOWN",
+ "Hidden":true,
+ "VirtualSensor":true,
+ "Formula":"WEIGHTED_AVG",
+ "Combination":[
+ "gnss_tcxo_therm",
+ "battery"
+ ],
+ "Coefficient":[
+ "0.50",
+ "0.50"
+ ],
+ "Offset":1500,
+ "HotThreshold":[
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN"
+ ],
+ "VrThreshold":"NAN",
+ "Multiplier":0.001
+ },
+ {
+ "Name":"VIRTUAL-QI-DISP",
+ "Type":"UNKNOWN",
+ "Hidden":true,
+ "VirtualSensor":true,
+ "Formula":"WEIGHTED_AVG",
+ "Combination":[
+ "qi_therm",
+ "disp_therm"
+ ],
+ "Coefficient":[
+ "0.15",
+ "0.85"
+ ],
+ "Offset":2000,
+ "HotThreshold":[
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN"
+ ],
+ "VrThreshold":"NAN",
+ "Multiplier":0.001
+ },
+ {
+ "Name":"VIRTUAL-SKIN-CHARGE",
+ "Type":"UNKNOWN",
+ "Hidden":true,
+ "VirtualSensor":true,
+ "TriggerSensor":"quiet_therm",
+ "Formula":"MAXIMUM",
+ "Combination":[
+ "VIRTUAL-NEUTRAL-QI",
+ "VIRTUAL-USB2-BATT",
+ "VIRTUAL-GNSS-BATT",
+ "VIRTUAL-QI-DISP"
+ ],
+ "Coefficient":[
+ "1.0",
+ "1.0",
+ "1.0",
+ "1.0"
+ ],
+ "HotThreshold":[
+ "NAN",
+ "39.0",
+ "41.0",
+ "43.0",
+ "45.0",
+ "47.0",
+ "55.0"
+ ],
+ "HotHysteresis":[
+ 0.0,
+ 1.9,
+ 1.9,
+ 1.9,
+ 1.9,
+ 1.9,
+ 1.9
+ ],
+ "VrThreshold":"NAN",
+ "Multiplier":0.001,
+ "PollingDelay":300000,
+ "PassiveDelay":7000,
+ "BindedCdevInfo": [
+ {
+ "CdevRequest": "fcc",
+ "LimitInfo": [0, 2, 3, 3, 4, 4, 4],
+ "BindedPowerRail": "POWER_FOR_CHARGING_THROTTLING",
+ "PowerThreshold": [500, 500, 500, 500, 500, 0, 0],
+ "CdevFloorWithPowerLink": [0, 0, 2, 2, 3 ,4 ,4],
+ "ReleaseLogic": "RELEASE_TO_FLOOR",
+ "ThrottlingWithPowerLink":true
+ },
+ {
+ "CdevRequest": "dc_icl",
+ "LimitInfo": [0, 1, 2, 3, 4, 4, 4],
+ "BindedPowerRail": "POWER_FOR_CHARGING_THROTTLING",
+ "PowerThreshold": [500, 500, 500, 500, 500, 0, 0],
+ "CdevFloorWithPowerLink": [0, 1, 2, 3, 3, 4, 4],
+ "ReleaseLogic": "RELEASE_TO_FLOOR",
+ "ThrottlingWithPowerLink":true
+ },
+ {
+ "CdevRequest": "wlc_fcc",
+ "LimitInfo": [0, 3, 3, 4, 5, 5, 5],
+ "BindedPowerRail": "POWER_FOR_CHARGING_THROTTLING",
+ "PowerThreshold": [500, 500, 500, 500, 500, 0, 0],
+ "CdevFloorWithPowerLink": [0, 1, 2, 3, 4, 5, 5],
+ "ReleaseLogic": "RELEASE_TO_FLOOR",
+ "ThrottlingWithPowerLink":true
+ }
+ ]
+ },
+ {
+ "Name":"USB2-MINUS-USB",
+ "Type":"UNKNOWN",
+ "Hidden":true,
+ "VirtualSensor":true,
+ "Formula":"WEIGHTED_AVG",
+ "Combination":[
+ "usb_pwr_therm2",
+ "usb_pwr_therm"
+ ],
+ "Coefficient":[
+ "1.0",
+ "-1.0"
+ ],
+ "HotThreshold":[
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN"
+ ],
+ "VrThreshold":"NAN",
+ "Multiplier":0.001
+ },
+ {
+ "Name":"USB2-MINUS-QI",
+ "Type":"UNKNOWN",
+ "Hidden":true,
+ "VirtualSensor":true,
+ "Formula":"WEIGHTED_AVG",
+ "Combination":[
+ "usb_pwr_therm2",
+ "qi_therm"
+ ],
+ "Coefficient":[
+ "1.0",
+ "-1.0"
+ ],
+ "HotThreshold":[
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN"
+ ],
+ "VrThreshold":"NAN",
+ "Multiplier":0.001
+ },
+ {
+ "Name":"VIRTUAL-USB-THROTTLING",
+ "Type":"USB_PORT",
+ "Hidden":true,
+ "VirtualSensor":true,
+ "Formula":"COUNT_THRESHOLD",
+ "TriggerSensor": "usb_pwr_therm2",
+ "Combination":[
+ "usb_pwr_therm2",
+ "USB2-MINUS-USB",
+ "USB2-MINUS-QI"
+ ],
+ "Coefficient":[
+ "40000",
+ "4500",
+ "9000"
+ ],
+ "HotThreshold":[
+ "NAN",
+ "NAN",
+ "NAN",
+ "NAN",
+ "3.0",
+ "NAN",
+ "NAN"
+ ],
+ "BindedCdevInfo": [
+ {
+ "CdevRequest": "usbc-port",
+ "LimitInfo": [0, 0, 0, 0, 1, 1, 1]
+ }
+ ],
+ "VrThreshold":"NAN",
+ "Multiplier":1,
+ "PollingDelay":60000,
+ "PassiveDelay":7000
+ }
+ ],
+ "CoolingDevices":[
+ {
+ "Name":"fcc",
+ "Type":"BATTERY"
+ },
+ {
+ "Name":"dc_icl",
+ "Type":"BATTERY"
+ },
+ {
+ "Name":"wlc_fcc",
+ "Type":"BATTERY"
+ },
+ {
+ "Name":"usbc-port",
+ "Type":"BATTERY"
+ }
+ ],
+ "PowerRails":[
+ {
+ "Name":"PPVAR_VSYS_PWR_DISP"
+ },
+ {
+ "Name":"VSYS_PWR_MODEM"
+ },
+ {
+ "Name":"S2M_VDD_CPUCL2",
+ "PowerSampleDelay":14000,
+ "PowerSampleCount":5
+
+ },
+ {
+ "Name":"S3M_VDD_CPUCL1",
+ "PowerSampleDelay":14000,
+ "PowerSampleCount":5
+ },
+ {
+ "Name":"S4M_VDD_CPUCL0",
+ "PowerSampleDelay":14000,
+ "PowerSampleCount":5
+ },
+ {
+ "Name":"S5M_VDD_INT"
+ },
+ {
+ "Name":"S1M_VDD_MIF"
+ },
+ {
+ "Name":"S2S_VDD_G3D",
+ "PowerSampleDelay":14000,
+ "PowerSampleCount":5
+ },
+ {
+ "Name":"POWER_FOR_CHARGING_THROTTLING",
+ "VirtualRails":true,
+ "Formula":"WEIGHTED_AVG",
+ "Combination":[
+ "VSYS_PWR_MODEM",
+ "S2M_VDD_CPUCL2",
+ "S3M_VDD_CPUCL1",
+ "S4M_VDD_CPUCL0",
+ "S5M_VDD_INT",
+ "S1M_VDD_MIF",
+ "S2S_VDD_G3D"
+ ],
+ "Coefficient":[
+ "1.0",
+ "1.0",
+ "1.0",
+ "1.0",
+ "1.0",
+ "1.0",
+ "1.0"
+ ],
+ "PowerSampleDelay":14000,
+ "PowerSampleCount":5
+ }
+ ]
+}
diff --git a/uwb/Android.mk b/uwb/Android.mk
new file mode 100644
index 0000000..3a1cac4
--- /dev/null
+++ b/uwb/Android.mk
@@ -0,0 +1,26 @@
+
+#
+# Copyright (C) 2022 The Android Open-Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# WARNING: Everything listed here will be built on ALL platforms,
+# including x86, the universal, and the SDK. Modules must be uniquely
+# named (liblights.panda), and must build everywhere, or limit themselves
+# to only building on ARM if they include assembly. Individual makefiles
+# are responsible for having their own logic, for fine-grained control.
+LOCAL_PATH:= $(call my-dir)
+LOCAL_UWB_CAL_DIR=$(LOCAL_PATH)
+DEVICE_UWB_CAL_DIR=$(TARGET_OUT_VENDOR)/etc/uwb
+$(shell ($(LOCAL_UWB_CAL_DIR)/country_conf_gen.sh $(LOCAL_UWB_CAL_DIR) $(DEVICE_UWB_CAL_DIR)))
+
diff --git a/uwb/UWB-calibration-ce.conf b/uwb/UWB-calibration-ce.conf
new file mode 100644
index 0000000..231e286
--- /dev/null
+++ b/uwb/UWB-calibration-ce.conf
@@ -0,0 +1,141 @@
+[CCC]version=2
+[CCC]ant0.ch5.prf64.pdoa_iso_rf2_rf1=0
+[CCC]ant0.ch5.prf64.pdoa_iso_rf1_rf2=0
+[CCC]ant0.ch9.prf64.pdoa_iso_rf2_rf1=0
+[CCC]ant0.ch9.prf64.pdoa_iso_rf1_rf2=0
+[CCC]ant0.ch5.prf64.pdoa_offset=0
+[CCC]ant0.ch9.prf64.pdoa_offset=0
+[CCC]ant0.ch5.prf64.pll_locking_code=0
+[CCC]ant0.ch9.prf64.pll_locking_code=0
+[CCC]id=0
+[CCC]wifi_coex_time_gap=10
+[CCC]ap_coop_mode=1
+[CCC]antenna_selection=4
+[CCC]wifi_coex_min_spacing=0x08
+ant0.ch5.prf16.ant_delay=16414
+ant0.ch5.prf16.tx_power=0x4B4B234B
+ant0.ch5.prf16.pg_count=0
+ant0.ch5.prf16.pg_delay=0x34
+ant0.ch5.prf64.ant_delay=16414
+ant0.ch5.prf64.tx_power=0x4B4B234B
+ant0.ch5.prf64.pg_count=0
+ant0.ch5.prf64.pg_delay=0x34
+ant0.ch9.prf16.ant_delay=16426
+ant0.ch9.prf16.tx_power=0x53532B53
+ant0.ch9.prf16.pg_count=0
+ant0.ch9.prf16.pg_delay=0x34
+ant0.ch9.prf64.ant_delay=16426
+ant0.ch9.prf64.tx_power=0x53532B53
+ant0.ch9.prf64.pg_count=0
+ant0.ch9.prf64.pg_delay=0x34
+ant0.port=0
+ant0.selector_gpio=7
+ant0.selector_gpio_value=0
+ant1.ch5.prf16.ant_delay=16446
+ant1.ch5.prf16.tx_power=0x6B6B336B
+ant1.ch5.prf16.pg_count=0
+ant1.ch5.prf16.pg_delay=0x34
+ant1.ch5.prf64.ant_delay=16446
+ant1.ch5.prf64.tx_power=0x6B6B336B
+ant1.ch5.prf64.pg_count=0
+ant1.ch5.prf64.pg_delay=0x34
+ant1.ch9.prf16.ant_delay=16429
+ant1.ch9.prf16.tx_power=0
+ant1.ch9.prf16.pg_count=0
+ant1.ch9.prf16.pg_delay=0
+ant1.ch9.prf64.ant_delay=16429
+ant1.ch9.prf64.tx_power=0
+ant1.ch9.prf64.pg_count=0
+ant1.ch9.prf64.pg_delay=0
+ant1.port=0
+ant1.selector_gpio=7
+ant1.selector_gpio_value=1
+ant2.ch5.prf16.ant_delay=16446
+ant2.ch5.prf16.tx_power=0
+ant2.ch5.prf16.pg_count=0
+ant2.ch5.prf16.pg_delay=0
+ant2.ch5.prf64.ant_delay=16446
+ant2.ch5.prf64.tx_power=0
+ant2.ch5.prf64.pg_count=0
+ant2.ch5.prf64.pg_delay=0
+ant2.ch9.prf16.ant_delay=16429
+ant2.ch9.prf16.tx_power=0x47472347
+ant2.ch9.prf16.pg_count=0
+ant2.ch9.prf16.pg_delay=0x34
+ant2.ch9.prf64.ant_delay=16429
+ant2.ch9.prf64.tx_power=0x47472347
+ant2.ch9.prf64.pg_count=0
+ant2.ch9.prf64.pg_delay=0x34
+ant2.port=1
+ant2.selector_gpio=6
+ant2.selector_gpio_value=0
+ant3.ch5.prf16.ant_delay=16446
+ant3.ch5.prf16.tx_power=0
+ant3.ch5.prf16.pg_count=0
+ant3.ch5.prf16.pg_delay=0
+ant3.ch5.prf64.ant_delay=16446
+ant3.ch5.prf64.tx_power=0
+ant3.ch5.prf64.pg_count=0
+ant3.ch5.prf64.pg_delay=0
+ant3.ch9.prf16.ant_delay=16429
+ant3.ch9.prf16.tx_power=0x47472347
+ant3.ch9.prf16.pg_count=0
+ant3.ch9.prf16.pg_delay=0x34
+ant3.ch9.prf64.ant_delay=16429
+ant3.ch9.prf64.tx_power=0x47472347
+ant3.ch9.prf64.pg_count=0
+ant3.ch9.prf64.pg_delay=0x34
+ant3.port=1
+ant3.selector_gpio=6
+ant3.selector_gpio_value=1
+ant0.ant1.ch5.pdoa_offset=0
+ant0.ant1.ch9.pdoa_offset=0
+ant0.ant2.ch5.pdoa_offset=0
+ant0.ant2.ch9.pdoa_offset=0
+ant1.ant2.ch5.pdoa_offset=0
+ant1.ant2.ch9.pdoa_offset=0
+ant0.ant3.ch5.pdoa_offset=0
+ant0.ant3.ch9.pdoa_offset=0
+ant1.ant3.ch5.pdoa_offset=-4710
+ant1.ant3.ch9.pdoa_offset=-6144
+ant2.ant3.ch5.pdoa_offset=0
+ant2.ant3.ch9.pdoa_offset=0
+ch5.pll_locking_code=0
+ch9.pll_locking_code=0
+ant1.ant3.ch5.pdoa_lut=e1:f2:85:f5:ae:f3:3d:f6:52:f4:f6:f6:8f:f4:9a:f7:48:f5:52:f8:d7:f5:0a:f9:66:f6:ae:f9:85:f7:66:fa:8f:f8:1f:fb:48:f9:d7:fb:8f:fa:7b:fc:ec:fb:33:fd:0a:fd:ec:fd:66:fe:a4:fe:00:00:48:ff:71:01:00:00:b8:02:b8:00:29:04:64:01:ae:05:19:02:85:07:cb:02:33:09:7d:03:f6:0a:2f:04:0a:0d:e3:04:cd:0e:96:05:14:10:48:06:71:11:fa:06:66:12:ac:07:33:13:60:08:3d:14:12:09:85:15:c5:09:ec:15:77:0a
+ant1.ant3.ch9.pdoa_lut=e1:ec:f6:f6:48:ed:3d:f6:85:ed:85:f5:14:ee:9a:f7:3d:ee:52:f8:e1:ee:0a:f9:3d:f0:ae:f9:85:f1:66:fa:85:f3:1f:fb:00:f6:d7:fb:9a:f7:7b:fc:14:fa:33:fd:ec:fb:ec:fd:71:fd:a4:fe:cd:fe:48:ff:a4:00:00:00:85:01:b8:00:7b:02:5c:01:d7:03:14:02:cd:04:cd:02:48:07:85:03:ae:09:29:04:e1:0c:e1:04:7b:10:9a:05:cd:12:52:06:f6:14:f6:06:a4:16:ae:07:ae:17:0a:09:d7:17:c3:09:52:18:66:08:7b:18:7b:0a
+xtal_trim=31
+temperature_reference=85
+smart_tx_power=1
+auto_sleep_margin=20000
+restricted_channels=0
+[HAL]aoa_capability=1
+[HAL]ant_sets.ch5.range.rx_ant_set_nonranging = 6
+[HAL]ant_sets.ch5.range.rx_ant_set_ranging = 6
+[HAL]ant_sets.ch5.range.tx_ant_set_nonranging = 6
+[HAL]ant_sets.ch5.range.tx_ant_set_ranging = 6
+[HAL]ant_sets.ch5.azimuth.rx_ant_set_nonranging = 4
+[HAL]ant_sets.ch5.azimuth.rx_ant_set_ranging = 4
+[HAL]ant_sets.ch5.azimuth.tx_ant_set_nonranging = 4
+[HAL]ant_sets.ch5.azimuth.tx_ant_set_ranging = 4
+[HAL]ant_sets.ch9.range.rx_ant_set_nonranging = 6
+[HAL]ant_sets.ch9.range.rx_ant_set_ranging = 6
+[HAL]ant_sets.ch9.range.tx_ant_set_nonranging = 6
+[HAL]ant_sets.ch9.range.tx_ant_set_ranging = 6
+[HAL]ant_sets.ch5.elevation.rx_ant_set_nonranging = 6
+[HAL]ant_sets.ch5.elevation.rx_ant_set_ranging = 1
+[HAL]ant_sets.ch5.elevation.tx_ant_set_nonranging = 0
+[HAL]ant_sets.ch5.elevation.tx_ant_set_ranging = 0
+[HAL]ant_sets.ch9.elevation.rx_ant_set_nonranging = 6
+[HAL]ant_sets.ch9.elevation.rx_ant_set_ranging = 1
+[HAL]ant_sets.ch9.elevation.tx_ant_set_nonranging = 0
+[HAL]ant_sets.ch9.elevation.tx_ant_set_ranging = 0
+[HAL]ant_sets.ch9.azimuth.rx_ant_set_nonranging = 4
+[HAL]ant_sets.ch9.azimuth.rx_ant_set_ranging = 4
+[HAL]ant_sets.ch9.azimuth.tx_ant_set_nonranging = 8
+[HAL]ant_sets.ch9.azimuth.tx_ant_set_ranging = 8
+[HAL]minimum_system_offset_uwbtime0=250
+coex_gpio=4
+coex_delay_us=1000
+coex_margin_us=500
+coex_interval_us=2000
diff --git a/uwb/UWB-calibration-default.conf b/uwb/UWB-calibration-default.conf
new file mode 100644
index 0000000..5e99376
--- /dev/null
+++ b/uwb/UWB-calibration-default.conf
@@ -0,0 +1,141 @@
+[CCC]version=2
+[CCC]ant0.ch5.prf64.pdoa_iso_rf2_rf1=0
+[CCC]ant0.ch5.prf64.pdoa_iso_rf1_rf2=0
+[CCC]ant0.ch9.prf64.pdoa_iso_rf2_rf1=0
+[CCC]ant0.ch9.prf64.pdoa_iso_rf1_rf2=0
+[CCC]ant0.ch5.prf64.pdoa_offset=0
+[CCC]ant0.ch9.prf64.pdoa_offset=0
+[CCC]ant0.ch5.prf64.pll_locking_code=0
+[CCC]ant0.ch9.prf64.pll_locking_code=0
+[CCC]id=0
+[CCC]wifi_coex_time_gap=10
+[CCC]ap_coop_mode=1
+[CCC]antenna_selection=4
+[CCC]wifi_coex_min_spacing=0x08
+ant0.ch5.prf16.ant_delay=16414
+ant0.ch5.prf16.tx_power=0x47472347
+ant0.ch5.prf16.pg_count=0
+ant0.ch5.prf16.pg_delay=0x34
+ant0.ch5.prf64.ant_delay=16414
+ant0.ch5.prf64.tx_power=0x47472347
+ant0.ch5.prf64.pg_count=0
+ant0.ch5.prf64.pg_delay=0x34
+ant0.ch9.prf16.ant_delay=16426
+ant0.ch9.prf16.tx_power=0x47472347
+ant0.ch9.prf16.pg_count=0
+ant0.ch9.prf16.pg_delay=0x34
+ant0.ch9.prf64.ant_delay=16426
+ant0.ch9.prf64.tx_power=0x47472347
+ant0.ch9.prf64.pg_count=0
+ant0.ch9.prf64.pg_delay=0x34
+ant0.port=0
+ant0.selector_gpio=7
+ant0.selector_gpio_value=0
+ant1.ch5.prf16.ant_delay=16446
+ant1.ch5.prf16.tx_power=0x5B5B2B5B
+ant1.ch5.prf16.pg_count=0
+ant1.ch5.prf16.pg_delay=0x20
+ant1.ch5.prf64.ant_delay=16446
+ant1.ch5.prf64.tx_power=0x5B5B2B5B
+ant1.ch5.prf64.pg_count=0
+ant1.ch5.prf64.pg_delay=0x20
+ant1.ch9.prf16.ant_delay=16429
+ant1.ch9.prf16.tx_power=0
+ant1.ch9.prf16.pg_count=0
+ant1.ch9.prf16.pg_delay=0
+ant1.ch9.prf64.ant_delay=16429
+ant1.ch9.prf64.tx_power=0
+ant1.ch9.prf64.pg_count=0
+ant1.ch9.prf64.pg_delay=0
+ant1.port=0
+ant1.selector_gpio=7
+ant1.selector_gpio_value=1
+ant2.ch5.prf16.ant_delay=16446
+ant2.ch5.prf16.tx_power=0
+ant2.ch5.prf16.pg_count=0
+ant2.ch5.prf16.pg_delay=0
+ant2.ch5.prf64.ant_delay=16446
+ant2.ch5.prf64.tx_power=0
+ant2.ch5.prf64.pg_count=0
+ant2.ch5.prf64.pg_delay=0
+ant2.ch9.prf16.ant_delay=16429
+ant2.ch9.prf16.tx_power=0x5F5F2F5F
+ant2.ch9.prf16.pg_count=0
+ant2.ch9.prf16.pg_delay=0x26
+ant2.ch9.prf64.ant_delay=16429
+ant2.ch9.prf64.tx_power=0x5F5F2F5F
+ant2.ch9.prf64.pg_count=0
+ant2.ch9.prf64.pg_delay=0x26
+ant2.port=1
+ant2.selector_gpio=6
+ant2.selector_gpio_value=0
+ant3.ch5.prf16.ant_delay=16446
+ant3.ch5.prf16.tx_power=0
+ant3.ch5.prf16.pg_count=0
+ant3.ch5.prf16.pg_delay=0
+ant3.ch5.prf64.ant_delay=16446
+ant3.ch5.prf64.tx_power=0
+ant3.ch5.prf64.pg_count=0
+ant3.ch5.prf64.pg_delay=0
+ant3.ch9.prf16.ant_delay=16429
+ant3.ch9.prf16.tx_power=0x5F5F2F5F
+ant3.ch9.prf16.pg_count=0
+ant3.ch9.prf16.pg_delay=0x26
+ant3.ch9.prf64.ant_delay=16429
+ant3.ch9.prf64.tx_power=0x5F5F2F5F
+ant3.ch9.prf64.pg_count=0
+ant3.ch9.prf64.pg_delay=0x26
+ant3.port=1
+ant3.selector_gpio=6
+ant3.selector_gpio_value=1
+ant0.ant1.ch5.pdoa_offset=0
+ant0.ant1.ch9.pdoa_offset=0
+ant0.ant2.ch5.pdoa_offset=0
+ant0.ant2.ch9.pdoa_offset=0
+ant1.ant2.ch5.pdoa_offset=0
+ant1.ant2.ch9.pdoa_offset=0
+ant0.ant3.ch5.pdoa_offset=0
+ant0.ant3.ch9.pdoa_offset=0
+ant1.ant3.ch5.pdoa_offset=-4710
+ant1.ant3.ch9.pdoa_offset=-6144
+ant2.ant3.ch5.pdoa_offset=0
+ant2.ant3.ch9.pdoa_offset=0
+ch5.pll_locking_code=0
+ch9.pll_locking_code=0
+ant1.ant3.ch5.pdoa_lut=e1:f2:85:f5:ae:f3:3d:f6:52:f4:f6:f6:8f:f4:9a:f7:48:f5:52:f8:d7:f5:0a:f9:66:f6:ae:f9:85:f7:66:fa:8f:f8:1f:fb:48:f9:d7:fb:8f:fa:7b:fc:ec:fb:33:fd:0a:fd:ec:fd:66:fe:a4:fe:00:00:48:ff:71:01:00:00:b8:02:b8:00:29:04:64:01:ae:05:19:02:85:07:cb:02:33:09:7d:03:f6:0a:2f:04:0a:0d:e3:04:cd:0e:96:05:14:10:48:06:71:11:fa:06:66:12:ac:07:33:13:60:08:3d:14:12:09:85:15:c5:09:ec:15:77:0a
+ant1.ant3.ch9.pdoa_lut=e1:ec:f6:f6:48:ed:3d:f6:85:ed:85:f5:14:ee:9a:f7:3d:ee:52:f8:e1:ee:0a:f9:3d:f0:ae:f9:85:f1:66:fa:85:f3:1f:fb:00:f6:d7:fb:9a:f7:7b:fc:14:fa:33:fd:ec:fb:ec:fd:71:fd:a4:fe:cd:fe:48:ff:a4:00:00:00:85:01:b8:00:7b:02:5c:01:d7:03:14:02:cd:04:cd:02:48:07:85:03:ae:09:29:04:e1:0c:e1:04:7b:10:9a:05:cd:12:52:06:f6:14:f6:06:a4:16:ae:07:ae:17:0a:09:d7:17:c3:09:52:18:66:08:7b:18:7b:0a
+xtal_trim=31
+temperature_reference=85
+smart_tx_power=1
+auto_sleep_margin=20000
+restricted_channels=0
+[HAL]aoa_capability=1
+[HAL]ant_sets.ch5.range.rx_ant_set_nonranging = 6
+[HAL]ant_sets.ch5.range.rx_ant_set_ranging = 6
+[HAL]ant_sets.ch5.range.tx_ant_set_nonranging = 6
+[HAL]ant_sets.ch5.range.tx_ant_set_ranging = 6
+[HAL]ant_sets.ch5.azimuth.rx_ant_set_nonranging = 4
+[HAL]ant_sets.ch5.azimuth.rx_ant_set_ranging = 4
+[HAL]ant_sets.ch5.azimuth.tx_ant_set_nonranging = 4
+[HAL]ant_sets.ch5.azimuth.tx_ant_set_ranging = 4
+[HAL]ant_sets.ch9.range.rx_ant_set_nonranging = 6
+[HAL]ant_sets.ch9.range.rx_ant_set_ranging = 6
+[HAL]ant_sets.ch9.range.tx_ant_set_nonranging = 6
+[HAL]ant_sets.ch9.range.tx_ant_set_ranging = 6
+[HAL]ant_sets.ch5.elevation.rx_ant_set_nonranging = 6
+[HAL]ant_sets.ch5.elevation.rx_ant_set_ranging = 1
+[HAL]ant_sets.ch5.elevation.tx_ant_set_nonranging = 0
+[HAL]ant_sets.ch5.elevation.tx_ant_set_ranging = 0
+[HAL]ant_sets.ch9.elevation.rx_ant_set_nonranging = 6
+[HAL]ant_sets.ch9.elevation.rx_ant_set_ranging = 1
+[HAL]ant_sets.ch9.elevation.tx_ant_set_nonranging = 0
+[HAL]ant_sets.ch9.elevation.tx_ant_set_ranging = 0
+[HAL]ant_sets.ch9.azimuth.rx_ant_set_nonranging = 4
+[HAL]ant_sets.ch9.azimuth.rx_ant_set_ranging = 4
+[HAL]ant_sets.ch9.azimuth.tx_ant_set_nonranging = 8
+[HAL]ant_sets.ch9.azimuth.tx_ant_set_ranging = 8
+[HAL]minimum_system_offset_uwbtime0=250
+coex_gpio=4
+coex_delay_us=1000
+coex_margin_us=500
+coex_interval_us=2000
diff --git a/uwb/UWB-calibration-fcc.conf b/uwb/UWB-calibration-fcc.conf
new file mode 100644
index 0000000..5e99376
--- /dev/null
+++ b/uwb/UWB-calibration-fcc.conf
@@ -0,0 +1,141 @@
+[CCC]version=2
+[CCC]ant0.ch5.prf64.pdoa_iso_rf2_rf1=0
+[CCC]ant0.ch5.prf64.pdoa_iso_rf1_rf2=0
+[CCC]ant0.ch9.prf64.pdoa_iso_rf2_rf1=0
+[CCC]ant0.ch9.prf64.pdoa_iso_rf1_rf2=0
+[CCC]ant0.ch5.prf64.pdoa_offset=0
+[CCC]ant0.ch9.prf64.pdoa_offset=0
+[CCC]ant0.ch5.prf64.pll_locking_code=0
+[CCC]ant0.ch9.prf64.pll_locking_code=0
+[CCC]id=0
+[CCC]wifi_coex_time_gap=10
+[CCC]ap_coop_mode=1
+[CCC]antenna_selection=4
+[CCC]wifi_coex_min_spacing=0x08
+ant0.ch5.prf16.ant_delay=16414
+ant0.ch5.prf16.tx_power=0x47472347
+ant0.ch5.prf16.pg_count=0
+ant0.ch5.prf16.pg_delay=0x34
+ant0.ch5.prf64.ant_delay=16414
+ant0.ch5.prf64.tx_power=0x47472347
+ant0.ch5.prf64.pg_count=0
+ant0.ch5.prf64.pg_delay=0x34
+ant0.ch9.prf16.ant_delay=16426
+ant0.ch9.prf16.tx_power=0x47472347
+ant0.ch9.prf16.pg_count=0
+ant0.ch9.prf16.pg_delay=0x34
+ant0.ch9.prf64.ant_delay=16426
+ant0.ch9.prf64.tx_power=0x47472347
+ant0.ch9.prf64.pg_count=0
+ant0.ch9.prf64.pg_delay=0x34
+ant0.port=0
+ant0.selector_gpio=7
+ant0.selector_gpio_value=0
+ant1.ch5.prf16.ant_delay=16446
+ant1.ch5.prf16.tx_power=0x5B5B2B5B
+ant1.ch5.prf16.pg_count=0
+ant1.ch5.prf16.pg_delay=0x20
+ant1.ch5.prf64.ant_delay=16446
+ant1.ch5.prf64.tx_power=0x5B5B2B5B
+ant1.ch5.prf64.pg_count=0
+ant1.ch5.prf64.pg_delay=0x20
+ant1.ch9.prf16.ant_delay=16429
+ant1.ch9.prf16.tx_power=0
+ant1.ch9.prf16.pg_count=0
+ant1.ch9.prf16.pg_delay=0
+ant1.ch9.prf64.ant_delay=16429
+ant1.ch9.prf64.tx_power=0
+ant1.ch9.prf64.pg_count=0
+ant1.ch9.prf64.pg_delay=0
+ant1.port=0
+ant1.selector_gpio=7
+ant1.selector_gpio_value=1
+ant2.ch5.prf16.ant_delay=16446
+ant2.ch5.prf16.tx_power=0
+ant2.ch5.prf16.pg_count=0
+ant2.ch5.prf16.pg_delay=0
+ant2.ch5.prf64.ant_delay=16446
+ant2.ch5.prf64.tx_power=0
+ant2.ch5.prf64.pg_count=0
+ant2.ch5.prf64.pg_delay=0
+ant2.ch9.prf16.ant_delay=16429
+ant2.ch9.prf16.tx_power=0x5F5F2F5F
+ant2.ch9.prf16.pg_count=0
+ant2.ch9.prf16.pg_delay=0x26
+ant2.ch9.prf64.ant_delay=16429
+ant2.ch9.prf64.tx_power=0x5F5F2F5F
+ant2.ch9.prf64.pg_count=0
+ant2.ch9.prf64.pg_delay=0x26
+ant2.port=1
+ant2.selector_gpio=6
+ant2.selector_gpio_value=0
+ant3.ch5.prf16.ant_delay=16446
+ant3.ch5.prf16.tx_power=0
+ant3.ch5.prf16.pg_count=0
+ant3.ch5.prf16.pg_delay=0
+ant3.ch5.prf64.ant_delay=16446
+ant3.ch5.prf64.tx_power=0
+ant3.ch5.prf64.pg_count=0
+ant3.ch5.prf64.pg_delay=0
+ant3.ch9.prf16.ant_delay=16429
+ant3.ch9.prf16.tx_power=0x5F5F2F5F
+ant3.ch9.prf16.pg_count=0
+ant3.ch9.prf16.pg_delay=0x26
+ant3.ch9.prf64.ant_delay=16429
+ant3.ch9.prf64.tx_power=0x5F5F2F5F
+ant3.ch9.prf64.pg_count=0
+ant3.ch9.prf64.pg_delay=0x26
+ant3.port=1
+ant3.selector_gpio=6
+ant3.selector_gpio_value=1
+ant0.ant1.ch5.pdoa_offset=0
+ant0.ant1.ch9.pdoa_offset=0
+ant0.ant2.ch5.pdoa_offset=0
+ant0.ant2.ch9.pdoa_offset=0
+ant1.ant2.ch5.pdoa_offset=0
+ant1.ant2.ch9.pdoa_offset=0
+ant0.ant3.ch5.pdoa_offset=0
+ant0.ant3.ch9.pdoa_offset=0
+ant1.ant3.ch5.pdoa_offset=-4710
+ant1.ant3.ch9.pdoa_offset=-6144
+ant2.ant3.ch5.pdoa_offset=0
+ant2.ant3.ch9.pdoa_offset=0
+ch5.pll_locking_code=0
+ch9.pll_locking_code=0
+ant1.ant3.ch5.pdoa_lut=e1:f2:85:f5:ae:f3:3d:f6:52:f4:f6:f6:8f:f4:9a:f7:48:f5:52:f8:d7:f5:0a:f9:66:f6:ae:f9:85:f7:66:fa:8f:f8:1f:fb:48:f9:d7:fb:8f:fa:7b:fc:ec:fb:33:fd:0a:fd:ec:fd:66:fe:a4:fe:00:00:48:ff:71:01:00:00:b8:02:b8:00:29:04:64:01:ae:05:19:02:85:07:cb:02:33:09:7d:03:f6:0a:2f:04:0a:0d:e3:04:cd:0e:96:05:14:10:48:06:71:11:fa:06:66:12:ac:07:33:13:60:08:3d:14:12:09:85:15:c5:09:ec:15:77:0a
+ant1.ant3.ch9.pdoa_lut=e1:ec:f6:f6:48:ed:3d:f6:85:ed:85:f5:14:ee:9a:f7:3d:ee:52:f8:e1:ee:0a:f9:3d:f0:ae:f9:85:f1:66:fa:85:f3:1f:fb:00:f6:d7:fb:9a:f7:7b:fc:14:fa:33:fd:ec:fb:ec:fd:71:fd:a4:fe:cd:fe:48:ff:a4:00:00:00:85:01:b8:00:7b:02:5c:01:d7:03:14:02:cd:04:cd:02:48:07:85:03:ae:09:29:04:e1:0c:e1:04:7b:10:9a:05:cd:12:52:06:f6:14:f6:06:a4:16:ae:07:ae:17:0a:09:d7:17:c3:09:52:18:66:08:7b:18:7b:0a
+xtal_trim=31
+temperature_reference=85
+smart_tx_power=1
+auto_sleep_margin=20000
+restricted_channels=0
+[HAL]aoa_capability=1
+[HAL]ant_sets.ch5.range.rx_ant_set_nonranging = 6
+[HAL]ant_sets.ch5.range.rx_ant_set_ranging = 6
+[HAL]ant_sets.ch5.range.tx_ant_set_nonranging = 6
+[HAL]ant_sets.ch5.range.tx_ant_set_ranging = 6
+[HAL]ant_sets.ch5.azimuth.rx_ant_set_nonranging = 4
+[HAL]ant_sets.ch5.azimuth.rx_ant_set_ranging = 4
+[HAL]ant_sets.ch5.azimuth.tx_ant_set_nonranging = 4
+[HAL]ant_sets.ch5.azimuth.tx_ant_set_ranging = 4
+[HAL]ant_sets.ch9.range.rx_ant_set_nonranging = 6
+[HAL]ant_sets.ch9.range.rx_ant_set_ranging = 6
+[HAL]ant_sets.ch9.range.tx_ant_set_nonranging = 6
+[HAL]ant_sets.ch9.range.tx_ant_set_ranging = 6
+[HAL]ant_sets.ch5.elevation.rx_ant_set_nonranging = 6
+[HAL]ant_sets.ch5.elevation.rx_ant_set_ranging = 1
+[HAL]ant_sets.ch5.elevation.tx_ant_set_nonranging = 0
+[HAL]ant_sets.ch5.elevation.tx_ant_set_ranging = 0
+[HAL]ant_sets.ch9.elevation.rx_ant_set_nonranging = 6
+[HAL]ant_sets.ch9.elevation.rx_ant_set_ranging = 1
+[HAL]ant_sets.ch9.elevation.tx_ant_set_nonranging = 0
+[HAL]ant_sets.ch9.elevation.tx_ant_set_ranging = 0
+[HAL]ant_sets.ch9.azimuth.rx_ant_set_nonranging = 4
+[HAL]ant_sets.ch9.azimuth.rx_ant_set_ranging = 4
+[HAL]ant_sets.ch9.azimuth.tx_ant_set_nonranging = 8
+[HAL]ant_sets.ch9.azimuth.tx_ant_set_ranging = 8
+[HAL]minimum_system_offset_uwbtime0=250
+coex_gpio=4
+coex_delay_us=1000
+coex_margin_us=500
+coex_interval_us=2000
diff --git a/uwb/UWB-calibration.conf b/uwb/UWB-calibration-jp.conf
similarity index 69%
rename from uwb/UWB-calibration.conf
rename to uwb/UWB-calibration-jp.conf
index e8061b2..9dfc069 100644
--- a/uwb/UWB-calibration.conf
+++ b/uwb/UWB-calibration-jp.conf
@@ -12,79 +12,79 @@
[CCC]ap_coop_mode=1
[CCC]antenna_selection=4
[CCC]wifi_coex_min_spacing=0x08
-ant0.ch5.prf16.ant_delay=16450
-ant0.ch5.prf16.tx_power=0x4E4E4E4E
+ant0.ch5.prf16.ant_delay=16414
+ant0.ch5.prf16.tx_power=0
ant0.ch5.prf16.pg_count=0
-ant0.ch5.prf16.pg_delay=0x26
-ant0.ch5.prf64.ant_delay=16450
-ant0.ch5.prf64.tx_power=0x4E4E4E4E
+ant0.ch5.prf16.pg_delay=0
+ant0.ch5.prf64.ant_delay=16414
+ant0.ch5.prf64.tx_power=0
ant0.ch5.prf64.pg_count=0
-ant0.ch5.prf64.pg_delay=0x26
-ant0.ch9.prf16.ant_delay=16410
-ant0.ch9.prf16.tx_power=0x56565656
+ant0.ch5.prf64.pg_delay=0
+ant0.ch9.prf16.ant_delay=16426
+ant0.ch9.prf16.tx_power=0x2A2A2A2A
ant0.ch9.prf16.pg_count=0
-ant0.ch9.prf16.pg_delay=0x26
-ant0.ch9.prf64.ant_delay=16410
-ant0.ch9.prf64.tx_power=0x56565656
+ant0.ch9.prf16.pg_delay=0x20
+ant0.ch9.prf64.ant_delay=16426
+ant0.ch9.prf64.tx_power=0x2A2A2A2A
ant0.ch9.prf64.pg_count=0
-ant0.ch9.prf64.pg_delay=0x26
+ant0.ch9.prf64.pg_delay=0x20
ant0.port=0
ant0.selector_gpio=7
ant0.selector_gpio_value=0
-ant1.ch5.prf16.ant_delay=16450
-ant1.ch5.prf16.tx_power=0x4E4E4E4E
+ant1.ch5.prf16.ant_delay=16446
+ant1.ch5.prf16.tx_power=0
ant1.ch5.prf16.pg_count=0
-ant1.ch5.prf16.pg_delay=0x26
-ant1.ch5.prf64.ant_delay=16450
-ant1.ch5.prf64.tx_power=0x4E4E4E4E
+ant1.ch5.prf16.pg_delay=0
+ant1.ch5.prf64.ant_delay=16446
+ant1.ch5.prf64.tx_power=0
ant1.ch5.prf64.pg_count=0
-ant1.ch5.prf64.pg_delay=0x26
-ant1.ch9.prf16.ant_delay=16410
-ant1.ch9.prf16.tx_power=0x56565656
+ant1.ch5.prf64.pg_delay=0
+ant1.ch9.prf16.ant_delay=16429
+ant1.ch9.prf16.tx_power=0
ant1.ch9.prf16.pg_count=0
-ant1.ch9.prf16.pg_delay=0x26
-ant1.ch9.prf64.ant_delay=16410
-ant1.ch9.prf64.tx_power=0x56565656
+ant1.ch9.prf16.pg_delay=0
+ant1.ch9.prf64.ant_delay=16429
+ant1.ch9.prf64.tx_power=0
ant1.ch9.prf64.pg_count=0
-ant1.ch9.prf64.pg_delay=0x26
+ant1.ch9.prf64.pg_delay=0
ant1.port=0
ant1.selector_gpio=7
ant1.selector_gpio_value=1
-ant2.ch5.prf16.ant_delay=16450
-ant2.ch5.prf16.tx_power=0x4E4E4E4E
+ant2.ch5.prf16.ant_delay=16446
+ant2.ch5.prf16.tx_power=0
ant2.ch5.prf16.pg_count=0
-ant2.ch5.prf16.pg_delay=0x26
-ant2.ch5.prf64.ant_delay=16450
-ant2.ch5.prf64.tx_power=0x4E4E4E4E
+ant2.ch5.prf16.pg_delay=0
+ant2.ch5.prf64.ant_delay=16446
+ant2.ch5.prf64.tx_power=0
ant2.ch5.prf64.pg_count=0
-ant2.ch5.prf64.pg_delay=0x26
-ant2.ch9.prf16.ant_delay=16410
-ant2.ch9.prf16.tx_power=0x56565656
+ant2.ch5.prf64.pg_delay=0
+ant2.ch9.prf16.ant_delay=16429
+ant2.ch9.prf16.tx_power=0
ant2.ch9.prf16.pg_count=0
-ant2.ch9.prf16.pg_delay=0x26
-ant2.ch9.prf64.ant_delay=16410
-ant2.ch9.prf64.tx_power=0x56565656
+ant2.ch9.prf16.pg_delay=0
+ant2.ch9.prf64.ant_delay=16429
+ant2.ch9.prf64.tx_power=0
ant2.ch9.prf64.pg_count=0
-ant2.ch9.prf64.pg_delay=0x26
+ant2.ch9.prf64.pg_delay=0
ant2.port=1
ant2.selector_gpio=6
ant2.selector_gpio_value=0
-ant3.ch5.prf16.ant_delay=16450
-ant3.ch5.prf16.tx_power=0x4E4E4E4E
+ant3.ch5.prf16.ant_delay=16446
+ant3.ch5.prf16.tx_power=0
ant3.ch5.prf16.pg_count=0
-ant3.ch5.prf16.pg_delay=0x26
-ant3.ch5.prf64.ant_delay=16450
-ant3.ch5.prf64.tx_power=0x4E4E4E4E
+ant3.ch5.prf16.pg_delay=0
+ant3.ch5.prf64.ant_delay=16446
+ant3.ch5.prf64.tx_power=0
ant3.ch5.prf64.pg_count=0
-ant3.ch5.prf64.pg_delay=0x26
-ant3.ch9.prf16.ant_delay=16410
-ant3.ch9.prf16.tx_power=0x56565656
+ant3.ch5.prf64.pg_delay=0
+ant3.ch9.prf16.ant_delay=16429
+ant3.ch9.prf16.tx_power=0
ant3.ch9.prf16.pg_count=0
-ant3.ch9.prf16.pg_delay=0x26
-ant3.ch9.prf64.ant_delay=16410
-ant3.ch9.prf64.tx_power=0x56565656
+ant3.ch9.prf16.pg_delay=0
+ant3.ch9.prf64.ant_delay=16429
+ant3.ch9.prf64.tx_power=0
ant3.ch9.prf64.pg_count=0
-ant3.ch9.prf64.pg_delay=0x26
+ant3.ch9.prf64.pg_delay=0
ant3.port=1
ant3.selector_gpio=6
ant3.selector_gpio_value=1
@@ -108,7 +108,8 @@ xtal_trim=31
temperature_reference=85
smart_tx_power=1
auto_sleep_margin=20000
-restricted_channels=0
+alternate_pulse_shape=0x01
+restricted_channels=0x20
[HAL]aoa_capability=1
[HAL]ant_sets.ch5.range.rx_ant_set_nonranging = 6
[HAL]ant_sets.ch5.range.rx_ant_set_ranging = 6
@@ -134,7 +135,7 @@ restricted_channels=0
[HAL]ant_sets.ch9.azimuth.rx_ant_set_ranging = 4
[HAL]ant_sets.ch9.azimuth.tx_ant_set_nonranging = 0
[HAL]ant_sets.ch9.azimuth.tx_ant_set_ranging = 0
-[HAL]minimum_system_offset_uwbtime0=500
+[HAL]minimum_system_offset_uwbtime0=250
coex_gpio=4
coex_delay_us=1000
coex_margin_us=500
diff --git a/uwb/UWB-calibration-restricted.conf b/uwb/UWB-calibration-restricted.conf
new file mode 100644
index 0000000..338d4f6
--- /dev/null
+++ b/uwb/UWB-calibration-restricted.conf
@@ -0,0 +1,141 @@
+[CCC]version=2
+[CCC]ant0.ch5.prf64.pdoa_iso_rf2_rf1=0
+[CCC]ant0.ch5.prf64.pdoa_iso_rf1_rf2=0
+[CCC]ant0.ch9.prf64.pdoa_iso_rf2_rf1=0
+[CCC]ant0.ch9.prf64.pdoa_iso_rf1_rf2=0
+[CCC]ant0.ch5.prf64.pdoa_offset=0
+[CCC]ant0.ch9.prf64.pdoa_offset=0
+[CCC]ant0.ch5.prf64.pll_locking_code=0
+[CCC]ant0.ch9.prf64.pll_locking_code=0
+[CCC]id=0
+[CCC]wifi_coex_time_gap=10
+[CCC]ap_coop_mode=1
+[CCC]antenna_selection=4
+[CCC]wifi_coex_min_spacing=0x08
+ant0.ch5.prf16.ant_delay=16414
+ant0.ch5.prf16.tx_power=0x47472347
+ant0.ch5.prf16.pg_count=0
+ant0.ch5.prf16.pg_delay=0x34
+ant0.ch5.prf64.ant_delay=16414
+ant0.ch5.prf64.tx_power=0x47472347
+ant0.ch5.prf64.pg_count=0
+ant0.ch5.prf64.pg_delay=0x34
+ant0.ch9.prf16.ant_delay=16426
+ant0.ch9.prf16.tx_power=0x47472347
+ant0.ch9.prf16.pg_count=0
+ant0.ch9.prf16.pg_delay=0x34
+ant0.ch9.prf64.ant_delay=16426
+ant0.ch9.prf64.tx_power=0x47472347
+ant0.ch9.prf64.pg_count=0
+ant0.ch9.prf64.pg_delay=0x34
+ant0.port=0
+ant0.selector_gpio=7
+ant0.selector_gpio_value=0
+ant1.ch5.prf16.ant_delay=16446
+ant1.ch5.prf16.tx_power=0x5B5B2B5B
+ant1.ch5.prf16.pg_count=0
+ant1.ch5.prf16.pg_delay=0x20
+ant1.ch5.prf64.ant_delay=16446
+ant1.ch5.prf64.tx_power=0x5B5B2B5B
+ant1.ch5.prf64.pg_count=0
+ant1.ch5.prf64.pg_delay=0x20
+ant1.ch9.prf16.ant_delay=16429
+ant1.ch9.prf16.tx_power=0
+ant1.ch9.prf16.pg_count=0
+ant1.ch9.prf16.pg_delay=0
+ant1.ch9.prf64.ant_delay=16429
+ant1.ch9.prf64.tx_power=0
+ant1.ch9.prf64.pg_count=0
+ant1.ch9.prf64.pg_delay=0
+ant1.port=0
+ant1.selector_gpio=7
+ant1.selector_gpio_value=1
+ant2.ch5.prf16.ant_delay=16446
+ant2.ch5.prf16.tx_power=0
+ant2.ch5.prf16.pg_count=0
+ant2.ch5.prf16.pg_delay=0
+ant2.ch5.prf64.ant_delay=16446
+ant2.ch5.prf64.tx_power=0
+ant2.ch5.prf64.pg_count=0
+ant2.ch5.prf64.pg_delay=0
+ant2.ch9.prf16.ant_delay=16429
+ant2.ch9.prf16.tx_power=0x5F5F2F5F
+ant2.ch9.prf16.pg_count=0
+ant2.ch9.prf16.pg_delay=0x26
+ant2.ch9.prf64.ant_delay=16429
+ant2.ch9.prf64.tx_power=0x5F5F2F5F
+ant2.ch9.prf64.pg_count=0
+ant2.ch9.prf64.pg_delay=0x26
+ant2.port=1
+ant2.selector_gpio=6
+ant2.selector_gpio_value=0
+ant3.ch5.prf16.ant_delay=16446
+ant3.ch5.prf16.tx_power=0
+ant3.ch5.prf16.pg_count=0
+ant3.ch5.prf16.pg_delay=0
+ant3.ch5.prf64.ant_delay=16446
+ant3.ch5.prf64.tx_power=0
+ant3.ch5.prf64.pg_count=0
+ant3.ch5.prf64.pg_delay=0
+ant3.ch9.prf16.ant_delay=16429
+ant3.ch9.prf16.tx_power=0x5F5F2F5F
+ant3.ch9.prf16.pg_count=0
+ant3.ch9.prf16.pg_delay=0x26
+ant3.ch9.prf64.ant_delay=16429
+ant3.ch9.prf64.tx_power=0x5F5F2F5F
+ant3.ch9.prf64.pg_count=0
+ant3.ch9.prf64.pg_delay=0x26
+ant3.port=1
+ant3.selector_gpio=6
+ant3.selector_gpio_value=1
+ant0.ant1.ch5.pdoa_offset=0
+ant0.ant1.ch9.pdoa_offset=0
+ant0.ant2.ch5.pdoa_offset=0
+ant0.ant2.ch9.pdoa_offset=0
+ant1.ant2.ch5.pdoa_offset=0
+ant1.ant2.ch9.pdoa_offset=0
+ant0.ant3.ch5.pdoa_offset=0
+ant0.ant3.ch9.pdoa_offset=0
+ant1.ant3.ch5.pdoa_offset=-4710
+ant1.ant3.ch9.pdoa_offset=-6144
+ant2.ant3.ch5.pdoa_offset=0
+ant2.ant3.ch9.pdoa_offset=0
+ch5.pll_locking_code=0
+ch9.pll_locking_code=0
+ant1.ant3.ch5.pdoa_lut=e1:f2:85:f5:ae:f3:3d:f6:52:f4:f6:f6:8f:f4:9a:f7:48:f5:52:f8:d7:f5:0a:f9:66:f6:ae:f9:85:f7:66:fa:8f:f8:1f:fb:48:f9:d7:fb:8f:fa:7b:fc:ec:fb:33:fd:0a:fd:ec:fd:66:fe:a4:fe:00:00:48:ff:71:01:00:00:b8:02:b8:00:29:04:64:01:ae:05:19:02:85:07:cb:02:33:09:7d:03:f6:0a:2f:04:0a:0d:e3:04:cd:0e:96:05:14:10:48:06:71:11:fa:06:66:12:ac:07:33:13:60:08:3d:14:12:09:85:15:c5:09:ec:15:77:0a
+ant1.ant3.ch9.pdoa_lut=e1:ec:f6:f6:48:ed:3d:f6:85:ed:85:f5:14:ee:9a:f7:3d:ee:52:f8:e1:ee:0a:f9:3d:f0:ae:f9:85:f1:66:fa:85:f3:1f:fb:00:f6:d7:fb:9a:f7:7b:fc:14:fa:33:fd:ec:fb:ec:fd:71:fd:a4:fe:cd:fe:48:ff:a4:00:00:00:85:01:b8:00:7b:02:5c:01:d7:03:14:02:cd:04:cd:02:48:07:85:03:ae:09:29:04:e1:0c:e1:04:7b:10:9a:05:cd:12:52:06:f6:14:f6:06:a4:16:ae:07:ae:17:0a:09:d7:17:c3:09:52:18:66:08:7b:18:7b:0a
+xtal_trim=31
+temperature_reference=85
+smart_tx_power=1
+auto_sleep_margin=20000
+restricted_channels=0xffff
+[HAL]aoa_capability=1
+[HAL]ant_sets.ch5.range.rx_ant_set_nonranging = 6
+[HAL]ant_sets.ch5.range.rx_ant_set_ranging = 6
+[HAL]ant_sets.ch5.range.tx_ant_set_nonranging = 6
+[HAL]ant_sets.ch5.range.tx_ant_set_ranging = 6
+[HAL]ant_sets.ch5.azimuth.rx_ant_set_nonranging = 4
+[HAL]ant_sets.ch5.azimuth.rx_ant_set_ranging = 4
+[HAL]ant_sets.ch5.azimuth.tx_ant_set_nonranging = 4
+[HAL]ant_sets.ch5.azimuth.tx_ant_set_ranging = 4
+[HAL]ant_sets.ch9.range.rx_ant_set_nonranging = 6
+[HAL]ant_sets.ch9.range.rx_ant_set_ranging = 6
+[HAL]ant_sets.ch9.range.tx_ant_set_nonranging = 6
+[HAL]ant_sets.ch9.range.tx_ant_set_ranging = 6
+[HAL]ant_sets.ch5.elevation.rx_ant_set_nonranging = 6
+[HAL]ant_sets.ch5.elevation.rx_ant_set_ranging = 1
+[HAL]ant_sets.ch5.elevation.tx_ant_set_nonranging = 0
+[HAL]ant_sets.ch5.elevation.tx_ant_set_ranging = 0
+[HAL]ant_sets.ch9.elevation.rx_ant_set_nonranging = 6
+[HAL]ant_sets.ch9.elevation.rx_ant_set_ranging = 1
+[HAL]ant_sets.ch9.elevation.tx_ant_set_nonranging = 0
+[HAL]ant_sets.ch9.elevation.tx_ant_set_ranging = 0
+[HAL]ant_sets.ch9.azimuth.rx_ant_set_nonranging = 4
+[HAL]ant_sets.ch9.azimuth.rx_ant_set_ranging = 4
+[HAL]ant_sets.ch9.azimuth.tx_ant_set_nonranging = 8
+[HAL]ant_sets.ch9.azimuth.tx_ant_set_ranging = 8
+[HAL]minimum_system_offset_uwbtime0=250
+coex_gpio=4
+coex_delay_us=1000
+coex_margin_us=500
+coex_interval_us=2000
diff --git a/uwb/UWB-calibration-tw.conf b/uwb/UWB-calibration-tw.conf
new file mode 100644
index 0000000..685469d
--- /dev/null
+++ b/uwb/UWB-calibration-tw.conf
@@ -0,0 +1,141 @@
+[CCC]version=2
+[CCC]ant0.ch5.prf64.pdoa_iso_rf2_rf1=0
+[CCC]ant0.ch5.prf64.pdoa_iso_rf1_rf2=0
+[CCC]ant0.ch9.prf64.pdoa_iso_rf2_rf1=0
+[CCC]ant0.ch9.prf64.pdoa_iso_rf1_rf2=0
+[CCC]ant0.ch5.prf64.pdoa_offset=0
+[CCC]ant0.ch9.prf64.pdoa_offset=0
+[CCC]ant0.ch5.prf64.pll_locking_code=0
+[CCC]ant0.ch9.prf64.pll_locking_code=0
+[CCC]id=0
+[CCC]wifi_coex_time_gap=10
+[CCC]ap_coop_mode=1
+[CCC]antenna_selection=4
+[CCC]wifi_coex_min_spacing=0x08
+ant0.ch5.prf16.ant_delay=16414
+ant0.ch5.prf16.tx_power=0x47472347
+ant0.ch5.prf16.pg_count=0
+ant0.ch5.prf16.pg_delay=0x34
+ant0.ch5.prf64.ant_delay=16414
+ant0.ch5.prf64.tx_power=0x47472347
+ant0.ch5.prf64.pg_count=0
+ant0.ch5.prf64.pg_delay=0x34
+ant0.ch9.prf16.ant_delay=16426
+ant0.ch9.prf16.tx_power=0x47472347
+ant0.ch9.prf16.pg_count=0
+ant0.ch9.prf16.pg_delay=0x34
+ant0.ch9.prf64.ant_delay=16426
+ant0.ch9.prf64.tx_power=0x47472347
+ant0.ch9.prf64.pg_count=0
+ant0.ch9.prf64.pg_delay=0x34
+ant0.port=0
+ant0.selector_gpio=7
+ant0.selector_gpio_value=0
+ant1.ch5.prf16.ant_delay=16446
+ant1.ch5.prf16.tx_power=0x5B5B2B5B
+ant1.ch5.prf16.pg_count=0
+ant1.ch5.prf16.pg_delay=0x20
+ant1.ch5.prf64.ant_delay=16446
+ant1.ch5.prf64.tx_power=0x5B5B2B5B
+ant1.ch5.prf64.pg_count=0
+ant1.ch5.prf64.pg_delay=0x20
+ant1.ch9.prf16.ant_delay=16429
+ant1.ch9.prf16.tx_power=0
+ant1.ch9.prf16.pg_count=0
+ant1.ch9.prf16.pg_delay=0
+ant1.ch9.prf64.ant_delay=16429
+ant1.ch9.prf64.tx_power=0
+ant1.ch9.prf64.pg_count=0
+ant1.ch9.prf64.pg_delay=0
+ant1.port=0
+ant1.selector_gpio=7
+ant1.selector_gpio_value=1
+ant2.ch5.prf16.ant_delay=16446
+ant2.ch5.prf16.tx_power=0
+ant2.ch5.prf16.pg_count=0
+ant2.ch5.prf16.pg_delay=0
+ant2.ch5.prf64.ant_delay=16446
+ant2.ch5.prf64.tx_power=0
+ant2.ch5.prf64.pg_count=0
+ant2.ch5.prf64.pg_delay=0
+ant2.ch9.prf16.ant_delay=16429
+ant2.ch9.prf16.tx_power=0x5F5F2F5F
+ant2.ch9.prf16.pg_count=0
+ant2.ch9.prf16.pg_delay=0x26
+ant2.ch9.prf64.ant_delay=16429
+ant2.ch9.prf64.tx_power=0x5F5F2F5F
+ant2.ch9.prf64.pg_count=0
+ant2.ch9.prf64.pg_delay=0x26
+ant2.port=1
+ant2.selector_gpio=6
+ant2.selector_gpio_value=0
+ant3.ch5.prf16.ant_delay=16446
+ant3.ch5.prf16.tx_power=0
+ant3.ch5.prf16.pg_count=0
+ant3.ch5.prf16.pg_delay=0
+ant3.ch5.prf64.ant_delay=16446
+ant3.ch5.prf64.tx_power=0
+ant3.ch5.prf64.pg_count=0
+ant3.ch5.prf64.pg_delay=0
+ant3.ch9.prf16.ant_delay=16429
+ant3.ch9.prf16.tx_power=0x5F5F2F5F
+ant3.ch9.prf16.pg_count=0
+ant3.ch9.prf16.pg_delay=0x26
+ant3.ch9.prf64.ant_delay=16429
+ant3.ch9.prf64.tx_power=0x5F5F2F5F
+ant3.ch9.prf64.pg_count=0
+ant3.ch9.prf64.pg_delay=0x26
+ant3.port=1
+ant3.selector_gpio=6
+ant3.selector_gpio_value=1
+ant0.ant1.ch5.pdoa_offset=0
+ant0.ant1.ch9.pdoa_offset=0
+ant0.ant2.ch5.pdoa_offset=0
+ant0.ant2.ch9.pdoa_offset=0
+ant1.ant2.ch5.pdoa_offset=0
+ant1.ant2.ch9.pdoa_offset=0
+ant0.ant3.ch5.pdoa_offset=0
+ant0.ant3.ch9.pdoa_offset=0
+ant1.ant3.ch5.pdoa_offset=-4710
+ant1.ant3.ch9.pdoa_offset=-6144
+ant2.ant3.ch5.pdoa_offset=0
+ant2.ant3.ch9.pdoa_offset=0
+ch5.pll_locking_code=0
+ch9.pll_locking_code=0
+ant1.ant3.ch5.pdoa_lut=e1:f2:85:f5:ae:f3:3d:f6:52:f4:f6:f6:8f:f4:9a:f7:48:f5:52:f8:d7:f5:0a:f9:66:f6:ae:f9:85:f7:66:fa:8f:f8:1f:fb:48:f9:d7:fb:8f:fa:7b:fc:ec:fb:33:fd:0a:fd:ec:fd:66:fe:a4:fe:00:00:48:ff:71:01:00:00:b8:02:b8:00:29:04:64:01:ae:05:19:02:85:07:cb:02:33:09:7d:03:f6:0a:2f:04:0a:0d:e3:04:cd:0e:96:05:14:10:48:06:71:11:fa:06:66:12:ac:07:33:13:60:08:3d:14:12:09:85:15:c5:09:ec:15:77:0a
+ant1.ant3.ch9.pdoa_lut=e1:ec:f6:f6:48:ed:3d:f6:85:ed:85:f5:14:ee:9a:f7:3d:ee:52:f8:e1:ee:0a:f9:3d:f0:ae:f9:85:f1:66:fa:85:f3:1f:fb:00:f6:d7:fb:9a:f7:7b:fc:14:fa:33:fd:ec:fb:ec:fd:71:fd:a4:fe:cd:fe:48:ff:a4:00:00:00:85:01:b8:00:7b:02:5c:01:d7:03:14:02:cd:04:cd:02:48:07:85:03:ae:09:29:04:e1:0c:e1:04:7b:10:9a:05:cd:12:52:06:f6:14:f6:06:a4:16:ae:07:ae:17:0a:09:d7:17:c3:09:52:18:66:08:7b:18:7b:0a
+xtal_trim=31
+temperature_reference=85
+smart_tx_power=1
+auto_sleep_margin=20000
+restricted_channels=0x20
+[HAL]aoa_capability=1
+[HAL]ant_sets.ch5.range.rx_ant_set_nonranging = 6
+[HAL]ant_sets.ch5.range.rx_ant_set_ranging = 6
+[HAL]ant_sets.ch5.range.tx_ant_set_nonranging = 6
+[HAL]ant_sets.ch5.range.tx_ant_set_ranging = 6
+[HAL]ant_sets.ch5.azimuth.rx_ant_set_nonranging = 4
+[HAL]ant_sets.ch5.azimuth.rx_ant_set_ranging = 4
+[HAL]ant_sets.ch5.azimuth.tx_ant_set_nonranging = 4
+[HAL]ant_sets.ch5.azimuth.tx_ant_set_ranging = 4
+[HAL]ant_sets.ch9.range.rx_ant_set_nonranging = 6
+[HAL]ant_sets.ch9.range.rx_ant_set_ranging = 6
+[HAL]ant_sets.ch9.range.tx_ant_set_nonranging = 6
+[HAL]ant_sets.ch9.range.tx_ant_set_ranging = 6
+[HAL]ant_sets.ch5.elevation.rx_ant_set_nonranging = 6
+[HAL]ant_sets.ch5.elevation.rx_ant_set_ranging = 1
+[HAL]ant_sets.ch5.elevation.tx_ant_set_nonranging = 0
+[HAL]ant_sets.ch5.elevation.tx_ant_set_ranging = 0
+[HAL]ant_sets.ch9.elevation.rx_ant_set_nonranging = 6
+[HAL]ant_sets.ch9.elevation.rx_ant_set_ranging = 1
+[HAL]ant_sets.ch9.elevation.tx_ant_set_nonranging = 0
+[HAL]ant_sets.ch9.elevation.tx_ant_set_ranging = 0
+[HAL]ant_sets.ch9.azimuth.rx_ant_set_nonranging = 4
+[HAL]ant_sets.ch9.azimuth.rx_ant_set_ranging = 4
+[HAL]ant_sets.ch9.azimuth.tx_ant_set_nonranging = 8
+[HAL]ant_sets.ch9.azimuth.tx_ant_set_ranging = 8
+[HAL]minimum_system_offset_uwbtime0=250
+coex_gpio=4
+coex_delay_us=1000
+coex_margin_us=500
+coex_interval_us=2000
diff --git a/uwb/country_conf_gen.sh b/uwb/country_conf_gen.sh
new file mode 100755
index 0000000..7e398c0
--- /dev/null
+++ b/uwb/country_conf_gen.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+# This script is used to generate uwb conuntry configuration file,
+# and the PRODUCT_COPY_FILES list in uwb.mk based on uwb_country.conf
+# Bug: 196073172, 233619860
+
+count=1
+
+mkdir -p $2
+
+while read line ; do
+ if [[ "$line" =~ ^"*" ]]; then
+ header=${line:1}
+ elif [[ "$line" =~ ^"\"" ]]; then
+ #line=$(echo ${line/,} | tr -d "\"")
+ country[count]=$(echo $line | cut -d ':' -f1 | tr -d "\"")
+ code[count]=$(echo $line | cut -d ':' -f2 | tr -d "\"" | tr -d " ")
+ if [ "$header" = "FCC" ]; then
+ cp $1/UWB-calibration-fcc.conf $2/UWB-calibration-${code[$count]}.conf
+ elif [ "$header" = "CE" ]; then
+ cp $1/UWB-calibration-ce.conf $2/UWB-calibration-${code[$count]}.conf
+ elif [ "$header" = "JP" ]; then
+ cp $1/UWB-calibration-jp.conf $2/UWB-calibration-${code[$count]}.conf
+ elif [ "$header" = "TW" ]; then
+ cp $1/UWB-calibration-tw.conf $2/UWB-calibration-${code[$count]}.conf
+ elif [ "$header" = "Restricted" ]; then
+ cp $1/UWB-calibration-restricted.conf $2/UWB-calibration-${code[$count]}.conf
+ fi
+ fi
+((count++))
+done < $1/uwb_country.conf
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 d0585d9..3889a08 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-calibration.conf \
- $(LOCAL_UWB_CAL_DIR)/UWB-calibration.conf:$(TARGET_COPY_OUT_VENDOR)/etc/UWB-calibration-unknown.conf \
- $(LOCAL_UWB_CAL_DIR)/UWB-calibration.conf:$(TARGET_COPY_OUT_VENDOR)/etc/UWB-calibration-default.conf \
+ $(LOCAL_UWB_CAL_DIR)/UWB-calibration-restricted.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-unknown.conf \
+ $(LOCAL_UWB_CAL_DIR)/UWB-calibration-default.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-default.conf \
+ $(LOCAL_UWB_CAL_DIR)/UWB-calibration-default.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration.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
diff --git a/uwb/uwb_country.conf b/uwb/uwb_country.conf
new file mode 100644
index 0000000..93a5e2e
--- /dev/null
+++ b/uwb/uwb_country.conf
@@ -0,0 +1,62 @@
+*FCC
+"United States": "us"
+"Canada": "ca"
+
+*CE
+"Austria": "at"
+"Belgium": "be"
+"Bulgaria": "bg"
+"Croatia": "hr"
+"Cyprus": "cy"
+"Czech Republic": "cz"
+"Denmark": "dk"
+"Estonia": "ee"
+"Finland": "fi"
+"France": "fr"
+"Germany": "de"
+"Greece": "gr"
+"Hungary": "hu"
+"Ireland Republic of (EIRE)": "ie"
+"Italy": "it"
+"Latvia": "lv"
+"Lithuania": "lt"
+"Luxembourg": "lu"
+"Malta": "mt"
+"Netherlands": "nl"
+"Poland": "pl"
+"Portugal": "pt"
+"Romania": "ro"
+"Slovakia": "sk"
+"Slovenia": "si"
+"Spain": "es"
+"Sweden": "se"
+"United Kingdom (Great Britain)": "gb"
+"Northern Ireland": "ni"
+"Iceland": "is"
+"Liechtenstein": "li"
+"Norway": "no"
+"Switzerland": "ch"
+
+*JP
+"Japan": "jp"
+
+*TW
+"Taiwan": "tw"
+
+*Restricted
+"Argentina": "ar"
+"Armenia": "am"
+"Azerbaijan": "az"
+"Belarus": "by"
+"Indonesia": "id"
+"Kazakhstan": "kz"
+"Kyrgyzstan": "kg"
+"Nepal": "np"
+"Pakistan": "pk"
+"Paraguay": "py"
+"Russia": "ru"
+"Solomon Islands": "sb"
+"Tajikistan": "tj"
+"Turkmenistanr": "tm"
+"Ukraine": "ua"
+"Uzbekistan": "uz"