code:
What:		/sys/devices/platform/i8042/.../sensitivity
Date:		Aug, 2005
KernelVersion:	2.6.14
Contact:	linux-input@vger.kernel.org
Description:
		(RW) Trackpoint sensitivity.

What:		/sys/devices/platform/i8042/.../intertia
Date:		Aug, 2005
KernelVersion:	2.6.14
Contact:	linux-input@vger.kernel.org
Description:
		(RW) Negative inertia factor. High values cause the cursor to
		snap backward when the trackpoint is released.

What:		/sys/devices/platform/i8042/.../reach
Date:		Aug, 2005
KernelVersion:	2.6.14
Contact:	linux-input@vger.kernel.org
Description:
		(RW) Backup range for z-axis press.

What:		/sys/devices/platform/i8042/.../draghys
Date:		Aug, 2005
KernelVersion:	2.6.14
Contact:	linux-input@vger.kernel.org
Description:
		(RW) The drag hysteresis controls how hard it is to drag with
		z-axis pressed.

What:		/sys/devices/platform/i8042/.../mindrag
Date:		Aug, 2005
KernelVersion:	2.6.14
Contact:	linux-input@vger.kernel.org
Description:
		(RW) Minimum amount of force needed to trigger dragging.

What:		/sys/devices/platform/i8042/.../speed
Date:		Aug, 2005
KernelVersion:	2.6.14
Contact:	linux-input@vger.kernel.org
Description:
		(RW) Speed of the trackpoint cursor.

What:		/sys/devices/platform/i8042/.../thresh
Date:		Aug, 2005
KernelVersion:	2.6.14
Contact:	linux-input@vger.kernel.org
Description:
		(RW) Minimum value for z-axis force required to trigger a press
		or release, relative to the running average.

What:		/sys/devices/platform/i8042/.../upthresh
Date:		Aug, 2005
KernelVersion:	2.6.14
Contact:	linux-input@vger.kernel.org
Description:
		(RW) The offset from the running average required to generate a
		select (click) on z-axis on release.

What:		/sys/devices/platform/i8042/.../ztime
Date:		Aug, 2005
KernelVersion:	2.6.14
Contact:	linux-input@vger.kernel.org
Description:
		(RW) This attribute determines how sharp a press has to be in
		order to be recognized.

What:		/sys/devices/platform/i8042/.../jenks
Date:		Aug, 2005
KernelVersion:	2.6.14
Contact:	linux-input@vger.kernel.org
Description:
		(RW) Minimum curvature in degrees required to generate a double
		click without a release.

What:		/sys/devices/platform/i8042/.../skipback
Date:		Aug, 2005
KernelVersion:	2.6.14
Contact:	linux-input@vger.kernel.org
Description:
		(RW) When the skipback bit is set, backup cursor movement during
		releases from drags will be suppressed. The default value for
		this bit is 0.

What:		/sys/devices/platform/i8042/.../ext_dev
Date:		Aug, 2005
KernelVersion:	2.6.14
Contact:	linux-input@vger.kernel.org
Description:
		(RW) Disable (0) or enable (1) external pointing device.

What:		/sys/devices/platform/i8042/.../press_to_select
Date:		Aug, 2005
KernelVersion:	2.6.14
Contact:	linux-input@vger.kernel.org
Description:
		(RW) Writing a value of 1 to this file will enable the Press to
		Select functions like tapping the control stick to simulate a
		left click, and writing 0 will disable it.

What:		/sys/devices/platform/i8042/.../drift_time
Date:		Dec, 2014
KernelVersion:	3.19
Contact:	linux-input@vger.kernel.org
Description:
		(RW) This parameter controls the period of time to test for a
		‘hands off’ condition (i.e. when no force is applied) before a
		drift (noise) calibration occurs.

		IBM Trackpoints have a feature to compensate for drift by
		recalibrating themselves periodically. By default, if for 0.5
		seconds there is no change in position, it's used as the new
		zero. This duration is too low. Often, the calibration happens
		when the trackpoint is in fact being used.


code:
What:		/sys/devices/.../power/
Date:		January 2009
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../power directory contains attributes
		allowing the user space to check and modify some power
		management related properties of given device.

What:		/sys/devices/.../power/wakeup
Date:		January 2009
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../power/wakeup attribute allows the user
		space to check if the device is enabled to wake up the system
		from sleep states, such as the memory sleep state (suspend to
		RAM) and hibernation (suspend to disk), and to enable or disable
		it to do that as desired.

		Some devices support "wakeup" events, which are hardware signals
		used to activate the system from a sleep state.  Such devices
		have one of the following two values for the sysfs power/wakeup
		file:

		+ "enabled\n" to issue the events;
		+ "disabled\n" not to do so;

		In that cases the user space can change the setting represented
		by the contents of this file by writing either "enabled", or
		"disabled" to it.

		For the devices that are not capable of generating system wakeup
		events this file is not present.  In that case the device cannot
		be enabled to wake up the system from sleep states.

What:		/sys/devices/.../power/control
Date:		January 2009
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../power/control attribute allows the user
		space to control the run-time power management of the device.

		All devices have one of the following two values for the
		power/control file:

		+ "auto\n" to allow the device to be power managed at run time;
		+ "on\n" to prevent the device from being power managed;

		The default for all devices is "auto", which means that they may
		be subject to automatic power management, depending on their
		drivers.  Changing this attribute to "on" prevents the driver
		from power managing the device at run time.  Doing that while
		the device is suspended causes it to be woken up.

What:		/sys/devices/.../power/async
Date:		January 2009
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../async attribute allows the user space to
		enable or diasble the device's suspend and resume callbacks to
		be executed asynchronously (ie. in separate threads, in parallel
		with the main suspend/resume thread) during system-wide power
		transitions (eg. suspend to RAM, hibernation).

		All devices have one of the following two values for the
		power/async file:

		+ "enabled\n" to permit the asynchronous suspend/resume;
		+ "disabled\n" to forbid it;

		The value of this attribute may be changed by writing either
		"enabled", or "disabled" to it.

		It generally is unsafe to permit the asynchronous suspend/resume
		of a device unless it is certain that all of the PM dependencies
		of the device are known to the PM core.  However, for some
		devices this attribute is set to "enabled" by bus type code or
		device drivers and in that cases it should be safe to leave the
		default value.

What:		/sys/devices/.../power/wakeup_count
Date:		September 2010
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../wakeup_count attribute contains the number
		of signaled wakeup events associated with the device.  This
		attribute is read-only.  If the device is not capable to wake up
		the system from sleep states, this attribute is not present.
		If the device is not enabled to wake up the system from sleep
		states, this attribute is empty.

What:		/sys/devices/.../power/wakeup_active_count
Date:		September 2010
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../wakeup_active_count attribute contains the
		number of times the processing of wakeup events associated with
		the device was completed (at the kernel level).  This attribute
		is read-only.  If the device is not capable to wake up the
		system from sleep states, this attribute is not present.  If
		the device is not enabled to wake up the system from sleep
		states, this attribute is empty.

What:		/sys/devices/.../power/wakeup_abort_count
Date:		February 2012
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../wakeup_abort_count attribute contains the
		number of times the processing of a wakeup event associated with
		the device might have aborted system transition into a sleep
		state in progress.  This attribute is read-only.  If the device
		is not capable to wake up the system from sleep states, this
		attribute is not present.  If the device is not enabled to wake
		up the system from sleep states, this attribute is empty.

What:		/sys/devices/.../power/wakeup_expire_count
Date:		February 2012
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../wakeup_expire_count attribute contains the
		number of times a wakeup event associated with the device has
		been reported with a timeout that expired.  This attribute is
		read-only.  If the device is not capable to wake up the system
		from sleep states, this attribute is not present.  If the
		device is not enabled to wake up the system from sleep states,
		this attribute is empty.

What:		/sys/devices/.../power/wakeup_active
Date:		September 2010
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../wakeup_active attribute contains either 1,
		or 0, depending on whether or not a wakeup event associated with
		the device is being processed (1).  This attribute is read-only.
		If the device is not capable to wake up the system from sleep
		states, this attribute is not present.  If the device is not
		enabled to wake up the system from sleep states, this attribute
		is empty.

What:		/sys/devices/.../power/wakeup_total_time_ms
Date:		September 2010
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../wakeup_total_time_ms attribute contains
		the total time of processing wakeup events associated with the
		device, in milliseconds.  This attribute is read-only.  If the
		device is not capable to wake up the system from sleep states,
		this attribute is not present.  If the device is not enabled to
		wake up the system from sleep states, this attribute is empty.

What:		/sys/devices/.../power/wakeup_max_time_ms
Date:		September 2010
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../wakeup_max_time_ms attribute contains
		the maximum time of processing a single wakeup event associated
		with the device, in milliseconds.  This attribute is read-only.
		If the device is not capable to wake up the system from sleep
		states, this attribute is not present.  If the device is not
		enabled to wake up the system from sleep states, this attribute
		is empty.

What:		/sys/devices/.../power/wakeup_last_time_ms
Date:		September 2010
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../wakeup_last_time_ms attribute contains
		the value of the monotonic clock corresponding to the time of
		signaling the last wakeup event associated with the device, in
		milliseconds.  This attribute is read-only.  If the device is
		not enabled to wake up the system from sleep states, this
		attribute is not present.  If the device is not enabled to wake
		up the system from sleep states, this attribute is empty.

What:		/sys/devices/.../power/wakeup_prevent_sleep_time_ms
Date:		February 2012
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../wakeup_prevent_sleep_time_ms attribute
		contains the total time the device has been preventing
		opportunistic transitions to sleep states from occurring.
		This attribute is read-only.  If the device is not capable to
		wake up the system from sleep states, this attribute is not
		present.  If the device is not enabled to wake up the system
		from sleep states, this attribute is empty.

What:		/sys/devices/.../power/autosuspend_delay_ms
Date:		September 2010
Contact:	Alan Stern <stern@rowland.harvard.edu>
Description:
		The /sys/devices/.../power/autosuspend_delay_ms attribute
		contains the autosuspend delay value (in milliseconds).  Some
		drivers do not want their device to suspend as soon as it
		becomes idle at run time; they want the device to remain
		inactive for a certain minimum period of time first.  That
		period is called the autosuspend delay.  Negative values will
		prevent the device from being suspended at run time (similar
		to writing "on" to the power/control attribute).  Values >=
		1000 will cause the autosuspend timer expiration to be rounded
		up to the nearest second.

		Not all drivers support this attribute.  If it isn't supported,
		attempts to read or write it will yield I/O errors.

