| # | 
 | # Generic thermal sysfs drivers configuration | 
 | # | 
 |  | 
 | menuconfig THERMAL | 
 | 	tristate "Generic Thermal sysfs driver" | 
 | 	help | 
 | 	  Generic Thermal Sysfs driver offers a generic mechanism for | 
 | 	  thermal management. Usually it's made up of one or more thermal | 
 | 	  zone and cooling device. | 
 | 	  Each thermal zone contains its own temperature, trip points, | 
 | 	  cooling devices. | 
 | 	  All platforms with ACPI thermal support can use this driver. | 
 | 	  If you want this support, you should say Y or M here. | 
 |  | 
 | if THERMAL | 
 |  | 
 | config THERMAL_HWMON | 
 | 	bool | 
 | 	prompt "Expose thermal sensors as hwmon device" | 
 | 	depends on HWMON=y || HWMON=THERMAL | 
 | 	default y | 
 | 	help | 
 | 	  In case a sensor is registered with the thermal | 
 | 	  framework, this option will also register it | 
 | 	  as a hwmon. The sensor will then have the common | 
 | 	  hwmon sysfs interface. | 
 |  | 
 | 	  Say 'Y' here if you want all thermal sensors to | 
 | 	  have hwmon sysfs interface too. | 
 |  | 
 | config THERMAL_OF | 
 | 	bool | 
 | 	prompt "APIs to parse thermal data out of device tree" | 
 | 	depends on OF | 
 | 	default y | 
 | 	help | 
 | 	  This options provides helpers to add the support to | 
 | 	  read and parse thermal data definitions out of the | 
 | 	  device tree blob. | 
 |  | 
 | 	  Say 'Y' here if you need to build thermal infrastructure | 
 | 	  based on device tree. | 
 |  | 
 | config THERMAL_WRITABLE_TRIPS | 
 | 	bool "Enable writable trip points" | 
 | 	help | 
 | 	  This option allows the system integrator to choose whether | 
 | 	  trip temperatures can be changed from userspace. The | 
 | 	  writable trips need to be specified when setting up the | 
 | 	  thermal zone but the choice here takes precedence. | 
 |  | 
 | 	  Say 'Y' here if you would like to allow userspace tools to | 
 | 	  change trip temperatures. | 
 |  | 
 | choice | 
 | 	prompt "Default Thermal governor" | 
 | 	default THERMAL_DEFAULT_GOV_STEP_WISE | 
 | 	help | 
 | 	  This option sets which thermal governor shall be loaded at | 
 | 	  startup. If in doubt, select 'step_wise'. | 
 |  | 
 | config THERMAL_DEFAULT_GOV_STEP_WISE | 
 | 	bool "step_wise" | 
 | 	select THERMAL_GOV_STEP_WISE | 
 | 	help | 
 | 	  Use the step_wise governor as default. This throttles the | 
 | 	  devices one step at a time. | 
 |  | 
 | config THERMAL_DEFAULT_GOV_FAIR_SHARE | 
 | 	bool "fair_share" | 
 | 	select THERMAL_GOV_FAIR_SHARE | 
 | 	help | 
 | 	  Use the fair_share governor as default. This throttles the | 
 | 	  devices based on their 'contribution' to a zone. The | 
 | 	  contribution should be provided through platform data. | 
 |  | 
 | config THERMAL_DEFAULT_GOV_USER_SPACE | 
 | 	bool "user_space" | 
 | 	select THERMAL_GOV_USER_SPACE | 
 | 	help | 
 | 	  Select this if you want to let the user space manage the | 
 | 	  platform thermals. | 
 |  | 
 | config THERMAL_DEFAULT_GOV_POWER_ALLOCATOR | 
 | 	bool "power_allocator" | 
 | 	select THERMAL_GOV_POWER_ALLOCATOR | 
 | 	help | 
 | 	  Select this if you want to control temperature based on | 
 | 	  system and device power allocation. This governor can only | 
 | 	  operate on cooling devices that implement the power API. | 
 |  | 
 | endchoice | 
 |  | 
 | config THERMAL_GOV_FAIR_SHARE | 
 | 	bool "Fair-share thermal governor" | 
 | 	help | 
 | 	  Enable this to manage platform thermals using fair-share governor. | 
 |  | 
 | config THERMAL_GOV_STEP_WISE | 
 | 	bool "Step_wise thermal governor" | 
 | 	help | 
 | 	  Enable this to manage platform thermals using a simple linear | 
 | 	  governor. | 
 |  | 
 | config THERMAL_GOV_BANG_BANG | 
 | 	bool "Bang Bang thermal governor" | 
 | 	default n | 
 | 	help | 
 | 	  Enable this to manage platform thermals using bang bang governor. | 
 |  | 
 | 	  Say 'Y' here if you want to use two point temperature regulation | 
 | 	  used for fans without throttling.  Some fan drivers depend on this | 
 | 	  governor to be enabled (e.g. acerhdf). | 
 |  | 
 | config THERMAL_GOV_USER_SPACE | 
 | 	bool "User_space thermal governor" | 
 | 	help | 
 | 	  Enable this to let the user space manage the platform thermals. | 
 |  | 
 | config THERMAL_GOV_POWER_ALLOCATOR | 
 | 	bool "Power allocator thermal governor" | 
 | 	help | 
 | 	  Enable this to manage platform thermals by dynamically | 
 | 	  allocating and limiting power to devices. | 
 |  | 
 | config CPU_THERMAL | 
 | 	bool "generic cpu cooling support" | 
 | 	depends on CPU_FREQ | 
 | 	depends on THERMAL_OF | 
 | 	help | 
 | 	  This implements the generic cpu cooling mechanism through frequency | 
 | 	  reduction. An ACPI version of this already exists | 
 | 	  (drivers/acpi/processor_thermal.c). | 
 | 	  This will be useful for platforms using the generic thermal interface | 
 | 	  and not the ACPI interface. | 
 |  | 
 | 	  If you want this support, you should say Y here. | 
 |  | 
 | config CLOCK_THERMAL | 
 | 	bool "Generic clock cooling support" | 
 | 	depends on COMMON_CLK | 
 | 	depends on PM_OPP | 
 | 	help | 
 | 	  This entry implements the generic clock cooling mechanism through | 
 | 	  frequency clipping. Typically used to cool off co-processors. The | 
 | 	  device that is configured to use this cooling mechanism will be | 
 | 	  controlled to reduce clock frequency whenever temperature is high. | 
 |  | 
 | config DEVFREQ_THERMAL | 
 | 	bool "Generic device cooling support" | 
 | 	depends on PM_DEVFREQ | 
 | 	depends on PM_OPP | 
 | 	help | 
 | 	  This implements the generic devfreq cooling mechanism through | 
 | 	  frequency reduction for devices using devfreq. | 
 |  | 
 | 	  This will throttle the device by limiting the maximum allowed DVFS | 
 | 	  frequency corresponding to the cooling level. | 
 |  | 
 | 	  In order to use the power extensions of the cooling device, | 
 | 	  devfreq should use the simple_ondemand governor. | 
 |  | 
 | 	  If you want this support, you should say Y here. | 
 |  | 
 | config THERMAL_EMULATION | 
 | 	bool "Thermal emulation mode support" | 
 | 	help | 
 | 	  Enable this option to make a emul_temp sysfs node in thermal zone | 
 | 	  directory to support temperature emulation. With emulation sysfs node, | 
 | 	  user can manually input temperature and test the different trip | 
 | 	  threshold behaviour for simulation purpose. | 
 |  | 
 | 	  WARNING: Be careful while enabling this option on production systems, | 
 | 	  because userland can easily disable the thermal policy by simply | 
 | 	  flooding this sysfs node with low temperature values. | 
 |  | 
 | config HISI_THERMAL | 
 | 	tristate "Hisilicon thermal driver" | 
 | 	depends on (ARCH_HISI && CPU_THERMAL && OF) || COMPILE_TEST | 
 | 	depends on HAS_IOMEM | 
 | 	help | 
 | 	  Enable this to plug hisilicon's thermal sensor driver into the Linux | 
 | 	  thermal framework. cpufreq is used as the cooling device to throttle | 
 | 	  CPUs when the passive trip is crossed. | 
 |  | 
 | config IMX_THERMAL | 
 | 	tristate "Temperature sensor driver for Freescale i.MX SoCs" | 
 | 	depends on CPU_THERMAL | 
 | 	depends on MFD_SYSCON | 
 | 	depends on OF | 
 | 	help | 
 | 	  Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs. | 
 | 	  It supports one critical trip point and one passive trip point.  The | 
 | 	  cpufreq is used as the cooling device to throttle CPUs when the | 
 | 	  passive trip is crossed. | 
 |  | 
 | config SPEAR_THERMAL | 
 | 	tristate "SPEAr thermal sensor driver" | 
 | 	depends on PLAT_SPEAR || COMPILE_TEST | 
 | 	depends on HAS_IOMEM | 
 | 	depends on OF | 
 | 	help | 
 | 	  Enable this to plug the SPEAr thermal sensor driver into the Linux | 
 | 	  thermal framework. | 
 |  | 
 | config ROCKCHIP_THERMAL | 
 | 	tristate "Rockchip thermal driver" | 
 | 	depends on ARCH_ROCKCHIP || COMPILE_TEST | 
 | 	depends on RESET_CONTROLLER | 
 | 	depends on HAS_IOMEM | 
 | 	help | 
 | 	  Rockchip thermal driver provides support for Temperature sensor | 
 | 	  ADC (TS-ADC) found on Rockchip SoCs. It supports one critical | 
 | 	  trip point. Cpufreq is used as the cooling device and will throttle | 
 | 	  CPUs when the Temperature crosses the passive trip point. | 
 |  | 
 | config RCAR_THERMAL | 
 | 	tristate "Renesas R-Car thermal driver" | 
 | 	depends on ARCH_RENESAS || COMPILE_TEST | 
 | 	depends on HAS_IOMEM | 
 | 	help | 
 | 	  Enable this to plug the R-Car thermal sensor driver into the Linux | 
 | 	  thermal framework. | 
 |  | 
 | config KIRKWOOD_THERMAL | 
 | 	tristate "Temperature sensor on Marvell Kirkwood SoCs" | 
 | 	depends on MACH_KIRKWOOD || COMPILE_TEST | 
 | 	depends on HAS_IOMEM | 
 | 	depends on OF | 
 | 	help | 
 | 	  Support for the Kirkwood thermal sensor driver into the Linux thermal | 
 | 	  framework. Only kirkwood 88F6282 and 88F6283 have this sensor. | 
 |  | 
 | config DOVE_THERMAL | 
 | 	tristate "Temperature sensor on Marvell Dove SoCs" | 
 | 	depends on ARCH_DOVE || MACH_DOVE || COMPILE_TEST | 
 | 	depends on HAS_IOMEM | 
 | 	depends on OF | 
 | 	help | 
 | 	  Support for the Dove thermal sensor driver in the Linux thermal | 
 | 	  framework. | 
 |  | 
 | config DB8500_THERMAL | 
 | 	tristate "DB8500 thermal management" | 
 | 	depends on MFD_DB8500_PRCMU | 
 | 	default y | 
 | 	help | 
 | 	  Adds DB8500 thermal management implementation according to the thermal | 
 | 	  management framework. A thermal zone with several trip points will be | 
 | 	  created. Cooling devices can be bound to the trip points to cool this | 
 | 	  thermal zone if trip points reached. | 
 |  | 
 | config ARMADA_THERMAL | 
 | 	tristate "Armada 370/XP thermal management" | 
 | 	depends on ARCH_MVEBU || COMPILE_TEST | 
 | 	depends on HAS_IOMEM | 
 | 	depends on OF | 
 | 	help | 
 | 	  Enable this option if you want to have support for thermal management | 
 | 	  controller present in Armada 370 and Armada XP SoC. | 
 |  | 
 | config TEGRA_SOCTHERM | 
 | 	tristate "Tegra SOCTHERM thermal management" | 
 | 	depends on ARCH_TEGRA | 
 | 	help | 
 | 	  Enable this option for integrated thermal management support on NVIDIA | 
 | 	  Tegra124 systems-on-chip. The driver supports four thermal zones | 
 | 	  (CPU, GPU, MEM, PLLX). Cooling devices can be bound to the thermal | 
 | 	  zones to manage temperatures. This option is also required for the | 
 | 	  emergency thermal reset (thermtrip) feature to function. | 
 |  | 
 | config DB8500_CPUFREQ_COOLING | 
 | 	tristate "DB8500 cpufreq cooling" | 
 | 	depends on ARCH_U8500 || COMPILE_TEST | 
 | 	depends on HAS_IOMEM | 
 | 	depends on CPU_THERMAL | 
 | 	default y | 
 | 	help | 
 | 	  Adds DB8500 cpufreq cooling devices, and these cooling devices can be | 
 | 	  bound to thermal zone trip points. When a trip point reached, the | 
 | 	  bound cpufreq cooling device turns active to set CPU frequency low to | 
 | 	  cool down the CPU. | 
 |  | 
 | config INTEL_POWERCLAMP | 
 | 	tristate "Intel PowerClamp idle injection driver" | 
 | 	depends on THERMAL | 
 | 	depends on X86 | 
 | 	depends on CPU_SUP_INTEL | 
 | 	help | 
 | 	  Enable this to enable Intel PowerClamp idle injection driver. This | 
 | 	  enforce idle time which results in more package C-state residency. The | 
 | 	  user interface is exposed via generic thermal framework. | 
 |  | 
 | config X86_PKG_TEMP_THERMAL | 
 | 	tristate "X86 package temperature thermal driver" | 
 | 	depends on X86_THERMAL_VECTOR | 
 | 	select THERMAL_GOV_USER_SPACE | 
 | 	select THERMAL_WRITABLE_TRIPS | 
 | 	default m | 
 | 	help | 
 | 	  Enable this to register CPU digital sensor for package temperature as | 
 | 	  thermal zone. Each package will have its own thermal zone. There are | 
 | 	  two trip points which can be set by user to get notifications via thermal | 
 | 	  notification methods. | 
 |  | 
 | config INTEL_SOC_DTS_IOSF_CORE | 
 | 	tristate | 
 | 	depends on X86 | 
 | 	select IOSF_MBI | 
 | 	help | 
 | 	  This is becoming a common feature for Intel SoCs to expose the additional | 
 | 	  digital temperature sensors (DTSs) using side band interface (IOSF). This | 
 | 	  implements the common set of helper functions to register, get temperature | 
 | 	  and get/set thresholds on DTSs. | 
 |  | 
 | config INTEL_SOC_DTS_THERMAL | 
 | 	tristate "Intel SoCs DTS thermal driver" | 
 | 	depends on X86 | 
 | 	select INTEL_SOC_DTS_IOSF_CORE | 
 | 	select THERMAL_WRITABLE_TRIPS | 
 | 	help | 
 | 	  Enable this to register Intel SoCs (e.g. Bay Trail) platform digital | 
 | 	  temperature sensor (DTS). These SoCs have two additional DTSs in | 
 | 	  addition to DTSs on CPU cores. Each DTS will be registered as a | 
 | 	  thermal zone. There are two trip points. One of the trip point can | 
 | 	  be set by user mode programs to get notifications via Linux thermal | 
 | 	  notification methods.The other trip is a critical trip point, which | 
 | 	  was set by the driver based on the TJ MAX temperature. | 
 |  | 
 | config INTEL_QUARK_DTS_THERMAL | 
 | 	tristate "Intel Quark DTS thermal driver" | 
 | 	depends on X86_INTEL_QUARK | 
 | 	help | 
 | 	  Enable this to register Intel Quark SoC (e.g. X1000) platform digital | 
 | 	  temperature sensor (DTS). For X1000 SoC, it has one on-die DTS. | 
 | 	  The DTS will be registered as a thermal zone. There are two trip points: | 
 | 	  hot & critical. The critical trip point default value is set by | 
 | 	  underlying BIOS/Firmware. | 
 |  | 
 | config INT340X_THERMAL | 
 | 	tristate "ACPI INT340X thermal drivers" | 
 | 	depends on X86 && ACPI | 
 | 	select THERMAL_GOV_USER_SPACE | 
 | 	select ACPI_THERMAL_REL | 
 | 	select ACPI_FAN | 
 | 	select INTEL_SOC_DTS_IOSF_CORE | 
 | 	select THERMAL_WRITABLE_TRIPS | 
 | 	help | 
 | 	  Newer laptops and tablets that use ACPI may have thermal sensors and | 
 | 	  other devices with thermal control capabilities outside the core | 
 | 	  CPU/SOC, for thermal safety reasons. | 
 | 	  They are exposed for the OS to use via the INT3400 ACPI device object | 
 | 	  as the master, and INT3401~INT340B ACPI device objects as the slaves. | 
 | 	  Enable this to expose the temperature information and cooling ability | 
 | 	  from these objects to userspace via the normal thermal framework. | 
 | 	  This means that a wide range of applications and GUI widgets can show | 
 | 	  the information to the user or use this information for making | 
 | 	  decisions. For example, the Intel Thermal Daemon can use this | 
 | 	  information to allow the user to select his laptop to run without | 
 | 	  turning on the fans. | 
 |  | 
 | config ACPI_THERMAL_REL | 
 | 	tristate | 
 | 	depends on ACPI | 
 |  | 
 | config INTEL_PCH_THERMAL | 
 | 	tristate "Intel PCH Thermal Reporting Driver" | 
 | 	depends on X86 && PCI | 
 | 	help | 
 | 	  Enable this to support thermal reporting on certain intel PCHs. | 
 | 	  Thermal reporting device will provide temperature reading, | 
 | 	  programmable trip points and other information. | 
 |  | 
 | config MTK_THERMAL | 
 | 	tristate "Temperature sensor driver for mediatek SoCs" | 
 | 	depends on ARCH_MEDIATEK || COMPILE_TEST | 
 | 	depends on HAS_IOMEM | 
 | 	default y | 
 | 	help | 
 | 	  Enable this option if you want to have support for thermal management | 
 | 	  controller present in Mediatek SoCs | 
 |  | 
 | menu "Texas Instruments thermal drivers" | 
 | depends on ARCH_HAS_BANDGAP || COMPILE_TEST | 
 | depends on HAS_IOMEM | 
 | source "drivers/thermal/ti-soc-thermal/Kconfig" | 
 | endmenu | 
 |  | 
 | menu "Samsung thermal drivers" | 
 | depends on ARCH_EXYNOS || COMPILE_TEST | 
 | source "drivers/thermal/samsung/Kconfig" | 
 | endmenu | 
 |  | 
 | menu "STMicroelectronics thermal drivers" | 
 | depends on ARCH_STI && OF | 
 | source "drivers/thermal/st/Kconfig" | 
 | endmenu | 
 |  | 
 | config QCOM_SPMI_TEMP_ALARM | 
 | 	tristate "Qualcomm SPMI PMIC Temperature Alarm" | 
 | 	depends on OF && SPMI && IIO | 
 | 	select REGMAP_SPMI | 
 | 	help | 
 | 	  This enables a thermal sysfs driver for Qualcomm plug-and-play (QPNP) | 
 | 	  PMIC devices. It shows up in sysfs as a thermal sensor with multiple | 
 | 	  trip points. The temperature reported by the thermal sensor reflects the | 
 | 	  real time die temperature if an ADC is present or an estimate of the | 
 | 	  temperature based upon the over temperature stage value. | 
 |  | 
 | endif |