Kconfig 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302
  1. #
  2. # Generic thermal sysfs drivers configuration
  3. #
  4. menuconfig THERMAL
  5. tristate "Generic Thermal sysfs driver"
  6. help
  7. Generic Thermal Sysfs driver offers a generic mechanism for
  8. thermal management. Usually it's made up of one or more thermal
  9. zone and cooling device.
  10. Each thermal zone contains its own temperature, trip points,
  11. cooling devices.
  12. All platforms with ACPI thermal support can use this driver.
  13. If you want this support, you should say Y or M here.
  14. if THERMAL
  15. config THERMAL_HWMON
  16. bool
  17. prompt "Expose thermal sensors as hwmon device"
  18. depends on HWMON=y || HWMON=THERMAL
  19. default y
  20. help
  21. In case a sensor is registered with the thermal
  22. framework, this option will also register it
  23. as a hwmon. The sensor will then have the common
  24. hwmon sysfs interface.
  25. Say 'Y' here if you want all thermal sensors to
  26. have hwmon sysfs interface too.
  27. config THERMAL_OF
  28. bool
  29. prompt "APIs to parse thermal data out of device tree"
  30. depends on OF
  31. default y
  32. help
  33. This options provides helpers to add the support to
  34. read and parse thermal data definitions out of the
  35. device tree blob.
  36. Say 'Y' here if you need to build thermal infrastructure
  37. based on device tree.
  38. choice
  39. prompt "Default Thermal governor"
  40. default THERMAL_DEFAULT_GOV_STEP_WISE
  41. help
  42. This option sets which thermal governor shall be loaded at
  43. startup. If in doubt, select 'step_wise'.
  44. config THERMAL_DEFAULT_GOV_STEP_WISE
  45. bool "step_wise"
  46. select THERMAL_GOV_STEP_WISE
  47. help
  48. Use the step_wise governor as default. This throttles the
  49. devices one step at a time.
  50. config THERMAL_DEFAULT_GOV_FAIR_SHARE
  51. bool "fair_share"
  52. select THERMAL_GOV_FAIR_SHARE
  53. help
  54. Use the fair_share governor as default. This throttles the
  55. devices based on their 'contribution' to a zone. The
  56. contribution should be provided through platform data.
  57. config THERMAL_DEFAULT_GOV_USER_SPACE
  58. bool "user_space"
  59. select THERMAL_GOV_USER_SPACE
  60. help
  61. Select this if you want to let the user space manage the
  62. platform thermals.
  63. endchoice
  64. config THERMAL_GOV_FAIR_SHARE
  65. bool "Fair-share thermal governor"
  66. help
  67. Enable this to manage platform thermals using fair-share governor.
  68. config THERMAL_GOV_STEP_WISE
  69. bool "Step_wise thermal governor"
  70. help
  71. Enable this to manage platform thermals using a simple linear
  72. governor.
  73. config THERMAL_GOV_BANG_BANG
  74. bool "Bang Bang thermal governor"
  75. default n
  76. help
  77. Enable this to manage platform thermals using bang bang governor.
  78. Say 'Y' here if you want to use two point temperature regulation
  79. used for fans without throttling. Some fan drivers depend on this
  80. governor to be enabled (e.g. acerhdf).
  81. config THERMAL_GOV_USER_SPACE
  82. bool "User_space thermal governor"
  83. help
  84. Enable this to let the user space manage the platform thermals.
  85. config CPU_THERMAL
  86. bool "generic cpu cooling support"
  87. depends on CPU_FREQ
  88. depends on THERMAL_OF
  89. help
  90. This implements the generic cpu cooling mechanism through frequency
  91. reduction. An ACPI version of this already exists
  92. (drivers/acpi/processor_thermal.c).
  93. This will be useful for platforms using the generic thermal interface
  94. and not the ACPI interface.
  95. If you want this support, you should say Y here.
  96. config CLOCK_THERMAL
  97. bool "Generic clock cooling support"
  98. depends on COMMON_CLK
  99. depends on PM_OPP
  100. help
  101. This entry implements the generic clock cooling mechanism through
  102. frequency clipping. Typically used to cool off co-processors. The
  103. device that is configured to use this cooling mechanism will be
  104. controlled to reduce clock frequency whenever temperature is high.
  105. If you want this support, you should say Y here.
  106. config THERMAL_EMULATION
  107. bool "Thermal emulation mode support"
  108. help
  109. Enable this option to make a emul_temp sysfs node in thermal zone
  110. directory to support temperature emulation. With emulation sysfs node,
  111. user can manually input temperature and test the different trip
  112. threshold behaviour for simulation purpose.
  113. WARNING: Be careful while enabling this option on production systems,
  114. because userland can easily disable the thermal policy by simply
  115. flooding this sysfs node with low temperature values.
  116. config IMX_THERMAL
  117. tristate "Temperature sensor driver for Freescale i.MX SoCs"
  118. depends on CPU_THERMAL
  119. depends on MFD_SYSCON
  120. depends on OF
  121. help
  122. Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs.
  123. It supports one critical trip point and one passive trip point. The
  124. cpufreq is used as the cooling device to throttle CPUs when the
  125. passive trip is crossed.
  126. config SPEAR_THERMAL
  127. bool "SPEAr thermal sensor driver"
  128. depends on PLAT_SPEAR
  129. depends on OF
  130. help
  131. Enable this to plug the SPEAr thermal sensor driver into the Linux
  132. thermal framework.
  133. config ROCKCHIP_THERMAL
  134. tristate "Rockchip thermal driver"
  135. depends on ARCH_ROCKCHIP
  136. depends on RESET_CONTROLLER
  137. help
  138. Rockchip thermal driver provides support for Temperature sensor
  139. ADC (TS-ADC) found on Rockchip SoCs. It supports one critical
  140. trip point. Cpufreq is used as the cooling device and will throttle
  141. CPUs when the Temperature crosses the passive trip point.
  142. config RCAR_THERMAL
  143. tristate "Renesas R-Car thermal driver"
  144. depends on ARCH_SHMOBILE || COMPILE_TEST
  145. depends on HAS_IOMEM
  146. help
  147. Enable this to plug the R-Car thermal sensor driver into the Linux
  148. thermal framework.
  149. config KIRKWOOD_THERMAL
  150. tristate "Temperature sensor on Marvell Kirkwood SoCs"
  151. depends on MACH_KIRKWOOD
  152. depends on OF
  153. help
  154. Support for the Kirkwood thermal sensor driver into the Linux thermal
  155. framework. Only kirkwood 88F6282 and 88F6283 have this sensor.
  156. config DOVE_THERMAL
  157. tristate "Temperature sensor on Marvell Dove SoCs"
  158. depends on ARCH_DOVE || MACH_DOVE
  159. depends on OF
  160. help
  161. Support for the Dove thermal sensor driver in the Linux thermal
  162. framework.
  163. config DB8500_THERMAL
  164. bool "DB8500 thermal management"
  165. depends on ARCH_U8500
  166. default y
  167. help
  168. Adds DB8500 thermal management implementation according to the thermal
  169. management framework. A thermal zone with several trip points will be
  170. created. Cooling devices can be bound to the trip points to cool this
  171. thermal zone if trip points reached.
  172. config ARMADA_THERMAL
  173. tristate "Armada 370/XP thermal management"
  174. depends on ARCH_MVEBU
  175. depends on OF
  176. help
  177. Enable this option if you want to have support for thermal management
  178. controller present in Armada 370 and Armada XP SoC.
  179. config TEGRA_SOCTHERM
  180. tristate "Tegra SOCTHERM thermal management"
  181. depends on ARCH_TEGRA
  182. help
  183. Enable this option for integrated thermal management support on NVIDIA
  184. Tegra124 systems-on-chip. The driver supports four thermal zones
  185. (CPU, GPU, MEM, PLLX). Cooling devices can be bound to the thermal
  186. zones to manage temperatures. This option is also required for the
  187. emergency thermal reset (thermtrip) feature to function.
  188. config DB8500_CPUFREQ_COOLING
  189. tristate "DB8500 cpufreq cooling"
  190. depends on ARCH_U8500
  191. depends on CPU_THERMAL
  192. default y
  193. help
  194. Adds DB8500 cpufreq cooling devices, and these cooling devices can be
  195. bound to thermal zone trip points. When a trip point reached, the
  196. bound cpufreq cooling device turns active to set CPU frequency low to
  197. cool down the CPU.
  198. config INTEL_POWERCLAMP
  199. tristate "Intel PowerClamp idle injection driver"
  200. depends on THERMAL
  201. depends on X86
  202. depends on CPU_SUP_INTEL
  203. help
  204. Enable this to enable Intel PowerClamp idle injection driver. This
  205. enforce idle time which results in more package C-state residency. The
  206. user interface is exposed via generic thermal framework.
  207. config X86_PKG_TEMP_THERMAL
  208. tristate "X86 package temperature thermal driver"
  209. depends on X86_THERMAL_VECTOR
  210. select THERMAL_GOV_USER_SPACE
  211. default m
  212. help
  213. Enable this to register CPU digital sensor for package temperature as
  214. thermal zone. Each package will have its own thermal zone. There are
  215. two trip points which can be set by user to get notifications via thermal
  216. notification methods.
  217. config INTEL_SOC_DTS_THERMAL
  218. tristate "Intel SoCs DTS thermal driver"
  219. depends on X86 && IOSF_MBI
  220. help
  221. Enable this to register Intel SoCs (e.g. Bay Trail) platform digital
  222. temperature sensor (DTS). These SoCs have two additional DTSs in
  223. addition to DTSs on CPU cores. Each DTS will be registered as a
  224. thermal zone. There are two trip points. One of the trip point can
  225. be set by user mode programs to get notifications via Linux thermal
  226. notification methods.The other trip is a critical trip point, which
  227. was set by the driver based on the TJ MAX temperature.
  228. config INT340X_THERMAL
  229. tristate "ACPI INT340X thermal drivers"
  230. depends on X86 && ACPI
  231. select THERMAL_GOV_USER_SPACE
  232. select ACPI_THERMAL_REL
  233. select ACPI_FAN
  234. help
  235. Newer laptops and tablets that use ACPI may have thermal sensors and
  236. other devices with thermal control capabilities outside the core
  237. CPU/SOC, for thermal safety reasons.
  238. They are exposed for the OS to use via the INT3400 ACPI device object
  239. as the master, and INT3401~INT340B ACPI device objects as the slaves.
  240. Enable this to expose the temperature information and cooling ability
  241. from these objects to userspace via the normal thermal framework.
  242. This means that a wide range of applications and GUI widgets can show
  243. the information to the user or use this information for making
  244. decisions. For example, the Intel Thermal Daemon can use this
  245. information to allow the user to select his laptop to run without
  246. turning on the fans.
  247. config ACPI_THERMAL_REL
  248. tristate
  249. depends on ACPI
  250. menu "Texas Instruments thermal drivers"
  251. source "drivers/thermal/ti-soc-thermal/Kconfig"
  252. endmenu
  253. menu "Samsung thermal drivers"
  254. depends on ARCH_EXYNOS
  255. source "drivers/thermal/samsung/Kconfig"
  256. endmenu
  257. menu "STMicroelectronics thermal drivers"
  258. depends on ARCH_STI && OF
  259. source "drivers/thermal/st/Kconfig"
  260. endmenu
  261. endif