From 06a07b8216a1979c19b73cedd4eea4137f6fea7c Mon Sep 17 00:00:00 2001 From: sashwinbalaji Date: Mon, 4 Dec 2023 10:56:01 +0800 Subject: [PATCH] thermal: Separate thermal config on basis of hardware revision. Due to change in power rail naming b/297343909 split the thermal info config for proto separately from later hardware versions. Bug: 314047297 Test: Build and verify thermal logs on proto and evt devices. Change-Id: I9cc4570f7d983dd9b3554aea636fc50a00eefd62 --- conf/init.comet.rc | 6 + device-comet.mk | 1 + thermal_info_config_comet.json | 16 +- thermal_info_config_comet_proto.json | 850 +++++++++++++++++++++++++++ 4 files changed, 865 insertions(+), 8 deletions(-) create mode 100644 thermal_info_config_comet_proto.json diff --git a/conf/init.comet.rc b/conf/init.comet.rc index 1214567..dfbebbb 100644 --- a/conf/init.comet.rc +++ b/conf/init.comet.rc @@ -44,6 +44,12 @@ on init && property:ro.bootmode=factory write /sys/devices/platform/hall_sensor/enable 0 # Thermal +on late-init && property:ro.boot.hardware.revision=PROTO1.0 + setprop vendor.thermal.config "thermal_info_config_proto.json" + +on late-init && property:ro.boot.hardware.revision=PROTO1.1 + setprop vendor.thermal.config "thermal_info_config_proto.json" + on property:vendor.thermal.link_ready=1 chown system system /dev/thermal/tz-by-name/charger_therm/trip_point_0_temp chown system system /dev/thermal/tz-by-name/charger_therm/trip_point_0_hyst diff --git a/device-comet.mk b/device-comet.mk index 048cc2c..6117fc1 100644 --- a/device-comet.mk +++ b/device-comet.mk @@ -94,6 +94,7 @@ PRODUCT_COPY_FILES += \ # Thermal Config PRODUCT_COPY_FILES += \ device/google/comet/thermal_info_config_comet.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json \ + device/google/comet/thermal_info_config_comet_proto.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config_proto.json \ device/google/comet/thermal_info_config_charge_comet.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config_charge.json # Power HAL config diff --git a/thermal_info_config_comet.json b/thermal_info_config_comet.json index cc9b664..d140cdb 100644 --- a/thermal_info_config_comet.json +++ b/thermal_info_config_comet.json @@ -274,7 +274,7 @@ "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1], "MaxReleaseStep": 1, "MaxThrottleStep": 2, - "BindedPowerRail": "S3M_VDD_CPUCL1", + "BindedPowerRail": "S2M_VDD_CPUCL1", "CdevCeiling": [0, 6, 6, 6, 6, 6, 6] }, { @@ -282,7 +282,7 @@ "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1], "MaxReleaseStep": 1, "MaxThrottleStep": 2, - "BindedPowerRail": "S2M_VDD_CPUCL2", + "BindedPowerRail": "S3M_VDD_CPUCL2", "CdevCeiling": [0, 8, 8, 8, 8, 8, 8] } ] @@ -521,7 +521,7 @@ "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1], "MaxReleaseStep": 1, "MaxThrottleStep": 2, - "BindedPowerRail": "S3M_VDD_CPUCL1", + "BindedPowerRail": "S2M_VDD_CPUCL1", "CdevCeiling": [0, 11, 11, 11, 11, 14, 14], "LimitInfo": [0, 0, 0, 0, 0, 14, 14] }, @@ -530,7 +530,7 @@ "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1], "MaxReleaseStep": 1, "MaxThrottleStep": 2, - "BindedPowerRail": "S2M_VDD_CPUCL2", + "BindedPowerRail": "S3M_VDD_CPUCL2", "CdevCeiling": [0, 13, 13, 13, 13, 14, 14], "LimitInfo": [0, 0, 0, 0, 0, 14, 14] }, @@ -757,12 +757,12 @@ ], "PowerRails": [ { - "Name": "S2M_VDD_CPUCL2", + "Name": "S3M_VDD_CPUCL2", "PowerSampleDelay": 7000, "PowerSampleCount": 1 }, { - "Name": "S3M_VDD_CPUCL1", + "Name": "S2M_VDD_CPUCL1", "PowerSampleDelay": 7000, "PowerSampleCount": 1 }, @@ -793,8 +793,8 @@ "VSYS_PWR_DISPLAY", "VSYS_PWR_WLAN_BT", "S1M_VDD_MIF", - "S2M_VDD_CPUCL2", - "S3M_VDD_CPUCL1", + "S3M_VDD_CPUCL2", + "S2M_VDD_CPUCL1", "S4M_VDD_CPUCL0", "S5M_VDD_INT", "S6M_LLDO1", diff --git a/thermal_info_config_comet_proto.json b/thermal_info_config_comet_proto.json new file mode 100644 index 0000000..cc9b664 --- /dev/null +++ b/thermal_info_config_comet_proto.json @@ -0,0 +1,850 @@ +{ + "Sensors": [ + { + "Name": "batoilo", + "Type": "BCL_CURRENT", + "HotThreshold": ["NAN", "NAN", "NAN", "NAN", 5000, "NAN", "NAN"], + "HotHysteresis": [0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0], + "Multiplier": 1, + "SendCallback": true, + "PollingDelay": 0, + "PassiveDelay": 1000 + }, + { + "Name": "batoilo2", + "Type": "BCL_CURRENT", + "HotThreshold": ["NAN", "NAN", "NAN", "NAN", 8000, "NAN", "NAN"], + "HotHysteresis": [0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0], + "Multiplier": 1, + "SendCallback": true, + "PollingDelay": 0, + "PassiveDelay": 1000 + }, + { + "Name": "battery", + "Type": "BATTERY", + "HotThreshold": ["NAN", "NAN", "NAN", "NAN", "NAN", "NAN", "60.0"], + "Multiplier": 0.001 + }, + { + "Name": "battery_cycle", + "Type": "BCL_VOLTAGE" + }, + { + "Name": "smpl_gm", + "Type": "BCL_VOLTAGE", + "HotThreshold": ["NAN", "NAN", "NAN", "NAN", 1100, "NAN", "NAN"], + "HotHysteresis": [0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0], + "Multiplier": 1, + "SendCallback": true, + "PollingDelay": 0, + "PassiveDelay": 1000 + }, + { + "Name": "soc", + "Type": "BCL_PERCENTAGE", + "HotThreshold": ["NAN", "NAN", 80, "NAN", "NAN", "NAN", "NAN"], + "Multiplier": 1 + }, + { + "Name": "vdroop1", + "Type": "BCL_VOLTAGE", + "HotThreshold": ["NAN", "NAN", "NAN", "NAN", 1200, "NAN", "NAN"], + "HotHysteresis": [0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0], + "Multiplier": 1, + "SendCallback": true, + "PollingDelay": 0, + "PassiveDelay": 1000 + }, + { + "Name": "vdroop2", + "Type": "BCL_VOLTAGE", + "HotThreshold": ["NAN", "NAN", "NAN", "NAN", 1000, "NAN", "NAN"], + "HotHysteresis": [0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0], + "Multiplier": 1, + "SendCallback": true, + "PollingDelay": 0, + "PassiveDelay": 1000 + }, + { + "Name": "BCL_AUDIO_BAACL", + "Type": "BCL_VOLTAGE", + "VirtualSensor": true, + "Formula": "COUNT_THRESHOLD", + "TriggerSensor": "soc", + "Combination": ["battery", "soc"], + "Coefficient": [-25000, 80], + "HotThreshold": ["NAN", "NAN", "NAN", "NAN", 2.0, "NAN", "NAN"], + "PollingDelay": 0, + "PassiveDelay": 1000, + "Multiplier": 1, + "SendCallback": true + }, + { + "Name": "FLASH_LED_REDUCE", + "Type": "UNKNOWN", + "VirtualSensor": true, + "Formula": "COUNT_THRESHOLD", + "TriggerSensor": "vdroop2", + "Combination": ["battery", "battery_cycle", "vdroop2"], + "Coefficient": [-10000, 400, 1000], + "HotThreshold": ["NAN", "NAN", "NAN", "NAN", 3.0, "NAN", "NAN"], + "Multiplier": 1, + "PollingDelay": 0, + "PassiveDelay": 1000, + "SendCallback": true, + "SendPowerHint": true + }, + { + "Name": "soc_therm", + "Type": "UNKNOWN", + "TempPath": "/dev/thermal/tz-by-name/soc_therm/tz_temp", + "Multiplier": 0.001 + }, + { + "Name": "rffe_therm", + "Type": "UNKNOWN", + "TempPath": "/dev/thermal/tz-by-name/rffe_therm/tz_temp", + "Multiplier": 0.001 + }, + { + "Name": "modem_therm", + "Type": "UNKNOWN", + "TempPath": "/dev/thermal/tz-by-name/modem_therm/tz_temp", + "Multiplier": 0.001 + }, + { + "Name": "gnss_tcxo_therm", + "Type": "UNKNOWN", + "TempPath": "/dev/thermal/tz-by-name/gnss_tcxo_therm/tz_temp", + "Multiplier": 0.001 + }, + { + "Name": "usb_conn_therm", + "Type": "UNKNOWN", + "HotThreshold": ["NAN", 46.0, "NAN", "NAN", "NAN", "NAN", "NAN"], + "TempPath": "/dev/thermal/tz-by-name/usb_conn_therm/tz_temp", + "Multiplier": 0.001, + "PollingDelay": 300000, + "PassiveDelay": 7000 + }, + { + "Name": "charger_therm", + "Type": "UNKNOWN", + "HotThreshold": ["NAN", 34.89, "NAN", "NAN", "NAN", "NAN", "NAN"], + "TempPath": "/dev/thermal/tz-by-name/charger_therm/tz_temp", + "Multiplier": 0.001, + "PollingDelay": 300000, + "PassiveDelay": 7000 + }, + { + "Name": "inner_brightness", + "Type": "UNKNOWN", + "Multiplier": 1 + }, + { + "Name": "OPEN_WEIGHT", + "Type": "UNKNOWN", + "Hidden": true, + "VirtualSensor": true, + "Formula": "COUNT_THRESHOLD", + "StepRatio": 0.2, + "Combination": ["inner_brightness"], + "Coefficient": [1.0], + "Multiplier": 1, + "PassiveDelay": 7000 + }, + { + "Name": "CLOSE_WEIGHT", + "Type": "UNKNOWN", + "Hidden": true, + "VirtualSensor": true, + "Formula": "WEIGHTED_AVG", + "Combination": ["1", "OPEN_WEIGHT"], + "CombinationType": ["CONSTANT", "SENSOR"], + "Coefficient": [1.0, -1.0], + "Multiplier": 1 + }, + { + "Name": "VIRTUAL-SKIN-OPEN", + "Type": "UNKNOWN", + "Hidden": true, + "VirtualSensor": true, + "Formula": "WEIGHTED_AVG", + "Combination": [ + "soc_therm", + "rffe_therm", + "modem_therm", + "gnss_tcxo_therm" + ], + "Coefficient": [0.119, 0.103, 0.481, 0.288], + "Offset": -203, + "Multiplier": 0.001 + }, + { + "Name": "VIRTUAL-SKIN-CLOSE", + "Type": "UNKNOWN", + "Hidden": true, + "VirtualSensor": true, + "Formula": "WEIGHTED_AVG", + "Combination": ["soc_therm", "rffe_therm", "modem_therm"], + "Coefficient": [0.223, 0.175, 0.493], + "Offset": 2631, + "Multiplier": 0.001 + }, + { + "Name": "VIRTUAL-SKIN", + "Type": "SKIN", + "Version": "0.1", + "VirtualSensor": true, + "TriggerSensor": "charger_therm", + "Formula": "WEIGHTED_AVG", + "Combination": ["VIRTUAL-SKIN-OPEN", "VIRTUAL-SKIN-CLOSE"], + "Coefficient": ["OPEN_WEIGHT", "CLOSE_WEIGHT"], + "CoefficientType": ["SENSOR", "SENSOR"], + "HotThreshold": ["NAN", 39.0, 43.0, 45.0, 46.5, 100.0, 140.0], + "HotHysteresis": [0.0, 1.9, 1.9, 1.9, 1.4, 1.9, 1.9], + "Multiplier": 0.001, + "PollingDelay": 300000, + "PassiveDelay": 7000, + "SendCallback": true, + "BindedCdevInfo": [ + { + "CdevRequest": "tpu_cooling", + "LimitInfo": [0, 2, 3, 4, 5, 5, 5] + }, + { + "CdevRequest": "gxp-cooling", + "LimitInfo": [0, 0, 0, 0, 0, 99, 99] + } + ] + }, + { + "Name": "VIRTUAL-SKIN-HINT", + "Type": "UNKNOWN", + "Hidden": true, + "VirtualSensor": true, + "TriggerSensor": "charger_therm", + "Formula": "MAXIMUM", + "Combination": ["VIRTUAL-SKIN"], + "Coefficient": [1.0], + "HotThreshold": ["NAN", 37.0, 43.0, 45.0, 46.5, 52.0, 140.0], + "HotHysteresis": [0.0, 1.9, 1.9, 1.9, 1.4, 1.9, 1.9], + "Multiplier": 0.001, + "SendPowerHint": true, + "PollingDelay": 300000, + "PassiveDelay": 7000 + }, + { + "Name": "VIRTUAL-SKIN-CPU-LIGHT-ODPM", + "Type": "UNKNOWN", + "Hidden": true, + "VirtualSensor": true, + "TriggerSensor": "charger_therm", + "Formula": "MAXIMUM", + "Combination": ["VIRTUAL-SKIN"], + "Coefficient": [1.0], + "HotThreshold": ["NAN", 37.0, 39.0, "NAN", "NAN", "NAN", "NAN"], + "HotHysteresis": [0.0, 1.9, 1.9, 0.0, 0.0, 0.0, 0.0], + "Multiplier": 0.001, + "PollingDelay": 300000, + "PassiveDelay": 7000, + "PIDInfo": { + "K_Po": ["NAN", "NAN", 400, "NAN", "NAN", "NAN", "NAN"], + "K_Pu": ["NAN", "NAN", 400, "NAN", "NAN", "NAN", "NAN"], + "K_I": ["NAN", "NAN", 5, "NAN", "NAN", "NAN", "NAN"], + "K_D": ["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"], + "I_Max": ["NAN", "NAN", 2200, "NAN", "NAN", "NAN", "NAN"], + "S_Power": ["NAN", "NAN", 800, "NAN", "NAN", "NAN", "NAN"], + "MinAllocPower": ["NAN", "NAN", 800, "NAN", "NAN", "NAN", "NAN"], + "MaxAllocPower": ["NAN", "NAN", 4600, "NAN", "NAN", "NAN", "NAN"], + "I_Cutoff": ["NAN", "NAN", 4, "NAN", "NAN", "NAN", "NAN"] + }, + "BindedCdevInfo": [ + { + "CdevRequest": "thermal-cpufreq-0", + "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1], + "MaxReleaseStep": 1, + "MaxThrottleStep": 1, + "BindedPowerRail": "S4M_VDD_CPUCL0", + "CdevCeiling": [0, 2, 2, 2, 2, 2, 2] + }, + { + "CdevRequest": "thermal-cpufreq-1", + "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1], + "MaxReleaseStep": 1, + "MaxThrottleStep": 2, + "BindedPowerRail": "S3M_VDD_CPUCL1", + "CdevCeiling": [0, 6, 6, 6, 6, 6, 6] + }, + { + "CdevRequest": "thermal-cpufreq-2", + "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1], + "MaxReleaseStep": 1, + "MaxThrottleStep": 2, + "BindedPowerRail": "S2M_VDD_CPUCL2", + "CdevCeiling": [0, 8, 8, 8, 8, 8, 8] + } + ] + }, + { + "Name": "VIRTUAL-SKIN-CPU-MID", + "Type": "UNKNOWN", + "Hidden": true, + "VirtualSensor": true, + "TriggerSensor": "charger_therm", + "Formula": "MAXIMUM", + "Combination": ["VIRTUAL-SKIN"], + "Coefficient": [1.0], + "HotThreshold": ["NAN", 39.0, 41.0, "NAN", "NAN", "NAN", "NAN"], + "HotHysteresis": [0.0, 0.0, 1.9, 0.0, 0.0, 0.0, 0.0], + "Multiplier": 0.001, + "PollingDelay": 300000, + "PassiveDelay": 7000, + "PIDInfo": { + "K_Po": ["NAN", "NAN", 400, "NAN", "NAN", "NAN", "NAN"], + "K_Pu": ["NAN", "NAN", 400, "NAN", "NAN", "NAN", "NAN"], + "K_I": ["NAN", "NAN", 5, "NAN", "NAN", "NAN", "NAN"], + "K_D": ["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"], + "I_Max": ["NAN", "NAN", 1500, "NAN", "NAN", "NAN", "NAN"], + "S_Power": ["NAN", "NAN", 700, "NAN", "NAN", "NAN", "NAN"], + "MinAllocPower": ["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"], + "MaxAllocPower": ["NAN", "NAN", 2800, "NAN", "NAN", "NAN", "NAN"], + "I_Cutoff": ["NAN", "NAN", 4, "NAN", "NAN", "NAN", "NAN"] + }, + "BindedCdevInfo": [ + { + "CdevRequest": "thermal-cpufreq-0", + "CdevWeightForPID": [0.292, 0.292, 0.292, 0.292, 0.292, 0.292, 0.292], + "MaxReleaseStep": 1, + "MaxThrottleStep": 1, + "CdevCeiling": [0, 6, 6, 6, 6, 6, 6] + }, + { + "CdevRequest": "thermal-cpufreq-1", + "CdevWeightForPID": [0.804, 0.804, 0.804, 0.804, 0.804, 0.804, 0.804], + "MaxReleaseStep": 1, + "MaxThrottleStep": 2, + "CdevCeiling": [0, 9, 9, 9, 9, 9, 9] + }, + { + "CdevRequest": "thermal-cpufreq-2", + "CdevWeightForPID": [0.342, 0.342, 0.342, 0.342, 0.342, 0.342, 0.342], + "MaxReleaseStep": 1, + "MaxThrottleStep": 2, + "CdevCeiling": [0, 12, 12, 12, 12, 12, 12] + } + ], + "Profile": [ + { + "Mode": "game", + "BindedCdevInfo": [ + { + "CdevRequest": "thermal-cpufreq-0", + "MaxReleaseStep": 1, + "Disabled": true + }, + { + "CdevRequest": "thermal-cpufreq-1", + "MaxReleaseStep": 1, + "Disabled": true + }, + { + "CdevRequest": "thermal-cpufreq-2", + "MaxReleaseStep": 1, + "Disabled": true + } + ] + }, + { + "Mode": "camera", + "BindedCdevInfo": [ + { + "CdevRequest": "thermal-cpufreq-0", + "MaxReleaseStep": 1, + "Disabled": true + }, + { + "CdevRequest": "thermal-cpufreq-1", + "MaxReleaseStep": 1, + "Disabled": true + }, + { + "CdevRequest": "thermal-cpufreq-2", + "MaxReleaseStep": 1, + "Disabled": true + } + ] + } + ] + }, + { + "Name": "VIRTUAL-SKIN-CPU-HIGH", + "Type": "UNKNOWN", + "Hidden": true, + "VirtualSensor": true, + "TriggerSensor": "charger_therm", + "Formula": "MAXIMUM", + "Combination": ["VIRTUAL-SKIN"], + "Coefficient": [1.0], + "HotThreshold": ["NAN", 41.0, 43.0, 52.0, "NAN", "NAN", "NAN"], + "HotHysteresis": [0.0, 0.0, 1.9, 1.9, 0.0, 0.0, 0.0], + "Multiplier": 0.001, + "PollingDelay": 300000, + "PassiveDelay": 7000, + "PIDInfo": { + "K_Po": ["NAN", "NAN", 400, "NAN", "NAN", "NAN", "NAN"], + "K_Pu": ["NAN", "NAN", 400, "NAN", "NAN", "NAN", "NAN"], + "K_I": ["NAN", "NAN", 5, "NAN", "NAN", "NAN", "NAN"], + "K_D": ["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"], + "I_Max": ["NAN", "NAN", 1000, "NAN", "NAN", "NAN", "NAN"], + "S_Power": ["NAN", "NAN", 600, "NAN", "NAN", "NAN", "NAN"], + "MinAllocPower": ["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"], + "MaxAllocPower": ["NAN", "NAN", 1600, "NAN", "NAN", "NAN", "NAN"], + "I_Cutoff": ["NAN", "NAN", 4, "NAN", "NAN", "NAN", "NAN"] + }, + "BindedCdevInfo": [ + { + "CdevRequest": "thermal-cpufreq-0", + "CdevWeightForPID": [0.156, 0.156, 0.156, 0.156, 0.156, 0.156, 0.156], + "MaxReleaseStep": 1, + "MaxThrottleStep": 1, + "CdevCeiling": [0, 8, 8, 8, 8, 8, 8] + }, + { + "CdevRequest": "thermal-cpufreq-1", + "CdevWeightForPID": [0.428, 0.428, 0.428, 0.428, 0.428, 0.428, 0.428], + "MaxReleaseStep": 1, + "MaxThrottleStep": 2, + "CdevCeiling": [0, 11, 11, 11, 11, 11, 11] + }, + { + "CdevRequest": "thermal-cpufreq-2", + "CdevWeightForPID": [0.225, 0.225, 0.225, 0.225, 0.225, 0.225, 0.225], + "MaxReleaseStep": 1, + "MaxThrottleStep": 2, + "CdevCeiling": [0, 13, 13, 13, 13, 13, 13] + } + ], + "Profile": [ + { + "Mode": "game", + "BindedCdevInfo": [ + { + "CdevRequest": "thermal-cpufreq-0", + "MaxReleaseStep": 1, + "Disabled": true + }, + { + "CdevRequest": "thermal-cpufreq-1", + "MaxReleaseStep": 1, + "Disabled": true + }, + { + "CdevRequest": "thermal-cpufreq-2", + "MaxReleaseStep": 1, + "Disabled": true + } + ] + }, + { + "Mode": "camera", + "BindedCdevInfo": [ + { + "CdevRequest": "thermal-cpufreq-0", + "CdevWeightForPID": [ + 0.156, 0.156, 0.156, 0.156, 0.156, 0.156, 0.156 + ], + "MaxReleaseStep": 1, + "MaxThrottleStep": 1, + "CdevCeiling": [0, 6, 6, 6, 6, 6, 6] + }, + { + "CdevRequest": "thermal-cpufreq-1", + "CdevWeightForPID": [ + 0.428, 0.428, 0.428, 0.428, 0.428, 0.428, 0.428 + ], + "MaxReleaseStep": 1, + "MaxThrottleStep": 2, + "CdevCeiling": [0, 9, 9, 9, 9, 9, 9] + }, + { + "CdevRequest": "thermal-cpufreq-2", + "CdevWeightForPID": [ + 0.225, 0.225, 0.225, 0.225, 0.225, 0.225, 0.225 + ], + "MaxReleaseStep": 1, + "MaxThrottleStep": 2, + "CdevCeiling": [0, 12, 12, 12, 12, 12, 12] + } + ] + } + ] + }, + { + "Name": "VIRTUAL-SKIN-CPU-GPU", + "Type": "UNKNOWN", + "Hidden": true, + "VirtualSensor": true, + "TriggerSensor": "charger_therm", + "Formula": "MAXIMUM", + "Combination": ["VIRTUAL-SKIN"], + "Coefficient": [1.0], + "HotThreshold": ["NAN", 37.0, 43.0, 45.0, 46.5, 52.0, 140.0], + "HotHysteresis": [0.0, 1.9, 1.9, 1.9, 1.4, 1.9, 1.9], + "Multiplier": 0.001, + "PollingDelay": 300000, + "PassiveDelay": 7000, + "PIDInfo": { + "K_Po": ["NAN", "NAN", "NAN", 300, "NAN", "NAN", "NAN"], + "K_Pu": ["NAN", "NAN", "NAN", 300, "NAN", "NAN", "NAN"], + "K_I": ["NAN", "NAN", "NAN", 5, "NAN", "NAN", "NAN"], + "K_D": ["NAN", "NAN", "NAN", 0, "NAN", "NAN", "NAN"], + "I_Max": ["NAN", "NAN", "NAN", 2600, "NAN", "NAN", "NAN"], + "S_Power": ["NAN", "NAN", "NAN", 800, "NAN", "NAN", "NAN"], + "MinAllocPower": ["NAN", "NAN", "NAN", 0, "NAN", "NAN", "NAN"], + "MaxAllocPower": ["NAN", "NAN", "NAN", 3900, "NAN", "NAN", "NAN"], + "I_Cutoff": ["NAN", "NAN", "NAN", 8, "NAN", "NAN", "NAN"] + }, + "BindedCdevInfo": [ + { + "CdevRequest": "thermal-cpufreq-0", + "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1], + "MaxReleaseStep": 1, + "MaxThrottleStep": 1, + "BindedPowerRail": "S4M_VDD_CPUCL0", + "CdevCeiling": [0, 8, 8, 8, 8, 9, 9], + "LimitInfo": [0, 0, 0, 0, 0, 9, 9] + }, + { + "CdevRequest": "thermal-cpufreq-1", + "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1], + "MaxReleaseStep": 1, + "MaxThrottleStep": 2, + "BindedPowerRail": "S3M_VDD_CPUCL1", + "CdevCeiling": [0, 11, 11, 11, 11, 14, 14], + "LimitInfo": [0, 0, 0, 0, 0, 14, 14] + }, + { + "CdevRequest": "thermal-cpufreq-2", + "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1], + "MaxReleaseStep": 1, + "MaxThrottleStep": 2, + "BindedPowerRail": "S2M_VDD_CPUCL2", + "CdevCeiling": [0, 13, 13, 13, 13, 14, 14], + "LimitInfo": [0, 0, 0, 0, 0, 14, 14] + }, + { + "CdevRequest": "thermal-gpufreq-0", + "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1], + "MaxReleaseStep": 1, + "MaxThrottleStep": 1, + "BindedPowerRail": "S2S_VDD_G3D", + "CdevCeiling": [0, 8, 8, 8, 9, 11, 11], + "LimitInfo": [0, 0, 0, 0, 0, 11, 11] + } + ] + }, + { + "Name": "VIRTUAL-SKIN-GPU", + "Type": "UNKNOWN", + "Hidden": true, + "VirtualSensor": true, + "TriggerSensor": "charger_therm", + "Formula": "MAXIMUM", + "Combination": ["VIRTUAL-SKIN"], + "Coefficient": [1.0], + "HotThreshold": ["NAN", 43.0, 45.0, 46.5, 52.0, "NAN", "NAN"], + "HotHysteresis": [0.0, 1.9, 1.9, 1.4, 1.9, 0.0, 0.0], + "Multiplier": 0.001, + "PollingDelay": 300000, + "PassiveDelay": 7000, + "PIDInfo": { + "K_Po": ["NAN", "NAN", 700, "NAN", "NAN", "NAN", "NAN"], + "K_Pu": ["NAN", "NAN", 700, "NAN", "NAN", "NAN", "NAN"], + "K_I": ["NAN", "NAN", 5, "NAN", "NAN", "NAN", "NAN"], + "K_D": ["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"], + "I_Max": ["NAN", "NAN", 1723, "NAN", "NAN", "NAN", "NAN"], + "S_Power": ["NAN", "NAN", 473, "NAN", "NAN", "NAN", "NAN"], + "MinAllocPower": ["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"], + "MaxAllocPower": ["NAN", "NAN", 2500, "NAN", "NAN", "NAN", "NAN"], + "I_Cutoff": ["NAN", "NAN", 4, "NAN", "NAN", "NAN", "NAN"] + }, + "BindedCdevInfo": [ + { + "CdevRequest": "thermal-gpufreq-0", + "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1], + "CdevCeiling": [0, 8, 8, 9, 11, 11, 11] + } + ] + }, + { + "Name": "cellular-emergency", + "Type": "POWER_AMPLIFIER", + "VirtualSensor": true, + "TriggerSensor": "charger_therm", + "Formula": "MAXIMUM", + "Combination": ["VIRTUAL-SKIN"], + "Coefficient": [1.0], + "HotThreshold": ["NAN", "NAN", "NAN", "NAN", "NAN", 138.0, "NAN"], + "HotHysteresis": [0.0, 0.0, 0.0, 0.0, 0.0, 1.9, 0.0], + "Multiplier": 0.001, + "PollingDelay": 300000, + "PassiveDelay": 7000, + "SendCallback": true + }, + { + "Name": "VIRTUAL-SKIN-CHARGE", + "Type": "UNKNOWN", + "Version": "0.1", + "VirtualSensor": true, + "TriggerSensor": "charger_therm", + "Formula": "MAXIMUM", + "Combination": ["VIRTUAL-SKIN"], + "Coefficient": [1.0], + "HotThreshold": ["NAN", 34.0, 38.0, 41.0, 45.0, 47.0, 55.0], + "HotHysteresis": [0.0, 1.9, 3.9, 2.9, 3.9, 1.9, 1.9], + "Multiplier": 0.001, + "PollingDelay": 300000, + "PassiveDelay": 7000, + "PIDInfo": { + "K_Po": ["NAN", "NAN", 119, "NAN", "NAN", "NAN", "NAN"], + "K_Pu": ["NAN", "NAN", 119, "NAN", "NAN", "NAN", "NAN"], + "K_I": ["NAN", "NAN", 25, "NAN", "NAN", "NAN", "NAN"], + "K_D": ["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"], + "I_Max": ["NAN", "NAN", 1302, "NAN", "NAN", "NAN", "NAN"], + "S_Power": ["NAN", "NAN", 2527, "NAN", "NAN", "NAN", "NAN"], + "MinAllocPower": ["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"], + "MaxAllocPower": ["NAN", "NAN", 6219, "NAN", "NAN", "NAN", "NAN"], + "I_Cutoff": ["NAN", "NAN", 6, "NAN", "NAN", "NAN", "NAN"], + "I_Default": 1302 + }, + "ExcludedPowerInfo": [ + { + "PowerRail": "PARTIAL_SYSTEM_POWER", + "PowerWeight": [0.12, 0.12, 0.06, 0.06, 0.24, 0.24, 0.24] + } + ], + "BindedCdevInfo": [ + { + "CdevRequest": "chg_mdis", + "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1], + "MaxReleaseStep": 1, + "MaxThrottleStep": 1, + "CdevCeiling": [0, 25, 25, 25, 26, 26, 26], + "LimitInfo": [0, 0, 1, 1, 1, 26, 26] + } + ] + }, + { + "Name": "USB-MINUS-CHARGER", + "Type": "UNKNOWN", + "VirtualSensor": true, + "TriggerSensor": "usb_conn_therm", + "Formula": "WEIGHTED_AVG", + "Combination": ["usb_conn_therm", "charger_therm"], + "Coefficient": [1.0, -1.0], + "Multiplier": 0.001 + }, + { + "Name": "VIRTUAL-USB-THROTTLING", + "Type": "USB_PORT", + "Version": "0.1", + "VirtualSensor": true, + "Formula": "COUNT_THRESHOLD", + "TriggerSensor": "usb_conn_therm", + "Combination": ["usb_conn_therm", "USB-MINUS-CHARGER"], + "Coefficient": [46000, 7000], + "HotThreshold": ["NAN", "NAN", "NAN", "NAN", "2.0", "NAN", "NAN"], + "BindedCdevInfo": [ + { + "CdevRequest": "usbc-port", + "LimitInfo": [0, 0, 0, 0, 1, 1, 1] + } + ], + "Multiplier": 1, + "PollingDelay": 300000, + "PassiveDelay": 7000 + }, + { + "Name": "VIRTUAL-USB-UI", + "Type": "USB_PORT", + "Version": "0.1", + "VirtualSensor": true, + "Formula": "COUNT_THRESHOLD", + "TriggerSensor": "usb_conn_therm", + "Combination": ["usb_conn_therm", "USB-MINUS-CHARGER"], + "Coefficient": [46000, 10000], + "HotThreshold": ["NAN", "NAN", "NAN", "NAN", "NAN", "2.0", "NAN"], + "Multiplier": 1, + "SendCallback": true, + "PollingDelay": 300000, + "PassiveDelay": 7000 + }, + { + "Name": "LITTLE", + "Type": "CPU", + "HotThreshold": ["NAN", "NAN", "NAN", "NAN", "NAN", "NAN", 115.0], + "VrThreshold": "NAN", + "Multiplier": 0.001 + }, + { + "Name": "MID", + "Type": "CPU", + "HotThreshold": ["NAN", "NAN", "NAN", "NAN", "NAN", "NAN", 115.0], + "VrThreshold": "NAN", + "Multiplier": 0.001 + }, + { + "Name": "BIG", + "Type": "CPU", + "HotThreshold": ["NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN"], + "Multiplier": 0.001 + }, + { + "Name": "G3D", + "Type": "GPU", + "HotThreshold": ["NAN", "NAN", "NAN", "NAN", "NAN", "NAN", 115.0], + "VrThreshold": "NAN", + "Multiplier": 0.001 + }, + { + "Name": "TPU", + "Type": "NPU", + "HotThreshold": ["NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN"], + "Multiplier": 0.001 + } + ], + "CoolingDevices": [ + { + "Name": "thermal-cpufreq-0", + "Type": "CPU", + "WritePath": "/dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote" + }, + { + "Name": "thermal-cpufreq-1", + "Type": "CPU", + "WritePath": "/dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote" + }, + { + "Name": "thermal-cpufreq-2", + "Type": "CPU", + "WritePath": "/dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote" + }, + { + "Name": "thermal-gpufreq-0", + "Type": "GPU", + "WritePath": "/dev/thermal/cdev-by-name/thermal-gpufreq-0/user_vote" + }, + { + "Name": "chg_mdis", + "Type": "BATTERY" + }, + { + "Name": "usbc-port", + "Type": "BATTERY" + }, + { + "Name": "tpu_cooling", + "Type": "NPU", + "WritePath": "/dev/thermal/cdev-by-name/tpu_cooling/user_vote" + }, + { + "Name": "gxp-cooling", + "Type": "NPU", + "WritePath": "/dev/thermal/cdev-by-name/gxp-cooling/user_vote" + } + ], + "PowerRails": [ + { + "Name": "S2M_VDD_CPUCL2", + "PowerSampleDelay": 7000, + "PowerSampleCount": 1 + }, + { + "Name": "S3M_VDD_CPUCL1", + "PowerSampleDelay": 7000, + "PowerSampleCount": 1 + }, + { + "Name": "S4M_VDD_CPUCL0", + "PowerSampleDelay": 7000, + "PowerSampleCount": 1 + }, + { + "Name": "S2S_VDD_G3D", + "PowerSampleDelay": 7000, + "PowerSampleCount": 1 + }, + { + "Name": "PARTIAL_SYSTEM_POWER", + "VirtualRails": true, + "Formula": "WEIGHTED_AVG", + "Combination": [ + "S1S_VDD_CAM", + "S2S_VDD_G3D", + "S4S_VDD2H_MEM", + "S5S_VDDQ_MEM", + "S8S_VDD_G3D_L2", + "S9S_VDD_AOC", + "L2S_PLL_MIPI_UFS", + "L9S_GNSS_CORE", + "L21S_VDD2L_MEM", + "VSYS_PWR_DISPLAY", + "VSYS_PWR_WLAN_BT", + "S1M_VDD_MIF", + "S2M_VDD_CPUCL2", + "S3M_VDD_CPUCL1", + "S4M_VDD_CPUCL0", + "S5M_VDD_INT", + "S6M_LLDO1", + "S7M_VDD_TPU", + "S8M_LLDO2", + "VSYS_PWR_MODEM" + ], + "Coefficient": [ + 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, + 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 + ], + "PowerSampleDelay": 7000, + "PowerSampleCount": 5 + } + ], + "Stats": { + "Sensors": { + "RecordWithDefaultThreshold": ["VIRTUAL-SKIN"], + "RecordWithThreshold": [ + { + "Name": "VIRTUAL-SKIN", + "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 55] + } + ], + "Abnormality": { + "Outlier": { + "Configs": [ + { + "Monitor": ["VIRTUAL-SKIN"], + "TempRange": [0.0, 55.0] + } + ] + }, + "Stuck": { + "Configs": [ + { + "Monitor": ["VIRTUAL-SKIN"], + "TempStuck": { + "MinPollingCount": 8, + "MinStuckDuration": 120000 + } + } + ] + } + } + }, + "CoolingDevices": { + "RecordVotePerSensor": { + "DefaultThresholdEnableAll": true + } + } + } +}