linux-imx/Documentation/ABI/testing/sysfs-bus-iio-timer-stm32
Jonathan Cameron 41a7d6718b iio: ABI: stm32-timer-trigger: Fuse unusual ABI into main doc.
We can't duplicate the description of sampling_frequency. This device
has some unusual requirements which we solved by giving a
sampling_frequency of 0 special meaning. As such add a note
about this unusual usage to the main documentation.

Whilst I don't particularly like this resolution, it is the best
I could come up with given earlier discussion on this topic.

Link: https://lore.kernel.org/linux-iio/20210315101217.00002c50@Huawei.com/
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Fabrice Gasnier <fabrice.gasnier@foss.st.com>
Reviewed-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Link: https://lore.kernel.org/r/20220626165511.602202-4-jic23@kernel.org
2022-07-18 18:38:34 +01:00

4.5 KiB

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/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.