Documentation/driver-api/thermal/exynos_thermal_emulation.rst

Source file repositories/reference/linux-study-clean/Documentation/driver-api/thermal/exynos_thermal_emulation.rst

File Facts

System
Linux kernel
Corpus path
Documentation/driver-api/thermal/exynos_thermal_emulation.rst
Extension
.rst
Size
2220 bytes
Lines
62
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: documentation
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

=====================
Exynos Emulation Mode
=====================

Copyright (C) 2012 Samsung Electronics

Written by Jonghwa Lee <jonghwa3.lee@samsung.com>

Description
-----------

Exynos 4x12 (4212, 4412) and 5 series provide emulation mode for thermal
management unit. Thermal emulation mode supports software debug for
TMU's operation. User can set temperature manually with software code
and TMU will read current temperature from user value not from sensor's
value.

Enabling CONFIG_THERMAL_EMULATION option will make this support
available. When it's enabled, sysfs node will be created as
/sys/devices/virtual/thermal/thermal_zone'zone id'/emul_temp.

The sysfs node, 'emul_node', will contain value 0 for the initial state.
When you input any temperature you want to update to sysfs node, it
automatically enable emulation mode and current temperature will be
changed into it.

(Exynos also supports user changeable delay time which would be used to
delay of changing temperature. However, this node only uses same delay
of real sensing time, 938us.)

Exynos emulation mode requires that value changes and enabling are performed
synchronously. This means that when you want to update any value, such as the
delay or the next temperature, you must enable emulation mode at the same
time (or keep the mode enabled). If you do not, the value will fail to update
and the last successful value will continue to be used. For this reason,
this node only allows users to change the temperature. Providing a single
interface makes it simpler to use.

Disabling emulation mode only requires writing value 0 to sysfs node.

::


  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

Annotation

Implementation Notes