ABI testing symbols

Documents interfaces that are felt to be stable, as the main development of this interface has been completed.

The interface can be changed to add new features, but the current interface will not break by doing this, unless grave errors or security problems are found in them.

Userspace programs can start to rely on these interfaces, but they must be aware of changes that can occur before these interfaces move to be marked stable.

Programs that use these interfaces are strongly encouraged to add their name to the description of these interfaces, so that the kernel developers can easily notify them if any changes occur.

What:

/config/acpi

Defined on file configfs-acpi

This represents the ACPI subsystem entry point directory. It contains sub-groups corresponding to ACPI configurable options.

What:

/config/acpi/table

Defined on file configfs-acpi

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

aml - a binary attribute that the user can use to

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

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

signature - ASCII table signature length - length of table in bytes, including the header revision - ACPI Specification minor version number oem_id - ASCII OEM identification oem_table_id - ASCII OEM table identification oem_revision - OEM revision number asl_compiler_id - ASCII ASL compiler vendor ID asl_compiler_revision - ASL compiler version

What:

/config/iio

Defined on file configfs-iio

This represents Industrial IO configuration entry point directory. It contains sub-groups corresponding to IIO objects.

What:

/config/iio/devices

Defined on file configfs-iio

Industrial IO software devices directory.

What:

/config/iio/devices/dummy

Defined on file configfs-iio

Dummy IIO devices directory. Creating a directory here will result in creating a dummy IIO device in the IIO subystem.

What:

/config/iio/triggers

Defined on file configfs-iio

Industrial IO software triggers directory.

What:

/config/iio/triggers/hrtimers

Defined on file configfs-iio

High resolution timers directory. Creating a directory here will result in creating a hrtimer trigger in the IIO subsystem.

What:

/config/pcie-gadget

Defined on file configfs-spear-pcie-gadget

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

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

# mount -t configfs none /config/

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

link

used to enable ltssm and read its status.

int_type

used to configure and read type of supported interrupt

no_of_msi

used to configure number of MSI vector needed and to read no of MSI granted.

inta

write 1 to assert INTA and 0 to de-assert.

send_msi

write MSI vector to be sent.

vendor_id

used to write and read vendor id (hex)

device_id

used to write and read device id (hex)

bar0_size

used to write and read bar0_size

bar0_address

used to write and read bar0 mapped area in hex.

bar0_rw_offset

used to write and read offset of bar0 where bar0_data will be written or read.

bar0_data

used to write and read data at bar0_rw_offset.

What:

/config/rdma_cm

Defined on file configfs-rdma_cm

Interface is used to configure RDMA-cable HCAs in respect to RDMA-CM attributes.

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

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

What:

/config/rdma_cm/<hca>/ports/<port-num>/default_roce_mode

Defined on file configfs-rdma_cm

RDMA-CM based connections from HCA <hca> at port <port-num> will be initiated with this RoCE type as default. The possible RoCE types are either “IB/RoCE v1” or “RoCE v2”. This parameter has RW access.

What:

/config/rdma_cm/<hca>/ports/<port-num>/default_roce_tos

Defined on file configfs-rdma_cm

RDMA-CM QPs from HCA <hca> at port <port-num> will be created with this TOS as default. This can be overridden by using the rdma_set_option API. The possible RoCE TOS values are 0-255.

What:

/config/stp-policy

Defined on file configfs-stp-policy

This group contains policies mandating Master/Channel allocation for software sources wishing to send trace data over an STM device.

What:

/config/stp-policy/<device>.<policy>

Defined on file configfs-stp-policy

This group is the root of a policy; its name is a concatenation of an stm device name to which this policy applies and an arbitrary string. If <device> part doesn’t match an existing stm device, mkdir will fail with ENODEV; if that device already has a policy assigned to it, mkdir will fail with EBUSY.

What:

/config/stp-policy/<device>.<policy>/<node>

Defined on file configfs-stp-policy

Policy node is a string identifier that software clients will use to request a master/channel to be allocated and assigned to them.

What:

/config/stp-policy/<device>.<policy>/<node>/channels

Defined on file configfs-stp-policy

Range of channels from which to allocate for users of this node. Write two numbers: the first channel and the last channel number.

What:

/config/stp-policy/<device>.<policy>/<node>/masters

Defined on file configfs-stp-policy

Range of masters from which to allocate for users of this node. Write two numbers: the first master and the last master number.

What:

/config/stp-policy/<device>.<policy>/device

Defined on file configfs-stp-policy

STM device to which this policy applies, read only. Same as the <device> component of its parent directory.

What:

/config/stp-policy/<device>:p_sys-t.<policy>/<node>/clocksync_interval

Defined on file configfs-stp-policy-p_sys-t

Time interval in milliseconds. Send a CLOCKSYNC packet if this many milliseconds have passed since the previous CLOCKSYNC packet from this source. Zero is the default and stands for “never send the CLOCKSYNC”. It makes sense to use this option with sources that generate constant and/or periodic data, like stm_heartbeat.

What:

/config/stp-policy/<device>:p_sys-t.<policy>/<node>/do_len

Defined on file configfs-stp-policy-p_sys-t

Include payload length in the MIPI SyS-T header, boolean. If enabled, the SyS-T protocol encoder will include payload length in each packet’s metadata. This is normally redundant if the underlying transport protocol supports marking message boundaries (which STP does), so this is off by default.

What:

/config/stp-policy/<device>:p_sys-t.<policy>/<node>/ts_interval

Defined on file configfs-stp-policy-p_sys-t

Time interval in milliseconds. Include a timestamp in the MIPI SyS-T packet metadata, if this many milliseconds have passed since the previous packet from this source. Zero is the default and stands for “never send the timestamp”.

What:

/config/stp-policy/<device>:p_sys-t.<policy>/<node>/uuid

Defined on file configfs-stp-policy-p_sys-t

UUID source identifier string, RW. Default value is randomly generated at the mkdir <node> time. Data coming from trace sources that use this <node> will be tagged with this UUID in the MIPI SyS-T packet stream, to allow the decoder to discern between different sources within the same master/channel range, and identify the higher level decoders that may be needed for each source.

What:

/config/usb-gadget

Defined on file configfs-usb-gadget

This group contains sub-groups corresponding to created USB gadgets.

What:

/config/usb-gadget/gadget

Defined on file configfs-usb-gadget

The attributes of a gadget:

UDC

bind a gadget to UDC/unbind a gadget; write UDC’s name found in /sys/class/udc/* to bind a gadget, empty string “” to unbind.

bDeviceClass

USB device class code

bDeviceSubClass

USB device subclass code

bDeviceProtocol

USB device protocol code

bMaxPacketSize0

maximum endpoint 0 packet size

bcdDevice

bcd device release number

bcdUSB

bcd USB specification version number

idProduct

product ID

idVendor

vendor ID

What:

/config/usb-gadget/gadget/configs

Defined on file configfs-usb-gadget

This group contains a USB gadget’s configurations

What:

/config/usb-gadget/gadget/configs/config

Defined on file configfs-usb-gadget

The attributes of a configuration:

bmAttributes

configuration characteristics

MaxPower

maximum power consumption from the bus

What:

/config/usb-gadget/gadget/configs/config/strings

Defined on file configfs-usb-gadget

This group contains subdirectories for language-specific strings for this configuration.

What:

/config/usb-gadget/gadget/configs/config/strings/language

Defined on file configfs-usb-gadget

The attributes:

configuration

configuration description

What:

/config/usb-gadget/gadget/functions

Defined on file configfs-usb-gadget

This group contains functions available to this USB gadget.

What:

/config/usb-gadget/gadget/functions/<func>.<inst>/interface.<n>

Defined on file configfs-usb-gadget

This group contains “Feature Descriptors” specific for one gadget’s USB interface or one interface group described by an IAD.

The attributes:

compatible_id

8-byte string for “Compatible ID”

sub_compatible_id

8-byte string for “Sub Compatible ID”

What:

/config/usb-gadget/gadget/functions/<func>.<inst>/interface.<n>/<property>

Defined on file configfs-usb-gadget

This group contains “Extended Property Descriptors” specific for one gadget’s USB interface or one interface group described by an IAD.

The attributes:

type

value 1..7 for interpreting the data

  • 1: unicode string

  • 2: unicode string with environment variable

  • 3: binary

  • 4: little-endian 32-bit

  • 5: big-endian 32-bit

  • 6: unicode string with a symbolic link

  • 7: multiple unicode strings

data

blob of data to be interpreted depending on type

What:

/config/usb-gadget/gadget/functions/Loopback.name

Defined on file configfs-usb-gadget-loopback

The attributes:

qlen - depth of loopback queue buflen - buffer length

What:

/config/usb-gadget/gadget/functions/SourceSink.name

Defined on file configfs-usb-gadget-sourcesink

The attributes:

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

What:

/config/usb-gadget/gadget/functions/acm.name

Defined on file configfs-usb-gadget-acm

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

What:

/config/usb-gadget/gadget/functions/ecm.name

Defined on file configfs-usb-gadget-ecm

The attributes:

ifname - network device interface name associated with

this function instance

qmult - queue length multiplier for high and

super speed

host_addr - MAC address of host’s end of this

Ethernet over USB link

dev_addr - MAC address of device’s end of this

Ethernet over USB link

What:

/config/usb-gadget/gadget/functions/eem.name

Defined on file configfs-usb-gadget-eem

The attributes:

ifname - network device interface name associated with

this function instance

qmult - queue length multiplier for high and

super speed

host_addr - MAC address of host’s end of this

Ethernet over USB link

dev_addr - MAC address of device’s end of this

Ethernet over USB link

What:

/config/usb-gadget/gadget/functions/ffs.name

Defined on file configfs-usb-gadget-ffs

The purpose of this directory is to create and remove it.

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

All parameters are set through FunctionFS.

What:

/config/usb-gadget/gadget/functions/geth.name

Defined on file configfs-usb-gadget-subset

The attributes:

ifname - network device interface name associated with

this function instance

qmult - queue length multiplier for high and

super speed

host_addr - MAC address of host’s end of this

Ethernet over USB link

dev_addr - MAC address of device’s end of this

Ethernet over USB link

What:

/config/usb-gadget/gadget/functions/gser.name

Defined on file configfs-usb-gadget-serial

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

What:

/config/usb-gadget/gadget/functions/hid.name

Defined on file configfs-usb-gadget-hid

The attributes:

protocol

HID protocol to use

report_desc

blob corresponding to HID report descriptors except the data passed through /dev/hidg<N>

report_length

HID report length

subclass

HID device subclass to use

What:

/config/usb-gadget/gadget/functions/mass_storage.name

Defined on file configfs-usb-gadget-mass-storage

The attributes:

stall - Set to permit function to halt bulk endpoints.

Disabled on some USB devices known not to work correctly. You should set it to true.

num_buffers - Number of pipeline buffers. Valid numbers

are 2..4. Available only if CONFIG_USB_GADGET_DEBUG_FILES is set.

What:

/config/usb-gadget/gadget/functions/mass_storage.name/lun.name

Defined on file configfs-usb-gadget-mass-storage

The attributes:

file - The path to the backing file for the LUN.

Required if LUN is not marked as removable.

ro - Flag specifying access to the LUN shall be

read-only. This is implied if CD-ROM emulation is enabled as well as when it was impossible to open “filename” in R/W mode.

removable - Flag specifying that LUN shall be indicated as

being removable.

cdrom - Flag specifying that LUN shall be reported as

being a CD-ROM.

nofua - Flag specifying that FUA flag

in SCSI WRITE(10,12)

What:

/config/usb-gadget/gadget/functions/midi.name

Defined on file configfs-usb-gadget-midi

The attributes:

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

What:

/config/usb-gadget/gadget/functions/ncm.name

Defined on file configfs-usb-gadget-ncm

The attributes:

ifname - network device interface name associated with

this function instance

qmult - queue length multiplier for high and

super speed

host_addr - MAC address of host’s end of this

Ethernet over USB link

dev_addr - MAC address of device’s end of this

Ethernet over USB link

What:

/config/usb-gadget/gadget/functions/obex.name

Defined on file configfs-usb-gadget-obex

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

What:

/config/usb-gadget/gadget/functions/phonet.name

Defined on file configfs-usb-gadget-phonet

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

What:

/config/usb-gadget/gadget/functions/printer.name

Defined on file configfs-usb-gadget-printer

The attributes:

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

What:

/config/usb-gadget/gadget/functions/rndis.name

Defined on file configfs-usb-gadget-rndis

The attributes:

ifname

network device interface name associated with this function instance

qmult

queue length multiplier for high and super speed

host_addr

MAC address of host’s end of this Ethernet over USB link

dev_addr

MAC address of device’s end of this Ethernet over USB link

class

USB interface class, default is 02 (hex)

subclass

USB interface subclass, default is 06 (hex)

protocol

USB interface protocol, default is 00 (hex)

What:

/config/usb-gadget/gadget/functions/tcm.name

Defined on file configfs-usb-gadget-tcm

There are no attributes because all the configuration is performed in the “target” subsystem of configfs.

What:

/config/usb-gadget/gadget/functions/uac1.name

Defined on file configfs-usb-gadget-uac1

The attributes:

c_chmask

capture channel mask

c_srate

capture sampling rate

c_ssize

capture sample size (bytes)

p_chmask

playback channel mask

p_srate

playback sampling rate

p_ssize

playback sample size (bytes)

req_number

the number of pre-allocated request for both capture and playback

What:

/config/usb-gadget/gadget/functions/uac1_legacy.name

Defined on file configfs-usb-gadget-uac1_legacy

The attributes:

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

What:

/config/usb-gadget/gadget/functions/uac2.name

Defined on file configfs-usb-gadget-uac2

The attributes:

c_chmask - capture channel mask c_srate - capture sampling rate c_ssize - capture sample size (bytes) p_chmask - playback channel mask p_srate - playback sampling rate p_ssize - playback sample size (bytes)

What:

/config/usb-gadget/gadget/functions/uvc.name

Defined on file configfs-usb-gadget-uvc

UVC function directory

streaming_maxburst

0..15 (ss only)

streaming_maxpacket

1..1023 (fs), 1..3072 (hs/ss)

streaming_interval

1..16

What:

/config/usb-gadget/gadget/functions/uvc.name/control

Defined on file configfs-usb-gadget-uvc

Control descriptors

All attributes read only:

bInterfaceNumber

USB interface number for this streaming interface

What:

/config/usb-gadget/gadget/functions/uvc.name/control/class

Defined on file configfs-usb-gadget-uvc

Class descriptors

What:

/config/usb-gadget/gadget/functions/uvc.name/control/class/fs

Defined on file configfs-usb-gadget-uvc

Full speed control class descriptors

What:

/config/usb-gadget/gadget/functions/uvc.name/control/class/ss

Defined on file configfs-usb-gadget-uvc

Super speed control class descriptors

What:

/config/usb-gadget/gadget/functions/uvc.name/control/header

Defined on file configfs-usb-gadget-uvc

Control header descriptors

What:

/config/usb-gadget/gadget/functions/uvc.name/control/header/name

Defined on file configfs-usb-gadget-uvc

Specific control header descriptors

dwClockFrequency bcdUVC

What:

/config/usb-gadget/gadget/functions/uvc.name/control/processing

Defined on file configfs-usb-gadget-uvc

Processing unit descriptors

What:

/config/usb-gadget/gadget/functions/uvc.name/control/processing/default

Defined on file configfs-usb-gadget-uvc

Default processing unit descriptors

All attributes read only:

iProcessing

index of string descriptor

bmControls

bitmap specifying which controls are supported for the video stream

wMaxMultiplier

maximum digital magnification x100

bSourceID

id of the terminal to which this unit is connected

bUnitID

a non-zero id of this unit

What:

/config/usb-gadget/gadget/functions/uvc.name/control/terminal

Defined on file configfs-usb-gadget-uvc

Terminal descriptors

What:

/config/usb-gadget/gadget/functions/uvc.name/control/terminal/camera

Defined on file configfs-usb-gadget-uvc

Camera terminal descriptors

What:

/config/usb-gadget/gadget/functions/uvc.name/control/terminal/camera/default

Defined on file configfs-usb-gadget-uvc

Default camera terminal descriptors

All attributes read only:

bmControls

bitmap specifying which controls are supported for the video stream

wOcularFocalLength

the value of Locular

wObjectiveFocalLengthMax

the value of Lmin

wObjectiveFocalLengthMin

the value of Lmax

iTerminal

index of string descriptor

bAssocTerminal

id of the output terminal to which this terminal is connected

wTerminalType

terminal type

bTerminalID

a non-zero id of this terminal

What:

/config/usb-gadget/gadget/functions/uvc.name/control/terminal/output

Defined on file configfs-usb-gadget-uvc

Output terminal descriptors

What:

/config/usb-gadget/gadget/functions/uvc.name/control/terminal/output/default

Defined on file configfs-usb-gadget-uvc

Default output terminal descriptors

All attributes read only:

iTerminal

index of string descriptor

bSourceID

id of the terminal to which this terminal is connected

bAssocTerminal

id of the input terminal to which this output terminal is associated

wTerminalType

terminal type

bTerminalID

a non-zero id of this terminal

What:

/config/usb-gadget/gadget/functions/uvc.name/streaming

Defined on file configfs-usb-gadget-uvc

Streaming descriptors

All attributes read only:

bInterfaceNumber

USB interface number for this streaming interface

What:

/config/usb-gadget/gadget/functions/uvc.name/streaming/class

Defined on file configfs-usb-gadget-uvc

Streaming class descriptors

What:

/config/usb-gadget/gadget/functions/uvc.name/streaming/class/fs

Defined on file configfs-usb-gadget-uvc

Full speed streaming class descriptors

What:

/config/usb-gadget/gadget/functions/uvc.name/streaming/class/hs

Defined on file configfs-usb-gadget-uvc

High speed streaming class descriptors

What:

/config/usb-gadget/gadget/functions/uvc.name/streaming/class/ss

Defined on file configfs-usb-gadget-uvc

Super speed streaming class descriptors

What:

/config/usb-gadget/gadget/functions/uvc.name/streaming/color_matching

Defined on file configfs-usb-gadget-uvc

Color matching descriptors

What:

/config/usb-gadget/gadget/functions/uvc.name/streaming/color_matching/default

Defined on file configfs-usb-gadget-uvc

Default color matching descriptors

All attributes read only:

bMatrixCoefficients

matrix used to compute luma and chroma values from the color primaries

bTransferCharacteristics

optoelectronic transfer characteristic of the source picutre, also called the gamma function

bColorPrimaries

color primaries and the reference white

What:

/config/usb-gadget/gadget/functions/uvc.name/streaming/header

Defined on file configfs-usb-gadget-uvc

Streaming header descriptors

What:

/config/usb-gadget/gadget/functions/uvc.name/streaming/header/name

Defined on file configfs-usb-gadget-uvc

Specific streaming header descriptors

All attributes read only:

bTriggerUsage

how the host software will respond to a hardware trigger interrupt event

bTriggerSupport

flag specifying if hardware triggering is supported

bStillCaptureMethod

method of still image caputre supported

bTerminalLink

id of the output terminal to which the video endpoint of this interface is connected

bmInfo

capabilities of this video streaming interface

What:

/config/usb-gadget/gadget/functions/uvc.name/streaming/mjpeg

Defined on file configfs-usb-gadget-uvc

MJPEG format descriptors

What:

/config/usb-gadget/gadget/functions/uvc.name/streaming/mjpeg/name

Defined on file configfs-usb-gadget-uvc

Specific MJPEG format descriptors

All attributes read only, except bmaControls and bDefaultFrameIndex:

bFormatIndex

unique id for this format descriptor; only defined after parent header is linked into the streaming class; read-only

bmaControls

this format’s data for bmaControls in the streaming header

bmInterfaceFlags

specifies interlace information, read-only

bAspectRatioY

the X dimension of the picture aspect ratio, read-only

bAspectRatioX

the Y dimension of the picture aspect ratio, read-only

bmFlags

characteristics of this format, read-only

bDefaultFrameIndex

optimum frame index for this stream

What:

/config/usb-gadget/gadget/functions/uvc.name/streaming/mjpeg/name/name

Defined on file configfs-usb-gadget-uvc

Specific MJPEG frame descriptors

bFrameIndex

unique id for this framedescriptor; only defined after parent format is linked into the streaming header; read-only

dwFrameInterval

indicates how frame interval can be programmed; a number of values separated by newline can be specified

dwDefaultFrameInterval

the frame interval the device would like to use as default

dwMaxVideoFrameBufferSize

the maximum number of bytes the compressor will produce for a video frame or still image

dwMaxBitRate

the maximum bit rate at the shortest frame interval in bps

dwMinBitRate

the minimum bit rate at the longest frame interval in bps

wHeight

height of decoded bitmap frame in px

wWidth

width of decoded bitmam frame in px

bmCapabilities

still image support, fixed frame-rate support

What:

/config/usb-gadget/gadget/functions/uvc.name/streaming/uncompressed

Defined on file configfs-usb-gadget-uvc

Uncompressed format descriptors

What:

/config/usb-gadget/gadget/functions/uvc.name/streaming/uncompressed/name

Defined on file configfs-usb-gadget-uvc

Specific uncompressed format descriptors

bFormatIndex

unique id for this format descriptor; only defined after parent header is linked into the streaming class; read-only

bmaControls

this format’s data for bmaControls in the streaming header

bmInterfaceFlags

specifies interlace information, read-only

bAspectRatioY

the X dimension of the picture aspect ratio, read-only

bAspectRatioX

the Y dimension of the picture aspect ratio, read-only

bDefaultFrameIndex

optimum frame index for this stream

bBitsPerPixel

number of bits per pixel used to specify color in the decoded video frame

guidFormat

globally unique id used to identify stream-encoding format

What:

/config/usb-gadget/gadget/functions/uvc.name/streaming/uncompressed/name/name

Defined on file configfs-usb-gadget-uvc

Specific uncompressed frame descriptors

bFrameIndex

unique id for this framedescriptor; only defined after parent format is linked into the streaming header; read-only

dwFrameInterval

indicates how frame interval can be programmed; a number of values separated by newline can be specified

dwDefaultFrameInterval

the frame interval the device would like to use as default

dwMaxVideoFrameBufferSize

the maximum number of bytes the compressor will produce for a video frame or still image

dwMaxBitRate

the maximum bit rate at the shortest frame interval in bps

dwMinBitRate

the minimum bit rate at the longest frame interval in bps

wHeight

height of decoded bitmap frame in px

wWidth

width of decoded bitmam frame in px

bmCapabilities

still image support, fixed frame-rate support

What:

/config/usb-gadget/gadget/os_desc

Defined on file configfs-usb-gadget

This group contains “OS String” extension handling attributes.

use

flag turning “OS Desctiptors” support on/off

b_vendor_code

one-byte value used for custom per-device and per-interface requests

qw_sign

an identifier to be reported as “OS String” proper

What:

/config/usb-gadget/gadget/strings

Defined on file configfs-usb-gadget

This group contains subdirectories for language-specific strings for this gadget.

What:

/config/usb-gadget/gadget/strings/language

Defined on file configfs-usb-gadget

The attributes:

serialnumber

gadget’s serial number (string)

product

gadget’s product description

manufacturer

gadget’s manufacturer description

What:

/dev/gpiochip[0-9]+

Defined on file gpio-cdev

The character device files /dev/gpiochip* are the interface between GPIO chips and userspace.

The ioctl(2)-based ABI is defined and documented in [include/uapi]<linux/gpio.h>.

The following file operations are supported:

open(2) Currently the only useful flags are O_RDWR.

ioctl(2) Initiate various actions. See the inline documentation in [include/uapi]<linux/gpio.h> for descriptions of all ioctls.

close(2) Stops and free up the I/O contexts that was associated with the file descriptor.

What:

/dev/kmsg

Defined on file dev-kmsg

The /dev/kmsg character device node provides userspace access to the kernel’s printk buffer.

Injecting messages:

Every write() to the opened device node places a log entry in the kernel’s printk buffer.

The logged line can be prefixed with a <N> syslog prefix, which carries the syslog priority and facility. The single decimal prefix number is composed of the 3 lowest bits being the syslog priority and the higher bits the syslog facility number.

If no prefix is given, the priority number is the default kernel log priority and the facility number is set to LOG_USER (1). It is not possible to inject messages from userspace with the facility number LOG_KERN (0), to make sure that the origin of the messages can always be reliably determined.

Accessing the buffer:

Every read() from the opened device node receives one record of the kernel’s printk buffer.

The first read() directly following an open() always returns first message in the buffer; there is no kernel-internal persistent state; many readers can concurrently open the device and read from it, without affecting other readers.

Every read() will receive the next available record. If no more records are available read() will block, or if O_NONBLOCK is used -EAGAIN returned.

Messages in the record ring buffer get overwritten as whole, there are never partial messages received by read().

In case messages get overwritten in the circular buffer while the device is kept open, the next read() will return -EPIPE, and the seek position be updated to the next available record. Subsequent reads() will return available records again.

Unlike the classic syslog() interface, the 64 bit record sequence numbers allow to calculate the amount of lost messages, in case the buffer gets overwritten. And they allow to reconnect to the buffer and reconstruct the read position if needed, without limiting the interface to a single reader.

The device supports seek with the following parameters:

SEEK_SET, 0

seek to the first entry in the buffer

SEEK_END, 0

seek after the last entry in the buffer

SEEK_DATA, 0

seek after the last record available at the time the last SYSLOG_ACTION_CLEAR was issued.

The output format consists of a prefix carrying the syslog prefix including priority and facility, the 64 bit message sequence number and the monotonic timestamp in microseconds, and a flag field. All fields are separated by a ‘,’.

Future extensions might add more comma separated values before the terminating ‘;’. Unknown fields and values should be gracefully ignored.

The human readable text string starts directly after the ‘;’ and is terminated by a ‘n’. Untrusted values derived from hardware or other facilities are printed, therefore all non-printable characters and ‘’ itself in the log message are escaped by “x00” C-style hex encoding.

A line starting with ‘ ‘, is a continuation line, adding key/value pairs to the log message, which provide the machine readable context of the message, for reliable processing in userspace.

Example:

7,160,424069,-;pci_root PNP0A03:00: host bridge window [io  0x0000-0x0cf7] (ignored)
 SUBSYSTEM=acpi
 DEVICE=+acpi:PNP0A03:00
6,339,5140900,-;NET: Registered protocol family 10
30,340,5690716,-;udevd[80]: starting version 181

The DEVICE= key uniquely identifies devices the following way:

b12:8

block dev_t

c127:3

char dev_t

n8

netdev ifindex

+sound:card0

subsystem:devname

The flags field carries ‘-‘ by default. A ‘c’ indicates a fragment of a line. All following fragments are flagged with ‘+’. Note, that these hints about continuation lines are not necessarily correct, and the stream could be interleaved with unrelated messages, but merging the lines in the output usually produces better human readable results. A similar logic is used internally when messages are printed to the console, /proc/kmsg or the syslog() syscall.

By default, kernel tries to avoid fragments by concatenating when it can and fragments are rare; however, when extended console support is enabled, the in-kernel concatenation is disabled and /dev/kmsg output will contain more fragments. If the log consumer performs concatenation, the end result should be the same. In the future, the in-kernel concatenation may be removed entirely and /dev/kmsg users are recommended to implement fragment handling.

What:

/dev/rtcX

Defined on file rtc-cdev

The ioctl interface to drivers for real-time clocks (RTCs). Following actions are supported:

  • RTC_RD_TIME, RTC_SET_TIME: Read or set the RTC time. Time format is a Gregorian calendar date and 24 hour wall clock time.

  • RTC_AIE_ON, RTC_AIE_OFF: Enable or disable the alarm interrupt for RTCs that support alarms

  • RTC_ALM_READ, RTC_ALM_SET: Read or set the alarm time for RTCs that support alarms. Can be set upto 24 hours in the future. Requires a separate RTC_AIE_ON call to enable the alarm interrupt. (Prefer to use RTC_WKALM_*)

  • RTC_WKALM_RD, RTC_WKALM_SET: For RTCs that support a more powerful interface, which can issue alarms beyond 24 hours and enable IRQs in the same request.

  • RTC_PIE_ON, RTC_PIE_OFF: Enable or disable the periodic interrupt for RTCs that support periodic interrupts.

  • RTC_UIE_ON, RTC_UIE_OFF: Enable or disable the update interrupt for RTCs that support it.

  • RTC_IRQP_READ, RTC_IRQP_SET: Read or set the frequency for periodic interrupts for RTCs that support periodic interrupts. Requires a separate RTC_PIE_ON call to enable the periodic interrupts.

The ioctl() calls supported by the older /dev/rtc interface are also supported by the newer RTC class framework. However, because the chips and systems are not standardized, some PC/AT functionality might not be provided. And in the same way, some newer features – including those enabled by ACPI – are exposed by the RTC class framework, but can’t be supported by the older driver.

What:

/dev/wmi/dell-smbios

Defined on file dell-smbios-wmi

Perform SMBIOS calls on supported Dell machines. through the Dell ACPI-WMI interface.

IOCTL’s and buffer formats are defined in: <uapi/linux/wmi.h>

1) To perform an SMBIOS call from userspace, you’ll need to first determine the minimum size of the calling interface buffer for your machine. Platforms that contain larger buffers can return larger objects from the system firmware. Commonly this size is either 4k or 32k.

To determine the size of the buffer read() a u64 dword from the WMI character device /dev/wmi/dell-smbios.

2) After you’ve determined the minimum size of the calling interface buffer, you can allocate a structure that represents the structure documented above.

3) In the ‘length’ object store the size of the buffer you determined above and allocated.

4) In this buffer object, prepare as necessary for the SMBIOS call you’re interested in. Typically SMBIOS buffers have “class”, “select”, and “input” defined to values that coincide with the data you are interested in. Documenting class/select/input values is outside of the scope of this documentation. Check with the libsmbios project for further documentation on these values.

  1. Run the call by using ioctl() as described in the header.

  2. The output will be returned in the buffer object.

  3. Be sure to free up your allocated object.

What:

/kvd/

Defined on file devlink-resource-mlxsw

The main database in the Spectrum device is a centralized KVD database used for many of the tables used to configure the chip including L2 FDB, L3 LPM, ECMP and more. The KVD is divided into two sections, the first is hash-based table and the second is a linear access table. The division between the linear and hash-based sections is static and require reload before the changes take effect.

What:

/kvd/hash_double

Defined on file devlink-resource-mlxsw

The hash based section of the KVD is managed by the switch device. Used in case the key is larger than 64 bit.

What:

/kvd/hash_single

Defined on file devlink-resource-mlxsw

The hash based section of the KVD is managed by the switch device. Used in case the key size is smaller or equal to 64bit.

What:

/kvd/linear

Defined on file devlink-resource-mlxsw

The linear section of the KVD is managed by software as a flat memory accessed using an index.

What:

/proc/diskstats

Defined on file procfs-diskstats

The /proc/diskstats file displays the I/O statistics of block devices. Each line contains the following 14 fields:

1

major number

2

minor mumber

3

device name

4

reads completed successfully

5

reads merged

6

sectors read

7

time spent reading (ms)

8

writes completed

9

writes merged

10

sectors written

11

time spent writing (ms)

12

I/Os currently in progress

13

time spent doing I/Os (ms)

14

weighted time spent doing I/Os (ms)

Kernel 4.18+ appends four more fields for discard tracking putting the total at 18:

15

discards completed successfully

16

discards merged

17

sectors discarded

18

time spent discarding

For more details refer to Documentation/admin-guide/iostats.rst

What:

/proc/pid/smaps_rollup

Defined on file procfs-smaps_rollup

This file provides pre-summed memory information for a process. The format is almost identical to /proc/pid/smaps, except instead of an entry for each VMA in a process, smaps_rollup has a single entry (tagged “[rollup]”) for which each field is the sum of the corresponding fields from all the maps in /proc/pid/smaps. Additionally, the fields Pss_Anon, Pss_File and Pss_Shmem are not present in /proc/pid/smaps. These fields represent the sum of the Pss field of each type (anon, file, shmem). For more details, see Documentation/filesystems/proc.txt and the procfs man page.

Typical output looks like this:

00100000-ff709000 —p 00000000 00:00 0 [rollup] Size: 1192 kB KernelPageSize: 4 kB MMUPageSize: 4 kB Rss: 884 kB Pss: 385 kB Pss_Anon: 301 kB Pss_File: 80 kB Pss_Shmem: 4 kB Shared_Clean: 696 kB Shared_Dirty: 0 kB Private_Clean: 120 kB Private_Dirty: 68 kB Referenced: 884 kB Anonymous: 68 kB LazyFree: 0 kB AnonHugePages: 0 kB ShmemPmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 385 kB

What:

/sys/…/<device>/<UUID>/

Defined on file sysfs-bus-vfio-mdev

This directory represents device directory of mediated device. It contains all the attributes related to mediated device.

What:

/sys/…/<device>/<UUID>/mdev_type

Defined on file sysfs-bus-vfio-mdev

This is symbolic link pointing to supported type, <type-id> directory of which this mediated device is created.

What:

/sys/…/<device>/<UUID>/remove

Defined on file sysfs-bus-vfio-mdev

Writing ‘1’ to this file destroys the mediated device. The vendor driver can fail the remove() callback if that device is active and the vendor driver doesn’t support hot unplug. Example:

# echo 1 > /sys/bus/mdev/devices/<UUID>/remove

What:

/sys/…/<device>/mdev_supported_types/

Defined on file sysfs-bus-vfio-mdev

This directory contains list of directories of currently supported mediated device types and their details for <device>. Supported type attributes are defined by the vendor driver who registers with Mediated device framework. Each supported type is a directory whose name is created by adding the device driver string as a prefix to the string provided by the vendor driver.

What:

/sys/…/<device>/mdev_supported_types/<type-id>/

Defined on file sysfs-bus-vfio-mdev

This directory gives details of supported type, like name, description, available_instances, device_api etc. ‘device_api’ and ‘available_instances’ are mandatory attributes to be provided by vendor driver. ‘name’, ‘description’ and other vendor driver specific attributes are optional.

What:

/sys/…/events/illuminance_threshY_falling_value

/sys/…/events/illuminance_threshY_raising_value

Defined on file sysfs-bus-iio-light-lm3533-als

Specifies the value of threshold that the device is comparing against for the events enabled by in_illuminance0_thresh_either_en (0..255), where Y in 0..3.

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

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

What:

/sys/…/events/in_accel_raw_mag_value

/sys/…/events/in_accel_x_raw_mag_rising_value

/sys/…/events/in_accel_y_raw_mag_rising_value

/sys/…/events/in_accel_z_raw_mag_rising_value

Defined on file sysfs-bus-iio

The value to which the magnitude of the channel is compared. If number or direction is not specified, applies to all channels of this type.

What:

/sys/…/events/in_accel_scale

/sys/…/events/in_accel_peak_scale

/sys/…/events/in_anglvel_scale

/sys/…/events/in_magn_scale

/sys/…/events/in_rot_from_north_magnetic_scale

/sys/…/events/in_rot_from_north_true_scale

/sys/…/events/in_voltage_scale

/sys/…/events/in_voltage_supply_scale

/sys/…/events/in_temp_scale

/sys/…/events/in_illuminance_scale

/sys/…/events/in_proximity_scale

Defined on file sysfs-bus-iio

Specifies the conversion factor from the standard units to device specific units used to set the event trigger threshold.

What:

/sys/…/events/in_accel_thresh_rising_high_pass_filter_3db

/sys/…/events/in_anglvel_thresh_rising_high_pass_filter_3db

/sys/…/events/in_magn_thresh_rising_high_pass_filter_3db

Defined on file sysfs-bus-iio

If a high pass filter can be applied to the event generation this property gives its 3db frequency in Hz. A value of zero disables the filter.

What:

/sys/…/events/in_accel_thresh_rising_low_pass_filter_3db

/sys/…/events/in_anglvel_thresh_rising_low_pass_filter_3db

/sys/…/events/in_magn_thresh_rising_low_pass_filter_3db

Defined on file sysfs-bus-iio

If a low pass filter can be applied to the event generation this property gives its 3db frequency in Hz. A value of zero disables the filter.

What:

/sys/…/events/in_accel_thresh_rising_value

/sys/…/events/in_accel_thresh_falling_value

/sys/…/events/in_accel_x_raw_thresh_rising_value

/sys/…/events/in_accel_x_raw_thresh_falling_value

/sys/…/events/in_accel_y_raw_thresh_rising_value

/sys/…/events/in_accel_y_raw_thresh_falling_value

/sys/…/events/in_accel_z_raw_thresh_rising_value

/sys/…/events/in_accel_z_raw_thresh_falling_value

/sys/…/events/in_anglvel_x_raw_thresh_rising_value

/sys/…/events/in_anglvel_x_raw_thresh_falling_value

/sys/…/events/in_anglvel_y_raw_thresh_rising_value

/sys/…/events/in_anglvel_y_raw_thresh_falling_value

/sys/…/events/in_anglvel_z_raw_thresh_rising_value

/sys/…/events/in_anglvel_z_raw_thresh_falling_value

/sys/…/events/in_magn_x_raw_thresh_rising_value

/sys/…/events/in_magn_x_raw_thresh_falling_value

/sys/…/events/in_magn_y_raw_thresh_rising_value

/sys/…/events/in_magn_y_raw_thresh_falling_value

/sys/…/events/in_magn_z_raw_thresh_rising_value

/sys/…/events/in_magn_z_raw_thresh_falling_value

/sys/…/events/in_rot_from_north_magnetic_raw_thresh_rising_value

/sys/…/events/in_rot_from_north_magnetic_raw_thresh_falling_value

/sys/…/events/in_rot_from_north_true_raw_thresh_rising_value

/sys/…/events/in_rot_from_north_true_raw_thresh_falling_value

/sys/…/events/in_rot_from_north_magnetic_tilt_comp_raw_thresh_rising_value

/sys/…/events/in_rot_from_north_magnetic_tilt_comp_raw_thresh_falling_value

/sys/…/events/in_rot_from_north_true_tilt_comp_raw_thresh_rising_value

/sys/…/events/in_rot_from_north_true_tilt_comp_raw_thresh_falling_value

/sys/…/events/in_voltageY_supply_raw_thresh_rising_value

/sys/…/events/in_voltageY_supply_raw_thresh_falling_value

/sys/…/events/in_voltageY_raw_thresh_rising_value

/sys/…/events/in_voltageY_raw_thresh_falling_value

/sys/…/events/in_tempY_raw_thresh_rising_value

/sys/…/events/in_tempY_raw_thresh_falling_value

/sys/…/events/in_illuminance0_thresh_falling_value

/sys/…/events/in_illuminance0_thresh_rising_value

/sys/…/events/in_proximity0_thresh_falling_value

/sys/…/events/in_proximity0_thresh_rising_value

Defined on file sysfs-bus-iio

Specifies the value of threshold that the device is comparing against for the events enabled by <type>Y[_name]_thresh[_rising|falling]_en. If separate attributes exist for the two directions, but direction is not specified for this attribute, then a single threshold value applies to both directions. The raw or input element of the name indicates whether the value is in raw device units or in processed units (as _raw and _input do on sysfs direct channel read attributes).

What:

/sys/…/events/in_accel_x_raw_roc_rising_value

/sys/…/events/in_accel_x_raw_roc_falling_value

/sys/…/events/in_accel_y_raw_roc_rising_value

/sys/…/events/in_accel_y_raw_roc_falling_value

/sys/…/events/in_accel_z_raw_roc_rising_value

/sys/…/events/in_accel_z_raw_roc_falling_value

/sys/…/events/in_anglvel_x_raw_roc_rising_value

/sys/…/events/in_anglvel_x_raw_roc_falling_value

/sys/…/events/in_anglvel_y_raw_roc_rising_value

/sys/…/events/in_anglvel_y_raw_roc_falling_value

/sys/…/events/in_anglvel_z_raw_roc_rising_value

/sys/…/events/in_anglvel_z_raw_roc_falling_value

/sys/…/events/in_magn_x_raw_roc_rising_value

/sys/…/events/in_magn_x_raw_roc_falling_value

/sys/…/events/in_magn_y_raw_roc_rising_value

/sys/…/events/in_magn_y_raw_roc_falling_value

/sys/…/events/in_magn_z_raw_roc_rising_value

/sys/…/events/in_magn_z_raw_roc_falling_value

/sys/…/events/in_rot_from_north_magnetic_raw_roc_rising_value

/sys/…/events/in_rot_from_north_magnetic_raw_roc_falling_value

/sys/…/events/in_rot_from_north_true_raw_roc_rising_value

/sys/…/events/in_rot_from_north_true_raw_roc_falling_value

/sys/…/events/in_rot_from_north_magnetic_tilt_comp_raw_roc_rising_value

/sys/…/events/in_rot_from_north_magnetic_tilt_comp_raw_roc_falling_value

/sys/…/events/in_rot_from_north_true_tilt_comp_raw_roc_rising_value

/sys/…/events/in_rot_from_north_true_tilt_comp_raw_roc_falling_value

/sys/…/events/in_voltageY_supply_raw_roc_rising_value

/sys/…/events/in_voltageY_supply_raw_roc_falling_value

/sys/…/events/in_voltageY_raw_roc_rising_value

/sys/…/events/in_voltageY_raw_roc_falling_value

/sys/…/events/in_tempY_raw_roc_rising_value

/sys/…/events/in_tempY_raw_roc_falling_value

Defined on file sysfs-bus-iio

Specifies the value of rate of change threshold that the device is comparing against for the events enabled by <type>[Y][_name]_roc[_rising|falling]_en. If separate attributes exist for the two directions, but direction is not specified for this attribute, then a single threshold value applies to both directions. The raw or input element of the name indicates whether the value is in raw device units or in processed units (as _raw and _input do on sysfs direct channel read attributes).

What:

/sys/…/events/in_accel_x_thresh_rising_hysteresis

/sys/…/events/in_accel_x_thresh_falling_hysteresis

/sys/…/events/in_accel_x_thresh_either_hysteresis

/sys/…/events/in_accel_y_thresh_rising_hysteresis

/sys/…/events/in_accel_y_thresh_falling_hysteresis

/sys/…/events/in_accel_y_thresh_either_hysteresis

/sys/…/events/in_accel_z_thresh_rising_hysteresis

/sys/…/events/in_accel_z_thresh_falling_hysteresis

/sys/…/events/in_accel_z_thresh_either_hysteresis

/sys/…/events/in_anglvel_x_thresh_rising_hysteresis

/sys/…/events/in_anglvel_x_thresh_falling_hysteresis

/sys/…/events/in_anglvel_x_thresh_either_hysteresis

/sys/…/events/in_anglvel_y_thresh_rising_hysteresis

/sys/…/events/in_anglvel_y_thresh_falling_hysteresis

/sys/…/events/in_anglvel_y_thresh_either_hysteresis

/sys/…/events/in_anglvel_z_thresh_rising_hysteresis

/sys/…/events/in_anglvel_z_thresh_falling_hysteresis

/sys/…/events/in_anglvel_z_thresh_either_hysteresis

/sys/…/events/in_magn_x_thresh_rising_hysteresis

/sys/…/events/in_magn_x_thresh_falling_hysteresis

/sys/…/events/in_magn_x_thresh_either_hysteresis

/sys/…/events/in_magn_y_thresh_rising_hysteresis

/sys/…/events/in_magn_y_thresh_falling_hysteresis

/sys/…/events/in_magn_y_thresh_either_hysteresis

/sys/…/events/in_magn_z_thresh_rising_hysteresis

/sys/…/events/in_magn_z_thresh_falling_hysteresis

/sys/…/events/in_magn_z_thresh_either_hysteresis

/sys/…/events/in_rot_from_north_magnetic_thresh_rising_hysteresis

/sys/…/events/in_rot_from_north_magnetic_thresh_falling_hysteresis

/sys/…/events/in_rot_from_north_magnetic_thresh_either_hysteresis

/sys/…/events/in_rot_from_north_true_thresh_rising_hysteresis

/sys/…/events/in_rot_from_north_true_thresh_falling_hysteresis

/sys/…/events/in_rot_from_north_true_thresh_either_hysteresis

/sys/…/events/in_rot_from_north_magnetic_tilt_comp_thresh_rising_hysteresis

/sys/…/events/in_rot_from_north_magnetic_tilt_comp_thresh_falling_hysteresis

/sys/…/events/in_rot_from_north_magnetic_tilt_comp_thresh_either_hysteresis

/sys/…/events/in_rot_from_north_true_tilt_comp_thresh_rising_hysteresis

/sys/…/events/in_rot_from_north_true_tilt_comp_thresh_falling_hysteresis

/sys/…/events/in_rot_from_north_true_tilt_comp_thresh_either_hysteresis

/sys/…/events/in_voltageY_thresh_rising_hysteresis

/sys/…/events/in_voltageY_thresh_falling_hysteresis

/sys/…/events/in_voltageY_thresh_either_hysteresis

/sys/…/events/in_tempY_thresh_rising_hysteresis

/sys/…/events/in_tempY_thresh_falling_hysteresis

/sys/…/events/in_tempY_thresh_either_hysteresis

/sys/…/events/in_illuminance0_thresh_falling_hysteresis

/sys/…/events/in_illuminance0_thresh_rising_hysteresis

/sys/…/events/in_illuminance0_thresh_either_hysteresis

/sys/…/events/in_proximity0_thresh_falling_hysteresis

/sys/…/events/in_proximity0_thresh_rising_hysteresis

/sys/…/events/in_proximity0_thresh_either_hysteresis

Defined on file sysfs-bus-iio

Specifies the hysteresis of threshold that the device is comparing against for the events enabled by <type>Y[_name]_thresh[_(rising|falling)]_hysteresis. If separate attributes exist for the two directions, but direction is not specified for this attribute, then a single hysteresis value applies to both directions. For falling events the hysteresis is added to the _value attribute for this event to get the upper threshold for when the event goes back to normal, for rising events the hysteresis is subtracted from the _value attribute. E.g. if in_voltage0_raw_thresh_rising_value is set to 1200 and in_voltage0_raw_thresh_rising_hysteresis is set to 50. The event will get activated once in_voltage0_raw goes above 1200 and will become deactivated again once the value falls below 1150.

What:

/sys/…/events/in_accel_x_thresh_rising_period

/sys/…/events/in_accel_x_thresh_falling_period

/sys/…/events/in_accel_x_roc_rising_period

/sys/…/events/in_accel_x_roc_falling_period

/sys/…/events/in_accel_y_thresh_rising_period

/sys/…/events/in_accel_y_thresh_falling_period

/sys/…/events/in_accel_y_roc_rising_period

/sys/…/events/in_accel_y_roc_falling_period

/sys/…/events/in_accel_z_thresh_rising_period

/sys/…/events/in_accel_z_thresh_falling_period

/sys/…/events/in_accel_z_roc_rising_period

/sys/…/events/in_accel_z_roc_falling_period

/sys/…/events/in_anglvel_x_thresh_rising_period

/sys/…/events/in_anglvel_x_thresh_falling_period

/sys/…/events/in_anglvel_x_roc_rising_period

/sys/…/events/in_anglvel_x_roc_falling_period

/sys/…/events/in_anglvel_y_thresh_rising_period

/sys/…/events/in_anglvel_y_thresh_falling_period

/sys/…/events/in_anglvel_y_roc_rising_period

/sys/…/events/in_anglvel_y_roc_falling_period

/sys/…/events/in_anglvel_z_thresh_rising_period

/sys/…/events/in_anglvel_z_thresh_falling_period

/sys/…/events/in_anglvel_z_roc_rising_period

/sys/…/events/in_anglvel_z_roc_falling_period

/sys/…/events/in_magn_x_thresh_rising_period

/sys/…/events/in_magn_x_thresh_falling_period

/sys/…/events/in_magn_x_roc_rising_period

/sys/…/events/in_magn_x_roc_falling_period

/sys/…/events/in_magn_y_thresh_rising_period

/sys/…/events/in_magn_y_thresh_falling_period

/sys/…/events/in_magn_y_roc_rising_period

/sys/…/events/in_magn_y_roc_falling_period

/sys/…/events/in_magn_z_thresh_rising_period

/sys/…/events/in_magn_z_thresh_falling_period

/sys/…/events/in_magn_z_roc_rising_period

/sys/…/events/in_magn_z_roc_falling_period

/sys/…/events/in_rot_from_north_magnetic_thresh_rising_period

/sys/…/events/in_rot_from_north_magnetic_thresh_falling_period

/sys/…/events/in_rot_from_north_magnetic_roc_rising_period

/sys/…/events/in_rot_from_north_magnetic_roc_falling_period

/sys/…/events/in_rot_from_north_true_thresh_rising_period

/sys/…/events/in_rot_from_north_true_thresh_falling_period

/sys/…/events/in_rot_from_north_true_roc_rising_period

/sys/…/events/in_rot_from_north_true_roc_falling_period

/sys/…/events/in_rot_from_north_magnetic_tilt_comp_thresh_rising_period

/sys/…/events/in_rot_from_north_magnetic_tilt_comp_thresh_falling_period

/sys/…/events/in_rot_from_north_magnetic_tilt_comp_roc_rising_period

/sys/…/events/in_rot_from_north_magnetic_tilt_comp_roc_falling_period

/sys/…/events/in_rot_from_north_true_tilt_comp_thresh_rising_period

/sys/…/events/in_rot_from_north_true_tilt_comp_thresh_falling_period

/sys/…/events/in_rot_from_north_true_tilt_comp_roc_rising_period

/sys/…/events/in_rot_from_north_true_tilt_comp_roc_falling_period

/sys/…/events/in_voltageY_supply_thresh_rising_period

/sys/…/events/in_voltageY_supply_thresh_falling_period

/sys/…/events/in_voltageY_supply_roc_rising_period

/sys/…/events/in_voltageY_supply_roc_falling_period

/sys/…/events/in_voltageY_thresh_rising_period

/sys/…/events/in_voltageY_thresh_falling_period

/sys/…/events/in_voltageY_roc_rising_period

/sys/…/events/in_voltageY_roc_falling_period

/sys/…/events/in_tempY_thresh_rising_period

/sys/…/events/in_tempY_thresh_falling_period

/sys/…/events/in_tempY_roc_rising_period

/sys/…/events/in_tempY_roc_falling_period

/sys/…/events/in_accel_x&y&z_mag_falling_period

/sys/…/events/in_intensity0_thresh_period

/sys/…/events/in_proximity0_thresh_period

/sys/…/events/in_activity_still_thresh_rising_period

/sys/…/events/in_activity_still_thresh_falling_period

/sys/…/events/in_activity_walking_thresh_rising_period

/sys/…/events/in_activity_walking_thresh_falling_period

/sys/…/events/in_activity_jogging_thresh_rising_period

/sys/…/events/in_activity_jogging_thresh_falling_period

/sys/…/events/in_activity_running_thresh_rising_period

/sys/…/events/in_activity_running_thresh_falling_period

Defined on file sysfs-bus-iio

Period of time (in seconds) for which the condition must be met before an event is generated. If direction is not specified then this period applies to both directions.

What:

/sys/…/events/in_activity_still_thresh_rising_en

/sys/…/events/in_activity_still_thresh_falling_en

/sys/…/events/in_activity_walking_thresh_rising_en

/sys/…/events/in_activity_walking_thresh_falling_en

/sys/…/events/in_activity_jogging_thresh_rising_en

/sys/…/events/in_activity_jogging_thresh_falling_en

/sys/…/events/in_activity_running_thresh_rising_en

/sys/…/events/in_activity_running_thresh_falling_en

Defined on file sysfs-bus-iio

Enables or disables activitity events. Depending on direction an event is generated when sensor ENTERS or LEAVES a given state.

What:

/sys/…/events/in_activity_still_thresh_rising_value

/sys/…/events/in_activity_still_thresh_falling_value

/sys/…/events/in_activity_walking_thresh_rising_value

/sys/…/events/in_activity_walking_thresh_falling_value

/sys/…/events/in_activity_jogging_thresh_rising_value

/sys/…/events/in_activity_jogging_thresh_falling_value

/sys/…/events/in_activity_running_thresh_rising_value

/sys/…/events/in_activity_running_thresh_falling_value

Defined on file sysfs-bus-iio

Confidence value (in units as percentage) to be used for deciding when an event should be generated. E.g for running: If the confidence value reported by the sensor is greater than in_activity_running_thresh_rising_value then the sensor ENTERS running state. Conversely, if the confidence value reported by the sensor is lower than in_activity_running_thresh_falling_value then the sensor is LEAVING running state.

What:

/sys/…/events/in_illuminance0_threshY_hysteresis

Defined on file sysfs-bus-iio-light-lm3533-als

Get the hysteresis for thresholds Y, that is, threshY_hysteresis = threshY_raising - threshY_falling

What:

/sys/…/events/in_illuminance0_thresh_either_en

Defined on file sysfs-bus-iio-light-lm3533-als

Event generated when channel passes one of the four thresholds in each direction (rising|falling) and a zone change occurs. The corresponding light zone can be read from in_illuminance0_zone.

What:

/sys/…/events/in_steps_change_en

Defined on file sysfs-bus-iio

Event generated when channel passes a threshold on the absolute change in value. E.g. for steps: a step change event is generated each time the user takes N steps, where N is set using in_steps_change_value.

What:

/sys/…/events/in_steps_change_value

Defined on file sysfs-bus-iio

Specifies the value of change threshold that the device is comparing against for the events enabled by <type>[Y][_name]_roc[_rising|falling|]_en. E.g. for steps: if set to 3, a step change event will be generated every 3 steps.

What:

/sys/…/iio:deviceX/events/in_accel_mag_en

/sys/…/iio:deviceX/events/in_accel_mag_rising_en

/sys/…/iio:deviceX/events/in_accel_mag_falling_en

/sys/…/iio:deviceX/events/in_accel_x_mag_en

/sys/…/iio:deviceX/events/in_accel_x_mag_rising_en

/sys/…/iio:deviceX/events/in_accel_x_mag_falling_en

/sys/…/iio:deviceX/events/in_accel_y_mag_en

/sys/…/iio:deviceX/events/in_accel_y_mag_rising_en

/sys/…/iio:deviceX/events/in_accel_y_mag_falling_en

/sys/…/iio:deviceX/events/in_accel_z_mag_en

/sys/…/iio:deviceX/events/in_accel_z_mag_rising_en

/sys/…/iio:deviceX/events/in_accel_z_mag_falling_en

/sys/…/iio:deviceX/events/in_accel_x&y&z_mag_rising_en

/sys/…/iio:deviceX/events/in_accel_x&y&z_mag_falling_en

Defined on file sysfs-bus-iio

Similar to in_accel_x_thresh[_rising|_falling]_en, but here the magnitude of the channel is compared to the threshold, not its signed value.

What:

/sys/…/iio:deviceX/events/in_accel_x_roc_rising_en

/sys/…/iio:deviceX/events/in_accel_x_roc_falling_en

/sys/…/iio:deviceX/events/in_accel_y_roc_rising_en

/sys/…/iio:deviceX/events/in_accel_y_roc_falling_en

/sys/…/iio:deviceX/events/in_accel_z_roc_rising_en

/sys/…/iio:deviceX/events/in_accel_z_roc_falling_en

/sys/…/iio:deviceX/events/in_anglvel_x_roc_rising_en

/sys/…/iio:deviceX/events/in_anglvel_x_roc_falling_en

/sys/…/iio:deviceX/events/in_anglvel_y_roc_rising_en

/sys/…/iio:deviceX/events/in_anglvel_y_roc_falling_en

/sys/…/iio:deviceX/events/in_anglvel_z_roc_rising_en

/sys/…/iio:deviceX/events/in_anglvel_z_roc_falling_en

/sys/…/iio:deviceX/events/in_magn_x_roc_rising_en

/sys/…/iio:deviceX/events/in_magn_x_roc_falling_en

/sys/…/iio:deviceX/events/in_magn_y_roc_rising_en

/sys/…/iio:deviceX/events/in_magn_y_roc_falling_en

/sys/…/iio:deviceX/events/in_magn_z_roc_rising_en

/sys/…/iio:deviceX/events/in_magn_z_roc_falling_en

/sys/…/iio:deviceX/events/in_rot_from_north_magnetic_roc_rising_en

/sys/…/iio:deviceX/events/in_rot_from_north_magnetic_roc_falling_en

/sys/…/iio:deviceX/events/in_rot_from_north_true_roc_rising_en

/sys/…/iio:deviceX/events/in_rot_from_north_true_roc_falling_en

/sys/…/iio:deviceX/events/in_rot_from_north_magnetic_tilt_comp_roc_rising_en

/sys/…/iio:deviceX/events/in_rot_from_north_magnetic_tilt_comp_roc_falling_en

/sys/…/iio:deviceX/events/in_rot_from_north_true_tilt_comp_roc_rising_en

/sys/…/iio:deviceX/events/in_rot_from_north_true_tilt_comp_roc_falling_en

/sys/…/iio:deviceX/events/in_voltageY_supply_roc_rising_en

/sys/…/iio:deviceX/events/in_voltageY_supply_roc_falling_en

/sys/…/iio:deviceX/events/in_voltageY_roc_rising_en

/sys/…/iio:deviceX/events/in_voltageY_roc_falling_en

/sys/…/iio:deviceX/events/in_tempY_roc_rising_en

/sys/…/iio:deviceX/events/in_tempY_roc_falling_en

Defined on file sysfs-bus-iio

Event generated when channel passes a threshold on the rate of change (1st differential) in the specified (_rising|_falling) direction. If the direction is not specified, then either the device will report an event which ever direction a single threshold value is passed in (e.g. <type>[Y][_name]_<raw|input>_roc_value) or <type>[Y][_name]_<raw|input>_roc_rising_value and <type>[Y][_name]_<raw|input>_roc_falling_value may take different values, but the device can only enable both rate of change thresholds or neither. Note the driver will assume the last p events requested are to be enabled where p is however many it supports (which may vary depending on the exact set requested. So if you want to be sure you have set what you think you have, check the contents of these attributes after everything is configured. Drivers may have to buffer any parameters so that they are consistent when a given event type is enabled a future point (and not those for whatever event was previously enabled).

What:

/sys/…/iio:deviceX/events/in_accel_x_thresh_rising_en

/sys/…/iio:deviceX/events/in_accel_x_thresh_falling_en

/sys/…/iio:deviceX/events/in_accel_y_thresh_rising_en

/sys/…/iio:deviceX/events/in_accel_y_thresh_falling_en

/sys/…/iio:deviceX/events/in_accel_z_thresh_rising_en

/sys/…/iio:deviceX/events/in_accel_z_thresh_falling_en

/sys/…/iio:deviceX/events/in_anglvel_x_thresh_rising_en

/sys/…/iio:deviceX/events/in_anglvel_x_thresh_falling_en

/sys/…/iio:deviceX/events/in_anglvel_y_thresh_rising_en

/sys/…/iio:deviceX/events/in_anglvel_y_thresh_falling_en

/sys/…/iio:deviceX/events/in_anglvel_z_thresh_rising_en

/sys/…/iio:deviceX/events/in_anglvel_z_thresh_falling_en

/sys/…/iio:deviceX/events/in_magn_x_thresh_rising_en

/sys/…/iio:deviceX/events/in_magn_x_thresh_falling_en

/sys/…/iio:deviceX/events/in_magn_y_thresh_rising_en

/sys/…/iio:deviceX/events/in_magn_y_thresh_falling_en

/sys/…/iio:deviceX/events/in_magn_z_thresh_rising_en

/sys/…/iio:deviceX/events/in_magn_z_thresh_falling_en

/sys/…/iio:deviceX/events/in_rot_from_north_magnetic_thresh_rising_en

/sys/…/iio:deviceX/events/in_rot_from_north_magnetic_thresh_falling_en

/sys/…/iio:deviceX/events/in_rot_from_north_true_thresh_rising_en

/sys/…/iio:deviceX/events/in_rot_from_north_true_thresh_falling_en

/sys/…/iio:deviceX/events/in_rot_from_north_magnetic_tilt_comp_thresh_rising_en

/sys/…/iio:deviceX/events/in_rot_from_north_magnetic_tilt_comp_thresh_falling_en

/sys/…/iio:deviceX/events/in_rot_from_north_true_tilt_comp_thresh_rising_en

/sys/…/iio:deviceX/events/in_rot_from_north_true_tilt_comp_thresh_falling_en

/sys/…/iio:deviceX/events/in_voltageY_supply_thresh_rising_en

/sys/…/iio:deviceX/events/in_voltageY_supply_thresh_falling_en

/sys/…/iio:deviceX/events/in_voltageY_thresh_rising_en

/sys/…/iio:deviceX/events/in_voltageY_thresh_falling_en

/sys/…/iio:deviceX/events/in_voltageY_thresh_either_en

/sys/…/iio:deviceX/events/in_tempY_thresh_rising_en

/sys/…/iio:deviceX/events/in_tempY_thresh_falling_en

Defined on file sysfs-bus-iio

Event generated when channel passes a threshold in the specified (_rising|_falling) direction. If the direction is not specified, then either the device will report an event which ever direction a single threshold value is passed in (e.g. <type>[Y][_name]_<raw|input>_thresh_value) or <type>[Y][_name]_<raw|input>_thresh_rising_value and <type>[Y][_name]_<raw|input>_thresh_falling_value may take different values, but the device can only enable both thresholds or neither. Note the driver will assume the last p events requested are to be enabled where p is how many it supports (which may vary depending on the exact set requested. So if you want to be sure you have set what you think you have, check the contents of these attributes after everything is configured. Drivers may have to buffer any parameters so that they are consistent when a given event type is enabled at a future point (and not those for whatever event was previously enabled).

What:

/sys/…/iio:deviceX/in_accelX_power_mode

Defined on file sysfs-bus-iio

Specifies the chip power mode. low_noise: reduce noise level from ADC, low_power: enable low current consumption. For a list of available output power modes read in_accel_power_mode_available.

What:

/sys/…/iio:deviceX/in_activity_still_input

/sys/…/iio:deviceX/in_activity_walking_input

/sys/…/iio:deviceX/in_activity_jogging_input

/sys/…/iio:deviceX/in_activity_running_input

Defined on file sysfs-bus-iio

This attribute is used to read the confidence for an activity expressed in units as percentage.

What:

/sys/…/iio:deviceX/in_anglvel_z_quadrature_correction_raw

Defined on file sysfs-bus-iio

This attribute is used to read the amount of quadrature error present in the device at a given time.

What:

/sys/…/iio:deviceX/in_capacitanceY-in_capacitanceZ_raw

Defined on file sysfs-bus-iio

Raw differential capacitance measurement equivalent to channel Y - channel Z where these channel numbers apply to the physically equivalent inputs when non differential readings are separately available. In differential only parts, then all that is required is a consistent labeling. Units after application of scale and offset are nanofarads.

What:

/sys/…/iio:deviceX/in_distance_input

/sys/…/iio:deviceX/in_distance_raw

Defined on file sysfs-bus-iio

This attribute is used to read the measured distance to an object or the distance covered by the user since the last reboot while activated. Units after application of scale are meters.

What:

/sys/…/iio:deviceX/in_energy_en

/sys/…/iio:deviceX/in_distance_en

/sys/…/iio:deviceX/in_velocity_sqrt(x^2+y^2+z^2)_en

/sys/…/iio:deviceX/in_steps_en

Defined on file sysfs-bus-iio

Activates a device feature that runs in firmware/hardware. E.g. for steps: the pedometer saves power while not used; when activated, it will count the steps taken by the user in firmware and export them through in_steps_input.

What:

/sys/…/iio:deviceX/in_energy_input

/sys/…/iio:deviceX/in_energy_raw

Defined on file sysfs-bus-iio

This attribute is used to read the energy value reported by the device (e.g.: human activity sensors report energy burnt by the user). Units after application of scale are Joules.

What:

/sys/…/iio:deviceX/in_illuminance_input

/sys/…/iio:deviceX/in_illuminance_raw

/sys/…/iio:deviceX/in_illuminanceY_input

/sys/…/iio:deviceX/in_illuminanceY_raw

/sys/…/iio:deviceX/in_illuminanceY_mean_raw

/sys/…/iio:deviceX/in_illuminance_ir_raw

/sys/…/iio:deviceX/in_illuminance_clear_raw

Defined on file sysfs-bus-iio

Illuminance measurement, units after application of scale and offset are lux.

What:

/sys/…/iio:deviceX/in_intensityY_raw

/sys/…/iio:deviceX/in_intensityY_ir_raw

/sys/…/iio:deviceX/in_intensityY_both_raw

/sys/…/iio:deviceX/in_intensityY_uv_raw

/sys/…/iio:deviceX/in_intensityY_duv_raw

Defined on file sysfs-bus-iio

Unit-less light intensity. Modifiers both and ir indicate that measurements contain visible and infrared light components or just infrared light, respectively. Modifier uv indicates that measurements contain ultraviolet light components. Modifier duv indicates that measurements contain deep ultraviolet light components.

What:

/sys/…/iio:deviceX/in_intensity_red_integration_time

/sys/…/iio:deviceX/in_intensity_green_integration_time

/sys/…/iio:deviceX/in_intensity_blue_integration_time

/sys/…/iio:deviceX/in_intensity_clear_integration_time

/sys/…/iio:deviceX/in_illuminance_integration_time

Defined on file sysfs-bus-iio

This attribute is used to get/set the integration time in seconds.

What:

/sys/…/iio:deviceX/in_proximity_raw

/sys/…/iio:deviceX/in_proximity_input

/sys/…/iio:deviceX/in_proximityY_raw

Defined on file sysfs-bus-iio

Proximity measurement indicating that some object is near the sensor, usually by observing reflectivity of infrared or ultrasound emitted. Often these sensors are unit less and as such conversion to SI units is not possible. Higher proximity measurements indicate closer objects, and vice versa. Units after application of scale and offset are meters.

What:

/sys/…/iio:deviceX/in_steps_debounce_count

Defined on file sysfs-bus-iio

Specifies the number of steps that must occur within in_steps_filter_debounce_time for the pedometer to decide the consumer is making steps.

What:

/sys/…/iio:deviceX/in_steps_debounce_time

Defined on file sysfs-bus-iio

Specifies number of seconds in which we compute the steps that occur in order to decide if the consumer is making steps.

What:

/sys/…/iio:deviceX/in_steps_input

Defined on file sysfs-bus-iio

This attribute is used to read the number of steps taken by the user since the last reboot while activated.

What:

/sys/…/iio:deviceX/in_uvindex_input

Defined on file sysfs-bus-iio

UV light intensity index measuring the human skin’s response to different wavelength of sunlight weighted according to the standardised CIE Erythemal Action Spectrum. UV index values range from 0 (low) to >=11 (extreme).

What:

/sys/…/iio:deviceX/in_velocity_sqrt(x^2+y^2+z^2)_input

/sys/…/iio:deviceX/in_velocity_sqrt(x^2+y^2+z^2)_raw

Defined on file sysfs-bus-iio

This attribute is used to read the current speed value of the user (which is the norm or magnitude of the velocity vector). Units after application of scale are m/s.

What:

/sys/…/iio:deviceX/in_velocity_sqrt(x^2+y^2+z^2)_integration_time

Defined on file sysfs-bus-iio

Number of seconds in which to compute speed.

What:

/sys/…/iio:deviceX/out_voltageY_powerdown_mode_available

/sys/…/iio:deviceX/out_voltage_powerdown_mode_available

/sys/…/iio:deviceX/out_altvoltageY_powerdown_mode_available

/sys/…/iio:deviceX/out_altvoltage_powerdown_mode_available

Defined on file sysfs-bus-iio

Lists all available output power down modes. If Y is not present the mode is shared across all outputs.

What:

/sys/…/iio:deviceX/scan_elements/in_accel_type

/sys/…/iio:deviceX/scan_elements/in_anglvel_type

/sys/…/iio:deviceX/scan_elements/in_magn_type

/sys/…/iio:deviceX/scan_elements/in_incli_type

/sys/…/iio:deviceX/scan_elements/in_voltageY_type

/sys/…/iio:deviceX/scan_elements/in_voltage_type

/sys/…/iio:deviceX/scan_elements/in_voltageY_supply_type

/sys/…/iio:deviceX/scan_elements/in_voltageY_i_type

/sys/…/iio:deviceX/scan_elements/in_voltageY_q_type

/sys/…/iio:deviceX/scan_elements/in_voltage_i_type

/sys/…/iio:deviceX/scan_elements/in_voltage_q_type

/sys/…/iio:deviceX/scan_elements/in_timestamp_type

/sys/…/iio:deviceX/scan_elements/in_pressureY_type

/sys/…/iio:deviceX/scan_elements/in_pressure_type

/sys/…/iio:deviceX/scan_elements/in_rot_quaternion_type

/sys/…/iio:deviceX/scan_elements/in_proximity_type

Defined on file sysfs-bus-iio

Description of the scan element data storage within the buffer and hence the form in which it is read from user-space. Form is [be|le]:[s|u]bits/storagebits[>>shift]. be or le specifies big or little endian. s or u specifies if signed (2’s complement) or unsigned. bits is the number of bits of data and storagebits is the space (after padding) that it occupies in the buffer. shift if specified, is the shift that needs to be applied prior to masking out unused bits. Some devices put their data in the middle of the transferred elements with additional information on both sides. Note that some devices will have additional information in the unused bits so to get a clean value, the bits value must be used to mask the buffer output value appropriately. The storagebits value also specifies the data alignment. So s48/64>>2 will be a signed 48 bit integer stored in a 64 bit location aligned to a 64 bit boundary. To obtain the clean value, shift right 2 and apply a mask to zero the top 16 bits of the result. For other storage combinations this attribute will be extended appropriately.

What:

/sys/…/iio:deviceX/scan_elements/in_accel_type_available

Defined on file sysfs-bus-iio

If the type parameter can take one of a small set of values, this attribute lists them.

What:

/sys/…/iio:deviceX/scan_elements/in_accel_x_en

/sys/…/iio:deviceX/scan_elements/in_accel_y_en

/sys/…/iio:deviceX/scan_elements/in_accel_z_en

/sys/…/iio:deviceX/scan_elements/in_anglvel_x_en

/sys/…/iio:deviceX/scan_elements/in_anglvel_y_en

/sys/…/iio:deviceX/scan_elements/in_anglvel_z_en

/sys/…/iio:deviceX/scan_elements/in_magn_x_en

/sys/…/iio:deviceX/scan_elements/in_magn_y_en

/sys/…/iio:deviceX/scan_elements/in_magn_z_en

/sys/…/iio:deviceX/scan_elements/in_rot_from_north_magnetic_en

/sys/…/iio:deviceX/scan_elements/in_rot_from_north_true_en

/sys/…/iio:deviceX/scan_elements/in_rot_from_north_magnetic_tilt_comp_en

/sys/…/iio:deviceX/scan_elements/in_rot_from_north_true_tilt_comp_en

/sys/…/iio:deviceX/scan_elements/in_timestamp_en

/sys/…/iio:deviceX/scan_elements/in_voltageY_supply_en

/sys/…/iio:deviceX/scan_elements/in_voltageY_en

/sys/…/iio:deviceX/scan_elements/in_voltageY-voltageZ_en

/sys/…/iio:deviceX/scan_elements/in_voltageY_i_en

/sys/…/iio:deviceX/scan_elements/in_voltageY_q_en

/sys/…/iio:deviceX/scan_elements/in_voltage_i_en

/sys/…/iio:deviceX/scan_elements/in_voltage_q_en

/sys/…/iio:deviceX/scan_elements/in_incli_x_en

/sys/…/iio:deviceX/scan_elements/in_incli_y_en

/sys/…/iio:deviceX/scan_elements/in_pressureY_en

/sys/…/iio:deviceX/scan_elements/in_pressure_en

/sys/…/iio:deviceX/scan_elements/in_rot_quaternion_en

/sys/…/iio:deviceX/scan_elements/in_proximity_en

Defined on file sysfs-bus-iio

Scan element control for triggered data capture.

What:

/sys/…/iio:deviceX/scan_elements/in_voltageY_index

/sys/…/iio:deviceX/scan_elements/in_voltageY_supply_index

/sys/…/iio:deviceX/scan_elements/in_voltageY_i_index

/sys/…/iio:deviceX/scan_elements/in_voltageY_q_index

/sys/…/iio:deviceX/scan_elements/in_voltage_i_index

/sys/…/iio:deviceX/scan_elements/in_voltage_q_index

/sys/…/iio:deviceX/scan_elements/in_accel_x_index

/sys/…/iio:deviceX/scan_elements/in_accel_y_index

/sys/…/iio:deviceX/scan_elements/in_accel_z_index

/sys/…/iio:deviceX/scan_elements/in_anglvel_x_index

/sys/…/iio:deviceX/scan_elements/in_anglvel_y_index

/sys/…/iio:deviceX/scan_elements/in_anglvel_z_index

/sys/…/iio:deviceX/scan_elements/in_magn_x_index

/sys/…/iio:deviceX/scan_elements/in_magn_y_index

/sys/…/iio:deviceX/scan_elements/in_magn_z_index

/sys/…/iio:deviceX/scan_elements/in_rot_from_north_magnetic_index

/sys/…/iio:deviceX/scan_elements/in_rot_from_north_true_index

/sys/…/iio:deviceX/scan_elements/in_rot_from_north_magnetic_tilt_comp_index

/sys/…/iio:deviceX/scan_elements/in_rot_from_north_true_tilt_comp_index

/sys/…/iio:deviceX/scan_elements/in_incli_x_index

/sys/…/iio:deviceX/scan_elements/in_incli_y_index

/sys/…/iio:deviceX/scan_elements/in_timestamp_index

/sys/…/iio:deviceX/scan_elements/in_pressureY_index

/sys/…/iio:deviceX/scan_elements/in_pressure_index

/sys/…/iio:deviceX/scan_elements/in_rot_quaternion_index

/sys/…/iio:deviceX/scan_elements/in_proximity_index

Defined on file sysfs-bus-iio

A single positive integer specifying the position of this scan element in the buffer. Note these are not dependent on what is enabled and may not be contiguous. Thus for user-space to establish the full layout these must be used in conjunction with all _en attributes to establish which channels are present, and the relevant _type attributes to establish the data storage format.

What:

/sys/…/in_accel_filter_high_pass_3db_frequency

/sys/…/in_anglvel_filter_high_pass_3db_frequency

/sys/…/in_magn_filter_high_pass_3db_frequency

Defined on file sysfs-bus-iio

If a known or controllable high pass filter is applied to the underlying data channel, then this parameter gives the 3dB frequency of the filter in Hz.

What:

/sys/…/in_accel_filter_low_pass_3db_frequency

/sys/…/in_magn_filter_low_pass_3db_frequency

/sys/…/in_anglvel_filter_low_pass_3db_frequency

Defined on file sysfs-bus-iio

If a known or controllable low pass filter is applied to the underlying data channel, then this parameter gives the 3dB frequency of the filter in Hz.

What:

/sys/…/mdev_supported_types/<type-id>/available_instances

Defined on file sysfs-bus-vfio-mdev

Reading this attribute will show the number of mediated devices of type <type-id> that can be created. This is a readonly file.

What:

/sys/…/mdev_supported_types/<type-id>/create

Defined on file sysfs-bus-vfio-mdev

Writing UUID to this file will create mediated device of type <type-id> for parent device <device>. This is a write-only file. For example:

# echo "83b8f4f2-509f-382f-3c1e-e6bfe0fa1001" >       \
     /sys/devices/foo/mdev_supported_types/foo-1/create

What:

/sys/…/mdev_supported_types/<type-id>/description

Defined on file sysfs-bus-vfio-mdev

Reading this attribute will show description of the type of mediated device that will get created of type <type-id>. This is optional attribute. For example: “2 heads, 512M FB, 2560x1600 maximum resolution”

What:

/sys/…/mdev_supported_types/<type-id>/device_api

Defined on file sysfs-bus-vfio-mdev

Reading this attribute will show VFIO device API supported by this type. For example, “vfio-pci” for a PCI device, “vfio-platform” for platform device.

What:

/sys/…/mdev_supported_types/<type-id>/devices/

Defined on file sysfs-bus-vfio-mdev

This directory contains symbolic links pointing to mdev devices sysfs entries which are created of this <type-id>.

What:

/sys/…/mdev_supported_types/<type-id>/name

Defined on file sysfs-bus-vfio-mdev

Reading this attribute will show human readable name of the mediated device that will get created of type <type-id>. This is optional attribute. For example: “Grid M60-0Q”

What:

/sys/…/uevent

Defined on file sysfs-uevent

Enable passing additional variables for synthetic uevents that are generated by writing /sys/…/uevent file.

Recognized extended format is ACTION [UUID [KEY=VALUE …].

The ACTION is compulsory - it is the name of the uevent action (“add”, “change”, “remove”). There is no change compared to previous functionality here. The rest of the extended format is optional.

You need to pass UUID first before any KEY=VALUE pairs. The UUID must be in “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” format where ‘x’ is a hex digit. The UUID is considered to be a transaction identifier so it’s possible to use the same UUID value for one or more synthetic uevents in which case we logically group these uevents together for any userspace listeners. The UUID value appears in uevent as:

“SYNTH_UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” environment variable.

If UUID is not passed in, the generated synthetic uevent gains “SYNTH_UUID=0” environment variable automatically.

The KEY=VALUE pairs can contain alphanumeric characters only. It’s possible to define zero or more pairs - each pair is then delimited by a space character ‘ ‘. Each pair appears in synthetic uevent as “SYNTH_ARG_KEY=VALUE”. That means the KEY name gains SYNTH_ARG_ prefix to avoid possible collisions with existing variables.

Example of valid sequence written to the uevent file:

add fe4d7c9d-b8c6-4a70-9ef1-3d8a58d18eed A=1 B=abc

This generates synthetic uevent including these variables:

ACTION=add
SYNTH_ARG_A=1
SYNTH_ARG_B=abc
SYNTH_UUID=fe4d7c9d-b8c6-4a70-9ef1-3d8a58d18eed

What:

/sys/block/*/device/ncq_prio_enable

Defined on file sysfs-block-device

(RW) Write to the file to turn on or off the SATA ncq (native command queueing) support. By default this feature is turned off.

What:

/sys/block/*/device/sw_activity

Defined on file sysfs-block-device

(RW) Used by drivers which support software controlled activity LEDs.

It has the following valid values:

0

OFF - the LED is not activated on activity

1

BLINK_ON - the LED blinks on every 10ms when activity is detected.

2

BLINK_OFF - the LED is on when idle, and blinks off every 10ms when activity is detected.

Note that the user must turn sw_activity OFF it they wish to control the activity LED via the em_message file.

What:

/sys/block/*/device/unload_heads

Defined on file sysfs-block-device

(RW) Hard disk shock protection

Writing an integer value to this file will take the heads of the respective drive off the platter and block all I/O operations for the specified number of milliseconds.

  • If the device does not support the unload heads feature, access is denied with -EOPNOTSUPP.

  • The maximal value accepted for a timeout is 30000 milliseconds.

  • A previously set timeout can be cancelled and disk can resume normal operation immediately by specifying a timeout of 0.

  • Some hard drives only comply with an earlier version of the ATA standard, but support the unload feature nonetheless. There is no safe way Linux can detect these devices, so this is not enabled by default. If it is known that your device does support the unload feature, then you can tell the kernel to enable it by writing -1. It can be disabled again by writing -2.

  • Values below -2 are rejected with -EINVAL

For more information, see Documentation/admin-guide/laptops/disk-shock-protection.rst

What:

/sys/block/<device>/iosched/target_latency

Defined on file sysfs-cfq-target-latency

The /sys/block/<device>/iosched/target_latency only exists when the user sets cfq to /sys/block/<device>/scheduler. It contains an estimated latency time for the cfq. cfq will use it to calculate the time slice used for every task.

What:

/sys/block/<disk>/<part>/stat

Defined on file sysfs-block

The /sys/block/<disk>/<part>/stat files display the I/O statistics of partition <part>. The format is the same as the above-written /sys/block/<disk>/stat format.

What:

/sys/block/<disk>/<partition>/alignment_offset

Defined on file sysfs-block

Storage devices may report a physical block size that is bigger than the logical block size (for instance a drive with 4KB physical sectors exposing 512-byte logical blocks to the operating system). This parameter indicates how many bytes the beginning of the partition is offset from the disk’s natural alignment.

What:

/sys/block/<disk>/<partition>/discard_alignment

Defined on file sysfs-block

Devices that support discard functionality may internally allocate space in units that are bigger than the exported logical block size. The discard_alignment parameter indicates how many bytes the beginning of the partition is offset from the internal allocation unit’s natural alignment.

What:

/sys/block/<disk>/alignment_offset

Defined on file sysfs-block

Storage devices may report a physical block size that is bigger than the logical block size (for instance a drive with 4KB physical sectors exposing 512-byte logical blocks to the operating system). This parameter indicates how many bytes the beginning of the device is offset from the disk’s natural alignment.

What:

/sys/block/<disk>/bcache/btree_cache_size

Defined on file sysfs-block-bcache

Number of btree buckets/nodes that are currently cached in memory; cache dynamically grows and shrinks in response to memory pressure from the rest of the system.

What:

/sys/block/<disk>/bcache/btree_written

Defined on file sysfs-block-bcache

For a cache, sum of all btree writes in human readable units.

What:

/sys/block/<disk>/bcache/bucket_size

Defined on file sysfs-block-bcache

For a cache, bucket size in human readable units, as set at cache creation time; should match the erase block size of the SSD for optimal performance.

What:

/sys/block/<disk>/bcache/bypassed

Defined on file sysfs-block-bcache

Sum of all reads and writes that have bypassed the cache (due to the sequential cutoff). Expressed as bytes in human readable units.

What:

/sys/block/<disk>/bcache/cache

Defined on file sysfs-block-bcache

For a backing device that has cache, a symlink to the bcache/ dir of that cache.

What:

/sys/block/<disk>/bcache/cache_hit_ratio

Defined on file sysfs-block-bcache

For backing devices: cache hits as a percentage.

What:

/sys/block/<disk>/bcache/cache_hits

Defined on file sysfs-block-bcache

For backing devices: integer number of full cache hits, counted per bio. A partial cache hit counts as a miss.

What:

/sys/block/<disk>/bcache/cache_misses

Defined on file sysfs-block-bcache

For backing devices: integer number of cache misses.

What:

/sys/block/<disk>/bcache/clear_stats

Defined on file sysfs-block-bcache

Writing to this file resets all the statistics for the device.

What:

/sys/block/<disk>/bcache/discard

Defined on file sysfs-block-bcache

For a cache, a boolean allowing discard/TRIM to be turned off or back on if the device supports it.

What:

/sys/block/<disk>/bcache/nbuckets

Defined on file sysfs-block-bcache

For a cache, the number of usable buckets.

What:

/sys/block/<disk>/bcache/sequential_cutoff

Defined on file sysfs-block-bcache

For backing devices: Threshold past which sequential IO will skip the cache. Read and written as bytes in human readable units (i.e. echo 10M > sequntial_cutoff).

What:

/sys/block/<disk>/bcache/synchronous

Defined on file sysfs-block-bcache

For a cache, a boolean that allows synchronous mode to be switched on and off. In synchronous mode all writes are ordered such that the cache can reliably recover from unclean shutdown; if disabled bcache will not generally wait for writes to complete but if the cache is not shut down cleanly all data will be discarded from the cache. Should not be turned off with writeback caching enabled.

What:

/sys/block/<disk>/bcache/tree_depth

Defined on file sysfs-block-bcache

For a cache, height of the btree excluding leaf nodes (i.e. a one node tree will have a depth of 0).

What:

/sys/block/<disk>/bcache/unregister

Defined on file sysfs-block-bcache

A write to this file causes the backing device or cache to be unregistered. If a backing device had dirty data in the cache, writeback mode is automatically disabled and all dirty data is flushed before the device is unregistered. Caches unregister all associated backing devices before unregistering themselves.

What:

/sys/block/<disk>/bcache/writeback

Defined on file sysfs-block-bcache

For backing devices: When on, writeback caching is enabled and writes will be buffered in the cache. When off, caching is in writethrough mode; reads and writes will be added to the cache but no write buffering will take place.

What:

/sys/block/<disk>/bcache/writeback_delay

Defined on file sysfs-block-bcache

For backing devices: In writeback mode, when dirty data is written to the cache and the cache held no dirty data for that backing device, writeback from cache to backing device starts after this delay, expressed as an integer number of seconds.

What:

/sys/block/<disk>/bcache/writeback_percent

Defined on file sysfs-block-bcache

For backing devices: If nonzero, writeback from cache to backing device only takes place when more than this percentage of the cache is used, allowing more write coalescing to take place and reducing total number of writes sent to the backing device. Integer between 0 and 40.

What:

/sys/block/<disk>/bcache/writeback_running

Defined on file sysfs-block-bcache

For backing devices: when off, dirty data will not be written from the cache to the backing device. The cache will still be used to buffer writes until it is mostly full, at which point writes transparently revert to writethrough mode. Intended only for benchmarking/testing.

What:

/sys/block/<disk>/bcache/written

Defined on file sysfs-block-bcache

For a cache, total amount of data in human readable units written to the cache, excluding all metadata.

What:

/sys/block/<disk>/discard_alignment

Defined on file sysfs-block

Devices that support discard functionality may internally allocate space in units that are bigger than the exported logical block size. The discard_alignment parameter indicates how many bytes the beginning of the device is offset from the internal allocation unit’s natural alignment.

What:

/sys/block/<disk>/integrity/device_is_integrity_capable

Defined on file sysfs-block

Indicates whether a storage device is capable of storing integrity metadata. Set if the device is T10 PI-capable.

What:

/sys/block/<disk>/integrity/format

Defined on file sysfs-block

Metadata format for integrity capable block device. E.g. T10-DIF-TYPE1-CRC.

What:

/sys/block/<disk>/integrity/protection_interval_bytes

Defined on file sysfs-block

Describes the number of data bytes which are protected by one integrity tuple. Typically the device’s logical block size.

What:

/sys/block/<disk>/integrity/read_verify

Defined on file sysfs-block

Indicates whether the block layer should verify the integrity of read requests serviced by devices that support sending integrity metadata.

What:

/sys/block/<disk>/integrity/tag_size

Defined on file sysfs-block

Number of bytes of integrity tag space available per 512 bytes of data.

What:

/sys/block/<disk>/integrity/write_generate

Defined on file sysfs-block

Indicates whether the block layer should automatically generate checksums for write requests bound for devices that support receiving integrity metadata.

What:

/sys/block/<disk>/queue/chunk_sectors

Defined on file sysfs-block

chunk_sectors has different meaning depending on the type of the disk. For a RAID device (dm-raid), chunk_sectors indicates the size in 512B sectors of the RAID volume stripe segment. For a zoned block device, either host-aware or host-managed, chunk_sectors indicates the size in 512B sectors of the zones of the device, with the eventual exception of the last zone of the device which may be smaller.

What:

/sys/block/<disk>/queue/discard_granularity

Defined on file sysfs-block

Devices that support discard functionality may internally allocate space using units that are bigger than the logical block size. The discard_granularity parameter indicates the size of the internal allocation unit in bytes if reported by the device. Otherwise the discard_granularity will be set to match the device’s physical block size. A discard_granularity of 0 means that the device does not support discard functionality.

What:

/sys/block/<disk>/queue/discard_max_bytes

Defined on file sysfs-block

Devices that support discard functionality may have internal limits on the number of bytes that can be trimmed or unmapped in a single operation. Some storage protocols also have inherent limits on the number of blocks that can be described in a single command. The discard_max_bytes parameter is set by the device driver to the maximum number of bytes that can be discarded in a single operation. Discard requests issued to the device must not exceed this limit. A discard_max_bytes value of 0 means that the device does not support discard functionality.

What:

/sys/block/<disk>/queue/discard_zeroes_data

Defined on file sysfs-block

Will always return 0. Don’t rely on any specific behavior for discards, and don’t read this file.

What:

/sys/block/<disk>/queue/io_timeout

Defined on file sysfs-block

io_timeout is the request timeout in milliseconds. If a request does not complete in this time then the block driver timeout handler is invoked. That timeout handler can decide to retry the request, to fail it or to start a device recovery strategy.

What:

/sys/block/<disk>/queue/logical_block_size

Defined on file sysfs-block

This is the smallest unit the storage device can address. It is typically 512 bytes.

What:

/sys/block/<disk>/queue/minimum_io_size

Defined on file sysfs-block

Storage devices may report a granularity or preferred minimum I/O size which is the smallest request the device can perform without incurring a performance penalty. For disk drives this is often the physical block size. For RAID arrays it is often the stripe chunk size. A properly aligned multiple of minimum_io_size is the preferred request size for workloads where a high number of I/O operations is desired.

What:

/sys/block/<disk>/queue/nomerges

Defined on file sysfs-block

Standard I/O elevator operations include attempts to merge contiguous I/Os. For known random I/O loads these attempts will always fail and result in extra cycles being spent in the kernel. This allows one to turn off this behavior on one of two ways: When set to 1, complex merge checks are disabled, but the simple one-shot merges with the previous I/O request are enabled. When set to 2, all merge tries are disabled. The default value is 0 - which enables all types of merge tries.

What:

/sys/block/<disk>/queue/nr_zones

Defined on file sysfs-block

nr_zones indicates the total number of zones of a zoned block device (“host-aware” or “host-managed” zone model). For regular block devices, the value is always 0.

What:

/sys/block/<disk>/queue/optimal_io_size

Defined on file sysfs-block

Storage devices may report an optimal I/O size, which is the device’s preferred unit for sustained I/O. This is rarely reported for disk drives. For RAID arrays it is usually the stripe width or the internal track size. A properly aligned multiple of optimal_io_size is the preferred request size for workloads where sustained throughput is desired. If no optimal I/O size is reported this file contains 0.

What:

/sys/block/<disk>/queue/physical_block_size

Defined on file sysfs-block

This is the smallest unit a physical storage device can write atomically. It is usually the same as the logical block size but may be bigger. One example is SATA drives with 4KB sectors that expose a 512-byte logical block size to the operating system. For stacked block devices the physical_block_size variable contains the maximum physical_block_size of the component devices.

What:

/sys/block/<disk>/queue/write_same_max_bytes

Defined on file sysfs-block

Some devices support a write same operation in which a single data block can be written to a range of several contiguous blocks on storage. This can be used to wipe areas on disk or to initialize drives in a RAID configuration. write_same_max_bytes indicates how many bytes can be written in a single write same command. If write_same_max_bytes is 0, write same is not supported by the device.

What:

/sys/block/<disk>/queue/write_zeroes_max_bytes

Defined on file sysfs-block

Devices that support write zeroes operation in which a single request can be issued to zero out the range of contiguous blocks on storage without having any payload in the request. This can be used to optimize writing zeroes to the devices. write_zeroes_max_bytes indicates how many bytes can be written in a single write zeroes command. If write_zeroes_max_bytes is 0, write zeroes is not supported by the device.

What:

/sys/block/<disk>/queue/zoned

Defined on file sysfs-block

zoned indicates if the device is a zoned block device and the zone model of the device if it is indeed zoned. The possible values indicated by zoned are “none” for regular block devices and “host-aware” or “host-managed” for zoned block devices. The characteristics of host-aware and host-managed zoned block devices are described in the ZBC (Zoned Block Commands) and ZAC (Zoned Device ATA Command Set) standards. These standards also define the “drive-managed” zone model. However, since drive-managed zoned block devices do not support zone commands, they will be treated as regular block devices and zoned will report “none”.

What:

/sys/block/<disk>/stat

Defined on file sysfs-block

The /sys/block/<disk>/stat files displays the I/O statistics of disk <disk>. They contain 11 fields:

1

reads completed successfully

2

reads merged

3

sectors read

4

time spent reading (ms)

5

writes completed

6

writes merged

7

sectors written

8

time spent writing (ms)

9

I/Os currently in progress

10

time spent doing I/Os (ms)

11

weighted time spent doing I/Os (ms)

For more details refer Documentation/admin-guide/iostats.rst

What:

/sys/block/dm-<num>/dm/name

Defined on file sysfs-block-dm

Device-mapper device name. Read-only string containing mapped device name.

What:

/sys/block/dm-<num>/dm/rq_based_seq_io_merge_deadline

Defined on file sysfs-block-dm

Allow control over how long a request that is a reasonable merge candidate can be queued on the request queue. The resolution of this deadline is in microseconds (ranging from 1 to 100000 usecs). Setting this attribute to 0 (the default) will disable request-based DM’s merge heuristic and associated extra accounting. This attribute is not applicable to bio-based DM devices so it will only ever report 0 for them.

What:

/sys/block/dm-<num>/dm/suspended

Defined on file sysfs-block-dm

Device-mapper device suspend state. Contains the value 1 while the device is suspended. Otherwise it contains 0. Read-only attribute.

What:

/sys/block/dm-<num>/dm/use_blk_mq

Defined on file sysfs-block-dm

Request-based Device-mapper blk-mq I/O path mode. Contains the value 1 if the device is using blk-mq. Otherwise it contains 0. Read-only attribute.

What:

/sys/block/dm-<num>/dm/uuid

Defined on file sysfs-block-dm

Device-mapper device UUID. Read-only string containing DM-UUID or empty string if DM-UUID is not set.

What:

/sys/block/etherd*/firmware-version

Defined on file sysfs-block-aoe

(RO) Version of the firmware in the target.

What:

/sys/block/etherd*/mac

Defined on file sysfs-block-aoe

(RO) The ethernet address of the remote Ata over Ethernet (AoE) device.

What:

/sys/block/etherd*/netif

Defined on file sysfs-block-aoe

(RO) The names of the network interfaces on the localhost (comma separated) through which we are communicating with the remote AoE device.

What:

/sys/block/etherd*/payload

Defined on file sysfs-block-aoe

(RO) The amount of user data transferred (in bytes) inside each AoE command on the network, network headers excluded.

What:

/sys/block/etherd*/state

Defined on file sysfs-block-aoe

(RO) Device status. The state attribute is “up” when the device is ready for I/O and “down” if detected but unusable. The “down,closewait” state shows that the device is still open and cannot come up again until it has been closed. The “up,kickme” state means that the driver wants to send more commands to the target but found out there were already the max number of commands waiting for a response. It will retry again after being kicked by the periodic timer handler routine.

What:

/sys/block/loopX/loop/autoclear

Defined on file sysfs-block-loop

(RO) Shows if the device is in autoclear mode or not ( “1” or “0”). Autoclear (if set) indicates that the loopback device will self-distruct after last close.

What:

/sys/block/loopX/loop/backing_file

Defined on file sysfs-block-loop

(RO) The path of the backing file that the loop device maps its data blocks to.

What:

/sys/block/loopX/loop/dio

Defined on file sysfs-block-loop

(RO) Shows if direct IO is being used to access backing file or not (“1 or “0”).

What:

/sys/block/loopX/loop/offset

Defined on file sysfs-block-loop

(RO) Start offset (in bytes).

What:

/sys/block/loopX/loop/partscan

Defined on file sysfs-block-loop

(RO) Shows if automatic partition scanning is enabled for the device or not (“1” or “0”). This can be requested individually per loop device during its setup by setting LO_FLAGS_PARTSCAN in in the ioctl request. By default, no partition tables are scanned.

What:

/sys/block/loopX/loop/sizelimit

Defined on file sysfs-block-loop

(RO) The size (in bytes) that the block device maps, starting from the offset.

What:

/sys/block/rssd*/status

Defined on file sysfs-block-rssd

This is a read-only file. Indicates the status of the device.

What:

/sys/block/zram<id>/backing_dev

Defined on file sysfs-block-zram

The backing_dev file is read-write and set up backing device for zram to write incompressible pages. For using, user should enable CONFIG_ZRAM_WRITEBACK.

What:

/sys/block/zram<id>/bd_stat

Defined on file sysfs-block-zram

The bd_stat file is read-only and represents backing device’s statistics (bd_count, bd_reads, bd_writes) in a format similar to block layer statistics file format.

What:

/sys/block/zram<id>/comp_algorithm

Defined on file sysfs-block-zram

The comp_algorithm file is read-write and lets to show available and selected compression algorithms, change compression algorithm selection.

What:

/sys/block/zram<id>/compact

Defined on file sysfs-block-zram

The compact file is write-only and trigger compaction for allocator zrm uses. The allocator moves some objects so that it could free fragment space.

What:

/sys/block/zram<id>/debug_stat

Defined on file sysfs-block-zram

The debug_stat file is read-only and represents various device’s debugging info useful for kernel developers. Its format is not documented intentionally and may change anytime without any notice.

What:

/sys/block/zram<id>/disksize

Defined on file sysfs-block-zram

The disksize file is read-write and specifies the disk size which represents the limit on the uncompressed worth of data that can be stored in this disk. Unit: bytes

What:

/sys/block/zram<id>/idle

Defined on file sysfs-block-zram

idle file is write-only and mark zram slot as idle. If system has mounted debugfs, user can see which slots are idle via /sys/kernel/debug/zram/zram<id>/block_state

What:

/sys/block/zram<id>/initstate

Defined on file sysfs-block-zram

The initstate file is read-only and shows the initialization state of the device.

What:

/sys/block/zram<id>/io_stat

Defined on file sysfs-block-zram

The io_stat file is read-only and accumulates device’s I/O statistics not accounted by block layer. For example, failed_reads, failed_writes, etc. File format is similar to block layer statistics file format.

What:

/sys/block/zram<id>/max_comp_streams

Defined on file sysfs-block-zram

The max_comp_streams file is read-write and specifies the number of backend’s zcomp_strm compression streams (number of concurrent compress operations).

What:

/sys/block/zram<id>/mem_limit

Defined on file sysfs-block-zram

The mem_limit file is write-only and specifies the maximum amount of memory ZRAM can use to store the compressed data. The limit could be changed in run time and “0” means disable the limit. No limit is the initial state. Unit: bytes

What:

/sys/block/zram<id>/mem_used_max

Defined on file sysfs-block-zram

The mem_used_max file is write-only and is used to reset the counter of maximum memory zram have consumed to store compressed data. For resetting the value, you should write “0”. Otherwise, you could see -EINVAL. Unit: bytes

What:

/sys/block/zram<id>/mm_stat

Defined on file sysfs-block-zram

The mm_stat file is read-only and represents device’s mm statistics (orig_data_size, compr_data_size, etc.) in a format similar to block layer statistics file format.

What:

/sys/block/zram<id>/reset

Defined on file sysfs-block-zram

The reset file is write-only and allows resetting the device. The reset operation frees all the memory associated with this device.

What:

/sys/block/zram<id>/writeback

Defined on file sysfs-block-zram

The writeback file is write-only and trigger idle and/or huge page writeback to backing device.

What:

/sys/block/zram<id>/writeback_limit

Defined on file sysfs-block-zram

The writeback_limit file is read-write and specifies the maximum amount of writeback ZRAM can do. The limit could be changed in run time.

What:

/sys/block/zram<id>/writeback_limit_enable

Defined on file sysfs-block-zram

The writeback_limit_enable file is read-write and specifies eanbe of writeback_limit feature. “1” means eable the feature. No limit “0” is the initial state.

What:

/sys/bus/*/drivers/ufshcd/*/auto_hibern8

Defined on file sysfs-driver-ufs

This file contains the auto-hibernate idle timer setting of a UFS host controller. A value of ‘0’ means auto-hibernate is not enabled. Otherwise the value is the number of microseconds of idle time before the UFS host controller will autonomously put the link into hibernate state. That will save power at the expense of increased latency. Note that the hardware supports 10-bit values with a power-of-ten multiplier which allows a maximum value of 102300000. Refer to the UFS Host Controller Interface specification for more details.

What:

/sys/bus/acpi/devices/…/adr

Defined on file sysfs-bus-acpi

This attribute contains the output of the device object’s _ADR control method, which is present for ACPI device objects representing devices having standard enumeration algorithms, such as PCI.

What:

/sys/bus/acpi/devices/…/description

Defined on file sysfs-bus-acpi

This attribute contains the output of the device object’s _STR control method, if present.

What:

/sys/bus/acpi/devices/…/eject

Defined on file sysfs-bus-acpi

Writing 1 to this attribute will trigger hot removal of this device object. This file exists for every device object that has _EJ0 method.

What:

/sys/bus/acpi/devices/…/hid

Defined on file sysfs-bus-acpi

This attribute indicates the hardware ID (_HID) of the device object. For example, PNP0103. This file is present for device objects having the _HID control method.

What:

/sys/bus/acpi/devices/…/hrv

Defined on file sysfs-bus-acpi

(RO) Allows users to read the hardware version of non-PCI hardware, if the _HRV control method is present. It is mostly useful for non-PCI devices because lspci can list the hardware version for PCI devices.

What:

/sys/bus/acpi/devices/…/modalias

Defined on file sysfs-bus-acpi

This attribute indicates the PNP IDs of the device object. That is acpi:HHHHHHHH:[CCCCCCC:]. Where each HHHHHHHH or CCCCCCCC contains device object’s PNPID (_HID or _CID).

What:

/sys/bus/acpi/devices/…/path

Defined on file sysfs-bus-acpi

This attribute indicates the full path of ACPI namespace object associated with the device object. For example, _SB_.PCI0. This file is not present for device objects representing fixed ACPI hardware features (like power and sleep buttons).

What:

/sys/bus/acpi/devices/…/status

Defined on file sysfs-bus-acpi

(RO) Returns the ACPI device status: enabled, disabled or functioning or present, if the method _STA is present.

The return value is a decimal integer representing the device’s status bitmap:

Bit [0]

Set if the device is present.

Bit [1]

Set if the device is enabled and decoding its resources.

Bit [2]

Set if the device should be shown in the UI.

Bit [3]

Set if the device is functioning properly (cleared if device failed its diagnostics).

Bit [4]

Set if the battery is present.

Bits [31:5]

Reserved (must be cleared)

If bit [0] is clear, then bit 1 must also be clear (a device that is not present cannot be enabled).

Bit 0 can be clear (not present) with bit [3] set (device is functional). This case is used to indicate a valid device for which no device driver should be loaded.

More special cases are covered in the ACPI specification.

What:

/sys/bus/acpi/devices/…/uid

Defined on file sysfs-bus-acpi

This attribute contains the output of the device object’s _UID control method, if present.

What:

/sys/bus/acpi/intel-rapid-start/wakeup_events

Defined on file sysfs-driver-intel-rapid-start

An integer representing a set of wakeup events as follows: 1: Wake to enter hibernation when the wakeup timer expires 2: Wake to enter hibernation when the battery reaches a critical level

These values are ORed together. For example, a value of 3 indicates that the system will wake to enter hibernation when either the wakeup timer expires or the battery reaches a critical level.

What:

/sys/bus/acpi/intel-rapid-start/wakeup_time

Defined on file sysfs-driver-intel-rapid-start

An integer representing the length of time the system will remain asleep before waking up to enter hibernation. This value is in minutes.

What:

/sys/bus/amba/devices/…/driver_override

Defined on file sysfs-bus-amba

This file allows the driver for a device to be specified which will override standard OF, ACPI, ID table, and name matching. When specified, only a driver with a name matching the value written to driver_override will have an opportunity to bind to the device. The override is specified by writing a string to the driver_override file (echo vfio-amba > driver_override) and may be cleared with an empty string (echo > driver_override). This returns the device to standard matching rules binding. Writing to driver_override does not automatically unbind the device from its current driver or make any attempt to automatically load the specified driver. If no driver with a matching name is currently loaded in the kernel, the device will not bind to any driver. This also allows devices to opt-out of driver binding using a driver_override name such as “none”. Only a single driver may be specified in the override, there is no support for parsing delimiters.

What:

/sys/bus/bcma/devices/…/class

Defined on file sysfs-bus-bcma

Each BCMA core is identified by few fields, including class it belongs to. See include/linux/bcma/bcma.h for possible values.

What:

/sys/bus/bcma/devices/…/id

Defined on file sysfs-bus-bcma

There are a few types of BCMA cores, they can be identified by id field.

What:

/sys/bus/bcma/devices/…/manuf

Defined on file sysfs-bus-bcma

Each BCMA core has it’s manufacturer id. See include/linux/bcma/bcma.h for possible values.

What:

/sys/bus/bcma/devices/…/rev

Defined on file sysfs-bus-bcma

BCMA cores of the same type can still slightly differ depending on their revision. Use it for detailed programming.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/addr_acctype

Defined on file sysfs-bus-coresight-devices-etm3x

(RW) Used in conjunction with @addr_idx. Specifies characteristics about the address comparator being configure, for example the access type, the kind of instruction to trace, processor contect ID to trigger on, etc. Individual fields in the access type register may vary on the version of the trace entity.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/addr_idx

Defined on file sysfs-bus-coresight-devices-etm3x

Select which address comparator or pair (of comparators) to work with.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/addr_range

Defined on file sysfs-bus-coresight-devices-etm3x

(RW) Used in conjunction with @addr_idx. Specifies the range of addresses to trigger on. Inclusion or exclusion is specificed in the corresponding access type register.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/addr_single

Defined on file sysfs-bus-coresight-devices-etm3x

(RW) Used in conjunction with @addr_idx. Specifies the single address to trigger on, highly influenced by the configuration options of the corresponding access type register.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/addr_start

Defined on file sysfs-bus-coresight-devices-etm3x

(RW) Used in conjunction with @addr_idx. Specifies the single address to start tracing on, highly influenced by the configuration options of the corresponding access type register.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/addr_stop

Defined on file sysfs-bus-coresight-devices-etm3x

(RW) Used in conjunction with @addr_idx. Specifies the single address to stop tracing on, highly influenced by the configuration options of the corresponding access type register.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/cntr_event

Defined on file sysfs-bus-coresight-devices-etm3x

(RW) Used in conjunction with cntr_idx, give access to the counter event register.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/cntr_idx

Defined on file sysfs-bus-coresight-devices-etm3x

(RW) Specifies the counter to work on.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/cntr_rld_event

Defined on file sysfs-bus-coresight-devices-etm3x

(RW) Used in conjunction with cntr_idx, give access to the counter reload event register.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/cntr_rld_val

Defined on file sysfs-bus-coresight-devices-etm3x

(RW) Used in conjunction with cntr_idx, give access to the counter reload value register.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/cntr_val

Defined on file sysfs-bus-coresight-devices-etm3x

(RW) Used in conjunction with cntr_idx, give access to the counter value register.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/cpu

Defined on file sysfs-bus-coresight-devices-etm3x

(RO) Holds the cpu number this tracer is affined to.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/ctxid_idx

Defined on file sysfs-bus-coresight-devices-etm3x

(RW) Specifies the index of the context ID register to be selected.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/ctxid_mask

Defined on file sysfs-bus-coresight-devices-etm3x

(RW) Mask to apply to all the context ID comparator.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/ctxid_pid

Defined on file sysfs-bus-coresight-devices-etm3x

(RW) Used with the ctxid_idx, specify with context ID to trigger on.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/curr_seq_state

Defined on file sysfs-bus-coresight-devices-etm3x

  1. Holds the current state of the sequencer.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/enable_event

Defined on file sysfs-bus-coresight-devices-etm3x

(RW) Defines which event triggers a trace.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/enable_source

Defined on file sysfs-bus-coresight-devices-etm3x

(RW) Enable/disable tracing on this specific trace entiry. Enabling a source implies the source has been configured properly and a sink has been identidifed for it. The path of coresight components linking the source to the sink is configured and managed automatically by the coresight framework.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/etmsr

Defined on file sysfs-bus-coresight-devices-etm3x

(RW) Gives access to the ETM status register, which holds programming information and status on certains events.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/fifofull_level

Defined on file sysfs-bus-coresight-devices-etm3x

(RW) Number of byte left in the fifo before considering it full. Depending on the tracer’s version, can also hold threshold for data suppression.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/mgmt/etmccer

Defined on file sysfs-bus-coresight-devices-etm3x

(RO) Print the content of the ETM Configuration Code Extension register (0x1e8). The value is read directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/mgmt/etmccr

Defined on file sysfs-bus-coresight-devices-etm3x

(RO) Print the content of the ETM Configuration Code register (0x004). The value is read directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/mgmt/etmcr

Defined on file sysfs-bus-coresight-devices-etm3x

(RO) Print the content of the ETM Main Control register (0x000). The value is read directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/mgmt/etmidr

Defined on file sysfs-bus-coresight-devices-etm3x

(RO) Print the content of the ETM ID register (0x1e4). The value is read directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/mgmt/etmscr

Defined on file sysfs-bus-coresight-devices-etm3x

(RO) Print the content of the ETM System Configuration register (0x014). The value is read directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/mgmt/etmtecr1

Defined on file sysfs-bus-coresight-devices-etm3x

(RO) Print the content of the ETM Enable Conrol #1 register (0x024). The value is read directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/mgmt/etmtecr2

Defined on file sysfs-bus-coresight-devices-etm3x

(RO) Print the content of the ETM Enable Conrol #2 register (0x01c). The value is read directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/mgmt/etmteevr

Defined on file sysfs-bus-coresight-devices-etm3x

(RO) Print the content of the ETM Trace Enable Event register (0x020). The value is read directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/mgmt/etmtraceidr

Defined on file sysfs-bus-coresight-devices-etm3x

(RO) Print the content of the ETM Trace ID register (0x200). The value is read directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/mgmt/etmtsscr

Defined on file sysfs-bus-coresight-devices-etm3x

(RO) Print the content of the ETM Trace Start/Stop Conrol register (0x018). The value is read directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/mode

Defined on file sysfs-bus-coresight-devices-etm3x

(RW) Interface with the driver’s ‘mode’ field, controlling various aspect of the trace entity such as time stamping, context ID size and cycle accurate tracing. Driver specific and bound to change depending on the driver.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/nr_addr_cmp

Defined on file sysfs-bus-coresight-devices-etm3x

(R) Provides the number of address comparators pairs accessible on a trace unit, as specified by bit 3:0 of register ETMCCR.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/nr_cntr

Defined on file sysfs-bus-coresight-devices-etm3x

(R) Provides the number of counters accessible on a trace unit, as specified by bit 15:13 of register ETMCCR.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/nr_ctxid_cmp

Defined on file sysfs-bus-coresight-devices-etm3x

(R) Provides the number of context ID comparator available on a trace unit, as specified by bit 25:24 of register ETMCCR.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/reset

Defined on file sysfs-bus-coresight-devices-etm3x

(W) Cancels all configuration on a trace unit and set it back to its boot configuration.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/seq_12_event

Defined on file sysfs-bus-coresight-devices-etm3x

(RW) Defines the event that causes the sequencer to transition from state 1 to state 2.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/seq_13_event

Defined on file sysfs-bus-coresight-devices-etm3x

(RW) Defines the event that causes the sequencer to transition from state 1 to state 3.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/seq_21_event

Defined on file sysfs-bus-coresight-devices-etm3x

(RW) Defines the event that causes the sequencer to transition from state 2 to state 1.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/seq_23_event

Defined on file sysfs-bus-coresight-devices-etm3x

(RW) Defines the event that causes the sequencer to transition from state 2 to state 3.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/seq_31_event

Defined on file sysfs-bus-coresight-devices-etm3x

(RW) Defines the event that causes the sequencer to transition from state 3 to state 1.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/seq_32_event

Defined on file sysfs-bus-coresight-devices-etm3x

(RW) Defines the event that causes the sequencer to transition from state 3 to state 2.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/sync_freq

Defined on file sysfs-bus-coresight-devices-etm3x

(RW) Holds the trace synchronization frequency value - must be programmed with the various implementation behavior in mind.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/timestamp_event

Defined on file sysfs-bus-coresight-devices-etm3x

(RW) Defines an event that requests the insertion of a timestamp into the trace stream.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/traceid

Defined on file sysfs-bus-coresight-devices-etm3x

(RW) Holds the trace ID that will appear in the trace stream coming from this trace entity.

What:

/sys/bus/coresight/devices/<memory_map>.[etm|ptm]/trigger_event

Defined on file sysfs-bus-coresight-devices-etm3x

(RW) Define the event that controls the trigger.

What:

/sys/bus/coresight/devices/<memory_map>.etb/enable_sink

Defined on file sysfs-bus-coresight-devices-etb10

(RW) Add/remove a sink from a trace path. There can be multiple source for a single sink. ex: echo 1 > /sys/bus/coresight/devices/20010000.etb/enable_sink

What:

/sys/bus/coresight/devices/<memory_map>.etb/mgmt/ctl

Defined on file sysfs-bus-coresight-devices-etb10

(R) Shows the value held by the ETB Control register. The value is read directly from HW register CTL, 0x020.

What:

/sys/bus/coresight/devices/<memory_map>.etb/mgmt/ffcr

Defined on file sysfs-bus-coresight-devices-etb10

(R) Shows the value held by the ETB Formatter and Flush Control register. The value is read directly from HW register FFCR, 0x304.

What:

/sys/bus/coresight/devices/<memory_map>.etb/mgmt/ffsr

Defined on file sysfs-bus-coresight-devices-etb10

(R) Shows the value held by the ETB Formatter and Flush Status register. The value is read directly from HW register FFSR, 0x300.

What:

/sys/bus/coresight/devices/<memory_map>.etb/mgmt/rdp

Defined on file sysfs-bus-coresight-devices-etb10

(R) Defines the depth, in words, of the trace RAM in powers of 2. The value is read directly from HW register RDP, 0x004.

What:

/sys/bus/coresight/devices/<memory_map>.etb/mgmt/rrp

Defined on file sysfs-bus-coresight-devices-etb10

(R) Shows the value held by the ETB RAM Read Pointer register that is used to read entries from the Trace RAM over the APB interface. The value is read directly from HW register RRP, 0x014.

What:

/sys/bus/coresight/devices/<memory_map>.etb/mgmt/rwp

Defined on file sysfs-bus-coresight-devices-etb10

(R) Shows the value held by the ETB RAM Write Pointer register that is used to sets the write pointer to write entries from the CoreSight bus into the Trace RAM. The value is read directly from HW register RWP, 0x018.

What:

/sys/bus/coresight/devices/<memory_map>.etb/mgmt/sts

Defined on file sysfs-bus-coresight-devices-etb10

(R) Shows the value held by the ETB status register. The value is read directly from HW register STS, 0x00C.

What:

/sys/bus/coresight/devices/<memory_map>.etb/mgmt/trg

Defined on file sysfs-bus-coresight-devices-etb10

(R) Similar to “trigger_cntr” above except that this value is read directly from HW register TRG, 0x01C.

What:

/sys/bus/coresight/devices/<memory_map>.etb/trigger_cntr

Defined on file sysfs-bus-coresight-devices-etb10

(RW) Disables write access to the Trace RAM by stopping the formatter after a defined number of words have been stored following the trigger event. The number of 32-bit words written into the Trace RAM following the trigger event is equal to the value stored in this register+1 (from ARM ETB-TRM).

What:

/sys/bus/coresight/devices/<memory_map>.etm/addr_idx

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Select which address comparator or pair (of comparators) to work with.

What:

/sys/bus/coresight/devices/<memory_map>.etm/addr_instdatatype

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Controls what type of comparison the trace unit performs.

What:

/sys/bus/coresight/devices/<memory_map>.etm/addr_range

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Used to setup address range comparator values.

What:

/sys/bus/coresight/devices/<memory_map>.etm/addr_single

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Used to setup single address comparator values.

What:

/sys/bus/coresight/devices/<memory_map>.etm/bb_ctrl

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Controls which regions in the memory map are enabled to use branch broadcasting.

What:

/sys/bus/coresight/devices/<memory_map>.etm/cntr_ctrl

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Controls the operation of the selected counter.

What:

/sys/bus/coresight/devices/<memory_map>.etm/cntr_idx

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Select which counter unit to work with.

What:

/sys/bus/coresight/devices/<memory_map>.etm/cntr_val

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) This sets or returns the current count value of the specific counter.

What:

/sys/bus/coresight/devices/<memory_map>.etm/cntrldvr

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) This sets or returns the reload count value of the specific counter.

What:

/sys/bus/coresight/devices/<memory_map>.etm/cpu

Defined on file sysfs-bus-coresight-devices-etm4x

  1. The CPU this tracing entity is associated with.

What:

/sys/bus/coresight/devices/<memory_map>.etm/ctxid_idx

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Select which context ID comparator to work with.

What:

/sys/bus/coresight/devices/<memory_map>.etm/ctxid_masks

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Mask for all 8 context ID comparator value registers (if implemented).

What:

/sys/bus/coresight/devices/<memory_map>.etm/ctxid_pid

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Get/Set the context ID comparator value to trigger on.

What:

/sys/bus/coresight/devices/<memory_map>.etm/cyc_threshold

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Sets the threshold value for cycle counting.

What:

/sys/bus/coresight/devices/<memory_map>.etm/enable_source

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Enable/disable tracing on this specific trace entiry. Enabling a source implies the source has been configured properly and a sink has been identidifed for it. The path of coresight components linking the source to the sink is configured and managed automatically by the coresight framework.

What:

/sys/bus/coresight/devices/<memory_map>.etm/event

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Controls the tracing of arbitrary events from bank 0 to 3.

What:

/sys/bus/coresight/devices/<memory_map>.etm/event_instren

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Controls the behavior of the events in bank 0 to 3.

What:

/sys/bus/coresight/devices/<memory_map>.etm/event_ts

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Controls the insertion of global timestamps in the trace streams.

What:

/sys/bus/coresight/devices/<memory_map>.etm/event_vinst

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Controls instruction trace filtering.

What:

/sys/bus/coresight/devices/<memory_map>.etm/mgmt/trcauthstatus

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Print the content of the Authentication Status Register (0xFB8). The value is taken directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.etm/mgmt/trcconfig

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Print the content of the trace configuration register (0x010) as currently set by SW.

What:

/sys/bus/coresight/devices/<memory_map>.etm/mgmt/trcdevid

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Print the content of the Device ID Register (0xFC8). The value is taken directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.etm/mgmt/trcdevtype

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Print the content of the Device Type Register (0xFCC). The value is taken directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.etm/mgmt/trclsr

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Print the content of the SW Lock Status Register (0xFB4). The value is taken directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.etm/mgmt/trcoslsr

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Print the content of the OS Lock Status Register (0x304). The value it taken directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.etm/mgmt/trcpdcr

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Print the content of the Power Down Control Register (0x310). The value is taken directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.etm/mgmt/trcpdsr

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Print the content of the Power Down Status Register (0x314). The value is taken directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.etm/mgmt/trcpidr0

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Print the content of the Peripheral ID0 Register (0xFE0). The value is taken directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.etm/mgmt/trcpidr1

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Print the content of the Peripheral ID1 Register (0xFE4). The value is taken directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.etm/mgmt/trcpidr2

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Print the content of the Peripheral ID2 Register (0xFE8). The value is taken directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.etm/mgmt/trcpidr3

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Print the content of the Peripheral ID3 Register (0xFEC). The value is taken directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.etm/mgmt/trctraceid

Defined on file sysfs-bus-coresight-devices-etm4x

  1. Print the content of the trace ID register (0x040).

What:

/sys/bus/coresight/devices/<memory_map>.etm/mode

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Controls various modes supported by this ETM, for example P0 instruction tracing, branch broadcast, cycle counting and context ID tracing.

What:

/sys/bus/coresight/devices/<memory_map>.etm/nr_addr_cmp

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Indicates the number of address comparator pairs that are available for tracing.

What:

/sys/bus/coresight/devices/<memory_map>.etm/nr_cntr

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Indicates the number of counters that are available for tracing.

What:

/sys/bus/coresight/devices/<memory_map>.etm/nr_ext_inp

Defined on file sysfs-bus-coresight-devices-etm4x

  1. Indicates how many external inputs are implemented.

What:

/sys/bus/coresight/devices/<memory_map>.etm/nr_pe_cmp

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Indicates the number of PE comparator inputs that are available for tracing.

What:

/sys/bus/coresight/devices/<memory_map>.etm/nr_resource

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Indicates the number of resource selection pairs that are available for tracing.

What:

/sys/bus/coresight/devices/<memory_map>.etm/nr_ss_cmp

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Indicates the number of single-shot comparator controls that are available for tracing.

What:

/sys/bus/coresight/devices/<memory_map>.etm/nrseqstate

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Indicates the number of sequencer states that are implemented.

What:

/sys/bus/coresight/devices/<memory_map>.etm/ns_exlevel_vinst

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) In non-secure state, each bit controls whether instruction tracing is enabled for the corresponding exception level.

What:

/sys/bus/coresight/devices/<memory_map>.etm/numcidc

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Indicates the number of Context ID comparators that are available for tracing.

What:

/sys/bus/coresight/devices/<memory_map>.etm/numvmidc

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Indicates the number of VMID comparators that are available for tracing.

What:

/sys/bus/coresight/devices/<memory_map>.etm/pe

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Controls which PE to trace.

What:

/sys/bus/coresight/devices/<memory_map>.etm/res_ctrl

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Controls the selection of the resources in the trace unit.

What:

/sys/bus/coresight/devices/<memory_map>.etm/res_idx

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Select which resource selection unit to work with.

What:

/sys/bus/coresight/devices/<memory_map>.etm/reset

Defined on file sysfs-bus-coresight-devices-etm4x

(W) Cancels all configuration on a trace unit and set it back to its boot configuration.

What:

/sys/bus/coresight/devices/<memory_map>.etm/s_exlevel_vinst

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) In Secure state, each bit controls whether instruction tracing is enabled for the corresponding exception level.

What:

/sys/bus/coresight/devices/<memory_map>.etm/seq_event

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Moves the sequencer state to a specific state.

What:

/sys/bus/coresight/devices/<memory_map>.etm/seq_idx

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Select which sequensor.

What:

/sys/bus/coresight/devices/<memory_map>.etm/seq_reset_event

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Moves the sequencer to state 0 when a programmed event occurs.

What:

/sys/bus/coresight/devices/<memory_map>.etm/seq_state

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Use this to set, or read, the sequencer state.

What:

/sys/bus/coresight/devices/<memory_map>.etm/syncfreq

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Controls how often trace synchronization requests occur.

What:

/sys/bus/coresight/devices/<memory_map>.etm/trcidr/trcidr0

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Returns the tracing capabilities of the trace unit (0x1E0). The value is taken directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.etm/trcidr/trcidr1

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Returns the tracing capabilities of the trace unit (0x1E4). The value is taken directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.etm/trcidr/trcidr10

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Returns the number of P1 right-hand keys that the trace unit can use (0x188). The value is taken directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.etm/trcidr/trcidr11

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Returns the number of special P1 right-hand keys that the trace unit can use (0x18C). The value is taken directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.etm/trcidr/trcidr12

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Returns the number of conditional P1 right-hand keys that the trace unit can use (0x190). The value is taken directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.etm/trcidr/trcidr13

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Returns the number of special conditional P1 right-hand keys that the trace unit can use (0x194). The value is taken directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.etm/trcidr/trcidr2

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Returns the maximum size of the data value, data address, VMID, context ID and instuction address in the trace unit (0x1E8). The value is taken directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.etm/trcidr/trcidr3

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Returns the value associated with various resources available to the trace unit. See the Trace Macrocell architecture specification for more details (0x1E8). The value is taken directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.etm/trcidr/trcidr4

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Returns how many resources the trace unit supports (0x1F0). The value is taken directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.etm/trcidr/trcidr5

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Returns how many resources the trace unit supports (0x1F4). The value is taken directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.etm/trcidr/trcidr8

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Returns the maximum speculation depth of the instruction trace stream. (0x180). The value is taken directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.etm/trcidr/trcidr9

Defined on file sysfs-bus-coresight-devices-etm4x

(R) Returns the number of P0 right-hand keys that the trace unit can use (0x184). The value is taken directly from the HW.

What:

/sys/bus/coresight/devices/<memory_map>.etm/vmid_idx

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Select which virtual machine ID comparator to work with.

What:

/sys/bus/coresight/devices/<memory_map>.etm/vmid_masks

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Mask for all 8 virtual machine ID comparator value registers (if implemented).

What:

/sys/bus/coresight/devices/<memory_map>.etm/vmid_val

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Get/Set the virtual machine ID comparator value to trigger on.

What:

/sys/bus/coresight/devices/<memory_map>.funnel/funnel_ctrl

Defined on file sysfs-bus-coresight-devices-funnel

(RW) Enables the slave ports and defines the hold time of the slave ports.

What:

/sys/bus/coresight/devices/<memory_map>.funnel/priority

Defined on file sysfs-bus-coresight-devices-funnel

(RW) Defines input port priority order.

What:

/sys/bus/coresight/devices/<memory_map>.stm/enable_source

Defined on file sysfs-bus-coresight-devices-stm

(RW) Enable/disable tracing on this specific trace macrocell. Enabling the trace macrocell implies it has been configured properly and a sink has been identified for it. The path of coresight components linking the source to the sink is configured and managed automatically by the coresight framework.

What:

/sys/bus/coresight/devices/<memory_map>.stm/hwevent_enable

Defined on file sysfs-bus-coresight-devices-stm

(RW) Provides access to the HW event enable register, used in conjunction with HW event bank select register.

What:

/sys/bus/coresight/devices/<memory_map>.stm/hwevent_select

Defined on file sysfs-bus-coresight-devices-stm

(RW) Gives access to the HW event block select register (STMHEBSR) in order to configure up to 256 channels. Used in conjunction with “hwevent_enable” register as described above.

What:

/sys/bus/coresight/devices/<memory_map>.stm/port_enable

Defined on file sysfs-bus-coresight-devices-stm

(RW) Provides access to the stimulus port enable register (STMSPER). Used in conjunction with “port_select” described below.

What:

/sys/bus/coresight/devices/<memory_map>.stm/port_select

Defined on file sysfs-bus-coresight-devices-stm

(RW) Used to determine which bank of stimulus port bit in register STMSPER (see above) apply to.

What:

/sys/bus/coresight/devices/<memory_map>.stm/status

Defined on file sysfs-bus-coresight-devices-stm

(R) List various control and status registers. The specific layout and content is driver specific.

What:

/sys/bus/coresight/devices/<memory_map>.stm/traceid

Defined on file sysfs-bus-coresight-devices-stm

(RW) Holds the trace ID that will appear in the trace stream coming from this trace entity.

What:

/sys/bus/coresight/devices/<memory_map>.tmc/buffer_size

Defined on file sysfs-bus-coresight-devices-tmc

(RW) Size of the trace buffer for TMC-ETR when used in SYSFS mode. Writable only for TMC-ETR configurations. The value should be aligned to the kernel pagesize.

What:

/sys/bus/coresight/devices/<memory_map>.tmc/mgmt/ctl

Defined on file sysfs-bus-coresight-devices-tmc

(R) Shows the value held by the TMC Control register. The value is read directly from HW register CTL, 0x020.

What:

/sys/bus/coresight/devices/<memory_map>.tmc/mgmt/devid

Defined on file sysfs-bus-coresight-devices-tmc

(R) Indicates the capabilities of the Coresight TMC. The value is read directly from the DEVID register, 0xFC8,

What:

/sys/bus/coresight/devices/<memory_map>.tmc/mgmt/ffcr

Defined on file sysfs-bus-coresight-devices-tmc

(R) Shows the value held by the TMC Formatter and Flush Control register. The value is read directly from HW register FFCR, 0x304.

What:

/sys/bus/coresight/devices/<memory_map>.tmc/mgmt/ffsr

Defined on file sysfs-bus-coresight-devices-tmc

(R) Shows the value held by the TMC Formatter and Flush Status register. The value is read directly from HW register FFSR, 0x300.

What:

/sys/bus/coresight/devices/<memory_map>.tmc/mgmt/mode

Defined on file sysfs-bus-coresight-devices-tmc

(R) Shows the value held by the TMC Mode register, which indicate the mode the device has been configured to enact. The The value is read directly from the MODE register, 0x028.

What:

/sys/bus/coresight/devices/<memory_map>.tmc/mgmt/rrp

Defined on file sysfs-bus-coresight-devices-tmc

(R) Shows the value held by the TMC RAM Read Pointer register that is used to read entries from the Trace RAM over the APB interface. The value is read directly from HW register RRP, 0x014.

What:

/sys/bus/coresight/devices/<memory_map>.tmc/mgmt/rsz

Defined on file sysfs-bus-coresight-devices-tmc

(R) Defines the size, in 32-bit words, of the local RAM buffer. The value is read directly from HW register RSZ, 0x004.

What:

/sys/bus/coresight/devices/<memory_map>.tmc/mgmt/rwp

Defined on file sysfs-bus-coresight-devices-tmc

(R) Shows the value held by the TMC RAM Write Pointer register that is used to sets the write pointer to write entries from the CoreSight bus into the Trace RAM. The value is read directly from HW register RWP, 0x018.

What:

/sys/bus/coresight/devices/<memory_map>.tmc/mgmt/sts

Defined on file sysfs-bus-coresight-devices-tmc

(R) Shows the value held by the TMC status register. The value is read directly from HW register STS, 0x00C.

What:

/sys/bus/coresight/devices/<memory_map>.tmc/mgmt/trg

Defined on file sysfs-bus-coresight-devices-tmc

(R) Similar to “trigger_cntr” above except that this value is read directly from HW register TRG, 0x01C.

What:

/sys/bus/coresight/devices/<memory_map>.tmc/trigger_cntr

Defined on file sysfs-bus-coresight-devices-tmc

(RW) Disables write access to the Trace RAM by stopping the formatter after a defined number of words have been stored following the trigger event. Additional interface for this driver are expected to be added as it matures.

What:

/sys/bus/counter/devices/counterX/countY/ceiling

Defined on file sysfs-bus-counter

Count value ceiling for Count Y. This is the upper limit for the respective counter.

What:

/sys/bus/counter/devices/counterX/countY/count

Defined on file sysfs-bus-counter

Count data of Count Y represented as a string.

What:

/sys/bus/counter/devices/counterX/countY/count_mode

Defined on file sysfs-bus-counter

Count mode for channel Y. The ceiling and floor values for Count Y are used by the count mode where required. The following count modes are available:

normal:

Counting is continuous in either direction.

range limit:

An upper or lower limit is set, mimicking limit switches in the mechanical counterpart. The upper limit is set to the Count Y ceiling value, while the lower limit is set to the Count Y floor value. The counter freezes at count = ceiling when counting up, and at count = floor when counting down. At either of these limits, the counting is resumed only when the count direction is reversed.

non-recycle:

The counter is disabled whenever a counter overflow or underflow takes place. The counter is re-enabled when a new count value is loaded to the counter via a preset operation or direct write.

modulo-n:

A count value boundary is set between the Count Y floor value and the Count Y ceiling value. The counter is reset to the Count Y floor value at count = ceiling when counting up, while the counter is set to the Count Y ceiling value at count = floor when counting down; the counter does not freeze at the boundary points, but counts continuously throughout.

What:

/sys/bus/counter/devices/counterX/countY/count_mode_available

/sys/bus/counter/devices/counterX/countY/error_noise_available

/sys/bus/counter/devices/counterX/countY/function_available

/sys/bus/counter/devices/counterX/countY/signalZ_action_available

Defined on file sysfs-bus-counter

Discrete set of available values for the respective Count Y configuration are listed in this file. Values are delimited by newline characters.

What:

/sys/bus/counter/devices/counterX/countY/direction

Defined on file sysfs-bus-counter

Read-only attribute that indicates the count direction of Count Y. Two count directions are available: forward and backward.

Some counter devices are able to determine the direction of their counting. For example, quadrature encoding counters can determine the direction of movement by evaluating the leading phase of the respective A and B quadrature encoding signals. This attribute exposes such count directions.

What:

/sys/bus/counter/devices/counterX/countY/enable

Defined on file sysfs-bus-counter

Whether channel Y counter is enabled. Valid attribute values are boolean.

This attribute is intended to serve as a pause/unpause mechanism for Count Y. Suppose a counter device is used to count the total movement of a conveyor belt: this attribute allows an operator to temporarily pause the counter, service the conveyor belt, and then finally unpause the counter to continue where it had left off.

What:

/sys/bus/counter/devices/counterX/countY/error_noise

Defined on file sysfs-bus-counter

Read-only attribute that indicates whether excessive noise is present at the channel Y counter inputs.

What:

/sys/bus/counter/devices/counterX/countY/floor

Defined on file sysfs-bus-counter

Count value floor for Count Y. This is the lower limit for the respective counter.

What:

/sys/bus/counter/devices/counterX/countY/function

Defined on file sysfs-bus-counter

Count function mode of Count Y; count function evaluation is triggered by conditions specified by the Count Y signalZ_action attributes. The following count functions are available:

increase:

Accumulated count is incremented.

decrease:

Accumulated count is decremented.

pulse-direction:

Rising edges on signal A updates the respective count. The input level of signal B determines direction.

quadrature x1 a:

If direction is forward, rising edges on quadrature pair signal A updates the respective count; if the direction is backward, falling edges on quadrature pair signal A updates the respective count. Quadrature encoding determines the direction.

quadrature x1 b:

If direction is forward, rising edges on quadrature pair signal B updates the respective count; if the direction is backward, falling edges on quadrature pair signal B updates the respective count. Quadrature encoding determines the direction.

quadrature x2 a:

Any state transition on quadrature pair signal A updates the respective count. Quadrature encoding determines the direction.

quadrature x2 b:

Any state transition on quadrature pair signal B updates the respective count. Quadrature encoding determines the direction.

quadrature x4:

Any state transition on either quadrature pair signals updates the respective count. Quadrature encoding determines the direction.

What:

/sys/bus/counter/devices/counterX/countY/name

Defined on file sysfs-bus-counter

Read-only attribute that indicates the device-specific name of Count Y. If possible, this should match the name of the respective channel as it appears in the device datasheet.

What:

/sys/bus/counter/devices/counterX/countY/prescaler

Defined on file sysfs-bus-counter-ftm-quaddec

Configure the prescaler value associated with Count Y. On the FlexTimer, the counter clock source passes through a prescaler (i.e. a counter). This acts like a clock divider.

What:

/sys/bus/counter/devices/counterX/countY/prescaler_available

Defined on file sysfs-bus-counter-ftm-quaddec

Discrete set of available values for the respective Count Y configuration are listed in this file. Values are delimited by newline characters.

What:

/sys/bus/counter/devices/counterX/countY/preset

Defined on file sysfs-bus-counter

If the counter device supports preset registers – registers used to load counter channels to a set count upon device-defined preset operation trigger events – the preset count for channel Y is provided by this attribute.

What:

/sys/bus/counter/devices/counterX/countY/preset_enable

Defined on file sysfs-bus-counter

Whether channel Y counter preset operation is enabled. Valid attribute values are boolean.

What:

/sys/bus/counter/devices/counterX/countY/signalZ_action

Defined on file sysfs-bus-counter

Action mode of Count Y for Signal Z. This attribute indicates the condition of Signal Z that triggers the count function evaluation for Count Y. The following action modes are available:

none:

Signal does not trigger the count function. In Pulse-Direction count function mode, this Signal is evaluated as Direction.

rising edge:

Low state transitions to high state.

falling edge:

High state transitions to low state.

both edges:

Any state transition.

What:

/sys/bus/counter/devices/counterX/name

Defined on file sysfs-bus-counter

Read-only attribute that indicates the device-specific name of the Counter. This should match the name of the device as it appears in its respective datasheet.

What:

/sys/bus/counter/devices/counterX/num_counts

Defined on file sysfs-bus-counter

Read-only attribute that indicates the total number of Counts belonging to the Counter.

What:

/sys/bus/counter/devices/counterX/num_signals

Defined on file sysfs-bus-counter

Read-only attribute that indicates the total number of Signals belonging to the Counter.

What:

/sys/bus/counter/devices/counterX/signalY/index_polarity

Defined on file sysfs-bus-counter-104-quad-8

Active level of index input Signal Y; irrelevant in non-synchronous load mode.

What:

/sys/bus/counter/devices/counterX/signalY/index_polarity_available

/sys/bus/counter/devices/counterX/signalY/synchronous_mode_available

Defined on file sysfs-bus-counter-104-quad-8

Discrete set of available values for the respective Signal Y configuration are listed in this file.

What:

/sys/bus/counter/devices/counterX/signalY/name

Defined on file sysfs-bus-counter

Read-only attribute that indicates the device-specific name of Signal Y. If possible, this should match the name of the respective signal as it appears in the device datasheet.

What:

/sys/bus/counter/devices/counterX/signalY/signal

Defined on file sysfs-bus-counter

Signal data of Signal Y represented as a string.

What:

/sys/bus/counter/devices/counterX/signalY/synchronous_mode

Defined on file sysfs-bus-counter-104-quad-8

Configure the counter associated with Signal Y for non-synchronous or synchronous load mode. Synchronous load mode cannot be selected in non-quadrature (Pulse-Direction) clock mode.

non-synchronous:

A logic low level is the active level at this index input. The index function (as enabled via preset_enable) is performed directly on the active level of the index input.

synchronous:

Intended for interfacing with encoder Index output in quadrature clock mode. The active level is configured via index_polarity. The index function (as enabled via preset_enable) is performed synchronously with the quadrature clock on the active level of the index input.

What:

/sys/bus/css/devices/…/driver_override

Defined on file sysfs-bus-css

This file allows the driver for a device to be specified. When specified, only a driver with a name matching the value written to driver_override will have an opportunity to bind to the device. The override is specified by writing a string to the driver_override file (echo vfio-ccw > driver_override) and may be cleared with an empty string (echo > driver_override). This returns the device to standard matching rules binding. Writing to driver_override does not automatically unbind the device from its current driver or make any attempt to automatically load the specified driver. If no driver with a matching name is currently loaded in the kernel, the device will not bind to any driver. This also allows devices to opt-out of driver binding using a driver_override name such as “none”. Only a single driver may be specified in the override, there is no support for parsing delimiters. Note that unlike the mechanism of the same name for pci, this file does not allow to override basic matching rules. I.e., the driver must still match the subchannel type of the device.

What:

/sys/bus/css/devices/…/modalias

Defined on file sysfs-bus-css

Contains the module alias as reported with uevents. It is of the format css:t<type> and present for all subchannel types.

What:

/sys/bus/css/devices/…/type

Defined on file sysfs-bus-css

Contains the subchannel type, as reported by the hardware. This attribute is present for all subchannel types.

What:

/sys/bus/css/drivers/io_subchannel/…/chpids

Defined on file sysfs-bus-css

Contains the ids of the channel paths used by this subchannel, as reported by the channel subsystem during subchannel recognition. Note: This is an I/O-subchannel specific attribute.

What:

/sys/bus/css/drivers/io_subchannel/…/pimpampom

Defined on file sysfs-bus-css

Contains the PIM/PAM/POM values, as reported by the channel subsystem when last queried by the common I/O layer (this implies that this attribute is not necessarily in sync with the values current in the channel subsystem). Note: This is an I/O-subchannel specific attribute.

What:

/sys/bus/drivers/corsair/<dev>/current_profile

Defined on file sysfs-driver-hid-corsair

Get/set the current selected profile. Values are from 1 to 3.

What:

/sys/bus/drivers/corsair/<dev>/macro_mode

Defined on file sysfs-driver-hid-corsair

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/event_source/devices/<dev>/format

Defined on file sysfs-bus-event_source-devices-format

Attribute group to describe the magic bits that go into perf_event_attr::config[012] for a particular pmu. Each attribute of this group defines the ‘hardware’ bitmask we want to export, so that userspace can deal with sane name/value pairs.

Userspace must be prepared for the possibility that attributes define overlapping bit ranges. For example:

attr1 = 'config:0-23'
attr2 = 'config:0-7'
attr3 = 'config:12-35'

Example: ‘config1:1,6-10,44’ Defines contents of attribute that occupies bits 1,6-10,44 of perf_event_attr::config1.

What:

/sys/bus/event_source/devices/<pmu>/events/<event>

Defined on file sysfs-bus-event_source-devices-events

Per-pmu performance monitoring events specific to the running system

Each file (except for some of those with a ‘.’ in them, ‘.unit’ and ‘.scale’) in the ‘events’ directory describes a single performance monitoring event supported by the <pmu>. The name of the file is the name of the event.

File contents:

<term>[=<value>][,<term>[=<value>]]…

Where <term> is one of the terms listed under /sys/bus/event_source/devices/<pmu>/format/ and <value> is a number is base-16 format with a ‘0x’ prefix (lowercase only). If a <term> is specified alone (without an assigned value), it is implied that 0x1 is assigned to that <term>.

Examples (each of these lines would be in a seperate file):

event=0x2abc event=0x423,inv,cmask=0x3 domain=0x1,offset=0x8,starting_index=0xffff domain=0x1,offset=0x8,core=?

Each of the assignments indicates a value to be assigned to a particular set of bits (as defined by the format file corresponding to the <term>) in the perf_event structure passed to the perf_open syscall.

In the case of the last example, a value replacing “?” would need to be provided by the user selecting the particular event. This is referred to as “event parameterization”. Event parameters have the format ‘param=?’.

What:

/sys/bus/event_source/devices/<pmu>/events/<event>.scale

Defined on file sysfs-bus-event_source-devices-events

Perf event scaling factors

A string representing a floating point value expressed in scientific notation to be multiplied by the event count recieved from the kernel to match the unit specified in the <event>.unit file.

Example:

2.3283064365386962890625e-10

This is provided to avoid performing floating point arithmetic in the kernel.

What:

/sys/bus/event_source/devices/<pmu>/events/<event>.unit

Defined on file sysfs-bus-event_source-devices-events

Perf event units

A string specifying the English plural numerical unit that <event> (once multiplied by <event>.scale) represents.

Example:

Joules

What:

/sys/bus/event_source/devices/hv_24x7/event_descs/<event-name>

Defined on file sysfs-bus-event_source-devices-hv_24x7

Provides the description of a particular event as provided by the firmware. If firmware does not provide a description, no file will be created.

Note that the event-name lacks the domain suffix appended for events in the events/ dir.

What:

/sys/bus/event_source/devices/hv_24x7/event_long_descs/<event-name>

Defined on file sysfs-bus-event_source-devices-hv_24x7

Provides the “long” description of a particular event as provided by the firmware. If firmware does not provide a description, no file will be created.

Note that the event-name lacks the domain suffix appended for events in the events/ dir.

What:

/sys/bus/event_source/devices/hv_24x7/interface/catalog

Defined on file sysfs-bus-event_source-devices-hv_24x7

Provides access to the binary “24x7 catalog” provided by the hypervisor on POWER7 and 8 systems. This catalog lists events available from the powerpc “hv_24x7” pmu. Its format is documented here: https://raw.githubusercontent.com/jmesmon/catalog-24x7/master/hv-24x7-catalog.h

What:

/sys/bus/event_source/devices/hv_24x7/interface/catalog_length

Defined on file sysfs-bus-event_source-devices-hv_24x7

A number equal to the length in bytes of the catalog. This is also extractable from the provided binary “catalog” sysfs entry.

What:

/sys/bus/event_source/devices/hv_24x7/interface/catalog_version

Defined on file sysfs-bus-event_source-devices-hv_24x7

Exposes the “version” field of the 24x7 catalog. This is also extractable from the provided binary “catalog” sysfs entry.

What:

/sys/bus/event_source/devices/hv_gpci/interface/collect_privileged

Defined on file sysfs-bus-event_source-devices-hv_gpci

‘0’ if the hypervisor is configured to forbid access to event counters being accumulated by other guests and to physical domain event counters. ‘1’ if that access is allowed.

What:

/sys/bus/event_source/devices/hv_gpci/interface/expanded

Defined on file sysfs-bus-event_source-devices-hv_gpci

0 or 1. Indicates whether we have access to “EXPANDED” events (listed in arch/powerpc/perf/hv-gpci.h).

What:

/sys/bus/event_source/devices/hv_gpci/interface/ga

Defined on file sysfs-bus-event_source-devices-hv_gpci

0 or 1. Indicates whether we have access to “GA” events (listed in arch/powerpc/perf/hv-gpci.h).

What:

/sys/bus/event_source/devices/hv_gpci/interface/kernel_version

Defined on file sysfs-bus-event_source-devices-hv_gpci

A number indicating the latest version of the gpci interface that the kernel is aware of.

What:

/sys/bus/event_source/devices/hv_gpci/interface/lab

Defined on file sysfs-bus-event_source-devices-hv_gpci

0 or 1. Indicates whether we have access to “LAB” events (listed in arch/powerpc/perf/hv-gpci.h).

What:

/sys/bus/event_source/devices/hv_gpci/interface/version

Defined on file sysfs-bus-event_source-devices-hv_gpci

A number indicating the version of the gpci interface that the hypervisor reports supporting.

What:

/sys/bus/fcoe/

Defined on file sysfs-bus-fcoe

The FCoE bus. Attributes in this directory are control interfaces. Attributes:

ctlr_create: ‘FCoE Controller’ instance creation interface. Writing an

<ifname> to this file will allocate and populate sysfs with a fcoe_ctlr_device (ctlr_X). The user can then configure any per-port settings and finally write to the fcoe_ctlr_device’s ‘start’ attribute to begin the kernel’s discovery and login process.

ctlr_destroy: ‘FCoE Controller’ instance removal interface. Writing a

fcoe_ctlr_device’s sysfs name to this file will log the fcoe_ctlr_device out of the fabric or otherwise connected FCoE devices. It will also free all kernel memory allocated for this fcoe_ctlr_device and any structures associated with it, this includes the scsi_host.

What:

/sys/bus/fcoe/devices/ctlr_X

Defined on file sysfs-bus-fcoe

‘FCoE Controller’ instances on the fcoe bus. The FCoE Controller now has a three stage creation process. 1) Write interface name to ctlr_create 2) Configure the FCoE Controller (ctlr_X) 3) Enable the FCoE Controller to begin discovery and login. The FCoE Controller is destroyed by writing it’s name, i.e. ctlr_X to the ctlr_delete file.

Attributes:

fcf_dev_loss_tmo: Device loss timeout period (see below). Changing

this value will change the dev_loss_tmo for all FCFs discovered by this controller.

mode: Display or change the FCoE Controller’s mode. Possible

modes are ‘Fabric’ and ‘VN2VN’. If a FCoE Controller is started in ‘Fabric’ mode then FIP FCF discovery is initiated and ultimately a fabric login is attempted. If a FCoE Controller is started in ‘VN2VN’ mode then FIP VN2VN discovery and login is performed. A FCoE Controller only supports one mode at a time.

enabled: Whether an FCoE controller is enabled or disabled.

0 if disabled, 1 if enabled. Writing either 0 or 1 to this file will enable or disable the FCoE controller.

lesb/link_fail: Link Error Status Block (LESB) link failure count.

lesb/vlink_fail: Link Error Status Block (LESB) virtual link

failure count.

lesb/miss_fka: Link Error Status Block (LESB) missed FCoE

Initialization Protocol (FIP) Keep-Alives (FKA).

lesb/symb_err: Link Error Status Block (LESB) symbolic error count.

lesb/err_block: Link Error Status Block (LESB) block error count.

lesb/fcs_error: Link Error Status Block (LESB) Fibre Channel

Services error count.

Notes: ctlr_X (global increment starting at 0)

What:

/sys/bus/fcoe/devices/fcf_X

Defined on file sysfs-bus-fcoe

‘FCoE FCF’ instances on the fcoe bus. A FCF is a Fibre Channel Forwarder, which is a FCoE switch that can accept FCoE (Ethernet) packets, unpack them, and forward the embedded Fibre Channel frames into a FC fabric. It can also take outbound FC frames and pack them in Ethernet packets to be sent to their destination on the Ethernet segment. Attributes:

fabric_name: Identifies the fabric that the FCF services.

switch_name: Identifies the FCF.

priority: The switch’s priority amongst other FCFs on the same

fabric.

selected: 1 indicates that the switch has been selected for use;

0 indicates that the switch will not be used.

fc_map: The Fibre Channel MAP

vfid: The Virtual Fabric ID

mac: The FCF’s MAC address

fka_period: The FIP Keep-Alive period

fabric_state: The internal kernel state

“Unknown” - Initialization value “Disconnected” - No link to the FCF/fabric “Connected” - Host is connected to the FCF “Deleted” - FCF is being removed from the system

dev_loss_tmo: The device loss timeout period for this FCF.

Notes: A device loss infrastructure similar to the FC Transport’s

is present in fcoe_sysfs. It is nice to have so that a link flapping adapter doesn’t continually advance the count used to identify the discovered FCF. FCFs will exist in a “Disconnected” state until either the timer expires and the FCF becomes “Deleted” or the FCF is rediscovered and becomes “Connected.”

What:

/sys/bus/fsl-mc/drivers/…/bind

Defined on file sysfs-bus-fsl-mc

Writing a device location to this file will cause the driver to attempt to bind to the device found at this location. The format for the location is Object.Id and is the same as found in /sys/bus/fsl-mc/devices/. For example: # echo dpni.2 > /sys/bus/fsl-mc/drivers/fsl_dpaa2_eth/bind

What:

/sys/bus/fsl-mc/drivers/…/unbind

Defined on file sysfs-bus-fsl-mc

Writing a device location to this file will cause the driver to attempt to unbind from the device found at this location. The format for the location is Object.Id and is the same as found in /sys/bus/fsl-mc/devices/. For example: # echo dpni.2 > /sys/bus/fsl-mc/drivers/fsl_dpaa2_eth/unbind

What:

/sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/speed

Defined on file sysfs-driver-wacom

The /sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/speed file controls reporting speed of Wacom bluetooth tablet. Reading from this file returns 1 if tablet reports in high speed mode or 0 otherwise. Writing to this file one of these values switches reporting speed.

What:

/sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/button<n>_rawimg

Defined on file sysfs-driver-wacom

When writing a 1024 byte raw image in Wacom Intuos 4 interleaving format to the file, the image shows up on Button N of the device. The image is a 64x32 pixel 4-bit gray image. The 1024 byte binary is split up into 16x 64 byte chunks. Each 64 byte chunk encodes the image data for two consecutive lines on the display. The low nibble of each byte contains the first line, and the high nibble contains the second line. When the Wacom Intuos 4 is connected over Bluetooth, the image has to contain 256 bytes (64x32 px 1 bit colour). The format is also scrambled, like in the USB mode, and it can be summarized by converting:

76543210 into GECA6420.
HGFEDCBA      HFDB7531

What:

/sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/buttons_luminance

Defined on file sysfs-driver-wacom

Writing to this file sets the overall luminance level (0..15) of all eight button OLED displays.

What:

/sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/led

Defined on file sysfs-driver-wacom

Attribute group for control of the status LEDs and the OLEDs. This attribute group is only available for Intuos 4 M, L, and XL (with LEDs and OLEDs), Intuos 4 WL, Intuos 5 (LEDs only), Intuos Pro (LEDs only) and Cintiq 21UX2 and Cintiq 24HD (LEDs only). Therefore its presence implicitly signifies the presence of said LEDs and OLEDs on the tablet device.

What:

/sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/status0_luminance

Defined on file sysfs-driver-wacom

<obsoleted by the LED class API now exported by the driver> Writing to this file sets the status LED luminance (1..127) when the stylus does not touch the tablet surface, and no button is pressed on the stylus. This luminance level is normally lower than the level when a button is pressed.

What:

/sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/status1_luminance

Defined on file sysfs-driver-wacom

<obsoleted by the LED class API now exported by the driver> Writing to this file sets the status LED luminance (1..127) when the stylus touches the tablet surface, or any button is pressed on the stylus.

What:

/sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/status_led0_select

Defined on file sysfs-driver-wacom

<obsoleted by the LED class API now exported by the driver> Writing to this file sets which one of the four (for Intuos 4 and Intuos 5) or of the right four (for Cintiq 21UX2 and Cintiq 24HD) status LEDs is active (0..3). The other three LEDs on the same side are always inactive.

What:

/sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/status_led1_select

Defined on file sysfs-driver-wacom

<obsoleted by the LED class API now exported by the driver> Writing to this file sets which one of the left four (for Cintiq 21UX2 and Cintiq 24HD) status LEDs is active (0..3). The other three LEDs on the left are always inactive.

What:

/sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_remote/<serial_number>/remote_mode

Defined on file sysfs-driver-wacom

<obsoleted by the LED class API now exported by the driver> Reading from this file reports the mode status of the remote as indicated by the LED lights on the device. If no reports have been received from the paired device, reading from this file will report ‘-1’. The mode is read-only and cannot be set through the driver.

What:

/sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_remote/unpair_remote

Defined on file sysfs-driver-wacom

Writing the character sequence ‘*’ followed by a newline to this file will delete all of the current pairings on the device. Other character sequences are reserved. This file is write only.

What:

/sys/bus/hid/drivers/logitech-hidpp-device/<dev>/builtin_power_supply

Defined on file sysfs-driver-hid-logitech-hidpp

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.

What:

/sys/bus/hid/drivers/logitech-hidpp-device/<dev>/range

Defined on file sysfs-driver-hid-logitech-hidpp

(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/<dev>/alternate_modes

Defined on file sysfs-driver-hid-logitech-lg4ff

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>/combine_pedals

Defined on file sysfs-driver-hid-logitech-lg4ff

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’.

What:

/sys/bus/hid/drivers/logitech/<dev>/range

Defined on file sysfs-driver-hid-logitech-lg4ff

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>/real_id

Defined on file sysfs-driver-hid-logitech-lg4ff

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/ntrig/<dev>/activate_slack

Defined on file sysfs-driver-hid-ntrig

(RW) Number of contact frames ignored before acknowledging the start of activity (activating touch).

What:

/sys/bus/hid/drivers/ntrig/<dev>/activation_width

/sys/bus/hid/drivers/ntrig/<dev>/activation_height

Defined on file sysfs-driver-hid-ntrig

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>/decativate_slack

Defined on file sysfs-driver-hid-ntrig

(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>/min_width

/sys/bus/hid/drivers/ntrig/<dev>/min_height

Defined on file sysfs-driver-hid-ntrig

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_logical_width

/sys/bus/hid/drivers/ntrig/<dev>/sensor_logical_height

Defined on file sysfs-driver-hid-ntrig

(RO) The range for positions reported during activity.

What:

/sys/bus/hid/drivers/ntrig/<dev>/sensor_physical_width

/sys/bus/hid/drivers/ntrig/<dev>/sensor_physical_height

Defined on file sysfs-driver-hid-ntrig

(RO) These are internal ranges not used for normal events but useful for tuning.

What:

/sys/bus/hid/drivers/prodikeys/…/channel

Defined on file sysfs-driver-hid-prodikeys

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/…/octave

Defined on file sysfs-driver-hid-prodikeys

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

What:

/sys/bus/hid/drivers/prodikeys/…/sustain

Defined on file sysfs-driver-hid-prodikeys

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/wiimote/<dev>/bboard_calib

Defined on file sysfs-driver-hid-wiimote

This attribute is only provided if the device was detected as a balance board. It provides a single line with 3 calibration values for all 4 sensors. The values are separated by colons and are each 2 bytes long (encoded as 4 digit hexadecimal value). First, 0kg values for all 4 sensors are written, followed by the 17kg values for all 4 sensors and last the 34kg values for all 4 sensors.

Calibration data is already applied by the kernel to all input values but may be used by user-space to perform other transformations.

What:

/sys/bus/hid/drivers/wiimote/<dev>/devtype

Defined on file sysfs-driver-hid-wiimote

While a device is initialized by the wiimote driver, we perform a device detection and signal a “change” uevent after it is done. This file shows the detected device type. “pending” means that the detection is still ongoing, “unknown” means, that the device couldn’t be detected or loaded. “generic” means, that the device couldn’t be detected but supports basic Wii Remote features and can be used. Other strings for each device-type are available and may be added if new device-specific detections are added. Currently supported are:

gen10:

First Wii Remote generation

gen20:

Second Wii Remote Plus generation (builtin MP)

balanceboard:

Wii Balance Board

What:

/sys/bus/hid/drivers/wiimote/<dev>/extension

Defined on file sysfs-driver-hid-wiimote

This file contains the currently connected and initialized extensions. It can be one of: none, motionp, nunchuck, classic, motionp+nunchuck, motionp+classic motionp is the official Nintendo Motion+ extension, nunchuck is the official Nintendo Nunchuck extension and classic is the Nintendo Classic Controller extension. The motionp extension can be combined with the other two. Starting with kernel-version 3.11 Motion Plus hotplugging is supported and if detected, it’s no longer reported as static extension. You will get uevent notifications for the motion-plus device then.

What:

/sys/bus/hid/drivers/wiimote/<dev>/led1

/sys/bus/hid/drivers/wiimote/<dev>/led2

/sys/bus/hid/drivers/wiimote/<dev>/led3

/sys/bus/hid/drivers/wiimote/<dev>/led4

Defined on file sysfs-driver-hid-wiimote

Make it possible to set/get current led state. Reading from it returns 0 if led is off and 1 if it is on. Writing 0 to it disables the led, writing 1 enables it.

What:

/sys/bus/hid/drivers/wiimote/<dev>/pro_calib

Defined on file sysfs-driver-hid-wiimote

This attribute is only provided if the device was detected as a pro-controller. It provides a single line with 4 calibration values for all 4 analog sticks. Format is: “x1:y1 x2:y2”. Data is prefixed with a +/-. Each value is a signed 16bit number. Data is encoded as decimal numbers and specifies the offsets of the analog sticks of the pro-controller.

Calibration data is already applied by the kernel to all input values but may be used by user-space to perform other transformations.

Calibration data is detected by the kernel during device setup. You can write “scann” into this file to re-trigger calibration. You can also write data directly in the form “x1:y1 x2:y2” to set the calibration values manually.

What:

/sys/bus/hsi

Defined on file sysfs-bus-hsi

High Speed Synchronous Serial Interface (HSI) is a serial interface mainly used for connecting application engines (APE) with cellular modem engines (CMT) in cellular handsets. The bus will be populated with devices (hsi_clients) representing the protocols available in the system. Bus drivers implement those protocols.

What:

/sys/bus/hsi/devices/…/modalias

Defined on file sysfs-bus-hsi

Stores the same MODALIAS value emitted by uevent Format: hsi:<hsi_client device name>

What:

/sys/bus/i2c/…/idle_state

Defined on file sysfs-bus-i2c-devices-pca954x

Value that exists only for mux devices that can be written to control the behaviour of the multiplexer on idle. Possible values:

-2

disconnect on idle, i.e. deselect the last used channel, which is useful when there is a device with an address that conflicts with another device on another mux on the same parent bus.

-1

leave the mux as-is, which is the most optimal setting in terms of I2C operations and is the default mode.

0..<nchans>

set the mux to a predetermined channel, which is useful if there is one channel that is used almost always, and you want to reduce the latency for normal operations after rare transactions on other channels

What:

/sys/bus/i2c/devices/…/bd9571mwv-regulator.*.auto/backup_mode

Defined on file sysfs-driver-bd9571mwv-regulator

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:

  1. 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.

  2. 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/bd9571mwv.txt.

What:

/sys/bus/i2c/devices/…/calibration

Defined on file sysfs-bus-i2c-devices-hm6352

Sets the calibration on or off (1 = on, 0 = off). See the chip data sheet.

What:

/sys/bus/i2c/devices/…/device

Defined on file sysfs-bus-i2c-devices-fsa9480

show what device is attached NONE - no device USB - USB device is attached UART - UART is attached CHARGER - Charger is attaced JIG - JIG is attached

What:

/sys/bus/i2c/devices/…/heading0_input

Defined on file sysfs-bus-i2c-devices-hm6352

Reports the current heading from the compass as a floating point value in degrees.

What:

/sys/bus/i2c/devices/…/output_hvled[n]

Defined on file sysfs-bus-i2c-devices-lm3533

Set the controlling backlight device for high-voltage current sink HVLED[n] (n = 1, 2) (0, 1).

What:

/sys/bus/i2c/devices/…/output_lvled[n]

Defined on file sysfs-bus-i2c-devices-lm3533

Set the controlling led device for low-voltage current sink LVLED[n] (n = 1..5) (0..3).

What:

/sys/bus/i2c/devices/…/power_state

Defined on file sysfs-bus-i2c-devices-hm6352

Sets the power state of the device. 0 sets the device into sleep mode, 1 wakes it up.

What:

/sys/bus/i2c/devices/…/switch

Defined on file sysfs-bus-i2c-devices-fsa9480

show or set the state of manual switch VAUDIO - switch to VAUDIO path UART - switch to UART path AUDIO - switch to AUDIO path DHOST - switch to DHOST path AUTO - switch automatically by device

What:

/sys/bus/i2c/devices/…/trickle_charge_bypass

Defined on file sysfs-bus-i2c-devices-bq32k

Attribute for enable/disable the trickle charge bypass The trickle_charge_bypass attribute allows the userspace to enable/disable the Trickle charge FET bypass.

What:

/sys/bus/i2c/drivers/ucsi_ccg/…/do_flash

Defined on file sysfs-driver-ucsi-ccg

Tell the driver for Cypress CCGx Type-C controller to attempt firmware upgrade by writing [Yy1] to the file.

What:

/sys/bus/i3c/devices/<bus-id>-<device-pid>

Defined on file sysfs-bus-i3c

These directories are just symbolic links to /sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>.

What:

/sys/bus/i3c/devices/i3c-<bus-id>

Defined on file sysfs-bus-i3c

An I3C bus. This directory will contain one sub-directory per I3C device present on the bus.

What:

/sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>

Defined on file sysfs-bus-i3c

An I3C device present on I3C bus identified by <bus-id>. Note that all devices are represented including the master driving the bus.

What:

/sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>/bcr

Defined on file sysfs-bus-i3c

BCR stands for Bus Characteristics Register and express the device capabilities in term of speed, maximum read/write length, etc. See the I3C specification for more details.

What:

/sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>/dcr

Defined on file sysfs-bus-i3c

DCR stands for Device Characteristics Register and express the device capabilities in term of exposed features. See the I3C specification for more details.

What:

/sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>/dynamic_address

Defined on file sysfs-bus-i3c

Dynamic address assigned to device <bus-id>-<device-pid>. This address may change if the bus is re-initialized.

What:

/sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>/hdrcap

Defined on file sysfs-bus-i3c

Expose the HDR (High Data Rate) capabilities of a device. Returns a list of supported HDR mode, each element is separated by space. Modes can be “hdr-ddr”, “hdr-tsp” and “hdr-tsl”. See the I3C specification for more details about these HDR modes.

What:

/sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>/pid

Defined on file sysfs-bus-i3c

PID stands for Provisional ID and is used to uniquely identify a device on a bus. This PID contains information about the vendor, the part and an instance ID so that several devices of the same type can be connected on the same bus. See the I3C specification for more details.

What:

/sys/bus/i3c/devices/i3c-<bus-id>/bcr

Defined on file sysfs-bus-i3c

BCR stands for Bus Characteristics Register and express the device capabilities in term of speed, maximum read/write length, etc. See the I3C specification for more details. This entry describes the BCR of the master controller driving the bus.

What:

/sys/bus/i3c/devices/i3c-<bus-id>/current_master

Defined on file sysfs-bus-i3c

Expose the master that owns the bus (<bus-id>-<master-pid>) at the time this file is read. Note that bus ownership can change overtime, so there’s no guarantee that when the read() call returns, the value returned is still valid.

What:

/sys/bus/i3c/devices/i3c-<bus-id>/dcr

Defined on file sysfs-bus-i3c

DCR stands for Device Characteristics Register and express the device capabilities in term of exposed features. See the I3C specification for more details. This entry describes the DCR of the master controller driving the bus.

What:

/sys/bus/i3c/devices/i3c-<bus-id>/dynamic_address

Defined on file sysfs-bus-i3c

Dynamic address assigned to the master controller. This address may change if the bus is re-initialized.

What:

/sys/bus/i3c/devices/i3c-<bus-id>/hdrcap

Defined on file sysfs-bus-i3c

Expose the HDR (High Data Rate) capabilities of a device. Returns a list of supported HDR mode, each element is separated by space. Modes can be “hdr-ddr”, “hdr-tsp” and “hdr-tsl”. See the I3C specification for more details about these HDR modes. This entry describes the HDRCAP of the master controller driving the bus.

What:

/sys/bus/i3c/devices/i3c-<bus-id>/i2c_scl_frequency

Defined on file sysfs-bus-i3c

The frequency (expressed in Hz) of the SCL signal when operating in I2C mode.

What:

/sys/bus/i3c/devices/i3c-<bus-id>/i3c_scl_frequency

Defined on file sysfs-bus-i3c

The frequency (expressed in Hz) of the SCL signal when operating in I3C SDR mode.

What:

/sys/bus/i3c/devices/i3c-<bus-id>/mode

Defined on file sysfs-bus-i3c

I3C bus mode. Can be “pure”, “mixed-fast” or “mixed-slow”. See the I3C specification for a detailed description of what each of these modes implies.

What:

/sys/bus/i3c/devices/i3c-<bus-id>/pid

Defined on file sysfs-bus-i3c

PID stands for Provisional ID and is used to uniquely identify a device on a bus. This PID contains information about the vendor, the part and an instance ID so that several devices of the same type can be connected on the same bus. See the I3C specification for more details. This entry describes the PID of the master controller driving the bus.

What:

/sys/bus/iio/devices/device[n]/in_illuminance_calibrate

Defined on file sysfs-bus-iio-light-tsl2583

This property causes an internal calibration of the als gain trim value which is later used in calculating illuminance in lux.

What:

/sys/bus/iio/devices/device[n]/in_illuminance_input_target

Defined on file sysfs-bus-iio-light-tsl2583

This property is the known externally illuminance (in lux). It is used in the process of calibrating the device accuracy.

What:

/sys/bus/iio/devices/device[n]/in_illuminance_lux_table

Defined on file sysfs-bus-iio-light-tsl2583

This property gets/sets the table of coefficients used in calculating illuminance in lux.

What:

/sys/bus/iio/devices/iio:device*/buffer/hwfifo_timeout

Defined on file sysfs-bus-iio

A read/write property to provide capability to delay reporting of samples till a timeout is reached. This allows host processors to sleep, while the sensor is storing samples in its internal fifo. The maximum timeout in seconds can be specified by setting hwfifo_timeout.The current delay can be read by reading hwfifo_timeout. A value of 0 means that there is no timeout.

What:

/sys/bus/iio/devices/iio:deviceX

Defined on file sysfs-bus-iio

Hardware chip or device accessed by one communication port. Corresponds to a grouping of sensor channels. X is the IIO index of the device.

What:

/sys/bus/iio/devices/iio:deviceX/battery_low

Defined on file sysfs-bus-iio-meas-spec

Reading returns either ‘1’ or ‘0’. ‘1’ means that the battery level supplied to sensor is below 2.25V. This ABI is available for tsys02d, htu21, ms8607

What:

/sys/bus/iio/devices/iio:deviceX/buffer

Defined on file sysfs-bus-iio

Directory of attributes relating to the buffer for the device.

What:

/sys/bus/iio/devices/iio:deviceX/buffer/data_available

Defined on file sysfs-bus-iio

A read-only value indicating the bytes of data available in the buffer. In the case of an output buffer, this indicates the amount of empty space available to write data to. In the case of an input buffer, this indicates the amount of data available for reading.

What:

/sys/bus/iio/devices/iio:deviceX/buffer/enable

Defined on file sysfs-bus-iio

Actually start the buffer capture up. Will start trigger if first device and appropriate.

What:

/sys/bus/iio/devices/iio:deviceX/buffer/hwfifo_enabled

Defined on file sysfs-bus-iio

A read-only boolean value that indicates if the hardware fifo is currently enabled or disabled. If the device does not have a hardware fifo this entry is not present. The hardware fifo is enabled when the buffer is enabled if the current hardware fifo watermark level is set and other current device settings allows it (e.g. if a trigger is set that samples data differently that the hardware fifo does then hardware fifo will not enabled). If the hardware fifo is enabled and the level of the hardware fifo reaches the hardware fifo watermark level the device will flush its hardware fifo to the device buffer. Doing a non blocking read on the device when no samples are present in the device buffer will also force a flush. When the hardware fifo is enabled there is no need to use a trigger to use buffer mode since the watermark settings guarantees that the hardware fifo is flushed to the device buffer.

What:

/sys/bus/iio/devices/iio:deviceX/buffer/hwfifo_watermark

Defined on file sysfs-bus-iio

Read-only entry that contains a single integer specifying the current watermark level for the hardware fifo. If the device does not have a hardware fifo this entry is not present. The watermark level for the hardware fifo is set by the driver based on the value set by the user in buffer/watermark but taking into account hardware limitations (e.g. most hardware buffers are limited to 32-64 samples, some hardware buffers watermarks are fixed or have minimum levels). A value of 0 means that the hardware watermark is unset.

What:

/sys/bus/iio/devices/iio:deviceX/buffer/hwfifo_watermark_available

Defined on file sysfs-bus-iio

A list of positive integers specifying the available watermark levels for the hardware fifo. This entry is optional and if it is not present it means that all the values between hwfifo_watermark_min and hwfifo_watermark_max are supported. If the user sets buffer/watermark to a value greater than hwfifo_watermak_min but not equal to any of the values in this list, the driver will chose an appropriate value for the hardware fifo watermark level.

What:

/sys/bus/iio/devices/iio:deviceX/buffer/hwfifo_watermark_max

Defined on file sysfs-bus-iio

A single positive integer specifying the maximum watermark level for the hardware fifo of this device. If the device does not have a hardware fifo this entry is not present. If the user sets buffer/watermark to a value greater than this one, then the hardware watermark will be capped at this value.

What:

/sys/bus/iio/devices/iio:deviceX/buffer/hwfifo_watermark_min

Defined on file sysfs-bus-iio

A single positive integer specifying the minimum watermark level for the hardware fifo of this device. If the device does not have a hardware fifo this entry is not present. If the user sets buffer/watermark to a value less than this one, then the hardware watermark will remain unset.

What:

/sys/bus/iio/devices/iio:deviceX/buffer/length

Defined on file sysfs-bus-iio

Number of scans contained by the buffer.

What:

/sys/bus/iio/devices/iio:deviceX/buffer/watermark

Defined on file sysfs-bus-iio

A single positive integer specifying the maximum number of scan elements to wait for. Poll will block until the watermark is reached. Blocking read will wait until the minimum between the requested read amount or the low water mark is available. Non-blocking read will retrieve the available samples from the buffer even if there are less samples then watermark level. This allows the application to block on poll with a timeout and read the available samples after the timeout expires and thus have a maximum delay guarantee.

What:

/sys/bus/iio/devices/iio:deviceX/calibrate

Defined on file sysfs-bus-iio-cros-ec

Writing ‘1’ will perform a FOC (Fast Online Calibration). The corresponding calibration offsets can be read from *_calibbias entries.

What:

/sys/bus/iio/devices/iio:deviceX/cleaning_period

Defined on file sysfs-bus-iio-sps30

Sensor is capable of triggering self cleaning periodically. Period can be changed by writing a new value here. Upon reading the current one is returned. Units are seconds.

Writing 0 disables periodical self cleaning entirely.

What:

/sys/bus/iio/devices/iio:deviceX/cleaning_period_available

Defined on file sysfs-bus-iio-sps30

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

What:

/sys/bus/iio/devices/iio:deviceX/conversion_mode

Defined on file sysfs-bus-iio-vf610

Specifies the hardware conversion mode used. The three available modes are “normal”, “high-speed” and “low-power”, where the last is the default mode.

What:

/sys/bus/iio/devices/iio:deviceX/current_timestamp_clock

Defined on file sysfs-bus-iio

String identifying current posix clock used to timestamp buffered samples and events for device X.

What:

/sys/bus/iio/devices/iio:deviceX/events

Defined on file sysfs-bus-iio

Configuration of which hardware generated events are passed up to user-space.

What:

/sys/bus/iio/devices/iio:deviceX/events/in_voltageY_thresh_falling_value

Defined on file sysfs-bus-iio-adc-hi8435

Channel Y low voltage threshold. If sensor input voltage goes lower then this value then the threshold falling event is pushed. Depending on in_voltageY_sensing_mode the low voltage threshold is separately set for “GND-Open” and “Supply-Open” modes. Channels 0..31 have common low threshold values, but could have different sensing_modes. The low voltage threshold range is between 2..21V. Hysteresis between low and high thresholds can not be lower then 2 and can not be odd. If falling threshold results hysteresis to odd value then rising threshold is automatically subtracted by one.

What:

/sys/bus/iio/devices/iio:deviceX/events/in_voltageY_thresh_rising_value

Defined on file sysfs-bus-iio-adc-hi8435

Channel Y high voltage threshold. If sensor input voltage goes higher then this value then the threshold rising event is pushed. Depending on in_voltageY_sensing_mode the high voltage threshold is separately set for “GND-Open” and “Supply-Open” modes. Channels 0..31 have common high threshold values, but could have different sensing_modes. The high voltage threshold range is between 3..22V. Hysteresis between low and high thresholds can not be lower then 2 and can not be odd. If rising threshold results hysteresis to odd value then falling threshold is automatically appended by one.

What:

/sys/bus/iio/devices/iio:deviceX/fault_oc

Defined on file sysfs-bus-iio-temperature-max31856

Open-circuit fault. The detection of open-circuit faults, such as those caused by broken thermocouple wires. Reading returns either ‘1’ or ‘0’.

‘1’

An open circuit such as broken thermocouple wires has been detected.

‘0’

No open circuit or broken thermocouple wires are detected

What:

/sys/bus/iio/devices/iio:deviceX/fault_ovuv

Defined on file sysfs-bus-iio-temperature-max31856

Overvoltage or Undervoltage Input Fault. The internal circuitry is protected from excessive voltages applied to the thermocouple cables by integrated MOSFETs at the T+ and T- inputs, and the BIAS output. These MOSFETs turn off when the input voltage is negative or greater than VDD.

Reading returns either ‘1’ or ‘0’.

‘1’

The input voltage is negative or greater than VDD.

‘0’

The input voltage is positive and less than VDD (normal state).

What:

/sys/bus/iio/devices/iio:deviceX/heater_enable

Defined on file sysfs-bus-iio

‘1’ (enable) or ‘0’ (disable) specifying the enable of heater function. Same reading values apply This ABI is especially applicable for humidity sensors to heatup the device and get rid of any condensation in some humidity environment

What:

/sys/bus/iio/devices/iio:deviceX/id

Defined on file sysfs-bus-iio-cros-ec

This attribute is exposed by the CrOS EC sensors driver and represents the sensor ID as exposed by the EC. This ID is used by the Android sensor service hardware abstraction layer (sensor HAL) through the Android container on ChromeOS.

What:

/sys/bus/iio/devices/iio:deviceX/in_X_mean_raw

Defined on file sysfs-bus-iio

Averaged raw measurement from channel X. The number of values used for averaging is device specific. The converting rules for normal raw values also applies to the averaged raw values.

What:

/sys/bus/iio/devices/iio:deviceX/in_accel_offset

/sys/bus/iio/devices/iio:deviceX/in_accel_x_offset

/sys/bus/iio/devices/iio:deviceX/in_accel_y_offset

/sys/bus/iio/devices/iio:deviceX/in_accel_z_offset

/sys/bus/iio/devices/iio:deviceX/in_voltageY_offset

/sys/bus/iio/devices/iio:deviceX/in_voltage_offset

/sys/bus/iio/devices/iio:deviceX/in_voltageY_i_offset

/sys/bus/iio/devices/iio:deviceX/in_voltageY_q_offset

/sys/bus/iio/devices/iio:deviceX/in_voltage_q_offset

/sys/bus/iio/devices/iio:deviceX/in_voltage_i_offset

/sys/bus/iio/devices/iio:deviceX/in_currentY_offset

/sys/bus/iio/devices/iio:deviceX/in_current_offset

/sys/bus/iio/devices/iio:deviceX/in_currentY_i_offset

/sys/bus/iio/devices/iio:deviceX/in_currentY_q_offset

/sys/bus/iio/devices/iio:deviceX/in_current_q_offset

/sys/bus/iio/devices/iio:deviceX/in_current_i_offset

/sys/bus/iio/devices/iio:deviceX/in_tempY_offset

/sys/bus/iio/devices/iio:deviceX/in_temp_offset

/sys/bus/iio/devices/iio:deviceX/in_pressureY_offset

/sys/bus/iio/devices/iio:deviceX/in_pressure_offset

/sys/bus/iio/devices/iio:deviceX/in_humidityrelative_offset

/sys/bus/iio/devices/iio:deviceX/in_magn_offset

/sys/bus/iio/devices/iio:deviceX/in_rot_offset

/sys/bus/iio/devices/iio:deviceX/in_angl_offset

Defined on file sysfs-bus-iio

If known for a device, offset to be added to <type>[Y]_raw prior to scaling by <type>[Y]_scale in order to obtain value in the <type> units as specified in <type>[Y]_raw documentation. Not present if the offset is always 0 or unknown. If Y or axis <x|y|z> is not present, then the offset applies to all in channels of <type>. May be writable if a variable offset can be applied on the device. Note that this is different to calibbias which is for devices (or drivers) that apply offsets to compensate for variation between different instances of the part, typically adjusted by using some hardware supported calibration procedure. Calibbias is applied internally, offset is applied in userspace to the _raw output.

What:

/sys/bus/iio/devices/iio:deviceX/in_accel_scale_available

/sys/…/iio:deviceX/in_anglvel_scale_available

/sys/…/iio:deviceX/in_magn_scale_available

/sys/…/iio:deviceX/in_illuminance_scale_available

/sys/…/iio:deviceX/in_intensity_scale_available

/sys/…/iio:deviceX/in_proximity_scale_available

/sys/…/iio:deviceX/in_voltageX_scale_available

/sys/…/iio:deviceX/in_voltage-voltage_scale_available

/sys/…/iio:deviceX/out_voltageX_scale_available

/sys/…/iio:deviceX/out_altvoltageX_scale_available

/sys/…/iio:deviceX/in_capacitance_scale_available

/sys/…/iio:deviceX/in_pressure_scale_available

/sys/…/iio:deviceX/in_pressureY_scale_available

Defined on file sysfs-bus-iio

If a discrete set of scale values is available, they are listed in this attribute.

What /sys/bus/iio/devices/iio:deviceX/out_voltageY_hardwaregain

What:

/sys/bus/iio/devices/iio:deviceX/in_accel_x_calibbias

/sys/bus/iio/devices/iio:deviceX/in_accel_y_calibbias

/sys/bus/iio/devices/iio:deviceX/in_accel_z_calibbias

/sys/bus/iio/devices/iio:deviceX/in_anglvel_x_calibbias

/sys/bus/iio/devices/iio:deviceX/in_anglvel_y_calibbias

/sys/bus/iio/devices/iio:deviceX/in_anglvel_z_calibbias

/sys/bus/iio/devices/iio:deviceX/in_illuminance0_calibbias

/sys/bus/iio/devices/iio:deviceX/in_proximity0_calibbias

/sys/bus/iio/devices/iio:deviceX/in_pressureY_calibbias

/sys/bus/iio/devices/iio:deviceX/in_pressure_calibbias

Defined on file sysfs-bus-iio

Hardware applied calibration offset (assumed to fix production inaccuracies).

What /sys/bus/iio/devices/iio:deviceX/in_voltageY_calibscale What /sys/bus/iio/devices/iio:deviceX/in_voltageY_supply_calibscale What /sys/bus/iio/devices/iio:deviceX/in_voltageY_i_calibscale What /sys/bus/iio/devices/iio:deviceX/in_voltageY_q_calibscale What /sys/bus/iio/devices/iio:deviceX/in_voltage_i_calibscale What /sys/bus/iio/devices/iio:deviceX/in_voltage_q_calibscale What /sys/bus/iio/devices/iio:deviceX/in_voltage_calibscale What /sys/bus/iio/devices/iio:deviceX/in_accel_x_calibscale What /sys/bus/iio/devices/iio:deviceX/in_accel_y_calibscale What /sys/bus/iio/devices/iio:deviceX/in_accel_z_calibscale What /sys/bus/iio/devices/iio:deviceX/in_anglvel_x_calibscale What /sys/bus/iio/devices/iio:deviceX/in_anglvel_y_calibscale What /sys/bus/iio/devices/iio:deviceX/in_anglvel_z_calibscale what /sys/bus/iio/devices/iio:deviceX/in_illuminance0_calibscale what /sys/bus/iio/devices/iio:deviceX/in_proximity0_calibscale

What:

/sys/bus/iio/devices/iio:deviceX/in_accel_x_peak_raw

/sys/bus/iio/devices/iio:deviceX/in_accel_y_peak_raw

/sys/bus/iio/devices/iio:deviceX/in_accel_z_peak_raw

Defined on file sysfs-bus-iio

Highest value since some reset condition. These attributes allow access to this and are otherwise the direct equivalent of the <type>Y[_name]_raw attributes.

What:

/sys/bus/iio/devices/iio:deviceX/in_accel_x_raw

/sys/bus/iio/devices/iio:deviceX/in_accel_y_raw

/sys/bus/iio/devices/iio:deviceX/in_accel_z_raw

Defined on file sysfs-bus-iio

Acceleration in direction x, y or z (may be arbitrarily assigned but should match other such assignments on device). Has all of the equivalent parameters as per voltageY. Units after application of scale and offset are m/s^2.

What:

/sys/bus/iio/devices/iio:deviceX/in_accel_xyz_squared_peak_raw

Defined on file sysfs-bus-iio

A computed peak value based on the sum squared magnitude of the underlying value in the specified directions.

What:

/sys/bus/iio/devices/iio:deviceX/in_activity_calibgender

/sys/bus/iio/devices/iio:deviceX/in_energy_calibgender

/sys/bus/iio/devices/iio:deviceX/in_distance_calibgender

/sys/bus/iio/devices/iio:deviceX/in_velocity_calibgender

Defined on file sysfs-bus-iio

Gender of the user (e.g.: male, female) used by some pedometers to compute the stride length, distance, speed and activity type.

What:

/sys/bus/iio/devices/iio:deviceX/in_activity_calibgender_available

/sys/bus/iio/devices/iio:deviceX/in_energy_calibgender_available

/sys/bus/iio/devices/iio:deviceX/in_distance_calibgender_available

/sys/bus/iio/devices/iio:deviceX/in_velocity_calibgender_available

Defined on file sysfs-bus-iio

Lists all available gender values (e.g.: male, female).

What:

/sys/bus/iio/devices/iio:deviceX/in_activity_calibheight

/sys/bus/iio/devices/iio:deviceX/in_energy_calibheight

/sys/bus/iio/devices/iio:deviceX/in_distance_calibheight

/sys/bus/iio/devices/iio:deviceX/in_velocity_calibheight

Defined on file sysfs-bus-iio

Height of the user (in meters) used by some pedometers to compute the stride length, distance, speed and activity type.

What:

/sys/bus/iio/devices/iio:deviceX/in_allow_async_readout

Defined on file sysfs-bus-iio-ina2xx-adc

By default (value ‘0’), the capture thread checks for the Conversion Ready Flag to being set prior to committing a new value to the sample buffer. This synchronizes the in-chip conversion rate with the in-driver readout rate at the cost of an additional register read.

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

What:

/sys/bus/iio/devices/iio:deviceX/in_altvoltageY_compare_interval

Defined on file sysfs-bus-iio-adc-envelope-detector

Number of milliseconds to wait for the comparator in each step of the binary search for the input peak level. Needs to relate to the frequency of the input signal.

What:

/sys/bus/iio/devices/iio:deviceX/in_altvoltageY_invert

Defined on file sysfs-bus-iio-adc-envelope-detector

The DAC is used to find the peak level of an alternating voltage input signal by a binary search using the output of a comparator wired to an interrupt pin. Like so:

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

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

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

What:

/sys/bus/iio/devices/iio:deviceX/in_angl_raw

Defined on file sysfs-bus-iio

Angle of rotation. Units after application of scale and offset are radians.

What:

/sys/bus/iio/devices/iio:deviceX/in_anglvel_x_raw

/sys/bus/iio/devices/iio:deviceX/in_anglvel_y_raw

/sys/bus/iio/devices/iio:deviceX/in_anglvel_z_raw

Defined on file sysfs-bus-iio

Angular velocity about axis x, y or z (may be arbitrarily assigned). Has all the equivalent parameters as per voltageY. Units after application of scale and offset are radians per second.

What:

/sys/bus/iio/devices/iio:deviceX/in_capacitanceY_raw

Defined on file sysfs-bus-iio

Raw capacitance measurement from channel Y. Units after application of scale and offset are nanofarads.

What:

/sys/bus/iio/devices/iio:deviceX/in_concentration_VOC_short_raw

Defined on file sysfs-bus-iio-chemical-vz89x

Get the raw calibration VOC value from the sensor. This value has little application outside of calibration.

What:

/sys/bus/iio/devices/iio:deviceX/in_concentration_raw

/sys/bus/iio/devices/iio:deviceX/in_concentrationX_raw

/sys/bus/iio/devices/iio:deviceX/in_concentration_co2_raw

/sys/bus/iio/devices/iio:deviceX/in_concentrationX_co2_raw

/sys/bus/iio/devices/iio:deviceX/in_concentration_ethanol_raw

/sys/bus/iio/devices/iio:deviceX/in_concentrationX_ethanol_raw

/sys/bus/iio/devices/iio:deviceX/in_concentration_h2_raw

/sys/bus/iio/devices/iio:deviceX/in_concentrationX_h2_raw

/sys/bus/iio/devices/iio:deviceX/in_concentration_voc_raw

/sys/bus/iio/devices/iio:deviceX/in_concentrationX_voc_raw

Defined on file sysfs-bus-iio

Raw (unscaled no offset etc.) percentage reading of a substance.

What:

/sys/bus/iio/devices/iio:deviceX/in_count0_enable_mode

Defined on file sysfs-bus-iio-timer-stm32

Configure the device counter enable modes, in all case counting direction is set by in_count0_count_direction attribute and the counter is clocked by the internal clock.

always:

Counter is always ON.

gated:

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

triggered:

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

What:

/sys/bus/iio/devices/iio:deviceX/in_count0_polarity

Defined on file sysfs-bus-iio-lptimer-stm32

Configure the device encoder/counter active edge:

  • rising-edge

  • falling-edge

  • both-edges

In non-quadrature mode, device counts up on active edge.

In quadrature mode, encoder counting scenarios are as follows:

Active edge

Level on opposite signal

IN1 signal

IN2 signal

Rising

Falling

Rising

Falling

Rising edge

High -> Low ->

Down Up

Up Down

Falling edge

High -> Low ->

Up Down

Down Up

Both edges

High -> Low ->

Down Up

Up Down

Up Down

Down Up

What:

/sys/bus/iio/devices/iio:deviceX/in_count0_preset

Defined on file sysfs-bus-iio-lptimer-stm32

Reading returns the current preset value. Writing sets the preset value. When counting up the counter starts from 0 and fires an event when reach preset value. When counting down the counter start from preset value and fire event when reach 0.

Reading returns the current preset value. Writing sets the preset value. Encoder counts continuously from 0 to preset value, depending on direction (up/down).

What:

/sys/bus/iio/devices/iio:deviceX/in_count0_quadrature_mode

Defined on file sysfs-bus-iio-lptimer-stm32

Configure the device counter quadrature modes:

channel_A:

Encoder A input servers as the count input and B as the UP/DOWN direction control input.

channel_B:

Encoder B input serves as the count input and A as the UP/DOWN direction control input.

quadrature:

Encoder A and B inputs are mixed to get direction and count with a scale of 0.25.

Configure the device counter quadrature modes:

  • non-quadrature:

    Encoder IN1 input servers as the count input (up direction).

  • quadrature:

    Encoder IN1 and IN2 inputs are mixed to get direction and count.

What:

/sys/bus/iio/devices/iio:deviceX/in_count0_trigger_mode

Defined on file sysfs-bus-iio-timer-stm32

Configure the device counter trigger mode counting direction is set by in_count0_count_direction attribute and the counter is clocked by the connected trigger rising edges.

What:

/sys/bus/iio/devices/iio:deviceX/in_countY_count_direction

Defined on file sysfs-bus-iio

This interface is deprecated; please use the Counter subsystem.

Raw counter device counters direction for channel Y.

What:

/sys/bus/iio/devices/iio:deviceX/in_countY_count_mode

Defined on file sysfs-bus-iio-counter-104-quad-8

This interface is deprecated; please use the Counter subsystem.

Count mode for channel Y. Four count modes are available: normal, range limit, non-recycle, and modulo-n. The preset value for channel Y is used by the count mode where required.

Normal:

Counting is continuous in either direction.

Range Limit:

An upper or lower limit is set, mimicking limit switches in the mechanical counterpart. The upper limit is set to the preset value, while the lower limit is set to 0. The counter freezes at count = preset when counting up, and at count = 0 when counting down. At either of these limits, the counting is resumed only when the count direction is reversed.

Non-recycle:

Counter is disabled whenever a 24-bit count overflow or underflow takes place. The counter is re-enabled when a new count value is loaded to the counter via a preset operation or write to raw.

Modulo-N:

A count boundary is set between 0 and the preset value. The counter is reset to 0 at count = preset when counting up, while the counter is set to the preset value at count = 0 when counting down; the counter does not freeze at the bundary points, but counts continuously throughout.

What:

/sys/bus/iio/devices/iio:deviceX/in_countY_noise_error

Defined on file sysfs-bus-iio-counter-104-quad-8

This interface is deprecated; please use the Counter subsystem.

Read-only attribute that indicates whether excessive noise is present at the channel Y count inputs in quadrature clock mode; irrelevant in non-quadrature clock mode.

What:

/sys/bus/iio/devices/iio:deviceX/in_countY_preset

Defined on file sysfs-bus-iio-counter-104-quad-8

This interface is deprecated; please use the Counter subsystem.

If the counter device supports preset registers, the preset count for channel Y is provided by this attribute.

What:

/sys/bus/iio/devices/iio:deviceX/in_countY_quadrature_mode

Defined on file sysfs-bus-iio-counter-104-quad-8

This interface is deprecated; please use the Counter subsystem.

Configure channel Y counter for non-quadrature or quadrature clock mode. Selecting non-quadrature clock mode will disable synchronous load mode. In quadrature clock mode, the channel Y scale attribute selects the encoder phase division (scale of 1 selects full-cycle, scale of 0.5 selects half-cycle, scale of 0.25 selects quarter-cycle) processed by the channel Y counter.

Non-quadrature:

The filter and decoder circuit are bypassed. Encoder A input serves as the count input and B as the UP/DOWN direction control input, with B = 1 selecting UP Count mode and B = 0 selecting Down Count mode.

Quadrature:

Encoder A and B inputs are digitally filtered and decoded for UP/DN clock.

What:

/sys/bus/iio/devices/iio:deviceX/in_countY_raw

Defined on file sysfs-bus-iio

This interface is deprecated; please use the Counter subsystem.

Raw counter device counts from channel Y. For quadrature counters, multiplication by an available [Y]_scale results in the counts of a single quadrature signal phase from channel Y.

What:

/sys/bus/iio/devices/iio:deviceX/in_countY_set_to_preset_on_index

Defined on file sysfs-bus-iio-counter-104-quad-8

This interface is deprecated; please use the Counter subsystem.

Whether to set channel Y counter with channel Y preset value when channel Y index input is active, or continuously count. Valid attribute values are boolean.

What:

/sys/bus/iio/devices/iio:deviceX/in_count_count_direction_available

Defined on file sysfs-bus-iio

This interface is deprecated; please use the Counter subsystem.

A list of possible counting directions which are:

  • “up” : counter device is increasing.

  • “down”: counter device is decreasing.

What:

/sys/bus/iio/devices/iio:deviceX/in_count_count_mode_available

/sys/bus/iio/devices/iio:deviceX/in_count_noise_error_available

/sys/bus/iio/devices/iio:deviceX/in_count_quadrature_mode_available

/sys/bus/iio/devices/iio:deviceX/in_index_index_polarity_available

/sys/bus/iio/devices/iio:deviceX/in_index_synchronous_mode_available

Defined on file sysfs-bus-iio-counter-104-quad-8

This interface is deprecated; please use the Counter subsystem.

Discrete set of available values for the respective counter configuration are listed in this file.

What:

/sys/bus/iio/devices/iio:deviceX/in_count_enable_mode_available

Defined on file sysfs-bus-iio-timer-stm32

Reading returns the list possible enable modes.

What:

/sys/bus/iio/devices/iio:deviceX/in_count_polarity_available

Defined on file sysfs-bus-iio-lptimer-stm32

Reading returns the list possible active edges.

What:

/sys/bus/iio/devices/iio:deviceX/in_count_quadrature_mode_available

Defined on file sysfs-bus-iio-lptimer-stm32

Reading returns the list possible quadrature modes.

Reading returns the list possible quadrature modes.

What:

/sys/bus/iio/devices/iio:deviceX/in_count_trigger_mode_available

Defined on file sysfs-bus-iio-timer-stm32

Reading returns the list possible trigger modes.

What:

/sys/bus/iio/devices/iio:deviceX/in_currentX_raw

/sys/bus/iio/devices/iio:deviceX/in_currentX_i_raw

/sys/bus/iio/devices/iio:deviceX/in_currentX_q_raw

Defined on file sysfs-bus-iio

Raw current measurement from channel X. Units are in milliamps after application of scale and offset. If no offset or scale is present, output should be considered as processed with the unit in milliamps.

Channels with ‘i’ and ‘q’ modifiers always exist in pairs and both channels refer to the same signal. The ‘i’ channel contains the in-phase component of the signal while the ‘q’ channel contains the quadrature component.

What:

/sys/bus/iio/devices/iio:deviceX/in_currentY_raw

/sys/bus/iio/devices/iio:deviceX/in_currentY_supply_raw

Defined on file sysfs-bus-iio

Raw (unscaled no bias removal etc.) current measurement from channel Y. In special cases where the channel does not correspond to externally available input one of the named versions may be used. The number must always be specified and unique to allow association with event codes. Units after application of scale and offset are milliamps.

What:

/sys/bus/iio/devices/iio:deviceX/in_current_shunt_resistor

Defined on file sysfs-bus-iio-adc-max9611

The value of the shunt resistor used to compute current flowing between RS+ and RS- voltage sense inputs. In Ohms.

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

What:

/sys/bus/iio/devices/iio:deviceX/in_electricalconductivity_raw

Defined on file sysfs-bus-iio

Raw (unscaled no offset etc.) electric conductivity reading that can be processed to siemens per meter.

What:

/sys/bus/iio/devices/iio:deviceX/in_energy_calibweight

Defined on file sysfs-bus-iio

Weight of the user (in kg). It is needed by some pedometers to compute the calories burnt by the user.

What:

/sys/bus/iio/devices/iio:deviceX/in_gravity_x_raw

/sys/bus/iio/devices/iio:deviceX/in_gravity_y_raw

/sys/bus/iio/devices/iio:deviceX/in_gravity_z_raw

Defined on file sysfs-bus-iio

Gravity in direction x, y or z (may be arbitrarily assigned but should match other such assignments on device). Units after application of scale and offset are m/s^2.

What:

/sys/bus/iio/devices/iio:deviceX/in_gyro_matrix

/sys/bus/iio/devices/iio:deviceX/in_accel_matrix

/sys/bus/iio/devices/iio:deviceX/in_magn_matrix

Defined on file sysfs-bus-iio-mpu6050

This is mounting matrix for motion sensors. Mounting matrix is a 3x3 unitary matrix. A typical mounting matrix would look like [0, 1, 0; 1, 0, 0; 0, 0, -1]. Using this information, it would be easy to tell the relative positions among sensors as well as their positions relative to the board that holds these sensors. Identity matrix [1, 0, 0; 0, 1, 0; 0, 0, 1] means sensor chip and device are perfectly aligned with each other. All axes are exactly the same.

What:

/sys/bus/iio/devices/iio:deviceX/in_humidityrelative_input

Defined on file sysfs-bus-iio

Scaled humidity measurement in milli percent.

What:

/sys/bus/iio/devices/iio:deviceX/in_humidityrelative_raw

Defined on file sysfs-bus-iio

Raw humidity measurement of air. Units after application of scale and offset are milli percent.

What:

/sys/bus/iio/devices/iio:deviceX/in_illuminance0_zone

Defined on file sysfs-bus-iio-light-lm3533-als

Get the current light zone (0..4) as defined by the in_illuminance0_threshY_{falling,rising} thresholds.

What:

/sys/bus/iio/devices/iio:deviceX/in_incli_x_raw

/sys/bus/iio/devices/iio:deviceX/in_incli_y_raw

/sys/bus/iio/devices/iio:deviceX/in_incli_z_raw

Defined on file sysfs-bus-iio

Inclination raw reading about axis x, y or z (may be arbitrarily assigned). Data converted by application of offset and scale to degrees.

What:

/sys/bus/iio/devices/iio:deviceX/in_indexY_index_polarity

Defined on file sysfs-bus-iio-counter-104-quad-8

This interface is deprecated; please use the Counter subsystem.

Active level of channel Y index input; irrelevant in non-synchronous load mode.

What:

/sys/bus/iio/devices/iio:deviceX/in_indexY_raw

Defined on file sysfs-bus-iio

This interface is deprecated; please use the Counter subsystem.

Raw counter device index value from channel Y. This attribute provides an absolute positional reference (e.g. a pulse once per revolution) which may be used to home positional systems as required.

What:

/sys/bus/iio/devices/iio:deviceX/in_indexY_synchronous_mode

Defined on file sysfs-bus-iio-counter-104-quad-8

This interface is deprecated; please use the Counter subsystem.

Configure channel Y counter for non-synchronous or synchronous load mode. Synchronous load mode cannot be selected in non-quadrature clock mode.

Non-synchronous:

A logic low level is the active level at this index input. The index function (as enabled via set_to_preset_on_index) is performed directly on the active level of the index input.

Synchronous:

Intended for interfacing with encoder Index output in quadrature clock mode. The active level is configured via index_polarity. The index function (as enabled via set_to_preset_on_index) is performed synchronously with the quadrature clock on the active level of the index input.

What:

/sys/bus/iio/devices/iio:deviceX/in_intensityY_offset

Defined on file sysfs-bus-iio-health-afe440x

Get and set the offset cancellation DAC setting for these stages. The values are expressed in 5-bit sign-magnitude.

What:

/sys/bus/iio/devices/iio:deviceX/in_intensityY_raw

Defined on file sysfs-bus-iio-health-afe440x

Get measured values from the ADC for these stages. Y is the specific stage number corresponding to datasheet stage names as follows: 1 -> LED2 2 -> ALED2/LED3 3 -> LED1 4 -> ALED1/LED4 Note that channels 5 and 6 represent LED2-ALED2 and LED1-ALED1 respectively which simply helper channels containing the calculated difference in the value of stage 1 - 2 and 3 - 4. The values are expressed in 24-bit twos complement.

What:

/sys/bus/iio/devices/iio:deviceX/in_intensityY_resistance

/sys/bus/iio/devices/iio:deviceX/in_intensityY_capacitance

Defined on file sysfs-bus-iio-health-afe440x

Get and set the resistance and the capacitance settings for the Transimpedance Amplifier during the associated stage.

What:

/sys/bus/iio/devices/iio:deviceX/in_intensity_ir_large_raw

Defined on file sysfs-bus-iio-light-si1133

Unit-less infrared intensity. The intensity is measured from 4 dark photodiodes. “large” indicate the surface area capturing infrared.

What:

/sys/bus/iio/devices/iio:deviceX/in_intensity_ir_small_raw

Defined on file sysfs-bus-iio-light-si1133

Unit-less infrared intensity. The intensity is measured from 1 dark photodiode. “small” indicate the surface area capturing infrared.

What:

/sys/bus/iio/devices/iio:deviceX/in_intensity_large_raw

Defined on file sysfs-bus-iio-light-si1133

Unit-less light intensity with more diodes.

What:

/sys/bus/iio/devices/iio:deviceX/in_intensity_red_hardwaregain

/sys/bus/iio/devices/iio:deviceX/in_intensity_green_hardwaregain

/sys/bus/iio/devices/iio:deviceX/in_intensity_blue_hardwaregain

/sys/bus/iio/devices/iio:deviceX/in_intensity_clear_hardwaregain

Defined on file sysfs-bus-iio

Hardware applied gain factor. If shared across all channels, <type>_hardwaregain is used.

What:

/sys/bus/iio/devices/iio:deviceX/in_magn_x_oversampling_ratio

/sys/bus/iio/devices/iio:deviceX/in_magn_y_oversampling_ratio

/sys/bus/iio/devices/iio:deviceX/in_magn_z_oversampling_ratio

Defined on file sysfs-bus-iio

Hardware applied number of measurements for acquiring one data point. The HW will do <type>[_name]_oversampling_ratio measurements and return the average value as output data. Each value resulted from <type>[_name]_oversampling_ratio measurements is considered as one sample for <type>[_name]_sampling_frequency.

What:

/sys/bus/iio/devices/iio:deviceX/in_magn_x_raw

/sys/bus/iio/devices/iio:deviceX/in_magn_y_raw

/sys/bus/iio/devices/iio:deviceX/in_magn_z_raw

Defined on file sysfs-bus-iio

Magnetic field along axis x, y or z (may be arbitrarily assigned). Data converted by application of offset then scale to Gauss.

What:

/sys/bus/iio/devices/iio:deviceX/in_massconcentration_pm1_input

/sys/bus/iio/devices/iio:deviceX/in_massconcentrationY_pm1_input

/sys/bus/iio/devices/iio:deviceX/in_massconcentration_pm2p5_input

/sys/bus/iio/devices/iio:deviceX/in_massconcentrationY_pm2p5_input

/sys/bus/iio/devices/iio:deviceX/in_massconcentration_pm4_input

/sys/bus/iio/devices/iio:deviceX/in_massconcentrationY_pm4_input

/sys/bus/iio/devices/iio:deviceX/in_massconcentration_pm10_input

/sys/bus/iio/devices/iio:deviceX/in_massconcentrationY_pm10_input

Defined on file sysfs-bus-iio

Mass concentration reading of particulate matter in ug / m3. pmX consists of particles with aerodynamic diameter less or equal to X micrometers.

What:

/sys/bus/iio/devices/iio:deviceX/in_ph_raw

Defined on file sysfs-bus-iio

Raw (unscaled no offset etc.) pH reading of a substance as a negative base-10 logarithm of hydrodium ions in a litre of water.

What:

/sys/bus/iio/devices/iio:deviceX/in_phaseY_raw

Defined on file sysfs-bus-iio

Raw (unscaled) phase difference reading from channel Y that can be processed to radians.

What:

/sys/bus/iio/devices/iio:deviceX/in_positionrelative_x_raw

/sys/bus/iio/devices/iio:deviceX/in_positionrelative_y_raw

Defined on file sysfs-bus-iio

Relative position in direction x or y on a pad (may be arbitrarily assigned but should match other such assignments on device). Units after application of scale and offset are milli percents from the pad’s size in both directions. Should be calibrated by the consumer.

What:

/sys/bus/iio/devices/iio:deviceX/in_powerY_raw

Defined on file sysfs-bus-iio

Raw (unscaled no bias removal etc.) power measurement from channel Y. The number must always be specified and unique to allow association with event codes. Units after application of scale and offset are milliwatts.

What:

/sys/bus/iio/devices/iio:deviceX/in_power_shunt_resistor

Defined on file sysfs-bus-iio-adc-max9611

The value of the shunt resistor used to compute power drain on common input voltage pin (RS+). In Ohms.

What:

/sys/bus/iio/devices/iio:deviceX/in_pressureY_calibscale

/sys/bus/iio/devices/iio:deviceX/in_pressure_calibscale

/sys/bus/iio/devices/iio:deviceX/in_illuminance_calibscale

Defined on file sysfs-bus-iio

Hardware applied calibration scale factor (assumed to fix production inaccuracies). If shared across all channels, <type>_calibscale is used.

What:

/sys/bus/iio/devices/iio:deviceX/in_pressureY_input

/sys/bus/iio/devices/iio:deviceX/in_pressure_input

Defined on file sysfs-bus-iio

Scaled pressure measurement from channel Y, in kilopascal.

What:

/sys/bus/iio/devices/iio:deviceX/in_pressureY_raw

/sys/bus/iio/devices/iio:deviceX/in_pressure_raw

Defined on file sysfs-bus-iio

Raw pressure measurement from channel Y. Units after application of scale and offset are kilopascal.

What:

/sys/bus/iio/devices/iio:deviceX/in_proximity0_agc_gain

/sys/bus/iio/devices/iio:deviceX/in_proximity0_agc_gain_bias

Defined on file sysfs-bus-iio-isl29501

This sensor has an automatic gain control (agc) loop which sets the analog signal levels at an optimum level by controlling programmable gain amplifiers. The criteria for optimal gain is determined by the sensor.

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

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

What:

/sys/bus/iio/devices/iio:deviceX/in_proximity0_calib_phase_temp_a

/sys/bus/iio/devices/iio:deviceX/in_proximity0_calib_phase_temp_b

/sys/bus/iio/devices/iio:deviceX/in_proximity0_calib_phase_light_a

/sys/bus/iio/devices/iio:deviceX/in_proximity0_calib_phase_light_b

Defined on file sysfs-bus-iio-isl29501

The sensor is able to perform correction of distance measurements due to changing temperature and ambient light conditions. It can be programmed to correct for a second order error polynomial.

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

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

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

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

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

The value stored in sensor is displayed when read from.

What:

/sys/bus/iio/devices/iio:deviceX/in_proximity_input

Defined on file sysfs-bus-iio-proximity-as3935

Get the current distance in meters of storm (1km steps) 1000-40000 = distance in meters

What:

/sys/bus/iio/devices/iio:deviceX/in_resistance_raw

/sys/bus/iio/devices/iio:deviceX/in_resistanceX_raw

/sys/bus/iio/devices/iio:deviceX/out_resistance_raw

/sys/bus/iio/devices/iio:deviceX/out_resistanceX_raw

Defined on file sysfs-bus-iio

Raw (unscaled no offset etc.) resistance reading that can be processed into an ohm value.

What:

/sys/bus/iio/devices/iio:deviceX/in_rot_from_north_magnetic_tilt_comp_raw

/sys/bus/iio/devices/iio:deviceX/in_rot_from_north_true_tilt_comp_raw

/sys/bus/iio/devices/iio:deviceX/in_rot_from_north_magnetic_raw

/sys/bus/iio/devices/iio:deviceX/in_rot_from_north_true_raw

Defined on file sysfs-bus-iio

Raw value of rotation from true/magnetic north measured with or without compensation from tilt sensors.

What:

/sys/bus/iio/devices/iio:deviceX/in_rot_quaternion_raw

Defined on file sysfs-bus-iio

Raw value of quaternion components using a format x y z w. Here x, y, and z component represents the axis about which a rotation will occur and w component represents the amount of rotation.

What:

/sys/bus/iio/devices/iio:deviceX/in_shunt_resistor

Defined on file sysfs-bus-iio-ina2xx-adc

The value of the shunt resistor may be known only at runtime fom an eeprom content read by a client application. This attribute allows to set its value in ohms.

What:

/sys/bus/iio/devices/iio:deviceX/in_tempX_input

Defined on file sysfs-bus-iio

Scaled temperature measurement in milli degrees Celsius.

What:

/sys/bus/iio/devices/iio:deviceX/in_temp_calibemissivity

/sys/bus/iio/devices/iio:deviceX/in_tempX_calibemissivity

/sys/bus/iio/devices/iio:deviceX/in_temp_object_calibemissivity

/sys/bus/iio/devices/iio:deviceX/in_tempX_object_calibemissivity

Defined on file sysfs-bus-iio

The emissivity ratio of the surface in the field of view of the contactless temperature sensor. Emissivity varies from 0 to 1, with 1 being the emissivity of a black body.

What:

/sys/bus/iio/devices/iio:deviceX/in_temp_raw

/sys/bus/iio/devices/iio:deviceX/in_tempX_raw

/sys/bus/iio/devices/iio:deviceX/in_temp_x_raw

/sys/bus/iio/devices/iio:deviceX/in_temp_y_raw

/sys/bus/iio/devices/iio:deviceX/in_temp_ambient_raw

/sys/bus/iio/devices/iio:deviceX/in_temp_object_raw

Defined on file sysfs-bus-iio

Raw (unscaled no bias removal etc.) temperature measurement. If an axis is specified it generally means that the temperature sensor is associated with one part of a compound device (e.g. a gyroscope axis). The ambient and object modifiers distinguish between ambient (reference) and distant temperature for contact- less measurements. Units after application of scale and offset are milli degrees Celsius.

What:

/sys/bus/iio/devices/iio:deviceX/in_voltageY-voltageZ_raw

Defined on file sysfs-bus-iio

Raw (unscaled) differential voltage measurement equivalent to channel Y - channel Z where these channel numbers apply to the physically equivalent inputs when non differential readings are separately available. In differential only parts, then all that is required is a consistent labeling. Units after application of scale and offset are millivolts.

What:

/sys/bus/iio/devices/iio:deviceX/in_voltageY_raw

/sys/bus/iio/devices/iio:deviceX/in_voltageY_supply_raw

/sys/bus/iio/devices/iio:deviceX/in_voltageY_i_raw

/sys/bus/iio/devices/iio:deviceX/in_voltageY_q_raw

Defined on file sysfs-bus-iio

Raw (unscaled no bias removal etc.) voltage measurement from channel Y. In special cases where the channel does not correspond to externally available input one of the named versions may be used. The number must always be specified and unique to allow association with event codes. Units after application of scale and offset are millivolts.

Channels with ‘i’ and ‘q’ modifiers always exist in pairs and both channels refer to the same signal. The ‘i’ channel contains the in-phase component of the signal while the ‘q’ channel contains the quadrature component.

What:

/sys/bus/iio/devices/iio:deviceX/in_voltageY_scale

/sys/bus/iio/devices/iio:deviceX/in_voltageY_i_scale

/sys/bus/iio/devices/iio:deviceX/in_voltageY_q_scale

/sys/bus/iio/devices/iio:deviceX/in_voltageY_supply_scale

/sys/bus/iio/devices/iio:deviceX/in_voltage_scale

/sys/bus/iio/devices/iio:deviceX/in_voltage_i_scale

/sys/bus/iio/devices/iio:deviceX/in_voltage_q_scale

/sys/bus/iio/devices/iio:deviceX/in_voltage-voltage_scale

/sys/bus/iio/devices/iio:deviceX/out_voltageY_scale

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_scale

/sys/bus/iio/devices/iio:deviceX/in_currentY_scale

/sys/bus/iio/devices/iio:deviceX/in_currentY_supply_scale

/sys/bus/iio/devices/iio:deviceX/in_current_scale

/sys/bus/iio/devices/iio:deviceX/in_currentY_i_scale

/sys/bus/iio/devices/iio:deviceX/in_currentY_q_scale

/sys/bus/iio/devices/iio:deviceX/in_current_i_scale

/sys/bus/iio/devices/iio:deviceX/in_current_q_scale

/sys/bus/iio/devices/iio:deviceX/in_accel_scale

/sys/bus/iio/devices/iio:deviceX/in_accel_peak_scale

/sys/bus/iio/devices/iio:deviceX/in_anglvel_scale

/sys/bus/iio/devices/iio:deviceX/in_energy_scale

/sys/bus/iio/devices/iio:deviceX/in_distance_scale

/sys/bus/iio/devices/iio:deviceX/in_magn_scale

/sys/bus/iio/devices/iio:deviceX/in_magn_x_scale

/sys/bus/iio/devices/iio:deviceX/in_magn_y_scale

/sys/bus/iio/devices/iio:deviceX/in_magn_z_scale

/sys/bus/iio/devices/iio:deviceX/in_rot_from_north_magnetic_scale

/sys/bus/iio/devices/iio:deviceX/in_rot_from_north_true_scale

/sys/bus/iio/devices/iio:deviceX/in_rot_from_north_magnetic_tilt_comp_scale

/sys/bus/iio/devices/iio:deviceX/in_rot_from_north_true_tilt_comp_scale

/sys/bus/iio/devices/iio:deviceX/in_pressureY_scale

/sys/bus/iio/devices/iio:deviceX/in_pressure_scale

/sys/bus/iio/devices/iio:deviceX/in_humidityrelative_scale

/sys/bus/iio/devices/iio:deviceX/in_velocity_sqrt(x^2+y^2+z^2)_scale

/sys/bus/iio/devices/iio:deviceX/in_illuminance_scale

/sys/bus/iio/devices/iio:deviceX/in_countY_scale

/sys/bus/iio/devices/iio:deviceX/in_angl_scale

Defined on file sysfs-bus-iio

If known for a device, scale to be applied to <type>Y[_name]_raw post addition of <type>[Y][_name]_offset in order to obtain the measured value in <type> units as specified in <type>[Y][_name]_raw documentation. If shared across all in channels then Y and <x|y|z> are not present and the value is called <type>[Y][_name]_scale. The peak modifier means this value is applied to <type>Y[_name]_peak_raw values.

What:

/sys/bus/iio/devices/iio:deviceX/in_voltageY_sensing_mode

Defined on file sysfs-bus-iio-adc-hi8435

Program sensor type for threshold detector inputs. Could be either “GND-Open” or “Supply-Open” mode. Y is a threshold detector input channel. Channels 0..7, 8..15, 16..23 and 24..31 has common sensor types.

What:

/sys/bus/iio/devices/iio:deviceX/in_voltage_spi_clk_freq

Defined on file sysfs-bus-iio-dfsdm-adc-stm32

For audio purpose only.

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

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

if DFSDM input is SPI master:

Reading SPI clkout frequency, error on writing

If DFSDM input is SPI Slave:

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

What:

/sys/bus/iio/devices/iio:deviceX/location

Defined on file sysfs-bus-iio-cros-ec

This attribute returns a string with the physical location where the motion sensor is placed. For example, in a laptop a motion sensor can be located on the base or on the lid. Current valid values are ‘base’ and ‘lid’.

What:

/sys/bus/iio/devices/iio:deviceX/meas_conf

/sys/bus/iio/devices/iio:deviceX/meas_conf_available

Defined on file sysfs-bus-iio-magnetometer-hmc5843

Current configuration and available configurations for the bias current.

normal

Normal measurement configurations (default)

positivebias

Positive bias configuration

negativebias

Negative bias configuration

disabled

Only available on HMC5983. Disables magnetic sensor and enables temperature sensor.

Note:

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

What:

/sys/bus/iio/devices/iio:deviceX/mount_matrix

/sys/bus/iio/devices/iio:deviceX/in_mount_matrix

/sys/bus/iio/devices/iio:deviceX/out_mount_matrix

/sys/bus/iio/devices/iio:deviceX/in_anglvel_mount_matrix

/sys/bus/iio/devices/iio:deviceX/in_accel_mount_matrix

Defined on file sysfs-bus-iio

Mounting matrix for IIO sensors. This is a rotation matrix which informs userspace about sensor chip’s placement relative to the main hardware it is mounted on.

Main hardware placement is defined according to the local reference frame related to the physical quantity the sensor measures.

Given that the rotation matrix is defined in a board specific way (platform data and / or device-tree), the main hardware reference frame definition is left to the implementor’s choice (see below for a magnetometer example).

Applications should apply this rotation matrix to samples so that when main hardware reference frame is aligned onto local reference frame, then sensor chip reference frame is also perfectly aligned with it.

Matrix is a 3x3 unitary matrix and typically looks like [0, 1, 0; 1, 0, 0; 0, 0, -1]. Identity matrix [1, 0, 0; 0, 1, 0; 0, 0, 1] means sensor chip and main hardware are perfectly aligned with each other.

For example, a mounting matrix for a magnetometer sensor informs userspace about sensor chip’s ORIENTATION relative to the main hardware.

More specifically, main hardware orientation is defined with respect to the LOCAL EARTH GEOMAGNETIC REFERENCE FRAME where :

  • Y is in the ground plane and positive towards magnetic North ;

  • X is in the ground plane, perpendicular to the North axis and positive towards the East ;

  • Z is perpendicular to the ground plane and positive upwards.

An implementor might consider that for a hand-held device, a ‘natural’ orientation would be ‘front facing camera at the top’. The main hardware reference frame could then be described as :

  • Y is in the plane of the screen and is positive towards the top of the screen ;

  • X is in the plane of the screen, perpendicular to Y axis, and positive towards the right hand side of the screen ;

  • Z is perpendicular to the screen plane and positive out of the screen.

Another example for a quadrotor UAV might be :

  • Y is in the plane of the propellers and positive towards the front-view camera;

  • X is in the plane of the propellers, perpendicular to Y axis, and positive towards the starboard side of the UAV ;

  • Z is perpendicular to propellers plane and positive upwards.

What:

/sys/bus/iio/devices/iio:deviceX/name

Defined on file sysfs-bus-iio

Description of the physical chip / device for device X. Typically a part number.

What:

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_frequency

Defined on file sysfs-bus-iio

Stores the PLL frequency in Hz for channel Y. Reading returns the actual frequency in Hz. The ADF4371 has an integrated VCO with fundamendal output frequency ranging from 4000000000 Hz 8000000000 Hz.

out_altvoltage0_frequency:

A divide by 1, 2, 4, 8, 16, 32 or circuit generates frequencies from 62500000 Hz to 8000000000 Hz.

out_altvoltage1_frequency:

This channel duplicates the channel 0 frequency

out_altvoltage2_frequency:

A frequency doubler generates frequencies from 8000000000 Hz to 16000000000 Hz.

out_altvoltage3_frequency:

A frequency quadrupler generates frequencies from 16000000000 Hz to 32000000000 Hz.

Note: writes to one of the channels will affect the frequency of all the other channels, since it involves changing the VCO fundamental output frequency.

Output frequency for channel Y in Hz. The number must always be specified and unique if the output corresponds to a single channel.

What:

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_frequency_increment

Defined on file sysfs-bus-iio-impedance-analyzer-ad5933

Frequency increment in Hz (step size) between consecutive frequency points along the sweep.

What:

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_frequency_points

Defined on file sysfs-bus-iio-impedance-analyzer-ad5933

Number of frequency points (steps) in the frequency sweep. This value, in conjunction with the out_altvoltageY_frequency_start and the out_altvoltageY_frequency_increment, determines the frequency sweep range for the sweep operation.

What:

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_frequency_resolution

Defined on file sysfs-bus-iio-frequency-adf4350

Stores channel Y frequency resolution/channel spacing in Hz. The value given directly influences the MODULUS used by the fractional-N PLL. It is assumed that the algorithm that is used to compute the various dividers, is able to generate proper values for multiples of channel spacing.

What:

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_frequency_start

Defined on file sysfs-bus-iio-impedance-analyzer-ad5933

Frequency sweep start frequency in Hz.

What:

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_name

Defined on file sysfs-bus-iio-frequency-adf4371

Reading returns the datasheet name for channel Y:

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

What:

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_phase

Defined on file sysfs-bus-iio

Phase in radians of one frequency/clock output Y (out_altvoltageY) relative to another frequency/clock output (out_altvoltageZ) of the device X. The number must always be specified and unique if the output corresponds to a single channel.

What:

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_powerdown

Defined on file sysfs-bus-iio-frequency-adf4371

This attribute allows the user to power down the PLL and it’s RFOut buffers. Writing 1 causes the specified channel to power down. Clearing returns to normal operation.

What:

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_refin_frequency

Defined on file sysfs-bus-iio-frequency-adf4350

Sets channel Y REFin frequency in Hz. In some clock chained applications, the reference frequency used by the PLL may change during runtime. This attribute allows the user to adjust the reference frequency accordingly. The value written has no effect until out_altvoltageY_frequency is updated. Consider to use out_altvoltageY_powerdown to power down the PLL and its RFOut buffers during REFin changes.

What:

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_settling_cycles

Defined on file sysfs-bus-iio-impedance-analyzer-ad5933

Number of output excitation cycles (settling time cycles) that are allowed to pass through the unknown impedance, after each frequency increment, and before the ADC is triggered to perform a conversion sequence of the response signal.

What:

/sys/bus/iio/devices/iio:deviceX/out_conversion_mode

Defined on file sysfs-bus-iio-vf610

Specifies the hardware conversion mode used within DAC. The two available modes are “high-power” and “low-power”, where “low-power” mode is the default mode.

What:

/sys/bus/iio/devices/iio:deviceX/out_currentY_currentZ_raw

Defined on file sysfs-bus-iio-light-lm3533-als

Set the output current for channel out_currentY when in zone Z (0..255), where Y in 0..2 and Z in 0..4.

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

What:

/sys/bus/iio/devices/iio:deviceX/out_currentY_raw

Defined on file sysfs-bus-iio-health-afe440x

Get output current for channel Y (0..255), that is, out_currentY_currentZ_raw, where Z is the current zone.

Get and set the LED current for the specified LED active during this stage. Y is the specific stage number.

What:

/sys/bus/iio/devices/iio:deviceX/out_current_heater_raw

/sys/bus/iio/devices/iio:deviceX/out_current_heater_raw_available

Defined on file sysfs-bus-iio-humidity-hdc100x

Controls the heater device within the humidity sensor to get rid of excess condensation.

Valid control values are 0 = OFF, and 1 = ON.

What:

/sys/bus/iio/devices/iio:deviceX/out_resistance_raw_available

Defined on file sysfs-bus-iio-potentiometer-mcp4531

The range of available values represented as the minimum value, the step and the maximum value, all enclosed in square brackets. Example: [0 1 256]

What:

/sys/bus/iio/devices/iio:deviceX/out_voltageY&Z_raw

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY&Z_raw

Defined on file sysfs-bus-iio

Raw (unscaled, no bias etc.) output voltage for an aggregate of channel Y, channel Z, etc. This interface is available in cases where a single output sets the value for multiple channels simultaneously.

What:

/sys/bus/iio/devices/iio:deviceX/out_voltageY_powerdown

/sys/bus/iio/devices/iio:deviceX/out_voltage_powerdown

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_powerdown

/sys/bus/iio/devices/iio:deviceX/out_altvoltage_powerdown

Defined on file sysfs-bus-iio

Writing 1 causes output Y to enter the power down mode specified by the corresponding outY_powerdown_mode. DAC output stage is disconnected from the amplifier. Clearing returns to normal operation. Y may be suppressed if all outputs are controlled together.

What:

/sys/bus/iio/devices/iio:deviceX/out_voltageY_powerdown_mode

/sys/bus/iio/devices/iio:deviceX/out_voltage_powerdown_mode

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_powerdown_mode

/sys/bus/iio/devices/iio:deviceX/out_altvoltage_powerdown_mode

Defined on file sysfs-bus-iio

Specifies the output powerdown mode. DAC output stage is disconnected from the amplifier and 1kohm_to_gnd: connected to ground via an 1kOhm resistor, 2.5kohm_to_gnd: connected to ground via a 2.5kOhm resistor, 6kohm_to_gnd: connected to ground via a 6kOhm resistor, 20kohm_to_gnd: connected to ground via a 20kOhm resistor, 90kohm_to_gnd: connected to ground via a 90kOhm resistor, 100kohm_to_gnd: connected to ground via an 100kOhm resistor, 125kohm_to_gnd: connected to ground via an 125kOhm resistor, 500kohm_to_gnd: connected to ground via a 500kOhm resistor, 640kohm_to_gnd: connected to ground via a 640kOhm resistor, three_state: left floating. For a list of available output power down options read outX_powerdown_mode_available. If Y is not present the mode is shared across all outputs.

What:

/sys/bus/iio/devices/iio:deviceX/out_voltageY_raw

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_raw

Defined on file sysfs-bus-iio

Raw (unscaled, no bias etc.) output voltage for channel Y. The number must always be specified and unique if the output corresponds to a single channel. While DAC like devices typically use out_voltage, a continuous frequency generating device, such as a DDS or PLL should use out_altvoltage.

What:

/sys/bus/iio/devices/iio:deviceX/out_voltageY_raw_available

Defined on file sysfs-bus-iio-dac-dpot-dac

The range of available values represented as the minimum value, the step and the maximum value, all enclosed in square brackets. Example: [0 1 256]

What:

/sys/bus/iio/devices/iio:deviceX/oversampling_ratio

Defined on file sysfs-bus-iio

Hardware dependent ADC oversampling. Controls the sampling ratio of the digital filter if available.

What:

/sys/bus/iio/devices/iio:deviceX/oversampling_ratio_available

Defined on file sysfs-bus-iio

Hardware dependent values supported by the oversampling filter.

What:

/sys/bus/iio/devices/iio:deviceX/pll2_feedback_clk_present

/sys/bus/iio/devices/iio:deviceX/pll2_reference_clk_present

/sys/bus/iio/devices/iio:deviceX/pll1_reference_clk_a_present

/sys/bus/iio/devices/iio:deviceX/pll1_reference_clk_b_present

/sys/bus/iio/devices/iio:deviceX/pll1_reference_clk_test_present

/sys/bus/iio/devices/iio:deviceX/vcxo_clk_present

Defined on file sysfs-bus-iio-frequency-ad9523

Reading returns either ‘1’ or ‘0’. ‘1’ means that the clock in question is present. ‘0’ means that the clock is missing.

What:

/sys/bus/iio/devices/iio:deviceX/pllY_locked

Defined on file sysfs-bus-iio-frequency-ad9523

Reading returns either ‘1’ or ‘0’. ‘1’ means that the pllY is locked.

What:

/sys/bus/iio/devices/iio:deviceX/proximity_on_chip_ambient_infrared_suppression

Defined on file sysfs-bus-iio-light-isl29018

From ISL29018 Data Sheet (FN6619.4, Oct 8, 2012) regarding the infrared suppression:

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

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

What:

/sys/bus/iio/devices/iio:deviceX/sampling_frequency

/sys/bus/iio/devices/iio:deviceX/buffer/sampling_frequency

/sys/bus/iio/devices/triggerX/sampling_frequency

Defined on file sysfs-bus-iio

Some devices have internal clocks. This parameter sets the resulting sampling frequency. In many devices this parameter has an effect on input filters etc. rather than simply controlling when the input is sampled. As this effects data ready triggers, hardware buffers and the sysfs direct access interfaces, it may be found in any of the relevant directories. If it effects all of the above then it is to be found in the base device directory.

What:

/sys/bus/iio/devices/iio:deviceX/sampling_frequency_available

/sys/bus/iio/devices/iio:deviceX/in_proximity_sampling_frequency_available

/sys/…/iio:deviceX/buffer/sampling_frequency_available

/sys/bus/iio/devices/triggerX/sampling_frequency_available

Defined on file sysfs-bus-iio

When the internal sampling clock can only take a specific set of frequencies, we can specify the available values with:

  • a small discrete set of values like “0 2 4 6 8”

  • a range with minimum, step and maximum frequencies like “[min step max]”

What:

/sys/bus/iio/devices/iio:deviceX/scan_elements

Defined on file sysfs-bus-iio

Directory containing interfaces for elements that will be captured for a single triggered sample set in the buffer.

What:

/sys/bus/iio/devices/iio:deviceX/sensor_max_range

Defined on file sysfs-bus-iio-distance-srf08

Show or set the maximum range between the sensor and the first object echoed in meters. Default value is 6.020. This setting limits the time the driver is waiting for a echo. Showing the range of available values is represented as the minimum value, the step and the maximum value, all enclosed in square brackets. Example: [0.043 0.043 11.008]

What:

/sys/bus/iio/devices/iio:deviceX/sensor_sensitivity

Defined on file sysfs-bus-iio-proximity-as3935

Show or set the gain boost of the amp, from 0-31 range. default 31

Show or set the gain boost of the amp, from 0-31 range. 18 = indoors (default) 14 = outdoors

What /sys/bus/iio/devices/iio:deviceX/noise_level_tripped

When 1 the noise level is over the trip level and not reporting valid data

What:

/sys/bus/iio/devices/iio:deviceX/start_cleaning

Defined on file sysfs-bus-iio-sps30

Writing 1 starts sensor self cleaning. Internal fan accelerates to its maximum speed and keeps spinning for about 10 seconds in order to blow out accumulated dust.

What:

/sys/bus/iio/devices/iio:deviceX/store_eeprom

Defined on file sysfs-bus-iio

Writing ‘1’ stores the current device configuration into on-chip EEPROM. After power-up or chip reset the device will automatically load the saved configuration.

What:

/sys/bus/iio/devices/iio:deviceX/sync_dividers

Defined on file sysfs-bus-iio-frequency-ad9523

Writing ‘1’ triggers the clock distribution synchronization functionality. All dividers are reset and the channels start with their predefined phase offsets (out_altvoltageY_phase). Writing this file has the effect as driving the external /SYNC pin low.

What:

/sys/bus/iio/devices/iio:deviceX/trigger/current_trigger

Defined on file sysfs-bus-iio

The name of the trigger source being used, as per string given in /sys/class/iio/triggerY/name.

What:

/sys/bus/iio/devices/iio_sysfs_trigger/add_trigger

Defined on file sysfs-bus-iio-trigger-sysfs

This attribute is provided by the iio-trig-sysfs stand-alone driver and it is used to activate the creation of a new trigger. In order to achieve this, one should write a positive integer into the associated file, which will serve as the id of the trigger. If the trigger with the specified id is already present in the system, an invalid argument message will be returned.

What:

/sys/bus/iio/devices/iio_sysfs_trigger/remove_trigger

Defined on file sysfs-bus-iio-trigger-sysfs

This attribute is used to unregister and delete a previously created trigger from the list of available triggers. In order to achieve this, one should write a positive integer into the associated file, representing the id of the trigger that needs to be removed. If the trigger can’t be found, an invalid argument message will be returned to the user.

What:

/sys/bus/iio/devices/triggerX

Defined on file sysfs-bus-iio

An event driven driver of data capture to an in kernel buffer. May be provided by a device driver that also has an IIO device based on hardware generated events (e.g. data ready) or provided by a separate driver for other hardware (e.g. periodic timer, GPIO or high resolution timer). Contains trigger type specific elements. These do not generalize well and hence are not documented in this file. X is the IIO index of the trigger.

What:

/sys/bus/iio/devices/triggerX/master_mode

Defined on file sysfs-bus-iio-timer-stm32

Reading returns the current master modes. Writing set the master mode

What:

/sys/bus/iio/devices/triggerX/master_mode_available

Defined on file sysfs-bus-iio-timer-stm32

Reading returns the list possible master modes which are:

  • “reset”

    The UG bit from the TIMx_EGR register is used as trigger output (TRGO).

  • “enable”

    The Counter Enable signal CNT_EN is used as trigger output.

  • “update”

    The update event is selected as trigger output. For instance a master timer can then be used as a prescaler for a slave timer.

  • “compare_pulse”

    The trigger output send a positive pulse when the CC1IF flag is to be set.

  • “OC1REF”

    OC1REF signal is used as trigger output.

  • “OC2REF”

    OC2REF signal is used as trigger output.

  • “OC3REF”

    OC3REF signal is used as trigger output.

  • “OC4REF”

    OC4REF signal is used as trigger output.

Additional modes (on TRGO2 only):

  • “OC5REF”

    OC5REF signal is used as trigger output.

  • “OC6REF”

    OC6REF signal is used as trigger output.

  • “compare_pulse_OC4REF”:

    OC4REF rising or falling edges generate pulses.

  • “compare_pulse_OC6REF”:

    OC6REF rising or falling edges generate pulses.

  • “compare_pulse_OC4REF_r_or_OC6REF_r”:

    OC4REF or OC6REF rising edges generate pulses.

  • “compare_pulse_OC4REF_r_or_OC6REF_f”:

    OC4REF rising or OC6REF falling edges generate pulses.

  • “compare_pulse_OC5REF_r_or_OC6REF_r”:

    OC5REF or OC6REF rising edges generate pulses.

  • “compare_pulse_OC5REF_r_or_OC6REF_f”:

    OC5REF rising or OC6REF falling edges generate pulses.

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

Example with: “compare_pulse_OC4REF_r_or_OC6REF_r”:

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

What:

/sys/bus/iio/devices/triggerX/name

Defined on file sysfs-bus-iio-trigger-sysfs

The name attribute holds a description string for the current trigger. In order to associate the trigger with an IIO device one should write this name string to /sys/bus/iio/devices/iio:deviceY/trigger/current_trigger.

What:

/sys/bus/iio/devices/triggerX/name = “bmc150_accel-any-motion-devX”

Defined on file sysfs-bus-iio-accel-bmc150

The BMC150 accelerometer kernel module provides an additional trigger, which sets driver in a mode, where data is pushed to the buffer only when there is any motion.

What:

/sys/bus/iio/devices/triggerX/name = “bmg160-any-motion-devX”

Defined on file sysfs-bus-iio-gyro-bmg160

The BMG160 gyro kernel module provides an additional trigger, which sets driver in a mode, where data is pushed to the buffer only when there is any motion.

What:

/sys/bus/iio/devices/triggerX/sampling_frequency

Defined on file sysfs-bus-iio-timer-stm32

Reading returns the current sampling frequency. Writing an value different of 0 set and start sampling. Writing 0 stop sampling.

What:

/sys/bus/iio/devices/triggerX/trigger_now

Defined on file sysfs-bus-iio-trigger-sysfs

This file is provided by the iio-trig-sysfs stand-alone trigger driver. Writing this file with any value triggers an event driven driver, associated with this trigger, to capture data into an in kernel buffer. This approach can be valuable during automated testing or in situations, where other trigger methods are not applicable. For example no RTC or spare GPIOs. X is the IIO index of the trigger.

What:

/sys/bus/iio/devices/triggerX/trigger_polarity

Defined on file sysfs-bus-iio-adc-stm32

The STM32 ADC can be configured to use external trigger sources (e.g. timers, pwm or exti gpio). Then, it can be tuned to start conversions on external trigger by either: - “rising-edge” - “falling-edge” - “both-edges”. Reading returns current trigger polarity. Writing value before enabling conversions sets trigger polarity.

What:

/sys/bus/iio/devices/triggerX/trigger_polarity_available

Defined on file sysfs-bus-iio-adc-stm32

List all available trigger_polarity settings.

What:

/sys/bus/intel_th/devices/<intel_th_id>-<device><id>/active

Defined on file sysfs-bus-intel_th-output-devices

(RW) Writes of 1 or 0 enable or disable trace output to this output device. Reads return current status. Requires that the correstponding output port driver be loaded.

What:

/sys/bus/intel_th/devices/<intel_th_id>-gth/masters/*

Defined on file sysfs-bus-intel_th-devices-gth

(RW) Configure output ports for STP masters. Writing -1 disables a master; any

What:

/sys/bus/intel_th/devices/<intel_th_id>-gth/outputs/[0-7]_drop

Defined on file sysfs-bus-intel_th-devices-gth

(RW) Data retention policy setting: keep (0) or drop (1) incoming data while output port is in reset.

What:

/sys/bus/intel_th/devices/<intel_th_id>-gth/outputs/[0-7]_flush

Defined on file sysfs-bus-intel_th-devices-gth

(RW) Force flush data from byte packing buffer for the output port.

What:

/sys/bus/intel_th/devices/<intel_th_id>-gth/outputs/[0-7]_null

Defined on file sysfs-bus-intel_th-devices-gth

(RW) STP NULL packet generation: enabled (1) or disabled (0).

What:

/sys/bus/intel_th/devices/<intel_th_id>-gth/outputs/[0-7]_port

Defined on file sysfs-bus-intel_th-devices-gth

(RO) Output port type:

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

What:

/sys/bus/intel_th/devices/<intel_th_id>-gth/outputs/[0-7]_reset

Defined on file sysfs-bus-intel_th-devices-gth

(RO) Output port is in reset (1).

What:

/sys/bus/intel_th/devices/<intel_th_id>-gth/outputs/[0-7]_smcfreq

Defined on file sysfs-bus-intel_th-devices-gth

(RW) STP sync packet frequency for the port. Specifies the number of clocks between mainenance packets.

What:

/sys/bus/intel_th/devices/<intel_th_id>-msc<msc-id>/mode

Defined on file sysfs-bus-intel_th-devices-msc

(RW) Configure MSC operating mode:

  • “single”, for contiguous buffer mode (high-order alloc);

  • “multi”, for multiblock mode;

  • “ExI”, for DCI handler mode;

  • “debug”, for debug mode.

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

What:

/sys/bus/intel_th/devices/<intel_th_id>-msc<msc-id>/nr_pages

Defined on file sysfs-bus-intel_th-devices-msc

(RW) Configure MSC buffer size for “single” or “multi” modes.

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

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

What:

/sys/bus/intel_th/devices/<intel_th_id>-msc<msc-id>/port

Defined on file sysfs-bus-intel_th-output-devices

(RO) Port number, corresponding to this output device on the switch (GTH) or “unassigned” if the corresponding output port driver is not loaded.

What:

/sys/bus/intel_th/devices/<intel_th_id>-msc<msc-id>/win_switch

Defined on file sysfs-bus-intel_th-devices-msc

(RW) Trigger window switch for the MSC’s buffer, in multi-window mode. In “multi” mode, accepts writes of “1”, thereby triggering a window switch for the buffer. Returns an error in any other operating mode or attempts to write something other than “1”.

What:

/sys/bus/intel_th/devices/<intel_th_id>-msc<msc-id>/wrap

Defined on file sysfs-bus-intel_th-devices-msc

(RW) Configure MSC buffer wrapping. 1 == wrapping enabled.

What:

/sys/bus/intel_th/devices/<intel_th_id>-pti/clock_divider

Defined on file sysfs-bus-intel_th-devices-pti

(RW) Configure PTI port clock divider:
  • 0: Intel TH clock rate,

  • 1: 1/2 Intel TH clock rate,

  • 2: 1/4 Intel TH clock rate,

  • 3: 1/8 Intel TH clock rate.

What:

/sys/bus/intel_th/devices/<intel_th_id>-pti/freerunning_clock

Defined on file sysfs-bus-intel_th-devices-pti

(RW) 0: PTI trace clock acts as a strobe which only toggles when there is trace data to send. 1: PTI trace clock is a free-running clock.

What:

/sys/bus/intel_th/devices/<intel_th_id>-pti/mode

Defined on file sysfs-bus-intel_th-devices-pti

(RW) Configure PTI output width. Currently supported values are 4, 8, 12, 16.

What:

/sys/bus/mcb/devices/mcb:X

Defined on file sysfs-bus-mcb

Hardware chip or device hosting the MEN chameleon bus

What:

/sys/bus/mcb/devices/mcb:X/minor

Defined on file sysfs-bus-mcb

The FPGA’s minor number

What:

/sys/bus/mcb/devices/mcb:X/model

Defined on file sysfs-bus-mcb

The FPGA’s model number

What:

/sys/bus/mcb/devices/mcb:X/name

Defined on file sysfs-bus-mcb

The FPGA’s name

What:

/sys/bus/mcb/devices/mcb:X/revision

Defined on file sysfs-bus-mcb

The FPGA’s revision number

What:

/sys/bus/media/devices/…/model

Defined on file sysfs-bus-media

Contains the device model name in UTF-8. The device version is is not be appended to the model name.

What:

/sys/bus/mei/devices/…/modalias

Defined on file sysfs-bus-mei

Stores the same MODALIAS value emitted by uevent Format: mei:<mei device name>:<device uuid>:

What:

/sys/bus/mei/devices/…/name

Defined on file sysfs-bus-mei

Stores mei client device name Format: string

What:

/sys/bus/mei/devices/…/uuid

Defined on file sysfs-bus-mei

Stores mei client device uuid Format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

What:

/sys/bus/mei/devices/…/version

Defined on file sysfs-bus-mei

Stores mei client protocol version Format: %d

What:

/sys/bus/mmc/devices/…/rev

Defined on file sysfs-bus-mmc

Extended CSD revision number

What:

/sys/bus/nd/devices/ndbusX/nfit/dsm_mask

Defined on file sysfs-bus-nfit

(RO) The bitmask indicates the supported bus specific control functions. See the section named ‘NVDIMM Root Device _DSMs’ in the ACPI specification.

What:

/sys/bus/nd/devices/ndbusX/nfit/hw_error_scrub

Defined on file sysfs-bus-nfit

(RW) Provides a way to toggle the behavior between just adding the address (cache line) where the MCE happened to the poison list and doing a full scrub. The former (selective insertion of the address) is done unconditionally.

This attribute can have the following values written to it:

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

What:

/sys/bus/nd/devices/ndbusX/nfit/revision

Defined on file sysfs-bus-nfit

(RO) ACPI NFIT table revision number.

What:

/sys/bus/nd/devices/ndbusX/nfit/scrub

Defined on file sysfs-bus-nfit

(RW) This shows the number of full Address Range Scrubs (ARS) that have been completed since driver load time. Userspace can wait on this using select/poll etc. A ‘+’ at the end indicates an ARS is in progress

Writing a value of 1 triggers an ARS scan.

What:

/sys/bus/nd/devices/nmemX/nfit/device

Defined on file sysfs-bus-nfit

(RO) Device id for the NVDIMM, assigned by the module vendor.

What:

/sys/bus/nd/devices/nmemX/nfit/dsm_mask

Defined on file sysfs-bus-nfit

(RO) The bitmask indicates the supported device specific control functions relative to the NVDIMM command family supported by the device

What:

/sys/bus/nd/devices/nmemX/nfit/family

Defined on file sysfs-bus-nfit

(RO) Displays the NVDIMM family command sets. Values 0, 1, 2 and 3 correspond to NVDIMM_FAMILY_INTEL, NVDIMM_FAMILY_HPE1, NVDIMM_FAMILY_HPE2 and NVDIMM_FAMILY_MSFT respectively.

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

What:

/sys/bus/nd/devices/nmemX/nfit/flags

Defined on file sysfs-bus-nfit

(RO) The flags in the NFIT memory device sub-structure indicate the state of the data on the nvdimm relative to its energy source or last “flush to persistence”.

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

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

What:

/sys/bus/nd/devices/nmemX/nfit/format

/sys/bus/nd/devices/nmemX/nfit/format1

/sys/bus/nd/devices/nmemX/nfit/formats

Defined on file sysfs-bus-nfit

(RO) The interface codes indicate support for persistent memory mapped directly into system physical address space and / or a block aperture access mechanism to the NVDIMM media. The ‘formats’ attribute displays the number of supported interfaces.

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

What:

/sys/bus/nd/devices/nmemX/nfit/handle

Defined on file sysfs-bus-nfit

(RO) The address (given by the _ADR object) of the device on its parent bus of the NVDIMM device containing the NVDIMM region.

What:

/sys/bus/nd/devices/nmemX/nfit/id

Defined on file sysfs-bus-nfit

(RO) ACPI specification 6.2 section 5.2.25.9, defines an identifier for an NVDIMM, which refelects the id attribute.

What:

/sys/bus/nd/devices/nmemX/nfit/phys_id

Defined on file sysfs-bus-nfit

(RO) Handle (i.e., instance number) for the SMBIOS (system management BIOS) Memory Device structure describing the NVDIMM containing the NVDIMM region.

What:

/sys/bus/nd/devices/nmemX/nfit/rev_id

Defined on file sysfs-bus-nfit

(RO) Revision of the NVDIMM, assigned by the module vendor.

What:

/sys/bus/nd/devices/nmemX/nfit/serial

Defined on file sysfs-bus-nfit

(RO) Serial number of the NVDIMM (non-volatile dual in-line memory module), assigned by the module vendor.

What:

/sys/bus/nd/devices/nmemX/nfit/subsystem_device

Defined on file sysfs-bus-nfit

(RO) Sub-system device id for the NVDIMM non-volatile memory subsystem controller, assigned by the non-volatile memory subsystem controller vendor.

What:

/sys/bus/nd/devices/nmemX/nfit/subsystem_rev_id

Defined on file sysfs-bus-nfit

(RO) Sub-system revision id of the NVDIMM non-volatile memory subsystem controller, assigned by the non-volatile memory subsystem controller vendor.

What:

/sys/bus/nd/devices/nmemX/nfit/subsystem_vendor

Defined on file sysfs-bus-nfit

(RO) Sub-system vendor id of the NVDIMM non-volatile memory subsystem controller.

What:

/sys/bus/nd/devices/nmemX/nfit/vendor

Defined on file sysfs-bus-nfit

(RO) Vendor id of the NVDIMM.

What:

/sys/bus/nd/devices/regionX/nfit/range_index

Defined on file sysfs-bus-nfit

(RO) A unique number provided by the BIOS to identify an address range. Used by NVDIMM Region Mapping Structure to uniquely refer to this structure. Value of 0 is reserved and not used as an index.

What:

/sys/bus/pci/devices/…/acpi_index

Defined on file sysfs-bus-pci

Reading this attribute will provide the firmware given instance (ACPI _DSM instance number) of the PCI device. The attribute will be created only if the firmware has given an instance number to the PCI device. ACPI _DSM instance number will be given priority if the system firmware provides SMBIOS type 41 device type instance also.

What:

/sys/bus/pci/devices/…/d3cold_allowed

Defined on file sysfs-bus-pci

d3cold_allowed is bit to control whether the corresponding PCI device can be put into D3Cold state. If it is cleared, the device will never be put into D3Cold state. If it is set, the device may be put into D3Cold state if other requirements are satisfied too. Reading this attribute will show the current value of d3cold_allowed bit. Writing this attribute will set the value of d3cold_allowed bit.

/sys/bus/pci/devices/…/dep_link

Defined on file sysfs-bus-pci

This symbolic link appears when hardware supports the SR-IOV capability and the Physical Function driver has enabled it, and this device has vendor specific dependencies with others. The symbolic link points to the PCI device sysfs entry of Physical Function this device depends on.

What:

/sys/bus/pci/devices/…/driver_override

Defined on file sysfs-bus-pci

This file allows the driver for a device to be specified which will override standard static and dynamic ID matching. When specified, only a driver with a name matching the value written to driver_override will have an opportunity to bind to the device. The override is specified by writing a string to the driver_override file (echo pci-stub > driver_override) and may be cleared with an empty string (echo > driver_override). This returns the device to standard matching rules binding. Writing to driver_override does not automatically unbind the device from its current driver or make any attempt to automatically load the specified driver. If no driver with a matching name is currently loaded in the kernel, the device will not bind to any driver. This also allows devices to opt-out of driver binding using a driver_override name such as “none”. Only a single driver may be specified in the override, there is no support for parsing delimiters.

What:

/sys/bus/pci/devices/…/index

Defined on file sysfs-bus-pci

Reading this attribute will provide the firmware given instance (SMBIOS type 41 device type instance) of the PCI device. The attribute will be created only if the firmware has given an instance number to the PCI device.

What:

/sys/bus/pci/devices/…/label

Defined on file sysfs-bus-pci

Reading this attribute will provide the firmware given name (SMBIOS type 41 string or ACPI _DSM string) of the PCI device. The attribute will be created only if the firmware has given a name to the PCI device. ACPI _DSM string name will be given priority if the system firmware provides SMBIOS type 41 string also.

What:

/sys/bus/pci/devices/…/msi_bus

Defined on file sysfs-bus-pci

Writing a zero value to this attribute disallows MSI and MSI-X for any future drivers of the device. If the device is a bridge, MSI and MSI-X will be disallowed for future drivers of all child devices under the bridge. Drivers must be reloaded for the new setting to take effect.

What:

/sys/bus/pci/devices/…/msi_irqs/

Defined on file sysfs-bus-pci

The /sys/devices/…/msi_irqs directory contains a variable set of files, with each file being named after a corresponding msi irq vector allocated to that device.

What:

/sys/bus/pci/devices/…/msi_irqs/<N>

Defined on file sysfs-bus-pci

This attribute indicates the mode that the irq vector named by the file is in (msi vs. msix)

What:

/sys/bus/pci/devices/…/numa_node

Defined on file sysfs-bus-pci

This file contains the NUMA node to which the PCI device is attached, or -1 if the node is unknown. The initial value comes from an ACPI _PXM method or a similar firmware source. If that is missing or incorrect, this file can be written to override the node. In that case, please report a firmware bug to the system vendor. Writing to this file taints the kernel with TAINT_FIRMWARE_WORKAROUND, which reduces the supportability of your system.

What:

/sys/bus/pci/devices/…/p2pmem/available

Defined on file sysfs-bus-pci

If the device has any Peer-to-Peer memory registered, this file contains the amount of memory that has not been allocated (in decimal).

What:

/sys/bus/pci/devices/…/p2pmem/published

Defined on file sysfs-bus-pci

If the device has any Peer-to-Peer memory registered, this file contains a ‘1’ if the memory has been published for use outside the driver that owns the device.

What:

/sys/bus/pci/devices/…/p2pmem/size

Defined on file sysfs-bus-pci

If the device has any Peer-to-Peer memory registered, this file contains the total amount of memory that the device provides (in decimal).

What:

/sys/bus/pci/devices/…/pci_bus/…/rescan

Defined on file sysfs-bus-pci

Writing a non-zero value to this attribute will force a rescan of the bus and all child buses, and re-discover devices removed earlier from this part of the device tree.

What:

/sys/bus/pci/devices/…/physfn

Defined on file sysfs-bus-pci

This symbolic link appears when a device is a Virtual Function. The symbolic link points to the PCI device sysfs entry of the Physical Function this device associates with.

What:

/sys/bus/pci/devices/…/remove

Defined on file sysfs-bus-pci

Writing a non-zero value to this attribute will hot-remove the PCI device and any of its children.

What:

/sys/bus/pci/devices/…/rescan

Defined on file sysfs-bus-pci

Writing a non-zero value to this attribute will force a rescan of the device’s parent bus and all child buses, and re-discover devices removed earlier from this part of the device tree.

What:

/sys/bus/pci/devices/…/reset

Defined on file sysfs-bus-pci

Some devices allow an individual function to be reset without affecting other functions in the same device. For devices that have this support, a file named reset will be present in sysfs. Writing 1 to this file will perform reset.

What:

/sys/bus/pci/devices/…/revision

Defined on file sysfs-bus-pci

This file contains the revision field of the PCI device. The value comes from device config space. The file is read only.

What:

/sys/bus/pci/devices/…/sriov_drivers_autoprobe

Defined on file sysfs-bus-pci

This file is associated with the PF of a device that supports SR-IOV. It determines whether newly-enabled VFs are immediately bound to a driver. It initially contains 1, which means the kernel automatically binds VFs to a compatible driver immediately after they are enabled. If an application writes 0 to the file before enabling VFs, the kernel will not bind VFs to a driver.

A typical use case is to write 0 to this file, then enable VFs, then assign the newly-created VFs to virtual machines. Note that changing this file does not affect already- enabled VFs. In this scenario, the user must first disable the VFs, write 0 to sriov_drivers_autoprobe, then re-enable the VFs.

This is similar to /sys/bus/pci/drivers_autoprobe, but affects only the VFs associated with a specific PF.

What:

/sys/bus/pci/devices/…/sriov_numvfs

Defined on file sysfs-bus-pci

This file appears when a physical PCIe device supports SR-IOV. Userspace applications can read and write to this file to determine and control the enablement or disablement of Virtual Functions (VFs) on the physical function (PF). A read of this file will return the number of VFs that are enabled on this PF. A number written to this file will enable the specified number of VFs. A userspace application would typically read the file and check that the value is zero, and then write the number of VFs that should be enabled on the PF; the value written should be less than or equal to the value in the sriov_totalvfs file. A userspace application wanting to disable the VFs would write a zero to this file. The core ensures that valid values are written to this file, and returns errors when values are not valid. For example, writing a 2 to this file when sriov_numvfs is not 0 and not 2 already will return an error. Writing a 10 when the value of sriov_totalvfs is 8 will return an error.

What:

/sys/bus/pci/devices/…/sriov_totalvfs

Defined on file sysfs-bus-pci

This file appears when a physical PCIe device supports SR-IOV. Userspace applications can read this file to determine the maximum number of Virtual Functions (VFs) a PCIe physical function (PF) can support. Typically, this is the value reported in the PF’s SR-IOV extended capability structure’s TotalVFs element. Drivers have the ability at probe time to reduce the value read from this file via the pci_sriov_set_totalvfs() function.

What:

/sys/bus/pci/devices/…/virtfnN

Defined on file sysfs-bus-pci

This symbolic link appears when hardware supports the SR-IOV capability and the Physical Function driver has enabled it. The symbolic link points to the PCI device sysfs entry of the Virtual Function whose index is N (0…MaxVFs-1).

What:

/sys/bus/pci/devices/…/vpd

Defined on file sysfs-bus-pci

A file named vpd in a device directory will be a binary file containing the Vital Product Data for the device. It should follow the VPD format defined in PCI Specification 2.1 or 2.2, but users should consider that some devices may have malformatted data. If the underlying VPD has a writable section then the corresponding section of this file will be writable.

What:

/sys/bus/pci/devices/<bdf>/<device>/VPC2004:00/fn_lock

Defined on file sysfs-platform-ideapad-laptop

Control fn-lock mode.

  • 1 -> Switched On

  • 0 -> Switched Off

For example:

# echo "0" >  \
/sys/bus/pci/devices/0000:00:1f.0/PNP0C09:00/VPC2004:00/fn_lock

What:

/sys/bus/pci/devices/<dev>/aer_dev_correctable

Defined on file sysfs-bus-pci-devices-aer_stats

List of correctable errors seen and reported by this PCI device using ERR_COR. Note that since multiple errors may be reported using a single ERR_COR message, thus TOTAL_ERR_COR at the end of the file may not match the actual total of all the errors in the file. Sample output:

localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_correctable
Receiver Error 2
Bad TLP 0
Bad DLLP 0
RELAY_NUM Rollover 0
Replay Timer Timeout 0
Advisory Non-Fatal 0
Corrected Internal Error 0
Header Log Overflow 0
TOTAL_ERR_COR 2

What:

/sys/bus/pci/devices/<dev>/aer_dev_fatal

Defined on file sysfs-bus-pci-devices-aer_stats

List of uncorrectable fatal errors seen and reported by this PCI device using ERR_FATAL. Note that since multiple errors may be reported using a single ERR_FATAL message, thus TOTAL_ERR_FATAL at the end of the file may not match the actual total of all the errors in the file. Sample output:

localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_fatal
Undefined 0
Data Link Protocol 0
Surprise Down Error 0
Poisoned TLP 0
Flow Control Protocol 0
Completion Timeout 0
Completer Abort 0
Unexpected Completion 0
Receiver Overflow 0
Malformed TLP 0
ECRC 0
Unsupported Request 0
ACS Violation 0
Uncorrectable Internal Error 0
MC Blocked TLP 0
AtomicOp Egress Blocked 0
TLP Prefix Blocked Error 0
TOTAL_ERR_FATAL 0

What:

/sys/bus/pci/devices/<dev>/aer_dev_nonfatal

Defined on file sysfs-bus-pci-devices-aer_stats

List of uncorrectable nonfatal errors seen and reported by this PCI device using ERR_NONFATAL. Note that since multiple errors may be reported using a single ERR_FATAL message, thus TOTAL_ERR_NONFATAL at the end of the file may not match the actual total of all the errors in the file. Sample output:

localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_nonfatal
Undefined 0
Data Link Protocol 0
Surprise Down Error 0
Poisoned TLP 0
Flow Control Protocol 0
Completion Timeout 0
Completer Abort 0
Unexpected Completion 0
Receiver Overflow 0
Malformed TLP 0
ECRC 0
Unsupported Request 0
ACS Violation 0
Uncorrectable Internal Error 0
MC Blocked TLP 0
AtomicOp Egress Blocked 0
TLP Prefix Blocked Error 0
TOTAL_ERR_NONFATAL 0

PCIe Rootport AER statistics

These attributes show up under only the rootports (or root complex event collectors) that are AER capable. These indicate the number of error messages as “reported to” the rootport. Please note that the rootports also transmit (internally) the ERR_* messages for errors seen by the internal rootport PCI device, so these counters include them and are thus cumulative of all the error messages on the PCI hierarchy originating at that root port.

What:

/sys/bus/pci/devices/<dev>/aer_stats/aer_rootport_total_err_cor

Defined on file sysfs-bus-pci-devices-aer_stats

Total number of ERR_COR messages reported to rootport.

What:

/sys/bus/pci/devices/<dev>/aer_stats/aer_rootport_total_err_fatal

Defined on file sysfs-bus-pci-devices-aer_stats

Total number of ERR_FATAL messages reported to rootport.

What:

/sys/bus/pci/devices/<dev>/aer_stats/aer_rootport_total_err_nonfatal

Defined on file sysfs-bus-pci-devices-aer_stats

Total number of ERR_NONFATAL messages reported to rootport.

What:

/sys/bus/pci/devices/<dev>/ccissX/cXdY/block:cciss!cXdY

Defined on file sysfs-bus-pci-devices-cciss

A symbolic link to /sys/block/cciss!cXdY

What:

/sys/bus/pci/devices/<dev>/ccissX/cXdY/lunid

Defined on file sysfs-bus-pci-devices-cciss

Displays the 8-byte LUN ID used to address logical drive Y of controller X.

What:

/sys/bus/pci/devices/<dev>/ccissX/cXdY/model

Defined on file sysfs-bus-pci-devices-cciss

Displays the SCSI INQUIRY page 0 model for logical drive Y of controller X.

What:

/sys/bus/pci/devices/<dev>/ccissX/cXdY/raid_level

Defined on file sysfs-bus-pci-devices-cciss

Displays the RAID level of logical drive Y of controller X.

What:

/sys/bus/pci/devices/<dev>/ccissX/cXdY/rev

Defined on file sysfs-bus-pci-devices-cciss

Displays the SCSI INQUIRY page 0 revision for logical drive Y of controller X.

What:

/sys/bus/pci/devices/<dev>/ccissX/cXdY/unique_id

Defined on file sysfs-bus-pci-devices-cciss

Displays the SCSI INQUIRY page 83 serial number for logical drive Y of controller X.

What:

/sys/bus/pci/devices/<dev>/ccissX/cXdY/usage_count

Defined on file sysfs-bus-pci-devices-cciss

Displays the usage count (number of opens) of logical drive Y of controller X.

What:

/sys/bus/pci/devices/<dev>/ccissX/cXdY/vendor

Defined on file sysfs-bus-pci-devices-cciss

Displays the SCSI INQUIRY page 0 vendor for logical drive Y of controller X.

What:

/sys/bus/pci/devices/<dev>/ccissX/rescan

Defined on file sysfs-bus-pci-devices-cciss

Kicks of a rescan of the controller to discover logical drive topology changes.

What:

/sys/bus/pci/devices/<dev>/ccissX/resettable

Defined on file sysfs-bus-pci-devices-cciss

Value of 1 indicates the controller can honor the reset_devices kernel parameter. Value of 0 indicates reset_devices cannot be honored. This is to allow, for example, kexec tools to be able to warn the user if they designate an unresettable device as a dump device, as kdump requires resetting the device in order to work reliably.

What:

/sys/bus/pci/devices/<dev>/ccissX/transport_mode

Defined on file sysfs-bus-pci-devices-cciss

Value of “simple” indicates that the controller has been placed in “simple mode”. Value of “performant” indicates that the controller has been placed in “performant mode”.

What:

/sys/bus/pci/drivers/…/bind

Defined on file sysfs-bus-pci

Writing a device location to this file will cause the driver to attempt to bind to the device found at this location. This is useful for overriding default bindings. The format for the location is: DDDD:BB:DD.F. That is Domain:Bus:Device.Function and is the same as found in /sys/bus/pci/devices/. For example: # echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/bind (Note: kernels before 2.6.28 may require echo -n).

What:

/sys/bus/pci/drivers/…/new_id

Defined on file sysfs-bus-pci

Writing a device ID to this file will attempt to dynamically add a new device ID to a PCI device driver. This may allow the driver to support more hardware than was included in the driver’s static device ID support table at compile time. The format for the device ID is: VVVV DDDD SVVV SDDD CCCC MMMM PPPP. That is Vendor ID, Device ID, Subsystem Vendor ID, Subsystem Device ID, Class, Class Mask, and Private Driver Data. The Vendor ID and Device ID fields are required, the rest are optional. Upon successfully adding an ID, the driver will probe for the device and attempt to bind to it. For example: # echo “8086 10f5” > /sys/bus/pci/drivers/foo/new_id

What:

/sys/bus/pci/drivers/…/remove_id

Defined on file sysfs-bus-pci

Writing a device ID to this file will remove an ID that was dynamically added via the new_id sysfs entry. The format for the device ID is: VVVV DDDD SVVV SDDD CCCC MMMM. That is Vendor ID, Device ID, Subsystem Vendor ID, Subsystem Device ID, Class, and Class Mask. The Vendor ID and Device ID fields are required, the rest are optional. After successfully removing an ID, the driver will no longer support the device. This is useful to ensure auto probing won’t match the driver to the device. For example: # echo “8086 10f5” > /sys/bus/pci/drivers/foo/remove_id

What:

/sys/bus/pci/drivers/…/unbind

Defined on file sysfs-bus-pci

Writing a device location to this file will cause the driver to attempt to unbind from the device found at this location. This may be useful when overriding default bindings. The format for the location is: DDDD:BB:DD.F. That is Domain:Bus:Device.Function and is the same as found in /sys/bus/pci/devices/. For example: # echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/unbind (Note: kernels before 2.6.28 may require echo -n).

What:

/sys/bus/pci/drivers/altera-cvp/chkcfg

Defined on file sysfs-driver-altera-cvp

Contains either 1 or 0 and controls if configuration error checking in altera-cvp driver is turned on or off.

What:

/sys/bus/pci/drivers/ehci_hcd/…/companion

Defined on file sysfs-bus-pci-drivers-ehci_hcd

PCI-based EHCI USB controllers (i.e., high-speed USB-2.0 controllers) are often implemented along with a set of “companion” full/low-speed USB-1.1 controllers. When a high-speed device is plugged in, the connection is routed to the EHCI controller; when a full- or low-speed device is plugged in, the connection is routed to the companion controller.

Sometimes you want to force a high-speed device to connect at full speed, which can be accomplished by forcing the connection to be routed to the companion controller. That’s what this file does. Writing a port number to the file causes connections on that port to be routed to the companion controller, and writing the negative of a port number returns the port to normal operation.

For example: To force the high-speed device attached to port 4 on bus 2 to run at full speed:

echo 4 >/sys/bus/usb/devices/usb2/../companion

To return the port to high-speed operation:

echo -4 >/sys/bus/usb/devices/usb2/../companion

Reading the file gives the list of ports currently forced to the companion controller.

Note: Some EHCI controllers do not have companions; they may contain an internal “transaction translator” or they may be attached directly to a “rate-matching hub”. This mechanism will not work with such controllers. Also, it cannot be used to force a port on a high-speed hub to connect at full speed.

Note: When this file was first added, it appeared in a different sysfs directory. The location given above is correct for 2.6.35 (and probably several earlier kernel versions as well).

What:

/sys/bus/pci/drivers/janz-cmodio/…/modulbus_number

Defined on file sysfs-bus-pci-drivers-janz-cmodio

Value representing the HEX switch S2 of the janz carrier board CMOD-IO or CAN-PCI2

Read-only: value of the configuration switch (0..15)

What:

/sys/bus/pci/drivers/pciback/quirks

Defined on file sysfs-driver-pciback

If the permissive attribute is set, then writing a string in the format of DDDD:BB:DD.F-REG:SIZE:MASK will allow the guest to write and read from the PCI device. That is Domain:Bus: Device.Function-Register:Size:Mask (Domain is optional). For example: #echo 00:19.0-E0:2:FF > /sys/bus/pci/drivers/pciback/quirks will allow the guest to read and write to the configuration register 0x0E.

What:

/sys/bus/pci/drivers/xhci_hcd/…/dbc

Defined on file sysfs-bus-pci-drivers-xhci_hcd

xHCI compatible USB host controllers (i.e. super-speed USB3 controllers) are often implemented with the Debug Capability (DbC). It can present a debug device which is fully compliant with the USB framework and provides the equivalent of a very high performance full-duplex serial link for debug purpose.

The DbC debug device shares a root port with xHCI host. When the DbC is enabled, the root port will be assigned to the Debug Capability. Otherwise, it will be assigned to xHCI.

Writing “enable” to this attribute will enable the DbC functionality and the shared root port will be assigned to the DbC device. Writing “disable” to this attribute will disable the DbC functionality and the shared root port will roll back to the xHCI.

Reading this attribute gives the state of the DbC. It can be one of the following states: disabled, enabled, initialized, connected, configured and stalled.

What:

/sys/bus/pci/rescan

Defined on file sysfs-bus-pci

Writing a non-zero value to this attribute will force a rescan of all PCI buses in the system, and re-discover previously removed devices.

What:

/sys/bus/pci/slots/…/module

Defined on file sysfs-bus-pci

This symbolic link points to the PCI hotplug controller driver module that manages the hotplug slot.

What:

/sys/bus/platform/devices/*twl4030-usb/vbus

Defined on file sysfs-platform-twl4030-usb

Read-only status reporting if VBUS (approx 5V) is being supplied by the USB bus.

Possible values: “on”, “off”.

Changes are notified via select/poll.

What:

/sys/bus/platform/devices/…/driver_override

Defined on file sysfs-bus-platform

This file allows the driver for a device to be specified which will override standard OF, ACPI, ID table, and name matching. When specified, only a driver with a name matching the value written to driver_override will have an opportunity to bind to the device. The override is specified by writing a string to the driver_override file (echo vfio-platform > driver_override) and may be cleared with an empty string (echo > driver_override). This returns the device to standard matching rules binding. Writing to driver_override does not automatically unbind the device from its current driver or make any attempt to automatically load the specified driver. If no driver with a matching name is currently loaded in the kernel, the device will not bind to any driver. This also allows devices to opt-out of driver binding using a driver_override name such as “none”. Only a single driver may be specified in the override, there is no support for parsing delimiters.

What:

/sys/bus/platform/devices/ACPI000E:00/ac_alarm

Defined on file sysfs-devices-platform-ACPI-TAD

(RW) The AC alarm timer value.

Reads return the current AC alarm timer value in seconds or “disabled”, if the AC alarm is not set to wake up the system.

Write a new AC alarm timer value in seconds or “disabled” to it to set the AC alarm timer or to disable it, respectively.

If the AC alarm timer is set through this attribute and it expires, it will immediately wake up the system from the S3 sleep state (and from S4/S5 too if supported) until its status is explicitly cleared via the ac_status attribute.

What:

/sys/bus/platform/devices/ACPI000E:00/ac_policy

Defined on file sysfs-devices-platform-ACPI-TAD

(RW) The AC alarm expired timer wake policy (see ACPI 6.2, Section 9.18 for details).

Reads return the current expired timer wake delay for the AC alarm timer or “never”, if the policy is to discard AC timer wakeups if the system is on DC power.

Write a new expired timer wake delay for the AC alarm timer in seconds or “never” to it to set the expired timer wake delay for the AC alarm timer or to set its expired wake policy to discard wakeups if the system is on DC power, respectively.

What:

/sys/bus/platform/devices/ACPI000E:00/ac_status

Defined on file sysfs-devices-platform-ACPI-TAD

(RW) The AC alarm status.

Reads return a hexadecimal bitmask representing the AC alarm timer status with the following meaning of bits (see ACPI 6.2, Section 9.18.5):

Bit(0):

The timer has expired if set.

Bit(1):

The timer has woken up the system from a sleep state (S3 or S4/S5 if supported) if set.

The other bits are reserved.

Reads also cause the AC alarm timer status to be reset.

Another way to reset the the status of the AC alarm timer is to write (the number) 0 to this file.

If the status return value indicates that the timer has expired, it will immediately wake up the system from the S3 sleep state (and from S4/S5 too if supported) until its status is explicitly cleared through this attribute.

What:

/sys/bus/platform/devices/ACPI000E:00/caps

Defined on file sysfs-devices-platform-ACPI-TAD

(RO) Hexadecimal bitmask of the TAD attributes are reported by the platform firmware (see ACPI 6.2, section 9.18.2):

BIT(0):

AC wakeup implemented if set

BIT(1):

DC wakeup implemented if set

BIT(2):

Get/set real time features implemented if set

BIT(3):

Real time accuracy in milliseconds if set

BIT(4):

Correct status reported for wakeups from S4/S5 if set

BIT(5):

The AC timer wakes up from S4 if set

BIT(6):

The AC timer wakes up from S5 if set

BIT(7):

The DC timer wakes up from S4 if set

BIT(8):

The DC timer wakes up from S5 if set

The other bits are reserved.

What:

/sys/bus/platform/devices/ACPI000E:00/dc_alarm

Defined on file sysfs-devices-platform-ACPI-TAD

(RW,optional) The DC alarm timer value.

This attribute is only present if the TAD supports a separate DC timer.

It is analogous to the ac_alarm attribute.

What:

/sys/bus/platform/devices/ACPI000E:00/dc_policy

Defined on file sysfs-devices-platform-ACPI-TAD

(RW,optional) The DC alarm expired timer wake policy.

This attribute is only present if the TAD supports a separate DC timer.

It is analogous to the ac_policy attribute.

What:

/sys/bus/platform/devices/ACPI000E:00/dc_status

Defined on file sysfs-devices-platform-ACPI-TAD

(RW,optional) The DC alarm status.

This attribute is only present if the TAD supports a separate DC timer.

It is analogous to the ac_status attribute.

What:

/sys/bus/platform/devices/GOOG000C\:00/boot_on_ac

Defined on file sysfs-platform-wilco-ec

Boot on AC is a policy which makes the device boot from S5 when AC power is connected. This is useful for users who want to run their device headless or with a dock.

Input should be parseable by kstrtou8() to 0 or 1.

What:

/sys/bus/platform/devices/GOOG000C\:00/build_date

Defined on file sysfs-platform-wilco-ec

Display Wilco Embedded Controller firmware build date. Output will a MM/DD/YY string.

What:

/sys/bus/platform/devices/GOOG000C\:00/build_revision

Defined on file sysfs-platform-wilco-ec

Display Wilco Embedded Controller build revision. Output will a version string be similar to the example below: d2592cae0

What:

/sys/bus/platform/devices/GOOG000C\:00/model_number

Defined on file sysfs-platform-wilco-ec

Display Wilco Embedded Controller model number. Output will a version string be similar to the example below: 08B6

What:

/sys/bus/platform/devices/GOOG000C\:00/version

Defined on file sysfs-platform-wilco-ec

Display Wilco Embedded Controller firmware version. The format of the string is x.y.z. Where x is major, y is minor and z is the build number. For example: 95.00.06

What:

/sys/bus/platform/devices/INT3407:00/dptf_power/adapter_rating_mw

Defined on file sysfs-platform-dptf

(RO) Adapter rating in milliwatts (the maximum Adapter power). Must be 0 if no AC Adaptor is plugged in.

What:

/sys/bus/platform/devices/INT3407:00/dptf_power/battery_steady_power

Defined on file sysfs-platform-dptf

(RO) The maximum sustained power for battery in milliwatts.

What:

/sys/bus/platform/devices/INT3407:00/dptf_power/charger_type

Defined on file sysfs-platform-dptf

(RO) The charger type - Traditional, Hybrid or NVDC.

What:

/sys/bus/platform/devices/INT3407:00/dptf_power/max_platform_power_mw

Defined on file sysfs-platform-dptf

(RO) Maximum platform power that can be supported by the battery in milliwatts.

What:

/sys/bus/platform/devices/INT3407:00/dptf_power/platform_power_source

Defined on file sysfs-platform-dptf

(RO) Display the platform power source 0x00 = DC 0x01 = AC 0x02 = USB 0x03 = Wireless Charger

What:

/sys/bus/platform/devices/[..]/fsi-master-gpio/external_mode

Defined on file sysfs-driver-fsi-master-gpio

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).

What:

/sys/bus/platform/devices/ci_hdrc.0/inputs/a_bus_drop

Defined on file sysfs-platform-chipidea-usb-otg

Can be set and read The a_bus_drop(A-device bus drop) input is 1 when the application running on the A-device wants to power down the bus, and is 0 otherwise, When a_bus_drop is 1, then the a_bus_req shall be 0.

Valid values are “1” and “0”.

Reading: returns 1 if the bus is off(vbus is turned off) by

A-device, otherwise 0.

What:

/sys/bus/platform/devices/ci_hdrc.0/inputs/a_bus_req

Defined on file sysfs-platform-chipidea-usb-otg

Can be set and read. Set a_bus_req(A-device bus request) input to be 1 if the application running on the A-device wants to use the bus, and to be 0 when the application no longer wants to use the bus(or wants to work as peripheral). a_bus_req can also be set to 1 by kernel in response to remote wakeup signaling from the B-device, the A-device should decide to resume the bus.

Valid values are “1” and “0”.

Reading: returns 1 if the application running on the A-device is using the bus as host role, otherwise 0.

What:

/sys/bus/platform/devices/ci_hdrc.0/inputs/a_clr_err

Defined on file sysfs-platform-chipidea-usb-otg

Only can be set. The a_clr_err(A-device Vbus error clear) input is used to clear vbus error, then A-device will power down the bus.

Valid value is “1”

What:

/sys/bus/platform/devices/ci_hdrc.0/inputs/b_bus_req

Defined on file sysfs-platform-chipidea-usb-otg

Can be set and read. The b_bus_req(B-device bus request) input is 1 during the time that the application running on the B-device wants to use the bus as host, and is 0 when the application no longer wants to work as host and decides to switch back to be peripheral.

Valid values are “1” and “0”.

Reading: returns if the application running on the B device is using the bus as host role, otherwise 0.

What:

/sys/bus/platform/devices/ci_hdrc.0/role

Defined on file sysfs-platform-chipidea-usb2

It returns string “gadget” or “host” when read it, it indicates current controller role.

It will do role switch when write “gadget” or “host” to it. Only controller at dual-role configuration supports writing.

What:

/sys/bus/platform/devices/dfl-fme.0/bitstream_id

Defined on file sysfs-platform-dfl-fme

Read-only. It returns Bitstream (static FPGA region) identifier number, which includes the detailed version and other information of this static FPGA region.

What:

/sys/bus/platform/devices/dfl-fme.0/bitstream_metadata

Defined on file sysfs-platform-dfl-fme

Read-only. It returns Bitstream (static FPGA region) meta data, which includes the synthesis date, seed and other information of this static FPGA region.

What:

/sys/bus/platform/devices/dfl-fme.0/ports_num

Defined on file sysfs-platform-dfl-fme

Read-only. One DFL FPGA device may have more than 1 port/Accelerator Function Unit (AFU). It returns the number of ports on the FPGA device when read it.

What:

/sys/bus/platform/devices/dfl-port.0/afu_id

Defined on file sysfs-platform-dfl-port

Read-only. User can program different PR bitstreams to FPGA Accelerator Function Unit (AFU) for different functions. It returns uuid which could be used to identify which PR bitstream is programmed in this AFU.

What:

/sys/bus/platform/devices/dfl-port.0/id

Defined on file sysfs-platform-dfl-port

Read-only. It returns id of this port. One DFL FPGA device may have more than one port. Userspace could use this id to distinguish different ports under same FPGA device.

What:

/sys/bus/platform/devices/fsi-master/break

Defined on file sysfs-bus-fsi

Sends an FSI BREAK command on a master’s communication link to any connnected slaves. A BREAK resets connected device’s logic and preps it to receive further commands from the master.

What:

/sys/bus/platform/devices/fsi-master/rescan

Defined on file sysfs-bus-fsi

Initiates a FSI master scan for all connected slave devices on its links.

What:

/sys/bus/platform/devices/fsi-master/slave@00:00/raw

Defined on file sysfs-bus-fsi

Provides a means of reading/writing a 32 bit value from/to a specified FSI bus address.

What:

/sys/bus/platform/devices/fsi-master/slave@00:00/term

Defined on file sysfs-bus-fsi

Sends an FSI terminate command from the master to its connected slave. A terminate resets the slave’s state machines that control access to the internally connected engines. In addition the slave freezes its internal error register for debugging purposes. This command is also needed to abort any ongoing operation in case of an expired ‘Master Time Out’ timer.

What:

/sys/bus/platform/devices/tahvo-usb/otg_mode

Defined on file sysfs-platform-tahvo-usb

Set or read the current OTG mode. Valid values are “host” and “peripheral”.

Reading: returns the current mode.

What:

/sys/bus/platform/devices/tahvo-usb/vbus

Defined on file sysfs-platform-tahvo-usb

Read the current VBUS state.

Reading: returns “on” or “off”.

What:

/sys/bus/platform/drivers/ufshcd/*/attributes/active_icc_level

Defined on file sysfs-driver-ufs

This file provides the active icc level UFS device attribute. The full information about the attribute could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/attributes/bkops_status

Defined on file sysfs-driver-ufs

This file provides the background operations status UFS device attribute. The full information about the attribute could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/attributes/boot_lun_enabled

Defined on file sysfs-driver-ufs

This file provides the boot lun enabled UFS device attribute. The full information about the attribute could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/attributes/configuration_descriptor_lock

Defined on file sysfs-driver-ufs

This file shows whether the configuration descriptor is locked. The full information about the attribute could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/attributes/current_power_mode

Defined on file sysfs-driver-ufs

This file provides the current power mode UFS device attribute. The full information about the attribute could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/attributes/exception_event_control

Defined on file sysfs-driver-ufs

This file provides the exception event control UFS device attribute. The full information about the attribute could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/attributes/exception_event_status

Defined on file sysfs-driver-ufs

This file provides the exception event status UFS device attribute. The full information about the attribute could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/attributes/ffu_status

Defined on file sysfs-driver-ufs

This file provides the ffu status UFS device attribute. The full information about the attribute could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/attributes/max_data_in_size

Defined on file sysfs-driver-ufs

This file shows the maximum data size in a DATA IN UPIU. The full information about the attribute could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/attributes/max_data_out_size

Defined on file sysfs-driver-ufs

This file shows the maximum number of bytes that can be requested with a READY TO TRANSFER UPIU. The full information about the attribute could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/attributes/max_number_of_rtt

Defined on file sysfs-driver-ufs

This file provides the maximum current number of outstanding RTTs in device that is allowed. The full information about the attribute could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/attributes/ooo_data_enabled

Defined on file sysfs-driver-ufs

This file provides the out of order data transfer enabled UFS device attribute. The full information about the attribute could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/attributes/psa_data_size

Defined on file sysfs-driver-ufs

This file shows the amount of data that the host plans to load to all logical units in pre-soldering state. The full information about the attribute could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/attributes/psa_state

Defined on file sysfs-driver-ufs

This file show the PSA feature status. The full information about the attribute could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/attributes/purge_status

Defined on file sysfs-driver-ufs

This file provides the purge operation status UFS device attribute. The full information about the attribute could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/attributes/reference_clock_frequency

Defined on file sysfs-driver-ufs

This file provides the reference clock frequency UFS device attribute. The full information about the attribute could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/bkops_termination_latency

Defined on file sysfs-driver-ufs

This file shows the background operations termination latency. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/boot_enable

Defined on file sysfs-driver-ufs

This file shows value that indicates whether the device is enabled for boot. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/descriptor_access_enable

Defined on file sysfs-driver-ufs

This file shows value that indicates whether the device descriptor could be read after partial initialization phase of the boot sequence. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_class

Defined on file sysfs-driver-ufs

This file shows the device class. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_sub_class

Defined on file sysfs-driver-ufs

This file shows the UFS storage subclass. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_type

Defined on file sysfs-driver-ufs

This file shows the device type. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_version

Defined on file sysfs-driver-ufs

This file shows the device version. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/ffu_timeout

Defined on file sysfs-driver-ufs

This file shows the FFU timeout. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/high_priority_lun

Defined on file sysfs-driver-ufs

This file shows the high priority lun. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/initial_active_icc_level

Defined on file sysfs-driver-ufs

This file shows the initial active ICC level. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/initial_power_mode

Defined on file sysfs-driver-ufs

This file shows value that defines the power mode after device initialization or hardware reset. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/manufacturer_id

Defined on file sysfs-driver-ufs

This file shows the manufacturee ID. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/manufacturing_date

Defined on file sysfs-driver-ufs

This file shows the manufacturing date in BCD format. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_luns

Defined on file sysfs-driver-ufs

This file shows number of logical units. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_secure_wpa

Defined on file sysfs-driver-ufs

This file shows number of secure write protect areas supported by the device. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_wluns

Defined on file sysfs-driver-ufs

This file shows number of well known logical units. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/protocol

Defined on file sysfs-driver-ufs

This file shows the protocol supported by an UFS device. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/psa_max_data_size

Defined on file sysfs-driver-ufs

This file shows the maximum amount of data that may be written during the pre-soldering phase of the PSA flow. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/psa_state_timeout

Defined on file sysfs-driver-ufs

This file shows the command maximum timeout for a change in PSA state. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/queue_depth

Defined on file sysfs-driver-ufs

This file shows the device queue depth. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/rtc_update

Defined on file sysfs-driver-ufs

This file shows the frequency and method of the realtime clock update. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/rtt_capability

Defined on file sysfs-driver-ufs

This file shows the maximum number of outstanding RTTs supported by the device. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/secure_removal_type

Defined on file sysfs-driver-ufs

This file shows the secure removal type. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/specification_version

Defined on file sysfs-driver-ufs

This file shows the specification version. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/support_security_lun

Defined on file sysfs-driver-ufs

This file shows whether the security lun is supported. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/ufs_features

Defined on file sysfs-driver-ufs

This file shows which features are supported by the device. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/flags/bkops_enable

Defined on file sysfs-driver-ufs

This file shows whether the device background operations are enabled. The full information about the flag could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/flags/busy_rtc

Defined on file sysfs-driver-ufs

This file shows whether the device is executing internal operation related to real time clock. The full information about the flag could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/flags/device_init

Defined on file sysfs-driver-ufs

This file shows the device init status. The full information about the flag could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/flags/disable_fw_update

Defined on file sysfs-driver-ufs

This file shows whether the device FW update is permanently disabled. The full information about the flag could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/flags/life_span_mode_enable

Defined on file sysfs-driver-ufs

This file shows whether the device life span mode is enabled. The full information about the flag could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/flags/permanent_wpe

Defined on file sysfs-driver-ufs

This file shows whether permanent write protection is enabled. The full information about the flag could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/flags/phy_resource_removal

Defined on file sysfs-driver-ufs

This file shows whether physical resource removal is enable. The full information about the flag could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/flags/power_on_wpe

Defined on file sysfs-driver-ufs

This file shows whether write protection is enabled on all logical units configured as power on write protected. The full information about the flag could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/*_memory_capacity_adjustment_factor

Defined on file sysfs-driver-ufs

This file shows the memory capacity adjustment factor for different memory types (system code, non persistent, enhanced type 1-4). This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/*_memory_max_alloc_units

Defined on file sysfs-driver-ufs

This file shows the maximum number of allocation units for different memory types (system code, non persistent, enhanced type 1-4). This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/allocation_unit_size

Defined on file sysfs-driver-ufs

This file shows the allocation unit size. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/data_ordering

Defined on file sysfs-driver-ufs

This file shows support for out-of-order data transfer. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/dyn_capacity_resource_policy

Defined on file sysfs-driver-ufs

This file shows the dynamic capacity resource policy. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_in_buffer_size

Defined on file sysfs-driver-ufs

This file shows the maximum data-in buffer size. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_number_of_contexts

Defined on file sysfs-driver-ufs

This file shows maximum available number of contexts which are supported by the device. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_number_of_luns

Defined on file sysfs-driver-ufs

This file shows the maximum number of logical units supported by the UFS device. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_out_buffer_size

Defined on file sysfs-driver-ufs

This file shows the maximum data-out buffer size. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/memory_types

Defined on file sysfs-driver-ufs

This file shows supported memory types. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/min_addressable_block_size

Defined on file sysfs-driver-ufs

This file shows the minimum addressable block size. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/optimal_read_block_size

Defined on file sysfs-driver-ufs

This file shows the optimal read block size. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/optimal_write_block_size

Defined on file sysfs-driver-ufs

This file shows the optimal write block size. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/raw_device_capacity

Defined on file sysfs-driver-ufs

This file shows the total memory quantity available to the user to configure the device logical units. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/rpmb_rw_size

Defined on file sysfs-driver-ufs

This file shows the maximum number of RPMB frames allowed in Security Protocol In/Out. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/secure_removal_types

Defined on file sysfs-driver-ufs

This file shows supported secure removal types. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/segment_size

Defined on file sysfs-driver-ufs

This file shows the segment size. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/sys_data_tag_resource_size

Defined on file sysfs-driver-ufs

This file shows maximum storage area size allocated by the device to handle system data by the tagging mechanism. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/sys_data_tag_unit_size

Defined on file sysfs-driver-ufs

This file shows system data tag unit size. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/health_descriptor/eol_info

Defined on file sysfs-driver-ufs

This file shows preend of life information. This is one of the UFS health descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/health_descriptor/life_time_estimation_a

Defined on file sysfs-driver-ufs

This file shows indication of the device life time (method a). This is one of the UFS health descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/health_descriptor/life_time_estimation_b

Defined on file sysfs-driver-ufs

This file shows indication of the device life time (method b). This is one of the UFS health descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/interconnect_descriptor/mphy_version

Defined on file sysfs-driver-ufs

This file shows the MIPI M-PHY version number in BCD format. This is one of the UFS interconnect descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/interconnect_descriptor/unipro_version

Defined on file sysfs-driver-ufs

This file shows the MIPI UniPro version number in BCD format. This is one of the UFS interconnect descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/power_descriptor/active_icc_levels_vcc*

Defined on file sysfs-driver-ufs

This file shows maximum VCC, VCCQ and VCCQ2 value for active ICC levels from 0 to 15. This is one of the UFS power descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/rpm_lvl

Defined on file sysfs-driver-ufs

This entry could be used to set or show the UFS device runtime power management level. The current driver implementation supports 6 levels with next target states: 0 - an UFS device will stay active, an UIC link will stay active 1 - an UFS device will stay active, an UIC link will hibernate 2 - an UFS device will moved to sleep, an UIC link will stay active 3 - an UFS device will moved to sleep, an UIC link will hibernate 4 - an UFS device will be powered off, an UIC link will hibernate 5 - an UFS device will be powered off, an UIC link will be powered off

What:

/sys/bus/platform/drivers/ufshcd/*/rpm_target_dev_state

Defined on file sysfs-driver-ufs

This entry shows the target power mode of an UFS device for the chosen runtime power management level. The file is read only.

/sys/bus/platform/drivers/ufshcd/*/rpm_target_link_state

Defined on file sysfs-driver-ufs

This entry shows the target state of an UFS UIC link for the chosen runtime power management level. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/spm_lvl

Defined on file sysfs-driver-ufs

This entry could be used to set or show the UFS device system power management level. The current driver implementation supports 6 levels with next target states: 0 - an UFS device will stay active, an UIC link will stay active 1 - an UFS device will stay active, an UIC link will hibernate 2 - an UFS device will moved to sleep, an UIC link will stay active 3 - an UFS device will moved to sleep, an UIC link will hibernate 4 - an UFS device will be powered off, an UIC link will hibernate 5 - an UFS device will be powered off, an UIC link will be powered off

What:

/sys/bus/platform/drivers/ufshcd/*/spm_target_dev_state

Defined on file sysfs-driver-ufs

This entry shows the target power mode of an UFS device for the chosen system power management level. The file is read only.

/sys/bus/platform/drivers/ufshcd/*/spm_target_link_state

Defined on file sysfs-driver-ufs

This entry shows the target state of an UFS UIC link for the chosen system power management level. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/string_descriptors/manufacturer_name

Defined on file sysfs-driver-ufs

This file contains a device manufactureer name string. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/string_descriptors/oem_id

Defined on file sysfs-driver-ufs

This file contains a OEM ID string. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/string_descriptors/product_name

Defined on file sysfs-driver-ufs

This file contains a product name string. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/string_descriptors/product_revision

Defined on file sysfs-driver-ufs

This file contains a product revision string. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/platform/drivers/ufshcd/*/string_descriptors/serial_number

Defined on file sysfs-driver-ufs

This file contains a device serial number string. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/bus/rapidio/devices/nn:d:iiii

Defined on file sysfs-bus-rapidio

For each RapidIO device, the RapidIO subsystem creates files in an individual subdirectory with the following name format of device_name “nn:d:iiii”, where:

nn

two-digit hexadecimal ID of RapidIO network where the device resides

d

device type: ‘e’ - for endpoint or ‘s’ - for switch

iiii

four-digit device destID for endpoints, or switchID for switches

For example, below is a list of device directories that represents a typical RapidIO network with one switch, one host, and two agent endpoints, as it is seen by the enumerating host (with destID = 1):

/sys/bus/rapidio/devices/00:e:0000
/sys/bus/rapidio/devices/00:e:0002
/sys/bus/rapidio/devices/00:s:0001
NOTE:

An enumerating or discovering endpoint does not create a sysfs entry for itself, this is why an endpoint with destID=1 is not shown in the list.

Attributes Common for All RapidIO Devices

What:

/sys/bus/rapidio/devices/nn:d:iiii/asm_did

Defined on file sysfs-bus-rapidio

(RO) returns identifier for the assembly containing the device

What:

/sys/bus/rapidio/devices/nn:d:iiii/asm_rev

Defined on file sysfs-bus-rapidio

(RO) returns revision level of the assembly containing the device

What:

/sys/bus/rapidio/devices/nn:d:iiii/asm_vid

Defined on file sysfs-bus-rapidio

(RO) returns vendor identifier of the assembly containing the device

What:

/sys/bus/rapidio/devices/nn:d:iiii/config

Defined on file sysfs-bus-rapidio

(RW) Binary attribute to read from and write to the device configuration registers using the RapidIO maintenance transactions. This attribute is similar in behaviour to the “config” attribute of PCI devices and provides an access to the RapidIO device registers using standard file read and write operations.

RapidIO Switch Device Attributes

RapidIO switches have additional attributes in sysfs. RapidIO subsystem supports common and device-specific sysfs attributes for switches. Because switches are integrated into the RapidIO subsystem, it offers a method to create device-specific sysfs attributes by specifying a callback function that may be set by the switch initialization routine during enumeration or discovery process.

What:

/sys/bus/rapidio/devices/nn:d:iiii/destid

Defined on file sysfs-bus-rapidio

(RO) returns device destination ID assigned by the enumeration routine

What:

/sys/bus/rapidio/devices/nn:d:iiii/device_rev

Defined on file sysfs-bus-rapidio

(RO) returns the device revision level

What:

/sys/bus/rapidio/devices/nn:d:iiii/did

Defined on file sysfs-bus-rapidio

(RO) returns the device identifier

What:

/sys/bus/rapidio/devices/nn:d:iiii/lprev

Defined on file sysfs-bus-rapidio

(RO) returns name of previous device (switch) on the path to the device that that owns this attribute

What:

/sys/bus/rapidio/devices/nn:d:iiii/modalias

Defined on file sysfs-bus-rapidio

(RO) returns the device modalias

What:

/sys/bus/rapidio/devices/nn:d:iiii/vid

Defined on file sysfs-bus-rapidio

(RO) returns the device vendor identifier

What:

/sys/bus/rapidio/devices/nn:s:iiii/destid

Defined on file sysfs-bus-rapidio

(RO) device destination ID of the associated device that defines a route to the switch

What:

/sys/bus/rapidio/devices/nn:s:iiii/errlog

Defined on file sysfs-bus-rapidio

(RO) reads contents of device error log until it is empty.

RapidIO Bus Attributes

What:

/sys/bus/rapidio/devices/nn:s:iiii/hopcount

Defined on file sysfs-bus-rapidio

(RO) number of hops on the path to the switch

What:

/sys/bus/rapidio/devices/nn:s:iiii/lnext

Defined on file sysfs-bus-rapidio

(RO) returns names of devices linked to the switch except one of a device linked to the ingress port (reported as “lprev”). This is an array names with number of lines equal to number of ports in switch. If a switch port has no attached device, returns “null” instead of a device name.

Device-specific Switch Attributes

IDT_GEN2-

What:

/sys/bus/rapidio/devices/nn:s:iiii/routes

Defined on file sysfs-bus-rapidio

(RO) reports switch routing information in “destID port” format. This attribute reports only valid routing table entries, one line for each entry.

What:

/sys/bus/rapidio/scan

Defined on file sysfs-bus-rapidio

(WO) Allows to trigger enumeration discovery process from user space. To initiate an enumeration or discovery process on specific mport device, a user needs to write mport_ID (not RapidIO destination ID) into this file. The mport_ID is a sequential number (0 … RIO_MAX_MPORTS) assigned to the mport device. For example, for a machine with a single RapidIO controller, mport_ID for that controller always will be 0. To initiate RapidIO enumeration/discovery on all available mports a user must write ‘-1’ (or RIO_MPORT_ANY) into this attribute file.

What:

/sys/bus/rbd/add

Defined on file sysfs-bus-rbd

(WO) Add rbd block device.

Usage: <mon ip addr> <options> <pool name> <rbd image name> [<snap name>]

$ echo “192.168.0.1 name=admin rbd foo” > /sys/bus/rbd/add

The snapshot name can be “-” or omitted to map the image read/write. A <dev-id> will be assigned for any registered block device. If snapshot is used, it will be mapped read-only.

What:

/sys/bus/rbd/add_single_major

Defined on file sysfs-bus-rbd

(WO) Available only if rbd module is inserted with single_major parameter set to true.

Usage is the same as for /sys/bus/rbd/add. If present, this should be used instead of the latter: any attempts to use /sys/bus/rbd/add if /sys/bus/rbd/add_single_major is available will fail for backwards compatibility reasons.

What:

/sys/bus/rbd/devices/<dev-id>/image_id

/sys/bus/rbd/devices/<dev-id>/features

Defined on file sysfs-bus-rbd

image_id: (RO) The unique id for the rbd image. (For rbd

image format 1 this is empty.)

features: (RO) A hexadecimal encoding of the feature bits

for this image.

What:

/sys/bus/rbd/devices/<dev-id>/minor

Defined on file sysfs-bus-rbd

(RO) The block device minor number.

What:

/sys/bus/rbd/devices/<dev-id>/parent

Defined on file sysfs-bus-rbd

(RO) Information identifying the chain of parent images in a layered rbd image. Entries are separated by empty lines.

What:

/sys/bus/rbd/devices/<dev-id>/pool_id

Defined on file sysfs-bus-rbd

(RO) The unique identifier for the rbd image’s pool. This is a permanent attribute of the pool. A pool’s id will never change.

What:

/sys/bus/rbd/devices/<dev-id>/size

/sys/bus/rbd/devices/<dev-id>/major

/sys/bus/rbd/devices/<dev-id>/client_id

/sys/bus/rbd/devices/<dev-id>/pool

/sys/bus/rbd/devices/<dev-id>/name

/sys/bus/rbd/devices/<dev-id>/refresh

/sys/bus/rbd/devices/<dev-id>/current_snap

Defined on file sysfs-bus-rbd

size: (RO) The size (in bytes) of the mapped block

device.

major: (RO) The block device major number.

client_id: (RO) The ceph unique client id that was assigned

for this specific session.

pool: (RO) The name of the storage pool where this rbd

image resides. An rbd image name is unique within its pool.

name: (RO) The name of the rbd image.

refresh: (WO) Writing to this file will reread the image

header data and set all relevant data structures accordingly.

current_snap: (RO) The current snapshot for which the device

is mapped.

What:

/sys/bus/rbd/devices/<dev-id>/snap_id

/sys/bus/rbd/devices/<dev-id>/config_info

/sys/bus/rbd/devices/<dev-id>/cluster_fsid

/sys/bus/rbd/devices/<dev-id>/client_addr

Defined on file sysfs-bus-rbd

snap_id: (RO) The current snapshot’s id.

config_info: (RO) The string written into

/sys/bus/rbd/add{,_single_major}.

cluster_fsid: (RO) The ceph cluster UUID.

client_addr: (RO) The ceph unique client

entity_addr_t (address + nonce). The format is <address>:<port>/<nonce>: ‘1.2.3.4:1234/5678’ or ‘[1:2:3:4:5:6:7:8]:1234/5678’.

What:

/sys/bus/rbd/remove

Defined on file sysfs-bus-rbd

(WO) Remove rbd block device.

Usage: <dev-id> [force]

$ echo 2 > /sys/bus/rbd/remove

Optional “force” argument which when passed will wait for running requests and then unmap the image. Requests sent to the driver after initiating the removal will be failed. (August 2016, since 4.9.)

What:

/sys/bus/rbd/remove_single_major

Defined on file sysfs-bus-rbd

(WO) Available only if rbd module is inserted with single_major parameter set to true.

Usage is the same as for /sys/bus/rbd/remove. If present, this should be used instead of the latter: any attempts to use /sys/bus/rbd/remove if /sys/bus/rbd/remove_single_major is available will fail for backwards compatibility reasons.

What:

/sys/bus/rbd/supported_features

Defined on file sysfs-bus-rbd

(RO) Displays the features supported by the rbd module so that userspace can generate meaningful error messages and spell out unsupported features that need to be disabled.

What:

/sys/bus/rpmsg/devices/…/announce

Defined on file sysfs-bus-rpmsg

Every rpmsg device is a communication channel with a remote processor. Channels are identified by a textual name (see /sys/bus/rpmsg/devices/…/name above) and have a local (“source”) rpmsg address, and remote (“destination”) rpmsg address.

A channel is first created when an entity, whether local or remote, starts listening on it for messages (and is thus called an rpmsg server).

When that happens, a “name service” announcement is sent to the other processor, in order to let it know about the creation of the channel (this way remote clients know they can start sending messages).

This sysfs entry tells us whether the channel is a local server channel that is announced (values are either true or false).

What:

/sys/bus/rpmsg/devices/…/driver_override

Defined on file sysfs-bus-rpmsg

Every rpmsg device is a communication channel with a remote processor. Channels are identified by a textual name (see /sys/bus/rpmsg/devices/…/name above) and have a local (“source”) rpmsg address, and remote (“destination”) rpmsg address.

The listening entity (or client) which communicates with a remote processor is referred as rpmsg driver. The rpmsg device and rpmsg driver are matched based on rpmsg device name and rpmsg driver ID table.

This sysfs entry allows the rpmsg driver for a rpmsg device to be specified which will override standard OF, ID table and name matching.

What:

/sys/bus/rpmsg/devices/…/dst

Defined on file sysfs-bus-rpmsg

Every rpmsg device is a communication channel with a remote processor. Channels have a local (“source”) rpmsg address, and remote (“destination”) rpmsg address. When an entity starts listening on one end of a channel, it assigns it with a unique rpmsg address (a 32 bits integer). This way when inbound messages arrive to this address, the rpmsg core dispatches them to the listening entity.

This sysfs entry contains the dst (remote) rpmsg address of this channel. If it contains 0xffffffff, then an address wasn’t assigned (can happen if the kernel driver that is attached to this channel is exposing a service to the remote processor. This make it a local rpmsg server, and it is listening for inbound messages that may be sent from any remote rpmsg client; it is not bound to a single remote entity).

What:

/sys/bus/rpmsg/devices/…/name

Defined on file sysfs-bus-rpmsg

Every rpmsg device is a communication channel with a remote processor. Channels are identified with a (textual) name, which is maximum 32 bytes long (defined as RPMSG_NAME_SIZE in rpmsg.h).

This sysfs entry contains the name of this channel.

What:

/sys/bus/rpmsg/devices/…/src

Defined on file sysfs-bus-rpmsg

Every rpmsg device is a communication channel with a remote processor. Channels have a local (“source”) rpmsg address, and remote (“destination”) rpmsg address. When an entity starts listening on one end of a channel, it assigns it with a unique rpmsg address (a 32 bits integer). This way when inbound messages arrive to this address, the rpmsg core dispatches them to the listening entity (a kernel driver).

This sysfs entry contains the src (local) rpmsg address of this channel. If it contains 0xffffffff, then an address wasn’t assigned (can happen if no driver exists for this channel).

What:

/sys/bus/scsi/drivers/st/debug_flag

Defined on file sysfs-driver-st

This file allows you to turn debug output from the st driver off if you write a ‘0’ to the file or on if you write a ‘1’. Note that debug output requires that the module be compiled with the #define DEBUG set to a non-zero value (this is the default). If DEBUG is set to 0 then this file will not appear in sysfs as its presence is conditional upon debug output support being compiled into the module.

What:

/sys/bus/siox/devices/siox-X-Y/connected

Defined on file sysfs-bus-siox

Read-only value. “0” means the Yth device on siox bus X isn’t “connected” i.e. communication with it is not ensured. “1” signals a working connection.

What:

/sys/bus/siox/devices/siox-X-Y/inbytes

Defined on file sysfs-bus-siox

Read-only value reporting the inbytes value provided to siox-X/device_add

What:

/sys/bus/siox/devices/siox-X-Y/outbytes

Defined on file sysfs-bus-siox

Read-only value reporting the outbytes value provided to siox-X/device_add.

What:

/sys/bus/siox/devices/siox-X-Y/status_errors

Defined on file sysfs-bus-siox

Counts the number of time intervals when the read status byte doesn’t yield the expected value.

What:

/sys/bus/siox/devices/siox-X-Y/type

Defined on file sysfs-bus-siox

Read-only value reporting the type value provided to siox-X/device_add.

What:

/sys/bus/siox/devices/siox-X-Y/watchdog

Defined on file sysfs-bus-siox

Read-only value reporting if the watchdog of the siox device is active. “0” means the watchdog is not active and the device is expected to be operational. “1” means the watchdog keeps the device in reset.

What:

/sys/bus/siox/devices/siox-X-Y/watchdog_errors

Defined on file sysfs-bus-siox

Read-only value reporting the number to time intervals when the watchdog was active.

What:

/sys/bus/siox/devices/siox-X/active

Defined on file sysfs-bus-siox

On reading represents the current state of the bus. If it contains a “0” the bus is stopped and connected devices are expected to not do anything because their watchdog triggered. When the file contains a “1” the bus is operated and periodically does a push-pull cycle to write and read data from the connected devices. When writing a “0” or “1” the bus moves to the described state.

What:

/sys/bus/siox/devices/siox-X/device_add

Defined on file sysfs-bus-siox

Write-only file. Write

<type> <inbytes> <outbytes> <statustype>

to add a new device dynamically. <type> is the name that is used to match to a driver (similar to the platform bus). <inbytes> and <outbytes> define the length of the input and output shift register in bytes respectively. <statustype> defines the 4 bit device type that is check to identify connection problems. The new device is added to the end of the existing chain.

What:

/sys/bus/siox/devices/siox-X/device_remove

Defined on file sysfs-bus-siox

Write-only file. A single write removes the last device in the siox chain.

What:

/sys/bus/siox/devices/siox-X/poll_interval_ns

Defined on file sysfs-bus-siox

Defines the interval between two poll cycles in nano seconds. Note this is rounded to jiffies on writing. On reading the current value is returned.

What:

/sys/bus/soc

Defined on file sysfs-devices-soc

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.

What:

/sys/bus/thunderbolt/devices/…/authorized

Defined on file sysfs-bus-thunderbolt

This attribute is used to authorize Thunderbolt devices after they have been connected. If the device is not authorized, no devices such as PCIe and Display port are available to the system.

Contents of this attribute will be 0 when the device is not yet authorized.

Possible values are supported:

1

The device will be authorized and connected

When key attribute contains 32 byte hex string the possible values are:

1

The 32 byte hex string is added to the device NVM and the device is authorized.

2

Send a challenge based on the 32 byte hex string. If the challenge response from device is valid, the device is authorized. In case of failure errno will be ENOKEY if the device did not contain a key at all, and EKEYREJECTED if the challenge response did not match.

What:

/sys/bus/thunderbolt/devices/…/boot

Defined on file sysfs-bus-thunderbolt

This attribute contains 1 if Thunderbolt device was already authorized on boot and 0 otherwise.

What:

/sys/bus/thunderbolt/devices/…/device

Defined on file sysfs-bus-thunderbolt

This attribute contains id of this device extracted from the device DROM.

What:

/sys/bus/thunderbolt/devices/…/device_name

Defined on file sysfs-bus-thunderbolt

This attribute contains name of this device extracted from the device DROM.

What:

/sys/bus/thunderbolt/devices/…/domainX/boot_acl

Defined on file sysfs-bus-thunderbolt

Holds a comma separated list of device unique_ids that are allowed to be connected automatically during system startup (e.g boot devices). The list always contains maximum supported number of unique_ids where unused entries are empty. This allows the userspace software to determine how many entries the controller supports. If there are multiple controllers, each controller has its own ACL list and size may be different between the controllers.

System BIOS may have an option “Preboot ACL” or similar that needs to be selected before this list is taken into consideration.

Software always updates a full list in each write.

If a device is authorized automatically during boot its boot attribute is set to 1.

What:

/sys/bus/thunderbolt/devices/…/domainX/iommu_dma_protection

Defined on file sysfs-bus-thunderbolt

This attribute tells whether the system uses IOMMU for DMA protection. Value of 1 means IOMMU is used 0 means it is not (DMA protection is solely based on Thunderbolt security levels).

What:

/sys/bus/thunderbolt/devices/…/domainX/security

Defined on file sysfs-bus-thunderbolt

This attribute holds current Thunderbolt security level set by the system BIOS. Possible values are:

none

All devices are automatically authorized

user

Devices are only authorized based on writing appropriate value to the authorized attribute

secure

Require devices that support secure connect at minimum. User needs to authorize each device.

dponly

Automatically tunnel Display port (and USB). No PCIe tunnels are created.

usbonly

Automatically tunnel USB controller of the connected Thunderbolt dock (and Display Port). All PCIe links downstream of the dock are removed.

What:

/sys/bus/thunderbolt/devices/…/key

Defined on file sysfs-bus-thunderbolt

When a devices supports Thunderbolt secure connect it will have this attribute. Writing 32 byte hex string changes authorization to use the secure connection method instead. Writing an empty string clears the key and regular connection method can be used again.

What:

/sys/bus/thunderbolt/devices/…/nvm_authenticate

Defined on file sysfs-bus-thunderbolt

When new NVM image is written to the non-active NVM area (through non_activeX NVMem device), the authentication procedure is started by writing 1 to this file. If everything goes well, the device is restarted with the new NVM firmware. If the image verification fails an error code is returned instead.

When read holds status of the last authentication operation if an error occurred during the process. This is directly the status value from the DMA configuration based mailbox before the device is power cycled. Writing 0 here clears the status.

What:

/sys/bus/thunderbolt/devices/…/nvm_version

Defined on file sysfs-bus-thunderbolt

If the device has upgradeable firmware the version number is available here. Format: %x.%x, major.minor. If the device is in safe mode reading the file returns -ENODATA instead as the NVM version is not available.

What:

/sys/bus/thunderbolt/devices/…/unique_id

Defined on file sysfs-bus-thunderbolt

This attribute contains unique_id string of this device. This is either read from hardware registers (UUID on newer hardware) or based on UID from the device DROM. Can be used to uniquely identify particular device.

What:

/sys/bus/thunderbolt/devices/…/vendor

Defined on file sysfs-bus-thunderbolt

This attribute contains vendor id of this device extracted from the device DROM.

What:

/sys/bus/thunderbolt/devices/…/vendor_name

Defined on file sysfs-bus-thunderbolt

This attribute contains vendor name of this device extracted from the device DROM.

What:

/sys/bus/thunderbolt/devices/<xdomain>.<service>/key

Defined on file sysfs-bus-thunderbolt

This contains name of the property directory the XDomain service exposes. This entry describes the protocol in question. Following directories are already reserved by the Apple XDomain specification:

network: IP/ethernet over Thunderbolt targetdm: Target disk mode protocol over Thunderbolt extdisp: External display mode protocol over Thunderbolt

What:

/sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias

Defined on file sysfs-bus-thunderbolt

Stores the same MODALIAS value emitted by uevent for the XDomain service. Format: tbtsvc:kSpNvNrN

What:

/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcid

Defined on file sysfs-bus-thunderbolt

This contains XDomain protocol identifier the XDomain service supports.

What:

/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcrevs

Defined on file sysfs-bus-thunderbolt

This contains XDomain software version the XDomain service supports.

What:

/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcstns

Defined on file sysfs-bus-thunderbolt

This contains XDomain service specific settings as bitmask. Format: %x

What:

/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcvers

Defined on file sysfs-bus-thunderbolt

This contains XDomain protocol version the XDomain service supports.

What:

/sys/bus/typec/devices/…/active

Defined on file sysfs-bus-typec

Shows if the mode is active or not. The attribute can be used for entering/exiting the mode. Entering/exiting modes is supported as synchronous operation so write(2) to the attribute does not return until the enter/exit mode operation has finished. The attribute is notified when the mode is entered/exited so poll(2) on the attribute wakes up. Entering/exiting a mode will also generate uevent KOBJ_CHANGE.

Valid values are boolean.

What:

/sys/bus/typec/devices/…/description

Defined on file sysfs-bus-typec

Shows description of the mode. The description is optional for the drivers, just like with the Billboard Devices.

What:

/sys/bus/typec/devices/…/displayport/configuration

Defined on file sysfs-driver-typec-displayport

Shows the current DisplayPort configuration for the connector. Valid values are USB, source and sink. Source means DisplayPort source, and sink means DisplayPort sink.

All supported configurations are listed as space separated list with the active one wrapped in square brackets.

Source example:

USB [source] sink

The configuration can be changed by writing to the file

Note. USB configuration does not equal to Exit Mode. It is separate configuration defined in VESA DisplayPort Alt Mode on USB Type-C Standard. Functionally it equals to the situation where the mode has been exited (to exit the mode, see Documentation/ABI/testing/sysfs-bus-typec, and use file /sys/bus/typec/devices/…/active).

What:

/sys/bus/typec/devices/…/displayport/pin_assignment

Defined on file sysfs-driver-typec-displayport

VESA DisplayPort Alt Mode on USB Type-C Standard defines six different pin assignments for USB Type-C connector that are labeled A, B, C, D, E, and F. The supported pin assignments are listed as space separated list with the active one wrapped in square brackets.

Example:

C [D]

Pin assignment can be changed by writing to the file. It is possible to set pin assignment before configuration has been set, but the assignment will not be active before the connector is actually configured.

Note. As of VESA DisplayPort Alt Mode on USB Type-C Standard version 1.0b, pin assignments A, B, and F are deprecated. Only pin assignment D can now carry simultaneously one channel of USB SuperSpeed protocol. From user perspective pin assignments C and E are equal, where all channels on the connector are used for carrying DisplayPort protocol (allowing higher resolutions).

What:

/sys/bus/typec/devices/…/mode

Defined on file sysfs-bus-typec

The index number of the mode returned by Discover Modes USB Power Delivery command. Depending on the alternate mode, the mode index may be significant.

With some alternate modes (SVIDs), the mode index is assigned for specific functionality in the specification for that alternate mode.

With other alternate modes, the mode index values are not assigned, and can not be therefore used for identification. When the mode index is not assigned, identifying the alternate mode must be done with either mode VDO or the description.

What:

/sys/bus/typec/devices/…/svid

Defined on file sysfs-bus-typec

The Standard or Vendor ID (SVID) assigned by USB-IF for this alternate mode.

What:

/sys/bus/typec/devices/…/vdo

Defined on file sysfs-bus-typec

Shows the VDO in hexadecimal returned by Discover Modes command for this mode.

What:

/sys/bus/umc/

Defined on file sysfs-bus-umc

The Wireless Host Controller Interface (WHCI) specification describes a PCI-based device with multiple capabilities; the UWB Multi-interface Controller (UMC).

The umc bus presents each of the individual capabilties as a device.

What:

/sys/bus/umc/devices/…/capability_id

Defined on file sysfs-bus-umc

The ID of this capability, with 0 being the radio controller capability.

What:

/sys/bus/umc/devices/…/version

Defined on file sysfs-bus-umc

The specification version this capability’s hardware interface complies with.

What:

/sys/bus/usb-serial/drivers/…/new_id

Defined on file sysfs-bus-usb

For serial USB drivers, this attribute appears under the extra bus folder “usb-serial” in sysfs; apart from that difference, all descriptions from the entry “/sys/bus/usb/drivers/…/new_id” apply.

What:

/sys/bus/usb/…/decimals

Defined on file sysfs-bus-usb-devices-usbsevseg

Controls the decimal places on the device. To set the nth decimal place, give this field the value of 10 ** n. Assume this field has the value k and has 1 or more decimal places set, to set the mth place (where m is not already set), change this fields value to k + 10 ** m.

What:

/sys/bus/usb/…/mode_msb

/sys/bus/usb/…/mode_lsb

Defined on file sysfs-bus-usb-devices-usbsevseg

Controls the devices display mode. For a 6 character display the values are

MSB 0x06; LSB 0x3F, and

for an 8 character display the values are

MSB 0x08; LSB 0xFF.

What:

/sys/bus/usb/…/powered

Defined on file sysfs-bus-usb-devices-usbsevseg

Controls whether the device’s display will powered. A value of 0 is off and a non-zero value is on.

What:

/sys/bus/usb/…/text

Defined on file sysfs-bus-usb-devices-usbsevseg

The text (or data) for the device to display

What:

/sys/bus/usb/…/textmode

Defined on file sysfs-bus-usb-devices-usbsevseg

Controls the way the device interprets its text buffer. raw: each character controls its segment manually hex: each character is between 0-15 ascii: each character is between ‘0’-‘9’ and ‘A’-‘F’.

What:

/sys/bus/usb/device/…/authorized

Defined on file sysfs-bus-usb

Authorized devices are available for use by device drivers, non-authorized one are not. By default, wired USB devices are authorized.

Certified Wireless USB devices are not authorized initially and should be (by writing 1) after the device has been authenticated.

What:

/sys/bus/usb/device/…/wusb_cdid

Defined on file sysfs-bus-usb

For Certified Wireless USB devices only.

A devices’s CDID, as 16 space-separated hex octets.

What:

/sys/bus/usb/device/…/wusb_ck

Defined on file sysfs-bus-usb

For Certified Wireless USB devices only.

Write the device’s connection key (CK) to start the authentication of the device. The CK is 16 space-separated hex octets.

What:

/sys/bus/usb/device/…/wusb_disconnect

Defined on file sysfs-bus-usb

For Certified Wireless USB devices only.

Write a 1 to force the device to disconnect (equivalent to unplugging a wired USB device).

What:

/sys/bus/usb/devices/…/(hub interface)/portX

Defined on file sysfs-bus-usb

The /sys/bus/usb/devices/…/(hub interface)/portX is usb port device’s sysfs directory.

What:

/sys/bus/usb/devices/…/(hub interface)/portX/connect_type

Defined on file sysfs-bus-usb

Some platforms provide usb port connect types through ACPI. This attribute is to expose these information to user space. The file will read “hotplug”, “hardwired” and “not used” if the information is available, and “unknown” otherwise.

What:

/sys/bus/usb/devices/…/(hub interface)/portX/location

Defined on file sysfs-bus-usb

Some platforms provide usb port physical location through firmware. This is used by the kernel to pair up logical ports mapping to the same physical connector. The attribute exposes the raw location value as a hex integer.

What:

/sys/bus/usb/devices/…/(hub interface)/portX/over_current_count

Defined on file sysfs-bus-usb

Most hubs are able to detect over-current situations on their ports and report them to the kernel. This attribute is to expose the number of over-current situation occurred on a specific port to user space. This file will contain an unsigned 32 bit value which wraps to 0 after its maximum is reached. This file supports poll() for monitoring changes to this value in user space.

Any time this value changes the corresponding hub device will send a udev event with the following attributes:

OVER_CURRENT_PORT=/sys/bus/usb/devices/.../(hub interface)/portX
OVER_CURRENT_COUNT=[current value of this sysfs attribute]

What:

/sys/bus/usb/devices/…/(hub interface)/portX/quirks

Defined on file sysfs-bus-usb

In some cases, we care about time-to-active for devices connected on a specific port (e.g. non-standard USB port like pogo pins), where the device to be connected is known in advance, and behaves well according to the specification. This attribute is a bit-field that controls the behavior of a specific port:

  • Bit 0 of this field selects the “old” enumeration scheme, as it is considerably faster (it only causes one USB reset instead of 2). The old enumeration scheme can also be selected globally using /sys/module/usbcore/parameters/old_scheme_first, but it is often not desirable as the new scheme was introduced to increase compatibility with more devices.

  • Bit 1 reduces TRSTRCY to the 10 ms that are required by the USB 2.0 specification, instead of the 50 ms that are normally used to help make enumeration work better on some high speed devices.

What:

/sys/bus/usb/devices/…/(hub interface)/portX/usb3_lpm_permit

Defined on file sysfs-bus-usb

Some USB3.0 devices are not friendly to USB3 LPM. usb3_lpm_permit attribute allows enabling/disabling usb3 lpm of a port. It takes effect both before and after a usb device is enumerated. Supported values are “0” if both u1 and u2 are NOT permitted, “u1” if only u1 is permitted, “u2” if only u2 is permitted, “u1_u2” if both u1 and u2 are permitted.

What:

/sys/bus/usb/devices/…/enable_compliance

Defined on file sysfs-bus-usb-lvstest

Write to this node to set the port to compliance mode to test with Link Layer Validation device. It is needed for TD.7.34.

What:

/sys/bus/usb/devices/…/get_dev_desc

Defined on file sysfs-bus-usb-lvstest

Write to this node to issue “Get Device Descriptor” for Link Layer Validation device. It is needed for TD.7.06.

What:

/sys/bus/usb/devices/…/hot_reset

Defined on file sysfs-bus-usb-lvstest

Write to this node to issue “Reset” for Link Layer Validation device. It is needed for TD.7.29, TD.7.31, TD.7.34 and TD.7.35.

What:

/sys/bus/usb/devices/…/ltm_capable

Defined on file sysfs-bus-usb

USB 3.0 devices may optionally support Latency Tolerance Messaging (LTM). They indicate their support by setting a bit in the bmAttributes field of their SuperSpeed BOS descriptors. If that bit is set for the device, ltm_capable will read “yes”. If the device doesn’t support LTM, the file will read “no”. The file will be present for all speeds of USB devices, and will always read “no” for USB 1.1 and USB 2.0 devices.

What:

/sys/bus/usb/devices/…/power/usb2_hardware_lpm

Defined on file sysfs-bus-usb

If CONFIG_PM is set and a USB 2.0 lpm-capable device is plugged in to a xHCI host which support link PM, it will perform a LPM test; if the test is passed and host supports USB2 hardware LPM (xHCI 1.0 feature), USB2 hardware LPM will be enabled for the device and the USB device directory will contain a file named power/usb2_hardware_lpm. The file holds a string value (enable or disable) indicating whether or not USB2 hardware LPM is enabled for the device. Developer can write y/Y/1 or n/N/0 to the file to enable/disable the feature.

What:

/sys/bus/usb/devices/…/power/usb2_lpm_besl

Defined on file sysfs-bus-usb

USB 2.0 devices that support hardware link power management (LPM) L1 sleep state now use a best effort service latency value (BESL) to indicate the best effort to resumption of service to the device after the initiation of the resume event. If the device does not have a preferred besl value then the host can select one instead. This usb2_lpm_besl attribute allows to tune the host selected besl value in order to tune power saving and service latency.

Supported values are 0 - 15. More information on how besl values map to microseconds can be found in USB 2.0 ECN Errata for Link Power Management, section 4.10)

What:

/sys/bus/usb/devices/…/power/usb2_lpm_l1_timeout

Defined on file sysfs-bus-usb

USB 2.0 devices may support hardware link power management (LPM) L1 sleep state. The usb2_lpm_l1_timeout attribute allows tuning the timeout for L1 inactivity timer (LPM timer), e.g. needed inactivity time before host requests the device to go to L1 sleep. Useful for power management tuning. Supported values are 0 - 65535 microseconds.

What:

/sys/bus/usb/devices/…/power/usb3_hardware_lpm_u1

Defined on file sysfs-bus-usb

If CONFIG_PM is set and a USB 3.0 lpm-capable device is plugged in to a xHCI host which supports link PM, it will check if U1 and U2 exit latencies have been set in the BOS descriptor; if the check is passed and the host supports USB3 hardware LPM, USB3 hardware LPM will be enabled for the device and the USB device directory will contain two files named power/usb3_hardware_lpm_u1 and power/usb3_hardware_lpm_u2. These files hold a string value (enable or disable) indicating whether or not USB3 hardware LPM U1 or U2 is enabled for the device.

What:

/sys/bus/usb/devices/…/removable

Defined on file sysfs-bus-usb

Some information about whether a given USB device is physically fixed to the platform can be inferred from a combination of hub descriptor bits and platform-specific data such as ACPI. This file will read either “removable” or “fixed” if the information is available, and “unknown” otherwise.

What:

/sys/bus/usb/devices/…/rx_lanes

Defined on file sysfs-bus-usb

Number of rx lanes the device is using. USB 3.2 adds Dual-lane support, 2 rx and 2 tx lanes over Type-C. Inter-Chip SSIC devices support asymmetric lanes up to 4 lanes per direction. Devices before USB 3.2 are single lane (rx_lanes = 1)

What:

/sys/bus/usb/devices/…/tx_lanes

Defined on file sysfs-bus-usb

Number of tx lanes the device is using. USB 3.2 adds Dual-lane support, 2 rx and 2 tx -lanes over Type-C. Inter-Chip SSIC devices support asymmetric lanes up to 4 lanes per direction. Devices before USB 3.2 are single lane (tx_lanes = 1)

What:

/sys/bus/usb/devices/…/u1_timeout

Defined on file sysfs-bus-usb-lvstest

Set “U1 timeout” for the downstream port where Link Layer Validation device is connected. Timeout value must be between 0 and 127. It is needed for TD.7.18, TD.7.19, TD.7.20 and TD.7.21.

What:

/sys/bus/usb/devices/…/u2_timeout

Defined on file sysfs-bus-usb-lvstest

Set “U2 timeout” for the downstream port where Link Layer Validation device is connected. Timeout value must be between 0 and 127. It is needed for TD.7.18, TD.7.19, TD.7.20 and TD.7.21.

What:

/sys/bus/usb/devices/…/u3_entry

Defined on file sysfs-bus-usb-lvstest

Write to this node to issue “U3 entry” for Link Layer Validation device. It is needed for TD.7.35 and TD.7.36.

What:

/sys/bus/usb/devices/…/u3_exit

Defined on file sysfs-bus-usb-lvstest

Write to this node to issue “U3 exit” for Link Layer Validation device. It is needed for TD.7.36.

What:

/sys/bus/usb/devices/…/warm_reset

Defined on file sysfs-bus-usb-lvstest

Write to this node to issue “Warm Reset” for Link Layer Validation device. It may be needed to properly reset an xHCI 1.1 host port if compliance mode needed to be explicitly enabled.

What:

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/country

/sys/class/bluetooth/hci<addr>/<hid-bus>:<vendor-id>:<product-id>.<num>/country

/sys/class/hidraw/hidraw<num>/device/country

Defined on file sysfs-driver-hid

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.

What:

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/dragging

Defined on file sysfs-driver-hid-lenovo

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>/fb_update_rate

Defined on file sysfs-driver-hid-picolcd

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.

What:

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/fn_lock

Defined on file sysfs-driver-hid-lenovo

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.

What:

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kone/roccatkone<minor>/actual_dpi

Defined on file sysfs-driver-hid-roccat-kone

It is possible to switch the dpi setting of the mouse with the press of a button. When read, this file returns the raw number of the actual dpi setting reported by the mouse. This number has to be further processed to receive the real dpi value:

VALUE DPI 1 800 2 1200 3 1600 4 2000 5 2400 6 3200

This file is readonly.

What:

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kone/roccatkone<minor>/actual_profile

Defined on file sysfs-driver-hid-roccat-kone

When read, this file returns the number of the actual profile. This file is readonly.

What:

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kone/roccatkone<minor>/firmware_version

Defined on file sysfs-driver-hid-roccat-kone

When read, this file returns the raw integer version number of the firmware reported by the mouse. Using the integer value eases further usage in other programs. To receive the real version number the decimal point has to be shifted 2 positions to the left. E.g. a returned value of 138 means 1.38 This file is readonly.

What:

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kone/roccatkone<minor>/profile[1-5]

Defined on file sysfs-driver-hid-roccat-kone

The mouse can store 5 profiles which can be switched by the press of a button. A profile holds information like button mappings, sensitivity, the colors of the 5 leds and light effects. When read, these files return the respective profile. The returned data is 975 bytes in size. When written, this file lets one write the respective profile data back to the mouse. The data has to be 975 bytes long. The mouse will reject invalid data, whereas the profile number stored in the profile doesn’t need to fit the number of the store.

What:

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kone/roccatkone<minor>/settings

Defined on file sysfs-driver-hid-roccat-kone

When read, this file returns the settings stored in the mouse. The size of the data is 36 bytes and holds information like the startup_profile, tcu state and calibration_data. When written, this file lets write settings back to the mouse. The data has to be 36 bytes long. The mouse will reject invalid data.

What:

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kone/roccatkone<minor>/startup_profile

Defined on file sysfs-driver-hid-roccat-kone

The integer value of this attribute ranges from 1 to 5. When read, this attribute returns the number of the profile that’s active when the mouse is powered on. When written, this file sets the number of the startup profile and the mouse activates this profile immediately.

What:

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kone/roccatkone<minor>/tcu

Defined on file sysfs-driver-hid-roccat-kone

The mouse has a “Tracking Control Unit” which lets the user calibrate the laser power to fit the mousepad surface. When read, this file returns the current state of the TCU, where 0 means off and 1 means on. Writing 0 in this file will switch the TCU off. Writing 1 in this file will start the calibration which takes around 6 seconds to complete and activates the TCU.

What:

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kone/roccatkone<minor>/weight

Defined on file sysfs-driver-hid-roccat-kone

The mouse can be equipped with one of four supplied weights ranging from 5 to 20 grams which are recognized by the mouse and its value can be read out. When read, this file returns the raw value returned by the mouse which eases further processing in other software. The values map to the weights as follows:

VALUE WEIGHT 0 none 1 5g 2 10g 3 15g 4 20g

This file is readonly.

What:

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/operation_mode

Defined on file sysfs-driver-hid-picolcd

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

Defined on file sysfs-driver-hid-picolcd

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>/press_speed

Defined on file sysfs-driver-hid-lenovo

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>/press_to_select

Defined on file sysfs-driver-hid-lenovo

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>/quirks

Defined on file sysfs-driver-hid-multitouch

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.

What:

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/release_to_select

Defined on file sysfs-driver-hid-lenovo

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>/report_descriptor

/sys/class/bluetooth/hci<addr>/<hid-bus>:<vendor-id>:<product-id>.<num>/report_descriptor

/sys/class/hidraw/hidraw<num>/device/report_descriptor

Defined on file sysfs-driver-hid

When read, this file returns the device’s raw binary HID report descriptor. This file cannot be written.

What:

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/select_right

Defined on file sysfs-driver-hid-lenovo

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

Defined on file sysfs-driver-hid-lenovo

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/INTERFACE/authorized

Defined on file sysfs-bus-usb

This allows to authorize (1) or deauthorize (0) individual interfaces instead a whole device in contrast to the device authorization. If a deauthorized interface will be authorized so the driver probing must be triggered manually by writing INTERFACE to /sys/bus/usb/drivers_probe This allows to avoid side-effects with drivers that need multiple interfaces. A deauthorized interface cannot be probed or claimed.

What:

/sys/bus/usb/devices/usbX/interface_authorized_default

Defined on file sysfs-bus-usb

This is used as value that determines if interfaces would be authorized by default. The value can be 1 or 0. It’s by default 1.

What:

/sys/bus/usb/drivers/…/new_id

Defined on file sysfs-bus-usb

Writing a device ID to this file will attempt to dynamically add a new device ID to a USB device driver. This may allow the driver to support more hardware than was included in the driver’s static device ID support table at compile time. The format for the device ID is: idVendor idProduct bInterfaceClass RefIdVendor RefIdProduct The vendor ID and device ID fields are required, the rest is optional. The Ref* tuple can be used to tell the driver to use the same driver_data for the new device as it is used for the reference device. Upon successfully adding an ID, the driver will probe for the device and attempt to bind to it. For example:

# echo "8086 10f5" > /sys/bus/usb/drivers/foo/new_id

Here add a new device (0458:7045) using driver_data from an already supported device (0458:704c):

# echo "0458 7045 0 0458 704c" > /sys/bus/usb/drivers/foo/new_id

Reading from this file will list all dynamically added device IDs in the same format, with one entry per line. For example:

# cat /sys/bus/usb/drivers/foo/new_id
8086 10f5
dead beef 06
f00d cafe

The list will be truncated at PAGE_SIZE bytes due to sysfs restrictions.

What:

/sys/bus/usb/drivers/…/remove_id

Defined on file sysfs-bus-usb

Writing a device ID to this file will remove an ID that was dynamically added via the new_id sysfs entry. The format for the device ID is: idVendor idProduct. After successfully removing an ID, the driver will no longer support the device. This is useful to ensure auto probing won’t match the driver to the device. For example: # echo “046d c315” > /sys/bus/usb/drivers/foo/remove_id

Reading from this file will list the dynamically added device IDs, exactly like reading from the entry “/sys/bus/usb/drivers/…/new_id”

What:

/sys/bus/usb/drivers/wusb_cbaf/…/wusb_*

Defined on file sysfs-wusb_cbaf

Various files for managing Cable Based Association of (wireless) USB devices.

The sequence of operations should be:

  1. Device is plugged in.

  2. The connection manager (CM) sees a device with CBA capability. (the wusb_chid etc. files in /sys/devices/blah/OURDEVICE).

  3. The CM writes the host name, supported band groups, and the CHID (host ID) into the wusb_host_name, wusb_host_band_groups and wusb_chid files. These get sent to the device and the CDID (if any) for this host is requested.

  4. The CM can verify that the device’s supported band groups (wusb_device_band_groups) are compatible with the host.

  5. The CM reads the wusb_cdid file.

  6. The CM looks it up its database.

    • If it has a matching CHID,CDID entry, the device has been authorized before and nothing further needs to be done.

    • If the CDID is zero (or the CM doesn’t find a matching CDID in its database), the device is assumed to be not known. The CM may associate the host with device by: writing a randomly generated CDID to wusb_cdid and then a random CK to wusb_ck (this uploads the new CC to the device).

      CMD may choose to prompt the user before associating with a new device.

  7. Device is unplugged.

References:
[WUSB-AM] Association Models Supplement to the

Certified Wireless Universal Serial Bus Specification, version 1.0.

What:

/sys/bus/usb/drivers/wusb_cbaf/…/wusb_cdid

Defined on file sysfs-wusb_cbaf

The device’s CDID formatted as 16 space-separated hex octets.

What:

/sys/bus/usb/drivers/wusb_cbaf/…/wusb_chid

Defined on file sysfs-wusb_cbaf

The CHID of the host formatted as 16 space-separated hex octets.

Writes fetches device’s supported band groups and the the CDID for any existing association with this host.

What:

/sys/bus/usb/drivers/wusb_cbaf/…/wusb_ck

Defined on file sysfs-wusb_cbaf

Write 16 space-separated random, hex octets to associate with the device.

What:

/sys/bus/usb/drivers/wusb_cbaf/…/wusb_device_band_groups

Defined on file sysfs-wusb_cbaf

The band groups supported by the device, in the format defined in [WUSB-AM].

What:

/sys/bus/usb/drivers/wusb_cbaf/…/wusb_host_band_groups

Defined on file sysfs-wusb_cbaf

The band groups supported by the host, in the format defined in [WUSB-AM].

What:

/sys/bus/usb/drivers/wusb_cbaf/…/wusb_host_name

Defined on file sysfs-wusb_cbaf

A friendly name for the host as a UTF-8 encoded string.

What:

/sys/bus/vmbus/devices/…/driver_override

Defined on file sysfs-bus-vmbus

This file allows the driver for a device to be specified which will override standard static and dynamic ID matching. When specified, only a driver with a name matching the value written to driver_override will have an opportunity to bind to the device. The override is specified by writing a string to the driver_override file (echo uio_hv_generic > driver_override) and may be cleared with an empty string (echo > driver_override). This returns the device to standard matching rules binding. Writing to driver_override does not automatically unbind the device from its current driver or make any attempt to automatically load the specified driver. If no driver with a matching name is currently loaded in the kernel, the device will not bind to any driver. This also allows devices to opt-out of driver binding using a driver_override name such as “none”. Only a single driver may be specified in the override, there is no support for parsing delimiters.

What:

/sys/bus/w1/devices/19-<id>/speed

Defined on file sysfs-driver-w1_ds28e17

When written, this file sets the I2C speed on the connected DS28E17 chip. When read, it reads the current setting from the DS28E17 chip. Valid values: 100, 400, 900 [kBaud]. Default 100, can be set by w1_ds28e17.speed= module parameter.

What:

/sys/bus/w1/devices/19-<id>/stretch

Defined on file sysfs-driver-w1_ds28e17

When written, this file sets the multiplier used to calculate the busy timeout for I2C operations on the connected DS28E17 chip. When read, returns the current setting. Valid values: 1 to 9. Default 1, can be set by w1_ds28e17.stretch= module parameter.

What:

/sys/clas/net/<iface>/duplex

Defined on file sysfs-class-net

Indicates the interface latest or current duplex value. Possible values are: half: half duplex full: full duplex

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

What:

/sys/class/

Defined on file sysfs-class

The /sys/class directory will consist of a group of subdirectories describing individual classes of devices in the kernel. The individual directories will consist of either subdirectories, or symlinks to other directories.

All programs that use this directory tree must be able to handle both subdirectories or symlinks in order to work properly.

What:

/sys/class/<iface>/queues/rx-<queue>/rps_cpus

Defined on file sysfs-class-net-queues

Mask of the CPU(s) currently enabled to participate into the Receive Packet Steering packet processing flow for this network device queue. Possible values depend on the number of available CPU(s) in the system.

What:

/sys/class/<iface>/queues/rx-<queue>/rps_flow_cnt

Defined on file sysfs-class-net-queues

Number of Receive Packet Steering flows being currently processed by this particular network device receive queue.

What:

/sys/class/<iface>/queues/tx-<queue>/byte_queue_limits/hold_time

Defined on file sysfs-class-net-queues

Indicates the hold time in milliseconds to measure the slack of this particular network device transmit queue. Default value is 1000.

What:

/sys/class/<iface>/queues/tx-<queue>/byte_queue_limits/inflight

Defined on file sysfs-class-net-queues

Indicates the number of bytes (objects) in flight on this network device transmit queue.

What:

/sys/class/<iface>/queues/tx-<queue>/byte_queue_limits/limit

Defined on file sysfs-class-net-queues

Indicates the current limit of bytes allowed to be queued on this network device transmit queue. This value is clamped to be within the bounds defined by limit_max and limit_min.

What:

/sys/class/<iface>/queues/tx-<queue>/byte_queue_limits/limit_max

Defined on file sysfs-class-net-queues

Indicates the absolute maximum limit of bytes allowed to be queued on this network device transmit queue. See include/linux/dynamic_queue_limits.h for the default value.

What:

/sys/class/<iface>/queues/tx-<queue>/byte_queue_limits/limit_min

Defined on file sysfs-class-net-queues

Indicates the absolute minimum limit of bytes allowed to be queued on this network device transmit queue. Default value is 0.

What:

/sys/class/<iface>/queues/tx-<queue>/tx_maxrate

Defined on file sysfs-class-net-queues

A Mbps max-rate set for the queue, a value of zero means disabled, default is disabled.

What:

/sys/class/<iface>/queues/tx-<queue>/tx_timeout

Defined on file sysfs-class-net-queues

Indicates the number of transmit timeout events seen by this network interface transmit queue.

What:

/sys/class/<iface>/queues/tx-<queue>/xps_cpus

Defined on file sysfs-class-net-queues

Mask of the CPU(s) currently enabled to participate into the Transmit Packet Steering packet processing flow for this network device transmit queue. Possible vaules depend on the number of available CPU(s) in the system.

What:

/sys/class/<iface>/queues/tx-<queue>/xps_rxqs

Defined on file sysfs-class-net-queues

Mask of the receive queue(s) currently enabled to participate into the Transmit Packet Steering packet processing flow for this network device transmit queue. Possible values depend on the number of available receive queue(s) in the network device. Default is disabled.

What:

/sys/class/<iface>/statistics/collisions

Defined on file sysfs-class-net-statistics

Indicates the number of collisions seen by this network device. This value might not be relevant with all MAC layers.

What:

/sys/class/<iface>/statistics/multicast

Defined on file sysfs-class-net-statistics

Indicates the number of multicast packets received by this network device.

What:

/sys/class/<iface>/statistics/rx_bytes

Defined on file sysfs-class-net-statistics

Indicates the number of bytes received by this network device. See the network driver for the exact meaning of when this value is incremented.

What:

/sys/class/<iface>/statistics/rx_compressed

Defined on file sysfs-class-net-statistics

Indicates the number of compressed packets received by this network device. This value might only be relevant for interfaces that support packet compression (e.g: PPP).

What:

/sys/class/<iface>/statistics/rx_crc_errors

Defined on file sysfs-class-net-statistics

Indicates the number of packets received with a CRC (FCS) error by this network device. Note that the specific meaning might depend on the MAC layer used by the interface.

What:

/sys/class/<iface>/statistics/rx_dropped

Defined on file sysfs-class-net-statistics

Indicates the number of packets received by the network device but dropped, that are not forwarded to the upper layers for packet processing. See the network driver for the exact meaning of this value.

What:

/sys/class/<iface>/statistics/rx_fifo_errors

Defined on file sysfs-class-net-statistics

Indicates the number of receive FIFO errors seen by this network device. See the network driver for the exact meaning of this value.

What:

/sys/class/<iface>/statistics/rx_frame_errors

Defined on file sysfs-class-net-statistics

Indicates the number of received frames with error, such as alignment errors. Note that the specific meaning depends on on the MAC layer protocol used. See the network driver for the exact meaning of this value.

What:

/sys/class/<iface>/statistics/rx_length_errors

Defined on file sysfs-class-net-statistics

Indicates the number of received error packet with a length error, oversized or undersized. See the network driver for the exact meaning of this value.

What:

/sys/class/<iface>/statistics/rx_missed_errors

Defined on file sysfs-class-net-statistics

Indicates the number of received packets that have been missed due to lack of capacity in the receive side. See the network driver for the exact meaning of this value.

What:

/sys/class/<iface>/statistics/rx_over_errors

Defined on file sysfs-class-net-statistics

Indicates the number of received packets that are oversized compared to what the network device is configured to accept (e.g: larger than MTU). See the network driver for the exact meaning of this value.

What:

/sys/class/<iface>/statistics/rx_packets

Defined on file sysfs-class-net-statistics

Indicates the total number of good packets received by this network device.

What:

/sys/class/<iface>/statistics/tx_aborted_errors

Defined on file sysfs-class-net-statistics

Indicates the number of packets that have been aborted during transmission by a network device (e.g: because of a medium collision). See the network driver for the exact meaning of this value.

What:

/sys/class/<iface>/statistics/tx_bytes

Defined on file sysfs-class-net-statistics

Indicates the number of bytes transmitted by a network device. See the network driver for the exact meaning of this value, in particular whether this accounts for all successfully transmitted packets or all packets that have been queued for transmission.

What:

/sys/class/<iface>/statistics/tx_carrier_errors

Defined on file sysfs-class-net-statistics

Indicates the number of packets that could not be transmitted because of carrier errors (e.g: physical link down). See the network driver for the exact meaning of this value.

What:

/sys/class/<iface>/statistics/tx_compressed

Defined on file sysfs-class-net-statistics

Indicates the number of transmitted compressed packets. Note this might only be relevant for devices that support compression (e.g: PPP).

What:

/sys/class/<iface>/statistics/tx_dropped

Defined on file sysfs-class-net-statistics

Indicates the number of packets dropped during transmission. See the driver for the exact reasons as to why the packets were dropped.

What:

/sys/class/<iface>/statistics/tx_errors

Defined on file sysfs-class-net-statistics

Indicates the number of packets in error during transmission by a network device. See the driver for the exact reasons as to why the packets were dropped.

What:

/sys/class/<iface>/statistics/tx_fifo_errors

Defined on file sysfs-class-net-statistics

Indicates the number of packets having caused a transmit FIFO error. See the driver for the exact reasons as to why the packets were dropped.

What:

/sys/class/<iface>/statistics/tx_heartbeat_errors

Defined on file sysfs-class-net-statistics

Indicates the number of packets transmitted that have been reported as heartbeat errors. See the driver for the exact reasons as to why the packets were dropped.

What:

/sys/class/<iface>/statistics/tx_packets

Defined on file sysfs-class-net-statistics

Indicates the number of packets transmitted by a network device. See the driver for whether this reports the number of all attempted or successful transmissions.

What:

/sys/class/<iface>/statistics/tx_window_errors

Defined on file sysfs-class-net-statistics

Indicates the number of packets not successfully transmitted due to a window collision. The specific meaning depends on the MAC layer used. On Ethernet this is usually used to report late collisions errors.

What:

/sys/class/ata_…

Defined on file sysfs-ata

Provide a place in sysfs for storing the ATA topology of the system. This allows retrieving various information about ATA objects.

Files under /sys/class/ata_port

For each port, a directory ataX is created where X is the ata_port_id of the port. The device parent is the ata host device.

What:

/sys/class/ata_device/devX[.Y].Z/spdn_cnt

/sys/class/ata_device/devX[.Y].Z/gscr

/sys/class/ata_device/devX[.Y].Z/ering

/sys/class/ata_device/devX[.Y].Z/id

/sys/class/ata_device/devX[.Y].Z/pio_mode

/sys/class/ata_device/devX[.Y].Z/xfer_mode

/sys/class/ata_device/devX[.Y].Z/dma_mode

/sys/class/ata_device/devX[.Y].Z/class

Defined on file sysfs-ata

spdn_cnt: (RO) Number of times libata decided to lower the

speed of link due to errors.

gscr: (RO) Cached result of the dump of PM GSCR

register. Valid registers are:

0: SATA_PMP_GSCR_PROD_ID, 1: SATA_PMP_GSCR_REV, 2: SATA_PMP_GSCR_PORT_INFO, 32: SATA_PMP_GSCR_ERROR, 33: SATA_PMP_GSCR_ERROR_EN, 64: SATA_PMP_GSCR_FEAT, 96: SATA_PMP_GSCR_FEAT_EN, 130: SATA_PMP_GSCR_SII_GPIO

Only valid if the device is a PM.

ering: (RO) Formatted output of the error ring of the

device.

id: (RO) Cached result of IDENTIFY command, as

described in ATA8 7.16 and 7.17. Only valid if the device is not a PM.

pio_mode: (RO) Transfer modes supported by the device when

in PIO mode. Mostly used by PATA device.

xfer_mode: (RO) Current transfer mode

dma_mode: (RO) Transfer modes supported by the device when

in DMA mode. Mostly used by PATA device.

class: (RO) Device class. Can be “ata” for disk,

“atapi” for packet device, “pmp” for PM, or “none” if no device was found behind the link.

What:

/sys/class/ata_device/devX[.Y].Z/trim

Defined on file sysfs-ata

(RO) Shows the DSM TRIM mode currently used by the device. Valid values are:

unsupported: Drive does not support DSM TRIM

unqueued: Drive supports unqueued DSM TRIM only

queued: Drive supports queued DSM TRIM

forced_unqueued: Drive’s queued DSM support is known to

be buggy and only unqueued TRIM commands are sent

/sys/class/ata_link/linkX[.Y]/hw_sata_spd_limit

/sys/class/ata_link/linkX[.Y]/sata_spd_limit

/sys/class/ata_link/linkX[.Y]/sata_spd

Defined on file sysfs-ata

hw_sata_spd_limit: (RO) Maximum speed supported by the

connected SATA device.

sata_spd_limit: (RO) Maximum speed imposed by libata.

sata_spd: (RO) Current speed of the link

eg. 1.5, 3 Gbps etc.

Files under /sys/class/ata_device

Behind each link, up to two ata devices are created. The name of the directory is devX[.Y].Z where: - X is ata_port_id of the port where the device is connected, - Y the port of the PM if any, and - Z the device id: for PATA, there is usually 2 devices [0,1], only 1 for SATA.

/sys/class/ata_port/ataX/nr_pmp_links

/sys/class/ata_port/ataX/idle_irq

Defined on file sysfs-ata

nr_pmp_links: (RO) If a SATA Port Multiplier (PM) is

connected, the number of links behind it.

idle_irq: (RO) Number of IRQ received by the port while

idle [some ata HBA only].

What:

/sys/class/ata_port/ataX/port_no

Defined on file sysfs-ata

(RO) Host local port number. While registering host controller, port numbers are tracked based upon number of ports available on the controller. This attribute is needed by udev for composing persistent links in /dev/disk/by-path.

What:

/sys/class/backlight/<backlight>/<ambient light zone>_dim

/sys/class/backlight/<backlight>/l2_bright_dim

/sys/class/backlight/<backlight>/l3_office_dim

/sys/class/backlight/<backlight>/l4_indoor_dim

/sys/class/backlight/<backlight>/l5_dark_dim

Defined on file sysfs-class-backlight-driver-adp8870

Control the dim brightness for <ambient light zone> on this <backlight>. Values are between 0 and 127, typically set to 0. Full off when the backlight is disabled. This file will also show the dim brightness level stored for this <ambient light zone>.

What:

/sys/class/backlight/<backlight>/<ambient light zone>_max

/sys/class/backlight/<backlight>/l1_daylight_max

/sys/class/backlight/<backlight>/l2_bright_max

/sys/class/backlight/<backlight>/l3_office_max

/sys/class/backlight/<backlight>/l4_indoor_max

/sys/class/backlight/<backlight>/l5_dark_max

Defined on file sysfs-class-backlight-driver-adp8870

Control the maximum brightness for <ambient light zone> on this <backlight>. Values are between 0 and 127. This file will also show the brightness level stored for this <ambient light zone>.

What:

/sys/class/backlight/<backlight>/als_channel

Defined on file sysfs-class-backlight-driver-lm3533

Get the ALS output channel used as input in ALS-current-control mode (0, 1), where:

0 - out_current0 (backlight 0) 1 - out_current1 (backlight 1)

What:

/sys/class/backlight/<backlight>/als_en

Defined on file sysfs-class-backlight-driver-lm3533

Enable ALS-current-control mode (0, 1).

What:

/sys/class/backlight/<backlight>/ambient_light_level

Defined on file sysfs-class-backlight-driver-adp8870

(RO) 13-bit conversion value for the first light sensor—high byte (Bit 12 to Bit 8). The value is updated every 80 ms (when the light sensor is enabled).

Get conversion value of the light sensor. This value is updated every 80 ms (when the light sensor is enabled). Returns integer between 0 (dark) and 8000 (max ambient brightness)

What:

/sys/class/backlight/<backlight>/ambient_light_zone

Defined on file sysfs-class-backlight-driver-adp8870

(RW) Read or write the specific level at which the backlight operates. Value “0” enables automatic ambient light sensing, and values “1”, “2” or “3” set the control to daylight, office or dark respectively.

Get/Set current ambient light zone. Reading returns integer between 1..5 (1 = daylight, 2 = bright, …, 5 = dark). Writing a value between 1..5 forces the backlight controller to enter the corresponding ambient light zone. Writing 0 returns to normal/automatic ambient light level operation. The ambient light sensing feature on these devices is an extension to the API documented in Documentation/ABI/stable/sysfs-class-backlight. It can be enabled by writing the value stored in /sys/class/backlight/<backlight>/max_brightness to /sys/class/backlight/<backlight>/brightness.

What:

/sys/class/backlight/<backlight>/bled_mode

Defined on file sysfs-class-backlight-lm3639

(WO) Write to the backlight mapping mode. The backlight current can be mapped for either exponential (value “0”) or linear mapping modes (default).

What:

/sys/class/backlight/<backlight>/daylight_dim

/sys/class/backlight/<backlight>/office_dim

/sys/class/backlight/<backlight>/dark_dim

Defined on file sysfs-class-backlight-adp5520

(RW) Dim current setting for the backlight when brightness is at one of the three levels (daylight, office or dark). This is an input code between 0 and 127, which is transformed to a value between 0 mA and 30 mA using linear or non-linear algorithms.

What:

/sys/class/backlight/<backlight>/daylight_max

/sys/class/backlight/<backlight>/office_max

/sys/class/backlight/<backlight>/dark_max

Defined on file sysfs-class-backlight-adp5520

(RW) Maximum current setting for the backlight when brightness is at one of the three levels (daylight, office or dark). This is an input code between 0 and 127, which is transformed to a value between 0 mA and 30 mA using linear or non-linear algorithms.

What:

/sys/class/backlight/<backlight>/id

Defined on file sysfs-class-backlight-driver-lm3533

Get the id of this backlight (0, 1).

What:

/sys/class/backlight/<backlight>/l1_daylight_dim

/sys/class/backlight/<backlight>/l2_office_dim

/sys/class/backlight/<backlight>/l3_dark_dim

Defined on file sysfs-class-backlight-adp8860

(RW) Dim current setting for the backlight when brightness is at one of the three levels (daylight, office or dark). This is an input code between 0 and 127, which is transformed to a value between 0 mA and 30 mA using linear or non-linear algorithms.

What:

/sys/class/backlight/<backlight>/l1_daylight_max

/sys/class/backlight/<backlight>/l2_office_max

/sys/class/backlight/<backlight>/l3_dark_max

Defined on file sysfs-class-backlight-adp8860

(RW) Maximum current setting for the backlight when brightness is at one of the three levels (daylight, office or dark). This is an input code between 0 and 127, which is transformed to a value between 0 mA and 30 mA using linear or non-linear algorithms.

What:

/sys/class/backlight/<backlight>/linear

Defined on file sysfs-class-backlight-driver-lm3533

Set the brightness-mapping mode (0, 1), where:

0 - exponential mode 1 - linear mode

What:

/sys/class/backlight/<backlight>/pwm

Defined on file sysfs-class-backlight-driver-lm3533

Set the PWM-input control mask (5 bits), where:

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

What:

/sys/class/bdi/<bdi>/

Defined on file sysfs-class-bdi

Provide a place in sysfs for the backing_dev_info object. This allows setting and retrieving various BDI specific variables.

The <bdi> identifier can be either of the following:

MAJOR:MINOR

Device number for block devices, or value of st_dev on non-block filesystems which provide their own BDI, such as NFS and FUSE.

MAJOR:MINOR-fuseblk

Value of st_dev on fuseblk filesystems.

default

The default backing dev, used for non-block device backed filesystems which do not provide their own BDI.

Files under /sys/class/bdi/<bdi>/

read_ahead_kb (read-write)

Size of the read-ahead window in kilobytes

min_ratio (read-write)

Under normal circumstances each device is given a part of the total write-back cache that relates to its current average writeout speed in relation to the other devices.

The ‘min_ratio’ parameter allows assigning a minimum percentage of the write-back cache to a particular device. For example, this is useful for providing a minimum QoS.

max_ratio (read-write)

Allows limiting a particular device to use not more than the given percentage of the write-back cache. This is useful in situations where we want to avoid one device taking all or most of the write-back cache. For example in case of an NFS mount that is prone to get stuck, or a FUSE mount which cannot be trusted to play fair.

stable_pages_required (read-only)

If set, the backing device requires that all pages comprising a write request must not be changed until writeout is complete.

What:

/sys/class/bsr/bsr*/bsr_length

Defined on file sysfs-class-bsr

(RO) The length of memory region that can be mapped in bytes.

What:

/sys/class/bsr/bsr*/bsr_size

Defined on file sysfs-class-bsr

(RO) Size of the barrier-synchronization register (BSR) register in bytes.

What:

/sys/class/bsr/bsr*/bsr_stride

Defined on file sysfs-class-bsr

(RO) The stride or the interval at which the allocated BSR bytes repeat within the mapping.

What:

/sys/class/c2port/

Defined on file sysfs-c2port

The /sys/class/c2port/ directory will contain files and directories that will provide a unified interface to the C2 port interface.

What:

/sys/class/c2port/c2portX

Defined on file sysfs-c2port

The /sys/class/c2port/c2portX/ directory is related to X-th C2 port into the system. Each directory will contain files to manage and control its C2 port.

What:

/sys/class/c2port/c2portX/access

Defined on file sysfs-c2port

The /sys/class/c2port/c2portX/access file enable the access to the C2 port from the system. No commands can be sent till this entry is set to 0.

What:

/sys/class/c2port/c2portX/dev_id

Defined on file sysfs-c2port

The /sys/class/c2port/c2portX/dev_id file show the device ID of the connected micro.

What:

/sys/class/c2port/c2portX/flash_access

Defined on file sysfs-c2port

The /sys/class/c2port/c2portX/flash_access file enable the access to the on-board flash of the connected micro. No commands can be sent till this entry is set to 0.

What:

/sys/class/c2port/c2portX/flash_block_size

Defined on file sysfs-c2port

The /sys/class/c2port/c2portX/flash_block_size file show the on-board flash block size of the connected micro.

What:

/sys/class/c2port/c2portX/flash_blocks_num

Defined on file sysfs-c2port

The /sys/class/c2port/c2portX/flash_blocks_num file show the on-board flash blocks number of the connected micro.

What:

/sys/class/c2port/c2portX/flash_data

Defined on file sysfs-c2port

The /sys/class/c2port/c2portX/flash_data file export the content of the on-board flash of the connected micro.

What:

/sys/class/c2port/c2portX/flash_erase

Defined on file sysfs-c2port

The /sys/class/c2port/c2portX/flash_erase file execute the “erase” command on the on-board flash of the connected micro.

The /sys/class/c2port/c2portX/flash_erase file show the on-board flash size of the connected micro.

What:

/sys/class/c2port/c2portX/reset

Defined on file sysfs-c2port

The /sys/class/c2port/c2portX/reset file execute a “reset” command on the connected micro.

What:

/sys/class/c2port/c2portX/rev_id

Defined on file sysfs-c2port

The /sys/class/c2port/c2portX/rev_id file show the revision ID of the connected micro.

What:

/sys/class/chromeos/<ec-device-name>/flashinfo

Defined on file sysfs-class-chromeos

Show the EC flash information.

What:

/sys/class/chromeos/<ec-device-name>/kb_wake_angle

Defined on file sysfs-class-chromeos

Control the keyboard wake lid angle. Values are between 0 and 360. This file will also show the keyboard wake lid angle by querying the hardware.

What:

/sys/class/chromeos/<ec-device-name>/lightbar/brightness

Defined on file sysfs-class-chromeos-driver-cros-ec-lightbar

Writing to this file adjusts the overall brightness of the lightbar, separate from any color intensity. The valid range is 0 (off) to 255 (maximum brightness).

What:

/sys/class/chromeos/<ec-device-name>/lightbar/interval_msec

Defined on file sysfs-class-chromeos-driver-cros-ec-lightbar

The lightbar is controlled by an embedded controller (EC), which also manages the keyboard, battery charging, fans, and other system hardware. To prevent unprivileged users from interfering with the other EC functions, the rate at which the lightbar control files can be read or written is limited.

Reading this file will return the number of milliseconds that must elapse between accessing any of the lightbar functions through this interface. Going faster will simply block until the necessary interval has lapsed. The interval applies uniformly to all accesses of any kind by any user.

What:

/sys/class/chromeos/<ec-device-name>/lightbar/led_rgb

Defined on file sysfs-class-chromeos-driver-cros-ec-lightbar

This allows you to control each LED segment. If the lightbar is already running one of the automatic sequences, you probably won’t see anything change because your color setting will be almost immediately replaced. To get useful results, you should stop the lightbar sequence first.

The values written to this file are sets of four integers, indicating LED, RED, GREEN, BLUE. The LED number is 0 to 3 to select a single segment, or 4 to set all four segments to the same value at once. The RED, GREEN, and BLUE numbers should be in the range 0 (off) to 255 (maximum). You can update more than one segment at a time by writing more than one set of four integers.

What:

/sys/class/chromeos/<ec-device-name>/lightbar/program

Defined on file sysfs-class-chromeos-driver-cros-ec-lightbar

This allows you to upload and run custom lightbar sequences.

What:

/sys/class/chromeos/<ec-device-name>/lightbar/sequence

Defined on file sysfs-class-chromeos-driver-cros-ec-lightbar

The Pixel lightbar has a number of built-in sequences that it displays under various conditions, such as at power on, shut down, or while running. Reading from this file displays the current sequence that the lightbar is displaying. Writing to this file allows you to change the sequence.

What:

/sys/class/chromeos/<ec-device-name>/lightbar/userspace_control

Defined on file sysfs-class-chromeos-driver-cros-ec-lightbar

This allows you to take the control of the lightbar. This prevents the kernel from going through its normal sequences.

What:

/sys/class/chromeos/<ec-device-name>/lightbar/version

Defined on file sysfs-class-chromeos-driver-cros-ec-lightbar

Show the information about the lightbar version.

What:

/sys/class/chromeos/<ec-device-name>/reboot

Defined on file sysfs-class-chromeos

Tell the EC to reboot in various ways. Options are: “cancel”: Cancel a pending reboot. “ro”: Jump to RO without rebooting. “rw”: Jump to RW without rebooting. “cold”: Cold reboot. “disable-jump”: Disable jump until next reboot. “hibernate”: Hibernate the EC. “at-shutdown”: Reboot after an AP shutdown.

What:

/sys/class/chromeos/<ec-device-name>/vbc/vboot_context

Defined on file sysfs-class-chromeos-driver-cros-ec-vbc

Read/write the verified boot context data included on a small nvram space on some EC implementations.

What:

/sys/class/chromeos/<ec-device-name>/version

Defined on file sysfs-class-chromeos

Show the information about the EC software and hardware.

What:

/sys/class/cxl/<afu>/afu_err_buf

Defined on file sysfs-class-cxl

read only AFU Error Buffer contents. The contents of this file are application specific and depends on the AFU being used. Applications interacting with the AFU can use this attribute to know about the current error condition and take appropriate action like logging the event etc.

What:

/sys/class/cxl/<afu>/api_version

Defined on file sysfs-class-cxl

read only Decimal value of the current version of the kernel/user API.

What:

/sys/class/cxl/<afu>/api_version_compatible

Defined on file sysfs-class-cxl

read only Decimal value of the the lowest version of the userspace API this this kernel supports.

What:

/sys/class/cxl/<afu>/cr<config num>/class

Defined on file sysfs-class-cxl

read only Hexadecimal value of the class code found in this AFU configuration record.

What:

/sys/class/cxl/<afu>/cr<config num>/config

Defined on file sysfs-class-cxl

read only This binary file provides raw access to the AFU configuration record. The format is expected to match the either the standard or extended configuration space defined by the PCIe specification.

What:

/sys/class/cxl/<afu>/cr<config num>/device

Defined on file sysfs-class-cxl

read only Hexadecimal value of the device ID found in this AFU configuration record.

What:

/sys/class/cxl/<afu>/cr<config num>/vendor

Defined on file sysfs-class-cxl

read only Hexadecimal value of the vendor ID found in this AFU configuration record.

What:

/sys/class/cxl/<afu>/irqs_max

Defined on file sysfs-class-cxl

read/write Decimal value of maximum number of interrupts that can be requested by userspace. The default on probe is the maximum that hardware can support (eg. 2037). Write values will limit userspace applications to that many userspace interrupts. Must be >= irqs_min.

What:

/sys/class/cxl/<afu>/irqs_min

Defined on file sysfs-class-cxl

read only Decimal value of the minimum number of interrupts that userspace must request on a CXL_START_WORK ioctl. Userspace may omit the num_interrupts field in the START_WORK IOCTL to get this minimum automatically.

What:

/sys/class/cxl/<afu>/mmio_size

Defined on file sysfs-class-cxl

read only Decimal value of the size of the MMIO space that may be mmaped by userspace.

What:

/sys/class/cxl/<afu>/mode

Defined on file sysfs-class-cxl

read/write The current mode the AFU is using. Will be one of the modes given in modes_supported. Writing will change the mode provided that no user contexts are attached.

What:

/sys/class/cxl/<afu>/modes_supported

Defined on file sysfs-class-cxl

read only List of the modes this AFU supports. One per line. Valid entries are: “dedicated_process” and “afu_directed”

What:

/sys/class/cxl/<afu>/prefault_mode

Defined on file sysfs-class-cxl

read/write Set the mode for prefaulting in segments into the segment table when performing the START_WORK ioctl. Only applicable when running under hashed page table mmu. Possible values:

none

No prefaulting (default)

work_element_descriptor

Treat the work element descriptor as an effective address and prefault what it points to.

all

all segments process calling START_WORK maps.

What:

/sys/class/cxl/<afu>/reset

Defined on file sysfs-class-cxl

write only Writing 1 here will reset the AFU provided there are not contexts active on the AFU.

What:

/sys/class/cxl/<afu>m/mmio_size

Defined on file sysfs-class-cxl

read only Decimal value of the size of the MMIO space that may be mmaped by userspace. This includes all slave contexts space also.

What:

/sys/class/cxl/<afu>m/pp_mmio_len

Defined on file sysfs-class-cxl

read only Decimal value of the Per Process MMIO space length.

What:

/sys/class/cxl/<afu>m/pp_mmio_off (not in a guest)

Defined on file sysfs-class-cxl

read only Decimal value of the Per Process MMIO space offset.

What:

/sys/class/cxl/<card>/base_image (not in a guest)

Defined on file sysfs-class-cxl

read only Identifies the revision level of the base image for devices that support loadable PSLs. For FPGAs this field identifies the image contained in the on-adapter flash which is loaded during the initial program load.

What:

/sys/class/cxl/<card>/caia_version

Defined on file sysfs-class-cxl

read only Identifies the CAIA Version the card implements.

What:

/sys/class/cxl/<card>/image_loaded (not in a guest)

Defined on file sysfs-class-cxl

read only Will return “user” or “factory” depending on the image loaded onto the card.

What:

/sys/class/cxl/<card>/load_image_on_perst (not in a guest)

Defined on file sysfs-class-cxl

read/write Valid entries are “none”, “user”, and “factory”. “none” means PERST will not cause image to be loaded to the card. A power cycle is required to load the image. “none” could be useful for debugging because the trace arrays are preserved. “user” and “factory” means PERST will cause either the user or user or factory image to be loaded. Default is to reload on PERST whichever image the card has loaded.

What:

/sys/class/cxl/<card>/perst_reloads_same_image (not in a guest)

Defined on file sysfs-class-cxl

read/write Trust that when an image is reloaded via PERST, it will not have changed. 0 = don’t trust, the image may be different (default) 1 = trust that the image will not change.

What:

/sys/class/cxl/<card>/psl_revision

Defined on file sysfs-class-cxl

read only Identifies the revision level of the PSL.

What:

/sys/class/cxl/<card>/psl_timebase_synced

Defined on file sysfs-class-cxl

read only Returns 1 if the psl timebase register is synchronized with the core timebase register, 0 otherwise.

What:

/sys/class/cxl/<card>/reset

Defined on file sysfs-class-cxl

write only Writing 1 will issue a PERST to card provided there are no contexts active on any one of the card AFUs. This may cause the card to reload the FPGA depending on load_image_on_perst. Writing -1 will do a force PERST irrespective of any active contexts on the card AFUs.

What:

/sys/class/cxl/<card>/tunneled_ops_supported

Defined on file sysfs-class-cxl

read only Returns 1 if tunneled operations are supported in capi mode, 0 otherwise.

What:

/sys/class/devfreq-event/event(x)/

Defined on file sysfs-class-devfreq-event

Provide a place in sysfs for the devfreq-event objects. This allows accessing various devfreq-event specific variables. The name of devfreq-event object denoted as ‘event(x)’ which includes the unique number of ‘x’ for each devfreq-event object.

What:

/sys/class/devfreq-event/event(x)/enable_count

Defined on file sysfs-class-devfreq-event

The /sys/class/devfreq-event/event(x)/enable_count attribute contains the reference count to enable the devfreq-event object. If the device is enabled, the value of attribute is greater than zero.

What:

/sys/class/devfreq-event/event(x)/name

Defined on file sysfs-class-devfreq-event

The /sys/class/devfreq-event/event(x)/name attribute contains the name of the devfreq-event object. This attribute is read-only.

What:

/sys/class/devfreq/…/

Defined on file sysfs-class-devfreq

Provide a place in sysfs for the devfreq objects. This allows accessing various devfreq specific variables. The name of devfreq object denoted as … is same as the name of device using devfreq.

What:

/sys/class/devfreq/…/available_frequencies

Defined on file sysfs-class-devfreq

The /sys/class/devfreq/…/available_frequencies shows the available frequencies of the corresponding devfreq object. This is a snapshot of available frequencies and not limited by the min/max frequency restrictions.

What:

/sys/class/devfreq/…/available_governors

Defined on file sysfs-class-devfreq

The /sys/class/devfreq/…/available_governors shows currently available governors in the system.

What:

/sys/class/devfreq/…/cur_freq

Defined on file sysfs-class-devfreq

The /sys/class/devfreq/…/cur_freq shows the current frequency of the corresponding devfreq object. Same as target_freq when get_cur_freq() is not implemented by devfreq driver.

What:

/sys/class/devfreq/…/governor

Defined on file sysfs-class-devfreq

The /sys/class/devfreq/…/governor show or set the name of the governor used by the corresponding devfreq object.

What:

/sys/class/devfreq/…/max_freq

Defined on file sysfs-class-devfreq

The /sys/class/devfreq/…/max_freq shows and stores the maximum frequency requested by users. It is 0 if the user does not care. max_freq overrides the frequency requested by governors and min_freq. The max_freq overrides min_freq because max_freq may be used to throttle devices to avoid overheating.

What:

/sys/class/devfreq/…/min_freq

Defined on file sysfs-class-devfreq

The /sys/class/devfreq/…/min_freq shows and stores the minimum frequency requested by users. It is 0 if the user does not care. min_freq overrides the frequency requested by governors.

What:

/sys/class/devfreq/…/polling_interval

Defined on file sysfs-class-devfreq

The /sys/class/devfreq/…/polling_interval shows and sets the requested polling interval of the corresponding devfreq object. The values are represented in ms. If the value is less than 1 jiffy, it is considered to be 0, which means no polling. This value is meaningless if the governor is not polling; thus. If the governor is not using devfreq-provided central polling (/sys/class/devfreq/…/central_polling is 0), this value may be useless.

What:

/sys/class/devfreq/…/target_freq

Defined on file sysfs-class-devfreq

The /sys/class/devfreq/…/target_freq shows the next governor predicted target frequency of the corresponding devfreq object.

What:

/sys/class/devfreq/…/trans_stat

Defined on file sysfs-class-devfreq

This ABI shows the statistics of devfreq behavior on a specific device. It shows the time spent in each state and the number of transitions between states. In order to activate this ABI, the devfreq target device driver should provide the list of available frequencies with its profile.

What:

/sys/class/devfreq/…/userspace/set_freq

Defined on file sysfs-class-devfreq

The /sys/class/devfreq/…/userspace/set_freq shows and sets the requested frequency for the devfreq object if userspace governor is in effect.

What:

/sys/class/extcon/…/

Defined on file sysfs-class-extcon

Provide a place in sysfs for the extcon objects. This allows accessing extcon specific variables. The name of extcon object denoted as … is the name given with extcon_dev_register.

One extcon device denotes a single external connector port. An external connector may have multiple cables attached simultaneously. Many of docks, cradles, and accessory cables have such capability. For example, the 30-pin port of Nuri board (/arch/arm/mach-exynos) may have both HDMI and Charger attached, or analog audio, video, and USB cables attached simultaneously.

If there are cables mutually exclusive with each other, such binary relations may be expressed with extcon_dev’s mutually_exclusive array.

What:

/sys/class/extcon/…/cable.x/name

Defined on file sysfs-class-extcon

The /sys/class/extcon/…/cable.x/name shows the name of cable “x” (integer between 0 and 31) of an extcon device.

What:

/sys/class/extcon/…/cable.x/state

Defined on file sysfs-class-extcon

The /sys/class/extcon/…/cable.x/state shows and stores the state of cable “x” (integer between 0 and 31) of an extcon device. The state value is either 0 (detached) or 1 (attached).

What:

/sys/class/extcon/…/mutually_exclusive/…

Defined on file sysfs-class-extcon

Shows the relations of mutually exclusiveness. For example, if the mutually_exclusive array of extcon device is {0x3, 0x5, 0xC, 0x0}, then the output is: # ls mutually_exclusive/ 0x3 0x5 0xc #

Note that mutually_exclusive is a sub-directory of the extcon device and the file names under the mutually_exclusive directory show the mutually-exclusive sets, not the contents of the files.

What:

/sys/class/extcon/…/name

Defined on file sysfs-class-extcon

The /sys/class/extcon/…/name shows the name of the extcon object. If the extcon object has an optional callback “show_name” defined, the callback will provide the name with this sysfs node.

What:

/sys/class/extcon/…/state

Defined on file sysfs-class-extcon

The /sys/class/extcon/…/state shows and stores the cable attach/detach information of the corresponding extcon object. If the extcon object has an optional callback “show_state” defined, the showing function is overridden with the optional callback.

If the default callback for showing function is used, the format is like this: # cat state USB_OTG=1 HDMI=0 TA=1 EAR_JACK=0 # In this example, the extcon device has USB_OTG and TA cables attached and HDMI and EAR_JACK cables detached.

In order to update the state of an extcon device, enter a hex state number starting with 0x: # echo 0xHEX > state

This updates the whole state of the extcon device. Inputs of all the methods are required to meet the mutually_exclusive conditions if they exist.

It is recommended to use this “global” state interface if you need to set the value atomically. The later state interface associated with each cable cannot update multiple cable states of an extcon device simultaneously.

What:

/sys/class/fpga_bridge/<bridge>/name

Defined on file sysfs-class-fpga-bridge

Name of low level FPGA bridge driver.

What:

/sys/class/fpga_bridge/<bridge>/state

Defined on file sysfs-class-fpga-bridge

Show bridge state as “enabled” or “disabled”

What:

/sys/class/fpga_manager/<fpga>/name

Defined on file sysfs-class-fpga-manager

Name of low level fpga manager driver.

What:

/sys/class/fpga_manager/<fpga>/state

Defined on file sysfs-class-fpga-manager

Read fpga manager state as a string. The intent is to provide enough detail that if something goes wrong during FPGA programming (something that the driver can’t fix) then userspace can know, i.e. if the firmware request fails, that could be due to not being able to find the firmware file.

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

  • unknown = can’t determine state

  • power off = FPGA power is off

  • power up = FPGA reports power is up

  • reset = FPGA held in reset state

  • firmware request = firmware class request in progress

  • firmware request error = firmware request failed

  • write init = preparing FPGA for programming

  • write init error = Error while preparing FPGA for

    programming

  • write = FPGA ready to receive image data

  • write error = Error while programming

  • write complete = Doing post programming steps

  • write complete error = Error while doing post programming

  • operating = FPGA is programmed and operating

What:

/sys/class/fpga_manager/<fpga>/status

Defined on file sysfs-class-fpga-manager

Read fpga manager status as a string. If FPGA programming operation fails, it could be caused by crc error or incompatible bitstream image. The intent of this interface is to provide more detailed information for FPGA programming errors to userspace. This is a list of strings for the supported status.

  • reconfig operation error - invalid operations detected by

    reconfiguration hardware. e.g. start reconfiguration with errors not cleared

  • reconfig CRC error - CRC error detected by

    reconfiguration hardware.

  • reconfig incompatible image - reconfiguration image is

    incompatible with hardware

  • reconfig IP protocol error - protocol errors detected by

    reconfiguration hardware

  • reconfig fifo overflow error - FIFO overflow detected by

    reconfiguration hardware

What:

/sys/class/fpga_region/<region>/compat_id

Defined on file sysfs-class-fpga-region

FPGA region id for compatibility check, e.g. compatibility of the FPGA reconfiguration hardware and image. This value is defined or calculated by the layer that is creating the FPGA region. This interface returns the compat_id value or just error code -ENOENT in case compat_id is not used.

What:

/sys/class/genwqe/genwqe<n>_card/appid

Defined on file sysfs-driver-genwqe

Identifies the currently active card application e.g. ‘GZIP’ for compression/decompression.

What:

/sys/class/genwqe/genwqe<n>_card/base_clock

Defined on file sysfs-driver-genwqe

Base clock frequency of the card.

What:

/sys/class/genwqe/genwqe<n>_card/curr_bitstream

Defined on file sysfs-driver-genwqe

Currently active bitstream. 1 is default, 0 is backup.

What:

/sys/class/genwqe/genwqe<n>_card/device/sriov_numvfs

Defined on file sysfs-driver-genwqe

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.

What:

/sys/class/genwqe/genwqe<n>_card/freerunning_timer

Defined on file sysfs-driver-genwqe

Interface to read the cards free running timer. Used for performance and utilization measurements.

What:

/sys/class/genwqe/genwqe<n>_card/next_bitstream

Defined on file sysfs-driver-genwqe

Interface to set the next bitstream to be used.

What:

/sys/class/genwqe/genwqe<n>_card/queue_working_time

Defined on file sysfs-driver-genwqe

Interface to read queue working time. Used for performance and utilization measurements.

What:

/sys/class/genwqe/genwqe<n>_card/reload_bitstream

Defined on file sysfs-driver-genwqe

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/state

Defined on file sysfs-driver-genwqe

State of the card: “unused”, “used”, “error”.

What:

/sys/class/genwqe/genwqe<n>_card/tempsens

Defined on file sysfs-driver-genwqe

Interface to read the cards temperature sense register.

What:

/sys/class/genwqe/genwqe<n>_card/type

Defined on file sysfs-driver-genwqe

Type of the card e.g. ‘GenWQE5-A7’.

What:

/sys/class/genwqe/genwqe<n>_card/version

Defined on file sysfs-driver-genwqe

Unique bitstream identification e.g. ‘0000000330336283.00000000475a4950’.

What:

/sys/class/gnss/gnssN/type

Defined on file sysfs-class-gnss

The GNSS receiver type. The currently identified types reflect the protocol(s) supported by the receiver:

“NMEA” NMEA 0183 “SiRF” SiRF Binary “UBX” UBX

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

What:

/sys/class/habanalabs/hl<n>/armcp_kernel_ver

Defined on file sysfs-driver-habanalabs

Version of the Linux kernel running on the device’s CPU

What:

/sys/class/habanalabs/hl<n>/armcp_ver

Defined on file sysfs-driver-habanalabs

Version of the application running on the device’s CPU

What:

/sys/class/habanalabs/hl<n>/cpld_ver

Defined on file sysfs-driver-habanalabs

Version of the Device’s CPLD F/W

What:

/sys/class/habanalabs/hl<n>/device_type

Defined on file sysfs-driver-habanalabs

Displays the code name of the device according to its type. The supported values are: “GOYA”

What:

/sys/class/habanalabs/hl<n>/eeprom

Defined on file sysfs-driver-habanalabs

A binary file attribute that contains the contents of the on-board EEPROM

What:

/sys/class/habanalabs/hl<n>/fuse_ver

Defined on file sysfs-driver-habanalabs

Displays the device’s version from the eFuse

What:

/sys/class/habanalabs/hl<n>/hard_reset

Defined on file sysfs-driver-habanalabs

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

Defined on file sysfs-driver-habanalabs

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

Defined on file sysfs-driver-habanalabs

Allows the user to set the maximum clock frequency for MME, TPC and IC when the power management profile is set to “automatic”.

What:

/sys/class/habanalabs/hl<n>/ic_clk

Defined on file sysfs-driver-habanalabs

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

Defined on file sysfs-driver-habanalabs

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

Defined on file sysfs-driver-habanalabs

Version of the Device’s power supply F/W code

What:

/sys/class/habanalabs/hl<n>/max_power

Defined on file sysfs-driver-habanalabs

Allows the user to set the maximum power consumption of the device in milliwatts.

What:

/sys/class/habanalabs/hl<n>/mme_clk

Defined on file sysfs-driver-habanalabs

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

Defined on file sysfs-driver-habanalabs

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

Defined on file sysfs-driver-habanalabs

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

Defined on file sysfs-driver-habanalabs

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

What:

/sys/class/habanalabs/hl<n>/preboot_btl_ver

Defined on file sysfs-driver-habanalabs

Version of the device’s preboot F/W code

What:

/sys/class/habanalabs/hl<n>/soft_reset

Defined on file sysfs-driver-habanalabs

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

Defined on file sysfs-driver-habanalabs

Displays how many times the device have undergone a soft-reset operation since the driver was loaded

What:

/sys/class/habanalabs/hl<n>/status

Defined on file sysfs-driver-habanalabs

Status of the card: “Operational”, “Malfunction”, “In reset”.

What:

/sys/class/habanalabs/hl<n>/thermal_ver

Defined on file sysfs-driver-habanalabs

Version of the Device’s thermal daemon

What:

/sys/class/habanalabs/hl<n>/tpc_clk

Defined on file sysfs-driver-habanalabs

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

Defined on file sysfs-driver-habanalabs

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

Defined on file sysfs-driver-habanalabs

Version of the u-boot running on the device’s CPU

What:

/sys/class/habanalabs/hl<n>/write_open_cnt

Defined on file sysfs-driver-habanalabs

Displays the total number of user processes that are currently opened on the device’s file

What:

/sys/class/input/input(x)/device/shutdown

Defined on file sysfs-driver-input-axp-pek

Shutdown time in us. Board is powered off if the button is pressed for more than <shutdown_time>

What:

/sys/class/input/input(x)/device/startup

Defined on file sysfs-driver-input-axp-pek

Startup time in us. Board is powered on if the button is pressed for more than <startup_time>

What:

/sys/class/iommu/<iommu>/amd-iommu/cap

Defined on file sysfs-class-iommu-amd-iommu

IOMMU capability header as documented in the AMD IOMMU specification. Format: %x

What:

/sys/class/iommu/<iommu>/amd-iommu/features

Defined on file sysfs-class-iommu-amd-iommu

Extended features of the IOMMU. Format: %llx

What:

/sys/class/iommu/<iommu>/devices/

Defined on file sysfs-class-iommu

IOMMU drivers are able to link devices managed by a given IOMMU here to allow association of IOMMU to device.

What:

/sys/class/iommu/<iommu>/intel-iommu/address

Defined on file sysfs-class-iommu-intel-iommu

Physical address of the VT-d DRHD for this IOMMU. Format: %llx. This allows association of a sysfs intel-iommu with a DMAR DRHD table entry.

What:

/sys/class/iommu/<iommu>/intel-iommu/cap

Defined on file sysfs-class-iommu-intel-iommu

The cached hardware capability register value of this DRHD unit. Format: %llx.

What:

/sys/class/iommu/<iommu>/intel-iommu/ecap

Defined on file sysfs-class-iommu-intel-iommu

The cached hardware extended capability register value of this DRHD unit. Format: %llx.

What:

/sys/class/iommu/<iommu>/intel-iommu/version

Defined on file sysfs-class-iommu-intel-iommu

The architecture version as reported from the VT-d VER_REG. Format: %d:%d, major:minor

What:

/sys/class/lcd/<lcd>/contrast

Defined on file sysfs-class-lcd

Current contrast of this LCD device. Value is between 0 and /sys/class/lcd/<lcd>/max_contrast.

What:

/sys/class/lcd/<lcd>/lcd_power

Defined on file sysfs-class-lcd

Control LCD power, values are FB_BLANK_* from fb.h
  • FB_BLANK_UNBLANK (0) : power on.

  • FB_BLANK_POWERDOWN (4) : power off

What:

/sys/class/lcd/<lcd>/max_contrast

Defined on file sysfs-class-lcd

Maximum contrast for this LCD device.

What:

/sys/class/leds/<led>/als_channel

Defined on file sysfs-class-led-driver-lm3533

Set the ALS output channel to use as input in ALS-current-control mode (1, 2), where:

1 - out_current1 2 - out_current2

What:

/sys/class/leds/<led>/als_en

Defined on file sysfs-class-led-driver-lm3533

Enable ALS-current-control mode (0, 1).

What:

/sys/class/leds/<led>/brightness

Defined on file sysfs-class-led

Set the brightness of the LED. Most LEDs don’t have hardware brightness support, so will just be turned on for non-zero brightness settings. The value is between 0 and /sys/class/leds/<led>/max_brightness.

Writing 0 to this file clears active trigger.

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

What:

/sys/class/leds/<led>/brightness_hw_changed

Defined on file sysfs-class-led

Last hardware set brightness level for this LED. Some LEDs may be changed autonomously by hardware/firmware. Only LEDs where this happens and the driver can detect this, will have this file.

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

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

What:

/sys/class/leds/<led>/delay_off

Defined on file sysfs-class-led-trigger-oneshot

Specifies for how many milliseconds the LED has to stay at LED_OFF brightness after it has been armed. Defaults to 100 ms.

What:

/sys/class/leds/<led>/delay_on

Defined on file sysfs-class-led-trigger-oneshot

Specifies for how many milliseconds the LED has to stay at LED_FULL brightness after it has been armed. Defaults to 100 ms.

What:

/sys/class/leds/<led>/device_name

Defined on file sysfs-class-led-trigger-netdev

Specifies the network device name to monitor.

What:

/sys/class/leds/<led>/falltime

/sys/class/leds/<led>/risetime

Defined on file sysfs-class-led-driver-lm3533

Set the pattern generator fall and rise times (0..7), where:

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

What:

/sys/class/leds/<led>/flash_brightness

Defined on file sysfs-class-led-flash

read/write Set the brightness of this LED in the flash strobe mode, in microamperes. The file is created only for the flash LED devices that support setting flash brightness.

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

What:

/sys/class/leds/<led>/flash_fault

Defined on file sysfs-class-led-flash

read only Space separated list of flash faults that may have occurred. Flash faults are re-read after strobing the flash. Possible flash faults:

  • led-over-voltage - flash controller voltage to the flash LED

    has exceeded the limit specific to the flash controller

  • flash-timeout-exceeded - the flash strobe was still on when

    the timeout set by the user has expired; not all flash controllers may set this in all such conditions

  • controller-over-temperature - the flash controller has

    overheated

  • controller-short-circuit - the short circuit protection

    of the flash controller has been triggered

  • led-power-supply-over-current - current in the LED power

    supply has exceeded the limit specific to the flash controller

  • indicator-led-fault - the flash controller has detected

    a short or open circuit condition on the indicator LED

  • led-under-voltage - flash controller voltage to the flash

    LED has been below the minimum limit specific to the flash

  • controller-under-voltage - the input voltage of the flash

    controller is below the limit under which strobing the flash at full current will not be possible; the condition persists until this flag is no longer set

  • led-over-temperature - the temperature of the LED has exceeded

    its allowed upper limit

What:

/sys/class/leds/<led>/flash_strobe

Defined on file sysfs-class-led-flash

read/write Flash strobe state. When written with 1 it triggers flash strobe and when written with 0 it turns the flash off.

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

What:

/sys/class/leds/<led>/flash_timeout

Defined on file sysfs-class-led-flash

read/write Hardware timeout for flash, in microseconds. The flash strobe is stopped after this period of time has passed from the start of the strobe. The file is created only for the flash LED devices that support setting flash timeout.

What:

/sys/class/leds/<led>/gt683r/mode

Defined on file sysfs-class-leds-gt683r

Set the mode of LEDs. You should notice that changing the mode of one LED will update the mode of its two sibling devices as well. Possible values are:

0 - normal 1 - audio 2 - breathing

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

What:

/sys/class/leds/<led>/hw_pattern

Defined on file sysfs-class-led-driver-sc27xx

Specify a hardware pattern for the LED, for LED hardware that supports autonomously controlling brightness over time, according to some preprogrammed hardware patterns. It deactivates any active software pattern.

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

Specify a hardware pattern for the SC27XX LED. For the SC27XX LED controller, it only supports 4 stages to make a single hardware pattern, which is used to configure the rise time, high time, fall time and low time for the breathing mode.

For the breathing mode, the SC27XX LED only expects one brightness for the high stage. To be compatible with the hardware pattern format, we should set brightness as 0 for rise stage, fall stage and low stage.

Min stage duration: 125 ms Max stage duration: 31875 ms

Since the stage duration step is 125 ms, the duration should be a multiplier of 125, like 125ms, 250ms, 375ms, 500ms … 31875ms.

Thus the format of the hardware pattern values should be: “0 rise_duration brightness high_duration 0 fall_duration 0 low_duration”.

What:

/sys/class/leds/<led>/id

Defined on file sysfs-class-led-driver-lm3533

Get the id of this led (0..3).

What:

/sys/class/leds/<led>/interval

Defined on file sysfs-class-led-trigger-netdev

Specifies the duration of the LED blink in milliseconds. Defaults to 50 ms.

What:

/sys/class/leds/<led>/invert

Defined on file sysfs-class-led-trigger-oneshot

Reverse the blink logic. If set to 0 (default) blink on for delay_on ms, then blink off for delay_off ms, leaving the LED normally off. If set to 1, blink off for delay_off ms, then blink on for delay_on ms, leaving the LED normally on. Setting this value also immediately changes the LED state.

What:

/sys/class/leds/<led>/inverted

Defined on file sysfs-class-led

Invert the LED on/off state. This parameter is specific to gpio and backlight triggers. In case of the backlight trigger, it is useful when driving a LED which is intended to indicate a device in a standby like state.

What:

/sys/class/leds/<led>/linear

Defined on file sysfs-class-led-driver-lm3533

Set the brightness-mapping mode (0, 1), where:

0 - exponential mode 1 - linear mode

/sys/class/leds/<led>/link

Defined on file sysfs-class-led-trigger-netdev

Signal the link state of the named network device. If set to 0 (default), the LED’s normal state is off. If set to 1, the LED’s normal state reflects the link state of the named network device. Setting this value also immediately changes the LED state.

What:

/sys/class/leds/<led>/max_brightness

Defined on file sysfs-class-led

Maximum brightness level for this LED, default is 255 (LED_FULL).

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

What:

/sys/class/leds/<led>/max_flash_brightness

Defined on file sysfs-class-led-flash

read only Maximum brightness level for this LED in the flash strobe mode, in microamperes.

What:

/sys/class/leds/<led>/max_flash_timeout

Defined on file sysfs-class-led-flash

read only Maximum flash timeout for this LED, in microseconds.

What:

/sys/class/leds/<led>/pattern

Defined on file sysfs-class-led-trigger-pattern

Specify a software pattern for the LED, that supports altering the brightness for the specified duration with one software timer. It can do gradual dimming and step change of brightness.

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

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

What:

/sys/class/leds/<led>/ports/<port>

Defined on file sysfs-class-led-trigger-usbport

Every dir entry represents a single USB port that can be selected for the USB port trigger. Selecting ports makes trigger observing them for any connected devices and lighting on LED if there are any. Echoing “1” value selects USB port. Echoing “0” unselects it. Current state can be also read.

What:

/sys/class/leds/<led>/pwm

Defined on file sysfs-class-led-driver-lm3533

Set the PWM-input control mask (5 bits), where:

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

What:

/sys/class/leds/<led>/repeat

Defined on file sysfs-class-led-trigger-pattern

Specify a pattern repeat number. -1 means repeat indefinitely, other negative numbers and number 0 are invalid.

This file will always return the originally written repeat number.

What:

/sys/class/leds/<led>/rx

Defined on file sysfs-class-led-trigger-netdev

Signal reception of data on the named network device. If set to 0 (default), the LED will not blink on reception. If set to 1, the LED will blink for the milliseconds specified in interval to signal reception.

What:

/sys/class/leds/<led>/shot

Defined on file sysfs-class-led-trigger-oneshot

Write any non-empty string to signal an events, this starts a blink sequence if not already running.

What:

/sys/class/leds/<led>/trigger

Defined on file sysfs-class-led

Set the trigger for this LED. A trigger is a kernel based source of LED events. You can change triggers in a similar manner to the way an IO scheduler is chosen. Trigger specific parameters can appear in /sys/class/leds/<led> once a given trigger is selected. For their documentation see sysfs-class-led-trigger-*.

What:

/sys/class/leds/<led>/tx

Defined on file sysfs-class-led-trigger-netdev

Signal transmission of data on the named network device. If set to 0 (default), the LED will not blink on transmission. If set to 1, the LED will blink for the milliseconds specified in interval to signal transmission.

What:

/sys/class/leds/SRWS1::<serial>::RPM1

/sys/class/leds/SRWS1::<serial>::RPM2

/sys/class/leds/SRWS1::<serial>::RPM3

/sys/class/leds/SRWS1::<serial>::RPM4

/sys/class/leds/SRWS1::<serial>::RPM5

/sys/class/leds/SRWS1::<serial>::RPM6

/sys/class/leds/SRWS1::<serial>::RPM7

/sys/class/leds/SRWS1::<serial>::RPM8

/sys/class/leds/SRWS1::<serial>::RPM9

/sys/class/leds/SRWS1::<serial>::RPM10

/sys/class/leds/SRWS1::<serial>::RPM11

/sys/class/leds/SRWS1::<serial>::RPM12

/sys/class/leds/SRWS1::<serial>::RPM13

/sys/class/leds/SRWS1::<serial>::RPM14

/sys/class/leds/SRWS1::<serial>::RPM15

/sys/class/leds/SRWS1::<serial>::RPMALL

Defined on file sysfs-driver-hid-srws1

Provides a control for turning on/off the LEDs which form an RPM meter on the front of the controller

What:

/sys/class/leds/dell::kbd_backlight/als_enabled

Defined on file sysfs-platform-dell-laptop

This file allows to control the automatic keyboard illumination mode on some systems that have an ambient light sensor. Write 1 to this file to enable the auto mode, 0 to disable it.

What:

/sys/class/leds/dell::kbd_backlight/als_setting

Defined on file sysfs-platform-dell-laptop

This file allows to specifiy the on/off threshold value, as reported by the ambient light sensor.

What:

/sys/class/leds/dell::kbd_backlight/start_triggers

Defined on file sysfs-platform-dell-laptop

This file allows to control the input triggers that turn on the keyboard backlight illumination that is disabled because of inactivity. Read the file to see the triggers available. The ones enabled are preceded by ‘+’, those disabled by ‘-‘.

To enable a trigger, write its name preceded by ‘+’ to this file. To disable a trigger, write its name preceded by ‘-‘ instead.

For example, to enable the keyboard as trigger run:

echo +keyboard > /sys/class/leds/dell::kbd_backlight/start_triggers

To disable it:

echo -keyboard > /sys/class/leds/dell::kbd_backlight/start_triggers

Note that not all the available triggers can be configured.

What:

/sys/class/leds/dell::kbd_backlight/stop_timeout

Defined on file sysfs-platform-dell-laptop

This file allows to specify the interval after which the keyboard illumination is disabled because of inactivity. The timeouts are expressed in seconds, minutes, hours and days, for which the symbols are ‘s’, ‘m’, ‘h’ and ‘d’ respectively.

To configure the timeout, write to this file a value along with any the above units. If no unit is specified, the value is assumed to be expressed in seconds.

For example, to set the timeout to 10 minutes run:

echo 10m > /sys/class/leds/dell::kbd_backlight/stop_timeout

Note that when this file is read, the returned value might be expressed in a different unit than the one used when the timeout was set.

Also note that only some timeouts are supported and that some systems might fall back to a specific timeout in case an invalid timeout is written to this file.

What:

/sys/class/mdio_bus/<bus>/<device>/attached_dev

Defined on file sysfs-class-net-phydev

Symbolic link to the network device this PHY device is attached to.

What:

/sys/class/mdio_bus/<bus>/<device>/phy_has_fixups

Defined on file sysfs-class-net-phydev

This attribute contains the boolean value whether a given PHY device has had any “fixup” workaround running on it, encoded as a boolean. This information is provided to help troubleshooting PHY configurations.

What:

/sys/class/mdio_bus/<bus>/<device>/phy_id

Defined on file sysfs-class-net-phydev

This attribute contains the 32-bit PHY Identifier as reported by the device during bus enumeration, encoded in hexadecimal. This ID is used to match the device with the appropriate driver.

What:

/sys/class/mdio_bus/<bus>/<device>/phy_interface

Defined on file sysfs-class-net-phydev

This attribute contains the PHY interface as configured by the Ethernet driver during bus enumeration, encoded in string. This interface mode is used to configure the Ethernet MAC with the appropriate mode for its data lines to the PHY hardware. Possible values are: <empty> (not available), mii, gmii, sgmii, tbi, rev-mii, rmii, rgmii, rgmii-id, rgmii-rxid, rgmii-txid, rtbi, smii xgmii, moca, qsgmii, trgmii, 1000base-x, 2500base-x, rxaui, xaui, 10gbase-kr, unknown

What:

/sys/class/mdio_bus/<bus>/<device>/phy_standalone

Defined on file sysfs-class-net-phydev

Boolean value indicating whether the PHY device is used in standalone mode, without a net_device associated, by PHYLINK. Attribute created only when this is the case.

What:

/sys/class/mei/

Defined on file sysfs-class-mei

The mei/ class sub-directory belongs to mei device class

What:

/sys/class/mei/meiN/

Defined on file sysfs-class-mei

The /sys/class/mei/meiN directory is created for each probed mei device

What:

/sys/class/mei/meiN/dev_state

Defined on file sysfs-class-mei

Display the ME device state.

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

What:

/sys/class/mei/meiN/fw_status

Defined on file sysfs-class-mei

Display fw status registers content

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

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

What:

/sys/class/mei/meiN/fw_ver

Defined on file sysfs-class-mei

Display the ME firmware version.

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

What:

/sys/class/mei/meiN/hbm_ver

Defined on file sysfs-class-mei

Display the negotiated HBM protocol version.

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

What:

/sys/class/mei/meiN/hbm_ver_drv

Defined on file sysfs-class-mei

Display the driver HBM protocol version.

The HBM protocol version supported by the driver.

What:

/sys/class/mei/meiN/tx_queue_limit

Defined on file sysfs-class-mei

Configure tx queue limit

Set maximal number of pending writes per opened session.

What:

/sys/class/mic/

Defined on file sysfs-class-mic

The mic class directory belongs to Intel MIC devices and provides information per MIC device. An Intel MIC device is a PCIe form factor add-in Coprocessor card based on the Intel Many Integrated Core (MIC) architecture that runs a Linux OS.

What:

/sys/class/mic/mic(x)

Defined on file sysfs-class-mic

The directories /sys/class/mic/mic0, /sys/class/mic/mic1 etc., represent MIC devices (0,1,..etc). Each directory has information specific to that MIC device.

What:

/sys/class/mic/mic(x)/bootmode

Defined on file sysfs-class-mic

When read, this sysfs entry provides the current bootmode for the card. This sysfs entry can be written with the following valid strings: a) linux - Boot a Linux image. b) flash - Boot an image for flash updates.

What:

/sys/class/mic/mic(x)/cmdline

Defined on file sysfs-class-mic

An Intel MIC device runs a Linux OS during its operation. Before booting this card OS, it is possible to pass kernel command line options to configure various features in it, similar to self-bootable machines. When read, this entry provides information about the current kernel command line options set to boot the card OS. This entry can be written to change the existing kernel command line options. Typically, the user would want to read the current command line options, append new ones or modify existing ones and then write the whole kernel command line back to this entry.

What:

/sys/class/mic/mic(x)/family

Defined on file sysfs-class-mic

Provides information about the Coprocessor family for an Intel MIC device. For example - “x100”

What:

/sys/class/mic/mic(x)/firmware

Defined on file sysfs-class-mic

When read, this sysfs entry provides the path name under /lib/firmware/ where the firmware image to be booted on the card can be found. The entry can be written to change the firmware image location under /lib/firmware/.

What:

/sys/class/mic/mic(x)/heartbeat_enable

Defined on file sysfs-class-mic

The MIC drivers detect and inform user space about card crashes via a heartbeat mechanism (see the description of shutdown_status above). User space can turn off this notification by setting heartbeat_enable to 0 and enable it by setting this entry to 1. If this notification is disabled it is the responsibility of user space to detect card crashes via alternative means such as a network ping. This setting is enabled by default.

What:

/sys/class/mic/mic(x)/log_buf_addr

Defined on file sysfs-class-mic

An Intel MIC device runs a Linux OS during its operation. For debugging purpose and early kernel boot messages, the user can access the card OS log buffer via debugfs. When read, this entry provides the kernel virtual address of the buffer where the card OS log buffer can be read. This entry is written by the host configuration daemon to set the log buffer address. The correct log buffer address to be written can be found in the System.map file of the card OS.

What:

/sys/class/mic/mic(x)/log_buf_len

Defined on file sysfs-class-mic

An Intel MIC device runs a Linux OS during its operation. For debugging purpose and early kernel boot messages, the user can access the card OS log buffer via debugfs. When read, this entry provides the kernel virtual address where the card OS log buffer length can be read. This entry is written by host configuration daemon to set the log buffer length address. The correct log buffer length address to be written can be found in the System.map file of the card OS.

What:

/sys/class/mic/mic(x)/ramdisk

Defined on file sysfs-class-mic

When read, this sysfs entry provides the path name under /lib/firmware/ where the ramdisk image to be used during card OS boot can be found. The entry can be written to change the ramdisk image location under /lib/firmware/.

What:

/sys/class/mic/mic(x)/shutdown_status

Defined on file sysfs-class-mic

An Intel MIC device runs a Linux OS during its operation. This OS can shutdown because of various reasons. When read, this entry provides the status on why the card OS was shutdown. Possible values are:

“nop”

shutdown status is not applicable, when the card OS is “online”

“crashed”

Shutdown because of a HW or SW crash.

“halted”

Shutdown because of a halt command.

“poweroff”

Shutdown because of a poweroff command.

“restart”

Shutdown because of a restart command.

What:

/sys/class/mic/mic(x)/state

Defined on file sysfs-class-mic

When read, this entry provides the current state of an Intel MIC device in the context of the card OS. Possible values that will be read are:

“ready”

The MIC device is ready to boot the card OS. On reading this entry after an OSPM resume, a “boot” has to be written to this entry if the card was previously shutdown during OSPM suspend.

“booting”

The MIC device has initiated booting a card OS.

“online”

The MIC device has completed boot and is online

“shutting_down”

The card OS is shutting down.

“resetting”

A reset has been initiated for the MIC device

“reset_failed”

The MIC device has failed to reset.

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

“boot”

Boot the card OS image specified by the combination of firmware, ramdisk, cmdline and bootmode sysfs entries.

“reset”

Initiates device reset.

“shutdown”

Initiates card OS shutdown.

What:

/sys/class/mic/mic(x)/stepping

Defined on file sysfs-class-mic

Provides information about the silicon stepping for an Intel MIC device. For example - “A0” or “B0”

What:

/sys/class/mtd/

Defined on file sysfs-class-mtd

The mtd/ class subdirectory belongs to the MTD subsystem (MTD core).

What:

/sys/class/mtd/mtdX/

Defined on file sysfs-class-mtd

The /sys/class/mtd/mtd{0,1,2,3,…} directories correspond to each /dev/mtdX character device. These may represent physical/simulated flash devices, partitions on a flash device, or concatenated flash devices.

What:

/sys/class/mtd/mtdX/bad_blocks

Defined on file sysfs-class-mtd

The number of blocks marked as bad, if any, in this partition.

What:

/sys/class/mtd/mtdX/bbt_blocks

Defined on file sysfs-class-mtd

The number of blocks that are marked as reserved, if any, in this partition. These are typically used to store the in-flash bad block table (BBT).

What:

/sys/class/mtd/mtdX/bitflip_threshold

Defined on file sysfs-class-mtd

This allows the user to examine and adjust the criteria by which mtd returns -EUCLEAN from mtd_read() and mtd_read_oob(). If the maximum number of bit errors that were corrected on any single region comprising an ecc step (as reported by the driver) equals or exceeds this value, -EUCLEAN is returned. Otherwise, absent an error, 0 is returned. Higher layers (e.g., UBI) use this return code as an indication that an erase block may be degrading and should be scrutinized as a candidate for being marked as bad.

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

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

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

What:

/sys/class/mtd/mtdX/corrected_bits

Defined on file sysfs-class-mtd

The number of bits that have been corrected by means of the device’s ECC.

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

What:

/sys/class/mtd/mtdX/dev

Defined on file sysfs-class-mtd

Major and minor numbers of the character device corresponding to this MTD device (in <major>:<minor> format). This is the read-write device so <minor> will be even.

What:

/sys/class/mtd/mtdX/ecc_failures

Defined on file sysfs-class-mtd

The number of failures reported by this device’s ECC. Typically, these failures are associated with failed read operations.

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

What:

/sys/class/mtd/mtdX/ecc_step_size

Defined on file sysfs-class-mtd

The size of a single region covered by ECC, known as the ECC step. Devices may have several equally sized ECC steps within each writesize region.

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

What:

/sys/class/mtd/mtdX/ecc_strength

Defined on file sysfs-class-mtd

Maximum number of bit errors that the device is capable of correcting within each region covering an ECC step (see ecc_step_size). This will always be a non-negative integer.

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

What:

/sys/class/mtd/mtdX/erasesize

Defined on file sysfs-class-mtd

“Major” erase size for the device. If numeraseregions is zero, this is the eraseblock size for the entire device. Otherwise, the MEMGETREGIONCOUNT/MEMGETREGIONINFO ioctls can be used to determine the actual eraseblock layout.

What:

/sys/class/mtd/mtdX/flags

Defined on file sysfs-class-mtd

A hexadecimal value representing the device flags, ORed together:

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

What:

/sys/class/mtd/mtdX/name

Defined on file sysfs-class-mtd

A human-readable ASCII name for the device or partition. This will match the name in /proc/mtd .

What:

/sys/class/mtd/mtdX/numeraseregions

Defined on file sysfs-class-mtd

For devices that have variable eraseblock sizes, this provides the total number of erase regions. Otherwise, it will read back as zero.

What:

/sys/class/mtd/mtdX/offset

Defined on file sysfs-class-mtd

For a partition, the offset of that partition from the start of the parent (another partition or a flash device) in bytes. This attribute is absent on flash devices, so it can be used to distinguish them from partitions.

What:

/sys/class/mtd/mtdX/oobavail

Defined on file sysfs-class-mtd

Number of bytes available for a client to place data into the out of band area.

What:

/sys/class/mtd/mtdX/oobsize

Defined on file sysfs-class-mtd

Number of OOB bytes per page.

What:

/sys/class/mtd/mtdX/size

Defined on file sysfs-class-mtd

Total size of the device/partition, in bytes.

What:

/sys/class/mtd/mtdX/type

Defined on file sysfs-class-mtd

One of the following ASCII strings, representing the device type:

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

What:

/sys/class/mtd/mtdX/writesize

Defined on file sysfs-class-mtd

Minimal writable flash unit size. This will always be a positive integer.

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

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

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

What:

/sys/class/mtd/mtdXro/

Defined on file sysfs-class-mtd

These directories provide the corresponding read-only device nodes for /sys/class/mtd/mtdX/ .

What:

/sys/class/mtd/mtdXro/dev

Defined on file sysfs-class-mtd

Major and minor numbers of the character device corresponding to the read-only variant of thie MTD device (in <major>:<minor> format). In this case <minor> will be odd.

What:

/sys/class/mux/

Defined on file sysfs-class-mux

The mux/ class sub-directory belongs to the Generic MUX Framework and provides a sysfs interface for using MUX controllers.

What:

/sys/class/mux/muxchipN/

Defined on file sysfs-class-mux

A /sys/class/mux/muxchipN directory is created for each probed MUX chip where N is a simple enumeration.

What:

/sys/class/net/<bridge iface>/bridge/group_fwd_mask

Defined on file sysfs-class-net

Bitmask to allow forwarding of link local frames with address 01-80-C2-00-00-0X on a bridge device. Only values that set bits not matching BR_GROUPFWD_RESTRICTED in net/bridge/br_private.h allowed. Default value 0 does not forward any link local frames.

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

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

What:

/sys/class/net/<iface>/addr_assign_type

Defined on file sysfs-class-net

Indicates the address assignment type. Possible values are: 0: permanent address 1: randomly generated 2: stolen from another device 3: set using dev_set_mac_address

What:

/sys/class/net/<iface>/addr_len

Defined on file sysfs-class-net

Indicates the hardware address size in bytes. Values vary based on the lower-level protocol used by the interface (Ethernet, FDDI, ATM, IEEE 802.15.4…). See include/uapi/linux/if_*.h for actual values.

What:

/sys/class/net/<iface>/address

Defined on file sysfs-class-net

Hardware address currently assigned to this interface. Format is a string, e.g: 00:11:22:33:44:55 for an Ethernet MAC address.

What:

/sys/class/net/<iface>/broadcast

Defined on file sysfs-class-net

Hardware broadcast address for this interface. Format is a string, e.g: ff:ff:ff:ff:ff:ff for an Ethernet broadcast MAC address.

What:

/sys/class/net/<iface>/carrier

Defined on file sysfs-class-net

Indicates the current physical link state of the interface. Posssible values are: 0: physical link is down 1: physical link is up

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

What:

/sys/class/net/<iface>/carrier_changes

Defined on file sysfs-class-net

32-bit unsigned integer counting the number of times the link has seen a change from UP to DOWN and vice versa

What:

/sys/class/net/<iface>/carrier_down_count

Defined on file sysfs-class-net

32-bit unsigned integer counting the number of times the link has been down

What:

/sys/class/net/<iface>/carrier_up_count

Defined on file sysfs-class-net

32-bit unsigned integer counting the number of times the link has been up

What:

/sys/class/net/<iface>/cdc_ncm/bmNtbFormatsSupported

Defined on file sysfs-class-net-cdc_ncm

Bit 0: 16-bit NTB supported (set to 1) Bit 1: 32-bit NTB supported Bits 2 – 15: reserved (reset to zero; must be ignored by host)

What:

/sys/class/net/<iface>/cdc_ncm/dwNtbInMaxSize

Defined on file sysfs-class-net-cdc_ncm

IN NTB Maximum Size in bytes

What:

/sys/class/net/<iface>/cdc_ncm/dwNtbOutMaxSize

Defined on file sysfs-class-net-cdc_ncm

OUT NTB Maximum Size

What:

/sys/class/net/<iface>/cdc_ncm/min_tx_pkt

Defined on file sysfs-class-net-cdc_ncm

The driver will pad NCM Transfer Blocks (NTBs) longer than this to tx_max, allowing the device to receive tx_max sized frames with no terminating short packet. NTBs shorter than this limit are transmitted as-is, without any padding, and are terminated with a short USB packet.

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

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

What:

/sys/class/net/<iface>/cdc_ncm/ndp_to_end

Defined on file sysfs-class-net-cdc_ncm

Boolean attribute showing the status of the “NDP to end” quirk. Defaults to ‘N’, except for devices already known to need it enabled.

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

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

What:

/sys/class/net/<iface>/cdc_ncm/rx_max

Defined on file sysfs-class-net-cdc_ncm

The maximum NTB size for RX. Cannot exceed the maximum value supported by the device. Must allow at least one max sized datagram plus headers.

The actual limits are device dependent. See dwNtbInMaxSize.

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

What:

/sys/class/net/<iface>/cdc_ncm/tx_max

Defined on file sysfs-class-net-cdc_ncm

The maximum NTB size for TX. Cannot exceed the maximum value supported by the device. Must allow at least one max sized datagram plus headers.

The actual limits are device dependent. See dwNtbOutMaxSize.

What:

/sys/class/net/<iface>/cdc_ncm/tx_timer_usecs

Defined on file sysfs-class-net-cdc_ncm

Datagram aggregation timeout in µs. The driver will wait up to 3 times this timeout for more datagrams to aggregate before transmitting an NTB frame.

Valid range: 5 to 4000000

Set to 0 to disable aggregation.

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

What:

/sys/class/net/<iface>/cdc_ncm/wNdpInAlignment

Defined on file sysfs-class-net-cdc_ncm

NDP alignment modulus for NTBs on the IN pipe. Shall be a power of 2, and shall be at least 4.

What:

/sys/class/net/<iface>/cdc_ncm/wNdpInDivisor

Defined on file sysfs-class-net-cdc_ncm

Divisor used for IN NTB Datagram payload alignment

What:

/sys/class/net/<iface>/cdc_ncm/wNdpInPayloadRemainder

Defined on file sysfs-class-net-cdc_ncm

Remainder used to align input datagram payload within the NTB: (Payload Offset) mod (wNdpInDivisor) = wNdpInPayloadRemainder

What:

/sys/class/net/<iface>/cdc_ncm/wNdpOutAlignment

Defined on file sysfs-class-net-cdc_ncm

NDP alignment modulus for use in NTBs on the OUT pipe. Shall be a power of 2, and shall be at least 4.

What:

/sys/class/net/<iface>/cdc_ncm/wNdpOutDivisor

Defined on file sysfs-class-net-cdc_ncm

OUT NTB Datagram alignment modulus

What:

/sys/class/net/<iface>/cdc_ncm/wNdpOutPayloadRemainder

Defined on file sysfs-class-net-cdc_ncm

Remainder used to align output datagram payload offsets within the NTB: Padding, shall be transmitted as zero by function, and ignored by host. (Payload Offset) mod (wNdpOutDivisor) = wNdpOutPayloadRemainder

What:

/sys/class/net/<iface>/cdc_ncm/wNtbOutMaxDatagrams

Defined on file sysfs-class-net-cdc_ncm

Maximum number of datagrams that the host may pack into a single OUT NTB. Zero means that the device imposes no limit.

What:

/sys/class/net/<iface>/dev_id

Defined on file sysfs-class-net

Indicates the device unique identifier. Format is an hexadecimal value. This is used to disambiguate interfaces which might be stacked (e.g: VLAN interfaces) but still have the same MAC address as their parent device.

What:

/sys/class/net/<iface>/dev_port

Defined on file sysfs-class-net

Indicates the port number of this network device, formatted as a decimal value. Some NICs have multiple independent ports on the same PCI bus, device and function. This attribute allows userspace to distinguish the respective interfaces.

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

What:

/sys/class/net/<iface>/dormant

Defined on file sysfs-class-net

Indicates whether the interface is in dormant state. Possible values are: 0: interface is not dormant 1: interface is dormant

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

What:

/sys/class/net/<iface>/dsa/tagging

Defined on file sysfs-class-net-dsa

String indicating the type of tagging protocol used by the DSA slave network device.

What:

/sys/class/net/<iface>/flags

Defined on file sysfs-class-net

Indicates the interface flags as a bitmask in hexadecimal. See include/uapi/linux/if.h for a list of all possible values and the flags semantics.

What:

/sys/class/net/<iface>/fwinfo

Defined on file sysfs-class-net-janz-ican3

Firmware stamp of ican3 module Read-only: 32 byte string identification of the ICAN3 module (known values: “JANZ-ICAN3 ICANOS 1.xx”, “JANZ-ICAN3 CAL/CANopen 1.xx”)

What:

/sys/class/net/<iface>/grcan/enable0

Defined on file sysfs-class-net-grcan

Hardware configuration of physical interface 0. This file reads and writes the “Enable 0” bit of the configuration register. Possible values: 0 or 1. See the GRCAN chapter of the GRLIB IP core library documentation for details. The default value is 0 or set by the module parameter grcan.enable0 and can be read at /sys/module/grcan/parameters/enable0.

What:

/sys/class/net/<iface>/grcan/enable1

Defined on file sysfs-class-net-grcan

Hardware configuration of physical interface 1. This file reads and writes the “Enable 1” bit of the configuration register. Possible values: 0 or 1. See the GRCAN chapter of the GRLIB IP core library documentation for details. The default value is 0 or set by the module parameter grcan.enable1 and can be read at /sys/module/grcan/parameters/enable1.

What:

/sys/class/net/<iface>/grcan/select

Defined on file sysfs-class-net-grcan

Configuration of which physical interface to be used. Possible values: 0 or 1. See the GRCAN chapter of the GRLIB IP core library documentation for details. The default value is 0 or is set by the module parameter grcan.select and can be read at /sys/module/grcan/parameters/select.

What:

/sys/class/net/<iface>/ifalias

Defined on file sysfs-class-net

Indicates/stores an interface alias name as a string. This can be used for system management purposes.

What:

/sys/class/net/<iface>/ifindex

Defined on file sysfs-class-net

Indicates the system-wide interface unique index identifier as a decimal number. This attribute is used for mapping an interface identifier to an interface name. It is used throughout the networking stack for specifying the interface specific requests/events.

/sys/class/net/<iface>/iflink

Defined on file sysfs-class-net

Indicates the system-wide interface unique index identifier a the interface is linked to. Format is decimal. This attribute is used to resolve interfaces chaining, linking and stacking. Physical interfaces have the same ‘ifindex’ and ‘iflink’ values.

/sys/class/net/<iface>/link_mode

Defined on file sysfs-class-net

Indicates the interface link mode, as a decimal number. This attribute should be used in conjunction with ‘dormant’ attribute to determine the interface usability. Possible values: 0: default link mode 1: dormant link mode

What:

/sys/class/net/<iface>/mtu

Defined on file sysfs-class-net

Indicates the interface currently configured MTU value, in bytes, and in decimal format. Specific values depends on the lower-level interface protocol used. Ethernet devices will show a ‘mtu’ attribute value of 1500 unless changed.

What:

/sys/class/net/<iface>/name_assign_type

Defined on file sysfs-class-net

Indicates the name assignment type. Possible values are: 1: enumerated by the kernel, possibly in an unpredictable way 2: predictably named by the kernel 3: named by userspace 4: renamed

What:

/sys/class/net/<iface>/netdev_group

Defined on file sysfs-class-net

Indicates the interface network device group, as a decimal integer. Default value is 0 which corresponds to the initial network devices group. The group can be changed to affect routing decisions (see: net/ipv4/fib_rules and net/ipv6/fib6_rules.c).

What:

/sys/class/net/<iface>/operstate

Defined on file sysfs-class-net

Indicates the interface RFC2863 operational state as a string. Possible values are: “unknown”, “notpresent”, “down”, “lowerlayerdown”, “testing”, “dormant”, “up”.

What:

/sys/class/net/<iface>/phydev

Defined on file sysfs-class-net

Symbolic link to the PHY device this network device is attached to.

What:

/sys/class/net/<iface>/phys_port_id

Defined on file sysfs-class-net

Indicates the interface unique physical port identifier within the NIC, as a string.

What:

/sys/class/net/<iface>/phys_port_name

Defined on file sysfs-class-net

Indicates the interface physical port name within the NIC, as a string.

What:

/sys/class/net/<iface>/phys_switch_id

Defined on file sysfs-class-net

Indicates the unique physical switch identifier of a switch this port belongs to, as a string.

What:

/sys/class/net/<iface>/qmi/add_mux

Defined on file sysfs-class-net-qmi

Unsigned integer.

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

The network device will be called qmimux.

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

What:

/sys/class/net/<iface>/qmi/del_mux

Defined on file sysfs-class-net-qmi

Unsigned integer.

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

What:

/sys/class/net/<iface>/qmi/raw_ip

Defined on file sysfs-class-net-qmi

Boolean. Default: ‘N’

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

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

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

What:

/sys/class/net/<iface>/speed

Defined on file sysfs-class-net

Indicates the interface latest or current speed value. Value is an integer representing the link speed in Mbits/sec.

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

What:

/sys/class/net/<iface>/termination

Defined on file sysfs-class-net-janz-ican3

Value representing the can bus termination

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

What:

/sys/class/net/<iface>/tx_queue_len

Defined on file sysfs-class-net

Indicates the interface transmit queue len in number of packets, as an integer value. Value depend on the type of interface, Ethernet network adapters have a default value of 1000 unless configured otherwise

What:

/sys/class/net/<iface>/type

Defined on file sysfs-class-net

Indicates the interface protocol type as a decimal value. See include/uapi/linux/if_arp.h for all possible values.

What:

/sys/class/ocxl/<afu name>/afu_version

Defined on file sysfs-class-ocxl

read only Version of the AFU, in the format <major>:<minor> Reflects what is read in the configuration space of the AFU

What:

/sys/class/ocxl/<afu name>/contexts

Defined on file sysfs-class-ocxl

read only Number of contexts for the AFU, in the format <n>/<max> where:

n:

number of currently active contexts, for debug

max:

maximum number of contexts supported by the AFU

What:

/sys/class/ocxl/<afu name>/global_mmio_area

Defined on file sysfs-class-ocxl

read/write Give access the global mmio area for the AFU

What:

/sys/class/ocxl/<afu name>/global_mmio_size

Defined on file sysfs-class-ocxl

read only Size of the global mmio area, as defined in the configuration space of the AFU

What:

/sys/class/ocxl/<afu name>/pp_mmio_size

Defined on file sysfs-class-ocxl

read only Size of the per-process mmio area, as defined in the configuration space of the AFU

What:

/sys/class/pktcdvd/add

/sys/class/pktcdvd/remove

/sys/class/pktcdvd/device_map

Defined on file sysfs-class-pktcdvd

add: (WO) Write a block device id (major:minor) to

create a new pktcdvd device and map it to the block device.

remove: (WO) Write the pktcdvd device id (major:minor)

to remove the pktcdvd device.

device_map: (RO) Shows the device mapping in format:

pktcdvd[0-7] <pktdevid> <blkdevid>

What:

/sys/class/pktcdvd/pktcdvd[0-7]/dev

/sys/class/pktcdvd/pktcdvd[0-7]/uevent

Defined on file sysfs-class-pktcdvd

dev: (RO) Device id

uevent: (WO) To send a uevent

What:

/sys/class/pktcdvd/pktcdvd[0-7]/stat/packets_started

/sys/class/pktcdvd/pktcdvd[0-7]/stat/packets_finished

/sys/class/pktcdvd/pktcdvd[0-7]/stat/kb_written

/sys/class/pktcdvd/pktcdvd[0-7]/stat/kb_read

/sys/class/pktcdvd/pktcdvd[0-7]/stat/kb_read_gather

/sys/class/pktcdvd/pktcdvd[0-7]/stat/reset

Defined on file sysfs-class-pktcdvd

packets_started: (RO) Number of started packets.

packets_finished: (RO) Number of finished packets.

kb_written: (RO) kBytes written.

kb_read: (RO) kBytes read.

kb_read_gather: (RO) kBytes read to fill write packets.

reset: (WO) Write any value to it to reset

pktcdvd device statistic values, like bytes read/written.

What:

/sys/class/pktcdvd/pktcdvd[0-7]/write_queue/size

/sys/class/pktcdvd/pktcdvd[0-7]/write_queue/congestion_off

/sys/class/pktcdvd/pktcdvd[0-7]/write_queue/congestion_on

Defined on file sysfs-class-pktcdvd

size: (RO) Contains the size of the bio write queue.

congestion_off: (RW) If bio write queue size is below this mark,

accept new bio requests from the block layer.

congestion_on: (RW) If bio write queue size is higher as this

mark, do no longer accept bio write requests from the block layer and wait till the pktcdvd device has processed enough bio’s so that bio write queue size is below congestion off mark. A value of <= 0 disables congestion control.

Example:

To use the pktcdvd sysfs interface directly, you can do:

# create a new pktcdvd device mapped to /dev/hdc echo “22:0” >/sys/class/pktcdvd/add cat /sys/class/pktcdvd/device_map # assuming device pktcdvd0 was created, look at stat’s cat /sys/class/pktcdvd/pktcdvd0/stat/kb_written # print the device id of the mapped block device fgrep pktcdvd0 /sys/class/pktcdvd/device_map # remove device, using pktcdvd0 device id 253:0 echo “253:0” >/sys/class/pktcdvd/remove

What:

/sys/class/power/ds2760-battery.*/charge_full

Defined on file sysfs-class-power

This file is writeable and can be used to set the assumed battery ‘full level’. As batteries age, this value has to be amended over time.

What:

/sys/class/power/ds2760-battery.*/charge_now

Defined on file sysfs-class-power

This file is writeable and can be used to set the current coloumb counter value inside the battery monitor chip. This is needed for unavoidable corrections of aging batteries. A userspace daemon can monitor the battery charging logic and once the counter drops out of considerable bounds, take appropriate action.

What:

/sys/class/power_supply/<supply_name>/capacity

Defined on file sysfs-class-power

Fine grain representation of battery capacity. Access: Read Valid values: 0 - 100 (percent)

What:

/sys/class/power_supply/<supply_name>/capacity_alert_max

Defined on file sysfs-class-power

Maximum battery capacity trip-wire value where the supply will notify user-space of the event. This is normally used for the battery discharging scenario where user-space needs to know the battery has dropped to an upper level so it can take appropriate action (e.g. warning user that battery level is low).

Access: Read, Write Valid values: 0 - 100 (percent)

What:

/sys/class/power_supply/<supply_name>/capacity_alert_min

Defined on file sysfs-class-power

Minimum battery capacity trip-wire value where the supply will notify user-space of the event. This is normally used for the battery discharging scenario where user-space needs to know the battery has dropped to a lower level so it can take appropriate action (e.g. warning user that battery level is critically low).

Access: Read, Write

Valid values: 0 - 100 (percent)

What:

/sys/class/power_supply/<supply_name>/capacity_level

Defined on file sysfs-class-power

Coarse representation of battery capacity.

Access: Read

Valid values:

“Unknown”, “Critical”, “Low”, “Normal”, “High”, “Full”

What:

/sys/class/power_supply/<supply_name>/charge_control_end_threshold

Defined on file sysfs-class-power

Represents a battery percentage level, above which charging will stop.

Access: Read, Write

Valid values: 0 - 100 (percent)

What:

/sys/class/power_supply/<supply_name>/charge_control_limit

Defined on file sysfs-class-power

Maximum allowable charging current. Used for charge rate throttling for thermal cooling or improving battery health.

Access: Read, Write

Valid values: Represented in microamps

What:

/sys/class/power_supply/<supply_name>/charge_control_limit_max

Defined on file sysfs-class-power

Maximum legal value for the charge_control_limit property.

Access: Read

Valid values: Represented in microamps

What:

/sys/class/power_supply/<supply_name>/charge_control_start_threshold

Defined on file sysfs-class-power

Represents a battery percentage level, below which charging will begin.

Access: Read, Write Valid values: 0 - 100 (percent)

What:

/sys/class/power_supply/<supply_name>/charge_term_current

Defined on file sysfs-class-power

Reports the charging current value which is used to determine when the battery is considered full and charging should end.

Access: Read

Valid values: Represented in microamps

What:

/sys/class/power_supply/<supply_name>/charge_type

Defined on file sysfs-class-power

Represents the type of charging currently being applied to the battery. “Trickle”, “Fast”, and “Standard” all mean different charging speeds. “Adaptive” means that the charger uses some algorithm to adjust the charge rate dynamically, without any user configuration required. “Custom” means that the charger uses the charge_control_* properties as configuration for some different algorithm.

Access: Read, Write

Valid values:

“Unknown”, “N/A”, “Trickle”, “Fast”, “Standard”, “Adaptive”, “Custom”

What:

/sys/class/power_supply/<supply_name>/current_avg

Defined on file sysfs-class-power

Reports an average IBAT current reading for the battery, over a fixed period. Normally devices will provide a fixed interval in which they average readings to smooth out the reported value.

Access: Read Valid values: Represented in microamps

Reports an average IBUS current reading over a fixed period. Normally devices will provide a fixed interval in which they average readings to smooth out the reported value.

Access: Read

Valid values: Represented in microamps

What:

/sys/class/power_supply/<supply_name>/current_max

Defined on file sysfs-class-power

Reports the maximum IBAT current allowed into the battery.

Access: Read Valid values: Represented in microamps

Reports the maximum IBUS current the supply can support.

Access: Read

Valid values: Represented in microamps

What:

/sys/class/power_supply/<supply_name>/current_now

Defined on file sysfs-class-power

Reports an instant, single IBAT current reading for the battery. This value is not averaged/smoothed.

Access: Read Valid values: Represented in microamps

Reports the IBUS current supplied now. This value is generally read-only reporting, unless the ‘online’ state of the supply is set to be programmable, in which case this value can be set within the reported min/max range.

Access: Read, Write

Valid values: Represented in microamps

What:

/sys/class/power_supply/<supply_name>/health

Defined on file sysfs-class-power

Reports the health of the battery or battery side of charger functionality.

Access: Read

Valid values:

“Unknown”, “Good”, “Overheat”, “Dead”, “Over voltage”, “Unspecified failure”, “Cold”, “Watchdog timer expire”, “Safety timer expire”

What:

/sys/class/power_supply/<supply_name>/input_current_limit

Defined on file sysfs-class-power

Details the incoming IBUS current limit currently set in the supply. Normally this is configured based on the type of connection made (e.g. A configured SDP should output a maximum of 500mA so the input current limit is set to the same value). Use preferably input_power_limit, and for problems that can be solved using power limit use input_current_limit.

Access: Read, Write

Valid values: Represented in microamps

What:

/sys/class/power_supply/<supply_name>/input_power_limit

Defined on file sysfs-class-power

This entry configures the incoming power limit currently set in the supply. Normally this is configured based on system-level knowledge or user input. Use preferably this feature to limit the incoming power and use current/voltage limit only for problems that can be solved using power limit.

Access: Read, Write Valid values: Represented in microwatts

What:

/sys/class/power_supply/<supply_name>/input_voltage_limit

Defined on file sysfs-class-power

This entry configures the incoming VBUS voltage limit currently set in the supply. Normally this is configured based on system-level knowledge or user input (e.g. This is part of the Pixel C’s thermal management strategy to effectively limit the input power to 5V when the screen is on to meet Google’s skin temperature targets). Note that this feature should not be used for safety critical things. Use preferably input_power_limit, and for problems that can be solved using power limit use input_voltage_limit.

Access: Read, Write Valid values: Represented in microvolts

What:

/sys/class/power_supply/<supply_name>/manufacturer

Defined on file sysfs-class-power

Reports the name of the device manufacturer.

Access: Read Valid values: Represented as string

What:

/sys/class/power_supply/<supply_name>/model_name

Defined on file sysfs-class-power

Reports the name of the device model.

Access: Read Valid values: Represented as string

What:

/sys/class/power_supply/<supply_name>/online

Defined on file sysfs-class-power

Indicates if VBUS is present for the supply. When the supply is online, and the supply allows it, then it’s possible to switch between online states (e.g. Fixed -> Programmable for a PD_PPS USB supply so voltage and current can be controlled).

Access: Read, Write

Valid values:

0:

Offline

1:

Online Fixed - Fixed Voltage Supply

2:

Online Programmable - Programmable Voltage Supply

What:

/sys/class/power_supply/<supply_name>/precharge_current

Defined on file sysfs-class-power

Reports the charging current applied during pre-charging phase for a battery charge cycle.

Access: Read

Valid values: Represented in microamps

What:

/sys/class/power_supply/<supply_name>/present

Defined on file sysfs-class-power

Reports whether a battery is present or not in the system.

Access: Read

Valid values:

0:

Absent

1:

Present

What:

/sys/class/power_supply/<supply_name>/serial_number

Defined on file sysfs-class-power

Reports the serial number of the device.

Access: Read Valid values: Represented as string

What:

/sys/class/power_supply/<supply_name>/status

Defined on file sysfs-class-power

Represents the charging status of the battery. Normally this is read-only reporting although for some supplies this can be used to enable/disable charging to the battery.

Access: Read, Write

Valid values:

“Unknown”, “Charging”, “Discharging”, “Not charging”, “Full”

What:

/sys/class/power_supply/<supply_name>/technology

Defined on file sysfs-class-power

Describes the battery technology supported by the supply.

Access: Read

Valid values:

“Unknown”, “NiMH”, “Li-ion”, “Li-poly”, “LiFe”, “NiCd”, “LiMn”

What:

/sys/class/power_supply/<supply_name>/temp

Defined on file sysfs-class-power

Reports the current TBAT battery temperature reading.

Access: Read

Valid values: Represented in 1/10 Degrees Celsius

Reports the current supply temperature reading. This would normally be the internal temperature of the device itself (e.g TJUNC temperature of an IC)

Access: Read

Valid values: Represented in 1/10 Degrees Celsius

What:

/sys/class/power_supply/<supply_name>/temp_alert_max

Defined on file sysfs-class-power

Maximum TBAT temperature trip-wire value where the supply will notify user-space of the event. This is normally used for the battery charging scenario where user-space needs to know the battery temperature has crossed an upper threshold so it can take appropriate action (e.g. warning user that battery level is critically high, and charging has stopped).

Access: Read

Valid values: Represented in 1/10 Degrees Celsius

Maximum supply temperature trip-wire value where the supply will notify user-space of the event. This is normally used for the charging scenario where user-space needs to know the supply temperature has crossed an upper threshold so it can take appropriate action (e.g. warning user that the supply temperature is critically high, and charging has stopped to remedy the situation).

Access: Read

Valid values: Represented in 1/10 Degrees Celsius

What:

/sys/class/power_supply/<supply_name>/temp_alert_min

Defined on file sysfs-class-power

Minimum TBAT temperature trip-wire value where the supply will notify user-space of the event. This is normally used for the battery charging scenario where user-space needs to know the battery temperature has crossed a lower threshold so it can take appropriate action (e.g. warning user that battery level is high, and charging current has been reduced accordingly to remedy the situation).

Access: Read

Valid values: Represented in 1/10 Degrees Celsius

Minimum supply temperature trip-wire value where the supply will notify user-space of the event. This is normally used for the charging scenario where user-space needs to know the supply temperature has crossed a lower threshold so it can take appropriate action (e.g. warning user that the supply temperature is high, and charging current has been reduced accordingly to remedy the situation).

Access: Read

Valid values: Represented in 1/10 Degrees Celsius

What:

/sys/class/power_supply/<supply_name>/temp_max

Defined on file sysfs-class-power

Reports the maximum allowed TBAT battery temperature for charging.

Access: Read

Valid values: Represented in 1/10 Degrees Celsius

Reports the maximum allowed supply temperature for operation.

Access: Read

Valid values: Represented in 1/10 Degrees Celsius

What:

/sys/class/power_supply/<supply_name>/temp_min

Defined on file sysfs-class-power

Reports the minimum allowed TBAT battery temperature for charging.

Access: Read

Valid values: Represented in 1/10 Degrees Celsius

Reports the mainimum allowed supply temperature for operation.

Access: Read

Valid values: Represented in 1/10 Degrees Celsius

What:

/sys/class/power_supply/<supply_name>/type

Defined on file sysfs-class-power

Describes the main type of the supply.

Access: Read Valid values: “Battery”, “UPS”, “Mains”, “USB”

===== Battery Properties =====

What:

/sys/class/power_supply/<supply_name>/usb_type

Defined on file sysfs-class-power

Reports what type of USB connection is currently active for the supply, for example it can show if USB-PD capable source is attached.

Access: Read-Only

Valid values:

“Unknown”, “SDP”, “DCP”, “CDP”, “ACA”, “C”, “PD”, “PD_DRP”, “PD_PPS”, “BrickID”

What:

/sys/class/power_supply/<supply_name>/voltage_avg

Defined on file sysfs-class-power

Reports an average VBAT voltage reading for the battery, over a fixed period. Normally devices will provide a fixed interval in which they average readings to smooth out the reported value.

Access: Read

Valid values: Represented in microvolts

What:

/sys/class/power_supply/<supply_name>/voltage_max

Defined on file sysfs-class-power

Reports the maximum VBUS voltage the supply can support.

Access: Read

Valid values: Represented in microvolts

What:

/sys/class/power_supply/<supply_name>/voltage_max

Defined on file sysfs-class-power

Reports the maximum safe VBAT voltage permitted for the battery, during charging.

Access: Read

Valid values: Represented in microvolts

What:

/sys/class/power_supply/<supply_name>/voltage_min

Defined on file sysfs-class-power

Reports the minimum VBUS voltage the supply can support.

Access: Read

Valid values: Represented in microvolts

What:

/sys/class/power_supply/<supply_name>/voltage_min

Defined on file sysfs-class-power

Reports the minimum safe VBAT voltage permitted for the battery, during discharging.

Access: Read

Valid values: Represented in microvolts

What:

/sys/class/power_supply/<supply_name>/voltage_now

Defined on file sysfs-class-power

Reports the VBUS voltage supplied now. This value is generally read-only reporting, unless the ‘online’ state of the supply is set to be programmable, in which case this value can be set within the reported min/max range.

Access: Read, Write

Valid values: Represented in microvolts

Device Specific Properties

What:

/sys/class/power_supply/<supply_name>/voltage_now

Defined on file sysfs-class-power

Reports an instant, single VBAT voltage reading for the battery. This value is not averaged/smoothed.

Access: Read

Valid values: Represented in microvolts

USB Properties

What:

/sys/class/power_supply/bq24257-charger/high_impedance_enable

Defined on file sysfs-class-power

This entry allows enabling the high-impedance mode of bq24257-type charger devices. If enabled, it places the charger IC into low power standby mode with the switch mode controller disabled. When disabled, the charger operates normally. See device datasheet for details.

Valid values:

  • 1: enabled

  • 0: disabled

What:

/sys/class/power_supply/bq24257-charger/in_dpm_voltage

Defined on file sysfs-class-power

This entry configures the input dynamic power path management voltage of bq24257-type charger devices. Once the supply drops to the configured voltage, the input current limit is reduced down to prevent the further drop of the supply. When the IC enters this mode, the charge current is lower than the set value. See device datasheet for details.

Valid values:

  • 4200000, 4280000, 4360000, 4440000, 4520000, 4600000, 4680000, 4760000 (all uV)

What:

/sys/class/power_supply/bq24257-charger/ovp_voltage

Defined on file sysfs-class-power

This entry configures the overvoltage protection feature of bq24257- type charger devices. This feature protects the device and other components against damage from overvoltage on the input supply. See device datasheet for details.

Valid values:

  • 6000000, 6500000, 7000000, 8000000, 9000000, 9500000, 10000000, 10500000 (all uV)

What:

/sys/class/power_supply/bq24257-charger/sysoff_enable

Defined on file sysfs-class-power

This entry allows enabling the sysoff mode of bq24257-type charger devices. If enabled and the input is removed, the internal battery FET is turned off in order to reduce the leakage from the BAT pin to less than 1uA. Note that on some devices/systems this disconnects the battery from the system. See device datasheet for details.

Valid values:

  • 1: enabled

  • 0: disabled

What:

/sys/class/power_supply/max14577-charger/device/fast_charge_timer

Defined on file sysfs-class-power

This entry shows and sets the maximum time the max14577 charger operates in fast-charge mode. When the timer expires the device will terminate fast-charge mode (charging current will drop to 0 A) and will trigger interrupt.

Valid values:

  • 5, 6 or 7 (hours),

  • 0: disabled.

What:

/sys/class/power_supply/max77693-charger/device/fast_charge_timer

Defined on file sysfs-class-power

This entry shows and sets the maximum time the max77693 charger operates in fast-charge mode. When the timer expires the device will terminate fast-charge mode (charging current will drop to 0 A) and will trigger interrupt.

Valid values:

  • 4 - 16 (hours), step by 2 (rounded down)

  • 0: disabled.

What:

/sys/class/power_supply/max77693-charger/device/top_off_threshold_current

Defined on file sysfs-class-power

This entry shows and sets the charging current threshold for entering top-off charging mode. When charging current in fast charge mode drops below this value, the charger will trigger interrupt and start top-off charging mode.

Valid values:

  • 100000 - 200000 (microamps), step by 25000 (rounded down)

  • 200000 - 350000 (microamps), step by 50000 (rounded down)

  • 0: disabled.

What:

/sys/class/power_supply/max77693-charger/device/top_off_timer

Defined on file sysfs-class-power

This entry shows and sets the maximum time the max77693 charger operates in top-off charge mode. When the timer expires the device will terminate top-off charge mode (charging current will drop to 0 A) and will trigger interrupt.

Valid values:

  • 0 - 70 (minutes), step by 10 (rounded down)

What:

/sys/class/power_supply/twl4030_ac/mode

Defined on file sysfs-class-power-twl4030

Changing mode for ‘ac’ port. Writing to this can disable charging.

Possible values are:

“auto”

draw power as appropriate for detected power source and battery status.

“off”

do not draw any power.

What:

/sys/class/power_supply/twl4030_usb/mode

Defined on file sysfs-class-power-twl4030

Changing mode for USB port. Writing to this can disable charging.

Possible values are:

“auto”

draw power as appropriate for detected power source and battery status.

“off”

do not draw any power.

“continuous”

activate mode described as “linear” in TWL data sheets. This uses whatever current is available and doesn’t switch off when voltage drops.

This is useful for unstable power sources such as bicycle dynamo, but care should be taken that battery is not over-charged.

What:

/sys/class/power_supply/wilco-charger/charge_control_end_threshold

Defined on file sysfs-class-power-wilco

Used when charge_type=”Custom”, as described above. Measured in percentages. The valid range is [55, 100].

What:

/sys/class/power_supply/wilco-charger/charge_control_start_threshold

Defined on file sysfs-class-power-wilco

Used when charge_type=”Custom”, as described above. Measured in percentages. The valid range is [50, 95].

What:

/sys/class/power_supply/wilco-charger/charge_type

Defined on file sysfs-class-power-wilco

What charging algorithm to use:

Standard: Fully charges battery at a standard rate. Adaptive: Battery settings adaptively optimized based on

typical battery usage pattern.

Fast: Battery charges over a shorter period. Trickle: Extends battery lifespan, intended for users who

primarily use their Chromebook while connected to AC.

Custom: A low and high threshold percentage is specified.

Charging begins when level drops below charge_control_start_threshold, and ceases when level is above charge_control_end_threshold.

What:

/sys/class/powercap/

Defined on file sysfs-class-powercap

The powercap/ class sub directory belongs to the power cap subsystem. Refer to Documentation/power/powercap/powercap.rst for details.

What:

/sys/class/powercap/…/<power zone>/constraint_X_max_time_window_us

Defined on file sysfs-class-powercap

Maximum allowed time window in micro seconds for this constraint. Here “X” can have values from 0 to max integer.

What:

/sys/class/powercap/…/<power zone>/constraint_X_min_time_window_us

Defined on file sysfs-class-powercap

Minimum allowed time window in micro seconds for this constraint. Here “X” can have values from 0 to max integer.

What:

/sys/class/powercap/…/<power zone>/constraint_X_name

Defined on file sysfs-class-powercap

Each power zone can define one or more constraints. Each constraint can have an optional name. Here “X” can have values from 0 to max integer.

What:

/sys/class/powercap/…/<power zone>/constraint_X_power_limit_uw

Defined on file sysfs-class-powercap

Power limit in micro-watts should be applicable for the time window specified by “constraint_X_time_window_us”. Here “X” can have values from 0 to max integer.

What:

/sys/class/powercap/…/<power zone>/constraint_X_time_window_us

Defined on file sysfs-class-powercap

Time window in micro seconds. This is used along with constraint_X_power_limit_uw to define a power constraint. Here “X” can have values from 0 to max integer.

What:

/sys/class/powercap/…/<power zone>/enabled

Defined on file sysfs-class-powercap

This allows to enable/disable power capping at power zone level. This applies to current power zone and its children.

What:

/sys/class/powercap/…/<power zone>/energy_uj

Defined on file sysfs-class-powercap

Current energy counter in micro-joules. Write “0” to reset. If the counter can not be reset, then this attribute is read-only.

What:

/sys/class/powercap/…/<power zone>/max_energy_range_uj

Defined on file sysfs-class-powercap

Range of the above energy counter in micro-joules.

What:

/sys/class/powercap/…/<power zone>/max_power_range_uw

Defined on file sysfs-class-powercap

Range of the above power value in micro-watts.

What:

/sys/class/powercap/…/<power zone>/name

Defined on file sysfs-class-powercap

Specifies the name of this power zone.

What:

/sys/class/powercap/…/<power zone>/power_uw

Defined on file sysfs-class-powercap

Current power in micro-watts.

What:

/sys/class/powercap/<control type>

Defined on file sysfs-class-powercap

A <control type> is a unique name under /sys/class/powercap. Here <control type> determines how the power is going to be controlled. A <control type> can contain multiple power zones.

What:

/sys/class/powercap/<control type>/…/constraint_X_max_power_uw

Defined on file sysfs-class-powercap

Maximum allowed power in micro watts for this constraint. Here “X” can have values from 0 to max integer.

What:

/sys/class/powercap/<control type>/…/constraint_X_min_power_uw

Defined on file sysfs-class-powercap

Minimum allowed power in micro watts for this constraint. Here “X” can have values from 0 to max integer.

What:

/sys/class/powercap/<control type>/<power zone>

Defined on file sysfs-class-powercap

A power zone is a single or a collection of devices, which can be independently monitored and controlled. A power zone sysfs entry is qualified with the name of the <control type>. E.g. intel-rapl:0:1:1.

What:

/sys/class/powercap/<control type>/<power zone>/<child power zone>

Defined on file sysfs-class-powercap

Power zones may be organized in a hierarchy in which child power zones provide monitoring and control for a subset of devices under the parent. For example, if there is a parent power zone for a whole CPU package, each CPU core in it can be a child power zone.

What:

/sys/class/powercap/<control type>/enabled

Defined on file sysfs-class-powercap

This allows to enable/disable power capping for a “control type”. This status affects every power zone using this “control_type.

What:

/sys/class/pps/

Defined on file sysfs-pps

The /sys/class/pps/ directory will contain files and directories that will provide a unified interface to the PPS sources.

What:

/sys/class/pps/ppsX/

Defined on file sysfs-pps

The /sys/class/pps/ppsX/ directory is related to X-th PPS source into the system. Each directory will contain files to manage and control its PPS source.

What:

/sys/class/pps/ppsX/assert

Defined on file sysfs-pps

The /sys/class/pps/ppsX/assert file reports the assert events and the assert sequence number of the X-th source in the form:

<secs>.<nsec>#<sequence>

If the source has no assert events the content of this file is empty.

What:

/sys/class/pps/ppsX/clear

Defined on file sysfs-pps

The /sys/class/pps/ppsX/clear file reports the clear events and the clear sequence number of the X-th source in the form:

<secs>.<nsec>#<sequence>

If the source has no clear events the content of this file is empty.

What:

/sys/class/pps/ppsX/echo

Defined on file sysfs-pps

The /sys/class/pps/ppsX/echo file reports if the X-th does or does not support an “echo” function.

What:

/sys/class/pps/ppsX/mode

Defined on file sysfs-pps

The /sys/class/pps/ppsX/mode file reports the functioning mode of the X-th source in hexadecimal encoding.

Please, refer to linux/include/linux/pps.h for further info.

What:

/sys/class/pps/ppsX/name

Defined on file sysfs-pps

The /sys/class/pps/ppsX/name file reports the name of the X-th source.

What:

/sys/class/pps/ppsX/path

Defined on file sysfs-pps

The /sys/class/pps/ppsX/path file reports the path name of the device connected with the X-th source.

If the source is not connected with any device the content of this file is empty.

What:

/sys/class/ptp/

Defined on file sysfs-ptp

This directory contains files and directories providing a standardized interface to the ancillary features of PTP hardware clocks.

What:

/sys/class/ptp/ptpN/

Defined on file sysfs-ptp

This directory contains the attributes of the Nth PTP hardware clock registered into the PTP class driver subsystem.

What:

/sys/class/ptp/ptpN/clock_name

Defined on file sysfs-ptp

This file contains the name of the PTP hardware clock as a human readable string. The purpose of this attribute is to provide the user with a “friendly name” and to help distinguish PHY based devices from MAC based ones. The string does not necessarily have to be any kind of unique id.

What:

/sys/class/ptp/ptpN/extts_enable

Defined on file sysfs-ptp

This write-only file enables or disables external timestamps. To enable external timestamps, write the channel index followed by a “1” into the file. To disable external timestamps, write the channel index followed by a “0” into the file.

What:

/sys/class/ptp/ptpN/fifo

Defined on file sysfs-ptp

This file provides timestamps on external events, in the form of three integers: channel index, seconds, and nanoseconds.

What:

/sys/class/ptp/ptpN/max_adjustment

Defined on file sysfs-ptp

This file contains the PTP hardware clock’s maximum frequency adjustment value (a positive integer) in parts per billion.

What:

/sys/class/ptp/ptpN/n_alarms

Defined on file sysfs-ptp

This file contains the number of periodic or one shot alarms offer by the PTP hardware clock.

What:

/sys/class/ptp/ptpN/n_external_timestamps

Defined on file sysfs-ptp

This file contains the number of external timestamp channels offered by the PTP hardware clock.

What:

/sys/class/ptp/ptpN/n_periodic_outputs

Defined on file sysfs-ptp

This file contains the number of programmable periodic output channels offered by the PTP hardware clock.

What:

/sys/class/ptp/ptpN/n_pins

Defined on file sysfs-ptp

This file contains the number of programmable pins offered by the PTP hardware clock.

What:

/sys/class/ptp/ptpN/period

Defined on file sysfs-ptp

This write-only file enables or disables periodic outputs. To enable a periodic output, write five integers into the file: channel index, start time seconds, start time nanoseconds, period seconds, and period nanoseconds. To disable a periodic output, set all the seconds and nanoseconds values to zero.

What:

/sys/class/ptp/ptpN/pins

Defined on file sysfs-ptp

This directory contains one file for each programmable pin offered by the PTP hardware clock. The file name is the hardware dependent pin name. Reading from this file produces two numbers, the assigned function (see the PTP_PF_ enumeration values in linux/ptp_clock.h) and the channel number. The function and channel assignment may be changed by two writing numbers into the file.

What:

/sys/class/ptp/ptpN/pps_available

Defined on file sysfs-ptp

This file indicates whether the PTP hardware clock supports a Pulse Per Second to the host CPU. Reading “1” means that the PPS is supported, while “0” means not supported.

What:

/sys/class/ptp/ptpN/pps_enable

Defined on file sysfs-ptp

This write-only file enables or disables delivery of PPS events to the Linux PPS subsystem. To enable PPS events, write a “1” into the file. To disable events, write a “0” into the file.

What:

/sys/class/pwm/

Defined on file sysfs-class-pwm

The pwm/ class sub-directory belongs to the Generic PWM Framework and provides a sysfs interface for using PWM channels.

What:

/sys/class/pwm/pwmchipN/

Defined on file sysfs-class-pwm

A /sys/class/pwm/pwmchipN directory is created for each probed PWM controller/chip where N is the base of the PWM chip.

What:

/sys/class/pwm/pwmchipN/export

Defined on file sysfs-class-pwm

Exports a PWM channel from the PWM chip for sysfs control. Value is between 0 and /sys/class/pwm/pwmchipN/npwm - 1.

What:

/sys/class/pwm/pwmchipN/npwm

Defined on file sysfs-class-pwm

The number of PWM channels supported by the PWM chip.

What:

/sys/class/pwm/pwmchipN/pwmX

Defined on file sysfs-class-pwm

A /sys/class/pwm/pwmchipN/pwmX directory is created for each exported PWM channel where X is the exported PWM channel number.

What:

/sys/class/pwm/pwmchipN/pwmX/capture

Defined on file sysfs-class-pwm

Capture information about a PWM signal. The output format is a pair unsigned integers (period and duty cycle), separated by a single space.

What:

/sys/class/pwm/pwmchipN/pwmX/duty_cycle

Defined on file sysfs-class-pwm

Sets the PWM signal duty cycle in nanoseconds.

What:

/sys/class/pwm/pwmchipN/pwmX/enable

Defined on file sysfs-class-pwm

Enable/disable the PWM signal. 0 is disabled 1 is enabled

What:

/sys/class/pwm/pwmchipN/pwmX/period

Defined on file sysfs-class-pwm

Sets the PWM signal period in nanoseconds.

What:

/sys/class/pwm/pwmchipN/pwmX/polarity

Defined on file sysfs-class-pwm

Sets the output polarity of the PWM signal to “normal” or “inversed”.

What:

/sys/class/pwm/pwmchipN/unexport

Defined on file sysfs-class-pwm

Unexports a PWM channel.

What:

/sys/class/rapidio_port

Defined on file sysfs-class-rapidio

On-chip RapidIO controllers and PCIe-to-RapidIO bridges (referenced as “Master Port” or “mport”) are presented in sysfs as the special class of devices: “rapidio_port”. The /sys/class/rapidio_port subdirectory contains individual subdirectories named as “rapidioN” where N = mport ID registered with RapidIO subsystem. NOTE: An mport ID is not a RapidIO destination ID assigned to a given local mport device.

What:

/sys/class/rapidio_port/rapidioN/port_destid

Defined on file sysfs-class-rapidio

(RO) reports RapidIO destination ID assigned to the given RapidIO mport device. If value 0xFFFFFFFF is returned this means that no valid destination ID have been assigned to the mport (yet). Normally, before enumeration/discovery have been executed only fabric enumerating mports have a valid destination ID assigned to them using “hdid=…” rapidio module parameter.

After enumeration or discovery was performed for a given mport device, the corresponding subdirectory will also contain subdirectories for each child RapidIO device connected to the mport.

The example below shows mport device subdirectory with several child RapidIO devices attached to it.

[rio@rapidio ~]$ ls /sys/class/rapidio_port/rapidio0/ -l total 0 drwxr-xr-x 3 root root 0 Feb 11 15:10 00:e:0001 drwxr-xr-x 3 root root 0 Feb 11 15:10 00:e:0004 drwxr-xr-x 3 root root 0 Feb 11 15:10 00:e:0007 drwxr-xr-x 3 root root 0 Feb 11 15:10 00:s:0002 drwxr-xr-x 3 root root 0 Feb 11 15:10 00:s:0003 drwxr-xr-x 3 root root 0 Feb 11 15:10 00:s:0005 lrwxrwxrwx 1 root root 0 Feb 11 15:11 device -> ../../../0000:01:00.0 -r–r–r– 1 root root 4096 Feb 11 15:11 port_destid drwxr-xr-x 2 root root 0 Feb 11 15:11 power lrwxrwxrwx 1 root root 0 Feb 11 15:04 subsystem -> ../../../../../../class/rapidio_port -r–r–r– 1 root root 4096 Feb 11 15:11 sys_size -rw-r–r– 1 root root 4096 Feb 11 15:04 uevent

What:

/sys/class/rapidio_port/rapidioN/sys_size

Defined on file sysfs-class-rapidio

(RO) reports RapidIO common transport system size: 0 = small (8-bit destination ID, max. 256 devices), 1 = large (16-bit destination ID, max. 65536 devices).

What:

/sys/class/rc/

Defined on file sysfs-class-rc

The rc/ class sub-directory belongs to the Remote Controller core and provides a sysfs interface for configuring infrared remote controller receivers.

What:

/sys/class/rc/rcN/

Defined on file sysfs-class-rc

A /sys/class/rc/rcN directory is created for each remote control receiver device where N is the number of the receiver.

What:

/sys/class/rc/rcN/filter

Defined on file sysfs-class-rc

Sets the scancode filter expected value.

Use in combination with /sys/class/rc/rcN/filter_mask to set the expected value of the bits set in the filter mask. If the hardware supports it then scancodes which do not match the filter will be ignored. Otherwise the write will fail with an error.

This value may be reset to 0 if the current protocol is altered.

What:

/sys/class/rc/rcN/filter_mask

Defined on file sysfs-class-rc

Sets the scancode filter mask of bits to compare. Use in combination with /sys/class/rc/rcN/filter to set the bits of the scancode which should be compared against the expected value. A value of 0 disables the filter to allow all valid scancodes to be processed.

If the hardware supports it then scancodes which do not match the filter will be ignored. Otherwise the write will fail with an error.

This value may be reset to 0 if the current protocol is altered.

What:

/sys/class/rc/rcN/protocols

Defined on file sysfs-class-rc

Reading this file returns a list of available protocols, something like:

"rc5 [rc6] nec jvc [sony]"

Enabled protocols are shown in [] brackets.

Writing “+proto” will add a protocol to the list of enabled protocols.

Writing “-proto” will remove a protocol from the list of enabled protocols.

Writing “proto” will enable only “proto”.

Writing “none” will disable all protocols.

Write fails with EINVAL if an invalid protocol combination or unknown protocol name is used.

What:

/sys/class/rc/rcN/wakeup_data

Defined on file sysfs-class-rc-nuvoton

Reading this file returns the stored CIR wakeup sequence. It starts with a pulse, followed by a space, pulse etc. All values are in microseconds. The same format can be used to store a wakeup sequence in the Nuvoton chip by writing to this file.

Note: Some systems reset the stored wakeup sequence to a factory default on each boot. On such systems store the wakeup sequence in a file and set it on boot using e.g. a udev rule.

What:

/sys/class/rc/rcN/wakeup_filter

Defined on file sysfs-class-rc

Sets the scancode wakeup filter expected value.

Use in combination with /sys/class/rc/rcN/wakeup_filter_mask to set the expected value of the bits set in the wakeup filter mask to trigger a system wake event.

If the hardware supports it and wakeup_filter_mask is not 0 then scancodes which match the filter will wake the system from e.g. suspend to RAM or power off.

Otherwise the write will fail with an error.

This value may be reset to 0 if the wakeup protocol is altered.

What:

/sys/class/rc/rcN/wakeup_filter_mask

Defined on file sysfs-class-rc

Sets the scancode wakeup filter mask of bits to compare.

Use in combination with /sys/class/rc/rcN/wakeup_filter to set the bits of the scancode which should be compared against the expected value to trigger a system wake event.

If the hardware supports it and wakeup_filter_mask is not 0 then scancodes which match the filter will wake the system from e.g. suspend to RAM or power off.

Otherwise the write will fail with an error.

This value may be reset to 0 if the wakeup protocol is altered.

What:

/sys/class/rc/rcN/wakeup_protocols

Defined on file sysfs-class-rc

Reading this file returns a list of available protocols to use for the wakeup filter, something like:

"rc-5 nec nec-x rc-6-0 rc-6-6a-24 [rc-6-6a-32] rc-6-mce"

Note that protocol variants are listed, so “nec”, “sony”, “rc-5”, “rc-6” have their different bit length encodings listed if available.

The enabled wakeup protocol is shown in [] brackets.

Only one protocol can be selected at a time.

Writing “proto” will use “proto” for wakeup events.

Writing “none” will disable wakeup.

Write fails with EINVAL if an invalid protocol combination or unknown protocol name is used, or if wakeup is not supported by the hardware.

What:

/sys/class/regulator/…/bypass

Defined on file sysfs-class-regulator

Some regulator directories will contain a field called bypass. This indicates if the device is in bypass mode.

This will be one of the following strings:

‘enabled’ ‘disabled’ ‘unknown’

‘enabled’ means the regulator is in bypass mode.

‘disabled’ means that the regulator is regulating.

‘unknown’ means software cannot determine the state, or the reported state is invalid.

What:

/sys/class/regulator/…/max_microamps

Defined on file sysfs-class-regulator

Some regulator directories will contain a field called max_microamps. This holds the maximum safe working regulator output current limit setting for this domain measured in microamps, for regulators which support current constraints.

NOTE: this will return the string ‘constraint not defined’ if the power domain has no max microamps constraint defined by platform code.

What:

/sys/class/regulator/…/max_microvolts

Defined on file sysfs-class-regulator

Some regulator directories will contain a field called max_microvolts. This holds the maximum safe working regulator output voltage setting for this domain measured in microvolts, for regulators which support voltage constraints.

NOTE: this will return the string ‘constraint not defined’ if the power domain has no max microvolts constraint defined by platform code.

What:

/sys/class/regulator/…/microamps

Defined on file sysfs-class-regulator

Some regulator directories will contain a field called microamps. This holds the regulator output current limit setting measured in microamps (i.e. E-6 Amps), for regulators which can report the control input for a current limit.

NOTE: This value should not be used to determine the regulator output current level as this value is the same regardless of whether the regulator is enabled or disabled.

What:

/sys/class/regulator/…/microvolts

Defined on file sysfs-class-regulator

Some regulator directories will contain a field called microvolts. This holds the regulator output voltage setting measured in microvolts (i.e. E-6 Volts), for regulators which can report the control input for voltage.

NOTE: This value should not be used to determine the regulator output voltage level as this value is the same regardless of whether the regulator is enabled or disabled.

What:

/sys/class/regulator/…/min_microamps

Defined on file sysfs-class-regulator

Some regulator directories will contain a field called min_microamps. This holds the minimum safe working regulator output current limit setting for this domain measured in microamps, for regulators which support current constraints.

NOTE: this will return the string ‘constraint not defined’ if the power domain has no min microamps constraint defined by platform code.

What:

/sys/class/regulator/…/min_microvolts

Defined on file sysfs-class-regulator

Some regulator directories will contain a field called min_microvolts. This holds the minimum safe working regulator output voltage setting for this domain measured in microvolts, for regulators which support voltage constraints.

NOTE: this will return the string ‘constraint not defined’ if the power domain has no min microvolts constraint defined by platform code.

What:

/sys/class/regulator/…/name

Defined on file sysfs-class-regulator

Each regulator directory will contain a field called name. This holds a string identifying the regulator for display purposes.

NOTE: this will be empty if no suitable name is provided by platform or regulator drivers.

What:

/sys/class/regulator/…/num_users

Defined on file sysfs-class-regulator

Each regulator directory will contain a field called num_users. This holds the number of consumer devices that have called regulator_enable() on this regulator.

What:

/sys/class/regulator/…/opmode

Defined on file sysfs-class-regulator

Some regulator directories will contain a field called opmode. This holds the current regulator operating mode, for regulators which can report that control input value.

The opmode value can be one of the following strings:

‘fast’ ‘normal’ ‘idle’ ‘standby’ ‘unknown’

The modes are described in include/linux/regulator/consumer.h

NOTE: This value should not be used to determine the regulator output operating mode as this value is the same regardless of whether the regulator is enabled or disabled. A “status” attribute may be available to determine the actual mode.

What:

/sys/class/regulator/…/parent

Defined on file sysfs-class-regulator

Some regulator directories will contain a link called parent. This points to the parent or supply regulator if one exists.

What:

/sys/class/regulator/…/requested_microamps

Defined on file sysfs-class-regulator

Some regulator directories will contain a field called requested_microamps. This holds the total requested load current in microamps for this regulator from all its consumer devices.

What:

/sys/class/regulator/…/state

Defined on file sysfs-class-regulator

Some regulator directories will contain a field called state. This reports the regulator enable control, for regulators which can report that input value.

This will be one of the following strings:

‘enabled’ ‘disabled’ ‘unknown’

‘enabled’ means the regulator output is ON and is supplying power to the system (assuming no error prevents it).

‘disabled’ means the regulator output is OFF and is not supplying power to the system (unless some non-Linux control has enabled it).

‘unknown’ means software cannot determine the state, or the reported state is invalid.

NOTE: this field can be used in conjunction with microvolts or microamps to determine configured regulator output levels.

What:

/sys/class/regulator/…/status

Defined on file sysfs-class-regulator

Some regulator directories will contain a field called “status”. This reports the current regulator status, for regulators which can report that output value.

This will be one of the following strings:

off on error fast normal idle standby

“off” means the regulator is not supplying power to the system.

“on” means the regulator is supplying power to the system, and the regulator can’t report a detailed operation mode.

“error” indicates an out-of-regulation status such as being disabled due to thermal shutdown, or voltage being unstable because of problems with the input power supply.

“fast”, “normal”, “idle”, and “standby” are all detailed regulator operation modes (described elsewhere). They imply “on”, but provide more detail.

Note that regulator status is a function of many inputs, not limited to control inputs from Linux. For example, the actual load presented may trigger “error” status; or a regulator may be enabled by another user, even though Linux did not enable it.

What:

/sys/class/regulator/…/suspend_disk_microvolts

Defined on file sysfs-class-regulator

Some regulator directories will contain a field called suspend_disk_microvolts. This holds the regulator output voltage setting for this domain measured in microvolts when the system is suspended to disk, for voltage regulators implementing suspend voltage configuration constraints.

What:

/sys/class/regulator/…/suspend_disk_mode

Defined on file sysfs-class-regulator

Some regulator directories will contain a field called suspend_disk_mode. This holds the regulator operating mode setting for this domain when the system is suspended to disk, for regulators implementing suspend mode configuration constraints.

What:

/sys/class/regulator/…/suspend_disk_state

Defined on file sysfs-class-regulator

Some regulator directories will contain a field called suspend_disk_state. This holds the regulator operating state when suspended to disk, for regulators implementing suspend configuration constraints.

This will be one of the same strings reported by the “state” attribute.

What:

/sys/class/regulator/…/suspend_mem_microvolts

Defined on file sysfs-class-regulator

Some regulator directories will contain a field called suspend_mem_microvolts. This holds the regulator output voltage setting for this domain measured in microvolts when the system is suspended to memory, for voltage regulators implementing suspend voltage configuration constraints.

What:

/sys/class/regulator/…/suspend_mem_mode

Defined on file sysfs-class-regulator

Some regulator directories will contain a field called suspend_mem_mode. This holds the regulator operating mode setting for this domain when the system is suspended to memory, for regulators implementing suspend mode configuration constraints.

What:

/sys/class/regulator/…/suspend_mem_state

Defined on file sysfs-class-regulator

Some regulator directories will contain a field called suspend_mem_state. This holds the regulator operating state when suspended to memory, for regulators implementing suspend configuration constraints.

This will be one of the same strings reported by the “state” attribute.

What:

/sys/class/regulator/…/suspend_standby_microvolts

Defined on file sysfs-class-regulator

Some regulator directories will contain a field called suspend_standby_microvolts. This holds the regulator output voltage setting for this domain measured in microvolts when the system is suspended to standby, for voltage regulators implementing suspend voltage configuration constraints.

What:

/sys/class/regulator/…/suspend_standby_mode

Defined on file sysfs-class-regulator

Some regulator directories will contain a field called suspend_standby_mode. This holds the regulator operating mode setting for this domain when the system is suspended to standby, for regulators implementing suspend mode configuration constraints.

What:

/sys/class/regulator/…/suspend_standby_state

Defined on file sysfs-class-regulator

Some regulator directories will contain a field called suspend_standby_state. This holds the regulator operating state when suspended to standby, for regulators implementing suspend configuration constraints.

This will be one of the same strings reported by the “state” attribute.

What:

/sys/class/regulator/…/type

Defined on file sysfs-class-regulator

Each regulator directory will contain a field called type. This holds the regulator type.

This will be one of the following strings:

‘voltage’ ‘current’ ‘unknown’

‘voltage’ means the regulator output voltage can be controlled by software.

‘current’ means the regulator output current limit can be controlled by software.

‘unknown’ means software cannot control either voltage or current limit.

What:

/sys/class/remoteproc/…/firmware

Defined on file sysfs-class-remoteproc

Remote processor firmware

Reports the name of the firmware currently loaded to the remote processor.

To change the running firmware, ensure the remote processor is stopped (using /sys/class/remoteproc/…/state) and write a new filename.

What:

/sys/class/remoteproc/…/state

Defined on file sysfs-class-remoteproc

Remote processor state

Reports the state of the remote processor, which will be one of:

“offline” “suspended” “running” “crashed” “invalid”

“offline” means the remote processor is powered off.

“suspended” means that the remote processor is suspended and must be woken to receive messages.

“running” is the normal state of an available remote processor

“crashed” indicates that a problem/crash has been detected on the remote processor.

“invalid” is returned if the remote processor is in an unknown state.

Writing this file controls the state of the remote processor. The following states can be written:

“start” “stop”

Writing “start” will attempt to start the processor running the firmware indicated by, or written to, /sys/class/remoteproc/…/firmware. The remote processor should transition to “running” state.

Writing “stop” will attempt to halt the remote processor and return it to the “offline” state.

What:

/sys/class/rtc/

Defined on file sysfs-class-rtc

The rtc/ class subdirectory belongs to the RTC subsystem.

What:

/sys/class/rtc/rtc0/device/rtc_calibration

Defined on file sysfs-class-rtc-rtc0-device-rtc_calibration

Attribute for calibrating ST-Ericsson AB8500 Real Time Clock The rtc_calibration attribute allows the userspace to calibrate the AB8500.s 32KHz Real Time Clock. Every 60 seconds the AB8500 will correct the RTC’s value by adding to it the value of this attribute. The range of the attribute is -127 to +127 in units of 30.5 micro-seconds (half-parts-per-million of the 32KHz clock)

What:

/sys/class/rtc/rtcX/

Defined on file sysfs-class-rtc

The /sys/class/rtc/rtc{0,1,2,3,…} directories correspond to each RTC device.

What:

/sys/class/rtc/rtcX/date

Defined on file sysfs-class-rtc

(RO) RTC-provided date in YYYY-MM-DD format

What:

/sys/class/rtc/rtcX/hctosys

Defined on file sysfs-class-rtc

(RO) 1 if the RTC provided the system time at boot via the CONFIG_RTC_HCTOSYS kernel option, 0 otherwise

What:

/sys/class/rtc/rtcX/max_user_freq

Defined on file sysfs-class-rtc

(RW) The maximum interrupt rate an unprivileged user may request from this RTC.

What:

/sys/class/rtc/rtcX/name

Defined on file sysfs-class-rtc

(RO) The name of the RTC corresponding to this sysfs directory

What:

/sys/class/rtc/rtcX/offset

Defined on file sysfs-class-rtc

(RW) The amount which the rtc clock has been adjusted in firmware. Visible only if the driver supports clock offset adjustment. The unit is parts per billion, i.e. The number of clock ticks which are added to or removed from the rtc’s base clock per billion ticks. A positive value makes a day pass more slowly, longer, and a negative value makes a day pass more quickly.

What:

/sys/class/rtc/rtcX/range

Defined on file sysfs-class-rtc

Valid time range for the RTC, as seconds from epoch, formatted as [min, max]

What:

/sys/class/rtc/rtcX/since_epoch

Defined on file sysfs-class-rtc

(RO) RTC-provided time as the number of seconds since the epoch

What:

/sys/class/rtc/rtcX/time

Defined on file sysfs-class-rtc

(RO) RTC-provided time in 24-hour notation (hh:mm:ss)

What:

/sys/class/rtc/rtcX/wakealarm

Defined on file sysfs-class-rtc

(RW) The time at which the clock will generate a system wakeup event. This is a one shot wakeup event, so must be reset after wake if a daily wakeup is required. Format is seconds since the epoch by default, or if there’s a leading +, seconds in the future, or if there is a leading +=, seconds ahead of the current alarm.

What:

/sys/class/scsi_device/*/device/dyn_cap_needed

Defined on file sysfs-driver-ufs

This file shows the The amount of physical memory needed to be removed from the physical memory resources pool of the particular logical unit. The full information about the attribute could be found at UFS specifications 2.1. The file is read only.

What:

/sys/class/scsi_device/*/device/unit_descriptor/boot_lun_id

Defined on file sysfs-driver-ufs

This file shows boot LUN information. This is one of the UFS unit descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/class/scsi_device/*/device/unit_descriptor/context_capabilities

Defined on file sysfs-driver-ufs

This file shows the context capabilities. This is one of the UFS unit descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/class/scsi_device/*/device/unit_descriptor/data_reliability

Defined on file sysfs-driver-ufs

This file defines the device behavior when a power failure occurs during a write operation. This is one of the UFS unit descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/class/scsi_device/*/device/unit_descriptor/erase_block_size

Defined on file sysfs-driver-ufs

This file shows the erase block size. This is one of the UFS unit descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/class/scsi_device/*/device/unit_descriptor/large_unit_granularity

Defined on file sysfs-driver-ufs

This file shows the granularity of the LUN. This is one of the UFS unit descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/class/scsi_device/*/device/unit_descriptor/logical_block_count

Defined on file sysfs-driver-ufs

This file shows total number of addressable logical blocks. This is one of the UFS unit descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/class/scsi_device/*/device/unit_descriptor/logical_block_size

Defined on file sysfs-driver-ufs

This file shows the size of addressable logical blocks (calculated as an exponent with base 2). This is one of the UFS unit descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/class/scsi_device/*/device/unit_descriptor/lun_memory_type

Defined on file sysfs-driver-ufs

This file shows LUN memory type. This is one of the UFS unit descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/class/scsi_device/*/device/unit_descriptor/lun_queue_depth

Defined on file sysfs-driver-ufs

This file shows LUN queue depth. This is one of the UFS unit descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/class/scsi_device/*/device/unit_descriptor/lun_write_protect

Defined on file sysfs-driver-ufs

This file shows LUN write protection status. This is one of the UFS unit descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/class/scsi_device/*/device/unit_descriptor/physical_memory_resourse_count

Defined on file sysfs-driver-ufs

This file shows the total physical memory resources. This is one of the UFS unit descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/class/scsi_device/*/device/unit_descriptor/provisioning_type

Defined on file sysfs-driver-ufs

This file shows the thin provisioning type. This is one of the UFS unit descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/class/scsi_device/*/device/unit_descriptor/psa_sensitive

Defined on file sysfs-driver-ufs

This file shows PSA sensitivity. This is one of the UFS unit descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1. The file is read only.

What:

/sys/class/scsi_host/hostX/acciopath_status

Defined on file sysfs-class-scsi_host

This file contains the current status of the “SSD Smart Path” feature of HP Smart Array RAID controllers using the hpsa driver. SSD Smart Path, when enabled permits the driver to send i/o requests directly to physical devices that are part of a logical drive, bypassing the controllers firmware RAID stack for a performance advantage when possible. A value of ‘1’ indicates the feature is enabled, and the controller may use the direct i/o path to physical devices. A value of zero means the feature is disabled and the controller may not use the direct i/o path to physical devices. This setting is controller wide, affecting all configured logical drives on the controller. This file is readable and writable.

What:

/sys/class/scsi_host/hostX/ahci_host_version

Defined on file sysfs-class-scsi_host

(RO) Display the version of the AHCI spec implemented by the host.

What:

/sys/class/scsi_host/hostX/ahci_port_cmd

/sys/class/scsi_host/hostX/ahci_host_caps

/sys/class/scsi_host/hostX/ahci_host_cap2

Defined on file sysfs-class-scsi_host

[to be documented]

What:

/sys/class/scsi_host/hostX/em_buffer

Defined on file sysfs-class-scsi_host

(RW) Allows access to AHCI EM (enclosure management) buffer directly if the host supports EM.

For eg. the AHCI driver supports SGPIO EM messages but the SATA/AHCI specs do not define the SGPIO message format of the EM buffer. Different hardware(HW) vendors may have different definitions. With the em_buffer attribute, this issue can be solved by allowing HW vendors to provide userland drivers and tools for their SGPIO initiators.

What:

/sys/class/scsi_host/hostX/em_message

/sys/class/scsi_host/hostX/em_message_type

Defined on file sysfs-class-scsi_host

em_message: (RW) Enclosure management support. For the LED protocol, writes and reads correspond to the LED message format as defined in the AHCI spec.

The user must turn sw_activity (under /sys/block/*/device/) OFF it they wish to control the activity LED via the em_message file.

em_message_type: (RO) Displays the current enclosure management protocol that is being used by the driver (for eg. LED, SAF-TE, SES-2, SGPIO etc).

What:

/sys/class/scsi_host/hostX/em_message_supported

Defined on file sysfs-class-scsi_host

(RO) Displays supported enclosure management message types.

What:

/sys/class/scsi_host/hostX/isci_id

Defined on file sysfs-class-scsi_host

This file contains the enumerated host ID for the Intel SCU controller. The Intel(R) C600 Series Chipset SATA/SAS Storage Control Unit embeds up to two 4-port controllers in a single PCI device. The controllers are enumerated in order which usually means the lowest number scsi_host corresponds with the first controller, but this association is not guaranteed. The ‘isci_id’ attribute unambiguously identifies the controller index: ‘0’ for the first controller, ‘1’ for the second.

/sys/class/scsi_host/hostX/link_power_management_policy

Defined on file sysfs-class-scsi_host

(RW) This parameter allows the user to read and set the link (interface) power management.

There are four possible options:

min_power: Tell the controller to try to make the link use the least possible power when possible. This may sacrifice some performance due to increased latency when coming out of lower power states.

max_performance: Generally, this means no power management. Tell the controller to have performance be a priority over power management.

medium_power: Tell the controller to enter a lower power state when possible, but do not enter the lowest power state, thus improving latency over min_power setting.

med_power_with_dipm: Identical to the existing medium_power setting except that it enables dipm (device initiated power management) on top, which makes it match the Windows IRST (Intel Rapid Storage Technology) driver settings. This setting is also close to min_power, except that:

  1. It does not use host-initiated slumber mode, but it does allow device-initiated slumber

  2. It does not enable low power device sleep mode (DevSlp).

What:

/sys/class/scsi_tape/*/stats/in_flight

Defined on file sysfs-class-scsi_tape

Show the number of I/Os currently in-flight between the st module and the SCSI mid-layer.

What:

/sys/class/scsi_tape/*/stats/io_ns

Defined on file sysfs-class-scsi_tape

Shows the total amount of time spent waiting for all I/O to and from the tape drive to complete. This includes all reads, writes, and other SCSI commands issued to the tape drive. An example of other SCSI commands would be tape movement such as a rewind when a rewind tape device is closed. This item is measured in nanoseconds.

To determine the amount of time spent waiting for other I/O to complete subtract read_ns and write_ns from this value.

What:

/sys/class/scsi_tape/*/stats/other_cnt

Defined on file sysfs-class-scsi_tape

The number of I/O requests issued to the tape drive other than SCSI read/write requests.

What:

/sys/class/scsi_tape/*/stats/read_byte_cnt

Defined on file sysfs-class-scsi_tape

Shows the total number of bytes requested from the tape drive. This value is presented in bytes because tape drives support variable length block sizes.

What:

/sys/class/scsi_tape/*/stats/read_cnt

Defined on file sysfs-class-scsi_tape

Shows the total number of read requests issued to the tape drive.

What:

/sys/class/scsi_tape/*/stats/read_ns

Defined on file sysfs-class-scsi_tape

Shows the total amount of time in nanoseconds waiting for read I/O requests to complete.

What:

/sys/class/scsi_tape/*/stats/resid_cnt

Defined on file sysfs-class-scsi_tape

Shows the number of times we found that a residual >0 was found when the SCSI midlayer indicated that there was an error. For reads this may be a case of someone issuing reads greater than the block size.

What:

/sys/class/scsi_tape/*/stats/write_byte_cnt

Defined on file sysfs-class-scsi_tape

Shows the total number of bytes written to the tape drive. This value is presented in bytes because tape drives support variable length block sizes.

What:

/sys/class/scsi_tape/*/stats/write_cnt

Defined on file sysfs-class-scsi_tape

Shows the total number of write requests issued to the tape drive.

What:

/sys/class/scsi_tape/*/stats/write_ms

Defined on file sysfs-class-scsi_tape

Shows the total amount of time in nanoseconds waiting for write I/O requests to complete.

What:

/sys/class/stm/<stm>/channels

Defined on file sysfs-class-stm

Shows the number of channels per master on this STM device.

What:

/sys/class/stm/<stm>/hw_override

Defined on file sysfs-class-stm

Reads as 0 if master numbers in the STP stream produced by this stm device will match the master numbers assigned by the software or 1 if the stm hardware overrides software assigned masters.

What:

/sys/class/stm/<stm>/masters

Defined on file sysfs-class-stm

Shows first and last available to software master numbers on this STM device.

/sys/class/stm_source/<stm_source>/stm_source_link

Defined on file sysfs-class-stm_source

stm_source device linkage to stm device, where its tracing data is directed. Reads return an existing connection or “<none>” if this stm_source is not connected to any stm device yet. Write an existing (registered) stm device’s name here to connect that device. If a device is already connected to this stm_source, it will first be disconnected.

What:

/sys/class/switchtec

Defined on file sysfs-class-switchtec

The switchtec class subsystem folder. Each registered switchtec driver is represented by a switchtecX subfolder (X being an integer >= 0).

What:

/sys/class/switchtec/switchtec[0-9]+/component_id

Defined on file sysfs-class-switchtec

Component identifier as stored in the hardware (eg. PM8543) (read only) Values: arbitrary string.

What:

/sys/class/switchtec/switchtec[0-9]+/component_revision

Defined on file sysfs-class-switchtec

Component revision stored in the hardware (read only) Values: integer.

What:

/sys/class/switchtec/switchtec[0-9]+/component_vendor

Defined on file sysfs-class-switchtec

Component vendor as stored in the hardware (eg. MICROSEM) (read only) Values: arbitrary string.

What:

/sys/class/switchtec/switchtec[0-9]+/device_version

Defined on file sysfs-class-switchtec

Device version as stored in the hardware (read only) Values: integer.

What:

/sys/class/switchtec/switchtec[0-9]+/fw_version

Defined on file sysfs-class-switchtec

Currently running firmware version (read only) Values: integer (in hexadecimal).

What:

/sys/class/switchtec/switchtec[0-9]+/partition

Defined on file sysfs-class-switchtec

Partition number for this device in the switch (read only) Values: integer.

What:

/sys/class/switchtec/switchtec[0-9]+/partition_count

Defined on file sysfs-class-switchtec

Total number of partitions in the switch (read only) Values: integer.

What:

/sys/class/switchtec/switchtec[0-9]+/product_id

Defined on file sysfs-class-switchtec

Product identifier as stored in the hardware (eg. PSX 48XG3) (read only) Values: arbitrary string.

What:

/sys/class/switchtec/switchtec[0-9]+/product_revision

Defined on file sysfs-class-switchtec

Product revision stored in the hardware (eg. RevB) (read only) Values: arbitrary string.

What:

/sys/class/switchtec/switchtec[0-9]+/product_vendor

Defined on file sysfs-class-switchtec

Product vendor as stored in the hardware (eg. MICROSEM) (read only) Values: arbitrary string.

What:

/sys/class/tpm/tpmX/ppi/

Defined on file sysfs-driver-ppi

This folder includes the attributes related with PPI (Physical Presence Interface). Only if TPM is supported by BIOS, this folder makes sense. The folder path can be got by command ‘find /sys/ -name ‘pcrs’‘. For the detail information of PPI, please refer to the PPI specification from

http://www.trustedcomputinggroup.org/

In Linux 4.2 ppi was moved to the character device directory. A symlink from tpmX/device/ppi to tpmX/ppi to provide backwards compatibility.

What:

/sys/class/tpm/tpmX/ppi/request

Defined on file sysfs-driver-ppi

This attribute shows the request for an operation to be executed in the pre-OS environment. It is the only input from the OS to the pre-OS environment. The request should be an integer value range from 1 to 160, and 0 means no request. This file can be read and written.

What:

/sys/class/tpm/tpmX/ppi/response

Defined on file sysfs-driver-ppi

This attribute shows the response to the most recent operation request it acted upon. The format is “<request> <response num> : <response description>”. This file is readonly.

What:

/sys/class/tpm/tpmX/ppi/tcg_operations

Defined on file sysfs-driver-ppi

This attribute shows whether it is allowed to request an operation to be executed in the pre-OS environment by the BIOS for the requests defined by TCG, i.e. requests from 1 to 22. The format is “<request> <status num>: <status description>”. This attribute is only supported by PPI version 1.2+. This file is readonly.

What:

/sys/class/tpm/tpmX/ppi/transition_action

Defined on file sysfs-driver-ppi

This attribute shows the platform-specific action that should take place in order to transition to the BIOS for execution of a requested operation. The format is “<action num>: <action description>”. This file is readonly.

What:

/sys/class/tpm/tpmX/ppi/version

Defined on file sysfs-driver-ppi

This attribute shows the version of the PPI supported by the platform. This file is readonly.

What:

/sys/class/tpm/tpmX/ppi/vs_operations

Defined on file sysfs-driver-ppi

This attribute shows whether it is allowed to request an operation to be executed in the pre-OS environment by the BIOS for the verdor specific requests, i.e. requests from 128 to 255. The format is same with tcg_operations. This attribute is also only supported by PPI version 1.2+. This file is readonly.

What:

/sys/class/tty/console/active

Defined on file sysfs-tty

Shows the list of currently configured console devices, like ‘tty1 ttyS0’. The last entry in the file is the active device connected to /dev/console. The file supports poll() to detect virtual console switches.

What:

/sys/class/tty/tty0/active

Defined on file sysfs-tty

Shows the currently active virtual console device, like ‘tty1’. The file supports poll() to detect virtual console switches.

What:

/sys/class/tty/ttyS0/close_delay

Defined on file sysfs-tty

Show the closing delay time for this port in ms.

These sysfs values expose the TIOCGSERIAL interface via sysfs rather than via ioctls.

What:

/sys/class/tty/ttyS0/closing_wait

Defined on file sysfs-tty

Show the close wait time for this port in ms.

These sysfs values expose the TIOCGSERIAL interface via sysfs rather than via ioctls.

What:

/sys/class/tty/ttyS0/custom_divisor

Defined on file sysfs-tty

Show the custom divisor if any that is set on this port.

These sysfs values expose the TIOCGSERIAL interface via sysfs rather than via ioctls.

What:

/sys/class/tty/ttyS0/flags

Defined on file sysfs-tty

Show the tty port status flags for this port.

These sysfs values expose the TIOCGSERIAL interface via sysfs rather than via ioctls.

What:

/sys/class/tty/ttyS0/io_type

Defined on file sysfs-tty

Show the I/O type that is to be used with the iomem base address.

These sysfs values expose the TIOCGSERIAL interface via sysfs rather than via ioctls.

What:

/sys/class/tty/ttyS0/iomem_base

Defined on file sysfs-tty

The I/O memory base for this port.

These sysfs values expose the TIOCGSERIAL interface via sysfs rather than via ioctls.

What:

/sys/class/tty/ttyS0/iomem_reg_shift

Defined on file sysfs-tty

Show the register shift indicating the spacing to be used for accesses on this iomem address.

These sysfs values expose the TIOCGSERIAL interface via sysfs rather than via ioctls.

What:

/sys/class/tty/ttyS0/irq

Defined on file sysfs-tty

Shows the current primary interrupt for this port.

These sysfs values expose the TIOCGSERIAL interface via sysfs rather than via ioctls.

What:

/sys/class/tty/ttyS0/line

Defined on file sysfs-tty

Shows the current tty line number for this port.

These sysfs values expose the TIOCGSERIAL interface via sysfs rather than via ioctls.

What:

/sys/class/tty/ttyS0/port

Defined on file sysfs-tty

Shows the current tty port I/O address for this port.

These sysfs values expose the TIOCGSERIAL interface via sysfs rather than via ioctls.

What:

/sys/class/tty/ttyS0/rx_trig_bytes

Defined on file sysfs-tty

Shows current RX interrupt trigger bytes or sets the user specified value to change it for the FIFO buffer. Users can show or set this value regardless of opening the serial device file or not.

The RX trigger can be set one of four kinds of values for UART serials. When users input a meaning less value to this I/F, the RX trigger is changed to the nearest lower value for the device specification. For example, when user sets 7bytes on 16550A, which has 1/4/8/14 bytes trigger, the RX trigger is automatically changed to 4 bytes.

What:

/sys/class/tty/ttyS0/type

Defined on file sysfs-tty

Shows the current tty type for this port.

These sysfs values expose the TIOCGSERIAL interface via sysfs rather than via ioctls.

What:

/sys/class/tty/ttyS0/uartclk

Defined on file sysfs-tty

Shows the current uartclk value associated with the UART port in serial_core, that is bound to TTY like ttyS0. uartclk = 16 * baud_base

These sysfs values expose the TIOCGSERIAL interface via sysfs rather than via ioctls.

What:

/sys/class/tty/ttyS0/xmit_fifo_size

Defined on file sysfs-tty

Show the transmit FIFO size for this port.

These sysfs values expose the TIOCGSERIAL interface via sysfs rather than via ioctls.

What:

/sys/class/typec/<port>-cable/identity/

Defined on file sysfs-class-typec

This directory appears only if the port device driver is capable of showing the result of Discover Identity USB power delivery command. That will not always be possible even when USB power delivery is supported. If the directory exists, it will have an attribute for every VDO returned by Discover Identity command.

What:

/sys/class/typec/<port>-cable/identity/cert_stat

Defined on file sysfs-class-typec

Cert Stat VDO part of Discover Identity command result. The value will show 0 until Discover Identity command result becomes available. The value can be polled.

What:

/sys/class/typec/<port>-cable/identity/id_header

Defined on file sysfs-class-typec

ID Header VDO part of Discover Identity command result. The value will show 0 until Discover Identity command result becomes available. The value can be polled.

What:

/sys/class/typec/<port>-cable/identity/product

Defined on file sysfs-class-typec

Product VDO part of Discover Identity command result. The value will show 0 until Discover Identity command result becomes available. The value can be polled.

USB Type-C port alternate mode devices.

What:

/sys/class/typec/<port>-cable/plug_type

Defined on file sysfs-class-typec

Shows type of the plug on the cable:

  • type-a - Standard A

  • type-b - Standard B

  • type-c

  • captive

What:

/sys/class/typec/<port>-cable/type

Defined on file sysfs-class-typec

Shows if the cable is active. Valid values: active, passive

What:

/sys/class/typec/<port>-partner/accessory_mode

Defined on file sysfs-class-typec

Shows the Accessory Mode name when the partner is an Accessory. The Accessory Modes are defined in USB Type-C Specification.

What:

/sys/class/typec/<port>-partner/identity/cert_stat

Defined on file sysfs-class-typec

Cert Stat VDO part of Discover Identity command result. The value will show 0 until Discover Identity command result becomes available. The value can be polled.

What:

/sys/class/typec/<port>-partner/identity/id_header

Defined on file sysfs-class-typec

ID Header VDO part of Discover Identity command result. The value will show 0 until Discover Identity command result becomes available. The value can be polled.

What:

/sys/class/typec/<port>-partner/identity/product

Defined on file sysfs-class-typec

Product VDO part of Discover Identity command result. The value will show 0 until Discover Identity command result becomes available. The value can be polled.

USB Type-C cable devices (eg. /sys/class/typec/port0-cable/)

Note: Electronically Marked Cables will have a device also for one cable plug (eg. /sys/class/typec/port0-plug0). If the cable is active and has also SOP Double Prime controller (USB Power Deliver specification ch. 2.4) it will have second device also for the other plug. Both plugs may have alternate modes as described in USB Type-C and USB Power Delivery specifications.

What:

/sys/class/typec/<port>-partner/supports_usb_power_delivery

Defined on file sysfs-class-typec

Shows if the partner supports USB Power Delivery communication: Valid values: yes, no

What:

/sys/class/typec/<port>-partner>/identity/

Defined on file sysfs-class-typec

This directory appears only if the port device driver is capable of showing the result of Discover Identity USB power delivery command. That will not always be possible even when USB power delivery is supported, for example when USB power delivery communication for the port is mostly handled in firmware. If the directory exists, it will have an attribute file for every VDO in Discover Identity command result.

What:

/sys/class/typec/<port>/<alt mode>/supported_roles

Defined on file sysfs-class-typec

Space separated list of the supported roles.

Valid values: source, sink

What:

/sys/class/typec/<port>/data_role

Defined on file sysfs-class-typec

The supported USB data roles. This attribute can be used for requesting data role swapping on the port. Swapping is supported as synchronous operation, so write(2) to the attribute will not return until the operation has finished. The attribute is notified about role changes so that poll(2) on the attribute wakes up. Change on the role will also generate uevent KOBJ_CHANGE on the port. The current role is show in brackets, for example “[host] device” when DRP port is in host mode.

Valid values: host, device

What:

/sys/class/typec/<port>/port_type

Defined on file sysfs-class-typec

Indicates the type of the port. This attribute can be used for requesting a change in the port type. Port type change is supported as a synchronous operation, so write(2) to the attribute will not return until the operation has finished.

Valid values:

source

(The port will behave as source only DFP port)

sink

(The port will behave as sink only UFP port)

dual

(The port will behave as dual-role-data and dual-role-power port)

What:

/sys/class/typec/<port>/power_operation_mode

Defined on file sysfs-class-typec

Shows the current power operational mode the port is in. The power operation mode means current level for VBUS. In case USB Power Delivery communication is used for negotiating the levels, power operation mode should show “usb_power_delivery”.

Valid values:

  • default

  • 1.5A

  • 3.0A

  • usb_power_delivery

What:

/sys/class/typec/<port>/power_role

Defined on file sysfs-class-typec

The supported power roles. This attribute can be used to request power role swap on the port when the port supports USB Power Delivery. Swapping is supported as synchronous operation, so write(2) to the attribute will not return until the operation has finished. The attribute is notified about role changes so that poll(2) on the attribute wakes up. Change on the role will also generate uevent KOBJ_CHANGE. The current role is show in brackets, for example “[source] sink” when in source mode.

Valid values: source, sink

What:

/sys/class/typec/<port>/preferred_role

Defined on file sysfs-class-typec

The user space can notify the driver about the preferred role. It should be handled as enabling of Try.SRC or Try.SNK, as defined in USB Type-C specification, in the port drivers. By default the preferred role should come from the platform.

Valid values: source, sink, none (to remove preference)

What:

/sys/class/typec/<port>/supported_accessory_modes

Defined on file sysfs-class-typec

Space separated list of accessory modes, defined in the USB Type-C specification, the port supports.

What:

/sys/class/typec/<port>/usb_power_delivery_revision

Defined on file sysfs-class-typec

Revision number of the supported USB Power Delivery specification, or 0 when USB Power Delivery is not supported.

What:

/sys/class/typec/<port>/usb_typec_revision

Defined on file sysfs-class-typec

Revision number of the supported USB Type-C specification.

USB Type-C partner devices (eg. /sys/class/typec/port0-partner/)

What:

/sys/class/typec/<port>/vconn_source

Defined on file sysfs-class-typec

Shows is the port VCONN Source. This attribute can be used to request VCONN swap to change the VCONN Source during connection when both the port and the partner support USB Power Delivery. Swapping is supported as synchronous operation, so write(2) to the attribute will not return until the operation has finished. The attribute is notified about VCONN source changes so that poll(2) on the attribute wakes up. Change on VCONN source also generates uevent KOBJ_CHANGE.

Valid values:

  • “no” when the port is not the VCONN Source

  • “yes” when the port is the VCONN Source

What:

/sys/class/udc/udc.name/device/gadget/video4linux/video.name/function_name

Defined on file configfs-usb-gadget-uvc

UVC configfs function instance name

What:

/sys/class/usb_role/

Defined on file sysfs-class-usb_role

Place in sysfs for USB Role Switches. USB Role Switch is a device that can select the data role (host or device) for USB port.

What:

/sys/class/usb_role/<switch>/role

Defined on file sysfs-class-usb_role

The current role of the switch. This attribute can be used for requesting role swapping with non-USB Type-C ports. With USB Type-C ports, the ABI defined for USB Type-C connector class must be used.

Valid values: - none - host - device

What:

/sys/class/uwb_rc

Defined on file sysfs-class-uwb_rc

Interfaces for WiMedia Ultra Wideband Common Radio Platform (UWB) radio controllers.

Familiarity with the ECMA-368 ‘High Rate Ultra Wideband MAC and PHY Specification’ is assumed.

What:

/sys/class/uwb_rc/beacon_timeout_ms

Defined on file sysfs-class-uwb_rc

If no beacons are received from a device for at least this time, the device will be considered to have gone and it will be removed. The default is 3 superframes (~197 ms) as required by the specification.

What:

/sys/class/uwb_rc/uwbN/

Defined on file sysfs-class-uwb_rc

An individual UWB radio controller.

What:

/sys/class/uwb_rc/uwbN/<EUI-48>/

Defined on file sysfs-class-uwb_rc

A neighbour UWB device that has either been detected as part of a scan or is a member of the radio controllers beacon group.

What:

/sys/class/uwb_rc/uwbN/<EUI-48>/BPST

Defined on file sysfs-class-uwb_rc

The time (using the radio controllers internal 1 ms interval superframe timer) of the last beacon from this device was received.

What:

/sys/class/uwb_rc/uwbN/<EUI-48>/DevAddr

Defined on file sysfs-class-uwb_rc

The current DevAddr of this device in colon separated hex octets.

What:

/sys/class/uwb_rc/uwbN/<EUI-48>/EUI_48

Defined on file sysfs-class-uwb_rc

The EUI-48 of this device in colon separated hex octets.

What:

/sys/class/uwb_rc/uwbN/<EUI-48>/IEs

Defined on file sysfs-class-uwb_rc

The latest IEs included in this device’s beacon, in space separated hex octets with one IE per line.

What:

/sys/class/uwb_rc/uwbN/<EUI-48>/LQE

Defined on file sysfs-class-uwb_rc

Link Quality Estimate - the Signal to Noise Ratio (SNR) of all packets received from this device in dB. This gives an estimate on a suitable PHY rate. Refer to [ECMA-368] section 13.3 for more details.

What:

/sys/class/uwb_rc/uwbN/<EUI-48>/RSSI

Defined on file sysfs-class-uwb_rc

Received Signal Strength Indication - the strength of the received signal in dB. LQE is a more useful measure of the radio link quality.

What:

/sys/class/uwb_rc/uwbN/ASIE

Defined on file sysfs-class-uwb_rc

The application-specific information element (ASIE) included in this device’s beacon, in space separated hex octets.

Reading returns the current ASIE. Writing replaces the current ASIE with the one written.

What:

/sys/class/uwb_rc/uwbN/beacon

Defined on file sysfs-class-uwb_rc

Write:

<channel>

to force a specific channel to be used when beaconing, or, if <channel> is -1, to prohibit beaconing. If <channel> is 0, then the default channel selection algorithm will be used. Valid channels depends on the radio controller’s supported band groups.

Reading returns the currently active channel, or -1 if the radio controller is not beaconing.

What:

/sys/class/uwb_rc/uwbN/mac_address

Defined on file sysfs-class-uwb_rc

The EUI-48, in colon-separated hex octets, for this radio controller. A write will change the radio controller’s EUI-48 but only do so while the device is not beaconing or scanning.

What:

/sys/class/uwb_rc/uwbN/scan

Defined on file sysfs-class-uwb_rc

Write:

<channel> <type> [<bpst offset>]

to start (or stop) scanning on a channel. <type> is one of:

0 - scan 1 - scan outside BP 2 - scan while inactive 3 - scanning disabled 4 - scan (with start time of <bpst offset>)

What:

/sys/class/uwb_rc/uwbN/wusbhc

Defined on file sysfs-class-uwb_rc

A symlink to the device (if any) of the WUSB Host Controller PAL using this radio controller.

What:

/sys/class/uwb_rc/uwbN/wusbhc/wusb_chid

Defined on file sysfs-class-uwb_rc-wusbhc

Write the CHID (16 space-separated hex octets) for this host controller. This starts the host controller, allowing it to accept connection from WUSB devices.

Set an all zero CHID to stop the host controller.

What:

/sys/class/uwb_rc/uwbN/wusbhc/wusb_dnts

Defined on file sysfs-class-uwb_rc-wusbhc

The device notification time slot (DNTS) count and inverval in milliseconds that the WUSB host should use. This controls how often the devices will have the opportunity to send notifications to the host.

What:

/sys/class/uwb_rc/uwbN/wusbhc/wusb_phy_rate

Defined on file sysfs-class-uwb_rc-wusbhc

The maximum PHY rate to use for all connected devices. This is only of limited use for testing and development as the hardware’s automatic rate adaptation is better then this simple control.

Refer to [ECMA-368] section 10.3.1.1 for the value to use.

What:

/sys/class/uwb_rc/uwbN/wusbhc/wusb_retry_count

Defined on file sysfs-class-uwb_rc-wusbhc

The number of retries that the WUSB host should attempt before reporting an error for a bus transaction. The range of valid values is [0..15], where 0 indicates infinite retries.

What:

/sys/class/uwb_rc/uwbN/wusbhc/wusb_trust_timeout

Defined on file sysfs-class-uwb_rc-wusbhc

Devices that haven’t sent a WUSB packet to the host within ‘wusb_trust_timeout’ ms are considered to have disconnected and are removed. The default value of 4000 ms is the value required by the WUSB specification.

Since this relates to security (specifically, the lifetime of PTKs and GTKs) it should not be changed from the default.

What:

/sys/class/watchdog/watchdogn/bootstatus

Defined on file sysfs-class-watchdog

It is a read only file. It contains status of the watchdog device at boot. It is equivalent to WDIOC_GETBOOTSTATUS of ioctl interface.

What:

/sys/class/watchdog/watchdogn/identity

Defined on file sysfs-class-watchdog

It is a read only file. It contains identity string of watchdog device.

What:

/sys/class/watchdog/watchdogn/nowayout

Defined on file sysfs-class-watchdog

It is a read only file. While reading, it gives ‘1’ if that device supports nowayout feature else, it gives ‘0’.

What:

/sys/class/watchdog/watchdogn/pretimeout

Defined on file sysfs-class-watchdog

It is a read only file. It specifies the time in seconds before timeout when the pretimeout interrupt is delivered. Pretimeout is an optional feature.

What:

/sys/class/watchdog/watchdogn/pretimeout_avaialable_governors

Defined on file sysfs-class-watchdog

It is a read only file. It shows the pretimeout governors available for this watchdog.

What:

/sys/class/watchdog/watchdogn/pretimeout_governor

Defined on file sysfs-class-watchdog

It is a read/write file. When read, the currently assigned pretimeout governor is returned. When written, it sets the pretimeout governor.

What:

/sys/class/watchdog/watchdogn/state

Defined on file sysfs-class-watchdog

It is a read only file. It gives active/inactive status of watchdog device.

What:

/sys/class/watchdog/watchdogn/status

Defined on file sysfs-class-watchdog

It is a read only file. It contains watchdog device’s internal status bits. It is equivalent to WDIOC_GETSTATUS of ioctl interface.

What:

/sys/class/watchdog/watchdogn/timeleft

Defined on file sysfs-class-watchdog

It is a read only file. It contains value of time left for reset generation. It is equivalent to WDIOC_GETTIMELEFT of ioctl interface.

What:

/sys/class/watchdog/watchdogn/timeout

Defined on file sysfs-class-watchdog

It is a read only file. It is read to know about current value of timeout programmed.

What:

/sys/class/zram-control/

Defined on file sysfs-class-zram

The zram-control/ class sub-directory belongs to zram device class

What:

/sys/class/zram-control/hot_add

Defined on file sysfs-class-zram

RO attribute. Read operation will cause zram to add a new device and return its device id back to user (so one can use /dev/zram<id>), or error code.

What:

/sys/class/zram-control/hot_remove

Defined on file sysfs-class-zram

WO attribute. Remove a specific /dev/zramX device, where X is a device_id provided by user.

What:

/sys/dev

Defined on file sysfs-dev

The /sys/dev tree provides a method to look up the sysfs path for a device using the information returned from stat(2). There are two directories, ‘block’ and ‘char’, beneath /sys/dev containing symbolic links with names of the form “<major>:<minor>”. These links point to the corresponding sysfs path for the given device.

Example: $ readlink /sys/dev/block/8:32 ../../block/sdc

Entries in /sys/dev/char and /sys/dev/block will be dynamically created and destroyed as devices enter and leave the system.

What:

/sys/devices

Defined on file sysfs-devices

The /sys/devices tree contains a snapshot of the internal state of the kernel device tree. Devices will be added and removed dynamically as the machine runs, and between different kernel versions, the layout of the devices within this tree will change.

Please do not rely on the format of this tree because of this. If a program wishes to find different things in the tree, please use the /sys/class structure and rely on the symlinks there to point to the proper location within the /sys/devices tree of the individual devices. Or rely on the uevent messages to notify programs of devices being added and removed from this tree to find the location of those devices.

Note that sometimes not all devices along the directory chain will have emitted uevent messages, so userspace programs must be able to handle such occurrences.

What:

/sys/devices/*/<our-device>/fuse

Defined on file sysfs-driver-tegra-fuse

read-only access to the efuses on Tegra20, Tegra30, Tegra114 and Tegra124 SoC’s from NVIDIA. The efuses contain write once data programmed at the factory. The data is layed out in 32bit words in LSB first format. Each bit represents a single value as decoded from the fuse registers. Bits order/assignment exactly matches the HW registers, including any unused bits.

What:

/sys/devices/…/coredump

Defined on file sysfs-devices-coredump

The /sys/devices/…/coredump attribute is only present when the device is bound to a driver, which provides the .coredump() callback. The attribute is write only. Anything written to this file will trigger the .coredump() callback.

Available when CONFIG_DEV_COREDUMP is enabled.

What:

/sys/devices/…/firmware_node/

Defined on file sysfs-devices-firmware_node

The /sys/devices/…/firmware_node directory contains attributes allowing the user space to check and modify some firmware related properties of given device.

What:

/sys/devices/…/firmware_node/description

Defined on file sysfs-devices-firmware_node

The /sys/devices/…/firmware/description attribute contains a string that describes the device as provided by the _STR method in the ACPI namespace. This attribute is read-only. If the device does not have an _STR method associated with it in the ACPI namespace, this attribute is not present.

What:

/sys/devices/…/iommu

Defined on file sysfs-class-iommu

IOMMU drivers are able to link the IOMMU for a given device here to allow association of device to IOMMU.

What:

/sys/devices/…/lpss_ltr/

Defined on file sysfs-devices-lpss_ltr

The /sys/devices/…/lpss_ltr/ directory is only present for devices included into the Intel Lynxpoint Low Power Subsystem (LPSS). If present, it contains attributes containing the LTR mode and the values of LTR registers of the device.

What:

/sys/devices/…/lpss_ltr/auto_ltr

Defined on file sysfs-devices-lpss_ltr

The /sys/devices/…/lpss_ltr/auto_ltr attribute contains the current value of the device’s AUTO_LTR register (raw) represented as an 8-digit hexadecimal number.

This attribute is read-only. If the device’s runtime PM status is not “active”, attempts to read from this attribute cause -EAGAIN to be returned.

What:

/sys/devices/…/lpss_ltr/ltr_mode

Defined on file sysfs-devices-lpss_ltr

The /sys/devices/…/lpss_ltr/ltr_mode attribute contains an integer number (0 or 1) indicating whether or not the devices’ LTR functionality is working in the software mode (1).

This attribute is read-only. If the device’s runtime PM status is not “active”, attempts to read from this attribute cause -EAGAIN to be returned.

What:

/sys/devices/…/lpss_ltr/sw_ltr

Defined on file sysfs-devices-lpss_ltr

The /sys/devices/…/lpss_ltr/auto_ltr attribute contains the current value of the device’s SW_LTR register (raw) represented as an 8-digit hexadecimal number.

This attribute is read-only. If the device’s runtime PM status is not “active”, attempts to read from this attribute cause -EAGAIN to be returned.

What:

/sys/devices/…/mmc_host/mmcX/mmcX:XXXX/enhanced_area_offset

Defined on file sysfs-devices-mmc

Enhanced area is a new feature defined in eMMC4.4 standard. eMMC4.4 or later card can support such feature. This kind of area can help to improve the card performance. If the feature is enabled, this attribute will indicate the start address of enhanced data area. If not, this attribute will be -EINVAL. Unit Byte. Format decimal.

What:

/sys/devices/…/mmc_host/mmcX/mmcX:XXXX/enhanced_area_size

Defined on file sysfs-devices-mmc

Enhanced area is a new feature defined in eMMC4.4 standard. eMMC4.4 or later card can support such feature. This kind of area can help to improve the card performance. If the feature is enabled, this attribute will indicate the size of enhanced data area. If not, this attribute will be -EINVAL. Unit KByte. Format decimal.

What:

/sys/devices/…/online

Defined on file sysfs-devices-online

The /sys/devices/…/online attribute is only present for devices whose bus types provide .online() and .offline() callbacks. The number read from it (0 or 1) reflects the value of the device’s ‘offline’ field. If that number is 1 and ‘0’ (or ‘n’, or ‘N’) is written to this file, the device bus type’s .offline() callback is executed for the device and (if successful) its ‘offline’ field is updated accordingly. In turn, if that number is 0 and ‘1’ (or ‘y’, or ‘Y’) is written to this file, the device bus type’s .online() callback is executed for the device and (if successful) its ‘offline’ field is updated as appropriate.

After a successful execution of the bus type’s .offline() callback the device cannot be used for any purpose until either it is removed (i.e. device_del() is called for it), or its bus type’s .online() is exeucted successfully.

What:

/sys/devices/…/power/

Defined on file sysfs-devices-power

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/async

Defined on file sysfs-devices-power

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:

  • “enabledn” to permit the asynchronous suspend/resume;

  • “disabledn” 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/autosuspend_delay_ms

Defined on file sysfs-devices-power

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/control

Defined on file sysfs-devices-power

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:

  • “auton” to allow the device to be power managed at run time;

  • “onn” 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/pm_qos_latency_tolerance_us

Defined on file sysfs-devices-power

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

Defined on file sysfs-devices-power

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/pm_qos_resume_latency_us

Defined on file sysfs-devices-power

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/wakeup

Defined on file sysfs-devices-power

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:

  • “enabledn” to issue the events;

  • “disabledn” 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/wakeup_abort_count

Defined on file sysfs-devices-power

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_active

Defined on file sysfs-devices-power

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_active_count

Defined on file sysfs-devices-power

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_count

Defined on file sysfs-devices-power

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_expire_count

Defined on file sysfs-devices-power

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_last_time_ms

Defined on file sysfs-devices-power

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_max_time_ms

Defined on file sysfs-devices-power

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_prevent_sleep_time_ms

Defined on file sysfs-devices-power

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/wakeup_total_time_ms

Defined on file sysfs-devices-power

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_resources_D0/

Defined on file sysfs-devices-power_resources_D0

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.

What:

/sys/devices/…/power_resources_D1/

Defined on file sysfs-devices-power_resources_D1

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.

What:

/sys/devices/…/power_resources_D2/

Defined on file sysfs-devices-power_resources_D2

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.

What:

/sys/devices/…/power_resources_D3hot/

Defined on file sysfs-devices-power_resources_D3hot

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.

What:

/sys/devices/…/power_resources_wakeup/

Defined on file sysfs-devices-power_resources_wakeup

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.

What:

/sys/devices/…/power_state

Defined on file sysfs-devices-power_state

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.

What:

/sys/devices/…/real_power_state

Defined on file sysfs-devices-real_power_state

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.

What:

/sys/devices/…/resource_in_use

Defined on file sysfs-devices-resource_in_use

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.

What:

/sys/devices/…/software_node/

Defined on file sysfs-devices-software_node

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.

What:

/sys/devices/…/sun

Defined on file sysfs-devices-sun

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.

What:

/sys/devices/../../gisb_arb_timeout

Defined on file sysfs-platform-brcmstb-gisb-arb

Returns the currently configured raw timeout value of the Broadcom Set Top Box internal GISB bus arbiter. Minimum value is 1, and maximum value is 0xffffffff.

What:

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS620A:00/protection_level

Defined on file sysfs-driver-toshiba_haps

This file controls the built-in accelerometer protection level, valid values are:

  • 0 -> Disabled

  • 1 -> Low

  • 2 -> Medium

  • 3 -> High

The default potection value is set to 2 (Medium).

What:

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS620A:00/reset_protection

Defined on file sysfs-driver-toshiba_haps

This file turns off the built-in accelerometer for a few seconds and then restore normal operation. Accepting 1 as the only parameter.

What:

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900

620{0

7

8}}:00/available_kbd_modes

Defined on file sysfs-driver-toshiba_acpi

This file shows the supported keyboard backlight modes the system supports, which can be:

  • 0x1 -> FN-Z

  • 0x2 -> AUTO (also called TIMER)

  • 0x8 -> ON

  • 0x10 -> OFF

Note that not all keyboard types support the listed modes. See the entry named “available_kbd_modes”

What:

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900

620{0

7

8}}:00/cooling_method

Defined on file sysfs-driver-toshiba_acpi

This file controls the Cooling Method feature. Reading this file prints two values, the first is the actual cooling method and the second is the maximum cooling method supported. When the maximum cooling method is ONE, valid values are:

  • 0 -> Maximum Performance

  • 1 -> Battery Optimized

When the maximum cooling method is TWO, valid values are:

  • 0 -> Maximum Performance

  • 1 -> Performance

  • 2 -> Battery Optimized

What:

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900

620{0

7

8}}:00/fan

Defined on file sysfs-driver-toshiba_acpi

This file controls the state of the internal fan, valid values are:

  • 0 -> OFF

  • 1 -> ON

What:

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900

620{0

7

8}}:00/kbd_backlight_mode

Defined on file sysfs-driver-toshiba_acpi

This file controls the keyboard backlight operation mode, valid values are:

  • 0x1 -> FN-Z

  • 0x2 -> AUTO (also called TIMER)

  • 0x8 -> ON

  • 0x10 -> OFF

Note that from kernel 3.16 onwards this file accepts all listed parameters, kernel 3.15 only accepts the first two (FN-Z and AUTO). Also note that toggling this value on type 1 devices, requires a reboot for changes to take effect.

What:

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900

620{0

7

8}}:00/kbd_backlight_timeout

Defined on file sysfs-driver-toshiba_acpi

This file controls the timeout of the keyboard backlight whenever the operation mode is set to AUTO (or TIMER), valid values range from 0-60. Note that the kernel 3.15 only had support for the first keyboard type, the kernel 3.16 added support for the second type and the range accepted for type 2 is 1-60. See the entry named “kbd_type”

What:

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900

620{0

7

8}}:00/kbd_function_keys

Defined on file sysfs-driver-toshiba_acpi

This file controls the Special Functions (hotkeys) operation mode, valid values are:

  • 0 -> Normal Operation

  • 1 -> Special Functions

In the “Normal Operation” mode, the F{1-12} keys are as usual and the hotkeys are accessed via FN-F{1-12}. In the “Special Functions” mode, the F{1-12} keys trigger the hotkey and the F{1-12} keys are accessed via FN-F{1-12}. Note that toggling this value requires a reboot for changes to take effect.

What:

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900

620{0

7

8}}:00/kbd_type

Defined on file sysfs-driver-toshiba_acpi

This file shows the current keyboard backlight type, which can be:

  • 1 -> Type 1, supporting modes FN-Z and AUTO

  • 2 -> Type 2, supporting modes TIMER, ON and OFF

What:

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900

620{0

7

8}}:00/panel_power_on

Defined on file sysfs-driver-toshiba_acpi

This file controls whether the laptop should turn ON whenever the LID is opened, valid values are:

  • 0 -> Disabled

  • 1 -> Enabled

Note that toggling this value requires a reboot for changes to take effect.

What:

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900

620{0

7

8}}:00/position

Defined on file sysfs-driver-toshiba_acpi

This file shows the absolute position of the built-in accelereometer.

What:

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900

620{0

7

8}}:00/sleep_functions_on_battery

Defined on file sysfs-driver-toshiba_acpi

This file controls the USB Sleep Functions under battery, and set the level at which point they will be disabled, accepted values can be:

  • 0 -> Disabled

  • 1-100 -> Battery level to disable sleep functions

Currently it prints two values, the first one indicates if the feature is enabled or disabled, while the second one shows the current battery level set. Note that when the value is set to disabled, the sleep function will only work when connected to power.

What:

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900

620{0

7

8}}:00/touchpad

Defined on file sysfs-driver-toshiba_acpi

This files controls the status of the touchpad and pointing stick (if available), valid values are:

  • 0 -> OFF

  • 1 -> ON

What:

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900

620{0

7

8}}:00/usb_rapid_charge

Defined on file sysfs-driver-toshiba_acpi

This file controls the USB Rapid Charge state, which can be:

  • 0 -> Disabled

  • 1 -> Enabled

Note that toggling this value requires a reboot for changes to take effect.

What:

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900

620{0

7

8}}:00/usb_sleep_charge

Defined on file sysfs-driver-toshiba_acpi

This file controls the USB Sleep & Charge charging mode, which can be:

  • 0 -> Disabled (0x00)

  • 1 -> Alternate (0x09)

  • 2 -> Auto (0x21)

  • 3 -> Typical (0x11)

Note that from kernel 4.1 onwards this file accepts all listed values, kernel 4.0 only supports the first three. Note that this feature only works when connected to power, if you want to use it under battery, see the entry named “sleep_functions_on_battery”

What:

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900

620{0

7

8}}:00/usb_sleep_music

Defined on file sysfs-driver-toshiba_acpi

This file controls the Sleep & Music state, which values can be:

  • 0 -> Disabled

  • 1 -> Enabled

Note that this feature only works when connected to power, if you want to use it under battery, see the entry named “sleep_functions_on_battery”

What:

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900

620{0

7

8}}:00/usb_three

Defined on file sysfs-driver-toshiba_acpi

This file controls the USB 3 functionality, valid values are:

  • 0 -> Disabled (Acts as a regular USB 2)

  • 1 -> Enabled (Full USB 3 functionality)

Note that toggling this value requires a reboot for changes to take effect.

What:

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900

620{0

7

8}}:00/version

Defined on file sysfs-driver-toshiba_acpi

This file shows the current version of the driver

What:

/sys/devices/cpu/events/

Defined on file sysfs-bus-event_source-devices-events

Generic performance monitoring events

A collection of performance monitoring events that may be supported by many/most CPUs. These events can be monitored using the ‘perf(1)’ tool.

The contents of each file would look like:

event=0xNNNN

where ‘N’ is a hex digit and the number ‘0xNNNN’ shows the “raw code” for the perf event identified by the file’s “basename”.

What:

/sys/devices/platform/8086%x:00/firmware_version

Defined on file sysfs-platform-sst-atom

LPE Firmware version for SST driver on all atom plaforms (BYT/CHT/Merrifield/BSW). If the FW has never been loaded it will display:

"FW not yet loaded"

If FW has been loaded it will display:

"v01.aa.bb.cc"

aa: Major version is reflecting SoC version:

0d:

BYT FW

0b:

BSW FW

07:

Merrifield FW

bb: Minor version

cc: Build version

What:

/sys/devices/platform/<i2c-demux-name>/available_masters

Defined on file sysfs-platform-i2c-demux-pinctrl

Reading the file will give you a list of masters which can be selected for a demultiplexed bus. The format is “<index>:<name>”. Example from a Renesas Lager board:

0:/i2c@e6500000 1:/i2c@e6508000

What:

/sys/devices/platform/<i2c-demux-name>/current_master

Defined on file sysfs-platform-i2c-demux-pinctrl

This file selects/shows the active I2C master for a demultiplexed bus. It uses the <index> value from the file ‘available_masters’.

What:

/sys/devices/platform/<phy-name>/role

Defined on file sysfs-platform-phy-rcar-gen3-usb2

This file can be read and write. The file can show/change the phy mode for role swap of usb.

Write the following strings to change the mode:

“host” - switching mode from peripheral to host. “peripheral” - switching mode from host to peripheral.

Read the file, then it shows the following strings:

“host” - The mode is host now. “peripheral” - The mode is peripheral now.

What:

/sys/devices/platform/<platform>/camera

Defined on file sysfs-platform-asus-wmi

Control the camera. 1 means on, 0 means off.

What:

/sys/devices/platform/<platform>/cardr

Defined on file sysfs-platform-asus-wmi

Control the card reader. 1 means on, 0 means off.

What:

/sys/devices/platform/<platform>/cpufv

Defined on file sysfs-platform-asus-wmi

Change CPU clock configuration (write-only). There are three available clock configuration:

  • 0 -> Super Performance Mode

  • 1 -> High Performance Mode

  • 2 -> Power Saving Mode

What:

/sys/devices/platform/<platform>/fan_mode

Defined on file sysfs-platform-asus-wmi

Fan boost mode:
  • 0 - normal,

  • 1 - overboost,

  • 2 - silent

What:

/sys/devices/platform/<platform>/force_power

Defined on file sysfs-platform-intel-wmi-thunderbolt

Modify the platform force power state, influencing Thunderbolt controllers to turn on or off when no devices are connected (write-only) There are two available states:

  • 0 -> Force power disabled

  • 1 -> Force power enabled

What:

/sys/devices/platform/<platform>/lid_resume

Defined on file sysfs-platform-asus-wmi

Resume on lid open. 1 means on, 0 means off.

What:

/sys/devices/platform/<platform>/tokens/*

Defined on file sysfs-platform-dell-smbios

A read-only description of Dell platform tokens available on the machine.

Each token attribute is available as a pair of sysfs attributes readable by a process with CAP_SYS_ADMIN.

For example the token ID “5” would be available as the following attributes:

0005_location 0005_value

Tokens will vary from machine to machine, and only tokens available on that machine will be displayed.

What:

/sys/devices/platform/<platform>/touchpad

Defined on file sysfs-platform-asus-wmi

Control the card touchpad. 1 means on, 0 means off.

What:

/sys/devices/platform/<renesas_usb3’s name>/role

Defined on file sysfs-platform-renesas_usb3

This file can be read and write. The file can show/change the drd mode of usb.

Write the following string to change the mode:

“host” - switching mode from peripheral to host. “peripheral” - switching mode from host to peripheral.

Read the file, then it shows the following strings:

“host” - The mode is host now. “peripheral” - The mode is peripheral now.

What:

/sys/devices/platform/_UDC_/gadget/gadget-lunX/nofua

Defined on file sysfs-devices-platform-_UDC_-gadget

Show or set the reaction on the FUA (Force Unit Access) bit in the SCSI WRITE(10,12) commands when a gadget in USB Mass Storage mode.

Possible values are:

1 -> ignore the FUA flag 0 -> obey the FUA flag

What:

/sys/devices/platform/_UDC_/gadget/suspended

Defined on file sysfs-devices-platform-_UDC_-gadget

Show the suspend state of an USB composite gadget. 1 -> suspended 0 -> resumed

(_UDC_ is the name of the USB Device Controller driver)

What:

/sys/devices/platform/asus_laptop/bluetooth

Defined on file sysfs-platform-asus-laptop

Control the bluetooth device. 1 means on, 0 means off. This may control the led, the device or both.

What:

/sys/devices/platform/asus_laptop/display

Defined on file sysfs-platform-asus-laptop

This file allows display switching. The value is composed by 4 bits and defined as follow:

4321
|||`- LCD
||`-- CRT
|`--- TV
`---- DVI
Ex:
  • 0 (0000b) means no display

  • 3 (0011b) CRT+LCD.

What:

/sys/devices/platform/asus_laptop/gps

Defined on file sysfs-platform-asus-laptop

Control the gps device. 1 means on, 0 means off.

What:

/sys/devices/platform/asus_laptop/ledd

Defined on file sysfs-platform-asus-laptop

Some models like the W1N have a LED display that can be used to display several items of information. To control the LED display, use the following:

echo 0x0T000DDD > /sys/devices/platform/asus_laptop/

where T control the 3 letters display, and DDD the 3 digits display. The DDD table can be found in Documentation/admin-guide/laptops/asus-laptop.rst

What:

/sys/devices/platform/asus_laptop/wimax

Defined on file sysfs-platform-asus-laptop

Control the wimax device. 1 means on, 0 means off.

What:

/sys/devices/platform/asus_laptop/wlan

Defined on file sysfs-platform-asus-laptop

Control the wlan device. 1 means on, 0 means off. This may control the led, the device or both.

What:

/sys/devices/platform/asus_laptop/wwan

Defined on file sysfs-platform-asus-laptop

Control the wwan (3G) device. 1 means on, 0 means off.

What:

/sys/devices/platform/at91_can/net/<iface>/mb0_id

Defined on file sysfs-platform-at91

Value representing the can_id of mailbox 0.

Default: 0x7ff (standard frame)

Due to a chip bug (errata 50.2.6.3 & 50.3.5.3 in “AT91SAM9263 Preliminary 6249H-ATARM-27-Jul-09”) the contents of mailbox 0 may be send under certain conditions (even if disabled or in rx mode).

The workaround in the errata suggests not to use the mailbox and load it with an unused identifier.

In order to use an extended can_id add the CAN_EFF_FLAG (0x80000000U) to the can_id. Example:

  • standard id 0x7ff:

    echo 0x7ff      > /sys/class/net/can0/mb0_id
    
  • extended id 0x1fffffff:

    echo 0x9fffffff > /sys/class/net/can0/mb0_id
    

What:

/sys/devices/platform/dmi-ipmi-ssif.*/hosed

/sys/devices/platform/dmi-ipmi-ssif.*/alerts

/sys/devices/platform/dmi-ipmi-ssif.*/sent_messages

/sys/devices/platform/dmi-ipmi-ssif.*/sent_messages_parts

/sys/devices/platform/dmi-ipmi-ssif.*/received_messages

/sys/devices/platform/dmi-ipmi-ssif.*/received_message_parts

/sys/devices/platform/dmi-ipmi-ssif.*/events

/sys/devices/platform/dmi-ipmi-ssif.*/watchdog_pretimeouts

/sys/devices/platform/dmi-ipmi-ssif.*/flag_fetches

/sys/devices/platform/dmi-ipmi-ssif.*/send_retries

/sys/devices/platform/dmi-ipmi-ssif.*/receive_retries

/sys/devices/platform/dmi-ipmi-ssif.*/send_errors

/sys/devices/platform/dmi-ipmi-ssif.*/receive_errors

Defined on file sysfs-devices-platform-ipmi

hosed: (RO) Number of times the hardware didn’t

follow the state machine.

alerts: (RO) Number of alerts received.

sent_messages: (RO) Number of total messages sent.

sent_message_parts: (RO) Number of message parts sent.

Messages may be broken into parts if they are long.

received_messages: (RO) Number of message responses

received.

received_message_parts: (RO) Number of message fragments

received.

events: (RO) Number of received events.

watchdog_pretimeouts: (RO) Number of watchdog pretimeouts.

flag_fetches: (RO) Number of times a flag fetch was

requested.

send_retries: (RO) Number of time a message was

retried.

receive_retries: (RO) Number of times the receive of a

message was retried.

send_errors: (RO) Number of times the send of a

message failed.

receive_errors: (RO) Number of errors in receiving

messages.

What:

/sys/devices/platform/dmi-ipmi-ssif.*/type

Defined on file sysfs-devices-platform-ipmi

(RO) Shows the IMPI device interface type - “ssif” here.

What:

/sys/devices/platform/docg3/f[0-3]_dps[01]_is_keylocked

Defined on file sysfs-devices-platform-docg3

Show whether the floor (0 to 4), protection area (0 or 1) is keylocked. Each docg3 chip (or floor) has 2 protection areas, which can cover any part of it, block aligned, called DPS. The protection has information embedded whether it blocks reads, writes or both. The result is:

  • 0 -> the DPS is not keylocked

  • 1 -> the DPS is keylocked

What:

/sys/devices/platform/docg3/f[0-3]_dps[01]_protection_key

Defined on file sysfs-devices-platform-docg3

Enter the protection key for the floor (0 to 4), protection area (0 or 1). Each docg3 chip (or floor) has 2 protection areas, which can cover any part of it, block aligned, called DPS. The protection has information embedded whether it blocks reads, writes or both. The protection key is a string of 8 bytes (value 0-255). Entering the correct value toggle the lock, and can be observed through f[0-3]_dps[01]_is_keylocked. Possible values are:

  • 8 bytes

Typical values are:

  • “00000000”

  • “12345678”

What:

/sys/devices/platform/dock.N/docked

Defined on file sysfs-devices-platform-dock

(RO) Value 1 or 0 indicates whether the software believes the laptop is docked in a docking station.

What:

/sys/devices/platform/dock.N/flags

Defined on file sysfs-devices-platform-dock

(RO) Show dock station flags, useful for checking if undock request has been made by the user (from the immediate_undock option).

What:

/sys/devices/platform/dock.N/type

Defined on file sysfs-devices-platform-dock

(RO) Display the dock station type- dock_station, ata_bay or battery_bay.

What:

/sys/devices/platform/dock.N/uid

Defined on file sysfs-devices-platform-dock

(RO) Displays the docking station the laptop is docked to.

What:

/sys/devices/platform/dock.N/undock

Defined on file sysfs-devices-platform-dock

(WO) Writing to this file causes the software to initiate an undock request to the firmware.

What:

/sys/devices/platform/eeepc/available_cpufv

Defined on file sysfs-platform-eeepc-laptop

List available cpufv modes.

What:

/sys/devices/platform/eeepc/camera

Defined on file sysfs-platform-eeepc-laptop

Control the camera. 1 means on, 0 means off.

What:

/sys/devices/platform/eeepc/cardr

Defined on file sysfs-platform-eeepc-laptop

Control the card reader. 1 means on, 0 means off.

What:

/sys/devices/platform/eeepc/cpufv

Defined on file sysfs-platform-eeepc-laptop

Change CPU clock configuration. On the Eee PC 1000H there are three available clock configuration:

  • 0 -> Super Performance Mode

  • 1 -> High Performance Mode

  • 2 -> Power Saving Mode

On Eee PC 701 there is only 2 available clock configurations. Available configuration are listed in available_cpufv file. Reading this file will show the raw hexadecimal value which is defined as follow:

| 8 bit | 8 bit |
    |       `---- Current mode
    `------------ Availables modes

For example, 0x301 means: mode 1 selected, 3 available modes.

What:

/sys/devices/platform/eeepc/disp

Defined on file sysfs-platform-eeepc-laptop

This file allows display switching.

  • 1 = LCD

  • 2 = CRT

  • 3 = LCD+CRT

If you run X11, you should use xrandr instead.

What:

/sys/devices/platform/hidma-*/chid

Defined on file sysfs-platform-hidma

Contains the ID of the channel within the HIDMA instance. It is used to associate a given HIDMA channel with the priority and weight calls in the management interface.

What:

/sys/devices/platform/hidma-mgmt*/chanops/chan*/priority

Defined on file sysfs-platform-hidma-mgmt

Contains either 0 or 1 and indicates if the DMA channel is a low priority (0) or high priority (1) channel.

What:

/sys/devices/platform/hidma-mgmt*/chanops/chan*/weight

Defined on file sysfs-platform-hidma-mgmt

Contains 0..15 and indicates the weight of the channel among equal priority channels during round robin scheduling.

What:

/sys/devices/platform/hidma-mgmt*/chreset_timeout_cycles

Defined on file sysfs-platform-hidma-mgmt

Contains the platform specific cycle value to wait after a reset command is issued. If the value is chosen too short, then the HW will issue a reset failure interrupt. The value is platform specific and should not be changed without consultance.

What:

/sys/devices/platform/hidma-mgmt*/dma_channels

Defined on file sysfs-platform-hidma-mgmt

Contains the number of dma channels supported by one instance of HIDMA hardware. The value may change from chip to chip.

What:

/sys/devices/platform/hidma-mgmt*/hw_version_major

Defined on file sysfs-platform-hidma-mgmt

Version number major for the hardware.

What:

/sys/devices/platform/hidma-mgmt*/hw_version_minor

Defined on file sysfs-platform-hidma-mgmt

Version number minor for the hardware.

What:

/sys/devices/platform/hidma-mgmt*/max_rd_xactions

Defined on file sysfs-platform-hidma-mgmt

Contains a value between 0 and 31. Maximum number of read transactions that can be issued back to back. Choosing a higher number gives better performance but can also cause performance reduction to other peripherals sharing the same bus.

What:

/sys/devices/platform/hidma-mgmt*/max_read_request

Defined on file sysfs-platform-hidma-mgmt

Size of each read request. The value needs to be a power of two and can be between 128 and 1024.

What:

/sys/devices/platform/hidma-mgmt*/max_wr_xactions

Defined on file sysfs-platform-hidma-mgmt

Contains a value between 0 and 31. Maximum number of write transactions that can be issued back to back. Choosing a higher number gives better performance but can also cause performance reduction to other peripherals sharing the same bus.

What:

/sys/devices/platform/hidma-mgmt*/max_write_request

Defined on file sysfs-platform-hidma-mgmt

Size of each write request. The value needs to be a power of two and can be between 128 and 1024.

What:

/sys/devices/platform/i8042/…/draghys

Defined on file sysfs-devices-platform-trackpoint

(RW) The drag hysteresis controls how hard it is to drag with z-axis pressed.

What:

/sys/devices/platform/i8042/…/drift_time

Defined on file sysfs-devices-platform-trackpoint

(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.

What:

/sys/devices/platform/i8042/…/ext_dev

Defined on file sysfs-devices-platform-trackpoint

(RW) Disable (0) or enable (1) external pointing device.

What:

/sys/devices/platform/i8042/…/intertia

Defined on file sysfs-devices-platform-trackpoint

(RW) Negative inertia factor. High values cause the cursor to snap backward when the trackpoint is released.

What:

/sys/devices/platform/i8042/…/jenks

Defined on file sysfs-devices-platform-trackpoint

(RW) Minimum curvature in degrees required to generate a double click without a release.

What:

/sys/devices/platform/i8042/…/mindrag

Defined on file sysfs-devices-platform-trackpoint

(RW) Minimum amount of force needed to trigger dragging.

What:

/sys/devices/platform/i8042/…/press_to_select

Defined on file sysfs-devices-platform-trackpoint

(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/…/reach

Defined on file sysfs-devices-platform-trackpoint

(RW) Backup range for z-axis press.

What:

/sys/devices/platform/i8042/…/sensitivity

Defined on file sysfs-devices-platform-trackpoint

(RW) Trackpoint sensitivity.

What:

/sys/devices/platform/i8042/…/skipback

Defined on file sysfs-devices-platform-trackpoint

(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/…/speed

Defined on file sysfs-devices-platform-trackpoint

(RW) Speed of the trackpoint cursor.

What:

/sys/devices/platform/i8042/…/thresh

Defined on file sysfs-devices-platform-trackpoint

(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

Defined on file sysfs-devices-platform-trackpoint

(RW) The offset from the running average required to generate a select (click) on z-axis on release.

What:

/sys/devices/platform/i8042/…/ztime

Defined on file sysfs-devices-platform-trackpoint

(RW) This attribute determines how sharp a press has to be in order to be recognized.

What:

/sys/devices/platform/ideapad/camera_power

Defined on file sysfs-platform-ideapad-laptop

Control the power of camera module. 1 means on, 0 means off.

What:

/sys/devices/platform/ideapad/fan_mode

Defined on file sysfs-platform-ideapad-laptop

Change fan mode There are four available modes:

  • 0 -> Super Silent Mode

  • 1 -> Standard Mode

  • 2 -> Dust Cleaning

  • 4 -> Efficient Thermal Dissipation Mode

What:

/sys/devices/platform/ideapad/touchpad

Defined on file sysfs-platform-ideapad-laptop

Control touchpad mode.
  • 1 -> Switched On

  • 0 -> Switched Off

What:

/sys/devices/platform/ipmi_bmc.*/additional_device_support

Defined on file sysfs-devices-platform-ipmi

(RO) Lists the IPMI ‘logical device’ commands and functions that the controller supports that are in addition to the mandatory IPM and Application commands.

What:

/sys/devices/platform/ipmi_bmc.*/aux_firmware_revision

Defined on file sysfs-devices-platform-ipmi

(RO) Holds additional information about the firmware revision, such as boot block or internal data structure version numbers. The meanings of the numbers are specific to the vendor identified by Manufacturer ID.

What:

/sys/devices/platform/ipmi_bmc.*/device_id

Defined on file sysfs-devices-platform-ipmi

(RO) Device id is specified by the manufacturer identified by the Manufacturer ID field. This field allows controller specific software to identify the unique application command, OEM fields, and functionality that are provided by the controller

What:

/sys/devices/platform/ipmi_bmc.*/firmware_revision

Defined on file sysfs-devices-platform-ipmi

(RO) The major and minor revision of the firmware.

What:

/sys/devices/platform/ipmi_bmc.*/guid

Defined on file sysfs-devices-platform-ipmi

(RO) A GUID (Globally Unique ID), also referred to as a UUID (Universally Unique Identifier), for the management controller, as described in section 20.8 ‘Get Device GUID Command’ of the IPMI specification v2.0.

What:

/sys/devices/platform/ipmi_bmc.*/ipmi_version

Defined on file sysfs-devices-platform-ipmi

(RO) Displays the IPMI Command Specification Version.

What:

/sys/devices/platform/ipmi_bmc.*/manufacturer_id

Defined on file sysfs-devices-platform-ipmi

(RO) Identifies the manufacturer responsible for the specification of functionality of the vendor (OEM)-specific commands, codes, and interfaces used in the controller.

What:

/sys/devices/platform/ipmi_bmc.*/product_id

Defined on file sysfs-devices-platform-ipmi

(RO) Displays a number that identifies a particular system, module, add-in card, or board set. The number is specified according to the manufacturer given by Manufacturer ID.

For detailed definitions of the above attributes, refer to section 20.1 ‘Get Device ID Command’ of the IPMI specification v2.0.

What:

/sys/devices/platform/ipmi_bmc.*/provides_device_sdrs

Defined on file sysfs-devices-platform-ipmi

(RO) Indicates whether device provides device sensor data records (1) or not (0).

What:

/sys/devices/platform/ipmi_bmc.*/revision

Defined on file sysfs-devices-platform-ipmi

(RO) Device revision. Useful for identifying if significant hardware changes have been made to the implementation of the management controller.

What:

/sys/devices/platform/ipmi_si.*/idles

/sys/devices/platform/ipmi_si.*/watchdog_pretimeouts

/sys/devices/platform/ipmi_si.*/complete_transactions

/sys/devices/platform/ipmi_si.*/events

/sys/devices/platform/ipmi_si.*/interrupts

/sys/devices/platform/ipmi_si.*/hosed_count

/sys/devices/platform/ipmi_si.*/long_timeouts

/sys/devices/platform/ipmi_si.*/flag_fetches

/sys/devices/platform/ipmi_si.*/attentions

/sys/devices/platform/ipmi_si.*/incoming_messages

/sys/devices/platform/ipmi_si.*/short_timeouts

Defined on file sysfs-devices-platform-ipmi

idles: (RO) Number of times the interface was

idle while being polled.

watchdog_pretimeouts: (RO) Number of watchdog pretimeouts.

complete_transactions: (RO) Number of completed messages.

events: (RO) Number of IPMI events received from

the hardware.

interrupts: (RO) Number of interrupts the driver

handled.

hosed_count: (RO) Number of times the hardware didn’t

follow the state machine.

long_timeouts: (RO) Number of times the driver

requested a timer while nothing was in progress.

flag_fetches: (RO) Number of times the driver

requested flags from the hardware.

attentions: (RO) Number of time the driver got an

ATTN from the hardware.

incoming_messages: (RO) Number of asynchronous messages

received.

short_timeouts: (RO) Number of times the driver

requested a timer while an operation was in progress.

What:

/sys/devices/platform/ipmi_si.*/interrupts_enabled

Defined on file sysfs-devices-platform-ipmi

(RO) Indicates whether interrupts are enabled or not. The driver disables interrupts when it gets into a situation where it cannot handle messages due to lack of memory. Once that situation clears up, it will re-enable interrupts.

What:

/sys/devices/platform/ipmi_si.*/params

Defined on file sysfs-devices-platform-ipmi

[to be documented]

What:

/sys/devices/platform/ipmi_si.*/type

Defined on file sysfs-devices-platform-ipmi

(RO) The device interface for IPMI “kcs”, “smic”, “bt” or “invalid”

What:

/sys/devices/platform/kim/baud_rate

Defined on file sysfs-platform-kim

The maximum reliable baud-rate the host can support. Different platforms tend to have different high-speed UART configurations, so the baud-rate needs to be set locally and also sent across to the WL128x via a HCI-VS command. The entry is read and made use by the user-space daemon when the ldisc install is requested.

What:

/sys/devices/platform/kim/dev_name

Defined on file sysfs-platform-kim

Name of the UART device at which the WL128x chip is connected. example: “/dev/ttyS0”. The device name flows down to architecture specific board initialization file from the SFI/ATAGS bootloader firmware. The name exposed is read from the user-space dameon and opens the device when install is requested.

What:

/sys/devices/platform/kim/flow_cntrl

Defined on file sysfs-platform-kim

The WL128x makes use of flow control mechanism, and this entry most often should be 1, the host’s UART is required to have the capability of flow-control, or else this entry can be made use of for exceptions.

What:

/sys/devices/platform/kim/install

Defined on file sysfs-platform-kim

When one of the protocols Bluetooth, FM or GPS wants to make use of the shared UART transport, it registers to the shared transport driver, which will signal the user-space for opening, configuring baud and install line discipline via this sysfs entry. This entry would be polled upon by the user-space daemon managing the UART, and is notified about the change by the sysfs_notify. The value would be ‘1’ when UART needs to be opened/ldisc installed, and would be ‘0’ when UART is no more required and needs to be closed.

What:

/sys/devices/platform/lg-laptop/battery_care_limit

Defined on file sysfs-platform-lg-laptop

Maximal battery charge level. Accepted values are 80 or 100.

What:

/sys/devices/platform/lg-laptop/fan_mode

Defined on file sysfs-platform-lg-laptop

Control fan mode. 1 for performance mode, 0 for silent mode.

What:

/sys/devices/platform/lg-laptop/fn_lock

Defined on file sysfs-platform-lg-laptop

Control FN lock mode. 1 means on, 0 means off.

What:

/sys/devices/platform/lg-laptop/reader_mode

Defined on file sysfs-platform-lg-laptop

Control reader mode. 1 means on, 0 means off.

What:

/sys/devices/platform/lg-laptop/usb_charge

Defined on file sysfs-platform-lg-laptop

Control USB port charging when device is turned off. 1 means on, 0 means off.

What:

/sys/devices/platform/msi-laptop-pf/auto_brightness

Defined on file sysfs-platform-msi-laptop

Enable automatic brightness control: contains either 0 or 1. If set to 1 the hardware adjusts the screen brightness automatically when the power cord is plugged/unplugged.

What:

/sys/devices/platform/msi-laptop-pf/auto_fan

Defined on file sysfs-platform-msi-laptop

Contains either 0 or 1 and indicates if fan speed is controlled automatically (1) or fan runs at maximal speed (0). Can be toggled in software.

What:

/sys/devices/platform/msi-laptop-pf/bluetooth

Defined on file sysfs-platform-msi-laptop

Bluetooth subsystem enabled: contains either 0 or 1. Please note that this file is constantly 0 if no Bluetooth hardware is available.

What:

/sys/devices/platform/msi-laptop-pf/eco_mode

Defined on file sysfs-platform-msi-laptop

Contains either 0 or 1 and indicates if ECO mode is turned on. In ECO mode power LED is green and userspace should do some powersaving actions. ECO mode is available only on battery power. ECO mode can only be toggled by pressing Fn+F10.

What:

/sys/devices/platform/msi-laptop-pf/lcd_level

Defined on file sysfs-platform-msi-laptop

Screen brightness: contains a single integer in the range 0..8.

What:

/sys/devices/platform/msi-laptop-pf/touchpad

Defined on file sysfs-platform-msi-laptop

Contains either 0 or 1 and indicates if touchpad is turned on. Touchpad state can only be toggled by pressing Fn+F3.

What:

/sys/devices/platform/msi-laptop-pf/turbo_cooldown

Defined on file sysfs-platform-msi-laptop

Contains value in range 0..3:
  • 0 -> Turbo mode is off

  • 1 -> Turbo mode is on, cannot be turned off yet

  • 2 -> Turbo mode is off, cannot be turned on yet

  • 3 -> Turbo mode is on

What:

/sys/devices/platform/msi-laptop-pf/turbo_mode

Defined on file sysfs-platform-msi-laptop

Contains either 0 or 1 and indicates if turbo mode is turned on. In turbo mode power LED is orange and processor is overclocked. Turbo mode is available only if charging. It is only possible to toggle turbo mode state by pressing Fn+F10, and there is a few seconds cooldown between subsequent toggles. If user presses Fn+F10 too frequent, turbo mode state is not changed.

What:

/sys/devices/platform/msi-laptop-pf/wlan

Defined on file sysfs-platform-msi-laptop

WLAN subsystem enabled: contains either 0 or 1.

What:

/sys/devices/platform/samsung/battery_life_extender

Defined on file sysfs-driver-samsung-laptop

Max battery charge level can be modified, battery cycle life can be extended by reducing the max battery charge level.

  • 0 means normal battery mode (100% charge)

  • 1 means battery life extender mode (80% charge)

What:

/sys/devices/platform/samsung/lid_handling

Defined on file sysfs-driver-samsung-laptop

Some Samsung laptops handle lid closing quicker and only handle lid opening with this mode enabled. 1 means enabled, 0 means disabled.

What:

/sys/devices/platform/samsung/performance_level

Defined on file sysfs-driver-samsung-laptop

Some Samsung laptops have different “performance levels” that can be modified by a function key, and by this sysfs file. These values don’t always make a whole lot of sense, but some users like to modify them to keep their fans quiet at all costs. Reading from this file will show the current performance level. Writing to the file can change this value.

Valid options:
  • “silent”

  • “normal”

  • “overclock”

Note that not all laptops support all of these options. Specifically, not all support the “overclock” option, and it’s still unknown if this value even changes anything, other than making the user feel a bit better.

What:

/sys/devices/platform/samsung/usb_charge

Defined on file sysfs-driver-samsung-laptop

Use your USB ports to charge devices, even when your laptop is powered off. 1 means enabled, 0 means disabled.

What:

/sys/devices/platform/sh_mobile_lcdc_fb.[0-3]/graphics/fb[0-9]/ovl_alpha

Defined on file sysfs-devices-platform-sh_mobile_lcdc_fb

This file is only available on fb[0-9] devices corresponding to overlay planes.

Stores the alpha blending value for the overlay. Values range from 0 (transparent) to 255 (opaque). The value is ignored if the mode is not set to Alpha Blending.

What:

/sys/devices/platform/sh_mobile_lcdc_fb.[0-3]/graphics/fb[0-9]/ovl_mode

Defined on file sysfs-devices-platform-sh_mobile_lcdc_fb

This file is only available on fb[0-9] devices corresponding to overlay planes.

Selects the composition mode for the overlay. Possible values are:

  • 0 - Alpha Blending

  • 1 - ROP3

What:

/sys/devices/platform/sh_mobile_lcdc_fb.[0-3]/graphics/fb[0-9]/ovl_position

Defined on file sysfs-devices-platform-sh_mobile_lcdc_fb

This file is only available on fb[0-9] devices corresponding to overlay planes.

Stores the x,y overlay position on the display in pixels. The position format is [0-9]+,[0-9]+.

What:

/sys/devices/platform/sh_mobile_lcdc_fb.[0-3]/graphics/fb[0-9]/ovl_rop3

Defined on file sysfs-devices-platform-sh_mobile_lcdc_fb

This file is only available on fb[0-9] devices corresponding to overlay planes.

Stores the raster operation (ROP3) for the overlay. Values range from 0 to 255. The value is ignored if the mode is not set to ROP3.

What:

/sys/devices/platform/ts5500/adc

Defined on file sysfs-platform-ts5500

Indicates the presence of an A/D Converter. If it is present, it will display “1”, otherwise “0”.

What:

/sys/devices/platform/ts5500/ereset

Defined on file sysfs-platform-ts5500

Indicates the presence of an external reset. If it is present, it will display “1”, otherwise “0”.

What:

/sys/devices/platform/ts5500/id

Defined on file sysfs-platform-ts5500

Product ID of the TS board. TS-5500 ID is 0x60.

What:

/sys/devices/platform/ts5500/jumpers

Defined on file sysfs-platform-ts5500

Bitfield showing the jumpers’ state. If a jumper is present, the corresponding bit is set. For instance, 0x0e means jumpers 2, 3 and 4 are set.

What:

/sys/devices/platform/ts5500/name

Defined on file sysfs-platform-ts5500

Model name of the TS board, e.g. “TS-5500”.

What:

/sys/devices/platform/ts5500/rs485

Defined on file sysfs-platform-ts5500

Indicates the presence of the RS485 option. If it is present, it will display “1”, otherwise “0”.

What:

/sys/devices/platform/ts5500/sram

Defined on file sysfs-platform-ts5500

Indicates the presence of the SRAM option. If it is present, it will display “1”, otherwise “0”.

What:

/sys/devices/platform/usbip-vudc.%d/dev_desc

Defined on file sysfs-platform-usbip-vudc

This file allows to read device descriptor of gadget driver which is currently bound to this controller. It is possible to read this file only if gadget driver is bound, otherwise error is returned.

What:

/sys/devices/platform/usbip-vudc.%d/usbip_sockfd

Defined on file sysfs-platform-usbip-vudc

This file allows to export usb device to connection peer. It is done by writing to this file socket fd (as a string for example “8”) associated with a connection to remote peer who would like to use this device. It is possible to close the connection by writing -1 instead of socked fd.

What:

/sys/devices/platform/usbip-vudc.%d/usbip_status

Defined on file sysfs-platform-usbip-vudc

Current status of the device. Allowed values:

1

Device is available and can be exported

2

Device is currently exported

3

Fatal error occurred during communication with peer

What:

/sys/devices/socX

Defined on file sysfs-devices-soc

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/family

Defined on file sysfs-devices-soc

Read-only attribute common to all SoCs. Contains SoC family name (e.g. DB8500).

What:

/sys/devices/socX/machine

Defined on file sysfs-devices-soc

Read-only attribute common to all SoCs. Contains the SoC machine name (e.g. Ux500).

What:

/sys/devices/socX/process

Defined on file sysfs-devices-soc

Read-only attribute supported ST-Ericsson’s silicon. Contains the the process by which the silicon chip was manufactured.

What:

/sys/devices/socX/revision

Defined on file sysfs-devices-soc

Read-only attribute supported by most SoCs. Contains the SoC’s manufacturing revision number.

What:

/sys/devices/socX/soc_id

Defined on file sysfs-devices-soc

Read-only attribute supported by most SoCs. In the case of ST-Ericsson’s chips this contains the SoC serial number.

What:

/sys/devices/system/cpu/

Defined on file sysfs-devices-system-cpu

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/cpu#/

What:

/sys/devices/system/cpu/cpu#/cpu_capacity

Defined on file sysfs-devices-system-cpu

information about CPUs heterogeneity.

cpu_capacity: capacity of cpu#.

What:

/sys/devices/system/cpu/cpu#/cpufreq/*

Defined on file sysfs-devices-system-cpu

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/cpu#/cpufreq/freqdomain_cpus

Defined on file sysfs-devices-system-cpu

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 driver is in use.

What:

/sys/devices/system/cpu/cpu#/crash_notes

Defined on file sysfs-devices-system-cpu

address and size of the percpu note.

crash_notes: the physical address of the memory that holds the note of cpu#.

crash_notes_size: size of the note of cpu#.

What:

/sys/devices/system/cpu/cpu#/node

Defined on file sysfs-devices-system-cpu

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/cpu#/power/energy_perf_bias

Defined on file sysfs-devices-system-cpu

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/cpu#/topology/core_id

Defined on file sysfs-devices-system-cpu

CPU topology files that describe a logical CPU’s relationship to other cores and threads in the same physical package.

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

Briefly, the files above are:

core_id: the CPU core ID of cpu#. Typically it is the hardware platform’s identifier (rather than the kernel’s). The actual value is architecture and platform dependent.

core_siblings: internal kernel map of cpu#’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 cpu#.

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

thread_siblings: internel kernel map of cpu#’s hardware threads within the same core as cpu#

thread_siblings_list: human-readable list of cpu#’s hardware threads within the same core as cpu#

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

What:

/sys/devices/system/cpu/cpu*/cache/index*/<set_of_attributes_mentioned_below>

Defined on file sysfs-devices-system-cpu

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

Defined on file sysfs-devices-system-cpu

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/cpu*/cache/index3/cache_disable_{0

1}

Defined on file sysfs-devices-system-cpu

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 specificed cache index to be disabled.

All AMD processors with L3 caches provide this functionality. For details, see BKDGs at http://developer.amd.com/documentation/guides/Pages/default.aspx

What:

/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats

Defined on file sysfs-devices-system-cpu

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/cpuX/cpuidle/stateN/desc

Defined on file sysfs-devices-system-cpu

(RO) A small description about the idle state (string).

What:

/sys/devices/system/cpu/cpuX/cpuidle/stateN/disable

Defined on file sysfs-devices-system-cpu

(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/stateN/name

Defined on file sysfs-devices-system-cpu

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/stateN/residency

Defined on file sysfs-devices-system-cpu

(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/stateN/s2idle/

Defined on file sysfs-devices-system-cpu

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/stateN/s2idle/time

Defined on file sysfs-devices-system-cpu

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/stateN/s2idle/usage

Defined on file sysfs-devices-system-cpu

Total number of times this state has been requested by the CPU while entering suspend-to-idle.

What:

/sys/devices/system/cpu/cpuX/regs/

Defined on file sysfs-devices-system-cpu

AArch64 CPU registers

‘identification’ directory exposes the CPU ID registers for identifying model and revision of the CPU.

What:

/sys/devices/system/cpu/cpufreq/boost

Defined on file sysfs-devices-system-cpu

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 beyound it’s nominal limit.

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

What:

/sys/devices/system/cpu/cpufreq/policyX/throttle_stats

Defined on file sysfs-devices-system-cpu

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/cpuidle/current_driver

Defined on file sysfs-devices-system-cpu

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)

current_driver: (RO) displays current idle mechanism

current_governor_ro: (RO) displays current idle policy

With the cpuidle_sysfs_switch boot option enabled (meant for developer testing), the following three attributes are visible instead:

current_driver: same as described above

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

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

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

What:

/sys/devices/system/cpu/intel_pstate/max_perf_pct

Defined on file sysfs-devices-system-cpu

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/kernel_max

Defined on file sysfs-devices-system-cpu

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

Defined on file sysfs-devices-system-cpu

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 writtento the file to remove CPU’s is architecture specific.

What:

/sys/devices/system/cpu/smt

Defined on file sysfs-devices-system-cpu

Control Symetric 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/umwait_control

Defined on file sysfs-devices-system-cpu

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/vulnerabilities

Defined on file sysfs-devices-system-cpu

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/edac/mc/mc*/(dimm|rank)*/dimm_ce_count

Defined on file sysfs-devices-edac

This attribute file displays the total count of correctable errors that have occurred on this DIMM. This count is very important to examine. CEs provide early indications that a DIMM is beginning to fail. This count field should be monitored for non-zero values and report such information to the system administrator.

What:

/sys/devices/system/edac/mc/mc*/(dimm|rank)*/dimm_dev_type

Defined on file sysfs-devices-edac

This attribute file will display what type of DRAM device is being utilized on this DIMM (x1, x2, x4, x8, …).

What:

/sys/devices/system/edac/mc/mc*/(dimm|rank)*/dimm_edac_mode

Defined on file sysfs-devices-edac

This attribute file will display what type of Error detection and correction is being utilized. For example: S4ECD4ED would mean a Chipkill with x4 DRAM.

What:

/sys/devices/system/edac/mc/mc*/(dimm|rank)*/dimm_label

Defined on file sysfs-devices-edac

This control file allows this DIMM to have a label assigned to it. With this label in the module, when errors occur the output can provide the DIMM label in the system log. This becomes vital for panic events to isolate the cause of the UE event. DIMM Labels must be assigned after booting, with information that correctly identifies the physical slot with its silk screen label. This information is currently very motherboard specific and determination of this information must occur in userland at this time.

What:

/sys/devices/system/edac/mc/mc*/(dimm|rank)*/dimm_location

Defined on file sysfs-devices-edac

This attribute file will display the location (csrow/channel, branch/channel/slot or channel/slot) of the dimm or rank.

What:

/sys/devices/system/edac/mc/mc*/(dimm|rank)*/dimm_mem_type

Defined on file sysfs-devices-edac

This attribute file will display what type of memory is currently on this csrow. Normally, either buffered or unbuffered memory (for example, Unbuffered-DDR3).

What:

/sys/devices/system/edac/mc/mc*/(dimm|rank)*/dimm_ue_count

Defined on file sysfs-devices-edac

This attribute file displays the total count of uncorrectable errors that have occurred on this DIMM. If panic_on_ue is set, this counter will not have a chance to increment, since EDAC will panic the system

What:

/sys/devices/system/edac/mc/mc*/(dimm|rank)*/size

Defined on file sysfs-devices-edac

This attribute file will display the size of dimm or rank. For dimm*/size, this is the size, in MB of the DIMM memory stick. For rank*/size, this is the size, in MB for one rank of the DIMM memory stick. On single rank memories (1R), this is also the total size of the dimm. On dual rank (2R) memories, this is half the size of the total DIMM memories.

What:

/sys/devices/system/edac/mc/mc*/ce_count

Defined on file sysfs-devices-edac

This attribute file displays the total count of correctable errors that have occurred on this memory controller. This count is very important to examine. CEs provide early indications that a DIMM is beginning to fail. This count field should be monitored for non-zero values and report such information to the system administrator.

What:

/sys/devices/system/edac/mc/mc*/ce_noinfo_count

Defined on file sysfs-devices-edac

This attribute file displays the number of CEs that have occurred on this memory controller wherewith no information as to which DIMM slot is having errors. Memory is handicapped, but operational, yet no information is available to indicate which slot the failing memory is in. This count field should be also be monitored for non-zero values.

What:

/sys/devices/system/edac/mc/mc*/max_location

Defined on file sysfs-devices-edac

This attribute file displays the information about the last available memory slot in this memory controller. It is used by userspace tools in order to display the memory filling layout.

What:

/sys/devices/system/edac/mc/mc*/mc_name

Defined on file sysfs-devices-edac

This attribute file displays the type of memory controller that is being utilized.

What:

/sys/devices/system/edac/mc/mc*/reset_counters

Defined on file sysfs-devices-edac

This write-only control file will zero all the statistical counters for UE and CE errors on the given memory controller. Zeroing the counters will also reset the timer indicating how long since the last counter were reset. This is useful for computing errors/time. Since the counters are always reset at driver initialization time, no module/kernel parameter is available.

What:

/sys/devices/system/edac/mc/mc*/sdram_scrub_rate

Defined on file sysfs-devices-edac

Read/Write attribute file that controls memory scrubbing. The scrubbing rate used by the memory controller is set by writing a minimum bandwidth in bytes/sec to the attribute file. The rate will be translated to an internal value that gives at least the specified rate. Reading the file will return the actual scrubbing rate employed. If configuration fails or memory scrubbing is not implemented, the value of the attribute file will be -1.

What:

/sys/devices/system/edac/mc/mc*/seconds_since_reset

Defined on file sysfs-devices-edac

This attribute file displays how many seconds have elapsed since the last counter reset. This can be used with the error counters to measure error rates.

What:

/sys/devices/system/edac/mc/mc*/size_mb

Defined on file sysfs-devices-edac

This attribute file displays, in count of megabytes, of memory that this memory controller manages.

What:

/sys/devices/system/edac/mc/mc*/ue_count

Defined on file sysfs-devices-edac

This attribute file displays the total count of uncorrectable errors that have occurred on this memory controller. If panic_on_ue is set, this counter will not have a chance to increment, since EDAC will panic the system

What:

/sys/devices/system/edac/mc/mc*/ue_noinfo_count

Defined on file sysfs-devices-edac

This attribute file displays the number of UEs that have occurred on this memory controller with no information as to which DIMM slot is having errors.

What:

/sys/devices/system/ibm_rtl/state

Defined on file sysfs-devices-system-ibm-rtl

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

What:

/sys/devices/system/ibm_rtl/version

Defined on file sysfs-devices-system-ibm-rtl

The version file provides a means by which to query the RTL table version that lives in the Extended BIOS Data Area (EBDA).

What:

/sys/devices/system/memory

Defined on file sysfs-devices-memory

The /sys/devices/system/memory contains a snapshot of the internal state of the kernel memory blocks. Files could be added or removed dynamically to represent hot-add/remove operations.

What:

/sys/devices/system/memory/hard_offline_page

Defined on file sysfs-memory-page-offline

Hard-offline the memory page containing the physical address written into this file. Input is a hex number specifying the physical address of the page. The kernel will then attempt to hard-offline the page, by trying to drop the page or killing any owner or triggering IO errors if needed. Note this may kill any processes owning the page. The kernel will avoid to access this page assuming it’s poisoned by the hardware.

The offlining is done in kernel specific granuality. Normally it’s the base page size of the kernel, but this might change.

Return value is the size of the number, or a error when the offlining failed. Reading the file is not allowed.

What:

/sys/devices/system/memory/memoryX/phys_device

Defined on file sysfs-devices-memory

The file /sys/devices/system/memory/memoryX/phys_device is read-only and is designed to show the name of physical memory device. Implementation is currently incomplete.

What:

/sys/devices/system/memory/memoryX/phys_index

Defined on file sysfs-devices-memory

The file /sys/devices/system/memory/memoryX/phys_index is read-only and contains the section ID in hexadecimal which is equivalent to decimal X contained in the memory section directory name.

What:

/sys/devices/system/memory/memoryX/removable

Defined on file sysfs-devices-memory

The file /sys/devices/system/memory/memoryX/removable indicates whether this memory block is removable or not. This is useful for a user-level agent to determine identify removable sections of the memory before attempting potentially expensive hot-remove memory operation

What:

/sys/devices/system/memory/memoryX/state

Defined on file sysfs-devices-memory

The file /sys/devices/system/memory/memoryX/state is read-write. When read, its contents show the online/offline state of the memory section. When written, root can toggle the the online/offline state of a removable memory section (see removable file description above) using the following commands. # echo online > /sys/devices/system/memory/memoryX/state # echo offline > /sys/devices/system/memory/memoryX/state

For example, if /sys/devices/system/memory/memory22/removable contains a value of 1 and /sys/devices/system/memory/memory22/state contains the string “online” the following command can be executed by by root to offline that section. # echo offline > /sys/devices/system/memory/memory22/state

What:

/sys/devices/system/memory/memoryX/valid_zones

Defined on file sysfs-devices-memory

The file /sys/devices/system/memory/memoryX/valid_zones is read-only and is designed to show which zone this memory block can be onlined to.

What:

/sys/devices/system/memory/soft_offline_page

Defined on file sysfs-memory-page-offline

Soft-offline the memory page containing the physical address written into this file. Input is a hex number specifying the physical address of the page. The kernel will then attempt to soft-offline it, by moving the contents elsewhere or dropping it if possible. The kernel will then be placed on the bad page list and never be reused.

The offlining is done in kernel specific granuality. Normally it’s the base page size of the kernel, but this might change.

The page must be still accessible, not poisoned. The kernel will never kill anything for this, but rather fail the offline. Return value is the size of the number, or a error when the offlining failed. Reading the file is not allowed.

What:

/sys/devices/system/memoryX/nodeY

Defined on file sysfs-devices-memory

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

For example, the following symbolic link is created for memory section 9 on node0: /sys/devices/system/memory/memory9/node0 -> ../../node/node0

What:

/sys/devices/system/node/nodeX/memoryY

Defined on file sysfs-devices-memory

When CONFIG_NUMA is enabled /sys/devices/system/node/nodeX/memoryY is a symbolic link that points to the corresponding /sys/devices/system/memory/memoryY memory section directory. For example, the following symbolic link is created for memory section 9 on node0. /sys/devices/system/node/node0/memory9 -> ../../memory/memory9

What:

/sys/devices/system/xen_cpu/

Defined on file sysfs-devices-system-xen_cpu

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

Defined on file sysfs-devices-system-xen_cpu

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.

What:

/sys/firmware/acpi/bgrt/

Defined on file sysfs-firmware-acpi

The BGRT is an ACPI 5.0 feature that allows the OS to obtain a copy of the firmware boot splash and some associated metadata. This is intended to be used by boot splash applications in order to interact with the firmware boot splash in order to avoid jarring transitions.

image: The image bitmap. Currently a 32-bit BMP. status: 1 if the image is valid, 0 if firmware invalidated it. type: 0 indicates image is in BMP format.

version:

The version of the BGRT. Currently 1.

xoffset:

The number of pixels between the left of the screen and the left edge of the image.

yoffset:

The number of pixels between the top of the screen and the top edge of the image.

What:

/sys/firmware/acpi/hotplug/

Defined on file sysfs-firmware-acpi

There are separate hotplug profiles for different classes of devices supported by ACPI, such as containers, memory modules, processors, PCI root bridges etc. A hotplug profile for a given class of devices is a collection of settings defining the way that class of devices will be handled by the ACPI core hotplug code. Those profiles are represented in sysfs as subdirectories of /sys/firmware/acpi/hotplug/.

The following setting is available to user space for each hotplug profile:

enabled:

If set, the ACPI core will handle notifications of hotplug events associated with the given class of devices and will allow those devices to be ejected with the help of the _EJ0 control method. Unsetting it effectively disables hotplug for the correspoinding class of devices.

The value of the above attribute is an integer number: 1 (set) or 0 (unset). Attempts to write any other values to it will cause -EINVAL to be returned.

What:

/sys/firmware/acpi/interrupts/

Defined on file sysfs-firmware-acpi

All ACPI interrupts are handled via a single IRQ, the System Control Interrupt (SCI), which appears as “acpi” in /proc/interrupts.

However, one of the main functions of ACPI is to make the platform understand random hardware without special driver support. So while the SCI handles a few well known (fixed feature) interrupts sources, such as the power button, it can also handle a variable number of a “General Purpose Events” (GPE).

A GPE vectors to a specified handler in AML, which can do a anything the BIOS writer wants from OS context. GPE 0x12, for example, would vector to a level or edge handler called _L12 or _E12. The handler may do its business and return. Or the handler may send send a Notify event to a Linux device driver registered on an ACPI device, such as a battery, or a processor.

To figure out where all the SCI’s are coming from, /sys/firmware/acpi/interrupts contains a file listing every possible source, and the count of how many times it has triggered:

$ cd /sys/firmware/acpi/interrupts
$ grep . *
error:             0
ff_gbl_lock:     0   enable
ff_pmtimer:     0  invalid
ff_pwr_btn:     0   enable
ff_rt_clk:     2  disable
ff_slp_btn:     0  invalid
gpe00:             0  invalid
gpe01:             0   enable
gpe02:           108   enable
gpe03:             0  invalid
gpe04:             0  invalid
gpe05:             0  invalid
gpe06:             0   enable
gpe07:             0   enable
gpe08:             0  invalid
gpe09:             0  invalid
gpe0A:             0  invalid
gpe0B:             0  invalid
gpe0C:             0  invalid
gpe0D:             0  invalid
gpe0E:             0  invalid
gpe0F:             0  invalid
gpe10:             0  invalid
gpe11:             0  invalid
gpe12:             0  invalid
gpe13:             0  invalid
gpe14:             0  invalid
gpe15:             0  invalid
gpe16:             0  invalid
gpe17:          1084   enable
gpe18:             0   enable
gpe19:             0  invalid
gpe1A:             0  invalid
gpe1B:             0  invalid
gpe1C:             0  invalid
gpe1D:             0  invalid
gpe1E:             0  invalid
gpe1F:             0  invalid
gpe_all:    1192
sci:  1194
sci_not:     0

sci

The number of times the ACPI SCI has been called and claimed an interrupt.

sci_not

The number of times the ACPI SCI has been called and NOT claimed an interrupt.

gpe_all

count of SCI caused by GPEs.

gpeXX

count for individual GPE source

ff_gbl_lock

Global Lock

ff_pmtimer

PM Timer

ff_pwr_btn

Power Button

ff_rt_clk

Real Time Clock

ff_slp_btn

Sleep Button

error

an interrupt that can’t be accounted for above.

invalid

it’s either a GPE or a Fixed Event that doesn’t have an event handler.

disable

the GPE/Fixed Event is valid but disabled.

enable

the GPE/Fixed Event is valid and enabled.

Root has permission to clear any of these counters. Eg.:

# echo 0 > gpe11

All counters can be cleared by clearing the total “sci”:

# echo 0 > sci

None of these counters has an effect on the function of the system, they are simply statistics.

Besides this, user can also write specific strings to these files to enable/disable/clear ACPI interrupts in user space, which can be used to debug some ACPI interrupt storm issues.

Note that only writing to VALID GPE/Fixed Event is allowed, i.e. user can only change the status of runtime GPE and Fixed Event with event handler installed.

Let’s take power button fixed event for example, please kill acpid and other user space applications so that the machine won’t shutdown when pressing the power button:

# cat ff_pwr_btn
0     enabled
# press the power button for 3 times;
# cat ff_pwr_btn
3     enabled
# echo disable > ff_pwr_btn
# cat ff_pwr_btn
3     disabled
# press the power button for 3 times;
# cat ff_pwr_btn
3     disabled
# echo enable > ff_pwr_btn
# cat ff_pwr_btn
4     enabled
/*
 * this is because the status bit is set even if the enable
 * bit is cleared, and it triggers an ACPI fixed event when
 * the enable bit is set again
 */
# press the power button for 3 times;
# cat ff_pwr_btn
7     enabled
# echo disable > ff_pwr_btn
# press the power button for 3 times;
# echo clear > ff_pwr_btn     /* clear the status bit */
# echo disable > ff_pwr_btn
# cat ff_pwr_btn
7     enabled

What:

/sys/firmware/devicetree/*

Defined on file sysfs-firmware-ofw

When using OpenFirmware or a Flattened Device Tree to enumerate hardware, the device tree structure will be exposed in this directory.

It is possible for multiple device-tree directories to exist. Some device drivers use a separate detached device tree which have no attachment to the system tree and will appear in a different subdirectory under /sys/firmware/devicetree.

Userspace must not use the /sys/firmware/devicetree/base path directly, but instead should follow /proc/device-tree symlink. It is possible that the absolute path will change in the future, but the symlink is the stable ABI.

The /proc/device-tree symlink replaces the devicetree /proc filesystem support, and has largely the same semantics and should be compatible with existing userspace.

The contents of /sys/firmware/devicetree/ is a hierarchy of directories, one per device tree node. The directory name is the resolved path component name (node name plus address). Properties are represented as files in the directory. The contents of each file is the exact binary data from the device tree.

What:

/sys/firmware/dmi/entries/

Defined on file sysfs-firmware-dmi-entries

Many machines’ firmware (x86 and ia64) export DMI / SMBIOS tables to the operating system. Getting at this information is often valuable to userland, especially in cases where there are OEM extensions used.

The kernel itself does not rely on the majority of the information in these tables being correct. It equally cannot ensure that the data as exported to userland is without error either.

DMI is structured as a large table of entries, where each entry has a common header indicating the type and length of the entry, as well as a firmware-provided ‘handle’ that is supposed to be unique amongst all entries.

Some entries are required by the specification, but many others are optional. In general though, users should never expect to find a specific entry type on their system unless they know for certain what their firmware is doing. Machine to machine experiences will vary.

Multiple entries of the same type are allowed. In order to handle these duplicate entry types, each entry is assigned by the operating system an ‘instance’, which is derived from an entry type’s ordinal position. That is to say, if there are ‘N’ multiple entries with the same type ‘T’ in the DMI tables (adjacent or spread apart, it doesn’t matter), they will be represented in sysfs as entries “T-0” through “T-(N-1)”:

Example entry directories:

/sys/firmware/dmi/entries/17-0
/sys/firmware/dmi/entries/17-1
/sys/firmware/dmi/entries/17-2
/sys/firmware/dmi/entries/17-3
...

Instance numbers are used in lieu of the firmware assigned entry handles as the kernel itself makes no guarantees that handles as exported are unique, and there are likely firmware images that get this wrong in the wild.

Each DMI entry in sysfs has the common header values exported as attributes:

handle

The 16bit ‘handle’ that is assigned to this entry by the firmware. This handle may be referred to by other entries.

length

The length of the entry, as presented in the entry itself. Note that this is _not the total count of bytes associated with the entry. This value represents the length of the “formatted” portion of the entry. This “formatted” region is sometimes followed by the “unformatted” region composed of nul terminated strings, with termination signalled by a two nul characters in series.

raw

The raw bytes of the entry. This includes the “formatted” portion of the entry, the “unformatted” strings portion of the entry, and the two terminating nul characters.

type

The type of the entry. This value is the same as found in the directory name. It indicates how the rest of the entry should be interpreted.

instance

The instance ordinal of the entry for the given type. This value is the same as found in the parent directory name.

position

The ordinal position (zero-based) of the entry within the entirety of the DMI entry table.

Entry Specialization

Some entry types may have other information available in sysfs. Not all types are specialized.

Type 15 - System Event Log

This entry allows the firmware to export a log of events the system has taken. This information is typically backed by nvram, but the implementation details are abstracted by this table. This entry’s data is exported in the directory:

/sys/firmware/dmi/entries/15-0/system_event_log

and has the following attributes (documented in the SMBIOS / DMI specification under “System Event Log (Type 15)”:

  • area_length

  • header_start_offset

  • data_start_offset

  • access_method

  • status

  • change_token

  • access_method_address

  • header_format

  • per_log_type_descriptor_length

  • type_descriptors_supported_count

As well, the kernel exports the binary attribute:

raw_event_log

The raw binary bits of the event log as described by the DMI entry.

What:

/sys/firmware/dmi/tables/

Defined on file sysfs-firmware-dmi-tables

The firmware provides DMI structures as a packed list of data referenced by a SMBIOS table entry point. The SMBIOS entry point contains general information, like SMBIOS version, DMI table size, etc. The structure, content and size of SMBIOS entry point is dependent on SMBIOS version. The format of SMBIOS entry point and DMI structures can be read in SMBIOS specification.

The dmi/tables provides raw SMBIOS entry point and DMI tables through sysfs as an alternative to utilities reading them from /dev/mem. The raw SMBIOS entry point and DMI table are presented as binary attributes and are accessible via:

/sys/firmware/dmi/tables/smbios_entry_point /sys/firmware/dmi/tables/DMI

The complete DMI information can be obtained using these two tables.

What:

/sys/firmware/efi/config_table

Defined on file sysfs-firmware-efi

It shows the physical address of config table entry in the EFI system table.

What:

/sys/firmware/efi/esrt/

Defined on file sysfs-firmware-efi-esrt

Provides userland access to read the EFI System Resource Table (ESRT), a catalog of firmware for which can be updated with the UEFI UpdateCapsule mechanism described in section 7.5 of the UEFI Standard.

What:

/sys/firmware/efi/esrt/entries/entry$N/

Defined on file sysfs-firmware-efi-esrt

Each ESRT entry is identified by a GUID, and each gets a subdirectory under entries/ . example: /sys/firmware/efi/esrt/entries/entry0/

What:

/sys/firmware/efi/esrt/entries/entry$N/capsule_flags

Defined on file sysfs-firmware-efi-esrt

Flags that must be passed to UpdateCapsule()

What:

/sys/firmware/efi/esrt/entries/entry$N/fw_class

Defined on file sysfs-firmware-efi-esrt

This is the entry’s guid, and will match the directory name.

What:

/sys/firmware/efi/esrt/entries/entry$N/fw_type

Defined on file sysfs-firmware-efi-esrt

What kind of firmware entry this is: 0 - Unknown 1 - System Firmware 2 - Device Firmware 3 - UEFI Driver

What:

/sys/firmware/efi/esrt/entries/entry$N/fw_version

Defined on file sysfs-firmware-efi-esrt

The version of the firmware currently installed. This is a 32-bit unsigned integer.

What:

/sys/firmware/efi/esrt/entries/entry$N/last_attempt_status

Defined on file sysfs-firmware-efi-esrt

The result of the last firmware update attempt for the firmware resource entry. 0 - Success 1 - Insufficient resources 2 - Incorrect version 3 - Invalid format 4 - Authentication error 5 - AC power event 6 - Battery power event

What:

/sys/firmware/efi/esrt/entries/entry$N/last_attempt_version

Defined on file sysfs-firmware-efi-esrt

The last firmware version for which an update was attempted.

What:

/sys/firmware/efi/esrt/entries/entry$N/lowest_supported_fw_version

Defined on file sysfs-firmware-efi-esrt

The lowest version of the firmware that can be installed.

What:

/sys/firmware/efi/esrt/fw_resource_count

Defined on file sysfs-firmware-efi-esrt

The number of entries in the ESRT

What:

/sys/firmware/efi/esrt/fw_resource_count_max

Defined on file sysfs-firmware-efi-esrt

The maximum number of entries that /could/ be registered in the allocation the table is currently in. This is really only useful to the system firmware itself.

What:

/sys/firmware/efi/esrt/fw_resource_version

Defined on file sysfs-firmware-efi-esrt

The version of the ESRT structure provided by the firmware.

What:

/sys/firmware/efi/fw_vendor

Defined on file sysfs-firmware-efi

It shows the physical address of firmware vendor field in the EFI system table.

What:

/sys/firmware/efi/runtime

Defined on file sysfs-firmware-efi

It shows the physical address of runtime service table entry in the EFI system table.

What:

/sys/firmware/efi/runtime-map/

Defined on file sysfs-firmware-efi-runtime-map

Switching efi runtime services to virtual mode requires that all efi memory ranges which have the runtime attribute bit set to be mapped to virtual addresses.

The efi runtime services can only be switched to virtual mode once without rebooting. The kexec kernel must maintain the same physical to virtual address mappings as the first kernel. The mappings are exported to sysfs so userspace tools can reassemble them and pass them into the kexec kernel.

/sys/firmware/efi/runtime-map/ is the directory the kernel exports that information in.

subdirectories are named with the number of the memory range:

/sys/firmware/efi/runtime-map/0 /sys/firmware/efi/runtime-map/1 /sys/firmware/efi/runtime-map/2 /sys/firmware/efi/runtime-map/3 …

Each subdirectory contains five files:

attribute : The attributes of the memory range. num_pages : The size of the memory range in pages. phys_addr : The physical address of the memory range. type : The type of the memory range. virt_addr : The virtual address of the memory range.

Above values are all hexadecimal numbers with the ‘0x’ prefix.

What:

/sys/firmware/efi/systab

Defined on file sysfs-firmware-efi

Displays the physical addresses of all EFI Configuration Tables found via the EFI System Table. The order in which the tables are printed forms an ABI and newer versions are always printed first, i.e. ACPI20 comes before ACPI.

What:

/sys/firmware/fdt

Defined on file sysfs-firmware-ofw

Exports the FDT blob that was passed to the kernel by the bootloader. This allows userland applications such as kexec to access the raw binary. This blob is also useful when debugging since it contains any changes made to the blob by the bootloader.

The fact that this node does not reside under /sys/firmware/device-tree is deliberate: FDT is also used on arm64 UEFI/ACPI systems to communicate just the UEFI and ACPI entry points, but the FDT is never unflattened and used to configure the system.

A CRC32 checksum is calculated over the entire FDT blob, and verified at late_initcall time. The sysfs entry is instantiated only if the checksum is valid, i.e., if the FDT blob has not been modified in the mean time. Otherwise, a warning is printed.

What:

/sys/firmware/gsmi

Defined on file sysfs-firmware-gsmi

Some servers used internally at Google have firmware that provides callback functionality via explicit SMI triggers. Some of the callbacks are similar to those provided by the EFI runtime services page, but due to historical reasons this different entry-point has been used.

The gsmi driver implements the kernel’s abstraction for these firmware callbacks. Currently, this functionality is limited to handling the system event log and getting access to EFI-style variables stored in nvram.

Layout:

/sys/firmware/gsmi/vars:

This directory has the same layout (and underlying implementation as /sys/firmware/efi/vars. See Documentation/ABI/*/sysfs-firmware-efi-vars for more information on how to interact with this structure.

/sys/firmware/gsmi/append_to_eventlog - write-only:

This file takes a binary blob and passes it onto the firmware to be timestamped and appended to the system eventlog. The binary format is interpreted by the firmware and may change from platform to platform. The only kernel-enforced requirement is that the blob be prefixed with a 32bit host-endian type used as part of the firmware call.

/sys/firmware/gsmi/clear_config - write-only:

Writing any value to this file will cause the entire firmware configuration to be reset to “factory defaults”. Callers should assume that a reboot is required for the configuration to be cleared.

/sys/firmware/gsmi/clear_eventlog - write-only:

This file is used to clear out a portion/the whole of the system event log. Values written should be values between 1 and 100 inclusive (in ASCII) representing the fraction of the log to clear. Not all platforms support fractional clearing though, and this writes to this file will error out if the firmware doesn’t like your submitted fraction.

Callers should assume that a reboot is needed for this operation to complete.

What:

/sys/firmware/ibft/acpi_header

Defined on file sysfs-ibft

The /sys/firmware/ibft/acpi_header directory will contain files that expose the SIGNATURE, OEM_ID, and OEM_TABLE_ID fields of the acpi table header of the iBFT structure. This will allow for identification of the creator of the table which is useful in determining quirks associated with some adapters when used in hardware vs software iscsi initiator mode.

What:

/sys/firmware/ibft/ethernetX

Defined on file sysfs-ibft

The /sys/firmware/ibft/ethernetX directory will contain files that expose the iSCSI Boot Firmware Table NIC data. Usually this contains the IP address, MAC, and gateway of the NIC.

What:

/sys/firmware/ibft/initiator

Defined on file sysfs-ibft

The /sys/firmware/ibft/initiator directory will contain files that expose the iSCSI Boot Firmware Table initiator data. Usually this contains the Initiator name.

What:

/sys/firmware/ibft/targetX

Defined on file sysfs-ibft

The /sys/firmware/ibft/targetX directory will contain files that expose the iSCSI Boot Firmware Table target data. Usually this contains the target’s IP address, boot LUN, target name, and what NIC it is associated with. It can also contain the CHAP name (and password), the reverse CHAP name (and password)

What:

/sys/firmware/log

Defined on file sysfs-firmware-log

The /sys/firmware/log is a binary file that represents a read-only copy of the firmware’s log if one is available.

What:

/sys/firmware/memmap/

Defined on file sysfs-firmware-memmap

On all platforms, the firmware provides a memory map which the kernel reads. The resources from that memory map are registered in the kernel resource tree and exposed to userspace via /proc/iomem (together with other resources).

However, on most architectures that firmware-provided memory map is modified afterwards by the kernel itself, either because the kernel merges that memory map with other information or just because the user overwrites that memory map via command line.

kexec needs the raw firmware-provided memory map to setup the parameter segment of the kernel that should be booted with kexec. Also, the raw memory map is useful for debugging. For that reason, /sys/firmware/memmap is an interface that provides the raw memory map to userspace.

The structure is as follows: Under /sys/firmware/memmap there are subdirectories with the number of the entry as their name:

/sys/firmware/memmap/0
/sys/firmware/memmap/1
/sys/firmware/memmap/2
/sys/firmware/memmap/3
...

The maximum depends on the number of memory map entries provided by the firmware. The order is just the order that the firmware provides.

Each directory contains three files:

start

The start address (as hexadecimal number with the ‘0x’ prefix).

end

The end address, inclusive (regardless whether the firmware provides inclusive or exclusive ranges).

type

Type of the entry as string. See below for a list of valid types.

So, for example:

/sys/firmware/memmap/0/start
/sys/firmware/memmap/0/end
/sys/firmware/memmap/0/type
/sys/firmware/memmap/1/start
...

Currently following types exist:

  • System RAM

  • ACPI Tables

  • ACPI Non-volatile Storage

  • reserved

Following shell snippet can be used to display that memory map in a human-readable format:

#!/bin/bash
cd /sys/firmware/memmap
for dir in * ; do
    start=$(cat $dir/start)
    end=$(cat $dir/end)
    type=$(cat $dir/type)
    printf "%016x-%016x (%s)\n" $start $[ $end +1] "$type"
done

What:

/sys/firmware/opal/powercap

Defined on file sysfs-firmware-opal-powercap

Powercap directory for Powernv (P8, P9) servers

Each folder in this directory contains a power-cappable component.

What:

/sys/firmware/opal/powercap/system-powercap

Defined on file sysfs-firmware-opal-powercap

System powercap directory and attributes applicable for Powernv (P8, P9) servers

This directory provides powercap information. It contains below sysfs attributes:

  • powercap-min : This file provides the minimum possible powercap in Watt units

  • powercap-max : This file provides the maximum possible powercap in Watt units

  • powercap-current : This file provides the current powercap set on the system. Writing to this file creates a request for setting a new-powercap. The powercap requested must be between powercap-min and powercap-max.

What:

/sys/firmware/opal/psr

Defined on file sysfs-firmware-opal-psr

Power-Shift-Ratio directory for Powernv P9 servers

Power-Shift-Ratio allows to provide hints the firmware to shift/throttle power between different entities in the system. Each attribute in this directory indicates a settable PSR.

What:

/sys/firmware/opal/psr/cpu_to_gpu_X

Defined on file sysfs-firmware-opal-psr

PSR sysfs attributes for Powernv P9 servers

Power-Shift-Ratio between CPU and GPU for a given chip with chip-id X. This file gives the ratio (0-100) which is used by OCC for power-capping.

What:

/sys/firmware/qemu_fw_cfg/

Defined on file sysfs-firmware-qemu_fw_cfg

Several different architectures supported by QEMU (x86, arm, sun4*, ppc/mac) are provisioned with a firmware configuration (fw_cfg) device, originally intended as a way for the host to provide configuration data to the guest firmware. Starting with QEMU v2.4, arbitrary fw_cfg file entries may be specified by the user on the command line, which makes fw_cfg additionally useful as an out-of-band, asynchronous mechanism for providing configuration data to the guest userspace.

The authoritative guest-side hardware interface documentation to the fw_cfg device can be found in “docs/specs/fw_cfg.txt” in the QEMU source tree.

=== SysFS fw_cfg Interface ===

The fw_cfg sysfs interface described in this document is only intended to display discoverable blobs (i.e., those registered with the file directory), as there is no way to determine the presence or size of “legacy” blobs (with selector keys between 0x0002 and 0x0018) programmatically.

All fw_cfg information is shown under:

/sys/firmware/qemu_fw_cfg/

The only legacy blob displayed is the fw_cfg device revision:

/sys/firmware/qemu_fw_cfg/rev

— Discoverable fw_cfg blobs by selector key —

All discoverable blobs listed in the fw_cfg file directory are displayed as entries named after their unique selector key value, e.g.:

/sys/firmware/qemu_fw_cfg/by_key/32 /sys/firmware/qemu_fw_cfg/by_key/33 /sys/firmware/qemu_fw_cfg/by_key/34 …

Each such fw_cfg sysfs entry has the following values exported as attributes:

nameThe 56-byte nul-terminated ASCII string used as the

blob’s ‘file name’ in the fw_cfg directory.

sizeThe length of the blob, as given in the fw_cfg

directory.

keyThe value of the blob’s selector key as given in the

fw_cfg directory. This value is the same as used in the parent directory name.

rawThe raw bytes of the blob, obtained by selecting the

entry via the control register, and reading a number of bytes equal to the blob size from the data register.

— Listing fw_cfg blobs by file name —

While the fw_cfg device does not impose any specific naming convention on the blobs registered in the file directory, QEMU developers have traditionally used path name semantics to give each blob a descriptive name. For example:

“bootorder” “genroms/kvmvapic.bin” “etc/e820” “etc/boot-fail-wait” “etc/system-states” “etc/table-loader” “etc/acpi/rsdp” “etc/acpi/tables” “etc/smbios/smbios-tables” “etc/smbios/smbios-anchor” …

In addition to the listing by unique selector key described above, the fw_cfg sysfs driver also attempts to build a tree of directories matching the path name components of fw_cfg blob names, ending in symlinks to the by_key entry for each “basename”, as illustrated below (assume current directory is /sys/firmware):

qemu_fw_cfg/by_name/bootorder -> ../by_key/38 qemu_fw_cfg/by_name/etc/e820 -> ../../by_key/35 qemu_fw_cfg/by_name/etc/acpi/rsdp -> ../../../by_key/41 …

Construction of the directory tree and symlinks is done on a “best-effort” basis, as there is no guarantee that components of fw_cfg blob names are always “well behaved”. I.e., there is the possibility that a symlink (basename) will conflict with a dirname component of another fw_cfg blob, in which case the creation of the offending /sys/firmware/qemu_fw_cfg/by_name entry will be skipped.

The authoritative list of entries will continue to be found under the /sys/firmware/qemu_fw_cfg/by_key directory.

What:

/sys/firmware/sfi/tables/

Defined on file sysfs-firmware-sfi

SFI defines a number of small static memory tables so the kernel can get platform information from firmware.

The tables are defined in the latest SFI specification: http://simplefirmware.org/documentation

While the tables are used by the kernel, user-space can observe them this way:

# cd /sys/firmware/sfi/tables # cat $TABLENAME > $TABLENAME.bin

What:

/sys/firmware/sgi_uv/

Defined on file sysfs-firmware-sgi_uv

The /sys/firmware/sgi_uv directory contains information about the SGI UV platform.

Under that directory are a number of files:

partition_id coherence_id

The partition_id entry contains the partition id. SGI UV systems can be partitioned into multiple physical machines, which each partition running a unique copy of the operating system. Each partition will have a unique partition id. To display the partition id, use the command:

cat /sys/firmware/sgi_uv/partition_id

The coherence_id entry contains the coherence id. A partitioned SGI UV system can have one or more coherence domain. The coherence id indicates which coherence domain this partition is in. To display the coherence id, use the command:

cat /sys/firmware/sgi_uv/coherence_id

What:

/sys/fs/ext4/<disk>/delayed_allocation_blocks

Defined on file sysfs-fs-ext4

This file is read-only and shows the number of blocks that are dirty in the page cache, but which do not have their location in the filesystem allocated yet.

What:

/sys/fs/ext4/<disk>/extent_max_zeroout_kb

Defined on file sysfs-fs-ext4

The maximum number of kilobytes which will be zeroed out in preference to creating a new uninitialized extent when manipulating an inode’s extent tree. Note that using a larger value will increase the variability of time necessary to complete a random write operation (since a 4k random write might turn into a much larger write due to the zeroout operation).

What:

/sys/fs/ext4/<disk>/inode_goal

Defined on file sysfs-fs-ext4

Tuning parameter which (if non-zero) controls the goal inode used by the inode allocator in preference to all other allocation heuristics. This is intended for debugging use only, and should be 0 on production systems.

What:

/sys/fs/ext4/<disk>/inode_readahead_blks

Defined on file sysfs-fs-ext4

Tuning parameter which controls the maximum number of inode table blocks that ext4’s inode table readahead algorithm will pre-read into the buffer cache

What:

/sys/fs/ext4/<disk>/journal_task

Defined on file sysfs-fs-ext4

This file is read-only and shows the pid of journal thread in current pid-namespace or 0 if task is unreachable.

What:

/sys/fs/ext4/<disk>/lifetime_write_kbytes

Defined on file sysfs-fs-ext4

This file is read-only and shows the number of kilobytes of data that have been written to this filesystem since it was created.

What:

/sys/fs/ext4/<disk>/max_writeback_mb_bump

Defined on file sysfs-fs-ext4

The maximum number of megabytes the writeback code will try to write out before move on to another inode.

What:

/sys/fs/ext4/<disk>/mb_group_prealloc

Defined on file sysfs-fs-ext4

The multiblock allocator will round up allocation requests to a multiple of this tuning parameter if the stripe size is not set in the ext4 superblock

What:

/sys/fs/ext4/<disk>/mb_max_to_scan

Defined on file sysfs-fs-ext4

The maximum number of extents the multiblock allocator will search to find the best extent

What:

/sys/fs/ext4/<disk>/mb_min_to_scan

Defined on file sysfs-fs-ext4

The minimum number of extents the multiblock allocator will search to find the best extent

What:

/sys/fs/ext4/<disk>/mb_order2_req

Defined on file sysfs-fs-ext4

Tuning parameter which controls the minimum size for requests (as a power of 2) where the buddy cache is used

What:

/sys/fs/ext4/<disk>/mb_stats

Defined on file sysfs-fs-ext4

Controls whether the multiblock allocator should collect statistics, which are shown during the unmount. 1 means to collect statistics, 0 means not to collect statistics

What:

/sys/fs/ext4/<disk>/mb_stream_req

Defined on file sysfs-fs-ext4

Files which have fewer blocks than this tunable parameter will have their blocks allocated out of a block group specific preallocation pool, so that small files are packed closely together. Each large file will have its blocks allocated out of its own unique preallocation pool.

What:

/sys/fs/ext4/<disk>/session_write_kbytes

Defined on file sysfs-fs-ext4

This file is read-only and shows the number of kilobytes of data that have been written to this filesystem since it was mounted.

What:

/sys/fs/f2fs/<disk>/batched_trim_sections

Defined on file sysfs-fs-f2fs

Controls the trimming rate in batch mode. <deprecated>

What:

/sys/fs/f2fs/<disk>/cp_interval

Defined on file sysfs-fs-f2fs

Controls the checkpoint timing.

What:

/sys/fs/f2fs/<disk>/current_reserved_blocks

Defined on file sysfs-fs-f2fs

Shows current reserved blocks in system, it may be temporarily smaller than target_reserved_blocks, but will gradually increase to target_reserved_blocks when more free blocks are freed by user later.

What:

/sys/fs/f2fs/<disk>/dir_level

Defined on file sysfs-fs-f2fs

Controls the directory level for large directory.

What:

/sys/fs/f2fs/<disk>/dirty_nats_ratio

Defined on file sysfs-fs-f2fs

Controls dirty nat entries ratio threshold, if current ratio exceeds configured threshold, checkpoint will be triggered for flushing dirty nat entries.

What:

/sys/fs/f2fs/<disk>/discard_granularity

Defined on file sysfs-fs-f2fs

Controls discard granularity of inner discard thread, inner thread will not issue discards with size that is smaller than granularity. The unit size is one block, now only support configuring in range of [1, 512].

What:

/sys/fs/f2fs/<disk>/discard_idle_interval

Defined on file sysfs-fs-f2fs

Controls the idle timing for discard path.

What:

/sys/fs/f2fs/<disk>/extension_list

Defined on file sysfs-fs-f2fs

Used to control configure extension list: - Query: cat /sys/fs/f2fs/<disk>/extension_list - Add: echo ‘[h/c]extension’ > /sys/fs/f2fs/<disk>/extension_list - Del: echo ‘[h/c]!extension’ > /sys/fs/f2fs/<disk>/extension_list - [h] means add/del hot file extension - [c] means add/del cold file extension

What:

/sys/fs/f2fs/<disk>/features

Defined on file sysfs-fs-f2fs

Shows all enabled features in current device.

What:

/sys/fs/f2fs/<disk>/gc_idle

Defined on file sysfs-fs-f2fs

Controls the victim selection policy for garbage collection.

What:

/sys/fs/f2fs/<disk>/gc_idle_interval

Defined on file sysfs-fs-f2fs

Controls the idle timing for gc path.

What:

/sys/fs/f2fs/<disk>/gc_max_sleep_time

Defined on file sysfs-fs-f2fs

Controls the maximun sleep time for gc_thread. Time is in milliseconds.

What:

/sys/fs/f2fs/<disk>/gc_min_sleep_time

Defined on file sysfs-fs-f2fs

Controls the minimum sleep time for gc_thread. Time is in milliseconds.

What:

/sys/fs/f2fs/<disk>/gc_no_gc_sleep_time

Defined on file sysfs-fs-f2fs

Controls the default sleep time for gc_thread. Time is in milliseconds.

What:

/sys/fs/f2fs/<disk>/gc_urgent

Defined on file sysfs-fs-f2fs

Do background GC agressively

What:

/sys/fs/f2fs/<disk>/gc_urgent_sleep_time

Defined on file sysfs-fs-f2fs

Controls sleep time of GC urgent mode

What:

/sys/fs/f2fs/<disk>/idle_interval

Defined on file sysfs-fs-f2fs

Controls the idle timing for all paths other than discard and gc path.

What:

/sys/fs/f2fs/<disk>/inject_rate

Defined on file sysfs-fs-f2fs

Controls the injection rate.

What:

/sys/fs/f2fs/<disk>/inject_type

Defined on file sysfs-fs-f2fs

Controls the injection type.

What:

/sys/fs/f2fs/<disk>/iostat_enable

Defined on file sysfs-fs-f2fs

Controls to enable/disable IO stat.

What:

/sys/fs/f2fs/<disk>/ipu_policy

Defined on file sysfs-fs-f2fs

Controls the in-place-update policy.

What:

/sys/fs/f2fs/<disk>/lifetime_write_kbytes

Defined on file sysfs-fs-f2fs

Shows total written kbytes issued to disk.

What:

/sys/fs/f2fs/<disk>/max_small_discards

Defined on file sysfs-fs-f2fs

Controls the issue rate of small discard commands.

/sys/fs/f2fs/<disk>/max_victim_search

Defined on file sysfs-fs-f2fs

Controls the number of trials to find a victim segment.

What:

/sys/fs/f2fs/<disk>/migration_granularity

Defined on file sysfs-fs-f2fs

Controls migration granularity of garbage collection on large section, it can let GC move partial segment{s} of one section in one GC cycle, so that dispersing heavy overhead GC to multiple lightweight one.

What:

/sys/fs/f2fs/<disk>/min_fsync_blocks

Defined on file sysfs-fs-f2fs

Controls the dirty page count condition for the in-place-update policies.

What:

/sys/fs/f2fs/<disk>/min_hot_blocks

Defined on file sysfs-fs-f2fs

Controls the dirty page count condition for redefining hot data.

What:

/sys/fs/f2fs/<disk>/min_ipu_util

Defined on file sysfs-fs-f2fs

Controls the FS utilization condition for the in-place-update policies.

What:

/sys/fs/f2fs/<disk>/min_seq_blocks

Defined on file sysfs-fs-f2fs

Controls the dirty page count condition for batched sequential writes in ->writepages.

What:

/sys/fs/f2fs/<disk>/min_ssr_sections

Defined on file sysfs-fs-f2fs

Controls the fee section threshold to trigger SSR allocation.

What:

/sys/fs/f2fs/<disk>/ra_nid_pages

Defined on file sysfs-fs-f2fs

Controls the count of nid pages to be readaheaded.

What:

/sys/fs/f2fs/<disk>/ram_thresh

Defined on file sysfs-fs-f2fs

Controls the memory footprint used by f2fs.

What:

/sys/fs/f2fs/<disk>/readdir_ra

Defined on file sysfs-fs-f2fs

Controls readahead inode block in readdir.

What:

/sys/fs/f2fs/<disk>/reclaim_segments

Defined on file sysfs-fs-f2fs

Controls the issue rate of segment discard commands.

What:

/sys/fs/f2fs/<disk>/reserved_blocks

Defined on file sysfs-fs-f2fs

Controls target reserved blocks in system, the threshold is soft, it could exceed current available user space.

What:

/sys/fs/f2fs/<disk>/umount_discard_timeout

Defined on file sysfs-fs-f2fs

Set timeout to issue discard commands during umount. Default: 5 secs

What:

/sys/fs/f2fs/<disk>/unusable

Defined on file sysfs-fs-f2fs

If checkpoint=disable, it displays the number of blocks that are unusable. If checkpoint=enable it displays the enumber of blocks that would be unusable if checkpoint=disable were to be set.

What:

/sys/fs/nilfs2/<device>/README

Defined on file sysfs-fs-nilfs2

Describe attributes of /sys/fs/nilfs2/<device> group.

What:

/sys/fs/nilfs2/<device>/blocksize

Defined on file sysfs-fs-nilfs2

Show volume’s block size in bytes.

What:

/sys/fs/nilfs2/<device>/checkpoints/README

Defined on file sysfs-fs-nilfs2

Describe attributes of /sys/fs/nilfs2/<device>/checkpoints group.

What:

/sys/fs/nilfs2/<device>/checkpoints/checkpoints_number

Defined on file sysfs-fs-nilfs2

Show number of checkpoints on volume.

What:

/sys/fs/nilfs2/<device>/checkpoints/last_seg_checkpoint

Defined on file sysfs-fs-nilfs2

Show checkpoint number of the latest segment.

What:

/sys/fs/nilfs2/<device>/checkpoints/next_checkpoint

Defined on file sysfs-fs-nilfs2

Show next checkpoint number.

What:

/sys/fs/nilfs2/<device>/checkpoints/snapshots_number

Defined on file sysfs-fs-nilfs2

Show number of snapshots on volume.

What:

/sys/fs/nilfs2/<device>/device_size

Defined on file sysfs-fs-nilfs2

Show volume size in bytes.

What:

/sys/fs/nilfs2/<device>/free_blocks

Defined on file sysfs-fs-nilfs2

Show count of free blocks on volume.

What:

/sys/fs/nilfs2/<device>/mounted_snapshots/<id>/README

Defined on file sysfs-fs-nilfs2

Describe attributes of /sys/fs/nilfs2/<device>/mounted_snapshots/<id> group.

What:

/sys/fs/nilfs2/<device>/mounted_snapshots/<id>/blocks_count

Defined on file sysfs-fs-nilfs2

Show number of blocks for snapshot.

What:

/sys/fs/nilfs2/<device>/mounted_snapshots/<id>/inodes_count

Defined on file sysfs-fs-nilfs2

Show number of inodes for snapshot.

What:

/sys/fs/nilfs2/<device>/mounted_snapshots/README

Defined on file sysfs-fs-nilfs2

Describe content of /sys/fs/nilfs2/<device>/mounted_snapshots group.

What:

/sys/fs/nilfs2/<device>/revision

Defined on file sysfs-fs-nilfs2

Show NILFS file system revision on volume. This value informs about metadata structures’ revision on mounted volume.

What:

/sys/fs/nilfs2/<device>/segctor/README

Defined on file sysfs-fs-nilfs2

Describe attributes of /sys/fs/nilfs2/<device>/segctor group.

What:

/sys/fs/nilfs2/<device>/segctor/current_last_full_seg

Defined on file sysfs-fs-nilfs2

Show index number of the latest full segment.

What:

/sys/fs/nilfs2/<device>/segctor/current_seg_sequence

Defined on file sysfs-fs-nilfs2

Show segment sequence counter.

What:

/sys/fs/nilfs2/<device>/segctor/dirty_data_blocks_count

Defined on file sysfs-fs-nilfs2

Show number of dirty data blocks.

What:

/sys/fs/nilfs2/<device>/segctor/last_nongc_write_time

Defined on file sysfs-fs-nilfs2

Show write time of the last segment not for cleaner operation in human-readable format.

What:

/sys/fs/nilfs2/<device>/segctor/last_nongc_write_time_secs

Defined on file sysfs-fs-nilfs2

Show write time of the last segment not for cleaner operation in seconds.

What:

/sys/fs/nilfs2/<device>/segctor/last_pseg_block

Defined on file sysfs-fs-nilfs2

Show start block number of the latest segment.

What:

/sys/fs/nilfs2/<device>/segctor/last_seg_checkpoint

Defined on file sysfs-fs-nilfs2

Show checkpoint number of the latest segment.

What:

/sys/fs/nilfs2/<device>/segctor/last_seg_sequence

Defined on file sysfs-fs-nilfs2

Show sequence value of the latest segment.

What:

/sys/fs/nilfs2/<device>/segctor/last_seg_write_time

Defined on file sysfs-fs-nilfs2

Show write time of the last segment in human-readable format.

What:

/sys/fs/nilfs2/<device>/segctor/last_seg_write_time_secs

Defined on file sysfs-fs-nilfs2

Show write time of the last segment in seconds.

What:

/sys/fs/nilfs2/<device>/segctor/next_checkpoint

Defined on file sysfs-fs-nilfs2

Show next checkpoint number.

What:

/sys/fs/nilfs2/<device>/segctor/next_full_seg

Defined on file sysfs-fs-nilfs2

Show index number of the full segment index to be used next.

What:

/sys/fs/nilfs2/<device>/segctor/next_pseg_offset

Defined on file sysfs-fs-nilfs2

Show offset of next partial segment in the current full segment.

What:

/sys/fs/nilfs2/<device>/segments/README

Defined on file sysfs-fs-nilfs2

Describe attributes of /sys/fs/nilfs2/<device>/segments group.

What:

/sys/fs/nilfs2/<device>/segments/blocks_per_segment

Defined on file sysfs-fs-nilfs2

Show number of blocks in segment.

What:

/sys/fs/nilfs2/<device>/segments/clean_segments

Defined on file sysfs-fs-nilfs2

Show count of clean segments.

What:

/sys/fs/nilfs2/<device>/segments/dirty_segments

Defined on file sysfs-fs-nilfs2

Show count of dirty segments.

What:

/sys/fs/nilfs2/<device>/segments/segments_number

Defined on file sysfs-fs-nilfs2

Show number of segments on a volume.

What:

/sys/fs/nilfs2/<device>/superblock/README

Defined on file sysfs-fs-nilfs2

Describe attributes of /sys/fs/nilfs2/<device>/superblock group.

What:

/sys/fs/nilfs2/<device>/superblock/sb_update_frequency

Defined on file sysfs-fs-nilfs2

Show/Set interval of periodical update of superblock (in seconds).

What:

/sys/fs/nilfs2/<device>/superblock/sb_write_count

Defined on file sysfs-fs-nilfs2

Show current write count of super block.

What:

/sys/fs/nilfs2/<device>/superblock/sb_write_time

Defined on file sysfs-fs-nilfs2

Show last write time of super block in human-readable format.

What:

/sys/fs/nilfs2/<device>/superblock/sb_write_time_secs

Defined on file sysfs-fs-nilfs2

Show last write time of super block in seconds.

What:

/sys/fs/nilfs2/<device>/uuid

Defined on file sysfs-fs-nilfs2

Show volume’s UUID (Universally Unique Identifier).

What:

/sys/fs/nilfs2/<device>/volume_name

Defined on file sysfs-fs-nilfs2

Show volume’s label.

What:

/sys/fs/nilfs2/features/README

Defined on file sysfs-fs-nilfs2

Describe attributes of /sys/fs/nilfs2/features group.

What:

/sys/fs/nilfs2/features/revision

Defined on file sysfs-fs-nilfs2

Show current revision of NILFS file system driver. This value informs about file system revision that driver is ready to support.

What:

/sys/fs/ocfs2/

Defined on file sysfs-ocfs2

The /sys/fs/ocfs2 directory contains knobs used by the ocfs2-tools to interact with the filesystem.

What:

/sys/fs/ocfs2/active_cluster_plugin

Defined on file sysfs-ocfs2

The /sys/fs/ocfs2/active_cluster_plugin displays which cluster plugin is currently in use by the filesystem. The active plugin will appear in the loaded_cluster_plugins file as well. Only one plugin can be used at a time.

Reading from this file returns the name of the active plugin on a single line.

This file is read-only. Which plugin is active depends on the cluster stack in use. The contents may change when all filesystems are unmounted and the cluster stack is changed.

What:

/sys/fs/ocfs2/cluster_stack

Defined on file sysfs-ocfs2

The /sys/fs/ocfs2/cluster_stack file contains the name of current ocfs2 cluster stack. This value is set by userspace tools when bringing the cluster stack online.

Cluster stack names are 4 characters in length.

When the ‘o2cb’ cluster stack is used, the ‘o2cb’ cluster plugin is active. All other cluster stacks use the ‘user’ cluster plugin.

Reading from this file returns the name of the current cluster stack on a single line.

Writing a new stack name to this file changes the current cluster stack unless there are mounted ocfs2 filesystems. If there are mounted filesystems, attempts to change the stack return an error.

What:

/sys/fs/ocfs2/loaded_cluster_plugins

Defined on file sysfs-ocfs2

The /sys/fs/ocfs2/loaded_cluster_plugins file describes the available plugins to support ocfs2 cluster operation. A cluster plugin is required to use ocfs2 in a cluster. There are currently two available plugins:

  • ‘o2cb’ - The classic o2cb cluster stack that ocfs2 has

    used since its inception.

  • ‘user’ - A plugin supporting userspace cluster software

    in conjunction with fs/dlm.

Reading from this file returns the names of all loaded plugins, one per line.

This file is read-only. Its contents may change as plugins are loaded or removed.

What:

/sys/fs/ocfs2/max_locking_protocol

Defined on file sysfs-ocfs2

The /sys/fs/ocfs2/max_locking_protocol file displays version of ocfs2 locking supported by the filesystem. This version covers how ocfs2 uses distributed locking between cluster nodes.

The protocol version has a major and minor number. Two cluster nodes can interoperate if they have an identical major number and an overlapping minor number - thus, a node with version 1.10 can interoperate with a node sporting version 1.8, as long as both use the 1.8 protocol.

Reading from this file returns a single line, the major number and minor number joined by a period, eg “1.10”.

This file is read-only. The value is compiled into the driver.

What:

/sys/fs/pstore/… (or /dev/pstore/…)

Defined on file pstore

Generic interface to platform dependent persistent storage.

Platforms that provide a mechanism to preserve some data across system reboots can register with this driver to provide a generic interface to show records captured in the dying moments. In the case of a panic the last part of the console log is captured, but other interesting data can also be saved.

# mount -t pstore -o kmsg_bytes=8000 - /sys/fs/pstore

$ ls -l /sys/fs/pstore/ total 0 -r–r–r– 1 root root 7896 Nov 30 15:38 dmesg-erst-1

Different users of this interface will result in different filename prefixes. Currently two are defined:

“dmesg” - saved console log “mce” - architecture dependent data from fatal h/w error

Once the information in a file has been read, removing the file will signal to the underlying persistent storage device that it can reclaim the space for later re-use.

$ rm /sys/fs/pstore/dmesg-erst-1

The expectation is that all files in /sys/fs/pstore/ will be saved elsewhere and erased from persistent store soon after boot to free up space ready for the next catastrophe.

The ‘kmsg_bytes’ mount option changes the target amount of data saved on each oops/panic. Pstore saves (possibly multiple) files based on the record size of the underlying persistent storage until at least this amount is reached. Default is 10 Kbytes.

Pstore only supports one backend at a time. If multiple backends are available, the preferred backend may be set by passing the pstore.backend= argument to the kernel at boot time.

What:

/sys/fs/xfs/<disk>/log/log_head_lsn

Defined on file sysfs-fs-xfs

The log sequence number (LSN) of the current head of the log. The LSN is exported in “cycle:basic block” format.

What:

/sys/fs/xfs/<disk>/log/log_tail_lsn

Defined on file sysfs-fs-xfs

The log sequence number (LSN) of the current tail of the log. The LSN is exported in “cycle:basic block” format.

What:

/sys/fs/xfs/<disk>/log/reserve_grant_head

Defined on file sysfs-fs-xfs

The current state of the log reserve grant head. It represents the total log reservation of all currently outstanding transactions. The grant head is exported in “cycle:bytes” format.

What:

/sys/fs/xfs/<disk>/log/write_grant_head

Defined on file sysfs-fs-xfs

The current state of the log write grant head. It represents the total log reservation of all currently oustanding transactions, including regrants due to rolling transactions. The grant head is exported in “cycle:bytes” format.

What:

/sys/hypervisor/guest_type

Defined on file sysfs-hypervisor-xen

If running under Xen: Type of guest: “Xen”: standard guest type on arm “HVM”: fully virtualized guest (x86) “PV”: paravirtualized guest (x86) “PVH”: fully virtualized guest without legacy emulation (x86)

What:

/sys/hypervisor/pmu/pmu_features

Defined on file sysfs-hypervisor-xen

If running under Xen: Describes Xen PMU features (as an integer). A set bit indicates that the corresponding feature is enabled. See include/xen/interface/xenpmu.h for available features

What:

/sys/hypervisor/pmu/pmu_mode

Defined on file sysfs-hypervisor-xen

If running under Xen: Describes mode that Xen’s performance-monitoring unit (PMU) uses. Accepted values are:

“off”

PMU is disabled

“self”

The guest can profile itself

“hv”

The guest can profile itself and, if it is privileged (e.g. dom0), the hypervisor

“all”

The guest can profile itself, the hypervisor and all other guests. Only available to privileged guests.

What:

/sys/hypervisor/properties/buildid

Defined on file sysfs-hypervisor-xen

If running under Xen: Build id of the hypervisor, needed for hypervisor live patching. Might return “<denied>” in case of special security settings in the hypervisor.

What:

/sys/kernel/boot_params

Defined on file sysfs-kernel-boot_params

The /sys/kernel/boot_params directory contains two files: “data” and “version” and one subdirectory “setup_data”. It is used to export the kernel boot parameters of an x86 platform to userspace for kexec and debugging purpose.

If there’s no setup_data in boot_params the subdirectory will not be created.

“data” file is the binary representation of struct boot_params.

“version” file is the string representation of boot protocol version.

“setup_data” subdirectory contains the setup_data data structure in boot_params. setup_data is maintained in kernel as a link list. In “setup_data” subdirectory there’s one subdirectory for each link list node named with the number of the list nodes. The list node subdirectory contains two files “type” and “data”. “type” file is the string representation of setup_data type. “data” file is the binary representation of setup_data payload.

The whole boot_params directory structure is like below:

/sys/kernel/boot_params
|__ data
|__ setup_data
|   |__ 0
|   |   |__ data
|   |   |__ type
|   |__ 1
|       |__ data
|       |__ type
|__ version

What:

/sys/kernel/debug/<cros-ec-device>/console_log

Defined on file debugfs-cros-ec

If the EC supports the CONSOLE_READ command type, this file can be used to grab the EC logs. The kernel polls for the log and keeps its own buffer but userspace should grab this and write it out to some logs.

What:

/sys/kernel/debug/<cros-ec-device>/last_resume_result

Defined on file debugfs-cros-ec

Some ECs have a feature where they will track transitions to the (Intel) processor’s SLP_S0 line, in order to detect cases where a system failed to go into S0ix. When the system resumes, an EC with this feature will return a summary of SLP_S0 transitions that occurred. The last_resume_result file returns the most recent response from the AP’s resume message to the EC.

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

Output will be in the format: “0x%08xn”.

What:

/sys/kernel/debug/<cros-ec-device>/panicinfo

Defined on file debugfs-cros-ec

This file dumps the EC panic information from the previous reboot. This file will only exist if the PANIC_INFO command type is supported by the EC.

What:

/sys/kernel/debug/<cros-ec-device>/pdinfo

Defined on file debugfs-cros-ec

This file provides the port role, muxes and power debug information for all the USB PD/type-C ports available. If the are no ports available, this file will be just an empty file.

What:

/sys/kernel/debug/<cros-ec-device>/uptime

Defined on file debugfs-cros-ec

A u32 providing the time since EC booted in ms. This is is used for synchronizing the AP host time with the EC log. An error is returned if the command is not supported by the EC or there is a communication problem.

What:

/sys/kernel/debug/cec/*/error-inj

Defined on file debugfs-cec-error-inj

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

The basic syntax is as follows:

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

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

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

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

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

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

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

The following CEC error injection implementations exist:

  • Documentation/media/uapi/cec/cec-pin-error-inj.rst

What:

/sys/kernel/debug/ec/*/{gpe

use_global_lock

io}

Defined on file debugfs-ec

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

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

CAUTION:

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

What:

/sys/kernel/debug/genwqe/genwqe<n>_card/curr_dbg_uid0

Defined on file debugfs-driver-genwqe

Internal chip state of UID0 (unit id 0). Only available for PF.

What:

/sys/kernel/debug/genwqe/genwqe<n>_card/curr_dbg_uid1

Defined on file debugfs-driver-genwqe

Internal chip state of UID1. Only available for PF.

What:

/sys/kernel/debug/genwqe/genwqe<n>_card/curr_dbg_uid2

Defined on file debugfs-driver-genwqe

Internal chip state of UID2. Only available for PF.

What:

/sys/kernel/debug/genwqe/genwqe<n>_card/curr_regs

Defined on file debugfs-driver-genwqe

Dump of the current error registers. Only available for PF.

What:

/sys/kernel/debug/genwqe/genwqe<n>_card/ddcb_info

Defined on file debugfs-driver-genwqe

DDCB queue dump used for debugging queueing problems.

What:

/sys/kernel/debug/genwqe/genwqe<n>_card/err_inject

Defined on file debugfs-driver-genwqe

Possibility to inject error cases to ensure that the drivers error handling code works well.

What:

/sys/kernel/debug/genwqe/genwqe<n>_card/info

Defined on file debugfs-driver-genwqe

Comprehensive summary of bitstream version and software version. Used bitstream and bitstream clocking information.

What:

/sys/kernel/debug/genwqe/genwqe<n>_card/jobtimer

Defined on file debugfs-driver-genwqe

Dump job timeout register values for PF and VFs. Only available for PF.

What:

/sys/kernel/debug/genwqe/genwqe<n>_card/prev_dbg_uid0

Defined on file debugfs-driver-genwqe

Internal chip state of UID0 before card was reset. Only available for PF.

What:

/sys/kernel/debug/genwqe/genwqe<n>_card/prev_dbg_uid1

Defined on file debugfs-driver-genwqe

Internal chip state of UID1 before card was reset. Only available for PF.

What:

/sys/kernel/debug/genwqe/genwqe<n>_card/prev_dbg_uid2

Defined on file debugfs-driver-genwqe

Internal chip state of UID2 before card was reset. Only available for PF.

What:

/sys/kernel/debug/genwqe/genwqe<n>_card/prev_regs

Defined on file debugfs-driver-genwqe

Dump of the error registers before the last reset of the card occured. Only available for PF.

What:

/sys/kernel/debug/genwqe/genwqe<n>_card/queue_working_time

Defined on file debugfs-driver-genwqe

Dump queue working time register values for PF and VFs. Only available for PF.

What:

/sys/kernel/debug/genwqe/genwqe<n>_card/vf<0..14>_jobtimeout_msec

Defined on file debugfs-driver-genwqe

Default VF timeout 250ms. Testing might require 1000ms. Using 0 will use the cards default value (whatever that is).

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

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

What:

/sys/kernel/debug/habanalabs/hl<n>/addr

Defined on file debugfs-driver-habanalabs

Sets the device address to be used for read or write through PCI bar, or the device VA of a host mapped memory to be read or written directly from the host. The latter option is allowed only when the IOMMU is disabled. The acceptable value is a string that starts with “0x”

What:

/sys/kernel/debug/habanalabs/hl<n>/command_buffers

Defined on file debugfs-driver-habanalabs

Displays a list with information about the currently allocated command buffers

What:

/sys/kernel/debug/habanalabs/hl<n>/command_submission

Defined on file debugfs-driver-habanalabs

Displays a list with information about the currently active command submissions

What:

/sys/kernel/debug/habanalabs/hl<n>/command_submission_jobs

Defined on file debugfs-driver-habanalabs

Displays a list with detailed information about each JOB (CB) of each active command submission

What:

/sys/kernel/debug/habanalabs/hl<n>/data32

Defined on file debugfs-driver-habanalabs

Allows the root user to read or write directly through the device’s PCI bar. Writing to this file generates a write transaction while reading from the file generates a read transaction. This custom interface is needed (instead of using the generic Linux user-space PCI mapping) because the DDR bar is very small compared to the DDR memory and only the driver can move the bar before and after the transaction. If the IOMMU is disabled, it also allows the root user to read or write from the host a device VA of a host mapped memory

What:

/sys/kernel/debug/habanalabs/hl<n>/device

Defined on file debugfs-driver-habanalabs

Enables the root user to set the device to specific state. Valid values are “disable”, “enable”, “suspend”, “resume”. User can read this property to see the valid values

What:

/sys/kernel/debug/habanalabs/hl<n>/engines

Defined on file debugfs-driver-habanalabs

Displays the status registers values of the device engines and their derived idle status

What:

/sys/kernel/debug/habanalabs/hl<n>/i2c_addr

Defined on file debugfs-driver-habanalabs

Sets I2C device address for I2C transaction that is generated by the device’s CPU

What:

/sys/kernel/debug/habanalabs/hl<n>/i2c_bus

Defined on file debugfs-driver-habanalabs

Sets I2C bus address for I2C transaction that is generated by the device’s CPU

What:

/sys/kernel/debug/habanalabs/hl<n>/i2c_data

Defined on file debugfs-driver-habanalabs

Triggers an I2C transaction that is generated by the device’s CPU. Writing to this file generates a write transaction while reading from the file generates a read transcation

What:

/sys/kernel/debug/habanalabs/hl<n>/i2c_reg

Defined on file debugfs-driver-habanalabs

Sets I2C register id for I2C transaction that is generated by the device’s CPU

What:

/sys/kernel/debug/habanalabs/hl<n>/led0

Defined on file debugfs-driver-habanalabs

Sets the state of the first S/W led on the device

What:

/sys/kernel/debug/habanalabs/hl<n>/led1

Defined on file debugfs-driver-habanalabs

Sets the state of the second S/W led on the device

What:

/sys/kernel/debug/habanalabs/hl<n>/led2

Defined on file debugfs-driver-habanalabs

Sets the state of the third S/W led on the device

What:

/sys/kernel/debug/habanalabs/hl<n>/mmu

Defined on file debugfs-driver-habanalabs

Displays the hop values and physical address for a given ASID and virtual address. The user should write the ASID and VA into the file and then read the file to get the result. e.g. to display info about VA 0x1000 for ASID 1 you need to do: echo “1 0x1000” > /sys/kernel/debug/habanalabs/hl0/mmu

What:

/sys/kernel/debug/habanalabs/hl<n>/set_power_state

Defined on file debugfs-driver-habanalabs

Sets the PCI power state. Valid values are “1” for D0 and “2” for D3Hot

What:

/sys/kernel/debug/habanalabs/hl<n>/userptr

Defined on file debugfs-driver-habanalabs

Displays a list with information about the currently user pointers (user virtual addresses) that are pinned and mapped to DMA addresses

What:

/sys/kernel/debug/habanalabs/hl<n>/vm

Defined on file debugfs-driver-habanalabs

Displays a list with information about all the active virtual address mappings per ASID

What:

/sys/kernel/debug/ideapad/cfg

Defined on file debugfs-ideapad

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

What:

/sys/kernel/debug/ideapad/status

Defined on file debugfs-ideapad

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

What:

/sys/kernel/debug/nx-crypto/*

Defined on file debugfs-pfo-nx-crypto

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

What:

/sys/kernel/debug/olpc-ec/cmd

Defined on file debugfs-olpc

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

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

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

What:

/sys/kernel/debug/pktcdvd/pktcdvd[0-7]

Defined on file debugfs-pktcdvd

The pktcdvd module (packet writing driver) creates these files in debugfs:

/sys/kernel/debug/pktcdvd/pktcdvd[0-7]/

info

Lots of driver statistics and infos.

Example:

cat /sys/kernel/debug/pktcdvd/pktcdvd0/info

What:

/sys/kernel/debug/powerpc/memtrace

Defined on file ppc-memtrace

This folder contains the relevant debugfs files for the hardware trace macro to use. CONFIG_PPC64_HARDWARE_TRACING must be set.

What:

/sys/kernel/debug/powerpc/memtrace/<node-id>

Defined on file ppc-memtrace

This directory contains information about the removed memory from the specific NUMA node.

What:

/sys/kernel/debug/powerpc/memtrace/<node-id>/size

Defined on file ppc-memtrace

This contains the size of the memory removed from the node.

What:

/sys/kernel/debug/powerpc/memtrace/<node-id>/start

Defined on file ppc-memtrace

This contains the start address of the removed memory.

What:

/sys/kernel/debug/powerpc/memtrace/<node-id>/trace

Defined on file ppc-memtrace

This is where the hardware trace macro will output the trace it generates.

What:

/sys/kernel/debug/powerpc/memtrace/enable

Defined on file ppc-memtrace

Write an integer containing the size in bytes of the memory you want removed from each NUMA node to this file - it must be aligned to the memblock size. This amount of RAM will be removed from each NUMA node in the kernel mappings and the following debugfs files will be created. Once memory is successfully removed from each node, the following files are created. To re-add memory to the kernel, echo 0 into this file (it will be automatically onlined).

What:

/sys/kernel/debug/wilco_ec/h1_gpio

Defined on file debugfs-wilco-ec

As part of Chrome OS’s FAFT (Fully Automated Firmware Testing) tests, we need to ensure that the H1 chip is properly setting some GPIO lines. The h1_gpio attribute exposes the state of the lines: - ENTRY_TO_FACT_MODE in BIT(0) - SPI_CHROME_SEL in BIT(1)

Output will formatted with “0x%02xn”.

What:

/sys/kernel/debug/wilco_ec/raw

Defined on file debugfs-wilco-ec

Write and read raw mailbox commands to the EC.

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

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

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

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

What:

/sys/kernel/fscaps

Defined on file sysfs-kernel-fscaps

Shows whether file system capabilities are honored when executing a binary

What:

/sys/kernel/iommu_groups/

Defined on file sysfs-kernel-iommu_groups

/sys/kernel/iommu_groups/ contains a number of sub- directories, each representing an IOMMU group. The name of the sub-directory matches the iommu_group_id() for the group, which is an integer value. Within each subdirectory is another directory named “devices” with links to the sysfs devices contained in this group. The group directory also optionally contains a “name” file if the IOMMU driver has chosen to register a more common name for the group.

What:

/sys/kernel/iommu_groups/reserved_regions

Defined on file sysfs-kernel-iommu_groups

/sys/kernel/iommu_groups/reserved_regions list IOVA regions that are reserved. Not necessarily all reserved regions are listed. This is typically used to output direct-mapped, MSI, non mappable regions. Each region is described on a single line: the 1st field is the base IOVA, the second is the end IOVA and the third field describes the type of the region.

In case an RMRR is used only by graphics or USB devices it is now exposed as “direct-relaxable” instead of “direct”. In device assignment use case, for instance, those RMRR are considered to be relaxable and safe.

What:

/sys/kernel/irq

Defined on file sysfs-kernel-irq

Directory containing information about the system’s IRQs. Specifically, data from the associated struct irq_desc. The information here is similar to that in /proc/interrupts but in a more machine-friendly format. This directory contains one subdirectory for each Linux IRQ number.

What:

/sys/kernel/irq/<irq>/actions

Defined on file sysfs-kernel-irq

The IRQ action chain. A comma-separated list of zero or more device names associated with this interrupt.

What:

/sys/kernel/irq/<irq>/chip_name

Defined on file sysfs-kernel-irq

Human-readable chip name supplied by the associated device driver.

What:

/sys/kernel/irq/<irq>/hwirq

Defined on file sysfs-kernel-irq

When interrupt translation domains are used, this file contains the underlying hardware IRQ number used for this Linux IRQ.

What:

/sys/kernel/irq/<irq>/name

Defined on file sysfs-kernel-irq

Human-readable flow handler name as defined by the irq chip driver.

What:

/sys/kernel/irq/<irq>/per_cpu_count

Defined on file sysfs-kernel-irq

The number of times the interrupt has fired since boot. This is a comma-separated list of counters; one per CPU in CPU id order. NOTE: This file consistently shows counters for all CPU ids. This differs from the behavior of /proc/interrupts which only shows counters for online CPUs.

What:

/sys/kernel/irq/<irq>/type

Defined on file sysfs-kernel-irq

The type of the interrupt. Either the string ‘level’ or ‘edge’.

What:

/sys/kernel/irq/<irq>/wakeup

Defined on file sysfs-kernel-irq

The wakeup state of the interrupt. Either the string ‘enabled’ or ‘disabled’.

What:

/sys/kernel/livepatch

Defined on file sysfs-kernel-livepatch

Interface for kernel live patching

The /sys/kernel/livepatch directory contains subdirectories for each loaded live patch module.

What:

/sys/kernel/livepatch/<patch>

Defined on file sysfs-kernel-livepatch

The patch directory contains subdirectories for each kernel object (vmlinux or a module) in which it patched functions.

What:

/sys/kernel/livepatch/<patch>/<object>

Defined on file sysfs-kernel-livepatch

The object directory contains subdirectories for each function that is patched within the object.

What:

/sys/kernel/livepatch/<patch>/<object>/<function

sympos>

Defined on file sysfs-kernel-livepatch

The function directory contains attributes regarding the properties and state of the patched function.

The directory name contains the patched function name and a sympos number corresponding to the nth occurrence of the symbol name in kallsyms for the patched object.

There are currently no such attributes.

What:

/sys/kernel/livepatch/<patch>/enabled

Defined on file sysfs-kernel-livepatch

A writable attribute that indicates whether the patched code is currently applied. Writing 0 will disable the patch while writing 1 will re-enable the patch.

What:

/sys/kernel/livepatch/<patch>/force

Defined on file sysfs-kernel-livepatch

A writable attribute that allows administrator to affect the course of an existing transition. Writing 1 clears TIF_PATCH_PENDING flag of all tasks and thus forces the tasks to the patched or unpatched state. Administrator should not use this feature without a clearance from a patch distributor. Removal (rmmod) of patch modules is permanently disabled when the feature is used. See Documentation/livepatch/livepatch.rst for more information.

What:

/sys/kernel/livepatch/<patch>/transition

Defined on file sysfs-kernel-livepatch

An attribute which indicates whether the patch is currently in transition.

What:

/sys/kernel/mm

Defined on file sysfs-kernel-mm

/sys/kernel/mm/ should contain any and all VM related information in /sys/kernel/.

What:

/sys/kernel/mm/hugepages/

Defined on file sysfs-kernel-mm-hugepages

/sys/kernel/mm/hugepages/ contains a number of subdirectories of the form hugepages-<size>kB, where <size> is the page size of the hugepages supported by the kernel/CPU combination.

Under these directories are a number of files:

  • nr_hugepages

  • nr_overcommit_hugepages

  • free_hugepages

  • surplus_hugepages

  • resv_hugepages

See Documentation/admin-guide/mm/hugetlbpage.rst for details.

What:

/sys/kernel/mm/ksm

Defined on file sysfs-kernel-mm-ksm

Interface for Kernel Samepage Merging (KSM)

What:

/sys/kernel/mm/ksm/full_scans

/sys/kernel/mm/ksm/pages_shared

/sys/kernel/mm/ksm/pages_sharing

/sys/kernel/mm/ksm/pages_to_scan

/sys/kernel/mm/ksm/pages_unshared

/sys/kernel/mm/ksm/pages_volatile

/sys/kernel/mm/ksm/run

/sys/kernel/mm/ksm/sleep_millisecs

Defined on file sysfs-kernel-mm-ksm

Kernel Samepage Merging daemon sysfs interface

full_scans: how many times all mergeable areas have been scanned.

pages_shared: how many shared pages are being used.

pages_sharing: how many more sites are sharing them i.e. how much saved.

pages_to_scan: how many present pages to scan before ksmd goes to sleep.

pages_unshared: how many pages unique but repeatedly checked for merging.

pages_volatile: how many pages changing too fast to be placed in a tree.

run: write 0 to disable ksm, read 0 while ksm is disabled.

write 1 to run ksm, read 1 while ksm is running. write 2 to disable ksm and unmerge all its pages.

sleep_millisecs: how many milliseconds ksm should sleep between scans.

See Documentation/vm/ksm.rst for more information.

What:

/sys/kernel/mm/ksm/merge_across_nodes

Defined on file sysfs-kernel-mm-ksm

Control merging pages across different NUMA nodes.

When it is set to 0 only pages from the same node are merged, otherwise pages from all nodes can be merged together (default).

What:

/sys/kernel/mm/swap/

Defined on file sysfs-kernel-mm-swap

Interface for swapping

What:

/sys/kernel/mm/swap/vma_ra_enabled

Defined on file sysfs-kernel-mm-swap

Enable/disable VMA based swap readahead.

If set to true, the VMA based swap readahead algorithm will be used for swappable anonymous pages mapped in a VMA, and the global swap readahead algorithm will be still used for tmpfs etc. other users. If set to false, the global swap readahead algorithm will be used for all swappable pages.

What:

/sys/kernel/profiling

Defined on file sysfs-profiling

/sys/kernel/profiling is the runtime equivalent of the boot-time profile= option.

You can get the same effect running:

echo 2 > /sys/kernel/profiling

as you would by issuing profile=2 on the boot command line.

What:

/sys/kernel/slab

Defined on file sysfs-kernel-slab

The /sys/kernel/slab directory contains a snapshot of the internal state of the SLUB allocator for each cache. Certain files may be modified to change the behavior of the cache (and any cache it aliases, if any).

What:

/sys/kernel/slab/cache/aliases

Defined on file sysfs-kernel-slab

The aliases file is read-only and specifies how many caches have merged into this cache.

What:

/sys/kernel/slab/cache/align

Defined on file sysfs-kernel-slab

The align file is read-only and specifies the cache’s object alignment in bytes.

What:

/sys/kernel/slab/cache/alloc_calls

Defined on file sysfs-kernel-slab

The alloc_calls file is read-only and lists the kernel code locations from which allocations for this cache were performed. The alloc_calls file only contains information if debugging is enabled for that cache (see Documentation/vm/slub.rst).

What:

/sys/kernel/slab/cache/alloc_fastpath

Defined on file sysfs-kernel-slab

The alloc_fastpath file shows how many objects have been allocated using the fast path. It can be written to clear the current count. Available when CONFIG_SLUB_STATS is enabled.

What:

/sys/kernel/slab/cache/alloc_from_partial

Defined on file sysfs-kernel-slab

The alloc_from_partial file shows how many times a cpu slab has been full and it has been refilled by using a slab from the list of partially used slabs. It can be written to clear the current count. Available when CONFIG_SLUB_STATS is enabled.

What:

/sys/kernel/slab/cache/alloc_refill

Defined on file sysfs-kernel-slab

The alloc_refill file shows how many times the per-cpu freelist was empty but there were objects available as the result of remote cpu frees. It can be written to clear the current count. Available when CONFIG_SLUB_STATS is enabled.

What:

/sys/kernel/slab/cache/alloc_slab

Defined on file sysfs-kernel-slab

The alloc_slab file is shows how many times a new slab had to be allocated from the page allocator. It can be written to clear the current count. Available when CONFIG_SLUB_STATS is enabled.

What:

/sys/kernel/slab/cache/alloc_slowpath

Defined on file sysfs-kernel-slab

The alloc_slowpath file shows how many objects have been allocated using the slow path because of a refill or allocation from a partial or new slab. It can be written to clear the current count. Available when CONFIG_SLUB_STATS is enabled.

What:

/sys/kernel/slab/cache/cache_dma

Defined on file sysfs-kernel-slab

The cache_dma file is read-only and specifies whether objects are from ZONE_DMA. Available when CONFIG_ZONE_DMA is enabled.

What:

/sys/kernel/slab/cache/cpu_slabs

Defined on file sysfs-kernel-slab

The cpu_slabs file is read-only and displays how many cpu slabs are active and their NUMA locality.

What:

/sys/kernel/slab/cache/cpuslab_flush

Defined on file sysfs-kernel-slab

The file cpuslab_flush shows how many times a cache’s cpu slabs have been flushed as the result of destroying or shrinking a cache, a cpu going offline, or as the result of forcing an allocation from a certain node. It can be written to clear the current count. Available when CONFIG_SLUB_STATS is enabled.

What:

/sys/kernel/slab/cache/ctor

Defined on file sysfs-kernel-slab

The ctor file is read-only and specifies the cache’s object constructor function, which is invoked for each object when a new slab is allocated.

What:

/sys/kernel/slab/cache/deactivate_empty

Defined on file sysfs-kernel-slab

The deactivate_empty file shows how many times an empty cpu slab was deactivated. It can be written to clear the current count. Available when CONFIG_SLUB_STATS is enabled.

What:

/sys/kernel/slab/cache/deactivate_full

Defined on file sysfs-kernel-slab

The deactivate_full file shows how many times a full cpu slab was deactivated. It can be written to clear the current count. Available when CONFIG_SLUB_STATS is enabled.

What:

/sys/kernel/slab/cache/deactivate_remote_frees

Defined on file sysfs-kernel-slab

The deactivate_remote_frees file shows how many times a cpu slab has been deactivated and contained free objects that were freed remotely. It can be written to clear the current count. Available when CONFIG_SLUB_STATS is enabled.

What:

/sys/kernel/slab/cache/deactivate_to_head

Defined on file sysfs-kernel-slab

The deactivate_to_head file shows how many times a partial cpu slab was deactivated and added to the head of its node’s partial list. It can be written to clear the current count. Available when CONFIG_SLUB_STATS is enabled.

What:

/sys/kernel/slab/cache/deactivate_to_tail

Defined on file sysfs-kernel-slab

The deactivate_to_tail file shows how many times a partial cpu slab was deactivated and added to the tail of its node’s partial list. It can be written to clear the current count. Available when CONFIG_SLUB_STATS is enabled.

What:

/sys/kernel/slab/cache/destroy_by_rcu

Defined on file sysfs-kernel-slab

The destroy_by_rcu file is read-only and specifies whether slabs (not objects) are freed by rcu.

What:

/sys/kernel/slab/cache/free_add_partial

Defined on file sysfs-kernel-slab

The free_add_partial file shows how many times an object has been freed in a full slab so that it had to added to its node’s partial list. It can be written to clear the current count. Available when CONFIG_SLUB_STATS is enabled.

What:

/sys/kernel/slab/cache/free_calls

Defined on file sysfs-kernel-slab

The free_calls file is read-only and lists the locations of object frees if slab debugging is enabled (see Documentation/vm/slub.rst).

What:

/sys/kernel/slab/cache/free_fastpath

Defined on file sysfs-kernel-slab

The free_fastpath file shows how many objects have been freed using the fast path because it was an object from the cpu slab. It can be written to clear the current count. Available when CONFIG_SLUB_STATS is enabled.

What:

/sys/kernel/slab/cache/free_frozen

Defined on file sysfs-kernel-slab

The free_frozen file shows how many objects have been freed to a frozen slab (i.e. a remote cpu slab). It can be written to clear the current count. Available when CONFIG_SLUB_STATS is enabled.

What:

/sys/kernel/slab/cache/free_remove_partial

Defined on file sysfs-kernel-slab

The free_remove_partial file shows how many times an object has been freed to a now-empty slab so that it had to be removed from its node’s partial list. It can be written to clear the current count. Available when CONFIG_SLUB_STATS is enabled.

What:

/sys/kernel/slab/cache/free_slab

Defined on file sysfs-kernel-slab

The free_slab file shows how many times an empty slab has been freed back to the page allocator. It can be written to clear the current count. Available when CONFIG_SLUB_STATS is enabled.

What:

/sys/kernel/slab/cache/free_slowpath

Defined on file sysfs-kernel-slab

The free_slowpath file shows how many objects have been freed using the slow path (i.e. to a full or partial slab). It can be written to clear the current count. Available when CONFIG_SLUB_STATS is enabled.

What:

/sys/kernel/slab/cache/hwcache_align

Defined on file sysfs-kernel-slab

The hwcache_align file is read-only and specifies whether objects are aligned on cachelines.

What:

/sys/kernel/slab/cache/min_partial

Defined on file sysfs-kernel-slab

The min_partial file specifies how many empty slabs shall remain on a node’s partial list to avoid the overhead of allocating new slabs. Such slabs may be reclaimed by utilizing the shrink file.

What:

/sys/kernel/slab/cache/object_size

Defined on file sysfs-kernel-slab

The object_size file is read-only and specifies the cache’s object size.

What:

/sys/kernel/slab/cache/objects

Defined on file sysfs-kernel-slab

The objects file is read-only and displays how many objects are active and from which nodes they are from.

What:

/sys/kernel/slab/cache/objects_partial

Defined on file sysfs-kernel-slab

The objects_partial file is read-only and displays how many objects are on partial slabs and from which nodes they are from.

What:

/sys/kernel/slab/cache/objs_per_slab

Defined on file sysfs-kernel-slab

The file objs_per_slab is read-only and specifies how many objects may be allocated from a single slab of the order specified in /sys/kernel/slab/cache/order.

What:

/sys/kernel/slab/cache/order

Defined on file sysfs-kernel-slab

The order file specifies the page order at which new slabs are allocated. It is writable and can be changed to increase the number of objects per slab. If a slab cannot be allocated because of fragmentation, SLUB will retry with the minimum order possible depending on its characteristics. When debug_guardpage_minorder=N (N > 0) parameter is specified (see Documentation/admin-guide/kernel-parameters.rst), the minimum possible order is used and this sysfs entry can not be used to change the order at run time.

What:

/sys/kernel/slab/cache/order_fallback

Defined on file sysfs-kernel-slab

The order_fallback file shows how many times an allocation of a new slab has not been possible at the cache’s order and instead fallen back to its minimum possible order. It can be written to clear the current count. Available when CONFIG_SLUB_STATS is enabled.

What:

/sys/kernel/slab/cache/partial

Defined on file sysfs-kernel-slab

The partial file is read-only and displays how long many partial slabs there are and how long each node’s list is.

What:

/sys/kernel/slab/cache/poison

Defined on file sysfs-kernel-slab

The poison file specifies whether objects should be poisoned when a new slab is allocated.

What:

/sys/kernel/slab/cache/reclaim_account

Defined on file sysfs-kernel-slab

The reclaim_account file specifies whether the cache’s objects are reclaimable (and grouped by their mobility).

What:

/sys/kernel/slab/cache/red_zone

Defined on file sysfs-kernel-slab

The red_zone file specifies whether the cache’s objects are red zoned.

What:

/sys/kernel/slab/cache/remote_node_defrag_ratio

Defined on file sysfs-kernel-slab

The file remote_node_defrag_ratio specifies the percentage of times SLUB will attempt to refill the cpu slab with a partial slab from a remote node as opposed to allocating a new slab on the local node. This reduces the amount of wasted memory over the entire system but can be expensive. Available when CONFIG_NUMA is enabled.

What:

/sys/kernel/slab/cache/sanity_checks

Defined on file sysfs-kernel-slab

The sanity_checks file specifies whether expensive checks should be performed on free and, at minimum, enables double free checks. Caches that enable sanity_checks cannot be merged with caches that do not.

What:

/sys/kernel/slab/cache/shrink

Defined on file sysfs-kernel-slab

The shrink file is written when memory should be reclaimed from a cache. Empty partial slabs are freed and the partial list is sorted so the slabs with the fewest available objects are used first.

What:

/sys/kernel/slab/cache/slab_size

Defined on file sysfs-kernel-slab

The slab_size file is read-only and specifies the object size with metadata (debugging information and alignment) in bytes.

What:

/sys/kernel/slab/cache/slabs

Defined on file sysfs-kernel-slab

The slabs file is read-only and displays how long many slabs there are (both cpu and partial) and from which nodes they are from.

What:

/sys/kernel/slab/cache/store_user

Defined on file sysfs-kernel-slab

The store_user file specifies whether the location of allocation or free should be tracked for a cache.

What:

/sys/kernel/slab/cache/total_objects

Defined on file sysfs-kernel-slab

The total_objects file is read-only and displays how many total objects a cache has and from which nodes they are from.

What:

/sys/kernel/slab/cache/trace

Defined on file sysfs-kernel-slab

The trace file specifies whether object allocations and frees should be traced.

What:

/sys/kernel/slab/cache/validate

Defined on file sysfs-kernel-slab

Writing to the validate file causes SLUB to traverse all of its cache’s objects and check the validity of metadata.

What:

/sys/kernel/uids/<uid>/cpu_shares

Defined on file sysfs-kernel-uids

The /sys/kernel/uids/<uid>/cpu_shares tunable is used to set the cpu bandwidth a user is allowed. This is a propotional value. What that means is that if there are two users logged in, each with an equal number of shares, then they will get equal CPU bandwidth. Another example would be, if User A has shares = 1024 and user B has shares = 2048, User B will get twice the CPU bandwidth user A will. For more details refer Documentation/scheduler/sched-design-CFS.rst

What:

/sys/kernel/vmcoreinfo

Defined on file sysfs-kernel-vmcoreinfo

Shows physical address and size of vmcoreinfo ELF note. First value contains physical address of note in hex and second value contains the size of note in hex. This ELF note info is parsed by second kernel and exported to user space as part of ELF note in /proc/vmcore file. This note contains various information like struct size, symbol values, page size etc.

What:

/sys/module/*/taint

Defined on file sysfs-module

Module taint flags:

P - proprietary module O - out-of-tree module F - force-loaded module C - staging driver module E - unsigned module

What:

/sys/module/*/{coresize

initsize}

Defined on file sysfs-module

Module size in bytes.

What:

/sys/module/ehci_hcd/drivers/…/uframe_periodic_max

Defined on file sysfs-module

Maximum time allowed for periodic transfers per microframe (μs)

[ USB 2.0 sets maximum allowed time for periodic transfers per

microframe to be 80%, that is 100 microseconds out of 125 microseconds (full microframe).

However there are cases, when 80% max isochronous bandwidth is too limiting. For example two video streams could require 110 microseconds of isochronous bandwidth per microframe to work together. ]

Through this setting it is possible to raise the limit so that the host controller would allow allocating more than 100 microseconds of periodic bandwidth per microframe.

Beware, non-standard modes are usually not thoroughly tested by hardware designers, and the hardware can malfunction when this setting differ from default 100.

What:

/sys/module/pch_phub/drivers/…/pch_firmware

Defined on file sysfs-module

Write/read Option ROM data.

What:

/sys/module/pch_phub/drivers/…/pch_mac

Defined on file sysfs-module

Write/read GbE MAC address.

What:

/sys/module/xen_blkback/parameters/max_buffer_pages

Defined on file sysfs-driver-xen-blkback

Maximum number of free pages to keep in each block backend buffer.

What:

/sys/module/xen_blkback/parameters/max_persistent_grants

Defined on file sysfs-driver-xen-blkback

Maximum number of grants to map persistently in blkback. If the frontend tries to use more than max_persistent_grants, the LRU kicks in and starts removing 5% of max_persistent_grants every 100ms.

What:

/sys/module/xen_blkback/parameters/persistent_grant_unused_seconds

Defined on file sysfs-driver-xen-blkback

How long a persistent grant is allowed to remain allocated without being in use. The time is in seconds, 0 means indefinitely long. The default is 60 seconds.

What:

/sys/module/xen_blkfront/parameters/max

Defined on file sysfs-driver-xen-blkfront

Maximum number of segments that the frontend will negotiate with the backend for indirect descriptors. The default value is 32 - higher value means more potential throughput but more memory usage. The backend picks the minimum of the frontend and its default backend value.

What:

/sys/power/

Defined on file sysfs-power

The /sys/power directory will contain files that will provide a unified interface to the power management subsystem.

What:

/sys/power/autosleep

Defined on file sysfs-power

The /sys/power/autosleep file can be written one of the strings returned by reads from /sys/power/state. If that happens, a work item attempting to trigger a transition of the system to the sleep state represented by that string is queued up. This attempt will only succeed if there are no active wakeup sources in the system at that time. After every execution, regardless of whether or not the attempt to put the system to sleep has succeeded, the work item requeues itself until user space writes “off” to /sys/power/autosleep.

Reading from this file causes the last string successfully written to it to be returned.

What:

/sys/power/disk

Defined on file sysfs-power

The /sys/power/disk file controls the operating mode of the suspend-to-disk mechanism. Reading from this file returns the name of the method by which the system will be put to sleep on the next suspend. There are four methods supported: ‘firmware’ - means that the memory image will be saved to disk by some firmware, in which case we also assume that the firmware will handle the system suspend. ‘platform’ - the memory image will be saved by the kernel and the system will be put to sleep by the platform driver (e.g. ACPI or other PM registers). ‘shutdown’ - the memory image will be saved by the kernel and the system will be powered off. ‘reboot’ - the memory image will be saved by the kernel and the system will be rebooted.

Additionally, /sys/power/disk can be used to turn on one of the two testing modes of the suspend-to-disk mechanism: ‘testproc’ or ‘test’. If the suspend-to-disk mechanism is in the ‘testproc’ mode, writing ‘disk’ to /sys/power/state will cause the kernel to disable nonboot CPUs and freeze tasks, wait for 5 seconds, unfreeze tasks and enable nonboot CPUs. If it is in the ‘test’ mode, writing ‘disk’ to /sys/power/state will cause the kernel to disable nonboot CPUs and freeze tasks, shrink memory, suspend devices, wait for 5 seconds, resume devices, unfreeze tasks and enable nonboot CPUs. Then, we are able to look in the log messages and work out, for example, which code is being slow and which device drivers are misbehaving.

The suspend-to-disk method may be chosen by writing to this file one of the accepted strings:

‘firmware’ ‘platform’ ‘shutdown’ ‘reboot’ ‘testproc’ ‘test’

It will only change to ‘firmware’ or ‘platform’ if the system supports that.

What:

/sys/power/image_size

Defined on file sysfs-power

The /sys/power/image_size file controls the size of the image created by the suspend-to-disk mechanism. It can be written a string representing a non-negative integer that will be used as an upper limit of the image size, in bytes. The kernel’s suspend-to-disk code will do its best to ensure the image size will not exceed this number. However, if it turns out to be impossible, the kernel will try to suspend anyway using the smallest image possible. In particular, if “0” is written to this file, the suspend image will be as small as possible.

Reading from this file will display the current image size limit, which is set to around 2/5 of available RAM by default.

What:

/sys/power/mem_sleep

Defined on file sysfs-power

The /sys/power/mem_sleep file controls the operating mode of system suspend. Reading from it returns the available modes as “s2idle” (always present), “shallow” and “deep” (present if supported). The mode that will be used on subsequent attempts to suspend the system (by writing “mem” to the /sys/power/state file described above) is enclosed in square brackets.

Writing one of the above strings to this file causes the mode represented by it to be used on subsequent attempts to suspend the system.

See Documentation/admin-guide/pm/sleep-states.rst for more information.

What:

/sys/power/pm_async

Defined on file sysfs-power

The /sys/power/pm_async file controls the switch allowing the user space to enable or disable asynchronous suspend and resume of devices. If enabled, this feature will cause some device drivers’ suspend and resume callbacks to be executed in parallel with each other and with the main suspend thread. It is enabled if this file contains “1”, which is the default. It may be disabled by writing “0” to this file, in which case all devices will be suspended and resumed synchronously.

What:

/sys/power/pm_debug_messages

Defined on file sysfs-power

The /sys/power/pm_debug_messages file controls the printing of debug messages from the system suspend/hiberbation infrastructure to the kernel log.

Writing a “1” to this file enables the debug messages and writing a “0” (default) to it disables them. Reads from this file return the current value.

What:

/sys/power/pm_print_times

Defined on file sysfs-power

The /sys/power/pm_print_times file allows user space to control whether the time taken by devices to suspend and resume is printed. These prints are useful for hunting down devices that take too long to suspend or resume.

Writing a “1” enables this printing while writing a “0” disables it. The default value is “0”. Reading from this file will display the current value.

What:

/sys/power/pm_trace

Defined on file sysfs-power

The /sys/power/pm_trace file controls the code which saves the last PM event point in the RTC across reboots, so that you can debug a machine that just hangs during suspend (or more commonly, during resume). Namely, the RTC is only used to save the last PM event point if this file contains ‘1’. Initially it contains ‘0’ which may be changed to ‘1’ by writing a string representing a nonzero integer into it.

To use this debugging feature you should attempt to suspend the machine, then reboot it and run

dmesg -s 1000000 | grep ‘hash matches’

If you do not get any matches (or they appear to be false positives), it is possible that the last PM event point referred to a device created by a loadable kernel module. In this case cat /sys/power/pm_trace_dev_match (see below) after your system is started up and the kernel modules are loaded.

CAUTION: Using it will cause your machine’s real-time (CMOS) clock to be set to a random invalid time after a resume.

What; /sys/power/pm_trace_dev_match

The /sys/power/pm_trace_dev_match file contains the name of the device associated with the last PM event point saved in the RTC across reboots when pm_trace has been used. More precisely it contains the list of current devices (including those registered by loadable kernel modules since boot) which match the device hash in the RTC at boot, with a newline after each one.

The advantage of this file over the hash matches printed to the kernel log (see /sys/power/pm_trace), is that it includes devices created after boot by loadable kernel modules.

Due to the small hash size necessary to fit in the RTC, it is possible that more than one device matches the hash, in which case further investigation is required to determine which device is causing the problem. Note that genuine RTC clock values (such as when pm_trace has not been used), can still match a device and output it’s name here.

What:

/sys/power/pm_wakeup_irq

Defined on file sysfs-power

The /sys/power/pm_wakeup_irq file reports to user space the IRQ number of the first wakeup interrupt (that is, the first interrupt from an IRQ line armed for system wakeup) seen by the kernel during the most recent system suspend/resume cycle.

This output is useful for system wakeup diagnostics of spurious wakeup interrupts.

What:

/sys/power/reserved_size

Defined on file sysfs-power

The /sys/power/reserved_size file allows user space to control the amount of memory reserved for allocations made by device drivers during the “device freeze” stage of hibernation. It can be written a string representing a non-negative integer that will be used as the amount of memory to reserve for allocations made by device drivers’ “freeze” callbacks, in bytes.

Reading from this file will display the current value, which is set to 1 MB by default.

What:

/sys/power/resume_offset

Defined on file sysfs-power

This file is used for telling the kernel an offset into a disk to use when hibernating the system such as with a swap file.

Reads from this file will display the current offset the kernel will be using on the next hibernation attempt.

Using this sysfs file will override any values that were set using the kernel command line for disk offset.

What:

/sys/power/state

Defined on file sysfs-power

The /sys/power/state file controls system sleep states. Reading from this file returns the available sleep state labels, which may be “mem” (suspend), “standby” (power-on suspend), “freeze” (suspend-to-idle) and “disk” (hibernation).

Writing one of the above strings to this file causes the system to transition into the corresponding state, if available.

See Documentation/admin-guide/pm/sleep-states.rst for more information.

What:

/sys/power/wake_lock

Defined on file sysfs-power

The /sys/power/wake_lock file allows user space to create wakeup source objects and activate them on demand (if one of those wakeup sources is active, reads from the /sys/power/wakeup_count file block or return false). When a string without white space is written to /sys/power/wake_lock, it will be assumed to represent a wakeup source name. If there is a wakeup source object with that name, it will be activated (unless active already). Otherwise, a new wakeup source object will be registered, assigned the given name and activated. If a string written to /sys/power/wake_lock contains white space, the part of the string preceding the white space will be regarded as a wakeup source name and handled as descrived above. The other part of the string will be regarded as a timeout (in nanoseconds) such that the wakeup source will be automatically deactivated after it has expired. The timeout, if present, is set regardless of the current state of the wakeup source object in question.

Reads from this file return a string consisting of the names of wakeup sources created with the help of it that are active at the moment, separated with spaces.

What:

/sys/power/wake_unlock

Defined on file sysfs-power

The /sys/power/wake_unlock file allows user space to deactivate wakeup sources created with the help of /sys/power/wake_lock. When a string is written to /sys/power/wake_unlock, it will be assumed to represent the name of a wakeup source to deactivate. If a wakeup source object of that name exists and is active at the moment, it will be deactivated.

Reads from this file return a string consisting of the names of wakeup sources created with the help of /sys/power/wake_lock that are inactive at the moment, separated with spaces.

What:

/sys/power/wakeup_count

Defined on file sysfs-power

The /sys/power/wakeup_count file allows user space to put the system into a sleep state while taking into account the concurrent arrival of wakeup events. Reading from it returns the current number of registered wakeup events and it blocks if some wakeup events are being processed at the time the file is read from. Writing to it will only succeed if the current number of wakeup events is equal to the written value and, if successful, will make the kernel abort a subsequent transition to a sleep state if any wakeup events are reported after the write has returned.

What:

Raise a uevent when a USB Host Controller has died

Defined on file usb-uevent

When the USB Host Controller has entered a state where it is no longer functional a uevent will be raised. The uevent will contain ACTION=offline and ERROR=DEAD.

Here is an example taken using udevadm monitor -p:

KERNEL[130.428945] offline /devices/pci0000:00/0000:00:10.0/usb2 (usb) ACTION=offline BUSNUM=002 DEVNAME=/dev/bus/usb/002/001 DEVNUM=001 DEVPATH=/devices/pci0000:00/0000:00:10.0/usb2 DEVTYPE=usb_device DRIVER=usb ERROR=DEAD MAJOR=189 MINOR=128 PRODUCT=1d6b/2/414 SEQNUM=2168 SUBSYSTEM=usb TYPE=9/0/1

What:

security/evm

Defined on file evm

EVM protects a file’s security extended attributes(xattrs) against integrity attacks. The initial method maintains an HMAC-sha1 value across the extended attributes, storing the value as the extended attribute ‘security.evm’.

EVM supports two classes of security.evm. The first is an HMAC-sha1 generated locally with a trusted/encrypted key stored in the Kernel Key Retention System. The second is a digital signature generated either locally or remotely using an asymmetric key. These keys are loaded onto root’s keyring using keyctl, and EVM is then enabled by echoing a value to <securityfs>/evm made up of the following bits:

Bit

Effect

0

Enable HMAC validation and creation

1

Enable digital signature validation

2

Permit modification of EVM-protected metadata at runtime. Not supported if HMAC validation and creation is enabled.

31

Disable further runtime modification of EVM policy

For example:

echo 1 ><securityfs>/evm

will enable HMAC validation and creation

echo 0x80000003 ><securityfs>/evm

will enable HMAC and digital signature validation and HMAC creation and disable all further modification of policy.

echo 0x80000006 ><securityfs>/evm

will enable digital signature validation, permit modification of EVM-protected metadata and disable all further modification of policy

Note that once a key has been loaded, it will no longer be possible to enable metadata modification.

Until key loading has been signaled EVM can not create or validate the ‘security.evm’ xattr, but returns INTEGRITY_UNKNOWN. Loading keys and signaling EVM should be done as early as possible. Normally this is done in the initramfs, which has already been measured as part of the trusted boot. For more information on creating and loading existing trusted/encrypted keys, refer to: Documentation/security/keys/trusted-encrypted.rst. Both dracut (via 97masterkey and 98integrity) and systemd (via core/ima-setup) have support for loading keys at boot time.

What:

security/ima/policy

Defined on file ima_policy

The Trusted Computing Group(TCG) runtime Integrity Measurement Architecture(IMA) maintains a list of hash values of executables and other sensitive system files loaded into the run-time of this system. At runtime, the policy can be constrained based on LSM specific data. Policies are loaded into the securityfs file ima/policy by opening the file, writing the rules one at a time and then closing the file. The new policy takes effect after the file ima/policy is closed.

IMA appraisal, if configured, uses these file measurements for local measurement appraisal.

rule format: action [condition ...]

action: measure | dont_measure | appraise | dont_appraise |
        audit | hash | dont_hash
condition:= base | lsm  [option]
      base:   [[func=] [mask=] [fsmagic=] [fsuuid=] [uid=]
              [euid=] [fowner=] [fsname=]]
      lsm:    [[subj_user=] [subj_role=] [subj_type=]
               [obj_user=] [obj_role=] [obj_type=]]
      option: [[appraise_type=]] [template=] [permit_directio]
base:         func:= [BPRM_CHECK][MMAP_CHECK][CREDS_CHECK][FILE_CHECK][MODULE_CHECK]
                [FIRMWARE_CHECK]
                [KEXEC_KERNEL_CHECK] [KEXEC_INITRAMFS_CHECK]
                [KEXEC_CMDLINE]
        mask:= [[^]MAY_READ] [[^]MAY_WRITE] [[^]MAY_APPEND]
               [[^]MAY_EXEC]
        fsmagic:= hex value
        fsuuid:= file system UUID (e.g 8bcbe394-4f13-4144-be8e-5aa9ea2ce2f6)
        uid:= decimal value
        euid:= decimal value
        fowner:= decimal value
lsm:          are LSM specific
option:       appraise_type:= [imasig]
              template:= name of a defined IMA template type
              (eg, ima-ng). Only valid when action is "measure".
              pcr:= decimal value

default policy:
        # PROC_SUPER_MAGIC
        dont_measure fsmagic=0x9fa0
        dont_appraise fsmagic=0x9fa0
        # SYSFS_MAGIC
        dont_measure fsmagic=0x62656572
        dont_appraise fsmagic=0x62656572
        # DEBUGFS_MAGIC
        dont_measure fsmagic=0x64626720
        dont_appraise fsmagic=0x64626720
        # TMPFS_MAGIC
        dont_measure fsmagic=0x01021994
        dont_appraise fsmagic=0x01021994
        # RAMFS_MAGIC
        dont_appraise fsmagic=0x858458f6
        # DEVPTS_SUPER_MAGIC
        dont_measure fsmagic=0x1cd1
        dont_appraise fsmagic=0x1cd1
        # BINFMTFS_MAGIC
        dont_measure fsmagic=0x42494e4d
        dont_appraise fsmagic=0x42494e4d
        # SECURITYFS_MAGIC
        dont_measure fsmagic=0x73636673
        dont_appraise fsmagic=0x73636673
        # SELINUX_MAGIC
        dont_measure fsmagic=0xf97cff8c
        dont_appraise fsmagic=0xf97cff8c
        # CGROUP_SUPER_MAGIC
        dont_measure fsmagic=0x27e0eb
        dont_appraise fsmagic=0x27e0eb
        # NSFS_MAGIC
        dont_measure fsmagic=0x6e736673
        dont_appraise fsmagic=0x6e736673

        measure func=BPRM_CHECK
        measure func=FILE_MMAP mask=MAY_EXEC
        measure func=FILE_CHECK mask=MAY_READ uid=0
        measure func=MODULE_CHECK
        measure func=FIRMWARE_CHECK
        appraise fowner=0

The default policy measures all executables in bprm_check, all files mmapped executable in file_mmap, and all files open for read by root in do_filp_open. The default appraisal policy appraises all files owned by root.

Examples of LSM specific definitions:

SELinux:

dont_measure obj_type=var_log_t
dont_appraise obj_type=var_log_t
dont_measure obj_type=auditd_log_t
dont_appraise obj_type=auditd_log_t
measure subj_user=system_u func=FILE_CHECK mask=MAY_READ
measure subj_role=system_r func=FILE_CHECK mask=MAY_READ

Smack:

measure subj_user=_ func=FILE_CHECK mask=MAY_READ

Example of measure rules using alternate PCRs:

measure func=KEXEC_KERNEL_CHECK pcr=4
measure func=KEXEC_INITRAMFS_CHECK pcr=5

What:

security/integrity/evm/evm_xattrs

Defined on file evm

Shows the set of extended attributes used to calculate or validate the EVM signature, and allows additional attributes to be added at runtime. Any signatures generated after additional attributes are added (and on files possessing those additional attributes) will only be valid if the same additional attributes are configured on system boot. Writing a single period (.) will lock the xattr list from any further modification.

File configfs-acpi

Has the following ABI:

File configfs-spear-pcie-gadget

Has the following ABI:

File configfs-usb-gadget-acm

Has the following ABI:

File configfs-usb-gadget-ecm

Has the following ABI:

File configfs-usb-gadget-eem

Has the following ABI:

File configfs-usb-gadget-ffs

Has the following ABI:

File configfs-usb-gadget-hid

Has the following ABI:

File configfs-usb-gadget-loopback

Has the following ABI:

File configfs-usb-gadget-midi

Has the following ABI:

File configfs-usb-gadget-ncm

Has the following ABI:

File configfs-usb-gadget-obex

Has the following ABI:

File configfs-usb-gadget-phonet

Has the following ABI:

File configfs-usb-gadget-printer

Has the following ABI:

File configfs-usb-gadget-rndis

Has the following ABI:

File configfs-usb-gadget-serial

Has the following ABI:

File configfs-usb-gadget-sourcesink

Has the following ABI:

File configfs-usb-gadget-subset

Has the following ABI:

File configfs-usb-gadget-tcm

Has the following ABI:

File configfs-usb-gadget-uac1

Has the following ABI:

File configfs-usb-gadget-uac1_legacy

Has the following ABI:

File configfs-usb-gadget-uac2

Has the following ABI:

File configfs-usb-gadget-uvc

Has the following ABI:

File debugfs-cec-error-inj

Has the following ABI:

File debugfs-ec

Has the following ABI:

File debugfs-ideapad

Has the following ABI:

File debugfs-olpc

Has the following ABI:

File debugfs-pfo-nx-crypto

Has the following ABI:

File debugfs-pktcdvd

Has the following ABI:

File debugfs-wilco-ec

Has the following ABI:

File dell-smbios-wmi

Has the following ABI:

File dev-kmsg

Has the following ABI:

File evm

Has the following ABI:

File gpio-cdev

Has the following ABI:

File ima_policy

Has the following ABI:

File procfs-diskstats

Has the following ABI:

File procfs-smaps_rollup

Has the following ABI:

File pstore

Has the following ABI:

File rtc-cdev

Has the following ABI:

File sysfs-block-rssd

Has the following ABI:

File sysfs-bus-amba

Has the following ABI:

File sysfs-bus-coresight-devices-etm3x

Has the following ABI:

File sysfs-bus-coresight-devices-etm4x

Has the following ABI:

File sysfs-bus-event_source-devices-format

Has the following ABI:

File sysfs-bus-fsl-mc

Has the following ABI:

File sysfs-bus-hsi

Has the following ABI:

File sysfs-bus-i2c-devices-bq32k

Has the following ABI:

File sysfs-bus-i2c-devices-fsa9480

Has the following ABI:

File sysfs-bus-i2c-devices-lm3533

Has the following ABI:

File sysfs-bus-i2c-devices-pca954x

Has the following ABI:

File sysfs-bus-iio

Has the following ABI:

File sysfs-bus-iio-accel-bmc150

Has the following ABI:

File sysfs-bus-iio-chemical-vz89x

Has the following ABI:

File sysfs-bus-iio-dac-dpot-dac

Has the following ABI:

File sysfs-bus-iio-dfsdm-adc-stm32

Has the following ABI:

File sysfs-bus-iio-gyro-bmg160

Has the following ABI:

File sysfs-bus-iio-light-isl29018

Has the following ABI:

File sysfs-bus-iio-magnetometer-hmc5843

Has the following ABI:

File sysfs-bus-iio-meas-spec

Has the following ABI:

File sysfs-bus-iio-potentiometer-mcp4531

Has the following ABI:

File sysfs-bus-iio-temperature-max31856

Has the following ABI:

File sysfs-bus-media

Has the following ABI:

File sysfs-bus-mmc

Has the following ABI:

File sysfs-bus-pci-devices-aer_stats

PCIe Device AER statistics

These attributes show up under all the devices that are AER capable. These statistical counters indicate the errors “as seen/reported by the device”. Note that this may mean that if an endpoint is causing problems, the AER counters may increment at its link partner (e.g. root port) because the errors may be “seen” / reported by the link partner and not the problematic endpoint itself (which may report all counters as 0 as it never saw any problems).

Has the following ABI:

File sysfs-bus-pci-drivers-ehci_hcd

Has the following ABI:

File sysfs-bus-pci-drivers-janz-cmodio

Has the following ABI:

File sysfs-bus-pci-drivers-xhci_hcd

Has the following ABI:

File sysfs-bus-platform

Has the following ABI:

File sysfs-bus-usb-lvstest

Link Layer Validation Device is a standard device for testing of Super Speed Link Layer tests. These nodes are available in sysfs only when lvs driver is bound with root hub device.

Has the following ABI:

File sysfs-bus-vmbus

Has the following ABI:

File sysfs-cfq-target-latency

Has the following ABI:

File sysfs-class

Has the following ABI:

File sysfs-class-backlight-adp5520

sysfs interface for analog devices adp5520(01) backlight driver

The backlight brightness control operates at three different levels for the adp5520 and adp5501 devices: daylight (level 1), office (level 2) and dark (level 3). By default the brightness operates at the daylight brightness level.

Has the following ABI:

File sysfs-class-backlight-adp8860

sysfs interface for analog devices adp8860 backlight driver

The backlight brightness control operates at three different levels for the adp8860, adp8861 and adp8863 devices: daylight (level 1), office (level 2) and dark (level 3). By default the brightness operates at the daylight brightness level.

Has the following ABI:

File sysfs-class-backlight-lm3639

sysfs interface for Texas Instruments lm3639 backlight + flash led driver chip

Has the following ABI:

File sysfs-class-bdi

Has the following ABI:

File sysfs-class-chromeos-driver-cros-ec-vbc

Has the following ABI:

File sysfs-class-fpga-bridge

Has the following ABI:

File sysfs-class-fpga-region

Has the following ABI:

File sysfs-class-gnss

Has the following ABI:

File sysfs-class-iommu

Has the following ABI:

File sysfs-class-iommu-amd-iommu

Has the following ABI:

File sysfs-class-led-driver-sc27xx

Has the following ABI:

File sysfs-class-led-trigger-pattern

Has the following ABI:

File sysfs-class-led-trigger-usbport

Has the following ABI:

File sysfs-class-leds-gt683r

Has the following ABI:

File sysfs-class-mux

Has the following ABI:

File sysfs-class-net-dsa

Has the following ABI:

File sysfs-class-net-janz-ican3

Has the following ABI:

File sysfs-class-pktcdvd

File sysfs-class-power

General Properties

Has the following ABI:

File sysfs-class-power-twl4030

Has the following ABI:

File sysfs-class-rc-nuvoton

Has the following ABI:

File sysfs-class-remoteproc

Has the following ABI:

File sysfs-class-rtc-rtc0-device-rtc_calibration

Has the following ABI:

File sysfs-class-stm_source

Has the following ABI:

File sysfs-class-usb_role

Has the following ABI:

File sysfs-dev

Has the following ABI:

File sysfs-devices

Has the following ABI:

File sysfs-devices-coredump

Has the following ABI:

File sysfs-devices-firmware_node

Has the following ABI:

File sysfs-devices-online

Has the following ABI:

File sysfs-devices-platform-_UDC_-gadget

Has the following ABI:

File sysfs-devices-platform-ipmi

Has the following ABI:

File sysfs-devices-power_resources_D0

Has the following ABI:

File sysfs-devices-power_resources_D1

Has the following ABI:

File sysfs-devices-power_resources_D2

Has the following ABI:

File sysfs-devices-power_resources_D3hot

Has the following ABI:

File sysfs-devices-power_resources_wakeup

Has the following ABI:

File sysfs-devices-power_state

Has the following ABI:

File sysfs-devices-real_power_state

Has the following ABI:

File sysfs-devices-resource_in_use

Has the following ABI:

File sysfs-devices-software_node

Has the following ABI:

File sysfs-devices-sun

Has the following ABI:

File sysfs-devices-system-ibm-rtl

Has the following ABI:

File sysfs-devices-system-xen_cpu

Has the following ABI:

File sysfs-driver-altera-cvp

Has the following ABI:

File sysfs-driver-bd9571mwv-regulator

Has the following ABI:

File sysfs-driver-fsi-master-gpio

Has the following ABI:

File sysfs-driver-input-axp-pek

Has the following ABI:

File sysfs-driver-intel-rapid-start

Has the following ABI:

File sysfs-driver-pciback

Has the following ABI:

File sysfs-driver-st

Has the following ABI:

File sysfs-driver-tegra-fuse

Has the following ABI:

File sysfs-driver-ucsi-ccg

Has the following ABI:

File sysfs-driver-ufs

Has the following ABI:

File sysfs-driver-w1_ds28e17

Has the following ABI:

File sysfs-driver-xen-blkfront

Has the following ABI:

File sysfs-firmware-dmi-entries

Has the following ABI:

File sysfs-firmware-dmi-tables

Has the following ABI:

File sysfs-firmware-efi-runtime-map

Has the following ABI:

File sysfs-firmware-gsmi

Has the following ABI:

File sysfs-firmware-log

Has the following ABI:

File sysfs-firmware-memmap

Has the following ABI:

File sysfs-firmware-ofw

Has the following ABI:

File sysfs-firmware-opal-powercap

Has the following ABI:

File sysfs-firmware-opal-psr

Has the following ABI:

File sysfs-firmware-qemu_fw_cfg

Has the following ABI:

File sysfs-firmware-sfi

Has the following ABI:

File sysfs-firmware-sgi_uv

Has the following ABI:

File sysfs-fs-nilfs2

Has the following ABI:

File sysfs-kernel-boot_params

Has the following ABI:

File sysfs-kernel-fscaps

Has the following ABI:

File sysfs-kernel-mm

Has the following ABI:

File sysfs-kernel-mm-hugepages

Has the following ABI:

File sysfs-kernel-mm-swap

Has the following ABI:

File sysfs-kernel-slab

Has the following ABI:

File sysfs-kernel-uids

Has the following ABI:

File sysfs-kernel-vmcoreinfo

Has the following ABI:

File sysfs-platform-at91

Has the following ABI:

File sysfs-platform-brcmstb-gisb-arb

Has the following ABI:

File sysfs-platform-chipidea-usb2

Has the following ABI:

File sysfs-platform-dell-smbios

Has the following ABI:

File sysfs-platform-hidma

Has the following ABI:

File sysfs-platform-intel-wmi-thunderbolt

Has the following ABI:

File sysfs-platform-phy-rcar-gen3-usb2

Has the following ABI:

File sysfs-platform-renesas_usb3

Has the following ABI:

File sysfs-platform-sst-atom

Has the following ABI:

File sysfs-platform-twl4030-usb

Has the following ABI:

File sysfs-profiling

Has the following ABI:

File sysfs-uevent

Has the following ABI:

File usb-uevent

Has the following ABI: