code:
What:		/sys/bus/iio/devices/iio:deviceX/in_voltage-voltage_filter_mode_available
KernelVersion:  6.2
Contact:	linux-iio@vger.kernel.org
Description:
		Reading returns a list with the possible filter modes.

		  * "sinc4"       - Sinc 4. Excellent noise performance. Long
                    1st conversion time. No natural 50/60Hz rejection.

		  * "sinc4+sinc1" - Sinc4 + averaging by 8. Low 1st conversion
		    time.

		  * "sinc3"	      - Sinc3. Moderate 1st conversion time.
		    Good noise performance.

		  * "sinc3+rej60" - Sinc3 + 60Hz rejection. At a sampling
		    frequency of 50Hz, achieves simultaneous 50Hz and 60Hz
		    rejection.

		  * "sinc3+sinc1" - Sinc3 + averaging by 8. Low 1st conversion
		    time. Best used with a sampling frequency of at least
		    216.19Hz.

		  * "sinc3+pf1"   - Sinc3 + Post Filter 1. 53dB rejection @
		    50Hz, 58dB rejection @ 60Hz.

		  * "sinc3+pf2"   - Sinc3 + Post Filter 2. 70dB rejection @
		    50Hz, 70dB rejection @ 60Hz.

		  * "sinc3+pf3"   - Sinc3 + Post Filter 3. 99dB rejection @
		    50Hz, 103dB rejection @ 60Hz.

		  * "sinc3+pf4"   - Sinc3 + Post Filter 4. 103dB rejection @
		    50Hz, 109dB rejection @ 60Hz.

What:		/sys/bus/iio/devices/iio:deviceX/in_voltageY-voltageZ_filter_mode
KernelVersion:  6.2
Contact:	linux-iio@vger.kernel.org
Description:
		Set the filter mode of the differential channel. When the filter
		mode changes, the in_voltageY-voltageZ_sampling_frequency and
		in_voltageY-voltageZ_sampling_frequency_available attributes
		might also change to accommodate the new filter mode.
		If the current sampling frequency is out of range for the new
		filter mode, the sampling frequency will be changed to the
		closest valid one.


code:
What:		/sys/bus/iio/devices/iio:deviceX/ac_excitation_en
KernelVersion:
Contact:	linux-iio@vger.kernel.org
Description:
		This attribute, if available, is used to enable the AC
		excitation mode found on some converters. In ac excitation mode,
		the polarity of the excitation voltage is reversed on
		alternate cycles, to eliminate DC errors.

What:		/sys/bus/iio/devices/iio:deviceX/bridge_switch_en
KernelVersion:
Contact:	linux-iio@vger.kernel.org
Description:
		This attribute, if available, is used to close or open the
		bridge power down switch found on some converters.
		In bridge applications, such as strain gauges and load cells,
		the bridge itself consumes the majority of the current in the
		system. To minimize the current consumption of the system,
		the bridge can be disconnected (when it is not being used
		using the bridge_switch_en attribute.

What:		/sys/bus/iio/devices/iio:deviceX/in_voltagex_sys_calibration
KernelVersion:
Contact:	linux-iio@vger.kernel.org
Description:
		Initiates the system calibration procedure. This is done on a
		single channel at a time. Write '1' to start the calibration.

What:		/sys/bus/iio/devices/iio:deviceX/in_voltage2-voltage2_shorted_raw
KernelVersion:
Contact:	linux-iio@vger.kernel.org
Description:
		Measure voltage from AIN2 pin connected to AIN(+)
		and AIN(-) shorted.

What:		/sys/bus/iio/devices/iio:deviceX/in_voltagex_sys_calibration_mode_available
KernelVersion:
Contact:	linux-iio@vger.kernel.org
Description:
		Reading returns a list with the possible calibration modes.
		There are two available options:
		"zero_scale" - calibrate to zero scale
		"full_scale" - calibrate to full scale

What:		/sys/bus/iio/devices/iio:deviceX/in_voltagex_sys_calibration_mode
KernelVersion:
Contact:	linux-iio@vger.kernel.org
Description:
		Sets up the calibration mode used in the system calibration
		procedure. Reading returns the current calibration mode.
		Writing sets the system calibration mode.

repo_name: angery/linux


code:
What:		/sys/bus/iio/devices/iio:deviceX/in_voltageY-voltageZ_balance_switch_en
KernelVersion:	5.14
Contact:	linux-iio@vger.kernel.org
Description:
		Used to enable an output for balancing cells for time
		controlled via in_voltage_Y-voltageZ_balance_switch_timer.

What:		/sys/bus/iio/devices/iio:deviceX/in_voltageY-voltageZ_balance_switch_timer
KernelVersion:	5.14
Contact:	linux-iio@vger.kernel.org
Description:
		Time in seconds for which balance switch will be turned on.
		Multiple of 71.5 seconds.


code:
What:		/sys/bus/iio/devices/iio:deviceX/in_altvoltageY_invert
Date:		October 2016
KernelVersion:	4.9
Contact:	Peter Rosin <peda@axentia.se>
Description:
		The DAC is used to find the peak level of an alternating
		voltage input signal by a binary search using the output
		of a comparator wired to an interrupt pin. Like so::

		                           _
		                          | \
		     input +------>-------|+ \
		                          |   \
		            .-------.     |    }---.
		            |       |     |   /    |
		            |    dac|-->--|- /     |
		            |       |     |_/      |
		            |       |              |
		            |       |              |
		            |    irq|------<-------'
		            |       |
		            '-------'

		The boolean invert attribute (0/1) should be set when the
		input signal is centered around the maximum value of the
		dac instead of zero. The envelope detector will search
		from below in this case and will also invert the result.

		The edge/level of the interrupt is also switched to its
		opposite value.

What:		/sys/bus/iio/devices/iio:deviceX/in_altvoltageY_compare_interval
Date:		October 2016
KernelVersion:	4.9
Contact:	Peter Rosin <peda@axentia.se>
Description:
		Number of milliseconds to wait for the comparator in each
		step of the binary search for the input peak level. Needs
		to relate to the frequency of the input signal.


code:
What:		/sys/bus/iio/devices/iio:deviceX/in_voltageY_sensing_mode
Date:		August 2015
KernelVersion:	4.2.0
Contact:	source@cogentembedded.com
Description:
		Program sensor type for threshold detector inputs.
		Could be either "GND-Open" or "Supply-Open" mode. Y is a
		threshold detector input channel. Channels 0..7, 8..15, 16..23
		and 24..31 has common sensor types.

What:		/sys/bus/iio/devices/iio:deviceX/events/in_voltageY_thresh_falling_value
Date:		August 2015
KernelVersion:	4.2.0
Contact:	source@cogentembedded.com
Description:
		Channel Y low voltage threshold. If sensor input voltage goes lower then
		this value then the threshold falling event is pushed.
		Depending on in_voltageY_sensing_mode the low voltage threshold
		is separately set for "GND-Open" and "Supply-Open" modes.
		Channels 0..31 have common low threshold values, but could have different
		sensing_modes.

		The low voltage threshold range is between 2..21V.
		Hysteresis between low and high thresholds can not be lower then 2 and
		can not be odd.

		If falling threshold results hysteresis to odd value then rising
		threshold is automatically subtracted by one.

What:		/sys/bus/iio/devices/iio:deviceX/events/in_voltageY_thresh_rising_value
Date:		August 2015
KernelVersion:	4.2.0
Contact:	source@cogentembedded.com
Description:
		Channel Y high voltage threshold. If sensor input voltage goes higher then
		this value then the threshold rising event is pushed.
		Depending on in_voltageY_sensing_mode the high voltage threshold
		is separately set for "GND-Open" and "Supply-Open" modes.

		Channels 0..31 have common high threshold values, but could have different
		sensing_modes.

		The high voltage threshold range is between 3..22V.
		Hysteresis between low and high thresholds can not be lower then 2 and
		can not be odd.

		If rising threshold results hysteresis to odd value then falling
		threshold is automatically appended by one.


code:
What:		/sys/bus/iio/devices/iio:deviceX/in_voltage_filterY_notch_en
Date:		September 2022
KernelVersion:  6.0
Contact:	linux-iio@vger.kernel.org
Description:
		Enable or disable a notch filter.

What:		/sys/bus/iio/devices/iio:deviceX/in_voltage_filterY_notch_center
Date:		September 2022
KernelVersion:  6.0
Contact:	linux-iio@vger.kernel.org
Description:
		Center frequency of the notch filter in Hz.


code:
What:		/sys/bus/iio/devices/iio:deviceX/in_power_shunt_resistor
Date:		March 2017
KernelVersion:	4.12
Contact:	linux-iio@vger.kernel.org
Description: 	The value of the shunt resistor used to compute power drain on
                common input voltage pin (RS+). In Ohms.

What:		/sys/bus/iio/devices/iio:deviceX/in_current_shunt_resistor
Date:		March 2017
KernelVersion:	4.12
Contact:	linux-iio@vger.kernel.org
Description: 	The value of the shunt resistor used to compute current flowing
                between RS+ and RS- voltage sense inputs. In Ohms.

These attributes describe a single physical component, exposed as two distinct
attributes as it is used to calculate two different values: power load and
current flowing between RS+ and RS- inputs.


code:
What:		/sys/bus/iio/devices/iio:deviceX/in_voltage0_raw
KernelVersion:	5.8.0
Contact:	gene_chen@richtek.com
Description:
		Indicated MT6360 USBID ADC which connected to connector ID pin.
		Calculating with scale and offset returns voltage in uV

What:		/sys/bus/iio/devices/iio:deviceX/in_voltage1_raw
KernelVersion:	5.8.0
Contact:	gene_chen@richtek.com
Description:
		Indicated MT6360 VBUS ADC with lower accuracy(+-75mA)
		higher measure range(1~22mV)
		Calculating with scale and offset returns voltage in uV

What:		/sys/bus/iio/devices/iio:deviceX/in_voltage2_raw
KernelVersion:	5.8.0
Contact:	gene_chen@richtek.com
Description:
		Indicated MT6360 VBUS ADC with higher accuracy(+-30mA)
		lower measure range(1~9.76V)
		Calculating with scale and offset returns voltage in uV

What:		/sys/bus/iio/devices/iio:deviceX/in_voltage3_raw
KernelVersion:	5.8.0
Contact:	gene_chen@richtek.com
Description:
		Indicated MT6360 VSYS ADC
		Calculating with scale and offset returns voltage in uV

What:		/sys/bus/iio/devices/iio:deviceX/in_voltage4_raw
KernelVersion:	5.8.0
Contact:	gene_chen@richtek.com
Description:
		Indicated MT6360 VBAT ADC
		Calculating with scale and offset returns voltage in uV

What:		/sys/bus/iio/devices/iio:deviceX/in_current5_raw
KernelVersion:	5.8.0
Contact:	gene_chen@richtek.com
Description:
		Indicated MT6360 IBUS ADC
		Calculating with scale and offset returns voltage in uA

What:		/sys/bus/iio/devices/iio:deviceX/in_current6_raw
KernelVersion:	5.8.0
Contact:	gene_chen@richtek.com
Description:
		Indicated MT6360 IBAT ADC
		Calculating with scale and offset returns voltage in uA

What:		/sys/bus/iio/devices/iio:deviceX/in_current7_raw
KernelVersion:	5.8.0
Contact:	gene_chen@richtek.com
Description:
		Indicated MT6360 CHG_VDDP ADC
		Calculating with scale and offset returns voltage in uV

