#
# On-Chip Controller configuration
#

config SENSORS_OCC_P8_I2C
	tristate "POWER8 OCC through I2C"
	depends on I2C
	depends on ARM || ARM64 || COMPILE_TEST
	select SENSORS_OCC
	help
	 This option enables support for monitoring sensors provided by the
	 On-Chip Controller (OCC) on a POWER8 processor. However, this driver
	 can only run on a baseboard management controller (BMC) connected to
	 the P8, not the POWER processor itself. Communications with the OCC are
	 established through I2C bus.

	 This driver can also be built as a module. If so, the module will be
	 called occ-p8-hwmon.

config SENSORS_OCC_P9_SBE
	tristate "POWER9 OCC through SBE"
	depends on FSI_OCC
	depends on ARM || ARM64 || COMPILE_TEST
	select SENSORS_OCC
	help
	 This option enables support for monitoring sensors provided by the
	 On-Chip Controller (OCC) on a POWER9 processor. However, this driver
	 can only run on a baseboard management controller (BMC) connected to
	 the P9, not the POWER processor itself. Communications with the OCC are
	 established through SBE fifo on an FSI bus.

	 This driver can also be built as a module. If so, the module will be
	 called occ-p9-hwmon.

config SENSORS_OCC
	tristate
