code:
What:		/sys/class/fpga_manager/<fpga>/name
Date:		August 2015
KernelVersion:	4.3
Contact:	Alan Tull <atull@opensource.altera.com>
Description:	Name of low level fpga manager driver.

What:		/sys/class/fpga_manager/<fpga>/state
Date:		August 2015
KernelVersion:	4.3
Contact:	Alan Tull <atull@opensource.altera.com>
Description:	Read fpga manager state as a string.
		The intent is to provide enough detail that if something goes
		wrong during FPGA programming (something that the driver can't
		fix) then userspace can know, i.e. if the firmware request
		fails, that could be due to not being able to find the firmware
		file.

		This is a superset of FPGA states and fpga manager driver
		states.  The fpga manager driver is walking through these steps
		to get the FPGA into a known operating state.  It's a sequence,
		though some steps may get skipped.  Valid FPGA states will vary
		by manufacturer; this is a superset.

		* unknown		= can't determine state
		* power off		= FPGA power is off
		* power up		= FPGA reports power is up
		* reset			= FPGA held in reset state
		* firmware request	= firmware class request in progress
		* firmware request error = firmware request failed
		* write init		= preparing FPGA for programming
		* write init error	= Error while preparing FPGA for programming
		* write			= FPGA ready to receive image data
		* write error		= Error while programming
		* write complete	= Doing post programming steps
		* write complete error	= Error while doing post programming
		* operating		= FPGA is programmed and operating

What:		/sys/class/fpga_manager/<fpga>/status
Date:		June 2018
KernelVersion:	4.19
Contact:	Wu Hao <hao.wu@intel.com>
Description:	Read fpga manager status as a string.
		If FPGA programming operation fails, it could be caused by crc
		error or incompatible bitstream image. The intent of this
		interface is to provide more detailed information for FPGA
		programming errors to userspace. This is a list of strings for
		the supported status.

		* reconfig operation error	- invalid operations detected by
						  reconfiguration hardware.
						  e.g. start reconfiguration
						  with errors not cleared
		* reconfig CRC error		- CRC error detected by
						  reconfiguration hardware.
		* reconfig incompatible image	- reconfiguration image is
						  incompatible with hardware
		* reconfig IP protocol error	- protocol errors detected by
						  reconfiguration hardware
		* reconfig fifo overflow error	- FIFO overflow detected by
						  reconfiguration hardware


code:
What:		/sys/class/fpga_region/<region>/compat_id
Date:		June 2018
KernelVersion:	4.19
Contact:	Wu Hao <hao.wu@intel.com>
Description:	FPGA region id for compatibility check, e.g. compatibility
		of the FPGA reconfiguration hardware and image. This value
		is defined or calculated by the layer that is creating the
		FPGA region. This interface returns the compat_id value or
		just error code -ENOENT in case compat_id is not used.

repo_name: angery/linux


code:
What:		/sys/class/gnss/gnss<N>/type
Date:		May 2018
KernelVersion:	4.18
Contact:	Johan Hovold <johan@kernel.org>
Description:
		The GNSS receiver type. The currently identified types reflect
		the protocol(s) supported by the receiver:

			======		===========
			"NMEA"		NMEA 0183
			"SiRF"		SiRF Binary
			"UBX"		UBX
			======		===========

		Note that also non-"NMEA" type receivers typically support a
		subset of NMEA 0183 with vendor extensions (e.g. to allow
		switching to a vendor protocol).


code:
What:		/sys/class/hwmon/hwmonX/name
Description:
		The chip name.
		This should be a short, lowercase string, not containing
		whitespace, dashes, or the wildcard character '*'.
		This attribute represents the chip name. It is the only
		mandatory attribute.
		I2C devices get this attribute created automatically.

		RO

What:		/sys/class/hwmon/hwmonX/label
Description:
		A descriptive label that allows to uniquely identify a
		device within the system.
		The contents of the label are free-form.

		RO

What:		/sys/class/hwmon/hwmonX/update_interval
Description:
		The interval at which the chip will update readings.
		Unit: millisecond

		RW

		Some devices have a variable update rate or interval.
		This attribute can be used to change it to the desired value.

What:		/sys/class/hwmon/hwmonX/inY_min
Description:
		Voltage min value.

		Unit: millivolt

		RW

What:		/sys/class/hwmon/hwmonX/inY_lcrit
Description:
		Voltage critical min value.

		Unit: millivolt

		RW

		If voltage drops to or below this limit, the system may
		take drastic action such as power down or reset. At the very
		least, it should report a fault.

What:		/sys/class/hwmon/hwmonX/inY_max
Description:
		Voltage max value.

		Unit: millivolt

		RW

What:		/sys/class/hwmon/hwmonX/inY_crit
Description:
		Voltage critical max value.

		Unit: millivolt

		RW

		If voltage reaches or exceeds this limit, the system may
		take drastic action such as power down or reset. At the very
		least, it should report a fault.

What:		/sys/class/hwmon/hwmonX/inY_input
Description:
		Voltage input value.

		Unit: millivolt

		RO

		Voltage measured on the chip pin.

		Actual voltage depends on the scaling resistors on the
		motherboard, as recommended in the chip datasheet.

		This varies by chip and by motherboard.
		Because of this variation, values are generally NOT scaled
		by the chip driver, and must be done by the application.
		However, some drivers (notably lm87 and via686a)
		do scale, because of internal resistors built into a chip.
		These drivers will output the actual voltage. Rule of
		thumb: drivers should report the voltage values at the
		"pins" of the chip.

What:		/sys/class/hwmon/hwmonX/inY_average
Description:
		Average voltage

		Unit: millivolt

		RO

What:		/sys/class/hwmon/hwmonX/inY_lowest
Description:
		Historical minimum voltage

		Unit: millivolt

		RO

What:		/sys/class/hwmon/hwmonX/inY_highest
Description:
		Historical maximum voltage

		Unit: millivolt

		RO

What:		/sys/class/hwmon/hwmonX/inY_reset_history
Description:
		Reset inX_lowest and inX_highest

		WO

What:		/sys/class/hwmon/hwmonX/in_reset_history
Description:
		Reset inX_lowest and inX_highest for all sensors

		WO

What:		/sys/class/hwmon/hwmonX/inY_label
Description:
		Suggested voltage channel label.

		Text string

		Should only be created if the driver has hints about what
		this voltage channel is being used for, and user-space
		doesn't. In all other cases, the label is provided by
		user-space.

		RO

What:		/sys/class/hwmon/hwmonX/inY_enable
Description:
		Enable or disable the sensors.

		When disabled the sensor read will return -ENODATA.

		- 1: Enable
		- 0: Disable

		RW

What:		/sys/class/hwmon/hwmonX/cpuY_vid
Description:
		CPU core reference voltage.

		Unit: millivolt

		RO

		Not always correct.

What:		/sys/class/hwmon/hwmonX/vrm
Description:
		Voltage Regulator Module version number.

		RW (but changing it should no more be necessary)

		Originally the VRM standard version multiplied by 10, but now
		an arbitrary number, as not all standards have a version
		number.

		Affects the way the driver calculates the CPU core reference
		voltage from the vid pins.

What:		/sys/class/hwmon/hwmonX/inY_rated_min
Description:
		Minimum rated voltage.

		Unit: millivolt

		RO

What:		/sys/class/hwmon/hwmonX/inY_rated_max
Description:
		Maximum rated voltage.

		Unit: millivolt

		RO

What:		/sys/class/hwmon/hwmonX/fanY_min
Description:
		Fan minimum value

		Unit: revolution/min (RPM)

		RW

What:		/sys/class/hwmon/hwmonX/fanY_max
Description:
		Fan maximum value

		Unit: revolution/min (RPM)

		Only rarely supported by the hardware.
		RW

What:		/sys/class/hwmon/hwmonX/fanY_input
Description:
		Fan input value.

		Unit: revolution/min (RPM)

		RO

What:		/sys/class/hwmon/hwmonX/fanY_div
Description:
		Fan divisor.

		Integer value in powers of two (1, 2, 4, 8, 16, 32, 64, 128).

		RW

		Some chips only support values 1, 2, 4 and 8.
		Note that this is actually an internal clock divisor, which
		affects the measurable speed range, not the read value.

What:		/sys/class/hwmon/hwmonX/fanY_pulses
Description:
		Number of tachometer pulses per fan revolution.

		Integer value, typically between 1 and 4.

		RW

		This value is a characteristic of the fan connected to the
		device's input, so it has to be set in accordance with the fan
		model.

		Should only be created if the chip has a register to configure
		the number of pulses. In the absence of such a register (and
		thus attribute) the value assumed by all devices is 2 pulses
		per fan revolution.

What:		/sys/class/hwmon/hwmonX/fanY_target
Description:
		Desired fan speed

		Unit: revolution/min (RPM)

		RW

		Only makes sense if the chip supports closed-loop fan speed
		control based on the measured fan speed.

What:		/sys/class/hwmon/hwmonX/fanY_label
Description:
		Suggested fan channel label.

		Text string

		Should only be created if the driver has hints about what
		this fan channel is being used for, and user-space doesn't.
		In all other cases, the label is provided by user-space.

		RO

What:		/sys/class/hwmon/hwmonX/fanY_enable
Description:
		Enable or disable the sensors.

		When disabled the sensor read will return -ENODATA.

		- 1: Enable
		- 0: Disable

		RW

What:		/sys/class/hwmon/hwmonX/pwmY
Description:
		Pulse width modulation fan control.

		Integer value in the range 0 to 255

		RW

		255 is max or 100%.

What:		/sys/class/hwmon/hwmonX/pwmY_enable
Description:
		Fan speed control method:

		- 0: no fan speed control (i.e. fan at full speed)
		- 1: manual fan speed control enabled (using `pwmY`)
		- 2+: automatic fan speed control enabled

		Check individual chip documentation files for automatic mode
		details.

		RW

What:		/sys/class/hwmon/hwmonX/pwmY_mode
Description:
		- 0: DC mode (direct current)
		- 1: PWM mode (pulse-width modulation)

		RW

What:		/sys/class/hwmon/hwmonX/pwmY_freq
Description:
		Base PWM frequency in Hz.

		Only possibly available when pwmN_mode is PWM, but not always
		present even then.

		RW

What:		/sys/class/hwmon/hwmonX/pwmY_auto_channels_temp
Description:
		Select which temperature channels affect this PWM output in
		auto mode.

		Bitfield, 1 is temp1, 2 is temp2, 4 is temp3 etc...
		Which values are possible depend on the chip used.

		RW

What:		/sys/class/hwmon/hwmonX/pwmY_auto_pointZ_pwm
What:		/sys/class/hwmon/hwmonX/pwmY_auto_pointZ_temp
What:		/sys/class/hwmon/hwmonX/pwmY_auto_pointZ_temp_hyst
Description:
		Define the PWM vs temperature curve.

		Number of trip points is chip-dependent. Use this for chips
		which associate trip points to PWM output channels.

		RW

What:		/sys/class/hwmon/hwmonX/tempY_auto_pointZ_pwm
What:		/sys/class/hwmon/hwmonX/tempY_auto_pointZ_temp
What:		/sys/class/hwmon/hwmonX/tempY_auto_pointZ_temp_hyst
Description:
		Define the PWM vs temperature curve.

		Number of trip points is chip-dependent. Use this for chips
		which associate trip points to temperature channels.

		RW

What:		/sys/class/hwmon/hwmonX/tempY_type
Description:
		Sensor type selection.

		Integers 1 to 6

		RW

		- 1: CPU embedded diode
		- 2: 3904 transistor
		- 3: thermal diode
		- 4: thermistor
		- 5: AMD AMDSI
		- 6: Intel PECI

		Not all types are supported by all chips

What:		/sys/class/hwmon/hwmonX/tempY_max
Description:
		Temperature max value.

		Unit: millidegree Celsius (or millivolt, see below)

		RW

What:		/sys/class/hwmon/hwmonX/tempY_min
Description:
		Temperature min value.

		Unit: millidegree Celsius

		RW

What:		/sys/class/hwmon/hwmonX/tempY_max_hyst
Description:
		Temperature hysteresis value for max limit.

		Unit: millidegree Celsius

		Must be reported as an absolute temperature, NOT a delta
		from the max value.

		RW

