# SPDX-License-Identifier: GPL-2.0-only
config BCM2711_THERMAL
	tristate "Broadcom AVS RO thermal sensor driver"
	depends on ARCH_BCM2835 || COMPILE_TEST
	depends on THERMAL_OF && MFD_SYSCON
	help
	  Support for thermal sensors on Broadcom BCM2711 SoCs.

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.
