summaryrefslogtreecommitdiffstats
path: root/Documentation/thermal/exynos_thermal
diff options
context:
space:
mode:
authorLen Brown2012-10-09 07:35:52 +0200
committerLen Brown2012-10-09 07:35:52 +0200
commit29b19e250434c6193c8b8e4c34c9c6284dd4f101 (patch)
tree8a1c8e308c9ae964f7fb612e921e10cf4c30ba15 /Documentation/thermal/exynos_thermal
parentidr: rename MAX_LEVEL to MAX_IDR_LEVEL (diff)
parentthermal: Exynos: Fix NULL pointer dereference in exynos_unregister_thermal() (diff)
downloadkernel-qcow2-linux-29b19e250434c6193c8b8e4c34c9c6284dd4f101.tar.gz
kernel-qcow2-linux-29b19e250434c6193c8b8e4c34c9c6284dd4f101.tar.xz
kernel-qcow2-linux-29b19e250434c6193c8b8e4c34c9c6284dd4f101.zip
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux into thermal
Conflicts: drivers/staging/omap-thermal/omap-thermal-common. OMAP supplied dummy TC1 and TC2, at the same time that the thermal tree removed them from thermal_zone_device_register() drivers/thermal/cpu_cooling.c b/drivers/thermal/cpu_cooling.c propogate the upstream MAX_IDR_LEVEL re-name to prevent a build failure Previously-fixed-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'Documentation/thermal/exynos_thermal')
-rw-r--r--Documentation/thermal/exynos_thermal52
1 files changed, 52 insertions, 0 deletions
diff --git a/Documentation/thermal/exynos_thermal b/Documentation/thermal/exynos_thermal
new file mode 100644
index 000000000000..2b46f67b1ccb
--- /dev/null
+++ b/Documentation/thermal/exynos_thermal
@@ -0,0 +1,52 @@
+Kernel driver exynos4_tmu
+=================
+
+Supported chips:
+* ARM SAMSUNG EXYNOS4 series of SoC
+ Prefix: 'exynos4-tmu'
+ Datasheet: Not publicly available
+
+Authors: Donggeun Kim <dg77.kim@samsung.com>
+
+Description
+-----------
+
+This driver allows to read temperature inside SAMSUNG EXYNOS4 series of SoC.
+
+The chip only exposes the measured 8-bit temperature code value
+through a register.
+Temperature can be taken from the temperature code.
+There are three equations converting from temperature to temperature code.
+
+The three equations are:
+ 1. Two point trimming
+ Tc = (T - 25) * (TI2 - TI1) / (85 - 25) + TI1
+
+ 2. One point trimming
+ Tc = T + TI1 - 25
+
+ 3. No trimming
+ Tc = T + 50
+
+ Tc: Temperature code, T: Temperature,
+ TI1: Trimming info for 25 degree Celsius (stored at TRIMINFO register)
+ Temperature code measured at 25 degree Celsius which is unchanged
+ TI2: Trimming info for 85 degree Celsius (stored at TRIMINFO register)
+ Temperature code measured at 85 degree Celsius which is unchanged
+
+TMU(Thermal Management Unit) in EXYNOS4 generates interrupt
+when temperature exceeds pre-defined levels.
+The maximum number of configurable threshold is four.
+The threshold levels are defined as follows:
+ Level_0: current temperature > trigger_level_0 + threshold
+ Level_1: current temperature > trigger_level_1 + threshold
+ Level_2: current temperature > trigger_level_2 + threshold
+ Level_3: current temperature > trigger_level_3 + threshold
+
+ The threshold and each trigger_level are set
+ through the corresponding registers.
+
+When an interrupt occurs, this driver notify kernel thermal framework
+with the function exynos4_report_trigger.
+Although an interrupt condition for level_0 can be set,
+it can be used to synchronize the cooling action.