GNU Linux-libre 5.19-rc6-gnu
[releases.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/ceiling_component_id
207 What:           /sys/bus/counter/devices/counterX/countY/floor_component_id
208 What:           /sys/bus/counter/devices/counterX/countY/count_mode_component_id
209 What:           /sys/bus/counter/devices/counterX/countY/direction_component_id
210 What:           /sys/bus/counter/devices/counterX/countY/enable_component_id
211 What:           /sys/bus/counter/devices/counterX/countY/error_noise_component_id
212 What:           /sys/bus/counter/devices/counterX/countY/prescaler_component_id
213 What:           /sys/bus/counter/devices/counterX/countY/preset_component_id
214 What:           /sys/bus/counter/devices/counterX/countY/preset_enable_component_id
215 What:           /sys/bus/counter/devices/counterX/countY/signalZ_action_component_id
216 What:           /sys/bus/counter/devices/counterX/signalY/cable_fault_component_id
217 What:           /sys/bus/counter/devices/counterX/signalY/cable_fault_enable_component_id
218 What:           /sys/bus/counter/devices/counterX/signalY/filter_clock_prescaler_component_id
219 What:           /sys/bus/counter/devices/counterX/signalY/index_polarity_component_id
220 What:           /sys/bus/counter/devices/counterX/signalY/synchronous_mode_component_id
221 KernelVersion:  5.16
222 Contact:        linux-iio@vger.kernel.org
223 Description:
224                 Read-only attribute that indicates the component ID of the
225                 respective extension or Synapse.
226
227 What:           /sys/bus/counter/devices/counterX/countY/spike_filter_ns
228 KernelVersion:  5.14
229 Contact:        linux-iio@vger.kernel.org
230 Description:
231                 If the counter device supports programmable spike filter this
232                 attribute indicates the value in nanoseconds where noise pulses
233                 shorter or equal to configured value are ignored. Value 0 means
234                 filter is disabled.
235
236 What:           /sys/bus/counter/devices/counterX/events_queue_size
237 KernelVersion:  5.16
238 Contact:        linux-iio@vger.kernel.org
239 Description:
240                 Size of the Counter events queue in number of struct
241                 counter_event data structures. The number of elements will be
242                 rounded-up to a power of 2.
243
244 What:           /sys/bus/counter/devices/counterX/name
245 KernelVersion:  5.2
246 Contact:        linux-iio@vger.kernel.org
247 Description:
248                 Read-only attribute that indicates the device-specific name of
249                 the Counter. This should match the name of the device as it
250                 appears in its respective datasheet.
251
252 What:           /sys/bus/counter/devices/counterX/num_counts
253 KernelVersion:  5.2
254 Contact:        linux-iio@vger.kernel.org
255 Description:
256                 Read-only attribute that indicates the total number of Counts
257                 belonging to the Counter.
258
259 What:           /sys/bus/counter/devices/counterX/num_signals
260 KernelVersion:  5.2
261 Contact:        linux-iio@vger.kernel.org
262 Description:
263                 Read-only attribute that indicates the total number of Signals
264                 belonging to the Counter.
265
266 What:           /sys/bus/counter/devices/counterX/signalY/cable_fault
267 KernelVersion:  5.7
268 Contact:        linux-iio@vger.kernel.org
269 Description:
270                 Read-only attribute that indicates whether a differential
271                 encoder cable fault (not connected or loose wires) is detected
272                 for the respective channel of Signal Y. Valid attribute values
273                 are boolean. Detection must first be enabled via the
274                 corresponding cable_fault_enable attribute.
275
276 What:           /sys/bus/counter/devices/counterX/signalY/cable_fault_enable
277 KernelVersion:  5.7
278 Contact:        linux-iio@vger.kernel.org
279 Description:
280                 Whether detection of differential encoder cable faults for the
281                 respective channel of Signal Y is enabled. Valid attribute
282                 values are boolean.
283
284 What:           /sys/bus/counter/devices/counterX/signalY/filter_clock_prescaler
285 KernelVersion:  5.7
286 Contact:        linux-iio@vger.kernel.org
287 Description:
288                 Filter clock factor for input Signal Y. This prescaler value
289                 affects the inputs of both quadrature pair signals.
290
291 What:           /sys/bus/counter/devices/counterX/signalY/index_polarity
292 KernelVersion:  5.2
293 Contact:        linux-iio@vger.kernel.org
294 Description:
295                 Active level of index input Signal Y; irrelevant in
296                 non-synchronous load mode.
297
298 What:           /sys/bus/counter/devices/counterX/signalY/index_polarity_available
299 What:           /sys/bus/counter/devices/counterX/signalY/synchronous_mode_available
300 KernelVersion:  5.2
301 Contact:        linux-iio@vger.kernel.org
302 Description:
303                 Discrete set of available values for the respective Signal Y
304                 configuration are listed in this file.
305
306 What:           /sys/bus/counter/devices/counterX/signalY/name
307 KernelVersion:  5.2
308 Contact:        linux-iio@vger.kernel.org
309 Description:
310                 Read-only attribute that indicates the device-specific name of
311                 Signal Y. If possible, this should match the name of the
312                 respective signal as it appears in the device datasheet.
313
314 What:           /sys/bus/counter/devices/counterX/signalY/signal
315 KernelVersion:  5.2
316 Contact:        linux-iio@vger.kernel.org
317 Description:
318                 Signal level state of Signal Y. The following signal level
319                 states are available:
320
321                 low:
322                         Low level state.
323
324                 high:
325                         High level state.
326
327 What:           /sys/bus/counter/devices/counterX/signalY/synchronous_mode
328 KernelVersion:  5.2
329 Contact:        linux-iio@vger.kernel.org
330 Description:
331                 Configure the counter associated with Signal Y for
332                 non-synchronous or synchronous load mode. Synchronous load mode
333                 cannot be selected in non-quadrature (Pulse-Direction) clock
334                 mode.
335
336                 non-synchronous:
337                         A logic low level is the active level at this index
338                         input. The index function (as enabled via preset_enable)
339                         is performed directly on the active level of the index
340                         input.
341
342                 synchronous:
343                         Intended for interfacing with encoder Index output in
344                         quadrature clock mode. The active level is configured
345                         via index_polarity. The index function (as enabled via
346                         preset_enable) is performed synchronously with the
347                         quadrature clock on the active level of the index input.