code:
What:		/sys/hypervisor/compilation/compile_date
Date:		March 2009
KernelVersion:	2.6.30
Contact:	xen-devel@lists.xenproject.org
Description:	If running under Xen:
		Contains the build time stamp of the Xen hypervisor
		Might return "<denied>" in case of special security settings
		in the hypervisor.

What:		/sys/hypervisor/compilation/compiled_by
Date:		March 2009
KernelVersion:	2.6.30
Contact:	xen-devel@lists.xenproject.org
Description:	If running under Xen:
		Contains information who built the Xen hypervisor
		Might return "<denied>" in case of special security settings
		in the hypervisor.

What:		/sys/hypervisor/compilation/compiler
Date:		March 2009
KernelVersion:	2.6.30
Contact:	xen-devel@lists.xenproject.org
Description:	If running under Xen:
		Compiler which was used to build the Xen hypervisor
		Might return "<denied>" in case of special security settings
		in the hypervisor.

What:		/sys/hypervisor/properties/capabilities
Date:		March 2009
KernelVersion:	2.6.30
Contact:	xen-devel@lists.xenproject.org
Description:	If running under Xen:
		Space separated list of supported guest system types. Each type
		is in the format: <class>-<major>.<minor>-<arch>
		With:

			======== ============================================
			<class>: "xen" -- x86: paravirtualized, arm: standard
				 "hvm" -- x86 only: fully virtualized
			<major>: major guest interface version
			<minor>: minor guest interface version
			<arch>:  architecture, e.g.:
				 "x86_32": 32 bit x86 guest without PAE
				 "x86_32p": 32 bit x86 guest with PAE
				 "x86_64": 64 bit x86 guest
				 "armv7l": 32 bit arm guest
				 "aarch64": 64 bit arm guest
			======== ============================================

What:		/sys/hypervisor/properties/changeset
Date:		March 2009
KernelVersion:	2.6.30
Contact:	xen-devel@lists.xenproject.org
Description:	If running under Xen:
		Changeset of the hypervisor (git commit)
		Might return "<denied>" in case of special security settings
		in the hypervisor.

What:		/sys/hypervisor/properties/features
Date:		March 2009
KernelVersion:	2.6.30
Contact:	xen-devel@lists.xenproject.org
Description:	If running under Xen:
		Features the Xen hypervisor supports for the guest as defined
		in include/xen/interface/features.h printed as a hex value.

What:		/sys/hypervisor/properties/pagesize
Date:		March 2009
KernelVersion:	2.6.30
Contact:	xen-devel@lists.xenproject.org
Description:	If running under Xen:
		Default page size of the hypervisor printed as a hex value.
		Might return "0" in case of special security settings
		in the hypervisor.

What:		/sys/hypervisor/properties/virtual_start
Date:		March 2009
KernelVersion:	2.6.30
Contact:	xen-devel@lists.xenproject.org
Description:	If running under Xen:
		Virtual address of the hypervisor as a hex value.

What:		/sys/hypervisor/type
Date:		March 2009
KernelVersion:	2.6.30
Contact:	xen-devel@lists.xenproject.org
Description:	If running under Xen:
		Type of hypervisor:
		"xen": Xen hypervisor

What:		/sys/hypervisor/uuid
Date:		March 2009
KernelVersion:	2.6.30
Contact:	xen-devel@lists.xenproject.org
Description:	If running under Xen:
		UUID of the guest as known to the Xen hypervisor.

What:		/sys/hypervisor/version/extra
Date:		March 2009
KernelVersion:	2.6.30
Contact:	xen-devel@lists.xenproject.org
Description:	If running under Xen:
		The Xen version is in the format <major>.<minor><extra>
		This is the <extra> part of it.
		Might return "<denied>" in case of special security settings
		in the hypervisor.

What:		/sys/hypervisor/version/major
Date:		March 2009
KernelVersion:	2.6.30
Contact:	xen-devel@lists.xenproject.org
Description:	If running under Xen:
		The Xen version is in the format <major>.<minor><extra>
		This is the <major> part of it.

What:		/sys/hypervisor/version/minor
Date:		March 2009
KernelVersion:	2.6.30
Contact:	xen-devel@lists.xenproject.org
Description:	If running under Xen:
		The Xen version is in the format <major>.<minor><extra>
		This is the <minor> part of it.


code:
What:		/sys/kernel/notes
Date:		July 2009
Contact:	<linux-kernel@vger.kernel.org>
Description:	The /sys/kernel/notes file contains the binary representation
		of the running vmlinux's .notes section.

repo_name: angery/linux


code:
The /sys/module tree consists of the following structure:

What:		/sys/module/<MODULENAME>
Description:
		The name of the module that is in the kernel.  This
		module name will always show up if the module is loaded as a
		dynamic module.  If it is built directly into the kernel, it
		will only show up if it has a version or at least one
		parameter.

		Note: The conditions of creation in the built-in case are not
		by design and may be removed in the future.

What:		/sys/module/<MODULENAME>/parameters
Description:
		This directory contains individual files that are each
		individual parameters of the module that are able to be
		changed at runtime.  See the individual module
		documentation as to the contents of these parameters and
		what they accomplish.

		Note: The individual parameter names and values are not
		considered stable, only the fact that they will be
		placed in this location within sysfs.  See the
		individual driver documentation for details as to the
		stability of the different parameters.

What:		/sys/module/<MODULENAME>/refcnt
Description:
		If the module is able to be unloaded from the kernel, this file
		will contain the current reference count of the module.

		Note: If the module is built into the kernel, or if the
		CONFIG_MODULE_UNLOAD kernel configuration value is not enabled,
		this file will not be present.

What:		/sys/module/<MODULENAME>/srcversion
Date:		Jun 2005
Description:
		If the module source has MODULE_VERSION, this file will contain
		the checksum of the source code.

What:		/sys/module/<MODULENAME>/version
Date:		Jun 2005
Description:
		If the module source has MODULE_VERSION, this file will contain
		the version of the source code.

path: Documentation/ABI/stable/sysfs-module


code:
What:		/sys/class/srp_remote_ports/port-<h>:<n>/delete
Date:		June 1, 2012
KernelVersion:	3.7
Contact:	linux-scsi@vger.kernel.org, linux-rdma@vger.kernel.org
Description:	Instructs an SRP initiator to disconnect from a target and to
		remove all LUNs imported from that target.

What:		/sys/class/srp_remote_ports/port-<h>:<n>/dev_loss_tmo
Date:		February 1, 2014
KernelVersion:	3.13
Contact:	linux-scsi@vger.kernel.org, linux-rdma@vger.kernel.org
Description:	Number of seconds the SCSI layer will wait after a transport
		layer error has been observed before removing a target port.
		Zero means immediate removal. Setting this attribute to "off"
		will disable the dev_loss timer.

What:		/sys/class/srp_remote_ports/port-<h>:<n>/fast_io_fail_tmo
Date:		February 1, 2014
KernelVersion:	3.13
Contact:	linux-scsi@vger.kernel.org, linux-rdma@vger.kernel.org
Description:	Number of seconds the SCSI layer will wait after a transport
		layer error has been observed before failing I/O. Zero means
		failing I/O immediately. Setting this attribute to "off" will
		disable the fast_io_fail timer.

What:		/sys/class/srp_remote_ports/port-<h>:<n>/port_id
Date:		June 27, 2007
KernelVersion:	2.6.24
Contact:	linux-scsi@vger.kernel.org
Description:	16-byte local SRP port identifier in hexadecimal format. An
		example: 4c:49:4e:55:58:20:56:49:4f:00:00:00:00:00:00:00.

What:		/sys/class/srp_remote_ports/port-<h>:<n>/reconnect_delay
Date:		February 1, 2014
KernelVersion:	3.13
Contact:	linux-scsi@vger.kernel.org, linux-rdma@vger.kernel.org
Description:	Number of seconds the SCSI layer will wait after a reconnect
		attempt failed before retrying. Setting this attribute to
		"off" will disable time-based reconnecting.

What:		/sys/class/srp_remote_ports/port-<h>:<n>/roles
Date:		June 27, 2007
KernelVersion:	2.6.24
Contact:	linux-scsi@vger.kernel.org
Description:	Role of the remote port. Either "SRP Initiator" or "SRP Target".

What:		/sys/class/srp_remote_ports/port-<h>:<n>/state
Date:		February 1, 2014
KernelVersion:	3.13
Contact:	linux-scsi@vger.kernel.org, linux-rdma@vger.kernel.org
Description:	State of the transport layer used for communication with the
		remote port. "running" if the transport layer is operational;
		"blocked" if a transport layer error has been encountered but
		the fast_io_fail_tmo timer has not yet fired; "fail-fast"
		after the fast_io_fail_tmo timer has fired and before the
		"dev_loss_tmo" timer has fired; "lost" after the
		"dev_loss_tmo" timer has fired and before the port is finally
		removed.


code:
What:		A notification mechanism for thermal related events
Description:
	This interface enables notification for thermal related events.
	The notification is in the form of a netlink event.


code:
What:		vDSO
Date:		July 2011
KernelVersion:	3.0
Contact:	Andy Lutomirski <luto@kernel.org>
Description:

On some architectures, when the kernel loads any userspace program it
maps an ELF DSO into that program's address space.  This DSO is called
the vDSO and it often contains useful and highly-optimized alternatives
to real syscalls.

These functions are called just like ordinary C function according to
your platform's ABI.  Call them from a sensible context.  (For example,
if you set CS on x86 to something strange, the vDSO functions are
within their rights to crash.)  In addition, if you pass a bad
pointer to a vDSO function, you might get SIGSEGV instead of -EFAULT.

To find the DSO, parse the auxiliary vector passed to the program's
entry point.  The AT_SYSINFO_EHDR entry will point to the vDSO.

The vDSO uses symbol versioning; whenever you request a symbol from the
vDSO, specify the version you are expecting.

Programs that dynamically link to glibc will use the vDSO automatically.
Otherwise, you can use the reference parser in
tools/testing/selftests/vDSO/parse_vdso.c.

Unless otherwise noted, the set of symbols with any given version and the
ABI of those symbols is considered stable.  It may vary across architectures,
though.

Note:
 As of this writing, this ABI documentation as been confirmed for x86_64.
 The maintainers of the other vDSO-using architectures should confirm
 that it is correct for their architecture.

path: Documentation/ABI/stable/vdso


code:
What:		/config/acpi
Date:		July 2016
KernelVersion:	4.8
Contact:	linux-acpi@vger.kernel.org
Description:
		This represents the ACPI subsystem entry point directory. It
		contains sub-groups corresponding to ACPI configurable options.

What:		/config/acpi/table
Date:		July 2016
KernelVersion:	4.8
Description:

		This group contains the configuration for user defined ACPI
		tables. The attributes of a user define table are:

		aml
			      - a binary attribute that the user can use to
				fill in the ACPI aml definitions. Once the aml
				data is written to this file and the file is
				closed the table will be loaded and ACPI devices
				will be enumerated. To check if the operation is
				successful the user must check the error code
				for close(). If the operation is successful,
				subsequent writes to this attribute will fail.

		The rest of the attributes are read-only and are valid only
		after the table has been loaded by filling the aml entry:

		signature
				- ASCII table signature

		length
				- length of table in bytes, including the header

		revision
				- ACPI Specification minor version number

		oem_id
				- ASCII OEM identification

		oem_table_id
				- ASCII OEM table identification

		oem_revision
				- OEM revision number

		asl_compiler_id
				- ASCII ASL compiler vendor ID

		asl_compiler_revision
				- ASL compiler version