What:		/sys/bus/iio/devices/iio:deviceX/in_temp8_raw
KernelVersion:	5.8.0
Contact:	gene_chen@richtek.com
Description:
		Indicated MT6360 IC junction temperature
		Calculating with scale and offset returns temperature in degree

What:		/sys/bus/iio/devices/iio:deviceX/in_voltage9_raw
KernelVersion:	5.8.0
Contact:	gene_chen@richtek.com
Description:
		Indicated MT6360 VREF_TS ADC
		Calculating with scale and offset returns voltage in uV

What:		/sys/bus/iio/devices/iio:deviceX/in_voltage10_raw
KernelVersion:	5.8.0
Contact:	gene_chen@richtek.com
Description:
		Indicated MT6360 TS ADC
		Calculating with scale and offset returns voltage in uV


code:
What:		/sys/bus/iio/devices/triggerX/trigger_polarity
KernelVersion:	4.11
Contact:	fabrice.gasnier@st.com
Description:
		The STM32 ADC can be configured to use external trigger sources
		(e.g. timers, pwm or exti gpio). Then, it can be tuned to start
		conversions on external trigger by either:

		- "rising-edge"
		- "falling-edge"
		- "both-edges".

		Reading returns current trigger polarity.

		Writing value before enabling conversions sets trigger polarity.

What:		/sys/bus/iio/devices/triggerX/trigger_polarity_available
KernelVersion:	4.11
Contact:	fabrice.gasnier@st.com
Description:
		List all available trigger_polarity settings.


code:
What:		/sys/bus/iio/devices/iio:deviceX/in_accel_raw_range
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		Raw (unscaled) range for acceleration readings. Unit after
		application of scale is m/s^2. Note that this doesn't affects
		the scale (which should be used when changing the maximum and
		minimum readable value affects also the reading scaling factor).

What:		/sys/bus/iio/devices/iio:deviceX/in_anglvel_raw_range
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		Range for angular velocity readings in radians per second. Note
		that this does not affects the scale (which should be used when
		changing the maximum and minimum readable value affects also the
		reading scaling factor).

What:		/sys/bus/iio/devices/iio:deviceX/in_accel_raw_range_available
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		List of allowed values for in_accel_raw_range attribute

What:		/sys/bus/iio/devices/iio:deviceX/in_anglvel_raw_range_available
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		List of allowed values for in_anglvel_raw_range attribute

What:		/sys/bus/iio/devices/iio:deviceX/in_magn_calibration_fast_enable
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		Can be 1 or 0. Enables/disables the "Fast Magnetometer
		Calibration" HW function.

What:		/sys/bus/iio/devices/iio:deviceX/fusion_enable
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		Can be 1 or 0. Enables/disables the "sensor fusion" (a.k.a.
		NDOF) HW function.

What:		/sys/bus/iio/devices/iio:deviceX/calibration_data
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		Reports the binary calibration data blob for the IMU sensors.

What:		/sys/bus/iio/devices/iio:deviceX/in_accel_calibration_auto_status
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		Reports the autocalibration status for the accelerometer sensor.
		Can be 0 (calibration non even enabled) or 1 to 5 where the greater
		the number, the better the calibration status.

What:		/sys/bus/iio/devices/iio:deviceX/in_gyro_calibration_auto_status
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		Reports the autocalibration status for the gyroscope sensor.
		Can be 0 (calibration non even enabled) or 1 to 5 where the greater
		the number, the better the calibration status.

What:		/sys/bus/iio/devices/iio:deviceX/in_magn_calibration_auto_status
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		Reports the autocalibration status for the magnetometer sensor.
		Can be 0 (calibration non even enabled) or 1 to 5 where the greater
		the number, the better the calibration status.

What:		/sys/bus/iio/devices/iio:deviceX/sys_calibration_auto_status
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		Reports the status for the IMU overall autocalibration.
		Can be 0 (calibration non even enabled) or 1 to 5 where the greater
		the number, the better the calibration status.


code:
What:		/sys/.../iio:deviceX/in_capacitableY_calibbias_calibration
What:		/sys/.../iio:deviceX/in_capacitableY_calibscale_calibration
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		Write 1 to trigger a calibration of the calibbias or
		calibscale. For calibscale, a full scale capacitance should
		be connected to the capacitance input and a
		calibscale_calibration then started.  For calibbias see
		the device datasheet section on "capacitive system offset
		calibration".


code:
What:		/sys/bus/iio/devices/iio:deviceX/out_temp_raw
Date:		August 2021
KernelVersion:	5.15
Contact:	Andreas Klinger <ak@it-klinger.de>
Description:
		Set the temperature. This value is sent to the sensor for
		temperature compensation.
		Default value: 25000 (25 °C)

What:		/sys/bus/iio/devices/iio:deviceX/out_humidityrelative_raw
Date:		August 2021
KernelVersion:	5.15
Contact:	Andreas Klinger <ak@it-klinger.de>
Description:
		Set the relative humidity. This value is sent to the sensor for
		humidity compensation.
		Default value: 50000 (50 % relative humidity)

What:		/sys/bus/iio/devices/iio:deviceX/in_resistance_calibbias
Date:		August 2021
KernelVersion:	5.15
Contact:	Andreas Klinger <ak@it-klinger.de>
Description:
		Set the bias value for the resistance which is used for
		calculation of in_concentration_input as follows:

		x = (in_resistance_raw - in_resistance_calibbias) * 0.65

		in_concentration_input = 500 / (1 + e^x)

		Default value: 30000


code:
What:		/sys/bus/iio/devices/iio:deviceX/in_concentration_co2_calibration_factory
Date:		August 2021
KernelVersion:	5.16
Contact:	Jacopo Mondi <jacopo@jmondi.org>
Description:
		Writing '1' triggers a 'Factory' calibration cycle.

What:		/sys/bus/iio/devices/iio:deviceX/in_concentration_co2_calibration_background
Date:		August 2021
KernelVersion:	5.16
Contact:	Jacopo Mondi <jacopo@jmondi.org>
Description:
		Writing '1' triggers a 'Background' calibration cycle.

What:		/sys/bus/iio/devices/iio:deviceX/error_status_available
Date:		August 2021
KernelVersion:	5.16
Contact:	Jacopo Mondi <jacopo@jmondi.org>
Description:
		Reading returns the list of possible chip error status.
		Available options are:
		- 'error_fatal': Analog front-end initialization error
		- 'error_i2c': Read/write to non-existing register
		- 'error_algorithm': Corrupted parameters
		- 'error_calibration': Calibration has failed
		- 'error_self_diagnostic': Internal interface failure
		- 'error_out_of_range': Measured concentration out of scale
		- 'error_memory': Error during memory operations
		- 'error_no_measurement': Cleared at first measurement
		- 'error_low_voltage': Sensor regulated voltage too low
		- 'error_measurement_timeout': Unable to complete measurement

What:		/sys/bus/iio/devices/iio:deviceX/error_status
Date:		August 2021
KernelVersion:	5.16
Contact:	Jacopo Mondi <jacopo@jmondi.org>
Description:
		Reading returns the current chip error status.


code:
What:		/sys/bus/iio/devices/iio:deviceX/in_concentration_VOC_short_raw
Date:		September 2015
KernelVersion:	4.3
Contact:	Matt Ranostay <matt.ranostay@konsulko.com>
Description:
		Get the raw calibration VOC value from the sensor.
		This value has little application outside of calibration.


code:
What:		/sys/bus/iio/devices/iio:deviceX/calibrate
Date:		July 2015
KernelVersion:	4.7
Contact:	linux-iio@vger.kernel.org
Description:
		Writing '1' will perform a FOC (Fast Online Calibration). The
                corresponding calibration offsets can be read from `*_calibbias`
                entries.

What:		/sys/bus/iio/devices/iio:deviceX/location
Date:		July 2015
KernelVersion:	4.7
Contact:	linux-iio@vger.kernel.org
Description:
		This attribute returns a string with the physical location where
                the motion sensor is placed. For example, in a laptop a motion
                sensor can be located on the base or on the lid. Current valid
		values are 'base' and 'lid'.

What:		/sys/bus/iio/devices/iio:deviceX/id
Date:		September 2017
KernelVersion:	4.14
Contact:	linux-iio@vger.kernel.org
Description:
		This attribute is exposed by the CrOS EC sensors driver and
		represents the sensor ID as exposed by the EC. This ID is used
		by the Android sensor service hardware abstraction layer (sensor
		HAL) through the Android container on ChromeOS.


code:
What:		/sys/bus/iio/devices/iio:deviceX/in_voltageY_dither_enable
KernelVersion:	5.12
Contact:	linux-iio@vger.kernel.org
Description:
		Dither enable. Write 1 to enable dither or 0 to disable it.

What:		/sys/bus/iio/devices/iio:deviceX/in_voltageY_dither_invert
KernelVersion:	5.12
Contact:	linux-iio@vger.kernel.org
Description:
		Inverts the dither applied to the selected DAC channel. Dither is not
		inverted by default. Write "1" to invert dither.

What:		/sys/bus/iio/devices/iio:deviceX/in_voltageY_dither_scale_available
KernelVersion:	5.12
Contact:	linux-iio@vger.kernel.org
Description:
		Returns possible scalings available for the current channel.

What:		/sys/bus/iio/devices/iio:deviceX/in_voltageY_dither_scale
KernelVersion:	5.12
Contact:	linux-iio@vger.kernel.org
Description:
		Scales the dither before it is applied to the selected channel.

What:		/sys/bus/iio/devices/iio:deviceX/in_voltageY_dither_source
KernelVersion:	5.12
Contact:	linux-iio@vger.kernel.org
Description:
		Selects dither source applied to the selected channel. Write "0" to
		select N0 source, write "1" to select N1 source.


code:
What:		/sys/bus/iio/devices/iio:deviceX/out_voltageY_raw_available
Date:		October 2016
KernelVersion:	4.9
Contact:	Peter Rosin <peda@axentia.se>
Description:
		The range of available values represented as the minimum value,
		the step and the maximum value, all enclosed in square brackets.
		Example: [0 1 256]


code:
What:		/sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_en
KernelVersion:	5.18
Contact:	linux-iio@vger.kernel.org
Description:
		Dither enable. Write 1 to enable dither or 0 to disable it. This is useful
		for changing the dither parameters. They way it should be done is:

		- disable dither operation;
		- change dither parameters (eg: frequency, phase...);
		- enabled dither operation

What:		/sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_raw
KernelVersion:	5.18
Contact:	linux-iio@vger.kernel.org
Description:
		This raw, unscaled value refers to the dither signal amplitude.
		The same scale as in out_voltageY_raw applies. However, the
		offset might be different as it's always 0 for this attribute.

What:		/sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_raw_available
KernelVersion:	5.18
Contact:	linux-iio@vger.kernel.org
Description:
		Available range for dither raw amplitude values.

What:		/sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_offset
KernelVersion:	5.18
Contact:	linux-iio@vger.kernel.org
Description:
		Offset applied to out_voltageY_dither_raw. Read only attribute
		always set to 0.

What:		/sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_frequency
KernelVersion:	5.18
Contact:	linux-iio@vger.kernel.org
Description:
		Sets the dither signal frequency. Units are in Hz.

What:		/sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_frequency_available
KernelVersion:	5.18
Contact:	linux-iio@vger.kernel.org
Description:
		Returns the available values for the dither frequency.

What:		/sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_phase
KernelVersion:	5.18
Contact:	linux-iio@vger.kernel.org
Description:
		Sets the dither signal phase. Units are in Radians.

What:		/sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_phase_available
KernelVersion:	5.18
Contact:	linux-iio@vger.kernel.org
Description:
		Returns the available values for the dither phase.