What:		/sys/class/hwmon/hwmonX/tempY_min_hyst
Description:
		Temperature hysteresis value for min limit.
		Unit: millidegree Celsius

		Must be reported as an absolute temperature, NOT a delta
		from the min value.

		RW

What:		/sys/class/hwmon/hwmonX/tempY_input
Description:
		Temperature input value.

		Unit: millidegree Celsius

		RO

What:		/sys/class/hwmon/hwmonX/tempY_crit
Description:
		Temperature critical max value, typically greater than
		corresponding temp_max values.

		Unit: millidegree Celsius

		RW

What:		/sys/class/hwmon/hwmonX/tempY_crit_alarm
Description:
		Critical high temperature alarm flag.

		- 0: OK
		- 1: temperature has reached tempY_crit

		RW

		Contrary to regular alarm flags which clear themselves
		automatically when read, this one sticks until cleared by
		the user. This is done by writing 0 to the file. Writing
		other values is unsupported.

What:		/sys/class/hwmon/hwmonX/tempY_crit_hyst
Description:
		Temperature hysteresis value for critical limit.

		Unit: millidegree Celsius

		Must be reported as an absolute temperature, NOT a delta
		from the critical value.

		RW

What:		/sys/class/hwmon/hwmonX/tempY_emergency
Description:
		Temperature emergency max value, for chips supporting more than
		two upper temperature limits. Must be equal or greater than
		corresponding temp_crit values.

		Unit: millidegree Celsius

		RW

What:		/sys/class/hwmon/hwmonX/tempY_emergency_hyst
Description:
		Temperature hysteresis value for emergency limit.

		Unit: millidegree Celsius

		Must be reported as an absolute temperature, NOT a delta
		from the emergency value.

		RW

What:		/sys/class/hwmon/hwmonX/tempY_lcrit
Description:
		Temperature critical min value, typically lower than
		corresponding temp_min values.

		Unit: millidegree Celsius

		RW

What:		/sys/class/hwmon/hwmonX/tempY_lcrit_hyst
Description:
		Temperature hysteresis value for critical min limit.

		Unit: millidegree Celsius

		Must be reported as an absolute temperature, NOT a delta
		from the critical min value.

		RW

What:		/sys/class/hwmon/hwmonX/tempY_offset
Description:
		Temperature offset which is added to the temperature reading
		by the chip.

		Unit: millidegree Celsius

		Read/Write value.

What:		/sys/class/hwmon/hwmonX/tempY_label
Description:
		Suggested temperature channel label.

		Text string

		Should only be created if the driver has hints about what
		this temperature channel is being used for, and user-space
		doesn't. In all other cases, the label is provided by
		user-space.

		RO

What:		/sys/class/hwmon/hwmonX/tempY_lowest
Description:
		Historical minimum temperature

		Unit: millidegree Celsius

		RO

What:		/sys/class/hwmon/hwmonX/tempY_highest
Description:
		Historical maximum temperature

		Unit: millidegree Celsius

		RO

What:		/sys/class/hwmon/hwmonX/tempY_reset_history
Description:
		Reset temp_lowest and temp_highest

		WO

What:		/sys/class/hwmon/hwmonX/temp_reset_history
Description:
		Reset temp_lowest and temp_highest for all sensors

		WO

What:		/sys/class/hwmon/hwmonX/tempY_enable
Description:
		Enable or disable the sensors.

		When disabled the sensor read will return -ENODATA.

		- 1: Enable
		- 0: Disable

		RW

What:		/sys/class/hwmon/hwmonX/tempY_rated_min
Description:
		Minimum rated temperature.

		Unit: millidegree Celsius

		RO

What:		/sys/class/hwmon/hwmonX/tempY_rated_max
Description:
		Maximum rated temperature.

		Unit: millidegree Celsius

		RO

What:		/sys/class/hwmon/hwmonX/currY_max
Description:
		Current max value

		Unit: milliampere

		RW

What:		/sys/class/hwmon/hwmonX/currY_min
Description:
		Current min value.

		Unit: milliampere

		RW

What:		/sys/class/hwmon/hwmonX/currY_lcrit
Description:
		Current critical low value

		Unit: milliampere

		RW

What:		/sys/class/hwmon/hwmonX/currY_crit
Description:
		Current critical high value.

		Unit: milliampere

		RW

What:		/sys/class/hwmon/hwmonX/currY_input
Description:
		Current input value

		Unit: milliampere

		RO

What:		/sys/class/hwmon/hwmonX/currY_average
Description:
		Average current use

		Unit: milliampere

		RO

What:		/sys/class/hwmon/hwmonX/currY_lowest
Description:
		Historical minimum current

		Unit: milliampere

		RO

What:		/sys/class/hwmon/hwmonX/currY_highest
Description:
		Historical maximum current
		Unit: milliampere
		RO

What:		/sys/class/hwmon/hwmonX/currY_reset_history
Description:
		Reset currX_lowest and currX_highest

		WO

What:		/sys/class/hwmon/hwmonX/curr_reset_history
Description:
		Reset currX_lowest and currX_highest for all sensors

		WO

What:		/sys/class/hwmon/hwmonX/currY_enable
Description:
		Enable or disable the sensors.

		When disabled the sensor read will return -ENODATA.

		- 1: Enable
		- 0: Disable

		RW

What:		/sys/class/hwmon/hwmonX/currY_rated_min
Description:
		Minimum rated current.

		Unit: milliampere

		RO

What:		/sys/class/hwmon/hwmonX/currY_rated_max
Description:
		Maximum rated current.

		Unit: milliampere

		RO

What:		/sys/class/hwmon/hwmonX/powerY_average
Description:
		Average power use

		Unit: microWatt

		RO

What:		/sys/class/hwmon/hwmonX/powerY_average_interval
Description:
		Power use averaging interval.  A poll
		notification is sent to this file if the
		hardware changes the averaging interval.

		Unit: milliseconds

		RW

What:		/sys/class/hwmon/hwmonX/powerY_average_interval_max
Description:
		Maximum power use averaging interval

		Unit: milliseconds

		RO

What:		/sys/class/hwmon/hwmonX/powerY_average_interval_min
Description:
		Minimum power use averaging interval

		Unit: milliseconds

		RO

What:		/sys/class/hwmon/hwmonX/powerY_average_highest
Description:
		Historical average maximum power use

		Unit: microWatt

		RO

What:		/sys/class/hwmon/hwmonX/powerY_average_lowest
Description:
		Historical average minimum power use

		Unit: microWatt

		RO

What:		/sys/class/hwmon/hwmonX/powerY_average_max
Description:
		A poll notification is sent to
		`powerY_average` when power use
		rises above this value.

		Unit: microWatt

		RW

What:		/sys/class/hwmon/hwmonX/powerY_average_min
Description:
		A poll notification is sent to
		`powerY_average` when power use
		sinks below this value.

		Unit: microWatt

		RW

What:		/sys/class/hwmon/hwmonX/powerY_input
Description:
		Instantaneous power use

		Unit: microWatt

		RO

What:		/sys/class/hwmon/hwmonX/powerY_input_highest
Description:
		Historical maximum power use

		Unit: microWatt

		RO

What:		/sys/class/hwmon/hwmonX/powerY_input_lowest
Description:
		Historical minimum power use

		Unit: microWatt

		RO

What:		/sys/class/hwmon/hwmonX/powerY_reset_history
Description:
		Reset input_highest, input_lowest,
		average_highest and average_lowest.

		WO

What:		/sys/class/hwmon/hwmonX/powerY_accuracy
Description:
		Accuracy of the power meter.

		Unit: Percent

		RO

What:		/sys/class/hwmon/hwmonX/powerY_cap
Description:
		If power use rises above this limit, the
		system should take action to reduce power use.
		A poll notification is sent to this file if the
		cap is changed by the hardware.  The `*_cap`
		files only appear if the cap is known to be
		enforced by hardware.

		Unit: microWatt

		RW

What:		/sys/class/hwmon/hwmonX/powerY_cap_hyst
Description:
		Margin of hysteresis built around capping and
		notification.

		Unit: microWatt

		RW

What:		/sys/class/hwmon/hwmonX/powerY_cap_max
Description:
		Maximum cap that can be set.

		Unit: microWatt

		RO

What:		/sys/class/hwmon/hwmonX/powerY_cap_min
Description:
		Minimum cap that can be set.

		Unit: microWatt

		RO

What:		/sys/class/hwmon/hwmonX/powerY_max
Description:
		Maximum power.

		Unit: microWatt

		RW

What:		/sys/class/hwmon/hwmonX/powerY_crit
Description:
		Critical maximum power.

		If power rises to or above this limit, the
		system is expected take drastic action to reduce
		power consumption, such as a system shutdown or
		a forced powerdown of some devices.

		Unit: microWatt

		RW

What:		/sys/class/hwmon/hwmonX/powerY_enable
Description:
		Enable or disable the sensors.

		When disabled the sensor read will return
		-ENODATA.

		- 1: Enable
		- 0: Disable

		RW

What:		/sys/class/hwmon/hwmonX/powerY_rated_min
Description:
		Minimum rated power.

		Unit: microWatt

		RO

What:		/sys/class/hwmon/hwmonX/powerY_rated_max
Description:
		Maximum rated power.

		Unit: microWatt

		RO

What:		/sys/class/hwmon/hwmonX/energyY_input
Description:
		Cumulative energy use

		Unit: microJoule

		RO

What:		/sys/class/hwmon/hwmonX/energyY_enable
Description:
		Enable or disable the sensors.

		When disabled the sensor read will return
		-ENODATA.

		- 1: Enable
		- 0: Disable

		RW

What:		/sys/class/hwmon/hwmonX/humidityY_input
Description:
		Humidity

		Unit: milli-percent (per cent mille, pcm)

		RO

What:		/sys/class/hwmon/hwmonX/humidityY_enable
Description:
		Enable or disable the sensors

		When disabled the sensor read will return
		-ENODATA.

		- 1: Enable
		- 0: Disable

		RW

What:		/sys/class/hwmon/hwmonX/humidityY_rated_min
Description:
		Minimum rated humidity.

		Unit: milli-percent (per cent mille, pcm)

		RO

What:		/sys/class/hwmon/hwmonX/humidityY_rated_max
Description:
		Maximum rated humidity.

		Unit: milli-percent (per cent mille, pcm)

		RO

What:		/sys/class/hwmon/hwmonX/intrusionY_alarm
Description:
		Chassis intrusion detection

		- 0: OK
		- 1: intrusion detected

		RW

		Contrary to regular alarm flags which clear themselves
		automatically when read, this one sticks until cleared by
		the user. This is done by writing 0 to the file. Writing
		other values is unsupported.

What:		/sys/class/hwmon/hwmonX/intrusionY_beep
Description:
		Chassis intrusion beep

		- 0: disable
		- 1: enable

		RW

What:		/sys/class/hwmon/hwmonX/device/pec
Description:
		PEC support on I2C devices

		- 0, off, n: disable
		- 1, on, y: enable

		RW


code:
What:		/sys/class/intel_pmt/
Date:		October 2020
KernelVersion:	5.10
Contact:	David Box <david.e.box@linux.intel.com>
Description:
		The intel_pmt/ class directory contains information for
		devices that expose hardware telemetry using Intel Platform
		Monitoring Technology (PMT)

What:		/sys/class/intel_pmt/telem<x>
Date:		October 2020
KernelVersion:	5.10
Contact:	David Box <david.e.box@linux.intel.com>
Description:
		The telem<x> directory contains files describing an instance of
		a PMT telemetry device that exposes hardware telemetry. Each
		telem<x> directory has an associated telem file. This file
		may be opened and mapped or read to access the telemetry space
		of the device. The register layout of the telemetry space is
		determined from an XML file that matches the PCI device id and
		GUID for the device.

What:		/sys/class/intel_pmt/telem<x>/telem
Date:		October 2020
KernelVersion:	5.10
Contact:	David Box <david.e.box@linux.intel.com>
Description:
		(RO) The telemetry data for this telemetry device. This file
		may be mapped or read to obtain the data.

What:		/sys/class/intel_pmt/telem<x>/guid
Date:		October 2020
KernelVersion:	5.10
Contact:	David Box <david.e.box@linux.intel.com>
Description:
		(RO) The GUID for this telemetry device. The GUID identifies
		the version of the XML file for the parent device that is to
		be used to get the register layout.

