summaryrefslogtreecommitdiff
path: root/Documentation/ABI/testing/sysfs-bus-iio-timer-stm32
blob: c4a4497c249aa5e154c06d9cf6056e7c97418264 (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
What:		/sys/bus/iio/devices/triggerX/master_mode_available
KernelVersion:	4.11
Contact:	benjamin.gaignard@st.com
Description:
		Reading returns the list possible master modes which are:


		- "reset"
				The UG bit from the TIMx_EGR register is
				used as trigger output (TRGO).
		- "enable"
				The Counter Enable signal CNT_EN is used
				as trigger output.
		- "update"
				The update event is selected as trigger output.
				For instance a master timer can then be used
				as a prescaler for a slave timer.
		- "compare_pulse"
				The trigger output send a positive pulse
				when the CC1IF flag is to be set.
		- "OC1REF"
				OC1REF signal is used as trigger output.
		- "OC2REF"
				OC2REF signal is used as trigger output.
		- "OC3REF"
				OC3REF signal is used as trigger output.
		- "OC4REF"
				OC4REF signal is used as trigger output.

		Additional modes (on TRGO2 only):

		- "OC5REF"
				OC5REF signal is used as trigger output.
		- "OC6REF"
				OC6REF signal is used as trigger output.
		- "compare_pulse_OC4REF":
				OC4REF rising or falling edges generate pulses.
		- "compare_pulse_OC6REF":
				OC6REF rising or falling edges generate pulses.
		- "compare_pulse_OC4REF_r_or_OC6REF_r":
				OC4REF or OC6REF rising edges generate pulses.
		- "compare_pulse_OC4REF_r_or_OC6REF_f":
				OC4REF rising or OC6REF falling edges generate
				pulses.
		- "compare_pulse_OC5REF_r_or_OC6REF_r":
				OC5REF or OC6REF rising edges generate pulses.
		- "compare_pulse_OC5REF_r_or_OC6REF_f":
				OC5REF rising or OC6REF falling edges generate
				pulses.

		::

		  +-----------+   +-------------+            +---------+
		  | Prescaler +-> | Counter     |        +-> | Master  | TRGO(2)
		  +-----------+   +--+--------+-+        |-> | Control +-->
		                     |        |          ||  +---------+
		                  +--v--------+-+ OCxREF ||  +---------+
		                  | Chx compare +----------> | Output  | ChX
		                  +-----------+-+         |  | Control +-->
		                        .     |           |  +---------+
		                        .     |           |    .
		                  +-----------v-+ OC6REF  |    .
		                  | Ch6 compare +---------+>
		                  +-------------+

		Example with: "compare_pulse_OC4REF_r_or_OC6REF_r"::

		                  X
		                X   X
		              X .   . X
		            X   .   .   X
		          X     .   .     X
		  count X .     .   .     . X
		          .     .   .     .
		          .     .   .     .
		          +---------------+
		  OC4REF  |     .   .     |
		        +-+     .   .     +-+
		          .     +---+     .
		  OC6REF  .     |   |     .
		        +-------+   +-------+
		          +-+   +-+
		  TRGO2   | |   | |
		        +-+ +---+ +---------+

What:		/sys/bus/iio/devices/triggerX/master_mode
KernelVersion:	4.11
Contact:	benjamin.gaignard@st.com
Description:
		Reading returns the current master modes.
		Writing set the master mode

What:		/sys/bus/iio/devices/triggerX/sampling_frequency
KernelVersion:	4.11
Contact:	benjamin.gaignard@st.com
Description:
		Reading returns the current sampling frequency.
		Writing an value different of 0 set and start sampling.
		Writing 0 stop sampling.

What:		/sys/bus/iio/devices/iio:deviceX/in_count0_preset
KernelVersion:	4.12
Contact:	benjamin.gaignard@st.com
Description:
		Reading returns the current preset value.
		Writing sets the preset value.
		When counting up the counter starts from 0 and fires an
		event when reach preset value.
		When counting down the counter start from preset value
		and fire event when reach 0.

What:		/sys/bus/iio/devices/iio:deviceX/in_count_enable_mode_available
KernelVersion:	4.12
Contact:	benjamin.gaignard@st.com
Description:
		Reading returns the list possible enable modes.

What:		/sys/bus/iio/devices/iio:deviceX/in_count0_enable_mode
KernelVersion:	4.12
Contact:	benjamin.gaignard@st.com
Description:
		Configure the device counter enable modes, in all case
		counting direction is set by in_count0_count_direction
		attribute and the counter is clocked by the internal clock.

		always:
			Counter is always ON.

		gated:
			Counting is enabled when connected trigger signal
			level is high else counting is disabled.

		triggered:
			Counting is enabled on rising edge of the connected
			trigger, and remains enabled for the duration of this
			selected mode.

What:		/sys/bus/iio/devices/iio:deviceX/in_count_trigger_mode_available
KernelVersion:	4.13
Contact:	benjamin.gaignard@st.com
Description:
		Reading returns the list possible trigger modes.

What:		/sys/bus/iio/devices/iio:deviceX/in_count0_trigger_mode
KernelVersion:	4.13
Contact:	benjamin.gaignard@st.com
Description:
		Configure the device counter trigger mode
		counting direction is set by in_count0_count_direction
		attribute and the counter is clocked by the connected trigger
		rising edges.