xref: /linux/Documentation/ABI/testing/sysfs-bus-iio-timer-stm32 (revision 6fb34812c2a2a4cdcdad4452b9634892812fa97b)
193fbe91bSBenjamin GaignardWhat:		/sys/bus/iio/devices/triggerX/master_mode_available
293fbe91bSBenjamin GaignardKernelVersion:	4.11
393fbe91bSBenjamin GaignardContact:	benjamin.gaignard@st.com
493fbe91bSBenjamin GaignardDescription:
593fbe91bSBenjamin Gaignard		Reading returns the list possible master modes which are:
64adec7daSBenjamin Gaignard		- "reset"     :	The UG bit from the TIMx_EGR register is
74adec7daSBenjamin Gaignard				used as trigger output (TRGO).
84adec7daSBenjamin Gaignard		- "enable"    : The Counter Enable signal CNT_EN is used
94adec7daSBenjamin Gaignard				as trigger output.
1093fbe91bSBenjamin Gaignard		- "update"    : The update event is selected as trigger output.
114adec7daSBenjamin Gaignard				For instance a master timer can then be used
124adec7daSBenjamin Gaignard				as a prescaler for a slave timer.
134adec7daSBenjamin Gaignard		- "compare_pulse" : The trigger output send a positive pulse
144adec7daSBenjamin Gaignard				    when the CC1IF flag is to be set.
1593fbe91bSBenjamin Gaignard		- "OC1REF"    : OC1REF signal is used as trigger output.
1693fbe91bSBenjamin Gaignard		- "OC2REF"    : OC2REF signal is used as trigger output.
1793fbe91bSBenjamin Gaignard		- "OC3REF"    : OC3REF signal is used as trigger output.
1893fbe91bSBenjamin Gaignard		- "OC4REF"    : OC4REF signal is used as trigger output.
19*6fb34812SFabrice Gasnier		Additional modes (on TRGO2 only):
20*6fb34812SFabrice Gasnier		- "OC5REF"    : OC5REF signal is used as trigger output.
21*6fb34812SFabrice Gasnier		- "OC6REF"    : OC6REF signal is used as trigger output.
22*6fb34812SFabrice Gasnier		- "compare_pulse_OC4REF":
23*6fb34812SFabrice Gasnier		  OC4REF rising or falling edges generate pulses.
24*6fb34812SFabrice Gasnier		- "compare_pulse_OC6REF":
25*6fb34812SFabrice Gasnier		  OC6REF rising or falling edges generate pulses.
26*6fb34812SFabrice Gasnier		- "compare_pulse_OC4REF_r_or_OC6REF_r":
27*6fb34812SFabrice Gasnier		  OC4REF or OC6REF rising edges generate pulses.
28*6fb34812SFabrice Gasnier		- "compare_pulse_OC4REF_r_or_OC6REF_f":
29*6fb34812SFabrice Gasnier		  OC4REF rising or OC6REF falling edges generate pulses.
30*6fb34812SFabrice Gasnier		- "compare_pulse_OC5REF_r_or_OC6REF_r":
31*6fb34812SFabrice Gasnier		  OC5REF or OC6REF rising edges generate pulses.
32*6fb34812SFabrice Gasnier		- "compare_pulse_OC5REF_r_or_OC6REF_f":
33*6fb34812SFabrice Gasnier		  OC5REF rising or OC6REF falling edges generate pulses.
34*6fb34812SFabrice Gasnier
35*6fb34812SFabrice Gasnier		+-----------+   +-------------+            +---------+
36*6fb34812SFabrice Gasnier		| Prescaler +-> | Counter     |        +-> | Master  | TRGO(2)
37*6fb34812SFabrice Gasnier		+-----------+   +--+--------+-+        |-> | Control +-->
38*6fb34812SFabrice Gasnier		                   |        |          ||  +---------+
39*6fb34812SFabrice Gasnier		                +--v--------+-+ OCxREF ||  +---------+
40*6fb34812SFabrice Gasnier		                | Chx compare +----------> | Output  | ChX
41*6fb34812SFabrice Gasnier		                +-----------+-+         |  | Control +-->
42*6fb34812SFabrice Gasnier		                      .     |           |  +---------+
43*6fb34812SFabrice Gasnier		                      .     |           |    .
44*6fb34812SFabrice Gasnier		                +-----------v-+ OC6REF  |    .
45*6fb34812SFabrice Gasnier		                | Ch6 compare +---------+>
46*6fb34812SFabrice Gasnier		                +-------------+
47*6fb34812SFabrice Gasnier
48*6fb34812SFabrice Gasnier		Example with: "compare_pulse_OC4REF_r_or_OC6REF_r":
49*6fb34812SFabrice Gasnier
50*6fb34812SFabrice Gasnier		                X
51*6fb34812SFabrice Gasnier		              X   X
52*6fb34812SFabrice Gasnier		            X .   . X
53*6fb34812SFabrice Gasnier		          X   .   .   X
54*6fb34812SFabrice Gasnier		        X     .   .     X
55*6fb34812SFabrice Gasnier		count X .     .   .     . X
56*6fb34812SFabrice Gasnier		        .     .   .     .
57*6fb34812SFabrice Gasnier		        .     .   .     .
58*6fb34812SFabrice Gasnier		        +---------------+
59*6fb34812SFabrice Gasnier		OC4REF  |     .   .     |
60*6fb34812SFabrice Gasnier		      +-+     .   .     +-+
61*6fb34812SFabrice Gasnier		        .     +---+     .
62*6fb34812SFabrice Gasnier		OC6REF  .     |   |     .
63*6fb34812SFabrice Gasnier		      +-------+   +-------+
64*6fb34812SFabrice Gasnier		        +-+   +-+
65*6fb34812SFabrice Gasnier		TRGO2   | |   | |
66*6fb34812SFabrice Gasnier		      +-+ +---+ +---------+
6793fbe91bSBenjamin Gaignard
6893fbe91bSBenjamin GaignardWhat:		/sys/bus/iio/devices/triggerX/master_mode
6993fbe91bSBenjamin GaignardKernelVersion:	4.11
7093fbe91bSBenjamin GaignardContact:	benjamin.gaignard@st.com
7193fbe91bSBenjamin GaignardDescription:
7293fbe91bSBenjamin Gaignard		Reading returns the current master modes.
7393fbe91bSBenjamin Gaignard		Writing set the master mode
7493fbe91bSBenjamin Gaignard
7593fbe91bSBenjamin GaignardWhat:		/sys/bus/iio/devices/triggerX/sampling_frequency
7693fbe91bSBenjamin GaignardKernelVersion:	4.11
7793fbe91bSBenjamin GaignardContact:	benjamin.gaignard@st.com
7893fbe91bSBenjamin GaignardDescription:
7993fbe91bSBenjamin Gaignard		Reading returns the current sampling frequency.
8093fbe91bSBenjamin Gaignard		Writing an value different of 0 set and start sampling.
8193fbe91bSBenjamin Gaignard		Writing 0 stop sampling.
824adec7daSBenjamin Gaignard
834adec7daSBenjamin GaignardWhat:		/sys/bus/iio/devices/iio:deviceX/in_count0_preset
844adec7daSBenjamin GaignardKernelVersion:	4.12
854adec7daSBenjamin GaignardContact:	benjamin.gaignard@st.com
864adec7daSBenjamin GaignardDescription:
874adec7daSBenjamin Gaignard		Reading returns the current preset value.
884adec7daSBenjamin Gaignard		Writing sets the preset value.
894adec7daSBenjamin Gaignard		When counting up the counter starts from 0 and fires an
904adec7daSBenjamin Gaignard		event when reach preset value.
914adec7daSBenjamin Gaignard		When counting down the counter start from preset value
924adec7daSBenjamin Gaignard		and fire event when reach 0.
934adec7daSBenjamin Gaignard
944adec7daSBenjamin GaignardWhat:		/sys/bus/iio/devices/iio:deviceX/in_count_quadrature_mode_available
954adec7daSBenjamin GaignardKernelVersion:	4.12
964adec7daSBenjamin GaignardContact:	benjamin.gaignard@st.com
974adec7daSBenjamin GaignardDescription:
984adec7daSBenjamin Gaignard		Reading returns the list possible quadrature modes.
994adec7daSBenjamin Gaignard
1004adec7daSBenjamin GaignardWhat:		/sys/bus/iio/devices/iio:deviceX/in_count0_quadrature_mode
1014adec7daSBenjamin GaignardKernelVersion:	4.12
1024adec7daSBenjamin GaignardContact:	benjamin.gaignard@st.com
1034adec7daSBenjamin GaignardDescription:
1044adec7daSBenjamin Gaignard		Configure the device counter quadrature modes:
1054adec7daSBenjamin Gaignard		channel_A:
1064adec7daSBenjamin Gaignard			Encoder A input servers as the count input and B as
1074adec7daSBenjamin Gaignard			the UP/DOWN direction control input.
1084adec7daSBenjamin Gaignard
1094adec7daSBenjamin Gaignard		channel_B:
1104adec7daSBenjamin Gaignard			Encoder B input serves as the count input and A as
1114adec7daSBenjamin Gaignard			the UP/DOWN direction control input.
1124adec7daSBenjamin Gaignard
1134adec7daSBenjamin Gaignard		quadrature:
1144adec7daSBenjamin Gaignard			Encoder A and B inputs are mixed to get direction
1154adec7daSBenjamin Gaignard			and count with a scale of 0.25.
1162a830a45SBenjamin Gaignard
1172a830a45SBenjamin GaignardWhat:		/sys/bus/iio/devices/iio:deviceX/in_count_enable_mode_available
1182a830a45SBenjamin GaignardKernelVersion:	4.12
1192a830a45SBenjamin GaignardContact:	benjamin.gaignard@st.com
1202a830a45SBenjamin GaignardDescription:
1212a830a45SBenjamin Gaignard		Reading returns the list possible enable modes.
1222a830a45SBenjamin Gaignard
1232a830a45SBenjamin GaignardWhat:		/sys/bus/iio/devices/iio:deviceX/in_count0_enable_mode
1242a830a45SBenjamin GaignardKernelVersion:	4.12
1252a830a45SBenjamin GaignardContact:	benjamin.gaignard@st.com
1262a830a45SBenjamin GaignardDescription:
1272a830a45SBenjamin Gaignard		Configure the device counter enable modes, in all case
1282a830a45SBenjamin Gaignard		counting direction is set by in_count0_count_direction
1292a830a45SBenjamin Gaignard		attribute and the counter is clocked by the internal clock.
1302a830a45SBenjamin Gaignard		always:
1312a830a45SBenjamin Gaignard			Counter is always ON.
1322a830a45SBenjamin Gaignard
1332a830a45SBenjamin Gaignard		gated:
1342a830a45SBenjamin Gaignard			Counting is enabled when connected trigger signal
1352a830a45SBenjamin Gaignard			level is high else counting is disabled.
1362a830a45SBenjamin Gaignard
1372a830a45SBenjamin Gaignard		triggered:
1382a830a45SBenjamin Gaignard			Counting is enabled on rising edge of the connected
1392a830a45SBenjamin Gaignard			trigger, and remains enabled for the duration of this
1402a830a45SBenjamin Gaignard			selected mode.
141