What:		/sys/class/intel_pmt/telem<x>/size
Date:		October 2020
KernelVersion:	5.10
Contact:	David Box <david.e.box@linux.intel.com>
Description:
		(RO) The size of telemetry region in bytes that corresponds to
		the mapping size for the telem file.

What:		/sys/class/intel_pmt/telem<x>/offset
Date:		October 2020
KernelVersion:	5.10
Contact:	David Box <david.e.box@linux.intel.com>
Description:
		(RO) The offset of telemetry region in bytes that corresponds to
		the mapping for the telem file.

What:		/sys/class/intel_pmt/crashlog<x>
Date:		October 2020
KernelVersion:	5.10
Contact:	Alexander Duyck <alexander.h.duyck@linux.intel.com>
Description:
		The crashlog<x> directory contains files for configuring an
		instance of a PMT crashlog device that can perform crash data
		recording. Each crashlog<x> device has an associated crashlog
		file. This file can be opened and mapped or read to access the
		resulting crashlog buffer. The register layout for the buffer
		can be determined from an XML file of specified GUID for the
		parent device.

What:		/sys/class/intel_pmt/crashlog<x>/crashlog
Date:		October 2020
KernelVersion:	5.10
Contact:	David Box <david.e.box@linux.intel.com>
Description:
		(RO) The crashlog buffer for this crashlog device. This file
		may be mapped or read to obtain the data.

What:		/sys/class/intel_pmt/crashlog<x>/guid
Date:		October 2020
KernelVersion:	5.10
Contact:	Alexander Duyck <alexander.h.duyck@linux.intel.com>
Description:
		(RO) The GUID for this crashlog device. The GUID identifies the
		version of the XML file for the parent device that should be
		used to determine the register layout.

What:		/sys/class/intel_pmt/crashlog<x>/size
Date:		October 2020
KernelVersion:	5.10
Contact:	Alexander Duyck <alexander.h.duyck@linux.intel.com>
Description:
		(RO) The length of the result buffer in bytes that corresponds
		to the size for the crashlog buffer.

What:		/sys/class/intel_pmt/crashlog<x>/offset
Date:		October 2020
KernelVersion:	5.10
Contact:	Alexander Duyck <alexander.h.duyck@linux.intel.com>
Description:
		(RO) The offset of the buffer in bytes that corresponds
		to the mapping for the crashlog device.

What:		/sys/class/intel_pmt/crashlog<x>/enable
Date:		October 2020
KernelVersion:	5.10
Contact:	Alexander Duyck <alexander.h.duyck@linux.intel.com>
Description:
		(RW) Boolean value controlling if the crashlog functionality
		is enabled for the crashlog device.

What:		/sys/class/intel_pmt/crashlog<x>/trigger
Date:		October 2020
KernelVersion:	5.10
Contact:	Alexander Duyck <alexander.h.duyck@linux.intel.com>
Description:
		(RW) Boolean value controlling the triggering of the crashlog
		device node. When read it provides data on if the crashlog has
		been triggered. When written to it can be used to either clear
		the current trigger by writing false, or to trigger a new
		event if the trigger is not currently set.


code:
What:		/sys/class/iommu/<iommu>/devices/
Date:		June 2014
KernelVersion:	3.17
Contact:	Alex Williamson <alex.williamson@redhat.com>
Description:
		IOMMU drivers are able to link devices managed by a
		given IOMMU here to allow association of IOMMU to
		device.

What:		/sys/devices/.../iommu
Date:		June 2014
KernelVersion:	3.17
Contact:	Alex Williamson <alex.williamson@redhat.com>
Description:
		IOMMU drivers are able to link the IOMMU for a
		given device here to allow association of device to
		IOMMU.


code:
What:		/sys/class/iommu/<iommu>/amd-iommu/cap
Date:		June 2014
KernelVersion:	3.17
Contact:	Alex Williamson <alex.williamson@redhat.com>
Description:
		IOMMU capability header as documented in the AMD IOMMU
		specification.  Format: %x

What:		/sys/class/iommu/<iommu>/amd-iommu/features
Date:		June 2014
KernelVersion:	3.17
Contact:	Alex Williamson <alex.williamson@redhat.com>
Description:
		Extended features of the IOMMU.  Format: %llx


code:
What:		/sys/class/iommu/<iommu>/intel-iommu/address
Date:		June 2014
KernelVersion:	3.17
Contact:	Alex Williamson <alex.williamson@redhat.com>
Description:
		Physical address of the VT-d DRHD for this IOMMU.
		Format: %llx.  This allows association of a sysfs
		intel-iommu with a DMAR DRHD table entry.

What:		/sys/class/iommu/<iommu>/intel-iommu/cap
Date:		June 2014
KernelVersion:	3.17
Contact:	Alex Williamson <alex.williamson@redhat.com>
Description:
		The cached hardware capability register value
		of this DRHD unit.  Format: %llx.

What:		/sys/class/iommu/<iommu>/intel-iommu/ecap
Date:		June 2014
KernelVersion:	3.17
Contact:	Alex Williamson <alex.williamson@redhat.com>
Description:
		The cached hardware extended capability register
		value of this DRHD unit.  Format: %llx.

What:		/sys/class/iommu/<iommu>/intel-iommu/version
Date:		June 2014
KernelVersion:	3.17
Contact:	Alex Williamson <alex.williamson@redhat.com>
Description:
		The architecture version as reported from the
		VT-d VER_REG.  Format: %d:%d, major:minor


code:
What:		/sys/class/lcd/<lcd>/lcd_power
Date:		April 2005
KernelVersion:	2.6.12
Contact:	Richard Purdie <rpurdie@rpsys.net>
Description:
		Control LCD power, values are FB_BLANK_* from fb.h
		 - FB_BLANK_UNBLANK (0)   : power on.
		 - FB_BLANK_POWERDOWN (4) : power off

What:		/sys/class/lcd/<lcd>/contrast
Date:		April 2005
KernelVersion:	2.6.12
Contact:	Richard Purdie <rpurdie@rpsys.net>
Description:
		Current contrast of this LCD device. Value is between 0 and
		/sys/class/lcd/<lcd>/max_contrast.

What:		/sys/class/lcd/<lcd>/max_contrast
Date:		April 2005
KernelVersion:	2.6.12
Contact:	Richard Purdie <rpurdie@rpsys.net>
Description:
		Maximum contrast for this LCD device.


code:
What:		/sys/class/leds/<led>/brightness
Date:		March 2006
KernelVersion:	2.6.17
Contact:	Richard Purdie <rpurdie@rpsys.net>
Description:
		Set the brightness of the LED.

		Most LEDs don't have hardware brightness support, so will
		just be turned on for non-zero brightness settings.

		.. Note::

		  For multicolor LEDs, writing to this file will update all
		  LEDs within the group to a calculated percentage of what
		  each color LED intensity is set to.

		  The percentage is calculated for each grouped LED via
		  the equation below::

		    led_brightness = brightness * multi_intensity/max_brightness

		  For additional details please refer to
		  Documentation/leds/leds-class-multicolor.rst.

		The value is between 0 and
		/sys/class/leds/<led>/max_brightness.

		Writing 0 to this file clears active trigger.

		Writing non-zero to this file while trigger is active changes the
		top brightness trigger is going to use.

What:		/sys/class/leds/<led>/max_brightness
Date:		March 2006
KernelVersion:	2.6.17
Contact:	Richard Purdie <rpurdie@rpsys.net>
Description:
		Maximum brightness level for this LED, default is 255 (LED_FULL).

		If the LED does not support different brightness levels, this
		should be 1.

What:		/sys/class/leds/<led>/brightness_hw_changed
Date:		January 2017
KernelVersion:	4.11
Description:
		Last hardware set brightness level for this LED. Some LEDs
		may be changed autonomously by hardware/firmware. Only LEDs
		where this happens and the driver can detect this, will have
		this file.

		This file supports poll() to detect when the hardware changes
		the brightness.

		Reading this file will return the last brightness level set
		by the hardware, this may be different from the current
		brightness. Reading this file when no hw brightness change
		event has happened will return an ENODATA error.

What:		/sys/class/leds/<led>/trigger
Date:		March 2006
KernelVersion:	2.6.17
Contact:	Richard Purdie <rpurdie@rpsys.net>
Description:
		Set the trigger for this LED. A trigger is a kernel based source
		of LED events.

		You can change triggers in a similar manner to the way an IO
		scheduler is chosen. Trigger specific parameters can appear in
		/sys/class/leds/<led> once a given trigger is selected. For
		their documentation see `sysfs-class-led-trigger-*`.

What:		/sys/class/leds/<led>/inverted
Date:		January 2011
KernelVersion:	2.6.38
Contact:	Richard Purdie <rpurdie@rpsys.net>
Description:
		Invert the LED on/off state. This parameter is specific to
		gpio and backlight triggers. In case of the backlight trigger,
		it is useful when driving a LED which is intended to indicate
		a device in a standby like state.


code:
What:		/sys/class/leds/<led>/als_channel
Date:		May 2012
KernelVersion:	3.5
Contact:	Johan Hovold <jhovold@gmail.com>
Description:
		Set the ALS output channel to use as input in
		ALS-current-control mode (1, 2), where:

		==  ============
		1   out_current1
		2   out_current2
		==  ============

What:		/sys/class/leds/<led>/als_en
Date:		May 2012
KernelVersion:	3.5
Contact:	Johan Hovold <jhovold@gmail.com>
Description:
		Enable ALS-current-control mode (0, 1).

What:		/sys/class/leds/<led>/falltime
What:		/sys/class/leds/<led>/risetime
Date:		April 2012
KernelVersion:	3.5
Contact:	Johan Hovold <jhovold@gmail.com>
Description:
		Set the pattern generator fall and rise times (0..7), where:

		==  =======
		0   2048 us
		1   262 ms
		2   524 ms
		3   1.049 s
		4   2.097 s
		5   4.194 s
		6   8.389 s
		7   16.78 s
		==  =======

What:		/sys/class/leds/<led>/id
Date:		April 2012
KernelVersion:	3.5
Contact:	Johan Hovold <jhovold@gmail.com>
Description:
		Get the id of this led (0..3).

What:		/sys/class/leds/<led>/linear
Date:		April 2012
KernelVersion:	3.5
Contact:	Johan Hovold <jhovold@gmail.com>
Description:
		Set the brightness-mapping mode (0, 1), where:

		==  ================
		0   exponential mode
		1   linear mode
		==  ================

What:		/sys/class/leds/<led>/pwm
Date:		April 2012
KernelVersion:	3.5
Contact:	Johan Hovold <jhovold@gmail.com>
Description:
		Set the PWM-input control mask (5 bits), where:

		=====  ===========================
		bit 5  PWM-input enabled in Zone 4
		bit 4  PWM-input enabled in Zone 3
		bit 3  PWM-input enabled in Zone 2
		bit 2  PWM-input enabled in Zone 1
		bit 1  PWM-input enabled in Zone 0
		bit 0  PWM-input enabled
		=====  ===========================


code:
What:		/sys/class/leds/<led>/device/brightness
Date:		July 2020
KernelVersion:	5.9
Contact:	Marek Behún <kabel@kernel.org>
Description:	(RW) On the front panel of the Turris Omnia router there is also
		a button which can be used to control the intensity of all the
		LEDs at once, so that if they are too bright, user can dim them.

		The microcontroller cycles between 8 levels of this global
		brightness (from 100% to 0%), but this setting can have any
		integer value between 0 and 100. It is therefore convenient to be
		able to change this setting from software.

		Format: %i


code:
What:		/sys/class/leds/<led>/flash_brightness
Date:		March 2015
KernelVersion:	4.0
Contact:	Jacek Anaszewski <j.anaszewski@samsung.com>
Description:	read/write
		Set the brightness of this LED in the flash strobe mode, in
		microamperes. The file is created only for the flash LED devices
		that support setting flash brightness.

		The value is between 0 and
		/sys/class/leds/<led>/max_flash_brightness.

What:		/sys/class/leds/<led>/max_flash_brightness
Date:		March 2015
KernelVersion:	4.0
Contact:	Jacek Anaszewski <j.anaszewski@samsung.com>
Description:	read only
		Maximum brightness level for this LED in the flash strobe mode,
		in microamperes.

