aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/thermal
diff options
context:
space:
mode:
authorAmit Daniel Kachhap <amit.daniel@samsung.com>2013-06-24 06:50:49 -0400
committerEduardo Valentin <eduardo.valentin@ti.com>2013-08-13 09:52:04 -0400
commitbeb70b2d2fe211fc98ec13cf769f331243f5221a (patch)
tree09aa7c86dd65b6d37dfe1fc473064936f09a3a11 /Documentation/thermal
parent0e97194bcfa09fc835016e3aa12b932827a9e2a6 (diff)
Documentation: thermal: Explain the exynos thermal driver model
This patch updates the documentation to explain the driver model and file layout. Acked-by: Jonghwa Lee <jonghwa3.lee@samsung.com> Acked-by: Kukjin Kim <kgene.kim@samsung.com> Acked-by: Eduardo Valentin <eduardo.valentin@ti.com> Signed-off-by: Amit Daniel Kachhap <amit.daniel@samsung.com> Signed-off-by: Eduardo Valentin <eduardo.valentin@ti.com>
Diffstat (limited to 'Documentation/thermal')
-rw-r--r--Documentation/thermal/exynos_thermal43
1 files changed, 34 insertions, 9 deletions
diff --git a/Documentation/thermal/exynos_thermal b/Documentation/thermal/exynos_thermal
index 2b46f67b1ccb..9010c4416967 100644
--- a/Documentation/thermal/exynos_thermal
+++ b/Documentation/thermal/exynos_thermal
@@ -1,17 +1,17 @@
1Kernel driver exynos4_tmu 1Kernel driver exynos_tmu
2================= 2=================
3 3
4Supported chips: 4Supported chips:
5* ARM SAMSUNG EXYNOS4 series of SoC 5* ARM SAMSUNG EXYNOS4, EXYNOS5 series of SoC
6 Prefix: 'exynos4-tmu'
7 Datasheet: Not publicly available 6 Datasheet: Not publicly available
8 7
9Authors: Donggeun Kim <dg77.kim@samsung.com> 8Authors: Donggeun Kim <dg77.kim@samsung.com>
9Authors: Amit Daniel <amit.daniel@samsung.com>
10 10
11Description 11TMU controller Description:
12----------- 12---------------------------
13 13
14This driver allows to read temperature inside SAMSUNG EXYNOS4 series of SoC. 14This driver allows to read temperature inside SAMSUNG EXYNOS4/5 series of SoC.
15 15
16The chip only exposes the measured 8-bit temperature code value 16The chip only exposes the measured 8-bit temperature code value
17through a register. 17through a register.
@@ -34,9 +34,9 @@ The three equations are:
34 TI2: Trimming info for 85 degree Celsius (stored at TRIMINFO register) 34 TI2: Trimming info for 85 degree Celsius (stored at TRIMINFO register)
35 Temperature code measured at 85 degree Celsius which is unchanged 35 Temperature code measured at 85 degree Celsius which is unchanged
36 36
37TMU(Thermal Management Unit) in EXYNOS4 generates interrupt 37TMU(Thermal Management Unit) in EXYNOS4/5 generates interrupt
38when temperature exceeds pre-defined levels. 38when temperature exceeds pre-defined levels.
39The maximum number of configurable threshold is four. 39The maximum number of configurable threshold is five.
40The threshold levels are defined as follows: 40The threshold levels are defined as follows:
41 Level_0: current temperature > trigger_level_0 + threshold 41 Level_0: current temperature > trigger_level_0 + threshold
42 Level_1: current temperature > trigger_level_1 + threshold 42 Level_1: current temperature > trigger_level_1 + threshold
@@ -47,6 +47,31 @@ The threshold levels are defined as follows:
47 through the corresponding registers. 47 through the corresponding registers.
48 48
49When an interrupt occurs, this driver notify kernel thermal framework 49When an interrupt occurs, this driver notify kernel thermal framework
50with the function exynos4_report_trigger. 50with the function exynos_report_trigger.
51Although an interrupt condition for level_0 can be set, 51Although an interrupt condition for level_0 can be set,
52it can be used to synchronize the cooling action. 52it can be used to synchronize the cooling action.
53
54TMU driver description:
55-----------------------
56
57The exynos thermal driver is structured as,
58
59 Kernel Core thermal framework
60 (thermal_core.c, step_wise.c, cpu_cooling.c)
61 ^
62 |
63 |
64TMU configuration data -------> TMU Driver <------> Exynos Core thermal wrapper
65(exynos_tmu_data.c) (exynos_tmu.c) (exynos_thermal_common.c)
66(exynos_tmu_data.h) (exynos_tmu.h) (exynos_thermal_common.h)
67
68a) TMU configuration data: This consist of TMU register offsets/bitfields
69 described through structure exynos_tmu_registers. Also several
70 other platform data (struct exynos_tmu_platform_data) members
71 are used to configure the TMU.
72b) TMU driver: This component initialises the TMU controller and sets different
73 thresholds. It invokes core thermal implementation with the call
74 exynos_report_trigger.
75c) Exynos Core thermal wrapper: This provides 3 wrapper function to use the
76 Kernel core thermal framework. They are exynos_unregister_thermal,
77 exynos_register_thermal and exynos_report_trigger.