Monday, October 19, 2015

Qualcomm's thermal management file on Android devices.

I was reading through ubuntu-touch source code, in particular the /device/lge/mako repo, which is the configuration for Nexus 5 device, I came across thermald-mako.conf file. It looks like the following:

sampling         5000

[tsens_tz_sensor10]

sampling         5000
thresholds       60      120
thresholds_clr   57      115
actions          none    shutdown
action_info      0       5000

[batt_therm]

sampling         5000
thresholds       360                       370                       380                       390                       410                       420                       450
thresholds_clr   350                       360                       370                       380                       400                       410                       440
actions          cpu+gpu+battery           cpu+gpu+battery           cpu+gpu+battery           cpu+gpu+battery           cpu+gpu+battery           cpu+gpu+battery           cpu+gpu+battery
action_info      1512000+400000000+240+0   1296000+325000000+215+0   1296000+325000000+192+0   1188000+200000000+181+1   1188000+200000000+181+1   1188000+200000000+181+2   1188000+200000000+181+3

And from a quick google search, I found out (from an xda-developers thread) that the file is used to control thermal throttling based on the sysfs nodes here:
cat /sys/devices/virtual/thermald/thermald_zone*/temp

The number after tsens_tz_sensor is matched to the * on the path. The value read there is then used for thresholding.

How did I figure it's Qualcomm's? When I did a search over thermald on the repo, I found these:

aharijanto@aharijanto-ThinkPad-X201:~/droid/ubuntu/device/lge/mako$ g thermald
device.mk:60:   device/lge/mako/thermald-mako.conf:system/etc/thermald.conf
init.mako.rc:214:    # communicate with mpdecision and thermald
init.mako.rc:386:service thermald /system/bin/thermald
proprietary-blobs.txt:37:/system/bin/thermald
self-extractors/qcom/staging/device-partial.mk:37:    vendor/qcom/mako/proprietary/thermald:system/bin/thermald:qcom \
self-extractors/extract-lists.txt:42:            system/bin/thermald \
self-extractors/generate-packages.sh:104:            system/bin/thermald \
vendor_owner_info.txt:152:system/bin/thermald:qcom

No comments:

Post a Comment