path: Documentation/ABI/testing/configfs-acpi


code:
What:		/config/iio
Date:		October 2015
KernelVersion:	4.4
Contact:	linux-iio@vger.kernel.org
Description:
		This represents Industrial IO configuration entry point
		directory. It contains sub-groups corresponding to IIO
		objects.

What:		/config/iio/triggers
Date:		October 2015
KernelVersion:	4.4
Description:
		Industrial IO software triggers directory.

What:		/config/iio/triggers/hrtimers
Date:		October 2015
KernelVersion:	4.4
Description:
		High resolution timers directory. Creating a directory here
		will result in creating a hrtimer trigger in the IIO subsystem.

What:		/config/iio/devices
Date:		April 2016
KernelVersion:	4.7
Description:
		Industrial IO software devices directory.

What:		/config/iio/devices/dummy
Date:		April 2016
KernelVersion:	4.7
Description:
		Dummy IIO devices directory. Creating a directory here will result
		in creating a dummy IIO device in the IIO subsystem.

path: Documentation/ABI/testing/configfs-iio


code:
What: 		/sys/kernel/config/most_<component>
Date: 		March 8, 2019
KernelVersion:  5.2
Description: 	Interface is used to configure and connect device channels
		to component drivers.

		Attributes are visible only when configfs is mounted. To mount
		configfs in /sys/kernel/config directory use:
		# mount -t configfs none /sys/kernel/config/

What: 		/sys/kernel/config/most_cdev/<link>
Date: 		March 8, 2019
KernelVersion:  5.2
Description:
		The attributes:

		buffer_size
				configure the buffer size for this channel

		subbuffer_size
				configure the sub-buffer size for this channel
				(needed for synchronous and isochronous data)

		num_buffers
				configure number of buffers used for this
				channel

		datatype
				configure type of data that will travel over
				this channel

		direction
				configure whether this link will be an input
				or output

		dbr_size
				configure DBR data buffer size (this is used
				for MediaLB communication only)

		packets_per_xact
				configure the number of packets that will be
				collected from the network before being
				transmitted via USB (this is used for USB
				communication only)

		device
				name of the device the link is to be attached to

		channel
				name of the channel the link is to be attached to

		comp_params
				pass parameters needed by some components

		create_link
				write '1' to this attribute to trigger the
				creation of the link. In case of speculative
				configuration, the creation is post-poned until
				a physical device is being attached to the bus.

		destroy_link
				write '1' to this attribute to destroy an
				active link

What: 		/sys/kernel/config/most_video/<link>
Date: 		March 8, 2019
KernelVersion:  5.2
Description:
		The attributes:

		buffer_size
				configure the buffer size for this channel

		subbuffer_size
				configure the sub-buffer size for this channel
				(needed for synchronous and isochronous data)

		num_buffers
				configure number of buffers used for this
				channel

		datatype
				configure type of data that will travel over
				this channel

		direction
				configure whether this link will be an input
				or output

		dbr_size
				configure DBR data buffer size (this is used
				for MediaLB communication only)

		packets_per_xact
				configure the number of packets that will be
				collected from the network before being
				transmitted via USB (this is used for USB
				communication only)

		device
				name of the device the link is to be attached to

		channel
				name of the channel the link is to be attached to

		comp_params
				pass parameters needed by some components

		create_link
				write '1' to this attribute to trigger the
				creation of the link. In case of speculative
				configuration, the creation is post-poned until
				a physical device is being attached to the bus.

		destroy_link
				write '1' to this attribute to destroy an
				active link

What: 		/sys/kernel/config/most_net/<link>
Date: 		March 8, 2019
KernelVersion:  5.2
Description:
		The attributes:

		buffer_size
				configure the buffer size for this channel

		subbuffer_size
				configure the sub-buffer size for this channel
				(needed for synchronous and isochronous data)

		num_buffers
				configure number of buffers used for this
				channel

		datatype
				configure type of data that will travel over
				this channel

		direction
				configure whether this link will be an input
				or output

		dbr_size
				configure DBR data buffer size (this is used
				for MediaLB communication only)

		packets_per_xact
				configure the number of packets that will be
				collected from the network before being
				transmitted via USB (this is used for USB
				communication only)

		device
				name of the device the link is to be attached to

		channel
				name of the channel the link is to be attached to

		comp_params
				pass parameters needed by some components

		create_link
				write '1' to this attribute to trigger the
				creation of the link. In case of speculative
				configuration, the creation is post-poned until
				a physical device is being attached to the bus.

		destroy_link
				write '1' to this attribute to destroy an
				active link

What: 		/sys/kernel/config/most_sound/<card>
Date: 		March 8, 2019
KernelVersion:  5.2
Description:
		The attributes:

		create_card
				write '1' to this attribute to trigger the
                                registration of the sound card with the ALSA
				subsystem.

What: 		/sys/kernel/config/most_sound/<card>/<link>
Date: 		March 8, 2019
KernelVersion:  5.2
Description:
		The attributes:

		buffer_size
				configure the buffer size for this channel

		subbuffer_size
				configure the sub-buffer size for this channel
				(needed for synchronous and isochronous data)

		num_buffers
				configure number of buffers used for this
				channel

		datatype
				configure type of data that will travel over
				this channel

		direction
				configure whether this link will be an input
				or output

		dbr_size
				configure DBR data buffer size (this is used
				for MediaLB communication only)

		packets_per_xact
				configure the number of packets that will be
				collected from the network before being
				transmitted via USB (this is used for USB
				communication only)

		device
				name of the device the link is to be attached to

		channel
				name of the channel the link is to be attached to

		comp_params
				pass parameters needed by some components

		create_link
				write '1' to this attribute to trigger the
				creation of the link. In case of speculative
				configuration, the creation is post-poned until
				a physical device is being attached to the bus.

		destroy_link
				write '1' to this attribute to destroy an
				active link

path: Documentation/ABI/testing/configfs-most


code:
What: 		/config/rdma_cm
Date: 		November 29, 2015
KernelVersion:  4.4.0
Description: 	Interface is used to configure RDMA-cable HCAs in respect to
		RDMA-CM attributes.

		Attributes are visible only when configfs is mounted. To mount
		configfs in /config directory use:
		# mount -t configfs none /config/

		In order to set parameters related to a specific HCA, a directory
		for this HCA has to be created:
		mkdir -p /config/rdma_cm/<hca>

What: 		/config/rdma_cm/<hca>/ports/<port-num>/default_roce_mode
Date: 		November 29, 2015
KernelVersion:  4.4.0
Description: 	RDMA-CM based connections from HCA <hca> at port <port-num>
		will be initiated with this RoCE type as default.
		The possible RoCE types are either "IB/RoCE v1" or "RoCE v2".
		This parameter has RW access.

What: 		/config/rdma_cm/<hca>/ports/<port-num>/default_roce_tos
Date: 		February 7, 2017
KernelVersion:  4.11.0
Description: 	RDMA-CM QPs from HCA <hca> at port <port-num>
		will be created with this TOS as default.
		This can be overridden by using the rdma_set_option API.
		The possible RoCE TOS values are 0-255.


code:
What:		/config/pcie-gadget
Date:		Feb 2011
KernelVersion:	2.6.37
Contact:	Pratyush Anand <pratyush.anand@gmail.com>
Description:

	Interface is used to configure selected dual mode PCIe controller
	as device and then program its various registers to configure it
	as a particular device type.
	This interfaces can be used to show spear's PCIe device capability.

	Nodes are only visible when configfs is mounted. To mount configfs
	in /config directory use::

	  # mount -t configfs none /config/

	For nth PCIe Device Controller /config/pcie-gadget.n/:

	=============== ======================================================
	link		used to enable ltssm and read its status.
	int_type	used to configure and read type of supported interrupt
	no_of_msi	used to configure number of MSI vector needed and
			to read no of MSI granted.
	inta		write 1 to assert INTA and 0 to de-assert.
	send_msi	write MSI vector to be sent.
	vendor_id	used to write and read vendor id (hex)
	device_id	used to write and read device id (hex)
	bar0_size	used to write and read bar0_size
	bar0_address	used to write and read bar0 mapped area in hex.
	bar0_rw_offset	used to write and read offset of bar0 where bar0_data
			will be written or read.
	bar0_data	used to write and read data at bar0_rw_offset.
	=============== ======================================================


code:
What:		/config/stp-policy
Date:		June 2015
KernelVersion:	4.3
Description:
		This group contains policies mandating Master/Channel allocation
		for software sources wishing to send trace data over an STM
		device.

What:		/config/stp-policy/<device>.<policy>
Date:		June 2015
KernelVersion:	4.3
Description:
		This group is the root of a policy; its name is a concatenation
		of an stm device name to which this policy applies and an
		arbitrary string. If <device> part doesn't match an existing
		stm device, mkdir will fail with ENODEV; if that device already
		has a policy assigned to it, mkdir will fail with EBUSY.

What:		/config/stp-policy/<device>.<policy>/device
Date:		June 2015
KernelVersion:	4.3
Description:
		STM device to which this policy applies, read only. Same as the
		<device> component of its parent directory.

What:		/config/stp-policy/<device>.<policy>/<node>
Date:		June 2015
KernelVersion:	4.3
Description:
		Policy node is a string identifier that software clients will
		use to request a master/channel to be allocated and assigned to
		them.

What:		/config/stp-policy/<device>.<policy>/<node>/masters
Date:		June 2015
KernelVersion:	4.3
Description:
		Range of masters from which to allocate for users of this node.
		Write two numbers: the first master and the last master number.

What:		/config/stp-policy/<device>.<policy>/<node>/channels
Date:		June 2015
KernelVersion:	4.3
Description:
		Range of channels from which to allocate for users of this node.
		Write two numbers: the first channel and the last channel
		number.


code:
What:		/config/stp-policy/<device>:p_sys-t.<policy>/<node>/uuid
Date:		June 2018
KernelVersion:	4.19
Description:
		UUID source identifier string, RW.
		Default value is randomly generated at the mkdir <node> time.
		Data coming from trace sources that use this <node> will be
		tagged with this UUID in the MIPI SyS-T packet stream, to
		allow the decoder to discern between different sources
		within the same master/channel range, and identify the
		higher level decoders that may be needed for each source.

What:		/config/stp-policy/<device>:p_sys-t.<policy>/<node>/do_len
Date:		June 2018
KernelVersion:	4.19
Description:
		Include payload length in the MIPI SyS-T header, boolean.
		If enabled, the SyS-T protocol encoder will include payload
		length in each packet's metadata. This is normally redundant
		if the underlying transport protocol supports marking message
		boundaries (which STP does), so this is off by default.

What:		/config/stp-policy/<device>:p_sys-t.<policy>/<node>/ts_interval
Date:		June 2018
KernelVersion:	4.19
Description:
		Time interval in milliseconds. Include a timestamp in the
		MIPI SyS-T packet metadata, if this many milliseconds have
		passed since the previous packet from this source. Zero is
		the default and stands for "never send the timestamp".