What:		/sys/devices/.../power/pm_qos_resume_latency_us
Date:		March 2012
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../power/pm_qos_resume_latency_us attribute
		contains the PM QoS resume latency limit for the given device,
		which is the maximum allowed time it can take to resume the
		device, after it has been suspended at run time, from a resume
		request to the moment the device will be ready to process I/O,
		in microseconds.  If it is equal to 0, however, this means that
		the PM QoS resume latency may be arbitrary and the special value
		"n/a" means that user space cannot accept any resume latency at
		all for the given device.

		Not all drivers support this attribute.  If it isn't supported,
		it is not present.

		This attribute has no effect on system-wide suspend/resume and
		hibernation.

What:		/sys/devices/.../power/pm_qos_latency_tolerance_us
Date:		January 2014
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../power/pm_qos_latency_tolerance_us attribute
		contains the PM QoS active state latency tolerance limit for the
		given device in microseconds.  That is the maximum memory access
		latency the device can suffer without any visible adverse
		effects on user space functionality.  If that value is the
		string "any", the latency does not matter to user space at all,
		but hardware should not be allowed to set the latency tolerance
		for the device automatically.

		Reading "auto" from this file means that the maximum memory
		access latency for the device may be determined automatically
		by the hardware as needed.  Writing "auto" to it allows the
		hardware to be switched to this mode if there are no other
		latency tolerance requirements from the kernel side.

		This attribute is only present if the feature controlled by it
		is supported by the hardware.

		This attribute has no effect on runtime suspend and resume of
		devices and on system-wide suspend/resume and hibernation.

What:		/sys/devices/.../power/pm_qos_no_power_off
Date:		September 2012
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../power/pm_qos_no_power_off attribute
		is used for manipulating the PM QoS "no power off" flag.  If
		set, this flag indicates to the kernel that power should not
		be removed entirely from the device.

		Not all drivers support this attribute.  If it isn't supported,
		it is not present.

		This attribute has no effect on system-wide suspend/resume and
		hibernation.

What:		/sys/devices/.../power/runtime_status
Date:		April 2010
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../power/runtime_status attribute contains
		the current runtime PM status of the device, which may be
		"suspended", "suspending", "resuming", "active", "error" (fatal
		error), or "unsupported" (runtime PM is disabled).

What:		/sys/devices/.../power/runtime_active_time
Date:		Jul 2010
Contact:	Arjan van de Ven <arjan@linux.intel.com>
Description:
		Reports the total time that the device has been active.
		Used for runtime PM statistics.

What:		/sys/devices/.../power/runtime_suspended_time
Date:		Jul 2010
Contact:	Arjan van de Ven <arjan@linux.intel.com>
Description:
		Reports total time that the device has been suspended.
		Used for runtime PM statistics.

What:		/sys/devices/.../power/runtime_usage
Date:		Apr 2010
Contact:	Dominik Brodowski <linux@dominikbrodowski.net>
Description:
		Reports the runtime PM usage count of a device.

What:		/sys/devices/.../power/runtime_enabled
Date:		Apr 2010
Contact:	Dominik Brodowski <linux@dominikbrodowski.net>
Description:
		Is runtime PM enabled for this device?
		States are "enabled", "disabled", "forbidden" or a
		combination of the latter two.

What:		/sys/devices/.../power/runtime_active_kids
Date:		Apr 2010
Contact:	Dominik Brodowski <linux@dominikbrodowski.net>
Description:
		Reports the runtime PM children usage count of a device, or
		0 if the children will be ignored.

repo_name: angery/linux


code:
What:		/sys/devices/.../power_resources_D0/
Date:		January 2013
Contact:	Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Description:
		The /sys/devices/.../power_resources_D0/ directory is only
		present for device objects representing ACPI device nodes that
		use ACPI power resources for power management.

		If present, it contains symbolic links to device directories
		representing ACPI power resources that need to be turned on for
		the given device node to be in ACPI power state D0.  The names
		of the links are the same as the names of the directories they
		point to.


code:
What:		/sys/devices/.../power_resources_D1/
Date:		January 2013
Contact:	Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Description:
		The /sys/devices/.../power_resources_D1/ directory is only
		present for device objects representing ACPI device nodes that
		use ACPI power resources for power management and support ACPI
		power state D1.

		If present, it contains symbolic links to device directories
		representing ACPI power resources that need to be turned on for
		the given device node to be in ACPI power state D1.  The names
		of the links are the same as the names of the directories they
		point to.


code:
What:		/sys/devices/.../power_resources_D2/
Date:		January 2013
Contact:	Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Description:
		The /sys/devices/.../power_resources_D2/ directory is only
		present for device objects representing ACPI device nodes that
		use ACPI power resources for power management and support ACPI
		power state D2.

		If present, it contains symbolic links to device directories
		representing ACPI power resources that need to be turned on for
		the given device node to be in ACPI power state D2.  The names
		of the links are the same as the names of the directories they
		point to.


code:
What:		/sys/devices/.../power_resources_D3hot/
Date:		January 2013
Contact:	Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Description:
		The /sys/devices/.../power_resources_D3hot/ directory is only
		present for device objects representing ACPI device nodes that
		use ACPI power resources for power management and support ACPI
		power state D3hot.

		If present, it contains symbolic links to device directories
		representing ACPI power resources that need to be turned on for
		the given device node to be in ACPI power state D3hot.  The
		names of the links are the same as the names of the directories
		they point to.


code:
What:		/sys/devices/.../power_resources_wakeup/
Date:		April 2013
Contact:	Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Description:
		The /sys/devices/.../power_resources_wakeup/ directory is only
		present for device objects representing ACPI device nodes that
		require ACPI power resources for wakeup signaling.

		If present, it contains symbolic links to device directories
		representing ACPI power resources that need to be turned on for
		the given device node to be able to signal wakeup.  The names of
		the links are the same as the names of the directories they
		point to.


code:
What:		/sys/devices/.../power_state
Date:		January 2013
Contact:	Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Description:
		The /sys/devices/.../power_state attribute is only present for
		device objects representing ACPI device nodes that provide power
		management methods.

		If present, it contains a string representing the current ACPI
		power state of the given device node.  Its possible values,
		"D0", "D1", "D2", "D3hot", and "D3cold", reflect the power state
		names defined by the ACPI specification (ACPI 4 and above).

		If the device node uses shared ACPI power resources, this state
		determines a list of power resources required not to be turned
		off.  However, some power resources needed by the device node in
		higher-power (lower-number) states may also be ON because of
		some other devices using them at the moment.

		This attribute is read-only.


code:
What:		/sys/devices/.../real_power_state
Date:		January 2013
Contact:	Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Description:
		The /sys/devices/.../real_power_state attribute is only present
		for device objects representing ACPI device nodes that provide
		power management methods and use ACPI power resources for power
		management.

		If present, it contains a string representing the real ACPI
		power state of the given device node as returned by the _PSC
		control method or inferred from the configuration of power
		resources.  Its possible values, "D0", "D1", "D2", "D3hot", and
		"D3cold", reflect the power state names defined by the ACPI
		specification (ACPI 4 and above).

		In some situations the value of this attribute may be different
		from the value of the /sys/devices/.../power_state attribute for
		the same device object.  If that happens, some shared power
		resources used by the device node are only ON because of some
		other devices using them at the moment.

		This attribute is read-only.


code:
What:		/sys/devices/.../removable
Date:		May 2021
Contact:	Rajat Jain <rajatxjain@gmail.com>
Description:
		Information about whether a given device can be removed from the
		platform by the	user. This is determined by its subsystem in a
		bus / platform-specific way. This attribute is only present for
		devices that can support determining such information:

		===========  ===================================================
		"removable"  device can be removed from the platform by the user
		"fixed"      device is fixed to the platform / cannot be removed
			     by the user.
		"unknown"    The information is unavailable / cannot be deduced.
		===========  ===================================================

		Currently this is only supported by USB (which infers the
		information from a combination of hub descriptor bits and
		platform-specific data such as ACPI) and PCI (which gets this
		from ACPI / device tree).


code:
What:		/sys/devices/.../resource_in_use
Date:		January 2013
Contact:	Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Description:
		The /sys/devices/.../resource_in_use attribute is only present
		for device objects representing ACPI power resources.

		If present, it contains a number (0 or 1) representing the
		current status of the given power resource (0 means that the
		resource is not in use and therefore it has been turned off).

		This attribute is read-only.


code:
What:		/sys/devices/socX
Date:		January 2012
contact:	Lee Jones <lee@kernel.org>
Description:
		The /sys/devices/ directory contains a sub-directory for each
		System-on-Chip (SoC) device on a running platform. Information
		regarding each SoC can be obtained by reading sysfs files. This
		functionality is only available if implemented by the platform.

		The directory created for each SoC will also house information
		about devices which are commonly contained in /sys/devices/platform.
		It has been agreed that if an SoC device exists, its supported
		devices would be better suited to appear as children of that SoC.

What:		/sys/devices/socX/machine
Date:		January 2012
contact:	Lee Jones <lee@kernel.org>
Description:
		Read-only attribute common to all SoCs. Contains the SoC machine
		name (e.g. Ux500).

What:		/sys/devices/socX/family
Date:		January 2012
contact:	Lee Jones <lee@kernel.org>
Description:
		Read-only attribute common to all SoCs. Contains SoC family name
		(e.g. DB8500).

		On many of ARM based silicon with SMCCC v1.2+ compliant firmware
		this will contain the JEDEC JEP106 manufacturer’s identification
		code. The format is "jep106:XXYY" where XX is identity code and
		YY is continuation code.

		This manufacturer’s identification code is defined by one
		or more eight (8) bit fields, each consisting of seven (7)
		data bits plus one (1) odd parity bit. It is a single field,
		limiting the possible number of vendors to 126. To expand
		the maximum number of identification codes, a continuation
		scheme has been defined.

		The specified mechanism is that an identity code of 0x7F
		represents the "continuation code" and implies the presence
		of an additional identity code field, and this mechanism
		may be extended to multiple continuation codes followed
		by the manufacturer's identity code.

		For example, ARM has identity code 0x7F 0x7F 0x7F 0x7F 0x3B,
		which is code 0x3B on the fifth 'page'. This is shortened
		as JEP106 identity code of 0x3B and a continuation code of
		0x4 to represent the four continuation codes preceding the
		identity code.

What:		/sys/devices/socX/serial_number
Date:		January 2019
contact:	Bjorn Andersson <bjorn.andersson@linaro.org>
Description:
		Read-only attribute supported by most SoCs. Contains the SoC's
		serial number, if available.

What:		/sys/devices/socX/soc_id
Date:		January 2012
contact:	Lee Jones <lee@kernel.org>
Description:
		Read-only attribute supported by most SoCs. In the case of
		ST-Ericsson's chips this contains the SoC serial number.

		On many of ARM based silicon with SMCCC v1.2+ compliant firmware
		this will contain the SOC ID appended to the family attribute
		to ensure there is no conflict in this namespace across various
		vendors. The format is "jep106:XXYY:ZZZZ" where XX is identity
		code, YY is continuation code and ZZZZ is the SOC ID.

