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