1What: /sys/bus/counter/devices/counterX/countY/count 2KernelVersion: 5.2 3Contact: linux-iio@vger.kernel.org 4Description: 5 Count data of Count Y represented as a string. 6 7What: /sys/bus/counter/devices/counterX/countY/ceiling 8KernelVersion: 5.2 9Contact: linux-iio@vger.kernel.org 10Description: 11 Count value ceiling for Count Y. This is the upper limit for the 12 respective counter. 13 14What: /sys/bus/counter/devices/counterX/countY/floor 15KernelVersion: 5.2 16Contact: linux-iio@vger.kernel.org 17Description: 18 Count value floor for Count Y. This is the lower limit for the 19 respective counter. 20 21What: /sys/bus/counter/devices/counterX/countY/count_mode 22KernelVersion: 5.2 23Contact: linux-iio@vger.kernel.org 24Description: 25 Count mode for channel Y. The ceiling and floor values for 26 Count Y are used by the count mode where required. The following 27 count modes are available: 28 29 normal: 30 Counting is continuous in either direction. 31 32 range limit: 33 An upper or lower limit is set, mimicking limit switches 34 in the mechanical counterpart. The upper limit is set to 35 the Count Y ceiling value, while the lower limit is set 36 to the Count Y floor value. The counter freezes at 37 count = ceiling when counting up, and at count = floor 38 when counting down. At either of these limits, the 39 counting is resumed only when the count direction is 40 reversed. 41 42 non-recycle: 43 The counter is disabled whenever a counter overflow or 44 underflow takes place. The counter is re-enabled when a 45 new count value is loaded to the counter via a preset 46 operation or direct write. 47 48 modulo-n: 49 A count value boundary is set between the Count Y floor 50 value and the Count Y ceiling value. The counter is 51 reset to the Count Y floor value at count = ceiling when 52 counting up, while the counter is set to the Count Y 53 ceiling value at count = floor when counting down; the 54 counter does not freeze at the boundary points, but 55 counts continuously throughout. 56 57What: /sys/bus/counter/devices/counterX/countY/count_mode_available 58What: /sys/bus/counter/devices/counterX/countY/error_noise_available 59What: /sys/bus/counter/devices/counterX/countY/function_available 60What: /sys/bus/counter/devices/counterX/countY/prescaler_available 61What: /sys/bus/counter/devices/counterX/countY/signalZ_action_available 62KernelVersion: 5.2 63Contact: linux-iio@vger.kernel.org 64Description: 65 Discrete set of available values for the respective Count Y 66 configuration are listed in this file. Values are delimited by 67 newline characters. 68 69What: /sys/bus/counter/devices/counterX/countY/direction 70KernelVersion: 5.2 71Contact: linux-iio@vger.kernel.org 72Description: 73 Read-only attribute that indicates the count direction of Count 74 Y. Two count directions are available: forward and backward. 75 76 Some counter devices are able to determine the direction of 77 their counting. For example, quadrature encoding counters can 78 determine the direction of movement by evaluating the leading 79 phase of the respective A and B quadrature encoding signals. 80 This attribute exposes such count directions. 81 82What: /sys/bus/counter/devices/counterX/countY/enable 83KernelVersion: 5.2 84Contact: linux-iio@vger.kernel.org 85Description: 86 Whether channel Y counter is enabled. Valid attribute values are 87 boolean. 88 89 This attribute is intended to serve as a pause/unpause mechanism 90 for Count Y. Suppose a counter device is used to count the total 91 movement of a conveyor belt: this attribute allows an operator 92 to temporarily pause the counter, service the conveyor belt, 93 and then finally unpause the counter to continue where it had 94 left off. 95 96What: /sys/bus/counter/devices/counterX/countY/error_noise 97KernelVersion: 5.2 98Contact: linux-iio@vger.kernel.org 99Description: 100 Read-only attribute that indicates whether excessive noise is 101 present at the channel Y counter inputs. 102 103What: /sys/bus/counter/devices/counterX/countY/function 104KernelVersion: 5.2 105Contact: linux-iio@vger.kernel.org 106Description: 107 Count function mode of Count Y; count function evaluation is 108 triggered by conditions specified by the Count Y signalZ_action 109 attributes. The following count functions are available: 110 111 increase: 112 Accumulated count is incremented. 113 114 decrease: 115 Accumulated count is decremented. 116 117 pulse-direction: 118 Rising edges on signal A updates the respective count. 119 The input level of signal B determines direction. 120 121 quadrature x1 a: 122 If direction is forward, rising edges on quadrature pair 123 signal A updates the respective count; if the direction 124 is backward, falling edges on quadrature pair signal A 125 updates the respective count. Quadrature encoding 126 determines the direction. 127 128 quadrature x1 b: 129 If direction is forward, rising edges on quadrature pair 130 signal B updates the respective count; if the direction 131 is backward, falling edges on quadrature pair signal B 132 updates the respective count. Quadrature encoding 133 determines the direction. 134 135 quadrature x2 a: 136 Any state transition on quadrature pair signal A updates 137 the respective count. Quadrature encoding determines the 138 direction. 139 140 quadrature x2 b: 141 Any state transition on quadrature pair signal B updates 142 the respective count. Quadrature encoding determines the 143 direction. 144 145 quadrature x4: 146 Any state transition on either quadrature pair signals 147 updates the respective count. Quadrature encoding 148 determines the direction. 149 150What: /sys/bus/counter/devices/counterX/countY/name 151KernelVersion: 5.2 152Contact: linux-iio@vger.kernel.org 153Description: 154 Read-only attribute that indicates the device-specific name of 155 Count Y. If possible, this should match the name of the 156 respective channel as it appears in the device datasheet. 157 158What: /sys/bus/counter/devices/counterX/countY/prescaler 159KernelVersion: 5.2 160Contact: linux-iio@vger.kernel.org 161Description: 162 Configure the prescaler value associated with Count Y. 163 On the FlexTimer, the counter clock source passes through a 164 prescaler (i.e. a counter). This acts like a clock 165 divider. 166 167What: /sys/bus/counter/devices/counterX/countY/preset 168KernelVersion: 5.2 169Contact: linux-iio@vger.kernel.org 170Description: 171 If the counter device supports preset registers -- registers 172 used to load counter channels to a set count upon device-defined 173 preset operation trigger events -- the preset count for channel 174 Y is provided by this attribute. 175 176What: /sys/bus/counter/devices/counterX/countY/preset_enable 177KernelVersion: 5.2 178Contact: linux-iio@vger.kernel.org 179Description: 180 Whether channel Y counter preset operation is enabled. Valid 181 attribute values are boolean. 182 183What: /sys/bus/counter/devices/counterX/countY/signalZ_action 184KernelVersion: 5.2 185Contact: linux-iio@vger.kernel.org 186Description: 187 Action mode of Count Y for Signal Z. This attribute indicates 188 the condition of Signal Z that triggers the count function 189 evaluation for Count Y. The following action modes are 190 available: 191 192 none: 193 Signal does not trigger the count function. In 194 Pulse-Direction count function mode, this Signal is 195 evaluated as Direction. 196 197 rising edge: 198 Low state transitions to high state. 199 200 falling edge: 201 High state transitions to low state. 202 203 both edges: 204 Any state transition. 205 206What: /sys/bus/counter/devices/counterX/countY/ceiling_component_id 207What: /sys/bus/counter/devices/counterX/countY/floor_component_id 208What: /sys/bus/counter/devices/counterX/countY/count_mode_component_id 209What: /sys/bus/counter/devices/counterX/countY/direction_component_id 210What: /sys/bus/counter/devices/counterX/countY/enable_component_id 211What: /sys/bus/counter/devices/counterX/countY/error_noise_component_id 212What: /sys/bus/counter/devices/counterX/countY/prescaler_component_id 213What: /sys/bus/counter/devices/counterX/countY/preset_component_id 214What: /sys/bus/counter/devices/counterX/countY/preset_enable_component_id 215What: /sys/bus/counter/devices/counterX/countY/signalZ_action_component_id 216What: /sys/bus/counter/devices/counterX/signalY/cable_fault_component_id 217What: /sys/bus/counter/devices/counterX/signalY/cable_fault_enable_component_id 218What: /sys/bus/counter/devices/counterX/signalY/filter_clock_prescaler_component_id 219What: /sys/bus/counter/devices/counterX/signalY/index_polarity_component_id 220What: /sys/bus/counter/devices/counterX/signalY/synchronous_mode_component_id 221KernelVersion: 5.16 222Contact: linux-iio@vger.kernel.org 223Description: 224 Read-only attribute that indicates the component ID of the 225 respective extension or Synapse. 226 227What: /sys/bus/counter/devices/counterX/countY/spike_filter_ns 228KernelVersion: 5.14 229Contact: linux-iio@vger.kernel.org 230Description: 231 If the counter device supports programmable spike filter this 232 attribute indicates the value in nanoseconds where noise pulses 233 shorter or equal to configured value are ignored. Value 0 means 234 filter is disabled. 235 236What: /sys/bus/counter/devices/counterX/events_queue_size 237KernelVersion: 5.16 238Contact: linux-iio@vger.kernel.org 239Description: 240 Size of the Counter events queue in number of struct 241 counter_event data structures. The number of elements will be 242 rounded-up to a power of 2. 243 244What: /sys/bus/counter/devices/counterX/name 245KernelVersion: 5.2 246Contact: linux-iio@vger.kernel.org 247Description: 248 Read-only attribute that indicates the device-specific name of 249 the Counter. This should match the name of the device as it 250 appears in its respective datasheet. 251 252What: /sys/bus/counter/devices/counterX/num_counts 253KernelVersion: 5.2 254Contact: linux-iio@vger.kernel.org 255Description: 256 Read-only attribute that indicates the total number of Counts 257 belonging to the Counter. 258 259What: /sys/bus/counter/devices/counterX/num_signals 260KernelVersion: 5.2 261Contact: linux-iio@vger.kernel.org 262Description: 263 Read-only attribute that indicates the total number of Signals 264 belonging to the Counter. 265 266What: /sys/bus/counter/devices/counterX/signalY/cable_fault 267KernelVersion: 5.7 268Contact: linux-iio@vger.kernel.org 269Description: 270 Read-only attribute that indicates whether a differential 271 encoder cable fault (not connected or loose wires) is detected 272 for the respective channel of Signal Y. Valid attribute values 273 are boolean. Detection must first be enabled via the 274 corresponding cable_fault_enable attribute. 275 276What: /sys/bus/counter/devices/counterX/signalY/cable_fault_enable 277KernelVersion: 5.7 278Contact: linux-iio@vger.kernel.org 279Description: 280 Whether detection of differential encoder cable faults for the 281 respective channel of Signal Y is enabled. Valid attribute 282 values are boolean. 283 284What: /sys/bus/counter/devices/counterX/signalY/filter_clock_prescaler 285KernelVersion: 5.7 286Contact: linux-iio@vger.kernel.org 287Description: 288 Filter clock factor for input Signal Y. This prescaler value 289 affects the inputs of both quadrature pair signals. 290 291What: /sys/bus/counter/devices/counterX/signalY/index_polarity 292KernelVersion: 5.2 293Contact: linux-iio@vger.kernel.org 294Description: 295 Active level of index input Signal Y; irrelevant in 296 non-synchronous load mode. 297 298What: /sys/bus/counter/devices/counterX/signalY/index_polarity_available 299What: /sys/bus/counter/devices/counterX/signalY/synchronous_mode_available 300KernelVersion: 5.2 301Contact: linux-iio@vger.kernel.org 302Description: 303 Discrete set of available values for the respective Signal Y 304 configuration are listed in this file. 305 306What: /sys/bus/counter/devices/counterX/signalY/name 307KernelVersion: 5.2 308Contact: linux-iio@vger.kernel.org 309Description: 310 Read-only attribute that indicates the device-specific name of 311 Signal Y. If possible, this should match the name of the 312 respective signal as it appears in the device datasheet. 313 314What: /sys/bus/counter/devices/counterX/signalY/signal 315KernelVersion: 5.2 316Contact: linux-iio@vger.kernel.org 317Description: 318 Signal level state of Signal Y. The following signal level 319 states are available: 320 321 low: 322 Low level state. 323 324 high: 325 High level state. 326 327What: /sys/bus/counter/devices/counterX/signalY/synchronous_mode 328KernelVersion: 5.2 329Contact: linux-iio@vger.kernel.org 330Description: 331 Configure the counter associated with Signal Y for 332 non-synchronous or synchronous load mode. Synchronous load mode 333 cannot be selected in non-quadrature (Pulse-Direction) clock 334 mode. 335 336 non-synchronous: 337 A logic low level is the active level at this index 338 input. The index function (as enabled via preset_enable) 339 is performed directly on the active level of the index 340 input. 341 342 synchronous: 343 Intended for interfacing with encoder Index output in 344 quadrature clock mode. The active level is configured 345 via index_polarity. The index function (as enabled via 346 preset_enable) is performed synchronously with the 347 quadrature clock on the active level of the index input. 348