Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[linux-2.6-microblaze.git] / Documentation / ABI / testing / sysfs-bus-counter
1 What:           /sys/bus/counter/devices/counterX/countY/count
2 KernelVersion:  5.2
3 Contact:        linux-iio@vger.kernel.org
4 Description:
5                 Count data of Count Y represented as a string.
6
7 What:           /sys/bus/counter/devices/counterX/countY/ceiling
8 KernelVersion:  5.2
9 Contact:        linux-iio@vger.kernel.org
10 Description:
11                 Count value ceiling for Count Y. This is the upper limit for the
12                 respective counter.
13
14 What:           /sys/bus/counter/devices/counterX/countY/floor
15 KernelVersion:  5.2
16 Contact:        linux-iio@vger.kernel.org
17 Description:
18                 Count value floor for Count Y. This is the lower limit for the
19                 respective counter.
20
21 What:           /sys/bus/counter/devices/counterX/countY/count_mode
22 KernelVersion:  5.2
23 Contact:        linux-iio@vger.kernel.org
24 Description:
25                 Count mode for channel Y. The ceiling and floor values for
26                 Count Y are used by the count mode where required. The following
27                 count modes are available:
28
29                 normal:
30                         Counting is continuous in either direction.
31
32                 range limit:
33                         An upper or lower limit is set, mimicking limit switches
34                         in the mechanical counterpart. The upper limit is set to
35                         the Count Y ceiling value, while the lower limit is set
36                         to the Count Y floor value. The counter freezes at
37                         count = ceiling when counting up, and at count = floor
38                         when counting down. At either of these limits, the
39                         counting is resumed only when the count direction is
40                         reversed.
41
42                 non-recycle:
43                         The counter is disabled whenever a counter overflow or
44                         underflow takes place. The counter is re-enabled when a
45                         new count value is loaded to the counter via a preset
46                         operation or direct write.
47
48                 modulo-n:
49                         A count value boundary is set between the Count Y floor
50                         value and the Count Y ceiling value. The counter is
51                         reset to the Count Y floor value at count = ceiling when
52                         counting up, while the counter is set to the Count Y
53                         ceiling value at count = floor when counting down; the
54                         counter does not freeze at the boundary points, but
55                         counts continuously throughout.
56
57 What:           /sys/bus/counter/devices/counterX/countY/count_mode_available
58 What:           /sys/bus/counter/devices/counterX/countY/error_noise_available
59 What:           /sys/bus/counter/devices/counterX/countY/function_available
60 What:           /sys/bus/counter/devices/counterX/countY/prescaler_available
61 What:           /sys/bus/counter/devices/counterX/countY/signalZ_action_available
62 KernelVersion:  5.2
63 Contact:        linux-iio@vger.kernel.org
64 Description:
65                 Discrete set of available values for the respective Count Y
66                 configuration are listed in this file. Values are delimited by
67                 newline characters.
68
69 What:           /sys/bus/counter/devices/counterX/countY/direction
70 KernelVersion:  5.2
71 Contact:        linux-iio@vger.kernel.org
72 Description:
73                 Read-only attribute that indicates the count direction of Count
74                 Y. Two count directions are available: forward and backward.
75
76                 Some counter devices are able to determine the direction of
77                 their counting. For example, quadrature encoding counters can
78                 determine the direction of movement by evaluating the leading
79                 phase of the respective A and B quadrature encoding signals.
80                 This attribute exposes such count directions.
81
82 What:           /sys/bus/counter/devices/counterX/countY/enable
83 KernelVersion:  5.2
84 Contact:        linux-iio@vger.kernel.org
85 Description:
86                 Whether channel Y counter is enabled. Valid attribute values are
87                 boolean.
88
89                 This attribute is intended to serve as a pause/unpause mechanism
90                 for Count Y. Suppose a counter device is used to count the total
91                 movement of a conveyor belt: this attribute allows an operator
92                 to temporarily pause the counter, service the conveyor belt,
93                 and then finally unpause the counter to continue where it had
94                 left off.
95
96 What:           /sys/bus/counter/devices/counterX/countY/error_noise
97 KernelVersion:  5.2
98 Contact:        linux-iio@vger.kernel.org
99 Description:
100                 Read-only attribute that indicates whether excessive noise is
101                 present at the channel Y counter inputs.
102
103 What:           /sys/bus/counter/devices/counterX/countY/function
104 KernelVersion:  5.2
105 Contact:        linux-iio@vger.kernel.org
106 Description:
107                 Count function mode of Count Y; count function evaluation is
108                 triggered by conditions specified by the Count Y signalZ_action
109                 attributes. The following count functions are available:
110
111                 increase:
112                         Accumulated count is incremented.
113
114                 decrease:
115                         Accumulated count is decremented.
116
117                 pulse-direction:
118                         Rising edges on signal A updates the respective count.
119                         The input level of signal B determines direction.
120
121                 quadrature x1 a:
122                         If direction is forward, rising edges on quadrature pair
123                         signal A updates the respective count; if the direction
124                         is backward, falling edges on quadrature pair signal A
125                         updates the respective count. Quadrature encoding
126                         determines the direction.
127
128                 quadrature x1 b:
129                         If direction is forward, rising edges on quadrature pair
130                         signal B updates the respective count; if the direction
131                         is backward, falling edges on quadrature pair signal B
132                         updates the respective count. Quadrature encoding
133                         determines the direction.
134
135                 quadrature x2 a:
136                         Any state transition on quadrature pair signal A updates
137                         the respective count. Quadrature encoding determines the
138                         direction.
139
140                 quadrature x2 b:
141                         Any state transition on quadrature pair signal B updates
142                         the respective count. Quadrature encoding determines the
143                         direction.
144
145                 quadrature x4:
146                         Any state transition on either quadrature pair signals
147                         updates the respective count. Quadrature encoding
148                         determines the direction.
149
150 What:           /sys/bus/counter/devices/counterX/countY/name
151 KernelVersion:  5.2
152 Contact:        linux-iio@vger.kernel.org
153 Description:
154                 Read-only attribute that indicates the device-specific name of
155                 Count Y. If possible, this should match the name of the
156                 respective channel as it appears in the device datasheet.
157
158 What:           /sys/bus/counter/devices/counterX/countY/prescaler
159 KernelVersion:  5.2
160 Contact:        linux-iio@vger.kernel.org
161 Description:
162                 Configure the prescaler value associated with Count Y.
163                 On the FlexTimer, the counter clock source passes through a
164                 prescaler (i.e. a counter). This acts like a clock
165                 divider.
166
167 What:           /sys/bus/counter/devices/counterX/countY/preset
168 KernelVersion:  5.2
169 Contact:        linux-iio@vger.kernel.org
170 Description:
171                 If the counter device supports preset registers -- registers
172                 used to load counter channels to a set count upon device-defined
173                 preset operation trigger events -- the preset count for channel
174                 Y is provided by this attribute.
175
176 What:           /sys/bus/counter/devices/counterX/countY/preset_enable
177 KernelVersion:  5.2
178 Contact:        linux-iio@vger.kernel.org
179 Description:
180                 Whether channel Y counter preset operation is enabled. Valid
181                 attribute values are boolean.
182
183 What:           /sys/bus/counter/devices/counterX/countY/signalZ_action
184 KernelVersion:  5.2
185 Contact:        linux-iio@vger.kernel.org
186 Description:
187                 Action mode of Count Y for Signal Z. This attribute indicates
188                 the condition of Signal Z that triggers the count function
189                 evaluation for Count Y. The following action modes are
190                 available:
191
192                 none:
193                         Signal does not trigger the count function. In
194                         Pulse-Direction count function mode, this Signal is
195                         evaluated as Direction.
196
197                 rising edge:
198                         Low state transitions to high state.
199
200                 falling edge:
201                         High state transitions to low state.
202
203                 both edges:
204                         Any state transition.
205
206 What:           /sys/bus/counter/devices/counterX/countY/spike_filter_ns
207 KernelVersion:  5.14
208 Contact:        linux-iio@vger.kernel.org
209 Description:
210                 If the counter device supports programmable spike filter this
211                 attribute indicates the value in nanoseconds where noise pulses
212                 shorter or equal to configured value are ignored. Value 0 means
213                 filter is disabled.
214
215 What:           /sys/bus/counter/devices/counterX/name
216 KernelVersion:  5.2
217 Contact:        linux-iio@vger.kernel.org
218 Description:
219                 Read-only attribute that indicates the device-specific name of
220                 the Counter. This should match the name of the device as it
221                 appears in its respective datasheet.
222
223 What:           /sys/bus/counter/devices/counterX/num_counts
224 KernelVersion:  5.2
225 Contact:        linux-iio@vger.kernel.org
226 Description:
227                 Read-only attribute that indicates the total number of Counts
228                 belonging to the Counter.
229
230 What:           /sys/bus/counter/devices/counterX/num_signals
231 KernelVersion:  5.2
232 Contact:        linux-iio@vger.kernel.org
233 Description:
234                 Read-only attribute that indicates the total number of Signals
235                 belonging to the Counter.
236
237 What:           /sys/bus/counter/devices/counterX/signalY/cable_fault
238 KernelVersion:  5.7
239 Contact:        linux-iio@vger.kernel.org
240 Description:
241                 Read-only attribute that indicates whether a differential
242                 encoder cable fault (not connected or loose wires) is detected
243                 for the respective channel of Signal Y. Valid attribute values
244                 are boolean. Detection must first be enabled via the
245                 corresponding cable_fault_enable attribute.
246
247 What:           /sys/bus/counter/devices/counterX/signalY/cable_fault_enable
248 KernelVersion:  5.7
249 Contact:        linux-iio@vger.kernel.org
250 Description:
251                 Whether detection of differential encoder cable faults for the
252                 respective channel of Signal Y is enabled. Valid attribute
253                 values are boolean.
254
255 What:           /sys/bus/counter/devices/counterX/signalY/filter_clock_prescaler
256 KernelVersion:  5.7
257 Contact:        linux-iio@vger.kernel.org
258 Description:
259                 Filter clock factor for input Signal Y. This prescaler value
260                 affects the inputs of both quadrature pair signals.
261
262 What:           /sys/bus/counter/devices/counterX/signalY/index_polarity
263 KernelVersion:  5.2
264 Contact:        linux-iio@vger.kernel.org
265 Description:
266                 Active level of index input Signal Y; irrelevant in
267                 non-synchronous load mode.
268
269 What:           /sys/bus/counter/devices/counterX/signalY/index_polarity_available
270 What:           /sys/bus/counter/devices/counterX/signalY/synchronous_mode_available
271 KernelVersion:  5.2
272 Contact:        linux-iio@vger.kernel.org
273 Description:
274                 Discrete set of available values for the respective Signal Y
275                 configuration are listed in this file.
276
277 What:           /sys/bus/counter/devices/counterX/signalY/name
278 KernelVersion:  5.2
279 Contact:        linux-iio@vger.kernel.org
280 Description:
281                 Read-only attribute that indicates the device-specific name of
282                 Signal Y. If possible, this should match the name of the
283                 respective signal as it appears in the device datasheet.
284
285 What:           /sys/bus/counter/devices/counterX/signalY/signal
286 KernelVersion:  5.2
287 Contact:        linux-iio@vger.kernel.org
288 Description:
289                 Signal data of Signal Y represented as a string.
290
291 What:           /sys/bus/counter/devices/counterX/signalY/synchronous_mode
292 KernelVersion:  5.2
293 Contact:        linux-iio@vger.kernel.org
294 Description:
295                 Configure the counter associated with Signal Y for
296                 non-synchronous or synchronous load mode. Synchronous load mode
297                 cannot be selected in non-quadrature (Pulse-Direction) clock
298                 mode.
299
300                 non-synchronous:
301                         A logic low level is the active level at this index
302                         input. The index function (as enabled via preset_enable)
303                         is performed directly on the active level of the index
304                         input.
305
306                 synchronous:
307                         Intended for interfacing with encoder Index output in
308                         quadrature clock mode. The active level is configured
309                         via index_polarity. The index function (as enabled via
310                         preset_enable) is performed synchronously with the
311                         quadrature clock on the active level of the index input.