linux/drivers/counter/Kconfig

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

config I8254
	tristate
	select COUNTER
	select REGMAP
	help
	  Enables support for the i8254 interface library functions. The i8254
	  interface library provides functions to facilitate communication with
	  interfaces compatible with the venerable Intel 8254 Programmable
	  Interval Timer (PIT). The Intel 825x family of chips was first
	  released in the early 1980s but compatible interfaces are nowadays
	  typically found embedded in larger VLSI processing chips and FPGA
	  components.

	  If built as a module its name will be i8254.

menuconfig COUNTER
	tristate "Counter support"
	help
	  This enables counter device support through the Generic Counter
	  interface. You only need to enable this, if you also want to enable
	  one or more of the counter device drivers below.

if COUNTER

config 104_QUAD_8
	tristate "ACCES 104-QUAD-8 driver"
	depends on (PC104 && X86) || COMPILE_TEST
	depends on HAS_IOPORT_MAP
	select ISA_BUS_API
	select REGMAP_MMIO
	help
	  Say yes here to build support for the ACCES 104-QUAD-8 quadrature
	  encoder counter/interface device family (104-QUAD-8, 104-QUAD-4).

	  A counter's respective error flag may be cleared by performing a write
	  operation on the respective count value attribute. The 104-QUAD-8
	  counters may be set either directly or via the counter's preset
	  attribute.

	  The base port addresses for the devices may be configured via the base
	  array module parameter. The interrupt line numbers for the devices may
	  be configured via the irq array module parameter.

config FTM_QUADDEC
	tristate "Flex Timer Module Quadrature decoder driver"
	depends on SOC_LS1021A || COMPILE_TEST
	depends on HAS_IOMEM && OF
	help
	  Select this option to enable the Flex Timer Quadrature decoder
	  driver.

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

config INTEL_QEP
	tristate "Intel Quadrature Encoder Peripheral driver"
	depends on X86
	depends on PCI
	help
	  Select this option to enable the Intel Quadrature Encoder Peripheral
	  driver.

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

config INTERRUPT_CNT
	tristate "Interrupt counter driver"
	depends on GPIOLIB
	help
	  Select this option to enable interrupt counter driver. Any interrupt
	  source can be used by this driver as the event source.

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

config MICROCHIP_TCB_CAPTURE
	tristate "Microchip Timer Counter Capture driver"
	depends on SOC_AT91SAM9 || SOC_SAM_V7 || COMPILE_TEST
	depends on HAS_IOMEM && OF
	select REGMAP_MMIO
	help
	  Select this option to enable the Microchip Timer Counter Block
	  capture driver.

	  To compile this driver as a module, choose M here: the
	  module will be called microchip-tcb-capture.

config RZ_MTU3_CNT
	tristate "Renesas RZ/G2L MTU3a counter driver"
	depends on RZ_MTU3
	help
	  Enable support for MTU3a counter driver found on Renesas RZ/G2L alike
	  SoCs. This IP supports both 16-bit and 32-bit phase counting mode
	  support.

	  To compile this driver as a module, choose M here: the
	  module will be called rz-mtu3-cnt.

config STM32_LPTIMER_CNT
	tristate "STM32 LP Timer encoder counter driver"
	depends on MFD_STM32_LPTIMER || COMPILE_TEST
	help
	  Select this option to enable STM32 Low-Power Timer quadrature encoder
	  and counter driver.

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

config STM32_TIMER_CNT
	tristate "STM32 Timer encoder counter driver"
	depends on MFD_STM32_TIMERS || COMPILE_TEST
	help
	  Select this option to enable STM32 Timer quadrature encoder
	  and counter driver.

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

config TI_ECAP_CAPTURE
	tristate "TI eCAP capture driver"
	depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST
	depends on HAS_IOMEM
	select REGMAP_MMIO
	help
	  Select this option to enable the Texas Instruments Enhanced Capture
	  (eCAP) driver in input mode.

	  It can be used to timestamp events (falling/rising edges) detected
	  on ECAP input signal.

	  To compile this driver as a module, choose M here: the module
	  will be called ti-ecap-capture.

config TI_EQEP
	tristate "TI eQEP counter driver"
	depends on SOC_AM33XX || ARCH_K3 || COMPILE_TEST
	select REGMAP_MMIO
	help
	  Select this option to enable the Texas Instruments Enhanced Quadrature
	  Encoder Pulse (eQEP) counter driver.

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

endif # COUNTER