529 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			529 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								# SPDX-License-Identifier: GPL-2.0-only
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Generic thermal drivers configuration
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								menuconfig THERMAL
							 | 
						||
| 
								 | 
							
									bool "Thermal drivers"
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Thermal drivers offer a generic mechanism for
							 | 
						||
| 
								 | 
							
									  thermal management. Usually it's made up of one or more thermal
							 | 
						||
| 
								 | 
							
									  zones and cooling devices.
							 | 
						||
| 
								 | 
							
									  Each thermal zone contains its own temperature, trip points,
							 | 
						||
| 
								 | 
							
									  and cooling devices.
							 | 
						||
| 
								 | 
							
									  All platforms with ACPI or Open Firmware thermal support can use
							 | 
						||
| 
								 | 
							
									  this driver.
							 | 
						||
| 
								 | 
							
									  If you want this support, you should say Y here.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if THERMAL
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config THERMAL_NETLINK
							 | 
						||
| 
								 | 
							
									bool "Thermal netlink management"
							 | 
						||
| 
								 | 
							
									depends on NET
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  The thermal framework has a netlink interface to do thermal
							 | 
						||
| 
								 | 
							
									  zones discovery, temperature readings and events such as
							 | 
						||
| 
								 | 
							
									  trip point crossed, cooling device update or governor
							 | 
						||
| 
								 | 
							
									  change. It is recommended to enable the feature.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config THERMAL_STATISTICS
							 | 
						||
| 
								 | 
							
									bool "Thermal state transition statistics"
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Export thermal state transition statistics information through sysfs.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									  If in doubt, say N.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config THERMAL_DEBUGFS
							 | 
						||
| 
								 | 
							
									bool "Thermal subsystem debug support"
							 | 
						||
| 
								 | 
							
									depends on DEBUG_FS
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Say Y to allow the thermal subsystem to collect diagnostic
							 | 
						||
| 
								 | 
							
									  information that can be accessed via debugfs.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config THERMAL_EMERGENCY_POWEROFF_DELAY_MS
							 | 
						||
| 
								 | 
							
									int "Emergency poweroff delay in milli-seconds"
							 | 
						||
| 
								 | 
							
									default 0
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Thermal subsystem will issue a graceful shutdown when
							 | 
						||
| 
								 | 
							
									  critical temperatures are reached using orderly_poweroff(). In
							 | 
						||
| 
								 | 
							
									  case of failure of an orderly_poweroff(), the thermal emergency
							 | 
						||
| 
								 | 
							
									  poweroff kicks in after a delay has elapsed and shuts down the system.
							 | 
						||
| 
								 | 
							
									  This config is number of milliseconds to delay before emergency
							 | 
						||
| 
								 | 
							
									  poweroff kicks in. Similarly to the critical trip point,
							 | 
						||
| 
								 | 
							
									  the delay should be carefully profiled so as to give adequate
							 | 
						||
| 
								 | 
							
									  time for orderly_poweroff() to finish on regular execution.
							 | 
						||
| 
								 | 
							
									  If set to 0 emergency poweroff will not be supported.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									  In doubt, leave as 0.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								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
							 | 
						||
| 
								 | 
							
									  The Userspace governor allows to get trip point crossed
							 | 
						||
| 
								 | 
							
									  notification from the kernel via uevents. It is recommended
							 | 
						||
| 
								 | 
							
									  to use the netlink interface instead which gives richer
							 | 
						||
| 
								 | 
							
									  information about the thermal framework events.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config THERMAL_DEFAULT_GOV_POWER_ALLOCATOR
							 | 
						||
| 
								 | 
							
									bool "power_allocator"
							 | 
						||
| 
								 | 
							
									depends on 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.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config THERMAL_DEFAULT_GOV_BANG_BANG
							 | 
						||
| 
								 | 
							
									bool "bang_bang"
							 | 
						||
| 
								 | 
							
									depends on THERMAL_GOV_BANG_BANG
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Use the bang_bang governor as default. This throttles the
							 | 
						||
| 
								 | 
							
									  devices one step at the time, taking into account the trip
							 | 
						||
| 
								 | 
							
									  point hysteresis.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								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"
							 | 
						||
| 
								 | 
							
									depends on ENERGY_MODEL
							 | 
						||
| 
								 | 
							
									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 THERMAL_OF
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Enable the CPU cooling features. If the system has no active
							 | 
						||
| 
								 | 
							
									  cooling device available, this option allows to use the CPU
							 | 
						||
