# SPDX-License-Identifier: GPL-2.0-only
menu "Intel ISH HID support"
	depends on (X86_64 || COMPILE_TEST) && PCI

config INTEL_ISH_HID
	tristate "Intel Integrated Sensor Hub"
	default n
	depends on X86
	select HID
	help
	  The Integrated Sensor Hub (ISH) enables the ability to offload
	  sensor polling and algorithm processing to a dedicated low power
	  processor in the chipset. This allows the core processor to go into
	  low power modes more often, resulting in the increased battery life.
	  The current processors that support ISH are: Cherrytrail, Skylake,
	  Broxton and Kaby Lake.

	  Say Y here if you want to support Intel ISH. If unsure, say N.

config INTEL_ISH_FIRMWARE_DOWNLOADER
	tristate "Host Firmware Load feature for Intel ISH"
	depends on INTEL_ISH_HID
	depends on X86
	help
	  The Integrated Sensor Hub (ISH) enables the kernel to offload
	  sensor polling and algorithm processing to a dedicated low power
	  processor in the chipset.

	  The Host Firmware Load feature adds support to load the ISH
	  firmware from host file system at boot.

	  Say M here if you want to support Host Firmware Loading feature
	  for Intel ISH. If unsure, say N.
endmenu
