# SPDX-License-Identifier: GPL-2.0
#
# Generic HWSPINLOCK framework
#

menuconfig HWSPINLOCK
	bool "Hardware Spinlock drivers"

if HWSPINLOCK

config HWSPINLOCK_OMAP
	tristate "OMAP Hardware Spinlock device"
	depends on ARCH_OMAP4 || SOC_OMAP5 || SOC_DRA7XX || SOC_AM33XX || SOC_AM43XX || ARCH_K3 || COMPILE_TEST
	help
	  Say y here to support the OMAP Hardware Spinlock device (firstly
	  introduced in OMAP4).

	  If unsure, say N.

config HWSPINLOCK_QCOM
	tristate "Qualcomm Hardware Spinlock device"
	depends on ARCH_QCOM || COMPILE_TEST
	select MFD_SYSCON
	help
	  Say y here to support the Qualcomm Hardware Mutex functionality, which
	  provides a synchronisation mechanism for the various processors on
	  the SoC.

	  If unsure, say N.

config HWSPINLOCK_SPRD
	tristate "SPRD Hardware Spinlock device"
	depends on ARCH_SPRD || COMPILE_TEST
	help
	  Say y here to support the SPRD Hardware Spinlock device.

	  If unsure, say N.

config HWSPINLOCK_STM32
	tristate "STM32 Hardware Spinlock device"
	depends on MACH_STM32MP157 || COMPILE_TEST
	help
	  Say y here to support the STM32 Hardware Spinlock device.

	  If unsure, say N.

config HWSPINLOCK_SUN6I
	tristate "SUN6I Hardware Spinlock device"
	depends on ARCH_SUNXI || COMPILE_TEST
	help
	  Say y here to support the SUN6I Hardware Spinlock device which can be
	  found in most of the sun6i compatible Allwinner SoCs.

	  If unsure, say N.

config HSEM_U8500
	tristate "STE Hardware Semaphore functionality"
	depends on ARCH_U8500 || COMPILE_TEST
	help
	  Say y here to support the STE Hardware Semaphore functionality, which
	  provides a synchronisation mechanism for the various processor on the
	  SoC.

	  If unsure, say N.

endif # HWSPINLOCK