| 
								 | 
							
									  as a cooling device.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if CPU_THERMAL
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config CPU_FREQ_THERMAL
							 | 
						||
| 
								 | 
							
									bool "CPU frequency cooling device"
							 | 
						||
| 
								 | 
							
									depends on CPU_FREQ
							 | 
						||
| 
								 | 
							
									default y
							 | 
						||
| 
								 | 
							
									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.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config CPU_IDLE_THERMAL
							 | 
						||
| 
								 | 
							
									bool "CPU idle cooling device"
							 | 
						||
| 
								 | 
							
									depends on IDLE_INJECT
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  This implements the CPU cooling mechanism through
							 | 
						||
| 
								 | 
							
									  idle injection. This will throttle the CPU by injecting
							 | 
						||
| 
								 | 
							
									  idle cycle.
							 | 
						||
| 
								 | 
							
								endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								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 THERMAL_MMIO
							 | 
						||
| 
								 | 
							
									tristate "Generic Thermal MMIO driver"
							 | 
						||
| 
								 | 
							
									depends on OF
							 | 
						||
| 
								 | 
							
									depends on HAS_IOMEM
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  This option enables the generic thermal MMIO driver that will use
							 | 
						||
| 
								 | 
							
									  memory-mapped reads to get the temperature.  Any HW/System that
							 | 
						||
| 
								 | 
							
									  allows temperature reading by a single memory-mapped reading, be it
							 | 
						||
| 
								 | 
							
									  register or shared memory, is a potential candidate to work with this
							 | 
						||
| 
								 | 
							
									  driver.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config HISI_THERMAL
							 | 
						||
| 
								 | 
							
									tristate "Hisilicon thermal driver"
							 | 
						||
| 
								 | 
							
									depends on ARCH_HISI || COMPILE_TEST
							 | 
						||
| 
								 | 
							
									depends on HAS_IOMEM
							 | 
						||
| 
								 | 
							
									depends on OF
							 | 
						||
| 
								 | 
							
									default y
							 | 
						||
| 
								 | 
							
									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 ARCH_MXC || COMPILE_TEST
							 | 
						||
| 
								 | 
							
									depends on NVMEM || !NVMEM
							 | 
						||
| 
								 | 
							
									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 IMX_SC_THERMAL
							 | 
						||
| 
								 | 
							
									tristate "Temperature sensor driver for NXP i.MX SoCs with System Controller"
							 | 
						||
| 
								 | 
							
									depends on IMX_SCU
							 | 
						||
| 
								 | 
							
									depends on OF
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Support for Temperature Monitor (TEMPMON) found on NXP i.MX SoCs with
							 | 
						||
| 
								 | 
							
									  system controller inside, Linux kernel has to communicate with system
							 | 
						||
| 
								 | 
							
									  controller via MU (message unit) IPC to get temperature from thermal
							 | 
						||
| 
								 | 
							
									  sensor. It supports one critical trip point and one
							 | 
						||
| 
								 | 
							
									  passive trip point for each thermal sensor.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config IMX8MM_THERMAL
							 | 
						||
| 
								 | 
							
									tristate "Temperature sensor driver for Freescale i.MX8MM SoC"
							 | 
						||
| 
								 | 
							
									depends on ARCH_MXC || COMPILE_TEST
							 | 
						||
| 
								 | 
							
									depends on OF
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Support for Thermal Monitoring Unit (TMU) found on Freescale i.MX8MM SoC.
							 | 
						||
| 
								 | 
							
									  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 K3_THERMAL
							 | 
						||
| 
								 | 
							
									tristate "Texas Instruments K3 thermal support"
							 | 
						||
| 
								 | 
							
									depends on ARCH_K3 || COMPILE_TEST
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  If you say yes here you get thermal support for the Texas Instruments
							 | 
						||
| 
								 | 
							
									  K3 SoC family. The current chip supported is:
							 | 
						||
| 
								 | 
							
									  - AM654
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									  This includes temperature reading functionality.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config MAX77620_THERMAL
							 | 
						||
| 
								 | 
							
									tristate "Temperature sensor driver for Maxim MAX77620 PMIC"
							 | 
						||
| 
								 | 
							
									depends on MFD_MAX77620
							 | 
						||
| 
								 | 
							
									depends on OF
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Support for die junction temperature warning alarm for Maxim
							 | 
						||
| 
								 | 
							
									  Semiconductor PMIC MAX77620 device. Device generates two alarm
							 | 
						||
