Exynos 模拟模式

版权所有 (C) 2012 Samsung Electronics

作者:Jonghwa Lee <jonghwa3.lee@samsung.com>

描述

Exynos 4x12 (4212, 4412) 和 5 系列为热管理单元提供模拟模式。 热模拟模式支持 TMU 操作的软件调试。 用户可以使用软件代码手动设置温度,TMU 将从用户值而不是从传感器值读取当前温度。

启用 CONFIG_THERMAL_EMULATION 选项将使此支持可用。 启用后,sysfs 节点将创建为 /sys/devices/virtual/thermal/thermal_zone'zone id'/emul_temp。

sysfs 节点 'emul_node' 将包含值 0 作为初始状态。 当您输入要更新到 sysfs 节点的任何温度时,它会自动启用模拟模式,并将当前温度更改为该值。

(Exynos 还支持用户可更改的延迟时间,该时间将用于延迟温度变化。 但是,此节点仅使用与实际感应时间相同的延迟,即 938us。)

Exynos 模拟模式需要值更改和启用的同步。 这意味着当您想要更新延迟或下一个温度的任何值时,您必须同时启用模拟模式。 (或者您必须保持该模式启用。) 如果您不这样做,它将无法将值更改为更新后的值,而只是重复使用上次成功的值。 这就是为什么此节点赋予用户仅更改温度的权限的原因。 只有一个接口使其使用起来更简单。

禁用模拟模式只需要将值 0 写入 sysfs 节点。

TEMP  120 |
          |
      100 |
          |
       80 |
          |                            +-----------
       60 |                            |          |
          |              +-------------|          |
       40 |              |             |          |
          |              |             |          |
       20 |              |             |          +----------
          |              |             |          |          |
        0 |______________|_____________|__________|__________|_________
                 A             A          A                  A     TIME
                 |<----->|     |<----->|  |<----->|          |
                 | 938us |     |       |  |       |          |
emulation   : 0  50      |     70      |  20      |          0
current temp:   sensor   50            70         20        sensor