Merge tag 'percpu-for-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/dennis...
[linux-2.6-block.git] / Documentation / ABI / testing / sysfs-bus-iio
1 What:           /sys/bus/iio/devices/iio:deviceX
2 KernelVersion:  2.6.35
3 Contact:        linux-iio@vger.kernel.org
4 Description:
5                 Hardware chip or device accessed by one communication port.
6                 Corresponds to a grouping of sensor channels. X is the IIO
7                 index of the device.
8
9 What:           /sys/bus/iio/devices/triggerX
10 KernelVersion:  2.6.35
11 Contact:        linux-iio@vger.kernel.org
12 Description:
13                 An event driven driver of data capture to an in kernel buffer.
14                 May be provided by a device driver that also has an IIO device
15                 based on hardware generated events (e.g. data ready) or
16                 provided by a separate driver for other hardware (e.g.
17                 periodic timer, GPIO or high resolution timer).
18
19                 Contains trigger type specific elements. These do not
20                 generalize well and hence are not documented in this file.
21                 X is the IIO index of the trigger.
22
23 What:           /sys/bus/iio/devices/iio:deviceX/buffer
24 KernelVersion:  2.6.35
25 Contact:        linux-iio@vger.kernel.org
26 Description:
27                 Directory of attributes relating to the buffer for the device.
28
29 What:           /sys/bus/iio/devices/iio:deviceX/name
30 KernelVersion:  2.6.35
31 Contact:        linux-iio@vger.kernel.org
32 Description:
33                 Description of the physical chip / device for device X.
34                 Typically a part number.
35
36 What:           /sys/bus/iio/devices/iio:deviceX/label
37 KernelVersion:  5.8
38 Contact:        linux-iio@vger.kernel.org
39 Description:
40                 Optional symbolic label for a device.
41                 This is useful for userspace to be able to better identify an
42                 individual device.
43
44                 The contents of the label are free-form, but there are some
45                 standardized uses:
46
47                 For proximity sensors which give the proximity (of a person) to
48                 a certain wlan or wwan antenna the following standardized labels
49                 are used:
50
51                 * "proximity-wifi"
52                 * "proximity-lte"
53                 * "proximity-wifi-lte"
54                 * "proximity-wifi-left"
55                 * "proximity-wifi-right"
56
57                 These are used to indicate to userspace that these proximity
58                 sensors may be used to tune transmit power to ensure that
59                 Specific Absorption Rate (SAR) limits are honored.
60                 The "-left" and "-right" labels are for devices with multiple
61                 antennas.
62
63                 In some laptops/tablets the standardized proximity sensor labels
64                 instead indicate proximity to a specific part of the device:
65
66                 * "proximity-palmrest" indicates proximity to the keyboard's palmrest
67                 * "proximity-palmrest-left" indicates proximity to the left part of the palmrest
68                 * "proximity-palmrest-right" indicates proximity to the right part of the palmrest
69                 * "proximity-lap" indicates the device is being used on someone's lap
70
71                 Note "proximity-lap" is special in that its value may be
72                 calculated by firmware from other sensor readings, rather then
73                 being a raw sensor reading.
74
75                 For accelerometers used in 2-in-1s with 360° (yoga-style) hinges,
76                 which have an accelerometer in both their base and their display,
77                 the following standardized labels are used:
78
79                 * "accel-base"
80                 * "accel-display"
81
82                 For devices where an accelerometer is housed in the swivel camera subassembly
83                 (for AR application), the following standardized label is used:
84
85                 * "accel-camera"
86
87 What:           /sys/bus/iio/devices/iio:deviceX/current_timestamp_clock
88 KernelVersion:  4.5
89 Contact:        linux-iio@vger.kernel.org
90 Description:
91                 String identifying current posix clock used to timestamp
92                 buffered samples and events for device X.
93
94 What:           /sys/bus/iio/devices/iio:deviceX/sampling_frequency
95 What:           /sys/bus/iio/devices/iio:deviceX/in_intensity_sampling_frequency
96 What:           /sys/bus/iio/devices/iio:deviceX/buffer/sampling_frequency
97 What:           /sys/bus/iio/devices/triggerX/sampling_frequency
98 KernelVersion:  2.6.35
99 Contact:        linux-iio@vger.kernel.org
100 Description:
101                 Some devices have internal clocks.  This parameter sets the
102                 resulting sampling frequency.  In many devices this
103                 parameter has an effect on input filters etc. rather than
104                 simply controlling when the input is sampled.  As this
105                 affects data ready triggers, hardware buffers and the sysfs
106                 direct access interfaces, it may be found in any of the
107                 relevant directories.  If it affects all of the above
108                 then it is to be found in the base device directory.
109
110                 The stm32-timer-trigger has the additional characteristic that
111                 a sampling_frequency of 0 is defined to stop sampling.
112
113 What:           /sys/bus/iio/devices/iio:deviceX/sampling_frequency_available
114 What:           /sys/bus/iio/devices/iio:deviceX/in_intensity_sampling_frequency_available
115 What:           /sys/bus/iio/devices/iio:deviceX/in_proximity_sampling_frequency_available
116 What:           /sys/.../iio:deviceX/buffer/sampling_frequency_available
117 What:           /sys/bus/iio/devices/triggerX/sampling_frequency_available
118 KernelVersion:  2.6.35
119 Contact:        linux-iio@vger.kernel.org
120 Description:
121                 When the internal sampling clock can only take a specific set of
122                 frequencies, we can specify the available values with:
123
124                 - a small discrete set of values like "0 2 4 6 8"
125                 - a range with minimum, step and maximum frequencies like
126                   "[min step max]"
127
128 What:           /sys/bus/iio/devices/iio:deviceX/oversampling_ratio
129 KernelVersion:  2.6.38
130 Contact:        linux-iio@vger.kernel.org
131 Description:
132                 Hardware dependent ADC oversampling. Controls the sampling ratio
133                 of the digital filter if available.
134
135 What:           /sys/bus/iio/devices/iio:deviceX/oversampling_ratio_available
136 KernelVersion:  2.6.38
137 Contact:        linux-iio@vger.kernel.org
138 Description:
139                 Hardware dependent values supported by the oversampling filter.
140
141 What:           /sys/bus/iio/devices/iio:deviceX/in_voltageY_raw
142 What:           /sys/bus/iio/devices/iio:deviceX/in_voltageY_supply_raw
143 What:           /sys/bus/iio/devices/iio:deviceX/in_voltageY_i_raw
144 What:           /sys/bus/iio/devices/iio:deviceX/in_voltageY_q_raw
145 KernelVersion:  2.6.35
146 Contact:        linux-iio@vger.kernel.org
147 Description:
148                 Raw (unscaled no bias removal etc.) voltage measurement from
149                 channel Y. In special cases where the channel does not
150                 correspond to externally available input one of the named
151                 versions may be used. The number must always be specified and
152                 unique to allow association with event codes. Units after
153                 application of scale and offset are millivolts.
154
155                 Channels with 'i' and 'q' modifiers always exist in pairs and both
156                 channels refer to the same signal. The 'i' channel contains the in-phase
157                 component of the signal while the 'q' channel contains the quadrature
158                 component.
159
160 What:           /sys/bus/iio/devices/iio:deviceX/in_voltageY-voltageZ_raw
161 KernelVersion:  2.6.35
162 Contact:        linux-iio@vger.kernel.org
163 Description:
164                 Raw (unscaled) differential voltage measurement equivalent to
165                 channel Y - channel Z where these channel numbers apply to the
166                 physically equivalent inputs when non differential readings are
167                 separately available. In differential only parts, then all that
168                 is required is a consistent labeling.  Units after application
169                 of scale and offset are millivolts.
170
171 What:           /sys/bus/iio/devices/iio:deviceX/in_currentY_raw
172 What:           /sys/bus/iio/devices/iio:deviceX/in_currentY_supply_raw
173 KernelVersion:  3.17
174 Contact:        linux-iio@vger.kernel.org
175 Description:
176                 Raw (unscaled no bias removal etc.) current measurement from
177                 channel Y. In special cases where the channel does not
178                 correspond to externally available input one of the named
179                 versions may be used. The number must always be specified and
180                 unique to allow association with event codes. Units after
181                 application of scale and offset are milliamps.
182
183 What:           /sys/bus/iio/devices/iio:deviceX/in_powerY_raw
184 KernelVersion:  4.5
185 Contact:        linux-iio@vger.kernel.org
186 Description:
187                 Raw (unscaled no bias removal etc.) power measurement from
188                 channel Y. The number must always be specified and
189                 unique to allow association with event codes. Units after
190                 application of scale and offset are milliwatts.
191
192 What:           /sys/bus/iio/devices/iio:deviceX/in_capacitanceY_raw
193 KernelVersion:  3.2
194 Contact:        linux-iio@vger.kernel.org
195 Description:
196                 Raw capacitance measurement from channel Y. Units after
197                 application of scale and offset are nanofarads.
198
199 What:           /sys/.../iio:deviceX/in_capacitanceY-capacitanceZ_raw
200 KernelVersion:  3.2
201 Contact:        linux-iio@vger.kernel.org
202 Description:
203                 Raw differential capacitance measurement equivalent to
204                 channel Y - channel Z where these channel numbers apply to the
205                 physically equivalent inputs when non differential readings are
206                 separately available. In differential only parts, then all that
207                 is required is a consistent labeling.  Units after application
208                 of scale and offset are nanofarads.
209
210 What:           /sys/.../iio:deviceX/in_capacitanceY-capacitanceZ_zeropoint
211 KernelVersion:  6.1
212 Contact:        linux-iio@vger.kernel.org
213 Description:
214                 For differential channels, this an offset that is applied
215                 equally to both inputs. As the reading is of the difference
216                 between the two inputs, this should not be applied to the _raw
217                 reading by userspace (unlike _offset) and unlike calibbias
218                 it does not affect the differential value measured because
219                 the effect of _zeropoint cancels out across the two inputs
220                 that make up the differential pair. It's purpose is to bring
221                 the individual signals, before the differential is measured,
222                 within the measurement range of the device. The naming is
223                 chosen because if the separate inputs that make the
224                 differential pair are drawn on a graph in their
225                 _raw  units, this is the value that the zero point on the
226                 measurement axis represents. It is expressed with the
227                 same scaling as _raw.
228
229 What:           /sys/bus/iio/devices/iio:deviceX/in_temp_raw
230 What:           /sys/bus/iio/devices/iio:deviceX/in_tempX_raw
231 What:           /sys/bus/iio/devices/iio:deviceX/in_temp_x_raw
232 What:           /sys/bus/iio/devices/iio:deviceX/in_temp_y_raw
233 What:           /sys/bus/iio/devices/iio:deviceX/in_temp_ambient_raw
234 What:           /sys/bus/iio/devices/iio:deviceX/in_temp_object_raw
235 KernelVersion:  2.6.35
236 Contact:        linux-iio@vger.kernel.org
237 Description:
238                 Raw (unscaled no bias removal etc.) temperature measurement.
239                 If an axis is specified it generally means that the temperature
240                 sensor is associated with one part of a compound device (e.g.
241                 a gyroscope axis). The ambient and object modifiers distinguish
242                 between ambient (reference) and distant temperature for contact-
243                 less measurements. Units after application of scale and offset
244                 are milli degrees Celsius.
245
246 What:           /sys/bus/iio/devices/iio:deviceX/in_tempX_input
247 KernelVersion:  2.6.38
248 Contact:        linux-iio@vger.kernel.org
249 Description:
250                 Scaled temperature measurement in milli degrees Celsius.
251
252 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_x_raw
253 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_y_raw
254 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_z_raw
255 KernelVersion:  2.6.35
256 Contact:        linux-iio@vger.kernel.org
257 Description:
258                 Acceleration in direction x, y or z (may be arbitrarily assigned
259                 but should match other such assignments on device).
260                 Has all of the equivalent parameters as per voltageY. Units
261                 after application of scale and offset are m/s^2.
262
263 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_linear_x_raw
264 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_linear_y_raw
265 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_linear_z_raw
266 KernelVersion:  6.1
267 Contact:        linux-iio@vger.kernel.org
268 Description:
269                 As per in_accel_X_raw attributes, but minus the
270                 acceleration due to gravity.
271
272 What:           /sys/bus/iio/devices/iio:deviceX/in_gravity_x_raw
273 What:           /sys/bus/iio/devices/iio:deviceX/in_gravity_y_raw
274 What:           /sys/bus/iio/devices/iio:deviceX/in_gravity_z_raw
275 KernelVersion:  4.11
276 Contact:        linux-iio@vger.kernel.org
277 Description:
278                 Gravity in direction x, y or z (may be arbitrarily assigned
279                 but should match other such assignments on device).
280                 Units after application of scale and offset are m/s^2.
281
282 What:           /sys/bus/iio/devices/iio:deviceX/in_angl_raw
283 What:           /sys/bus/iio/devices/iio:deviceX/in_anglY_raw
284 KernelVersion:  4.17
285 Contact:        linux-iio@vger.kernel.org
286 Description:
287                 Angle of rotation. Units after application of scale and offset
288                 are radians.
289
290 What:           /sys/bus/iio/devices/iio:deviceX/in_positionrelative_x_raw
291 What:           /sys/bus/iio/devices/iio:deviceX/in_positionrelative_y_raw
292 KernelVersion:  4.19
293 Contact:        linux-iio@vger.kernel.org
294 Description:
295                 Relative position in direction x or y on a pad (may be
296                 arbitrarily assigned but should match other such assignments on
297                 device).
298                 Units after application of scale and offset are milli percents
299                 from the pad's size in both directions. Should be calibrated by
300                 the consumer.
301
302 What:           /sys/bus/iio/devices/iio:deviceX/in_anglvel_x_raw
303 What:           /sys/bus/iio/devices/iio:deviceX/in_anglvel_y_raw
304 What:           /sys/bus/iio/devices/iio:deviceX/in_anglvel_z_raw
305 KernelVersion:  2.6.35
306 Contact:        linux-iio@vger.kernel.org
307 Description:
308                 Angular velocity about axis x, y or z (may be arbitrarily
309                 assigned). Has all the equivalent parameters as per voltageY.
310                 Units after application of scale and offset are radians per
311                 second.
312
313 What:           /sys/bus/iio/devices/iio:deviceX/in_incli_x_raw
314 What:           /sys/bus/iio/devices/iio:deviceX/in_incli_y_raw
315 What:           /sys/bus/iio/devices/iio:deviceX/in_incli_z_raw
316 KernelVersion:  2.6.35
317 Contact:        linux-iio@vger.kernel.org
318 Description:
319                 Inclination raw reading about axis x, y or z (may be
320                 arbitrarily assigned). Data converted by application of offset
321                 and scale to degrees.
322
323 What:           /sys/bus/iio/devices/iio:deviceX/in_magn_x_raw
324 What:           /sys/bus/iio/devices/iio:deviceX/in_magn_y_raw
325 What:           /sys/bus/iio/devices/iio:deviceX/in_magn_z_raw
326 KernelVersion:  2.6.35
327 Contact:        linux-iio@vger.kernel.org
328 Description:
329                 Magnetic field along axis x, y or z (may be arbitrarily
330                 assigned).  Data converted by application of offset
331                 then scale to Gauss.
332
333 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_x_peak_raw
334 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_y_peak_raw
335 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_z_peak_raw
336 KernelVersion:  2.6.36
337 Contact:        linux-iio@vger.kernel.org
338 Description:
339                 Highest value since some reset condition.  These
340                 attributes allow access to this and are otherwise
341                 the direct equivalent of the <type>Y[_name]_raw attributes.
342
343 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_xyz_squared_peak_raw
344 KernelVersion:  2.6.36
345 Contact:        linux-iio@vger.kernel.org
346 Description:
347                 A computed peak value based on the sum squared magnitude of
348                 the underlying value in the specified directions.
349
350 What:           /sys/bus/iio/devices/iio:deviceX/in_pressureY_raw
351 What:           /sys/bus/iio/devices/iio:deviceX/in_pressure_raw
352 KernelVersion:  3.8
353 Contact:        linux-iio@vger.kernel.org
354 Description:
355                 Raw pressure measurement from channel Y. Units after
356                 application of scale and offset are kilopascal.
357
358 What:           /sys/bus/iio/devices/iio:deviceX/in_pressureY_input
359 What:           /sys/bus/iio/devices/iio:deviceX/in_pressure_input
360 KernelVersion:  3.8
361 Contact:        linux-iio@vger.kernel.org
362 Description:
363                 Scaled pressure measurement from channel Y, in kilopascal.
364
365 What:           /sys/bus/iio/devices/iio:deviceX/in_humidityrelative_raw
366 KernelVersion:  3.14
367 Contact:        linux-iio@vger.kernel.org
368 Description:
369                 Raw humidity measurement of air. Units after application of
370                 scale and offset are milli percent.
371
372 What:           /sys/bus/iio/devices/iio:deviceX/in_humidityrelative_input
373 KernelVersion:  3.14
374 Contact:        linux-iio@vger.kernel.org
375 Description:
376                 Scaled humidity measurement in milli percent.
377
378 What:           /sys/bus/iio/devices/iio:deviceX/in_X_mean_raw
379 KernelVersion:  3.5
380 Contact:        linux-iio@vger.kernel.org
381 Description:
382                 Averaged raw measurement from channel X. The number of values
383                 used for averaging is device specific. The converting rules for
384                 normal raw values also applies to the averaged raw values.
385
386 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_offset
387 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_x_offset
388 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_y_offset
389 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_z_offset
390 What:           /sys/bus/iio/devices/iio:deviceX/in_voltageY_offset
391 What:           /sys/bus/iio/devices/iio:deviceX/in_voltage_offset
392 What:           /sys/bus/iio/devices/iio:deviceX/in_voltageY_i_offset
393 What:           /sys/bus/iio/devices/iio:deviceX/in_voltageY_q_offset
394 What:           /sys/bus/iio/devices/iio:deviceX/in_voltage_q_offset
395 What:           /sys/bus/iio/devices/iio:deviceX/in_voltage_i_offset
396 What:           /sys/bus/iio/devices/iio:deviceX/in_currentY_offset
397 What:           /sys/bus/iio/devices/iio:deviceX/in_current_offset
398 What:           /sys/bus/iio/devices/iio:deviceX/in_currentY_i_offset
399 What:           /sys/bus/iio/devices/iio:deviceX/in_currentY_q_offset
400 What:           /sys/bus/iio/devices/iio:deviceX/in_current_q_offset
401 What:           /sys/bus/iio/devices/iio:deviceX/in_current_i_offset
402 What:           /sys/bus/iio/devices/iio:deviceX/in_tempY_offset
403 What:           /sys/bus/iio/devices/iio:deviceX/in_temp_offset
404 What:           /sys/bus/iio/devices/iio:deviceX/in_pressureY_offset
405 What:           /sys/bus/iio/devices/iio:deviceX/in_pressure_offset
406 What:           /sys/bus/iio/devices/iio:deviceX/in_humidityrelative_offset
407 What:           /sys/bus/iio/devices/iio:deviceX/in_magn_offset
408 What:           /sys/bus/iio/devices/iio:deviceX/in_rot_offset
409 What:           /sys/bus/iio/devices/iio:deviceX/in_angl_offset
410 What:           /sys/bus/iio/devices/iio:deviceX/in_capacitanceX_offset
411 KernelVersion:  2.6.35
412 Contact:        linux-iio@vger.kernel.org
413 Description:
414                 If known for a device, offset to be added to <type>[Y]_raw prior
415                 to scaling by <type>[Y]_scale in order to obtain value in the
416                 <type> units as specified in <type>[Y]_raw documentation.
417                 Not present if the offset is always 0 or unknown. If Y or
418                 axis <x|y|z> is not present, then the offset applies to all
419                 in channels of <type>.
420                 May be writable if a variable offset can be applied on the
421                 device. Note that this is different to calibbias which
422                 is for devices (or drivers) that apply offsets to compensate
423                 for variation between different instances of the part, typically
424                 adjusted by using some hardware supported calibration procedure.
425                 Calibbias is applied internally, offset is applied in userspace
426                 to the _raw output.
427
428 What:           /sys/bus/iio/devices/iio:deviceX/in_voltageY_scale
429 What:           /sys/bus/iio/devices/iio:deviceX/in_voltageY_i_scale
430 What:           /sys/bus/iio/devices/iio:deviceX/in_voltageY_q_scale
431 What:           /sys/bus/iio/devices/iio:deviceX/in_voltageY_supply_scale
432 What:           /sys/bus/iio/devices/iio:deviceX/in_voltage_scale
433 What:           /sys/bus/iio/devices/iio:deviceX/in_voltage_i_scale
434 What:           /sys/bus/iio/devices/iio:deviceX/in_voltage_q_scale
435 What:           /sys/bus/iio/devices/iio:deviceX/in_voltage-voltage_scale
436 What:           /sys/bus/iio/devices/iio:deviceX/out_voltageY_scale
437 What:           /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_scale
438 What:           /sys/bus/iio/devices/iio:deviceX/in_currentY_scale
439 What:           /sys/bus/iio/devices/iio:deviceX/in_currentY_supply_scale
440 What:           /sys/bus/iio/devices/iio:deviceX/in_current_scale
441 What:           /sys/bus/iio/devices/iio:deviceX/in_currentY_i_scale
442 What:           /sys/bus/iio/devices/iio:deviceX/in_currentY_q_scale
443 What:           /sys/bus/iio/devices/iio:deviceX/in_current_i_scale
444 What:           /sys/bus/iio/devices/iio:deviceX/in_current_q_scale
445 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_scale
446 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_peak_scale
447 What:           /sys/bus/iio/devices/iio:deviceX/in_anglvel_scale
448 What:           /sys/bus/iio/devices/iio:deviceX/in_energy_scale
449 What:           /sys/bus/iio/devices/iio:deviceX/in_distance_scale
450 What:           /sys/bus/iio/devices/iio:deviceX/in_magn_scale
451 What:           /sys/bus/iio/devices/iio:deviceX/in_magn_x_scale
452 What:           /sys/bus/iio/devices/iio:deviceX/in_magn_y_scale
453 What:           /sys/bus/iio/devices/iio:deviceX/in_magn_z_scale
454 What:           /sys/bus/iio/devices/iio:deviceX/in_rot_from_north_magnetic_scale
455 What:           /sys/bus/iio/devices/iio:deviceX/in_rot_from_north_true_scale
456 What:           /sys/bus/iio/devices/iio:deviceX/in_rot_from_north_magnetic_tilt_comp_scale
457 What:           /sys/bus/iio/devices/iio:deviceX/in_rot_from_north_true_tilt_comp_scale
458 What:           /sys/bus/iio/devices/iio:deviceX/in_pressureY_scale
459 What:           /sys/bus/iio/devices/iio:deviceX/in_pressure_scale
460 What:           /sys/bus/iio/devices/iio:deviceX/in_humidityrelative_scale
461 What:           /sys/bus/iio/devices/iio:deviceX/in_velocity_sqrt(x^2+y^2+z^2)_scale
462 What:           /sys/bus/iio/devices/iio:deviceX/in_illuminance_scale
463 What:           /sys/bus/iio/devices/iio:deviceX/in_countY_scale
464 What:           /sys/bus/iio/devices/iio:deviceX/in_angl_scale
465 What:           /sys/bus/iio/devices/iio:deviceX/in_intensity_x_scale
466 What:           /sys/bus/iio/devices/iio:deviceX/in_intensity_y_scale
467 What:           /sys/bus/iio/devices/iio:deviceX/in_intensity_z_scale
468 What:           /sys/bus/iio/devices/iio:deviceX/in_concentration_co2_scale
469 KernelVersion:  2.6.35
470 Contact:        linux-iio@vger.kernel.org
471 Description:
472                 If known for a device, scale to be applied to <type>Y[_name]_raw
473                 post addition of <type>[Y][_name]_offset in order to obtain the
474                 measured value in <type> units as specified in
475                 <type>[Y][_name]_raw documentation.  If shared across all in
476                 channels then Y and <x|y|z> are not present and the value is
477                 called <type>[Y][_name]_scale. The peak modifier means this
478                 value is applied to <type>Y[_name]_peak_raw values.
479
480 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_x_calibbias
481 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_y_calibbias
482 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_z_calibbias
483 What:           /sys/bus/iio/devices/iio:deviceX/in_anglvel_x_calibbias
484 What:           /sys/bus/iio/devices/iio:deviceX/in_anglvel_y_calibbias
485 What:           /sys/bus/iio/devices/iio:deviceX/in_anglvel_z_calibbias
486 What:           /sys/bus/iio/devices/iio:deviceX/in_illuminance0_calibbias
487 What:           /sys/bus/iio/devices/iio:deviceX/in_proximity0_calibbias
488 What:           /sys/bus/iio/devices/iio:deviceX/in_pressureY_calibbias
489 What:           /sys/bus/iio/devices/iio:deviceX/in_pressure_calibbias
490 KernelVersion:  2.6.35
491 Contact:        linux-iio@vger.kernel.org
492 Description:
493                 Hardware applied calibration offset (assumed to fix production
494                 inaccuracies).
495                 icm42600: For this device values are real physical offsets
496                 expressed in SI units (m/s^2 for accelerometers and rad/s
497                 for gyroscope)/
498
499 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_calibbias_available
500 What:           /sys/bus/iio/devices/iio:deviceX/in_anglvel_calibbias_available
501 KernelVersion:  5.8
502 Contact:        linux-iio@vger.kernel.org
503 Description:
504                 Available values of calibbias. Maybe expressed as either of:
505
506                 - a small discrete set of values like "0 2 4 6 8"
507                 - a range specified as "[min step max]"
508
509 What:           /sys/bus/iio/devices/iio:deviceX/in_voltageY_calibscale
510 What:           /sys/bus/iio/devices/iio:deviceX/in_voltageY_supply_calibscale
511 What:           /sys/bus/iio/devices/iio:deviceX/in_voltageY_i_calibscale
512 What:           /sys/bus/iio/devices/iio:deviceX/in_voltageY_q_calibscale
513 What:           /sys/bus/iio/devices/iio:deviceX/in_voltage_i_calibscale
514 What:           /sys/bus/iio/devices/iio:deviceX/in_voltage_q_calibscale
515 What:           /sys/bus/iio/devices/iio:deviceX/in_altvoltage_calibscale
516 What:           /sys/bus/iio/devices/iio:deviceX/in_voltage_calibscale
517 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_x_calibscale
518 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_y_calibscale
519 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_z_calibscale
520 What:           /sys/bus/iio/devices/iio:deviceX/in_anglvel_x_calibscale
521 What:           /sys/bus/iio/devices/iio:deviceX/in_anglvel_y_calibscale
522 What:           /sys/bus/iio/devices/iio:deviceX/in_anglvel_z_calibscale
523 What:           /sys/bus/iio/devices/iio:deviceX/in_illuminance0_calibscale
524 What:           /sys/bus/iio/devices/iio:deviceX/in_proximity0_calibscale
525 What:           /sys/bus/iio/devices/iio:deviceX/in_pressureY_calibscale
526 What:           /sys/bus/iio/devices/iio:deviceX/in_pressure_calibscale
527 What:           /sys/bus/iio/devices/iio:deviceX/in_illuminance_calibscale
528 KernelVersion:  2.6.35
529 Contact:        linux-iio@vger.kernel.org
530 Description:
531                 Hardware applied calibration scale factor (assumed to fix
532                 production inaccuracies).  If shared across all channels,
533                 <type>_calibscale is used.
534
535 What:           /sys/bus/iio/devices/iio:deviceX/in_activity_calibgender
536 What:           /sys/bus/iio/devices/iio:deviceX/in_energy_calibgender
537 What:           /sys/bus/iio/devices/iio:deviceX/in_distance_calibgender
538 What:           /sys/bus/iio/devices/iio:deviceX/in_velocity_calibgender
539 KernelVersion:  4.0
540 Contact:        linux-iio@vger.kernel.org
541 Description:
542                 Gender of the user (e.g.: male, female) used by some pedometers
543                 to compute the stride length, distance, speed and activity
544                 type.
545
546 What:           /sys/bus/iio/devices/iio:deviceX/in_activity_calibgender_available
547 What:           /sys/bus/iio/devices/iio:deviceX/in_energy_calibgender_available
548 What:           /sys/bus/iio/devices/iio:deviceX/in_distance_calibgender_available
549 What:           /sys/bus/iio/devices/iio:deviceX/in_velocity_calibgender_available
550 KernelVersion:  4.0
551 Contact:        linux-iio@vger.kernel.org
552 Description:
553                 Lists all available gender values (e.g.: male, female).
554
555 What:           /sys/bus/iio/devices/iio:deviceX/in_activity_calibheight
556 What:           /sys/bus/iio/devices/iio:deviceX/in_energy_calibheight
557 What:           /sys/bus/iio/devices/iio:deviceX/in_distance_calibheight
558 What:           /sys/bus/iio/devices/iio:deviceX/in_velocity_calibheight
559 KernelVersion:  3.19
560 Contact:        linux-iio@vger.kernel.org
561 Description:
562                 Height of the user (in meters) used by some pedometers
563                 to compute the stride length, distance, speed and activity
564                 type.
565
566 What:           /sys/bus/iio/devices/iio:deviceX/in_energy_calibweight
567 KernelVersion:  4.0
568 Contact:        linux-iio@vger.kernel.org
569 Description:
570                 Weight of the user (in kg). It is needed by some pedometers
571                 to compute the calories burnt by the user.
572
573 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_scale_available
574 What:           /sys/.../iio:deviceX/in_anglvel_scale_available
575 What:           /sys/.../iio:deviceX/in_magn_scale_available
576 What:           /sys/.../iio:deviceX/in_illuminance_scale_available
577 What:           /sys/.../iio:deviceX/in_intensity_scale_available
578 What:           /sys/.../iio:deviceX/in_proximity_scale_available
579 What:           /sys/.../iio:deviceX/in_voltageX_scale_available
580 What:           /sys/.../iio:deviceX/in_voltage-voltage_scale_available
581 What:           /sys/.../iio:deviceX/out_voltageX_scale_available
582 What:           /sys/.../iio:deviceX/out_altvoltageX_scale_available
583 What:           /sys/.../iio:deviceX/in_capacitance_scale_available
584 What:           /sys/.../iio:deviceX/in_pressure_scale_available
585 What:           /sys/.../iio:deviceX/in_pressureY_scale_available
586 KernelVersion:  2.6.35
587 Contact:        linux-iio@vger.kernel.org
588 Description:
589                 If a discrete set of scale values is available, they
590                 are listed in this attribute.
591
592 What:           /sys/bus/iio/devices/iio:deviceX/out_voltageY_hardwaregain
593 What:           /sys/bus/iio/devices/iio:deviceX/in_intensity_hardwaregain
594 What:           /sys/bus/iio/devices/iio:deviceX/in_intensity_red_hardwaregain
595 What:           /sys/bus/iio/devices/iio:deviceX/in_intensity_green_hardwaregain
596 What:           /sys/bus/iio/devices/iio:deviceX/in_intensity_blue_hardwaregain
597 What:           /sys/bus/iio/devices/iio:deviceX/in_intensity_clear_hardwaregain
598 KernelVersion:  2.6.35
599 Contact:        linux-iio@vger.kernel.org
600 Description:
601                 Hardware applied gain factor. If shared across all channels,
602                 <type>_hardwaregain is used.
603
604 What:           /sys/bus/iio/devices/iio:deviceX/in_intensity_hardwaregain_available
605 KernelVersion:  5.10
606 Contact:        linux-iio@vger.kernel.org
607 Description:
608                 Lists all available hardware applied gain factors. Shared across all
609                 channels.
610
611 What:           /sys/.../in_accel_filter_low_pass_3db_frequency
612 What:           /sys/.../in_magn_filter_low_pass_3db_frequency
613 What:           /sys/.../in_anglvel_filter_low_pass_3db_frequency
614 KernelVersion:  3.2
615 Contact:        linux-iio@vger.kernel.org
616 Description:
617                 If a known or controllable low pass filter is applied
618                 to the underlying data channel, then this parameter
619                 gives the 3dB frequency of the filter in Hz.
620
621 What:           /sys/.../in_accel_filter_high_pass_3db_frequency
622 What:           /sys/.../in_anglvel_filter_high_pass_3db_frequency
623 What:           /sys/.../in_magn_filter_high_pass_3db_frequency
624 KernelVersion:  4.2
625 Contact:        linux-iio@vger.kernel.org
626 Description:
627                 If a known or controllable high pass filter is applied
628                 to the underlying data channel, then this parameter
629                 gives the 3dB frequency of the filter in Hz.
630
631 What:           /sys/bus/iio/devices/iio:deviceX/out_voltageY_raw
632 What:           /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_raw
633 KernelVersion:  2.6.37
634 Contact:        linux-iio@vger.kernel.org
635 Description:
636                 Raw (unscaled, no bias etc.) output voltage for
637                 channel Y.  The number must always be specified and
638                 unique if the output corresponds to a single channel.
639                 While DAC like devices typically use out_voltage,
640                 a continuous frequency generating device, such as
641                 a DDS or PLL should use out_altvoltage.
642
643 What:           /sys/bus/iio/devices/iio:deviceX/out_voltageY&Z_raw
644 What:           /sys/bus/iio/devices/iio:deviceX/out_altvoltageY&Z_raw
645 KernelVersion:  2.6.37
646 Contact:        linux-iio@vger.kernel.org
647 Description:
648                 Raw (unscaled, no bias etc.) output voltage for an aggregate of
649                 channel Y, channel Z, etc.  This interface is available in cases
650                 where a single output sets the value for multiple channels
651                 simultaneously.
652
653 What:           /sys/bus/iio/devices/iio:deviceX/out_voltageY_powerdown_mode
654 What:           /sys/bus/iio/devices/iio:deviceX/out_voltage_powerdown_mode
655 What:           /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_powerdown_mode
656 What:           /sys/bus/iio/devices/iio:deviceX/out_altvoltage_powerdown_mode
657 KernelVersion:  2.6.38
658 Contact:        linux-iio@vger.kernel.org
659 Description:
660                 Specifies the output powerdown mode.
661                 DAC output stage is disconnected from the amplifier and
662                 1kohm_to_gnd: connected to ground via an 1kOhm resistor,
663                 2.5kohm_to_gnd: connected to ground via a 2.5kOhm resistor,
664                 6kohm_to_gnd: connected to ground via a 6kOhm resistor,
665                 20kohm_to_gnd: connected to ground via a 20kOhm resistor,
666                 90kohm_to_gnd: connected to ground via a 90kOhm resistor,
667                 100kohm_to_gnd: connected to ground via an 100kOhm resistor,
668                 125kohm_to_gnd: connected to ground via an 125kOhm resistor,
669                 500kohm_to_gnd: connected to ground via a 500kOhm resistor,
670                 640kohm_to_gnd: connected to ground via a 640kOhm resistor,
671                 three_state: left floating.
672                 For a list of available output power down options read
673                 outX_powerdown_mode_available. If Y is not present the
674                 mode is shared across all outputs.
675
676 What:           /sys/.../iio:deviceX/out_voltageY_powerdown_mode_available
677 What:           /sys/.../iio:deviceX/out_voltage_powerdown_mode_available
678 What:           /sys/.../iio:deviceX/out_altvoltageY_powerdown_mode_available
679 What:           /sys/.../iio:deviceX/out_altvoltage_powerdown_mode_available
680 KernelVersion:  2.6.38
681 Contact:        linux-iio@vger.kernel.org
682 Description:
683                 Lists all available output power down modes.
684                 If Y is not present the mode is shared across all outputs.
685
686 What:           /sys/bus/iio/devices/iio:deviceX/out_voltageY_powerdown
687 What:           /sys/bus/iio/devices/iio:deviceX/out_voltage_powerdown
688 What:           /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_powerdown
689 What:           /sys/bus/iio/devices/iio:deviceX/out_altvoltage_powerdown
690 KernelVersion:  2.6.38
691 Contact:        linux-iio@vger.kernel.org
692 Description:
693                 Writing 1 causes output Y to enter the power down mode specified
694                 by the corresponding outY_powerdown_mode. DAC output stage is
695                 disconnected from the amplifier. Clearing returns to normal
696                 operation. Y may be suppressed if all outputs are controlled
697                 together.
698
699 What:           /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_frequency
700 KernelVersion:  3.4.0
701 Contact:        linux-iio@vger.kernel.org
702 Description:
703                 Output frequency for channel Y in Hz. The number must always be
704                 specified and unique if the output corresponds to a single
705                 channel.
706                 Some drivers have additional constraints:
707                 ADF4371 has an integrated VCO with fundamendal output
708                 frequency ranging from 4000000000 Hz 8000000000 Hz.
709
710                 out_altvoltage0_frequency:
711                         A divide by 1, 2, 4, 8, 16, 32 or circuit generates
712                         frequencies from 62500000 Hz to 8000000000 Hz.
713                 out_altvoltage1_frequency:
714                         This channel duplicates the channel 0 frequency
715                 out_altvoltage2_frequency:
716                         A frequency doubler generates frequencies from
717                         8000000000 Hz to 16000000000 Hz.
718                 out_altvoltage3_frequency:
719                         A frequency quadrupler generates frequencies from
720                         16000000000 Hz to 32000000000 Hz.
721
722                 Note: writes to one of the channels will affect the frequency of
723                 all the other channels, since it involves changing the VCO
724                 fundamental output frequency.
725
726 What:           /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_phase
727 KernelVersion:  3.4.0
728 Contact:        linux-iio@vger.kernel.org
729 Description:
730                 Phase in radians of one frequency/clock output Y
731                 (out_altvoltageY) relative to another frequency/clock output
732                 (out_altvoltageZ) of the device X. The number must always be
733                 specified and unique if the output corresponds to a single
734                 channel.
735
736 What:           /sys/bus/iio/devices/iio:deviceX/out_currentY_raw
737 Date:           May 2012
738 KernelVersion:  3.5
739 Contact:        Johan Hovold <jhovold@gmail.com>
740 Description:
741                 Set/get output current for channel Y. Units after application
742                 of scale and offset are milliamps.
743                 For some devices current channels are used to specify
744                 current supplied to elements used in taking a measurement
745                 of a different type. E.g. LED currents.
746
747 What:           /sys/bus/iio/devices/iio:deviceX/events
748 KernelVersion:  2.6.35
749 Contact:        linux-iio@vger.kernel.org
750 Description:
751                 Configuration of which hardware generated events are passed up
752                 to user-space.
753
754 What:           /sys/.../iio:deviceX/events/in_accel_x_thresh_rising_en
755 What:           /sys/.../iio:deviceX/events/in_accel_x_thresh_falling_en
756 What:           /sys/.../iio:deviceX/events/in_accel_y_thresh_rising_en
757 What:           /sys/.../iio:deviceX/events/in_accel_y_thresh_falling_en
758 What:           /sys/.../iio:deviceX/events/in_accel_z_thresh_rising_en
759 What:           /sys/.../iio:deviceX/events/in_accel_z_thresh_falling_en
760 What:           /sys/.../iio:deviceX/events/in_anglvel_x_thresh_rising_en
761 What:           /sys/.../iio:deviceX/events/in_anglvel_x_thresh_falling_en
762 What:           /sys/.../iio:deviceX/events/in_anglvel_y_thresh_rising_en
763 What:           /sys/.../iio:deviceX/events/in_anglvel_y_thresh_falling_en
764 What:           /sys/.../iio:deviceX/events/in_anglvel_z_thresh_rising_en
765 What:           /sys/.../iio:deviceX/events/in_anglvel_z_thresh_falling_en
766 What:           /sys/.../iio:deviceX/events/in_magn_x_thresh_rising_en
767 What:           /sys/.../iio:deviceX/events/in_magn_x_thresh_falling_en
768 What:           /sys/.../iio:deviceX/events/in_magn_y_thresh_rising_en
769 What:           /sys/.../iio:deviceX/events/in_magn_y_thresh_falling_en
770 What:           /sys/.../iio:deviceX/events/in_magn_z_thresh_rising_en
771 What:           /sys/.../iio:deviceX/events/in_magn_z_thresh_falling_en
772 What:           /sys/.../iio:deviceX/events/in_rot_from_north_magnetic_thresh_rising_en
773 What:           /sys/.../iio:deviceX/events/in_rot_from_north_magnetic_thresh_falling_en
774 What:           /sys/.../iio:deviceX/events/in_rot_from_north_true_thresh_rising_en
775 What:           /sys/.../iio:deviceX/events/in_rot_from_north_true_thresh_falling_en
776 What:           /sys/.../iio:deviceX/events/in_rot_from_north_magnetic_tilt_comp_thresh_rising_en
777 What:           /sys/.../iio:deviceX/events/in_rot_from_north_magnetic_tilt_comp_thresh_falling_en
778 What:           /sys/.../iio:deviceX/events/in_rot_from_north_true_tilt_comp_thresh_rising_en
779 What:           /sys/.../iio:deviceX/events/in_rot_from_north_true_tilt_comp_thresh_falling_en
780 What:           /sys/.../iio:deviceX/events/in_voltageY_supply_thresh_rising_en
781 What:           /sys/.../iio:deviceX/events/in_voltageY_supply_thresh_falling_en
782 What:           /sys/.../iio:deviceX/events/in_voltageY_thresh_rising_en
783 What:           /sys/.../iio:deviceX/events/in_voltageY_thresh_falling_en
784 What:           /sys/.../iio:deviceX/events/in_voltageY_thresh_either_en
785 What:           /sys/.../iio:deviceX/events/in_tempY_thresh_rising_en
786 What:           /sys/.../iio:deviceX/events/in_tempY_thresh_falling_en
787 What:           /sys/.../iio:deviceX/events/in_capacitanceY_thresh_rising_en
788 What:           /sys/.../iio:deviceX/events/in_capacitanceY_thresh_falling_en
789 KernelVersion:  2.6.37
790 Contact:        linux-iio@vger.kernel.org
791 Description:
792                 Event generated when channel passes a threshold in the specified
793                 (_rising|_falling) direction. If the direction is not specified,
794                 then either the device will report an event which ever direction
795                 a single threshold value is passed in (e.g.
796                 <type>[Y][_name]_<raw|input>_thresh_value) or
797                 <type>[Y][_name]_<raw|input>_thresh_rising_value and
798                 <type>[Y][_name]_<raw|input>_thresh_falling_value may take
799                 different values, but the device can only enable both thresholds
800                 or neither.
801
802                 Note the driver will assume the last p events requested are
803                 to be enabled where p is how many it supports (which may vary
804                 depending on the exact set requested. So if you want to be
805                 sure you have set what you think you have, check the contents of
806                 these attributes after everything is configured. Drivers may
807                 have to buffer any parameters so that they are consistent when
808                 a given event type is enabled at a future point (and not those for
809                 whatever event was previously enabled).
810
811 What:           /sys/.../iio:deviceX/events/in_accel_x_roc_rising_en
812 What:           /sys/.../iio:deviceX/events/in_accel_x_roc_falling_en
813 What:           /sys/.../iio:deviceX/events/in_accel_y_roc_rising_en
814 What:           /sys/.../iio:deviceX/events/in_accel_y_roc_falling_en
815 What:           /sys/.../iio:deviceX/events/in_accel_z_roc_rising_en
816 What:           /sys/.../iio:deviceX/events/in_accel_z_roc_falling_en
817 What:           /sys/.../iio:deviceX/events/in_anglvel_x_roc_rising_en
818 What:           /sys/.../iio:deviceX/events/in_anglvel_x_roc_falling_en
819 What:           /sys/.../iio:deviceX/events/in_anglvel_y_roc_rising_en
820 What:           /sys/.../iio:deviceX/events/in_anglvel_y_roc_falling_en
821 What:           /sys/.../iio:deviceX/events/in_anglvel_z_roc_rising_en
822 What:           /sys/.../iio:deviceX/events/in_anglvel_z_roc_falling_en
823 What:           /sys/.../iio:deviceX/events/in_magn_x_roc_rising_en
824 What:           /sys/.../iio:deviceX/events/in_magn_x_roc_falling_en
825 What:           /sys/.../iio:deviceX/events/in_magn_y_roc_rising_en
826 What:           /sys/.../iio:deviceX/events/in_magn_y_roc_falling_en
827 What:           /sys/.../iio:deviceX/events/in_magn_z_roc_rising_en
828 What:           /sys/.../iio:deviceX/events/in_magn_z_roc_falling_en
829 What:           /sys/.../iio:deviceX/events/in_rot_from_north_magnetic_roc_rising_en
830 What:           /sys/.../iio:deviceX/events/in_rot_from_north_magnetic_roc_falling_en
831 What:           /sys/.../iio:deviceX/events/in_rot_from_north_true_roc_rising_en
832 What:           /sys/.../iio:deviceX/events/in_rot_from_north_true_roc_falling_en
833 What:           /sys/.../iio:deviceX/events/in_rot_from_north_magnetic_tilt_comp_roc_rising_en
834 What:           /sys/.../iio:deviceX/events/in_rot_from_north_magnetic_tilt_comp_roc_falling_en
835 What:           /sys/.../iio:deviceX/events/in_rot_from_north_true_tilt_comp_roc_rising_en
836 What:           /sys/.../iio:deviceX/events/in_rot_from_north_true_tilt_comp_roc_falling_en
837 What:           /sys/.../iio:deviceX/events/in_voltageY_supply_roc_rising_en
838 What:           /sys/.../iio:deviceX/events/in_voltageY_supply_roc_falling_en
839 What:           /sys/.../iio:deviceX/events/in_voltageY_roc_rising_en
840 What:           /sys/.../iio:deviceX/events/in_voltageY_roc_falling_en
841 What:           /sys/.../iio:deviceX/events/in_tempY_roc_rising_en
842 What:           /sys/.../iio:deviceX/events/in_tempY_roc_falling_en
843 KernelVersion:  2.6.37
844 Contact:        linux-iio@vger.kernel.org
845 Description:
846                 Event generated when channel passes a threshold on the rate of
847                 change (1st differential) in the specified (_rising|_falling)
848                 direction. If the direction is not specified, then either the
849                 device will report an event which ever direction a single
850                 threshold value is passed in (e.g.
851                 <type>[Y][_name]_<raw|input>_roc_value) or
852                 <type>[Y][_name]_<raw|input>_roc_rising_value and
853                 <type>[Y][_name]_<raw|input>_roc_falling_value may take
854                 different values, but the device can only enable both rate of
855                 change thresholds or neither.
856
857                 Note the driver will assume the last p events requested are
858                 to be enabled where p is however many it supports (which may
859                 vary depending on the exact set requested. So if you want to be
860                 sure you have set what you think you have, check the contents of
861                 these attributes after everything is configured. Drivers may
862                 have to buffer any parameters so that they are consistent when
863                 a given event type is enabled a future point (and not those for
864                 whatever event was previously enabled).
865
866 What:           /sys/.../events/in_capacitanceY_adaptive_thresh_rising_en
867 What:           /sys/.../events/in_capacitanceY_adaptive_thresh_falling_en
868 KernelVersion:  5.13
869 Contact:        linux-iio@vger.kernel.org
870 Description:
871                 Adaptive thresholds are similar to normal fixed thresholds
872                 but the value is expressed as an offset from a value which
873                 provides a low frequency approximation of the channel itself.
874                 Thus these detect if a rapid change occurs in the specified
875                 direction which crosses tracking value + offset.
876                 Tracking value calculation is devices specific.
877
878 What:           /sys/.../in_capacitanceY_adaptive_thresh_rising_timeout
879 What:           /sys/.../in_capacitanceY_adaptive_thresh_falling_timeout
880 KernelVersion:  5.11
881 Contact:        linux-iio@vger.kernel.org
882 Description:
883                 When adaptive thresholds are used, the tracking signal
884                 may adjust too slowly to step changes in the raw signal.
885                 Thus these specify the time in seconds for which the
886                 difference between the slow tracking signal and the raw
887                 signal is allowed to remain out-of-range before a reset
888                 event occurs in which the tracking signal is made equal
889                 to the raw signal, allowing slow tracking to resume and the
890                 adaptive threshold event detection to function as expected.
891
892 What:           /sys/.../events/in_accel_thresh_rising_value
893 What:           /sys/.../events/in_accel_thresh_falling_value
894 What:           /sys/.../events/in_accel_x_raw_thresh_rising_value
895 What:           /sys/.../events/in_accel_x_raw_thresh_falling_value
896 What:           /sys/.../events/in_accel_y_raw_thresh_rising_value
897 What:           /sys/.../events/in_accel_y_raw_thresh_falling_value
898 What:           /sys/.../events/in_accel_z_raw_thresh_rising_value
899 What:           /sys/.../events/in_accel_z_raw_thresh_falling_value
900 What:           /sys/.../events/in_anglvel_x_raw_thresh_rising_value
901 What:           /sys/.../events/in_anglvel_x_raw_thresh_falling_value
902 What:           /sys/.../events/in_anglvel_y_raw_thresh_rising_value
903 What:           /sys/.../events/in_anglvel_y_raw_thresh_falling_value
904 What:           /sys/.../events/in_anglvel_z_raw_thresh_rising_value
905 What:           /sys/.../events/in_anglvel_z_raw_thresh_falling_value
906 What:           /sys/.../events/in_magn_x_raw_thresh_rising_value
907 What:           /sys/.../events/in_magn_x_raw_thresh_falling_value
908 What:           /sys/.../events/in_magn_y_raw_thresh_rising_value
909 What:           /sys/.../events/in_magn_y_raw_thresh_falling_value
910 What:           /sys/.../events/in_magn_z_raw_thresh_rising_value
911 What:           /sys/.../events/in_magn_z_raw_thresh_falling_value
912 What:           /sys/.../events/in_rot_from_north_magnetic_raw_thresh_rising_value
913 What:           /sys/.../events/in_rot_from_north_magnetic_raw_thresh_falling_value
914 What:           /sys/.../events/in_rot_from_north_true_raw_thresh_rising_value
915 What:           /sys/.../events/in_rot_from_north_true_raw_thresh_falling_value
916 What:           /sys/.../events/in_rot_from_north_magnetic_tilt_comp_raw_thresh_rising_value
917 What:           /sys/.../events/in_rot_from_north_magnetic_tilt_comp_raw_thresh_falling_value
918 What:           /sys/.../events/in_rot_from_north_true_tilt_comp_raw_thresh_rising_value
919 What:           /sys/.../events/in_rot_from_north_true_tilt_comp_raw_thresh_falling_value
920 What:           /sys/.../events/in_voltageY_supply_raw_thresh_rising_value
921 What:           /sys/.../events/in_voltageY_supply_raw_thresh_falling_value
922 What:           /sys/.../events/in_voltageY_raw_thresh_rising_value
923 What:           /sys/.../events/in_voltageY_raw_thresh_falling_value
924 What:           /sys/.../events/in_tempY_raw_thresh_rising_value
925 What:           /sys/.../events/in_tempY_raw_thresh_falling_value
926 What:           /sys/.../events/in_illuminance0_thresh_falling_value
927 What:           /sys/.../events/in_illuminance0_thresh_rising_value
928 What:           /sys/.../events/in_proximity0_thresh_falling_value
929 What:           /sys/.../events/in_proximity0_thresh_rising_value
930 What:           /sys/.../events/in_illuminance_thresh_rising_value
931 What:           /sys/.../events/in_illuminance_thresh_falling_value
932 What:           /sys/.../events/in_capacitanceY_thresh_rising_value
933 What:           /sys/.../events/in_capacitanceY_thresh_falling_value
934 What:           /sys/.../events/in_capacitanceY_thresh_adaptive_rising_value
935 What:           /sys/.../events/in_capacitanceY_thresh_falling_rising_value
936 KernelVersion:  2.6.37
937 Contact:        linux-iio@vger.kernel.org
938 Description:
939                 Specifies the value of threshold that the device is comparing
940                 against for the events enabled by
941                 <type>Y[_name]_thresh[_rising|falling]_en.
942
943                 If separate attributes exist for the two directions, but
944                 direction is not specified for this attribute, then a single
945                 threshold value applies to both directions.
946
947                 The raw or input element of the name indicates whether the
948                 value is in raw device units or in processed units (as _raw
949                 and _input do on sysfs direct channel read attributes).
950
951 What:           /sys/.../events/in_accel_scale
952 What:           /sys/.../events/in_accel_peak_scale
953 What:           /sys/.../events/in_anglvel_scale
954 What:           /sys/.../events/in_magn_scale
955 What:           /sys/.../events/in_rot_from_north_magnetic_scale
956 What:           /sys/.../events/in_rot_from_north_true_scale
957 What:           /sys/.../events/in_voltage_scale
958 What:           /sys/.../events/in_voltage_supply_scale
959 What:           /sys/.../events/in_temp_scale
960 What:           /sys/.../events/in_illuminance_scale
961 What:           /sys/.../events/in_proximity_scale
962 KernelVersion:  3.21
963 Contact:        linux-iio@vger.kernel.org
964 Description:
965                 Specifies the conversion factor from the standard units
966                 to device specific units used to set the event trigger
967                 threshold.
968
969 What:           /sys/.../events/in_accel_x_thresh_rising_hysteresis
970 What:           /sys/.../events/in_accel_x_thresh_falling_hysteresis
971 What:           /sys/.../events/in_accel_x_thresh_either_hysteresis
972 What:           /sys/.../events/in_accel_y_thresh_rising_hysteresis
973 What:           /sys/.../events/in_accel_y_thresh_falling_hysteresis
974 What:           /sys/.../events/in_accel_y_thresh_either_hysteresis
975 What:           /sys/.../events/in_accel_z_thresh_rising_hysteresis
976 What:           /sys/.../events/in_accel_z_thresh_falling_hysteresis
977 What:           /sys/.../events/in_accel_z_thresh_either_hysteresis
978 What:           /sys/.../events/in_anglvel_x_thresh_rising_hysteresis
979 What:           /sys/.../events/in_anglvel_x_thresh_falling_hysteresis
980 What:           /sys/.../events/in_anglvel_x_thresh_either_hysteresis
981 What:           /sys/.../events/in_anglvel_y_thresh_rising_hysteresis
982 What:           /sys/.../events/in_anglvel_y_thresh_falling_hysteresis
983 What:           /sys/.../events/in_anglvel_y_thresh_either_hysteresis
984 What:           /sys/.../events/in_anglvel_z_thresh_rising_hysteresis
985 What:           /sys/.../events/in_anglvel_z_thresh_falling_hysteresis
986 What:           /sys/.../events/in_anglvel_z_thresh_either_hysteresis
987 What:           /sys/.../events/in_magn_x_thresh_rising_hysteresis
988 What:           /sys/.../events/in_magn_x_thresh_falling_hysteresis
989 What:           /sys/.../events/in_magn_x_thresh_either_hysteresis
990 What:           /sys/.../events/in_magn_y_thresh_rising_hysteresis
991 What:           /sys/.../events/in_magn_y_thresh_falling_hysteresis
992 What:           /sys/.../events/in_magn_y_thresh_either_hysteresis
993 What:           /sys/.../events/in_magn_z_thresh_rising_hysteresis
994 What:           /sys/.../events/in_magn_z_thresh_falling_hysteresis
995 What:           /sys/.../events/in_magn_z_thresh_either_hysteresis
996 What:           /sys/.../events/in_rot_from_north_magnetic_thresh_rising_hysteresis
997 What:           /sys/.../events/in_rot_from_north_magnetic_thresh_falling_hysteresis
998 What:           /sys/.../events/in_rot_from_north_magnetic_thresh_either_hysteresis
999 What:           /sys/.../events/in_rot_from_north_true_thresh_rising_hysteresis
1000 What:           /sys/.../events/in_rot_from_north_true_thresh_falling_hysteresis
1001 What:           /sys/.../events/in_rot_from_north_true_thresh_either_hysteresis
1002 What:           /sys/.../events/in_rot_from_north_magnetic_tilt_comp_thresh_rising_hysteresis
1003 What:           /sys/.../events/in_rot_from_north_magnetic_tilt_comp_thresh_falling_hysteresis
1004 What:           /sys/.../events/in_rot_from_north_magnetic_tilt_comp_thresh_either_hysteresis
1005 What:           /sys/.../events/in_rot_from_north_true_tilt_comp_thresh_rising_hysteresis
1006 What:           /sys/.../events/in_rot_from_north_true_tilt_comp_thresh_falling_hysteresis
1007 What:           /sys/.../events/in_rot_from_north_true_tilt_comp_thresh_either_hysteresis
1008 What:           /sys/.../events/in_voltageY_thresh_rising_hysteresis
1009 What:           /sys/.../events/in_voltageY_thresh_falling_hysteresis
1010 What:           /sys/.../events/in_voltageY_thresh_either_hysteresis
1011 What:           /sys/.../events/in_tempY_thresh_rising_hysteresis
1012 What:           /sys/.../events/in_tempY_thresh_falling_hysteresis
1013 What:           /sys/.../events/in_tempY_thresh_either_hysteresis
1014 What:           /sys/.../events/in_illuminance0_thresh_falling_hysteresis
1015 What:           /sys/.../events/in_illuminance0_thresh_rising_hysteresis
1016 What:           /sys/.../events/in_illuminance0_thresh_either_hysteresis
1017 What:           /sys/.../events/in_proximity0_thresh_falling_hysteresis
1018 What:           /sys/.../events/in_proximity0_thresh_rising_hysteresis
1019 What:           /sys/.../events/in_proximity0_thresh_either_hysteresis
1020 KernelVersion:  3.13
1021 Contact:        linux-iio@vger.kernel.org
1022 Description:
1023                 Specifies the hysteresis of threshold that the device is comparing
1024                 against for the events enabled by
1025                 <type>Y[_name]_thresh[_(rising|falling)]_hysteresis.
1026                 If separate attributes exist for the two directions, but
1027                 direction is not specified for this attribute, then a single
1028                 hysteresis value applies to both directions.
1029
1030                 For falling events the hysteresis is added to the _value attribute for
1031                 this event to get the upper threshold for when the event goes back to
1032                 normal, for rising events the hysteresis is subtracted from the _value
1033                 attribute. E.g. if in_voltage0_raw_thresh_rising_value is set to 1200
1034                 and in_voltage0_raw_thresh_rising_hysteresis is set to 50. The event
1035                 will get activated once in_voltage0_raw goes above 1200 and will become
1036                 deactivated again once the value falls below 1150.
1037
1038 What:           /sys/.../events/in_accel_x_raw_roc_rising_value
1039 What:           /sys/.../events/in_accel_x_raw_roc_falling_value
1040 What:           /sys/.../events/in_accel_y_raw_roc_rising_value
1041 What:           /sys/.../events/in_accel_y_raw_roc_falling_value
1042 What:           /sys/.../events/in_accel_z_raw_roc_rising_value
1043 What:           /sys/.../events/in_accel_z_raw_roc_falling_value
1044 What:           /sys/.../events/in_anglvel_x_raw_roc_rising_value
1045 What:           /sys/.../events/in_anglvel_x_raw_roc_falling_value
1046 What:           /sys/.../events/in_anglvel_y_raw_roc_rising_value
1047 What:           /sys/.../events/in_anglvel_y_raw_roc_falling_value
1048 What:           /sys/.../events/in_anglvel_z_raw_roc_rising_value
1049 What:           /sys/.../events/in_anglvel_z_raw_roc_falling_value
1050 What:           /sys/.../events/in_magn_x_raw_roc_rising_value
1051 What:           /sys/.../events/in_magn_x_raw_roc_falling_value
1052 What:           /sys/.../events/in_magn_y_raw_roc_rising_value
1053 What:           /sys/.../events/in_magn_y_raw_roc_falling_value
1054 What:           /sys/.../events/in_magn_z_raw_roc_rising_value
1055 What:           /sys/.../events/in_magn_z_raw_roc_falling_value
1056 What:           /sys/.../events/in_rot_from_north_magnetic_raw_roc_rising_value
1057 What:           /sys/.../events/in_rot_from_north_magnetic_raw_roc_falling_value
1058 What:           /sys/.../events/in_rot_from_north_true_raw_roc_rising_value
1059 What:           /sys/.../events/in_rot_from_north_true_raw_roc_falling_value
1060 What:           /sys/.../events/in_rot_from_north_magnetic_tilt_comp_raw_roc_rising_value
1061 What:           /sys/.../events/in_rot_from_north_magnetic_tilt_comp_raw_roc_falling_value
1062 What:           /sys/.../events/in_rot_from_north_true_tilt_comp_raw_roc_rising_value
1063 What:           /sys/.../events/in_rot_from_north_true_tilt_comp_raw_roc_falling_value
1064 What:           /sys/.../events/in_voltageY_supply_raw_roc_rising_value
1065 What:           /sys/.../events/in_voltageY_supply_raw_roc_falling_value
1066 What:           /sys/.../events/in_voltageY_raw_roc_rising_value
1067 What:           /sys/.../events/in_voltageY_raw_roc_falling_value
1068 What:           /sys/.../events/in_tempY_raw_roc_rising_value
1069 What:           /sys/.../events/in_tempY_raw_roc_falling_value
1070 KernelVersion:  2.6.37
1071 Contact:        linux-iio@vger.kernel.org
1072 Description:
1073                 Specifies the value of rate of change threshold that the
1074                 device is comparing against for the events enabled by
1075                 <type>[Y][_name]_roc[_rising|falling]_en.
1076
1077                 If separate attributes exist for the two directions,
1078                 but direction is not specified for this attribute,
1079                 then a single threshold value applies to both directions.
1080                 The raw or input element of the name indicates whether the
1081                 value is in raw device units or in processed units (as _raw
1082                 and _input do on sysfs direct channel read attributes).
1083
1084 What:           /sys/.../events/in_accel_x_thresh_rising_period
1085 What:           /sys/.../events/in_accel_x_thresh_falling_period
1086 What:           /sys/.../events/in_accel_x_roc_rising_period
1087 What:           /sys/.../events/in_accel_x_roc_falling_period
1088 What:           /sys/.../events/in_accel_y_thresh_rising_period
1089 What:           /sys/.../events/in_accel_y_thresh_falling_period
1090 What:           /sys/.../events/in_accel_y_roc_rising_period
1091 What:           /sys/.../events/in_accel_y_roc_falling_period
1092 What:           /sys/.../events/in_accel_z_thresh_rising_period
1093 What:           /sys/.../events/in_accel_z_thresh_falling_period
1094 What:           /sys/.../events/in_accel_z_roc_rising_period
1095 What:           /sys/.../events/in_accel_z_roc_falling_period
1096 What:           /sys/.../events/in_anglvel_x_thresh_rising_period
1097 What:           /sys/.../events/in_anglvel_x_thresh_falling_period
1098 What:           /sys/.../events/in_anglvel_x_roc_rising_period
1099 What:           /sys/.../events/in_anglvel_x_roc_falling_period
1100 What:           /sys/.../events/in_anglvel_y_thresh_rising_period
1101 What:           /sys/.../events/in_anglvel_y_thresh_falling_period
1102 What:           /sys/.../events/in_anglvel_y_roc_rising_period
1103 What:           /sys/.../events/in_anglvel_y_roc_falling_period
1104 What:           /sys/.../events/in_anglvel_z_thresh_rising_period
1105 What:           /sys/.../events/in_anglvel_z_thresh_falling_period
1106 What:           /sys/.../events/in_anglvel_z_roc_rising_period
1107 What:           /sys/.../events/in_anglvel_z_roc_falling_period
1108 What:           /sys/.../events/in_magn_x_thresh_rising_period
1109 What:           /sys/.../events/in_magn_x_thresh_falling_period
1110 What:           /sys/.../events/in_magn_x_roc_rising_period
1111 What:           /sys/.../events/in_magn_x_roc_falling_period
1112 What:           /sys/.../events/in_magn_y_thresh_rising_period
1113 What:           /sys/.../events/in_magn_y_thresh_falling_period
1114 What:           /sys/.../events/in_magn_y_roc_rising_period
1115 What:           /sys/.../events/in_magn_y_roc_falling_period
1116 What:           /sys/.../events/in_magn_z_thresh_rising_period
1117 What:           /sys/.../events/in_magn_z_thresh_falling_period
1118 What:           /sys/.../events/in_magn_z_roc_rising_period
1119 What:           /sys/.../events/in_magn_z_roc_falling_period
1120 What:           /sys/.../events/in_rot_from_north_magnetic_thresh_rising_period
1121 What:           /sys/.../events/in_rot_from_north_magnetic_thresh_falling_period
1122 What:           /sys/.../events/in_rot_from_north_magnetic_roc_rising_period
1123 What:           /sys/.../events/in_rot_from_north_magnetic_roc_falling_period
1124 What:           /sys/.../events/in_rot_from_north_true_thresh_rising_period
1125 What:           /sys/.../events/in_rot_from_north_true_thresh_falling_period
1126 What:           /sys/.../events/in_rot_from_north_true_roc_rising_period
1127 What:           /sys/.../events/in_rot_from_north_true_roc_falling_period
1128 What:           /sys/.../events/in_rot_from_north_magnetic_tilt_comp_thresh_rising_period
1129 What:           /sys/.../events/in_rot_from_north_magnetic_tilt_comp_thresh_falling_period
1130 What:           /sys/.../events/in_rot_from_north_magnetic_tilt_comp_roc_rising_period
1131 What:           /sys/.../events/in_rot_from_north_magnetic_tilt_comp_roc_falling_period
1132 What:           /sys/.../events/in_rot_from_north_true_tilt_comp_thresh_rising_period
1133 What:           /sys/.../events/in_rot_from_north_true_tilt_comp_thresh_falling_period
1134 What:           /sys/.../events/in_rot_from_north_true_tilt_comp_roc_rising_period
1135 What:           /sys/.../events/in_rot_from_north_true_tilt_comp_roc_falling_period
1136 What:           /sys/.../events/in_voltageY_supply_thresh_rising_period
1137 What:           /sys/.../events/in_voltageY_supply_thresh_falling_period
1138 What:           /sys/.../events/in_voltageY_supply_roc_rising_period
1139 What:           /sys/.../events/in_voltageY_supply_roc_falling_period
1140 What:           /sys/.../events/in_voltageY_thresh_rising_period
1141 What:           /sys/.../events/in_voltageY_thresh_falling_period
1142 What:           /sys/.../events/in_voltageY_roc_rising_period
1143 What:           /sys/.../events/in_voltageY_roc_falling_period
1144 What:           /sys/.../events/in_tempY_thresh_rising_period
1145 What:           /sys/.../events/in_tempY_thresh_falling_period
1146 What:           /sys/.../events/in_tempY_roc_rising_period
1147 What:           /sys/.../events/in_tempY_roc_falling_period
1148 What:           /sys/.../events/in_accel_x&y&z_mag_falling_period
1149 What:           /sys/.../events/in_intensity0_thresh_period
1150 What:           /sys/.../events/in_proximity0_thresh_period
1151 What:           /sys/.../events/in_activity_still_thresh_rising_period
1152 What:           /sys/.../events/in_activity_still_thresh_falling_period
1153 What:           /sys/.../events/in_activity_walking_thresh_rising_period
1154 What:           /sys/.../events/in_activity_walking_thresh_falling_period
1155 What:           /sys/.../events/in_activity_jogging_thresh_rising_period
1156 What:           /sys/.../events/in_activity_jogging_thresh_falling_period
1157 What:           /sys/.../events/in_activity_running_thresh_rising_period
1158 What:           /sys/.../events/in_activity_running_thresh_falling_period
1159 What:           /sys/.../events/in_illuminance_thresh_either_period
1160 KernelVersion:  2.6.37
1161 Contact:        linux-iio@vger.kernel.org
1162 Description:
1163                 Period of time (in seconds) for which the condition must be
1164                 met before an event is generated. If direction is not
1165                 specified then this period applies to both directions.
1166
1167 What:           /sys/.../events/in_accel_thresh_rising_low_pass_filter_3db
1168 What:           /sys/.../events/in_anglvel_thresh_rising_low_pass_filter_3db
1169 What:           /sys/.../events/in_magn_thresh_rising_low_pass_filter_3db
1170 KernelVersion:  4.2
1171 Contact:        linux-iio@vger.kernel.org
1172 Description:
1173                 If a low pass filter can be applied to the event generation
1174                 this property gives its 3db frequency in Hz.
1175                 A value of zero disables the filter.
1176
1177 What:           /sys/.../events/in_accel_thresh_rising_high_pass_filter_3db
1178 What:           /sys/.../events/in_anglvel_thresh_rising_high_pass_filter_3db
1179 What:           /sys/.../events/in_magn_thresh_rising_high_pass_filter_3db
1180 KernelVersion:  4.2
1181 Contact:        linux-iio@vger.kernel.org
1182 Description:
1183                 If a high pass filter can be applied to the event generation
1184                 this property gives its 3db frequency in Hz.
1185                 A value of zero disables the filter.
1186
1187 What:           /sys/.../events/in_activity_still_thresh_rising_en
1188 What:           /sys/.../events/in_activity_still_thresh_falling_en
1189 What:           /sys/.../events/in_activity_walking_thresh_rising_en
1190 What:           /sys/.../events/in_activity_walking_thresh_falling_en
1191 What:           /sys/.../events/in_activity_jogging_thresh_rising_en
1192 What:           /sys/.../events/in_activity_jogging_thresh_falling_en
1193 What:           /sys/.../events/in_activity_running_thresh_rising_en
1194 What:           /sys/.../events/in_activity_running_thresh_falling_en
1195 KernelVersion:  3.19
1196 Contact:        linux-iio@vger.kernel.org
1197 Description:
1198                 Enables or disables activity events. Depending on direction
1199                 an event is generated when sensor ENTERS or LEAVES a given state.
1200
1201 What:           /sys/.../events/in_activity_still_thresh_rising_value
1202 What:           /sys/.../events/in_activity_still_thresh_falling_value
1203 What:           /sys/.../events/in_activity_walking_thresh_rising_value
1204 What:           /sys/.../events/in_activity_walking_thresh_falling_value
1205 What:           /sys/.../events/in_activity_jogging_thresh_rising_value
1206 What:           /sys/.../events/in_activity_jogging_thresh_falling_value
1207 What:           /sys/.../events/in_activity_running_thresh_rising_value
1208 What:           /sys/.../events/in_activity_running_thresh_falling_value
1209 KernelVersion:  3.19
1210 Contact:        linux-iio@vger.kernel.org
1211 Description:
1212                 Confidence value (in units as percentage) to be used
1213                 for deciding when an event should be generated. E.g for
1214                 running: If the confidence value reported by the sensor
1215                 is greater than in_activity_running_thresh_rising_value
1216                 then the sensor ENTERS running state. Conversely, if the
1217                 confidence value reported by the sensor is lower than
1218                 in_activity_running_thresh_falling_value then the sensor
1219                 is LEAVING running state.
1220
1221 What:           /sys/.../iio:deviceX/events/in_accel_mag_en
1222 What:           /sys/.../iio:deviceX/events/in_accel_mag_rising_en
1223 What:           /sys/.../iio:deviceX/events/in_accel_mag_falling_en
1224 What:           /sys/.../iio:deviceX/events/in_accel_x_mag_en
1225 What:           /sys/.../iio:deviceX/events/in_accel_x_mag_rising_en
1226 What:           /sys/.../iio:deviceX/events/in_accel_x_mag_falling_en
1227 What:           /sys/.../iio:deviceX/events/in_accel_y_mag_en
1228 What:           /sys/.../iio:deviceX/events/in_accel_y_mag_rising_en
1229 What:           /sys/.../iio:deviceX/events/in_accel_y_mag_falling_en
1230 What:           /sys/.../iio:deviceX/events/in_accel_z_mag_en
1231 What:           /sys/.../iio:deviceX/events/in_accel_z_mag_rising_en
1232 What:           /sys/.../iio:deviceX/events/in_accel_z_mag_falling_en
1233 What:           /sys/.../iio:deviceX/events/in_accel_x&y&z_mag_rising_en
1234 What:           /sys/.../iio:deviceX/events/in_accel_x&y&z_mag_falling_en
1235 KernelVersion:  2.6.37
1236 Contact:        linux-iio@vger.kernel.org
1237 Description:
1238                 Similar to in_accel_x_thresh[_rising|_falling]_en, but here the
1239                 magnitude of the channel is compared to the threshold, not its
1240                 signed value.
1241
1242 What:           /sys/.../events/in_accel_raw_mag_value
1243 What:           /sys/.../events/in_accel_x_raw_mag_rising_value
1244 What:           /sys/.../events/in_accel_y_raw_mag_rising_value
1245 What:           /sys/.../events/in_accel_z_raw_mag_rising_value
1246 KernelVersion:  2.6.37
1247 Contact:        linux-iio@vger.kernel.org
1248 Description:
1249                 The value to which the magnitude of the channel is compared. If
1250                 number or direction is not specified, applies to all channels of
1251                 this type.
1252
1253 What:           /sys/.../iio:deviceX/events/in_accel_mag_referenced_en
1254 What:           /sys/.../iio:deviceX/events/in_accel_mag_referenced_rising_en
1255 What:           /sys/.../iio:deviceX/events/in_accel_mag_referenced_falling_en
1256 What:           /sys/.../iio:deviceX/events/in_accel_y_mag_referenced_en
1257 What:           /sys/.../iio:deviceX/events/in_accel_y_mag_referenced_rising_en
1258 What:           /sys/.../iio:deviceX/events/in_accel_y_mag_referenced_falling_en
1259 KernelVersion:  5.18
1260 Contact:        linux-iio@vger.kernel.org
1261 Description:
1262                 Similar to in_accel_mag[_y][_rising|_falling]_en, but the event
1263                 value is relative to a reference magnitude. The reference magnitude
1264                 includes the graviational acceleration.
1265
1266 What:           /sys/.../iio:deviceX/events/in_accel_mag_referenced_value
1267 What:           /sys/.../iio:deviceX/events/in_accel_mag_referenced_rising_value
1268 What:           /sys/.../iio:deviceX/events/in_accel_mag_referenced_falling_value
1269 What:           /sys/.../iio:deviceX/events/in_accel_y_mag_referenced_value
1270 What:           /sys/.../iio:deviceX/events/in_accel_y_mag_referenced_rising_value
1271 What:           /sys/.../iio:deviceX/events/in_accel_y_mag_referenced_falling_value
1272 KernelVersion:  5.18
1273 Contact:        linux-iio@vger.kernel.org
1274 Description:
1275                 The value to which the reference magnitude of the channel is
1276                 compared. If the axis is not specified, it applies to all channels
1277                 of this type.
1278
1279 What:           /sys/.../events/in_steps_change_en
1280 KernelVersion:  4.0
1281 Contact:        linux-iio@vger.kernel.org
1282 Description:
1283                 Event generated when channel passes a threshold on the absolute
1284                 change in value. E.g. for steps: a step change event is
1285                 generated each time the user takes N steps, where N is set using
1286                 in_steps_change_value.
1287
1288 What:           /sys/.../events/in_steps_change_value
1289 KernelVersion:  4.0
1290 Contact:        linux-iio@vger.kernel.org
1291 Description:
1292                 Specifies the value of change threshold that the
1293                 device is comparing against for the events enabled by
1294                 <type>[Y][_name]_roc[_rising|falling|]_en. E.g. for steps:
1295                 if set to 3, a step change event will be generated every 3
1296                 steps.
1297
1298 What:           /sys/bus/iio/devices/iio:deviceX/trigger/current_trigger
1299 KernelVersion:  2.6.35
1300 Contact:        linux-iio@vger.kernel.org
1301 Description:
1302                 The name of the trigger source being used, as per string given
1303                 in /sys/class/iio/triggerY/name.
1304
1305 What:           /sys/bus/iio/devices/iio:deviceX/bufferY/length
1306 KernelVersion:  5.11
1307 Contact:        linux-iio@vger.kernel.org
1308 Description:
1309                 Number of scans contained by the buffer.
1310
1311 What:           /sys/bus/iio/devices/iio:deviceX/bufferY/enable
1312 KernelVersion:  5.11
1313 Contact:        linux-iio@vger.kernel.org
1314 Description:
1315                 Actually start the buffer capture up.  Will start trigger
1316                 if first device and appropriate.
1317
1318                 Note that it might be impossible to configure other attributes,
1319                 (e.g.: events, scale, sampling rate) if they impact the currently
1320                 active buffer capture session.
1321
1322 What:           /sys/bus/iio/devices/iio:deviceX/bufferY
1323 KernelVersion:  5.11
1324 Contact:        linux-iio@vger.kernel.org
1325 Description:
1326                 Directory containing interfaces for elements that will be
1327                 captured for a single triggered sample set in the buffer.
1328
1329                 Since kernel 5.11 the scan_elements attributes are merged into
1330                 the bufferY directory, to be configurable per buffer.
1331
1332 What:           /sys/.../iio:deviceX/bufferY/in_accel_x_en
1333 What:           /sys/.../iio:deviceX/bufferY/in_accel_y_en
1334 What:           /sys/.../iio:deviceX/bufferY/in_accel_z_en
1335 What:           /sys/.../iio:deviceX/bufferY/in_anglvel_x_en
1336 What:           /sys/.../iio:deviceX/bufferY/in_anglvel_y_en
1337 What:           /sys/.../iio:deviceX/bufferY/in_anglvel_z_en
1338 What:           /sys/.../iio:deviceX/bufferY/in_magn_x_en
1339 What:           /sys/.../iio:deviceX/bufferY/in_magn_y_en
1340 What:           /sys/.../iio:deviceX/bufferY/in_magn_z_en
1341 What:           /sys/.../iio:deviceX/bufferY/in_rot_from_north_magnetic_en
1342 What:           /sys/.../iio:deviceX/bufferY/in_rot_from_north_true_en
1343 What:           /sys/.../iio:deviceX/bufferY/in_rot_from_north_magnetic_tilt_comp_en
1344 What:           /sys/.../iio:deviceX/bufferY/in_rot_from_north_true_tilt_comp_en
1345 What:           /sys/.../iio:deviceX/bufferY/in_timestamp_en
1346 What:           /sys/.../iio:deviceX/bufferY/in_voltageY_supply_en
1347 What:           /sys/.../iio:deviceX/bufferY/in_voltageY_en
1348 What:           /sys/.../iio:deviceX/bufferY/in_voltageY-voltageZ_en
1349 What:           /sys/.../iio:deviceX/bufferY/in_voltageY_i_en
1350 What:           /sys/.../iio:deviceX/bufferY/in_voltageY_q_en
1351 What:           /sys/.../iio:deviceX/bufferY/in_voltage_i_en
1352 What:           /sys/.../iio:deviceX/bufferY/in_voltage_q_en
1353 What:           /sys/.../iio:deviceX/bufferY/in_incli_x_en
1354 What:           /sys/.../iio:deviceX/bufferY/in_incli_y_en
1355 What:           /sys/.../iio:deviceX/bufferY/in_pressureY_en
1356 What:           /sys/.../iio:deviceX/bufferY/in_pressure_en
1357 What:           /sys/.../iio:deviceX/bufferY/in_rot_quaternion_en
1358 What:           /sys/.../iio:deviceX/bufferY/in_proximity_en
1359 KernelVersion:  5.11
1360 Contact:        linux-iio@vger.kernel.org
1361 Description:
1362                 Scan element control for triggered data capture.
1363
1364 What:           /sys/.../iio:deviceX/bufferY/in_accel_type
1365 What:           /sys/.../iio:deviceX/bufferY/in_anglvel_type
1366 What:           /sys/.../iio:deviceX/bufferY/in_magn_type
1367 What:           /sys/.../iio:deviceX/bufferY/in_incli_type
1368 What:           /sys/.../iio:deviceX/bufferY/in_voltageY_type
1369 What:           /sys/.../iio:deviceX/bufferY/in_voltage_type
1370 What:           /sys/.../iio:deviceX/bufferY/in_voltageY_supply_type
1371 What:           /sys/.../iio:deviceX/bufferY/in_voltageY_i_type
1372 What:           /sys/.../iio:deviceX/bufferY/in_voltageY_q_type
1373 What:           /sys/.../iio:deviceX/bufferY/in_voltage_i_type
1374 What:           /sys/.../iio:deviceX/bufferY/in_voltage_q_type
1375 What:           /sys/.../iio:deviceX/bufferY/in_timestamp_type
1376 What:           /sys/.../iio:deviceX/bufferY/in_pressureY_type
1377 What:           /sys/.../iio:deviceX/bufferY/in_pressure_type
1378 What:           /sys/.../iio:deviceX/bufferY/in_rot_quaternion_type
1379 What:           /sys/.../iio:deviceX/bufferY/in_proximity_type
1380 KernelVersion:  5.11
1381 Contact:        linux-iio@vger.kernel.org
1382 Description:
1383                 Description of the scan element data storage within the buffer
1384                 and hence the form in which it is read from user-space.
1385                 Form is [be|le]:[s|u]bits/storagebits[>>shift].
1386                 be or le specifies big or little endian. s or u specifies if
1387                 signed (2's complement) or unsigned. bits is the number of bits
1388                 of data and storagebits is the space (after padding) that it
1389                 occupies in the buffer. shift if specified, is the shift that
1390                 needs to be applied prior to masking out unused bits. Some
1391                 devices put their data in the middle of the transferred elements
1392                 with additional information on both sides.  Note that some
1393                 devices will have additional information in the unused bits
1394                 so to get a clean value, the bits value must be used to mask
1395                 the buffer output value appropriately.  The storagebits value
1396                 also specifies the data alignment.  So s48/64>>2 will be a
1397                 signed 48 bit integer stored in a 64 bit location aligned to
1398                 a 64 bit boundary. To obtain the clean value, shift right 2
1399                 and apply a mask to zero the top 16 bits of the result.
1400                 For other storage combinations this attribute will be extended
1401                 appropriately.
1402
1403 What:           /sys/.../iio:deviceX/scan_elements/in_accel_type_available
1404 KernelVersion:  2.6.37
1405 Contact:        linux-iio@vger.kernel.org
1406 Description:
1407                 If the type parameter can take one of a small set of values,
1408                 this attribute lists them.
1409
1410 What:           /sys/.../iio:deviceX/bufferY/in_voltageY_index
1411 What:           /sys/.../iio:deviceX/bufferY/in_voltageY_supply_index
1412 What:           /sys/.../iio:deviceX/bufferY/in_voltageY_i_index
1413 What:           /sys/.../iio:deviceX/bufferY/in_voltageY_q_index
1414 What:           /sys/.../iio:deviceX/bufferY/in_voltage_i_index
1415 What:           /sys/.../iio:deviceX/bufferY/in_voltage_q_index
1416 What:           /sys/.../iio:deviceX/bufferY/in_accel_x_index
1417 What:           /sys/.../iio:deviceX/bufferY/in_accel_y_index
1418 What:           /sys/.../iio:deviceX/bufferY/in_accel_z_index
1419 What:           /sys/.../iio:deviceX/bufferY/in_anglvel_x_index
1420 What:           /sys/.../iio:deviceX/bufferY/in_anglvel_y_index
1421 What:           /sys/.../iio:deviceX/bufferY/in_anglvel_z_index
1422 What:           /sys/.../iio:deviceX/bufferY/in_magn_x_index
1423 What:           /sys/.../iio:deviceX/bufferY/in_magn_y_index
1424 What:           /sys/.../iio:deviceX/bufferY/in_magn_z_index
1425 What:           /sys/.../iio:deviceX/bufferY/in_rot_from_north_magnetic_index
1426 What:           /sys/.../iio:deviceX/bufferY/in_rot_from_north_true_index
1427 What:           /sys/.../iio:deviceX/bufferY/in_rot_from_north_magnetic_tilt_comp_index
1428 What:           /sys/.../iio:deviceX/bufferY/in_rot_from_north_true_tilt_comp_index
1429 What:           /sys/.../iio:deviceX/bufferY/in_incli_x_index
1430 What:           /sys/.../iio:deviceX/bufferY/in_incli_y_index
1431 What:           /sys/.../iio:deviceX/bufferY/in_timestamp_index
1432 What:           /sys/.../iio:deviceX/bufferY/in_pressureY_index
1433 What:           /sys/.../iio:deviceX/bufferY/in_pressure_index
1434 What:           /sys/.../iio:deviceX/bufferY/in_rot_quaternion_index
1435 What:           /sys/.../iio:deviceX/bufferY/in_proximity_index
1436 KernelVersion:  5.11
1437 Contact:        linux-iio@vger.kernel.org
1438 Description:
1439                 A single positive integer specifying the position of this
1440                 scan element in the buffer. Note these are not dependent on
1441                 what is enabled and may not be contiguous. Thus for user-space
1442                 to establish the full layout these must be used in conjunction
1443                 with all _en attributes to establish which channels are present,
1444                 and the relevant _type attributes to establish the data storage
1445                 format.
1446
1447 What:           /sys/.../iio:deviceX/in_activity_still_input
1448 What:           /sys/.../iio:deviceX/in_activity_walking_input
1449 What:           /sys/.../iio:deviceX/in_activity_jogging_input
1450 What:           /sys/.../iio:deviceX/in_activity_running_input
1451 KernelVersion:  3.19
1452 Contact:        linux-iio@vger.kernel.org
1453 Description:
1454                 This attribute is used to read the confidence for an activity
1455                 expressed in units as percentage.
1456
1457 What:           /sys/.../iio:deviceX/in_anglvel_z_quadrature_correction_raw
1458 KernelVersion:  2.6.38
1459 Contact:        linux-iio@vger.kernel.org
1460 Description:
1461                 This attribute is used to read the amount of quadrature error
1462                 present in the device at a given time.
1463
1464 What:           /sys/.../iio:deviceX/in_accelX_power_mode
1465 KernelVersion:  3.11
1466 Contact:        linux-iio@vger.kernel.org
1467 Description:
1468                 Specifies the chip power mode.
1469                 low_noise: reduce noise level from ADC,
1470                 low_power: enable low current consumption.
1471                 For a list of available output power modes read
1472                 in_accel_power_mode_available.
1473
1474 What:           /sys/.../iio:deviceX/in_energy_input
1475 What:           /sys/.../iio:deviceX/in_energy_raw
1476 KernelVersion:  4.0
1477 Contact:        linux-iio@vger.kernel.org
1478 Description:
1479                 This attribute is used to read the energy value reported by the
1480                 device (e.g.: human activity sensors report energy burnt by the
1481                 user). Units after application of scale are Joules.
1482
1483 What:           /sys/.../iio:deviceX/in_distance_input
1484 What:           /sys/.../iio:deviceX/in_distance_raw
1485 KernelVersion:  4.0
1486 Contact:        linux-iio@vger.kernel.org
1487 Description:
1488                 This attribute is used to read the measured distance to an object
1489                 or the distance covered by the user since the last reboot while
1490                 activated. Units after application of scale are meters.
1491
1492 What:           /sys/bus/iio/devices/iio:deviceX/store_eeprom
1493 KernelVersion:  3.4.0
1494 Contact:        linux-iio@vger.kernel.org
1495 Description:
1496                 Writing '1' stores the current device configuration into
1497                 on-chip EEPROM. After power-up or chip reset the device will
1498                 automatically load the saved configuration.
1499
1500 What:           /sys/.../iio:deviceX/in_proximity_raw
1501 What:           /sys/.../iio:deviceX/in_proximity_input
1502 What:           /sys/.../iio:deviceX/in_proximityY_raw
1503 KernelVersion:  3.4
1504 Contact:        linux-iio@vger.kernel.org
1505 Description:
1506                 Proximity measurement indicating that some
1507                 object is near the sensor, usually by observing
1508                 reflectivity of infrared or ultrasound emitted.
1509
1510                 Often these sensors are unit less and as such conversion
1511                 to SI units is not possible. Higher proximity measurements
1512                 indicate closer objects, and vice versa. Units after
1513                 application of scale and offset are meters.
1514
1515 What:           /sys/.../iio:deviceX/in_illuminance_input
1516 What:           /sys/.../iio:deviceX/in_illuminance_raw
1517 What:           /sys/.../iio:deviceX/in_illuminanceY_input
1518 What:           /sys/.../iio:deviceX/in_illuminanceY_raw
1519 What:           /sys/.../iio:deviceX/in_illuminanceY_mean_raw
1520 What:           /sys/.../iio:deviceX/in_illuminance_ir_raw
1521 What:           /sys/.../iio:deviceX/in_illuminance_clear_raw
1522 KernelVersion:  3.4
1523 Contact:        linux-iio@vger.kernel.org
1524 Description:
1525                 Illuminance measurement, units after application of scale
1526                 and offset are lux.
1527
1528 What:           /sys/.../iio:deviceX/in_intensityY_raw
1529 What:           /sys/.../iio:deviceX/in_intensityY_ir_raw
1530 What:           /sys/.../iio:deviceX/in_intensityY_both_raw
1531 What:           /sys/.../iio:deviceX/in_intensityY_uv_raw
1532 What:           /sys/.../iio:deviceX/in_intensityY_duv_raw
1533 KernelVersion:  3.4
1534 Contact:        linux-iio@vger.kernel.org
1535 Description:
1536                 Unit-less light intensity. Modifiers both and ir indicate
1537                 that measurements contain visible and infrared light
1538                 components or just infrared light, respectively. Modifier
1539                 uv indicates that measurements contain ultraviolet light
1540                 components. Modifier duv indicates that measurements
1541                 contain deep ultraviolet light components.
1542
1543 What:           /sys/.../iio:deviceX/in_uvindex_input
1544 KernelVersion:  4.6
1545 Contact:        linux-iio@vger.kernel.org
1546 Description:
1547                 UV light intensity index measuring the human skin's response to
1548                 different wavelength of sunlight weighted according to the
1549                 standardised CIE Erythemal Action Spectrum. UV index values range
1550                 from 0 (low) to >=11 (extreme).
1551
1552 What:           /sys/.../iio:deviceX/in_intensity_integration_time
1553 What:           /sys/.../iio:deviceX/in_intensity_red_integration_time
1554 What:           /sys/.../iio:deviceX/in_intensity_green_integration_time
1555 What:           /sys/.../iio:deviceX/in_intensity_blue_integration_time
1556 What:           /sys/.../iio:deviceX/in_intensity_clear_integration_time
1557 What:           /sys/.../iio:deviceX/in_illuminance_integration_time
1558 KernelVersion:  3.12
1559 Contact:        linux-iio@vger.kernel.org
1560 Description:
1561                 This attribute is used to get/set the integration time in
1562                 seconds. If shared across all channels of a given type,
1563                 <type>_integration_time is used.
1564
1565 What:           /sys/.../iio:deviceX/in_velocity_sqrt(x^2+y^2+z^2)_integration_time
1566 KernelVersion:  4.0
1567 Contact:        linux-iio@vger.kernel.org
1568 Description:
1569                 Number of seconds in which to compute speed.
1570
1571 What:           /sys/bus/iio/devices/iio:deviceX/in_rot_quaternion_raw
1572 KernelVersion:  3.15
1573 Contact:        linux-iio@vger.kernel.org
1574 Description:
1575                 Raw value of quaternion components using a format
1576                 x y z w. Here x, y, and z component represents the axis about
1577                 which a rotation will occur and w component represents the
1578                 amount of rotation.
1579
1580 What:           /sys/bus/iio/devices/iio:deviceX/in_rot_from_north_magnetic_tilt_comp_raw
1581 What:           /sys/bus/iio/devices/iio:deviceX/in_rot_from_north_true_tilt_comp_raw
1582 What:           /sys/bus/iio/devices/iio:deviceX/in_rot_from_north_magnetic_raw
1583 What:           /sys/bus/iio/devices/iio:deviceX/in_rot_from_north_true_raw
1584 KernelVersion:  3.15
1585 Contact:        linux-iio@vger.kernel.org
1586 Description:
1587                 Raw value of rotation from true/magnetic north measured with
1588                 or without compensation from tilt sensors.
1589
1590 What:           /sys/bus/iio/devices/iio:deviceX/in_currentX_raw
1591 What:           /sys/bus/iio/devices/iio:deviceX/in_currentX_i_raw
1592 What:           /sys/bus/iio/devices/iio:deviceX/in_currentX_q_raw
1593 KernelVersion:  3.18
1594 Contact:        linux-iio@vger.kernel.org
1595 Description:
1596                 Raw current measurement from channel X. Units are in milliamps
1597                 after application of scale and offset. If no offset or scale is
1598                 present, output should be considered as processed with the
1599                 unit in milliamps.
1600
1601                 Channels with 'i' and 'q' modifiers always exist in pairs and both
1602                 channels refer to the same signal. The 'i' channel contains the in-phase
1603                 component of the signal while the 'q' channel contains the quadrature
1604                 component.
1605
1606 What:           /sys/.../iio:deviceX/in_energy_en
1607 What:           /sys/.../iio:deviceX/in_distance_en
1608 What:           /sys/.../iio:deviceX/in_velocity_sqrt(x^2+y^2+z^2)_en
1609 What:           /sys/.../iio:deviceX/in_steps_en
1610 KernelVersion:  3.19
1611 Contact:        linux-iio@vger.kernel.org
1612 Description:
1613                 Activates a device feature that runs in firmware/hardware.
1614                 E.g. for steps: the pedometer saves power while not used;
1615                 when activated, it will count the steps taken by the user in
1616                 firmware and export them through in_steps_input.
1617
1618 What:           /sys/.../iio:deviceX/in_steps_input
1619 KernelVersion:  3.19
1620 Contact:        linux-iio@vger.kernel.org
1621 Description:
1622                 This attribute is used to read the number of steps taken by the user
1623                 since the last reboot while activated.
1624
1625 What:           /sys/.../iio:deviceX/in_velocity_sqrt(x^2+y^2+z^2)_input
1626 What:           /sys/.../iio:deviceX/in_velocity_sqrt(x^2+y^2+z^2)_raw
1627 KernelVersion:  3.19
1628 Contact:        linux-iio@vger.kernel.org
1629 Description:
1630                 This attribute is used to read the current speed value of the
1631                 user (which is the norm or magnitude of the velocity vector).
1632                 Units after application of scale are m/s.
1633
1634 What:           /sys/.../iio:deviceX/in_steps_debounce_count
1635 KernelVersion:  4.0
1636 Contact:        linux-iio@vger.kernel.org
1637 Description:
1638                 Specifies the number of steps that must occur within
1639                 in_steps_filter_debounce_time for the pedometer to decide the
1640                 consumer is making steps.
1641
1642 What:           /sys/.../iio:deviceX/in_steps_debounce_time
1643 KernelVersion:  4.0
1644 Contact:        linux-iio@vger.kernel.org
1645 Description:
1646                 Specifies number of seconds in which we compute the steps
1647                 that occur in order to decide if the consumer is making steps.
1648
1649 What:           /sys/bus/iio/devices/iio:deviceX/bufferY/watermark
1650 KernelVersion:  5.11
1651 Contact:        linux-iio@vger.kernel.org
1652 Description:
1653                 A single positive integer specifying the maximum number of scan
1654                 elements to wait for.
1655
1656                 Poll will block until the watermark is reached.
1657
1658                 Blocking read will wait until the minimum between the requested
1659                 read amount or the low water mark is available.
1660
1661                 Non-blocking read will retrieve the available samples from the
1662                 buffer even if there are less samples then watermark level. This
1663                 allows the application to block on poll with a timeout and read
1664                 the available samples after the timeout expires and thus have a
1665                 maximum delay guarantee.
1666
1667 What:           /sys/bus/iio/devices/iio:deviceX/bufferY/data_available
1668 KernelVersion:  5.11
1669 Contact:        linux-iio@vger.kernel.org
1670 Description:
1671                 A read-only value indicating the bytes of data available in the
1672                 buffer. In the case of an output buffer, this indicates the
1673                 amount of empty space available to write data to. In the case of
1674                 an input buffer, this indicates the amount of data available for
1675                 reading.
1676
1677 What:           /sys/bus/iio/devices/iio:deviceX/buffer/hwfifo_enabled
1678 KernelVersion: 4.2
1679 Contact:        linux-iio@vger.kernel.org
1680 Description:
1681                 A read-only boolean value that indicates if the hardware fifo is
1682                 currently enabled or disabled. If the device does not have a
1683                 hardware fifo this entry is not present.
1684                 The hardware fifo is enabled when the buffer is enabled if the
1685                 current hardware fifo watermark level is set and other current
1686                 device settings allows it (e.g. if a trigger is set that samples
1687                 data differently that the hardware fifo does then hardware fifo
1688                 will not enabled).
1689
1690                 If the hardware fifo is enabled and the level of the hardware
1691                 fifo reaches the hardware fifo watermark level the device will
1692                 flush its hardware fifo to the device buffer. Doing a non
1693                 blocking read on the device when no samples are present in the
1694                 device buffer will also force a flush.
1695
1696                 When the hardware fifo is enabled there is no need to use a
1697                 trigger to use buffer mode since the watermark settings
1698                 guarantees that the hardware fifo is flushed to the device
1699                 buffer.
1700
1701 What:           /sys/bus/iio/devices/iio:device*/buffer/hwfifo_timeout
1702 KernelVersion:  4.12
1703 Contact:        linux-iio@vger.kernel.org
1704 Description:
1705                 A read/write property to provide capability to delay reporting of
1706                 samples till a timeout is reached. This allows host processors to
1707                 sleep, while the sensor is storing samples in its internal fifo.
1708                 The maximum timeout in seconds can be specified by setting
1709                 hwfifo_timeout.The current delay can be read by reading
1710                 hwfifo_timeout. A value of 0 means that there is no timeout.
1711
1712 What:           /sys/bus/iio/devices/iio:deviceX/buffer/hwfifo_watermark
1713 KernelVersion: 4.2
1714 Contact:        linux-iio@vger.kernel.org
1715 Description:
1716                 Read-only entry that contains a single integer specifying the
1717                 current watermark level for the hardware fifo. If the device
1718                 does not have a hardware fifo this entry is not present.
1719                 The watermark level for the hardware fifo is set by the driver
1720                 based on the value set by the user in buffer/watermark but
1721                 taking into account hardware limitations (e.g. most hardware
1722                 buffers are limited to 32-64 samples, some hardware buffers
1723                 watermarks are fixed or have minimum levels).  A value of 0
1724                 means that the hardware watermark is unset.
1725
1726 What:           /sys/bus/iio/devices/iio:deviceX/buffer/hwfifo_watermark_min
1727 KernelVersion: 4.2
1728 Contact:       linux-iio@vger.kernel.org
1729 Description:
1730                 A single positive integer specifying the minimum watermark level
1731                 for the hardware fifo of this device. If the device does not
1732                 have a hardware fifo this entry is not present.
1733
1734                 If the user sets buffer/watermark to a value less than this one,
1735                 then the hardware watermark will remain unset.
1736
1737 What:          /sys/bus/iio/devices/iio:deviceX/buffer/hwfifo_watermark_max
1738 KernelVersion: 4.2
1739 Contact:       linux-iio@vger.kernel.org
1740 Description:
1741                 A single positive integer specifying the maximum watermark level
1742                 for the hardware fifo of this device. If the device does not
1743                 have a hardware fifo this entry is not present.
1744
1745                 If the user sets buffer/watermark to a value greater than this
1746                 one, then the hardware watermark will be capped at this value.
1747
1748 What:          /sys/bus/iio/devices/iio:deviceX/buffer/hwfifo_watermark_available
1749 KernelVersion: 4.2
1750 Contact:       linux-iio@vger.kernel.org
1751 Description:
1752                 A list of positive integers specifying the available watermark
1753                 levels for the hardware fifo. This entry is optional and if it
1754                 is not present it means that all the values between
1755                 hwfifo_watermark_min and hwfifo_watermark_max are supported.
1756
1757                 If the user sets buffer/watermark to a value greater than
1758                 hwfifo_watermak_min but not equal to any of the values in this
1759                 list, the driver will chose an appropriate value for the
1760                 hardware fifo watermark level.
1761
1762 What:           /sys/bus/iio/devices/iio:deviceX/in_temp_calibemissivity
1763 What:           /sys/bus/iio/devices/iio:deviceX/in_tempX_calibemissivity
1764 What:           /sys/bus/iio/devices/iio:deviceX/in_temp_object_calibemissivity
1765 What:           /sys/bus/iio/devices/iio:deviceX/in_tempX_object_calibemissivity
1766 KernelVersion:  4.1
1767 Contact:        linux-iio@vger.kernel.org
1768 Description:
1769                 The emissivity ratio of the surface in the field of view of the
1770                 contactless temperature sensor.  Emissivity varies from 0 to 1,
1771                 with 1 being the emissivity of a black body.
1772
1773 What:           /sys/bus/iio/devices/iio:deviceX/in_magn_x_oversampling_ratio
1774 What:           /sys/bus/iio/devices/iio:deviceX/in_magn_y_oversampling_ratio
1775 What:           /sys/bus/iio/devices/iio:deviceX/in_magn_z_oversampling_ratio
1776 KernelVersion:  4.2
1777 Contact:        linux-iio@vger.kernel.org
1778 Description:
1779                 Hardware applied number of measurements for acquiring one
1780                 data point. The HW will do <type>[_name]_oversampling_ratio
1781                 measurements and return the average value as output data. Each
1782                 value resulted from <type>[_name]_oversampling_ratio measurements
1783                 is considered as one sample for <type>[_name]_sampling_frequency.
1784
1785 What:           /sys/bus/iio/devices/iio:deviceX/in_concentration_raw
1786 What:           /sys/bus/iio/devices/iio:deviceX/in_concentrationX_raw
1787 What:           /sys/bus/iio/devices/iio:deviceX/in_concentration_co2_raw
1788 What:           /sys/bus/iio/devices/iio:deviceX/in_concentrationX_co2_raw
1789 What:           /sys/bus/iio/devices/iio:deviceX/in_concentration_ethanol_raw
1790 What:           /sys/bus/iio/devices/iio:deviceX/in_concentrationX_ethanol_raw
1791 What:           /sys/bus/iio/devices/iio:deviceX/in_concentration_h2_raw
1792 What:           /sys/bus/iio/devices/iio:deviceX/in_concentrationX_h2_raw
1793 What:           /sys/bus/iio/devices/iio:deviceX/in_concentration_o2_raw
1794 What:           /sys/bus/iio/devices/iio:deviceX/in_concentrationX_o2_raw
1795 What:           /sys/bus/iio/devices/iio:deviceX/in_concentration_voc_raw
1796 What:           /sys/bus/iio/devices/iio:deviceX/in_concentrationX_voc_raw
1797 KernelVersion:  4.3
1798 Contact:        linux-iio@vger.kernel.org
1799 Description:
1800                 Raw (unscaled no offset etc.) reading of a substance. Units
1801                 after application of scale and offset are percents.
1802
1803 What:           /sys/bus/iio/devices/iio:deviceX/in_resistance_raw
1804 What:           /sys/bus/iio/devices/iio:deviceX/in_resistanceX_raw
1805 What:           /sys/bus/iio/devices/iio:deviceX/out_resistance_raw
1806 What:           /sys/bus/iio/devices/iio:deviceX/out_resistanceX_raw
1807 KernelVersion:  4.3
1808 Contact:        linux-iio@vger.kernel.org
1809 Description:
1810                 Raw (unscaled no offset etc.) resistance reading.
1811                 Units after application of scale and offset are ohms.
1812
1813 What:           /sys/bus/iio/devices/iio:deviceX/heater_enable
1814 KernelVersion:  4.1.0
1815 Contact:        linux-iio@vger.kernel.org
1816 Description:
1817                 '1' (enable) or '0' (disable) specifying the enable
1818                 of heater function. Same reading values apply.
1819
1820                 This ABI is especially applicable for humidity sensors
1821                 to heatup the device and get rid of any condensation
1822                 in some humidity environment
1823
1824 What:           /sys/bus/iio/devices/iio:deviceX/in_ph_raw
1825 KernelVersion:  4.5
1826 Contact:        linux-iio@vger.kernel.org
1827 Description:
1828                 Raw (unscaled no offset etc.) pH reading of a substance as a negative
1829                 base-10 logarithm of hydrodium ions in a litre of water.
1830
1831 What:           /sys/bus/iio/devices/iio:deviceX/mount_matrix
1832 What:           /sys/bus/iio/devices/iio:deviceX/in_mount_matrix
1833 What:           /sys/bus/iio/devices/iio:deviceX/out_mount_matrix
1834 What:           /sys/bus/iio/devices/iio:deviceX/in_anglvel_mount_matrix
1835 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_mount_matrix
1836 KernelVersion:  4.6
1837 Contact:        linux-iio@vger.kernel.org
1838 Description:
1839                 Mounting matrix for IIO sensors. This is a rotation matrix which
1840                 informs userspace about sensor chip's placement relative to the
1841                 main hardware it is mounted on.
1842
1843                 Main hardware placement is defined according to the local
1844                 reference frame related to the physical quantity the sensor
1845                 measures.
1846
1847                 Given that the rotation matrix is defined in a board specific
1848                 way (platform data and / or device-tree), the main hardware
1849                 reference frame definition is left to the implementor's choice
1850                 (see below for a magnetometer example).
1851
1852                 Applications should apply this rotation matrix to samples so
1853                 that when main hardware reference frame is aligned onto local
1854                 reference frame, then sensor chip reference frame is also
1855                 perfectly aligned with it.
1856
1857                 Matrix is a 3x3 unitary matrix and typically looks like
1858                 [0, 1, 0; 1, 0, 0; 0, 0, -1]. Identity matrix
1859                 [1, 0, 0; 0, 1, 0; 0, 0, 1] means sensor chip and main hardware
1860                 are perfectly aligned with each other.
1861
1862                 For example, a mounting matrix for a magnetometer sensor informs
1863                 userspace about sensor chip's ORIENTATION relative to the main
1864                 hardware.
1865
1866                 More specifically, main hardware orientation is defined with
1867                 respect to the LOCAL EARTH GEOMAGNETIC REFERENCE FRAME where :
1868
1869                 * Y is in the ground plane and positive towards magnetic North ;
1870                 * X is in the ground plane, perpendicular to the North axis and
1871                   positive towards the East ;
1872                 * Z is perpendicular to the ground plane and positive upwards.
1873
1874                 An implementor might consider that for a hand-held device, a
1875                 'natural' orientation would be 'front facing camera at the top'.
1876                 The main hardware reference frame could then be described as :
1877
1878                 * Y is in the plane of the screen and is positive towards the
1879                   top of the screen ;
1880                 * X is in the plane of the screen, perpendicular to Y axis, and
1881                   positive towards the right hand side of the screen ;
1882                 * Z is perpendicular to the screen plane and positive out of the
1883                   screen.
1884
1885                 Another example for a quadrotor UAV might be :
1886
1887                 * Y is in the plane of the propellers and positive towards the
1888                   front-view camera;
1889                 * X is in the plane of the propellers, perpendicular to Y axis,
1890                   and positive towards the starboard side of the UAV ;
1891                 * Z is perpendicular to propellers plane and positive upwards.
1892
1893 What:           /sys/bus/iio/devices/iio:deviceX/in_electricalconductivity_raw
1894 KernelVersion:  4.8
1895 Contact:        linux-iio@vger.kernel.org
1896 Description:
1897                 Raw (unscaled no offset etc.) electric conductivity reading.
1898                 Units after application of scale and offset are siemens per
1899                 meter.
1900
1901 What:           /sys/bus/iio/devices/iio:deviceX/in_countY_raw
1902 KernelVersion:  4.10
1903 Contact:        linux-iio@vger.kernel.org
1904 Description:
1905                 This interface is deprecated; please use the Counter subsystem.
1906
1907                 Raw counter device counts from channel Y. For quadrature
1908                 counters, multiplication by an available [Y]_scale results in
1909                 the counts of a single quadrature signal phase from channel Y.
1910
1911 What:           /sys/bus/iio/devices/iio:deviceX/in_indexY_raw
1912 KernelVersion:  4.10
1913 Contact:        linux-iio@vger.kernel.org
1914 Description:
1915                 This interface is deprecated; please use the Counter subsystem.
1916
1917                 Raw counter device index value from channel Y. This attribute
1918                 provides an absolute positional reference (e.g. a pulse once per
1919                 revolution) which may be used to home positional systems as
1920                 required.
1921
1922 What:           /sys/bus/iio/devices/iio:deviceX/in_count_count_direction_available
1923 KernelVersion:  4.12
1924 Contact:        linux-iio@vger.kernel.org
1925 Description:
1926                 This interface is deprecated; please use the Counter subsystem.
1927
1928                 A list of possible counting directions which are:
1929
1930                 - "up"  : counter device is increasing.
1931                 - "down": counter device is decreasing.
1932
1933 What:           /sys/bus/iio/devices/iio:deviceX/in_countY_count_direction
1934 KernelVersion:  4.12
1935 Contact:        linux-iio@vger.kernel.org
1936 Description:
1937                 This interface is deprecated; please use the Counter subsystem.
1938
1939                 Raw counter device counters direction for channel Y.
1940
1941 What:           /sys/bus/iio/devices/iio:deviceX/in_voltageY_label
1942 What:           /sys/bus/iio/devices/iio:deviceX/out_voltageY_label
1943 KernelVersion:  5.8
1944 Contact:        linux-iio@vger.kernel.org
1945 Description:
1946                 Optional symbolic label to a device channel.
1947                 If a label is defined for this channel add that to the channel
1948                 specific attributes. This is useful for userspace to be able to
1949                 better identify an individual channel.
1950
1951 What:           /sys/bus/iio/devices/iio:deviceX/in_phaseY_raw
1952 KernelVersion:  4.18
1953 Contact:        linux-iio@vger.kernel.org
1954 Description:
1955                 Raw (unscaled) phase difference reading from channel Y.
1956                 Units after application of scale and offset are radians.
1957
1958 What:           /sys/bus/iio/devices/iio:deviceX/in_massconcentration_pm1_input
1959 What:           /sys/bus/iio/devices/iio:deviceX/in_massconcentrationY_pm1_input
1960 What:           /sys/bus/iio/devices/iio:deviceX/in_massconcentration_pm2p5_input
1961 What:           /sys/bus/iio/devices/iio:deviceX/in_massconcentrationY_pm2p5_input
1962 What:           /sys/bus/iio/devices/iio:deviceX/in_massconcentration_pm4_input
1963 What:           /sys/bus/iio/devices/iio:deviceX/in_massconcentrationY_pm4_input
1964 What:           /sys/bus/iio/devices/iio:deviceX/in_massconcentration_pm10_input
1965 What:           /sys/bus/iio/devices/iio:deviceX/in_massconcentrationY_pm10_input
1966 KernelVersion:  4.22
1967 Contact:        linux-iio@vger.kernel.org
1968 Description:
1969                 Mass concentration reading of particulate matter in ug / m3.
1970                 pmX consists of particles with aerodynamic diameter less or
1971                 equal to X micrometers.
1972
1973 What:           /sys/bus/iio/devices/iio:deviceX/events/in_illuminance_period_available
1974 Date:           November 2019
1975 KernelVersion:  5.4
1976 Contact:        linux-iio@vger.kernel.org
1977 Description:
1978                 List of valid periods (in seconds) for which the light intensity
1979                 must be above the threshold level before interrupt is asserted.
1980
1981 What:           /sys/bus/iio/devices/iio:deviceX/in_filter_notch_center_frequency
1982 KernelVersion:  5.5
1983 Contact:        linux-iio@vger.kernel.org
1984 Description:
1985                 Center frequency in Hz for a notch filter. Used i.e. for line
1986                 noise suppression.
1987
1988 What:           /sys/bus/iio/devices/iio:deviceX/in_temp_thermocouple_type
1989 KernelVersion:  5.5
1990 Contact:        linux-iio@vger.kernel.org
1991 Description:
1992                 One of the following thermocouple types: B, E, J, K, N, R, S, T.
1993
1994 What:           /sys/bus/iio/devices/iio:deviceX/in_temp_object_calibambient
1995 What:           /sys/bus/iio/devices/iio:deviceX/in_tempX_object_calibambient
1996 KernelVersion:  5.10
1997 Contact:        linux-iio@vger.kernel.org
1998 Description:
1999                 Calibrated ambient temperature for object temperature
2000                 calculation in milli degrees Celsius.
2001
2002 What:           /sys/bus/iio/devices/iio:deviceX/in_intensity_x_raw
2003 What:           /sys/bus/iio/devices/iio:deviceX/in_intensity_y_raw
2004 What:           /sys/bus/iio/devices/iio:deviceX/in_intensity_z_raw
2005 KernelVersion:  5.10
2006 Contact:        linux-iio@vger.kernel.org
2007 Description:
2008                 Unscaled light intensity according to CIE 1931/DIN 5033 color space.
2009                 Units after application of scale are nano nanowatts per square meter.
2010
2011 What:           /sys/bus/iio/devices/iio:deviceX/in_anglY_label
2012 KernelVersion:  5.12
2013 Contact:        linux-iio@vger.kernel.org
2014 Description:
2015                 Optional symbolic label for channel Y.
2016                 For Intel hid hinge sensor, the label values are:
2017                 hinge, keyboard, screen. It means the three channels
2018                 each correspond respectively to hinge angle, keyboard angle,
2019                 and screen angle.
2020
2021 What:           /sys/bus/iio/devices/iio:deviceX/in_illuminance_hysteresis_relative
2022 What:           /sys/bus/iio/devices/iio:deviceX/in_intensity_hysteresis_relative
2023 KernelVersion:  5.12
2024 Contact:        linux-iio@vger.kernel.org
2025 Description:
2026                 Specify the percent for light sensor relative to the channel
2027                 absolute value that a data field should change before an event
2028                 is generated. Units are a percentage of the prior reading.
2029
2030 What:           /sys/bus/iio/devices/iio:deviceX/calibration_auto_enable
2031 Date:           June 2020
2032 KernelVersion:  5.8
2033 Contact:        linux-iio@vger.kernel.org
2034 Description:
2035                 Some sensors have the ability to apply auto calibration at
2036                 runtime. For example, it may be necessary to compensate for
2037                 contaminant build-up in a measurement chamber or optical
2038                 element deterioration that would otherwise lead to sensor drift.
2039
2040                 Writing 1 or 0 to this attribute will respectively activate or
2041                 deactivate this auto calibration function.
2042
2043                 Upon reading, the current status is returned.
2044
2045 What:           /sys/bus/iio/devices/iio:deviceX/calibration_forced_value
2046 Date:           June 2020
2047 KernelVersion:  5.8
2048 Contact:        linux-iio@vger.kernel.org
2049 Description:
2050                 Some sensors have the ability to apply a manual calibration using
2051                 a known measurement value, perhaps obtained from an external
2052                 reference device.
2053
2054                 Writing a value to this function will force such a calibration
2055                 change. For the scd30 the value should be from the range
2056                 [400 1 2000].
2057
2058                 Note for the scd30 that a valid value may only be obtained once
2059                 it is has been written. Until then any read back of this value
2060                 should be ignored. As for the scd4x an error will be returned
2061                 immediately if the manual calibration has failed.
2062
2063 What:           /sys/bus/iio/devices/iio:deviceX/calibration_forced_value_available
2064 KernelVersion:  5.15
2065 Contact:        linux-iio@vger.kernel.org
2066 Description:
2067                 Available range for the forced calibration value, expressed as:
2068
2069                 - a range specified as "[min step max]"
2070
2071 What:           /sys/bus/iio/devices/iio:deviceX/in_voltageX_sampling_frequency
2072 What:           /sys/bus/iio/devices/iio:deviceX/in_powerY_sampling_frequency
2073 What:           /sys/bus/iio/devices/iio:deviceX/in_currentZ_sampling_frequency
2074 KernelVersion:  5.20
2075 Contact:        linux-iio@vger.kernel.org
2076 Description:
2077                 Some devices have separate controls of sampling frequency for
2078                 individual channels. If multiple channels are enabled in a scan,
2079                 then the sampling_frequency of the scan may be computed from the
2080                 per channel sampling frequencies.
2081
2082 What:           /sys/.../events/in_accel_gesture_singletap_en
2083 What:           /sys/.../events/in_accel_gesture_doubletap_en
2084 KernelVersion:  6.1
2085 Contact:        linux-iio@vger.kernel.org
2086 Description:
2087                 Device generates an event on a single or double tap.
2088
2089 What:           /sys/.../events/in_accel_gesture_singletap_value
2090 What:           /sys/.../events/in_accel_gesture_doubletap_value
2091 KernelVersion:  6.1
2092 Contact:        linux-iio@vger.kernel.org
2093 Description:
2094                 Specifies the threshold value that the device is comparing
2095                 against to generate the tap gesture event. The lower
2096                 threshold value increases the sensitivity of tap detection.
2097                 Units and the exact meaning of value are device-specific.
2098
2099 What:           /sys/.../events/in_accel_gesture_tap_value_available
2100 KernelVersion:  6.1
2101 Contact:        linux-iio@vger.kernel.org
2102 Description:
2103                 Lists all available threshold values which can be used to
2104                 modify the sensitivity of the tap detection.
2105
2106 What:           /sys/.../events/in_accel_gesture_singletap_reset_timeout
2107 What:           /sys/.../events/in_accel_gesture_doubletap_reset_timeout
2108 KernelVersion:  6.1
2109 Contact:        linux-iio@vger.kernel.org
2110 Description:
2111                 Specifies the timeout value in seconds for the tap detector
2112                 to not to look for another tap event after the event as
2113                 occurred. Basically the minimum quiet time between the two
2114                 single-tap's or two double-tap's.
2115
2116 What:           /sys/.../events/in_accel_gesture_tap_reset_timeout_available
2117 KernelVersion:  6.1
2118 Contact:        linux-iio@vger.kernel.org
2119 Description:
2120                 Lists all available tap reset timeout values. Units in seconds.
2121
2122 What:           /sys/.../events/in_accel_gesture_doubletap_tap2_min_delay
2123 KernelVersion:  6.1
2124 Contact:        linux-iio@vger.kernel.org
2125 Description:
2126                 Specifies the minimum quiet time in seconds between the two
2127                 taps of a double tap.
2128
2129 What:           /sys/.../events/in_accel_gesture_doubletap_tap2_min_delay_available
2130 KernelVersion:  6.1
2131 Contact:        linux-iio@vger.kernel.org
2132 Description:
2133                 Lists all available delay values between two taps in the double
2134                 tap. Units in seconds.
2135
2136 What:           /sys/.../events/in_accel_gesture_tap_maxtomin_time
2137 KernelVersion:  6.1
2138 Contact:        linux-iio@vger.kernel.org
2139 Description:
2140                 Specifies the maximum time difference allowed between upper
2141                 and lower peak of tap to consider it as the valid tap event.
2142                 Units in seconds.
2143
2144 What:           /sys/.../events/in_accel_gesture_tap_maxtomin_time_available
2145 KernelVersion:  6.1
2146 Contact:        linux-iio@vger.kernel.org
2147 Description:
2148                 Lists all available time values between upper peak to lower
2149                 peak. Units in seconds.
2150
2151 What:           /sys/bus/iio/devices/iio:deviceX/in_rot_yaw_raw
2152 What:           /sys/bus/iio/devices/iio:deviceX/in_rot_pitch_raw
2153 What:           /sys/bus/iio/devices/iio:deviceX/in_rot_roll_raw
2154 KernelVersion:  6.1
2155 Contact:        linux-iio@vger.kernel.org
2156 Description:
2157                 Raw (unscaled) euler angles readings. Units after
2158                 application of scale are deg.
2159
2160 What:           /sys/bus/iio/devices/iio:deviceX/serialnumber
2161 KernelVersion:  6.1
2162 Contact:        linux-iio@vger.kernel.org
2163 Description:
2164                 An example format is 16-bytes, 2-digits-per-byte, HEX-string
2165                 representing the sensor unique ID number.
2166
2167 What:           /sys/.../events/in_proximity_thresh_either_runningperiod
2168 KernelVersion:  6.6
2169 Contact:        linux-iio@vger.kernel.org
2170 Description:
2171                 A running period of time (in seconds) for which
2172                 in_proximity_thresh_either_runningcount amount of conditions
2173                 must occur before an event is generated. If direction is not
2174                 specified then this period applies to both directions.
2175
2176 What:           /sys/.../events/in_proximity_thresh_either_runningcount
2177 KernelVersion:  6.6
2178 Contact:        linux-iio@vger.kernel.org
2179 Description:
2180                 Number of conditions that must occur, during a running
2181                 period, before an event is generated.