What:		/config/stp-policy/<device>:p_sys-t.<policy>/<node>/clocksync_interval
Date:		June 2018
KernelVersion:	4.19
Description:
		Time interval in milliseconds. Send a CLOCKSYNC packet if
		this many milliseconds have passed since the previous
		CLOCKSYNC packet from this source. Zero is the default and
		stands for "never send the CLOCKSYNC". It makes sense to
		use this option with sources that generate constant and/or
		periodic data, like stm_heartbeat.


code:
What:		/config/usb-gadget
Date:		Jun 2013
KernelVersion:	3.11
Description:
		This group contains sub-groups corresponding to created
		USB gadgets.

What:		/config/usb-gadget/gadget
Date:		Jun 2013
KernelVersion:	3.11
Description:

		The attributes of a gadget:

		================  ============================================
		UDC		  bind a gadget to UDC/unbind a gadget;
				  write UDC's name found in /sys/class/udc/*
				  to bind a gadget, empty string "" to unbind.

		max_speed	  maximum speed the driver supports. Valid
				  names are super-speed-plus, super-speed,
				  high-speed, full-speed, and low-speed.

		bDeviceClass	  USB device class code
		bDeviceSubClass	  USB device subclass code
		bDeviceProtocol	  USB device protocol code
		bMaxPacketSize0	  maximum endpoint 0 packet size
		bcdDevice	  bcd device release number
		bcdUSB		  bcd USB specification version number
		idProduct	  product ID
		idVendor	  vendor ID
		================  ============================================

What:		/config/usb-gadget/gadget/configs
Date:		Jun 2013
KernelVersion:	3.11
Description:
		This group contains a USB gadget's configurations

What:		/config/usb-gadget/gadget/configs/config
Date:		Jun 2013
KernelVersion:	3.11
Description:
		The attributes of a configuration:

		================  ======================================
		bmAttributes	  configuration characteristics
		MaxPower	  maximum power consumption from the bus
		================  ======================================

What:		/config/usb-gadget/gadget/configs/config/strings
Date:		Jun 2013
KernelVersion:	3.11
Description:
		This group contains subdirectories for language-specific
		strings for this configuration.

What:		/config/usb-gadget/gadget/configs/config/strings/language
Date:		Jun 2013
KernelVersion:	3.11
Description:
		The attributes:

		================  =========================
		configuration	  configuration description
		================  =========================

What:		/config/usb-gadget/gadget/functions
Date:		Jun 2013
KernelVersion:	3.11
Description:
		This group contains functions available to this USB gadget.

What:		/config/usb-gadget/gadget/functions/<func>.<inst>/interface.<n>
Date:		May 2014
KernelVersion:	3.16
Description:
		This group contains "Feature Descriptors" specific for one
		gadget's USB interface or one interface group described
		by an IAD.

		The attributes:

		=================	=====================================
		compatible_id		8-byte string for "Compatible ID"
		sub_compatible_id	8-byte string for "Sub Compatible ID"
		=================	=====================================

What:		/config/usb-gadget/gadget/functions/<func>.<inst>/interface.<n>/<property>
Date:		May 2014
KernelVersion:	3.16
Description:
		This group contains "Extended Property Descriptors" specific for one
		gadget's USB interface or one interface group described
		by an IAD.

		The attributes:

		=====		===============================================
		type		value 1..7 for interpreting the data

				- 1: unicode string
				- 2: unicode string with environment variable
				- 3: binary
				- 4: little-endian 32-bit
				- 5: big-endian 32-bit
				- 6: unicode string with a symbolic link
				- 7: multiple unicode strings
		data		blob of data to be interpreted depending on
				type
		=====		===============================================

What:		/config/usb-gadget/gadget/strings
Date:		Jun 2013
KernelVersion:	3.11
Description:
		This group contains subdirectories for language-specific
		strings for this gadget.

What:		/config/usb-gadget/gadget/strings/language
Date:		Jun 2013
KernelVersion:	3.11
Description:
		The attributes:

		============	=================================
		serialnumber	gadget's serial number (string)
		product		gadget's product description
		manufacturer	gadget's manufacturer description
		============	=================================

What:		/config/usb-gadget/gadget/os_desc
Date:		May 2014
KernelVersion:	3.16
Description:
		This group contains "OS String" extension handling attributes.

		=============	===============================================
		use		flag turning "OS Descriptors" support on/off
		b_vendor_code	one-byte value used for custom per-device and
				per-interface requests
		qw_sign		an identifier to be reported as "OS String"
				proper
		=============	===============================================


code:
What:		/config/usb-gadget/gadget/functions/acm.name
Date:		Jun 2013
KernelVersion:	3.11
Description:

		This item contains just one readonly attribute: port_num.
		It contains the port number of the /dev/ttyGS<n> device
		associated with acm function's instance "name".


code:
What:		/config/usb-gadget/gadget/functions/ecm.name
Date:		Jun 2013
KernelVersion:	3.11
Description:
		The attributes:

		ifname
			      - network device interface name associated with
				this function instance
		qmult
			      - queue length multiplier for high and
				super speed
		host_addr
			      - MAC address of host's end of this
				Ethernet over USB link
		dev_addr
			      - MAC address of device's end of this
				Ethernet over USB link


code:
What:		/config/usb-gadget/gadget/functions/eem.name
Date:		Jun 2013
KernelVersion:	3.11
Description:
		The attributes:

		==========	=============================================
		ifname		network device interface name associated with
				this function instance
		qmult		queue length multiplier for high and
				super speed
		host_addr	MAC address of host's end of this
				Ethernet over USB link
		dev_addr	MAC address of device's end of this
				Ethernet over USB link
		==========	=============================================


code:
What:		/config/usb-gadget/gadget/functions/ffs.name
Date:		Nov 2013
KernelVersion:	3.13
Description:	The purpose of this directory is to create and remove it.

		A corresponding USB function instance is created/removed.
		There are no attributes here.

		All parameters are set through FunctionFS.


code:
What:		/config/usb-gadget/gadget/functions/hid.name
Date:		Nov 2014
KernelVersion:	3.19
Description:
		The attributes:

		=============	============================================
		protocol	HID protocol to use
		report_desc	blob corresponding to HID report descriptors
				except the data passed through /dev/hidg<N>
		report_length	HID report length
		subclass	HID device subclass to use
		=============	============================================


code:
What:		/config/usb-gadget/gadget/functions/Loopback.name
Date:		Nov 2013
KernelVersion:	3.13
Description:
		The attributes:

		=======		=======================
		qlen		depth of loopback queue
		buflen		buffer length
		=======		=======================


code:
What:		/config/usb-gadget/gadget/functions/mass_storage.name
Date:		Oct 2013
KernelVersion:	3.13
Description:
		The attributes:

		===========	==============================================
		stall		Set to permit function to halt bulk endpoints.
				Disabled on some USB devices known not to work
				correctly. You should set it to true.
		num_buffers	Number of pipeline buffers. Valid numbers
				are 2..4. Available only if
				CONFIG_USB_GADGET_DEBUG_FILES is set.
		===========	==============================================

What:		/config/usb-gadget/gadget/functions/mass_storage.name/lun.name
Date:		Oct 2013
KernelVersion:	3.13
Description:
		The attributes:

		============	==============================================
		file		The path to the backing file for the LUN.
				Required if LUN is not marked as removable.
		ro		Flag specifying access to the LUN shall be
				read-only. This is implied if CD-ROM emulation
				is enabled as well as when it was impossible
				to open "filename" in R/W mode.
		removable	Flag specifying that LUN shall be indicated as
				being removable.
		cdrom		Flag specifying that LUN shall be reported as
				being a CD-ROM.
		nofua		Flag specifying that FUA flag
				in SCSI WRITE(10,12)
		forced_eject	This write-only file is useful only when
				the function is active. It causes the backing
				file to be forcibly detached from the LUN,
				regardless of whether the host has allowed it.
				Any non-zero number of bytes written will
				result in ejection.
		============	==============================================


code:
What:		/config/usb-gadget/gadget/functions/midi.name
Date:		Nov 2014
KernelVersion:	3.19
Description:
		The attributes:

		==========	====================================
		index		index value for the USB MIDI adapter
		id		ID string for the USB MIDI adapter
		buflen		MIDI buffer length
		qlen		USB read request queue length
		in_ports	number of MIDI input ports
		out_ports	number of MIDI output ports
		==========	====================================


code:
What:		/config/usb-gadget/gadget/functions/ncm.name
Date:		Jun 2013
KernelVersion:	3.11
Description:
		The attributes:

		ifname		- network device interface name associated with
				this function instance
		qmult		- queue length multiplier for high and
				super speed
		host_addr	- MAC address of host's end of this
				Ethernet over USB link
		dev_addr	- MAC address of device's end of this
				Ethernet over USB link


code:
What:		/config/usb-gadget/gadget/functions/obex.name
Date:		Jun 2013
KernelVersion:	3.11
Description:

		This item contains just one readonly attribute: port_num.
		It contains the port number of the /dev/ttyGS<n> device
		associated with obex function's instance "name".


code:
What:		/config/usb-gadget/gadget/functions/phonet.name
Date:		Jun 2013
KernelVersion:	3.11
Description:

		This item contains just one readonly attribute: ifname.
		It contains the network interface name assigned during
		network device registration.


code:
What:		/config/usb-gadget/gadget/functions/printer.name
Date:		Apr 2015
KernelVersion:	4.1
Description:
		The attributes:

		==========      ===========================================
		pnp_string	Data to be passed to the host in pnp string
		q_len		Number of requests per endpoint
		==========      ===========================================


code:
What:		/config/usb-gadget/gadget/functions/rndis.name
Date:		Jun 2013
KernelVersion:	3.11
Description:
		The attributes:

		=========	=============================================
		ifname		network device interface name associated with
				this function instance
		qmult		queue length multiplier for high and
				super speed
		host_addr	MAC address of host's end of this
				Ethernet over USB link
		dev_addr	MAC address of device's end of this
				Ethernet over USB link
		class		USB interface class, default is 02 (hex)
		subclass	USB interface subclass, default is 06 (hex)
		protocol	USB interface protocol, default is 00 (hex)
		=========	=============================================


code:
What:		/config/usb-gadget/gadget/functions/gser.name
Date:		Jun 2013
KernelVersion:	3.11
Description:

		This item contains just one readonly attribute: port_num.
		It contains the port number of the /dev/ttyGS<n> device
		associated with gser function's instance "name".


code:
What:		/config/usb-gadget/gadget/functions/SourceSink.name
Date:		Nov 2013
KernelVersion:	3.13
Description:
		The attributes:

		==============    ==================================
		pattern		  0 (all zeros), 1 (mod63), 2 (none)
		isoc_interval	  1..16
		isoc_maxpacket	  0 - 1023 (fs), 0 - 1024 (hs/ss)
		isoc_mult	  0..2 (hs/ss only)
		isoc_maxburst	  0..15 (ss only)
		buflen		  buffer length
		bulk_qlen	  depth of queue for bulk
		iso_qlen	  depth of queue for iso
		==============    ==================================


code:
What:		/config/usb-gadget/gadget/functions/geth.name
Date:		Jun 2013
KernelVersion:	3.11
Description:
		The attributes:

		==========	=============================================
		ifname		network device interface name associated with
				this function instance
		qmult		queue length multiplier for high and
				super speed
		host_addr	MAC address of host's end of this
				Ethernet over USB link
		dev_addr	MAC address of device's end of this
				Ethernet over USB link
		==========	=============================================