What:		/sys/devices/socX/revision
Date:		January 2012
contact:	Lee Jones <lee@kernel.org>
Description:
		Read-only attribute supported by most SoCs. Contains the SoC's
		manufacturing revision number.

What:		/sys/devices/socX/process
Date:		January 2012
contact:	Lee Jones <lee@kernel.org>
Description:
		Read-only attribute supported ST-Ericsson's silicon. Contains the
		the process by which the silicon chip was manufactured.

What:		/sys/bus/soc
Date:		January 2012
contact:	Lee Jones <lee@kernel.org>
Description:
		The /sys/bus/soc/ directory contains the usual sub-folders
		expected under most buses. /sys/bus/soc/devices is of particular
		interest, as it contains a symlink for each SoC device found on
		the system. Each symlink points back into the aforementioned
		/sys/devices/socX devices.


code:
What:		/sys/devices/.../software_node/
Date:		January 2019
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		This directory contains the details about the device that are
		assigned in kernel (i.e. software), as opposed to the
		firmware_node directory which contains the details that are
		assigned for the device in firmware. The main attributes in the
		directory will show the properties the device has, and the
		relationship it has to some of the other devices.


code:
What:		/sys/devices/.../state_synced
Date:		May 2020
Contact:	Saravana Kannan <saravanak@google.com>
Description:
		The /sys/devices/.../state_synced attribute is only present for
		devices whose bus types or driver provides the .sync_state()
		callback. The number read from it (0 or 1) reflects the value
		of the device's 'state_synced' field. A value of 0 means the
		.sync_state() callback hasn't been called yet. A value of 1
		means the .sync_state() callback has been called.

		Generally, if a device has sync_state() support and has some of
		the resources it provides enabled at the time the kernel starts
		(Eg: enabled by hardware reset or bootloader or anything that
		run before the kernel starts), then it'll keep those resources
		enabled and in a state that's compatible with the state they
		were in at the start of the kernel. The device will stop doing
		this only when the sync_state() callback has been called --
		which happens only when all its consumer devices are registered
		and have probed successfully. Resources that were left disabled
		at the time the kernel starts are not affected or limited in
		any way by sync_state() callbacks.


code:
What:		/sys/devices/.../sun
Date:		October 2012
Contact:	Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
Description:
		The file contains a Slot-unique ID which provided by the _SUN
		method in the ACPI namespace. The value is written in Advanced
		Configuration and Power Interface Specification as follows:

		"The _SUN value is required to be unique among the slots of
		the same type. It is also recommended that this number match
		the slot number printed on the physical slot whenever possible."

		So reading the sysfs file, we can identify a physical position
		of the slot in the system.


code:
What:		/sys/devices/.../supplier:<supplier>
Date:		May 2020
Contact:	Saravana Kannan <saravanak@google.com>
Description:
		The /sys/devices/.../supplier:<supplier> are symlinks to device
		links where this device is the consumer. <supplier> denotes the
		name of the supplier in that device link and is of the form
		bus:device name. There can be zero or more of these symlinks
		for a given device.


code:
What:		/sys/devices/system/cpu/
Date:		pre-git history
Contact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
Description:
		A collection of both global and individual CPU attributes

		Individual CPU attributes are contained in subdirectories
		named by the kernel's logical CPU number, e.g.:

		/sys/devices/system/cpu/cpuX/

What:		/sys/devices/system/cpu/kernel_max
		/sys/devices/system/cpu/offline
		/sys/devices/system/cpu/online
		/sys/devices/system/cpu/possible
		/sys/devices/system/cpu/present
Date:		December 2008
Contact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
Description:	CPU topology files that describe kernel limits related to
		hotplug. Briefly:

		kernel_max: the maximum cpu index allowed by the kernel
		configuration.

		offline: cpus that are not online because they have been
		HOTPLUGGED off or exceed the limit of cpus allowed by the
		kernel configuration (kernel_max above).

		online: cpus that are online and being scheduled.

		possible: cpus that have been allocated resources and can be
		brought online if they are present.

		present: cpus that have been identified as being present in
		the system.

		See Documentation/admin-guide/cputopology.rst for more information.

What:		/sys/devices/system/cpu/probe
		/sys/devices/system/cpu/release
Date:		November 2009
Contact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
Description:	Dynamic addition and removal of CPU's.  This is not hotplug
		removal, this is meant complete removal/addition of the CPU
		from the system.

		probe: writes to this file will dynamically add a CPU to the
		system.  Information written to the file to add CPU's is
		architecture specific.

		release: writes to this file dynamically remove a CPU from
		the system.  Information written to the file to remove CPU's
		is architecture specific.

What:		/sys/devices/system/cpu/cpuX/node
Date:		October 2009
Contact:	Linux memory management mailing list <linux-mm@kvack.org>
Description:	Discover NUMA node a CPU belongs to

		When CONFIG_NUMA is enabled, a symbolic link that points
		to the corresponding NUMA node directory.

		For example, the following symlink is created for cpu42
		in NUMA node 2:

		/sys/devices/system/cpu/cpu42/node2 -> ../../node/node2

What:		/sys/devices/system/cpu/cpuX/topology/core_siblings
		/sys/devices/system/cpu/cpuX/topology/core_siblings_list
		/sys/devices/system/cpu/cpuX/topology/physical_package_id
		/sys/devices/system/cpu/cpuX/topology/thread_siblings
		/sys/devices/system/cpu/cpuX/topology/thread_siblings_list
		/sys/devices/system/cpu/cpuX/topology/ppin
Date:		December 2008
Contact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
Description:	CPU topology files that describe a logical CPU's relationship
		to other cores and threads in the same physical package.

		One cpuX directory is created per logical CPU in the system,
		e.g. /sys/devices/system/cpu/cpu42/.

		Briefly, the files above are:

		core_siblings: internal kernel map of cpuX's hardware threads
		within the same physical_package_id.

		core_siblings_list: human-readable list of the logical CPU
		numbers within the same physical_package_id as cpuX.

		physical_package_id: physical package id of cpuX. Typically
		corresponds to a physical socket number, but the actual value
		is architecture and platform dependent.

		thread_siblings: internal kernel map of cpuX's hardware
		threads within the same core as cpuX

		thread_siblings_list: human-readable list of cpuX's hardware
		threads within the same core as cpuX

		ppin: human-readable Protected Processor Identification
		Number of the socket the cpu# belongs to. There should be
		one per physical_package_id. File is readable only to
		admin.

		See Documentation/admin-guide/cputopology.rst for more information.

What:		/sys/devices/system/cpu/cpuidle/available_governors
		/sys/devices/system/cpu/cpuidle/current_driver
		/sys/devices/system/cpu/cpuidle/current_governor
		/sys/devices/system/cpu/cpuidle/current_governer_ro
Date:		September 2007
Contact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
Description:	Discover cpuidle policy and mechanism

		Various CPUs today support multiple idle levels that are
		differentiated by varying exit latencies and power
		consumption during idle.

		Idle policy (governor) is differentiated from idle mechanism
		(driver).

		available_governors: (RO) displays a space separated list of
		available governors.

		current_driver: (RO) displays current idle mechanism.

		current_governor: (RW) displays current idle policy. Users can
		switch the governor at runtime by writing to this file.

		current_governor_ro: (RO) displays current idle policy.

		See Documentation/admin-guide/pm/cpuidle.rst and
		Documentation/driver-api/pm/cpuidle.rst for more information.

What:		/sys/devices/system/cpu/cpuX/cpuidle/state<N>/name
		/sys/devices/system/cpu/cpuX/cpuidle/stateN/latency
		/sys/devices/system/cpu/cpuX/cpuidle/stateN/power
		/sys/devices/system/cpu/cpuX/cpuidle/stateN/time
		/sys/devices/system/cpu/cpuX/cpuidle/stateN/usage
		/sys/devices/system/cpu/cpuX/cpuidle/stateN/above
		/sys/devices/system/cpu/cpuX/cpuidle/stateN/below
Date:		September 2007
KernelVersion:	v2.6.24
Contact:	Linux power management list <linux-pm@vger.kernel.org>
Description:
		The directory /sys/devices/system/cpu/cpuX/cpuidle contains per
		logical CPU specific cpuidle information for each online cpu X.
		The processor idle states which are available for use have the
		following attributes:

		======== ==== =================================================
		name:	 (RO) Name of the idle state (string).

		latency: (RO) The latency to exit out of this idle state (in
			      microseconds).

		power:   (RO) The power consumed while in this idle state (in
			      milliwatts).

		time:    (RO) The total time spent in this idle state
			      (in microseconds).

		usage:	 (RO) Number of times this state was entered (a count).

		above:	 (RO) Number of times this state was entered, but the
			      observed CPU idle duration was too short for it
			      (a count).

		below:	 (RO) Number of times this state was entered, but the
			      observed CPU idle duration was too long for it
			      (a count).
		======== ==== =================================================

What:		/sys/devices/system/cpu/cpuX/cpuidle/state<N>/desc
Date:		February 2008
KernelVersion:	v2.6.25
Contact:	Linux power management list <linux-pm@vger.kernel.org>
Description:
		(RO) A small description about the idle state (string).

What:		/sys/devices/system/cpu/cpuX/cpuidle/state<N>/disable
Date:		March 2012
KernelVersion:	v3.10
Contact:	Linux power management list <linux-pm@vger.kernel.org>
Description:
		(RW) Option to disable this idle state (bool). The behavior and
		the effect of the disable variable depends on the implementation
		of a particular governor. In the ladder governor, for example,
		it is not coherent, i.e. if one is disabling a light state, then
		all deeper states are disabled as well, but the disable variable
		does not reflect it. Likewise, if one enables a deep state but a
		lighter state still is disabled, then this has no effect.

What:		/sys/devices/system/cpu/cpuX/cpuidle/state<N>/default_status
Date:		December 2019
KernelVersion:	v5.6
Contact:	Linux power management list <linux-pm@vger.kernel.org>
Description:
		(RO) The default status of this state, "enabled" or "disabled".

What:		/sys/devices/system/cpu/cpuX/cpuidle/state<N>/residency
Date:		March 2014
KernelVersion:	v3.15
Contact:	Linux power management list <linux-pm@vger.kernel.org>
Description:
		(RO) Display the target residency i.e. the minimum amount of
		time (in microseconds) this cpu should spend in this idle state
		to make the transition worth the effort.

What:		/sys/devices/system/cpu/cpuX/cpuidle/state<N>/s2idle/
Date:		March 2018
KernelVersion:	v4.17
Contact:	Linux power management list <linux-pm@vger.kernel.org>
Description:
		Idle state usage statistics related to suspend-to-idle.

		This attribute group is only present for states that can be
		used in suspend-to-idle with suspended timekeeping.

What:		/sys/devices/system/cpu/cpuX/cpuidle/state<N>/s2idle/time
Date:		March 2018
KernelVersion:	v4.17
Contact:	Linux power management list <linux-pm@vger.kernel.org>
Description:
		Total time spent by the CPU in suspend-to-idle (with scheduler
		tick suspended) after requesting this state.

