| What: /sys/bus/counter/devices/counterX/cascade_counts_enable | |
| KernelVersion: 6.4 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Indicates the cascading of Counts on Counter X. | |
| Valid attribute values are boolean. | |
| What: /sys/bus/counter/devices/counterX/external_input_phase_clock_select | |
| KernelVersion: 6.4 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Selects the external clock pin for phase counting mode of | |
| Counter X. | |
| MTCLKA-MTCLKB: | |
| MTCLKA and MTCLKB pins are selected for the external | |
| phase clock. | |
| MTCLKC-MTCLKD: | |
| MTCLKC and MTCLKD pins are selected for the external | |
| phase clock. | |
| What: /sys/bus/counter/devices/counterX/external_input_phase_clock_select_available | |
| KernelVersion: 6.4 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Discrete set of available values for the respective device | |
| configuration are listed in this file. | |
| What: /sys/bus/counter/devices/counterX/countY/count | |
| KernelVersion: 5.2 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Count data of Count Y represented as a string. | |
| What: /sys/bus/counter/devices/counterX/countY/compare | |
| KernelVersion: 6.15 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| If the counter device supports compare registers -- registers | |
| used to compare counter channels against a particular count -- | |
| the compare count for channel Y is provided by this attribute. | |
| What: /sys/bus/counter/devices/counterX/countY/capture | |
| KernelVersion: 6.1 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Historical capture of the Count Y count data. | |
| What: /sys/bus/counter/devices/counterX/countY/ceiling | |
| KernelVersion: 5.2 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Count value ceiling for Count Y. This is the upper limit for the | |
| respective counter. | |
| What: /sys/bus/counter/devices/counterX/countY/floor | |
| KernelVersion: 5.2 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Count value floor for Count Y. This is the lower limit for the | |
| respective counter. | |
| What: /sys/bus/counter/devices/counterX/countY/count_mode | |
| KernelVersion: 5.2 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Count mode for channel Y. The ceiling and floor values for | |
| Count Y are used by the count mode where required. The following | |
| count modes are available: | |
| 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 Count Y ceiling value, while the lower limit is set | |
| to the Count Y floor value. The counter freezes at | |
| count = ceiling when counting up, and at count = floor | |
| when counting down. At either of these limits, the | |
| counting is resumed only when the count direction is | |
| reversed. | |
| non-recycle: | |
| The counter is disabled whenever a counter 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 direct write. | |
| modulo-n: | |
| A count value boundary is set between the Count Y floor | |
| value and the Count Y ceiling value. The counter is | |
| reset to the Count Y floor value at count = ceiling when | |
| counting up, while the counter is set to the Count Y | |
| ceiling value at count = floor when counting down; the | |
| counter does not freeze at the boundary points, but | |
| counts continuously throughout. | |
| interrupt on terminal count: | |
| The output signal is initially low, and will remain low | |
| until the counter reaches zero. The output signal then | |
| goes high and remains high until a new preset value is | |
| set. | |
| hardware retriggerable one-shot: | |
| The output signal is initially high. The output signal | |
| will go low by a trigger input signal, and will remain | |
| low until the counter reaches zero. The output will then | |
| go high and remain high until the next trigger. A | |
| trigger results in loading the counter to the preset | |
| value and setting the output signal low, thus starting | |
| the one-shot pulse. | |
| rate generator: | |
| The output signal is initially high. When the counter | |
| has decremented to 1, the output signal goes low for one | |
| clock pulse. The output signal then goes high again, the | |
| counter is reloaded to the preset value, and the process | |
| repeats in a periodic manner as such. | |
| square wave mode: | |
| The output signal is initially high. | |
| If the initial count is even, the counter is decremented | |
| by two on succeeding clock pulses. When the count | |
| expires, the output signal changes value and the | |
| counter is reloaded to the preset value. The process | |
| repeats in periodic manner as such. | |
| If the initial count is odd, the initial count minus one | |
| (an even number) is loaded and then is decremented by | |
| two on succeeding clock pulses. One clock pulse after | |
| the count expires, the output signal goes low and the | |
| counter is reloaded to the preset value minus one. | |
| Succeeding clock pulses decrement the count by two. When | |
| the count expires, the output goes high again and the | |
| counter is reloaded to the preset value minus one. The | |
| process repeats in a periodic manner as such. | |
| software triggered strobe: | |
| The output signal is initially high. When the count | |
| expires, the output will go low for one clock pulse and | |
| then go high again. The counting sequence is "triggered" | |
| by setting the preset value. | |
| hardware triggered strobe: | |
| The output signal is initially high. Counting is started | |
| by a trigger input signal. When the count expires, the | |
| output signal will go low for one clock pulse and then | |
| go high again. A trigger results in loading the counter | |
| to the preset value. | |
| What: /sys/bus/counter/devices/counterX/countY/count_mode_available | |
| What: /sys/bus/counter/devices/counterX/countY/error_noise_available | |
| What: /sys/bus/counter/devices/counterX/countY/function_available | |
| What: /sys/bus/counter/devices/counterX/countY/prescaler_available | |
| What: /sys/bus/counter/devices/counterX/countY/signalZ_action_available | |
| KernelVersion: 5.2 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Discrete set of available values for the respective Count Y | |
| configuration are listed in this file. Values are delimited by | |
| newline characters. | |
| What: /sys/bus/counter/devices/counterX/countY/direction | |
| KernelVersion: 5.2 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Read-only attribute that indicates the count direction of Count | |
| Y. Two count directions are available: forward and backward. | |
| Some counter devices are able to determine the direction of | |
| their counting. For example, quadrature encoding counters can | |
| determine the direction of movement by evaluating the leading | |
| phase of the respective A and B quadrature encoding signals. | |
| This attribute exposes such count directions. | |
| What: /sys/bus/counter/devices/counterX/countY/enable | |
| KernelVersion: 5.2 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Whether channel Y counter is enabled. Valid attribute values are | |
| boolean. | |
| This attribute is intended to serve as a pause/unpause mechanism | |
| for Count Y. Suppose a counter device is used to count the total | |
| movement of a conveyor belt: this attribute allows an operator | |
| to temporarily pause the counter, service the conveyor belt, | |
| and then finally unpause the counter to continue where it had | |
| left off. | |
| What: /sys/bus/counter/devices/counterX/countY/error_noise | |
| KernelVersion: 5.2 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Read-only attribute that indicates whether excessive noise is | |
| present at the channel Y counter inputs. | |
| What: /sys/bus/counter/devices/counterX/countY/function | |
| KernelVersion: 5.2 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Count function mode of Count Y; count function evaluation is | |
| triggered by conditions specified by the Count Y signalZ_action | |
| attributes. The following count functions are available: | |
| increase: | |
| Accumulated count is incremented. | |
| decrease: | |
| Accumulated count is decremented. | |
| pulse-direction: | |
| Rising edges on signal A updates the respective count. | |
| The input level of signal B determines direction. | |
| quadrature x1 a: | |
| If direction is forward, rising edges on quadrature pair | |
| signal A updates the respective count; if the direction | |
| is backward, falling edges on quadrature pair signal A | |
| updates the respective count. Quadrature encoding | |
| determines the direction. | |
| quadrature x1 b: | |
| If direction is forward, rising edges on quadrature pair | |
| signal B updates the respective count; if the direction | |
| is backward, falling edges on quadrature pair signal B | |
| updates the respective count. Quadrature encoding | |
| determines the direction. | |
| quadrature x2 a: | |
| Any state transition on quadrature pair signal A updates | |
| the respective count. Quadrature encoding determines the | |
| direction. | |
| quadrature x2 b: | |
| Any state transition on quadrature pair signal B updates | |
| the respective count. Quadrature encoding determines the | |
| direction. | |
| quadrature x4: | |
| Any state transition on either quadrature pair signals | |
| updates the respective count. Quadrature encoding | |
| determines the direction. | |
| What: /sys/bus/counter/devices/counterX/countY/name | |
| KernelVersion: 5.2 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Read-only attribute that indicates the device-specific name of | |
| Count Y. If possible, this should match the name of the | |
| respective channel as it appears in the device datasheet. | |
| What: /sys/bus/counter/devices/counterX/countY/prescaler | |
| KernelVersion: 5.2 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Configure the prescaler value associated with Count Y. | |
| On the FlexTimer, the counter clock source passes through a | |
| prescaler (i.e. a counter). This acts like a clock | |
| divider. | |
| What: /sys/bus/counter/devices/counterX/countY/preset | |
| KernelVersion: 5.2 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| If the counter device supports preset registers -- registers | |
| used to load counter channels to a set count upon device-defined | |
| preset operation trigger events -- the preset count for channel | |
| Y is provided by this attribute. | |
| What: /sys/bus/counter/devices/counterX/countY/preset_enable | |
| KernelVersion: 5.2 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Whether channel Y counter preset operation is enabled. Valid | |
| attribute values are boolean. | |
| What: /sys/bus/counter/devices/counterX/countY/signalZ_action | |
| KernelVersion: 5.2 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Action mode of Count Y for Signal Z. This attribute indicates | |
| the condition of Signal Z that triggers the count function | |
| evaluation for Count Y. The following action modes are | |
| available: | |
| none: | |
| Signal does not trigger the count function. In | |
| Pulse-Direction count function mode, this Signal is | |
| evaluated as Direction. | |
| rising edge: | |
| Low state transitions to high state. | |
| falling edge: | |
| High state transitions to low state. | |
| both edges: | |
| Any state transition. | |
| What: /sys/bus/counter/devices/counterX/countY/num_overflows | |
| KernelVersion: 6.1 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| This attribute indicates the number of overflows of count Y. | |
| What: /sys/bus/counter/devices/counterX/cascade_counts_enable_component_id | |
| What: /sys/bus/counter/devices/counterX/external_input_phase_clock_select_component_id | |
| What: /sys/bus/counter/devices/counterX/countY/capture_component_id | |
| What: /sys/bus/counter/devices/counterX/countY/ceiling_component_id | |
| What: /sys/bus/counter/devices/counterX/countY/compare_component_id | |
| What: /sys/bus/counter/devices/counterX/countY/count_mode_component_id | |
| What: /sys/bus/counter/devices/counterX/countY/direction_component_id | |
| What: /sys/bus/counter/devices/counterX/countY/enable_component_id | |
| What: /sys/bus/counter/devices/counterX/countY/error_noise_component_id | |
| What: /sys/bus/counter/devices/counterX/countY/floor_component_id | |
| What: /sys/bus/counter/devices/counterX/countY/num_overflows_component_id | |
| What: /sys/bus/counter/devices/counterX/countY/prescaler_component_id | |
| What: /sys/bus/counter/devices/counterX/countY/preset_component_id | |
| What: /sys/bus/counter/devices/counterX/countY/preset_enable_component_id | |
| What: /sys/bus/counter/devices/counterX/countY/signalZ_action_component_id | |
| What: /sys/bus/counter/devices/counterX/signalY/cable_fault_component_id | |
| What: /sys/bus/counter/devices/counterX/signalY/cable_fault_enable_component_id | |
| What: /sys/bus/counter/devices/counterX/signalY/filter_clock_prescaler_component_id | |
| What: /sys/bus/counter/devices/counterX/signalY/frequency_component_id | |
| What: /sys/bus/counter/devices/counterX/signalY/index_polarity_component_id | |
| What: /sys/bus/counter/devices/counterX/signalY/polarity_component_id | |
| What: /sys/bus/counter/devices/counterX/signalY/synchronous_mode_component_id | |
| KernelVersion: 5.16 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Read-only attribute that indicates the component ID of the | |
| respective extension or Synapse. | |
| What: /sys/bus/counter/devices/counterX/countY/spike_filter_ns | |
| KernelVersion: 5.14 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| If the counter device supports programmable spike filter this | |
| attribute indicates the value in nanoseconds where noise pulses | |
| shorter or equal to configured value are ignored. Value 0 means | |
| filter is disabled. | |
| What: /sys/bus/counter/devices/counterX/events_queue_size | |
| KernelVersion: 5.16 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Size of the Counter events queue in number of struct | |
| counter_event data structures. The number of elements will be | |
| rounded-up to a power of 2. | |
| What: /sys/bus/counter/devices/counterX/name | |
| KernelVersion: 5.2 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Read-only attribute that indicates the device-specific name of | |
| the Counter. This should match the name of the device as it | |
| appears in its respective datasheet. | |
| What: /sys/bus/counter/devices/counterX/num_counts | |
| KernelVersion: 5.2 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Read-only attribute that indicates the total number of Counts | |
| belonging to the Counter. | |
| What: /sys/bus/counter/devices/counterX/num_signals | |
| KernelVersion: 5.2 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Read-only attribute that indicates the total number of Signals | |
| belonging to the Counter. | |
| What: /sys/bus/counter/devices/counterX/signalY/cable_fault | |
| KernelVersion: 5.7 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Read-only attribute that indicates whether a differential | |
| encoder cable fault (not connected or loose wires) is detected | |
| for the respective channel of Signal Y. Valid attribute values | |
| are boolean. Detection must first be enabled via the | |
| corresponding cable_fault_enable attribute. | |
| What: /sys/bus/counter/devices/counterX/signalY/cable_fault_enable | |
| KernelVersion: 5.7 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Whether detection of differential encoder cable faults for the | |
| respective channel of Signal Y is enabled. Valid attribute | |
| values are boolean. | |
| What: /sys/bus/counter/devices/counterX/signalY/filter_clock_prescaler | |
| KernelVersion: 5.7 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Filter clock factor for input Signal Y. This prescaler value | |
| affects the inputs of both quadrature pair signals. | |
| What: /sys/bus/counter/devices/counterX/signalY/index_polarity | |
| KernelVersion: 5.2 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Active level of index input Signal Y; irrelevant in | |
| non-synchronous load mode. | |
| What: /sys/bus/counter/devices/counterX/signalY/index_polarity_available | |
| What: /sys/bus/counter/devices/counterX/signalY/synchronous_mode_available | |
| KernelVersion: 5.2 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Discrete set of available values for the respective Signal Y | |
| configuration are listed in this file. | |
| What: /sys/bus/counter/devices/counterX/signalY/polarity | |
| KernelVersion: 6.1 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Active level of Signal Y. The following polarity values are | |
| available: | |
| positive: | |
| Signal high state considered active level (rising edge). | |
| negative: | |
| Signal low state considered active level (falling edge). | |
| What: /sys/bus/counter/devices/counterX/signalY/name | |
| KernelVersion: 5.2 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Read-only attribute that indicates the device-specific name of | |
| Signal Y. If possible, this should match the name of the | |
| respective signal as it appears in the device datasheet. | |
| What: /sys/bus/counter/devices/counterX/signalY/signal | |
| KernelVersion: 5.2 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Signal level state of Signal Y. The following signal level | |
| states are available: | |
| low: | |
| Low level state. | |
| high: | |
| High level state. | |
| What: /sys/bus/counter/devices/counterX/signalY/synchronous_mode | |
| KernelVersion: 5.2 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Configure the counter associated with Signal Y for | |
| non-synchronous or synchronous load mode. Synchronous load mode | |
| cannot be selected in non-quadrature (Pulse-Direction) clock | |
| mode. | |
| non-synchronous: | |
| A logic low level is the active level at this index | |
| input. The index function (as enabled via preset_enable) | |
| 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 | |
| preset_enable) is performed synchronously with the | |
| quadrature clock on the active level of the index input. | |
| What: /sys/bus/counter/devices/counterX/signalY/frequency | |
| KernelVersion: 6.1 | |
| Contact: linux-iio@vger.kernel.org | |
| Description: | |
| Read-only attribute that indicates the signal Y frequency, in Hz. |