summaryrefslogtreecommitdiff
path: root/Documentation/ABI/testing/sysfs-bus-iio-counter-104-quad-8
blob: 7fac2c268d9a9050e06d7248bcc33dbdf30978bb (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
What:		/sys/bus/iio/devices/iio:deviceX/in_count_count_mode_available
What:		/sys/bus/iio/devices/iio:deviceX/in_count_noise_error_available
What:		/sys/bus/iio/devices/iio:deviceX/in_count_quadrature_mode_available
What:		/sys/bus/iio/devices/iio:deviceX/in_index_index_polarity_available
What:		/sys/bus/iio/devices/iio:deviceX/in_index_synchronous_mode_available
KernelVersion:	4.10
Contact:	linux-iio@vger.kernel.org
Description:
		Discrete set of available values for the respective counter
		configuration are listed in this file.

What:		/sys/bus/iio/devices/iio:deviceX/in_countY_count_mode
KernelVersion:	4.10
Contact:	linux-iio@vger.kernel.org
Description:
		Count mode for channel Y. Four count modes are available:
		normal, range limit, non-recycle, and modulo-n. The preset value
		for channel Y is used by the count mode where required.

		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 preset value, while the lower limit is set to 0. The
			counter freezes at count = preset when counting up, and
			at count = 0 when counting down. At either of these
			limits, the counting is resumed only when the count
			direction is reversed.

		Non-recycle:
			Counter is disabled whenever a 24-bit count 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 write to raw.

		Modulo-N:
			A count boundary is set between 0 and the preset value.
			The counter is reset to 0 at count = preset when
			counting up, while the counter is set to the preset
			value at count = 0 when counting down; the counter does
			not freeze at the bundary points, but counts
			continuously throughout.

What:		/sys/bus/iio/devices/iio:deviceX/in_countY_noise_error
KernelVersion:	4.10
Contact:	linux-iio@vger.kernel.org
Description:
		Read-only attribute that indicates whether excessive noise is
		present at the channel Y count inputs in quadrature clock mode;
		irrelevant in non-quadrature clock mode.

What:		/sys/bus/iio/devices/iio:deviceX/in_countY_preset
KernelVersion:	4.10
Contact:	linux-iio@vger.kernel.org
Description:
		If the counter device supports preset registers, the preset
		count for channel Y is provided by this attribute.

What:		/sys/bus/iio/devices/iio:deviceX/in_countY_quadrature_mode
KernelVersion:	4.10
Contact:	linux-iio@vger.kernel.org
Description:
		Configure channel Y counter for non-quadrature or quadrature
		clock mode. Selecting non-quadrature clock mode will disable
		synchronous load mode. In quadrature clock mode, the channel Y
		scale attribute selects the encoder phase division (scale of 1
		selects full-cycle, scale of 0.5 selects half-cycle, scale of
		0.25 selects quarter-cycle) processed by the channel Y counter.

		Non-quadrature:
			The filter and decoder circuit are bypassed. Encoder A
			input serves as the count input and B as the UP/DOWN
			direction control input, with B = 1 selecting UP Count
			mode and B = 0 selecting Down Count mode.

		Quadrature:
			Encoder A and B inputs are digitally filtered and
			decoded for UP/DN clock.

What:		/sys/bus/iio/devices/iio:deviceX/in_countY_set_to_preset_on_index
KernelVersion:	4.10
Contact:	linux-iio@vger.kernel.org
Description:
		Whether to set channel Y counter with channel Y preset value
		when channel Y index input is active, or continuously count.
		Valid attribute values are boolean.

What:		/sys/bus/iio/devices/iio:deviceX/in_indexY_index_polarity
KernelVersion:	4.10
Contact:	linux-iio@vger.kernel.org
Description:
		Active level of channel Y index input; irrelevant in
		non-synchronous load mode.

What:		/sys/bus/iio/devices/iio:deviceX/in_indexY_synchronous_mode
KernelVersion:	4.10
Contact:	linux-iio@vger.kernel.org
Description:
		Configure channel Y counter for non-synchronous or synchronous
		load mode. Synchronous load mode cannot be selected in
		non-quadrature clock mode.

		Non-synchronous:
			A logic low level is the active level at this index
			input. The index function (as enabled via
			set_to_preset_on_index) 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
			set_to_preset_on_index) is performed synchronously with
			the quadrature clock on the active level of the index
			input.