What: /sys/bus/iio/devices/device[n] KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: Hardware chip or device accessed by on communication port. Corresponds to a grouping of sensor channels. What: /sys/bus/iio/devices/trigger[n] KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: An event driven driver of data capture to an in kernel buffer. May be provided by a device driver that also has an IIO device based on hardware generated events (e.g. data ready) or provided by a separate driver for other hardware (e.g. periodic timer, gpio or high resolution timer). Contains trigger type specific elements. These do not generalize well and hence are not documented in this file. What: /sys/bus/iio/devices/device[n]:buffer KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: Link to /sys/class/iio/device[n]/device[n]:buffer. n indicates the device with which this buffer buffer is associated. What: /sys/.../device[n]/name KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: Description of the physical chip / device. Typically a part number. What: /sys/.../device[n]/sampling_frequency KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: Some devices have internal clocks. This parameter sets the resulting sampling frequency. In many devices this parameter has an effect on input filters etc rather than simply controlling when the input is sampled. As this effects datardy triggers, hardware buffers and the sysfs direct access interfaces, it may be found in any of the relevant directories. If it effects all of the above then it is to be found in the base device directory as here. What: /sys/.../device[n]/sampling_frequency_available KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: When the internal sampling clock can only take a small discrete set of values, this file lists those availale. What: /sys/.../device[n]/in[m][_name]_raw KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: Raw (unscaled no bias removal etc) voltage measurement from channel m. name is used in special cases where this does not correspond to externally available input (e.g. supply voltage monitoring in which case the file is in_supply_raw). If the device supports events on this channel then m must be specified (even on named channels) so as to allow the source of event codes to be identified. What: /sys/.../device[n]/in[m][_name]_offset KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: If known for a device, offset to be added to in[m]_raw prior to scaling by in[_name][m]_scale in order to obtain voltage in millivolts. Not present if the offset is always 0 or unknown. If m is not present, then voltage offset applies to all in channels. May be writable if a variable offset is controlled by the device. Note that this is different to calibbias which is for devices that apply offsets to compensate for variation between different instances of the part, typically adjusted by using some hardware supported calibration procedure. What: /sys/.../device[n]/in[m][_name]_offset_available KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: If a small number of discrete offset values are available, this will be a space separated list. If these are independant (but options the same) for individual offsets then m should not be present. What: /sys/.../device[n]/in[m][_name]_offset_[min|max] KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: If a more or less continuous range of voltage offsets are supported then these specify the minimum and maximum. If shared by all in channels then m is not present. What: /sys/.../device[n]/in[m][_name]_calibbias KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: Hardware applied calibration offset. (assumed to fix production inaccuracies) What /sys/.../device[n]/in[m][_name]_calibscale KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: Hardware applied calibration scale factor. (assumed to fix production inaccuracies) What: /sys/.../device[n]/in[m][_name]_scale KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: If known for a device, scale to be applied to volt[m]_raw post addition of in[_name][m]_offset in order to obtain the measured voltage in millivolts. If shared across all in channels then m is not present. What: /sys/.../device[n]/in[m]-in[o]_raw KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: Raw (unscaled) differential voltage measurement equivalent to channel m - channel o where these channel numbers apply to the physically equivalent inputs when non differential readings are separately available. In differential only parts, then all that is required is a consistent labelling. What: /sys/.../device[n]/accel[_x|_y|_z][m]_raw KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: Acceleration in direction x, y or z (may be arbitrarily assigned but should match other such assignments on device) channel m (not present if only one accelerometer channel at this orientation). Has all of the equivalent parameters as per in[m]. Units after application of scale and offset are m/s^2. What: /sys/.../device[n]/gyro[_x|_y|_z][m]_raw KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: Angular velocity about axis x, y or z (may be arbitrarily assigned) channel m (not present if only one gyroscope at this orientation). Data converted by application of offset then scale to radians per second. Has all the equivalent parameters as per in[m]. What: /sys/.../device[n]/incli[_x|_y|_z][m]_raw KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: Inclination raw reading about axis x, y or z (may be arbitarily assigned) channel m (not present if only one inclinometer at this orientation). Data converted by application of offset and scale to Degrees. What: /sys/.../device[n]/magn[_x|_y|_z][m]_raw KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: Magnetic field along axis x, y or z (may be arbitrarily assigned) channel m (not present if only one magnetometer at this orientation). Data converted by application of offset then scale to Gauss. Has all the equivalent modifiers as per in[m]. What: /sys/.../device[n]/device[n]:event[m] KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: Configuration of which hardware generated events are passed up to userspace. Some of these are a bit complex to generalize so this section is a work in progress. What: /sys/.../device[n]:event[m]/dev KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: major:minor character device numbers for the event line. Taking accel_x0 as an example What: /sys/.../device[n]:event[m]/accel_x0_thresh[_rising|_falling]_en KernelVersion: 2.6.37 Contact: linux-iio@vger.kernel.org Description: Event generated when accel_x0 passes a threshold in the specfied (_rising|_falling) direction. If the direction is not specified, then either the device will report an event which ever direction a single threshold value is called in (e.g. accel_x0__thresh_value) or accel_x0__thresh_rising_value and accel_x0__thresh_falling_value may take different values, but the device can only enable both thresholds or neither. Note the driver will assume the last p events requested are to be enabled where p is however many it supports (which may vary depending on the exact set requested. So if you want to be sure you have set what you think you have, check the contents of these attributes after everything is configured. Drivers may have to buffer any parameters so that they are consistent when a given event type is enabled a future point (and not those for whatever event was previously enabled). What: /sys/.../accel_x0__thresh[_rising|_falling]_value KernelVersion: 2.6.37 Contact: linux-iio@vger.kernel.org Description: Specifies the value of threshold that the device is comparing against for the events enabled by accel_x0__thresh[_rising|falling]_en. If seperate exist for the two directions, but direction is not specified for this attribute, then a single threshold value applies to both directions. The raw or input element of the name indicates whether the value is in raw device units or in processed units (as _raw and _input do on sysfs direct channel read attributes). What: /sys/.../accel_x0_thresh[_rising|_falling]_meanperiod KernelVersion: 2.6.37 Contact: linux-iio@vger.kernel.org Description: Period of time (in seconds) over which the raw channel value is averaged before being compared with the threshold set in accel_x0_thresh[_rising|_falling]_meanperiod. If direction is not specified then this mean period applies to both directions. What: /sys/.../accel_x0_thresh[_rising|_falling]_period KernelVersion: 2.6.37 Contact: linux-iio@vger.kernel.org Description: Period of time (in seconds) for which the threshold must be passed before an event is generated. If direction is not specified then this period applies to both directions. What: /sys/.../device[n]:event[m]/accel_x0_mag[_rising|_falling]_en KernelVersion: 2.6.37 Contact: linux-iio@vger.kernel.org Description: Similar to accel_x0_thresh[_rising|_falling]_en, but here the magnitude of the channel is compared to the threshold, not its signed value. What: /sys/.../accel_x0__mag[_rising|_falling]_value KernelVersion: 2.6.37 Contact: linux-iio@vger.kernel.org Description: The value to which the magnitude of the channel is compared. What: /sys/.../accel_x0_mag[_rising|_falling]_meanperiod KernelVersion: 2.6.37 Contact: linux-iio@vger.kernel.org Description: Period of time (in seconds) over which the value of the channel is averaged before being compared to the threshold What: /sys/.../accel_x0_mag[_rising|_falling]_period KernelVersion: 2.6.37 Contact: linux-iio@vger.kernel.org Description: Period of time (in seconds) for which the condition must be true before an event occurs. What: /sys/.../device[n]:event[m]/accel_x0_roc[_rising|_falling]_en KernelVersion: 2.6.37 Contact: linux-iio@vger.kernel.org Description: Similar to accel_x0_thresh[_rising|_falling]_en, but here the first differential is compared with the threshold. What: /sys/.../accel_x0__roc[_rising|_falling]_value KernelVersion: 2.6.37 Contact: linux-iio@vger.kernel.org Description: The value to which the first differential of the channel is compared. What: /sys/.../accel_x0_roc[_rising|_falling]_meanperiod KernelVersion: 2.6.37 Contact: linux-iio@vger.kernel.org Description: Period of time (in seconds) over which the value of the channel is averaged before being compared to the threshold What: /sys/.../accel_x0_roc[_rising|_falling]_period KernelVersion: 2.6.37 Contact: linux-iio@vger.kernel.org Description: Period of time (in seconds) for which the condition must be true before an event occurs. What: /sys/.../device[n]/device[n]:buffer:event/dev KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: Buffer for device n event character device major:minor numbers. What: /sys/.../device[n]/device[n]:buffer:access/dev KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: Buffer for device n access character device o major:minor numbers. What: /sys/.../device[n]:buffer/trigger KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: The name of the trigger source being used, as per string given in /sys/class/iio/trigger[n]/name. What: /sys/.../device[n]:buffer/length KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: Number of scans contained by the buffer. What: /sys/.../device[n]:buffer/bytes_per_datum KernelVersion: 2.6.37 Contact: linux-iio@vger.kernel.org Description: Bytes per scan. Due to alignment fun, the scan may be larger than implied directly by the scan_element parameters. What: /sys/.../device[n]:buffer/enable KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: Actually start the buffer capture up. Will start trigger if first device and appropriate. What: /sys/.../device[n]:buffer/alignment KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: Minimum data alignment. Scan elements larger than this are aligned to the nearest power of 2 times this. (may not be true in weird hardware buffers that pack data well) What: /sys/.../device[n]/buffer/scan_elements KernelVersion: 2.6.37 Contact: linux-iio@vger.kernel.org Description: Directory containing interfaces for elements that will be captured for a single triggered sample set in the buffer. What: /sys/.../device[n]/buffer/scan_elements/accel_x0_en KernelVersion: 2.6.37 Contact: linux-iio@vger.kernel.org Description: Scan element control for triggered data capture. What: /sys/.../device[n]/buffer/scan_elements/accel[_x0]_type KernelVersion: 2.6.37 Contact: linux-iio@vger.kernel.org Description: Description of the scan element data storage within the buffer and hence the form in which it is read from userspace. Form is [s|u]bits/storagebits. s or u specifies if signed (2's complement) or unsigned. bits is the number of bits of data and storagebits is the space (after padding) that it occupies in the buffer. Note that some devices will have additional information in the unused bits so to get a clean value, the bits value must be used to mask the buffer output value appropriately. The storagebits value also specifies the data alignment. So s48/64 will be a signed 48 bit integer stored in a 64 bit location aligned to a a64 bit boundary. For other storage combinations this attribute will be extended appropriately. What: /sys/.../device[n]/buffer/scan_elements/accel[_x0]_index KernelVersion: 2.6.37 Contact: linux-iio@vger.kernel.org Description: A single positive integer specifying the position of this scan element in the buffer. Note these are not dependant on what is enabled and may not be contiguous. Thus for userspace to establish the full layout these must be used in conjunction with all _en attributes to establish which channels are present, and the relevant _type attributes to establish the data storage format. What: /sys/.../device[n]/buffer/scan_elements/accel[_x0]_shift KernelVersion: 2.6.37 Contact: linux-iio@vger.kernel.org Description: A bit shift (to right) that must be applied prior to extracting the bits specified by accel[_x0]_precision.