diff --git a/NVTCapacitivePen.idc b/NVTCapacitivePen.idc
index 698d0db..58d8d2c 100644
--- a/NVTCapacitivePen.idc
+++ b/NVTCapacitivePen.idc
@@ -1,2 +1,4 @@
touch.orientationAware = 1
touch.orientation = ORIENTATION_0
+touch.usiVersionMajor = 2
+touch.usiVersionMinor = 0
diff --git a/OWNERS b/OWNERS
index 1451bd8..79003ba 100644
--- a/OWNERS
+++ b/OWNERS
@@ -1 +1,4 @@
per-file powerhint.json = jychen@google.com,jenhaochen@google.com,wvw@google.com,joaodias@google.com
+
+# per-file for Pixel device makefiles, see go/pixel-device-mk-owner-checklist for details.
+per-file *.mk,*/BoardConfig.mk=file:device/google/gs-common:master:/OWNERS
diff --git a/aosp_tangorpro.mk b/aosp_tangorpro.mk
index 684bd85..d09cd8f 100644
--- a/aosp_tangorpro.mk
+++ b/aosp_tangorpro.mk
@@ -30,5 +30,5 @@ PRODUCT_MODEL := AOSP on Tangorpro
PRODUCT_BRAND := Android
PRODUCT_MANUFACTURER := Google
-DEVICE_MANIFEST_FILE := \
+DEVICE_MANIFEST_FILE += \
device/google/tangorpro/manifest.xml
diff --git a/audio/tangorpro/config/audio_platform_configuration.xml b/audio/tangorpro/config/audio_platform_configuration.xml
index 279fe69..f8fb665 100644
--- a/audio/tangorpro/config/audio_platform_configuration.xml
+++ b/audio/tangorpro/config/audio_platform_configuration.xml
@@ -289,7 +289,7 @@
-
+
diff --git a/audio/tangorpro/config/audio_policy_configuration.xml b/audio/tangorpro/config/audio_policy_configuration.xml
index 5f65034..78c8ea3 100644
--- a/audio/tangorpro/config/audio_policy_configuration.xml
+++ b/audio/tangorpro/config/audio_policy_configuration.xml
@@ -193,23 +193,23 @@
+ sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
+ sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
+ sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
+ sources="primary output,deep buffer,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/>
+ sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
+ sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
+ sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
@@ -220,9 +220,9 @@
+ sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
+ sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
diff --git a/audio/tangorpro/config/audio_policy_configuration_a2dp_offload_disabled.xml b/audio/tangorpro/config/audio_policy_configuration_a2dp_offload_disabled.xml
index 319c16f..d201379 100644
--- a/audio/tangorpro/config/audio_policy_configuration_a2dp_offload_disabled.xml
+++ b/audio/tangorpro/config/audio_policy_configuration_a2dp_offload_disabled.xml
@@ -182,13 +182,13 @@
+ sources="primary output,deep buffer,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/>
+ sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
+ sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
+ sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
@@ -199,9 +199,9 @@
+ sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
+ sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
diff --git a/audio/tangorpro/config/audio_policy_configuration_bluetooth_legacy_hal.xml b/audio/tangorpro/config/audio_policy_configuration_bluetooth_legacy_hal.xml
index 8a92d35..b321568 100644
--- a/audio/tangorpro/config/audio_policy_configuration_bluetooth_legacy_hal.xml
+++ b/audio/tangorpro/config/audio_policy_configuration_bluetooth_legacy_hal.xml
@@ -180,11 +180,11 @@
+ sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
+ sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
+ sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out"/>
@@ -195,9 +195,9 @@
+ sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
+ sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
diff --git a/audio/tangorpro/config/audio_policy_volumes.xml b/audio/tangorpro/config/audio_policy_volumes.xml
index 5dc0d0c..6d71ef2 100644
--- a/audio/tangorpro/config/audio_policy_volumes.xml
+++ b/audio/tangorpro/config/audio_policy_volumes.xml
@@ -193,10 +193,10 @@ volume index from 0 to 100.
- 1,-4300
- 20,-4200
- 60,-3000
- 100,-1200
+ 0,-4700
+ 20,-3800
+ 60,-2400
+ 100,-800
diff --git a/audio/tangorpro/config/mixer_paths.xml b/audio/tangorpro/config/mixer_paths.xml
index ff12b83..a252a43 100644
--- a/audio/tangorpro/config/mixer_paths.xml
+++ b/audio/tangorpro/config/mixer_paths.xml
@@ -187,6 +187,7 @@
+
@@ -444,6 +445,10 @@
+
+
+
+
@@ -462,6 +467,10 @@
+
+
+
+
@@ -694,6 +703,10 @@
+
+
+
+
@@ -702,6 +715,10 @@
+
+
+
+
>
diff --git a/audio/tangorpro/tuning/bluenote/smartfeature.gstf b/audio/tangorpro/tuning/bluenote/smartfeature.gstf
index a76df98..e24fca3 100644
Binary files a/audio/tangorpro/tuning/bluenote/smartfeature.gstf and b/audio/tangorpro/tuning/bluenote/smartfeature.gstf differ
diff --git a/bluetooth/device_framework_matrix_product.xml b/bluetooth/device_framework_matrix_product.xml
new file mode 100644
index 0000000..965e090
--- /dev/null
+++ b/bluetooth/device_framework_matrix_product.xml
@@ -0,0 +1,35 @@
+
+
+ hardware.google.bluetooth.bt_channel_avoidance
+ 1.0
+
+ IBTChannelAvoidance
+ default
+
+
+
+ hardware.google.bluetooth.sar
+ 1.1
+
+ IBluetoothSar
+ default
+
+
+
+ hardware.google.bluetooth.ext
+ 1.0
+
+ IBluetoothExt
+ default
+
+
+
+ hardware.google.bluetooth.ccc
+ hwbinder
+ 1.1
+
+ IBluetoothCcc
+ default
+
+
+
diff --git a/bluetooth/manifest_bluetooth.xml b/bluetooth/manifest_bluetooth.xml
index 2033d87..1a53cbb 100644
--- a/bluetooth/manifest_bluetooth.xml
+++ b/bluetooth/manifest_bluetooth.xml
@@ -8,15 +8,6 @@
default
-
- hardware.google.bluetooth.bt_channel_avoidance
- hwbinder
- 1.0
-
- IBTChannelAvoidance
- default
-
-
hardware.google.bluetooth.sar
hwbinder
diff --git a/bluetooth/syna_default.mk b/bluetooth/syna_default.mk
index ca6109e..72a3015 100644
--- a/bluetooth/syna_default.mk
+++ b/bluetooth/syna_default.mk
@@ -14,11 +14,30 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
+
+# Bluetooth Super Wide Band
+PRODUCT_PRODUCT_PROPERTIES += \
+ bluetooth.hfp.swb.supported=true
+
+# Bluetooth LE Audio
+PRODUCT_PRODUCT_PROPERTIES += \
+ ro.bluetooth.leaudio_switcher.supported=true \
+ bluetooth.profile.bap.unicast.client.enabled?=true \
+ bluetooth.profile.csip.set_coordinator.enabled?=true \
+ bluetooth.profile.hap.client.enabled?=true \
+ bluetooth.profile.mcp.server.enabled?=true \
+ bluetooth.profile.ccp.server.enabled?=true \
+ bluetooth.profile.vcp.controller.enabled?=true \
+
# Bluetooth HAL and Pixel extension
DEVICE_MANIFEST_FILE += \
device/google/tangorpro/bluetooth/manifest_bluetooth.xml
+DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += device/google/tangorpro/bluetooth/device_framework_matrix_product.xml
BOARD_SEPOLICY_DIRS += device/google/tangorpro-sepolicy/bluetooth
-PRODUCT_PACKAGES += android.hardware.bluetooth@1.1-service.synabtlinux
+PRODUCT_PACKAGES += android.hardware.bluetooth@1.1-service.synabtlinux \
+ android.hardware.bluetooth.prebuilt.xml \
+ android.hardware.bluetooth_le.prebuilt.xml
+
# Bluetooth SAR test tools
PRODUCT_PACKAGES_DEBUG += bt_sar_test
diff --git a/conf/init.tangorpro.rc b/conf/init.tangorpro.rc
index cbbbc3b..afcbf90 100644
--- a/conf/init.tangorpro.rc
+++ b/conf/init.tangorpro.rc
@@ -17,7 +17,7 @@ on early-boot
wait_for_prop vendor.common.modules.ready 1
start insmod_sh_tangorpro
-service insmod_sh_tangorpro /vendor/bin/init.insmod.sh /vendor/etc/init.insmod.tangorpro.cfg
+service insmod_sh_tangorpro /vendor/bin/insmod.sh /vendor/etc/init.insmod.tangorpro.cfg
class main
user root
group root system
@@ -44,11 +44,8 @@ on property:vendor.device.modules.ready=1
chown system system /sys/devices/platform/10d10000.spi/spi_master/spi0/spi0.0/input/nvt_touch/nvt_dttw_mode
chown system system /sys/devices/platform/10d10000.spi/spi_master/spi0/spi0.0/input/nvt_touch/nvt_fw_history
chown system system /sys/devices/platform/10d10000.spi/spi_master/spi0/spi0.0/input/nvt_touch/nvt_high_sensi_mode
- chown system system /sys/devices/virtual/goog_touch_interface/gti.0/force_active
- chown system system /sys/devices/virtual/goog_touch_interface/gti.0/fw_ver
chown system system /sys/devices/virtual/goog_touch_interface/gti.0/v4l2_enabled
chown system system /sys/devices/virtual/goog_touch_interface/gti.0/offload_enabled
- chown system system /sys/devices/virtual/goog_touch_interface/gti.0/ms_diff
chown system system /proc/nvt_baseline
chown system system /proc/nvt_diff
chown system system /proc/nvt_heatmap
@@ -83,9 +80,6 @@ on post-fs-data
chown system system /sys/devices/platform/odm/odm:fp_fpc1020/irq
chown system system /sys/devices/platform/odm/odm:fp_fpc1020/wakeup_enable
-on property:ro.vendor.trusty.storage.fs_ready=1
- exec_background - system shell -- /vendor/bin/trusty_apploader /vendor/firmware/1540.app
-
# Permissions for hwcomposer
on fs
chown system system /sys/class/backlight/panel0-backlight/cabc_mode
@@ -104,6 +98,9 @@ on post-fs-data
chmod 644 /mnt/vendor/persist/audio/speaker.cal
chmod 644 /mnt/vendor/persist/audio/speaker.diag
+on init && property:ro.bootmode=charger
+ write /sys/devices/platform/19000000.aoc/dmic_power_enable 0
+
# Thermal
on property:vendor.thermal.link_ready=1
chown system system /dev/thermal/tz-by-name/charger_skin_therm/trip_point_0_temp
@@ -113,14 +110,6 @@ on property:vendor.thermal.link_ready=1
chown system system /dev/thermal/tz-by-name/neutral_therm/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/neutral_therm/trip_point_0_hyst
-# 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
-
# Pogo
on post-fs
chown root system /sys/devices/platform/google,pogo/move_data_to_usb
@@ -132,6 +121,13 @@ on post-fs
chmod 600 /sys/devices/platform/google,pogo/hall1_n
chmod 600 /sys/devices/platform/google,pogo/hall2_s
+# Set/Clear force_pogo feature
+on property:persist.vendor.usb.force_pogo=1
+ write /sys/devices/platform/google,pogo/force_pogo 1
+
+on property:persist.vendor.usb.force_pogo=0
+ write /sys/devices/platform/google,pogo/force_pogo 0
+
# Sensor
on init && property:ro.bootmode=charger
write /sys/devices/platform/19000000.aoc/sensor_power_enable 0
diff --git a/device-tangorpro.mk b/device-tangorpro.mk
index 9ab9d07..0c526e7 100644
--- a/device-tangorpro.mk
+++ b/device-tangorpro.mk
@@ -29,7 +29,9 @@ $(call inherit-product-if-exists, vendor/google_devices/tangorpro/proprietary/de
DEVICE_PACKAGE_OVERLAYS += device/google/tangorpro/tangorpro/overlay
PRODUCT_SOONG_NAMESPACES += device/google/tangorpro
-PRODUCT_PACKAGES += WifiOverlayT6pro
+PRODUCT_PACKAGES += \
+ UwbOverlayT6pro \
+ WifiOverlayT6pro
# Disable camera flash and autofocus related xml with a disable flag.
# This flag need to be set before device/google/gs201/device.mk
@@ -49,6 +51,10 @@ DISABLE_TELEPHONY_EUICC := true
include device/google/tangorpro/audio/tangorpro/audio-tables.mk
include device/google/gs201/device-shipping-common.mk
+include device/google/gs-common/touch/gti/gti.mk
+include device/google/gs-common/touch/nvt/nvt.mk
+include device/google/gs-common/led/led.mk
+include device/google/gs-common/wlan/dump.mk
# go/lyric-soong-variables
$(call soong_config_set,lyric,camera_hardware,tangorpro)
@@ -145,6 +151,10 @@ PRODUCT_PROPERTY_OVERRIDES += \
# Set ro.crypto.metadata_init_delete_all_keys.enabled to false to unblock boot
PRODUCT_PROPERTY_OVERRIDES += ro.crypto.metadata_init_delete_all_keys.enabled=false
+# Assistant minimum volume
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.config.assistant_vol_min=1
+
# Temporary override to synchronise changes in pa/ and ag/. See b/246793311 for context.
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.primary_display_orientation=ORIENTATION_0
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.ignore_hwc_physical_display_orientation=true
@@ -193,9 +203,6 @@ PRODUCT_COPY_FILES += \
device/google/tangorpro/lights/led_golden_calibration_LUT_white_CG.txt:$(TARGET_COPY_OUT_VENDOR)/etc/led_golden_calibration_LUT_white_CG.txt \
device/google/tangorpro/lights/led_golden_calibration_LUT_black_CG.txt:$(TARGET_COPY_OUT_VENDOR)/etc/led_golden_calibration_LUT_black_CG.txt
-# Use GmsCorePrebuilt y2023w06
-USE_GMSCORE_PREBUILT_Y2023W06 := true
-
# Device features
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/tablet_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/tablet_core_hardware.xml
@@ -214,10 +221,6 @@ PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.display.lbe.supported=1
# Display CABC
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.display.cabc.supported?=1
-# Enable adpf cpu hint session for SurfaceFlinger
-PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
- debug.sf.enable_adpf_cpu_hint=true
-
# Set zram size
PRODUCT_VENDOR_PROPERTIES += \
vendor.zram.size=3g
@@ -245,6 +248,7 @@ PRODUCT_PRODUCT_PROPERTIES += ro.odm.cast.ssid_suffix=ynn
# Camera
PRODUCT_PROPERTY_OVERRIDES += \
+ persist.vendor.camera.adjust_backend_min_freq_for_1p_front_video_1080p_30fps=1 \
persist.vendor.camera.bypass_sensor_binning_resolution_condition=1 \
persist.vendor.camera.extended_launch_boost=1 \
persist.vendor.camera.raise_buf_allocation_priority=1
diff --git a/device_framework_matrix_product_tangorpro.xml b/device_framework_matrix_product_tangorpro.xml
index 8d3af1c..86fe457 100644
--- a/device_framework_matrix_product_tangorpro.xml
+++ b/device_framework_matrix_product_tangorpro.xml
@@ -2,7 +2,7 @@
device.google.atv.audio_proxy
- 1
+ 3
IAudioProxy
mediashell
diff --git a/fingerprint_config.mk b/fingerprint_config.mk
index fa35c73..c28cb6a 100644
--- a/fingerprint_config.mk
+++ b/fingerprint_config.mk
@@ -6,4 +6,5 @@ else
# Non factory build, use fingerprint AIDL version
GOOGLE_CONFIG_POWER_NODE=/dev/input/event1
GOOGLE_CONFIG_FP_STATUS=1
+GOOGLE_CONFIG_TOUCH_TO_UNLOCK_ANYTIME=1
endif
diff --git a/manifest.xml b/manifest.xml
index 31dc019..8ece978 100644
--- a/manifest.xml
+++ b/manifest.xml
@@ -84,15 +84,6 @@
default
-
- android.hardware.bluetooth
- hwbinder
- 1.1
-
- IBluetoothHci
- default
-
-
android.hardware.bluetooth.audio
hwbinder
@@ -131,15 +122,6 @@
default
-
- hardware.google.bluetooth.bt_channel_avoidance
- hwbinder
- 1.0
-
- IBTChannelAvoidance
- default
-
-
hardware.google.bluetooth.sar
hwbinder
diff --git a/powerhint.json b/powerhint.json
index 7af17d2..7659880 100644
--- a/powerhint.json
+++ b/powerhint.json
@@ -1,5 +1,18 @@
{
"Nodes": [
+ {
+ "Name": "GPUMinFreq",
+ "Path": "/sys/devices/platform/28000000.mali/hint_min_freq",
+ "Values": [
+ "848000",
+ "762000",
+ "572000",
+ "471000",
+ "302000",
+ "202000"
+ ],
+ "ResetOnInit": true
+ },
{
"Name": "MemFreq",
"Path": "/sys/devices/platform/17000010.devfreq_mif/devfreq/17000010.devfreq_mif/min_freq",
@@ -102,19 +115,6 @@
],
"ResetOnInit": true
},
- {
- "Name": "GPUMinFreq",
- "Path": "/sys/devices/platform/28000000.mali/hint_min_freq",
- "Values": [
- "848000",
- "762000",
- "572000",
- "471000",
- "302000",
- "202000"
- ],
- "ResetOnInit": true
- },
{
"Name": "ReducePreferIdle",
"Path": "/proc/vendor_sched/reduce_prefer_idle",
@@ -134,6 +134,16 @@
"DefaultIndex": 0,
"ResetOnInit": true
},
+ {
+ "Name": "CPUDVFSHeadroom",
+ "Path": "/proc/vendor_sched/dvfs_headroom",
+ "Values": [
+ "1280",
+ "1100"
+ ],
+ "DefaultIndex": 0,
+ "ResetOnInit": true
+ },
{
"Name": "MIFTargetLoad",
"Path": "/sys/class/devfreq/17000010.devfreq_mif/interactive/target_load",
@@ -148,7 +158,7 @@
"Name": "CAMUClampBoost",
"Path": "/proc/vendor_sched/cam_uclamp_min",
"Values": [
- "612",
+ "764",
"0"
],
"ResetOnInit": true
@@ -157,7 +167,7 @@
"Name": "TAUClampBoost",
"Path": "/proc/vendor_sched/ta_uclamp_min",
"Values": [
- "612",
+ "764",
"1"
],
"ResetOnInit": true
@@ -175,8 +185,8 @@
"Name": "MLUclampBoost",
"Path": "/proc/vendor_sched/nnapi_uclamp_min",
"Values": [
- "180",
- "650"
+ "225",
+ "813"
],
"DefaultIndex": 0,
"ResetOnInit": true
@@ -324,6 +334,7 @@
"Path": "/sys/devices/platform/17000030.devfreq_intcam/devfreq/17000030.devfreq_intcam/min_freq",
"Values": [
"664000",
+ "233000",
"67000"
],
"ResetOnInit": true
@@ -333,6 +344,7 @@
"Path": "/sys/devices/platform/17000060.devfreq_tnr/devfreq/17000060.devfreq_tnr/min_freq",
"Values": [
"664000",
+ "233000",
"67000"
],
"ResetOnInit": true
@@ -582,6 +594,16 @@
"0,1,2,3,4,5,6,7"
],
"Type": "Property"
+ },
+ {
+ "Name": "Dex2oatGroup",
+ "Path": "/proc/vendor_sched/dex2oat_ug",
+ "Values": [
+ "1",
+ "0"
+ ],
+ "DefaultIndex": 0,
+ "ResetOnInit": true
}
],
"Actions": [
@@ -643,7 +665,7 @@
"PowerHint": "LAUNCH",
"Node": "TAUClampBoost",
"Duration": 5000,
- "Value": "612"
+ "Value": "764"
},
{
"PowerHint": "LAUNCH",
@@ -721,6 +743,18 @@
"Duration": 3000,
"Value": "0"
},
+ {
+ "PowerHint": "CPU_LOAD_RESET",
+ "Node": "GPUMinFreq",
+ "Duration": 50,
+ "Value": "302000"
+ },
+ {
+ "PowerHint": "CPU_LOAD_RESET",
+ "Node": "MemFreq",
+ "Duration": 33,
+ "Value": "1014000"
+ },
{
"PowerHint": "CAMERA_LAUNCH",
"Node": "MemFreq",
@@ -767,7 +801,7 @@
"PowerHint": "CAMERA_LAUNCH",
"Node": "CAMUClampBoost",
"Duration": 1000,
- "Value": "612"
+ "Value": "764"
},
{
"PowerHint": "CAMERA_LAUNCH",
@@ -1039,6 +1073,12 @@
"Duration": 0,
"Value": "1100"
},
+ {
+ "PowerHint": "CAMERA_STREAMING_HIGH",
+ "Node": "CPUDVFSHeadroom",
+ "Duration": 0,
+ "Value": "1100"
+ },
{
"PowerHint": "CAMERA_STREAMING_HIGH",
"Node": "CPUMidClusterMaxFreq",
@@ -1281,6 +1321,18 @@
"Duration": 0,
"Value": "302000"
},
+ {
+ "PowerHint": "CAMERA_ADJUST_BACKEND_MIN_FREQ",
+ "Node": "INTCAMFreq",
+ "Duration": 0,
+ "Value": "233000"
+ },
+ {
+ "PowerHint": "CAMERA_ADJUST_BACKEND_MIN_FREQ",
+ "Node": "TNRFreq",
+ "Duration": 0,
+ "Value": "233000"
+ },
{
"PowerHint": "FIXED_PERFORMANCE",
"Node": "CPUBigClusterMaxFreq",
@@ -1472,12 +1524,6 @@
"Duration": 0,
"Value": "572000"
},
- {
- "PowerHint": "ADPF_FIRST_FRAME",
- "Node": "GPUMinFreq",
- "Duration": 50,
- "Value": "302000"
- },
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_LIGHT",
"Node": "PMU_POLL",
@@ -1556,6 +1602,12 @@
"Duration": 0,
"Value": "0,1,2,3,4,5"
},
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_LIGHT",
+ "Node": "Dex2oatGroup",
+ "Duration": 0,
+ "Value": "0"
+ },
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE",
"Node": "PMU_POLL",
@@ -1634,6 +1686,12 @@
"Duration": 0,
"Value": "0,1,2,3"
},
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE",
+ "Node": "Dex2oatGroup",
+ "Duration": 0,
+ "Value": "0"
+ },
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE",
"Node": "PMU_POLL",
@@ -1712,6 +1770,12 @@
"Duration": 0,
"Value": "0,1,2,3"
},
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE",
+ "Node": "Dex2oatGroup",
+ "Duration": 0,
+ "Value": "0"
+ },
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL",
"Node": "PMU_POLL",
@@ -1790,6 +1854,12 @@
"Duration": 0,
"Value": "0,1,2,3"
},
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL",
+ "Node": "Dex2oatGroup",
+ "Duration": 0,
+ "Value": "0"
+ },
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
"Node": "PMU_POLL",
@@ -1886,6 +1956,12 @@
"Duration": 0,
"Value": "0,1,2,3"
},
+ {
+ "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY",
+ "Node": "Dex2oatGroup",
+ "Duration": 0,
+ "Value": "0"
+ },
{
"PowerHint": "FP_BOOST",
"Node": "CPUBigClusterMaxFreq",
@@ -1932,7 +2008,7 @@
"PowerHint": "ML_ACC",
"Node": "MLUclampBoost",
"Duration": 2000,
- "Value": "650"
+ "Value": "813"
},
{
"PowerHint": "ML_ACC",
@@ -1954,8 +2030,8 @@
"PID_Do": 500.0,
"PID_Du": 0.0,
"UclampMin_On": true,
- "UclampMin_Init": 145,
- "UclampMin_High": 411,
+ "UclampMin_Init": 182,
+ "UclampMin_High": 514,
"UclampMin_Low": 2,
"SamplingWindow_P": 1,
"SamplingWindow_I": 0,
@@ -1981,9 +2057,9 @@
"SamplingWindow_I": 1,
"SamplingWindow_D": 1,
"UclampMin_On": true,
- "UclampMin_Init": 200,
- "UclampMin_High": 157,
- "UclampMin_Low": 157,
+ "UclampMin_Init": 250,
+ "UclampMin_High": 197,
+ "UclampMin_Low": 197,
"ReportingRateLimitNs": 1,
"EarlyBoost_On": false,
"EarlyBoost_TimeFactor": 0.0,
@@ -2005,9 +2081,9 @@
"SamplingWindow_I": 1,
"SamplingWindow_D": 1,
"UclampMin_On": true,
- "UclampMin_Init": 200,
- "UclampMin_High": 42,
- "UclampMin_Low": 42,
+ "UclampMin_Init": 250,
+ "UclampMin_High": 53,
+ "UclampMin_Low": 53,
"ReportingRateLimitNs": 1,
"EarlyBoost_On": false,
"EarlyBoost_TimeFactor": 0.0,
@@ -2029,7 +2105,7 @@
"SamplingWindow_I": 1,
"SamplingWindow_D": 1,
"UclampMin_On": true,
- "UclampMin_Init": 200,
+ "UclampMin_Init": 250,
"UclampMin_High": 0,
"UclampMin_Low": 0,
"ReportingRateLimitNs": 1,
diff --git a/rro_overlays/UwbOverlay/Android.bp b/rro_overlays/UwbOverlay/Android.bp
new file mode 100644
index 0000000..aae93c4
--- /dev/null
+++ b/rro_overlays/UwbOverlay/Android.bp
@@ -0,0 +1,18 @@
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "//device/google/tangorpro:device_google_tangorpro_license""
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: [
+ "//device/google/tangorpro:device_google_tangorpro_license",
+ ],
+}
+
+runtime_resource_overlay {
+ name: "UwbOverlayT6pro",
+ theme: "UwbOverlayT6pro",
+ certificate: "platform",
+ sdk_version: "current",
+ product_specific: true
+}
diff --git a/rro_overlays/UwbOverlay/AndroidManifest.xml b/rro_overlays/UwbOverlay/AndroidManifest.xml
new file mode 100644
index 0000000..57dfd5b
--- /dev/null
+++ b/rro_overlays/UwbOverlay/AndroidManifest.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
diff --git a/rro_overlays/UwbOverlay/OWNERS b/rro_overlays/UwbOverlay/OWNERS
new file mode 100644
index 0000000..2395d7f
--- /dev/null
+++ b/rro_overlays/UwbOverlay/OWNERS
@@ -0,0 +1,3 @@
+# People who can approve changes for submission
+include platform/packages/modules/Uwb:/OWNERS
+victorliu@google.com
diff --git a/rro_overlays/UwbOverlay/res/values/config.xml b/rro_overlays/UwbOverlay/res/values/config.xml
new file mode 100644
index 0000000..fcbfa5f
--- /dev/null
+++ b/rro_overlays/UwbOverlay/res/values/config.xml
@@ -0,0 +1,66 @@
+
+
+
+
+ true
+
+
+ 1
+
+
+ false
+
+
+ false
+
+
+ NONE
+
+
+ 0
+
+
+ false
+
diff --git a/rro_overlays/WifiOverlay/res/values/config.xml b/rro_overlays/WifiOverlay/res/values/config.xml
index 8a92e98..497a962 100644
--- a/rro_overlays/WifiOverlay/res/values/config.xml
+++ b/rro_overlays/WifiOverlay/res/values/config.xml
@@ -115,9 +115,23 @@
true
+
+ true
+
1
+
+
+ true
+
+
+ true
diff --git a/self-extractors/google_devices/staging/Android.mk b/self-extractors/google_devices/staging/Android.mk
index 907a371..972f850 100644
--- a/self-extractors/google_devices/staging/Android.mk
+++ b/self-extractors/google_devices/staging/Android.mk
@@ -31,7 +31,7 @@ LOCAL_PRIVILEGED_MODULE := true
LOCAL_MODULE_OWNER := qorvo
LOCAL_MODULE_CLASS := APPS
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
-LOCAL_CERTIFICATE := platform
+LOCAL_CERTIFICATE := PRESIGNED
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
LOCAL_LICENSE_CONDITIONS := notice
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../COPYRIGHT $(LOCAL_PATH)/../LICENSE
diff --git a/sensors/Android.mk b/sensors/Android.mk
deleted file mode 100644
index 4c5ac47..0000000
--- a/sensors/Android.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright (C) 2009 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-LOCAL_PATH := $(call my-dir)
-
-# HAL module implemenation stored in
-# hw/..so
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_RELATIVE_PATH := hw
-LOCAL_SHARED_LIBRARIES := liblog libcutils libhardware
-LOCAL_SRC_FILES := sensors_dummy.c
-LOCAL_MODULE := sensors.tangorpro
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../NOTICE
-LOCAL_PROPRIETARY_MODULE := true
-
-include $(BUILD_SHARED_LIBRARY)
diff --git a/sensors/sensors_dummy.c b/sensors/sensors_dummy.c
deleted file mode 100644
index b1edd56..0000000
--- a/sensors/sensors_dummy.c
+++ /dev/null
@@ -1,409 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/* this implements a sensors hardware library for the Android emulator.
- * the following code should be built as a shared library that will be
- * placed into /system/lib/hw/sensors.goldfish.so
- *
- * it will be loaded by the code in hardware/libhardware/hardware.c
- * which is itself called from com_android_server_SensorService.cpp
- */
-
-#define SENSORS_SERVICE_NAME "sensors"
-
-#define LOG_TAG "Dummy_Sensors"
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-#if 0
-#define D(...) ALOGD(__VA_ARGS__)
-#else
-#define D(...) ((void)0)
-#endif
-
-#define E(...) ALOGE(__VA_ARGS__)
-
-/** SENSOR IDS AND NAMES
- **/
-
-#define MAX_NUM_SENSORS 8
-
-#define SUPPORTED_SENSORS ((1<";
-}
-
-static int
-_sensorIdFromName( const char* name )
-{
- int nn;
-
- if (name == NULL)
- return -1;
-
- for (nn = 0; nn < MAX_NUM_SENSORS; nn++)
- if (!strcmp(name, _sensorIds[nn].name))
- return _sensorIds[nn].id;
-
- return -1;
-}
-
-/* return the current time in nanoseconds */
-static int64_t now_ns(void) {
- struct timespec ts;
- clock_gettime(CLOCK_MONOTONIC, &ts);
- return (int64_t)ts.tv_sec * 1000000000 + ts.tv_nsec;
-}
-
-/** SENSORS POLL DEVICE
- **
- ** This one is used to read sensor data from the hardware.
- ** We implement this by simply reading the data from the
- ** emulator through the QEMUD channel.
- **/
-
-typedef struct SensorDevice {
- struct sensors_poll_device_1 device;
- sensors_event_t sensors[MAX_NUM_SENSORS];
- uint32_t pendingSensors;
- int64_t timeStart;
- int64_t timeOffset;
- uint32_t active_sensors;
- int fd;
- pthread_mutex_t lock;
-} SensorDevice;
-
-/* Grab the file descriptor to the emulator's sensors service pipe.
- * This function returns a file descriptor on success, or -errno on
- * failure, and assumes the SensorDevice instance's lock is held.
- *
- * This is needed because set_delay(), poll() and activate() can be called
- * from different threads, and poll() is blocking.
- *
- * 1) On a first thread, de-activate() all sensors first, then call poll(),
- * which results in the thread blocking.
- *
- * 2) On a second thread, slightly later, call set_delay() then activate()
- * to enable the acceleration sensor.
- *
- * The system expects this to unblock the first thread which will receive
- * new sensor events after the activate() call in 2).
- *
- * This cannot work if both threads don't use the same connection.
- *
- * TODO(digit): This protocol is brittle, implement another control channel
- * for set_delay()/activate()/batch() when supporting HAL 1.3
- */
-static int sensor_device_get_fd_locked(SensorDevice* dev) {
- /* Create connection to service on first call */
- if (dev->fd < 0) {
- int ret = -errno;
- E("%s: Could not open connection to service: %s", __FUNCTION__,
- strerror(-ret));
- return ret;
- }
- return dev->fd;
-}
-
-/* Pick up one pending sensor event. On success, this returns the sensor
- * id, and sets |*event| accordingly. On failure, i.e. if there are no
- * pending events, return -EINVAL.
- *
- * Note: The device's lock must be acquired.
- */
-static int sensor_device_pick_pending_event_locked(SensorDevice* d,
- sensors_event_t* event)
-{
- uint32_t mask = SUPPORTED_SENSORS & d->pendingSensors;
-
- if (mask) {
- uint32_t i = 31 - __builtin_clz(mask);
-
- pthread_mutex_lock(&d->lock);
- d->pendingSensors &= ~(1U << i);
- *event = d->sensors[i];
- event->sensor = i;
- event->version = sizeof(*event);
- pthread_mutex_unlock(&d->lock);
- D("%s: %d [%f, %f, %f]", __FUNCTION__,
- i,
- event->data[0],
- event->data[1],
- event->data[2]);
- return i;
- }
- E("No sensor to return!!! pendingSensors=0x%08x", d->pendingSensors);
- // we may end-up in a busy loop, slow things down, just in case.
- usleep(1000);
- return -EINVAL;
-}
-
-static int sensor_device_close(struct hw_device_t* dev0)
-{
- SensorDevice* dev = (void*)dev0;
- // Assume that there are no other threads blocked on poll()
- if (dev->fd >= 0) {
- close(dev->fd);
- dev->fd = -1;
- }
- pthread_mutex_destroy(&dev->lock);
- free(dev);
- return 0;
-}
-
-/* Return an array of sensor data. This function blocks until there is sensor
- * related events to report. On success, it will write the events into the
- * |data| array, which contains |count| items. The function returns the number
- * of events written into the array, which shall never be greater than |count|.
- * On error, return -errno code.
- *
- * Note that according to the sensor HAL [1], it shall never return 0!
- *
- * [1] http://source.android.com/devices/sensors/hal-interface.html
- */
-static int sensor_device_poll(struct sensors_poll_device_t *dev0,
- sensors_event_t* data, int count)
-{
- return -EIO;
-}
-
-static int sensor_device_activate(struct sensors_poll_device_t *dev0,
- int handle,
- int enabled)
-{
- SensorDevice* dev = (void*)dev0;
-
- D("%s: handle=%s (%d) enabled=%d", __FUNCTION__,
- _sensorIdToName(handle), handle, enabled);
-
- /* Sanity check */
- if (!ID_CHECK(handle)) {
- E("%s: bad handle ID", __FUNCTION__);
- return -EINVAL;
- }
-
- /* Exit early if sensor is already enabled/disabled. */
- uint32_t mask = (1U << handle);
- uint32_t sensors = enabled ? mask : 0;
-
- pthread_mutex_lock(&dev->lock);
-
- uint32_t active = dev->active_sensors;
- uint32_t new_sensors = (active & ~mask) | (sensors & mask);
- uint32_t changed = active ^ new_sensors;
-
- if (changed)
- dev->active_sensors = new_sensors;
-
- pthread_mutex_unlock(&dev->lock);
- return 0;
-}
-
-static int sensor_device_default_flush(
- struct sensors_poll_device_1* dev0,
- int handle) {
-
- SensorDevice* dev = (void*)dev0;
-
- D("%s: handle=%s (%d)", __FUNCTION__,
- _sensorIdToName(handle), handle);
-
- /* Sanity check */
- if (!ID_CHECK(handle)) {
- E("%s: bad handle ID", __FUNCTION__);
- return -EINVAL;
- }
-
- pthread_mutex_lock(&dev->lock);
- dev->sensors[handle].version = META_DATA_VERSION;
- dev->sensors[handle].type = SENSOR_TYPE_META_DATA;
- dev->sensors[handle].sensor = 0;
- dev->sensors[handle].timestamp = 0;
- dev->sensors[handle].meta_data.what = META_DATA_FLUSH_COMPLETE;
- dev->pendingSensors |= (1U << handle);
- pthread_mutex_unlock(&dev->lock);
-
- return 0;
-}
-
-static int sensor_device_set_delay(struct sensors_poll_device_t *dev0,
- int handle __unused,
- int64_t ns)
-{
- return 0;
-}
-
-static int sensor_device_default_batch(
- struct sensors_poll_device_1* dev,
- int sensor_handle,
- int flags,
- int64_t sampling_period_ns,
- int64_t max_report_latency_ns) {
- return sensor_device_set_delay(dev, sensor_handle, sampling_period_ns);
-}
-
-/** MODULE REGISTRATION SUPPORT
- **
- ** This is required so that hardware/libhardware/hardware.c
- ** will dlopen() this library appropriately.
- **/
-
-/*
- * the following is the list of all supported sensors.
- * this table is used to build sSensorList declared below
- * according to which hardware sensors are reported as
- * available from the emulator (see get_sensors_list below)
- *
- * note: numerical values for maxRange/resolution/power for
- * all sensors but light, pressure and humidity were
- * taken from the reference AK8976A implementation
- */
-static const struct sensor_t sSensorListInit[] = {
- { .name = "Accelerometer",
- .vendor = "The Android Open Source Project",
- .version = 1,
- .handle = ID_ACCELERATION,
- .type = SENSOR_TYPE_ACCELEROMETER,
- .maxRange = 2.8f,
- .resolution = 1.0f/4032.0f,
- .power = 3.0f,
- .minDelay = 10000,
- .maxDelay = 60 * 1000 * 1000,
- .fifoReservedEventCount = 0,
- .fifoMaxEventCount = 0,
- .stringType = 0,
- .requiredPermission = 0,
- .flags = SENSOR_FLAG_CONTINUOUS_MODE,
- .reserved = {}
- },
-};
-
-static struct sensor_t sSensorList[1];
-
-static int sensors__get_sensors_list(struct sensors_module_t* module __unused,
- struct sensor_t const** list)
-{
- *list = sSensorList;
-
- return 0;
-}
-
-static int
-open_sensors(const struct hw_module_t* module,
- const char* name,
- struct hw_device_t* *device)
-{
- int status = -EINVAL;
-
- D("%s: name=%s", __FUNCTION__, name);
-
- if (!strcmp(name, SENSORS_HARDWARE_POLL)) {
- SensorDevice *dev = malloc(sizeof(*dev));
-
- memset(dev, 0, sizeof(*dev));
-
- dev->device.common.tag = HARDWARE_DEVICE_TAG;
- dev->device.common.version = SENSORS_DEVICE_API_VERSION_1_3;
- dev->device.common.module = (struct hw_module_t*) module;
- dev->device.common.close = sensor_device_close;
- dev->device.poll = sensor_device_poll;
- dev->device.activate = sensor_device_activate;
- dev->device.setDelay = sensor_device_set_delay;
-
- // Version 1.3-specific functions
- dev->device.batch = sensor_device_default_batch;
- dev->device.flush = sensor_device_default_flush;
-
- dev->fd = -1;
- pthread_mutex_init(&dev->lock, NULL);
-
- *device = &dev->device.common;
- status = 0;
- }
- return status;
-}
-
-
-static struct hw_module_methods_t sensors_module_methods = {
- .open = open_sensors
-};
-
-struct sensors_module_t HAL_MODULE_INFO_SYM = {
- .common = {
- .tag = HARDWARE_MODULE_TAG,
- .version_major = 1,
- .version_minor = 0,
- .id = SENSORS_HARDWARE_MODULE_ID,
- .name = "Dummy SENSORS Module",
- .author = "The Android Open Source Project",
- .methods = &sensors_module_methods,
- },
- .get_sensors_list = sensors__get_sensors_list
-};
diff --git a/tangorpro/BoardConfig.mk b/tangorpro/BoardConfig.mk
index fdd1772..a38dff3 100644
--- a/tangorpro/BoardConfig.mk
+++ b/tangorpro/BoardConfig.mk
@@ -16,8 +16,14 @@
TARGET_BOARD_INFO_FILE := device/google/tangorpro/board-info.txt
TARGET_BOOTLOADER_BOARD_NAME := tangorpro
+# Enable load module in parallel
+BOARD_BOOTCONFIG += androidboot.load_modules_parallel=true
+
+# The modules which need to be loaded in sequential
+BOARD_KERNEL_CMDLINE += exynos_drm.load_sequential=1
+
ifdef PHONE_CAR_BOARD_PRODUCT
- include vendor/auto/embedded/products/$(PHONE_CAR_BOARD_PRODUCT)/BoardConfig.mk
+ include device/google_car/$(PHONE_CAR_BOARD_PRODUCT)/BoardConfig.mk
else
TARGET_SCREEN_DENSITY := 320
endif
diff --git a/tangorpro/overlay/frameworks/base/core/res/res/values/config.xml b/tangorpro/overlay/frameworks/base/core/res/res/values/config.xml
index 19b8b93..f38e22f 100644
--- a/tangorpro/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/tangorpro/overlay/frameworks/base/core/res/res/values/config.xml
@@ -153,6 +153,27 @@
- 1.1273
+
+ 6543
+
+
+
+ - 0
+
+
+
+
+ - 40
+
+
@@ -464,9 +485,6 @@
1000
4000
-
- 64
-
- 2
- 3
@@ -602,4 +620,29 @@
580
+
+
+ M 35 0 C 32.068778 0.0036999326 28.505583 0.17564387 26.546875 0.41015625 C 25.483658 0.53745314 24.537775 0.72655715 23.384766 0.98046875 C 22.224291 1.2360238 20.767704 1.6467491 19.947266 1.9257812 C 19.015838 2.242561 17.35858 2.8627364 15.929688 3.5976562 C 14.476627 4.3450061 13.239667 5.0979953 11.744141 6.1484375 C 10.553035 6.9850579 9.5259683 7.9240481 8.5273438 8.9296875 C 7.7326464 9.7299671 7.0454415 10.588102 6.3320312 11.503906 C 5.1159738 13.06496 4.0847003 14.75308 3.2167969 16.519531 C 2.5232509 17.931112 2.0519801 19.443532 1.5664062 20.939453 C 1.3527699 21.597609 1.1585822 22.263257 1.0117188 22.939453 C 0.67564247 24.486834 0.41828085 25.988296 0.265625 27.630859 C 0.038195284 30.077983 0.058456504 32.881261 0 35 L 0 1565 C 0.058456504 1567.1187 0.038195284 1569.922 0.265625 1572.3691 C 0.41828085 1574.0117 0.67564247 1575.5132 1.0117188 1577.0605 C 1.1585822 1577.7367 1.3527699 1578.4024 1.5664062 1579.0605 C 2.0519801 1580.5564 2.5232509 1582.0689 3.2167969 1583.4805 C 4.0847003 1585.2469 5.1159738 1586.9351 6.3320312 1588.4961 C 7.0454415 1589.4119 7.7326464 1590.27 8.5273438 1591.0703 C 9.5259683 1592.076 10.553035 1593.015 11.744141 1593.8516 C 13.239667 1594.9021 14.476627 1595.6549 15.929688 1596.4023 C 17.35858 1597.1372 19.015838 1597.7574 19.947266 1598.0742 C 20.767704 1598.3532 22.224291 1598.7639 23.384766 1599.0195 C 24.537775 1599.2734 25.483658 1599.4625 26.546875 1599.5898 C 28.505583 1599.8243 32.068778 1599.9963 35 1600 L 2525 1600 C 2527.9312 1599.9963 2531.4944 1599.8243 2533.4531 1599.5898 C 2534.5163 1599.4625 2535.4622 1599.2734 2536.6152 1599.0195 C 2537.7756 1598.7639 2539.2323 1598.3532 2540.0527 1598.0742 C 2540.9842 1597.7574 2542.6415 1597.1372 2544.0703 1596.4023 C 2545.5234 1595.6549 2546.7603 1594.9021 2548.2559 1593.8516 C 2549.447 1593.015 2550.4741 1592.076 2551.4727 1591.0703 C 2552.2674 1590.27 2552.9546 1589.4119 2553.668 1588.4961 C 2554.8841 1586.9351 2555.9153 1585.2469 2556.7832 1583.4805 C 2557.4767 1582.0689 2557.9499 1580.5564 2558.4355 1579.0605 C 2558.6491 1578.4024 2558.8414 1577.7367 2558.9883 1577.0605 C 2559.3243 1575.5132 2559.5817 1574.0117 2559.7344 1572.3691 C 2559.9619 1569.922 2559.941 1567.1187 2560 1565 L 2560 35 C 2559.941 32.881262 2559.9619 30.077983 2559.7344 27.630859 C 2559.5817 25.988296 2559.3243 24.486834 2558.9883 22.939453 C 2558.8414 22.263257 2558.6491 21.597609 2558.4355 20.939453 C 2557.9499 19.443532 2557.4767 17.931112 2556.7832 16.519531 C 2555.9153 14.75308 2554.8841 13.06496 2553.668 11.503906 C 2552.9546 10.588102 2552.2674 9.7299669 2551.4727 8.9296875 C 2550.4741 7.9240475 2549.447 6.9850579 2548.2559 6.1484375 C 2546.7603 5.0979947 2545.5234 4.3450068 2544.0703 3.5976562 C 2542.6415 2.8627368 2540.9842 2.2425616 2540.0527 1.9257812 C 2539.2323 1.6467498 2537.7756 1.2360232 2536.6152 0.98046875 C 2535.4622 0.72655725 2534.5163 0.53745299 2533.4531 0.41015625 C 2531.4944 0.17564371 2527.9312 0.0036999926 2525 0 L 35 0 z
+
+
+ true
+ 20000000
+
+
+ false
+
+ false
+
+
+ true
diff --git a/tangorpro/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml b/tangorpro/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml
new file mode 100644
index 0000000..5a4f3a4
--- /dev/null
+++ b/tangorpro/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml
@@ -0,0 +1,33 @@
+
+
+
+
+ Alarm
+
+
+ Wifi
+
+
+ Sound_trigger
+
+
+ Sensor
+
+
+
diff --git a/tangorpro/overlay_packages/SettingsOverlayGTU8P/res/drawable/regulatory_info.png b/tangorpro/overlay_packages/SettingsOverlayGTU8P/res/drawable/regulatory_info.png
index 201d9b6..148ef05 100644
Binary files a/tangorpro/overlay_packages/SettingsOverlayGTU8P/res/drawable/regulatory_info.png and b/tangorpro/overlay_packages/SettingsOverlayGTU8P/res/drawable/regulatory_info.png differ
diff --git a/thermal_info_config_tangorpro.json b/thermal_info_config_tangorpro.json
index c36ab5e..72e380a 100644
--- a/thermal_info_config_tangorpro.json
+++ b/thermal_info_config_tangorpro.json
@@ -729,5 +729,41 @@
"PowerSampleDelay":7000,
"PowerSampleCount":1
}
- ]
+ ],
+ "Stats": {
+ "Sensors": {
+ "RecordWithDefaultThreshold": ["VIRTUAL-SKIN"],
+ "RecordWithThreshold": [
+ {
+ "Name": "VIRTUAL-FRONT-SOC",
+ "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51]
+ },
+ {
+ "Name": "VIRTUAL-FRONT-BL",
+ "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51]
+ },
+ {
+ "Name": "VIRTUAL-BACK-SOC",
+ "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51]
+ },
+ {
+ "Name": "VIRTUAL-BACK-CHARGER",
+ "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51]
+ },
+ {
+ "Name": "VIRTUAL-SKIN",
+ "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51]
+ },
+ {
+ "Name": "VIRTUAL-USB-THROTTLING",
+ "Thresholds": [1.0]
+ }
+ ]
+ },
+ "CoolingDevices": {
+ "RecordVotePerSensor": {
+ "DefaultThresholdEnableAll": true
+ }
+ }
+ }
}
diff --git a/uwb/UWB-calibration-ce.conf b/uwb/UWB-calibration-ce.conf
index cd3e956..8024b12 100644
--- a/uwb/UWB-calibration-ce.conf
+++ b/uwb/UWB-calibration-ce.conf
@@ -12,76 +12,76 @@
[CCC]ap_coop_mode=1
[CCC]antenna_selection=4
[CCC]wifi_coex_min_spacing=0x08
-ant0.ch5.prf16.ant_delay=16430
+ant0.ch5.prf16.ant_delay=16460
ant0.ch5.prf16.tx_power=0x4f4f444f
ant0.ch5.prf16.pg_count=0
ant0.ch5.prf16.pg_delay=0x34
-ant0.ch5.prf64.ant_delay=16430
+ant0.ch5.prf64.ant_delay=16460
ant0.ch5.prf64.tx_power=0x4f4f444f
ant0.ch5.prf64.pg_count=0
ant0.ch5.prf64.pg_delay=0x34
-ant0.ch9.prf16.ant_delay=16416
+ant0.ch9.prf16.ant_delay=16445
ant0.ch9.prf16.tx_power=0x3e3e303e
ant0.ch9.prf16.pg_count=0
ant0.ch9.prf16.pg_delay=0x34
-ant0.ch9.prf64.ant_delay=16416
+ant0.ch9.prf64.ant_delay=16445
ant0.ch9.prf64.tx_power=0x3e3e303e
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=16430
+ant1.ch5.prf16.ant_delay=16460
ant1.ch5.prf16.tx_power=0
ant1.ch5.prf16.pg_count=0
ant1.ch5.prf16.pg_delay=0
-ant1.ch5.prf64.ant_delay=16430
+ant1.ch5.prf64.ant_delay=16460
ant1.ch5.prf64.tx_power=0
ant1.ch5.prf64.pg_count=0
ant1.ch5.prf64.pg_delay=0
-ant1.ch9.prf16.ant_delay=16416
+ant1.ch9.prf16.ant_delay=16445
ant1.ch9.prf16.tx_power=0
ant1.ch9.prf16.pg_count=0
ant1.ch9.prf16.pg_delay=0
-ant1.ch9.prf64.ant_delay=16416
+ant1.ch9.prf64.ant_delay=16445
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=16430
+ant2.ch5.prf16.ant_delay=16460
ant2.ch5.prf16.tx_power=0
ant2.ch5.prf16.pg_count=0
ant2.ch5.prf16.pg_delay=0
-ant2.ch5.prf64.ant_delay=16430
+ant2.ch5.prf64.ant_delay=16460
ant2.ch5.prf64.tx_power=0
ant2.ch5.prf64.pg_count=0
ant2.ch5.prf64.pg_delay=0
-ant2.ch9.prf16.ant_delay=16416
+ant2.ch9.prf16.ant_delay=16445
ant2.ch9.prf16.tx_power=0
ant2.ch9.prf16.pg_count=0
ant2.ch9.prf16.pg_delay=0
-ant2.ch9.prf64.ant_delay=16416
+ant2.ch9.prf64.ant_delay=16445
ant2.ch9.prf64.tx_power=0
ant2.ch9.prf64.pg_count=0
ant2.ch9.prf64.pg_delay=0
ant2.port=1
ant2.selector_gpio=6
ant2.selector_gpio_value=0
-ant3.ch5.prf16.ant_delay=16430
+ant3.ch5.prf16.ant_delay=16460
ant3.ch5.prf16.tx_power=0
ant3.ch5.prf16.pg_count=0
ant3.ch5.prf16.pg_delay=0
-ant3.ch5.prf64.ant_delay=16430
+ant3.ch5.prf64.ant_delay=16460
ant3.ch5.prf64.tx_power=0
ant3.ch5.prf64.pg_count=0
ant3.ch5.prf64.pg_delay=0
-ant3.ch9.prf16.ant_delay=16416
+ant3.ch9.prf16.ant_delay=16445
ant3.ch9.prf16.tx_power=0
ant3.ch9.prf16.pg_count=0
ant3.ch9.prf16.pg_delay=0
-ant3.ch9.prf64.ant_delay=16416
+ant3.ch9.prf64.ant_delay=16445
ant3.ch9.prf64.tx_power=0
ant3.ch9.prf64.pg_count=0
ant3.ch9.prf64.pg_delay=0
@@ -130,6 +130,7 @@ restricted_channels=0
[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=300
+[HAL]ccc_enabled=0
coex_gpio=4
coex_delay_us=1000
coex_margin_us=500
diff --git a/uwb/UWB-calibration-fcc.conf b/uwb/UWB-calibration-fcc.conf
index 17b1894..8325fe7 100644
--- a/uwb/UWB-calibration-fcc.conf
+++ b/uwb/UWB-calibration-fcc.conf
@@ -12,76 +12,76 @@
[CCC]ap_coop_mode=1
[CCC]antenna_selection=4
[CCC]wifi_coex_min_spacing=0x08
-ant0.ch5.prf16.ant_delay=16430
+ant0.ch5.prf16.ant_delay=16460
ant0.ch5.prf16.tx_power=0x4f4f444f
ant0.ch5.prf16.pg_count=0
ant0.ch5.prf16.pg_delay=0x28
-ant0.ch5.prf64.ant_delay=16430
+ant0.ch5.prf64.ant_delay=16460
ant0.ch5.prf64.tx_power=0x4f4f444f
ant0.ch5.prf64.pg_count=0
ant0.ch5.prf64.pg_delay=0x28
-ant0.ch9.prf16.ant_delay=16416
+ant0.ch9.prf16.ant_delay=16445
ant0.ch9.prf16.tx_power=0x5e5e4c5e
ant0.ch9.prf16.pg_count=0
ant0.ch9.prf16.pg_delay=0x28
-ant0.ch9.prf64.ant_delay=16416
+ant0.ch9.prf64.ant_delay=16445
ant0.ch9.prf64.tx_power=0x5e5e4c5e
ant0.ch9.prf64.pg_count=0
ant0.ch9.prf64.pg_delay=0x28
ant0.port=0
ant0.selector_gpio=7
ant0.selector_gpio_value=0
-ant1.ch5.prf16.ant_delay=16430
+ant1.ch5.prf16.ant_delay=16460
ant1.ch5.prf16.tx_power=0
ant1.ch5.prf16.pg_count=0
ant1.ch5.prf16.pg_delay=0
-ant1.ch5.prf64.ant_delay=16430
+ant1.ch5.prf64.ant_delay=16460
ant1.ch5.prf64.tx_power=0
ant1.ch5.prf64.pg_count=0
ant1.ch5.prf64.pg_delay=0
-ant1.ch9.prf16.ant_delay=16416
+ant1.ch9.prf16.ant_delay=16445
ant1.ch9.prf16.tx_power=0
ant1.ch9.prf16.pg_count=0
ant1.ch9.prf16.pg_delay=0
-ant1.ch9.prf64.ant_delay=16416
+ant1.ch9.prf64.ant_delay=16445
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=16430
+ant2.ch5.prf16.ant_delay=16460
ant2.ch5.prf16.tx_power=0
ant2.ch5.prf16.pg_count=0
ant2.ch5.prf16.pg_delay=0
-ant2.ch5.prf64.ant_delay=16430
+ant2.ch5.prf64.ant_delay=16460
ant2.ch5.prf64.tx_power=0
ant2.ch5.prf64.pg_count=0
ant2.ch5.prf64.pg_delay=0
-ant2.ch9.prf16.ant_delay=16416
+ant2.ch9.prf16.ant_delay=16445
ant2.ch9.prf16.tx_power=0
ant2.ch9.prf16.pg_count=0
ant2.ch9.prf16.pg_delay=0
-ant2.ch9.prf64.ant_delay=16416
+ant2.ch9.prf64.ant_delay=16445
ant2.ch9.prf64.tx_power=0
ant2.ch9.prf64.pg_count=0
ant2.ch9.prf64.pg_delay=0
ant2.port=1
ant2.selector_gpio=6
ant2.selector_gpio_value=0
-ant3.ch5.prf16.ant_delay=16430
+ant3.ch5.prf16.ant_delay=16460
ant3.ch5.prf16.tx_power=0
ant3.ch5.prf16.pg_count=0
ant3.ch5.prf16.pg_delay=0
-ant3.ch5.prf64.ant_delay=16430
+ant3.ch5.prf64.ant_delay=16460
ant3.ch5.prf64.tx_power=0
ant3.ch5.prf64.pg_count=0
ant3.ch5.prf64.pg_delay=0
-ant3.ch9.prf16.ant_delay=16416
+ant3.ch9.prf16.ant_delay=16445
ant3.ch9.prf16.tx_power=0
ant3.ch9.prf16.pg_count=0
ant3.ch9.prf16.pg_delay=0
-ant3.ch9.prf64.ant_delay=16416
+ant3.ch9.prf64.ant_delay=16445
ant3.ch9.prf64.tx_power=0
ant3.ch9.prf64.pg_count=0
ant3.ch9.prf64.pg_delay=0
@@ -130,6 +130,7 @@ restricted_channels=0
[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=300
+[HAL]ccc_enabled=0
coex_gpio=4
coex_delay_us=1000
coex_margin_us=500
diff --git a/uwb/UWB-calibration-jp.conf b/uwb/UWB-calibration-jp.conf
index 7c9b43c..00201cd 100644
--- a/uwb/UWB-calibration-jp.conf
+++ b/uwb/UWB-calibration-jp.conf
@@ -12,76 +12,76 @@
[CCC]ap_coop_mode=1
[CCC]antenna_selection=4
[CCC]wifi_coex_min_spacing=0x08
-ant0.ch5.prf16.ant_delay=16430
+ant0.ch5.prf16.ant_delay=16460
ant0.ch5.prf16.tx_power=0xffffffff
ant0.ch5.prf16.pg_count=0
ant0.ch5.prf16.pg_delay=0x34
-ant0.ch5.prf64.ant_delay=16430
+ant0.ch5.prf64.ant_delay=16460
ant0.ch5.prf64.tx_power=0xffffffff
ant0.ch5.prf64.pg_count=0
ant0.ch5.prf64.pg_delay=0x34
-ant0.ch9.prf16.ant_delay=16416
+ant0.ch9.prf16.ant_delay=16445
ant0.ch9.prf16.tx_power=0x2e2e242e
ant0.ch9.prf16.pg_count=0
ant0.ch9.prf16.pg_delay=0x34
-ant0.ch9.prf64.ant_delay=16416
+ant0.ch9.prf64.ant_delay=16445
ant0.ch9.prf64.tx_power=0x2e2e242e
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=16430
+ant1.ch5.prf16.ant_delay=16460
ant1.ch5.prf16.tx_power=0
ant1.ch5.prf16.pg_count=0
ant1.ch5.prf16.pg_delay=0
-ant1.ch5.prf64.ant_delay=16430
+ant1.ch5.prf64.ant_delay=16460
ant1.ch5.prf64.tx_power=0
ant1.ch5.prf64.pg_count=0
ant1.ch5.prf64.pg_delay=0
-ant1.ch9.prf16.ant_delay=16416
+ant1.ch9.prf16.ant_delay=16445
ant1.ch9.prf16.tx_power=0
ant1.ch9.prf16.pg_count=0
ant1.ch9.prf16.pg_delay=0
-ant1.ch9.prf64.ant_delay=16416
+ant1.ch9.prf64.ant_delay=16445
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=16430
+ant2.ch5.prf16.ant_delay=16460
ant2.ch5.prf16.tx_power=0
ant2.ch5.prf16.pg_count=0
ant2.ch5.prf16.pg_delay=0
-ant2.ch5.prf64.ant_delay=16430
+ant2.ch5.prf64.ant_delay=16460
ant2.ch5.prf64.tx_power=0
ant2.ch5.prf64.pg_count=0
ant2.ch5.prf64.pg_delay=0
-ant2.ch9.prf16.ant_delay=16416
+ant2.ch9.prf16.ant_delay=16445
ant2.ch9.prf16.tx_power=0
ant2.ch9.prf16.pg_count=0
ant2.ch9.prf16.pg_delay=0
-ant2.ch9.prf64.ant_delay=16416
+ant2.ch9.prf64.ant_delay=16445
ant2.ch9.prf64.tx_power=0
ant2.ch9.prf64.pg_count=0
ant2.ch9.prf64.pg_delay=0
ant2.port=1
ant2.selector_gpio=6
ant2.selector_gpio_value=0
-ant3.ch5.prf16.ant_delay=16430
+ant3.ch5.prf16.ant_delay=16460
ant3.ch5.prf16.tx_power=0
ant3.ch5.prf16.pg_count=0
ant3.ch5.prf16.pg_delay=0
-ant3.ch5.prf64.ant_delay=16430
+ant3.ch5.prf64.ant_delay=16460
ant3.ch5.prf64.tx_power=0
ant3.ch5.prf64.pg_count=0
ant3.ch5.prf64.pg_delay=0
-ant3.ch9.prf16.ant_delay=16416
+ant3.ch9.prf16.ant_delay=16445
ant3.ch9.prf16.tx_power=0
ant3.ch9.prf16.pg_count=0
ant3.ch9.prf16.pg_delay=0
-ant3.ch9.prf64.ant_delay=16416
+ant3.ch9.prf64.ant_delay=16445
ant3.ch9.prf64.tx_power=0
ant3.ch9.prf64.pg_count=0
ant3.ch9.prf64.pg_delay=0
@@ -130,6 +130,7 @@ restricted_channels=0x20
[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=300
+[HAL]ccc_enabled=0
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..1c98823
--- /dev/null
+++ b/uwb/UWB-calibration-restricted.conf
@@ -0,0 +1,148 @@
+[CCC]version=3
+[CCC]wifi_coex_time_gap=10
+[CCC]ap_coop_mode=1
+[CCC]wifi_coex_min_spacing=0x08
+[CCC]ch5.antenna_selection=ant0
+[CCC]ch9.antenna_selection=ant2
+[CCC]alternate_pulse_shape=0x00
+ant0.ch5.prf16.ant_delay=16449
+ant0.ch5.prf16.tx_power=0xFFFFD4FF
+ant0.ch5.prf16.pg_count=0
+ant0.ch5.prf16.pg_delay=0x28
+ant0.ch5.prf64.ant_delay=16449
+ant0.ch5.prf64.tx_power=0xFFFFD4FF
+ant0.ch5.prf64.pg_count=0
+ant0.ch5.prf64.pg_delay=0x28
+ant0.ch9.prf16.ant_delay=16451
+ant0.ch9.prf16.tx_power=0xFEFEC0FE
+ant0.ch9.prf16.pg_count=0
+ant0.ch9.prf16.pg_delay=0x28
+ant0.ch9.prf64.ant_delay=16451
+ant0.ch9.prf64.tx_power=0xFEFEC0FE
+ant0.ch9.prf64.pg_count=0
+ant0.ch9.prf64.pg_delay=0x28
+ant0.port=0
+ant0.selector_gpio=7
+ant0.selector_gpio_value=0
+ant1.ch5.prf16.ant_delay=16450
+ant1.ch5.prf16.tx_power=0xFFFFFFFF
+ant1.ch5.prf16.pg_count=0
+ant1.ch5.prf16.pg_delay=0x26
+ant1.ch5.prf64.ant_delay=16450
+ant1.ch5.prf64.tx_power=0xFFFFFFFF
+ant1.ch5.prf64.pg_count=0
+ant1.ch5.prf64.pg_delay=0x26
+ant1.ch9.prf16.ant_delay=16451
+ant1.ch9.prf16.tx_power=0x3E3E303E
+ant1.ch9.prf16.pg_count=0
+ant1.ch9.prf16.pg_delay=0x16
+ant1.ch9.prf64.ant_delay=16451
+ant1.ch9.prf64.tx_power=0x3E3E303E
+ant1.ch9.prf64.pg_count=0
+ant1.ch9.prf64.pg_delay=0x16
+ant1.port=0
+ant1.selector_gpio=7
+ant1.selector_gpio_value=1
+ant2.ch5.prf16.ant_delay=16450
+ant2.ch5.prf16.tx_power=0
+ant2.ch5.prf16.pg_count=0
+ant2.ch5.prf16.pg_delay=0
+ant2.ch5.prf64.ant_delay=16450
+ant2.ch5.prf64.tx_power=0
+ant2.ch5.prf64.pg_count=0
+ant2.ch5.prf64.pg_delay=0
+ant2.ch9.prf16.ant_delay=16451
+ant2.ch9.prf16.tx_power=0x8E8E748E
+ant2.ch9.prf16.pg_count=0
+ant2.ch9.prf16.pg_delay=0x28
+ant2.ch9.prf64.ant_delay=16451
+ant2.ch9.prf64.tx_power=0x8E8E748E
+ant2.ch9.prf64.pg_count=0
+ant2.ch9.prf64.pg_delay=0x28
+ant2.port=1
+ant2.selector_gpio=6
+ant2.selector_gpio_value=0
+ant3.ch5.prf16.ant_delay=16450
+ant3.ch5.prf16.tx_power=0
+ant3.ch5.prf16.pg_count=0
+ant3.ch5.prf16.pg_delay=0
+ant3.ch5.prf64.ant_delay=16450
+ant3.ch5.prf64.tx_power=0
+ant3.ch5.prf64.pg_count=0
+ant3.ch5.prf64.pg_delay=0
+ant3.ch9.prf16.ant_delay=16450
+ant3.ch9.prf16.tx_power=0
+ant3.ch9.prf16.pg_count=0
+ant3.ch9.prf16.pg_delay=0
+ant3.ch9.prf64.ant_delay=16450
+ant3.ch9.prf64.tx_power=0
+ant3.ch9.prf64.pg_count=0
+ant3.ch9.prf64.pg_delay=0
+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=2421
+ant0.ant3.ch5.pdoa_offset=0
+ant0.ant3.ch9.pdoa_offset=0
+ant1.ant3.ch5.pdoa_offset=0
+ant1.ant3.ch9.pdoa_offset=-6159
+ant2.ant3.ch5.pdoa_offset=0
+ant2.ant3.ch9.pdoa_offset=0
+ch5.pll_locking_code=0
+ch9.pll_locking_code=0
+ant1.ant2.ch5.pdoa_lut=0a:f4:77:0a:d9:f4:c5:09:c1:f5:12:09:df:f5:60:08:7f:f6:ac:07:dd:f6:fa:06:f2:f6:48:06:89:f7:96:05:d1:f7:e3:04:54:f8:2f:04:f0:f8:7d:03:46:fa:cb:02:b0:fb:19:02:23:fd:64:01:a2:fe:b2:00:00:00:00:00:31:01:4e:ff:a6:02:9c:fe:0a:04:e7:fd:52:05:35:fd:73:06:83:fc:cb:07:d1:fb:be:08:1d:fb:f8:09:6a:fa:39:0b:b8:f9:81:0c:06:f9:1b:0d:54:f8:87:0d:a0:f7:a0:0e:ee:f6:06:0f:3b:f6:2d:0f:89:f5
+ant1.ant2.ch9.pdoa_lut=d7:f1:85:f5:66:f2:3d:f6:b8:f2:f6:f6:48:f3:9a:f7:9a:f3:52:f8:00:f4:0a:f9:a4:f4:ae:f9:85:f5:66:fa:b8:f6:1f:fb:ec:f7:d7:fb:ae:f9:7b:fc:33:fb:33:fd:e1:fc:ec:fd:29:fe:a4:fe:e1:fe:48:ff:d7:ff:00:00:b8:00:b8:00:d7:01:5c:01:5c:03:14:02:1f:05:cd:02:52:06:85:03:d7:07:29:04:0a:09:e1:04:3d:0a:9a:05:33:0b:52:06:29:0c:f6:06:c3:0d:ae:07:5c:0f:66:08:1f:11:0a:09:66:12:c3:09:00:14:7b:0a
+ant1.ant3.ch5.pdoa_lut=89:f4:ac:07:a2:f4:60:08:ae:f4:77:0a:0a:f5:12:09:7d:f5:c5:09:8d:f5:fa:06:0a:f7:48:06:9a:f7:96:05:fa:f7:e3:04:68:f8:2f:04:f0:f9:7d:03:fa:fb:cb:02:6d:fd:19:02:2f:fe:64:01:98:fe:b2:00:00:00:00:00:1d:02:4e:ff:2d:02:e7:fd:33:02:9c:fe:0a:03:35:fd:6f:04:83:fc:db:05:d1:fb:85:07:1d:fb:b0:08:6a:fa:06:09:b8:f9:71:09:06:f9:48:0a:54:f8:4e:0b:a0:f7:58:0c:3b:f6:62:0c:ee:f6:c5:0c:89:f5
+ant1.ant3.ch9.pdoa_lut=3d:f2:85:f5:52:f2:3d:f6:cd:f2:f6:f6:e1:f2:9a:f7:0a:f3:52:f8:1f:f3:0a:f9:33:f3:ae:f9:71:f3:66:fa:52:f4:1f:fb:85:f5:d7:fb:9a:f7:7b:fc:0a:f9:33:fd:29:fa:ec:fd:ae:fb:a4:fe:ec:fd:48:ff:1f:ff:00:00:cd:00:b8:00:0a:03:5c:01:8f:04:14:02:b8:06:cd:02:66:08:85:03:3d:0a:29:04:7b:0c:e1:04:0a:0d:9a:05:29:0e:52:06:8f:0e:f6:06:a4:0e:ae:07:b8:0e:66:08:cd:0e:0a:09:33:0f:c3:09:c3:0f:7b:0a
+xtal_trim=23
+temperature_reference=85
+smart_tx_power=1
+auto_sleep_margin=20000
+alternate_pulse_shape=0x00
+restricted_channels=0xFFFF
+[HAL]aoa_restricted_channels=0x20
+[HAL]aoa_capability=2
+[HAL]ant_sets.ch5.range.rx_ant_set_nonranging=6
+[HAL]ant_sets.ch5.range.rx_ant_set_ranging=6
+[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=3
+[HAL]ant_sets.ch5.azimuth.rx_ant_set_ranging=3
+[HAL]ant_sets.ch5.azimuth.tx_ant_set_nonranging=0
+[HAL]ant_sets.ch5.azimuth.tx_ant_set_ranging=0
+[HAL]ant_sets.ch9.range.rx_ant_set_nonranging=8
+[HAL]ant_sets.ch9.range.rx_ant_set_ranging=8
+[HAL]ant_sets.ch9.range.tx_ant_set_nonranging=8
+[HAL]ant_sets.ch9.range.tx_ant_set_ranging=8
+[HAL]ant_sets.ch5.elevation.rx_ant_set_nonranging=4
+[HAL]ant_sets.ch5.elevation.rx_ant_set_ranging=4
+[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=4
+[HAL]ant_sets.ch9.elevation.rx_ant_set_ranging=4
+[HAL]ant_sets.ch9.elevation.tx_ant_set_nonranging=8
+[HAL]ant_sets.ch9.elevation.tx_ant_set_ranging=8
+[HAL]ant_sets.ch9.azimuth.rx_ant_set_nonranging=3
+[HAL]ant_sets.ch9.azimuth.rx_ant_set_ranging=3
+[HAL]ant_sets.ch9.azimuth.tx_ant_set_nonranging=8
+[HAL]ant_sets.ch9.azimuth.tx_ant_set_ranging=8
+[HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_nonranging=3
+[HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_ranging_azimuth=3
+[HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_ranging_elevation=4
+[HAL]ant_sets.ch5.azimuth_elevation.tx_ant_set_nonranging=0
+[HAL]ant_sets.ch5.azimuth_elevation.tx_ant_set_ranging=0
+[HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_nonranging=3
+[HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_ranging_azimuth=3
+[HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_ranging_elevation=4
+[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_nonranging=8
+[HAL]ant_sets.ch9.azimuth_elevation.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.conf
index 17b1894..8325fe7 100644
--- a/uwb/UWB-calibration.conf
+++ b/uwb/UWB-calibration.conf
@@ -12,76 +12,76 @@
[CCC]ap_coop_mode=1
[CCC]antenna_selection=4
[CCC]wifi_coex_min_spacing=0x08
-ant0.ch5.prf16.ant_delay=16430
+ant0.ch5.prf16.ant_delay=16460
ant0.ch5.prf16.tx_power=0x4f4f444f
ant0.ch5.prf16.pg_count=0
ant0.ch5.prf16.pg_delay=0x28
-ant0.ch5.prf64.ant_delay=16430
+ant0.ch5.prf64.ant_delay=16460
ant0.ch5.prf64.tx_power=0x4f4f444f
ant0.ch5.prf64.pg_count=0
ant0.ch5.prf64.pg_delay=0x28
-ant0.ch9.prf16.ant_delay=16416
+ant0.ch9.prf16.ant_delay=16445
ant0.ch9.prf16.tx_power=0x5e5e4c5e
ant0.ch9.prf16.pg_count=0
ant0.ch9.prf16.pg_delay=0x28
-ant0.ch9.prf64.ant_delay=16416
+ant0.ch9.prf64.ant_delay=16445
ant0.ch9.prf64.tx_power=0x5e5e4c5e
ant0.ch9.prf64.pg_count=0
ant0.ch9.prf64.pg_delay=0x28
ant0.port=0
ant0.selector_gpio=7
ant0.selector_gpio_value=0
-ant1.ch5.prf16.ant_delay=16430
+ant1.ch5.prf16.ant_delay=16460
ant1.ch5.prf16.tx_power=0
ant1.ch5.prf16.pg_count=0
ant1.ch5.prf16.pg_delay=0
-ant1.ch5.prf64.ant_delay=16430
+ant1.ch5.prf64.ant_delay=16460
ant1.ch5.prf64.tx_power=0
ant1.ch5.prf64.pg_count=0
ant1.ch5.prf64.pg_delay=0
-ant1.ch9.prf16.ant_delay=16416
+ant1.ch9.prf16.ant_delay=16445
ant1.ch9.prf16.tx_power=0
ant1.ch9.prf16.pg_count=0
ant1.ch9.prf16.pg_delay=0
-ant1.ch9.prf64.ant_delay=16416
+ant1.ch9.prf64.ant_delay=16445
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=16430
+ant2.ch5.prf16.ant_delay=16460
ant2.ch5.prf16.tx_power=0
ant2.ch5.prf16.pg_count=0
ant2.ch5.prf16.pg_delay=0
-ant2.ch5.prf64.ant_delay=16430
+ant2.ch5.prf64.ant_delay=16460
ant2.ch5.prf64.tx_power=0
ant2.ch5.prf64.pg_count=0
ant2.ch5.prf64.pg_delay=0
-ant2.ch9.prf16.ant_delay=16416
+ant2.ch9.prf16.ant_delay=16445
ant2.ch9.prf16.tx_power=0
ant2.ch9.prf16.pg_count=0
ant2.ch9.prf16.pg_delay=0
-ant2.ch9.prf64.ant_delay=16416
+ant2.ch9.prf64.ant_delay=16445
ant2.ch9.prf64.tx_power=0
ant2.ch9.prf64.pg_count=0
ant2.ch9.prf64.pg_delay=0
ant2.port=1
ant2.selector_gpio=6
ant2.selector_gpio_value=0
-ant3.ch5.prf16.ant_delay=16430
+ant3.ch5.prf16.ant_delay=16460
ant3.ch5.prf16.tx_power=0
ant3.ch5.prf16.pg_count=0
ant3.ch5.prf16.pg_delay=0
-ant3.ch5.prf64.ant_delay=16430
+ant3.ch5.prf64.ant_delay=16460
ant3.ch5.prf64.tx_power=0
ant3.ch5.prf64.pg_count=0
ant3.ch5.prf64.pg_delay=0
-ant3.ch9.prf16.ant_delay=16416
+ant3.ch9.prf16.ant_delay=16445
ant3.ch9.prf16.tx_power=0
ant3.ch9.prf16.pg_count=0
ant3.ch9.prf16.pg_delay=0
-ant3.ch9.prf64.ant_delay=16416
+ant3.ch9.prf64.ant_delay=16445
ant3.ch9.prf64.tx_power=0
ant3.ch9.prf64.pg_count=0
ant3.ch9.prf64.pg_delay=0
@@ -130,6 +130,7 @@ restricted_channels=0
[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=300
+[HAL]ccc_enabled=0
coex_gpio=4
coex_delay_us=1000
coex_margin_us=500
diff --git a/uwb/uwb_calibration.mk b/uwb/uwb_calibration.mk
index c7075bf..4a00743 100644
--- a/uwb/uwb_calibration.mk
+++ b/uwb/uwb_calibration.mk
@@ -20,7 +20,7 @@ LOCAL_UWB_CAL_DIR=device/google/tangorpro/uwb
PRODUCT_COPY_FILES += \
$(LOCAL_UWB_CAL_DIR)/UWB-calibration.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration.conf \
- $(LOCAL_UWB_CAL_DIR)/UWB-calibration.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-unknown.conf \
+ $(LOCAL_UWB_CAL_DIR)/UWB-calibration-restricted.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-unknown.conf \
$(LOCAL_UWB_CAL_DIR)/UWB-calibration.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-default.conf \
$(LOCAL_UWB_CAL_DIR)/init.uwb.calib.xtal.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.uwb.calib.sh \
diff --git a/uwb/uwb_country.conf b/uwb/uwb_country.conf
index 7ba69f2..92e7ecc 100644
--- a/uwb/uwb_country.conf
+++ b/uwb/uwb_country.conf
@@ -16,3 +16,21 @@
*JP
"Japan": "jp"
+
+*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"
diff --git a/wifi/p2p_supplicant_overlay.conf b/wifi/p2p_supplicant_overlay.conf
index 4ec8453..74d24d8 100644
--- a/wifi/p2p_supplicant_overlay.conf
+++ b/wifi/p2p_supplicant_overlay.conf
@@ -8,3 +8,4 @@ p2p_add_cli_chan=1
disable_scan_offload=1
p2p_go_vht=1
p2p_pref_chan=124:149, 115:36
+p2p_6ghz_disable=1