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/ceiling
8KernelVersion:	5.2
9Contact:	linux-iio@vger.kernel.org
10Description:
11		Count value ceiling for Count Y. This is the upper limit for the
12		respective counter.
13
14What:		/sys/bus/counter/devices/counterX/countY/floor
15KernelVersion:	5.2
16Contact:	linux-iio@vger.kernel.org
17Description:
18		Count value floor for Count Y. This is the lower limit for the
19		respective counter.
20
21What:		/sys/bus/counter/devices/counterX/countY/count_mode
22KernelVersion:	5.2
23Contact:	linux-iio@vger.kernel.org
24Description:
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
57What:		/sys/bus/counter/devices/counterX/countY/count_mode_available
58What:		/sys/bus/counter/devices/counterX/countY/error_noise_available
59What:		/sys/bus/counter/devices/counterX/countY/function_available
60What:		/sys/bus/counter/devices/counterX/countY/signalZ_action_available
61KernelVersion:	5.2
62Contact:	linux-iio@vger.kernel.org
63Description:
64		Discrete set of available values for the respective Count Y
65		configuration are listed in this file. Values are delimited by
66		newline characters.
67
68What:		/sys/bus/counter/devices/counterX/countY/direction
69KernelVersion:	5.2
70Contact:	linux-iio@vger.kernel.org
71Description:
72		Read-only attribute that indicates the count direction of Count
73		Y. Two count directions are available: forward and backward.
74
75		Some counter devices are able to determine the direction of
76		their counting. For example, quadrature encoding counters can
77		determine the direction of movement by evaluating the leading
78		phase of the respective A and B quadrature encoding signals.
79		This attribute exposes such count directions.
80
81What:		/sys/bus/counter/devices/counterX/countY/enable
82KernelVersion:	5.2
83Contact:	linux-iio@vger.kernel.org
84Description:
85		Whether channel Y counter is enabled. Valid attribute values are
86		boolean.
87
88		This attribute is intended to serve as a pause/unpause mechanism
89		for Count Y. Suppose a counter device is used to count the total
90		movement of a conveyor belt: this attribute allows an operator
91		to temporarily pause the counter, service the conveyor belt,
92		and then finally unpause the counter to continue where it had
93		left off.
94
95What:		/sys/bus/counter/devices/counterX/countY/error_noise
96KernelVersion:	5.2
97Contact:	linux-iio@vger.kernel.org
98Description:
99		Read-only attribute that indicates whether excessive noise is
100		present at the channel Y counter inputs.
101
102What:		/sys/bus/counter/devices/counterX/countY/function
103KernelVersion:	5.2
104Contact:	linux-iio@vger.kernel.org
105Description:
106		Count function mode of Count Y; count function evaluation is
107		triggered by conditions specified by the Count Y signalZ_action
108		attributes. The following count functions are available:
109
110		increase:
111			Accumulated count is incremented.
112
113		decrease:
114			Accumulated count is decremented.
115
116		pulse-direction:
117			Rising edges on signal A updates the respective count.
118			The input level of signal B determines direction.
119
120		quadrature x1 a:
121			If direction is forward, rising edges on quadrature pair
122			signal A updates the respective count; if the direction
123			is backward, falling edges on quadrature pair signal A
124			updates the respective count. Quadrature encoding
125			determines the direction.
126
127		quadrature x1 b:
128			If direction is forward, rising edges on quadrature pair
129			signal B updates the respective count; if the direction
130			is backward, falling edges on quadrature pair signal B
131			updates the respective count. Quadrature encoding
132			determines the direction.
133
134		quadrature x2 a:
135			Any state transition on quadrature pair signal A updates
136			the respective count. Quadrature encoding determines the
137			direction.
138
139		quadrature x2 b:
140			Any state transition on quadrature pair signal B updates
141			the respective count. Quadrature encoding determines the
142			direction.
143
144		quadrature x4:
145			Any state transition on either quadrature pair signals
146			updates	the respective count. Quadrature encoding
147			determines the direction.
148
149What:		/sys/bus/counter/devices/counterX/countY/name
150KernelVersion:	5.2
151Contact:	linux-iio@vger.kernel.org
152Description:
153		Read-only attribute that indicates the device-specific name of
154		Count Y. If possible, this should match the name of the
155		respective channel as it appears in the device datasheet.
156
157What:		/sys/bus/counter/devices/counterX/countY/preset
158KernelVersion:	5.2
159Contact:	linux-iio@vger.kernel.org
160Description:
161		If the counter device supports preset registers -- registers
162		used to load counter channels to a set count upon device-defined
163		preset operation trigger events -- the preset count for channel
164		Y is provided by this attribute.
165
166What:		/sys/bus/counter/devices/counterX/countY/preset_enable
167KernelVersion:	5.2
168Contact:	linux-iio@vger.kernel.org
169Description:
170		Whether channel Y counter preset operation is enabled. Valid
171		attribute values are boolean.
172
173What:		/sys/bus/counter/devices/counterX/countY/signalZ_action
174KernelVersion:	5.2
175Contact:	linux-iio@vger.kernel.org
176Description:
177		Action mode of Count Y for Signal Z. This attribute indicates
178		the condition of Signal Z that triggers the count function
179		evaluation for Count Y. The following action modes are
180		available:
181
182		none:
183			Signal does not trigger the count function. In
184			Pulse-Direction count function mode, this Signal is
185			evaluated as Direction.
186
187		rising edge:
188			Low state transitions to high state.
189
190		falling edge:
191			High state transitions to low state.
192
193		both edges:
194			Any state transition.
195
196What:		/sys/bus/counter/devices/counterX/name
197KernelVersion:	5.2
198Contact:	linux-iio@vger.kernel.org
199Description:
200		Read-only attribute that indicates the device-specific name of
201		the Counter. This should match the name of the device as it
202		appears in its respective datasheet.
203
204What:		/sys/bus/counter/devices/counterX/num_counts
205KernelVersion:	5.2
206Contact:	linux-iio@vger.kernel.org
207Description:
208		Read-only attribute that indicates the total number of Counts
209		belonging to the Counter.
210
211What:		/sys/bus/counter/devices/counterX/num_signals
212KernelVersion:	5.2
213Contact:	linux-iio@vger.kernel.org
214Description:
215		Read-only attribute that indicates the total number of Signals
216		belonging to the Counter.
217
218What:		/sys/bus/counter/devices/counterX/signalY/signal
219KernelVersion:	5.2
220Contact:	linux-iio@vger.kernel.org
221Description:
222		Signal data of Signal Y represented as a string.
223
224What:		/sys/bus/counter/devices/counterX/signalY/name
225KernelVersion:	5.2
226Contact:	linux-iio@vger.kernel.org
227Description:
228		Read-only attribute that indicates the device-specific name of
229		Signal Y. If possible, this should match the name of the
230		respective signal as it appears in the device datasheet.
231