What:		/sys/class/leds/<led>/flash_timeout
Date:		March 2015
KernelVersion:	4.0
Contact:	Jacek Anaszewski <j.anaszewski@samsung.com>
Description:	read/write
		Hardware timeout for flash, in microseconds. The flash strobe
		is stopped after this period of time has passed from the start
		of the strobe. The file is created only for the flash LED
		devices that support setting flash timeout.

What:		/sys/class/leds/<led>/max_flash_timeout
Date:		March 2015
KernelVersion:	4.0
Contact:	Jacek Anaszewski <j.anaszewski@samsung.com>
Description:	read only
		Maximum flash timeout for this LED, in microseconds.

What:		/sys/class/leds/<led>/flash_strobe
Date:		March 2015
KernelVersion:	4.0
Contact:	Jacek Anaszewski <j.anaszewski@samsung.com>
Description:	read/write
		Flash strobe state. When written with 1 it triggers flash strobe
		and when written with 0 it turns the flash off.

		On read 1 means that flash is currently strobing and 0 means
		that flash is off.

What:		/sys/class/leds/<led>/flash_fault
Date:		March 2015
KernelVersion:	4.0
Contact:	Jacek Anaszewski <j.anaszewski@samsung.com>
Description:	read only
		Space separated list of flash faults that may have occurred.
		Flash faults are re-read after strobing the flash. Possible
		flash faults:

		* led-over-voltage
			flash controller voltage to the flash LED
			has exceeded the limit specific to the flash controller
		* flash-timeout-exceeded
			the flash strobe was still on when
			the timeout set by the user has expired; not all flash
			controllers may set this in all such conditions
		* controller-over-temperature
			the flash controller has
			overheated
		* controller-short-circuit
			the short circuit protection
			of the flash controller has been triggered
		* led-power-supply-over-current
			current in the LED power
			supply has exceeded the limit specific to the flash
			controller
		* indicator-led-fault
			the flash controller has detected
			a short or open circuit condition on the indicator LED
		* led-under-voltage
			flash controller voltage to the flash
			LED has been below the minimum limit specific to
			the flash
		* controller-under-voltage
			the input voltage of the flash
			controller is below the limit under which strobing the
			flash at full current will not be possible;
			the condition persists until this flag is no longer set
		* led-over-temperature
			the temperature of the LED has exceeded
			its allowed upper limit


code:
What:		/sys/class/leds/<led>/multi_index
Date:		March 2020
KernelVersion:	5.9
Contact:	Dan Murphy <dmurphy@ti.com>
Description:	read
		The multi_index array, when read, will output the LED colors
		as an array of strings as they are indexed in the
		multi_intensity file.

		For additional details please refer to
		Documentation/leds/leds-class-multicolor.rst.

What:		/sys/class/leds/<led>/multi_intensity
Date:		March 2020
KernelVersion:	5.9
Contact:	Dan Murphy <dmurphy@ti.com>
Description:	read/write
		This file contains array of integers. Order of components is
		described by the multi_index array. The maximum intensity should
		not exceed /sys/class/leds/<led>/max_brightness.

		For additional details please refer to
		Documentation/leds/leds-class-multicolor.rst.


code:
What:		/sys/class/leds/<led>/device_name
Date:		Dec 2017
KernelVersion:	4.16
Contact:	linux-leds@vger.kernel.org
Description:
		Specifies the network device name to monitor.

What:		/sys/class/leds/<led>/interval
Date:		Dec 2017
KernelVersion:	4.16
Contact:	linux-leds@vger.kernel.org
Description:
		Specifies the duration of the LED blink in milliseconds.
		Defaults to 50 ms.

What:		/sys/class/leds/<led>/link
Date:		Dec 2017
KernelVersion:	4.16
Contact:	linux-leds@vger.kernel.org
Description:
		Signal the link state of the named network device.

		If set to 0 (default), the LED's normal state is off.

		If set to 1, the LED's normal state reflects the link state
		of the named network device.
		Setting this value also immediately changes the LED state.

What:		/sys/class/leds/<led>/tx
Date:		Dec 2017
KernelVersion:	4.16
Contact:	linux-leds@vger.kernel.org
Description:
		Signal transmission of data on the named network device.

		If set to 0 (default), the LED will not blink on transmission.

		If set to 1, the LED will blink for the milliseconds specified
		in interval to signal transmission.

What:		/sys/class/leds/<led>/rx
Date:		Dec 2017
KernelVersion:	4.16
Contact:	linux-leds@vger.kernel.org
Description:
		Signal reception of data on the named network device.

		If set to 0 (default), the LED will not blink on reception.

		If set to 1, the LED will blink for the milliseconds specified
		in interval to signal reception.


code:
What:		/sys/class/leds/<led>/delay_on
Date:		Jun 2012
KernelVersion:	3.6
Contact:	linux-leds@vger.kernel.org
Description:
		Specifies for how many milliseconds the LED has to stay at
		LED_FULL brightness after it has been armed.
		Defaults to 100 ms.

What:		/sys/class/leds/<led>/delay_off
Date:		Jun 2012
KernelVersion:	3.6
Contact:	linux-leds@vger.kernel.org
Description:
		Specifies for how many milliseconds the LED has to stay at
		LED_OFF brightness after it has been armed.
		Defaults to 100 ms.

What:		/sys/class/leds/<led>/invert
Date:		Jun 2012
KernelVersion:	3.6
Contact:	linux-leds@vger.kernel.org
Description:
		Reverse the blink logic. If set to 0 (default) blink on for
		delay_on ms, then blink off for delay_off ms, leaving the LED
		normally off. If set to 1, blink off for delay_off ms, then
		blink on for delay_on ms, leaving the LED normally on.
		Setting this value also immediately changes the LED state.

What:		/sys/class/leds/<led>/shot
Date:		Jun 2012
KernelVersion:	3.6
Contact:	linux-leds@vger.kernel.org
Description:
		Write any non-empty string to signal an events, this starts a
		blink sequence if not already running.


code:
What:		/sys/class/leds/<led>/pattern
Date:		September 2018
KernelVersion:	4.20
Description:
		Specify a software pattern for the LED, that supports altering
		the brightness for the specified duration with one software
		timer. It can do gradual dimming and step change of brightness.

		The pattern is given by a series of tuples, of brightness and
		duration (ms).

		The exact format is described in:
		Documentation/devicetree/bindings/leds/leds-trigger-pattern.txt

What:		/sys/class/leds/<led>/hw_pattern
Date:		September 2018
KernelVersion:	4.20
Description:
		Specify a hardware pattern for the LED, for LED hardware that
		supports autonomously controlling brightness over time, according
		to some preprogrammed hardware patterns. It deactivates any active
		software pattern.

		Since different LED hardware can have different semantics of
		hardware patterns, each driver is expected to provide its own
		description for the hardware patterns in their documentation
		file at Documentation/leds/.

What:		/sys/class/leds/<led>/repeat
Date:		September 2018
KernelVersion:	4.20
Description:
		Specify a pattern repeat number. -1 means repeat indefinitely,
		other negative numbers and number 0 are invalid.

		This file will always return the originally written repeat
		number.

		It should be noticed that some leds, like EL15203000 may
		only support indefinitely patterns, so they always store -1.


code:
What:		/sys/class/leds/<led>/ttyname
Date:		Dec 2020
KernelVersion:	5.10
Contact:	linux-leds@vger.kernel.org
Description:
		Specifies the tty device name of the triggering tty


code:
What:		/sys/class/leds/<led>/ports/<port>
Date:		September 2016
KernelVersion:	4.9
Contact:	linux-leds@vger.kernel.org
		linux-usb@vger.kernel.org
Description:
		Every dir entry represents a single USB port that can be
		selected for the USB port trigger. Selecting ports makes trigger
		observing them for any connected devices and lighting on LED if
		there are any.

		Echoing "1" value selects USB port. Echoing "0" unselects it.
		Current state can be also read.


code:
What:		/sys/class/leds/<led>/gt683r/mode
Date:		Jun 2014
KernelVersion:	3.17
Contact:	Janne Kanniainen <janne.kanniainen@gmail.com>
Description:
		Set the mode of LEDs. You should notice that changing the mode
		of one LED will update the mode of its two sibling devices as
		well. Possible values are:

		==  =========
		0   normal
		1   audio
		2   breathing
		==  =========

		Normal: LEDs are fully on when enabled
		Audio:  LEDs brightness depends on sound level
		Breathing: LEDs brightness varies at human breathing rate


code:
What:		/sys/class/mei/
Date:		May 2014
KernelVersion:	3.17
Contact:	Tomas Winkler <tomas.winkler@intel.com>
Description:
		The mei/ class sub-directory belongs to mei device class

What:		/sys/class/mei/mei<N>/
Date:		May 2014
KernelVersion:	3.17
Contact:	Tomas Winkler <tomas.winkler@intel.com>
Description:
		The /sys/class/mei/meiN directory is created for
		each probed mei device

What:		/sys/class/mei/mei<N>/fw_status
Date:		Nov 2014
KernelVersion:	3.19
Contact:	Tomas Winkler <tomas.winkler@intel.com>
Description:	Display fw status registers content

		The ME FW writes its status information into fw status
		registers for BIOS and OS to monitor fw health.

		The register contains running state, power management
		state, error codes, and others. The way the registers
		are decoded depends on PCH or SoC generation.
		Also number of registers varies between 1 and 6
		depending on generation.

What:		/sys/class/mei/mei<N>/hbm_ver
Date:		Aug 2016
KernelVersion:	4.9
Contact:	Tomas Winkler <tomas.winkler@intel.com>
Description:	Display the negotiated HBM protocol version.

		The HBM protocol version negotiated
		between the driver and the device.

What:		/sys/class/mei/mei<N>/hbm_ver_drv
Date:		Aug 2016
KernelVersion:	4.9
Contact:	Tomas Winkler <tomas.winkler@intel.com>
Description:	Display the driver HBM protocol version.

		The HBM protocol version supported by the driver.

What:		/sys/class/mei/mei<N>/tx_queue_limit
Date:		Jan 2018
KernelVersion:	4.16
Contact:	Tomas Winkler <tomas.winkler@intel.com>
Description:	Configure tx queue limit

		Set maximal number of pending writes
		per opened session.

What:		/sys/class/mei/mei<N>/fw_ver
Date:		May 2018
KernelVersion:	4.18
Contact:	Tomas Winkler <tomas.winkler@intel.com>
Description:	Display the ME firmware version.

		The version of the platform ME firmware is in format:
		<platform>:<major>.<minor>.<milestone>.<build_no>.
		There can be up to three such blocks for different
		FW components.

What:		/sys/class/mei/mei<N>/dev_state
Date:		Mar 2019
KernelVersion:	5.1
Contact:	Tomas Winkler <tomas.winkler@intel.com>
Description:	Display the ME device state.

		The device state can have following values:
		INITIALIZING
		INIT_CLIENTS
		ENABLED
		RESETTING
		DISABLED
		POWER_DOWN
		POWER_UP

What:		/sys/class/mei/mei<N>/trc
Date:		Nov 2019
KernelVersion:	5.5
Contact:	Tomas Winkler <tomas.winkler@intel.com>
Description:	Display trc status register content

		The ME FW writes Glitch Detection HW (TRC)
		status information into trc status register
		for BIOS and OS to monitor fw health.

What:		/sys/class/mei/mei<N>/kind
Date:		Jul 2020
KernelVersion:	5.8
Contact:	Tomas Winkler <tomas.winkler@intel.com>
Description:	Display kind of the device

		Generic devices are marked as "mei"
		while special purpose have their own
		names.
		Available options:
		- mei:  generic mei device.
		- itouch:  itouch (ipts) mei device.


code:
What:		/sys/class/mic/
Date:		October 2013
KernelVersion:	3.13
Contact:	Sudeep Dutt <sudeep.dutt@intel.com>
Description:
		The mic class directory belongs to Intel MIC devices and
		provides information per MIC device. An Intel MIC device is a
		PCIe form factor add-in Coprocessor card based on the Intel Many
		Integrated Core (MIC) architecture that runs a Linux OS.