code:
What:		/config/usb-gadget/gadget/functions/tcm.name
Date:		Dec 2015
KernelVersion:	4.5
Description:
		There are no attributes because all the configuration
		is performed in the "target" subsystem of configfs.


code:
What:		/config/usb-gadget/gadget/functions/uac1.name
Date:		June 2017
KernelVersion:	4.14
Description:
		The attributes:

		=====================	=======================================
		c_chmask		capture channel mask
		c_srate			list of capture sampling rates (comma-separated)
		c_ssize			capture sample size (bytes)
		c_mute_present		capture mute control enable
		c_volume_present	capture volume control enable
		c_volume_min		capture volume control min value
					(in 1/256 dB)
		c_volume_max		capture volume control max value
					(in 1/256 dB)
		c_volume_res		capture volume control resolution
					(in 1/256 dB)
		p_chmask		playback channel mask
		p_srate			list of playback sampling rates (comma-separated)
		p_ssize			playback sample size (bytes)
		p_mute_present		playback mute control enable
		p_volume_present	playback volume control enable
		p_volume_min		playback volume control min value
					(in 1/256 dB)
		p_volume_max		playback volume control max value
					(in 1/256 dB)
		p_volume_res		playback volume control resolution
					(in 1/256 dB)
		req_number		the number of pre-allocated requests
					for both capture and playback
		function_name		name of the interface
		=====================	=======================================


code:
What:		/config/usb-gadget/gadget/functions/uac1_legacy.name
Date:		Sep 2014
KernelVersion:	3.18
Description:
		The attributes:

		audio_buf_size - audio buffer size
		fn_cap - capture pcm device file name
		fn_cntl - control device file name
		fn_play - playback pcm device file name
		req_buf_size - ISO OUT endpoint request buffer size
		req_count - ISO OUT endpoint request count


code:
What:		/config/usb-gadget/gadget/functions/uac2.name
Date:		Sep 2014
KernelVersion:	3.18
Description:
		The attributes:

		=====================	=======================================
		c_chmask		capture channel mask
		c_srate			list of capture sampling rates (comma-separated)
		c_ssize			capture sample size (bytes)
		c_hs_bint		capture bInterval for HS/SS (1-4: fixed, 0: auto)
		c_sync			capture synchronization type
					(async/adaptive)
		c_mute_present		capture mute control enable
		c_volume_present	capture volume control enable
		c_volume_min		capture volume control min value
					(in 1/256 dB)
		c_volume_max		capture volume control max value
					(in 1/256 dB)
		c_volume_res		capture volume control resolution
					(in 1/256 dB)
		fb_max			maximum extra bandwidth in async mode
		p_chmask		playback channel mask
		p_srate			list of playback sampling rates (comma-separated)
		p_ssize			playback sample size (bytes)
		p_hs_bint		playback bInterval for HS/SS (1-4: fixed, 0: auto)
		p_mute_present		playback mute control enable
		p_volume_present	playback volume control enable
		p_volume_min		playback volume control min value
					(in 1/256 dB)
		p_volume_max		playback volume control max value
					(in 1/256 dB)
		p_volume_res		playback volume control resolution
					(in 1/256 dB)
		req_number		the number of pre-allocated requests
					for both capture and playback
		function_name		name of the interface
		=====================	=======================================


code:
What:		/config/usb-gadget/gadget/functions/uvc.name
Date:		Dec 2014
KernelVersion:	4.0
Description:	UVC function directory

		===================	=============================
		streaming_maxburst	0..15 (ss only)
		streaming_maxpacket	1..1023 (fs), 1..3072 (hs/ss)
		streaming_interval	1..16
		function_name		string [32]
		===================	=============================

What:		/config/usb-gadget/gadget/functions/uvc.name/control
Date:		Dec 2014
KernelVersion:	4.0
Description:	Control descriptors

		All attributes read only:

		================	=============================
		bInterfaceNumber	USB interface number for this
					streaming interface
		================	=============================

What:		/config/usb-gadget/gadget/functions/uvc.name/control/class
Date:		Dec 2014
KernelVersion:	4.0
Description:	Class descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/control/class/ss
Date:		Dec 2014
KernelVersion:	4.0
Description:	Super speed control class descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/control/class/fs
Date:		Dec 2014
KernelVersion:	4.0
Description:	Full speed control class descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/control/terminal
Date:		Dec 2014
KernelVersion:	4.0
Description:	Terminal descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/control/terminal/output
Date:		Dec 2014
KernelVersion:	4.0
Description:	Output terminal descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/control/terminal/output/default
Date:		Dec 2014
KernelVersion:	4.0
Description:	Default output terminal descriptors

		All attributes read only:

		==============	=============================================
		iTerminal	index of string descriptor
		bSourceID	id of the terminal to which this terminal
				is connected
		bAssocTerminal	id of the input terminal to which this output
				terminal is associated
		wTerminalType	terminal type
		bTerminalID	a non-zero id of this terminal
		==============	=============================================

What:		/config/usb-gadget/gadget/functions/uvc.name/control/terminal/camera
Date:		Dec 2014
KernelVersion:	4.0
Description:	Camera terminal descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/control/terminal/camera/default
Date:		Dec 2014
KernelVersion:	4.0
Description:	Default camera terminal descriptors

		All attributes read only:

		========================  ====================================
		bmControls		  bitmap specifying which controls are
					  supported for the video stream
		wOcularFocalLength	  the value of Locular
		wObjectiveFocalLengthMax  the value of Lmin
		wObjectiveFocalLengthMin  the value of Lmax
		iTerminal		  index of string descriptor
		bAssocTerminal		  id of the output terminal to which
					  this terminal is connected
		wTerminalType		  terminal type
		bTerminalID		  a non-zero id of this terminal
		========================  ====================================

What:		/config/usb-gadget/gadget/functions/uvc.name/control/processing
Date:		Dec 2014
KernelVersion:	4.0
Description:	Processing unit descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/control/processing/default
Date:		Dec 2014
KernelVersion:	4.0
Description:	Default processing unit descriptors

		All attributes read only:

		===============	========================================
		iProcessing	index of string descriptor
		bmControls	bitmap specifying which controls are
				supported for the video stream
		wMaxMultiplier	maximum digital magnification x100
		bSourceID	id of the terminal to which this unit is
				connected
		bUnitID		a non-zero id of this unit
		===============	========================================

What:		/config/usb-gadget/gadget/functions/uvc.name/control/header
Date:		Dec 2014
KernelVersion:	4.0
Description:	Control header descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/control/header/name
Date:		Dec 2014
KernelVersion:	4.0
Description:	Specific control header descriptors

dwClockFrequency
bcdUVC
What:		/config/usb-gadget/gadget/functions/uvc.name/streaming
Date:		Dec 2014
KernelVersion:	4.0
Description:	Streaming descriptors

		All attributes read only:

		================	=============================
		bInterfaceNumber	USB interface number for this
					streaming interface
		================	=============================

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/class
Date:		Dec 2014
KernelVersion:	4.0
Description:	Streaming class descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/class/ss
Date:		Dec 2014
KernelVersion:	4.0
Description:	Super speed streaming class descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/class/hs
Date:		Dec 2014
KernelVersion:	4.0
Description:	High speed streaming class descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/class/fs
Date:		Dec 2014
KernelVersion:	4.0
Description:	Full speed streaming class descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/color_matching
Date:		Dec 2014
KernelVersion:	4.0
Description:	Color matching descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/color_matching/default
Date:		Dec 2014
KernelVersion:	4.0
Description:	Default color matching descriptors

		All attributes read only:

		========================  ======================================
		bMatrixCoefficients	  matrix used to compute luma and
					  chroma values from the color primaries
		bTransferCharacteristics  optoelectronic transfer
					  characteristic of the source picture,
					  also called the gamma function
		bColorPrimaries		  color primaries and the reference
					  white
		========================  ======================================

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/mjpeg
Date:		Dec 2014
KernelVersion:	4.0
Description:	MJPEG format descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/mjpeg/name
Date:		Dec 2014
KernelVersion:	4.0
Description:	Specific MJPEG format descriptors

		All attributes read only,
		except bmaControls and bDefaultFrameIndex:

		===================	=====================================
		bFormatIndex		unique id for this format descriptor;
					only defined after parent header is
					linked into the streaming class;
					read-only
		bmaControls		this format's data for bmaControls in
					the streaming header
		bmInterlaceFlags	specifies interlace information,
					read-only
		bAspectRatioY		the X dimension of the picture aspect
					ratio, read-only
		bAspectRatioX		the Y dimension of the picture aspect
					ratio, read-only
		bmFlags			characteristics of this format,
					read-only
		bDefaultFrameIndex	optimum frame index for this stream
		===================	=====================================

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/mjpeg/name/name
Date:		Dec 2014
KernelVersion:	4.0
Description:	Specific MJPEG frame descriptors

		=========================  =====================================
		bFrameIndex		   unique id for this framedescriptor;
					   only defined after parent format is
					   linked into the streaming header;
					   read-only
		dwFrameInterval		   indicates how frame interval can be
					   programmed; a number of values
					   separated by newline can be specified
		dwDefaultFrameInterval	   the frame interval the device would
					   like to use as default
		dwMaxVideoFrameBufferSize  the maximum number of bytes the
					   compressor will produce for a video
					   frame or still image
		dwMaxBitRate		   the maximum bit rate at the shortest
					   frame interval in bps
		dwMinBitRate		   the minimum bit rate at the longest
					   frame interval in bps
		wHeight			   height of decoded bitmap frame in px
		wWidth			   width of decoded bitmam frame in px
		bmCapabilities		   still image support, fixed frame-rate
					   support
		=========================  =====================================

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/uncompressed
Date:		Dec 2014
KernelVersion:	4.0
Description:	Uncompressed format descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/uncompressed/name
Date:		Dec 2014
KernelVersion:	4.0
Description:	Specific uncompressed format descriptors

		==================	=======================================
		bFormatIndex		unique id for this format descriptor;
					only defined after parent header is
					linked into the streaming class;
					read-only
		bmaControls		this format's data for bmaControls in
					the streaming header
		bmInterlaceFlags	specifies interlace information,
					read-only
		bAspectRatioY		the X dimension of the picture aspect
					ratio, read-only
		bAspectRatioX		the Y dimension of the picture aspect
					ratio, read-only
		bDefaultFrameIndex	optimum frame index for this stream
		bBitsPerPixel		number of bits per pixel used to
					specify color in the decoded video
					frame
		guidFormat		globally unique id used to identify
					stream-encoding format
		==================	=======================================

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/uncompressed/name/name
Date:		Dec 2014
KernelVersion:	4.0
Description:	Specific uncompressed frame descriptors

		=========================  =====================================
		bFrameIndex		   unique id for this framedescriptor;
					   only defined after parent format is
					   linked into the streaming header;
					   read-only
		dwFrameInterval		   indicates how frame interval can be
					   programmed; a number of values
					   separated by newline can be specified
		dwDefaultFrameInterval	   the frame interval the device would
					   like to use as default
		dwMaxVideoFrameBufferSize  the maximum number of bytes the
					   compressor will produce for a video
					   frame or still image
		dwMaxBitRate		   the maximum bit rate at the shortest
					   frame interval in bps
		dwMinBitRate		   the minimum bit rate at the longest
					   frame interval in bps
		wHeight			   height of decoded bitmap frame in px
		wWidth			   width of decoded bitmam frame in px
		bmCapabilities		   still image support, fixed frame-rate
					   support
		=========================  =====================================

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/header
Date:		Dec 2014
KernelVersion:	4.0
Description:	Streaming header descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/header/name
Date:		Dec 2014
KernelVersion:	4.0
Description:	Specific streaming header descriptors

		All attributes read only:

		====================	=====================================
		bTriggerUsage		how the host software will respond to
					a hardware trigger interrupt event
		bTriggerSupport		flag specifying if hardware
					triggering is supported
		bStillCaptureMethod	method of still image capture
					supported
		bTerminalLink		id of the output terminal to which
					the video endpoint of this interface
					is connected
		bmInfo			capabilities of this video streaming
					interface
		====================	=====================================

