18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci#
38c2ecf20Sopenharmony_ci# Generic thermal drivers configuration
48c2ecf20Sopenharmony_ci#
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_cimenuconfig THERMAL
78c2ecf20Sopenharmony_ci	bool "Thermal drivers"
88c2ecf20Sopenharmony_ci	help
98c2ecf20Sopenharmony_ci	  Thermal drivers offer a generic mechanism for
108c2ecf20Sopenharmony_ci	  thermal management. Usually it's made up of one or more thermal
118c2ecf20Sopenharmony_ci	  zones and cooling devices.
128c2ecf20Sopenharmony_ci	  Each thermal zone contains its own temperature, trip points,
138c2ecf20Sopenharmony_ci	  and cooling devices.
148c2ecf20Sopenharmony_ci	  All platforms with ACPI or Open Firmware thermal support can use
158c2ecf20Sopenharmony_ci	  this driver.
168c2ecf20Sopenharmony_ci	  If you want this support, you should say Y here.
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciif THERMAL
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ciconfig THERMAL_NETLINK
218c2ecf20Sopenharmony_ci	bool "Thermal netlink management"
228c2ecf20Sopenharmony_ci	depends on NET
238c2ecf20Sopenharmony_ci	help
248c2ecf20Sopenharmony_ci	  The thermal framework has a netlink interface to do thermal
258c2ecf20Sopenharmony_ci	  zones discovery, temperature readings and events such as
268c2ecf20Sopenharmony_ci	  trip point crossed, cooling device update or governor
278c2ecf20Sopenharmony_ci	  change. It is recommended to enable the feature.
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ciconfig THERMAL_STATISTICS
308c2ecf20Sopenharmony_ci	bool "Thermal state transition statistics"
318c2ecf20Sopenharmony_ci	help
328c2ecf20Sopenharmony_ci	  Export thermal state transition statistics information through sysfs.
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ci	  If in doubt, say N.
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ciconfig THERMAL_EMERGENCY_POWEROFF_DELAY_MS
378c2ecf20Sopenharmony_ci	int "Emergency poweroff delay in milli-seconds"
388c2ecf20Sopenharmony_ci	default 0
398c2ecf20Sopenharmony_ci	help
408c2ecf20Sopenharmony_ci	  Thermal subsystem will issue a graceful shutdown when
418c2ecf20Sopenharmony_ci	  critical temperatures are reached using orderly_poweroff(). In
428c2ecf20Sopenharmony_ci	  case of failure of an orderly_poweroff(), the thermal emergency
438c2ecf20Sopenharmony_ci	  poweroff kicks in after a delay has elapsed and shuts down the system.
448c2ecf20Sopenharmony_ci	  This config is number of milliseconds to delay before emergency
458c2ecf20Sopenharmony_ci	  poweroff kicks in. Similarly to the critical trip point,
468c2ecf20Sopenharmony_ci	  the delay should be carefully profiled so as to give adequate
478c2ecf20Sopenharmony_ci	  time for orderly_poweroff() to finish on regular execution.
488c2ecf20Sopenharmony_ci	  If set to 0 emergency poweroff will not be supported.
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci	  In doubt, leave as 0.
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ciconfig THERMAL_HWMON
538c2ecf20Sopenharmony_ci	bool
548c2ecf20Sopenharmony_ci	prompt "Expose thermal sensors as hwmon device"
558c2ecf20Sopenharmony_ci	depends on HWMON=y || HWMON=THERMAL
568c2ecf20Sopenharmony_ci	default y
578c2ecf20Sopenharmony_ci	help
588c2ecf20Sopenharmony_ci	  In case a sensor is registered with the thermal
598c2ecf20Sopenharmony_ci	  framework, this option will also register it
608c2ecf20Sopenharmony_ci	  as a hwmon. The sensor will then have the common
618c2ecf20Sopenharmony_ci	  hwmon sysfs interface.
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_ci	  Say 'Y' here if you want all thermal sensors to
648c2ecf20Sopenharmony_ci	  have hwmon sysfs interface too.
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ciconfig THERMAL_OF
678c2ecf20Sopenharmony_ci	bool
688c2ecf20Sopenharmony_ci	prompt "APIs to parse thermal data out of device tree"
698c2ecf20Sopenharmony_ci	depends on OF
708c2ecf20Sopenharmony_ci	default y
718c2ecf20Sopenharmony_ci	help
728c2ecf20Sopenharmony_ci	  This options provides helpers to add the support to
738c2ecf20Sopenharmony_ci	  read and parse thermal data definitions out of the
748c2ecf20Sopenharmony_ci	  device tree blob.
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ci	  Say 'Y' here if you need to build thermal infrastructure
778c2ecf20Sopenharmony_ci	  based on device tree.
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_ciconfig THERMAL_WRITABLE_TRIPS
808c2ecf20Sopenharmony_ci	bool "Enable writable trip points"
818c2ecf20Sopenharmony_ci	help
828c2ecf20Sopenharmony_ci	  This option allows the system integrator to choose whether
838c2ecf20Sopenharmony_ci	  trip temperatures can be changed from userspace. The
848c2ecf20Sopenharmony_ci	  writable trips need to be specified when setting up the
858c2ecf20Sopenharmony_ci	  thermal zone but the choice here takes precedence.
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ci	  Say 'Y' here if you would like to allow userspace tools to
888c2ecf20Sopenharmony_ci	  change trip temperatures.
898c2ecf20Sopenharmony_ci
908c2ecf20Sopenharmony_cichoice
918c2ecf20Sopenharmony_ci	prompt "Default Thermal governor"
928c2ecf20Sopenharmony_ci	default THERMAL_DEFAULT_GOV_STEP_WISE
938c2ecf20Sopenharmony_ci	help
948c2ecf20Sopenharmony_ci	  This option sets which thermal governor shall be loaded at
958c2ecf20Sopenharmony_ci	  startup. If in doubt, select 'step_wise'.
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_ciconfig THERMAL_DEFAULT_GOV_STEP_WISE
988c2ecf20Sopenharmony_ci	bool "step_wise"
998c2ecf20Sopenharmony_ci	select THERMAL_GOV_STEP_WISE
1008c2ecf20Sopenharmony_ci	help
1018c2ecf20Sopenharmony_ci	  Use the step_wise governor as default. This throttles the
1028c2ecf20Sopenharmony_ci	  devices one step at a time.
1038c2ecf20Sopenharmony_ci
1048c2ecf20Sopenharmony_ciconfig THERMAL_DEFAULT_GOV_FAIR_SHARE
1058c2ecf20Sopenharmony_ci	bool "fair_share"
1068c2ecf20Sopenharmony_ci	select THERMAL_GOV_FAIR_SHARE
1078c2ecf20Sopenharmony_ci	help
1088c2ecf20Sopenharmony_ci	  Use the fair_share governor as default. This throttles the
1098c2ecf20Sopenharmony_ci	  devices based on their 'contribution' to a zone. The
1108c2ecf20Sopenharmony_ci	  contribution should be provided through platform data.
1118c2ecf20Sopenharmony_ci
1128c2ecf20Sopenharmony_ciconfig THERMAL_DEFAULT_GOV_USER_SPACE
1138c2ecf20Sopenharmony_ci	bool "user_space"
1148c2ecf20Sopenharmony_ci	select THERMAL_GOV_USER_SPACE
1158c2ecf20Sopenharmony_ci	help
1168c2ecf20Sopenharmony_ci	  Select this if you want to let the user space manage the
1178c2ecf20Sopenharmony_ci	  platform thermals.
1188c2ecf20Sopenharmony_ci
1198c2ecf20Sopenharmony_ciconfig THERMAL_DEFAULT_GOV_POWER_ALLOCATOR
1208c2ecf20Sopenharmony_ci	bool "power_allocator"
1218c2ecf20Sopenharmony_ci	depends on THERMAL_GOV_POWER_ALLOCATOR
1228c2ecf20Sopenharmony_ci	help
1238c2ecf20Sopenharmony_ci	  Select this if you want to control temperature based on
1248c2ecf20Sopenharmony_ci	  system and device power allocation. This governor can only
1258c2ecf20Sopenharmony_ci	  operate on cooling devices that implement the power API.
1268c2ecf20Sopenharmony_ci
1278c2ecf20Sopenharmony_ciendchoice
1288c2ecf20Sopenharmony_ci
1298c2ecf20Sopenharmony_ciconfig THERMAL_GOV_FAIR_SHARE
1308c2ecf20Sopenharmony_ci	bool "Fair-share thermal governor"
1318c2ecf20Sopenharmony_ci	help
1328c2ecf20Sopenharmony_ci	  Enable this to manage platform thermals using fair-share governor.
1338c2ecf20Sopenharmony_ci
1348c2ecf20Sopenharmony_ciconfig THERMAL_GOV_STEP_WISE
1358c2ecf20Sopenharmony_ci	bool "Step_wise thermal governor"
1368c2ecf20Sopenharmony_ci	help
1378c2ecf20Sopenharmony_ci	  Enable this to manage platform thermals using a simple linear
1388c2ecf20Sopenharmony_ci	  governor.
1398c2ecf20Sopenharmony_ci
1408c2ecf20Sopenharmony_ciconfig THERMAL_GOV_BANG_BANG
1418c2ecf20Sopenharmony_ci	bool "Bang Bang thermal governor"
1428c2ecf20Sopenharmony_ci	default n
1438c2ecf20Sopenharmony_ci	help
1448c2ecf20Sopenharmony_ci	  Enable this to manage platform thermals using bang bang governor.
1458c2ecf20Sopenharmony_ci
1468c2ecf20Sopenharmony_ci	  Say 'Y' here if you want to use two point temperature regulation
1478c2ecf20Sopenharmony_ci	  used for fans without throttling.  Some fan drivers depend on this
1488c2ecf20Sopenharmony_ci	  governor to be enabled (e.g. acerhdf).
1498c2ecf20Sopenharmony_ci
1508c2ecf20Sopenharmony_ciconfig THERMAL_GOV_USER_SPACE
1518c2ecf20Sopenharmony_ci	bool "User_space thermal governor"
1528c2ecf20Sopenharmony_ci	help
1538c2ecf20Sopenharmony_ci	  Enable this to let the user space manage the platform thermals.
1548c2ecf20Sopenharmony_ci
1558c2ecf20Sopenharmony_ciconfig THERMAL_GOV_POWER_ALLOCATOR
1568c2ecf20Sopenharmony_ci	bool "Power allocator thermal governor"
1578c2ecf20Sopenharmony_ci	depends on ENERGY_MODEL
1588c2ecf20Sopenharmony_ci	help
1598c2ecf20Sopenharmony_ci	  Enable this to manage platform thermals by dynamically
1608c2ecf20Sopenharmony_ci	  allocating and limiting power to devices.
1618c2ecf20Sopenharmony_ci
1628c2ecf20Sopenharmony_ciconfig CPU_THERMAL
1638c2ecf20Sopenharmony_ci	bool "Generic cpu cooling support"
1648c2ecf20Sopenharmony_ci	depends on THERMAL_OF
1658c2ecf20Sopenharmony_ci	help
1668c2ecf20Sopenharmony_ci	  Enable the CPU cooling features. If the system has no active
1678c2ecf20Sopenharmony_ci	  cooling device available, this option allows to use the CPU
1688c2ecf20Sopenharmony_ci	  as a cooling device.
1698c2ecf20Sopenharmony_ci
1708c2ecf20Sopenharmony_ciif CPU_THERMAL
1718c2ecf20Sopenharmony_ci
1728c2ecf20Sopenharmony_ciconfig CPU_FREQ_THERMAL
1738c2ecf20Sopenharmony_ci	bool "CPU frequency cooling device"
1748c2ecf20Sopenharmony_ci	depends on CPU_FREQ
1758c2ecf20Sopenharmony_ci	default y
1768c2ecf20Sopenharmony_ci	help
1778c2ecf20Sopenharmony_ci	  This implements the generic cpu cooling mechanism through frequency
1788c2ecf20Sopenharmony_ci	  reduction. An ACPI version of this already exists
1798c2ecf20Sopenharmony_ci	  (drivers/acpi/processor_thermal.c).
1808c2ecf20Sopenharmony_ci	  This will be useful for platforms using the generic thermal interface
1818c2ecf20Sopenharmony_ci	  and not the ACPI interface.
1828c2ecf20Sopenharmony_ci
1838c2ecf20Sopenharmony_ciconfig CPU_IDLE_THERMAL
1848c2ecf20Sopenharmony_ci	bool "CPU idle cooling device"
1858c2ecf20Sopenharmony_ci	depends on IDLE_INJECT
1868c2ecf20Sopenharmony_ci	help
1878c2ecf20Sopenharmony_ci	  This implements the CPU cooling mechanism through
1888c2ecf20Sopenharmony_ci	  idle injection. This will throttle the CPU by injecting
1898c2ecf20Sopenharmony_ci	  idle cycle.
1908c2ecf20Sopenharmony_ciendif
1918c2ecf20Sopenharmony_ci
1928c2ecf20Sopenharmony_ciconfig DEVFREQ_THERMAL
1938c2ecf20Sopenharmony_ci	bool "Generic device cooling support"
1948c2ecf20Sopenharmony_ci	depends on PM_DEVFREQ
1958c2ecf20Sopenharmony_ci	depends on PM_OPP
1968c2ecf20Sopenharmony_ci	help
1978c2ecf20Sopenharmony_ci	  This implements the generic devfreq cooling mechanism through
1988c2ecf20Sopenharmony_ci	  frequency reduction for devices using devfreq.
1998c2ecf20Sopenharmony_ci
2008c2ecf20Sopenharmony_ci	  This will throttle the device by limiting the maximum allowed DVFS
2018c2ecf20Sopenharmony_ci	  frequency corresponding to the cooling level.
2028c2ecf20Sopenharmony_ci
2038c2ecf20Sopenharmony_ci	  In order to use the power extensions of the cooling device,
2048c2ecf20Sopenharmony_ci	  devfreq should use the simple_ondemand governor.
2058c2ecf20Sopenharmony_ci
2068c2ecf20Sopenharmony_ci	  If you want this support, you should say Y here.
2078c2ecf20Sopenharmony_ci
2088c2ecf20Sopenharmony_ciconfig THERMAL_EMULATION
2098c2ecf20Sopenharmony_ci	bool "Thermal emulation mode support"
2108c2ecf20Sopenharmony_ci	help
2118c2ecf20Sopenharmony_ci	  Enable this option to make a emul_temp sysfs node in thermal zone
2128c2ecf20Sopenharmony_ci	  directory to support temperature emulation. With emulation sysfs node,
2138c2ecf20Sopenharmony_ci	  user can manually input temperature and test the different trip
2148c2ecf20Sopenharmony_ci	  threshold behaviour for simulation purpose.
2158c2ecf20Sopenharmony_ci
2168c2ecf20Sopenharmony_ci	  WARNING: Be careful while enabling this option on production systems,
2178c2ecf20Sopenharmony_ci	  because userland can easily disable the thermal policy by simply
2188c2ecf20Sopenharmony_ci	  flooding this sysfs node with low temperature values.
2198c2ecf20Sopenharmony_ci
2208c2ecf20Sopenharmony_ciconfig THERMAL_MMIO
2218c2ecf20Sopenharmony_ci	tristate "Generic Thermal MMIO driver"
2228c2ecf20Sopenharmony_ci	depends on OF || COMPILE_TEST
2238c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
2248c2ecf20Sopenharmony_ci	help
2258c2ecf20Sopenharmony_ci	  This option enables the generic thermal MMIO driver that will use
2268c2ecf20Sopenharmony_ci	  memory-mapped reads to get the temperature.  Any HW/System that
2278c2ecf20Sopenharmony_ci	  allows temperature reading by a single memory-mapped reading, be it
2288c2ecf20Sopenharmony_ci	  register or shared memory, is a potential candidate to work with this
2298c2ecf20Sopenharmony_ci	  driver.
2308c2ecf20Sopenharmony_ci
2318c2ecf20Sopenharmony_ciconfig HISI_THERMAL
2328c2ecf20Sopenharmony_ci	tristate "Hisilicon thermal driver"
2338c2ecf20Sopenharmony_ci	depends on ARCH_HISI || COMPILE_TEST
2348c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
2358c2ecf20Sopenharmony_ci	depends on OF
2368c2ecf20Sopenharmony_ci	default y
2378c2ecf20Sopenharmony_ci	help
2388c2ecf20Sopenharmony_ci	  Enable this to plug hisilicon's thermal sensor driver into the Linux
2398c2ecf20Sopenharmony_ci	  thermal framework. cpufreq is used as the cooling device to throttle
2408c2ecf20Sopenharmony_ci	  CPUs when the passive trip is crossed.
2418c2ecf20Sopenharmony_ci
2428c2ecf20Sopenharmony_ciconfig IMX_THERMAL
2438c2ecf20Sopenharmony_ci	tristate "Temperature sensor driver for Freescale i.MX SoCs"
2448c2ecf20Sopenharmony_ci	depends on ARCH_MXC || COMPILE_TEST
2458c2ecf20Sopenharmony_ci	depends on NVMEM || !NVMEM
2468c2ecf20Sopenharmony_ci	depends on MFD_SYSCON
2478c2ecf20Sopenharmony_ci	depends on OF
2488c2ecf20Sopenharmony_ci	help
2498c2ecf20Sopenharmony_ci	  Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs.
2508c2ecf20Sopenharmony_ci	  It supports one critical trip point and one passive trip point.  The
2518c2ecf20Sopenharmony_ci	  cpufreq is used as the cooling device to throttle CPUs when the
2528c2ecf20Sopenharmony_ci	  passive trip is crossed.
2538c2ecf20Sopenharmony_ci
2548c2ecf20Sopenharmony_ciconfig IMX_SC_THERMAL
2558c2ecf20Sopenharmony_ci	tristate "Temperature sensor driver for NXP i.MX SoCs with System Controller"
2568c2ecf20Sopenharmony_ci	depends on IMX_SCU
2578c2ecf20Sopenharmony_ci	depends on OF
2588c2ecf20Sopenharmony_ci	help
2598c2ecf20Sopenharmony_ci	  Support for Temperature Monitor (TEMPMON) found on NXP i.MX SoCs with
2608c2ecf20Sopenharmony_ci	  system controller inside, Linux kernel has to communicate with system
2618c2ecf20Sopenharmony_ci	  controller via MU (message unit) IPC to get temperature from thermal
2628c2ecf20Sopenharmony_ci	  sensor. It supports one critical trip point and one
2638c2ecf20Sopenharmony_ci	  passive trip point for each thermal sensor.
2648c2ecf20Sopenharmony_ci
2658c2ecf20Sopenharmony_ciconfig IMX8MM_THERMAL
2668c2ecf20Sopenharmony_ci	tristate "Temperature sensor driver for Freescale i.MX8MM SoC"
2678c2ecf20Sopenharmony_ci	depends on ARCH_MXC || COMPILE_TEST
2688c2ecf20Sopenharmony_ci	depends on OF
2698c2ecf20Sopenharmony_ci	help
2708c2ecf20Sopenharmony_ci	  Support for Thermal Monitoring Unit (TMU) found on Freescale i.MX8MM SoC.
2718c2ecf20Sopenharmony_ci	  It supports one critical trip point and one passive trip point. The
2728c2ecf20Sopenharmony_ci	  cpufreq is used as the cooling device to throttle CPUs when the passive
2738c2ecf20Sopenharmony_ci	  trip is crossed.
2748c2ecf20Sopenharmony_ci
2758c2ecf20Sopenharmony_ciconfig K3_THERMAL
2768c2ecf20Sopenharmony_ci	tristate "Texas Instruments K3 thermal support"
2778c2ecf20Sopenharmony_ci	depends on ARCH_K3 || COMPILE_TEST
2788c2ecf20Sopenharmony_ci	help
2798c2ecf20Sopenharmony_ci	  If you say yes here you get thermal support for the Texas Instruments
2808c2ecf20Sopenharmony_ci	  K3 SoC family. The current chip supported is:
2818c2ecf20Sopenharmony_ci	  - AM654
2828c2ecf20Sopenharmony_ci
2838c2ecf20Sopenharmony_ci	  This includes temperature reading functionality.
2848c2ecf20Sopenharmony_ci
2858c2ecf20Sopenharmony_ciconfig MAX77620_THERMAL
2868c2ecf20Sopenharmony_ci	tristate "Temperature sensor driver for Maxim MAX77620 PMIC"
2878c2ecf20Sopenharmony_ci	depends on MFD_MAX77620
2888c2ecf20Sopenharmony_ci	depends on OF
2898c2ecf20Sopenharmony_ci	help
2908c2ecf20Sopenharmony_ci	  Support for die junction temperature warning alarm for Maxim
2918c2ecf20Sopenharmony_ci	  Semiconductor PMIC MAX77620 device. Device generates two alarm
2928c2ecf20Sopenharmony_ci	  interrupts when PMIC die temperature cross the threshold of
2938c2ecf20Sopenharmony_ci	  120 degC and 140 degC.
2948c2ecf20Sopenharmony_ci
2958c2ecf20Sopenharmony_ciconfig QORIQ_THERMAL
2968c2ecf20Sopenharmony_ci	tristate "QorIQ Thermal Monitoring Unit"
2978c2ecf20Sopenharmony_ci	depends on THERMAL_OF && HAS_IOMEM
2988c2ecf20Sopenharmony_ci	depends on PPC_E500MC || SOC_LS1021A || ARCH_LAYERSCAPE || (ARCH_MXC && ARM64) || COMPILE_TEST
2998c2ecf20Sopenharmony_ci	select REGMAP_MMIO
3008c2ecf20Sopenharmony_ci	help
3018c2ecf20Sopenharmony_ci	  Support for Thermal Monitoring Unit (TMU) found on QorIQ platforms.
3028c2ecf20Sopenharmony_ci	  It supports one critical trip point and one passive trip point. The
3038c2ecf20Sopenharmony_ci	  cpufreq is used as the cooling device to throttle CPUs when the
3048c2ecf20Sopenharmony_ci	  passive trip is crossed.
3058c2ecf20Sopenharmony_ci
3068c2ecf20Sopenharmony_ciconfig SPEAR_THERMAL
3078c2ecf20Sopenharmony_ci	tristate "SPEAr thermal sensor driver"
3088c2ecf20Sopenharmony_ci	depends on PLAT_SPEAR || COMPILE_TEST
3098c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
3108c2ecf20Sopenharmony_ci	depends on OF
3118c2ecf20Sopenharmony_ci	help
3128c2ecf20Sopenharmony_ci	  Enable this to plug the SPEAr thermal sensor driver into the Linux
3138c2ecf20Sopenharmony_ci	  thermal framework.
3148c2ecf20Sopenharmony_ci
3158c2ecf20Sopenharmony_ciconfig SUN8I_THERMAL
3168c2ecf20Sopenharmony_ci	tristate "Allwinner sun8i thermal driver"
3178c2ecf20Sopenharmony_ci	depends on ARCH_SUNXI || COMPILE_TEST
3188c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
3198c2ecf20Sopenharmony_ci	depends on NVMEM
3208c2ecf20Sopenharmony_ci	depends on OF
3218c2ecf20Sopenharmony_ci	depends on RESET_CONTROLLER
3228c2ecf20Sopenharmony_ci	help
3238c2ecf20Sopenharmony_ci	  Support for the sun8i thermal sensor driver into the Linux thermal
3248c2ecf20Sopenharmony_ci	  framework.
3258c2ecf20Sopenharmony_ci
3268c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
3278c2ecf20Sopenharmony_ci	  module will be called sun8i-thermal.
3288c2ecf20Sopenharmony_ci
3298c2ecf20Sopenharmony_ciconfig ROCKCHIP_THERMAL
3308c2ecf20Sopenharmony_ci	tristate "Rockchip thermal driver"
3318c2ecf20Sopenharmony_ci	depends on ARCH_ROCKCHIP || COMPILE_TEST
3328c2ecf20Sopenharmony_ci	depends on RESET_CONTROLLER
3338c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
3348c2ecf20Sopenharmony_ci	help
3358c2ecf20Sopenharmony_ci	  Rockchip thermal driver provides support for Temperature sensor
3368c2ecf20Sopenharmony_ci	  ADC (TS-ADC) found on Rockchip SoCs. It supports one critical
3378c2ecf20Sopenharmony_ci	  trip point. Cpufreq is used as the cooling device and will throttle
3388c2ecf20Sopenharmony_ci	  CPUs when the Temperature crosses the passive trip point.
3398c2ecf20Sopenharmony_ci
3408c2ecf20Sopenharmony_ciconfig RCAR_THERMAL
3418c2ecf20Sopenharmony_ci	tristate "Renesas R-Car thermal driver"
3428c2ecf20Sopenharmony_ci	depends on ARCH_RENESAS || COMPILE_TEST
3438c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
3448c2ecf20Sopenharmony_ci	help
3458c2ecf20Sopenharmony_ci	  Enable this to plug the R-Car thermal sensor driver into the Linux
3468c2ecf20Sopenharmony_ci	  thermal framework.
3478c2ecf20Sopenharmony_ci
3488c2ecf20Sopenharmony_ciconfig RCAR_GEN3_THERMAL
3498c2ecf20Sopenharmony_ci	tristate "Renesas R-Car Gen3 and RZ/G2 thermal driver"
3508c2ecf20Sopenharmony_ci	depends on ARCH_RENESAS || COMPILE_TEST
3518c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
3528c2ecf20Sopenharmony_ci	depends on OF
3538c2ecf20Sopenharmony_ci	help
3548c2ecf20Sopenharmony_ci	  Enable this to plug the R-Car Gen3 or RZ/G2 thermal sensor driver into
3558c2ecf20Sopenharmony_ci	  the Linux thermal framework.
3568c2ecf20Sopenharmony_ci
3578c2ecf20Sopenharmony_ciconfig KIRKWOOD_THERMAL
3588c2ecf20Sopenharmony_ci	tristate "Temperature sensor on Marvell Kirkwood SoCs"
3598c2ecf20Sopenharmony_ci	depends on MACH_KIRKWOOD || COMPILE_TEST
3608c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
3618c2ecf20Sopenharmony_ci	depends on OF
3628c2ecf20Sopenharmony_ci	help
3638c2ecf20Sopenharmony_ci	  Support for the Kirkwood thermal sensor driver into the Linux thermal
3648c2ecf20Sopenharmony_ci	  framework. Only kirkwood 88F6282 and 88F6283 have this sensor.
3658c2ecf20Sopenharmony_ci
3668c2ecf20Sopenharmony_ciconfig DOVE_THERMAL
3678c2ecf20Sopenharmony_ci	tristate "Temperature sensor on Marvell Dove SoCs"
3688c2ecf20Sopenharmony_ci	depends on ARCH_DOVE || MACH_DOVE || COMPILE_TEST
3698c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
3708c2ecf20Sopenharmony_ci	depends on OF
3718c2ecf20Sopenharmony_ci	help
3728c2ecf20Sopenharmony_ci	  Support for the Dove thermal sensor driver in the Linux thermal
3738c2ecf20Sopenharmony_ci	  framework.
3748c2ecf20Sopenharmony_ci
3758c2ecf20Sopenharmony_ciconfig DB8500_THERMAL
3768c2ecf20Sopenharmony_ci	tristate "DB8500 thermal management"
3778c2ecf20Sopenharmony_ci	depends on MFD_DB8500_PRCMU && OF
3788c2ecf20Sopenharmony_ci	default y
3798c2ecf20Sopenharmony_ci	help
3808c2ecf20Sopenharmony_ci	  Adds DB8500 thermal management implementation according to the thermal
3818c2ecf20Sopenharmony_ci	  management framework. A thermal zone with several trip points will be
3828c2ecf20Sopenharmony_ci	  created. Cooling devices can be bound to the trip points to cool this
3838c2ecf20Sopenharmony_ci	  thermal zone if trip points reached.
3848c2ecf20Sopenharmony_ci
3858c2ecf20Sopenharmony_ciconfig ARMADA_THERMAL
3868c2ecf20Sopenharmony_ci	tristate "Marvell EBU Armada SoCs thermal management"
3878c2ecf20Sopenharmony_ci	depends on ARCH_MVEBU || COMPILE_TEST
3888c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
3898c2ecf20Sopenharmony_ci	depends on OF
3908c2ecf20Sopenharmony_ci	help
3918c2ecf20Sopenharmony_ci	  Enable this option if you want to have support for thermal management
3928c2ecf20Sopenharmony_ci	  controller present in Marvell EBU Armada SoCs (370,375,XP,38x,7K,8K).
3938c2ecf20Sopenharmony_ci
3948c2ecf20Sopenharmony_ciconfig DA9062_THERMAL
3958c2ecf20Sopenharmony_ci	tristate "DA9062/DA9061 Dialog Semiconductor thermal driver"
3968c2ecf20Sopenharmony_ci	depends on MFD_DA9062 || COMPILE_TEST
3978c2ecf20Sopenharmony_ci	depends on OF
3988c2ecf20Sopenharmony_ci	help
3998c2ecf20Sopenharmony_ci	  Enable this for the Dialog Semiconductor thermal sensor driver.
4008c2ecf20Sopenharmony_ci	  This will report PMIC junction over-temperature for one thermal trip
4018c2ecf20Sopenharmony_ci	  zone.
4028c2ecf20Sopenharmony_ci	  Compatible with the DA9062 and DA9061 PMICs.
4038c2ecf20Sopenharmony_ci
4048c2ecf20Sopenharmony_ciconfig MTK_THERMAL
4058c2ecf20Sopenharmony_ci	tristate "Temperature sensor driver for mediatek SoCs"
4068c2ecf20Sopenharmony_ci	depends on ARCH_MEDIATEK || COMPILE_TEST
4078c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
4088c2ecf20Sopenharmony_ci	depends on NVMEM || NVMEM=n
4098c2ecf20Sopenharmony_ci	depends on RESET_CONTROLLER
4108c2ecf20Sopenharmony_ci	default y
4118c2ecf20Sopenharmony_ci	help
4128c2ecf20Sopenharmony_ci	  Enable this option if you want to have support for thermal management
4138c2ecf20Sopenharmony_ci	  controller present in Mediatek SoCs
4148c2ecf20Sopenharmony_ci
4158c2ecf20Sopenharmony_ciconfig AMLOGIC_THERMAL
4168c2ecf20Sopenharmony_ci	tristate "Amlogic Thermal Support"
4178c2ecf20Sopenharmony_ci	default ARCH_MESON
4188c2ecf20Sopenharmony_ci	depends on OF && ARCH_MESON
4198c2ecf20Sopenharmony_ci	help
4208c2ecf20Sopenharmony_ci	  If you say yes here you get support for Amlogic Thermal
4218c2ecf20Sopenharmony_ci	  for G12 SoC Family.
4228c2ecf20Sopenharmony_ci
4238c2ecf20Sopenharmony_ci	  This driver can also be built as a module. If so, the module will
4248c2ecf20Sopenharmony_ci	  be called amlogic_thermal.
4258c2ecf20Sopenharmony_ci
4268c2ecf20Sopenharmony_cimenu "Intel thermal drivers"
4278c2ecf20Sopenharmony_cidepends on X86 || X86_INTEL_QUARK || COMPILE_TEST
4288c2ecf20Sopenharmony_cisource "drivers/thermal/intel/Kconfig"
4298c2ecf20Sopenharmony_ciendmenu
4308c2ecf20Sopenharmony_ci
4318c2ecf20Sopenharmony_cimenu "Broadcom thermal drivers"
4328c2ecf20Sopenharmony_cidepends on ARCH_BCM || ARCH_BRCMSTB || ARCH_BCM2835 || ARCH_BCM_IPROC || \
4338c2ecf20Sopenharmony_ci		COMPILE_TEST
4348c2ecf20Sopenharmony_cisource "drivers/thermal/broadcom/Kconfig"
4358c2ecf20Sopenharmony_ciendmenu
4368c2ecf20Sopenharmony_ci
4378c2ecf20Sopenharmony_cimenu "Texas Instruments thermal drivers"
4388c2ecf20Sopenharmony_cidepends on ARCH_HAS_BANDGAP || COMPILE_TEST
4398c2ecf20Sopenharmony_cidepends on HAS_IOMEM
4408c2ecf20Sopenharmony_cisource "drivers/thermal/ti-soc-thermal/Kconfig"
4418c2ecf20Sopenharmony_ciendmenu
4428c2ecf20Sopenharmony_ci
4438c2ecf20Sopenharmony_cimenu "Samsung thermal drivers"
4448c2ecf20Sopenharmony_cidepends on ARCH_EXYNOS || COMPILE_TEST
4458c2ecf20Sopenharmony_cisource "drivers/thermal/samsung/Kconfig"
4468c2ecf20Sopenharmony_ciendmenu
4478c2ecf20Sopenharmony_ci
4488c2ecf20Sopenharmony_cimenu "STMicroelectronics thermal drivers"
4498c2ecf20Sopenharmony_cidepends on (ARCH_STI || ARCH_STM32) && OF
4508c2ecf20Sopenharmony_cisource "drivers/thermal/st/Kconfig"
4518c2ecf20Sopenharmony_ciendmenu
4528c2ecf20Sopenharmony_ci
4538c2ecf20Sopenharmony_ciconfig TANGO_THERMAL
4548c2ecf20Sopenharmony_ci	tristate "Tango thermal management"
4558c2ecf20Sopenharmony_ci	depends on ARCH_TANGO || COMPILE_TEST
4568c2ecf20Sopenharmony_ci	help
4578c2ecf20Sopenharmony_ci	  Enable the Tango thermal driver, which supports the primitive
4588c2ecf20Sopenharmony_ci	  temperature sensor embedded in Tango chips since the SMP8758.
4598c2ecf20Sopenharmony_ci	  This sensor only generates a 1-bit signal to indicate whether
4608c2ecf20Sopenharmony_ci	  the die temperature exceeds a programmable threshold.
4618c2ecf20Sopenharmony_ci
4628c2ecf20Sopenharmony_cisource "drivers/thermal/tegra/Kconfig"
4638c2ecf20Sopenharmony_ci
4648c2ecf20Sopenharmony_ciconfig GENERIC_ADC_THERMAL
4658c2ecf20Sopenharmony_ci	tristate "Generic ADC based thermal sensor"
4668c2ecf20Sopenharmony_ci	depends on IIO
4678c2ecf20Sopenharmony_ci	help
4688c2ecf20Sopenharmony_ci	  This enabled a thermal sysfs driver for the temperature sensor
4698c2ecf20Sopenharmony_ci	  which is connected to the General Purpose ADC. The ADC channel
4708c2ecf20Sopenharmony_ci	  is read via IIO framework and the channel information is provided
4718c2ecf20Sopenharmony_ci	  to this driver. This driver reports the temperature by reading ADC
4728c2ecf20Sopenharmony_ci	  channel and converts it to temperature based on lookup table.
4738c2ecf20Sopenharmony_ci
4748c2ecf20Sopenharmony_cimenu "Qualcomm thermal drivers"
4758c2ecf20Sopenharmony_cidepends on (ARCH_QCOM && OF) || COMPILE_TEST
4768c2ecf20Sopenharmony_cisource "drivers/thermal/qcom/Kconfig"
4778c2ecf20Sopenharmony_ciendmenu
4788c2ecf20Sopenharmony_ci
4798c2ecf20Sopenharmony_ciconfig ZX2967_THERMAL
4808c2ecf20Sopenharmony_ci	tristate "Thermal sensors on zx2967 SoC"
4818c2ecf20Sopenharmony_ci	depends on ARCH_ZX || COMPILE_TEST
4828c2ecf20Sopenharmony_ci	help
4838c2ecf20Sopenharmony_ci	  Enable the zx2967 thermal sensors driver, which supports
4848c2ecf20Sopenharmony_ci	  the primitive temperature sensor embedded in zx2967 SoCs.
4858c2ecf20Sopenharmony_ci	  This sensor generates the real time die temperature.
4868c2ecf20Sopenharmony_ci
4878c2ecf20Sopenharmony_ciconfig UNIPHIER_THERMAL
4888c2ecf20Sopenharmony_ci	tristate "Socionext UniPhier thermal driver"
4898c2ecf20Sopenharmony_ci	depends on ARCH_UNIPHIER || COMPILE_TEST
4908c2ecf20Sopenharmony_ci	depends on THERMAL_OF && MFD_SYSCON
4918c2ecf20Sopenharmony_ci	help
4928c2ecf20Sopenharmony_ci	  Enable this to plug in UniPhier on-chip PVT thermal driver into the
4938c2ecf20Sopenharmony_ci	  thermal framework. The driver supports CPU thermal zone temperature
4948c2ecf20Sopenharmony_ci	  reporting and a couple of trip points.
4958c2ecf20Sopenharmony_ci
4968c2ecf20Sopenharmony_ciconfig SPRD_THERMAL
4978c2ecf20Sopenharmony_ci	tristate "Temperature sensor on Spreadtrum SoCs"
4988c2ecf20Sopenharmony_ci	depends on ARCH_SPRD || COMPILE_TEST
4998c2ecf20Sopenharmony_ci	help
5008c2ecf20Sopenharmony_ci	  Support for the Spreadtrum thermal sensor driver in the Linux thermal
5018c2ecf20Sopenharmony_ci	  framework.
5028c2ecf20Sopenharmony_ci
5038c2ecf20Sopenharmony_ciconfig KHADAS_MCU_FAN_THERMAL
5048c2ecf20Sopenharmony_ci	tristate "Khadas MCU controller FAN cooling support"
5058c2ecf20Sopenharmony_ci	depends on OF || COMPILE_TEST
5068c2ecf20Sopenharmony_ci	depends on MFD_KHADAS_MCU
5078c2ecf20Sopenharmony_ci	select MFD_CORE
5088c2ecf20Sopenharmony_ci	select REGMAP
5098c2ecf20Sopenharmony_ci	help
5108c2ecf20Sopenharmony_ci	  If you say yes here you get support for the FAN controlled
5118c2ecf20Sopenharmony_ci	  by the Microcontroller found on the Khadas VIM boards.
5128c2ecf20Sopenharmony_ci
5138c2ecf20Sopenharmony_ciendif
514