Linux 6.9-rc1
[linux-2.6-microblaze.git] / drivers / counter / Kconfig
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 || 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