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

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

config KUNPENG_HCCS
	tristate "HCCS driver on Kunpeng SoC"
	depends on ACPI
	depends on MAILBOX
	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_HBMDEV
	bool "add extra support for hbm memory device"
	depends on ACPI_HOTPLUG_MEMORY
	select ACPI_CONTAINER
	help
	  This driver add extra supports for memory devices. The driver
	  provides methods for userpace to control the power of memory
	  devices in a container.

	  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_L3T
	tristate "Add support for l3t"
	depends on ARM64 && ACPI
	help
	  Last Level Cache driver for platforms such Kunpeng 920. This provides
	  interfaces to enable LLC cache lockdown.

	  If not sure say no.

config HISI_L0
	tristate "Add support L0 cache"
	depends on ARM64 && HISI_L3T
	help
	  L0 driver for platforms such Kunpeng 920. This provides interfaces to
	  for user to alloc and lock memory

	  If not sure say no.

config HISI_MEM_RAS
	tristate "Add RAS support for Hisilicon memory device"
	depends on ACPI
	depends on PCC
	depends on ARM64 || COMPILE_TEST
	help
	  Add RAS driver for Hisilicon memory device to repair hardware error of
	  memory devices in OS side. The driver interacts with firmware through PCC
	  and provides sysfs files as user-mode interfaces.It could support both
	  HBM and DDR memory.

	  If not sure say no.

config HISI_SOC_CACHE
	tristate "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_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