What:		/sys/class/udc/udc.name/device/gadget/video4linux/video.name/function_name
Date:		May 2018
KernelVersion:	4.19
Description:	UVC configfs function instance name


code:
What:		/sys/kernel/debug/cec/*/error-inj
Date:		March 2018
Contact:	Hans Verkuil <hverkuil-cisco@xs4all.nl>
Description:

The CEC Framework allows for CEC error injection commands through
debugfs. Drivers that support this will create an error-inj file
through which the error injection commands can be given.

The basic syntax is as follows:

Leading spaces/tabs are ignored. If the next character is a '#' or the
end of the line was reached, then the whole line is ignored. Otherwise
a command is expected.

It is up to the driver to decide what commands to implement. The only
exception is that the command 'clear' without any arguments must be
implemented and that it will remove all current error injection
commands.

This ensures that you can always do 'echo clear >error-inj' to clear any
error injections without having to know the details of the driver-specific
commands.

Note that the output of 'error-inj' shall be valid as input to 'error-inj'.
So this must work::

	$ cat error-inj >einj.txt
	$ cat einj.txt >error-inj

Other than these basic rules described above this ABI is not considered
stable and may change in the future.

Drivers that implement this functionality must document the commands as
part of the CEC documentation and must keep that documentation up to date
when changes are made.

The following CEC error injection implementations exist:

- Documentation/userspace-api/media/cec/cec-pin-error-inj.rst


code:
What:		/sys/kernel/debug/<cros-ec-device>/console_log
Date:		September 2017
KernelVersion:	4.13
Description:
		If the EC supports the CONSOLE_READ command type, this file
		can be used to grab the EC logs. The kernel polls for the log
		and keeps its own buffer but userspace should grab this and
		write it out to some logs.

What:		/sys/kernel/debug/<cros-ec-device>/panicinfo
Date:		September 2017
KernelVersion:	4.13
Description:
		This file dumps the EC panic information from the previous
		reboot. This file will only exist if the PANIC_INFO command
		type is supported by the EC.

What:		/sys/kernel/debug/<cros-ec-device>/pdinfo
Date:		June 2018
KernelVersion:	4.17
Description:
		This file provides the port role, muxes and power debug
		information for all the USB PD/type-C ports available. If
		the are no ports available, this file will be just an empty
		file.

What:		/sys/kernel/debug/<cros-ec-device>/uptime
Date:		June 2019
KernelVersion:	5.3
Description:
		A u32 providing the time since EC booted in ms. This is
		is used for synchronizing the AP host time with the EC
		log. An error is returned if the command is not supported
		by the EC or there is a communication problem.

What:		/sys/kernel/debug/<cros-ec-device>/last_resume_result
Date:		June 2019
KernelVersion:	5.3
Description:
		Some ECs have a feature where they will track transitions to
		the (Intel) processor's SLP_S0 line, in order to detect cases
		where a system failed to go into S0ix. When the system resumes,
		an EC with this feature will return a summary of SLP_S0
		transitions that occurred. The last_resume_result file returns
		the most recent response from the AP's resume message to the EC.

		The bottom 31 bits contain a count of the number of SLP_S0
		transitions that occurred since the suspend message was
		received. Bit 31 is set if the EC attempted to wake the
		system due to a timeout when watching for SLP_S0 transitions.
		Callers can use this to detect a wake from the EC due to
		S0ix timeouts. The result will be zero if no suspend
		transitions have been attempted, or the EC does not support
		this feature.

		Output will be in the format: "0x%08x\n".

What:		/sys/kernel/debug/<cros-ec-device>/suspend_timeout_ms
Date:		August 2022
KernelVersion:	6.1
Description:
		Some ECs have a feature where they will track transitions of
		a hardware-controlled sleep line, such as Intel's SLP_S0 line,
		in order to detect cases where a system failed to go into deep
		sleep states. The suspend_timeout_ms file controls the amount of
		time in milliseconds the EC will wait before declaring a sleep
		timeout event and attempting to wake the system.

		Supply 0 to use the default value coded into EC firmware. Supply
		65535 (EC_HOST_SLEEP_TIMEOUT_INFINITE) to disable the EC sleep
		failure detection mechanism. Values in between 0 and 65535
		indicate the number of milliseconds the EC should wait after a
		sleep transition before declaring a timeout. This includes both
		the duration after a sleep command was received but before the
		hardware line changed, as well as the duration between when the
		hardware line changed and the kernel sent an EC resume command.

		Output will be in the format: "%u\n".


code:
What:		/sys/kernel/debug/dell-wmi-ddv-<wmi_device_name>/fan_sensor_information
Date:		September 2022
KernelVersion:	6.1
Contact:	Armin Wolf <W_Armin@gmx.de>
Description:
		This file contains the contents of the fan sensor information buffer,
		which contains fan sensor entries and a terminating character (0xFF).

		Each fan sensor entry consists of three bytes with an unknown meaning,
		interested people may use this file for reverse-engineering.

What:		/sys/kernel/debug/dell-wmi-ddv-<wmi_device_name>/thermal_sensor_information
Date:		September 2022
KernelVersion:	6.1
Contact:	Armin Wolf <W_Armin@gmx.de>
Description:
		This file contains the contents of the thermal sensor information buffer,
		which contains thermal sensor entries and a terminating character (0xFF).

		Each thermal sensor entry consists of five bytes with an unknown meaning,
		interested people may use this file for reverse-engineering.


code:
What:           /sys/kernel/debug/genwqe/genwqe<n>_card/ddcb_info
Date:           Oct 2013
Contact:        haver@linux.vnet.ibm.com
Description:    DDCB queue dump used for debugging queueing problems.

What:           /sys/kernel/debug/genwqe/genwqe<n>_card/curr_regs
Date:           Oct 2013
Contact:        haver@linux.vnet.ibm.com
Description:    Dump of the current error registers.
                Only available for PF.

What:           /sys/kernel/debug/genwqe/genwqe<n>_card/curr_dbg_uid0
Date:           Oct 2013
Contact:        haver@linux.vnet.ibm.com
Description:    Internal chip state of UID0 (unit id 0).
                Only available for PF.

What:           /sys/kernel/debug/genwqe/genwqe<n>_card/curr_dbg_uid1
Date:           Oct 2013
Contact:        haver@linux.vnet.ibm.com
Description:    Internal chip state of UID1.
                Only available for PF.

What:           /sys/kernel/debug/genwqe/genwqe<n>_card/curr_dbg_uid2
Date:           Oct 2013
Contact:        haver@linux.vnet.ibm.com
Description:    Internal chip state of UID2.
                Only available for PF.

What:           /sys/kernel/debug/genwqe/genwqe<n>_card/prev_regs
Date:           Oct 2013
Contact:        haver@linux.vnet.ibm.com
Description:    Dump of the error registers before the last reset of
                the card occurred.
                Only available for PF.

What:           /sys/kernel/debug/genwqe/genwqe<n>_card/prev_dbg_uid0
Date:           Oct 2013
Contact:        haver@linux.vnet.ibm.com
Description:    Internal chip state of UID0 before card was reset.
                Only available for PF.

What:           /sys/kernel/debug/genwqe/genwqe<n>_card/prev_dbg_uid1
Date:           Oct 2013
Contact:        haver@linux.vnet.ibm.com
Description:    Internal chip state of UID1 before card was reset.
                Only available for PF.

What:           /sys/kernel/debug/genwqe/genwqe<n>_card/prev_dbg_uid2
Date:           Oct 2013
Contact:        haver@linux.vnet.ibm.com
Description:    Internal chip state of UID2 before card was reset.
                Only available for PF.

What:           /sys/kernel/debug/genwqe/genwqe<n>_card/info
Date:           Oct 2013
Contact:        haver@linux.vnet.ibm.com
Description:    Comprehensive summary of bitstream version and software
                version. Used bitstream and bitstream clocking information.

What:           /sys/kernel/debug/genwqe/genwqe<n>_card/err_inject
Date:           Oct 2013
Contact:        haver@linux.vnet.ibm.com
Description:    Possibility to inject error cases to ensure that the drivers
                error handling code works well.

What:           /sys/kernel/debug/genwqe/genwqe<n>_card/vf<0..14>_jobtimeout_msec
Date:           Oct 2013
Contact:        haver@linux.vnet.ibm.com
Description:    Default VF timeout 250ms. Testing might require 1000ms.
                Using 0 will use the cards default value (whatever that is).

                The timeout depends on the max number of available cards
                in the system and the maximum allowed queue size.

                The driver ensures that the settings are done just before
                the VFs get enabled. Changing the timeouts in flight is not
                possible.
                Only available for PF.

What:           /sys/kernel/debug/genwqe/genwqe<n>_card/jobtimer
Date:           Oct 2013
Contact:        haver@linux.vnet.ibm.com
Description:    Dump job timeout register values for PF and VFs.
                Only available for PF.

What:           /sys/kernel/debug/genwqe/genwqe<n>_card/queue_working_time
Date:           Dec 2013
Contact:        haver@linux.vnet.ibm.com
Description:    Dump queue working time register values for PF and VFs.
                Only available for PF.


code:
What:           /sys/kernel/debug/habanalabs/hl<n>/addr
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Sets the device address to be used for read or write through
                PCI bar, or the device VA of a host mapped memory to be read or
                written directly from the host. The latter option is allowed
                only when the IOMMU is disabled.
                The acceptable value is a string that starts with "0x"

What:           /sys/kernel/debug/habanalabs/hl<n>/clk_gate
Date:           May 2020
KernelVersion:  5.8
Contact:        ogabbay@kernel.org
Description:    This setting is now deprecated as clock gating is handled solely by the f/w

What:           /sys/kernel/debug/habanalabs/hl<n>/command_buffers
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Displays a list with information about the currently allocated
                command buffers

What:           /sys/kernel/debug/habanalabs/hl<n>/command_submission
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Displays a list with information about the currently active
                command submissions

What:           /sys/kernel/debug/habanalabs/hl<n>/command_submission_jobs
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Displays a list with detailed information about each JOB (CB) of
                each active command submission

What:           /sys/kernel/debug/habanalabs/hl<n>/data32
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Allows the root user to read or write directly through the
                device's PCI bar. Writing to this file generates a write
                transaction while reading from the file generates a read
                transaction. This custom interface is needed (instead of using
                the generic Linux user-space PCI mapping) because the DDR bar
                is very small compared to the DDR memory and only the driver can
                move the bar before and after the transaction.

                If the IOMMU is disabled, it also allows the root user to read
                or write from the host a device VA of a host mapped memory

What:           /sys/kernel/debug/habanalabs/hl<n>/data64
Date:           Jan 2020
KernelVersion:  5.6
Contact:        ogabbay@kernel.org
Description:    Allows the root user to read or write 64 bit data directly
                through the device's PCI bar. Writing to this file generates a
                write transaction while reading from the file generates a read
                transaction. This custom interface is needed (instead of using
                the generic Linux user-space PCI mapping) because the DDR bar
                is very small compared to the DDR memory and only the driver can
                move the bar before and after the transaction.

                If the IOMMU is disabled, it also allows the root user to read
                or write from the host a device VA of a host mapped memory

What:           /sys/kernel/debug/habanalabs/hl<n>/data_dma
Date:           Apr 2021
KernelVersion:  5.13
Contact:        ogabbay@kernel.org
Description:    Allows the root user to read from the device's internal
                memory (DRAM/SRAM) through a DMA engine.
                This property is a binary blob that contains the result of the
                DMA transfer.
                This custom interface is needed (instead of using the generic
                Linux user-space PCI mapping) because the amount of internal
                memory is huge (>32GB) and reading it via the PCI bar will take
                a very long time.
                This interface doesn't support concurrency in the same device.
                In GAUDI and GOYA, this action can cause undefined behavior
                in case the it is done while the device is executing user
                workloads.
                Only supported on GAUDI at this stage.

What:           /sys/kernel/debug/habanalabs/hl<n>/device
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Enables the root user to set the device to specific state.
                Valid values are "disable", "enable", "suspend", "resume".
                User can read this property to see the valid values

What:           /sys/kernel/debug/habanalabs/hl<n>/device_release_watchdog_timeout
Date:           Oct 2022
KernelVersion:  6.2
Contact:        ttayar@habana.ai
Description:    The watchdog timeout value in seconds for a device relese upon
                certain error cases, after which the device is reset.

What:           /sys/kernel/debug/habanalabs/hl<n>/dma_size
Date:           Apr 2021
KernelVersion:  5.13
Contact:        ogabbay@kernel.org
Description:    Specify the size of the DMA transaction when using DMA to read
                from the device's internal memory. The value can not be larger
                than 128MB. Writing to this value initiates the DMA transfer.
                When the write is finished, the user can read the "data_dma"
                blob

What:           /sys/kernel/debug/habanalabs/hl<n>/dump_razwi_events
Date:           Aug 2022
KernelVersion:  5.20
Contact:        fkassabri@habana.ai
Description:    Dumps all razwi events to dmesg if exist.
                After reading the status register of an existing event
                the routine will clear the status register.
                Usage: cat dump_razwi_events

What:           /sys/kernel/debug/habanalabs/hl<n>/dump_security_violations
Date:           Jan 2021
KernelVersion:  5.12
Contact:        ogabbay@kernel.org
Description:    Dumps all security violations to dmesg. This will also ack
                all security violations meanings those violations will not be
                dumped next time user calls this API

What:           /sys/kernel/debug/habanalabs/hl<n>/engines
Date:           Jul 2019
KernelVersion:  5.3
Contact:        ogabbay@kernel.org
Description:    Displays the status registers values of the device engines and
                their derived idle status

What:           /sys/kernel/debug/habanalabs/hl<n>/i2c_addr
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Sets I2C device address for I2C transaction that is generated
                by the device's CPU, Not available when device is loaded with secured
                firmware

What:           /sys/kernel/debug/habanalabs/hl<n>/i2c_bus
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Sets I2C bus address for I2C transaction that is generated by
                the device's CPU, Not available when device is loaded with secured
                firmware

What:           /sys/kernel/debug/habanalabs/hl<n>/i2c_data
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Triggers an I2C transaction that is generated by the device's
                CPU. Writing to this file generates a write transaction while
                reading from the file generates a read transaction, Not available
                when device is loaded with secured firmware

What:           /sys/kernel/debug/habanalabs/hl<n>/i2c_len
Date:           Dec 2021
KernelVersion:  5.17
Contact:        obitton@habana.ai
Description:    Sets I2C length in bytes for I2C transaction that is generated by
                the device's CPU, Not available when device is loaded with secured
                firmware

What:           /sys/kernel/debug/habanalabs/hl<n>/i2c_reg
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Sets I2C register id for I2C transaction that is generated by
                the device's CPU, Not available when device is loaded with secured
                firmware

What:           /sys/kernel/debug/habanalabs/hl<n>/led0
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Sets the state of the first S/W led on the device, Not available
                when device is loaded with secured firmware

What:           /sys/kernel/debug/habanalabs/hl<n>/led1
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Sets the state of the second S/W led on the device, Not available
                when device is loaded with secured firmware

What:           /sys/kernel/debug/habanalabs/hl<n>/led2
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Sets the state of the third S/W led on the device, Not available
                when device is loaded with secured firmware

What:           /sys/kernel/debug/habanalabs/hl<n>/memory_scrub
Date:           May 2022
KernelVersion:  5.19
Contact:        dhirschfeld@habana.ai
Description:    Allows the root user to scrub the dram memory. The scrubbing
                value can be set using the debugfs file memory_scrub_val.

What:           /sys/kernel/debug/habanalabs/hl<n>/memory_scrub_val
Date:           May 2022
KernelVersion:  5.19
Contact:        dhirschfeld@habana.ai
Description:    The value to which the dram will be set to when the user
                scrubs the dram using 'memory_scrub' debugfs file and
                the scrubbing value when using module param 'memory_scrub'

What:           /sys/kernel/debug/habanalabs/hl<n>/mmu
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Displays the hop values and physical address for a given ASID
                and virtual address. The user should write the ASID and VA into
                the file and then read the file to get the result.
                e.g. to display info about VA 0x1000 for ASID 1 you need to do:
                echo "1 0x1000" > /sys/kernel/debug/habanalabs/hl0/mmu

What:           /sys/kernel/debug/habanalabs/hl<n>/mmu_error
Date:           Mar 2021
KernelVersion:  5.12
Contact:        fkassabri@habana.ai
Description:    Check and display page fault or access violation mmu errors for
                all MMUs specified in mmu_cap_mask.
                e.g. to display error info for MMU hw cap bit 9, you need to do:
                echo "0x200" > /sys/kernel/debug/habanalabs/hl0/mmu_error
                cat /sys/kernel/debug/habanalabs/hl0/mmu_error

What:           /sys/kernel/debug/habanalabs/hl<n>/monitor_dump
Date:           Mar 2022
KernelVersion:  5.19
Contact:        osharabi@habana.ai
Description:    Allows the root user to dump monitors status from the device's
                protected config space.
                This property is a binary blob that contains the result of the
                monitors registers dump.
                This custom interface is needed (instead of using the generic
                Linux user-space PCI mapping) because this space is protected
                and cannot be accessed using PCI read.
                This interface doesn't support concurrency in the same device.
                Only supported on GAUDI.

What:           /sys/kernel/debug/habanalabs/hl<n>/monitor_dump_trig
Date:           Mar 2022
KernelVersion:  5.19
Contact:        osharabi@habana.ai
Description:    Triggers dump of monitor data. The value to trigger the operation
                must be 1. Triggering the monitor dump operation initiates dump of
                current registers values of all monitors.
                When the write is finished, the user can read the "monitor_dump"
                blob

What:           /sys/kernel/debug/habanalabs/hl<n>/set_power_state
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Sets the PCI power state. Valid values are "1" for D0 and "2"
                for D3Hot

What:           /sys/kernel/debug/habanalabs/hl<n>/skip_reset_on_timeout
Date:           Jun 2021
KernelVersion:  5.13
Contact:        ynudelman@habana.ai
Description:    Sets the skip reset on timeout option for the device. Value of
                "0" means device will be reset in case some CS has timed out,
                otherwise it will not be reset.

What:           /sys/kernel/debug/habanalabs/hl<n>/state_dump
Date:           Oct 2021
KernelVersion:  5.15
Contact:        ynudelman@habana.ai
Description:    Gets the state dump occurring on a CS timeout or failure.
                State dump is used for debug and is created each time in case of
                a problem in a CS execution, before reset.
                Reading from the node returns the newest state dump available.
                Writing an integer X discards X state dumps, so that the
                next read would return X+1-st newest state dump.

What:           /sys/kernel/debug/habanalabs/hl<n>/stop_on_err
Date:           Mar 2020
KernelVersion:  5.6
Contact:        ogabbay@kernel.org
Description:    Sets the stop-on_error option for the device engines. Value of
                "0" is for disable, otherwise enable.
                Relevant only for GOYA and GAUDI.

What:           /sys/kernel/debug/habanalabs/hl<n>/timeout_locked
Date:           Sep 2021
KernelVersion:  5.16
Contact:        obitton@habana.ai
Description:    Sets the command submission timeout value in seconds.

What:           /sys/kernel/debug/habanalabs/hl<n>/userptr
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Displays a list with information about the currently user
                pointers (user virtual addresses) that are pinned and mapped
                to DMA addresses

What:           /sys/kernel/debug/habanalabs/hl<n>/userptr_lookup
Date:           Oct 2021
KernelVersion:  5.15
Contact:        ogabbay@kernel.org
Description:    Allows to search for specific user pointers (user virtual
                addresses) that are pinned and mapped to DMA addresses, and see
                their resolution to the specific dma address.

What:           /sys/kernel/debug/habanalabs/hl<n>/vm
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Displays a list with information about all the active virtual
                address mappings per ASID and all user mappings of HW blocks


code:
What:		/sys/kernel/debug/ec/*/{gpe,use_global_lock,io}
Date:		July 2010
Contact:	Thomas Renninger <trenn@suse.de>
Description:

