Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[sfrench/cifs-2.6.git] / Documentation / driver-api / thermal / exynos_thermal_emulation.rst
1 =====================
2 Exynos Emulation Mode
3 =====================
4
5 Copyright (C) 2012 Samsung Electronics
6
7 Written by Jonghwa Lee <jonghwa3.lee@samsung.com>
8
9 Description
10 -----------
11
12 Exynos 4x12 (4212, 4412) and 5 series provide emulation mode for thermal
13 management unit. Thermal emulation mode supports software debug for
14 TMU's operation. User can set temperature manually with software code
15 and TMU will read current temperature from user value not from sensor's
16 value.
17
18 Enabling CONFIG_THERMAL_EMULATION option will make this support
19 available. When it's enabled, sysfs node will be created as
20 /sys/devices/virtual/thermal/thermal_zone'zone id'/emul_temp.
21
22 The sysfs node, 'emul_node', will contain value 0 for the initial state.
23 When you input any temperature you want to update to sysfs node, it
24 automatically enable emulation mode and current temperature will be
25 changed into it.
26
27 (Exynos also supports user changeable delay time which would be used to
28 delay of changing temperature. However, this node only uses same delay
29 of real sensing time, 938us.)
30
31 Exynos emulation mode requires synchronous of value changing and
32 enabling. It means when you want to update the any value of delay or
33 next temperature, then you have to enable emulation mode at the same
34 time. (Or you have to keep the mode enabling.) If you don't, it fails to
35 change the value to updated one and just use last succeessful value
36 repeatedly. That's why this node gives users the right to change
37 termerpature only. Just one interface makes it more simply to use.
38
39 Disabling emulation mode only requires writing value 0 to sysfs node.
40
41 ::
42
43
44   TEMP  120 |
45             |
46         100 |
47             |
48          80 |
49             |                            +-----------
50          60 |                            |          |
51             |              +-------------|          |
52          40 |              |             |          |
53             |              |             |          |
54          20 |              |             |          +----------
55             |              |             |          |          |
56           0 |______________|_____________|__________|__________|_________
57                    A             A          A                  A     TIME
58                    |<----->|     |<----->|  |<----->|          |
59                    | 938us |     |       |  |       |          |
60   emulation   : 0  50      |     70      |  20      |          0
61   current temp:   sensor   50            70         20        sensor