| 
								 | 
							
									  interrupts when PMIC die temperature cross the threshold of
							 | 
						||
| 
								 | 
							
									  120 degC and 140 degC.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config QORIQ_THERMAL
							 | 
						||
| 
								 | 
							
									tristate "QorIQ Thermal Monitoring Unit"
							 | 
						||
| 
								 | 
							
									depends on THERMAL_OF && HAS_IOMEM
							 | 
						||
| 
								 | 
							
									depends on PPC_E500MC || SOC_LS1021A || ARCH_LAYERSCAPE || (ARCH_MXC && ARM64) || COMPILE_TEST
							 | 
						||
| 
								 | 
							
									select REGMAP_MMIO
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Support for Thermal Monitoring Unit (TMU) found on QorIQ platforms.
							 | 
						||
| 
								 | 
							
									  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 SUN8I_THERMAL
							 | 
						||
| 
								 | 
							
									tristate "Allwinner sun8i thermal driver"
							 | 
						||
| 
								 | 
							
									depends on ARCH_SUNXI || COMPILE_TEST
							 | 
						||
| 
								 | 
							
									depends on HAS_IOMEM
							 | 
						||
| 
								 | 
							
									depends on NVMEM
							 | 
						||
| 
								 | 
							
									depends on OF
							 | 
						||
| 
								 | 
							
									depends on RESET_CONTROLLER
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Support for the sun8i thermal sensor driver into the Linux thermal
							 | 
						||
| 
								 | 
							
									  framework.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									  To compile this driver as a module, choose M here: the
							 | 
						||
| 
								 | 
							
									  module will be called sun8i-thermal.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								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 RCAR_GEN3_THERMAL
							 | 
						||
| 
								 | 
							
									tristate "Renesas R-Car Gen3 and RZ/G2 thermal driver"
							 | 
						||
| 
								 | 
							
									depends on ARCH_RENESAS || COMPILE_TEST
							 | 
						||
| 
								 | 
							
									depends on HAS_IOMEM
							 | 
						||
| 
								 | 
							
									depends on OF
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Enable this to plug the R-Car Gen3 or RZ/G2 thermal sensor driver into
							 | 
						||
| 
								 | 
							
									  the Linux thermal framework.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config RZG2L_THERMAL
							 | 
						||
| 
								 | 
							
									tristate "Renesas RZ/G2L thermal driver"
							 | 
						||
| 
								 | 
							
									depends on ARCH_RENESAS || COMPILE_TEST
							 | 
						||
| 
								 | 
							
									depends on HAS_IOMEM
							 | 
						||
| 
								 | 
							
									depends on OF
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Enable this to plug the RZ/G2L 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 && OF
							 | 
						||
| 
								 | 
							
									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 "Marvell EBU Armada SoCs 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 Marvell EBU Armada SoCs (370,375,XP,38x,7K,8K).
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config DA9062_THERMAL
							 | 
						||
| 
								 | 
							
									tristate "DA9062/DA9061 Dialog Semiconductor thermal driver"
							 | 
						||
| 
								 | 
							
									depends on MFD_DA9062 || COMPILE_TEST
							 | 
						||
| 
								 | 
							
									depends on OF
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Enable this for the Dialog Semiconductor thermal sensor driver.
							 | 
						||
| 
								 | 
							
									  This will report PMIC junction over-temperature for one thermal trip
							 | 
						||
| 
								 | 
							
									  zone.
							 | 
						||
| 
								 | 
							
									  Compatible with the DA9062 and DA9061 PMICs.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								menu "Mediatek thermal drivers"
							 | 
						||
| 
								 | 
							
								depends on ARCH_MEDIATEK || COMPILE_TEST
							 | 
						||
| 
								 | 
							
								source "drivers/thermal/mediatek/Kconfig"
							 | 
						||
| 
								 | 
							
								endmenu
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config AMLOGIC_THERMAL
							 | 
						||
| 
								 | 
							
									tristate "Amlogic Thermal Support"
							 | 
						||
| 
								 | 
							
									default ARCH_MESON
							 | 
						||
| 
								 | 
							
									depends on OF && ARCH_MESON
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  If you say yes here you get support for Amlogic Thermal
							 | 
						||
| 
								 | 
							
									  for G12 SoC Family.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									  This driver can also be built as a module. If so, the module will
							 | 
						||
| 
								 | 
							
									  be called amlogic_thermal.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								menu "Intel thermal drivers"
							 | 
						||