What:		/sys/devices/system/cpu/cpuX/cpuidle/state<N>/s2idle/usage
Date:		March 2018
KernelVersion:	v4.17
Contact:	Linux power management list <linux-pm@vger.kernel.org>
Description:
		Total number of times this state has been requested by the CPU
		while entering suspend-to-idle.

What:		/sys/devices/system/cpu/cpuX/cpufreq/*
Date:		pre-git history
Contact:	linux-pm@vger.kernel.org
Description:	Discover and change clock speed of CPUs

		Clock scaling allows you to change the clock speed of the
		CPUs on the fly. This is a nice method to save battery
		power, because the lower the clock speed, the less power
		the CPU consumes.

		There are many knobs to tweak in this directory.

		See files in Documentation/cpu-freq/ for more information.

What:		/sys/devices/system/cpu/cpuX/cpufreq/freqdomain_cpus
Date:		June 2013
Contact:	linux-pm@vger.kernel.org
Description:	Discover CPUs in the same CPU frequency coordination domain

		freqdomain_cpus is the list of CPUs (online+offline) that share
		the same clock/freq domain (possibly at the hardware level).
		That information may be hidden from the cpufreq core and the
		value of related_cpus may be different from freqdomain_cpus. This
		attribute is useful for user space DVFS controllers to get better
		power/performance results for platforms using acpi-cpufreq.

		This file is only present if the acpi-cpufreq or the cppc-cpufreq
		drivers are in use.

What:		/sys/devices/system/cpu/cpu*/cache/index3/cache_disable_{0,1}
Date:		August 2008
KernelVersion:	2.6.27
Contact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
Description:	Disable L3 cache indices

		These files exist in every CPU's cache/index3 directory. Each
		cache_disable_{0,1} file corresponds to one disable slot which
		can be used to disable a cache index. Reading from these files
		on a processor with this functionality will return the currently
		disabled index for that node. There is one L3 structure per
		node, or per internal node on MCM machines. Writing a valid
		index to one of these files will cause the specified cache
		index to be disabled.

		All AMD processors with L3 caches provide this functionality.
		For details, see BKDGs at
                https://www.amd.com/en/support/tech-docs?keyword=bios+kernel

What:		/sys/devices/system/cpu/cpufreq/boost
Date:		August 2012
Contact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
Description:	Processor frequency boosting control

		This switch controls the boost setting for the whole system.
		Boosting allows the CPU and the firmware to run at a frequency
		beyond its nominal limit.

		More details can be found in
		Documentation/admin-guide/pm/cpufreq.rst

What:		/sys/devices/system/cpu/cpuX/crash_notes
		/sys/devices/system/cpu/cpuX/crash_notes_size
Date:		April 2013
Contact:	kexec@lists.infradead.org
Description:	address and size of the percpu note.

		crash_notes: the physical address of the memory that holds the
		note of cpuX.

		crash_notes_size: size of the note of cpuX.

What:		/sys/devices/system/cpu/intel_pstate/max_perf_pct
		/sys/devices/system/cpu/intel_pstate/min_perf_pct
		/sys/devices/system/cpu/intel_pstate/no_turbo
Date:		February 2013
Contact:	linux-pm@vger.kernel.org
Description:	Parameters for the Intel P-state driver

		Logic for selecting the current P-state in Intel
		Sandybridge+ processors. The three knobs control
		limits for the P-state that will be requested by the
		driver.

		max_perf_pct: limits the maximum P state that will be requested by
		the driver stated as a percentage of the available performance.

		min_perf_pct: limits the minimum P state that will be requested by
		the driver stated as a percentage of the available performance.

		no_turbo: limits the driver to selecting P states below the turbo
		frequency range.

		More details can be found in
		Documentation/admin-guide/pm/intel_pstate.rst

What:		/sys/devices/system/cpu/cpu*/cache/index*/<set_of_attributes_mentioned_below>
Date:		July 2014(documented, existed before August 2008)
Contact:	Sudeep Holla <sudeep.holla@arm.com>
		Linux kernel mailing list <linux-kernel@vger.kernel.org>
Description:	Parameters for the CPU cache attributes

		allocation_policy:
			- WriteAllocate:
					allocate a memory location to a cache line
					on a cache miss because of a write
			- ReadAllocate:
					allocate a memory location to a cache line
					on a cache miss because of a read
			- ReadWriteAllocate:
					both writeallocate and readallocate

		attributes:
			    LEGACY used only on IA64 and is same as write_policy

		coherency_line_size:
				     the minimum amount of data in bytes that gets
				     transferred from memory to cache

		level:
			the cache hierarchy in the multi-level cache configuration

		number_of_sets:
				total number of sets in the cache, a set is a
				collection of cache lines with the same cache index

		physical_line_partition:
				number of physical cache line per cache tag

		shared_cpu_list:
				the list of logical cpus sharing the cache

		shared_cpu_map:
				logical cpu mask containing the list of cpus sharing
				the cache

		size:
			the total cache size in kB

		type:
			- Instruction: cache that only holds instructions
			- Data: cache that only caches data
			- Unified: cache that holds both data and instructions

		ways_of_associativity:
			degree of freedom in placing a particular block
			of memory in the cache

		write_policy:
			- WriteThrough:
					data is written to both the cache line
					and to the block in the lower-level memory
			- WriteBack:
				     data is written only to the cache line and
				     the modified cache line is written to main
				     memory only when it is replaced

What:		/sys/devices/system/cpu/cpu*/cache/index*/id
Date:		September 2016
Contact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
Description:	Cache id

		The id provides a unique number for a specific instance of
		a cache of a particular type. E.g. there may be a level
		3 unified cache on each socket in a server and we may
		assign them ids 0, 1, 2, ...

		Note that id value can be non-contiguous. E.g. level 1
		caches typically exist per core, but there may not be a
		power of two cores on a socket, so these caches may be
		numbered 0, 1, 2, 3, 4, 5, 8, 9, 10, ...

What:		/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats
		/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/turbo_stat
		/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/sub_turbo_stat
		/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/unthrottle
		/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/powercap
		/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/overtemp
		/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/supply_fault
		/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/overcurrent
		/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/occ_reset
Date:		March 2016
Contact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
		Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org>
Description:	POWERNV CPUFreq driver's frequency throttle stats directory and
		attributes

		'cpuX/cpufreq/throttle_stats' directory contains the CPU frequency
		throttle stat attributes for the chip. The throttle stats of a cpu
		is common across all the cpus belonging to a chip. Below are the
		throttle attributes exported in the 'throttle_stats' directory:

		- turbo_stat : This file gives the total number of times the max
		  frequency is throttled to lower frequency in turbo (at and above
		  nominal frequency) range of frequencies.

		- sub_turbo_stat : This file gives the total number of times the
		  max frequency is throttled to lower frequency in sub-turbo(below
		  nominal frequency) range of frequencies.

		- unthrottle : This file gives the total number of times the max
		  frequency is unthrottled after being throttled.

		- powercap : This file gives the total number of times the max
		  frequency is throttled due to 'Power Capping'.

		- overtemp : This file gives the total number of times the max
		  frequency is throttled due to 'CPU Over Temperature'.

		- supply_fault : This file gives the total number of times the
		  max frequency is throttled due to 'Power Supply Failure'.

		- overcurrent : This file gives the total number of times the
		  max frequency is throttled due to 'Overcurrent'.

		- occ_reset : This file gives the total number of times the max
		  frequency is throttled due to 'OCC Reset'.

		The sysfs attributes representing different throttle reasons like
		powercap, overtemp, supply_fault, overcurrent and occ_reset map to
		the reasons provided by OCC firmware for throttling the frequency.

What:		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats
		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/turbo_stat
		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/sub_turbo_stat
		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/unthrottle
		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/powercap
		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/overtemp
		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/supply_fault
		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/overcurrent
		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/occ_reset
Date:		March 2016
Contact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
		Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org>
Description:	POWERNV CPUFreq driver's frequency throttle stats directory and
		attributes

		'policyX/throttle_stats' directory and all the attributes are same as
		the /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats directory and
		attributes which give the frequency throttle information of the chip.

What:		/sys/devices/system/cpu/cpuX/regs/
		/sys/devices/system/cpu/cpuX/regs/identification/
		/sys/devices/system/cpu/cpuX/regs/identification/midr_el1
		/sys/devices/system/cpu/cpuX/regs/identification/revidr_el1
		/sys/devices/system/cpu/cpuX/regs/identification/smidr_el1
Date:		June 2016
Contact:	Linux ARM Kernel Mailing list <linux-arm-kernel@lists.infradead.org>
Description:	AArch64 CPU registers

		'identification' directory exposes the CPU ID registers for
		identifying model and revision of the CPU and SMCU.

What:		/sys/devices/system/cpu/aarch32_el0
Date:		May 2021
Contact:	Linux ARM Kernel Mailing list <linux-arm-kernel@lists.infradead.org>
Description:	Identifies the subset of CPUs in the system that can execute
		AArch32 (32-bit ARM) applications. If present, the same format as
		/sys/devices/system/cpu/{offline,online,possible,present} is used.
		If absent, then all or none of the CPUs can execute AArch32
		applications and execve() will behave accordingly.

What:		/sys/devices/system/cpu/cpuX/cpu_capacity
Date:		December 2016
Contact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
Description:	information about CPUs heterogeneity.

		cpu_capacity: capacity of cpuX.

What:		/sys/devices/system/cpu/vulnerabilities
		/sys/devices/system/cpu/vulnerabilities/meltdown
		/sys/devices/system/cpu/vulnerabilities/spectre_v1
		/sys/devices/system/cpu/vulnerabilities/spectre_v2
		/sys/devices/system/cpu/vulnerabilities/spec_store_bypass
		/sys/devices/system/cpu/vulnerabilities/l1tf
		/sys/devices/system/cpu/vulnerabilities/mds
		/sys/devices/system/cpu/vulnerabilities/srbds
		/sys/devices/system/cpu/vulnerabilities/tsx_async_abort
		/sys/devices/system/cpu/vulnerabilities/itlb_multihit
		/sys/devices/system/cpu/vulnerabilities/mmio_stale_data
		/sys/devices/system/cpu/vulnerabilities/retbleed
Date:		January 2018
Contact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
Description:	Information about CPU vulnerabilities

		The files are named after the code names of CPU
		vulnerabilities. The output of those files reflects the
		state of the CPUs in the system. Possible output values:

		================  ==============================================
		"Not affected"	  CPU is not affected by the vulnerability
		"Vulnerable"	  CPU is affected and no mitigation in effect
		"Mitigation: $M"  CPU is affected and mitigation $M is in effect
		================  ==============================================

		See also: Documentation/admin-guide/hw-vuln/index.rst