What:		/sys/bus/iio/devices/iio:deviceX/out_voltageY_toggle_en
KernelVersion:	5.18
Contact:	linux-iio@vger.kernel.org
Description:
		Toggle enable. Write 1 to enable toggle or 0 to disable it. This is
		useful when one wants to change the DAC output codes. The way it should
		be done is:

		- disable toggle operation;
		- change out_voltageY_raw0 and out_voltageY_raw1;
		- enable toggle operation.

What:		/sys/bus/iio/devices/iio:deviceX/out_voltageY_raw0
What:		/sys/bus/iio/devices/iio:deviceX/out_voltageY_raw1
KernelVersion:	5.18
Contact:	linux-iio@vger.kernel.org
Description:
		It has the same meaning as out_voltageY_raw. This attribute is
		specific to toggle enabled channels and refers to the DAC output
		code in INPUT_A (_raw0) and INPUT_B (_raw1). The same scale and offset
		as in out_voltageY_raw applies.

What:		/sys/bus/iio/devices/iio:deviceX/out_voltageY_symbol
KernelVersion:	5.18
Contact:	linux-iio@vger.kernel.org
Description:
		Performs a SW toggle. This attribute is specific to toggle
		enabled channels and allows to toggle between out_voltageY_raw0
		and out_voltageY_raw1 through software. Writing 0 will select
		out_voltageY_raw0 while 1 selects out_voltageY_raw1.


code:
What:		/sys/bus/iio/devices/iio:deviceX/in_voltage_spi_clk_freq
KernelVersion:	4.14
Contact:	arnaud.pouliquen@st.com
Description:
		For audio purpose only.

		Used by audio driver to set/get the spi input frequency.

		This is mandatory if DFSDM is slave on SPI bus, to
		provide information on the SPI clock frequency during runtime
		Notice that the SPI frequency should be a multiple of sample
		frequency to ensure the precision.

		if DFSDM input is SPI master:

			Reading  SPI clkout frequency,
			error on writing

		If DFSDM input is SPI Slave:

			Reading returns value previously set.
			Writing value before starting conversions.


code:
What:		/sys/bus/iio/devices/iio:deviceX/sensor_max_range
Date:		January 2017
KernelVersion:	4.11
Contact:	linux-iio@vger.kernel.org
Description:
                Show or set the maximum range between the sensor and the
		first object echoed in meters. Default value is 6.020.
		This setting limits the time the driver is waiting for a
		echo.

		Showing the range of available values is represented as the
		minimum value, the step and the maximum value, all enclosed
		in square brackets.

		Example::

			[0.043 0.043 11.008]


code:
What:		/sys/bus/iio/devices/iio:deviceX/buffer/length_align_bytes
KernelVersion:	5.4
Contact:	linux-iio@vger.kernel.org
Description:
		DMA buffers tend to have a alignment requirement for the
		buffers. If this alignment requirement is not met samples might
		be dropped from the buffer.

		This property reports the alignment requirements in bytes.
		This means that the buffer size in bytes needs to be a integer
		multiple of the number reported by this file.

		The alignment requirements in number of sample sets will depend
		on the enabled channels and the bytes per channel. This means
		that the alignment requirement in samples sets might change
		depending on which and how many channels are enabled. Whereas
		the alignment requirement reported in bytes by this property
		will remain static and does not depend on which channels are
		enabled.


code:
What:		/sys/bus/iio/devices/iio:deviceX/filter_mode_available
KernelVersion:
Contact:	linux-iio@vger.kernel.org
Description:
		Reading this returns the valid values that can be written to the
		on_altvoltage0_mode attribute:

		- auto -> Adjust bandpass filter to track changes in input clock rate.
		- manual -> disable/unregister the clock rate notifier / input clock tracking.

What:		/sys/bus/iio/devices/iio:deviceX/filter_mode
KernelVersion:
Contact:	linux-iio@vger.kernel.org
Description:
		This attribute configures the filter mode.
		Reading returns the actual mode.


code:
What:		/sys/bus/iio/devices/iio:deviceX/pll2_feedback_clk_present
What:		/sys/bus/iio/devices/iio:deviceX/pll2_reference_clk_present
What:		/sys/bus/iio/devices/iio:deviceX/pll1_reference_clk_a_present
What:		/sys/bus/iio/devices/iio:deviceX/pll1_reference_clk_b_present
What:		/sys/bus/iio/devices/iio:deviceX/pll1_reference_clk_test_present
What:		/sys/bus/iio/devices/iio:deviceX/vcxo_clk_present
KernelVersion:	3.4.0
Contact:	linux-iio@vger.kernel.org
Description:
		Reading returns either '1' or '0'.

		'1' means that the clock in question is present.

		'0' means that the clock is missing.

What:		/sys/bus/iio/devices/iio:deviceX/pllY_locked
KernelVersion:	3.4.0
Contact:	linux-iio@vger.kernel.org
Description:
		Reading returns either '1' or '0'. '1' means that the
		pllY is locked.

What:		/sys/bus/iio/devices/iio:deviceX/sync_dividers
KernelVersion:	3.4.0
Contact:	linux-iio@vger.kernel.org
Description:
		Writing '1' triggers the clock distribution synchronization
		functionality. All dividers are reset and the channels start
		with their predefined phase offsets (out_altvoltageY_phase).
		Writing this file has the effect as driving the external
		/SYNC pin low.


code:
What:		/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_frequency_resolution
KernelVersion:	3.4.0
Contact:	linux-iio@vger.kernel.org
Description:
		Stores channel Y frequency resolution/channel spacing in Hz.
		The value given directly influences the MODULUS used by
		the fractional-N PLL. It is assumed that the algorithm
		that is used to compute the various dividers, is able to
		generate proper values for multiples of channel spacing.

What:		/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_refin_frequency
KernelVersion:	3.4.0
Contact:	linux-iio@vger.kernel.org
Description:
		Sets channel Y REFin frequency in Hz. In some clock chained
		applications, the reference frequency used by the PLL may
		change during runtime. This attribute allows the user to
		adjust the reference frequency accordingly.
		The value written has no effect until out_altvoltageY_frequency
		is updated. Consider to use out_altvoltageY_powerdown to power
		down the PLL and its RFOut buffers during REFin changes.


code:
What:		/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_name
KernelVersion:
Contact:	linux-iio@vger.kernel.org
Description:
		Reading returns the datasheet name for channel Y::

		  out_altvoltage0_name: RF8x
		  out_altvoltage1_name: RFAUX8x
		  out_altvoltage2_name: RF16x
		  out_altvoltage3_name: RF32x


code:
What:		/sys/bus/iio/devices/iio:deviceX/in_altvoltage0-1_i_calibphase
KernelVersion:
Contact:	linux-iio@vger.kernel.org
Description:
		Read/write unscaled value for the Local Oscillatior path quadrature I phase shift.

What:		/sys/bus/iio/devices/iio:deviceX/in_altvoltage0-1_q_calibphase
KernelVersion:
Contact:	linux-iio@vger.kernel.org
Description:
		Read/write unscaled value for the Local Oscillatior path quadrature Q phase shift.

What:		/sys/bus/iio/devices/iio:deviceX/in_altvoltage0_i_calibbias
KernelVersion:
Contact:	linux-iio@vger.kernel.org
Description:
		Read/write value for the Local Oscillatior Feedthrough Offset Calibration I Positive
		side.

What:		/sys/bus/iio/devices/iio:deviceX/in_altvoltage0_q_calibbias
KernelVersion:
Contact:	linux-iio@vger.kernel.org
Description:
		Read/write value for the Local Oscillatior Feedthrough Offset Calibration Q Positive side.

What:		/sys/bus/iio/devices/iio:deviceX/in_altvoltage1_i_calibbias
KernelVersion:
Contact:	linux-iio@vger.kernel.org
Description:
		Read/write raw value for the Local Oscillatior Feedthrough Offset Calibration I Negative
		side.

What:		/sys/bus/iio/devices/iio:deviceX/in_altvoltage1_q_calibbias
KernelVersion:
Contact:	linux-iio@vger.kernel.org
Description:
		Read/write raw value for the Local Oscillatior Feedthrough Offset Calibration Q Negative
		side.


code:
What:		/sys/bus/iio/devices/iio:deviceX/in_altvoltage0_i_calibscale_coarse
KernelVersion: 5.18
Contact:	linux-iio@vger.kernel.org
Description:
		Read/write value for the digital attenuator gain (IF_I) with coarse steps.

What:		/sys/bus/iio/devices/iio:deviceX/in_altvoltage0_q_calibscale_coarse
KernelVersion: 5.18
Contact:	linux-iio@vger.kernel.org
Description:
		Read/write value for the digital attenuator gain (IF_Q) with coarse steps.

What:		/sys/bus/iio/devices/iio:deviceX/in_altvoltage0_i_calibscale_fine
KernelVersion: 5.18
Contact:	linux-iio@vger.kernel.org
Description:
		Read/write value for the digital attenuator gain (IF_I) with fine steps.

What:		/sys/bus/iio/devices/iio:deviceX/in_altvoltage0_q_calibscale_fine
KernelVersion: 5.18
Contact:	linux-iio@vger.kernel.org
Description:
		Read/write value for the digital attenuator gain (IF_Q) with fine steps.


code:
What:		/sys/bus/iio/devices/triggerX/name = "bmg160-any-motion-devX"
KernelVersion:	3.17
Contact:	linux-iio@vger.kernel.org
Description:
		The BMG160 gyro kernel module provides an additional trigger,
		which sets driver in a mode, where data is pushed to the buffer
		only when there is any motion.


code:
What:		/sys/bus/iio/devices/iio:deviceX/in_intensityY_raw
Date:		May 2016
KernelVersion:
Contact:	Andrew F. Davis <afd@ti.com>
Description:
		Get measured values from the ADC for these stages. Y is the
		specific stage number corresponding to datasheet stage names
		as follows:

		== ==========
		1  LED2
		2  ALED2/LED3
		3  LED1
		4  ALED1/LED4
		== ==========

		Note that channels 5 and 6 represent LED2-ALED2 and LED1-ALED1
		respectively which simply helper channels containing the
		calculated difference in the value of stage 1 - 2 and 3 - 4.
		The values are expressed in 24-bit twos complement.
		The LED current for the stage is controlled via
		out_currentY_raw.

What:		/sys/bus/iio/devices/iio:deviceX/in_intensityY_offset
Date:		May 2016
KernelVersion:
Contact:	Andrew F. Davis <afd@ti.com>
Description:
		Get and set the offset cancellation DAC setting for these
		stages. The values are expressed in 5-bit sign-magnitude.

What:		/sys/bus/iio/devices/iio:deviceX/in_intensityY_resistance
What:		/sys/bus/iio/devices/iio:deviceX/in_intensityY_capacitance
Date:		May 2016
KernelVersion:
Contact:	Andrew F. Davis <afd@ti.com>
Description:
		Get and set the resistance and the capacitance settings for the
		Transimpedance Amplifier during the associated stage.


code:
What:		/sys/bus/iio/devices/iio:deviceX/out_current_heater_raw
What:		/sys/bus/iio/devices/iio:deviceX/out_current_heater_raw_available
KernelVersion:	5.3.8
Contact:	linux-iio@vger.kernel.org
Description:
		Controls the heater device within the humidity sensor to get
		rid of excess condensation.

		In some devices, this is just a switch in which case 0 = OFF,
		and 1 = ON.