What:		/sys/class/mic/mic<X>
Date:		October 2013
KernelVersion:	3.13
Contact:	Sudeep Dutt <sudeep.dutt@intel.com>
Description:
		The directories /sys/class/mic/mic0, /sys/class/mic/mic1 etc.,
		represent MIC devices (0,1,..etc). Each directory has
		information specific to that MIC device.

What:		/sys/class/mic/mic<X>/family
Date:		October 2013
KernelVersion:	3.13
Contact:	Sudeep Dutt <sudeep.dutt@intel.com>
Description:
		Provides information about the Coprocessor family for an Intel
		MIC device. For example - "x100"

What:		/sys/class/mic/mic<X>/stepping
Date:		October 2013
KernelVersion:	3.13
Contact:	Sudeep Dutt <sudeep.dutt@intel.com>
Description:
		Provides information about the silicon stepping for an Intel
		MIC device. For example - "A0" or "B0"

What:		/sys/class/mic/mic<X>/state
Date:		October 2013
KernelVersion:	3.13
Contact:	Sudeep Dutt <sudeep.dutt@intel.com>
Description:
		When read, this entry provides the current state of an Intel
		MIC device in the context of the card OS. Possible values that
		will be read are:

		===============  ===============================================
		"ready"		 The MIC device is ready to boot the card OS.
				 On reading this entry after an OSPM resume,
				 a "boot" has to be written to this entry if
				 the card was previously shutdown during OSPM
				 suspend.
		"booting"	 The MIC device has initiated booting a card OS.
		"online"	 The MIC device has completed boot and is online
		"shutting_down"	 The card OS is shutting down.
		"resetting"	 A reset has been initiated for the MIC device
		"reset_failed"	 The MIC device has failed to reset.
		===============  ===============================================

		When written, this sysfs entry triggers different state change
		operations depending upon the current state of the card OS.
		Acceptable values are:

		==========  ===================================================
		"boot"      Boot the card OS image specified by the combination
			    of firmware, ramdisk, cmdline and bootmode
			    sysfs entries.
		"reset"     Initiates device reset.
		"shutdown"  Initiates card OS shutdown.
		==========  ===================================================

What:		/sys/class/mic/mic<X>/shutdown_status
Date:		October 2013
KernelVersion:	3.13
Contact:	Sudeep Dutt <sudeep.dutt@intel.com>
Description:
		An Intel MIC device runs a Linux OS during its operation. This
		OS can shutdown because of various reasons. When read, this
		entry provides the status on why the card OS was shutdown.
		Possible values are:

		==========  ===================================================
		"nop"       shutdown status is not applicable, when the card OS
			    is "online"
		"crashed"   Shutdown because of a HW or SW crash.
		"halted"    Shutdown because of a halt command.
		"poweroff"  Shutdown because of a poweroff command.
		"restart"   Shutdown because of a restart command.
		==========  ===================================================

What:		/sys/class/mic/mic<X>/cmdline
Date:		October 2013
KernelVersion:	3.13
Contact:	Sudeep Dutt <sudeep.dutt@intel.com>
Description:
		An Intel MIC device runs a Linux OS during its operation. Before
		booting this card OS, it is possible to pass kernel command line
		options to configure various features in it, similar to
		self-bootable machines. When read, this entry provides
		information about the current kernel command line options set to
		boot the card OS. This entry can be written to change the
		existing kernel command line options. Typically, the user would
		want to read the current command line options, append new ones
		or modify existing ones and then write the whole kernel command
		line back to this entry.

What:		/sys/class/mic/mic<X>/firmware
Date:		October 2013
KernelVersion:	3.13
Contact:	Sudeep Dutt <sudeep.dutt@intel.com>
Description:
		When read, this sysfs entry provides the path name under
		/lib/firmware/ where the firmware image to be booted on the
		card can be found. The entry can be written to change the
		firmware image location under /lib/firmware/.

What:		/sys/class/mic/mic<X>/ramdisk
Date:		October 2013
KernelVersion:	3.13
Contact:	Sudeep Dutt <sudeep.dutt@intel.com>
Description:
		When read, this sysfs entry provides the path name under
		/lib/firmware/ where the ramdisk image to be used during card
		OS boot can be found. The entry can be written to change
		the ramdisk image location under /lib/firmware/.

What:		/sys/class/mic/mic<X>/bootmode
Date:		October 2013
KernelVersion:	3.13
Contact:	Sudeep Dutt <sudeep.dutt@intel.com>
Description:
		When read, this sysfs entry provides the current bootmode for
		the card. This sysfs entry can be written with the following
		valid strings:
		a) linux - Boot a Linux image.
		b) flash - Boot an image for flash updates.

What:		/sys/class/mic/mic<X>/log_buf_addr
Date:		October 2013
KernelVersion:	3.13
Contact:	Sudeep Dutt <sudeep.dutt@intel.com>
Description:
		An Intel MIC device runs a Linux OS during its operation. For
		debugging purpose and early kernel boot messages, the user can
		access the card OS log buffer via debugfs. When read, this entry
		provides the kernel virtual address of the buffer where the card
		OS log buffer can be read. This entry is written by the host
		configuration daemon to set the log buffer address. The correct
		log buffer address to be written can be found in the System.map
		file of the card OS.

What:		/sys/class/mic/mic<X>/log_buf_len
Date:		October 2013
KernelVersion:	3.13
Contact:	Sudeep Dutt <sudeep.dutt@intel.com>
Description:
		An Intel MIC device runs a Linux OS during its operation. For
		debugging purpose and early kernel boot messages, the user can
		access the card OS log buffer via debugfs. When read, this entry
		provides the kernel virtual address where the card OS log buffer
		length can be read. This entry is written by host configuration
		daemon to set the log buffer length address. The correct log
		buffer length address to be written can be found in the
		System.map file of the card OS.

What:		/sys/class/mic/mic<X>/heartbeat_enable
Date:		March 2015
KernelVersion:	4.4
Contact:	Ashutosh Dixit <ashutosh.dixit@intel.com>
Description:
		The MIC drivers detect and inform user space about card crashes
		via a heartbeat mechanism (see the description of
		shutdown_status above). User space can turn off this
		notification by setting heartbeat_enable to 0 and enable it by
		setting this entry to 1. If this notification is disabled it is
		the responsibility of user space to detect card crashes via
		alternative means such as a network ping. This setting is
		enabled by default.


code:
What:		/sys/class/mtd/
Date:		April 2009
KernelVersion:	2.6.29
Contact:	linux-mtd@lists.infradead.org
Description:
		The mtd/ class subdirectory belongs to the MTD subsystem
		(MTD core).

What:		/sys/class/mtd/mtdX/
Date:		April 2009
KernelVersion:	2.6.29
Contact:	linux-mtd@lists.infradead.org
Description:
		The /sys/class/mtd/mtd{0,1,2,3,...} directories correspond
		to each /dev/mtdX character device.  These may represent
		physical/simulated flash devices, partitions on a flash
		device, or concatenated flash devices.

What:		/sys/class/mtd/mtdXro/
Date:		April 2009
KernelVersion:	2.6.29
Contact:	linux-mtd@lists.infradead.org
Description:
		These directories provide the corresponding read-only device
		nodes for /sys/class/mtd/mtdX/ .

What:		/sys/class/mtd/mtdX/dev
Date:		April 2009
KernelVersion:	2.6.29
Contact:	linux-mtd@lists.infradead.org
Description:
		Major and minor numbers of the character device corresponding
		to this MTD device (in <major>:<minor> format).  This is the
		read-write device so <minor> will be even.

What:		/sys/class/mtd/mtdXro/dev
Date:		April 2009
KernelVersion:	2.6.29
Contact:	linux-mtd@lists.infradead.org
Description:
		Major and minor numbers of the character device corresponding
		to the read-only variant of thie MTD device (in
		<major>:<minor> format).  In this case <minor> will be odd.

What:		/sys/class/mtd/mtdX/erasesize
Date:		April 2009
KernelVersion:	2.6.29
Contact:	linux-mtd@lists.infradead.org
Description:
		"Major" erase size for the device.  If numeraseregions is
		zero, this is the eraseblock size for the entire device.
		Otherwise, the MEMGETREGIONCOUNT/MEMGETREGIONINFO ioctls
		can be used to determine the actual eraseblock layout.

What:		/sys/class/mtd/mtdX/flags
Date:		April 2009
KernelVersion:	2.6.29
Contact:	linux-mtd@lists.infradead.org
Description:
		A hexadecimal value representing the device flags, ORed
		together:

		0x0400: MTD_WRITEABLE - device is writable
		0x0800: MTD_BIT_WRITEABLE - single bits can be flipped
		0x1000: MTD_NO_ERASE - no erase necessary
		0x2000: MTD_POWERUP_LOCK - always locked after reset

What:		/sys/class/mtd/mtdX/name
Date:		April 2009
KernelVersion:	2.6.29
Contact:	linux-mtd@lists.infradead.org
Description:
		A human-readable ASCII name for the device or partition.
		This will match the name in /proc/mtd .

What:		/sys/class/mtd/mtdX/numeraseregions
Date:		April 2009
KernelVersion:	2.6.29
Contact:	linux-mtd@lists.infradead.org
Description:
		For devices that have variable eraseblock sizes, this
		provides the total number of erase regions.  Otherwise,
		it will read back as zero.

What:		/sys/class/mtd/mtdX/oobsize
Date:		April 2009
KernelVersion:	2.6.29
Contact:	linux-mtd@lists.infradead.org
Description:
		Number of OOB bytes per page.

What:		/sys/class/mtd/mtdX/size
Date:		April 2009
KernelVersion:	2.6.29
Contact:	linux-mtd@lists.infradead.org
Description:
		Total size of the device/partition, in bytes.

What:		/sys/class/mtd/mtdX/type
Date:		April 2009
KernelVersion:	2.6.29
Contact:	linux-mtd@lists.infradead.org
Description:
		One of the following ASCII strings, representing the device
		type:

		absent, ram, rom, nor, nand, mlc-nand, dataflash, ubi, unknown

What:		/sys/class/mtd/mtdX/writesize
Date:		April 2009
KernelVersion:	2.6.29
Contact:	linux-mtd@lists.infradead.org
Description:
		Minimal writable flash unit size.  This will always be
		a positive integer.

		In the case of NOR flash it is 1 (even though individual
		bits can be cleared).

		In the case of NAND flash it is one NAND page (or a
		half page, or a quarter page).

		In the case of ECC NOR, it is the ECC block size.

What:		/sys/class/mtd/mtdX/ecc_strength
Date:		April 2012
KernelVersion:	3.4
Contact:	linux-mtd@lists.infradead.org
Description:
		Maximum number of bit errors that the device is capable of
		correcting within each region covering an ECC step (see
		ecc_step_size).  This will always be a non-negative integer.

		In the case of devices lacking any ECC capability, it is 0.

What:		/sys/class/mtd/mtdX/bitflip_threshold
Date:		April 2012
KernelVersion:	3.4
Contact:	linux-mtd@lists.infradead.org
Description:
		This allows the user to examine and adjust the criteria by which
		mtd returns -EUCLEAN from mtd_read() and mtd_read_oob().  If the
		maximum number of bit errors that were corrected on any single
		region comprising an ecc step (as reported by the driver) equals
		or exceeds this value, -EUCLEAN is returned.  Otherwise, absent
		an error, 0 is returned.  Higher layers (e.g., UBI) use this
		return code as an indication that an erase block may be
		degrading and should be scrutinized as a candidate for being
		marked as bad.

		The initial value may be specified by the flash device driver.
		If not, then the default value is ecc_strength.

		The introduction of this feature brings a subtle change to the
		meaning of the -EUCLEAN return code.  Previously, it was
		interpreted to mean simply "one or more bit errors were
		corrected".  Its new interpretation can be phrased as "a
		dangerously high number of bit errors were corrected on one or
		more regions comprising an ecc step".  The precise definition of
		"dangerously high" can be adjusted by the user with
		bitflip_threshold.  Users are discouraged from doing this,
		however, unless they know what they are doing and have intimate
		knowledge of the properties of their device.  Broadly speaking,
		bitflip_threshold should be low enough to detect genuine erase
		block degradation, but high enough to avoid the consequences of
		a persistent return value of -EUCLEAN on devices where sticky
		bitflips occur.  Note that if bitflip_threshold exceeds
		ecc_strength, -EUCLEAN is never returned by the read operations.
		Conversely, if bitflip_threshold is zero, -EUCLEAN is always
		returned, absent a hard error.

		This is generally applicable only to NAND flash devices with ECC
		capability.  It is ignored on devices lacking ECC capability;
		i.e., devices for which ecc_strength is zero.

