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