Merge branch 'for-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
[platform/adaptation/renesas_rcar/renesas_kernel.git] / Documentation / hwmon / exynos4_tmu
1 Kernel driver exynos4_tmu
2 =================
3
4 Supported chips:
5 * ARM SAMSUNG EXYNOS4 series of SoC
6   Prefix: 'exynos4-tmu'
7   Datasheet: Not publicly available
8
9 Authors: Donggeun Kim <dg77.kim@samsung.com>
10
11 Description
12 -----------
13
14 This driver allows to read temperature inside SAMSUNG EXYNOS4 series of SoC.
15
16 The chip only exposes the measured 8-bit temperature code value
17 through a register.
18 Temperature can be taken from the temperature code.
19 There are three equations converting from temperature to temperature code.
20
21 The 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
37 TMU(Thermal Management Unit) in EXYNOS4 generates interrupt
38 when temperature exceeds pre-defined levels.
39 The maximum number of configurable threshold is four.
40 The 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
49 When an interrupt occurs, this driver notify user space of
50 one of four threshold levels for the interrupt
51 through kobject_uevent_env and sysfs_notify functions.
52 Although an interrupt condition for level_0 can be set,
53 it is not notified to user space through sysfs_notify function.
54
55 Sysfs Interface
56 ---------------
57 name            name of the temperature sensor
58                 RO
59
60 temp1_input     temperature
61                 RO
62
63 temp1_max       temperature for level_1 interrupt
64                 RO
65
66 temp1_crit      temperature for level_2 interrupt
67                 RO
68
69 temp1_emergency temperature for level_3 interrupt
70                 RO
71
72 temp1_max_alarm alarm for level_1 interrupt
73                 RO
74
75 temp1_crit_alarm
76                 alarm for level_2 interrupt
77                 RO
78
79 temp1_emergency_alarm
80                 alarm for level_3 interrupt
81                 RO