summaryrefslogtreecommitdiff
path: root/Documentation/ABI/testing/sysfs-bus-counter
blob: 20fe5afd4f9e7d09982691f0ceee12cf8f35284c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
What:		/sys/bus/counter/devices/counterX/countY/count
KernelVersion:	5.2
Contact:	linux-iio@vger.kernel.org
Description:
		Count data of Count Y represented as a string.

What:		/sys/bus/counter/devices/counterX/countY/ceiling
KernelVersion:	5.2
Contact:	linux-iio@vger.kernel.org
Description:
		Count value ceiling for Count Y. This is the upper limit for the
		respective counter.

What:		/sys/bus/counter/devices/counterX/countY/floor
KernelVersion:	5.2
Contact:	linux-iio@vger.kernel.org
Description:
		Count value floor for Count Y. This is the lower limit for the
		respective counter.

What:		/sys/bus/counter/devices/counterX/countY/count_mode
KernelVersion:	5.2
Contact:	linux-iio@vger.kernel.org
Description:
		Count mode for channel Y. The ceiling and floor values for
		Count Y are used by the count mode where required. The following
		count modes are available:

		normal:
			Counting is continuous in either direction.

		range limit:
			An upper or lower limit is set, mimicking limit switches
			in the mechanical counterpart. The upper limit is set to
			the Count Y ceiling value, while the lower limit is set
			to the Count Y floor value. The counter freezes at
			count = ceiling when counting up, and at count = floor
			when counting down. At either of these limits, the
			counting is resumed only when the count direction is
			reversed.

		non-recycle:
			The counter is disabled whenever a counter overflow or
			underflow takes place. The counter is re-enabled when a
			new count value is loaded to the counter via a preset
			operation or direct write.

		modulo-n:
			A count value boundary is set between the Count Y floor
			value and the Count Y ceiling value. The counter is
			reset to the Count Y floor value at count = ceiling when
			counting up, while the counter is set to the Count Y
			ceiling value at count = floor when counting down; the
			counter does not freeze at the boundary points, but
			counts continuously throughout.

What:		/sys/bus/counter/devices/counterX/countY/count_mode_available
What:		/sys/bus/counter/devices/counterX/countY/error_noise_available
What:		/sys/bus/counter/devices/counterX/countY/function_available
What:		/sys/bus/counter/devices/counterX/countY/prescaler_available
What:		/sys/bus/counter/devices/counterX/countY/signalZ_action_available
KernelVersion:	5.2
Contact:	linux-iio@vger.kernel.org
Description:
		Discrete set of available values for the respective Count Y
		configuration are listed in this file. Values are delimited by
		newline characters.

What:		/sys/bus/counter/devices/counterX/countY/direction
KernelVersion:	5.2
Contact:	linux-iio@vger.kernel.org
Description:
		Read-only attribute that indicates the count direction of Count
		Y. Two count directions are available: forward and backward.

		Some counter devices are able to determine the direction of
		their counting. For example, quadrature encoding counters can
		determine the direction of movement by evaluating the leading
		phase of the respective A and B quadrature encoding signals.
		This attribute exposes such count directions.

What:		/sys/bus/counter/devices/counterX/countY/enable
KernelVersion:	5.2
Contact:	linux-iio@vger.kernel.org
Description:
		Whether channel Y counter is enabled. Valid attribute values are
		boolean.

		This attribute is intended to serve as a pause/unpause mechanism
		for Count Y. Suppose a counter device is used to count the total
		movement of a conveyor belt: this attribute allows an operator
		to temporarily pause the counter, service the conveyor belt,
		and then finally unpause the counter to continue where it had
		left off.

What:		/sys/bus/counter/devices/counterX/countY/error_noise
KernelVersion:	5.2
Contact:	linux-iio@vger.kernel.org
Description:
		Read-only attribute that indicates whether excessive noise is
		present at the channel Y counter inputs.

What:		/sys/bus/counter/devices/counterX/countY/function
KernelVersion:	5.2
Contact:	linux-iio@vger.kernel.org
Description:
		Count function mode of Count Y; count function evaluation is
		triggered by conditions specified by the Count Y signalZ_action
		attributes. The following count functions are available:

		increase:
			Accumulated count is incremented.

		decrease:
			Accumulated count is decremented.

		pulse-direction:
			Rising edges on signal A updates the respective count.
			The input level of signal B determines direction.

		quadrature x1 a:
			If direction is forward, rising edges on quadrature pair
			signal A updates the respective count; if the direction
			is backward, falling edges on quadrature pair signal A
			updates the respective count. Quadrature encoding
			determines the direction.

		quadrature x1 b:
			If direction is forward, rising edges on quadrature pair
			signal B updates the respective count; if the direction
			is backward, falling edges on quadrature pair signal B
			updates the respective count. Quadrature encoding
			determines the direction.

		quadrature x2 a:
			Any state transition on quadrature pair signal A updates
			the respective count. Quadrature encoding determines the
			direction.

		quadrature x2 b:
			Any state transition on quadrature pair signal B updates
			the respective count. Quadrature encoding determines the
			direction.

		quadrature x4:
			Any state transition on either quadrature pair signals
			updates	the respective count. Quadrature encoding
			determines the direction.

What:		/sys/bus/counter/devices/counterX/countY/name
KernelVersion:	5.2
Contact:	linux-iio@vger.kernel.org
Description:
		Read-only attribute that indicates the device-specific name of
		Count Y. If possible, this should match the name of the
		respective channel as it appears in the device datasheet.