General information like which GPE is assigned to the EC and whether
the global lock should get used.
Knowing the EC GPE one can watch the amount of HW events related to
the EC here (XY -> GPE number from `/sys/kernel/debug/ec/*/gpe`):
/sys/firmware/acpi/interrupts/gpeXY

The io file is binary and a userspace tool located here:
ftp://ftp.suse.com/pub/people/trenn/sources/ec/
should get used to read out the 256 Embedded Controller registers
or writing to them.

CAUTION:
  Do not write to the Embedded Controller if you don't know
  what you are doing! Rebooting afterwards also is a good idea.
  This can influence the way your machine is cooled and fans may
  not get switched on again after you did a wrong write.

path: Documentation/ABI/testing/debugfs-ec


code:
What:		/sys/kernel/debug/hisi_hpre/<bdf>/cluster[0-3]/regs
Date:		Sep 2019
Contact:	linux-crypto@vger.kernel.org
Description:	Dump debug registers from the HPRE cluster.
		Only available for PF.

What:		/sys/kernel/debug/hisi_hpre/<bdf>/cluster[0-3]/cluster_ctrl
Date:		Sep 2019
Contact:	linux-crypto@vger.kernel.org
Description:	Write the HPRE core selection in the cluster into this file,
		and then we can read the debug information of the core.
		Only available for PF.

What:		/sys/kernel/debug/hisi_hpre/<bdf>/rdclr_en
Date:		Sep 2019
Contact:	linux-crypto@vger.kernel.org
Description:	HPRE cores debug registers read clear control. 1 means enable
		register read clear, otherwise 0. Writing to this file has no
		functional effect, only enable or disable counters clear after
		reading of these registers.
		Only available for PF.