What:		/sys/devices/system/cpu/smt
		/sys/devices/system/cpu/smt/active
		/sys/devices/system/cpu/smt/control
Date:		June 2018
Contact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
Description:	Control Symmetric Multi Threading (SMT)

		active:  Tells whether SMT is active (enabled and siblings online)

		control: Read/write interface to control SMT. Possible
			 values:

			 ================ =========================================
			 "on"		  SMT is enabled
			 "off"		  SMT is disabled
			 "forceoff"	  SMT is force disabled. Cannot be changed.
			 "notsupported"   SMT is not supported by the CPU
			 "notimplemented" SMT runtime toggling is not
					  implemented for the architecture
			 ================ =========================================

			 If control status is "forceoff" or "notsupported" writes
			 are rejected.

What:		/sys/devices/system/cpu/cpuX/power/energy_perf_bias
Date:		March 2019
Contact:	linux-pm@vger.kernel.org
Description:	Intel Energy and Performance Bias Hint (EPB)

		EPB for the given CPU in a sliding scale 0 - 15, where a value
		of 0 corresponds to a hint preference for highest performance
		and a value of 15 corresponds to the maximum energy savings.

		In order to change the EPB value for the CPU, write either
		a number in the 0 - 15 sliding scale above, or one of the
		strings: "performance", "balance-performance", "normal",
		"balance-power", "power" (that represent values reflected by
		their meaning), to this attribute.

		This attribute is present for all online CPUs supporting the
		Intel EPB feature.

What:		/sys/devices/system/cpu/umwait_control
		/sys/devices/system/cpu/umwait_control/enable_c02
		/sys/devices/system/cpu/umwait_control/max_time
Date:		May 2019
Contact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
Description:	Umwait control

		enable_c02: Read/write interface to control umwait C0.2 state
			Read returns C0.2 state status:
				0: C0.2 is disabled
				1: C0.2 is enabled

			Write 'y' or '1'  or 'on' to enable C0.2 state.
			Write 'n' or '0'  or 'off' to disable C0.2 state.

			The interface is case insensitive.

		max_time: Read/write interface to control umwait maximum time
			  in TSC-quanta that the CPU can reside in either C0.1
			  or C0.2 state. The time is an unsigned 32-bit number.
			  Note that a value of zero means there is no limit.
			  Low order two bits must be zero.

What:		/sys/devices/system/cpu/svm
Date:		August 2019
Contact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
		Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org>
Description:	Secure Virtual Machine

		If 1, it means the system is using the Protected Execution
		Facility in POWER9 and newer processors. i.e., it is a Secure
		Virtual Machine.

What:		/sys/devices/system/cpu/cpuX/purr
Date:		Apr 2005
Contact:	Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org>
Description:	PURR ticks for this CPU since the system boot.

		The Processor Utilization Resources Register (PURR) is
		a 64-bit counter which provides an estimate of the
		resources used by the CPU thread. The contents of this
		register increases monotonically. This sysfs interface
		exposes the number of PURR ticks for cpuX.

What: 		/sys/devices/system/cpu/cpuX/spurr
Date:		Dec 2006
Contact:	Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org>
Description:	SPURR ticks for this CPU since the system boot.

		The Scaled Processor Utilization Resources Register
		(SPURR) is a 64-bit counter that provides a frequency
		invariant estimate of the resources used by the CPU
		thread. The contents of this register increases
		monotonically. This sysfs interface exposes the number
		of SPURR ticks for cpuX.

What: 		/sys/devices/system/cpu/cpuX/idle_purr
Date:		Apr 2020
Contact:	Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org>
Description:	PURR ticks for cpuX when it was idle.

		This sysfs interface exposes the number of PURR ticks
		for cpuX when it was idle.

What: 		/sys/devices/system/cpu/cpuX/idle_spurr
Date:		Apr 2020
Contact:	Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org>
Description:	SPURR ticks for cpuX when it was idle.

		This sysfs interface exposes the number of SPURR ticks
		for cpuX when it was idle.

What: 		/sys/devices/system/cpu/cpuX/mte_tcf_preferred
Date:		July 2021
Contact:	Linux ARM Kernel Mailing list <linux-arm-kernel@lists.infradead.org>
Description:	Preferred MTE tag checking mode

		When a user program specifies more than one MTE tag checking
		mode, this sysfs node is used to specify which mode should
		be preferred when scheduling a task on that CPU. Possible
		values:

		================  ==============================================
		"sync"	  	  Prefer synchronous mode
		"asymm"	  	  Prefer asymmetric mode
		"async"	  	  Prefer asynchronous mode
		================  ==============================================

		See also: Documentation/arm64/memory-tagging-extension.rst

What:		/sys/devices/system/cpu/nohz_full
Date:		Apr 2015
Contact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
Description:
		(RO) the list of CPUs that are in nohz_full mode.
		These CPUs are set by boot parameter "nohz_full=".

What:		/sys/devices/system/cpu/isolated
Date:		Apr 2015
Contact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
Description:
		(RO) the list of CPUs that are isolated and don't
		participate in load balancing. These CPUs are set by
		boot parameter "isolcpus=".


code:
What:           /sys/devices/system/ibm_rtl/state
Date:           Sep 2010
KernelVersion:  2.6.37
Contact:        Vernon Mauery <vernux@us.ibm.com>
Description:    The state file allows a means by which to change in and
                out of Premium Real-Time Mode (PRTM), as well as the
                ability to query the current state.

                    - 0 => PRTM off
                    - 1 => PRTM enabled

Users:          The ibm-prtm userspace daemon uses this interface.

What:           /sys/devices/system/ibm_rtl/version
Date:           Sep 2010
KernelVersion:  2.6.37
Contact:        Vernon Mauery <vernux@us.ibm.com>
Description:    The version file provides a means by which to query
                the RTL table version that lives in the Extended
                BIOS Data Area (EBDA).
Users:          The ibm-prtm userspace daemon uses this interface.


code:
What:		/sys/devices/system/xen_cpu/
Date:		May 2012
Contact:	Liu, Jinsong <jinsong.liu@intel.com>
Description:
		A collection of global/individual Xen physical cpu attributes

		Individual physical cpu attributes are contained in
		subdirectories named by the Xen's logical cpu number, e.g.:
		/sys/devices/system/xen_cpu/xen_cpu#/

What:		/sys/devices/system/xen_cpu/xen_cpu#/online
Date:		May 2012
Contact:	Liu, Jinsong <jinsong.liu@intel.com>
Description:
		Interface to online/offline Xen physical cpus

		When running under Xen platform, it provide user interface
		to online/offline physical cpus, except cpu0 due to several
		logic restrictions and assumptions.


code:
What:		 /sys/.../<device>/vfio-dev/vfioX/
Date:		 September 2022
Contact:	 Yi Liu <yi.l.liu@intel.com>
Description:
		 This directory is created when the device is bound to a
		 vfio driver. The layout under this directory matches what
		 exists for a standard 'struct device'. 'X' is a unique
		 index marking this device in vfio.


code:
What:		/sys/devices/.../waiting_for_supplier
Date:		May 2020
Contact:	Saravana Kannan <saravanak@google.com>
Description:
		The /sys/devices/.../waiting_for_supplier attribute is only
		present when fw_devlink kernel command line option is enabled
		and is set to something stricter than "permissive".  It is
		removed once a device probes successfully (because the
		information is no longer relevant). The number read from it (0
		or 1) reflects whether the device is waiting for one or more
		suppliers to be added and then linked to using device links
		before the device can probe.

		A value of 0 means the device is not waiting for any suppliers
		to be added before it can probe.  A value of 1 means the device
		is waiting for one or more suppliers to be added before it can
		probe.


code:
What:		/sys/devices/*/xenbus/event_channels
Date:		February 2021
Contact:	Xen Developers mailing list <xen-devel@lists.xenproject.org>
Description:
		Number of Xen event channels associated with a kernel based
		paravirtualized device frontend or backend.

What:		/sys/devices/*/xenbus/events
Date:		February 2021
Contact:	Xen Developers mailing list <xen-devel@lists.xenproject.org>
Description:
		Total number of Xen events received for a Xen pv device
		frontend or backend.

What:		/sys/devices/*/xenbus/jiffies_eoi_delayed
Date:		February 2021
Contact:	Xen Developers mailing list <xen-devel@lists.xenproject.org>
Description:
		Summed up time in jiffies the EOI of an interrupt for a Xen
		pv device has been delayed in order to avoid stalls due to
		event storms. This value rising is a first sign for a rogue
		other end of the pv device.

What:		/sys/devices/*/xenbus/spurious_events
Date:		February 2021
Contact:	Xen Developers mailing list <xen-devel@lists.xenproject.org>
Description:
		Number of events received for a Xen pv device which did not
		require any action. Too many spurious events in a row will
		trigger delayed EOI processing.

What:		/sys/devices/*/xenbus/spurious_threshold
Date:		February 2021
Contact:	Xen Developers mailing list <xen-devel@lists.xenproject.org>
Description:
		Controls the tolerated number of subsequent spurious events
		before delayed EOI processing is triggered for a Xen pv
		device. Default is 1. This can be modified in case the other
		end of the pv device is issuing spurious events on a regular
		basis and is known not to be malicious on purpose. Raising
		the value for such cases can improve pv device performance.


code:
What:		/sys/bus/pci/drivers/altera-cvp/chkcfg
Date:		May 2017
KernelVersion:	4.13
Contact:	Anatolij Gustschin <agust@denx.de>
Description:
		Contains either 1 or 0 and controls if configuration
		error checking in altera-cvp driver is turned on or
		off.


code:
What:		/sys/bus/platform/drivers/aspeed-uart-routing/\*/uart\*
Date:		September 2021
Contact:	Oskar Senft <osk@google.com>
		Chia-Wei Wang <chiawei_wang@aspeedtech.com>
Description:	Selects the RX source of the UARTx device.

		When read, each file shows the list of available options with currently
		selected option marked by brackets "[]". The list of available options
		depends on the selected file.

		e.g.
		cat /sys/bus/platform/drivers/aspeed-uart-routing/\*.uart_routing/uart1
		[io1] io2 io3 io4 uart2 uart3 uart4 io6

		In this case, UART1 gets its input from IO1 (physical serial port 1).

Users:		OpenBMC.  Proposed changes should be mailed to
		openbmc@lists.ozlabs.org

What:		/sys/bus/platform/drivers/aspeed-uart-routing/\*/io\*
Date:		September 2021
Contact:	Oskar Senft <osk@google.com>
		Chia-Wei Wang <chiawei_wang@aspeedtech.com>
Description:	Selects the RX source of IOx serial port. The current selection
		will be marked by brackets "[]".
Users:		OpenBMC.  Proposed changes should be mailed to
		openbmc@lists.ozlabs.org


