xref: /linux/Documentation/ABI/testing/sysfs-bus-iio-timer-stm32 (revision 9eba381bf83b42b312cbae8050e357138782ba9a)
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.
196fb34812SFabrice Gasnier		Additional modes (on TRGO2 only):
206fb34812SFabrice Gasnier		- "OC5REF"    : OC5REF signal is used as trigger output.
216fb34812SFabrice Gasnier		- "OC6REF"    : OC6REF signal is used as trigger output.
226fb34812SFabrice Gasnier		- "compare_pulse_OC4REF":
236fb34812SFabrice Gasnier		  OC4REF rising or falling edges generate pulses.
246fb34812SFabrice Gasnier		- "compare_pulse_OC6REF":
256fb34812SFabrice Gasnier		  OC6REF rising or falling edges generate pulses.
266fb34812SFabrice Gasnier		- "compare_pulse_OC4REF_r_or_OC6REF_r":
276fb34812SFabrice Gasnier		  OC4REF or OC6REF rising edges generate pulses.
286fb34812SFabrice Gasnier		- "compare_pulse_OC4REF_r_or_OC6REF_f":
296fb34812SFabrice Gasnier		  OC4REF rising or OC6REF falling edges generate pulses.
306fb34812SFabrice Gasnier		- "compare_pulse_OC5REF_r_or_OC6REF_r":
316fb34812SFabrice Gasnier		  OC5REF or OC6REF rising edges generate pulses.
326fb34812SFabrice Gasnier		- "compare_pulse_OC5REF_r_or_OC6REF_f":
336fb34812SFabrice Gasnier		  OC5REF rising or OC6REF falling edges generate pulses.
346fb34812SFabrice Gasnier
356fb34812SFabrice Gasnier		+-----------+   +-------------+            +---------+
366fb34812SFabrice Gasnier		| Prescaler +-> | Counter     |        +-> | Master  | TRGO(2)
376fb34812SFabrice Gasnier		+-----------+   +--+--------+-+        |-> | Control +-->
386fb34812SFabrice Gasnier		                   |        |          ||  +---------+
396fb34812SFabrice Gasnier		                +--v--------+-+ OCxREF ||  +---------+
406fb34812SFabrice Gasnier		                | Chx compare +----------> | Output  | ChX
416fb34812SFabrice Gasnier		                +-----------+-+         |  | Control +-->
426fb34812SFabrice Gasnier		                      .     |           |  +---------+
436fb34812SFabrice Gasnier		                      .     |           |    .
446fb34812SFabrice Gasnier		                +-----------v-+ OC6REF  |    .
456fb34812SFabrice Gasnier		                | Ch6 compare +---------+>
466fb34812SFabrice Gasnier		                +-------------+
476fb34812SFabrice Gasnier
486fb34812SFabrice Gasnier		Example with: "compare_pulse_OC4REF_r_or_OC6REF_r":
496fb34812SFabrice Gasnier
506fb34812SFabrice Gasnier		                X
516fb34812SFabrice Gasnier		              X   X
526fb34812SFabrice Gasnier		            X .   . X
536fb34812SFabrice Gasnier		          X   .   .   X
546fb34812SFabrice Gasnier		        X     .   .     X
556fb34812SFabrice Gasnier		count X .     .   .     . X
566fb34812SFabrice Gasnier		        .     .   .     .
576fb34812SFabrice Gasnier		        .     .   .     .
586fb34812SFabrice Gasnier		        +---------------+
596fb34812SFabrice Gasnier		OC4REF  |     .   .     |
606fb34812SFabrice Gasnier		      +-+     .   .     +-+
616fb34812SFabrice Gasnier		        .     +---+     .
626fb34812SFabrice Gasnier		OC6REF  .     |   |     .
636fb34812SFabrice Gasnier		      +-------+   +-------+
646fb34812SFabrice Gasnier		        +-+   +-+
656fb34812SFabrice Gasnier		TRGO2   | |   | |
666fb34812SFabrice 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*9eba381bSBenjamin Gaignard
142*9eba381bSBenjamin GaignardWhat:		/sys/bus/iio/devices/iio:deviceX/in_count_trigger_mode_available
143*9eba381bSBenjamin GaignardKernelVersion:	4.13
144*9eba381bSBenjamin GaignardContact:	benjamin.gaignard@st.com
145*9eba381bSBenjamin GaignardDescription:
146*9eba381bSBenjamin Gaignard		Reading returns the list possible trigger modes.
147*9eba381bSBenjamin Gaignard
148*9eba381bSBenjamin GaignardWhat:		/sys/bus/iio/devices/iio:deviceX/in_count0_trigger_mode
149*9eba381bSBenjamin GaignardKernelVersion:	4.13
150*9eba381bSBenjamin GaignardContact:	benjamin.gaignard@st.com
151*9eba381bSBenjamin GaignardDescription:
152*9eba381bSBenjamin Gaignard		Configure the device counter trigger mode
153*9eba381bSBenjamin Gaignard		counting direction is set by in_count0_count_direction
154*9eba381bSBenjamin Gaignard		attribute and the counter is clocked by the connected trigger
155*9eba381bSBenjamin Gaignard		rising edges.
156