1203d3d4aSZhang Rui# 2203d3d4aSZhang Rui# Generic thermal sysfs drivers configuration 3203d3d4aSZhang Rui# 4203d3d4aSZhang Rui 5203d3d4aSZhang Ruimenuconfig THERMAL 663c4ec90SZhang Rui tristate "Generic Thermal sysfs driver" 7203d3d4aSZhang Rui help 8203d3d4aSZhang Rui Generic Thermal Sysfs driver offers a generic mechanism for 9203d3d4aSZhang Rui thermal management. Usually it's made up of one or more thermal 10203d3d4aSZhang Rui zone and cooling device. 11543a9561SLen Brown Each thermal zone contains its own temperature, trip points, 12203d3d4aSZhang Rui cooling devices. 13203d3d4aSZhang Rui All platforms with ACPI thermal support can use this driver. 1463c4ec90SZhang Rui If you want this support, you should say Y or M here. 1516d75239SRene Herman 1672e19897SZhang Ruiif THERMAL 1772e19897SZhang Rui 1816d75239SRene Hermanconfig THERMAL_HWMON 19ab92402aSJean Delvare bool 200dd88793SEduardo Valentin prompt "Expose thermal sensors as hwmon device" 2116d75239SRene Herman depends on HWMON=y || HWMON=THERMAL 22ab92402aSJean Delvare default y 230dd88793SEduardo Valentin help 240dd88793SEduardo Valentin In case a sensor is registered with the thermal 250dd88793SEduardo Valentin framework, this option will also register it 260dd88793SEduardo Valentin as a hwmon. The sensor will then have the common 270dd88793SEduardo Valentin hwmon sysfs interface. 280dd88793SEduardo Valentin 290dd88793SEduardo Valentin Say 'Y' here if you want all thermal sensors to 300dd88793SEduardo Valentin have hwmon sysfs interface too. 316a92c366SVincenzo Frascino 324e5e4705SEduardo Valentinconfig THERMAL_OF 334e5e4705SEduardo Valentin bool 344e5e4705SEduardo Valentin prompt "APIs to parse thermal data out of device tree" 354e5e4705SEduardo Valentin depends on OF 364e5e4705SEduardo Valentin default y 374e5e4705SEduardo Valentin help 384e5e4705SEduardo Valentin This options provides helpers to add the support to 394e5e4705SEduardo Valentin read and parse thermal data definitions out of the 404e5e4705SEduardo Valentin device tree blob. 414e5e4705SEduardo Valentin 424e5e4705SEduardo Valentin Say 'Y' here if you need to build thermal infrastructure 434e5e4705SEduardo Valentin based on device tree. 444e5e4705SEduardo Valentin 45a56757afSDurgadoss Rchoice 46a56757afSDurgadoss R prompt "Default Thermal governor" 47a56757afSDurgadoss R default THERMAL_DEFAULT_GOV_STEP_WISE 48a56757afSDurgadoss R help 49a56757afSDurgadoss R This option sets which thermal governor shall be loaded at 50a56757afSDurgadoss R startup. If in doubt, select 'step_wise'. 51a56757afSDurgadoss R 52a56757afSDurgadoss Rconfig THERMAL_DEFAULT_GOV_STEP_WISE 53a56757afSDurgadoss R bool "step_wise" 549d185d04SZhang Rui select THERMAL_GOV_STEP_WISE 55a56757afSDurgadoss R help 56a56757afSDurgadoss R Use the step_wise governor as default. This throttles the 57a56757afSDurgadoss R devices one step at a time. 58a56757afSDurgadoss R 59a56757afSDurgadoss Rconfig THERMAL_DEFAULT_GOV_FAIR_SHARE 60a56757afSDurgadoss R bool "fair_share" 619d185d04SZhang Rui select THERMAL_GOV_FAIR_SHARE 62a56757afSDurgadoss R help 63a56757afSDurgadoss R Use the fair_share governor as default. This throttles the 64a56757afSDurgadoss R devices based on their 'contribution' to a zone. The 65a56757afSDurgadoss R contribution should be provided through platform data. 66a56757afSDurgadoss R 67a56757afSDurgadoss Rconfig THERMAL_DEFAULT_GOV_USER_SPACE 68a56757afSDurgadoss R bool "user_space" 699d185d04SZhang Rui select THERMAL_GOV_USER_SPACE 70a56757afSDurgadoss R help 71a56757afSDurgadoss R Select this if you want to let the user space manage the 72ece238feSRegid Ichira platform thermals. 7372e19897SZhang Rui 74*6b775e87SJavi Merinoconfig THERMAL_DEFAULT_GOV_POWER_ALLOCATOR 75*6b775e87SJavi Merino bool "power_allocator" 76*6b775e87SJavi Merino select THERMAL_GOV_POWER_ALLOCATOR 77*6b775e87SJavi Merino help 78*6b775e87SJavi Merino Select this if you want to control temperature based on 79*6b775e87SJavi Merino system and device power allocation. This governor can only 80*6b775e87SJavi Merino operate on cooling devices that implement the power API. 81*6b775e87SJavi Merino 82a56757afSDurgadoss Rendchoice 8372e19897SZhang Rui 849d185d04SZhang Ruiconfig THERMAL_GOV_FAIR_SHARE 8572e19897SZhang Rui bool "Fair-share thermal governor" 8672e19897SZhang Rui help 8772e19897SZhang Rui Enable this to manage platform thermals using fair-share governor. 8872e19897SZhang Rui 899d185d04SZhang Ruiconfig THERMAL_GOV_STEP_WISE 9072e19897SZhang Rui bool "Step_wise thermal governor" 9172e19897SZhang Rui help 9272e19897SZhang Rui Enable this to manage platform thermals using a simple linear 93a8227948SLuka Perkov governor. 9472e19897SZhang Rui 95e4dbf98fSPeter Feuererconfig THERMAL_GOV_BANG_BANG 96e4dbf98fSPeter Feuerer bool "Bang Bang thermal governor" 97e4dbf98fSPeter Feuerer default n 98e4dbf98fSPeter Feuerer help 99e4dbf98fSPeter Feuerer Enable this to manage platform thermals using bang bang governor. 100e4dbf98fSPeter Feuerer 101e4dbf98fSPeter Feuerer Say 'Y' here if you want to use two point temperature regulation 102e4dbf98fSPeter Feuerer used for fans without throttling. Some fan drivers depend on this 103e4dbf98fSPeter Feuerer governor to be enabled (e.g. acerhdf). 104e4dbf98fSPeter Feuerer 1059d185d04SZhang Ruiconfig THERMAL_GOV_USER_SPACE 10672e19897SZhang Rui bool "User_space thermal governor" 10772e19897SZhang Rui help 10872e19897SZhang Rui Enable this to let the user space manage the platform thermals. 10972e19897SZhang Rui 110*6b775e87SJavi Merinoconfig THERMAL_GOV_POWER_ALLOCATOR 111*6b775e87SJavi Merino bool "Power allocator thermal governor" 112*6b775e87SJavi Merino select THERMAL_POWER_ACTOR 113*6b775e87SJavi Merino help 114*6b775e87SJavi Merino Enable this to manage platform thermals by dynamically 115*6b775e87SJavi Merino allocating and limiting power to devices. 116*6b775e87SJavi Merino 11772e19897SZhang Ruiconfig CPU_THERMAL 118bbf7fc88SZhang Rui bool "generic cpu cooling support" 11972e19897SZhang Rui depends on CPU_FREQ 12039d99cffSEduardo Valentin depends on THERMAL_OF 12172e19897SZhang Rui help 12272e19897SZhang Rui This implements the generic cpu cooling mechanism through frequency 123f7188b3dSEduardo Valentin reduction. An ACPI version of this already exists 124f7188b3dSEduardo Valentin (drivers/acpi/processor_thermal.c). 12572e19897SZhang Rui This will be useful for platforms using the generic thermal interface 12672e19897SZhang Rui and not the ACPI interface. 127f7188b3dSEduardo Valentin 12872e19897SZhang Rui If you want this support, you should say Y here. 12972e19897SZhang Rui 130f9df89d8SEduardo Valentinconfig CLOCK_THERMAL 131f9df89d8SEduardo Valentin bool "Generic clock cooling support" 132f9df89d8SEduardo Valentin depends on COMMON_CLK 133f9df89d8SEduardo Valentin depends on PM_OPP 134f9df89d8SEduardo Valentin help 135f9df89d8SEduardo Valentin This entry implements the generic clock cooling mechanism through 136f9df89d8SEduardo Valentin frequency clipping. Typically used to cool off co-processors. The 137f9df89d8SEduardo Valentin device that is configured to use this cooling mechanism will be 138f9df89d8SEduardo Valentin controlled to reduce clock frequency whenever temperature is high. 139f9df89d8SEduardo Valentin 140f9df89d8SEduardo Valentin If you want this support, you should say Y here. 141f9df89d8SEduardo Valentin 142e6e238c3SAmit Daniel Kachhapconfig THERMAL_EMULATION 143e6e238c3SAmit Daniel Kachhap bool "Thermal emulation mode support" 144e6e238c3SAmit Daniel Kachhap help 145e6e238c3SAmit Daniel Kachhap Enable this option to make a emul_temp sysfs node in thermal zone 146e6e238c3SAmit Daniel Kachhap directory to support temperature emulation. With emulation sysfs node, 147e6e238c3SAmit Daniel Kachhap user can manually input temperature and test the different trip 148e6e238c3SAmit Daniel Kachhap threshold behaviour for simulation purpose. 149e6e238c3SAmit Daniel Kachhap 1508837295aSEduardo Valentin WARNING: Be careful while enabling this option on production systems, 1518837295aSEduardo Valentin because userland can easily disable the thermal policy by simply 1528837295aSEduardo Valentin flooding this sysfs node with low temperature values. 1538837295aSEduardo Valentin 154ca3de46bSShawn Guoconfig IMX_THERMAL 155ca3de46bSShawn Guo tristate "Temperature sensor driver for Freescale i.MX SoCs" 156ca3de46bSShawn Guo depends on CPU_THERMAL 157ca3de46bSShawn Guo depends on MFD_SYSCON 158ca3de46bSShawn Guo depends on OF 159ca3de46bSShawn Guo help 160ca3de46bSShawn Guo Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs. 161ca3de46bSShawn Guo It supports one critical trip point and one passive trip point. The 162ca3de46bSShawn Guo cpufreq is used as the cooling device to throttle CPUs when the 163ca3de46bSShawn Guo passive trip is crossed. 164ca3de46bSShawn Guo 16572e19897SZhang Ruiconfig SPEAR_THERMAL 16672e19897SZhang Rui bool "SPEAr thermal sensor driver" 16772e19897SZhang Rui depends on PLAT_SPEAR 16872e19897SZhang Rui depends on OF 16972e19897SZhang Rui help 17072e19897SZhang Rui Enable this to plug the SPEAr thermal sensor driver into the Linux 171a8227948SLuka Perkov thermal framework. 17272e19897SZhang Rui 173cbac8f63SCaesar Wangconfig ROCKCHIP_THERMAL 174cbac8f63SCaesar Wang tristate "Rockchip thermal driver" 175cbac8f63SCaesar Wang depends on ARCH_ROCKCHIP 176cbac8f63SCaesar Wang depends on RESET_CONTROLLER 177cbac8f63SCaesar Wang help 178cbac8f63SCaesar Wang Rockchip thermal driver provides support for Temperature sensor 179cbac8f63SCaesar Wang ADC (TS-ADC) found on Rockchip SoCs. It supports one critical 180cbac8f63SCaesar Wang trip point. Cpufreq is used as the cooling device and will throttle 181cbac8f63SCaesar Wang CPUs when the Temperature crosses the passive trip point. 182cbac8f63SCaesar Wang 18372e19897SZhang Ruiconfig RCAR_THERMAL 18472e19897SZhang Rui tristate "Renesas R-Car thermal driver" 185beeb5a1eSLaurent Pinchart depends on ARCH_SHMOBILE || COMPILE_TEST 186d1c8b041SRichard Weinberger depends on HAS_IOMEM 18772e19897SZhang Rui help 18872e19897SZhang Rui Enable this to plug the R-Car thermal sensor driver into the Linux 189a8227948SLuka Perkov thermal framework. 19072e19897SZhang Rui 1917060aa36SNobuhiro Iwamatsuconfig KIRKWOOD_THERMAL 1927060aa36SNobuhiro Iwamatsu tristate "Temperature sensor on Marvell Kirkwood SoCs" 193575be653SAndrew Lunn depends on MACH_KIRKWOOD 1947060aa36SNobuhiro Iwamatsu depends on OF 1957060aa36SNobuhiro Iwamatsu help 1967060aa36SNobuhiro Iwamatsu Support for the Kirkwood thermal sensor driver into the Linux thermal 1977060aa36SNobuhiro Iwamatsu framework. Only kirkwood 88F6282 and 88F6283 have this sensor. 1987060aa36SNobuhiro Iwamatsu 19974ffa64cSAndrew Lunnconfig DOVE_THERMAL 20074ffa64cSAndrew Lunn tristate "Temperature sensor on Marvell Dove SoCs" 201b3dee390SRiku Voipio depends on ARCH_DOVE || MACH_DOVE 20274ffa64cSAndrew Lunn depends on OF 20374ffa64cSAndrew Lunn help 20474ffa64cSAndrew Lunn Support for the Dove thermal sensor driver in the Linux thermal 20574ffa64cSAndrew Lunn framework. 20674ffa64cSAndrew Lunn 207aa1acb04Shongbo.zhangconfig DB8500_THERMAL 208aa1acb04Shongbo.zhang bool "DB8500 thermal management" 209aa1acb04Shongbo.zhang depends on ARCH_U8500 210aa1acb04Shongbo.zhang default y 211aa1acb04Shongbo.zhang help 212aa1acb04Shongbo.zhang Adds DB8500 thermal management implementation according to the thermal 213aa1acb04Shongbo.zhang management framework. A thermal zone with several trip points will be 214aa1acb04Shongbo.zhang created. Cooling devices can be bound to the trip points to cool this 215aa1acb04Shongbo.zhang thermal zone if trip points reached. 216aa1acb04Shongbo.zhang 217fa0d654cSEzequiel Garciaconfig ARMADA_THERMAL 218fa0d654cSEzequiel Garcia tristate "Armada 370/XP thermal management" 219fa0d654cSEzequiel Garcia depends on ARCH_MVEBU 220fa0d654cSEzequiel Garcia depends on OF 221fa0d654cSEzequiel Garcia help 222fa0d654cSEzequiel Garcia Enable this option if you want to have support for thermal management 223fa0d654cSEzequiel Garcia controller present in Armada 370 and Armada XP SoC. 224fa0d654cSEzequiel Garcia 22566fb8480SMikko Perttunenconfig TEGRA_SOCTHERM 22666fb8480SMikko Perttunen tristate "Tegra SOCTHERM thermal management" 22766fb8480SMikko Perttunen depends on ARCH_TEGRA 22866fb8480SMikko Perttunen help 22966fb8480SMikko Perttunen Enable this option for integrated thermal management support on NVIDIA 23066fb8480SMikko Perttunen Tegra124 systems-on-chip. The driver supports four thermal zones 23166fb8480SMikko Perttunen (CPU, GPU, MEM, PLLX). Cooling devices can be bound to the thermal 23266fb8480SMikko Perttunen zones to manage temperatures. This option is also required for the 23366fb8480SMikko Perttunen emergency thermal reset (thermtrip) feature to function. 23466fb8480SMikko Perttunen 235aa1acb04Shongbo.zhangconfig DB8500_CPUFREQ_COOLING 236aa1acb04Shongbo.zhang tristate "DB8500 cpufreq cooling" 237aa1acb04Shongbo.zhang depends on ARCH_U8500 238aa1acb04Shongbo.zhang depends on CPU_THERMAL 239aa1acb04Shongbo.zhang default y 240aa1acb04Shongbo.zhang help 241aa1acb04Shongbo.zhang Adds DB8500 cpufreq cooling devices, and these cooling devices can be 242aa1acb04Shongbo.zhang bound to thermal zone trip points. When a trip point reached, the 243aa1acb04Shongbo.zhang bound cpufreq cooling device turns active to set CPU frequency low to 244aa1acb04Shongbo.zhang cool down the CPU. 24572e19897SZhang Rui 246d6d71ee4SJacob Panconfig INTEL_POWERCLAMP 247d6d71ee4SJacob Pan tristate "Intel PowerClamp idle injection driver" 248d6d71ee4SJacob Pan depends on THERMAL 249d6d71ee4SJacob Pan depends on X86 250d6d71ee4SJacob Pan depends on CPU_SUP_INTEL 251d6d71ee4SJacob Pan help 252d6d71ee4SJacob Pan Enable this to enable Intel PowerClamp idle injection driver. This 253d6d71ee4SJacob Pan enforce idle time which results in more package C-state residency. The 254d6d71ee4SJacob Pan user interface is exposed via generic thermal framework. 255d6d71ee4SJacob Pan 256f1a18a10SSrinivas Pandruvadaconfig X86_PKG_TEMP_THERMAL 257f1a18a10SSrinivas Pandruvada tristate "X86 package temperature thermal driver" 258b3ba0206SRandy Dunlap depends on X86_THERMAL_VECTOR 259f1a18a10SSrinivas Pandruvada select THERMAL_GOV_USER_SPACE 260f1a18a10SSrinivas Pandruvada default m 261f1a18a10SSrinivas Pandruvada help 262f1a18a10SSrinivas Pandruvada Enable this to register CPU digital sensor for package temperature as 263f1a18a10SSrinivas Pandruvada thermal zone. Each package will have its own thermal zone. There are 264f1a18a10SSrinivas Pandruvada two trip points which can be set by user to get notifications via thermal 265f1a18a10SSrinivas Pandruvada notification methods. 266f1a18a10SSrinivas Pandruvada 267bc40b5e3SSrinivas Pandruvadaconfig INTEL_SOC_DTS_THERMAL 268bc40b5e3SSrinivas Pandruvada tristate "Intel SoCs DTS thermal driver" 269bc40b5e3SSrinivas Pandruvada depends on X86 && IOSF_MBI 270bc40b5e3SSrinivas Pandruvada help 271bc40b5e3SSrinivas Pandruvada Enable this to register Intel SoCs (e.g. Bay Trail) platform digital 272bc40b5e3SSrinivas Pandruvada temperature sensor (DTS). These SoCs have two additional DTSs in 273bc40b5e3SSrinivas Pandruvada addition to DTSs on CPU cores. Each DTS will be registered as a 274bc40b5e3SSrinivas Pandruvada thermal zone. There are two trip points. One of the trip point can 275bc40b5e3SSrinivas Pandruvada be set by user mode programs to get notifications via Linux thermal 276bc40b5e3SSrinivas Pandruvada notification methods.The other trip is a critical trip point, which 277bc40b5e3SSrinivas Pandruvada was set by the driver based on the TJ MAX temperature. 278bc40b5e3SSrinivas Pandruvada 2793230bbfcSZhang Ruiconfig INT340X_THERMAL 280816cab93SZhang Rui tristate "ACPI INT340X thermal drivers" 2813230bbfcSZhang Rui depends on X86 && ACPI 2820ab15365SZhang Rui select THERMAL_GOV_USER_SPACE 28352b1c69dSJacob Pan select ACPI_THERMAL_REL 284d8054749SZhang Rui select ACPI_FAN 2853230bbfcSZhang Rui help 2863230bbfcSZhang Rui Newer laptops and tablets that use ACPI may have thermal sensors and 2873230bbfcSZhang Rui other devices with thermal control capabilities outside the core 2883230bbfcSZhang Rui CPU/SOC, for thermal safety reasons. 2893230bbfcSZhang Rui They are exposed for the OS to use via the INT3400 ACPI device object 2903230bbfcSZhang Rui as the master, and INT3401~INT340B ACPI device objects as the slaves. 2913230bbfcSZhang Rui Enable this to expose the temperature information and cooling ability 2923230bbfcSZhang Rui from these objects to userspace via the normal thermal framework. 2933230bbfcSZhang Rui This means that a wide range of applications and GUI widgets can show 2943230bbfcSZhang Rui the information to the user or use this information for making 2953230bbfcSZhang Rui decisions. For example, the Intel Thermal Daemon can use this 2963230bbfcSZhang Rui information to allow the user to select his laptop to run without 2973230bbfcSZhang Rui turning on the fans. 2983230bbfcSZhang Rui 29952b1c69dSJacob Panconfig ACPI_THERMAL_REL 30052b1c69dSJacob Pan tristate 30152b1c69dSJacob Pan depends on ACPI 30252b1c69dSJacob Pan 303eb982001SEduardo Valentinmenu "Texas Instruments thermal drivers" 304eb982001SEduardo Valentinsource "drivers/thermal/ti-soc-thermal/Kconfig" 305eb982001SEduardo Valentinendmenu 306f157f596SZhang Rui 307c6821378SAmit Daniel Kachhapmenu "Samsung thermal drivers" 3084de45817SBartlomiej Zolnierkiewiczdepends on ARCH_EXYNOS 309c6821378SAmit Daniel Kachhapsource "drivers/thermal/samsung/Kconfig" 310c6821378SAmit Daniel Kachhapendmenu 311c6821378SAmit Daniel Kachhap 31260aef7ceSLee Jonesmenu "STMicroelectronics thermal drivers" 31360aef7ceSLee Jonesdepends on ARCH_STI && OF 31460aef7ceSLee Jonessource "drivers/thermal/st/Kconfig" 31560aef7ceSLee Jonesendmenu 31660aef7ceSLee Jones 317c610afaaSIvan T. Ivanovconfig QCOM_SPMI_TEMP_ALARM 318c610afaaSIvan T. Ivanov tristate "Qualcomm SPMI PMIC Temperature Alarm" 319c610afaaSIvan T. Ivanov depends on OF && SPMI && IIO 320c610afaaSIvan T. Ivanov select REGMAP_SPMI 321c610afaaSIvan T. Ivanov help 322c610afaaSIvan T. Ivanov This enables a thermal sysfs driver for Qualcomm plug-and-play (QPNP) 323c610afaaSIvan T. Ivanov PMIC devices. It shows up in sysfs as a thermal sensor with multiple 324c610afaaSIvan T. Ivanov trip points. The temperature reported by the thermal sensor reflects the 325c610afaaSIvan T. Ivanov real time die temperature if an ADC is present or an estimate of the 326c610afaaSIvan T. Ivanov temperature based upon the over temperature stage value. 327c610afaaSIvan T. Ivanov 32872e19897SZhang Ruiendif 329