# SPDX-License-Identifier: GPL-2.0-only
#
# Industrial I/O standalone triggers
#
# When adding new entries keep the list in alphabetical order

menu "Triggers - standalone"

config IIO_HRTIMER_TRIGGER
	tristate "High resolution timer trigger"
	depends on IIO_SW_TRIGGER
	help
	  Provides a frequency based IIO trigger using high resolution
	  timers as interrupt source.

	  To compile this driver as a module, choose M here: the
	  module will be called iio-trig-hrtimer.

config IIO_INTERRUPT_TRIGGER
	tristate "Generic interrupt trigger"
	help
	  Provides support for using an interrupt of any type as an IIO
	  trigger.  This may be provided by a gpio driver for example.

	  To compile this driver as a module, choose M here: the
	  module will be called iio-trig-interrupt.

config IIO_STM32_LPTIMER_TRIGGER
	tristate "STM32 Low-Power Timer Trigger"
	depends on MFD_STM32_LPTIMER || COMPILE_TEST
	help
	  Select this option to enable STM32 Low-Power Timer Trigger.
	  This can be used as trigger source for STM32 internal ADC
	  and/or DAC.

	  To compile this driver as a module, choose M here: the
	  module will be called stm32-lptimer-trigger.

config IIO_STM32_TIMER_TRIGGER
	tristate "STM32 Timer Trigger"
	depends on (ARCH_STM32 && OF && MFD_STM32_TIMERS) || COMPILE_TEST
	help
	  Select this option to enable STM32 Timer Trigger

	  To compile this driver as a module, choose M here: the
	  module will be called stm32-timer-trigger.

config IIO_TIGHTLOOP_TRIGGER
	tristate "A kthread based hammering loop trigger"
	depends on IIO_SW_TRIGGER
	help
	  An experimental trigger, used to allow sensors to be sampled as fast
	  as possible under the limitations of whatever else is going on.
	  Uses a tight loop in a kthread.  Will only work with lower half only
	  trigger consumers.

	  To compile this driver as a module, choose M here: the
	  module will be called iio-trig-loop.

config IIO_SYSFS_TRIGGER
	tristate "SYSFS trigger"
	depends on SYSFS
	select IRQ_WORK
	help
	  Provides support for using SYSFS entries as IIO triggers.
	  If unsure, say N (but it's safe to say "Y").

	  To compile this driver as a module, choose M here: the
	  module will be called iio-trig-sysfs.

endmenu
