xref: /linux/Documentation/ABI/testing/sysfs-bus-counter (revision ea2b23b89579d9765dc9b45d7bdbe7e4da37fa0f)
1*ea2b23b8SWilliam Breathitt GrayWhat:		/sys/bus/counter/devices/counterX/countY/count
2*ea2b23b8SWilliam Breathitt GrayKernelVersion:	5.2
3*ea2b23b8SWilliam Breathitt GrayContact:	linux-iio@vger.kernel.org
4*ea2b23b8SWilliam Breathitt GrayDescription:
5*ea2b23b8SWilliam Breathitt Gray		Count data of Count Y represented as a string.
6*ea2b23b8SWilliam Breathitt Gray
7*ea2b23b8SWilliam Breathitt GrayWhat:		/sys/bus/counter/devices/counterX/countY/ceiling
8*ea2b23b8SWilliam Breathitt GrayKernelVersion:	5.2
9*ea2b23b8SWilliam Breathitt GrayContact:	linux-iio@vger.kernel.org
10*ea2b23b8SWilliam Breathitt GrayDescription:
11*ea2b23b8SWilliam Breathitt Gray		Count value ceiling for Count Y. This is the upper limit for the
12*ea2b23b8SWilliam Breathitt Gray		respective counter.
13*ea2b23b8SWilliam Breathitt Gray
14*ea2b23b8SWilliam Breathitt GrayWhat:		/sys/bus/counter/devices/counterX/countY/floor
15*ea2b23b8SWilliam Breathitt GrayKernelVersion:	5.2
16*ea2b23b8SWilliam Breathitt GrayContact:	linux-iio@vger.kernel.org
17*ea2b23b8SWilliam Breathitt GrayDescription:
18*ea2b23b8SWilliam Breathitt Gray		Count value floor for Count Y. This is the lower limit for the
19*ea2b23b8SWilliam Breathitt Gray		respective counter.
20*ea2b23b8SWilliam Breathitt Gray
21*ea2b23b8SWilliam Breathitt GrayWhat:		/sys/bus/counter/devices/counterX/countY/count_mode
22*ea2b23b8SWilliam Breathitt GrayKernelVersion:	5.2
23*ea2b23b8SWilliam Breathitt GrayContact:	linux-iio@vger.kernel.org
24*ea2b23b8SWilliam Breathitt GrayDescription:
25*ea2b23b8SWilliam Breathitt Gray		Count mode for channel Y. The ceiling and floor values for
26*ea2b23b8SWilliam Breathitt Gray		Count Y are used by the count mode where required. The following
27*ea2b23b8SWilliam Breathitt Gray		count modes are available:
28*ea2b23b8SWilliam Breathitt Gray
29*ea2b23b8SWilliam Breathitt Gray		normal:
30*ea2b23b8SWilliam Breathitt Gray			Counting is continuous in either direction.
31*ea2b23b8SWilliam Breathitt Gray
32*ea2b23b8SWilliam Breathitt Gray		range limit:
33*ea2b23b8SWilliam Breathitt Gray			An upper or lower limit is set, mimicking limit switches
34*ea2b23b8SWilliam Breathitt Gray			in the mechanical counterpart. The upper limit is set to
35*ea2b23b8SWilliam Breathitt Gray			the Count Y ceiling value, while the lower limit is set
36*ea2b23b8SWilliam Breathitt Gray			to the Count Y floor value. The counter freezes at
37*ea2b23b8SWilliam Breathitt Gray			count = ceiling when counting up, and at count = floor
38*ea2b23b8SWilliam Breathitt Gray			when counting down. At either of these limits, the
39*ea2b23b8SWilliam Breathitt Gray			counting is resumed only when the count direction is
40*ea2b23b8SWilliam Breathitt Gray			reversed.
41*ea2b23b8SWilliam Breathitt Gray
42*ea2b23b8SWilliam Breathitt Gray		non-recycle:
43*ea2b23b8SWilliam Breathitt Gray			The counter is disabled whenever a counter overflow or
44*ea2b23b8SWilliam Breathitt Gray			underflow takes place. The counter is re-enabled when a
45*ea2b23b8SWilliam Breathitt Gray			new count value is loaded to the counter via a preset
46*ea2b23b8SWilliam Breathitt Gray			operation or direct write.
47*ea2b23b8SWilliam Breathitt Gray
48*ea2b23b8SWilliam Breathitt Gray		modulo-n:
49*ea2b23b8SWilliam Breathitt Gray			A count value boundary is set between the Count Y floor
50*ea2b23b8SWilliam Breathitt Gray			value and the Count Y ceiling value. The counter is
51*ea2b23b8SWilliam Breathitt Gray			reset to the Count Y floor value at count = ceiling when
52*ea2b23b8SWilliam Breathitt Gray			counting up, while the counter is set to the Count Y
53*ea2b23b8SWilliam Breathitt Gray			ceiling value at count = floor when counting down; the
54*ea2b23b8SWilliam Breathitt Gray			counter does not freeze at the boundary points, but
55*ea2b23b8SWilliam Breathitt Gray			counts continuously throughout.
56*ea2b23b8SWilliam Breathitt Gray
57*ea2b23b8SWilliam Breathitt GrayWhat:		/sys/bus/counter/devices/counterX/countY/count_mode_available
58*ea2b23b8SWilliam Breathitt GrayWhat:		/sys/bus/counter/devices/counterX/countY/error_noise_available
59*ea2b23b8SWilliam Breathitt GrayWhat:		/sys/bus/counter/devices/counterX/countY/function_available
60*ea2b23b8SWilliam Breathitt GrayWhat:		/sys/bus/counter/devices/counterX/countY/signalZ_action_available
61*ea2b23b8SWilliam Breathitt GrayKernelVersion:	5.2
62*ea2b23b8SWilliam Breathitt GrayContact:	linux-iio@vger.kernel.org
63*ea2b23b8SWilliam Breathitt GrayDescription:
64*ea2b23b8SWilliam Breathitt Gray		Discrete set of available values for the respective Count Y
65*ea2b23b8SWilliam Breathitt Gray		configuration are listed in this file. Values are delimited by
66*ea2b23b8SWilliam Breathitt Gray		newline characters.
67*ea2b23b8SWilliam Breathitt Gray
68*ea2b23b8SWilliam Breathitt GrayWhat:		/sys/bus/counter/devices/counterX/countY/direction
69*ea2b23b8SWilliam Breathitt GrayKernelVersion:	5.2
70*ea2b23b8SWilliam Breathitt GrayContact:	linux-iio@vger.kernel.org
71*ea2b23b8SWilliam Breathitt GrayDescription:
72*ea2b23b8SWilliam Breathitt Gray		Read-only attribute that indicates the count direction of Count
73*ea2b23b8SWilliam Breathitt Gray		Y. Two count directions are available: forward and backward.
74*ea2b23b8SWilliam Breathitt Gray
75*ea2b23b8SWilliam Breathitt Gray		Some counter devices are able to determine the direction of
76*ea2b23b8SWilliam Breathitt Gray		their counting. For example, quadrature encoding counters can
77*ea2b23b8SWilliam Breathitt Gray		determine the direction of movement by evaluating the leading
78*ea2b23b8SWilliam Breathitt Gray		phase of the respective A and B quadrature encoding signals.
79*ea2b23b8SWilliam Breathitt Gray		This attribute exposes such count directions.
80*ea2b23b8SWilliam Breathitt Gray
81*ea2b23b8SWilliam Breathitt GrayWhat:		/sys/bus/counter/devices/counterX/countY/enable
82*ea2b23b8SWilliam Breathitt GrayKernelVersion:	5.2
83*ea2b23b8SWilliam Breathitt GrayContact:	linux-iio@vger.kernel.org
84*ea2b23b8SWilliam Breathitt GrayDescription:
85*ea2b23b8SWilliam Breathitt Gray		Whether channel Y counter is enabled. Valid attribute values are
86*ea2b23b8SWilliam Breathitt Gray		boolean.
87*ea2b23b8SWilliam Breathitt Gray
88*ea2b23b8SWilliam Breathitt Gray		This attribute is intended to serve as a pause/unpause mechanism
89*ea2b23b8SWilliam Breathitt Gray		for Count Y. Suppose a counter device is used to count the total
90*ea2b23b8SWilliam Breathitt Gray		movement of a conveyor belt: this attribute allows an operator
91*ea2b23b8SWilliam Breathitt Gray		to temporarily pause the counter, service the conveyor belt,
92*ea2b23b8SWilliam Breathitt Gray		and then finally unpause the counter to continue where it had
93*ea2b23b8SWilliam Breathitt Gray		left off.
94*ea2b23b8SWilliam Breathitt Gray
95*ea2b23b8SWilliam Breathitt GrayWhat:		/sys/bus/counter/devices/counterX/countY/error_noise
96*ea2b23b8SWilliam Breathitt GrayKernelVersion:	5.2
97*ea2b23b8SWilliam Breathitt GrayContact:	linux-iio@vger.kernel.org
98*ea2b23b8SWilliam Breathitt GrayDescription:
99*ea2b23b8SWilliam Breathitt Gray		Read-only attribute that indicates whether excessive noise is
100*ea2b23b8SWilliam Breathitt Gray		present at the channel Y counter inputs.
101*ea2b23b8SWilliam Breathitt Gray
102*ea2b23b8SWilliam Breathitt GrayWhat:		/sys/bus/counter/devices/counterX/countY/function
103*ea2b23b8SWilliam Breathitt GrayKernelVersion:	5.2
104*ea2b23b8SWilliam Breathitt GrayContact:	linux-iio@vger.kernel.org
105*ea2b23b8SWilliam Breathitt GrayDescription:
106*ea2b23b8SWilliam Breathitt Gray		Count function mode of Count Y; count function evaluation is
107*ea2b23b8SWilliam Breathitt Gray		triggered by conditions specified by the Count Y signalZ_action
108*ea2b23b8SWilliam Breathitt Gray		attributes. The following count functions are available:
109*ea2b23b8SWilliam Breathitt Gray
110*ea2b23b8SWilliam Breathitt Gray		increase:
111*ea2b23b8SWilliam Breathitt Gray			Accumulated count is incremented.
112*ea2b23b8SWilliam Breathitt Gray
113*ea2b23b8SWilliam Breathitt Gray		decrease:
114*ea2b23b8SWilliam Breathitt Gray			Accumulated count is decremented.
115*ea2b23b8SWilliam Breathitt Gray
116*ea2b23b8SWilliam Breathitt Gray		pulse-direction:
117*ea2b23b8SWilliam Breathitt Gray			Rising edges on signal A updates the respective count.
118*ea2b23b8SWilliam Breathitt Gray			The input level of signal B determines direction.
119*ea2b23b8SWilliam Breathitt Gray
120*ea2b23b8SWilliam Breathitt Gray		quadrature x1 a:
121*ea2b23b8SWilliam Breathitt Gray			If direction is forward, rising edges on quadrature pair
122*ea2b23b8SWilliam Breathitt Gray			signal A updates the respective count; if the direction
123*ea2b23b8SWilliam Breathitt Gray			is backward, falling edges on quadrature pair signal A
124*ea2b23b8SWilliam Breathitt Gray			updates the respective count. Quadrature encoding
125*ea2b23b8SWilliam Breathitt Gray			determines the direction.
126*ea2b23b8SWilliam Breathitt Gray
127*ea2b23b8SWilliam Breathitt Gray		quadrature x1 b:
128*ea2b23b8SWilliam Breathitt Gray			If direction is forward, rising edges on quadrature pair
129*ea2b23b8SWilliam Breathitt Gray			signal B updates the respective count; if the direction
130*ea2b23b8SWilliam Breathitt Gray			is backward, falling edges on quadrature pair signal B
131*ea2b23b8SWilliam Breathitt Gray			updates the respective count. Quadrature encoding
132*ea2b23b8SWilliam Breathitt Gray			determines the direction.
133*ea2b23b8SWilliam Breathitt Gray
134*ea2b23b8SWilliam Breathitt Gray		quadrature x2 a:
135*ea2b23b8SWilliam Breathitt Gray			Any state transition on quadrature pair signal A updates
136*ea2b23b8SWilliam Breathitt Gray			the respective count. Quadrature encoding determines the
137*ea2b23b8SWilliam Breathitt Gray			direction.
138*ea2b23b8SWilliam Breathitt Gray
139*ea2b23b8SWilliam Breathitt Gray		quadrature x2 b:
140*ea2b23b8SWilliam Breathitt Gray			Any state transition on quadrature pair signal B updates
141*ea2b23b8SWilliam Breathitt Gray			the respective count. Quadrature encoding determines the
142*ea2b23b8SWilliam Breathitt Gray			direction.
143*ea2b23b8SWilliam Breathitt Gray
144*ea2b23b8SWilliam Breathitt Gray		quadrature x4:
145*ea2b23b8SWilliam Breathitt Gray			Any state transition on either quadrature pair signals
146*ea2b23b8SWilliam Breathitt Gray			updates	the respective count. Quadrature encoding
147*ea2b23b8SWilliam Breathitt Gray			determines the direction.
148*ea2b23b8SWilliam Breathitt Gray
149*ea2b23b8SWilliam Breathitt GrayWhat:		/sys/bus/counter/devices/counterX/countY/name
150*ea2b23b8SWilliam Breathitt GrayKernelVersion:	5.2
151*ea2b23b8SWilliam Breathitt GrayContact:	linux-iio@vger.kernel.org
152*ea2b23b8SWilliam Breathitt GrayDescription:
153*ea2b23b8SWilliam Breathitt Gray		Read-only attribute that indicates the device-specific name of
154*ea2b23b8SWilliam Breathitt Gray		Count Y. If possible, this should match the name of the
155*ea2b23b8SWilliam Breathitt Gray		respective channel as it appears in the device datasheet.
156*ea2b23b8SWilliam Breathitt Gray
157*ea2b23b8SWilliam Breathitt GrayWhat:		/sys/bus/counter/devices/counterX/countY/preset
158*ea2b23b8SWilliam Breathitt GrayKernelVersion:	5.2
159*ea2b23b8SWilliam Breathitt GrayContact:	linux-iio@vger.kernel.org
160*ea2b23b8SWilliam Breathitt GrayDescription:
161*ea2b23b8SWilliam Breathitt Gray		If the counter device supports preset registers -- registers
162*ea2b23b8SWilliam Breathitt Gray		used to load counter channels to a set count upon device-defined
163*ea2b23b8SWilliam Breathitt Gray		preset operation trigger events -- the preset count for channel
164*ea2b23b8SWilliam Breathitt Gray		Y is provided by this attribute.
165*ea2b23b8SWilliam Breathitt Gray
166*ea2b23b8SWilliam Breathitt GrayWhat:		/sys/bus/counter/devices/counterX/countY/preset_enable
167*ea2b23b8SWilliam Breathitt GrayKernelVersion:	5.2
168*ea2b23b8SWilliam Breathitt GrayContact:	linux-iio@vger.kernel.org
169*ea2b23b8SWilliam Breathitt GrayDescription:
170*ea2b23b8SWilliam Breathitt Gray		Whether channel Y counter preset operation is enabled. Valid
171*ea2b23b8SWilliam Breathitt Gray		attribute values are boolean.
172*ea2b23b8SWilliam Breathitt Gray
173*ea2b23b8SWilliam Breathitt GrayWhat:		/sys/bus/counter/devices/counterX/countY/signalZ_action
174*ea2b23b8SWilliam Breathitt GrayKernelVersion:	5.2
175*ea2b23b8SWilliam Breathitt GrayContact:	linux-iio@vger.kernel.org
176*ea2b23b8SWilliam Breathitt GrayDescription:
177*ea2b23b8SWilliam Breathitt Gray		Action mode of Count Y for Signal Z. This attribute indicates
178*ea2b23b8SWilliam Breathitt Gray		the condition of Signal Z that triggers the count function
179*ea2b23b8SWilliam Breathitt Gray		evaluation for Count Y. The following action modes are
180*ea2b23b8SWilliam Breathitt Gray		available:
181*ea2b23b8SWilliam Breathitt Gray
182*ea2b23b8SWilliam Breathitt Gray		none:
183*ea2b23b8SWilliam Breathitt Gray			Signal does not trigger the count function. In
184*ea2b23b8SWilliam Breathitt Gray			Pulse-Direction count function mode, this Signal is
185*ea2b23b8SWilliam Breathitt Gray			evaluated as Direction.
186*ea2b23b8SWilliam Breathitt Gray
187*ea2b23b8SWilliam Breathitt Gray		rising edge:
188*ea2b23b8SWilliam Breathitt Gray			Low state transitions to high state.
189*ea2b23b8SWilliam Breathitt Gray
190*ea2b23b8SWilliam Breathitt Gray		falling edge:
191*ea2b23b8SWilliam Breathitt Gray			High state transitions to low state.
192*ea2b23b8SWilliam Breathitt Gray
193*ea2b23b8SWilliam Breathitt Gray		both edges:
194*ea2b23b8SWilliam Breathitt Gray			Any state transition.
195*ea2b23b8SWilliam Breathitt Gray
196*ea2b23b8SWilliam Breathitt GrayWhat:		/sys/bus/counter/devices/counterX/name
197*ea2b23b8SWilliam Breathitt GrayKernelVersion:	5.2
198*ea2b23b8SWilliam Breathitt GrayContact:	linux-iio@vger.kernel.org
199*ea2b23b8SWilliam Breathitt GrayDescription:
200*ea2b23b8SWilliam Breathitt Gray		Read-only attribute that indicates the device-specific name of
201*ea2b23b8SWilliam Breathitt Gray		the Counter. This should match the name of the device as it
202*ea2b23b8SWilliam Breathitt Gray		appears in its respective datasheet.
203*ea2b23b8SWilliam Breathitt Gray
204*ea2b23b8SWilliam Breathitt GrayWhat:		/sys/bus/counter/devices/counterX/num_counts
205*ea2b23b8SWilliam Breathitt GrayKernelVersion:	5.2
206*ea2b23b8SWilliam Breathitt GrayContact:	linux-iio@vger.kernel.org
207*ea2b23b8SWilliam Breathitt GrayDescription:
208*ea2b23b8SWilliam Breathitt Gray		Read-only attribute that indicates the total number of Counts
209*ea2b23b8SWilliam Breathitt Gray		belonging to the Counter.
210*ea2b23b8SWilliam Breathitt Gray
211*ea2b23b8SWilliam Breathitt GrayWhat:		/sys/bus/counter/devices/counterX/num_signals
212*ea2b23b8SWilliam Breathitt GrayKernelVersion:	5.2
213*ea2b23b8SWilliam Breathitt GrayContact:	linux-iio@vger.kernel.org
214*ea2b23b8SWilliam Breathitt GrayDescription:
215*ea2b23b8SWilliam Breathitt Gray		Read-only attribute that indicates the total number of Signals
216*ea2b23b8SWilliam Breathitt Gray		belonging to the Counter.
217*ea2b23b8SWilliam Breathitt Gray
218*ea2b23b8SWilliam Breathitt GrayWhat:		/sys/bus/counter/devices/counterX/signalY/signal
219*ea2b23b8SWilliam Breathitt GrayKernelVersion:	5.2
220*ea2b23b8SWilliam Breathitt GrayContact:	linux-iio@vger.kernel.org
221*ea2b23b8SWilliam Breathitt GrayDescription:
222*ea2b23b8SWilliam Breathitt Gray		Signal data of Signal Y represented as a string.
223*ea2b23b8SWilliam Breathitt Gray
224*ea2b23b8SWilliam Breathitt GrayWhat:		/sys/bus/counter/devices/counterX/signalY/name
225*ea2b23b8SWilliam Breathitt GrayKernelVersion:	5.2
226*ea2b23b8SWilliam Breathitt GrayContact:	linux-iio@vger.kernel.org
227*ea2b23b8SWilliam Breathitt GrayDescription:
228*ea2b23b8SWilliam Breathitt Gray		Read-only attribute that indicates the device-specific name of
229*ea2b23b8SWilliam Breathitt Gray		Signal Y. If possible, this should match the name of the
230*ea2b23b8SWilliam Breathitt Gray		respective signal as it appears in the device datasheet.
231