Merge branch 'x86/nuke386' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
[sfrench/cifs-2.6.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                 Contains trigger type specific elements. These do not
19                 generalize well and hence are not documented in this file.
20                 X is the IIO index of the trigger.
21
22 What:           /sys/bus/iio/devices/iio:deviceX/buffer
23 KernelVersion:  2.6.35
24 Contact:        linux-iio@vger.kernel.org
25 Description:
26                 Directory of attributes relating to the buffer for the device.
27
28 What:           /sys/bus/iio/devices/iio:deviceX/name
29 KernelVersion:  2.6.35
30 Contact:        linux-iio@vger.kernel.org
31 Description:
32                 Description of the physical chip / device for device X.
33                 Typically a part number.
34
35 What:           /sys/bus/iio/devices/iio:deviceX/sampling_frequency
36 What:           /sys/bus/iio/devices/iio:deviceX/buffer/sampling_frequency
37 What:           /sys/bus/iio/devices/triggerX/sampling_frequency
38 KernelVersion:  2.6.35
39 Contact:        linux-iio@vger.kernel.org
40 Description:
41                 Some devices have internal clocks.  This parameter sets the
42                 resulting sampling frequency.  In many devices this
43                 parameter has an effect on input filters etc. rather than
44                 simply controlling when the input is sampled.  As this
45                 effects data ready triggers, hardware buffers and the sysfs
46                 direct access interfaces, it may be found in any of the
47                 relevant directories.  If it effects all of the above
48                 then it is to be found in the base device directory.
49
50 What:           /sys/bus/iio/devices/iio:deviceX/sampling_frequency_available
51 What:           /sys/.../iio:deviceX/buffer/sampling_frequency_available
52 What:           /sys/bus/iio/devices/triggerX/sampling_frequency_available
53 KernelVersion:  2.6.35
54 Contact:        linux-iio@vger.kernel.org
55 Description:
56                 When the internal sampling clock can only take a small
57                 discrete set of values, this file lists those available.
58
59 What:           /sys/bus/iio/devices/iio:deviceX/oversampling_ratio
60 KernelVersion:  2.6.38
61 Contact:        linux-iio@vger.kernel.org
62 Description:
63                 Hardware dependent ADC oversampling. Controls the sampling ratio
64                 of the digital filter if available.
65
66 What:           /sys/bus/iio/devices/iio:deviceX/oversampling_ratio_available
67 KernelVersion:  2.6.38
68 Contact:        linux-iio@vger.kernel.org
69 Description:
70                 Hardware dependent values supported by the oversampling filter.
71
72 What:           /sys/bus/iio/devices/iio:deviceX/in_voltageY_raw
73 What:           /sys/bus/iio/devices/iio:deviceX/in_voltageY_supply_raw
74 KernelVersion:  2.6.35
75 Contact:        linux-iio@vger.kernel.org
76 Description:
77                 Raw (unscaled no bias removal etc.) voltage measurement from
78                 channel Y. In special cases where the channel does not
79                 correspond to externally available input one of the named
80                 versions may be used. The number must always be specified and
81                 unique to allow association with event codes. Units after
82                 application of scale and offset are microvolts.
83
84 What:           /sys/bus/iio/devices/iio:deviceX/in_voltageY-voltageZ_raw
85 KernelVersion:  2.6.35
86 Contact:        linux-iio@vger.kernel.org
87 Description:
88                 Raw (unscaled) differential voltage measurement equivalent to
89                 channel Y - channel Z where these channel numbers apply to the
90                 physically equivalent inputs when non differential readings are
91                 separately available. In differential only parts, then all that
92                 is required is a consistent labeling.  Units after application
93                 of scale and offset are microvolts.
94
95 What:           /sys/bus/iio/devices/iio:deviceX/in_capacitanceY_raw
96 KernelVersion:  3.2
97 Contact:        linux-iio@vger.kernel.org
98 Description:
99                 Raw capacitance measurement from channel Y. Units after
100                 application of scale and offset are nanofarads.
101
102 What:           /sys/.../iio:deviceX/in_capacitanceY-in_capacitanceZ_raw
103 KernelVersion:  3.2
104 Contact:        linux-iio@vger.kernel.org
105 Description:
106                 Raw differential capacitance measurement equivalent to
107                 channel Y - channel Z where these channel numbers apply to the
108                 physically equivalent inputs when non differential readings are
109                 separately available. In differential only parts, then all that
110                 is required is a consistent labeling.  Units after application
111                 of scale and offset are nanofarads.
112
113 What:           /sys/bus/iio/devices/iio:deviceX/in_temp_raw
114 What:           /sys/bus/iio/devices/iio:deviceX/in_tempX_raw
115 What:           /sys/bus/iio/devices/iio:deviceX/in_temp_x_raw
116 What:           /sys/bus/iio/devices/iio:deviceX/in_temp_y_raw
117 What:           /sys/bus/iio/devices/iio:deviceX/in_temp_z_raw
118 KernelVersion:  2.6.35
119 Contact:        linux-iio@vger.kernel.org
120 Description:
121                 Raw (unscaled no bias removal etc.) temperature measurement.
122                 If an axis is specified it generally means that the temperature
123                 sensor is associated with one part of a compound device (e.g.
124                 a gyroscope axis). Units after application of scale and offset
125                 are milli degrees Celsius.
126
127 What:           /sys/bus/iio/devices/iio:deviceX/in_tempX_input
128 KernelVersion:  2.6.38
129 Contact:        linux-iio@vger.kernel.org
130 Description:
131                 Scaled temperature measurement in milli degrees Celsius.
132
133 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_x_raw
134 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_y_raw
135 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_z_raw
136 KernelVersion:  2.6.35
137 Contact:        linux-iio@vger.kernel.org
138 Description:
139                 Acceleration in direction x, y or z (may be arbitrarily assigned
140                 but should match other such assignments on device).
141                 Has all of the equivalent parameters as per voltageY. Units
142                 after application of scale and offset are m/s^2.
143
144 What:           /sys/bus/iio/devices/iio:deviceX/in_anglvel_x_raw
145 What:           /sys/bus/iio/devices/iio:deviceX/in_anglvel_y_raw
146 What:           /sys/bus/iio/devices/iio:deviceX/in_anglvel_z_raw
147 KernelVersion:  2.6.35
148 Contact:        linux-iio@vger.kernel.org
149 Description:
150                 Angular velocity about axis x, y or z (may be arbitrarily
151                 assigned). Has all the equivalent parameters as per voltageY.
152                 Units after application of scale and offset are radians per
153                 second.
154
155 What:           /sys/bus/iio/devices/iio:deviceX/in_incli_x_raw
156 What:           /sys/bus/iio/devices/iio:deviceX/in_incli_y_raw
157 What:           /sys/bus/iio/devices/iio:deviceX/in_incli_z_raw
158 KernelVersion:  2.6.35
159 Contact:        linux-iio@vger.kernel.org
160 Description:
161                 Inclination raw reading about axis x, y or z (may be
162                 arbitrarily assigned). Data converted by application of offset
163                 and scale to degrees.
164
165 What:           /sys/bus/iio/devices/iio:deviceX/in_magn_x_raw
166 What:           /sys/bus/iio/devices/iio:deviceX/in_magn_y_raw
167 What:           /sys/bus/iio/devices/iio:deviceX/in_magn_z_raw
168 KernelVersion:  2.6.35
169 Contact:        linux-iio@vger.kernel.org
170 Description:
171                 Magnetic field along axis x, y or z (may be arbitrarily
172                 assigned).  Data converted by application of offset
173                 then scale to Gauss.
174
175 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_x_peak_raw
176 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_y_peak_raw
177 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_z_peak_raw
178 KernelVersion:  2.6.36
179 Contact:        linux-iio@vger.kernel.org
180 Description:
181                 Highest value since some reset condition.  These
182                 attributes allow access to this and are otherwise
183                 the direct equivalent of the <type>Y[_name]_raw attributes.
184
185 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_xyz_squared_peak_raw
186 KernelVersion:  2.6.36
187 Contact:        linux-iio@vger.kernel.org
188 Description:
189                 A computed peak value based on the sum squared magnitude of
190                 the underlying value in the specified directions.
191
192 What:           /sys/bus/iio/devices/iio:deviceX/in_pressureY_raw
193 What:           /sys/bus/iio/devices/iio:deviceX/in_pressure_raw
194 KernelVersion:  3.8
195 Contact:        linux-iio@vger.kernel.org
196 Description:
197                 Raw pressure measurement from channel Y. Units after
198                 application of scale and offset are kilopascal.
199
200 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_offset
201 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_x_offset
202 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_y_offset
203 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_z_offset
204 What:           /sys/bus/iio/devices/iio:deviceX/in_voltageY_offset
205 What:           /sys/bus/iio/devices/iio:deviceX/in_voltage_offset
206 What:           /sys/bus/iio/devices/iio:deviceX/in_tempY_offset
207 What:           /sys/bus/iio/devices/iio:deviceX/in_temp_offset
208 What:           /sys/bus/iio/devices/iio:deviceX/in_pressureY_offset
209 What:           /sys/bus/iio/devices/iio:deviceX/in_pressure_offset
210 KernelVersion:  2.6.35
211 Contact:        linux-iio@vger.kernel.org
212 Description:
213                 If known for a device, offset to be added to <type>[Y]_raw prior
214                 to scaling by <type>[Y]_scale in order to obtain value in the
215                 <type> units as specified in <type>[Y]_raw documentation.
216                 Not present if the offset is always 0 or unknown. If Y or
217                 axis <x|y|z> is not present, then the offset applies to all
218                 in channels of <type>.
219                 May be writable if a variable offset can be applied on the
220                 device. Note that this is different to calibbias which
221                 is for devices (or drivers) that apply offsets to compensate
222                 for variation between different instances of the part, typically
223                 adjusted by using some hardware supported calibration procedure.
224                 Calibbias is applied internally, offset is applied in userspace
225                 to the _raw output.
226
227 What:           /sys/bus/iio/devices/iio:deviceX/in_voltageY_scale
228 What:           /sys/bus/iio/devices/iio:deviceX/in_voltageY_supply_scale
229 What:           /sys/bus/iio/devices/iio:deviceX/in_voltage_scale
230 What:           /sys/bus/iio/devices/iio:deviceX/out_voltageY_scale
231 What:           /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_scale
232 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_scale
233 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_peak_scale
234 What:           /sys/bus/iio/devices/iio:deviceX/in_anglvel_scale
235 What:           /sys/bus/iio/devices/iio:deviceX/in_magn_scale
236 What:           /sys/bus/iio/devices/iio:deviceX/in_magn_x_scale
237 What:           /sys/bus/iio/devices/iio:deviceX/in_magn_y_scale
238 What:           /sys/bus/iio/devices/iio:deviceX/in_magn_z_scale
239 What:           /sys/bus/iio/devices/iio:deviceX/in_pressureY_scale
240 What:           /sys/bus/iio/devices/iio:deviceX/in_pressure_scale
241 KernelVersion:  2.6.35
242 Contact:        linux-iio@vger.kernel.org
243 Description:
244                 If known for a device, scale to be applied to <type>Y[_name]_raw
245                 post addition of <type>[Y][_name]_offset in order to obtain the
246                 measured value in <type> units as specified in
247                 <type>[Y][_name]_raw documentation.  If shared across all in
248                 channels then Y and <x|y|z> are not present and the value is
249                 called <type>[Y][_name]_scale. The peak modifier means this
250                 value is applied to <type>Y[_name]_peak_raw values.
251
252 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_x_calibbias
253 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_y_calibbias
254 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_z_calibbias
255 What:           /sys/bus/iio/devices/iio:deviceX/in_anglvel_x_calibbias
256 What:           /sys/bus/iio/devices/iio:deviceX/in_anglvel_y_calibbias
257 What:           /sys/bus/iio/devices/iio:deviceX/in_anglvel_z_calibbias
258 What:           /sys/bus/iio/devices/iio:deviceX/in_illuminance0_calibbias
259 What:           /sys/bus/iio/devices/iio:deviceX/in_proximity0_calibbias
260 What:           /sys/bus/iio/devices/iio:deviceX/in_pressureY_calibbias
261 What:           /sys/bus/iio/devices/iio:deviceX/in_pressure_calibbias
262 KernelVersion:  2.6.35
263 Contact:        linux-iio@vger.kernel.org
264 Description:
265                 Hardware applied calibration offset (assumed to fix production
266                 inaccuracies).
267
268 What            /sys/bus/iio/devices/iio:deviceX/in_voltageY_calibscale
269 What            /sys/bus/iio/devices/iio:deviceX/in_voltageY_supply_calibscale
270 What            /sys/bus/iio/devices/iio:deviceX/in_voltage_calibscale
271 What            /sys/bus/iio/devices/iio:deviceX/in_accel_x_calibscale
272 What            /sys/bus/iio/devices/iio:deviceX/in_accel_y_calibscale
273 What            /sys/bus/iio/devices/iio:deviceX/in_accel_z_calibscale
274 What            /sys/bus/iio/devices/iio:deviceX/in_anglvel_x_calibscale
275 What            /sys/bus/iio/devices/iio:deviceX/in_anglvel_y_calibscale
276 What            /sys/bus/iio/devices/iio:deviceX/in_anglvel_z_calibscale
277 what            /sys/bus/iio/devices/iio:deviceX/in_illuminance0_calibscale
278 what            /sys/bus/iio/devices/iio:deviceX/in_proximity0_calibscale
279 What:           /sys/bus/iio/devices/iio:deviceX/in_pressureY_calibscale
280 What:           /sys/bus/iio/devices/iio:deviceX/in_pressure_calibscale
281 KernelVersion:  2.6.35
282 Contact:        linux-iio@vger.kernel.org
283 Description:
284                 Hardware applied calibration scale factor (assumed to fix
285                 production inaccuracies).  If shared across all channels,
286                 <type>_calibscale is used.
287
288 What:           /sys/bus/iio/devices/iio:deviceX/in_accel_scale_available
289 What:           /sys/.../iio:deviceX/in_voltageX_scale_available
290 What:           /sys/.../iio:deviceX/in_voltage-voltage_scale_available
291 What:           /sys/.../iio:deviceX/out_voltageX_scale_available
292 What:           /sys/.../iio:deviceX/out_altvoltageX_scale_available
293 What:           /sys/.../iio:deviceX/in_capacitance_scale_available
294 What:           /sys/.../iio:deviceX/in_pressure_scale_available
295 What:           /sys/.../iio:deviceX/in_pressureY_scale_available
296 KernelVersion:  2.6.35
297 Contact:        linux-iio@vger.kernel.org
298 Description:
299                 If a discrete set of scale values is available, they
300                 are listed in this attribute.
301
302 What            /sys/bus/iio/devices/iio:deviceX/out_voltageY_hardwaregain
303 KernelVersion:  2.6.35
304 Contact:        linux-iio@vger.kernel.org
305 Description:
306                 Hardware applied gain factor. If shared across all channels,
307                 <type>_hardwaregain is used.
308
309 What:           /sys/.../in_accel_filter_low_pass_3db_frequency
310 What:           /sys/.../in_magn_filter_low_pass_3db_frequency
311 What:           /sys/.../in_anglvel_filter_low_pass_3db_frequency
312 KernelVersion:  3.2
313 Contact:        linux-iio@vger.kernel.org
314 Description:
315                 If a known or controllable low pass filter is applied
316                 to the underlying data channel, then this parameter
317                 gives the 3dB frequency of the filter in Hz.
318
319 What:           /sys/bus/iio/devices/iio:deviceX/out_voltageY_raw
320 What:           /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_raw
321 KernelVersion:  2.6.37
322 Contact:        linux-iio@vger.kernel.org
323 Description:
324                 Raw (unscaled, no bias etc.) output voltage for
325                 channel Y.  The number must always be specified and
326                 unique if the output corresponds to a single channel.
327                 While DAC like devices typically use out_voltage,
328                 a continuous frequency generating device, such as
329                 a DDS or PLL should use out_altvoltage.
330
331 What:           /sys/bus/iio/devices/iio:deviceX/out_voltageY&Z_raw
332 What:           /sys/bus/iio/devices/iio:deviceX/out_altvoltageY&Z_raw
333 KernelVersion:  2.6.37
334 Contact:        linux-iio@vger.kernel.org
335 Description:
336                 Raw (unscaled, no bias etc.) output voltage for an aggregate of
337                 channel Y, channel Z, etc.  This interface is available in cases
338                 where a single output sets the value for multiple channels
339                 simultaneously.
340
341 What:           /sys/bus/iio/devices/iio:deviceX/out_voltageY_powerdown_mode
342 What:           /sys/bus/iio/devices/iio:deviceX/out_voltage_powerdown_mode
343 What:           /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_powerdown_mode
344 What:           /sys/bus/iio/devices/iio:deviceX/out_altvoltage_powerdown_mode
345 KernelVersion:  2.6.38
346 Contact:        linux-iio@vger.kernel.org
347 Description:
348                 Specifies the output powerdown mode.
349                 DAC output stage is disconnected from the amplifier and
350                 1kohm_to_gnd: connected to ground via an 1kOhm resistor,
351                 6kohm_to_gnd: connected to ground via a 6kOhm resistor,
352                 20kohm_to_gnd: connected to ground via a 20kOhm resistor,
353                 100kohm_to_gnd: connected to ground via an 100kOhm resistor,
354                 three_state: left floating.
355                 For a list of available output power down options read
356                 outX_powerdown_mode_available. If Y is not present the
357                 mode is shared across all outputs.
358
359 What:           /sys/.../iio:deviceX/out_votlageY_powerdown_mode_available
360 What:           /sys/.../iio:deviceX/out_voltage_powerdown_mode_available
361 What:           /sys/.../iio:deviceX/out_altvotlageY_powerdown_mode_available
362 What:           /sys/.../iio:deviceX/out_altvoltage_powerdown_mode_available
363 KernelVersion:  2.6.38
364 Contact:        linux-iio@vger.kernel.org
365 Description:
366                 Lists all available output power down modes.
367                 If Y is not present the mode is shared across all outputs.
368
369 What:           /sys/bus/iio/devices/iio:deviceX/out_voltageY_powerdown
370 What:           /sys/bus/iio/devices/iio:deviceX/out_voltage_powerdown
371 What:           /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_powerdown
372 What:           /sys/bus/iio/devices/iio:deviceX/out_altvoltage_powerdown
373 KernelVersion:  2.6.38
374 Contact:        linux-iio@vger.kernel.org
375 Description:
376                 Writing 1 causes output Y to enter the power down mode specified
377                 by the corresponding outY_powerdown_mode. DAC output stage is
378                 disconnected from the amplifier. Clearing returns to normal
379                 operation. Y may be suppressed if all outputs are controlled
380                 together.
381
382 What:           /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_frequency
383 KernelVersion:  3.4.0
384 Contact:        linux-iio@vger.kernel.org
385 Description:
386                 Output frequency for channel Y in Hz. The number must always be
387                 specified and unique if the output corresponds to a single
388                 channel.
389
390 What:           /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_phase
391 KernelVersion:  3.4.0
392 Contact:        linux-iio@vger.kernel.org
393 Description:
394                 Phase in radians of one frequency/clock output Y
395                 (out_altvoltageY) relative to another frequency/clock output
396                 (out_altvoltageZ) of the device X. The number must always be
397                 specified and unique if the output corresponds to a single
398                 channel.
399
400 What:           /sys/bus/iio/devices/iio:deviceX/events
401 KernelVersion:  2.6.35
402 Contact:        linux-iio@vger.kernel.org
403 Description:
404                 Configuration of which hardware generated events are passed up
405                 to user-space.
406
407 What:           /sys/.../iio:deviceX/events/in_accel_x_thresh_rising_en
408 What:           /sys/.../iio:deviceX/events/in_accel_x_thresh_falling_en
409 What:           /sys/.../iio:deviceX/events/in_accel_y_thresh_rising_en
410 What:           /sys/.../iio:deviceX/events/in_accel_y_thresh_falling_en
411 What:           /sys/.../iio:deviceX/events/in_accel_z_thresh_rising_en
412 What:           /sys/.../iio:deviceX/events/in_accel_z_thresh_falling_en
413 What:           /sys/.../iio:deviceX/events/in_anglvel_x_thresh_rising_en
414 What:           /sys/.../iio:deviceX/events/in_anglvel_x_thresh_falling_en
415 What:           /sys/.../iio:deviceX/events/in_anglvel_y_thresh_rising_en
416 What:           /sys/.../iio:deviceX/events/in_anglvel_y_thresh_falling_en
417 What:           /sys/.../iio:deviceX/events/in_anglvel_z_thresh_rising_en
418 What:           /sys/.../iio:deviceX/events/in_anglvel_z_thresh_falling_en
419 What:           /sys/.../iio:deviceX/events/in_magn_x_thresh_rising_en
420 What:           /sys/.../iio:deviceX/events/in_magn_x_thresh_falling_en
421 What:           /sys/.../iio:deviceX/events/in_magn_y_thresh_rising_en
422 What:           /sys/.../iio:deviceX/events/in_magn_y_thresh_falling_en
423 What:           /sys/.../iio:deviceX/events/in_magn_z_thresh_rising_en
424 What:           /sys/.../iio:deviceX/events/in_magn_z_thresh_falling_en
425 What:           /sys/.../iio:deviceX/events/in_voltageY_supply_thresh_rising_en
426 What:           /sys/.../iio:deviceX/events/in_voltageY_supply_thresh_falling_en
427 What:           /sys/.../iio:deviceX/events/in_voltageY_thresh_rising_en
428 What:           /sys/.../iio:deviceX/events/in_voltageY_thresh_falling_en
429 What:           /sys/.../iio:deviceX/events/in_tempY_thresh_rising_en
430 What:           /sys/.../iio:deviceX/events/in_tempY_thresh_falling_en
431 KernelVersion:  2.6.37
432 Contact:        linux-iio@vger.kernel.org
433 Description:
434                 Event generated when channel passes a threshold in the specified
435                 (_rising|_falling) direction. If the direction is not specified,
436                 then either the device will report an event which ever direction
437                 a single threshold value is passed in (e.g.
438                 <type>[Y][_name]_<raw|input>_thresh_value) or
439                 <type>[Y][_name]_<raw|input>_thresh_rising_value and
440                 <type>[Y][_name]_<raw|input>_thresh_falling_value may take
441                 different values, but the device can only enable both thresholds
442                 or neither.
443                 Note the driver will assume the last p events requested are
444                 to be enabled where p is how many it supports (which may vary
445                 depending on the exact set requested. So if you want to be
446                 sure you have set what you think you have, check the contents of
447                 these attributes after everything is configured. Drivers may
448                 have to buffer any parameters so that they are consistent when
449                 a given event type is enabled at a future point (and not those for
450                 whatever event was previously enabled).
451
452 What:           /sys/.../iio:deviceX/events/in_accel_x_roc_rising_en
453 What:           /sys/.../iio:deviceX/events/in_accel_x_roc_falling_en
454 What:           /sys/.../iio:deviceX/events/in_accel_y_roc_rising_en
455 What:           /sys/.../iio:deviceX/events/in_accel_y_roc_falling_en
456 What:           /sys/.../iio:deviceX/events/in_accel_z_roc_rising_en
457 What:           /sys/.../iio:deviceX/events/in_accel_z_roc_falling_en
458 What:           /sys/.../iio:deviceX/events/in_anglvel_x_roc_rising_en
459 What:           /sys/.../iio:deviceX/events/in_anglvel_x_roc_falling_en
460 What:           /sys/.../iio:deviceX/events/in_anglvel_y_roc_rising_en
461 What:           /sys/.../iio:deviceX/events/in_anglvel_y_roc_falling_en
462 What:           /sys/.../iio:deviceX/events/in_anglvel_z_roc_rising_en
463 What:           /sys/.../iio:deviceX/events/in_anglvel_z_roc_falling_en
464 What:           /sys/.../iio:deviceX/events/in_magn_x_roc_rising_en
465 What:           /sys/.../iio:deviceX/events/in_magn_x_roc_falling_en
466 What:           /sys/.../iio:deviceX/events/in_magn_y_roc_rising_en
467 What:           /sys/.../iio:deviceX/events/in_magn_y_roc_falling_en
468 What:           /sys/.../iio:deviceX/events/in_magn_z_roc_rising_en
469 What:           /sys/.../iio:deviceX/events/in_magn_z_roc_falling_en
470 What:           /sys/.../iio:deviceX/events/in_voltageY_supply_roc_rising_en
471 What:           /sys/.../iio:deviceX/events/in_voltageY_supply_roc_falling_en
472 What:           /sys/.../iio:deviceX/events/in_voltageY_roc_rising_en
473 What:           /sys/.../iio:deviceX/events/in_voltageY_roc_falling_en
474 What:           /sys/.../iio:deviceX/events/in_tempY_roc_rising_en
475 What:           /sys/.../iio:deviceX/events/in_tempY_roc_falling_en
476 KernelVersion:  2.6.37
477 Contact:        linux-iio@vger.kernel.org
478 Description:
479                 Event generated when channel passes a threshold on the rate of
480                 change (1st differential) in the specified (_rising|_falling)
481                 direction. If the direction is not specified, then either the
482                 device will report an event which ever direction a single
483                 threshold value is passed in (e.g.
484                 <type>[Y][_name]_<raw|input>_roc_value) or
485                 <type>[Y][_name]_<raw|input>_roc_rising_value and
486                 <type>[Y][_name]_<raw|input>_roc_falling_value may take
487                 different values, but the device can only enable both rate of
488                 change thresholds or neither.
489                 Note the driver will assume the last p events requested are
490                 to be enabled where p is however many it supports (which may
491                 vary depending on the exact set requested. So if you want to be
492                 sure you have set what you think you have, check the contents of
493                 these attributes after everything is configured. Drivers may
494                 have to buffer any parameters so that they are consistent when
495                 a given event type is enabled a future point (and not those for
496                 whatever event was previously enabled).
497
498 What:           /sys/.../events/in_accel_x_raw_thresh_rising_value
499 What:           /sys/.../events/in_accel_x_raw_thresh_falling_value
500 What:           /sys/.../events/in_accel_y_raw_thresh_rising_value
501 What:           /sys/.../events/in_accel_y_raw_thresh_falling_value
502 What:           /sys/.../events/in_accel_z_raw_thresh_rising_value
503 What:           /sys/.../events/in_accel_z_raw_thresh_falling_value
504 What:           /sys/.../events/in_anglvel_x_raw_thresh_rising_value
505 What:           /sys/.../events/in_anglvel_x_raw_thresh_falling_value
506 What:           /sys/.../events/in_anglvel_y_raw_thresh_rising_value
507 What:           /sys/.../events/in_anglvel_y_raw_thresh_falling_value
508 What:           /sys/.../events/in_anglvel_z_raw_thresh_rising_value
509 What:           /sys/.../events/in_anglvel_z_raw_thresh_falling_value
510 What:           /sys/.../events/in_magn_x_raw_thresh_rising_value
511 What:           /sys/.../events/in_magn_x_raw_thresh_falling_value
512 What:           /sys/.../events/in_magn_y_raw_thresh_rising_value
513 What:           /sys/.../events/in_magn_y_raw_thresh_falling_value
514 What:           /sys/.../events/in_magn_z_raw_thresh_rising_value
515 What:           /sys/.../events/in_magn_z_raw_thresh_falling_value
516 What:           /sys/.../events/in_voltageY_supply_raw_thresh_rising_value
517 What:           /sys/.../events/in_voltageY_supply_raw_thresh_falling_value
518 What:           /sys/.../events/in_voltageY_raw_thresh_rising_value
519 What:           /sys/.../events/in_voltageY_raw_thresh_falling_value
520 What:           /sys/.../events/in_tempY_raw_thresh_rising_value
521 What:           /sys/.../events/in_tempY_raw_thresh_falling_value
522 What:           /sys/.../events/in_illuminance0_thresh_falling_value
523 what:           /sys/.../events/in_illuminance0_thresh_rising_value
524 what:           /sys/.../events/in_proximity0_thresh_falling_value
525 what:           /sys/.../events/in_proximity0_thresh_rising_value
526 KernelVersion:  2.6.37
527 Contact:        linux-iio@vger.kernel.org
528 Description:
529                 Specifies the value of threshold that the device is comparing
530                 against for the events enabled by
531                 <type>Y[_name]_thresh[_rising|falling]_en.
532                 If separate attributes exist for the two directions, but
533                 direction is not specified for this attribute, then a single
534                 threshold value applies to both directions.
535                 The raw or input element of the name indicates whether the
536                 value is in raw device units or in processed units (as _raw
537                 and _input do on sysfs direct channel read attributes).
538
539 What:           /sys/.../events/in_accel_x_raw_roc_rising_value
540 What:           /sys/.../events/in_accel_x_raw_roc_falling_value
541 What:           /sys/.../events/in_accel_y_raw_roc_rising_value
542 What:           /sys/.../events/in_accel_y_raw_roc_falling_value
543 What:           /sys/.../events/in_accel_z_raw_roc_rising_value
544 What:           /sys/.../events/in_accel_z_raw_roc_falling_value
545 What:           /sys/.../events/in_anglvel_x_raw_roc_rising_value
546 What:           /sys/.../events/in_anglvel_x_raw_roc_falling_value
547 What:           /sys/.../events/in_anglvel_y_raw_roc_rising_value
548 What:           /sys/.../events/in_anglvel_y_raw_roc_falling_value
549 What:           /sys/.../events/in_anglvel_z_raw_roc_rising_value
550 What:           /sys/.../events/in_anglvel_z_raw_roc_falling_value
551 What:           /sys/.../events/in_magn_x_raw_roc_rising_value
552 What:           /sys/.../events/in_magn_x_raw_roc_falling_value
553 What:           /sys/.../events/in_magn_y_raw_roc_rising_value
554 What:           /sys/.../events/in_magn_y_raw_roc_falling_value
555 What:           /sys/.../events/in_magn_z_raw_roc_rising_value
556 What:           /sys/.../events/in_magn_z_raw_roc_falling_value
557 What:           /sys/.../events/in_voltageY_supply_raw_roc_rising_value
558 What:           /sys/.../events/in_voltageY_supply_raw_roc_falling_value
559 What:           /sys/.../events/in_voltageY_raw_roc_rising_value
560 What:           /sys/.../events/in_voltageY_raw_roc_falling_value
561 What:           /sys/.../events/in_tempY_raw_roc_rising_value
562 What:           /sys/.../events/in_tempY_raw_roc_falling_value
563 KernelVersion:  2.6.37
564 Contact:        linux-iio@vger.kernel.org
565 Description:
566                 Specifies the value of rate of change threshold that the
567                 device is comparing against for the events enabled by
568                 <type>[Y][_name]_roc[_rising|falling]_en.
569                 If separate attributes exist for the two directions,
570                 but direction is not specified for this attribute,
571                 then a single threshold value applies to both directions.
572                 The raw or input element of the name indicates whether the
573                 value is in raw device units or in processed units (as _raw
574                 and _input do on sysfs direct channel read attributes).
575
576 What:           /sys/.../events/in_accel_x_thresh_rising_period
577 What:           /sys/.../events/in_accel_x_thresh_falling_period
578 hat:            /sys/.../events/in_accel_x_roc_rising_period
579 What:           /sys/.../events/in_accel_x_roc_falling_period
580 What:           /sys/.../events/in_accel_y_thresh_rising_period
581 What:           /sys/.../events/in_accel_y_thresh_falling_period
582 What:           /sys/.../events/in_accel_y_roc_rising_period
583 What:           /sys/.../events/in_accel_y_roc_falling_period
584 What:           /sys/.../events/in_accel_z_thresh_rising_period
585 What:           /sys/.../events/in_accel_z_thresh_falling_period
586 What:           /sys/.../events/in_accel_z_roc_rising_period
587 What:           /sys/.../events/in_accel_z_roc_falling_period
588 What:           /sys/.../events/in_anglvel_x_thresh_rising_period
589 What:           /sys/.../events/in_anglvel_x_thresh_falling_period
590 What:           /sys/.../events/in_anglvel_x_roc_rising_period
591 What:           /sys/.../events/in_anglvel_x_roc_falling_period
592 What:           /sys/.../events/in_anglvel_y_thresh_rising_period
593 What:           /sys/.../events/in_anglvel_y_thresh_falling_period
594 What:           /sys/.../events/in_anglvel_y_roc_rising_period
595 What:           /sys/.../events/in_anglvel_y_roc_falling_period
596 What:           /sys/.../events/in_anglvel_z_thresh_rising_period
597 What:           /sys/.../events/in_anglvel_z_thresh_falling_period
598 What:           /sys/.../events/in_anglvel_z_roc_rising_period
599 What:           /sys/.../events/in_anglvel_z_roc_falling_period
600 What:           /sys/.../events/in_magn_x_thresh_rising_period
601 What:           /sys/.../events/in_magn_x_thresh_falling_period
602 What:           /sys/.../events/in_magn_x_roc_rising_period
603 What:           /sys/.../events/in_magn_x_roc_falling_period
604 What:           /sys/.../events/in_magn_y_thresh_rising_period
605 What:           /sys/.../events/in_magn_y_thresh_falling_period
606 What:           /sys/.../events/in_magn_y_roc_rising_period
607 What:           /sys/.../events/in_magn_y_roc_falling_period
608 What:           /sys/.../events/in_magn_z_thresh_rising_period
609 What:           /sys/.../events/in_magn_z_thresh_falling_period
610 What:           /sys/.../events/in_magn_z_roc_rising_period
611 What:           /sys/.../events/in_magn_z_roc_falling_period
612 What:           /sys/.../events/in_voltageY_supply_thresh_rising_period
613 What:           /sys/.../events/in_voltageY_supply_thresh_falling_period
614 What:           /sys/.../events/in_voltageY_supply_roc_rising_period
615 What:           /sys/.../events/in_voltageY_supply_roc_falling_period
616 What:           /sys/.../events/in_voltageY_thresh_rising_period
617 What:           /sys/.../events/in_voltageY_thresh_falling_period
618 What:           /sys/.../events/in_voltageY_roc_rising_period
619 What:           /sys/.../events/in_voltageY_roc_falling_period
620 What:           /sys/.../events/in_tempY_thresh_rising_period
621 What:           /sys/.../events/in_tempY_thresh_falling_period
622 What:           /sys/.../events/in_tempY_roc_rising_period
623 What:           /sys/.../events/in_tempY_roc_falling_period
624 What:           /sys/.../events/in_accel_x&y&z_mag_falling_period
625 What:           /sys/.../events/in_intensity0_thresh_period
626 What:           /sys/.../events/in_proximity0_thresh_period
627 KernelVersion:  2.6.37
628 Contact:        linux-iio@vger.kernel.org
629 Description:
630                 Period of time (in seconds) for which the condition must be
631                 met before an event is generated. If direction is not
632                 specified then this period applies to both directions.
633
634 What:           /sys/.../iio:deviceX/events/in_accel_mag_en
635 What:           /sys/.../iio:deviceX/events/in_accel_mag_rising_en
636 What:           /sys/.../iio:deviceX/events/in_accel_mag_falling_en
637 What:           /sys/.../iio:deviceX/events/in_accel_x_mag_en
638 What:           /sys/.../iio:deviceX/events/in_accel_x_mag_rising_en
639 What:           /sys/.../iio:deviceX/events/in_accel_x_mag_falling_en
640 What:           /sys/.../iio:deviceX/events/in_accel_y_mag_en
641 What:           /sys/.../iio:deviceX/events/in_accel_y_mag_rising_en
642 What:           /sys/.../iio:deviceX/events/in_accel_y_mag_falling_en
643 What:           /sys/.../iio:deviceX/events/in_accel_z_mag_en
644 What:           /sys/.../iio:deviceX/events/in_accel_z_mag_rising_en
645 What:           /sys/.../iio:deviceX/events/in_accel_z_mag_falling_en
646 What:           /sys/.../iio:deviceX/events/in_accel_x&y&z_mag_rising_en
647 What:           /sys/.../iio:deviceX/events/in_accel_x&y&z_mag_falling_en
648 KernelVersion:  2.6.37
649 Contact:        linux-iio@vger.kernel.org
650 Description:
651                 Similar to in_accel_x_thresh[_rising|_falling]_en, but here the
652                 magnitude of the channel is compared to the threshold, not its
653                 signed value.
654
655 What:           /sys/.../events/in_accel_raw_mag_value
656 What:           /sys/.../events/in_accel_x_raw_mag_rising_value
657 What:           /sys/.../events/in_accel_y_raw_mag_rising_value
658 What:           /sys/.../events/in_accel_z_raw_mag_rising_value
659 KernelVersion:  2.6.37
660 Contact:        linux-iio@vger.kernel.org
661 Description:
662                 The value to which the magnitude of the channel is compared. If
663                 number or direction is not specified, applies to all channels of
664                 this type.
665
666 What:           /sys/bus/iio/devices/iio:deviceX/trigger/current_trigger
667 KernelVersion:  2.6.35
668 Contact:        linux-iio@vger.kernel.org
669 Description:
670                 The name of the trigger source being used, as per string given
671                 in /sys/class/iio/triggerY/name.
672
673 What:           /sys/bus/iio/devices/iio:deviceX/buffer/length
674 KernelVersion:  2.6.35
675 Contact:        linux-iio@vger.kernel.org
676 Description:
677                 Number of scans contained by the buffer.
678
679 What:           /sys/bus/iio/devices/iio:deviceX/buffer/bytes_per_datum
680 KernelVersion:  2.6.37
681 Contact:        linux-iio@vger.kernel.org
682 Description:
683                 Bytes per scan.  Due to alignment fun, the scan may be larger
684                 than implied directly by the scan_element parameters.
685
686 What:           /sys/bus/iio/devices/iio:deviceX/buffer/enable
687 KernelVersion:  2.6.35
688 Contact:        linux-iio@vger.kernel.org
689 Description:
690                 Actually start the buffer capture up.  Will start trigger
691                 if first device and appropriate.
692
693 What:           /sys/bus/iio/devices/iio:deviceX/buffer/scan_elements
694 KernelVersion:  2.6.37
695 Contact:        linux-iio@vger.kernel.org
696 Description:
697                 Directory containing interfaces for elements that will be
698                 captured for a single triggered sample set in the buffer.
699
700 What:           /sys/.../buffer/scan_elements/in_accel_x_en
701 What:           /sys/.../buffer/scan_elements/in_accel_y_en
702 What:           /sys/.../buffer/scan_elements/in_accel_z_en
703 What:           /sys/.../buffer/scan_elements/in_anglvel_x_en
704 What:           /sys/.../buffer/scan_elements/in_anglvel_y_en
705 What:           /sys/.../buffer/scan_elements/in_anglvel_z_en
706 What:           /sys/.../buffer/scan_elements/in_magn_x_en
707 What:           /sys/.../buffer/scan_elements/in_magn_y_en
708 What:           /sys/.../buffer/scan_elements/in_magn_z_en
709 What:           /sys/.../buffer/scan_elements/in_timestamp_en
710 What:           /sys/.../buffer/scan_elements/in_voltageY_supply_en
711 What:           /sys/.../buffer/scan_elements/in_voltageY_en
712 What:           /sys/.../buffer/scan_elements/in_voltageY-voltageZ_en
713 What:           /sys/.../buffer/scan_elements/in_incli_x_en
714 What:           /sys/.../buffer/scan_elements/in_incli_y_en
715 What:           /sys/.../buffer/scan_elements/in_pressureY_en
716 What:           /sys/.../buffer/scan_elements/in_pressure_en
717 KernelVersion:  2.6.37
718 Contact:        linux-iio@vger.kernel.org
719 Description:
720                 Scan element control for triggered data capture.
721
722 What:           /sys/.../buffer/scan_elements/in_accel_type
723 What:           /sys/.../buffer/scan_elements/in_anglvel_type
724 What:           /sys/.../buffer/scan_elements/in_magn_type
725 What:           /sys/.../buffer/scan_elements/in_incli_type
726 What:           /sys/.../buffer/scan_elements/in_voltageY_type
727 What:           /sys/.../buffer/scan_elements/in_voltage_type
728 What:           /sys/.../buffer/scan_elements/in_voltageY_supply_type
729 What:           /sys/.../buffer/scan_elements/in_timestamp_type
730 What:           /sys/.../buffer/scan_elements/in_pressureY_type
731 What:           /sys/.../buffer/scan_elements/in_pressure_type
732 KernelVersion:  2.6.37
733 Contact:        linux-iio@vger.kernel.org
734 Description:
735                 Description of the scan element data storage within the buffer
736                 and hence the form in which it is read from user-space.
737                 Form is [be|le]:[s|u]bits/storagebits[>>shift].
738                 be or le specifies big or little endian. s or u specifies if
739                 signed (2's complement) or unsigned. bits is the number of bits
740                 of data and storagebits is the space (after padding) that it
741                 occupies in the buffer. shift if specified, is the shift that
742                 needs to be applied prior to masking out unused bits. Some
743                 devices put their data in the middle of the transferred elements
744                 with additional information on both sides.  Note that some
745                 devices will have additional information in the unused bits
746                 so to get a clean value, the bits value must be used to mask
747                 the buffer output value appropriately.  The storagebits value
748                 also specifies the data alignment.  So s48/64>>2 will be a
749                 signed 48 bit integer stored in a 64 bit location aligned to
750                 a 64 bit boundary. To obtain the clean value, shift right 2
751                 and apply a mask to zero the top 16 bits of the result.
752                 For other storage combinations this attribute will be extended
753                 appropriately.
754
755 What:           /sys/.../buffer/scan_elements/in_accel_type_available
756 KernelVersion:  2.6.37
757 Contact:        linux-iio@vger.kernel.org
758 Description:
759                 If the type parameter can take one of a small set of values,
760                 this attribute lists them.
761
762 What:           /sys/.../buffer/scan_elements/in_voltageY_index
763 What:           /sys/.../buffer/scan_elements/in_voltageY_supply_index
764 What:           /sys/.../buffer/scan_elements/in_accel_x_index
765 What:           /sys/.../buffer/scan_elements/in_accel_y_index
766 What:           /sys/.../buffer/scan_elements/in_accel_z_index
767 What:           /sys/.../buffer/scan_elements/in_anglvel_x_index
768 What:           /sys/.../buffer/scan_elements/in_anglvel_y_index
769 What:           /sys/.../buffer/scan_elements/in_anglvel_z_index
770 What:           /sys/.../buffer/scan_elements/in_magn_x_index
771 What:           /sys/.../buffer/scan_elements/in_magn_y_index
772 What:           /sys/.../buffer/scan_elements/in_magn_z_index
773 What:           /sys/.../buffer/scan_elements/in_incli_x_index
774 What:           /sys/.../buffer/scan_elements/in_incli_y_index
775 What:           /sys/.../buffer/scan_elements/in_timestamp_index
776 What:           /sys/.../buffer/scan_elements/in_pressureY_index
777 What:           /sys/.../buffer/scan_elements/in_pressure_index
778 KernelVersion:  2.6.37
779 Contact:        linux-iio@vger.kernel.org
780 Description:
781                 A single positive integer specifying the position of this
782                 scan element in the buffer. Note these are not dependent on
783                 what is enabled and may not be contiguous. Thus for user-space
784                 to establish the full layout these must be used in conjunction
785                 with all _en attributes to establish which channels are present,
786                 and the relevant _type attributes to establish the data storage
787                 format.
788
789 What:           /sys/.../iio:deviceX/in_anglvel_z_quadrature_correction_raw
790 KernelVersion:  2.6.38
791 Contact:        linux-iio@vger.kernel.org
792 Description:
793                 This attribute is used to read the amount of quadrature error
794                 present in the device at a given time.