What:		/sys/class/mtd/mtdX/ecc_step_size
Date:		May 2013
KernelVersion:	3.10
Contact:	linux-mtd@lists.infradead.org
Description:
		The size of a single region covered by ECC, known as the ECC
		step.  Devices may have several equally sized ECC steps within
		each writesize region.

		It will always be a non-negative integer.  In the case of
		devices lacking any ECC capability, it is 0.

What:		/sys/class/mtd/mtdX/ecc_failures
Date:		June 2014
KernelVersion:	3.17
Contact:	linux-mtd@lists.infradead.org
Description:
		The number of failures reported by this device's ECC. Typically,
		these failures are associated with failed read operations.

		It will always be a non-negative integer.  In the case of
		devices lacking any ECC capability, it is 0.

What:		/sys/class/mtd/mtdX/corrected_bits
Date:		June 2014
KernelVersion:	3.17
Contact:	linux-mtd@lists.infradead.org
Description:
		The number of bits that have been corrected by means of the
		device's ECC.

		It will always be a non-negative integer.  In the case of
		devices lacking any ECC capability, it is 0.

What:		/sys/class/mtd/mtdX/bad_blocks
Date:		June 2014
KernelVersion:	3.17
Contact:	linux-mtd@lists.infradead.org
Description:
		The number of blocks marked as bad, if any, in this partition.

What:		/sys/class/mtd/mtdX/bbt_blocks
Date:		June 2014
KernelVersion:	3.17
Contact:	linux-mtd@lists.infradead.org
Description:
		The number of blocks that are marked as reserved, if any, in
		this partition. These are typically used to store the in-flash
		bad block table (BBT).

What:		/sys/class/mtd/mtdX/offset
Date:		March 2015
KernelVersion:	4.1
Contact:	linux-mtd@lists.infradead.org
Description:
		For a partition, the offset of that partition from the start
		of the parent (another partition or a flash device) in bytes.
		This attribute is absent on flash devices, so it can be used
		to distinguish them from partitions.

What:		/sys/class/mtd/mtdX/oobavail
Date:		April 2018
KernelVersion:	4.16
Contact:	linux-mtd@lists.infradead.org
Description:
		Number of bytes available for a client to place data into
		the out of band area.


code:
What:		/sys/class/mux/
Date:		April 2017
KernelVersion:	4.13
Contact:	Peter Rosin <peda@axentia.se>
Description:
		The mux/ class sub-directory belongs to the Generic MUX
		Framework and provides a sysfs interface for using MUX
		controllers.

What:		/sys/class/mux/muxchip<N>/
Date:		April 2017
KernelVersion:	4.13
Contact:	Peter Rosin <peda@axentia.se>
Description:
		A /sys/class/mux/muxchipN directory is created for each
		probed MUX chip where N is a simple enumeration.


code:
What:		/sys/class/net/<iface>/name_assign_type
Date:		July 2014
KernelVersion:	3.17
Contact:	netdev@vger.kernel.org
Description:
		Indicates the name assignment type. Possible values are:

		== ==========================================================
		1  enumerated by the kernel, possibly in an unpredictable way
		2  predictably named by the kernel
		3  named by userspace
		4  renamed
		== ==========================================================

What:		/sys/class/net/<iface>/addr_assign_type
Date:		July 2010
KernelVersion:	3.2
Contact:	netdev@vger.kernel.org
Description:
		Indicates the address assignment type. Possible values are:

		== =============================
		0  permanent address
		1  randomly generated
		2  stolen from another device
		3  set using dev_set_mac_address
		== =============================

What:		/sys/class/net/<iface>/addr_len
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the hardware address size in bytes.
		Values vary based on the lower-level protocol used by the
		interface (Ethernet, FDDI, ATM, IEEE 802.15.4...). See
		include/uapi/linux/if_*.h for actual values.

What:		/sys/class/net/<iface>/address
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Hardware address currently assigned to this interface.
		Format is a string, e.g: 00:11:22:33:44:55 for an Ethernet MAC
		address.

What:		/sys/class/net/<bridge iface>/bridge/group_fwd_mask
Date:		January 2012
KernelVersion:	3.2
Contact:	netdev@vger.kernel.org
Description:
		Bitmask to allow forwarding of link local frames with address
		01-80-C2-00-00-0X on a bridge device. Only values that set bits
		not matching BR_GROUPFWD_RESTRICTED in net/bridge/br_private.h
		allowed.
		Default value 0 does not forward any link local frames.

		Restricted bits:

		== ========================================================
		0  01-80-C2-00-00-00 Bridge Group Address used for STP
		1  01-80-C2-00-00-01 (MAC Control) 802.3 used for MAC PAUSE
		2  01-80-C2-00-00-02 (Link Aggregation) 802.3ad
		== ========================================================

		Any values not setting these bits can be used. Take special
		care when forwarding control frames e.g. 802.1X-PAE or LLDP.

What:		/sys/class/net/<iface>/broadcast
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Hardware broadcast address for this interface. Format is a
		string, e.g: ff:ff:ff:ff:ff:ff for an Ethernet broadcast MAC
		address.

What:		/sys/class/net/<iface>/carrier
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the current physical link state of the interface.
		Posssible values are:

		== =====================
		0  physical link is down
		1  physical link is up
		== =====================

		Note: some special devices, e.g: bonding and team drivers will
		allow this attribute to be written to force a link state for
		operating correctly and designating another fallback interface.

What:		/sys/class/net/<iface>/dev_id
Date:		April 2008
KernelVersion:	2.6.26
Contact:	netdev@vger.kernel.org
Description:
		Indicates the device unique identifier. Format is an hexadecimal
		value. This is used to disambiguate interfaces which might be
		stacked (e.g: VLAN interfaces) but still have the same MAC
		address as their parent device.

What:		/sys/class/net/<iface>/dev_port
Date:		February 2014
KernelVersion:	3.15
Contact:	netdev@vger.kernel.org
Description:
		Indicates the port number of this network device, formatted
		as a decimal value. Some NICs have multiple independent ports
		on the same PCI bus, device and function. This attribute allows
		userspace to distinguish the respective interfaces.

		Note: some device drivers started to use 'dev_id' for this
		purpose since long before 3.15 and have not adopted the new
		attribute ever since. To query the port number, some tools look
		exclusively at 'dev_port', while others only consult 'dev_id'.
		If a network device has multiple client adapter ports as
		described in the previous paragraph and does not set this
		attribute to its port number, it's a kernel bug.

What:		/sys/class/net/<iface>/dormant
Date:		March 2006
KernelVersion:	2.6.17
Contact:	netdev@vger.kernel.org
Description:
		Indicates whether the interface is in dormant state. Possible
		values are:
		0: interface is not dormant
		1: interface is dormant

		This attribute can be used by supplicant software to signal that
		the device is not usable unless some supplicant-based
		authentication is performed (e.g: 802.1x). 'link_mode' attribute
		will also reflect the dormant state.

What:		/sys/class/net/<iface>/testing
Date:		April 2002
KernelVersion:	5.8
Contact:	netdev@vger.kernel.org
Description:
		Indicates whether the interface is under test. Possible
		values are:

		== =============================
		0  interface is not being tested
		1  interface is being tested
		== =============================

		When an interface is under test, it cannot be expected
		to pass packets as normal.

What:		/sys/class/net/<iface>/duplex
Date:		October 2009
KernelVersion:	2.6.33
Contact:	netdev@vger.kernel.org
Description:
		Indicates the interface latest or current duplex value. Possible
		values are:

		====  ===========
		half  half duplex
		full  full duplex
		====  ===========

		Note: This attribute is only valid for interfaces that implement
		the ethtool get_link_ksettings method (mostly Ethernet).

What:		/sys/class/net/<iface>/flags
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the interface flags as a bitmask in hexadecimal. See
		include/uapi/linux/if.h for a list of all possible values and
		the flags semantics.

What:		/sys/class/net/<iface>/ifalias
Date:		September 2008
KernelVersion:	2.6.28
Contact:	netdev@vger.kernel.org
Description:
		Indicates/stores an interface alias name as a string. This can
		be used for system management purposes.

What:		/sys/class/net/<iface>/ifindex
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the system-wide interface unique index identifier as a
		decimal number. This attribute is used for mapping an interface
		identifier to an interface name. It is used throughout the
		networking stack for specifying the interface specific
		requests/events.

What:		/sys/class/net/<iface>/iflink
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the system-wide interface unique index identifier a
		the interface is linked to. Format is decimal. This attribute is
		used to resolve interfaces chaining, linking and stacking.
		Physical interfaces have the same 'ifindex' and 'iflink' values.

What:		/sys/class/net/<iface>/link_mode
Date:		March 2006
KernelVersion:	2.6.17
Contact:	netdev@vger.kernel.org
Description:
		Indicates the interface link mode, as a decimal number. This
		attribute should be used in conjunction with 'dormant' attribute
		to determine the interface usability. Possible values:

		==  =================
		0   default link mode
		1   dormant link mode
		==  =================

What:		/sys/class/net/<iface>/mtu
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the interface currently configured MTU value, in
		bytes, and in decimal format. Specific values depends on the
		lower-level interface protocol used. Ethernet devices will show
		a 'mtu' attribute value of 1500 unless changed.

What:		/sys/class/net/<iface>/netdev_group
Date:		January 2011
KernelVersion:	2.6.39
Contact:	netdev@vger.kernel.org
Description:
		Indicates the interface network device group, as a decimal
		integer. Default value is 0 which corresponds to the initial
		network devices group. The group can be changed to affect
		routing decisions (see: net/ipv4/fib_rules and
		net/ipv6/fib6_rules.c).

What:		/sys/class/net/<iface>/operstate
Date:		March 2006
KernelVersion:	2.6.17
Contact:	netdev@vger.kernel.org
Description:
		Indicates the interface RFC2863 operational state as a string.

		Possible values are:

		"unknown", "notpresent", "down", "lowerlayerdown", "testing",
		"dormant", "up".

What:		/sys/class/net/<iface>/phys_port_id
Date:		July 2013
KernelVersion:	3.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the interface unique physical port identifier within
		the NIC, as a string.

What:		/sys/class/net/<iface>/phys_port_name
Date:		March 2015
KernelVersion:	4.0
Contact:	netdev@vger.kernel.org
Description:
		Indicates the interface physical port name within the NIC,
		as a string.

What:		/sys/class/net/<iface>/speed
Date:		October 2009
KernelVersion:	2.6.33
Contact:	netdev@vger.kernel.org
Description:
		Indicates the interface latest or current speed value. Value is
		an integer representing the link speed in Mbits/sec.

		Note: this attribute is only valid for interfaces that implement
		the ethtool get_link_ksettings method (mostly Ethernet).

What:		/sys/class/net/<iface>/tx_queue_len
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the interface transmit queue len in number of packets,
		as an integer value. Value depend on the type of interface,
		Ethernet network adapters have a default value of 1000 unless
		configured otherwise

What:		/sys/class/net/<iface>/type
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the interface protocol type as a decimal value. See
		include/uapi/linux/if_arp.h for all possible values.

What:		/sys/class/net/<iface>/phys_switch_id
Date:		November 2014
KernelVersion:	3.19
Contact:	netdev@vger.kernel.org
Description:
		Indicates the unique physical switch identifier of a switch this
		port belongs to, as a string.

What:		/sys/class/net/<iface>/phydev
Date:		May 2017
KernelVersion:	4.13
Contact:	netdev@vger.kernel.org
Description:
		Symbolic link to the PHY device this network device is attached
		to.

What:		/sys/class/net/<iface>/carrier_changes
Date:		Mar 2014
KernelVersion:	3.15
Contact:	netdev@vger.kernel.org
Description:
		32-bit unsigned integer counting the number of times the link has
		seen a change from UP to DOWN and vice versa

What:		/sys/class/net/<iface>/carrier_up_count
Date:		Jan 2018
KernelVersion:	4.16
Contact:	netdev@vger.kernel.org
Description:
		32-bit unsigned integer counting the number of times the link has
		been up

