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 thecurrent interface will not break by doing this, unless graveerrors or security problems are found in them.

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

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

$(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/align

$(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/align

Defined on filesysfs-bus-dax

(RO) The align attribute indicates alignment of the dax region.Changes on align may not always be valid, when say certainmappings were created with 2M and then we switch to 1G. Thisvalidates all ranges against the new value being attempted, postresizing.

$(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/available_size

$(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/available_size

Defined on filesysfs-bus-dax

(RO) The available_size attribute tracks available dax regioncapacity. This only applies to volatile hmem devices, not pmemdevices, since pmem devices are defined by nvdimm namespaceboundaries.

$(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/create

$(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/create

Defined on filesysfs-bus-dax

(RW) The create interface to the dax region provides a way tocreate a new unconfigured dax device under the given region, whichcan then be configured (with a size etc.) and then probed.

$(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/delete

$(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/delete

Defined on filesysfs-bus-dax

(WO) The delete interface for a dax region provides for deletionof any 0-sized and idle dax devices.

$(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/id

$(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/id

Defined on filesysfs-bus-dax

(RO) The id attribute indicates the region id of a dax region.

$(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/seed

$(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/seed

Defined on filesysfs-bus-dax

(RO) The seed device is a concept for dynamic dax regions to beable to split the region amongst multiple sub-instances. Theseed device, similar to libnvdimm seed devices, is a devicethat starts with zero capacity allocated and unbound to adriver.

$(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/size

$(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/size

Defined on filesysfs-bus-dax

(RO) The size attribute indicates the size of a given dax regionin bytes.

.../XXXXXXX.ipa/endpoint_id/

.../XXXXXXX.ipa/endpoint_id/

Defined on filesysfs-devices-platform-soc-ipa

The .../XXXXXXX.ipa/endpoint_id/ directory containsattributes that define IDs associated with IPAendpoints. The “rx” or “tx” in an endpoint name isfrom the perspective of the AP. An endpoint ID is asmall unsigned integer.

.../XXXXXXX.ipa/endpoint_id/modem_rx

.../XXXXXXX.ipa/endpoint_id/modem_rx

Defined on filesysfs-devices-platform-soc-ipa

The .../XXXXXXX.ipa/endpoint_id/modem_rx file containsthe ID of the AP endpoint on which packets originatingfrom the embedded modem are received.

.../XXXXXXX.ipa/endpoint_id/modem_tx

.../XXXXXXX.ipa/endpoint_id/modem_tx

Defined on filesysfs-devices-platform-soc-ipa

The .../XXXXXXX.ipa/endpoint_id/modem_tx file containsthe ID of the AP endpoint on which packets destinedfor the embedded modem are sent.

.../XXXXXXX.ipa/endpoint_id/monitor_rx

.../XXXXXXX.ipa/endpoint_id/monitor_rx

Defined on filesysfs-devices-platform-soc-ipa

The .../XXXXXXX.ipa/endpoint_id/monitor_rx file containsthe ID of the AP endpoint on which IPA “monitor” data isreceived. The monitor endpoint supplies replicas ofpackets that enter the IPA hardware for processing.Each replicated packet is preceded by a fixed-size “ODL”header (see .../XXXXXXX.ipa/feature/monitor, above).Large packets are truncated, to reduce the bandwidthrequired to provide the monitor function.

.../XXXXXXX.ipa/feature/

.../XXXXXXX.ipa/feature/

Defined on filesysfs-devices-platform-soc-ipa

The .../XXXXXXX.ipa/feature/ directory contains a set ofattributes describing features implemented by the IPAhardware.

.../XXXXXXX.ipa/feature/rx_offload

.../XXXXXXX.ipa/feature/rx_offload

Defined on filesysfs-devices-platform-soc-ipa

The .../XXXXXXX.ipa/feature/rx_offload file contains astring indicating the type of receive checksum offloadthat is supported by the hardware. The possible valuesare “MAPv4” or “MAPv5”.

.../XXXXXXX.ipa/feature/tx_offload

.../XXXXXXX.ipa/feature/tx_offload

Defined on filesysfs-devices-platform-soc-ipa

The .../XXXXXXX.ipa/feature/tx_offload file contains astring indicating the type of transmit checksum offloadthat is supported by the hardware. The possible valuesare “MAPv4” or “MAPv5”.

.../XXXXXXX.ipa/modem/

.../XXXXXXX.ipa/modem/

Defined on filesysfs-devices-platform-soc-ipa

The .../XXXXXXX.ipa/modem/ directory contains attributesdescribing properties of the modem embedded in the SoC.

.../XXXXXXX.ipa/modem/rx_endpoint_id

.../XXXXXXX.ipa/modem/rx_endpoint_id

Defined on filesysfs-devices-platform-soc-ipa

The .../XXXXXXX.ipa/modem/rx_endpoint_id file duplicatesthe value found in .../XXXXXXX.ipa/endpoint_id/modem_rx.

.../XXXXXXX.ipa/modem/tx_endpoint_id

.../XXXXXXX.ipa/modem/tx_endpoint_id

Defined on filesysfs-devices-platform-soc-ipa

The .../XXXXXXX.ipa/modem/tx_endpoint_id file duplicatesthe value found in .../XXXXXXX.ipa/endpoint_id/modem_tx.

.../XXXXXXX.ipa/version

.../XXXXXXX.ipa/version

Defined on filesysfs-devices-platform-soc-ipa

The .../XXXXXXX.ipa/version file contains the IPA hardwareversion, as a period-separated set of two or three integers(e.g., “3.5.1” or “4.2”).

Symbols under /config/acpi

/config/acpi

Defined on fileconfigfs-acpi

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

/config/acpi/table

Defined on fileconfigfs-acpi

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

aml
  • a binary attribute that the user can use tofill in the ACPI aml definitions. Once the amldata is written to this file and the file isclosed the table will be loaded and ACPI deviceswill be enumerated. To check if the operation issuccessful the user must check the error codefor close(). If the operation is successful,subsequent writes to this attribute will fail.

The rest of the attributes are read-only and are valid onlyafter 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

Symbols under /config/iio

/config/iio

Defined on fileconfigfs-iio

This represents Industrial IO configuration entry pointdirectory. It contains sub-groups corresponding to IIOobjects.

/config/iio/devices

Defined on fileconfigfs-iio

Industrial IO software devices directory.

/config/iio/devices/dummy

Defined on fileconfigfs-iio

Dummy IIO devices directory. Creating a directory here will resultin creating a dummy IIO device in the IIO subsystem.

/config/iio/triggers

Defined on fileconfigfs-iio

Industrial IO software triggers directory.

/config/iio/triggers/hrtimers

Defined on fileconfigfs-iio

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

Symbols under /config/pcie-gadget

/config/pcie-gadget

Defined on fileconfigfs-spear-pcie-gadget

Interface is used to configure selected dual mode PCIe controlleras device and then program its various registers to configure itas 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 configfsin /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 andto 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_datawill be written or read.

bar0_data

used to write and read data at bar0_rw_offset.

Symbols under /config/rdma_cm

/config/rdma_cm

Defined on fileconfigfs-rdma_cm

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

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

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

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

Defined on fileconfigfs-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.

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

Defined on fileconfigfs-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.

Symbols under /config/stp-policy

/config/stp-policy

Defined on fileconfigfs-stp-policy

This group contains policies mandating Master/Channel allocationfor software sources wishing to send trace data over an STMdevice.

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

Defined on fileconfigfs-stp-policy

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

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

Defined on fileconfigfs-stp-policy

Policy node is a string identifier that software clients willuse to request a master/channel to be allocated and assigned tothem.

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

Defined on fileconfigfs-stp-policy

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

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

Defined on fileconfigfs-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.

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

Defined on fileconfigfs-stp-policy

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

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

Defined on fileconfigfs-stp-policy-p_sys-t

Time interval in milliseconds. Send a CLOCKSYNC packet ifthis many milliseconds have passed since the previousCLOCKSYNC packet from this source. Zero is the default andstands for “never send the CLOCKSYNC”. It makes sense touse this option with sources that generate constant and/orperiodic data, like stm_heartbeat.

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

Defined on fileconfigfs-stp-policy-p_sys-t

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

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

Defined on fileconfigfs-stp-policy-p_sys-t

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

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

Defined on fileconfigfs-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 betagged with this UUID in the MIPI SyS-T packet stream, toallow the decoder to discern between different sourceswithin the same master/channel range, and identify thehigher level decoders that may be needed for each source.

Symbols under /config/usb-gadget

/config/usb-gadget

Defined on fileconfigfs-usb-gadget

This group contains sub-groups corresponding to createdUSB gadgets.

/config/usb-gadget/gadget

Defined on fileconfigfs-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.

max_speed

maximum speed the driver supports. Validnames are super-speed-plus, super-speed,high-speed, full-speed, and low-speed.

bDeviceClass

USB device class code

bDeviceSubClass

USB device subclass code

bDeviceProtocol

USB device protocol code

bMaxPacketSize0

maximum endpoint 0 packet size

bcdDevice

bcd device release number

bcdUSB

bcd USB specification version number

idProduct

product ID

idVendor

vendor ID

/config/usb-gadget/gadget/configs

Defined on fileconfigfs-usb-gadget

This group contains a USB gadget’s configurations

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

Defined on fileconfigfs-usb-gadget

The attributes of a configuration:

bmAttributes

configuration characteristics

MaxPower

maximum power consumption from the bus

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

Defined on fileconfigfs-usb-gadget

This group contains subdirectories for language-specificstrings for this configuration.

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

Defined on fileconfigfs-usb-gadget

The attributes:

configuration

configuration description

/config/usb-gadget/gadget/functions

Defined on fileconfigfs-usb-gadget

This group contains functions available to this USB gadget.

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

Defined on fileconfigfs-usb-gadget

This group contains “Feature Descriptors” specific for onegadget’s USB interface or one interface group describedby an IAD.

The attributes:

compatible_id

8-byte string for “Compatible ID”

sub_compatible_id

8-byte string for “Sub Compatible ID”

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

Defined on fileconfigfs-usb-gadget

This group contains “Extended Property Descriptors” specific for onegadget’s USB interface or one interface group describedby 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 ontype

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

Defined on fileconfigfs-usb-gadget-loopback

The attributes:

qlen

depth of loopback queue

buflen

buffer length

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

Defined on fileconfigfs-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

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

Defined on fileconfigfs-usb-gadget-acm

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

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

Defined on fileconfigfs-usb-gadget-acm

Reported bInterfaceProtocol for the ACM device. For legacyreasons, this defaults to 1 (USB_CDC_ACM_PROTO_AT_V25TER).

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

Defined on fileconfigfs-usb-gadget-ecm

The attributes:

ifname
  • network device interface name associated withthis function instance

qmult
  • queue length multiplier for high andsuper speed

host_addr
  • MAC address of host’s end of thisEthernet over USB link

dev_addr
  • MAC address of device’s end of thisEthernet over USB link

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

Defined on fileconfigfs-usb-gadget-eem

The attributes:

ifname

network device interface name associated withthis function instance

qmult

queue length multiplier for high andsuper speed

host_addr

MAC address of host’s end of thisEthernet over USB link

dev_addr

MAC address of device’s end of thisEthernet over USB link

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

Defined on fileconfigfs-usb-gadget-ffs

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

A corresponding USB function instance is created/removed.

All attributes are read only:

ready

1 if the function is ready to be used, E.G.if userspace has written descriptors andstrings to ep0, so the gadget can beenabled - 0 otherwise.

All other parameters are set through FunctionFS.

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

Defined on fileconfigfs-usb-gadget-subset

The attributes:

ifname

network device interface name associated withthis function instance

qmult

queue length multiplier for high andsuper speed

host_addr

MAC address of host’s end of thisEthernet over USB link

dev_addr

MAC address of device’s end of thisEthernet over USB link

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

Defined on fileconfigfs-usb-gadget-serial

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

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

Defined on fileconfigfs-usb-gadget-hid

The attributes:

protocol

HID protocol to use

report_desc

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

report_length

HID report length

subclass

HID device subclass to use

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

Defined on fileconfigfs-usb-gadget-mass-storage

The attributes:

stall

Set to permit function to halt bulk endpoints.Disabled on some USB devices known not to workcorrectly. You should set it to true.

num_buffers

Number of pipeline buffers. Valid numbersare 2..4. Available only ifCONFIG_USB_GADGET_DEBUG_FILES is set.

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

Defined on fileconfigfs-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 beread-only. This is implied if CD-ROM emulationis enabled as well as when it was impossibleto open “filename” in R/W mode.

removable

Flag specifying that LUN shall be indicated asbeing removable.

cdrom

Flag specifying that LUN shall be reported asbeing a CD-ROM.

nofua

Flag specifying that FUA flagin SCSI WRITE(10,12)

forced_eject

This write-only file is useful only whenthe function is active. It causes the backingfile to be forcibly detached from the LUN,regardless of whether the host has allowed it.Any non-zero number of bytes written willresult in ejection.

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

Defined on fileconfigfs-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

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

Defined on fileconfigfs-usb-gadget-midi2

The attributes:

process_ump

Flag to process UMP Stream messages (0 or 1)

static_block

Flag for static blocks (0 or 1)

iface_name

MIDI interface name string

/config/usb-gadget/gadget/functions/midi2.name/ep.number

Defined on fileconfigfs-usb-gadget-midi2

This group contains a UMP Endpoint configuration.A new Endpoint starts from 0, and can be up to 3.

The attributes:

protocol_caps

MIDI protocol capabilities (1, 2 or 3 for both)

protocol

Default MIDI protocol (1 or 2)

ep_name

UMP Endpoint name string

product_id

Product ID string

manufacturer

Manufacture ID (24 bit)

family

Device family ID (16 bit)

model

Device model ID (16 bit)

sw_revision

Software Revision (32 bit)

/config/usb-gadget/gadget/functions/midi2.name/ep.number/block.number

Defined on fileconfigfs-usb-gadget-midi2

This group contains a UMP Function Block configuration.A new block starts from 0, and can be up to 31.

The attributes:

name

Function Block name string

direction

1: input, 2: output, 3: bidirectional

first_group

The first UMP Group number (0-15)

num_groups

The number of groups in this FB (1-16)

midi1_first_group

The first UMP Group number for MIDI 1.0 (0-15)

midi1_num_groups

The number of groups for MIDI 1.0 (0-16)

ui_hint

0: unknown, 1: receiver, 2: sender, 3: both

midi_ci_version

Supported MIDI-CI version number (8 bit)

is_midi1

Legacy MIDI 1.0 device (0, 1 or 2)

sysex8_streams

Max number of SysEx8 streams (8 bit)

active

Active FB flag (0 or 1)

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

Defined on fileconfigfs-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

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

Defined on fileconfigfs-usb-gadget-obex

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

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

Defined on fileconfigfs-usb-gadget-phonet

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

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

Defined on fileconfigfs-usb-gadget-printer

The attributes:

pnp_string

Data to be passed to the host in pnp string

q_len

Number of requests per endpoint

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

Defined on fileconfigfs-usb-gadget-rndis

The attributes:

ifname

network device interface name associated withthis function instance

qmult

queue length multiplier for high andsuper speed

host_addr

MAC address of host’s end of thisEthernet over USB link

dev_addr

MAC address of device’s end of thisEthernet 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)

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

Defined on fileconfigfs-usb-gadget-tcm

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

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

Defined on fileconfigfs-usb-gadget-uac1

The attributes:

c_chmask

capture channel mask

c_srate

list of capture sampling rates (comma-separated)

c_ssize

capture sample size (bytes)

c_mute_present

capture mute control enable

c_volume_present

capture volume control enable

c_volume_min

capture volume control min value(in 1/256 dB)

c_volume_max

capture volume control max value(in 1/256 dB)

c_volume_res

capture volume control resolution(in 1/256 dB)

p_chmask

playback channel mask

p_srate

list of playback sampling rates (comma-separated)

p_ssize

playback sample size (bytes)

p_mute_present

playback mute control enable

p_volume_present

playback volume control enable

p_volume_min

playback volume control min value(in 1/256 dB)

p_volume_max

playback volume control max value(in 1/256 dB)

p_volume_res

playback volume control resolution(in 1/256 dB)

req_number

the number of pre-allocated requestsfor both capture and playback

function_name

name of the interface

p_it_name

playback input terminal name

p_it_ch_name

playback channels name

p_ot_name

playback output terminal name

p_fu_vol_name

playback mute/volume functional unit name

c_it_name

capture input terminal name

c_it_ch_name

capture channels name

c_ot_name

capture output terminal name

c_fu_vol_name

capture mute/volume functional unit name

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

Defined on fileconfigfs-usb-gadget-uac1_legacy

The attributes:

audio_buf_size - audio buffer sizefn_cap - capture pcm device file namefn_cntl - control device file namefn_play - playback pcm device file namereq_buf_size - ISO OUT endpoint request buffer sizereq_count - ISO OUT endpoint request count

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

Defined on fileconfigfs-usb-gadget-uac2

The attributes:

c_chmask

capture channel mask

c_srate

list of capture sampling rates (comma-separated)

c_ssize

capture sample size (bytes)

c_hs_bint

capture bInterval for HS/SS (1-4: fixed, 0: auto)

c_sync

capture synchronization type(async/adaptive)

c_mute_present

capture mute control enable

c_volume_present

capture volume control enable

c_volume_min

capture volume control min value(in 1/256 dB)

c_volume_max

capture volume control max value(in 1/256 dB)

c_volume_res

capture volume control resolution(in 1/256 dB)

fb_max

maximum extra bandwidth in async mode

p_chmask

playback channel mask

p_srate

list of playback sampling rates (comma-separated)

p_ssize

playback sample size (bytes)

p_hs_bint

playback bInterval for HS/SS (1-4: fixed, 0: auto)

p_mute_present

playback mute control enable

p_volume_present

playback volume control enable

p_volume_min

playback volume control min value(in 1/256 dB)

p_volume_max

playback volume control max value(in 1/256 dB)

p_volume_res

playback volume control resolution(in 1/256 dB)

req_number

the number of pre-allocated requestsfor both capture and playback

function_name

name of the interface

if_ctrl_name

topology control name

clksrc_in_name

input clock name

clksrc_out_name

output clock name

p_it_name

playback input terminal name

p_it_ch_name

playback input first channel name

p_ot_name

playback output terminal name

p_fu_vol_name

playback mute/volume function unit name

c_it_name

capture input terminal name

c_it_ch_name

capture input first channel name

c_ot_name

capture output terminal name

c_fu_vol_name

capture mute/volume functional unit name

c_terminal_type

code of the capture terminal type

p_terminal_type

code of the playback terminal type

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

Defined on fileconfigfs-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

function_name

string [32]

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

Defined on fileconfigfs-usb-gadget-uvc

Control descriptors

All attributes read only except enable_interrupt_ep:

bInterfaceNumber

USB interface number for thisstreaming interface

enable_interrupt_ep

flag to enable the interruptendpoint for the VC interface

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

Defined on fileconfigfs-usb-gadget-uvc

Class descriptors

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

Defined on fileconfigfs-usb-gadget-uvc

Full speed control class descriptors

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

Defined on fileconfigfs-usb-gadget-uvc

Super speed control class descriptors

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

Defined on fileconfigfs-usb-gadget-uvc

Extension unit descriptors

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

Defined on fileconfigfs-usb-gadget-uvc

Extension Unit (XU) Descriptor

bLength, bUnitID and iExtension are read-only. All others areread-write.

bLength

size of the descriptor in bytes

bUnitID

non-zero ID of this unit

guidExtensionCode

Vendor-specific code identifying the XU

bNumControls

number of controls in this XU

bNrInPins

number of input pins for this unit

baSourceID

list of the IDs of the units or terminalsto which this XU is connected

bControlSize

size of the bmControls field in bytes

bmControls

list of bitmaps detailing which vendorspecific controls are supported

iExtension

index of a string descriptor that describesthis extension unit

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

Defined on fileconfigfs-usb-gadget-uvc

Control header descriptors

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

Defined on fileconfigfs-usb-gadget-uvc

Specific control header descriptors

dwClockFrequencybcdUVC

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

Defined on fileconfigfs-usb-gadget-uvc

Processing unit descriptors

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

Defined on fileconfigfs-usb-gadget-uvc

Default processing unit descriptors

All attributes read only except bmControls, which is read/write:

iProcessing

index of string descriptor

bmControls

bitmap specifying which controls aresupported for the video stream

wMaxMultiplier

maximum digital magnification x100

bSourceID

id of the terminal to which this unit isconnected

bUnitID

a non-zero id of this unit

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

Defined on fileconfigfs-usb-gadget-uvc

Terminal descriptors

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

Defined on fileconfigfs-usb-gadget-uvc

Camera terminal descriptors

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

Defined on fileconfigfs-usb-gadget-uvc

Default camera terminal descriptors

All attributes read only except bmControls, which is read/write:

bmControls

bitmap specifying which controls aresupported 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 whichthis terminal is connected

wTerminalType

terminal type

bTerminalID

a non-zero id of this terminal

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

Defined on fileconfigfs-usb-gadget-uvc

Output terminal descriptors

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

Defined on fileconfigfs-usb-gadget-uvc

Default output terminal descriptors

All attributes read only except bSourceID:

iTerminal

index of string descriptor

bSourceID

id of the terminal to which this terminalis connected

bAssocTerminal

id of the input terminal to which this outputterminal is associated

wTerminalType

terminal type

bTerminalID

a non-zero id of this terminal

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

Defined on fileconfigfs-usb-gadget-uvc

Streaming descriptors

All attributes read only:

bInterfaceNumber

USB interface number for thisstreaming interface

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

Defined on fileconfigfs-usb-gadget-uvc

Streaming class descriptors

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

Defined on fileconfigfs-usb-gadget-uvc

Full speed streaming class descriptors

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

Defined on fileconfigfs-usb-gadget-uvc

High speed streaming class descriptors

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

Defined on fileconfigfs-usb-gadget-uvc

Super speed streaming class descriptors

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

Defined on fileconfigfs-usb-gadget-uvc

Color matching descriptors

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

Defined on fileconfigfs-usb-gadget-uvc

Default color matching descriptors

All attributes read/write:

bMatrixCoefficients

matrix used to compute luma andchroma values from the color primaries

bTransferCharacteristics

optoelectronic transfercharacteristic of the source picture,also called the gamma function

bColorPrimaries

color primaries and the referencewhite

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

Defined on fileconfigfs-usb-gadget-uvc

Additional color matching descriptors

All attributes read/write:

bMatrixCoefficients

matrix used to compute luma andchroma values from the color primaries

bTransferCharacteristics

optoelectronic transfercharacteristic of the source picture,also called the gamma function

bColorPrimaries

color primaries and the referencewhite

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

Defined on fileconfigfs-usb-gadget-uvc

Framebased format descriptors

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

Defined on fileconfigfs-usb-gadget-uvc

Specific framebased format descriptors

bFormatIndex

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

bmaControls

this format’s data for bmaControls inthe streaming header

bmInterlaceFlags

specifies interlace information,read-only

bAspectRatioY

the X dimension of the picture aspectratio, read-only

bAspectRatioX

the Y dimension of the picture aspectratio, read-only

bDefaultFrameIndex

optimum frame index for this stream

bBitsPerPixel

number of bits per pixel used tospecify color in the decoded videoframe

guidFormat

globally unique id used to identifystream-encoding format

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

Defined on fileconfigfs-usb-gadget-uvc

Specific framebased frame descriptors

bFrameIndex

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

dwFrameInterval

indicates how frame interval can beprogrammed; a number of valuesseparated by newline can be specified

dwDefaultFrameInterval

the frame interval the device wouldlike to use as default

dwBytesPerLine

Specifies the number of bytes per lineof video for packed fixed frame sizeformats, allowing the receiver toperform stride alignment of the video.If the bVariableSize value (above) isTRUE (1), or if the format does notpermit such alignment, this value shallbe set to zero (0).

dwMaxBitRate

the maximum bit rate at the shortestframe interval in bps

dwMinBitRate

the minimum bit rate at the longestframe 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-ratesupport

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

Defined on fileconfigfs-usb-gadget-uvc

Streaming header descriptors

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

Defined on fileconfigfs-usb-gadget-uvc

Specific streaming header descriptors

All attributes read only:

bTriggerUsage

how the host software will respond toa hardware trigger interrupt event

bTriggerSupport

flag specifying if hardwaretriggering is supported

bStillCaptureMethod

method of still image capturesupported

bTerminalLink

id of the output terminal to whichthe video endpoint of this interfaceis connected

bmInfo

capabilities of this video streaminginterface

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

Defined on fileconfigfs-usb-gadget-uvc

MJPEG format descriptors

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

Defined on fileconfigfs-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 islinked into the streaming class;read-only

bmaControls

this format’s data for bmaControls inthe streaming header

bmInterlaceFlags

specifies interlace information,read-only

bAspectRatioY

the X dimension of the picture aspectratio, read-only

bAspectRatioX

the Y dimension of the picture aspectratio, read-only

bmFlags

characteristics of this format,read-only

bDefaultFrameIndex

optimum frame index for this stream

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

Defined on fileconfigfs-usb-gadget-uvc

Specific MJPEG frame descriptors

bFrameIndex

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

dwFrameInterval

indicates how frame interval can beprogrammed; a number of valuesseparated by newline can be specified

dwDefaultFrameInterval

the frame interval the device wouldlike to use as default

dwMaxVideoFrameBufferSize

the maximum number of bytes thecompressor will produce for a videoframe or still image

dwMaxBitRate

the maximum bit rate at the shortestframe interval in bps

dwMinBitRate

the minimum bit rate at the longestframe 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-ratesupport

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

Defined on fileconfigfs-usb-gadget-uvc

Uncompressed format descriptors

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

Defined on fileconfigfs-usb-gadget-uvc

Specific uncompressed format descriptors

bFormatIndex

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

bmaControls

this format’s data for bmaControls inthe streaming header

bmInterlaceFlags

specifies interlace information,read-only

bAspectRatioY

the X dimension of the picture aspectratio, read-only

bAspectRatioX

the Y dimension of the picture aspectratio, read-only

bDefaultFrameIndex

optimum frame index for this stream

bBitsPerPixel

number of bits per pixel used tospecify color in the decoded videoframe

guidFormat

globally unique id used to identifystream-encoding format

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

Defined on fileconfigfs-usb-gadget-uvc

Specific uncompressed frame descriptors

bFrameIndex

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

dwFrameInterval

indicates how frame interval can beprogrammed; a number of valuesseparated by newline can be specified

dwDefaultFrameInterval

the frame interval the device wouldlike to use as default

dwMaxVideoFrameBufferSize

the maximum number of bytes thecompressor will produce for a videoframe or still image

dwMaxBitRate

the maximum bit rate at the shortestframe interval in bps

dwMinBitRate

the minimum bit rate at the longestframe 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-ratesupport

/config/usb-gadget/gadget/os_desc

Defined on fileconfigfs-usb-gadget

This group contains “OS String” extension handling attributes.

use

flag turning “OS Descriptors” support on/off

b_vendor_code

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

qw_sign

an identifier to be reported as “OS String”proper

/config/usb-gadget/gadget/strings

Defined on fileconfigfs-usb-gadget

This group contains subdirectories for language-specificstrings for this gadget.

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

Defined on fileconfigfs-usb-gadget

The attributes:

serialnumber

gadget’s serial number (string)

product

gadget’s product description

manufacturer

gadget’s manufacturer description

/config/usb-gadget/gadget/webusb

Defined on fileconfigfs-usb-gadget

This group contains “WebUSB” extension handling attributes.

use

flag turning “WebUSB” support on/off

bcdVersion

bcd WebUSB specification version number

bVendorCode

one-byte value used for custom per-device

landingPage

UTF-8 encoded URL of the device’s landing page

Symbols under /dev/gpiochip

/dev/gpiochip[0-9]+

Defined on filegpio-cdev

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

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

The following file operations are supported:

open(2)

Currently the only useful flags are O_RDWR.

ioctl(2)

Initiate various actions.

SeeGPIO Character Device Userspace APIfor a description of all ioctls.

close(2)

Stops and free up the I/O contexts that was associatedwith the file descriptor.

Users:

TBD

Symbols under /dev/kmsg

/dev/kmsg

Defined on filedev-kmsg

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

Injecting messages:

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

The logged line can be prefixed with a <N> syslog prefix, whichcarries the syslog priority and facility. The single decimalprefix number is composed of the 3 lowest bits being the syslogpriority and the next 8 bits the syslog facility number.

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

Accessing the buffer:

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

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

Every read() will receive the next available record. If no morerecords are available read() will block, or if O_NONBLOCK isused -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 whilethe device is kept open, the next read() will return -EPIPE,and the seek position be updated to the next available record.Subsequentreads() will return available records again.

Unlike the classicsyslog() interface, the 64 bit recordsequence numbers allow to calculate the amount of lostmessages, in case the buffer gets overwritten. And they allowto reconnect to the buffer and reconstruct the read positionif 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 timethe last SYSLOG_ACTION_CLEAR was issued.

Other seek operations or offsets are not supported because ofthe special behavior this device has. The device allows to reador write only whole variable length messages (records) that arestored in a ring buffer.

Because of the non-standard behavior also the error values arenon-standard. -ESPIPE is returned for non-zero offset. -EINVALis returned for other operations, e.g. SEEK_CUR. This behaviorand values are historical and could not be modified without therisk of breaking userspace.

The output format consists of a prefix carrying the syslogprefix including priority and facility, the 64 bit messagesequence 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 beforethe terminating ‘;’. Unknown fields and values should begracefully ignored.

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

A line starting with ‘ ‘, is a continuation line, addingkey/value pairs to the log message, which provide the machinereadable context of the message, for reliable processing inuserspace.

Example:

7,160,424069,-;pci_root PNP0A03:00: host bridge window [io  0x0000-0x0cf7] (ignored) SUBSYSTEM=acpi DEVICE=+acpi:PNP0A03:006,339,5140900,-;NET: Registered protocol family 1030,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 afragment of a line. Note, that these hints about continuationlines are not necessarily correct, and the stream could beinterleaved with unrelated messages, but merging the lines inthe output usually produces better human readable results. Asimilar logic is used internally when messages are printed tothe console, /proc/kmsg or thesyslog() syscall.

By default, kernel tries to avoid fragments by concatenatingwhen it can and fragments are rare; however, when extendedconsole support is enabled, the in-kernel concatenation isdisabled and /dev/kmsg output will contain more fragments. Ifthe log consumer performs concatenation, the end resultshould be the same. In the future, the in-kernel concatenationmay be removed entirely and /dev/kmsg users are recommended toimplement fragment handling.

Users:

dmesg(1), userspace kernel log consumers

Symbols under /dev/rtcX

/dev/rtcX

Defined on filertc-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. Timeformat is a Gregorian calendar date and 24 hour wall clocktime.

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

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

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

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

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

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

  • RTC_VL_READ: Read the voltage inputs status of the RTC whensupported. The value is a bit field of RTC_VL_*, giving thestatus of the main and backup voltages.

  • RTC_VL_CLEAR: Clear the voltage status of the RTC. Some RTCsneed user interaction when the backup power provider isreplaced or charged to be able to clear the status.

The ioctl() calls supported by the older /dev/rtc interface arealso supported by the newer RTC class framework. However,because the chips and systems are not standardized, some PC/ATfunctionality might not be provided. And in the same way, somenewer features -- including those enabled by ACPI -- are exposedby the RTC class framework, but can’t be supported by the olderdriver.

Symbols under /dev/wmi

/dev/wmi/dell-smbios

Defined on filedell-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 tofirst determine the minimum size of the calling interfacebuffer for your machine.Platforms that contain larger buffers can return largerobjects from the system firmware.Commonly this size is either 4k or 32k.

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

  2. After you’ve determined the minimum size of the callinginterface buffer, you can allocate a structure that representsthe structure documented above.

  3. In the ‘length’ object store the size of the buffer youdetermined above and allocated.

  4. In this buffer object, prepare as necessary for the SMBIOScall you’re interested in. Typically SMBIOS buffers have“class”, “select”, and “input” defined to values that coincidewith the data you are interested in.Documenting class/select/input values is outside of the scopeof this documentation. Check with the libsmbios project forfurther 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.

Symbols under /kvd

/kvd/

Defined on filedevlink-resource-mlxsw

The main database in the Spectrum device is a centralizedKVD database used for many of the tables used to configurethe chip including L2 FDB, L3 LPM, ECMP and more. The KVDis divided into two sections, the first is hash-based tableand the second is a linear access table. The divisionbetween the linear and hash-based sections is static andrequire reload before the changes take effect.

Symbols under /kvd/hash_double

/kvd/hash_double

Defined on filedevlink-resource-mlxsw

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

Symbols under /kvd/hash_single

/kvd/hash_single

Defined on filedevlink-resource-mlxsw

The hash based section of the KVD is managed by the switchdevice. Used in case the key size is smaller or equal to64bit.

Symbols under /kvd/linear

/kvd/linear

Defined on filedevlink-resource-mlxsw

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

Symbols under /proc

/proc/*/attr/current

Defined on fileprocfs-attr-current

The current security information used by a Linuxsecurity module (LSM) that is active on the system.The details of permissions required to read fromthis interface and hence obtain the security stateof the task identified is LSM dependent.A process cannot write to this interface unless itrefers to itself.The other details of permissions required to write tothis interface and hence change the security state ofthe task identified are LSM dependent.The format of the data used by this interface is LSMdependent.SELinux, Smack and AppArmor provide this interface.

Users:

SELinux user-spaceSmack user-spaceAppArmor user-space

/proc/*/attr/exec

Defined on fileprocfs-attr-exec

The security information to be used on the processby a Linux security module (LSM) active on the systemafter a subsequentexec() call.The details of permissions required to read fromthis interface and hence obtain the security stateof the task identified is LSM dependent.A process cannot write to this interface unless itrefers to itself.The other details of permissions required to write tothis interface and hence change the security state ofthe task identified are LSM dependent.The format of the data used by this interface is LSMdependent.SELinux and AppArmor provide this interface.

Users:

SELinux user-spaceAppArmor user-space

/proc/*/attr/prev

Defined on fileprocfs-attr-prev

The security information used on the process bya Linux security module (LSM) active on the systemprior to the most recentexec() call.The details of permissions required to read fromthis interface is LSM dependent.A process cannot write to this interface unless itrefers to itself.The other details of permissions required to write tothis interface are LSM dependent.The format of the data used by this interface is LSMdependent.SELinux and AppArmor provide this interface.

Users:

SELinux user-spaceAppArmor user-space

Symbols under /proc/diskstats

/proc/diskstats

Defined on fileprocfs-diskstats

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

1

major number

2

minor number

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 discardtracking putting the total at 18:

15

discards completed successfully

16

discards merged

17

sectors discarded

18

time spent discarding

Kernel 5.5+ appends two more fields for flush requests:

19

flush requests completed successfully

20

time spent flushing

For more details refer toI/O statistics fields

Symbols under /proc/pid

/proc/pid/smaps_rollup

Defined on fileprocfs-smaps_rollup

This file provides pre-summed memory information for aprocess. 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 correspondingfields from all the maps in /proc/pid/smaps.Additionally, the fields Pss_Anon, Pss_File and Pss_Shmemare not present in /proc/pid/smaps. These fields representthe sum of the Pss field of each type (anon, file, shmem).For more details, seeThe /proc Filesystemand the procfs man page.

Typical output looks like this:

00100000-ff709000 ---p 00000000 00:00 0          [rollup]Size:               1192 kBKernelPageSize:        4 kBMMUPageSize:           4 kBRss:                 884 kBPss:                 385 kBPss_Dirty:            68 kBPss_Anon:            301 kBPss_File:             80 kBPss_Shmem:             4 kBShared_Clean:        696 kBShared_Dirty:          0 kBPrivate_Clean:       120 kBPrivate_Dirty:        68 kBReferenced:          884 kBAnonymous:            68 kBLazyFree:              0 kBAnonHugePages:         0 kBShmemPmdMapped:        0 kBShared_Hugetlb:        0 kBPrivate_Hugetlb:       0 kBSwap:                  0 kBSwapPss:               0 kBLocked:              385 kB

Symbols under /sys

/sys/.../<device>/<UUID>/

Defined on filesysfs-bus-vfio-mdev

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

/sys/.../<device>/<UUID>/mdev_type

Defined on filesysfs-bus-vfio-mdev

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

/sys/.../<device>/<UUID>/remove

Defined on filesysfs-bus-vfio-mdev

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

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

/sys/.../<device>/mdev_supported_types/

Defined on filesysfs-bus-vfio-mdev

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

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

Defined on filesysfs-bus-vfio-mdev

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

/sys/.../<device>/vfio-dev/vfioX/

Defined on filesysfs-devices-vfio-dev

This directory is created when the device is bound to avfio driver. The layout under this directory matches whatexists for a standard ‘structdevice’. ‘X’ is a uniqueindex marking this device in vfio.

/sys/.../events/illuminance_threshY_falling_value

/sys/.../events/illuminance_threshY_raising_value

Defined on filesysfs-bus-iio-light-lm3533-als

Specifies the value of threshold that the device is comparingagainst for the events enabled byin_illuminance0_thresh_either_en (0..255), where Y in 0..3.

Note that threshY_falling must be less than or equal tothreshY_raising.

These thresholds correspond to the eight zone-boundaryregisters (boundaryY_{low,high}) and define the five lightzones.

/sys/.../events/in_accel_gesture_doubletap_tap2_min_delay

Defined on filesysfs-bus-iio

Specifies the minimum quiet time in seconds between the twotaps of a double tap.

/sys/.../events/in_accel_gesture_doubletap_tap2_min_delay_available

Defined on filesysfs-bus-iio

Lists all available delay values between two taps in the doubletap. Units in seconds.

/sys/.../events/in_accel_gesture_singletap_en

/sys/.../events/in_accel_gesture_doubletap_en

Defined on filesysfs-bus-iio

Device generates an event on a single or double tap.

/sys/.../events/in_accel_gesture_singletap_reset_timeout

/sys/.../events/in_accel_gesture_doubletap_reset_timeout

Defined on filesysfs-bus-iio

Specifies the timeout value in seconds for the tap detectorto not to look for another tap event after the event asoccurred. Basically the minimum quiet time between the twosingle-tap’s or two double-tap’s.

/sys/.../events/in_accel_gesture_singletap_value

/sys/.../events/in_accel_gesture_doubletap_value

Defined on filesysfs-bus-iio

Specifies the threshold value that the device is comparingagainst to generate the tap gesture event. The lowerthreshold value increases the sensitivity of tap detection.Units and the exact meaning of value are device-specific.

/sys/.../events/in_accel_gesture_tap_maxtomin_time

Defined on filesysfs-bus-iio

Specifies the maximum time difference allowed between upperand lower peak of tap to consider it as the valid tap event.Units in seconds.

/sys/.../events/in_accel_gesture_tap_maxtomin_time_available

Defined on filesysfs-bus-iio

Lists all available time values between upper peak to lowerpeak. Units in seconds.

/sys/.../events/in_accel_gesture_tap_reset_timeout_available

Defined on filesysfs-bus-iio

Lists all available tap reset timeout values. Units in seconds.

/sys/.../events/in_accel_gesture_tap_value_available

Defined on filesysfs-bus-iio

Lists all available threshold values which can be used tomodify the sensitivity of the tap detection.

/sys/.../events/in_accel_gesture_tap_wait_dur

Defined on filesysfs-bus-iio

Timeout value in seconds for tap gesture confirmation.

/sys/.../events/in_accel_gesture_tap_wait_dur_available

Defined on filesysfs-bus-iio

List of available timeout value for tap gesture confirmation.

/sys/.../events/in_accel_gesture_tap_wait_timeout

Defined on filesysfs-bus-iio

Enable tap gesture confirmation with timeout.

/sys/.../events/in_accel_mag_adaptive_rising_period

/sys/.../events/in_accel_roc_rising_period

/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

/sys/.../events/in_illuminance_thresh_either_period

Defined on filesysfs-bus-iio

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

/sys/.../events/in_accel_mag_adaptive_rising_value

/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

/sys/.../events/in_illuminance_thresh_rising_value

/sys/.../events/in_illuminance_thresh_falling_value

/sys/.../events/in_capacitanceY_thresh_rising_value

/sys/.../events/in_capacitanceY_thresh_falling_value

/sys/.../events/in_capacitanceY_thresh_adaptive_rising_value

/sys/.../events/in_capacitanceY_thresh_falling_rising_value

/sys/.../events/in_pressure_thresh_rising_value

Defined on filesysfs-bus-iio

Specifies the value of threshold that the device is comparingagainst for the events enabled by<type>Y[_name]_thresh[_rising|falling]_en.

If separate attributes exist for the two directions, butdirection is not specified for this attribute, then a singlethreshold value applies to both directions.

The raw or input element of the name indicates whether thevalue is in raw device units or in processed units (as _rawand _input do on sysfs direct channel read attributes).

/sys/.../events/in_accel_period_available

Defined on filesysfs-bus-iio

List of available periods for accelerometer event detection inseconds, expressed as:

  • a range specified as “[min step max]”

/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 filesysfs-bus-iio

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

/sys/.../events/in_accel_roc_rising_value

/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 filesysfs-bus-iio

Specifies the value of rate of change threshold that thedevice 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 thevalue is in raw device units or in processed units (as _rawand _input do on sysfs direct channel read attributes).

/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 filesysfs-bus-iio

Specifies the conversion factor from the standard unitsto device specific units used to set the event triggerthreshold.

/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 filesysfs-bus-iio

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

/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 filesysfs-bus-iio

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

/sys/.../events/in_accel_value_available

Defined on filesysfs-bus-iio

List of available threshold values for acceleration eventgeneration. Applies to all event types on in_accel channels.Units after application of scale and offset are m/s^2.Expressed as:

  • a range specified as “[min step max]”

/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 filesysfs-bus-iio

Specifies the hysteresis of threshold that the device is comparingagainst for the events enabled by<type>Y[_name]_thresh[_(rising|falling)]_hysteresis.If separate attributes exist for the two directions, butdirection is not specified for this attribute, then a singlehysteresis value applies to both directions.

For falling events the hysteresis is added to the _value attribute forthis event to get the upper threshold for when the event goes back tonormal, for rising events the hysteresis is subtracted from the _valueattribute. E.g. if in_voltage0_raw_thresh_rising_value is set to 1200and in_voltage0_raw_thresh_rising_hysteresis is set to 50. The eventwill get activated once in_voltage0_raw goes above 1200 and will becomedeactivated again once the value falls below 1150.

/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 filesysfs-bus-iio

Enables or disables activity events. Depending on directionan event is generated when sensor ENTERS or LEAVES a given state.

/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 filesysfs-bus-iio

Confidence value (in units as percentage) to be usedfor deciding when an event should be generated. E.g forrunning: If the confidence value reported by the sensoris greater than in_activity_running_thresh_rising_valuethen the sensor ENTERS running state. Conversely, if theconfidence value reported by the sensor is lower thanin_activity_running_thresh_falling_value then the sensoris LEAVING running state.

/sys/.../events/in_capacitanceY_adaptive_thresh_rising_en

/sys/.../events/in_capacitanceY_adaptive_thresh_falling_en

Defined on filesysfs-bus-iio

Adaptive thresholds are similar to normal fixed thresholdsbut the value is expressed as an offset from a value whichprovides a low frequency approximation of the channel itself.Thus these detect if a rapid change occurs in the specifieddirection which crosses tracking value + offset.Tracking value calculation is devices specific.

/sys/.../events/in_illuminance0_threshY_hysteresis

Defined on filesysfs-bus-iio-light-lm3533-als

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

/sys/.../events/in_illuminance0_thresh_either_en

Defined on filesysfs-bus-iio-light-lm3533-als

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

/sys/.../events/in_proximity_thresh_either_runningcount

Defined on filesysfs-bus-iio

Number of conditions that must occur, during a runningperiod, before an event is generated.

/sys/.../events/in_proximity_thresh_either_runningperiod

Defined on filesysfs-bus-iio

A running period of time (in seconds) for whichin_proximity_thresh_either_runningcount amount of conditionsmust occur before an event is generated. If direction is notspecified then this period applies to both directions.

/sys/.../events/in_steps_change_en

Defined on filesysfs-bus-iio

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

/sys/.../events/in_steps_change_value

Defined on filesysfs-bus-iio

Specifies the value of change threshold that thedevice 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 3steps.

/sys/.../iio:deviceX/bufferY/in_accel_type

/sys/.../iio:deviceX/bufferY/in_deltaangl_type

/sys/.../iio:deviceX/bufferY/in_deltavelocity_type

/sys/.../iio:deviceX/bufferY/in_anglvel_type

/sys/.../iio:deviceX/bufferY/in_magn_type

/sys/.../iio:deviceX/bufferY/in_incli_type

/sys/.../iio:deviceX/bufferY/in_voltageY_type

/sys/.../iio:deviceX/bufferY/in_voltage_type

/sys/.../iio:deviceX/bufferY/in_voltageY_supply_type

/sys/.../iio:deviceX/bufferY/in_timestamp_type

/sys/.../iio:deviceX/bufferY/in_pressureY_type

/sys/.../iio:deviceX/bufferY/in_pressure_type

/sys/.../iio:deviceX/bufferY/in_rot_quaternion_type

/sys/.../iio:deviceX/bufferY/in_proximity_type

Defined on filesysfs-bus-iio

Description of the scan element data storage within the bufferand 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 ifsigned (2’s complement) or unsigned. bits is the number of bitsof data and storagebits is the space (after padding) that itoccupies in the buffer. shift if specified, is the shift thatneeds to be applied prior to masking out unused bits. Somedevices put their data in the middle of the transferred elementswith additional information on both sides. Note that somedevices will have additional information in the unused bitsso to get a clean value, the bits value must be used to maskthe buffer output value appropriately. The storagebits valuealso specifies the data alignment. So s48/64>>2 will be asigned 48 bit integer stored in a 64 bit location aligned toa 64 bit boundary. To obtain the clean value, shift right 2and apply a mask to zero the top 16 bits of the result.For other storage combinations this attribute will be extendedappropriately.

/sys/.../iio:deviceX/bufferY/in_accel_x_en

/sys/.../iio:deviceX/bufferY/in_accel_y_en

/sys/.../iio:deviceX/bufferY/in_accel_z_en

/sys/.../iio:deviceX/bufferY/in_deltaangl_x_en

/sys/.../iio:deviceX/bufferY/in_deltaangl_y_en

/sys/.../iio:deviceX/bufferY/in_deltaangl_z_en

/sys/.../iio:deviceX/bufferY/in_deltavelocity_x_en

/sys/.../iio:deviceX/bufferY/in_deltavelocity_y_en

/sys/.../iio:deviceX/bufferY/in_deltavelocity_z_en

/sys/.../iio:deviceX/bufferY/in_anglvel_x_en

/sys/.../iio:deviceX/bufferY/in_anglvel_y_en

/sys/.../iio:deviceX/bufferY/in_anglvel_z_en

/sys/.../iio:deviceX/bufferY/in_magn_x_en

/sys/.../iio:deviceX/bufferY/in_magn_y_en

/sys/.../iio:deviceX/bufferY/in_magn_z_en

/sys/.../iio:deviceX/bufferY/in_rot_from_north_magnetic_en

/sys/.../iio:deviceX/bufferY/in_rot_from_north_true_en

/sys/.../iio:deviceX/bufferY/in_rot_from_north_magnetic_tilt_comp_en

/sys/.../iio:deviceX/bufferY/in_rot_from_north_true_tilt_comp_en

/sys/.../iio:deviceX/bufferY/in_timestamp_en

/sys/.../iio:deviceX/bufferY/in_voltageY_supply_en

/sys/.../iio:deviceX/bufferY/in_voltageY_en

/sys/.../iio:deviceX/bufferY/in_voltageY-voltageZ_en

/sys/.../iio:deviceX/bufferY/in_incli_x_en

/sys/.../iio:deviceX/bufferY/in_incli_y_en

/sys/.../iio:deviceX/bufferY/in_pressureY_en

/sys/.../iio:deviceX/bufferY/in_pressure_en

/sys/.../iio:deviceX/bufferY/in_rot_quaternion_en

/sys/.../iio:deviceX/bufferY/in_proximity_en

Defined on filesysfs-bus-iio

Scan element control for triggered data capture.

/sys/.../iio:deviceX/bufferY/in_voltageY_index

/sys/.../iio:deviceX/bufferY/in_voltageY_supply_index

/sys/.../iio:deviceX/bufferY/in_accel_x_index

/sys/.../iio:deviceX/bufferY/in_accel_y_index

/sys/.../iio:deviceX/bufferY/in_accel_z_index

/sys/.../iio:deviceX/bufferY/in_deltaangl_x_index

/sys/.../iio:deviceX/bufferY/in_deltaangl_y_index

/sys/.../iio:deviceX/bufferY/in_deltaangl_z_index

/sys/.../iio:deviceX/bufferY/in_deltavelocity_x_index

/sys/.../iio:deviceX/bufferY/in_deltavelocity_y_index

/sys/.../iio:deviceX/bufferY/in_deltavelocity_z_index

/sys/.../iio:deviceX/bufferY/in_anglvel_x_index

/sys/.../iio:deviceX/bufferY/in_anglvel_y_index

/sys/.../iio:deviceX/bufferY/in_anglvel_z_index

/sys/.../iio:deviceX/bufferY/in_magn_x_index

/sys/.../iio:deviceX/bufferY/in_magn_y_index

/sys/.../iio:deviceX/bufferY/in_magn_z_index

/sys/.../iio:deviceX/bufferY/in_rot_from_north_magnetic_index

/sys/.../iio:deviceX/bufferY/in_rot_from_north_true_index

/sys/.../iio:deviceX/bufferY/in_rot_from_north_magnetic_tilt_comp_index

/sys/.../iio:deviceX/bufferY/in_rot_from_north_true_tilt_comp_index

/sys/.../iio:deviceX/bufferY/in_incli_x_index

/sys/.../iio:deviceX/bufferY/in_incli_y_index

/sys/.../iio:deviceX/bufferY/in_timestamp_index

/sys/.../iio:deviceX/bufferY/in_pressureY_index

/sys/.../iio:deviceX/bufferY/in_pressure_index

/sys/.../iio:deviceX/bufferY/in_rot_quaternion_index

/sys/.../iio:deviceX/bufferY/in_proximity_index

Defined on filesysfs-bus-iio

A single positive integer specifying the position of thisscan element in the buffer. Note these are not dependent onwhat is enabled and may not be contiguous. Thus for user-spaceto establish the full layout these must be used in conjunctionwith all _en attributes to establish which channels are present,and the relevant _type attributes to establish the data storageformat.

/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 filesysfs-bus-iio

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

/sys/.../iio:deviceX/events/in_accel_mag_referenced_en

/sys/.../iio:deviceX/events/in_accel_mag_referenced_rising_en

/sys/.../iio:deviceX/events/in_accel_mag_referenced_falling_en

/sys/.../iio:deviceX/events/in_accel_y_mag_referenced_en

/sys/.../iio:deviceX/events/in_accel_y_mag_referenced_rising_en

/sys/.../iio:deviceX/events/in_accel_y_mag_referenced_falling_en

Defined on filesysfs-bus-iio

Similar to in_accel_mag[_y][_rising|_falling]_en, but the eventvalue is relative to a reference magnitude. The reference magnitudeincludes the graviational acceleration.

/sys/.../iio:deviceX/events/in_accel_mag_referenced_value

/sys/.../iio:deviceX/events/in_accel_mag_referenced_rising_value

/sys/.../iio:deviceX/events/in_accel_mag_referenced_falling_value

/sys/.../iio:deviceX/events/in_accel_y_mag_referenced_value

/sys/.../iio:deviceX/events/in_accel_y_mag_referenced_rising_value

/sys/.../iio:deviceX/events/in_accel_y_mag_referenced_falling_value

Defined on filesysfs-bus-iio

The value to which the reference magnitude of the channel iscompared. If the axis is not specified, it applies to all channelsof this type.

/sys/.../iio:deviceX/events/in_accel_x_mag_adaptive_rising_en

/sys/.../iio:deviceX/events/in_accel_y_mag_adaptive_rising_en

/sys/.../iio:deviceX/events/in_accel_z_mag_adaptive_rising_en

Defined on filesysfs-bus-iio

Similar to in_accel_x_thresh[_rising|_falling]_en, but here themagnitude of the channel is compared to the adaptive threshold.

/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_accel_x&y&z_roc_rising_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 filesysfs-bus-iio

Event generated when channel passes a threshold on the rate ofchange (1st differential) in the specified (_rising|_falling)direction. If the direction is not specified, then either thedevice will report an event which ever direction a singlethreshold 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 takedifferent values, but the device can only enable both rate ofchange thresholds or neither.

Note the driver will assume the last p events requested areto be enabled where p is however many it supports (which mayvary depending on the exact set requested. So if you want to besure you have set what you think you have, check the contents ofthese attributes after everything is configured. Drivers mayhave to buffer any parameters so that they are consistent whena given event type is enabled a future point (and not those forwhatever event was previously enabled).

/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

/sys/.../iio:deviceX/events/in_capacitanceY_thresh_rising_en

/sys/.../iio:deviceX/events/in_capacitanceY_thresh_falling_en

/sys/.../iio:deviceX/events/in_pressure_thresh_rising_en

Defined on filesysfs-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 directiona 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 takedifferent values, but the device can only enable both thresholdsor neither.

Note the driver will assume the last p events requested areto be enabled where p is how many it supports (which may varydepending on the exact set requested. So if you want to besure you have set what you think you have, check the contents ofthese attributes after everything is configured. Drivers mayhave to buffer any parameters so that they are consistent whena given event type is enabled at a future point (and not those forwhatever event was previously enabled).

/sys/.../iio:deviceX/in_accelY_power_mode

Defined on filesysfs-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 readin_accel_power_mode_available.

/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 filesysfs-bus-iio

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

/sys/.../iio:deviceX/in_anglvel_z_quadrature_correction_raw

Defined on filesysfs-bus-iio

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

/sys/.../iio:deviceX/in_attention_input

Defined on filesysfs-bus-iio

Value representing the user’s attention to the system expressedin units as percentage. This usually means if the user islooking at the screen or not.

/sys/.../iio:deviceX/in_capacitableY_calibbias_calibration

/sys/.../iio:deviceX/in_capacitableY_calibscale_calibration

Defined on filesysfs-bus-iio-cdc-ad7746

Write 1 to trigger a calibration of the calibbias orcalibscale. For calibscale, a full scale capacitance shouldbe connected to the capacitance input and acalibscale_calibration then started. For calibbias seethe device datasheet section on “capacitive system offsetcalibration”.

/sys/.../iio:deviceX/in_capacitanceY-capacitanceZ_raw

Defined on filesysfs-bus-iio

Raw differential capacitance measurement equivalent tochannel Y - channel Z where these channel numbers apply to thephysically equivalent inputs when non differential readings areseparately available. In differential only parts, then all thatis required is a consistent labeling. Units after applicationof scale and offset are nanofarads.

/sys/.../iio:deviceX/in_capacitanceY-capacitanceZ_zeropoint

Defined on filesysfs-bus-iio

For differential channels, this an offset that is appliedequally to both inputs. As the reading is of the differencebetween the two inputs, this should not be applied to the _rawreading by userspace (unlike _offset) and unlike calibbiasit does not affect the differential value measured becausethe effect of _zeropoint cancels out across the two inputsthat make up the differential pair. It’s purpose is to bringthe individual signals, before the differential is measured,within the measurement range of the device. The naming ischosen because if the separate inputs that make thedifferential pair are drawn on a graph in their_raw units, this is the value that the zero point on themeasurement axis represents. It is expressed with thesame scaling as _raw.

/sys/.../iio:deviceX/in_distance_input

/sys/.../iio:deviceX/in_distance_raw

Defined on filesysfs-bus-iio

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

/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 filesysfs-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 infirmware and export them through in_steps_input.

/sys/.../iio:deviceX/in_energy_input

/sys/.../iio:deviceX/in_energy_raw

/sys/.../iio:deviceX/in_energyY_active_raw

/sys/.../iio:deviceX/in_energyY_reactive_raw

/sys/.../iio:deviceX/in_energyY_apparent_raw

Defined on filesysfs-bus-iio

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

/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 filesysfs-bus-iio

Illuminance measurement, units after application of scaleand offset are lux.

/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_uva_raw

/sys/.../iio:deviceX/in_intensityY_uvb_raw

/sys/.../iio:deviceX/in_intensityY_duv_raw

/sys/.../iio:deviceX/in_intensity_red_raw

/sys/.../iio:deviceX/in_intensity_green_raw

/sys/.../iio:deviceX/in_intensity_blue_raw

/sys/.../iio:deviceX/in_intensity_clear_raw

Defined on filesysfs-bus-iio

Unit-less light intensity. Modifiers both and ir indicatethat measurements contain visible and infrared lightcomponents or just infrared light, respectively. Modifieruv indicates that measurements contain ultraviolet lightcomponents. Modifiers uva, uvb and duv indicate thatmeasurements contain A, B or deep (C) ultraviolet lightcomponents respectively.

/sys/.../iio:deviceX/in_intensity_integration_time

/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 filesysfs-bus-iio

This attribute is used to get/set the integration time inseconds. If shared across all channels of a given type,<type>_integration_time is used.

/sys/.../iio:deviceX/in_proximity_raw

/sys/.../iio:deviceX/in_proximity_input

/sys/.../iio:deviceX/in_proximityY_raw

Defined on filesysfs-bus-iio

Proximity measurement indicating that someobject is near the sensor, usually by observingreflectivity of infrared or ultrasound emitted.

Often these sensors are unit less and as such conversionto SI units is not possible. Higher proximity measurementsindicate closer objects, and vice versa. Units afterapplication of scale and offset are meters.

/sys/.../iio:deviceX/in_shunt_resistor

/sys/.../iio:deviceX/in_current_shunt_resistor

/sys/.../iio:deviceX/in_power_shunt_resistor

Defined on filesysfs-bus-iio

The value of current sense resistor in Ohms.

/sys/.../iio:deviceX/in_steps_debounce_count

Defined on filesysfs-bus-iio

Specifies the number of steps that must occur withinin_steps_filter_debounce_time for the pedometer to decide theconsumer is making steps.

/sys/.../iio:deviceX/in_steps_debounce_time

Defined on filesysfs-bus-iio

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

/sys/.../iio:deviceX/in_steps_input

Defined on filesysfs-bus-iio

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

/sys/.../iio:deviceX/in_uvindex_input

Defined on filesysfs-bus-iio

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

/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 filesysfs-bus-iio

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

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

Defined on filesysfs-bus-iio

Number of seconds in which to compute speed.

/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 filesysfs-bus-iio

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

/sys/.../iio:deviceX/scan_elements/in_accel_type_available

Defined on filesysfs-bus-iio

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

/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 filesysfs-bus-iio

If a known or controllable high pass filter is appliedto the underlying data channel, then this parametergives the 3dB frequency of the filter in Hz.

/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 filesysfs-bus-iio

If a known or controllable low pass filter is appliedto the underlying data channel, then this parametergives the 3dB frequency of the filter in Hz.

/sys/.../in_capacitanceY_adaptive_thresh_rising_timeout

/sys/.../in_capacitanceY_adaptive_thresh_falling_timeout

Defined on filesysfs-bus-iio

When adaptive thresholds are used, the tracking signalmay adjust too slowly to step changes in the raw signal.Thus these specify the time in seconds for which thedifference between the slow tracking signal and the rawsignal is allowed to remain out-of-range before a resetevent occurs in which the tracking signal is made equalto the raw signal, allowing slow tracking to resume and theadaptive threshold event detection to function as expected.

/sys/.../map_seg14

Defined on filesysfs-auxdisplay-linedisp

Read/write binary blob representing the ASCII-to-14-segmentdisplay conversion table used by the linedisp driver, as definedbystructseg14_conversion_map in <linux/map_to_14segment.h>.

Only visible on displays with 14-segment capability.

This attribute is not human-readable. Writes must match thestructsize exactly, else -EINVAL is returned; reads return theentire mapping as a binary blob.

This interface and its implementation match existing conventionsused by segment-mapped display drivers since 2005.

ABI note: This style of binary sysfs attributeis an exceptionto current “one value per file, text only” sysfs rules, forhistorical compatibility and driver uniformity. New drivers arediscouraged from introducing additional binary sysfs ABIs.

Reference interface guidance:- include/uapi/linux/map_to_14segment.h

/sys/.../map_seg7

Defined on filesysfs-auxdisplay-linedisp

Read/write binary blob representing the ASCII-to-7-segmentdisplay conversion table used by the linedisp driver, as definedbystructseg7_conversion_map in <linux/map_to_7segment.h>.

Only visible on displays with 7-segment capability.

This attribute is not human-readable. Writes must match thestructsize exactly, else -EINVAL is returned; reads return theentire mapping as a binary blob.

This interface and its implementation match existing conventionsused in segment-mapped display drivers since 2005.

ABI note: This style of binary sysfs attributeis an exceptionto current “one value per file, text only” sysfs rules, forhistorical compatibility and driver uniformity. New drivers arediscouraged from introducing additional binary sysfs ABIs.

Reference interface guidance:- include/uapi/linux/map_to_7segment.h

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

Defined on filesysfs-bus-vfio-mdev

Reading this attribute will show the number of mediateddevices of type <type-id> that can be created. This is areadonly file.

Users:

Userspace applications interested in creating mediateddevice of that type. Userspace application should checkthe number of available instances could be created beforecreating mediated device of this type.

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

Defined on filesysfs-bus-vfio-mdev

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

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

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

Defined on filesysfs-bus-vfio-mdev

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

Users:

Userspace applications interested in knowing the details ofa particular <type-id> that can help in understanding thefeatures provided by that type of mediated device.

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

Defined on filesysfs-bus-vfio-mdev

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

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

Defined on filesysfs-bus-vfio-mdev

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

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

Defined on filesysfs-bus-vfio-mdev

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

Users:

Userspace applications interested in knowing the name ofa particular <type-id> that can help in understanding thetype of mediated device.

/sys/.../message

Defined on filesysfs-auxdisplay-linedisp

Controls the text message displayed on character line displays.

Reading returns the current message with a trailing newline.Writing updates the displayed message. Messages longer than thedisplay width will automatically scroll. Trailing newlines ininput are automatically trimmed.

Writing an empty string clears the display.

Example:

echo “Hello World” > messagecat message # Returns “Hello Worldn”

/sys/.../num_chars

Defined on filesysfs-auxdisplay-linedisp

Read-only attribute showing the character width capacity ofthe line display device. Messages longer than this will scroll.

Example:

cat num_chars # Returns “16n” for 16-char display

/sys/.../scroll_step_ms

Defined on filesysfs-auxdisplay-linedisp

Controls the scrolling speed for messages longer than the displaywidth, specified in milliseconds per scroll step.

Setting to 0 disables scrolling. Default is 500ms.

Example:

echo “250” > scroll_step_ms # 4Hz scrollingcat scroll_step_ms # Returns “250n”

/sys/.../uevent

Defined on filesysfs-uevent

Enable passing additional variables for synthetic uevents thatare generated by writing /sys/.../uevent file.

Recognized extended format is:

ACTION [UUID [KEY=VALUE ...]

The ACTION is compulsory - it is the name of the ueventaction (add,change,remove). There is no changecompared to previous functionality here. The rest of theextended format is optional.

You need to pass UUID first before any KEY=VALUE pairs.The UUID must be inxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxformat where ‘x’ is a hex digit. The UUID is considered to bea transaction identifier so it’s possible to use the same UUIDvalue for one or more synthetic uevents in which case welogically group these uevents together for any userspacelisteners. The UUID value appears in uevent asSYNTH_UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx environmentvariable.

If UUID is not passed in, the generated synthetic uevent gainsSYNTH_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 thendelimited by a space character ‘ ‘. Each pair appears insynthetic uevent asSYNTH_ARG_KEY=VALUE. That means the KEYname gainsSYNTH_ARG_ prefix to avoid possible collisionswith 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=addSYNTH_ARG_A=1SYNTH_ARG_B=abcSYNTH_UUID=fe4d7c9d-b8c6-4a70-9ef1-3d8a58d18eed
Users:

udev, userspace tools generating synthetic uevents

Symbols under /sys/block

/sys/block/*/device/cdl_enable

Defined on filesysfs-block-device

(RW) For a device supporting the command duration limitsfeature, write to the file to turn on or off the feature.By default this feature is turned off.Writing “1” to this file enables the use of command durationlimits for read and write commands in the kernel and turns onthe feature on the device. Writing “0” disables the feature.

/sys/block/*/device/cdl_supported

Defined on filesysfs-block-device

(RO) Indicates if the device supports the command durationlimits feature found in some ATA and SCSI devices.

/sys/block/*/device/ncq_prio_enable

Defined on filesysfs-block-device

(RW) Write to the file to turn on or off the SATA NCQ (nativecommand queueing) priority support. By default this feature isturned off. If the device does not support the SATA NCQpriority feature, writing “1” to this file results in an error(see ncq_prio_supported).

/sys/block/*/device/ncq_prio_supported

Defined on filesysfs-block-device

(RO) Indicates if the device supports the SATA NCQ (nativecommand queueing) priority feature.

/sys/block/*/device/sas_ncq_prio_enable

Defined on filesysfs-block-device

(RW) This is the equivalent of the ncq_prio_enable attributefile for SATA devices connected to a SAS host-bus-adapter(HBA) implementing support for the SATA NCQ priority feature.This file does not exist if the HBA driver does not implementsupport for the SATA NCQ priority feature, regardless of thedevice support for this feature (see sas_ncq_prio_supported).

/sys/block/*/device/sas_ncq_prio_supported

Defined on filesysfs-block-device

(RO) This is the equivalent of the ncq_prio_supported attributefile for SATA devices connected to a SAS host-bus-adapter(HBA) implementing support for the SATA NCQ priority feature.This file does not exist if the HBA driver does not implementsupport for the SATA NCQ priority feature, regardless of thedevice support for this feature.

/sys/block/*/device/sw_activity

Defined on filesysfs-block-device

(RW) Used by drivers which support software controlled activityLEDs.

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 isdetected.

2

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

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

/sys/block/*/device/unload_heads

Defined on filesysfs-block-device

(RW) Hard disk shock protection

Writing an integer value to this file will take the heads of therespective drive off the platter and block all I/O operationsfor 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 30000milliseconds.

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

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

  • Values below -2 are rejected with -EINVAL

For more information, seeHard disk shock protection

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

Defined on filesysfs-cfq-target-latency

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

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

Defined on filesysfs-block-bcache

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

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

Defined on filesysfs-block-bcache

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

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

Defined on filesysfs-block-bcache

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

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

Defined on filesysfs-block-bcache

Sum of all reads and writes that have bypassed the cache (dueto the sequential cutoff). Expressed as bytes in humanreadable units.

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

Defined on filesysfs-block-bcache

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

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

Defined on filesysfs-block-bcache

For backing devices: cache hits as a percentage.

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

Defined on filesysfs-block-bcache

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

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

Defined on filesysfs-block-bcache

For backing devices: integer number of cache misses.

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

Defined on filesysfs-block-bcache

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

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

Defined on filesysfs-block-bcache

For a cache, the number of usable buckets.

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

Defined on filesysfs-block-bcache

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

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

Defined on filesysfs-block-bcache

For a cache, a boolean that allows synchronous mode to beswitched on and off. In synchronous mode all writes are orderedsuch that the cache can reliably recover from unclean shutdown;if disabled bcache will not generally wait for writes tocomplete but if the cache is not shut down cleanly all datawill be discarded from the cache. Should not be turned off withwriteback caching enabled.

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

Defined on filesysfs-block-bcache

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

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

Defined on filesysfs-block-bcache

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

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

Defined on filesysfs-block-bcache

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

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

Defined on filesysfs-block-bcache

For backing devices: In writeback mode, when dirty data iswritten to the cache and the cache held no dirty data for thatbacking device, writeback from cache to backing device startsafter this delay, expressed as an integer number of seconds.

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

Defined on filesysfs-block-bcache

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

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

Defined on filesysfs-block-bcache

For backing devices: when off, dirty data will not be writtenfrom the cache to the backing device. The cache will still beused to buffer writes until it is mostly full, at which pointwrites transparently revert to writethrough mode. Intended onlyfor benchmarking/testing.

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

Defined on filesysfs-block-bcache

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

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

Defined on filesysfs-block-dm

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

Users:

util-linux, device-mapper udev rules

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

Defined on filesysfs-block-dm

Allow control over how long a request that is areasonable merge candidate can be queued on the requestqueue. The resolution of this deadline is inmicroseconds (ranging from 1 to 100000 usecs).Setting this attribute to 0 (the default) will disablerequest-based DM’s merge heuristic and associated extraaccounting. This attribute is not applicable tobio-based DM devices so it will only ever report 0 forthem.

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

Defined on filesysfs-block-dm

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

Users:

util-linux, device-mapper udev rules

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

Defined on filesysfs-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.

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

Defined on filesysfs-block-dm

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

Users:

util-linux, device-mapper udev rules

/sys/block/etherd*/firmware-version

Defined on filesysfs-block-aoe

(RO) Version of the firmware in the target.

/sys/block/etherd*/mac

Defined on filesysfs-block-aoe

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

/sys/block/etherd*/netif

Defined on filesysfs-block-aoe

(RO) The names of the network interfaces on the localhost (commaseparated) through which we are communicating with the remoteAoE device.

/sys/block/etherd*/payload

Defined on filesysfs-block-aoe

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

/sys/block/etherd*/state

Defined on filesysfs-block-aoe

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

/sys/block/loopX/loop/autoclear

Defined on filesysfs-block-loop

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

/sys/block/loopX/loop/backing_file

Defined on filesysfs-block-loop

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

/sys/block/loopX/loop/dio

Defined on filesysfs-block-loop

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

/sys/block/loopX/loop/offset

Defined on filesysfs-block-loop

(RO) Start offset (in bytes).

/sys/block/loopX/loop/partscan

Defined on filesysfs-block-loop

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

/sys/block/loopX/loop/sizelimit

Defined on filesysfs-block-loop

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

/sys/block/rnbd<N>/rnbd/access_mode

Defined on filesysfs-block-rnbd

Contains the device access mode: ro, rw or migration.

/sys/block/rnbd<N>/rnbd/mapping_path

Defined on filesysfs-block-rnbd

Contains the path that was passed as “device_path” to the map_deviceoperation.

/sys/block/rnbd<N>/rnbd/nr_poll_queues

Defined on filesysfs-block-rnbd

Contains the number of poll-mode queues

/sys/block/rnbd<N>/rnbd/remap_device

Defined on filesysfs-block-rnbd

Remap the disconnected device if the session is not destroyed yet.

/sys/block/rnbd<N>/rnbd/resize

Defined on filesysfs-block-rnbd

Write the number of sectors to change the size of the disk.

/sys/block/rnbd<N>/rnbd/session

Defined on filesysfs-block-rnbd

RNBD uses RTRS session to transport the data between client andserver. The entry “session” contains the name of the session, thatwas used to establish the RTRS session. It’s the same name thatwas passed as server parameter to the map_device entry.

/sys/block/rnbd<N>/rnbd/state

Defined on filesysfs-block-rnbd

The file contains the current state of the block device. The state filereturns “open” when the device is successfully mapped from the serverand accepting I/O requests. When the connection to the server getsdisconnected in case of an error (e.g. link failure), the state filereturns “closed” and all I/O requests submitted to it will fail with -EIO.

/sys/block/rnbd<N>/rnbd/unmap_device

Defined on filesysfs-block-rnbd

To unmap a volume, “normal” or “force” has to be written to:/sys/block/rnbd<N>/rnbd/unmap_device

When “normal” is used, the operation will fail with EBUSY if any processis using the device. When “force” is used, the device is also unmappedwhen device is in use. All I/Os that are in progress will fail.

Example:

# echo "normal" > /sys/block/rnbd0/rnbd/unmap_device

/sys/block/rssd*/status

Defined on filesysfs-block-rssd

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

/sys/block/zram<id>/algorithm_params

Defined on filesysfs-block-zram

The algorithm_params file is write-only and is used to setupcompression algorithm parameters.

/sys/block/zram<id>/backing_dev

Defined on filesysfs-block-zram

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

/sys/block/zram<id>/bd_stat

Defined on filesysfs-block-zram

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

/sys/block/zram<id>/comp_algorithm

Defined on filesysfs-block-zram

The comp_algorithm file is read-write and lets to showavailable and selected compression algorithms, changecompression algorithm selection.

/sys/block/zram<id>/compact

Defined on filesysfs-block-zram

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

/sys/block/zram<id>/debug_stat

Defined on filesysfs-block-zram

The debug_stat file is read-only and represents variousdevice’s debugging info useful for kernel developers. Itsformat is not documented intentionally and may changeanytime without any notice.

/sys/block/zram<id>/disksize

Defined on filesysfs-block-zram

The disksize file is read-write and specifies the disk sizewhich represents the limit on theuncompressed worth of datathat can be stored in this disk.Unit: bytes

/sys/block/zram<id>/idle

Defined on filesysfs-block-zram

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

/sys/block/zram<id>/initstate

Defined on filesysfs-block-zram

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

/sys/block/zram<id>/io_stat

Defined on filesysfs-block-zram

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

/sys/block/zram<id>/mem_limit

Defined on filesysfs-block-zram

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

/sys/block/zram<id>/mem_used_max

Defined on filesysfs-block-zram

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

/sys/block/zram<id>/mm_stat

Defined on filesysfs-block-zram

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

/sys/block/zram<id>/recomp_algorithm

Defined on filesysfs-block-zram

The recomp_algorithm file is read-write and allows to setor show secondary compression algorithms.

/sys/block/zram<id>/recompress

Defined on filesysfs-block-zram

The recompress file is write-only and triggers re-compressionwith secondary compression algorithms.

/sys/block/zram<id>/reset

Defined on filesysfs-block-zram

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

/sys/block/zram<id>/writeback

Defined on filesysfs-block-zram

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

/sys/block/zram<id>/writeback_limit

Defined on filesysfs-block-zram

The writeback_limit file is read-write and specifies the maximumamount of writeback ZRAM can do. The limit could be changedin run time.

/sys/block/zram<id>/writeback_limit_enable

Defined on filesysfs-block-zram

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

Symbols under /sys/bus

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

Defined on filesysfs-driver-ufs

This file contains the auto-hibernate idle timer setting of aUFS host controller. A value of ‘0’ means auto-hibernate is notenabled. Otherwise the value is the number of microseconds ofidle time before the UFS host controller will autonomously putthe link into hibernate state. That will save power at theexpense of increased latency. Note that the hardware supports10-bit values with a power-of-ten multiplier which allows amaximum value of 102300000. Refer to the UFS Host ControllerInterface specification for more details.

/sys/bus/.../drivers/intel-m10-bmc/.../bmc_version

Defined on filesysfs-driver-intel-m10-bmc

Read only. Returns the hardware build version of IntelMAX10 BMC chip.Format: “0x%x”.

/sys/bus/.../drivers/intel-m10-bmc/.../bmcfw_version

Defined on filesysfs-driver-intel-m10-bmc

Read only. Returns the firmware version of Intel MAX10BMC chip.Format: “0x%x”.

/sys/bus/.../drivers/intel-m10-bmc/.../mac_address

Defined on filesysfs-driver-intel-m10-bmc

Read only. Returns the first MAC address in a blockof sequential MAC addresses assigned to the boardthat is managed by the Intel MAX10 BMC. It is stored inFLASH storage and is mirrored in the MAX10 BMC registerspace.Format: “%02x:%02x:%02x:%02x:%02x:%02x”.

/sys/bus/.../drivers/intel-m10-bmc/.../mac_count

Defined on filesysfs-driver-intel-m10-bmc

Read only. Returns the number of sequential MACaddresses assigned to the board managed by the IntelMAX10 BMC. This value is stored in FLASH and is mirroredin the MAX10 BMC register space.Format: “%u”.

/sys/bus/acpi/devices/.../adr

Defined on filesysfs-bus-acpi

This attribute contains the output of the device object’s_ADR control method, which is present for ACPI deviceobjects representing devices having standard enumerationalgorithms, such as PCI.

/sys/bus/acpi/devices/.../description

Defined on filesysfs-bus-acpi

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

/sys/bus/acpi/devices/.../eject

Defined on filesysfs-bus-acpi

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

/sys/bus/acpi/devices/.../hid

Defined on filesysfs-bus-acpi

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

/sys/bus/acpi/devices/.../hrv

Defined on filesysfs-bus-acpi

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

/sys/bus/acpi/devices/.../modalias

Defined on filesysfs-bus-acpi

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

/sys/bus/acpi/devices/.../path

Defined on filesysfs-bus-acpi

This attribute indicates the full path of ACPI namespaceobject associated with the device object. For example,_SB_.PCI0.

This file is not present for device objects representingfixed ACPI hardware features (like power and sleepbuttons).

/sys/bus/acpi/devices/.../status

Defined on filesysfs-bus-acpi

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

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

Bit [0]

Set if the device is present.

Bit [1]

Set if the device is enabled and decoding itsresources.

Bit [2]

Set if the device should be shown in the UI.

Bit [3]

Set if the device is functioning properly (clearedif 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 devicethat is not present cannot be enabled).

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

More special cases are covered in the ACPI specification.

/sys/bus/acpi/devices/.../uid

Defined on filesysfs-bus-acpi

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

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

Defined on filesysfs-driver-intel-rapid-start

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

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

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

Defined on filesysfs-driver-intel-rapid-start

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

/sys/bus/amba/devices/.../driver_override

Defined on filesysfs-bus-amba

This file allows the driver for a device to be specified whichwill override standard OF, ACPI, ID table, and name matching.When specified, only a driver with a name matching the valuewritten to driver_override will have an opportunity to bind tothe device. The override is specified by writing a string to thedriver_override file (echo vfio-amba > driver_override) and maybe 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 thedevice from its current driver or make any attempt toautomatically load the specified driver. If no driver with amatching name is currently loaded in the kernel, the device willnot bind to any driver. This also allows devices to opt-out ofdriver binding using a driver_override name such as “none”.Only a single driver may be specified in the override, there isno support for parsing delimiters.

/sys/bus/auxiliary/devices/.../irqs/

Defined on filesysfs-bus-auxiliary

The /sys/devices/.../irqs directory contains a variable set offiles, with each file is named as irq number similar to PCI PFor VF’s irq number located in msi_irqs directory.These irq files are added and removed dynamically when an IRQis requested and freed respectively for the PCI SF.

/sys/bus/auxiliary/devices/intel_vsec.sdsi.X

Defined on filesysfs-driver-intel_sdsi

This directory contains interface files for accessing IntelOn Demand (formerly Software Defined Silicon or SDSi) featureson a CPU. X represents the socket instance (though not thesocket ID). The socket ID is determined by reading theregisters file and decoding it per the specification.

Some files communicate with On Demand hardware through amailbox. Should the operation fail, one of the following errorcodes may be returned:

Error Code

Cause

EIO

General mailbox failure. Log may indicate cause.

EBUSY

Mailbox is owned by another agent.

EPERM

On Demand capability is not enabled in hardware.

EPROTO

Failure in mailbox protocol detected by driver.See log for details.

EOVERFLOW

For provision commands, the size of the dataexceeds what may be written.

ESPIPE

Seeking is not allowed.

ETIMEDOUT

Failure to complete mailbox transaction in time.

/sys/bus/auxiliary/devices/intel_vsec.sdsi.X/guid

Defined on filesysfs-driver-intel_sdsi

(RO) The GUID for the registers file. The GUID identifiesthe layout of the registers file in this directory.Information about the register layouts for a particular GUIDis available athttp://github.com/intel/intel-sdsi

/sys/bus/auxiliary/devices/intel_vsec.sdsi.X/meter_certificate

Defined on filesysfs-driver-intel_sdsi

(RO) Used to read back the current meter certificate for the CPUfrom Intel On Demand hardware. The meter certificate containsutilization metrics of On Demand enabled features. Mailboxcommand.

/sys/bus/auxiliary/devices/intel_vsec.sdsi.X/provision_akc

Defined on filesysfs-driver-intel_sdsi

(WO) Used to write an Authentication Key Certificate (AKC) tothe On Demand NVRAM for the CPU. The AKC is used to authenticatea Capability Activation Payload. Mailbox command.

/sys/bus/auxiliary/devices/intel_vsec.sdsi.X/provision_cap

Defined on filesysfs-driver-intel_sdsi

(WO) Used to write a Capability Activation Payload (CAP) to theOn Demand NVRAM for the CPU. CAPs are used to activate a givenCPU feature. A CAP is validated by On Demand hardware using apreviously provisioned AKC file. Upon successful authentication,the CPU configuration is updated. A cold reboot is required tofully activate the feature. Mailbox command.

/sys/bus/auxiliary/devices/intel_vsec.sdsi.X/registers

Defined on filesysfs-driver-intel_sdsi

(RO) Contains information needed by applications to provisiona CPU and monitor status information. The layout of this fileis determined by the GUID in this directory. Information aboutthe layout for a particular GUID is available athttp://github.com/intel/intel-sdsi

/sys/bus/auxiliary/devices/intel_vsec.sdsi.X/state_certificate

Defined on filesysfs-driver-intel_sdsi

(RO) Used to read back the current state certificate for the CPUfrom On Demand hardware. The state certificate containsinformation about the current licenses on the CPU. Mailboxcommand.

/sys/bus/bcma/devices/.../class

Defined on filesysfs-bus-bcma

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

/sys/bus/bcma/devices/.../id

Defined on filesysfs-bus-bcma

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

/sys/bus/bcma/devices/.../manuf

Defined on filesysfs-bus-bcma

Each BCMA core has its manufacturer id. Seeinclude/linux/bcma/bcma.h for possible values.

/sys/bus/bcma/devices/.../rev

Defined on filesysfs-bus-bcma

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

/sys/bus/cdx/devices/.../class

Defined on filesysfs-bus-cdx

This file contains the class of the CDX device, in hexadecimal.Class is 24 bit identifier specifies the functionality of the device.

/sys/bus/cdx/devices/.../device

Defined on filesysfs-bus-cdx

Device ID for this CDX device, in hexadecimal. Device ID is16 bit identifier to identify a device type within the rangeof a device manufacturer.Combination of Vendor ID and Device ID identifies a device.

/sys/bus/cdx/devices/.../enable

Defined on filesysfs-bus-cdx

CDX bus should be disabled before updating the devices in FPGA.Writing n/0/off will attempt to disable the CDX bus and.writing y/1/on will attempt to enable the CDX bus. Reading this filegives the current state of the bus, 1 for enabled and 0 for disabled.

For example:

# echo 1 > /sys/bus/cdx/.../enable

/sys/bus/cdx/devices/.../modalias

Defined on filesysfs-bus-cdx

This attribute indicates the CDX ID of the device.That is in the format:cdx:vXXXXdXXXXsvXXXXsdXXXXcXXXXXX,where:

  • vXXXX contains the vendor ID;

  • dXXXX contains the device ID;

  • svXXXX contains the subsystem vendor ID;

  • sdXXXX contains the subsystem device ID;

  • cXXXXXX contains the device class.

/sys/bus/cdx/devices/.../remove

Defined on filesysfs-bus-cdx

Writing y/1/on to this file removes the correspondingdevice from the CDX bus. If the device is to be reconfiguredreconfigured in the Hardware, the device can be removed, sothat the device driver does not access the device while it isbeing reconfigured.

For example:

# echo 1 > /sys/bus/cdx/devices/.../remove

/sys/bus/cdx/devices/.../reset

Defined on filesysfs-bus-cdx

Writing y/1/on to this file resets the CDX device or all deviceson the bus. On resetting the device, the corresponding driver isnotified twice, once before the device is being reset, and againafter the reset has been complete.

For example:

# echo 1 > /sys/bus/cdx/.../reset

/sys/bus/cdx/devices/.../resource<N>

Defined on filesysfs-bus-cdx

The resource binary file contains the content of the memoryregions. These files can be m’maped from userspace.

/sys/bus/cdx/devices/.../revision

Defined on filesysfs-bus-cdx

This file contains the revision field of the CDX device, in hexadecimal.Revision is 8 bit revision identifier of the device.

/sys/bus/cdx/devices/.../subsystem_device

Defined on filesysfs-bus-cdx

Subsystem Device ID for this CDX device, in hexadecimalSubsystem Device ID is 16 bit identifier specific to thecard manufacturer.

/sys/bus/cdx/devices/.../subsystem_vendor

Defined on filesysfs-bus-cdx

Subsystem Vendor ID for this CDX device, in hexadecimal.Subsystem Vendor ID is 16 bit identifier specific to thecard manufacturer.

/sys/bus/cdx/devices/.../vendor

Defined on filesysfs-bus-cdx

Vendor ID for this CDX device, in hexadecimal. Vendor ID is16 bit identifier which is specific to the device manufacturer.Combination of Vendor ID and Device ID identifies a device.

/sys/bus/cdx/rescan

Defined on filesysfs-bus-cdx

Writing y/1/on to this file will cause rescan of the busand devices on the CDX bus. Any new devices are scanned andadded to the list of Linux devices and any devices removed arealso deleted from Linux.

For example:

# echo 1 > /sys/bus/cdx/rescan

/sys/bus/coreboot

Defined on filesysfs-bus-coreboot

The coreboot bus provides a variety of virtual devices used toaccess data structures created by the Coreboot BIOS.

/sys/bus/coreboot/devices/cbmem-<id>

Defined on filesysfs-bus-coreboot

CBMEM is a downwards-growing memory region created by Coreboot,and contains tagged data structures to be shared with payloadsin the boot process and the OS. Each CBMEM entry is given adirectory in /sys/bus/coreboot/devices based on its id.A list of ids known to Coreboot can be found in the corebootsource tree atsrc/commonlib/bsd/include/commonlib/bsd/cbmem_id.h.

/sys/bus/coreboot/devices/cbmem-<id>/address

Defined on filesysfs-bus-coreboot

This is the physical memory address that the CBMEM entry’s databegins at, in hexadecimal (e.g.,0x76ffe000).

/sys/bus/coreboot/devices/cbmem-<id>/mem

Defined on filesysfs-bus-coreboot

A file exposing read/write access to the entry’s data. Notethat this file does not support mmap(), as corebootdoes not guarantee that the data will be page-aligned.

The mode of this file is 0600. While there shouldn’t beanything security-sensitive contained in CBMEM, read accessrequires root privileges given this is exposing a small subsetof physical memory.

/sys/bus/coreboot/devices/cbmem-<id>/size

Defined on filesysfs-bus-coreboot

This is the size of the CBMEM entry’s data, in hexadecimal(e.g.,0x1234).

/sys/bus/coresight/devices/<cti-name>/channels/chan_clear

Defined on filesysfs-bus-coresight-devices-cti

(Write) Deactivate a single channel.

/sys/bus/coresight/devices/<cti-name>/channels/chan_free

Defined on filesysfs-bus-coresight-devices-cti

(Read) show channels with no attached trigger signals.

/sys/bus/coresight/devices/<cti-name>/channels/chan_gate_disable

Defined on filesysfs-bus-coresight-devices-cti

(Write) Disable CTIGATE for single channel.

/sys/bus/coresight/devices/<cti-name>/channels/chan_gate_enable

Defined on filesysfs-bus-coresight-devices-cti

(RW) Enable CTIGATE for single channel (Write) or list enabledchannels through the gate (R).

/sys/bus/coresight/devices/<cti-name>/channels/chan_inuse

Defined on filesysfs-bus-coresight-devices-cti

(Read) show channels with at least one attached trigger signal.

/sys/bus/coresight/devices/<cti-name>/channels/chan_pulse

Defined on filesysfs-bus-coresight-devices-cti

(Write) Pulse a single channel - activate for a single clock cycle.

/sys/bus/coresight/devices/<cti-name>/channels/chan_set

Defined on filesysfs-bus-coresight-devices-cti

(Write) Activate a single channel.

/sys/bus/coresight/devices/<cti-name>/channels/chan_xtrigs_in

Defined on filesysfs-bus-coresight-devices-cti

(Read) Read to see input triggers connected to selected viewchannel.

/sys/bus/coresight/devices/<cti-name>/channels/chan_xtrigs_out

Defined on filesysfs-bus-coresight-devices-cti

(Read) Read to see output triggers connected to selected viewchannel.

/sys/bus/coresight/devices/<cti-name>/channels/chan_xtrigs_reset

Defined on filesysfs-bus-coresight-devices-cti

(Write) Clear all channel / trigger programming.

/sys/bus/coresight/devices/<cti-name>/channels/chan_xtrigs_sel

Defined on filesysfs-bus-coresight-devices-cti

(RW) Write channel number to select a channel to view, read tosee selected channel number.

/sys/bus/coresight/devices/<cti-name>/channels/trig_filter_enable

Defined on filesysfs-bus-coresight-devices-cti

(RW) Enable or disable trigger output signal filtering.

/sys/bus/coresight/devices/<cti-name>/channels/trigin_attach

Defined on filesysfs-bus-coresight-devices-cti

(Write) Attach a CTI input trigger to a CTM channel.

/sys/bus/coresight/devices/<cti-name>/channels/trigin_detach

Defined on filesysfs-bus-coresight-devices-cti

(Write) Detach a CTI input trigger from a CTM channel.

/sys/bus/coresight/devices/<cti-name>/channels/trigout_attach

Defined on filesysfs-bus-coresight-devices-cti

(Write) Attach a CTI output trigger to a CTM channel.

/sys/bus/coresight/devices/<cti-name>/channels/trigout_detach

Defined on filesysfs-bus-coresight-devices-cti

(Write) Detach a CTI output trigger from a CTM channel.

/sys/bus/coresight/devices/<cti-name>/channels/trigout_filtered

Defined on filesysfs-bus-coresight-devices-cti

(Read) List of output triggers filtered across all connections.

/sys/bus/coresight/devices/<cti-name>/ctmid

Defined on filesysfs-bus-coresight-devices-cti

(Read) Display the associated CTM ID

/sys/bus/coresight/devices/<cti-name>/enable

Defined on filesysfs-bus-coresight-devices-cti

(RW) Enable/Disable the CTI hardware.

/sys/bus/coresight/devices/<cti-name>/label

Defined on filesysfs-bus-coresight-devices-cti

(Read) Show hardware context information of device.

/sys/bus/coresight/devices/<cti-name>/nr_trigger_cons

Defined on filesysfs-bus-coresight-devices-cti

(Read) Number of devices connected to triggers on this CTI

/sys/bus/coresight/devices/<cti-name>/powered

Defined on filesysfs-bus-coresight-devices-cti

(Read) Indicate if the CTI hardware is powered.

/sys/bus/coresight/devices/<cti-name>/regs/appclear

Defined on filesysfs-bus-coresight-devices-cti

(Write) Write APPCLEAR register to deactivate channel.

/sys/bus/coresight/devices/<cti-name>/regs/apppulse

Defined on filesysfs-bus-coresight-devices-cti

(Write) Write APPPULSE to pulse a channel active for one clockcycle.

/sys/bus/coresight/devices/<cti-name>/regs/appset

Defined on filesysfs-bus-coresight-devices-cti

(RW) Set CTIAPPSET register to activate channel. Read back todetermine current value of register.

/sys/bus/coresight/devices/<cti-name>/regs/asicctl

Defined on filesysfs-bus-coresight-devices-cti

(RW) Read or write ASICCTL register.

/sys/bus/coresight/devices/<cti-name>/regs/chinstatus

Defined on filesysfs-bus-coresight-devices-cti

(Read) Read current status of channel inputs.

/sys/bus/coresight/devices/<cti-name>/regs/choutstatus

Defined on filesysfs-bus-coresight-devices-cti

(Read) read current status of channel outputs.

/sys/bus/coresight/devices/<cti-name>/regs/gate

Defined on filesysfs-bus-coresight-devices-cti

(RW) Read or write CTIGATE register.

/sys/bus/coresight/devices/<cti-name>/regs/inen

Defined on filesysfs-bus-coresight-devices-cti

(RW) Read or write the CTIINEN register selected by inout_sel.

/sys/bus/coresight/devices/<cti-name>/regs/inout_sel

Defined on filesysfs-bus-coresight-devices-cti

(RW) Select the index for inen and outen registers.

/sys/bus/coresight/devices/<cti-name>/regs/intack

Defined on filesysfs-bus-coresight-devices-cti

(Write) Write the INTACK register.

/sys/bus/coresight/devices/<cti-name>/regs/outen

Defined on filesysfs-bus-coresight-devices-cti

(RW) Read or write the CTIOUTEN register selected by inout_sel.

/sys/bus/coresight/devices/<cti-name>/regs/triginstatus

Defined on filesysfs-bus-coresight-devices-cti

(Read) read current status of input trigger signals

/sys/bus/coresight/devices/<cti-name>/regs/trigoutstatus

Defined on filesysfs-bus-coresight-devices-cti

(Read) read current status of output trigger signals.

/sys/bus/coresight/devices/<cti-name>/triggers<N>/in_signals

Defined on filesysfs-bus-coresight-devices-cti

(Read) Input trigger signals from connected device <N>

/sys/bus/coresight/devices/<cti-name>/triggers<N>/in_types

Defined on filesysfs-bus-coresight-devices-cti

(Read) Functional types for the input trigger signalsfrom connected device <N>

/sys/bus/coresight/devices/<cti-name>/triggers<N>/name

Defined on filesysfs-bus-coresight-devices-cti

(Read) Name of connected device <N>

/sys/bus/coresight/devices/<cti-name>/triggers<N>/out_signals

Defined on filesysfs-bus-coresight-devices-cti

(Read) Output trigger signals to connected device <N>

/sys/bus/coresight/devices/<cti-name>/triggers<N>/out_types

Defined on filesysfs-bus-coresight-devices-cti

(Read) Functional types for the output trigger signalsto connected device <N>

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

(RW) Specifies the counter to work on.

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

(Read) Holds the current state of the sequencer.

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

Defined on filesysfs-bus-coresight-devices-etm3x

(RW) Defines which event triggers a trace.

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-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 fordata suppression.

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

Defined on filesysfs-bus-coresight-devices-etm3x

(Read) Show hardware context information of device.

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

(Write) Cancels all configuration on a trace unit and set it backto its boot configuration.

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

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

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

Defined on filesysfs-bus-coresight-devices-etm3x

(RO) Holds the trace ID that will appear in the trace streamcoming from this trace entity.

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

Defined on filesysfs-bus-coresight-devices-etm3x

(RW) Define the event that controls the trigger.

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

Defined on filesysfs-bus-coresight-devices-etb10

(RW) Add/remove a sink from a trace path. There can be multiplesource for a single sink.

ex:

echo 1 > /sys/bus/coresight/devices/20010000.etb/enable_sink

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

Defined on filesysfs-bus-coresight-devices-etb10

(Read) Show hardware context information of device.

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

Defined on filesysfs-bus-coresight-devices-etb10

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

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

Defined on filesysfs-bus-coresight-devices-etb10

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

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

Defined on filesysfs-bus-coresight-devices-etb10

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

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

Defined on filesysfs-bus-coresight-devices-etb10

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

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

Defined on filesysfs-bus-coresight-devices-etb10

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

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

Defined on filesysfs-bus-coresight-devices-etb10

(Read) Shows the value held by the ETB RAM Write Pointer registerthat is used to sets the write pointer to write entries fromthe CoreSight bus into the Trace RAM. The value is read directlyfrom HW register RWP, 0x018.

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

Defined on filesysfs-bus-coresight-devices-etb10

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

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

Defined on filesysfs-bus-coresight-devices-etb10

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

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

Defined on filesysfs-bus-coresight-devices-etb10

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

/sys/bus/coresight/devices/<memory_map>.funnel/funnel_ctrl

Defined on filesysfs-bus-coresight-devices-funnel

(RW) Enables the slave ports and defines the hold time of theslave ports.

/sys/bus/coresight/devices/<memory_map>.funnel/label

Defined on filesysfs-bus-coresight-devices-funnel

(Read) Show hardware context information of device.

/sys/bus/coresight/devices/<memory_map>.funnel/priority

Defined on filesysfs-bus-coresight-devices-funnel

(RW) Defines input port priority order.

/sys/bus/coresight/devices/<memory_map>.stm/enable_source

Defined on filesysfs-bus-coresight-devices-stm

(RW) Enable/disable tracing on this specific trace macrocell.Enabling the trace macrocell implies it has been configuredproperly and a sink has been identified for it. The pathof coresight components linking the source to the sink isconfigured and managed automatically by the coresight framework.

/sys/bus/coresight/devices/<memory_map>.stm/hwevent_enable

Defined on filesysfs-bus-coresight-devices-stm

(RW) Provides access to the HW event enable register, used inconjunction with HW event bank select register.

/sys/bus/coresight/devices/<memory_map>.stm/hwevent_select

Defined on filesysfs-bus-coresight-devices-stm

(RW) Gives access to the HW event block select register(STMHEBSR) in order to configure up to 256 channels. Used inconjunction with “hwevent_enable” register as described above.

/sys/bus/coresight/devices/<memory_map>.stm/label

Defined on filesysfs-bus-coresight-devices-stm

(Read) Show hardware context information of device.

/sys/bus/coresight/devices/<memory_map>.stm/port_enable

Defined on filesysfs-bus-coresight-devices-stm

(RW) Provides access to the stimulus port enable register(STMSPER). Used in conjunction with “port_select” describedbelow.

/sys/bus/coresight/devices/<memory_map>.stm/port_select

Defined on filesysfs-bus-coresight-devices-stm

(RW) Used to determine which bank of stimulus port bit inregister STMSPER (see above) apply to.

/sys/bus/coresight/devices/<memory_map>.stm/status

Defined on filesysfs-bus-coresight-devices-stm

(Read) List various control and status registers. The specificlayout and content is driver specific.

/sys/bus/coresight/devices/<memory_map>.stm/traceid

Defined on filesysfs-bus-coresight-devices-stm

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

/sys/bus/coresight/devices/<memory_map>.tmc/buf_mode_preferred

Defined on filesysfs-bus-coresight-devices-tmc

(RW) Current Coresight TMC-ETR buffer mode selected. But user couldonly provide a mode which is supported for a given ETR device. Thisfile is available only for TMC ETR devices.

/sys/bus/coresight/devices/<memory_map>.tmc/buf_modes_available

Defined on filesysfs-bus-coresight-devices-tmc

(Read) Shows all supported Coresight TMC-ETR buffer modes availablefor the users to configure explicitly. This file is available onlyfor TMC ETR devices.

/sys/bus/coresight/devices/<memory_map>.tmc/buffer_size

Defined on filesysfs-bus-coresight-devices-tmc

(RW) Size of the trace buffer for TMC-ETR when used in SYSFSmode. Writable only for TMC-ETR configurations. The valueshould be aligned to the kernel pagesize.

/sys/bus/coresight/devices/<memory_map>.tmc/label

Defined on filesysfs-bus-coresight-devices-tmc

(Read) Show hardware context information of device.

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

Defined on filesysfs-bus-coresight-devices-tmc

(Read) Shows the value held by the TMC Control register. The valueis read directly from HW register CTL, 0x020.

/sys/bus/coresight/devices/<memory_map>.tmc/mgmt/devid

Defined on filesysfs-bus-coresight-devices-tmc

(Read) Indicates the capabilities of the Coresight TMC.The value is read directly from the DEVID register, 0xFC8,

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

Defined on filesysfs-bus-coresight-devices-tmc

(Read) Shows the value held by the TMC Formatter and Flush Controlregister. The value is read directly from HW register FFCR,0x304.

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

Defined on filesysfs-bus-coresight-devices-tmc

(Read) Shows the value held by the TMC Formatter and Flush Statusregister. The value is read directly from HW register FFSR,0x300.

/sys/bus/coresight/devices/<memory_map>.tmc/mgmt/mode

Defined on filesysfs-bus-coresight-devices-tmc

(Read) Shows the value held by the TMC Mode register, whichindicate the mode the device has been configured to enact. TheThe value is read directly from the MODE register, 0x028.

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

Defined on filesysfs-bus-coresight-devices-tmc

(Read) Shows the value held by the TMC RAM Read Pointer registerthat is used to read entries from the Trace RAM over the APBinterface. The value is read directly from HW register RRP,0x014.

/sys/bus/coresight/devices/<memory_map>.tmc/mgmt/rsz

Defined on filesysfs-bus-coresight-devices-tmc

(Read) Defines the size, in 32-bit words, of the local RAM buffer.The value is read directly from HW register RSZ, 0x004.

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

Defined on filesysfs-bus-coresight-devices-tmc

(Read) Shows the value held by the TMC RAM Write Pointer registerthat is used to sets the write pointer to write entries fromthe CoreSight bus into the Trace RAM. The value is read directlyfrom HW register RWP, 0x018.

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

Defined on filesysfs-bus-coresight-devices-tmc

(Read) Shows the value held by the TMC status register. The valueis read directly from HW register STS, 0x00C.

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

Defined on filesysfs-bus-coresight-devices-tmc

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

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

Defined on filesysfs-bus-coresight-devices-tmc

(RW) Disables write access to the Trace RAM by stopping theformatter after a defined number of words have been storedfollowing the trigger event. Additional interface for thisdriver are expected to be added as it matures.

/sys/bus/coresight/devices/<tpdm-name>/cmb_mode

Defined on filesysfs-bus-coresight-devices-tpdm

(Write) Set the data collection mode of CMB tpdm. Continuouschange creates CMB data set elements on every CMBCLK edge.Trace-on-change creates CMB data set elements only when a newdata set element differs in value from the previous elementin a CMB data set.

Accepts only one of the 2 values - 0 or 1.0 : Continuous CMB collection mode.1 : Trace-on-change CMB collection mode.

/sys/bus/coresight/devices/<tpdm-name>/cmb_msr/msr[0:31]

Defined on filesysfs-bus-coresight-devices-tpdm

(RW) Set/Get the MSR(mux select register) for the CMB subunitTPDM.

/sys/bus/coresight/devices/<tpdm-name>/cmb_patt/enable_ts

Defined on filesysfs-bus-coresight-devices-tpdm

(Write) Set the pattern timestamp of CMB tpdm. Readthe pattern timestamp of CMB tpdm.

Accepts only one of the 2 values - 0 or 1.0 : Disable CMB pattern timestamp.1 : Enable CMB pattern timestamp.

/sys/bus/coresight/devices/<tpdm-name>/cmb_trig_patt/xpmr[0:1]

Defined on filesysfs-bus-coresight-devices-tpdm

(RW) Set/Get the mask of the trigger pattern for the CMBsubunit TPDM.

/sys/bus/coresight/devices/<tpdm-name>/cmb_trig_patt/xpr[0:1]

Defined on filesysfs-bus-coresight-devices-tpdm

(RW) Set/Get the value of the trigger pattern for the CMBsubunit TPDM.

/sys/bus/coresight/devices/<tpdm-name>/cmb_trig_ts

Defined on filesysfs-bus-coresight-devices-tpdm

(RW) Set/Get the trigger timestamp of the CMB for tpdm.

Accepts only one of the 2 values - 0 or 1.0 : Set the CMB trigger type to false1 : Set the CMB trigger type to true

/sys/bus/coresight/devices/<tpdm-name>/cmb_ts_all

Defined on filesysfs-bus-coresight-devices-tpdm

(RW) Read or write the status of timestamp upon all interface.Only value 0 and 1 can be written to this node. Set this node to 1 to requesttimestamp to all trace packet.Accepts only one of the 2 values - 0 or 1.0 : Disable the timestamp of all trace packets.1 : Enable the timestamp of all trace packets.

/sys/bus/coresight/devices/<tpdm-name>/dsb_edge/ctrl_idx

Defined on filesysfs-bus-coresight-devices-tpdm

(RW) Set/Get the index number of the edge detection for the DSBsubunit TPDM. Since there are at most 256 edge detections, thisvalue ranges from 0 to 255.

/sys/bus/coresight/devices/<tpdm-name>/dsb_edge/ctrl_mask

Defined on filesysfs-bus-coresight-devices-tpdm

Write a data to mask the edge detection corresponding to the indexnumber. Before writing data to this sysfs file, “ctrl_idx” shouldbe written first to configure the index number of the edge detectionwhich needs to be masked.

Accepts only one of the 2 values - 0 or 1.

/sys/bus/coresight/devices/<tpdm-name>/dsb_edge/ctrl_val

Defined on filesysfs-bus-coresight-devices-tpdm

Write a data to control the edge detection corresponding tothe index number. Before writing data to this sysfs file,“ctrl_idx” should be written first to configure the indexnumber of the edge detection which needs to be controlled.

Accepts only one of the following values.0 - Rising edge detection1 - Falling edge detection2 - Rising and falling edge detection (toggle detection)

/sys/bus/coresight/devices/<tpdm-name>/dsb_edge/edcmr[0:7]

Defined on filesysfs-bus-coresight-devices-tpdm

Read a set of the edge control mask of the DSB in TPDM.

/sys/bus/coresight/devices/<tpdm-name>/dsb_edge/edcr[0:15]

Defined on filesysfs-bus-coresight-devices-tpdm

Read a set of the edge control value of the DSB in TPDM.

/sys/bus/coresight/devices/<tpdm-name>/dsb_mode

Defined on filesysfs-bus-coresight-devices-tpdm

(RW) Set/Get the programming mode of the DSB for tpdm.

Accepts the value needs to be greater than 0. What databits do is listed below.Bit[0:1] : Test mode control bit for choosing the inputs.Bit[3] : Set to 0 for low performance mode. Set to 1 for highperformance mode.Bit[4:8] : Select byte lane for high performance mode.

/sys/bus/coresight/devices/<tpdm-name>/dsb_msr/msr[0:31]

Defined on filesysfs-bus-coresight-devices-tpdm

(RW) Set/Get the MSR(mux select register) for the DSB subunitTPDM.

/sys/bus/coresight/devices/<tpdm-name>/dsb_patt/enable_ts

Defined on filesysfs-bus-coresight-devices-tpdm

(Write) Set the pattern timestamp of DSB tpdm. Readthe pattern timestamp of DSB tpdm.

Accepts only one of the 2 values - 0 or 1.0 : Disable DSB pattern timestamp.1 : Enable DSB pattern timestamp.

/sys/bus/coresight/devices/<tpdm-name>/dsb_patt/set_type

Defined on filesysfs-bus-coresight-devices-tpdm

(Write) Set the pattern type of DSB tpdm. Readthe pattern type of DSB tpdm.

Accepts only one of the 2 values - 0 or 1.0 : Set the DSB pattern type to value.1 : Set the DSB pattern type to toggle.

/sys/bus/coresight/devices/<tpdm-name>/dsb_patt/tpmr[0:1]

Defined on filesysfs-bus-coresight-devices-tpdm

(RW) Set/Get the mask of the pattern for the CMB subunit TPDM.

/sys/bus/coresight/devices/<tpdm-name>/dsb_patt/tpmr[0:7]

Defined on filesysfs-bus-coresight-devices-tpdm

(RW) Set/Get the mask of the pattern for the DSB subunit TPDM.

/sys/bus/coresight/devices/<tpdm-name>/dsb_patt/tpr[0:1]

Defined on filesysfs-bus-coresight-devices-tpdm

(RW) Set/Get the value of the pattern for the CMB subunit TPDM.

/sys/bus/coresight/devices/<tpdm-name>/dsb_patt/tpr[0:7]

Defined on filesysfs-bus-coresight-devices-tpdm

(RW) Set/Get the value of the pattern for the DSB subunit TPDM.

/sys/bus/coresight/devices/<tpdm-name>/dsb_trig_patt/xpmr[0:7]

Defined on filesysfs-bus-coresight-devices-tpdm

(RW) Set/Get the mask of the trigger pattern for the DSBsubunit TPDM.

/sys/bus/coresight/devices/<tpdm-name>/dsb_trig_patt/xpr[0:7]

Defined on filesysfs-bus-coresight-devices-tpdm

(RW) Set/Get the value of the trigger pattern for the DSBsubunit TPDM.

/sys/bus/coresight/devices/<tpdm-name>/dsb_trig_ts

Defined on filesysfs-bus-coresight-devices-tpdm

(RW) Set/Get the trigger timestamp of the DSB for tpdm.

Accepts only one of the 2 values - 0 or 1.0 : Set the DSB trigger type to false1 : Set the DSB trigger type to true

/sys/bus/coresight/devices/<tpdm-name>/dsb_trig_type

Defined on filesysfs-bus-coresight-devices-tpdm

(RW) Set/Get the trigger type of the DSB for tpdm.

Accepts only one of the 2 values - 0 or 1.0 : Set the DSB trigger type to false1 : Set the DSB trigger type to true

/sys/bus/coresight/devices/<tpdm-name>/integration_test

Defined on filesysfs-bus-coresight-devices-tpdm

(Write) Run integration test for tpdm. Integration testwill generate test data for tpdm. It can help to makesure that the trace path is enabled and the link configurationsare fine.

Accepts only one of the 2 values - 1 or 2.1 : Generate 64 bits data2 : Generate 32 bits data

/sys/bus/coresight/devices/<tpdm-name>/label

Defined on filesysfs-bus-coresight-devices-tpdm

(Read) Show hardware context information of device.

/sys/bus/coresight/devices/<tpdm-name>/mcmb_lanes_select

Defined on filesysfs-bus-coresight-devices-tpdm

(RW) Set/Get the enablement of the individual lane.

/sys/bus/coresight/devices/<tpdm-name>/mcmb_trig_lane

Defined on filesysfs-bus-coresight-devices-tpdm

(RW) Set/Get which lane participates in the output patternmatch cross trigger mechanism for the MCMB subunit TPDM.

/sys/bus/coresight/devices/<tpdm-name>/reset_dataset

Defined on filesysfs-bus-coresight-devices-tpdm

(Write) Reset the dataset of the tpdm.

Accepts only one value - 1.1 : Reset the dataset of the tpdm

/sys/bus/coresight/devices/dummy_source<N>/enable_source

Defined on filesysfs-bus-coresight-devices-dummy-source

(RW) Enable/disable tracing of dummy source. A sink should be activatedbefore enabling the source. The path of coresight components linkingthe source to the sink is configured and managed automatically by thecoresight framework.

/sys/bus/coresight/devices/dummy_source<N>/label

Defined on filesysfs-bus-coresight-devices-dummy-source

(Read) Show hardware context information of device.

/sys/bus/coresight/devices/dummy_source<N>/traceid

Defined on filesysfs-bus-coresight-devices-dummy-source

(R) Show the trace ID that will appear in the trace streamcoming from this trace entity.

/sys/bus/coresight/devices/etm<N>/addr_cmp_view

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Print the current settings for the selected addresscomparator.

/sys/bus/coresight/devices/etm<N>/addr_exlevel_s_ns

Defined on filesysfs-bus-coresight-devices-etm4x

(RW) Set the Exception Level matching bits for secure andnon-secure exception levels.

/sys/bus/coresight/devices/etm<N>/addr_idx

Defined on filesysfs-bus-coresight-devices-etm4x

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

/sys/bus/coresight/devices/etm<N>/addr_instdatatype

Defined on filesysfs-bus-coresight-devices-etm4x

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

/sys/bus/coresight/devices/etm<N>/addr_range

Defined on filesysfs-bus-coresight-devices-etm4x

(RW) Used to setup address range comparator values.

/sys/bus/coresight/devices/etm<N>/addr_single

Defined on filesysfs-bus-coresight-devices-etm4x

(RW) Used to setup single address comparator values.

/sys/bus/coresight/devices/etm<N>/bb_ctrl

Defined on filesysfs-bus-coresight-devices-etm4x

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

/sys/bus/coresight/devices/etm<N>/cntr_ctrl

Defined on filesysfs-bus-coresight-devices-etm4x

(RW) Controls the operation of the selected counter.

/sys/bus/coresight/devices/etm<N>/cntr_idx

Defined on filesysfs-bus-coresight-devices-etm4x

(RW) Select which counter unit to work with.

/sys/bus/coresight/devices/etm<N>/cntr_val

Defined on filesysfs-bus-coresight-devices-etm4x

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

/sys/bus/coresight/devices/etm<N>/cntrldvr

Defined on filesysfs-bus-coresight-devices-etm4x

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

/sys/bus/coresight/devices/etm<N>/cpu

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) The CPU this tracing entity is associated with.

/sys/bus/coresight/devices/etm<N>/ctxid_idx

Defined on filesysfs-bus-coresight-devices-etm4x

(RW) Select which context ID comparator to work with.

/sys/bus/coresight/devices/etm<N>/ctxid_masks

Defined on filesysfs-bus-coresight-devices-etm4x

(RW) Mask for all 8 context ID comparator valueregisters (if implemented).

/sys/bus/coresight/devices/etm<N>/ctxid_pid

Defined on filesysfs-bus-coresight-devices-etm4x

(RW) Get/Set the context ID comparator value to trigger on.

/sys/bus/coresight/devices/etm<N>/cyc_threshold

Defined on filesysfs-bus-coresight-devices-etm4x

(RW) Sets the threshold value for cycle counting.

/sys/bus/coresight/devices/etm<N>/enable_source

Defined on filesysfs-bus-coresight-devices-etm4x

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

/sys/bus/coresight/devices/etm<N>/event

Defined on filesysfs-bus-coresight-devices-etm4x

(RW) Controls the tracing of arbitrary events from bank 0 to 3.

/sys/bus/coresight/devices/etm<N>/event_instren

Defined on filesysfs-bus-coresight-devices-etm4x

(RW) Controls the behavior of the events in bank 0 to 3.

/sys/bus/coresight/devices/etm<N>/event_ts

Defined on filesysfs-bus-coresight-devices-etm4x

(RW) Controls the insertion of global timestamps in the tracestreams.

/sys/bus/coresight/devices/etm<N>/event_vinst

Defined on filesysfs-bus-coresight-devices-etm4x

(RW) Controls instruction trace filtering.

/sys/bus/coresight/devices/etm<N>/label

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Show hardware context information of device.

/sys/bus/coresight/devices/etm<N>/mgmt/trcauthstatus

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Print the content of the Authentication Status Register(0xFB8). The value is taken directly from the HW.

/sys/bus/coresight/devices/etm<N>/mgmt/trcconfig

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Print the content of the trace configuration register(0x010) as currently set by SW.

/sys/bus/coresight/devices/etm<N>/mgmt/trcdevarch

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Print the content of the Device Architecture Register(offset 0xFBC). The value is taken directly readfrom the HW.

/sys/bus/coresight/devices/etm<N>/mgmt/trcdevid

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Print the content of the Device ID Register(0xFC8). The value is taken directly from the HW.

/sys/bus/coresight/devices/etm<N>/mgmt/trcdevtype

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Print the content of the Device Type Register(0xFCC). The value is taken directly from the HW.

/sys/bus/coresight/devices/etm<N>/mgmt/trclsr

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Print the content of the SW Lock Status Register(0xFB4). The value is taken directly from the HW.

/sys/bus/coresight/devices/etm<N>/mgmt/trcoslsr

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Print the content of the OS Lock Status Register (0x304).The value it taken directly from the HW.

/sys/bus/coresight/devices/etm<N>/mgmt/trcpdcr

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Print the content of the Power Down Control Register(0x310). The value is taken directly from the HW.

/sys/bus/coresight/devices/etm<N>/mgmt/trcpdsr

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Print the content of the Power Down Status Register(0x314). The value is taken directly from the HW.

/sys/bus/coresight/devices/etm<N>/mgmt/trcpidr0

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Print the content of the Peripheral ID0 Register(0xFE0). The value is taken directly from the HW.

/sys/bus/coresight/devices/etm<N>/mgmt/trcpidr1

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Print the content of the Peripheral ID1 Register(0xFE4). The value is taken directly from the HW.

/sys/bus/coresight/devices/etm<N>/mgmt/trcpidr2

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Print the content of the Peripheral ID2 Register(0xFE8). The value is taken directly from the HW.

/sys/bus/coresight/devices/etm<N>/mgmt/trcpidr3

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Print the content of the Peripheral ID3 Register(0xFEC). The value is taken directly from the HW.

/sys/bus/coresight/devices/etm<N>/mgmt/trctraceid

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Print the content of the trace ID register (0x040).

/sys/bus/coresight/devices/etm<N>/mode

Defined on filesysfs-bus-coresight-devices-etm4x

(RW) Controls various modes supported by this ETM, for exampleP0 instruction tracing, branch broadcast, cycle counting andcontext ID tracing.

/sys/bus/coresight/devices/etm<N>/nr_addr_cmp

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Indicates the number of address comparator pairs that areavailable for tracing.

/sys/bus/coresight/devices/etm<N>/nr_cntr

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Indicates the number of counters that are available fortracing.

/sys/bus/coresight/devices/etm<N>/nr_ext_inp

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Indicates how many external inputs are implemented.

/sys/bus/coresight/devices/etm<N>/nr_pe_cmp

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Indicates the number of PE comparator inputs that areavailable for tracing.

/sys/bus/coresight/devices/etm<N>/nr_resource

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Indicates the number of resource selection pairs that areavailable for tracing.

/sys/bus/coresight/devices/etm<N>/nr_ss_cmp

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Indicates the number of single-shot comparator controls thatare available for tracing.

/sys/bus/coresight/devices/etm<N>/nrseqstate

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Indicates the number of sequencer states that areimplemented.

/sys/bus/coresight/devices/etm<N>/ns_exlevel_vinst

Defined on filesysfs-bus-coresight-devices-etm4x

(RW) In non-secure state, each bit controls whether instructiontracing is enabled for the corresponding exception level.

/sys/bus/coresight/devices/etm<N>/numcidc

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Indicates the number of Context ID comparators that areavailable for tracing.

/sys/bus/coresight/devices/etm<N>/numvmidc

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Indicates the number of VMID comparators that are availablefor tracing.

/sys/bus/coresight/devices/etm<N>/pe

Defined on filesysfs-bus-coresight-devices-etm4x

(RW) Controls which PE to trace.

/sys/bus/coresight/devices/etm<N>/res_ctrl

Defined on filesysfs-bus-coresight-devices-etm4x

(RW) Controls the selection of the resources in the trace unit.

/sys/bus/coresight/devices/etm<N>/res_idx

Defined on filesysfs-bus-coresight-devices-etm4x

(RW) Select which resource selection unit to work with.

/sys/bus/coresight/devices/etm<N>/reset

Defined on filesysfs-bus-coresight-devices-etm4x

(Write) Cancels all configuration on a trace unit and set it backto its boot configuration.

/sys/bus/coresight/devices/etm<N>/s_exlevel_vinst

Defined on filesysfs-bus-coresight-devices-etm4x

(RW) In Secure state, each bit controls whether instructiontracing is enabled for the corresponding exception level.

/sys/bus/coresight/devices/etm<N>/seq_event

Defined on filesysfs-bus-coresight-devices-etm4x

(RW) Moves the sequencer state to a specific state.

/sys/bus/coresight/devices/etm<N>/seq_idx

Defined on filesysfs-bus-coresight-devices-etm4x

(RW) Select which sequensor.

/sys/bus/coresight/devices/etm<N>/seq_reset_event

Defined on filesysfs-bus-coresight-devices-etm4x

(RW) Moves the sequencer to state 0 when a programmed eventoccurs.

/sys/bus/coresight/devices/etm<N>/seq_state

Defined on filesysfs-bus-coresight-devices-etm4x

(RW) Use this to set, or read, the sequencer state.

/sys/bus/coresight/devices/etm<N>/sshot_ctrl

Defined on filesysfs-bus-coresight-devices-etm4x

(RW) Access the selected single shot control register.

/sys/bus/coresight/devices/etm<N>/sshot_idx

Defined on filesysfs-bus-coresight-devices-etm4x

(RW) Select the single shot control register to access.

/sys/bus/coresight/devices/etm<N>/sshot_pe_ctrl

Defined on filesysfs-bus-coresight-devices-etm4x

(RW) Access the selected single show PE comparator controlregister.

/sys/bus/coresight/devices/etm<N>/sshot_status

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Print the current value of the selected single shotstatus register.

/sys/bus/coresight/devices/etm<N>/syncfreq

Defined on filesysfs-bus-coresight-devices-etm4x

(RW) Controls how often trace synchronization requests occur.

/sys/bus/coresight/devices/etm<N>/trcidr/trcidr0

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Returns the tracing capabilities of the trace unit (0x1E0).The value is taken directly from the HW.

/sys/bus/coresight/devices/etm<N>/trcidr/trcidr1

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Returns the tracing capabilities of the trace unit (0x1E4).The value is taken directly from the HW.

/sys/bus/coresight/devices/etm<N>/trcidr/trcidr10

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Returns the number of P1 right-hand keys that the trace unitcan use (0x188). The value is taken directly from the HW.

/sys/bus/coresight/devices/etm<N>/trcidr/trcidr11

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Returns the number of special P1 right-hand keys that thetrace unit can use (0x18C). The value is taken directly fromthe HW.

/sys/bus/coresight/devices/etm<N>/trcidr/trcidr12

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Returns the number of conditional P1 right-hand keys thatthe trace unit can use (0x190). The value is taken directlyfrom the HW.

/sys/bus/coresight/devices/etm<N>/trcidr/trcidr13

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Returns the number of special conditional P1 right-hand keysthat the trace unit can use (0x194). The value is takendirectly from the HW.

/sys/bus/coresight/devices/etm<N>/trcidr/trcidr2

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Returns the maximum size of the data value, data address,VMID, context ID and instruction address in the trace unit(0x1E8). The value is taken directly from the HW.

/sys/bus/coresight/devices/etm<N>/trcidr/trcidr3

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Returns the value associated with various resourcesavailable to the trace unit. See the Trace Macrocellarchitecture specification for more details (0x1E8).The value is taken directly from the HW.

/sys/bus/coresight/devices/etm<N>/trcidr/trcidr4

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Returns how many resources the trace unit supports (0x1F0).The value is taken directly from the HW.

/sys/bus/coresight/devices/etm<N>/trcidr/trcidr5

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Returns how many resources the trace unit supports (0x1F4).The value is taken directly from the HW.

/sys/bus/coresight/devices/etm<N>/trcidr/trcidr8

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Returns the maximum speculation depth of the instructiontrace stream. (0x180). The value is taken directly from the HW.

/sys/bus/coresight/devices/etm<N>/trcidr/trcidr9

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) Returns the number of P0 right-hand keys that the trace unitcan use (0x184). The value is taken directly from the HW.

/sys/bus/coresight/devices/etm<N>/ts_source

Defined on filesysfs-bus-coresight-devices-etm4x

(Read) When FEAT_TRF is implemented, value of TRFCR_ELx.TS used fortrace session. Otherwise -1 indicates an unknown time source. Checktrcidr0.tssize to see if a global timestamp is available.

/sys/bus/coresight/devices/etm<N>/vinst_pe_cmp_start_stop

Defined on filesysfs-bus-coresight-devices-etm4x

(RW) Access the start stop control register for PE inputcomparators.

/sys/bus/coresight/devices/etm<N>/vmid_idx

Defined on filesysfs-bus-coresight-devices-etm4x

(RW) Select which virtual machine ID comparator to work with.

/sys/bus/coresight/devices/etm<N>/vmid_masks

Defined on filesysfs-bus-coresight-devices-etm4x

(RW) Mask for all 8 virtual machine ID comparator valueregisters (if implemented).

/sys/bus/coresight/devices/etm<N>/vmid_val

Defined on filesysfs-bus-coresight-devices-etm4x

(RW) Get/Set the virtual machine ID comparator value totrigger on.

/sys/bus/coresight/devices/trbe<cpu>/align

Defined on filesysfs-bus-coresight-devices-trbe

(Read) Shows the TRBE write pointer alignment. This valueis fetched from the TRBIDR register.

/sys/bus/coresight/devices/trbe<cpu>/flag

Defined on filesysfs-bus-coresight-devices-trbe

(Read) Shows if TRBE updates in the memory are with accessand dirty flag updates as well. This value is fetched fromthe TRBIDR register.

/sys/bus/coresight/devices/trbe<cpu>/label

Defined on filesysfs-bus-coresight-devices-trbe

(Read) Show hardware context information of device.

/sys/bus/coresight/devices/ultra_smb<N>/enable_sink

Defined on filesysfs-bus-coresight-devices-ultra_smb

(RW) Add/remove a SMB device from a trace path. There can bemultiple sources for a single SMB device.

/sys/bus/coresight/devices/ultra_smb<N>/mgmt/buf_size

Defined on filesysfs-bus-coresight-devices-ultra_smb

(RO) Shows the buffer size of each UltraSoc SMB device.

/sys/bus/coresight/devices/ultra_smb<N>/mgmt/buf_status

Defined on filesysfs-bus-coresight-devices-ultra_smb

(RO) Shows the value of UltraSoc SMB status register.BIT(0) is zero means buffer is empty.

/sys/bus/coresight/devices/ultra_smb<N>/mgmt/read_pos

Defined on filesysfs-bus-coresight-devices-ultra_smb

(RO) Shows the value of UltraSoc SMB Read Pointer register.

/sys/bus/coresight/devices/ultra_smb<N>/mgmt/write_pos

Defined on filesysfs-bus-coresight-devices-ultra_smb

(RO) Shows the value of UltraSoc SMB Write Pointer register.

/sys/bus/counter/devices/counterX/cascade_counts_enable

Defined on filesysfs-bus-counter

Indicates the cascading of Counts on Counter X.

Valid attribute values are boolean.

/sys/bus/counter/devices/counterX/cascade_counts_enable_component_id

/sys/bus/counter/devices/counterX/external_input_phase_clock_select_component_id

/sys/bus/counter/devices/counterX/countY/capture_component_id

/sys/bus/counter/devices/counterX/countY/ceiling_component_id

/sys/bus/counter/devices/counterX/countY/compare_component_id

/sys/bus/counter/devices/counterX/countY/count_mode_component_id

/sys/bus/counter/devices/counterX/countY/direction_component_id

/sys/bus/counter/devices/counterX/countY/enable_component_id

/sys/bus/counter/devices/counterX/countY/error_noise_component_id

/sys/bus/counter/devices/counterX/countY/floor_component_id

/sys/bus/counter/devices/counterX/countY/num_overflows_component_id

/sys/bus/counter/devices/counterX/countY/prescaler_component_id

/sys/bus/counter/devices/counterX/countY/preset_component_id

/sys/bus/counter/devices/counterX/countY/preset_enable_component_id

/sys/bus/counter/devices/counterX/countY/signalZ_action_component_id

/sys/bus/counter/devices/counterX/signalY/cable_fault_component_id

/sys/bus/counter/devices/counterX/signalY/cable_fault_enable_component_id

/sys/bus/counter/devices/counterX/signalY/filter_clock_prescaler_component_id

/sys/bus/counter/devices/counterX/signalY/frequency_component_id

/sys/bus/counter/devices/counterX/signalY/index_polarity_component_id

/sys/bus/counter/devices/counterX/signalY/polarity_component_id

/sys/bus/counter/devices/counterX/signalY/synchronous_mode_component_id

Defined on filesysfs-bus-counter

Read-only attribute that indicates the component ID of therespective extension or Synapse.

/sys/bus/counter/devices/counterX/countY/capture

Defined on filesysfs-bus-counter

Historical capture of the Count Y count data.

/sys/bus/counter/devices/counterX/countY/ceiling

Defined on filesysfs-bus-counter

Count value ceiling for Count Y. This is the upper limit for therespective counter.

/sys/bus/counter/devices/counterX/countY/compare

Defined on filesysfs-bus-counter

If the counter device supports compare registers -- registersused to compare counter channels against a particular count --the compare count for channel Y is provided by this attribute.

/sys/bus/counter/devices/counterX/countY/count

Defined on filesysfs-bus-counter

Count data of Count Y represented as a string.

/sys/bus/counter/devices/counterX/countY/count_mode

Defined on filesysfs-bus-counter

Count mode for channel Y. The ceiling and floor values forCount Y are used by the count mode where required. The followingcount modes are available:

normal:

Counting is continuous in either direction.

range limit:

An upper or lower limit is set, mimicking limit switchesin the mechanical counterpart. The upper limit is set tothe Count Y ceiling value, while the lower limit is setto the Count Y floor value. The counter freezes atcount = ceiling when counting up, and at count = floorwhen counting down. At either of these limits, thecounting is resumed only when the count direction isreversed.

non-recycle:

The counter is disabled whenever a counter overflow orunderflow takes place. The counter is re-enabled when anew count value is loaded to the counter via a presetoperation or direct write.

modulo-n:

A count value boundary is set between the Count Y floorvalue and the Count Y ceiling value. The counter isreset to the Count Y floor value at count = ceiling whencounting up, while the counter is set to the Count Yceiling value at count = floor when counting down; thecounter does not freeze at the boundary points, butcounts continuously throughout.

interrupt on terminal count:

The output signal is initially low, and will remain lowuntil the counter reaches zero. The output signal thengoes high and remains high until a new preset value isset.

hardware retriggerable one-shot:

The output signal is initially high. The output signalwill go low by a trigger input signal, and will remainlow until the counter reaches zero. The output will thengo high and remain high until the next trigger. Atrigger results in loading the counter to the presetvalue and setting the output signal low, thus startingthe one-shot pulse.

rate generator:

The output signal is initially high. When the counterhas decremented to 1, the output signal goes low for oneclock pulse. The output signal then goes high again, thecounter is reloaded to the preset value, and the processrepeats in a periodic manner as such.

square wave mode:

The output signal is initially high.

If the initial count is even, the counter is decrementedby two on succeeding clock pulses. When the countexpires, the output signal changes value and thecounter is reloaded to the preset value. The processrepeats in periodic manner as such.

If the initial count is odd, the initial count minus one(an even number) is loaded and then is decremented bytwo on succeeding clock pulses. One clock pulse afterthe count expires, the output signal goes low and thecounter is reloaded to the preset value minus one.Succeeding clock pulses decrement the count by two. Whenthe count expires, the output goes high again and thecounter is reloaded to the preset value minus one. Theprocess repeats in a periodic manner as such.

software triggered strobe:

The output signal is initially high. When the countexpires, the output will go low for one clock pulse andthen go high again. The counting sequence is “triggered”by setting the preset value.

hardware triggered strobe:

The output signal is initially high. Counting is startedby a trigger input signal. When the count expires, theoutput signal will go low for one clock pulse and thengo high again. A trigger results in loading the counterto the preset value.

/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/prescaler_available

/sys/bus/counter/devices/counterX/countY/signalZ_action_available

Defined on filesysfs-bus-counter

Discrete set of available values for the respective Count Yconfiguration are listed in this file. Values are delimited bynewline characters.

/sys/bus/counter/devices/counterX/countY/direction

Defined on filesysfs-bus-counter

Read-only attribute that indicates the count direction of CountY. Two count directions are available: forward and backward.

Some counter devices are able to determine the direction oftheir counting. For example, quadrature encoding counters candetermine the direction of movement by evaluating the leadingphase of the respective A and B quadrature encoding signals.This attribute exposes such count directions.

/sys/bus/counter/devices/counterX/countY/enable

Defined on filesysfs-bus-counter

Whether channel Y counter is enabled. Valid attribute values areboolean.

This attribute is intended to serve as a pause/unpause mechanismfor Count Y. Suppose a counter device is used to count the totalmovement of a conveyor belt: this attribute allows an operatorto temporarily pause the counter, service the conveyor belt,and then finally unpause the counter to continue where it hadleft off.

/sys/bus/counter/devices/counterX/countY/error_noise

Defined on filesysfs-bus-counter

Read-only attribute that indicates whether excessive noise ispresent at the channel Y counter inputs.

/sys/bus/counter/devices/counterX/countY/floor

Defined on filesysfs-bus-counter

Count value floor for Count Y. This is the lower limit for therespective counter.

/sys/bus/counter/devices/counterX/countY/function

Defined on filesysfs-bus-counter

Count function mode of Count Y; count function evaluation istriggered by conditions specified by the Count Y signalZ_actionattributes. 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 pairsignal A updates the respective count; if the directionis backward, falling edges on quadrature pair signal Aupdates the respective count. Quadrature encodingdetermines the direction.

quadrature x1 b:

If direction is forward, rising edges on quadrature pairsignal B updates the respective count; if the directionis backward, falling edges on quadrature pair signal Bupdates the respective count. Quadrature encodingdetermines the direction.

quadrature x2 a:

Any state transition on quadrature pair signal A updatesthe respective count. Quadrature encoding determines thedirection.

quadrature x2 b:

Any state transition on quadrature pair signal B updatesthe respective count. Quadrature encoding determines thedirection.

quadrature x4:

Any state transition on either quadrature pair signalsupdates the respective count. Quadrature encodingdetermines the direction.

/sys/bus/counter/devices/counterX/countY/name

Defined on filesysfs-bus-counter

Read-only attribute that indicates the device-specific name ofCount Y. If possible, this should match the name of therespective channel as it appears in the device datasheet.

/sys/bus/counter/devices/counterX/countY/num_overflows

Defined on filesysfs-bus-counter

This attribute indicates the number of overflows of count Y.

/sys/bus/counter/devices/counterX/countY/prescaler

Defined on filesysfs-bus-counter

Configure the prescaler value associated with Count Y.On the FlexTimer, the counter clock source passes through aprescaler (i.e. a counter). This acts like a clockdivider.

/sys/bus/counter/devices/counterX/countY/preset

Defined on filesysfs-bus-counter

If the counter device supports preset registers -- registersused to load counter channels to a set count upon device-definedpreset operation trigger events -- the preset count for channelY is provided by this attribute.

/sys/bus/counter/devices/counterX/countY/preset_enable

Defined on filesysfs-bus-counter

Whether channel Y counter preset operation is enabled. Validattribute values are boolean.

/sys/bus/counter/devices/counterX/countY/signalZ_action

Defined on filesysfs-bus-counter

Action mode of Count Y for Signal Z. This attribute indicatesthe condition of Signal Z that triggers the count functionevaluation for Count Y. The following action modes areavailable:

none:

Signal does not trigger the count function. InPulse-Direction count function mode, this Signal isevaluated as Direction.

rising edge:

Low state transitions to high state.

falling edge:

High state transitions to low state.

both edges:

Any state transition.

/sys/bus/counter/devices/counterX/countY/spike_filter_ns

Defined on filesysfs-bus-counter

If the counter device supports programmable spike filter thisattribute indicates the value in nanoseconds where noise pulsesshorter or equal to configured value are ignored. Value 0 meansfilter is disabled.

/sys/bus/counter/devices/counterX/events_queue_size

Defined on filesysfs-bus-counter

Size of the Counter events queue in number ofstructcounter_event data structures. The number of elements will berounded-up to a power of 2.

/sys/bus/counter/devices/counterX/external_input_phase_clock_select

Defined on filesysfs-bus-counter

Selects the external clock pin for phase counting mode ofCounter X.

MTCLKA-MTCLKB:

MTCLKA and MTCLKB pins are selected for the externalphase clock.

MTCLKC-MTCLKD:

MTCLKC and MTCLKD pins are selected for the externalphase clock.

/sys/bus/counter/devices/counterX/external_input_phase_clock_select_available

Defined on filesysfs-bus-counter

Discrete set of available values for the respective deviceconfiguration are listed in this file.

/sys/bus/counter/devices/counterX/name

Defined on filesysfs-bus-counter

Read-only attribute that indicates the device-specific name ofthe Counter. This should match the name of the device as itappears in its respective datasheet.

/sys/bus/counter/devices/counterX/num_counts

Defined on filesysfs-bus-counter

Read-only attribute that indicates the total number of Countsbelonging to the Counter.

/sys/bus/counter/devices/counterX/num_signals

Defined on filesysfs-bus-counter

Read-only attribute that indicates the total number of Signalsbelonging to the Counter.

/sys/bus/counter/devices/counterX/signalY/cable_fault

Defined on filesysfs-bus-counter

Read-only attribute that indicates whether a differentialencoder cable fault (not connected or loose wires) is detectedfor the respective channel of Signal Y. Valid attribute valuesare boolean. Detection must first be enabled via thecorresponding cable_fault_enable attribute.

/sys/bus/counter/devices/counterX/signalY/cable_fault_enable

Defined on filesysfs-bus-counter

Whether detection of differential encoder cable faults for therespective channel of Signal Y is enabled. Valid attributevalues are boolean.

/sys/bus/counter/devices/counterX/signalY/filter_clock_prescaler

Defined on filesysfs-bus-counter

Filter clock factor for input Signal Y. This prescaler valueaffects the inputs of both quadrature pair signals.

/sys/bus/counter/devices/counterX/signalY/frequency

Defined on filesysfs-bus-counter

Read-only attribute that indicates the signal Y frequency, in Hz.

/sys/bus/counter/devices/counterX/signalY/index_polarity

Defined on filesysfs-bus-counter

Active level of index input Signal Y; irrelevant innon-synchronous load mode.

/sys/bus/counter/devices/counterX/signalY/index_polarity_available

/sys/bus/counter/devices/counterX/signalY/synchronous_mode_available

Defined on filesysfs-bus-counter

Discrete set of available values for the respective Signal Yconfiguration are listed in this file.

/sys/bus/counter/devices/counterX/signalY/name

Defined on filesysfs-bus-counter

Read-only attribute that indicates the device-specific name ofSignal Y. If possible, this should match the name of therespective signal as it appears in the device datasheet.

/sys/bus/counter/devices/counterX/signalY/polarity

Defined on filesysfs-bus-counter

Active level of Signal Y. The following polarity values areavailable:

positive:

Signal high state considered active level (rising edge).

negative:

Signal low state considered active level (falling edge).

/sys/bus/counter/devices/counterX/signalY/signal

Defined on filesysfs-bus-counter

Signal level state of Signal Y. The following signal levelstates are available:

low:

Low level state.

high:

High level state.

/sys/bus/counter/devices/counterX/signalY/synchronous_mode

Defined on filesysfs-bus-counter

Configure the counter associated with Signal Y fornon-synchronous or synchronous load mode. Synchronous load modecannot be selected in non-quadrature (Pulse-Direction) clockmode.

non-synchronous:

A logic low level is the active level at this indexinput. The index function (as enabled via preset_enable)is performed directly on the active level of the indexinput.

synchronous:

Intended for interfacing with encoder Index output inquadrature clock mode. The active level is configuredvia index_polarity. The index function (as enabled viapreset_enable) is performed synchronously with thequadrature clock on the active level of the index input.

/sys/bus/css/devices/.../driver_override

Defined on filesysfs-bus-css

This file allows the driver for a device to be specified. Whenspecified, only a driver with a name matching the value writtento driver_override will have an opportunity to bind to thedevice. The override is specified by writing a string to thedriver_override file (echo vfio-ccw > driver_override) andmay 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 thedevice from its current driver or make any attempt toautomatically load the specified driver. If no driver with amatching name is currently loaded in the kernel, the devicewill not bind to any driver. This also allows devices toopt-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, thisfile does not allow to override basic matching rules. I.e.,the driver must still match the subchannel type of the device.

/sys/bus/css/devices/.../modalias

Defined on filesysfs-bus-css

Contains the module alias as reported with uevents.It is of the format css:t<type> and present for allsubchannel types.

/sys/bus/css/devices/.../type

Defined on filesysfs-bus-css

Contains the subchannel type, as reported by the hardware.This attribute is present for all subchannel types.

/sys/bus/css/drivers/io_subchannel/.../chpids

Defined on filesysfs-bus-css

Contains the ids of the channel paths used by thissubchannel, as reported by the channel subsystemduring subchannel recognition.

Note: This is an I/O-subchannel specific attribute.

Users:

s390-tools, HAL

/sys/bus/css/drivers/io_subchannel/.../pimpampom

Defined on filesysfs-bus-css

Contains the PIM/PAM/POM values, as reported by thechannel subsystem when last queried by the common I/Olayer (this implies that this attribute is not necessarilyin sync with the values current in the channel subsystem).

Note: This is an I/O-subchannel specific attribute.

Users:

s390-tools, HAL

/sys/bus/cxl/devices/*/devtype

Defined on filesysfs-bus-cxl

(RO) CXL device objects export the devtype attribute whichmirrors the same value communicated in the DEVTYPE environmentvariable for uevents for devices on the “cxl” bus.

/sys/bus/cxl/devices/*/modalias

Defined on filesysfs-bus-cxl

(RO) CXL device objects export the modalias attribute whichmirrors the same value communicated in the MODALIAS environmentvariable for uevents for devices on the “cxl” bus.

/sys/bus/cxl/devices/decoderX.Y

Defined on filesysfs-bus-cxl

(RO) CXL decoder objects are enumerated from either a platformfirmware description, or a CXL HDM decoder register set in aPCIe device (see CXL 2.0 section 8.2.5.12 CXL HDM DecoderCapability Structure). The ‘X’ in decoderX.Y represents thecxl_port container of this decoder, and ‘Y’ represents theinstance id of a given decoder resource.

/sys/bus/cxl/devices/decoderX.Y/cap_{pmem,ram,type2,type3}

Defined on filesysfs-bus-cxl

(RO) When a CXL decoder is of devtype “cxl_decoder_root”, itrepresents a fixed memory window identified by platformfirmware. A fixed window may only support a subset of memorytypes. The ‘cap_*’ attributes indicate whether persistentmemory, volatile memory, accelerator memory, and / or expandermemory may be mapped behind this decoder’s memory window.

/sys/bus/cxl/devices/decoderX.Y/create_{pmem,ram}_region

Defined on filesysfs-bus-cxl

(RW) Write a string in the form ‘regionZ’ to start the processof defining a new persistent, or volatile memory region(interleave-set) within the decode range bounded by root decoder‘decoderX.Y’. The value written must match the current valuereturned from reading this attribute. An atomic compare exchangeoperation is done on write to assign the requested id to aregion and allocate the region-id for the next creation attempt.EBUSY is returned if the region name written does not match thecurrent cached value.

/sys/bus/cxl/devices/decoderX.Y/delete_region

Defined on filesysfs-bus-cxl

(WO) Write a string in the form ‘regionZ’ to delete that region,provided it is currently idle / not bound to a driver.

/sys/bus/cxl/devices/decoderX.Y/dpa_resource

Defined on filesysfs-bus-cxl

(RO) When a CXL decoder is of devtype “cxl_decoder_endpoint”,and its ‘dpa_size’ attribute is non-zero, this attributeindicates the device physical address (DPA) base address of theallocation.

/sys/bus/cxl/devices/decoderX.Y/dpa_size

Defined on filesysfs-bus-cxl

(RW) When a CXL decoder is of devtype “cxl_decoder_endpoint” ittranslates from a host physical address range, to a device localaddress range. The range, base address plus length in bytes, ofDPA allocated to this decoder is conveyed in these 2 attributes.Allocations can be mutated as long as the decoder is in thedisabled state. A write to ‘dpa_size’ releases the previous DPAallocation and then attempts to allocate from the free capacityin the device partition referred to by ‘decoderX.Y/mode’.Allocate and free requests can only be performed on the highestinstance number disabled decoder with non-zero size. I.e.allocations are enforced to occur in increasing ‘decoderX.Y/id’order and frees are enforced to occur in decreasing‘decoderX.Y/id’ order.

/sys/bus/cxl/devices/decoderX.Y/interleave_granularity

Defined on filesysfs-bus-cxl

(RO) The number of consecutive bytes of host physical addressspace this decoder claims at address N before the decode rotatesto the next target in the interleave at address N +interleave_granularity (assuming N is aligned tointerleave_granularity).

/sys/bus/cxl/devices/decoderX.Y/interleave_ways

Defined on filesysfs-bus-cxl

(RO) The number of targets across which this decoder’s hostphysical address (HPA) memory range is interleaved. The devicemaps every Nth block of HPA (of size ==‘interleave_granularity’) to consecutive DPA addresses. Thedecoder’s position in the interleave is determined by thedevice’s (endpoint or switch) switch ancestry. For rootdecoders their interleave is specified by platform firmware andthey only specify a downstream target order for host bridges.

/sys/bus/cxl/devices/decoderX.Y/locked

Defined on filesysfs-bus-cxl

(RO) CXL HDM decoders have the capability to lock theconfiguration until the next device reset. For decoders ofdevtype “cxl_decoder_root” there is no standard facility tounlock them. For decoders of devtype “cxl_decoder_switch” asecondary bus reset, of the PCIe bridge that provides the busfor this decoders uport, unlocks / resets the decoder.

/sys/bus/cxl/devices/decoderX.Y/mode

Defined on filesysfs-bus-cxl

(RW) When a CXL decoder is of devtype “cxl_decoder_endpoint” ittranslates from a host physical address range, to a devicelocal address range. Device-local address ranges are furthersplit into a ‘ram’ (volatile memory) range and ‘pmem’(persistent memory) range. The ‘mode’ attribute emits one of‘ram’, ‘pmem’, or ‘none’. The ‘none’ indicates the decoder isnot actively decoding, or no DPA allocation policy has beenset.

‘mode’ can be written, when the decoder is in the ‘disabled’state, with either ‘ram’ or ‘pmem’ to set the boundaries for thenext allocation.

/sys/bus/cxl/devices/decoderX.Y/qos_class

Defined on filesysfs-bus-cxl

(RO) For CXL host platforms that support “QoS Telemetry” thisroot-decoder-only attribute conveys a platform specific cookiethat identifies a QoS performance class for the CXL Window.This class-id can be compared against a similar “qos_class”published for each memory-type that an endpoint supports. Whileit is not required that endpoints map their local memory-classto a matching platform class, mismatches are not recommended andthere are platform specific side-effects that may result.

/sys/bus/cxl/devices/decoderX.Y/target_list

Defined on filesysfs-bus-cxl

(RO) Display a comma separated list of the current decodertarget configuration. The list is ordered by the currentconfigured interleave order of the decoder’s dport instances.Each entry in the list is a dport id.

/sys/bus/cxl/devices/decoderX.Y/target_type

Defined on filesysfs-bus-cxl

(RO) When a CXL decoder is of devtype “cxl_decoder_switch”, itcan optionally decode either accelerator memory (type-2) orexpander memory (type-3). The ‘target_type’ attribute indicatesthe current setting which may dynamically change based on whatmemory regions are activated in this decode hierarchy.

/sys/bus/cxl/devices/decoderX.Y/{start,size}

Defined on filesysfs-bus-cxl

(RO) The ‘start’ and ‘size’ attributes together convey thephysical address base and number of bytes mapped in thedecoder’s decode window. For decoders of devtype“cxl_decoder_root” the address range is fixed. For decoders ofdevtype “cxl_decoder_switch” the address is bounded by thedecode range of the cxl_port ancestor of the decoder’s cxl_port,and dynamically updates based on the active memory regions inthat address space.

/sys/bus/cxl/devices/endpointX/CDAT

Defined on filesysfs-bus-cxl

(RO) If this sysfs entry is not present no DOE mailbox wasfound to support CDAT data. If it is present and the length ofthe data is 0 reading the CDAT data failed. Otherwise the CDATdata is reported.

/sys/bus/cxl/devices/memX/firmware/

Defined on filesysfs-bus-cxl

(RW) Firmware uploader mechanism. The different files underthis directory can be used to upload and activate newfirmware for CXL devices. The interfaces under this aredocumented in sysfs-class-firmware.

/sys/bus/cxl/devices/memX/firmware_version

Defined on filesysfs-bus-cxl

(RO) “FW Revision” string as reported by the IdentifyMemory Device Output Payload in the CXL-2.0specification.

/sys/bus/cxl/devices/memX/label_storage_size

Defined on filesysfs-bus-cxl

(RO) Size (in bytes) of the Label Storage Area (LSA).

/sys/bus/cxl/devices/memX/numa_node

Defined on filesysfs-bus-cxl

(RO) If NUMA is enabled and the platform has affinitized thehost PCI device for this memory device, emit the CPU nodeaffinity for this device.

/sys/bus/cxl/devices/memX/payload_max

Defined on filesysfs-bus-cxl

(RO) Maximum size (in bytes) of the mailbox command payloadregisters. Linux caps this at 1MB if the device reports alarger size.

/sys/bus/cxl/devices/memX/pmem/qos_class

Defined on filesysfs-bus-cxl

(RO) For CXL host platforms that support “QoS Telemetry”this attribute conveys a comma delimited list of platformspecific cookies that identifies a QoS performance classfor the persistent partition of the CXL mem device. Theseclass-ids can be compared against a similar “qos_class”published for a root decoder. While it is not requiredthat the endpoints map their local memory-class to amatching platform class, mismatches are not recommendedand there are platform specific performance relatedside-effects that may result. First class-id is displayed.

/sys/bus/cxl/devices/memX/pmem/size

Defined on filesysfs-bus-cxl

(RO) “Persistent Only Capacity” as bytes. Represents theidentically named field in the Identify Memory Device OutputPayload in the CXL-2.0 specification.

/sys/bus/cxl/devices/memX/ram/qos_class

Defined on filesysfs-bus-cxl

(RO) For CXL host platforms that support “QoS Telemetry”this attribute conveys a comma delimited list of platformspecific cookies that identifies a QoS performance classfor the volatile partition of the CXL mem device. Theseclass-ids can be compared against a similar “qos_class”published for a root decoder. While it is not requiredthat the endpoints map their local memory-class to amatching platform class, mismatches are not recommendedand there are platform specific performance relatedside-effects that may result. First class-id is displayed.

/sys/bus/cxl/devices/memX/ram/size

Defined on filesysfs-bus-cxl

(RO) “Volatile Only Capacity” as bytes. Represents theidentically named field in the Identify Memory Device OutputPayload in the CXL-2.0 specification.

/sys/bus/cxl/devices/memX/security/sanitize

Defined on filesysfs-bus-cxl

(WO) Write a boolean ‘true’ string value to this attribute tosecure erase user data by changing the media encryption keys forall user data areas of the device. This functionality requiresthe device to be disabled, that is, not actively decoding anyHPA ranges. This permits avoiding explicit global CPU cachemanagement, relying instead for it to be done when a regiontransitions between software programmed and hardware committedstates. If this file is not present, then there is no hardwaresupport for the operation.

/sys/bus/cxl/devices/memX/security/state

Defined on filesysfs-bus-cxl

(RO) Reading this file will display the CXL security state forthat device. Such states can be: ‘disabled’, ‘sanitize’, whena sanitization is currently underway; or those available onlyfor persistent memory: ‘locked’, ‘unlocked’ or ‘frozen’. Thissysfs entry is select/poll capable from userspace to notifyupon completion of a sanitize operation.

/sys/bus/cxl/devices/memX/serial

Defined on filesysfs-bus-cxl

(RO) 64-bit serial number per the PCIe Device Serial Numbercapability. Mandatory for CXL devices, see CXL 2.0 8.1.12.2Memory Device PCIe Capabilities and Extended Capabilities.

/sys/bus/cxl/devices/memX/trigger_poison_list

Defined on filesysfs-bus-cxl

(WO) When a boolean ‘true’ is written to this attribute thememdev driver retrieves the poison list from the device. Thelist consists of addresses that are poisoned, or would resultin poison if accessed, and the source of the poison. Thisattribute is only visible for devices supporting thecapability. The retrieved errors are logged as kernelevents when cxl_poison event tracing is enabled.

/sys/bus/cxl/devices/nvdimm-bridge0/ndbusX/nmemY/cxl/dirty_shutdown

Defined on filesysfs-bus-cxl

(RO) The device dirty shutdown count value, which is the numberof times the device could have incurred in potential data loss.The count is persistent across power loss and wraps back to 0upon overflow. If this file is not present, the device does nothave the necessary support for dirty tracking.

/sys/bus/cxl/devices/portX/decoders_committed

Defined on filesysfs-bus-cxl

(RO) A memory device is considered active when any of itsdecoders are in the “committed” state (See CXL 3.0 8.2.4.19.7CXL HDM Decoder n Control Register). Hotplug and destructiveoperations like “sanitize” are blocked while device is activelydecoding a Host Physical Address range. Note that this numbermay be elevated without any regionX objects active or evenenumerated, as this may be due to decoders established byplatform firmware or a previous kernel (kexec).

/sys/bus/cxl/devices/portX/dportY

Defined on filesysfs-bus-cxl

(RO) CXL port objects are enumerated from either a platformfirmware device (ACPI0017 and ACPI0016) or PCIe switch upstreamport with CXL component registers. The ‘dportY’ symlinkidentifies one or more downstream ports that the upstream portmay target in its decode of CXL memory resources. The ‘Y’integer reflects the hardware port unique-id used in thehardware decoder target list.

/sys/bus/cxl/devices/portX/uport

Defined on filesysfs-bus-cxl

(RO) CXL port objects are enumerated from either a platformfirmware device (ACPI0017 and ACPI0016) or PCIe switch upstreamport with CXL component registers. The ‘uport’ symlink connectsthe CXL portX object to the device that published the CXL portcapability.

/sys/bus/cxl/devices/regionZ/accessY/read_bandwidth

/sys/bus/cxl/devices/regionZ/accessY/write_bandwidth

Defined on filesysfs-bus-cxl

(RO) The aggregated read or write bandwidth of the region. Thenumber is the accumulated read or write bandwidth of all CXL memorydevices that contributes to the region in MB/s. It isidentical data that should appear in/sys/devices/system/node/nodeX/accessY/initiators/read_bandwidth or/sys/devices/system/node/nodeX/accessY/initiators/write_bandwidth.Seestable/sysfs-devices-node. access0 providesthe number to the closest initiator and access1 provides thenumber to the closest CPU.

/sys/bus/cxl/devices/regionZ/accessY/read_latency

/sys/bus/cxl/devices/regionZ/accessY/write_latency

Defined on filesysfs-bus-cxl

(RO) The read or write latency of the region. The number isthe worst read or write latency of all CXL memory devices thatcontributes to the region in nanoseconds. It is identical datathat should appear in/sys/devices/system/node/nodeX/accessY/initiators/read_latency or/sys/devices/system/node/nodeX/accessY/initiators/write_latency.Seestable/sysfs-devices-node. access0 providesthe number to the closest initiator and access1 provides thenumber to the closest CPU.

/sys/bus/cxl/devices/regionZ/commit

Defined on filesysfs-bus-cxl

(RW) Write a boolean ‘true’ string value to this attribute totrigger the region to transition from the software programmedstate to the actively decoding in hardware state. The commitoperation in addition to validating that the region is in properconfigured state, validates that the decoders are beingcommitted in spec mandated order (last committed decoder id +1), and checks that the hardware accepts the commit request.Reading this value indicates whether the region is committed ornot.

/sys/bus/cxl/devices/regionZ/extended_linear_cache_size

Defined on filesysfs-bus-cxl

(RO) The size of extended linear cache, if there is an extendedlinear cache. Otherwise the attribute will not be visible.

/sys/bus/cxl/devices/regionZ/interleave_granularity

Defined on filesysfs-bus-cxl

(RW) Set the number of consecutive bytes each device in theinterleave set will claim. The possible interleave granularityvalues are determined by the CXL spec and the participatingdevices.

/sys/bus/cxl/devices/regionZ/interleave_ways

Defined on filesysfs-bus-cxl

(RW) Configures the number of devices participating in theregion is set by writing this value. Each device will provide1/interleave_ways of storage for the region.

/sys/bus/cxl/devices/regionZ/mode

Defined on filesysfs-bus-cxl

(RO) The mode of a region is established at region creation timeand dictates the mode of the endpoint decoder that comprise theregion. For more details on the possible modes see/sys/bus/cxl/devices/decoderX.Y/mode

/sys/bus/cxl/devices/regionZ/resource

Defined on filesysfs-bus-cxl

(RO) A region is a contiguous partition of a CXL root decoderaddress space. Region capacity is allocated by writing to thesize attribute, the resulting physical address space determinedby the driver is reflected here. It is therefore not useful toread this before writing a value to the size attribute.

/sys/bus/cxl/devices/regionZ/size

Defined on filesysfs-bus-cxl

(RW) System physical address space to be consumed by the region.When written trigger the driver to allocate space out of theparent root decoder’s address space. When read the size of theaddress space is reported and should match the span of theregion’s resource attribute. Size shall be set after theinterleave configuration parameters. Once set it cannot bechanged, only freed by writing 0. The kernel makes no guaranteesthat data is maintained over an address space freeing event, andthere is no guarantee that a free followed by an allocateresults in the same address being allocated. If extended linearcache is present, the size indicates extended linear cache sizeplus the CXL region size.

/sys/bus/cxl/devices/regionZ/target[0..N]

Defined on filesysfs-bus-cxl

(RW) Write an endpoint decoder object name to ‘targetX’ where Xis the intended position of the endpoint device in the regioninterleave and N is the ‘interleave_ways’ setting for theregion. ENXIO is returned if the write results in an impossibleto map decode scenario, like the endpoint is unreachable at thatposition relative to the root decoder interleave. EBUSY isreturned if the position in the region is already occupied, orif the region is not in a state to accept interleaveconfiguration changes. EINVAL is returned if the object name isnot an endpoint decoder. Once all positions have beensuccessfully written a final validation for decode conflicts isperformed before activating the region.

/sys/bus/cxl/devices/regionZ/uuid

Defined on filesysfs-bus-cxl

(RW) Write a unique identifier for the region. This field mustbe set for persistent regions and it must not conflict with theUUID of another region. For volatile ram regions thisattribute is a read-only empty string.

/sys/bus/cxl/devices/{port,endpoint}X/parent_dport

Defined on filesysfs-bus-cxl

(RO) CXL port objects are instantiated for each upstream port ina CXL/PCIe switch, and for each endpoint to map thecorresponding memory device into the CXL port hierarchy. When adescendant CXL port (switch or endpoint) is enumerated it isuseful to know which ‘dport’ object in the parent CXL portroutes to this descendant. The ‘parent_dport’ symlink points tothe device representing the downstream port of a CXL switch thatroutes to {port,endpoint}X.

/sys/bus/cxl/flush

Defined on filesysfs-bus-cxl

(WO) If userspace manually unbinds a port the kernel schedulesall descendant memdevs for unbind. Writing ‘1’ to this attributeflushes that work.

/sys/bus/dax/devices/daxX.Y/align

Defined on filesysfs-bus-dax

(RW) Provides a way to specify an alignment for a dax device.Values allowed are constrained by the physical address rangesthat back the dax device, and also by arch requirements.

/sys/bus/dax/devices/daxX.Y/mapping

Defined on filesysfs-bus-dax

(WO) Provides a way to allocate a mapping range under a daxdevice. Specified in the format <start>-<end>.

/sys/bus/dax/devices/daxX.Y/mapping[0..N]/start

/sys/bus/dax/devices/daxX.Y/mapping[0..N]/end

/sys/bus/dax/devices/daxX.Y/mapping[0..N]/page_offset

Defined on filesysfs-bus-dax

(RO) A dax device may have multiple constituent discontiguousaddress ranges. These are represented by the different‘mappingX’ subdirectories. The ‘start’ attribute indicates thestart physical address for the given range. The ‘end’ attributeindicates the end physical address for the given range. The‘page_offset’ attribute indicates the offset of the currentrange in the dax device.

/sys/bus/dax/devices/daxX.Y/memmap_on_memory

Defined on filesysfs-bus-dax

(RW) Control the memmap_on_memory setting if the dax devicewere to be hotplugged as system memory. This determines whetherthe ‘altmap’ for the hotplugged memory will be placed on thedevice being hotplugged (memmap_on_memory=1) or if it will beplaced on regular memory (memmap_on_memory=0). This attributemust be set before the device is handed over to the ‘kmem’driver (i.e. hotplugged into system-ram). Additionally, thisdepends on CONFIG_MHP_MEMMAP_ON_MEMORY, and a globally enabledmemmap_on_memory parameter for memory_hotplug. This istypically set on the kernel command line -memory_hotplug.memmap_on_memory set to ‘true’ or ‘force’.”

/sys/bus/dax/devices/daxX.Y/numa_node

Defined on filesysfs-bus-dax

(RO) If NUMA is enabled and the platform has affinitized thebacking device for this dax device, emit the CPU nodeaffinity for this device.

/sys/bus/dax/devices/daxX.Y/resource

Defined on filesysfs-bus-dax

(RO) The resource attribute indicates the starting physicaladdress of a dax device. In case of a device with multipleconstituent ranges, it indicates the starting address of thefirst range.

/sys/bus/dax/devices/daxX.Y/size

Defined on filesysfs-bus-dax

(RW) The size attribute indicates the total size of a daxdevice. For creating subdivided dax devices, or for resizingan existing device, the new size can be written to this aspart of the reconfiguration process.

/sys/bus/dax/devices/daxX.Y/target_node

Defined on filesysfs-bus-dax

(RO) The target-node attribute is the Linux numa-node that adevice-dax instance may create when it is online. Prior tobeing online the device’s ‘numa_node’ property reflects theclosest online cpu node which is the typical expectation of adevice ‘numa_node’. Once it is online it becomes its owndistinct numa node.

/sys/bus/dfl/devices/dfl_dev.X/feature_id

Defined on filesysfs-bus-dfl

Read-only. It returns feature identifier local to its DFL FIUtype.

Format: 0x%x

/sys/bus/dfl/devices/dfl_dev.X/fec_mode

Defined on filesysfs-bus-dfl-devices-n3000-nios

Read-only. Returns the FEC mode of the 25G links of theethernet retimers configured by Nios firmware. “rs” for ReedSolomon FEC, “kr” for Fire Code FEC, “no” for NO FEC.“not supported” if the FEC mode setting is not supported, thishappens when the Nios firmware version major < 3, or no link isconfigured to 25G.Format: string

/sys/bus/dfl/devices/dfl_dev.X/infX_cal_fail

Defined on filesysfs-bus-dfl-devices-emif

Read-only. It indicates if the calibration failed on thismemory interface. “1” for calibration failure, “0” for OK.Format: %u

/sys/bus/dfl/devices/dfl_dev.X/infX_clear

Defined on filesysfs-bus-dfl-devices-emif

Write-only. Writing “1” to this file will zero out all memorydata in this memory interface. Writing of other values isinvalid.Format: %u

/sys/bus/dfl/devices/dfl_dev.X/infX_init_done

Defined on filesysfs-bus-dfl-devices-emif

Read-only. It indicates if the initialization completed onthis memory interface. “1” for initialization complete, “0”for not yet.Format: %u

/sys/bus/dfl/devices/dfl_dev.X/nios_fw_version

Defined on filesysfs-bus-dfl-devices-n3000-nios

Read-only. Returns the version of the Nios firmware in theFPGA. Its format is “major.minor.patch”.Format: %x.%x.%x

/sys/bus/dfl/devices/dfl_dev.X/retimer_A_mode

Defined on filesysfs-bus-dfl-devices-n3000-nios

Read-only. Returns the enumeration value of the working mode ofthe retimer A configured by the Nios firmware. The value isread out from shared registers filled by the Nios firmware. Nowthe values could be:

  • “0”: Reset

  • “1”: 4x10G

  • “2”: 4x25G

  • “3”: 2x25G

  • “4”: 2x25G+2x10G

  • “5”: 1x25G

If the Nios firmware is updated in future to support moreretimer modes, more enumeration value is expected.Format: 0x%x

/sys/bus/dfl/devices/dfl_dev.X/retimer_B_mode

Defined on filesysfs-bus-dfl-devices-n3000-nios

Read-only. Returns the enumeration value of the working mode ofthe retimer B configured by the Nios firmware. The value formatis the same as retimer_A_mode.

/sys/bus/dfl/devices/dfl_dev.X/type

Defined on filesysfs-bus-dfl

Read-only. It returns type of DFL FIU of the device. Now DFLsupports 2 FIU types, 0 for FME, 1 for PORT.

Format: 0x%x

/sys/bus/drivers/corsair/<dev>/current_profile

Defined on filesysfs-driver-hid-corsair

Get/set the current selected profile. Values are from 1 to 3.

/sys/bus/drivers/corsair/<dev>/macro_mode

Defined on filesysfs-driver-hid-corsair

Get/set the current playback mode. “SW” for software modewhere G-keys triggers their regular key codes. “HW” forhardware playback mode where the G-keys play their macrofrom the on-board memory.

/sys/bus/edac/devices/<dev-name>/ecs_fruX

Defined on filesysfs-edac-ecs

The sysfs EDAC bus devices /<dev-name>/ecs_fruX subdirectorypertains to the memory media ECS (Error Check Scrub) controlfeature, where <dev-name> directory corresponds to a deviceregistered with the EDAC device driver for the ECS feature./ecs_fruX belongs to the media FRUs (Field Replaceable Unit)under the memory device.

The sysfs ECS attr nodes are only present if the parentdriver has implemented the corresponding attr callbackfunction and provided the necessary operations to the EDACdevice driver during registration.

/sys/bus/edac/devices/<dev-name>/ecs_fruX/log_entry_type

Defined on filesysfs-edac-ecs

(RW) The log entry type of how the DDR5 ECS log is reported.

  • 0 - per DRAM.

  • 1 - per memory media FRU.

  • All other values are reserved.

/sys/bus/edac/devices/<dev-name>/ecs_fruX/mode

Defined on filesysfs-edac-ecs

(RW) The mode of how the DDR5 ECS counts the errors.Error count is tracked based on two different modesselected by DDR5 ECS Control Feature - Codeword mode andRow Count mode. If the ECS is under Codeword mode, thenthe error count increments each time a codeword with checkbit errors is detected. If the ECS is under Row Count mode,then the error counter increments each time a row withcheck bit errors is detected.

  • 0 - ECS counts rows in the memory media that have ECC errors.

  • 1 - ECS counts codewords with errors, specifically, it counts

    the number of ECC-detected errors in the memory media.

  • All other values are reserved.

/sys/bus/edac/devices/<dev-name>/ecs_fruX/reset

Defined on filesysfs-edac-ecs

(WO) ECS reset ECC counter.

  • 1 - reset ECC counter to the default value.

  • All other values are reserved.

/sys/bus/edac/devices/<dev-name>/ecs_fruX/threshold

Defined on filesysfs-edac-ecs

(RW) DDR5 ECS threshold count per gigabits of memory cells.The ECS error count is subject to the ECS Threshold countper Gbit, which masks error counts less than the Threshold.

Supported values are 256, 1024 and 4096.

All other values are reserved.

/sys/bus/edac/devices/<dev-name>/mem_repairX

Defined on filesysfs-edac-memory-repair

The sysfs EDAC bus devices /<dev-name>/mem_repairX subdirectorypertains to the memory media repair features control, such asPPR (Post Package Repair), memory sparing etc, where <dev-name>directory corresponds to a device registered with the EDACdevice driver for the memory repair features.

Post Package Repair is a maintenance operation requests the memorydevice to perform a repair operation on its media. It is a memoryself-healing feature that fixes a failing memory location byreplacing it with a spare row in a DRAM device. For example, aCXL memory device with DRAM components that support PPR features mayimplement PPR maintenance operations. DRAM components may supporttwo types of PPR functions: hard PPR, for a permanent row repair, andsoft PPR, for a temporary row repair. Soft PPR may be much fasterthan hard PPR, but the repair is lost with a power cycle.

The sysfs attributes nodes for a repair feature are onlypresent if the parent driver has implemented the correspondingattr callback function and provided the necessary operationsto the EDAC device driver during registration.

In some states of system configuration (e.g. before addressdecoders have been configured), memory devices (e.g. CXL)may not have an active mapping in the main host addressphysical address map. As such, the memory to repair must beidentified by a device specific physical addressing schemeusing a device physical address(DPA). The DPA and other controlattributes to use will be presented in related error records.

/sys/bus/edac/devices/<dev-name>/mem_repairX/bank_group

/sys/bus/edac/devices/<dev-name>/mem_repairX/bank

/sys/bus/edac/devices/<dev-name>/mem_repairX/rank

/sys/bus/edac/devices/<dev-name>/mem_repairX/row

/sys/bus/edac/devices/<dev-name>/mem_repairX/column

/sys/bus/edac/devices/<dev-name>/mem_repairX/channel

/sys/bus/edac/devices/<dev-name>/mem_repairX/sub_channel

Defined on filesysfs-edac-memory-repair

(RW) The control attributes for the memory to be repaired.The specific value of attributes to use depends on theportion of memory to repair and will be reported to the hostin related error records and be available to userspacein trace events, such as CXL DRAM and CXL general mediaerror records of CXL memory devices.

When readng back these attributes, it returns the currentvalue of memory requested to be repaired.

bank_group - The bank group of the memory to repair.

bank - The bank number of the memory to repair.

rank - The rank of the memory to repair. Rank is defined as aset of memory devices on a channel that together execute atransaction.

row - The row number of the memory to repair.

column - The column number of the memory to repair.

channel - The channel of the memory to repair. Channel isdefined as an interface that can be independently accessedfor a transaction.

sub_channel - The subchannel of the memory to repair.

The requirement to set these attributes varies based on therepair function. The attributes in sysfs are not presentunless required for a repair function.

For example, CXL spec ver 3.1, Section 8.2.9.7.1.2 Table 8-103soft PPR and Section 8.2.9.7.1.3 Table 8-104 hard PPR operations,these attributes are not required to set. CXL spec ver 3.1,Section 8.2.9.7.1.4 Table 8-105 memory sparing, these attributesare required to set based on memory sparing granularity.

/sys/bus/edac/devices/<dev-name>/mem_repairX/dpa

Defined on filesysfs-edac-memory-repair

(RW) Device Physical Address (DPA) of the memory to repair.The specific DPA to use will be provided in related errorrecords.

In some states of system configuration (e.g. before addressdecoders have been configured), memory devices (e.g. CXL)may not have an active mapping in the main host addressphysical address map. As such, the memory to repair must beidentified by a device specific physical addressing schemeusing a DPA. The device physical address(DPA) to use will bepresented in related error records.

/sys/bus/edac/devices/<dev-name>/mem_repairX/hpa

Defined on filesysfs-edac-memory-repair

(RW) Host Physical Address (HPA) of the memory to repair.The HPA to use will be provided in related error records.

/sys/bus/edac/devices/<dev-name>/mem_repairX/min_hpa

/sys/bus/edac/devices/<dev-name>/mem_repairX/max_hpa

/sys/bus/edac/devices/<dev-name>/mem_repairX/min_dpa

/sys/bus/edac/devices/<dev-name>/mem_repairX/max_dpa

Defined on filesysfs-edac-memory-repair

(RW) The supported range of memory address that is to berepaired. The memory device may give the supported range ofattributes to use and it will depend on the memory deviceand the portion of memory to repair.The userspace may receive the specific value of attributesto use for a repair operation from the memory device viarelated error records and trace events, for eg. CXL DRAMand CXL general media error records in CXL memory devices.

/sys/bus/edac/devices/<dev-name>/mem_repairX/nibble_mask

Defined on filesysfs-edac-memory-repair

(RW) Read/Write Nibble mask of the memory to repair.Nibble mask identifies one or more nibbles in error on thememory bus that produced the error event. Nibble Mask bit 0shall be set if nibble 0 on the memory bus produced theevent, etc. For example, CXL PPR and sparing, a nibble maskbit set to 1 indicates the request to perform repairoperation in the specific device. All nibble mask bits setto 1 indicates the request to perform the operation in alldevices. Eg. for CXL memory repair, the specific value ofnibble mask to use will be provided in related error records.For more details, See nibble mask field in CXL spec ver 3.1,section 8.2.9.7.1.2 Table 8-103 soft PPR and section8.2.9.7.1.3 Table 8-104 hard PPR, section 8.2.9.7.1.4Table 8-105 memory sparing.

/sys/bus/edac/devices/<dev-name>/mem_repairX/persist_mode

Defined on filesysfs-edac-memory-repair

(RW) Get/Set the current persist repair mode set for arepair function. Persist repair modes supported in thedevice, based on a memory repair function, either is temporary,which is lost with a power cycle or permanent. Valid values are:

  • 0 - Soft memory repair (temporary repair).

  • 1 - Hard memory repair (permanent repair).

  • All other values are reserved.

/sys/bus/edac/devices/<dev-name>/mem_repairX/repair

Defined on filesysfs-edac-memory-repair

(WO) Issue the memory repair operation for the specifiedmemory repair attributes. The operation may fail if resourcesare insufficient based on the requirements of the memorydevice and repair function.

  • 1 - Issue the repair operation.

  • All other values are reserved.

/sys/bus/edac/devices/<dev-name>/mem_repairX/repair_safe_when_in_use

Defined on filesysfs-edac-memory-repair

(RO) True if memory media is accessible and data is retainedduring the memory repair operation.The data may not be retained and memory requests may not becorrectly processed during a repair operation. In such caserepair operation can not be executed at runtime. The memorymust be taken offline.

/sys/bus/edac/devices/<dev-name>/mem_repairX/repair_type

Defined on filesysfs-edac-memory-repair

(RO) Memory repair type. For eg. post package repair,memory sparing etc. Valid values are:

  • ppr - Post package repair.

  • cacheline-sparing

  • row-sparing

  • bank-sparing

  • rank-sparing

  • All other values are reserved.

/sys/bus/edac/devices/<dev-name>/scrubX

Defined on filesysfs-edac-scrub

The sysfs EDAC bus devices /<dev-name>/scrubX subdirectorybelongs to an instance of memory scrub control feature,where <dev-name> directory corresponds to a device/memoryregion registered with the EDAC device driver for thescrub control feature.

The sysfs scrub attr nodes are only present if the parentdriver has implemented the corresponding attr callbackfunction and provided the necessary operations to the EDACdevice driver during registration.

/sys/bus/edac/devices/<dev-name>/scrubX/addr

Defined on filesysfs-edac-scrub

(RW) The base address of the memory region to be scrubbedfor on-demand scrubbing. Setting address starts scrubbing.The size must be set before that.

The readback addr value is non-zero if the requestedon-demand scrubbing is in progress, zero otherwise.

/sys/bus/edac/devices/<dev-name>/scrubX/current_cycle_duration

Defined on filesysfs-edac-scrub

(RW) The current scrub cycle duration in seconds and must bewithin the supported range by the memory scrubber.

Scrub has an overhead when running and that may want to bereduced by taking longer to do it.

/sys/bus/edac/devices/<dev-name>/scrubX/enable_background

Defined on filesysfs-edac-scrub

(RW) Start/Stop background (patrol) scrubbing if supported.

/sys/bus/edac/devices/<dev-name>/scrubX/max_cycle_duration

Defined on filesysfs-edac-scrub

(RO) Supported maximum scrub cycle duration in secondsby the memory scrubber.

Device-based scrub: returns the maximum scrub cycle supportedby the memory device.

Region-based scrub: returns the min of maximum scrub cyclessupported by individual memory devices that back the region.

If the memory device does not provide maximum scrub cycleinformation, return the maximum supported value of the scrubcycle field.

/sys/bus/edac/devices/<dev-name>/scrubX/min_cycle_duration

Defined on filesysfs-edac-scrub

(RO) Supported minimum scrub cycle duration in secondsby the memory scrubber.

Device-based scrub: returns the minimum scrub cyclesupported by the memory device.

Region-based scrub: returns the max of minimum scrub cyclessupported by individual memory devices that back the region.

/sys/bus/edac/devices/<dev-name>/scrubX/size

Defined on filesysfs-edac-scrub

(RW) The size of the memory region to be scrubbed(on-demand scrubbing).

/sys/bus/event_source/devices/<dev>/caps

Defined on filesysfs-bus-event_source-devices-caps

Attribute group to describe the capabilities exposedfor a particular pmu. Each attribute of this group canexpose information specific to a PMU, say pmu_name, so thatuserspace can understand some of the feature which theplatform specific PMU supports.

One of the example available capability in supported platformlike Intel is pmu_name, which exposes underlying CPU name knownto the PMU driver.

Example output in powerpc:grep . /sys/bus/event_source/devices/cpu/caps/*/sys/bus/event_source/devices/cpu/caps/pmu_name:POWER9

The “branch_counter_nr” in the supported platform exposes themaximum number of counters which can be shown in the u64 countersof PERF_SAMPLE_BRANCH_COUNTERS, while the “branch_counter_width”exposes the width of each counter. Both of them can be used bythe perf tool to parse the logged counters in each branch.

/sys/bus/event_source/devices/<dev>/format

Defined on filesysfs-bus-event_source-devices-format

Attribute group to describe the magic bits that go intoperf_event_attr::config[012] for a particular pmu.Each attribute of this group defines the ‘hardware’ bitmaskwe want to export, so that userspace can deal with sanename/value pairs.

Userspace must be prepared for the possibility that attributesdefine 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 ofperf_event_attr::config1.

/sys/bus/event_source/devices/<pmu>

Defined on filesysfs-bus-event_source-devices

Performance Monitoring Unit (<pmu>)

Each <pmu> directory, for a PMU device, is a nameoptionally followed by an underscore and then either adecimal or hexadecimal number. For example, cpu is aPMU name without a suffix as is intel_bts,uncore_imc_0 is a PMU name with a 0 numeric suffix,ddr_pmu_87e1b0000000 is a PMU name with a hexsuffix. The hex suffix must be more than twocharacters long to avoid ambiguity with PMUs like theS390 cpum_cf.

Tools can treat PMUs with the same name that differ bysuffix as instances of the same PMU for the sake of,for example, opening an event. For example, the PMUsuncore_imc_free_running_0 anduncore_imc_free_running_1 have an event data_read;opening the data_read event on a PMU specified asuncore_imc_free_running should be treated as openingthe data_read event on PMU uncore_imc_free_running_0and PMU uncore_imc_free_running_1.

/sys/bus/event_source/devices/<pmu>/events/<event>

Defined on filesysfs-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 singleperformance monitoring event supported by the <pmu>. The nameof the file is the name of the event.

As performance monitoring event names are case insensitivein the perf tool, the perf tool only looks for all lowercase or all upper case event names in sysfs to avoidscanning the directory. It is therefore required thename of the event here is either completely lower or uppercase, with no mixed-case characters. Numbers, ‘.’, ‘_’, and‘-’ are also allowed.

File contents:

<term>[=<value>][,<term>[=<value>]]...

Where <term> is one of the terms listed under/sys/bus/event_source/devices/<pmu>/format/ and <value> isa number is base-16 format with a ‘0x’ prefix (lowercase only).If a <term> is specified alone (without an assigned value), itis implied that 0x1 is assigned to that <term>.

Examples (each of these lines would be in a separate file):

event=0x2abcevent=0x423,inv,cmask=0x3domain=0x1,offset=0x8,starting_index=0xffffdomain=0x1,offset=0x8,core=?

Each of the assignments indicates a value to be assigned to aparticular set of bits (as defined by the format filecorresponding to the <term>) in the perf_event structure passedto the perf_open syscall.

In the case of the last example, a value replacing “?” wouldneed to be provided by the user selecting the particular event.This is referred to as “event parameterization”. Eventparameters have the format ‘param=?’.

/sys/bus/event_source/devices/<pmu>/events/<event>.scale

Defined on filesysfs-bus-event_source-devices-events

Perf event scaling factors

A string representing a floating point value expressed inscientific notation to be multiplied by the event countreceived 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 arithmeticin the kernel.

/sys/bus/event_source/devices/<pmu>/events/<event>.unit

Defined on filesysfs-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

/sys/bus/event_source/devices/dfl_fmeX/cpumask

Defined on filesysfs-bus-event_source-devices-dfl_fme

Read-only. This file always returns cpu which the PMU is boundfor access to all fme pmu performance monitoring events.

/sys/bus/event_source/devices/dfl_fmeX/events

Defined on filesysfs-bus-event_source-devices-dfl_fme

Read-only. Attribute group to describe performance monitoringevents specific to fme. Each attribute in this group describesa single performance monitoring event supported by this fme pmu.The name of the file is the name of the event.(See ABI/testing/sysfs-bus-event_source-devices-events).

All supported performance monitoring events are listed below.

Basic events (evtype=0x00):

clock = "event=0x00,evtype=0x00,portid=0xff"

Cache events (evtype=0x01):

cache_read_hit      = "event=0x00,evtype=0x01,portid=0xff"cache_read_miss     = "event=0x01,evtype=0x01,portid=0xff"cache_write_hit     = "event=0x02,evtype=0x01,portid=0xff"cache_write_miss    = "event=0x03,evtype=0x01,portid=0xff"cache_hold_request  = "event=0x05,evtype=0x01,portid=0xff"cache_data_write_port_contention =                      "event=0x06,evtype=0x01,portid=0xff"cache_tag_write_port_contention =                      "event=0x07,evtype=0x01,portid=0xff"cache_tx_req_stall  = "event=0x08,evtype=0x01,portid=0xff"cache_rx_req_stall  = "event=0x09,evtype=0x01,portid=0xff"cache_eviction      = "event=0x0a,evtype=0x01,portid=0xff"

Fabric events (evtype=0x02):

fab_pcie0_read       = "event=0x00,evtype=0x02,portid=0xff"fab_pcie0_write      = "event=0x01,evtype=0x02,portid=0xff"fab_pcie1_read       = "event=0x02,evtype=0x02,portid=0xff"fab_pcie1_write      = "event=0x03,evtype=0x02,portid=0xff"fab_upi_read         = "event=0x04,evtype=0x02,portid=0xff"fab_upi_write        = "event=0x05,evtype=0x02,portid=0xff"fab_mmio_read        = "event=0x06,evtype=0x02,portid=0xff"fab_mmio_write       = "event=0x07,evtype=0x02,portid=0xff"fab_port_pcie0_read  = "event=0x00,evtype=0x02,portid=?"fab_port_pcie0_write = "event=0x01,evtype=0x02,portid=?"fab_port_pcie1_read  = "event=0x02,evtype=0x02,portid=?"fab_port_pcie1_write = "event=0x03,evtype=0x02,portid=?"fab_port_upi_read    = "event=0x04,evtype=0x02,portid=?"fab_port_upi_write   = "event=0x05,evtype=0x02,portid=?"fab_port_mmio_read   = "event=0x06,evtype=0x02,portid=?"fab_port_mmio_write  = "event=0x07,evtype=0x02,portid=?"

VTD events (evtype=0x03):

vtd_port_read_transaction  = "event=0x00,evtype=0x03,portid=?"vtd_port_write_transaction = "event=0x01,evtype=0x03,portid=?"vtd_port_devtlb_read_hit   = "event=0x02,evtype=0x03,portid=?"vtd_port_devtlb_write_hit  = "event=0x03,evtype=0x03,portid=?"vtd_port_devtlb_4k_fill    = "event=0x04,evtype=0x03,portid=?"vtd_port_devtlb_2m_fill    = "event=0x05,evtype=0x03,portid=?"vtd_port_devtlb_1g_fill    = "event=0x06,evtype=0x03,portid=?"

VTD SIP events (evtype=0x04):

vtd_sip_iotlb_4k_hit  = "event=0x00,evtype=0x04,portid=0xff"vtd_sip_iotlb_2m_hit  = "event=0x01,evtype=0x04,portid=0xff"vtd_sip_iotlb_1g_hit  = "event=0x02,evtype=0x04,portid=0xff"vtd_sip_slpwc_l3_hit  = "event=0x03,evtype=0x04,portid=0xff"vtd_sip_slpwc_l4_hit  = "event=0x04,evtype=0x04,portid=0xff"vtd_sip_rcc_hit       = "event=0x05,evtype=0x04,portid=0xff"vtd_sip_iotlb_4k_miss = "event=0x06,evtype=0x04,portid=0xff"vtd_sip_iotlb_2m_miss = "event=0x07,evtype=0x04,portid=0xff"vtd_sip_iotlb_1g_miss = "event=0x08,evtype=0x04,portid=0xff"vtd_sip_slpwc_l3_miss = "event=0x09,evtype=0x04,portid=0xff"vtd_sip_slpwc_l4_miss = "event=0x0a,evtype=0x04,portid=0xff"vtd_sip_rcc_miss      = "event=0x0b,evtype=0x04,portid=0xff"

/sys/bus/event_source/devices/dfl_fmeX/format

Defined on filesysfs-bus-event_source-devices-dfl_fme

Read-only. Attribute group to describe the magic bitsthat go into perf_event_attr.config for a particular pmu.(See ABI/testing/sysfs-bus-event_source-devices-format).

Each attribute under this group defines a bit range of theperf_event_attr.config. All supported attributes are listedbelow:

event  = "config:0-11"  - event IDevtype = "config:12-15" - event typeportid = "config:16-23" - event source

For example:

fab_mmio_read = "event=0x06,evtype=0x02,portid=0xff"

It shows this fab_mmio_read is a fabric type (0x02) event with0x06 local event id for overall monitoring (portid=0xff).

/sys/bus/event_source/devices/dmar*/cpumask

Defined on filesysfs-bus-event_source-devices-iommu

Read-only. This file always returns the CPU to which theIOMMU pmu is bound for access to all IOMMU pmu performancemonitoring events.

/sys/bus/event_source/devices/dmar*/format

Defined on filesysfs-bus-event_source-devices-iommu

Read-only. Attribute group to describe the magic bitsthat go into perf_event_attr.config,perf_event_attr.config1 or perf_event_attr.config2 forthe IOMMU pmu. (See alsoABI/testing/sysfs-bus-event_source-devices-format).

Each attribute in this group defines a bit range inperf_event_attr.config, perf_event_attr.config1,or perf_event_attr.config2. All supported attributesare listed below (See the VT-d Spec 4.0 for possibleattribute values):

event               = "config:0-27"   - event IDevent_group         = "config:28-31"  - event group IDfilter_requester_en = "config1:0"     - Enable Requester ID filterfilter_domain_en    = "config1:1"     - Enable Domain ID filterfilter_pasid_en     = "config1:2"     - Enable PASID filterfilter_ats_en       = "config1:3"     - Enable Address Type filterfilter_page_table_en= "config1:4"     - Enable Page Table Level filterfilter_requester_id = "config1:16-31" - Requester ID filterfilter_domain       = "config1:32-47" - Domain ID filterfilter_pasid        = "config2:0-21"  - PASID filterfilter_ats          = "config2:24-28" - Address Type filterfilter_page_table   = "config2:32-36" - Page Table Level filter

/sys/bus/event_source/devices/dsa*/cpumask

Defined on filesysfs-bus-event_source-devices-dsa

Read-only. This file always returns the cpu to which theIDXD DSA pmu is bound for access to all dsa pmuperformance monitoring events.

/sys/bus/event_source/devices/dsa*/format

Defined on filesysfs-bus-event_source-devices-dsa

Read-only. Attribute group to describe the magic bitsthat go into perf_event_attr.config orperf_event_attr.config1 for the IDXD DSA pmu. (See alsoABI/testing/sysfs-bus-event_source-devices-format).

Each attribute in this group defines a bit range inperf_event_attr.config or perf_event_attr.config1.All supported attributes are listed below (See theIDXD DSA Spec for possible attribute values):

event_category = "config:0-3"    - event categoryevent          = "config:4-31"   - event IDfilter_wq      = "config1:0-31"  - workqueue filterfilter_tc      = "config1:32-39" - traffic class filterfilter_pgsz    = "config1:40-43" - page size filterfilter_sz      = "config1:44-51" - transfer size filterfilter_eng     = "config1:52-59" - engine filter

/sys/bus/event_source/devices/hisi_ptt<sicl_id>_<core_id>/tune

Defined on filesysfs-bus-event_source-devices-hisi_ptt

This directory contains files for tuning the PCIe linkparameters(events). Each file is named after the eventof the PCIe link.

SeeHiSilicon PCIe Tune and Trace device for more information.

/sys/bus/event_source/devices/hisi_ptt<sicl_id>_<core_id>/tune/qos_tx_cpl

Defined on filesysfs-bus-event_source-devices-hisi_ptt

(RW) Controls the weight of Tx completion TLPs, which influencethe proportion of outbound completion TLPs on the PCIe link.The available tune data is [0, 1, 2]. Writing a negative valuewill return an error, and out of range values will be convertedto 2. The value indicates a probable level of the event.

/sys/bus/event_source/devices/hisi_ptt<sicl_id>_<core_id>/tune/qos_tx_np

Defined on filesysfs-bus-event_source-devices-hisi_ptt

(RW) Controls the weight of Tx non-posted TLPs, which influencethe proportion of outbound non-posted TLPs on the PCIe link.The available tune data is [0, 1, 2]. Writing a negative valuewill return an error, and out of range values will be convertedto 2. The value indicates a probable level of the event.

/sys/bus/event_source/devices/hisi_ptt<sicl_id>_<core_id>/tune/qos_tx_p

Defined on filesysfs-bus-event_source-devices-hisi_ptt

(RW) Controls the weight of Tx posted TLPs, which influence theproportion of outbound posted TLPs on the PCIe link.The available tune data is [0, 1, 2]. Writing a negative valuewill return an error, and out of range values will be convertedto 2. The value indicates a probable level of the event.

/sys/bus/event_source/devices/hisi_ptt<sicl_id>_<core_id>/tune/rx_alloc_buf_level

Defined on filesysfs-bus-event_source-devices-hisi_ptt

(RW) Control the allocated buffer watermark for inbound packets.The packets will be stored in the buffer first and then transmittedeither when the watermark reached or when timed out.The available tune data is [0, 1, 2]. Writing a negative valuewill return an error, and out of range values will be convertedto 2. The value indicates a probable level of the event.

/sys/bus/event_source/devices/hisi_ptt<sicl_id>_<core_id>/tune/tx_alloc_buf_level

Defined on filesysfs-bus-event_source-devices-hisi_ptt

(RW) Control the allocated buffer watermark of outbound packets.The packets will be stored in the buffer first and then transmittedeither when the watermark reached or when timed out.The available tune data is [0, 1, 2]. Writing a negative valuewill return an error, and out of range values will be convertedto 2. The value indicates a probable level of the event.

/sys/bus/event_source/devices/hv_24x7/event_descs/<event-name>

Defined on filesysfs-bus-event_source-devices-hv_24x7

Provides the description of a particular event as provided bythe firmware. If firmware does not provide a description, nofile will be created.

Note that the event-name lacks the domain suffix appended forevents in the events/ dir.

/sys/bus/event_source/devices/hv_24x7/event_long_descs/<event-name>

Defined on filesysfs-bus-event_source-devices-hv_24x7

Provides the “long” description of a particular event asprovided by the firmware. If firmware does not provide adescription, no file will be created.

Note that the event-name lacks the domain suffix appended forevents in the events/ dir.

/sys/bus/event_source/devices/hv_24x7/format

Defined on filesysfs-bus-event_source-devices-hv_24x7

Read-only. Attribute group to describe the magic bitsthat go into perf_event_attr.config for a particular pmu.(See ABI/testing/sysfs-bus-event_source-devices-format).

Each attribute under this group defines a bit range of theperf_event_attr.config. All supported attributes are listedbelow:

chip = "config:16-31"core  = "config:16-31"domain = "config:0-3"lpar = "config:0-15"offset = "config:32-63"vcpu = "config:16-31"

For example:

PM_PB_CYC =  "domain=1,offset=0x80,chip=?,lpar=0x0"

In this event, ‘?’ after chip specifies thatthis value will be provided by user while running this event.

/sys/bus/event_source/devices/hv_24x7/interface/catalog

Defined on filesysfs-bus-event_source-devices-hv_24x7

Provides access to the binary “24x7 catalog” provided by thehypervisor on POWER7 and 8 systems. This catalog lists eventsavailable from the powerpc “hv_24x7” pmu. Its format isdocumented here:https://raw.githubusercontent.com/jmesmon/catalog-24x7/master/hv-24x7-catalog.h

/sys/bus/event_source/devices/hv_24x7/interface/catalog_length

Defined on filesysfs-bus-event_source-devices-hv_24x7

A number equal to the length in bytes of the catalog. This isalso extractable from the provided binary “catalog” sysfs entry.

/sys/bus/event_source/devices/hv_24x7/interface/catalog_version

Defined on filesysfs-bus-event_source-devices-hv_24x7

Exposes the “version” field of the 24x7 catalog. This is alsoextractable from the provided binary “catalog” sysfs entry.

/sys/bus/event_source/devices/hv_gpci/format

Defined on filesysfs-bus-event_source-devices-hv_gpci

Read-only. Attribute group to describe the magic bitsthat go into perf_event_attr.config for a particular pmu.(See ABI/testing/sysfs-bus-event_source-devices-format).

Each attribute under this group defines a bit range of theperf_event_attr.config. All supported attributes are listedbelow:

counter_info_version  = "config:16-23"length  = "config:24-31"partition_id  = "config:32-63"request = "config:0-31"sibling_part_id = "config:32-63"hw_chip_id = "config:32-63"offset = "config:32-63"phys_processor_idx = "config:32-63"secondary_index = "config:0-15"starting_index = "config:32-63"

For example:

processor_core_utilization_instructions_completed = "request=0x94,                      phys_processor_idx=?,counter_info_version=0x8,                      length=8,offset=0x18"

In this event, ‘?’ after phys_processor_idx specifies this valuethis value will be provided by user while running this event.

/sys/bus/event_source/devices/hv_gpci/interface/collect_privileged

Defined on filesysfs-bus-event_source-devices-hv_gpci

‘0’ if the hypervisor is configured to forbid access to eventcounters being accumulated by other guests and to physicaldomain event counters.

‘1’ if that access is allowed.

/sys/bus/event_source/devices/hv_gpci/interface/expanded

Defined on filesysfs-bus-event_source-devices-hv_gpci

0 or 1. Indicates whether we have access to “EXPANDED” events (listedin arch/powerpc/perf/hv-gpci.h).

/sys/bus/event_source/devices/hv_gpci/interface/ga

Defined on filesysfs-bus-event_source-devices-hv_gpci

0 or 1. Indicates whether we have access to “GA” events (listedin arch/powerpc/perf/hv-gpci.h).

/sys/bus/event_source/devices/hv_gpci/interface/kernel_version

Defined on filesysfs-bus-event_source-devices-hv_gpci

A number indicating the latest version of the gpci interfacethat the kernel is aware of.

/sys/bus/event_source/devices/hv_gpci/interface/lab

Defined on filesysfs-bus-event_source-devices-hv_gpci

0 or 1. Indicates whether we have access to “LAB” events (listedin arch/powerpc/perf/hv-gpci.h).

/sys/bus/event_source/devices/hv_gpci/interface/version

Defined on filesysfs-bus-event_source-devices-hv_gpci

A number indicating the version of the gpci interface that thehypervisor reports supporting.

/sys/bus/event_source/devices/nmemX/cpumask

Defined on filesysfs-bus-nvdimm

(RO) This sysfs file exposes the cpumask which is designated toto retrieve nvdimm pmu event counter data.

/sys/bus/event_source/devices/nmemX/events

Defined on filesysfs-bus-nvdimm

(RO) Attribute group to describe performance monitoring eventsfor the nvdimm memory device. Each attribute in this groupdescribes a single performance monitoring event supported bythis nvdimm pmu. The name of the file is the name of the event.(See ABI/testing/sysfs-bus-event_source-devices-events). Alisting of the events supported by a given nvdimm provider typecan be found in Documentation/driver-api/nvdimm/$provider.

/sys/bus/event_source/devices/nmemX/format

Defined on filesysfs-bus-nvdimm

(RO) Attribute group to describe the magic bitsthat go into perf_event_attr.config for a particular pmu.(See ABI/testing/sysfs-bus-event_source-devices-format).

Each attribute under this group defines a bit range of theperf_event_attr.config. Supported attribute is listedbelow:

event  = "config:0-4"  - event ID

For example:

ctl_res_cnt = "event=0x1"

/sys/bus/event_source/devices/uncore_*/alias

Defined on filesysfs-bus-event_source-devices-uncore

Read-only. An attribute to describe the alias name ofthe uncore PMU if an alias exists on some platforms.The ‘perf(1)’ tool should treat both names the same.They both can be used to access the uncore PMU.

Example:

$ cat /sys/devices/uncore_cha_2/aliasuncore_type_0_2

/sys/bus/event_source/devices/vpa_dtl/events

Defined on filesysfs-bus-event_source-devices-vpa-dtl

(RO) Attribute group to describe performance monitoring eventsfor the Virtual Processor Dispatch Trace Log. Each attribute inthis group describes a single performance monitoring eventsupported by vpa_dtl pmu. The name of the file is the name ofthe event (See ABI/testing/sysfs-bus-event_source-devices-events).

/sys/bus/event_source/devices/vpa_dtl/format

Defined on filesysfs-bus-event_source-devices-vpa-dtl

Read-only. Attribute group to describe the magic bitsthat go into perf_event_attr.config for a particular pmu.(See ABI/testing/sysfs-bus-event_source-devices-format).

Each attribute under this group defines a bit range of theperf_event_attr.config. Supported attribute are listedbelow:

event  = "config:0-7"  - event ID

For example:

dtl_cede = "event=0x1"

/sys/bus/event_source/devices/vpa_pmu/events

Defined on filesysfs-bus-event_source-devices-vpa-pmu

Read-only. Attribute group to describe performance monitoringevents for the Virtual Processor Area events. Each attributein this group describes a single performance monitoring eventsupported by vpa_pmu. The name of the file is the name ofthe event (See ABI/testing/sysfs-bus-event_source-devices-events).

/sys/bus/event_source/devices/vpa_pmu/format

Defined on filesysfs-bus-event_source-devices-vpa-pmu

Read-only. Attribute group to describe the magic bitsthat go into perf_event_attr.config for a particular pmu.(See ABI/testing/sysfs-bus-event_source-devices-format).

Each attribute under this group defines a bit range of theperf_event_attr.config. Supported attribute are listedbelow:

event = "config:0-31" - event ID

For example:

l1_to_l2_lat = "event=0x1"

/sys/bus/fcoe/

Defined on filesysfs-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 afcoe_ctlr_device (ctlr_X). The user can then configure anyper-port settings and finally write to the fcoe_ctlr_device’s‘start’ attribute to begin the kernel’s discovery and loginprocess.

ctlr_destroy:

‘FCoE Controller’ instance removal interface. Writing afcoe_ctlr_device’s sysfs name to this file will log thefcoe_ctlr_device out of the fabric or otherwise connectedFCoE devices. It will also free all kernel memory allocatedfor this fcoe_ctlr_device and any structures associatedwith it, this includes the scsi_host.

/sys/bus/fcoe/devices/ctlr_X

Defined on filesysfs-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 FCoEController (ctlr_X) 3) Enable the FCoE Controller to begindiscovery and login. The FCoE Controller is destroyed bywriting its name, i.e. ctlr_X to the ctlr_delete file.

Attributes:

fcf_dev_loss_tmo:

Device loss timeout period (see below). Changingthis value will change the dev_loss_tmo for allFCFs discovered by this controller.

mode:

Display or change the FCoE Controller’s mode. Possiblemodes are ‘Fabric’ and ‘VN2VN’. If a FCoE Controlleris started in ‘Fabric’ mode then FIP FCF discovery isinitiated and ultimately a fabric login is attempted.If a FCoE Controller is started in ‘VN2VN’ mode thenFIP VN2VN discovery and login is performed. A FCoEController 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 1to 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 linkfailure count.

lesb/miss_fka:

Link Error Status Block (LESB) missed FCoEInitialization 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 ChannelServices error count.

Notes: ctlr_X (global increment starting at 0)

/sys/bus/fcoe/devices/fcf_X

Defined on filesysfs-bus-fcoe

‘FCoE FCF’ instances on the fcoe bus. A FCF is a Fibre ChannelForwarder, which is a FCoE switch that can accept FCoE(Ethernet) packets, unpack them, and forward the embeddedFibre Channel frames into a FC fabric. It can also takeoutbound FC frames and pack them in Ethernet packets tobe 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 samefabric.

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 alink flapping adapter doesn’t continually advance the countused to identify the discovered FCF. FCFs will exist in a“Disconnected” state until either the timer expires and theFCF becomes “Deleted” or the FCF is rediscovered and becomes“Connected.”

Users:

The first user of this interface will be the fcoeadm application,which is commonly packaged in the fcoe-utils package.

/sys/bus/fsi/devices/XX.XX.00:06/sbefifoX/timeout

Defined on filesysfs-bus-fsi-devices-sbefifo

Indicates whether or not this SBE device has experienced atimeout; i.e. the SBE did not respond within the time allottedby the driver. A value of 1 indicates that a timeout hasoccurred and no transfers have completed since the timeout. Avalue of 0 indicates that no timeout has occurred, or if onehas, more recent transfers have completed successfully.

/sys/bus/fsl-mc/drivers/.../bind

Defined on filesysfs-bus-fsl-mc

Writing a device location to this file will causethe driver to attempt to bind to the device found atthis location. The format for the location is Object.Idand 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

/sys/bus/fsl-mc/drivers/.../unbind

Defined on filesysfs-bus-fsl-mc

Writing a device location to this file will cause thedriver to attempt to unbind from the device found atthis location. The format for the location is Object.Idand 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

/sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/speed

Defined on filesysfs-driver-wacom

The /sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/speed filecontrols reporting speed of Wacom bluetooth tablet. Readingfrom this file returns 1 if tablet reports in high speed modeor 0 otherwise. Writing to this file one of these valuesswitches reporting speed.

/sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/button<n>_rawimg

Defined on filesysfs-driver-wacom

When writing a 1024 byte raw image in Wacom Intuos 4interleaving format to the file, the image shows up on Button Nof the device. The image is a 64x32 pixel 4-bit gray image. The1024 byte binary is split up into 16x 64 byte chunks. Each 64byte chunk encodes the image data for two consecutive lines onthe display. The low nibble of each byte contains the firstline, and the high nibble contains the second line.When the Wacom Intuos 4 is connected over Bluetooth, theimage has to contain 256 bytes (64x32 px 1 bit colour).The format is also scrambled, like in the USB mode, and it canbe summarized by converting:

76543210 into GECA6420.HGFEDCBA      HFDB7531

/sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/buttons_luminance

Defined on filesysfs-driver-wacom

Writing to this file sets the overall luminance level (0..15)of all eight button OLED displays.

/sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/led

Defined on filesysfs-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 thepresence of said LEDs and OLEDs on the tablet device.

/sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/status0_luminance

Defined on filesysfs-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 nobutton is pressed on the stylus. This luminance level isnormally lower than the level when a button is pressed.

/sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/status1_luminance

Defined on filesysfs-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 ispressed on the stylus.

/sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/status_led0_select

Defined on filesysfs-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 4and Intuos 5) or of the right four (for Cintiq 21UX2 and Cintiq24HD) status LEDs is active (0..3). The other three LEDs on thesame side are always inactive.

/sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/status_led1_select

Defined on filesysfs-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 21UX2and Cintiq 24HD) status LEDs is active (0..3). The other three LEDs onthe left are always inactive.

/sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_remote/<serial_number>/remote_mode

Defined on filesysfs-driver-wacom

<obsoleted by the LED class API now exported by the driver>Reading from this file reports the mode status of theremote as indicated by the LED lights on the device. If noreports have been received from the paired device, readingfrom this file will report ‘-1’. The mode is read-onlyand cannot be set through the driver.

/sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_remote/unpair_remote

Defined on filesysfs-driver-wacom

Writing the character sequence ‘*’ followed by a newline tothis file will delete all of the current pairings on thedevice. Other character sequences are reserved. This file iswrite only.

/sys/bus/hid/drivers/hid-appletb-kbd/<dev>/mode

Defined on filesysfs-driver-hid-appletb-kbd

The set of keys displayed on the Touch Bar.Valid values are:== =================0 Escape key only1 Function keys2 Media/brightness keys3 None== =================

/sys/bus/hid/drivers/hid-corsair-void/<dev>/fw_version_headset

Defined on filesysfs-driver-hid-corsair-void

  1. The firmware version of the headset
    • Returns -ENODATA if no version was reported

/sys/bus/hid/drivers/hid-corsair-void/<dev>/fw_version_receiver

Defined on filesysfs-driver-hid-corsair-void

  1. The firmware version of the receiver

/sys/bus/hid/drivers/hid-corsair-void/<dev>/microphone_up

Defined on filesysfs-driver-hid-corsair-void

  1. Get the physical position of the microphone
    • 1 -> Microphone up

    • 0 -> Microphone down

/sys/bus/hid/drivers/hid-corsair-void/<dev>/send_alert

Defined on filesysfs-driver-hid-corsair-void

  1. Play a built-in notification from the headset (0 / 1)

/sys/bus/hid/drivers/hid-corsair-void/<dev>/set_sidetone

Defined on filesysfs-driver-hid-corsair-void

  1. Set the sidetone volume (0 - sidetone_max)

/sys/bus/hid/drivers/hid-corsair-void/<dev>/sidetone_max

Defined on filesysfs-driver-hid-corsair-void

  1. Report the maximum sidetone volume

/sys/bus/hid/drivers/logitech-hidpp-device/<dev>/builtin_power_supply

Defined on filesysfs-driver-hid-logitech-hidpp

Presence of this file indicates that HID++ driver is capable ofhandling battery properties in the kernel. This way, upower canadd a udev rule to decide whether or not it should use theinternal unifying support or the generic kernel one.

/sys/bus/hid/drivers/logitech-hidpp-device/<dev>/range

Defined on filesysfs-driver-hid-logitech-hidpp

(RW) This attribute controls the amount of ‘turn’ permitted inLogitech G920 wheel. Reading from the file shows the currentrange of the steering wheel. Writing a value within the min andmax boundary sets the range of the wheel.

/sys/bus/hid/drivers/logitech/<dev>/alternate_modes

Defined on filesysfs-driver-hid-logitech-lg4ff

Displays a set of alternate modes supported by a wheel. Eachmode is listed as follows:

Tag: Mode Name

Currently active mode is marked with an asterisk. List alsocontains an abstract item “native” which always denotes thenative mode of the wheel. Echoing the mode tag switches thewheel into the corresponding mode. Depending on the exact modelof the wheel not all listed modes might always be selectable.If a wheel cannot be switched into the desired mode, -EINVALis returned accompanied with an explanatory message in thekernel 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 <-> G27DF-EX <*--------> G25 <-> G27DF-EX <*----------------> G27

G29:

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

DFGT:

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

/sys/bus/hid/drivers/logitech/<dev>/combine_pedals

Defined on filesysfs-driver-hid-logitech-lg4ff

Controls whether a combined value of accelerator and brake isreported on the Y axis of the controller. Useful for older gameswhich can do not work with separate accelerator/brake axis.Off (‘0’) by default, enabled by setting ‘1’.

/sys/bus/hid/drivers/logitech/<dev>/range

Defined on filesysfs-driver-hid-logitech-lg4ff

Display minimum, maximum and current range of the steeringwheel. Writing a value within min and max boundaries sets therange of the wheel.

/sys/bus/hid/drivers/logitech/<dev>/real_id

Defined on filesysfs-driver-hid-logitech-lg4ff

Displays the real model of the wheel regardless of anyalternate 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.

/sys/bus/hid/drivers/ntrig/<dev>/activate_slack

Defined on filesysfs-driver-hid-ntrig

(RW) Number of contact frames ignored before acknowledging thestart of activity (activating touch).

/sys/bus/hid/drivers/ntrig/<dev>/activation_width

/sys/bus/hid/drivers/ntrig/<dev>/activation_height

Defined on filesysfs-driver-hid-ntrig

Threholds to override activation slack.

activation_width

(RW) Width threshold to immediatelystart processing touch events.

activation_height

(RW) Height threshold to immediatelystart processing touch events.

/sys/bus/hid/drivers/ntrig/<dev>/decativate_slack

Defined on filesysfs-driver-hid-ntrig

(RW) Number of empty (no contact) frames ignored beforeacknowledging the end of activity (deactivating touch).

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

/sys/bus/hid/drivers/ntrig/<dev>/min_width

/sys/bus/hid/drivers/ntrig/<dev>/min_height

Defined on filesysfs-driver-hid-ntrig

Minimum size contact accepted.

min_width

(RW) Minimum touch contact width to decideactivation and activity.

min_height

(RW) Minimum touch contact height to decideactivation and activity.

/sys/bus/hid/drivers/ntrig/<dev>/sensor_logical_width

/sys/bus/hid/drivers/ntrig/<dev>/sensor_logical_height

Defined on filesysfs-driver-hid-ntrig

(RO) The range for positions reported during activity.

/sys/bus/hid/drivers/ntrig/<dev>/sensor_physical_width

/sys/bus/hid/drivers/ntrig/<dev>/sensor_physical_height

Defined on filesysfs-driver-hid-ntrig

(RO) These are internal ranges not used for normal events butuseful for tuning.

/sys/bus/hid/drivers/prodikeys/.../channel

Defined on filesysfs-driver-hid-prodikeys

Allows control (via software) the midi channel to whichthat the pc-midi keyboard will output.midi data.Range: 0..15Type: Read/write

/sys/bus/hid/drivers/prodikeys/.../octave

Defined on filesysfs-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

/sys/bus/hid/drivers/prodikeys/.../sustain

Defined on filesysfs-driver-hid-prodikeys

Allows control (via software) the sustain duration of anote held by the pc-midi driver.0 means sustain mode is disabled.Range: 0..5000 (milliseconds)Type: Read/write

/sys/bus/hid/drivers/wiimote/<dev>/bboard_calib

Defined on filesysfs-driver-hid-wiimote

This attribute is only provided if the device was detected as abalance board. It provides a single line with 3 calibrationvalues for all 4 sensors. The values are separated by colons andare each 2 bytes long (encoded as 4 digit hexadecimal value).First, 0kg values for all 4 sensors are written, followed by the17kg values for all 4 sensors and last the 34kg values for all 4sensors.

Calibration data is already applied by the kernel to all inputvalues but may be used by user-space to perform othertransformations.

/sys/bus/hid/drivers/wiimote/<dev>/devtype

Defined on filesysfs-driver-hid-wiimote

While a device is initialized by the wiimote driver, we performa device detection and signal a “change” uevent after it isdone. This file shows the detected device type. “pending” meansthat the detection is still ongoing, “unknown” means, that thedevice couldn’t be detected or loaded. “generic” means, that thedevice couldn’t be detected but supports basic Wii Remotefeatures and can be used.Other strings for each device-type are available and may beadded 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

/sys/bus/hid/drivers/wiimote/<dev>/extension

Defined on filesysfs-driver-hid-wiimote

This file contains the currently connected and initializedextensions. It can be one of: none, motionp, nunchuck, classic,motionp+nunchuck, motionp+classicmotionp is the official Nintendo Motion+ extension, nunchuck isthe official Nintendo Nunchuck extension and classic is theNintendo Classic Controller extension. The motionp extension canbe combined with the other two.

Starting with kernel-version 3.11 Motion Plus hotplugging issupported and if detected, it’s no longer reported as staticextension. You will get uevent notifications for the motion-plusdevice then.

/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 filesysfs-driver-hid-wiimote

Make it possible to set/get current led state. Reading from itreturns 0 if led is off and 1 if it is on. Writing 0 to itdisables the led, writing 1 enables it.

/sys/bus/hid/drivers/wiimote/<dev>/pro_calib

Defined on filesysfs-driver-hid-wiimote

This attribute is only provided if the device was detected as apro-controller. It provides a single line with 4 calibrationvalues for all 4 analog sticks. Format is: “x1:y1 x2:y2”. Datais prefixed with a +/-. Each value is a signed 16bit number.Data is encoded as decimal numbers and specifies the offsets ofthe analog sticks of the pro-controller.

Calibration data is already applied by the kernel to all inputvalues but may be used by user-space to perform othertransformations.

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” toset the calibration values manually.

/sys/bus/hsi

Defined on filesysfs-bus-hsi

High Speed Synchronous Serial Interface (HSI) is aserial interface mainly used for connecting applicationengines (APE) with cellular modem engines (CMT) in cellularhandsets.The bus will be populated with devices (hsi_clients) representingthe protocols available in the system. Bus drivers implementthose protocols.

/sys/bus/hsi/devices/.../modalias

Defined on filesysfs-bus-hsi

Stores the same MODALIAS value emitted by ueventFormat: hsi:<hsi_client device name>

/sys/bus/i2c/.../idle_state

Defined on filesysfs-bus-i2c-devices-pca954x

Value that exists only for mux devices that can bewritten to control the behaviour of the multiplexer onidle. Possible values:

-2

disconnect on idle, i.e. deselect the last usedchannel, which is useful when there is a devicewith an address that conflicts with anotherdevice on another mux on the same parent bus.

-1

leave the mux as-is, which is the most optimalsetting in terms of I2C operations and is thedefault mode.

0..<nchans>

set the mux to a predetermined channel,which is useful if there is one channel that isused almost always, and you want to reduce thelatency for normal operations after raretransactions on other channels

/sys/bus/i2c/devices/.../bd9571mwv-regulator.*.auto/backup_mode

Defined on filesysfs-driver-bd9571mwv-regulator

Read/write the current state of DDR Backup Mode, which controlsif 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), DDRBackup Mode is enabled by default when available, as thePMIC will be configured only during system suspend.

  2. With a toggle power switch (or level signal), thefollowing steps must be followed exactly:

    1. Configure PMIC for backup mode, to change the role ofthe accessory power switch from a power switch to awake-up switch,

    2. Switch accessory power switch off, to prepare forsystem suspend, which is a manual step not controlledby software,

    3. Suspend system,

    4. Switch accessory power switch on, to resume thesystem.

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

See also Documentation/devicetree/bindings/mfd/rohm,bd9571mwv.yaml.

Users:

User space applications for embedded boards equipped with aBD9571MWV PMIC.

/sys/bus/i2c/devices/.../calibration

Defined on filesysfs-bus-i2c-devices-hm6352

Sets the calibration on or off (1 = on, 0 = off). See thechip data sheet.

/sys/bus/i2c/devices/.../device

Defined on filesysfs-bus-i2c-devices-fsa9480

show what device is attached

NONE

no device

USB

USB device is attached

UART

UART is attached

CHARGER

Charger is attached

JIG

JIG is attached

/sys/bus/i2c/devices/.../heading0_input

Defined on filesysfs-bus-i2c-devices-hm6352

Reports the current heading from the compass as a floatingpoint value in degrees.

/sys/bus/i2c/devices/.../output_hvled[n]

Defined on filesysfs-bus-i2c-devices-lm3533

Set the controlling backlight device for high-voltage currentsink HVLED[n] (n = 1, 2) (0, 1).

/sys/bus/i2c/devices/.../output_lvled[n]

Defined on filesysfs-bus-i2c-devices-lm3533

Set the controlling led device for low-voltage current sinkLVLED[n] (n = 1..5) (0..3).

/sys/bus/i2c/devices/.../power_state

Defined on filesysfs-bus-i2c-devices-hm6352

Sets the power state of the device. 0 sets the device intosleep mode, 1 wakes it up.

/sys/bus/i2c/devices/.../switch

Defined on filesysfs-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

/sys/bus/i2c/devices/.../trickle_charge_bypass

Defined on filesysfs-bus-i2c-devices-bq32k

Attribute for enable/disable the trickle charge bypassThe trickle_charge_bypass attribute allows the userspace toenable/disable the Trickle charge FET bypass.

/sys/bus/i2c/devices/<busnum>-<primary-addr>/new_pass

Defined on filesysfs-bus-i2c-devices-m24lr

Write-only attribute used to update the password required tounlock the M24LR chip.

Format:
  • Hexadecimal string representing a new 32-bit password

  • Accepts 1 to 8 hex digits (e.g., “1A”, “ffff”, “c0ffee00”)

  • No “0x” prefix, whitespace, or trailing newline

  • Case-insensitive

Behavior:
  • Overwrites the current password stored in the I2C passwordregister

  • Requires the device to be unlocked before changing thepassword

  • If the device is locked, the write silently fails

/sys/bus/i2c/devices/<busnum>-<primary-addr>/sss

Defined on filesysfs-bus-i2c-devices-m24lr

Read/write binary attribute representing the Sector SecurityStatus (SSS) bytes for all EEPROM sectors in STMicroelectronicsM24LR chips.

Each EEPROM sector has one SSS byte, which controls I2C andRF access through protection bits and optional passwordauthentication.

Format:
  • The file contains one byte per EEPROM sector

  • Byte at offset N corresponds to sector N

  • Binary access only; use tools like dd, Python, or C thatsupport byte-level I/O and offset control.

Notes:
  • The number of valid bytes in this file is equal to thevalue exposed by ‘total_sectors’ file

  • Write access requires prior password authentication inI2C mode

  • Refer to the M24LR datasheet for full SSS bit layout

/sys/bus/i2c/devices/<busnum>-<primary-addr>/total_sectors

Defined on filesysfs-bus-i2c-devices-m24lr

Read-only attribute that exposes the total number of EEPROMsectors available in the M24LR chip.

Format:
  • 1 to 2 hex digits (e.g. “F”)

  • No “0x” prefix

  • Includes a trailing newline

Notes:
  • Value is encoded by the chip and corresponds to the EEPROMsize (e.g., 3 = 4 kbit for M24LR04E-R)

/sys/bus/i2c/devices/<busnum>-<primary-addr>/uid

Defined on filesysfs-bus-i2c-devices-m24lr

Read-only attribute that exposes the 8-byte unique identifierprogrammed into the M24LR chip at the factory.

Format:
  • Lowercase hexadecimal string representing a 64-bit value

  • 1 to 16 hex digits (e.g., “e00204f12345678”)

  • No “0x” prefix

  • Includes a trailing newline

/sys/bus/i2c/devices/<busnum>-<primary-addr>/unlock

Defined on filesysfs-bus-i2c-devices-m24lr

Write-only attribute used to present a password and unlockaccess to protected areas of the M24LR chip, includingconfiguration registers such as the Sector Security Status(SSS) bytes. A valid password must be written to enable writeaccess to these regions via the I2C interface.

Format:
  • Hexadecimal string representing a 32-bit (4-byte) password

  • Accepts 1 to 8 hex digits (e.g., “c”, “1F”, “a1b2c3d4”)

  • No “0x” prefix, whitespace, or trailing newline

  • Case-insensitive

Behavior:
  • If the password matches the internal stored value,access to protected memory/configuration is granted

  • If the password does not match the internally stored value,it will fail silently

/sys/bus/i2c/devices/<mcu_device>/board_revision

Defined on filesysfs-bus-i2c-devices-turris-omnia-mcu

(RO) Contains board revision number.

Only available if board information is burned in the MCU (olderrevisions have board information burned in the ATSHA204-A chip).

Format: %u.

/sys/bus/i2c/devices/<mcu_device>/first_mac_address

Defined on filesysfs-bus-i2c-devices-turris-omnia-mcu

(RO) Contains device first MAC address. Each Turris Omnia isallocated 3 MAC addresses. The two additional addresses arecomputed from the first one by incrementing it.

Only available if board information is burned in the MCU (olderrevisions have board information burned in the ATSHA204-A chip).

Format: %pM.

/sys/bus/i2c/devices/<mcu_device>/front_button_mode

Defined on filesysfs-bus-i2c-devices-turris-omnia-mcu

(RW) The front button on the Turris Omnia router can beconfigured either to change the intensity of all the LEDs on thefront panel, or to send the press event to the CPU as aninterrupt.

This file switches between these two modes:
  • mcu makes the button press event be handled by the MCU tochange the LEDs panel intensity.

  • cpu makes the button press event be handled by the CPU.

Format: %s.

/sys/bus/i2c/devices/<mcu_device>/front_button_poweron

Defined on filesysfs-bus-i2c-devices-turris-omnia-mcu

(RW) Newer versions of the microcontroller firmware of theTurris Omnia router support powering off the router into truelow power mode. The router can be powered on by pressing thefront button.

This file configures whether front button power on is enabled.

This file is present only if the power off feature is supportedby the firmware.

Format: %i.

/sys/bus/i2c/devices/<mcu_device>/fw_features

Defined on filesysfs-bus-i2c-devices-turris-omnia-mcu

(RO) Newer versions of the microcontroller firmware report thefeatures they support. These can be read from this file. If theMCU firmware is too old, this file reads 0x0.

Format: 0x%x.

/sys/bus/i2c/devices/<mcu_device>/fw_version_hash_application

Defined on filesysfs-bus-i2c-devices-turris-omnia-mcu

(RO) Contains the version hash (commit hash) of the applicationpart of the microcontroller firmware.

Format: %s.

/sys/bus/i2c/devices/<mcu_device>/fw_version_hash_bootloader

Defined on filesysfs-bus-i2c-devices-turris-omnia-mcu

(RO) Contains the version hash (commit hash) of the bootloaderpart of the microcontroller firmware.

Format: %s.

/sys/bus/i2c/devices/<mcu_device>/mcu_type

Defined on filesysfs-bus-i2c-devices-turris-omnia-mcu

(RO) Contains the microcontroller type (STM32, GD32, MKL).

Format: %s.

/sys/bus/i2c/devices/<mcu_device>/reset_selector

Defined on filesysfs-bus-i2c-devices-turris-omnia-mcu

(RO) Contains the selected factory reset level, determined byhow long the rear reset button was held by the user during boardreset.

Format: %i.

/sys/bus/i2c/devices/<mcu_device>/serial_number

Defined on filesysfs-bus-i2c-devices-turris-omnia-mcu

(RO) Contains the 64-bit board serial number in hexadecimalformat.

Only available if board information is burned in the MCU (olderrevisions have board information burned in the ATSHA204-A chip).

Format: %016X.

/sys/bus/i2c/devices/xxx/fw_version

Defined on filesysfs-driver-input-exc3000

Reports the firmware version provided by the touchscreen, for example “00_T6” on a EXC80H60

Access: Read

Valid values: Represented as string

/sys/bus/i2c/devices/xxx/model

Defined on filesysfs-driver-input-exc3000

Reports the model identification provided by the touchscreen, for example “Orion_1320” on a EXC80H60

Access: Read

Valid values: Represented as string

/sys/bus/i2c/devices/xxx/type

Defined on filesysfs-driver-input-exc3000

Reports the type identification provided by the touchscreen, for example “PCAP82H80 Series”

Access: Read

Valid values: Represented as string

/sys/bus/i2c/drivers/ucsi_ccg/.../do_flash

Defined on filesysfs-driver-ucsi-ccg

Tell the driver for Cypress CCGx Type-C controller to attemptfirmware upgrade by writing [Yy1] to the file.

/sys/bus/i3c/devices/<bus-id>-<device-pid>

Defined on filesysfs-bus-i3c

These directories are just symbolic links to/sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>.

/sys/bus/i3c/devices/i3c-<bus-id>

Defined on filesysfs-bus-i3c

An I3C bus. This directory will contain one sub-directory perI3C device present on the bus.

/sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>

Defined on filesysfs-bus-i3c

An I3C device present on I3C bus identified by <bus-id>. Notethat all devices are represented including the master drivingthe bus.

/sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>/bcr

Defined on filesysfs-bus-i3c

BCR stands for Bus Characteristics Register and express thedevice capabilities in term of speed, maximum read/writelength, etc. See the I3C specification for more details.

/sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>/dcr

Defined on filesysfs-bus-i3c

DCR stands for Device Characteristics Register and express thedevice capabilities in term of exposed features. See the I3Cspecification for more details.

/sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>/dynamic_address

Defined on filesysfs-bus-i3c

Dynamic address assigned to device <bus-id>-<device-pid>. Thisaddress may change if the bus is re-initialized.

/sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>/hdrcap

Defined on filesysfs-bus-i3c

Expose the HDR (High Data Rate) capabilities of a device.Returns a list of supported HDR mode, each element is separatedby space. Modes can be “hdr-ddr”, “hdr-tsp” and “hdr-tsl”.

See the I3C specification for more details about these HDRmodes.

/sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>/pid

Defined on filesysfs-bus-i3c

PID stands for Provisioned ID and is used to uniquely identifya device on a bus. This PID contains information about thevendor, the part and an instance ID so that several devices ofthe same type can be connected on the same bus.See the I3C specification for more details.

/sys/bus/i3c/devices/i3c-<bus-id>/bcr

Defined on filesysfs-bus-i3c

BCR stands for Bus Characteristics Register and express thedevice capabilities in term of speed, maximum read/writelength, etc. See the I3C specification for more details.This entry describes the BCR of the master controller drivingthe bus.

/sys/bus/i3c/devices/i3c-<bus-id>/current_master

Defined on filesysfs-bus-i3c

Expose the master that owns the bus (<bus-id>-<master-pid>) atthe time this file is read. Note that bus ownership can changeovertime, so there’s no guarantee that when the read() callreturns, the value returned is still valid.

/sys/bus/i3c/devices/i3c-<bus-id>/dcr

Defined on filesysfs-bus-i3c

DCR stands for Device Characteristics Register and express thedevice capabilities in term of exposed features. See the I3Cspecification for more details.This entry describes the DCR of the master controller drivingthe bus.

/sys/bus/i3c/devices/i3c-<bus-id>/dynamic_address

Defined on filesysfs-bus-i3c

Dynamic address assigned to the master controller. Thisaddress may change if the bus is re-initialized.

/sys/bus/i3c/devices/i3c-<bus-id>/hdrcap

Defined on filesysfs-bus-i3c

Expose the HDR (High Data Rate) capabilities of a device.Returns a list of supported HDR mode, each element is separatedby space. Modes can be “hdr-ddr”, “hdr-tsp” and “hdr-tsl”.See the I3C specification for more details about these HDRmodes.

This entry describes the HDRCAP of the master controllerdriving the bus.

/sys/bus/i3c/devices/i3c-<bus-id>/hotjoin

Defined on filesysfs-bus-i3c

I3C’s Hot-Join mechanism allows an I3C Device to inform theActive Controller that a newly-joined Target is present on theI3C Bus and is ready to receive a Dynamic Address, in order tobecome fully functional on the Bus. Hot-Join is used when theTarget is mounted on the same I3C bus and remains depowereduntil needed or until the Target is physically inserted into theI3C bus

This entry allows to enable or disable Hot-join of the CurrentController driving the bus.

/sys/bus/i3c/devices/i3c-<bus-id>/i2c_scl_frequency

Defined on filesysfs-bus-i3c

The frequency (expressed in Hz) of the SCL signal whenoperating in I2C mode.

/sys/bus/i3c/devices/i3c-<bus-id>/i3c_scl_frequency

Defined on filesysfs-bus-i3c

The frequency (expressed in Hz) of the SCL signal whenoperating in I3C SDR mode.

/sys/bus/i3c/devices/i3c-<bus-id>/mode

Defined on filesysfs-bus-i3c

I3C bus mode. Can be “pure”, “mixed-fast” or “mixed-slow”. Seethe I3C specification for a detailed description of what eachof these modes implies.

/sys/bus/i3c/devices/i3c-<bus-id>/pid

Defined on filesysfs-bus-i3c

PID stands for Provisioned ID and is used to uniquely identifya device on a bus. This PID contains information about thevendor, the part and an instance ID so that several devices ofthe 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 drivingthe bus.

/sys/bus/iio/devices/device[n]/in_illuminance0_calibrate

Defined on filesysfs-bus-iio-light-tsl2772

Causes an internal calibration of the als gain trimvalue which is later used in calculating illuminance in lux.

/sys/bus/iio/devices/device[n]/in_illuminance_calibrate

Defined on filesysfs-bus-iio-light-tsl2583

This property causes an internal calibration of the als gain trimvalue which is later used in calculating illuminance in lux.

/sys/bus/iio/devices/device[n]/in_illuminance_input_target

Defined on filesysfs-bus-iio-light-tsl2583

This property is the known externally illuminance (in lux).It is used in the process of calibrating the device accuracy.

/sys/bus/iio/devices/device[n]/in_illuminance_lux_table

Defined on filesysfs-bus-iio-light-tsl2583

This property gets/sets the table of coefficientsused in calculating illuminance in lux.

/sys/bus/iio/devices/device[n]/in_proximity0_calibrate

Defined on filesysfs-bus-iio-light-tsl2772

Causes a recalculation and adjustment to theproximity_thresh_rising_value.

/sys/bus/iio/devices/iio:device*/buffer/hwfifo_timeout

Defined on filesysfs-bus-iio

A read/write property to provide capability to delay reporting ofsamples till a timeout is reached. This allows host processors tosleep, while the sensor is storing samples in its internal fifo.The maximum timeout in seconds can be specified by settinghwfifo_timeout.The current delay can be read by readinghwfifo_timeout. A value of 0 means that there is no timeout.

/sys/bus/iio/devices/iio:deviceX

Defined on filesysfs-bus-iio

Hardware chip or device accessed by one communication port.Corresponds to a grouping of sensor channels. X is the IIOindex of the device.

/sys/bus/iio/devices/iio:deviceX/ac_excitation_en

Defined on filesysfs-bus-iio-adc-ad7192

This attribute, if available, is used to enable the ACexcitation mode found on some converters. In ac excitation mode,the polarity of the excitation voltage is reversed onalternate cycles, to eliminate DC errors.

/sys/bus/iio/devices/iio:deviceX/auto_zeroing_mux_enable

Defined on filesysfs-bus-iio-adc-mcp3564

This attribute is used to enable the analog input multiplexerauto-zeroing algorithm (the input multiplexer and the ADCinclude an offset cancellation algorithm that cancels the offsetcontribution of the ADC). When the offset cancellation algorithmis enabled, ADC takes two conversions, one with the differentialinput as VIN+/VIN-, one with VIN+/VIN- inverted. In this case theconversion time is multiplied by two compared to the defaultcase where the algorithm is disabled. This technique allows thecancellation of the ADC offset error and the achievement ofultra-low offset without any digital calibration. The resultingoffset is the residue of the difference between the twoconversions, which is on the order of magnitude of the noisefloor. This offset is effectively canceled at every conversion,so the residual offset error temperature drift is extremely low.Write ‘1’ to enable it, write ‘0’ to disable it.

/sys/bus/iio/devices/iio:deviceX/auto_zeroing_ref_enable

Defined on filesysfs-bus-iio-adc-mcp3564

This attribute is used to enable the chopping algorithm for theinternal voltage reference buffer. This setting has no effectwhen external voltage reference is selected.Internal voltage reference buffer injects a certain quantity of1/f noise into the system that can be modulated with theincoming input signals and can limit the SNR performance athigher Oversampling Ratio values (over 256). To overcome thislimitation, the buffer includes an auto-zeroing algorithm thatgreatly reduces (cancels out) the 1/f noise and cancels theoffset value of the reference buffer. As a result, the SNR ofthe system is not affected by this 1/f noise component of thereference buffer, even at maximum oversampling ratio values.Write ‘1’ to enable it, write ‘0’ to disable it.

/sys/bus/iio/devices/iio:deviceX/battery_low

Defined on filesysfs-bus-iio-meas-spec

Reading returns either ‘1’ or ‘0’. ‘1’ means that thebattery level supplied to sensor is below 2.25V.This ABI is available for tsys02d, htu21, ms8607

/sys/bus/iio/devices/iio:deviceX/boost_current_gain

Defined on filesysfs-bus-iio-adc-mcp3564

This attribute is used to set the gain of the biasing currentcircuit of the Delta-Sigma modulator. The different BOOSTsettings are applied to the entire modulator circuit, includingthe voltage reference buffers.

/sys/bus/iio/devices/iio:deviceX/boost_current_gain_available

Defined on filesysfs-bus-iio-adc-mcp3564

Reading returns a list with the possible gain values forthe current biasing circuit of the Delta-Sigma modulator.

/sys/bus/iio/devices/iio:deviceX/bridge_switch_en

Defined on filesysfs-bus-iio-adc-ad7192

This attribute, if available, is used to close or open thebridge power down switch found on some converters.In bridge applications, such as strain gauges and load cells,the bridge itself consumes the majority of the current in thesystem. To minimize the current consumption of the system,the bridge can be disconnected (when it is not being usedusing the bridge_switch_en attribute.

/sys/bus/iio/devices/iio:deviceX/buffer

Defined on filesysfs-bus-iio

Directory of attributes relating to the buffer for the device.

/sys/bus/iio/devices/iio:deviceX/buffer/hwfifo_enabled

Defined on filesysfs-bus-iio

A read-only boolean value that indicates if the hardware fifo iscurrently enabled or disabled. If the device does not have ahardware fifo this entry is not present.The hardware fifo is enabled when the buffer is enabled if thecurrent hardware fifo watermark level is set and other currentdevice settings allows it (e.g. if a trigger is set that samplesdata differently that the hardware fifo does then hardware fifowill not enabled).

If the hardware fifo is enabled and the level of the hardwarefifo reaches the hardware fifo watermark level the device willflush its hardware fifo to the device buffer. Doing a nonblocking read on the device when no samples are present in thedevice buffer will also force a flush.

When the hardware fifo is enabled there is no need to use atrigger to use buffer mode since the watermark settingsguarantees that the hardware fifo is flushed to the devicebuffer.

/sys/bus/iio/devices/iio:deviceX/buffer/hwfifo_watermark

Defined on filesysfs-bus-iio

Read-only entry that contains a single integer specifying thecurrent watermark level for the hardware fifo. If the devicedoes not have a hardware fifo this entry is not present.The watermark level for the hardware fifo is set by the driverbased on the value set by the user in buffer/watermark buttaking into account hardware limitations (e.g. most hardwarebuffers are limited to 32-64 samples, some hardware bufferswatermarks are fixed or have minimum levels). A value of 0means that the hardware watermark is unset.

/sys/bus/iio/devices/iio:deviceX/buffer/hwfifo_watermark_available

Defined on filesysfs-bus-iio

A list of positive integers specifying the available watermarklevels for the hardware fifo. This entry is optional and if itis not present it means that all the values betweenhwfifo_watermark_min and hwfifo_watermark_max are supported.

If the user sets buffer/watermark to a value greater thanhwfifo_watermak_min but not equal to any of the values in thislist, the driver will chose an appropriate value for thehardware fifo watermark level.

/sys/bus/iio/devices/iio:deviceX/buffer/hwfifo_watermark_max

Defined on filesysfs-bus-iio

A single positive integer specifying the maximum watermark levelfor the hardware fifo of this device. If the device does nothave a hardware fifo this entry is not present.

If the user sets buffer/watermark to a value greater than thisone, then the hardware watermark will be capped at this value.

/sys/bus/iio/devices/iio:deviceX/buffer/hwfifo_watermark_min

Defined on filesysfs-bus-iio

A single positive integer specifying the minimum watermark levelfor the hardware fifo of this device. If the device does nothave 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.

/sys/bus/iio/devices/iio:deviceX/buffer/length_align_bytes

Defined on filesysfs-bus-iio-dma-buffer

DMA buffers tend to have a alignment requirement for thebuffers. If this alignment requirement is not met samples mightbe dropped from the buffer.

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

The alignment requirements in number of sample sets will dependon the enabled channels and the bytes per channel. This meansthat the alignment requirement in samples sets might changedepending on which and how many channels are enabled. Whereasthe alignment requirement reported in bytes by this propertywill remain static and does not depend on which channels areenabled.

/sys/bus/iio/devices/iio:deviceX/bufferY

Defined on filesysfs-bus-iio

Directory containing interfaces for elements that will becaptured for a single triggered sample set in the buffer.

Since kernel 5.11 the scan_elements attributes are merged intothe bufferY directory, to be configurable per buffer.

/sys/bus/iio/devices/iio:deviceX/bufferY/data_available

Defined on filesysfs-bus-iio

A read-only value indicating the bytes of data available in thebuffer. In the case of an output buffer, this indicates theamount of empty space available to write data to. In the case ofan input buffer, this indicates the amount of data available forreading.

/sys/bus/iio/devices/iio:deviceX/bufferY/enable

Defined on filesysfs-bus-iio

Actually start the buffer capture up. Will start triggerif first device and appropriate.

Note that it might be impossible to configure other attributes,(e.g.: events, scale, sampling rate) if they impact the currentlyactive buffer capture session.

/sys/bus/iio/devices/iio:deviceX/bufferY/length

Defined on filesysfs-bus-iio

Number of scans contained by the buffer.

/sys/bus/iio/devices/iio:deviceX/bufferY/watermark

Defined on filesysfs-bus-iio

A single positive integer specifying the maximum number of scanelements to wait for.

Poll will block until the watermark is reached.

Blocking read will wait until the minimum between the requestedread amount or the low water mark is available.

Non-blocking read will retrieve the available samples from thebuffer even if there are less samples then watermark level. Thisallows the application to block on poll with a timeout and readthe available samples after the timeout expires and thus have amaximum delay guarantee.

/sys/bus/iio/devices/iio:deviceX/calibrate

Defined on filesysfs-bus-iio-cros-ec

Writing ‘1’ will perform a FOC (Fast Online Calibration). Thecorresponding calibration offsets can be read from*_calibbiasentries.

/sys/bus/iio/devices/iio:deviceX/calibration_auto_enable

Defined on filesysfs-bus-iio

Some sensors have the ability to apply auto calibration atruntime. For example, it may be necessary to compensate forcontaminant build-up in a measurement chamber or opticalelement deterioration that would otherwise lead to sensor drift.

Writing 1 or 0 to this attribute will respectively activate ordeactivate this auto calibration function.

Upon reading, the current status is returned.

/sys/bus/iio/devices/iio:deviceX/calibration_data

Defined on filesysfs-bus-iio-bno055

Reports the binary calibration data blob for the IMU sensors.

/sys/bus/iio/devices/iio:deviceX/calibration_forced_value

Defined on filesysfs-bus-iio

Some sensors have the ability to apply a manual calibration usinga known measurement value, perhaps obtained from an externalreference device.

Writing a value to this function will force such a calibrationchange. For the scd30 the value should be from the range[400 1 2000].

Note for the scd30 that a valid value may only be obtained onceit is has been written. Until then any read back of this valueshould be ignored. As for the scd4x an error will be returnedimmediately if the manual calibration has failed.

/sys/bus/iio/devices/iio:deviceX/calibration_forced_value_available

Defined on filesysfs-bus-iio

Available range for the forced calibration value, expressed as:

  • a range specified as “[min step max]”

/sys/bus/iio/devices/iio:deviceX/cleaning_period

Defined on filesysfs-bus-iio-sps30

Sensor is capable of triggering self cleaning periodically.Period can be changed by writing a new value here. Upon readingthe current one is returned. Units are seconds.

Writing 0 disables periodical self cleaning entirely.

/sys/bus/iio/devices/iio:deviceX/cleaning_period_available

Defined on filesysfs-bus-iio-sps30

The range of available values in seconds represented as theminimum value, the step and the maximum value, all enclosed insquare brackets.

/sys/bus/iio/devices/iio:deviceX/current_timestamp_clock

Defined on filesysfs-bus-iio

String identifying current posix clock used to timestampbuffered samples and events for device X.

/sys/bus/iio/devices/iio:deviceX/error_status

Defined on filesysfs-bus-iio-chemical-sunrise-co2

Reading returns the current chip error status.

/sys/bus/iio/devices/iio:deviceX/error_status_available

Defined on filesysfs-bus-iio-chemical-sunrise-co2

Reading returns the list of possible chip error status.Available options are:- ‘error_fatal’: Analog front-end initialization error- ‘error_i2c’: Read/write to non-existing register- ‘error_algorithm’: Corrupted parameters- ‘error_calibration’: Calibration has failed- ‘error_self_diagnostic’: Internal interface failure- ‘error_out_of_range’: Measured concentration out of scale- ‘error_memory’: Error during memory operations- ‘error_no_measurement’: Cleared at first measurement- ‘error_low_voltage’: Sensor regulated voltage too low- ‘error_measurement_timeout’: Unable to complete measurement

/sys/bus/iio/devices/iio:deviceX/events

Defined on filesysfs-bus-iio

Configuration of which hardware generated events are passed upto user-space.

/sys/bus/iio/devices/iio:deviceX/events/in_altvoltage0_mag_rising_reset_max

Defined on filesysfs-bus-iio-resolver-ad2s1210

Reading returns the current Degradation of Signal Reset MaximumThreshold value in millivolts. Writing sets the value.

/sys/bus/iio/devices/iio:deviceX/events/in_altvoltage0_mag_rising_reset_max_available

Defined on filesysfs-bus-iio-resolver-ad2s1210

Reading returns the allowable voltage range forin_altvoltage0_mag_rising_reset_max.

/sys/bus/iio/devices/iio:deviceX/events/in_altvoltage0_mag_rising_reset_min

Defined on filesysfs-bus-iio-resolver-ad2s1210

Reading returns the current Degradation of Signal Reset MinimumThreshold value in millivolts. Writing sets the value.

/sys/bus/iio/devices/iio:deviceX/events/in_altvoltage0_mag_rising_reset_min_available

Defined on filesysfs-bus-iio-resolver-ad2s1210

Reading returns the allowable voltage range forin_altvoltage0_mag_rising_reset_min.

/sys/bus/iio/devices/iio:deviceX/events/in_altvoltageY_mag_either_label

/sys/bus/iio/devices/iio:deviceX/events/in_altvoltageY_mag_rising_label

/sys/bus/iio/devices/iio:deviceX/events/in_altvoltageY_thresh_falling_label

/sys/bus/iio/devices/iio:deviceX/events/in_altvoltageY_thresh_rising_label

/sys/bus/iio/devices/iio:deviceX/events/in_anglvelY_mag_rising_label

/sys/bus/iio/devices/iio:deviceX/events/in_anglY_thresh_rising_label

/sys/bus/iio/devices/iio:deviceX/events/in_phaseY_mag_rising_label

Defined on filesysfs-bus-iio

Optional symbolic label to a device channel event.If a label is defined for this event add that to the eventspecific attributes. This is useful for userspace to be able tobetter identify an individual event.

/sys/bus/iio/devices/iio:deviceX/events/in_illuminance_period_available

Defined on filesysfs-bus-iio

List of valid periods (in seconds) for which the light intensitymust be above the threshold level before interrupt is asserted.

/sys/bus/iio/devices/iio:deviceX/events/in_voltageY_thresh_falling_value

Defined on filesysfs-bus-iio-adc-hi8435

Channel Y low voltage threshold. If sensor input voltage goes lower thenthis value then the threshold falling event is pushed.Depending on in_voltageY_sensing_mode the low voltage thresholdis separately set for “GND-Open” and “Supply-Open” modes.Channels 0..31 have common low threshold values, but could have differentsensing_modes.

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

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

/sys/bus/iio/devices/iio:deviceX/events/in_voltageY_thresh_rising_value

Defined on filesysfs-bus-iio-adc-hi8435

Channel Y high voltage threshold. If sensor input voltage goes higher thenthis value then the threshold rising event is pushed.Depending on in_voltageY_sensing_mode the high voltage thresholdis separately set for “GND-Open” and “Supply-Open” modes.

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

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

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

/sys/bus/iio/devices/iio:deviceX/fault_oc

Defined on filesysfs-bus-iio-thermocouple

Open-circuit fault. The detection of open-circuit faults,such as those caused by broken thermocouple wires.Reading returns ‘1’ if fault, ‘0’ otherwise.

/sys/bus/iio/devices/iio:deviceX/fault_ovuv

Defined on filesysfs-bus-iio-thermocouple

Overvoltage or Undervoltage Input Fault. The internal circuitryis protected from excessive voltages applied to the thermocouplecables. The device can also detect if such a condition occurs.

Reading returns ‘1’ if input voltage is negative or greaterthan VDD, otherwise ‘0’.

/sys/bus/iio/devices/iio:deviceX/filter_mode

Defined on filesysfs-bus-iio-filter-admv8818

This attribute configures the filter mode.Reading returns the actual mode.

/sys/bus/iio/devices/iio:deviceX/filter_mode_available

Defined on filesysfs-bus-iio-filter-admv8818

Reading this returns the valid values that can be written to thefilter_mode attribute:

  • auto -> Adjust bandpass filter to track changes in input clock rate.

  • manual -> disable/unregister the clock rate notifier / input clock tracking.

  • bypass -> bypass low pass filter, high pass filter and disable/unregister

    the clock rate notifier

/sys/bus/iio/devices/iio:deviceX/filter_type

/sys/bus/iio/devices/iio:deviceX/in_voltageY-voltageZ_filter_type

Defined on filesysfs-bus-iio

Specifies which filter type apply to the channel. The possiblevalues are given by the filter_type_available attribute.

/sys/bus/iio/devices/iio:deviceX/filter_type_available

/sys/bus/iio/devices/iio:deviceX/in_voltage-voltage_filter_type_available

Defined on filesysfs-bus-iio

Reading returns a list with the possible filter modes. Optionsfor the attribute:

  • “none” - Filter is disabled/bypassed.

  • “sinc1” - The digital sinc1 filter. Fast 1stconversion time. Poor noise performance.

  • “sinc3” - The digital sinc3 filter. Moderate 1stconversion time. Good noise performance.

  • “sinc3+pf1” - Sinc3 + device specific Post Filter 1.

  • “sinc3+pf2” - Sinc3 + device specific Post Filter 2.

  • “sinc3+pf3” - Sinc3 + device specific Post Filter 3.

  • “sinc3+pf4” - Sinc3 + device specific Post Filter 4.

  • “sinc3+rej60” - Sinc3 + 60Hz rejection.

  • “sinc3+sinc1” - Sinc3 + averaging by 8. Low 1st conversiontime.

  • “sinc4” - Sinc 4. Excellent noise performance. Long1st conversion time.

  • “sinc4+lp” - Sinc4 + Low Pass Filter.

  • “sinc4+sinc1” - Sinc4 + averaging by 8. Low 1st conversiontime.

  • “sinc4+rej60” - Sinc4 + 60Hz rejection.

  • “sinc5” - The digital sinc5 filter. Excellent noiseperformance

  • “sinc5+avg” - Sinc5 + averaging by 4.

  • “sinc5+pf1” - Sinc5 + device specific Post Filter 1.

  • “sinc5+sinc1” - Sinc5 + Sinc1.

  • “sinc5+sinc1+pf1” - Sinc5 + Sinc1 + device specific Post Filter 1.

  • “sinc5+sinc1+pf2” - Sinc5 + Sinc1 + device specific Post Filter 2.

  • “sinc5+sinc1+pf3” - Sinc5 + Sinc1 + device specific Post Filter 3.

  • “sinc5+sinc1+pf4” - Sinc5 + Sinc1 + device specific Post Filter 4.

  • “wideband” - filter with wideband low ripple passbandand sharp transition band.

/sys/bus/iio/devices/iio:deviceX/fusion_enable

Defined on filesysfs-bus-iio-bno055

Can be 1 or 0. Enables/disables the “sensor fusion” (a.k.a.NDOF) HW function.

/sys/bus/iio/devices/iio:deviceX/heater_enable

Defined on filesysfs-bus-iio

‘1’ (enable) or ‘0’ (disable) specifying the enableof heater function. Same reading values apply.

This ABI is especially applicable for humidity sensorsto heatup the device and get rid of any condensationin some humidity environment

/sys/bus/iio/devices/iio:deviceX/id

Defined on filesysfs-bus-iio-cros-ec

This attribute is exposed by the CrOS EC sensors driver andrepresents the sensor ID as exposed by the EC. This ID is usedby the Android sensor service hardware abstraction layer (sensorHAL) through the Android container on ChromeOS.

/sys/bus/iio/devices/iio:deviceX/in_Y_mean_raw

Defined on filesysfs-bus-iio

Averaged raw measurement from channel Y. The number of valuesused for averaging is device specific. The converting rules fornormal raw values also applies to the averaged raw values.

/sys/bus/iio/devices/iio:deviceX/in_accel_calibbias_available

/sys/bus/iio/devices/iio:deviceX/in_anglvel_calibbias_available

/sys/bus/iio/devices/iio:deviceX/in_temp_calibbias_available

/sys/bus/iio/devices/iio:deviceX/in_proximity_calibbias_available

/sys/bus/iio/devices/iio:deviceX/in_voltageY_calibbias_available

/sys/bus/iio/devices/iio:deviceX/out_voltageY_calibbias_available

Defined on filesysfs-bus-iio

Available values of calibbias. Maybe expressed as either of:

  • a small discrete set of values like “0 2 4 6 8”

  • a range specified as “[min step max]”

/sys/bus/iio/devices/iio:deviceX/in_accel_calibration_auto_status

Defined on filesysfs-bus-iio-bno055

Reports the autocalibration status for the accelerometer sensor.Can be 0 (calibration non even enabled) or 1 to 5 where the greaterthe number, the better the calibration status.

/sys/bus/iio/devices/iio:deviceX/in_accel_linear_x_raw

/sys/bus/iio/devices/iio:deviceX/in_accel_linear_y_raw

/sys/bus/iio/devices/iio:deviceX/in_accel_linear_z_raw

Defined on filesysfs-bus-iio

As per in_accel_X_raw attributes, but minus theacceleration due to gravity.

/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_altvoltage_q_offset

/sys/bus/iio/devices/iio:deviceX/in_altvoltage_i_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_currentY_offset

/sys/bus/iio/devices/iio:deviceX/in_current_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

/sys/bus/iio/devices/iio:deviceX/in_capacitanceY_offset

Defined on filesysfs-bus-iio

If known for a device, offset to be added to <type>[Y]_raw priorto 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 oraxis <x|y|z> is not present, then the offset applies to allin channels of <type>.May be writable if a variable offset can be applied on thedevice. Note that this is different to calibbias whichis for devices (or drivers) that apply offsets to compensatefor variation between different instances of the part, typicallyadjusted by using some hardware supported calibration procedure.Calibbias is applied internally, offset is applied in userspaceto the _raw output.

/sys/bus/iio/devices/iio:deviceX/in_accel_power_mode

Defined on filesysfs-bus-iio-inv_icm42600

Accelerometer power mode. Setting this attribute will set therequested power mode to use if the ODR support it. If ODRsupport only 1 mode, power mode will be enforced.Reading this attribute will return the current accelerometerpower mode if the sensor is on, or the requested value if thesensor is off. The value between real and requested value canbe different for ODR supporting only 1 mode.

/sys/bus/iio/devices/iio:deviceX/in_accel_power_mode_available

Defined on filesysfs-bus-iio-inv_icm42600

List of available accelerometer power modes that can be set inin_accel_power_mode attribute.

/sys/bus/iio/devices/iio:deviceX/in_accel_raw_range

Defined on filesysfs-bus-iio-bno055

Raw (unscaled) range for acceleration readings. Unit afterapplication of scale is m/s^2. Note that this doesn’t affectsthe scale (which should be used when changing the maximum andminimum readable value affects also the reading scaling factor).

/sys/bus/iio/devices/iio:deviceX/in_accel_raw_range_available

Defined on filesysfs-bus-iio-bno055

List of allowed values for in_accel_raw_range attribute

/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_voltageY_scale_available

/sys/.../iio:deviceX/in_voltage-voltage_scale_available

/sys/.../iio:deviceX/out_voltageY_scale_available

/sys/.../iio:deviceX/out_altvoltageY_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 filesysfs-bus-iio

If a discrete set of scale values is available, theyare listed in this attribute. Unlike illumination,multiplying intensity by intensity_scale does notyield value with any standardized unit.

/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_altvoltageY_i_calibbias

/sys/bus/iio/devices/iio:deviceX/in_altvoltageY_q_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_capacitance_calibbias

/sys/bus/iio/devices/iio:deviceX/in_illuminance_calibbias

/sys/bus/iio/devices/iio:deviceX/in_illuminance0_calibbias

/sys/bus/iio/devices/iio:deviceX/in_intensityY_calibbias

/sys/bus/iio/devices/iio:deviceX/in_magn_x_calibbias

/sys/bus/iio/devices/iio:deviceX/in_magn_y_calibbias

/sys/bus/iio/devices/iio:deviceX/in_magn_z_calibbias

/sys/bus/iio/devices/iio:deviceX/in_pressure_calibbias

/sys/bus/iio/devices/iio:deviceX/in_pressureY_calibbias

/sys/bus/iio/devices/iio:deviceX/in_proximity_calibbias

/sys/bus/iio/devices/iio:deviceX/in_proximity0_calibbias

/sys/bus/iio/devices/iio:deviceX/in_resistance_calibbias

/sys/bus/iio/devices/iio:deviceX/in_temp_calibbias

/sys/bus/iio/devices/iio:deviceX/in_voltageY_calibbias

/sys/bus/iio/devices/iio:deviceX/out_currentY_calibbias

/sys/bus/iio/devices/iio:deviceX/out_voltageY_calibbias

Defined on filesysfs-bus-iio

Hardware applied calibration offset (assumed to fix productioninaccuracies).icm42600: For this device values are real physical offsetsexpressed in SI units (m/s^2 for accelerometers and rad/sfor gyroscope)/

/sys/bus/iio/devices/iio:deviceX/in_accel_x_calibscale

/sys/bus/iio/devices/iio:deviceX/in_accel_y_calibscale

/sys/bus/iio/devices/iio:deviceX/in_accel_z_calibscale

/sys/bus/iio/devices/iio:deviceX/in_altvoltage_calibscale

/sys/bus/iio/devices/iio:deviceX/in_anglvel_x_calibscale

/sys/bus/iio/devices/iio:deviceX/in_anglvel_y_calibscale

/sys/bus/iio/devices/iio:deviceX/in_anglvel_z_calibscale

/sys/bus/iio/devices/iio:deviceX/in_capacitance_calibscale

/sys/bus/iio/devices/iio:deviceX/in_illuminance_calibscale

/sys/bus/iio/devices/iio:deviceX/in_illuminance0_calibscale

/sys/bus/iio/devices/iio:deviceX/in_intensity_both_calibscale

/sys/bus/iio/devices/iio:deviceX/in_intensity_calibscale

/sys/bus/iio/devices/iio:deviceX/in_intensity_ir_calibscale

/sys/bus/iio/devices/iio:deviceX/in_magn_x_calibscale

/sys/bus/iio/devices/iio:deviceX/in_magn_y_calibscale

/sys/bus/iio/devices/iio:deviceX/in_magn_z_calibscale

/sys/bus/iio/devices/iio:deviceX/in_pressure_calibscale

/sys/bus/iio/devices/iio:deviceX/in_pressureY_calibscale

/sys/bus/iio/devices/iio:deviceX/in_proximity0_calibscale

/sys/bus/iio/devices/iio:deviceX/in_voltage_calibscale

/sys/bus/iio/devices/iio:deviceX/in_voltageY_calibscale

/sys/bus/iio/devices/iio:deviceX/in_voltageY_supply_calibscale

/sys/bus/iio/devices/iio:deviceX/out_currentY_calibscale

/sys/bus/iio/devices/iio:deviceX/out_voltageY_calibscale

Defined on filesysfs-bus-iio

Hardware applied calibration scale factor (assumed to fixproduction inaccuracies). If shared across all channels,<type>_calibscale is used.

/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

/sys/bus/iio/devices/iio:deviceX/in_humidityrelative_peak_raw

/sys/bus/iio/devices/iio:deviceX/in_temp_peak_raw

Defined on filesysfs-bus-iio

Highest value since some reset condition. Theseattributes allow access to this and are otherwisethe direct equivalent of the <type>Y[_name]_raw attributes.

/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 filesysfs-bus-iio

Acceleration in direction x, y or z (may be arbitrarily assignedbut should match other such assignments on device).Has all of the equivalent parameters as per voltageY. Unitsafter application of scale and offset are m/s^2.

/sys/bus/iio/devices/iio:deviceX/in_accel_xyz_squared_peak_raw

Defined on filesysfs-bus-iio

A computed peak value based on the sum squared magnitude ofthe underlying value in the specified directions.

/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 filesysfs-bus-iio

Gender of the user (e.g.: male, female) used by some pedometersto compute the stride length, distance, speed and activitytype.

/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 filesysfs-bus-iio

Lists all available gender values (e.g.: male, female).

/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 filesysfs-bus-iio

Height of the user (in meters) used by some pedometersto compute the stride length, distance, speed and activitytype.

/sys/bus/iio/devices/iio:deviceX/in_allow_async_readout

Defined on filesysfs-bus-iio-ina2xx-adc

By default (value ‘0’), the capture thread checks for the ConversionReady Flag to being set prior to committing a new value to the samplebuffer. This synchronizes the in-chip conversion rate with thein-driver readout rate at the cost of an additional register read.

Writing ‘1’ will remove the polling for the Conversion Ready Flags tosave the additional i2c transaction, which will improve the bandwidthavailable for reading data. However, samples can be occasionally skippedor repeated, depending on the beat between the capture and conversionrates.

/sys/bus/iio/devices/iio:deviceX/in_altcurrentY_rms_raw

Defined on filesysfs-bus-iio

Raw (unscaled no bias removal etc.) Root Mean Square (RMS) currentmeasurement from channel Y. Units after application of scale andoffset are milliamps.

/sys/bus/iio/devices/iio:deviceX/in_altvoltage0-altvoltage1_i_calibphase

Defined on filesysfs-bus-iio-frequency-admv1013

Read/write unscaled value for the Local Oscillatior path quadrature I phase shift.

/sys/bus/iio/devices/iio:deviceX/in_altvoltage0-altvoltage1_q_calibphase

Defined on filesysfs-bus-iio-frequency-admv1013

Read/write unscaled value for the Local Oscillatior path quadrature Q phase shift.

/sys/bus/iio/devices/iio:deviceX/in_altvoltage0_i_calibbias

Defined on filesysfs-bus-iio-frequency-admv1013

Read/write value for the Local Oscillatior Feedthrough Offset Calibration I Positiveside.

/sys/bus/iio/devices/iio:deviceX/in_altvoltage0_i_calibscale_coarse

Defined on filesysfs-bus-iio-frequency-admv1014

Read/write value for the digital attenuator gain (IF_I) with coarse steps.

/sys/bus/iio/devices/iio:deviceX/in_altvoltage0_i_calibscale_fine

Defined on filesysfs-bus-iio-frequency-admv1014

Read/write value for the digital attenuator gain (IF_I) with fine steps.

/sys/bus/iio/devices/iio:deviceX/in_altvoltage0_q_calibbias

Defined on filesysfs-bus-iio-frequency-admv1013

Read/write value for the Local Oscillatior Feedthrough Offset Calibration Q Positive side.

/sys/bus/iio/devices/iio:deviceX/in_altvoltage0_q_calibscale_coarse

Defined on filesysfs-bus-iio-frequency-admv1014

Read/write value for the digital attenuator gain (IF_Q) with coarse steps.

/sys/bus/iio/devices/iio:deviceX/in_altvoltage0_q_calibscale_fine

Defined on filesysfs-bus-iio-frequency-admv1014

Read/write value for the digital attenuator gain (IF_Q) with fine steps.

/sys/bus/iio/devices/iio:deviceX/in_altvoltage1_i_calibbias

Defined on filesysfs-bus-iio-frequency-admv1013

Read/write raw value for the Local Oscillatior Feedthrough Offset Calibration I Negativeside.

/sys/bus/iio/devices/iio:deviceX/in_altvoltage1_q_calibbias

Defined on filesysfs-bus-iio-frequency-admv1013

Read/write raw value for the Local Oscillatior Feedthrough Offset Calibration Q Negativeside.

/sys/bus/iio/devices/iio:deviceX/in_altvoltageY_compare_interval

Defined on filesysfs-bus-iio-adc-envelope-detector

Number of milliseconds to wait for the comparator in eachstep of the binary search for the input peak level. Needsto relate to the frequency of the input signal.

/sys/bus/iio/devices/iio:deviceX/in_altvoltageY_i_phase

/sys/bus/iio/devices/iio:deviceX/in_altvoltageY_q_phase

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_phase

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_i_phase

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_q_phase

Defined on filesysfs-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 bespecified and unique if the output corresponds to a singlechannel.

/sys/bus/iio/devices/iio:deviceX/in_altvoltageY_invert

Defined on filesysfs-bus-iio-adc-envelope-detector

The DAC is used to find the peak level of an alternatingvoltage input signal by a binary search using the outputof a comparator wired to an interrupt pin. Like so:

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

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

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

/sys/bus/iio/devices/iio:deviceX/in_altvoltageY_rms_raw

Defined on filesysfs-bus-iio

Raw (unscaled) Root Mean Square (RMS) voltage measurement fromchannel Y. Units after application of scale and offset aremillivolts.

/sys/bus/iio/devices/iio:deviceX/in_anglY_label

Defined on filesysfs-bus-iio

Optional symbolic label for channel Y.For Intel hid hinge sensor, the label values are:hinge, keyboard, screen. It means the three channelseach correspond respectively to hinge angle, keyboard angle,and screen angle.

/sys/bus/iio/devices/iio:deviceX/in_angl_raw

/sys/bus/iio/devices/iio:deviceX/in_anglY_raw

Defined on filesysfs-bus-iio

Angle of rotation. Units after application of scale and offsetare radians.

/sys/bus/iio/devices/iio:deviceX/in_anglvel_raw_range

Defined on filesysfs-bus-iio-bno055

Range for angular velocity readings in radians per second. Notethat this does not affects the scale (which should be used whenchanging the maximum and minimum readable value affects also thereading scaling factor).

/sys/bus/iio/devices/iio:deviceX/in_anglvel_raw_range_available

Defined on filesysfs-bus-iio-bno055

List of allowed values for in_anglvel_raw_range attribute

/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 filesysfs-bus-iio

Angular velocity about axis x, y or z (may be arbitrarilyassigned). Has all the equivalent parameters as per voltageY.Units after application of scale and offset are radians persecond.

/sys/bus/iio/devices/iio:deviceX/in_capacitanceY_raw

Defined on filesysfs-bus-iio

Raw capacitance measurement from channel Y. Units afterapplication of scale and offset are nanofarads.

/sys/bus/iio/devices/iio:deviceX/in_chromaticity_x_raw

/sys/bus/iio/devices/iio:deviceX/in_chromaticity_y_raw

Defined on filesysfs-bus-iio

The x and y light color coordinate on the CIE 1931 chromaticitydiagram.

/sys/bus/iio/devices/iio:deviceX/in_colortemp_raw

Defined on filesysfs-bus-iio

Represents light color temperature, which measures light colortemperature in Kelvin.

/sys/bus/iio/devices/iio:deviceX/in_concentration_VOC_short_raw

Defined on filesysfs-bus-iio-chemical-vz89x

Get the raw calibration VOC value from the sensor.This value has little application outside of calibration.

/sys/bus/iio/devices/iio:deviceX/in_concentration_co2_calibration_background

Defined on filesysfs-bus-iio-chemical-sunrise-co2

Writing ‘1’ triggers a ‘Background’ calibration cycle.

/sys/bus/iio/devices/iio:deviceX/in_concentration_co2_calibration_factory

Defined on filesysfs-bus-iio-chemical-sunrise-co2

Writing ‘1’ triggers a ‘Factory’ calibration cycle.

/sys/bus/iio/devices/iio:deviceX/in_concentration_raw

/sys/bus/iio/devices/iio:deviceX/in_concentrationY_raw

/sys/bus/iio/devices/iio:deviceX/in_concentration_co2_raw

/sys/bus/iio/devices/iio:deviceX/in_concentrationY_co2_raw

/sys/bus/iio/devices/iio:deviceX/in_concentration_ethanol_raw

/sys/bus/iio/devices/iio:deviceX/in_concentrationY_ethanol_raw

/sys/bus/iio/devices/iio:deviceX/in_concentration_h2_raw

/sys/bus/iio/devices/iio:deviceX/in_concentrationY_h2_raw

/sys/bus/iio/devices/iio:deviceX/in_concentration_o2_raw

/sys/bus/iio/devices/iio:deviceX/in_concentrationY_o2_raw

/sys/bus/iio/devices/iio:deviceX/in_concentration_voc_raw

/sys/bus/iio/devices/iio:deviceX/in_concentrationY_voc_raw

Defined on filesysfs-bus-iio

Raw (unscaled no offset etc.) reading of a substance. Unitsafter application of scale and offset are percents.

/sys/bus/iio/devices/iio:deviceX/in_conversion_mode

Defined on filesysfs-bus-iio-vf610

Specifies the hardware conversion mode used. The threeavailable modes are “normal”, “high-speed” and “low-power”,where the last is the default mode.

/sys/bus/iio/devices/iio:deviceX/in_count0_enable_mode

Defined on filesysfs-bus-iio-timer-stm32

Configure the device counter enable modes, in all casecounting direction is set by in_count0_count_directionattribute and the counter is clocked by the internal clock.

always:

Counter is always ON.

gated:

Counting is enabled when connected trigger signallevel is high else counting is disabled.

triggered:

Counting is enabled on rising edge of the connectedtrigger, and remains enabled for the duration of thisselected mode.

/sys/bus/iio/devices/iio:deviceX/in_count0_preset

Defined on filesysfs-bus-iio-timer-stm32

Reading returns the current preset value.Writing sets the preset value.When counting up the counter starts from 0 and fires anevent when reach preset value.When counting down the counter start from preset valueand fire event when reach 0.

/sys/bus/iio/devices/iio:deviceX/in_count0_trigger_mode

Defined on filesysfs-bus-iio-timer-stm32

Configure the device counter trigger modecounting direction is set by in_count0_count_directionattribute and the counter is clocked by the connected triggerrising edges.

/sys/bus/iio/devices/iio:deviceX/in_countY_count_direction

Defined on filesysfs-bus-iio

This interface is deprecated; please use the Counter subsystem.

Raw counter device counters direction for channel Y.

/sys/bus/iio/devices/iio:deviceX/in_countY_raw

Defined on filesysfs-bus-iio

This interface is deprecated; please use the Counter subsystem.

Raw counter device counts from channel Y. For quadraturecounters, multiplication by an available [Y]_scale results inthe counts of a single quadrature signal phase from channel Y.

/sys/bus/iio/devices/iio:deviceX/in_count_count_direction_available

Defined on filesysfs-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.

/sys/bus/iio/devices/iio:deviceX/in_count_enable_mode_available

Defined on filesysfs-bus-iio-timer-stm32

Reading returns the list possible enable modes.

/sys/bus/iio/devices/iio:deviceX/in_count_trigger_mode_available

Defined on filesysfs-bus-iio-timer-stm32

Reading returns the list possible trigger modes.

/sys/bus/iio/devices/iio:deviceX/in_current5_raw

Defined on filesysfs-bus-iio-adc-mt6360

Indicated MT6360 IBUS ADCCalculating with scale and offset returns voltage in uA

/sys/bus/iio/devices/iio:deviceX/in_current6_raw

Defined on filesysfs-bus-iio-adc-mt6360

Indicated MT6360 IBAT ADCCalculating with scale and offset returns voltage in uA

/sys/bus/iio/devices/iio:deviceX/in_current7_raw

Defined on filesysfs-bus-iio-adc-mt6360

Indicated MT6360 CHG_VDDP ADCCalculating with scale and offset returns voltage in uV

/sys/bus/iio/devices/iio:deviceX/in_currentY_raw

/sys/bus/iio/devices/iio:deviceX/in_currentY_supply_raw

Defined on filesysfs-bus-iio

Raw current measurement from channel Y. Units are in milliampsafter application of scale and offset. If no offset or scale ispresent, output should be considered as processed with theunit in milliamps. In special cases where the channel does notcorrespond to externally available input one of the namedversions may be used.

Channels with ‘i’ and ‘q’ modifiers always exist in pairs and bothchannels refer to the same signal. The ‘i’ channel contains the in-phasecomponent of the signal while the ‘q’ channel contains the quadraturecomponent.

/sys/bus/iio/devices/iio:deviceX/in_deltaangl_x_raw

/sys/bus/iio/devices/iio:deviceX/in_deltaangl_y_raw

/sys/bus/iio/devices/iio:deviceX/in_deltaangl_z_raw

Defined on filesysfs-bus-iio

Angular displacement between two consecutive samples on x, y orz (may be arbitrarily assigned but should match other suchassignments on device).In order to compute the total angular displacement during adesired period of time, the application should sum-up the deltaangle samples acquired during that time.Units after application of scale and offset are radians.

/sys/bus/iio/devices/iio:deviceX/in_deltavelocity_x_raw

/sys/bus/iio/devices/iio:deviceX/in_deltavelocity_y_raw

/sys/bus/iio/devices/iio:deviceX/in_deltavelocity_z_raw

Defined on filesysfs-bus-iio

The linear velocity change between two consecutive samples on x,y or z (may be arbitrarily assigned but should match other suchassignments on device).In order to compute the total linear velocity change during adesired period of time, the application should sum-up the deltavelocity samples acquired during that time.Units after application of scale and offset are meters persecond.

/sys/bus/iio/devices/iio:deviceX/in_electricalconductivity_raw

Defined on filesysfs-bus-iio

Raw (unscaled no offset etc.) electric conductivity reading.Units after application of scale and offset are siemens permeter.

/sys/bus/iio/devices/iio:deviceX/in_energy_calibweight

Defined on filesysfs-bus-iio

Weight of the user (in kg). It is needed by some pedometersto compute the calories burnt by the user.

/sys/bus/iio/devices/iio:deviceX/in_filter_notch_center_frequency

Defined on filesysfs-bus-iio

Center frequency in Hz for a notch filter. Used i.e. for linenoise suppression.

/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 filesysfs-bus-iio

Gravity in direction x, y or z (may be arbitrarily assignedbut should match other such assignments on device).Units after application of scale and offset are m/s^2.

/sys/bus/iio/devices/iio:deviceX/in_gyro_calibration_auto_status

Defined on filesysfs-bus-iio-bno055

Reports the autocalibration status for the gyroscope sensor.Can be 0 (calibration non even enabled) or 1 to 5 where the greaterthe number, the better the calibration status.

/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 filesysfs-bus-iio-mpu6050

This is mounting matrix for motion sensors. Mounting matrixis 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 beeasy to tell the relative positions among sensors as well as theirpositions 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 perfectlyaligned with each other. All axes are exactly the same.

/sys/bus/iio/devices/iio:deviceX/in_humidityrelative_input

Defined on filesysfs-bus-iio

Scaled humidity measurement in milli percent.

/sys/bus/iio/devices/iio:deviceX/in_humidityrelative_raw

Defined on filesysfs-bus-iio

Raw humidity measurement of air. Units after application ofscale and offset are milli percent.

/sys/bus/iio/devices/iio:deviceX/in_humidityrelative_trough_raw

/sys/bus/iio/devices/iio:deviceX/in_temp_trough_raw

Defined on filesysfs-bus-iio

Lowest value since some reset condition. Theseattributes allow access to this and are otherwisethe direct equivalent of the <type>Y[_name]_raw attributes.

/sys/bus/iio/devices/iio:deviceX/in_illuminance0_zone

Defined on filesysfs-bus-iio-light-lm3533-als

Get the current light zone (0..4) as defined by thein_illuminance0_threshY_{falling,rising} thresholds.

/sys/bus/iio/devices/iio:deviceX/in_illuminanceY_calibscale_available

/sys/bus/iio/devices/iio:deviceX/in_intensityY_calibscale_available

/sys/bus/iio/devices/iio:deviceX/in_proximityY_calibscale_available

/sys/bus/iio/devices/iio:deviceX/in_voltageY_calibscale_available

Defined on filesysfs-bus-iio

Available values of calibscale. Maybe expressed as either of:

  • a small discrete set of values like “1 8 16”

  • a range specified as “[min step max]”

If shared across all channels, <type>_calibscale_available is used.

/sys/bus/iio/devices/iio:deviceX/in_illuminance_hysteresis_relative

/sys/bus/iio/devices/iio:deviceX/in_intensity_hysteresis_relative

Defined on filesysfs-bus-iio

Specify the percent for light sensor relative to the channelabsolute value that a data field should change before an eventis generated. Units are a percentage of the prior reading.

/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 filesysfs-bus-iio

Inclination raw reading about axis x, y or z (may bearbitrarily assigned). Data converted by application of offsetand scale to degrees.

/sys/bus/iio/devices/iio:deviceX/in_indexY_raw

Defined on filesysfs-bus-iio

This interface is deprecated; please use the Counter subsystem.

Raw counter device index value from channel Y. This attributeprovides an absolute positional reference (e.g. a pulse once perrevolution) which may be used to home positional systems asrequired.

/sys/bus/iio/devices/iio:deviceX/in_intensityY_offset

Defined on filesysfs-bus-iio-health-afe440x

Get and set the offset cancellation DAC setting for thesestages. The values are expressed in 5-bit sign-magnitude.

/sys/bus/iio/devices/iio:deviceX/in_intensityY_raw

Defined on filesysfs-bus-iio-health-afe440x

Get measured values from the ADC for these stages. Y is thespecific stage number corresponding to datasheet stage namesas follows:

1

LED2

2

ALED2/LED3

3

LED1

4

ALED1/LED4

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

/sys/bus/iio/devices/iio:deviceX/in_intensityY_resistance

/sys/bus/iio/devices/iio:deviceX/in_intensityY_capacitance

Defined on filesysfs-bus-iio-health-afe440x

Get and set the resistance and the capacitance settings for theTransimpedance Amplifier during the associated stage.

/sys/bus/iio/devices/iio:deviceX/in_intensity_hardwaregain_available

Defined on filesysfs-bus-iio

Lists all available hardware applied gain factors. Shared across allchannels.

/sys/bus/iio/devices/iio:deviceX/in_intensity_ir_large_raw

Defined on filesysfs-bus-iio-light-si1133

Unit-less infrared intensity. The intensity is measured from 4dark photodiodes. “large” indicate the surface area capturinginfrared.

/sys/bus/iio/devices/iio:deviceX/in_intensity_ir_small_raw

Defined on filesysfs-bus-iio-light-si1133

Unit-less infrared intensity. The intensity is measured from 1dark photodiode. “small” indicate the surface area capturinginfrared.

/sys/bus/iio/devices/iio:deviceX/in_intensity_large_raw

Defined on filesysfs-bus-iio-light-si1133

Unit-less light intensity with more diodes.

/sys/bus/iio/devices/iio:deviceX/in_intensity_x_raw

/sys/bus/iio/devices/iio:deviceX/in_intensity_y_raw

/sys/bus/iio/devices/iio:deviceX/in_intensity_z_raw

Defined on filesysfs-bus-iio

Unscaled light intensity according to CIE 1931/DIN 5033 color space.Units after application of scale are nano nanowatts per square meter.

/sys/bus/iio/devices/iio:deviceX/in_magn_calibration_auto_status

Defined on filesysfs-bus-iio-bno055

Reports the autocalibration status for the magnetometer sensor.Can be 0 (calibration non even enabled) or 1 to 5 where the greaterthe number, the better the calibration status.

/sys/bus/iio/devices/iio:deviceX/in_magn_calibration_fast_enable

Defined on filesysfs-bus-iio-bno055

Can be 1 or 0. Enables/disables the “Fast MagnetometerCalibration” HW function.

/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 filesysfs-bus-iio

Hardware applied number of measurements for acquiring onedata point. The HW will do <type>[_name]_oversampling_ratiomeasurements and return the average value as output data. Eachvalue resulted from <type>[_name]_oversampling_ratio measurementsis considered as one sample for <type>[_name]_sampling_frequency.

/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 filesysfs-bus-iio

Magnetic field along axis x, y or z (may be arbitrarilyassigned). Data converted by application of offsetthen scale to Gauss.

/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 filesysfs-bus-iio

Mass concentration reading of particulate matter in ug / m3.pmX consists of particles with aerodynamic diameter less orequal to X micrometers.

/sys/bus/iio/devices/iio:deviceX/in_ph_raw

Defined on filesysfs-bus-iio

Raw (unscaled no offset etc.) pH reading of a substance as a negativebase-10 logarithm of hydrodium ions in a litre of water.

/sys/bus/iio/devices/iio:deviceX/in_phaseY_raw

Defined on filesysfs-bus-iio

Raw (unscaled) phase difference reading from channel Y.Units after application of scale and offset are radians.

/sys/bus/iio/devices/iio:deviceX/in_positionrelative_x_raw

/sys/bus/iio/devices/iio:deviceX/in_positionrelative_y_raw

Defined on filesysfs-bus-iio

Relative position in direction x or y on a pad (may bearbitrarily assigned but should match other such assignments ondevice).Units after application of scale and offset are milli percentsfrom the pad’s size in both directions. Should be calibrated bythe consumer.

/sys/bus/iio/devices/iio:deviceX/in_powerY_powerfactor

Defined on filesysfs-bus-iio

Power factor measurement from channel Y. Power factor is theratio of active power to apparent power. The value is unitless.

/sys/bus/iio/devices/iio:deviceX/in_powerY_raw

/sys/bus/iio/devices/iio:deviceX/in_powerY_active_raw

/sys/bus/iio/devices/iio:deviceX/in_powerY_reactive_raw

/sys/bus/iio/devices/iio:deviceX/in_powerY_apparent_raw

Defined on filesysfs-bus-iio

Raw (unscaled no bias removal etc.) power measurement fromchannel Y. The number must always be specified andunique to allow association with event codes. Units afterapplication of scale and offset are milliwatts.

/sys/bus/iio/devices/iio:deviceX/in_pressureY_input

/sys/bus/iio/devices/iio:deviceX/in_pressure_input

Defined on filesysfs-bus-iio

Scaled pressure measurement from channel Y, in kilopascal.

/sys/bus/iio/devices/iio:deviceX/in_pressureY_raw

/sys/bus/iio/devices/iio:deviceX/in_pressure_raw

Defined on filesysfs-bus-iio

Raw pressure measurement from channel Y. Units afterapplication of scale and offset are kilopascal.

/sys/bus/iio/devices/iio:deviceX/in_proximity0_agc_gain

/sys/bus/iio/devices/iio:deviceX/in_proximity0_agc_gain_bias

Defined on filesysfs-bus-iio-isl29501

This sensor has an automatic gain control (agc) loopwhich sets the analog signal levels at an optimumlevel by controlling programmable gain amplifiers. Thecriteria 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 bewritten into in_proximity0_agc_gain_bias.

/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 filesysfs-bus-iio-isl29501

The sensor is able to perform correction of distancemeasurements due to changing temperature and ambientlight conditions. It can be programmed to correct fora second order error polynomial.

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

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

From those two curves, a and b coefficients shall bestored in in_proximity0_calib_phase_temp_a andin_proximity0_calib_phase_temp_b for temperature andin in_proximity0_calib_phase_light_a andin_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 sensorinternally.

The value stored in sensor is displayed when read from.

/sys/bus/iio/devices/iio:deviceX/in_proximity3_comb_raw

Defined on filesysfs-bus-iio-sx9310

Proximity measurement indicating that some object isnear the combined sensor. The combined sensor presentsproximity measurements constructed by hardware bycombining measurements taken from a given set ofphysical sensors.

/sys/bus/iio/devices/iio:deviceX/in_proximity<id>_setup

Defined on filesysfs-bus-iio-sx9324

SX9324 has 3 inputs, CS0, CS1 and CS2. Hardware layoutdefines if the input is

  • not connected (HZ),

  • grounded (GD),

  • connected to an antenna where it can act as a base(DS - data shield), or measured input (MI).

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

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

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

/sys/bus/iio/devices/iio:deviceX/in_proximity_input

Defined on filesysfs-bus-iio-proximity-as3935

When 1 the noise level is over the trip level and not reportingvalid data

/sys/bus/iio/devices/iio:deviceX/in_proximity_nearlevel

Defined on filesysfs-bus-iio-proximity

Near level for proximity sensors. This is a single integervalue that tells user space when an object should beconsidered close to the device. If the value read from thesensor is above or equal to the value in this file an objectshould typically be considered near.

/sys/bus/iio/devices/iio:deviceX/in_resistance_raw

/sys/bus/iio/devices/iio:deviceX/in_resistanceY_raw

/sys/bus/iio/devices/iio:deviceX/out_resistance_raw

/sys/bus/iio/devices/iio:deviceX/out_resistanceY_raw

Defined on filesysfs-bus-iio

Raw (unscaled no offset etc.) resistance reading.Units after application of scale and offset are ohms.

/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 filesysfs-bus-iio

Raw value of rotation from true/magnetic north measured withor without compensation from tilt sensors.

/sys/bus/iio/devices/iio:deviceX/in_rot_quaternion_raw

Defined on filesysfs-bus-iio

Raw value of quaternion components using a formatx y z w. Here x, y, and z component represents the axis aboutwhich a rotation will occur and w component represents theamount of rotation.

/sys/bus/iio/devices/iio:deviceX/in_rot_yaw_raw

/sys/bus/iio/devices/iio:deviceX/in_rot_pitch_raw

/sys/bus/iio/devices/iio:deviceX/in_rot_roll_raw

Defined on filesysfs-bus-iio

Raw (unscaled) euler angles readings. Units afterapplication of scale are deg.

/sys/bus/iio/devices/iio:deviceX/in_shunt_resistorY

Defined on filesysfs-bus-iio-adc-pac1934

The value of the shunt resistor may be known only at runtimeand set by a client application. This attribute allows toset its value in micro-ohms. X is the IIO index of the device.Y is the channel number. The value is used to calculatecurrent, power and accumulated energy.

/sys/bus/iio/devices/iio:deviceX/in_temp8_raw

Defined on filesysfs-bus-iio-adc-mt6360

Indicated MT6360 IC junction temperatureCalculating with scale and offset returns temperature in degree

/sys/bus/iio/devices/iio:deviceX/in_tempY_input

/sys/bus/iio/devices/iio:deviceX/in_temp_input

Defined on filesysfs-bus-iio

Scaled temperature measurement in milli degrees Celsius.

/sys/bus/iio/devices/iio:deviceX/in_temp_calibemissivity

/sys/bus/iio/devices/iio:deviceX/in_tempY_calibemissivity

/sys/bus/iio/devices/iio:deviceX/in_temp_object_calibemissivity

/sys/bus/iio/devices/iio:deviceX/in_tempY_object_calibemissivity

Defined on filesysfs-bus-iio

The emissivity ratio of the surface in the field of view of thecontactless temperature sensor. Emissivity varies from 0 to 1,with 1 being the emissivity of a black body.

/sys/bus/iio/devices/iio:deviceX/in_temp_object_calibambient

/sys/bus/iio/devices/iio:deviceX/in_tempY_object_calibambient

Defined on filesysfs-bus-iio

Calibrated ambient temperature for object temperaturecalculation in milli degrees Celsius.

/sys/bus/iio/devices/iio:deviceX/in_temp_raw

/sys/bus/iio/devices/iio:deviceX/in_tempY_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 filesysfs-bus-iio

Raw (unscaled no bias removal etc.) temperature measurement.If an axis is specified it generally means that the temperaturesensor is associated with one part of a compound device (e.g.a gyroscope axis). The ambient and object modifiers distinguishbetween ambient (reference) and distant temperature for contact-less measurements. Units after application of scale and offsetare milli degrees Celsius.

/sys/bus/iio/devices/iio:deviceX/in_temp_thermocouple_type

Defined on filesysfs-bus-iio

One of the following thermocouple types: B, E, J, K, N, R, S, T.

/sys/bus/iio/devices/iio:deviceX/in_voltage-voltage_filter_mode_available

Defined on filesysfs-bus-iio-adc-ad4130

Reading returns a list with the possible filter modes.

This ABI is only kept for backwards compatibility and the valuesreturned are identical to filter_type_available attributedocumented intesting/sysfs-bus-iio. Please,use filter_type_available like ABI to provide filter options fornew drivers.

/sys/bus/iio/devices/iio:deviceX/in_voltage0_raw

Defined on filesysfs-bus-iio-adc-mt6360

Indicated MT6360 USBID ADC which connected to connector ID pin.Calculating with scale and offset returns voltage in uV

/sys/bus/iio/devices/iio:deviceX/in_voltage10_raw

Defined on filesysfs-bus-iio-adc-mt6360

Indicated MT6360 TS ADCCalculating with scale and offset returns voltage in uV

/sys/bus/iio/devices/iio:deviceX/in_voltage1_raw

Defined on filesysfs-bus-iio-adc-mt6360

Indicated MT6360 VBUS ADC with lower accuracy(+-75mA)higher measure range(1~22mV)Calculating with scale and offset returns voltage in uV

/sys/bus/iio/devices/iio:deviceX/in_voltage2-voltage2_shorted_raw

Defined on filesysfs-bus-iio-adc-ad7192

Measure voltage from AIN2 pin connected to AIN(+)and AIN(-) shorted.

/sys/bus/iio/devices/iio:deviceX/in_voltage2_raw

Defined on filesysfs-bus-iio-adc-mt6360

Indicated MT6360 VBUS ADC with higher accuracy(+-30mA)lower measure range(1~9.76V)Calculating with scale and offset returns voltage in uV

/sys/bus/iio/devices/iio:deviceX/in_voltage3_raw

Defined on filesysfs-bus-iio-adc-mt6360

Indicated MT6360 VSYS ADCCalculating with scale and offset returns voltage in uV

/sys/bus/iio/devices/iio:deviceX/in_voltage4_raw

Defined on filesysfs-bus-iio-adc-mt6360

Indicated MT6360 VBAT ADCCalculating with scale and offset returns voltage in uV

/sys/bus/iio/devices/iio:deviceX/in_voltage9_raw

Defined on filesysfs-bus-iio-adc-mt6360

Indicated MT6360 VREF_TS ADCCalculating with scale and offset returns voltage in uV

/sys/bus/iio/devices/iio:deviceX/in_voltageY-voltageZ_balance_switch_en

Defined on filesysfs-bus-iio-adc-ad7280a

Used to enable an output for balancing cells for timecontrolled via in_voltage_Y-voltageZ_balance_switch_timer.

/sys/bus/iio/devices/iio:deviceX/in_voltageY-voltageZ_balance_switch_timer

Defined on filesysfs-bus-iio-adc-ad7280a

Time in seconds for which balance switch will be turned on.Multiple of 71.5 seconds.

/sys/bus/iio/devices/iio:deviceX/in_voltageY-voltageZ_filter_mode

Defined on filesysfs-bus-iio-adc-ad4130

This ABI is only kept for backwards compatibility and the valuesreturned are identical to in_voltageY-voltageZ_filter_typeattribute documented intesting/sysfs-bus-iio.Please, use in_voltageY-voltageZ_filter_type for new drivers.

/sys/bus/iio/devices/iio:deviceX/in_voltageY-voltageZ_raw

Defined on filesysfs-bus-iio

Raw (unscaled) differential voltage measurement equivalent tochannel Y - channel Z where these channel numbers apply to thephysically equivalent inputs when non differential readings areseparately available. In differential only parts, then all thatis required is a consistent labeling. Units after applicationof scale and offset are millivolts.

/sys/bus/iio/devices/iio:deviceX/in_voltageY_convdelay

Defined on filesysfs-bus-iio

Delay of start of conversion from common reference point sharedby all channels. Can be writable when used to compensate fordelay variation introduced by external filters feeding asimultaneous sampling ADC.

E.g., for the ad7606 ADC series, this value is intended as aconfigurable time delay in seconds, to correct delay introducedby an optional external filtering circuit.

/sys/bus/iio/devices/iio:deviceX/in_voltageY_convdelay_available

Defined on filesysfs-bus-iio

Available values of convdelay. Maybe expressed as:

  • a range specified as “[min step max]”

If shared across all channels, <type>_convdelay_availableis used.

/sys/bus/iio/devices/iio:deviceX/in_voltageY_dither_enable

Defined on filesysfs-bus-iio-dac-ad5766

Dither enable. Write 1 to enable dither or 0 to disable it.

/sys/bus/iio/devices/iio:deviceX/in_voltageY_dither_invert

Defined on filesysfs-bus-iio-dac-ad5766

Inverts the dither applied to the selected DAC channel. Dither is notinverted by default. Write “1” to invert dither.

/sys/bus/iio/devices/iio:deviceX/in_voltageY_dither_scale

Defined on filesysfs-bus-iio-dac-ad5766

Scales the dither before it is applied to the selected channel.

/sys/bus/iio/devices/iio:deviceX/in_voltageY_dither_scale_available

Defined on filesysfs-bus-iio-dac-ad5766

Returns possible scalings available for the current channel.

/sys/bus/iio/devices/iio:deviceX/in_voltageY_dither_source

Defined on filesysfs-bus-iio-dac-ad5766

Selects dither source applied to the selected channel. Write “0” toselect N0 source, write “1” to select N1 source.

/sys/bus/iio/devices/iio:deviceX/in_voltageY_label

/sys/bus/iio/devices/iio:deviceX/out_voltageY_label

Defined on filesysfs-bus-iio

Optional symbolic label to a device channel.If a label is defined for this channel add that to the channelspecific attributes. This is useful for userspace to be able tobetter identify an individual channel.

/sys/bus/iio/devices/iio:deviceX/in_voltageY_raw

/sys/bus/iio/devices/iio:deviceX/in_voltageY_supply_raw

Defined on filesysfs-bus-iio

Raw (unscaled no bias removal etc.) voltage measurement fromchannel Y. In special cases where the channel does notcorrespond to externally available input one of the namedversions may be used. The number must always be specified andunique to allow association with event codes. Units afterapplication of scale and offset are millivolts.

Channels with ‘i’ and ‘q’ modifiers always exist in pairs and bothchannels refer to the same signal. The ‘i’ channel contains the in-phasecomponent of the signal while the ‘q’ channel contains the quadraturecomponent.

/sys/bus/iio/devices/iio:deviceX/in_voltageY_sampling_frequency

/sys/bus/iio/devices/iio:deviceX/in_powerY_sampling_frequency

/sys/bus/iio/devices/iio:deviceX/in_currentY_sampling_frequency

Defined on filesysfs-bus-iio

Some devices have separate controls of sampling frequency forindividual channels. If multiple channels are enabled in a scan,then the sampling_frequency of the scan may be computed from theper channel sampling frequencies.

/sys/bus/iio/devices/iio:deviceX/in_voltageY_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-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_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_deltaangl_scale

/sys/bus/iio/devices/iio:deviceX/in_deltavelocity_scale

/sys/bus/iio/devices/iio:deviceX/in_angl_scale

/sys/bus/iio/devices/iio:deviceX/in_intensity_x_scale

/sys/bus/iio/devices/iio:deviceX/in_intensity_y_scale

/sys/bus/iio/devices/iio:deviceX/in_intensity_z_scale

/sys/bus/iio/devices/iio:deviceX/in_intensity_red_scale

/sys/bus/iio/devices/iio:deviceX/in_intensity_green_scale

/sys/bus/iio/devices/iio:deviceX/in_intensity_blue_scale

/sys/bus/iio/devices/iio:deviceX/in_concentration_co2_scale

Defined on filesysfs-bus-iio

If known for a device, scale to be applied to <type>Y[_name]_rawpost addition of <type>[Y][_name]_offset in order to obtain themeasured value in <type> units as specified in<type>[Y][_name]_raw documentation. If shared across all inchannels then Y and <x|y|z> are not present and the value iscalled <type>[Y][_name]_scale. The peak modifier means thisvalue is applied to <type>Y[_name]_peak_raw values.

/sys/bus/iio/devices/iio:deviceX/in_voltageY_sensing_mode

Defined on filesysfs-bus-iio-adc-hi8435

Program sensor type for threshold detector inputs.Could be either “GND-Open” or “Supply-Open” mode. Y is athreshold detector input channel. Channels 0..7, 8..15, 16..23and 24..31 has common sensor types.

/sys/bus/iio/devices/iio:deviceX/in_voltageY_sys_calibration

Defined on filesysfs-bus-iio-adc-ad-sigma-delta

This attribute, if available, initiates the system calibration procedure. This is done on asingle channel at a time. Write ‘1’ to start the calibration.

/sys/bus/iio/devices/iio:deviceX/in_voltageY_sys_calibration_mode

Defined on filesysfs-bus-iio-adc-ad-sigma-delta

This attribute, if available, sets up the calibration mode used in the system calibrationprocedure. Reading returns the current calibration mode.Writing sets the system calibration mode.

/sys/bus/iio/devices/iio:deviceX/in_voltageY_sys_calibration_mode_available

Defined on filesysfs-bus-iio-adc-ad-sigma-delta

This attribute, if available, returns a list with the possible calibration modes.There are two available options:“zero_scale” - calibrate to zero scale“full_scale” - calibrate to full scale

/sys/bus/iio/devices/iio:deviceX/in_voltage_filterY_notch_center

Defined on filesysfs-bus-iio-adc-max11410

Center frequency of the notch filter in Hz.

/sys/bus/iio/devices/iio:deviceX/in_voltage_filterY_notch_en

Defined on filesysfs-bus-iio-adc-max11410

Enable or disable a notch filter.

/sys/bus/iio/devices/iio:deviceX/in_voltage_spi_clk_freq

Defined on filesysfs-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, toprovide information on the SPI clock frequency during runtimeNotice that the SPI frequency should be a multiple of samplefrequency 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.

/sys/bus/iio/devices/iio:deviceX/label

Defined on filesysfs-bus-iio

Optional symbolic label for a device.This is useful for userspace to be able to better identify anindividual device.

The contents of the label are free-form, but there are somestandardized uses:

For proximity sensors which give the proximity (of a person) toa certain wlan or wwan antenna the following standardized labelsare used:

  • “proximity-wifi”

  • “proximity-lte”

  • “proximity-wifi-lte”

  • “proximity-wifi-left”

  • “proximity-wifi-right”

These are used to indicate to userspace that these proximitysensors may be used to tune transmit power to ensure thatSpecific Absorption Rate (SAR) limits are honored.The “-left” and “-right” labels are for devices with multipleantennas.

In some laptops/tablets the standardized proximity sensor labelsinstead indicate proximity to a specific part of the device:

  • “proximity-palmrest” indicates proximity to the keyboard’s palmrest

  • “proximity-palmrest-left” indicates proximity to the left part of the palmrest

  • “proximity-palmrest-right” indicates proximity to the right part of the palmrest

  • “proximity-lap” indicates the device is being used on someone’s lap

Note “proximity-lap” is special in that its value may becalculated by firmware from other sensor readings, rather thenbeing a raw sensor reading.

For accelerometers used in 2-in-1s with 360° (yoga-style) hinges,which have an accelerometer in both their base and their display,the following standardized labels are used:

  • “accel-base”

  • “accel-display”

For devices where an accelerometer is housed in the swivel camera subassembly(for AR application), the following standardized label is used:

  • “accel-camera”

/sys/bus/iio/devices/iio:deviceX/meas_conf

/sys/bus/iio/devices/iio:deviceX/meas_conf_available

Defined on filesysfs-bus-iio-magnetometer-hmc5843

Current configuration and available configurationsfor the bias current.

normal

Normal measurement configurations (default)

positivebias

Positive bias configuration

negativebias

Negative bias configuration

disabled

Only available on HMC5983. Disables magneticsensor and enables temperature sensor.

Note:

The effect of this configuration may varyaccording to the device. For exact documentationcheck the device’s datasheet.

/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 filesysfs-bus-iio

Mounting matrix for IIO sensors. This is a rotation matrix whichinforms userspace about sensor chip’s placement relative to themain hardware it is mounted on.

Main hardware placement is defined according to the localreference frame related to the physical quantity the sensormeasures.

Given that the rotation matrix is defined in a board specificway (platform data and / or device-tree), the main hardwarereference frame definition is left to the implementor’s choice(see below for a magnetometer example).

Applications should apply this rotation matrix to samples sothat when main hardware reference frame is aligned onto localreference frame, then sensor chip reference frame is alsoperfectly 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 hardwareare perfectly aligned with each other.

For example, a mounting matrix for a magnetometer sensor informsuserspace about sensor chip’s ORIENTATION relative to the mainhardware.

More specifically, main hardware orientation is defined withrespect 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 andpositive 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 thetop of the screen ;

  • X is in the plane of the screen, perpendicular to Y axis, andpositive towards the right hand side of the screen ;

  • Z is perpendicular to the screen plane and positive out of thescreen.

Another example for a quadrotor UAV might be :

  • Y is in the plane of the propellers and positive towards thefront-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.

/sys/bus/iio/devices/iio:deviceX/name

Defined on filesysfs-bus-iio

Description of the physical chip / device for device X.Typically a part number.

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_frequency

Defined on filesysfs-bus-iio

Output frequency for channel Y in Hz. The number must always bespecified and unique if the output corresponds to a singlechannel.Some drivers have additional constraints:ADF4371 has an integrated VCO with fundamendal outputfrequency ranging from 4000000000 Hz 8000000000 Hz.

out_altvoltage0_frequency:

A divide by 1, 2, 4, 8, 16, 32 or circuit generatesfrequencies from 62500000 Hz to 8000000000 Hz.

out_altvoltage1_frequency:

This channel duplicates the channel 0 frequency

out_altvoltage2_frequency:

A frequency doubler generates frequencies from8000000000 Hz to 16000000000 Hz.

out_altvoltage3_frequency:

A frequency quadrupler generates frequencies from16000000000 Hz to 32000000000 Hz.

Note: writes to one of the channels will affect the frequency ofall the other channels, since it involves changing the VCOfundamental output frequency.

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_frequency_increment

Defined on filesysfs-bus-iio-impedance-analyzer-ad5933

Frequency increment in Hz (step size) between consecutivefrequency points along the sweep.

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_frequency_points

Defined on filesysfs-bus-iio-impedance-analyzer-ad5933

Number of frequency points (steps) in the frequency sweep.This value, in conjunction with theout_altvoltageY_frequency_start and theout_altvoltageY_frequency_increment, determines the frequencysweep range for the sweep operation.

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_frequency_resolution

Defined on filesysfs-bus-iio-frequency-adf4350

Stores channel Y frequency resolution/channel spacing in Hz.The value given directly influences the MODULUS used bythe fractional-N PLL. It is assumed that the algorithmthat is used to compute the various dividers, is able togenerate proper values for multiples of channel spacing.

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_frequency_start

Defined on filesysfs-bus-iio-impedance-analyzer-ad5933

Frequency sweep start frequency in Hz.

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_name

Defined on filesysfs-bus-iio-frequency-adf4371

Reading returns the datasheet name for channel Y:

out_altvoltage0_name: RF8xout_altvoltage1_name: RFAUX8xout_altvoltage2_name: RF16xout_altvoltage3_name: RF32x

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_refin_frequency

Defined on filesysfs-bus-iio-frequency-adf4350

Sets channel Y REFin frequency in Hz. In some clock chainedapplications, the reference frequency used by the PLL maychange during runtime. This attribute allows the user toadjust the reference frequency accordingly.The value written has no effect until out_altvoltageY_frequencyis updated. Consider to use out_altvoltageY_powerdown to powerdown the PLL and its RFOut buffers during REFin changes.

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_settling_cycles

Defined on filesysfs-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 triggeredto perform a conversion sequence of the response signal.

/sys/bus/iio/devices/iio:deviceX/out_conversion_mode

Defined on filesysfs-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.

/sys/bus/iio/devices/iio:deviceX/out_currentY_currentZ_raw

Defined on filesysfs-bus-iio-light-lm3533-als

Set the output current for channel out_currentY when in zoneZ (0..255), where Y in 0..2 and Z in 0..4.

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

Note that out_currentY_raw provides the current for thecurrent zone.

/sys/bus/iio/devices/iio:deviceX/out_currentY_raw

Defined on filesysfs-bus-iio

Set/get output current for channel Y. Units after applicationof scale and offset are milliamps.For some devices current channels are used to specifycurrent supplied to elements used in taking a measurementof a different type. E.g. LED currents.

/sys/bus/iio/devices/iio:deviceX/out_currentY_rawN

Defined on filesysfs-bus-iio-dac

This attribute has the same meaning as out_currentY_raw. It isspecific to toggle enabled channels and refers to the DAC outputcode in INPUT_N (_rawN), where N is the integer value of the symbol.The same scale and offset as in out_currentY_raw applies.

/sys/bus/iio/devices/iio:deviceX/out_currentY_symbol

Defined on filesysfs-bus-iio-dac

Performs a SW switch to a predefined output symbol. This attributeis specific to toggle enabled channels and allows switching betweenmultiple predefined symbols. Each symbol corresponds to a differentoutput, denoted as out_currentY_rawN, where N is the integer valueof the symbol. Writing an integer value N will select out_currentY_rawN.

/sys/bus/iio/devices/iio:deviceX/out_currentY_toggle_en

Defined on filesysfs-bus-iio-dac

Toggle enable. Write 1 to enable toggle or 0 to disable it. Thisis useful when one wants to change the DAC output codes. Forautonomous toggling, the way it should be done is:

  • disable toggle operation;

  • change out_currentY_rawN, where N is the integer value of the symbol;

  • enable toggle operation.

/sys/bus/iio/devices/iio:deviceX/out_current_heater_raw

/sys/bus/iio/devices/iio:deviceX/out_current_heater_raw_available

Defined on filesysfs-bus-iio-humidity

Controls the heater device within the humidity sensor to getrid of excess condensation.

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

/sys/bus/iio/devices/iio:deviceX/out_humidityrelative_raw

Defined on filesysfs-bus-iio-chemical-sgp40

Set the relative humidity. This value is sent to the sensor forhumidity compensation.Default value: 50000 (50 % relative humidity)

/sys/bus/iio/devices/iio:deviceX/out_resistance_raw_available

Defined on filesysfs-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]

/sys/bus/iio/devices/iio:deviceX/out_temp_raw

Defined on filesysfs-bus-iio-chemical-sgp40

Set the temperature. This value is sent to the sensor fortemperature compensation.Default value: 25000 (25 °C)

/sys/bus/iio/devices/iio:deviceX/out_voltageY&Z_raw

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY&Z_raw

Defined on filesysfs-bus-iio

Raw (unscaled, no bias etc.) output voltage for an aggregate ofchannel Y, channel Z, etc. This interface is available in caseswhere a single output sets the value for multiple channelssimultaneously.

/sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_en

Defined on filesysfs-bus-iio-dac-ltc2688

Dither enable. Write 1 to enable dither or 0 to disable it. This is usefulfor changing the dither parameters. They way it should be done is:

  • disable dither operation;

  • change dither parameters (eg: frequency, phase...);

  • enabled dither operation

/sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_frequency

Defined on filesysfs-bus-iio-dac-ltc2688

Sets the dither signal frequency. Units are in Hz.

/sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_frequency_available

Defined on filesysfs-bus-iio-dac-ltc2688

Returns the available values for the dither frequency.

/sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_offset

Defined on filesysfs-bus-iio-dac-ltc2688

Offset applied to out_voltageY_dither_raw. Read only attributealways set to 0.

/sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_phase

Defined on filesysfs-bus-iio-dac-ltc2688

Sets the dither signal phase. Units are in Radians.

/sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_phase_available

Defined on filesysfs-bus-iio-dac-ltc2688

Returns the available values for the dither phase.

/sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_raw

Defined on filesysfs-bus-iio-dac-ltc2688

This raw, unscaled value refers to the dither signal amplitude.The same scale as in out_voltageY_raw applies. However, theoffset might be different as it’s always 0 for this attribute.

/sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_raw_available

Defined on filesysfs-bus-iio-dac-ltc2688

Available range for dither raw amplitude values.

/sys/bus/iio/devices/iio:deviceX/out_voltageY_hardwaregain

/sys/bus/iio/devices/iio:deviceX/in_intensity_hardwaregain

/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

/sys/bus/iio/devices/iio:deviceX/in_illuminance_hardwaregain

Defined on filesysfs-bus-iio

Hardware applied gain factor. If shared across all channels,<type>_hardwaregain is used.

/sys/bus/iio/devices/iio:deviceX/out_voltageY_operating_mode

Defined on filesysfs-bus-iio-ad9739a

DAC operating mode. One of the following modes can be selected:

  • normal: This is DAC normal mode.

  • mixed-mode: In this mode the output is effectively chopped at

    the DAC sample rate. This has the effect ofreducing the power of the fundamental signal whileincreasing the power of the images centered aroundthe DAC sample rate, thus improving the outputpower of these images.

/sys/bus/iio/devices/iio:deviceX/out_voltageY_operating_mode_available

Defined on filesysfs-bus-iio-ad9739a

Available operating modes.

/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 filesysfs-bus-iio

Writing 1 causes output Y to enter the power down mode specifiedby the corresponding outY_powerdown_mode. DAC output stage isdisconnected from the amplifier. Clearing returns to normaloperation. Y may be suppressed if all outputs are controlledtogether.

/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 filesysfs-bus-iio

Specifies the output powerdown mode.DAC output stage is disconnected from the amplifier and1kohm_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,7.7kohm_to_gnd: connected to ground via a 7.7kOhm resistor,20kohm_to_gnd: connected to ground via a 20kOhm resistor,32kohm_to_gnd: connected to ground via a 32kOhm resistor,42kohm_to_gnd: connected to ground via a 42kOhm 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 readoutX_powerdown_mode_available. If Y is not present themode is shared across all outputs.

/sys/bus/iio/devices/iio:deviceX/out_voltageY_raw

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_raw

Defined on filesysfs-bus-iio

Raw (unscaled, no bias etc.) output voltage forchannel Y. The number must always be specified andunique if the output corresponds to a single channel.While DAC like devices typically use out_voltage,a continuous frequency generating device, such asa DDS or PLL should use out_altvoltage.

/sys/bus/iio/devices/iio:deviceX/out_voltageY_rawN

Defined on filesysfs-bus-iio-dac

This attribute has the same meaning as out_currentY_raw. It isspecific to toggle enabled channels and refers to the DAC outputcode in INPUT_N (_rawN), where N is the integer value of the symbol.The same scale and offset as in out_currentY_raw applies.

/sys/bus/iio/devices/iio:deviceX/out_voltageY_raw_available

Defined on filesysfs-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]

/sys/bus/iio/devices/iio:deviceX/out_voltageY_symbol

Defined on filesysfs-bus-iio-dac

Performs a SW switch to a predefined output symbol. This attributeis specific to toggle enabled channels and allows switching betweenmultiple predefined symbols. Each symbol corresponds to a differentoutput, denoted as out_voltageY_rawN, where N is the integer valueof the symbol. Writing an integer value N will select out_voltageY_rawN.

/sys/bus/iio/devices/iio:deviceX/out_voltageY_toggle_en

Defined on filesysfs-bus-iio-dac

Toggle enable. Write 1 to enable toggle or 0 to disable it. Thisis useful when one wants to change the DAC output codes. Forautonomous toggling, the way it should be done is:

  • disable toggle operation;

  • change out_voltageY_rawN, where N is the integer value of the symbol;

  • enable toggle operation.

/sys/bus/iio/devices/iio:deviceX/oversampling_ratio

Defined on filesysfs-bus-iio

Hardware dependent ADC oversampling. Controls the sampling ratioof the digital filter if available.

/sys/bus/iio/devices/iio:deviceX/oversampling_ratio_available

Defined on filesysfs-bus-iio

Hardware dependent values supported by the oversampling filter.

/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 filesysfs-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.

/sys/bus/iio/devices/iio:deviceX/pllY_locked

Defined on filesysfs-bus-iio-frequency-ad9523

Reading returns either ‘1’ or ‘0’. ‘1’ means that thepllY is locked.

/sys/bus/iio/devices/iio:deviceX/proximity_on_chip_ambient_infrared_suppression

Defined on filesysfs-bus-iio-light-isl29018

From ISL29018 Data Sheet (FN6619.4, Oct 8, 2012) regarding theinfrared suppression:

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

0

Sensing IR from LED and ambient

1

Sensing IR from LED with ambient IR rejection

/sys/bus/iio/devices/iio:deviceX/sampling_frequency

/sys/bus/iio/devices/iio:deviceX/in_intensity_sampling_frequency

/sys/bus/iio/devices/iio:deviceX/buffer/sampling_frequency

/sys/bus/iio/devices/iio:deviceX/events/sampling_frequency

/sys/bus/iio/devices/triggerX/sampling_frequency

Defined on filesysfs-bus-iio

Some devices have internal clocks. This parameter sets theresulting sampling frequency. In many devices thisparameter has an effect on input filters etc. rather thansimply controlling when the input is sampled. As thisaffects data ready triggers, hardware buffers and the sysfsdirect access interfaces, it may be found in any of therelevant directories. If it affects all of the abovethen it is to be found in the base device directory.

The stm32-timer-trigger has the additional characteristic thata sampling_frequency of 0 is defined to stop sampling.

/sys/bus/iio/devices/iio:deviceX/sampling_frequency_available

/sys/bus/iio/devices/iio:deviceX/in_intensity_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 filesysfs-bus-iio

When the internal sampling clock can only take a specific set offrequencies, 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]”

/sys/bus/iio/devices/iio:deviceX/sensor_max_range

Defined on filesysfs-bus-iio-distance-srf08

Show or set the maximum range between the sensor and thefirst object echoed in meters. Default value is 6.020.This setting limits the time the driver is waiting for aecho.

Showing the range of available values is represented as theminimum value, the step and the maximum value, all enclosedin square brackets.

Example:

[0.043 0.043 11.008]

/sys/bus/iio/devices/iio:deviceX/sensor_sensitivity

Defined on filesysfs-bus-iio-proximity

Proximity sensors sometimes have a controllable amplifieron the signal from which time of flight measurements aretaken.The appropriate values to take is dependent on both thesensor and its operating environment:* as3935 (0-31 range)18 = indoors (default)14 = outdoors

/sys/bus/iio/devices/iio:deviceX/serialnumber

Defined on filesysfs-bus-iio

An example format is 16-bytes, 2-digits-per-byte, HEX-stringrepresenting the sensor unique ID number.

/sys/bus/iio/devices/iio:deviceX/start_cleaning

Defined on filesysfs-bus-iio-sps30

Writing 1 starts sensor self cleaning. Internal fan acceleratesto its maximum speed and keeps spinning for about 10 seconds inorder to blow out accumulated dust.

/sys/bus/iio/devices/iio:deviceX/store_eeprom

Defined on filesysfs-bus-iio

Writing ‘1’ stores the current device configuration intoon-chip EEPROM. After power-up or chip reset the device willautomatically load the saved configuration.

/sys/bus/iio/devices/iio:deviceX/sync_dividers

Defined on filesysfs-bus-iio-frequency-ad9523

Writing ‘1’ triggers the clock distribution synchronizationfunctionality. All dividers are reset and the channels startwith their predefined phase offsets (out_altvoltageY_phase).Writing this file has the effect as driving the external/SYNC pin low.

/sys/bus/iio/devices/iio:deviceX/sys_calibration_auto_status

Defined on filesysfs-bus-iio-bno055

Reports the status for the IMU overall autocalibration.Can be 0 (calibration non even enabled) or 1 to 5 where the greaterthe number, the better the calibration status.

/sys/bus/iio/devices/iio:deviceX/trigger/current_trigger

Defined on filesysfs-bus-iio

The name of the trigger source being used, as per string givenin /sys/class/iio/triggerY/name.

/sys/bus/iio/devices/iio_sysfs_trigger/add_trigger

Defined on filesysfs-bus-iio-trigger-sysfs

This attribute is provided by the iio-trig-sysfs stand-alonedriver and it is used to activate the creation of a new trigger.In order to achieve this, one should write a positive integerinto the associated file, which will serve as the id of thetrigger. If the trigger with the specified id is already presentin the system, an invalid argument message will be returned.

/sys/bus/iio/devices/iio_sysfs_trigger/remove_trigger

Defined on filesysfs-bus-iio-trigger-sysfs

This attribute is used to unregister and delete a previouslycreated trigger from the list of available triggers. In order toachieve this, one should write a positive integer into theassociated file, representing the id of the trigger that needsto be removed. If the trigger can’t be found, an invalidargument message will be returned to the user.

/sys/bus/iio/devices/triggerX

Defined on filesysfs-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 devicebased on hardware generated events (e.g. data ready) orprovided by a separate driver for other hardware (e.g.periodic timer, GPIO or high resolution timer).

Contains trigger type specific elements. These do notgeneralize well and hence are not documented in this file.X is the IIO index of the trigger.

/sys/bus/iio/devices/triggerX/master_mode

Defined on filesysfs-bus-iio-timer-stm32

Reading returns the current master modes.Writing set the master mode

/sys/bus/iio/devices/triggerX/master_mode_available

Defined on filesysfs-bus-iio-timer-stm32

Reading returns the list possible master modes which are:

  • “reset”

    The UG bit from the TIMx_EGR register isused as trigger output (TRGO).

  • “enable”

    The Counter Enable signal CNT_EN is usedas trigger output.

  • “update”

    The update event is selected as trigger output.For instance a master timer can then be usedas a prescaler for a slave timer.

  • “compare_pulse”

    The trigger output send a positive pulsewhen 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 generatepulses.

  • “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 generatepulses.

+-----------+   +-------------+            +---------+| 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     .   .     Xcount X .     .   .     . X        .     .   .     .        .     .   .     .        +---------------+OC4REF  |     .   .     |      +-+     .   .     +-+        .     +---+     .OC6REF  .     |   |     .      +-------+   +-------+        +-+   +-+TRGO2   | |   | |      +-+ +---+ +---------+

/sys/bus/iio/devices/triggerX/name

Defined on filesysfs-bus-iio-trigger-sysfs

The name attribute holds a description string for the currenttrigger. In order to associate the trigger with an IIO deviceone should write this name string to/sys/bus/iio/devices/iio:deviceY/trigger/current_trigger.

/sys/bus/iio/devices/triggerX/name = "adxl372-devX-peak"

Defined on filesysfs-bus-iio-accel-adxl372

The adxl372 accelerometer kernel module provides an additional trigger,which sets the device in a mode in which it will record only the peak accelerationsensed over the set period of time in the events sysfs.

/sys/bus/iio/devices/triggerX/name = "bmc150_accel-any-motion-devX"

Defined on filesysfs-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 bufferonly when there is any motion.

/sys/bus/iio/devices/triggerX/name = "bmg160-any-motion-devX"

Defined on filesysfs-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 bufferonly when there is any motion.

/sys/bus/iio/devices/triggerX/trigger_now

Defined on filesysfs-bus-iio-trigger-sysfs

This file is provided by the iio-trig-sysfs stand-alone triggerdriver. Writing this file with any value triggers an eventdriven driver, associated with this trigger, to capture datainto an in kernel buffer. This approach can be valuable duringautomated testing or in situations, where other trigger methodsare not applicable. For example no RTC or spare GPIOs.X is the IIO index of the trigger.

/sys/bus/iio/devices/triggerX/trigger_polarity

Defined on filesysfs-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 startconversions on external trigger by either:

  • “rising-edge”

  • “falling-edge”

  • “both-edges”.

Reading returns current trigger polarity.

Writing value before enabling conversions sets trigger polarity.

/sys/bus/iio/devices/triggerX/trigger_polarity_available

Defined on filesysfs-bus-iio-adc-stm32

List all available trigger_polarity settings.

/sys/bus/intel_th/devices/<intel_th_id>-<device><id>/active

Defined on filesysfs-bus-intel_th-output-devices

(RW) Writes of 1 or 0 enable or disable trace output to thisoutput device. Reads return current status. Requires that thecorrestponding output port driver be loaded.

/sys/bus/intel_th/devices/<intel_th_id>-gth/masters/*

Defined on filesysfs-bus-intel_th-devices-gth

(RW) Configure output ports for STP masters. Writing -1disables a master; any

/sys/bus/intel_th/devices/<intel_th_id>-gth/outputs/[0-7]_drop

Defined on filesysfs-bus-intel_th-devices-gth

(RW) Data retention policy setting: keep (0) or drop (1)incoming data while output port is in reset.

/sys/bus/intel_th/devices/<intel_th_id>-gth/outputs/[0-7]_flush

Defined on filesysfs-bus-intel_th-devices-gth

(RW) Force flush data from byte packing buffer for the outputport.

/sys/bus/intel_th/devices/<intel_th_id>-gth/outputs/[0-7]_null

Defined on filesysfs-bus-intel_th-devices-gth

(RW) STP NULL packet generation: enabled (1) or disabled (0).

/sys/bus/intel_th/devices/<intel_th_id>-gth/outputs/[0-7]_port

Defined on filesysfs-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).

/sys/bus/intel_th/devices/<intel_th_id>-gth/outputs/[0-7]_reset

Defined on filesysfs-bus-intel_th-devices-gth

(RO) Output port is in reset (1).

/sys/bus/intel_th/devices/<intel_th_id>-gth/outputs/[0-7]_smcfreq

Defined on filesysfs-bus-intel_th-devices-gth

(RW) STP sync packet frequency for the port. Specifies thenumber of clocks between mainenance packets.

/sys/bus/intel_th/devices/<intel_th_id>-msc<msc-id>/mode

Defined on filesysfs-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;

  • any of the currently loaded buffer sinks.

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

/sys/bus/intel_th/devices/<intel_th_id>-msc<msc-id>/nr_pages

Defined on filesysfs-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 bepower of 2. In multiblock mode, this is a comma-separated listof numbers of pages for each window to be allocated. Number ofwindows is not limited.

Writing to this file deallocates existing buffer (providedthere are no active users and tracing is not enabled) and thenallocates a new one.

/sys/bus/intel_th/devices/<intel_th_id>-msc<msc-id>/port

Defined on filesysfs-bus-intel_th-output-devices

(RO) Port number, corresponding to this output device on theswitch (GTH) or “unassigned” if the corresponding outputport driver is not loaded.

/sys/bus/intel_th/devices/<intel_th_id>-msc<msc-id>/stop_on_full

Defined on filesysfs-bus-intel_th-devices-msc

(RW) Configure whether trace stops when the last available windowbecomes full (1/y/Y) or wraps around and continues until the nextwindow becomes available again (0/n/N).

/sys/bus/intel_th/devices/<intel_th_id>-msc<msc-id>/win_switch

Defined on filesysfs-bus-intel_th-devices-msc

(RW) Trigger window switch for the MSC’s buffer, inmulti-window mode. In “multi” mode, accepts writes of “1”, therebytriggering a window switch for the buffer. Returns an error in anyother operating mode or attempts to write something other than “1”.

/sys/bus/intel_th/devices/<intel_th_id>-msc<msc-id>/wrap

Defined on filesysfs-bus-intel_th-devices-msc

(RW) Configure MSC buffer wrapping. 1 == wrapping enabled.

/sys/bus/intel_th/devices/<intel_th_id>-pti/clock_divider

Defined on filesysfs-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.

/sys/bus/intel_th/devices/<intel_th_id>-pti/freerunning_clock

Defined on filesysfs-bus-intel_th-devices-pti

(RW) 0: PTI trace clock acts as a strobe which only toggleswhen there is trace data to send. 1: PTI trace clock is afree-running clock.

/sys/bus/intel_th/devices/<intel_th_id>-pti/mode

Defined on filesysfs-bus-intel_th-devices-pti

(RW) Configure PTI output width. Currently supported valuesare 4, 8, 12, 16.

/sys/bus/mcb/devices/mcb:X

Defined on filesysfs-bus-mcb

Hardware chip or device hosting the MEN chameleon bus

/sys/bus/mcb/devices/mcb:X/minor

Defined on filesysfs-bus-mcb

The FPGA’s minor number

/sys/bus/mcb/devices/mcb:X/model

Defined on filesysfs-bus-mcb

The FPGA’s model number

/sys/bus/mcb/devices/mcb:X/name

Defined on filesysfs-bus-mcb

The FPGA’s name

/sys/bus/mcb/devices/mcb:X/revision

Defined on filesysfs-bus-mcb

The FPGA’s revision number

/sys/bus/mdio_bus/devices/.../statistics/

/sys/class/mdio_bus/.../statistics/

Defined on filesysfs-bus-mdio

This folder contains statistics about global and perMDIO bus address statistics.

/sys/bus/mdio_bus/devices/.../statistics/errors

/sys/class/mdio_bus/.../statistics/errors

Defined on filesysfs-bus-mdio

Total number of transfer errors for this MDIO bus.

/sys/bus/mdio_bus/devices/.../statistics/errors_<addr>

/sys/class/mdio_bus/.../statistics/errors_<addr>

Defined on filesysfs-bus-mdio

Total number of transfer errors for this MDIO bus address.

/sys/bus/mdio_bus/devices/.../statistics/reads

/sys/class/mdio_bus/.../statistics/reads

Defined on filesysfs-bus-mdio

Total number of read transactions for this MDIO bus.

/sys/bus/mdio_bus/devices/.../statistics/reads_<addr>

/sys/class/mdio_bus/.../statistics/reads_<addr>

Defined on filesysfs-bus-mdio

Total number of read transactions for this MDIO bus address.

/sys/bus/mdio_bus/devices/.../statistics/transfers

/sys/class/mdio_bus/.../transfers

Defined on filesysfs-bus-mdio

Total number of transfers for this MDIO bus.

/sys/bus/mdio_bus/devices/.../statistics/transfers_<addr>

/sys/class/mdio_bus/.../statistics/transfers_<addr>

Defined on filesysfs-bus-mdio

Total number of transfers for this MDIO bus address.

/sys/bus/mdio_bus/devices/.../statistics/writes

/sys/class/mdio_bus/.../statistics/writes

Defined on filesysfs-bus-mdio

Total number of write transactions for this MDIO bus.

/sys/bus/mdio_bus/devices/.../statistics/writes_<addr>

/sys/class/mdio_bus/.../statistics/writes_<addr>

Defined on filesysfs-bus-mdio

Total number of write transactions for this MDIO bus address.

/sys/bus/media/devices/.../model

Defined on filesysfs-bus-media

Contains the device model name in UTF-8. The device version isis not be appended to the model name.

/sys/bus/mei/devices/.../fixed

Defined on filesysfs-bus-mei

Stores mei client fixed address, if anyFormat: %d

/sys/bus/mei/devices/.../max_conn

Defined on filesysfs-bus-mei

Stores mei client maximum number of connectionsFormat: %d

/sys/bus/mei/devices/.../max_len

Defined on filesysfs-bus-mei

Stores mei client maximum message lengthFormat: %d

/sys/bus/mei/devices/.../modalias

Defined on filesysfs-bus-mei

Stores the same MODALIAS value emitted by ueventFormat: mei:<mei device name>:<device uuid>:<protocol version>

/sys/bus/mei/devices/.../name

Defined on filesysfs-bus-mei

Stores mei client device nameFormat: string

/sys/bus/mei/devices/.../uuid

Defined on filesysfs-bus-mei

Stores mei client device uuidFormat: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

/sys/bus/mei/devices/.../version

Defined on filesysfs-bus-mei

Stores mei client protocol versionFormat: %d

/sys/bus/mei/devices/.../vtag

Defined on filesysfs-bus-mei

Stores mei client vtag support statusFormat: %d

/sys/bus/mmc/devices/.../rev

Defined on filesysfs-bus-mmc

Extended CSD revision number

/sys/bus/most/devices/<dev>/<channel>/

Defined on filesysfs-bus-most

For every channel of the device a directory is created, whosename is dictated by the HDM. This enables an application tocollect information about the channel’s capabilities andconfigure it.

/sys/bus/most/devices/<dev>/<channel>/available_datatypes

Defined on filesysfs-bus-most

Indicates the data types the channel can transport.

/sys/bus/most/devices/<dev>/<channel>/available_directions

Defined on filesysfs-bus-most

Indicates the directions the channel is capable of.

/sys/bus/most/devices/<dev>/<channel>/channel_starving

Defined on filesysfs-bus-most

Indicates whether channel ran out of buffers.

/sys/bus/most/devices/<dev>/<channel>/number_of_packet_buffers

Defined on filesysfs-bus-most

Indicates the number of packet buffers the channel canhandle.

/sys/bus/most/devices/<dev>/<channel>/number_of_stream_buffers

Defined on filesysfs-bus-most

Indicates the number of streaming buffers the channel canhandle.

/sys/bus/most/devices/<dev>/<channel>/set_buffer_size

Defined on filesysfs-bus-most

This is to read back the configured buffer size of the channel.

/sys/bus/most/devices/<dev>/<channel>/set_datatype

Defined on filesysfs-bus-most

This is to read back the configured data type of the channel.The following strings will be accepted:

'control','async','sync','isoc_avp'

/sys/bus/most/devices/<dev>/<channel>/set_direction

Defined on filesysfs-bus-most

This is to read back the configured direction of the channel.The following strings will be accepted:

'tx','rx'

/sys/bus/most/devices/<dev>/<channel>/set_number_of_buffers

Defined on filesysfs-bus-most

This is to read back the configured number of buffers ofthe channel.

/sys/bus/most/devices/<dev>/<channel>/set_packets_per_xact

Defined on filesysfs-bus-most

This is to read back the configured number of packets pertransaction of the channel. This is only applicable whenconnected via USB.

/sys/bus/most/devices/<dev>/<channel>/set_subbuffer_size

Defined on filesysfs-bus-most

This is to read back the configured subbuffer size ofthe channel.

/sys/bus/most/devices/<dev>/<channel>/size_of_packet_buffer

Defined on filesysfs-bus-most

Indicates the size of a packet buffer the channel canhandle.

/sys/bus/most/devices/<dev>/<channel>/size_of_stream_buffer

Defined on filesysfs-bus-most

Indicates the size of a streaming buffer the channel canhandle.

/sys/bus/most/devices/<dev>/dci

Defined on filesysfs-bus-most

If the network interface controller is attached via USB, a dcidirectory is created that allows applications to read andwrite the controller’s DCI registers.

/sys/bus/most/devices/<dev>/dci/arb_address

Defined on filesysfs-bus-most

This is used to set an arbitrary DCI register address anapplication wants to read from or write to.

/sys/bus/most/devices/<dev>/dci/arb_value

Defined on filesysfs-bus-most

This is used to read and write the DCI register whose addressis stored in arb_address.

/sys/bus/most/devices/<dev>/dci/mep_eui48_hi

Defined on filesysfs-bus-most

This is used to check and configure the MAC address.

/sys/bus/most/devices/<dev>/dci/mep_eui48_lo

Defined on filesysfs-bus-most

This is used to check and configure the MAC address.

/sys/bus/most/devices/<dev>/dci/mep_eui48_mi

Defined on filesysfs-bus-most

This is used to check and configure the MAC address.

/sys/bus/most/devices/<dev>/dci/mep_filter

Defined on filesysfs-bus-most

This is used to check and configure the MEP filter address.

/sys/bus/most/devices/<dev>/dci/mep_hash0

Defined on filesysfs-bus-most

This is used to check and configure the MEP hash table.

/sys/bus/most/devices/<dev>/dci/mep_hash1

Defined on filesysfs-bus-most

This is used to check and configure the MEP hash table.

/sys/bus/most/devices/<dev>/dci/mep_hash2

Defined on filesysfs-bus-most

This is used to check and configure the MEP hash table.

/sys/bus/most/devices/<dev>/dci/mep_hash3

Defined on filesysfs-bus-most

This is used to check and configure the MEP hash table.

/sys/bus/most/devices/<dev>/dci/ni_state

Defined on filesysfs-bus-most

Indicates the current network interface state.

/sys/bus/most/devices/<dev>/dci/node_address

Defined on filesysfs-bus-most

Indicates the current node address.

/sys/bus/most/devices/<dev>/dci/node_position

Defined on filesysfs-bus-most

Indicates the current node position.

/sys/bus/most/devices/<dev>/dci/packet_bandwidth

Defined on filesysfs-bus-most

Indicates the configured packet bandwidth.

/sys/bus/most/devices/<dev>/dci/sync_ep

Defined on filesysfs-bus-most

Triggers the controller’s synchronization process for a certainendpoint.

/sys/bus/most/devices/<dev>/description

Defined on filesysfs-bus-most

Provides information about the physical location of thedevice. Hardware attached via USB, for instance,might return <1-1.1:1.0>

/sys/bus/most/devices/<dev>/interface

Defined on filesysfs-bus-most

Indicates the type of peripheral interface the device uses.

/sys/bus/most/drivers/most_core/components

Defined on filesysfs-bus-most

This is used to retrieve a list of registered components.

/sys/bus/most/drivers/most_core/links

Defined on filesysfs-bus-most

This is used to retrieve a list of established links.

/sys/bus/moxtet/devices/moxtet-<name>.<addr>/module_description

Defined on filesysfs-bus-moxtet-devices

(Read) Moxtet module description. Format: string

/sys/bus/moxtet/devices/moxtet-<name>.<addr>/module_id

Defined on filesysfs-bus-moxtet-devices

(Read) Moxtet module ID. Format: %x

/sys/bus/moxtet/devices/moxtet-<name>.<addr>/module_name

Defined on filesysfs-bus-moxtet-devices

(Read) Moxtet module name. Format: string

/sys/bus/nd/devices/ndbusX/nfit/dsm_mask

Defined on filesysfs-bus-nfit

(RO) The bitmask indicates the supported bus specific controlfunctions. See the section named ‘NVDIMM Root Device _DSMs’ inthe ACPI specification.

/sys/bus/nd/devices/ndbusX/nfit/firmware_activate_noidle

Defined on filesysfs-bus-nfit

(RW) The Intel platform implementation of firmware activatesupport exposes an option let the platform force idle devices inthe system over the activation event, or trust that the OS willdo it. The safe default is to let the platform force idledevices since the kernel is already in a suspend state, and onthe chance that a driver does not properly quiesce bus-masteringafter a suspend callback the platform will handle it. However,the activation might abort if, for example, platform firmwaredetermines that the activation time exceeds the max PCI-Ecompletion timeout. Since the platform does not know whether theOS is running the activation from a suspend context it aborts,but if the system owner trusts driver suspend callback to besufficient then ‘firmware_activation_noidle’ can beenabled to bypass the activation abort.

/sys/bus/nd/devices/ndbusX/nfit/hw_error_scrub

Defined on filesysfs-bus-nfit

(RW) Provides a way to toggle the behavior between just addingthe address (cache line) where the MCE happened to the poisonlist and doing a full scrub. The former (selective insertion ofthe address) is done unconditionally.

This attribute can have the following values written to it:

‘0’: Switch to the default mode where an exception will onlyinsert the address of the memory error into the poison andbadblocks lists.‘1’: Enable a full scrub to happen if an exception for a memoryerror is received.

/sys/bus/nd/devices/ndbusX/nfit/revision

Defined on filesysfs-bus-nfit

(RO) ACPI NFIT table revision number.

/sys/bus/nd/devices/ndbusX/nfit/scrub

Defined on filesysfs-bus-nfit

(RW) This shows the number of full Address Range Scrubs (ARS)that have been completed since driver load time. Userspace canwait on this using select/poll etc. A ‘+’ at the end indicatesan ARS is in progress

Writing a value of 1 triggers an ARS scan.

/sys/bus/nd/devices/nmemX/cxl/id

Defined on filesysfs-bus-nvdimm

(RO) Show the id (serial) of the device. This is CXL specific.

/sys/bus/nd/devices/nmemX/cxl/provider

Defined on filesysfs-bus-nvdimm

(RO) Shows the CXL bridge device that ties to a CXL memory deviceto this NVDIMM device. I.e. the parent of the device returned isa /sys/bus/cxl/devices/memX instance.

/sys/bus/nd/devices/nmemX/nfit/device

Defined on filesysfs-bus-nfit

(RO) Device id for the NVDIMM, assigned by the module vendor.

/sys/bus/nd/devices/nmemX/nfit/dsm_mask

Defined on filesysfs-bus-nfit

(RO) The bitmask indicates the supported device specific controlfunctions relative to the NVDIMM command family supported by thedevice

/sys/bus/nd/devices/nmemX/nfit/family

Defined on filesysfs-bus-nfit

(RO) Displays the NVDIMM family command sets. Values0, 1, 2 and 3 correspond to NVDIMM_FAMILY_INTEL,NVDIMM_FAMILY_HPE1, NVDIMM_FAMILY_HPE2 and NVDIMM_FAMILY_MSFTrespectively.

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

/sys/bus/nd/devices/nmemX/nfit/flags

Defined on filesysfs-bus-nfit

(RO) The flags in the NFIT memory device sub-structure indicatethe state of the data on the nvdimm relative to its energysource or last “flush to persistence”.

The attribute is a translation of the ‘NVDIMM State Flags’ fieldin section 5.2.25.3 ‘NVDIMM Region Mapping’ Structure of theACPI specification 6.2.

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

/sys/bus/nd/devices/nmemX/nfit/format

/sys/bus/nd/devices/nmemX/nfit/format1

/sys/bus/nd/devices/nmemX/nfit/formats

Defined on filesysfs-bus-nfit

(RO) The interface codes indicate support for persistent memorymapped directly into system physical address space and / or ablock aperture access mechanism to the NVDIMM media.The ‘formats’ attribute displays the number of supportedinterfaces.

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

/sys/bus/nd/devices/nmemX/nfit/handle

Defined on filesysfs-bus-nfit

(RO) The address (given by the _ADR object) of the device on itsparent bus of the NVDIMM device containing the NVDIMM region.

/sys/bus/nd/devices/nmemX/nfit/id

Defined on filesysfs-bus-nfit

(RO) ACPI specification 6.2 section 5.2.25.9, defines anidentifier for an NVDIMM, which reflects the id attribute.

/sys/bus/nd/devices/nmemX/nfit/phys_id

Defined on filesysfs-bus-nfit

(RO) Handle (i.e., instance number) for the SMBIOS (systemmanagement BIOS) Memory Device structure describing the NVDIMMcontaining the NVDIMM region.

/sys/bus/nd/devices/nmemX/nfit/rev_id

Defined on filesysfs-bus-nfit

(RO) Revision of the NVDIMM, assigned by the module vendor.

/sys/bus/nd/devices/nmemX/nfit/serial

Defined on filesysfs-bus-nfit

(RO) Serial number of the NVDIMM (non-volatile dual in-linememory module), assigned by the module vendor.

/sys/bus/nd/devices/nmemX/nfit/subsystem_device

Defined on filesysfs-bus-nfit

(RO) Sub-system device id for the NVDIMM non-volatile memorysubsystem controller, assigned by the non-volatile memorysubsystem controller vendor.

/sys/bus/nd/devices/nmemX/nfit/subsystem_rev_id

Defined on filesysfs-bus-nfit

(RO) Sub-system revision id of the NVDIMM non-volatile memory subsystemcontroller, assigned by the non-volatile memory subsystemcontroller vendor.

/sys/bus/nd/devices/nmemX/nfit/subsystem_vendor

Defined on filesysfs-bus-nfit

(RO) Sub-system vendor id of the NVDIMM non-volatile memorysubsystem controller.

/sys/bus/nd/devices/nmemX/nfit/vendor

Defined on filesysfs-bus-nfit

(RO) Vendor id of the NVDIMM.

/sys/bus/nd/devices/nmemX/papr/flags

Defined on filesysfs-bus-papr-pmem

(RO) Report flags indicating various states of apapr-pmem NVDIMM device. Each flag maps to a one ormore bits set in the dimm-health-bitmap retrieved inresponse to H_SCM_HEALTH hcall. The details of the bitflags returned in response to this hcall is availableat ‘Hypercall Op-codes (hcalls)’ . Below arethe flags reported in this sysfs file:

  • “not_armed”

    Indicates that NVDIMM contents will notsurvive a power cycle.

  • “flush_fail”

    Indicates that NVDIMM contentscouldn’t be flushed during lastshut-down event.

  • “restore_fail”

    Indicates that NVDIMM contentscouldn’t be restored during NVDIMMinitialization.

  • “encrypted”

    NVDIMM contents are encrypted.

  • “smart_notify”

    There is health event for the NVDIMM.

  • “scrubbed”

    Indicating that contents of theNVDIMM have been scrubbed.

  • “locked”

    Indicating that NVDIMM contents can’tbe modified until next power cycle.

/sys/bus/nd/devices/nmemX/papr/health_bitmap_inject

Defined on filesysfs-bus-papr-pmem

(RO) Reports the health bitmap inject bitmap that is applied tobitmap received from PowerVM via the H_SCM_HEALTH. This is usedto forcibly set specific bits returned from Hcall. These is thenused to simulate various health or shutdown states for an nvdimmand are set by user-space tools like ndctl by issuing a PAPR DSM.

/sys/bus/nd/devices/nmemX/papr/perf_stats

Defined on filesysfs-bus-papr-pmem

(RO) Report various performance stats related to papr-scm NVDIMMdevice. This attribute is only available for NVDIMM devicesthat support reporting NVDIMM performance stats. Each stat isreported on a new line with each line composed of astat-identifier followed by it value. Below are currently knowndimm performance stats which are reported:

  • “CtlResCt” : Controller Reset Count

  • “CtlResTm” : Controller Reset Elapsed Time

  • “PonSecs “ : Power-on Seconds

  • “MemLife “ : Life Remaining

  • “CritRscU” : Critical Resource Utilization

  • “HostLCnt” : Host Load Count

  • “HostSCnt” : Host Store Count

  • “HostSDur” : Host Store Duration

  • “HostLDur” : Host Load Duration

  • “MedRCnt “ : Media Read Count

  • “MedWCnt “ : Media Write Count

  • “MedRDur “ : Media Read Duration

  • “MedWDur “ : Media Write Duration

  • “CchRHCnt” : Cache Read Hit Count

  • “CchWHCnt” : Cache Write Hit Count

  • “FastWCnt” : Fast Write Count

/sys/bus/nd/devices/regionX/nfit/range_index

Defined on filesysfs-bus-nfit

(RO) A unique number provided by the BIOS to identify an addressrange. Used by NVDIMM Region Mapping Structure to uniquely referto this structure. Value of 0 is reserved and not used as anindex.

/sys/bus/nvmem/devices/.../cells/<cell-name>

Defined on filesysfs-nvmem-cells

The “cells” folder contains one file per cell exposed by theNVMEM device. The name of the file is: “<name>@<byte>,<bit>”,with <name> being the cell name and <where> its location inthe NVMEM device, in hexadecimal bytes and bits (without the‘0x’ prefix, to mimic device tree node names). The length ofthe file is the size of the cell (when known). The content ofthe file is the binary content of the cell (may sometimes beASCII, likely without trailing character).Note: This file is only present if CONFIG_NVMEM_SYSFSis enabled.

Example:

hexdump -C /sys/bus/nvmem/devices/1-00563/cells/product-name@d,000000000  54 4e 34 38 4d 2d 50 2d  44 4e         |TN48M-P-DN|0000000a

/sys/bus/pci/devices/.../acpi_index

Defined on filesysfs-bus-pci

Reading this attribute will provide the firmwaregiven instance (ACPI _DSM instance number) of the PCI device.The attribute will be created only if the firmware has givenan instance number to the PCI device. ACPI _DSM instance numberwill be given priority if the system firmware provides SMBIOStype 41 device type instance also.

Users:

Userspace applications interested in knowing thefirmware assigned instance number of the PCIdevice that can help in understanding the firmwareintended order of the PCI device.

/sys/bus/pci/devices/.../authenticated

Defined on filesysfs-bus-pci

When the device’s tsm/ directory is present deviceauthentication (PCIe CMA-SPDM) and link encryption (PCIe IDE)are handled by the platform TSM (TEE Security Manager). When thetsm/ directory is not present this attribute reflects only thenative CMA-SPDM authentication state with the kernel’scertificate store.

If the attribute is not present, it indicates thatauthentication is unsupported by the device, or the TSM has noavailable authentication methods for the device.

When present and the tsm/ attribute directory is present, theauthenticated attribute is an alias for the device ‘connect’state. See the ‘tsm/connect’ attribute for more details.

/sys/bus/pci/devices/.../d3cold_allowed

Defined on filesysfs-bus-pci

d3cold_allowed is bit to control whether the corresponding PCIdevice can be put into D3Cold state. If it is cleared, thedevice will never be put into D3Cold state. If it is set, thedevice may be put into D3Cold state if other requirements aresatisfied too. Reading this attribute will show the currentvalue of d3cold_allowed bit. Writing this attribute will setthe value of d3cold_allowed bit.

/sys/bus/pci/devices/.../dep_link

Defined on filesysfs-bus-pci

This symbolic link appears when hardware supports the SR-IOVcapability 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 ofPhysical Function this device depends on.

/sys/bus/pci/devices/.../doe_features

Defined on filesysfs-bus-pci

This directory contains a list of the supported Data ObjectExchange (DOE) features. The features are the file name.The contents of each file is the raw Vendor ID and dataobject feature values.

The value comes from the device and specifies the vendor anddata object type supported. The lower (RHS of the colon) isthe data object type in hex. The upper (LHS of the colon)is the vendor ID.

As all DOE devices must support the DOE discovery feature,if DOE is supported you will at least see the doe_discoveryfile, with this contents:

# cat doe_features/doe_discovery0001:00

If the device supports other features you will see otherfiles as well. For example if CMA/SPDM and secure CMA/SPDMare supported the doe_features directory will look likethis:

# ls doe_features0001:01 0001:02 doe_discovery

/sys/bus/pci/devices/.../driver_override

Defined on filesysfs-bus-pci

This file allows the driver for a device to be specified whichwill override standard static and dynamic ID matching. Whenspecified, only a driver with a name matching the value writtento driver_override will have an opportunity to bind to thedevice. The override is specified by writing a string to thedriver_override file (echo pci-stub > driver_override) andmay 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 thedevice from its current driver or make any attempt toautomatically load the specified driver. If no driver with amatching name is currently loaded in the kernel, the devicewill not bind to any driver. This also allows devices toopt-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.

/sys/bus/pci/devices/.../index

Defined on filesysfs-bus-pci

Reading this attribute will provide the firmware given instancenumber of the PCI device. Depending on the platform this canbe for example the SMBIOS type 41 device type instance or theuser-defined ID (UID) on s390. The attribute will be createdonly if the firmware has given an instance number to the PCIdevice and that number is guaranteed to uniquely identify thedevice in the system.

Users:

Userspace applications interested in knowing thefirmware assigned device type instance of the PCIdevice that can help in understanding the firmwareintended order of the PCI device.

/sys/bus/pci/devices/.../irq

Defined on filesysfs-bus-pci

If a driver has enabled MSI (not MSI-X), “irq” contains theIRQ of the first MSI vector. Otherwise “irq” contains theIRQ of the legacy INTx interrupt.

“irq” being set to 0 indicates that the device isn’tcapable of generating legacy INTx interrupts.

/sys/bus/pci/devices/.../label

Defined on filesysfs-bus-pci

Reading this attribute will provide the firmwaregiven name (SMBIOS type 41 string or ACPI _DSM string) ofthe PCI device. The attribute will be created onlyif the firmware has given a name to the PCI device.ACPI _DSM string name will be given priority if thesystem firmware provides SMBIOS type 41 string also.

Users:

Userspace applications interested in knowing thefirmware assigned name of the PCI device.

/sys/bus/pci/devices/.../leds/*:enclosure:*/brightness

/sys/class/leds/*:enclosure:*/brightness

Defined on filesysfs-bus-pci

LED indications on PCIe storage enclosures which are controlledthrough the NPEM interface (Native PCIe Enclosure Management,PCIe r6.1 sec 6.28) are accessible as led class devices, bothbelow /sys/class/leds and below NPEM-capable PCI devices.

Although these led class devices could be manipulated manually,in practice they are typically manipulated automatically by anapplication such as ledmon(8).

The name of a led class device is as follows:<bdf>:enclosure:<indication>where:

  • <bdf> is the domain, bus, device and function number(e.g. 10000:02:05.0)

  • <indication> is a short description of the LED indication

Valid indications per PCIe r6.1 table 6-27 are:

  • ok (drive is functioning normally)

  • locate (drive is being identified by an admin)

  • fail (drive is not functioning properly)

  • rebuild (drive is part of an array that is rebuilding)

  • pfa (drive is predicted to fail soon)

  • hotspare (drive is marked to be used as a replacement)

  • ica (drive is part of an array that is degraded)

  • ifa (drive is part of an array that is failed)

  • idt (drive is not the right type for the connector)

  • disabled (drive is disabled, removal is safe)

  • specific0 to specific7 (enclosure-specific indications)

Broadly, the indications fall into one of these categories:

  • to signify drive state (ok, locate, fail, idt, disabled)

  • to signify drive role or state in a software RAID array(rebuild, pfa, hotspare, ica, ifa)

  • to signify any other role or state (specific0 to specific7)

Mandatory indications per PCIe r6.1 sec 7.9.19.2 comprise:ok, locate, fail, rebuild. All others are optional.A led class device is only visible if the correspondingindication is supported by the device.

To manipulate the indications, write 0 (LED_OFF) or 1 (LED_ON)to the “brightness” file. Note that manipulating an indicationmay implicitly manipulate other indications at the vendor’sdiscretion. E.g. when the user lights up the “ok” indication,the vendor may choose to automatically turn off the “fail”indication. The current state of an indication can beretrieved by reading its “brightness” file.

The PCIe Base Specification allows vendors leeway to choosedifferent colors or blinking patterns for the indications,but they typically follow the IBPI standard. E.g. the “locate”indication is usually presented as one or two LEDs blinking at4 Hz frequency:https://en.wikipedia.org/wiki/International_Blinking_Pattern_Interpretation

PCI Firmware Specification r3.3 sec 4.7 defines a DSM interfaceto facilitate shared access by operating system and platformfirmware to a device’s NPEM registers. The kernel will usethis DSM interface where available, instead of accessing NPEMregisters directly. The DSM interface does not support theenclosure-specific indications “specific0” to “specific7”,hence the corresponding led class devices are unavailable ifthe DSM interface is used.

/sys/bus/pci/devices/.../link/clkpm

/sys/bus/pci/devices/.../link/l0s_aspm

/sys/bus/pci/devices/.../link/l1_aspm

/sys/bus/pci/devices/.../link/l1_1_aspm

/sys/bus/pci/devices/.../link/l1_2_aspm

/sys/bus/pci/devices/.../link/l1_1_pcipm

/sys/bus/pci/devices/.../link/l1_2_pcipm

Defined on filesysfs-bus-pci

If ASPM is supported for an endpoint, these files can beused to disable or enable the individual power managementstates. Write y/1/on to enable, n/0/off to disable.

/sys/bus/pci/devices/.../modalias

Defined on filesysfs-bus-pci

This attribute indicates the PCI ID of the device object.

That is in the format:pci:vXXXXXXXXdXXXXXXXXsvXXXXXXXXsdXXXXXXXXbcXXscXXiXX,where:

  • vXXXXXXXX contains the vendor ID;

  • dXXXXXXXX contains the device ID;

  • svXXXXXXXX contains the sub-vendor ID;

  • sdXXXXXXXX contains the subsystem device ID;

  • bcXX contains the device class;

  • scXX contains the device subclass;

  • iXX contains the device class programming interface.

/sys/bus/pci/devices/.../msi_bus

Defined on filesysfs-bus-pci

Writing a zero value to this attribute disallows MSI andMSI-X for any future drivers of the device. If the deviceis a bridge, MSI and MSI-X will be disallowed for futuredrivers of all child devices under the bridge. Driversmust be reloaded for the new setting to take effect.

/sys/bus/pci/devices/.../msi_irqs/

Defined on filesysfs-bus-pci

The /sys/devices/.../msi_irqs directory contains a variable setof files, with each file being named after a corresponding msiirq vector allocated to that device.

/sys/bus/pci/devices/.../msi_irqs/<N>

Defined on filesysfs-bus-pci

This attribute indicates the mode that the irq vector named bythe file is in (msi vs. msix)

/sys/bus/pci/devices/.../numa_node

Defined on filesysfs-bus-pci

This file contains the NUMA node to which the PCI device isattached, or -1 if the node is unknown. The initial valuecomes from an ACPI _PXM method or a similar firmwaresource. If that is missing or incorrect, this file can bewritten to override the node. In that case, please reporta firmware bug to the system vendor. Writing to this filetaints the kernel with TAINT_FIRMWARE_WORKAROUND, whichreduces the supportability of your system.

/sys/bus/pci/devices/.../p2pmem/allocate

Defined on filesysfs-bus-pci

This file allows mapping p2pmem into userspace. For eachmmap() call on this file, the kernel will allocate a chunkof Peer-to-Peer memory for use in Peer-to-Peer transactions.This memory can be used in O_DIRECT calls to NVMe backedfiles for Peer-to-Peer copies.

/sys/bus/pci/devices/.../p2pmem/available

Defined on filesysfs-bus-pci

If the device has any Peer-to-Peer memory registered, thisfile contains the amount of memory that has not beenallocated (in decimal).

/sys/bus/pci/devices/.../p2pmem/published

Defined on filesysfs-bus-pci

If the device has any Peer-to-Peer memory registered, thisfile contains a ‘1’ if the memory has been published foruse outside the driver that owns the device.

/sys/bus/pci/devices/.../p2pmem/size

Defined on filesysfs-bus-pci

If the device has any Peer-to-Peer memory registered, thisfile contains the total amount of memory that the deviceprovides (in decimal).

/sys/bus/pci/devices/.../pci_bus/.../rescan

Defined on filesysfs-bus-pci

Writing a non-zero value to this attribute willforce a rescan of the bus and all child buses,and re-discover devices removed earlier from thispart of the device tree.

/sys/bus/pci/devices/.../physfn

Defined on filesysfs-bus-pci

This symbolic link appears when a device is a Virtual Function.The symbolic link points to the PCI device sysfs entry of thePhysical Function this device associates with.

/sys/bus/pci/devices/.../power_state

Defined on filesysfs-bus-pci

This file contains the current PCI power state of the device.The value comes from the PCI kernel device state and can be oneof: “unknown”, “error”, “D0”, D1”, “D2”, “D3hot”, “D3cold”.The file is read only.

/sys/bus/pci/devices/.../remove

Defined on filesysfs-bus-pci

Writing a non-zero value to this attribute willhot-remove the PCI device and any of its children.

/sys/bus/pci/devices/.../rescan

Defined on filesysfs-bus-pci

Writing a non-zero value to this attribute willforce a rescan of the device’s parent bus and allchild buses, and re-discover devices removed earlierfrom this part of the device tree.

/sys/bus/pci/devices/.../reset

Defined on filesysfs-bus-pci

Some devices allow an individual function to be resetwithout affecting other functions in the same device.For devices that have this support, a file named resetwill be present in sysfs. Writing 1 to this filewill perform reset.

/sys/bus/pci/devices/.../reset_method

Defined on filesysfs-bus-pci

Some devices allow an individual function to be resetwithout affecting other functions in the same slot.

For devices that have this support, a file namedreset_method is present in sysfs. Reading this filegives names of the supported and enabled reset methods andtheir ordering. Writing a space-separated list of names ofreset methods sets the reset methods and ordering to beused when resetting the device. Writing an empty stringdisables the ability to reset the device. Writing“default” enables all supported reset methods in thedefault ordering.

/sys/bus/pci/devices/.../reset_subordinate

Defined on filesysfs-bus-pci

This is visible only for bridge devices. If you want to resetall devices attached through the subordinate bus of a specificbridge device, writing 1 to this will try to do it. This willaffect all devices attached to the system through this bridgesimiliar to writing 1 to their individual “reset” file, so usewith caution.

/sys/bus/pci/devices/.../resourceN_resize

Defined on filesysfs-bus-pci

These files provide an interface to PCIe Resizable BAR support.A file is created for each BAR resource (N) supported by thePCIe Resizable BAR extended capability of the device. Readingeach file exposes the bitmap of available resource sizes:

# cat resource1_resize00000000000001c0

The bitmap represents supported resource sizes for the BAR,where bit0 = 1MB, bit1 = 2MB, bit2 = 4MB, etc. In the aboveexample the device supports 64MB, 128MB, and 256MB BAR sizes.

When writing the file, the user provides the bit position ofthe desired resource size, for example:

# echo 7 > resource1_resize

This indicates to set the size value corresponding to bit 7,128MB. The resulting size is 2 ^ (bit# + 20). This definitionmatches the PCIe specification of this capability.

In order to make use of resource resizing, all PCI drivers mustbe unbound from the device and peer devices under the sameparent bridge may need to be soft removed. In the case ofVGA devices, writing a resize value will remove low levelconsole drivers from the device. Raw users of pci-sysfsresourceN attributes must be terminated prior to resizing.Success of the resizing operation is not guaranteed.

/sys/bus/pci/devices/.../revision

Defined on filesysfs-bus-pci

This file contains the revision field of the PCI device.The value comes from device config space. The file is read only.

/sys/bus/pci/devices/.../serial_number

Defined on filesysfs-bus-pci

This is visible only for PCI devices that support the serialnumber extended capability. The file is read only and due tothe possible sensitivity of accessible serial numbers, adminonly.

/sys/bus/pci/devices/.../sriov_drivers_autoprobe

Defined on filesysfs-bus-pci

This file is associated with the PF of a device thatsupports SR-IOV. It determines whether newly-enabled VFsare immediately bound to a driver. It initially contains1, which means the kernel automatically binds VFs to acompatible driver immediately after they are enabled. Ifan 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 enableVFs, 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 disablethe VFs, write 0 to sriov_drivers_autoprobe, then re-enablethe VFs.

This is similar to /sys/bus/pci/drivers_autoprobe, butaffects only the VFs associated with a specific PF.

/sys/bus/pci/devices/.../sriov_numvfs

Defined on filesysfs-bus-pci

This file appears when a physical PCIe device supports SR-IOV.Userspace applications can read and write to this file todetermine and control the enablement or disablement of VirtualFunctions (VFs) on the physical function (PF). A read of thisfile will return the number of VFs that are enabled on this PF.A number written to this file will enable the specifiednumber of VFs. A userspace application would typically read thefile and check that the value is zero, and then write the numberof VFs that should be enabled on the PF; the value writtenshould be less than or equal to the value in the sriov_totalvfsfile. A userspace application wanting to disable the VFs wouldwrite a zero to this file. The core ensures that valid valuesare written to this file, and returns errors when values are notvalid. For example, writing a 2 to this file when sriov_numvfsis not 0 and not 2 already will return an error. Writing a 10when the value of sriov_totalvfs is 8 will return an error.

/sys/bus/pci/devices/.../sriov_totalvfs

Defined on filesysfs-bus-pci

This file appears when a physical PCIe device supports SR-IOV.Userspace applications can read this file to determine themaximum number of Virtual Functions (VFs) a PCIe physicalfunction (PF) can support. Typically, this is the value reportedin the PF’s SR-IOV extended capability structure’s TotalVFselement. Drivers have the ability at probe time to reduce thevalue read from this file via thepci_sriov_set_totalvfs()function.

/sys/bus/pci/devices/.../sriov_vf_msix_count

Defined on filesysfs-bus-pci

This file is associated with a SR-IOV virtual function (VF).It allows configuration of the number of MSI-X vectors forthe VF. This allows devices that have a global pool of MSI-Xvectors to optimally divide them between VFs based on VF usage.

The values accepted are:
  • > 0 - this number will be reported as the Table Size in the

    VF’s MSI-X capability

  • < 0 - not valid

  • = 0 - will reset to the device default value

The file is writable if the PF is bound to a driver thatimplements ->sriov_set_msix_vec_count().

/sys/bus/pci/devices/.../sriov_vf_total_msix

Defined on filesysfs-bus-pci

This file is associated with a SR-IOV physical function (PF).It contains the total number of MSI-X vectors available forassignment to all virtual functions (VFs) associated with PF.The value will be zero if the device doesn’t support thisfunctionality. For supported devices, the value will beconstant and won’t be changed after MSI-X vectors assignment.

/sys/bus/pci/devices/.../tsm/

Defined on filesysfs-bus-pci

This directory only appears if a physical device functionsupports authentication (PCIe CMA-SPDM), interface security(PCIe TDISP), and is accepted for secure operation by theplatform TSM driver. This attribute directory appearsdynamically after the platform TSM driver loads. So, only afterthe /sys/class/tsm/tsm0 device arrives can tools assume thatdevices without a tsm/ attribute directory will never have one;before that, the security capabilities of the device relative tothe platform TSM are unknown. Seetesting/sysfs-class-tsm.

/sys/bus/pci/devices/.../tsm/bound

Defined on filesysfs-bus-pci

(RO) Return the device name of the TSM when the device is in aTDISP (TEE Device Interface Security Protocol) operational state(LOCKED, RUN, or ERROR, not UNLOCKED). Bound devices consumeplatform TSM resources and depend on the device’s configuration(e.g. BME (Bus Master Enable) and MSE (Memory Space Enable)among other settings) to remain stable for the duration of thebound state. This attribute is only visible for devices thatsupport TDISP operation, and it is only populated aftersuccessful connect and TSM bind. The TSM bind operation isinitiated by VFIO/IOMMUFD. This is a “link” TSM attribute, seetesting/sysfs-class-tsm.

/sys/bus/pci/devices/.../tsm/connect

Defined on filesysfs-bus-pci

(RW) Write the name of a TSM (TEE Security Manager) device from/sys/class/tsm to this file to establish a connection with thedevice. This typically includes an SPDM (DMTF SecurityProtocols and Data Models) session over PCIe DOE (Data ObjectExchange) and may also include PCIe IDE (Integrity and DataEncryption) establishment. Reads from this attribute return thename of the connected TSM or the empty string if notconnected. A TSM device signals its readiness to accept PCIconnection via a KOBJ_CHANGE event.

/sys/bus/pci/devices/.../tsm/disconnect

Defined on filesysfs-bus-pci

(WO) Write the name of the TSM device that was specifiedto ‘connect’ to teardown the connection.

/sys/bus/pci/devices/.../tsm/dsm

Defined on filesysfs-bus-pci

(RO) Return PCI device name of this device’s DSM (DeviceSecurity Manager). When a device is in the connected state itindicates that the platform TSM (TEE Security Manager) has madea secure-session connection with a device’s DSM. A DSM is alwaysphysical function 0 and when the device supports TDISP (TEEDevice Interface Security Protocol) its managed functions alsopopulate this tsm/dsm attribute. The managed functions of a DSMare SR-IOV (Single Root I/O Virtualization) virtual functions,non-zero functions of a multi-function device, or downstreamendpoints depending on whether the DSM is an SR-IOV physicalfunction, function0 of a multi-function device, or an upstreamPCIe switch port. This is a “link” TSM attribute, seetesting/sysfs-class-tsm.

/sys/bus/pci/devices/.../virtfn<N>

Defined on filesysfs-bus-pci

This symbolic link appears when hardware supports the SR-IOVcapability and the Physical Function driver has enabled it.The symbolic link points to the PCI device sysfs entry of theVirtual Function whose index is N (0...MaxVFs-1).

/sys/bus/pci/devices/.../vpd

Defined on filesysfs-bus-pci

A file named vpd in a device directory will be abinary file containing the Vital Product Data for thedevice. It should follow the VPD format defined inPCI Specification 2.1 or 2.2, but users should considerthat some devices may have incorrectly formatted data.If the underlying VPD has a writable section then thecorresponding section of this file will be writable.

/sys/bus/pci/devices/<BDF>/anti_rollback_status

Defined on filesysfs-driver-ccp

The /sys/bus/pci/devices/<BDF>/anti_rollback_status file reportswhether the PSP is enforcing rollback protection.Possible values:0: Not enforcing1: Enforcing

/sys/bus/pci/devices/<BDF>/bootloader_version

Defined on filesysfs-driver-ccp

The /sys/bus/pci/devices/<BDF>/bootloader_versionfile reports the firmware version of the AMD AGESAbootloader.

/sys/bus/pci/devices/<BDF>/debug_lock_on

Defined on filesysfs-driver-ccp

The /sys/bus/pci/devices/<BDF>/debug_lock_on reportswhether the AMD CPU or APU has been unlocked for debugging.Possible values:0: Not locked1: Locked

/sys/bus/pci/devices/<BDF>/fused_part

Defined on filesysfs-driver-ccp

The /sys/bus/pci/devices/<BDF>/fused_part file reportswhether the CPU or APU has been fused to prevent tampering.0: Not fused1: Fused

/sys/bus/pci/devices/<BDF>/hsp_tpm_available

Defined on filesysfs-driver-ccp

The /sys/bus/pci/devices/<BDF>/hsp_tpm_available file reportswhether the HSP TPM has been activated.Possible values:0: Not activated or present1: Activated

/sys/bus/pci/devices/<BDF>/qat/auto_reset

Defined on filesysfs-driver-qat

(RW) Reports the current state of the autoreset featurefor a QAT device

Write to the attribute to enable or disable device auto reset.

Device auto reset is disabled by default.

The values are:

  • 1/Yy/on: auto reset enabled. If the device encounters anunrecoverable error, it will be reset automatically.

  • 0/Nn/off: auto reset disabled. If the device encounters anunrecoverable error, it will not be reset.

This attribute is available for qat_4xxx and qat_6xxx devices.

/sys/bus/pci/devices/<BDF>/qat/cfg_services

Defined on filesysfs-driver-qat

(RW) Reports the current configuration of the QAT device.Write to the file to change the configured services.

One or more services can be enabled per device.Certain configurations are restricted to specific device types;where applicable this is explicitly indicated, for example(qat_6xxx) denotes applicability exclusively to that device series.

The available services include:

  • sym: Configures the device for symmetric cryptographic operations.

  • asym: Configures the device for asymmetric cryptographic operations.

  • dc: Configures the device for compression and decompressionoperations.

  • dcc: Similar to dc, but with the additional dc chaining featureenabled, cipher then compress (qat_6xxx), hash then compression.If this is not required choose dc.

  • decomp: Configures the device for decompression operations (qat_6xxx).

Service combinations are permitted for all services except dcc.On QAT GEN4 devices (qat_4xxx driver) a maximum of two services can becombined and on QAT GEN6 devices (qat_6xxx driver ) a maximum of threeservices can be combined.The order of services is not significant. For instance, sym;asym isfunctionally equivalent to asym;sym.

It is possible to set the configuration only if the deviceis in thedown state (see /sys/bus/pci/devices/<BDF>/qat/state)

The following example shows how to change the configuration ofa device configured for running crypto services in order torun data compression:

# cat /sys/bus/pci/devices/<BDF>/qat/stateup# cat /sys/bus/pci/devices/<BDF>/qat/cfg_servicessym;asym# echo down > /sys/bus/pci/devices/<BDF>/qat/state# echo dc > /sys/bus/pci/devices/<BDF>/qat/cfg_services# echo up > /sys/bus/pci/devices/<BDF>/qat/state# cat /sys/bus/pci/devices/<BDF>/qat/cfg_servicesdc

This attribute is available for qat_4xxx and qat_6xxx devices.

/sys/bus/pci/devices/<BDF>/qat/num_rps

Defined on filesysfs-driver-qat

(RO) Returns the number of ring pairs that a single device has.

Example usage:

# cat /sys/bus/pci/devices/<BDF>/qat/num_rps64

This attribute is available for qat_4xxx and qat_6xxx devices.

/sys/bus/pci/devices/<BDF>/qat/pm_idle_enabled

Defined on filesysfs-driver-qat

(RW) This configuration option provides a way to force the device into remaining inthe MAX power state.If idle support is enabled the device will transition to theMIN power state whenidle, otherwise will stay in the MAX power state.Write to the file to enable or disable idle support.

The values are:

  • 0: idle support is disabled

  • 1: idle support is enabled

Default value is 1.

It is possible to set the pm_idle_enabled value only if the deviceis in thedown state (see /sys/bus/pci/devices/<BDF>/qat/state)

The following example shows how to change the pm_idle_enabled ofa device:

# cat /sys/bus/pci/devices/<BDF>/qat/stateup# cat /sys/bus/pci/devices/<BDF>/qat/pm_idle_enabled1# echo down > /sys/bus/pci/devices/<BDF>/qat/state# echo 0 > /sys/bus/pci/devices/<BDF>/qat/pm_idle_enabled# echo up > /sys/bus/pci/devices/<BDF>/qat/state# cat /sys/bus/pci/devices/<BDF>/qat/pm_idle_enabled0

This attribute is available for qat_4xxx and qat_6xxx devices.

/sys/bus/pci/devices/<BDF>/qat/rp2srv

Defined on filesysfs-driver-qat

(RW) This attribute provides a way for a user to query aspecific ring pair for the type of service that it is currentlyconfigured for.

When written to, the value is cached and used to perform theread operation. Allowed values are in the range 0 to N-1, whereN is the max number of ring pairs supported by a device. Thiscan be queried using the attribute qat/num_rps.

A read returns the service associated to the ring pair queried.

The values are:

  • dc: the ring pair is configured for running compression services

  • sym: the ring pair is configured for running symmetric cryptoservices

  • asym: the ring pair is configured for running asymmetric cryptoservices

Example usage:

# echo 1 > /sys/bus/pci/devices/<BDF>/qat/rp2srv# cat /sys/bus/pci/devices/<BDF>/qat/rp2srvsym

This attribute is available for qat_4xxx and qat_6xxx devices.

/sys/bus/pci/devices/<BDF>/qat/state

Defined on filesysfs-driver-qat

(RW) Reports the current state of the QAT device. Write tothe file to start or stop the device.

The values are:

  • up: the device is up and running

  • down: the device is down

It is possible to transition the device from up to down onlyif the device is up and vice versa.

This attribute is available for qat_4xxx and qat_6xxx devices.

/sys/bus/pci/devices/<BDF>/qat_ras/errors_correctable

Defined on filesysfs-driver-qat_ras

(RO) Reports the number of correctable errors detected by the device.

This attribute is only available for qat_4xxx and qat_6xxx devices.

/sys/bus/pci/devices/<BDF>/qat_ras/errors_fatal

Defined on filesysfs-driver-qat_ras

(RO) Reports the number of fatal errors detected by the device.

This attribute is only available for qat_4xxx and qat_6xxx devices.

/sys/bus/pci/devices/<BDF>/qat_ras/errors_nonfatal

Defined on filesysfs-driver-qat_ras

(RO) Reports the number of non fatal errors detected by the device.

This attribute is only available for qat_4xxx and qat_6xxx devices.

/sys/bus/pci/devices/<BDF>/qat_ras/reset_error_counters

Defined on filesysfs-driver-qat_ras

(WO) Write to resets all error counters of a device.

The following example reports how to reset the counters:

# echo 1 > /sys/bus/pci/devices/<BDF>/qat_ras/reset_error_counters# cat /sys/bus/pci/devices/<BDF>/qat_ras/errors_correctable0# cat /sys/bus/pci/devices/<BDF>/qat_ras/errors_nonfatal0# cat /sys/bus/pci/devices/<BDF>/qat_ras/errors_fatal0

This attribute is only available for qat_4xxx and qat_6xxx devices.

/sys/bus/pci/devices/<BDF>/qat_rl/cap_rem

Defined on filesysfs-driver-qat_rl

(RW) This file will return the remaining capability for aparticular service/sla. This is the remaining value that a newSLA can be set to or a current SLA can be increased with.

Example usage:

# echo "asym" > /sys/bus/pci/devices/<BDF>/qat_rl/cap_rem# cat /sys/bus/pci/devices/<BDF>/qat_rl/cap_rem250# echo 250 > /sys/bus/pci/devices/<BDF>/qat_rl/cir# echo "add" > /sys/bus/pci/devices/<BDF>/qat_rl/sla_op# cat /sys/bus/pci/devices/<BDF>/qat_rl/cap_rem0

This attribute is only available for qat_4xxx and qat_6xxx devices.

/sys/bus/pci/devices/<BDF>/qat_rl/cir

Defined on filesysfs-driver-qat_rl

(RW) Committed information rate (CIR). Rate guaranteed to beachieved by a particular SLA. The value is expressed inpermille scale, i.e. 1000 refers to the maximum devicethroughput for a selected service.

After sending a “get” to sla_op, this will be populated with theCIR for that queried SLA.Write to this file before sending an “add/update” sla_op, to setthe SLA to the specified value.

Applicability in sla_op:

  • WRITE: add and update operations

  • READ: get operation

Example usage:

## Write# echo 500 > /sys/bus/pci/devices/<BDF>/qat_rl/cir# echo "add" /sys/bus/pci/devices/<BDF>/qat_rl/sla_op## Read# echo 4 > /sys/bus/pci/devices/<BDF>/qat_rl/id# echo "get" > /sys/bus/pci/devices/<BDF>/qat_rl/sla_op# cat /sys/bus/pci/devices/<BDF>/qat_rl/cir500

This attribute is only available for qat_4xxx and qat_6xxx devices.

/sys/bus/pci/devices/<BDF>/qat_rl/id

Defined on filesysfs-driver-qat_rl

(RW) If written to, the value is used to retrieve a particularSLA and operate on it.This is valid only for the following operations: update, rm,and get.A read of this attribute is only guaranteed to have correct dataafter creation of an SLA.

Applicability in sla_op:

  • WRITE: rm and update operations

  • READ: add and get operations

Example usage:

## Read## Set attributes e.g. cir, pir, srv, etc# echo "add" > /sys/bus/pci/devices/<BDF>/qat_rl/sla_op# cat /sys/bus/pci/devices/<BDF>/qat_rl/id4## Write# echo 7 > /sys/bus/pci/devices/<BDF>/qat_rl/id# echo "get" > /sys/bus/pci/devices/<BDF>/qat_rl/sla_op# cat /sys/bus/pci/devices/<BDF>/qat_rl/rp0x5  ## ring pair ID 0 and ring pair ID 2

This attribute is only available for qat_4xxx and qat_6xxx devices.

/sys/bus/pci/devices/<BDF>/qat_rl/pir

Defined on filesysfs-driver-qat_rl

(RW) Peak information rate (PIR). The maximum rate that can beachieved by that particular SLA. An SLA can reach a valuebetween CIR and PIR when the device is not fully utilized byrequests from other users (assigned to different SLAs).

After sending a “get” to sla_op, this will be populated with thePIR for that queried SLA.Write to this file before sending an “add/update” sla_op, to setthe SLA to the specified value.

Applicability in sla_op:

  • WRITE: add and update operations

  • READ: get operation

Example usage:

## Write# echo 750 > /sys/bus/pci/devices/<BDF>/qat_rl/pir# echo "add" > /sys/bus/pci/devices/<BDF>/qat_rl/sla_op## Read# echo 4 > /sys/bus/pci/devices/<BDF>/qat_rl/id# echo "get" > /sys/bus/pci/devices/<BDF>/qat_rl/sla_op# cat /sys/bus/pci/devices/<BDF>/qat_rl/pir750

This attribute is only available for qat_4xxx and qat_6xxx devices.

/sys/bus/pci/devices/<BDF>/qat_rl/rp

Defined on filesysfs-driver-qat_rl

(RW) When read, reports the current assigned ring pairs for thequeried SLA.When wrote to, configures the ring pairs associated to a new SLA.

The value is a 64-bit bit mask and is written/displayed in hex.Each bit of this mask represents a single ring pair i.e.,bit 1 == ring pair id 0; bit 3 == ring pair id 2.

Selected ring pairs must to be assigned to a single service,i.e. the one provided with the srv attribute. The serviceassigned to a certain ring pair can be checked by queryingthe attribute qat/rp2srv.

The maximum number of ring pairs is 4 per SLA.

Applicability in sla_op:

  • WRITE: add operation

  • READ: get operation

Example usage:

## Read# echo 4 > /sys/bus/pci/devices/<BDF>/qat_rl/id# cat /sys/bus/pci/devices/<BDF>/qat_rl/rp0x5## Write# echo 0x5 > /sys/bus/pci/devices/<BDF>/qat_rl/rp

This attribute is only available for qat_4xxx and qat_6xxx devices.

/sys/bus/pci/devices/<BDF>/qat_rl/sla_op

Defined on filesysfs-driver-qat_rl

(WO) This attribute is used to perform an operation on an SLA.The supported operations are: add, update, rm, rm_all, and get.

Input values must be filled through the associated attribute inthis group before a write to this file.If the operation completes successfully, the associatedattributes will be updated.The associated attributes are: cir, pir, srv, rp, and id.

Supported operations:

  • add: Creates a new SLA with the provided inputs from user.
    • Inputs: cir, pir, srv, and rp

    • Output: id

  • get: Returns the configuration of the specified SLA in id attribute
    • Inputs: id

    • Outputs: cir, pir, srv, and rp

  • update: Updates the SLA with new values set in the following attributes
    • Inputs: id, cir, and pir

  • rm: Removes the specified SLA in the id attribute.
    • Inputs: id

  • rm_all: Removes all the configured SLAs.
    • Inputs: None

This attribute is only available for qat_4xxx and qat_6xxx devices.

/sys/bus/pci/devices/<BDF>/qat_rl/srv

Defined on filesysfs-driver-qat_rl

(RW) Service (SRV). Represents the service (sym, asym, dc)associated to an SLA.Can be written to or queried to set/show the SRV type for an SLA.The SRV attribute is used to specify the SRV type before addingan SLA. After an SLA is configured, reports the serviceassociated to that SLA.

Applicability in sla_op:

  • WRITE: add and update operations

  • READ: get operation

Example usage:

## Write# echo "dc" > /sys/bus/pci/devices/<BDF>/qat_rl/srv# echo "add" > /sys/bus/pci/devices/<BDF>/qat_rl/sla_op# cat /sys/bus/pci/devices/<BDF>/qat_rl/id4## Read# echo 4 > /sys/bus/pci/devices/<BDF>/qat_rl/id# echo "get" > /sys/bus/pci/devices/<BDF>/qat_rl/sla_op# cat /sys/bus/pci/devices/<BDF>/qat_rl/srvdc

This attribute is only available for qat_4xxx and qat_6xxx devices.

/sys/bus/pci/devices/<BDF>/rom_armor_enforced

Defined on filesysfs-driver-ccp

The /sys/bus/pci/devices/<BDF>/rom_armor_enforced file reportswhether RomArmor SPI protection is enforced.Possible values:0: Not enforced1: Enforced

/sys/bus/pci/devices/<BDF>/rpmc_production_enabled

Defined on filesysfs-driver-ccp

The /sys/bus/pci/devices/<BDF>/rpmc_production_enabled file reportswhether Replay Protected Monotonic Counter support has been enabled.Possible values:0: Not enabled1: Enabled

/sys/bus/pci/devices/<BDF>/rpmc_spirom_available

Defined on filesysfs-driver-ccp

The /sys/bus/pci/devices/<BDF>/rpmc_spirom_available file reportswhether an Replay Protected Monotonic Counter supported SPI is installedon the system.Possible values:0: Not present1: Present

/sys/bus/pci/devices/<BDF>/tee_version

Defined on filesysfs-driver-ccp

The /sys/bus/pci/devices/<BDF>/tee_versionfile reports the firmware version of the AMD TrustedExecution Environment (TEE).

/sys/bus/pci/devices/<BDF>/tsme_status

Defined on filesysfs-driver-ccp

The /sys/bus/pci/devices/<BDF>/tsme_status file reportsthe status of transparent secure memory encryption on AMD systems.Possible values:0: Not active1: Active

/sys/bus/pci/devices/<dev>/aer/correctable_ratelimit_burst

Defined on filesysfs-bus-pci-devices-aer

Ratelimit burst for correctable error logs. Writing a valuechanges the number of errors (burst) allowed per intervalbefore ratelimiting. Reading gets the current ratelimitburst. Default is DEFAULT_RATELIMIT_BURST (10).

/sys/bus/pci/devices/<dev>/aer/correctable_ratelimit_interval_ms

Defined on filesysfs-bus-pci-devices-aer

Writing 0 disables AER correctable error log ratelimiting.Writing a positive value sets the ratelimit interval in ms.Default is DEFAULT_RATELIMIT_INTERVAL (5000 ms).

/sys/bus/pci/devices/<dev>/aer/nonfatal_ratelimit_burst

Defined on filesysfs-bus-pci-devices-aer

Ratelimit burst for non-fatal uncorrectable error logs.Writing a value changes the number of errors (burst)allowed per interval before ratelimiting. Reading gets thecurrent ratelimit burst. Default is DEFAULT_RATELIMIT_BURST(10).

/sys/bus/pci/devices/<dev>/aer/nonfatal_ratelimit_interval_ms

Defined on filesysfs-bus-pci-devices-aer

Writing 0 disables AER non-fatal uncorrectable error logratelimiting. Writing a positive value sets the ratelimitinterval in ms. Default is DEFAULT_RATELIMIT_INTERVAL(5000 ms).

/sys/bus/pci/devices/<dev>/aer_dev_correctable

Defined on filesysfs-bus-pci-devices-aer

List of correctable errors seen and reported by thisPCI device using ERR_COR. Note that since multiple errors maybe reported using a single ERR_COR message, thusTOTAL_ERR_COR at the end of the file may not match the actualtotal of all the errors in the file. Sample output:

localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_correctableReceiver Error 2Bad TLP 0Bad DLLP 0RELAY_NUM Rollover 0Replay Timer Timeout 0Advisory Non-Fatal 0Corrected Internal Error 0Header Log Overflow 0TOTAL_ERR_COR 2

/sys/bus/pci/devices/<dev>/aer_dev_fatal

Defined on filesysfs-bus-pci-devices-aer

List of uncorrectable fatal errors seen and reported by thisPCI device using ERR_FATAL. Note that since multiple errors maybe reported using a single ERR_FATAL message, thusTOTAL_ERR_FATAL at the end of the file may not match the actualtotal of all the errors in the file. Sample output:

localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_fatalUndefined 0Data Link Protocol 0Surprise Down Error 0Poisoned TLP 0Flow Control Protocol 0Completion Timeout 0Completer Abort 0Unexpected Completion 0Receiver Overflow 0Malformed TLP 0ECRC 0Unsupported Request 0ACS Violation 0Uncorrectable Internal Error 0MC Blocked TLP 0AtomicOp Egress Blocked 0TLP Prefix Blocked Error 0TOTAL_ERR_FATAL 0

/sys/bus/pci/devices/<dev>/aer_dev_nonfatal

Defined on filesysfs-bus-pci-devices-aer

List of uncorrectable nonfatal errors seen and reported by thisPCI device using ERR_NONFATAL. Note that since multiple errorsmay be reported using a single ERR_FATAL message, thusTOTAL_ERR_NONFATAL at the end of the file may not match theactual total of all the errors in the file. Sample output:

localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_nonfatalUndefined 0Data Link Protocol 0Surprise Down Error 0Poisoned TLP 0Flow Control Protocol 0Completion Timeout 0Completer Abort 0Unexpected Completion 0Receiver Overflow 0Malformed TLP 0ECRC 0Unsupported Request 0ACS Violation 0Uncorrectable Internal Error 0MC Blocked TLP 0AtomicOp Egress Blocked 0TLP Prefix Blocked Error 0TOTAL_ERR_NONFATAL 0

PCIe Rootport AER statistics

These attributes show up under only the rootports (or root complex eventcollectors) 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 PCIdevice, so these counters include them and are thus cumulative of all the errormessages on the PCI hierarchy originating at that root port.

/sys/bus/pci/devices/<dev>/aer_rootport_total_err_cor

Defined on filesysfs-bus-pci-devices-aer

Total number of ERR_COR messages reported to rootport.

/sys/bus/pci/devices/<dev>/aer_rootport_total_err_fatal

Defined on filesysfs-bus-pci-devices-aer

Total number of ERR_FATAL messages reported to rootport.

/sys/bus/pci/devices/<dev>/aer_rootport_total_err_nonfatal

Defined on filesysfs-bus-pci-devices-aer

Total number of ERR_NONFATAL messages reported to rootport.

PCIe AER ratelimits

These attributes show up under all the devices that are AER capable.They represent configurable ratelimits of logs per error type.

SeeThe PCI Express Advanced Error Reporting Driver Guide HOWTO for more info on ratelimits.

/sys/bus/pci/devices/<dev>/ccissX/cXdY/block:cciss!cXdY

Defined on filesysfs-bus-pci-devices-cciss

A symbolic link to /sys/block/cciss!cXdY

/sys/bus/pci/devices/<dev>/ccissX/cXdY/lunid

Defined on filesysfs-bus-pci-devices-cciss

Displays the 8-byte LUN ID used to address logicaldrive Y of controller X.

/sys/bus/pci/devices/<dev>/ccissX/cXdY/model

Defined on filesysfs-bus-pci-devices-cciss

Displays the SCSI INQUIRY page 0 model for logical driveY of controller X.

/sys/bus/pci/devices/<dev>/ccissX/cXdY/raid_level

Defined on filesysfs-bus-pci-devices-cciss

Displays the RAID level of logical drive Y ofcontroller X.

/sys/bus/pci/devices/<dev>/ccissX/cXdY/rev

Defined on filesysfs-bus-pci-devices-cciss

Displays the SCSI INQUIRY page 0 revision for logicaldrive Y of controller X.

/sys/bus/pci/devices/<dev>/ccissX/cXdY/unique_id

Defined on filesysfs-bus-pci-devices-cciss

Displays the SCSI INQUIRY page 83 serial number for logicaldrive Y of controller X.

/sys/bus/pci/devices/<dev>/ccissX/cXdY/usage_count

Defined on filesysfs-bus-pci-devices-cciss

Displays the usage count (number of opens) of logical drive Yof controller X.

/sys/bus/pci/devices/<dev>/ccissX/cXdY/vendor

Defined on filesysfs-bus-pci-devices-cciss

Displays the SCSI INQUIRY page 0 vendor for logical driveY of controller X.

/sys/bus/pci/devices/<dev>/ccissX/rescan

Defined on filesysfs-bus-pci-devices-cciss

Kicks of a rescan of the controller to discover logicaldrive topology changes.

/sys/bus/pci/devices/<dev>/ccissX/resettable

Defined on filesysfs-bus-pci-devices-cciss

Value of 1 indicates the controller can honor the reset_deviceskernel parameter. Value of 0 indicates reset_devices cannot behonored. This is to allow, for example, kexec tools to be ableto warn the user if they designate an unresettable device asa dump device, as kdump requires resetting the device in orderto work reliably.

/sys/bus/pci/devices/<dev>/ccissX/transport_mode

Defined on filesysfs-bus-pci-devices-cciss

Value of “simple” indicates that the controller has been placedin “simple mode”. Value of “performant” indicates that thecontroller has been placed in “performant mode”.

/sys/bus/pci/drivers/.../bind

/sys/devices/pciX/.../bind

Defined on filesysfs-bus-pci

Writing a device location to this file will causethe driver to attempt to bind to the device found atthis location. This is useful for overriding defaultbindings. The format for the location is: DDDD:BB:DD.F.That is Domain:Bus:Device.Function and is the same asfound 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).

/sys/bus/pci/drivers/.../new_id

/sys/devices/pciX/.../new_id

Defined on filesysfs-bus-pci

Writing a device ID to this file will attempt todynamically add a new device ID to a PCI device driver.This may allow the driver to support more hardware thanwas included in the driver’s static device ID supporttable 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 IDand Device ID fields are required, the rest are optional.Upon successfully adding an ID, the driver will probefor the device and attempt to bind to it. For example:

# echo "8086 10f5" > /sys/bus/pci/drivers/foo/new_id

/sys/bus/pci/drivers/.../remove_id

/sys/devices/pciX/.../remove_id

Defined on filesysfs-bus-pci

Writing a device ID to this file will remove an IDthat 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, DeviceID, Subsystem Vendor ID, Subsystem Device ID, Class,and Class Mask. The Vendor ID and Device ID fields arerequired, the rest are optional. After successfullyremoving an ID, the driver will no longer support thedevice. This is useful to ensure auto probing won’tmatch the driver to the device. For example:

# echo "8086 10f5" > /sys/bus/pci/drivers/foo/remove_id

/sys/bus/pci/drivers/.../unbind

/sys/devices/pciX/.../unbind

Defined on filesysfs-bus-pci

Writing a device location to this file will cause thedriver to attempt to unbind from the device found atthis location. This may be useful when overriding defaultbindings. The format for the location is: DDDD:BB:DD.F.That is Domain:Bus:Device.Function and is the same asfound 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).

/sys/bus/pci/drivers/altera-cvp/chkcfg

Defined on filesysfs-driver-altera-cvp

Contains either 1 or 0 and controls if configurationerror checking in altera-cvp driver is turned on oroff.

/sys/bus/pci/drivers/ehci_hcd/.../companion

/sys/bus/usb/devices/usbN/../companion

Defined on filesysfs-bus-pci-drivers-ehci_hcd

PCI-based EHCI USB controllers (i.e., high-speed USB-2.0controllers) are often implemented along with a set of“companion” full/low-speed USB-1.1 controllers. When ahigh-speed device is plugged in, the connection is routedto the EHCI controller; when a full- or low-speed deviceis plugged in, the connection is routed to the companioncontroller.

Sometimes you want to force a high-speed device to connectat full speed, which can be accomplished by forcing theconnection to be routed to the companion controller.That’s what this file does. Writing a port number to thefile causes connections on that port to be routed to thecompanion controller, and writing the negative of a portnumber returns the port to normal operation.

For example: To force the high-speed device attached toport 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 forcedto the companion controller.

Note: Some EHCI controllers do not have companions; theymay contain an internal “transaction translator” or theymay be attached directly to a “rate-matching hub”. Thismechanism will not work with such controllers. Also, itcannot be used to force a port on a high-speed hub toconnect at full speed.

Note: When this file was first added, it appeared in adifferent sysfs directory. The location given above iscorrect for 2.6.35 (and probably several earlier kernelversions as well).

/sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/curr1_crit

Defined on filesysfs-driver-intel-i915-hwmon

RW. Card reactive critical (I1) power limit in milliamperes.

Card reactive critical (I1) power limit in milliamperes isexposed for server products. The power controller will throttlethe operating frequency if the power averaged over a windowexceeds this limit.

Only supported for particular Intel i915 graphics platforms.

/sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/energy1_input

Defined on filesysfs-driver-intel-i915-hwmon

RO. Energy input of device or gt in microjoules.

For i915 device level hwmon devices (name “i915”) thisreflects energy input for the entire device. For gt levelhwmon devices (name “i915_gtN”) this reflects energy inputfor the gt.

Only supported for particular Intel i915 graphics platforms.

/sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/fan1_input

Defined on filesysfs-driver-intel-i915-hwmon

RO. Fan speed of device in RPM.

Only supported for particular Intel i915 graphics platforms.

/sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/in0_input

Defined on filesysfs-driver-intel-i915-hwmon

RO. Current Voltage in millivolt.

Only supported for particular Intel i915 graphics platforms.

/sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/power1_crit

Defined on filesysfs-driver-intel-i915-hwmon

RW. Card reactive critical (I1) power limit in microwatts.

Card reactive critical (I1) power limit in microwatts is exposedfor client products. The power controller will throttle theoperating frequency if the power averaged over a window exceedsthis limit.

Only supported for particular Intel i915 graphics platforms.

/sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/power1_max

Defined on filesysfs-driver-intel-i915-hwmon

RW. Card reactive sustained (PL1/Tau) power limit in microwatts.

The power controller will throttle the operating frequencyif the power averaged over a window (typically seconds)exceeds this limit. A read value of 0 means that the PL1power limit is disabled, writing 0 disables thelimit. Writing values > 0 will enable the power limit.

Only supported for particular Intel i915 graphics platforms.

/sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/power1_max_interval

Defined on filesysfs-driver-intel-i915-hwmon

RW. Sustained power limit interval (Tau in PL1/Tau) inmilliseconds over which sustained power is averaged.

Only supported for particular Intel i915 graphics platforms.

/sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/power1_rated_max

Defined on filesysfs-driver-intel-i915-hwmon

RO. Card default power limit (default TDP setting).

Only supported for particular Intel i915 graphics platforms.

/sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/temp1_input

Defined on filesysfs-driver-intel-i915-hwmon

RO. GPU package temperature in millidegree Celsius.

Only supported for particular Intel i915 graphics platforms.

/sys/bus/pci/drivers/janz-cmodio/.../modulbus_number

Defined on filesysfs-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)

/sys/bus/pci/drivers/pciback/allow_interrupt_control

Defined on filesysfs-driver-pciback

List of devices which can have interrupt control flag (INTx,MSI, MSI-X) set by a connected guest. It is meant to be setonly when the guest is a stubdomain hosting device model (qemu)and the actual device is assigned to a HVM. It is not safe(similar to permissive attribute) to set for a devices assignedto a PV guest. The device is automatically removed from thislist when the connected pcifront terminates.

/sys/bus/pci/drivers/pciback/quirks

Defined on filesysfs-driver-pciback

If the permissive attribute is set, then writing a string inthe format of DDDD:BB:DD.F-REG:SIZE:MASK will allow the guestto 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 configurationregister 0x0E.

/sys/bus/pci/drivers/pcie_mp2_amd/*/hpd

Defined on filesysfs-driver-amd-sfh

Human presence detection (HPD) enable/disable.When HPD is enabled, the device will be able to detect thepresence of a human and will send an interrupt that can beused to wake the system from a low power state.When HPD is disabled, the device will not be able to detectthe presence of a human.

Access: Read/WriteValid values: enabled/disabled

/sys/bus/pci/drivers/qaic/XXXX:XX:XX.X/ce_count

Defined on filesysfs-driver-qaic

Number of correctable errors received from device since driver is loaded.

/sys/bus/pci/drivers/qaic/XXXX:XX:XX.X/ue_count

Defined on filesysfs-driver-qaic

Number of uncorrectable errors received from device since driver is loaded.

/sys/bus/pci/drivers/qaic/XXXX:XX:XX.X/ue_nonfatal_count

Defined on filesysfs-driver-qaic

Number of uncorrectable non-fatal errors received from device since driveris loaded.

/sys/bus/pci/drivers/uio_pci_sva/<pci_dev>/pasid

Defined on filesysfs-driver-uio_pci_sva-pasid

Process Address Space ID (PASID) assigned by IOMMU driver tothe device for use with Shared Virtual Addressing (SVA).

This read-only attribute exposes the PASID (A 20-bit identifierused in PCIe Address Translation Services and iommu table walks)allocated by the IOMMU driver during sva device binding.

User-space UIO applications must read this attribute to obtainthe PASID and program it into the device’s configuration registers.This enables the device to perform DMA using user-space virtualaddress, with address translation handled by IOMMU.

UIO User-space applications must:- Opening device and Mapping the device’s register space via /dev/uioX(This triggers the IOMMU driver to allocate the PASID)- Reading the PASID from sysfs- Writing the PASID to a device-specific register (with example offset)The code may be like:

map = mmap(..., “/dev/uio0”, ...);

f = fopen(“/sys/.../pasid”, “r”);fscanf(f, “%d”, &pasid);

map[REG_PASID_OFFSET] = pasid;

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/curr1_crit

Defined on filesysfs-driver-intel-xe-hwmon

RW. Card reactive critical (I1) power limit in milliamperes.

Card reactive critical (I1) power limit in milliamperes isexposed for server products. The power controller will throttlethe operating frequency if the power averaged over a windowexceeds this limit.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/energy1_input

Defined on filesysfs-driver-intel-xe-hwmon

RO. Card energy input of device in microjoules.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/energy2_input

Defined on filesysfs-driver-intel-xe-hwmon

RO. Package energy input of device in microjoules.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/fan1_input

Defined on filesysfs-driver-intel-xe-hwmon

RO. Fan 1 speed in RPM.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/fan2_input

Defined on filesysfs-driver-intel-xe-hwmon

RO. Fan 2 speed in RPM.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/fan3_input

Defined on filesysfs-driver-intel-xe-hwmon

RO. Fan 3 speed in RPM.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/in1_input

Defined on filesysfs-driver-intel-xe-hwmon

RO. Package current voltage in millivolt.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/power1_cap

Defined on filesysfs-driver-intel-xe-hwmon

RW. Card burst (PL2) power limit in microwatts.

The power controller will throttle the operating frequencyif the power averaged over a window (typically milli seconds)exceeds this limit. A read value of 0 means that the PL2power limit is disabled, writing 0 disables the limit.PL2 is greater than PL1 and its time window is lessercompared to PL1.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/power1_cap_interval

Defined on filesysfs-driver-intel-xe-hwmon

RW. Card burst power limit interval (Tau in PL2/Tau) inmilliseconds over which sustained power is averaged.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/power1_crit

Defined on filesysfs-driver-intel-xe-hwmon

RW. Card reactive critical (I1) power limit in microwatts.

Card reactive critical (I1) power limit in microwatts is exposedfor client products. The power controller will throttle theoperating frequency if the power averaged over a window exceedsthis limit.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/power1_max

Defined on filesysfs-driver-intel-xe-hwmon

RW. Card reactive sustained (PL1) power limit in microwatts.

The power controller will throttle the operating frequencyif the power averaged over a window (typically seconds)exceeds this limit. A read value of 0 means that the PL1power limit is disabled, writing 0 disables thelimit. Writing values > 0 and <= TDP will enable the power limit.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/power1_max_interval

Defined on filesysfs-driver-intel-xe-hwmon

RW. Card sustained power limit interval (Tau in PL1/Tau) inmilliseconds over which sustained power is averaged.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/power1_rated_max

Defined on filesysfs-driver-intel-xe-hwmon

RO. Card default power limit (default TDP setting).

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/power2_cap

Defined on filesysfs-driver-intel-xe-hwmon

RW. Package burst (PL2) power limit in microwatts.

The power controller will throttle the operating frequencyif the power averaged over a window (typically milli seconds)exceeds this limit. A read value of 0 means that the PL2power limit is disabled, writing 0 disables the limit.PL2 is greater than PL1 and its time window is lessercompared to PL1.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/power2_cap_interval

Defined on filesysfs-driver-intel-xe-hwmon

RW. Package burst power limit interval (Tau in PL2/Tau) inmilliseconds over which sustained power is averaged.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/power2_max

Defined on filesysfs-driver-intel-xe-hwmon

RW. Package reactive sustained (PL1) power limit in microwatts.

The power controller will throttle the operating frequencyif the power averaged over a window (typically seconds)exceeds this limit. A read value of 0 means that the PL1power limit is disabled, writing 0 disables thelimit. Writing values > 0 and <= TDP will enable the power limit.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/power2_max_interval

Defined on filesysfs-driver-intel-xe-hwmon

RW. Package sustained power limit interval (Tau in PL1/Tau) inmilliseconds over which sustained power is averaged.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/power2_rated_max

Defined on filesysfs-driver-intel-xe-hwmon

RO. Package default power limit (default TDP setting).

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/temp2_crit

Defined on filesysfs-driver-intel-xe-hwmon

RO. Package critical temperature in millidegree Celsius.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/temp2_emergency

Defined on filesysfs-driver-intel-xe-hwmon

RO. Package shutdown temperature in millidegree Celsius.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/temp2_input

Defined on filesysfs-driver-intel-xe-hwmon

RO. Package temperature in millidegree Celsius.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/temp2_max

Defined on filesysfs-driver-intel-xe-hwmon

RO. Package maximum temperature limit in millidegree Celsius.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/temp3_crit

Defined on filesysfs-driver-intel-xe-hwmon

RO. VRAM critical temperature in millidegree Celsius.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/temp3_emergency

Defined on filesysfs-driver-intel-xe-hwmon

RO. VRAM shutdown temperature in millidegree Celsius.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/temp3_input

Defined on filesysfs-driver-intel-xe-hwmon

RO. VRAM temperature in millidegree Celsius.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/temp4_crit

Defined on filesysfs-driver-intel-xe-hwmon

RO. Memory controller critical temperature in millidegree Celsius.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/temp4_emergency

Defined on filesysfs-driver-intel-xe-hwmon

RO. Memory controller shutdown temperature in millidegree Celsius.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/temp4_input

Defined on filesysfs-driver-intel-xe-hwmon

RO. Memory controller average temperature in millidegree Celsius.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/temp5_crit

Defined on filesysfs-driver-intel-xe-hwmon

RO. GPU PCIe critical temperature in millidegree Celsius.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/temp5_emergency

Defined on filesysfs-driver-intel-xe-hwmon

RO. GPU PCIe shutdown temperature in millidegree Celsius.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/temp5_input

Defined on filesysfs-driver-intel-xe-hwmon

RO. GPU PCIe temperature in millidegree Celsius.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/temp[6-21]_crit

Defined on filesysfs-driver-intel-xe-hwmon

RO. VRAM channel critical temperature in millidegree Celsius.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/temp[6-21]_emergency

Defined on filesysfs-driver-intel-xe-hwmon

RO. VRAM channel shutdown temperature in millidegree Celsius.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/temp[6-21]_input

Defined on filesysfs-driver-intel-xe-hwmon

RO. VRAM channel temperature in millidegree Celsius.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../sriov_admin/

Defined on filesysfs-driver-intel-xe-sriov

This directory appears for the particular Intel Xe device when:

  • device supports SR-IOV, and

  • device is a Physical Function (PF), and

  • driver support for the SR-IOV PF is enabled on given device.

This directory is used as a root for all attributes required tomanage both Physical Function (PF) and Virtual Functions (VFs).

/sys/bus/pci/drivers/xe/.../sriov_admin/.bulk_profile/exec_quantum_ms

/sys/bus/pci/drivers/xe/.../sriov_admin/.bulk_profile/preempt_timeout_us

/sys/bus/pci/drivers/xe/.../sriov_admin/.bulk_profile/sched_priority

Defined on filesysfs-driver-intel-xe-sriov

These files allows bulk reconfiguration of the scheduling parametersof the PF or VFs and are available only for Intel Xe platforms withGPU sharing based on the time-slice basis. These scheduling parameterscan be changed even if VFs are enabled and running.

exec_quantum_ms: (WO) unsigned integer

The GT execution quantum (EQ) in [ms] to be applied to all functions.See sriov_admin/{pf,vf<N>}/profile/exec_quantum_ms for more details.

preempt_timeout_us: (WO) unsigned integer

The GT preemption timeout (PT) in [us] to be applied to all functions.See sriov_admin/{pf,vf<N>}/profile/preempt_timeout_us for more details.

sched_priority: (WO) string

The GT scheduling priority to be applied for all functions.See sriov_admin/{pf,vf<N>}/profile/sched_priority for more details.

Writes to these attributes may fail with errors like:

-EINVAL if provided input is malformed or not recognized,-EPERM if change is not applicable on given HW/FW,-EIO if FW refuses to change the provisioning.

/sys/bus/pci/drivers/xe/.../sriov_admin/pf/

Defined on filesysfs-driver-intel-xe-sriov

This directory holds attributes related to the SR-IOV PhysicalFunction (PF).

/sys/bus/pci/drivers/xe/.../sriov_admin/pf/device

/sys/bus/pci/drivers/xe/.../sriov_admin/vf<n>/device

Defined on filesysfs-driver-intel-xe-sriov

These are symlinks to the underlying PCI device entry representinggiven Xe SR-IOV function. For the PF, this link is always present.For VFs, this link is present only for currently enabled VFs.

/sys/bus/pci/drivers/xe/.../sriov_admin/pf/profile/exec_quantum_ms

/sys/bus/pci/drivers/xe/.../sriov_admin/pf/profile/preempt_timeout_us

/sys/bus/pci/drivers/xe/.../sriov_admin/pf/profile/sched_priority

/sys/bus/pci/drivers/xe/.../sriov_admin/vf<n>/profile/exec_quantum_ms

/sys/bus/pci/drivers/xe/.../sriov_admin/vf<n>/profile/preempt_timeout_us

/sys/bus/pci/drivers/xe/.../sriov_admin/vf<n>/profile/sched_priority

Defined on filesysfs-driver-intel-xe-sriov

These files expose scheduling parameters for the PF and its VFs, andare visible only on Intel Xe platforms that use time-sliced GPU sharing.They can be changed even if VFs are enabled and running and reflect thesettings of all tiles/GTs assigned to the given function.

exec_quantum_ms: (RW) unsigned integer

The GT execution quantum (EQ) in [ms] for the given function.Actual quantum value might be aligned per HW/FW requirements.

Default is 0 (unlimited).

preempt_timeout_us: (RW) unsigned integer

The GT preemption timeout in [us] of the given function.Actual timeout value might be aligned per HW/FW requirements.

Default is 0 (unlimited).

sched_priority: (RW/RO) string

The GT scheduling priority of the given function.

“low” - function will be scheduled on the GPU for its EQ/PT

only if function has any work already submitted.

“normal” - functions will be scheduled on the GPU for its EQ/PT

irrespective of whether it has submitted a work or not.

“high” - function will be scheduled on the GPU for its EQ/PT

in the next time-slice after the current one completesand function has a work submitted.

Default is “low”.

When read, this file will display the current and availablescheduling priorities. The currently active priority level willbe enclosed in square brackets, like:

[low] normal high

This file can be read-only if changing the priority is notsupported.

Writes to these attributes may fail with errors like:

-EINVAL if provided input is malformed or not recognized,-EPERM if change is not applicable on given HW/FW,-EIO if FW refuses to change the provisioning.

Reads from these attributes may fail with:

-EUCLEAN if value is not consistent across all tiles/GTs.

/sys/bus/pci/drivers/xe/.../sriov_admin/vf1/

/sys/bus/pci/drivers/xe/.../sriov_admin/vf2/

/sys/bus/pci/drivers/xe/.../sriov_admin/vf<N>/

Defined on filesysfs-driver-intel-xe-sriov

These directories hold attributes related to the SR-IOV VirtualFunctions (VFs).

Note that the VF number <N> is 1-based as described in PCI SR-IOVspecification as the Xe driver follows that naming schema.

There could be “vf1”, “vf2” and so on, up to “vf<N>”, where <N>matches the value of the “sriov_totalvfs” attribute.

/sys/bus/pci/drivers/xe/.../sriov_admin/vf<n>/stop

Defined on filesysfs-driver-intel-xe-sriov

This file allows to control scheduling of the VF on the Intel Xe GPUplatforms. It allows to implement custom policy mechanism in case VFsare misbehaving or triggering adverse events above defined thresholds.

stop: (WO) bool

All GT executions of given function shall be immediately stopped.To allow scheduling this VF again, the VF FLR must be triggered.

Writes to this attribute may fail with errors like:

-EINVAL if provided input is malformed or not recognized,-EPERM if change is not applicable on given HW/FW,-EIO if FW refuses to change the scheduling.

/sys/bus/pci/drivers/xhci_hcd/.../dbc

Defined on filesysfs-bus-pci-drivers-xhci_hcd

xHCI compatible USB host controllers (i.e. super-speedUSB3 controllers) are often implemented with the DebugCapability (DbC). It can present a debug device whichis fully compliant with the USB framework and providesthe equivalent of a very high performance full-duplexserial 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 assignedto the Debug Capability. Otherwise, it will be assignedto xHCI.

Writing “enable” to this attribute will enable the DbCfunctionality and the shared root port will be assignedto the DbC device. Writing “disable” to this attributewill disable the DbC functionality and the shared rootport will roll back to the xHCI.

Reading this attribute gives the state of the DbC. Itcan be one of the following states: disabled, enabled,initialized, connected, configured and stalled.

/sys/bus/pci/drivers/xhci_hcd/.../dbc_bInterfaceProtocol

Defined on filesysfs-bus-pci-drivers-xhci_hcd

This attribute lets us change the bInterfaceProtocol fieldpresented in the USB Interface descriptor by the xhci debugdevice.Value can only be changed while debug capability (DbC) is indisabled state to prevent USB descriptor change whileconnected to a USB host.The default value is 1 (GNU Remote Debug command).Other permissible value is 0 which is for vendor defined debugtarget.

/sys/bus/pci/drivers/xhci_hcd/.../dbc_bcdDevice

Defined on filesysfs-bus-pci-drivers-xhci_hcd

This dbc_bcdDevice attribute lets us change the bcdDevice fieldpresented in the USB device descriptor by this xhci debugdevice.Value can only be changed while debug capability (DbC) is indisabled state to prevent USB device descriptor change whileconnected to a USB host.The default value is 0x0010. (device rev 0.10)It can be any 16-bit integer.

/sys/bus/pci/drivers/xhci_hcd/.../dbc_idProduct

Defined on filesysfs-bus-pci-drivers-xhci_hcd

This dbc_idProduct attribute lets us change the idProduct fieldpresented in the USB device descriptor by this xhci debugdevice.Value can only be changed while debug capability (DbC) is indisabled state to prevent USB device descriptor change whileconnected to a USB host.The default value is 0x0010. It can be any 16-bit integer.

/sys/bus/pci/drivers/xhci_hcd/.../dbc_idVendor

Defined on filesysfs-bus-pci-drivers-xhci_hcd

This dbc_idVendor attribute lets us change the idVendor fieldpresented in the USB device descriptor by this xhci debugdevice.Value can only be changed while debug capability (DbC) is indisabled state to prevent USB device descriptor change whileconnected to a USB host.The default value is 0x1d6b (Linux Foundation).It can be any 16-bit integer.

/sys/bus/pci/drivers/xhci_hcd/.../dbc_poll_interval_ms

Defined on filesysfs-bus-pci-drivers-xhci_hcd

This attribute adjust the polling interval used to check forDbC events. Unit is milliseconds. Accepted values range from 0up to 5000. The default value is 64 ms.This polling interval is used while DbC is enabled but has noactive data transfers.

/sys/bus/pci/rescan

Defined on filesysfs-bus-pci

Writing a non-zero value to this attribute willforce a rescan of all PCI buses in the system, andre-discover previously removed devices.

/sys/bus/pci/slots/.../module

Defined on filesysfs-bus-pci

This symbolic link points to the PCI hotplug controller drivermodule that manages the hotplug slot.

/sys/bus/peci/devices/<controller_id>-<device_addr>/remove

Defined on filesysfs-bus-peci

Writing a non-zero value to this attribute willremove the PECI device and any of its children.

/sys/bus/peci/rescan

Defined on filesysfs-bus-peci

Writing a non-zero value to this attribute willinitiate scan for PECI devices on all PECI controllersin the system.

/sys/bus/platform/devices/*/frequency

Defined on filesysfs-platform-brcmstb-memc

DDR PHY frequency in Hz.

/sys/bus/platform/devices/*/srpd

Defined on filesysfs-platform-brcmstb-memc

Self Refresh Power Down (SRPD) inactivity timeout counted ininternal DDR controller clock cycles. Possible values rangefrom 0 (disable inactivity timeout) to 65535 (0xffff).

/sys/bus/platform/devices/*twl4030-usb/vbus

Defined on filesysfs-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.

/sys/bus/platform/devices/.../driver_override

Defined on filesysfs-bus-platform

This file allows the driver for a device to be specified whichwill override standard OF, ACPI, ID table, and name matching.When specified, only a driver with a name matching the valuewritten to driver_override will have an opportunity to bindto the device. The override is specified by writing a stringto 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 standardmatching rules binding. Writing to driver_override does notautomatically unbind the device from its current driver or makeany attempt to automatically load the specified driver. If nodriver with a matching name is currently loaded in the kernel,the device will not bind to any driver. This also allowsdevices to opt-out of driver binding using a driver_overridename such as “none”. Only a single driver may be specified inthe override, there is no support for parsing delimiters.

/sys/bus/platform/devices/.../modalias

Defined on filesysfs-bus-platform

Same as MODALIAS in the uevent at device creation.

A platform device that it is exposed via devicetree uses:

  • of:N`of node name`T`type`

Other platform devices use, instead:

  • platform:driver name

/sys/bus/platform/devices/.../msi_irqs/

Defined on filesysfs-bus-platform

The /sys/devices/.../msi_irqs directory contains a variable setof files, with each file being named after a corresponding msiirq vector allocated to that device.

/sys/bus/platform/devices/.../msi_irqs/<N>

Defined on filesysfs-bus-platform

This attribute will show “msi” if <N> is a valid msi irq

/sys/bus/platform/devices/.../numa_node

Defined on filesysfs-bus-platform

This file contains the NUMA node to which the platform deviceis attached. It won’t be visible if the node is unknown. Thevalue comes from an ACPI _PXM method or a similar firmwaresource. Initial users for this file would be devices likearm smmu which are populated by arm64 acpi_iort.

/sys/bus/platform/devices/../cfam_reset

Defined on filesysfs-bus-fsi

Provides a means of resetting the cfam that is attached to theFSI device.

/sys/bus/platform/devices/../fsi-master/fsi0/break

Defined on filesysfs-bus-fsi

Sends an FSI BREAK command on a master’s communicationlink to any connected slaves. A BREAK resets connecteddevice’s logic and preps it to receive further commandsfrom the master.

/sys/bus/platform/devices/../fsi-master/fsi0/rescan

Defined on filesysfs-bus-fsi

Initiates a FSI master scan for all connected slave deviceson its links.

/sys/bus/platform/devices/../fsi-master/fsi0/slave@00:00/raw

Defined on filesysfs-bus-fsi

Provides a means of reading/writing a 32 bit value from/to aspecified FSI bus address.

/sys/bus/platform/devices/../fsi-master/fsi0/slave@00:00/term

Defined on filesysfs-bus-fsi

Sends an FSI terminate command from the master to itsconnected slave. A terminate resets the slave’s state machinesthat control access to the internally connected engines. Inaddition the slave freezes its internal error register fordebugging purposes. This command is also needed to abort anyongoing operation in case of an expired ‘Master Time Out’timer.

/sys/bus/platform/devices/<HID>/hwmon/hwmonX/<block>/<reg>

Defined on filesysfs-platform-mellanox-pmc

Value of register. This is used to read or reset the registerswhere various performance statistics are counted for each block.Writing 0 to the sysfs will clear the counter, writing any othervalue is not allowed.

/sys/bus/platform/devices/<HID>/hwmon/hwmonX/<block>/count_clock

Defined on filesysfs-platform-mellanox-pmc

Use a counter for counting cycles. This is used to repurpose/dedicateany of the counters in the block to counting cycles. Each counter isrepresented by a bit (bit 0 for counter0, bit1 for counter1 and so on)and setting the corresponding bit will reserve that specific counterfor counting cycles and override the event<N> setting.

/sys/bus/platform/devices/<HID>/hwmon/hwmonX/<block>/counter<N>

Defined on filesysfs-platform-mellanox-pmc

Counter value of the event being monitored. This is used toread the counter value of the event which was programmed usingevent<N>. This is also used to clear or reset the counter valueby writing 0 to the counter sysfs.

/sys/bus/platform/devices/<HID>/hwmon/hwmonX/<block>/enable

Defined on filesysfs-platform-mellanox-pmc

Start or stop counters. This is used to start the countersfor monitoring the programmed events and also to stop thecounters after the desired duration. Writing value 1 willstart all the counters in the block, and writing 0 willstop all the counters together.

/sys/bus/platform/devices/<HID>/hwmon/hwmonX/<block>/event<N>

Defined on filesysfs-platform-mellanox-pmc

Event monitored by corresponding counter. This is used toprogram or read back the event that should be or is currentlybeing monitored by counter<N>.

/sys/bus/platform/devices/<HID>/hwmon/hwmonX/<block>/event_list

Defined on filesysfs-platform-mellanox-pmc

List of events supported by the counters in the specific block.It is used to extract the event number or ID associated witheach event.

/sys/bus/platform/devices/<dev>/always_powered_in_suspend

Defined on filesysfs-bus-platform-onboard-usb-dev

(RW) Controls whether the USB hub remains always poweredduring system suspend or not. This attribute is notavailable for non-hub devices.

/sys/bus/platform/devices/ACPI000E:00/ac_alarm

Defined on filesysfs-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 itto set the AC alarm timer or to disable it, respectively.

If the AC alarm timer is set through this attribute and itexpires, it will immediately wake up the system from the S3sleep state (and from S4/S5 too if supported) until its statusis explicitly cleared via the ac_status attribute.

/sys/bus/platform/devices/ACPI000E:00/ac_policy

Defined on filesysfs-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 ACalarm timer or “never”, if the policy is to discard AC timerwakeups if the system is on DC power.

Write a new expired timer wake delay for the AC alarm timer inseconds or “never” to it to set the expired timer wake delay forthe AC alarm timer or to set its expired wake policy to discardwakeups if the system is on DC power, respectively.

/sys/bus/platform/devices/ACPI000E:00/ac_status

Defined on filesysfs-devices-platform-ACPI-TAD

(RW) The AC alarm status.

Reads return a hexadecimal bitmask representing the AC alarmtimer 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 status of the AC alarm timer is towrite (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 explicitlycleared through this attribute.

/sys/bus/platform/devices/ACPI000E:00/caps

Defined on filesysfs-devices-platform-ACPI-TAD

(RO) Hexadecimal bitmask of the TAD attributes are reported bythe 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.

/sys/bus/platform/devices/ACPI000E:00/dc_alarm

Defined on filesysfs-devices-platform-ACPI-TAD

(RW,optional) The DC alarm timer value.

This attribute is only present if the TAD supports a separateDC timer.

It is analogous to the ac_alarm attribute.

/sys/bus/platform/devices/ACPI000E:00/dc_policy

Defined on filesysfs-devices-platform-ACPI-TAD

(RW,optional) The DC alarm expired timer wake policy.

This attribute is only present if the TAD supports a separateDC timer.

It is analogous to the ac_policy attribute.

/sys/bus/platform/devices/ACPI000E:00/dc_status

Defined on filesysfs-devices-platform-ACPI-TAD

(RW,optional) The DC alarm status.

This attribute is only present if the TAD supports a separateDC timer.

It is analogous to the ac_status attribute.

/sys/bus/platform/devices/GGL0001:*/BINF.2

/sys/bus/platform/devices/GOOG0016:*/BINF.2

Defined on filesysfs-driver-chromeos-acpi

Returns active EC firmware of current boot (boolean).

0

Read only (recovery) firmware.

1

Rewritable firmware.

/sys/bus/platform/devices/GGL0001:*/BINF.3

/sys/bus/platform/devices/GOOG0016:*/BINF.3

Defined on filesysfs-driver-chromeos-acpi

Returns main firmware type for current boot (integer).

0

Recovery.

1

Normal.

2

Developer.

3

Netboot (factory installation only).

/sys/bus/platform/devices/GGL0001:*/CHSW

/sys/bus/platform/devices/GOOG0016:*/CHSW

Defined on filesysfs-driver-chromeos-acpi

Returns switch position for Chrome OS specific hardwareswitches when the firmware is booted (integer).

0

No changes.

2

Recovery button was pressed.

4

Recovery button was pressed (EC firmware).

32

Developer switch was enabled.

512

Firmware write protection was disabled.

/sys/bus/platform/devices/GGL0001:*/FMAP

/sys/bus/platform/devices/GOOG0016:*/FMAP

Defined on filesysfs-driver-chromeos-acpi

Returns physical memory address of the start of the mainprocessor firmware flashmap.

/sys/bus/platform/devices/GGL0001:*/FRID

/sys/bus/platform/devices/GOOG0016:*/FRID

Defined on filesysfs-driver-chromeos-acpi

Returns firmware version for the read-only portion of themain processor firmware.

/sys/bus/platform/devices/GGL0001:*/FWID

/sys/bus/platform/devices/GOOG0016:*/FWID

Defined on filesysfs-driver-chromeos-acpi

Returns firmware version for the rewritable portion of themain processor firmware.

/sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.0

/sys/bus/platform/devices/GOOG0016:*/GPIO.X/GPIO.0

Defined on filesysfs-driver-chromeos-acpi

Returns type of the GPIO signal for the Chrome OS specificGPIO assignments (integer).

1

Recovery button.

2

Developer mode switch.

3

Firmware write protection switch.

256 to 511

Debug header GPIO 0 to GPIO 255.

/sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.1

/sys/bus/platform/devices/GOOG0016:*/GPIO.X/GPIO.1

Defined on filesysfs-driver-chromeos-acpi

Returns signal attributes of the GPIO signal (integer bitfield).

0

Signal is active low.

1

Signal is active high.

/sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.2

/sys/bus/platform/devices/GOOG0016:*/GPIO.X/GPIO.2

Defined on filesysfs-driver-chromeos-acpi

Returns the GPIO number on the specified GPIOcontroller.

/sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.3

/sys/bus/platform/devices/GOOG0016:*/GPIO.X/GPIO.3

Defined on filesysfs-driver-chromeos-acpi

Returns name of the GPIO controller.

/sys/bus/platform/devices/GGL0001:*/HWID

/sys/bus/platform/devices/GOOG0016:*/HWID

Defined on filesysfs-driver-chromeos-acpi

Returns hardware ID for the Chromebook.

/sys/bus/platform/devices/GGL0001:*/MECK

/sys/bus/platform/devices/GOOG0016:*/MECK

Defined on filesysfs-driver-chromeos-acpi

Returns the SHA-1 or SHA-256 hash that is read out of theManagement Engine extended registers during boot. The hashis exported via ACPI so the OS can verify that the ManagementEngine firmware has not changed. If Management Engine is notpresent, or if the firmware was unable to read the extended registers, this buffer size can be zero.

/sys/bus/platform/devices/GGL0001:*/VBNV.0

/sys/bus/platform/devices/GOOG0016:*/VBNV.0

Defined on filesysfs-driver-chromeos-acpi

Returns offset in CMOS bank 0 of the verified boot non-volatilestorage block, counting from the first writable CMOS byte(that is, ‘offset = 0’ is the byte following the 14 bytes ofclock data).

/sys/bus/platform/devices/GGL0001:*/VBNV.1

/sys/bus/platform/devices/GOOG0016:*/VBNV.1

Defined on filesysfs-driver-chromeos-acpi

Return the size in bytes of the verified boot non-volatilestorage block.

/sys/bus/platform/devices/GGL0001:*/VDAT

/sys/bus/platform/devices/GOOG0016:*/VDAT

Defined on filesysfs-driver-chromeos-acpi

Returns the verified boot data block shared between thefirmware verification step and the kernel verification step(hex dump).

/sys/bus/platform/devices/GOOG000C\:00/boot_on_ac

Defined on filesysfs-platform-wilco-ec

Boot on AC is a policy which makes the device boot from S5when AC power is connected. This is useful for users whowant to run their device headless or with a dock.

Input should be parseable bykstrtou8() to 0 or 1.

/sys/bus/platform/devices/GOOG000C\:00/build_date

Defined on filesysfs-platform-wilco-ec

Display Wilco Embedded Controller firmware build date.Output will a MM/DD/YY string.

/sys/bus/platform/devices/GOOG000C\:00/build_revision

Defined on filesysfs-platform-wilco-ec

Display Wilco Embedded Controller build revision.Output will a version string be similar to the example below:d2592cae0

/sys/bus/platform/devices/GOOG000C\:00/model_number

Defined on filesysfs-platform-wilco-ec

Display Wilco Embedded Controller model number.Output will a version string be similar to the example below:08B6

/sys/bus/platform/devices/GOOG000C\:00/usb_charge

Defined on filesysfs-platform-wilco-ec

Control the USB PowerShare Policy. USB PowerShare is a policywhich affects charging via the special USB PowerShare port(marked with a small lightning bolt or battery icon) when inlow power states:

  • In S0, the port will always provide power.

  • In S0ix, if usb_charge is enabled, then power will besupplied to the port when on AC or if battery is > 50%.Else no power is supplied.

  • In S5, if usb_charge is enabled, then power will be suppliedto the port when on AC. Else no power is supplied.

Input should be either “0” or “1”.

/sys/bus/platform/devices/GOOG000C\:00/version

Defined on filesysfs-platform-wilco-ec

Display Wilco Embedded Controller firmware version.The format of the string is x.y.z. Where x is major, y is minorand z is the build number. For example: 95.00.06

/sys/bus/platform/devices/INOU0000:XX/breathing_in_suspend

Defined on filesysfs-driver-uniwill-laptop

Causes the integrated lightbar to display a breathing animation when the machinehas been suspended and is running on AC power. Writing “1”/”0” into this fileenables/disables this functionality.

Reading this file returns the current status of the breathing animationfunctionality.

/sys/bus/platform/devices/INOU0000:XX/fn_lock_toggle_enable

Defined on filesysfs-driver-uniwill-laptop

Allows userspace applications to enable/disable the FN lock featureof the integrated keyboard by writing “1”/”0” into this file.

Reading this file returns the current enable status of the FN lock functionality.

/sys/bus/platform/devices/INOU0000:XX/rainbow_animation

Defined on filesysfs-driver-uniwill-laptop

Forces the integrated lightbar to display a rainbow animation when the machineis not suspended. Writing “1”/”0” into this file enables/disables thisfunctionality.

Reading this file returns the current status of the rainbow animation functionality.

/sys/bus/platform/devices/INOU0000:XX/super_key_toggle_enable

Defined on filesysfs-driver-uniwill-laptop

Allows userspace applications to enable/disable the super key functionalityof the integrated keyboard by writing “1”/”0” into this file.

Reading this file returns the current enable status of the super key functionality.

/sys/bus/platform/devices/INOU0000:XX/touchpad_toggle_enable

Defined on filesysfs-driver-uniwill-laptop

Allows userspace applications to enable/disable the touchpad toggle functionalityof the integrated touchpad by writing “1”/”0” into this file.

Reading this file returns the current enable status of the touchpad togglefunctionality.

/sys/bus/platform/devices/INT3407:00/dptf_power/adapter_rating_mw

Defined on filesysfs-platform-dptf

(RO) Adapter rating in milliwatts (the maximum Adapter power).Must be 0 if no AC Adaptor is plugged in.

/sys/bus/platform/devices/INT3407:00/dptf_power/battery_steady_power

Defined on filesysfs-platform-dptf

(RO) The maximum sustained power for battery in milliwatts.

/sys/bus/platform/devices/INT3407:00/dptf_power/charger_type

Defined on filesysfs-platform-dptf

(RO) The charger type - Traditional, Hybrid or NVDC.

/sys/bus/platform/devices/INT3407:00/dptf_power/max_platform_power_mw

Defined on filesysfs-platform-dptf

(RO) Maximum platform power that can be supported by the batteryin milliwatts.

/sys/bus/platform/devices/INT3407:00/dptf_power/platform_power_source

Defined on filesysfs-platform-dptf

(RO) Display the platform power source

bits[3:0]

Current power source- 0x00 = DC- 0x01 = AC- 0x02 = USB- 0x03 = Wireless Charger

bits[7:4]

Power source sequence number

/sys/bus/platform/devices/INT3407:00/dptf_power/prochot_confirm

Defined on filesysfs-platform-dptf

(WO) Confirm embedded controller about a prochot notification.

/sys/bus/platform/devices/INT3407:00/dptf_power/rest_of_platform_power_mw

Defined on filesysfs-platform-dptf

(RO) Shows the rest (outside of SoC) of worst-case platform power.

/sys/bus/platform/devices/INT3532:00/dptf_battery/current_discharge_capbility_ma

Defined on filesysfs-platform-dptf

(RO) The battery discharge current capability obtained from battery fuel gauge inmilli Amps.

/sys/bus/platform/devices/INT3532:00/dptf_battery/high_freq_impedance_mohm

Defined on filesysfs-platform-dptf

(RO) The high frequency impedance value that can be obtained from batteryfuel gauge in milli Ohms.

/sys/bus/platform/devices/INT3532:00/dptf_battery/max_platform_power_mw

Defined on filesysfs-platform-dptf

(RO) The maximum platform power that can be supported by the battery in milli watts.

/sys/bus/platform/devices/INT3532:00/dptf_battery/max_steady_state_power_mw

Defined on filesysfs-platform-dptf

(RO) The maximum sustained power for battery in milli watts.

/sys/bus/platform/devices/INT3532:00/dptf_battery/no_load_voltage_mv

Defined on filesysfs-platform-dptf

(RO) The no-load voltage that can be obtained from battery fuel gauge inmilli volts.

/sys/bus/platform/devices/INTC1045:00/pch_fivr_switch_frequency/fivr_switching_fault_status

Defined on filesysfs-platform-dptf

(RO) Read the FIVR switching frequency control fault status.

/sys/bus/platform/devices/INTC1045:00/pch_fivr_switch_frequency/fivr_switching_freq_mhz

Defined on filesysfs-platform-dptf

(RO) Get the FIVR switching control frequency in MHz.

/sys/bus/platform/devices/INTC1045:00/pch_fivr_switch_frequency/freq_mhz_high_clock

Defined on filesysfs-platform-dptf

(RW) The PCH FIVR (Fully Integrated Voltage Regulator) switching frequency in MHz,when FIVR clock is 38.4MHz.

/sys/bus/platform/devices/INTC1045:00/pch_fivr_switch_frequency/freq_mhz_low_clock

Defined on filesysfs-platform-dptf

(RW) The PCH FIVR (Fully Integrated Voltage Regulator) switching frequency in MHz,when FIVR clock is 19.2MHz or 24MHz.

/sys/bus/platform/devices/INTC1045:00/pch_fivr_switch_frequency/ssc_clock_info

Defined on filesysfs-platform-dptf

(RO) Presents SSC (spread spectrum clock) information for EMI(Electro magnetic interference) control. This is a bit mask.

Bits

Description

[7:0]

Sets clock spectrum spread percentage:0x00=0.2% , 0x3F=10%1 LSB = 0.1% increase in spread (forsettings 0x01 thru 0x1C)1 LSB = 0.2% increase in spread (forsettings 0x1E thru 0x3F)

[8]

When set to 1, enables spreadspectrum clock

[9]

0: Triangle mode. FFC frequencywalks around the Fcenter in a linearfashion1: Random walk mode. FFC frequencychanges randomly within the SSC(Spread spectrum clock) range

[10]

0: No white noise. 1: Add white noiseto spread waveform

[11]

When 1, future writes are ignored.

/sys/bus/platform/devices/INTC1092:00/intc_data

Defined on filesysfs-driver-intc_sar

This sysfs entry is used to retrieve Dynamic SAR informationemitted/maintained by a BIOS that supports Dynamic SAR.

The retrieved information is in the order given below:- device_mode- bandtable_index- antennatable_index- sartable_index

The above information is sent as integer values separatedby a single space. This information can then be pushed to aWWAN modem that uses this to control the transmit signallevel using the Band/Antenna/SAR table index information.These parameters are derived/decided by aggregatingdevice-mode like laptop/tablet/clamshell etc. and theproximity-sensor data available to the embedded controller ongiven host. The regulatory mode configured on Dynamic SARdriver also influences these values.

The userspace applications can poll for changes to this fileusing POLLPRI event on file-descriptor (fd) obtained by openingthis sysfs entry. Application can then read this information fromthe sysfs node and consume the given information.

/sys/bus/platform/devices/INTC1092:00/intc_reg

Defined on filesysfs-driver-intc_sar

Specific Absorption Rate (SAR) regulatory mode is typicallyderived based on information like mcc (Mobile Country Code) andmnc (Mobile Network Code) that is available for the currentlyattached LTE network. A userspace application is required to setthe current SAR regulatory mode on the Dynamic SAR driver usingthis sysfs node. Such an application can also read back usingthis sysfs node, the currently configured regulatory mode valuefrom the Dynamic SAR driver.

Acceptable regulatory modes are:

0

FCC

1

CE

2

ISED

  • The regulatory mode value has one of the above values.

  • The default regulatory mode used in the driver is 0.

/sys/bus/platform/devices/MLNXBF04:00/bootfifo

Defined on filesysfs-platform-mellanox-bootctl

The file used to access the BlueField boot fifo.

/sys/bus/platform/devices/MLNXBF04:00/lifecycle_state

Defined on filesysfs-platform-mellanox-bootctl

The Life-cycle state of the SoC, which could be one of thefollowing values.

Production

Production state and can be updated to secure

GA Secured

Secure chip and not able to change state

GA Non-Secured

Non-Secure chip and not able to change state

RMA

Return Merchandise Authorization

/sys/bus/platform/devices/MLNXBF04:00/mfg_lock

Defined on filesysfs-platform-mellanox-bootctl

The “mfg_lock” sysfs attribute is write-only.A successful write to this attribute will latch theboard-level attributes into EEPROM, making them read-only.

/sys/bus/platform/devices/MLNXBF04:00/modl

Defined on filesysfs-platform-mellanox-bootctl

The “modl” sysfs attribute holds the board’s model number.This value is provided on a board-level label.

/sys/bus/platform/devices/MLNXBF04:00/oob_mac

Defined on filesysfs-platform-mellanox-bootctl

The “oob_mac” sysfs attribute holds the MAC address forthe out-of-band 1Gbps Ethernet port. This MAC address isprovided on a board-level label.

/sys/bus/platform/devices/MLNXBF04:00/opn

Defined on filesysfs-platform-mellanox-bootctl

The “opn” sysfs attribute holds the board’s part number.This value is provided on a board-level label.

/sys/bus/platform/devices/MLNXBF04:00/post_reset_wdog

Defined on filesysfs-platform-mellanox-bootctl

The watchdog setting in seconds for the next booting. It’s usedto reboot the chip and recover it to the old state if the newboot partition fails.

/sys/bus/platform/devices/MLNXBF04:00/reset_action

Defined on filesysfs-platform-mellanox-bootctl

The source of the boot stream for the next reset. It could beone of the following values:

external

boot from external source (USB or PCIe)

emmc

boot from the onchip eMMC

emmc_legacy

boot from the onchip eMMC in legacy (slow) mode

/sys/bus/platform/devices/MLNXBF04:00/rev

Defined on filesysfs-platform-mellanox-bootctl

The “rev” sysfs attribute holds the board’s revision.This value is provided on a board-level label.

/sys/bus/platform/devices/MLNXBF04:00/rsh_log

Defined on filesysfs-platform-mellanox-bootctl

The file used to write BlueField boot log with the format“[INFO|WARN|ERR|ASSERT ]<msg>”. Log level ‘INFO’ is used bydefault if not specified.

/sys/bus/platform/devices/MLNXBF04:00/rtc_battery

Defined on filesysfs-platform-mellanox-bootctl

The “rtc_battery” sysfs attribute is read-only.A successful read from this attribute returns the status ofthe board’s RTC battery. The RTC battery status register isalso cleared upon successful read operation.

/sys/bus/platform/devices/MLNXBF04:00/second_reset_action

Defined on filesysfs-platform-mellanox-bootctl

Update the source of the boot stream after next reset. It couldbe one of the following values and will be applied after nextreset.

external

boot from external source (USB or PCIe)

emmc

boot from the onchip eMMC

emmc_legacy

boot from the onchip eMMC in legacy (slow) mode

swap_emmc

swap the primary / secondary boot partition

none

cancel the action

/sys/bus/platform/devices/MLNXBF04:00/secure_boot_fuse_state

Defined on filesysfs-platform-mellanox-bootctl

The state of eFuse versions with the following values.

InUse

burnt, valid and currently in use

Used

burnt and valid

Free

not burnt and free to use

Skipped

not burnt but not free (skipped)

Wasted

burnt and invalid

Invalid

not burnt but marked as valid (error state).

/sys/bus/platform/devices/MLNXBF04:00/sku

Defined on filesysfs-platform-mellanox-bootctl

The “sku” sysfs attribute holds the board’s SKU number.This value is provided on a board-level label.

/sys/bus/platform/devices/MLNXBF04:00/sn

Defined on filesysfs-platform-mellanox-bootctl

The “sn” sysfs attribute holds the board’s serial number.This value is provided on a board-level label.

/sys/bus/platform/devices/MLNXBF04:00/uuid

Defined on filesysfs-platform-mellanox-bootctl

The “uuid” sysfs attribute holds the board’s UUID.This value is provided by the manufacturing team.

/sys/bus/platform/devices/VPC2004:*/camera_power

Defined on filesysfs-platform-ideapad-laptop

Control the power of camera module. 1 means on, 0 means off.

/sys/bus/platform/devices/VPC2004:*/fan_mode

Defined on filesysfs-platform-ideapad-laptop

Change fan modeThere are four available modes:

  • 0 -> Super Silent Mode

  • 1 -> Standard Mode

  • 2 -> Dust Cleaning

  • 4 -> Efficient Thermal Dissipation Mode

/sys/bus/platform/devices/VPC2004:*/fn_lock

Defined on filesysfs-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

/sys/bus/platform/devices/VPC2004:*/touchpad

Defined on filesysfs-platform-ideapad-laptop

Control touchpad mode.
  • 1 -> Switched On

  • 0 -> Switched Off

/sys/bus/platform/devices/VPC2004:*/usb_charging

Defined on filesysfs-platform-ideapad-laptop

Controls whether the “always on USB charging” feature isenabled or not. This feature enables charging USB deviceseven if the computer is not turned on.

/sys/bus/platform/devices/[..]/fsi-master-gpio/external_mode

Defined on filesysfs-driver-fsi-master-gpio

Controls access arbitration for GPIO-based FSI master. Avalue of 0 (the default) sets normal mode, where thedriver performs FSI bus transactions, 1 sets external mode,where the FSI bus is driven externally (for example, bya debug device).

/sys/bus/platform/devices/ci_hdrc.0/inputs/a_bus_drop

Defined on filesysfs-platform-chipidea-usb-otg

Can be set and readThe a_bus_drop(A-device bus drop) input is 1 when theapplication running on the A-device wants to power downthe bus, and is 0 otherwise, When a_bus_drop is 1, thenthe 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.

/sys/bus/platform/devices/ci_hdrc.0/inputs/a_bus_req

Defined on filesysfs-platform-chipidea-usb-otg

Can be set and read.Set a_bus_req(A-device bus request) input to be 1 ifthe application running on the A-device wants to use the bus,and to be 0 when the application no longer wants to usethe bus(or wants to work as peripheral). a_bus_req can alsobe set to 1 by kernel in response to remote wakeup signalingfrom 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-deviceis using the bus as host role, otherwise 0.

/sys/bus/platform/devices/ci_hdrc.0/inputs/a_clr_err

Defined on filesysfs-platform-chipidea-usb-otg

Only can be set.The a_clr_err(A-device Vbus error clear) input is used to clearvbus error, then A-device will power down the bus.

Valid value is “1”

/sys/bus/platform/devices/ci_hdrc.0/inputs/b_bus_req

Defined on filesysfs-platform-chipidea-usb-otg

Can be set and read.The b_bus_req(B-device bus request) input is 1 during the timethat the application running on the B-device wants to use thebus as host, and is 0 when the application no longer wants towork 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 deviceis using the bus as host role, otherwise 0.

/sys/bus/platform/devices/ci_hdrc.0/role

Defined on filesysfs-platform-chipidea-usb2

When read, it returns string “gadget” or “host”, indicatingthe current controller role.

It will do role switch when “gadget” or “host” is written to it.Only controller at dual-role configuration supports writing.

/sys/bus/platform/devices/dfl-fme.0/bitstream_id

Defined on filesysfs-platform-dfl-fme

Read-only. It returns Bitstream (static FPGA region)identifier number, which includes the detailed versionand other information of this static FPGA region.

/sys/bus/platform/devices/dfl-fme.0/bitstream_metadata

Defined on filesysfs-platform-dfl-fme

Read-only. It returns Bitstream (static FPGA region) metadata, which includes the synthesis date, seed and otherinformation of this static FPGA region.

/sys/bus/platform/devices/dfl-fme.0/cache_size

Defined on filesysfs-platform-dfl-fme

Read-only. It returns cache size of this FPGA device.

/sys/bus/platform/devices/dfl-fme.0/errors/catfatal_errors

Defined on filesysfs-platform-dfl-fme

Read-only. It returns catastrophic and fatal errors detected.

/sys/bus/platform/devices/dfl-fme.0/errors/first_error

Defined on filesysfs-platform-dfl-fme

Read-only. Read this file to get the first error detected byhardware.

/sys/bus/platform/devices/dfl-fme.0/errors/fme_errors

Defined on filesysfs-platform-dfl-fme

Read-Write. Read this file to get errors detected on FME.Write this file to clear errors logged in fme_errors. Writefails with -EINVAL if input parsing fails or input error codedoesn’t match.

/sys/bus/platform/devices/dfl-fme.0/errors/inject_errors

Defined on filesysfs-platform-dfl-fme

Read-Write. Read this file to check errors injected. Write thisfile to inject errors for testing purpose. Write fails with-EINVAL if input parsing fails or input inject error code isn’tsupported.

/sys/bus/platform/devices/dfl-fme.0/errors/next_error

Defined on filesysfs-platform-dfl-fme

Read-only. Read this file to get the second error detected byhardware.

/sys/bus/platform/devices/dfl-fme.0/errors/nonfatal_errors

Defined on filesysfs-platform-dfl-fme

Read-only. It returns non-fatal errors detected.

/sys/bus/platform/devices/dfl-fme.0/errors/pcie0_errors

Defined on filesysfs-platform-dfl-fme

Read-Write. Read this file for errors detected on pcie0 link.Write this file to clear errors logged in pcie0_errors. Writefails with -EINVAL if input parsing fails or input error codedoesn’t match.

/sys/bus/platform/devices/dfl-fme.0/errors/pcie1_errors

Defined on filesysfs-platform-dfl-fme

Read-Write. Read this file for errors detected on pcie1 link.Write this file to clear errors logged in pcie1_errors. Writefails with -EINVAL if input parsing fails or input error codedoesn’t match.

/sys/bus/platform/devices/dfl-fme.0/fabric_version

Defined on filesysfs-platform-dfl-fme

Read-only. It returns fabric version of this FPGA device.Userspace applications need this information to selectbest data channels per different fabric design.

/sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/name

Defined on filesysfs-platform-dfl-fme

Read-Only. Read this file to get the name of hwmon device, itsupports values:

‘dfl_fme_thermal’

thermal hwmon device name

‘dfl_fme_power’

power hwmon device name

/sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/power1_crit

Defined on filesysfs-platform-dfl-fme

Read-Write. Read this file to get current hardware powerthreshold2 in uW. If power consumption rises at or abovethis threshold, hardware starts 90% throttling.Write this file to set current hardware power threshold2 in uW.As hardware only accepts values in Watts, so input value willbe round down per Watts (< 1 watts part will be discarded) andclamped within the range from 0 to 127 Watts. Write fails with-EINVAL if input parsing fails.

/sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/power1_crit_alarm

Defined on filesysfs-platform-dfl-fme

Read-only. It returns 1 if power consumption is currently at orabove hardware threshold2 (see ‘power1_crit’), otherwise 0.

/sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/power1_fpga_limit

Defined on filesysfs-platform-dfl-fme

Read-Only. It returns power limit for FPGA in uW.

/sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/power1_input

Defined on filesysfs-platform-dfl-fme

Read-Only. It returns current FPGA power consumption in uW.

/sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/power1_ltr

Defined on filesysfs-platform-dfl-fme

Read-only. Read this file to get current Latency ToleranceReporting (ltr) value. It returns 1 if all AcceleratedFunction Units (AFUs) can tolerate latency >= 40us for memoryaccess or 0 if any AFU is latency sensitive (< 40us).

/sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/power1_max

Defined on filesysfs-platform-dfl-fme

Read-Write. Read this file to get current hardware powerthreshold1 in uW. If power consumption rises at or abovethis threshold, hardware starts 50% throttling.Write this file to set current hardware power threshold1 in uW.As hardware only accepts values in Watts, so input value willbe round down per Watts (< 1 watts part will be discarded) andclamped within the range from 0 to 127 Watts. Write fails with-EINVAL if input parsing fails.

/sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/power1_max_alarm

Defined on filesysfs-platform-dfl-fme

Read-only. It returns 1 if power consumption is currently at orabove hardware threshold1 (see ‘power1_max’), otherwise 0.

/sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/power1_xeon_limit

Defined on filesysfs-platform-dfl-fme

Read-Only. It returns power limit for XEON in uW.

/sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/temp1_crit

Defined on filesysfs-platform-dfl-fme

Read-Only. It returns hardware threshold2 temperature inmillidegrees Celsius. If temperature rises at or above thisthreshold, hardware starts 100% throttling.

/sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/temp1_crit_alarm

Defined on filesysfs-platform-dfl-fme

Read-only. It returns 1 if temperature is currently at or abovehardware threshold2 (see ‘temp1_crit’), otherwise 0.

/sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/temp1_emergency

Defined on filesysfs-platform-dfl-fme

Read-Only. It returns hardware trip threshold temperature inmillidegrees Celsius. If temperature rises at or above thisthreshold, a fatal event will be triggered to board managementcontroller (BMC) to shutdown FPGA.

/sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/temp1_input

Defined on filesysfs-platform-dfl-fme

Read-Only. It returns FPGA device temperature in millidegreesCelsius.

/sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/temp1_max

Defined on filesysfs-platform-dfl-fme

Read-Only. It returns hardware threshold1 temperature inmillidegrees Celsius. If temperature rises at or above thisthreshold, hardware starts 50% or 90% throttling (see‘temp1_max_policy’).

/sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/temp1_max_alarm

Defined on filesysfs-platform-dfl-fme

Read-only. It returns 1 if temperature is currently at or abovehardware threshold1 (see ‘temp1_max’), otherwise 0.

/sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/temp1_max_policy

Defined on filesysfs-platform-dfl-fme

Read-Only. Read this file to get the policy of hardware threshold1(see ‘temp1_max’). It only supports two values (policies):

0

AP2 state (90% throttling)

1

AP1 state (50% throttling)

/sys/bus/platform/devices/dfl-fme.0/ports_num

Defined on filesysfs-platform-dfl-fme

Read-only. One DFL FPGA device may have more than 1port/Accelerator Function Unit (AFU). It returns thenumber of ports on the FPGA device when read it.

/sys/bus/platform/devices/dfl-fme.0/socket_id

Defined on filesysfs-platform-dfl-fme

Read-only. It returns socket_id to indicate which socketthis FPGA belongs to, only valid for integrated solution.User only needs this information, in case standard numa nodecan’t provide correct information.

/sys/bus/platform/devices/dfl-port.0/afu_id

Defined on filesysfs-platform-dfl-port

Read-only. User can program different PR bitstreams to FPGAAccelerator Function Unit (AFU) for different functions. Itreturns uuid which could be used to identify which PR bitstreamis programmed in this AFU.

/sys/bus/platform/devices/dfl-port.0/ap1_event

Defined on filesysfs-platform-dfl-port

Read-write. Read this file for AP1 (AFU Power State 1) event.It’s used to indicate transient AP1 state. Write 1 to thisfile to clear AP1 event.

/sys/bus/platform/devices/dfl-port.0/ap2_event

Defined on filesysfs-platform-dfl-port

Read-write. Read this file for AP2 (AFU Power State 2) event.It’s used to indicate transient AP2 state. Write 1 to thisfile to clear AP2 event.

/sys/bus/platform/devices/dfl-port.0/errors/errors

Defined on filesysfs-platform-dfl-port

Read-Write. Read this file to get errors detected on port andAccelerated Function Unit (AFU). Write error code to this fileto clear errors. Write fails with -EINVAL if input parsingfails or input error code doesn’t match. Write fails with-EBUSY or -ETIMEDOUT if error can’t be cleared as hardwarein low power state (-EBUSY) or not respoding (-ETIMEDOUT).

/sys/bus/platform/devices/dfl-port.0/errors/first_error

Defined on filesysfs-platform-dfl-port

Read-only. Read this file to get the first error detected byhardware.

/sys/bus/platform/devices/dfl-port.0/errors/first_malformed_req

Defined on filesysfs-platform-dfl-port

Read-only. Read this file to get the first malformed requestcaptured by hardware.

/sys/bus/platform/devices/dfl-port.0/id

Defined on filesysfs-platform-dfl-port

Read-only. It returns id of this port. One DFL FPGA devicemay have more than one port. Userspace could use this id todistinguish different ports under same FPGA device.

/sys/bus/platform/devices/dfl-port.0/ltr

Defined on filesysfs-platform-dfl-port

Read-write. Read or set AFU latency tolerance reporting value.Set ltr to 1 if the AFU can tolerate latency >= 40us or set itto 0 if it is latency sensitive.

/sys/bus/platform/devices/dfl-port.0/power_state

Defined on filesysfs-platform-dfl-port

Read-only. It reports the APx (AFU Power) state, different APxmeans different throttling level. When reading this file, itreturns “0” - Normal / “1” - AP1 / “2” - AP2 / “6” - AP6.

/sys/bus/platform/devices/dfl-port.0/userclk_freqcmd

Defined on filesysfs-platform-dfl-port

Write-only. User writes command to this interface to setuserclock to AFU.

/sys/bus/platform/devices/dfl-port.0/userclk_freqcntrcmd

Defined on filesysfs-platform-dfl-port

Write-only. User writes command to this interface to setuserclock counter.

/sys/bus/platform/devices/dfl-port.0/userclk_freqcntrsts

Defined on filesysfs-platform-dfl-port

Read-only. Read this file to get the status of issued commandto userclck_freqcntrcmd.

/sys/bus/platform/devices/dfl-port.0/userclk_freqsts

Defined on filesysfs-platform-dfl-port

Read-only. Read this file to get the status of issued commandto userclck_freqcmd.

/sys/bus/platform/devices/occ-hwmon.X/ffdc

Defined on filesysfs-bus-platform-devices-occ-hwmon

Contains the First Failure Data Capture from the SBEFIFOhardware, if there is any from a previous transfer. Otherwise,the file is empty. The data is cleared when it’s beencompletely read by a user. As the name suggests, only the datafrom the first error is saved, until it’s cleared upon read. The OCC hwmon driver, running ona Baseboard Management Controller (BMC), communicates withPOWER9 and up processors over the Self-Boot Engine (SBE) FIFO.In many error conditions, the SBEFIFO will return error dataindicating the type of error and system state, etc.

/sys/bus/platform/devices/smpro-errmon.*/[error|warn]_[smpro|pmpro]

Defined on filesysfs-bus-platform-devices-ampere-smpro

(RO) Contains the internal firmware error/warning printed as hex format.

The detail of each sysfs entries is as below:

Error

Sysfs entry

Description

SMpro error

/sys/bus/platform/devices/smpro-errmon.*/error_smpro

system has SMpro error

SMpro warning

/sys/bus/platform/devices/smpro-errmon.*/warn_smpro

system has SMpro warning

PMpro error

/sys/bus/platform/devices/smpro-errmon.*/error_pmpro

system has PMpro error

PMpro warning

/sys/bus/platform/devices/smpro-errmon.*/warn_pmpro

system has PMpro warning

For details, see section5.10 RAS Internal Error Register Definitions,Altra Family Soc BMC Interface Specification.

/sys/bus/platform/devices/smpro-errmon.*/error_[core|mem|pcie|other]_[ce|ue]

Defined on filesysfs-bus-platform-devices-ampere-smpro

(RO) Contains the 48-byte Ampere (Vendor-Specific) Error Record printedin hex format according to the table below:

Offset

Field

Size (byte)

Description

00

Error Type

1

Seethe table below for details

01

Subtype

1

Seethe table below for details

02

Instance

2

Seethe table below for details

04

Error status

4

See ARM RAS specification for details

08

Error Address

8

See ARM RAS specification for details

16

Error Misc 0

8

See ARM RAS specification for details

24

Error Misc 1

8

See ARM RAS specification for details

32

Error Misc 2

8

See ARM RAS specification for details

40

Error Misc 3

8

See ARM RAS specification for details

The table below defines the value of error types, their subtype, subcomponent and instance:

Error Group

Error Type

Sub type

Sub component

Instance

CPM (core)

0

0

Snoop-Logic

CPM #

CPM (core)

0

2

Armv8 Core 1

CPM #

MCU (mem)

1

1

ERR1

MCU # | SLOT << 11

MCU (mem)

1

2

ERR2

MCU # | SLOT << 11

MCU (mem)

1

3

ERR3

MCU #

MCU (mem)

1

4

ERR4

MCU #

MCU (mem)

1

5

ERR5

MCU #

MCU (mem)

1

6

ERR6

MCU #

MCU (mem)

1

7

Link Error

MCU #

Mesh (other)

2

0

Cross Point

X | (Y << 5) | NS <<11

Mesh (other)

2

1

Home Node(IO)

X | (Y << 5) | NS <<11

Mesh (other)

2

2

Home Node(Mem)

X | (Y << 5) | NS <<11 | device<<12

Mesh (other)

2

4

CCIX Node

X | (Y << 5) | NS <<11

2P Link (other)

3

0

N/A

Altra 2P Link #

GIC (other)

5

0

ERR0

0

GIC (other)

5

1

ERR1

0

GIC (other)

5

2

ERR2

0

GIC (other)

5

3

ERR3

0

GIC (other)

5

4

ERR4

0

GIC (other)

5

5

ERR5

0

GIC (other)

5

6

ERR6

0

GIC (other)

5

7

ERR7

0

GIC (other)

5

8

ERR8

0

GIC (other)

5

9

ERR9

0

GIC (other)

5

10

ERR10

0

GIC (other)

5

11

ERR11

0

GIC (other)

5

12

ERR12

0

GIC (other)

5

13-21

ERR13

RC # + 1

SMMU (other)

6

TCU

100

RC #

SMMU (other)

6

TBU0

0

RC #

SMMU (other)

6

TBU1

1

RC #

SMMU (other)

6

TBU2

2

RC #

SMMU (other)

6

TBU3

3

RC #

SMMU (other)

6

TBU4

4

RC #

SMMU (other)

6

TBU5

5

RC #

SMMU (other)

6

TBU6

6

RC #

SMMU (other)

6

TBU7

7

RC #

SMMU (other)

6

TBU8

8

RC #

SMMU (other)

6

TBU9

9

RC #

PCIe AER (pcie)

7

Root

0

RC #

PCIe AER (pcie)

7

Device

1

RC #

PCIe RC (pcie)

8

RCA HB

0

RC #

PCIe RC (pcie)

8

RCB HB

1

RC #

PCIe RC (pcie)

8

RASDP

8

RC #

OCM (other)

9

ERR0

0

0

OCM (other)

9

ERR1

1

0

OCM (other)

9

ERR2

2

0

SMpro (other)

10

ERR0

0

0

SMpro (other)

10

ERR1

1

0

SMpro (other)

10

MPA_ERR

2

0

PMpro (other)

11

ERR0

0

0

PMpro (other)

11

ERR1

1

0

PMpro (other)

11

MPA_ERR

2

0

Example:

# cat error_other_ue880807001e004010401040101500000001004010401040100c0000000000000000000000000000000000000000000000

The detail of each sysfs entries is as below:

Error

Sysfs entry

Description (when triggered)

Core’s CE

/sys/bus/platform/devices/smpro-errmon.*/error_core_ce

Core has CE error

Core’s UE

/sys/bus/platform/devices/smpro-errmon.*/error_core_ue

Core has UE error

Memory’s CE

/sys/bus/platform/devices/smpro-errmon.*/error_mem_ce

Memory has CE error

Memory’s UE

/sys/bus/platform/devices/smpro-errmon.*/error_mem_ue

Memory has UE error

PCIe’s CE

/sys/bus/platform/devices/smpro-errmon.*/error_pcie_ce

any PCIe controller has CE error

PCIe’s UE

/sys/bus/platform/devices/smpro-errmon.*/error_pcie_ue

any PCIe controller has UE error

Other’s CE

/sys/bus/platform/devices/smpro-errmon.*/error_other_ce

any other CE error

Other’s UE

/sys/bus/platform/devices/smpro-errmon.*/error_other_ue

any other UE error

UE: Uncorrect-able ErrorCE: Correct-able Error

For details, see section3.3 Ampere (Vendor-Specific) Error Record Formats,Altra Family RAS Supplement.

/sys/bus/platform/devices/smpro-errmon.*/event_[vrd_warn_fault|vrd_hot|dimm_hot|dimm_2x_refresh]

Defined on filesysfs-bus-platform-devices-ampere-smpro

(RO) Contains the detail information in case of VRD/DIMM warning/hot eventsin hex format as below:

AAAA

where:

  • AAAA: The event detail information data

The detail of each sysfs entries is as below:

Event

Sysfs entry

Description

VRD HOT

/sys/bus/platform/devices/smpro-errmon.*/event_vrd_hot

VRD Hot

VR Warn/Fault

/sys/bus/platform/devices/smpro-errmon.*/event_vrd_warn_fault

VR Warning or Fault

DIMM HOT

/sys/bus/platform/devices/smpro-errmon.*/event_dimm_hot

DIMM Hot

DIMM 2XREFRESH RATE

/sys/bus/platform/devices/smpro-errmon.*/event_dimm_2x_refresh

DIMM 2x refresh rateevent in high temp

For more details, see section5.7 GPI Status Registers and 5.9 Memory Error Register Definitions,Altra Family Soc BMC Interface Specification.

/sys/bus/platform/devices/smpro-errmon.*/event_dimm[0-15]_syndrome

Defined on filesysfs-bus-platform-devices-ampere-smpro

(RO) The sysfs returns the 2-byte DIMM failure syndrome data for slot0-15 if it failed to initialize.

For more details, see section5.11 Boot Stage Register Definitions,Altra Family Soc BMC Interface Specification.

/sys/bus/platform/devices/smpro-errmon.*/overflow_[core|mem|pcie|other]_[ce|ue]

Defined on filesysfs-bus-platform-devices-ampere-smpro

(RO) Return the overflow status of each type HW error reported:

  • 0 : No overflow

  • 1 : There is an overflow and the oldest HW errors are dropped

The detail of each sysfs entries is as below:

Overflow

Sysfs entry

Description

Core’s CE

/sys/bus/platform/devices/smpro-errmon.*/overflow_core_ce

Core CE error overflow

Core’s UE

/sys/bus/platform/devices/smpro-errmon.*/overflow_core_ue

Core UE error overflow

Memory’s CE

/sys/bus/platform/devices/smpro-errmon.*/overflow_mem_ce

Memory CE error overflow

Memory’s UE

/sys/bus/platform/devices/smpro-errmon.*/overflow_mem_ue

Memory UE error overflow

PCIe’s CE

/sys/bus/platform/devices/smpro-errmon.*/overflow_pcie_ce

any PCIe controller CE error overflow

PCIe’s UE

/sys/bus/platform/devices/smpro-errmon.*/overflow_pcie_ue

any PCIe controller UE error overflow

Other’s CE

/sys/bus/platform/devices/smpro-errmon.*/overflow_other_ce

any other CE error overflow

Other’s UE

/sys/bus/platform/devices/smpro-errmon.*/overflow_other_ue

other UE error overflow

where:

  • UE: Uncorrect-able Error

  • CE: Correct-able Error

/sys/bus/platform/devices/smpro-misc*/soc_power_limit

Defined on filesysfs-bus-platform-devices-ampere-smpro

(RW) Contains the desired SoC power limit in Watt.Writes to this sysfs set the desired SoC power limit (W).Reads from this register return the current SoC power limit (W).The value ranges:

  • Minimum: 120 W

  • Maximum: Socket TDP power

/sys/bus/platform/devices/smpro-misc.*/boot_progress

Defined on filesysfs-bus-platform-devices-ampere-smpro

(RO) Contains the boot stages information in hex as format below:

AABBCCCCCCCC

where:

  • AA : The boot stages

    • 00: SMpro firmware booting

    • 01: PMpro firmware booting

    • 02: ATF BL1 firmware booting

    • 03: DDR initialization

    • 04: DDR training report status

    • 05: ATF BL2 firmware booting

    • 06: ATF BL31 firmware booting

    • 07: ATF BL32 firmware booting

    • 08: UEFI firmware booting

    • 09: OS booting

  • BB : Boot status

    • 00: Not started

    • 01: Started

    • 02: Completed without error

    • 03: Failed.

  • CCCCCCCC: Boot status information defined for each boot stages

For details, see section5.11 Boot Stage Register Definitionsand section6. Processor Boot Progress Codes, Altra Family Soc BMCInterface Specification.

/sys/bus/platform/devices/tahvo-usb/otg_mode

Defined on filesysfs-platform-tahvo-usb

Set or read the current OTG mode. Valid values are “host” and“peripheral”.

Reading: returns the current mode.

/sys/bus/platform/devices/tahvo-usb/vbus

Defined on filesysfs-platform-tahvo-usb

Read the current VBUS state.

Reading: returns “on” or “off”.

/sys/bus/platform/devices/xxx/version

Defined on filesysfs-driver-framer-pef2256

Reports the version of the PEF2256 framer

Access: Read

Valid values: Represented as string

/sys/bus/platform/drivers/amd_pmc/*/smu_fw_version

Defined on filesysfs-amd-pmc

Reading this file reports the version of the firmware loaded toSystem Management Unit (SMU) contained in AMD CPUs andAPUs.

/sys/bus/platform/drivers/amd_pmc/*/smu_program

Defined on filesysfs-amd-pmc

Reading this file reports the program corresponding to the SMUfirmware version. The program field is used to disambiguate twoAPU/CPU models that can share the same firmware binary.

/sys/bus/platform/drivers/amd_x3d_vcache/AMDI0101:00/amd_x3d_mode

Defined on filesysfs-bus-platform-drivers-amd_x3d_vcache

(RW) AMD 3D V-Cache optimizer allows users to switch CPU corerankings dynamically.

This file switches between these two modes:- “frequency” cores within the faster CCD are prioritized beforethose in the slower CCD.- “cache” cores within the larger L3 CCD are prioritized beforethose in the smaller L3 CCD.

/sys/bus/platform/drivers/aspeed-uart-routing/\*/io\*

Defined on filesysfs-driver-aspeed-uart-routing

Selects the RX source of IOx serial port. The current selectionwill be marked by brackets “[]”.

Users:

OpenBMC. Proposed changes should be mailed toopenbmc@lists.ozlabs.org

/sys/bus/platform/drivers/aspeed-uart-routing/\*/uart\*

Defined on filesysfs-driver-aspeed-uart-routing

Selects the RX source of the UARTx device.

When read, each file shows the list of available options with currentlyselected option marked by brackets “[]”. The list of available optionsdepends on the selected file.

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

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

Users:

OpenBMC. Proposed changes should be mailed toopenbmc@lists.ozlabs.org

/sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/bmc_canceled_csks

Defined on filesysfs-driver-intel-m10-bmc-sec-update

Read only. Returns a list of indices for canceled codesigning keys for the BMC. The standard bitmap list formatis used (e.g. “1,2-6,9”).

/sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/bmc_root_entry_hash

Defined on filesysfs-driver-intel-m10-bmc-sec-update

Read only. Returns the root entry hash for the BMC imageif one is programmed, else it returns the string:“hash not programmed”. This file is only visible if theunderlying device supports it.Format: string.

/sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/flash_count

Defined on filesysfs-driver-intel-m10-bmc-sec-update

Read only. Returns number of times the secure updatestaging area has been flashed.Format: “%u”.

/sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/pr_canceled_csks

Defined on filesysfs-driver-intel-m10-bmc-sec-update

Read only. Returns a list of indices for canceled codesigning keys for the partial reconfiguration region. Thestandard bitmap list format is used (e.g. “1,2-6,9”).

/sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/pr_root_entry_hash

Defined on filesysfs-driver-intel-m10-bmc-sec-update

Read only. Returns the root entry hash for the partialreconfiguration region if one is programmed, else itreturns the string: “hash not programmed”. This fileis only visible if the underlying device supports it.Format: string.

/sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/sr_canceled_csks

Defined on filesysfs-driver-intel-m10-bmc-sec-update

Read only. Returns a list of indices for canceled codesigning keys for the static region. The standard bitmaplist format is used (e.g. “1,2-6,9”).

/sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/sr_root_entry_hash

Defined on filesysfs-driver-intel-m10-bmc-sec-update

Read only. Returns the root entry hash for the staticregion if one is programmed, else it returns thestring: “hash not programmed”. This file is onlyvisible if the underlying device supports it.Format: string.

/sys/bus/platform/drivers/panfrost/.../profiling

Defined on filesysfs-driver-panfrost-profiling

Get/set drm fdinfo’s engine and cycles profiling status.Valid values are:0: Don’t enable fdinfo job profiling sources.1: Enable fdinfo job profiling sources, this enables both the GPU’stimestamp and cycle counter registers.

/sys/bus/platform/drivers/panthor/.../profiling

Defined on filesysfs-driver-panthor-profiling

Bitmask to enable drm fdinfo’s job profiling measurements.Valid values are:0: Don’t enable fdinfo job profiling sources.1: Enable GPU cycle measurements for running jobs.2: Enable GPU timestamp sampling for running jobs.

/sys/bus/platform/drivers/qcom_eud/.../enable

Defined on filesysfs-driver-eud

The Enable/Disable sysfs interface for EmbeddedUSB Debugger(EUD). This enables and disables theEUD based on a 1 or a 0 value. By enabling EUD,the user is able to activate the mini-usb hub ofEUD for debug and trace capabilities.

/sys/bus/platform/drivers/ufshcd/*/attributes/active_icc_level

/sys/bus/platform/devices/*.ufs/attributes/active_icc_level

Defined on filesysfs-driver-ufs

This file provides the active icc level UFS device attribute.The full information about the attribute could be found atUFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/bkops_status

/sys/bus/platform/devices/*.ufs/attributes/bkops_status

Defined on filesysfs-driver-ufs

This file provides the background operations status UFS deviceattribute. The full information about the attribute couldbe found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/boot_lun_enabled

/sys/bus/platform/devices/*.ufs/attributes/boot_lun_enabled

Defined on filesysfs-driver-ufs

This file provides the boot lun enabled UFS device attribute.The full information about the attribute could be found atUFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/configuration_descriptor_lock

/sys/bus/platform/devices/*.ufs/attributes/configuration_descriptor_lock

Defined on filesysfs-driver-ufs

This file shows whether the configuration descriptor is locked.The full information about the attribute could be found atUFS specifications 2.1. The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/current_power_mode

/sys/bus/platform/devices/*.ufs/attributes/current_power_mode

Defined on filesysfs-driver-ufs

This file provides the current power mode UFS device attribute.The full information about the attribute could be found atUFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/exception_event_control

/sys/bus/platform/devices/*.ufs/attributes/exception_event_control

Defined on filesysfs-driver-ufs

This file provides the exception event control UFS deviceattribute. The full information about the attribute couldbe found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/exception_event_status

/sys/bus/platform/devices/*.ufs/attributes/exception_event_status

Defined on filesysfs-driver-ufs

This file provides the exception event status UFS deviceattribute. The full information about the attribute couldbe found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/ffu_status

/sys/bus/platform/devices/*.ufs/attributes/ffu_status

Defined on filesysfs-driver-ufs

This file provides the ffu status UFS device attribute.The full information about the attribute could be found atUFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/max_data_in_size

/sys/bus/platform/devices/*.ufs/attributes/max_data_in_size

Defined on filesysfs-driver-ufs

This file shows the maximum data size in a DATA INUPIU. The full information about the attribute couldbe found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/max_data_out_size

/sys/bus/platform/devices/*.ufs/attributes/max_data_out_size

Defined on filesysfs-driver-ufs

This file shows the maximum number of bytes that can berequested with a READY TO TRANSFER UPIU. The full informationabout the attribute could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/max_number_of_rtt

/sys/bus/platform/devices/*.ufs/attributes/max_number_of_rtt

Defined on filesysfs-driver-ufs

This file provides the maximum current number ofoutstanding RTTs in device that is allowed. bMaxNumOfRTT is aread-write persistent attribute and is equal to two after devicemanufacturing. It shall not be set to a value greater thanbDeviceRTTCap value, and it may be set only when the hw queues areempty.

The file is read write.

/sys/bus/platform/drivers/ufshcd/*/attributes/ooo_data_enabled

/sys/bus/platform/devices/*.ufs/attributes/ooo_data_enabled

Defined on filesysfs-driver-ufs

This file provides the out of order data transfer enabled UFSdevice attribute. The full information about the attributecould be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/psa_data_size

/sys/bus/platform/devices/*.ufs/attributes/psa_data_size

Defined on filesysfs-driver-ufs

This file shows the amount of data that the host plans toload to all logical units in pre-soldering state.The full information about the attribute could be found atUFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/psa_state

/sys/bus/platform/devices/*.ufs/attributes/psa_state

Defined on filesysfs-driver-ufs

This file show the PSA feature status. The full informationabout the attribute could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/purge_status

/sys/bus/platform/devices/*.ufs/attributes/purge_status

Defined on filesysfs-driver-ufs

This file provides the purge operation status UFS deviceattribute. The full information about the attribute couldbe found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/reference_clock_frequency

/sys/bus/platform/devices/*.ufs/attributes/reference_clock_frequency

Defined on filesysfs-driver-ufs

This file provides the reference clock frequency UFS deviceattribute. The full information about the attribute couldbe found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/wb_avail_buf

/sys/bus/platform/devices/*.ufs/attributes/wb_avail_buf

Defined on filesysfs-driver-ufs

This entry shows the amount of unused WriteBooster bufferavailable.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/wb_cur_buf

/sys/bus/platform/devices/*.ufs/attributes/wb_cur_buf

Defined on filesysfs-driver-ufs

This entry shows the amount of unused current buffer.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/wb_flush_status

/sys/bus/platform/devices/*.ufs/attributes/wb_flush_status

Defined on filesysfs-driver-ufs

This entry shows the flush operation status.

00h

idle

01h

Flush operation in progress

02h

Flush operation stopped prematurely.

03h

Flush operation completed successfully

04h

Flush operation general failure

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/wb_life_time_est

/sys/bus/platform/devices/*.ufs/attributes/wb_life_time_est

Defined on filesysfs-driver-ufs

This entry shows an indication of the WriteBooster Bufferlifetime based on the amount of performed program/erase cycles

01h

0% - 10% WriteBooster Buffer life time used

...

0Ah

90% - 100% WriteBooster Buffer life time used

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/wb_resize_hint

/sys/bus/platform/devices/*.ufs/attributes/wb_resize_hint

Defined on filesysfs-driver-ufs

wb_resize_hint indicates hint information about which type of resizefor WriteBooster buffer is recommended by the device.

keep

Recommend keep the buffer size

decrease

Recommend to decrease the buffer size

increase

Recommend to increase the buffer size

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/wb_resize_status

/sys/bus/platform/devices/*.ufs/attributes/wb_resize_status

Defined on filesysfs-driver-ufs

The host can check the resize operation status of the WriteBoosterbuffer by reading this attribute.

idle

Resize operation is not issued

in_progress

Resize operation in progress

complete_success

Resize operation completed successfully

general_failure

Resize operation general failure

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/capabilities/

/sys/bus/platform/devices/*.ufs/capabilities/

Defined on filesysfs-driver-ufs

The group represents the effective capabilities of thehost-device pair. i.e. the capabilities which are enabled in thedriver for the specific host controller, supported by the hostcontroller and are supported and/or have compatibleconfiguration on the device side.

/sys/bus/platform/drivers/ufshcd/*/capabilities/clock_scaling

/sys/bus/platform/devices/*.ufs/capabilities/clock_scaling

Defined on filesysfs-driver-ufs

Indicates status of clock scaling.

0

Clock scaling is not supported.

1

Clock scaling is supported.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/capabilities/write_booster

/sys/bus/platform/devices/*.ufs/capabilities/write_booster

Defined on filesysfs-driver-ufs

Indicates status of Write Booster.

0

Write Booster can not be enabled.

1

Write Booster can be enabled.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/clkgate_delay_ms

/sys/bus/platform/devices/*.ufs/clkgate_delay_ms

Defined on filesysfs-driver-ufs

This attribute shows and sets the number of milliseconds of idle timebefore the UFS driver starts to perform clock gating. This canprevent the UFS from frequently performing clock gating/ungating.

The attribute is read/write.

/sys/bus/platform/drivers/ufshcd/*/clkgate_enable

/sys/bus/platform/devices/*.ufs/clkgate_enable

Defined on filesysfs-driver-ufs

This attribute shows whether the UFS clock gating is enabled or not.And it can be used to enable/disable the clock gating by writing1 or 0 to this attribute.

The attribute is read/write.

/sys/bus/platform/drivers/ufshcd/*/clkscale_enable

/sys/bus/platform/devices/*.ufs/clkscale_enable

Defined on filesysfs-driver-ufs

This attribute shows whether the UFS clock scaling is enabled or not.And it can be used to enable/disable the clock scaling by writing1 or 0 to this attribute.

The attribute is read/write.

/sys/bus/platform/drivers/ufshcd/*/critical_health

/sys/bus/platform/devices/*.ufs/critical_health

Defined on filesysfs-driver-ufs

Report the number of times a critical health event has beenreported by a UFS device. Further insight into the specificissue can be gained by reading one of: bPreEOLInfo,bDeviceLifeTimeEstA, bDeviceLifeTimeEstB,bWriteBoosterBufferLifeTimeEst, and bRPMBLifeTimeEst.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/bkops_termination_latency

/sys/bus/platform/devices/*.ufs/device_descriptor/bkops_termination_latency

Defined on filesysfs-driver-ufs

This file shows the background operations terminationlatency. This is one of the UFS device descriptor parameters.The full information about the descriptor could be foundat UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/boot_enable

/sys/bus/platform/devices/*.ufs/device_descriptor/boot_enable

Defined on filesysfs-driver-ufs

This file shows value that indicates whether the device isenabled for boot. This is one of the UFS device descriptorparameters. The full information about the descriptor couldbe found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/descriptor_access_enable

/sys/bus/platform/devices/*.ufs/device_descriptor/descriptor_access_enable

Defined on filesysfs-driver-ufs

This file shows value that indicates whether the devicedescriptor could be read after partial initialization phaseof the boot sequence. This is one of the UFS device descriptorparameters. The full information about the descriptor couldbe found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_class

/sys/bus/platform/devices/*.ufs/device_descriptor/device_class

Defined on filesysfs-driver-ufs

This file shows the device class. This is one of the UFSdevice descriptor parameters. The full information aboutthe descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_sub_class

/sys/bus/platform/devices/*.ufs/device_descriptor/device_sub_class

Defined on filesysfs-driver-ufs

This file shows the UFS storage subclass. This is one ofthe UFS device descriptor parameters. The full informationabout the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_type

/sys/bus/platform/devices/*.ufs/device_descriptor/device_type

Defined on filesysfs-driver-ufs

This file shows the device type. This is one of the UFSdevice descriptor parameters. The full information aboutthe descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_version

/sys/bus/platform/devices/*.ufs/device_descriptor/device_version

Defined on filesysfs-driver-ufs

This file shows the device version. This is one of theUFS device descriptor parameters. The full informationabout the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/ffu_timeout

/sys/bus/platform/devices/*.ufs/device_descriptor/ffu_timeout

Defined on filesysfs-driver-ufs

This file shows the FFU timeout. This is one of theUFS device descriptor parameters. The full informationabout the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/high_priority_lun

/sys/bus/platform/devices/*.ufs/device_descriptor/high_priority_lun

Defined on filesysfs-driver-ufs

This file shows the high priority lun. This is one ofthe UFS device descriptor parameters. The full informationabout the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/initial_active_icc_level

/sys/bus/platform/devices/*.ufs/device_descriptor/initial_active_icc_level

Defined on filesysfs-driver-ufs

This file shows the initial active ICC level. This is oneof the UFS device descriptor parameters. The full informationabout the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/initial_power_mode

/sys/bus/platform/devices/*.ufs/device_descriptor/initial_power_mode

Defined on filesysfs-driver-ufs

This file shows value that defines the power mode afterdevice initialization or hardware reset. This is one ofthe UFS device descriptor parameters. The full informationabout the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/manufacturer_id

/sys/bus/platform/devices/*.ufs/device_descriptor/manufacturer_id

Defined on filesysfs-driver-ufs

This file shows the manufacturer ID. This is one of theUFS device descriptor parameters. The full information aboutthe descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/manufacturing_date

/sys/bus/platform/devices/*.ufs/device_descriptor/manufacturing_date

Defined on filesysfs-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 foundat UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_luns

/sys/bus/platform/devices/*.ufs/device_descriptor/number_of_luns

Defined on filesysfs-driver-ufs

This file shows number of logical units. This is one ofthe UFS device descriptor parameters. The full informationabout the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_secure_wpa

/sys/bus/platform/devices/*.ufs/device_descriptor/number_of_secure_wpa

Defined on filesysfs-driver-ufs

This file shows number of secure write protect areassupported by the device. This is one of the UFS devicedescriptor parameters. The full information aboutthe descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_wluns

/sys/bus/platform/devices/*.ufs/device_descriptor/number_of_wluns

Defined on filesysfs-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 foundat UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/protocol

/sys/bus/platform/devices/*.ufs/device_descriptor/protocol

Defined on filesysfs-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 foundat UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/psa_max_data_size

/sys/bus/platform/devices/*.ufs/device_descriptor/psa_max_data_size

Defined on filesysfs-driver-ufs

This file shows the maximum amount of data that may bewritten 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 foundat UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/psa_state_timeout

/sys/bus/platform/devices/*.ufs/device_descriptor/psa_state_timeout

Defined on filesysfs-driver-ufs

This file shows the command maximum timeout for a changein PSA state. This is one of the UFS device descriptorparameters. The full information about the descriptor couldbe found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/queue_depth

/sys/bus/platform/devices/*.ufs/device_descriptor/queue_depth

Defined on filesysfs-driver-ufs

This file shows the device queue depth. This is one of theUFS device descriptor parameters. The full informationabout the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/rtc_update

/sys/bus/platform/devices/*.ufs/device_descriptor/rtc_update

Defined on filesysfs-driver-ufs

This file shows the frequency and method of the realtimeclock update. This is one of the UFS device descriptorparameters. The full information about the descriptorcould be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/rtt_capability

/sys/bus/platform/devices/*.ufs/device_descriptor/rtt_capability

Defined on filesysfs-driver-ufs

This file shows the maximum number of outstanding RTTssupported by the device. This is one of the UFS devicedescriptor parameters. The full information aboutthe descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/secure_removal_type

/sys/bus/platform/devices/*.ufs/device_descriptor/secure_removal_type

Defined on filesysfs-driver-ufs

This file shows the secure removal type. This is one ofthe UFS device descriptor parameters. The full informationabout the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/specification_version

/sys/bus/platform/devices/*.ufs/device_descriptor/specification_version

Defined on filesysfs-driver-ufs

This file shows the specification version. This is oneof the UFS device descriptor parameters. The full informationabout the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/support_security_lun

/sys/bus/platform/devices/*.ufs/device_descriptor/support_security_lun

Defined on filesysfs-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 foundat UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/ufs_features

/sys/bus/platform/devices/*.ufs/device_descriptor/ufs_features

Defined on filesysfs-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 befound at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_presv_us_en

/sys/bus/platform/devices/*.ufs/device_descriptor/wb_presv_us_en

Defined on filesysfs-driver-ufs

This entry shows if preserve user-space was configured

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_shared_alloc_units

/sys/bus/platform/devices/*.ufs/device_descriptor/wb_shared_alloc_units

Defined on filesysfs-driver-ufs

This entry shows the shared allocated units of WB buffer

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_type

/sys/bus/platform/devices/*.ufs/device_descriptor/wb_type

Defined on filesysfs-driver-ufs

This entry shows the configured WB type.0x1 for shared buffer mode. 0x0 for dedicated buffer mode.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_lvl_exception_count

/sys/bus/platform/devices/*.ufs/device_lvl_exception_count

Defined on filesysfs-driver-ufs

This attribute is applicable to ufs devices compliant to theJEDEC specifications version 4.1 or later. Thedevice_lvl_exception_count is a counter indicating the number oftimes the device level exceptions have occurred since the lasttime this variable is reset. Writing a 0 value to thisattribute will reset the device_lvl_exception_count. If thedevice_lvl_exception_count reads a positive value, the userapplication should read the device_lvl_exception_id attribute toknow more information about the exception.

The attribute is read/write.

/sys/bus/platform/drivers/ufshcd/*/device_lvl_exception_id

/sys/bus/platform/devices/*.ufs/device_lvl_exception_id

Defined on filesysfs-driver-ufs

Reading the device_lvl_exception_id returns theqDeviceLevelExceptionID attribute of the ufs device JEDECspecification version 4.1. The definition of theqDeviceLevelExceptionID is the ufs device vendor specificimplementation. Refer to the device manufacturer datasheet formore information on the meaning of the qDeviceLevelExceptionIDattribute value.

The attribute is read only.

/sys/bus/platform/drivers/ufshcd/*/enable_wb_buf_flush

/sys/bus/platform/devices/*.ufs/enable_wb_buf_flush

Defined on filesysfs-driver-ufs

This entry shows the status of WriteBooster buffer flushingand it can be used to enable or disable the flushing.If flushing is enabled, the device executes the flushoperation when the command queue is empty.

/sys/bus/platform/drivers/ufshcd/*/flags/bkops_enable

/sys/bus/platform/devices/*.ufs/flags/bkops_enable

Defined on filesysfs-driver-ufs

This file shows whether the device background operations areenabled. The full information about the flag could befound at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/flags/busy_rtc

/sys/bus/platform/devices/*.ufs/flags/busy_rtc

Defined on filesysfs-driver-ufs

This file shows whether the device is executing internaloperation related to real time clock. The full informationabout the flag could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/flags/device_init

/sys/bus/platform/devices/*.ufs/flags/device_init

Defined on filesysfs-driver-ufs

This file shows the device init status. The full informationabout the flag could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/flags/disable_fw_update

/sys/bus/platform/devices/*.ufs/flags/disable_fw_update

Defined on filesysfs-driver-ufs

This file shows whether the device FW update is permanentlydisabled. The full information about the flag could be foundat UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/flags/life_span_mode_enable

/sys/bus/platform/devices/*.ufs/flags/life_span_mode_enable

Defined on filesysfs-driver-ufs

This file shows whether the device life span mode is enabled.The full information about the flag could be found atUFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/flags/permanent_wpe

/sys/bus/platform/devices/*.ufs/flags/permanent_wpe

Defined on filesysfs-driver-ufs

This file shows whether permanent write protection is enabled.The full information about the flag could be found atUFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/flags/phy_resource_removal

/sys/bus/platform/devices/*.ufs/flags/phy_resource_removal

Defined on filesysfs-driver-ufs

This file shows whether physical resource removal is enable.The full information about the flag could be found atUFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/flags/power_on_wpe

/sys/bus/platform/devices/*.ufs/flags/power_on_wpe

Defined on filesysfs-driver-ufs

This file shows whether write protection is enabled on alllogical units configured as power on write protected. Thefull information about the flag could be found atUFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/flags/wb_enable

/sys/bus/platform/devices/*.ufs/flags/wb_enable

Defined on filesysfs-driver-ufs

This entry shows the status of WriteBooster.

0

WriteBooster is not enabled.

1

WriteBooster is enabled

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/flags/wb_flush_during_h8

/sys/bus/platform/devices/*.ufs/flags/wb_flush_during_h8

Defined on filesysfs-driver-ufs

Flush WriteBooster Buffer during hibernate state.

0

Device is not allowed to flush theWriteBooster Buffer during link hibernate state.

1

Device is allowed to flush theWriteBooster Buffer during link hibernate state.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/flags/wb_flush_en

/sys/bus/platform/devices/*.ufs/flags/wb_flush_en

Defined on filesysfs-driver-ufs

This entry shows if flush is enabled.

0

Flush operation is not performed.

1

Flush operation is performed.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/*_memory_capacity_adjustment_factor

/sys/bus/platform/devices/*.ufs/geometry_descriptor/*_memory_capacity_adjustment_factor

Defined on filesysfs-driver-ufs

This file shows the memory capacity adjustment factor fordifferent memory types (system code, non persistent,enhanced type 1-4). This is one of the UFS geometrydescriptor parameters. The full information about thedescriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/*_memory_max_alloc_units

/sys/bus/platform/devices/*.ufs/geometry_descriptor/*_memory_max_alloc_units

Defined on filesysfs-driver-ufs

This file shows the maximum number of allocation units fordifferent memory types (system code, non persistent,enhanced type 1-4). This is one of the UFS geometrydescriptor parameters. The full information about thedescriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/allocation_unit_size

/sys/bus/platform/devices/*.ufs/geometry_descriptor/allocation_unit_size

Defined on filesysfs-driver-ufs

This file shows the allocation unit size. This is one ofthe UFS geometry descriptor parameters. The full informationabout the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/data_ordering

/sys/bus/platform/devices/*.ufs/geometry_descriptor/data_ordering

Defined on filesysfs-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 atUFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/dyn_capacity_resource_policy

/sys/bus/platform/devices/*.ufs/geometry_descriptor/dyn_capacity_resource_policy

Defined on filesysfs-driver-ufs

This file shows the dynamic capacity resource policy. Thisis one of the UFS geometry descriptor parameters. The fullinformation about the descriptor could be found atUFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_in_buffer_size

/sys/bus/platform/devices/*.ufs/geometry_descriptor/max_in_buffer_size

Defined on filesysfs-driver-ufs

This file shows the maximum data-in buffer size. Thisis one of the UFS geometry descriptor parameters. The fullinformation about the descriptor could be found at UFSspecifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_number_of_contexts

/sys/bus/platform/devices/*.ufs/geometry_descriptor/max_number_of_contexts

Defined on filesysfs-driver-ufs

This file shows maximum available number of contexts whichare supported by the device. This is one of the UFS geometrydescriptor parameters. The full information about thedescriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_number_of_luns

/sys/bus/platform/devices/*.ufs/geometry_descriptor/max_number_of_luns

Defined on filesysfs-driver-ufs

This file shows the maximum number of logical unitssupported by the UFS device. This is one of the UFSgeometry descriptor parameters. The full information aboutthe descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_out_buffer_size

/sys/bus/platform/devices/*.ufs/geometry_descriptor/max_out_buffer_size

Defined on filesysfs-driver-ufs

This file shows the maximum data-out buffer size. Thisis one of the UFS geometry descriptor parameters. The fullinformation about the descriptor could be found at UFSspecifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/memory_types

/sys/bus/platform/devices/*.ufs/geometry_descriptor/memory_types

Defined on filesysfs-driver-ufs

This file shows supported memory types. This is one ofthe UFS geometry descriptor parameters. The fullinformation about the descriptor could be found atUFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/min_addressable_block_size

/sys/bus/platform/devices/*.ufs/geometry_descriptor/min_addressable_block_size

Defined on filesysfs-driver-ufs

This file shows the minimum addressable block size. Thisis one of the UFS geometry descriptor parameters. The fullinformation about the descriptor could be found at UFSspecifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/optimal_read_block_size

/sys/bus/platform/devices/*.ufs/geometry_descriptor/optimal_read_block_size

Defined on filesysfs-driver-ufs

This file shows the optimal read block size. This is oneof the UFS geometry descriptor parameters. The fullinformation about the descriptor could be found at UFSspecifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/optimal_write_block_size

/sys/bus/platform/devices/*.ufs/geometry_descriptor/optimal_write_block_size

Defined on filesysfs-driver-ufs

This file shows the optimal write block size. This is oneof the UFS geometry descriptor parameters. The fullinformation about the descriptor could be found at UFSspecifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/raw_device_capacity

/sys/bus/platform/devices/*.ufs/geometry_descriptor/raw_device_capacity

Defined on filesysfs-driver-ufs

This file shows the total memory quantity available tothe user to configure the device logical units. This is oneof the UFS geometry descriptor parameters. The fullinformation about the descriptor could be found atUFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/rpmb_rw_size

/sys/bus/platform/devices/*.ufs/geometry_descriptor/rpmb_rw_size

Defined on filesysfs-driver-ufs

This file shows the maximum number of RPMB frames allowedin Security Protocol In/Out. This is one of the UFS geometrydescriptor parameters. The full information about thedescriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/secure_removal_types

/sys/bus/platform/devices/*.ufs/geometry_descriptor/secure_removal_types

Defined on filesysfs-driver-ufs

This file shows supported secure removal types. This isone of the UFS geometry descriptor parameters. The fullinformation about the descriptor could be found atUFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/segment_size

/sys/bus/platform/devices/*.ufs/geometry_descriptor/segment_size

Defined on filesysfs-driver-ufs

This file shows the segment size. This is one of the UFSgeometry descriptor parameters. The full information aboutthe descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/sys_data_tag_resource_size

/sys/bus/platform/devices/*.ufs/geometry_descriptor/sys_data_tag_resource_size

Defined on filesysfs-driver-ufs

This file shows maximum storage area size allocated bythe 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 atUFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/sys_data_tag_unit_size

/sys/bus/platform/devices/*.ufs/geometry_descriptor/sys_data_tag_unit_size

Defined on filesysfs-driver-ufs

This file shows system data tag unit size. This is one ofthe UFS geometry descriptor parameters. The full informationabout the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_buff_cap_adj

/sys/bus/platform/devices/*.ufs/geometry_descriptor/wb_buff_cap_adj

Defined on filesysfs-driver-ufs

This entry shows the total user-space decrease in sharedbuffer mode.The value of this parameter is 3 for TLC NAND when SLC modeis used as WriteBooster Buffer. 2 for MLC NAND.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_max_alloc_units

/sys/bus/platform/devices/*.ufs/geometry_descriptor/wb_max_alloc_units

Defined on filesysfs-driver-ufs

This entry shows the Maximum total WriteBooster Buffer sizewhich is supported by the entire device.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_max_wb_luns

/sys/bus/platform/devices/*.ufs/geometry_descriptor/wb_max_wb_luns

Defined on filesysfs-driver-ufs

This entry shows the maximum number of luns that can supportWriteBooster.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_sup_red_type

/sys/bus/platform/devices/*.ufs/geometry_descriptor/wb_sup_red_type

Defined on filesysfs-driver-ufs

The supportability of user space reduction modeand preserve user space mode.00h: WriteBooster Buffer can be configured only inuser space reduction type.01h: WriteBooster Buffer can be configured only inpreserve user space type.02h: Device can be configured in either user spacereduction type or preserve user space type.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_sup_wb_type

/sys/bus/platform/devices/*.ufs/geometry_descriptor/wb_sup_wb_type

Defined on filesysfs-driver-ufs

The supportability of WriteBooster Buffer type.

00h

LU based WriteBooster Buffer configuration

01h

Single shared WriteBooster Buffer configuration

02h

Supporting both LU based WriteBooster.Buffer and Single shared WriteBooster Buffer configuration

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/health_descriptor/eol_info

/sys/bus/platform/devices/*.ufs/health_descriptor/eol_info

Defined on filesysfs-driver-ufs

This file shows preend of life information. This is oneof the UFS health descriptor parameters. The fullinformation about the descriptor could be found atUFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/health_descriptor/life_time_estimation_a

/sys/bus/platform/devices/*.ufs/health_descriptor/life_time_estimation_a

Defined on filesysfs-driver-ufs

This file shows indication of the device life time(method a). This is one of the UFS health descriptorparameters. The full information about the descriptorcould be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/health_descriptor/life_time_estimation_b

/sys/bus/platform/devices/*.ufs/health_descriptor/life_time_estimation_b

Defined on filesysfs-driver-ufs

This file shows indication of the device life time(method b). This is one of the UFS health descriptorparameters. The full information about the descriptorcould be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/hid/analysis_trigger

/sys/bus/platform/devices/*.ufs/hid/analysis_trigger

Defined on filesysfs-driver-ufs

The host can enable or disable HID analysis operation.

disable

disable HID analysis operation

enable

enable HID analysis operation

The file is write only.

/sys/bus/platform/drivers/ufshcd/*/hid/defrag_size

/sys/bus/platform/devices/*.ufs/hid/defrag_size

Defined on filesysfs-driver-ufs

The host sets the size to be defragmented by an HIDdefragmentation operation.

The attribute is read/write.

/sys/bus/platform/drivers/ufshcd/*/hid/defrag_trigger

/sys/bus/platform/devices/*.ufs/hid/defrag_trigger

Defined on filesysfs-driver-ufs

The host can enable or disable HID defragmentation operation.

disable

disable HID defragmentation operation

enable

enable HID defragmentation operation

The attribute is write only.

/sys/bus/platform/drivers/ufshcd/*/hid/fragmented_size

/sys/bus/platform/devices/*.ufs/hid/fragmented_size

Defined on filesysfs-driver-ufs

The total fragmented size in the device is reported throughthis attribute.

The attribute is read only.

/sys/bus/platform/drivers/ufshcd/*/hid/progress_ratio

/sys/bus/platform/devices/*.ufs/hid/progress_ratio

Defined on filesysfs-driver-ufs

Defragmentation progress is reported by this attribute,indicates the ratio of the completed defragmentation sizeover the requested defragmentation size.

1

1%

...

100

100%

The attribute is read only.

/sys/bus/platform/drivers/ufshcd/*/hid/state

/sys/bus/platform/devices/*.ufs/hid/state

Defined on filesysfs-driver-ufs

The HID state is reported by this attribute.

idle

Idle (analysis required)

analysis_in_progress

Analysis in progress

defrag_required

Defrag required

defrag_in_progress

Defrag in progress

defrag_completed

Defrag completed

defrag_not_required

Defrag is not required

The attribute is read only.

/sys/bus/platform/drivers/ufshcd/*/interconnect_descriptor/mphy_version

/sys/bus/platform/devices/*.ufs/interconnect_descriptor/mphy_version

Defined on filesysfs-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 atUFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/interconnect_descriptor/unipro_version

/sys/bus/platform/devices/*.ufs/interconnect_descriptor/unipro_version

Defined on filesysfs-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 atUFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/monitor/monitor_chunk_size

/sys/bus/platform/devices/*.ufs/monitor/monitor_chunk_size

Defined on filesysfs-driver-ufs

This file tells the monitor to focus on requests transferringdata of specific chunk size (in Bytes). 0 means any chunk size.It can only be changed when monitor is disabled.

/sys/bus/platform/drivers/ufshcd/*/monitor/monitor_enable

/sys/bus/platform/devices/*.ufs/monitor/monitor_enable

Defined on filesysfs-driver-ufs

This file shows the status of performance monitor enablementand it can be used to start/stop the monitor. When the monitoris stopped, the performance data collected is also cleared.

/sys/bus/platform/drivers/ufshcd/*/monitor/read_nr_requests

/sys/bus/platform/devices/*.ufs/monitor/read_nr_requests

Defined on filesysfs-driver-ufs

This file shows how many read requests have been sent aftermonitor gets started.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/monitor/read_req_latency_avg

/sys/bus/platform/devices/*.ufs/monitor/read_req_latency_avg

Defined on filesysfs-driver-ufs

This file shows the average latency (in micro seconds) ofread requests after monitor gets started.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/monitor/read_req_latency_max

/sys/bus/platform/devices/*.ufs/monitor/read_req_latency_max

Defined on filesysfs-driver-ufs

This file shows the maximum latency (in micro seconds) ofread requests after monitor gets started.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/monitor/read_req_latency_min

/sys/bus/platform/devices/*.ufs/monitor/read_req_latency_min

Defined on filesysfs-driver-ufs

This file shows the minimum latency (in micro seconds) ofread requests after monitor gets started.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/monitor/read_req_latency_sum

/sys/bus/platform/devices/*.ufs/monitor/read_req_latency_sum

Defined on filesysfs-driver-ufs

This file shows the total latency (in micro seconds) ofread requests sent after monitor gets started.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/monitor/read_total_busy

/sys/bus/platform/devices/*.ufs/monitor/read_total_busy

Defined on filesysfs-driver-ufs

This file shows how long (in micro seconds) has been spentsending data from device to host after monitor gets started.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/monitor/read_total_sectors

/sys/bus/platform/devices/*.ufs/monitor/read_total_sectors

Defined on filesysfs-driver-ufs

This file shows how many sectors (in 512 Bytes) have beensent from device to host after monitor gets started.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/monitor/write_nr_requests

/sys/bus/platform/devices/*.ufs/monitor/write_nr_requests

Defined on filesysfs-driver-ufs

This file shows how many write requests have been sent aftermonitor gets started.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/monitor/write_req_latency_avg

/sys/bus/platform/devices/*.ufs/monitor/write_req_latency_avg

Defined on filesysfs-driver-ufs

This file shows the average latency (in micro seconds) of writerequests after monitor gets started.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/monitor/write_req_latency_max

/sys/bus/platform/devices/*.ufs/monitor/write_req_latency_max

Defined on filesysfs-driver-ufs

This file shows the maximum latency (in micro seconds) of writerequests after monitor gets started.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/monitor/write_req_latency_min

/sys/bus/platform/devices/*.ufs/monitor/write_req_latency_min

Defined on filesysfs-driver-ufs

This file shows the minimum latency (in micro seconds) of writerequests after monitor gets started.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/monitor/write_req_latency_sum

/sys/bus/platform/devices/*.ufs/monitor/write_req_latency_sum

Defined on filesysfs-driver-ufs

This file shows the total latency (in micro seconds) of writerequests after monitor gets started.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/monitor/write_total_busy

/sys/bus/platform/devices/*.ufs/monitor/write_total_busy

Defined on filesysfs-driver-ufs

This file shows how long (in micro seconds) has been spentsending data from host to device after monitor gets started.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/monitor/write_total_sectors

/sys/bus/platform/devices/*.ufs/monitor/write_total_sectors

Defined on filesysfs-driver-ufs

This file shows how many sectors (in 512 Bytes) have been sentfrom host to device after monitor gets started.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/power_descriptor/active_icc_levels_vcc*

/sys/bus/platform/devices/*.ufs/power_descriptor/active_icc_levels_vcc*

Defined on filesysfs-driver-ufs

This file shows maximum VCC, VCCQ and VCCQ2 value foractive ICC levels from 0 to 15. This is one of the UFSpower descriptor parameters. The full information aboutthe descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/power_info/dev_pm

/sys/bus/platform/devices/*.ufs/power_info/dev_pm

Defined on filesysfs-driver-ufs

This file shows the UFS device power mode.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/power_info/gear

/sys/bus/platform/devices/*.ufs/power_info/gear

Defined on filesysfs-driver-ufs

This file shows the gear of UFS link.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/power_info/lane

/sys/bus/platform/devices/*.ufs/power_info/lane

Defined on filesysfs-driver-ufs

This file shows how many lanes are enabled on the UFS link,i.e., an output 2 means UFS link is operating with 2 lanes.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/power_info/link_state

/sys/bus/platform/devices/*.ufs/power_info/link_state

Defined on filesysfs-driver-ufs

This file shows the state of UFS link.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/power_info/mode

/sys/bus/platform/devices/*.ufs/power_info/mode

Defined on filesysfs-driver-ufs

This file shows the PA power mode of UFS.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/power_info/rate

/sys/bus/platform/devices/*.ufs/power_info/rate

Defined on filesysfs-driver-ufs

This file shows the speed rate of UFS link.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/rpm_lvl

/sys/bus/platform/devices/*.ufs/rpm_lvl

Defined on filesysfs-driver-ufs

This entry could be used to set or show the UFS deviceruntime power management level. The current driverimplementation supports 7 levels with next target states:

0

UFS device will stay active, UIC link willstay active

1

UFS device will stay active, UIC link willhibernate

2

UFS device will be moved to sleep, UIC link willstay active

3

UFS device will be moved to sleep, UIC link willhibernate

4

UFS device will be powered off, UIC link willhibernate

5

UFS device will be powered off, UIC link willbe powered off

6

UFS device will be moved to deep sleep, UIC linkwill be powered off. Note, deep sleep might not besupported in which case this value will not beaccepted

/sys/bus/platform/drivers/ufshcd/*/rpm_target_dev_state

/sys/bus/platform/devices/*.ufs/rpm_target_dev_state

Defined on filesysfs-driver-ufs

This entry shows the target power mode of an UFS devicefor the chosen runtime power management level.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/rpm_target_link_state

/sys/bus/platform/devices/*.ufs/rpm_target_link_state

Defined on filesysfs-driver-ufs

This entry shows the target state of an UFS UIC linkfor the chosen runtime power management level.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/rtc_update_ms

/sys/bus/platform/devices/*.ufs/rtc_update_ms

Defined on filesysfs-driver-ufs

rtc_update_ms indicates how often the host should synchronize or update theUFS RTC. If set to 0, this will disable UFS RTC periodic update.

/sys/bus/platform/drivers/ufshcd/*/spm_lvl

/sys/bus/platform/devices/*.ufs/spm_lvl

Defined on filesysfs-driver-ufs

This entry could be used to set or show the UFS devicesystem power management level. The current driverimplementation supports 7 levels with next target states:

0

UFS device will stay active, UIC link willstay active

1

UFS device will stay active, UIC link willhibernate

2

UFS device will be moved to sleep, UIC link willstay active

3

UFS device will be moved to sleep, UIC link willhibernate

4

UFS device will be powered off, UIC link willhibernate

5

UFS device will be powered off, UIC link willbe powered off

6

UFS device will be moved to deep sleep, UIC linkwill be powered off. Note, deep sleep might not besupported in which case this value will not beaccepted

/sys/bus/platform/drivers/ufshcd/*/spm_target_dev_state

/sys/bus/platform/devices/*.ufs/spm_target_dev_state

Defined on filesysfs-driver-ufs

This entry shows the target power mode of an UFS devicefor the chosen system power management level.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/spm_target_link_state

/sys/bus/platform/devices/*.ufs/spm_target_link_state

Defined on filesysfs-driver-ufs

This entry shows the target state of an UFS UIC linkfor the chosen system power management level.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/string_descriptors/manufacturer_name

/sys/bus/platform/devices/*.ufs/string_descriptors/manufacturer_name

Defined on filesysfs-driver-ufs

This file contains a device manufacturer name string.The full information about the descriptor could be found atUFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/string_descriptors/oem_id

/sys/bus/platform/devices/*.ufs/string_descriptors/oem_id

Defined on filesysfs-driver-ufs

This file contains a OEM ID string. The full informationabout the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/string_descriptors/product_name

/sys/bus/platform/devices/*.ufs/string_descriptors/product_name

Defined on filesysfs-driver-ufs

This file contains a product name string. The full informationabout the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/string_descriptors/product_revision

/sys/bus/platform/devices/*.ufs/string_descriptors/product_revision

Defined on filesysfs-driver-ufs

This file contains a product revision string. The fullinformation about the descriptor could be found atUFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/string_descriptors/serial_number

/sys/bus/platform/devices/*.ufs/string_descriptors/serial_number

Defined on filesysfs-driver-ufs

This file contains a device serial number string. The fullinformation about the descriptor could be found atUFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/wb_flush_threshold

/sys/bus/platform/devices/*.ufs/wb_flush_threshold

Defined on filesysfs-driver-ufs

wb_flush_threshold represents the threshold for flushing WriteBooster buffer,whose value expressed in unit of 10% granularity, such as ‘1’ representing 10%,‘2’ representing 20%, and so on.If avail_wb_buff < wb_flush_threshold, it indicates that WriteBooster buffer needs tobe flushed, otherwise it is not necessary.

/sys/bus/platform/drivers/ufshcd/*/wb_on

/sys/bus/platform/devices/*.ufs/wb_on

Defined on filesysfs-driver-ufs

This node is used to set or display whether UFS WriteBooster isenabled. Echo 0 to this file to disable UFS WriteBooster or 1 toenable it. The WriteBooster is enabled after power-on/reset,however, it will be disabled/enable while CLK scaling down/up(if the platform supports UFSHCD_CAP_CLK_SCALING). For aplatform that doesn’t support UFSHCD_CAP_CLK_SCALING, we candisable/enable WriteBooster through this sysfs node.

/sys/bus/platform/drivers/ufshcd/*/wb_resize_enable

/sys/bus/platform/devices/*.ufs/wb_resize_enable

Defined on filesysfs-driver-ufs

The host can enable the WriteBooster buffer resize by setting thisattribute.

idle

There is no resize operation

decrease

Decrease WriteBooster buffer size

increase

Increase WriteBooster buffer size

The file is write only.

/sys/bus/platform/drivers/zynqmp_fpga_manager/firmware:zynqmp-firmware:pcap/status

Defined on filesysfs-driver-zynqmp-fpga

(RO) Read fpga status.Read returns a hexadecimal value that tells the current statusof the FPGA device. Each bit position in the status value isdescribed Below(see ug570 chapter 9).https://docs.xilinx.com/v/u/en-US/ug570-ultrascale-configuration

BIT(0)

0: No CRC error1: CRC error

BIT(1)

0: Decryptor security not set1: Decryptor security set

BIT(2)

0: MMCMs/PLLs are not locked1: MMCMs/PLLs are locked

BIT(3)

0: DCI not matched1: DCI matched

BIT(4)

0: Start-up sequence has not finished1: Start-up sequence has finished

BIT(5)

0: All I/Os are placed in High-Z state1: All I/Os behave as configured

BIT(6)

0: Flip-flops and block RAM are write disabled1: Flip-flops and block RAM are write enabled

BIT(7)

0: GHIGH_B_STATUS asserted1: GHIGH_B_STATUS deasserted

BIT(8) to BIT(10)

Status of the mode pins

BIT(11)

0: Initialization has not finished1: Initialization finished

BIT(12)

Value on INIT_B_PIN pin

BIT(13)

0: Signal not released1: Signal released

BIT(14)

Value on DONE_PIN pin.

BIT(15)

0: No IDCODE_ERROR1: IDCODE_ERROR

BIT(16)

0: No SECURITY_ERROR1: SECURITY_ERROR

BIT(17)

System Monitor over-temperature if set

BIT(18) to BIT(20)

Start-up state machine (0 to 7)Phase 0 = 000Phase 1 = 001Phase 2 = 011Phase 3 = 010Phase 4 = 110Phase 5 = 111Phase 6 = 101Phase 7 = 100

BIT(25) to BIT(26)

Indicates the detected bus width00 = x101 = x810 = x1611 = x32

The other bits are reserved.

/sys/bus/rapidio/devices/<nn>:<d>:<iiii>

Defined on filesysfs-bus-rapidio

For each RapidIO device, the RapidIO subsystem creates files inan individual subdirectory with the following name format ofdevice_name “nn:d:iiii”, where:

nn

two-digit hexadecimal ID of RapidIO network where thedevice resides

d

device type: ‘e’ - for endpoint or ‘s’ - for switch

iiii

four-digit device destID for endpoints, or switchID forswitches

For example, below is a list of device directories thatrepresents 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 asysfs entry for itself, this is why an endpoint with destID=1is not shown in the list.

Attributes Common for All RapidIO Devices

/sys/bus/rapidio/devices/<nn>:<d>:<iiii>/asm_did

Defined on filesysfs-bus-rapidio

(RO) returns identifier for the assembly containing the device

/sys/bus/rapidio/devices/<nn>:<d>:<iiii>/asm_rev

Defined on filesysfs-bus-rapidio

(RO) returns revision level of the assembly containing thedevice

/sys/bus/rapidio/devices/<nn>:<d>:<iiii>/asm_vid

Defined on filesysfs-bus-rapidio

(RO) returns vendor identifier of the assembly containing thedevice

/sys/bus/rapidio/devices/<nn>:<d>:<iiii>/config

Defined on filesysfs-bus-rapidio

(RW) Binary attribute to read from and write to the deviceconfiguration registers using the RapidIO maintenancetransactions. This attribute is similar in behaviour to the“config” attribute of PCI devices and provides an access to theRapidIO device registers using standard file read and writeoperations.

RapidIO Switch Device Attributes

RapidIO switches have additional attributes in sysfs. RapidIO subsystem supportscommon and device-specific sysfs attributes for switches. Because switches areintegrated into the RapidIO subsystem, it offers a method to createdevice-specific sysfs attributes by specifying a callback function that may beset by the switch initialization routine during enumeration or discoveryprocess.

/sys/bus/rapidio/devices/<nn>:<d>:<iiii>/destid

Defined on filesysfs-bus-rapidio

(RO) returns device destination ID assigned by the enumerationroutine

/sys/bus/rapidio/devices/<nn>:<d>:<iiii>/device_rev

Defined on filesysfs-bus-rapidio

(RO) returns the device revision level

/sys/bus/rapidio/devices/<nn>:<d>:<iiii>/did

Defined on filesysfs-bus-rapidio

(RO) returns the device identifier

/sys/bus/rapidio/devices/<nn>:<d>:<iiii>/lprev

Defined on filesysfs-bus-rapidio

(RO) returns name of previous device (switch) on the path to thedevice that that owns this attribute

/sys/bus/rapidio/devices/<nn>:<d>:<iiii>/modalias

Defined on filesysfs-bus-rapidio

(RO) returns the device modalias

/sys/bus/rapidio/devices/<nn>:<d>:<iiii>/vid

Defined on filesysfs-bus-rapidio

(RO) returns the device vendor identifier

/sys/bus/rapidio/devices/<nn>:<s>:<iiii>/destid

Defined on filesysfs-bus-rapidio

(RO) device destination ID of the associated device that definesa route to the switch

/sys/bus/rapidio/devices/<nn>:<s>:<iiii>/errlog

Defined on filesysfs-bus-rapidio

(RO) reads contents of device error log until it is empty.

RapidIO Bus Attributes

/sys/bus/rapidio/devices/<nn>:<s>:<iiii>/hopcount

Defined on filesysfs-bus-rapidio

(RO) number of hops on the path to the switch

/sys/bus/rapidio/devices/<nn>:<s>:<iiii>/lnext

Defined on filesysfs-bus-rapidio

(RO) returns names of devices linked to the switch except one ofa device linked to the ingress port (reported as “lprev”). Thisis an array names with number of lines equal to number of portsin switch. If a switch port has no attached device, returns“null” instead of a device name.

Device-specific Switch Attributes

IDT_GEN2-

/sys/bus/rapidio/devices/<nn>:<s>:<iiii>/routes

Defined on filesysfs-bus-rapidio

(RO) reports switch routing information in “destID port” format.This attribute reports only valid routing table entries, oneline for each entry.

/sys/bus/rapidio/scan

Defined on filesysfs-bus-rapidio

(WO) Allows to trigger enumeration discovery process from userspace. To initiate an enumeration or discovery process onspecific mport device, a user needs to write mport_ID (notRapidIO destination ID) into this file. The mport_ID is asequential number (0 ... RIO_MAX_MPORTS) assigned to the mportdevice. For example, for a machine with a single RapidIOcontroller, mport_ID for that controller always will be 0. Toinitiate RapidIO enumeration/discovery on all available mports auser must write ‘-1’ (or RIO_MPORT_ANY) into this attributefile.

/sys/bus/rbd/add

Defined on filesysfs-bus-rbd

(WO) Add rbd block device.

Usage: <mon ip addr> <options> <pool name> <rbd image name> [<snap name>]

Example:

$ echo "192.168.0.1 name=admin rbd foo" > /sys/bus/rbd/add

The snapshot name can be “-” or omitted to map the imageread/write. A <dev-id> will be assigned for any registered blockdevice. If snapshot is used, it will be mapped read-only.

/sys/bus/rbd/add_single_major

Defined on filesysfs-bus-rbd

(WO) Available only if rbd module is inserted with single_majorparameter set to true.

Usage is the same as for /sys/bus/rbd/add. If present, thisshould be used instead of the latter: any attempts to use/sys/bus/rbd/add if /sys/bus/rbd/add_single_major is availablewill fail for backwards compatibility reasons.

/sys/bus/rbd/devices/<dev-id>/image_id

/sys/bus/rbd/devices/<dev-id>/features

Defined on filesysfs-bus-rbd

image_id

(RO) The unique id for the rbd image. (For rbdimage format 1 this is empty.)

features

(RO) A hexadecimal encoding of the feature bitsfor this image.

/sys/bus/rbd/devices/<dev-id>/minor

Defined on filesysfs-bus-rbd

(RO) The block device minor number.

/sys/bus/rbd/devices/<dev-id>/parent

Defined on filesysfs-bus-rbd

(RO) Information identifying the chain of parent images in alayered rbd image. Entries are separated by empty lines.

/sys/bus/rbd/devices/<dev-id>/pool_id

Defined on filesysfs-bus-rbd

(RO) The unique identifier for the rbd image’s pool. This is apermanent attribute of the pool. A pool’s id will never change.

/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 filesysfs-bus-rbd

size

(RO) The size (in bytes) of the mapped blockdevice.

major

(RO) The block device major number.

client_id

(RO) The ceph unique client id that was assignedfor this specific session.

pool

(RO) The name of the storage pool where this rbdimage resides. An rbd image name is uniquewithin its pool.

name

(RO) The name of the rbd image.

refresh

(WO) Writing to this file will reread the imageheader data and set all relevant data structuresaccordingly.

current_snap

(RO) The current snapshot for which the deviceis mapped.

/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 filesysfs-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 cliententity_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’.

/sys/bus/rbd/remove

Defined on filesysfs-bus-rbd

(WO) Remove rbd block device.

Usage: <dev-id> [force]

Example:

$ echo 2 > /sys/bus/rbd/remove

Optional “force” argument which when passed will wait forrunning requests and then unmap the image. Requests sent to thedriver after initiating the removal will be failed. (August2016, since 4.9.)

/sys/bus/rbd/remove_single_major

Defined on filesysfs-bus-rbd

(WO) Available only if rbd module is inserted with single_majorparameter set to true.

Usage is the same as for /sys/bus/rbd/remove. If present, thisshould be used instead of the latter: any attempts to use/sys/bus/rbd/remove if /sys/bus/rbd/remove_single_major isavailable will fail for backwards compatibility reasons.

/sys/bus/rbd/supported_features

Defined on filesysfs-bus-rbd

(RO) Displays the features supported by the rbd module so thatuserspace can generate meaningful error messages and spell outunsupported features that need to be disabled.

/sys/bus/rpmsg/devices/.../announce

Defined on filesysfs-bus-rpmsg

Every rpmsg device is a communication channel with a remoteprocessor. Channels are identified by a textual name (see/sys/bus/rpmsg/devices/.../name above) and have a local(“source”) rpmsg address, and remote (“destination”) rpmsgaddress.

A channel is first created when an entity, whether localor remote, starts listening on it for messages (and is thuscalled an rpmsg server).

When that happens, a “name service” announcement is sentto the other processor, in order to let it know about thecreation of the channel (this way remote clients know theycan start sending messages).

This sysfs entry tells us whether the channel is a localserver channel that is announced (values are eithertrue or false).

/sys/bus/rpmsg/devices/.../driver_override

Defined on filesysfs-bus-rpmsg

Every rpmsg device is a communication channel with a remoteprocessor. Channels are identified by a textual name (see/sys/bus/rpmsg/devices/.../name above) and have a local(“source”) rpmsg address, and remote (“destination”) rpmsgaddress.

The listening entity (or client) which communicates with aremote processor is referred as rpmsg driver. The rpmsg deviceand rpmsg driver are matched based on rpmsg device name andrpmsg driver ID table.

This sysfs entry allows the rpmsg driver for a rpmsg deviceto be specified which will override standard OF, ID tableand name matching.

/sys/bus/rpmsg/devices/.../dst

Defined on filesysfs-bus-rpmsg

Every rpmsg device is a communication channel with a remoteprocessor. Channels have a local (“source”) rpmsg address,and remote (“destination”) rpmsg address. When an entitystarts listening on one end of a channel, it assigns it witha unique rpmsg address (a 32 bits integer). This way wheninbound messages arrive to this address, the rpmsg coredispatches them to the listening entity.

This sysfs entry contains the dst (remote) rpmsg addressof this channel. If it contains 0xffffffff, then an addresswasn’t assigned (can happen if the kernel driver thatis attached to this channel is exposing a service to theremote processor. This make it a local rpmsg server,and it is listening for inbound messages that may be sentfrom any remote rpmsg client; it is not bound to a singleremote entity).

/sys/bus/rpmsg/devices/.../name

Defined on filesysfs-bus-rpmsg

Every rpmsg device is a communication channel with a remoteprocessor. Channels are identified with a (textual) name,which is maximum 32 bytes long (defined as RPMSG_NAME_SIZE inrpmsg.h).

This sysfs entry contains the name of this channel.

/sys/bus/rpmsg/devices/.../src

Defined on filesysfs-bus-rpmsg

Every rpmsg device is a communication channel with a remoteprocessor. Channels have a local (“source”) rpmsg address,and remote (“destination”) rpmsg address. When an entitystarts listening on one end of a channel, it assigns it witha unique rpmsg address (a 32 bits integer). This way wheninbound messages arrive to this address, the rpmsg coredispatches them to the listening entity (a kernel driver).

This sysfs entry contains the src (local) rpmsg addressof this channel. If it contains 0xffffffff, then an addresswasn’t assigned (can happen if no driver exists for thischannel).

/sys/bus/scsi/drivers/st/debug_flag

Defined on filesysfs-driver-st

This file allows you to turn debug output from the st driveroff if you write a ‘0’ to the file or on if you write a ‘1’.Note that debug output requires that the module be compiledwith the #define DEBUG set to a non-zero value (this is thedefault). If DEBUG is set to 0 then this file will notappear in sysfs as its presence is conditional upon debugoutput support being compiled into the module.

/sys/bus/siox/devices/siox-X-Y/connected

Defined on filesysfs-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.

/sys/bus/siox/devices/siox-X-Y/inbytes

Defined on filesysfs-bus-siox

Read-only value reporting the inbytes value provided to siox-X/device_add

/sys/bus/siox/devices/siox-X-Y/outbytes

Defined on filesysfs-bus-siox

Read-only value reporting the outbytes value provided to siox-X/device_add.

/sys/bus/siox/devices/siox-X-Y/status_errors

Defined on filesysfs-bus-siox

Counts the number of time intervals when the read status byte doesn’t yield theexpected value.

/sys/bus/siox/devices/siox-X-Y/type

Defined on filesysfs-bus-siox

Read-only value reporting the type value provided to siox-X/device_add.

/sys/bus/siox/devices/siox-X-Y/watchdog

Defined on filesysfs-bus-siox

Read-only value reporting if the watchdog of the siox device isactive. “0” means the watchdog is not active and the device is expected tobe operational. “1” means the watchdog keeps the device in reset.

/sys/bus/siox/devices/siox-X-Y/watchdog_errors

Defined on filesysfs-bus-siox

Read-only value reporting the number to time intervals when thewatchdog was active.

/sys/bus/siox/devices/siox-X/active

Defined on filesysfs-bus-siox

On reading represents the current state of the bus. If itcontains a “0” the bus is stopped and connected devices areexpected to not do anything because their watchdog triggered.When the file contains a “1” the bus is operated and periodicallydoes a push-pull cycle to write and read data from theconnected devices.

When writing a “0” or “1” the bus moves to the described state.

/sys/bus/siox/devices/siox-X/device_add

Defined on filesysfs-bus-siox

Write-only file. Write

<type> <inbytes> <outbytes> <statustype>

to add a new device dynamically. <type> is the name that is used to matchto a driver (similar to the platform bus). <inbytes> and <outbytes> definethe length of the input and output shift register in bytes respectively.

<statustype> defines the 4 bit device type that is check to identify connectionproblems.

The new device is added to the end of the existing chain.

/sys/bus/siox/devices/siox-X/device_remove

Defined on filesysfs-bus-siox

Write-only file. A single write removes the last device in the siox chain.

/sys/bus/siox/devices/siox-X/poll_interval_ns

Defined on filesysfs-bus-siox

Defines the interval between two poll cycles in nano seconds.Note this is rounded to jiffies on writing. On reading the current valueis returned.

/sys/bus/soc

Defined on filesysfs-devices-soc

The /sys/bus/soc/ directory contains the usual sub-foldersexpected under most buses. /sys/bus/soc/devices is of particularinterest, as it contains a symlink for each SoC device found onthe system. Each symlink points back into the aforementioned/sys/devices/socX devices.

/sys/bus/soundwire/devices/sdw-master-<N>/revision

/sys/bus/soundwire/devices/sdw-master-<N>/clk_stop_modes

/sys/bus/soundwire/devices/sdw-master-<N>/clk_freq

/sys/bus/soundwire/devices/sdw-master-<N>/clk_gears

/sys/bus/soundwire/devices/sdw-master-<N>/default_col

/sys/bus/soundwire/devices/sdw-master-<N>/default_frame_rate

/sys/bus/soundwire/devices/sdw-master-<N>/default_row

/sys/bus/soundwire/devices/sdw-master-<N>/dynamic_shape

/sys/bus/soundwire/devices/sdw-master-<N>/err_threshold

/sys/bus/soundwire/devices/sdw-master-<N>/max_clk_freq

Defined on filesysfs-bus-soundwire-master

SoundWire Master-N DisCo properties.These properties are defined by MIPI DisCo Specificationfor SoundWire. They define various properties of the Masterand are used by the bus to configure the Master. clk_stop_modesis a bitmask for simplifications and combines theclock-stop-mode0 and clock-stop-mode1 properties.

/sys/bus/soundwire/devices/sdw:.../dev-properties/mipi_revision

/sys/bus/soundwire/devices/sdw:.../dev-properties/wake_capable

/sys/bus/soundwire/devices/sdw:.../dev-properties/test_mode_capable

/sys/bus/soundwire/devices/sdw:.../dev-properties/clk_stop_mode1

/sys/bus/soundwire/devices/sdw:.../dev-properties/simple_clk_stop_capable

/sys/bus/soundwire/devices/sdw:.../dev-properties/clk_stop_timeout

/sys/bus/soundwire/devices/sdw:.../dev-properties/ch_prep_timeout

/sys/bus/soundwire/devices/sdw:.../dev-properties/reset_behave

/sys/bus/soundwire/devices/sdw:.../dev-properties/high_PHY_capable

/sys/bus/soundwire/devices/sdw:.../dev-properties/paging_support

/sys/bus/soundwire/devices/sdw:.../dev-properties/bank_delay_support

/sys/bus/soundwire/devices/sdw:.../dev-properties/p15_behave

/sys/bus/soundwire/devices/sdw:.../dev-properties/master_count

/sys/bus/soundwire/devices/sdw:.../dev-properties/source_ports

/sys/bus/soundwire/devices/sdw:.../dev-properties/sink_ports

Defined on filesysfs-bus-soundwire-slave

SoundWire Slave DisCo properties.These properties are defined by MIPI DisCo Specificationfor SoundWire. They define various properties of theSoundWire Slave and are used by the bus to configurethe Slave

/sys/bus/soundwire/devices/sdw:.../dp0/max_word

/sys/bus/soundwire/devices/sdw:.../dp0/min_word

/sys/bus/soundwire/devices/sdw:.../dp0/words

/sys/bus/soundwire/devices/sdw:.../dp0/BRA_flow_controlled

/sys/bus/soundwire/devices/sdw:.../dp0/simple_ch_prep_sm

/sys/bus/soundwire/devices/sdw:.../dp0/imp_def_interrupts

Defined on filesysfs-bus-soundwire-slave

SoundWire Slave Data Port-0 DisCo properties.These properties are defined by MIPI DisCo Specificationfor the SoundWire. They define various properties of theData port 0 are used by the bus to configure the Data Port 0.

/sys/bus/soundwire/devices/sdw:.../dp<N>_src/max_word

/sys/bus/soundwire/devices/sdw:.../dp<N>_src/min_word

/sys/bus/soundwire/devices/sdw:.../dp<N>_src/words

/sys/bus/soundwire/devices/sdw:.../dp<N>_src/type

/sys/bus/soundwire/devices/sdw:.../dp<N>_src/max_grouping

/sys/bus/soundwire/devices/sdw:.../dp<N>_src/simple_ch_prep_sm

/sys/bus/soundwire/devices/sdw:.../dp<N>_src/ch_prep_timeout

/sys/bus/soundwire/devices/sdw:.../dp<N>_src/imp_def_interrupts

/sys/bus/soundwire/devices/sdw:.../dp<N>_src/min_ch

/sys/bus/soundwire/devices/sdw:.../dp<N>_src/max_ch

/sys/bus/soundwire/devices/sdw:.../dp<N>_src/channels

/sys/bus/soundwire/devices/sdw:.../dp<N>_src/ch_combinations

/sys/bus/soundwire/devices/sdw:.../dp<N>_src/max_async_buffer

/sys/bus/soundwire/devices/sdw:.../dp<N>_src/block_pack_mode

/sys/bus/soundwire/devices/sdw:.../dp<N>_src/port_encoding

/sys/bus/soundwire/devices/sdw:.../dp<N>_sink/max_word

/sys/bus/soundwire/devices/sdw:.../dp<N>_sink/min_word

/sys/bus/soundwire/devices/sdw:.../dp<N>_sink/words

/sys/bus/soundwire/devices/sdw:.../dp<N>_sink/type

/sys/bus/soundwire/devices/sdw:.../dp<N>_sink/max_grouping

/sys/bus/soundwire/devices/sdw:.../dp<N>_sink/simple_ch_prep_sm

/sys/bus/soundwire/devices/sdw:.../dp<N>_sink/ch_prep_timeout

/sys/bus/soundwire/devices/sdw:.../dp<N>_sink/imp_def_interrupts

/sys/bus/soundwire/devices/sdw:.../dp<N>_sink/min_ch

/sys/bus/soundwire/devices/sdw:.../dp<N>_sink/max_ch

/sys/bus/soundwire/devices/sdw:.../dp<N>_sink/channels

/sys/bus/soundwire/devices/sdw:.../dp<N>_sink/ch_combinations

/sys/bus/soundwire/devices/sdw:.../dp<N>_sink/max_async_buffer

/sys/bus/soundwire/devices/sdw:.../dp<N>_sink/block_pack_mode

/sys/bus/soundwire/devices/sdw:.../dp<N>_sink/port_encoding

Defined on filesysfs-bus-soundwire-slave

SoundWire Slave Data Source/Sink Port-N DisCo properties.These properties are defined by MIPI DisCo Specificationfor SoundWire. They define various properties of theSource/Sink Data port N and are used by the bus to configurethe Data Port N.

/sys/bus/soundwire/devices/sdw:.../status

/sys/bus/soundwire/devices/sdw:.../device_number

Defined on filesysfs-bus-soundwire-slave

SoundWire Slave status

These properties report the Slave status, e.g. if itis UNATTACHED or not, and in the latter case show thedevice_number. This status information is useful todetect devices exposed by platform firmware but notphysically present on the bus, and conversely devicesnot exposed in platform firmware but enumerated.

/sys/bus/spi/<dev>/reset

Defined on filesysfs-driver-ge-achc

This file represents the microcontroller’s reset line.1 means the reset line is asserted, 0 means it’s notasserted. The file is read and writable.

/sys/bus/spi/<dev>/update_firmware

Defined on filesysfs-driver-ge-achc

Write 1 to this file to update the ACHC microcontrollerfirmware via the EzPort interface. For this the kernelwill load “achc.bin” via the firmware API (so usuallyfrom /lib/firmware). The write will block until the FWhas either been flashed successfully or an error occurred.

/sys/bus/spi/devices/.../spi-nor/jedec_id

Defined on filesysfs-bus-spi-devices-spi-nor

(RO) The JEDEC ID of the SPI NOR flash as reported by theflash device.

The attribute is not present if the flash doesn’t supportthe “Read JEDEC ID” command (9Fh). This is the case fornon-JEDEC compliant flashes.

/sys/bus/spi/devices/.../spi-nor/manufacturer

Defined on filesysfs-bus-spi-devices-spi-nor

(RO) Manufacturer of the SPI NOR flash.

The attribute is not present if the flash device isn’tknown to the kernel and is only probed by its SFDPtables.

/sys/bus/spi/devices/.../spi-nor/partname

Defined on filesysfs-bus-spi-devices-spi-nor

(RO) Part name of the SPI NOR flash.

The attribute is optional. User space should not rely onit to be present or even correct. Instead, user spaceshould read the jedec_id attribute.

/sys/bus/spi/devices/.../spi-nor/sfdp

Defined on filesysfs-bus-spi-devices-spi-nor

(RO) This attribute is only present if the SPI NOR flashdevice supports the “Read SFDP” command (5Ah).

If present, it contains the complete SFDP (serial flashdiscoverable parameters) binary data of the flash.

/sys/bus/surface_aggregator/devices/01:0e:01:00:01/state

Defined on filesysfs-bus-surface_aggregator-tabletsw

This attribute returns a string with the current type-coveror device posture, as indicated by the embedded controller.Currently returned posture states are:

  • “disconnected”: The type-cover has been disconnected.

  • “closed”: The type-cover has been folded closed and lies ontop of the display.

  • “laptop”: The type-cover is open and in laptop-mode, i.e.,ready for normal use.

  • “folded-canvas”: The type-cover has been folded backpart-ways, but does not lie flush with the back side of thedevice. In general, this means that the kick-stand is usedand extended atop of the cover.

  • “folded-back”: The type cover has been fully folded back andlies flush with the back side of the device.

  • “<unknown>”: The current state is unknown to the driver, forexample due to newer as-of-yet unsupported hardware.

New states may be introduced with new hardware. Users thereforemust not rely on this list of states being exhaustive andgracefully handle unknown states.

/sys/bus/surface_aggregator/devices/01:26:01:00:01/state

Defined on filesysfs-bus-surface_aggregator-tabletsw

This attribute returns a string with the current device posture, as indicated by the embedded controller. Currentlyreturned posture states are:

  • “closed”: The lid of the device is closed.

  • “laptop”: The lid of the device is opened and the deviceoperates as a normal laptop.

  • “slate”: The screen covers the keyboard or has been flippedback and the device operates mainly based on touch input.

  • “tablet”: The device operates as tablet and exclusivelyrelies on touch input (or external peripherals).

  • “<unknown>”: The current state is unknown to the driver, forexample due to newer as-of-yet unsupported hardware.

New states may be introduced with new hardware. Users thereforemust not rely on this list of states being exhaustive andgracefully handle unknown states.

/sys/bus/tee/devices/optee-ta-<uuid>/

Defined on filesysfs-bus-optee-devices

OP-TEE bus provides reference to registered drivers under this directory. The <uuid>matches Trusted Application (TA) driver and corresponding TA in secure OS. Driversare free to create needed API under optee-ta-<uuid> directory.

/sys/bus/tee/devices/optee-ta-<uuid>/need_supplicant

Defined on filesysfs-bus-optee-devices

Allows to distinguish whether an OP-TEE based TA/device requires user-spacetee-supplicant to function properly or not. This attribute will be present fordevices which depend on tee-supplicant to be running.

/sys/bus/thunderbolt/devices/.../authorized

Defined on filesysfs-bus-thunderbolt

This attribute is used to authorize Thunderbolt devicesafter they have been connected. If the device is notauthorized, no PCIe devices are available to the system.

Contents of this attribute will be 0 when the device is notyet authorized.

Possible values are supported:

0

The device will be de-authorized (only supported ifdeauthorization attribute under domain contains 1)

1

The device will be authorized and connected

When key attribute contains 32 byte hex string the possiblevalues are:

0

The device will be de-authorized (only supported ifdeauthorization attribute under domain contains 1)

1

The 32 byte hex string is added to the device NVM andthe device is authorized.

2

Send a challenge based on the 32 byte hex string. If thechallenge response from device is valid, the device isauthorized. In case of failure errno will be ENOKEY ifthe device did not contain a key at all, andEKEYREJECTED if the challenge response did not match.

/sys/bus/thunderbolt/devices/.../boot

Defined on filesysfs-bus-thunderbolt

This attribute contains 1 if Thunderbolt device was alreadyauthorized on boot and 0 otherwise.

/sys/bus/thunderbolt/devices/.../device

Defined on filesysfs-bus-thunderbolt

This attribute contains id of this device extracted fromthe device DROM.

/sys/bus/thunderbolt/devices/.../device_name

Defined on filesysfs-bus-thunderbolt

This attribute contains name of this device extracted fromthe device DROM.

/sys/bus/thunderbolt/devices/.../domainX/boot_acl

Defined on filesysfs-bus-thunderbolt

Holds a comma separated list of device unique_ids thatare allowed to be connected automatically during systemstartup (e.g boot devices). The list always containsmaximum supported number of unique_ids where unusedentries are empty. This allows the userspace softwareto determine how many entries the controller supports.If there are multiple controllers, each controller hasits own ACL list and size may be different between thecontrollers.

System BIOS may have an option “Preboot ACL” or similarthat needs to be selected before this list is taken intoconsideration.

Software always updates a full list in each write.

If a device is authorized automatically during boot itsboot attribute is set to 1.

/sys/bus/thunderbolt/devices/.../domainX/deauthorization

Defined on filesysfs-bus-thunderbolt

This attribute tells whether the system supportsde-authorization of devices. Value of 1 means user cande-authorize PCIe tunnel by writing 0 to authorizedattribute under each device.

/sys/bus/thunderbolt/devices/.../domainX/iommu_dma_protection

Defined on filesysfs-bus-thunderbolt

This attribute tells whether the system uses IOMMUfor DMA protection. Value of 1 means IOMMU is used 0 meansit is not (DMA protection is solely based on Thunderboltsecurity levels).

/sys/bus/thunderbolt/devices/.../domainX/security

Defined on filesysfs-bus-thunderbolt

This attribute holds current Thunderbolt security levelset by the system BIOS. Possible values are:

none

All devices are automatically authorized

user

Devices are only authorized based on writingappropriate value to the authorized attribute

secure

Require devices that support secure connect atminimum. User needs to authorize each device.

dponly

Automatically tunnel Display port (and USB). NoPCIe tunnels are created.

usbonly

Automatically tunnel USB controller of theconnected Thunderbolt dock (and Display Port). AllPCIe links downstream of the dock are removed.

nopcie

USB4 system where PCIe tunneling is disabled fromthe BIOS.

/sys/bus/thunderbolt/devices/.../generation

Defined on filesysfs-bus-thunderbolt

This attribute contains the generation of the Thunderboltcontroller associated with the device. It will contain 4for USB4.

/sys/bus/thunderbolt/devices/.../key

Defined on filesysfs-bus-thunderbolt

When a devices supports Thunderbolt secure connect it willhave this attribute. Writing 32 byte hex string changesauthorization to use the secure connection method instead.Writing an empty string clears the key and regular connectionmethod can be used again.

/sys/bus/thunderbolt/devices/.../maxhopid

Defined on filesysfs-bus-thunderbolt

Only set for XDomains. The maximum HopID the other hostsupports as its input HopID.

/sys/bus/thunderbolt/devices/.../nvm_authenticate

Defined on filesysfs-bus-thunderbolt

When new NVM image is written to the non-active NVMarea (through non_activeX NVMem device), theauthentication procedure is started by writing tothis file.If everything goes well, the device isrestarted with the new NVM firmware. If the imageverification fails an error code is returned instead.

This file will accept writing values “1”, “2” or “3”.

  • Writing “1” will flush the image to the storagearea and authenticate the image in one action.

  • Writing “2” will run some basic validation on the imageand flush it to the storage area.

  • Writing “3” will authenticate the image that iscurrently written in the storage area. This is onlysupported with USB4 devices and retimers.

When read holds status of the last authenticationoperation if an error occurred during the process. Thisis directly the status value from the DMA configurationbased mailbox before the device is power cycled. Writing0 here clears the status.

/sys/bus/thunderbolt/devices/.../nvm_authenticate_on_disconnect

Defined on filesysfs-bus-thunderbolt

For supported devices, automatically authenticate the new Thunderboltimage when the device is disconnected from the host system.

This file will accept writing values “1” or “2”

  • Writing “1” will flush the image to the storagearea and prepare the device for authentication on disconnect.

  • Writing “2” will run some basic validation on the imageand flush it to the storage area.

/sys/bus/thunderbolt/devices/.../nvm_version

Defined on filesysfs-bus-thunderbolt

If the device has upgradeable firmware the versionnumber 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.

/sys/bus/thunderbolt/devices/.../rx_lanes

Defined on filesysfs-bus-thunderbolt

This attribute reports number of RX lanes the device isusing simultaneously through its upstream port.

/sys/bus/thunderbolt/devices/.../rx_speed

Defined on filesysfs-bus-thunderbolt

This attribute reports the device RX speed per lane.All RX lanes run at the same speed.

/sys/bus/thunderbolt/devices/.../tx_lanes

Defined on filesysfs-bus-thunderbolt

This attribute reports number of TX lanes the device isusing simultaneously through its upstream port.

/sys/bus/thunderbolt/devices/.../tx_speed

Defined on filesysfs-bus-thunderbolt

This attribute reports the TX speed per lane.All TX lanes run at the same speed.

/sys/bus/thunderbolt/devices/.../unique_id

Defined on filesysfs-bus-thunderbolt

This attribute contains unique_id string of this device.This is either read from hardware registers (UUID onnewer hardware) or based on UID from the device DROM.Can be used to uniquely identify particular device.

/sys/bus/thunderbolt/devices/.../vendor

Defined on filesysfs-bus-thunderbolt

This attribute contains vendor id of this device extractedfrom the device DROM.

/sys/bus/thunderbolt/devices/.../vendor_name

Defined on filesysfs-bus-thunderbolt

This attribute contains vendor name of this device extractedfrom the device DROM.

/sys/bus/thunderbolt/devices/<device>:<port>.<index>/device

Defined on filesysfs-bus-thunderbolt

Retimer device identifier read from the hardware.

/sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_authenticate

Defined on filesysfs-bus-thunderbolt

When new NVM image is written to the non-active NVMarea (through non_activeX NVMem device), theauthentication procedure is started by writing 1 tothis file. If everything goes well, the device isrestarted with the new NVM firmware. If the imageverification fails an error code is returned instead.

When read holds status of the last authenticationoperation if an error occurred during the process.Format: %x.

/sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_version

Defined on filesysfs-bus-thunderbolt

Holds retimer NVM version number. Format: %x.%x, major.minor.

/sys/bus/thunderbolt/devices/<device>:<port>.<index>/vendor

Defined on filesysfs-bus-thunderbolt

Retimer vendor identifier read from the hardware.

/sys/bus/thunderbolt/devices/<xdomain>.<service>/key

Defined on filesysfs-bus-thunderbolt

This contains name of the property directory the XDomainservice exposes. This entry describes the protocol inquestion. Following directories are already reserved bythe Apple XDomain specification:

network

IP/ethernet over Thunderbolt

targetdm

Target disk mode protocol over Thunderbolt

extdisp

External display mode protocol over Thunderbolt

/sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias

Defined on filesysfs-bus-thunderbolt

Stores the same MODALIAS value emitted by uevent forthe XDomain service. Format: tbtsvc:kSpNvNrN

/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcid

Defined on filesysfs-bus-thunderbolt

This contains XDomain protocol identifier the XDomainservice supports.

/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcrevs

Defined on filesysfs-bus-thunderbolt

This contains XDomain software version the XDomainservice supports.

/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcstns

Defined on filesysfs-bus-thunderbolt

This contains XDomain service specific settings asbitmask. Format: %x

/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcvers

Defined on filesysfs-bus-thunderbolt

This contains XDomain protocol version the XDomainservice supports.

/sys/bus/thunderbolt/devices/usb4_portX/connector

Defined on filesysfs-bus-thunderbolt

Symlink to the USB Type-C connector. This link is onlycreated when USB Type-C Connector Class is enabled,and only if the system firmware is capable ofdescribing the connection between a port and itsconnector.

/sys/bus/thunderbolt/devices/usb4_portX/link

Defined on filesysfs-bus-thunderbolt

Returns the current link mode. Possible values are“usb4”, “tbt” and “none”.

/sys/bus/thunderbolt/devices/usb4_portX/offline

Defined on filesysfs-bus-thunderbolt

Writing 1 to this attribute puts the USB4 port intooffline mode. Only allowed when there is nothingconnected to the port (link attribute returns “none”).Once the port is in offline mode it does not receive anyhotplug events. This is used to update NVM firmware ofon-board retimers. Writing 0 puts the port back toonline mode.

This attribute is only visible if the platform supportspowering on retimers when there is no cable connected.

/sys/bus/thunderbolt/devices/usb4_portX/rescan

Defined on filesysfs-bus-thunderbolt

When the USB4 port is in offline mode writing 1 to thisattribute forces rescan of the sideband for on-boardretimers. Each retimer appear under the USB4 port as ifthe USB4 link was up. These retimers act in the same wayas if the cable was connected so upgrading their NVMfirmware can be done the usual way.

/sys/bus/typec/devices/.../active

Defined on filesysfs-bus-typec

Shows if the mode is active or not. The attribute can be usedfor entering/exiting the mode. Entering/exiting modes issupported as synchronous operation so write(2) to the attributedoes not return until the enter/exit mode operation hasfinished. The attribute is notified when the mode isentered/exited so poll(2) on the attribute wakes up.Entering/exiting a mode will also generate uevent KOBJ_CHANGE.

Valid values are boolean.

/sys/bus/typec/devices/.../description

Defined on filesysfs-bus-typec

Shows description of the mode. The description is optional forthe drivers, just like with the Billboard Devices.

/sys/bus/typec/devices/.../displayport/configuration

Defined on filesysfs-driver-typec-displayport

Shows the current DisplayPort configuration for the connector.Valid values are USB, source and sink. Source means DisplayPortsource, and sink means DisplayPort sink.

All supported configurations are listed as space separated listwith 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 isseparate configuration defined in VESA DisplayPort Alt Mode onUSB Type-C Standard. Functionally it equals to the situationwhere the mode has been exited (to exit the mode, seetesting/sysfs-bus-typec, and use file/sys/bus/typec/devices/.../active).

/sys/bus/typec/devices/.../displayport/hpd

Defined on filesysfs-driver-typec-displayport

VESA DisplayPort Alt Mode on USB Type-C Standard defines howHotPlugDetect(HPD) shall be supported on the USB-C connector whenoperating in DisplayPort Alt Mode. This is a read only node whichreflects the current state of HPD.

Valid values:
  • 1: when HPD’s logical state is high (HPD_High) as defined

    by VESA DisplayPort Alt Mode on USB Type-C Standard.

  • 0 when HPD’s logical state is low (HPD_Low) as defined by

    VESA DisplayPort Alt Mode on USB Type-C Standard.

/sys/bus/typec/devices/.../displayport/irq_hpd

Defined on filesysfs-driver-typec-displayport

IRQ_HPD events are sent over the USB PD protocol in Status Update andAttention messages. IRQ_HPD can only be asserted when HPD is high,and is asserted when an IRQ_HPD has been issued since the last StatusUpdate. This is a read only node that returns the number of IRQ eventsraised in the driver’s lifetime.

/sys/bus/typec/devices/.../displayport/pin_assignment

Defined on filesysfs-driver-typec-displayport

VESA DisplayPort Alt Mode on USB Type-C Standard defines sixdifferent pin assignments for USB Type-C connector that arelabeled A, B, C, D, E, and F. The supported pin assignments arelisted as space separated list with the active one wrapped insquare brackets.

Example:

C [D]

Pin assignment can be changed by writing to the file. It ispossible to set pin assignment before configuration has beenset, but the assignment will not be active before theconnector is actually configured.

Note. As of VESA DisplayPort Alt Mode on USB Type-C Standardversion 1.0b, pin assignments A, B, and F are deprecated. Onlypin assignment D can now carry simultaneously one channel ofUSB SuperSpeed protocol. From user perspective pin assignments Cand E are equal, where all channels on the connector are usedfor carrying DisplayPort protocol (allowing higher resolutions).

/sys/bus/typec/devices/.../mode

Defined on filesysfs-bus-typec

The index number of the mode returned by Discover Modes USBPower Delivery command. Depending on the alternate mode, themode index may be significant.

With some alternate modes (SVIDs), the mode index is assignedfor specific functionality in the specification for thatalternate mode.

With other alternate modes, the mode index values are notassigned, and can not be therefore used for identification. Whenthe mode index is not assigned, identifying the alternate modemust be done with either mode VDO or the description.

/sys/bus/typec/devices/.../svid

Defined on filesysfs-bus-typec

The Standard or Vendor ID (SVID) assigned by USB-IF for thisalternate mode.

/sys/bus/typec/devices/.../vdo

Defined on filesysfs-bus-typec

Shows the VDO in hexadecimal returned by Discover Modes commandfor this mode.

/sys/bus/usb-serial/drivers/.../new_id

Defined on filesysfs-bus-usb

For serial USB drivers, this attribute appears under theextra bus folder “usb-serial” in sysfs; apart from thatdifference, all descriptions from the entry“/sys/bus/usb/drivers/.../new_id” apply.

/sys/bus/usb/.../decimals

Defined on filesysfs-bus-usb-devices-usbsevseg

Controls the decimal places on the device.To set the nth decimal place, give this fieldthe value of10**n. Assume this field hasthe 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 tok+10**m.

/sys/bus/usb/.../mode_msb

/sys/bus/usb/.../mode_lsb

Defined on filesysfs-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.

/sys/bus/usb/.../powered

Defined on filesysfs-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.

/sys/bus/usb/.../text

Defined on filesysfs-bus-usb-devices-usbsevseg

The text (or data) for the device to display

/sys/bus/usb/.../textmode

Defined on filesysfs-bus-usb-devices-usbsevseg

Controls the way the device interprets its text buffer.raw: each character controls its segment manuallyhex: each character is between 0-15ascii: each character is between ‘0’-‘9’ and ‘A’-‘F’.

/sys/bus/usb/device/.../authorized

Defined on filesysfs-bus-usb

Authorized devices are available for use by devicedrivers, non-authorized one are not. By default, wiredUSB devices are authorized.

/sys/bus/usb/devices/.../<hub_interface>/port<X>

Defined on filesysfs-bus-usb

The /sys/bus/usb/devices/.../<hub_interface>/port<X>is usb port device’s sysfs directory.

/sys/bus/usb/devices/.../<hub_interface>/port<X>/connect_type

Defined on filesysfs-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 theinformation is available, and “unknown” otherwise.

/sys/bus/usb/devices/.../<hub_interface>/port<X>/connector

Defined on filesysfs-bus-usb

Link to the USB Type-C connector when available. This link isonly created when USB Type-C Connector Class is enabled, andonly if the system firmware is capable of describing theconnection between a port and its connector.

/sys/bus/usb/devices/.../<hub_interface>/port<X>/disable

Defined on filesysfs-bus-usb

This file controls the state of a USB port, includingVbus power output (but only on hubs that supportpower switching -- most hubs don’t support it). Ifa port is disabled, the port is unusable: Devicesattached to the port will not be detected, initialized,or enumerated.

/sys/bus/usb/devices/.../<hub_interface>/port<X>/early_stop

Defined on filesysfs-bus-usb

Some USB hosts have some watchdog mechanisms so that the devicemay enter ramdump if it takes a long time during port initialization.This attribute allows each port just has two attempts so that theport initialization will be failed quickly. In addition, if a portwhich is marked with early_stop has failed to initialize, it will ignoreall future connections until this attribute is clear.

/sys/bus/usb/devices/.../<hub_interface>/port<X>/location

Defined on filesysfs-bus-usb

Some platforms provide usb port physical location throughfirmware. This is used by the kernel to pair up logical portsmapping to the same physical connector. The attribute exposes theraw location value as a hex integer.

/sys/bus/usb/devices/.../<hub_interface>/port<X>/over_current_count

Defined on filesysfs-bus-usb

Most hubs are able to detect over-current situations on theirports and report them to the kernel. This attribute is to exposethe number of over-current situation occurred on a specific portto user space. This file will contain an unsigned 32 bit valuewhich wraps to 0 after its maximum is reached. This file supportspoll() for monitoring changes to this value in user space.

Any time this value changes the corresponding hub device will send audev event with the following attributes:

OVER_CURRENT_PORT=/sys/bus/usb/devices/.../<hub_interface>/port<X>OVER_CURRENT_COUNT=[current value of this sysfs attribute]

/sys/bus/usb/devices/.../<hub_interface>/port<X>/quirks

Defined on filesysfs-bus-usb

In some cases, we care about time-to-active for devicesconnected on a specific port (e.g. non-standard USB port likepogo pins), where the device to be connected is known inadvance, and behaves well according to the specification.This attribute is a bit-field that controls the behavior ofa specific port:

  • Bit 0 of this field selects the “old” enumeration scheme,as it is considerably faster (it only causes one USB resetinstead of 2).

    The old enumeration scheme can also be selected globallyusing /sys/module/usbcore/parameters/old_scheme_first, butit is often not desirable as the new scheme was introduced toincrease compatibility with more devices.

  • Bit 1 reduces TRSTRCY to the 10 ms that are required by theUSB 2.0 specification, instead of the 50 ms that are normallyused to help make enumeration work better on some high speeddevices.

/sys/bus/usb/devices/.../<hub_interface>/port<X>/state

Defined on filesysfs-bus-usb

Indicates current state of the USB device attached to the port.Valid states are: ‘not-attached’, ‘attached’, ‘powered’,‘reconnecting’, ‘unauthenticated’, ‘default’, ‘addressed’,‘configured’, and ‘suspended’. This file supports poll() tomonitor the state change from user space.

/sys/bus/usb/devices/.../<hub_interface>/port<X>/usb3_lpm_permit

Defined on filesysfs-bus-usb

Some USB3.0 devices are not friendly to USB3 LPM. usb3_lpm_permitattribute allows enabling/disabling usb3 lpm of a port. It takeseffect both before and after a usb device is enumerated. Supportedvalues are “0” if both u1 and u2 are NOT permitted, “u1” if only u1is permitted, “u2” if only u2 is permitted, “u1_u2” if both u1 andu2 are permitted.

/sys/bus/usb/devices/.../enable_compliance

Defined on filesysfs-bus-usb-lvstest

Write to this node to set the port to compliance mode to testwith Link Layer Validation device. It is needed for TD.7.34.

/sys/bus/usb/devices/.../get_dev_desc

Defined on filesysfs-bus-usb-lvstest

Write to this node to issue “Get Device Descriptor”for Link Layer Validation device. It is needed for TD.7.06.

/sys/bus/usb/devices/.../hot_reset

Defined on filesysfs-bus-usb-lvstest

Write to this node to issue “Reset” for Link Layer Validationdevice. It is needed for TD.7.29, TD.7.31, TD.7.34 and TD.7.35.

/sys/bus/usb/devices/.../ltm_capable

Defined on filesysfs-bus-usb

USB 3.0 devices may optionally support Latency ToleranceMessaging (LTM). They indicate their support by setting a bitin 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 willalways read “no” for USB 1.1 and USB 2.0 devices.

/sys/bus/usb/devices/.../power/usb2_hardware_lpm

Defined on filesysfs-bus-usb

If CONFIG_PM is set and a USB 2.0 lpm-capable device is pluggedin to a xHCI host which support link PM, it will perform a LPMtest; if the test is passed and host supports USB2 hardware LPM(xHCI 1.0 feature), USB2 hardware LPM will be enabled for thedevice and the USB device directory will contain a file namedpower/usb2_hardware_lpm. The file holds a string value (enableor disable) indicating whether or not USB2 hardware LPM isenabled for the device. Developer can write y/Y/1 or n/N/0 tothe file to enable/disable the feature.

/sys/bus/usb/devices/.../power/usb2_lpm_besl

Defined on filesysfs-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) toindicate the best effort to resumption of service to the device after theinitiation of the resume event.If the device does not have a preferred besl value then the host can selectone instead. This usb2_lpm_besl attribute allows to tune the host selected beslvalue 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 inUSB 2.0 ECN Errata for Link Power Management, section 4.10)

/sys/bus/usb/devices/.../power/usb2_lpm_l1_timeout

Defined on filesysfs-bus-usb

USB 2.0 devices may support hardware link power management (LPM)L1 sleep state. The usb2_lpm_l1_timeout attribute allowstuning 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.

/sys/bus/usb/devices/.../power/usb3_hardware_lpm_u1

/sys/bus/usb/devices/.../power/usb3_hardware_lpm_u2

Defined on filesysfs-bus-usb

If CONFIG_PM is set and a USB 3.0 lpm-capable device is pluggedin to a xHCI host which supports link PM, it will check if U1and U2 exit latencies have been set in the BOS descriptor; ifthe check is passed and the host supports USB3 hardware LPM,USB3 hardware LPM will be enabled for the device and the USBdevice directory will contain two files namedpower/usb3_hardware_lpm_u1 and power/usb3_hardware_lpm_u2. Thesefiles hold a string value (enable or disable) indicating whetheror not USB3 hardware LPM U1 or U2 is enabled for the device.

/sys/bus/usb/devices/.../rx_lanes

Defined on filesysfs-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 perdirection. Devices before USB 3.2 are single lane (rx_lanes = 1)

/sys/bus/usb/devices/.../tx_lanes

Defined on filesysfs-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 perdirection. Devices before USB 3.2 are single lane (tx_lanes = 1)

/sys/bus/usb/devices/.../typec

Defined on filesysfs-bus-usb

Symlink to the USB Type-C partner device. USB Type-C partnerrepresents the component that communicates over theConfiguration Channel (CC signal on USB Type-C connectors andcables) with the local port.

/sys/bus/usb/devices/.../u1_timeout

Defined on filesysfs-bus-usb-lvstest

Set “U1 timeout” for the downstream port where Link LayerValidation device is connected. Timeout value must be between 0and 127. It is needed for TD.7.18, TD.7.19, TD.7.20 and TD.7.21.

/sys/bus/usb/devices/.../u2_timeout

Defined on filesysfs-bus-usb-lvstest

Set “U2 timeout” for the downstream port where Link LayerValidation device is connected. Timeout value must be between 0and 127. It is needed for TD.7.18, TD.7.19, TD.7.20 and TD.7.21.

/sys/bus/usb/devices/.../u3_entry

Defined on filesysfs-bus-usb-lvstest

Write to this node to issue “U3 entry” for Link LayerValidation device. It is needed for TD.7.35 and TD.7.36.

/sys/bus/usb/devices/.../u3_exit

Defined on filesysfs-bus-usb-lvstest

Write to this node to issue “U3 exit” for Link LayerValidation device. It is needed for TD.7.36.

/sys/bus/usb/devices/.../warm_reset

Defined on filesysfs-bus-usb-lvstest

Write to this node to issue “Warm Reset” for Link Layer Validationdevice. It may be needed to properly reset an xHCI 1.1 host port ifcompliance mode needed to be explicitly enabled.

/sys/bus/usb/devices/<INTERFACE>/authorized

Defined on filesysfs-bus-usb

This allows to authorize (1) or deauthorize (0)individual interfaces instead a whole devicein contrast to the device authorization.If a deauthorized interface will be authorizedso the driver probing must be triggered manuallyby writing INTERFACE to /sys/bus/usb/drivers_probeThis allows to avoid side-effects with driversthat need multiple interfaces.

A deauthorized interface cannot be probed or claimed.

/sys/bus/usb/devices/<INTERFACE>/wireless_status

Defined on filesysfs-bus-usb

Some USB devices use a USB receiver dongle to communicatewirelessly with their device using proprietary protocols. Thisattribute allows user-space to know whether the device isconnected to its receiver dongle, and, for example, considerthe device to be absent when choosing whether to show thedevice’s battery, show a headset in a list of outputs, or showan on-screen keyboard if the only wireless keyboard isturned off.This attribute is not to be used to replace protocol specificstatuses available in WWAN, WLAN/Wi-Fi, Bluetooth, etc.If the device does not use a receiver dongle with a wirelessdevice, then this attribute will not exist.

/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 filesysfs-driver-hid

When read, this file returns the hex integer value in ASCIIof the device’s HID country code (e.g. 21 for US).This file cannot be written.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/dragging

Defined on filesysfs-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.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/fb_update_rate

Defined on filesysfs-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 Hzwithin permitted rates.

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

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/fn_lock

Defined on filesysfs-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.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kone/roccatkone<minor>/actual_dpi

Defined on filesysfs-driver-hid-roccat-kone

It is possible to switch the dpi setting of the mouse with thepress of a button.

When read, this file returns the raw number of the actual dpisetting reported by the mouse. This number has to be furtherprocessed to receive the real dpi value:

VALUE

DPI

1

800

2

1200

3

1600

4

2000

5

2400

6

3200

This file is readonly.

Users:

http://roccat.sourceforge.net

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kone/roccatkone<minor>/actual_profile

Defined on filesysfs-driver-hid-roccat-kone

When read, this file returns the number of the actual profile.

This file is readonly.

Users:

http://roccat.sourceforge.net

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kone/roccatkone<minor>/firmware_version

Defined on filesysfs-driver-hid-roccat-kone

When read, this file returns the raw integer version number of thefirmware reported by the mouse. Using the integer value easesfurther usage in other programs. To receive the real versionnumber the decimal point has to be shifted 2 positions to theleft. E.g. a returned value of 138 means 1.38

This file is readonly.

Users:

http://roccat.sourceforge.net

/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 filesysfs-driver-hid-roccat-kone

The mouse can store 5 profiles which can be switched by thepress of a button. A profile holds information like buttonmappings, sensitivity, the colors of the 5 leds and lighteffects.

When read, these files return the respective profile. Thereturned data is 975 bytes in size.

When written, this file lets one write the respective profiledata back to the mouse. The data has to be 975 bytes long.

The mouse will reject invalid data, whereas the profile numberstored in the profile doesn’t need to fit the number of thestore.

Users:

http://roccat.sourceforge.net

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kone/roccatkone<minor>/settings

Defined on filesysfs-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 thestartup_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 invaliddata.

Users:

http://roccat.sourceforge.net

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kone/roccatkone<minor>/startup_profile

Defined on filesysfs-driver-hid-roccat-kone

The integer value of this attribute ranges from 1 to 5.

When read, this attribute returns the number of the profilethat’s active when the mouse is powered on.

When written, this file sets the number of the startup profileand the mouse activates this profile immediately.

Users:

http://roccat.sourceforge.net

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kone/roccatkone<minor>/tcu

Defined on filesysfs-driver-hid-roccat-kone

The mouse has a “Tracking Control Unit” which lets the usercalibrate 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 takesaround 6 seconds to complete and activates the TCU.

Users:

http://roccat.sourceforge.net

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kone/roccatkone<minor>/weight

Defined on filesysfs-driver-hid-roccat-kone

The mouse can be equipped with one of four supplied weightsranging from 5 to 20 grams which are recognized by the mouseand its value can be read out. When read, this file returns theraw value returned by the mouse which eases further processingin 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.

Users:

http://roccat.sourceforge.net

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/operation_mode

Defined on filesysfs-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 beingenclosed in brackets (‘[’ and ‘]’)

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

Note: when switching mode the current PicoLCD HID device getsdisconnected and reconnects after above delay (see attributeoperation_mode_delay for its value).

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/operation_mode_delay

Defined on filesysfs-driver-hid-picolcd

Delay PicoLCD waits before restarting in new mode whenoperation_mode has changed.

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

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/press_speed

Defined on filesysfs-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.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/press_to_select

Defined on filesysfs-driver-hid-lenovo

This controls if mouse clicks should be generated if the trackpoint is quickly pressed. How fast this press has to beis being controlled by press_speed.

Values are 0 or 1.

Applies to Thinkpad USB Keyboard with TrackPoint.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/quirks

Defined on filesysfs-driver-hid-multitouch

The integer value of this attribute corresponds to thequirks actually in place to handle the device’s protocol.When read, this attribute returns the current settings (seeMT_QUIRKS_* in hid-multitouch.c).When written this attribute change on the fly the quirks, thenthe protocol to handle the device.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/release_to_select

Defined on filesysfs-driver-hid-lenovo

For details regarding this setting please refer tohttp://www.pc.ibm.com/ww/healthycomputing/trkpntb.htmlValues are 0 or 1.Applies to Thinkpad USB Keyboard with TrackPoint.

/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 filesysfs-driver-hid

When read, this file returns the device’s raw binary HIDreport descriptor.This file cannot be written.

Users:

HIDAPI library (http://www.signal11.us/oss/hidapi)

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/select_right

Defined on filesysfs-driver-hid-lenovo

This setting controls if the mouse click events generated by pressing the trackpoint (if press_to_select is enabled) generatea left or right mouse button click.

Values are 0 or 1.

Applies to Thinkpad USB Keyboard with TrackPoint.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/sensitivity

Defined on filesysfs-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.

/sys/bus/usb/devices/usbX/avoid_reset_quirk

Defined on filesysfs-bus-usb

Most devices have this set to zero.

If the value is 1, enable a USB quirk that prevents thisdevice to use reset.

(read/write)

/sys/bus/usb/devices/usbX/bAlternateSetting

Defined on filesysfs-bus-usb

The current interface alternate setting number, in decimal.

See USB specs for its meaning.

/sys/bus/usb/devices/usbX/bConfigurationValue

Defined on filesysfs-bus-usb

While a USB device typically have just one configurationsetting, some devices support multiple configurations.

This value shows the current configuration, in decimal.

Changing its value will change the device’s configurationto another setting.

The number of configurations supported by a device is at:

/sys/bus/usb/devices/usbX/bNumConfigurations

See USB specs for its meaning.

/sys/bus/usb/devices/usbX/bDeviceClass

Defined on filesysfs-bus-usb

Class code of the device, in hexadecimal.

See USB specs for its meaning.

/sys/bus/usb/devices/usbX/bDeviceProtocol

Defined on filesysfs-bus-usb

Protocol code of the device, in hexadecimal.

See USB specs for its meaning.

/sys/bus/usb/devices/usbX/bDeviceSubClass

Defined on filesysfs-bus-usb

Subclass code of the device, in hexadecimal.

See USB specs for its meaning.

/sys/bus/usb/devices/usbX/bInterfaceClass

Defined on filesysfs-bus-usb

Class code of the interface, in hexadecimal.

See USB specs for its meaning.

/sys/bus/usb/devices/usbX/bInterfaceNumber

Defined on filesysfs-bus-usb

Interface number, in hexadecimal.

See USB specs for its meaning.

/sys/bus/usb/devices/usbX/bInterfaceProtocol

Defined on filesysfs-bus-usb

Protocol code of the interface, in hexadecimal.

See USB specs for its meaning.

/sys/bus/usb/devices/usbX/bInterfaceSubClass

Defined on filesysfs-bus-usb

Subclass code of the interface, in hexadecimal.

See USB specs for its meaning.

/sys/bus/usb/devices/usbX/bMaxPacketSize0

Defined on filesysfs-bus-usb

Maximum endpoint 0 packet size, in decimal.

See USB specs for its meaning.

/sys/bus/usb/devices/usbX/bMaxPower

Defined on filesysfs-bus-usb

Maximum power consumption of the active configuration ofthe device, in miliamperes.

/sys/bus/usb/devices/usbX/bNumConfigurations

Defined on filesysfs-bus-usb

Number of the possible configurations of the device, indecimal. The current configuration is controlled via:

/sys/bus/usb/devices/usbX/bConfigurationValue

See USB specs for its meaning.

/sys/bus/usb/devices/usbX/bNumEndpoints

Defined on filesysfs-bus-usb

Number of endpoints used on this interface, in hexadecimal.

See USB specs for its meaning.

/sys/bus/usb/devices/usbX/bNumInterfaces

Defined on filesysfs-bus-usb

Number of interfaces on this device, in decimal.

/sys/bus/usb/devices/usbX/bcdDevice

Defined on filesysfs-bus-usb

The device’s release number, in hexadecimal.

See USB specs for its meaning.

/sys/bus/usb/devices/usbX/bmAttributes

Defined on filesysfs-bus-usb

Attributes of the current configuration, in hexadecimal.

See USB specs for its meaning.

/sys/bus/usb/devices/usbX/bos_descriptors

Defined on filesysfs-bus-usb

Binary file containing the cached binary device object store (BOS)of the device. This consists of the BOS descriptor followed by theset of device capability descriptors. All descriptors read fromthis file are in bus-endian format. Note that the kernel will notrequest the BOS from a device if its bcdUSB is less than 0x0201.

/sys/bus/usb/devices/usbX/busnum

Defined on filesysfs-bus-usb

Number of the bus.

/sys/bus/usb/devices/usbX/configuration

Defined on filesysfs-bus-usb

Contents of the string descriptor associated with thecurrent configuration. It may include the firmware versionof a device and/or its serial number.

/sys/bus/usb/devices/usbX/descriptors

Defined on filesysfs-bus-usb

Contains the interface descriptors, in binary.

/sys/bus/usb/devices/usbX/devnum

Defined on filesysfs-bus-usb

USB interface device number, in decimal.

/sys/bus/usb/devices/usbX/devpath

Defined on filesysfs-bus-usb

String containing the USB interface device path.

/sys/bus/usb/devices/usbX/devspec

Defined on filesysfs-bus-usb

Displays the Device Tree Open Firmware node of the interface.

/sys/bus/usb/devices/usbX/ep_<N>/bEndpointAddress

Defined on filesysfs-bus-usb

The address of the endpoint described by this descriptor,in hexadecimal. The endpoint direction on this bitmapped fieldis also shown at:

/sys/bus/usb/devices/usbX/ep_<N>/direction

See USB specs for its meaning.

/sys/bus/usb/devices/usbX/ep_<N>/bInterval

Defined on filesysfs-bus-usb

The interval of the endpoint as described on its descriptor,in hexadecimal. The actual interval depends on the versionof the USB. Also shown in time units at/sys/bus/usb/devices/usbX/ep_<N>/interval.

/sys/bus/usb/devices/usbX/ep_<N>/bLength

Defined on filesysfs-bus-usb

Number of bytes of the endpoint descriptor, in hexadecimal.

/sys/bus/usb/devices/usbX/ep_<N>/bmAttributes

Defined on filesysfs-bus-usb

Attributes which apply to the endpoint as described on itsdescriptor, in hexadecimal. The endpoint type on thisbitmapped field is also shown at:

/sys/bus/usb/devices/usbX/ep_<N>/type

See USB specs for its meaning.

/sys/bus/usb/devices/usbX/ep_<N>/direction

Defined on filesysfs-bus-usb

Direction of the endpoint. Can be:

  • both (on control endpoints)

  • in

  • out

/sys/bus/usb/devices/usbX/ep_<N>/interval

Defined on filesysfs-bus-usb

Interval for polling endpoint for data transfers, inmilisseconds or microseconds.

/sys/bus/usb/devices/usbX/ep_<N>/type

Defined on filesysfs-bus-usb

Descriptor type. Can be:

  • Control

  • Isoc

  • Bulk

  • Interrupt

  • unknown

/sys/bus/usb/devices/usbX/ep_<N>/wMaxPacketSize

Defined on filesysfs-bus-usb

Maximum packet size this endpoint is capable ofsending or receiving, in hexadecimal.

/sys/bus/usb/devices/usbX/idProduct

Defined on filesysfs-bus-usb

Product ID, in hexadecimal.

/sys/bus/usb/devices/usbX/idVendor

Defined on filesysfs-bus-usb

Vendor ID, in hexadecimal.

/sys/bus/usb/devices/usbX/interface_authorized_default

Defined on filesysfs-bus-usb

This is used as value that determines if interfaceswould be authorized by default.The value can be 1 or 0. It’s by default 1.

/sys/bus/usb/devices/usbX/manufacturer

Defined on filesysfs-bus-usb

Vendor specific string containing the name of themanufacturer of the device.

/sys/bus/usb/devices/usbX/maxchild

Defined on filesysfs-bus-usb

Number of ports of an USB hub

/sys/bus/usb/devices/usbX/persist

Defined on filesysfs-bus-usb

Keeps the device even if it gets disconnected.

/sys/bus/usb/devices/usbX/power/active_duration

Defined on filesysfs-bus-usb

The total time the device has not been suspended.

/sys/bus/usb/devices/usbX/power/autosuspend

Defined on filesysfs-bus-usb

Time in milliseconds for the device to autosuspend. If thevalue is negative, then autosuspend is prevented.

(read/write)

/sys/bus/usb/devices/usbX/power/connected_duration

Defined on filesysfs-bus-usb

The total time (in msec) that the device has been connected.

/sys/bus/usb/devices/usbX/power/level

Defined on filesysfs-bus-usb

/sys/bus/usb/devices/usbX/product

Defined on filesysfs-bus-usb

Vendor specific string containing the name of thedevice’s product.

/sys/bus/usb/devices/usbX/speed

Defined on filesysfs-bus-usb

Shows the device’s max speed, according to the USB version,in Mbps.Can be:

Unknown

speed unknown

1.5

Low speed

15

Full speed

480

High Speed

5000

Super Speed

10000

Super Speed+

20000

Super Speed+ Gen 2x2

/sys/bus/usb/devices/usbX/supports_autosuspend

Defined on filesysfs-bus-usb

Returns 1 if the device doesn’t support autosuspend.Otherwise, returns 0.

/sys/bus/usb/devices/usbX/urbnum

Defined on filesysfs-bus-usb

Number of URBs submitted for the whole device.

/sys/bus/usb/devices/usbX/version

Defined on filesysfs-bus-usb

String containing the USB device version, as encodedat the BCD descriptor.

/sys/bus/usb/drivers/.../new_id

Defined on filesysfs-bus-usb

Writing a device ID to this file will attempt todynamically add a new device ID to a USB device driver.This may allow the driver to support more hardware thanwas included in the driver’s static device ID supporttable at compile time. The format for the device ID is:idVendor idProduct bInterfaceClass RefIdVendor RefIdProductThe vendor ID and device ID fields are required, therest is optional. TheRef* tuple can be used to tell thedriver to use the same driver_data for the new device asit is used for the reference device.Upon successfully adding an ID, the driver will probefor 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 froman 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 addeddevice IDs in the same format, with one entry perline. For example:

# cat /sys/bus/usb/drivers/foo/new_id8086 10f5dead beef 06f00d cafe

The list will be truncated at PAGE_SIZE bytes due tosysfs restrictions.

/sys/bus/usb/drivers/.../remove_id

Defined on filesysfs-bus-usb

Writing a device ID to this file will remove an IDthat was dynamically added via the new_id sysfs entry.The format for the device ID is:idVendor idProduct. After successfullyremoving an ID, the driver will no longer support thedevice. This is useful to ensure auto probing won’tmatch 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 addeddevice IDs, exactly like reading from the entry“/sys/bus/usb/drivers/.../new_id”

/sys/bus/vdpa/devices/.../driver_override

Defined on filesysfs-bus-vdpa

This file allows the driver for a device to be specified.When specified, only a driver with a name matching the valuewritten to driver_override will have an opportunity to bind tothe device. The override is specified by writing a string to thedriver_override file (echo vhost-vdpa > driver_override) and maybe 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 thedevice from its current driver or make any attempt toautomatically load the specified driver. If no driver with amatching name is currently loaded in the kernel, the device willnot bind to any driver. This also allows devices to opt-out ofdriver binding using a driver_override name such as “none”.Only a single driver may be specified in the override, there isno support for parsing delimiters.

/sys/bus/vdpa/driver_probe

Defined on filesysfs-bus-vdpa

Writing a device name to this file will cause the kernel bindsdevices to a compatible driver.

This can be useful when /sys/bus/vdpa/drivers_autoprobe isdisabled.

/sys/bus/vdpa/drivers/.../bind

Defined on filesysfs-bus-vdpa

Writing a device name to this file will cause the driver toattempt to bind to the device. This is useful for overridingdefault bindings.

/sys/bus/vdpa/drivers/.../unbind

Defined on filesysfs-bus-vdpa

Writing a device name to this file will cause the driver toattempt to unbind from the device. This may be useful whenoverriding default bindings.

/sys/bus/vdpa/drivers_autoprobe

Defined on filesysfs-bus-vdpa

This file determines whether new devices are immediately boundto a driver after the creation. It initially contains 1, whichmeans the kernel automatically binds devices to a compatibledriver immediately after they are created.

Writing “0” to this file disable this feature, any other stringenable it.

/sys/bus/vmbus/devices/.../driver_override

Defined on filesysfs-bus-vmbus

This file allows the driver for a device to be specified whichwill override standard static and dynamic ID matching. Whenspecified, only a driver with a name matching the value writtento driver_override will have an opportunity to bind to thedevice. The override is specified by writing a string to thedriver_override file (echo uio_hv_generic > driver_override) andmay 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 thedevice from its current driver or make any attempt toautomatically load the specified driver. If no driver with amatching name is currently loaded in the kernel, the devicewill not bind to any driver. This also allows devices toopt-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.

/sys/bus/w1/devices/.../alarms

Defined on filesysfs-driver-w1_therm

(RW) read or write TH and TL (Temperature High an Low) alarms.Values shall be space separated and in the device range(typical -55 degC to 125 degC), if not values will be trimmedto device min/max capabilities. Values are integer as they arestored in a 8bit register in the device. Lowest value isautomatically put to TL. Once set, alarms could be search atmaster level, refer toIntroduction to the 1-wire (w1) subsystem fordetailed information

Users:

any user space application which wants to communicate withw1_term device

/sys/bus/w1/devices/.../conv_time

Defined on filesysfs-driver-w1_therm

(RW) Get, set, or measure a temperature conversion time. Thesetting remains active until a resolution change. Then it isreset to default (datasheet) conversion time for a newresolution.

read:

Actual conversion time in milliseconds.

write:
  • ‘0’:

    Set the default conversion time from the datasheet.

  • ‘1’:

    Measure and set the conversion time. Make a singletemperature conversion, measure an actual value.Increase it by 20% for temperature range. A newconversion time can be obtained by reading thissame attribute.

  • other positive value:

    Set the conversion time in milliseconds.

Users:

An application using the w1_term device

/sys/bus/w1/devices/.../eeprom_cmd

Defined on filesysfs-driver-w1_therm

(WO) writing that file will either trigger a save of thedevice data to its embedded EEPROM, either restore dataembedded in device EEPROM. Be aware that devices supportlimited EEPROM writing cycles (typical 50k)

  • ‘save’: save device RAM to EEPROM

  • ‘restore’: restore EEPROM data in device RAM

Users:

any user space application which wants to communicate withw1_term device

/sys/bus/w1/devices/.../ext_power

Defined on filesysfs-driver-w1_therm

(RO) return the power status by asking the device

  • ‘0’: device parasite powered

  • ‘1’: device externally powered

  • ‘-xx’: xx is kernel error when reading power status

Users:

any user space application which wants to communicate withw1_term device

/sys/bus/w1/devices/.../features

Defined on filesysfs-driver-w1_therm

(RW) Control optional driver settings.Bit masks to read/write (bitwise OR):

1

Enable check for conversion success. If byte 6 ofscratchpad memory is 0xC after conversion, andtemperature reads 85.00 (powerup value) or 127.94(insufficient power) - return a conversion error.

2

Enable poll for conversion completion. Generate read cyclesafter the conversion start and wait for 1’s. In parasitepower mode this feature is not available.

read:

Currently selected features.

write:

Select features.

Users:

An application using the w1_term device

/sys/bus/w1/devices/.../resolution

Defined on filesysfs-driver-w1_therm

(RW) get or set the device resolution (on supported devices,if not, this entry is not present). Note that the resolutionwill be changed only in device RAM, so it will be cleared whenpower is lost. Trigger a ‘save’ to EEPROM command to keepvalues after power-on. Read or write are :

  • ‘9..14’: device resolution in bitor resolution to set in bit

  • ‘-xx’: xx is kernel error when reading the resolution

  • Anything else: do nothing

Some DS18B20 clones are fixed in 12-bit resolution, so theactual resolution is read back from the chip and verified. Erroris reported if the results differ.

Users:

any user space application which wants to communicate withw1_term device

/sys/bus/w1/devices/.../temperature

Defined on filesysfs-driver-w1_therm

(RO) return the temperature in 1/1000 degC.

  • If a bulk read has been triggered, it will directlyreturn the temperature computed when the bulk readoccurred, if available. If not yet available, nothingis returned (a debug kernel message is sent), youshould retry later on.

  • If no bulk read has been triggered, it will triggera conversion and send the result. Note that theconversion duration depend on the resolution (ifdevice support this feature). It takes 94ms in 9bitsresolution, 750ms for 12bits.

Users:

any user space application which wants to communicate withw1_term device

/sys/bus/w1/devices/.../w1_slave

Defined on filesysfs-driver-w1_therm

(RW) return the temperature in 1/1000 degC.read: return 2 lines with the hexa output data sent on thebus, return the CRC check and temperature in 1/1000 degCwrite:

  • ‘0’ : save the 2 or 3 bytes to the device EEPROM(i.e. TH, TL and config register)

  • ‘9..14’ : set the device resolution in RAM(if supported)

  • Anything else: do nothing

refer toKernel driver w1_therm for detailedinformation.

Users:

any user space application which wants to communicate withw1_term device

/sys/bus/w1/devices/19-<id>/speed

Defined on filesysfs-driver-w1_ds28e17

When written, this file sets the I2C speed on the connectedDS28E17 chip. When read, it reads the current setting fromthe DS28E17 chip.

Valid values: 100, 400, 900 [kBaud].

Default 100, can be set by w1_ds28e17.speed= module parameter.

Users:

w1_ds28e17 driver

/sys/bus/w1/devices/19-<id>/stretch

Defined on filesysfs-driver-w1_ds28e17

When written, this file sets the multiplier used to calculatethe busy timeout for I2C operations on the connected DS28E17chip. When read, returns the current setting.Valid values: 1 to 9.

Default 1, can be set by w1_ds28e17.stretch= module parameter.

Users:

w1_ds28e17 driver

/sys/bus/w1/devices/w1_bus_masterXX/therm_bulk_read

Defined on filesysfs-driver-w1_therm

(RW) trigger a bulk read conversion. read the status

read:
  • ‘-1’:

    conversion in progress on at least 1 sensor

  • ‘1’ :

    conversion complete but at least one sensorvalue has not been read yet

  • ‘0’ :

    no bulk operation. Reading temperature willtrigger a conversion on each device

write:

‘trigger’: trigger a bulk read on all supportingdevices on the bus

Note that if a bulk read is sent but one sensor is not readimmediately, the next access to temperature on this devicewill return the temperature measured at the time of issueof the bulk read command (not the current temperature).

Users:

any user space application which wants to communicate withw1_term device

/sys/bus/wmi/devices/.../driver_override

Defined on filesysfs-bus-wmi

This file allows the driver for a device to be specified whichwill override standard ID table matching.When specified, only a driver with a name matching the valuewritten to driver_override will have an opportunity to bindto the device.The override is specified by writing a string to thedriver_override file (echo wmi-event-dummy > driver_override).The override may be cleared with an empty string (echo > driver_override) which returns the device to standard matchingrules binding.Writing to driver_override does not automatically unbind thedevice from its current driver or make any attempt to automaticallyload the specified driver. If no driver with a matching name iscurrently loaded in the kernel, the device will not bind to anydriver.This also allows devices to opt-out of driver binding using adriver_override name such as “none”. Only a single driver may bespecified in the override, there is no support for parsing delimiters.

/sys/bus/wmi/devices/.../expensive

Defined on filesysfs-bus-wmi

This file contains a boolean flag signaling if interacting withthe given WMI device will consume significant CPU resources.The WMI driver core will take care of enabling/disabling suchWMI devices.

/sys/bus/wmi/devices/.../guid

Defined on filesysfs-bus-wmi

This file contains the GUID used to match WMI devices tocompatible WMI drivers. This GUID is not necessarily uniqueinside a given machine, it is solely used to identify theinterface exposed by a given WMI device.

/sys/bus/wmi/devices/.../instance_count

Defined on filesysfs-bus-wmi

This file contains the number of WMI object instances beingpresent on a given WMI device. It contains a non-negativenumber.

/sys/bus/wmi/devices/.../modalias

Defined on filesysfs-bus-wmi

This file contains the MODALIAS value emitted by uevent for agiven WMI device.

Format: wmi:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.

/sys/bus/wmi/devices/.../notify_id

Defined on filesysfs-bus-wmi

This file contains the WMI notify ID used internally to map ACPIevents to WMI event devices. It contains two ASCII letters.

/sys/bus/wmi/devices/.../object_id

Defined on filesysfs-bus-wmi

This file contains the WMI object ID used internally to constructthe ACPI method names used by non-event WMI devices. It containstwo ASCII letters.

/sys/bus/wmi/devices/.../setable

Defined on filesysfs-bus-wmi

This file contains a boolean flags signaling the data blockassociated with the given WMI device is writable. If thegiven WMI device is not associated with a data block, thenthis file will not exist.

/sys/bus/wmi/devices/44FADEB1-B204-40F2-8581-394BBDC1B651[-X]/firmware_update_request

Defined on filesysfs-platform-intel-wmi-sbl-fw-update

Allow user space entities to trigger update of SlimBootloader (SBL). This attribute normally has a valueof 0 and userspace can signal SBL to update firmware,on next reboot, by writing a value of 1.There are two available states:

  • 0 -> Skip firmware update while rebooting

  • 1 -> Attempt firmware update on next reboot

/sys/bus/wmi/devices/6932965F-1671-4CEB-B988-D3AB0A901919[-X]/dell_privacy_current_state

Defined on filesysfs-platform-dell-privacy-wmi

Allow user space to check current dell privacy device state.Describes the Device State class exposed by BIOS which can beconsumed by various applications interested in knowing the Privacyfeature capabilities

Attributes:
Microphone:

Identifies the local microphone can be muted by hardware, no applicationsis available to capture system mic sound

Camera Shutter:

Identifies camera shutter controlled by hardware, which is a micromechanicalshutter assembly that is built onto the camera module to block capturing imagesfrom outside the laptop

Values:
muted:

Identifies the privacy device is turned offand cannot send stream to OS applications

unmuted:

Identifies the privacy device is turned on,audio or camera driver can get stream from micand camera module to OS applications

For example to check all supported current privacy device states:

# cat /sys/bus/wmi/drivers/dell-privacy/6932965F-1671-4CEB-B988-D3AB0A901919*/dell_privacy_current_state[Microphone] [unmuted][Camera Shutter] [unmuted]

/sys/bus/wmi/devices/6932965F-1671-4CEB-B988-D3AB0A901919[-X]/dell_privacy_supported_type

Defined on filesysfs-platform-dell-privacy-wmi

Display which dell hardware level privacy devices are supported“Dell Privacy” is a set of HW, FW, and SW features to enhanceDell’s commitment to platform privacy for MIC, Camera, andePrivacy screens.The supported hardware privacy devices are:

Attributes:
Microphone Mute:

Identifies the local microphone can be muted by hardware, no applicationsis available to capture system mic sound

Camera Shutter:

Identifies camera shutter controlled by hardware, which is a micromechanicalshutter assembly that is built onto the camera module to block capturing imagesfrom outside the laptop

Values:

supported:

The privacy device is supported by this system

unsupported:

The privacy device is not supported on this system

For example to check which privacy devices are supported:

# cat /sys/bus/wmi/drivers/dell-privacy/6932965F-1671-4CEB-B988-D3AB0A901919*/dell_privacy_supported_type[Microphone Mute] [supported][Camera Shutter] [supported][ePrivacy Screen] [unsupported]

/sys/bus/wmi/devices/86CCFD48-205E-4A77-9C48-2021CBEDE341[-X]/force_power

Defined on filesysfs-platform-intel-wmi-thunderbolt

Modify the platform force power state, influencingThunderbolt controllers to turn on or off when nodevices are connected (write-only)There are two available states:

  • 0 -> Force power disabled

  • 1 -> Force power enabled

Symbols under /sys/class

/sys/class/

Defined on filesysfs-class

The /sys/class directory will consist of a group ofsubdirectories describing individual classes of devicesin the kernel. The individual directories will consistof either subdirectories, or symlinks to otherdirectories.

All programs that use this directory tree must be ableto handle both subdirectories or symlinks in order towork properly.

Users:

udev <linux-hotplug-devel@lists.sourceforge.net>

/sys/class/accel/accel<n>/device/armcp_kernel_ver

Defined on filesysfs-driver-habanalabs

Version of the Linux kernel running on the device’s CPU.Will be DEPRECATED in Linux kernel version 5.10, and bereplaced with cpucp_kernel_ver

/sys/class/accel/accel<n>/device/armcp_ver

Defined on filesysfs-driver-habanalabs

Version of the application running on the device’s CPUWill be DEPRECATED in Linux kernel version 5.10, and bereplaced with cpucp_ver

/sys/class/accel/accel<n>/device/clk_cur_freq_mhz

Defined on filesysfs-driver-habanalabs

Displays the current frequency, in MHz, of the device clock.This property is valid only for the Gaudi ASIC family

/sys/class/accel/accel<n>/device/clk_max_freq_mhz

Defined on filesysfs-driver-habanalabs

Allows the user to set the maximum clock frequency, in MHz.The device clock might be set to lower value than the maximum.The user should read the clk_cur_freq_mhz to see the actualfrequency value of the device clock. This property is validonly for the Gaudi ASIC family

/sys/class/accel/accel<n>/device/cpld_ver

Defined on filesysfs-driver-habanalabs

Version of the Device’s CPLD F/W

/sys/class/accel/accel<n>/device/cpucp_kernel_ver

Defined on filesysfs-driver-habanalabs

Version of the Linux kernel running on the device’s CPU

/sys/class/accel/accel<n>/device/cpucp_ver

Defined on filesysfs-driver-habanalabs

Version of the application running on the device’s CPU

/sys/class/accel/accel<n>/device/device_type

Defined on filesysfs-driver-habanalabs

Displays the code name of the device according to its type.The supported values are: “GOYA”

/sys/class/accel/accel<n>/device/eeprom

Defined on filesysfs-driver-habanalabs

A binary file attribute that contains the contents of theon-board EEPROM

/sys/class/accel/accel<n>/device/fuse_ver

Defined on filesysfs-driver-habanalabs

Displays the device’s version from the eFuse

/sys/class/accel/accel<n>/device/fw_os_ver

Defined on filesysfs-driver-habanalabs

Version of the firmware OS running on the device’s CPU

/sys/class/accel/accel<n>/device/hard_reset

Defined on filesysfs-driver-habanalabs

Interface to trigger a hard-reset operation for the device.Hard-reset will reset ALL internal components of the deviceexcept for the PCI interface and the internal PLLs

/sys/class/accel/accel<n>/device/hard_reset_cnt

Defined on filesysfs-driver-habanalabs

Displays how many times the device have undergone a hard-resetoperation since the driver was loaded

/sys/class/accel/accel<n>/device/high_pll

Defined on filesysfs-driver-habanalabs

Allows the user to set the maximum clock frequency for MME, TPCand IC when the power management profile is set to “automatic”.This property is valid only for the Goya ASIC family

/sys/class/accel/accel<n>/device/ic_clk

Defined on filesysfs-driver-habanalabs

Allows the user to set the maximum clock frequency, in Hz, ofthe Interconnect fabric. Writes to this parameter affect thedevice only when the power management profile is set to “manual”mode. The device IC clock might be set to lower value than themaximum. The user should read the ic_clk_curr to see the actualfrequency value of the IC. This property is valid only for theGoya ASIC family

/sys/class/accel/accel<n>/device/ic_clk_curr

Defined on filesysfs-driver-habanalabs

Displays the current clock frequency, in Hz, of the Interconnectfabric. This property is valid only for the Goya ASIC family

/sys/class/accel/accel<n>/device/infineon_ver

Defined on filesysfs-driver-habanalabs

Version of the Device’s power supply F/W code. Relevant only to GOYA and GAUDI

/sys/class/accel/accel<n>/device/max_power

Defined on filesysfs-driver-habanalabs

Allows the user to set the maximum power consumption of thedevice in milliwatts.

/sys/class/accel/accel<n>/device/mme_clk

Defined on filesysfs-driver-habanalabs

Allows the user to set the maximum clock frequency, in Hz, ofthe MME compute engine. Writes to this parameter affect thedevice only when the power management profile is set to “manual”mode. The device MME clock might be set to lower value than themaximum. The user should read the mme_clk_curr to see the actualfrequency value of the MME. This property is valid only for theGoya ASIC family

/sys/class/accel/accel<n>/device/mme_clk_curr

Defined on filesysfs-driver-habanalabs

Displays the current clock frequency, in Hz, of the MME computeengine. This property is valid only for the Goya ASIC family

/sys/class/accel/accel<n>/device/module_id

Defined on filesysfs-driver-habanalabs

Displays the device’s module id

/sys/class/accel/accel<n>/device/parent_device

Defined on filesysfs-driver-habanalabs

Displays the name of the parent device of the accel device

/sys/class/accel/accel<n>/device/pci_addr

Defined on filesysfs-driver-habanalabs

Displays the PCI address of the device. This is needed so theuser would be able to open a device based on its PCI address

/sys/class/accel/accel<n>/device/pm_mng_profile

Defined on filesysfs-driver-habanalabs

Power management profile. Values are “auto”, “manual”. In “auto”mode, the driver will set the maximum clock frequency to a highvalue when a user-space process opens the device’s file (unlessit was already opened by another process). The driver will setthe max clock frequency to a low value when there are no userprocesses that are opened on the device’s file. In “manual”mode, the user sets the maximum clock frequency by writing toic_clk, mme_clk and tpc_clk. This property is valid only forthe Goya ASIC family

/sys/class/accel/accel<n>/device/preboot_btl_ver

Defined on filesysfs-driver-habanalabs

Version of the device’s preboot F/W code

/sys/class/accel/accel<n>/device/security_enabled

Defined on filesysfs-driver-habanalabs

Displays the device’s security status

/sys/class/accel/accel<n>/device/soft_reset

Defined on filesysfs-driver-habanalabs

Interface to trigger a soft-reset operation for the device.Soft-reset will reset only the compute and DMA engines of thedevice

/sys/class/accel/accel<n>/device/soft_reset_cnt

Defined on filesysfs-driver-habanalabs

Displays how many times the device have undergone a soft-resetoperation since the driver was loaded

/sys/class/accel/accel<n>/device/status

Defined on filesysfs-driver-habanalabs

Status of the card:

  • “operational” - Device is available for work.

  • “in reset” - Device is going through reset, will beavailable shortly.

  • “disabled” - Device is not usable.

  • “needs reset” - Device is not usable until a hard resetis initiated.

  • “in device creation” - Device is not available yet, as itis still initializing.

  • “in reset after device release” - Device is going througha compute-reset which is executed after a device release(relevant for Gaudi2 only).

/sys/class/accel/accel<n>/device/thermal_ver

Defined on filesysfs-driver-habanalabs

Version of the Device’s thermal daemon

/sys/class/accel/accel<n>/device/tpc_clk

Defined on filesysfs-driver-habanalabs

Allows the user to set the maximum clock frequency, in Hz, ofthe TPC compute engines. Writes to this parameter affect thedevice only when the power management profile is set to “manual”mode. The device TPC clock might be set to lower value than themaximum. The user should read the tpc_clk_curr to see the actualfrequency value of the TPC. This property is valid only forGoya ASIC family

/sys/class/accel/accel<n>/device/tpc_clk_curr

Defined on filesysfs-driver-habanalabs

Displays the current clock frequency, in Hz, of the TPC computeengines. This property is valid only for the Goya ASIC family

/sys/class/accel/accel<n>/device/uboot_ver

Defined on filesysfs-driver-habanalabs

Version of the u-boot running on the device’s CPU

/sys/class/accel/accel<n>/device/vrm_ver

Defined on filesysfs-driver-habanalabs

Version of the Device’s Voltage Regulator Monitor F/W code. N/A to GOYA and GAUDI

/sys/class/ata_*

Defined on filesysfs-ata

Provide a place in sysfs for storing the ATA topology of thesystem. This allows retrieving various information about ATAobjects.

Files under /sys/class/ata_port

For each port, a directory ataX is created where X is the ata_port_id of theport. The device parent is the ata host device.

/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 filesysfs-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 ifthe device is not a PM.

pio_mode: (RO) PIO transfer mode used by the device.

Mostly used by PATA devices.

xfer_mode: (RO) Current transfer mode. Mostly used by

PATA devices.

dma_mode: (RO) DMA transfer mode used by the device.

Mostly used by PATA devices.

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.

/sys/class/ata_device/devX[.Y].Z/trim

Defined on filesysfs-ata

(RO) Shows the DSM TRIM mode currently used by the device. Validvalues 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 commandsare 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 filesysfs-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 filesysfs-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].

/sys/class/ata_port/ataX/port_no

Defined on filesysfs-ata

(RO) Host local port number. While registering host controller,port numbers are tracked based upon number of ports available onthe controller. This attribute is needed by udev for composingpersistent links in /dev/disk/by-path.

Files under /sys/class/ata_link

Behind each port, there is a ata_link. If there is a SATA PM in the topology, 15ata_link objects are created.

If a link is behind a port, the directory name is linkX, where X is ata_port_idof the port. If a link is behind a PM, its name is linkX.Y where X isata_port_id of the parent port and Y the PM port.

/sys/class/backlight/<backlight>/<ambient light zone>_dim

Defined on filesysfs-class-backlight

Control the dim brightness for <ambient light zone>on this <backlight>. Values are between 0 and 127, typicallyset to 0. Full off when the backlight is disabled.This file will also show the dim brightness level stored forthis <ambient light zone>.

The <ambient light zone> is device-driver specific:

For ADP5520 and ADP5501, <ambient light zone> can be:

Ambient

sysfs entry

light zone

daylight

/sys/class/backlight/<backlight>/daylight_dim

office

/sys/class/backlight/<backlight>/office_dim

dark

/sys/class/backlight/<backlight>/dark_dim

For ADP8860, <ambient light zone> can be:

Ambient

sysfs entry

light zone

l1_daylight

/sys/class/backlight/<backlight>/l1_daylight_dim

l2_office

/sys/class/backlight/<backlight>/l2_office_dim

l3_dark

/sys/class/backlight/<backlight>/l3_dark_dim

For ADP8870, <ambient light zone> can be:

Ambient

sysfs entry

light zone

l1_daylight

/sys/class/backlight/<backlight>/l1_daylight_dim

l2_bright

/sys/class/backlight/<backlight>/l2_bright_dim

l3_office

/sys/class/backlight/<backlight>/l3_office_dim

l4_indoor

/sys/class/backlight/<backlight>/l4_indoor_dim

l5_dark

/sys/class/backlight/<backlight>/l5_dark_dim

See also: /sys/class/backlight/<backlight>/ambient_light_zone.

/sys/class/backlight/<backlight>/<ambient light zone>_max

Defined on filesysfs-class-backlight

Control the maximum brightness for <ambient light zone>on this <backlight>. Values are between 0 and 127. This filewill also show the brightness level stored for this<ambient light zone>.

The <ambient light zone> is device-driver specific:

For ADP5520 and ADP5501, <ambient light zone> can be:

Ambient

sysfs entry

light zone

daylight

/sys/class/backlight/<backlight>/daylight_max

office

/sys/class/backlight/<backlight>/office_max

dark

/sys/class/backlight/<backlight>/dark_max

For ADP8860, <ambient light zone> can be:

Ambient

sysfs entry

light zone

l1_daylight

/sys/class/backlight/<backlight>/l1_daylight_max

l2_office

/sys/class/backlight/<backlight>/l2_office_max

l3_dark

/sys/class/backlight/<backlight>/l3_dark_max

For ADP8870, <ambient light zone> can be:

Ambient

sysfs entry

light zone

l1_daylight

/sys/class/backlight/<backlight>/l1_daylight_max

l2_bright

/sys/class/backlight/<backlight>/l2_bright_max

l3_office

/sys/class/backlight/<backlight>/l3_office_max

l4_indoor

/sys/class/backlight/<backlight>/l4_indoor_max

l5_dark

/sys/class/backlight/<backlight>/l5_dark_max

See also: /sys/class/backlight/<backlight>/ambient_light_zone.

/sys/class/backlight/<backlight>/als_channel

Defined on filesysfs-class-backlight-driver-lm3533

Get the ALS output channel used as input inALS-current-control mode (0, 1), where:

0

out_current0 (backlight 0)

1

out_current1 (backlight 1)

/sys/class/backlight/<backlight>/als_en

Defined on filesysfs-class-backlight-driver-lm3533

Enable ALS-current-control mode (0, 1).

/sys/class/backlight/<backlight>/ambient_light_level

Defined on filesysfs-class-backlight

(RO) Get conversion value of the light sensor.

The value is automatically updated every 80 ms when thelight sensor is enabled.

The value range is device-driver specific:

For ADP8870:

It returns integer between 0 (dark) and 8000 (max ambientbrightness).

For ADP8860:

It returns a 13-bits integer.

/sys/class/backlight/<backlight>/ambient_light_zone

Defined on filesysfs-class-backlight

(RW) Read or write the specific brightness level at which thebacklight operates.

The value meaning is device-driver specific:

For ADP8860:

0

Off: Backlight set to 0 mA

1

Level 1: daylight

2

Level 2: bright

3

Level 3: dark

For ADP8870:

0

Off: Backlight set to 0 mA

1

Level 1: daylight

2

Level 2: bright

3

Level 3: office

4

Level 4: indoor

5

Level 5: dark

Writing 0 returns to normal/automatic ambient light leveloperation.

It can be enabled by writing the value stored in/sys/class/backlight/<backlight>/max_brightness to/sys/class/backlight/<backlight>/brightness.

/sys/class/backlight/<backlight>/bled_mode

Defined on filesysfs-class-backlight-lm3639

(WO) Write to the backlight mapping mode. The backlight currentcan be mapped for either exponential (value “0”) or linearmapping modes (default).

/sys/class/backlight/<backlight>/id

Defined on filesysfs-class-backlight-driver-lm3533

Get the id of this backlight (0, 1).

/sys/class/backlight/<backlight>/linear

Defined on filesysfs-class-backlight-driver-lm3533

Set the brightness-mapping mode (0, 1), where:

0

exponential mode

1

linear mode

/sys/class/backlight/<backlight>/pwm

Defined on filesysfs-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

/sys/class/backlight/<backlight>/scale

Defined on filesysfs-class-backlight

Description of the scale of the brightness curve.

The human eye senses brightness approximately logarithmically,hence linear changes in brightness are perceived as beingnon-linear. To achieve a linear perception of brightness changescontrols like sliders need to apply a logarithmic mapping forbacklights with a linear brightness curve.

Possible values of the attribute are:

unknown

The scale of the brightness curve is unknown.

linear

The brightness changes linearly with each step. Brightnesscontrols should apply a logarithmic mapping for a linearperception.

non-linear

The brightness changes non-linearly with each step. Brightnesscontrols should use a linear mapping for a linear perception.

/sys/class/bdi/<bdi>/

Defined on filesysfs-class-bdi

Provide a place in sysfs for the backing_dev_info object. This allowssetting 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 onnon-block filesystems which provide their own BDI, such as NFSand FUSE.

MAJOR:MINOR-fuseblk

Value of st_dev on fuseblk filesystems.

default

The default backing dev, used for non-block device backedfilesystems which do not provide their own BDI.

/sys/class/bdi/<bdi>/max_bytes

Defined on filesysfs-class-bdi

Allows limiting a particular device to use not more than thegiven ‘max_bytes’ of the write-back cache. This is useful insituations where we want to avoid one device taking all ormost of the write-back cache. For example in case of an NFSmount that is prone to get stuck, a FUSE mount which cannot betrusted to play fair, or a nbd device.

(read-write)

/sys/class/bdi/<bdi>/max_ratio

Defined on filesysfs-class-bdi

Allows limiting a particular device to use not more than thegiven percentage of the write-back cache. This is useful insituations where we want to avoid one device taking all ormost of the write-back cache. For example in case of an NFSmount that is prone to get stuck, or a FUSE mount which cannotbe trusted to play fair.

(read-write)

/sys/class/bdi/<bdi>/max_ratio_fine

Defined on filesysfs-class-bdi

Allows limiting a particular device to use not more than thegiven value of the write-back cache. The value is given as partof 1 million. This is useful in situations where we want to avoidone device taking all or most of the write-back cache. For examplein case of an NFS mount that is prone to get stuck, or a FUSE mountwhich cannot be trusted to play fair.

(read-write)

/sys/class/bdi/<bdi>/min_bytes

Defined on filesysfs-class-bdi

Under normal circumstances each device is given a part of thetotal write-back cache that relates to its current averagewriteout speed in relation to the other devices.

The ‘min_bytes’ parameter allows assigning a minimumpercentage of the write-back cache to a particular deviceexpressed in bytes.For example, this is useful for providing a minimum QoS.

(read-write)

/sys/class/bdi/<bdi>/min_ratio

Defined on filesysfs-class-bdi

Under normal circumstances each device is given a part of thetotal write-back cache that relates to its current averagewriteout speed in relation to the other devices.

The ‘min_ratio’ parameter allows assigning a minimumpercentage of the write-back cache to a particular device.For example, this is useful for providing a minimum QoS.

(read-write)

/sys/class/bdi/<bdi>/min_ratio_fine

Defined on filesysfs-class-bdi

Under normal circumstances each device is given a part of thetotal write-back cache that relates to its current averagewriteout speed in relation to the other devices.

The ‘min_ratio_fine’ parameter allows assigning a minimum reserveof the write-back cache to a particular device. The value isexpressed as part of 1 million. For example, this is useful forproviding a minimum QoS.

(read-write)

/sys/class/bdi/<bdi>/read_ahead_kb

Defined on filesysfs-class-bdi

Size of the read-ahead window in kilobytes

(read-write)

/sys/class/bdi/<bdi>/stable_pages_required

Defined on filesysfs-class-bdi

If set, the backing device requires that all pages comprising a writerequest must not be changed until writeout is complete.

(read-only)

/sys/class/bdi/<bdi>/strict_limit

Defined on filesysfs-class-bdi

Forces per-BDI checks for the share of given device in the write-backcache even before the global background dirty limit is reached. Thisis useful in situations where the global limit is much higher thanaffordable for given relatively slow (or untrusted) device. Turningstrictlimit on has no visible effect if max_ratio is equal to 100%.

(read-write)

/sys/class/bsr/bsr*/bsr_length

Defined on filesysfs-class-bsr

(RO) The length of memory region that can be mapped in bytes.

/sys/class/bsr/bsr*/bsr_size

Defined on filesysfs-class-bsr

(RO) Size of the barrier-synchronization register (BSR)register in bytes.

/sys/class/bsr/bsr*/bsr_stride

Defined on filesysfs-class-bsr

(RO) The stride or the interval at which the allocated BSR bytesrepeat within the mapping.

/sys/class/c2port/

Defined on filesysfs-c2port

The /sys/class/c2port/ directory will contain files anddirectories that will provide a unified interface tothe C2 port interface.

/sys/class/c2port/c2portX

Defined on filesysfs-c2port

The /sys/class/c2port/c2portX/ directory is related to X-thC2 port into the system. Each directory will contain files tomanage and control its C2 port.

/sys/class/c2port/c2portX/access

Defined on filesysfs-c2port

The /sys/class/c2port/c2portX/access file enable the accessto the C2 port from the system. No commands can be senttill this entry is set to 0.

/sys/class/c2port/c2portX/dev_id

Defined on filesysfs-c2port

The /sys/class/c2port/c2portX/dev_id file show the device IDof the connected micro.

/sys/class/c2port/c2portX/flash_access

Defined on filesysfs-c2port

The /sys/class/c2port/c2portX/flash_access file enable theaccess to the on-board flash of the connected micro.No commands can be sent till this entry is set to 0.

/sys/class/c2port/c2portX/flash_block_size

Defined on filesysfs-c2port

The /sys/class/c2port/c2portX/flash_block_size file showthe on-board flash block size of the connected micro.

/sys/class/c2port/c2portX/flash_blocks_num

Defined on filesysfs-c2port

The /sys/class/c2port/c2portX/flash_blocks_num file showthe on-board flash blocks number of the connected micro.

/sys/class/c2port/c2portX/flash_data

Defined on filesysfs-c2port

The /sys/class/c2port/c2portX/flash_data file exportthe content of the on-board flash of the connected micro.

/sys/class/c2port/c2portX/flash_erase

Defined on filesysfs-c2port

The /sys/class/c2port/c2portX/flash_erase file executethe “erase” command on the on-board flash of the connectedmicro.

/sys/class/c2port/c2portX/reset

Defined on filesysfs-c2port

The /sys/class/c2port/c2portX/reset file execute a “reset”command on the connected micro.

/sys/class/c2port/c2portX/rev_id

Defined on filesysfs-c2port

The /sys/class/c2port/c2portX/rev_id file show the revision IDof the connected micro.

/sys/class/chromeos/<ec-device-name>/flashinfo

Defined on filesysfs-class-chromeos

Show the EC flash information.

/sys/class/chromeos/<ec-device-name>/kb_wake_angle

Defined on filesysfs-class-chromeos

Control the keyboard wake lid angle. Values are between0 and 360. This file will also show the keyboard wake lidangle by querying the hardware.

/sys/class/chromeos/<ec-device-name>/lightbar/brightness

Defined on filesysfs-class-chromeos-driver-cros-ec-lightbar

Writing to this file adjusts the overall brightness ofthe lightbar, separate from any color intensity. Thevalid range is 0 (off) to 255 (maximum brightness).

/sys/class/chromeos/<ec-device-name>/lightbar/interval_msec

Defined on filesysfs-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 usersfrom interfering with the other EC functions, the rate atwhich the lightbar control files can be read or written islimited.

Reading this file will return the number of millisecondsthat must elapse between accessing any of the lightbarfunctions through this interface. Going faster will simplyblock until the necessary interval has lapsed. The intervalapplies uniformly to all accesses of any kind by any user.

/sys/class/chromeos/<ec-device-name>/lightbar/led_rgb

Defined on filesysfs-class-chromeos-driver-cros-ec-lightbar

This allows you to control each LED segment. If thelightbar is already running one of the automaticsequences, you probably won’t see anything change becauseyour color setting will be almost immediately replaced.To get useful results, you should stop the lightbarsequence first.

The values written to this file are sets of four integers,indicating LED, RED, GREEN, BLUE. The LED number is 0 to 3to select a single segment, or 4 to set all four segmentsto the same value at once. The RED, GREEN, and BLUEnumbers should be in the range 0 (off) to 255 (maximum).You can update more than one segment at a time by writingmore than one set of four integers.

/sys/class/chromeos/<ec-device-name>/lightbar/program

Defined on filesysfs-class-chromeos-driver-cros-ec-lightbar

This allows you to upload and run custom lightbar sequences.

/sys/class/chromeos/<ec-device-name>/lightbar/sequence

Defined on filesysfs-class-chromeos-driver-cros-ec-lightbar

The Pixel lightbar has a number of built-in sequencesthat it displays under various conditions, such as atpower on, shut down, or while running. Reading from thisfile displays the current sequence that the lightbar isdisplaying. Writing to this file allows you to change thesequence.

/sys/class/chromeos/<ec-device-name>/lightbar/userspace_control

Defined on filesysfs-class-chromeos-driver-cros-ec-lightbar

This allows you to take the control of the lightbar. Thisprevents the kernel from going through its normalsequences.

/sys/class/chromeos/<ec-device-name>/lightbar/version

Defined on filesysfs-class-chromeos-driver-cros-ec-lightbar

Show the information about the lightbar version.

/sys/class/chromeos/<ec-device-name>/reboot

Defined on filesysfs-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.

/sys/class/chromeos/<ec-device-name>/vbc/vboot_context

Defined on filesysfs-class-chromeos-driver-cros-ec-vbc

Read/write the verified boot context data included on asmall nvram space on some EC implementations.

/sys/class/chromeos/<ec-device-name>/version

Defined on filesysfs-class-chromeos

Show the information about the EC software and hardware.

/sys/class/chromeos/cros_ec/ap_mode_entry

Defined on filesysfs-class-chromeos

Show if the AP mode entry EC feature is supported.It indicates whether the EC waits for direction from the APto enter Type-C altmodes or USB4 mode.

/sys/class/chromeos/cros_ec/usbpdmuxinfo

Defined on filesysfs-class-chromeos

Show PD mux status for each typec port with following flags:- “USB”: USB connected- “DP”: DP connected- “POLARITY”: CC line Polarity inverted- “HPD_IRQ”: Hot Plug Detect interrupt is asserted- “HPD_LVL”: Hot Plug Detect level is asserted- “SAFE”: DP is in safe mode- “TBT”: TBT enabled- “USB4”: USB4 enabled

/sys/class/devfreq-event/event<x>/

Defined on filesysfs-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>’ whichincludes the unique number of ‘x’ for each devfreq-event object.

/sys/class/devfreq-event/event<x>/enable_count

Defined on filesysfs-class-devfreq-event

The /sys/class/devfreq-event/event<x>/enable_count attributecontains the reference count to enable the devfreq-eventobject. If the device is enabled, the value of attribute isgreater than zero.

/sys/class/devfreq-event/event<x>/name

Defined on filesysfs-class-devfreq-event

The /sys/class/devfreq-event/event<x>/name attribute containsthe name of the devfreq-event object. This attribute isread-only.

/sys/class/devfreq/.../

Defined on filesysfs-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 thename of device using devfreq.

/sys/class/devfreq/.../available_frequencies

Defined on filesysfs-class-devfreq

The /sys/class/devfreq/.../available_frequencies showsthe available frequencies of the corresponding devfreq object.This is a snapshot of available frequencies and not limitedby the min/max frequency restrictions.

/sys/class/devfreq/.../available_governors

Defined on filesysfs-class-devfreq

The /sys/class/devfreq/.../available_governors showscurrently available governors in the system.

/sys/class/devfreq/.../cur_freq

Defined on filesysfs-class-devfreq

The /sys/class/devfreq/.../cur_freq shows the currentfrequency of the corresponding devfreq object. Same astarget_freq whenget_cur_freq() is not implemented bydevfreq driver.

/sys/class/devfreq/.../governor

Defined on filesysfs-class-devfreq

The /sys/class/devfreq/.../governor show or set the name of thegovernor used by the corresponding devfreq object.

/sys/class/devfreq/.../max_freq

Defined on filesysfs-class-devfreq

The /sys/class/devfreq/.../max_freq shows and storesthe maximum frequency requested by users. It is 0 ifthe user does not care. max_freq overrides thefrequency requested by governors and min_freq.The max_freq overrides min_freq because max_freq may beused to throttle devices to avoid overheating.

/sys/class/devfreq/.../min_freq

Defined on filesysfs-class-devfreq

The /sys/class/devfreq/.../min_freq shows and storesthe minimum frequency requested by users. It is 0 ifthe user does not care. min_freq overrides thefrequency requested by governors.

/sys/class/devfreq/.../name

Defined on filesysfs-class-devfreq

The /sys/class/devfreq/.../name shows the name of deviceof the corresponding devfreq object.

/sys/class/devfreq/.../polling_interval

Defined on filesysfs-class-devfreq

The /sys/class/devfreq/.../polling_interval shows and setsthe requested polling interval of the corresponding devfreqobject. The values are represented in ms. If the value isless than 1 jiffy, it is considered to be 0, which meansno polling. This value is meaningless if the governor isnot polling.

A list of governors that support the node:- simple_ondmenad- tegra_actmon

/sys/class/devfreq/.../related_cpus

Defined on filesysfs-class-devfreq

The list of CPUs whose performance is closely related to thefrequency of this devfreq domain.

This file is only present if a specific devfreq device isclosely associated with a subset of CPUs.

/sys/class/devfreq/.../target_freq

Defined on filesysfs-class-devfreq

The /sys/class/devfreq/.../target_freq shows the next governorpredicted target frequency of the corresponding devfreq object.

/sys/class/devfreq/.../timer

Defined on filesysfs-class-devfreq

This ABI shows and stores the kind of work timer by users.This work timer is used by devfreq workqueue in order tomonitor the device status such as utilization. The usercan change the work timer on runtime according to their demandas following:

echo deferrable > /sys/class/devfreq/.../timerecho delayed > /sys/class/devfreq/.../timer

A list of governors that support the node:- simple_ondemand

/sys/class/devfreq/.../trans_stat

Defined on filesysfs-class-devfreq

This ABI shows or clears the statistics of devfreq behavioron a specific device. It shows the time spent in each stateand the number of transitions between states.In order to activate this ABI, the devfreq target devicedriver should provide the list of available frequencieswith its profile. If need to reset the statistics of devfreqbehavior on a specific device, enter 0(zero) to ‘trans_stat’as following:

echo 0 > /sys/class/devfreq/.../trans_stat

If the transition table is bigger than PAGE_SIZE, readingthis will return an -EFBIG error.

/sys/class/devfreq/.../userspace/set_freq

Defined on filesysfs-class-devfreq

The /sys/class/devfreq/.../userspace/set_freq shows andsets the requested frequency for the devfreq object ifuserspace governor is in effect.

A list of governors that support the node:- userspace

/sys/class/devlink/.../

Defined on filesysfs-class-devlink

Provide a place in sysfs for the device link objects in thekernel at any given time. The name of a device link directory,denoted as ... above, is of the form <supplier>--<consumer>where <supplier> is the supplier bus:device name and <consumer>is the consumer bus:device name.

/sys/class/devlink/.../auto_remove_on

Defined on filesysfs-class-devlink

This file indicates if the device link will ever beautomatically removed by the driver core when the consumer andsupplier devices themselves are still present.

This will be one of the following strings:

  • ‘consumer unbind’

  • ‘supplier unbind’

  • ‘never’

‘consumer unbind’ means the device link will be removed whenthe consumer’s driver is unbound from the consumer device.

‘supplier unbind’ means the device link will be removed whenthe supplier’s driver is unbound from the supplier device.

‘never’ means the device link will not be automatically removedwhen as long as the supplier and consumer devices themselvesare still present.

/sys/class/devlink/.../consumer

Defined on filesysfs-class-devlink

This file is a symlink to the consumer device’s sysfs directory.

/sys/class/devlink/.../runtime_pm

Defined on filesysfs-class-devlink

This file indicates if the device link has any impact on theruntime power management behavior of the consumer and supplierdevices. For example: Making sure the supplier doesn’t enterruntime suspend while the consumer is active.

This will be one of the following strings:

‘0’

Does not affect runtime power management

‘1’

Affects runtime power management

/sys/class/devlink/.../status

Defined on filesysfs-class-devlink

This file indicates the status of the device link. The statusof a device link is affected by whether the supplier andconsumer devices have been bound to their correspondingdrivers. The status of a device link also affects the bindingand unbinding of the supplier and consumer devices with theirdrivers and also affects whether the software state of thesupplier device is synced with the hardware state of thesupplier device after boot up.See also: sysfs-devices-state_synced.

This will be one of the following strings:

  • ‘not tracked’

  • ‘dormant’

  • ‘available’

  • ‘consumer probing’

  • ‘active’

  • ‘supplier unbinding’

  • ‘unknown’

‘not tracked’ means this device link does not track the statusand has no impact on the binding, unbinding and syncing thehardware and software device state.

‘dormant’ means the supplier and the consumer devices have notbound to their driver.

‘available’ means the supplier has bound to its driver and isavailable to supply resources to the consumer device.

‘consumer probing’ means the consumer device is currentlytrying to bind to its driver.

‘active’ means the supplier and consumer devices have bothbound successfully to their drivers.

‘supplier unbinding’ means the supplier devices is currently inthe process of unbinding from its driver.

‘unknown’ means the state of the device link is not any of theabove. If this is ever the value, there’s a bug in the kernel.

/sys/class/devlink/.../supplier

Defined on filesysfs-class-devlink

This file is a symlink to the supplier device’s sysfs directory.

/sys/class/devlink/.../sync_state_only

Defined on filesysfs-class-devlink

This file indicates if the device link is limited to onlyaffecting the syncing of the hardware and software state of thesupplier device.

This will be one of the following strings:

‘0’

‘1’

Affects runtime power management

‘0’ means the device link can affect other device behaviorslike binding/unbinding, suspend/resume, runtime powermanagement, etc.

‘1’ means the device link will only affect the syncing ofhardware and software state of the supplier device after bootup and doesn’t not affect other behaviors of the devices.

/sys/class/drm/.../boot_display

Defined on filesysfs-class-drm

This file indicates that displays connected to the device wereused to display the boot sequence. If a display connected tothe device was used to display the boot sequence the file willbe present and contain “1”.

/sys/class/extcon/.../

Defined on filesysfs-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 givenwith extcon_dev_register.

One extcon device denotes a single external connectorport. An external connector may have multiple cablesattached simultaneously. Many of docks, cradles, andaccessory 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’smutually_exclusive array.

/sys/class/extcon/.../cable.X/name

Defined on filesysfs-class-extcon

The /sys/class/extcon/.../cable.X/name shows the name of cable“X” (integer between 0 and 31) of an extcon device.

/sys/class/extcon/.../cable.X/state

Defined on filesysfs-class-extcon

The /sys/class/extcon/.../cable.X/state shows and stores thestate of cable “X” (integer between 0 and 31) of an extcondevice. The state value is either 0 (detached) or 1(attached).

/sys/class/extcon/.../mutually_exclusive/...

Defined on filesysfs-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/0x30x50xc#

Note that mutually_exclusive is a sub-directory of the extcondevice and the file names under the mutually_exclusivedirectory show the mutually-exclusive sets, not the contentsof the files.

/sys/class/extcon/.../name

Defined on filesysfs-class-extcon

The /sys/class/extcon/.../name shows the name of the extconobject. If the extcon object has an optional callback“show_name” defined, the callback will provide the name withthis sysfs node.

/sys/class/extcon/.../state

Defined on filesysfs-class-extcon

The /sys/class/extcon/.../state shows and stores the cableattach/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 optionalcallback.

If the default callback for showing function is used, theformat is like this:

# cat stateUSB_OTG=1HDMI=0TA=1EAR_JACK=0#

In this example, the extcon device has USB_OTG and TAcables attached and HDMI and EAR_JACK cables detached.

In order to update the state of an extcon device, enter a hexstate 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 themutually_exclusive conditions if they exist.

It is recommended to use this “global” state interface ifyou need to set the value atomically. The later stateinterface associated with each cable cannot updatemultiple cable states of an extcon device simultaneously.

/sys/class/fc/fc_udev_device/appid_store

Defined on filesysfs-class-fc

This interface allows an admin to set an FC applicationidentifier in the blkcg associated with a cgroup id. Theidentifier is typically a UUID that is associated withan application or logical entity such as a virtualmachine or container group. The application or logicalentity utilizes a block device via the cgroup id.FC adapter drivers may query the identifier and tag FCtraffic based on the identifier. FC host and FC fabricentities can utilize the application id and FC traffictag to identify traffic sources.

The interface expects a string “<cgroupid>:<appid>” where:<cgroupid> is inode of the cgroup in hexadecimal<appid> is user provided string upto 128 charactersin length.

If an appid_store is done for a cgroup id that alreadyhas an appid set, the new value will override theprevious value.

If an admin wants to remove an FC application identifierfrom a cgroup, an appid_store should be done with thefollowing string: “<cgroupid>:”

/sys/class/fc_host/hostX/statistics/fpin_cn_yyy

Defined on filesysfs-class-fc_host

These files contain the number of congestion notificationevents recorded by the F_Port, reported using fabricperformance impact notification (FPIN) event.

/sys/class/fc_host/hostX/statistics/fpin_dn_yyy

Defined on filesysfs-class-fc_host

These files contain the number of delivery related errorsrecorded by the F_Port/Nx_Port, reported using fabricperformance impact notification (FPIN) event.

/sys/class/fc_host/hostX/statistics/fpin_li_yyy

Defined on filesysfs-class-fc_host

These files contain the number of link integrity errorevents recorded by the F_Port/Nx_Port, reported using fabricperformance impact notification (FPIN) event.

/sys/class/fc_remote_ports/rport-X:Y-Z/statistics/fpin_cn_yyy

Defined on filesysfs-class-fc_remote_ports

These files contain the number of congestion notificationevents recorded by the F_Port/Nx_Port, reported using fabricperformance impact notification (FPIN) event.

/sys/class/fc_remote_ports/rport-X:Y-Z/statistics/fpin_dn_yyy

Defined on filesysfs-class-fc_remote_ports

These files contain the number of delivery related errorsrecorded by the F_Port/Nx_Port, reported using fabricperformance impact notification (FPIN) event.

/sys/class/fc_remote_ports/rport-X:Y-Z/statistics/fpin_li_yyy

Defined on filesysfs-class-fc_remote_ports

These files contain the number of link integrity errorevents recorded by the F_Port/Nx_Port, reported using fabricperformance impact notification (FPIN) event.

/sys/class/firmware-attributes/*/attributes/*/

Defined on filesysfs-class-firmware-attributes

A sysfs interface for systems management software to enableconfiguration capability on supported systems. This directoryexposes interfaces for interacting with configuration options.

Unless otherwise specified in an attribute description all attributes are optionaland will accept UTF-8 input.

type:

A file that can be read to obtain the type of attribute.This attribute is mandatory.

The following are known types:

  • enumeration: a set of pre-defined valid values

  • integer: a range of numerical values

  • string

HP specific types

  • ordered-list - a set of ordered list valid values

All attribute types support the following values:

current_value:

A file that can be read to obtain the currentvalue of the <attr>.

This file can also be written to in order to update the value of a<attr>

This attribute is mandatory.

default_value:

A file that can be read to obtain the defaultvalue of the <attr>

display_name:

A file that can be read to obtain a user friendlydescription of the at <attr>

display_name_language_code:

A file that can be read to obtainthe IETF language tag corresponding to the“display_name” of the <attr>

“enumeration”-type specific properties:

possible_values:

A file that can be read to obtain the possiblevalues of the <attr>. Values are separated usingsemi-colon (;).

“integer”-type specific properties:

min_value:

A file that can be read to obtain the lowerbound value of the <attr>

max_value:

A file that can be read to obtain the upperbound value of the <attr>

scalar_increment:

A file that can be read to obtain the scalar value used forincrements of current_value this attribute accepts.

“string”-type specific properties:

max_length:

A file that can be read to obtain the maximumlength value of the <attr>

min_length:

A file that can be read to obtain the minimumlength value of the <attr>

Dell specific class extensions

On Dell systems the following additional attributes are available:

dell_modifier:

A file that can be read to obtain attribute-leveldependency rule. It says an attribute X will become read-only orsuppressed, if/if-not attribute Y is configured.

modifier rules can be in following format:

[ReadOnlyIf:<attribute>=<value>][ReadOnlyIfNot:<attribute>=<value>][SuppressIf:<attribute>=<value>][SuppressIfNot:<attribute>=<value>]

For example:

AutoOnFri/dell_modifier has value,        [SuppressIfNot:AutoOn=SelectDays]

This means AutoOnFri will be suppressed in BIOS setup if AutoOnattribute is not “SelectDays” and its value will not be effectivethrough sysfs until this rule is met.

Enumeration attributes also support the following:

dell_value_modifier:

A file that can be read to obtain value-level dependency.This file is similar to dell_modifier but here, anattribute’s current value will be forcefully changed baseddependent attributes value.

dell_value_modifier rules can be in following format:

<value>[ForceIf:<attribute>=<value>]<value>[ForceIfNot:<attribute>=<value>]

For example:

LegacyOrom/dell_value_modifier has value:        Disabled[ForceIf:SecureBoot=Enabled]

This means LegacyOrom’s current value will be forced to“Disabled” in BIOS setup if SecureBoot is Enabled and itsvalue will not be effective through sysfs until this rule ismet.

HP specific class extensions

On HP systems the following additional attributes are available:

“ordered-list”-type specific properties:

elements:

A file that can be read to obtain the possiblelist of values of the <attr>. Values are separated usingsemi-colon (;) and listed according to their priority.An element listed first has the highest priority. Writingthe list in a different order to current_value altersthe priority order for the particular attribute.

/sys/class/firmware-attributes/*/attributes/Sure_Start/audit_log_entries

Defined on filesysfs-class-firmware-attributes

‘audit_log_entries’ is a read-only file that returns the events in the log.

Audit log entry format

Byte 0-15: Requested Audit Log entry (Each Audit log is 16 bytes)Byte 16-127: Unused

/sys/class/firmware-attributes/*/attributes/Sure_Start/audit_log_entry_count

Defined on filesysfs-class-firmware-attributes

‘audit_log_entry_count’ is a read-only file that returns the number of existingaudit log events available to be read. Values are separated using comma. (,)

[No of entries],[log entry size],[Max number of entries supported]

log entry size identifies audit log size for the current BIOS version.The current size is 16 bytes but it can be up to 128 bytes long in future BIOSversions.

/sys/class/firmware-attributes/*/attributes/debug_cmd

Defined on filesysfs-class-firmware-attributes

This write only attribute can be used to send debug commands to the BIOS.This should only be used when recommended by the BIOS vendor. Vendors mayuse it to enable extra debug attributes or BIOS features for testing purposes.

Note that any changes to this attribute requires a reboot for changes to take effect.

HP specific class extensions - Secure Platform Manager (SPM)

/sys/class/firmware-attributes/*/attributes/pending_reboot

Defined on filesysfs-class-firmware-attributes

A read-only attribute reads 1 if a reboot is necessary to applypending BIOS attribute changes. Also, an uevent_KOBJ_CHANGE isgenerated when it changes to 1.

0

All BIOS attributes setting are current

1

A reboot is necessary to get pending BIOSattribute changes applied

Note, userspace applications need to follow below steps for efficientBIOS management,

  1. Check if admin password is set. If yes, follow session method forpassword management as briefed under authentication section above.

  2. Before setting any attribute, check if it has any modifiersor value_modifiers. If yes, incorporate them and then modifyattribute.

Drivers may emit a CHANGE uevent when this value changes and userspacemay check it again.

/sys/class/firmware-attributes/*/attributes/reset_bios

Defined on filesysfs-class-firmware-attributes

This attribute can be used to reset the BIOS Configuration.Specifically, it tells which type of reset BIOS configuration is beingrequested on the host.

Reading from it returns a list of supported options encoded as:

  • ‘builtinsafe’ (Built in safe configuration profile)

  • ‘lastknowngood’ (Last known good saved configuration profile)

  • ‘factory’ (Default factory settings configuration profile)

  • ‘custom’ (Custom saved configuration profile)

The currently selected option is printed in square brackets asshown below:

# echo "factory" > /sys/class/firmware-attributes/*/device/attributes/reset_bios# cat /sys/class/firmware-attributes/*/device/attributes/reset_biosbuiltinsafe lastknowngood [factory] custom

Note that any changes to this attribute requires a rebootfor changes to take effect.

/sys/class/firmware-attributes/*/attributes/save_settings

Defined on filesysfs-class-firmware-attributes

On Lenovo platforms there is a limitation in the number of times an attribute can besaved. This is an architectural limitation and it limits the number of attributesthat can be modified to 48.A solution for this is instead of the attribute being saved after every modification,to allow a user to bulk set the attributes, and then trigger a final save. This allowsunlimited attributes.

Read the attribute to check what save mode is enabled (single or bulk).E.g:# cat /sys/class/firmware-attributes/thinklmi/attributes/save_settingssingle

Write the attribute with ‘bulk’ to enable bulk save mode.Write the attribute with ‘single’ to enable saving, after every attribute set.The default setting is single mode.E.g:# echo bulk > /sys/class/firmware-attributes/thinklmi/attributes/save_settings

When in bulk mode write ‘save’ to trigger a save of all currently modified attributes.Note, once a save has been triggered, in bulk mode, attributes can no longer be set andwill return a permissions error. This is to prevent users hitting the 48+ save limitation(which requires entering the BIOS to clear the error condition)E.g:# echo save > /sys/class/firmware-attributes/thinklmi/attributes/save_settings

/sys/class/firmware-attributes/*/authentication/

Defined on filesysfs-class-firmware-attributes

Devices support various authentication mechanisms which can be exposedas a separate configuration object.

For example a “BIOS Admin” password and “System” Password can be set,reset or cleared using these attributes.

  • An “Admin” password is used for preventing modification to the BIOSsettings.

  • A “System” password is required to boot a machine.

Change in any of these two authentication methods will also generate anuevent KOBJ_CHANGE.

is_enabled:

A file that can be read to obtain a 0/1 flag to see if<attr> authentication is enabled.This attribute is mandatory.

role:

The type of authentication used.This attribute is mandatory.

Known types:
bios-admin:

Representing BIOS administrator password

power-on:

Representing a password required to usethe system

system-mgmt:

Representing System Management password.See Lenovo extensions section for details

HDD:

Representing HDD passwordSee Lenovo extensions section for details

NVMe:

Representing NVMe passwordSee Lenovo extensions section for details

mechanism:

The means of authentication. This attribute is mandatory.Supported types are “password” or “certificate”.

max_password_length:

A file that can be read to obtain themaximum length of the Password

min_password_length:

A file that can be read to obtain theminimum length of the Password

current_password:

A write only value used for privileged access such assetting attributes when a system or admin password is setor resetting to a new password

This attribute is mandatory when mechanism == “password”.

new_password:

A write only value that when used in tandem withcurrent_password will reset a system or admin password.

Note, password management is session specific. If Admin password is set,same password must be written into current_password file (required forpassword-validation) and must be cleared once the session is over.For example:

echo "password" > current_passwordecho "disabled" > TouchScreen/current_valueecho "" > current_password

Drivers may emit a CHANGE uevent when a password is set or unsetuserspace may check it again.

On Dell, Lenovo and HP systems, if Admin password is set, then all BIOS attributesrequire password validation.On Lenovo systems if you change the Admin password the new password is not active untilthe next boot.

Lenovo specific class extensions

On Lenovo systems the following additional settings are available:

role: system-mgmt This gives the same authority as the bios-admin password to control

security related features. The authorities allocated can be set viathe BIOS menu SMP Access Control Policy

role: HDD & NVMe This password is used to unlock access to the drive at boot. Note see

‘level’ and ‘index’ extensions below.

lenovo_encoding:

The encoding method that is used. This can be either “ascii”or “scancode”. Default is set to “ascii”

lenovo_kbdlang:

The keyboard language method that is used. This is generally atwo char code (e.g. “us”, “fr”, “gr”) and may vary per platform.Default is set to “us”

level:

Available for HDD and NVMe authentication to set ‘user’ or ‘master’privilege level.If only the user password is configured then this should be used tounlock the drive at boot. If both master and user passwords are setthen either can be used. If a master password is set a user passwordis required.This attribute defaults to ‘user’ level

index:

Used with HDD and NVME authentication to set the drive indexthat is being referenced (e.g hdd1, hdd2 etc)This attribute defaults to device 1.

certificate, signature, save_signature:

These attributes are used for certificate based authentication. This isused in conjunction with a signing server as an alternative to passwordbased authentication.The user writes to the attribute(s) with a BASE64 encoded string obtainedfrom the signing server.The attributes can be displayed to check the stored value.

Some usage examples:

Installing a certificate to enable feature:

echo "supervisor password" > authentication/Admin/current_passwordecho "signed certificate" > authentication/Admin/certificate

Updating the installed certificate:

echo "signature" > authentication/Admin/signatureecho "signed certificate" > authentication/Admin/certificate

Removing the installed certificate:

echo "signature" > authentication/Admin/signatureecho "" > authentication/Admin/certificate

Changing a BIOS setting:

echo "signature" > authentication/Admin/signatureecho "save signature" > authentication/Admin/save_signatureecho Enable > attribute/PasswordBeep/current_value

You cannot enable certificate authentication if a supervisor passwordhas not been set.Clearing the certificate results in no bios-admin authentication methodbeing configured allowing anyone to make changes.After any of these operations the system must reboot for the changes totake effect.Admin and System certificates are supported from 2025 systems onward.

certificate_thumbprint:

Read only attribute used to display the MD5, SHA1 and SHA256 thumbprintsfor the certificate installed in the BIOS.

certificate_to_password:

Write only attribute used to switch from certificate based authenticationback to password based.Usage:

echo "signature" > authentication/Admin/signatureecho "password" > authentication/Admin/certificate_to_password

HP specific class extensions

On HP systems the following additional settings are available:

role: enhanced-bios-auth:

This role is specific to Secure Platform Management (SPM) attribute.It requires configuring an endorsement (kek) and signing certificate (sk).

/sys/class/firmware-attributes/*/authentication/SPM/kek

Defined on filesysfs-class-firmware-attributes

‘kek’ Key-Encryption-Key is a write-only file that can be used to configure theRSA public key that will be used by the BIOS to verifysignatures when setting the signing key. When written,the bytes should correspond to the KEK certificate(x509 .DER format containing an OU). The size of thecertificate must be less than or equal to 4095 bytes.

/sys/class/firmware-attributes/*/authentication/SPM/sk

Defined on filesysfs-class-firmware-attributes

‘sk’ Signature Key is a write-only file that can be used to configure the RSApublic key that will be used by the BIOS to verify signatureswhen configuring BIOS settings and security features. Whenwritten, the bytes should correspond to the modulus of thepublic key. The exponent is assumed to be 0x10001.

/sys/class/firmware-attributes/*/authentication/SPM/status

Defined on filesysfs-class-firmware-attributes

‘status’ is a read-only file that returns ASCII text in JSON format reportingthe status information.

“State”: “not provisioned | provisioned | provisioning in progress”,“Version”: “Major.Minor”,“Nonce”: <16-bit unsigned number display in base 10>,“FeaturesInUse”: <16-bit unsigned number display in base 10>,“EndorsementKeyMod”: “<256 bytes in base64>”,“SigningKeyMod”: “<256 bytes in base64>”

/sys/class/firmware/.../cancel

Defined on filesysfs-class-firmware

Write-only. For firmware uploads, write a “1” to this file torequest that the transfer of firmware data to the lower-leveldevice be canceled. This request will be rejected (EBUSY) ifthe update cannot be canceled (e.g. a FLASH write is inprogress) or (ENODEV) if there is no firmware update in progress.

/sys/class/firmware/.../data

Defined on filesysfs-class-firmware

The data sysfs file is used for firmware-fallback and forfirmware uploads. Cat a firmware image to this sysfs fileafter you echo 1 to the loading sysfs file. When the firmwareimage write is complete, echo 0 to the loading sysfs file. Thissequence will signal the completion of the firmware write andsignal the lower-level driver that the firmware data isavailable.

/sys/class/firmware/.../error

Defined on filesysfs-class-firmware

Read-only. Returns a string describing a failed firmwareupload. This string will be in the form of <STATUS>:<ERROR>,where <STATUS> will be one of the status strings describedfor the status sysfs file and <ERROR> will be one of thefollowing: “hw-error”, “timeout”, “user-abort”, “device-busy”,“invalid-file-size”, “read-write-error”, “flash-wearout”. Theerror sysfs file is only meaningful when the current firmwareupload status is “idle”. If this file is read while a firmwaretransfer is in progress, then the read will fail with EBUSY.

/sys/class/firmware/.../loading

Defined on filesysfs-class-firmware

The loading sysfs file is used for both firmware-fallback andfor firmware uploads. Echo 1 onto the loading file to indicateyou are writing a firmware file to the data sysfs node. Echo-1 onto this file to abort the data write or echo 0 onto thisfile to indicate that the write is complete. For firmwareuploads, the zero value also triggers the transfer of thefirmware data to the lower-level device driver.

/sys/class/firmware/.../remaining_size

Defined on filesysfs-class-firmware

Read-only. For firmware upload, this file contains the sizeof the firmware data that remains to be transferred to thelower-level device driver. The size value is initialized tothe full size of the firmware image that was previouslywritten to the data sysfs file. This value is periodicallyupdated during the “transferring” phase of the firmwareupload.Format: “%u”.

/sys/class/firmware/.../status

Defined on filesysfs-class-firmware

Read-only. Returns a string describing the current status ofa firmware upload. The string will be one of the following:idle, “receiving”, “preparing”, “transferring”, “programming”.

/sys/class/firmware/.../timeout

Defined on filesysfs-class-firmware

This file supports the timeout mechanism for firmwarefallback. This file has no affect on firmware uploads. Formore information on timeouts please see the documentationfor firmware fallback.

/sys/class/fpga_bridge/<bridge>/name

Defined on filesysfs-class-fpga-bridge

Name of low level FPGA bridge driver.

/sys/class/fpga_bridge/<bridge>/state

Defined on filesysfs-class-fpga-bridge

Show bridge state as “enabled” or “disabled”

/sys/class/fpga_manager/<fpga>/name

Defined on filesysfs-class-fpga-manager

Name of low level fpga manager driver.

/sys/class/fpga_manager/<fpga>/state

Defined on filesysfs-class-fpga-manager

Read fpga manager state as a string.The intent is to provide enough detail that if something goeswrong during FPGA programming (something that the driver can’tfix) then userspace can know, i.e. if the firmware requestfails, that could be due to not being able to find the firmwarefile.

This is a superset of FPGA states and fpga manager driverstates. The fpga manager driver is walking through these stepsto get the FPGA into a known operating state. It’s a sequence,though some steps may get skipped. Valid FPGA states will varyby 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

/sys/class/fpga_manager/<fpga>/status

Defined on filesysfs-class-fpga-manager

Read fpga manager status as a string.If FPGA programming operation fails, it could be caused by crcerror or incompatible bitstream image. The intent of thisinterface is to provide more detailed information for FPGAprogramming errors to userspace. This is a list of strings forthe supported status.

  • reconfig operation error - invalid operations detected by

    reconfiguration hardware.e.g. start reconfigurationwith 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

/sys/class/fpga_region/<region>/compat_id

Defined on filesysfs-class-fpga-region

FPGA region id for compatibility check, e.g. compatibilityof the FPGA reconfiguration hardware and image. This valueis defined or calculated by the layer that is creating theFPGA region. This interface returns the compat_id value orjust error code -ENOENT in case compat_id is not used.

/sys/class/genwqe/genwqe<n>_card/appid

Defined on filesysfs-driver-genwqe

Identifies the currently active card application e.g. ‘GZIP’for compression/decompression.

/sys/class/genwqe/genwqe<n>_card/base_clock

Defined on filesysfs-driver-genwqe

Base clock frequency of the card.

/sys/class/genwqe/genwqe<n>_card/curr_bitstream

Defined on filesysfs-driver-genwqe

Currently active bitstream. 1 is default, 0 is backup.

/sys/class/genwqe/genwqe<n>_card/device/sriov_numvfs

Defined on filesysfs-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.

/sys/class/genwqe/genwqe<n>_card/freerunning_timer

Defined on filesysfs-driver-genwqe

Interface to read the cards free running timer.Used for performance and utilization measurements.

/sys/class/genwqe/genwqe<n>_card/next_bitstream

Defined on filesysfs-driver-genwqe

Interface to set the next bitstream to be used.

/sys/class/genwqe/genwqe<n>_card/queue_working_time

Defined on filesysfs-driver-genwqe

Interface to read queue working time.Used for performance and utilization measurements.

/sys/class/genwqe/genwqe<n>_card/reload_bitstream

Defined on filesysfs-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 seton ‘next_bitstream’.

/sys/class/genwqe/genwqe<n>_card/state

Defined on filesysfs-driver-genwqe

State of the card: “unused”, “used”, “error”.

/sys/class/genwqe/genwqe<n>_card/tempsens

Defined on filesysfs-driver-genwqe

Interface to read the cards temperature sense register.

/sys/class/genwqe/genwqe<n>_card/type

Defined on filesysfs-driver-genwqe

Type of the card e.g. ‘GenWQE5-A7’.

/sys/class/genwqe/genwqe<n>_card/version

Defined on filesysfs-driver-genwqe

Unique bitstream identification e.g.‘0000000330336283.00000000475a4950’.

/sys/class/gnss/gnss<N>/type

Defined on filesysfs-class-gnss

The GNSS receiver type. The currently identified types reflectthe protocol(s) supported by the receiver:

“NMEA”

NMEA 0183

“SiRF”

SiRF Binary

“UBX”

UBX

Note that also non-“NMEA” type receivers typically support asubset of NMEA 0183 with vendor extensions (e.g. to allowswitching to a vendor protocol).

/sys/class/hwmon/hwmonX/cpuY_vid

Defined on filesysfs-class-hwmon

CPU core reference voltage.

Unit: millivolt

RO

Not always correct.

/sys/class/hwmon/hwmonX/currY_average

Defined on filesysfs-class-hwmon

Average current use

Unit: milliampere

RO

/sys/class/hwmon/hwmonX/currY_crit

Defined on filesysfs-class-hwmon

Current critical high value.

Unit: milliampere

RW

/sys/class/hwmon/hwmonX/currY_enable

Defined on filesysfs-class-hwmon

Enable or disable the sensors.

When disabled the sensor read will return -ENODATA.

  • 1: Enable

  • 0: Disable

RW

/sys/class/hwmon/hwmonX/currY_highest

Defined on filesysfs-class-hwmon

Historical maximum currentUnit: milliampereRO

/sys/class/hwmon/hwmonX/currY_input

Defined on filesysfs-class-hwmon

Current input value

Unit: milliampere

RO

/sys/class/hwmon/hwmonX/currY_lcrit

Defined on filesysfs-class-hwmon

Current critical low value

Unit: milliampere

RW

/sys/class/hwmon/hwmonX/currY_lowest

Defined on filesysfs-class-hwmon

Historical minimum current

Unit: milliampere

RO

/sys/class/hwmon/hwmonX/currY_max

Defined on filesysfs-class-hwmon

Current max value

Unit: milliampere

RW

/sys/class/hwmon/hwmonX/currY_min

Defined on filesysfs-class-hwmon

Current min value.

Unit: milliampere

RW

/sys/class/hwmon/hwmonX/currY_rated_max

Defined on filesysfs-class-hwmon

Maximum rated current.

Unit: milliampere

RO

/sys/class/hwmon/hwmonX/currY_rated_min

Defined on filesysfs-class-hwmon

Minimum rated current.

Unit: milliampere

RO

/sys/class/hwmon/hwmonX/currY_reset_history

Defined on filesysfs-class-hwmon

Reset currX_lowest and currX_highest

WO

/sys/class/hwmon/hwmonX/curr_reset_history

Defined on filesysfs-class-hwmon

Reset currX_lowest and currX_highest for all sensors

WO

/sys/class/hwmon/hwmonX/device/pec

Defined on filesysfs-class-hwmon

PEC support on I2C devices

  • 0, off, n: disable

  • 1, on, y: enable

RW

/sys/class/hwmon/hwmonX/energyY_enable

Defined on filesysfs-class-hwmon

Enable or disable the sensors.

When disabled the sensor read will return-ENODATA.

  • 1: Enable

  • 0: Disable

RW

/sys/class/hwmon/hwmonX/energyY_input

Defined on filesysfs-class-hwmon

Cumulative energy use

Unit: microJoule

RO

/sys/class/hwmon/hwmonX/fanY_boost

Defined on filesysfs-platform-alienware-wmi

This file exposes fan boost control for Dell gaming laptops withthe AWCC WMI interface.

SeeAlienware WMI Driver fordetails.

Integer value in the range 0 to 255

RW

/sys/class/hwmon/hwmonX/fanY_div

Defined on filesysfs-class-hwmon

Fan divisor.

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

RW

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

/sys/class/hwmon/hwmonX/fanY_enable

Defined on filesysfs-class-hwmon

Enable or disable the sensors.

When disabled the sensor read will return -ENODATA.

  • 1: Enable

  • 0: Disable

RW

/sys/class/hwmon/hwmonX/fanY_fault

Defined on filesysfs-class-hwmon

Reports if a fan has reported failure.

  • 1: Failed

  • 0: Ok

RO

/sys/class/hwmon/hwmonX/fanY_input

Defined on filesysfs-class-hwmon

Fan input value.

Unit: revolution/min (RPM)

RO

/sys/class/hwmon/hwmonX/fanY_label

Defined on filesysfs-class-hwmon

Suggested fan channel label.

Text string

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

RO

/sys/class/hwmon/hwmonX/fanY_max

Defined on filesysfs-class-hwmon

Fan maximum value

Unit: revolution/min (RPM)

Only rarely supported by the hardware.RW

/sys/class/hwmon/hwmonX/fanY_min

Defined on filesysfs-class-hwmon

Fan minimum value

Unit: revolution/min (RPM)

RW

/sys/class/hwmon/hwmonX/fanY_pulses

Defined on filesysfs-class-hwmon

Number of tachometer pulses per fan revolution.

Integer value, typically between 1 and 4.

RW

This value is a characteristic of the fan connected to thedevice’s input, so it has to be set in accordance with the fanmodel.

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

/sys/class/hwmon/hwmonX/fanY_target

Defined on filesysfs-class-hwmon

Desired fan speed

Unit: revolution/min (RPM)

RW

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

/sys/class/hwmon/hwmonX/humidityY_alarm

Defined on filesysfs-class-hwmon

Humidity limit detection

  • 0: OK

  • 1: Humidity limit has been reached

RO

/sys/class/hwmon/hwmonX/humidityY_enable

Defined on filesysfs-class-hwmon

Enable or disable the sensors

When disabled the sensor read will return-ENODATA.

  • 1: Enable

  • 0: Disable

RW

/sys/class/hwmon/hwmonX/humidityY_fault

Defined on filesysfs-class-hwmon

Reports a humidity sensor failure.

  • 1: Failed

  • 0: Ok

RO

/sys/class/hwmon/hwmonX/humidityY_input

Defined on filesysfs-class-hwmon

Humidity

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

RO

/sys/class/hwmon/hwmonX/humidityY_label

Defined on filesysfs-class-hwmon

Suggested humidity channel label.

Text string

Should only be created if the driver has hints about whatthis humidity channel is being used for, and user-spacedoesn’t. In all other cases, the label is provided byuser-space.

RO

/sys/class/hwmon/hwmonX/humidityY_max

Defined on filesysfs-class-hwmon

Humidity max value.

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

RW

/sys/class/hwmon/hwmonX/humidityY_max_alarm

Defined on filesysfs-class-hwmon

Maximum humidity detection

  • 0: OK

  • 1: Maximum humidity detected

RO

/sys/class/hwmon/hwmonX/humidityY_max_hyst

Defined on filesysfs-class-hwmon

Humidity hysteresis value for max limit.

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

Must be reported as an absolute humidity, NOT a deltafrom the max value.

RW

/sys/class/hwmon/hwmonX/humidityY_min

Defined on filesysfs-class-hwmon

Humidity min value.

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

RW

/sys/class/hwmon/hwmonX/humidityY_min_alarm

Defined on filesysfs-class-hwmon

Minimum humidity detection

  • 0: OK

  • 1: Minimum humidity detected

RO

/sys/class/hwmon/hwmonX/humidityY_min_hyst

Defined on filesysfs-class-hwmon

Humidity hysteresis value for min limit.

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

Must be reported as an absolute humidity, NOT a deltafrom the min value.

RW

/sys/class/hwmon/hwmonX/humidityY_rated_max

Defined on filesysfs-class-hwmon

Maximum rated humidity.

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

RO

/sys/class/hwmon/hwmonX/humidityY_rated_min

Defined on filesysfs-class-hwmon

Minimum rated humidity.

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

RO

/sys/class/hwmon/hwmonX/inY_average

Defined on filesysfs-class-hwmon

Average voltage

Unit: millivolt

RO

/sys/class/hwmon/hwmonX/inY_crit

Defined on filesysfs-class-hwmon

Voltage critical max value.

Unit: millivolt

RW

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

/sys/class/hwmon/hwmonX/inY_enable

Defined on filesysfs-class-hwmon

Enable or disable the sensors.

When disabled the sensor read will return -ENODATA.

  • 1: Enable

  • 0: Disable

RW

/sys/class/hwmon/hwmonX/inY_fault

Defined on filesysfs-class-hwmon

Reports a voltage hard failure (eg: shorted component)

  • 1: Failed

  • 0: Ok

RO

/sys/class/hwmon/hwmonX/inY_highest

Defined on filesysfs-class-hwmon

Historical maximum voltage

Unit: millivolt

RO

/sys/class/hwmon/hwmonX/inY_input

Defined on filesysfs-class-hwmon

Voltage input value.

Unit: millivolt

RO

Voltage measured on the chip pin.

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

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

/sys/class/hwmon/hwmonX/inY_label

Defined on filesysfs-class-hwmon

Suggested voltage channel label.

Text string

Should only be created if the driver has hints about whatthis voltage channel is being used for, and user-spacedoesn’t. In all other cases, the label is provided byuser-space.

RO

/sys/class/hwmon/hwmonX/inY_lcrit

Defined on filesysfs-class-hwmon

Voltage critical min value.

Unit: millivolt

RW

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

/sys/class/hwmon/hwmonX/inY_lowest

Defined on filesysfs-class-hwmon

Historical minimum voltage

Unit: millivolt

RO

/sys/class/hwmon/hwmonX/inY_max

Defined on filesysfs-class-hwmon

Voltage max value.

Unit: millivolt

RW

/sys/class/hwmon/hwmonX/inY_min

Defined on filesysfs-class-hwmon

Voltage min value.

Unit: millivolt

RW

/sys/class/hwmon/hwmonX/inY_rated_max

Defined on filesysfs-class-hwmon

Maximum rated voltage.

Unit: millivolt

RO

/sys/class/hwmon/hwmonX/inY_rated_min

Defined on filesysfs-class-hwmon

Minimum rated voltage.

Unit: millivolt

RO

/sys/class/hwmon/hwmonX/inY_reset_history

Defined on filesysfs-class-hwmon

Reset inX_lowest and inX_highest

WO

/sys/class/hwmon/hwmonX/in_reset_history

Defined on filesysfs-class-hwmon

Reset inX_lowest and inX_highest for all sensors

WO

/sys/class/hwmon/hwmonX/intrusionY_alarm

Defined on filesysfs-class-hwmon

Chassis intrusion detection

  • 0: OK

  • 1: intrusion detected

RW

Contrary to regular alarm flags which clear themselvesautomatically when read, this one sticks until cleared bythe user. This is done by writing 0 to the file. Writingother values is unsupported.

/sys/class/hwmon/hwmonX/intrusionY_beep

Defined on filesysfs-class-hwmon

Chassis intrusion beep

  • 0: disable

  • 1: enable

RW

/sys/class/hwmon/hwmonX/label

Defined on filesysfs-class-hwmon

A descriptive label that allows to uniquely identify adevice within the system.The contents of the label are free-form.

RO

/sys/class/hwmon/hwmonX/name

Defined on filesysfs-class-hwmon

The chip name.This should be a short, lowercase string, not containingwhitespace, dashes, or the wildcard character ‘*’.This attribute represents the chip name. It is the onlymandatory attribute.I2C devices get this attribute created automatically.

RO

/sys/class/hwmon/hwmonX/powerY_accuracy

Defined on filesysfs-class-hwmon

Accuracy of the power meter.

Unit: Percent

RO

/sys/class/hwmon/hwmonX/powerY_average

Defined on filesysfs-class-hwmon

Average power use

Unit: microWatt

RO

/sys/class/hwmon/hwmonX/powerY_average_highest

Defined on filesysfs-class-hwmon

Historical average maximum power use

Unit: microWatt

RO

/sys/class/hwmon/hwmonX/powerY_average_interval

Defined on filesysfs-class-hwmon

Power use averaging interval. A pollnotification is sent to this file if thehardware changes the averaging interval.

Unit: milliseconds

RW

/sys/class/hwmon/hwmonX/powerY_average_interval_max

Defined on filesysfs-class-hwmon

Maximum power use averaging interval

Unit: milliseconds

RO

/sys/class/hwmon/hwmonX/powerY_average_interval_min

Defined on filesysfs-class-hwmon

Minimum power use averaging interval

Unit: milliseconds

RO

/sys/class/hwmon/hwmonX/powerY_average_lowest

Defined on filesysfs-class-hwmon

Historical average minimum power use

Unit: microWatt

RO

/sys/class/hwmon/hwmonX/powerY_average_max

Defined on filesysfs-class-hwmon

A poll notification is sent topowerY_average when power userises above this value.

Unit: microWatt

RW

/sys/class/hwmon/hwmonX/powerY_average_min

Defined on filesysfs-class-hwmon

A poll notification is sent topowerY_average when power usesinks below this value.

Unit: microWatt

RW

/sys/class/hwmon/hwmonX/powerY_cap

Defined on filesysfs-class-hwmon

If power use rises above this limit, thesystem should take action to reduce power use.A poll notification is sent to this file if thecap is changed by the hardware. The*_capfiles only appear if the cap is known to beenforced by hardware.

Unit: microWatt

RW

/sys/class/hwmon/hwmonX/powerY_cap_hyst

Defined on filesysfs-class-hwmon

Margin of hysteresis built around capping andnotification.

Unit: microWatt

RW

/sys/class/hwmon/hwmonX/powerY_cap_max

Defined on filesysfs-class-hwmon

Maximum cap that can be set.

Unit: microWatt

RO

/sys/class/hwmon/hwmonX/powerY_cap_min

Defined on filesysfs-class-hwmon

Minimum cap that can be set.

Unit: microWatt

RO

/sys/class/hwmon/hwmonX/powerY_crit

Defined on filesysfs-class-hwmon

Critical maximum power.

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

Unit: microWatt

RW

/sys/class/hwmon/hwmonX/powerY_enable

Defined on filesysfs-class-hwmon

Enable or disable the sensors.

When disabled the sensor read will return-ENODATA.

  • 1: Enable

  • 0: Disable

RW

/sys/class/hwmon/hwmonX/powerY_input

Defined on filesysfs-class-hwmon

Instantaneous power use

Unit: microWatt

RO

/sys/class/hwmon/hwmonX/powerY_input_highest

Defined on filesysfs-class-hwmon

Historical maximum power use

Unit: microWatt

RO

/sys/class/hwmon/hwmonX/powerY_input_lowest

Defined on filesysfs-class-hwmon

Historical minimum power use

Unit: microWatt

RO

/sys/class/hwmon/hwmonX/powerY_max

Defined on filesysfs-class-hwmon

Maximum power.

Unit: microWatt

RW

/sys/class/hwmon/hwmonX/powerY_rated_max

Defined on filesysfs-class-hwmon

Maximum rated power.

Unit: microWatt

RO

/sys/class/hwmon/hwmonX/powerY_rated_min

Defined on filesysfs-class-hwmon

Minimum rated power.

Unit: microWatt

RO

/sys/class/hwmon/hwmonX/powerY_reset_history

Defined on filesysfs-class-hwmon

Reset input_highest, input_lowest,average_highest and average_lowest.

WO

/sys/class/hwmon/hwmonX/pwmY

Defined on filesysfs-class-hwmon

Pulse width modulation fan control.

Integer value in the range 0 to 255

RW

255 is max or 100%.

/sys/class/hwmon/hwmonX/pwmY_auto_channels_temp

Defined on filesysfs-class-hwmon

Select which temperature channels affect this PWM output inauto mode.

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

RW

/sys/class/hwmon/hwmonX/pwmY_auto_pointZ_pwm

/sys/class/hwmon/hwmonX/pwmY_auto_pointZ_temp

/sys/class/hwmon/hwmonX/pwmY_auto_pointZ_temp_hyst

Defined on filesysfs-class-hwmon

Define the PWM vs temperature curve.

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

RW

/sys/class/hwmon/hwmonX/pwmY_enable

Defined on filesysfs-class-hwmon

Fan speed control method:

  • 0: no fan speed control (i.e. fan at full speed)

  • 1: manual fan speed control enabled (usingpwmY)

  • 2+: automatic fan speed control enabled

Check individual chip documentation files for automatic modedetails.

RW

/sys/class/hwmon/hwmonX/pwmY_freq

Defined on filesysfs-class-hwmon

Base PWM frequency in Hz.

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

RW

/sys/class/hwmon/hwmonX/pwmY_mode

Defined on filesysfs-class-hwmon

  • 0: DC mode (direct current)

  • 1: PWM mode (pulse-width modulation)

RW

/sys/class/hwmon/hwmonX/tempY_auto_pointZ_pwm

/sys/class/hwmon/hwmonX/tempY_auto_pointZ_temp

/sys/class/hwmon/hwmonX/tempY_auto_pointZ_temp_hyst

Defined on filesysfs-class-hwmon

Define the PWM vs temperature curve.

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

RW

/sys/class/hwmon/hwmonX/tempY_crit

Defined on filesysfs-class-hwmon

Temperature critical max value, typically greater thancorresponding temp_max values.

Unit: millidegree Celsius

RW

/sys/class/hwmon/hwmonX/tempY_crit_alarm

Defined on filesysfs-class-hwmon

Critical high temperature alarm flag.

  • 0: OK

  • 1: temperature has reached tempY_crit

RO

/sys/class/hwmon/hwmonX/tempY_crit_hyst

Defined on filesysfs-class-hwmon

Temperature hysteresis value for critical limit.

Unit: millidegree Celsius

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

RW

/sys/class/hwmon/hwmonX/tempY_emergency

Defined on filesysfs-class-hwmon

Temperature emergency max value, for chips supporting more thantwo upper temperature limits. Must be equal or greater thancorresponding temp_crit values.

Unit: millidegree Celsius

RW

/sys/class/hwmon/hwmonX/tempY_emergency_alarm

Defined on filesysfs-class-hwmon

Emergency high temperature alarm flag.

  • 0: OK

  • 1: temperature has reached tempY_emergency

RO

/sys/class/hwmon/hwmonX/tempY_emergency_hyst

Defined on filesysfs-class-hwmon

Temperature hysteresis value for emergency limit.

Unit: millidegree Celsius

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

RW

/sys/class/hwmon/hwmonX/tempY_enable

Defined on filesysfs-class-hwmon

Enable or disable the sensors.

When disabled the sensor read will return -ENODATA.

  • 1: Enable

  • 0: Disable

RW

/sys/class/hwmon/hwmonX/tempY_highest

Defined on filesysfs-class-hwmon

Historical maximum temperature

Unit: millidegree Celsius

RO

/sys/class/hwmon/hwmonX/tempY_input

Defined on filesysfs-class-hwmon

Temperature input value.

Unit: millidegree Celsius

RO

/sys/class/hwmon/hwmonX/tempY_label

Defined on filesysfs-class-hwmon

Suggested temperature channel label.

Text string

Should only be created if the driver has hints about whatthis temperature channel is being used for, and user-spacedoesn’t. In all other cases, the label is provided byuser-space.

RO

/sys/class/hwmon/hwmonX/tempY_lcrit

Defined on filesysfs-class-hwmon

Temperature critical min value, typically lower thancorresponding temp_min values.

Unit: millidegree Celsius

RW

/sys/class/hwmon/hwmonX/tempY_lcrit_hyst

Defined on filesysfs-class-hwmon

Temperature hysteresis value for critical min limit.

Unit: millidegree Celsius

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

RW

/sys/class/hwmon/hwmonX/tempY_lowest

Defined on filesysfs-class-hwmon

Historical minimum temperature

Unit: millidegree Celsius

RO

/sys/class/hwmon/hwmonX/tempY_max

Defined on filesysfs-class-hwmon

Temperature max value.

Unit: millidegree Celsius (or millivolt, see below)

RW

/sys/class/hwmon/hwmonX/tempY_max_alarm

Defined on filesysfs-class-hwmon

Maximum temperature alarm flag.

  • 0: OK

  • 1: temperature has reached tempY_max

RO

/sys/class/hwmon/hwmonX/tempY_max_hyst

Defined on filesysfs-class-hwmon

Temperature hysteresis value for max limit.

Unit: millidegree Celsius

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

RW

/sys/class/hwmon/hwmonX/tempY_min

Defined on filesysfs-class-hwmon

Temperature min value.

Unit: millidegree Celsius

RW

/sys/class/hwmon/hwmonX/tempY_min_alarm

Defined on filesysfs-class-hwmon

Minimum temperature alarm flag.

  • 0: OK

  • 1: temperature has reached tempY_min

RO

/sys/class/hwmon/hwmonX/tempY_min_hyst

Defined on filesysfs-class-hwmon

Temperature hysteresis value for min limit.Unit: millidegree Celsius

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

RW

/sys/class/hwmon/hwmonX/tempY_offset

Defined on filesysfs-class-hwmon

Temperature offset which is added to the temperature readingby the chip.

Unit: millidegree Celsius

Read/Write value.

/sys/class/hwmon/hwmonX/tempY_rated_max

Defined on filesysfs-class-hwmon

Maximum rated temperature.

Unit: millidegree Celsius

RO

/sys/class/hwmon/hwmonX/tempY_rated_min

Defined on filesysfs-class-hwmon

Minimum rated temperature.

Unit: millidegree Celsius

RO

/sys/class/hwmon/hwmonX/tempY_reset_history

Defined on filesysfs-class-hwmon

Reset temp_lowest and temp_highest

WO

/sys/class/hwmon/hwmonX/tempY_type

Defined on filesysfs-class-hwmon

Sensor type selection.

Integers 1 to 6

RW

  • 1: CPU embedded diode

  • 2: 3904 transistor

  • 3: thermal diode

  • 4: thermistor

  • 5: AMD AMDSI

  • 6: Intel PECI

Not all types are supported by all chips

/sys/class/hwmon/hwmonX/temp_reset_history

Defined on filesysfs-class-hwmon

Reset temp_lowest and temp_highest for all sensors

WO

/sys/class/hwmon/hwmonX/update_interval

Defined on filesysfs-class-hwmon

The interval at which the chip will update readings.Unit: millisecond

RW

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

/sys/class/hwmon/hwmonX/vrm

Defined on filesysfs-class-hwmon

Voltage Regulator Module version number.

RW (but changing it should no more be necessary)

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

Affects the way the driver calculates the CPU core referencevoltage from the vid pins.

/sys/class/input/input(x)/device/function_row_physmap

Defined on filesysfs-driver-input-cros-ec-keyb

A space separated list of scancodes for the top row keys,ordered by the physical positions of the keys, from leftto right.

/sys/class/input/input(x)/device/shutdown

Defined on filesysfs-driver-input-axp-pek

Shutdown time in us. Board is powered off if the button is pressedfor more than <shutdown_time>

/sys/class/input/input(x)/device/startup

Defined on filesysfs-driver-input-axp-pek

Startup time in us. Board is powered on if the button is pressedfor more than <startup_time>

/sys/class/intel_pmt/

Defined on filesysfs-class-intel_pmt

The intel_pmt/ class directory contains information fordevices that expose hardware telemetry using Intel PlatformMonitoring Technology (PMT)

/sys/class/intel_pmt/crashlog<x>

Defined on filesysfs-class-intel_pmt

The crashlog<x> directory contains files for configuring aninstance of a PMT crashlog device that can perform crash datarecording. Each crashlog<x> device has an associated crashlogfile. This file can be opened and mapped or read to access theresulting crashlog buffer. The register layout for the buffercan be determined from an XML file of specified GUID for theparent device.

/sys/class/intel_pmt/crashlog<x>/crashlog

Defined on filesysfs-class-intel_pmt

(RO) The crashlog buffer for this crashlog device. This filemay be mapped or read to obtain the data.

/sys/class/intel_pmt/crashlog<x>/enable

Defined on filesysfs-class-intel_pmt

(RW) Boolean value controlling if the crashlog functionalityis enabled for the crashlog device.

/sys/class/intel_pmt/crashlog<x>/guid

Defined on filesysfs-class-intel_pmt

(RO) The GUID for this crashlog device. The GUID identifies theversion of the XML file for the parent device that should beused to determine the register layout.

/sys/class/intel_pmt/crashlog<x>/offset

Defined on filesysfs-class-intel_pmt

(RO) The offset of the buffer in bytes that correspondsto the mapping for the crashlog device.

/sys/class/intel_pmt/crashlog<x>/size

Defined on filesysfs-class-intel_pmt

(RO) The length of the result buffer in bytes that correspondsto the size for the crashlog buffer.

/sys/class/intel_pmt/crashlog<x>/trigger

Defined on filesysfs-class-intel_pmt

(RW) Boolean value controlling the triggering of the crashlogdevice node. When read it provides data on if the crashlog hasbeen triggered. When written to it can be used to either clearthe current trigger by writing false, or to trigger a newevent if the trigger is not currently set.

/sys/class/intel_pmt/features-<PCI BDF>/

Defined on filesysfs-class-intel_pmt-features

Thefeatures-<PCI BDF>/ directory represents the “features”capability exposed by Intel PMT (Platform Monitoring Technology)for the given PCI device.

Each directory corresponds to a PMT feature and containsattributes describing the available telemetry, monitoring, orcontrol functionalities.

Directory Structure:

/sys/class/intel_pmt/features-<PCI BDF>/├── accelerator_telemetry/ # Per-accelerator telemetry data├── crash_log/ # Contains system crash telemetry logs├── per_core_environment_telemetry/ # Environmental telemetry per core├── per_core_performance_telemetry/ # Performance telemetry per core├── per_rmid_energy_telemetry/ # Energy telemetry for RMIDs├── per_rmid_perf_telemetry/ # Performance telemetry for RMIDs├── tpmi_control/ # TPMI-related controls and telemetry├── tracing/ # PMT tracing features└── uncore_telemetry/ # Uncore telemetry data

Common Files (Present in all feature directories):

caps
  • Read-only

  • Lists available capabilities for this feature.

guids
  • Read-only

  • Lists GUIDs associated with this feature.

Additional Attributes (Conditional Presence):

max_command_size
  • Read-only

  • Present if the feature supports out-of-band MCTP access.

  • Maximum supported MCTP command size for out-of-band PMT access (bytes).

max_stream_size
  • Read-only

  • Present if the feature supports out-of-band MCTP access.

  • Maximum supported MCTP stream size (bytes).

min_watcher_period_ms
  • Read-only

  • Present if the feature supports the watcher API.The watcher API provides a writable control interface that allows userconfiguration of monitoring behavior, such as setting the sampling orreporting interval.

  • Minimum supported time period for the watcher interface (milliseconds).

num_rmids
  • Read-only

  • Present if the feature supports RMID (Resource Monitoring ID) telemetry.RMIDs are identifiers used by hardware to track and report resource usage,such as memory bandwidth or energy consumption, on a per-logical-entitybasis (e.g., per core, thread, or process group).

  • Maximum number of RMIDs tracked simultaneously.

Example:For a device with PCI BDF0000:00:03.1, the directory tree could look like:

/sys/class/intel_pmt/features-0000:00:03.1/├── accelerator_telemetry/│ ├── caps│ ├── guids│ ├── max_command_size│ ├── max_stream_size│ ├── min_watcher_period_ms├── crash_log/│ ├── caps│ ├── guids│ ├── max_command_size│ ├── max_stream_size├── per_core_environment_telemetry/│ ├── caps│ ├── guids│ ├── max_command_size│ ├── max_stream_size│ ├── min_watcher_period_ms├── per_rmid_energy_telemetry/│ ├── caps│ ├── guids│ ├── max_command_size│ ├── max_stream_size│ ├── min_watcher_period_ms│ ├── num_rmids├── tpmi_control/│ ├── caps│ ├── guids├── tracing/│ ├── caps│ ├── guids├── uncore_telemetry/│ ├── caps│ ├── guids│ ├── max_command_size│ ├── max_stream_size│ ├── min_watcher_period_ms

Notes:
  • Some attributes are only present if the corresponding feature supportsthe capability (e.g.,max_command_size for MCTP-capable features).

  • Features supporting RMIDs includenum_rmids.

  • Features supporting the watcher API includemin_watcher_period_ms.

  • Thecaps file provides additional information about the functionalityof the feature.

Example ‘caps’ content for the ‘tracing’ feature:

/sys/class/intel_pmt/features-0000:00:03.1/├── tracing/│ ├── caps

telemetry Available: Nowatcher Available: Yescrashlog Available: Nostreaming Available: Nothreashold Available: Nowindow Available: Noconfig Available: Yestracing Available: Noinband Available: Yesoob Available: Yessecure_chan Available: Nopmt_sp Available: Yespmt_sp_policy Available: Yesmailbox Available: Yesbios_lock Available: Yes

/sys/class/intel_pmt/telem<x>

Defined on filesysfs-class-intel_pmt

The telem<x> directory contains files describing an instance ofa PMT telemetry device that exposes hardware telemetry. Eachtelem<x> directory has an associated telem file. This filemay be opened and mapped or read to access the telemetry spaceof the device. The register layout of the telemetry space isdetermined from an XML file that matches the PCI device id andGUID for the device.

/sys/class/intel_pmt/telem<x>/guid

Defined on filesysfs-class-intel_pmt

(RO) The GUID for this telemetry device. The GUID identifiesthe version of the XML file for the parent device that is tobe used to get the register layout.

/sys/class/intel_pmt/telem<x>/offset

Defined on filesysfs-class-intel_pmt

(RO) The offset of telemetry region in bytes that corresponds tothe mapping for the telem file.

/sys/class/intel_pmt/telem<x>/size

Defined on filesysfs-class-intel_pmt

(RO) The size of telemetry region in bytes that corresponds tothe mapping size for the telem file.

/sys/class/intel_pmt/telem<x>/telem

Defined on filesysfs-class-intel_pmt

(RO) The telemetry data for this telemetry device. This filemay be mapped or read to obtain the data.

/sys/class/iommu/<iommu>/amd-iommu/cap

Defined on filesysfs-class-iommu-amd-iommu

IOMMU capability header as documented in the AMD IOMMUspecification. Format: %x

/sys/class/iommu/<iommu>/amd-iommu/features

Defined on filesysfs-class-iommu-amd-iommu

Extended features of the IOMMU. Format: %llx

/sys/class/iommu/<iommu>/devices/

Defined on filesysfs-class-iommu

IOMMU drivers are able to link devices managed by agiven IOMMU here to allow association of IOMMU todevice.

/sys/class/iommu/<iommu>/intel-iommu/address

Defined on filesysfs-class-iommu-intel-iommu

Physical address of the VT-d DRHD for this IOMMU.Format: %llx. This allows association of a sysfsintel-iommu with a DMAR DRHD table entry.

/sys/class/iommu/<iommu>/intel-iommu/cap

Defined on filesysfs-class-iommu-intel-iommu

The cached hardware capability register valueof this DRHD unit. Format: %llx.

/sys/class/iommu/<iommu>/intel-iommu/ecap

Defined on filesysfs-class-iommu-intel-iommu

The cached hardware extended capability registervalue of this DRHD unit. Format: %llx.

/sys/class/iommu/<iommu>/intel-iommu/version

Defined on filesysfs-class-iommu-intel-iommu

The architecture version as reported from theVT-d VER_REG. Format: %d:%d, major:minor

/sys/class/lcd/<lcd>/contrast

Defined on filesysfs-class-lcd

Current contrast of this LCD device. Value is between 0 and/sys/class/lcd/<lcd>/max_contrast.

/sys/class/lcd/<lcd>/lcd_power

Defined on filesysfs-class-lcd

Control LCD power, values are FB_BLANK_* from fb.h
  • FB_BLANK_UNBLANK (0) : power on.

  • FB_BLANK_POWERDOWN (4) : power off

/sys/class/lcd/<lcd>/max_contrast

Defined on filesysfs-class-lcd

Maximum contrast for this LCD device.

/sys/class/leds/<led>/als_channel

Defined on filesysfs-class-led-driver-lm3533

Set the ALS output channel to use as input inALS-current-control mode (1, 2), where:

1

out_current1

2

out_current2

/sys/class/leds/<led>/als_en

Defined on filesysfs-class-led-driver-lm3533

Enable ALS-current-control mode (0, 1).

/sys/class/leds/<led>/brightness

Defined on filesysfs-class-led

Set the brightness of the LED.

Most LEDs don’t have hardware brightness support, so willjust be turned on for non-zero brightness settings.

Note

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

The percentage is calculated for each grouped LED viathe equation below:

led_brightness = brightness * multi_intensity/max_brightness

For additional details please refer toMulticolor LED handling under Linux.

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 thetop brightness trigger is going to use.

/sys/class/leds/<led>/brightness_hw_changed

Defined on filesysfs-class-led

Last hardware set brightness level for this LED. Some LEDsmay be changed autonomously by hardware/firmware. Only LEDswhere this happens and the driver can detect this, will havethis file.

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

Reading this file will return the last brightness level setby the hardware, this may be different from the currentbrightness. Reading this file when no hw brightness changeevent has happened will return an ENODATA error.

/sys/class/leds/<led>/delay_off

Defined on filesysfs-class-led-trigger-oneshot

Specifies for how many milliseconds the LED has to stay atLED_OFF brightness after it has been armed.Defaults to 100 ms.

/sys/class/leds/<led>/delay_on

Defined on filesysfs-class-led-trigger-oneshot

Specifies for how many milliseconds the LED has to stay atLED_FULL brightness after it has been armed.Defaults to 100 ms.

/sys/class/leds/<led>/device/brightness

Defined on filesysfs-class-led-driver-turris-omnia

(RW) On the front panel of the Turris Omnia router there is alsoa button which can be used to control the intensity of all theLEDs at once, so that if they are too bright, user can dim them.

The microcontroller cycles between 8 levels of this globalbrightness (from 100% to 0%), but this setting can have anyinteger value between 0 and 100. It is therefore convenient to beable to change this setting from software.

Format: %i

/sys/class/leds/<led>/device/gamma_correction

Defined on filesysfs-class-led-driver-turris-omnia

(RW) Newer versions of the microcontroller firmware of theTurris Omnia router support gamma correction for the RGB LEDs.This feature can be enabled/disabled by writing to this file.

If the feature is not supported because the MCU firmware is tooold, the file always reads as 0, and writing to the file resultsin the EOPNOTSUPP error.

Format: %i

/sys/class/leds/<led>/device_name

Defined on filesysfs-class-led-trigger-netdev

Specifies the network device name to monitor.

/sys/class/leds/<led>/dim

Defined on filesysfs-class-led-driver-aw200xx

64-level DIM current. If you write a negative value or“auto”, the dim will be calculated according to thebrightness.

/sys/class/leds/<led>/falltime

/sys/class/leds/<led>/risetime

Defined on filesysfs-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

/sys/class/leds/<led>/flash_brightness

Defined on filesysfs-class-led-flash

read/writeSet the brightness of this LED in the flash strobe mode, inmicroamperes. The file is created only for the flash LED devicesthat support setting flash brightness.

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

/sys/class/leds/<led>/flash_fault

Defined on filesysfs-class-led-flash

read onlySpace separated list of flash faults that may have occurred.Flash faults are re-read after strobing the flash. Possibleflash faults:

  • led-over-voltage

    flash controller voltage to the flash LEDhas exceeded the limit specific to the flash controller

  • flash-timeout-exceeded

    the flash strobe was still on whenthe timeout set by the user has expired; not all flashcontrollers may set this in all such conditions

  • controller-over-temperature

    the flash controller hasoverheated

  • controller-short-circuit

    the short circuit protectionof the flash controller has been triggered

  • led-power-supply-over-current

    current in the LED powersupply has exceeded the limit specific to the flashcontroller

  • indicator-led-fault

    the flash controller has detecteda short or open circuit condition on the indicator LED

  • led-under-voltage

    flash controller voltage to the flashLED has been below the minimum limit specific tothe flash

  • controller-under-voltage

    the input voltage of the flashcontroller is below the limit under which strobing theflash 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 exceededits allowed upper limit

/sys/class/leds/<led>/flash_strobe

Defined on filesysfs-class-led-flash

read/writeFlash strobe state. When written with 1 it triggers flash strobeand when written with 0 it turns the flash off.

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

/sys/class/leds/<led>/flash_timeout

Defined on filesysfs-class-led-flash

read/writeHardware timeout for flash, in microseconds. The flash strobeis stopped after this period of time has passed from the startof the strobe. The file is created only for the flash LEDdevices that support setting flash timeout.

/sys/class/leds/<led>/full_duplex

Defined on filesysfs-class-led-trigger-netdev

Signal the link full duplex 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 fullduplex state of the named network device.Setting this value also immediately changes the LED state.

/sys/class/leds/<led>/gt683r/mode

Defined on filesysfs-class-leds-gt683r

Set the mode of LEDs. You should notice that changing the modeof one LED will update the mode of its two sibling devices aswell. Possible values are:

0

normal

1

audio

2

breathing

Normal: LEDs are fully on when enabledAudio: LEDs brightness depends on sound levelBreathing: LEDs brightness varies at human breathing rate

/sys/class/leds/<led>/half_duplex

Defined on filesysfs-class-led-trigger-netdev

Signal the link half duplex 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 halfduplex state of the named network device.Setting this value also immediately changes the LED state.

/sys/class/leds/<led>/hr_pattern

Defined on filesysfs-class-led-trigger-pattern

Specify a software pattern for the LED, that supports alteringthe brightness for the specified duration with one softwaretimer. It can do gradual dimming and step change of brightness.

Unlike the /sys/class/leds/<led>/pattern, this attribute runsa pattern on high-resolution timer (hrtimer).

/sys/class/leds/<led>/hw_pattern

Defined on filesysfs-class-led-trigger-pattern

Specify a hardware pattern for the LED, for LED hardware thatsupports autonomously controlling brightness over time, accordingto some preprogrammed hardware patterns. It deactivates any activesoftware pattern.

Since different LED hardware can have different semantics ofhardware patterns, each driver is expected to provide its owndescription for the hardware patterns in their documentationfile at Documentation/leds/.

/sys/class/leds/<led>/id

Defined on filesysfs-class-led-driver-lm3533

Get the id of this led (0..3).

/sys/class/leds/<led>/interval

Defined on filesysfs-class-led-trigger-netdev

Specifies the duration of the LED blink in milliseconds.Defaults to 50 ms.

When offloaded is true, the interval value MUST be set to thedefault value and cannot be changed.Trying to set any value in this specific mode will returnan EINVAL error.

/sys/class/leds/<led>/invert

Defined on filesysfs-class-led-trigger-oneshot

Reverse the blink logic. If set to 0 (default) blink on fordelay_on ms, then blink off for delay_off ms, leaving the LEDnormally off. If set to 1, blink off for delay_off ms, thenblink on for delay_on ms, leaving the LED normally on.Setting this value also immediately changes the LED state.

/sys/class/leds/<led>/inverted

Defined on filesysfs-class-led

Invert the LED on/off state. This parameter is specific togpio and backlight triggers. In case of the backlight trigger,it is useful when driving a LED which is intended to indicatea device in a standby like state.

/sys/class/leds/<led>/linear

Defined on filesysfs-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 filesysfs-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 stateof the named network device.Setting this value also immediately changes the LED state.

/sys/class/leds/<led>/link_10

Defined on filesysfs-class-led-trigger-netdev

Signal the link speed state of 10Mbps 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 statespeed of 10MBps of the named network device.Setting this value also immediately changes the LED state.

Present only if the named network device supports 10Mbps link speed.

/sys/class/leds/<led>/link_100

Defined on filesysfs-class-led-trigger-netdev

Signal the link speed state of 100Mbps 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 statespeed of 100Mbps of the named network device.Setting this value also immediately changes the LED state.

Present only if the named network device supports 100Mbps link speed.

/sys/class/leds/<led>/link_1000

Defined on filesysfs-class-led-trigger-netdev

Signal the link speed state of 1000Mbps 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 statespeed of 1000Mbps of the named network device.Setting this value also immediately changes the LED state.

Present only if the named network device supports 1000Mbps link speed.

/sys/class/leds/<led>/link_10000

Defined on filesysfs-class-led-trigger-netdev

Signal the link speed state of 10000Mbps 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 statespeed of 10000Mbps of the named network device.Setting this value also immediately changes the LED state.

Present only if the named network device supports 10000Mbps link speed.

/sys/class/leds/<led>/link_2500

Defined on filesysfs-class-led-trigger-netdev

Signal the link speed state of 2500Mbps 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 statespeed of 2500Mbps of the named network device.Setting this value also immediately changes the LED state.

Present only if the named network device supports 2500Mbps link speed.

/sys/class/leds/<led>/link_5000

Defined on filesysfs-class-led-trigger-netdev

Signal the link speed state of 5000Mbps 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 statespeed of 5000Mbps of the named network device.Setting this value also immediately changes the LED state.

Present only if the named network device supports 5000Mbps link speed.

/sys/class/leds/<led>/max_brightness

Defined on filesysfs-class-led

Maximum brightness level for this LED, default is 255 (LED_FULL).

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

/sys/class/leds/<led>/max_flash_brightness

Defined on filesysfs-class-led-flash

read onlyMaximum brightness level for this LED in the flash strobe mode,in microamperes.

/sys/class/leds/<led>/max_flash_timeout

Defined on filesysfs-class-led-flash

read onlyMaximum flash timeout for this LED, in microseconds.

/sys/class/leds/<led>/multi_index

Defined on filesysfs-class-led-multicolor

readThe multi_index array, when read, will output the LED colorsas an array of strings as they are indexed in themulti_intensity file.

For additional details please refer toMulticolor LED handling under Linux.

/sys/class/leds/<led>/multi_intensity

Defined on filesysfs-class-led-multicolor

read/writeThis file contains array of integers. Order of components isdescribed by the multi_index array. The maximum intensity shouldnot exceed /sys/class/leds/<led>/max_brightness.

For additional details please refer toMulticolor LED handling under Linux.

/sys/class/leds/<led>/offloaded

Defined on filesysfs-class-led-trigger-netdev

Communicate whether the LED trigger modes are offloaded tohardware or whether software fallback is used.

If 0, the LED is using software fallback to blink.

If 1, the LED blinking in requested mode is offloaded tohardware.

/sys/class/leds/<led>/pattern

Defined on filesysfs-class-led-trigger-pattern

Specify a software pattern for the LED, that supports alteringthe brightness for the specified duration with one softwaretimer. It can do gradual dimming and step change of brightness.

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

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

/sys/class/leds/<led>/ports/<port>

Defined on filesysfs-class-led-trigger-usbport

Every dir entry represents a single USB port that can beselected for the USB port trigger. Selecting ports makes triggerobserving them for any connected devices and lighting on LED ifthere are any.

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

/sys/class/leds/<led>/pwm

Defined on filesysfs-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

/sys/class/leds/<led>/repeat

Defined on filesysfs-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 repeatnumber.

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

/sys/class/leds/<led>/rx

Defined on filesysfs-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 specifiedin interval to signal reception.

When offloaded is true, the blink interval is controlled byhardware and won’t reflect the value set in interval.

/sys/class/leds/<led>/shot

Defined on filesysfs-class-led-trigger-oneshot

Write any non-empty string to signal an events, this starts ablink sequence if not already running.

/sys/class/leds/<led>/trigger

Defined on filesysfs-class-led

Set the trigger for this LED. A trigger is a kernel based sourceof LED events.

You can change triggers in a similar manner to the way an IOscheduler is chosen. Trigger specific parameters can appear in/sys/class/leds/<led> once a given trigger is selected. Fortheir documentation seesysfs-class-led-trigger-*.

Writing “none” removes the trigger for this LED.

Writing “default” sets the trigger to the LED’s default trigger(which would often be configured in the device tree for thehardware).

/sys/class/leds/<led>/tx

Defined on filesysfs-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 specifiedin interval to signal transmission.

When offloaded is true, the blink interval is controlled byhardware and won’t reflect the value set in interval.

/sys/class/leds/<tty_led>/cts

Defined on filesysfs-class-led-trigger-tty

CTS = Clear To SendDCE is ready to accept data from the DTE.If the line state is detected, the LED is switched on.If set to 0 (default), the LED will not evaluate CTS.If set to 1, the LED will evaluate CTS.

/sys/class/leds/<tty_led>/dcd

Defined on filesysfs-class-led-trigger-tty

DCD = Data Carrier DetectDTE is receiving a carrier from the DCE.If the line state is detected, the LED is switched on.If set to 0 (default), the LED will not evaluate CAR (DCD).If set to 1, the LED will evaluate CAR (DCD).

/sys/class/leds/<tty_led>/dsr

Defined on filesysfs-class-led-trigger-tty

DSR = Data Set ReadyDCE is ready to receive and send data.If the line state is detected, the LED is switched on.If set to 0 (default), the LED will not evaluate DSR.If set to 1, the LED will evaluate DSR.

/sys/class/leds/<tty_led>/rng

Defined on filesysfs-class-led-trigger-tty

RNG = Ring IndicatorDCE has detected an incoming ring signal on the telephoneline. If the line state is detected, the LED is switched on.If set to 0 (default), the LED will not evaluate RNG.If set to 1, the LED will evaluate RNG.

/sys/class/leds/<tty_led>/rx

Defined on filesysfs-class-led-trigger-tty

Signal reception (rx) of data on the named tty device.If set to 0, the LED will not blink on reception.If set to 1 (default), the LED will blink on reception.

/sys/class/leds/<tty_led>/ttyname

Defined on filesysfs-class-led-trigger-tty

Specifies the tty device name of the triggering tty

/sys/class/leds/<tty_led>/tx

Defined on filesysfs-class-led-trigger-tty

Signal transmission (tx) of data on the named tty device.If set to 0, the LED will not blink on transmission.If set to 1 (default), the LED will blink on transmission.

/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 filesysfs-driver-hid-srws1

Provides a control for turning on/off the LEDs which forman RPM meter on the front of the controller

/sys/class/leds/dell::kbd_backlight/als_enabled

Defined on filesysfs-platform-dell-laptop

This file allows to control the automatic keyboardillumination mode on some systems that have an ambientlight sensor. Write 1 to this file to enable the automode, 0 to disable it.

/sys/class/leds/dell::kbd_backlight/als_setting

Defined on filesysfs-platform-dell-laptop

This file allows to specify the on/off threshold value,as reported by the ambient light sensor.

/sys/class/leds/dell::kbd_backlight/start_triggers

Defined on filesysfs-platform-dell-laptop

This file allows to control the input triggers thatturn on the keyboard backlight illumination that isdisabled because of inactivity.Read the file to see the triggers available. The onesenabled are preceded by ‘+’, those disabled by ‘-‘.

To enable a trigger, write its name preceded by ‘+’ tothis file. To disable a trigger, write its name precededby ‘-’ 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.

/sys/class/leds/dell::kbd_backlight/stop_timeout

Defined on filesysfs-platform-dell-laptop

This file allows to specify the interval after which thekeyboard illumination is disabled because of inactivity.The timeouts are expressed in seconds, minutes, hours anddays, for which the symbols are ‘s’, ‘m’, ‘h’ and ‘d’respectively.

To configure the timeout, write to this file a value alongwith any the above units. If no unit is specified, the valueis 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 beexpressed in a different unit than the one used when the timeoutwas set.

Also note that only some timeouts are supported and thatsome systems might fall back to a specific timeout in casean invalid timeout is written to this file.

/sys/class/mdio_bus/<bus>/<device>/attached_dev

Defined on filesysfs-class-net-phydev

Symbolic link to the network device this PHY device isattached to.

/sys/class/mdio_bus/<bus>/<device>/c45_phy_ids/mmd<n>_device_id

Defined on filesysfs-class-net-phydev

This attribute contains the 32-bit PHY Identifier as reportedby the device during bus enumeration, encoded in hexadecimal.These C45 IDs are used to match the device with the appropriatedriver. These files are invisible to the C22 device.

/sys/class/mdio_bus/<bus>/<device>/phy_dev_flags

Defined on filesysfs-class-net-phydev

32-bit hexadecimal number representing a bit mask of theconfiguration bits passed from the consumer of the PHY(Ethernet MAC, switch, etc.) to the PHY driver. The flags areonly used internally by the kernel and their placement arenot meant to be stable across kernel versions. This is intendedfor facilitating the debugging of PHY drivers.

/sys/class/mdio_bus/<bus>/<device>/phy_has_fixups

Defined on filesysfs-class-net-phydev

This attribute contains the boolean value whether a given PHYdevice has had any “fixup” workaround running on it, encoded asa boolean. This information is provided to help troubleshootingPHY configurations.

/sys/class/mdio_bus/<bus>/<device>/phy_id

Defined on filesysfs-class-net-phydev

This attribute contains the 32-bit PHY Identifier as reportedby the device during bus enumeration, encoded in hexadecimal.This ID is used to match the device with the appropriatedriver.

/sys/class/mdio_bus/<bus>/<device>/phy_interface

Defined on filesysfs-class-net-phydev

This attribute contains the PHY interface as configured by theEthernet driver during bus enumeration, encoded in string.This interface mode is used to configure the Ethernet MAC with theappropriate 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, smiixgmii, moca, qsgmii, trgmii, 1000base-x, 2500base-x, rxaui,xaui, 10gbase-kr, unknown

/sys/class/mdio_bus/<bus>/<device>/phy_standalone

Defined on filesysfs-class-net-phydev

Boolean value indicating whether the PHY device is used instandalone mode, without a net_device associated, by PHYLINK.Attribute created only when this is the case.

/sys/class/mei/

Defined on filesysfs-class-mei

The mei/ class sub-directory belongs to mei device class

/sys/class/mei/mei<N>/

Defined on filesysfs-class-mei

The /sys/class/mei/meiN directory is created foreach probed mei device

/sys/class/mei/mei<N>/dev_state

Defined on filesysfs-class-mei

Display the ME device state.

The device state can have following values:INITIALIZINGINIT_CLIENTSENABLEDRESETTINGDISABLEDPOWER_DOWNPOWER_UP

/sys/class/mei/mei<N>/fw_status

Defined on filesysfs-class-mei

Display fw status registers content

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

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

/sys/class/mei/mei<N>/fw_ver

Defined on filesysfs-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 differentFW components.

/sys/class/mei/mei<N>/hbm_ver

Defined on filesysfs-class-mei

Display the negotiated HBM protocol version.

The HBM protocol version negotiatedbetween the driver and the device.

/sys/class/mei/mei<N>/hbm_ver_drv

Defined on filesysfs-class-mei

Display the driver HBM protocol version.

The HBM protocol version supported by the driver.

/sys/class/mei/mei<N>/kind

Defined on filesysfs-class-mei

Display kind of the device

Generic devices are marked as “mei”while special purpose have their ownnames.Available options:- mei: generic mei device.- itouch: itouch (ipts) mei device.

/sys/class/mei/mei<N>/trc

Defined on filesysfs-class-mei

Display trc status register content

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

/sys/class/mei/mei<N>/tx_queue_limit

Defined on filesysfs-class-mei

Configure tx queue limit

Set maximal number of pending writesper opened session.

/sys/class/mic/

Defined on filesysfs-class-mic

The mic class directory belongs to Intel MIC devices andprovides information per MIC device. An Intel MIC device is aPCIe form factor add-in Coprocessor card based on the Intel ManyIntegrated Core (MIC) architecture that runs a Linux OS.

/sys/class/mic/mic<X>

Defined on filesysfs-class-mic

The directories /sys/class/mic/mic0, /sys/class/mic/mic1 etc.,represent MIC devices (0,1,..etc). Each directory hasinformation specific to that MIC device.

/sys/class/mic/mic<X>/bootmode

Defined on filesysfs-class-mic

When read, this sysfs entry provides the current bootmode forthe card. This sysfs entry can be written with the followingvalid strings:a) linux - Boot a Linux image.b) flash - Boot an image for flash updates.

/sys/class/mic/mic<X>/cmdline

Defined on filesysfs-class-mic

An Intel MIC device runs a Linux OS during its operation. Beforebooting this card OS, it is possible to pass kernel command lineoptions to configure various features in it, similar toself-bootable machines. When read, this entry providesinformation about the current kernel command line options set toboot the card OS. This entry can be written to change theexisting kernel command line options. Typically, the user wouldwant to read the current command line options, append new onesor modify existing ones and then write the whole kernel commandline back to this entry.

/sys/class/mic/mic<X>/family

Defined on filesysfs-class-mic

Provides information about the Coprocessor family for an IntelMIC device. For example - “x100”

/sys/class/mic/mic<X>/firmware

Defined on filesysfs-class-mic

When read, this sysfs entry provides the path name under/lib/firmware/ where the firmware image to be booted on thecard can be found. The entry can be written to change thefirmware image location under /lib/firmware/.

/sys/class/mic/mic<X>/heartbeat_enable

Defined on filesysfs-class-mic

The MIC drivers detect and inform user space about card crashesvia a heartbeat mechanism (see the description ofshutdown_status above). User space can turn off thisnotification by setting heartbeat_enable to 0 and enable it bysetting this entry to 1. If this notification is disabled it isthe responsibility of user space to detect card crashes viaalternative means such as a network ping. This setting isenabled by default.

/sys/class/mic/mic<X>/log_buf_addr

Defined on filesysfs-class-mic

An Intel MIC device runs a Linux OS during its operation. Fordebugging purpose and early kernel boot messages, the user canaccess the card OS log buffer via debugfs. When read, this entryprovides the kernel virtual address of the buffer where the cardOS log buffer can be read. This entry is written by the hostconfiguration daemon to set the log buffer address. The correctlog buffer address to be written can be found in the System.mapfile of the card OS.

/sys/class/mic/mic<X>/log_buf_len

Defined on filesysfs-class-mic

An Intel MIC device runs a Linux OS during its operation. Fordebugging purpose and early kernel boot messages, the user canaccess the card OS log buffer via debugfs. When read, this entryprovides the kernel virtual address where the card OS log bufferlength can be read. This entry is written by host configurationdaemon to set the log buffer length address. The correct logbuffer length address to be written can be found in theSystem.map file of the card OS.

/sys/class/mic/mic<X>/ramdisk

Defined on filesysfs-class-mic

When read, this sysfs entry provides the path name under/lib/firmware/ where the ramdisk image to be used during cardOS boot can be found. The entry can be written to changethe ramdisk image location under /lib/firmware/.

/sys/class/mic/mic<X>/shutdown_status

Defined on filesysfs-class-mic

An Intel MIC device runs a Linux OS during its operation. ThisOS can shutdown because of various reasons. When read, thisentry provides the status on why the card OS was shutdown.Possible values are:

“nop”

shutdown status is not applicable, when the card OSis “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.

/sys/class/mic/mic<X>/state

Defined on filesysfs-class-mic

When read, this entry provides the current state of an IntelMIC device in the context of the card OS. Possible values thatwill 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 ifthe card was previously shutdown during OSPMsuspend.

“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 changeoperations depending upon the current state of the card OS.Acceptable values are:

“boot”

Boot the card OS image specified by the combinationof firmware, ramdisk, cmdline and bootmodesysfs entries.

“reset”

Initiates device reset.

“shutdown”

Initiates card OS shutdown.

/sys/class/mic/mic<X>/stepping

Defined on filesysfs-class-mic

Provides information about the silicon stepping for an IntelMIC device. For example - “A0” or “B0”

/sys/class/misc/drivers/dw-xdata-pcie.<device>/write

Defined on filesysfs-driver-xdata

Allows the user to enable the PCIe traffic generator whichwill create write TLPs frames - from the Root Complex to theEndpoint direction or to disable the PCIe traffic generatorin all directions.

Write y/1/on to enable, n/0/off to disable

Usage e.g.

echo 1 > /sys/class/misc/dw-xdata-pcie.<device>/write

or

echo 0 > /sys/class/misc/dw-xdata-pcie.<device>/write

The user can read the current PCIe link throughput generatedthrough this generator in MB/s.

Usage e.g.

cat /sys/class/misc/dw-xdata-pcie.<device>/write204

The file is read and write.

/sys/class/misc/dw-xdata-pcie.<device>/read

Defined on filesysfs-driver-xdata

Allows the user to enable the PCIe traffic generator whichwill create read TLPs frames - from the Endpoint to the RootComplex direction or to disable the PCIe traffic generatorin all directions.

Write y/1/on to enable, n/0/off to disable

Usage e.g.

echo 1 > /sys/class/misc/dw-xdata-pcie.<device>/read

or

echo 0 > /sys/class/misc/dw-xdata-pcie.<device>/read

The user can read the current PCIe link throughput generatedthrough this generator in MB/s.

Usage e.g.

cat /sys/class/misc/dw-xdata-pcie.<device>/read199

The file is read and write.

/sys/class/mtd/

Defined on filesysfs-class-mtd

The mtd/ class subdirectory belongs to the MTD subsystem(MTD core).

/sys/class/mtd/mtdX/

Defined on filesysfs-class-mtd

The /sys/class/mtd/mtd{0,1,2,3,...} directories correspondto each /dev/mtdX character device. These may representphysical/simulated flash devices, partitions on a flashdevice, or concatenated flash devices.

/sys/class/mtd/mtdX/bad_blocks

Defined on filesysfs-class-mtd

The number of blocks marked as bad, if any, in this partition.

/sys/class/mtd/mtdX/bbt_blocks

Defined on filesysfs-class-mtd

The number of blocks that are marked as reserved, if any, inthis partition. These are typically used to store the in-flashbad block table (BBT).

/sys/class/mtd/mtdX/bitflip_threshold

Defined on filesysfs-class-mtd

This allows the user to examine and adjust the criteria by whichmtd returns -EUCLEAN frommtd_read() andmtd_read_oob(). If themaximum number of bit errors that were corrected on any singleregion comprising an ecc step (as reported by the driver) equalsor exceeds this value, -EUCLEAN is returned. Otherwise, absentan error, 0 is returned. Higher layers (e.g., UBI) use thisreturn code as an indication that an erase block may bedegrading and should be scrutinized as a candidate for beingmarked 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 themeaning of the -EUCLEAN return code. Previously, it wasinterpreted to mean simply “one or more bit errors werecorrected”. Its new interpretation can be phrased as “adangerously high number of bit errors were corrected on one ormore regions comprising an ecc step”. The precise definition of“dangerously high” can be adjusted by the user withbitflip_threshold. Users are discouraged from doing this,however, unless they know what they are doing and have intimateknowledge of the properties of their device. Broadly speaking,bitflip_threshold should be low enough to detect genuine eraseblock degradation, but high enough to avoid the consequences ofa persistent return value of -EUCLEAN on devices where stickybitflips occur. Note that if bitflip_threshold exceedsecc_strength, -EUCLEAN is never returned by the read operations.Conversely, if bitflip_threshold is zero, -EUCLEAN is alwaysreturned, absent a hard error.

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

/sys/class/mtd/mtdX/corrected_bits

Defined on filesysfs-class-mtd

The number of bits that have been corrected by means of thedevice’s ECC.

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

/sys/class/mtd/mtdX/dev

Defined on filesysfs-class-mtd

Major and minor numbers of the character device correspondingto this MTD device (in <major>:<minor> format). This is theread-write device so <minor> will be even.

/sys/class/mtd/mtdX/ecc_failures

Defined on filesysfs-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 ofdevices lacking any ECC capability, it is 0.

/sys/class/mtd/mtdX/ecc_step_size

Defined on filesysfs-class-mtd

The size of a single region covered by ECC, known as the ECCstep. Devices may have several equally sized ECC steps withineach writesize region.

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

/sys/class/mtd/mtdX/ecc_strength

Defined on filesysfs-class-mtd

Maximum number of bit errors that the device is capable ofcorrecting within each region covering an ECC step (seeecc_step_size). This will always be a non-negative integer.

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

/sys/class/mtd/mtdX/erasesize

Defined on filesysfs-class-mtd

“Major” erase size for the device. If numeraseregions iszero, this is the eraseblock size for the entire device.Otherwise, the MEMGETREGIONCOUNT/MEMGETREGIONINFO ioctlscan be used to determine the actual eraseblock layout.

/sys/class/mtd/mtdX/flags

Defined on filesysfs-class-mtd

A hexadecimal value representing the device flags, ORedtogether:

0x0400: MTD_WRITEABLE - device is writable0x0800: MTD_BIT_WRITEABLE - single bits can be flipped0x1000: MTD_NO_ERASE - no erase necessary0x2000: MTD_POWERUP_LOCK - always locked after reset

/sys/class/mtd/mtdX/name

Defined on filesysfs-class-mtd

A human-readable ASCII name for the device or partition.This will match the name in /proc/mtd .

/sys/class/mtd/mtdX/numeraseregions

Defined on filesysfs-class-mtd

For devices that have variable eraseblock sizes, thisprovides the total number of erase regions. Otherwise,it will read back as zero.

/sys/class/mtd/mtdX/offset

Defined on filesysfs-class-mtd

For a partition, the offset of that partition from the startof the parent (another partition or a flash device) in bytes.This attribute is absent on flash devices, so it can be usedto distinguish them from partitions.

/sys/class/mtd/mtdX/oobavail

Defined on filesysfs-class-mtd

Number of bytes available for a client to place data intothe out of band area.

/sys/class/mtd/mtdX/oobsize

Defined on filesysfs-class-mtd

Number of OOB bytes per page.

/sys/class/mtd/mtdX/size

Defined on filesysfs-class-mtd

Total size of the device/partition, in bytes.

/sys/class/mtd/mtdX/type

Defined on filesysfs-class-mtd

One of the following ASCII strings, representing the devicetype:

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

/sys/class/mtd/mtdX/writesize

Defined on filesysfs-class-mtd

Minimal writable flash unit size. This will always bea positive integer.

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

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

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

/sys/class/mtd/mtdXro/

Defined on filesysfs-class-mtd

These directories provide the corresponding read-only devicenodes for /sys/class/mtd/mtdX/ .

/sys/class/mtd/mtdXro/dev

Defined on filesysfs-class-mtd

Major and minor numbers of the character device correspondingto the read-only variant of the MTD device (in<major>:<minor> format). In this case <minor> will be odd.

/sys/class/mux/

Defined on filesysfs-class-mux

The mux/ class sub-directory belongs to the Generic MUXFramework and provides a sysfs interface for using MUXcontrollers.

/sys/class/mux/muxchip<N>/

Defined on filesysfs-class-mux

A /sys/class/mux/muxchipN directory is created for eachprobed MUX chip where N is a simple enumeration.

/sys/class/net/<bridge iface>/bridge/group_fwd_mask

Defined on filesysfs-class-net

Bitmask to allow forwarding of link local frames with address01-80-C2-00-00-0X on a bridge device. Only values that set bitsnot matching BR_GROUPFWD_RESTRICTED in net/bridge/br_private.hallowed.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 specialcare when forwarding control frames e.g. 802.1X-PAE or LLDP.

/sys/class/net/<iface>/addr_assign_type

Defined on filesysfs-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

/sys/class/net/<iface>/addr_len

Defined on filesysfs-class-net

Indicates the hardware address size in bytes.Values vary based on the lower-level protocol used by theinterface (Ethernet, FDDI, ATM, IEEE 802.15.4...). Seeinclude/uapi/linux/if_*.h for actual values.

/sys/class/net/<iface>/address

Defined on filesysfs-class-net

Hardware address currently assigned to this interface.Format is a string, e.g: 00:11:22:33:44:55 for an Ethernet MACaddress.

/sys/class/net/<iface>/broadcast

Defined on filesysfs-class-net

Hardware broadcast address for this interface. Format is astring, e.g: ff:ff:ff:ff:ff:ff for an Ethernet broadcast MACaddress.

/sys/class/net/<iface>/carrier

Defined on filesysfs-class-net

Indicates the current physical link state of the interface.Possible values are:

0

physical link is down

1

physical link is up

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

/sys/class/net/<iface>/carrier_changes

Defined on filesysfs-class-net

32-bit unsigned integer counting the number of times the link hasseen a change from UP to DOWN and vice versa

/sys/class/net/<iface>/carrier_down_count

Defined on filesysfs-class-net

32-bit unsigned integer counting the number of times the link hasbeen down

/sys/class/net/<iface>/carrier_up_count

Defined on filesysfs-class-net

32-bit unsigned integer counting the number of times the link hasbeen up

/sys/class/net/<iface>/cdc_ncm/bmNtbFormatsSupported

Defined on filesysfs-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)

/sys/class/net/<iface>/cdc_ncm/dwNtbInMaxSize

Defined on filesysfs-class-net-cdc_ncm

IN NTB Maximum Size in bytes

/sys/class/net/<iface>/cdc_ncm/dwNtbOutMaxSize

Defined on filesysfs-class-net-cdc_ncm

OUT NTB Maximum Size

/sys/class/net/<iface>/cdc_ncm/min_tx_pkt

Defined on filesysfs-class-net-cdc_ncm

The driver will pad NCM Transfer Blocks (NTBs) longerthan this to tx_max, allowing the device to receivetx_max sized frames with no terminating shortpacket. NTBs shorter than this limit are transmittedas-is, without any padding, and are terminated with ashort USB packet.

Padding to tx_max allows the driver to transmit NTBsback-to-back without any interleaving short USBpackets. This reduces the number of short packetinterrupts in the device, and represents a tradeoffbetween USB bus bandwidth and device DMA optimization.

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

/sys/class/net/<iface>/cdc_ncm/ndp_to_end

Defined on filesysfs-class-net-cdc_ncm

Boolean attribute showing the status of the “NDP toend” quirk. Defaults to ‘N’, except for devicesalready known to need it enabled.

The “NDP to end” quirk makes the driver place the NDP(the packet index table) after the payload. The NCMspecification does not mandate this, but some devicesare known to be more restrictive. Write ‘Y’ to thisattribute for temporary testing of a suspect devicefailing to work with the default driver settings.

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

/sys/class/net/<iface>/cdc_ncm/rx_max

Defined on filesysfs-class-net-cdc_ncm

The maximum NTB size for RX. Cannot exceed themaximum value supported by the device. Must allow atleast one max sized datagram plus headers.

The actual limits are device dependent. SeedwNtbInMaxSize.

Note: Some devices will silently ignore changes tothis value, resulting in oversized NTBs andcorresponding framing errors.

/sys/class/net/<iface>/cdc_ncm/tx_max

Defined on filesysfs-class-net-cdc_ncm

The maximum NTB size for TX. Cannot exceed themaximum value supported by the device. Must allow atleast one max sized datagram plus headers.

The actual limits are device dependent. SeedwNtbOutMaxSize.

/sys/class/net/<iface>/cdc_ncm/tx_timer_usecs

Defined on filesysfs-class-net-cdc_ncm

Datagram aggregation timeout in µs. The driver willwait up to 3 times this timeout for more datagrams toaggregate 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 thestructure defined in section 6.2.1 “GetNtbParameters” of “UniversalSerial Bus Communications Class Subclass Specifications for NetworkControl Model Devices” (CDC NCM), Revision 1.0 (Errata 1), November24, 2010 from USB Implementers Forum, Inc. The descriptions arequoted from table 6-3 of CDC NCM: “NTB Parameter Structure”.

/sys/class/net/<iface>/cdc_ncm/wNdpInAlignment

Defined on filesysfs-class-net-cdc_ncm

NDP alignment modulus for NTBs on the IN pipe. Shallbe a power of 2, and shall be at least 4.

/sys/class/net/<iface>/cdc_ncm/wNdpInDivisor

Defined on filesysfs-class-net-cdc_ncm

Divisor used for IN NTB Datagram payload alignment

/sys/class/net/<iface>/cdc_ncm/wNdpInPayloadRemainder

Defined on filesysfs-class-net-cdc_ncm

Remainder used to align input datagram payload withinthe NTB: (Payload Offset) mod (wNdpInDivisor) =wNdpInPayloadRemainder

/sys/class/net/<iface>/cdc_ncm/wNdpOutAlignment

Defined on filesysfs-class-net-cdc_ncm

NDP alignment modulus for use in NTBs on the OUTpipe. Shall be a power of 2, and shall be at least 4.

/sys/class/net/<iface>/cdc_ncm/wNdpOutDivisor

Defined on filesysfs-class-net-cdc_ncm

OUT NTB Datagram alignment modulus

/sys/class/net/<iface>/cdc_ncm/wNdpOutPayloadRemainder

Defined on filesysfs-class-net-cdc_ncm

Remainder used to align output datagram payloadoffsets within the NTB: Padding, shall be transmittedas zero by function, and ignored by host. (PayloadOffset) mod (wNdpOutDivisor) = wNdpOutPayloadRemainder

/sys/class/net/<iface>/cdc_ncm/wNtbOutMaxDatagrams

Defined on filesysfs-class-net-cdc_ncm

Maximum number of datagrams that the host may packinto a single OUT NTB. Zero means that the deviceimposes no limit.

/sys/class/net/<iface>/dev_id

Defined on filesysfs-class-net

Indicates the device unique identifier. Format is an hexadecimalvalue. This is used to disambiguate interfaces which might bestacked (e.g: VLAN interfaces) but still have the same MACaddress as their parent device.

/sys/class/net/<iface>/dev_port

Defined on filesysfs-class-net

Indicates the port number of this network device, formattedas a decimal value. Some NICs have multiple independent portson the same PCI bus, device and function. This attribute allowsuserspace to distinguish the respective interfaces.

Note: some device drivers started to use ‘dev_id’ for thispurpose since long before 3.15 and have not adopted the newattribute ever since. To query the port number, some tools lookexclusively at ‘dev_port’, while others only consult ‘dev_id’.If a network device has multiple client adapter ports asdescribed in the previous paragraph and does not set thisattribute to its port number, it’s a kernel bug.

/sys/class/net/<iface>/dormant

Defined on filesysfs-class-net

Indicates whether the interface is in dormant state. Possiblevalues are:0: interface is not dormant1: interface is dormant

This attribute can be used by supplicant software to signal thatthe device is not usable unless some supplicant-basedauthentication is performed (e.g: 802.1x). ‘link_mode’ attributewill also reflect the dormant state.

/sys/class/net/<iface>/dsa/tagging

Defined on filesysfs-class-net-dsa

On read, this file returns a string indicating the type oftagging protocol used by the DSA network devices that areattached to this master interface.On write, this file changes the tagging protocol of theattached DSA switches, if this operation is supported by thedriver. Changing the tagging protocol must be done with the DSAinterfaces and the master interface all administratively down.See the “name” field of each registeredstructdsa_device_opsfor a list of valid values.

/sys/class/net/<iface>/duplex

Defined on filesysfs-class-net

Indicates the interface latest or current duplex value. Possiblevalues are:

half

half duplex

full

full duplex

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

/sys/class/net/<iface>/flags

Defined on filesysfs-class-net

Indicates the interface flags as a bitmask in hexadecimal. Seeinclude/uapi/linux/if.h for a list of all possible values andthe flags semantics.

/sys/class/net/<iface>/fwinfo

Defined on filesysfs-class-net-janz-ican3

Firmware stamp of ican3 moduleRead-only: 32 byte string identification of the ICAN3 module(known values: “JANZ-ICAN3 ICANOS 1.xx”, “JANZ-ICAN3 CAL/CANopen 1.xx”)

/sys/class/net/<iface>/grcan/enable0

Defined on filesysfs-class-net-grcan

Hardware configuration of physical interface 0. This file readsand writes the “Enable 0” bit of the configuration register.Possible values: 0 or 1. See the GRCAN chapter of the GRLIB IPcore library documentation for details. The default value is 0or set by the module parameter grcan.enable0 and can be read at/sys/module/grcan/parameters/enable0.

/sys/class/net/<iface>/grcan/enable1

Defined on filesysfs-class-net-grcan

Hardware configuration of physical interface 1. This file readsand writes the “Enable 1” bit of the configuration register.Possible values: 0 or 1. See the GRCAN chapter of the GRLIB IPcore library documentation for details. The default value is 0or set by the module parameter grcan.enable1 and can be read at/sys/module/grcan/parameters/enable1.

/sys/class/net/<iface>/grcan/select

Defined on filesysfs-class-net-grcan

Configuration of which physical interface to be used. Possiblevalues: 0 or 1. See the GRCAN chapter of the GRLIB IP corelibrary documentation for details. The default value is 0 or isset by the module parameter grcan.select and can be read at/sys/module/grcan/parameters/select.

/sys/class/net/<iface>/ifalias

Defined on filesysfs-class-net

Indicates/stores an interface alias name as a string. This canbe used for system management purposes.

/sys/class/net/<iface>/ifindex

Defined on filesysfs-class-net

Indicates the system-wide interface unique index identifier as adecimal number. This attribute is used for mapping an interfaceidentifier to an interface name. It is used throughout thenetworking stack for specifying the interface specificrequests/events.

/sys/class/net/<iface>/iflink

Defined on filesysfs-class-net

Indicates the system-wide interface unique index identifier athe interface is linked to. Format is decimal. This attribute isused to resolve interfaces chaining, linking and stacking.Physical interfaces have the same ‘ifindex’ and ‘iflink’ values.

/sys/class/net/<iface>/link_mode

Defined on filesysfs-class-net

Indicates the interface link mode, as a decimal number. Thisattribute should be used in conjunction with ‘dormant’ attributeto determine the interface usability. Possible values:

0

default link mode

1

dormant link mode

/sys/class/net/<iface>/mtu

Defined on filesysfs-class-net

Indicates the interface currently configured MTU value, inbytes, and in decimal format. Specific values depends on thelower-level interface protocol used. Ethernet devices will showa ‘mtu’ attribute value of 1500 unless changed.

/sys/class/net/<iface>/name_assign_type

Defined on filesysfs-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

/sys/class/net/<iface>/netdev_group

Defined on filesysfs-class-net

Indicates the interface network device group, as a decimalinteger. Default value is 0 which corresponds to the initialnetwork devices group. The group can be changed to affectrouting decisions (see: net/ipv4/fib_rules andnet/ipv6/fib6_rules.c).

/sys/class/net/<iface>/operstate

Defined on filesysfs-class-net

Indicates the interface RFC2863 operational state as a string.

Possible values are:

“unknown”, “notpresent”, “down”, “lowerlayerdown”, “testing”,“dormant”, “up”.

/sys/class/net/<iface>/peak_usb/can_channel_id

Defined on filesysfs-class-net-peak_usb

PEAK PCAN-USB devices support user-configurable CAN channelidentifiers. Contrary to a USB serial number, these identifiersare writable and can be set per CAN interface. This means thatif a USB device exports multiple CAN interfaces, each of themcan be assigned a unique channel ID.This attribute provides read-only access to the currentlyconfigured value of the channel identifier. Depending on thedevice type, the identifier has a length of 8 or 32 bit. Thevalue read from this attribute is always an 8 digit 32 bithexadecimal value in big endian format. If the device onlysupports an 8 bit identifier, the upper 24 bit of the value areset to zero.

/sys/class/net/<iface>/phydev

Defined on filesysfs-class-net

Symbolic link to the PHY device this network device is attachedto.

/sys/class/net/<iface>/phys_port_id

Defined on filesysfs-class-net

Indicates the interface unique physical port identifier withinthe NIC, as a string.

/sys/class/net/<iface>/phys_port_name

Defined on filesysfs-class-net

Indicates the interface physical port name within the NIC,as a string.

/sys/class/net/<iface>/phys_switch_id

Defined on filesysfs-class-net

Indicates the unique physical switch identifier of a switch thisport belongs to, as a string.

/sys/class/net/<iface>/qmi/add_mux

Defined on filesysfs-class-net-qmi

Unsigned integer.

Write a number ranging from 1 to 254 to add a qmap muxbased network device, supported by recent Qualcomm basedmodems.

The network device will be called qmimux.

Userspace is in charge of managing the qmux network deviceactivation and data stream setup on the modem side byusing the proper QMI protocol requests.

/sys/class/net/<iface>/qmi/del_mux

Defined on filesysfs-class-net-qmi

Unsigned integer.

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

/sys/class/net/<iface>/qmi/pass_through

Defined on filesysfs-class-net-qmi

Boolean. Default: ‘N’

Set this to ‘Y’ to enable ‘pass-through’ mode, allowing packetsin MAP format to be passed on to the stack.

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

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

/sys/class/net/<iface>/qmi/raw_ip

Defined on filesysfs-class-net-qmi

Boolean. Default: ‘N’

Set this to ‘Y’ to change the network device linkframing from ‘802.3’ to ‘raw-ip’.

The netdev will change to reflect the link framingmode. The netdev is an ordinary ethernet device in‘802.3’ mode, and the driver expects to exchangeframes with an ethernet header over the USB link. Thenetdev is a headerless p-t-p device in ‘raw-ip’ mode,and the driver expects to echange IPv4 or IPv6 packetswithout any L2 header over the USB link.

Userspace is in full control of firmware configurationthrough the delegation of the QMI protocol. Userspaceis responsible for coordination of driver and firmwarelink framing mode, changing this setting to ‘Y’ if thefirmware is configured for ‘raw-ip’ mode.

/sys/class/net/<iface>/queues/rx-<queue>/rps_cpus

Defined on filesysfs-class-net-queues

Mask of the CPU(s) currently enabled to participate into theReceive Packet Steering packet processing flow for thisnetwork device queue. Possible values depend on the numberof available CPU(s) in the system.

/sys/class/net/<iface>/queues/rx-<queue>/rps_flow_cnt

Defined on filesysfs-class-net-queues

Number of Receive Packet Steering flows being currentlyprocessed by this particular network device receive queue.

/sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/hold_time

Defined on filesysfs-class-net-queues

Indicates the hold time in milliseconds to measure the slackof this particular network device transmit queue.Default value is 1000.

/sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/inflight

Defined on filesysfs-class-net-queues

Indicates the number of bytes (objects) in flight on thisnetwork device transmit queue.

/sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/limit

Defined on filesysfs-class-net-queues

Indicates the current limit of bytes allowed to be queuedon this network device transmit queue. This value is clampedto be within the bounds defined by limit_max and limit_min.

/sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/limit_max

Defined on filesysfs-class-net-queues

Indicates the absolute maximum limit of bytes allowed to bequeued on this network device transmit queue. Seeinclude/linux/dynamic_queue_limits.h for the default value.

/sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/limit_min

Defined on filesysfs-class-net-queues

Indicates the absolute minimum limit of bytes allowed to bequeued on this network device transmit queue. Default value is0.

/sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/stall_cnt

Defined on filesysfs-class-net-queues

Number of detected Tx completion stalls.

/sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/stall_max

Defined on filesysfs-class-net-queues

Longest detected Tx completion stall. Write 0 to clear.

/sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/stall_thrs

Defined on filesysfs-class-net-queues

Tx completion stall detection threshold in ms. Kernel willguarantee to detect all stalls longer than this threshold butmay also detect stalls longer than half of the threshold.

/sys/class/net/<iface>/queues/tx-<queue>/tx_maxrate

Defined on filesysfs-class-net-queues

A Mbps max-rate set for the queue, a value of zero means disabled,default is disabled.

/sys/class/net/<iface>/queues/tx-<queue>/tx_timeout

Defined on filesysfs-class-net-queues

Indicates the number of transmit timeout events seen by thisnetwork interface transmit queue.

/sys/class/net/<iface>/queues/tx-<queue>/xps_cpus

Defined on filesysfs-class-net-queues

Mask of the CPU(s) currently enabled to participate into theTransmit Packet Steering packet processing flow for thisnetwork device transmit queue. Possible values depend on thenumber of available CPU(s) in the system.

/sys/class/net/<iface>/queues/tx-<queue>/xps_rxqs

Defined on filesysfs-class-net-queues

Mask of the receive queue(s) currently enabled to participateinto the Transmit Packet Steering packet processing flow for thisnetwork device transmit queue. Possible values depend on thenumber of available receive queue(s) in the network device.Default is disabled.

/sys/class/net/<iface>/speed

Defined on filesysfs-class-net

Indicates the interface latest or current speed value. Value isan integer representing the link speed in Mbits/sec.

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

/sys/class/net/<iface>/statistics/collisions

Defined on filesysfs-class-net-statistics

Indicates the number of collisions seen by this network device.This value might not be relevant with all MAC layers.

/sys/class/net/<iface>/statistics/multicast

Defined on filesysfs-class-net-statistics

Indicates the number of multicast packets received by thisnetwork device.

/sys/class/net/<iface>/statistics/rx_bytes

Defined on filesysfs-class-net-statistics

Indicates the number of bytes received by this network device.See the network driver for the exact meaning of when thisvalue is incremented.

/sys/class/net/<iface>/statistics/rx_compressed

Defined on filesysfs-class-net-statistics

Indicates the number of compressed packets received by thisnetwork device. This value might only be relevant for interfacesthat support packet compression (e.g: PPP).

/sys/class/net/<iface>/statistics/rx_crc_errors

Defined on filesysfs-class-net-statistics

Indicates the number of packets received with a CRC (FCS) errorby this network device. Note that the specific meaning mightdepend on the MAC layer used by the interface.

/sys/class/net/<iface>/statistics/rx_dropped

Defined on filesysfs-class-net-statistics

Indicates the number of packets received by the network devicebut dropped, that are not forwarded to the upper layers forpacket processing. See the network driver for the exactmeaning of this value.

/sys/class/net/<iface>/statistics/rx_errors

Defined on filesysfs-class-net-statistics

Indicates the number of receive errors on this network device.See the network driver for the exact meaning of this value.

/sys/class/net/<iface>/statistics/rx_fifo_errors

Defined on filesysfs-class-net-statistics

Indicates the number of receive FIFO errors seen by thisnetwork device. See the network driver for the exactmeaning of this value.

/sys/class/net/<iface>/statistics/rx_frame_errors

Defined on filesysfs-class-net-statistics

Indicates the number of received frames with error, such asalignment errors. Note that the specific meaning depends onon the MAC layer protocol used. See the network driver forthe exact meaning of this value.

/sys/class/net/<iface>/statistics/rx_length_errors

Defined on filesysfs-class-net-statistics

Indicates the number of received error packet with a lengtherror, oversized or undersized. See the network driver for theexact meaning of this value.

/sys/class/net/<iface>/statistics/rx_missed_errors

Defined on filesysfs-class-net-statistics

Indicates the number of received packets that have been misseddue to lack of capacity in the receive side. See the networkdriver for the exact meaning of this value.

/sys/class/net/<iface>/statistics/rx_nohandler

Defined on filesysfs-class-net-statistics

Indicates the number of received packets that were dropped onan inactive device by the network core.

/sys/class/net/<iface>/statistics/rx_over_errors

Defined on filesysfs-class-net-statistics

Indicates the number of received packets that are oversizedcompared to what the network device is configured to accept(e.g: larger than MTU). See the network driver for the exactmeaning of this value.

/sys/class/net/<iface>/statistics/rx_packets

Defined on filesysfs-class-net-statistics

Indicates the total number of good packets received by thisnetwork device.

/sys/class/net/<iface>/statistics/tx_aborted_errors

Defined on filesysfs-class-net-statistics

Indicates the number of packets that have been abortedduring transmission by a network device (e.g: because ofa medium collision). See the network driver for the exactmeaning of this value.

/sys/class/net/<iface>/statistics/tx_bytes

Defined on filesysfs-class-net-statistics

Indicates the number of bytes transmitted by a networkdevice. See the network driver for the exact meaning of thisvalue, in particular whether this accounts for all successfullytransmitted packets or all packets that have been queued fortransmission.

/sys/class/net/<iface>/statistics/tx_carrier_errors

Defined on filesysfs-class-net-statistics

Indicates the number of packets that could not be transmittedbecause of carrier errors (e.g: physical link down). See thenetwork driver for the exact meaning of this value.

/sys/class/net/<iface>/statistics/tx_compressed

Defined on filesysfs-class-net-statistics

Indicates the number of transmitted compressed packets. Notethis might only be relevant for devices that supportcompression (e.g: PPP).

/sys/class/net/<iface>/statistics/tx_dropped

Defined on filesysfs-class-net-statistics

Indicates the number of packets dropped during transmission.See the driver for the exact reasons as to why the packets weredropped.

/sys/class/net/<iface>/statistics/tx_errors

Defined on filesysfs-class-net-statistics

Indicates the number of packets in error during transmission bya network device. See the driver for the exact reasons as towhy the packets were dropped.

/sys/class/net/<iface>/statistics/tx_fifo_errors

Defined on filesysfs-class-net-statistics

Indicates the number of packets having caused a transmitFIFO error. See the driver for the exact reasons as to why thepackets were dropped.

/sys/class/net/<iface>/statistics/tx_heartbeat_errors

Defined on filesysfs-class-net-statistics

Indicates the number of packets transmitted that have beenreported as heartbeat errors. See the driver for the exactreasons as to why the packets were dropped.

/sys/class/net/<iface>/statistics/tx_packets

Defined on filesysfs-class-net-statistics

Indicates the number of packets transmitted by a networkdevice. See the driver for whether this reports the number of allattempted or successful transmissions.

/sys/class/net/<iface>/statistics/tx_window_errors

Defined on filesysfs-class-net-statistics

Indicates the number of packets not successfully transmitteddue to a window collision. The specific meaning depends on theMAC layer used. On Ethernet this is usually used to reportlate collisions errors.

/sys/class/net/<iface>/termination

Defined on filesysfs-class-net-janz-ican3

Value representing the can bus termination

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

/sys/class/net/<iface>/testing

Defined on filesysfs-class-net

Indicates whether the interface is under test. Possiblevalues are:

0

interface is not being tested

1

interface is being tested

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

/sys/class/net/<iface>/threaded

Defined on filesysfs-class-net

Boolean value to control the threaded mode per device. User couldset this value to enable/disable threaded mode for all napibelonging to this device, without the need to do device up/down.

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

/sys/class/net/<iface>/tx_queue_len

Defined on filesysfs-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 unlessconfigured otherwise

/sys/class/net/<iface>/type

Defined on filesysfs-class-net

Indicates the interface protocol type as a decimal value. Seeinclude/uapi/linux/if_arp.h for all possible values.

/sys/class/net/<qmimux iface>/qmap/mux_id

Defined on filesysfs-class-net-qmi

Unsigned integer

Indicates the mux id associated to the qmimux network interfaceduring its creation.

/sys/class/ocxl/<afu name>/afu_version

Defined on filesysfs-class-ocxl

read onlyVersion of the AFU, in the format <major>:<minor>Reflects what is read in the configuration space of the AFU

/sys/class/ocxl/<afu name>/contexts

Defined on filesysfs-class-ocxl

read onlyNumber 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

/sys/class/ocxl/<afu name>/global_mmio_area

Defined on filesysfs-class-ocxl

read/writeGive access the global mmio area for the AFU

/sys/class/ocxl/<afu name>/global_mmio_size

Defined on filesysfs-class-ocxl

read onlySize of the global mmio area, as defined in theconfiguration space of the AFU

/sys/class/ocxl/<afu name>/pp_mmio_size

Defined on filesysfs-class-ocxl

read onlySize of the per-process mmio area, as defined in theconfiguration space of the AFU

/sys/class/ocxl/<afu name>/reload_on_reset

Defined on filesysfs-class-ocxl

read/writeControl whether the FPGA is reloaded on a link reset. Enabledthrough a vendor-specific logic block on the FPGA.

0

Do not reload FPGA image from flash

1

Reload FPGA image from flash

unavailable

The device does not support this capability

/sys/class/platform-profile/platform-profile-X/choices

Defined on filesysfs-class-platform-profile

This file contains a space-separated list of profiles supportedfor this device.

Drivers must use the following standard profile-names:

low-power

Low power consumption

cool

Cooler operation

quiet

Quieter operation

balanced

Balance between low power consumptionand performance

balanced-performance

Balance between performance and lowpower consumption with a slight biastowards performance

performance

High performance operation

max-power

Higher performance operation that may exceedinternal battery draw limits when on AC power

custom

Driver defined custom profile

RO

/sys/class/platform-profile/platform-profile-X/name

Defined on filesysfs-class-platform-profile

Name of the class device given by the driver.

RO

/sys/class/platform-profile/platform-profile-X/profile

Defined on filesysfs-class-platform-profile

Reading this file gives the current selected profile for thisdevice. Writing this file with one of the strings fromplatform_profile_choices changes the profile to the new value.

This file can be monitored for changes by polling for POLLPRI,POLLPRI will be signaled on any changes, independent of thosechanges coming from a userspace write; or coming from anothersource such as e.g. a hotkey triggered profile change handledeither directly by the embedded-controller or fully handledinside the kernel.

This file may also emit the string ‘custom’ to indicatethat the driver is using a driver defined custom profile.

RW

/sys/class/power/ds2760-battery.*/charge_full

Defined on filesysfs-class-power

This file is writeable and can be used to set the assumedbattery ‘full level’. As batteries age, this value has to beamended over time.

/sys/class/power/ds2760-battery.*/charge_now

Defined on filesysfs-class-power

This file is writeable and can be used to set the currentcoloumb counter value inside the battery monitor chip. Thisis needed for unavoidable corrections of aging batteries.A userspace daemon can monitor the battery charging logicand once the counter drops out of considerable bounds, takeappropriate action.

/sys/class/power_supply/<battery_name>/eppid

Defined on filesysfs-platform-dell-wmi-ddv

Reports the Dell ePPID (electronic Piece Part Identification)of the ACPI battery.

SeeDell DDV WMI interface driver (dell-wmi-ddv) for details.

/sys/class/power_supply/<supply_name>/alarm

Defined on filesysfs-class-power-surface

Battery trip point. When the remaining battery capacity crosses thisvalue in either direction, the system will be notified and ifnecessary woken.

Set to zero to clear/disable.

Access: Read, Write

Valid values: In micro-Wh or micro-Ah, depending on the power unitof the battery

/sys/class/power_supply/<supply_name>/capacity

Defined on filesysfs-class-power

Fine grain representation of battery capacity.

Access: Read

Valid values: 0 - 100 (percent)

/sys/class/power_supply/<supply_name>/capacity_alert_max

Defined on filesysfs-class-power

Maximum battery capacity trip-wire value where the supply willnotify user-space of the event. This is normally used for thebattery discharging scenario where user-space needs to know thebattery has dropped to an upper level so it can takeappropriate action (e.g. warning user that battery level islow).

Access: Read, Write

Valid values: 0 - 100 (percent)

/sys/class/power_supply/<supply_name>/capacity_alert_min

Defined on filesysfs-class-power

Minimum battery capacity trip-wire value where the supply willnotify user-space of the event. This is normally used for thebattery discharging scenario where user-space needs to know thebattery has dropped to a lower level so it can takeappropriate action (e.g. warning user that battery level iscritically low).

Access: Read, Write

Valid values: 0 - 100 (percent)

/sys/class/power_supply/<supply_name>/capacity_error_margin

Defined on filesysfs-class-power

Battery capacity measurement becomes unreliable withoutrecalibration. This values provides the maximum errormargin expected to exist by the fuel gauge in percent.Values close to 0% will be returned after (re-)calibrationhas happened. Over time the error margin will increase.100% means, that the capacity related values are basicallycompletely useless.

Access: Read

Valid values: 0 - 100 (percent)

/sys/class/power_supply/<supply_name>/capacity_level

Defined on filesysfs-class-power

Coarse representation of battery capacity.

Access: Read

Valid values:

“Unknown”, “Critical”, “Low”, “Normal”, “High”,“Full”

/sys/class/power_supply/<supply_name>/charge_behaviour

Defined on filesysfs-class-power

Represents the charging behaviour.

Access: Read, Write

Valid values:

auto:

Charge normally, respect thresholds

inhibit-charge:

Do not charge while AC is attached

inhibit-charge-awake:

inhibit-charge only when device is awake

force-discharge:

Force discharge while AC is attached

/sys/class/power_supply/<supply_name>/charge_control_end_threshold

Defined on filesysfs-class-power

Represents a battery percentage level, above which charging willstop. Not all hardware is capable of setting this to an arbitrarypercentage. Drivers will round written values to the nearestsupported value. Reading back the value will show the actualthreshold set by the driver.

Access: Read, Write

Valid values: 0 - 100 (percent)

/sys/class/power_supply/<supply_name>/charge_control_limit

Defined on filesysfs-class-power

Maximum allowable charging current. Used for charge ratethrottling for thermal cooling or improving battery health.

Access: Read, Write

Valid values: Represented in microamps

/sys/class/power_supply/<supply_name>/charge_control_limit_max

Defined on filesysfs-class-power

Maximum legal value for the charge_control_limit property.

Access: Read

Valid values: Represented in microamps

/sys/class/power_supply/<supply_name>/charge_control_start_threshold

Defined on filesysfs-class-power

Represents a battery percentage level, below which charging willbegin.

Access: Read, WriteValid values: 0 - 100 (percent)

/sys/class/power_supply/<supply_name>/charge_term_current

Defined on filesysfs-class-power

Reports the charging current value which is used to determinewhen the battery is considered full and charging should end.

Access: Read

Valid values: Represented in microamps

/sys/class/power_supply/<supply_name>/charge_type

Defined on filesysfs-class-power

Select the charging algorithm to use for a battery.

Standard:

Fully charge the battery at a moderate rate.

Fast:

Quickly charge the battery using fast-chargetechnology. This is typically harder on the batterythan standard charging and may lower its lifespan.

Trickle:

Users who primarily operate the system whileplugged into an external power source can extendbattery life with this mode. Vendor tooling maycall this “Primarily AC Use”.

Adaptive:

Automatically optimize battery charge rate basedon typical usage pattern.

Custom:

Use the charge_control_* properties to determinewhen to start and stop charging. Advanced userscan use this to drastically extend battery life.

Long Life:

The charger reduces its charging rate in order toprolong the battery health.

Bypass:

The charger bypasses the charging path around theintegrated converter allowing for a “smart” walladaptor to perform the power conversion externally.

Access: Read, Write

Reading this returns the current active value, e.g. ‘Standard’.Check charge_types to get the values supported by the battery.

Valid values:

“Unknown”, “N/A”, “Trickle”, “Fast”, “Standard”,“Adaptive”, “Custom”, “Long Life”, “Bypass”

/sys/class/power_supply/<supply_name>/charge_types

Defined on filesysfs-class-power

Identical to charge_type but reading returns a list of supportedcharge-types with the currently active type surrounded by squarebrackets, e.g.: “Fast [Standard] Long_Life”.

power_supply class devices may support both charge_type andcharge_types for backward compatibility. In this case both willalways have the same active value and the active value can bechanged by writing either property.

Note charge-types which contain a space such as “Long Life” willhave the space replaced by a ‘_’ resulting in e.g. “Long_Life”.When writing charge-types both variants are accepted.

/sys/class/power_supply/<supply_name>/current_avg

Defined on filesysfs-class-power

Battery:

Reports an average IBAT current reading for the battery, overa fixed period. Normally devices will provide a fixed intervalin which they average readings to smooth out the reportedvalue.

USB:

Reports an average IBUS current reading over a fixed period.Normally devices will provide a fixed interval in which theyaverage readings to smooth out the reported value.

Access: Read

Valid values: Represented in microamps. Negative values areused for discharging batteries, positive values for chargingbatteries and for USB IBUS current.

/sys/class/power_supply/<supply_name>/current_max

Defined on filesysfs-class-power

Battery:

Reports the maximum IBAT current allowed into the battery.

USB:

Reports the maximum IBUS current the supply can support.

Access: ReadValid values: Represented in microamps

/sys/class/power_supply/<supply_name>/current_now

Defined on filesysfs-class-power

Battery:

Reports an instant, single IBAT current reading for thebattery. This value is not averaged/smoothed.

Access: Read

USB:

Reports the IBUS current supplied now. This value is generallyread-only reporting, unless the ‘online’ state of the supplyis set to be programmable, in which case this value can be setwithin the reported min/max range.

Access: Read, Write

Valid values: Represented in microamps. Negative values areused for discharging batteries, positive values for chargingbatteries and for USB IBUS current.

/sys/class/power_supply/<supply_name>/cycle_count

Defined on filesysfs-class-power

Reports the number of full charge + discharge cycles thebattery has undergone.

Access: Read

Valid values:

Integer > 0: representing full cyclesInteger = 0: cycle_count info is not available

/sys/class/power_supply/<supply_name>/extensions/<extension_name>

Defined on filesysfs-class-power

Reports the extensions registered to the power supply.Each entry is a link to the device which registered the extension.

Access: Read

/sys/class/power_supply/<supply_name>/health

Defined on filesysfs-class-power

Reports the health of the battery or battery side of chargerfunctionality.

Access: Read

Valid values:

“Unknown”, “Good”, “Overheat”, “Dead”,“Over voltage”, “Under voltage”, “Unspecified failure”, “Cold”,“Watchdog timer expire”, “Safety timer expire”,“Over current”, “Calibration required”, “Warm”,“Cool”, “Hot”, “No battery”, “Blown fuse”, “Cell imbalance”

/sys/class/power_supply/<supply_name>/input_current_limit

Defined on filesysfs-class-power

Details the incoming IBUS current limit currently set in thesupply. Normally this is configured based on the type ofconnection made (e.g. A configured SDP should output a maximumof 500mA so the input current limit is set to the same value).Use preferably input_power_limit, and for problems that can besolved using power limit use input_current_limit.

Access: Read, Write

Valid values: Represented in microamps

/sys/class/power_supply/<supply_name>/input_power_limit

Defined on filesysfs-class-power

This entry configures the incoming power limit currently setin the supply. Normally this is configured based onsystem-level knowledge or user input. Use preferably thisfeature to limit the incoming power and use current/voltagelimit only for problems that can be solved using power limit.

Access: Read, Write

Valid values: Represented in microwatts

/sys/class/power_supply/<supply_name>/input_voltage_limit

Defined on filesysfs-class-power

This entry configures the incoming VBUS voltage limit currentlyset in the supply. Normally this is configured based onsystem-level knowledge or user input (e.g. This is part of thePixel C’s thermal management strategy to effectively limit theinput power to 5V when the screen is on to meet Google’s skintemperature targets). Note that this feature should not beused for safety critical things.Use preferably input_power_limit, and for problems that can besolved using power limit use input_voltage_limit.

Access: Read, Write

Valid values: Represented in microvolts

/sys/class/power_supply/<supply_name>/internal_resistance

Defined on filesysfs-class-power

Represent the battery’s internal resistance, often referredto as Equivalent Series Resistance (ESR). It is a dynamicparameter that reflects the opposition to current flow withinthe cell. It is not a fixed value but varies significantlybased on several operational conditions, including batterystate of charge (SoC), temperature, and whether the batteryis in a charging or discharging state.

Access: Read

Valid values: Represented in microohms

/sys/class/power_supply/<supply_name>/manufacture_day

Defined on filesysfs-class-power

Reports the day of month when the device has been manufactured.

Access: ReadValid values: 1-31

/sys/class/power_supply/<supply_name>/manufacture_month

Defined on filesysfs-class-power

Reports the month when the device has been manufactured.

Access: Read

Valid values: 1-12

/sys/class/power_supply/<supply_name>/manufacture_year

Defined on filesysfs-class-power

Reports the year (following Gregorian calendar) when the device has beenmanufactured.

Access: Read

Valid values: Reported as integer

/sys/class/power_supply/<supply_name>/manufacturer

Defined on filesysfs-class-power

Reports the name of the device manufacturer.

Access: ReadValid values: Represented as string

/sys/class/power_supply/<supply_name>/model_name

Defined on filesysfs-class-power

Reports the name of the device model.

Access: ReadValid values: Represented as string

/sys/class/power_supply/<supply_name>/online,

Defined on filesysfs-class-power

Indicates if VBUS is present for the supply. When the supply isonline, and the supply allows it, then it’s possible to switchbetween online states (e.g. Fixed -> Programmable for a PD_PPSUSB 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

/sys/class/power_supply/<supply_name>/precharge_current

Defined on filesysfs-class-power

Reports the charging current applied during pre-charging phasefor a battery charge cycle.

Access: Read

Valid values: Represented in microamps

/sys/class/power_supply/<supply_name>/present

Defined on filesysfs-class-power

Reports whether a battery is present or not in the system. If theproperty does not exist, the battery is considered to be present.

Access: Read

Valid values:

0:

Absent

1:

Present

/sys/class/power_supply/<supply_name>/serial_number

Defined on filesysfs-class-power

Reports the serial number of the device.

Access: ReadValid values: Represented as string

/sys/class/power_supply/<supply_name>/state_of_health

Defined on filesysfs-class-power

The state_of_health parameter quantifies the overall conditionof a battery as a percentage, reflecting its ability to deliverrated performance relative to its original specifications. It isdynamically computed using a combination of learned capacityand impedance-based degradation indicators, both of which evolveover the battery’s lifecycle.Note that the exact algorithms are kept secret by most batteryvendors and the value from different battery vendors cannot becompared with each other as there is no vendor-agnostic definitionof “performance”. Also this usually cannot be used for anycalculations (i.e. this is not the factor between charge_full andcharge_full_design).

Access: Read

Valid values: 0 - 100 (percent)

USB Properties

/sys/class/power_supply/<supply_name>/status

Defined on filesysfs-class-power

Represents the charging status of the battery. Normally thisis read-only reporting although for some supplies this can beused to enable/disable charging to the battery.

Access: Read, Write

Valid values:

“Unknown”, “Charging”, “Discharging”,“Not charging”, “Full”

/sys/class/power_supply/<supply_name>/technology

Defined on filesysfs-class-power

Describes the battery technology supported by the supply.

Access: Read

Valid values:

“Unknown”, “NiMH”, “Li-ion”, “Li-poly”, “LiFe”,“NiCd”, “LiMn”

/sys/class/power_supply/<supply_name>/temp

Defined on filesysfs-class-power

Battery:

Reports the current TBAT battery temperature reading.

USB:

Reports the current supply temperature reading. This wouldnormally 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

/sys/class/power_supply/<supply_name>/temp_alert_max

Defined on filesysfs-class-power

Battery:

Maximum TBAT temperature trip-wire value where the supply willnotify user-space of the event.

USB:

Maximum supply temperature trip-wire value where the supplywill notify user-space of the event.

This is normally used for the charging scenario whereuser-space needs to know if the temperature has crossed anupper threshold so it can take appropriate action (e.g. warninguser that the temperature is critically high, and charging hasstopped).

Access: Read

Valid values: Represented in 1/10 Degrees Celsius

/sys/class/power_supply/<supply_name>/temp_alert_min

Defined on filesysfs-class-power

Battery:

Minimum TBAT temperature trip-wire value where the supply willnotify user-space of the event.

USB:

Minimum supply temperature trip-wire value where the supplywill notify user-space of the event.

This is normally used for the charging scenario where user-spaceneeds to know if the temperature has crossed a lower thresholdso it can take appropriate action (e.g. warning user thattemperature level is high, and charging current has beenreduced accordingly to remedy the situation).

Access: Read

Valid values: Represented in 1/10 Degrees Celsius

/sys/class/power_supply/<supply_name>/temp_max

Defined on filesysfs-class-power

Battery:

Reports the maximum allowed TBAT battery temperature forcharging.

USB:

Reports the maximum allowed supply temperature for operation.

Access: Read

Valid values: Represented in 1/10 Degrees Celsius

/sys/class/power_supply/<supply_name>/temp_min

Defined on filesysfs-class-power

Battery:

Reports the minimum allowed TBAT battery temperature forcharging.

USB:

Reports the minimum allowed supply temperature for operation.

Access: Read

Valid values: Represented in 1/10 Degrees Celsius

/sys/class/power_supply/<supply_name>/type

Defined on filesysfs-class-power

Describes the main type of the supply.

Access: ReadValid values: “Battery”, “UPS”, “Mains”, “USB”, “Wireless”

Battery and USB properties

/sys/class/power_supply/<supply_name>/usb_type

Defined on filesysfs-class-power

Reports what type of USB connection is currently active forthe supply, for example it can show if USB-PD capable sourceis attached.

Access: For power-supplies which consume USB power suchas battery charger chips, this indicates the type ofthe connected USB power source and is Read-Only.

For power-supplies which act as a USB power-source such ase.g. the UCS1002 USB Port Power Controller this is writable.

Valid values:

“Unknown”, “SDP”, “DCP”, “CDP”, “ACA”, “C”, “PD”,“PD_DRP”, “PD_PPS”, “BrickID”

Device Specific Properties

/sys/class/power_supply/<supply_name>/voltage_avg,

Defined on filesysfs-class-power

Reports an average VBAT voltage reading for the battery, over afixed period. Normally devices will provide a fixed interval inwhich they average readings to smooth out the reported value.

Access: Read

Valid values: Represented in microvolts

/sys/class/power_supply/<supply_name>/voltage_max,

Defined on filesysfs-class-power

Battery:

Reports the maximum safe VBAT voltage permitted for thebattery, during charging.

USB:

Reports the maximum VBUS voltage the supply can support.

Access: Read

Valid values: Represented in microvolts

/sys/class/power_supply/<supply_name>/voltage_min,

Defined on filesysfs-class-power

Battery:

Reports the minimum safe VBAT voltage permitted for thebattery, during discharging.

USB:

Reports the minimum VBUS voltage the supply can support.

Access: Read

Valid values: Represented in microvolts

/sys/class/power_supply/<supply_name>/voltage_now,

Defined on filesysfs-class-power

Battery:

Reports an instant, single VBAT voltage reading for thebattery. This value is not averaged/smoothed.

Access: Read

USB:

Reports the VBUS voltage supplied now. This value is generallyread-only reporting, unless the ‘online’ state of the supplyis set to be programmable, in which case this value can be setwithin the reported min/max range.

Access: Read, Write

Valid values: Represented in microvolts

Battery Properties

/sys/class/power_supply/bq24257-charger/high_impedance_enable

Defined on filesysfs-class-power

This entry allows enabling the high-impedance mode of bq24257-typecharger devices. If enabled, it places the charger IC into low powerstandby mode with the switch mode controller disabled. When disabled,the charger operates normally. See device datasheet for details.

Valid values:

  • 1: enabled

  • 0: disabled

/sys/class/power_supply/bq24257-charger/in_dpm_voltage

Defined on filesysfs-class-power

This entry configures the input dynamic power path management voltage ofbq24257-type charger devices. Once the supply drops to the configuredvoltage, the input current limit is reduced down to prevent the furtherdrop of the supply. When the IC enters this mode, the charge current islower than the set value. See device datasheet for details.

Valid values:

  • 4200000, 4280000, 4360000, 4440000, 4520000, 4600000, 4680000,4760000 (all uV)

/sys/class/power_supply/bq24257-charger/ovp_voltage

Defined on filesysfs-class-power

This entry configures the overvoltage protection feature of bq24257-type charger devices. This feature protects the device and othercomponents against damage from overvoltage on the input supply. Seedevice datasheet for details.

Valid values:

  • 6000000, 6500000, 7000000, 8000000, 9000000, 9500000, 10000000,10500000 (all uV)

/sys/class/power_supply/bq24257-charger/sysoff_enable

Defined on filesysfs-class-power

This entry allows enabling the sysoff mode of bq24257-type chargerdevices. If enabled and the input is removed, the internal battery FETis turned off in order to reduce the leakage from the BAT pin to lessthan 1uA. Note that on some devices/systems this disconnects the batteryfrom the system. See device datasheet for details.

Valid values:

  • 1: enabled

  • 0: disabled

/sys/class/power_supply/gaokun-ec-battery/battery_adaptive_charge

Defined on filesysfs-class-power-gaokun

This entry allows enabling battery adaptive charging.

Access: Read, Write

Valid values: 0 (disabled) or 1 (enabled)

/sys/class/power_supply/gaokun-ec-battery/smart_charge_delay

Defined on filesysfs-class-power-gaokun

This entry allows configuration of smart charging delay.

Smart charging behavior: when the power adapter is connectedfor delay hours, battery charging will follow the rules ofcharge_control_start_threshold and charge_control_end_threshold.For more information about charge control, please refer tosysfs-class-power.

Access: Read, Write

Valid values: In hours (non-negative)

/sys/class/power_supply/ltc4162-l/arm_ship_mode

Defined on filesysfs-class-power-ltc4162l

The charger will normally drain the battery while inactive,typically drawing about 54 microamps. Write a “1” to thisproperty to arm a special “ship” mode that extends shelf lifeby reducing the leakage to about 2.8 microamps. The chip willremain in this mode (and no longer respond to I2C commands)until some external power-supply is attached raising the inputvoltage above 1V. It will then automatically revert to “0”.Writing a “0” to the property cancels the “ship” mode request.The ship mode, when armed, activates once the input voltagedrops below 1V.

Access: Read, Write

Valid values: 0 (disable) or 1 (enable)

/sys/class/power_supply/ltc4162-l/charge_status

Defined on filesysfs-class-power-ltc4162l

Detailed charge status information as reported by the chip.

Access: Read

Valid values:

ilim_reg_activethermal_reg_activevin_uvcl_activeiin_limit_activeconstant_currentconstant_voltagecharger_off

/sys/class/power_supply/ltc4162-l/force_telemetry

Defined on filesysfs-class-power-ltc4162l

To save battery current, the measurement system is disabled ifthe battery is the only source of power. This affects allvoltage, current and temperature measurements.Write a “1” to this to keep performing telemetry once every fewseconds, even when running on battery (as reported by the onlineproperty, which is “1” when external power is available and “0”when the system runs on battery).

Access: Read, Write

Valid values: 0 (disabled) or 1 (enabled)

/sys/class/power_supply/ltc4162-l/ibat

Defined on filesysfs-class-power-ltc4162l

Battery input current as measured by the charger. Negative valuemeans that the battery is discharging.

Access: Read

Valid values: Signed value in microamps

/sys/class/power_supply/ltc4162-l/vbat

Defined on filesysfs-class-power-ltc4162l

Battery voltage as measured by the charger.

Access: Read

Valid values: In microvolts

/sys/class/power_supply/ltc4162-l/vbat_avg

Defined on filesysfs-class-power-ltc4162l

Battery voltage, averaged over time, as measured by the charger.

Access: Read

Valid values: In microvolts

/sys/class/power_supply/max14577-charger/device/fast_charge_timer

Defined on filesysfs-class-power

This entry shows and sets the maximum time the max14577charger operates in fast-charge mode. When the timer expiresthe device will terminate fast-charge mode (charging currentwill drop to 0 A) and will trigger interrupt.

Valid values:

  • 5, 6 or 7 (hours),

  • 0: disabled.

/sys/class/power_supply/max1720x/temp_ain1

Defined on filesysfs-class-power-max1720x

Reports the current temperature reading from AIN1 thermistor.

Access: Read

Valid values: Represented in 1/10 Degrees Celsius

/sys/class/power_supply/max1720x/temp_ain2

Defined on filesysfs-class-power-max1720x

Reports the current temperature reading from AIN2 thermistor.

Access: Read

Valid values: Represented in 1/10 Degrees Celsius

/sys/class/power_supply/max1720x/temp_int

Defined on filesysfs-class-power-max1720x

Reports the current temperature reading from internal die.

Access: Read

Valid values: Represented in 1/10 Degrees Celsius

/sys/class/power_supply/max77693-charger/device/fast_charge_timer

Defined on filesysfs-class-power

This entry shows and sets the maximum time the max77693charger operates in fast-charge mode. When the timer expiresthe device will terminate fast-charge mode (charging currentwill drop to 0 A) and will trigger interrupt.

Valid values:

  • 4 - 16 (hours), step by 2 (rounded down)

  • 0: disabled.

/sys/class/power_supply/max77693-charger/device/top_off_threshold_current

Defined on filesysfs-class-power

This entry shows and sets the charging current threshold forentering top-off charging mode. When charging current in fastcharge mode drops below this value, the charger will triggerinterrupt 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.

/sys/class/power_supply/max77693-charger/device/top_off_timer

Defined on filesysfs-class-power

This entry shows and sets the maximum time the max77693charger operates in top-off charge mode. When the timer expiresthe device will terminate top-off charge mode (charging currentwill drop to 0 A) and will trigger interrupt.

Valid values:

  • 0 - 70 (minutes), step by 10 (rounded down)

/sys/class/power_supply/max8971-charger/fast_charge_timer

Defined on filesysfs-class-power

This entry shows and sets the maximum time the max8971charger operates in fast-charge mode. When the timer expiresthe device will terminate fast-charge mode (charging currentwill drop to 0 A) and will trigger interrupt.

Valid values:

  • 4 - 10 (hours), step by 1

  • 0: disabled.

/sys/class/power_supply/max8971-charger/top_off_threshold_current

Defined on filesysfs-class-power

This entry shows and sets the charging current threshold forentering top-off charging mode. When charging current in fastcharge mode drops below this value, the charger will triggerinterrupt and start top-off charging mode.

Valid values:

  • 50000 - 200000 (microamps), step by 50000 (rounded down)

/sys/class/power_supply/max8971-charger/top_off_timer

Defined on filesysfs-class-power

This entry shows and sets the maximum time the max8971charger operates in top-off charge mode. When the timer expiresthe device will terminate top-off charge mode (charging currentwill drop to 0 A) and will trigger interrupt.

Valid values:

  • 0 - 70 (minutes), step by 10 (rounded down)

/sys/class/power_supply/mp2629_battery/batt_impedance_compen

Defined on filesysfs-class-power-mp2629

Represents a battery impedance compensation to accelerate charging.

Access: Read, Write

Valid values: Represented in milli-ohms. Valid range is [0, 140].

/sys/class/power_supply/rt9467-*/sysoff_enable

Defined on filesysfs-class-power-rt9467

This entry allows enabling the sysoff mode of rt9467 chargerdevices.If enabled and the input is removed, the internal battery FETis turned off to reduce the leakage from the BAT pin. Seedevice datasheet for details. It’s commonly used when theproduct enter shipping stage. After entering shipping mode,only ‘VBUS’ or ‘Power key” pressed can make it leave this mode.‘Disable’ also can help to leave it, but it’s more like toabort the action before the device really enter shipping mode.

Access: Read, WriteValid values:- 1: enabled- 0: disabled

/sys/class/power_supply/rt9471-*/port_detect_enable

Defined on filesysfs-class-power-rt9471

This entry allows enabling the USB BC12 port detect function of rt9471 chargerdevices. If enabled and VBUS is inserted, device will start to do the BC12port detect and report the usb port type when port detect is done. Seedatasheet for details. Normally controlled when TypeC/USBPD port integrated.

Access: Read, WriteValid values:- 1: enabled- 0: disabled

/sys/class/power_supply/rt9471-*/sysoff_enable

Defined on filesysfs-class-power-rt9471

This entry allows enabling the sysoff mode of rt9471 charger devices.If enabled and the input is removed, the internal battery FET is turnedoff to reduce the leakage from the BAT pin. See device datasheet for details.It’s commonly used when the product enter shipping stage. After enteringshipping mode, only ‘VBUS’ or ‘Power key” pressed can make it leave thismode. ‘Disable’ also can help to leave it, but it’s more like to abortthe action before the device really enter shipping mode.

Access: Read, WriteValid values:- 1: enabled- 0: disabled

/sys/class/power_supply/rt9756-*/operation_mode

Defined on filesysfs-class-power-rt9756

This entry shows and set the operation mode when rt9756 chargeroperates in charging phase. If ‘bypass’ mode is used, internalpath will connect vbus directly to vbat. Else, default ‘div2’mode for the switch-cap charging.

Access: Read, Write

Valid values:- ‘bypass’ or ‘div2’

/sys/class/power_supply/rt9756-*/watchdog_timer

Defined on filesysfs-class-power-rt9756

This entry shows and sets the watchdog timer when rt9756 chargeroperates in charging mode. When the timer expires, the devicewill disable the charging. To prevent the timer expires, anyhost communication can make the timer restarted.

Access: Read, Write

Valid values:- 500, 1000, 5000, 30000, 40000, 80000, 128000 or 255000 (milliseconds),- 0: disabled

/sys/class/power_supply/twl4030_ac/mode

Defined on filesysfs-class-power-twl4030

Changing mode for ‘ac’ port.Writing to this can disable charging.

Possible values are:

“auto”

draw power as appropriate for detectedpower source and battery status.

“off”

do not draw any power.

/sys/class/power_supply/twl4030_usb/mode

Defined on filesysfs-class-power-twl4030

Changing mode for USB port.Writing to this can disable charging.

Possible values are:

“auto”

draw power as appropriate for detectedpower source and battery status.

“off”

do not draw any power.

“continuous”

activate mode described as “linear” inTWL data sheets. This uses whatevercurrent is available and doesn’t switch offwhen voltage drops.

This is useful for unstable power sourcessuch as bicycle dynamo, but care shouldbe taken that battery is not over-charged.

/sys/class/power_supply/wilco-charger/charge_control_end_threshold

Defined on filesysfs-class-power-wilco

Used when charge_type=”Custom”, as described above. Measured inpercentages. The valid range is [55, 100].

/sys/class/power_supply/wilco-charger/charge_control_start_threshold

Defined on filesysfs-class-power-wilco

Used when charge_type=”Custom”, as described above. Measured inpercentages. The valid range is [50, 95].

/sys/class/power_supply/wilco-charger/charge_type

Defined on filesysfs-class-power-wilco

What charging algorithm to use:

Standard:

Fully charges battery at a standard rate.

Adaptive:

Battery settings adaptively optimized based ontypical battery usage pattern.

Fast:

Battery charges over a shorter period.

Trickle:

Extends battery lifespan, intended for users whoprimarily use their Chromebook while connected to AC.

Custom:

A low and high threshold percentage is specified.Charging begins when level drops belowcharge_control_start_threshold, and ceases whenlevel is above charge_control_end_threshold.

Long Life:

Customized charge rate for last longer battery life.On Wilco device this mode is pre-configured in the factorythrough EC’s private PID. Switching to a different mode willbe denied by Wilco EC when Long Life mode is enabled.

/sys/class/powercap/

Defined on filesysfs-class-powercap

The powercap/ class sub directory belongs to the power capsubsystem. Refer toPower Capping Framework for details.

/sys/class/powercap/.../<power zone>/constraint_X_max_time_window_us

Defined on filesysfs-class-powercap

Maximum allowed time window in micro seconds for thisconstraint. Here “X” can have values from 0 to max integer.

/sys/class/powercap/.../<power zone>/constraint_X_min_time_window_us

Defined on filesysfs-class-powercap

Minimum allowed time window in micro seconds for thisconstraint. Here “X” can have values from 0 to max integer.

/sys/class/powercap/.../<power zone>/constraint_X_name

Defined on filesysfs-class-powercap

Each power zone can define one or more constraints. Eachconstraint can have an optional name. Here “X” can have valuesfrom 0 to max integer.

/sys/class/powercap/.../<power zone>/constraint_X_power_limit_uw

Defined on filesysfs-class-powercap

Power limit in micro-watts should be applicable forthe time window specified by “constraint_X_time_window_us”.Here “X” can have values from 0 to max integer.

/sys/class/powercap/.../<power zone>/constraint_X_time_window_us

Defined on filesysfs-class-powercap

Time window in micro seconds. This is used along withconstraint_X_power_limit_uw to define a power constraint.Here “X” can have values from 0 to max integer.

/sys/class/powercap/.../<power zone>/enabled

Defined on filesysfs-class-powercap

This allows to enable/disable power capping at power zone level.This applies to current power zone and its children.

/sys/class/powercap/.../<power zone>/energy_uj

Defined on filesysfs-class-powercap

Current energy counter in micro-joules. Write “0” to reset.If the counter can not be reset, then this attribute isread-only.

/sys/class/powercap/.../<power zone>/max_energy_range_uj

Defined on filesysfs-class-powercap

Range of the above energy counter in micro-joules.

/sys/class/powercap/.../<power zone>/max_power_range_uw

Defined on filesysfs-class-powercap

Range of the above power value in micro-watts.

/sys/class/powercap/.../<power zone>/name

Defined on filesysfs-class-powercap

Specifies the name of this power zone.

/sys/class/powercap/.../<power zone>/power_uw

Defined on filesysfs-class-powercap

Current power in micro-watts.

/sys/class/powercap/<control type>

Defined on filesysfs-class-powercap

A <control type> is a unique name under /sys/class/powercap.Here <control type> determines how the power is going to becontrolled. A <control type> can contain multiple power zones.

/sys/class/powercap/<control type>/.../constraint_X_max_power_uw

Defined on filesysfs-class-powercap

Maximum allowed power in micro watts for this constraint.Here “X” can have values from 0 to max integer.

/sys/class/powercap/<control type>/.../constraint_X_min_power_uw

Defined on filesysfs-class-powercap

Minimum allowed power in micro watts for this constraint.Here “X” can have values from 0 to max integer.

/sys/class/powercap/<control type>/<power zone>

Defined on filesysfs-class-powercap

A power zone is a single or a collection of devices, which canbe independently monitored and controlled. A power zone sysfsentry is qualified with the name of the <control type>.E.g. intel-rapl:0:1:1.

/sys/class/powercap/<control type>/<power zone>/<child power zone>

Defined on filesysfs-class-powercap

Power zones may be organized in a hierarchy in which childpower zones provide monitoring and control for a subset ofdevices under the parent. For example, if there is a parentpower zone for a whole CPU package, each CPU core in it canbe a child power zone.

/sys/class/powercap/<control type>/enabled

Defined on filesysfs-class-powercap

This allows to enable/disable power capping for a “control type”.This status affects every power zone using this “control_type.

/sys/class/pps-gen/

Defined on filesysfs-pps-gen

The /sys/class/pps-gen/ directory contains files anddirectories that provide a unified interface to the PPSgenerators.

/sys/class/pps-gen/pps-genX/

Defined on filesysfs-pps-gen

The /sys/class/pps-gen/pps-genX/ directory is related to X-thPPS generator in the system. Each directory contain files tomanage and control its PPS generator.

/sys/class/pps-gen/pps-genX/enable

Defined on filesysfs-pps-gen

This write-only file enables or disables generation of thePPS signal.

/sys/class/pps-gen/pps-genX/system

Defined on filesysfs-pps-gen

This read-only file returns “1” if the generator takes thetiming from the system clock, while it returns “0” if not(i.e. from a peripheral device clock).

/sys/class/pps-gen/pps-genX/time

Defined on filesysfs-pps-gen

This read-only file contains the current time stored into thegenerator clock as two integers representing the current timeseconds and nanoseconds.

/sys/class/pps-gen/pps-genx/enable

Defined on filesysfs-pps-gen-tio

Enable or disable PPS TIO generator output.

/sys/class/pps/

Defined on filesysfs-pps

The /sys/class/pps/ directory will contain files anddirectories that will provide a unified interface tothe PPS sources.

/sys/class/pps/ppsX/

Defined on filesysfs-pps

The /sys/class/pps/ppsX/ directory is related to X-thPPS source into the system. Each directory willcontain files to manage and control its PPS source.

/sys/class/pps/ppsX/assert

Defined on filesysfs-pps

The /sys/class/pps/ppsX/assert file reports the assert eventsand 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 fileis empty.

/sys/class/pps/ppsX/clear

Defined on filesysfs-pps

The /sys/class/pps/ppsX/clear file reports the clear eventsand 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 fileis empty.

/sys/class/pps/ppsX/echo

Defined on filesysfs-pps

The /sys/class/pps/ppsX/echo file reports if the X-th doesor does not support an “echo” function.

/sys/class/pps/ppsX/mode

Defined on filesysfs-pps

The /sys/class/pps/ppsX/mode file reports the functioningmode of the X-th source in hexadecimal encoding.

Please, refer to linux/include/linux/pps.h for furtherinfo.

/sys/class/pps/ppsX/name

Defined on filesysfs-pps

The /sys/class/pps/ppsX/name file reports the name of theX-th source.

/sys/class/pps/ppsX/path

Defined on filesysfs-pps

The /sys/class/pps/ppsX/path file reports the path name ofthe device connected with the X-th source.

If the source is not connected with any device the contentof this file is empty.

/sys/class/ptp/

Defined on filesysfs-ptp

This directory contains files and directoriesproviding a standardized interface to the ancillaryfeatures of PTP hardware clocks.

/sys/class/ptp/ptp<N>/

Defined on filesysfs-ptp

This directory contains the attributes of the Nth PTPhardware clock registered into the PTP class driversubsystem.

/sys/class/ptp/ptp<N>/clock_name

Defined on filesysfs-ptp

This file contains the name of the PTP hardware clockas a human readable string. The purpose of thisattribute is to provide the user with a “friendlyname” and to help distinguish PHY based devices fromMAC based ones. The string does not necessarily haveto be any kind of unique id.

/sys/class/ptp/ptp<N>/extts_enable

Defined on filesysfs-ptp

This write-only file enables or disables externaltimestamps. To enable external timestamps, write thechannel index followed by a “1” into the file.To disable external timestamps, write the channelindex followed by a “0” into the file.

/sys/class/ptp/ptp<N>/fifo

Defined on filesysfs-ptp

This file provides timestamps on external events, inthe form of three integers: channel index, seconds,and nanoseconds.

/sys/class/ptp/ptp<N>/max_adjustment

Defined on filesysfs-ptp

This file contains the PTP hardware clock’s maximumfrequency adjustment value (a positive integer) inparts per billion.

/sys/class/ptp/ptp<N>/max_vclocks

Defined on filesysfs-ptp

This file contains the maximum number of ptp vclocks.Write integer to re-configure it.

/sys/class/ptp/ptp<N>/n_alarms

Defined on filesysfs-ptp

This file contains the number of periodic or one shotalarms offer by the PTP hardware clock.

/sys/class/ptp/ptp<N>/n_external_timestamps

Defined on filesysfs-ptp

This file contains the number of external timestampchannels offered by the PTP hardware clock.

/sys/class/ptp/ptp<N>/n_periodic_outputs

Defined on filesysfs-ptp

This file contains the number of programmable periodicoutput channels offered by the PTP hardware clock.

/sys/class/ptp/ptp<N>/n_pins

Defined on filesysfs-ptp

This file contains the number of programmable pinsoffered by the PTP hardware clock.

/sys/class/ptp/ptp<N>/n_vclocks

Defined on filesysfs-ptp

This file contains the number of virtual PTP clocks inuse. By default, the value is 0 meaning that only thephysical clock is in use. Setting the value createsthe corresponding number of virtual clocks and causesthe physical clock to become free running. Setting thevalue back to 0 deletes the virtual clocks andswitches the physical clock back to normal, adjustableoperation.

/sys/class/ptp/ptp<N>/period

Defined on filesysfs-ptp

This write-only file enables or disables periodicoutputs. To enable a periodic output, write fiveintegers into the file: channel index, start timeseconds, start time nanoseconds, period seconds, andperiod nanoseconds. To disable a periodic output, setall the seconds and nanoseconds values to zero.

/sys/class/ptp/ptp<N>/pins

Defined on filesysfs-ptp

This directory contains one file for each programmablepin offered by the PTP hardware clock. The file nameis the hardware dependent pin name. Reading from thisfile produces two numbers, the assigned function (seethePTP_PF_ enumeration values in linux/ptp_clock.h)and the channel number. The function and channelassignment may be changed by two writing numbers intothe file.

/sys/class/ptp/ptp<N>/pps_available

Defined on filesysfs-ptp

This file indicates whether the PTP hardware clocksupports a Pulse Per Second to the host CPU. Reading“1” means that the PPS is supported, while “0” meansnot supported.

/sys/class/ptp/ptp<N>/pps_enable

Defined on filesysfs-ptp

This write-only file enables or disables delivery ofPPS events to the Linux PPS subsystem. To enable PPSevents, write a “1” into the file. To disable events,write a “0” into the file.

/sys/class/pwm/

Defined on filesysfs-class-pwm

The pwm/ class sub-directory belongs to the Generic PWMFramework and provides a sysfs interface for using PWMchannels.

/sys/class/pwm/pwmchip<N>/

Defined on filesysfs-class-pwm

A /sys/class/pwm/pwmchipN directory is created for eachprobed PWM controller/chip where N is the base of thePWM chip.

/sys/class/pwm/pwmchip<N>/export

Defined on filesysfs-class-pwm

Exports a PWM channel from the PWM chip for sysfs control.Value is between 0 and /sys/class/pwm/pwmchipN/npwm - 1.

/sys/class/pwm/pwmchip<N>/npwm

Defined on filesysfs-class-pwm

The number of PWM channels supported by the PWM chip.

/sys/class/pwm/pwmchip<N>/pwmX

Defined on filesysfs-class-pwm

A /sys/class/pwm/pwmchipN/pwmX directory is created foreach exported PWM channel where X is the exported PWMchannel number.

/sys/class/pwm/pwmchip<N>/pwmX/capture

Defined on filesysfs-class-pwm

Capture information about a PWM signal. The output format is apair unsigned integers (period and duty cycle), separated by asingle space.

/sys/class/pwm/pwmchip<N>/pwmX/duty_cycle

Defined on filesysfs-class-pwm

Sets the PWM signal duty cycle in nanoseconds.

/sys/class/pwm/pwmchip<N>/pwmX/enable

Defined on filesysfs-class-pwm

Enable/disable the PWM signal.0 is disabled1 is enabled

/sys/class/pwm/pwmchip<N>/pwmX/period

Defined on filesysfs-class-pwm

Sets the PWM signal period in nanoseconds.

/sys/class/pwm/pwmchip<N>/pwmX/polarity

Defined on filesysfs-class-pwm

Sets the output polarity of the PWM signal to “normal” or“inversed”.

/sys/class/pwm/pwmchip<N>/unexport

Defined on filesysfs-class-pwm

Unexports a PWM channel.

/sys/class/rapidio_port

Defined on filesysfs-class-rapidio

On-chip RapidIO controllers and PCIe-to-RapidIO bridges(referenced as “Master Port” or “mport”) are presented in sysfsas the special class of devices: “rapidio_port”.The /sys/class/rapidio_port subdirectory contains individualsubdirectories named as “rapidioN” where N = mport ID registeredwith RapidIO subsystem.

NOTE: An mport ID is not a RapidIO destination ID assigned to agiven local mport device.

/sys/class/rapidio_port/rapidio<N>/port_destid

Defined on filesysfs-class-rapidio

(RO) reports RapidIO destination ID assigned to the givenRapidIO mport device. If value 0xFFFFFFFF is returned this meansthat no valid destination ID have been assigned to the mport(yet). Normally, before enumeration/discovery have been executedonly fabric enumerating mports have a valid destination IDassigned 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 eachchild RapidIO device connected to the mport.

The example below shows mport device subdirectory with several child RapidIOdevices attached to it:

[rio@rapidio ~]$ ls /sys/class/rapidio_port/rapidio0/ -ltotal 0drwxr-xr-x 3 root root    0 Feb 11 15:10 00:e:0001drwxr-xr-x 3 root root    0 Feb 11 15:10 00:e:0004drwxr-xr-x 3 root root    0 Feb 11 15:10 00:e:0007drwxr-xr-x 3 root root    0 Feb 11 15:10 00:s:0002drwxr-xr-x 3 root root    0 Feb 11 15:10 00:s:0003drwxr-xr-x 3 root root    0 Feb 11 15:10 00:s:0005lrwxrwxrwx 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_destiddrwxr-xr-x 2 root root    0 Feb 11 15:11 powerlrwxrwxrwx 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

/sys/class/rapidio_port/rapidio<N>/sys_size

Defined on filesysfs-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).

/sys/class/rc/

Defined on filesysfs-class-rc

The rc/ class sub-directory belongs to the Remote Controllercore and provides a sysfs interface for configuring infraredremote controller receivers.

/sys/class/rc/rc<N>/

Defined on filesysfs-class-rc

A /sys/class/rc/rcN directory is created for each remotecontrol receiver device where N is the number of the receiver.

/sys/class/rc/rc<N>/filter

Defined on filesysfs-class-rc

Sets the scancode filter expected value.

Use in combination with /sys/class/rc/rcN/filter_mask to set theexpected value of the bits set in the filter mask.If the hardware supports it then scancodes which do not matchthe filter will be ignored. Otherwise the write will fail withan error.

This value may be reset to 0 if the current protocol is altered.

/sys/class/rc/rc<N>/filter_mask

Defined on filesysfs-class-rc

Sets the scancode filter mask of bits to compare.Use in combination with /sys/class/rc/rcN/filter to set the bitsof the scancode which should be compared against the expectedvalue. A value of 0 disables the filter to allow all validscancodes to be processed.

If the hardware supports it then scancodes which do not matchthe filter will be ignored. Otherwise the write will fail withan error.

This value may be reset to 0 if the current protocol is altered.

/sys/class/rc/rc<N>/protocols

Defined on filesysfs-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 enabledprotocols.

Writing “-proto” will remove a protocol from the list of enabledprotocols.

Writing “proto” will enable only “proto”.

Writing “none” will disable all protocols.

Write fails with EINVAL if an invalid protocol combination orunknown protocol name is used.

/sys/class/rc/rc<N>/wakeup_data

Defined on filesysfs-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 sequencein the Nuvoton chip by writing to this file.

Note: Some systems reset the stored wakeup sequence to afactory default on each boot. On such systems store thewakeup sequence in a file and set it on boot using e.g.a udev rule.

/sys/class/rc/rc<N>/wakeup_filter

Defined on filesysfs-class-rc

Sets the scancode wakeup filter expected value.

Use in combination with /sys/class/rc/rcN/wakeup_filter_mask toset the expected value of the bits set in the wakeup filter maskto trigger a system wake event.

If the hardware supports it and wakeup_filter_mask is not 0 thenscancodes 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.

/sys/class/rc/rc<N>/wakeup_filter_mask

Defined on filesysfs-class-rc

Sets the scancode wakeup filter mask of bits to compare.

Use in combination with /sys/class/rc/rcN/wakeup_filter to setthe bits of the scancode which should be compared against theexpected value to trigger a system wake event.

If the hardware supports it and wakeup_filter_mask is not 0 thenscancodes 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.

/sys/class/rc/rc<N>/wakeup_protocols

Defined on filesysfs-class-rc

Reading this file returns a list of available protocols to usefor 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 encodingslisted 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 orunknown protocol name is used, or if wakeup is not supported bythe hardware.

/sys/class/regulator/.../bypass

Defined on filesysfs-class-regulator

Some regulator directories will contain a field calledbypass. 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, orthe reported state is invalid.

/sys/class/regulator/.../fail

Defined on filesysfs-class-regulator

Some regulator directories will contain a field calledfail. This indicates if the device reports an output failure(1) or not (0).

/sys/class/regulator/.../max_microamps

Defined on filesysfs-class-regulator

Some regulator directories will contain a field calledmax_microamps. This holds the maximum safe working regulatoroutput current limit setting for this domain measured inmicroamps, for regulators which support current constraints.

NOTE: this will return the string ‘constraint not defined’ ifthe power domain has no max microamps constraint defined byplatform code.

/sys/class/regulator/.../max_microvolts

Defined on filesysfs-class-regulator

Some regulator directories will contain a field calledmax_microvolts. This holds the maximum safe working regulatoroutput voltage setting for this domain measured in microvolts,for regulators which support voltage constraints.

NOTE: this will return the string ‘constraint not defined’ ifthe power domain has no max microvolts constraint defined byplatform code.

/sys/class/regulator/.../microamps

Defined on filesysfs-class-regulator

Some regulator directories will contain a field calledmicroamps. This holds the regulator output current limitsetting measured in microamps (i.e. E-6 Amps), for regulatorswhich can report the control input for a current limit.

NOTE: This value should not be used to determine the regulatoroutput current level as this value is the same regardless ofwhether the regulator is enabled or disabled.

/sys/class/regulator/.../microvolts

Defined on filesysfs-class-regulator

Some regulator directories will contain a field calledmicrovolts. This holds the regulator output voltage settingmeasured in microvolts (i.e. E-6 Volts), for regulatorswhich can report the control input for voltage.

NOTE: This value should not be used to determine the regulatoroutput voltage level as this value is the same regardless ofwhether the regulator is enabled or disabled.

/sys/class/regulator/.../min_microamps

Defined on filesysfs-class-regulator

Some regulator directories will contain a field calledmin_microamps. This holds the minimum safe working regulatoroutput current limit setting for this domain measured inmicroamps, for regulators which support current constraints.

NOTE: this will return the string ‘constraint not defined’ ifthe power domain has no min microamps constraint defined byplatform code.

/sys/class/regulator/.../min_microvolts

Defined on filesysfs-class-regulator

Some regulator directories will contain a field calledmin_microvolts. This holds the minimum safe working regulatoroutput voltage setting for this domain measured in microvolts,for regulators which support voltage constraints.

NOTE: this will return the string ‘constraint not defined’ ifthe power domain has no min microvolts constraint defined byplatform code.

/sys/class/regulator/.../name

Defined on filesysfs-class-regulator

Each regulator directory will contain a field calledname. This holds a string identifying the regulator fordisplay purposes.

NOTE: this will be empty if no suitable name is providedby platform or regulator drivers.

/sys/class/regulator/.../num_users

Defined on filesysfs-class-regulator

Each regulator directory will contain a field callednum_users. This holds the number of consumer devices thathave calledregulator_enable() on this regulator.

/sys/class/regulator/.../opmode

Defined on filesysfs-class-regulator

Some regulator directories will contain a field calledopmode. 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 regulatoroutput operating mode as this value is the same regardless ofwhether the regulator is enabled or disabled. A “status”attribute may be available to determine the actual mode.

/sys/class/regulator/.../over_current

Defined on filesysfs-class-regulator

Some regulator directories will contain a field calledover_current. This indicates if the device reports anover-current fault (1) or not (0).

/sys/class/regulator/.../over_current_warn

Defined on filesysfs-class-regulator

Some regulator directories will contain a field calledover_current_warn. This indicates if the device reports anover-current warning (1) or not (0).

/sys/class/regulator/.../over_temp

Defined on filesysfs-class-regulator

Some regulator directories will contain a field calledover_temp. This indicates if the device reports anover-temperature fault (1) or not (0).

/sys/class/regulator/.../over_temp_warn

Defined on filesysfs-class-regulator

Some regulator directories will contain a field calledover_temp_warn. This indicates if the device reports anover-temperature warning (1) or not (0).

/sys/class/regulator/.../over_voltage_warn

Defined on filesysfs-class-regulator

Some regulator directories will contain a field calledover_voltage_warn. This indicates if the device reports anover-voltage warning (1) or not (0).

/sys/class/regulator/.../parent

Defined on filesysfs-class-regulator

Some regulator directories will contain a link called parent.This points to the parent or supply regulator if one exists.

/sys/class/regulator/.../regulation_out

Defined on filesysfs-class-regulator

Some regulator directories will contain a field calledregulation_out. This indicates if the device reports anout-of-regulation fault (1) or not (0).

/sys/class/regulator/.../requested_microamps

Defined on filesysfs-class-regulator

Some regulator directories will contain a field calledrequested_microamps. This holds the total requested loadcurrent in microamps for this regulator from all its consumerdevices.

/sys/class/regulator/.../state

Defined on filesysfs-class-regulator

Some regulator directories will contain a field calledstate. This reports the regulator enable control, forregulators 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 supplyingpower to the system (assuming no error prevents it).

‘disabled’ means the regulator output is OFF and is notsupplying power to the system (unless some non-Linuxcontrol has enabled it).

‘unknown’ means software cannot determine the state, orthe reported state is invalid.

NOTE: this field can be used in conjunction with microvoltsor microamps to determine configured regulator output levels.

/sys/class/regulator/.../status

Defined on filesysfs-class-regulator

Some regulator directories will contain a field called“status”. This reports the current regulator status, forregulators 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 thesystem.

“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 beingdisabled due to thermal shutdown, or voltage being unstablebecause of problems with the input power supply.

“fast”, “normal”, “idle”, and “standby” are all detailedregulator operation modes (described elsewhere). Theyimply “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; ora regulator may be enabled by another user, even thoughLinux did not enable it.

/sys/class/regulator/.../suspend_disk_microvolts

Defined on filesysfs-class-regulator

Some regulator directories will contain a field calledsuspend_disk_microvolts. This holds the regulator outputvoltage setting for this domain measured in microvolts whenthe system is suspended to disk, for voltage regulatorsimplementing suspend voltage configuration constraints.

/sys/class/regulator/.../suspend_disk_mode

Defined on filesysfs-class-regulator

Some regulator directories will contain a field calledsuspend_disk_mode. This holds the regulator operating modesetting for this domain when the system is suspended to disk,for regulators implementing suspend mode configurationconstraints.

/sys/class/regulator/.../suspend_disk_state

Defined on filesysfs-class-regulator

Some regulator directories will contain a field calledsuspend_disk_state. This holds the regulator operating statewhen suspended to disk, for regulators implementingsuspend configuration constraints.

This will be one of the same strings reported bythe “state” attribute.

/sys/class/regulator/.../suspend_mem_microvolts

Defined on filesysfs-class-regulator

Some regulator directories will contain a field calledsuspend_mem_microvolts. This holds the regulator outputvoltage setting for this domain measured in microvolts whenthe system is suspended to memory, for voltage regulatorsimplementing suspend voltage configuration constraints.

/sys/class/regulator/.../suspend_mem_mode

Defined on filesysfs-class-regulator

Some regulator directories will contain a field calledsuspend_mem_mode. This holds the regulator operating modesetting for this domain when the system is suspended tomemory, for regulators implementing suspend modeconfiguration constraints.

/sys/class/regulator/.../suspend_mem_state

Defined on filesysfs-class-regulator

Some regulator directories will contain a field calledsuspend_mem_state. This holds the regulator operating statewhen suspended to memory, for regulators implementing suspendconfiguration constraints.

This will be one of the same strings reported bythe “state” attribute.

/sys/class/regulator/.../suspend_standby_microvolts

Defined on filesysfs-class-regulator

Some regulator directories will contain a field calledsuspend_standby_microvolts. This holds the regulator outputvoltage setting for this domain measured in microvolts whenthe system is suspended to standby, for voltage regulatorsimplementing suspend voltage configuration constraints.

/sys/class/regulator/.../suspend_standby_mode

Defined on filesysfs-class-regulator

Some regulator directories will contain a field calledsuspend_standby_mode. This holds the regulator operating modesetting for this domain when the system is suspended tostandby, for regulators implementing suspend modeconfiguration constraints.

/sys/class/regulator/.../suspend_standby_state

Defined on filesysfs-class-regulator

Some regulator directories will contain a field calledsuspend_standby_state. This holds the regulator operatingstate when suspended to standby, for regulators implementingsuspend configuration constraints.

This will be one of the same strings reported bythe “state” attribute.

/sys/class/regulator/.../type

Defined on filesysfs-class-regulator

Each regulator directory will contain a field calledtype. This holds the regulator type.

This will be one of the following strings:

  • ‘voltage’

  • ‘current’

  • ‘unknown’

‘voltage’ means the regulator output voltage can be controlledby software.

‘current’ means the regulator output current limit can becontrolled by software.

‘unknown’ means software cannot control either voltage orcurrent limit.

/sys/class/regulator/.../under_voltage

Defined on filesysfs-class-regulator

Some regulator directories will contain a field calledunder_voltage. This indicates if the device reports anunder-voltage fault (1) or not (0).

/sys/class/regulator/.../under_voltage_warn

Defined on filesysfs-class-regulator

Some regulator directories will contain a field calledunder_voltage_warn. This indicates if the device reports anunder-voltage warning (1) or not (0).

/sys/class/remoteproc/.../coredump

Defined on filesysfs-class-remoteproc

Remote processor coredump configuration

Reports the coredump configuration of the remote processor,which will be one of:

“disabled”“enabled”“inline”

“disabled” means no dump will be collected.

“enabled” means when the remote processor’s coredump iscollected it will be copied to a separate buffer and thatbuffer is exposed to userspace.

“inline” means when the remote processor’s coredump iscollected userspace will directly read from the remoteprocessor’s device memory. Extra buffer will not be used tocopy the dump. Also recovery process will not proceed untilall data is read by userspace.

/sys/class/remoteproc/.../firmware

Defined on filesysfs-class-remoteproc

Remote processor firmware

Reports the name of the firmware currently loaded to theremote processor.

To change the running firmware, ensure the remote processor isstopped (using /sys/class/remoteproc/.../state) and write a new filename.

/sys/class/remoteproc/.../name

Defined on filesysfs-class-remoteproc

Remote processor name

Reports the name of the remote processor. This can be used byuserspace in exactly identifying a remote processor and easeup the usage in modifying the ‘firmware’ or ‘state’ files.

/sys/class/remoteproc/.../recovery

Defined on filesysfs-class-remoteproc

Remote processor recovery mechanism

Reports the recovery mechanism of the remote processor,which will be one of:

“enabled”“disabled”

“enabled” means, the remote processor will be automaticallyrecovered whenever it crashes. Moreover, if the remoteprocessor crashes while recovery is disabled, it willbe automatically recovered too as soon as recovery is enabled.

“disabled” means, a remote processor will remain in a crashedstate if it crashes. This is useful for debugging purposes;without it, debugging a crash is substantially harder.

/sys/class/remoteproc/.../state

Defined on filesysfs-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 andmust be woken to receive messages.

“running” is the normal state of an available remote processor

“crashed” indicates that a problem/crash has been detected onthe remote processor.

“invalid” is returned if the remote processor is in anunknown 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 thefirmware indicated by, or written to,/sys/class/remoteproc/.../firmware. The remote processor shouldtransition to “running” state.

Writing “stop” will attempt to halt the remote processor andreturn it to the “offline” state.

/sys/class/rnbd-client

Defined on filesysfs-class-rnbd-client

Provide information about RNBD-client.All sysfs files that are not read-only provide the usage information on read:

Example:

# cat /sys/class/rnbd-client/ctl/map_device> Usage: echo "sessname=<name of the rtrs session> path=<[srcaddr,]dstaddr>> [path=<[srcaddr,]dstaddr>] device_path=<full path on remote side>> [access_mode=<ro|rw|migration>] > map_device>> addr ::= [ ip:<ipv4> | ip:<ipv6> | gid:<gid> ]

/sys/class/rnbd-client/ctl/devices/

Defined on filesysfs-class-rnbd-client

For each device mapped on the client a new symbolic link is created as/sys/class/rnbd-client/ctl/devices/<device_id>@<session_name>, which pointsto the block device created by rnbd (/sys/block/rnbd<N>/).The <device_id> of each device is created as follows:

  • If the ‘device_path’ provided during mapping contains slashes (“/”),they are replaced by exclamation mark (“!”) and used as as the<device_id>. Otherwise, the <device_id> will be the same as the“device_path” provided.

/sys/class/rnbd-client/ctl/map_device

Defined on filesysfs-class-rnbd-client

Expected format is the following:

sessname=<name of the rtrs session>path=<[srcaddr,]dstaddr> [path=<[srcaddr,]dstaddr> ...]device_path=<full path on remote side>[access_mode=<ro|rw|migration>]

Where:

sessname:

accepts a string not bigger than 256 chars, which identifiesa given session on the client and on the server.I.e. “clt_hostname-srv_hostname” could be a natural choice.

path:

describes a connection between the client and the server byspecifying destination and, when required, the source address.The addresses are to be provided in the following format:

ip:<IPv6>ip:<IPv4>gid:<GID>

for example:

path=ip:10.0.0.66

The single addr is treated as the destination.The connection will be established to this server from any client IP address.

path=ip:10.0.0.66,ip:10.0.1.66

First addr is the source address and the second is the destination.

If multiple “path=” options are specified multiple connectionwill be established and data will be sent according tothe selected multipath policy (see RTRS mp_policy sysfs entry description).

device_path:

Path to the block device on the server side. Path is specifiedrelative to the directory on server side configured in the‘dev_search_path’ module parameter of the rnbd_server.The rnbd_server prepends the <device_path> received from clientwith <dev_search_path> and tries to open the<dev_search_path>/<device_path> block device. On success,a /dev/rnbd<N> device file, a /sys/block/rnbd<N>/directory and an entry in /sys/class/rnbd-client/ctl/deviceswill be created.

If ‘dev_search_path’ contains ‘%SESSNAME%’, then each session canhave different devices namespace, e.g. server was configured withthe following parameter “dev_search_path=/run/rnbd-devs/%SESSNAME%”,client has this string “sessname=blya device_path=sda”, then serverwill try to open: /run/rnbd-devs/blya/sda.

access_mode:

the access_mode parameter specifies if the device is to bemapped as “ro” read-only or “rw” read-write. The server allowsa device to be exported in rw mode only once. The “migration”access mode has to be specified if a second mapping in read-writemode is desired.

By default “rw” is used.

nr_poll_queues

specifies the number of poll-mode queues. If the IO has HIPRI flag,the block-layer will send the IO via the poll-mode queue.For fast network and device the polling is faster than interrupt-baseIO handling because it saves time for context switching, switching toanother process, handling the interrupt and switching back to theissuing process.

Set -1 if you want to set it as the number of CPUsBy default rnbd client creates only irq-mode queues.

NOTICE: MUST make a unique session for a device using the poll-mode queues.

Exit Codes:

If the device is already mapped it will fail with EEXIST. If the inputhas an invalid format it will return EINVAL. If the device path cannotbe found on the server, it will fail with ENOENT.

Finding device file after mapping

After mapping, the device file can be found by:o The symlink /sys/class/rnbd-client/ctl/devices/<device_id>@<session_name>points to /sys/block/<dev-name>. The last part of the symlink destinationis the same as the device name. By extracting the last part of thepath the path to the device /dev/<dev-name> can be build.

  • /dev/block/$(cat /sys/class/rnbd-client/ctl/devices/<device_id>@<session_name>/dev)

How to find the <device_id> of the device is described on the nextsection.

/sys/class/rnbd-server

Defined on filesysfs-class-rnbd-server

provide information about RNBD-server.

/sys/class/rnbd-server/ctl/

Defined on filesysfs-class-rnbd-server

When a client maps a device, a directory entry with the name of theblock device is created under /sys/class/rnbd-server/ctl/devices/.

/sys/class/rnbd-server/ctl/devices/<device_name>/block_dev

Defined on filesysfs-class-rnbd-server

Is a symlink to the sysfs entry of the exported device.

Example:block_dev -> ../../../../class/block/ram0

/sys/class/rnbd-server/ctl/devices/<device_name>/sessions/

Defined on filesysfs-class-rnbd-server

For each client a particular device is exported to, following directory will becreated:

/sys/class/rnbd-server/ctl/devices/<device_name>/sessions/<session-name>/

When the device is unmapped by that client, the directory will be removed.

/sys/class/rnbd-server/ctl/devices/<device_name>/sessions/<session-name>/access_mode

Defined on filesysfs-class-rnbd-server

Contains the device access mode: ro, rw or migration.

/sys/class/rnbd-server/ctl/devices/<device_name>/sessions/<session-name>/force_close

Defined on filesysfs-class-rnbd-server

Write “1” to the file to close the device on server side. Pleasenote that the client side device will not be closed, read orwrite to the device will get -ENOTCONN.

/sys/class/rnbd-server/ctl/devices/<device_name>/sessions/<session-name>/mapping_path

Defined on filesysfs-class-rnbd-server

Contains the relative device path provided by the user during mapping.

/sys/class/rnbd-server/ctl/devices/<device_name>/sessions/<session-name>/read_only

Defined on filesysfs-class-rnbd-server

Contains ‘1’ if device is mapped read-only, otherwise ‘0’.

/sys/class/rtc/

Defined on filesysfs-class-rtc

The rtc/ class subdirectory belongs to the RTC subsystem.

/sys/class/rtc/rtc0/device/rtc_calibration

Defined on filesysfs-class-rtc-rtc0-device-rtc_calibration

Attribute for calibrating ST-Ericsson AB8500 Real Time ClockThe rtc_calibration attribute allows the userspace tocalibrate the AB8500.s 32KHz Real Time Clock.Every 60 seconds the AB8500 will correct the RTC’s valueby adding to it the value of this attribute.

The range of the attribute is -127 to +127 in units of30.5 micro-seconds (half-parts-per-million of the 32KHz clock)

Users:

The /vendor/st-ericsson/base_utilities/core/rtc_calibrationdaemon uses this interface.

/sys/class/rtc/rtcX/

Defined on filesysfs-class-rtc

The /sys/class/rtc/rtc{0,1,2,3,...} directories correspondto each RTC device.

/sys/class/rtc/rtcX/date

Defined on filesysfs-class-rtc

(RO) RTC-provided date in YYYY-MM-DD format

/sys/class/rtc/rtcX/hctosys

Defined on filesysfs-class-rtc

(RO) 1 if the RTC provided the system time at boot via theCONFIG_RTC_HCTOSYS kernel option, 0 otherwise

/sys/class/rtc/rtcX/max_user_freq

Defined on filesysfs-class-rtc

(RW) The maximum interrupt rate an unprivileged user may requestfrom this RTC.

/sys/class/rtc/rtcX/name

Defined on filesysfs-class-rtc

(RO) The name of the RTC corresponding to this sysfs directory

/sys/class/rtc/rtcX/offset

Defined on filesysfs-class-rtc

(RW) The amount which the rtc clock has been adjusted infirmware. Visible only if the driver supports clock offsetadjustment. The unit is parts per billion, i.e. The number ofclock ticks which are added to or removed from the rtc’s baseclock per billion ticks. A positive value makes a day pass moreslowly, longer, and a negative value makes a day pass morequickly.

/sys/class/rtc/rtcX/range

Defined on filesysfs-class-rtc

Valid time range for the RTC, as seconds from epoch, formattedas [min, max]

/sys/class/rtc/rtcX/since_epoch

Defined on filesysfs-class-rtc

(RO) RTC-provided time as the number of seconds since the epoch

/sys/class/rtc/rtcX/time

Defined on filesysfs-class-rtc

(RO) RTC-provided time in 24-hour notation (hh:mm:ss)

/sys/class/rtc/rtcX/wakealarm

Defined on filesysfs-class-rtc

(RW) The time at which the clock will generate a system wakeupevent. This is a one shot wakeup event, so must be reset afterwake if a daily wakeup is required. Format is seconds since theepoch by default, or if there’s a leading +, seconds in thefuture, or if there is a leading +=, seconds ahead of thecurrent alarm.

/sys/class/rtrs-client

Defined on filesysfs-class-rtrs-client

When a user of RTRS API creates a new session, a directory entry withthe name of that session is created under /sys/class/rtrs-client/<session-name>/

/sys/class/rtrs-client/<session-name>/add_path

Defined on filesysfs-class-rtrs-client

RW, adds a new path (connection) to an existing session. Expected format is thefollowing:

<[source addr,]destination addr>*addr ::= [ ip:<ipv4|ipv6> | gid:<gid> ]

/sys/class/rtrs-client/<session-name>/max_reconnect_attempts

Defined on filesysfs-class-rtrs-client

Maximum number reconnect attempts the client should make before giving upafter connection breaks unexpectedly.

/sys/class/rtrs-client/<session-name>/mp_policy

Defined on filesysfs-class-rtrs-client

Multipath policy specifies which path should be selected on each IO:

round-robin (0):

select path in per CPU round-robin manner.

min-inflight (1):

select path with minimum inflights.

min-latency (2):

select path with minimum latency.

/sys/class/rtrs-client/<session-name>/paths/

Defined on filesysfs-class-rtrs-client

Each path belonging to a given session is listed here by its source anddestination address. When a new path is added to a session by writing tothe “add_path” entry, a directory <src@dst> is created.

/sys/class/rtrs-client/<session-name>/paths/<src@dst>/cur_latency

Defined on filesysfs-class-rtrs-client

RO, Contains the latency time calculated by the heart-beat messages.Whenever the client sends heart-beat message, it checks the time gapbetween sending the heart-beat message and receiving the ACK.This value can be changed regularly.

/sys/class/rtrs-client/<session-name>/paths/<src@dst>/disconnect

Defined on filesysfs-class-rtrs-client

Write “1” to the file in order to disconnect the path.Operation blocks until RTRS path is disconnected.

/sys/class/rtrs-client/<session-name>/paths/<src@dst>/dst_addr

Defined on filesysfs-class-rtrs-client

RO, Contains the destination address of the path

/sys/class/rtrs-client/<session-name>/paths/<src@dst>/hca_name

Defined on filesysfs-class-rtrs-client

RO, Contains the name of HCA the connection established on.

/sys/class/rtrs-client/<session-name>/paths/<src@dst>/hca_port

Defined on filesysfs-class-rtrs-client

RO, Contains the port number of active port traffic is going through.

/sys/class/rtrs-client/<session-name>/paths/<src@dst>/reconnect

Defined on filesysfs-class-rtrs-client

Write “1” to the file in order to reconnect the path.Operation is blocking and returns 0 if reconnect was successful.

/sys/class/rtrs-client/<session-name>/paths/<src@dst>/remove_path

Defined on filesysfs-class-rtrs-client

Write “1” to the file in order to disconnected and remove the pathfrom the session. Operation blocks until the path is disconnectedand removed from the session.

/sys/class/rtrs-client/<session-name>/paths/<src@dst>/src_addr

Defined on filesysfs-class-rtrs-client

RO, Contains the source address of the path

/sys/class/rtrs-client/<session-name>/paths/<src@dst>/state

Defined on filesysfs-class-rtrs-client

RO, Contains “connected” if the session is connected to the peer and fullyfunctional. Otherwise the file contains “disconnected”

/sys/class/rtrs-client/<session-name>/paths/<src@dst>/stats/cpu_migration

Defined on filesysfs-class-rtrs-client

RTRS expects that each HCA IRQ is pinned to a separate CPU. If it’snot the case, the processing of an I/O response could be processed on adifferent CPU than where it was originally submitted. This file showshow many interrupts where generated on a non expected CPU.

“from:”

is the CPU on which the IRQ was expected, but not generated.

“to:”

is the CPU on which the IRQ was generated, but not expected.

/sys/class/rtrs-client/<session-name>/paths/<src@dst>/stats/rdma

Defined on filesysfs-class-rtrs-client

Contains statistics regarding rdma operations and inflight operations.The output consists of 6 values:

<read-count> <read-total-size> <write-count> \<write-total-size> <inflights> <failovered>

/sys/class/rtrs-client/<session-name>/paths/<src@dst>/stats/reconnects

Defined on filesysfs-class-rtrs-client

Contains 2 unsigned int values, the first one records number of successfulreconnects in the path lifetime, the second one records number of failedreconnects in the path lifetime.

/sys/class/rtrs-client/<session-name>/paths/<src@dst>/stats/reset_all

Defined on filesysfs-class-rtrs-client

RW, Read will return usage help, write 0 will clear all the statistics.

/sys/class/rtrs-server

Defined on filesysfs-class-rtrs-server

When a user of RTRS API creates a new session on a client side, adirectory entry with the name of that session is created in here.

/sys/class/rtrs-server/<session-name>/paths/

Defined on filesysfs-class-rtrs-server

When new path is created by writing to “add_path” entry on client side,a directory entry named as <source address>@<destination address> is createdon server.

/sys/class/rtrs-server/<session-name>/paths/<src@dst>/disconnect

Defined on filesysfs-class-rtrs-server

When “1” is written to the file, the RTRS session is being disconnected.Operations is non-blocking and returns control immediately to the caller.

/sys/class/rtrs-server/<session-name>/paths/<src@dst>/dst_addr

Defined on filesysfs-class-rtrs-server

RO, Contains the destination address of the path

/sys/class/rtrs-server/<session-name>/paths/<src@dst>/hca_name

Defined on filesysfs-class-rtrs-server

RO, Contains the name of HCA the connection established on.

/sys/class/rtrs-server/<session-name>/paths/<src@dst>/hca_port

Defined on filesysfs-class-rtrs-server

RO, Contains the port number of active port traffic is going through.

/sys/class/rtrs-server/<session-name>/paths/<src@dst>/src_addr

Defined on filesysfs-class-rtrs-server

RO, Contains the source address of the path

/sys/class/rtrs-server/<session-name>/paths/<src@dst>/stats/rdma

Defined on filesysfs-class-rtrs-server

Contains statistics regarding rdma operations and inflight operations.The output consists of 5 values:<read-count> <read-total-size> <write-count> <write-total-size> <inflights>

/sys/class/scsi_device/*/device/dyn_cap_needed

Defined on filesysfs-driver-ufs

This file shows the amount of physical memory neededto be removed from the physical memory resources pool ofthe particular logical unit. The full information aboutthe attribute could be found at UFS specifications 2.1.

The file is read only.

/sys/class/scsi_device/*/device/unit_descriptor/boot_lun_id

Defined on filesysfs-driver-ufs

This file shows boot LUN information. This is one ofthe UFS unit descriptor parameters. The full informationabout the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/class/scsi_device/*/device/unit_descriptor/context_capabilities

Defined on filesysfs-driver-ufs

This file shows the context capabilities. This is one ofthe UFS unit descriptor parameters. The full informationabout the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/class/scsi_device/*/device/unit_descriptor/data_reliability

Defined on filesysfs-driver-ufs

This file defines the device behavior when a power failureoccurs during a write operation. This is one of the UFSunit descriptor parameters. The full information aboutthe descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/class/scsi_device/*/device/unit_descriptor/erase_block_size

Defined on filesysfs-driver-ufs

This file shows the erase block size. This is one ofthe UFS unit descriptor parameters. The full informationabout the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/class/scsi_device/*/device/unit_descriptor/large_unit_granularity

Defined on filesysfs-driver-ufs

This file shows the granularity of the LUN. This is one ofthe UFS unit descriptor parameters. The full informationabout the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/class/scsi_device/*/device/unit_descriptor/logical_block_count

Defined on filesysfs-driver-ufs

This file shows total number of addressable logical blocks.This is one of the UFS unit descriptor parameters. The fullinformation about the descriptor could be found atUFS specifications 2.1.

The file is read only.

/sys/class/scsi_device/*/device/unit_descriptor/logical_block_size

Defined on filesysfs-driver-ufs

This file shows the size of addressable logical blocks(calculated as an exponent with base 2). This is one ofthe UFS unit descriptor parameters. The full information aboutthe descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/class/scsi_device/*/device/unit_descriptor/lun_memory_type

Defined on filesysfs-driver-ufs

This file shows LUN memory type. This is one of the UFSunit descriptor parameters. The full information aboutthe descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/class/scsi_device/*/device/unit_descriptor/lun_queue_depth

Defined on filesysfs-driver-ufs

This file shows LUN queue depth. This is one of the UFSunit descriptor parameters. The full information aboutthe descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/class/scsi_device/*/device/unit_descriptor/lun_write_protect

Defined on filesysfs-driver-ufs

This file shows LUN write protection status. This is one ofthe UFS unit descriptor parameters. The full informationabout the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/class/scsi_device/*/device/unit_descriptor/physical_memory_resource_count

Defined on filesysfs-driver-ufs

This file shows the total physical memory resources. This isone of the UFS unit descriptor parameters. The full informationabout the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/class/scsi_device/*/device/unit_descriptor/provisioning_type

Defined on filesysfs-driver-ufs

This file shows the thin provisioning type. This is one ofthe UFS unit descriptor parameters. The full informationabout the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/class/scsi_device/*/device/unit_descriptor/psa_sensitive

Defined on filesysfs-driver-ufs

This file shows PSA sensitivity. This is one of the UFSunit descriptor parameters. The full information aboutthe descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/class/scsi_device/*/device/unit_descriptor/wb_buf_alloc_units

Defined on filesysfs-driver-ufs

This entry shows the configured size of WriteBooster buffer.0400h corresponds to 4GB.

The file is read only.

/sys/class/scsi_host/hostX/acciopath_status

Defined on filesysfs-class-scsi_host

This file contains the current status of the “SSD Smart Path”feature of HP Smart Array RAID controllers using the hpsadriver. SSD Smart Path, when enabled permits the driver tosend i/o requests directly to physical devices that are partof a logical drive, bypassing the controllers firmware RAIDstack for a performance advantage when possible. A value of‘1’ indicates the feature is enabled, and the controller mayuse the direct i/o path to physical devices. A value of zeromeans the feature is disabled and the controller may not usethe direct i/o path to physical devices. This setting iscontroller wide, affecting all configured logical drives on thecontroller. This file is readable and writable.

/sys/class/scsi_host/hostX/ahci_host_version

Defined on filesysfs-class-scsi_host

(RO) Display the version of the AHCI spec implemented by thehost.

/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 filesysfs-class-scsi_host

[to be documented]

/sys/class/scsi_host/hostX/em_buffer

Defined on filesysfs-class-scsi_host

(RW) Allows access to AHCI EM (enclosure management) bufferdirectly if the host supports EM.

For eg. the AHCI driver supports SGPIO EM messages but theSATA/AHCI specs do not define the SGPIO message format of the EMbuffer. Different hardware(HW) vendors may have differentdefinitions. With the em_buffer attribute, this issue can besolved by allowing HW vendors to provide userland drivers andtools for their SGPIO initiators.

/sys/class/scsi_host/hostX/em_message

/sys/class/scsi_host/hostX/em_message_type

Defined on filesysfs-class-scsi_host

em_message: (RW) Enclosure management support. For the LEDprotocol, writes and reads correspond to the LED message formatas 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_messagefile.

em_message_type: (RO) Displays the current enclosure managementprotocol that is being used by the driver (for eg. LED, SAF-TE,SES-2, SGPIO etc).

/sys/class/scsi_host/hostX/em_message_supported

Defined on filesysfs-class-scsi_host

(RO) Displays supported enclosure management message types.

/sys/class/scsi_host/hostX/isci_id

Defined on filesysfs-class-scsi_host

This file contains the enumerated host ID for the IntelSCU controller. The Intel(R) C600 Series Chipset SATA/SASStorage Control Unit embeds up to two 4-port controllers ina single PCI device. The controllers are enumerated in orderwhich usually means the lowest number scsi_host correspondswith the first controller, but this association is notguaranteed. The ‘isci_id’ attribute unambiguously identifiesthe controller index: ‘0’ for the first controller,‘1’ for the second.

/sys/class/scsi_host/hostX/link_power_management_policy

Defined on filesysfs-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 theleast possible power when possible. This may sacrifice someperformance due to increased latency when coming out of lowerpower states.

max_performance: Generally, this means no power management.Tell the controller to have performance be a priority over powermanagement.

medium_power: Tell the controller to enter a lower power statewhen possible, but do not enter the lowest power state, thusimproving latency over min_power setting.

med_power_with_dipm: Identical to the existing medium_powersetting except that it enables dipm (device initiated powermanagement) on top, which makes it match the Windows IRST (IntelRapid Storage Technology) driver settings. This setting is alsoclose to min_power, except that:

  1. It does not use host-initiated slumber mode, but it doesallow device-initiated slumber

  2. It does not enable low power device sleep mode (DevSlp).

/sys/class/scsi_tape/*/stats/in_flight

Defined on filesysfs-class-scsi_tape

Show the number of I/Os currently in-flight between the stmodule and the SCSI mid-layer.

/sys/class/scsi_tape/*/stats/io_ns

Defined on filesysfs-class-scsi_tape

Shows the total amount of time spent waiting for all I/Oto and from the tape drive to complete. This includes allreads, writes, and other SCSI commands issued to the tapedrive. An example of other SCSI commands would be tapemovement such as a rewind when a rewind tape device isclosed. This item is measured in nanoseconds.

To determine the amount of time spent waiting for other I/Oto complete subtract read_ns and write_ns from this value.

/sys/class/scsi_tape/*/stats/other_cnt

Defined on filesysfs-class-scsi_tape

The number of I/O requests issued to the tape drive otherthan SCSI read/write requests.

/sys/class/scsi_tape/*/stats/read_byte_cnt

Defined on filesysfs-class-scsi_tape

Shows the total number of bytes requested from the tape drive.This value is presented in bytes because tape drives supportvariable length block sizes.

/sys/class/scsi_tape/*/stats/read_cnt

Defined on filesysfs-class-scsi_tape

Shows the total number of read requests issued to the tapedrive.

/sys/class/scsi_tape/*/stats/read_ns

Defined on filesysfs-class-scsi_tape

Shows the total amount of time in nanoseconds waiting forread I/O requests to complete.

/sys/class/scsi_tape/*/stats/resid_cnt

Defined on filesysfs-class-scsi_tape

Shows the number of times we found that a residual >0was found when the SCSI midlayer indicated that there wasan error. For reads this may be a case of someone issuingreads greater than the block size.

/sys/class/scsi_tape/*/stats/write_byte_cnt

Defined on filesysfs-class-scsi_tape

Shows the total number of bytes written to the tape drive.This value is presented in bytes because tape drives supportvariable length block sizes.

/sys/class/scsi_tape/*/stats/write_cnt

Defined on filesysfs-class-scsi_tape

Shows the total number of write requests issued to the tapedrive.

/sys/class/scsi_tape/*/stats/write_ms

Defined on filesysfs-class-scsi_tape

Shows the total amount of time in nanoseconds waiting forwrite I/O requests to complete.

/sys/class/spi_master/spi<bus>/spi<bus>.<dev>/fram

Defined on filesysfs-class-spi-eeprom

Contains the FRAM binary data. Same as EEPROM, just another filename to indicate that it employs ferroelectric process.It performs write operations at bus speed - no write delays.

/sys/class/spi_master/spi<bus>/spi<bus>.<dev>/sernum

Defined on filesysfs-class-spi-eeprom

Contains the serial number of the Cypress FRAM (FM25VN) if it ispresent. It will be displayed as a 8 byte hex string, as readfrom the device.

This is a read-only attribute.

/sys/class/stm/<stm>/channels

Defined on filesysfs-class-stm

Shows the number of channels per master on this STM device.

/sys/class/stm/<stm>/hw_override

Defined on filesysfs-class-stm

Reads as 0 if master numbers in the STP stream produced bythis stm device will match the master numbers assigned bythe software or 1 if the stm hardware overrides softwareassigned masters.

/sys/class/stm/<stm>/masters

Defined on filesysfs-class-stm

Shows first and last available to software master numbers onthis STM device.

/sys/class/stm_source/<stm_source>/stm_source_link

Defined on filesysfs-class-stm_source

stm_source device linkage to stm device, where its tracing datais directed. Reads return an existing connection or “<none>” ifthis stm_source is not connected to any stm device yet.Write an existing (registered) stm device’s name here toconnect that device. If a device is already connected to thisstm_source, it will first be disconnected.

/sys/class/switchtec

Defined on filesysfs-class-switchtec

The switchtec class subsystem folder.Each registered switchtec driver is represented by a switchtecXsubfolder (X being an integer >= 0).

/sys/class/switchtec/switchtec[0-9]+/component_id

Defined on filesysfs-class-switchtec

Component identifier as stored in the hardware (eg. PM8543)(read only)Values: arbitrary string.

/sys/class/switchtec/switchtec[0-9]+/component_revision

Defined on filesysfs-class-switchtec

Component revision stored in the hardware (read only)Values: integer.

/sys/class/switchtec/switchtec[0-9]+/component_vendor

Defined on filesysfs-class-switchtec

Component vendor as stored in the hardware (eg. MICROSEM)(read only)Values: arbitrary string.

/sys/class/switchtec/switchtec[0-9]+/device_version

Defined on filesysfs-class-switchtec

Device version as stored in the hardware (read only)Values: integer.

/sys/class/switchtec/switchtec[0-9]+/fw_version

Defined on filesysfs-class-switchtec

Currently running firmware version (read only)Values: integer (in hexadecimal).

/sys/class/switchtec/switchtec[0-9]+/partition

Defined on filesysfs-class-switchtec

Partition number for this device in the switch (read only)Values: integer.

/sys/class/switchtec/switchtec[0-9]+/partition_count

Defined on filesysfs-class-switchtec

Total number of partitions in the switch (read only)Values: integer.

/sys/class/switchtec/switchtec[0-9]+/product_id

Defined on filesysfs-class-switchtec

Product identifier as stored in the hardware (eg. PSX 48XG3)(read only)Values: arbitrary string.

/sys/class/switchtec/switchtec[0-9]+/product_revision

Defined on filesysfs-class-switchtec

Product revision stored in the hardware (eg. RevB)(read only)Values: arbitrary string.

/sys/class/switchtec/switchtec[0-9]+/product_vendor

Defined on filesysfs-class-switchtec

Product vendor as stored in the hardware (eg. MICROSEM)(read only)Values: arbitrary string.

/sys/class/tee/tee{,priv}X/rpmb_routing_model

Defined on filesysfs-class-tee

RPMB frames can be routed to the RPMB device via theuser-space daemon tee-supplicant or the RPMB subsystemin the kernel. The value “user” means that the driverwill route the RPMB frames via user space. Conversely,“kernel” means that the frames are routed via the RPMBsubsystem without assistance from tee-supplicant. Itshould be assumed that RPMB frames are routed via userspace if the variable is absent. The primary purposeof this variable is to let systemd know whethertee-supplicant is needed in the early boot with initramfs.

/sys/class/thermal/cooling_deviceX/cur_state

Defined on filesysfs-class-thermal

The current cooling state of this cooling device.The value can any integer numbers between 0 and max_state:

  • cur_state == 0 means no cooling

  • cur_state == max_state means the maximum cooling.

RW, Required

/sys/class/thermal/cooling_deviceX/max_state

Defined on filesysfs-class-thermal

The maximum permissible cooling state of this cooling device.

RO, Required

/sys/class/thermal/cooling_deviceX/stats/reset

Defined on filesysfs-class-thermal

Writing any value resets the cooling device’s statistics.

WO, Required

/sys/class/thermal/cooling_deviceX/stats/time_in_state_ms:

Defined on filesysfs-class-thermal

The amount of time spent by the cooling device in variouscooling states. The output will have “<state> <time>” pairin each line, which will mean this cooling device spent <time>msec of time at <state>.

Output will have one line for each of the supported states.

RO, Required

/sys/class/thermal/cooling_deviceX/stats/total_trans

Defined on filesysfs-class-thermal

A single positive value showing the total number of timesthe state of a cooling device is changed.

RO, Required

/sys/class/thermal/cooling_deviceX/stats/trans_table

Defined on filesysfs-class-thermal

This gives fine grained information about all the cooling statetransitions. The cat output here is a two dimensional matrix,where an entry <i,j> (row i, column j) represents the numberof transitions from State_i to State_j. If the transitiontable is bigger than PAGE_SIZE, reading this will returnan -EFBIG error.

RO, Required

/sys/class/thermal/cooling_deviceX/type

Defined on filesysfs-class-thermal

String which represents the type of device, e.g:

  • for generic ACPI: should be “Fan”, “Processor” or “LCD”

  • for memory controller device on intel_menlow platform:should be “Memory controller”.

RO, Required

/sys/class/thermal/thermal_zoneX/available_policies

Defined on filesysfs-class-thermal

Available thermal governors which can be used for aparticular zone.

RO, Required

/sys/class/thermal/thermal_zoneX/cdevY

Defined on filesysfs-class-thermal

Sysfs link to the thermal cooling device node where the sys I/Ffor cooling device throttling control represents.

RO, Optional

/sys/class/thermal/thermal_zoneX/cdevY_trip_point

Defined on filesysfs-class-thermal

The trip point in this thermal zone whichcdev[0-*] isassociated with; -1 means the cooling device is notassociated with any trip point.

RO, Optional

/sys/class/thermal/thermal_zoneX/cdevY_weight

Defined on filesysfs-class-thermal

The influence ofcdev[0-*] in this thermal zone. This valueis relative to the rest of cooling devices in the thermalzone. For example, if a cooling device has a weight doublethan that of other, it’s twice as effective in cooling thethermal zone.

RW, Optional

/sys/class/thermal/thermal_zoneX/emul_temp

Defined on filesysfs-class-thermal

Interface to set the emulated temperature method in thermal zone(sensor). After setting this temperature, the thermal zone maypass this temperature to platform emulation function ifregistered or cache it locally. This is useful in debuggingdifferent temperature threshold and its associated coolingaction. This is write only node and writing 0 on this nodeshould disable emulation.

Unit: millidegree Celsius

WO, Optional

WARNING:

Be careful while enabling this option on production systems,because userland can easily disable the thermal policy by simplyflooding this sysfs node with low temperature values.

/sys/class/thermal/thermal_zoneX/integral_cutoff

Defined on filesysfs-class-thermal

Temperature offset from the desired temperature trip pointabove which the integral term of the power allocatorgovernor’s PID controller starts accumulating errors. Forexample, if integral_cutoff is 0, then the integral term onlyaccumulates error when temperature is above the desiredtemperature trip point. For more information seePower allocator governor tunables

Unit: millidegree Celsius

RW, Optional

/sys/class/thermal/thermal_zoneX/k_d

Defined on filesysfs-class-thermal

The derivative term of the power allocator governor’s PIDcontroller. For more information seePower allocator governor tunables

RW, Optional

/sys/class/thermal/thermal_zoneX/k_i

Defined on filesysfs-class-thermal

The integral term of the power allocator governor’s PIDcontroller. This term allows the PID controller to compensatefor long term drift. For more information seePower allocator governor tunables

RW, Optional

/sys/class/thermal/thermal_zoneX/k_po

Defined on filesysfs-class-thermal

The proportional term of the power allocator governor’s PIDcontroller during temperature overshoot. Temperature overshootis when the current temperature is above the “desiredtemperature” trip point. For more information seePower allocator governor tunables

RW, Optional

/sys/class/thermal/thermal_zoneX/k_pu

Defined on filesysfs-class-thermal

The proportional term of the power allocator governor’s PIDcontroller during temperature undershoot. Temperature undershootis when the current temperature is below the “desiredtemperature” trip point. For more information seePower allocator governor tunables

RW, Optional

/sys/class/thermal/thermal_zoneX/mode

Defined on filesysfs-class-thermal

One of the predefined values in [enabled, disabled].This file gives information about the algorithm that iscurrently managing the thermal zone. It can be either defaultkernel based algorithm or user space application.

enabled

enable Kernel Thermal management.

disabled

Preventing kernel thermal zone driver actions upontrip points so that user application can take fullcharge of the thermal management.

RW, Optional

/sys/class/thermal/thermal_zoneX/offset

Defined on filesysfs-class-thermal

The offset constant used in a linear extrapolation modelto determine a hotspot temperature based off the sensor’sraw readings. It is up to the device driver to determinethe usage of these values.

RW, Optional

/sys/class/thermal/thermal_zoneX/policy

Defined on filesysfs-class-thermal

One of the various thermal governors used for a particular zone.

RW, Required

/sys/class/thermal/thermal_zoneX/slope

Defined on filesysfs-class-thermal

The slope constant used in a linear extrapolation modelto determine a hotspot temperature based off the sensor’sraw readings. It is up to the device driver to determinethe usage of these values.

RW, Optional

/sys/class/thermal/thermal_zoneX/sustainable_power

Defined on filesysfs-class-thermal

An estimate of the sustained power that can be dissipated bythe thermal zone. Used by the power allocator governor. Formore information seePower allocator governor tunables

Unit: milliwatts

RW, Optional

/sys/class/thermal/thermal_zoneX/temp

Defined on filesysfs-class-thermal

Current temperature as reported by thermal zone (sensor).

Unit: millidegree Celsius

RO, Required

/sys/class/thermal/thermal_zoneX/trip_point_Y_hyst

Defined on filesysfs-class-thermal

The hysteresis value for a trip point, represented as aninteger.

Unit: Celsius

RW, Optional

/sys/class/thermal/thermal_zoneX/trip_point_Y_temp

Defined on filesysfs-class-thermal

The temperature above which trip point will be fired.

Unit: millidegree Celsius

RO, Optional

/sys/class/thermal/thermal_zoneX/trip_point_Y_type

Defined on filesysfs-class-thermal

Strings which indicate the type of the trip point.

E.g. it can be one of critical, hot, passive,active[0-*]for ACPI thermal zone.

RO, Optional

/sys/class/thermal/thermal_zoneX/type

Defined on filesysfs-class-thermal

Strings which represent the thermal zone type.This is given by thermal zone driver as part of registration.E.g: “acpitz” indicates it’s an ACPI thermal device.In order to keep it consistent with hwmon sys attribute; thisshould be a short, lowercase string, not containing spaces nordashes.

RO, Required

/sys/class/timecard/

Defined on filesysfs-timecard

This directory contains files and directoriesproviding a standardized interface to the ancillaryfeatures of the OpenCompute timecard.

/sys/class/timecard/ocpN/

Defined on filesysfs-timecard

This directory contains the attributes of the Nth timecardregistered.

/sys/class/timecard/ocpN/available_clock_sources

Defined on filesysfs-timecard

(RO) The list of available time sources that the PHCuses for clock adjustments.

NONE

no adjustments

PPS

adjustments come from the PPS1 selector (default)

TOD

adjustments from the GNSS/TOD module

IRIG

adjustments from external IRIG-B signal

DCF

adjustments from external DCF signal

/sys/class/timecard/ocpN/available_sma_inputs

Defined on filesysfs-timecard

(RO) Set of available destinations (sinks) for a SMAinput signal.

10Mhz

signal is used as the 10Mhz reference clock

PPS1

signal is sent to the PPS1 selector

PPS2

signal is sent to the PPS2 selector

TS1

signal is sent to timestamper 1

TS2

signal is sent to timestamper 2

TS3

signal is sent to timestamper 3

TS4

signal is sent to timestamper 4

IRIG

signal is sent to the IRIG-B module

DCF

signal is sent to the DCF module

FREQ1

signal is sent to frequency counter 1

FREQ2

signal is sent to frequency counter 2

FREQ3

signal is sent to frequency counter 3

FREQ4

signal is sent to frequency counter 4

None

signal input is disabled

/sys/class/timecard/ocpN/available_sma_outputs

Defined on filesysfs-timecard

(RO) Set of available sources for a SMA output signal.

10Mhz

output is from the 10Mhz reference clock

PHC

output PPS is from the PHC clock

MAC

output PPS is from the Miniature Atomic Clock

GNSS1

output PPS is from the first GNSS module

GNSS2

output PPS is from the second GNSS module

IRIG

output is from the PHC, in IRIG-B format

DCF

output is from the PHC, in DCF format

GEN1

output is from frequency generator 1

GEN2

output is from frequency generator 2

GEN3

output is from frequency generator 3

GEN4

output is from frequency generator 4

GND

output is GND

VCC

output is VCC

/sys/class/timecard/ocpN/clock_source

Defined on filesysfs-timecard

(RW) Contains the current synchronization source used bythe PHC. May be changed by writing one of the listedvalues from the available_clock_sources attribute set.

/sys/class/timecard/ocpN/clock_status_drift

Defined on filesysfs-timecard

(RO) Contains the current drift value used by the firmwarefor internal disciplining of the atomic clock.

/sys/class/timecard/ocpN/clock_status_offset

Defined on filesysfs-timecard

(RO) Contains the current offset value used by the firmwarefor internal disciplining of the atomic clock.

/sys/class/timecard/ocpN/freqX

Defined on filesysfs-timecard

(RO) Optional directory containing the sysfs nodes forfrequency counter <X>.

/sys/class/timecard/ocpN/freqX/frequency

Defined on filesysfs-timecard

(RO) Contains the measured frequency over the specifiedmeasurement period.

/sys/class/timecard/ocpN/freqX/seconds

Defined on filesysfs-timecard

(RW) Specifies the number of seconds from 0-255 that thefrequency should be measured over. Write 0 to disable.

/sys/class/timecard/ocpN/genX

Defined on filesysfs-timecard

(RO) Optional directory containing the sysfs nodes forfrequency generator <X>.

/sys/class/timecard/ocpN/genX/duty

Defined on filesysfs-timecard

(RO) Specifies the signal duty cycle as a percentage from 1-99.

/sys/class/timecard/ocpN/genX/period

Defined on filesysfs-timecard

(RO) Specifies the signal period in nanoseconds.

/sys/class/timecard/ocpN/genX/phase

Defined on filesysfs-timecard

(RO) Specifies the signal phase offset in nanoseconds.

/sys/class/timecard/ocpN/genX/polarity

Defined on filesysfs-timecard

(RO) Specifies the signal polarity, either 1 or 0.

/sys/class/timecard/ocpN/genX/running

Defined on filesysfs-timecard

(RO) Either 0 or 1, showing if the signal generator is running.

/sys/class/timecard/ocpN/genX/signal

Defined on filesysfs-timecard

(RW) Used to start the signal generator, and summarizethe current status.

The signal generator may be started by writing the signalperiod, followed by the optional signal values. If theoptional values are not provided, they default to the currentsettings, which may be obtained from the other sysfs nodes.

period [duty [phase [polarity]]]

echo 500000000 > signal # 1/2 second periodecho 1000000 40 100 > signalecho 0 > signal # turn off generator

Period and phase are specified in nanoseconds. Duty cycle isa percentage from 1-99. Polarity is 1 or 0.

Reading this node will return:

period duty phase polarity start_time

/sys/class/timecard/ocpN/genX/start

Defined on filesysfs-timecard

(RO) Shows the time in <sec>.<nsec> that the signal generatorstarted running.

/sys/class/timecard/ocpN/gnss_sync

Defined on filesysfs-timecard

(RO) Indicates whether a valid GNSS signal is received,or when the signal was lost.

/sys/class/timecard/ocpN/i2c

Defined on filesysfs-timecard

This optional attribute links to the associated i2c device.

/sys/class/timecard/ocpN/irig_b_mode

Defined on filesysfs-timecard

(RW) An integer from 0-7 indicating the timecode formatof the IRIG-B output signal: B00<n>

/sys/class/timecard/ocpN/pps

Defined on filesysfs-timecard

This optional attribute links to the associated PPS device.

/sys/class/timecard/ocpN/ptp

Defined on filesysfs-timecard

This attribute links to the associated PTP device.

/sys/class/timecard/ocpN/serialnum

Defined on filesysfs-timecard

(RO) Provides the serial number of the timecard.

/sys/class/timecard/ocpN/sma1

/sys/class/timecard/ocpN/sma2

/sys/class/timecard/ocpN/sma3

/sys/class/timecard/ocpN/sma4

Defined on filesysfs-timecard

(RW) These attributes specify the direction of the signalon the associated SMA connectors, and also the signal sinkor source.

The display format of the attribute is a space separatedlist of signals, prefixed by the input/output direction.

The signal direction may be changed (if supported) byprefixing the signal list with either “in:” or “out:”.If neither prefix is present, then the direction is unchanged.

The output signal may be changed by writing one of the listedvalues from the available_sma_outputs attribute set.

The input destinations may be changed by writing multiplevalues from the available_sma_inputs attribute set,separated by spaces. If there are duplicated inputdestinations between connectors, the lowest numbered SMAconnector is given priority.

Note that not all input combinations may make sense.

The 10Mhz reference clock input is currently only validon SMA1 and may not be combined with other destination sinks.

/sys/class/timecard/ocpN/tod_correction

Defined on filesysfs-timecard

(RW) The incoming GNSS signal is in UTC time, and the NMEAformat messages do not provide a TAI offset. This sets thecorrection value for the incoming time.

If UBX_LS is enabled, this should be 0, and the offset istaken from the UBX-NAV-TIMELS message.

/sys/class/timecard/ocpN/ts_window_adjust

Defined on filesysfs-timecard

(RW) When retrieving the PHC with the PTP SYS_OFFSET_EXTENDEDioctl, a system timestamp is made before and after the PHCtime is retrieved. The midpoint between the two systemtimestamps is usually taken to be the SYS time associatedwith the PHC time. This estimate may be wrong, as it dependson PCI latencies, and when the PHC time was latched

The attribute value reduces the end timestamp by the givennumber of nanoseconds, so the computed midpoint matches theretrieved PHC time.

The initial value is set based on measured PCI latency andthe estimated point where the FPGA latches the PHC time. Thisvalue may be changed by writing an unsigned integer.

/sys/class/timecard/ocpN/tty

Defined on filesysfs-timecard

(RO) Directory containing the sysfs nodes for TTY attributes

/sys/class/timecard/ocpN/tty/ttyGNSS

/sys/class/timecard/ocpN/tty/ttyGNSS2

Defined on filesysfs-timecard

(RO) These optional attributes contain names of the TTY serialports associated with the GNSS devices.

/sys/class/timecard/ocpN/tty/ttyMAC

Defined on filesysfs-timecard

(RO) This optional attribute contains name of the TTY serialport associated with the Miniature Atomic Clock.

/sys/class/timecard/ocpN/tty/ttyNMEA

Defined on filesysfs-timecard

(RO) This optional attribute contains name of the TTY serialport which outputs the PHC time in NMEA ZDA format.

/sys/class/timecard/ocpN/utc_tai_offset

Defined on filesysfs-timecard

(RW) The DCF and IRIG output signals are in UTC, while theTimeCard operates on TAI. This attribute allows setting theoffset in seconds, which is added to the TAI timebase forthese formats.

The offset may be changed by writing an unsigned integer.

/sys/class/tpm/tpmX/ppi/

Defined on filesysfs-driver-ppi

This folder includes the attributes related with PPI (PhysicalPresence Interface). Only if TPM is supported by BIOS, thisfolder 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 backwardscompatibility.

/sys/class/tpm/tpmX/ppi/request

Defined on filesysfs-driver-ppi

This attribute shows the request for an operation to beexecuted in the pre-OS environment. It is the only input fromthe OS to the pre-OS environment. The request should be aninteger value range from 1 to 160, and 0 means no request.This file can be read and written.

/sys/class/tpm/tpmX/ppi/response

Defined on filesysfs-driver-ppi

This attribute shows the response to the most recent operationrequest it acted upon. The format is “<request> <response num>: <response description>”.This file is readonly.

/sys/class/tpm/tpmX/ppi/tcg_operations

Defined on filesysfs-driver-ppi

This attribute shows whether it is allowed to request anoperation to be executed in the pre-OS environment by the BIOSfor 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.

/sys/class/tpm/tpmX/ppi/transition_action

Defined on filesysfs-driver-ppi

This attribute shows the platform-specific action that shouldtake place in order to transition to the BIOS for execution ofa requested operation. The format is “<action num>: <actiondescription>”.This file is readonly.

/sys/class/tpm/tpmX/ppi/version

Defined on filesysfs-driver-ppi

This attribute shows the version of the PPI supported by theplatform.This file is readonly.

/sys/class/tpm/tpmX/ppi/vs_operations

Defined on filesysfs-driver-ppi

This attribute shows whether it is allowed to request anoperation to be executed in the pre-OS environment by the BIOSfor the verdor specific requests, i.e. requests from 128 to255. The format is same with tcg_operations. This attributeis also only supported by PPI version 1.2+.This file is readonly.

/sys/class/tsm/tsmN

Defined on filesysfs-class-tsm

“tsmN” is a device that represents the generic attributes of aplatform TEE Security Manager. It is typically a child of aplatform enumerated TSM device. /sys/class/tsm/tsmN/ueventsignals when the PCI layer is able to support establishment oflink encryption and other device-security features coordinatedthrough a platform tsm.

/sys/class/tty/console/active

Defined on filesysfs-tty

Shows the list of currently configuredconsole devices, like ‘tty1 ttyS0’.The last entry in the file is the activedevice connected to /dev/console.The file supports poll() to detect virtualconsole switches.

/sys/class/tty/tty<x>/active

Defined on filesysfs-tty

Shows the currently active virtual consoledevice, like ‘tty1’.The file supports poll() to detect virtualconsole switches.

/sys/class/tty/ttyS<x>/close_delay

Defined on filesysfs-tty

Show the closing delay time for this port in centiseconds.

These sysfs values expose the TIOCGSERIAL interface viasysfs rather than via ioctls.

/sys/class/tty/ttyS<x>/closing_wait

Defined on filesysfs-tty

Show the close wait time for this port in centiseconds.

Waiting forever is represented as 0. If waiting on close isdisabled then the value is 65535.

These sysfs values expose the TIOCGSERIAL interface viasysfs rather than via ioctls.

/sys/class/tty/ttyS<x>/console

Defined on filesysfs-tty

Allows user to detach or attach back the given device askernel console. It shows and accepts a boolean variable.

/sys/class/tty/ttyS<x>/custom_divisor

Defined on filesysfs-tty

Show the custom divisor if any that is set on this port.

These sysfs values expose the TIOCGSERIAL interface viasysfs rather than via ioctls.

/sys/class/tty/ttyS<x>/flags

Defined on filesysfs-tty

Show the tty port status flags for this port.

These sysfs values expose the TIOCGSERIAL interface viasysfs rather than via ioctls.

/sys/class/tty/ttyS<x>/io_type

Defined on filesysfs-tty

Show the I/O type that is to be used with the iomem baseaddress.

These sysfs values expose the TIOCGSERIAL interface viasysfs rather than via ioctls.

/sys/class/tty/ttyS<x>/iomem_base

Defined on filesysfs-tty

The I/O memory base for this port.

These sysfs values expose the TIOCGSERIAL interface viasysfs rather than via ioctls.

/sys/class/tty/ttyS<x>/iomem_reg_shift

Defined on filesysfs-tty

Show the register shift indicating the spacing to be usedfor accesses on this iomem address.

These sysfs values expose the TIOCGSERIAL interface viasysfs rather than via ioctls.

/sys/class/tty/ttyS<x>/irq

Defined on filesysfs-tty

Shows the current primary interrupt for this port.

These sysfs values expose the TIOCGSERIAL interface viasysfs rather than via ioctls.

/sys/class/tty/ttyS<x>/line

Defined on filesysfs-tty

Shows the current tty line number for this port.

These sysfs values expose the TIOCGSERIAL interface viasysfs rather than via ioctls.

/sys/class/tty/ttyS<x>/port

Defined on filesysfs-tty

Shows the current tty port I/O address for this port.

These sysfs values expose the TIOCGSERIAL interface viasysfs rather than via ioctls.

/sys/class/tty/ttyS<x>/rx_trig_bytes

Defined on filesysfs-tty

Shows current RX interrupt trigger bytes or sets theuser specified value to change it for the FIFO buffer.Users can show or set this value regardless of opening theserial device file or not.

The RX trigger can be set one of four kinds of values for UARTserials. When users input a meaning less value to this I/F,the RX trigger is changed to the nearest lower value for thedevice specification. For example, when user sets 7bytes on16550A, which has 1/4/8/14 bytes trigger, the RX trigger isautomatically changed to 4 bytes.

/sys/class/tty/ttyS<x>/type

Defined on filesysfs-tty

Shows the current tty type for this port.

These sysfs values expose the TIOCGSERIAL interface viasysfs rather than via ioctls.

/sys/class/tty/ttyS<x>/uartclk

Defined on filesysfs-tty

Shows the current uartclk value associated with theUART port in serial_core, that is bound to TTY like ttyS0.uartclk = 16 * baud_base

These sysfs values expose the TIOCGSERIAL interface viasysfs rather than via ioctls.

/sys/class/tty/ttyS<x>/xmit_fifo_size

Defined on filesysfs-tty

Show the transmit FIFO size for this port.

These sysfs values expose the TIOCGSERIAL interface viasysfs rather than via ioctls.

/sys/class/typec/<port>-<plug>/number_of_alternate_modes

Defined on filesysfs-class-typec

Shows the number of alternate modes which are advertised by the plugassociated with a particular cable during Power Delivery discovery.This file remains hidden until a value greater than or equal to 0is set by Type C port driver.

USB Type-C partner/cable Power Delivery Identity objects

NOTE: The following attributes will be applicable to bothpartner (e.g /sys/class/typec/port0-partner/) andcable (e.g /sys/class/typec/port0-cable/) devices. Consequently, the example filepaths below are prefixed with “/sys/class/typec/<port>-{partner|cable}/” toreflect this.

/sys/class/typec/<port>-cable/plug_type

Defined on filesysfs-class-typec

Shows type of the plug on the cable:

  • type-a - Standard A

  • type-b - Standard B

  • type-c

  • captive

/sys/class/typec/<port>-cable/type

Defined on filesysfs-class-typec

USB Power Delivery Specification defines a set of product typesfor the cables. This file will show the product type of thecable if it is known. If the product type of the cable is notvisible to the device driver, this file will not exist.

When the cable product type is detected, uvevent is also raisedwith PRODUCT_TYPE showing the product type of the cable.

Valid values:

undefined

active

Active Cable

passive

Passive Cable

/sys/class/typec/<port>-partner/accessory_mode

Defined on filesysfs-class-typec

Shows the Accessory Mode name when the partner is an Accessory.The Accessory Modes are defined in USB Type-C Specification.

/sys/class/typec/<port>-partner/identity/

Defined on filesysfs-class-typec

This directory appears only if the port device driver is capableof showing the result of Discover Identity USB power deliverycommand. That will not always be possible even when USB powerdelivery is supported, for example when USB power deliverycommunication for the port is mostly handled in firmware. If thedirectory exists, it will have an attribute file for every VDOin Discover Identity command result.

/sys/class/typec/<port>-partner/number_of_alternate_modes

Defined on filesysfs-class-typec

Shows the number of alternate modes which are advertised by the partnerduring Power Delivery discovery. This file remains hidden until a valuegreater than or equal to 0 is set by Type C port driver.

/sys/class/typec/<port>-partner/supports_usb_power_delivery

Defined on filesysfs-class-typec

Shows if the partner supports USB Power Delivery communication:Valid values: yes, no

/sys/class/typec/<port>-partner/type

Defined on filesysfs-class-typec

USB Power Delivery Specification defines a set of product typesfor the partner devices. This file will show the product type ofthe partner if it is known. Dual-role capable partners will haveboth UFP and DFP product types defined, but only one thatmatches the current role will be active at the time. If theproduct type of the partner is not visible to the device driver,this file will not exist.

When the partner product type is detected, or changed with roleswap, uvevent is also raised that contains PRODUCT_TYPE=<producttype> (for example PRODUCT_TYPE=hub).

Valid values:

UFP / device role====================== ==========================undefined -hub PDUSB Hubperipheral PDUSB Peripheralpsd Power Bankama Alternate Mode Adapter====================== ==========================

DFP / host role====================== ==========================undefined -hub PDUSB Hubhost PDUSB Hostpower_brick Power Brickamc Alternate Mode Controller====================== ==========================

/sys/class/typec/<port>-partner/usb_mode

Defined on filesysfs-class-typec

The USB Modes that the partner device supports. The active modeis displayed in brackets. The active USB mode can be changed bywriting to this file when the port driver is able to send DataReset Message to the partner. That requires USB Power Deliverycontract between the partner and the port.

Valid values:- usb2 (USB 2.0)- usb3 (USB 3.2)- usb4 (USB4)

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 SOPDouble Prime controller (USB Power Deliver specification ch. 2.4) it will havesecond device also for the other plug. Both plugs may have alternate modes asdescribed in USB Type-C and USB Power Delivery specifications.

/sys/class/typec/<port>-{partner|cable}/identity/

Defined on filesysfs-class-typec

This directory appears only if the port device driver is capableof showing the result of Discover Identity USB power deliverycommand. That will not always be possible even when USB powerdelivery is supported, for example when USB power deliverycommunication for the port is mostly handled in firmware. If thedirectory exists, it will have an attribute file for every VDOin Discover Identity command result.

/sys/class/typec/<port>-{partner|cable}/identity/cert_stat

Defined on filesysfs-class-typec

Cert Stat VDO part of Discover Identity command result. Thevalue will show 0 until Discover Identity command result becomesavailable. The value can be polled.

/sys/class/typec/<port>-{partner|cable}/identity/id_header

Defined on filesysfs-class-typec

ID Header VDO part of Discover Identity command result. Thevalue will show 0 until Discover Identity command result becomesavailable. The value can be polled.

/sys/class/typec/<port>-{partner|cable}/identity/product

Defined on filesysfs-class-typec

Product VDO part of Discover Identity command result. The valuewill show 0 until Discover Identity command result becomesavailable. The value can be polled.

/sys/class/typec/<port>-{partner|cable}/identity/product_type_vdo1

Defined on filesysfs-class-typec

1st Product Type VDO of Discover Identity command result.The value will show 0 until Discover Identity command result becomesavailable and a valid Product Type VDO is returned.

/sys/class/typec/<port>-{partner|cable}/identity/product_type_vdo2

Defined on filesysfs-class-typec

2nd Product Type VDO of Discover Identity command result.The value will show 0 until Discover Identity command result becomesavailable and a valid Product Type VDO is returned.

/sys/class/typec/<port>-{partner|cable}/identity/product_type_vdo3

Defined on filesysfs-class-typec

3rd Product Type VDO of Discover Identity command result.The value will show 0 until Discover Identity command result becomesavailable and a valid Product Type VDO is returned.

USB Type-C port alternate mode devices.

/sys/class/typec/<port>-{partner|cable}/usb_power_delivery_revision

Defined on filesysfs-class-typec

Revision number of the supported USB Power Deliveryspecification of the port partner or cable, or 0.0 when USBPower Delivery is not supported.

Example values:- “2.0”: USB Power Delivery Release 2.0- “3.0”: USB Power Delivery Release 3.0- “3.1”: USB Power Delivery Release 3.1

/sys/class/typec/<port>/<alt mode>/supported_roles

Defined on filesysfs-class-typec

Space separated list of the supported roles.

Valid values: source, sink

/sys/class/typec/<port>/data_role

Defined on filesysfs-class-typec

The supported USB data roles. This attribute can be used forrequesting data role swapping on the port. Swapping is supportedas synchronous operation, so write(2) to the attribute will notreturn until the operation has finished. The attribute isnotified about role changes so that poll(2) on the attributewakes up. Change on the role will also generate ueventKOBJ_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

/sys/class/typec/<port>/orientation

Defined on filesysfs-class-typec

Indicates the active orientation of the Type-C connector.Valid values:- “normal”: CC1 orientation- “reverse”: CC2 orientation- “unknown”: Orientation cannot be determined.

/sys/class/typec/<port>/port_type

Defined on filesysfs-class-typec

Indicates the type of the port. This attribute can be used forrequesting a change in the port type. Port type change issupported as a synchronous operation, so write(2) to theattribute 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 anddual-role-power port)

/sys/class/typec/<port>/power_operation_mode

Defined on filesysfs-class-typec

Shows the current power operational mode the port is in. Thepower operation mode means current level for VBUS. In case USBPower 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

/sys/class/typec/<port>/power_role

Defined on filesysfs-class-typec

The supported power roles. This attribute can be used to requestpower role swap on the port. Swapping is supported assynchronous operation, so write(2) to the attribute will notreturn until the operation has finished. The attribute isnotified about role changes so that poll(2) on the attributewakes up. Change on the role will also generate ueventKOBJ_CHANGE. The current role is show in brackets, for example“[source] sink” when in source mode.

Valid values: source, sink

/sys/class/typec/<port>/preferred_role

Defined on filesysfs-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, asdefined in USB Type-C specification, in the port drivers. Bydefault the preferred role should come from the platform.

Valid values: source, sink, none (to remove preference)

/sys/class/typec/<port>/select_usb_power_delivery

Defined on filesysfs-class-typec

Lists the USB Power Delivery Capabilities that the port canadvertise to the partner. The currently used capabilities are inbrackets. Selection happens by writing to the file.

/sys/class/typec/<port>/supported_accessory_modes

Defined on filesysfs-class-typec

Space separated list of accessory modes, defined in the USBType-C specification, the port supports.

/sys/class/typec/<port>/usb_capability

Defined on filesysfs-class-typec

Lists the supported USB Modes. The default USB mode that is usednext time with the Enter_USB Message is in brackets. The defaultmode can be changed by writing to the file when supported by thedriver.

Valid values:- usb2 (USB 2.0)- usb3 (USB 3.2)- usb4 (USB4)

USB Type-C partner devices (eg. /sys/class/typec/port0-partner/)

/sys/class/typec/<port>/usb_power_delivery_revision

Defined on filesysfs-class-typec

Revision number of the supported USB Power Deliveryspecification, or 0.0 when USB Power Delivery is not supported.

Example values:- “2.0”: USB Power Delivery Release 2.0- “3.0”: USB Power Delivery Release 3.0- “3.1”: USB Power Delivery Release 3.1

/sys/class/typec/<port>/usb_typec_revision

Defined on filesysfs-class-typec

Revision number of the supported USB Type-C specification.

/sys/class/typec/<port>/vconn_source

Defined on filesysfs-class-typec

Shows is the port VCONN Source. This attribute can be used torequest VCONN swap to change the VCONN Source during connectionwhen both the port and the partner support USB Power Delivery.Swapping is supported as synchronous operation, so write(2) tothe attribute will not return until the operation has finished.The attribute is notified about VCONN source changes so thatpoll(2) on the attribute wakes up. Change on VCONN source alsogenerates uevent KOBJ_CHANGE.

Valid values:

  • “no” when the port is not the VCONN Source

  • “yes” when the port is the VCONN Source

/sys/class/uacce/<dev_name>/algorithms

Defined on filesysfs-driver-uacce

Algorithms supported by this accelerator, separated by new line.Can be any string and up to userspace to parse.

/sys/class/uacce/<dev_name>/api

Defined on filesysfs-driver-uacce

Api of the deviceCan be any string and up to userspace to parse.Application use the api to match the correct driver

/sys/class/uacce/<dev_name>/available_instances

Defined on filesysfs-driver-uacce

Available instances left of the deviceReturn -ENODEV if uacce_ops get_available_instances is not provided

/sys/class/uacce/<dev_name>/flags

Defined on filesysfs-driver-uacce

Attributes of the device, see UACCE_DEV_xxx flag defined in uacce.h

/sys/class/uacce/<dev_name>/isolate

Defined on filesysfs-driver-uacce

(R) A sysfs node that read the device isolated state. The value 1means the device is unavailable. The 0 means the device isavailable.

/sys/class/uacce/<dev_name>/isolate_strategy

Defined on filesysfs-driver-uacce

(RW) A sysfs node that configure the error threshold for the hardwareisolation strategy. This size is a configured integer value, which is thenumber of threshold for hardware errors occurred in one hour. The default is 0.0 means never isolate the device. The maximum value is 65535. You can writea number of threshold based on your hardware.

/sys/class/uacce/<dev_name>/region_dus_size

Defined on filesysfs-driver-uacce

Size (bytes) of dus region queue file

/sys/class/uacce/<dev_name>/region_mmio_size

Defined on filesysfs-driver-uacce

Size (bytes) of mmio region queue file

/sys/class/udc/udc.name/device/gadget/video4linux/video.name/function_name

Defined on fileconfigfs-usb-gadget-uvc

UVC configfs function instance name

/sys/class/usb_power_delivery

Defined on filesysfs-class-usb_power_delivery

Directory for USB Power Delivery devices.

/sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/dual_role_data

Defined on filesysfs-class-usb_power_delivery

This file shows the value of the Dual-Role Data bit in vSafe5VFixed Supply Object. Dual role data means ability act as bothUSB host and USB device.

/sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/dual_role_power

Defined on filesysfs-class-usb_power_delivery

This file contains boolean value that tells does the devicesupport both source and sink power roles.

/sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/unchunked_extended_messages_supported

Defined on filesysfs-class-usb_power_delivery

This file shows the value of the Unchunked Extended MessagesSupported bit in vSafe5V Fixed Supply Object.

/sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/unconstrained_power

Defined on filesysfs-class-usb_power_delivery

This file shows the value of the Unconstrained Power bit invSafe5V Fixed Supply Object. The bit is set when an externalsource of power, powerful enough to power the entire system onits own, is available for the device.

/sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/usb_communication_capable

Defined on filesysfs-class-usb_power_delivery

This file shows the value of the USB Communication Capable bit invSafe5V Fixed Supply Object.

/sys/class/usb_power_delivery/.../<capability>/<position>:battery

Defined on filesysfs-class-usb_power_delivery

Battery PDO.

/sys/class/usb_power_delivery/.../<capability>/<position>:battery/maximum_voltage

Defined on filesysfs-class-usb_power_delivery

Maximum Voltage in millivolts.

/sys/class/usb_power_delivery/.../<capability>/<position>:battery/minimum_voltage

Defined on filesysfs-class-usb_power_delivery

Minimum Voltage in millivolts.

/sys/class/usb_power_delivery/.../<capability>/<position>:fixed_supply

Defined on filesysfs-class-usb_power_delivery

Devices containing the attributes (the bit fields) defined forFixed Supplies.

The device “1:fixed_supply” is special. USB Power DeliverySpecification dictates that the first PDO (at object position1), and the only mandatory PDO, is always the vSafe5V FixedSupply Object. vSafe5V Object has additional fields defined forit that the other Fixed Supply Objects do not have and that arerelated to the USB capabilities rather than power capabilities.

/sys/class/usb_power_delivery/.../<capability>/<position>:fixed_supply/voltage

Defined on filesysfs-class-usb_power_delivery

The voltage the supply supports in millivolts.

/sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply

Defined on filesysfs-class-usb_power_delivery

Programmable Power Supply (PPS) Augmented PDO (APDO).

/sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/maximum_current

Defined on filesysfs-class-usb_power_delivery

Maximum Current in milliamperes.

/sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/maximum_voltage

Defined on filesysfs-class-usb_power_delivery

Maximum Voltage in millivolts.

/sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/minimum_voltage

Defined on filesysfs-class-usb_power_delivery

Minimum Voltage in millivolts.

/sys/class/usb_power_delivery/.../<capability>/<position>:spr_adjustable_voltage_supply

Defined on filesysfs-class-usb_power_delivery

Adjustable Voltage Supply (AVS) Augmented PDO (APDO).

/sys/class/usb_power_delivery/.../<capability>/<position>:spr_adjustable_voltage_supply/maximum_current_15V_to_20V

Defined on filesysfs-class-usb_power_delivery

Maximum Current for greater than 15V till 20V range inmilliamperes.

/sys/class/usb_power_delivery/.../<capability>/<position>:spr_adjustable_voltage_supply/maximum_current_9V_to_15V

Defined on filesysfs-class-usb_power_delivery

Maximum Current for 9V to 15V range in milliamperes.

/sys/class/usb_power_delivery/.../<capability>/<position>:spr_adjustable_voltage_supply/peak_current

Defined on filesysfs-class-usb_power_delivery

This file shows the value of the Adjustable Voltage Supply Peak CurrentCapability field.

/sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply

Defined on filesysfs-class-usb_power_delivery

Variable Power Supply PDO.

/sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply/maximum_voltage

Defined on filesysfs-class-usb_power_delivery

Maximum Voltage in millivolts.

/sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply/minimum_voltage

Defined on filesysfs-class-usb_power_delivery

Minimum Voltage in millivolts.

/sys/class/usb_power_delivery/.../revision

Defined on filesysfs-class-usb_power_delivery

File showing the USB Power Delivery Specification Revision usedin communication.

/sys/class/usb_power_delivery/.../sink-capabilities

Defined on filesysfs-class-usb_power_delivery

The sink capability message “Sink_Capabilities” contains a setof Power Data Objects (PDO) just like with source capabilities,but instead of describing the power capabilities, these objectsdescribe the power requirements.

The order of the objects in the sink capability message is thesame as with the source capabilities message.

Fixed Supplies

/sys/class/usb_power_delivery/.../sink-capabilities/1:fixed_supply/higher_capability

Defined on filesysfs-class-usb_power_delivery

This file shows the value of the Higher capability bit invsafe5V Fixed Supply Object. If the bit is set, then the sinkneeds more than vsafe5V(eg. 12 V) to provide full functionality.Valid values: 0, 1

/sys/class/usb_power_delivery/.../sink-capabilities/<position>:battery/operational_power

Defined on filesysfs-class-usb_power_delivery

The operational power that the sink requires at the givenvoltage range.

Standard Power Range (SPR) Programmable Power Supplies

/sys/class/usb_power_delivery/.../sink-capabilities/<position>:fixed_supply/fast_role_swap_current

Defined on filesysfs-class-usb_power_delivery

This file contains the value of the “Fast Role Swap USB Type-CCurrent” field that tells the current level the sink requiresafter a Fast Role Swap.0 - Fast Swap not supported”1 - Default USB Power”2 -1.5A@5V”3 -3.0A@5V

Variable Supplies

/sys/class/usb_power_delivery/.../sink-capabilities/<position>:fixed_supply/operational_current

Defined on filesysfs-class-usb_power_delivery

Operational current of the sink in milliamperes.

/sys/class/usb_power_delivery/.../sink-capabilities/<position>:variable_supply/operational_current

Defined on filesysfs-class-usb_power_delivery

The operational current in milliamperes that the sink requiresat the given Voltage range.

Battery Supplies

/sys/class/usb_power_delivery/.../source-capabilities

Defined on filesysfs-class-usb_power_delivery

The source capabilities message “Source_Capabilities” contains aset of Power Data Objects (PDO), each representing a type ofpower supply. The order of the PDO objects is defined in the USBPower Delivery Specification. Each PDO - power supply - willhave its own device, and the PDO device name will start with theobject position number as the first character followed by thepower supply type name (“:” as delimiter).

/sys/class/usb_power_delivery/.../source_capabilities/<position>:<type>

/sys/class/usb_power_delivery/.../source-capabilities/1:fixed_supply/usb_suspend_supported

Defined on filesysfs-class-usb_power_delivery

This file shows the value of the USB Suspend Supported bit invSafe5V Fixed Supply Object. If the bit is set then the devicewill follow the USB 2.0 and USB 3.2 rules for suspend andresume.

/sys/class/usb_power_delivery/.../source-capabilities/<position>:battery/maximum_power

Defined on filesysfs-class-usb_power_delivery

Maximum allowable Power in milliwatts.

/sys/class/usb_power_delivery/.../source-capabilities/<position>:fixed_supply/maximum_current

Defined on filesysfs-class-usb_power_delivery

Maximum current of the fixed source supply in milliamperes.

/sys/class/usb_power_delivery/.../source-capabilities/<position>:fixed_supply/peak_current

Defined on filesysfs-class-usb_power_delivery

This file shows the value of the Fixed Power Source Peak CurrentCapability field.

/sys/class/usb_power_delivery/.../source-capabilities/<position>:programmable_supply/pps_power_limited

Defined on filesysfs-class-usb_power_delivery

The PPS Power Limited bit indicates whether or not the sourcesupply will exceed the rated output power if requested.

Standard Power Range (SPR) Adjustable Voltage Supplies

/sys/class/usb_power_delivery/.../source-capabilities/<position>:variable_supply/maximum_current

Defined on filesysfs-class-usb_power_delivery

The maximum current in milliamperes that the source can supplyat the given Voltage range.

/sys/class/usb_power_delivery/.../version

Defined on filesysfs-class-usb_power_delivery

This is an optional attribute file showing the version of thespecific revision of the USB Power Delivery Specification. Inmost cases the specification version is not known and the fileis not available.

/sys/class/usb_role/

Defined on filesysfs-class-usb_role

Place in sysfs for USB Role Switches. USB Role Switch is adevice that can select the data role (host or device) for USBport.

/sys/class/usb_role/<switch>/connector

Defined on filesysfs-class-usb_role

Optional symlink to the USB Type-C connector.

/sys/class/usb_role/<switch>/role

Defined on filesysfs-class-usb_role

The current role of the switch. This attribute can be used forrequesting role swapping with non-USB Type-C ports. With USBType-C ports, the ABI defined for USB Type-C connector classmust be used.

Valid values:- none- host- device

/sys/class/vduse/

Defined on filesysfs-class-vduse

The vduse/ class sub-directory belongs to the VDUSEframework and provides a sysfs interface for configuringVDUSE devices.

/sys/class/vduse/<device-name>/

Defined on filesysfs-class-vduse

This directory entry is created when a VDUSE device iscreated via the control device.

/sys/class/vduse/<device-name>/msg_timeout

Defined on filesysfs-class-vduse

(RW) The timeout (in seconds) for waiting for the controlmessage’s response from userspace. Default value is 30s.Writing a ‘0’ to the file means to disable the timeout.

/sys/class/vduse/control/

Defined on filesysfs-class-vduse

This directory entry is created for the control deviceof VDUSE framework.

/sys/class/wakeup/

Defined on filesysfs-class-wakeup

The /sys/class/wakeup/ directory contains pointers to allwakeup sources in the kernel at that moment in time.

/sys/class/wakeup/.../active_count

Defined on filesysfs-class-wakeup

This file contains the number of times the wakeup source wasactivated.

/sys/class/wakeup/.../active_time_ms

Defined on filesysfs-class-wakeup

This file contains the amount of time the wakeup source hasbeen continuously active, in milliseconds. If the wakeupsource is not active, this file contains ‘0’.

/sys/class/wakeup/.../event_count

Defined on filesysfs-class-wakeup

This file contains the number of signaled wakeup eventsassociated with the wakeup source.

/sys/class/wakeup/.../expire_count

Defined on filesysfs-class-wakeup

This file contains the number of times the wakeup source’stimeout has expired.

/sys/class/wakeup/.../last_change_ms

Defined on filesysfs-class-wakeup

This file contains the monotonic clock time when the wakeupsource was touched last time, in milliseconds.

/sys/class/wakeup/.../max_time_ms

Defined on filesysfs-class-wakeup

This file contains the maximum amount of time this wakeupsource has been continuously active, in milliseconds.

/sys/class/wakeup/.../name

Defined on filesysfs-class-wakeup

This file contains the name of the wakeup source.

/sys/class/wakeup/.../prevent_suspend_time_ms

Defined on filesysfs-class-wakeup

The file contains the total amount of time this wakeup sourcehas been preventing autosleep, in milliseconds.

/sys/class/wakeup/.../total_time_ms

Defined on filesysfs-class-wakeup

This file contains the total amount of time this wakeup sourcehas been active, in milliseconds.

/sys/class/wakeup/.../wakeup_count

Defined on filesysfs-class-wakeup

This file contains the number of times the wakeup source mightabort suspend.

/sys/class/watchdog/watchdog1/access_cs0

Defined on filesysfs-class-watchdog

It is a read/write file. This attribute exists only if thesystem has booted from the alternate flash chip due toexpiration of a watchdog timer of AST2400/AST2500 whenalternate boot function was enabled with ‘aspeed,alt-boot’devicetree option for that watchdog or with an appropriateh/w strapping (for WDT2 only).

At alternate flash the ‘access_cs0’ sysfs node provides:

ast2400:

a way to get access to the primary SPI flashchip at CS0 after booting from the alternatechip at CS1.

ast2500:

a way to restore the normal address mappingfrom (CS0->CS1, CS1->CS0) to (CS0->CS0,CS1->CS1).

Clearing the boot code selection and timeout counter alsoresets to the initial state the chip select line mapping. Whenthe SoC is in normal mapping state (i.e. booted from CS0),clearing those bits does nothing for both versions of the SoC.For alternate boot mode (booted from CS1 due to wdt2expiration) the behavior differs as described above.

This option can be used with wdt2 (watchdog1) only.

When read, the current status of the boot code selection isshown. When written with any non-zero value, it clearsthe boot code selection and the timeout counter, which resultsin chipselect reset for AST2400/AST2500.

/sys/class/watchdog/watchdogn/bootstatus

Defined on filesysfs-class-watchdog

It is a read only file. It contains status of the watchdogdevice at boot. It is equivalent to WDIOC_GETBOOTSTATUS ofioctl interface.

/sys/class/watchdog/watchdogn/fw_version

Defined on filesysfs-class-watchdog

It is a read only file. It contains firmware version ofwatchdog device.

/sys/class/watchdog/watchdogn/identity

Defined on filesysfs-class-watchdog

It is a read only file. It contains identity string ofwatchdog device.

/sys/class/watchdog/watchdogn/nowayout

Defined on filesysfs-class-watchdog

It is a read/write file. While reading, it gives ‘1’if the device has the nowayout feature set, otherwiseit gives ‘0’. Writing a ‘1’ to the file enables thenowayout feature. Once set, the nowayout featurecannot be disabled, so writing a ‘0’ either has noeffect (if the feature was already disabled) orresults in a permission error.

/sys/class/watchdog/watchdogn/options

Defined on filesysfs-class-watchdog

It is a read only file. It contains options of watchdog device.

/sys/class/watchdog/watchdogn/pretimeout

Defined on filesysfs-class-watchdog

It is a read only file. It specifies the time in seconds beforetimeout when the pretimeout interrupt is delivered. Pretimeoutis an optional feature.

/sys/class/watchdog/watchdogn/pretimeout_available_governors

Defined on filesysfs-class-watchdog

It is a read only file. It shows the pretimeout governorsavailable for this watchdog.

/sys/class/watchdog/watchdogn/pretimeout_governor

Defined on filesysfs-class-watchdog

It is a read/write file. When read, the currently assignedpretimeout governor is returned. When written, it setsthe pretimeout governor.

/sys/class/watchdog/watchdogn/state

Defined on filesysfs-class-watchdog

It is a read only file. It gives active/inactive status ofwatchdog device.

/sys/class/watchdog/watchdogn/status

Defined on filesysfs-class-watchdog

It is a read only file. It contains watchdog device’sinternal status bits. It is equivalent to WDIOC_GETSTATUSof ioctl interface.

/sys/class/watchdog/watchdogn/timeleft

Defined on filesysfs-class-watchdog

It is a read only file. It contains value of time left forreset generation. It is equivalent to WDIOC_GETTIMELEFT ofioctl interface.

/sys/class/watchdog/watchdogn/timeout

Defined on filesysfs-class-watchdog

It is a read only file. It is read to know about currentvalue of timeout programmed.

/sys/class/zram-control/

Defined on filesysfs-class-zram

The zram-control/ class sub-directory belongs to zramdevice class

/sys/class/zram-control/hot_add

Defined on filesysfs-class-zram

RO attribute. Read operation will cause zram to add a newdevice and return its device id back to user (so one canuse /dev/zram<id>), or error code.

/sys/class/zram-control/hot_remove

Defined on filesysfs-class-zram

WO attribute. Remove a specific /dev/zramX device, where Xis a device_id provided by user.

Symbols under /sys/dev

/sys/dev

Defined on filesysfs-dev

The /sys/dev tree provides a method to look up the sysfspath for a device using the information returned fromstat(2). There are two directories, ‘block’ and ‘char’,beneath /sys/dev containing symbolic links with names ofthe form “<major>:<minor>”. These links point to thecorresponding 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 bedynamically created and destroyed as devices enter andleave the system.

Users:

mdadm <linux-raid@vger.kernel.org>

Symbols under /sys/devices

/sys/devices

Defined on filesysfs-devices

The /sys/devices tree contains a snapshot of theinternal state of the kernel device tree. Devices willbe added and removed dynamically as the machine runs,and between different kernel versions, the layout of thedevices within this tree will change.

Please do not rely on the format of this tree because ofthis. If a program wishes to find different things inthe tree, please use the /sys/class structure and relyon the symlinks there to point to the proper locationwithin the /sys/devices tree of the individual devices.Or rely on the uevent messages to notify programs ofdevices being added and removed from this tree to findthe location of those devices.

Note that sometimes not all devices along the directorychain will have emitted uevent messages, so userspaceprograms must be able to handle such occurrences.

Users:

udev <linux-hotplug-devel@lists.sourceforge.net>

/sys/devices/*/<our-device>/fuse

Defined on filesysfs-driver-tegra-fuse

read-only access to the efuses on Tegra20, Tegra30, Tegra114and Tegra124 SoC’s from NVIDIA. The efuses contain write oncedata programmed at the factory. The data is laid out in 32bitwords in LSB first format. Each bit represents a single valueas decoded from the fuse registers. Bits order/assignmentexactly matches the HW registers, including any unused bits.

Users:

any user space application which wants to read the efuses onTegra SoC’s

/sys/devices/*/<our-device>/nvmem

Defined on filesysfs-driver-jz4780-efuse

read-only access to the efuse on the Ingenic JZ4780 SoCThe SoC has a one time programmable 8K efuse that issplit into segments. The driver supports read only.The segments are:

0x000

64 bit

Random Number

0x008

128 bit

Ingenic Chip ID

0x018

128 bit

Customer ID

0x028

3520 bit

Reserved

0x1E0

8 bit

Protect Segment

0x1E1

2296 bit

HDMI Key

0x300

2048 bit

Security boot key

Users:

any user space application which wants to read the Chipand Customer ID

/sys/devices/*/xenbus/event_channels

Defined on filesysfs-devices-xenbus

Number of Xen event channels associated with a kernel basedparavirtualized device frontend or backend.

/sys/devices/*/xenbus/events

Defined on filesysfs-devices-xenbus

Total number of Xen events received for a Xen pv devicefrontend or backend.

/sys/devices/*/xenbus/jiffies_eoi_delayed

Defined on filesysfs-devices-xenbus

Summed up time in jiffies the EOI of an interrupt for a Xenpv device has been delayed in order to avoid stalls due toevent storms. This value rising is a first sign for a rogueother end of the pv device.

/sys/devices/*/xenbus/spurious_events

Defined on filesysfs-devices-xenbus

Number of events received for a Xen pv device which did notrequire any action. Too many spurious events in a row willtrigger delayed EOI processing.

/sys/devices/*/xenbus/spurious_threshold

Defined on filesysfs-devices-xenbus

Controls the tolerated number of subsequent spurious eventsbefore delayed EOI processing is triggered for a Xen pvdevice. Default is 1. This can be modified in case the otherend of the pv device is issuing spurious events on a regularbasis and is known not to be malicious on purpose. Raisingthe value for such cases can improve pv device performance.

/sys/devices/.../consumer:<consumer>

Defined on filesysfs-devices-consumer

The /sys/devices/.../consumer:<consumer> are symlinks to devicelinks where this device is the supplier. <consumer> denotes thename of the consumer in that device link and is of the formbus:device name. There can be zero or more of these symlinksfor a given device.

/sys/devices/.../coredump

Defined on filesysfs-devices-coredump

The /sys/devices/.../coredump attribute is only present when thedevice is bound to a driver, which provides the .coredump()callback. The attribute is write only. Anything written to thisfile will trigger the .coredump() callback.

Available when CONFIG_DEV_COREDUMP is enabled.

/sys/devices/.../firmware_node/

Defined on filesysfs-devices-firmware_node

The /sys/devices/.../firmware_node directory contains attributesallowing the user space to check and modify some firmwarerelated properties of given device.

/sys/devices/.../firmware_node/description

Defined on filesysfs-devices-firmware_node

The /sys/devices/.../firmware/description attribute contains a stringthat describes the device as provided by the _STR method in the ACPInamespace. This attribute is read-only. If the device does not havean _STR method associated with it in the ACPI namespace, thisattribute is not present.

/sys/devices/.../intel_spi_bios_locked

Defined on filesysfs-driver-spi-intel

This attribute allows the user space to check if theIntel SPI flash controller BIOS region is locked for writes.

/sys/devices/.../intel_spi_locked

Defined on filesysfs-driver-spi-intel

This attribute allows the user space to check if theIntel SPI flash controller locks supported opcodes.

/sys/devices/.../intel_spi_protected

Defined on filesysfs-driver-spi-intel

This attribute allows the userspace to check if theIntel SPI flash controller is write protected from the host.

/sys/devices/.../iommu

Defined on filesysfs-class-iommu

IOMMU drivers are able to link the IOMMU for agiven device here to allow association of device toIOMMU.

/sys/devices/.../lpss_ltr/

Defined on filesysfs-devices-lpss_ltr

The /sys/devices/.../lpss_ltr/ directory is only present fordevices included into the Intel Lynxpoint Low Power Subsystem(LPSS). If present, it contains attributes containing the LTRmode and the values of LTR registers of the device.

/sys/devices/.../lpss_ltr/auto_ltr

Defined on filesysfs-devices-lpss_ltr

The /sys/devices/.../lpss_ltr/auto_ltr attribute contains thecurrent 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 statusis not “active”, attempts to read from this attribute cause-EAGAIN to be returned.

/sys/devices/.../lpss_ltr/ltr_mode

Defined on filesysfs-devices-lpss_ltr

The /sys/devices/.../lpss_ltr/ltr_mode attribute contains aninteger 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 statusis not “active”, attempts to read from this attribute cause-EAGAIN to be returned.

/sys/devices/.../lpss_ltr/sw_ltr

Defined on filesysfs-devices-lpss_ltr

The /sys/devices/.../lpss_ltr/auto_ltr attribute contains thecurrent value of the device’s SW_LTR register (raw) representedas an 8-digit hexadecimal number.

This attribute is read-only. If the device’s runtime PM statusis not “active”, attempts to read from this attribute cause-EAGAIN to be returned.

/sys/devices/.../mmc_host/mmcX/mmcX:XXXX/enhanced_area_offset

Defined on filesysfs-devices-mmc

Enhanced area is a new feature defined in eMMC4.4 standard.eMMC4.4 or later card can support such feature. This kind ofarea can help to improve the card performance. If the featureis enabled, this attribute will indicate the start address ofenhanced data area. If not, this attribute will be -EINVAL.Unit Byte. Format decimal.

/sys/devices/.../mmc_host/mmcX/mmcX:XXXX/enhanced_area_size

Defined on filesysfs-devices-mmc

Enhanced area is a new feature defined in eMMC4.4 standard.eMMC4.4 or later card can support such feature. This kind ofarea can help to improve the card performance. If the featureis enabled, this attribute will indicate the size of enhanceddata area. If not, this attribute will be -EINVAL.Unit KByte. Format decimal.

/sys/devices/.../online

Defined on filesysfs-devices-online

The /sys/devices/.../online attribute is only present fordevices whose bus types provide .online() and .offline()callbacks. The number read from it (0 or 1) reflects the valueof 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 (ifsuccessful) its ‘offline’ field is updated accordingly. Inturn, if that number is 0 and ‘1’ (or ‘y’, or ‘Y’) is written tothis file, the device bus type’s .online() callback is executedfor the device and (if successful) its ‘offline’ field isupdated as appropriate.

After a successful execution of the bus type’s .offline()callback the device cannot be used for any purpose until eitherit is removed (i.e.device_del() is called for it), or its bustype’s .online() is executed successfully.

/sys/devices/.../physical_location

Defined on filesysfs-devices-physical_location

This directory contains information on physical location ofthe device connection point with respect to the system’shousing.

/sys/devices/.../physical_location/dock

Defined on filesysfs-devices-physical_location

“Yes” if the device connection point resides in a dockingstation or a port replicator. “No” otherwise.

/sys/devices/.../physical_location/horizontal_position

Defined on filesysfs-devices-physical_location

Describes horizontal position of the device connection point onthe panel surface.

/sys/devices/.../physical_location/lid

Defined on filesysfs-devices-physical_location

“Yes” if the device connection point resides on the lid oflaptop system. “No” otherwise.

/sys/devices/.../physical_location/panel

Defined on filesysfs-devices-physical_location

Describes which panel surface of the system’s housing thedevice connection point resides on.

/sys/devices/.../physical_location/vertical_position

Defined on filesysfs-devices-physical_location

Describes vertical position of the device connection point onthe panel surface.

/sys/devices/.../power/

Defined on filesysfs-devices-power

The /sys/devices/.../power directory contains attributesallowing the user space to check and modify some powermanagement related properties of given device.

/sys/devices/.../power/async

Defined on filesysfs-devices-power

The /sys/devices/.../async attribute allows the user space toenable or disable the device’s suspend and resume callbacks tobe executed asynchronously (ie. in separate threads, in parallelwith the main suspend/resume thread) during system-wide powertransitions (eg. suspend to RAM, hibernation).

All devices have one of the following two values for thepower/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/resumeof a device unless it is certain that all of the PM dependenciesof the device are known to the PM core. However, for somedevices this attribute is set to “enabled” by bus type code ordevice drivers and in that cases it should be safe to leave thedefault value.

/sys/devices/.../power/autosuspend_delay_ms

Defined on filesysfs-devices-power

The /sys/devices/.../power/autosuspend_delay_ms attributecontains the autosuspend delay value (in milliseconds). Somedrivers do not want their device to suspend as soon as itbecomes idle at run time; they want the device to remaininactive for a certain minimum period of time first. Thatperiod is called the autosuspend delay. Negative values willprevent the device from being suspended at run time (similarto writing “on” to the power/control attribute). Values >=1000 will cause the autosuspend timer expiration to be roundedup 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.

/sys/devices/.../power/control

Defined on filesysfs-devices-power

The /sys/devices/.../power/control attribute allows the userspace to control the run-time power management of the device.

All devices have one of the following two values for thepower/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 maybe subject to automatic power management, depending on theirdrivers. Changing this attribute to “on” prevents the driverfrom power managing the device at run time. Doing that whilethe device is suspended causes it to be woken up.

/sys/devices/.../power/pm_qos_latency_tolerance_us

Defined on filesysfs-devices-power

The /sys/devices/.../power/pm_qos_latency_tolerance_us attributecontains the PM QoS active state latency tolerance limit for thegiven device in microseconds. That is the maximum memory accesslatency the device can suffer without any visible adverseeffects on user space functionality. If that value is thestring “any”, the latency does not matter to user space at all,but hardware should not be allowed to set the latency tolerancefor the device automatically.

Reading “auto” from this file means that the maximum memoryaccess latency for the device may be determined automaticallyby the hardware as needed. Writing “auto” to it allows thehardware to be switched to this mode if there are no otherlatency tolerance requirements from the kernel side.

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

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

/sys/devices/.../power/pm_qos_no_power_off

Defined on filesysfs-devices-power

The /sys/devices/.../power/pm_qos_no_power_off attributeis used for manipulating the PM QoS “no power off” flag. Ifset, this flag indicates to the kernel that power should notbe 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 andhibernation.

/sys/devices/.../power/pm_qos_resume_latency_us

Defined on filesysfs-devices-power

The /sys/devices/.../power/pm_qos_resume_latency_us attributecontains the PM QoS resume latency limit for the given device,which is the maximum allowed time it can take to resume thedevice, after it has been suspended at run time, from a resumerequest to the moment the device will be ready to process I/O,in microseconds. If it is equal to 0, however, this means thatthe PM QoS resume latency may be arbitrary and the special value“n/a” means that user space cannot accept any resume latency atall 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 andhibernation.

/sys/devices/.../power/runtime_active_kids

Defined on filesysfs-devices-power

Reports the runtime PM children usage count of a device, or0 if the children will be ignored.

/sys/devices/.../power/runtime_active_time

Defined on filesysfs-devices-power

Reports the total time that the device has been active, inmilliseconds. Used for runtime PM statistics.

/sys/devices/.../power/runtime_enabled

Defined on filesysfs-devices-power

Is runtime PM enabled for this device?States are “enabled”, “disabled”, “forbidden” or acombination of the latter two.

/sys/devices/.../power/runtime_status

Defined on filesysfs-devices-power

The /sys/devices/.../power/runtime_status attribute containsthe current runtime PM status of the device, which may be“suspended”, “suspending”, “resuming”, “active”, “error” (fatalerror), or “unsupported” (runtime PM is disabled).

/sys/devices/.../power/runtime_suspended_time

Defined on filesysfs-devices-power

Reports total time that the device has been suspended, inmilliseconds. Used for runtime PM statistics.

/sys/devices/.../power/runtime_usage

Defined on filesysfs-devices-power

Reports the runtime PM usage count of a device.

/sys/devices/.../power/wakeup

Defined on filesysfs-devices-power

The /sys/devices/.../power/wakeup attribute allows the userspace to check if the device is enabled to wake up the systemfrom sleep states, such as the memory sleep state (suspend toRAM) and hibernation (suspend to disk), and to enable or disableit to do that as desired.

Some devices support “wakeup” events, which are hardware signalsused to activate the system from a sleep state. Such deviceshave one of the following two values for the sysfs power/wakeupfile:

  • “enabledn” to issue the events;

  • “disabledn” not to do so;

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

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

/sys/devices/.../power/wakeup_abort_count

Defined on filesysfs-devices-power

The /sys/devices/.../wakeup_abort_count attribute contains thenumber of times the processing of a wakeup event associated withthe device might have aborted system transition into a sleepstate in progress. This attribute is read-only. If the deviceis not capable to wake up the system from sleep states, thisattribute is not present. If the device is not enabled to wakeup the system from sleep states, this attribute is empty.

/sys/devices/.../power/wakeup_active

Defined on filesysfs-devices-power

The /sys/devices/.../wakeup_active attribute contains either 1,or 0, depending on whether or not a wakeup event associated withthe device is being processed (1). This attribute is read-only.If the device is not capable to wake up the system from sleepstates, this attribute is not present. If the device is notenabled to wake up the system from sleep states, this attributeis empty.

/sys/devices/.../power/wakeup_active_count

Defined on filesysfs-devices-power

The /sys/devices/.../wakeup_active_count attribute contains thenumber of times the processing of wakeup events associated withthe device was completed (at the kernel level). This attributeis read-only. If the device is not capable to wake up thesystem from sleep states, this attribute is not present. Ifthe device is not enabled to wake up the system from sleepstates, this attribute is empty.

/sys/devices/.../power/wakeup_count

Defined on filesysfs-devices-power

The /sys/devices/.../wakeup_count attribute contains the numberof signaled wakeup events associated with the device. Thisattribute is read-only. If the device is not capable to wake upthe system from sleep states, this attribute is not present.If the device is not enabled to wake up the system from sleepstates, this attribute is empty.

/sys/devices/.../power/wakeup_expire_count

Defined on filesysfs-devices-power

The /sys/devices/.../wakeup_expire_count attribute contains thenumber of times a wakeup event associated with the device hasbeen reported with a timeout that expired. This attribute isread-only. If the device is not capable to wake up the systemfrom sleep states, this attribute is not present. If thedevice is not enabled to wake up the system from sleep states,this attribute is empty.

/sys/devices/.../power/wakeup_last_time_ms

Defined on filesysfs-devices-power

The /sys/devices/.../wakeup_last_time_ms attribute containsthe value of the monotonic clock corresponding to the time ofsignaling the last wakeup event associated with the device, inmilliseconds. This attribute is read-only. If the device isnot enabled to wake up the system from sleep states, thisattribute is not present. If the device is not enabled to wakeup the system from sleep states, this attribute is empty.

/sys/devices/.../power/wakeup_max_time_ms

Defined on filesysfs-devices-power

The /sys/devices/.../wakeup_max_time_ms attribute containsthe maximum time of processing a single wakeup event associatedwith the device, in milliseconds. This attribute is read-only.If the device is not capable to wake up the system from sleepstates, this attribute is not present. If the device is notenabled to wake up the system from sleep states, this attributeis empty.

/sys/devices/.../power/wakeup_prevent_sleep_time_ms

Defined on filesysfs-devices-power

The /sys/devices/.../wakeup_prevent_sleep_time_ms attributecontains the total time the device has been preventingopportunistic transitions to sleep states from occurring.This attribute is read-only. If the device is not capable towake up the system from sleep states, this attribute is notpresent. If the device is not enabled to wake up the systemfrom sleep states, this attribute is empty.

/sys/devices/.../power/wakeup_total_time_ms

Defined on filesysfs-devices-power

The /sys/devices/.../wakeup_total_time_ms attribute containsthe total time of processing wakeup events associated with thedevice, in milliseconds. This attribute is read-only. If thedevice is not capable to wake up the system from sleep states,this attribute is not present. If the device is not enabled towake up the system from sleep states, this attribute is empty.

/sys/devices/.../power_resources_D0/

Defined on filesysfs-devices-power_resources_D0

The /sys/devices/.../power_resources_D0/ directory is onlypresent for device objects representing ACPI device nodes thatuse ACPI power resources for power management.

If present, it contains symbolic links to device directoriesrepresenting ACPI power resources that need to be turned on forthe given device node to be in ACPI power state D0. The namesof the links are the same as the names of the directories theypoint to.

/sys/devices/.../power_resources_D1/

Defined on filesysfs-devices-power_resources_D1

The /sys/devices/.../power_resources_D1/ directory is onlypresent for device objects representing ACPI device nodes thatuse ACPI power resources for power management and support ACPIpower state D1.

If present, it contains symbolic links to device directoriesrepresenting ACPI power resources that need to be turned on forthe given device node to be in ACPI power state D1. The namesof the links are the same as the names of the directories theypoint to.

/sys/devices/.../power_resources_D2/

Defined on filesysfs-devices-power_resources_D2

The /sys/devices/.../power_resources_D2/ directory is onlypresent for device objects representing ACPI device nodes thatuse ACPI power resources for power management and support ACPIpower state D2.

If present, it contains symbolic links to device directoriesrepresenting ACPI power resources that need to be turned on forthe given device node to be in ACPI power state D2. The namesof the links are the same as the names of the directories theypoint to.

/sys/devices/.../power_resources_D3hot/

Defined on filesysfs-devices-power_resources_D3hot

The /sys/devices/.../power_resources_D3hot/ directory is onlypresent for device objects representing ACPI device nodes thatuse ACPI power resources for power management and support ACPIpower state D3hot.

If present, it contains symbolic links to device directoriesrepresenting ACPI power resources that need to be turned on forthe given device node to be in ACPI power state D3hot. Thenames of the links are the same as the names of the directoriesthey point to.

/sys/devices/.../power_resources_wakeup/

Defined on filesysfs-devices-power_resources_wakeup

The /sys/devices/.../power_resources_wakeup/ directory is onlypresent for device objects representing ACPI device nodes thatrequire ACPI power resources for wakeup signaling.

If present, it contains symbolic links to device directoriesrepresenting ACPI power resources that need to be turned on forthe given device node to be able to signal wakeup. The names ofthe links are the same as the names of the directories theypoint to.

/sys/devices/.../power_state

Defined on filesysfs-devices-power_state

The /sys/devices/.../power_state attribute is only present fordevice objects representing ACPI device nodes that provide powermanagement methods.

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

If the device node uses shared ACPI power resources, this statedetermines a list of power resources required not to be turnedoff. However, some power resources needed by the device node inhigher-power (lower-number) states may also be ON because ofsome other devices using them at the moment.

This attribute is read-only.

/sys/devices/.../real_power_state

Defined on filesysfs-devices-real_power_state

The /sys/devices/.../real_power_state attribute is only presentfor device objects representing ACPI device nodes that providepower management methods and use ACPI power resources for powermanagement.

If present, it contains a string representing the real ACPIpower state of the given device node as returned by the _PSCcontrol method or inferred from the configuration of powerresources. Its possible values, “D0”, “D1”, “D2”, “D3hot”, and“D3cold”, reflect the power state names defined by the ACPIspecification (ACPI 4 and above).

In some situations the value of this attribute may be differentfrom the value of the /sys/devices/.../power_state attribute forthe same device object. If that happens, some shared powerresources used by the device node are only ON because of someother devices using them at the moment.

This attribute is read-only.

/sys/devices/.../removable

Defined on filesysfs-devices-removable

Information about whether a given device can be removed from theplatform by the user. This is determined by its subsystem in abus / platform-specific way. This attribute is only present fordevices that can support determining such information:

“removable”

device can be removed from the platform by the user

“fixed”

device is fixed to the platform / cannot be removedby the user.

“unknown”

The information is unavailable / cannot be deduced.

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

/sys/devices/.../resource_in_use

Defined on filesysfs-devices-resource_in_use

The /sys/devices/.../resource_in_use attribute is only presentfor device objects representing ACPI power resources.

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

This attribute is read-only.

/sys/devices/.../software_node/

Defined on filesysfs-devices-software_node

This directory contains the details about the device that areassigned in kernel (i.e. software), as opposed to thefirmware_node directory which contains the details that areassigned for the device in firmware. The main attributes in thedirectory will show the properties the device has, and therelationship it has to some of the other devices.

/sys/devices/.../state_synced

Defined on filesysfs-devices-state_synced

The /sys/devices/.../state_synced attribute is only present fordevices whose bus types or driver provides the .sync_state()callback. The number read from it (0 or 1) reflects the valueof the device’s ‘state_synced’ field. A value of 0 means the.sync_state() callback hasn’t been called yet. A value of 1means the .sync_state() callback has been called.

Generally, if a device hassync_state() support and has some ofthe resources it provides enabled at the time the kernel starts(Eg: enabled by hardware reset or bootloader or anything thatrun before the kernel starts), then it’ll keep those resourcesenabled and in a state that’s compatible with the state theywere in at the start of the kernel. The device will stop doingthis only when thesync_state() callback has been called --which happens only when all its consumer devices are registeredand have probed successfully. Resources that were left disabledat the time the kernel starts are not affected or limited inany way bysync_state() callbacks.

Writing “1” to this file will force a call to the device’ssync_state() function if it hasn’t been called already. Thesync_state() call happens independent of the state of theconsumer devices.

/sys/devices/.../sun

Defined on filesysfs-devices-sun

The file contains a Slot-unique ID which provided by the _SUNmethod in the ACPI namespace. The value is written in AdvancedConfiguration and Power Interface Specification as follows:

“The _SUN value is required to be unique among the slots ofthe same type. It is also recommended that this number matchthe slot number printed on the physical slot whenever possible.”

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

/sys/devices/.../supplier:<supplier>

Defined on filesysfs-devices-supplier

The /sys/devices/.../supplier:<supplier> are symlinks to devicelinks where this device is the consumer. <supplier> denotes thename of the supplier in that device link and is of the formbus:device name. There can be zero or more of these symlinksfor a given device.

/sys/devices/.../waiting_for_supplier

Defined on filesysfs-devices-waiting_for_supplier

The /sys/devices/.../waiting_for_supplier attribute is onlypresent when fw_devlink kernel command line option is enabledand is set to something stricter than “permissive”. It isremoved once a device probes successfully (because theinformation is no longer relevant). The number read from it (0or 1) reflects whether the device is waiting for one or moresuppliers to be added and then linked to using device linksbefore the device can probe.

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

/sys/devices/../../gisb_arb_timeout

Defined on filesysfs-platform-brcmstb-gisb-arb

Returns the currently configured raw timeout value of theBroadcom Set Top Box internal GISB bus arbiter. Minimum valueis 1, and maximum value is 0xffffffff.

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS620A:00/protection_level

Defined on filesysfs-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).

Users:

KToshiba

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS620A:00/reset_protection

Defined on filesysfs-driver-toshiba_haps

This file turns off the built-in accelerometer for a fewseconds and then restore normal operation. Accepting 1 as theonly parameter.

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/available_kbd_modes

Defined on filesysfs-driver-toshiba_acpi

This file shows the supported keyboard backlight modesthe 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”

Users:

KToshiba

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/cooling_method

Defined on filesysfs-driver-toshiba_acpi

This file controls the Cooling Method feature.Reading this file prints two values, the first is the actual cooling methodand 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

Users:

KToshiba

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/fan

Defined on filesysfs-driver-toshiba_acpi

This file controls the state of the internal fan, validvalues are:

  • 0 -> OFF

  • 1 -> ON

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/kbd_backlight_mode

Defined on filesysfs-driver-toshiba_acpi

This file controls the keyboard backlight operation mode, validvalues are:

  • 0x1 -> FN-Z

  • 0x2 -> AUTO (also called TIMER)

  • 0x8 -> ON

  • 0x10 -> OFF

Note that from kernel 3.16 onwards this file accepts all listedparameters, kernel 3.15 only accepts the first two (FN-Z andAUTO).Also note that toggling this value on type 1 devices, requiresa reboot for changes to take effect.

Users:

KToshiba

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/kbd_backlight_timeout

Defined on filesysfs-driver-toshiba_acpi

This file controls the timeout of the keyboard backlightwhenever 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 firstkeyboard type, the kernel 3.16 added support for the secondtype and the range accepted for type 2 is 1-60.See the entry named “kbd_type”

Users:

KToshiba

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/kbd_function_keys

Defined on filesysfs-driver-toshiba_acpi

This file controls the Special Functions (hotkeys) operationmode, valid values are:

  • 0 -> Normal Operation

  • 1 -> Special Functions

In the “Normal Operation” mode, the F{1-12} keys are as usualand the hotkeys are accessed via FN-F{1-12}.In the “Special Functions” mode, the F{1-12} keys trigger thehotkey and the F{1-12} keys are accessed via FN-F{1-12}.Note that toggling this value requires a reboot for changes totake effect.

Users:

KToshiba

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/kbd_type

Defined on filesysfs-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

Users:

KToshiba

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/panel_power_on

Defined on filesysfs-driver-toshiba_acpi

This file controls whether the laptop should turn ON wheneverthe LID is opened, valid values are:

  • 0 -> Disabled

  • 1 -> Enabled

Note that toggling this value requires a reboot for changes totake effect.

Users:

KToshiba

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/position

Defined on filesysfs-driver-toshiba_acpi

This file shows the absolute position of the built-inaccelereometer.

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/sleep_functions_on_battery

Defined on filesysfs-driver-toshiba_acpi

This file controls the USB Sleep Functions under battery, andset the level at which point they will be disabled, acceptedvalues can be:

  • 0 -> Disabled

  • 1-100 -> Battery level to disable sleep functions

Currently it prints two values, the first one indicates if thefeature is enabled or disabled, while the second one shows thecurrent battery level set.Note that when the value is set to disabled, the sleep functionwill only work when connected to power.

Users:

KToshiba

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/touchpad

Defined on filesysfs-driver-toshiba_acpi

This files controls the status of the touchpad and pointingstick (if available), valid values are:

  • 0 -> OFF

  • 1 -> ON

Users:

KToshiba

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/usb_rapid_charge

Defined on filesysfs-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 totake effect.

Users:

KToshiba

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/usb_sleep_charge

Defined on filesysfs-driver-toshiba_acpi

This file controls the USB Sleep & Charge charging mode, whichcan be:

  • 0 -> Disabled (0x00)

  • 1 -> Alternate (0x09)

  • 2 -> Auto (0x21)

  • 3 -> Typical (0x11)

Note that from kernel 4.1 onwards this file accepts all listedvalues, kernel 4.0 only supports the first three.Note that this feature only works when connected to power, ifyou want to use it under battery, see the entry named“sleep_functions_on_battery”

Users:

KToshiba

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/usb_sleep_music

Defined on filesysfs-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, ifyou want to use it under battery, see the entry named“sleep_functions_on_battery”

Users:

KToshiba

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/usb_three

Defined on filesysfs-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 totake effect.

Users:

KToshiba

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/version

Defined on filesysfs-driver-toshiba_acpi

This file shows the current version of the driver

Users:

KToshiba

/sys/devices/cpu/events/

/sys/devices/cpu/events/branch-misses

/sys/devices/cpu/events/cache-references

/sys/devices/cpu/events/cache-misses

/sys/devices/cpu/events/stalled-cycles-frontend

/sys/devices/cpu/events/branch-instructions

/sys/devices/cpu/events/stalled-cycles-backend

/sys/devices/cpu/events/instructions

/sys/devices/cpu/events/cpu-cycles

Defined on filesysfs-bus-event_source-devices-events

Generic performance monitoring events

A collection of performance monitoring events that may besupported by many/most CPUs. These events can be monitoredusing 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”.

/sys/devices/hisi_ptt<sicl_id>_<core_id>/requester_filters

Defined on filesysfs-bus-event_source-devices-hisi_ptt

This directory contains the files providing the PCIe Requester filtersinformation used for PTT trace. Each file is named after the supportedEndpoint device name <domain>:<bus>:<device>.<function>.

See the description of the “filter” inHiSilicon PCIe Tune and Trace devicefor more information.

/sys/devices/hisi_ptt<sicl_id>_<core_id>/requester_filters/<bdf>

Defined on filesysfs-bus-event_source-devices-hisi_ptt

(Read) Indicates the filter value of this Requester filter, whichcan be used to control the TLP headers to trace by the PTT trace.

/sys/devices/hisi_ptt<sicl_id>_<core_id>/requester_filters/multiselect

Defined on filesysfs-bus-event_source-devices-hisi_ptt

(Read) Indicates if this kind of filter can be selected at the sametime as others filters, or must be used on it’s own. 1 indicatesthe former case and 0 indicates the latter.

/sys/devices/hisi_ptt<sicl_id>_<core_id>/root_port_filters

Defined on filesysfs-bus-event_source-devices-hisi_ptt

This directory contains the files providing the PCIe Root Port filtersinformation used for PTT trace. Each file is named after the supportedRoot Port device name <domain>:<bus>:<device>.<function>.

See the description of the “filter” inHiSilicon PCIe Tune and Trace devicefor more information.

/sys/devices/hisi_ptt<sicl_id>_<core_id>/root_port_filters/<bdf>

Defined on filesysfs-bus-event_source-devices-hisi_ptt

(Read) Indicates the filter value of this Root Port filter, whichcan be used to control the TLP headers to trace by the PTT trace.

/sys/devices/hisi_ptt<sicl_id>_<core_id>/root_port_filters/multiselect

Defined on filesysfs-bus-event_source-devices-hisi_ptt

(Read) Indicates if this kind of filter can be selected at the sametime as others filters, or must be used on it’s own. 1 indicatesthe former case and 0 indicates the latter.

/sys/devices/hv_24x7/cpumask

Defined on filesysfs-bus-event_source-devices-hv_24x7

read onlyThis sysfs file exposes the cpumask which is designated to makeHCALLs to retrieve hv-24x7 pmu event counter data.

/sys/devices/hv_24x7/interface/chipspersocket

Defined on filesysfs-bus-event_source-devices-hv_24x7

read onlyThis sysfs interface exposes the number of chips per socketpresent in the system.

/sys/devices/hv_24x7/interface/coresperchip

Defined on filesysfs-bus-event_source-devices-hv_24x7

read onlyThis sysfs interface exposes the number of cores per chippresent in the system.

/sys/devices/hv_24x7/interface/sockets

Defined on filesysfs-bus-event_source-devices-hv_24x7

read onlyThis sysfs interface exposes the number of sockets present in thesystem.

/sys/devices/hv_gpci/cpumask

Defined on filesysfs-bus-event_source-devices-hv_gpci

read onlyThis sysfs file exposes the cpumask which is designated to makeHCALLs to retrieve hv-gpci pmu event counter data.

/sys/devices/hv_gpci/interface/affinity_domain_via_domain

Defined on filesysfs-bus-event_source-devices-hv_gpci

admin read onlyThis sysfs file exposes the system topology information by making HCALLH_GET_PERF_COUNTER_INFO. The HCALL is made with counter request valueAFFINITY_DOMAIN_INFORMATION_BY_DOMAIN(0xB0).

  • This sysfs file will be created only for power10 and above platforms.

  • User needs root privileges to read data from this sysfs file.

  • This sysfs file will be created, only when the HCALL returns “H_SUCCESS”,“H_AUTHORITY” or “H_PARAMETER” as the return type.

    HCALL with return error type “H_AUTHORITY” can be resolved duringruntime by setting “Enable Performance Information Collection” option.

  • The end user reading this sysfs file must decode the content as perunderlying platform/firmware.

Possible error codes while reading this sysfs file:

  • “-EPERM”Partition is not permitted to retrieve performance information,

    required to set “Enable Performance Information Collection” option.

  • “-EIO”Can’t retrieve system information because of invalid buffer length/invalid address

    or because of some hardware error. Refer to getPerfCountInfo documentation formore information.

  • “-EFBIG” : System information exceeds PAGE_SIZE.

/sys/devices/hv_gpci/interface/affinity_domain_via_partition

Defined on filesysfs-bus-event_source-devices-hv_gpci

admin read onlyThis sysfs file exposes the system topology information by making HCALLH_GET_PERF_COUNTER_INFO. The HCALL is made with counter request valueAFFINITY_DOMAIN_INFORMATION_BY_PARTITION(0xB1).

  • This sysfs file will be created only for power10 and above platforms.

  • User needs root privileges to read data from this sysfs file.

  • This sysfs file will be created, only when the HCALL returns “H_SUCCESS”,“H_AUTHORITY” or “H_PARAMETER” as the return type.

    HCALL with return error type “H_AUTHORITY” can be resolved duringruntime by setting “Enable Performance Information Collection” option.

  • The end user reading this sysfs file must decode the content as perunderlying platform/firmware.

Possible error codes while reading this sysfs file:

  • “-EPERM”Partition is not permitted to retrieve performance information,

    required to set “Enable Performance Information Collection” option.

  • “-EIO”Can’t retrieve system information because of invalid buffer length/invalid address

    or because of some hardware error. Refer to getPerfCountInfo documentation formore information.

  • “-EFBIG” : System information exceeds PAGE_SIZE.

/sys/devices/hv_gpci/interface/affinity_domain_via_virtual_processor

Defined on filesysfs-bus-event_source-devices-hv_gpci

admin read onlyThis sysfs file exposes the system topology information by making HCALLH_GET_PERF_COUNTER_INFO. The HCALL is made with counter request valueAFFINITY_DOMAIN_INFORMATION_BY_VIRTUAL_PROCESSOR(0xA0).

  • This sysfs file will be created only for power10 and above platforms.

  • User needs root privileges to read data from this sysfs file.

  • This sysfs file will be created, only when the HCALL returns “H_SUCCESS”,“H_AUTHORITY” or “H_PARAMETER” as the return type.

    HCALL with return error type “H_AUTHORITY” can be resolved duringruntime by setting “Enable Performance Information Collection” option.

  • The end user reading this sysfs file must decode the content as perunderlying platform/firmware.

Possible error codes while reading this sysfs file:

  • “-EPERM”Partition is not permitted to retrieve performance information,

    required to set “Enable Performance Information Collection” option.

  • “-EIO”Can’t retrieve system information because of invalid buffer length/invalid address

    or because of some hardware error. Refer to getPerfCountInfo documentation formore information.

  • “-EFBIG” : System information exceeds PAGE_SIZE.

/sys/devices/hv_gpci/interface/processor_bus_topology

Defined on filesysfs-bus-event_source-devices-hv_gpci

admin read onlyThis sysfs file exposes the system topology information by making HCALLH_GET_PERF_COUNTER_INFO. The HCALL is made with counter request valuePROCESSOR_BUS_TOPOLOGY(0xD0).

  • This sysfs file will be created only for power10 and above platforms.

  • User needs root privileges to read data from this sysfs file.

  • This sysfs file will be created, only when the HCALL returns “H_SUCCESS”,“H_AUTHORITY” or “H_PARAMETER” as the return type.

    HCALL with return error type “H_AUTHORITY” can be resolved duringruntime by setting “Enable Performance Information Collection” option.

  • The end user reading this sysfs file must decode the content as perunderlying platform/firmware.

Possible error codes while reading this sysfs file:

  • “-EPERM”Partition is not permitted to retrieve performance information,

    required to set “Enable Performance Information Collection” option.

  • “-EIO”Can’t retrieve system information because of invalid buffer length/invalid address

    or because of some hardware error. Refer to getPerfCountInfo documentation formore information.

  • “-EFBIG” : System information exceeds PAGE_SIZE.

/sys/devices/hv_gpci/interface/processor_config

Defined on filesysfs-bus-event_source-devices-hv_gpci

admin read onlyThis sysfs file exposes the system topology information by making HCALLH_GET_PERF_COUNTER_INFO. The HCALL is made with counter request valuePROCESSOR_CONFIG(0x90).

  • This sysfs file will be created only for power10 and above platforms.

  • User needs root privileges to read data from this sysfs file.

  • This sysfs file will be created, only when the HCALL returns “H_SUCCESS”,“H_AUTHORITY” or “H_PARAMETER” as the return type.

    HCALL with return error type “H_AUTHORITY” can be resolved duringruntime by setting “Enable Performance Information Collection” option.

  • The end user reading this sysfs file must decode the content as perunderlying platform/firmware.

Possible error codes while reading this sysfs file:

  • “-EPERM”Partition is not permitted to retrieve performance information,

    required to set “Enable Performance Information Collection” option.

  • “-EIO”Can’t retrieve system information because of invalid buffer length/invalid address

    or because of some hardware error. Refer to getPerfCountInfo documentation formore information.

  • “-EFBIG” : System information exceeds PAGE_SIZE.

/sys/devices/pci0000:00/*/QEMU0001:00/capability for MMIO

/sys/bus/pci/drivers/pvpanic-pci/0000:00:0*.0/capability for PCI

Defined on filesysfs-bus-pci-devices-pvpanic

Read-only attribute. Capabilities of pvpanic device whichare supported by QEMU.

Format: %x.

Detailed bit definition refers to section <Bit Definition>from pvpanic device specification:https://git.qemu.org/?p=qemu.git;a=blob_plain;f=docs/specs/pvpanic.txt

/sys/devices/pci0000:00/*/QEMU0001:00/events

/sys/bus/pci/drivers/pvpanic-pci/0000:00:0*.0/events for PCI

Defined on filesysfs-bus-pci-devices-pvpanic

RW attribute. Set/get which features in-use. This attributeis used to enable/disable feature(s) of pvpanic device.Notice that this value should be a subset of capability.

Format: %x.

Also refer to pvpanic device specification.

/sys/devices/pci0000:00/<dev>/avs/fw_version

Defined on filesysfs-bus-pci-devices-avs

Version of AudioDSP firmware ASoC avs driver is communicatingwith.

Format: %d.%d.%d.%d, type:major:minor:build.

/sys/devices/pci0000:00/<dev>/fw_info

Defined on filesysfs-bus-pci-devices-catpt

Detailed AudioDSP firmware build information includingbuild hash and log-providers hash. This information isobtained during initial handshake with firmware.Format: %s.

/sys/devices/pci0000:00/<dev>/fw_version

Defined on filesysfs-bus-pci-devices-catpt

Version of AudioDSP firmware ASoC catpt driver iscommunicating with.

Format: %d.%d.%d.%d, type:major:minor:build.

/sys/devices/pciDDDD:BB

/sys/devices/.../pciDDDD:BB

Defined on filesysfs-devices-pci-host-bridge

A PCI host bridge device parents a PCI bus device topology. PCIcontrollers may also parent host bridges. The DDDD:BB formatconveys the PCI domain (ACPI segment) number and root bus number(in hexadecimal) of the host bridge. Note that the domain numbermay be larger than the 16-bits that the “DDDD” format impliesfor emulated host-bridges.

/sys/devices/platform/*/cnqf_enable

Defined on filesysfs-amd-pmf

Reading this file tells if the AMD Platform Management(PMF)Cool n Quiet Framework(CnQF) feature is enabled or not.

This feature is not enabled by default and gets only turned onif OEM BIOS passes a “flag” to PMF ACPI function (index 11 or 12)or in case the user writes “on”.

To turn off CnQF user can write “off” to the sysfs node.Note: Systems that support auto mode will not have this sysfs fileavailable.

/sys/devices/platform/.../power_on_reason

Defined on filesysfs-platform-power-on-reason

Shows system power on reason. The following strings/reasons canbe read (the list can be extended):“regular power-up”, “RTC wakeup”, “watchdog timeout”,“software reset”, “reset button action”, “CPU clock failure”,“crystal oscillator failure”, “brown-out reset”,“unknown reason”.

The file is read only.

/sys/devices/platform/.../ufshci_capabilities/man_id

Defined on filesysfs-driver-ufs

Host Capabilities register group: manufacturer ID register.Symbol - HCMID. This file shows the UFSHCD manufacturer id.The Manufacturer ID is defined by JEDEC in JEDEC-JEP106.The file is read only.

/sys/devices/platform/.../ufshci_capabilities/product_id

Defined on filesysfs-driver-ufs

Host Capabilities register group: product ID register.Symbol - HCPID. This file shows the UFSHCD product id.The content of this register is vendor specific.The file is read only.

/sys/devices/platform/.../ufshci_capabilities/version

Defined on filesysfs-driver-ufs

Host Capabilities register group: UFS version register.Symbol - VER. This file shows the UFSHCD version.Example: Version 3.12 would be represented as 0000_0312h.The file is read only.

/sys/devices/platform/8086<x>:00/firmware_version

Defined on filesysfs-platform-sst-atom

LPE Firmware version for SST driver on all atomplatforms (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

/sys/devices/platform/<i2c-demux-name>/available_masters

Defined on filesysfs-platform-i2c-demux-pinctrl

Reading the file will give you a list of masters which can beselected for a demultiplexed bus. The format is“<index>:<name>”. Example from a Renesas Lager board:

0:/i2c@e6500000 1:/i2c@e6508000

/sys/devices/platform/<i2c-demux-name>/current_master

Defined on filesysfs-platform-i2c-demux-pinctrl

This file selects/shows the active I2C master for a demultiplexedbus. It uses the <index> value from the file ‘available_masters’.

/sys/devices/platform/<phy-name>/role

Defined on filesysfs-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.

/sys/devices/platform/<platform>/available_mini_led_mode

Defined on filesysfs-platform-asus-wmi

DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury

List the available mini-led modes.

/sys/devices/platform/<platform>/boot_sound

Defined on filesysfs-platform-asus-wmi

DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury
Set if the BIOS POST sound is played on boot.
  • 0 - False,

  • 1 - True

/sys/devices/platform/<platform>/camera

Defined on filesysfs-platform-asus-wmi

Control the camera. 1 means on, 0 means off.

/sys/devices/platform/<platform>/cardr

Defined on filesysfs-platform-asus-wmi

Control the card reader. 1 means on, 0 means off.

/sys/devices/platform/<platform>/charge_mode

Defined on filesysfs-platform-asus-wmi

DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury
Get the current charging mode being used:
  • 1 - Barrel connected charger,

  • 2 - USB-C charging

  • 3 - Both connected, barrel used for charging

/sys/devices/platform/<platform>/cpufv

Defined on filesysfs-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

/sys/devices/platform/<platform>/dgpu_disable

Defined on filesysfs-platform-asus-wmi

DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury
Disable discrete GPU:
  • 0 - Enable dGPU,

  • 1 - Disable dGPU

/sys/devices/platform/<platform>/egpu_connected

Defined on filesysfs-platform-asus-wmi

DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury
Show if the egpu (XG Mobile) is correctly connected:
  • 0 - False,

  • 1 - True

/sys/devices/platform/<platform>/egpu_enable

Defined on filesysfs-platform-asus-wmi

DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury

Enable the external GPU paired with ROG X-Flow laptops.Toggling this setting will also trigger ACPI to disable the dGPU:

  • 0 - Disable,

  • 1 - Enable

/sys/devices/platform/<platform>/etr3

Defined on filesysfs-platform-intel-pmc

The file exposes “Extended Test Mode Register 3” globalreset bits. The bits are used during an Intel platformmanufacturing process to indicate that consequent resetof the platform is a “global reset”. This type of resetis required in order for manufacturing configurationsto take effect.

Display global reset setting bits for PMC.

  • bit 31 - global reset is locked

  • bit 20 - global reset is set

Writing bit 20 value to the etr3 will inducea platform “global reset” upon consequent platform reset,in case the register is not locked.The “global reset bit” should be locked on a productionsystem and the file is in read-only mode.

/sys/devices/platform/<platform>/fan_boost_mode

Defined on filesysfs-platform-asus-wmi

Fan boost mode:
  • 0 - normal,

  • 1 - overboost,

  • 2 - silent

/sys/devices/platform/<platform>/gpu_mux_mode

Defined on filesysfs-platform-asus-wmi

DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury

Switch the GPU hardware MUX mode. Laptops with this feature cancan be toggled to boot with only the dGPU (discrete mode) or instandard Optimus/Hybrid mode. On switch a reboot is required:

  • 0 - Discrete GPU,

  • 1 - Optimus/Hybrid,

/sys/devices/platform/<platform>/lid_resume

Defined on filesysfs-platform-asus-wmi

Resume on lid open. 1 means on, 0 means off.

/sys/devices/platform/<platform>/mcu_powersave

Defined on filesysfs-platform-asus-wmi

DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury
Set if the MCU can go in to low-power mode on system sleep
  • 0 - False,

  • 1 - True

/sys/devices/platform/<platform>/mini_led_mode

Defined on filesysfs-platform-asus-wmi

DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury
Change the mini-LED mode:
  • 0 - Single-zone,

  • 1 - Multi-zone

  • 2 - Multi-zone strong (available on newer generation mini-led)

/sys/devices/platform/<platform>/nv_dynamic_boost

Defined on filesysfs-platform-asus-wmi

DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury
Set the dynamic boost limit of the Nvidia dGPU:
  • min=5, max=25

/sys/devices/platform/<platform>/nv_temp_target

Defined on filesysfs-platform-asus-wmi

DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury
Set the target temperature limit of the Nvidia dGPU:
  • min=75, max=87

/sys/devices/platform/<platform>/panel_od

Defined on filesysfs-platform-asus-wmi

DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury
Enable an LCD response-time boost to reduce or remove ghosting:
  • 0 - Disable,

  • 1 - Enable

/sys/devices/platform/<platform>/ppt_apu_sppt

Defined on filesysfs-platform-asus-wmi

DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury
Set the APU SPPT limit. Shown on full AMD systems only:
  • min=5, max=130

/sys/devices/platform/<platform>/ppt_fppt

Defined on filesysfs-platform-asus-wmi

DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury
Set the Fast Package Power Tracking Limit of CPU. AMD+Nvidia only:
  • min=5, max=250

/sys/devices/platform/<platform>/ppt_pl1_spl

Defined on filesysfs-platform-asus-wmi

DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury

Set the Package Power Target total of CPU: PL1 on Intel, SPL on AMD.Shown on Intel+Nvidia or AMD+Nvidia based systems:

  • min=5, max=250

/sys/devices/platform/<platform>/ppt_pl2_sppt

Defined on filesysfs-platform-asus-wmi

DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury

Set the Slow Package Power Tracking Limit of CPU: PL2 on Intel, SPPT,on AMD. Shown on Intel+Nvidia or AMD+Nvidia based systems:

  • min=5, max=250

/sys/devices/platform/<platform>/ppt_platform_sppt

Defined on filesysfs-platform-asus-wmi

DEPRECATED, WILL BE REMOVED SOON: please use asus-armoury
Set the platform SPPT limit. Shown on full AMD systems only:
  • min=5, max=130

/sys/devices/platform/<platform>/throttle_thermal_policy

Defined on filesysfs-platform-asus-wmi

Throttle thermal policy mode:
  • 0 - default,

  • 1 - overboost,

  • 2 - silent

/sys/devices/platform/<platform>/tokens/*

Defined on filesysfs-platform-dell-smbios

A read-only description of Dell platform tokensavailable on the machine.

Each token attribute is available as a pair ofsysfs attributes readable by a process withCAP_SYS_ADMIN.

For example the token ID “5” would be availableas the following attributes:

  • 0005_location

  • 0005_value

Tokens will vary from machine to machine, andonly tokens available on that machine will bedisplayed.

/sys/devices/platform/<platform>/touchpad

Defined on filesysfs-platform-asus-wmi

Control the card touchpad. 1 means on, 0 means off.

/sys/devices/platform/<platform>/tt_led

Defined on filesysfs-platform-oxp

Some OneXPlayer devices (e.g., X1 series) feature a little LEDnested in the Turbo button. This LED is illuminated when thedevice is in the higher TDP mode (e.g., 25W). Once tt_toggleis engaged, this LED is left dangling to its last state. Thisattribute allows userspace to control the LED state manually(either with 1 or 0). Only a subset of devices contain this LED.

/sys/devices/platform/<platform>/tt_toggle

Defined on filesysfs-platform-oxp

Takeover TDP controls from the device. OneXPlayer devices have aturbo button that can be used to switch between two TDP modes(usually 15W and 25W). By setting this attribute to 1, thisfunctionality is disabled, handing TDP control over to (Windows)userspace software and the Turbo button turns into a keyboardshortcut over the AT keyboard of the device. In addition,using this setting is a prerequisite for PWM control for mostnewer models (otherwise it NOOPs).

/sys/devices/platform/<renesas_usb3's name>/role

Defined on filesysfs-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.

/sys/devices/platform/HISI04Bx:00/available_inc_dec_lane_types

/sys/devices/platform/HISI04Bx:00/dec_lane_of_type

/sys/devices/platform/HISI04Bx:00/inc_lane_of_type

Defined on filesysfs-devices-platform-kunpeng_hccs

These interfaces under /sys/devices/platform/HISI04Bx/ areused to support the low power consumption feature of someHCCS types by changing the number of lanes used. The interfaceschanging the number of lanes used are ‘dec_lane_of_type’ and‘inc_lane_of_type’ which require root privileges. Theseinterfaces aren’t exposed if no HCCS type on platform supportthis feature. Please note that decreasing lane number is onlyallowed if all the specified HCCS ports are not busy.

The low power consumption interfaces are as follows:

available_inc_dec_lane_types:

(RO)

available HCCS types (string) toincrease and decrease the numberof lane used, e.g. HCCS-v2.

dec_lane_of_type:

(WO)

input HCCS type supporteddecreasing lane to decrease theused lane number of all specifiedHCCS type ports on platform tothe minimum.You can query the ‘cur_lane_num’to get the minimum lane numberafter executing successfully.

inc_lane_of_type:

(WO)

input HCCS type supportedincreasing lane to increase theused lane number of all specifiedHCCS type ports on platform tothe full lane state.

/sys/devices/platform/HISI04Bx:00/chipX/all_linked

/sys/devices/platform/HISI04Bx:00/chipX/linked_full_lane

/sys/devices/platform/HISI04Bx:00/chipX/crc_err_cnt

Defined on filesysfs-devices-platform-kunpeng_hccs

The /sys/devices/platform/HISI04Bx:00/chipX/ directorycontains read-only attributes exposing some summarizationinformation of all HCCS ports under a specified chip.The X in ‘chipX’ indicates the Xth chip on platform.

There are following attributes in this directory:

all_linked:

(RO)

if all enabled ports on this chip arelinked (bool).

linked_full_lane:

(RO)

if all linked ports on this chip are fulllane (bool).

crc_err_cnt:

(RO)

total CRC err count for all ports on thischip.

/sys/devices/platform/HISI04Bx:00/chipX/dieY/all_linked

/sys/devices/platform/HISI04Bx:00/chipX/dieY/linked_full_lane

/sys/devices/platform/HISI04Bx:00/chipX/dieY/crc_err_cnt

Defined on filesysfs-devices-platform-kunpeng_hccs

The /sys/devices/platform/HISI04Bx:00/chipX/dieY/ directorycontains read-only attributes exposing some summarizationinformation of all HCCS ports under a specified die.The Y in ‘dieY’ indicates the hardware id of the die on chip whohas chip id X.

There are following attributes in this directory:

all_linked:

(RO)

if all enabled ports on this die arelinked (bool).

linked_full_lane:

(RO)

if all linked ports on this die are fulllane (bool).

crc_err_cnt:

(RO)

total CRC err count for all ports on thisdie.

/sys/devices/platform/HISI04Bx:00/chipX/dieY/hccsN/type

/sys/devices/platform/HISI04Bx:00/chipX/dieY/hccsN/lane_mode

/sys/devices/platform/HISI04Bx:00/chipX/dieY/hccsN/enable

/sys/devices/platform/HISI04Bx:00/chipX/dieY/hccsN/cur_lane_num

/sys/devices/platform/HISI04Bx:00/chipX/dieY/hccsN/link_fsm

/sys/devices/platform/HISI04Bx:00/chipX/dieY/hccsN/lane_mask

/sys/devices/platform/HISI04Bx:00/chipX/dieY/hccsN/crc_err_cnt

Defined on filesysfs-devices-platform-kunpeng_hccs

The /sys/devices/platform/HISI04Bx/chipX/dieX/hccsN/ directorycontains read-only attributes exposing information abouta HCCS port. The N value in ‘hccsN’ indicates this port id.The X in ‘chipX’ indicates the ID of the chip to which theHCCS port belongs. For example, X ranges from to ‘n - 1’ if thechip number on platform is n.The Y in ‘dieY’ indicates the hardware id of the die to whichthe hccs port belongs.Note: type, lane_mode and enable are fixed attributes on runningplatform.

The HCCS port have the following attributes:

type:

(RO)

port type (string), e.g. HCCS-v1 -> H32

lane_mode:

(RO)

the lane mode of this port (string), e.g. x8

enable:

(RO)

indicate if this port is enabled (bool).

cur_lane_num:

(RO)

current lane number of this port.

link_fsm:

(RO)

link finite state machine of this port.

lane_mask:

(RO)

current lane mask of this port, every bitindicates a lane.

crc_err_cnt:

(RO)

CRC err count on this port.

/sys/devices/platform/HISI04Bx:00/used_types

Defined on filesysfs-devices-platform-kunpeng_hccs

This interface is used to show all HCCS types used on theplatform, like, HCCS-v1, HCCS-v2 and so on.

/sys/devices/platform/_UDC_/gadget/gadget-lunX/nofua

Defined on filesysfs-devices-platform-_UDC_-gadget

Show or set the reaction on the FUA (Force Unit Access) bit inthe SCSI WRITE(10,12) commands when a gadget in USB MassStorage mode.

Possible values are:

  • 1 -> ignore the FUA flag

  • 0 -> obey the FUA flag

/sys/devices/platform/_UDC_/gadget/suspended

Defined on filesysfs-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)

/sys/devices/platform/amba_pl/<dev>/dis_block_break

Defined on filesysfs-driver-xilinx-tmr-manager

Write any value to it, This control file enables the break signal.This file is write only.Example:# echo <any value> > /sys/devices/platform/amba_pl/44a10000.tmr_manager/dis_block_break

/sys/devices/platform/amba_pl/<dev>/errcnt

Defined on filesysfs-driver-xilinx-tmr-manager

This control file provides the fault detection count.This file cannot be written.Example:# cat /sys/devices/platform/amba_pl/44a10000.tmr_manager/errcnt1

/sys/devices/platform/asus_laptop/bluetooth

Defined on filesysfs-platform-asus-laptop

Control the bluetooth device. 1 means on, 0 means off.This may control the led, the device or both.

Users:

Lapsus

/sys/devices/platform/asus_laptop/display

Defined on filesysfs-platform-asus-laptop

This file allows display switching. The valueis composed by 4 bits and defined as follow:

4321|||`- LCD||`-- CRT|`--- TV`---- DVI
Ex:
  • 0 (0000b) means no display

  • 3 (0011b) CRT+LCD.

/sys/devices/platform/asus_laptop/gps

Defined on filesysfs-platform-asus-laptop

Control the gps device. 1 means on, 0 means off.

Users:

Lapsus

/sys/devices/platform/asus_laptop/ledd

Defined on filesysfs-platform-asus-laptop

Some models like the W1N have a LED display that can beused 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 inAsus Laptop Extras

/sys/devices/platform/asus_laptop/wimax

Defined on filesysfs-platform-asus-laptop

Control the wimax device. 1 means on, 0 means off.

/sys/devices/platform/asus_laptop/wlan

Defined on filesysfs-platform-asus-laptop

Control the wlan device. 1 means on, 0 means off.This may control the led, the device or both.

Users:

Lapsus

/sys/devices/platform/asus_laptop/wwan

Defined on filesysfs-platform-asus-laptop

Control the wwan (3G) device. 1 means on, 0 means off.

/sys/devices/platform/at91_can/net/<iface>/mb0_id

Defined on filesysfs-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”) thecontents of mailbox 0 may be send under certainconditions (even if disabled or in rx mode).

The workaround in the errata suggests not to use themailbox and load it with an unused identifier.

In order to use an extended can_id add theCAN_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

/sys/devices/platform/ayaneo-ec/controller_modules

Defined on filesysfs-platform-ayaneo-ec

Shows which controller modules are currently connected tothe device. Possible values are “left”, “right” and “both”.File is read-only. The Windows software for this devicewill only set controller power to 1 if both module sidesare connected (i.e. this file returns “both”).

/sys/devices/platform/ayaneo-ec/controller_power

Defined on filesysfs-platform-ayaneo-ec

Current controller power state. Allows turning on and offthe controller power (e.g. for power savings). Write 1 toturn on, 0 to turn off. File is readable and writable.

/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 filesysfs-devices-platform-ipmi

hosed

(RO) Number of times the hardware didn’tfollow 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 ifthey are long.

received_messages

(RO) Number of message responsesreceived.

received_message_parts

(RO) Number of message fragmentsreceived.

events

(RO) Number of received events.

watchdog_pretimeouts

(RO) Number of watchdog pretimeouts.

flag_fetches

(RO) Number of times a flag fetch wasrequested.

send_retries

(RO) Number of time a message wasretried.

receive_retries

(RO) Number of times the receive of amessage was retried.

send_errors

(RO) Number of times the send of amessage failed.

receive_errors

(RO) Number of errors in receivingmessages.

/sys/devices/platform/dmi-ipmi-ssif.*/type

Defined on filesysfs-devices-platform-ipmi

(RO) Shows the IMPI device interface type - “ssif” here.

/sys/devices/platform/docg3/f[0-3]_dps[01]_is_keylocked

Defined on filesysfs-devices-platform-docg3

Show whether the floor (0 to 4), protection area (0 or 1) iskeylocked. 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

Users:

None identified so far.

/sys/devices/platform/docg3/f[0-3]_dps[01]_protection_key

Defined on filesysfs-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 observedthrough f[0-3]_dps[01]_is_keylocked.Possible values are:

  • 8 bytes

Typical values are:

  • “00000000”

  • “12345678”

Users:

None identified so far.

/sys/devices/platform/dock.<N>/docked

Defined on filesysfs-devices-platform-dock

(RO) Value 1 or 0 indicates whether the software believes thelaptop is docked in a docking station.

/sys/devices/platform/dock.<N>/flags

Defined on filesysfs-devices-platform-dock

(RO) Show dock station flags, useful for checking if undockrequest has been made by the user (from the immediate_undockoption).

/sys/devices/platform/dock.<N>/type

Defined on filesysfs-devices-platform-dock

(RO) Display the dock station type- dock_station, ata_bay orbattery_bay.

/sys/devices/platform/dock.<N>/uid

Defined on filesysfs-devices-platform-dock

(RO) Displays the docking station the laptop is docked to.

/sys/devices/platform/dock.<N>/undock

Defined on filesysfs-devices-platform-dock

(WO) Writing to this file causes the software to initiate anundock request to the firmware.

/sys/devices/platform/eeepc/available_cpufv

Defined on filesysfs-platform-eeepc-laptop

List available cpufv modes.

/sys/devices/platform/eeepc/camera

Defined on filesysfs-platform-eeepc-laptop

Control the camera. 1 means on, 0 means off.

/sys/devices/platform/eeepc/cardr

Defined on filesysfs-platform-eeepc-laptop

Control the card reader. 1 means on, 0 means off.

/sys/devices/platform/eeepc/cpufv

Defined on filesysfs-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 whichis defined as follow:

| 8 bit | 8 bit |    |       `---- Current mode    `------------ Availables modes

For example, 0x301 means: mode 1 selected, 3 available modes.

/sys/devices/platform/eeepc/disp

Defined on filesysfs-platform-eeepc-laptop

This file allows display switching.

  • 1 = LCD

  • 2 = CRT

  • 3 = LCD+CRT

If you run X11, you should use xrandr instead.

/sys/devices/platform/hidma-*/chid

/sys/devices/platform/QCOM8061:*/chid

Defined on filesysfs-platform-hidma

Contains the ID of the channel within the HIDMA instance.It is used to associate a given HIDMA channel with thepriority and weight calls in the management interface.

/sys/devices/platform/hidma-mgmt*/chanops/chan*/priority

/sys/devices/platform/QCOM8060:*/chanops/chan*/priority

Defined on filesysfs-platform-hidma-mgmt

Contains either 0 or 1 and indicates if the DMA channel is alow priority (0) or high priority (1) channel.

/sys/devices/platform/hidma-mgmt*/chanops/chan*/weight

/sys/devices/platform/QCOM8060:*/chanops/chan*/weight

Defined on filesysfs-platform-hidma-mgmt

Contains 0..15 and indicates the weight of the channel amongequal priority channels during round robin scheduling.

/sys/devices/platform/hidma-mgmt*/chreset_timeout_cycles

/sys/devices/platform/QCOM8060:*/chreset_timeout_cycles

Defined on filesysfs-platform-hidma-mgmt

Contains the platform specific cycle value to wait after areset command is issued. If the value is chosen too short,then the HW will issue a reset failure interrupt. The valueis platform specific and should not be changed withoutconsultance.

/sys/devices/platform/hidma-mgmt*/dma_channels

/sys/devices/platform/QCOM8060:*/dma_channels

Defined on filesysfs-platform-hidma-mgmt

Contains the number of dma channels supported by one instanceof HIDMA hardware. The value may change from chip to chip.

/sys/devices/platform/hidma-mgmt*/hw_version_major

/sys/devices/platform/QCOM8060:*/hw_version_major

Defined on filesysfs-platform-hidma-mgmt

Version number major for the hardware.

/sys/devices/platform/hidma-mgmt*/hw_version_minor

/sys/devices/platform/QCOM8060:*/hw_version_minor

Defined on filesysfs-platform-hidma-mgmt

Version number minor for the hardware.

/sys/devices/platform/hidma-mgmt*/max_rd_xactions

/sys/devices/platform/QCOM8060:*/max_rd_xactions

Defined on filesysfs-platform-hidma-mgmt

Contains a value between 0 and 31. Maximum number ofread transactions that can be issued back to back.Choosing a higher number gives better performance butcan also cause performance reduction to other peripheralssharing the same bus.

/sys/devices/platform/hidma-mgmt*/max_read_request

/sys/devices/platform/QCOM8060:*/max_read_request

Defined on filesysfs-platform-hidma-mgmt

Size of each read request. The value needs to be a powerof two and can be between 128 and 1024.

/sys/devices/platform/hidma-mgmt*/max_wr_xactions

/sys/devices/platform/QCOM8060:*/max_wr_xactions

Defined on filesysfs-platform-hidma-mgmt

Contains a value between 0 and 31. Maximum number ofwrite transactions that can be issued back to back.Choosing a higher number gives better performance butcan also cause performance reduction to other peripheralssharing the same bus.

/sys/devices/platform/hidma-mgmt*/max_write_request

/sys/devices/platform/QCOM8060:*/max_write_request

Defined on filesysfs-platform-hidma-mgmt

Size of each write request. The value needs to be a powerof two and can be between 128 and 1024.

/sys/devices/platform/i8042/.../draghys

Defined on filesysfs-devices-platform-trackpoint

(RW) The drag hysteresis controls how hard it is to drag withz-axis pressed.

/sys/devices/platform/i8042/.../drift_time

Defined on filesysfs-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 adrift (noise) calibration occurs.

IBM Trackpoints have a feature to compensate for drift byrecalibrating themselves periodically. By default, if for 0.5seconds there is no change in position, it’s used as the newzero. This duration is too low. Often, the calibration happenswhen the trackpoint is in fact being used.

/sys/devices/platform/i8042/.../ext_dev

Defined on filesysfs-devices-platform-trackpoint

(RW) Disable (0) or enable (1) external pointing device.

/sys/devices/platform/i8042/.../intertia

Defined on filesysfs-devices-platform-trackpoint

(RW) Negative inertia factor. High values cause the cursor tosnap backward when the trackpoint is released.

/sys/devices/platform/i8042/.../jenks

Defined on filesysfs-devices-platform-trackpoint

(RW) Minimum curvature in degrees required to generate a doubleclick without a release.

/sys/devices/platform/i8042/.../mindrag

Defined on filesysfs-devices-platform-trackpoint

(RW) Minimum amount of force needed to trigger dragging.

/sys/devices/platform/i8042/.../press_to_select

Defined on filesysfs-devices-platform-trackpoint

(RW) Writing a value of 1 to this file will enable the Press toSelect functions like tapping the control stick to simulate aleft click, and writing 0 will disable it.

/sys/devices/platform/i8042/.../reach

Defined on filesysfs-devices-platform-trackpoint

(RW) Backup range for z-axis press.

/sys/devices/platform/i8042/.../sensitivity

Defined on filesysfs-devices-platform-trackpoint

(RW) Trackpoint sensitivity.

/sys/devices/platform/i8042/.../skipback

Defined on filesysfs-devices-platform-trackpoint

(RW) When the skipback bit is set, backup cursor movement duringreleases from drags will be suppressed. The default value forthis bit is 0.

/sys/devices/platform/i8042/.../speed

Defined on filesysfs-devices-platform-trackpoint

(RW) Speed of the trackpoint cursor.

/sys/devices/platform/i8042/.../thresh

Defined on filesysfs-devices-platform-trackpoint

(RW) Minimum value for z-axis force required to trigger a pressor release, relative to the running average.

/sys/devices/platform/i8042/.../upthresh

Defined on filesysfs-devices-platform-trackpoint

(RW) The offset from the running average required to generate aselect (click) on z-axis on release.

/sys/devices/platform/i8042/.../ztime

Defined on filesysfs-devices-platform-trackpoint

(RW) This attribute determines how sharp a press has to be inorder to be recognized.

/sys/devices/platform/ipmi_bmc.*/additional_device_support

Defined on filesysfs-devices-platform-ipmi

(RO) Lists the IPMI ‘logical device’ commands and functionsthat the controller supports that are in addition to themandatory IPM and Application commands.

/sys/devices/platform/ipmi_bmc.*/aux_firmware_revision

Defined on filesysfs-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 vendoridentified by Manufacturer ID.

/sys/devices/platform/ipmi_bmc.*/device_id

Defined on filesysfs-devices-platform-ipmi

(RO) Device id is specified by the manufacturer identified bythe Manufacturer ID field. This field allows controller specificsoftware to identify the unique application command, OEMfields, and functionality that are provided by the controller

/sys/devices/platform/ipmi_bmc.*/firmware_revision

Defined on filesysfs-devices-platform-ipmi

(RO) The major and minor revision of the firmware.

/sys/devices/platform/ipmi_bmc.*/guid

Defined on filesysfs-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 theIPMI specification v2.0.

/sys/devices/platform/ipmi_bmc.*/ipmi_version

Defined on filesysfs-devices-platform-ipmi

(RO) Displays the IPMI Command Specification Version.

/sys/devices/platform/ipmi_bmc.*/manufacturer_id

Defined on filesysfs-devices-platform-ipmi

(RO) Identifies the manufacturer responsible for thespecification of functionality of the vendor (OEM)-specificcommands, codes, and interfaces used in the controller.

/sys/devices/platform/ipmi_bmc.*/product_id

Defined on filesysfs-devices-platform-ipmi

(RO) Displays a number that identifies a particular system,module, add-in card, or board set. The number is specifiedaccording to the manufacturer given by Manufacturer ID.

For detailed definitions of the above attributes, refer to section 20.1 ‘GetDevice ID Command’ of the IPMI specification v2.0.

/sys/devices/platform/ipmi_bmc.*/provides_device_sdrs

Defined on filesysfs-devices-platform-ipmi

(RO) Indicates whether device provides device sensor datarecords (1) or not (0).

/sys/devices/platform/ipmi_bmc.*/revision

Defined on filesysfs-devices-platform-ipmi

(RO) Device revision. Useful for identifying if significanthardware changes have been made to the implementation of themanagement controller.

/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 filesysfs-devices-platform-ipmi

idles

(RO) Number of times the interface wasidle while being polled.

watchdog_pretimeouts

(RO) Number of watchdog pretimeouts.

complete_transactions

(RO) Number of completed messages.

events

(RO) Number of IPMI events received fromthe hardware.

interrupts

(RO) Number of interrupts the driverhandled.

hosed_count

(RO) Number of times the hardware didn’tfollow the state machine.

long_timeouts

(RO) Number of times the driverrequested a timer while nothing was inprogress.

flag_fetches

(RO) Number of times the driverrequested flags from the hardware.

attentions

(RO) Number of time the driver got anATTN from the hardware.

incoming_messages

(RO) Number of asynchronous messagesreceived.

short_timeouts

(RO) Number of times the driverrequested a timer while an operation wasin progress.

/sys/devices/platform/ipmi_si.*/interrupts_enabled

Defined on filesysfs-devices-platform-ipmi

(RO) Indicates whether interrupts are enabled or not. The driverdisables interrupts when it gets into a situation where itcannot handle messages due to lack of memory. Once thatsituation clears up, it will re-enable interrupts.

/sys/devices/platform/ipmi_si.*/params

Defined on filesysfs-devices-platform-ipmi

[to be documented]

/sys/devices/platform/ipmi_si.*/type

Defined on filesysfs-devices-platform-ipmi

(RO) The device interface for IPMI “kcs”, “smic”, “bt” or“invalid”

/sys/devices/platform/kim/baud_rate

Defined on filesysfs-platform-kim

The maximum reliable baud-rate the host can support.Different platforms tend to have different high-speedUART configurations, so the baud-rate needs to be setlocally and also sent across to the WL128x via a HCI-VScommand. The entry is read and made use by the user-spacedaemon when the ldisc install is requested.

/sys/devices/platform/kim/dev_name

Defined on filesysfs-platform-kim

Name of the UART device at which the WL128x chipis connected. example: “/dev/ttyS0”.

The device name flows down to architecture specific boardinitialization file from the ATAGS bootloaderfirmware. The name exposed is read from the user-spacedaemon and opens the device when install is requested.

/sys/devices/platform/kim/flow_cntrl

Defined on filesysfs-platform-kim

The WL128x makes use of flow control mechanism, and thisentry most often should be 1, the host’s UART is requiredto have the capability of flow-control, or else thisentry can be made use of for exceptions.

/sys/devices/platform/kim/install

Defined on filesysfs-platform-kim

When one of the protocols Bluetooth, FM or GPS wants to makeuse of the shared UART transport, it registers to the sharedtransport driver, which will signal the user-space for opening,configuring baud and install line discipline via this sysfsentry. This entry would be polled upon by the user-spacedaemon managing the UART, and is notified about the changeby the sysfs_notify. The value would be ‘1’ when UART needsto be opened/ldisc installed, and would be ‘0’ when UARTis no more required and needs to be closed.

/sys/devices/platform/lg-laptop/battery_care_limit

Defined on filesysfs-platform-lg-laptop

Deprecated use /sys/class/power_supply/CMB0/charge_control_end_thresholdMaximal battery charge level. Accepted values are 80 or 100.

/sys/devices/platform/lg-laptop/fan_mode

Defined on filesysfs-platform-lg-laptop

Control fan mode. 1 for performance mode, 0 for silent mode.

/sys/devices/platform/lg-laptop/fn_lock

Defined on filesysfs-platform-lg-laptop

Control FN lock mode. 1 means on, 0 means off.

/sys/devices/platform/lg-laptop/reader_mode

Defined on filesysfs-platform-lg-laptop

Control reader mode. 1 means on, 0 means off.

/sys/devices/platform/lg-laptop/usb_charge

Defined on filesysfs-platform-lg-laptop

Control USB port charging when device is turned off.1 means on, 0 means off.

/sys/devices/platform/msi-laptop-pf/auto_brightness

Defined on filesysfs-platform-msi-laptop

Enable automatic brightness control: contains either 0 or 1. Ifset to 1 the hardware adjusts the screen brightnessautomatically when the power cord is plugged/unplugged.

/sys/devices/platform/msi-laptop-pf/auto_fan

Defined on filesysfs-platform-msi-laptop

Contains either 0 or 1 and indicates if fan speed is controlledautomatically (1) or fan runs at maximal speed (0). Can betoggled in software.

/sys/devices/platform/msi-laptop-pf/bluetooth

Defined on filesysfs-platform-msi-laptop

Bluetooth subsystem enabled: contains either 0 or 1. Pleasenote that this file is constantly 0 if no Bluetooth hardware isavailable.

/sys/devices/platform/msi-laptop-pf/eco_mode

Defined on filesysfs-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 somepowersaving actions. ECO mode is available only on batterypower. ECO mode can only be toggled by pressing Fn+F10.

/sys/devices/platform/msi-laptop-pf/lcd_level

Defined on filesysfs-platform-msi-laptop

Screen brightness: contains a single integer in the range 0..8.

/sys/devices/platform/msi-laptop-pf/touchpad

Defined on filesysfs-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.

/sys/devices/platform/msi-laptop-pf/turbo_cooldown

Defined on filesysfs-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

/sys/devices/platform/msi-laptop-pf/turbo_mode

Defined on filesysfs-platform-msi-laptop

Contains either 0 or 1 and indicates if turbo mode is turnedon. In turbo mode power LED is orange and processor isoverclocked. Turbo mode is available only if charging. It isonly 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 notchanged.

/sys/devices/platform/msi-laptop-pf/wlan

Defined on filesysfs-platform-msi-laptop

WLAN subsystem enabled: contains either 0 or 1.

/sys/devices/platform/samsung/lid_handling

Defined on filesysfs-driver-samsung-laptop

Some Samsung laptops handle lid closing quicker andonly handle lid opening with this mode enabled.1 means enabled, 0 means disabled.

/sys/devices/platform/samsung/performance_level

Defined on filesysfs-driver-samsung-laptop

Some Samsung laptops have different “performance levels”that can be modified by a function key, and by thissysfs file. These values don’t always make a whole lotof sense, but some users like to modify them to keeptheir fans quiet at all costs. Reading from this filewill show the current performance level. Writing to thefile 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 changesanything, other than making the user feel a bit better.

/sys/devices/platform/samsung/usb_charge

Defined on filesysfs-driver-samsung-laptop

Use your USB ports to charge devices, evenwhen your laptop is powered off.1 means enabled, 0 means disabled.

/sys/devices/platform/sh_mobile_lcdc_fb.[0-3]/graphics/fb[0-9]/ovl_alpha

Defined on filesysfs-devices-platform-sh_mobile_lcdc_fb

This file is only available on fb[0-9] devices correspondingto overlay planes.

Stores the alpha blending value for the overlay. Values rangefrom 0 (transparent) to 255 (opaque). The value is ignored ifthe mode is not set to Alpha Blending.

/sys/devices/platform/sh_mobile_lcdc_fb.[0-3]/graphics/fb[0-9]/ovl_mode

Defined on filesysfs-devices-platform-sh_mobile_lcdc_fb

This file is only available on fb[0-9] devices correspondingto overlay planes.

Selects the composition mode for the overlay. Possible valuesare:

  • 0 - Alpha Blending

  • 1 - ROP3

/sys/devices/platform/sh_mobile_lcdc_fb.[0-3]/graphics/fb[0-9]/ovl_position

Defined on filesysfs-devices-platform-sh_mobile_lcdc_fb

This file is only available on fb[0-9] devices correspondingto overlay planes.

Stores the x,y overlay position on the display in pixels. Theposition format is[0-9]+,[0-9]+.

/sys/devices/platform/sh_mobile_lcdc_fb.[0-3]/graphics/fb[0-9]/ovl_rop3

Defined on filesysfs-devices-platform-sh_mobile_lcdc_fb

This file is only available on fb[0-9] devices correspondingto overlay planes.

Stores the raster operation (ROP3) for the overlay. Valuesrange from 0 to 255. The value is ignored if the mode is notset to ROP3.

/sys/devices/platform/silicom-platform/efuse_status

Defined on filesysfs-platform-silicom

This file is read only. It returns the currentOTP status:

0 - not programmed.1 - programmed.

/sys/devices/platform/silicom-platform/power_cycle

Defined on filesysfs-platform-silicom

This file allow user to power cycle the platform.Default value is 0; when set to 1, it powers downthe platform, waits 5 seconds, then powers on thedevice. It returns to default value after power cycle.

0 - default value.

/sys/devices/platform/silicom-platform/uc_version

Defined on filesysfs-platform-silicom

This file allows to read microcontroller firmwareversion of current platform.

/sys/devices/platform/soc@X/XXXXXXX.ipa/

Defined on filesysfs-devices-platform-soc-ipa

The/sys/devices/platform/soc@X/XXXXXXX.ipa/ directorycontains read-only attributes exposing information aboutan IPA device. The X values could vary, but are typically“soc@0/1e40000.ipa”.

/sys/devices/platform/stratix10-rsu.0/current_image

Defined on filesysfs-devices-platform-stratix10-rsu

(RO) the address in flash of currently running image.

/sys/devices/platform/stratix10-rsu.0/dcmf0

Defined on filesysfs-devices-platform-stratix10-rsu

(RO) Decision firmware copy 0 version information.

/sys/devices/platform/stratix10-rsu.0/dcmf1

Defined on filesysfs-devices-platform-stratix10-rsu

(RO) Decision firmware copy 1 version information.

/sys/devices/platform/stratix10-rsu.0/dcmf2

Defined on filesysfs-devices-platform-stratix10-rsu

(RO) Decision firmware copy 2 version information.

/sys/devices/platform/stratix10-rsu.0/dcmf3

Defined on filesysfs-devices-platform-stratix10-rsu

(RO) Decision firmware copy 3 version information.

/sys/devices/platform/stratix10-rsu.0/error_details

Defined on filesysfs-devices-platform-stratix10-rsu

(RO) error code.

/sys/devices/platform/stratix10-rsu.0/error_location

Defined on filesysfs-devices-platform-stratix10-rsu

(RO) the error offset inside the image that failed.

/sys/devices/platform/stratix10-rsu.0/fail_image

Defined on filesysfs-devices-platform-stratix10-rsu

(RO) the address in flash of failed image.

/sys/devices/platform/stratix10-rsu.0/max_retry

Defined on filesysfs-devices-platform-stratix10-rsu

(RO) max retry parameter is stored in the firmwaredecision IO section, as a byte located at offset 0x18c.

/sys/devices/platform/stratix10-rsu.0/notify

Defined on filesysfs-devices-platform-stratix10-rsu

(WO) client to notify firmware with different actions.

b[15:0]

inform firmware the current software executionstage.

0

the first stage bootloader didn’t run ordidn’t reach the point of launching secondstage bootloader.

1

failed in second bootloader or didn’t getto the point of launching the operatingsystem.

2

both first and second stage bootloader ranand the operating system launch wasattempted.

b[16]

1

firmware to reset current image retrycounter.

0

no action.

b[17]

1

firmware to clear RSU log

0

no action.

b[18]

this is negative logic

1

no action

0

firmware record the notify code definedin b[15:0].

/sys/devices/platform/stratix10-rsu.0/reboot_image

Defined on filesysfs-devices-platform-stratix10-rsu

(WO) the address in flash of image to be loaded on nextreboot command.

/sys/devices/platform/stratix10-rsu.0/retry_counter

Defined on filesysfs-devices-platform-stratix10-rsu

(RO) the current image’s retry counter, which is used byuser to know how many times the images is still allowedto reload itself before giving up and starting RSUfail-over flow.

/sys/devices/platform/stratix10-rsu.0/state

Defined on filesysfs-devices-platform-stratix10-rsu

(RO) the state of RSU system.The state field has two parts: major error code inupper 16 bits and minor error code in lower 16 bits.

b[15:0]

Currently used only when major error is 0xF006(CPU watchdog timeout), in which case the minorerror code is the value reported by CPU tofirmware through the RSU notify command beforethe watchdog timeout occurs.

b[31:16]

0xF001 bitstream error0xF002 hardware access failure0xF003 bitstream corruption0xF004 internal error0xF005 device error0xF006 CPU watchdog timeout0xF007 internal unknown error

/sys/devices/platform/stratix10-rsu.0/version

Defined on filesysfs-devices-platform-stratix10-rsu

(RO) the version number of RSU firmware. 19.3 or lateversion includes information about the firmware whichreported the error.

pre 19.3:
b[31:0]

0x0 version number

19.3 or late:
b[15:0]

0x1 version number

b[31:16]

0x0 no error0x0DCF Decision CMF error0x0ACF Application CMF error

/sys/devices/platform/ts5500/adc

Defined on filesysfs-platform-ts5500

Indicates the presence of an A/D Converter. If it is present,it will display “1”, otherwise “0”.

/sys/devices/platform/ts5500/ereset

Defined on filesysfs-platform-ts5500

Indicates the presence of an external reset. If it is present,it will display “1”, otherwise “0”.

/sys/devices/platform/ts5500/id

Defined on filesysfs-platform-ts5500

Product ID of the TS board. TS-5500 ID is 0x60.

/sys/devices/platform/ts5500/jumpers

Defined on filesysfs-platform-ts5500

Bitfield showing the jumpers’ state. If a jumper is present,the corresponding bit is set. For instance, 0x0e means jumpers2, 3 and 4 are set.

/sys/devices/platform/ts5500/name

Defined on filesysfs-platform-ts5500

Model name of the TS board, e.g. “TS-5500”.

/sys/devices/platform/ts5500/rs485

Defined on filesysfs-platform-ts5500

Indicates the presence of the RS485 option. If it is present,it will display “1”, otherwise “0”.

/sys/devices/platform/ts5500/sram

Defined on filesysfs-platform-ts5500

Indicates the presence of the SRAM option. If it is present,it will display “1”, otherwise “0”.

/sys/devices/platform/usbip-vudc.%d/dev_desc

Defined on filesysfs-platform-usbip-vudc

This file allows to read device descriptor ofgadget driver which is currently bound to thiscontroller. It is possible to read this fileonly if gadget driver is bound, otherwise erroris returned.

/sys/devices/platform/usbip-vudc.%d/usbip_sockfd

Defined on filesysfs-platform-usbip-vudc

This file allows to export usb device toconnection peer. It is done by writing to thisfile socket fd (as a string for example “8”)associated with a connection to remote peer whowould like to use this device. It is possible toclose the connection by writing -1 instead ofsocked fd.

/sys/devices/platform/usbip-vudc.%d/usbip_status

Defined on filesysfs-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 communicationwith peer

/sys/devices/socX

Defined on filesysfs-devices-soc

The /sys/devices/ directory contains a sub-directory for eachSystem-on-Chip (SoC) device on a running platform. Informationregarding each SoC can be obtained by reading sysfs files. Thisfunctionality is only available if implemented by the platform.

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

/sys/devices/socX/family

Defined on filesysfs-devices-soc

Read-only attribute common to all SoCs. Contains SoC family name(e.g. ux500).

On many of ARM based silicon with SMCCC v1.2+ compliant firmwarethis will contain the JEDEC JEP106 manufacturer’s identificationcode. The format is “jep106:XXYY” where XX is identity code andYY is continuation code.

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

The specified mechanism is that an identity code of 0x7Frepresents the “continuation code” and implies the presenceof an additional identity code field, and this mechanismmay be extended to multiple continuation codes followedby the manufacturer’s identity code.

For example, ARM has identity code 0x7F 0x7F 0x7F 0x7F 0x3B,which is code 0x3B on the fifth ‘page’. This is shortenedas JEP106 identity code of 0x3B and a continuation code of0x4 to represent the four continuation codes preceding theidentity code.

/sys/devices/socX/machine

Defined on filesysfs-devices-soc

Read-only attribute common to all SoCs. Contains the SoC machinename (e.g. DB8500).

/sys/devices/socX/process

Defined on filesysfs-devices-soc

Read-only attribute supported ST-Ericsson’s silicon. Contains thethe process by which the silicon chip was manufactured.

/sys/devices/socX/revision

Defined on filesysfs-devices-soc

Read-only attribute supported by most SoCs. Contains the SoC’smanufacturing revision number.

/sys/devices/socX/serial_number

Defined on filesysfs-devices-soc

Read-only attribute supported by most SoCs. Contains the SoC’sserial number, if available.

/sys/devices/socX/soc_id

Defined on filesysfs-devices-soc

Read-only attribute supported by most SoCs. In the case ofST-Ericsson’s chips this contains the SoC serial number.

On many of ARM based silicon with SMCCC v1.2+ compliant firmwarethis will contain the SOC ID appended to the family attributeto ensure there is no conflict in this namespace across variousvendors. The format is “jep106:XXYY:ZZZZ” where XX is identitycode, YY is continuation code and ZZZZ is the SOC ID.

/sys/devices/system/cpu/

Defined on filesysfs-devices-system-cpu

A collection of both global and individual CPU attributes

Individual CPU attributes are contained in subdirectoriesnamed by the kernel’s logical CPU number, e.g.:

/sys/devices/system/cpu/cpuX/

/sys/devices/system/cpu/aarch32_el0

Defined on filesysfs-devices-system-cpu

Identifies the subset of CPUs in the system that can executeAArch32 (32-bit ARM) applications. If present, the same format as/sys/devices/system/cpu/{offline,online,possible,present} is used.If absent, then all or none of the CPUs can execute AArch32applications and execve() will behave accordingly.

/sys/devices/system/cpu/cpu*/cache/index*/<set_of_attributes_mentioned_below>

Defined on filesysfs-devices-system-cpu

Parameters for the CPU cache attributes

allocation_policy:
  • WriteAllocate:

    allocate a memory location to a cache lineon a cache miss because of a write

  • ReadAllocate:

    allocate a memory location to a cache lineon a cache miss because of a read

  • ReadWriteAllocate:

    both writeallocate and readallocate

coherency_line_size:

the minimum amount of data in bytes that getstransferred 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 acollection 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 sharingthe 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 blockof memory in the cache

write_policy:
  • WriteThrough:

    data is written to both the cache lineand to the block in the lower-level memory

  • WriteBack:

    data is written only to the cache line andthe modified cache line is written to mainmemory only when it is replaced

/sys/devices/system/cpu/cpu*/cache/index*/id

Defined on filesysfs-devices-system-cpu

Cache id

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

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

/sys/devices/system/cpu/cpu*/cache/index3/cache_disable_{0,1}

Defined on filesysfs-devices-system-cpu

Disable L3 cache indices

These files exist in every CPU’s cache/index3 directory. Eachcache_disable_{0,1} file corresponds to one disable slot whichcan be used to disable a cache index. Reading from these fileson a processor with this functionality will return the currentlydisabled index for that node. There is one L3 structure pernode, or per internal node on MCM machines. Writing a validindex to one of these files will cause the specified cacheindex to be disabled.

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

/sys/devices/system/cpu/cpuX/cpu_capacity

Defined on filesysfs-devices-system-cpu

information about CPUs heterogeneity.

cpu_capacity: capacity of cpuX.

/sys/devices/system/cpu/cpuX/cpufreq/*

Defined on filesysfs-devices-system-cpu

Discover and change clock speed of CPUs

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

There are many knobs to tweak in this directory.

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

/sys/devices/system/cpu/cpuX/cpufreq/auto_act_window

Defined on filesysfs-devices-system-cpu

Autonomous activity window

This file indicates a moving utilization sensitivity window tothe platform’s autonomous selection policy.

Read/write an integer represents autonomous activity window (inmicroseconds) from/to this file. The max value to write is1270000000 but the max significand is 127. This means that if 128is written to this file, 127 will be stored. If the value isgreater than 130, only the first two digits will be saved assignificand.

Writing a zero value to this file enable the platform todetermine an appropriate Activity Window depending on the workload.

Writing to this file only has meaning when Autonomous Selection isenabled.

This file is only present if the cppc-cpufreq driver is in use.

/sys/devices/system/cpu/cpuX/cpufreq/auto_select

Defined on filesysfs-devices-system-cpu

Autonomous selection enable

Read/write interface to control autonomous selection enable
Read returns autonomous selection status:

0: autonomous selection is disabled1: autonomous selection is enabled

Write ‘y’ or ‘1’ or ‘on’ to enable autonomous selection.Write ‘n’ or ‘0’ or ‘off’ to disable autonomous selection.

This file is only present if the cppc-cpufreq driver is in use.

/sys/devices/system/cpu/cpuX/cpufreq/energy_performance_preference_val

Defined on filesysfs-devices-system-cpu

Energy performance preference

Read/write an 8-bit integer from/to this file. This filerepresents a range of values from 0 (performance preference) to0xFF (energy efficiency preference) that influences the rate ofperformance increase/decrease and the result of the hardware’senergy efficiency and performance optimization policies.

Writing to this file only has meaning when Autonomous Selection isenabled.

This file is only present if the cppc-cpufreq driver is in use.

/sys/devices/system/cpu/cpuX/cpufreq/freqdomain_cpus

Defined on filesysfs-devices-system-cpu

Discover CPUs in the same CPU frequency coordination domain

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

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

/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats

/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/turbo_stat

/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/sub_turbo_stat

/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/unthrottle

/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/powercap

/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/overtemp

/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/supply_fault

/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/overcurrent

/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/occ_reset

Defined on filesysfs-devices-system-cpu

POWERNV CPUFreq driver’s frequency throttle stats directory andattributes

‘cpuX/cpufreq/throttle_stats’ directory contains the CPU frequencythrottle stat attributes for the chip. The throttle stats of a cpuis common across all the cpus belonging to a chip. Below are thethrottle attributes exported in the ‘throttle_stats’ directory:

  • turbo_stat : This file gives the total number of times the maxfrequency is throttled to lower frequency in turbo (at and abovenominal frequency) range of frequencies.

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

  • unthrottle : This file gives the total number of times the maxfrequency is unthrottled after being throttled.

  • powercap : This file gives the total number of times the maxfrequency is throttled due to ‘Power Capping’.

  • overtemp : This file gives the total number of times the maxfrequency is throttled due to ‘CPU Over Temperature’.

  • supply_fault : This file gives the total number of times themax frequency is throttled due to ‘Power Supply Failure’.

  • overcurrent : This file gives the total number of times themax frequency is throttled due to ‘Overcurrent’.

  • occ_reset : This file gives the total number of times the maxfrequency is throttled due to ‘OCC Reset’.

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

/sys/devices/system/cpu/cpuX/cpuidle/state<N>/default_status

Defined on filesysfs-devices-system-cpu

(RO) The default status of this state, “enabled” or “disabled”.

/sys/devices/system/cpu/cpuX/cpuidle/state<N>/desc

Defined on filesysfs-devices-system-cpu

(RO) A small description about the idle state (string).

/sys/devices/system/cpu/cpuX/cpuidle/state<N>/disable

Defined on filesysfs-devices-system-cpu

(RW) Option to disable this idle state (bool). The behavior andthe effect of the disable variable depends on the implementationof a particular governor. In the ladder governor, for example,it is not coherent, i.e. if one is disabling a light state, thenall deeper states are disabled as well, but the disable variabledoes not reflect it. Likewise, if one enables a deep state but alighter state still is disabled, then this has no effect.

/sys/devices/system/cpu/cpuX/cpuidle/state<N>/name

/sys/devices/system/cpu/cpuX/cpuidle/stateN/latency

/sys/devices/system/cpu/cpuX/cpuidle/stateN/power

/sys/devices/system/cpu/cpuX/cpuidle/stateN/time

/sys/devices/system/cpu/cpuX/cpuidle/stateN/usage

/sys/devices/system/cpu/cpuX/cpuidle/stateN/above

/sys/devices/system/cpu/cpuX/cpuidle/stateN/below

Defined on filesysfs-devices-system-cpu

The directory /sys/devices/system/cpu/cpuX/cpuidle contains perlogical CPU specific cpuidle information for each online cpu X.The processor idle states which are available for use have thefollowing attributes:

name:

(RO)

Name of the idle state (string).

latency:

(RO)

The latency to exit out of this idle state (inmicroseconds).

power:

(RO)

The power consumed while in this idle state (inmilliwatts).

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 theobserved CPU idle duration was too short for it(a count).

below:

(RO)

Number of times this state was entered, but theobserved CPU idle duration was too long for it(a count).

/sys/devices/system/cpu/cpuX/cpuidle/state<N>/residency

Defined on filesysfs-devices-system-cpu

(RO) Display the target residency i.e. the minimum amount oftime (in microseconds) this cpu should spend in this idle stateto make the transition worth the effort.

/sys/devices/system/cpu/cpuX/cpuidle/state<N>/s2idle/

Defined on filesysfs-devices-system-cpu

Idle state usage statistics related to suspend-to-idle.

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

/sys/devices/system/cpu/cpuX/cpuidle/state<N>/s2idle/time

Defined on filesysfs-devices-system-cpu

Total time spent by the CPU in suspend-to-idle (with schedulertick suspended) after requesting this state.

/sys/devices/system/cpu/cpuX/cpuidle/state<N>/s2idle/usage

Defined on filesysfs-devices-system-cpu

Total number of times this state has been requested by the CPUwhile entering suspend-to-idle.

/sys/devices/system/cpu/cpuX/crash_notes

/sys/devices/system/cpu/cpuX/crash_notes_size

Defined on filesysfs-devices-system-cpu

address and size of the percpu note.

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

crash_notes_size: size of the note of cpuX.

/sys/devices/system/cpu/cpuX/idle_purr

Defined on filesysfs-devices-system-cpu

PURR ticks for cpuX when it was idle.

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

/sys/devices/system/cpu/cpuX/idle_spurr

Defined on filesysfs-devices-system-cpu

SPURR ticks for cpuX when it was idle.

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

/sys/devices/system/cpu/cpuX/mte_tcf_preferred

Defined on filesysfs-devices-system-cpu

Preferred MTE tag checking mode

When a user program specifies more than one MTE tag checkingmode, this sysfs node is used to specify which mode shouldbe preferred when scheduling a task on that CPU. Possiblevalues:

“sync”

Prefer synchronous mode

“asymm”

Prefer asymmetric mode

“async”

Prefer asynchronous mode

See also:Memory Tagging Extension (MTE) in AArch64 Linux

/sys/devices/system/cpu/cpuX/node

Defined on filesysfs-devices-system-cpu

Discover NUMA node a CPU belongs to

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

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

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

/sys/devices/system/cpu/cpuX/power/energy_perf_bias

Defined on filesysfs-devices-system-cpu

Intel Energy and Performance Bias Hint (EPB)

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

In order to change the EPB value for the CPU, write eithera number in the 0 - 15 sliding scale above, or one of thestrings: “performance”, “balance-performance”, “normal”,“balance-power”, “power” (that represent values reflected bytheir meaning), to this attribute.

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

/sys/devices/system/cpu/cpuX/purr

Defined on filesysfs-devices-system-cpu

PURR ticks for this CPU since the system boot.

The Processor Utilization Resources Register (PURR) isa 64-bit counter which provides an estimate of theresources used by the CPU thread. The contents of thisregister increases monotonically. This sysfs interfaceexposes the number of PURR ticks for cpuX.

/sys/devices/system/cpu/cpuX/regs/

/sys/devices/system/cpu/cpuX/regs/identification/

/sys/devices/system/cpu/cpuX/regs/identification/midr_el1

/sys/devices/system/cpu/cpuX/regs/identification/revidr_el1

/sys/devices/system/cpu/cpuX/regs/identification/aidr_el1

/sys/devices/system/cpu/cpuX/regs/identification/smidr_el1

Defined on filesysfs-devices-system-cpu

AArch64 CPU registers

‘identification’ directory exposes the CPU ID registers foridentifying model and revision of the CPU and SMCU.

/sys/devices/system/cpu/cpuX/spurr

Defined on filesysfs-devices-system-cpu

SPURR ticks for this CPU since the system boot.

The Scaled Processor Utilization Resources Register(SPURR) is a 64-bit counter that provides a frequencyinvariant estimate of the resources used by the CPUthread. The contents of this register increasesmonotonically. This sysfs interface exposes the numberof SPURR ticks for cpuX.

/sys/devices/system/cpu/cpuX/topology/core_siblings

/sys/devices/system/cpu/cpuX/topology/core_siblings_list

/sys/devices/system/cpu/cpuX/topology/physical_package_id

/sys/devices/system/cpu/cpuX/topology/thread_siblings

/sys/devices/system/cpu/cpuX/topology/thread_siblings_list

/sys/devices/system/cpu/cpuX/topology/ppin

Defined on filesysfs-devices-system-cpu

CPU topology files that describe a logical CPU’s relationshipto other cores and threads in the same physical package.

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

Briefly, the files above are:

core_siblings: internal kernel map of cpuX’s hardware threadswithin the same physical_package_id.

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

physical_package_id: physical package id of cpuX. Typicallycorresponds to a physical socket number, but the actual valueis architecture and platform dependent.

thread_siblings: internal kernel map of cpuX’s hardwarethreads within the same core as cpuX

thread_siblings_list: human-readable list of cpuX’s hardwarethreads within the same core as cpuX

ppin: human-readable Protected Processor IdentificationNumber of the socket the cpu# belongs to. There should beone per physical_package_id. File is readable only toadmin.

SeeHow CPU topology info is exported via sysfs for more information.

/sys/devices/system/cpu/cpufreq/boost

Defined on filesysfs-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 frequencybeyond its nominal limit.

More details can be found inCPU Performance Scaling

/sys/devices/system/cpu/cpufreq/policyX/throttle_stats

/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/turbo_stat

/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/sub_turbo_stat

/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/unthrottle

/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/powercap

/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/overtemp

/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/supply_fault

/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/overcurrent

/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/occ_reset

Defined on filesysfs-devices-system-cpu

POWERNV CPUFreq driver’s frequency throttle stats directory andattributes

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

/sys/devices/system/cpu/cpuidle/available_governors

/sys/devices/system/cpu/cpuidle/current_driver

/sys/devices/system/cpu/cpuidle/current_governor

/sys/devices/system/cpu/cpuidle/current_governer_ro

/sys/devices/system/cpu/cpuidle/intel_c1_demotion

Defined on filesysfs-devices-system-cpu

Discover cpuidle policy and mechanism

Various CPUs today support multiple idle levels that aredifferentiated by varying exit latencies and powerconsumption during idle.

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

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

current_driver: (RO) displays current idle mechanism.

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

current_governor_ro: (RO) displays current idle policy.

intel_c1_demotion: (RW) enables/disables the C1 demotionfeature on Intel CPUs.

SeeCPU Idle Time Management,intel_idle CPU Idle Time Management Driver, andCPU Idle Time Management for more information.

/sys/devices/system/cpu/crash_hotplug

Defined on filesysfs-devices-system-cpu

(RO) indicates whether or not the kernel updates relevant kexecsegments on memory hot un/plug and/or on/offline events, avoiding theneed to reload kdump kernel.

/sys/devices/system/cpu/enabled

Defined on filesysfs-devices-system-cpu

(RO) the list of CPUs that can be brought online.

/sys/devices/system/cpu/housekeeping

Defined on filesysfs-devices-system-cpu

(RO) the list of logical CPUs that are designated by the kernel as“housekeeping”. Each CPU are responsible for handling essentialsystem-wide background tasks, including RCU callbacks, delayedtimer callbacks, and unbound workqueues, minimizing schedulingjitter on low-latency, isolated CPUs. These CPUs are set when bootparameter “isolcpus=nohz” or “nohz_full=” is specified.

/sys/devices/system/cpu/intel_pstate/max_perf_pct

/sys/devices/system/cpu/intel_pstate/min_perf_pct

/sys/devices/system/cpu/intel_pstate/no_turbo

Defined on filesysfs-devices-system-cpu

Parameters for the Intel P-state driver

Logic for selecting the current P-state in IntelSandybridge+ processors. The three knobs controllimits for the P-state that will be requested by thedriver.

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

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

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

More details can be found inintel_pstate CPU Performance Scaling Driver

/sys/devices/system/cpu/isolated

Defined on filesysfs-devices-system-cpu

(RO) the list of CPUs that are isolated and don’tparticipate in load balancing. These CPUs are set byboot parameter “isolcpus=”.

/sys/devices/system/cpu/kernel_max

/sys/devices/system/cpu/offline

/sys/devices/system/cpu/online

/sys/devices/system/cpu/possible

/sys/devices/system/cpu/present

Defined on filesysfs-devices-system-cpu

CPU topology files that describe kernel limits related tohotplug. Briefly:

kernel_max: the maximum cpu index allowed by the kernelconfiguration.

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

online: cpus that are online and being scheduled.

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

present: cpus that have been identified as being present inthe system.

SeeHow CPU topology info is exported via sysfs for more information.

/sys/devices/system/cpu/nohz_full

Defined on filesysfs-devices-system-cpu

(RO) the list of CPUs that are in nohz_full mode.These CPUs are set by boot parameter “nohz_full=”.

/sys/devices/system/cpu/probe

/sys/devices/system/cpu/release

Defined on filesysfs-devices-system-cpu

Dynamic addition and removal of CPU’s. This is not hotplugremoval, this is meant complete removal/addition of the CPUfrom the system.

probe: writes to this file will dynamically add a CPU to thesystem. Information written to the file to add CPU’s isarchitecture specific.

release: writes to this file dynamically remove a CPU fromthe system. Information written to the file to remove CPU’sis architecture specific.

/sys/devices/system/cpu/sev

/sys/devices/system/cpu/sev/vmpl

Defined on filesysfs-devices-system-cpu

Secure Encrypted Virtualization (SEV) information

This directory is only present when running as an SEV-SNP guest.

vmpl: Reports the Virtual Machine Privilege Level (VMPL) at which

the SEV-SNP guest is running.

/sys/devices/system/cpu/smt

/sys/devices/system/cpu/smt/active

/sys/devices/system/cpu/smt/control

Defined on filesysfs-devices-system-cpu

Control Symmetric Multi Threading (SMT)

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

control: Read/write interface to control SMT. Possible

values:

“on”

SMT is enabled

“off”

SMT is disabled

“<N>”

SMT is enabled with N threads per core.

“forceoff”

SMT is force disabled. Cannot be changed.

“notsupported”

SMT is not supported by the CPU

“notimplemented”

SMT runtime toggling is notimplemented for the architecture

If control status is “forceoff” or “notsupported” writesare rejected. Note that enabling SMT on PowerPC skipsoffline cores.

/sys/devices/system/cpu/svm

Defined on filesysfs-devices-system-cpu

Secure Virtual Machine

If 1, it means the system is using the Protected ExecutionFacility in POWER9 and newer processors. i.e., it is a SecureVirtual Machine.

/sys/devices/system/cpu/umwait_control

/sys/devices/system/cpu/umwait_control/enable_c02

/sys/devices/system/cpu/umwait_control/max_time

Defined on filesysfs-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 disabled1: 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.1or 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.

/sys/devices/system/cpu/vulnerabilities

/sys/devices/system/cpu/vulnerabilities/gather_data_sampling

/sys/devices/system/cpu/vulnerabilities/indirect_target_selection

/sys/devices/system/cpu/vulnerabilities/itlb_multihit

/sys/devices/system/cpu/vulnerabilities/l1tf

/sys/devices/system/cpu/vulnerabilities/mds

/sys/devices/system/cpu/vulnerabilities/meltdown

/sys/devices/system/cpu/vulnerabilities/mmio_stale_data

/sys/devices/system/cpu/vulnerabilities/old_microcode

/sys/devices/system/cpu/vulnerabilities/reg_file_data_sampling

/sys/devices/system/cpu/vulnerabilities/retbleed

/sys/devices/system/cpu/vulnerabilities/spec_store_bypass

/sys/devices/system/cpu/vulnerabilities/spectre_v1

/sys/devices/system/cpu/vulnerabilities/spectre_v2

/sys/devices/system/cpu/vulnerabilities/srbds

/sys/devices/system/cpu/vulnerabilities/tsa

/sys/devices/system/cpu/vulnerabilities/tsx_async_abort

/sys/devices/system/cpu/vulnerabilities/vmscape

Defined on filesysfs-devices-system-cpu

Information about CPU vulnerabilities

The files are named after the code names of CPUvulnerabilities. The output of those files reflects thestate 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:Hardware vulnerabilities

/sys/devices/system/edac/mc/mc*/(dimm|rank)*/dimm_ce_count

Defined on filesysfs-devices-edac

This attribute file displays the total count of correctableerrors that have occurred on this DIMM. This count is very importantto examine. CEs provide early indications that a DIMM is beginningto fail. This count field should be monitored for non-zero valuesand report such information to the system administrator.

/sys/devices/system/edac/mc/mc*/(dimm|rank)*/dimm_dev_type

Defined on filesysfs-devices-edac

This attribute file will display what type of DRAM device isbeing utilized on this DIMM (x1, x2, x4, x8, ...).

/sys/devices/system/edac/mc/mc*/(dimm|rank)*/dimm_edac_mode

Defined on filesysfs-devices-edac

This attribute file will display what type of Error detectionand correction is being utilized. For example: S4ECD4ED wouldmean a Chipkill with x4 DRAM.

/sys/devices/system/edac/mc/mc*/(dimm|rank)*/dimm_label

Defined on filesysfs-devices-edac

This control file allows this DIMM to have a label assignedto it. With this label in the module, when errors occurthe output can provide the DIMM label in the system log.This becomes vital for panic events to isolate thecause of the UE event.DIMM Labels must be assigned after booting, with informationthat correctly identifies the physical slot with itssilk screen label. This information is currently verymotherboard specific and determination of this informationmust occur in userland at this time.

/sys/devices/system/edac/mc/mc*/(dimm|rank)*/dimm_location

Defined on filesysfs-devices-edac

This attribute file will display the location (csrow/channel,branch/channel/slot or channel/slot) of the dimm or rank.

/sys/devices/system/edac/mc/mc*/(dimm|rank)*/dimm_mem_type

Defined on filesysfs-devices-edac

This attribute file will display what type of memory iscurrently on this csrow. Normally, either buffered orunbuffered memory (for example, Unbuffered-DDR3).

/sys/devices/system/edac/mc/mc*/(dimm|rank)*/dimm_ue_count

Defined on filesysfs-devices-edac

This attribute file displays the total count of uncorrectableerrors that have occurred on this DIMM. If panic_on_ue is set, thiscounter will not have a chance to increment, since EDAC will panic thesystem

/sys/devices/system/edac/mc/mc*/(dimm|rank)*/size

Defined on filesysfs-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 memorystick. For rank*/size, this is the size, in MB for one rankof the DIMM memory stick. On single rank memories (1R), thisis also the total size of the dimm. On dual rank (2R) memories,this is half the size of the total DIMM memories.

/sys/devices/system/edac/mc/mc*/ce_count

Defined on filesysfs-devices-edac

This attribute file displays the total count of correctableerrors that have occurred on this memory controller. Thiscount is very important to examine. CEs provide earlyindications that a DIMM is beginning to fail. This countfield should be monitored for non-zero values and reportsuch information to the system administrator.

/sys/devices/system/edac/mc/mc*/ce_noinfo_count

Defined on filesysfs-devices-edac

This attribute file displays the number of CEs thathave occurred on this memory controller wherewith noinformation as to which DIMM slot is having errors. Memory ishandicapped, but operational, yet no information is availableto indicate which slot the failing memory is in. This countfield should be also be monitored for non-zero values.

/sys/devices/system/edac/mc/mc*/max_location

Defined on filesysfs-devices-edac

This attribute file displays the information about the lastavailable memory slot in this memory controller. It is used byuserspace tools in order to display the memory filling layout.

/sys/devices/system/edac/mc/mc*/mc_name

Defined on filesysfs-devices-edac

This attribute file displays the type of memory controllerthat is being utilized.

/sys/devices/system/edac/mc/mc*/reset_counters

Defined on filesysfs-devices-edac

This write-only control file will zero all the statisticalcounters for UE and CE errors on the given memory controller.Zeroing the counters will also reset the timer indicating howlong since the last counter were reset. This is useful forcomputing errors/time. Since the counters are always resetat driver initialization time, no module/kernel parameteris available.

/sys/devices/system/edac/mc/mc*/sdram_scrub_rate

Defined on filesysfs-devices-edac

Read/Write attribute file that controls memory scrubbing.The scrubbing rate used by the memory controller is set bywriting a minimum bandwidth in bytes/sec to the attribute file.The rate will be translated to an internal value that gives atleast 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.

/sys/devices/system/edac/mc/mc*/seconds_since_reset

Defined on filesysfs-devices-edac

This attribute file displays how many seconds have elapsedsince the last counter reset. This can be used with the errorcounters to measure error rates.

/sys/devices/system/edac/mc/mc*/size_mb

Defined on filesysfs-devices-edac

This attribute file displays, in count of megabytes, of memorythat this memory controller manages.

/sys/devices/system/edac/mc/mc*/ue_count

Defined on filesysfs-devices-edac

This attribute file displays the total count of uncorrectableerrors that have occurred on this memory controller. Ifpanic_on_ue is set, this counter will not have a chance toincrement, since EDAC will panic the system

/sys/devices/system/edac/mc/mc*/ue_noinfo_count

Defined on filesysfs-devices-edac

This attribute file displays the number of UEs that haveoccurred on this memory controller with no information as towhich DIMM slot is having errors.

/sys/devices/system/ibm_rtl/state

Defined on filesysfs-devices-system-ibm-rtl

The state file allows a means by which to change in andout of Premium Real-Time Mode (PRTM), as well as theability to query the current state.

  • 0 => PRTM off

  • 1 => PRTM enabled

Users:

The ibm-prtm userspace daemon uses this interface.

/sys/devices/system/ibm_rtl/version

Defined on filesysfs-devices-system-ibm-rtl

The version file provides a means by which to querythe RTL table version that lives in the ExtendedBIOS Data Area (EBDA).

Users:

The ibm-prtm userspace daemon uses this interface.

/sys/devices/system/machinecheck/machinecheckX/

Defined on filesysfs-mce

(X = CPU number)

Machine checks report internal hardware error conditionsdetected by the CPU. Uncorrected errors typically cause amachine check (often with panic), corrected ones cause amachine check log entry.

For more details about the x86 machine check architecturesee the Intel and AMD architecture manuals from theirdeveloper websites.

For more details about the architectureseehttp://one.firstfloor.org/~andi/mce.pdf

Each CPU has its own directory.

/sys/devices/system/machinecheck/machinecheckX/bank<Y>

Defined on filesysfs-mce

(Y bank number)

64bit Hex bitmask enabling/disabling specific subevents forbank Y.

When a bit in the bitmask is zero then the respectivesubevent will not be reported.

By default all events are enabled.

Note that BIOS maintain another mask to disable specific eventsper bank. This is not visible here

/sys/devices/system/machinecheck/machinecheckX/check_interval

Defined on filesysfs-mce

The entries appear for each CPU, but they are truly sharedbetween all CPUs.

How often to poll for corrected machine check errors, inseconds (Note output is hexadecimal). Default 5 minutes.When the poller finds MCEs it triggers an exponential speedup(poll more often) on the polling interval. When the pollerstops finding MCEs, it triggers an exponential backoff(poll less often) on the polling interval. The check_intervalvariable is both the initial and maximum polling interval.0 means no polling for corrected machine check errors(but some corrected errors might be still reportedin other ways)

/sys/devices/system/machinecheck/machinecheckX/cmci_disabled

Defined on filesysfs-mce

Disables the CMCI feature.

/sys/devices/system/machinecheck/machinecheckX/dont_log_ce

Defined on filesysfs-mce

Disables logging for corrected errors.All reported corrected errors will be cleared silently.

This option will be useful if you never care about correctederrors.

/sys/devices/system/machinecheck/machinecheckX/ignore_ce

Defined on filesysfs-mce

Disables polling and CMCI for corrected errors.All corrected events are not cleared and kept in bank MSRs.

/sys/devices/system/machinecheck/machinecheckX/monarch_timeout

Defined on filesysfs-mce

How long to wait for the other CPUs to machine check too on aexception. 0 to disable waiting for other CPUs.

Unit: us

/sys/devices/system/machinecheck/machinecheckX/trigger

Defined on filesysfs-mce

The entries appear for each CPU, but they are truly sharedbetween all CPUs.

Program to run when a machine check event is detected.This is an alternative to running mcelog regularly from cronand allows to detect events faster.

/sys/devices/system/memory

Defined on filesysfs-devices-memory

The /sys/devices/system/memory contains a snapshot of theinternal state of the kernel memory blocks. Files could beadded or removed dynamically to represent hot-add/removeoperations.

Users:

hotplug memory add/remove toolshttp://www.ibm.com/developerworks/wikis/display/LinuxP/powerpc-utils

/sys/devices/system/memory/crash_hotplug

Defined on filesysfs-devices-memory

(RO) indicates whether or not the kernel updates relevant kexecsegments on memory hot un/plug and/or on/offline events, avoiding theneed to reload kdump kernel.

/sys/devices/system/memory/hard_offline_page

Defined on filesysfs-memory-page-offline

Hard-offline the memory page containing the physicaladdress written into this file. Input is a hex numberspecifying the physical address of the page. Thekernel will then attempt to hard-offline the page, bytrying to drop the page or killing any owner ortriggering IO errors if needed. Note this may killany processes owning the page. The kernel will avoidto access this page assuming it’s poisoned by thehardware.

The offlining is done in kernel specific granularity.Normally it’s the base page size of the kernel, butthis might change.

Return value is the size of the number, or a error whenthe offlining failed.Reading the file is not allowed.

/sys/devices/system/memory/memoryX/phys_device

Defined on filesysfs-devices-memory

The file /sys/devices/system/memory/memoryX/phys_deviceis read-only; it is a legacy interface only ever used on s390xto expose the covered storage increment.

Users:

Legacy s390-tools lsmem/chmem

/sys/devices/system/memory/memoryX/phys_index

Defined on filesysfs-devices-memory

The file /sys/devices/system/memory/memoryX/phys_indexis read-only and contains the section ID in hexadecimalwhich is equivalent to decimal X contained in thememory section directory name.

/sys/devices/system/memory/memoryX/removable

Defined on filesysfs-devices-memory

The file /sys/devices/system/memory/memoryX/removable is alegacy interface used to indicated whether a memory block islikely to be offlineable or not. Newer kernel versions return“1” if and only if the kernel supports memory offlining.

Users:

hotplug memory remove toolshttp://www.ibm.com/developerworks/wikis/display/LinuxP/powerpc-utilslsmem/chmem part of util-linux

/sys/devices/system/memory/memoryX/state

Defined on filesysfs-devices-memory

The file /sys/devices/system/memory/memoryX/stateis read-write. When read, it returns the online/offlinestate of the memory block. When written, root can togglethe online/offline state of a memory block using the followingcommands:

# echo online > /sys/devices/system/memory/memoryX/state# echo offline > /sys/devices/system/memory/memoryX/state

On newer kernel versions, advanced states can be specifiedwhen onlining to select a target zone: “online_movable”selects the movable zone. “online_kernel” selects theapplicable kernel zone (DMA, DMA32, or Normal). However,after successfully setting one of the advanced states,reading the file will return “online”; the zone informationcan be obtained via “valid_zones” instead.

While onlining is unlikely to fail, there are no guaranteesthat offlining will succeed. Offlining is more likely tosucceed if “valid_zones” indicates “Movable”.

Users:

hotplug memory remove toolshttp://www.ibm.com/developerworks/wikis/display/LinuxP/powerpc-utils

/sys/devices/system/memory/memoryX/valid_zones

Defined on filesysfs-devices-memory

The file /sys/devices/system/memory/memoryX/valid_zones isread-only.

For online memory blocks, it returns in which zone memoryprovided by a memory block is managed. If multiple zonesapply (not applicable for hotplugged memory), “None” is returnedand the memory block cannot be offlined.

For offline memory blocks, it returns by which zone memoryprovided by a memory block can be managed when onlining.The first returned zone (“default”) will be used when settingthe state of an offline memory block to “online”. Only one ofthe kernel zones (DMA, DMA32, Normal) is applicable for a singlememory block.

/sys/devices/system/memory/soft_offline_page

Defined on filesysfs-memory-page-offline

Soft-offline the memory page containing the physical addresswritten into this file. Input is a hex number specifying thephysical address of the page. The kernel will then attemptto soft-offline it, by moving the contents elsewhere ordropping it if possible. The kernel will then be placedon the bad page list and never be reused.

The offlining is done in kernel specific granularity.Normally it’s the base page size of the kernel, butthis might change.

The page must be still accessible, not poisoned. Thekernel will never kill anything for this, but ratherfail the offline. Return value is the size of thenumber, or a error when the offlining failed. Readingthe file is not allowed.

/sys/devices/system/memoryX/nodeY

Defined on filesysfs-devices-memory

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

For example, the following symbolic link is created formemory section 9 on node0:

/sys/devices/system/memory/memory9/node0 -> ../../node/node0

/sys/devices/system/node/nodeX/memoryY

Defined on filesysfs-devices-memory

When CONFIG_NUMA is enabled/sys/devices/system/node/nodeX/memoryY is a symbolic link thatpoints to the corresponding /sys/devices/system/memory/memoryYmemory section directory. For example, the following symboliclink is created for memory section 9 on node0.

/sys/devices/system/node/node0/memory9 -> ../../memory/memory9

/sys/devices/system/xen_cpu/

Defined on filesysfs-devices-system-xen_cpu

A collection of global/individual Xen physical cpu attributes

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

/sys/devices/system/xen_cpu/xen_cpu#/online

Defined on filesysfs-devices-system-xen_cpu

Interface to online/offline Xen physical cpus

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

/sys/devices/uncore_iio_x/dieX

Defined on filesysfs-devices-mapping

Each IIO stack (PCIe root port) has its own IIO PMON block, soeach dieX file (where X is die number) holds “Segment:Root Bus”for PCIe root port, which can be monitored by that IIO PMONblock.For example, on 4-die Xeon platform with up to 6 IIO stacks perdie and, therefore, 6 IIO PMON blocks per die, the mapping ofIIO PMON block 0 exposes as the following:

$ ls /sys/devices/uncore_iio_0/die*-r--r--r-- /sys/devices/uncore_iio_0/die0-r--r--r-- /sys/devices/uncore_iio_0/die1-r--r--r-- /sys/devices/uncore_iio_0/die2-r--r--r-- /sys/devices/uncore_iio_0/die3$ tail /sys/devices/uncore_iio_0/die*==> /sys/devices/uncore_iio_0/die0 <==0000:00==> /sys/devices/uncore_iio_0/die1 <==0000:40==> /sys/devices/uncore_iio_0/die2 <==0000:80==> /sys/devices/uncore_iio_0/die3 <==0000:c0

Which means:

IIO PMU 0 on die 0 belongs to PCI RP on bus 0x00, domain 0x0000IIO PMU 0 on die 1 belongs to PCI RP on bus 0x40, domain 0x0000IIO PMU 0 on die 2 belongs to PCI RP on bus 0x80, domain 0x0000IIO PMU 0 on die 3 belongs to PCI RP on bus 0xc0, domain 0x0000

/sys/devices/uncore_upi_x/dieX

Defined on filesysfs-devices-mapping

Each /sys/devices/uncore_upi_X/dieY file holds “upi_Z,die_W”value that means UPI link number X on die Y is connected to UPIlink Z on die W and this link between sockets can be monitoredby UPI PMON block.For example, 4-die Sapphire Rapids platform has the followingUPI 0 topology:

# tail /sys/devices/uncore_upi_0/die*==> /sys/devices/uncore_upi_0/die0 <==upi_1,die_1==> /sys/devices/uncore_upi_0/die1 <==upi_0,die_3==> /sys/devices/uncore_upi_0/die2 <==upi_1,die_3==> /sys/devices/uncore_upi_0/die3 <==upi_0,die_1

Which means:

UPI link 0 on die 0 is connected to UPI link 1 on die 1UPI link 0 on die 1 is connected to UPI link 0 on die 3UPI link 0 on die 2 is connected to UPI link 1 on die 3UPI link 0 on die 3 is connected to UPI link 0 on die 1

/sys/devices/virtual/memory_tiering/

Defined on filesysfs-kernel-mm-memory-tiers

A collection of all the memory tiers allocated.

Individual memory tier details are contained in subdirectoriesnamed by the abstract distance of the memory tier.

/sys/devices/virtual/memory_tiering/memory_tierN/

/sys/devices/virtual/memory_tiering/memory_tierN/

/sys/devices/virtual/memory_tiering/memory_tierN/nodelist

Defined on filesysfs-kernel-mm-memory-tiers

Directory with details of a specific memory tier

This is the directory containing information about a particularmemory tier, memtierN, where N is derived based on abstract distance.

A smaller value of N implies a higher (faster) memory tier in thehierarchy.

nodelist: NUMA nodes that are part of this memory tier.

/sys/devices/virtual/misc/intel_ifs_<N>/current_batch

Defined on filesysfs-platform-intel-ifs

Write a number less than or equal to 0xff to load an IFS test image.The number written treated as the 2 digit suffix in the following file name:/lib/firmware/intel/ifs_<N>/ff-mm-ss-02x.scanReading the file will provide the suffix of the currently loaded IFS test image.This file is present only for device instances where a test image is applicable.Devices: intel_ifs_0

/sys/devices/virtual/misc/intel_ifs_<N>/details

Defined on filesysfs-platform-intel-ifs

Additional information regarding the last test. The details file reportsthe hex value of the STATUS MSR for this test. Note that the error_code fieldmay contain driver defined software code not defined in the Intel SDM.Devices: all

/sys/devices/virtual/misc/intel_ifs_<N>/image_version

Defined on filesysfs-platform-intel-ifs

Version (hexadecimal) of loaded IFS test image. If no test imageis loaded reports “none”. Only present for device instances where a test imageis applicable.Devices: intel_ifs_0

/sys/devices/virtual/misc/intel_ifs_<N>/run_test

Defined on filesysfs-platform-intel-ifs

Write <cpu#> to trigger IFS test for one online core.Note that the test is per core. The cpu# can befor any thread on the core. Running on one threadcompletes the test for the core containing that thread.Example: to test the core containing cpu5: echo 5 >/sys/devices/virtual/misc/intel_ifs_<N>/run_testDevices: all

/sys/devices/virtual/misc/intel_ifs_<N>/status

Defined on filesysfs-platform-intel-ifs

The status of the last test. It can be one of “pass”, “fail”or “untested”.Devices: all

/sys/devices/virtual/misc/tdx_guest/measurements/MRNAME[:HASH]

Defined on filesysfs-devices-virtual-misc-tdx_guest

Value of a TDX measurement register (MR). MRNAME and HASH aboveare placeholders. The optional suffix :HASH is used for MRsthat have associated hash algorithms. See below for a completelist of TDX MRs exposed via sysfs. Refer to Intel TDX ModuleABI Specification for the definition of TDREPORT and the fulllist of TDX measurements.

Intel TDX Module ABI Specification can be found at:https://www.intel.com/content/www/us/en/developer/tools/trust-domain-extensions/documentation.html#architecture

See also:https://docs.kernel.org/driver-api/coco/measurement-registers.html

/sys/devices/virtual/misc/tdx_guest/measurements/mrconfigid

Defined on filesysfs-devices-virtual-misc-tdx_guest

(RO) MRCONFIGID - 48-byte immutable storage typically used forsoftware-defined ID for non-owner-defined configuration of theguest TD – e.g., run-time or OS configuration.

/sys/devices/virtual/misc/tdx_guest/measurements/mrowner

Defined on filesysfs-devices-virtual-misc-tdx_guest

(RO) MROWNER - 48-byte immutable storage typically used forsoftware-defined ID for the guest TD’s owner.

/sys/devices/virtual/misc/tdx_guest/measurements/mrownerconfig

Defined on filesysfs-devices-virtual-misc-tdx_guest

(RO) MROWNERCONFIG - 48-byte immutable storage typically usedfor software-defined ID for owner-defined configuration of theguest TD – e.g., specific to the workload rather than therun-time or OS.

/sys/devices/virtual/misc/tdx_guest/measurements/mrtd:sha384

Defined on filesysfs-devices-virtual-misc-tdx_guest

(RO) MRTD - Measurement of the initial contents of the TD.

/sys/devices/virtual/misc/tdx_guest/measurements/rtmr[0123]:sha384

Defined on filesysfs-devices-virtual-misc-tdx_guest

(RW) RTMR[0123] - 4 Run-Time extendable Measurement Registers.Read from any of these returns the current value of thecorresponding RTMR. Write extends the written buffer to theRTMR. All writes must start at offset 0 and be 48 bytes insize. Partial writes will result in EINVAL returned by thewrite() syscall.

Symbols under /sys/firmware

/sys/firmware/acpi/bgrt/

Defined on filesysfs-firmware-acpi

The BGRT is an ACPI 5.0 feature that allows the OSto obtain a copy of the firmware boot splash andsome associated metadata. This is intended to be usedby boot splash applications in order to interact withthe firmware boot splash in order to avoid jarringtransitions.

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 screenand the left edge of the image.

yoffset:

The number of pixels between the top of the screenand the top edge of the image.

/sys/firmware/acpi/fpdt/

Defined on filesysfs-firmware-acpi

ACPI Firmware Performance Data Table (FPDT) providesinformation for firmware performance data for system boot,S3 suspend and S3 resume. This sysfs entry contains theperformance data retrieved from the FPDT.

boot:
firmware_start_ns: Timer value logged at the beginning

of firmware image execution. In nanoseconds.

bootloader_load_ns: Timer value logged just prior to

loading the OS boot loader into memory.In nanoseconds.

bootloader_launch_ns: Timer value logged just prior to

launching the currently loaded OS boot loaderimage. In nanoseconds.

exitbootservice_start_ns: Timer value logged at the

point when the OS loader calls theExitBootServices function for UEFI compatiblefirmware. In nanoseconds.

exitbootservice_end_ns: Timer value logged at the point

just prior to the OS loader gaining controlback from the ExitBootServices function forUEFI compatible firmware. In nanoseconds.

suspend:
suspend_start_ns: Timer value recorded at the previous

OS write to SLP_TYP upon entry to S3. Innanoseconds.

suspend_end_ns: Timer value recorded at the previous

firmware write to SLP_TYP used to triggerhardware entry to S3. In nanoseconds.

resume:
resume_count: A count of the number of S3 resume cycles

since the last full boot sequence.

resume_avg_ns: Average timer value of all resume cycles

logged since the last full boot sequence,including the most recent resume. In nanoseconds.

resume_prev_ns: Timer recorded at the end of the previous

platform runtime firmware S3 resume, just prior tohandoff to the OS waking vector. In nanoseconds.

/sys/firmware/acpi/hotplug/

Defined on filesysfs-firmware-acpi

There are separate hotplug profiles for different classes ofdevices supported by ACPI, such as containers, memory modules,processors, PCI root bridges etc. A hotplug profile for a givenclass of devices is a collection of settings defining the waythat class of devices will be handled by the ACPI core hotplugcode. Those profiles are represented in sysfs as subdirectoriesof /sys/firmware/acpi/hotplug/.

The following setting is available to user space for eachhotplug profile:

enabled:

If set, the ACPI core will handle notifications ofhotplug events associated with the given class ofdevices and will allow those devices to be ejected withthe help of the _EJ0 control method. Unsetting iteffectively disables hotplug for the correspondingclass 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 willcause -EINVAL to be returned.

/sys/firmware/acpi/interrupts/

Defined on filesysfs-firmware-acpi

All ACPI interrupts are handled via a single IRQ,the System Control Interrupt (SCI), which appearsas “acpi” in /proc/interrupts.

However, one of the main functions of ACPI is to makethe platform understand random hardware withoutspecial driver support. So while the SCI handles a fewwell known (fixed feature) interrupts sources, suchas the power button, it can also handle a variablenumber of a “General Purpose Events” (GPE).

A GPE vectors to a specified handler in AML, whichcan do anything the BIOS writer wants fromOS context. GPE 0x12, for example, would vectorto a level or edge handler called _L12 or _E12.The handler may do its business and return.Or the handler may send a Notify eventto a Linux device driver registered on an ACPI device,such as a battery, or a processor.

To figure out where all the SCIs are coming from,/sys/firmware/acpi/interrupts contains a file listingevery possible source, and the count of how manytimes it has triggered:

$ cd /sys/firmware/acpi/interrupts$ grep . *error:             0ff_gbl_lock:       0   enableff_pmtimer:        0  invalidff_pwr_btn:        0   enableff_rt_clk:         2  disableff_slp_btn:        0  invalidgpe00:             0  invalidgpe01:             0   enablegpe02:           108   enablegpe03:             0  invalidgpe04:             0  invalidgpe05:             0  invalidgpe06:             0   enablegpe07:             0   enablegpe08:             0  invalidgpe09:             0  invalidgpe0A:             0  invalidgpe0B:             0  invalidgpe0C:             0  invalidgpe0D:             0  invalidgpe0E:             0  invalidgpe0F:             0  invalidgpe10:             0  invalidgpe11:             0  invalidgpe12:             0  invalidgpe13:             0  invalidgpe14:             0  invalidgpe15:             0  invalidgpe16:             0  invalidgpe17:          1084   enablegpe18:             0   enablegpe19:             0  invalidgpe1A:             0  invalidgpe1B:             0  invalidgpe1C:             0  invalidgpe1D:             0  invalidgpe1E:             0  invalidgpe1F:             0  invalidgpe_all:        1192sci:            1194sci_not:           0

sci

The number of times the ACPI SCIhas been called and claimed an interrupt.

sci_not

The number of times the ACPI SCIhas 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 thatdoesn’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 functionof the system, they are simply statistics.

Besides this, user can also write specific strings to these filesto enable/disable/clear ACPI interrupts in user space, which can beused 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 andFixed Event with event handler installed.

Let’s take power button fixed event for example, please kill acpidand other user space applications so that the machine won’t shutdownwhen pressing the power button:

# cat ff_pwr_btn0     enabled# press the power button for 3 times;# cat ff_pwr_btn3     enabled# echo disable > ff_pwr_btn# cat ff_pwr_btn3     disabled# press the power button for 3 times;# cat ff_pwr_btn3     disabled# echo enable > ff_pwr_btn# cat ff_pwr_btn4     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_btn7     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_btn7     enabled

/sys/firmware/acpi/memory_ranges/rangeX

Defined on filesysfs-firmware-acpi

On systems with the ACPI MRRM table reports the parameters foreach range.

base: Starting system physical address.

length: Length of this range in bytes.

node: NUMA node that this range belongs to. Negative numbersindicate that the node number could not be determined (e.gfor an address range that is reserved for future hot add ofmemory).

local_region_id: ID associated with access by agentslocal to this range of addresses.

remote_region_id: ID associated with access by agentsnon-local to this range of addresses.

/sys/firmware/acpi/platform_profile

Defined on filesysfs-platform_profile

Reading this file gives the current selected profile for thisdevice. Writing this file with one of the strings fromplatform_profile_choices changes the profile to the new value.

This file can be monitored for changes by polling for POLLPRI,POLLPRI will be signalled on any changes, independent of thosechanges coming from a userspace write; or coming from anothersource such as e.g. a hotkey triggered profile change handledeither directly by the embedded-controller or fully handledinside the kernel.

This file may also emit the string ‘custom’ to indicatethat multiple platform profiles drivers are in use buthave different values. This string can not be written tothis interface and is solely for informational purposes.

/sys/firmware/acpi/platform_profile_choices

Defined on filesysfs-platform_profile

This file contains a space-separated list of profiles supported for this device.

Drivers must use the following standard profile-names:

low-power

Low power consumption

cool

Cooler operation

quiet

Quieter operation

balanced

Balance between low power consumptionand performance

balanced-performance

Balance between performance and lowpower consumption with a slight biastowards performance

performance

High performance operation

Userspace may expect drivers to offer more than one of thesestandard profile names.

/sys/firmware/devicetree/*

Defined on filesysfs-firmware-ofw

When using OpenFirmware or a Flattened Device Tree to enumeratehardware, the device tree structure will be exposed in thisdirectory.

It is possible for multiple device-tree directories to exist.Some device drivers use a separate detached device tree whichhave no attachment to the system tree and will appear in adifferent subdirectory under /sys/firmware/devicetree.

Userspace must not use the /sys/firmware/devicetree/basepath directly, but instead should follow /proc/device-treesymlink. It is possible that the absolute path will changein the future, but the symlink is the stable ABI.

The /proc/device-tree symlink replaces the devicetree /procfilesystem support, and has largely the same semantics andshould be compatible with existing userspace.

The contents of /sys/firmware/devicetree/ is ahierarchy of directories, one per device tree node. Thedirectory name is the resolved path component name (nodename plus address). Properties are represented as filesin the directory. The contents of each file is the exactbinary data from the device tree.

/sys/firmware/dmi/entries/

Defined on filesysfs-firmware-dmi-entries

Many machines’ firmware (x86 and arm64) export DMI /SMBIOS tables to the operating system. Getting at thisinformation is often valuable to userland, especially incases where there are OEM extensions used.

The kernel itself does not rely on the majority of theinformation in these tables being correct. It equallycannot ensure that the data as exported to userland iswithout error either.

DMI is structured as a large table of entries, whereeach entry has a common header indicating the type andlength of the entry, as well as a firmware-provided‘handle’ that is supposed to be unique amongst allentries.

Some entries are required by the specification, but manyothers are optional. In general though, users shouldnever expect to find a specific entry type on theirsystem unless they know for certain what their firmwareis doing. Machine to machine experiences will vary.

Multiple entries of the same type are allowed. In orderto handle these duplicate entry types, each entry isassigned by the operating system an ‘instance’, which isderived from an entry type’s ordinal position. That isto say, if there are ‘N’ multiple entries with the same type‘T’ in the DMI tables (adjacent or spread apart, itdoesn’t matter), they will be represented in sysfs asentries “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 firmwareassigned entry handles as the kernel itself makes noguarantees that handles as exported are unique, andthere are likely firmware images that get this wrong inthe wild.

Each DMI entry in sysfs has the common header valuesexported as attributes:

handle

The 16bit ‘handle’ that is assigned to thisentry by the firmware. This handle may bereferred to by other entries.

length

The length of the entry, as presented in theentry itself. Note that this is _not thetotal count of bytes associated with theentry. This value represents the length ofthe “formatted” portion of the entry. This“formatted” region is sometimes followed bythe “unformatted” region composed of nulterminated strings, with termination signalledby 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 sameas found in the directory name. It indicateshow the rest of the entry should be interpreted.

instance

The instance ordinal of the entry for thegiven type. This value is the same as foundin the parent directory name.

position

The ordinal position (zero-based) of the entrywithin the entirety of the DMI entry table.

Entry Specialization

Some entry types may have other information available insysfs. Not all types are specialized.

Type 15 - System Event Log

This entry allows the firmware to export a log ofevents the system has taken. This information istypically backed by nvram, but the implementationdetails are abstracted by this table. This entry’s datais exported in the directory:

/sys/firmware/dmi/entries/15-0/system_event_log

and has the following attributes (documented in theSMBIOS / 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 logas described by the DMI entry.

/sys/firmware/dmi/tables/

Defined on filesysfs-firmware-dmi-tables

The firmware provides DMI structures as a packed list ofdata referenced by a SMBIOS table entry point. The SMBIOSentry point contains general information, like SMBIOSversion, DMI table size, etc. The structure, content andsize of SMBIOS entry point is dependent on SMBIOS version.The format of SMBIOS entry point and DMI structurescan be read in SMBIOS specification.

The dmi/tables provides raw SMBIOS entry point and DMI tablesthrough sysfs as an alternative to utilities reading themfrom /dev/mem. The raw SMBIOS entry point and DMI table arepresented 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 twotables.

/sys/firmware/efi/config_table

Defined on filesysfs-firmware-efi

It shows the physical address of config table entry in the EFIsystem table.

Users:

Kexec

/sys/firmware/efi/esrt/

Defined on filesysfs-firmware-efi-esrt

Provides userland access to read the EFI System Resource Table(ESRT), a catalog of firmware for which can be updated withthe UEFI UpdateCapsule mechanism described in section 7.5 ofthe UEFI Standard.

Users:

fwupdate -https://github.com/rhinstaller/fwupdate

/sys/firmware/efi/esrt/entries/entry<N>/

Defined on filesysfs-firmware-efi-esrt

Each ESRT entry is identified by a GUID, and each gets asubdirectory under entries/ .example: /sys/firmware/efi/esrt/entries/entry0/

/sys/firmware/efi/esrt/entries/entry<N>/capsule_flags

Defined on filesysfs-firmware-efi-esrt

Flags that must be passed toUpdateCapsule()

/sys/firmware/efi/esrt/entries/entry<N>/fw_class

Defined on filesysfs-firmware-efi-esrt

This is the entry’s guid, and will match the directory name.

/sys/firmware/efi/esrt/entries/entry<N>/fw_type

Defined on filesysfs-firmware-efi-esrt

What kind of firmware entry this is:

0

Unknown

1

System Firmware

2

Device Firmware

3

UEFI Driver

/sys/firmware/efi/esrt/entries/entry<N>/fw_version

Defined on filesysfs-firmware-efi-esrt

The version of the firmware currently installed. This is a32-bit unsigned integer.

/sys/firmware/efi/esrt/entries/entry<N>/last_attempt_status

Defined on filesysfs-firmware-efi-esrt

The result of the last firmware update attempt for thefirmware resource entry.

0

Success

1

Insufficient resources

2

Incorrect version

3

Invalid format

4

Authentication error

5

AC power event

6

Battery power event

/sys/firmware/efi/esrt/entries/entry<N>/last_attempt_version

Defined on filesysfs-firmware-efi-esrt

The last firmware version for which an update was attempted.

/sys/firmware/efi/esrt/entries/entry<N>/lowest_supported_fw_version

Defined on filesysfs-firmware-efi-esrt

The lowest version of the firmware that can be installed.

/sys/firmware/efi/esrt/fw_resource_count

Defined on filesysfs-firmware-efi-esrt

The number of entries in the ESRT

/sys/firmware/efi/esrt/fw_resource_count_max

Defined on filesysfs-firmware-efi-esrt

The maximum number of entries that /could/ be registeredin the allocation the table is currently in. This isreally only useful to the system firmware itself.

/sys/firmware/efi/esrt/fw_resource_version

Defined on filesysfs-firmware-efi-esrt

The version of the ESRT structure provided by the firmware.

/sys/firmware/efi/fw_vendor

Defined on filesysfs-firmware-efi

It shows the physical address of firmware vendor field in theEFI system table.

Users:

Kexec

/sys/firmware/efi/ovmf_debug_log

Defined on filesysfs-firmware-efi

Displays the content of the OVMF debug log buffer. The file isonly present in case the firmware supports logging to a memorybuffer.

/sys/firmware/efi/runtime

Defined on filesysfs-firmware-efi

It shows the physical address of runtime service table entry inthe EFI system table.

Users:

Kexec

/sys/firmware/efi/runtime-map/

Defined on filesysfs-firmware-efi-runtime-map

Switching efi runtime services to virtual mode requiresthat all efi memory ranges which have the runtime attributebit set to be mapped to virtual addresses.

The efi runtime services can only be switched to virtualmode once without rebooting. The kexec kernel must maintainthe same physical to virtual address mappings as the firstkernel. The mappings are exported to sysfs so userspace toolscan reassemble them and pass them into the kexec kernel.

/sys/firmware/efi/runtime-map/ is the directory the kernelexports 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.

Users:

Kexec

/sys/firmware/efi/systab

Defined on filesysfs-firmware-efi

Displays the physical addresses of all EFI ConfigurationTables found via the EFI System Table. The order inwhich the tables are printed forms an ABI and newerversions are always printed first, i.e. ACPI20 comesbefore ACPI.

Users:

dmidecode

/sys/firmware/efi/tables/rci2

Defined on filesysfs-firmware-efi

Displays the content of the Runtime Configuration InterfaceTable version 2 on Dell EMC PowerEdge systems in binary format

Users:

It is used by Dell EMC OpenManage Server Administrator tool topopulate BIOS setup page.

/sys/firmware/fdt

Defined on filesysfs-firmware-ofw

Exports the FDT blob that was passed to the kernel bythe bootloader. This allows userland applications suchas kexec to access the raw binary. This blob is alsouseful when debugging since it contains any changesmade to the blob by the bootloader.

The fact that this node does not reside under/sys/firmware/device-tree is deliberate: FDT is also usedon arm64 UEFI/ACPI systems to communicate just the UEFIand ACPI entry points, but the FDT is never unflattenedand used to configure the system.

A CRC32 checksum is calculated over the entire FDTblob, and verified at late_initcall time. The sysfsentry is instantiated only if the checksum is valid,i.e., if the FDT blob has not been modified in the meantime. Otherwise, a warning is printed.

Users:

kexec, debugging

/sys/firmware/gsmi

Defined on filesysfs-firmware-gsmi

Some servers used internally at Google have firmwarethat provides callback functionality via explicit SMItriggers. Some of the callbacks are similar to thoseprovided by the EFI runtime services page, but due tohistorical reasons this different entry-point has beenused.

The gsmi driver implements the kernel’s abstraction forthese firmware callbacks. Currently, this functionalityis limited to handling the system event log and gettingaccess to EFI-style variables stored in nvram.

Layout:

/sys/firmware/gsmi/vars:

This directory has the same layout (andunderlying implementation as /sys/firmware/efi/vars.SeeDocumentation/ABI/*/sysfs-firmware-efi-varsfor more information on how to interact withthis structure.

/sys/firmware/gsmi/append_to_eventlog - write-only:

This file takes a binary blob and passes it ontothe firmware to be timestamped and appended tothe system eventlog. The binary format isinterpreted by the firmware and may change fromplatform to platform. The only kernel-enforcedrequirement is that the blob be prefixed with a32bit host-endian type used as part of thefirmware call.

/sys/firmware/gsmi/clear_config - write-only:

Writing any value to this file will cause theentire firmware configuration to be reset to“factory defaults”. Callers should assume thata reboot is required for the configuration to becleared.

/sys/firmware/gsmi/clear_eventlog - write-only:

This file is used to clear out a portion/thewhole of the system event log. Values writtenshould be values between 1 and 100 inclusive (inASCII) representing the fraction of the log toclear. Not all platforms support fractionalclearing though, and this writes to this filewill error out if the firmware doesn’t like yoursubmitted fraction.

Callers should assume that a reboot is neededfor this operation to complete.

/sys/firmware/ibft/acpi_header

Defined on filesysfs-ibft

The /sys/firmware/ibft/acpi_header directory will contain filesthat expose the SIGNATURE, OEM_ID, and OEM_TABLE_ID fields of theacpi table header of the iBFT structure. This will allow foridentification of the creator of the table which is useful indetermining quirks associated with some adapters when used inhardware vs software iscsi initiator mode.

/sys/firmware/ibft/ethernetX

Defined on filesysfs-ibft

The /sys/firmware/ibft/ethernetX directory will containfiles that expose the iSCSI Boot Firmware Table NIC data.Usually this contains the IP address, MAC, and gateway of the NIC.

/sys/firmware/ibft/initiator

Defined on filesysfs-ibft

The /sys/firmware/ibft/initiator directory will containfiles that expose the iSCSI Boot Firmware Table initiator data.Usually this contains the Initiator name.

/sys/firmware/ibft/targetX

Defined on filesysfs-ibft

The /sys/firmware/ibft/targetX directory will containfiles 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 alsocontain the CHAP name (and password), the reverse CHAPname (and password)

/sys/firmware/initrd

Defined on filesysfs-firmware-initrd

When the kernel was booted with an initrd and the“retain_initrd” option is set on the kernel commandline, /sys/firmware/initrd contains the contents of theinitrd that the kernel was booted with.

/sys/firmware/lefi/boardinfo

Defined on filesysfs-firmware-lefi-boardinfo

Get mainboard and BIOS info easily on the Loongson platform,this is useful to point out the current used mainboard typeand BIOS version when there exists problems related withhardware or firmware.

The related structures are already defined in the interfacespecification about firmware and kernel which are commonrequirement and specific for Loongson64, so only add a newboardinfo.c file in arch/mips/loongson64.

For example:

[loongson@linux ~]$ cat /sys/firmware/lefi/boardinfoBoard InfoManufacturer : LEMOTEBoard Name : LEMOTE-LS3A4000-7A1000-1w-V01-pcFamily : LOONGSON3

BIOS InfoVendor : KunlunVersion : Kunlun-A1901-V4.1.3-20200414093938ROM Size : 4 KBRelease Date : 2020-04-14

By the way, using dmidecode command can get the similar info if thereexists SMBIOS in firmware, but the fact is that there is no SMBIOS onsome machines, we can see nothing when execute dmidecode, like this:

[root@linux loongson]# dmidecode# dmidecode 2.12# No SMBIOS nor DMI entry point found, sorry.

/sys/firmware/log

Defined on filesysfs-firmware-log

The /sys/firmware/log is a binary file that represents aread-only copy of the firmware’s log if one isavailable.

/sys/firmware/memmap/

Defined on filesysfs-firmware-memmap

On all platforms, the firmware provides a memory map which thekernel reads. The resources from that memory map are registeredin the kernel resource tree and exposed to userspace via/proc/iomem (together with other resources).

However, on most architectures that firmware-provided memorymap is modified afterwards by the kernel itself, either becausethe kernel merges that memory map with other information orjust because the user overwrites that memory map via commandline.

kexec needs the raw firmware-provided memory map to setup theparameter segment of the kernel that should be booted withkexec. Also, the raw memory map is useful for debugging. Forthat reason, /sys/firmware/memmap is an interface that providesthe raw memory map to userspace.

The structure is as follows: Under /sys/firmware/memmap thereare 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 providedby the firmware. The order is just the order that the firmwareprovides.

Each directory contains three files:

start

The start address (as hexadecimal number with the‘0x’ prefix).

end

The end address, inclusive (regardless whether thefirmware provides inclusive or exclusive ranges).

type

Type of the entry as string. See below for a list ofvalid 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

  • Unusable memory

  • Persistent Memory (legacy)

  • Persistent Memory

  • Soft Reserved

  • reserved

Following shell snippet can be used to display that memorymap in a human-readable format:

#!/bin/bashcd /sys/firmware/memmapfor 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

/sys/firmware/opal/powercap

Defined on filesysfs-firmware-opal-powercap

Powercap directory for Powernv (P8, P9) servers

Each folder in this directory contains apower-cappable component.

/sys/firmware/opal/powercap/system-powercap

/sys/firmware/opal/powercap/system-powercap/powercap-min

/sys/firmware/opal/powercap/system-powercap/powercap-max

/sys/firmware/opal/powercap/system-powercap/powercap-current

Defined on filesysfs-firmware-opal-powercap

System powercap directory and attributes applicable forPowernv (P8, P9) servers

This directory provides powercap information. Itcontains below sysfs attributes:

  • powercap-min : This file provides the minimumpossible powercap in Watt units

  • powercap-max : This file provides the maximumpossible powercap in Watt units

  • powercap-current : This file provides the currentpowercap set on the system. Writing to this filecreates a request for setting a new-powercap. Thepowercap requested must be between powercap-minand powercap-max.

/sys/firmware/opal/psr

Defined on filesysfs-firmware-opal-psr

Power-Shift-Ratio directory for Powernv P9 servers

Power-Shift-Ratio allows to provide hints the firmwareto shift/throttle power between different entities inthe system. Each attribute in this directory indicatesa settable PSR.

/sys/firmware/opal/psr/cpu_to_gpu_X

Defined on filesysfs-firmware-opal-psr

PSR sysfs attributes for Powernv P9 servers

Power-Shift-Ratio between CPU and GPU for a given chipwith chip-id X. This file gives the ratio (0-100)which is used by OCC for power-capping.

/sys/firmware/opal/sensor_groups

Defined on filesysfs-firmware-opal-sensor-groups

Sensor groups directory for POWER9 powernv servers

Each folder in this directory contains a sensor groupwhich are classified based on type of the sensorlike power, temperature, frequency, current, etc. Theycan also indicate the group of sensors belonging todifferent owners like CSM, Profiler, Job-Scheduler

/sys/firmware/opal/sensor_groups/<sensor_group_name>/clear

Defined on filesysfs-firmware-opal-sensor-groups

Sysfs file to clear the min-max of all the sensorsbelonging to the group.

Writing 1 to this file will clear the minimum andmaximum values of all the sensors in the group.In POWER9, the min-max of a sensor is the historical minimumand maximum value of the sensor cached by OCC.

/sys/firmware/papr/energy_scale_info

Defined on filesysfs-firmware-papr-energy-scale-info

Directory hosting a set of platform attributes likeenergy/frequency on Linux running as a PAPR guest.

Each file in a directory contains a platformattribute hierarchy pertaining to performance/energy-savings mode and processor frequency.

/sys/firmware/papr/energy_scale_info/<id>

Defined on filesysfs-firmware-papr-energy-scale-info

Energy, frequency attributes directory for POWERVM servers

/sys/firmware/papr/energy_scale_info/<id>/desc

Defined on filesysfs-firmware-papr-energy-scale-info

String description of the energy attribute of <id>

/sys/firmware/papr/energy_scale_info/<id>/value

Defined on filesysfs-firmware-papr-energy-scale-info

Numeric value of the energy attribute of <id>

/sys/firmware/papr/energy_scale_info/<id>/value_desc

Defined on filesysfs-firmware-papr-energy-scale-info

String value of the energy attribute of <id>

/sys/firmware/qemu_fw_cfg/

Defined on filesysfs-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 toprovide configuration data to the guest firmware. Startingwith QEMU v2.4, arbitrary fw_cfg file entries may be specifiedby the user on the command line, which makes fw_cfg additionallyuseful as an out-of-band, asynchronous mechanism for providingconfiguration data to the guest userspace.

The authoritative guest-side hardware interface documentationto the fw_cfg device can be found in “docs/specs/fw_cfg.rst”in the QEMU source tree, or online at:https://qemu-project.gitlab.io/qemu/specs/fw_cfg.html

SysFS fw_cfg Interface

The fw_cfg sysfs interface described in this document is onlyintended to display discoverable blobs (i.e., those registeredwith the file directory), as there is no way to determine thepresence or size of “legacy” blobs (with selector keys between0x0002 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 aredisplayed as entries named after their unique selector keyvalue, 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 exportedas attributes:

name

The 56-byte nul-terminated ASCII string used as theblob’s ‘file name’ in the fw_cfg directory.

size

The length of the blob, as given in the fw_cfgdirectory.

key

The value of the blob’s selector key as given in thefw_cfg directory. This value is the same as used inthe parent directory name.

raw

The raw bytes of the blob, obtained by selecting theentry via the control register, and reading a numberof bytes equal to the blob size from the dataregister.

Listing fw_cfg blobs by file name

While the fw_cfg device does not impose any specific namingconvention on the blobs registered in the file directory,QEMU developers have traditionally used path name semanticsto 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 describedabove, the fw_cfg sysfs driver also attempts to build a treeof directories matching the path name components of fw_cfgblob 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/38qemu_fw_cfg/by_name/etc/e820 -> ../../by_key/35qemu_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 componentsof fw_cfg blob names are always “well behaved”. I.e., there isthe possibility that a symlink (basename) will conflict witha dirname component of another fw_cfg blob, in which case thecreation of the offending /sys/firmware/qemu_fw_cfg/by_nameentry will be skipped.

The authoritative list of entries will continue to be foundunder the /sys/firmware/qemu_fw_cfg/by_key directory.

/sys/firmware/secvar

Defined on filesysfs-secvar

This directory is created if the POWER firmware supports OSsecureboot, thereby secure variables. It exposes interfacefor reading/writing the secure variables

/sys/firmware/secvar/config

Defined on filesysfs-secvar

This optional directory contains read-only config attributes asdefined by the secure variable implementation. All data is inASCII format. The directory is only created if the backingimplementation provides variables to populate it, which atpresent is only PLPKS on the pseries platform.

/sys/firmware/secvar/config/max_object_size

Defined on filesysfs-secvar

Maximum allowed size of objects in the keystore in bytes,represented in ASCII decimal format.

This is not necessarily the same as the max size that can bewritten to an update file as writes can contain more thanobject data, you should use the size of the update file forthat purpose.

Currently only provided by PLPKS on the pseries platform.

/sys/firmware/secvar/config/signed_update_algorithms

Defined on filesysfs-secvar

Bitmask of flags indicating which algorithms the hypervisorsupports for signed update of objects, represented as a 16 bytehexadecimal ASCII string. Consult the hypervisor documentationfor what these flags mean.

Currently only provided by PLPKS on the pseries platform.

/sys/firmware/secvar/config/supported_policies

Defined on filesysfs-secvar

Bitmask of supported policy flags by the hypervisor,represented as an 8 byte hexadecimal ASCII string. Consult thehypervisor documentation for what these flags are.

Currently only provided by PLPKS on the pseries platform.

/sys/firmware/secvar/config/total_size

Defined on filesysfs-secvar

Total size of the PLPKS in bytes, represented in ASCII decimalformat.

Currently only provided by PLPKS on the pseries platform.

/sys/firmware/secvar/config/used_space

Defined on filesysfs-secvar

Current space consumed by the key store, in bytes, representedin ASCII decimal format.

Currently only provided by PLPKS on the pseries platform.

/sys/firmware/secvar/config/version

Defined on filesysfs-secvar

Config version as reported by the hypervisor in ASCII decimalformat.

Currently only provided by PLPKS on the pseries platform.

/sys/firmware/secvar/format

Defined on filesysfs-secvar

A string indicating which backend is in use by the firmware.This determines the format of the variable and the acceptedformat of variable updates.

On powernv/OPAL, this value is provided by the OPAL firmwareand is expected to be “ibm,edk2-compat-v1”.

On pseries/PLPKS, this is generated by the kernel based on theversion number in the SB_VERSION variable in the keystore. Theversion numbering in the SB_VERSION variable starts from 1. Theformat string takes the form “ibm,plpks-sb-v<version>” in thecase of dynamic key management mode. If the SB_VERSION variabledoes not exist (or there is an error while reading it), it takesthe form “ibm,plpks-sb-v0”, indicating that the key managementmode is static.

/sys/firmware/secvar/vars

Defined on filesysfs-secvar

This directory lists all the secure variables that are supportedby the firmware.

/sys/firmware/secvar/vars/<variable name>

Defined on filesysfs-secvar

Each secure variable is represented as a directory named as<variable_name>. The variable name is unique and is in ASCIIrepresentation. The data and size can be determined by readingtheir respective attribute files.

Only secvars relevant to the key management mode are exposed.Only in the dynamic key management mode should the user haveaccess (read and write) to the secure boot secvars db, dbx,grubdb, grubdbx, and sbat. These secvars are not consumed in thestatic key management mode. PK, trustedcadb and moduledb are thesecvars common to both static and dynamic key management modes.

/sys/firmware/secvar/vars/<variable_name>/data

Defined on filesysfs-secvar

A read-only file containing the value of the variable. The sizeof the file represents the maximum size of the variable data.

/sys/firmware/secvar/vars/<variable_name>/size

Defined on filesysfs-secvar

An integer representation of the size of the content of thevariable. In other words, it represents the size of the data.

/sys/firmware/secvar/vars/<variable_name>/update

Defined on filesysfs-secvar

A write-only file that is used to submit the new value for thevariable. The size of the file represents the maximum size ofthe variable data that can be written.

/sys/firmware/sgi_uv/

Defined on filesysfs-firmware-sgi_uv

The /sys/firmware/sgi_uv directory contains informationabout the UV platform.

Under that directory are a number of read-only attributes:

archtypehub_typehublesspartition_idcoherence_iduv_type

The archtype entry contains the UV architecture type thatis used to select arch-dependent addresses and features.It can be set via the OEM_ID in the ACPI MADT table or byUVsystab entry both passed from UV BIOS.

The hub_type entry is used to select the type of hub which issimilar to uv_type but encoded in a binary format. Includethe file uv_hub.h to get the definitions.

The hubless entry basically is present and set only if thereis no hub. In this case the hub_type entry is not present.

The partition_id entry contains the partition id.UV systems can be partitioned into multiple physicalmachines, which each partition running a unique copyof the operating system. Each partition will have a uniquepartition id.

The coherence_id entry contains the coherence id.A partitioned UV system can have one or more coherencedomains. The coherence id indicates which coherence domainthis partition is in.

The uv_type entry contains the hub revision number.This value can be used to identify the UV system version:

"0.*" = Hubless UV ('*' is subtype)"3.0" = UV2"5.0" = UV3"7.0" = UV4"7.1" = UV4a"9.0" = UV5

The /sys/firmware/sgi_uv directory also contains two directories:

hubs/pcibuses/

The hubs directory contains a number of hub objects, each representinga UV Hub visible to the BIOS. Each hub object’s name is appended by aunique ordinal value (ex. /sys/firmware/sgi_uv/hubs/hub_5)

Each hub object directory contains a number of read-only attributes:

cnodelocationnamenasidsharedthis_partition

The cnode entry contains the cnode number of the corresponding hub.If a cnode value is not applicable, the value returned will be -1.

The location entry contains the location string of the corresponding hub.This value is used to physically identify a hub within a system.

The name entry contains the name of the corresponding hub. This name canbe two variants:

"UVHub x.x" = A 'node' ASIC, connecting a CPU to the interconnectfabric. The 'x.x' value represents the ASIC revision.(ex. 'UVHub 5.0')"NLxRouter" = A 'router ASIC, only connecting other ASICs tothe interconnect fabric. The 'x' value representingthe fabric technology version. (ex. 'NL8Router')

The nasid entry contains the nasid number of the corresponding hub.If a nasid value is not applicable, the value returned will be -1.

The shared entry contains a boolean value describing whether thecorresponding hub is shared between system partitions.

The this_partition entry contains a boolean value describing whetherthe corresponding hub is local to the current partition.

Each hub object directory also contains a number of port objects,each representing a fabric port on the corresponding hub.A port object’s name is appended by a unique ordinal value(ex. /sys/firmware/sgi_uv/hubs/hub_5/port_3)

Each port object directory contains a number of read-only attributes:

conn_hubconn_port

The conn_hub entry contains a value representing the uniqueordinal value of the hub on the other end of the fabriccable plugged into the port. If the port is disconnected,the value returned will be -1.

The conn_port entry contains a value representing the uniqueordinal value of the port on the other end of the fabric cableplugged into the port. If the port is disconnected, the valuereturned will be -1.

Ex:
A value of ‘3’ is read from:

/sys/firmware/sgi_uv/hubs/hub_5/port_3/conn_hub

and a value of ‘6’ is read from:

/sys/firmware/sgi_uv/hubs/hub_5/port_3/conn_port

representing that this port is connected to:

/sys/firmware/sgi_uv/hubs/hub_3/port_6

The pcibuses directory contains a number of PCI bus objects.Each PCI bus object’s name is appended by its PCI bus address.(ex. pcibus_0003:80)

Each pcibus object has a number of possible read-only attributes:

typelocationslotppb_addriio_stack

The type entry contains a value describing the type of IO atthe corresponding PCI bus address. Known possible valuesacross all UV versions are:

BASE IOPCIe IOPCIe SLOTNODE IORiserPPB

The location entry contains the location string of the UV Hubof the CPU physically connected to the corresponding PCI bus.

The slot entry contains the physical slot number of thecorresponding PCI bus. This value is used to physically locatePCI cards within a system.

The ppb_addr entry contains the PCI address string of thebridged PCI bus. This entry is only present when the PCI busobject type is ‘PPB’.

The iio_stack entry contains a value describing the IIO stacknumber that the corresponding PCI bus object is connected to.

/sys/firmware/turris-mox-rwtm/board_version

Defined on filesysfs-firmware-turris-mox-rwtm

(Read) Board version burned into eFuses of this Turris Mox board.Format: %i

/sys/firmware/turris-mox-rwtm/mac_address*

Defined on filesysfs-firmware-turris-mox-rwtm

(Read) MAC addresses burned into eFuses of this Turris Mox board.Format: %pM

/sys/firmware/turris-mox-rwtm/ram_size

Defined on filesysfs-firmware-turris-mox-rwtm

(Read) RAM size in MiB of this Turris Mox board as was detectedduring manufacturing and burned into eFuses. Can be 512 or 1024.Format: %i

/sys/firmware/turris-mox-rwtm/serial_number

Defined on filesysfs-firmware-turris-mox-rwtm

(Read) Serial number burned into eFuses of this Turris Mox device.Format: %016X

Symbols under /sys/fs

/sys/fs/erofs/<disk>/dir_ra_bytes

Defined on filesysfs-fs-erofs

Used to set or show readahead bytes duringreaddir(), bydefault the value is 16384.

  • 0: disable readahead.

/sys/fs/erofs/<disk>/drop_caches

Defined on filesysfs-fs-erofs

Writing to this will drop compression-related caches,currently used to drop in-memory pclusters and cachedcompressed folios:

  • 1 : invalidate cached compressed folios

  • 2 : drop in-memory pclusters

  • 3 : drop in-memory pclusters and cached compressed folios

/sys/fs/erofs/<disk>/sync_decompress

Defined on filesysfs-fs-erofs

Control strategy of sync decompression:

  • 0 (default, auto): enable for readpage, and enable forreadahead on atomic contexts only.

  • 1 (force on): enable for readpage and readahead.

  • 2 (force off): disable for all situations.

/sys/fs/erofs/accel

Defined on filesysfs-fs-erofs

Used to set or show hardware accelerators in effectand multiple accelerators are separated by ‘n’.Supported accelerator(s): qat_deflate.Disable all accelerators with an empty string (echo > accel).

/sys/fs/erofs/features/

Defined on filesysfs-fs-erofs

Shows all enabled kernel features.Supported features:zero_padding, compr_cfgs, big_pcluster, chunked_file,device_table, compr_head2, sb_chksum, ztailpacking,dedupe, fragments, 48bit, metabox.

/sys/fs/ext4/<disk>/delayed_allocation_blocks

Defined on filesysfs-fs-ext4

This file is read-only and shows the number of blocksthat are dirty in the page cache, but which do nothave their location in the filesystem allocated yet.

/sys/fs/ext4/<disk>/extent_max_zeroout_kb

Defined on filesysfs-fs-ext4

The maximum number of kilobytes which will be zeroedout in preference to creating a new uninitializedextent when manipulating an inode’s extent tree. Notethat using a larger value will increase thevariability of time necessary to complete a randomwrite operation (since a 4k random write might turninto a much larger write due to the zerooutoperation).

/sys/fs/ext4/<disk>/inode_goal

Defined on filesysfs-fs-ext4

Tuning parameter which (if non-zero) controls the goalinode used by the inode allocator in preference toall other allocation heuristics. This is intended fordebugging use only, and should be 0 on productionsystems.

/sys/fs/ext4/<disk>/inode_readahead_blks

Defined on filesysfs-fs-ext4

Tuning parameter which controls the maximum number ofinode table blocks that ext4’s inode table readaheadalgorithm will pre-read into the buffer cache

/sys/fs/ext4/<disk>/journal_task

Defined on filesysfs-fs-ext4

This file is read-only and shows the pid of journal thread incurrent pid-namespace or 0 if task is unreachable.

/sys/fs/ext4/<disk>/lifetime_write_kbytes

Defined on filesysfs-fs-ext4

This file is read-only and shows the number of kilobytesof data that have been written to this filesystem since it wascreated.

/sys/fs/ext4/<disk>/max_writeback_mb_bump

Defined on filesysfs-fs-ext4

The maximum number of megabytes the writeback code willtry to write out before move on to another inode.

/sys/fs/ext4/<disk>/mb_group_prealloc

Defined on filesysfs-fs-ext4

The multiblock allocator will round up allocationrequests to a multiple of this tuning parameter if thestripe size is not set in the ext4 superblock

/sys/fs/ext4/<disk>/mb_max_to_scan

Defined on filesysfs-fs-ext4

The maximum number of extents the multiblock allocatorwill search to find the best extent

/sys/fs/ext4/<disk>/mb_min_to_scan

Defined on filesysfs-fs-ext4

The minimum number of extents the multiblock allocatorwill search to find the best extent

/sys/fs/ext4/<disk>/mb_order2_req

Defined on filesysfs-fs-ext4

Tuning parameter which controls the minimum size forrequests (as a power of 2) where the buddy cache isused

/sys/fs/ext4/<disk>/mb_stats

Defined on filesysfs-fs-ext4

Controls whether the multiblock allocator shouldcollect statistics, which are shown during the unmount.1 means to collect statistics, 0 means not to collectstatistics

/sys/fs/ext4/<disk>/mb_stream_req

Defined on filesysfs-fs-ext4

Files which have fewer blocks than this tunableparameter will have their blocks allocated out of ablock group specific preallocation pool, so that smallfiles are packed closely together. Each large filewill have its blocks allocated out of its own uniquepreallocation pool.

/sys/fs/ext4/<disk>/session_write_kbytes

Defined on filesysfs-fs-ext4

This file is read-only and shows the number ofkilobytes of data that have been written to thisfilesystem since it was mounted.

/sys/fs/f2fs/<disk>/allocate_section_hint

Defined on filesysfs-fs-f2fs

Indicates the hint section between the first device and others in multi-devicessetup. It defaults to the end of the first device in sections. For a single storagedevice, it defaults to the total number of sections. It can be manually set to matchscenarios where multi-devices are mapped to the same dm device.

/sys/fs/f2fs/<disk>/allocate_section_policy

Defined on filesysfs-fs-f2fs

Controls write priority in multi-devices setups. A value of 0 means normal writing.A value of 1 prioritizes writing to devices before the allocate_section_hint. A value of 2prioritizes writing to devices after the allocate_section_hint. The default is 0.

value

description

allocate_section_policy = 0

Normal writing

allocate_section_policy = 1

Prioritize writing to section before allocate_section_hint

allocate_section_policy = 2

Prioritize writing to section after allocate_section_hint

/sys/fs/f2fs/<disk>/atgc_age_threshold

Defined on filesysfs-fs-f2fs

When ATGC is on, it controls age threshold to bypass GCing youngcandidates whose age is not beyond the threshold, by default it wasinitialized as 604800 seconds (equals to 7 days).

/sys/fs/f2fs/<disk>/atgc_age_weight

Defined on filesysfs-fs-f2fs

When ATGC is on, it controls age weight to balance weight proportionin between aging and valid blocks, the value should be in range of[0, 100], by default it was initialized as 60(%).

/sys/fs/f2fs/<disk>/atgc_candidate_count

Defined on filesysfs-fs-f2fs

When ATGC is on, it controls candidate count in order to limit totalnumber of potential victim in all candidates, by default it wasinitialized as 10 (sections).

/sys/fs/f2fs/<disk>/atgc_candidate_ratio

Defined on filesysfs-fs-f2fs

When ATGC is on, it controls candidate ratio in order to limit totalnumber of potential victim in all candidates, the value should be inrange of [0, 100], by default it was initialized as 20(%).

/sys/fs/f2fs/<disk>/atgc_enabled

Defined on filesysfs-fs-f2fs

It represents whether ATGC is on or off. The value is 1 which

indicates that ATGC is on, and 0 indicates that it is off.

/sys/fs/f2fs/<disk>/avg_vblocks

Defined on filesysfs-fs-f2fs

Average number of valid blocks.Available when CONFIG_F2FS_STAT_FS=y.

/sys/fs/f2fs/<disk>/bggc_io_aware

Defined on filesysfs-fs-f2fs

Used to adjust the BG_GC priority when pending IO, with a default valueof 0. Specifically, for ZUFS, the default value is 1.

value

description

bggc_io_aware = 0

skip background GC if there is any kind of pending IO

bggc_io_aware = 1

skip background GC if there is pending read IO

bggc_io_aware = 2

don’t aware IO for background GC

/sys/fs/f2fs/<disk>/blkzone_alloc_policy

Defined on filesysfs-fs-f2fs

The zone UFS we are currently using consists of two parts:conventional zones and sequential zones. It can be used to control which partto prioritize for writes, with a default value of 0.

value

description

blkzone_alloc_policy = 0

Prioritize writing to sequential zones

blkzone_alloc_policy = 1

Only allow writing to sequential zones

blkzone_alloc_policy = 2

Prioritize writing to conventional zones

/sys/fs/f2fs/<disk>/carve_out

Defined on filesysfs-fs-f2fs

For several zoned storage devices, vendors will provide extra space whichwas used for device level GC than specs and F2FS can use this space forfilesystem level GC. To do that, we can reserve the space usingreserved_blocks. However, it is not enough, since this extra space shouldnot be shown to users. So, with this new sysfs node, we can hide the spaceby subtracting reserved_blocks from total bytes.

/sys/fs/f2fs/<disk>/ckpt_thread_ioprio

Defined on filesysfs-fs-f2fs

Give a way to change checkpoint merge daemon’s io priority.Its default value is “be,3”, which means “BE” I/O class andI/O priority “3”. We can select the class between “rt” and “be”,and set the I/O priority within valid range of it. “,” delimiteris necessary in between I/O class and priority number.

/sys/fs/f2fs/<disk>/committed_atomic_block

Defined on filesysfs-fs-f2fs

Show the accumulated total committed atomic write block count after boot.If you write “0” here, you can initialize to “0”.

/sys/fs/f2fs/<disk>/compr_new_inode

Defined on filesysfs-fs-f2fs

Show the count of inode newly enabled for compression since mount.Note that when the compression is disabled for the files, this countdoesn’t decrease. If you write “0” here, you can initializecompr_new_inode to “0”.

/sys/fs/f2fs/<disk>/compr_saved_block

Defined on filesysfs-fs-f2fs

Show the saved block count with compression since mount. Notethat when the compressed blocks are deleted, this count doesn’tdecrease. If you write “0” here, you can initializecompr_written_block and compr_saved_block to “0”.

/sys/fs/f2fs/<disk>/compr_written_block

Defined on filesysfs-fs-f2fs

Show the block count written after compression since mount. Notethat when the compressed blocks are deleted, this count doesn’tdecrease. If you write “0” here, you can initializecompr_written_block and compr_saved_block to “0”.

/sys/fs/f2fs/<disk>/compress_percent

Defined on filesysfs-fs-f2fs

When compress cache is on, it controls cached pagepercent(compress pages / free_ram) in order to limit caching compress page.If cached page percent exceed threshold, then deny caching compress page.The value should be in range of (0, 100], by default it was initializedas 20(%).

/sys/fs/f2fs/<disk>/compress_watermark

Defined on filesysfs-fs-f2fs

When compress cache is on, it controls free memory watermarkin order to limit caching compress page. If free memory is lowerthan watermark, then deny caching compress page. The value should be inrange of (0, 100], by default it was initialized as 20(%).

/sys/fs/f2fs/<disk>/cp_background_calls

Defined on filesysfs-fs-f2fs

Number of checkpoint operations performed in the background tofree segments. Available when CONFIG_F2FS_STAT_FS=y.

/sys/fs/f2fs/<disk>/cp_foreground_calls

Defined on filesysfs-fs-f2fs

Number of checkpoint operations performed on demand. Available whenCONFIG_F2FS_STAT_FS=y.

/sys/fs/f2fs/<disk>/cp_interval

Defined on filesysfs-fs-f2fs

Controls the checkpoint timing, set to 60 seconds by default.

/sys/fs/f2fs/<disk>/current_atomic_write

Defined on filesysfs-fs-f2fs

Show the total current atomic write block count, which is not committed yet.This is a read-only entry.

/sys/fs/f2fs/<disk>/current_reserved_blocks

Defined on filesysfs-fs-f2fs

Shows current reserved blocks in system, it may be temporarilysmaller than target_reserved_blocks, but will graduallyincrease to target_reserved_blocks when more free blocks arefreed by user later.

/sys/fs/f2fs/<disk>/data_io_flag

Defined on filesysfs-fs-f2fs

Give a way to attach REQ_META|FUA to data writesgiven temperature-based bits. Now the bits indicate:

REQ_META

REQ_FUA

5

4

3

2

1

0

Cold

Warm

Hot

Cold

Warm

Hot

/sys/fs/f2fs/<disk>/dir_level

Defined on filesysfs-fs-f2fs

Controls the directory level for large directory. If adirectory has a number of files, it can reduce the file lookuplatency by increasing this dir_level value. Otherwise, itneeds to decrease this value to reduce the space overhead.The default value is 0.

/sys/fs/f2fs/<disk>/dirty_nats_ratio

Defined on filesysfs-fs-f2fs

Controls dirty nat entries ratio threshold, if currentratio exceeds configured threshold, checkpoint willbe triggered for flushing dirty nat entries.

/sys/fs/f2fs/<disk>/dirty_segments

Defined on filesysfs-fs-f2fs

Shows the number of dirty segments.

/sys/fs/f2fs/<disk>/discard_granularity

Defined on filesysfs-fs-f2fs

Controls discard granularity of inner discard thread. Inner threadwill not issue discards with size that is smaller than granularity.The unit size is one block(4KB), now only support configuringin range of [1, 512]. Default value is 16.For small devices, default value is 1.

/sys/fs/f2fs/<disk>/discard_idle_interval

Defined on filesysfs-fs-f2fs

Controls the idle timing of discard thread giventhis time interval.Default is 5 secs.

/sys/fs/f2fs/<disk>/discard_io_aware

Defined on filesysfs-fs-f2fs

It controls to enable/disable IO aware feature for background discard.By default, the value is 1 which indicates IO aware is on.

/sys/fs/f2fs/<disk>/discard_io_aware_gran

Defined on filesysfs-fs-f2fs

Controls background discard granularity of inner discard threadwhen is not in idle. Inner thread will not issue discards with size thatis smaller than granularity. The unit size is one block(4KB), now onlysupport configuring in range of [0, 512].Default: 512

/sys/fs/f2fs/<disk>/discard_urgent_util

Defined on filesysfs-fs-f2fs

When space utilization exceeds this, do background DISCARD aggressively.Does DISCARD forcibly in a period of given min_discard_issue_time when the numberof discards is not 0 and set discard granularity to 1.Default: 80

/sys/fs/f2fs/<disk>/effective_lookup_mode

Defined on filesysfs-fs-f2fs

This is a read-only entry to show the effective directory lookup modeF2FS is currently using for casefolded directories.This considers both the “lookup_mode” mount option and the on-diskencoding flag, SB_ENC_NO_COMPAT_FALLBACK_FL.

Possible values are:- “perf”: Hash-only lookup.- “compat”: Hash-based lookup with a linear search fallback enabled- “auto:perf”: lookup_mode is auto and fallback is disabled on-disk- “auto:compat”: lookup_mode is auto and fallback is enabled on-disk

/sys/fs/f2fs/<disk>/encoding

Defined on filesysfs-fs-f2fs

Displays name and version of the encoding set for the filesystem.If no encoding is set, displays (none)

/sys/fs/f2fs/<disk>/encoding_flags

Defined on filesysfs-fs-f2fs

This is a read-only entry to show the value of sb.s_encoding_flags, thevalue is hexadecimal.

Flag_Name

Flag_Value

SB_ENC_STRICT_MODE_FL

0x00000001

SB_ENC_NO_COMPAT_FALLBACK_FL

0x00000002

/sys/fs/f2fs/<disk>/extension_list

Defined on filesysfs-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

/sys/fs/f2fs/<disk>/fault_rate

Defined on filesysfs-fs-f2fs

Enable fault injection in all supported types withspecified injection rate.

/sys/fs/f2fs/<disk>/fault_type

Defined on filesysfs-fs-f2fs

Support configuring fault injection type, should beenabled with fault_injection option, fault type valueis shown below, it supports single or combined type.

Type_Name

Type_Value

FAULT_KMALLOC

0x00000001

FAULT_KVMALLOC

0x00000002

FAULT_PAGE_ALLOC

0x00000004

FAULT_PAGE_GET

0x00000008

FAULT_ALLOC_BIO

0x00000010 (obsolete)

FAULT_ALLOC_NID

0x00000020

FAULT_ORPHAN

0x00000040

FAULT_BLOCK

0x00000080

FAULT_DIR_DEPTH

0x00000100

FAULT_EVICT_INODE

0x00000200

FAULT_TRUNCATE

0x00000400

FAULT_READ_IO

0x00000800

FAULT_CHECKPOINT

0x00001000

FAULT_DISCARD

0x00002000

FAULT_WRITE_IO

0x00004000

FAULT_SLAB_ALLOC

0x00008000

FAULT_DQUOT_INIT

0x00010000

FAULT_LOCK_OP

0x00020000

FAULT_BLKADDR_VALIDITY

0x00040000

FAULT_BLKADDR_CONSISTENCE

0x00080000

FAULT_NO_SEGMENT

0x00100000

FAULT_INCONSISTENT_FOOTER

0x00200000

FAULT_TIMEOUT

0x00400000 (1000ms)

FAULT_VMALLOC

0x00800000

/sys/fs/f2fs/<disk>/feature_list/

Defined on filesysfs-fs-f2fs

Expand /sys/fs/f2fs/<disk>/features to meet sysfs rule.Supported on-disk features:encryption, block_zoned (aka blkzoned), extra_attr,project_quota (aka projquota), inode_checksum,flexible_inline_xattr, quota_ino, inode_crtime, lost_found,verity, sb_checksum, casefold, readonly, compression.Note that, pin_file is moved into /sys/fs/f2fs/features/.

/sys/fs/f2fs/<disk>/features

Defined on filesysfs-fs-f2fs

<deprecated: should use /sys/fs/f2fs/<disk>/feature_list/>Shows all enabled features in current device.Supported features:encryption, blkzoned, extra_attr, projquota, inode_checksum,flexible_inline_xattr, quota_ino, inode_crtime, lost_found,verity, sb_checksum, casefold, readonly, compression, pin_file.

/sys/fs/f2fs/<disk>/free_segments

Defined on filesysfs-fs-f2fs

Number of free segments in disk.

/sys/fs/f2fs/<disk>/gc_background_calls

Defined on filesysfs-fs-f2fs

Number of garbage collection operations triggered in background.Available when CONFIG_F2FS_STAT_FS=y.

/sys/fs/f2fs/<disk>/gc_boost_gc_greedy

Defined on filesysfs-fs-f2fs

Control GC algorithm for boost GC. 0: cost benefit, 1: greedyDefault: 1

/sys/fs/f2fs/<disk>/gc_boost_gc_multiple

Defined on filesysfs-fs-f2fs

Set a multiplier for the background GC migration window when F2FS GC isboosted. The range should be from 1 to the segment count in a section.Default: 5

/sys/fs/f2fs/<disk>/gc_boost_zoned_gc_percent

Defined on filesysfs-fs-f2fs

If the percentage of free sections over total sections is under thisnumber, F2FS boosts garbage collection for zoned devices through thebackground GC thread. the default number is “25”.

/sys/fs/f2fs/<disk>/gc_foreground_calls

Defined on filesysfs-fs-f2fs

Number of garbage collection operations performed on demand.Available when CONFIG_F2FS_STAT_FS=y.

/sys/fs/f2fs/<disk>/gc_idle

Defined on filesysfs-fs-f2fs

Controls the victim selection policy for garbage collection.Setting gc_idle = 0(default) will disable this option. Setting:

gc_idle = 1

will select the Cost Benefit approach & setting

gc_idle = 2

will select the greedy approach & setting

gc_idle = 3

will select the age-threshold based approach.

/sys/fs/f2fs/<disk>/gc_idle_interval

Defined on filesysfs-fs-f2fs

Controls the idle timing for gc path. Set to 5 seconds by default.

/sys/fs/f2fs/<disk>/gc_max_sleep_time

Defined on filesysfs-fs-f2fs

Controls the maximum sleep time for gc_thread. Timeis in milliseconds.

/sys/fs/f2fs/<disk>/gc_min_sleep_time

Defined on filesysfs-fs-f2fs

Controls the minimum sleep time for gc_thread. Timeis in milliseconds.

/sys/fs/f2fs/<disk>/gc_mode

Defined on filesysfs-fs-f2fs

Show the current gc_mode as a string.This is a read-only entry.

/sys/fs/f2fs/<disk>/gc_no_gc_sleep_time

Defined on filesysfs-fs-f2fs

Controls the default sleep time for gc_thread. Timeis in milliseconds.

/sys/fs/f2fs/<disk>/gc_no_zoned_gc_percent

Defined on filesysfs-fs-f2fs

If the percentage of free sections over total sections is above thisnumber, F2FS do not garbage collection for zoned devices through thebackground GC thread. the default number is “60”.

/sys/fs/f2fs/<disk>/gc_pin_file_thresh

Defined on filesysfs-fs-f2fs

This indicates how many GC can be failed for the pinnedfile. If it exceeds this, F2FS doesn’t guarantee its pinningstate. 2048 trials is set by default, and 65535 as maximum.

/sys/fs/f2fs/<disk>/gc_reclaimed_segments

Defined on filesysfs-fs-f2fs

Show how many segments have been reclaimed by GC during a specificGC mode (0: GC normal, 1: GC idle CB, 2: GC idle greedy,3: GC idle AT, 4: GC urgent high, 5: GC urgent low 6: GC urgent mid)You can re-initialize this value to “0”.

/sys/fs/f2fs/<disk>/gc_remaining_trials

Defined on filesysfs-fs-f2fs

You can set the trial count limit for GC urgent and idle mode with this value.If GC thread gets to the limit, the mode will turn back to GC normal mode.By default, the value is zero, which means there is no limit like before.

/sys/fs/f2fs/<disk>/gc_segment_mode

Defined on filesysfs-fs-f2fs

You can control for which gc mode the “gc_reclaimed_segments” node shows.Refer to the description of the modes in “gc_reclaimed_segments”.

/sys/fs/f2fs/<disk>/gc_urgent

Defined on filesysfs-fs-f2fs

Do background GC aggressively when set. Set to 0 by default.gc urgent high(1): does GC forcibly in a period of givengc_urgent_sleep_time and ignores I/O idling check. uses greedyGC approach and turns SSR mode on.gc urgent low(2): lowers the bar of checking I/O idling inorder to process outstanding discard commands and GC alittle bit aggressively. always uses cost benefit GC approach,and will override age-threshold GC approach if ATGC is enabledat the same time.gc urgent mid(3): does GC forcibly in a period of givengc_urgent_sleep_time and executes a mid level of I/O idling check.always uses cost benefit GC approach, and will overrideage-threshold GC approach if ATGC is enabled at the same time.

/sys/fs/f2fs/<disk>/gc_urgent_sleep_time

Defined on filesysfs-fs-f2fs

Controls sleep time of GC urgent mode. Set to 500ms by default.

/sys/fs/f2fs/<disk>/gc_valid_thresh_ratio

Defined on filesysfs-fs-f2fs

It controls the valid block ratio threshold not to trigger excessive GCfor zoned devices. The initial value of it is 95(%). F2FS will stop thebackground GC thread from initiating GC for sections having valid blocksexceeding the ratio.

/sys/fs/f2fs/<disk>/hot_data_age_threshold

Defined on filesysfs-fs-f2fs

When DATA SEPARATION is on, it controls the age threshold to indicatethe data blocks as hot. By default it was initialized as 262144 blocks(equals to 1GB).

/sys/fs/f2fs/<disk>/idle_interval

Defined on filesysfs-fs-f2fs

Controls the idle timing of system, if there is no FS operationduring given interval.Set to 5 seconds by default.

/sys/fs/f2fs/<disk>/inject_rate

Defined on filesysfs-fs-f2fs

Controls the injection rate of arbitrary faults.

/sys/fs/f2fs/<disk>/inject_type

Defined on filesysfs-fs-f2fs

Controls the injection type of arbitrary faults.

/sys/fs/f2fs/<disk>/iostat_enable

Defined on filesysfs-fs-f2fs

Controls to enable/disable IO stat.

/sys/fs/f2fs/<disk>/iostat_period_ms

Defined on filesysfs-fs-f2fs

Give a way to change iostat_period time. 3secs by default.The new iostat trace gives stats gap given the period.

/sys/fs/f2fs/<disk>/ipu_policy

Defined on filesysfs-fs-f2fs

Controls the in-place-update policy.updates in f2fs. User can set:

value

policy

description

0x00

DISABLE

disable IPU(=default option in LFS mode)

0x01

FORCE

all the time

0x02

SSR

if SSR mode is activated

0x04

UTIL

if FS utilization is over threshold

0x08

SSR_UTIL

if SSR mode is activated and FS utilization is overthreshold

0x10

FSYNC

activated in fsync path only for high performanceflash storages. IPU will be triggered only if the# of dirty pages over min_fsync_blocks.(=default option)

0x20

ASYNC

do IPU given by asynchronous write requests

0x40

NOCACHE

disable IPU bio cache

0x80

HONOR_OPU_WRITE

use OPU write prior to IPU write if inode hasFI_OPU_WRITE flag

Refer segment.h for details.

/sys/fs/f2fs/<disk>/last_age_weight

Defined on filesysfs-fs-f2fs

When DATA SEPARATION is on, it controls the weight of last data block age.

/sys/fs/f2fs/<disk>/lifetime_write_kbytes

Defined on filesysfs-fs-f2fs

Shows total written kbytes issued to disk.

/sys/fs/f2fs/<disk>/main_blkaddr

Defined on filesysfs-fs-f2fs

Shows first block address of MAIN area.

/sys/fs/f2fs/<disk>/max_discard_issue_time

Defined on filesysfs-fs-f2fs

Controls the interval the discard thread will wait when there areno discard operations to be issued.

/sys/fs/f2fs/<disk>/max_discard_request

Defined on filesysfs-fs-f2fs

Controls the number of discards a thread will issue at a time.Higher number will allow the discard thread to finish its workfaster, at the cost of higher latency for incoming I/O.

/sys/fs/f2fs/<disk>/max_fragment_chunk

Defined on filesysfs-fs-f2fs

With “mode=fragment:block” mount options, we can scatter block allocation.f2fs will allocate 1..<max_fragment_chunk> blocks in a chunk and make a holein the length of 1..<max_fragment_hole> by turns. This value can be setbetween 1..512 and the default value is 4.

/sys/fs/f2fs/<disk>/max_fragment_hole

Defined on filesysfs-fs-f2fs

With “mode=fragment:block” mount options, we can scatter block allocation.f2fs will allocate 1..<max_fragment_chunk> blocks in a chunk and make a holein the length of 1..<max_fragment_hole> by turns. This value can be setbetween 1..512 and the default value is 4.

/sys/fs/f2fs/<disk>/max_io_bytes

Defined on filesysfs-fs-f2fs

This gives a control to limit the bio size in f2fs.Default is zero, which will follow underlying block layer limit,whereas, if it has a certain bytes value, f2fs won’t submit abio larger than that size.

/sys/fs/f2fs/<disk>/max_open_zones

Defined on filesysfs-fs-f2fs

Shows the max number of zones that F2FS can write concurrently when a zoneddevice is mounted.

/sys/fs/f2fs/<disk>/max_ordered_discard

Defined on filesysfs-fs-f2fs

Controls the maximum ordered discard, the unit size is one block(4KB).Set it to 16 by default.

/sys/fs/f2fs/<disk>/max_read_extent_count

Defined on filesysfs-fs-f2fs

It controls max read extent count for per-inode, the value of thresholdis 10240 by default.

/sys/fs/f2fs/<disk>/max_roll_forward_node_blocks

Defined on filesysfs-fs-f2fs

Controls max # of node block writes to be used for roll forwardrecovery. This can limit the roll forward recovery time.

/sys/fs/f2fs/<disk>/max_small_discards

Defined on filesysfs-fs-f2fs

Controls the issue rate of discard commands that consist of smallblocks less than 2MB. The candidates to be discarded are cached duringcheckpoint, and issued by issue_discard thread after checkpoint.It is enabled by default.

/sys/fs/f2fs/<disk>/max_victim_search

Defined on filesysfs-fs-f2fs

Controls the number of trials to find a victim segmentwhen conducting SSR and cleaning operations. The default valueis 4096 which covers 8GB block address range.

/sys/fs/f2fs/<disk>/mid_discard_issue_time

Defined on filesysfs-fs-f2fs

Controls the interval the discard thread will wait betweenissuing discard requests when there are discards to be issued andan I/O aware interruption occurs.

/sys/fs/f2fs/<disk>/migration_granularity

Defined on filesysfs-fs-f2fs

Controls migration granularity of garbage collection on largesection, it can let GC move partial segment{s} of one sectionin one GC cycle, so that dispersing heavy overhead GC tomultiple lightweight one.

/sys/fs/f2fs/<disk>/migration_window_granularity

Defined on filesysfs-fs-f2fs

Controls migration window granularity of garbage collection on largesection. it can control the scanning window granularity for GC migrationin a unit of segment, while migration_granularity controls the numberof segments which can be migrated at the same turn.

/sys/fs/f2fs/<disk>/min_discard_issue_time

Defined on filesysfs-fs-f2fs

Controls the interval the discard thread will wait betweenissuing discard requests when there are discards to be issued andno I/O aware interruptions occur.

/sys/fs/f2fs/<disk>/min_fsync_blocks

Defined on filesysfs-fs-f2fs

Controls the dirty page count condition for the in-place-updatepolicies.

/sys/fs/f2fs/<disk>/min_hot_blocks

Defined on filesysfs-fs-f2fs

Controls the dirty page count condition for redefining hot data.

/sys/fs/f2fs/<disk>/min_ipu_util

Defined on filesysfs-fs-f2fs

Controls the FS utilization condition for the in-place-updatepolicies. It is used by F2FS_IPU_UTIL and F2FS_IPU_SSR_UTIL policies.

/sys/fs/f2fs/<disk>/min_seq_blocks

Defined on filesysfs-fs-f2fs

Controls the dirty page count condition for batched sequentialwrites in writepages.

/sys/fs/f2fs/<disk>/min_ssr_sections

Defined on filesysfs-fs-f2fs

Controls the free section threshold to trigger SSR allocation.If this is large, SSR mode will be enabled early.

/sys/fs/f2fs/<disk>/mounted_time_sec

Defined on filesysfs-fs-f2fs

Show the mounted time in secs of this partition.

/sys/fs/f2fs/<disk>/moved_blocks_background

Defined on filesysfs-fs-f2fs

Number of blocks moved by garbage collection in background.Available when CONFIG_F2FS_STAT_FS=y.

/sys/fs/f2fs/<disk>/moved_blocks_foreground

Defined on filesysfs-fs-f2fs

Number of blocks moved by garbage collection in foreground.Available when CONFIG_F2FS_STAT_FS=y.

/sys/fs/f2fs/<disk>/node_io_flag

Defined on filesysfs-fs-f2fs

Give a way to attach REQ_META|FUA to node writesgiven temperature-based bits. Now the bits indicate:

REQ_META

REQ_FUA

5

4

3

2

1

0

Cold

Warm

Hot

Cold

Warm

Hot

/sys/fs/f2fs/<disk>/ovp_segments

Defined on filesysfs-fs-f2fs

Shows the number of overprovision segments.

/sys/fs/f2fs/<disk>/peak_atomic_write

Defined on filesysfs-fs-f2fs

Show the peak value of total current atomic write block count after boot.If you write “0” here, you can initialize to “0”.

/sys/fs/f2fs/<disk>/pending_discard

Defined on filesysfs-fs-f2fs

Shows the number of pending discard commands in the queue.

/sys/fs/f2fs/<disk>/ra_nid_pages

Defined on filesysfs-fs-f2fs

Controls the count of nid pages to be readaheaded.When building free nids, F2FS reads NAT blocks ahead forspeed up. Default is 0.

/sys/fs/f2fs/<disk>/ram_thresh

Defined on filesysfs-fs-f2fs

Controls the memory footprint used by free nids and cachednat entries. By default, 1 is set, which indicates10 MB / 1 GB RAM.

/sys/fs/f2fs/<disk>/readdir_ra

Defined on filesysfs-fs-f2fs

Controls readahead inode block in readdir. Enabled by default.

/sys/fs/f2fs/<disk>/reclaim_segments

Defined on filesysfs-fs-f2fs

This parameter controls the number of prefree segments to bereclaimed. If the number of prefree segments is larger thanthe number of segments in the proportion to the percentageover total volume size, f2fs tries to conduct checkpoint toreclaim the prefree segments to free segments.By default, 5% over total # of segments.

/sys/fs/f2fs/<disk>/reserved_blocks

Defined on filesysfs-fs-f2fs

Controls target reserved blocks in system, the thresholdis soft, it could exceed current available user space.

/sys/fs/f2fs/<disk>/reserved_pin_section

Defined on filesysfs-fs-f2fs

This threshold is used to control triggering garbage collection whilefallocating on pinned file, so, it can guarantee there is enough freereserved section before preallocating on pinned file.By default, the value is ovp_sections, especially, for zoned ufs, thevalue is 1.

/sys/fs/f2fs/<disk>/reserved_segments

Defined on filesysfs-fs-f2fs

In order to fine tune GC behavior, we can control the number ofreserved segments.

/sys/fs/f2fs/<disk>/revoked_atomic_block

Defined on filesysfs-fs-f2fs

Show the accumulated total revoked atomic write block count after boot.If you write “0” here, you can initialize to “0”.

/sys/fs/f2fs/<disk>/seq_file_ra_mul

Defined on filesysfs-fs-f2fs

You can control the multiplier value of bdi device readahead window sizebetween 2 (default) and 256 for POSIX_FADV_SEQUENTIAL advise option.

/sys/fs/f2fs/<disk>/stat/cp_status

Defined on filesysfs-fs-f2fs

Show status of f2fs checkpoint in real time.

cp flag

value

CP_UMOUNT_FLAG

0x00000001

CP_ORPHAN_PRESENT_FLAG

0x00000002

CP_COMPACT_SUM_FLAG

0x00000004

CP_ERROR_FLAG

0x00000008

CP_FSCK_FLAG

0x00000010

CP_FASTBOOT_FLAG

0x00000020

CP_CRC_RECOVERY_FLAG

0x00000040

CP_NAT_BITS_FLAG

0x00000080

CP_TRIMMED_FLAG

0x00000100

CP_NOCRC_RECOVERY_FLAG

0x00000200

CP_LARGE_NAT_BITMAP_FLAG

0x00000400

CP_QUOTA_NEED_FSCK_FLAG

0x00000800

CP_DISABLED_FLAG

0x00001000

CP_DISABLED_QUICK_FLAG

0x00002000

CP_RESIZEFS_FLAG

0x00004000

/sys/fs/f2fs/<disk>/stat/issued_discard

Defined on filesysfs-fs-f2fs

Shows the number of issued discard.

/sys/fs/f2fs/<disk>/stat/queued_discard

Defined on filesysfs-fs-f2fs

Shows the number of queued discard.

/sys/fs/f2fs/<disk>/stat/sb_status

Defined on filesysfs-fs-f2fs

Show status of f2fs superblock in real time.

value

sb status macro

description

0x1

SBI_IS_DIRTY

dirty flag for checkpoint

0x2

SBI_IS_CLOSE

specify unmounting

0x4

SBI_NEED_FSCK

need fsck.f2fs to fix

0x8

SBI_POR_DOING

recovery is doing or not

0x10

SBI_NEED_SB_WRITE

need to recover superblock

0x20

SBI_NEED_CP

need to checkpoint

0x40

SBI_IS_SHUTDOWN

shutdown by ioctl

0x80

SBI_IS_RECOVERED

recovered orphan/data

0x100

SBI_CP_DISABLED

CP was disabled last mount

0x200

SBI_CP_DISABLED_QUICK

CP was disabled quickly

0x400

SBI_QUOTA_NEED_FLUSH

need to flush quota info in CP

0x800

SBI_QUOTA_SKIP_FLUSH

skip flushing quota in current CP

0x1000

SBI_QUOTA_NEED_REPAIR

quota file may be corrupted

0x2000

SBI_IS_RESIZEFS

resizefs is in process

0x4000

SBI_IS_FREEZING

freefs is in process

/sys/fs/f2fs/<disk>/stat/undiscard_blks

Defined on filesysfs-fs-f2fs

Shows the total number of undiscard blocks.

/sys/fs/f2fs/<disk>/umount_discard_timeout

Defined on filesysfs-fs-f2fs

Set timeout to issue discard commands during umount.Default: 5 secs

/sys/fs/f2fs/<disk>/unusable

Defined on filesysfs-fs-f2fs

If checkpoint=disable, it displays the number of blocks thatare unusable.If checkpoint=enable it displays the number of blocks thatwould be unusable if checkpoint=disable were to be set.

/sys/fs/f2fs/<disk>/unusable_blocks_per_sec

Defined on filesysfs-fs-f2fs

Shows the number of unusable blocks in a section which was defined bythe zone capacity reported by underlying zoned device.

/sys/fs/f2fs/<disk>/warm_data_age_threshold

Defined on filesysfs-fs-f2fs

When DATA SEPARATION is on, it controls the age threshold to indicatethe data blocks as warm. By default it was initialized as 2621440 blocks(equals to 10GB).

/sys/fs/f2fs/features/

Defined on filesysfs-fs-f2fs

Shows all enabled kernel features.Supported features:encryption, block_zoned, extra_attr, project_quota,inode_checksum, flexible_inline_xattr, quota_ino,inode_crtime, lost_found, verity, sb_checksum,casefold, readonly, compression, test_dummy_encryption_v2,atomic_write, pin_file, encrypted_casefold, linear_lookup.

/sys/fs/f2fs/tuning/reclaim_caches_kb

Defined on filesysfs-fs-f2fs

It reclaims the given KBs of file-backed pages registered byioctl(F2FS_IOC_DONATE_RANGE).For example, writing N tries to drop N KBs spaces in LRU.

/sys/fs/nilfs2/<device>/README

Defined on filesysfs-fs-nilfs2

Describe attributes of /sys/fs/nilfs2/<device> group.

/sys/fs/nilfs2/<device>/blocksize

Defined on filesysfs-fs-nilfs2

Show volume’s block size in bytes.

/sys/fs/nilfs2/<device>/checkpoints/README

Defined on filesysfs-fs-nilfs2

Describe attributes of /sys/fs/nilfs2/<device>/checkpointsgroup.

/sys/fs/nilfs2/<device>/checkpoints/checkpoints_number

Defined on filesysfs-fs-nilfs2

Show number of checkpoints on volume.

/sys/fs/nilfs2/<device>/checkpoints/last_seg_checkpoint

Defined on filesysfs-fs-nilfs2

Show checkpoint number of the latest segment.

/sys/fs/nilfs2/<device>/checkpoints/next_checkpoint

Defined on filesysfs-fs-nilfs2

Show next checkpoint number.

/sys/fs/nilfs2/<device>/checkpoints/snapshots_number

Defined on filesysfs-fs-nilfs2

Show number of snapshots on volume.

/sys/fs/nilfs2/<device>/device_size

Defined on filesysfs-fs-nilfs2

Show volume size in bytes.

/sys/fs/nilfs2/<device>/free_blocks

Defined on filesysfs-fs-nilfs2

Show count of free blocks on volume.

/sys/fs/nilfs2/<device>/mounted_snapshots/<id>/README

Defined on filesysfs-fs-nilfs2

Describe attributes of /sys/fs/nilfs2/<device>/mounted_snapshots/<id>group.

/sys/fs/nilfs2/<device>/mounted_snapshots/<id>/blocks_count

Defined on filesysfs-fs-nilfs2

Show number of blocks for snapshot.

/sys/fs/nilfs2/<device>/mounted_snapshots/<id>/inodes_count

Defined on filesysfs-fs-nilfs2

Show number of inodes for snapshot.

/sys/fs/nilfs2/<device>/mounted_snapshots/README

Defined on filesysfs-fs-nilfs2

Describe content of /sys/fs/nilfs2/<device>/mounted_snapshotsgroup.

/sys/fs/nilfs2/<device>/revision

Defined on filesysfs-fs-nilfs2

Show NILFS file system revision on volume.This value informs about metadata structures’revision on mounted volume.

/sys/fs/nilfs2/<device>/segctor/README

Defined on filesysfs-fs-nilfs2

Describe attributes of /sys/fs/nilfs2/<device>/segctorgroup.

/sys/fs/nilfs2/<device>/segctor/current_last_full_seg

Defined on filesysfs-fs-nilfs2

Show index number of the latest full segment.

/sys/fs/nilfs2/<device>/segctor/current_seg_sequence

Defined on filesysfs-fs-nilfs2

Show segment sequence counter.

/sys/fs/nilfs2/<device>/segctor/dirty_data_blocks_count

Defined on filesysfs-fs-nilfs2

Show number of dirty data blocks.

/sys/fs/nilfs2/<device>/segctor/last_nongc_write_time

Defined on filesysfs-fs-nilfs2

Show write time of the last segment not for cleaneroperation in human-readable format.

/sys/fs/nilfs2/<device>/segctor/last_nongc_write_time_secs

Defined on filesysfs-fs-nilfs2

Show write time of the last segment not for cleaneroperation in seconds.

/sys/fs/nilfs2/<device>/segctor/last_pseg_block

Defined on filesysfs-fs-nilfs2

Show start block number of the latest segment.

/sys/fs/nilfs2/<device>/segctor/last_seg_checkpoint

Defined on filesysfs-fs-nilfs2

Show checkpoint number of the latest segment.

/sys/fs/nilfs2/<device>/segctor/last_seg_sequence

Defined on filesysfs-fs-nilfs2

Show sequence value of the latest segment.

/sys/fs/nilfs2/<device>/segctor/last_seg_write_time

Defined on filesysfs-fs-nilfs2

Show write time of the last segment inhuman-readable format.

/sys/fs/nilfs2/<device>/segctor/last_seg_write_time_secs

Defined on filesysfs-fs-nilfs2

Show write time of the last segment in seconds.

/sys/fs/nilfs2/<device>/segctor/next_checkpoint

Defined on filesysfs-fs-nilfs2

Show next checkpoint number.

/sys/fs/nilfs2/<device>/segctor/next_full_seg

Defined on filesysfs-fs-nilfs2

Show index number of the full segment indexto be used next.

/sys/fs/nilfs2/<device>/segctor/next_pseg_offset

Defined on filesysfs-fs-nilfs2

Show offset of next partial segment in the currentfull segment.

/sys/fs/nilfs2/<device>/segments/README

Defined on filesysfs-fs-nilfs2

Describe attributes of /sys/fs/nilfs2/<device>/segmentsgroup.

/sys/fs/nilfs2/<device>/segments/blocks_per_segment

Defined on filesysfs-fs-nilfs2

Show number of blocks in segment.

/sys/fs/nilfs2/<device>/segments/clean_segments

Defined on filesysfs-fs-nilfs2

Show count of clean segments.

/sys/fs/nilfs2/<device>/segments/dirty_segments

Defined on filesysfs-fs-nilfs2

Show count of dirty segments.

/sys/fs/nilfs2/<device>/segments/segments_number

Defined on filesysfs-fs-nilfs2

Show number of segments on a volume.

/sys/fs/nilfs2/<device>/superblock/README

Defined on filesysfs-fs-nilfs2

Describe attributes of /sys/fs/nilfs2/<device>/superblockgroup.

/sys/fs/nilfs2/<device>/superblock/sb_update_frequency

Defined on filesysfs-fs-nilfs2

Show/Set interval of periodical update of superblock(in seconds).

/sys/fs/nilfs2/<device>/superblock/sb_write_count

Defined on filesysfs-fs-nilfs2

Show current write count of super block.

/sys/fs/nilfs2/<device>/superblock/sb_write_time

Defined on filesysfs-fs-nilfs2

Show last write time of super block in human-readableformat.

/sys/fs/nilfs2/<device>/superblock/sb_write_time_secs

Defined on filesysfs-fs-nilfs2

Show last write time of super block in seconds.

/sys/fs/nilfs2/<device>/uuid

Defined on filesysfs-fs-nilfs2

Show volume’s UUID (Universally Unique Identifier).

/sys/fs/nilfs2/<device>/volume_name

Defined on filesysfs-fs-nilfs2

Show volume’s label.

/sys/fs/nilfs2/features/README

Defined on filesysfs-fs-nilfs2

Describe attributes of /sys/fs/nilfs2/features group.

/sys/fs/nilfs2/features/revision

Defined on filesysfs-fs-nilfs2

Show current revision of NILFS file system driver.This value informs about file system revision thatdriver is ready to support.

/sys/fs/ocfs2/

Defined on filesysfs-ocfs2

The /sys/fs/ocfs2 directory contains knobs used by theocfs2-tools to interact with the filesystem.

/sys/fs/ocfs2/active_cluster_plugin

Defined on filesysfs-ocfs2

The /sys/fs/ocfs2/active_cluster_plugin displays whichcluster plugin is currently in use by the filesystem.The active plugin will appear in the loaded_cluster_pluginsfile as well. Only one plugin can be used at a time.

Reading from this file returns the name of the active pluginon a single line.

This file is read-only. Which plugin is active depends onthe cluster stack in use. The contents may changewhen all filesystems are unmounted and the cluster stackis changed.

/sys/fs/ocfs2/cluster_stack

Defined on filesysfs-ocfs2

The /sys/fs/ocfs2/cluster_stack file contains the nameof current ocfs2 cluster stack. This value is set byuserspace tools when bringing the cluster stack online.

Cluster stack names are 4 characters in length.

When the ‘o2cb’ cluster stack is used, the ‘o2cb’ clusterplugin is active. All other cluster stacks use the ‘user’cluster plugin.

Reading from this file returns the name of the currentcluster stack on a single line.

Writing a new stack name to this file changes the currentcluster stack unless there are mounted ocfs2 filesystems.If there are mounted filesystems, attempts to change thestack return an error.

Users:

ocfs2-tools <ocfs2-tools-devel@lists.linux.dev>

/sys/fs/ocfs2/loaded_cluster_plugins

Defined on filesysfs-ocfs2

The /sys/fs/ocfs2/loaded_cluster_plugins file describesthe 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 loadedplugins, one per line.

This file is read-only. Its contents may change asplugins are loaded or removed.

/sys/fs/ocfs2/max_locking_protocol

Defined on filesysfs-ocfs2

The /sys/fs/ocfs2/max_locking_protocol file displays versionof ocfs2 locking supported by the filesystem. This versioncovers how ocfs2 uses distributed locking between clusternodes.

The protocol version has a major and minor number. Twocluster nodes can interoperate if they have an identicalmajor number and an overlapping minor number - thus,a node with version 1.10 can interoperate with a nodesporting version 1.8, as long as both use the 1.8 protocol.

Reading from this file returns a single line, the majornumber and minor number joined by a period, eg “1.10”.

This file is read-only. The value is compiled into thedriver.

/sys/fs/pstore/...

/dev/pstore/...

Defined on filepstore

Generic interface to platform dependent persistent storage.

Platforms that provide a mechanism to preserve some dataacross system reboots can register with this driver toprovide a generic interface to show records captured inthe dying moments. In the case of a panic the last partof the console log is captured, but other interestingdata 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 differentfilename 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, removingthe file will signal to the underlying persistent storagedevice 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 storesoon after boot to free up space ready for the nextcatastrophe.

The ‘kmsg_bytes’ mount option changes the target amount ofdata saved on each oops/panic. Pstore saves (possiblymultiple) files based on the record size of the underlyingpersistent storage until at least this amount is reached.Default is 10 Kbytes.

Pstore only supports one backend at a time. If multiplebackends are available, the preferred backend may beset by passing the pstore.backend= argument to the kernel atboot time.

/sys/fs/ubifsX_Y/error_crc

Defined on filesysfs-fs-ubifs

Exposes crc errors: every node embeds a crc checksum.

This counter keeps track of the number of accesses of nodeswith a bad crc checksum.

The counter is reset to 0 with a remount.

/sys/fs/ubifsX_Y/error_magic

Defined on filesysfs-fs-ubifs

Exposes magic errors: every node starts with a magic number.

This counter keeps track of the number of accesses of nodeswith a corrupted magic number.

The counter is reset to 0 with a remount.

/sys/fs/ubifsX_Y/error_node

Defined on filesysfs-fs-ubifs

Exposes node errors. Every node embeds its type.

This counter keeps track of the number of accesses of nodeswith a corrupted node type.

The counter is reset to 0 with a remount.

/sys/fs/virtiofs/<n>/device

Defined on filesysfs-fs-virtiofs

Symlink to the virtio device that exports this filesystem.

/sys/fs/virtiofs/<n>/tag

Defined on filesysfs-fs-virtiofs

[RO] The mount “tag” that can be used to mount this filesystem.

/sys/fs/xfs/<disk>/log/log_head_lsn

Defined on filesysfs-fs-xfs

The log sequence number (LSN) of the current head of thelog. The LSN is exported in “cycle:basic block” format.

Users:

xfstests

/sys/fs/xfs/<disk>/log/log_tail_lsn

Defined on filesysfs-fs-xfs

The log sequence number (LSN) of the current tail of thelog. The LSN is exported in “cycle:basic block” format.

/sys/fs/xfs/<disk>/log/reserve_grant_head_bytes

Defined on filesysfs-fs-xfs

The current state of the log reserve grant head. Itrepresents the total log reservation of all currentlyoutstanding transactions in bytes.

Users:

xfstests

/sys/fs/xfs/<disk>/log/write_grant_head_bytes

Defined on filesysfs-fs-xfs

The current state of the log write grant head. Itrepresents the total log reservation of all currentlyoutstanding transactions, including regrants due torolling transactions in bytes.

Users:

xfstests

Symbols under /sys/hypervisor

/sys/hypervisor/guest_type

Defined on filesysfs-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)

/sys/hypervisor/pmu/pmu_features

Defined on filesysfs-hypervisor-xen

If running under Xen:Describes Xen PMU features (as an integer). A set bit indicatesthat the corresponding feature is enabled. Seeinclude/xen/interface/xenpmu.h for available features

/sys/hypervisor/pmu/pmu_mode

Defined on filesysfs-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 isprivileged (e.g. dom0), the hypervisor

“all”

The guest can profile itself, the hypervisorand all other guests. Only available toprivileged guests.

/sys/hypervisor/properties/buildid

Defined on filesysfs-hypervisor-xen

If running under Xen:Build id of the hypervisor, needed for hypervisor live patching.Might return “<denied>” in case of special security settingsin the hypervisor.

Symbols under /sys/kernel

/sys/kernel/address_bits

Defined on filesysfs-kernel-address_bits

The address size of the running kernel in bits.

Access: Read

Users:

util-linux

/sys/kernel/boot_params

Defined on filesysfs-kernel-boot_params

The /sys/kernel/boot_params directory contains twofiles: “data” and “version” and one subdirectory “setup_data”.It is used to export the kernel boot parameters of an x86platform to userspace for kexec and debugging purpose.

If there’s no setup_data in boot_params the subdirectory willnot be created.

“data” file is the binary representation ofstructboot_params.

“version” file is the string representation of bootprotocol version.

“setup_data” subdirectory contains the setup_data datastructure in boot_params. setup_data is maintained in kernelas a link list. In “setup_data” subdirectory there’s onesubdirectory for each link list node named with the numberof the list nodes. The list node subdirectory contains twofiles “type” and “data”. “type” file is the stringrepresentation of setup_data type. “data” file is the binaryrepresentation 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
Users:

Kexec

/sys/kernel/btf

Defined on filesysfs-kernel-btf

Contains BTF type information and related data for kernel andkernel modules.

/sys/kernel/btf/<module-name>

Defined on filesysfs-kernel-btf

Read-only binary attribute exposing kernel module’s BTF typeinformation as an add-on to the kernel’s BTF (/sys/kernel/btf/vmlinux).

/sys/kernel/btf/vmlinux

Defined on filesysfs-kernel-btf

Read-only binary attribute exposing kernel’s own BTF typeinformation with description of all internal kernel types. SeeBPF Type Format (BTF) for detailed description of formatitself.

/sys/kernel/config/most_<component>

Defined on fileconfigfs-most

Interface is used to configure and connect device channelsto component drivers.

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

/sys/kernel/config/most_cdev/<link>

Defined on fileconfigfs-most

The attributes:

buffer_size

configure the buffer size for this channel

subbuffer_size

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

num_buffers

configure number of buffers used for thischannel

datatype

configure type of data that will travel overthis channel

direction

configure whether this link will be an inputor output

dbr_size

configure DBR data buffer size (this is usedfor MediaLB communication only)

packets_per_xact

configure the number of packets that will becollected from the network before beingtransmitted via USB (this is used for USBcommunication only)

device

name of the device the link is to be attached to

channel

name of the channel the link is to be attached to

comp_params

pass parameters needed by some components

create_link

write ‘1’ to this attribute to trigger thecreation of the link. In case of speculativeconfiguration, the creation is post-poned untila physical device is being attached to the bus.

destroy_link

write ‘1’ to this attribute to destroy anactive link

/sys/kernel/config/most_net/<link>

Defined on fileconfigfs-most

The attributes:

buffer_size

configure the buffer size for this channel

subbuffer_size

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

num_buffers

configure number of buffers used for thischannel

datatype

configure type of data that will travel overthis channel

direction

configure whether this link will be an inputor output

dbr_size

configure DBR data buffer size (this is usedfor MediaLB communication only)

packets_per_xact

configure the number of packets that will becollected from the network before beingtransmitted via USB (this is used for USBcommunication only)

device

name of the device the link is to be attached to

channel

name of the channel the link is to be attached to

comp_params

pass parameters needed by some components

create_link

write ‘1’ to this attribute to trigger thecreation of the link. In case of speculativeconfiguration, the creation is post-poned untila physical device is being attached to the bus.

destroy_link

write ‘1’ to this attribute to destroy anactive link

/sys/kernel/config/most_sound/<card>

Defined on fileconfigfs-most

The attributes:

create_card

write ‘1’ to this attribute to trigger theregistration of the sound card with the ALSAsubsystem.

/sys/kernel/config/most_sound/<card>/<link>

Defined on fileconfigfs-most

The attributes:

buffer_size

configure the buffer size for this channel

subbuffer_size

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

num_buffers

configure number of buffers used for thischannel

datatype

configure type of data that will travel overthis channel

direction

configure whether this link will be an inputor output

dbr_size

configure DBR data buffer size (this is usedfor MediaLB communication only)

packets_per_xact

configure the number of packets that will becollected from the network before beingtransmitted via USB (this is used for USBcommunication only)

device

name of the device the link is to be attached to

channel

name of the channel the link is to be attached to

comp_params

pass parameters needed by some components

create_link

write ‘1’ to this attribute to trigger thecreation of the link. In case of speculativeconfiguration, the creation is post-poned untila physical device is being attached to the bus.

destroy_link

write ‘1’ to this attribute to destroy anactive link

/sys/kernel/config/most_video/<link>

Defined on fileconfigfs-most

The attributes:

buffer_size

configure the buffer size for this channel

subbuffer_size

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

num_buffers

configure number of buffers used for thischannel

datatype

configure type of data that will travel overthis channel

direction

configure whether this link will be an inputor output

dbr_size

configure DBR data buffer size (this is usedfor MediaLB communication only)

packets_per_xact

configure the number of packets that will becollected from the network before beingtransmitted via USB (this is used for USBcommunication only)

device

name of the device the link is to be attached to

channel

name of the channel the link is to be attached to

comp_params

pass parameters needed by some components

create_link

write ‘1’ to this attribute to trigger thecreation of the link. In case of speculativeconfiguration, the creation is post-poned untila physical device is being attached to the bus.

destroy_link

write ‘1’ to this attribute to destroy anactive link

/sys/kernel/config/tsm/report/$name/auxblob

Defined on fileconfigfs-tsm-report

(RO) Optional supplemental data that a TSM may emit, visibilityof this attribute depends on TSM, and may be empty if noauxiliary data is available.

When @provider is “sev_guest” this file contains the“cert_table” from SEV-ES Guest-Hypervisor Communication BlockStandardization v2.03 Section 4.1.8.1 MSG_REPORT_REQ.https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/specifications/56421.pdf

/sys/kernel/config/tsm/report/$name/generation

Defined on fileconfigfs-tsm-report

(RO) The value in this attribute increments each time @inblob orany option is written. Userspace can detect conflicts bychecking generation before writing to any attribute and makingsure the number of writes matches expectations after reading@outblob, or it can prevent conflicts by creating a reportinstance per requesting context.

/sys/kernel/config/tsm/report/$name/inblob

Defined on fileconfigfs-tsm-report

(WO) Up to 64 bytes of user specified binary data. For replayprotection this should include a nonce, but the kernel does notplace any restrictions on the content.

/sys/kernel/config/tsm/report/$name/manifestblob

Defined on fileconfigfs-tsm-report

(RO) Optional supplemental data that a TSM may emit, visibilityof this attribute depends on TSM, and may be empty if nomanifest data is available.

See ‘service_provider’ for information on the format of themanifest blob.

/sys/kernel/config/tsm/report/$name/outblob

Defined on fileconfigfs-tsm-report

(RO) Binary attestation report generated from @inblob and otheroptions The format of the report is implementation specificwhere the implementation is conveyed via the @providerattribute.

/sys/kernel/config/tsm/report/$name/privlevel

Defined on fileconfigfs-tsm-report

(WO) Attribute is visible if a TSM implementation providersupports the concept of attestation reports for TVMs running atdifferent privilege levels, like SEV-SNP “VMPL”, specify theprivilege level via this attribute. The minimum acceptablevalue is conveyed via @privlevel_floor and the maximumacceptable value is TSM_PRIVLEVEL_MAX (3).

/sys/kernel/config/tsm/report/$name/privlevel_floor

Defined on fileconfigfs-tsm-report

(RO) Indicates the minimum permissible value that can be writtento @privlevel.

/sys/kernel/config/tsm/report/$name/provider

Defined on fileconfigfs-tsm-report

(RO) A name for the format-specification of @outblob like“sev_guest” [1] or “tdx_guest” [2] in the near term, or acommon standard format in the future.

[1]: SEV Secure Nested Paging Firmware ABI SpecificationRevision 1.55 Table 22https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/specifications/56860.pdf

[2]: Intel® Trust Domain Extensions Data Center AttestationPrimitives : Quote Generation Library and Quote VerificationLibrary Revision 0.8 Appendix 4,5https://download.01.org/intel-sgx/latest/dcap-latest/linux/docs/Intel_TDX_DCAP_Quoting_Library_API.pdf

/sys/kernel/config/tsm/report/$name/service_guid

Defined on fileconfigfs-tsm-report

(WO) Attribute is visible if a TSM implementation providersupports the concept of attestation reports from a serviceprovider for TVMs, like SEV-SNP running under an SVSM.Specifying an empty/null GUID (00000000-0000-0000-0000-000000)requests all active services within the service provider bepart of the attestation report. Specifying a GUID requestan attestation report of just the specified service using themanifest form specified by the service_manifest_versionattribute.

See ‘service_provider’ for information on the format of theservice guid.

/sys/kernel/config/tsm/report/$name/service_manifest_version

Defined on fileconfigfs-tsm-report

(WO) Attribute is visible if a TSM implementation providersupports the concept of attestation reports from a serviceprovider for TVMs, like SEV-SNP running under an SVSM.Indicates the service manifest version requested for theattestation report (default 0). If this field is not set bythe user, the default manifest version of the service (theservice’s initial/first manifest version) is returned.

See ‘service_provider’ for information on the format of theservice manifest version.

/sys/kernel/config/tsm/report/$name/service_provider

Defined on fileconfigfs-tsm-report

(WO) Attribute is visible if a TSM implementation providersupports the concept of attestation reports from a serviceprovider for TVMs, like SEV-SNP running under an SVSM.Specifying the service provider via this attribute will createan attestation report as specified by the service provider.The only currently supported service provider is “svsm”.

For the “svsm” service provider, see the Secure VM Service Modulefor SEV-SNP Guests v1.00 Section 7. For the doc, search for“site:amd.com “Secure VM Service Module for SEV-SNPGuests”, docID: 58019”

/sys/kernel/cpu_byteorder

Defined on filesysfs-kernel-cpu_byteorder

The endianness of the running kernel.

Access: Read

Valid values:

“little”, “big”

Users:

util-linux

/sys/kernel/debug/<cros-ec-device>/console_log

Defined on filedebugfs-cros-ec

If the EC supports the CONSOLE_READ command type, this filecan be used to grab the EC logs. The kernel polls for the logand keeps its own buffer but userspace should grab this andwrite it out to some logs.

/sys/kernel/debug/<cros-ec-device>/last_resume_result

Defined on filedebugfs-cros-ec

Some ECs have a feature where they will track transitions tothe (Intel) processor’s SLP_S0 line, in order to detect caseswhere a system failed to go into S0ix. When the system resumes,an EC with this feature will return a summary of SLP_S0transitions that occurred. The last_resume_result file returnsthe most recent response from the AP’s resume message to the EC.

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

Output will be in the format: “0x%08xn”.

/sys/kernel/debug/<cros-ec-device>/panicinfo

Defined on filedebugfs-cros-ec

This file dumps the EC panic information from the previousreboot. This file will only exist if the PANIC_INFO commandtype is supported by the EC.

/sys/kernel/debug/<cros-ec-device>/pdinfo

Defined on filedebugfs-cros-ec

This file provides the port role, muxes and power debuginformation for all the USB PD/type-C ports available. Ifthe are no ports available, this file will be just an emptyfile.

/sys/kernel/debug/<cros-ec-device>/suspend_timeout_ms

Defined on filedebugfs-cros-ec

Some ECs have a feature where they will track transitions ofa hardware-controlled sleep line, such as Intel’s SLP_S0 line,in order to detect cases where a system failed to go into deepsleep states. The suspend_timeout_ms file controls the amount oftime in milliseconds the EC will wait before declaring a sleeptimeout event and attempting to wake the system.

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

Output will be in the format: “%un”.

/sys/kernel/debug/<cros-ec-device>/uptime

Defined on filedebugfs-cros-ec

A u32 providing the time since EC booted in ms. This isis used for synchronizing the AP host time with the EClog. An error is returned if the command is not supportedby the EC or there is a communication problem.

/sys/kernel/debug/accel/<parent_device>/addr

Defined on filedebugfs-driver-habanalabs

Sets the device address to be used for read or write throughPCI bar, or the device VA of a host mapped memory to be read orwritten directly from the host. The latter option is allowedonly when the IOMMU is disabled.The acceptable value is a string that starts with “0x”

/sys/kernel/debug/accel/<parent_device>/clk_gate

Defined on filedebugfs-driver-habanalabs

This setting is now deprecated as clock gating is handled solely by the f/w

/sys/kernel/debug/accel/<parent_device>/command_buffers

Defined on filedebugfs-driver-habanalabs

Displays a list with information about the currently allocatedcommand buffers

/sys/kernel/debug/accel/<parent_device>/command_submission

Defined on filedebugfs-driver-habanalabs

Displays a list with information about the currently activecommand submissions

/sys/kernel/debug/accel/<parent_device>/command_submission_jobs

Defined on filedebugfs-driver-habanalabs

Displays a list with detailed information about each JOB (CB) ofeach active command submission

/sys/kernel/debug/accel/<parent_device>/data32

Defined on filedebugfs-driver-habanalabs

Allows the root user to read or write directly through thedevice’s PCI bar. Writing to this file generates a writetransaction while reading from the file generates a readtransaction. This custom interface is needed (instead of usingthe generic Linux user-space PCI mapping) because the DDR baris very small compared to the DDR memory and only the driver canmove the bar before and after the transaction.

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

/sys/kernel/debug/accel/<parent_device>/data64

Defined on filedebugfs-driver-habanalabs

Allows the root user to read or write 64 bit data directlythrough the device’s PCI bar. Writing to this file generates awrite transaction while reading from the file generates a readtransaction. This custom interface is needed (instead of usingthe generic Linux user-space PCI mapping) because the DDR baris very small compared to the DDR memory and only the driver canmove the bar before and after the transaction.

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

/sys/kernel/debug/accel/<parent_device>/data_dma

Defined on filedebugfs-driver-habanalabs

Allows the root user to read from the device’s internalmemory (DRAM/SRAM) through a DMA engine.This property is a binary blob that contains the result of theDMA transfer.This custom interface is needed (instead of using the genericLinux user-space PCI mapping) because the amount of internalmemory is huge (>32GB) and reading it via the PCI bar will takea very long time.This interface doesn’t support concurrency in the same device.In GAUDI and GOYA, this action can cause undefined behaviorin case it is done while the device is executing userworkloads.Only supported on GAUDI at this stage.

/sys/kernel/debug/accel/<parent_device>/device

Defined on filedebugfs-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

/sys/kernel/debug/accel/<parent_device>/device_release_watchdog_timeout

Defined on filedebugfs-driver-habanalabs

The watchdog timeout value in seconds for a device release uponcertain error cases, after which the device is reset.

/sys/kernel/debug/accel/<parent_device>/dma_size

Defined on filedebugfs-driver-habanalabs

Specify the size of the DMA transaction when using DMA to readfrom the device’s internal memory. The value can not be largerthan 128MB. Writing to this value initiates the DMA transfer.When the write is finished, the user can read the “data_dma”blob

/sys/kernel/debug/accel/<parent_device>/dump_razwi_events

Defined on filedebugfs-driver-habanalabs

Dumps all razwi events to dmesg if exist.After reading the status register of an existing eventthe routine will clear the status register.Usage: cat dump_razwi_events

/sys/kernel/debug/accel/<parent_device>/dump_security_violations

Defined on filedebugfs-driver-habanalabs

Dumps all security violations to dmesg. This will also ackall security violations meanings those violations will not bedumped next time user calls this API

/sys/kernel/debug/accel/<parent_device>/engines

Defined on filedebugfs-driver-habanalabs

Displays the status registers values of the device engines andtheir derived idle status

/sys/kernel/debug/accel/<parent_device>/i2c_addr

Defined on filedebugfs-driver-habanalabs

Sets I2C device address for I2C transaction that is generatedby the device’s CPU, Not available when device is loaded with securedfirmware

/sys/kernel/debug/accel/<parent_device>/i2c_bus

Defined on filedebugfs-driver-habanalabs

Sets I2C bus address for I2C transaction that is generated bythe device’s CPU, Not available when device is loaded with securedfirmware

/sys/kernel/debug/accel/<parent_device>/i2c_data

Defined on filedebugfs-driver-habanalabs

Triggers an I2C transaction that is generated by the device’sCPU. Writing to this file generates a write transaction whilereading from the file generates a read transaction, Not availablewhen device is loaded with secured firmware

/sys/kernel/debug/accel/<parent_device>/i2c_len

Defined on filedebugfs-driver-habanalabs

Sets I2C length in bytes for I2C transaction that is generated bythe device’s CPU, Not available when device is loaded with securedfirmware

/sys/kernel/debug/accel/<parent_device>/i2c_reg

Defined on filedebugfs-driver-habanalabs

Sets I2C register id for I2C transaction that is generated bythe device’s CPU, Not available when device is loaded with securedfirmware

/sys/kernel/debug/accel/<parent_device>/led0

Defined on filedebugfs-driver-habanalabs

Sets the state of the first S/W led on the device, Not availablewhen device is loaded with secured firmware

/sys/kernel/debug/accel/<parent_device>/led1

Defined on filedebugfs-driver-habanalabs

Sets the state of the second S/W led on the device, Not availablewhen device is loaded with secured firmware

/sys/kernel/debug/accel/<parent_device>/led2

Defined on filedebugfs-driver-habanalabs

Sets the state of the third S/W led on the device, Not availablewhen device is loaded with secured firmware

/sys/kernel/debug/accel/<parent_device>/memory_scrub

Defined on filedebugfs-driver-habanalabs

Allows the root user to scrub the dram memory. The scrubbingvalue can be set using the debugfs file memory_scrub_val.

/sys/kernel/debug/accel/<parent_device>/memory_scrub_val

Defined on filedebugfs-driver-habanalabs

The value to which the dram will be set to when the userscrubs the dram using ‘memory_scrub’ debugfs file andthe scrubbing value when using module param ‘memory_scrub’

/sys/kernel/debug/accel/<parent_device>/mmu

Defined on filedebugfs-driver-habanalabs

Displays the hop values and physical address for a given ASIDand virtual address. The user should write the ASID and VA intothe 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/accel/<parent_device>/mmu

/sys/kernel/debug/accel/<parent_device>/mmu_error

Defined on filedebugfs-driver-habanalabs

Check and display page fault or access violation mmu errors forall MMUs specified in mmu_cap_mask.e.g. to display error info for MMU hw cap bit 9, you need to do:echo “0x200” > /sys/kernel/debug/accel/<parent_device>/mmu_errorcat /sys/kernel/debug/accel/<parent_device>/mmu_error

/sys/kernel/debug/accel/<parent_device>/monitor_dump

Defined on filedebugfs-driver-habanalabs

Allows the root user to dump monitors status from the device’sprotected config space.This property is a binary blob that contains the result of themonitors registers dump.This custom interface is needed (instead of using the genericLinux user-space PCI mapping) because this space is protectedand cannot be accessed using PCI read.This interface doesn’t support concurrency in the same device.Only supported on GAUDI.

/sys/kernel/debug/accel/<parent_device>/monitor_dump_trig

Defined on filedebugfs-driver-habanalabs

Triggers dump of monitor data. The value to trigger the operationmust be 1. Triggering the monitor dump operation initiates dump ofcurrent registers values of all monitors.When the write is finished, the user can read the “monitor_dump”blob

/sys/kernel/debug/accel/<parent_device>/server_type

Defined on filedebugfs-driver-habanalabs

Exposes the device’s server type, maps toenumhl_server_type.

/sys/kernel/debug/accel/<parent_device>/set_power_state

Defined on filedebugfs-driver-habanalabs

Sets the PCI power state. Valid values are “1” for D0 and “2”for D3Hot

/sys/kernel/debug/accel/<parent_device>/skip_reset_on_timeout

Defined on filedebugfs-driver-habanalabs

Sets the skip reset on timeout option for the device. Value of“0” means device will be reset in case some CS has timed out,otherwise it will not be reset.

/sys/kernel/debug/accel/<parent_device>/state_dump

Defined on filedebugfs-driver-habanalabs

Gets the state dump occurring on a CS timeout or failure.State dump is used for debug and is created each time in case ofa problem in a CS execution, before reset.Reading from the node returns the newest state dump available.Writing an integer X discards X state dumps, so that thenext read would return X+1-st newest state dump.

/sys/kernel/debug/accel/<parent_device>/stop_on_err

Defined on filedebugfs-driver-habanalabs

Sets the stop-on_error option for the device engines. Value of“0” is for disable, otherwise enable.Relevant only for GOYA and GAUDI.

/sys/kernel/debug/accel/<parent_device>/timeout_locked

Defined on filedebugfs-driver-habanalabs

Sets the command submission timeout value in seconds.

/sys/kernel/debug/accel/<parent_device>/userptr

Defined on filedebugfs-driver-habanalabs

Displays a list with information about the current userpointers (user virtual addresses) that are pinned and mappedto DMA addresses

/sys/kernel/debug/accel/<parent_device>/userptr_lookup

Defined on filedebugfs-driver-habanalabs

Allows to search for specific user pointers (user virtualaddresses) that are pinned and mapped to DMA addresses, and seetheir resolution to the specific dma address.

/sys/kernel/debug/accel/<parent_device>/vm

Defined on filedebugfs-driver-habanalabs

Displays a list with information about all the active virtualaddress mappings per ASID and all user mappings of HW blocks

/sys/kernel/debug/alienware-wmi-<wmi_device_name>/gpio_ctl/pinX

Defined on filedebugfs-alienware-wmi

This file controls GPIO pin X status.

SeeDell AWCC WMI interface driver (alienware-wmi) for details.

RW

/sys/kernel/debug/alienware-wmi-<wmi_device_name>/gpio_ctl/total_gpios

Defined on filedebugfs-alienware-wmi

Total number of GPIO pins reported by the device.

RO

/sys/kernel/debug/alienware-wmi-<wmi_device_name>/hwmon_data

Defined on filedebugfs-alienware-wmi

This file exposes HWMON private data.

Includes fan sensor count, temperature sensor count, internalfan IDs and internal temp IDs.

SeeAlienware WMI Driver fordetails.

RO

/sys/kernel/debug/alienware-wmi-<wmi_device_name>/pprof_data

Defined on filedebugfs-alienware-wmi

This file exposes Platform Profile private data.

Includes internal mapping to platform profiles and thermalprofile IDs.

SeeAlienware WMI Driver fordetails.

RO

/sys/kernel/debug/alienware-wmi-<wmi_device_name>/system_description

Defined on filedebugfs-alienware-wmi

This file exposes the rawsystem_description number reportedby the WMAX device.

Only present on devices with the AWCC interface.

SeeAlienware WMI Driver fordetails.

RO

/sys/kernel/debug/cec/*/error-inj

Defined on filedebugfs-cec-error-inj

The CEC Framework allows for CEC error injection commands throughdebugfs. Drivers that support this will create an error-inj filethrough 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 theend of the line was reached, then the whole line is ignored. Otherwisea command is expected.

It is up to the driver to decide what commands to implement. The onlyexception is that the command ‘clear’ without any arguments must beimplemented and that it will remove all current error injectioncommands.

This ensures that you can always do ‘echo clear >error-inj’ to clear anyerror injections without having to know the details of the driver-specificcommands.

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 consideredstable and may change in the future.

Drivers that implement this functionality must document the commands aspart of the CEC documentation and must keep that documentation up to datewhen changes are made.

The following CEC error injection implementations exist:

/sys/kernel/debug/cxl/$dport_dev/einj_inject

Defined on filedebugfs-cxl

(WO) Writing an integer to this file injects the correspondingCXL protocol error into $dport_dev ($dport_dev will be a devicename from /sys/bus/pci/devices). The integer to type mapping forinjection can be found by reading from einj_types. If the dportwas enumerated in RCH mode, a CXL 1.1 error is injected, otherwisea CXL 2.0 error is injected.

/sys/kernel/debug/cxl/einj_types

Defined on filedebugfs-cxl

(RO) Prints the CXL protocol error types made available bythe platform in the format:

0x<error number> <error type>

The possible error types are (as of ACPI v6.5):

0x1000 CXL.cache Protocol Correctable0x2000 CXL.cache Protocol Uncorrectable non-fatal0x4000 CXL.cache Protocol Uncorrectable fatal0x8000 CXL.mem Protocol Correctable0x10000 CXL.mem Protocol Uncorrectable non-fatal0x20000 CXL.mem Protocol Uncorrectable fatal

The <error number> can be written to einj_inject to inject<error type> into a chosen dport.

/sys/kernel/debug/cxl/memX/clear_poison

Defined on filedebugfs-cxl

(WO) When a Device Physical Address (DPA) is written to thisattribute, the memdev driver sends a clear poison command tothe device for the specified address. Clearing poison removesthe address from the device’s Poison List and writes 0 (zero)for 64 bytes starting at address. It is not an error to clearpoison from an address that does not have poison set. If thedevice cannot clear poison from the address, -ENXIO is returned.The clear_poison attribute is only visible for devicessupporting the capability.

TEST-ONLY INTERFACE: This interface is intended for testingand validation purposes only. It is not a data repair mechanismand should never be used on production systems or live data.

CLEAR IS NOT DATA RECOVERY: This operation writes zeros to thespecified address range and removes the address from the poisonlist. It does NOT recover or restore original data that may havebeen present before poison injection. Any original data at thecleared address is permanently lost and replaced with zeros.

CLEAR IS NOT A REPAIR MECHANISM: This interface is for testingpurposes only and should not be used as a data repair tool.Clearing poison is fundamentally different from data recoveryor error correction.

/sys/kernel/debug/cxl/memX/inject_poison

Defined on filedebugfs-cxl

(WO) When a Device Physical Address (DPA) is written to thisattribute, the memdev driver sends an inject poison command tothe device for the specified address. The DPA must be 64-bytealigned and the length of the injected poison is 64-bytes. Ifsuccessful, the device returns poison when the address isaccessed through the CXL.mem bus. Injecting poison adds theaddress to the device’s Poison List and the error source is setto Injected. In addition, the device adds a poison creationevent to its internal Informational Event log, updates theEvent Status register, and if configured, interrupts the host.It is not an error to inject poison into an address thatalready has poison present and no error is returned. If thedevice returns ‘Inject Poison Limit Reached’ an -EBUSY erroris returned to the user. The inject_poison attribute is onlyvisible for devices supporting the capability.

TEST-ONLY INTERFACE: This interface is intended for testingand validation purposes only. It is not a data repair mechanismand should never be used on production systems or live data.

DATA LOSS RISK: For CXL persistent memory (PMEM) devices,poison injection can result in permanent data loss. Injectedpoison may render data permanently inaccessible even afterclearing, as the clear operation writes zeros and does notrecover original data.

SYSTEM STABILITY RISK: For volatile memory, poison injectioncan cause kernel crashes, system instability, or unpredictablebehavior if the poisoned addresses are accessed by running codeor critical kernel structures.

/sys/kernel/debug/cxl/regionX/clear_poison

Defined on filedebugfs-cxl

(WO) When a Host Physical Address (HPA) is written to thisattribute, the region driver translates it to a DevicePhysical Address (DPA) and identifies the correspondingmemdev. It then sends a clear poison command to that memdevat the translated DPA. Refer to the memdev ABI entry at:/sys/kernel/debug/cxl/memX/clear_poison for the detailedbehavior. This attribute is only visible if all memdevsparticipating in the region support both inject and clearpoison commands.

TEST-ONLY INTERFACE: This interface is intended for testingand validation purposes only. It is not a data repair mechanismand should never be used on production systems or live data.

CLEAR IS NOT DATA RECOVERY: This operation writes zeros to thespecified address range and removes the address from the poisonlist. It does NOT recover or restore original data that may havebeen present before poison injection. Any original data at thecleared address is permanently lost and replaced with zeros.

CLEAR IS NOT A REPAIR MECHANISM: This interface is for testingpurposes only and should not be used as a data repair tool.Clearing poison is fundamentally different from data recoveryor error correction.

/sys/kernel/debug/cxl/regionX/inject_poison

Defined on filedebugfs-cxl

(WO) When a Host Physical Address (HPA) is written to thisattribute, the region driver translates it to a DevicePhysical Address (DPA) and identifies the correspondingmemdev. It then sends an inject poison command to that memdevat the translated DPA. Refer to the memdev ABI entry at:/sys/kernel/debug/cxl/memX/inject_poison for the detailedbehavior. This attribute is only visible if all memdevsparticipating in the region support both inject and clearpoison commands.

TEST-ONLY INTERFACE: This interface is intended for testingand validation purposes only. It is not a data repair mechanismand should never be used on production systems or live data.

DATA LOSS RISK: For CXL persistent memory (PMEM) devices,poison injection can result in permanent data loss. Injectedpoison may render data permanently inaccessible even afterclearing, as the clear operation writes zeros and does notrecover original data.

SYSTEM STABILITY RISK: For volatile memory, poison injectioncan cause kernel crashes, system instability, or unpredictablebehavior if the poisoned addresses are accessed by running codeor critical kernel structures.

/sys/kernel/debug/dcc/.../[list-number]/config

Defined on filedebugfs-driver-dcc

This stores the addresses of the registers whichcan be read in case of a hardware crash or manualsoftware triggers. The input addresses typecan be one of following dcc instructions: read,write, read-write, and loop type. The lists need tobe configured sequentially and not in a overlappingmanner; e.g. users can jump to list x only afterlist y is configured and enabled. The input format foreach type is as follows:

  1. Read instruction

    echo R <addr> <n> <bus> >/sys/kernel/debug/dcc/../[list-number]/config

    where:

    <addr>

    The address to be read.

    <n>

    The addresses word count, starting from address <1>.Each word is 32 bits (4 bytes). If omitted, defaultedto 1.

    <bus type>

    The bus type, which can be either ‘apb’ or ‘ahb’.The default is ‘ahb’ if leaved out.

  2. Write instruction

    echo W <addr> <n> <bus type> > /sys/kernel/debug/dcc/../[list-number]/config

    where:

    <addr>

    The address to be written.

    <n>

    The value to be written at <addr>.

    <bus type>

    The bus type, which can be either ‘apb’ or ‘ahb’.

  3. Read-write instruction

    echo RW <addr> <n> <mask> > /sys/kernel/debug/dcc/../[list-number]/config

    where:

    <addr>

    The address to be read and written.

    <n>

    The value to be written at <addr>.

    <mask>

    The value mask.

  4. Loop instruction

    echo L <loop count> <address count> <address>... > /sys/kernel/debug/dcc/../[list-number]/config

    where:

    <loop count>

    Number of iterations

    <address count>

    total number of addresses to be written

    <address>

    Space-separated list of addresses.

/sys/kernel/debug/dcc/.../[list-number]/enable

Defined on filedebugfs-driver-dcc

This debugfs interface is used for enabling thethe dcc hardware. A file named “enable” is in thedirectory list number where users can enable/disablethe specific list by writing boolean (1 or 0) to thefile.

On enabling the dcc, all the addresses specifiedby the user for the corresponding list is writteninto dcc sram which is read by the dcc hardwareon manual or crash induced triggers. Lists mustbe configured and enabled sequentially, e.g. list2 can only be enabled when list 1 have so.

/sys/kernel/debug/dcc/.../config_reset

Defined on filedebugfs-driver-dcc

This file is used to reset the configuration ofa dcc driver to the default configuration. When ‘1’is written to the file, all the previous addressesstored in the driver gets removed and users need toreconfigure addresses again.

/sys/kernel/debug/dcc/.../ready

Defined on filedebugfs-driver-dcc

This file is used to check the status of the dcchardware if it’s ready to receive user configurations.A ‘Y’ here indicates dcc is ready.

/sys/kernel/debug/dcc/.../trigger

Defined on filedebugfs-driver-dcc

This is the debugfs interface for manual softwaretriggers. The trigger can be invoked by writing ‘1’to the file.

/sys/kernel/debug/dell-wmi-ddv-<wmi_device_name>/fan_sensor_information

Defined on filedebugfs-dell-wmi-ddv

This file contains the contents of the fan sensor informationbuffer, which contains fan sensor entries and a terminatingcharacter (0xFF).

Each fan sensor entry contains:

  • fan type (single byte)

  • fan speed in RPM (two bytes, little endian)

SeeDell DDV WMI interface driver (dell-wmi-ddv) for details.

/sys/kernel/debug/dell-wmi-ddv-<wmi_device_name>/thermal_sensor_information

Defined on filedebugfs-dell-wmi-ddv

This file contains the contents of the thermal sensor informationbuffer, which contains thermal sensor entries and a terminatingcharacter (0xFF).

Each thermal sensor entry contains:

  • thermal type (single byte)

  • current temperature (single byte)

  • min. temperature (single byte)

  • max. temperature (single byte)

  • unknown field (single byte)

SeeDell DDV WMI interface driver (dell-wmi-ddv) for details.

/sys/kernel/debug/dwc_pcie_<dev>/ltssm_status

Defined on filedebugfs-dwc-pcie

(RO) Read will return the current PCIe LTSSM state in bothstring and raw value.

/sys/kernel/debug/dwc_pcie_<dev>/rasdes_debug/lane_detect

Defined on filedebugfs-dwc-pcie

(RW) Write the lane number to be checked for detection. Readwill return whether PHY indicates receiver detection on theselected lane. The default selected lane is Lane0.

/sys/kernel/debug/dwc_pcie_<dev>/rasdes_debug/rx_valid

Defined on filedebugfs-dwc-pcie

(RW) Write the lane number to be checked as valid or invalid.Read will return the status of PIPE RXVALID signal of theselected lane. The default selected lane is Lane0.

/sys/kernel/debug/dwc_pcie_<dev>/rasdes_err_inj/<error>

Defined on filedebugfs-dwc-pcie

The “rasdes_err_inj” is a directory which can be used to injecterrors into the system. The possible errors that can be injectedare:

  1. tx_lcrc - TLP LCRC error injection TX Path

  2. b16_crc_dllp - 16b CRC error injection of ACK/NAK DLLP

  3. b16_crc_upd_fc - 16b CRC error injection of Update-FC DLLP

  4. tx_ecrc - TLP ECRC error injection TX Path

  5. fcrc_tlp - TLP’s FCRC error injection TX Path

  6. parity_tsos - Parity error of TSOS

  7. parity_skpos - Parity error on SKPOS

  8. rx_lcrc - LCRC error injection RX Path

  9. rx_ecrc - ECRC error injection RX Path

  10. tlp_err_seq - TLPs SEQ# error

  11. ack_nak_dllp_seq - DLLPS ACK/NAK SEQ# error

  12. ack_nak_dllp - ACK/NAK DLLPs transmission block

  13. upd_fc_dllp - UpdateFC DLLPs transmission block

  14. nak_dllp - Always transmission for NAK DLLP

  15. inv_sync_hdr_sym - Invert SYNC header

  16. com_pad_ts1 - COM/PAD TS1 order set

  17. com_pad_ts2 - COM/PAD TS2 order set

  18. com_fts - COM/FTS FTS order set

  19. com_idl - COM/IDL E-idle order set

  20. end_edb - END/EDB symbol

  21. stp_sdp - STP/SDP symbol

  22. com_skp - COM/SKP SKP order set

  23. posted_tlp_hdr - Posted TLP Header credit value control

  24. non_post_tlp_hdr - Non-Posted TLP Header credit value control

  25. cmpl_tlp_hdr - Completion TLP Header credit value control

  26. posted_tlp_data - Posted TLP Data credit value control

  27. non_post_tlp_data - Non-Posted TLP Data credit value control

  28. cmpl_tlp_data - Completion TLP Data credit value control

  29. duplicate_tlp - Generates duplicate TLPs

  30. nullified_tlp - Generates Nullified TLPs

(WO) Write to the attribute will prepare controller to injectthe respective error in the next transmission of data.

Parameter required to write will change in the following ways:

  • Errors 9 and 10 are sequence errors. The write command:

    echo <count> <diff> > /sys/kernel/debug/dwc_pcie_<dev>/rasdes_err_inj/<error>

    <count>

    Number of errors to be injected

    <diff>

    The difference to add or subtract from naturalsequence number to generate sequence error.Allowed range from -4095 to 4095

  • Errors 23 to 28 are credit value error insertions. The writecommand:

    echo <count> <diff> <vc> > /sys/kernel/debug/dwc_pcie_<dev>/rasdes_err_inj/<error>

    <count>

    Number of errors to be injected

    <diff>

    The difference to add or subtract from UpdateFCcredit value. Allowed range from -4095 to 4095

    <vc>

    Target VC number

  • All other errors. The write command:

    echo <count> > /sys/kernel/debug/dwc_pcie_<dev>/rasdes_err_inj/<error>

    <count>

    Number of errors to be injected

/sys/kernel/debug/dwc_pcie_<dev>/rasdes_event_counters/<event>/counter_enable

Defined on filedebugfs-dwc-pcie

The “rasdes_event_counters” is the directory which can be usedto collect statistical data about the number of times a certainevent has occurred in the controller. The list of possibleevents are:

  1. EBUF Overflow

  2. EBUF Underrun

  3. Decode Error

  4. Running Disparity Error

  5. SKP OS Parity Error

  6. SYNC Header Error

  7. Rx Valid De-assertion

  8. CTL SKP OS Parity Error

  9. 1st Retimer Parity Error

  10. 2nd Retimer Parity Error

  11. Margin CRC and Parity Error

  12. Detect EI Infer

  13. Receiver Error

  14. RX Recovery Req

  15. N_FTS Timeout

  16. Framing Error

  17. Deskew Error

  18. Framing Error In L0

  19. Deskew Uncompleted Error

  20. Bad TLP

  21. LCRC Error

  22. Bad DLLP

  23. Replay Number Rollover

  24. Replay Timeout

  25. Rx Nak DLLP

  26. Tx Nak DLLP

  27. Retry TLP

  28. FC Timeout

  29. Poisoned TLP

  30. ECRC Error

  31. Unsupported Request

  32. Completer Abort

  33. Completion Timeout

  34. EBUF SKP Add

  35. EBUF SKP Del

(RW) Write 1 to enable the event counter and write 0 to disablethe event counter. Read will return whether the counter iscurrently enabled or disabled. Counter is disabled by default.

/sys/kernel/debug/dwc_pcie_<dev>/rasdes_event_counters/<event>/counter_value

Defined on filedebugfs-dwc-pcie

(RO) Read will return the current value of the event counter.To reset the counter, counter should be disabled first and thenenabled back using the “counter_enable” attribute.

/sys/kernel/debug/dwc_pcie_<dev>/rasdes_event_counters/<event>/lane_select

Defined on filedebugfs-dwc-pcie

(RW) Some lanes in the event list are lane specific events.These include events from 1 to 11, as well as, 34 and 35. Writethe lane number for which you wish the counter to be enabled,disabled, or value dumped. Read will return the currentselected lane number. Lane0 is selected by default.

/sys/kernel/debug/ec/*/{gpe,use_global_lock,io}

Defined on filedebugfs-ec

General information like which GPE is assigned to the EC and whetherthe global lock should get used.Knowing the EC GPE one can watch the amount of HW events related tothe 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 registersor writing to them.

CAUTION:

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

/sys/kernel/debug/genwqe/genwqe<n>_card/curr_dbg_uid0

Defined on filedebugfs-driver-genwqe

Internal chip state of UID0 (unit id 0).Only available for PF.

/sys/kernel/debug/genwqe/genwqe<n>_card/curr_dbg_uid1

Defined on filedebugfs-driver-genwqe

Internal chip state of UID1.Only available for PF.

/sys/kernel/debug/genwqe/genwqe<n>_card/curr_dbg_uid2

Defined on filedebugfs-driver-genwqe

Internal chip state of UID2.Only available for PF.

/sys/kernel/debug/genwqe/genwqe<n>_card/curr_regs

Defined on filedebugfs-driver-genwqe

Dump of the current error registers.Only available for PF.

/sys/kernel/debug/genwqe/genwqe<n>_card/ddcb_info

Defined on filedebugfs-driver-genwqe

DDCB queue dump used for debugging queueing problems.

/sys/kernel/debug/genwqe/genwqe<n>_card/err_inject

Defined on filedebugfs-driver-genwqe

Possibility to inject error cases to ensure that the driverserror handling code works well.

/sys/kernel/debug/genwqe/genwqe<n>_card/info

Defined on filedebugfs-driver-genwqe

Comprehensive summary of bitstream version and softwareversion. Used bitstream and bitstream clocking information.

/sys/kernel/debug/genwqe/genwqe<n>_card/jobtimer

Defined on filedebugfs-driver-genwqe

Dump job timeout register values for PF and VFs.Only available for PF.

/sys/kernel/debug/genwqe/genwqe<n>_card/prev_dbg_uid0

Defined on filedebugfs-driver-genwqe

Internal chip state of UID0 before card was reset.Only available for PF.

/sys/kernel/debug/genwqe/genwqe<n>_card/prev_dbg_uid1

Defined on filedebugfs-driver-genwqe

Internal chip state of UID1 before card was reset.Only available for PF.

/sys/kernel/debug/genwqe/genwqe<n>_card/prev_dbg_uid2

Defined on filedebugfs-driver-genwqe

Internal chip state of UID2 before card was reset.Only available for PF.

/sys/kernel/debug/genwqe/genwqe<n>_card/prev_regs

Defined on filedebugfs-driver-genwqe

Dump of the error registers before the last reset ofthe card occurred.Only available for PF.

/sys/kernel/debug/genwqe/genwqe<n>_card/queue_working_time

Defined on filedebugfs-driver-genwqe

Dump queue working time register values for PF and VFs.Only available for PF.

/sys/kernel/debug/genwqe/genwqe<n>_card/vf<0..14>_jobtimeout_msec

Defined on filedebugfs-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 cardsin the system and the maximum allowed queue size.

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

/sys/kernel/debug/hisi_hpre/<bdf>/alg_qos

Defined on filedebugfs-hisi-hpre

The <bdf> is related the function for PF and VF.HPRE driver supports to configure each function’s QoS, the driversupports to write <bdf> value to alg_qos in the host. Such as“echo <bdf> value > alg_qos”. The qos value is 1~1000, means1/1000~1000/1000 of total QoS. The driver reading alg_qos toget related QoS in the host and VM, Such as “cat alg_qos”.

/sys/kernel/debug/hisi_hpre/<bdf>/cap_regs

Defined on filedebugfs-hisi-hpre

Dump the values of the qm and hpre capability bit registers andsupport the query of device specifications to facilitate fault locating.Available for both PF and VF, and take no other effect on HPRE.

/sys/kernel/debug/hisi_hpre/<bdf>/cluster[0-3]/cluster_ctrl

Defined on filedebugfs-hisi-hpre

Write the HPRE core selection in the cluster into this file,and then we can read the debug information of the core.Only available for PF.

/sys/kernel/debug/hisi_hpre/<bdf>/cluster[0-3]/regs

Defined on filedebugfs-hisi-hpre

Dump debug registers from the HPRE cluster.Only available for PF.

/sys/kernel/debug/hisi_hpre/<bdf>/current_qm

Defined on filedebugfs-hisi-hpre

One HPRE controller has one PF and multiple VFs, each functionhas a QM. Select the QM which below qm refers to.Only available for PF.

/sys/kernel/debug/hisi_hpre/<bdf>/hpre_dfx/diff_regs

Defined on filedebugfs-hisi-hpre

HPRE debug registers(regs) read hardware register value. Thisnode is used to show the change of the register values. Thisnode can be help users to check the change of register values.

/sys/kernel/debug/hisi_hpre/<bdf>/hpre_dfx/invalid_req_cnt

Defined on filedebugfs-hisi-hpre

Dump the total number of invalid requests being received.Available for both PF and VF, and take no other effect on HPRE.

/sys/kernel/debug/hisi_hpre/<bdf>/hpre_dfx/over_thrhld_cnt

Defined on filedebugfs-hisi-hpre

Dump the total number of time out requests.Available for both PF and VF, and take no other effect on HPRE.

/sys/kernel/debug/hisi_hpre/<bdf>/hpre_dfx/overtime_thrhld

Defined on filedebugfs-hisi-hpre

Set the threshold time for counting the request which isprocessed longer than the threshold.0: disable(default), 1: 1 microsecond.Available for both PF and VF, and take no other effect on HPRE.

/sys/kernel/debug/hisi_hpre/<bdf>/hpre_dfx/recv_cnt

Defined on filedebugfs-hisi-hpre

Dump the total number of received requests.Available for both PF and VF, and take no other effect on HPRE.

/sys/kernel/debug/hisi_hpre/<bdf>/hpre_dfx/send_busy_cnt

Defined on filedebugfs-hisi-hpre

Dump the total number of requests sentwith returning busy.Available for both PF and VF, and take no other effect on HPRE.

/sys/kernel/debug/hisi_hpre/<bdf>/hpre_dfx/send_cnt

Defined on filedebugfs-hisi-hpre

Dump the total number of sent requests.Available for both PF and VF, and take no other effect on HPRE.

/sys/kernel/debug/hisi_hpre/<bdf>/hpre_dfx/send_fail_cnt

Defined on filedebugfs-hisi-hpre

Dump the total number of completed but error requests.Available for both PF and VF, and take no other effect on HPRE.

/sys/kernel/debug/hisi_hpre/<bdf>/qm/abnormal_irq

Defined on filedebugfs-hisi-hpre

Dump the number of interrupts for QM abnormal event.Available for both PF and VF, and take no other effect on HPRE.

/sys/kernel/debug/hisi_hpre/<bdf>/qm/aeq_irq

Defined on filedebugfs-hisi-hpre

Dump the number of QM async event queue interrupts.Available for both PF and VF, and take no other effect on HPRE.

/sys/kernel/debug/hisi_hpre/<bdf>/qm/clear_enable

Defined on filedebugfs-hisi-hpre

QM debug registers(regs) read clear control. 1 means enableregister read clear, otherwise 0.Writing to this file has no functional effect, only enable ordisable counters clear after reading of these registers.Only available for PF.

/sys/kernel/debug/hisi_hpre/<bdf>/qm/create_qp_err

Defined on filedebugfs-hisi-hpre

Dump the number of queue allocation errors.Available for both PF and VF, and take no other effect on HPRE.

/sys/kernel/debug/hisi_hpre/<bdf>/qm/current_q

Defined on filedebugfs-hisi-hpre

One QM may contain multiple queues. Select specific queue toshow its debug registers in above regs.Only available for PF.

/sys/kernel/debug/hisi_hpre/<bdf>/qm/dev_state

Defined on filedebugfs-hisi-hpre

Dump the stop queue status of the QM. The default value is 0,if dev_timeout is set, when stop queue fails, the dev_statewill return non-zero value. Available for both PF and VF,and take no other effect on HPRE.

/sys/kernel/debug/hisi_hpre/<bdf>/qm/dev_timeout

Defined on filedebugfs-hisi-hpre

Set the wait time when stop queue fails. Available for both PFand VF, and take no other effect on HPRE.0: not wait(default), others value: wait dev_timeout * 20 microsecond.

/sys/kernel/debug/hisi_hpre/<bdf>/qm/diff_regs

Defined on filedebugfs-hisi-hpre

QM debug registers(regs) read hardware register value. Thisnode is used to show the change of the qm register values. Thisnode can be help users to check the change of register values.

/sys/kernel/debug/hisi_hpre/<bdf>/qm/err_irq

Defined on filedebugfs-hisi-hpre

Dump the number of invalid interrupts forQM task completion.Available for both PF and VF, and take no other effect on HPRE.

/sys/kernel/debug/hisi_hpre/<bdf>/qm/mb_err

Defined on filedebugfs-hisi-hpre

Dump the number of failed QM mailbox commands.Available for both PF and VF, and take no other effect on HPRE.

/sys/kernel/debug/hisi_hpre/<bdf>/qm/qm_state

Defined on filedebugfs-hisi-hpre

Dump the state of the device.0: busy, 1: idle.Only available for PF, and take no other effect on HPRE.

/sys/kernel/debug/hisi_hpre/<bdf>/qm/regs

Defined on filedebugfs-hisi-hpre

Dump debug registers from the QM.Available for PF and VF in host. VF in guest currently onlyhas one debug register.

/sys/kernel/debug/hisi_hpre/<bdf>/qm/status

Defined on filedebugfs-hisi-hpre

Dump the status of the QM.Two states: work, stop.Available for both PF and VF, and take no other effect on HPRE.

/sys/kernel/debug/hisi_hpre/<bdf>/rdclr_en

Defined on filedebugfs-hisi-hpre

HPRE cores debug registers read clear control. 1 means enableregister read clear, otherwise 0. Writing to this file has nofunctional effect, only enable or disable counters clear afterreading of these registers.Only available for PF.

/sys/kernel/debug/hisi_hpre/<bdf>/regs

Defined on filedebugfs-hisi-hpre

Dump debug registers from the HPRE.Only available for PF.

/sys/kernel/debug/hisi_sec2/<bdf>/alg_qos

Defined on filedebugfs-hisi-sec

The <bdf> is related the function for PF and VF.SEC driver supports to configure each function’s QoS, the driversupports to write <bdf> value to alg_qos in the host. Such as“echo <bdf> value > alg_qos”. The qos value is 1~1000, means1/1000~1000/1000 of total QoS. The driver reading alg_qos toget related QoS in the host and VM, Such as “cat alg_qos”.

/sys/kernel/debug/hisi_sec2/<bdf>/cap_regs

Defined on filedebugfs-hisi-sec

Dump the values of the qm and sec capability bit registers andsupport the query of device specifications to facilitate fault locating.Available for both PF and VF, and take no other effect on SEC.

/sys/kernel/debug/hisi_sec2/<bdf>/clear_enable

Defined on filedebugfs-hisi-sec

Enabling/disabling of clear action after readingthe SEC debug registers.0: disable, 1: enable.Only available for PF, and take no other effect on SEC.

/sys/kernel/debug/hisi_sec2/<bdf>/current_qm

Defined on filedebugfs-hisi-sec

One SEC controller has one PF and multiple VFs, each functionhas a QM. This file can be used to select the QM which belowqm refers to.Only available for PF.

/sys/kernel/debug/hisi_sec2/<bdf>/qm/abnormal_irq

Defined on filedebugfs-hisi-sec

Dump the number of interrupts for QM abnormal event.Available for both PF and VF, and take no other effect on SEC.

/sys/kernel/debug/hisi_sec2/<bdf>/qm/aeq_irq

Defined on filedebugfs-hisi-sec

Dump the number of QM async event queue interrupts.Available for both PF and VF, and take no other effect on SEC.

/sys/kernel/debug/hisi_sec2/<bdf>/qm/clear_enable

Defined on filedebugfs-hisi-sec

Enabling/disabling of clear action after readingthe SEC’s QM debug registers.0: disable, 1: enable.Only available for PF, and take no other effect on SEC.

/sys/kernel/debug/hisi_sec2/<bdf>/qm/create_qp_err

Defined on filedebugfs-hisi-sec

Dump the number of queue allocation errors.Available for both PF and VF, and take no other effect on SEC.

/sys/kernel/debug/hisi_sec2/<bdf>/qm/current_q

Defined on filedebugfs-hisi-sec

One QM of SEC may contain multiple queues. Select specificqueue to show its debug registers in above ‘regs’.Only available for PF.

/sys/kernel/debug/hisi_sec2/<bdf>/qm/dev_state

Defined on filedebugfs-hisi-sec

Dump the stop queue status of the QM. The default value is 0,if dev_timeout is set, when stop queue fails, the dev_statewill return non-zero value. Available for both PF and VF,and take no other effect on SEC.

/sys/kernel/debug/hisi_sec2/<bdf>/qm/dev_timeout

Defined on filedebugfs-hisi-sec

Set the wait time when stop queue fails. Available for both PFand VF, and take no other effect on SEC.0: not wait(default), others value: wait dev_timeout * 20 microsecond.

/sys/kernel/debug/hisi_sec2/<bdf>/qm/diff_regs

Defined on filedebugfs-hisi-sec

QM debug registers(regs) read hardware register value. Thisnode is used to show the change of the qm register values. Thisnode can be help users to check the change of register values.

/sys/kernel/debug/hisi_sec2/<bdf>/qm/err_irq

Defined on filedebugfs-hisi-sec

Dump the number of invalid interrupts forQM task completion.Available for both PF and VF, and take no other effect on SEC.

/sys/kernel/debug/hisi_sec2/<bdf>/qm/mb_err

Defined on filedebugfs-hisi-sec

Dump the number of failed QM mailbox commands.Available for both PF and VF, and take no other effect on SEC.

/sys/kernel/debug/hisi_sec2/<bdf>/qm/qm_regs

Defined on filedebugfs-hisi-sec

Dump of QM related debug registers.Available for PF and VF in host. VF in guest currently onlyhas one debug register.

/sys/kernel/debug/hisi_sec2/<bdf>/qm/qm_state

Defined on filedebugfs-hisi-sec

Dump the state of the device.0: busy, 1: idle.Only available for PF, and take no other effect on SEC.

/sys/kernel/debug/hisi_sec2/<bdf>/qm/status

Defined on filedebugfs-hisi-sec

Dump the status of the QM.Two states: work, stop.Available for both PF and VF, and take no other effect on SEC.

/sys/kernel/debug/hisi_sec2/<bdf>/sec_dfx/diff_regs

Defined on filedebugfs-hisi-sec

SEC debug registers(regs) read hardware register value. Thisnode is used to show the change of the register values. Thisnode can be help users to check the change of register values.

/sys/kernel/debug/hisi_sec2/<bdf>/sec_dfx/done_flag_cnt

Defined on filedebugfs-hisi-sec

Dump the total number of completed but marked error requeststo be received.Available for both PF and VF, and take no other effect on SEC.

/sys/kernel/debug/hisi_sec2/<bdf>/sec_dfx/err_bd_cnt

Defined on filedebugfs-hisi-sec

Dump the total number of BD type error requeststo be received.Available for both PF and VF, and take no other effect on SEC.

/sys/kernel/debug/hisi_sec2/<bdf>/sec_dfx/invalid_req_cnt

Defined on filedebugfs-hisi-sec

Dump the total number of invalid requests being received.Available for both PF and VF, and take no other effect on SEC.

/sys/kernel/debug/hisi_sec2/<bdf>/sec_dfx/recv_cnt

Defined on filedebugfs-hisi-sec

Dump the total number of received requests.Available for both PF and VF, and take no other effect on SEC.

/sys/kernel/debug/hisi_sec2/<bdf>/sec_dfx/send_busy_cnt

Defined on filedebugfs-hisi-sec

Dump the total number of requests sent with returning busy.Available for both PF and VF, and take no other effect on SEC.

/sys/kernel/debug/hisi_sec2/<bdf>/sec_dfx/send_cnt

Defined on filedebugfs-hisi-sec

Dump the total number of sent requests.Available for both PF and VF, and take no other effect on SEC.

/sys/kernel/debug/hisi_zip/<bdf>/alg_qos

Defined on filedebugfs-hisi-zip

The <bdf> is related the function for PF and VF.ZIP driver supports to configure each function’s QoS, the driversupports to write <bdf> value to alg_qos in the host. Such as“echo <bdf> value > alg_qos”. The qos value is 1~1000, means1/1000~1000/1000 of total QoS. The driver reading alg_qos toget related QoS in the host and VM, Such as “cat alg_qos”.

/sys/kernel/debug/hisi_zip/<bdf>/cap_regs

Defined on filedebugfs-hisi-zip

Dump the values of the qm and zip capability bit registers andsupport the query of device specifications to facilitate fault locating.Available for both PF and VF, and take no other effect on ZIP.

/sys/kernel/debug/hisi_zip/<bdf>/clear_enable

Defined on filedebugfs-hisi-zip

Compression/decompression core debug registers read clearcontrol. 1 means enable register read clear, otherwise 0.Writing to this file has no functional effect, only enable ordisable counters clear after reading of these registers.Only available for PF.

/sys/kernel/debug/hisi_zip/<bdf>/comp_core[01]/regs

Defined on filedebugfs-hisi-zip

Dump of compression cores related debug registers.Only available for PF.

/sys/kernel/debug/hisi_zip/<bdf>/current_qm

Defined on filedebugfs-hisi-zip

One ZIP controller has one PF and multiple VFs, each functionhas a QM. Select the QM which below qm refers to.Only available for PF.

/sys/kernel/debug/hisi_zip/<bdf>/decomp_core[0-5]/regs

Defined on filedebugfs-hisi-zip

Dump of decompression cores related debug registers.Only available for PF.

/sys/kernel/debug/hisi_zip/<bdf>/qm/abnormal_irq

Defined on filedebugfs-hisi-zip

Dump the number of interrupts for QM abnormal event.Available for both PF and VF, and take no other effect on ZIP.

/sys/kernel/debug/hisi_zip/<bdf>/qm/aeq_irq

Defined on filedebugfs-hisi-zip

Dump the number of QM async event queue interrupts.Available for both PF and VF, and take no other effect on ZIP.

/sys/kernel/debug/hisi_zip/<bdf>/qm/clear_enable

Defined on filedebugfs-hisi-zip

QM debug registers(regs) read clear control. 1 means enableregister read clear, otherwise 0.Writing to this file has no functional effect, only enable ordisable counters clear after reading of these registers.Only available for PF.

/sys/kernel/debug/hisi_zip/<bdf>/qm/create_qp_err

Defined on filedebugfs-hisi-zip

Dump the number of queue allocation errors.Available for both PF and VF, and take no other effect on ZIP.

/sys/kernel/debug/hisi_zip/<bdf>/qm/current_q

Defined on filedebugfs-hisi-zip

One QM may contain multiple queues. Select specific queue toshow its debug registers in above regs.Only available for PF.

/sys/kernel/debug/hisi_zip/<bdf>/qm/dev_state

Defined on filedebugfs-hisi-zip

Dump the stop queue status of the QM. The default value is 0,if dev_timeout is set, when stop queue fails, the dev_statewill return non-zero value. Available for both PF and VF,and take no other effect on ZIP.

/sys/kernel/debug/hisi_zip/<bdf>/qm/dev_timeout

Defined on filedebugfs-hisi-zip

Set the wait time when stop queue fails. Available for both PFand VF, and take no other effect on ZIP.0: not wait(default), others value: wait dev_timeout * 20 microsecond.

/sys/kernel/debug/hisi_zip/<bdf>/qm/diff_regs

Defined on filedebugfs-hisi-zip

QM debug registers(regs) read hardware register value. Thisnode is used to show the change of the qm registers value. Thisnode can be help users to check the change of register values.

/sys/kernel/debug/hisi_zip/<bdf>/qm/err_irq

Defined on filedebugfs-hisi-zip

Dump the number of invalid interrupts forQM task completion.Available for both PF and VF, and take no other effect on ZIP.

/sys/kernel/debug/hisi_zip/<bdf>/qm/mb_err

Defined on filedebugfs-hisi-zip

Dump the number of failed QM mailbox commands.Available for both PF and VF, and take no other effect on ZIP.

/sys/kernel/debug/hisi_zip/<bdf>/qm/qm_state

Defined on filedebugfs-hisi-zip

Dump the state of the device.0: busy, 1: idle.Only available for PF, and take no other effect on ZIP.

/sys/kernel/debug/hisi_zip/<bdf>/qm/regs

Defined on filedebugfs-hisi-zip

Dump of QM related debug registers.Available for PF and VF in host. VF in guest currently onlyhas one debug register.

/sys/kernel/debug/hisi_zip/<bdf>/qm/status

Defined on filedebugfs-hisi-zip

Dump the status of the QM.Two states: work, stop.Available for both PF and VF, and take no other effect on ZIP.

/sys/kernel/debug/hisi_zip/<bdf>/zip_dfx/diff_regs

Defined on filedebugfs-hisi-zip

ZIP debug registers(regs) read hardware register value. Thisnode is used to show the change of the registers value. thisnode can be help users to check the change of register values.

/sys/kernel/debug/hisi_zip/<bdf>/zip_dfx/err_bd_cnt

Defined on filedebugfs-hisi-zip

Dump the total number of BD type error requeststo be received.Available for both PF and VF, and take no other effect on ZIP.

/sys/kernel/debug/hisi_zip/<bdf>/zip_dfx/recv_cnt

Defined on filedebugfs-hisi-zip

Dump the total number of received requests.Available for both PF and VF, and take no other effect on ZIP.

/sys/kernel/debug/hisi_zip/<bdf>/zip_dfx/send_busy_cnt

Defined on filedebugfs-hisi-zip

Dump the total number of requests receivedwith returning busy.Available for both PF and VF, and take no other effect on ZIP.

/sys/kernel/debug/hisi_zip/<bdf>/zip_dfx/send_cnt

Defined on filedebugfs-hisi-zip

Dump the total number of sent requests.Available for both PF and VF, and take no other effect on ZIP.

/sys/kernel/debug/hyperv/<UUID>/delay/fuzz_test_buffer_interrupt_delay

Defined on filedebugfs-hyperv

Fuzz testing buffer interrupt delay value between 0 - 1000

microseconds (inclusive).

Users:

Debugging tools

/sys/kernel/debug/hyperv/<UUID>/delay/fuzz_test_message_delay

Defined on filedebugfs-hyperv

Fuzz testing message delay value between 0 - 1000 microseconds

(inclusive).

Users:

Debugging tools

/sys/kernel/debug/hyperv/<UUID>/fuzz_test_state

Defined on filedebugfs-hyperv

Fuzz testing status of a vmbus device, whether its in an ONstate or a OFF state

Users:

Debugging tools

/sys/kernel/debug/ideapad/cfg

Defined on filedebugfs-ideapad

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

/sys/kernel/debug/ideapad/status

Defined on filedebugfs-ideapad

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

/sys/kernel/debug/iio/iio:deviceX/backendY/direct_reg_access

Defined on filedebugfs-iio-backend

Directly access the registers of backend Y. Typical usage is:

Reading address 0x50echo 0x50 > direct_reg_accesscat direct_reg_access

Writing address 0x50echo 0x50 0x3 > direct_reg_access//readback address 0x50cat direct_reg_access

/sys/kernel/debug/iio/iio:deviceX/backendY/name

Defined on filedebugfs-iio-backend

Name of Backend Y connected to device X.

/sys/kernel/debug/iio/iio:deviceX/calibration_table_dump

Defined on filedebugfs-iio-ad9467

This dumps the calibration table that was filled during thedigital interface tuning process.

/sys/kernel/debug/iio/iio:deviceX/in_voltageY_test_mode

Defined on filedebugfs-iio-ad9467

Writing to this file will initiate one of available test tone onchannel Y. Reading it, shows which test is running. In caseswhere an IIO backend is available and supports the test tone,additional information about the data correctness is given.

/sys/kernel/debug/iio/iio:deviceX/in_voltage_test_mode_available

Defined on filedebugfs-iio-ad9467

List all the available test tones:- off- midscale_short- pos_fullscale- neg_fullscale- checkerboard- prbs23- prbs9- one_zero_toggle- user- bit_toggle- sync- one_bit_high- mixed_bit_frequency- ramp

Note that depending on the actual device being used, some of theabove might not be available (and they won’t be listed whenreading the file).

/sys/kernel/debug/iommu/amd/devid

Defined on filedebugfs-amd-iommu

This file provides read/write access for user input. Users specify thedevice ID, which can be used to dump IOMMU data structures such as theinterrupt remapping table and device table.

Example:

  1. $ echo 0000:01:00.0 > /sys/kernel/debug/iommu/amd/devid$ cat /sys/kernel/debug/iommu/amd/devid

    Output:

    0000:01:00.0
  2. $ echo 01:00.0 > /sys/kernel/debug/iommu/amd/devid$ cat /sys/kernel/debug/iommu/amd/devid

    Output:

    0000:01:00.0

/sys/kernel/debug/iommu/amd/devtbl

Defined on filedebugfs-amd-iommu

This file is a read-only output file containing the device table entryfor the device ID provided in /sys/kernel/debug/iommu/amd/devid.

Example:

$ cat /sys/kernel/debug/iommu/amd/devtbl

Output:

DeviceId             QWORD[3]         QWORD[2]         QWORD[1]         QWORD[0] iommu0000:01:00.0 0000000000000000 20000001373b8013 0000000000000038 6000000114d7b603 iommu3

/sys/kernel/debug/iommu/amd/iommu<x>/capability

Defined on filedebugfs-amd-iommu

This file provides read/write access for user input. Users specify thecapability register offset for iommu<x>, and the file outputs thecorresponding capability register value of iommu<x>.

Example:

$ echo "0x10" > /sys/kernel/debug/iommu/amd/iommu00/capability$ cat /sys/kernel/debug/iommu/amd/iommu00/capability

Output:

Offset:0x10 Value:0x00203040

/sys/kernel/debug/iommu/amd/iommu<x>/cmdbuf

Defined on filedebugfs-amd-iommu

This file is a read-only output file containing iommu<x> commandbuffer entries.

Examples:

$ cat /sys/kernel/debug/iommu/amd/iommu<x>/cmdbuf

Output:

CMD Buffer Head Offset:339 Tail Offset:339  0: 00835001 10000001 00003c00 00000000  1: 00000000 30000005 fffff003 7fffffff  2: 00835001 10000001 00003c01 00000000  3: 00000000 30000005 fffff003 7fffffff  4: 00835001 10000001 00003c02 00000000  5: 00000000 30000005 fffff003 7fffffff  6: 00835001 10000001 00003c03 00000000  7: 00000000 30000005 fffff003 7fffffff  8: 00835001 10000001 00003c04 00000000  9: 00000000 30000005 fffff003 7fffffff 10: 00835001 10000001 00003c05 00000000 11: 00000000 30000005 fffff003 7fffffff[...]

/sys/kernel/debug/iommu/amd/iommu<x>/mmio

Defined on filedebugfs-amd-iommu

This file provides read/write access for user input. Users specify theMMIO register offset for iommu<x>, and the file outputs the correspondingMMIO register value of iommu<x>

Example:

$ echo "0x18" > /sys/kernel/debug/iommu/amd/iommu00/mmio$ cat /sys/kernel/debug/iommu/amd/iommu00/mmio

Output:

Offset:0x18 Value:0x000c22000003f48d

/sys/kernel/debug/iommu/amd/irqtbl

Defined on filedebugfs-amd-iommu

This file is a read-only output file containing valid IRT table entriesfor the device ID provided in /sys/kernel/debug/iommu/amd/devid.

Example:

$ cat /sys/kernel/debug/iommu/amd/irqtbl

Output:

DeviceId 0000:01:00.0IRT[0000] 0000000000000020 0000000000000241IRT[0001] 0000000000000020 0000000000000841IRT[0002] 0000000000000020 0000000000002041IRT[0003] 0000000000000020 0000000000008041IRT[0004] 0000000000000020 0000000000020041IRT[0005] 0000000000000020 0000000000080041IRT[0006] 0000000000000020 0000000000200041IRT[0007] 0000000000000020 0000000000800041[...]

/sys/kernel/debug/iommu/intel/<bdf>/domain_translation_struct

Defined on filedebugfs-intel-iommu

This file dumps a specified page table of Intel IOMMUin legacy mode or scalable mode.

For a device that only supports legacy mode, dump itspage table by the debugfs file in the debugfs devicedirectory. e.g./sys/kernel/debug/iommu/intel/0000:00:02.0/domain_translation_struct.

For a device that supports scalable mode, dump thepage table of specified pasid by the debugfs file inthe debugfs pasid directory. e.g./sys/kernel/debug/iommu/intel/0000:00:02.0/1/domain_translation_struct.

Examples in Kabylake:

1) Dump the page table of device "0000:00:02.0" that only supports legacy mode.$ sudo cat /sys/kernel/debug/iommu/intel/0000:00:02.0/domain_translation_structDevice 0000:00:02.0 @0x1017f8000IOVA_PFN                PML5E                   PML4E0x000000008d800 |       0x0000000000000000      0x00000001017f90030x000000008d801 |       0x0000000000000000      0x00000001017f90030x000000008d802 |       0x0000000000000000      0x00000001017f9003PDPE                    PDE                     PTE0x00000001017fa003      0x00000001017fb003      0x000000008d8000030x00000001017fa003      0x00000001017fb003      0x000000008d8010030x00000001017fa003      0x00000001017fb003      0x000000008d802003[...]2) Dump the page table of device "0000:00:0a.0" with PASID "1" thatsupports scalable mode.$ sudo cat /sys/kernel/debug/iommu/intel/0000:00:0a.0/1/domain_translation_structDevice 0000:00:0a.0 with pasid 1 @0x10c112000IOVA_PFN                PML5E                   PML4E0x0000000000000 |       0x0000000000000000      0x000000010df930030x0000000000001 |       0x0000000000000000      0x000000010df930030x0000000000002 |       0x0000000000000000      0x000000010df93003PDPE                    PDE                     PTE0x0000000106ae6003      0x0000000104b38003      0x0000000147c008030x0000000106ae6003      0x0000000104b38003      0x0000000147c018030x0000000106ae6003      0x0000000104b38003      0x0000000147c02803[...]

/sys/kernel/debug/iommu/intel/dmar_perf_latency

Defined on filedebugfs-intel-iommu

This file is used to control and show counts ofexecution time ranges for various types per DMAR.

Firstly, write a value to/sys/kernel/debug/iommu/intel/dmar_perf_latencyto enable sampling.

The possible values are as follows:

  • 0 - disable sampling all latency data

  • 1 - enable sampling IOTLB invalidation latency data

  • 2 - enable sampling devTLB invalidation latency data

  • 3 - enable sampling intr entry cache invalidation latency data

Next, read /sys/kernel/debug/iommu/intel/dmar_perf_latency givesa snapshot of sampling result of all enabled monitors.

Examples in Kabylake:

1) Disable sampling all latency data:$ sudo echo 0 > /sys/kernel/debug/iommu/intel/dmar_perf_latency2) Enable sampling IOTLB invalidation latency data$ sudo echo 1 > /sys/kernel/debug/iommu/intel/dmar_perf_latency$ sudo cat /sys/kernel/debug/iommu/intel/dmar_perf_latencyIOMMU: dmar0 Register Base Address: 26be37000                <0.1us   0.1us-1us    1us-10us  10us-100us   100us-1msinv_iotlb           0           0           0           0           0                1ms-10ms      >=10ms     min(us)     max(us) average(us)inv_iotlb           0           0           0           0           0[...]IOMMU: dmar2 Register Base Address: fed91000                <0.1us   0.1us-1us    1us-10us  10us-100us   100us-1msinv_iotlb           0           0          18           0           0                1ms-10ms      >=10ms     min(us)     max(us) average(us)inv_iotlb           0           0           2           2           23) Enable sampling devTLB invalidation latency data$ sudo echo 2 > /sys/kernel/debug/iommu/intel/dmar_perf_latency$ sudo cat /sys/kernel/debug/iommu/intel/dmar_perf_latencyIOMMU: dmar0 Register Base Address: 26be37000                <0.1us   0.1us-1us    1us-10us  10us-100us   100us-1msinv_devtlb           0           0           0           0           0                >=10ms     min(us)     max(us) average(us)inv_devtlb           0           0           0           0[...]

/sys/kernel/debug/iommu/intel/dmar_translation_struct

Defined on filedebugfs-intel-iommu

This file dumps Intel IOMMU DMA remapping tables, suchas root table, context table, PASID directory and PASIDtable entries in debugfs. For legacy mode, it doesn’tsupport PASID, and hence PASID field is defaulted to‘-1’ and other PASID related fields are invalid.

Example in Kabylake:

$ sudo cat /sys/kernel/debug/iommu/intel/dmar_translation_structIOMMU dmar1: Root Table Address: 0x103027000B.D.F   Root_entry00:02.0 0x0000000000000000:0x000000010303e001Context_entry0x0000000000000102:0x000000010303f005PASID   PASID_table_entry-1      0x0000000000000000:0x0000000000000000:0x0000000000000000IOMMU dmar0: Root Table Address: 0x103028000B.D.F   Root_entry00:0a.0 0x0000000000000000:0x00000001038a7001Context_entry0x0000000000000000:0x0000000103220e7dPASID   PASID_table_entry0       0x0000000000000000:0x0000000000800002:0x00000001038a5089[...]

/sys/kernel/debug/iommu/intel/invalidation_queue

Defined on filedebugfs-intel-iommu

This file exports invalidation queue internals of eachIOMMU device.

Example in Kabylake:

$ sudo cat /sys/kernel/debug/iommu/intel/invalidation_queueInvalidation queue on IOMMU: dmar0Base: 0x10022e000      Head: 20        Tail: 20Index          qw0                    qw1                     qw2    0   0000000000000014        0000000000000000        0000000000000000    1   0000000200000025        0000000100059c04        0000000000000000    2   0000000000000014        0000000000000000        0000000000000000               qw3                  status        0000000000000000        0000000000000000        0000000000000000        0000000000000000        0000000000000000        0000000000000000[...]Invalidation queue on IOMMU: dmar1Base: 0x10026e000      Head: 32        Tail: 32Index           qw0                     qw1                   status    0   0000000000000004        0000000000000000         0000000000000000    1   0000000200000025        0000000100059804         0000000000000000    2   0000000000000011        0000000000000000         0000000000000000[...]

/sys/kernel/debug/iommu/intel/iommu_regset

Defined on filedebugfs-intel-iommu

This file dumps all the register contents for each IOMMU device.

Example in Kabylake:

$ sudo cat /sys/kernel/debug/iommu/intel/iommu_regsetIOMMU: dmar0 Register Base Address: 26be37000Name                    Offset          ContentsVER                     0x00            0x0000000000000010GCMD                    0x18            0x0000000000000000GSTS                    0x1c            0x00000000c7000000FSTS                    0x34            0x0000000000000000FECTL                   0x38            0x0000000000000000[...]IOMMU: dmar1 Register Base Address: fed90000Name                    Offset          ContentsVER                     0x00            0x0000000000000010GCMD                    0x18            0x0000000000000000GSTS                    0x1c            0x00000000c7000000FSTS                    0x34            0x0000000000000000FECTL                   0x38            0x0000000000000000[...]IOMMU: dmar2 Register Base Address: fed91000Name                    Offset          ContentsVER                     0x00            0x0000000000000010GCMD                    0x18            0x0000000000000000GSTS                    0x1c            0x00000000c7000000FSTS                    0x34            0x0000000000000000FECTL                   0x38            0x0000000000000000[...]

/sys/kernel/debug/iommu/intel/ir_translation_struct

Defined on filedebugfs-intel-iommu

This file dumps the table entries for Interruptremapping and Interrupt posting.

Example in Kabylake:

$ sudo cat /sys/kernel/debug/iommu/intel/ir_translation_structRemapped Interrupt supported on IOMMU: dmar0IR table address:100900000Entry SrcID   DstID    Vct IRTE_high           IRTE_low0     00:0a.0 00000080 24  0000000000040050    000000800024000d1     00:0a.0 00000001 ef  0000000000040050    0000000100ef000dRemapped Interrupt supported on IOMMU: dmar1IR table address:100300000Entry SrcID   DstID    Vct IRTE_high           IRTE_low0     00:02.0 00000002 26  0000000000040010    000000020026000d[...]****Posted Interrupt supported on IOMMU: dmar0IR table address:100900000Entry SrcID   PDA_high PDA_low  Vct IRTE_high          IRTE_low

/sys/kernel/debug/moxtet/input

Defined on filedebugfs-moxtet

(Read) Read input from the shift registers, in hexadecimal.Returns N+1 bytes, where N is the number of Moxtet connectedmodules. The first byte is from the CPU board itself.

Example:

101214

10

CPU board with SD card

12

2 = PCIe module, 1 = IRQ not active

14

4 = Peridot module, 1 = IRQ not active

/sys/kernel/debug/moxtet/output

Defined on filedebugfs-moxtet

(RW) Read last written value to the shift registers, inhexadecimal, or write values to the shift registers, alsoin hexadecimal.

Example:

0102

01

01 was last written, or is to be written, to thefirst module’s shift register

02

the same for second module

/sys/kernel/debug/msi-wmi-platform-<wmi_device_name>/*

Defined on filedebugfs-msi-wmi-platform

This file allows to execute the associated WMI method with the same name.

To start the execution, write a buffer containing the method argumentsat file offset 0. Partial writes or writes at a different offset are notsupported.

The buffer returned by the WMI method can then be read from the file.

SeeMSI WMI Platform Features driver (msi-wmi-platform) for details.

/sys/kernel/debug/nx-crypto/*

Defined on filedebugfs-pfo-nx-crypto

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

Error Detection

errors:

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

last_error:

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

last_error_pid:

The process ID of the process who received the most recent error from thehcall.

Device Use

aes_bytes:

The total number of bytes encrypted using AES in any of the driver’ssupported modes.

aes_ops:

The total number of AES operations submitted to the hardware.

sha256_bytes:

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

sha256_ops:

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

sha512_bytes:

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

sha512_ops:

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

/sys/kernel/debug/olpc-ec/cmd

Defined on filedebugfs-olpc

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

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

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

/sys/kernel/debug/pcie_ptm_*/context_update

Defined on filedebugfs-pcie-ptm

(RW) Control the PTM context update mode. Applicable only forEndpoint controllers.

Following values are supported:

  • auto = PTM context auto update trigger for every 10ms

  • manual = PTM context manual update. Writing ‘manual’ to this

    file triggers PTM context update (default)

/sys/kernel/debug/pcie_ptm_*/context_valid

Defined on filedebugfs-pcie-ptm

(RW) Control the PTM context validity (local clock timing).Applicable only for Root Complex controllers. PTM context isinvalidated by hardware if the Root Complex enters low powermode or changes link frequency.

Following values are supported:

  • 0 = PTM context invalid (default)

  • 1 = PTM context valid

/sys/kernel/debug/pcie_ptm_*/local_clock

Defined on filedebugfs-pcie-ptm

(RO) PTM local clock in nanoseconds. Applicable for both RootComplex and Endpoint controllers.

/sys/kernel/debug/pcie_ptm_*/master_clock

Defined on filedebugfs-pcie-ptm

(RO) PTM master clock in nanoseconds. Applicable only forEndpoint controllers.

/sys/kernel/debug/pcie_ptm_*/t1

Defined on filedebugfs-pcie-ptm

(RO) PTM T1 timestamp in nanoseconds. Applicable only forEndpoint controllers.

/sys/kernel/debug/pcie_ptm_*/t2

Defined on filedebugfs-pcie-ptm

(RO) PTM T2 timestamp in nanoseconds. Applicable only forRoot Complex controllers.

/sys/kernel/debug/pcie_ptm_*/t3

Defined on filedebugfs-pcie-ptm

(RO) PTM T3 timestamp in nanoseconds. Applicable only forRoot Complex controllers.

/sys/kernel/debug/pcie_ptm_*/t4

Defined on filedebugfs-pcie-ptm

(RO) PTM T4 timestamp in nanoseconds. Applicable only forEndpoint controllers.

/sys/kernel/debug/powerpc/memtrace

Defined on fileppc-memtrace

This folder contains the relevant debugfs files for thehardware trace macro to use. CONFIG_PPC64_HARDWARE_TRACINGmust be set.

/sys/kernel/debug/powerpc/memtrace/<node-id>

Defined on fileppc-memtrace

This directory contains information about the removed memoryfrom the specific NUMA node.

/sys/kernel/debug/powerpc/memtrace/<node-id>/size

Defined on fileppc-memtrace

This contains the size of the memory removed from the node.

/sys/kernel/debug/powerpc/memtrace/<node-id>/start

Defined on fileppc-memtrace

This contains the start address of the removed memory.

/sys/kernel/debug/powerpc/memtrace/<node-id>/trace

Defined on fileppc-memtrace

This is where the hardware trace macro will output the traceit generates.

/sys/kernel/debug/powerpc/memtrace/enable

Defined on fileppc-memtrace

Write an integer containing the size in bytes of the memoryyou want removed from each NUMA node to this file - it must bealigned to the memblock size. This amount of RAM will be removedfrom each NUMA node in the kernel mappings and the followingdebugfs files will be created. Once memory is successfullyremoved from each node, the following files are created. Tore-add memory to the kernel, echo 0 into this file (it will beautomatically onlined).

/sys/kernel/debug/qat_<device>_<BDF>/cnv_errors

Defined on filedebugfs-driver-qat

(RO) Read returns, for each Acceleration Engine (AE), the numberof errors and the type of the last error detected by the devicewhen performing verified compression.Reported counters:

<N>: Number of Compress and Verify (CnV) errors and type     of the last CnV error detected by Acceleration     Engine N.

/sys/kernel/debug/qat_<device>_<BDF>/fw_counters

Defined on filedebugfs-driver-qat

(RO) Read returns the number of requests sent to the FW and the number of responsesreceived from the FW for each Acceleration EngineReported firmware counters:

<N>: Number of requests sent from Acceleration Engine N to FW and responses     Acceleration Engine N received from FW

/sys/kernel/debug/qat_<device>_<BDF>/heartbeat/config

Defined on filedebugfs-driver-qat

(RW) Read returns value of the Heartbeat update period.Write to the file changes this period value.

This period should reflect planned polling interval of devicehealth status. High frequency Heartbeat monitoring wastes CPU cyclesbut minimizes the customer’s system downtime. Also, if there arelarge service requests that take some time to complete, high frequencyHeartbeat monitoring could result in false reports of unresponsivenessand in those cases, period needs to be increased.

This parameter is effective only for c3xxx, c62x, dh895xcc devices.4xxx has this value internally fixed to 200ms.

Default value is set to 500. Minimal allowed value is 200.All values are expressed in milliseconds.

/sys/kernel/debug/qat_<device>_<BDF>/heartbeat/inject_error

Defined on filedebugfs-driver-qat

(WO) Write to inject an error that simulates an heartbeatfailure. This is to be used for testing purposes.

After writing this file, the driver stops arbitration on arandom engine and disables the fetching of heartbeat counters.If a workload is running on the device, a job submitted to theaccelerator might not get a response and a read of theheartbeat/status attribute might report -1, i.e. deviceunresponsive.The error is unrecoverable thus the device must be restarted torestore its functionality.

This attribute is available only when the kernel is built withCONFIG_CRYPTO_DEV_QAT_ERROR_INJECTION=y.

A write of 1 enables error injection.

The following example shows how to enable error injection:

# cd /sys/kernel/debug/qat_<device>_<BDF># echo 1 > heartbeat/inject_error

/sys/kernel/debug/qat_<device>_<BDF>/heartbeat/queries_failed

Defined on filedebugfs-driver-qat

(RO) Read returns the number of times the device became unresponsive.

Attribute returns value of the counter which is incremented whenstatus query results negative.

/sys/kernel/debug/qat_<device>_<BDF>/heartbeat/queries_sent

Defined on filedebugfs-driver-qat

(RO) Read returns the number of times the control process checkedif the device is responsive.

Attribute returns value of the counter which is incremented onevery status query.

/sys/kernel/debug/qat_<device>_<BDF>/heartbeat/status

Defined on filedebugfs-driver-qat

(RO) Read returns the device health status.

Returns 0 when device is healthy or -1 when is unresponsiveor the query failed to send.

The driver does not monitor for Heartbeat. It is left for a userto poll the status periodically.

/sys/kernel/debug/qat_<device>_<BDF>/pm_status

Defined on filedebugfs-driver-qat

(RO) Read returns power management information specific to theQAT device.

This attribute is only available for qat_4xxx and qat_6xxx devices.

/sys/kernel/debug/qat_<device>_<BDF>/telemetry/control

Defined on filedebugfs-driver-qat_telemetry

(RW) Enables/disables the reporting of telemetry metrics.

Allowed values to write:

  • 0: disable telemetry

  • 1: enable telemetry

  • 2, 3, 4: enable telemetry and calculate minimum, maximumand average for each counter over 2, 3 or 4 samples

Returned values:

  • 1-4: telemetry is enabled and running

  • 0: telemetry is disabled

Example.

Writing ‘3’ to this file starts the collection oftelemetry metrics. Samples are collected every second andstored in a circular buffer of size 3. These values are thenused to calculate the minimum, maximum and average for eachcounter. After enabling, counters can be retrieved throughthedevice_data file:

echo 3 > /sys/kernel/debug/qat_4xxx_0000:6b:00.0/telemetry/control

Writing ‘0’ to this file stops the collection of telemetrymetrics:

echo 0 > /sys/kernel/debug/qat_4xxx_0000:6b:00.0/telemetry/control

This attribute is only available for qat_4xxx and qat_6xxx devices.

/sys/kernel/debug/qat_<device>_<BDF>/telemetry/device_data

Defined on filedebugfs-driver-qat_telemetry

(RO) Reports device telemetry counters.Reads report metrics about performance and utilization ofa QAT device:

Field

Description

sample_cnt

number of acquisitions of telemetry datafrom the device. Reads are performedevery 1000 ms.

pci_trans_cnt

number of PCIe partial transactions

max_rd_lat

maximum logged read latency [ns] (couldbe any read operation)

rd_lat_acc_avg

average read latency [ns]

max_gp_lat

max get to put latency [ns] (only takessamples for AE0)

gp_lat_acc_avg

average get to put latency [ns]

bw_in

PCIe, write bandwidth [Mbps]

bw_out

PCIe, read bandwidth [Mbps]

re_acc_avg

average ring empty time [ns]

at_page_req_lat_avg

Address Translator(AT), average pagerequest latency [ns]

at_trans_lat_avg

AT, average page translation latency [ns]

at_max_tlb_used

AT, maximum uTLB used

util_cpr<N>

utilization of Compression slice N [%]

exec_cpr<N>

execution count of Compression slice N

util_xlt<N>

utilization of Translator slice N [%]

exec_xlt<N>

execution count of Translator slice N

util_dcpr<N>

utilization of Decompression slice N [%]

exec_dcpr<N>

execution count of Decompression slice N

util_cnv<N>

utilization of Compression and verify slice N [%]

exec_cnv<N>

execution count of Compression and verify slice N

util_dcprz<N>

utilization of Decompression slice N [%]

exec_dcprz<N>

execution count of Decompression slice N

util_pke<N>

utilization of PKE N [%]

exec_pke<N>

execution count of PKE N

util_ucs<N>

utilization of UCS slice N [%]

exec_ucs<N>

execution count of UCS slice N

util_wat<N>

utilization of Wireless Authenticationslice N [%]

exec_wat<N>

execution count of Wireless Authenticationslice N

util_wcp<N>

utilization of Wireless Cipher slice N [%]

exec_wcp<N>

execution count of Wireless Cipher slice N

util_cph<N>

utilization of Cipher slice N [%]

exec_cph<N>

execution count of Cipher slice N

util_ath<N>

utilization of Authentication slice N [%]

exec_ath<N>

execution count of Authentication slice N

cmdq_wait_cnv<N>

wait time for cmdq N to get Compression and verifyslice ownership

cmdq_exec_cnv<N>

Compression and verify slice execution time whileowned by cmdq N

cmdq_drain_cnv<N>

time taken for cmdq N to release Compression andverify slice ownership

cmdq_wait_dcprz<N>

wait time for cmdq N to get Decompressionslice N ownership

cmdq_exec_dcprz<N>

Decompression slice execution time whileowned by cmdq N

cmdq_drain_dcprz<N>

time taken for cmdq N to release Decompressionslice ownership

cmdq_wait_pke<N>

wait time for cmdq N to get PKE slice ownership

cmdq_exec_pke<N>

PKE slice execution time while owned by cmdq N

cmdq_drain_pke<N>

time taken for cmdq N to release PKE sliceownership

cmdq_wait_ucs<N>

wait time for cmdq N to get UCS slice ownership

cmdq_exec_ucs<N>

UCS slice execution time while owned by cmdq N

cmdq_drain_ucs<N>

time taken for cmdq N to release UCS sliceownership

cmdq_wait_ath<N>

wait time for cmdq N to get Authentication sliceownership

cmdq_exec_ath<N>

Authentication slice execution time while ownedby cmdq N

cmdq_drain_ath<N>

time taken for cmdq N to release Authenticationslice ownership

The telemetry report file can be read with the following command:

cat /sys/kernel/debug/qat_4xxx_0000:6b:00.0/telemetry/device_data

Ifcontrol is set to 1, only the current values of thecounters are displayed:

<counter_name> <current>

Ifcontrol is 2, 3 or 4, counters are displayed in thefollowing format:

<counter_name> <current> <min> <max> <avg>

If a device lacks of a specific accelerator, the correspondingattribute is not reported.

This attribute is only available for qat_4xxx and qat_6xxx devices.

/sys/kernel/debug/qat_<device>_<BDF>/telemetry/rp_<A/B/C/D>_data

Defined on filedebugfs-driver-qat_telemetry

(RW) Selects up to 4 Ring Pairs (RP) to monitor, one per file,and report telemetry counters related to each.

Allowed values to write:

  • 0 to<num_rps-1>:Ring pair to be monitored. The value ofnum_rps can beretrieved through/sys/bus/pci/devices/<BDF>/qat/num_rps.Seetesting/sysfs-driver-qat.

Reads report metrics about performance and utilization ofthe selected RP:

Field

Description

sample_cnt

number of acquisitions of telemetry datafrom the device. Reads are performedevery 1000 ms

rp_num

RP number associated with slot <A/B/C/D>

service_type

service associated to the RP

pci_trans_cnt

number of PCIe partial transactions

gp_lat_acc_avg

average get to put latency [ns]

bw_in

PCIe, write bandwidth [Mbps]

bw_out

PCIe, read bandwidth [Mbps]

at_glob_devtlb_hit

Message descriptor DevTLB hit rate

at_glob_devtlb_miss

Message descriptor DevTLB miss rate

tl_at_payld_devtlb_hit

Payload DevTLB hit rate

tl_at_payld_devtlb_miss

Payload DevTLB miss rate

Example.

Writing the value ‘32’ to the filerp_C_data starts thecollection of telemetry metrics for ring pair 32:

echo 32 > /sys/kernel/debug/qat_4xxx_0000:6b:00.0/telemetry/rp_C_data

Once a ring pair is selected, statistics can be read accessingthe file:

cat /sys/kernel/debug/qat_4xxx_0000:6b:00.0/telemetry/rp_C_data

Ifcontrol is set to 1, only the current values of thecounters are displayed:

<counter_name> <current>

Ifcontrol is 2, 3 or 4, counters are displayed in thefollowing format:

<counter_name> <current> <min> <max> <avg>

On QAT GEN4 devices there are 64 RPs on a PF, so the allowedvalues are 0..63. This number is absolute to the device.If Virtual Functions (VF) are used, the ring pair number canbe derived from the Bus, Device, Function of the VF:

PCI BDF/VF

RP0

RP1

RP2

RP3

0000:6b:0.1

RP 0

RP 1

RP 2

RP 3

0000:6b:0.2

RP 4

RP 5

RP 6

RP 7

0000:6b:0.3

RP 8

RP 9

RP 10

RP 11

0000:6b:0.4

RP 12

RP 13

RP 14

RP 15

0000:6b:0.5

RP 16

RP 17

RP 18

RP 19

0000:6b:0.6

RP 20

RP 21

RP 22

RP 23

0000:6b:0.7

RP 24

RP 25

RP 26

RP 27

0000:6b:1.0

RP 28

RP 29

RP 30

RP 31

0000:6b:1.1

RP 32

RP 33

RP 34

RP 35

0000:6b:1.2

RP 36

RP 37

RP 38

RP 39

0000:6b:1.3

RP 40

RP 41

RP 42

RP 43

0000:6b:1.4

RP 44

RP 45

RP 46

RP 47

0000:6b:1.5

RP 48

RP 49

RP 50

RP 51

0000:6b:1.6

RP 52

RP 53

RP 54

RP 55

0000:6b:1.7

RP 56

RP 57

RP 58

RP 59

0000:6b:2.0

RP 60

RP 61

RP 62

RP 63

The mapping is only valid for the BDFs of VFs on the host.

The service provided on a ring-pair varies depending on theconfiguration. The configuration for a given device can bequeried and set usingcfg_services.Seetesting/sysfs-driver-qat for details.

The following table reports how ring pairs are mapped to VFson the PF 0000:6b:0.0 configured forsym;asym orasym;sym:

PCI BDF/VF

RP0/service

RP1/service

RP2/service

RP3/service

0000:6b:0.1

RP 0 asym

RP 1 sym

RP 2 asym

RP 3 sym

0000:6b:0.2

RP 4 asym

RP 5 sym

RP 6 asym

RP 7 sym

0000:6b:0.3

RP 8 asym

RP 9 sym

RP10 asym

RP11 sym

...

...

...

...

...

All VFs follow the same pattern.

The following table reports how ring pairs are mapped to VFs onthe PF 0000:6b:0.0 configured fordc:

PCI BDF/VF

RP0/service

RP1/service

RP2/service

RP3/service

0000:6b:0.1

RP 0 dc

RP 1 dc

RP 2 dc

RP 3 dc

0000:6b:0.2

RP 4 dc

RP 5 dc

RP 6 dc

RP 7 dc

0000:6b:0.3

RP 8 dc

RP 9 dc

RP10 dc

RP11 dc

...

...

...

...

...

The mapping of a RP to a service can be retrieved usingrp2srv from sysfs.Seetesting/sysfs-driver-qat for details.

This attribute is only available for qat_4xxx and qat_6xxx devices.

/sys/kernel/debug/scmi/<n>/atomic_threshold_us

Defined on filedebugfs-scmi

An optional time value, expressed in microseconds, representing,on this SCMI instance <n>, the threshold above which any SCMIcommand, advertised to have an higher-than-threshold executionlatency, should not be considered for atomic mode of operation,even if requested.

Users:

Debugging, any userspace test suite

/sys/kernel/debug/scmi/<n>/instance_name

Defined on filedebugfs-scmi

The name of the underlying SCMI instance <n> described byall the debugfs accessors rooted at /sys/kernel/debug/scmi/<n>,expressed as the full name of the top DT SCMI node under whichthis SCMI instance is rooted.

Users:

Debugging, any userspace test suite

/sys/kernel/debug/scmi/<n>/raw/channels/<m>/message

Defined on filedebugfs-scmi-raw

SCMI Raw synchronous message injection/snooping facility; writea complete SCMI synchronous command message (header included)in little-endian binary format to have it sent to the configuredbackend SCMI server for instance <n> through the <m> transportchannel.Any subsequently received response can be read from this sameentry if it arrived on channel <m> within the configuredtimeout.Each write to the entry causes one command request to be builtand sent while the replies are read back one message at time(receiving an EOF at each message boundary).Channel identifier <m> matches the SCMI protocol number whichhas been associated with this transport channel in the DTdescription, with base protocol number 0x10 being the defaultchannel for this instance.Note that these per-channel entries rooted at <..>/channelsexist only if the transport is configured to have more thanone default channel.

Users:

Debugging, any userspace test suite

/sys/kernel/debug/scmi/<n>/raw/channels/<m>/message_async

Defined on filedebugfs-scmi-raw

SCMI Raw asynchronous message injection/snooping facility; writea complete SCMI asynchronous command message (header included)in little-endian binary format to have it sent to the configuredbackend SCMI server for instance <n> through the <m> transportchannel.Any subsequently received response can be read from this sameentry if it arrived on channel <m> within the configuredtimeout.Any additional delayed response received afterwards can be readfrom this same entry too if it arrived within the configuredtimeout.Each write to the entry causes one command request to be builtand sent while the replies are read back one message at time(receiving an EOF at each message boundary).Channel identifier <m> matches the SCMI protocol number whichhas been associated with this transport channel in the DTdescription, with base protocol number 0x10 being the defaultchannel for this instance.Note that these per-channel entries rooted at <..>/channelsexist only if the transport is configured to have more thanone default channel.

Users:

Debugging, any userspace test suite

/sys/kernel/debug/scmi/<n>/raw/channels/<m>/message_poll

Defined on filedebugfs-scmi-raw

SCMI Raw message injection/snooping facility using polling mode;write a complete SCMI command message (header included) inlittle-endian binary format to have it sent to the configuredbackend SCMI server for instance <n> through the <m> transportchannel, using polling mode on the reception path.(if transport is polling capable)Any subsequently received response can be read from this sameentry if it arrived on channel <m> within the configuredtimeout.Each write to the entry causes one command request to be builtand sent while the replies are read back one message at time(receiving an EOF at each message boundary).Channel identifier <m> matches the SCMI protocol number whichhas been associated with this transport channel in the DTdescription, with base protocol number 0x10 being the defaultchannel for this instance.Note that these per-channel entries rooted at <..>/channelsexist only if the transport is configured to have more thanone default channel.

Users:

Debugging, any userspace test suite

/sys/kernel/debug/scmi/<n>/raw/channels/<m>/message_poll_async

Defined on filedebugfs-scmi-raw

SCMI Raw asynchronous message injection/snooping facility usingpolling-mode; write a complete SCMI asynchronous command message(header included) in little-endian binary format to have it sentto the configured backend SCMI server for instance <n> throughthe <m> transport channel, using polling mode on the receptionpath of the immediate part of the asynchronous command.(if transport is polling capable)Any subsequently received response can be read from this sameentry if it arrived on channel <m> within the configuredtimeout.Any additional delayed response received afterwards can be readfrom this same entry too if it arrived within the configuredtimeout.Each write to the entry causes one command request to be builtand sent while the replies are read back one message at time(receiving an EOF at each message boundary).Channel identifier <m> matches the SCMI protocol number whichhas been associated with this transport channel in the DTdescription, with base protocol number 0x10 being the defaultchannel for this instance.Note that these per-channel entries rooted at <..>/channelsexist only if the transport is configured to have more thanone default channel.

Users:

Debugging, any userspace test suite

/sys/kernel/debug/scmi/<n>/raw/errors

Defined on filedebugfs-scmi-raw

SCMI Raw message errors facility; any kind of timed-out orgenerally unexpectedly received SCMI message, for instance <n>,can be read from this entry.Each read gives back one message at time (receiving an EOF ateach message boundary).

Users:

Debugging, any userspace test suite

/sys/kernel/debug/scmi/<n>/raw/message

Defined on filedebugfs-scmi-raw

SCMI Raw synchronous message injection/snooping facility; writea complete SCMI synchronous command message (header included)in little-endian binary format to have it sent to the configuredbackend SCMI server for instance <n>.Any subsequently received response can be read from this sameentry if it arrived within the configured timeout.Each write to the entry causes one command request to be builtand sent while the replies are read back one message at time(receiving an EOF at each message boundary).

Users:

Debugging, any userspace test suite

/sys/kernel/debug/scmi/<n>/raw/message_async

Defined on filedebugfs-scmi-raw

SCMI Raw asynchronous message injection/snooping facility; writea complete SCMI asynchronous command message (header included)in little-endian binary format to have it sent to the configuredbackend SCMI server for instance <n>.Any subsequently received response can be read from this sameentry if it arrived within the configured timeout.Any additional delayed response received afterwards can be readfrom this same entry too if it arrived within the configuredtimeout.Each write to the entry causes one command request to be builtand sent while the replies are read back one message at time(receiving an EOF at each message boundary).

Users:

Debugging, any userspace test suite

/sys/kernel/debug/scmi/<n>/raw/message_poll

Defined on filedebugfs-scmi-raw

SCMI Raw message injection/snooping facility using polling mode;write a complete SCMI command message (header included) inlittle-endian binary format to have it sent to the configuredbackend SCMI server for instance <n>, using polling mode onthe reception path. (if transport is polling capable)Any subsequently received response can be read from this sameentry if it arrived within the configured timeout.Each write to the entry causes one command request to be builtand sent while the replies are read back one message at time(receiving an EOF at each message boundary).

Users:

Debugging, any userspace test suite

/sys/kernel/debug/scmi/<n>/raw/message_poll_async

Defined on filedebugfs-scmi-raw

SCMI Raw asynchronous message injection/snooping facility usingpolling-mode; write a complete SCMI asynchronous command message(header included) in little-endian binary format to have it sentto the configured backend SCMI server for instance <n>, usingpolling-mode on the reception path of the immediate part of theasynchronous command. (if transport is polling capable)Any subsequently received response can be read from this sameentry if it arrived within the configured timeout.Any additional delayed response received afterwards can be readfrom this same entry too if it arrived within the configuredtimeout.Each write to the entry causes one command request to be builtand sent while the replies are read back one message at time(receiving an EOF at each message boundary).

Users:

Debugging, any userspace test suite

/sys/kernel/debug/scmi/<n>/raw/notification

Defined on filedebugfs-scmi-raw

SCMI Raw notification snooping facility; any notificationemitted by the backend SCMI server, for instance <n>, can beread from this entry.Each read gives back one message at time (receiving an EOF ateach message boundary).

Users:

Debugging, any userspace test suite

/sys/kernel/debug/scmi/<n>/raw/reset

Defined on filedebugfs-scmi-raw

SCMI Raw stack reset facility; writing a value to this entrycauses the internal queues of any kind of received message,still pending to be read out for instance <n>, to be immediatelyflushed.Can be used to reset and clean the SCMI Raw stack between todifferent test-run.

Users:

Debugging, any userspace test suite

/sys/kernel/debug/scmi/<n>/transport/is_atomic

Defined on filedebugfs-scmi

A boolean stating if the transport configured on the underlyingSCMI instance <n> is capable of atomic mode of operation.

Users:

Debugging, any userspace test suite

/sys/kernel/debug/scmi/<n>/transport/max_msg_size

Defined on filedebugfs-scmi

Max message size of allowed SCMI messages for the currentlyconfigured SCMI transport for instance <n>.

Users:

Debugging, any userspace test suite

/sys/kernel/debug/scmi/<n>/transport/max_rx_timeout_ms

Defined on filedebugfs-scmi

Timeout in milliseconds allowed for SCMI synchronous repliesfor the currently configured SCMI transport for instance <n>.

Users:

Debugging, any userspace test suite

/sys/kernel/debug/scmi/<n>/transport/rx_max_msg

Defined on filedebugfs-scmi

Max number of concurrently allowed in-flight SCMI messages forthe currently configured SCMI transport for instance <n> on theRX channels.

Users:

Debugging, any userspace test suite

/sys/kernel/debug/scmi/<n>/transport/tx_max_msg

Defined on filedebugfs-scmi

Max number of concurrently allowed in-flight SCMI messages forthe currently configured SCMI transport for instance <n> on theTX channels.

Users:

Debugging, any userspace test suite

/sys/kernel/debug/scmi/<n>/transport/type

Defined on filedebugfs-scmi

A string representing the type of transport configured for thisSCMI instance <n>.

Users:

Debugging, any userspace test suite

/sys/kernel/debug/tpmi-<n>/pfs_dump

Defined on filedebugfs-tpmi

The PFS (PM Feature Structure) table, shows details of each powermanagement feature. This includes:tpmi_id, number of entries, entry size, offset, vsec offset, lock statusand disabled status.

Users:

Debugging, any user space test suite

/sys/kernel/debug/tpmi-<n>/plr/domain<n>/status

Defined on filedebugfs-tpmi

Shows the currently active Performance Limit Reasons for die level and theindividual CPUs under the die. The contents of this file are sticky, andclearing all the statuses can be done by writing “0n” to this file.

/sys/kernel/debug/tpmi-<n>/tpmi-id-<n>/mem_dump

Defined on filedebugfs-tpmi

Shows the memory dump of the MMIO region for a TPMI ID.

Users:

Debugging, any user space test suite

/sys/kernel/debug/tpmi-<n>/tpmi-id-<n>/mem_write

Defined on filedebugfs-tpmi

Allows to write at any offset. It doesn’t check for Read/Write accessas hardware will not allow to write at read-only memory. This write isat offset multiples of 4. The format is instance,offset,contents.Example:echo 0,0x20,0xff > mem_writeecho 1,64,64 > mem_write

Users:

Debugging, any user space test suite

/sys/kernel/debug/vfio

Defined on filedebugfs-vfio

This debugfs file directory is used for debuggingof vfio devices, it’s a common directory for all vfio devices.Vfio core will create a device subdirectory under thisdirectory.

/sys/kernel/debug/vfio/<device>/migration

Defined on filedebugfs-vfio

This debugfs file directory is used for debuggingof vfio devices that support live migration.The debugfs of each vfio device that supports live migrationcould be created under this directory.

/sys/kernel/debug/vfio/<device>/migration/features

Defined on filedebugfs-vfio

Read the migration features of the vfio device.

/sys/kernel/debug/vfio/<device>/migration/hisi_acc/cmd_state

Defined on filedebugfs-hisi-migration

Used to obtain the device command sending and receivingchannel status. Returns failure or success logs based on theresults.

/sys/kernel/debug/vfio/<device>/migration/hisi_acc/dev_data

Defined on filedebugfs-hisi-migration

Read the configuration data and some status datarequired for device live migration. These data include devicestatus data, queue configuration data, some task configurationdata and device attribute data. The output format of the datais defined by the live migration driver.

/sys/kernel/debug/vfio/<device>/migration/hisi_acc/migf_data

Defined on filedebugfs-hisi-migration

Read the data from the last completed live migration.This data includes the same device status data as in “dev_data”.The migf_data is the dev_data that is migrated.

/sys/kernel/debug/vfio/<device>/migration/state

Defined on filedebugfs-vfio

Read the live migration status of the vfio device.The contents of the state file reflects the migration staterelative to those defined in the vfio_device_mig_state enum

/sys/kernel/debug/wilco_ec/h1_gpio

Defined on filedebugfs-wilco-ec

As part of Chrome OS’s FAFT (Fully Automated Firmware Testing)tests, we need to ensure that the H1 chip is properly settingsome GPIO lines. The h1_gpio attribute exposes the stateof the lines:- ENTRY_TO_FACT_MODE in BIT(0)- SPI_CHROME_SEL in BIT(1)

Output will formatted with “0x%02xn”.

/sys/kernel/debug/wilco_ec/raw

Defined on filedebugfs-wilco-ec

Write and read raw mailbox commands to the EC.

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

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

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/raw00 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 beprinted, even if some of the data is junk, and skipping bytes17 to 32. It is up to you to know how many of the first bytes ofdata are the actual response.

/sys/kernel/fadump/*

Defined on filesysfs-kernel-fadump

The /sys/kernel/fadump/* is a collection of FADump sysfsfile provide information about the configuration statusof Firmware Assisted Dump (FADump).

/sys/kernel/fadump/bootargs_append

Defined on filesysfs-kernel-fadump

read/writeThis is a special sysfs file available to setup additionalparameters to be passed to capture kernel. For HASH MMU itis exported only if RMA size higher than 768MB.

/sys/kernel/fadump/enabled

Defined on filesysfs-kernel-fadump

read onlyPrimarily used to identify whether the FADump is enabled inthe kernel or not.User: Kdump service

/sys/kernel/fadump/hotplug_ready

Defined on filesysfs-kernel-fadump

read onlyKdump udev rule re-registers fadump on memory add/remove events,primarily to update the elfcorehdr. This sysfs indicates thekdump udev rule that fadump re-registration is not required onmemory add/remove events because elfcorehdr is now prepared inthe second/fadump kernel.User: kexec-tools

/sys/kernel/fadump/mem_reserved

Defined on filesysfs-kernel-fadump

read onlyProvide information about the amount of memory reserved byFADump to save the crash dump in bytes.

/sys/kernel/fadump/registered

Defined on filesysfs-kernel-fadump

read/writeHelps to control the dump collect feature from userspace.Setting 1 to this file enables the system to collect thedump and 0 to disable it.User: Kdump service

/sys/kernel/fadump/release_mem

Defined on filesysfs-kernel-fadump

write onlyThis is a special sysfs file and only available whenthe system is booted to capture the vmcore using FADump.It is used to release the memory reserved by FADump tosave the crash dump.

/sys/kernel/fscaps

Defined on filesysfs-kernel-fscaps

Shows whether file system capabilities are honoredwhen executing a binary

/sys/kernel/hardlockup_count

Defined on filesysfs-kernel-hardlockup_count

Shows how many times the system has detected a hard lockup since last boot.Available only if CONFIG_HARDLOCKUP_DETECTOR is enabled.

/sys/kernel/iommu_groups/

Defined on filesysfs-kernel-iommu_groups

/sys/kernel/iommu_groups/ contains a number of sub-directories, each representing an IOMMU group. Thename of the sub-directory matches theiommu_group_id()for the group, which is an integer value. Within eachsubdirectory is another directory named “devices” withlinks 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 morecommon name for the group.

/sys/kernel/iommu_groups/<grp_id>/type

Defined on filesysfs-kernel-iommu_groups

/sys/kernel/iommu_groups/<grp_id>/type shows the type of defaultdomain in use by iommu for this group. See include/linux/iommu.hfor possible read values. A privileged user could request kernel tochange the group type by writing to this file. Valid write values:

DMA

All the DMA transactions from the device in this groupare translated by the iommu.

DMA-FQ

As above, but using batched invalidation to lazilyremove translations after use. This may offer reducedoverhead at the cost of reduced memory protection.

identity

All the DMA transactions from the device in this groupare not translated by the iommu. Maximum performancebut zero protection.

auto

Change to the type the device was booted with.

The default domain type of a group may be modified only when

  • The device in the group is not bound to any device driver.So, the users must unbind the appropriate driver beforechanging the default domain type.

Unbinding a device driver will take away the driver’s controlover the device and if done on devices that host root filesystem could lead to catastrophic effects (the users mightneed to reboot the machine to get it to normal state). So, it’sexpected that the users understand what they’re doing.

/sys/kernel/iommu_groups/reserved_regions

Defined on filesysfs-kernel-iommu_groups

/sys/kernel/iommu_groups/reserved_regions list IOVAregions that are reserved. Not necessarily allreserved regions are listed. This is typically used tooutput direct-mapped, MSI, non mappable regions. Eachregion is described on a single line: the 1st field isthe base IOVA, the second is the end IOVA and the thirdfield describes the type of the region.

Since kernel 5.3, in case an RMRR is used only by graphics orUSB devices it is now exposed as “direct-relaxable” insteadof “direct”. In device assignment use case, for instance,those RMRR are considered to be relaxable and safe.

/sys/kernel/irq

Defined on filesysfs-kernel-irq

Directory containing information about the system’s IRQs.Specifically, data from the associatedstructirq_desc.The information here is similar to that in /proc/interruptsbut in a more machine-friendly format. This directory containsone subdirectory for each Linux IRQ number.

/sys/kernel/irq/<irq>/actions

Defined on filesysfs-kernel-irq

The IRQ action chain. A comma-separated list of zero or moredevice names associated with this interrupt.

/sys/kernel/irq/<irq>/chip_name

Defined on filesysfs-kernel-irq

Human-readable chip name supplied by the associated devicedriver.

/sys/kernel/irq/<irq>/hwirq

Defined on filesysfs-kernel-irq

When interrupt translation domains are used, this file containsthe underlying hardware IRQ number used for this Linux IRQ.

/sys/kernel/irq/<irq>/name

Defined on filesysfs-kernel-irq

Human-readable flow handler name as defined by the irq chipdriver.

/sys/kernel/irq/<irq>/per_cpu_count

Defined on filesysfs-kernel-irq

The number of times the interrupt has fired since boot. Thisis a comma-separated list of counters; one per CPU in CPU idorder. NOTE: This file consistently shows counters for allCPU ids. This differs from the behavior of /proc/interruptswhich only shows counters for online CPUs.

/sys/kernel/irq/<irq>/type

Defined on filesysfs-kernel-irq

The type of the interrupt. Either the string ‘level’ or ‘edge’.

/sys/kernel/irq/<irq>/wakeup

Defined on filesysfs-kernel-irq

The wakeup state of the interrupt. Either the string‘enabled’ or ‘disabled’.

/sys/kernel/kexec/*

Defined on filesysfs-kernel-kexec-kdump

The /sys/kernel/kexec/* directory contains sysfs filesthat provide information about the configuration statusof kexec and kdump.

/sys/kernel/kexec/crash_cma_ranges

Defined on filesysfs-kernel-kexec-kdump

read onlyProvides information about the memory ranges reserved fromthe Contiguous Memory Allocator (CMA) area that are allocatedto the crash (kdump) kernel. It lists the start and end physicaladdresses of CMA regions assigned for crashkernel use.User: kdump service

/sys/kernel/kexec/crash_elfcorehdr_size

Defined on filesysfs-kernel-kexec-kdump

read onlyIndicates the preferred size of the memory buffer for theELF core header used by the crash (kdump) kernel. It defineshow much space is needed to hold metadata about the crashedsystem, including CPU and memory information. This informationis used by the user space utility kexec to support updating thein-kernel kdump image during hotplug operations.User: Kexec tools

/sys/kernel/kexec/crash_loaded

Defined on filesysfs-kernel-kexec-kdump

read onlyIndicates whether a crash (kdump) kernel is currentlyloaded into memory. It shows 1 if a crash kernel has beensuccessfully loaded for panic handling, or 0 if no crashkernel is present.User: Kexec tools, Kdump service

/sys/kernel/kexec/crash_size

Defined on filesysfs-kernel-kexec-kdump

read/writeShows the amount of memory reserved for loading the crash(kdump) kernel. It reports the size, in bytes, of thecrash kernel area defined by the crashkernel= parameter.This interface also allows reducing the crashkernelreservation by writing a smaller value, and the reclaimedspace is added back to the system RAM.User: Kdump service

/sys/kernel/kexec/loaded

Defined on filesysfs-kernel-kexec-kdump

read onlyIndicates whether a new kernel image has been loadedinto memory using the kexec system call. It shows 1 ifa kexec image is present and ready to boot, or 0 if noneis loaded.User: kexec tools, kdump service

/sys/kernel/livepatch

Defined on filesysfs-kernel-livepatch

Interface for kernel live patching

The /sys/kernel/livepatch directory contains subdirectories foreach loaded live patch module.

/sys/kernel/livepatch/<patch>

Defined on filesysfs-kernel-livepatch

The patch directory contains subdirectories for each kernelobject (vmlinux or a module) in which it patched functions.

/sys/kernel/livepatch/<patch>/<object>

Defined on filesysfs-kernel-livepatch

The object directory contains subdirectories for each functionthat is patched within the object.

/sys/kernel/livepatch/<patch>/<object>/<function,sympos>

Defined on filesysfs-kernel-livepatch

The function directory contains attributes regarding theproperties and state of the patched function.

The directory name contains the patched function name and asympos number corresponding to the nth occurrence of the symbolname in kallsyms for the patched object.

There are currently no such attributes.

/sys/kernel/livepatch/<patch>/<object>/patched

Defined on filesysfs-kernel-livepatch

An attribute which indicates whether the object is currentlypatched.

/sys/kernel/livepatch/<patch>/enabled

Defined on filesysfs-kernel-livepatch

A writable attribute that indicates whether the patchedcode is currently applied. Writing 0 will disable the patchwhile writing 1 will re-enable the patch.

/sys/kernel/livepatch/<patch>/force

Defined on filesysfs-kernel-livepatch

A writable attribute that allows administrator to affect thecourse of an existing transition. Writing 1 clearsTIF_PATCH_PENDING flag of all tasks and thus forces the tasks tothe patched or unpatched state. Administrator should notuse this feature without a clearance from a patchdistributor. Removal (rmmod) of patch modules is permanentlydisabled when the feature is used. SeeLivepatch for more information.

/sys/kernel/livepatch/<patch>/replace

Defined on filesysfs-kernel-livepatch

An attribute which indicates whether the patch supportsatomic-replace.

/sys/kernel/livepatch/<patch>/stack_order

Defined on filesysfs-kernel-livepatch

This attribute specifies the sequence in which live patch modulesare applied to the system. If multiple live patches modify the samefunction, the implementation with the biggest ‘stack_order’ numberis used, unless a transition is currently in progress.

/sys/kernel/livepatch/<patch>/transition

Defined on filesysfs-kernel-livepatch

An attribute which indicates whether the patch is currently intransition.

/sys/kernel/mm

Defined on filesysfs-kernel-mm

/sys/kernel/mm/ should contain any and all VMrelated information in /sys/kernel/.

/sys/kernel/mm/cma/

Defined on filesysfs-kernel-mm-cma

/sys/kernel/mm/cma/ contains a subdirectory for each CMAheap name (also sometimes called CMA areas).

Each CMA heap subdirectory (that is, each/sys/kernel/mm/cma/<cma-heap-name> directory) contains thefollowing items:

alloc_pages_successalloc_pages_fail

/sys/kernel/mm/cma/<cma-heap-name>/alloc_pages_fail

Defined on filesysfs-kernel-mm-cma

the number of pages CMA API failed to allocate

/sys/kernel/mm/cma/<cma-heap-name>/alloc_pages_success

Defined on filesysfs-kernel-mm-cma

the number of pages CMA API succeeded to allocate

/sys/kernel/mm/cma/<cma-heap-name>/available_pages

Defined on filesysfs-kernel-mm-cma

The number of pages in the CMA area that are stillavailable for CMA allocation.

/sys/kernel/mm/cma/<cma-heap-name>/release_pages_success

Defined on filesysfs-kernel-mm-cma

the number of pages CMA API succeeded to release

/sys/kernel/mm/cma/<cma-heap-name>/total_pages

Defined on filesysfs-kernel-mm-cma

The size of the CMA area in pages.

/sys/kernel/mm/damon/

Defined on filesysfs-kernel-mm-damon

Interface for Data Access MONitoring (DAMON). Contains filesfor controlling DAMON. For more details on DAMON itself,please refer toDAMON: Data Access MONitoring and Access-aware System Operations.

/sys/kernel/mm/damon/admin/

Defined on filesysfs-kernel-mm-damon

Interface for privileged users of DAMON. Contains files forcontrolling DAMON that aimed to be used by privileged users.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/addr_unit

Defined on filesysfs-kernel-mm-damon

Writing an integer to this file sets the ‘address unit’parameter of the given operations set of the context. Readingthe file returns the last-written ‘address unit’ value.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/avail_operations

Defined on filesysfs-kernel-mm-damon

Reading this file returns the available monitoring operationssets on the currently running kernel.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/aggr_us

Defined on filesysfs-kernel-mm-damon

Writing a value to this file sets the aggregation interval ofthe DAMON context in microseconds as the value. Reading thisfile returns the value.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/access_bp

Defined on filesysfs-kernel-mm-damon

Writing a value to this file sets the monitoring intervalsauto-tuning target DAMON-observed access events ratio withinthe given time interval (aggrs in same directory), in bp(1/10,000). Reading this file returns the value.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/aggrs

Defined on filesysfs-kernel-mm-damon

Writing a value to this file sets the time interval to achievethe monitoring intervals auto-tuning target DAMON-observedaccess events ratio (access_bp in same directory) within.Reading this file returns the value.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/max_sample_us

Defined on filesysfs-kernel-mm-damon

Writing a value to this file sets the maximum value ofauto-tuned sampling interval in microseconds. Reading thisfile returns the value.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/min_sample_us

Defined on filesysfs-kernel-mm-damon

Writing a value to this file sets the minimum value ofauto-tuned sampling interval in microseconds. Reading thisfile returns the value.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/sample_us

Defined on filesysfs-kernel-mm-damon

Writing a value to this file sets the sampling interval of theDAMON context in microseconds as the value. Reading this filereturns the value.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/update_us

Defined on filesysfs-kernel-mm-damon

Writing a value to this file sets the update interval of theDAMON context in microseconds as the value. Reading this filereturns the value.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/nr_regions/max

Defined on filesysfs-kernel-mm-damon

Writing a value to this file sets the maximum number ofmonitoring regions of the DAMON context as the value. Readingthis file returns the value.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/nr_regions/min

Defined on filesysfs-kernel-mm-damon

Writing a value to this file sets the minimum number ofmonitoring regions of the DAMON context as the value. Readingthis file returns the value.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/operations

Defined on filesysfs-kernel-mm-damon

Writing a keyword for a monitoring operations set (‘vaddr’ forvirtual address spaces monitoring, ‘fvaddr’ for fixed virtualaddress ranges monitoring, and ‘paddr’ for the physical addressspace monitoring) to this file makes the context to use theoperations set. Reading the file returns the keyword for theoperations set the context is set to use.

Note that only the operations sets that listed in‘avail_operations’ file are valid inputs.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/age/max

Defined on filesysfs-kernel-mm-damon

Writing to and reading from this file sets and gets the maximum‘age’ of the scheme’s target regions.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/age/min

Defined on filesysfs-kernel-mm-damon

Writing to and reading from this file sets and gets the minimum‘age’ of the scheme’s target regions.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/nr_accesses/max

Defined on filesysfs-kernel-mm-damon

Writing to and reading from this file sets and gets the maximum‘nr_accesses’ of the scheme’s target regions.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/nr_accesses/min

Defined on filesysfs-kernel-mm-damon

Writing to and reading from this file sets and gets the manimum‘nr_accesses’ of the scheme’s target regions.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/sz/max

Defined on filesysfs-kernel-mm-damon

Writing to and reading from this file sets and gets the maximumsize of the scheme’s target regions in bytes.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/sz/min

Defined on filesysfs-kernel-mm-damon

Writing to and reading from this file sets and gets the minimumsize of the scheme’s target regions in bytes.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/action

Defined on filesysfs-kernel-mm-damon

Writing to and reading from this file sets and gets the actionof the scheme.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/apply_interval_us

Defined on filesysfs-kernel-mm-damon

Writing a value to this file sets the action apply interval ofthe scheme in microseconds. Reading this file returns thevalue.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters

Defined on filesysfs-kernel-mm-damon

Directory for DAMON core layer-handled DAMOS filters. Filesunder this directory works same to those of/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filtersdirectory.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/dests/<D>/id

Defined on filesysfs-kernel-mm-damon

Writing to and reading from this file sets and gets the id ofthe DAMOS action destination. For DAMOS_MIGRATE_{HOT,COLD}actions, the destination node’s node id can be written andread.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/dests/<D>/weight

Defined on filesysfs-kernel-mm-damon

Writing to and reading from this file sets and gets the weightof the DAMOS action destination to select as the destination ofeach action among the destinations.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/dests/nr_dests

Defined on filesysfs-kernel-mm-damon

Writing a number ‘N’ to this file creates the number ofdirectories for setting action destinations of the scheme named‘0’ to ‘N-1’ under the dests/ directory.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/addr_end

Defined on filesysfs-kernel-mm-damon

If ‘addr’ is written to the ‘type’ file, writing to or readingfrom this file sets or gets the end address of the addressrange for the filter.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/addr_start

Defined on filesysfs-kernel-mm-damon

If ‘addr’ is written to the ‘type’ file, writing to or readingfrom this file sets or gets the start address of the addressrange for the filter.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/allow

Defined on filesysfs-kernel-mm-damon

Writing ‘Y’ or ‘N’ to this file sets whether to allow or rejectapplying the scheme’s action to the memory that satisfies the‘type’ and the ‘matching’ of the directory.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/matching

Defined on filesysfs-kernel-mm-damon

Writing ‘Y’ or ‘N’ to this file sets whether the filter is forthe memory of the ‘type’, or all except the ‘type’.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/max

Defined on filesysfs-kernel-mm-damon

If ‘hugepage_size’ is written to the ‘type’ file, writing toor reading from this file sets or gets the maximum size of thehugepage for the filter.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/memcg_path

Defined on filesysfs-kernel-mm-damon

If ‘memcg’ is written to the ‘type’ file, writing to andreading from this file sets and gets the path to the memorycgroup of the interest.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/min

Defined on filesysfs-kernel-mm-damon

If ‘hugepage_size’ is written to the ‘type’ file, writing toor reading from this file sets or gets the minimum size of thehugepage for the filter.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/target_idx

Defined on filesysfs-kernel-mm-damon

If ‘target’ is written to the ‘type’ file, writing to orreading from this file sets or gets the index of the DAMONmonitoring target of the interest.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/type

Defined on filesysfs-kernel-mm-damon

Writing to and reading from this file sets and gets the type ofthe memory of the interest. ‘anon’ for anonymous pages,‘memcg’ for specific memory cgroup, ‘young’ for young pages,‘addr’ for address range (an open-ended interval), or ‘target’for DAMON monitoring target can be written and read.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/nr_filters

Defined on filesysfs-kernel-mm-damon

Writing a number ‘N’ to this file creates the number ofdirectories for setting filters of the scheme named ‘0’ to‘N-1’ under the filters/ directory.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/ops_filters

Defined on filesysfs-kernel-mm-damon

Directory for DAMON operations set layer-handled DAMOS filters.Files under this directory works same to those of/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filtersdirectory.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/bytes

Defined on filesysfs-kernel-mm-damon

Writing to and reading from this file sets and gets the sizequota of the scheme in bytes.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/effective_bytes

Defined on filesysfs-kernel-mm-damon

Reading from this file gets the effective size quota of thescheme in bytes, which adjusted for the time quota and goals.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/current_value

Defined on filesysfs-kernel-mm-damon

Writing to and reading from this file sets and gets the currentvalue of the goal metric.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/nid

Defined on filesysfs-kernel-mm-damon

Writing to and reading from this file sets and gets the nidparameter of the goal.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/path

Defined on filesysfs-kernel-mm-damon

Writing to and reading from this file sets and gets the pathparameter of the goal.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/target_metric

Defined on filesysfs-kernel-mm-damon

Writing to and reading from this file sets and gets the quotaauto-tuning goal metric.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/target_value

Defined on filesysfs-kernel-mm-damon

Writing to and reading from this file sets and gets the targetvalue of the goal metric.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/nr_goals

Defined on filesysfs-kernel-mm-damon

Writing a number ‘N’ to this file creates the number ofdirectories for setting automatic tuning of the scheme’saggressiveness named ‘0’ to ‘N-1’ under the goals/ directory.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/ms

Defined on filesysfs-kernel-mm-damon

Writing to and reading from this file sets and gets the timequota of the scheme in milliseconds.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/reset_interval_ms

Defined on filesysfs-kernel-mm-damon

Writing to and reading from this file sets and gets the quotascharge reset interval of the scheme in milliseconds.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/age_permil

Defined on filesysfs-kernel-mm-damon

Writing to and reading from this file sets and gets theunder-quota limit regions prioritization weight for ‘age’ inpermil.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/nr_accesses_permil

Defined on filesysfs-kernel-mm-damon

Writing to and reading from this file sets and gets theunder-quota limit regions prioritization weight for‘nr_accesses’ in permil.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/sz_permil

Defined on filesysfs-kernel-mm-damon

Writing to and reading from this file sets and gets theunder-quota limit regions prioritization weight for ‘size’ inpermil.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_applied

Defined on filesysfs-kernel-mm-damon

Reading this file returns the number of regions that the actionof the scheme has successfully applied.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_tried

Defined on filesysfs-kernel-mm-damon

Reading this file returns the number of regions that the actionof the scheme has tried to be applied.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/qt_exceeds

Defined on filesysfs-kernel-mm-damon

Reading this file returns the number of the exceed events ofthe scheme’s quotas.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_applied

Defined on filesysfs-kernel-mm-damon

Reading this file returns the total size of regions that theaction of the scheme has successfully applied in bytes.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_ops_filter_passed

Defined on filesysfs-kernel-mm-damon

Reading this file returns the total size of memory that passedDAMON operations layer-handled filters of the scheme in bytes.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_tried

Defined on filesysfs-kernel-mm-damon

Reading this file returns the total size of regions that theaction of the scheme has tried to be applied in bytes.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/target_nid

Defined on filesysfs-kernel-mm-damon

Action’s target NUMA node id. Supported by only relevantactions.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/age

Defined on filesysfs-kernel-mm-damon

Reading this file returns the ‘age’ of a memory region thatcorresponding DAMON-based Operation Scheme’s action has triedto be applied.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/end

Defined on filesysfs-kernel-mm-damon

Reading this file returns the end address of a memory regionthat corresponding DAMON-based Operation Scheme’s action hastried to be applied.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/nr_accesses

Defined on filesysfs-kernel-mm-damon

Reading this file returns the ‘nr_accesses’ of a memory regionthat corresponding DAMON-based Operation Scheme’s action hastried to be applied.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/start

Defined on filesysfs-kernel-mm-damon

Reading this file returns the start address of a memory regionthat corresponding DAMON-based Operation Scheme’s action hastried to be applied.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/sz_filter_passed

Defined on filesysfs-kernel-mm-damon

Reading this file returns the size of the memory in the regionthat passed DAMON operations layer-handled filters of thescheme in bytes.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/total_bytes

Defined on filesysfs-kernel-mm-damon

Reading this file returns the total amount of memory thatcorresponding DAMON-based Operation Scheme’s action has triedto be applied.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/high

Defined on filesysfs-kernel-mm-damon

Writing to and reading from this file sets and gets the highwatermark of the scheme in permil.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/interval_us

Defined on filesysfs-kernel-mm-damon

Writing to and reading from this file sets and gets the metriccheck interval of the watermarks for the scheme inmicroseconds.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/low

Defined on filesysfs-kernel-mm-damon

Writing to and reading from this file sets and gets the lowwatermark of the scheme in permil.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/metric

Defined on filesysfs-kernel-mm-damon

Writing to and reading from this file sets and gets the metricof the watermarks for the scheme. The writable/readablekeywords for this file are ‘none’ for disabling the watermarksfeature, or ‘free_mem_rate’ for the system’s global free memoryrate in permil.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/mid

Defined on filesysfs-kernel-mm-damon

Writing to and reading from this file sets and gets the midwatermark of the scheme in permil.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/nr_schemes

Defined on filesysfs-kernel-mm-damon

Writing a number ‘N’ to this file creates the number ofdirectories for controlling each DAMON-based operation schemeof the context named ‘0’ to ‘N-1’ under the schemes/ directory.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/obsolete_target

Defined on filesysfs-kernel-mm-damon

Writing to and reading from this file sets and gets theobsoleteness of the matching parameters commit destinationtarget.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/pid_target

Defined on filesysfs-kernel-mm-damon

Writing to and reading from this file sets and gets the pid ofthe target process if the context is for virtual address spacesmonitoring, respectively.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/<R>/end

Defined on filesysfs-kernel-mm-damon

Writing to and reading from this file sets and gets the endaddress of the monitoring region.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/<R>/start

Defined on filesysfs-kernel-mm-damon

Writing to and reading from this file sets and gets the startaddress of the monitoring region.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/nr_regions

Defined on filesysfs-kernel-mm-damon

Writing a number ‘N’ to this file creates the number ofdirectories for setting each DAMON target memory region of thecontext named ‘0’ to ‘N-1’ under the regions/ directory. Incase of the virtual address space monitoring, DAMONautomatically sets the target memory region based on the targetprocesses’ mappings.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/nr_targets

Defined on filesysfs-kernel-mm-damon

Writing a number ‘N’ to this file creates the number ofdirectories for controlling each DAMON target of the contextnamed ‘0’ to ‘N-1’ under the contexts/ directory.

/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/nr_contexts

Defined on filesysfs-kernel-mm-damon

Writing a number ‘N’ to this file creates the number ofdirectories for controlling each DAMON context named ‘0’ to‘N-1’ under the contexts/ directory.

/sys/kernel/mm/damon/admin/kdamonds/<K>/pid

Defined on filesysfs-kernel-mm-damon

Reading this file returns the pid of the kdamond if it isrunning.

/sys/kernel/mm/damon/admin/kdamonds/<K>/refresh_ms

Defined on filesysfs-kernel-mm-damon

Writing a value to this file sets the time interval forautomatic DAMON status file contents update. Writing ‘0’disables the update. Reading this file returns the value.

/sys/kernel/mm/damon/admin/kdamonds/<K>/state

Defined on filesysfs-kernel-mm-damon

Writing ‘on’ or ‘off’ to this file makes the kdamond starts orstops, respectively. Reading the file returns the keywordsbased on the current status. Writing ‘commit’ to this filemakes the kdamond reads the user inputs in the sysfs filesexcept ‘state’ again. Writing ‘commit_schemes_quota_goals’ tothis file makes the kdamond reads the quota goal files again.Writing ‘update_schemes_stats’ to the file updates contents ofschemes stats files of the kdamond. Writing‘update_schemes_tried_regions’ to the file updates contents of‘tried_regions’ directory of every scheme directory of thiskdamond. Writing ‘update_schemes_tried_bytes’ to the fileupdates only ‘.../tried_regions/total_bytes’ files of thiskdamond. Writing ‘clear_schemes_tried_regions’ to the fileremoves contents of the ‘tried_regions’ directory. Writing‘update_schemes_effective_quotas’ to the file updates‘.../quotas/effective_bytes’ files of this kdamond.

/sys/kernel/mm/damon/admin/kdamonds/nr_kdamonds

Defined on filesysfs-kernel-mm-damon

Writing a number ‘N’ to this file creates the number ofdirectories for controlling each DAMON worker thread (kdamond)named ‘0’ to ‘N-1’ under the kdamonds/ directory.

/sys/kernel/mm/hugepages/

Defined on filesysfs-kernel-mm-hugepages

/sys/kernel/mm/hugepages/ contains a number of subdirectoriesof the form hugepages-<size>kB, where <size> is the page sizeof 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

SeeHugeTLB Pages for details.

/sys/kernel/mm/ksm

Defined on filesysfs-kernel-mm-ksm

Interface for Kernel Samepage Merging (KSM)

/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 filesysfs-kernel-mm-ksm

Kernel Samepage Merging daemon sysfs interface

full_scans: how many times all mergeable areas have beenscanned.

pages_shared: how many shared pages are being used.

pages_sharing: how many more sites are sharing them i.e. howmuch saved.

pages_to_scan: how many present pages to scan before ksmd goesto sleep.

pages_unshared: how many pages unique but repeatedly checkedfor merging.

pages_volatile: how many pages changing too fast to be placedin 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 betweenscans.

SeeKernel Samepage Merging for more information.

/sys/kernel/mm/ksm/general_profit

Defined on filesysfs-kernel-mm-ksm

Measure how effective KSM is.general_profit: how effective is KSM. The formula for thecalculation is inKernel Samepage Merging.

/sys/kernel/mm/ksm/merge_across_nodes

Defined on filesysfs-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).

/sys/kernel/mm/mempolicy/

Defined on filesysfs-kernel-mm-mempolicy

Interface for Mempolicy

/sys/kernel/mm/mempolicy/weighted_interleave/

Defined on filesysfs-kernel-mm-mempolicy-weighted-interleave

Configuration Interface for the Weighted Interleave policy

/sys/kernel/mm/mempolicy/weighted_interleave/auto

Defined on filesysfs-kernel-mm-mempolicy-weighted-interleave

Auto-weighting configuration interface

Configuration mode for weighted interleave. ‘true’ indicatesthat the system is in auto mode, and a ‘false’ indicates thatthe system is in manual mode.

In auto mode, all node weights are re-calculated and overwritten(visible via the nodeN interfaces) whenever new bandwidth datais made available during either boot or hotplug events.

In manual mode, node weights can only be updated by the user.Note that nodes that are onlined with previously set weightswill reuse those weights. If they were not previously set orare onlined with missing bandwidth data, the weights will usea default weight of 1.

Writing any true value string (e.g. Y or 1) will enable automode, while writing any false value string (e.g. N or 0) willenable manual mode. All other strings are ignored and willreturn -EINVAL.

Writing a new weight to a node directly via the nodeN interfacewill also automatically switch the system to manual mode.

/sys/kernel/mm/mempolicy/weighted_interleave/nodeN

Defined on filesysfs-kernel-mm-mempolicy-weighted-interleave

Weight configuration interface for nodeN

The interleave weight for a memory node (N). These weights areutilized by tasks which have set their mempolicy toMPOL_WEIGHTED_INTERLEAVE.

These weights only affect new allocations, and changes at runtimewill not cause migrations on already allocated pages.

The minimum weight for a node is always 1.

Minimum weight: 1Maximum weight: 255

Writing invalid values (i.e. any values not in [1,255],empty string, ...) will return -EINVAL.

Changing the weight to a valid value will automaticallyswitch the system to manual mode as well.

/sys/kernel/mm/numa/

Defined on filesysfs-kernel-mm-numa

Interface for NUMA

/sys/kernel/mm/numa/demotion_enabled

Defined on filesysfs-kernel-mm-numa

Enable/disable demoting pages during reclaim

Page migration during reclaim is intended for systemswith tiered memory configurations. These systems havemultiple types of memory with varied performancecharacteristics instead of plain NUMA systems wherethe same kind of memory is found at varied distances.Allowing page migration during reclaim enables thesesystems to migrate pages from fast tiers to slow tierswhen the fast tier is under pressure. This migrationis performed before swap if an eligible numa node ispresent in cpuset.mems for the cgroup (or if cpuset v1is being used). If cpusets.mems changes at runtime, itmay move data to a NUMA node that does not fall into thecpuset of the new cpusets.mems, which might be construedto violate the guarantees of cpusets. Shared memory,such as libraries, owned by another cgroup may still bedemoted and result in memory use on a node not presentin cpusets.mem. This should not be enabled on systemswhich need strict cpuset location guarantees.

/sys/kernel/mm/swap/

Defined on filesysfs-kernel-mm-swap

Interface for swapping

/sys/kernel/mm/swap/vma_ra_enabled

Defined on filesysfs-kernel-mm-swap

Enable/disable VMA based swap readahead.

If set to true, the VMA based swap readahead algorithmwill be used for swappable anonymous pages mapped in aVMA, and the global swap readahead algorithm will bestill used for tmpfs etc. other users. If set tofalse, the global swap readahead algorithm will beused for all swappable pages.

/sys/kernel/mm/transparent_hugepage/

Defined on filesysfs-kernel-mm-transparent-hugepage

/sys/kernel/mm/transparent_hugepage/ contains a number of files andsubdirectories,

  • defrag

  • enabled

  • hpage_pmd_size

  • khugepaged

  • shmem_enabled

  • use_zero_page

  • subdirectories of the form hugepages-<size>kB, where <size>is the page size of the hugepages supported by the kernel/CPUcombination.

SeeTransparent Hugepage Support for details.

/sys/kernel/oops_count

Defined on filesysfs-kernel-oops_count

Shows how many times the system has Oopsed since last boot.

/sys/kernel/profiling

Defined on filesysfs-profiling

/sys/kernel/profiling is the runtime equivalentof 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 bootcommand line.

/sys/kernel/rcu_stall_count

Defined on filesysfs-kernel-rcu_stall_count

Shows how many times the system has detected an RCU stall since last boot.

/sys/kernel/reboot

Defined on filesysfs-kernel-reboot

Interface to set the kernel reboot behavior, similarly towhat can be done via the reboot= cmdline option.(seeThe kernel’s command-line parameters)

/sys/kernel/reboot/cpu

Defined on filesysfs-kernel-reboot

CPU number to use to reboot.

/sys/kernel/reboot/force

Defined on filesysfs-kernel-reboot

Don’t wait for any other CPUs on reboot andavoid anything that could hang.

/sys/kernel/reboot/hw_protection

Defined on filesysfs-kernel-reboot

Hardware protection action taken on critical events likeovertemperature or imminent voltage loss.Valid values are: reboot shutdown

/sys/kernel/reboot/mode

Defined on filesysfs-kernel-reboot

Reboot mode. Valid values are: cold warm hard soft gpio

/sys/kernel/reboot/type

Defined on filesysfs-kernel-reboot

Reboot type. Valid values are: bios acpi kbd triple efi pci

/sys/kernel/security/*/evm/evm_xattrs

Defined on fileevm

Shows the set of extended attributes used to calculate orvalidate the EVM signature, and allows additional attributesto be added at runtime. Any signatures generated afteradditional attributes are added (and on files possessing thoseadditional attributes) will only be valid if the sameadditional attributes are configured on system boot. Writinga single period (.) will lock the xattr list from any furthermodification.

/sys/kernel/security/*/ima/policy

Defined on fileima_policy

The Trusted Computing Group(TCG) runtime IntegrityMeasurement Architecture(IMA) maintains a list of hashvalues of executables and other sensitive system filesloaded 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/policyby opening the file, writing the rules one at a time andthen closing the file. The new policy takes effect afterthe file ima/policy is closed.

IMA appraisal, if configured, uses these file measurementsfor local measurement appraisal.

rule format: action [condition ...]action: measure | dont_measure | appraise | dont_appraise |        audit | dont_audit | hash | dont_hashcondition:= base | lsm  [option]      base:   [[func=] [mask=] [fsmagic=] [fsuuid=] [fsname=]              [fs_subtype=]              [uid=] [euid=] [gid=] [egid=]              [fowner=] [fgroup=]]      lsm:    [[subj_user=] [subj_role=] [subj_type=]               [obj_user=] [obj_role=] [obj_type=]]      option: [digest_type=] [template=] [permit_directio]              [appraise_type=] [appraise_flag=]              [appraise_algos=] [keyrings=]base:      func:= [BPRM_CHECK][MMAP_CHECK][CREDS_CHECK][FILE_CHECK][MODULE_CHECK]              [FIRMWARE_CHECK]              [KEXEC_KERNEL_CHECK] [KEXEC_INITRAMFS_CHECK]              [KEXEC_CMDLINE] [KEY_CHECK] [CRITICAL_DATA]              [SETXATTR_CHECK][MMAP_CHECK_REQPROT]      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      gid:= decimal value      egid:= decimal value      fowner:= decimal value      fgroup:= decimal valuelsm:  are LSM specificoption:      appraise_type:= [imasig] | [imasig|modsig] | [sigv3]          where 'imasig' is the original or the signature              format v2.          where 'modsig' is an appended signature,          where 'sigv3' is the signature format v3. (Currently              limited to fsverity digest based signatures              stored in security.ima xattr. Requires              specifying "digest_type=verity" first.)      appraise_flag:= [check_blacklist] (deprecated)      Setting the check_blacklist flag is no longer necessary.      All appraisal functions set it by default.      digest_type:= verity          Require fs-verity's file digest instead of the          regular IMA file hash.      keyrings:= list of keyrings      (eg, .builtin_trusted_keys|.ima). Only valid      when action is "measure" and func is KEY_CHECK.      template:= name of a defined IMA template type      (eg, ima-ng). Only valid when action is "measure".      pcr:= decimal value      label:= [selinux]|[kernel_info]|[data_label]      data_label:= a unique string used for grouping and limiting critical data.      For example, "selinux" to measure critical data for SELinux.      appraise_algos:= comma-separated list of hash algorithms      For example, "sha256,sha512" to only accept to appraise      files where the security.ima xattr was hashed with one      of these two algorithms.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 filesopen for read by root in do_filp_open. The default appraisalpolicy appraises all files owned by root.

Examples of LSM specific definitions:

SELinux:

dont_measure obj_type=var_log_tdont_appraise obj_type=var_log_tdont_measure obj_type=auditd_log_tdont_appraise obj_type=auditd_log_tmeasure subj_user=system_u func=FILE_CHECK mask=MAY_READmeasure 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=4measure func=KEXEC_INITRAMFS_CHECK pcr=5

Example of appraise rule allowing modsig appended signatures:

appraise func=KEXEC_KERNEL_CHECK appraise_type=imasig|modsig

Example of measure rule using KEY_CHECK to measure all keys:

measure func=KEY_CHECK

Example of measure rule using KEY_CHECK to only measurekeys added to .builtin_trusted_keys or .ima keyring:

measure func=KEY_CHECK keyrings=.builtin_trusted_keys|.ima

Example of the special SETXATTR_CHECK appraise rule, thatrestricts the hash algorithms allowed when writing to thesecurity.ima xattr of a file:

appraise func=SETXATTR_CHECK appraise_algos=sha256,sha384,sha512

Example of a ‘measure’ rule requiring fs-verity’s digestswith indication of type of digest in the measurement list.

measure func=FILE_CHECK digest_type=verity

template=ima-ngv2

Example of ‘measure’ and ‘appraise’ rules requiring fs-veritysignatures (format version 3) stored in security.ima xattr.

The ‘measure’ rule specifies the ‘ima-sigv3’ template option,which includes the indication of type of digest and the filesignature in the measurement list.

measure func=BPRM_CHECK digest_type=verity

template=ima-sigv3

The ‘appraise’ rule specifies the type and signature formatversion (sigv3) required.

appraise func=BPRM_CHECK digest_type=verity

appraise_type=sigv3

All of these policy rules could, for example, be constrainedeither based on a filesystem’s UUID (fsuuid) or based on LSMlabels.

/sys/kernel/security/evm

/sys/kernel/security/*/evm

Defined on fileevm

EVM protects a file’s security extended attributes(xattrs)against integrity attacks. The initial method maintains anHMAC-sha1 value across the extended attributes, storing thevalue as the extended attribute ‘security.evm’.

EVM supports two classes of security.evm. The first isan HMAC-sha1 generated locally with atrusted/encrypted key stored in the Kernel KeyRetention System. The second is a digital signaturegenerated either locally or remotely using anasymmetric key. These keys are loaded onto root’skeyring using keyctl, and EVM is then enabled byechoing a value to <securityfs>/evm made up of thefollowing bits:

Bit

Effect

0

Enable HMAC validation and creation

1

Enable digital signature validation

2

Permit modification of EVM-protected metadata atruntime. Not supported if HMAC validation andcreation is enabled (deprecated).

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 andHMAC creation and disable all further modification of policy.

echo 0x80000006 ><securityfs>/evm

will enable digital signature validation, permitmodification of EVM-protected metadata anddisable all further modification of policy. This option is nowdeprecated in favor of:

echo 0x80000002 ><securityfs>/evm

as the outstanding issues that prevent the usage of EVM portablesignatures have been solved.

Echoing a value is additive, the new value is added to theexisting initialization flags.

For example, after:

echo 2 ><securityfs>/evm

another echo can be performed:

echo 1 ><securityfs>/evm

and the resulting value will be 3.

Note that once an HMAC key has been loaded, it will no longerbe possible to enable metadata modification. Signaling that anHMAC key has been loaded will clear the corresponding flag.For example, if the current value is 6 (2 and 4 set):

echo 1 ><securityfs>/evm

will set the new value to 3 (4 cleared).

Loading an HMAC key is the only way to disable metadatamodification.

Until key loading has been signaled EVM can not createor validate the ‘security.evm’ xattr, but returnsINTEGRITY_UNKNOWN. Loading keys and signaling EVMshould be done as early as possible. Normally this isdone in the initramfs, which has already been measuredas part of the trusted boot. For more information oncreating and loading existing trusted/encrypted keys,refer to:Trusted and Encrypted Keys. Bothdracut (via 97masterkey and 98integrity) and systemd (viacore/ima-setup) have support for loading keys at boottime.

/sys/kernel/slab

Defined on filesysfs-kernel-slab

The /sys/kernel/slab directory contains a snapshot of theinternal state of the SLUB allocator for each cache. Certainfiles may be modified to change the behavior of the cache (andany cache it aliases, if any).

Users:

kernel memory tuning tools

/sys/kernel/slab/<cache>/aliases

Defined on filesysfs-kernel-slab

The aliases file is read-only and specifies how many cacheshave merged into this cache.

/sys/kernel/slab/<cache>/align

Defined on filesysfs-kernel-slab

The align file is read-only and specifies the cache’s objectalignment in bytes.

/sys/kernel/slab/<cache>/alloc_calls

Defined on filesysfs-kernel-slab

The alloc_calls file is read-only and lists the kernel codelocations from which allocations for this cache were performed.The alloc_calls file only contains information if debugging isenabled for that cache (seeShort users guide for the slab allocator).

/sys/kernel/slab/<cache>/alloc_fastpath

Defined on filesysfs-kernel-slab

The alloc_fastpath file shows how many objects have beenallocated using the fast path. It can be written to clear thecurrent count.Available when CONFIG_SLUB_STATS is enabled.

/sys/kernel/slab/<cache>/alloc_from_partial

Defined on filesysfs-kernel-slab

The alloc_from_partial file shows how many times a cpu slab hasbeen full and it has been refilled by using a slab from the listof partially used slabs. It can be written to clear the currentcount.Available when CONFIG_SLUB_STATS is enabled.

/sys/kernel/slab/<cache>/alloc_refill

Defined on filesysfs-kernel-slab

The alloc_refill file shows how many times the per-cpu freelistwas empty but there were objects available as the result ofremote cpu frees. It can be written to clear the current count.Available when CONFIG_SLUB_STATS is enabled.

/sys/kernel/slab/<cache>/alloc_slab

Defined on filesysfs-kernel-slab

The alloc_slab file is shows how many times a new slab had tobe allocated from the page allocator. It can be written toclear the current count.Available when CONFIG_SLUB_STATS is enabled.

/sys/kernel/slab/<cache>/alloc_slowpath

Defined on filesysfs-kernel-slab

The alloc_slowpath file shows how many objects have beenallocated using the slow path because of a refill orallocation from a partial or new slab. It can be written toclear the current count.Available when CONFIG_SLUB_STATS is enabled.

/sys/kernel/slab/<cache>/cache_dma

Defined on filesysfs-kernel-slab

The cache_dma file is read-only and specifies whether objectsare from ZONE_DMA.Available when CONFIG_ZONE_DMA is enabled.

/sys/kernel/slab/<cache>/cpu_partial

Defined on filesysfs-kernel-slab

This read-only file shows the number of per cpu partialpages to keep around.

/sys/kernel/slab/<cache>/cpu_slabs

Defined on filesysfs-kernel-slab

The cpu_slabs file is read-only and displays how many cpu slabsare active and their NUMA locality.

/sys/kernel/slab/<cache>/cpuslab_flush

Defined on filesysfs-kernel-slab

The file cpuslab_flush shows how many times a cache’s cpu slabshave been flushed as the result of destroying or shrinking acache, a cpu going offline, or as the result of forcing anallocation from a certain node. It can be written to clear thecurrent count.Available when CONFIG_SLUB_STATS is enabled.

/sys/kernel/slab/<cache>/ctor

Defined on filesysfs-kernel-slab

The ctor file is read-only and specifies the cache’s objectconstructor function, which is invoked for each object when anew slab is allocated.

/sys/kernel/slab/<cache>/deactivate_empty

Defined on filesysfs-kernel-slab

The deactivate_empty file shows how many times an empty cpu slabwas deactivated. It can be written to clear the current count.Available when CONFIG_SLUB_STATS is enabled.

/sys/kernel/slab/<cache>/deactivate_full

Defined on filesysfs-kernel-slab

The deactivate_full file shows how many times a full cpu slabwas deactivated. It can be written to clear the current count.Available when CONFIG_SLUB_STATS is enabled.

/sys/kernel/slab/<cache>/deactivate_remote_frees

Defined on filesysfs-kernel-slab

The deactivate_remote_frees file shows how many times a cpu slabhas been deactivated and contained free objects that were freedremotely. It can be written to clear the current count.Available when CONFIG_SLUB_STATS is enabled.

/sys/kernel/slab/<cache>/deactivate_to_head

Defined on filesysfs-kernel-slab

The deactivate_to_head file shows how many times a partial cpuslab was deactivated and added to the head of its node’s partiallist. It can be written to clear the current count.Available when CONFIG_SLUB_STATS is enabled.

/sys/kernel/slab/<cache>/deactivate_to_tail

Defined on filesysfs-kernel-slab

The deactivate_to_tail file shows how many times a partial cpuslab was deactivated and added to the tail of its node’s partiallist. It can be written to clear the current count.Available when CONFIG_SLUB_STATS is enabled.

/sys/kernel/slab/<cache>/destroy_by_rcu

Defined on filesysfs-kernel-slab

The destroy_by_rcu file is read-only and specifies whetherslabs (not objects) are freed by rcu.

/sys/kernel/slab/<cache>/free_add_partial

Defined on filesysfs-kernel-slab

The free_add_partial file shows how many times an object hasbeen freed in a full slab so that it had to added to its node’spartial list. It can be written to clear the current count.Available when CONFIG_SLUB_STATS is enabled.

/sys/kernel/slab/<cache>/free_calls

Defined on filesysfs-kernel-slab

The free_calls file is read-only and lists the locations ofobject frees if slab debugging is enabled (seeShort users guide for the slab allocator).

/sys/kernel/slab/<cache>/free_fastpath

Defined on filesysfs-kernel-slab

The free_fastpath file shows how many objects have been freedusing 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.

/sys/kernel/slab/<cache>/free_frozen

Defined on filesysfs-kernel-slab

The free_frozen file shows how many objects have been freed toa frozen slab (i.e. a remote cpu slab). It can be written toclear the current count.Available when CONFIG_SLUB_STATS is enabled.

/sys/kernel/slab/<cache>/free_remove_partial

Defined on filesysfs-kernel-slab

The free_remove_partial file shows how many times an object hasbeen freed to a now-empty slab so that it had to be removed fromits node’s partial list. It can be written to clear the currentcount.Available when CONFIG_SLUB_STATS is enabled.

/sys/kernel/slab/<cache>/free_slab

Defined on filesysfs-kernel-slab

The free_slab file shows how many times an empty slab has beenfreed back to the page allocator. It can be written to clearthe current count.Available when CONFIG_SLUB_STATS is enabled.

/sys/kernel/slab/<cache>/free_slowpath

Defined on filesysfs-kernel-slab

The free_slowpath file shows how many objects have been freedusing the slow path (i.e. to a full or partial slab). It canbe written to clear the current count.Available when CONFIG_SLUB_STATS is enabled.

/sys/kernel/slab/<cache>/hwcache_align

Defined on filesysfs-kernel-slab

The hwcache_align file is read-only and specifies whetherobjects are aligned on cachelines.

/sys/kernel/slab/<cache>/min_partial

Defined on filesysfs-kernel-slab

The min_partial file specifies how many empty slabs shallremain on a node’s partial list to avoid the overhead ofallocating new slabs. Such slabs may be reclaimed by utilizingthe shrink file.

/sys/kernel/slab/<cache>/object_size

Defined on filesysfs-kernel-slab

The object_size file is read-only and specifies the cache’sobject size.

/sys/kernel/slab/<cache>/objects

Defined on filesysfs-kernel-slab

The objects file is read-only and displays how many objects areactive and from which nodes they are from.

/sys/kernel/slab/<cache>/objects_partial

Defined on filesysfs-kernel-slab

The objects_partial file is read-only and displays how manyobjects are on partial slabs and from which nodes they arefrom.

/sys/kernel/slab/<cache>/objs_per_slab

Defined on filesysfs-kernel-slab

The file objs_per_slab is read-only and specifies how manyobjects may be allocated from a single slab of the orderspecified in /sys/kernel/slab/<cache>/order.

/sys/kernel/slab/<cache>/order

Defined on filesysfs-kernel-slab

The order file specifies the page order at which new slabs areallocated. It is writable and can be changed to increase thenumber of objects per slab. If a slab cannot be allocatedbecause of fragmentation, SLUB will retry with the minimum orderpossible depending on its characteristics.

When debug_guardpage_minorder=N (N > 0) parameter is specified(seeThe kernel’s command-line parameters), the minimum possibleorder is used and this sysfs entry can not be used to changethe order at run time.

/sys/kernel/slab/<cache>/order_fallback

Defined on filesysfs-kernel-slab

The order_fallback file shows how many times an allocation of anew slab has not been possible at the cache’s order and insteadfallen back to its minimum possible order. It can be written toclear the current count.

Available when CONFIG_SLUB_STATS is enabled.

/sys/kernel/slab/<cache>/partial

Defined on filesysfs-kernel-slab

The partial file is read-only and displays how long manypartial slabs there are and how long each node’s list is.

/sys/kernel/slab/<cache>/poison

Defined on filesysfs-kernel-slab

The poison file specifies whether objects should be poisonedwhen a new slab is allocated.

/sys/kernel/slab/<cache>/reclaim_account

Defined on filesysfs-kernel-slab

The reclaim_account file specifies whether the cache’s objectsare reclaimable (and grouped by their mobility).

/sys/kernel/slab/<cache>/red_zone

Defined on filesysfs-kernel-slab

The red_zone file specifies whether the cache’s objects are redzoned.

/sys/kernel/slab/<cache>/remote_node_defrag_ratio

Defined on filesysfs-kernel-slab

The file remote_node_defrag_ratio specifies the percentage oftimes SLUB will attempt to refill the cpu slab with a partialslab from a remote node as opposed to allocating a new slab onthe local node. This reduces the amount of wasted memory overthe entire system but can be expensive.

Available when CONFIG_NUMA is enabled.

/sys/kernel/slab/<cache>/sanity_checks

Defined on filesysfs-kernel-slab

The sanity_checks file specifies whether expensive checksshould be performed on free and, at minimum, enables double freechecks. Caches that enable sanity_checks cannot be merged withcaches that do not.

/sys/kernel/slab/<cache>/shrink

Defined on filesysfs-kernel-slab

The shrink file is used to reclaim unused slab cachememory from a cache. Empty per-cpu or partial slabsare freed and the partial list is sorted so the slabswith the fewest available objects are used first.It only accepts a value of “1” on write for shrinkingthe cache. Other input values are considered invalid.Shrinking slab caches might be expensive and canadversely impact other running applications. So itshould be used with care.

/sys/kernel/slab/<cache>/slab_size

Defined on filesysfs-kernel-slab

The slab_size file is read-only and specifies the object sizewith metadata (debugging information and alignment) in bytes.

/sys/kernel/slab/<cache>/slabs

Defined on filesysfs-kernel-slab

The slabs file is read-only and displays how long many slabsthere are (both cpu and partial) and from which nodes they arefrom.

/sys/kernel/slab/<cache>/slabs_cpu_partial

Defined on filesysfs-kernel-slab

This read-only file shows the number of partialli allocatedfrozen slabs.

/sys/kernel/slab/<cache>/store_user

Defined on filesysfs-kernel-slab

The store_user file specifies whether the location ofallocation or free should be tracked for a cache.

/sys/kernel/slab/<cache>/total_objects

Defined on filesysfs-kernel-slab

The total_objects file is read-only and displays how many totalobjects a cache has and from which nodes they are from.

/sys/kernel/slab/<cache>/trace

Defined on filesysfs-kernel-slab

The trace file specifies whether object allocations and freesshould be traced.

/sys/kernel/slab/<cache>/usersize

Defined on filesysfs-kernel-slab

The usersize file is read-only and contains the usercopyregion size.

/sys/kernel/slab/<cache>/validate

Defined on filesysfs-kernel-slab

Writing to the validate file causes SLUB to traverse all of itscache’s objects and check the validity of metadata.

/sys/kernel/softlockup_count

Defined on filesysfs-kernel-softlockup_count

Shows how many times the system has detected a soft lockup since last boot.Available only if CONFIG_SOFTLOCKUP_DETECTOR is enabled.

/sys/kernel/vmcoreinfo

Defined on filesysfs-kernel-vmcoreinfo

Shows physical address and size of vmcoreinfo ELF note.First value contains physical address of note in hex andsecond value contains the size of note in hex. This ELFnote info is parsed by second kernel and exported to userspace as part of ELF note in /proc/vmcore file. This notecontains various information likestructsize, symbolvalues, page size etc.

/sys/kernel/warn_count

Defined on filesysfs-kernel-warn_count

Shows how many times the system has Warned since last boot.

Symbols under /sys/module

/sys/module/*/initstate

Defined on filesysfs-module

Show the initialization state(live, coming, going) ofthe module.

/sys/module/*/taint

Defined on filesysfs-module

Module taint flags:

P

proprietary module

O

out-of-tree module

F

force-loaded module

C

staging driver module

E

unsigned module

K

livepatch module

N

in-kernel test module

/sys/module/*/{coresize,initsize}

Defined on filesysfs-module

Module size in bytes.

/sys/module/ehci_hcd/drivers/.../uframe_periodic_max

Defined on filesysfs-module

Maximum time allowed for periodic transfers per microframe (μs)

Note:

USB 2.0 sets maximum allowed time for periodic transfers permicroframe to be 80%, that is 100 microseconds out of 125microseconds (full microframe).

However there are cases, when 80% max isochronous bandwidth istoo limiting. For example two video streams could require 110microseconds of isochronous bandwidth per microframe to worktogether.

Through this setting it is possible to raise the limit so thatthe host controller would allow allocating more than 100microseconds of periodic bandwidth per microframe.

Beware, non-standard modes are usually not thoroughly tested byhardware designers, and the hardware can malfunction when thissetting differ from default 100.

/sys/module/grant_table/parameters/free_per_iteration

Defined on filesysfs-module

Read and write number of grant entries to attempt to free per iteration.

Note: Future versions of Xen and Linux may provide a betterinterface for controlling the rate of deferred grant reclaimor may not need it at all.

Users:

Qubes OS (https://www.qubes-os.org)

/sys/module/pch_phub/drivers/.../pch_firmware

Defined on filesysfs-module

Write/read Option ROM data.

/sys/module/pch_phub/drivers/.../pch_mac

Defined on filesysfs-module

Write/read GbE MAC address.

/sys/module/xen_blkback/parameters/buffer_squeeze_duration_ms

Defined on filesysfs-driver-xen-blkback

When memory pressure is reported to blkback this optioncontrols the duration in milliseconds that blkback will notcache any page not backed by a grant mapping.The default is 10ms.

/sys/module/xen_blkback/parameters/feature_persistent

Defined on filesysfs-driver-xen-blkback

Whether to enable the persistent grants feature or not. Notethat this option only takes effect on newly connected backends.The default is Y (enable).

/sys/module/xen_blkback/parameters/max_buffer_pages

Defined on filesysfs-driver-xen-blkback

Maximum number of free pages to keep in each blockbackend buffer.

/sys/module/xen_blkback/parameters/max_persistent_grants

Defined on filesysfs-driver-xen-blkback

Maximum number of grants to map persistently inblkback. If the frontend tries to use more thanmax_persistent_grants, the LRU kicks in and startsremoving 5% of max_persistent_grants every 100ms.

/sys/module/xen_blkback/parameters/persistent_grant_unused_seconds

Defined on filesysfs-driver-xen-blkback

How long a persistent grant is allowed to remainallocated without being in use. The time is inseconds, 0 means indefinitely long.The default is 60 seconds.

/sys/module/xen_blkfront/parameters/feature_persistent

Defined on filesysfs-driver-xen-blkfront

Whether to enable the persistent grants feature or not. Notethat this option only takes effect on newly connected frontends.The default is Y (enable).

/sys/module/xen_blkfront/parameters/max_indirect_segments

Defined on filesysfs-driver-xen-blkfront

Maximum number of segments that the frontend will negotiatewith the backend for indirect descriptors. The default valueis 32 - higher value means more potential throughput but morememory usage. The backend picks the minimum of the frontendand its default backend value.

Symbols under /sys/power

/sys/power/

Defined on filesysfs-power

The /sys/power directory will contain files that willprovide a unified interface to the power managementsubsystem.

/sys/power/autosleep

Defined on filesysfs-power

The /sys/power/autosleep file can be written one of the stringsreturned by reads from /sys/power/state. If that happens, awork item attempting to trigger a transition of the system tothe sleep state represented by that string is queued up. Thisattempt will only succeed if there are no active wakeup sourcesin the system at that time. After every execution, regardlessof whether or not the attempt to put the system to sleep hassucceeded, the work item requeues itself until user spacewrites “off” to /sys/power/autosleep.

Reading from this file causes the last string successfullywritten to it to be returned.

/sys/power/disk

Defined on filesysfs-power

The /sys/power/disk file controls the operating mode of thesuspend-to-disk mechanism. Reading from this file returnsthe name of the method by which the system will be put tosleep on the next suspend. There are four methods supported:

‘firmware’ - means that the memory image will be saved to diskby some firmware, in which case we also assume that thefirmware will handle the system suspend.

‘platform’ - the memory image will be saved by the kernel andthe 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 andthe system will be powered off.

‘reboot’ - the memory image will be saved by the kernel andthe system will be rebooted.

Additionally, /sys/power/disk can be used to turn on one of thetwo 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 causethe kernel to disable nonboot CPUs and freeze tasks, wait for 5seconds, unfreeze tasks and enable nonboot CPUs. If it is inthe ‘test’ mode, writing ‘disk’ to /sys/power/state will causethe kernel to disable nonboot CPUs and freeze tasks, shrinkmemory, suspend devices, wait for 5 seconds, resume devices,unfreeze tasks and enable nonboot CPUs. Then, we are able tolook in the log messages and work out, for example, which codeis being slow and which device drivers are misbehaving.

The suspend-to-disk method may be chosen by writing to thisfile one of the accepted strings:

  • ‘firmware’

  • ‘platform’

  • ‘shutdown’

  • ‘reboot’

  • ‘testproc’

  • ‘test’

It will only change to ‘firmware’ or ‘platform’ if the systemsupports that.

/sys/power/hibernate_compression_threads

Defined on filesysfs-power

Controls the number of threads used for compressionand decompression of hibernation images.

The value can be adjusted at runtime to balanceperformance and CPU utilization.

The change takes effect on the next hibernation orresume operation.

Minimum value: 1Default value: 3

/sys/power/image_size

Defined on filesysfs-power

The /sys/power/image_size file controls the size of the imagecreated by the suspend-to-disk mechanism. It can be written astring representing a non-negative integer that will be usedas an upper limit of the image size, in bytes. The kernel’ssuspend-to-disk code will do its best to ensure the image sizewill not exceed this number. However, if it turns out to beimpossible, the kernel will try to suspend anyway using thesmallest image possible. In particular, if “0” is written tothis file, the suspend image will be as small as possible.

Reading from this file will display the current image sizelimit, which is set to around 2/5 of available RAM by default.

/sys/power/mem_sleep

Defined on filesysfs-power

The /sys/power/mem_sleep file controls the operating mode ofsystem suspend. Reading from it returns the available modesas “s2idle” (always present), “shallow” and “deep” (present ifsupported). The mode that will be used on subsequent attemptsto suspend the system (by writing “mem” to the /sys/power/statefile described above) is enclosed in square brackets.

Writing one of the above strings to this file causes the moderepresented by it to be used on subsequent attempts to suspendthe system.

SeeSystem Sleep States for moreinformation.

/sys/power/pm_async

Defined on filesysfs-power

The /sys/power/pm_async file controls the switch allowing theuser space to enable or disable asynchronous suspend and resumeof devices. If enabled, this feature will cause some devicedrivers’ suspend and resume callbacks to be executed in parallelwith each other and with the main suspend thread. It is enabledif this file contains “1”, which is the default. It may bedisabled by writing “0” to this file, in which case all deviceswill be suspended and resumed synchronously.

/sys/power/pm_debug_messages

Defined on filesysfs-power

The /sys/power/pm_debug_messages file controls the printingof debug messages from the system suspend/hiberbationinfrastructure to the kernel log.

Writing a “1” to this file enables the debug messages andwriting a “0” (default) to it disables them. Reads fromthis file return the current value.

/sys/power/pm_print_times

Defined on filesysfs-power

The /sys/power/pm_print_times file allows user space tocontrol whether the time taken by devices to suspend andresume is printed. These prints are useful for hunting downdevices 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 filewill display the current value.

/sys/power/pm_trace

Defined on filesysfs-power

The /sys/power/pm_trace file controls the code which saves thelast PM event point in the RTC across reboots, so that you candebug a machine that just hangs during suspend (or morecommonly, during resume). Namely, the RTC is only used to savethe last PM event point if this file contains ‘1’. Initiallyit contains ‘0’ which may be changed to ‘1’ by writing astring representing a nonzero integer into it.

To use this debugging feature you should attempt to suspendthe machine, then reboot it and run:

dmesg -s 1000000 | grep 'hash matches'

If you do not get any matches (or they appear to be falsepositives), it is possible that the last PM event pointreferred to a device created by a loadable kernel module. Inthis case cat /sys/power/pm_trace_dev_match (see below) afteryour 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.

/sys/power/pm_trace_dev_match

Defined on filesysfs-power

The /sys/power/pm_trace_dev_match file contains the name of thedevice associated with the last PM event point saved in the RTCacross reboots when pm_trace has been used. More precisely itcontains the list of current devices (including thoseregistered by loadable kernel modules since boot) which matchthe device hash in the RTC at boot, with a newline after eachone.

The advantage of this file over the hash matches printed to thekernel log (see /sys/power/pm_trace), is that it includesdevices created after boot by loadable kernel modules.

Due to the small hash size necessary to fit in the RTC, it ispossible that more than one device matches the hash, in whichcase further investigation is required to determine whichdevice is causing the problem. Note that genuine RTC clockvalues (such as when pm_trace has not been used), can stillmatch a device and output its name here.

/sys/power/pm_wakeup_irq

Defined on filesysfs-power

The /sys/power/pm_wakeup_irq file reports to user space the IRQnumber of the first wakeup interrupt (that is, the firstinterrupt from an IRQ line armed for system wakeup) seen by thekernel during the most recent system suspend/resume cycle.

This output is useful for system wakeup diagnostics of spuriouswakeup interrupts.

/sys/power/reserved_size

Defined on filesysfs-power

The /sys/power/reserved_size file allows user space to controlthe amount of memory reserved for allocations made by devicedrivers during the “device freeze” stage of hibernation. It canbe written a string representing a non-negative integer thatwill be used as the amount of memory to reserve for allocationsmade by device drivers’ “freeze” callbacks, in bytes.

Reading from this file will display the current value, which isset to 1 MB by default.

/sys/power/resume_offset

Defined on filesysfs-power

This file is used for telling the kernel an offset into a diskto use when hibernating the system such as with a swap file.

Reads from this file will display the current offsetthe kernel will be using on the next hibernationattempt.

Using this sysfs file will override any values that wereset using the kernel command line for disk offset.

/sys/power/state

Defined on filesysfs-power

The /sys/power/state file controls system sleep states.Reading from this file returns the available sleep statelabels, which may be “mem” (suspend), “standby” (power-onsuspend), “freeze” (suspend-to-idle) and “disk” (hibernation).

Writing one of the above strings to this file causes the systemto transition into the corresponding state, if available.

SeeSystem Sleep States for moreinformation.

/sys/power/suspend_stats

Defined on filesysfs-power

The /sys/power/suspend_stats directory contains suspend relatedstatistics.

/sys/power/suspend_stats/fail

Defined on filesysfs-power

The /sys/power/suspend_stats/fail file contains the numberof times entering system sleep state failed.

/sys/power/suspend_stats/failed_freeze

Defined on filesysfs-power

The /sys/power/suspend_stats/failed_freeze file contains thenumber of times freezing processes failed.

/sys/power/suspend_stats/failed_prepare

Defined on filesysfs-power

The /sys/power/suspend_stats/failed_prepare file contains thenumber of times preparing all non-sysdev devices fora system PM transition failed.

/sys/power/suspend_stats/failed_resume

Defined on filesysfs-power

The /sys/power/suspend_stats/failed_resume file contains thenumber of times executing “resume” callbacks ofnon-sysdev devices failed.

/sys/power/suspend_stats/failed_resume_early

Defined on filesysfs-power

The /sys/power/suspend_stats/failed_resume_early file containsthe number of times executing “early resume” callbacksof devices failed.

/sys/power/suspend_stats/failed_resume_noirq

Defined on filesysfs-power

The /sys/power/suspend_stats/failed_resume_noirq file containsthe number of times executing “noirq resume” callbacksof devices failed.

/sys/power/suspend_stats/failed_suspend

Defined on filesysfs-power

The /sys/power/suspend_stats/failed_suspend file containsthe number of times executing “suspend” callbacksof all non-sysdev devices failed.

/sys/power/suspend_stats/failed_suspend_late

Defined on filesysfs-power

The /sys/power/suspend_stats/failed_suspend_late file containsthe number of times executing “late suspend” callbacksof all devices failed.

/sys/power/suspend_stats/failed_suspend_noirq

Defined on filesysfs-power

The /sys/power/suspend_stats/failed_suspend_noirq file containsthe number of times executing “noirq suspend” callbacksof all devices failed.

/sys/power/suspend_stats/last_failed_dev

Defined on filesysfs-power

The /sys/power/suspend_stats/last_failed_dev file containsthe last device for which a suspend/resume callback failed.

/sys/power/suspend_stats/last_failed_errno

Defined on filesysfs-power

The /sys/power/suspend_stats/last_failed_errno file containsthe errno of the last failed attempt at enteringsystem sleep state.

/sys/power/suspend_stats/last_failed_step

Defined on filesysfs-power

The /sys/power/suspend_stats/last_failed_step file containsthe last failed step in the suspend/resume path.

/sys/power/suspend_stats/last_hw_sleep

Defined on filesysfs-power

The /sys/power/suspend_stats/last_hw_sleep filecontains the duration of time spent in a hardware sleepstate in the most recent system suspend-resume cycle.This number is measured in microseconds.

/sys/power/suspend_stats/max_hw_sleep

Defined on filesysfs-power

The /sys/power/suspend_stats/max_hw_sleep filecontains the maximum amount of time that the hardware canreport for time spent in a hardware sleep state. When sleepcycles are longer than this time, the values for‘total_hw_sleep’ and ‘last_hw_sleep’ may not be accurate.This number is measured in microseconds.

/sys/power/suspend_stats/success

Defined on filesysfs-power

The /sys/power/suspend_stats/success file contains the numberof times entering system sleep state succeeded.

/sys/power/suspend_stats/total_hw_sleep

Defined on filesysfs-power

The /sys/power/suspend_stats/total_hw_sleep filecontains the aggregate of time spent in a hardware sleepstate since the kernel was booted. This numberis measured in microseconds.

/sys/power/sync_on_suspend

Defined on filesysfs-power

This file controls whether or not the kernel willsync()filesystems during system suspend (after freezing user spaceand before suspending devices).

Writing a “1” to this file enables thesync() and writing a “0”disables it. Reads from the file return the current value.The default is “1” if the build-time “SUSPEND_SKIP_SYNC” configflag is unset, or “0” otherwise.

/sys/power/wake_lock

Defined on filesysfs-power

The /sys/power/wake_lock file allows user space to createwakeup source objects and activate them on demand (if one ofthose wakeup sources is active, reads from the/sys/power/wakeup_count file block or return false). When astring without white space is written to /sys/power/wake_lock,it will be assumed to represent a wakeup source name. If thereis a wakeup source object with that name, it will be activated(unless active already). Otherwise, a new wakeup source objectwill be registered, assigned the given name and activated.If a string written to /sys/power/wake_lock contains whitespace, the part of the string preceding the white space will beregarded as a wakeup source name and handled as descrived above.The other part of the string will be regarded as a timeout (innanoseconds) such that the wakeup source will be automaticallydeactivated after it has expired. The timeout, if present, isset regardless of the current state of the wakeup source objectin question.

Reads from this file return a string consisting of the names ofwakeup sources created with the help of it that are active atthe moment, separated with spaces.

/sys/power/wake_unlock

Defined on filesysfs-power

The /sys/power/wake_unlock file allows user space to deactivatewakeup sources created with the help of /sys/power/wake_lock.When a string is written to /sys/power/wake_unlock, it will beassumed to represent the name of a wakeup source to deactivate.

If a wakeup source object of that name exists and is active atthe moment, it will be deactivated.

Reads from this file return a string consisting of the names ofwakeup sources created with the help of /sys/power/wake_lockthat are inactive at the moment, separated with spaces.

/sys/power/wakeup_count

Defined on filesysfs-power

The /sys/power/wakeup_count file allows user space to put thesystem into a sleep state while taking into account theconcurrent arrival of wakeup events. Reading from it returnsthe current number of registered wakeup events and it blocks ifsome wakeup events are being processed at the time the file isread from. Writing to it will only succeed if the currentnumber of wakeup events is equal to the written value and, ifsuccessful, will make the kernel abort a subsequent transitionto a sleep state if any wakeup events are reported after thewrite has returned.

Raise a uevent when a USB Host Controller has died

Raise a uevent when a USB Host Controller has died

Defined on fileusb-uevent

When the USB Host Controller has entered a state where it is nolonger functional a uevent will be raised. The uevent willcontain 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=offlineBUSNUM=002DEVNAME=/dev/bus/usb/002/001DEVNUM=001DEVPATH=/devices/pci0000:00/0000:00:10.0/usb2DEVTYPE=usb_deviceDRIVER=usbERROR=DEADMAJOR=189MINOR=128PRODUCT=1d6b/2/414SEQNUM=2168SUBSYSTEM=usbTYPE=9/0/1
Users:

chromium-os-dev@chromium.org

Raise a uevent when a USB charger is inserted or removed

Raise a uevent when a USB charger is inserted or removed

Defined on fileusb-charger-uevent

There are two USB charger states:

  • USB_CHARGER_ABSENT

  • USB_CHARGER_PRESENT

There are five USB charger types:

USB_CHARGER_UNKNOWN_TYPE

Charger type is unknown

USB_CHARGER_SDP_TYPE

Standard Downstream Port

USB_CHARGER_CDP_TYPE

Charging Downstream Port

USB_CHARGER_DCP_TYPE

Dedicated Charging Port

USB_CHARGER_ACA_TYPE

Accessory Charging Adapter

https://www.usb.org/document-library/battery-charging-v12-spec-and-adopters-agreement

Here are two examples taken usingudevadmmonitor-p whenUSB charger is online:

UDEV  change   /devices/soc0/usbphynop1 (platform)ACTION=changeDEVPATH=/devices/soc0/usbphynop1DRIVER=usb_phy_genericMODALIAS=of:Nusbphynop1T(null)Cusb-nop-xceivOF_COMPATIBLE_0=usb-nop-xceivOF_COMPATIBLE_N=1OF_FULLNAME=/usbphynop1OF_NAME=usbphynop1SEQNUM=2493SUBSYSTEM=platformUSB_CHARGER_STATE=USB_CHARGER_PRESENTUSB_CHARGER_TYPE=USB_CHARGER_SDP_TYPEUSEC_INITIALIZED=227422826

USB charger is offline:

KERNEL change   /devices/soc0/usbphynop1 (platform)ACTION=changeDEVPATH=/devices/soc0/usbphynop1DRIVER=usb_phy_genericMODALIAS=of:Nusbphynop1T(null)Cusb-nop-xceivOF_COMPATIBLE_0=usb-nop-xceivOF_COMPATIBLE_N=1OF_FULLNAME=/usbphynop1OF_NAME=usbphynop1SEQNUM=2494SUBSYSTEM=platformUSB_CHARGER_STATE=USB_CHARGER_ABSENTUSB_CHARGER_TYPE=USB_CHARGER_UNKNOWN_TYPE

nvdimm

nvdimm

Defined on filesysfs-bus-nvdimm

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

Symbols under pciDDDD

pciDDDD:BB/available_secure_streams

Defined on filesysfs-devices-pci-host-bridge

(RO) When a host bridge has Root Ports that support PCIe IDE(link encryption and integrity protection) there may be alimited number of Selective IDE Streams that can be used forestablishing new end-to-end secure links. This attributedecrements upon secure link setup, and increments upon securelink teardown. The in-use stream count is determined by countingstream symlinks. See /sys/devices/pciDDDD:BB entry for detailsabout the DDDD:BB format.

pciDDDD:BB/firmware_node

Defined on filesysfs-devices-pci-host-bridge

(RO) Symlink to the platform firmware device object “companion”of the host bridge. For example, an ACPI device with an _HID ofPNP0A08 (/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00). See/sys/devices/pciDDDD:BB entry for details about the DDDD:BBformat.

pciDDDD:BB/streamH.R.E

Defined on filesysfs-devices-pci-host-bridge

(RO) When a platform has established a secure connection, PCIeIDE, between two Partner Ports, this symlink appears. A streamconsumes a Stream ID slot in each of the Host bridge (H), RootPort (R) and Endpoint (E). The link points to the Endpoint PCIdevice in the Selective IDE Stream pairing. Specifically, “R”and “E” represent the assigned Selective IDE Stream RegisterBlock in the Root Port and Endpoint, and “H” represents aplatform specific pool of stream resources shared by the RootPorts in a host bridge. See /sys/devices/pciDDDD:BB entry fordetails about the DDDD:BB format.

Symbols under security/secrets

security/secrets/coco

Defined on filesecurityfs-secrets-coco

Exposes confidential computing (coco) EFI secrets touserspace via securityfs.

EFI can declare memory area used by confidential computingplatforms (such as AMD SEV and SEV-ES) for secret injection bythe Guest Owner during VM’s launch. The secrets are encryptedby the Guest Owner and decrypted inside the trusted enclave,and therefore are not readable by the untrusted host.

The efi_secret module exposes the secrets to userspace. Eachsecret appears as a file under <securityfs>/secrets/coco,where the filename is the GUID of the entry in the secretstable. This module is loaded automatically by the EFI driverif the EFI secret area is populated.

Two operations are supported for the files: read and unlink.Reading the file returns the content of secret entry.Unlinking the file overwrites the secret data with zeroes andremoves the entry from the filesystem. A secret cannot be readafter it has been unlinked.

For example, listing the available secrets:

# modprobe efi_secret# ls -l /sys/kernel/security/secrets/coco-r--r----- 1 root root 0 Jun 28 11:54 736870e5-84f0-4973-92ec-06879ce3da0b-r--r----- 1 root root 0 Jun 28 11:54 83c83f7f-1356-4975-8b7e-d3a0b54312c6-r--r----- 1 root root 0 Jun 28 11:54 9553f55d-3da2-43ee-ab5d-ff17f78864d2-r--r----- 1 root root 0 Jun 28 11:54 e6f5a162-d67f-4750-a67c-5d065f2a9910

Reading the secret data by reading a file:

# cat /sys/kernel/security/secrets/coco/e6f5a162-d67f-4750-a67c-5d065f2a9910the-content-of-the-secret-data

Wiping a secret by unlinking a file:

# rm /sys/kernel/security/secrets/coco/e6f5a162-d67f-4750-a67c-5d065f2a9910# ls -l /sys/kernel/security/secrets/coco-r--r----- 1 root root 0 Jun 28 11:54 736870e5-84f0-4973-92ec-06879ce3da0b-r--r----- 1 root root 0 Jun 28 11:54 83c83f7f-1356-4975-8b7e-d3a0b54312c6-r--r----- 1 root root 0 Jun 28 11:54 9553f55d-3da2-43ee-ab5d-ff17f78864d2

Note: The binary format of the secrets table injected by theGuest Owner is described indrivers/virt/coco/efi_secret/efi_secret.c under “Structure ofthe EFI secret area”.