What:		/sys/kernel/debug/hisi_hpre/<bdf>/current_qm
Date:		Sep 2019
Contact:	linux-crypto@vger.kernel.org
Description:	One HPRE controller has one PF and multiple VFs, each function
		has a QM. Select the QM which below qm refers to.
		Only available for PF.

What:		/sys/kernel/debug/hisi_hpre/<bdf>/alg_qos
Date:		Jun 2021
Contact:	linux-crypto@vger.kernel.org
Description:	The <bdf> is related the function for PF and VF.
		HPRE driver supports to configure each function's QoS, the driver
		supports to write <bdf> value to alg_qos in the host. Such as
		"echo <bdf> value > alg_qos". The qos value is 1~1000, means
		1/1000~1000/1000 of total QoS. The driver reading alg_qos to
		get related QoS in the host and VM, Such as "cat alg_qos".

What:		/sys/kernel/debug/hisi_hpre/<bdf>/regs
Date:		Sep 2019
Contact:	linux-crypto@vger.kernel.org
Description:	Dump debug registers from the HPRE.
		Only available for PF.

What:		/sys/kernel/debug/hisi_hpre/<bdf>/qm/regs
Date:		Sep 2019
Contact:	linux-crypto@vger.kernel.org
Description:	Dump debug registers from the QM.
		Available for PF and VF in host. VF in guest currently only
		has one debug register.

What:		/sys/kernel/debug/hisi_hpre/<bdf>/qm/current_q
Date:		Sep 2019
Contact:	linux-crypto@vger.kernel.org
Description:	One QM may contain multiple queues. Select specific queue to
		show its debug registers in above regs.
		Only available for PF.

What:		/sys/kernel/debug/hisi_hpre/<bdf>/qm/clear_enable
Date:		Sep 2019
Contact:	linux-crypto@vger.kernel.org
Description:	QM debug registers(regs) read clear control. 1 means enable
		register read clear, otherwise 0.
		Writing to this file has no functional effect, only enable or
		disable counters clear after reading of these registers.
		Only available for PF.

What:		/sys/kernel/debug/hisi_hpre/<bdf>/qm/err_irq
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the number of invalid interrupts for
		QM task completion.
		Available for both PF and VF, and take no other effect on HPRE.

What:		/sys/kernel/debug/hisi_hpre/<bdf>/qm/aeq_irq
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the number of QM async event queue interrupts.
		Available for both PF and VF, and take no other effect on HPRE.

What:		/sys/kernel/debug/hisi_hpre/<bdf>/qm/abnormal_irq
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the number of interrupts for QM abnormal event.
		Available for both PF and VF, and take no other effect on HPRE.

What:		/sys/kernel/debug/hisi_hpre/<bdf>/qm/create_qp_err
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the number of queue allocation errors.
		Available for both PF and VF, and take no other effect on HPRE.

What:		/sys/kernel/debug/hisi_hpre/<bdf>/qm/mb_err
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the number of failed QM mailbox commands.
		Available for both PF and VF, and take no other effect on HPRE.

What:		/sys/kernel/debug/hisi_hpre/<bdf>/qm/status
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the status of the QM.
		Four states: initiated, started, stopped and closed.
		Available for both PF and VF, and take no other effect on HPRE.

What:		/sys/kernel/debug/hisi_hpre/<bdf>/qm/diff_regs
Date:		Mar 2022
Contact:	linux-crypto@vger.kernel.org
Description:	QM debug registers(regs) read hardware register value. This
		node is used to show the change of the qm register values. This
		node can be help users to check the change of register values.

What:		/sys/kernel/debug/hisi_hpre/<bdf>/hpre_dfx/diff_regs
Date:		Mar 2022
Contact:	linux-crypto@vger.kernel.org
Description:	HPRE debug registers(regs) read hardware register value. This
		node is used to show the change of the register values. This
		node can be help users to check the change of register values.

What:		/sys/kernel/debug/hisi_hpre/<bdf>/hpre_dfx/send_cnt
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the total number of sent requests.
		Available for both PF and VF, and take no other effect on HPRE.

What:		/sys/kernel/debug/hisi_hpre/<bdf>/hpre_dfx/recv_cnt
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the total number of received requests.
		Available for both PF and VF, and take no other effect on HPRE.

What:		/sys/kernel/debug/hisi_hpre/<bdf>/hpre_dfx/send_busy_cnt
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the total number of requests sent
		with returning busy.
		Available for both PF and VF, and take no other effect on HPRE.

What:		/sys/kernel/debug/hisi_hpre/<bdf>/hpre_dfx/send_fail_cnt
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the total number of completed but error requests.
		Available for both PF and VF, and take no other effect on HPRE.

What:		/sys/kernel/debug/hisi_hpre/<bdf>/hpre_dfx/invalid_req_cnt
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the total number of invalid requests being received.
		Available for both PF and VF, and take no other effect on HPRE.

What:		/sys/kernel/debug/hisi_hpre/<bdf>/hpre_dfx/overtime_thrhld
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Set the threshold time for counting the request which is
		processed longer than the threshold.
		0: disable(default), 1: 1 microsecond.
		Available for both PF and VF, and take no other effect on HPRE.

What:		/sys/kernel/debug/hisi_hpre/<bdf>/hpre_dfx/over_thrhld_cnt
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the total number of time out requests.
		Available for both PF and VF, and take no other effect on HPRE.


code:
What:		/sys/kernel/debug/hisi_sec2/<bdf>/clear_enable
Date:		Oct 2019
Contact:	linux-crypto@vger.kernel.org
Description:	Enabling/disabling of clear action after reading
		the SEC debug registers.
		0: disable, 1: enable.
		Only available for PF, and take no other effect on SEC.

What:		/sys/kernel/debug/hisi_sec2/<bdf>/current_qm
Date:		Oct 2019
Contact:	linux-crypto@vger.kernel.org
Description:	One SEC controller has one PF and multiple VFs, each function
		has a QM. This file can be used to select the QM which below
		qm refers to.
		Only available for PF.

What:		/sys/kernel/debug/hisi_sec2/<bdf>/alg_qos
Date:		Jun 2021
Contact:	linux-crypto@vger.kernel.org
Description:	The <bdf> is related the function for PF and VF.
		SEC driver supports to configure each function's QoS, the driver
		supports to write <bdf> value to alg_qos in the host. Such as
		"echo <bdf> value > alg_qos". The qos value is 1~1000, means
		1/1000~1000/1000 of total QoS. The driver reading alg_qos to
		get related QoS in the host and VM, Such as "cat alg_qos".

What:		/sys/kernel/debug/hisi_sec2/<bdf>/qm/qm_regs
Date:		Oct 2019
Contact:	linux-crypto@vger.kernel.org
Description:	Dump of QM related debug registers.
		Available for PF and VF in host. VF in guest currently only
		has one debug register.

What:		/sys/kernel/debug/hisi_sec2/<bdf>/qm/current_q
Date:		Oct 2019
Contact:	linux-crypto@vger.kernel.org
Description:	One QM of SEC may contain multiple queues. Select specific
		queue to show its debug registers in above 'regs'.
		Only available for PF.

What:		/sys/kernel/debug/hisi_sec2/<bdf>/qm/clear_enable
Date:		Oct 2019
Contact:	linux-crypto@vger.kernel.org
Description:	Enabling/disabling of clear action after reading
		the SEC's QM debug registers.
		0: disable, 1: enable.
		Only available for PF, and take no other effect on SEC.

What:		/sys/kernel/debug/hisi_sec2/<bdf>/qm/err_irq
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the number of invalid interrupts for
		QM task completion.
		Available for both PF and VF, and take no other effect on SEC.

What:		/sys/kernel/debug/hisi_sec2/<bdf>/qm/aeq_irq
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the number of QM async event queue interrupts.
		Available for both PF and VF, and take no other effect on SEC.

What:		/sys/kernel/debug/hisi_sec2/<bdf>/qm/abnormal_irq
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the number of interrupts for QM abnormal event.
		Available for both PF and VF, and take no other effect on SEC.

What:		/sys/kernel/debug/hisi_sec2/<bdf>/qm/create_qp_err
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the number of queue allocation errors.
		Available for both PF and VF, and take no other effect on SEC.

What:		/sys/kernel/debug/hisi_sec2/<bdf>/qm/mb_err
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the number of failed QM mailbox commands.
		Available for both PF and VF, and take no other effect on SEC.

What:		/sys/kernel/debug/hisi_sec2/<bdf>/qm/status
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the status of the QM.
		Four states: initiated, started, stopped and closed.
		Available for both PF and VF, and take no other effect on SEC.

What:		/sys/kernel/debug/hisi_sec2/<bdf>/qm/diff_regs
Date:		Mar 2022
Contact:	linux-crypto@vger.kernel.org
Description:	QM debug registers(regs) read hardware register value. This
		node is used to show the change of the qm register values. This
		node can be help users to check the change of register values.

What:		/sys/kernel/debug/hisi_sec2/<bdf>/sec_dfx/diff_regs
Date:		Mar 2022
Contact:	linux-crypto@vger.kernel.org
Description:	SEC debug registers(regs) read hardware register value. This
		node is used to show the change of the register values. This
		node can be help users to check the change of register values.

What:		/sys/kernel/debug/hisi_sec2/<bdf>/sec_dfx/send_cnt
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the total number of sent requests.
		Available for both PF and VF, and take no other effect on SEC.

What:		/sys/kernel/debug/hisi_sec2/<bdf>/sec_dfx/recv_cnt
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the total number of received requests.
		Available for both PF and VF, and take no other effect on SEC.

What:		/sys/kernel/debug/hisi_sec2/<bdf>/sec_dfx/send_busy_cnt
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the total number of requests sent with returning busy.
		Available for both PF and VF, and take no other effect on SEC.

What:		/sys/kernel/debug/hisi_sec2/<bdf>/sec_dfx/err_bd_cnt
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the total number of BD type error requests
		to be received.
		Available for both PF and VF, and take no other effect on SEC.

What:		/sys/kernel/debug/hisi_sec2/<bdf>/sec_dfx/invalid_req_cnt
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the total number of invalid requests being received.
		Available for both PF and VF, and take no other effect on SEC.

What:		/sys/kernel/debug/hisi_sec2/<bdf>/sec_dfx/done_flag_cnt
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the total number of completed but marked error requests
		to be received.
		Available for both PF and VF, and take no other effect on SEC.


code:
What:		/sys/kernel/debug/hisi_zip/<bdf>/comp_core[01]/regs
Date:		Nov 2018
Contact:	linux-crypto@vger.kernel.org
Description:	Dump of compression cores related debug registers.
		Only available for PF.

What:		/sys/kernel/debug/hisi_zip/<bdf>/decomp_core[0-5]/regs
Date:		Nov 2018
Contact:	linux-crypto@vger.kernel.org
Description:	Dump of decompression cores related debug registers.
		Only available for PF.

What:		/sys/kernel/debug/hisi_zip/<bdf>/clear_enable
Date:		Nov 2018
Contact:	linux-crypto@vger.kernel.org
Description:	Compression/decompression core debug registers read clear
		control. 1 means enable register read clear, otherwise 0.
		Writing to this file has no functional effect, only enable or
		disable counters clear after reading of these registers.
		Only available for PF.

