162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci# 362306a36Sopenharmony_ci# Counter devices 462306a36Sopenharmony_ci# 562306a36Sopenharmony_ci 662306a36Sopenharmony_ciconfig I8254 762306a36Sopenharmony_ci tristate 862306a36Sopenharmony_ci select COUNTER 962306a36Sopenharmony_ci select REGMAP 1062306a36Sopenharmony_ci help 1162306a36Sopenharmony_ci Enables support for the i8254 interface library functions. The i8254 1262306a36Sopenharmony_ci interface library provides functions to facilitate communication with 1362306a36Sopenharmony_ci interfaces compatible with the venerable Intel 8254 Programmable 1462306a36Sopenharmony_ci Interval Timer (PIT). The Intel 825x family of chips was first 1562306a36Sopenharmony_ci released in the early 1980s but compatible interfaces are nowadays 1662306a36Sopenharmony_ci typically found embedded in larger VLSI processing chips and FPGA 1762306a36Sopenharmony_ci components. 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci If built as a module its name will be i8254. 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_cimenuconfig COUNTER 2262306a36Sopenharmony_ci tristate "Counter support" 2362306a36Sopenharmony_ci help 2462306a36Sopenharmony_ci This enables counter device support through the Generic Counter 2562306a36Sopenharmony_ci interface. You only need to enable this, if you also want to enable 2662306a36Sopenharmony_ci one or more of the counter device drivers below. 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ciif COUNTER 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ciconfig 104_QUAD_8 3162306a36Sopenharmony_ci tristate "ACCES 104-QUAD-8 driver" 3262306a36Sopenharmony_ci depends on (PC104 && X86) || COMPILE_TEST 3362306a36Sopenharmony_ci depends on HAS_IOPORT_MAP 3462306a36Sopenharmony_ci select ISA_BUS_API 3562306a36Sopenharmony_ci select REGMAP_MMIO 3662306a36Sopenharmony_ci help 3762306a36Sopenharmony_ci Say yes here to build support for the ACCES 104-QUAD-8 quadrature 3862306a36Sopenharmony_ci encoder counter/interface device family (104-QUAD-8, 104-QUAD-4). 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci A counter's respective error flag may be cleared by performing a write 4162306a36Sopenharmony_ci operation on the respective count value attribute. The 104-QUAD-8 4262306a36Sopenharmony_ci counters may be set either directly or via the counter's preset 4362306a36Sopenharmony_ci attribute. 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci The base port addresses for the devices may be configured via the base 4662306a36Sopenharmony_ci array module parameter. The interrupt line numbers for the devices may 4762306a36Sopenharmony_ci be configured via the irq array module parameter. 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ciconfig FTM_QUADDEC 5062306a36Sopenharmony_ci tristate "Flex Timer Module Quadrature decoder driver" 5162306a36Sopenharmony_ci depends on SOC_LS1021A || COMPILE_TEST 5262306a36Sopenharmony_ci depends on HAS_IOMEM && OF 5362306a36Sopenharmony_ci help 5462306a36Sopenharmony_ci Select this option to enable the Flex Timer Quadrature decoder 5562306a36Sopenharmony_ci driver. 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 5862306a36Sopenharmony_ci module will be called ftm-quaddec. 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ciconfig INTEL_QEP 6162306a36Sopenharmony_ci tristate "Intel Quadrature Encoder Peripheral driver" 6262306a36Sopenharmony_ci depends on X86 6362306a36Sopenharmony_ci depends on PCI 6462306a36Sopenharmony_ci help 6562306a36Sopenharmony_ci Select this option to enable the Intel Quadrature Encoder Peripheral 6662306a36Sopenharmony_ci driver. 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 6962306a36Sopenharmony_ci will be called intel-qep. 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ciconfig INTERRUPT_CNT 7262306a36Sopenharmony_ci tristate "Interrupt counter driver" 7362306a36Sopenharmony_ci depends on GPIOLIB 7462306a36Sopenharmony_ci help 7562306a36Sopenharmony_ci Select this option to enable interrupt counter driver. Any interrupt 7662306a36Sopenharmony_ci source can be used by this driver as the event source. 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 7962306a36Sopenharmony_ci module will be called interrupt-cnt. 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_ciconfig MICROCHIP_TCB_CAPTURE 8262306a36Sopenharmony_ci tristate "Microchip Timer Counter Capture driver" 8362306a36Sopenharmony_ci depends on SOC_AT91SAM9 || SOC_SAM_V7 || COMPILE_TEST 8462306a36Sopenharmony_ci depends on HAS_IOMEM && OF 8562306a36Sopenharmony_ci select REGMAP_MMIO 8662306a36Sopenharmony_ci help 8762306a36Sopenharmony_ci Select this option to enable the Microchip Timer Counter Block 8862306a36Sopenharmony_ci capture driver. 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 9162306a36Sopenharmony_ci module will be called microchip-tcb-capture. 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_ciconfig RZ_MTU3_CNT 9462306a36Sopenharmony_ci tristate "Renesas RZ/G2L MTU3a counter driver" 9562306a36Sopenharmony_ci depends on RZ_MTU3 9662306a36Sopenharmony_ci help 9762306a36Sopenharmony_ci Enable support for MTU3a counter driver found on Renesas RZ/G2L alike 9862306a36Sopenharmony_ci SoCs. This IP supports both 16-bit and 32-bit phase counting mode 9962306a36Sopenharmony_ci support. 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 10262306a36Sopenharmony_ci module will be called rz-mtu3-cnt. 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_ciconfig STM32_LPTIMER_CNT 10562306a36Sopenharmony_ci tristate "STM32 LP Timer encoder counter driver" 10662306a36Sopenharmony_ci depends on MFD_STM32_LPTIMER || COMPILE_TEST 10762306a36Sopenharmony_ci help 10862306a36Sopenharmony_ci Select this option to enable STM32 Low-Power Timer quadrature encoder 10962306a36Sopenharmony_ci and counter driver. 11062306a36Sopenharmony_ci 11162306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 11262306a36Sopenharmony_ci module will be called stm32-lptimer-cnt. 11362306a36Sopenharmony_ci 11462306a36Sopenharmony_ciconfig STM32_TIMER_CNT 11562306a36Sopenharmony_ci tristate "STM32 Timer encoder counter driver" 11662306a36Sopenharmony_ci depends on MFD_STM32_TIMERS || COMPILE_TEST 11762306a36Sopenharmony_ci help 11862306a36Sopenharmony_ci Select this option to enable STM32 Timer quadrature encoder 11962306a36Sopenharmony_ci and counter driver. 12062306a36Sopenharmony_ci 12162306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 12262306a36Sopenharmony_ci module will be called stm32-timer-cnt. 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ciconfig TI_ECAP_CAPTURE 12562306a36Sopenharmony_ci tristate "TI eCAP capture driver" 12662306a36Sopenharmony_ci depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST 12762306a36Sopenharmony_ci depends on HAS_IOMEM 12862306a36Sopenharmony_ci select REGMAP_MMIO 12962306a36Sopenharmony_ci help 13062306a36Sopenharmony_ci Select this option to enable the Texas Instruments Enhanced Capture 13162306a36Sopenharmony_ci (eCAP) driver in input mode. 13262306a36Sopenharmony_ci 13362306a36Sopenharmony_ci It can be used to timestamp events (falling/rising edges) detected 13462306a36Sopenharmony_ci on ECAP input signal. 13562306a36Sopenharmony_ci 13662306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 13762306a36Sopenharmony_ci will be called ti-ecap-capture. 13862306a36Sopenharmony_ci 13962306a36Sopenharmony_ciconfig TI_EQEP 14062306a36Sopenharmony_ci tristate "TI eQEP counter driver" 14162306a36Sopenharmony_ci depends on (SOC_AM33XX || COMPILE_TEST) 14262306a36Sopenharmony_ci select REGMAP_MMIO 14362306a36Sopenharmony_ci help 14462306a36Sopenharmony_ci Select this option to enable the Texas Instruments Enhanced Quadrature 14562306a36Sopenharmony_ci Encoder Pulse (eQEP) counter driver. 14662306a36Sopenharmony_ci 14762306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module will be 14862306a36Sopenharmony_ci called ti-eqep. 14962306a36Sopenharmony_ci 15062306a36Sopenharmony_ciendif # COUNTER 151