# SPDX-License-Identifier: GPL-2.0-only

menu "Hisilicon SoC drivers"
	depends on ARCH_HISI || COMPILE_TEST

config HISI_HBMDEV
	tristate "add extra support for hbm memory device"
	depends on ACPI_HOTPLUG_MEMORY && ARCH_HISI
	select ACPI_CONTAINER
	help
	  This driver add two extra supports for memory devices. The driver
	  provides methods for userpace to control the power of memory devices
	  in a container. Besides, it provides extra locality information
	  between cpus and memory devices for userspace, which can take
	  advantage of this functionality to select the closet memory device
	  to a certain cpu.

	  To compile this driver as a module, choose M here:
	  the module will be called hisi_hbmdev.

config HISI_HBMCACHE
	tristate "HBM cache memory device"
	depends on ACPI
	help
	  This driver provids methods to control the power of hbm cache device
	  in hisi soc. Use hbm as a cache can take advantage of hbm's high
	  bandwidth in normal memory access.

	  To compile the driver as a module, choose M here:
	  the module will be called hisi_hbmcache.

config HISI_HBMDEV_ACLS
	bool "Add support for HISI ACLS repair"
	depends on HISI_HBMDEV
	help
	  Add ACLS support for hbm device, which can be used to query and
	  repair hardware error in HBM devices. This feature need to work with
	  hardware firmwares.

	  If not sure say no.

config KUNPENG_HCCS
	tristate "HCCS driver on Kunpeng SoC"
	depends on ACPI
	depends on PCC
	depends on ARM64 || COMPILE_TEST
	help
	  The Huawei Cache Coherence System (HCCS) is a multi-chip
	  interconnection bus protocol.
	  The performance of application may be affected if some HCCS
	  ports are not in full lane status, have a large number of CRC
	  errors and so on. This may support for reducing system power
	  consumption if there are HCCS ports supported low power feature
	  on platform.

	  Say M here if you want to include support for querying the
	  health status and port information of HCCS, or reducing system
	  power consumption on Kunpeng SoC.

config HISI_SOC_CACHE
	bool "HiSilicon Cache driver for Kunpeng SoC"
	depends on ARCH_HISI
	help
	  This driver provides the basic utilities for drivers of
	  different part of Kunpeng SoC cache, including L3 cache and
	  Hydra Home Agent etc.

	  If either HiSilicon L3 cache driver or HiSilicon Hydra Home
	  Agent driver is needed, say yes.

config HISI_SOC_L3C
	tristate "HiSilicon L3 Cache device driver"
	depends on ARM64 && ACPI || COMPILE_TEST
	depends on HISI_SOC_CACHE
	help
	  This driver provides the functions to lock L3 cache entries from
	  being evicted for better performance.

	  This driver can be built as a module. If so, the module will be
	  called hisi_soc_l3c.

config HISI_SOC_HHA
	tristate "HiSilicon Hydra Home Agent (HHA) device driver"
	depends on ARM64 && ACPI || COMPILE_TEST
	depends on HISI_SOC_CACHE
	help
	  The Hydra Home Agent (HHA) is responsible of cache coherency
	  on SoC. This drivers provides cache maintenance functions of HHA.

	  This driver can be built as a module. If so, the module will be
	  called hisi_soc_hha.

endmenu
