1Kernel driver exynos4_tmu
2=================
3
4Supported chips:
5* ARM SAMSUNG EXYNOS4 series of SoC
6  Prefix: 'exynos4-tmu'
7  Datasheet: Not publicly available
8
9Authors: Donggeun Kim <dg77.kim@samsung.com>
10
11Description
12-----------
13
14This driver allows to read temperature inside SAMSUNG EXYNOS4 series of SoC.
15
16The chip only exposes the measured 8-bit temperature code value
17through a register.
18Temperature can be taken from the temperature code.
19There are three equations converting from temperature to temperature code.
20
21The three equations are:
22  1. Two point trimming
23	Tc = (T - 25) * (TI2 - TI1) / (85 - 25) + TI1
24
25  2. One point trimming
26	Tc = T + TI1 - 25
27
28  3. No trimming
29	Tc = T + 50
30
31  Tc: Temperature code, T: Temperature,
32  TI1: Trimming info for 25 degree Celsius (stored at TRIMINFO register)
33       Temperature code measured at 25 degree Celsius which is unchanged
34  TI2: Trimming info for 85 degree Celsius (stored at TRIMINFO register)
35       Temperature code measured at 85 degree Celsius which is unchanged
36
37TMU(Thermal Management Unit) in EXYNOS4 generates interrupt
38when temperature exceeds pre-defined levels.
39The maximum number of configurable threshold is four.
40The threshold levels are defined as follows:
41  Level_0: current temperature > trigger_level_0 + threshold
42  Level_1: current temperature > trigger_level_1 + threshold
43  Level_2: current temperature > trigger_level_2 + threshold
44  Level_3: current temperature > trigger_level_3 + threshold
45
46  The threshold and each trigger_level are set
47  through the corresponding registers.
48
49When an interrupt occurs, this driver notify user space of
50one of four threshold levels for the interrupt
51through kobject_uevent_env and sysfs_notify functions.
52Although an interrupt condition for level_0 can be set,
53it is not notified to user space through sysfs_notify function.
54
55Sysfs Interface
56---------------
57name		name of the temperature sensor
58		RO
59
60temp1_input	temperature
61		RO
62
63temp1_max	temperature for level_1 interrupt
64		RO
65
66temp1_crit	temperature for level_2 interrupt
67		RO
68
69temp1_emergency	temperature for level_3 interrupt
70		RO
71
72temp1_max_alarm	alarm for level_1 interrupt
73		RO
74
75temp1_crit_alarm
76		alarm for level_2 interrupt
77		RO
78
79temp1_emergency_alarm
80		alarm for level_3 interrupt
81		RO
82