1 Kernel driver exynos4_tmu
5 * ARM SAMSUNG EXYNOS4 series of SoC
7 Datasheet: Not publicly available
9 Authors: Donggeun Kim <dg77.kim@samsung.com>
14 This driver allows to read temperature inside SAMSUNG EXYNOS4 series of SoC.
16 The chip only exposes the measured 8-bit temperature code value
18 Temperature can be taken from the temperature code.
19 There are three equations converting from temperature to temperature code.
21 The three equations are:
23 Tc = (T - 25) * (TI2 - TI1) / (85 - 25) + TI1
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
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
46 The threshold and each trigger_level are set
47 through the corresponding registers.
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.
57 name name of the temperature sensor
60 temp1_input temperature
63 temp1_max temperature for level_1 interrupt
66 temp1_crit temperature for level_2 interrupt
69 temp1_emergency temperature for level_3 interrupt
72 temp1_max_alarm alarm for level_1 interrupt
76 alarm for level_2 interrupt
80 alarm for level_3 interrupt