# SPDX-License-Identifier: GPL-2.0-only
config BCM2835_THERMAL
	tristate "Thermal sensors on bcm2835 SoC"
	depends on ARCH_BCM2835 || COMPILE_TEST
	depends on HAS_IOMEM
	depends on THERMAL_OF
	help
	  Support for thermal sensors on Broadcom bcm2835 SoCs.

config BRCMSTB_THERMAL
	tristate "Broadcom STB AVS TMON thermal driver"
	depends on ARCH_BRCMSTB || COMPILE_TEST
	help
	  Enable this driver if you have a Broadcom STB SoC and would like
	  thermal framework support.

config BCM_NS_THERMAL
	tristate "Northstar thermal driver"
	depends on ARCH_BCM_IPROC || COMPILE_TEST
	default y if ARCH_BCM_IPROC
	help
	  Support for the Northstar and Northstar Plus family of SoCs (e.g.
	  BCM4708, BCM4709, BCM5301x, BCM95852X, etc). It contains DMU (Device
	  Management Unit) block with a thermal sensor that allows checking CPU
	  temperature.

config BCM_SR_THERMAL
	tristate "Stingray thermal driver"
	depends on ARCH_BCM_IPROC || COMPILE_TEST
	default ARCH_BCM_IPROC
	help
	  Support for the Stingray family of SoCs. Its different blocks like
	  iHost, CRMU and NITRO has thermal sensor that allows checking its
	  temperature.
