Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Amit Daniel Kachhap and committed by
Eduardo Valentin
beb70b2d 0e97194b

+34 -9
+34 -9
Documentation/thermal/exynos_thermal
··· 1 - Kernel driver exynos4_tmu 1 + Kernel driver exynos_tmu 2 2 ================= 3 3 4 4 Supported chips: 5 - * ARM SAMSUNG EXYNOS4 series of SoC 6 - Prefix: 'exynos4-tmu' 5 + * ARM SAMSUNG EXYNOS4, EXYNOS5 series of SoC 7 6 Datasheet: Not publicly available 8 7 9 8 Authors: Donggeun Kim <dg77.kim@samsung.com> 9 + Authors: Amit Daniel <amit.daniel@samsung.com> 10 10 11 - Description 12 - ----------- 11 + TMU controller Description: 12 + --------------------------- 13 13 14 - This driver allows to read temperature inside SAMSUNG EXYNOS4 series of SoC. 14 + This driver allows to read temperature inside SAMSUNG EXYNOS4/5 series of SoC. 15 15 16 16 The chip only exposes the measured 8-bit temperature code value 17 17 through a register. ··· 34 34 TI2: Trimming info for 85 degree Celsius (stored at TRIMINFO register) 35 35 Temperature code measured at 85 degree Celsius which is unchanged 36 36 37 - TMU(Thermal Management Unit) in EXYNOS4 generates interrupt 37 + TMU(Thermal Management Unit) in EXYNOS4/5 generates interrupt 38 38 when temperature exceeds pre-defined levels. 39 - The maximum number of configurable threshold is four. 39 + The maximum number of configurable threshold is five. 40 40 The threshold levels are defined as follows: 41 41 Level_0: current temperature > trigger_level_0 + threshold 42 42 Level_1: current temperature > trigger_level_1 + threshold ··· 47 47 through the corresponding registers. 48 48 49 49 When an interrupt occurs, this driver notify kernel thermal framework 50 - with the function exynos4_report_trigger. 50 + with the function exynos_report_trigger. 51 51 Although an interrupt condition for level_0 can be set, 52 52 it can be used to synchronize the cooling action. 53 + 54 + TMU driver description: 55 + ----------------------- 56 + 57 + The 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 + | 64 + TMU 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 + 68 + a) 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. 72 + b) 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. 75 + c) 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.