From: Jonathan Cameron Date: Mon, 22 Nov 2010 23:31:16 +0000 (+0000) Subject: staging: iio: documentation rewrite and cleanup of sysfs documetation X-Git-Tag: v3.0~2451^2~242 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f386caa3cd74231cd86c813fe4453e3d6e39876c;p=platform%2Fkernel%2Flinux-amlogic.git staging: iio: documentation rewrite and cleanup of sysfs documetation Change to capital syntax for documetation e.g. 'inX-inY_raw' Use multiple 'What:' entries rather than wild cards or options so as to make the documentation clearer and easier to search. Some trivial spelling fixes. Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/iio/Documentation/sysfs-bus-iio b/drivers/staging/iio/Documentation/sysfs-bus-iio index fdb017a..2dde97d 100644 --- a/drivers/staging/iio/Documentation/sysfs-bus-iio +++ b/drivers/staging/iio/Documentation/sysfs-bus-iio @@ -1,11 +1,12 @@ -What: /sys/bus/iio/devices/device[n] +What: /sys/bus/iio/devices/deviceX 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. + Corresponds to a grouping of sensor channels. X is the IIO + index of the device. -What: /sys/bus/iio/devices/trigger[n] +What: /sys/bus/iio/devices/triggerX KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: @@ -13,25 +14,26 @@ Description: 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). + 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. + X is the IIO index of the trigger. -What: /sys/bus/iio/devices/device[n]:buffer +What: /sys/bus/iio/devices/deviceX:buffer KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: - Link to /sys/class/iio/device[n]/device[n]:buffer. n indicates + Link to /sys/class/iio/deviceX/deviceX:buffer. X indicates the device with which this buffer buffer is associated. -What: /sys/.../device[n]/name +What: /sys/bus/iio/devices/deviceX/name KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: - Description of the physical chip / device. Typically a part - number. + Description of the physical chip / device for device X. + Typically a part number. -What: /sys/.../device[n]/sampling_frequency +What: /sys/bus/iio/devices/deviceX/sampling_frequency KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: @@ -44,158 +46,233 @@ Description: 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 +What: /sys/bus/iio/devices/deviceX/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. + discrete set of values, this file lists those available. -What: /sys/.../device[n]/in[m][_name]_raw +What: /sys/bus/iio/devices/deviceX/inY_raw +What: /sys/bus/iio/devices/deviceX/inY_supply_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 + channel Y. In special cases where the channel does not + correspond to externally available input one of the named + versions may be used. The number must always be specified and + unique to allow association with event codes. + +What: /sys/bus/iio/devices/deviceX/inY-inZ_raw 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. + Raw (unscaled) differential voltage measurement equivalent to + channel Y - channel Z 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 labeling. -What: /sys/.../device[n]/in[m][_name]_offset_available +What: /sys/bus/iio/devices/deviceX/temp_raw +What: /sys/bus/iio/devices/deviceX/temp_x_raw +What: /sys/bus/iio/devices/deviceX/temp_y_raw +What: /sys/bus/iio/devices/deviceX/temp_z_raw 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. + Raw (unscaled no bias removal etc) temperature measurement. + It an axis is specified it generally means that the temperature + sensor is associated with one part of a compound device (e.g. + a gyroscope axis). -What: /sys/.../device[n]/in[m][_name]_offset_[min|max] +What: /sys/bus/iio/devices/deviceX/accel_x_raw +What: /sys/bus/iio/devices/deviceX/accel_y_raw +What: /sys/bus/iio/devices/deviceX/accel_z_raw 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. + 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 + inY. Units after application of scale and offset are m/s^2. -What: /sys/.../device[n]/in[m][_name]_calibbias +What: /sys/bus/iio/devices/deviceX/gyro_x_raw +What: /sys/bus/iio/devices/deviceX/gyro_y_raw +What: /sys/bus/iio/devices/deviceX/gyro_z_raw KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: - Hardware applied calibration offset. (assumed to fix production - inaccuracies) + Angular velocity about axis x, y or z (may be arbitrarily + assigned) Data converted by application of offset then scale to + radians per second. Has all the equivalent parameters as + per inY. -What /sys/.../device[n]/in[m][_name]_calibscale +What: /sys/bus/iio/devices/deviceX/incli_x_raw +What: /sys/bus/iio/devices/deviceX/incli_y_raw +What: /sys/bus/iio/devices/deviceX/incli_z_raw KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: - Hardware applied calibration scale factor. (assumed to fix - production inaccuracies) + Inclination raw reading about axis x, y or z (may be + arbitrarily assigned). Data converted by application of offset + and scale to Degrees. -What: /sys/.../device[n]/in[m][_name]_scale +What: /sys/bus/iio/devices/deviceX/magn_x_raw +What: /sys/bus/iio/devices/deviceX/magn_y_raw +What: /sys/bus/iio/devices/deviceX/magn_z_raw 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. + 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 inY. -What: /sys/.../device[n]/in[m]-in[o]_raw -KernelVersion: 2.6.35 +What: /sys/bus/iio/devices/deviceX/accel_x_peak_raw +What: /sys/bus/iio/devices/deviceX/accel_y_peak_raw +What: /sys/bus/iio/devices/deviceX/accel_z_peak_raw +KernelVersion: 2.6.36 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. + Some devices provide a store of the highest value seen since + some reset condition. These attributes allow access to this + and are otherwise the direct equivalent of the + Y[_name]_raw attributes. -What: /sys/.../device[n]/accel[_x|_y|_z][m]_raw -KernelVersion: 2.6.35 +What: /sys/bus/iio/devices/deviceX/accel_xyz_squared_peak_raw +KernelVersion: 2.6.36 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. + A computed peak value based on the sum squared magnitude of + the underlying value in the specified directions. -What: /sys/.../device[n]/gyro[_x|_y|_z][m]_raw +What: /sys/bus/iio/devices/deviceX/accel_offset +What: /sys/bus/iio/devices/deviceX/temp_offset 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 + If known for a device, offset to be added to [Y]_raw prior + to scaling by [Y]_scale in order to obtain value in the + units as specified in [y]_raw documentation. + Not present if the offset is always 0 or unknown. If Y is not + present, then the offset applies to all in channels of . + May be writable if a variable offset can be applied on the + device. Note that this is different to calibbias which + is for devices (or drivers) that apply offsets to compensate + for variation between different instances of the part, typically + adjusted by using some hardware supported calibration procedure. + +What: /sys/bus/iio/devices/deviceX/inY_scale +What: /sys/bus/iio/devices/deviceX/inY_supply_scale +What: /sys/bus/iio/devices/deviceX/in_scale +What: /sys/bus/iio/devices/deviceX/accel_scale +What: /sys/bus/iio/devices/deviceX/accel_peak_scale +What: /sys/bus/iio/devices/deviceX/gyro_scale +What: /sys/bus/iio/devices/deviceX/magn_scale +What: /sys/bus/iio/devices/deviceX/magn_x_scale +What: /sys/bus/iio/devices/deviceX/magn_y_scale +What: /sys/bus/iio/devices/deviceX/magn_z_scale 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 + If known for a device, scale to be applied to Y[_name]_raw + post addition of [Y][_name]_offset in order to obtain the + measured value in units as specified in + [Y][_name]_raw documentation.. If shared across all in + channels then Y is not present and the value is called + [Y][_name]_scale. The peak modifier means this value + is applied to Y[_name]_peak_raw values. + +What: /sys/bus/iio/devices/deviceX/accel_x_calibbias +What: /sys/bus/iio/devices/deviceX/accel_y_calibbias +What: /sys/bus/iio/devices/deviceX/accel_z_calibbias +What: /sys/bus/iio/devices/deviceX/gyro_x_calibbias +What: /sys/bus/iio/devices/deviceX/gyro_y_calibbias +What: /sys/bus/iio/devices/deviceX/gyro_z_calibbias 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] + Hardware applied calibration offset. (assumed to fix production + inaccuracies). If shared across all channels, _calibbias + is used. + +What /sys/bus/iio/devices/deviceX/inY_calibscale +What /sys/bus/iio/devices/deviceX/inY_supply_calibscale +What /sys/bus/iio/devices/deviceX/in_calibscale +What /sys/bus/iio/devices/deviceX/accel_x_calibscale +What /sys/bus/iio/devices/deviceX/accel_y_calibscale +What /sys/bus/iio/devices/deviceX/accel_z_calibscale +What /sys/bus/iio/devices/deviceX/gyro_x_calibscale +What /sys/bus/iio/devices/deviceX/gyro_y_calibscale +What /sys/bus/iio/devices/deviceX/gyro_z_calibscale 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. + Hardware applied calibration scale factor. (assumed to fix + production inaccuracies). If shared across all channels, + _calibscale is used. -What: /sys/.../device[n]:event[m]/dev -KernelVersion: 2.6.35 +What: /sys/bus/iio/devices/deviceX/accel_scale_available +KernelVersion: 2.635 Contact: linux-iio@vger.kernel.org Description: - major:minor character device numbers for the event line. + If a discrete set of scale values are available, they + are listed in this attribute. -Taking accel_x0 as an example +What: /sys/bus/iio/devices/deviceX/deviceX:eventY +KernelVersion: 2.6.35 +Contact: linux-iio@vger.kernel.org +Description: + Configuration of which hardware generated events are passed up + to user-space. -What: /sys/.../device[n]:event[m]/accel_x0_thresh[_rising|_falling]_en +What: /sys/bus/iio/devices/deviceX:event/dev +What: /sys/bus/iio/devices/deviceX:eventY/dev +KernelVersion: 2.6.35 +Contact: linux-iio@vger.kernel.org +Description: + major:minor character device numbers for the event line Y of + device X. + +What: /sys/.../deviceX:eventY/accel_x_thresh_rising_en +What: /sys/.../deviceX:eventY/accel_x_thresh_falling_en +What: /sys/.../deviceX:eventY/accel_y_thresh_rising_en +What: /sys/.../deviceX:eventY/accel_y_thresh_falling_en +What: /sys/.../deviceX:eventY/accel_z_thresh_rising_en +What: /sys/.../deviceX:eventY/accel_z_thresh_falling_en +What: /sys/.../deviceX:eventY/gyro_x_thresh_rising_en +What: /sys/.../deviceX:eventY/gyro_x_thresh_falling_en +What: /sys/.../deviceX:eventY/gyro_y_thresh_rising_en +What: /sys/.../deviceX:eventY/gyro_y_thresh_falling_en +What: /sys/.../deviceX:eventY/gyro_z_thresh_rising_en +What: /sys/.../deviceX:eventY/gyro_z_thresh_falling_en +What: /sys/.../deviceX:eventY/magn_x_thresh_rising_en +What: /sys/.../deviceX:eventY/magn_x_thresh_falling_en +What: /sys/.../deviceX:eventY/magn_y_thresh_rising_en +What: /sys/.../deviceX:eventY/magn_y_thresh_falling_en +What: /sys/.../deviceX:eventY/magn_z_thresh_rising_en +What: /sys/.../deviceX:eventY/magn_z_thresh_falling_en +What: /sys/.../deviceX:eventY/inZ_supply_thresh_rising_en +What: /sys/.../deviceX:eventY/inZ_supply_thresh_falling_en +What: /sys/.../deviceX:eventY/inZ_thresh_rising_en +What: /sys/.../deviceX:eventY/inZ_thresh_falling_en +What: /sys/.../deviceX:eventY/temp_thresh_rising_en +What: /sys/.../deviceX:eventY/temp_thresh_falling_en KernelVersion: 2.6.37 Contact: linux-iio@vger.kernel.org Description: - Event generated when accel_x0 passes a threshold in the specfied + Event generated when channel passes a threshold in the specified (_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. + [Z][_name]__thresh_value) or + [Z][_name]__thresh_rising_value and + [Z][_name]__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 @@ -205,186 +282,338 @@ Description: 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 +What: /sys/.../deviceX:eventY/accel_x_roc_rising_en +What: /sys/.../deviceX:eventY/accel_x_roc_falling_en +What: /sys/.../deviceX:eventY/accel_y_roc_rising_en +What: /sys/.../deviceX:eventY/accel_y_roc_falling_en +What: /sys/.../deviceX:eventY/accel_z_roc_rising_en +What: /sys/.../deviceX:eventY/accel_z_roc_falling_en +What: /sys/.../deviceX:eventY/gyro_x_roc_rising_en +What: /sys/.../deviceX:eventY/gyro_x_roc_falling_en +What: /sys/.../deviceX:eventY/gyro_y_roc_rising_en +What: /sys/.../deviceX:eventY/gyro_y_roc_falling_en +What: /sys/.../deviceX:eventY/gyro_z_roc_rising_en +What: /sys/.../deviceX:eventY/gyro_z_roc_falling_en +What: /sys/.../deviceX:eventY/magn_x_roc_rising_en +What: /sys/.../deviceX:eventY/magn_x_roc_falling_en +What: /sys/.../deviceX:eventY/magn_y_roc_rising_en +What: /sys/.../deviceX:eventY/magn_y_roc_falling_en +What: /sys/.../deviceX:eventY/magn_z_roc_rising_en +What: /sys/.../deviceX:eventY/magn_z_roc_falling_en +What: /sys/.../deviceX:eventY/inZ_supply_roc_rising_en +What: /sys/.../deviceX:eventY/inZ_supply_roc_falling_en +What: /sys/.../deviceX:eventY/inZ_roc_rising_en +What: /sys/.../deviceX:eventY/inZ_roc_falling_en +What: /sys/.../deviceX:eventY/temp_roc_rising_en +What: /sys/.../deviceX:eventY/temp_roc_falling_en +KernelVersion: 2.6.37 +Contact: linux-iio@vger.kernel.org +Description: + Event generated when channel passes a threshold on the rate of + change (1st differential) in the specified (_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. + [Z][_name]__roc_value) or + [Z][_name]__roc_rising_value and + [Z][_name]__roc_falling_value may take + different values, but the device can only enable both rate of + change 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/.../deviceX:eventY/accel_x_raw_thresh_rising_value +What: /sys/.../deviceX:eventY/accel_x_raw_thresh_falling_value +What: /sys/.../deviceX:eventY/accel_y_raw_thresh_rising_value +What: /sys/.../deviceX:eventY/accel_y_raw_thresh_falling_value +What: /sys/.../deviceX:eventY/accel_z_raw_thresh_rising_value +What: /sys/.../deviceX:eventY/accel_z_raw_thresh_falling_value +What: /sys/.../deviceX:eventY/gyro_x_raw_thresh_rising_value +What: /sys/.../deviceX:eventY/gyro_x_raw_thresh_falling_value +What: /sys/.../deviceX:eventY/gyro_y_raw_thresh_rising_value +What: /sys/.../deviceX:eventY/gyro_y_raw_thresh_falling_value +What: /sys/.../deviceX:eventY/gyro_z_raw_thresh_rising_value +What: /sys/.../deviceX:eventY/gyro_z_raw_thresh_falling_value +What: /sys/.../deviceX:eventY/magn_x_raw_thresh_rising_value +What: /sys/.../deviceX:eventY/magn_x_raw_thresh_falling_value +What: /sys/.../deviceX:eventY/magn_y_raw_thresh_rising_value +What: /sys/.../deviceX:eventY/magn_y_raw_thresh_falling_value +What: /sys/.../deviceX:eventY/magn_z_raw_thresh_rising_value +What: /sys/.../deviceX:eventY/magn_z_raw_thresh_falling_value +What: /sys/.../deviceX:eventY/inZ_supply_raw_thresh_rising_value +What: /sys/.../deviceX:eventY/inZ_supply_raw_thresh_falling_value +What: /sys/.../deviceX:eventY/inZ_raw_thresh_falling_value +What: /sys/.../deviceX:eventY/inZ_raw_thresh_falling_value +What: /sys/.../deviceX:eventY/temp_raw_thresh_falling_value +What: /sys/.../deviceX:eventY/temp_raw_thresh_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. + Z[_name]_thresh[_rising|falling]_en. + If separate attributes 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 +What: /sys/.../deviceX:eventY/accel_x_raw_roc_rising_value +What: /sys/.../deviceX:eventY/accel_x_raw_roc_falling_value +What: /sys/.../deviceX:eventY/accel_y_raw_roc_rising_value +What: /sys/.../deviceX:eventY/accel_y_raw_roc_falling_value +What: /sys/.../deviceX:eventY/accel_z_raw_roc_rising_value +What: /sys/.../deviceX:eventY/accel_z_raw_roc_falling_value +What: /sys/.../deviceX:eventY/gyro_x_raw_roc_rising_value +What: /sys/.../deviceX:eventY/gyro_x_raw_roc_falling_value +What: /sys/.../deviceX:eventY/gyro_y_raw_roc_rising_value +What: /sys/.../deviceX:eventY/gyro_y_raw_roc_falling_value +What: /sys/.../deviceX:eventY/gyro_z_raw_roc_rising_value +What: /sys/.../deviceX:eventY/gyro_z_raw_roc_falling_value +What: /sys/.../deviceX:eventY/magn_x_raw_roc_rising_value +What: /sys/.../deviceX:eventY/magn_x_raw_roc_falling_value +What: /sys/.../deviceX:eventY/magn_y_raw_roc_rising_value +What: /sys/.../deviceX:eventY/magn_y_raw_roc_falling_value +What: /sys/.../deviceX:eventY/magn_z_raw_roc_rising_value +What: /sys/.../deviceX:eventY/magn_z_raw_roc_falling_value +What: /sys/.../deviceX:eventY/inZ_supply_raw_roc_rising_value +What: /sys/.../deviceX:eventY/inZ_supply_raw_roc_falling_value +What: /sys/.../deviceX:eventY/inZ_raw_roc_falling_value +What: /sys/.../deviceX:eventY/inZ_raw_roc_falling_value +What: /sys/.../deviceX:eventY/temp_raw_roc_falling_value +What: /sys/.../deviceX:eventY/temp_raw_roc_falling_value 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. + Specifies the value of rate of change threshold that the + device is comparing against for the events enabled by + [Z][_name]_roc[_rising|falling]_en. + If separate attributes 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]_period +What: /sys/.../deviceX:eventY/accel_x_thresh_rising_period +What: /sys/.../deviceX:eventY/accel_x_thresh_falling_period +hat: /sys/.../deviceX:eventY/accel_x_roc_rising_period +What: /sys/.../deviceX:eventY/accel_x_roc_falling_period +What: /sys/.../deviceX:eventY/accel_y_thresh_rising_period +What: /sys/.../deviceX:eventY/accel_y_thresh_falling_period +What: /sys/.../deviceX:eventY/accel_y_roc_rising_period +What: /sys/.../deviceX:eventY/accel_y_roc_falling_period +What: /sys/.../deviceX:eventY/accel_z_thresh_rising_period +What: /sys/.../deviceX:eventY/accel_z_thresh_falling_period +What: /sys/.../deviceX:eventY/accel_z_roc_rising_period +What: /sys/.../deviceX:eventY/accel_z_roc_falling_period +What: /sys/.../deviceX:eventY/gyro_x_thresh_rising_period +What: /sys/.../deviceX:eventY/gyro_x_thresh_falling_period +What: /sys/.../deviceX:eventY/gyro_x_roc_rising_period +What: /sys/.../deviceX:eventY/gyro_x_roc_falling_period +What: /sys/.../deviceX:eventY/gyro_y_thresh_rising_period +What: /sys/.../deviceX:eventY/gyro_y_thresh_falling_period +What: /sys/.../deviceX:eventY/gyro_y_roc_rising_period +What: /sys/.../deviceX:eventY/gyro_y_roc_falling_period +What: /sys/.../deviceX:eventY/gyro_z_thresh_rising_period +What: /sys/.../deviceX:eventY/gyro_z_thresh_falling_period +What: /sys/.../deviceX:eventY/gyro_z_roc_rising_period +What: /sys/.../deviceX:eventY/gyro_z_roc_falling_period +What: /sys/.../deviceX:eventY/magn_x_thresh_rising_period +What: /sys/.../deviceX:eventY/magn_x_thresh_falling_period +What: /sys/.../deviceX:eventY/magn_x_roc_rising_period +What: /sys/.../deviceX:eventY/magn_x_roc_falling_period +What: /sys/.../deviceX:eventY/magn_y_thresh_rising_period +What: /sys/.../deviceX:eventY/magn_y_thresh_falling_period +What: /sys/.../deviceX:eventY/magn_y_roc_rising_period +What: /sys/.../deviceX:eventY/magn_y_roc_falling_period +What: /sys/.../deviceX:eventY/magn_z_thresh_rising_period +What: /sys/.../deviceX:eventY/magn_z_thresh_falling_period +What: /sys/.../deviceX:eventY/magn_z_roc_rising_period +What: /sys/.../deviceX:eventY/magn_z_roc_falling_period +What: /sys/.../deviceX:eventY/inZ_supply_thresh_rising_period +What: /sys/.../deviceX:eventY/inZ_supply_thresh_falling_period +What: /sys/.../deviceX:eventY/inz_supply_roc_rising_period +What: /sys/.../deviceX:eventY/inZ_supply_roc_falling_period +What: /sys/.../deviceX:eventY/inZ_thresh_rising_period +What: /sys/.../deviceX:eventY/inZ_thresh_falling_period +What: /sys/.../deviceX:eventY/inZ_roc_rising_period +What: /sys/.../deviceX:eventY/inZ_roc_falling_period +What: /sys/.../deviceX:eventY/temp_thresh_rising_period +What: /sys/.../deviceX:eventY/temp_thresh_falling_period +What: /sys/.../deviceX:eventY/temp_roc_rising_period +What: /sys/.../deviceX:eventY/temp_roc_falling_period +What: /sys/.../deviceX:eventY/accel_x&y&z_mag_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 + Period of time (in seconds) for which the condition must be + met 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 +What: /sys/.../deviceX:eventY/accel_mag_en +What: /sys/.../deviceX:eventY/accel_mag_rising_en +What: /sys/.../deviceX:eventY/accel_mag_falling_en +What: /sys/.../deviceX:eventY/accel_x_mag_en +What: /sys/.../deviceX:eventY/accel_x_mag_rising_en +What: /sys/.../deviceX:eventY/accel_x_mag_falling_en +What: /sys/.../deviceX:eventY/accel_y_mag_en +What: /sys/.../deviceX:eventY/accel_y_mag_rising_en +What: /sys/.../deviceX:eventY/accel_y_mag_falling_en +What: /sys/.../deviceX:eventY/accel_z_mag_en +What: /sys/.../deviceX:eventY/accel_z_mag_rising_en +What: /sys/.../deviceX:eventY/accel_z_mag_falling_en +What: /sys/.../deviceX:eventY/accel_x&y&z_mag_rising_en +What: /sys/.../deviceX:eventY/accel_x&y&z_mag_falling_en KernelVersion: 2.6.37 Contact: linux-iio@vger.kernel.org Description: - Similar to accel_x0_thresh[_rising|_falling]_en, but here the + Similar to accel_x_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 +What: /sys/.../accel_raw_mag_value +What: /sys/.../accel_x_raw_mag_rising_value +What: /sys/.../accel_y_raw_mag_rising_value +What: /sys/.../accel_z_raw_mag_rising_value 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. + The value to which the magnitude of the channel is compared. If + number or direction is not specified, applies to all channels of + this type. -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 +What: /sys/bus/iio/devices/deviceX:buffer:event/dev KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: - Buffer for device n event character device major:minor numbers. + Buffer for device X event character device major:minor numbers. -What: /sys/.../device[n]/device[n]:buffer:access/dev +What: /sys/bus/iio/devices/deviceX: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. + Buffer for device X access character device major:minor numbers. -What: /sys/.../device[n]:buffer/trigger +What: /sys/bus/iio/devices/deviceX: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. + in /sys/class/iio/triggerY/name. -What: /sys/.../device[n]:buffer/length +What: /sys/bus/iio/devices/deviceX: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 +What: /sys/bus/iio/devices/deviceX: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 +What: /sys/bus/iio/devices/deviceX: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 +What: /sys/bus/iio/devices/deviceX: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 +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/accel_x_en +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/accel_y_en +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/accel_z_en +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/gyro_x_en +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/gyro_y_en +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/gyro_z_en +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/magn_x_en +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/magn_y_en +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/magn_z_en +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/timestamp_en +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/inY_supply_en +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/inY_en +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/inY-inZ_en +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/incli_x_en +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/incli_y_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 +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/accel_type +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/gyro_type +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/magn_type +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/incli_type +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/inY_type +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/in-in_type +What: /sys/.../deviceX:buffer/scan_elements/inY_supply_type +What: /sys/.../deviceX:buffer/scan_elements/timestamp_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. + and hence the form in which it is read from user-space. + Form is [s|u]bits/storagebits[>>shift]. 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. shift if specified, is the shift that + needs to be applied prior to masking out unused bits. Some + devices put their data in the middle of the transferred elements + with additional information on both sides. 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>>2 will be a + signed 48 bit integer stored in a 64 bit location aligned to + a a64 bit boundary. To obtain the clean value, shift right 2 + and apply a mask to zero the top 16 bits of the result. For other storage combinations this attribute will be extended appropriately. -What: /sys/.../device[n]/buffer/scan_elements/accel[_x0]_index +What: /sys/.../deviceX:buffer/scan_elements/accel_type_available +KernelVersion: 2.6.37 +Contact: linux-iio@vger.kernel.org +Description: + If the type parameter can take one of a small set of values, + this attribute lists them. + +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/inY_index +What: /sys/.../deviceX:buffer/scan_elements/inY_supply_index +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/accel_x_index +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/accel_y_index +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/accel_z_index +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/gyro_x_index +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/gyro_y_index +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/gyro_z_index +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/magn_x_index +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/magn_y_index +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/magn_z_index +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/incli_x_index +What: /sys/bus/iio/devices/deviceX:buffer/scan_elements/incli_y_index +What: /sys/.../deviceX:buffer/scan_elements/timestamp_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 + scan element in the buffer. Note these are not dependent on + what is enabled and may not be contiguous. Thus for user-space 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.