~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/driver-api/thermal/exynos_thermal.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/driver-api/thermal/exynos_thermal.rst (Architecture ppc) and /Documentation/driver-api/thermal/exynos_thermal.rst (Architecture sparc64)


  1 ========================                            1 ========================
  2 Kernel driver exynos_tmu                            2 Kernel driver exynos_tmu
  3 ========================                            3 ========================
  4                                                     4 
  5 Supported chips:                                    5 Supported chips:
  6                                                     6 
  7 * ARM Samsung Exynos4, Exynos5 series of SoC        7 * ARM Samsung Exynos4, Exynos5 series of SoC
  8                                                     8 
  9   Datasheet: Not publicly available                 9   Datasheet: Not publicly available
 10                                                    10 
 11 Authors: Donggeun Kim <dg77.kim@samsung.com>        11 Authors: Donggeun Kim <dg77.kim@samsung.com>
 12 Authors: Amit Daniel <amit.daniel@samsung.com>      12 Authors: Amit Daniel <amit.daniel@samsung.com>
 13                                                    13 
 14 TMU controller Description:                        14 TMU controller Description:
 15 ---------------------------                        15 ---------------------------
 16                                                    16 
 17 This driver allows to read temperature inside      17 This driver allows to read temperature inside Samsung Exynos4/5 series of SoC.
 18                                                    18 
 19 The chip only exposes the measured 8-bit tempe     19 The chip only exposes the measured 8-bit temperature code value
 20 through a register.                                20 through a register.
 21 Temperature can be taken from the temperature      21 Temperature can be taken from the temperature code.
 22 There are three equations converting from temp     22 There are three equations converting from temperature to temperature code.
 23                                                    23 
 24 The three equations are:                           24 The three equations are:
 25   1. Two point trimming::                          25   1. Two point trimming::
 26                                                    26 
 27         Tc = (T - 25) * (TI2 - TI1) / (85 - 25     27         Tc = (T - 25) * (TI2 - TI1) / (85 - 25) + TI1
 28                                                    28 
 29   2. One point trimming::                          29   2. One point trimming::
 30                                                    30 
 31         Tc = T + TI1 - 25                          31         Tc = T + TI1 - 25
 32                                                    32 
 33   3. No trimming::                                 33   3. No trimming::
 34                                                    34 
 35         Tc = T + 50                                35         Tc = T + 50
 36                                                    36 
 37   Tc:                                              37   Tc:
 38        Temperature code, T: Temperature,           38        Temperature code, T: Temperature,
 39   TI1:                                             39   TI1:
 40        Trimming info for 25 degree Celsius (st     40        Trimming info for 25 degree Celsius (stored at TRIMINFO register)
 41        Temperature code measured at 25 degree      41        Temperature code measured at 25 degree Celsius which is unchanged
 42   TI2:                                             42   TI2:
 43        Trimming info for 85 degree Celsius (st     43        Trimming info for 85 degree Celsius (stored at TRIMINFO register)
 44        Temperature code measured at 85 degree      44        Temperature code measured at 85 degree Celsius which is unchanged
 45                                                    45 
 46 TMU(Thermal Management Unit) in Exynos4/5 gene     46 TMU(Thermal Management Unit) in Exynos4/5 generates interrupt
 47 when temperature exceeds pre-defined levels.       47 when temperature exceeds pre-defined levels.
 48 The maximum number of configurable threshold i     48 The maximum number of configurable threshold is five.
 49 The threshold levels are defined as follows::      49 The threshold levels are defined as follows::
 50                                                    50 
 51   Level_0: current temperature > trigger_level     51   Level_0: current temperature > trigger_level_0 + threshold
 52   Level_1: current temperature > trigger_level     52   Level_1: current temperature > trigger_level_1 + threshold
 53   Level_2: current temperature > trigger_level     53   Level_2: current temperature > trigger_level_2 + threshold
 54   Level_3: current temperature > trigger_level     54   Level_3: current temperature > trigger_level_3 + threshold
 55                                                    55 
 56 The threshold and each trigger_level are set       56 The threshold and each trigger_level are set
 57 through the corresponding registers.               57 through the corresponding registers.
 58                                                    58 
 59 When an interrupt occurs, this driver notify k     59 When an interrupt occurs, this driver notify kernel thermal framework
 60 with the function exynos_report_trigger.           60 with the function exynos_report_trigger.
 61 Although an interrupt condition for level_0 ca     61 Although an interrupt condition for level_0 can be set,
 62 it can be used to synchronize the cooling acti     62 it can be used to synchronize the cooling action.
 63                                                    63 
 64 TMU driver description:                            64 TMU driver description:
 65 -----------------------                            65 -----------------------
 66                                                    66 
 67 The exynos thermal driver is structured as::       67 The exynos thermal driver is structured as::
 68                                                    68 
 69                                         Kernel     69                                         Kernel Core thermal framework
 70                                 (thermal_core.     70                                 (thermal_core.c, step_wise.c, cpufreq_cooling.c)
 71                                                    71                                                                 ^
 72                                                    72                                                                 |
 73                                                    73                                                                 |
 74   TMU configuration data -----> TMU Driver  <-     74   TMU configuration data -----> TMU Driver  <----> Exynos Core thermal wrapper
 75   (exynos_tmu_data.c)         (exynos_tmu.c)       75   (exynos_tmu_data.c)         (exynos_tmu.c)       (exynos_thermal_common.c)
 76   (exynos_tmu_data.h)         (exynos_tmu.h)       76   (exynos_tmu_data.h)         (exynos_tmu.h)       (exynos_thermal_common.h)
 77                                                    77 
 78 a) TMU configuration data:                         78 a) TMU configuration data:
 79                 This consist of TMU register o     79                 This consist of TMU register offsets/bitfields
 80                 described through structure ex     80                 described through structure exynos_tmu_registers. Also several
 81                 other platform data (struct ex     81                 other platform data (struct exynos_tmu_platform_data) members
 82                 are used to configure the TMU.     82                 are used to configure the TMU.
 83 b) TMU driver:                                     83 b) TMU driver:
 84                 This component initialises the     84                 This component initialises the TMU controller and sets different
 85                 thresholds. It invokes core th     85                 thresholds. It invokes core thermal implementation with the call
 86                 exynos_report_trigger.             86                 exynos_report_trigger.
 87 c) Exynos Core thermal wrapper:                    87 c) Exynos Core thermal wrapper:
 88                 This provides 3 wrapper functi     88                 This provides 3 wrapper function to use the
 89                 Kernel core thermal framework.     89                 Kernel core thermal framework. They are exynos_unregister_thermal,
 90                 exynos_register_thermal and ex     90                 exynos_register_thermal and exynos_report_trigger.
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php