What:		/sys/kernel/debug/hisi_zip/<bdf>/current_qm
Date:		Nov 2018
Contact:	linux-crypto@vger.kernel.org
Description:	One ZIP controller has one PF and multiple VFs, each function
		has a QM. Select the QM which below qm refers to.
		Only available for PF.

What:		/sys/kernel/debug/hisi_zip/<bdf>/alg_qos
Date:		Jun 2021
Contact:	linux-crypto@vger.kernel.org
Description:	The <bdf> is related the function for PF and VF.
		ZIP driver supports to configure each function's QoS, the driver
		supports to write <bdf> value to alg_qos in the host. Such as
		"echo <bdf> value > alg_qos". The qos value is 1~1000, means
		1/1000~1000/1000 of total QoS. The driver reading alg_qos to
		get related QoS in the host and VM, Such as "cat alg_qos".

What:		/sys/kernel/debug/hisi_zip/<bdf>/qm/regs
Date:		Nov 2018
Contact:	linux-crypto@vger.kernel.org
Description:	Dump of QM related debug registers.
		Available for PF and VF in host. VF in guest currently only
		has one debug register.

What:		/sys/kernel/debug/hisi_zip/<bdf>/qm/current_q
Date:		Nov 2018
Contact:	linux-crypto@vger.kernel.org
Description:	One QM may contain multiple queues. Select specific queue to
		show its debug registers in above regs.
		Only available for PF.

What:		/sys/kernel/debug/hisi_zip/<bdf>/qm/clear_enable
Date:		Nov 2018
Contact:	linux-crypto@vger.kernel.org
Description:	QM debug registers(regs) read clear control. 1 means enable
		register read clear, otherwise 0.
		Writing to this file has no functional effect, only enable or
		disable counters clear after reading of these registers.
		Only available for PF.

What:		/sys/kernel/debug/hisi_zip/<bdf>/qm/err_irq
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the number of invalid interrupts for
		QM task completion.
		Available for both PF and VF, and take no other effect on ZIP.

What:		/sys/kernel/debug/hisi_zip/<bdf>/qm/aeq_irq
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the number of QM async event queue interrupts.
		Available for both PF and VF, and take no other effect on ZIP.

What:		/sys/kernel/debug/hisi_zip/<bdf>/qm/abnormal_irq
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the number of interrupts for QM abnormal event.
		Available for both PF and VF, and take no other effect on ZIP.

What:		/sys/kernel/debug/hisi_zip/<bdf>/qm/create_qp_err
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the number of queue allocation errors.
		Available for both PF and VF, and take no other effect on ZIP.

What:		/sys/kernel/debug/hisi_zip/<bdf>/qm/mb_err
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the number of failed QM mailbox commands.
		Available for both PF and VF, and take no other effect on ZIP.

What:		/sys/kernel/debug/hisi_zip/<bdf>/qm/status
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the status of the QM.
		Four states: initiated, started, stopped and closed.
		Available for both PF and VF, and take no other effect on ZIP.

What:		/sys/kernel/debug/hisi_zip/<bdf>/qm/diff_regs
Date:		Mar 2022
Contact:	linux-crypto@vger.kernel.org
Description:	QM debug registers(regs) read hardware register value. This
		node is used to show the change of the qm registers value. This
		node can be help users to check the change of register values.

What:		/sys/kernel/debug/hisi_zip/<bdf>/zip_dfx/diff_regs
Date:		Mar 2022
Contact:	linux-crypto@vger.kernel.org
Description:	ZIP debug registers(regs) read hardware register value. This
		node is used to show the change of the registers value. this
		node can be help users to check the change of register values.

What:		/sys/kernel/debug/hisi_zip/<bdf>/zip_dfx/send_cnt
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the total number of sent requests.
		Available for both PF and VF, and take no other effect on ZIP.

What:		/sys/kernel/debug/hisi_zip/<bdf>/zip_dfx/recv_cnt
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the total number of received requests.
		Available for both PF and VF, and take no other effect on ZIP.

What:		/sys/kernel/debug/hisi_zip/<bdf>/zip_dfx/send_busy_cnt
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the total number of requests received
		with returning busy.
		Available for both PF and VF, and take no other effect on ZIP.

What:		/sys/kernel/debug/hisi_zip/<bdf>/zip_dfx/err_bd_cnt
Date:		Apr 2020
Contact:	linux-crypto@vger.kernel.org
Description:	Dump the total number of BD type error requests
		to be received.
		Available for both PF and VF, and take no other effect on ZIP.


code:
What:           /sys/kernel/debug/hyperv/<UUID>/fuzz_test_state
Date:           October 2019
KernelVersion:  5.5
Contact:        Branden Bonaby <brandonbonaby94@gmail.com>
Description:    Fuzz testing status of a vmbus device, whether its in an ON
                state or a OFF state
Users:          Debugging tools

What:           /sys/kernel/debug/hyperv/<UUID>/delay/fuzz_test_buffer_interrupt_delay
Date:           October 2019
KernelVersion:  5.5
Contact:        Branden Bonaby <brandonbonaby94@gmail.com>
Description:    Fuzz testing buffer interrupt delay value between 0 - 1000
		 microseconds (inclusive).
Users:          Debugging tools

What:           /sys/kernel/debug/hyperv/<UUID>/delay/fuzz_test_message_delay
Date:           October 2019
KernelVersion:  5.5
Contact:        Branden Bonaby <brandonbonaby94@gmail.com>
Description:    Fuzz testing message delay value between 0 - 1000 microseconds
		 (inclusive).
Users:          Debugging tools


code:
What:		/sys/kernel/debug/ideapad/cfg
Date:		Sep 2011
KernelVersion:	3.2
Contact:	Ike Panhc <ike.pan@canonical.com>
Description:

cfg shows the return value of _CFG method in VPC2004 device. It tells machine
capability and what graphic component within the machine.

What:		/sys/kernel/debug/ideapad/status
Date:		Sep 2011
KernelVersion:	3.2
Contact:	Ike Panhc <ike.pan@canonical.com>
Description:

status shows infos we can read and tells its meaning and value.


code:
What:		/sys/kernel/debug/moxtet/input
Date:		March 2019
KernelVersion:	5.3
Contact:	Marek Behún <kabel@kernel.org>
Description:	(Read) Read input from the shift registers, in hexadecimal.
		Returns N+1 bytes, where N is the number of Moxtet connected
		modules. The first byte is from the CPU board itself.

		Example::

			101214

		==  =======================================
		10  CPU board with SD card
		12  2 = PCIe module, 1 = IRQ not active
		14  4 = Peridot module, 1 = IRQ not active
		==  =======================================

What:		/sys/kernel/debug/moxtet/output
Date:		March 2019
KernelVersion:	5.3
Contact:	Marek Behún <kabel@kernel.org>
Description:	(RW) Read last written value to the shift registers, in
		hexadecimal, or write values to the shift registers, also
		in hexadecimal.

		Example::

		    0102

		==  ================================================
		01  01 was last written, or is to be written, to the
		    first module's shift register
		02  the same for second module
		==  ================================================


code:
What:		/sys/kernel/debug/olpc-ec/cmd
Date:		Dec 2011
KernelVersion:	3.4
Contact:	devel@lists.laptop.org
Description:

A generic interface for executing OLPC Embedded Controller commands and
reading their responses.

To execute a command, write data with the format: CC:N A A A A
CC is the (hex) command, N is the count of expected reply bytes, and A A A A
are optional (hex) arguments.

To read the response (if any), read from the generic node after executing
a command. Hex reply bytes will be returned, *whether or not* they came from
the immediately previous command.

path: Documentation/ABI/testing/debugfs-olpc


code:
What:		/sys/kernel/debug/nx-crypto/*
Date:		March 2012
KernelVersion:	3.4
Contact:	Kent Yoder <key@linux.vnet.ibm.com>
Description:

These debugfs interfaces are built by the nx-crypto driver, built in
arch/powerpc/crypto/nx.

Error Detection
===============

errors:
  A u32 providing a total count of errors since the driver was loaded. The
  only errors counted here are those returned from the hcall, H_COP_OP.

last_error:
  The most recent non-zero return code from the H_COP_OP hcall. -EBUSY is not
  recorded here (the hcall will retry until -EBUSY goes away).

last_error_pid:
  The process ID of the process who received the most recent error from the
  hcall.

Device Use
==========

aes_bytes:
  The total number of bytes encrypted using AES in any of the driver's
  supported modes.

aes_ops:
  The total number of AES operations submitted to the hardware.

sha256_bytes:
  The total number of bytes hashed by the hardware using SHA-256.

sha256_ops:
  The total number of SHA-256 operations submitted to the hardware.

sha512_bytes:
  The total number of bytes hashed by the hardware using SHA-512.

sha512_ops:
  The total number of SHA-512 operations submitted to the hardware.


code:
What:		/sys/kernel/debug/turris-mox-rwtm/do_sign
Date:		Jun 2020
KernelVersion:	5.8
Contact:	Marek Behún <kabel@kernel.org>
Description:

		======= ===========================================================
		(Write) Message to sign with the ECDSA private key stored in
		        device's OTP. The message must be exactly 64 bytes
		        (since this is intended for SHA-512 hashes).
		(Read)  The resulting signature, 136 bytes. This contains the
			R and S values of the ECDSA signature, both in
			big-endian format.
		======= ===========================================================


code:
What:		/sys/kernel/debug/wilco_ec/h1_gpio
Date:		April 2019
KernelVersion:	5.2
Description:
		As part of Chrome OS's FAFT (Fully Automated Firmware Testing)
		tests, we need to ensure that the H1 chip is properly setting
		some GPIO lines. The h1_gpio attribute exposes the state
		of the lines:
		- ENTRY_TO_FACT_MODE in BIT(0)
		- SPI_CHROME_SEL in BIT(1)

		Output will formatted with "0x%02x\n".

What:		/sys/kernel/debug/wilco_ec/raw
Date:		January 2019
KernelVersion:	5.1
Description:
		Write and read raw mailbox commands to the EC.

		You can write a hexadecimal sentence to raw, and that series of
		bytes will be sent to the EC. Then, you can read the bytes of
		response by reading from raw.

		For writing, bytes 0-1 indicate the message type, one of enum
		wilco_ec_msg_type. Byte 2+ consist of the data passed in the
		request, starting at MBOX[0]. At least three bytes are required
		for writing, two for the type and at least a single byte of
		data.

		Example::

		    // Request EC info type 3 (EC firmware build date)
		    // Corresponds with sending type 0x00f0 with
		    // MBOX = [38, 00, 03, 00]
		    $ echo 00 f0 38 00 03 00 > /sys/kernel/debug/wilco_ec/raw
		    // View the result. The decoded ASCII result "12/21/18" is
		    // included after the raw hex.
		    // Corresponds with MBOX = [00, 00, 31, 32, 2f, 32, 31, 38, ...]
		    $ cat /sys/kernel/debug/wilco_ec/raw
		    00 00 31 32 2f 32 31 2f 31 38 00 38 00 01 00 2f 00  ..12/21/18.8...

		Note that the first 16 bytes of the received MBOX[] will be
		printed, even if some of the data is junk, and skipping bytes
		17 to 32. It is up to you to know how many of the first bytes of
		data are the actual response.