| 1 | # SPDX-License-Identifier: GPL-2.0-only |
| 2 | # |
| 3 | # Counter devices |
| 4 | # |
| 5 | |
| 6 | config I8254 |
| 7 | tristate |
| 8 | select COUNTER |
| 9 | select REGMAP |
| 10 | help |
| 11 | Enables support for the i8254 interface library functions. The i8254 |
| 12 | interface library provides functions to facilitate communication with |
| 13 | interfaces compatible with the venerable Intel 8254 Programmable |
| 14 | Interval Timer (PIT). The Intel 825x family of chips was first |
| 15 | released in the early 1980s but compatible interfaces are nowadays |
| 16 | typically found embedded in larger VLSI processing chips and FPGA |
| 17 | components. |
| 18 | |
| 19 | If built as a module its name will be i8254. |
| 20 | |
| 21 | menuconfig COUNTER |
| 22 | tristate "Counter support" |
| 23 | help |
| 24 | This enables counter device support through the Generic Counter |
| 25 | interface. You only need to enable this, if you also want to enable |
| 26 | one or more of the counter device drivers below. |
| 27 | |
| 28 | if COUNTER |
| 29 | |
| 30 | config 104_QUAD_8 |
| 31 | tristate "ACCES 104-QUAD-8 driver" |
| 32 | depends on (PC104 && X86) || COMPILE_TEST |
| 33 | depends on HAS_IOPORT_MAP |
| 34 | select ISA_BUS_API |
| 35 | select REGMAP_MMIO |
| 36 | help |
| 37 | Say yes here to build support for the ACCES 104-QUAD-8 quadrature |
| 38 | encoder counter/interface device family (104-QUAD-8, 104-QUAD-4). |
| 39 | |
| 40 | A counter's respective error flag may be cleared by performing a write |
| 41 | operation on the respective count value attribute. The 104-QUAD-8 |
| 42 | counters may be set either directly or via the counter's preset |
| 43 | attribute. |
| 44 | |
| 45 | The base port addresses for the devices may be configured via the base |
| 46 | array module parameter. The interrupt line numbers for the devices may |
| 47 | be configured via the irq array module parameter. |
| 48 | |
| 49 | config FTM_QUADDEC |
| 50 | tristate "Flex Timer Module Quadrature decoder driver" |
| 51 | depends on SOC_LS1021A || COMPILE_TEST |
| 52 | depends on HAS_IOMEM && OF |
| 53 | help |
| 54 | Select this option to enable the Flex Timer Quadrature decoder |
| 55 | driver. |
| 56 | |
| 57 | To compile this driver as a module, choose M here: the |
| 58 | module will be called ftm-quaddec. |
| 59 | |
| 60 | config INTEL_QEP |
| 61 | tristate "Intel Quadrature Encoder Peripheral driver" |
| 62 | depends on X86 |
| 63 | depends on PCI |
| 64 | help |
| 65 | Select this option to enable the Intel Quadrature Encoder Peripheral |
| 66 | driver. |
| 67 | |
| 68 | To compile this driver as a module, choose M here: the module |
| 69 | will be called intel-qep. |
| 70 | |
| 71 | config INTERRUPT_CNT |
| 72 | tristate "Interrupt counter driver" |
| 73 | depends on GPIOLIB |
| 74 | help |
| 75 | Select this option to enable interrupt counter driver. Any interrupt |
| 76 | source can be used by this driver as the event source. |
| 77 | |
| 78 | To compile this driver as a module, choose M here: the |
| 79 | module will be called interrupt-cnt. |
| 80 | |
| 81 | config MICROCHIP_TCB_CAPTURE |
| 82 | tristate "Microchip Timer Counter Capture driver" |
| 83 | depends on SOC_AT91SAM9 || SOC_SAM_V7 || COMPILE_TEST |
| 84 | depends on HAS_IOMEM && OF |
| 85 | select REGMAP_MMIO |
| 86 | help |
| 87 | Select this option to enable the Microchip Timer Counter Block |
| 88 | capture driver. |
| 89 | |
| 90 | To compile this driver as a module, choose M here: the |
| 91 | module will be called microchip-tcb-capture. |
| 92 | |
| 93 | config RZ_MTU3_CNT |
| 94 | tristate "Renesas RZ/G2L MTU3a counter driver" |
| 95 | depends on RZ_MTU3 |
| 96 | help |
| 97 | Enable support for MTU3a counter driver found on Renesas RZ/G2L alike |
| 98 | SoCs. This IP supports both 16-bit and 32-bit phase counting mode |
| 99 | support. |
| 100 | |
| 101 | To compile this driver as a module, choose M here: the |
| 102 | module will be called rz-mtu3-cnt. |
| 103 | |
| 104 | config STM32_LPTIMER_CNT |
| 105 | tristate "STM32 LP Timer encoder counter driver" |
| 106 | depends on MFD_STM32_LPTIMER || COMPILE_TEST |
| 107 | help |
| 108 | Select this option to enable STM32 Low-Power Timer quadrature encoder |
| 109 | and counter driver. |
| 110 | |
| 111 | To compile this driver as a module, choose M here: the |
| 112 | module will be called stm32-lptimer-cnt. |
| 113 | |
| 114 | config STM32_TIMER_CNT |
| 115 | tristate "STM32 Timer encoder counter driver" |
| 116 | depends on MFD_STM32_TIMERS || COMPILE_TEST |
| 117 | help |
| 118 | Select this option to enable STM32 Timer quadrature encoder |
| 119 | and counter driver. |
| 120 | |
| 121 | To compile this driver as a module, choose M here: the |
| 122 | module will be called stm32-timer-cnt. |
| 123 | |
| 124 | config TI_ECAP_CAPTURE |
| 125 | tristate "TI eCAP capture driver" |
| 126 | depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST |
| 127 | depends on HAS_IOMEM |
| 128 | select REGMAP_MMIO |
| 129 | help |
| 130 | Select this option to enable the Texas Instruments Enhanced Capture |
| 131 | (eCAP) driver in input mode. |
| 132 | |
| 133 | It can be used to timestamp events (falling/rising edges) detected |
| 134 | on ECAP input signal. |
| 135 | |
| 136 | To compile this driver as a module, choose M here: the module |
| 137 | will be called ti-ecap-capture. |
| 138 | |
| 139 | config TI_EQEP |
| 140 | tristate "TI eQEP counter driver" |
| 141 | depends on SOC_AM33XX || ARCH_K3 || COMPILE_TEST |
| 142 | select REGMAP_MMIO |
| 143 | help |
| 144 | Select this option to enable the Texas Instruments Enhanced Quadrature |
| 145 | Encoder Pulse (eQEP) counter driver. |
| 146 | |
| 147 | To compile this driver as a module, choose M here: the module will be |
| 148 | called ti-eqep. |
| 149 | |
| 150 | endif # COUNTER |