| 
								 | 
							
								depends on X86 || X86_INTEL_QUARK || COMPILE_TEST
							 | 
						||
| 
								 | 
							
								source "drivers/thermal/intel/Kconfig"
							 | 
						||
| 
								 | 
							
								endmenu
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								menu "Broadcom thermal drivers"
							 | 
						||
| 
								 | 
							
								depends on ARCH_BCM || ARCH_BRCMSTB || ARCH_BCM2835 || ARCH_BCM_IPROC || \
							 | 
						||
| 
								 | 
							
										COMPILE_TEST
							 | 
						||
| 
								 | 
							
								source "drivers/thermal/broadcom/Kconfig"
							 | 
						||
| 
								 | 
							
								endmenu
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								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 || ARCH_STM32) && OF
							 | 
						||
| 
								 | 
							
								source "drivers/thermal/st/Kconfig"
							 | 
						||
| 
								 | 
							
								endmenu
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								source "drivers/thermal/tegra/Kconfig"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config GENERIC_ADC_THERMAL
							 | 
						||
| 
								 | 
							
									tristate "Generic ADC based thermal sensor"
							 | 
						||
| 
								 | 
							
									depends on IIO
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  This enabled a thermal sysfs driver for the temperature sensor
							 | 
						||
| 
								 | 
							
									  which is connected to the General Purpose ADC. The ADC channel
							 | 
						||
| 
								 | 
							
									  is read via IIO framework and the channel information is provided
							 | 
						||
| 
								 | 
							
									  to this driver. This driver reports the temperature by reading ADC
							 | 
						||
| 
								 | 
							
									  channel and converts it to temperature based on lookup table.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								menu "Qualcomm thermal drivers"
							 | 
						||
| 
								 | 
							
								depends on (ARCH_QCOM && OF) || COMPILE_TEST
							 | 
						||
| 
								 | 
							
								source "drivers/thermal/qcom/Kconfig"
							 | 
						||
| 
								 | 
							
								endmenu
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config UNIPHIER_THERMAL
							 | 
						||
| 
								 | 
							
									tristate "Socionext UniPhier thermal driver"
							 | 
						||
| 
								 | 
							
									depends on ARCH_UNIPHIER || COMPILE_TEST
							 | 
						||
| 
								 | 
							
									depends on THERMAL_OF && MFD_SYSCON
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Enable this to plug in UniPhier on-chip PVT thermal driver into the
							 | 
						||
| 
								 | 
							
									  thermal framework. The driver supports CPU thermal zone temperature
							 | 
						||
| 
								 | 
							
									  reporting and a couple of trip points.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config SPRD_THERMAL
							 | 
						||
| 
								 | 
							
									tristate "Temperature sensor on Spreadtrum SoCs"
							 | 
						||
| 
								 | 
							
									depends on ARCH_SPRD || COMPILE_TEST
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Support for the Spreadtrum thermal sensor driver in the Linux thermal
							 | 
						||
| 
								 | 
							
									  framework.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config KHADAS_MCU_FAN_THERMAL
							 | 
						||
| 
								 | 
							
									tristate "Khadas MCU controller FAN cooling support"
							 | 
						||
| 
								 | 
							
									depends on OF
							 | 
						||
| 
								 | 
							
									depends on MFD_KHADAS_MCU
							 | 
						||
| 
								 | 
							
									select MFD_CORE
							 | 
						||
| 
								 | 
							
									select REGMAP
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  If you say yes here you get support for the FAN controlled
							 | 
						||
| 
								 | 
							
									  by the Microcontroller found on the Khadas VIM boards.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config LOONGSON2_THERMAL
							 | 
						||
| 
								 | 
							
									tristate "Loongson-2 SoC series thermal driver"
							 | 
						||
| 
								 | 
							
									depends on LOONGARCH || COMPILE_TEST
							 | 
						||
| 
								 | 
							
									depends on OF
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Support for Thermal driver found on Loongson-2 SoC series platforms.
							 | 
						||
| 
								 | 
							
									  The thermal driver realizes get_temp and set_trips function, which
							 | 
						||
| 
								 | 
							
									  are used to obtain the temperature of the current node and set the
							 | 
						||
| 
								 | 
							
									  temperature range to trigger the interrupt. When the input temperature
							 | 
						||
| 
								 | 
							
									  is higher than the high temperature threshold or lower than the low
							 | 
						||
| 
								 | 
							
									  temperature threshold, the interrupt will occur.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								endif
							 |