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