What:		/sys/class/net/<iface>/carrier_down_count
Date:		Jan 2018
KernelVersion:	4.16
Contact:	netdev@vger.kernel.org
Description:
		32-bit unsigned integer counting the number of times the link has
		been down

What:		/sys/class/net/<iface>/threaded
Date:		Jan 2021
KernelVersion:	5.12
Contact:	netdev@vger.kernel.org
Description:
		Boolean value to control the threaded mode per device. User could
		set this value to enable/disable threaded mode for all napi
		belonging to this device, without the need to do device up/down.

		Possible values:
		== ==================================
		0  threaded mode disabled for this dev
		1  threaded mode enabled for this dev
		== ==================================


code:
What:		/sys/class/net/<iface>/cdc_ncm/min_tx_pkt
Date:		May 2014
KernelVersion:	3.16
Contact:	Bjørn Mork <bjorn@mork.no>
Description:
		The driver will pad NCM Transfer Blocks (NTBs) longer
		than this to tx_max, allowing the device to receive
		tx_max sized frames with no terminating short
		packet. NTBs shorter than this limit are transmitted
		as-is, without any padding, and are terminated with a
		short USB packet.

		Padding to tx_max allows the driver to transmit NTBs
		back-to-back without any interleaving short USB
		packets.  This reduces the number of short packet
		interrupts in the device, and represents a tradeoff
		between USB bus bandwidth and device DMA optimization.

		Set to 0 to pad all frames. Set greater than tx_max to
		disable all padding.

What:		/sys/class/net/<iface>/cdc_ncm/ndp_to_end
Date:		Dec 2015
KernelVersion:	4.5
Contact:	Bjørn Mork <bjorn@mork.no>
Description:
		Boolean attribute showing the status of the "NDP to
		end" quirk.  Defaults to 'N', except for devices
		already known to need it enabled.

		The "NDP to end" quirk makes the driver place the NDP
		(the packet index table) after the payload.  The NCM
		specification does not mandate this, but some devices
		are known to be more restrictive. Write 'Y' to this
		attribute for temporary testing of a suspect device
		failing to work with the default driver settings.

		A device entry should be added to the driver if this
		quirk is found to be required.

What:		/sys/class/net/<iface>/cdc_ncm/rx_max
Date:		May 2014
KernelVersion:	3.16
Contact:	Bjørn Mork <bjorn@mork.no>
Description:
		The maximum NTB size for RX.  Cannot exceed the
		maximum value supported by the device. Must allow at
		least one max sized datagram plus headers.

		The actual limits are device dependent.  See
		dwNtbInMaxSize.

		Note: Some devices will silently ignore changes to
		this value, resulting in oversized NTBs and
		corresponding framing errors.

What:		/sys/class/net/<iface>/cdc_ncm/tx_max
Date:		May 2014
KernelVersion:	3.16
Contact:	Bjørn Mork <bjorn@mork.no>
Description:
		The maximum NTB size for TX.  Cannot exceed the
		maximum value supported by the device.  Must allow at
		least one max sized datagram plus headers.

		The actual limits are device dependent.  See
		dwNtbOutMaxSize.

What:		/sys/class/net/<iface>/cdc_ncm/tx_timer_usecs
Date:		May 2014
KernelVersion:	3.16
Contact:	Bjørn Mork <bjorn@mork.no>
Description:
		Datagram aggregation timeout in µs. The driver will
		wait up to 3 times this timeout for more datagrams to
		aggregate before transmitting an NTB frame.

		Valid range: 5 to 4000000

		Set to 0 to disable aggregation.

The following read-only attributes all represent fields of the
structure defined in section 6.2.1 "GetNtbParameters" of "Universal
Serial Bus Communications Class Subclass Specifications for Network
Control Model Devices" (CDC NCM), Revision 1.0 (Errata 1), November
24, 2010 from USB Implementers Forum, Inc.  The descriptions are
quoted from table 6-3 of CDC NCM: "NTB Parameter Structure".

What:		/sys/class/net/<iface>/cdc_ncm/bmNtbFormatsSupported
Date:		May 2014
KernelVersion:	3.16
Contact:	Bjørn Mork <bjorn@mork.no>
Description:
		- Bit 0: 16-bit NTB supported (set to 1)
		- Bit 1: 32-bit NTB supported
		- Bits 2 – 15: reserved (reset to zero; must be ignored by host)

What:		/sys/class/net/<iface>/cdc_ncm/dwNtbInMaxSize
Date:		May 2014
KernelVersion:	3.16
Contact:	Bjørn Mork <bjorn@mork.no>
Description:
		IN NTB Maximum Size in bytes

What:		/sys/class/net/<iface>/cdc_ncm/wNdpInDivisor
Date:		May 2014
KernelVersion:	3.16
Contact:	Bjørn Mork <bjorn@mork.no>
Description:
		Divisor used for IN NTB Datagram payload alignment

What:		/sys/class/net/<iface>/cdc_ncm/wNdpInPayloadRemainder
Date:		May 2014
KernelVersion:	3.16
Contact:	Bjørn Mork <bjorn@mork.no>
Description:
		Remainder used to align input datagram payload within
		the NTB: (Payload Offset) mod (wNdpInDivisor) =
		wNdpInPayloadRemainder

What:		/sys/class/net/<iface>/cdc_ncm/wNdpInAlignment
Date:		May 2014
KernelVersion:	3.16
Contact:	Bjørn Mork <bjorn@mork.no>
Description:
		NDP alignment modulus for NTBs on the IN pipe. Shall
		be a power of 2, and shall be at least 4.

What:		/sys/class/net/<iface>/cdc_ncm/dwNtbOutMaxSize
Date:		May 2014
KernelVersion:	3.16
Contact:	Bjørn Mork <bjorn@mork.no>
Description:
		OUT NTB Maximum Size

What:		/sys/class/net/<iface>/cdc_ncm/wNdpOutDivisor
Date:		May 2014
KernelVersion:	3.16
Contact:	Bjørn Mork <bjorn@mork.no>
Description:
		OUT NTB Datagram alignment modulus

What:		/sys/class/net/<iface>/cdc_ncm/wNdpOutPayloadRemainder
Date:		May 2014
KernelVersion:	3.16
Contact:	Bjørn Mork <bjorn@mork.no>
Description:
		Remainder used to align output datagram payload
		offsets within the NTB: Padding, shall be transmitted
		as zero by function, and ignored by host.  (Payload
		Offset) mod (wNdpOutDivisor) = wNdpOutPayloadRemainder

What:		/sys/class/net/<iface>/cdc_ncm/wNdpOutAlignment
Date:		May 2014
KernelVersion:	3.16
Contact:	Bjørn Mork <bjorn@mork.no>
Description:
		NDP alignment modulus for use in NTBs on the OUT
		pipe. Shall be a power of 2, and shall be at least 4.

What:		/sys/class/net/<iface>/cdc_ncm/wNtbOutMaxDatagrams
Date:		May 2014
KernelVersion:	3.16
Contact:	Bjørn Mork <bjorn@mork.no>
Description:
		Maximum number of datagrams that the host may pack
		into a single OUT NTB. Zero means that the device
		imposes no limit.


code:
What:		/sys/class/net/<iface>/dsa/tagging
Date:		August 2018
KernelVersion:	4.20
Contact:	netdev@vger.kernel.org
Description:
		On read, this file returns a string indicating the type of
		tagging protocol used by the DSA network devices that are
		attached to this master interface.
		On write, this file changes the tagging protocol of the
		attached DSA switches, if this operation is supported by the
		driver. Changing the tagging protocol must be done with the DSA
		interfaces and the master interface all administratively down.
		See the "name" field of each registered struct dsa_device_ops
		for a list of valid values.


code:
What:		/sys/class/net/<iface>/grcan/enable0
Date:		October 2012
KernelVersion:	3.8
Contact:	Andreas Larsson <andreas@gaisler.com>
Description:
		Hardware configuration of physical interface 0. This file reads
		and writes the "Enable 0" bit of the configuration register.
		Possible values: 0 or 1. See the GRCAN chapter of the GRLIB IP
		core library documentation for details. The default value is 0
		or set by the module parameter grcan.enable0 and can be read at
		/sys/module/grcan/parameters/enable0.

What:		/sys/class/net/<iface>/grcan/enable1
Date:		October 2012
KernelVersion:	3.8
Contact:	Andreas Larsson <andreas@gaisler.com>
Description:
		Hardware configuration of physical interface 1. This file reads
		and writes the "Enable 1" bit of the configuration register.
		Possible values: 0 or 1. See the GRCAN chapter of the GRLIB IP
		core library documentation for details. The default value is 0
		or set by the module parameter grcan.enable1 and can be read at
		/sys/module/grcan/parameters/enable1.

What:		/sys/class/net/<iface>/grcan/select
Date:		October 2012
KernelVersion:	3.8
Contact:	Andreas Larsson <andreas@gaisler.com>
Description:
		Configuration of which physical interface to be used. Possible
		values: 0 or 1. See the GRCAN chapter of the GRLIB IP core
		library documentation for details. The default value is 0 or is
		set by the module parameter grcan.select and can be read at
		/sys/module/grcan/parameters/select.


code:
What:		/sys/class/net/<iface>/termination
Date:		May 2010
KernelVersion:	2.6.35
Contact:	Ira W. Snyder <ira.snyder@gmail.com>
Description:
		Value representing the can bus termination

		Default: 1 (termination active)
		Reading: get actual termination state
		Writing: set actual termination state (0=no termination, 1=termination active)

What:		/sys/class/net/<iface>/fwinfo
Date:		May 2015
KernelVersion:	3.19
Contact:	Andreas Gröger <andreas24groeger@gmail.com>
Description:
		Firmware stamp of ican3 module
		Read-only: 32 byte string identification of the ICAN3 module
		(known values: "JANZ-ICAN3 ICANOS 1.xx", "JANZ-ICAN3 CAL/CANopen 1.xx")


code:
What:		/sys/class/mdio_bus/<bus>/<device>/attached_dev
Date:		May 2017
KernelVersion:	4.13
Contact:	netdev@vger.kernel.org
Description:
		Symbolic link to the network device this PHY device is
		attached to.

What:		/sys/class/mdio_bus/<bus>/<device>/phy_has_fixups
Date:		February 2014
KernelVersion:	3.15
Contact:	netdev@vger.kernel.org
Description:
		This attribute contains the boolean value whether a given PHY
		device has had any "fixup" workaround running on it, encoded as
		a boolean. This information is provided to help troubleshooting
		PHY configurations.

What:		/sys/class/mdio_bus/<bus>/<device>/phy_id
Date:		November 2012
KernelVersion:	3.8
Contact:	netdev@vger.kernel.org
Description:
		This attribute contains the 32-bit PHY Identifier as reported
		by the device during bus enumeration, encoded in hexadecimal.
		This ID is used to match the device with the appropriate
		driver.

What:		/sys/class/mdio_bus/<bus>/<device>/phy_interface
Date:		February 2014
KernelVersion:	3.15
Contact:	netdev@vger.kernel.org
Description:
		This attribute contains the PHY interface as configured by the
		Ethernet driver during bus enumeration, encoded in string.
		This interface mode is used to configure the Ethernet MAC with the
		appropriate mode for its data lines to the PHY hardware.

		Possible values are:

		<empty> (not available), mii, gmii, sgmii, tbi, rev-mii,
		rmii, rgmii, rgmii-id, rgmii-rxid, rgmii-txid, rtbi, smii
		xgmii, moca, qsgmii, trgmii, 1000base-x, 2500base-x, rxaui,
		xaui, 10gbase-kr, unknown

What:		/sys/class/mdio_bus/<bus>/<device>/phy_standalone
Date:		May 2019
KernelVersion:	5.3
Contact:	netdev@vger.kernel.org
Description:
		Boolean value indicating whether the PHY device is used in
		standalone mode, without a net_device associated, by PHYLINK.
		Attribute created only when this is the case.

What:		/sys/class/mdio_bus/<bus>/<device>/phy_dev_flags
Date:		March 2021
KernelVersion:	5.13
Contact:	netdev@vger.kernel.org
Description:
		32-bit hexadecimal number representing a bit mask of the
		configuration bits passed from the consumer of the PHY
		(Ethernet MAC, switch, etc.) to the PHY driver. The flags are
		only used internally by the kernel and their placement are
		not meant to be stable across kernel versions. This is intended
		for facilitating the debugging of PHY drivers.


