mirror of
https://github.com/torvalds/linux.git
synced 2024-12-23 19:31:53 +00:00
3230bbfce8
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 1) INT3400 ACPI device object as the master. 2) INT3401 ~ INT340B ACPI device objects as the slaves. This patch introduces a scan handler to enumerate the INT3400 ACPI device object to platform bus, and prevent its slaves from being enumerated before the controller driver being probed. Signed-off-by: Zhang Rui <rui.zhang@intel.com>
269 lines
8.8 KiB
Plaintext
269 lines
8.8 KiB
Plaintext
#
|
|
# 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.
|
|
|
|
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.
|
|
|
|
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_USER_SPACE
|
|
bool "User_space thermal governor"
|
|
help
|
|
Enable this to let the user space manage the platform thermals.
|
|
|
|
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 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 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
|
|
bool "SPEAr thermal sensor driver"
|
|
depends on PLAT_SPEAR
|
|
depends on OF
|
|
help
|
|
Enable this to plug the SPEAr thermal sensor driver into the Linux
|
|
thermal framework.
|
|
|
|
config RCAR_THERMAL
|
|
tristate "Renesas R-Car thermal driver"
|
|
depends on ARCH_SHMOBILE || 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 ARCH_KIRKWOOD || MACH_KIRKWOOD
|
|
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
|
|
depends on OF
|
|
help
|
|
Support for the Dove thermal sensor driver in the Linux thermal
|
|
framework.
|
|
|
|
config DB8500_THERMAL
|
|
bool "DB8500 thermal management"
|
|
depends on ARCH_U8500
|
|
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
|
|
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 DB8500_CPUFREQ_COOLING
|
|
tristate "DB8500 cpufreq cooling"
|
|
depends on ARCH_U8500
|
|
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
|
|
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 ACPI_INT3403_THERMAL
|
|
tristate "ACPI INT3403 thermal driver"
|
|
depends on X86 && ACPI
|
|
help
|
|
Newer laptops and tablets that use ACPI may have thermal sensors
|
|
outside the core CPU/SOC for thermal safety reasons. These
|
|
temperature sensors are also exposed for the OS to use via the so
|
|
called INT3403 ACPI object. This driver will, on devices that have
|
|
such sensors, expose the temperature information from these sensors
|
|
to userspace via the normal thermal framework. This means that a wide
|
|
range of applications and GUI widgets can show this 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 INTEL_SOC_DTS_THERMAL
|
|
tristate "Intel SoCs DTS thermal driver"
|
|
depends on X86 && IOSF_MBI
|
|
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 INT340X_THERMAL
|
|
bool
|
|
depends on X86 && ACPI
|
|
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.
|
|
|
|
menu "Texas Instruments thermal drivers"
|
|
source "drivers/thermal/ti-soc-thermal/Kconfig"
|
|
endmenu
|
|
|
|
menu "Samsung thermal drivers"
|
|
depends on ARCH_EXYNOS
|
|
source "drivers/thermal/samsung/Kconfig"
|
|
endmenu
|
|
|
|
menu "STMicroelectronics thermal drivers"
|
|
depends on ARCH_STI && OF
|
|
source "drivers/thermal/st/Kconfig"
|
|
endmenu
|
|
|
|
endif
|