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