code:
What:		/sys/bus/i2c/devices/.../bd9571mwv-regulator.*.auto/backup_mode
Date:		Jul 2018
KernelVersion:	4.19
Contact:	Geert Uytterhoeven <geert+renesas@glider.be>
Description:	Read/write the current state of DDR Backup Mode, which controls
		if DDR power rails will be kept powered during system suspend.
		("on"/"1" = enabled, "off"/"0" = disabled).
		Two types of power switches (or control signals) can be used:

		  A. With a momentary power switch (or pulse signal), DDR
		     Backup Mode is enabled by default when available, as the
		     PMIC will be configured only during system suspend.
		  B. With a toggle power switch (or level signal), the
		     following steps must be followed exactly:

		       1. Configure PMIC for backup mode, to change the role of
			  the accessory power switch from a power switch to a
			  wake-up switch,
		       2. Switch accessory power switch off, to prepare for
			  system suspend, which is a manual step not controlled
			  by software,
		       3. Suspend system,
		       4. Switch accessory power switch on, to resume the
			  system.

		     DDR Backup Mode must be explicitly enabled by the user,
		     to invoke step 1.

		See also Documentation/devicetree/bindings/mfd/rohm,bd9571mwv.yaml.
Users:		User space applications for embedded boards equipped with a
		BD9571MWV PMIC.


code:
What:		/sys/bus/pci/devices/<BDF>/fused_part
Date:		June 2022
KernelVersion:	5.19
Contact:	mario.limonciello@amd.com
Description:
		The /sys/bus/pci/devices/<BDF>/fused_part file reports
		whether the CPU or APU has been fused to prevent tampering.
		0: Not fused
		1: Fused

What:		/sys/bus/pci/devices/<BDF>/debug_lock_on
Date:		June 2022
KernelVersion:	5.19
Contact:	mario.limonciello@amd.com
Description:
		The /sys/bus/pci/devices/<BDF>/debug_lock_on reports
		whether the AMD CPU or APU has been unlocked for debugging.
		Possible values:
		0: Not locked
		1: Locked

What:		/sys/bus/pci/devices/<BDF>/tsme_status
Date:		June 2022
KernelVersion:	5.19
Contact:	mario.limonciello@amd.com
Description:
		The /sys/bus/pci/devices/<BDF>/tsme_status file reports
		the status of transparent secure memory encryption on AMD systems.
		Possible values:
		0: Not active
		1: Active

What:		/sys/bus/pci/devices/<BDF>/anti_rollback_status
Date:		June 2022
KernelVersion:	5.19
Contact:	mario.limonciello@amd.com
Description:
		The /sys/bus/pci/devices/<BDF>/anti_rollback_status file reports
		whether the PSP is enforcing rollback protection.
		Possible values:
		0: Not enforcing
		1: Enforcing

What:		/sys/bus/pci/devices/<BDF>/rpmc_production_enabled
Date:		June 2022
KernelVersion:	5.19
Contact:	mario.limonciello@amd.com
Description:
		The /sys/bus/pci/devices/<BDF>/rpmc_production_enabled file reports
		whether Replay Protected Monotonic Counter support has been enabled.
		Possible values:
		0: Not enabled
		1: Enabled

What:		/sys/bus/pci/devices/<BDF>/rpmc_spirom_available
Date:		June 2022
KernelVersion:	5.19
Contact:	mario.limonciello@amd.com
Description:
		The /sys/bus/pci/devices/<BDF>/rpmc_spirom_available file reports
		whether an Replay Protected Monotonic Counter supported SPI is installed
		on the system.
		Possible values:
		0: Not present
		1: Present

What:		/sys/bus/pci/devices/<BDF>/hsp_tpm_available
Date:		June 2022
KernelVersion:	5.19
Contact:	mario.limonciello@amd.com
Description:
		The /sys/bus/pci/devices/<BDF>/hsp_tpm_available file reports
		whether the HSP TPM has been activated.
		Possible values:
		0: Not activated or present
		1: Activated

What:		/sys/bus/pci/devices/<BDF>/rom_armor_enforced
Date:		June 2022
KernelVersion:	5.19
Contact:	mario.limonciello@amd.com
Description:
		The /sys/bus/pci/devices/<BDF>/rom_armor_enforced file reports
		whether RomArmor SPI protection is enforced.
		Possible values:
		0: Not enforced
		1: Enforced


code:
What:		/sys/bus/platform/devices/GGL0001:*/BINF.2
Date:		May 2022
KernelVersion:	5.19
Description:
		Returns active EC firmware of current boot (boolean).

		== ===============================
		0  Read only (recovery) firmware.
		1  Rewritable firmware.
		== ===============================

What:		/sys/bus/platform/devices/GGL0001:*/BINF.3
Date:		May 2022
KernelVersion:	5.19
Description:
		Returns main firmware type for current boot (integer).

		== =====================================
		0  Recovery.
		1  Normal.
		2  Developer.
		3  Netboot (factory installation only).
		== =====================================

What:		/sys/bus/platform/devices/GGL0001:*/CHSW
Date:		May 2022
KernelVersion:	5.19
Description:
		Returns switch position for Chrome OS specific hardware
		switches when the firmware is booted (integer).

		==== ===========================================
		0    No changes.
		2    Recovery button was pressed.
		4    Recovery button was pressed (EC firmware).
		32   Developer switch was enabled.
		512  Firmware write protection was disabled.
		==== ===========================================

What:		/sys/bus/platform/devices/GGL0001:*/FMAP
Date:		May 2022
KernelVersion:	5.19
Description:
		Returns physical memory address of the start of the main
		processor firmware flashmap.

What:		/sys/bus/platform/devices/GGL0001:*/FRID
Date:		May 2022
KernelVersion:	5.19
Description:
		Returns firmware version for the read-only portion of the
		main processor firmware.

What:		/sys/bus/platform/devices/GGL0001:*/FWID
Date:		May 2022
KernelVersion:	5.19
Description:
		Returns firmware version for the rewritable portion of the
		main processor firmware.

What:		/sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.0
Date:		May 2022
KernelVersion:	5.19
Description:
		Returns type of the GPIO signal for the Chrome OS specific
		GPIO assignments (integer).

		=========== ==================================
		1           Recovery button.
		2           Developer mode switch.
		3           Firmware write protection switch.
		256 to 511  Debug header GPIO 0 to GPIO 255.
		=========== ==================================

What:		/sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.1
Date:		May 2022
KernelVersion:	5.19
Description:
		Returns signal attributes of the GPIO signal (integer bitfield).

		== =======================
		0  Signal is active low.
		1  Signal is active high.
		== =======================

What:		/sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.2
Date:		May 2022
KernelVersion:	5.19
Description:
		Returns the GPIO number on the specified GPIO
		controller.

What:		/sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.3
Date:		May 2022
KernelVersion:	5.19
Description:
		Returns name of the GPIO controller.

What:		/sys/bus/platform/devices/GGL0001:*/HWID
Date:		May 2022
KernelVersion:	5.19
Description:
		Returns hardware ID for the Chromebook.

What:		/sys/bus/platform/devices/GGL0001:*/MECK
Date:		May 2022
KernelVersion:	5.19
Description:
		Returns the SHA-1 or SHA-256 hash that is read out of the
		Management Engine extended registers during boot. The hash
		is exported via ACPI so the OS can verify that the Management
		Engine firmware has not changed. If Management Engine is not
		present, or if the firmware was unable to read the extended registers, this buffer size can be zero.

What:		/sys/bus/platform/devices/GGL0001:*/VBNV.0
Date:		May 2022
KernelVersion:	5.19
Description:
		Returns offset in CMOS bank 0 of the verified boot non-volatile
		storage block, counting from the first writable CMOS byte
		(that is, 'offset = 0' is the byte following the 14 bytes of
		clock data).

What:		/sys/bus/platform/devices/GGL0001:*/VBNV.1
Date:		May 2022
KernelVersion:	5.19
Description:
		Return the size in bytes of the verified boot non-volatile
		storage block.

What:		/sys/bus/platform/devices/GGL0001:*/VDAT
Date:		May 2022
KernelVersion:	5.19
Description:
		Returns the verified boot data block shared between the
		firmware verification step and the kernel verification step
		(binary).


code:
What:		/sys/bus/platform/drivers/eud/.../enable
Date:           February 2022
Contact:        Souradeep Chowdhury <quic_schowdhu@quicinc.com>
Description:
		The Enable/Disable sysfs interface for Embedded
		USB Debugger(EUD). This enables and disables the
		EUD based on a 1 or a 0 value. By enabling EUD,
		the user is able to activate the mini-usb hub of
		EUD for debug and trace capabilities.


code:
What:           /sys/bus/platform/devices/[..]/fsi-master-gpio/external_mode
Date:           Feb 2018
KernelVersion:  4.17
Contact:        jk@ozlabs.org
Description:
                Controls access arbitration for GPIO-based FSI master. A
		value of 0 (the default) sets normal mode, where the
		driver performs FSI bus transactions, 1 sets external mode,
		where the FSI bus is driven externally (for example, by
		a debug device).


code:
What:		/sys/bus/spi/<dev>/update_firmware
Date:		Jul 2021
Contact:	sebastian.reichel@collabora.com
Description:	Write 1 to this file to update the ACHC microcontroller
		firmware via the EzPort interface. For this the kernel
		will load "achc.bin" via the firmware API (so usually
		from /lib/firmware). The write will block until the FW
		has either been flashed successfully or an error occured.

What:		/sys/bus/spi/<dev>/reset
Date:		Jul 2021
Contact:	sebastian.reichel@collabora.com
Description:	This file represents the microcontroller's reset line.
                1 means the reset line is asserted, 0 means it's not
		asserted. The file is read and writable.


code:
What:           /sys/class/genwqe/genwqe<n>_card/version
Date:           Oct 2013
Contact:        haver@linux.vnet.ibm.com
Description:    Unique bitstream identification e.g.
                '0000000330336283.00000000475a4950'.

What:           /sys/class/genwqe/genwqe<n>_card/appid
Date:           Oct 2013
Contact:        haver@linux.vnet.ibm.com
Description:    Identifies the currently active card application e.g. 'GZIP'
                for compression/decompression.

What:           /sys/class/genwqe/genwqe<n>_card/type
Date:           Oct 2013
Contact:        haver@linux.vnet.ibm.com
Description:    Type of the card e.g. 'GenWQE5-A7'.

What:           /sys/class/genwqe/genwqe<n>_card/curr_bitstream
Date:           Oct 2013
Contact:        haver@linux.vnet.ibm.com
Description:    Currently active bitstream. 1 is default, 0 is backup.

What:           /sys/class/genwqe/genwqe<n>_card/next_bitstream
Date:           Oct 2013
Contact:        haver@linux.vnet.ibm.com
Description:    Interface to set the next bitstream to be used.