code:
What:		/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_frequency_start
Date:		March 2019
KernelVersion:	3.1.0
Contact:	linux-iio@vger.kernel.org
Description:
		Frequency sweep start frequency in Hz.

What:		/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_frequency_increment
Date:		March 2019
KernelVersion:	3.1.0
Contact:	linux-iio@vger.kernel.org
Description:
		Frequency increment in Hz (step size) between consecutive
		frequency points along the sweep.

What:		/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_frequency_points
Date:		March 2019
KernelVersion:	3.1.0
Contact:	linux-iio@vger.kernel.org
Description:
		Number of frequency points (steps) in the frequency sweep.
		This value, in conjunction with the
		out_altvoltageY_frequency_start and the
		out_altvoltageY_frequency_increment, determines the frequency
		sweep range for the sweep operation.

What:		/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_settling_cycles
Date:		March 2019
KernelVersion:	3.1.0
Contact:	linux-iio@vger.kernel.org
Description:
		Number of output excitation cycles (settling time cycles)
		that are allowed to pass through the unknown impedance,
		after each frequency increment, and before the ADC is triggered
		to perform a conversion sequence of the response signal.


code:
What:		/sys/bus/iio/devices/iio:deviceX/in_allow_async_readout
Date:		December 2015
KernelVersion:	4.4
Contact:	linux-iio@vger.kernel.org
Description:
		By default (value '0'), the capture thread checks for the Conversion
		Ready Flag to being set prior to committing a new value to the sample
		buffer. This synchronizes the in-chip conversion rate with the
		in-driver readout rate at the cost of an additional register read.

		Writing '1' will remove the polling for the Conversion Ready Flags to
		save the additional i2c transaction, which will improve the bandwidth
		available for reading data. However, samples can be occasionally skipped
		or repeated, depending on the beat between the capture and conversion
		rates.

What:		/sys/bus/iio/devices/iio:deviceX/in_shunt_resistor
Date:		December 2015
KernelVersion:	4.4
Contact:	linux-iio@vger.kernel.org
Description:
		The value of the shunt resistor may be known only at runtime fom an
		eeprom content read by a client application. This attribute allows to
		set its value in ohms.


code:
What:		/sys/bus/iio/devices/iio:deviceX/in_proximity0_agc_gain
What:		/sys/bus/iio/devices/iio:deviceX/in_proximity0_agc_gain_bias
KernelVersion:	4.18
Contact:	linux-iio@vger.kernel.org
Description:
		This sensor has an automatic gain control (agc) loop
		which sets the analog signal levels at an optimum
		level by controlling programmable gain amplifiers. The
		criteria for optimal gain is determined by the sensor.

		Return the actual gain value as an integer in [0; 65536]
		range when read from.

		The agc gain read when measuring crosstalk shall be
		written into in_proximity0_agc_gain_bias.

What:		/sys/bus/iio/devices/iio:deviceX/in_proximity0_calib_phase_temp_a
What:		/sys/bus/iio/devices/iio:deviceX/in_proximity0_calib_phase_temp_b
What:		/sys/bus/iio/devices/iio:deviceX/in_proximity0_calib_phase_light_a
What:		/sys/bus/iio/devices/iio:deviceX/in_proximity0_calib_phase_light_b
KernelVersion:	4.18
Contact:	linux-iio@vger.kernel.org
Description:
		The sensor is able to perform correction of distance
		measurements due to changing temperature and ambient
		light conditions. It can be programmed to correct for
		a second order error polynomial.

		Phase data has to be collected when temperature and
		ambient light are modulated independently.

		Then a least squares curve fit to a second order
		polynomial has to be generated from the data. The
		resultant curves have the form ax^2 + bx + c.

		From those two curves, a and b coefficients shall be
		stored in in_proximity0_calib_phase_temp_a and
		in_proximity0_calib_phase_temp_b for temperature and
		in in_proximity0_calib_phase_light_a and
		in_proximity0_calib_phase_light_b for ambient light.

		Those values must be integer in [0; 8355840] range.

		Finally, the c constant is set by the sensor
		internally.

		The value stored in sensor is displayed when read from.