code:
What:		/sys/class/net/<iface>/qmi/raw_ip
Date:		Dec 2015
KernelVersion:	4.4
Contact:	Bjørn Mork <bjorn@mork.no>
Description:
		Boolean.  Default: 'N'

		Set this to 'Y' to change the network device link
		framing from '802.3' to 'raw-ip'.

		The netdev will change to reflect the link framing
		mode.  The netdev is an ordinary ethernet device in
		'802.3' mode, and the driver expects to exchange
		frames with an ethernet header over the USB link. The
		netdev is a headerless p-t-p device in 'raw-ip' mode,
		and the driver expects to echange IPv4 or IPv6 packets
		without any L2 header over the USB link.

		Userspace is in full control of firmware configuration
		through the delegation of the QMI protocol. Userspace
		is responsible for coordination of driver and firmware
		link framing mode, changing this setting to 'Y' if the
		firmware is configured for 'raw-ip' mode.

What:		/sys/class/net/<iface>/qmi/add_mux
Date:		March 2017
KernelVersion:	4.11
Contact:	Bjørn Mork <bjorn@mork.no>
Description:
		Unsigned integer.

		Write a number ranging from 1 to 254 to add a qmap mux
		based network device, supported by recent Qualcomm based
		modems.

		The network device will be called qmimux.

		Userspace is in charge of managing the qmux network device
		activation and data stream setup on the modem side by
		using the proper QMI protocol requests.

What:		/sys/class/net/<iface>/qmi/del_mux
Date:		March 2017
KernelVersion:	4.11
Contact:	Bjørn Mork <bjorn@mork.no>
Description:
		Unsigned integer.

		Write a number ranging from 1 to 254 to delete a previously
		created qmap mux based network device.

What:		/sys/class/net/<qmimux iface>/qmap/mux_id
Date:		January 2021
KernelVersion:	5.12
Contact:	Daniele Palmas <dnlplm@gmail.com>
Description:
		Unsigned integer

		Indicates the mux id associated to the qmimux network interface
		during its creation.

What:		/sys/class/net/<iface>/qmi/pass_through
Date:		January 2021
KernelVersion:	5.12
Contact:	Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
Description:
		Boolean.  Default: 'N'

		Set this to 'Y' to enable 'pass-through' mode, allowing packets
		in MAP format to be passed on to the stack.

		Normally the rmnet driver (CONFIG_RMNET) is then used to process
		and demultiplex these packets.

		'Pass-through' mode can be enabled when the device is in
		'raw-ip' mode only.


code:
What:		/sys/class/<iface>/queues/rx-<queue>/rps_cpus
Date:		March 2010
KernelVersion:	2.6.35
Contact:	netdev@vger.kernel.org
Description:
		Mask of the CPU(s) currently enabled to participate into the
		Receive Packet Steering packet processing flow for this
		network device queue. Possible values depend on the number
		of available CPU(s) in the system.

What:		/sys/class/<iface>/queues/rx-<queue>/rps_flow_cnt
Date:		April 2010
KernelVersion:	2.6.35
Contact:	netdev@vger.kernel.org
Description:
		Number of Receive Packet Steering flows being currently
		processed by this particular network device receive queue.

What:		/sys/class/<iface>/queues/tx-<queue>/tx_timeout
Date:		November 2011
KernelVersion:	3.3
Contact:	netdev@vger.kernel.org
Description:
		Indicates the number of transmit timeout events seen by this
		network interface transmit queue.

What:		/sys/class/<iface>/queues/tx-<queue>/tx_maxrate
Date:		March 2015
KernelVersion:	4.1
Contact:	netdev@vger.kernel.org
Description:
		A Mbps max-rate set for the queue, a value of zero means disabled,
		default is disabled.

What:		/sys/class/<iface>/queues/tx-<queue>/xps_cpus
Date:		November 2010
KernelVersion:	2.6.38
Contact:	netdev@vger.kernel.org
Description:
		Mask of the CPU(s) currently enabled to participate into the
		Transmit Packet Steering packet processing flow for this
		network device transmit queue. Possible vaules depend on the
		number of available CPU(s) in the system.

What:		/sys/class/<iface>/queues/tx-<queue>/xps_rxqs
Date:		June 2018
KernelVersion:	4.18.0
Contact:	netdev@vger.kernel.org
Description:
		Mask of the receive queue(s) currently enabled to participate
		into the Transmit Packet Steering packet processing flow for this
		network device transmit queue. Possible values depend on the
		number of available receive queue(s) in the network device.
		Default is disabled.

What:		/sys/class/<iface>/queues/tx-<queue>/byte_queue_limits/hold_time
Date:		November 2011
KernelVersion:	3.3
Contact:	netdev@vger.kernel.org
Description:
		Indicates the hold time in milliseconds to measure the slack
		of this particular network device transmit queue.
		Default value is 1000.

What:		/sys/class/<iface>/queues/tx-<queue>/byte_queue_limits/inflight
Date:		November 2011
KernelVersion:	3.3
Contact:	netdev@vger.kernel.org
Description:
		Indicates the number of bytes (objects) in flight on this
		network device transmit queue.

What:		/sys/class/<iface>/queues/tx-<queue>/byte_queue_limits/limit
Date:		November 2011
KernelVersion:	3.3
Contact:	netdev@vger.kernel.org
Description:
		Indicates the current limit of bytes allowed to be queued
		on this network device transmit queue. This value is clamped
		to be within the bounds defined by limit_max and limit_min.

What:		/sys/class/<iface>/queues/tx-<queue>/byte_queue_limits/limit_max
Date:		November 2011
KernelVersion:	3.3
Contact:	netdev@vger.kernel.org
Description:
		Indicates the absolute maximum limit of bytes allowed to be
		queued on this network device transmit queue. See
		include/linux/dynamic_queue_limits.h for the default value.

What:		/sys/class/<iface>/queues/tx-<queue>/byte_queue_limits/limit_min
Date:		November 2011
KernelVersion:	3.3
Contact:	netdev@vger.kernel.org
Description:
		Indicates the absolute minimum limit of bytes allowed to be
		queued on this network device transmit queue. Default value is
		0.


code:
What:		/sys/class/<iface>/statistics/collisions
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the number of collisions seen by this network device.
		This value might not be relevant with all MAC layers.

What:		/sys/class/<iface>/statistics/multicast
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the number of multicast packets received by this
		network device.

What:		/sys/class/<iface>/statistics/rx_bytes
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the number of bytes received by this network device.
		See the network driver for the exact meaning of when this
		value is incremented.

What:		/sys/class/<iface>/statistics/rx_compressed
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the number of compressed packets received by this
		network device. This value might only be relevant for interfaces
		that support packet compression (e.g: PPP).

What:		/sys/class/<iface>/statistics/rx_crc_errors
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the number of packets received with a CRC (FCS) error
		by this network device. Note that the specific meaning might
		depend on the MAC layer used by the interface.

What:		/sys/class/<iface>/statistics/rx_dropped
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the number of packets received by the network device
		but dropped, that are not forwarded to the upper layers for
		packet processing. See the network driver for the exact
		meaning of this value.

What:		/sys/class/<iface>/statistics/rx_errors
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the number of receive errors on this network device.
		See the network driver for the exact meaning of this value.

What:		/sys/class/<iface>/statistics/rx_fifo_errors
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the number of receive FIFO errors seen by this
		network device. See the network driver for the exact
		meaning of this value.

What:		/sys/class/<iface>/statistics/rx_frame_errors
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the number of received frames with error, such as
		alignment errors. Note that the specific meaning depends on
		on the MAC layer protocol used. See the network driver for
		the exact meaning of this value.

What:		/sys/class/<iface>/statistics/rx_length_errors
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the number of received error packet with a length
		error, oversized or undersized. See the network driver for the
		exact meaning of this value.

What:		/sys/class/<iface>/statistics/rx_missed_errors
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the number of received packets that have been missed
		due to lack of capacity in the receive side. See the network
		driver for the exact meaning of this value.

What:		/sys/class/<iface>/statistics/rx_nohandler
Date:		February 2016
KernelVersion:	4.6
Contact:	netdev@vger.kernel.org
Description:
		Indicates the number of received packets that were dropped on
		an inactive device by the network core.

What:		/sys/class/<iface>/statistics/rx_over_errors
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the number of received packets that are oversized
		compared to what the network device is configured to accept
		(e.g: larger than MTU). See the network driver for the exact
		meaning of this value.

What:		/sys/class/<iface>/statistics/rx_packets
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the total number of good packets received by this
		network device.

What:		/sys/class/<iface>/statistics/tx_aborted_errors
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the number of packets that have been aborted
		during transmission by a network device (e.g: because of
		a medium collision). See the network driver for the exact
		meaning of this value.

What:		/sys/class/<iface>/statistics/tx_bytes
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the number of bytes transmitted by a network
		device. See the network driver for the exact meaning of this
		value, in particular whether this accounts for all successfully
		transmitted packets or all packets that have been queued for
		transmission.

What:		/sys/class/<iface>/statistics/tx_carrier_errors
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the number of packets that could not be transmitted
		because of carrier errors (e.g: physical link down). See the
		network driver for the exact meaning of this value.

What:		/sys/class/<iface>/statistics/tx_compressed
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the number of transmitted compressed packets. Note
		this might only be relevant for devices that support
		compression (e.g: PPP).

What:		/sys/class/<iface>/statistics/tx_dropped
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the number of packets dropped during transmission.
		See the driver for the exact reasons as to why the packets were
		dropped.

What:		/sys/class/<iface>/statistics/tx_errors
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the number of packets in error during transmission by
		a network device. See the driver for the exact reasons as to
		why the packets were dropped.

What:		/sys/class/<iface>/statistics/tx_fifo_errors
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the number of packets having caused a transmit
		FIFO error. See the driver for the exact reasons as to why the
		packets were dropped.

What:		/sys/class/<iface>/statistics/tx_heartbeat_errors
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the number of packets transmitted that have been
		reported as heartbeat errors. See the driver for the exact
		reasons as to why the packets were dropped.

What:		/sys/class/<iface>/statistics/tx_packets
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the number of packets transmitted by a network
		device. See the driver for whether this reports the number of all
		attempted or successful transmissions.

What:		/sys/class/<iface>/statistics/tx_window_errors
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the number of packets not successfully transmitted
		due to a window collision. The specific meaning depends on the
		MAC layer used.  On Ethernet this is usually used to report
		late collisions errors.


code:
What:		/sys/class/ocxl/<afu name>/afu_version
Date:		January 2018
Contact:	linuxppc-dev@lists.ozlabs.org
Description:	read only
		Version of the AFU, in the format <major>:<minor>
		Reflects what is read in the configuration space of the AFU

What:		/sys/class/ocxl/<afu name>/contexts
Date:		January 2018
Contact:	linuxppc-dev@lists.ozlabs.org
Description:	read only
		Number of contexts for the AFU, in the format <n>/<max>
		where:

			====	===============================================
			n	number of currently active contexts, for debug
			max	maximum number of contexts supported by the AFU
			====	===============================================

What:		/sys/class/ocxl/<afu name>/pp_mmio_size
Date:		January 2018
Contact:	linuxppc-dev@lists.ozlabs.org
Description:	read only
		Size of the per-process mmio area, as defined in the
		configuration space of the AFU

What:		/sys/class/ocxl/<afu name>/global_mmio_size
Date:		January 2018
Contact:	linuxppc-dev@lists.ozlabs.org
Description:	read only
		Size of the global mmio area, as defined in the
		configuration space of the AFU

What:		/sys/class/ocxl/<afu name>/global_mmio_area
Date:		January 2018
Contact:	linuxppc-dev@lists.ozlabs.org
Description:	read/write
		Give access the global mmio area for the AFU

What:		/sys/class/ocxl/<afu name>/reload_on_reset
Date:		February 2020
Contact:	linuxppc-dev@lists.ozlabs.org
Description:	read/write
		Control whether the FPGA is reloaded on a link reset. Enabled
		through a vendor-specific logic block on the FPGA.

			===========  ===========================================
			0	     Do not reload FPGA image from flash
			1	     Reload FPGA image from flash
			unavailable  The device does not support this capability
			===========  ===========================================