What:           /sys/class/genwqe/genwqe<n>_card/reload_bitstream
Date:           May 2014
Contact:        klebers@linux.vnet.ibm.com
Description:    Interface to trigger a PCIe card reset to reload the bitstream.

		::

                  sudo sh -c 'echo 1 > \
                    /sys/class/genwqe/genwqe0_card/reload_bitstream'

                If successfully, the card will come back with the bitstream set
                on 'next_bitstream'.

What:           /sys/class/genwqe/genwqe<n>_card/tempsens
Date:           Oct 2013
Contact:        haver@linux.vnet.ibm.com
Description:    Interface to read the cards temperature sense register.

What:           /sys/class/genwqe/genwqe<n>_card/freerunning_timer
Date:           Oct 2013
Contact:        haver@linux.vnet.ibm.com
Description:    Interface to read the cards free running timer.
                Used for performance and utilization measurements.

What:           /sys/class/genwqe/genwqe<n>_card/queue_working_time
Date:           Oct 2013
Contact:        haver@linux.vnet.ibm.com
Description:    Interface to read queue working time.
                Used for performance and utilization measurements.

What:           /sys/class/genwqe/genwqe<n>_card/state
Date:           Oct 2013
Contact:        haver@linux.vnet.ibm.com
Description:    State of the card: "unused", "used", "error".

What:           /sys/class/genwqe/genwqe<n>_card/base_clock
Date:           Oct 2013
Contact:        haver@linux.vnet.ibm.com
Description:    Base clock frequency of the card.

What:           /sys/class/genwqe/genwqe<n>_card/device/sriov_numvfs
Date:           Oct 2013
Contact:        haver@linux.vnet.ibm.com
Description:    Enable VFs (1..15)::

                  sudo sh -c 'echo 15 > \
                    /sys/bus/pci/devices/0000\:1b\:00.0/sriov_numvfs'

                Disable VFs::

                  Write a 0 into the same sysfs entry.


code:
What:           /sys/class/habanalabs/hl<n>/armcp_kernel_ver
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Version of the Linux kernel running on the device's CPU.
                Will be DEPRECATED in Linux kernel version 5.10, and be
                replaced with cpucp_kernel_ver

What:           /sys/class/habanalabs/hl<n>/armcp_ver
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Version of the application running on the device's CPU
                Will be DEPRECATED in Linux kernel version 5.10, and be
                replaced with cpucp_ver

What:           /sys/class/habanalabs/hl<n>/clk_max_freq_mhz
Date:           Jun 2019
KernelVersion:  5.7
Contact:        ogabbay@kernel.org
Description:    Allows the user to set the maximum clock frequency, in MHz.
                The device clock might be set to lower value than the maximum.
                The user should read the clk_cur_freq_mhz to see the actual
                frequency value of the device clock. This property is valid
                only for the Gaudi ASIC family

What:           /sys/class/habanalabs/hl<n>/clk_cur_freq_mhz
Date:           Jun 2019
KernelVersion:  5.7
Contact:        ogabbay@kernel.org
Description:    Displays the current frequency, in MHz, of the device clock.
                This property is valid only for the Gaudi ASIC family

What:           /sys/class/habanalabs/hl<n>/cpld_ver
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Version of the Device's CPLD F/W

What:           /sys/class/habanalabs/hl<n>/cpucp_kernel_ver
Date:           Oct 2020
KernelVersion:  5.10
Contact:        ogabbay@kernel.org
Description:    Version of the Linux kernel running on the device's CPU

What:           /sys/class/habanalabs/hl<n>/cpucp_ver
Date:           Oct 2020
KernelVersion:  5.10
Contact:        ogabbay@kernel.org
Description:    Version of the application running on the device's CPU

What:           /sys/class/habanalabs/hl<n>/device_type
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Displays the code name of the device according to its type.
                The supported values are: "GOYA"

What:           /sys/class/habanalabs/hl<n>/eeprom
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    A binary file attribute that contains the contents of the
                on-board EEPROM

What:           /sys/class/habanalabs/hl<n>/fuse_ver
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Displays the device's version from the eFuse

What:           /sys/class/habanalabs/hl<n>/fw_os_ver
Date:           Dec 2021
KernelVersion:  5.18
Contact:        ogabbay@kernel.org
Description:    Version of the firmware OS running on the device's CPU

What:           /sys/class/habanalabs/hl<n>/hard_reset
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Interface to trigger a hard-reset operation for the device.
                Hard-reset will reset ALL internal components of the device
                except for the PCI interface and the internal PLLs

What:           /sys/class/habanalabs/hl<n>/hard_reset_cnt
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Displays how many times the device have undergone a hard-reset
                operation since the driver was loaded

What:           /sys/class/habanalabs/hl<n>/high_pll
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Allows the user to set the maximum clock frequency for MME, TPC
                and IC when the power management profile is set to "automatic".
                This property is valid only for the Goya ASIC family

What:           /sys/class/habanalabs/hl<n>/ic_clk
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Allows the user to set the maximum clock frequency, in Hz, of
                the Interconnect fabric. Writes to this parameter affect the
                device only when the power management profile is set to "manual"
                mode. The device IC clock might be set to lower value than the
                maximum. The user should read the ic_clk_curr to see the actual
                frequency value of the IC. This property is valid only for the
                Goya ASIC family

What:           /sys/class/habanalabs/hl<n>/ic_clk_curr
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Displays the current clock frequency, in Hz, of the Interconnect
                fabric. This property is valid only for the Goya ASIC family

What:           /sys/class/habanalabs/hl<n>/infineon_ver
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Version of the Device's power supply F/W code. Relevant only to GOYA and GAUDI

What:           /sys/class/habanalabs/hl<n>/max_power
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Allows the user to set the maximum power consumption of the
                device in milliwatts.

What:           /sys/class/habanalabs/hl<n>/mme_clk
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Allows the user to set the maximum clock frequency, in Hz, of
                the MME compute engine. Writes to this parameter affect the
                device only when the power management profile is set to "manual"
                mode. The device MME clock might be set to lower value than the
                maximum. The user should read the mme_clk_curr to see the actual
                frequency value of the MME. This property is valid only for the
                Goya ASIC family

What:           /sys/class/habanalabs/hl<n>/mme_clk_curr
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Displays the current clock frequency, in Hz, of the MME compute
                engine. This property is valid only for the Goya ASIC family

What:           /sys/class/habanalabs/hl<n>/pci_addr
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Displays the PCI address of the device. This is needed so the
                user would be able to open a device based on its PCI address

What:           /sys/class/habanalabs/hl<n>/pm_mng_profile
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Power management profile. Values are "auto", "manual". In "auto"
                mode, the driver will set the maximum clock frequency to a high
                value when a user-space process opens the device's file (unless
                it was already opened by another process). The driver will set
                the max clock frequency to a low value when there are no user
                processes that are opened on the device's file. In "manual"
                mode, the user sets the maximum clock frequency by writing to
                ic_clk, mme_clk and tpc_clk. This property is valid only for
                the Goya ASIC family

What:           /sys/class/habanalabs/hl<n>/preboot_btl_ver
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Version of the device's preboot F/W code

What:           /sys/class/habanalabs/hl<n>/security_enabled
Date:           Oct 2022
KernelVersion:  6.1
Contact:        obitton@habana.ai
Description:    Displays the device's security status

What:           /sys/class/habanalabs/hl<n>/soft_reset
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Interface to trigger a soft-reset operation for the device.
                Soft-reset will reset only the compute and DMA engines of the
                device

What:           /sys/class/habanalabs/hl<n>/soft_reset_cnt
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Displays how many times the device have undergone a soft-reset
                operation since the driver was loaded

What:           /sys/class/habanalabs/hl<n>/status
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Status of the card: "Operational", "Malfunction", "In reset".

What:           /sys/class/habanalabs/hl<n>/thermal_ver
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Version of the Device's thermal daemon

What:           /sys/class/habanalabs/hl<n>/tpc_clk
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Allows the user to set the maximum clock frequency, in Hz, of
                the TPC compute engines. Writes to this parameter affect the
                device only when the power management profile is set to "manual"
                mode. The device TPC clock might be set to lower value than the
                maximum. The user should read the tpc_clk_curr to see the actual
                frequency value of the TPC. This property is valid only for
                Goya ASIC family

What:           /sys/class/habanalabs/hl<n>/tpc_clk_curr
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Displays the current clock frequency, in Hz, of the TPC compute
                engines. This property is valid only for the Goya ASIC family

What:           /sys/class/habanalabs/hl<n>/uboot_ver
Date:           Jan 2019
KernelVersion:  5.1
Contact:        ogabbay@kernel.org
Description:    Version of the u-boot running on the device's CPU

What:           /sys/class/habanalabs/hl<n>/vrm_ver
Date:           Jan 2022
KernelVersion:  5.17
Contact:        ogabbay@kernel.org
Description:    Version of the Device's Voltage Regulator Monitor F/W code. N/A to GOYA and GAUDI


code:
What:		/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/report_descriptor
What:		/sys/class/bluetooth/hci<addr>/<hid-bus>:<vendor-id>:<product-id>.<num>/report_descriptor
What:		/sys/class/hidraw/hidraw<num>/device/report_descriptor
Date:		Jan 2011
KernelVersion:	2.0.39
Contact:	Alan Ott <alan@signal11.us>
Description:	When read, this file returns the device's raw binary HID
		report descriptor.
		This file cannot be written.
