diff --git a/OWNERS b/OWNERS
index 79003ba..7eed0c3 100644
--- a/OWNERS
+++ b/OWNERS
@@ -1,4 +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
+per-file *.mk,*/BoardConfig.mk=file:device/google/gs-common:main:/OWNERS
diff --git a/PREUPLOAD.cfg b/PREUPLOAD.cfg
new file mode 100644
index 0000000..37ebb5e
--- /dev/null
+++ b/PREUPLOAD.cfg
@@ -0,0 +1,2 @@
+[Builtin Hooks]
+jsonlint = true
diff --git a/audio/tangorpro/aidl_config/mixer_paths_aidl.xml b/audio/tangorpro/aidl_config/mixer_paths_aidl.xml
index 2d051b8..d89f751 100644
--- a/audio/tangorpro/aidl_config/mixer_paths_aidl.xml
+++ b/audio/tangorpro/aidl_config/mixer_paths_aidl.xml
@@ -435,6 +435,14 @@
+
+
+
+
+
+
+
+
@@ -499,6 +507,14 @@
+
+
+
+
+
+
+
+
@@ -559,6 +575,14 @@
+
+
+
+
+
+
+
+
@@ -628,6 +652,14 @@
+
+
+
+
+
+
+
+
@@ -692,6 +724,14 @@
+
+
+
+
+
+
+
+
@@ -768,6 +808,14 @@
+
+
+
+
+
+
+
+
@@ -882,6 +930,14 @@
+
+
+
+
+
+
+
+
@@ -920,6 +976,14 @@
+
+
+
+
+
+
+
+
@@ -944,6 +1008,10 @@
+
+
+
+
@@ -968,6 +1036,10 @@
+
+
+
+
@@ -1002,6 +1074,14 @@
+
+
+
+
+
+
+
+
@@ -1046,6 +1126,10 @@
+
+
+
+
@@ -1110,6 +1194,10 @@
+
+
+
+
@@ -1318,6 +1406,10 @@
+
+
+
+
diff --git a/audio/tangorpro/tuning/apmg3/uplink_dock_config.pb b/audio/tangorpro/tuning/apmg3/uplink_dock_config.pb
index 7996795..2598ca2 100644
Binary files a/audio/tangorpro/tuning/apmg3/uplink_dock_config.pb and b/audio/tangorpro/tuning/apmg3/uplink_dock_config.pb differ
diff --git a/audio/tangorpro/tuning/apmg3/uplink_headset_aec_off_config.pb b/audio/tangorpro/tuning/apmg3/uplink_headset_aec_off_config.pb
index 03f7574..5daa2d1 100644
Binary files a/audio/tangorpro/tuning/apmg3/uplink_headset_aec_off_config.pb and b/audio/tangorpro/tuning/apmg3/uplink_headset_aec_off_config.pb differ
diff --git a/audio/tangorpro/tuning/apmg3/uplink_headset_config.pb b/audio/tangorpro/tuning/apmg3/uplink_headset_config.pb
index b2c4aa6..936bb39 100644
Binary files a/audio/tangorpro/tuning/apmg3/uplink_headset_config.pb and b/audio/tangorpro/tuning/apmg3/uplink_headset_config.pb differ
diff --git a/audio/tangorpro/tuning/apmg3/uplink_tablet_stereo_config.pb b/audio/tangorpro/tuning/apmg3/uplink_tablet_stereo_config.pb
index 4c8a821..341b6e7 100644
Binary files a/audio/tangorpro/tuning/apmg3/uplink_tablet_stereo_config.pb and b/audio/tangorpro/tuning/apmg3/uplink_tablet_stereo_config.pb differ
diff --git a/bluetooth/syna_default.mk b/bluetooth/syna_default.mk
index 53a04b1..a389ffd 100644
--- a/bluetooth/syna_default.mk
+++ b/bluetooth/syna_default.mk
@@ -46,6 +46,10 @@ PRODUCT_PRODUCT_PROPERTIES += \
PRODUCT_PRODUCT_PROPERTIES += \
persist.bluetooth.leaudio.toggle_visible=false
+# LE Audio use classic connection by default
+PRODUCT_PRODUCT_PROPERTIES += \
+ ro.bluetooth.leaudio.le_audio_connection_by_default=false
+
# Bluetooth HAL and Pixel extension
DEVICE_MANIFEST_FILE += \
device/google/tangorpro/bluetooth/manifest_bluetooth.xml
diff --git a/device-tangorpro.mk b/device-tangorpro.mk
index ae62f59..54002a6 100644
--- a/device-tangorpro.mk
+++ b/device-tangorpro.mk
@@ -162,6 +162,13 @@ include device/google/tangorpro/fingerprint_config.mk
# Trusty liboemcrypto.so
PRODUCT_SOONG_NAMESPACES += vendor/google_devices/tangorpro/prebuilts
+ifneq (,$(filter AP1%,$(RELEASE_PLATFORM_VERSION)))
+PRODUCT_SOONG_NAMESPACES += vendor/google_devices/tangorpro/prebuilts/trusty/24Q1
+else ifneq (,$(filter AP2%,$(RELEASE_PLATFORM_VERSION)))
+PRODUCT_SOONG_NAMESPACES += vendor/google_devices/tangorpro/prebuilts/trusty/24Q2
+else
+PRODUCT_SOONG_NAMESPACES += vendor/google_devices/tangorpro/prebuilts/trusty/trunk
+endif
# Wifi SAP Interface Name
PRODUCT_PROPERTY_OVERRIDES += \
diff --git a/lights/Android.bp b/lights/Android.bp
index 9544e19..c6fbd12 100644
--- a/lights/Android.bp
+++ b/lights/Android.bp
@@ -9,6 +9,7 @@ package {
cc_binary {
name: "android.hardware.lights-service.tangorpro",
+ defaults: ["android.hardware.graphics.common-ndk_static"],
relative_install_path: "hw",
init_rc: ["android.hardware.lights-service.tangorpro.rc"],
vintf_fragments: ["android.hardware.lights-service.tangorpro.xml"],
@@ -22,7 +23,6 @@ cc_binary {
static_libs: [
"//hardware/google/interfaces:com.google.hardware.pixel.display-V7-ndk",
"android.hardware.common-V2-ndk",
- "android.hardware.graphics.common-V4-ndk",
],
srcs: ["Lights.cpp", "led_lut_calibrator.cpp"],
diff --git a/powerhint.json b/powerhint.json
index 5ba5566..45d5de6 100644
--- a/powerhint.json
+++ b/powerhint.json
@@ -59,6 +59,16 @@
],
"ResetOnInit": true
},
+ {
+ "Name": "CPULittleClusterDownRateLimitUs",
+ "Path": "/sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/down_rate_limit_us",
+ "Values": [
+ "5000",
+ "500"
+ ],
+ "DefaultIndex": 0,
+ "ResetOnInit": true
+ },
{
"Name": "CPUMidClusterMaxFreq",
"Path": "/sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq",
@@ -87,6 +97,16 @@
],
"ResetOnInit": true
},
+ {
+ "Name": "CPUMidClusterDownRateLimitUs",
+ "Path": "/sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/down_rate_limit_us",
+ "Values": [
+ "20000",
+ "3000"
+ ],
+ "DefaultIndex": 0,
+ "ResetOnInit": true
+ },
{
"Name": "CPUBigClusterMaxFreq",
"Path": "/sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq",
@@ -115,6 +135,16 @@
],
"ResetOnInit": true
},
+ {
+ "Name": "CPUBigClusterDownRateLimitUs",
+ "Path": "/sys/devices/system/cpu/cpu6/cpufreq/sched_pixel/down_rate_limit_us",
+ "Values": [
+ "20000",
+ "3000"
+ ],
+ "DefaultIndex": 0,
+ "ResetOnInit": true
+ },
{
"Name": "ReducePreferIdle",
"Path": "/proc/vendor_sched/reduce_prefer_idle",
@@ -144,6 +174,16 @@
"DefaultIndex": 0,
"ResetOnInit": true
},
+ {
+ "Name": "CPUTaperedDVFSHeadroomEnable",
+ "Path": "/proc/vendor_sched/tapered_dvfs_headroom_enable",
+ "Values": [
+ "0",
+ "1"
+ ],
+ "DefaultIndex": 0,
+ "ResetOnInit": true
+ },
{
"Name": "MIFTargetLoad",
"Path": "/sys/class/devfreq/17000010.devfreq_mif/interactive/target_load",
@@ -156,7 +196,7 @@
},
{
"Name": "CAMUClampBoost",
- "Path": "/proc/vendor_sched/cam_uclamp_min",
+ "Path": "/proc/vendor_sched/groups/cam/uclamp_min",
"Values": [
"764",
"0"
@@ -165,7 +205,7 @@
},
{
"Name": "TAUClampBoost",
- "Path": "/proc/vendor_sched/ta_uclamp_min",
+ "Path": "/proc/vendor_sched/groups/ta/uclamp_min",
"Values": [
"764",
"1"
@@ -174,7 +214,7 @@
},
{
"Name": "FGUClampBoost",
- "Path": "/proc/vendor_sched/fg_uclamp_min",
+ "Path": "/proc/vendor_sched/groups/fg/uclamp_min",
"Values": [
"159",
"0"
@@ -183,7 +223,7 @@
},
{
"Name": "MLUclampBoost",
- "Path": "/proc/vendor_sched/nnapi_uclamp_min",
+ "Path": "/proc/vendor_sched/groups/nnapi/uclamp_min",
"Values": [
"225",
"813"
@@ -202,7 +242,7 @@
},
{
"Name": "CDPreferIdle",
- "Path": "/proc/vendor_sched/cam_prefer_idle",
+ "Path": "/proc/vendor_sched/groups/cam/prefer_idle",
"Values": [
"0",
"1"
@@ -248,7 +288,7 @@
},
{
"Name": "TAPreferHighCap",
- "Path": "/proc/vendor_sched/ta_prefer_high_cap",
+ "Path": "/proc/vendor_sched/groups/ta/prefer_high_cap",
"Values": [
"1",
"0"
@@ -257,7 +297,7 @@
},
{
"Name": "TAPreferIdle",
- "Path": "/proc/vendor_sched/ta_prefer_idle",
+ "Path": "/proc/vendor_sched/groups/ta/prefer_idle",
"Values": [
"0",
"1"
@@ -266,7 +306,7 @@
},
{
"Name": "FGPreferIdle",
- "Path": "/proc/vendor_sched/fg_prefer_idle",
+ "Path": "/proc/vendor_sched/groups/fg/prefer_idle",
"Values": [
"1",
"0"
@@ -276,7 +316,7 @@
},
{
"Name": "CDPreferHighCap",
- "Path": "/proc/vendor_sched/cam_prefer_high_cap",
+ "Path": "/proc/vendor_sched/groups/cam/prefer_high_cap",
"Values": [
"1",
"0"
@@ -298,7 +338,7 @@
"Values": [
"0",
"1"
- ],
+ ]
},
{
"Name": "DisplayWakeup",
@@ -605,7 +645,7 @@
},
{
"Name": "Dex2oatGroup",
- "Path": "/proc/vendor_sched/dex2oat_ug",
+ "Path": "/proc/vendor_sched/groups/dex2oat/ug",
"Values": [
"1",
"0"
@@ -651,6 +691,36 @@
"Duration": 5000,
"Value": "1"
},
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "CPUDVFSHeadroom",
+ "Duration": 5000,
+ "Value": "1280"
+ },
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "CPUTaperedDVFSHeadroomEnable",
+ "Duration": 5000,
+ "Value": "0"
+ },
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "CPULittleClusterDownRateLimitUs",
+ "Duration": 5000,
+ "Value": "5000"
+ },
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "CPUMidClusterDownRateLimitUs",
+ "Duration": 5000,
+ "Value": "20000"
+ },
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "CPUBigClusterDownRateLimitUs",
+ "Duration": 5000,
+ "Value": "20000"
+ },
{
"PowerHint": "LAUNCH",
"Node": "CPUBigClusterMaxFreq",
@@ -727,6 +797,60 @@
"Duration": 3000,
"Value": "0"
},
+ {
+ "PowerHint": "DISPLAY_CHANGE",
+ "Node": "ReducePreferIdle",
+ "Duration": 5000,
+ "Value": "0"
+ },
+ {
+ "PowerHint": "DISPLAY_CHANGE",
+ "Node": "FGPreferIdle",
+ "Duration": 5000,
+ "Value": "1"
+ },
+ {
+ "PowerHint": "DISPLAY_CHANGE",
+ "Node": "CPUBigClusterMaxFreq",
+ "Duration": 5000,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "DISPLAY_CHANGE",
+ "Node": "CPUMidClusterMaxFreq",
+ "Duration": 5000,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "DISPLAY_CHANGE",
+ "Node": "CPULittleClusterMaxFreq",
+ "Duration": 5000,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "DISPLAY_CHANGE",
+ "Node": "TAUClampBoost",
+ "Duration": 5000,
+ "Value": "764"
+ },
+ {
+ "PowerHint": "DISPLAY_CHANGE",
+ "Node": "FGUClampBoost",
+ "Duration": 5000,
+ "Value": "159"
+ },
+ {
+ "PowerHint": "DISPLAY_CHANGE",
+ "Node": "MemFreq",
+ "Duration": 5000,
+ "Value": "3172000"
+ },
+ {
+ "PowerHint": "DISPLAY_CHANGE",
+ "Node": "NPITaskPacking",
+ "Duration": 5000,
+ "Value": "0"
+ },
{
"PowerHint": "CPU_LOAD_RESET",
"Node": "GPUMinFreq",
@@ -1532,6 +1656,36 @@
"Duration": 0,
"Value": "572000"
},
+ {
+ "PowerHint": "GAME",
+ "Node": "CPUDVFSHeadroom",
+ "Duration": 0,
+ "Value": "1100"
+ },
+ {
+ "PowerHint": "GAME",
+ "Node": "CPUTaperedDVFSHeadroomEnable",
+ "Duration": 0,
+ "Value": "1"
+ },
+ {
+ "PowerHint": "GAME",
+ "Node": "CPULittleClusterDownRateLimitUs",
+ "Duration": 0,
+ "Value": "500"
+ },
+ {
+ "PowerHint": "GAME",
+ "Node": "CPUMidClusterDownRateLimitUs",
+ "Duration": 0,
+ "Value": "3000"
+ },
+ {
+ "PowerHint": "GAME",
+ "Node": "CPUBigClusterDownRateLimitUs",
+ "Duration": 0,
+ "Value": "3000"
+ },
{
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_LIGHT",
"Node": "PMU_POLL",
diff --git a/rro_overlays/WifiOverlay/res/values/config.xml b/rro_overlays/WifiOverlay/res/values/config.xml
index 497a962..98a4f2f 100644
--- a/rro_overlays/WifiOverlay/res/values/config.xml
+++ b/rro_overlays/WifiOverlay/res/values/config.xml
@@ -134,4 +134,10 @@
regulatory approval (for example, FCC pre-approval is required according to "594280 D01
Software Configuration Control v02r01").-->
true
+
+
+ true
diff --git a/tangorpro/BoardConfig.mk b/tangorpro/BoardConfig.mk
index a38dff3..65d4c33 100644
--- a/tangorpro/BoardConfig.mk
+++ b/tangorpro/BoardConfig.mk
@@ -15,6 +15,13 @@
#
TARGET_BOARD_INFO_FILE := device/google/tangorpro/board-info.txt
TARGET_BOOTLOADER_BOARD_NAME := tangorpro
+ifneq (,$(filter AP1%,$(RELEASE_PLATFORM_VERSION)))
+RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/24Q1
+else ifneq (,$(filter AP2%,$(RELEASE_PLATFORM_VERSION)))
+RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/24Q2
+else
+RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/trunk
+endif
# Enable load module in parallel
BOARD_BOOTCONFIG += androidboot.load_modules_parallel=true
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 15b02f6..03950c0 100644
--- a/tangorpro/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/tangorpro/overlay/frameworks/base/core/res/res/values/config.xml
@@ -249,6 +249,21 @@
- 10.0
+
+
+ - 3.0
+ - 10.0
+
+
+
+ - 0.0
+ - 1.0
+
+
+
- - 4000.0
+ - 5250.0
+
+
+ - 4000.0
+
+ - 130000.0
+ - 150000.0
+
+
+
+ - 0.0
+ - 1.0
+
+
+ - 1
+ - 2
- 3
- - 6
- - 11
- - 31
- - 64
- - 113
- - 180
- - 264
- - 364
- - 451
- - 885
+ - 4
+ - 8
+ - 12
+ - 20
+ - 33
+ - 55
+ - 90
+ - 148
+ - 245
+ - 403
+ - 665
+ - 1097
+ - 1808
+ - 2981
+ - 4915
- - 0.400000001
- - 2.424401926
- - 4.016322573
- - 6.924331831
- - 18.21836204
- - 36.9199795
- - 65.40219962
- - 104.0902078
- - 152.5833029
- - 210.1432982
- - 260.2204941
- - 500.2693058
+ - 2.0
+ - 9.962018965
+ - 18.34822964
+ - 21.55068128
+ - 24.0167788
+ - 30.62162162
+ - 35.09486396
+ - 45.38057825
+ - 62.187656
+ - 88.01503
+ - 118.924484
+ - 147.89162
+ - 175.12471
+ - 191.33968
+ - 226.19489
+ - 295.24768
+ - 396.007
+ - 440.62778
+ - 600.0
+
true
+ true
false
diff --git a/thermal_info_config_tangorpro.json b/thermal_info_config_tangorpro.json
index 72e380a..1aa4981 100644
--- a/thermal_info_config_tangorpro.json
+++ b/thermal_info_config_tangorpro.json
@@ -140,8 +140,8 @@
"VirtualSensor":true,
"TriggerSensor":["disp_therm", "neutral_therm"],
"Formula":"MAXIMUM",
- "Combination":["VIRTUAL-FRONT-SOC", "VIRTUAL-FRONT-BL", "VIRTUAL-BACK-SOC", "VIRTUAL-BACK-CHARGER"],
- "Coefficient":["1.0", "1.0", "1.0", "1.0"],
+ "Combination":["VIRTUAL-SKIN"],
+ "Coefficient":["1.0"],
"HotThreshold":["NAN", "37.0", "43.0", "45.0", "47.0", "51.5", "56.0"],
"HotHysteresis":[0.0, 1.9, 1.9, 1.9, 1.9, 1.9, 1.9],
"Multiplier":0.001,
@@ -156,8 +156,8 @@
"VirtualSensor":true,
"TriggerSensor":["disp_therm", "neutral_therm"],
"Formula":"MAXIMUM",
- "Combination":["VIRTUAL-FRONT-SOC", "VIRTUAL-FRONT-BL", "VIRTUAL-BACK-SOC", "VIRTUAL-BACK-CHARGER"],
- "Coefficient":["1.0", "1.0", "1.0", "1.0"],
+ "Combination":["VIRTUAL-SKIN"],
+ "Coefficient":["1.0"],
"HotThreshold":["NAN", "39.0", "43.0", "45.0", "47.0", "51.5", "56.0"],
"HotHysteresis":[0.0, 1.9, 1.9, 1.9, 1.9, 1.9, 1.9],
"Multiplier":0.001,