# SPDX-License-Identifier: GPL-2.0-only
menu "NVIDIA Tegra thermal drivers"
depends on ARCH_TEGRA || COMPILE_TEST

config TEGRA_SOCTHERM
	tristate "Tegra SOCTHERM thermal management"
	help
	  Enable this option for integrated thermal management support on NVIDIA
	  Tegra 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 TEGRA_BPMP_THERMAL
	tristate "Tegra BPMP thermal sensing"
	depends on TEGRA_BPMP || COMPILE_TEST
	help
	  Enable this option for support for sensing system temperature of NVIDIA
	  Tegra systems-on-chip with the BPMP coprocessor (Tegra186).

config TEGRA30_TSENSOR
	tristate "Tegra30 Thermal Sensor"
	depends on ARCH_TEGRA_3x_SOC || COMPILE_TEST
	help
	  Enable this option to support thermal management of NVIDIA Tegra30
	  system-on-chip.

endmenu