Users:		HIDAPI library (http://www.signal11.us/oss/hidapi)

What:		/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/country
What:		/sys/class/bluetooth/hci<addr>/<hid-bus>:<vendor-id>:<product-id>.<num>/country
What:		/sys/class/hidraw/hidraw<num>/device/country
Date:		February 2015
KernelVersion:	3.19
Contact:	Olivier Gay <ogay@logitech.com>
Description:	When read, this file returns the hex integer value in ASCII
		of the device's HID country code (e.g. 21 for US).
		This file cannot be written.


code:
What:		/sys/bus/drivers/corsair/<dev>/macro_mode
Date:		August 2015
KernelVersion:	4.2
Contact:	Clement Vuchener <clement.vuchener@gmail.com>
Description:	Get/set the current playback mode. "SW" for software mode
		where G-keys triggers their regular key codes. "HW" for
		hardware playback mode where the G-keys play their macro
		from the on-board memory.

What:		/sys/bus/drivers/corsair/<dev>/current_profile
Date:		August 2015
KernelVersion:	4.2
Contact:	Clement Vuchener <clement.vuchener@gmail.com>
Description:	Get/set the current selected profile. Values are from 1 to 3.


code:
What:		/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/press_to_select
Date:		July 2011
Contact:	linux-input@vger.kernel.org
Description:	This controls if mouse clicks should be generated if the trackpoint is quickly pressed. How fast this press has to be
		is being controlled by press_speed.

		Values are 0 or 1.

		Applies to Thinkpad USB Keyboard with TrackPoint.

What:		/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/dragging
Date:		July 2011
Contact:	linux-input@vger.kernel.org
Description:	If this setting is enabled, it is possible to do dragging by pressing the trackpoint. This requires press_to_select to be enabled.

		Values are 0 or 1.

		Applies to Thinkpad USB Keyboard with TrackPoint.

What:		/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/release_to_select
Date:		July 2011
Contact:	linux-input@vger.kernel.org
Description:	For details regarding this setting please refer to http://www.pc.ibm.com/ww/healthycomputing/trkpntb.html
		Values are 0 or 1.
		Applies to Thinkpad USB Keyboard with TrackPoint.

What:		/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/select_right
Date:		July 2011
Contact:	linux-input@vger.kernel.org
Description:	This setting controls if the mouse click events generated by pressing the trackpoint (if press_to_select is enabled) generate
		a left or right mouse button click.

		Values are 0 or 1.

		Applies to Thinkpad USB Keyboard with TrackPoint.

What:		/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/sensitivity
Date:		July 2011
Contact:	linux-input@vger.kernel.org
Description:	This file contains the trackpoint sensitivity.
		Values are decimal integers from 1 (lowest sensitivity) to 255 (highest sensitivity).
		Applies to Thinkpad USB Keyboard with TrackPoint.

What:		/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/press_speed
Date:		July 2011
Contact:	linux-input@vger.kernel.org
Description:	This setting controls how fast the trackpoint needs to be pressed to generate a mouse click if press_to_select is enabled.

		Values are decimal integers from 1 (slowest) to 255 (fastest).

		Applies to Thinkpad USB Keyboard with TrackPoint.

What:		/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/fn_lock
Date:		July 2014
Contact:	linux-input@vger.kernel.org
Description:	This setting controls whether Fn Lock is enabled on the keyboard (i.e. if F1 is Mute or F1)

		Values are 0 or 1

		Applies to ThinkPad Compact (USB|Bluetooth) Keyboard with TrackPoint.


code:
What:		/sys/bus/hid/drivers/logitech-hidpp-device/<dev>/range
Date:		Jan, 2016
KernelVersion:	4.6
Contact:	linux-input@vger.kernel.org
Description:
		(RW) This attribute controls the amount of 'turn' permitted in
		Logitech G920 wheel. Reading from the file shows the current
		range of the steering wheel. Writing a value within the min and
		max boundary sets the range of the wheel.

What:		/sys/bus/hid/drivers/logitech-hidpp-device/<dev>/builtin_power_supply
Date:		Apr, 2017
KernelVersion:	4.12
Contact:	linux-input@vger.kernel.org
Description:
		Presence of this file indicates that HID++ driver is capable of
		handling battery properties in the kernel. This way, upower can
		add a udev rule to decide whether or not it should use the
		internal unifying support or the generic kernel one.


code:
What:		/sys/bus/hid/drivers/logitech/<dev>/range
Date:		July 2011
KernelVersion:	3.2
Contact:	Michal Malý <madcatxster@devoid-pointer.net>
Description:	Display minimum, maximum and current range of the steering
		wheel. Writing a value within min and max boundaries sets the
		range of the wheel.

What:		/sys/bus/hid/drivers/logitech/<dev>/alternate_modes
Date:		Feb 2015
KernelVersion:	4.1
Contact:	Michal Malý <madcatxster@devoid-pointer.net>
Description:	Displays a set of alternate modes supported by a wheel. Each
		mode is listed as follows:

		  Tag: Mode Name

		Currently active mode is marked with an asterisk. List also
		contains an abstract item "native" which always denotes the
		native mode of the wheel. Echoing the mode tag switches the
		wheel into the corresponding mode. Depending on the exact model
		of the wheel not all listed modes might always be selectable.
		If a wheel cannot be switched into the desired mode, -EINVAL
		is returned accompanied with an explanatory message in the
		kernel log.
		This entry is not created for devices that have only one mode.

		Currently supported mode switches:

		Driving Force Pro::

		  DF-EX --> DFP

		G25::

		  DF-EX --> DFP --> G25

		G27::

		  DF-EX <*> DFP <-> G25 <-> G27
		  DF-EX <*--------> G25 <-> G27
		  DF-EX <*----------------> G27

		G29::

		  DF-EX <*> DFP <-> G25 <-> G27 <-> G29
		  DF-EX <*--------> G25 <-> G27 <-> G29
		  DF-EX <*----------------> G27 <-> G29
		  DF-EX <*------------------------> G29

		DFGT::

		  DF-EX <*> DFP <-> DFGT
		  DF-EX <*--------> DFGT

		* hid_logitech module must be loaded with lg4ff_no_autoswitch=1
		  parameter set in order for the switch to DF-EX mode to work.

What:		/sys/bus/hid/drivers/logitech/<dev>/real_id
Date:		Feb 2015
KernelVersion:	4.1
Contact:	Michal Malý <madcatxster@devoid-pointer.net>
Description:	Displays the real model of the wheel regardless of any
		alternate mode the wheel might be switched to.
		It is a read-only value.
		This entry is not created for devices that have only one mode.

What:		/sys/bus/hid/drivers/logitech/<dev>/combine_pedals
Date:		Sep 2016
KernelVersion:	4.9
Contact:	Simon Wood <simon@mungewell.org>
Description:	Controls whether a combined value of accelerator and brake is
		reported on the Y axis of the controller. Useful for older games
		which can do not work with separate accelerator/brake axis.
		Off ('0') by default, enabled by setting '1'.


code:
What:		/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/quirks
Date:		November 2011
Contact:	Benjamin Tissoires <benjamin.tissoires@gmail.com>
Description:	The integer value of this attribute corresponds to the
		quirks actually in place to handle the device's protocol.
		When read, this attribute returns the current settings (see
		MT_QUIRKS_* in hid-multitouch.c).
		When written this attribute change on the fly the quirks, then
		the protocol to handle the device.


code:
What:		/sys/bus/hid/drivers/ntrig/<dev>/activate_slack
Date:		May, 2010
KernelVersion:	2.6.35
Contact:	linux-input@vger.kernel.org
Description:
		(RW) Number of contact frames ignored before acknowledging the
		start of activity (activating touch).

What:		/sys/bus/hid/drivers/ntrig/<dev>/decativate_slack
Date:		May, 2010
KernelVersion:	2.6.35
Contact:	linux-input@vger.kernel.org
Description:
		(RW) Number of empty (no contact) frames ignored before
		acknowledging the end of activity (deactivating touch).

		When the last finger is removed from the device, it sends a
		number of empty frames. By holding off on deactivation for a few
		frames false erroneous disconnects can be tolerated, where the
		sensor may mistakenly not detect a finger that is still present.

What:		/sys/bus/hid/drivers/ntrig/<dev>/activation_width
What:		/sys/bus/hid/drivers/ntrig/<dev>/activation_height
Date:		May, 2010
KernelVersion:	2.6.35
Contact:	linux-input@vger.kernel.org
Description:
		Threholds to override activation slack.

		=================	=====================================
		activation_width	(RW) Width threshold to immediately
					start processing touch events.

		activation_height	(RW) Height threshold to immediately
					start processing touch events.
		=================	=====================================

What:		/sys/bus/hid/drivers/ntrig/<dev>/min_width
What:		/sys/bus/hid/drivers/ntrig/<dev>/min_height
Date:		May, 2010
KernelVersion:	2.6.35
Contact:	linux-input@vger.kernel.org
Description:
		Minimum size contact accepted.

		==========	===========================================
		min_width	(RW) Minimum touch contact width to decide
				activation and activity.

		min_height	(RW) Minimum touch contact height to decide
				activation and activity.
		==========	===========================================

What:		/sys/bus/hid/drivers/ntrig/<dev>/sensor_physical_width
What:		/sys/bus/hid/drivers/ntrig/<dev>/sensor_physical_height
Date:		May, 2010
KernelVersion:	2.6.35
Contact:	linux-input@vger.kernel.org
Description:
		(RO) These are internal ranges not used for normal events but
		useful for tuning.

What:		/sys/bus/hid/drivers/ntrig/<dev>/sensor_logical_width
What:		/sys/bus/hid/drivers/ntrig/<dev>/sensor_logical_height
Date:		May, 2010
KernelVersion:	2.6.35
Contact:	linux-input@vger.kernel.org
Description:
		(RO) The range for positions reported during activity.


code:
What:		/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/operation_mode
Date:		March 2010
Contact:	Bruno Prémont <bonbons@linux-vserver.org>
Description:	Make it possible to switch the PicoLCD device between LCD
		(firmware) and bootloader (flasher) operation modes.

		Reading: returns list of available modes, the active mode being
		enclosed in brackets ('[' and ']')

		Writing: causes operation mode switch. Permitted values are
		the non-active mode names listed when read.

		Note: when switching mode the current PicoLCD HID device gets
		disconnected and reconnects after above delay (see attribute
		operation_mode_delay for its value).

What:		/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/operation_mode_delay
Date:		April 2010
Contact:	Bruno Prémont <bonbons@linux-vserver.org>
Description:	Delay PicoLCD waits before restarting in new mode when
		operation_mode has changed.

		Reading/Writing: It is expressed in ms and permitted range is
		0..30000ms.

What:		/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/fb_update_rate
Date:		March 2010
Contact:	Bruno Prémont <bonbons@linux-vserver.org>
Description:	Make it possible to adjust defio refresh rate.

		Reading: returns list of available refresh rates (expressed in Hz),
		the active refresh rate being enclosed in brackets ('[' and ']')

		Writing: accepts new refresh rate expressed in integer Hz
		within permitted rates.

		Note: As device can barely do 2 complete refreshes a second
		it only makes sense to adjust this value if only one or two
		tiles get changed and it's not appropriate to expect the application
		to flush its tiny changes explicitly at higher than default rate.


code:
What:		/sys/bus/hid/drivers/prodikeys/.../channel
Date:		April 2010
KernelVersion:	2.6.34
Contact:	Don Prince <dhprince.devel@yahoo.co.uk>
Description:
		Allows control (via software) the midi channel to which
		that the pc-midi keyboard will output.midi data.
		Range: 0..15
		Type:  Read/write
What:		/sys/bus/hid/drivers/prodikeys/.../sustain
Date:		April 2010
KernelVersion:	2.6.34
Contact:	Don Prince <dhprince.devel@yahoo.co.uk>
Description:
		Allows control (via software) the sustain duration of a
		note held by the pc-midi driver.
		0 means sustain mode is disabled.
		Range: 0..5000 (milliseconds)
		Type:  Read/write
What:		/sys/bus/hid/drivers/prodikeys/.../octave
Date:		April 2010
KernelVersion:	2.6.34
Contact:	Don Prince <dhprince.devel@yahoo.co.uk>
Description:
		Controls the octave shift modifier in the pc-midi driver.
		The octave can be shifted via software up/down 2 octaves.
		0 means the no ocatve shift.
		Range: -2..2 (minus 2 to plus 2)
		Type: Read/Write