code:
What:		/sys/bus/iio/devices/iio:deviceX/proximity_on_chip_ambient_infrared_suppression
Date:		January 2011
KernelVersion:	2.6.37
Contact:	linux-iio@vger.kernel.org
Description:
		From ISL29018 Data Sheet (FN6619.4, Oct 8, 2012) regarding the
		infrared suppression:

		Scheme 0, makes full n (4, 8, 12, 16) bits (unsigned) proximity
		detection. The range of Scheme 0 proximity count is from 0 to
		2^n. Logic 1 of this bit, Scheme 1, makes n-1 (3, 7, 11, 15)
		bits (2's complementary) proximity_less_ambient detection. The
		range of Scheme 1 proximity count is from -2^(n-1) to 2^(n-1).
		The sign bit is extended for resolutions less than 16. While
		Scheme 0 has wider dynamic range, Scheme 1 proximity detection
		is less affected by the ambient IR noise variation.

		== =============================================
		0  Sensing IR from LED and ambient
		1  Sensing IR from LED with ambient IR rejection
		== =============================================


code:
What:		/sys/.../events/in_illuminance0_thresh_either_en
Date:		April 2012
KernelVersion:	3.5
Contact:	Johan Hovold <jhovold@gmail.com>
Description:
		Event generated when channel passes one of the four thresholds
		in each direction (rising|falling) and a zone change occurs.
		The corresponding light zone can be read from
		in_illuminance0_zone.

What:		/sys/.../events/in_illuminance0_threshY_hysteresis
Date:		May 2012
KernelVersion:	3.5
Contact:	Johan Hovold <jhovold@gmail.com>
Description:
		Get the hysteresis for thresholds Y, that is,
		threshY_hysteresis = threshY_raising - threshY_falling

What:		/sys/.../events/illuminance_threshY_falling_value
What:		/sys/.../events/illuminance_threshY_raising_value
Date:		April 2012
KernelVersion:	3.5
Contact:	Johan Hovold <jhovold@gmail.com>
Description:
		Specifies the value of threshold that the device is comparing
		against for the events enabled by
		in_illuminance0_thresh_either_en (0..255), where Y in 0..3.

		Note that threshY_falling must be less than or equal to
		threshY_raising.

		These thresholds correspond to the eight zone-boundary
		registers (boundaryY_{low,high}) and define the five light
		zones.

What:		/sys/bus/iio/devices/iio:deviceX/in_illuminance0_zone
Date:		April 2012
KernelVersion:	3.5
Contact:	Johan Hovold <jhovold@gmail.com>
Description:
		Get the current light zone (0..4) as defined by the
		in_illuminance0_threshY_{falling,rising} thresholds.

What:		/sys/bus/iio/devices/iio:deviceX/out_currentY_currentZ_raw
Date:		May 2012
KernelVersion:	3.5
Contact:	Johan Hovold <jhovold@gmail.com>
Description:
		Set the output current for channel out_currentY when in zone
		Z (0..255), where Y in 0..2 and Z in 0..4.

		These values correspond to the ALS-mapper target registers for
		ALS-mapper Y + 1.

		Note that out_currentY_raw provides the current for the
		current zone.


code:
What:		/sys/bus/iio/devices/iio:deviceX/in_intensity_ir_small_raw
KernelVersion:	4.18
Contact:	linux-iio@vger.kernel.org
Description:
		Unit-less infrared intensity. The intensity is measured from 1
		dark photodiode. "small" indicate the surface area capturing
		infrared.

What:		/sys/bus/iio/devices/iio:deviceX/in_intensity_ir_large_raw
KernelVersion:	4.18
Contact:	linux-iio@vger.kernel.org
Description:
		Unit-less infrared intensity. The intensity is measured from 4
		dark photodiodes. "large" indicate the surface area capturing
		infrared.

What:		/sys/bus/iio/devices/iio:deviceX/in_intensity_large_raw
KernelVersion:	4.18
Contact:	linux-iio@vger.kernel.org
Description:
		Unit-less light intensity with more diodes.


code:
What:		/sys/bus/iio/devices/device[n]/in_illuminance_calibrate
KernelVersion:	2.6.37
Contact:	linux-iio@vger.kernel.org
Description:
		This property causes an internal calibration of the als gain trim
		value which is later used in calculating illuminance in lux.

What:		/sys/bus/iio/devices/device[n]/in_illuminance_lux_table
KernelVersion:	2.6.37
Contact:	linux-iio@vger.kernel.org
Description:
		This property gets/sets the table of coefficients
		used in calculating illuminance in lux.

What:		/sys/bus/iio/devices/device[n]/in_illuminance_input_target
KernelVersion:	2.6.37
Contact:	linux-iio@vger.kernel.org
Description:
		This property is the known externally illuminance (in lux).
		It is used in the process of calibrating the device accuracy.


code:
What:		/sys/bus/iio/devices/device[n]/in_illuminance0_calibrate
KernelVersion:	3.3-rc1
Contact:	linux-iio@vger.kernel.org
Description:
		Causes an internal calibration of the als gain trim
		value which is later used in calculating illuminance in lux.

What:		/sys/bus/iio/devices/device[n]/in_proximity0_calibrate
KernelVersion:	3.3-rc1
Contact:	linux-iio@vger.kernel.org
Description:
		Causes a recalculation and adjustment to the
		proximity_thresh_rising_value.


code:
What:           /sys/bus/iio/devices/iio:deviceX/meas_conf
What:           /sys/bus/iio/devices/iio:deviceX/meas_conf_available
KernelVersion:  4.5
Contact:        linux-iio@vger.kernel.org
Description:
                Current configuration and available configurations
		for the bias current.

		============	  ============================================
		normal		  Normal measurement configurations (default)
		positivebias	  Positive bias configuration
		negativebias	  Negative bias configuration
		disabled	  Only available on HMC5983. Disables magnetic
				  sensor and enables temperature sensor.
		============	  ============================================

		Note:
		  The effect of this configuration may vary
		  according to the device. For exact documentation
		  check the device's datasheet.


code:
What:           /sys/bus/iio/devices/iio:deviceX/battery_low
KernelVersion:  4.1.0
Contact:        linux-iio@vger.kernel.org
Description:
                Reading returns either '1' or '0'. '1' means that the
                battery level supplied to sensor is below 2.25V.
                This ABI is available for tsys02d, htu21, ms8607


code:
What:           /sys/bus/iio/devices/iio:deviceX/in_gyro_matrix
What:           /sys/bus/iio/devices/iio:deviceX/in_accel_matrix
What:           /sys/bus/iio/devices/iio:deviceX/in_magn_matrix
KernelVersion:  3.4.0
Contact:        linux-iio@vger.kernel.org
Description:
		This is mounting matrix for motion sensors. Mounting matrix
		is a 3x3 unitary matrix. A typical mounting matrix would look like
		[0, 1, 0; 1, 0, 0; 0, 0, -1]. Using this information, it would be
		easy to tell the relative positions among sensors as well as their
		positions relative to the board that holds these sensors. Identity matrix
		[1, 0, 0; 0, 1, 0; 0, 0, 1] means sensor chip and device are perfectly
		aligned with each other. All axes are exactly the same.


code:
What:		/sys/bus/iio/devices/iio:deviceX/out_resistance_raw_available
Date:		October 2016
KernelVersion:	4.9
Contact:	Peter Rosin <peda@axentia.se>
Description:
		The range of available values represented as the minimum value,
		the step and the maximum value, all enclosed in square brackets.
		Example: [0 1 256]


code:
What:		/sys/bus/iio/devices/iio:deviceX/in_proximity_nearlevel
Date:		March 2020
KernelVersion:	5.7
Contact:	linux-iio@vger.kernel.org
Description:
		Near level for proximity sensors. This is a single integer
		value that tells user space when an object should be
		considered close to the device. If the value read from the
		sensor is above or equal to the value in this file an object
		should typically be considered near.

What:		/sys/bus/iio/devices/iio:deviceX/sensor_sensitivity
Date:		March 2014
KernelVersion:	3.15
Contact:	linux-iio@vger.kernel.org
Description:
		Proximity sensors sometimes have a controllable amplifier
		on the signal from which time of flight measurements are
		taken.
		The appropriate values to take is dependent on both the
		sensor and its operating environment:
		* as3935 (0-31 range)
		18 = indoors (default)
		14 = outdoors


code:
What:		/sys/bus/iio/devices/iio:deviceX/in_proximity_input
Date:		March 2014
KernelVersion:	3.15
Contact:	Matt Ranostay <matt.ranostay@konsulko.com>
Description:
		Get the current distance in meters of storm (1km steps)
		1000-40000 = distance in meters

What		/sys/bus/iio/devices/iio:deviceX/noise_level_tripped
Date:		May 2017
KernelVersion:	4.13
Contact:	Matt Ranostay <matt.ranostay@konsulko.com>
Description:
		When 1 the noise level is over the trip level and not reporting
		valid data


code:
What:		/sys/bus/iio/devices/iio:deviceX/start_cleaning
Date:		December 2018
KernelVersion:	5.0
Contact:	linux-iio@vger.kernel.org
Description:
		Writing 1 starts sensor self cleaning. Internal fan accelerates
		to its maximum speed and keeps spinning for about 10 seconds in
		order to blow out accumulated dust.

What:		/sys/bus/iio/devices/iio:deviceX/cleaning_period
Date:		January 2019
KernelVersion:	5.1
Contact:	linux-iio@vger.kernel.org
Description:
		Sensor is capable of triggering self cleaning periodically.
		Period can be changed by writing a new value here. Upon reading
		the current one is returned. Units are seconds.

		Writing 0 disables periodical self cleaning entirely.

What:		/sys/bus/iio/devices/iio:deviceX/cleaning_period_available
Date:		January 2019
KernelVersion:	5.1
Contact:	linux-iio@vger.kernel.org
Description:
		The range of available values in seconds represented as the
		minimum value, the step and the maximum value, all enclosed in
		square brackets.


code:
What:		/sys/bus/iio/devices/iio:deviceX/in_proximity3_comb_raw
Date:		February 2019
KernelVersion:	5.6
Contact:	Daniel Campello <campello@chromium.org>
Description:
		Proximity measurement indicating that some object is
		near the combined sensor. The combined sensor presents
		proximity measurements constructed by hardware by
		combining measurements taken from a given set of
		physical sensors.


code:
What:		/sys/bus/iio/devices/iio:deviceX/in_proximity<id>_setup
Date:		November 2021
KernelVersion:	5.17
Contact:	Gwendal Grignou <gwendal@chromium.org>
Description:
		SX9324 has 3 inputs, CS0, CS1 and CS2. Hardware layout
		defines if the input is

		+ not connected (HZ),
		+ grounded (GD),
		+ connected to an antenna where it can act as a base
		  (DS - data shield), or measured input (MI).

		The sensor rotates measurement across 4 phases
		(PH0, PH1, PH2, PH3), where the inputs are configured
		and then measured.

		By default,  during the first phase, [PH0], CS0 is measured,
		while CS1 and CS2 are used as shields.
		`cat in_proximity0_setup` returns "MI,DS,DS".
		[PH1], CS1 is measured, CS0 and CS2 are shield:
		`cat in_proximity1_setup` returns "DS,MI,DS".
		[PH2], CS2 is measured, CS0 and CS1 are shield:
		`cat in_proximity1_setup` returns "DS,DS,MI".
		[PH3], CS1 and CS2 are measured (combo mode):
		`cat in_proximity1_setup` returns "DS,MI,MI".

		Note, these are the chip default. Hardware layout will most
		likely dictate different output. The entry is read-only.


code:
What:		/sys/bus/iio/devices/iio:deviceX/fault_ovuv
KernelVersion:	5.1
Contact:	linux-iio@vger.kernel.org
Description:
		Overvoltage or Undervoltage Input Fault. The internal circuitry
		is protected from excessive voltages applied to the thermocouple
		cables. The device can also detect if such a condition occurs.

		Reading returns '1' if input voltage is negative or greater
		than VDD, otherwise '0'.

What:		/sys/bus/iio/devices/iio:deviceX/fault_oc
KernelVersion:	5.1
Contact:	linux-iio@vger.kernel.org
Description:
		Open-circuit fault. The detection of open-circuit faults,
		such as those caused by broken thermocouple wires.
		Reading returns '1' if fault, '0' otherwise.


code:
What:		/sys/bus/iio/devices/triggerX/master_mode_available
KernelVersion:	4.11
Contact:	benjamin.gaignard@st.com
Description:
		Reading returns the list possible master modes which are:

		- "reset"
				The UG bit from the TIMx_EGR register is
				used as trigger output (TRGO).
		- "enable"
				The Counter Enable signal CNT_EN is used
				as trigger output.
		- "update"
				The update event is selected as trigger output.
				For instance a master timer can then be used
				as a prescaler for a slave timer.
		- "compare_pulse"
				The trigger output send a positive pulse
				when the CC1IF flag is to be set.
		- "OC1REF"
				OC1REF signal is used as trigger output.
		- "OC2REF"
				OC2REF signal is used as trigger output.
		- "OC3REF"
				OC3REF signal is used as trigger output.
		- "OC4REF"
				OC4REF signal is used as trigger output.

		Additional modes (on TRGO2 only):

		- "OC5REF"
				OC5REF signal is used as trigger output.
		- "OC6REF"
				OC6REF signal is used as trigger output.
		- "compare_pulse_OC4REF":
				OC4REF rising or falling edges generate pulses.
		- "compare_pulse_OC6REF":
				OC6REF rising or falling edges generate pulses.
		- "compare_pulse_OC4REF_r_or_OC6REF_r":
				OC4REF or OC6REF rising edges generate pulses.
		- "compare_pulse_OC4REF_r_or_OC6REF_f":
				OC4REF rising or OC6REF falling edges generate
				pulses.
		- "compare_pulse_OC5REF_r_or_OC6REF_r":
				OC5REF or OC6REF rising edges generate pulses.
		- "compare_pulse_OC5REF_r_or_OC6REF_f":
				OC5REF rising or OC6REF falling edges generate
				pulses.

		::

		  +-----------+   +-------------+            +---------+
		  | Prescaler +-> | Counter     |        +-> | Master  | TRGO(2)
		  +-----------+   +--+--------+-+        |-> | Control +-->
		                     |        |          ||  +---------+
		                  +--v--------+-+ OCxREF ||  +---------+
		                  | Chx compare +----------> | Output  | ChX
		                  +-----------+-+         |  | Control +-->
		                        .     |           |  +---------+
		                        .     |           |    .
		                  +-----------v-+ OC6REF  |    .
		                  | Ch6 compare +---------+>
		                  +-------------+

		Example with: "compare_pulse_OC4REF_r_or_OC6REF_r"::

		                  X
		                X   X
		              X .   . X
		            X   .   .   X
		          X     .   .     X
		  count X .     .   .     . X
		          .     .   .     .
		          .     .   .     .
		          +---------------+
		  OC4REF  |     .   .     |
		        +-+     .   .     +-+
		          .     +---+     .
		  OC6REF  .     |   |     .
		        +-------+   +-------+
		          +-+   +-+
		  TRGO2   | |   | |
		        +-+ +---+ +---------+

What:		/sys/bus/iio/devices/triggerX/master_mode
KernelVersion:	4.11
Contact:	benjamin.gaignard@st.com
Description:
		Reading returns the current master modes.
		Writing set the master mode

What:		/sys/bus/iio/devices/iio:deviceX/in_count0_preset
KernelVersion:	4.12
Contact:	benjamin.gaignard@st.com
Description:
		Reading returns the current preset value.
		Writing sets the preset value.
		When counting up the counter starts from 0 and fires an
		event when reach preset value.
		When counting down the counter start from preset value
		and fire event when reach 0.

What:		/sys/bus/iio/devices/iio:deviceX/in_count_enable_mode_available
KernelVersion:	4.12
Contact:	benjamin.gaignard@st.com
Description:
		Reading returns the list possible enable modes.

What:		/sys/bus/iio/devices/iio:deviceX/in_count0_enable_mode
KernelVersion:	4.12
Contact:	benjamin.gaignard@st.com
Description:
		Configure the device counter enable modes, in all case
		counting direction is set by in_count0_count_direction
		attribute and the counter is clocked by the internal clock.

		always:
			Counter is always ON.

		gated:
			Counting is enabled when connected trigger signal
			level is high else counting is disabled.

		triggered:
			Counting is enabled on rising edge of the connected
			trigger, and remains enabled for the duration of this
			selected mode.

What:		/sys/bus/iio/devices/iio:deviceX/in_count_trigger_mode_available
KernelVersion:	4.13
Contact:	benjamin.gaignard@st.com
Description:
		Reading returns the list possible trigger modes.

What:		/sys/bus/iio/devices/iio:deviceX/in_count0_trigger_mode
KernelVersion:	4.13
Contact:	benjamin.gaignard@st.com
Description:
		Configure the device counter trigger mode
		counting direction is set by in_count0_count_direction
		attribute and the counter is clocked by the connected trigger
		rising edges.


code:
What:		/sys/bus/iio/devices/triggerX/trigger_now
KernelVersion:	2.6.38
Contact:	linux-iio@vger.kernel.org
Description:
		This file is provided by the iio-trig-sysfs stand-alone trigger
		driver. Writing this file with any value triggers an event
		driven driver, associated with this trigger, to capture data
		into an in kernel buffer. This approach can be valuable during
		automated testing or in situations, where other trigger methods
		are not applicable. For example no RTC or spare GPIOs.
		X is the IIO index of the trigger.

What:		/sys/bus/iio/devices/triggerX/name
KernelVersion:	2.6.39
Contact:	linux-iio@vger.kernel.org
Description:
		The name attribute holds a description string for the current
		trigger. In order to associate the trigger with an IIO device
		one should write this name string to
		/sys/bus/iio/devices/iio:deviceY/trigger/current_trigger.

What:		/sys/bus/iio/devices/iio_sysfs_trigger/add_trigger
KernelVersion:	2.6.39
Contact:	linux-iio@vger.kernel.org
Description:
		This attribute is provided by the iio-trig-sysfs stand-alone
		driver and it is used to activate the creation of a new trigger.
		In order to achieve this, one should write a positive integer
		into the associated file, which will serve as the id of the
		trigger. If the trigger with the specified id is already present
		in the system, an invalid argument message will be returned.

What:		/sys/bus/iio/devices/iio_sysfs_trigger/remove_trigger
KernelVersion:	2.6.39
Contact:	linux-iio@vger.kernel.org
Description:
		This attribute is used to unregister and delete a previously
		created trigger from the list of available triggers. In order to
		achieve this, one should write a positive integer into the
		associated file, representing the id of the trigger that needs
		to be removed. If the trigger can't be found, an invalid
		argument message will be returned to the user.


code:
What:		/sys/bus/iio/devices/iio:deviceX/in_conversion_mode
KernelVersion:	4.2
Contact:	linux-iio@vger.kernel.org
Description:
		Specifies the hardware conversion mode used. The three
		available modes are "normal", "high-speed" and "low-power",
		where the last is the default mode.

What:		/sys/bus/iio/devices/iio:deviceX/out_conversion_mode
KernelVersion:	4.6
Contact:	linux-iio@vger.kernel.org
Description:
		Specifies the hardware conversion mode used within DAC.
		The two available modes are "high-power" and "low-power",
		where "low-power" mode is the default mode.


code:
What:		/sys/bus/intel_th/devices/<intel_th_id>-gth/masters/*
Date:		June 2015
KernelVersion:	4.3
Contact:	Alexander Shishkin <alexander.shishkin@linux.intel.com>
Description:	(RW) Configure output ports for STP masters. Writing -1
		disables a master; any

What:		/sys/bus/intel_th/devices/<intel_th_id>-gth/outputs/[0-7]_port
Date:		June 2015
KernelVersion:	4.3
Contact:	Alexander Shishkin <alexander.shishkin@linux.intel.com>
Description:	(RO) Output port type:

		 ==  =========================
		  0  not present,
		  1  MSU (Memory Storage Unit)
		  2  CTP (Common Trace Port)
		  4  PTI (MIPI PTI).
		 ==  =========================

What:		/sys/bus/intel_th/devices/<intel_th_id>-gth/outputs/[0-7]_drop
Date:		June 2015
KernelVersion:	4.3
Contact:	Alexander Shishkin <alexander.shishkin@linux.intel.com>
Description:	(RW) Data retention policy setting: keep (0) or drop (1)
		incoming data while output port is in reset.

What:		/sys/bus/intel_th/devices/<intel_th_id>-gth/outputs/[0-7]_null
Date:		June 2015
KernelVersion:	4.3
Contact:	Alexander Shishkin <alexander.shishkin@linux.intel.com>
Description:	(RW) STP NULL packet generation: enabled (1) or disabled (0).

What:		/sys/bus/intel_th/devices/<intel_th_id>-gth/outputs/[0-7]_flush
Date:		June 2015
KernelVersion:	4.3
Contact:	Alexander Shishkin <alexander.shishkin@linux.intel.com>
Description:	(RW) Force flush data from byte packing buffer for the output
		port.

What:		/sys/bus/intel_th/devices/<intel_th_id>-gth/outputs/[0-7]_reset
Date:		June 2015
KernelVersion:	4.3
Contact:	Alexander Shishkin <alexander.shishkin@linux.intel.com>
Description:	(RO) Output port is in reset (1).

What:		/sys/bus/intel_th/devices/<intel_th_id>-gth/outputs/[0-7]_smcfreq
Date:		June 2015
KernelVersion:	4.3
Contact:	Alexander Shishkin <alexander.shishkin@linux.intel.com>
Description:	(RW) STP sync packet frequency for the port. Specifies the
		number of clocks between mainenance packets.


code:
What:		/sys/bus/intel_th/devices/<intel_th_id>-msc<msc-id>/wrap
Date:		June 2015
KernelVersion:	4.3
Contact:	Alexander Shishkin <alexander.shishkin@linux.intel.com>
Description:	(RW) Configure MSC buffer wrapping. 1 == wrapping enabled.

What:		/sys/bus/intel_th/devices/<intel_th_id>-msc<msc-id>/mode
Date:		June 2015
KernelVersion:	4.3
Contact:	Alexander Shishkin <alexander.shishkin@linux.intel.com>
Description:	(RW) Configure MSC operating mode:

		  - "single", for contiguous buffer mode (high-order alloc);
		  - "multi", for multiblock mode;
		  - "ExI", for DCI handler mode;
		  - "debug", for debug mode;
		  - any of the currently loaded buffer sinks.

		If operating mode changes, existing buffer is deallocated,
		provided there are no active users and tracing is not enabled,
		otherwise the write will fail.

What:		/sys/bus/intel_th/devices/<intel_th_id>-msc<msc-id>/nr_pages
Date:		June 2015
KernelVersion:	4.3
Contact:	Alexander Shishkin <alexander.shishkin@linux.intel.com>
Description:	(RW) Configure MSC buffer size for "single" or "multi" modes.

		In single mode, this is a single number of pages, has to be
		power of 2. In multiblock mode, this is a comma-separated list
		of numbers of pages for each window to be allocated. Number of
		windows is not limited.

		Writing to this file deallocates existing buffer (provided
		there are no active users and tracing is not enabled) and then
		allocates a new one.

What:		/sys/bus/intel_th/devices/<intel_th_id>-msc<msc-id>/win_switch
Date:		May 2019
KernelVersion:	5.2
Contact:	Alexander Shishkin <alexander.shishkin@linux.intel.com>
Description:	(RW) Trigger window switch for the MSC's buffer, in
		multi-window mode. In "multi" mode, accepts writes of "1", thereby
		triggering a window switch for the buffer. Returns an error in any
		other operating mode or attempts to write something other than "1".

What:		/sys/bus/intel_th/devices/<intel_th_id>-msc<msc-id>/stop_on_full
Date:		March 2020
KernelVersion:	5.7
Contact:	Alexander Shishkin <alexander.shishkin@linux.intel.com>
Description:	(RW) Configure whether trace stops when the last available window
		becomes full (1/y/Y) or wraps around and continues until the next
		window becomes available again (0/n/N).


code:
What:		/sys/bus/intel_th/devices/<intel_th_id>-pti/mode
Date:		June 2015
KernelVersion:	4.3
Contact:	Alexander Shishkin <alexander.shishkin@linux.intel.com>
Description:	(RW) Configure PTI output width. Currently supported values
		are 4, 8, 12, 16.

What:		/sys/bus/intel_th/devices/<intel_th_id>-pti/freerunning_clock
Date:		June 2015
KernelVersion:	4.3
Contact:	Alexander Shishkin <alexander.shishkin@linux.intel.com>
Description:	(RW) 0: PTI trace clock acts as a strobe which only toggles
		when there is trace data to send. 1: PTI trace clock is a
		free-running clock.

What:		/sys/bus/intel_th/devices/<intel_th_id>-pti/clock_divider
Date:		June 2015
KernelVersion:	4.3
Contact:	Alexander Shishkin <alexander.shishkin@linux.intel.com>
Description:	(RW) Configure PTI port clock divider:
		 - 0: Intel TH clock rate,
		 - 1: 1/2 Intel TH clock rate,
		 - 2: 1/4 Intel TH clock rate,
		 - 3: 1/8 Intel TH clock rate.


code:
What:		/sys/bus/intel_th/devices/<intel_th_id>-<device><id>/active
Date:		June 2015
KernelVersion:	4.3
Contact:	Alexander Shishkin <alexander.shishkin@linux.intel.com>
Description:	(RW) Writes of 1 or 0 enable or disable trace output to this
		output device. Reads return current status. Requires that the
		correstponding output port driver be loaded.

What:		/sys/bus/intel_th/devices/<intel_th_id>-msc<msc-id>/port
Date:		June 2015
KernelVersion:	4.3
Contact:	Alexander Shishkin <alexander.shishkin@linux.intel.com>
Description:	(RO) Port number, corresponding to this output device on the
		switch (GTH) or "unassigned" if the corresponding output
		port driver is not loaded.


code:
What:		/sys/bus/mcb/devices/mcb:X
Date:		March 2016
KernelVersion:	4.7
Contact:	Johannes Thumshirn <jth@kernel.org>
Description:	Hardware chip or device hosting the MEN chameleon bus

What:		/sys/bus/mcb/devices/mcb:X/revision
Date:		March 2016
KernelVersion:	4.7
Contact:	Johannes Thumshirn <jth@kernel.org>
Description:	The FPGA's revision number

What:		/sys/bus/mcb/devices/mcb:X/minor
Date:		March 2016
KernelVersion:	4.7
Contact:	Johannes Thumshirn <jth@kernel.org>
Description:	The FPGA's minor number

What:		/sys/bus/mcb/devices/mcb:X/model
Date:		March 2016
KernelVersion:	4.7
Contact:	Johannes Thumshirn <jth@kernel.org>
Description:	The FPGA's model number

What:		/sys/bus/mcb/devices/mcb:X/name
Date:		March 2016
KernelVersion:	4.7
Contact:	Johannes Thumshirn <jth@kernel.org>
Description:	The FPGA's name

path: Documentation/ABI/testing/sysfs-bus-mcb


code:
What:          /sys/bus/mdio_bus/devices/.../statistics/
What:          /sys/class/mdio_bus/.../statistics/
Date:          January 2020
KernelVersion: 5.6
Contact:       netdev@vger.kernel.org
Description:
		This folder contains statistics about global and per
		MDIO bus address statistics.

What:          /sys/bus/mdio_bus/devices/.../statistics/transfers
What:          /sys/class/mdio_bus/.../transfers
Date:          January 2020
KernelVersion: 5.6
Contact:       netdev@vger.kernel.org
Description:
		Total number of transfers for this MDIO bus.

What:          /sys/bus/mdio_bus/devices/.../statistics/errors
What:          /sys/class/mdio_bus/.../statistics/errors
Date:          January 2020
KernelVersion: 5.6
Contact:       netdev@vger.kernel.org
Description:
		Total number of transfer errors for this MDIO bus.

What:          /sys/bus/mdio_bus/devices/.../statistics/writes
What:          /sys/class/mdio_bus/.../statistics/writes
Date:          January 2020
KernelVersion: 5.6
Contact:       netdev@vger.kernel.org
Description:
		Total number of write transactions for this MDIO bus.

What:          /sys/bus/mdio_bus/devices/.../statistics/reads
What:          /sys/class/mdio_bus/.../statistics/reads
Date:          January 2020
KernelVersion: 5.6
Contact:       netdev@vger.kernel.org
Description:
		Total number of read transactions for this MDIO bus.

What:          /sys/bus/mdio_bus/devices/.../statistics/transfers_<addr>
What:          /sys/class/mdio_bus/.../statistics/transfers_<addr>
Date:          January 2020
KernelVersion: 5.6
Contact:       netdev@vger.kernel.org
Description:
		Total number of transfers for this MDIO bus address.

What:          /sys/bus/mdio_bus/devices/.../statistics/errors_<addr>
What:          /sys/class/mdio_bus/.../statistics/errors_<addr>
Date:          January 2020
KernelVersion: 5.6
Contact:       netdev@vger.kernel.org
Description:
		Total number of transfer errors for this MDIO bus address.

What:          /sys/bus/mdio_bus/devices/.../statistics/writes_<addr>
What:          /sys/class/mdio_bus/.../statistics/writes_<addr>
Date:          January 2020
KernelVersion: 5.6
Contact:       netdev@vger.kernel.org
Description:
		Total number of write transactions for this MDIO bus address.

What:          /sys/bus/mdio_bus/devices/.../statistics/reads_<addr>
What:          /sys/class/mdio_bus/.../statistics/reads_<addr>
Date:          January 2020
KernelVersion: 5.6
Contact:       netdev@vger.kernel.org
Description:
		Total number of read transactions for this MDIO bus address.


code:
What:		/sys/bus/media/devices/.../model
Date:		January 2011
Contact:	Laurent Pinchart <laurent.pinchart@ideasonboard.com>
		linux-media@vger.kernel.org
Description:	Contains the device model name in UTF-8. The device version is
		is not be appended to the model name.


code:
What:		/sys/bus/mei/devices/.../modalias
Date:		March 2013
KernelVersion:	3.10
Contact:	Samuel Ortiz <sameo@linux.intel.com>
		linux-mei@linux.intel.com
Description:	Stores the same MODALIAS value emitted by uevent
		Format: mei:<mei device name>:<device uuid>:<protocol version>

What:		/sys/bus/mei/devices/.../name
Date:		May 2015
KernelVersion:	4.2
Contact:	Tomas Winkler <tomas.winkler@intel.com>
Description:	Stores mei client device name
		Format: string

What:		/sys/bus/mei/devices/.../uuid
Date:		May 2015
KernelVersion:	4.2
Contact:	Tomas Winkler <tomas.winkler@intel.com>
Description:	Stores mei client device uuid
		Format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

What:		/sys/bus/mei/devices/.../version
Date:		Aug 2015
KernelVersion:	4.3
Contact:	Tomas Winkler <tomas.winkler@intel.com>
Description:	Stores mei client protocol version
		Format: %d

What:		/sys/bus/mei/devices/.../max_conn
Date:		Nov 2019
KernelVersion:	5.5
Contact:	Tomas Winkler <tomas.winkler@intel.com>
Description:	Stores mei client maximum number of connections
		Format: %d

What:		/sys/bus/mei/devices/.../fixed
Date:		Nov 2019
KernelVersion:	5.5
Contact:	Tomas Winkler <tomas.winkler@intel.com>
Description:	Stores mei client fixed address, if any
		Format: %d

What:		/sys/bus/mei/devices/.../vtag
Date:		Nov 2020
KernelVersion:	5.9
Contact:	Tomas Winkler <tomas.winkler@intel.com>
Description:	Stores mei client vtag support status
		Format: %d

What:		/sys/bus/mei/devices/.../max_len
Date:		Nov 2019
KernelVersion:	5.5
Contact:	Tomas Winkler <tomas.winkler@intel.com>
Description:	Stores mei client maximum message length
		Format: %d

path: Documentation/ABI/testing/sysfs-bus-mei


code:
What:		/sys/bus/mmc/devices/.../rev
Date:		October 2017
Contact:	Jin Qian <jinqian@android.com>
Description:	Extended CSD revision number

path: Documentation/ABI/testing/sysfs-bus-mmc


code:
What:		/sys/bus/most/devices/<dev>/description
Date:		March 2017
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		Provides information about the physical location of the
		device. Hardware attached via USB, for instance,
		might return <1-1.1:1.0>
Users:

What:		/sys/bus/most/devices/<dev>/interface
Date:		March 2017
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		Indicates the type of peripheral interface the device uses.
Users:

What:		/sys/bus/most/devices/<dev>/dci
Date:		June 2016
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		If the network interface controller is attached via USB, a dci
		directory is created that allows applications to read and
		write the controller's DCI registers.
Users:

What:		/sys/bus/most/devices/<dev>/dci/arb_address
Date:		June 2016
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		This is used to set an arbitrary DCI register address an
		application wants to read from or write to.
Users:

What:		/sys/bus/most/devices/<dev>/dci/arb_value
Date:		June 2016
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		This is used to read and write the DCI register whose address
		is stored in arb_address.
Users:

What:		/sys/bus/most/devices/<dev>/dci/mep_eui48_hi
Date:		June 2016
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		This is used to check and configure the MAC address.
Users:

What:		/sys/bus/most/devices/<dev>/dci/mep_eui48_lo
Date:		June 2016
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		This is used to check and configure the MAC address.
Users:

What:		/sys/bus/most/devices/<dev>/dci/mep_eui48_mi
Date:		June 2016
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		This is used to check and configure the MAC address.
Users:

What:		/sys/bus/most/devices/<dev>/dci/mep_filter
Date:		June 2016
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		This is used to check and configure the MEP filter address.
Users:

What:		/sys/bus/most/devices/<dev>/dci/mep_hash0
Date:		June 2016
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		This is used to check and configure the MEP hash table.
Users:

What:		/sys/bus/most/devices/<dev>/dci/mep_hash1
Date:		June 2016
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		This is used to check and configure the MEP hash table.
Users:

What:		/sys/bus/most/devices/<dev>/dci/mep_hash2
Date:		June 2016
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		This is used to check and configure the MEP hash table.
Users:

What:		/sys/bus/most/devices/<dev>/dci/mep_hash3
Date:		June 2016
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		This is used to check and configure the MEP hash table.
Users:

What:		/sys/bus/most/devices/<dev>/dci/ni_state
Date:		June 2016
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		Indicates the current network interface state.
Users:

What:		/sys/bus/most/devices/<dev>/dci/node_address
Date:		June 2016
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		Indicates the current node address.
Users:

What:		/sys/bus/most/devices/<dev>/dci/node_position
Date:		June 2016
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		Indicates the current node position.
Users:

What:		/sys/bus/most/devices/<dev>/dci/packet_bandwidth
Date:		June 2016
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		Indicates the configured packet bandwidth.
Users:

What:		/sys/bus/most/devices/<dev>/dci/sync_ep
Date:		June 2016
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		Triggers the controller's synchronization process for a certain
		endpoint.
Users:

What:		/sys/bus/most/devices/<dev>/<channel>/
Date:		March 2017
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		For every channel of the device a directory is created, whose
		name is dictated by the HDM. This enables an application to
		collect information about the channel's capabilities and
		configure it.
Users:

What:		/sys/bus/most/devices/<dev>/<channel>/available_datatypes
Date:		March 2017
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		Indicates the data types the channel can transport.
Users:

What:		/sys/bus/most/devices/<dev>/<channel>/available_directions
Date:		March 2017
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		Indicates the directions the channel is capable of.
Users:

What:		/sys/bus/most/devices/<dev>/<channel>/number_of_packet_buffers
Date:		March 2017
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		Indicates the number of packet buffers the channel can
		handle.
Users:

What:		/sys/bus/most/devices/<dev>/<channel>/number_of_stream_buffers
Date:		March 2017
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		Indicates the number of streaming buffers the channel can
		handle.
Users:

What:		/sys/bus/most/devices/<dev>/<channel>/size_of_packet_buffer
Date:		March 2017
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		Indicates the size of a packet buffer the channel can
		handle.
Users:

What:		/sys/bus/most/devices/<dev>/<channel>/size_of_stream_buffer
Date:		March 2017
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		Indicates the size of a streaming buffer the channel can
		handle.
Users:

What:		/sys/bus/most/devices/<dev>/<channel>/set_number_of_buffers
Date:		March 2017
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		This is to read back the configured number of buffers of
		the channel.
Users:

What:		/sys/bus/most/devices/<dev>/<channel>/set_buffer_size
Date:		March 2017
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		This is to read back the configured buffer size of the channel.
Users:

What:		/sys/bus/most/devices/<dev>/<channel>/set_direction
Date:		March 2017
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		This is to read back the configured direction of the channel.
		The following strings will be accepted::

			'tx',
			'rx'
Users:

What:		/sys/bus/most/devices/<dev>/<channel>/set_datatype
Date:		March 2017
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		This is to read back the configured data type of the channel.
		The following strings will be accepted::

			'control',
			'async',
			'sync',
			'isoc_avp'
Users:

What:		/sys/bus/most/devices/<dev>/<channel>/set_subbuffer_size
Date:		March 2017
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		This is to read back the configured subbuffer size of
		the channel.
Users:

What:		/sys/bus/most/devices/<dev>/<channel>/set_packets_per_xact
Date:		March 2017
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		This is to read back the configured number of packets per
		transaction of the channel. This is only applicable when
		connected via USB.
Users:

What:		/sys/bus/most/devices/<dev>/<channel>/channel_starving
Date:		March 2017
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		Indicates whether channel ran out of buffers.
Users:

What:		/sys/bus/most/drivers/most_core/components
Date:		March 2017
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		This is used to retrieve a list of registered components.
Users:

What:		/sys/bus/most/drivers/most_core/links
Date:		March 2017
KernelVersion:	4.15
Contact:	Christian Gromm <christian.gromm@microchip.com>
Description:
		This is used to retrieve a list of established links.
Users:


code:
What:		/sys/bus/moxtet/devices/moxtet-<name>.<addr>/module_description
Date:		March 2019
KernelVersion:	5.3
Contact:	Marek Behún <kabel@kernel.org>
Description:	(Read) Moxtet module description. Format: string

What:		/sys/bus/moxtet/devices/moxtet-<name>.<addr>/module_id
Date:		March 2019
KernelVersion:	5.3
Contact:	Marek Behún <kabel@kernel.org>
Description:	(Read) Moxtet module ID. Format: %x

What:		/sys/bus/moxtet/devices/moxtet-<name>.<addr>/module_name
Date:		March 2019
KernelVersion:	5.3
Contact:	Marek Behún <kabel@kernel.org>
Description:	(Read) Moxtet module name. Format: string


code:
For all of the nmem device attributes under ``nfit/*``, see the 'NVDIMM Firmware
Interface Table (NFIT)' section in the ACPI specification
(http://www.uefi.org/specifications) for more details.

What:		/sys/bus/nd/devices/nmemX/nfit/serial
Date:		Jun, 2015
KernelVersion:	v4.2
Contact:	nvdimm@lists.linux.dev
Description:
		(RO) Serial number of the NVDIMM (non-volatile dual in-line
		memory module), assigned by the module vendor.

What:		/sys/bus/nd/devices/nmemX/nfit/handle
Date:		Apr, 2015
KernelVersion:	v4.2
Contact:	nvdimm@lists.linux.dev
Description:
		(RO) The address (given by the _ADR object) of the device on its
		parent bus of the NVDIMM device containing the NVDIMM region.

What:		/sys/bus/nd/devices/nmemX/nfit/device
Date:		Apr, 2015
KernelVersion:	v4.1
Contact:	nvdimm@lists.linux.dev
Description:
		(RO) Device id for the NVDIMM, assigned by the module vendor.

What:		/sys/bus/nd/devices/nmemX/nfit/rev_id
Date:		Jun, 2015
KernelVersion:	v4.2
Contact:	nvdimm@lists.linux.dev
Description:
		(RO) Revision of the NVDIMM, assigned by the module vendor.

What:		/sys/bus/nd/devices/nmemX/nfit/phys_id
Date:		Apr, 2015
KernelVersion:	v4.2
Contact:	nvdimm@lists.linux.dev
Description:
		(RO) Handle (i.e., instance number) for the SMBIOS (system
		management BIOS) Memory Device structure describing the NVDIMM
		containing the NVDIMM region.

What:		/sys/bus/nd/devices/nmemX/nfit/flags
Date:		Jun, 2015
KernelVersion:	v4.2
Contact:	nvdimm@lists.linux.dev
Description:
		(RO) The flags in the NFIT memory device sub-structure indicate
		the state of the data on the nvdimm relative to its energy
		source or last "flush to persistence".

		The attribute is a translation of the 'NVDIMM State Flags' field
		in section 5.2.25.3 'NVDIMM Region Mapping' Structure of the
		ACPI specification 6.2.

		The health states are "save_fail", "restore_fail", "flush_fail",
		"not_armed", "smart_event", "map_fail" and "smart_notify".

What:		/sys/bus/nd/devices/nmemX/nfit/format
What:		/sys/bus/nd/devices/nmemX/nfit/format1
What:		/sys/bus/nd/devices/nmemX/nfit/formats
Date:		Apr, 2016
KernelVersion:	v4.7
Contact:	nvdimm@lists.linux.dev
Description:
		(RO) The interface codes indicate support for persistent memory
		mapped directly into system physical address space and / or a
		block aperture access mechanism to the NVDIMM media.
		The 'formats' attribute displays the number of supported
		interfaces.

		This layout is compatible with existing libndctl binaries that
		only expect one code per-dimm as they will ignore
		nmemX/nfit/formats and nmemX/nfit/formatN.

What:		/sys/bus/nd/devices/nmemX/nfit/vendor
Date:		Apr, 2016
KernelVersion:	v4.7
Contact:	nvdimm@lists.linux.dev
Description:
		(RO) Vendor id of the NVDIMM.

What:		/sys/bus/nd/devices/nmemX/nfit/dsm_mask
Date:		May, 2016
KernelVersion:	v4.7
Contact:	nvdimm@lists.linux.dev
Description:
		(RO) The bitmask indicates the supported device specific control
		functions relative to the NVDIMM command family supported by the
		device

What:		/sys/bus/nd/devices/nmemX/nfit/family
Date:		Apr, 2016
KernelVersion:	v4.7
Contact:	nvdimm@lists.linux.dev
Description:
		(RO) Displays the NVDIMM family command sets. Values
		0, 1, 2 and 3 correspond to NVDIMM_FAMILY_INTEL,
		NVDIMM_FAMILY_HPE1, NVDIMM_FAMILY_HPE2 and NVDIMM_FAMILY_MSFT
		respectively.

		See the specifications for these command families here:
		http://pmem.io/documents/NVDIMM_DSM_Interface-V1.6.pdf
		https://github.com/HewlettPackard/hpe-nvm/blob/master/Documentation/
		https://msdn.microsoft.com/library/windows/hardware/mt604741"

What:		/sys/bus/nd/devices/nmemX/nfit/id
Date:		Apr, 2016
KernelVersion:	v4.7
Contact:	nvdimm@lists.linux.dev
Description:
		(RO) ACPI specification 6.2 section 5.2.25.9, defines an
		identifier for an NVDIMM, which refelects the id attribute.

What:		/sys/bus/nd/devices/nmemX/nfit/subsystem_vendor
Date:		Apr, 2016
KernelVersion:	v4.7
Contact:	nvdimm@lists.linux.dev
Description:
		(RO) Sub-system vendor id of the NVDIMM non-volatile memory
		subsystem controller.

What:		/sys/bus/nd/devices/nmemX/nfit/subsystem_rev_id
Date:		Apr, 2016
KernelVersion:	v4.7
Contact:	nvdimm@lists.linux.dev
Description:
		(RO) Sub-system revision id of the NVDIMM non-volatile memory subsystem
		controller, assigned by the non-volatile memory subsystem
		controller vendor.

What:		/sys/bus/nd/devices/nmemX/nfit/subsystem_device
Date:		Apr, 2016
KernelVersion:	v4.7
Contact:	nvdimm@lists.linux.dev
Description:
		(RO) Sub-system device id for the NVDIMM non-volatile memory
		subsystem controller, assigned by the non-volatile memory
		subsystem controller vendor.

What:		/sys/bus/nd/devices/ndbusX/nfit/revision
Date:		Jun, 2015
KernelVersion:	v4.2
Contact:	nvdimm@lists.linux.dev
Description:
		(RO) ACPI NFIT table revision number.

What:		/sys/bus/nd/devices/ndbusX/nfit/scrub
Date:		Sep, 2016
KernelVersion:	v4.9
Contact:	nvdimm@lists.linux.dev
Description:
		(RW) This shows the number of full Address Range Scrubs (ARS)
		that have been completed since driver load time. Userspace can
		wait on this using select/poll etc. A '+' at the end indicates
		an ARS is in progress

		Writing a value of 1 triggers an ARS scan.

What:		/sys/bus/nd/devices/ndbusX/nfit/hw_error_scrub
Date:		Sep, 2016
KernelVersion:	v4.9
Contact:	nvdimm@lists.linux.dev
Description:
		(RW) Provides a way to toggle the behavior between just adding
		the address (cache line) where the MCE happened to the poison
		list and doing a full scrub. The former (selective insertion of
		the address) is done unconditionally.

		This attribute can have the following values written to it:

		'0': Switch to the default mode where an exception will only
		insert the address of the memory error into the poison and
		badblocks lists.
		'1': Enable a full scrub to happen if an exception for a memory
		error is received.

What:		/sys/bus/nd/devices/ndbusX/nfit/dsm_mask
Date:		Jun, 2017
KernelVersion:	v4.13
Contact:	nvdimm@lists.linux.dev
Description:
		(RO) The bitmask indicates the supported bus specific control
		functions. See the section named 'NVDIMM Root Device _DSMs' in
		the ACPI specification.

What:		/sys/bus/nd/devices/ndbusX/nfit/firmware_activate_noidle
Date:		Apr, 2020
KernelVersion:	v5.8
Contact:	nvdimm@lists.linux.dev
Description:
		(RW) The Intel platform implementation of firmware activate
		support exposes an option let the platform force idle devices in
		the system over the activation event, or trust that the OS will
		do it. The safe default is to let the platform force idle
		devices since the kernel is already in a suspend state, and on
		the chance that a driver does not properly quiesce bus-mastering
		after a suspend callback the platform will handle it.  However,
		the activation might abort if, for example, platform firmware
		determines that the activation time exceeds the max PCI-E
		completion timeout. Since the platform does not know whether the
		OS is running the activation from a suspend context it aborts,
		but if the system owner trusts driver suspend callback to be
		sufficient then 'firmware_activation_noidle' can be
		enabled to bypass the activation abort.

What:		/sys/bus/nd/devices/regionX/nfit/range_index
Date:		Jun, 2015
KernelVersion:	v4.2
Contact:	nvdimm@lists.linux.dev
Description:
		(RO) A unique number provided by the BIOS to identify an address
		range. Used by NVDIMM Region Mapping Structure to uniquely refer
		to this structure. Value of 0 is reserved and not used as an
		index.


code:
What:          nvdimm
Date:          July 2020
KernelVersion: 5.8
Contact:       Dan Williams <dan.j.williams@intel.com>
Description:

The libnvdimm sub-system implements a common sysfs interface for
platform nvdimm resources. See Documentation/driver-api/nvdimm/.

What:           /sys/bus/event_source/devices/nmemX/format
Date:           February 2022
KernelVersion:  5.18
Contact:        Kajol Jain <kjain@linux.ibm.com>
Description:	(RO) Attribute group to describe the magic bits
		that go into perf_event_attr.config for a particular pmu.
		(See ABI/testing/sysfs-bus-event_source-devices-format).

		Each attribute under this group defines a bit range of the
		perf_event_attr.config. Supported attribute is listed
		below::
		  event  = "config:0-4"  - event ID

		For example::
			ctl_res_cnt = "event=0x1"

What:           /sys/bus/event_source/devices/nmemX/events
Date:           February 2022
KernelVersion:  5.18
Contact:        Kajol Jain <kjain@linux.ibm.com>
Description:	(RO) Attribute group to describe performance monitoring events
                for the nvdimm memory device. Each attribute in this group
                describes a single performance monitoring event supported by
                this nvdimm pmu.  The name of the file is the name of the event.
                (See ABI/testing/sysfs-bus-event_source-devices-events). A
                listing of the events supported by a given nvdimm provider type
                can be found in Documentation/driver-api/nvdimm/$provider.

What:          /sys/bus/event_source/devices/nmemX/cpumask
Date:          February 2022
KernelVersion:  5.18
Contact:        Kajol Jain <kjain@linux.ibm.com>
Description:	(RO) This sysfs file exposes the cpumask which is designated to
		to retrieve nvdimm pmu event counter data.

What:		/sys/bus/nd/devices/nmemX/cxl/id
Date:		November 2022
KernelVersion:	6.2
Contact:	Dave Jiang <dave.jiang@intel.com>
Description:	(RO) Show the id (serial) of the device. This is CXL specific.

What:		/sys/bus/nd/devices/nmemX/cxl/provider
Date:		November 2022
KernelVersion:	6.2
Contact:	Dave Jiang <dave.jiang@intel.com>
Description:	(RO) Shows the CXL bridge device that ties to a CXL memory device
		to this NVDIMM device. I.e. the parent of the device returned is
		a /sys/bus/cxl/devices/memX instance.


code:
What:		/sys/bus/tee/devices/optee-ta-<uuid>/
Date:           May 2020
KernelVersion   5.8
Contact:        op-tee@lists.trustedfirmware.org
Description:
		OP-TEE bus provides reference to registered drivers under this directory. The <uuid>
		matches Trusted Application (TA) driver and corresponding TA in secure OS. Drivers
		are free to create needed API under optee-ta-<uuid> directory.


code:
What:		/sys/bus/nd/devices/nmemX/papr/flags
Date:		Apr, 2020
KernelVersion:	v5.8
Contact:	linuxppc-dev <linuxppc-dev@lists.ozlabs.org>, nvdimm@lists.linux.dev,
Description:
		(RO) Report flags indicating various states of a
		papr-pmem NVDIMM device. Each flag maps to a one or
		more bits set in the dimm-health-bitmap retrieved in
		response to H_SCM_HEALTH hcall. The details of the bit
		flags returned in response to this hcall is available
		at 'Documentation/powerpc/papr_hcalls.rst' . Below are
		the flags reported in this sysfs file:

		* "not_armed"
				  Indicates that NVDIMM contents will not
				  survive a power cycle.
		* "flush_fail"
				  Indicates that NVDIMM contents
				  couldn't be flushed during last
				  shut-down event.
		* "restore_fail"
				  Indicates that NVDIMM contents
				  couldn't be restored during NVDIMM
				  initialization.
		* "encrypted"
				  NVDIMM contents are encrypted.
		* "smart_notify"
				  There is health event for the NVDIMM.
		* "scrubbed"
				  Indicating that contents of the
				  NVDIMM have been scrubbed.
		* "locked"
				  Indicating that NVDIMM contents cant
				  be modified until next power cycle.

What:		/sys/bus/nd/devices/nmemX/papr/perf_stats
Date:		May, 2020
KernelVersion:	v5.9
Contact:	linuxppc-dev <linuxppc-dev@lists.ozlabs.org>, nvdimm@lists.linux.dev,
Description:
		(RO) Report various performance stats related to papr-scm NVDIMM
		device. This attribute is only available for NVDIMM devices
		that support reporting NVDIMM performance stats. Each stat is
		reported on a new line with each line composed of a
		stat-identifier followed by it value. Below are currently known
		dimm performance stats which are reported:

		* "CtlResCt" : Controller Reset Count
		* "CtlResTm" : Controller Reset Elapsed Time
		* "PonSecs " : Power-on Seconds
		* "MemLife " : Life Remaining
		* "CritRscU" : Critical Resource Utilization
		* "HostLCnt" : Host Load Count
		* "HostSCnt" : Host Store Count
		* "HostSDur" : Host Store Duration
		* "HostLDur" : Host Load Duration
		* "MedRCnt " : Media Read Count
		* "MedWCnt " : Media Write Count
		* "MedRDur " : Media Read Duration
		* "MedWDur " : Media Write Duration
		* "CchRHCnt" : Cache Read Hit Count
		* "CchWHCnt" : Cache Write Hit Count
		* "FastWCnt" : Fast Write Count

What:		/sys/bus/nd/devices/nmemX/papr/health_bitmap_inject
Date:		Jan, 2022
KernelVersion:	v5.17
Contact:	linuxppc-dev <linuxppc-dev@lists.ozlabs.org>, nvdimm@lists.linux.dev,
Description:
		(RO) Reports the health bitmap inject bitmap that is applied to
		bitmap received from PowerVM via the H_SCM_HEALTH. This is used
		to forcibly set specific bits returned from Hcall. These is then
		used to simulate various health or shutdown states for an nvdimm
		and are set by user-space tools like ndctl by issuing a PAPR DSM.