What:		/sys/bus/counter/devices/counterX/countY/prescaler
KernelVersion:	5.2
Contact:	linux-iio@vger.kernel.org
Description:
		Configure the prescaler value associated with Count Y.
		On the FlexTimer, the counter clock source passes through a
		prescaler (i.e. a counter). This acts like a clock
		divider.

What:		/sys/bus/counter/devices/counterX/countY/preset
KernelVersion:	5.2
Contact:	linux-iio@vger.kernel.org
Description:
		If the counter device supports preset registers -- registers
		used to load counter channels to a set count upon device-defined
		preset operation trigger events -- the preset count for channel
		Y is provided by this attribute.

What:		/sys/bus/counter/devices/counterX/countY/preset_enable
KernelVersion:	5.2
Contact:	linux-iio@vger.kernel.org
Description:
		Whether channel Y counter preset operation is enabled. Valid
		attribute values are boolean.

What:		/sys/bus/counter/devices/counterX/countY/signalZ_action
KernelVersion:	5.2
Contact:	linux-iio@vger.kernel.org
Description:
		Action mode of Count Y for Signal Z. This attribute indicates
		the condition of Signal Z that triggers the count function
		evaluation for Count Y. The following action modes are
		available:

		none:
			Signal does not trigger the count function. In
			Pulse-Direction count function mode, this Signal is
			evaluated as Direction.

		rising edge:
			Low state transitions to high state.

		falling edge:
			High state transitions to low state.

		both edges:
			Any state transition.

What:		/sys/bus/counter/devices/counterX/countY/spike_filter_ns
KernelVersion:	5.14
Contact:	linux-iio@vger.kernel.org
Description:
		If the counter device supports programmable spike filter this
		attribute indicates the value in nanoseconds where noise pulses
		shorter or equal to configured value are ignored. Value 0 means
		filter is disabled.

What:		/sys/bus/counter/devices/counterX/name
KernelVersion:	5.2
Contact:	linux-iio@vger.kernel.org
Description:
		Read-only attribute that indicates the device-specific name of
		the Counter. This should match the name of the device as it
		appears in its respective datasheet.

What:		/sys/bus/counter/devices/counterX/num_counts
KernelVersion:	5.2
Contact:	linux-iio@vger.kernel.org
Description:
		Read-only attribute that indicates the total number of Counts
		belonging to the Counter.

What:		/sys/bus/counter/devices/counterX/num_signals
KernelVersion:	5.2
Contact:	linux-iio@vger.kernel.org
Description:
		Read-only attribute that indicates the total number of Signals
		belonging to the Counter.

What:		/sys/bus/counter/devices/counterX/signalY/cable_fault
KernelVersion:	5.7
Contact:	linux-iio@vger.kernel.org
Description:
		Read-only attribute that indicates whether a differential
		encoder cable fault (not connected or loose wires) is detected
		for the respective channel of Signal Y. Valid attribute values
		are boolean. Detection must first be enabled via the
		corresponding cable_fault_enable attribute.

What:		/sys/bus/counter/devices/counterX/signalY/cable_fault_enable
KernelVersion:	5.7
Contact:	linux-iio@vger.kernel.org
Description:
		Whether detection of differential encoder cable faults for the
		respective channel of Signal Y is enabled. Valid attribute
		values are boolean.

What:		/sys/bus/counter/devices/counterX/signalY/filter_clock_prescaler
KernelVersion:	5.7
Contact:	linux-iio@vger.kernel.org
Description:
		Filter clock factor for input Signal Y. This prescaler value
		affects the inputs of both quadrature pair signals.

What:		/sys/bus/counter/devices/counterX/signalY/index_polarity
KernelVersion:	5.2
Contact:	linux-iio@vger.kernel.org
Description:
		Active level of index input Signal Y; irrelevant in
		non-synchronous load mode.

What:		/sys/bus/counter/devices/counterX/signalY/index_polarity_available
What:		/sys/bus/counter/devices/counterX/signalY/synchronous_mode_available
KernelVersion:	5.2
Contact:	linux-iio@vger.kernel.org
Description:
		Discrete set of available values for the respective Signal Y
		configuration are listed in this file.

What:		/sys/bus/counter/devices/counterX/signalY/name
KernelVersion:	5.2
Contact:	linux-iio@vger.kernel.org
Description:
		Read-only attribute that indicates the device-specific name of
		Signal Y. If possible, this should match the name of the
		respective signal as it appears in the device datasheet.

What:		/sys/bus/counter/devices/counterX/signalY/signal
KernelVersion:	5.2
Contact:	linux-iio@vger.kernel.org
Description:
		Signal data of Signal Y represented as a string.

What:		/sys/bus/counter/devices/counterX/signalY/synchronous_mode
KernelVersion:	5.2
Contact:	linux-iio@vger.kernel.org
Description:
		Configure the counter associated with Signal Y for
		non-synchronous or synchronous load mode. Synchronous load mode
		cannot be selected in non-quadrature (Pulse-Direction) clock
		mode.

		non-synchronous:
			A logic low level is the active level at this index
			input. The index function (as enabled via preset_enable)
			is performed directly on the active level of the index
			input.

		synchronous:
			Intended for interfacing with encoder Index output in
			quadrature clock mode. The active level is configured
			via index_polarity. The index function (as enabled via
			preset_enable) is performed synchronously with the
			quadrature clock on the active level of the index input.