ABI testing symbols

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

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

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

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

.../XXXXXXX.ipa/endpoint_id/

.../XXXXXXX.ipa/endpoint_id/

Defined on file sysfs-devices-platform-soc-ipa

The .../XXXXXXX.ipa/endpoint_id/ directory contains attributes that define IDs associated with IPA endpoints. The “rx” or “tx” in an endpoint name is from the perspective of the AP. An endpoint ID is a small unsigned integer.

.../XXXXXXX.ipa/endpoint_id/modem_rx

.../XXXXXXX.ipa/endpoint_id/modem_rx

Defined on file sysfs-devices-platform-soc-ipa

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

.../XXXXXXX.ipa/endpoint_id/modem_tx

.../XXXXXXX.ipa/endpoint_id/modem_tx

Defined on file sysfs-devices-platform-soc-ipa

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

.../XXXXXXX.ipa/endpoint_id/monitor_rx

.../XXXXXXX.ipa/endpoint_id/monitor_rx

Defined on file sysfs-devices-platform-soc-ipa

The .../XXXXXXX.ipa/endpoint_id/monitor_rx file contains the ID of the AP endpoint on which IPA “monitor” data is received. The monitor endpoint supplies replicas of packets 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 bandwidth required to provide the monitor function.

.../XXXXXXX.ipa/feature/

.../XXXXXXX.ipa/feature/

Defined on file sysfs-devices-platform-soc-ipa

The .../XXXXXXX.ipa/feature/ directory contains a set of attributes describing features implemented by the IPA hardware.

.../XXXXXXX.ipa/feature/rx_offload

.../XXXXXXX.ipa/feature/rx_offload

Defined on file sysfs-devices-platform-soc-ipa

The .../XXXXXXX.ipa/feature/rx_offload file contains a string indicating the type of receive checksum offload that is supported by the hardware. The possible values are “MAPv4” or “MAPv5”.

.../XXXXXXX.ipa/feature/tx_offload

.../XXXXXXX.ipa/feature/tx_offload

Defined on file sysfs-devices-platform-soc-ipa

The .../XXXXXXX.ipa/feature/tx_offload file contains a string indicating the type of transmit checksum offload that is supported by the hardware. The possible values are “MAPv4” or “MAPv5”.

.../XXXXXXX.ipa/modem/

.../XXXXXXX.ipa/modem/

Defined on file sysfs-devices-platform-soc-ipa

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

.../XXXXXXX.ipa/modem/rx_endpoint_id

.../XXXXXXX.ipa/modem/rx_endpoint_id

Defined on file sysfs-devices-platform-soc-ipa

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

.../XXXXXXX.ipa/modem/tx_endpoint_id

.../XXXXXXX.ipa/modem/tx_endpoint_id

Defined on file sysfs-devices-platform-soc-ipa

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

.../XXXXXXX.ipa/version

.../XXXXXXX.ipa/version

Defined on file sysfs-devices-platform-soc-ipa

The .../XXXXXXX.ipa/version file contains the IPA hardware version, 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 file configfs-acpi

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

/config/acpi/table

Defined on file configfs-acpi

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

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

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

signature
  • ASCII table signature

length
  • length of table in bytes, including the header

revision
  • ACPI Specification minor version number

oem_id
  • ASCII OEM identification

oem_table_id
  • ASCII OEM table identification

oem_revision
  • OEM revision number

asl_compiler_id
  • ASCII ASL compiler vendor ID

asl_compiler_revision
  • ASL compiler version

Symbols under /config/iio

/config/iio

Defined on file configfs-iio

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

/config/iio/devices

Defined on file configfs-iio

Industrial IO software devices directory.

/config/iio/devices/dummy

Defined on file configfs-iio

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

/config/iio/triggers

Defined on file configfs-iio

Industrial IO software triggers directory.

/config/iio/triggers/hrtimers

Defined on file configfs-iio

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

Symbols under /config/pcie-gadget

/config/pcie-gadget

Defined on file configfs-spear-pcie-gadget

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

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

# mount -t configfs none /config/

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

link

used to enable ltssm and read its status.

int_type

used to configure and read type of supported interrupt

no_of_msi

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

inta

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

send_msi

write MSI vector to be sent.

vendor_id

used to write and read vendor id (hex)

device_id

used to write and read device id (hex)

bar0_size

used to write and read bar0_size

bar0_address

used to write and read bar0 mapped area in hex.

bar0_rw_offset

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

bar0_data

used to write and read data at bar0_rw_offset.

Symbols under /config/rdma_cm

/config/rdma_cm

Defined on file configfs-rdma_cm

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

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

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

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

Defined on file configfs-rdma_cm

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

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

Defined on file configfs-rdma_cm

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

Symbols under /config/stp-policy

/config/stp-policy

Defined on file configfs-stp-policy

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

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

Defined on file configfs-stp-policy

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

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

Defined on file configfs-stp-policy

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

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

Defined on file configfs-stp-policy

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

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

Defined on file configfs-stp-policy

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

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

Defined on file configfs-stp-policy

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

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

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

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

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

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

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

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

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

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

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

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

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

Symbols under /config/usb-gadget

/config/usb-gadget

Defined on file configfs-usb-gadget

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

/config/usb-gadget/gadget

Defined on file configfs-usb-gadget

The attributes of a gadget:

UDC

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

max_speed

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

bDeviceClass

USB device class code

bDeviceSubClass

USB device subclass code

bDeviceProtocol

USB device protocol code

bMaxPacketSize0

maximum endpoint 0 packet size

bcdDevice

bcd device release number

bcdUSB

bcd USB specification version number

idProduct

product ID

idVendor

vendor ID

/config/usb-gadget/gadget/configs

Defined on file configfs-usb-gadget

This group contains a USB gadget’s configurations

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

Defined on file configfs-usb-gadget

The attributes of a configuration:

bmAttributes

configuration characteristics

MaxPower

maximum power consumption from the bus

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

Defined on file configfs-usb-gadget

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

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

Defined on file configfs-usb-gadget

The attributes:

configuration

configuration description

/config/usb-gadget/gadget/functions

Defined on file configfs-usb-gadget

This group contains functions available to this USB gadget.

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

Defined on file configfs-usb-gadget

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

The attributes:

compatible_id

8-byte string for “Compatible ID”

sub_compatible_id

8-byte string for “Sub Compatible ID”

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

Defined on file configfs-usb-gadget

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

The attributes:

type

value 1..7 for interpreting the data

  • 1: unicode string

  • 2: unicode string with environment variable

  • 3: binary

  • 4: little-endian 32-bit

  • 5: big-endian 32-bit

  • 6: unicode string with a symbolic link

  • 7: multiple unicode strings

data

blob of data to be interpreted depending on type

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

Defined on file configfs-usb-gadget-loopback

The attributes:

qlen

depth of loopback queue

buflen

buffer length

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

Defined on file configfs-usb-gadget-sourcesink

The attributes:

pattern

0 (all zeros), 1 (mod63), 2 (none)

isoc_interval

1..16

isoc_maxpacket

0 - 1023 (fs), 0 - 1024 (hs/ss)

isoc_mult

0..2 (hs/ss only)

isoc_maxburst

0..15 (ss only)

buflen

buffer length

bulk_qlen

depth of queue for bulk

iso_qlen

depth of queue for iso

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

Defined on file configfs-usb-gadget-acm

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

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

Defined on file configfs-usb-gadget-acm

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

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

Defined on file configfs-usb-gadget-ecm

The attributes:

ifname
  • network device interface name associated with this function instance

qmult
  • queue length multiplier for high and super speed

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

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

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

Defined on file configfs-usb-gadget-eem

The attributes:

ifname

network device interface name associated with this function instance

qmult

queue length multiplier for high and super speed

host_addr

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

dev_addr

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

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

Defined on file configfs-usb-gadget-ffs

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

A corresponding USB function instance is created/removed.

All attributes are read only:

ready

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

All other parameters are set through FunctionFS.

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

Defined on file configfs-usb-gadget-subset

The attributes:

ifname

network device interface name associated with this function instance

qmult

queue length multiplier for high and super speed

host_addr

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

dev_addr

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

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

Defined on file configfs-usb-gadget-serial

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

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

Defined on file configfs-usb-gadget-hid

The attributes:

protocol

HID protocol to use

report_desc

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

report_length

HID report length

subclass

HID device subclass to use

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

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

The attributes:

stall

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

num_buffers

Number of pipeline buffers. Valid numbers are 2..4. Available only if CONFIG_USB_GADGET_DEBUG_FILES is set.

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

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

The attributes:

file

The path to the backing file for the LUN. Required if LUN is not marked as removable.

ro

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

removable

Flag specifying that LUN shall be indicated as being removable.

cdrom

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

nofua

Flag specifying that FUA flag in SCSI WRITE(10,12)

forced_eject

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

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

Defined on file configfs-usb-gadget-midi

The attributes:

index

index value for the USB MIDI adapter

id

ID string for the USB MIDI adapter

buflen

MIDI buffer length

qlen

USB read request queue length

in_ports

number of MIDI input ports

out_ports

number of MIDI output ports

interface_string

USB AudioControl interface string

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

Defined on file configfs-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 file configfs-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 file configfs-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 file configfs-usb-gadget-ncm

The attributes:

ifname - network device interface name associated with

this function instance

qmult - queue length multiplier for high and

super speed

host_addr - MAC address of host’s end of this

Ethernet over USB link

dev_addr - MAC address of device’s end of this

Ethernet over USB link

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

Defined on file configfs-usb-gadget-obex

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

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

Defined on file configfs-usb-gadget-phonet

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

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

Defined on file configfs-usb-gadget-printer

The attributes:

pnp_string

Data to be passed to the host in pnp string

q_len

Number of requests per endpoint

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

Defined on file configfs-usb-gadget-rndis

The attributes:

ifname

network device interface name associated with this function instance

qmult

queue length multiplier for high and super speed

host_addr

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

dev_addr

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

class

USB interface class, default is 02 (hex)

subclass

USB interface subclass, default is 06 (hex)

protocol

USB interface protocol, default is 00 (hex)

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

Defined on file configfs-usb-gadget-tcm

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

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

Defined on file configfs-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 requests for 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 file configfs-usb-gadget-uac1_legacy

The attributes:

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

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

Defined on file configfs-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 requests for 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 file configfs-usb-gadget-uvc

UVC function directory

streaming_maxburst

0..15 (ss only)

streaming_maxpacket

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

streaming_interval

1..16

function_name

string [32]

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

Defined on file configfs-usb-gadget-uvc

Control descriptors

All attributes read only except enable_interrupt_ep:

bInterfaceNumber

USB interface number for this streaming interface

enable_interrupt_ep

flag to enable the interrupt endpoint for the VC interface

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

Defined on file configfs-usb-gadget-uvc

Class descriptors

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

Defined on file configfs-usb-gadget-uvc

Full speed control class descriptors

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

Defined on file configfs-usb-gadget-uvc

Super speed control class descriptors

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

Defined on file configfs-usb-gadget-uvc

Extension unit descriptors

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

Defined on file configfs-usb-gadget-uvc

Extension Unit (XU) Descriptor

bLength, bUnitID and iExtension are read-only. All others are read-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 terminals to which this XU is connected

bControlSize

size of the bmControls field in bytes

bmControls

list of bitmaps detailing which vendor specific controls are supported

iExtension

index of a string descriptor that describes this extension unit

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

Defined on file configfs-usb-gadget-uvc

Control header descriptors

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

Defined on file configfs-usb-gadget-uvc

Specific control header descriptors

dwClockFrequency bcdUVC

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

Defined on file configfs-usb-gadget-uvc

Processing unit descriptors

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

Defined on file configfs-usb-gadget-uvc

Default processing unit descriptors

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

iProcessing

index of string descriptor

bmControls

bitmap specifying which controls are supported for the video stream

wMaxMultiplier

maximum digital magnification x100

bSourceID

id of the terminal to which this unit is connected

bUnitID

a non-zero id of this unit

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

Defined on file configfs-usb-gadget-uvc

Terminal descriptors

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

Defined on file configfs-usb-gadget-uvc

Camera terminal descriptors

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

Defined on file configfs-usb-gadget-uvc

Default camera terminal descriptors

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

bmControls

bitmap specifying which controls are supported for the video stream

wOcularFocalLength

the value of Locular

wObjectiveFocalLengthMax

the value of Lmin

wObjectiveFocalLengthMin

the value of Lmax

iTerminal

index of string descriptor

bAssocTerminal

id of the output terminal to which this terminal is connected

wTerminalType

terminal type

bTerminalID

a non-zero id of this terminal

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

Defined on file configfs-usb-gadget-uvc

Output terminal descriptors

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

Defined on file configfs-usb-gadget-uvc

Default output terminal descriptors

All attributes read only except bSourceID:

iTerminal

index of string descriptor

bSourceID

id of the terminal to which this terminal is connected

bAssocTerminal

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

wTerminalType

terminal type

bTerminalID

a non-zero id of this terminal

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

Defined on file configfs-usb-gadget-uvc

Streaming descriptors

All attributes read only:

bInterfaceNumber

USB interface number for this streaming interface

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

Defined on file configfs-usb-gadget-uvc

Streaming class descriptors

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

Defined on file configfs-usb-gadget-uvc

Full speed streaming class descriptors

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

Defined on file configfs-usb-gadget-uvc

High speed streaming class descriptors

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

Defined on file configfs-usb-gadget-uvc

Super speed streaming class descriptors

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

Defined on file configfs-usb-gadget-uvc

Color matching descriptors

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

Defined on file configfs-usb-gadget-uvc

Default color matching descriptors

All attributes read/write:

bMatrixCoefficients

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

bTransferCharacteristics

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

bColorPrimaries

color primaries and the reference white

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

Defined on file configfs-usb-gadget-uvc

Additional color matching descriptors

All attributes read/write:

bMatrixCoefficients

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

bTransferCharacteristics

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

bColorPrimaries

color primaries and the reference white

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

Defined on file configfs-usb-gadget-uvc

Framebased format descriptors

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

Defined on file configfs-usb-gadget-uvc

Specific framebased format descriptors

bFormatIndex

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

bmaControls

this format’s data for bmaControls in the streaming header

bmInterlaceFlags

specifies interlace information, read-only

bAspectRatioY

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

bAspectRatioX

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

bDefaultFrameIndex

optimum frame index for this stream

bBitsPerPixel

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

guidFormat

globally unique id used to identify stream-encoding format

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

Defined on file configfs-usb-gadget-uvc

Specific framebased frame descriptors

bFrameIndex

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

dwFrameInterval

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

dwDefaultFrameInterval

the frame interval the device would like to use as default

dwBytesPerLine

Specifies the number of bytes per line of video for packed fixed frame size formats, allowing the receiver to perform stride alignment of the video. If the bVariableSize value (above) is TRUE (1), or if the format does not permit such alignment, this value shall be set to zero (0).

dwMaxBitRate

the maximum bit rate at the shortest frame interval in bps

dwMinBitRate

the minimum bit rate at the longest frame interval in bps

wHeight

height of decoded bitmap frame in px

wWidth

width of decoded bitmam frame in px

bmCapabilities

still image support, fixed frame-rate support

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

Defined on file configfs-usb-gadget-uvc

Streaming header descriptors

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

Defined on file configfs-usb-gadget-uvc

Specific streaming header descriptors

All attributes read only:

bTriggerUsage

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

bTriggerSupport

flag specifying if hardware triggering is supported

bStillCaptureMethod

method of still image capture supported

bTerminalLink

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

bmInfo

capabilities of this video streaming interface

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

Defined on file configfs-usb-gadget-uvc

MJPEG format descriptors

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

Defined on file configfs-usb-gadget-uvc

Specific MJPEG format descriptors

All attributes read only, except bmaControls and bDefaultFrameIndex:

bFormatIndex

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

bmaControls

this format’s data for bmaControls in the streaming header

bmInterlaceFlags

specifies interlace information, read-only

bAspectRatioY

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

bAspectRatioX

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

bmFlags

characteristics of this format, read-only

bDefaultFrameIndex

optimum frame index for this stream

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

Defined on file configfs-usb-gadget-uvc

Specific MJPEG frame descriptors

bFrameIndex

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

dwFrameInterval

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

dwDefaultFrameInterval

the frame interval the device would like to use as default

dwMaxVideoFrameBufferSize

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

dwMaxBitRate

the maximum bit rate at the shortest frame interval in bps

dwMinBitRate

the minimum bit rate at the longest frame interval in bps

wHeight

height of decoded bitmap frame in px

wWidth

width of decoded bitmam frame in px

bmCapabilities

still image support, fixed frame-rate support

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

Defined on file configfs-usb-gadget-uvc

Uncompressed format descriptors

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

Defined on file configfs-usb-gadget-uvc

Specific uncompressed format descriptors

bFormatIndex

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

bmaControls

this format’s data for bmaControls in the streaming header

bmInterlaceFlags

specifies interlace information, read-only

bAspectRatioY

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

bAspectRatioX

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

bDefaultFrameIndex

optimum frame index for this stream

bBitsPerPixel

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

guidFormat

globally unique id used to identify stream-encoding format

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

Defined on file configfs-usb-gadget-uvc

Specific uncompressed frame descriptors

bFrameIndex

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

dwFrameInterval

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

dwDefaultFrameInterval

the frame interval the device would like to use as default

dwMaxVideoFrameBufferSize

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

dwMaxBitRate

the maximum bit rate at the shortest frame interval in bps

dwMinBitRate

the minimum bit rate at the longest frame interval in bps

wHeight

height of decoded bitmap frame in px

wWidth

width of decoded bitmam frame in px

bmCapabilities

still image support, fixed frame-rate support

/config/usb-gadget/gadget/os_desc

Defined on file configfs-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 and per-interface requests

qw_sign

an identifier to be reported as “OS String” proper

/config/usb-gadget/gadget/strings

Defined on file configfs-usb-gadget

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

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

Defined on file configfs-usb-gadget

The attributes:

serialnumber

gadget’s serial number (string)

product

gadget’s product description

manufacturer

gadget’s manufacturer description

/config/usb-gadget/gadget/webusb

Defined on file configfs-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 file gpio-cdev

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

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

See GPIO Character Device Userspace API for a description of all ioctls.

close(2)

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

Users:

TBD

Symbols under /dev/kmsg

/dev/kmsg

Defined on file dev-kmsg

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

Injecting messages:

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

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

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

Accessing the buffer:

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

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

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

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

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

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

The device supports seek with the following parameters:

SEEK_SET, 0

seek to the first entry in the buffer

SEEK_END, 0

seek after the last entry in the buffer

SEEK_DATA, 0

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

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

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

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

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

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

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

Example:

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

The DEVICE= key uniquely identifies devices the following way:

b12:8

block dev_t

c127:3

char dev_t

n8

netdev ifindex

+sound:card0

subsystem:devname

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

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

Users:

dmesg(1), userspace kernel log consumers

Symbols under /dev/rtcX

/dev/rtcX

Defined on file rtc-cdev

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

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

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

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

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

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

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

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

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

  • RTC_VL_CLEAR: Clear the voltage status of the RTC. Some RTCs need user interaction when the backup power provider is replaced or charged to be able to clear the status.

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

Symbols under /dev/wmi

/dev/wmi/dell-smbios

Defined on file dell-smbios-wmi

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

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

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

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

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

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

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

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

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

  3. Be sure to free up your allocated object.

Symbols under /kvd

/kvd/

Defined on file devlink-resource-mlxsw

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

Symbols under /kvd/hash_double

/kvd/hash_double

Defined on file devlink-resource-mlxsw

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

Symbols under /kvd/hash_single

/kvd/hash_single

Defined on file devlink-resource-mlxsw

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

Symbols under /kvd/linear

/kvd/linear

Defined on file devlink-resource-mlxsw

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

Symbols under /proc

/proc/*/attr/current

Defined on file procfs-attr-current

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

Users:

SELinux user-space Smack user-space AppArmor user-space

/proc/*/attr/exec

Defined on file procfs-attr-exec

The security information to be used on the process by a Linux security module (LSM) active on the system after a subsequent exec() call. The details of permissions required to read from this interface and hence obtain the security state of the task identified is LSM dependent. A process cannot write to this interface unless it refers to itself. The other details of permissions required to write to this interface and hence change the security state of the task identified are LSM dependent. The format of the data used by this interface is LSM dependent. SELinux and AppArmor provide this interface.

Users:

SELinux user-space AppArmor user-space

/proc/*/attr/prev

Defined on file procfs-attr-prev

The security information used on the process by a Linux security module (LSM) active on the system prior to the most recent exec() call. The details of permissions required to read from this interface is LSM dependent. A process cannot write to this interface unless it refers to itself. The other details of permissions required to write to this interface are LSM dependent. The format of the data used by this interface is LSM dependent. SELinux and AppArmor provide this interface.

Users:

SELinux user-space AppArmor user-space

Symbols under /proc/diskstats

/proc/diskstats

Defined on file procfs-diskstats

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

1

major number

2

minor 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 discard tracking 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 to I/O statistics fields

Symbols under /proc/pid

/proc/pid/smaps_rollup

Defined on file procfs-smaps_rollup

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

Typical output looks like this:

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

Symbols under /sys

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

Defined on file sysfs-bus-vfio-mdev

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

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

Defined on file sysfs-bus-vfio-mdev

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

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

Defined on file sysfs-bus-vfio-mdev

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

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

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

Defined on file sysfs-bus-vfio-mdev

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

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

Defined on file sysfs-bus-vfio-mdev

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

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

Defined on file sysfs-devices-vfio-dev

This directory is created when the device is bound to a vfio driver. The layout under this directory matches what exists for a standard ‘struct device’. ‘X’ is a unique index marking this device in vfio.

/sys/.../events/illuminance_threshY_falling_value

/sys/.../events/illuminance_threshY_raising_value

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

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

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

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

/sys/.../events/in_accel_gesture_doubletap_tap2_min_delay

Defined on file sysfs-bus-iio

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

/sys/.../events/in_accel_gesture_doubletap_tap2_min_delay_available

Defined on file sysfs-bus-iio

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

/sys/.../events/in_accel_gesture_singletap_en

/sys/.../events/in_accel_gesture_doubletap_en

Defined on file sysfs-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 file sysfs-bus-iio

Specifies the timeout value in seconds for the tap detector to not to look for another tap event after the event as occurred. Basically the minimum quiet time between the two single-tap’s or two double-tap’s.

/sys/.../events/in_accel_gesture_singletap_value

/sys/.../events/in_accel_gesture_doubletap_value

Defined on file sysfs-bus-iio

Specifies the threshold value that the device is comparing against to generate the tap gesture event. The lower threshold 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 file sysfs-bus-iio

Specifies the maximum time difference allowed between upper and 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 file sysfs-bus-iio

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

/sys/.../events/in_accel_gesture_tap_reset_timeout_available

Defined on file sysfs-bus-iio

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

/sys/.../events/in_accel_gesture_tap_value_available

Defined on file sysfs-bus-iio

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

/sys/.../events/in_accel_gesture_tap_wait_dur

Defined on file sysfs-bus-iio

Timeout value in seconds for tap gesture confirmation.

/sys/.../events/in_accel_gesture_tap_wait_dur_available

Defined on file sysfs-bus-iio

List of available timeout value for tap gesture confirmation.

/sys/.../events/in_accel_gesture_tap_wait_timeout

Defined on file sysfs-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 file sysfs-bus-iio

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

/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 file sysfs-bus-iio

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

If separate attributes exist for the two directions, but direction is not specified for this attribute, then a single threshold value applies to both directions.

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

/sys/.../events/in_accel_period_available

Defined on file sysfs-bus-iio

List of available periods for accelerometer event detection in seconds, 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 file sysfs-bus-iio

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

/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 file sysfs-bus-iio

Specifies the value of rate of change threshold that the device is comparing against for the events enabled by <type>[Y][_name]_roc[_rising|falling]_en.

If separate attributes exist for the two directions, but direction is not specified for this attribute, then a single threshold value applies to both directions. The raw or input element of the name indicates whether the value is in raw device units or in processed units (as _raw and _input do on sysfs direct channel read attributes).

/sys/.../events/in_accel_scale

/sys/.../events/in_accel_peak_scale

/sys/.../events/in_anglvel_scale

/sys/.../events/in_magn_scale

/sys/.../events/in_rot_from_north_magnetic_scale

/sys/.../events/in_rot_from_north_true_scale

/sys/.../events/in_voltage_scale

/sys/.../events/in_voltage_supply_scale

/sys/.../events/in_temp_scale

/sys/.../events/in_illuminance_scale

/sys/.../events/in_proximity_scale

Defined on file sysfs-bus-iio

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

/sys/.../events/in_accel_thresh_rising_high_pass_filter_3db

/sys/.../events/in_anglvel_thresh_rising_high_pass_filter_3db

/sys/.../events/in_magn_thresh_rising_high_pass_filter_3db

Defined on file sysfs-bus-iio

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

/sys/.../events/in_accel_thresh_rising_low_pass_filter_3db

/sys/.../events/in_anglvel_thresh_rising_low_pass_filter_3db

/sys/.../events/in_magn_thresh_rising_low_pass_filter_3db

Defined on file sysfs-bus-iio

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

/sys/.../events/in_accel_value_available

Defined on file sysfs-bus-iio

List of available threshold values for acceleration event generation. 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 file sysfs-bus-iio

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

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

/sys/.../events/in_activity_still_thresh_rising_en

/sys/.../events/in_activity_still_thresh_falling_en

/sys/.../events/in_activity_walking_thresh_rising_en

/sys/.../events/in_activity_walking_thresh_falling_en

/sys/.../events/in_activity_jogging_thresh_rising_en

/sys/.../events/in_activity_jogging_thresh_falling_en

/sys/.../events/in_activity_running_thresh_rising_en

/sys/.../events/in_activity_running_thresh_falling_en

Defined on file sysfs-bus-iio

Enables or disables activity events. Depending on direction an 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 file sysfs-bus-iio

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

/sys/.../events/in_capacitanceY_adaptive_thresh_rising_en

/sys/.../events/in_capacitanceY_adaptive_thresh_falling_en

Defined on file sysfs-bus-iio

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

/sys/.../events/in_illuminance0_threshY_hysteresis

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

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

/sys/.../events/in_illuminance0_thresh_either_en

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

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

/sys/.../events/in_proximity_thresh_either_runningcount

Defined on file sysfs-bus-iio

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

/sys/.../events/in_proximity_thresh_either_runningperiod

Defined on file sysfs-bus-iio

A running period of time (in seconds) for which in_proximity_thresh_either_runningcount amount of conditions must occur before an event is generated. If direction is not specified then this period applies to both directions.

/sys/.../events/in_steps_change_en

Defined on file sysfs-bus-iio

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

/sys/.../events/in_steps_change_value

Defined on file sysfs-bus-iio

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

/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 file sysfs-bus-iio

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

/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 file sysfs-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 file sysfs-bus-iio

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

/sys/.../iio:deviceX/events/in_accel_mag_en

/sys/.../iio:deviceX/events/in_accel_mag_rising_en

/sys/.../iio:deviceX/events/in_accel_mag_falling_en

/sys/.../iio:deviceX/events/in_accel_x_mag_en

/sys/.../iio:deviceX/events/in_accel_x_mag_rising_en

/sys/.../iio:deviceX/events/in_accel_x_mag_falling_en

/sys/.../iio:deviceX/events/in_accel_y_mag_en

/sys/.../iio:deviceX/events/in_accel_y_mag_rising_en

/sys/.../iio:deviceX/events/in_accel_y_mag_falling_en

/sys/.../iio:deviceX/events/in_accel_z_mag_en

/sys/.../iio:deviceX/events/in_accel_z_mag_rising_en

/sys/.../iio:deviceX/events/in_accel_z_mag_falling_en

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

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

Defined on file sysfs-bus-iio

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

/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 file sysfs-bus-iio

Similar to in_accel_mag[_y][_rising|_falling]_en, but the event value is relative to a reference magnitude. The reference magnitude includes 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 file sysfs-bus-iio

The value to which the reference magnitude of the channel is compared. If the axis is not specified, it applies to all channels of 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 file sysfs-bus-iio

Similar to in_accel_x_thresh[_rising|_falling]_en, but here the magnitude 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 file sysfs-bus-iio

Event generated when channel passes a threshold on the rate of change (1st differential) in the specified (_rising|_falling) direction. If the direction is not specified, then either the device will report an event which ever direction a single threshold value is passed in (e.g. <type>[Y][_name]_<raw|input>_roc_value) or <type>[Y][_name]_<raw|input>_roc_rising_value and <type>[Y][_name]_<raw|input>_roc_falling_value may take different values, but the device can only enable both rate of change thresholds or neither.

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

/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 file sysfs-bus-iio

Event generated when channel passes a threshold in the specified (_rising|_falling) direction. If the direction is not specified, then either the device will report an event which ever direction a single threshold value is passed in (e.g. <type>[Y][_name]_<raw|input>_thresh_value) or <type>[Y][_name]_<raw|input>_thresh_rising_value and <type>[Y][_name]_<raw|input>_thresh_falling_value may take different values, but the device can only enable both thresholds or neither.

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

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

Defined on file sysfs-bus-iio

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

/sys/.../iio:deviceX/in_activity_still_input

/sys/.../iio:deviceX/in_activity_walking_input

/sys/.../iio:deviceX/in_activity_jogging_input

/sys/.../iio:deviceX/in_activity_running_input

Defined on file sysfs-bus-iio

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

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

Defined on file sysfs-bus-iio

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

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

Defined on file sysfs-bus-iio

Value representing the user’s attention to the system expressed in units as percentage. This usually means if the user is looking at the screen or not.

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

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

Defined on file sysfs-bus-iio-cdc-ad7746

Write 1 to trigger a calibration of the calibbias or calibscale. For calibscale, a full scale capacitance should be connected to the capacitance input and a calibscale_calibration then started. For calibbias see the device datasheet section on “capacitive system offset calibration”.

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

Defined on file sysfs-bus-iio

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

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

Defined on file sysfs-bus-iio

For differential channels, this an offset that is applied equally to both inputs. As the reading is of the difference between the two inputs, this should not be applied to the _raw reading by userspace (unlike _offset) and unlike calibbias it does not affect the differential value measured because the effect of _zeropoint cancels out across the two inputs that make up the differential pair. It’s purpose is to bring the individual signals, before the differential is measured, within the measurement range of the device. The naming is chosen because if the separate inputs that make the differential pair are drawn on a graph in their _raw units, this is the value that the zero point on the measurement axis represents. It is expressed with the same scaling as _raw.

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

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

Defined on file sysfs-bus-iio

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

/sys/.../iio:deviceX/in_energy_en

/sys/.../iio:deviceX/in_distance_en

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

/sys/.../iio:deviceX/in_steps_en

Defined on file sysfs-bus-iio

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

/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 file sysfs-bus-iio

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

/sys/.../iio:deviceX/in_illuminance_input

/sys/.../iio:deviceX/in_illuminance_raw

/sys/.../iio:deviceX/in_illuminanceY_input

/sys/.../iio:deviceX/in_illuminanceY_raw

/sys/.../iio:deviceX/in_illuminanceY_mean_raw

/sys/.../iio:deviceX/in_illuminance_ir_raw

/sys/.../iio:deviceX/in_illuminance_clear_raw

Defined on file sysfs-bus-iio

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

/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 file sysfs-bus-iio

Unit-less light intensity. Modifiers both and ir indicate that measurements contain visible and infrared light components or just infrared light, respectively. Modifier uv indicates that measurements contain ultraviolet light components. Modifiers uva, uvb and duv indicate that measurements contain A, B or deep (C) ultraviolet light components 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 file sysfs-bus-iio

This attribute is used to get/set the integration time in seconds. 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 file sysfs-bus-iio

Proximity measurement indicating that some object is near the sensor, usually by observing reflectivity of infrared or ultrasound emitted.

Often these sensors are unit less and as such conversion to SI units is not possible. Higher proximity measurements indicate closer objects, and vice versa. Units after application of scale and offset are meters.

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

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

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

Defined on file sysfs-bus-iio

The value of current sense resistor in Ohms.

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

Defined on file sysfs-bus-iio

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

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

Defined on file sysfs-bus-iio

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

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

Defined on file sysfs-bus-iio

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

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

Defined on file sysfs-bus-iio

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

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

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

Defined on file sysfs-bus-iio

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

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

Defined on file sysfs-bus-iio

Number of seconds in which to compute speed.

/sys/.../iio:deviceX/out_voltageY_powerdown_mode_available

/sys/.../iio:deviceX/out_voltage_powerdown_mode_available

/sys/.../iio:deviceX/out_altvoltageY_powerdown_mode_available

/sys/.../iio:deviceX/out_altvoltage_powerdown_mode_available

Defined on file sysfs-bus-iio

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

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

Defined on file sysfs-bus-iio

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

/sys/.../in_accel_filter_high_pass_3db_frequency

/sys/.../in_anglvel_filter_high_pass_3db_frequency

/sys/.../in_magn_filter_high_pass_3db_frequency

Defined on file sysfs-bus-iio

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

/sys/.../in_accel_filter_low_pass_3db_frequency

/sys/.../in_magn_filter_low_pass_3db_frequency

/sys/.../in_anglvel_filter_low_pass_3db_frequency

Defined on file sysfs-bus-iio

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

/sys/.../in_capacitanceY_adaptive_thresh_rising_timeout

/sys/.../in_capacitanceY_adaptive_thresh_falling_timeout

Defined on file sysfs-bus-iio

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

/sys/.../map_seg14

Defined on file sysfs-auxdisplay-linedisp

Read/write binary blob representing the ASCII-to-14-segment display conversion table used by the linedisp driver, as defined by struct seg14_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 the struct size exactly, else -EINVAL is returned; reads return the entire mapping as a binary blob.

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

ABI note: This style of binary sysfs attribute is an exception to current “one value per file, text only” sysfs rules, for historical compatibility and driver uniformity. New drivers are discouraged from introducing additional binary sysfs ABIs.

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

/sys/.../map_seg7

Defined on file sysfs-auxdisplay-linedisp

Read/write binary blob representing the ASCII-to-7-segment display conversion table used by the linedisp driver, as defined by struct seg7_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 the struct size exactly, else -EINVAL is returned; reads return the entire mapping as a binary blob.

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

ABI note: This style of binary sysfs attribute is an exception to current “one value per file, text only” sysfs rules, for historical compatibility and driver uniformity. New drivers are discouraged 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 file sysfs-bus-vfio-mdev

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

Users:

Userspace applications interested in creating mediated device of that type. Userspace application should check the number of available instances could be created before creating mediated device of this type.

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

Defined on file sysfs-bus-vfio-mdev

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

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

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

Defined on file sysfs-bus-vfio-mdev

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

Users:

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

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

Defined on file sysfs-bus-vfio-mdev

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

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

Defined on file sysfs-bus-vfio-mdev

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

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

Defined on file sysfs-bus-vfio-mdev

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

Users:

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

/sys/.../message

Defined on file sysfs-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 the display width will automatically scroll. Trailing newlines in input are automatically trimmed.

Writing an empty string clears the display.

Example:

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

/sys/.../num_chars

Defined on file sysfs-auxdisplay-linedisp

Read-only attribute showing the character width capacity of the 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 file sysfs-auxdisplay-linedisp

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

Setting to 0 disables scrolling. Default is 500ms.

Example:

echo “250” > scroll_step_ms # 4Hz scrolling cat scroll_step_ms # Returns “250n”

/sys/.../uevent

Defined on file sysfs-uevent

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

Recognized extended format is:

ACTION [UUID [KEY=VALUE ...]

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

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

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

The KEY=VALUE pairs can contain alphanumeric characters only.

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

Example of valid sequence written to the uevent file:

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

This generates synthetic uevent including these variables:

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

udev, userspace tools generating synthetic uevents

Symbols under /sys/block

/sys/block/*/device/cdl_enable

Defined on file sysfs-block-device

(RW) For a device supporting the command duration limits feature, 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 duration limits for read and write commands in the kernel and turns on the feature on the device. Writing “0” disables the feature.

/sys/block/*/device/cdl_supported

Defined on file sysfs-block-device

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

/sys/block/*/device/ncq_prio_enable

Defined on file sysfs-block-device

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

/sys/block/*/device/ncq_prio_supported

Defined on file sysfs-block-device

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

/sys/block/*/device/sas_ncq_prio_enable

Defined on file sysfs-block-device

(RW) This is the equivalent of the ncq_prio_enable attribute file 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 implement support for the SATA NCQ priority feature, regardless of the device support for this feature (see sas_ncq_prio_supported).

/sys/block/*/device/sas_ncq_prio_supported

Defined on file sysfs-block-device

(RO) This is the equivalent of the ncq_prio_supported attribute file 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 implement support for the SATA NCQ priority feature, regardless of the device support for this feature.

/sys/block/*/device/sw_activity

Defined on file sysfs-block-device

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

It has the following valid values:

0

OFF - the LED is not activated on activity

1

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

2

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

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

/sys/block/*/device/unload_heads

Defined on file sysfs-block-device

(RW) Hard disk shock protection

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

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

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

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

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

  • Values below -2 are rejected with -EINVAL

For more information, see Hard disk shock protection

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

Defined on file sysfs-cfq-target-latency

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

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

Defined on file sysfs-block-bcache

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

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

Defined on file sysfs-block-bcache

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

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

Defined on file sysfs-block-bcache

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

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

Defined on file sysfs-block-bcache

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

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

Defined on file sysfs-block-bcache

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

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

Defined on file sysfs-block-bcache

For backing devices: cache hits as a percentage.

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

Defined on file sysfs-block-bcache

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

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

Defined on file sysfs-block-bcache

For backing devices: integer number of cache misses.

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

Defined on file sysfs-block-bcache

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

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

Defined on file sysfs-block-bcache

For a cache, the number of usable buckets.

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

Defined on file sysfs-block-bcache

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

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

Defined on file sysfs-block-bcache

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

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

Defined on file sysfs-block-bcache

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

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

Defined on file sysfs-block-bcache

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

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

Defined on file sysfs-block-bcache

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

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

Defined on file sysfs-block-bcache

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

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

Defined on file sysfs-block-bcache

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

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

Defined on file sysfs-block-bcache

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

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

Defined on file sysfs-block-bcache

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

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

Defined on file sysfs-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 file sysfs-block-dm

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

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

Defined on file sysfs-block-dm

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

Users:

util-linux, device-mapper udev rules

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

Defined on file sysfs-block-dm

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

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

Defined on file sysfs-block-dm

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

Users:

util-linux, device-mapper udev rules

/sys/block/etherd*/firmware-version

Defined on file sysfs-block-aoe

(RO) Version of the firmware in the target.

/sys/block/etherd*/mac

Defined on file sysfs-block-aoe

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

/sys/block/etherd*/netif

Defined on file sysfs-block-aoe

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

/sys/block/etherd*/payload

Defined on file sysfs-block-aoe

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

/sys/block/etherd*/state

Defined on file sysfs-block-aoe

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

/sys/block/loopX/loop/autoclear

Defined on file sysfs-block-loop

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

/sys/block/loopX/loop/backing_file

Defined on file sysfs-block-loop

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

/sys/block/loopX/loop/dio

Defined on file sysfs-block-loop

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

/sys/block/loopX/loop/offset

Defined on file sysfs-block-loop

(RO) Start offset (in bytes).

/sys/block/loopX/loop/partscan

Defined on file sysfs-block-loop

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

/sys/block/loopX/loop/sizelimit

Defined on file sysfs-block-loop

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

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

Defined on file sysfs-block-rnbd

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

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

Defined on file sysfs-block-rnbd

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

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

Defined on file sysfs-block-rnbd

Contains the number of poll-mode queues

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

Defined on file sysfs-block-rnbd

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

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

Defined on file sysfs-block-rnbd

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

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

Defined on file sysfs-block-rnbd

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

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

Defined on file sysfs-block-rnbd

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

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

Defined on file sysfs-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 process is using the device. When “force” is used, the device is also unmapped when 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 file sysfs-block-rssd

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

/sys/block/zram<id>/algorithm_params

Defined on file sysfs-block-zram

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

/sys/block/zram<id>/backing_dev

Defined on file sysfs-block-zram

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

/sys/block/zram<id>/bd_stat

Defined on file sysfs-block-zram

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

/sys/block/zram<id>/comp_algorithm

Defined on file sysfs-block-zram

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

/sys/block/zram<id>/compact

Defined on file sysfs-block-zram

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

/sys/block/zram<id>/compressed_writeback

Defined on file sysfs-block-zram

The compressed_writeback device atrribute toggles compressed writeback feature.

/sys/block/zram<id>/debug_stat

Defined on file sysfs-block-zram

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

/sys/block/zram<id>/disksize

Defined on file sysfs-block-zram

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

/sys/block/zram<id>/idle

Defined on file sysfs-block-zram

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

/sys/block/zram<id>/initstate

Defined on file sysfs-block-zram

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

/sys/block/zram<id>/io_stat

Defined on file sysfs-block-zram

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

/sys/block/zram<id>/mem_limit

Defined on file sysfs-block-zram

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

/sys/block/zram<id>/mem_used_max

Defined on file sysfs-block-zram

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

/sys/block/zram<id>/mm_stat

Defined on file sysfs-block-zram

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

/sys/block/zram<id>/recomp_algorithm

Defined on file sysfs-block-zram

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

/sys/block/zram<id>/recompress

Defined on file sysfs-block-zram

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

/sys/block/zram<id>/reset

Defined on file sysfs-block-zram

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

/sys/block/zram<id>/writeback

Defined on file sysfs-block-zram

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

/sys/block/zram<id>/writeback_batch_size

Defined on file sysfs-block-zram

The writeback_batch_size device atrribute sets the maximum number of in-flight writeback operations.

/sys/block/zram<id>/writeback_limit

Defined on file sysfs-block-zram

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

/sys/block/zram<id>/writeback_limit_enable

Defined on file sysfs-block-zram

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

Symbols under /sys/bus

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

Defined on file sysfs-driver-ufs

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

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

Defined on file sysfs-driver-intel-m10-bmc

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

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

Defined on file sysfs-driver-intel-m10-bmc

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

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

Defined on file sysfs-driver-intel-m10-bmc

Read only. Returns the first MAC address in a block of sequential MAC addresses assigned to the board that is managed by the Intel MAX10 BMC. It is stored in FLASH storage and is mirrored in the MAX10 BMC register space. Format: “%02x:%02x:%02x:%02x:%02x:%02x”.

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

Defined on file sysfs-driver-intel-m10-bmc

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

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

Defined on file sysfs-bus-acpi

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

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

Defined on file sysfs-bus-acpi

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

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

Defined on file sysfs-bus-acpi

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

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

Defined on file sysfs-bus-acpi

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

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

Defined on file sysfs-bus-acpi

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

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

Defined on file sysfs-bus-acpi

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

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

Defined on file sysfs-bus-acpi

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

This file is not present for device objects representing fixed ACPI hardware features (like power and sleep buttons).

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

Defined on file sysfs-bus-acpi

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

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

Bit [0]

Set if the device is present.

Bit [1]

Set if the device is enabled and decoding its resources.

Bit [2]

Set if the device should be shown in the UI.

Bit [3]

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

Bit [4]

Set if the battery is present.

Bits [31:5]

Reserved (must be cleared)

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

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

More special cases are covered in the ACPI specification.

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

Defined on file sysfs-bus-acpi

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

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

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

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

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

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

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

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

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

Defined on file sysfs-bus-amba

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

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

Defined on file sysfs-bus-auxiliary

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

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

Defined on file sysfs-driver-intel_sdsi

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

Some files communicate with On Demand hardware through a mailbox. Should the operation fail, one of the following error codes 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 data exceeds 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 file sysfs-driver-intel_sdsi

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

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

Defined on file sysfs-driver-intel_sdsi

(RO) Used to read back the current meter certificate for the CPU from Intel On Demand hardware. The meter certificate contains utilization metrics of On Demand enabled features. Mailbox command.

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

Defined on file sysfs-driver-intel_sdsi

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

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

Defined on file sysfs-driver-intel_sdsi

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

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

Defined on file sysfs-driver-intel_sdsi

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

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

Defined on file sysfs-driver-intel_sdsi

(RO) Used to read back the current state certificate for the CPU from On Demand hardware. The state certificate contains information about the current licenses on the CPU. Mailbox command.

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

Defined on file sysfs-bus-bcma

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

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

Defined on file sysfs-bus-bcma

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

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

Defined on file sysfs-bus-bcma

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

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

Defined on file sysfs-bus-bcma

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

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

Defined on file sysfs-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 file sysfs-bus-cdx

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

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

Defined on file sysfs-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 file gives 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 file sysfs-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 file sysfs-bus-cdx

Writing y/1/on to this file removes the corresponding device from the CDX bus. If the device is to be reconfigured reconfigured in the Hardware, the device can be removed, so that the device driver does not access the device while it is being reconfigured.

For example:

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

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

Defined on file sysfs-bus-cdx

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

For example:

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

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

Defined on file sysfs-bus-cdx

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

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

Defined on file sysfs-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 file sysfs-bus-cdx

Subsystem Device ID for this CDX device, in hexadecimal Subsystem Device ID is 16 bit identifier specific to the card manufacturer.

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

Defined on file sysfs-bus-cdx

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

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

Defined on file sysfs-bus-cdx

Vendor ID for this CDX device, in hexadecimal. Vendor ID is 16 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 file sysfs-bus-cdx

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

For example:

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

/sys/bus/coreboot

Defined on file sysfs-bus-coreboot

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

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

Defined on file sysfs-bus-coreboot

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

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

Defined on file sysfs-bus-coreboot

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

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

Defined on file sysfs-bus-coreboot

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

The mode of this file is 0600. While there shouldn’t be anything security-sensitive contained in CBMEM, read access requires root privileges given this is exposing a small subset of physical memory.

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

Defined on file sysfs-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 file sysfs-bus-coresight-devices-cti

(Write) Deactivate a single channel.

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

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

(Read) show channels with no attached trigger signals.

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

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

(Write) Disable CTIGATE for single channel.

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

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

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

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

Defined on file sysfs-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 file sysfs-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 file sysfs-bus-coresight-devices-cti

(Write) Activate a single channel.

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

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

(Read) Read to see input triggers connected to selected view channel.

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

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

(Read) Read to see output triggers connected to selected view channel.

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

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

(Write) Clear all channel / trigger programming.

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

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

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

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

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

(RW) Enable or disable trigger output signal filtering.

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

Defined on file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-bus-coresight-devices-cti

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

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

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

(Read) Display the associated CTM ID

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

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

(RW) Enable/Disable the CTI hardware.

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

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

(Read) Show hardware context information of device.

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

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

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

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

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

(Read) Indicate if the CTI hardware is powered.

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

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

(Write) Write APPCLEAR register to deactivate channel.

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

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

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

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

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

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

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

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

(RW) Read or write ASICCTL register.

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

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

(Read) Read current status of channel inputs.

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

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

(Read) read current status of channel outputs.

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

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

(RW) Read or write CTIGATE register.

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

Defined on file sysfs-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 file sysfs-bus-coresight-devices-cti

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

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

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

(Write) Write the INTACK register.

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

Defined on file sysfs-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 file sysfs-bus-coresight-devices-cti

(Read) read current status of input trigger signals

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

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

(Read) read current status of output trigger signals.

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

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

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

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

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

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

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

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

(Read) Name of connected device <N>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(RW) Specifies the counter to work on.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(Read) Holds the current state of the sequencer.

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

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

(RW) Defines which event triggers a trace.

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

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

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

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

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

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

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

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

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

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

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

(Read) Show hardware context information of device.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Defined on file sysfs-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 file sysfs-bus-coresight-devices-etm3x

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(RW) Define the event that controls the trigger.

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

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

(RW) Add/remove a sink from a trace path. There can be multiple source for a single sink.

ex:

echo 1 > /sys/bus/coresight/devices/20010000.etb/enable_sink

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

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

(Read) Show hardware context information of device.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/sys/bus/coresight/devices/<memory_map>.funnel/funnel_ctrl

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

(RW) Enables the slave ports and defines the hold time of the slave ports.

/sys/bus/coresight/devices/<memory_map>.funnel/label

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

(Read) Show hardware context information of device.

/sys/bus/coresight/devices/<memory_map>.funnel/priority

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

(RW) Defines input port priority order.

/sys/bus/coresight/devices/<memory_map>.stm/enable_source

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

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

/sys/bus/coresight/devices/<memory_map>.stm/hwevent_enable

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

(RW) Provides access to the HW event enable register, used in conjunction with HW event bank select register.

/sys/bus/coresight/devices/<memory_map>.stm/hwevent_select

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

(RW) Gives access to the HW event block select register (STMHEBSR) in order to configure up to 256 channels. Used in conjunction with “hwevent_enable” register as described above.

/sys/bus/coresight/devices/<memory_map>.stm/label

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

(Read) Show hardware context information of device.

/sys/bus/coresight/devices/<memory_map>.stm/port_enable

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

(RW) Provides access to the stimulus port enable register (STMSPER). Used in conjunction with “port_select” described below.

/sys/bus/coresight/devices/<memory_map>.stm/port_select

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

(RW) Used to determine which bank of stimulus port bit in register STMSPER (see above) apply to.

/sys/bus/coresight/devices/<memory_map>.stm/status

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

(Read) List various control and status registers. The specific layout and content is driver specific.

/sys/bus/coresight/devices/<memory_map>.stm/traceid

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

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

/sys/bus/coresight/devices/<memory_map>.tmc/buf_mode_preferred

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

(RW) Current Coresight TMC-ETR buffer mode selected. But user could only provide a mode which is supported for a given ETR device. This file is available only for TMC ETR devices.

/sys/bus/coresight/devices/<memory_map>.tmc/buf_modes_available

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

(Read) Shows all supported Coresight TMC-ETR buffer modes available for the users to configure explicitly. This file is available only for TMC ETR devices.

/sys/bus/coresight/devices/<memory_map>.tmc/buffer_size

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

(RW) Size of the trace buffer for TMC-ETR when used in SYSFS mode. Writable only for TMC-ETR configurations. The value should be aligned to the kernel pagesize.

/sys/bus/coresight/devices/<memory_map>.tmc/label

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

(Read) Show hardware context information of device.

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

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

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

/sys/bus/coresight/devices/<memory_map>.tmc/mgmt/devid

Defined on file sysfs-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 file sysfs-bus-coresight-devices-tmc

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

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

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

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

/sys/bus/coresight/devices/<memory_map>.tmc/mgmt/mode

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

(Read) Shows the value held by the TMC Mode register, which indicate the mode the device has been configured to enact. The The value is read directly from the MODE register, 0x028.

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

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

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

/sys/bus/coresight/devices/<memory_map>.tmc/mgmt/rsz

Defined on file sysfs-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 file sysfs-bus-coresight-devices-tmc

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

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

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

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

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

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

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

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

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

(RW) Disables write access to the Trace RAM by stopping the formatter after a defined number of words have been stored following the trigger event. Additional interface for this driver are expected to be added as it matures.

/sys/bus/coresight/devices/<tpda-name>/cmbchan_mode

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

(RW) Configure the CMB/MCMB channel mode for all enabled ports. Value 0 means raw channel mapping mode. Value 1 means channel pair marking mode.

/sys/bus/coresight/devices/<tpda-name>/freq_ts_enable

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

(RW) Enable/disable the timestamp for all FREQ packets.

/sys/bus/coresight/devices/<tpda-name>/global_flush_req

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

(RW) Set global (all ports) flush request bit. The bit remains set until a global flush request sequence completes.

/sys/bus/coresight/devices/<tpda-name>/port_flush_req

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

(RW) Configure the bit i to requests a flush operation of port i on the TPDA. The requested bit(s) remain set until the flush request completes.

/sys/bus/coresight/devices/<tpda-name>/syncr_count

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

(RW) Set value the of the syncr counter. Range: 0-4095

/sys/bus/coresight/devices/<tpda-name>/syncr_mode

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

(RW) Set mode the of the syncr counter. mode 0 - COUNT[11:0] value represents the approximate number of bytes moved between two ASYNC packet requests mode 1 - the bits COUNT[11:7] are used as a power of 2. for example, we could insert an async packet every 8K data by writing a value 13 to the COUNT[11:7] field.

/sys/bus/coresight/devices/<tpda-name>/trig_async_enable

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

(RW) Enable/disable cross trigger synchronization sequence interface.

/sys/bus/coresight/devices/<tpda-name>/trig_flag_ts_enable

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

(RW) Enable/disable cross trigger FLAG packet request interface.

/sys/bus/coresight/devices/<tpda-name>/trig_freq_enable

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

(RW) Enable/disable cross trigger FREQ packet request interface.

/sys/bus/coresight/devices/<tpdm-name>/cmb_mode

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

(Write) Set the data collection mode of CMB tpdm. Continuous change creates CMB data set elements on every CMBCLK edge. Trace-on-change creates CMB data set elements only when a new data set element differs in value from the previous element in 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 file sysfs-bus-coresight-devices-tpdm

(RW) Set/Get the MSR(mux select register) for the CMB subunit TPDM.

/sys/bus/coresight/devices/<tpdm-name>/cmb_patt/enable_ts

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

(Write) Set the pattern timestamp of CMB tpdm. Read the 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 file sysfs-bus-coresight-devices-tpdm

(RW) Set/Get the mask of the trigger pattern for the CMB subunit TPDM.

/sys/bus/coresight/devices/<tpdm-name>/cmb_trig_patt/xpr[0:1]

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

(RW) Set/Get the value of the trigger pattern for the CMB subunit TPDM.

/sys/bus/coresight/devices/<tpdm-name>/cmb_trig_ts

Defined on file sysfs-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 false 1 : Set the CMB trigger type to true

/sys/bus/coresight/devices/<tpdm-name>/cmb_ts_all

Defined on file sysfs-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 request timestamp 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 file sysfs-bus-coresight-devices-tpdm

(RW) Set/Get the index number of the edge detection for the DSB subunit TPDM. Since there are at most 256 edge detections, this value ranges from 0 to 255.

/sys/bus/coresight/devices/<tpdm-name>/dsb_edge/ctrl_mask

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

Write a data to mask the edge detection corresponding to the index number. Before writing data to this sysfs file, “ctrl_idx” should be written first to configure the index number of the edge detection which 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 file sysfs-bus-coresight-devices-tpdm

Write a data to control the edge detection corresponding to the index number. Before writing data to this sysfs file, “ctrl_idx” should be written first to configure the index number of the edge detection which needs to be controlled.

Accepts only one of the following values. 0 - Rising edge detection 1 - Falling edge detection 2 - Rising and falling edge detection (toggle detection)

/sys/bus/coresight/devices/<tpdm-name>/dsb_edge/edcmr[0:7]

Defined on file sysfs-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 file sysfs-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 file sysfs-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 data bits 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 high performance mode. Bit[4:8] : Select byte lane for high performance mode.

/sys/bus/coresight/devices/<tpdm-name>/dsb_msr/msr[0:31]

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

(RW) Set/Get the MSR(mux select register) for the DSB subunit TPDM.

/sys/bus/coresight/devices/<tpdm-name>/dsb_patt/enable_ts

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

(Write) Set the pattern timestamp of DSB tpdm. Read the 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 file sysfs-bus-coresight-devices-tpdm

(Write) Set the pattern type of DSB tpdm. Read the 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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-bus-coresight-devices-tpdm

(RW) Set/Get the mask of the trigger pattern for the DSB subunit TPDM.

/sys/bus/coresight/devices/<tpdm-name>/dsb_trig_patt/xpr[0:7]

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

(RW) Set/Get the value of the trigger pattern for the DSB subunit TPDM.

/sys/bus/coresight/devices/<tpdm-name>/dsb_trig_ts

Defined on file sysfs-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 false 1 : Set the DSB trigger type to true

/sys/bus/coresight/devices/<tpdm-name>/dsb_trig_type

Defined on file sysfs-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 false 1 : Set the DSB trigger type to true

/sys/bus/coresight/devices/<tpdm-name>/integration_test

Defined on file sysfs-bus-coresight-devices-tpdm

(Write) Run integration test for tpdm. Integration test will generate test data for tpdm. It can help to make sure that the trace path is enabled and the link configurations are fine.

Accepts only one of the 2 values - 1 or 2. 1 : Generate 64 bits data 2 : Generate 32 bits data

/sys/bus/coresight/devices/<tpdm-name>/label

Defined on file sysfs-bus-coresight-devices-tpdm

(Read) Show hardware context information of device.

/sys/bus/coresight/devices/<tpdm-name>/mcmb_lanes_select

Defined on file sysfs-bus-coresight-devices-tpdm

(RW) Set/Get the enablement of the individual lane.

/sys/bus/coresight/devices/<tpdm-name>/mcmb_trig_lane

Defined on file sysfs-bus-coresight-devices-tpdm

(RW) Set/Get which lane participates in the output pattern match cross trigger mechanism for the MCMB subunit TPDM.

/sys/bus/coresight/devices/<tpdm-name>/reset_dataset

Defined on file sysfs-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/<tpdm-name>/traceid

Defined on file sysfs-bus-coresight-devices-tpdm

(R) Show the trace ID that will appear in the trace stream coming from this TPDM. The trace ID is inherited from the connected TPDA device and is fixed for the lifetime of the device. Returns -EINVAL if the device has not been enabled yet.

/sys/bus/coresight/devices/dummy_source<N>/enable_source

Defined on file sysfs-bus-coresight-devices-dummy-source

(RW) Enable/disable tracing of dummy source. A sink should be activated before enabling the source. The path of coresight components linking the source to the sink is configured and managed automatically by the coresight framework.

/sys/bus/coresight/devices/dummy_source<N>/label

Defined on file sysfs-bus-coresight-devices-dummy-source

(Read) Show hardware context information of device.

/sys/bus/coresight/devices/dummy_source<N>/traceid

Defined on file sysfs-bus-coresight-devices-dummy-source

(R) Show the trace ID that will appear in the trace stream coming from this trace entity.

/sys/bus/coresight/devices/etm<N>/addr_cmp_view

Defined on file sysfs-bus-coresight-devices-etm4x

(Read) Print the current settings for the selected address comparator.

/sys/bus/coresight/devices/etm<N>/addr_exlevel_s_ns

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Set the Exception Level matching bits for secure and non-secure exception levels.

/sys/bus/coresight/devices/etm<N>/addr_idx

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Select which address comparator or pair (of comparators) to work with.

/sys/bus/coresight/devices/etm<N>/addr_instdatatype

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Controls what type of comparison the trace unit performs.

/sys/bus/coresight/devices/etm<N>/addr_range

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Used to setup address range comparator values.

/sys/bus/coresight/devices/etm<N>/addr_single

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Used to setup single address comparator values.

/sys/bus/coresight/devices/etm<N>/bb_ctrl

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Controls which regions in the memory map are enabled to use branch broadcasting.

/sys/bus/coresight/devices/etm<N>/cntr_ctrl

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Controls the operation of the selected counter.

/sys/bus/coresight/devices/etm<N>/cntr_idx

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Select which counter unit to work with.

/sys/bus/coresight/devices/etm<N>/cntr_val

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) This sets or returns the current count value of the specific counter.

/sys/bus/coresight/devices/etm<N>/cntrldvr

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) This sets or returns the reload count value of the specific counter.

/sys/bus/coresight/devices/etm<N>/cpu

Defined on file sysfs-bus-coresight-devices-etm4x

(Read) The CPU this tracing entity is associated with.

/sys/bus/coresight/devices/etm<N>/ctxid_idx

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Select which context ID comparator to work with.

/sys/bus/coresight/devices/etm<N>/ctxid_masks

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Mask for all 8 context ID comparator value registers (if implemented).

/sys/bus/coresight/devices/etm<N>/ctxid_pid

Defined on file sysfs-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 file sysfs-bus-coresight-devices-etm4x

(RW) Sets the threshold value for cycle counting.

/sys/bus/coresight/devices/etm<N>/enable_source

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Enable/disable tracing on this specific trace entiry. Enabling a source implies the source has been configured properly and a sink has been identidifed for it. The path of coresight components linking the source to the sink is configured and managed automatically by the coresight framework.

/sys/bus/coresight/devices/etm<N>/event

Defined on file sysfs-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 file sysfs-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 file sysfs-bus-coresight-devices-etm4x

(RW) Controls the insertion of global timestamps in the trace streams.

/sys/bus/coresight/devices/etm<N>/event_vinst

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Controls instruction trace filtering.

/sys/bus/coresight/devices/etm<N>/label

Defined on file sysfs-bus-coresight-devices-etm4x

(Read) Show hardware context information of device.

/sys/bus/coresight/devices/etm<N>/mgmt/trcauthstatus

Defined on file sysfs-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 file sysfs-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 file sysfs-bus-coresight-devices-etm4x

(Read) Print the content of the Device Architecture Register (offset 0xFBC). The value is taken directly read from the HW.

/sys/bus/coresight/devices/etm<N>/mgmt/trcdevid

Defined on file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-bus-coresight-devices-etm4x

(Read) Print the content of the trace ID register (0x040).

/sys/bus/coresight/devices/etm<N>/mode

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Controls various modes supported by this ETM, for example P0 instruction tracing, branch broadcast, cycle counting and context ID tracing.

/sys/bus/coresight/devices/etm<N>/nr_addr_cmp

Defined on file sysfs-bus-coresight-devices-etm4x

(Read) Indicates the number of address comparator pairs that are available for tracing.

/sys/bus/coresight/devices/etm<N>/nr_cntr

Defined on file sysfs-bus-coresight-devices-etm4x

(Read) Indicates the number of counters that are available for tracing.

/sys/bus/coresight/devices/etm<N>/nr_ext_inp

Defined on file sysfs-bus-coresight-devices-etm4x

(Read) Indicates how many external inputs are implemented.

/sys/bus/coresight/devices/etm<N>/nr_pe_cmp

Defined on file sysfs-bus-coresight-devices-etm4x

(Read) Indicates the number of PE comparator inputs that are available for tracing.

/sys/bus/coresight/devices/etm<N>/nr_resource

Defined on file sysfs-bus-coresight-devices-etm4x

(Read) Indicates the number of resource selection pairs that are available for tracing.

/sys/bus/coresight/devices/etm<N>/nr_ss_cmp

Defined on file sysfs-bus-coresight-devices-etm4x

(Read) Indicates the number of single-shot comparator controls that are available for tracing.

/sys/bus/coresight/devices/etm<N>/nrseqstate

Defined on file sysfs-bus-coresight-devices-etm4x

(Read) Indicates the number of sequencer states that are implemented.

/sys/bus/coresight/devices/etm<N>/ns_exlevel_vinst

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) In non-secure state, each bit controls whether instruction tracing is enabled for the corresponding exception level.

/sys/bus/coresight/devices/etm<N>/numcidc

Defined on file sysfs-bus-coresight-devices-etm4x

(Read) Indicates the number of Context ID comparators that are available for tracing.

/sys/bus/coresight/devices/etm<N>/numvmidc

Defined on file sysfs-bus-coresight-devices-etm4x

(Read) Indicates the number of VMID comparators that are available for tracing.

/sys/bus/coresight/devices/etm<N>/pe

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Controls which PE to trace.

/sys/bus/coresight/devices/etm<N>/res_ctrl

Defined on file sysfs-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 file sysfs-bus-coresight-devices-etm4x

(RW) Select which resource selection unit to work with.

/sys/bus/coresight/devices/etm<N>/reset

Defined on file sysfs-bus-coresight-devices-etm4x

(Write) Cancels all configuration on a trace unit and set it back to its boot configuration.

/sys/bus/coresight/devices/etm<N>/s_exlevel_vinst

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) In Secure state, each bit controls whether instruction tracing is enabled for the corresponding exception level.

/sys/bus/coresight/devices/etm<N>/seq_event

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Moves the sequencer state to a specific state.

/sys/bus/coresight/devices/etm<N>/seq_idx

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Select which sequensor.

/sys/bus/coresight/devices/etm<N>/seq_reset_event

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Moves the sequencer to state 0 when a programmed event occurs.

/sys/bus/coresight/devices/etm<N>/seq_state

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Use this to set, or read, the sequencer state.

/sys/bus/coresight/devices/etm<N>/sshot_ctrl

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Access the selected single shot control register.

/sys/bus/coresight/devices/etm<N>/sshot_idx

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Select the single shot control register to access.

/sys/bus/coresight/devices/etm<N>/sshot_pe_ctrl

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Access the selected single show PE comparator control register.

/sys/bus/coresight/devices/etm<N>/sshot_status

Defined on file sysfs-bus-coresight-devices-etm4x

(Read) Print the current value of the selected single shot status register.

/sys/bus/coresight/devices/etm<N>/syncfreq

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Controls how often trace synchronization requests occur.

/sys/bus/coresight/devices/etm<N>/trcidr/trcidr0

Defined on file sysfs-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 file sysfs-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 file sysfs-bus-coresight-devices-etm4x

(Read) Returns the number of P1 right-hand keys that the trace unit can use (0x188). The value is taken directly from the HW.

/sys/bus/coresight/devices/etm<N>/trcidr/trcidr11

Defined on file sysfs-bus-coresight-devices-etm4x

(Read) Returns the number of special P1 right-hand keys that the trace unit can use (0x18C). The value is taken directly from the HW.

/sys/bus/coresight/devices/etm<N>/trcidr/trcidr12

Defined on file sysfs-bus-coresight-devices-etm4x

(Read) Returns the number of conditional P1 right-hand keys that the trace unit can use (0x190). The value is taken directly from the HW.

/sys/bus/coresight/devices/etm<N>/trcidr/trcidr13

Defined on file sysfs-bus-coresight-devices-etm4x

(Read) Returns the number of special conditional P1 right-hand keys that the trace unit can use (0x194). The value is taken directly from the HW.

/sys/bus/coresight/devices/etm<N>/trcidr/trcidr2

Defined on file sysfs-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 file sysfs-bus-coresight-devices-etm4x

(Read) Returns the value associated with various resources available to the trace unit. See the Trace Macrocell architecture specification for more details (0x1E8). The value is taken directly from the HW.

/sys/bus/coresight/devices/etm<N>/trcidr/trcidr4

Defined on file sysfs-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 file sysfs-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 file sysfs-bus-coresight-devices-etm4x

(Read) Returns the maximum speculation depth of the instruction trace stream. (0x180). The value is taken directly from the HW.

/sys/bus/coresight/devices/etm<N>/trcidr/trcidr9

Defined on file sysfs-bus-coresight-devices-etm4x

(Read) Returns the number of P0 right-hand keys that the trace unit can use (0x184). The value is taken directly from the HW.

/sys/bus/coresight/devices/etm<N>/ts_source

Defined on file sysfs-bus-coresight-devices-etm4x

(Read) When FEAT_TRF is implemented, value of TRFCR_ELx.TS used for trace session. Otherwise -1 indicates an unknown time source. Check trcidr0.tssize to see if a global timestamp is available.

/sys/bus/coresight/devices/etm<N>/vinst_pe_cmp_start_stop

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Access the start stop control register for PE input comparators.

/sys/bus/coresight/devices/etm<N>/vmid_idx

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Select which virtual machine ID comparator to work with.

/sys/bus/coresight/devices/etm<N>/vmid_masks

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Mask for all 8 virtual machine ID comparator value registers (if implemented).

/sys/bus/coresight/devices/etm<N>/vmid_val

Defined on file sysfs-bus-coresight-devices-etm4x

(RW) Get/Set the virtual machine ID comparator value to trigger on.

/sys/bus/coresight/devices/trbe<cpu>/align

Defined on file sysfs-bus-coresight-devices-trbe

(Read) Shows the TRBE write pointer alignment. This value is fetched from the TRBIDR register.

/sys/bus/coresight/devices/trbe<cpu>/flag

Defined on file sysfs-bus-coresight-devices-trbe

(Read) Shows if TRBE updates in the memory are with access and dirty flag updates as well. This value is fetched from the TRBIDR register.

/sys/bus/coresight/devices/trbe<cpu>/label

Defined on file sysfs-bus-coresight-devices-trbe

(Read) Show hardware context information of device.

/sys/bus/coresight/devices/ultra_smb<N>/enable_sink

Defined on file sysfs-bus-coresight-devices-ultra_smb

(RW) Add/remove a SMB device from a trace path. There can be multiple sources for a single SMB device.

/sys/bus/coresight/devices/ultra_smb<N>/mgmt/buf_size

Defined on file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-bus-counter

Read-only attribute that indicates the component ID of the respective extension or Synapse.

/sys/bus/counter/devices/counterX/countY/capture

Defined on file sysfs-bus-counter

Historical capture of the Count Y count data.

/sys/bus/counter/devices/counterX/countY/ceiling

Defined on file sysfs-bus-counter

Count value ceiling for Count Y. This is the upper limit for the respective counter.

/sys/bus/counter/devices/counterX/countY/compare

Defined on file sysfs-bus-counter

If the counter device supports compare registers -- registers used 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 file sysfs-bus-counter

Count data of Count Y represented as a string.

/sys/bus/counter/devices/counterX/countY/count_mode

Defined on file sysfs-bus-counter

Count mode for channel Y. The ceiling and floor values for Count Y are used by the count mode where required. The following count modes are available:

normal:

Counting is continuous in either direction.

range limit:

An upper or lower limit is set, mimicking limit switches in the mechanical counterpart. The upper limit is set to the Count Y ceiling value, while the lower limit is set to the Count Y floor value. The counter freezes at count = ceiling when counting up, and at count = floor when counting down. At either of these limits, the counting is resumed only when the count direction is reversed.

non-recycle:

The counter is disabled whenever a counter overflow or underflow takes place. The counter is re-enabled when a new count value is loaded to the counter via a preset operation or direct write.

modulo-n:

A count value boundary is set between the Count Y floor value and the Count Y ceiling value. The counter is reset to the Count Y floor value at count = ceiling when counting up, while the counter is set to the Count Y ceiling value at count = floor when counting down; the counter does not freeze at the boundary points, but counts continuously throughout.

interrupt on terminal count:

The output signal is initially low, and will remain low until the counter reaches zero. The output signal then goes high and remains high until a new preset value is set.

hardware retriggerable one-shot:

The output signal is initially high. The output signal will go low by a trigger input signal, and will remain low until the counter reaches zero. The output will then go high and remain high until the next trigger. A trigger results in loading the counter to the preset value and setting the output signal low, thus starting the one-shot pulse.

rate generator:

The output signal is initially high. When the counter has decremented to 1, the output signal goes low for one clock pulse. The output signal then goes high again, the counter is reloaded to the preset value, and the process repeats in a periodic manner as such.

square wave mode:

The output signal is initially high.

If the initial count is even, the counter is decremented by two on succeeding clock pulses. When the count expires, the output signal changes value and the counter is reloaded to the preset value. The process repeats 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 by two on succeeding clock pulses. One clock pulse after the count expires, the output signal goes low and the counter is reloaded to the preset value minus one. Succeeding clock pulses decrement the count by two. When the count expires, the output goes high again and the counter is reloaded to the preset value minus one. The process repeats in a periodic manner as such.

software triggered strobe:

The output signal is initially high. When the count expires, the output will go low for one clock pulse and then go high again. The counting sequence is “triggered” by setting the preset value.

hardware triggered strobe:

The output signal is initially high. Counting is started by a trigger input signal. When the count expires, the output signal will go low for one clock pulse and then go high again. A trigger results in loading the counter to 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 file sysfs-bus-counter

Discrete set of available values for the respective Count Y configuration are listed in this file. Values are delimited by newline characters.

/sys/bus/counter/devices/counterX/countY/direction

Defined on file sysfs-bus-counter

Read-only attribute that indicates the count direction of Count Y. Two count directions are available: forward and backward.

Some counter devices are able to determine the direction of their counting. For example, quadrature encoding counters can determine the direction of movement by evaluating the leading phase of the respective A and B quadrature encoding signals. This attribute exposes such count directions.

/sys/bus/counter/devices/counterX/countY/enable

Defined on file sysfs-bus-counter

Whether channel Y counter is enabled. Valid attribute values are boolean.

This attribute is intended to serve as a pause/unpause mechanism for Count Y. Suppose a counter device is used to count the total movement of a conveyor belt: this attribute allows an operator to temporarily pause the counter, service the conveyor belt, and then finally unpause the counter to continue where it had left off.

/sys/bus/counter/devices/counterX/countY/error_noise

Defined on file sysfs-bus-counter

Read-only attribute that indicates whether excessive noise is present at the channel Y counter inputs.

/sys/bus/counter/devices/counterX/countY/floor

Defined on file sysfs-bus-counter

Count value floor for Count Y. This is the lower limit for the respective counter.

/sys/bus/counter/devices/counterX/countY/function

Defined on file sysfs-bus-counter

Count function mode of Count Y; count function evaluation is triggered by conditions specified by the Count Y signalZ_action attributes. The following count functions are available:

increase:

Accumulated count is incremented.

decrease:

Accumulated count is decremented.

pulse-direction:

Rising edges on signal A updates the respective count. The input level of signal B determines direction.

quadrature x1 a:

If direction is forward, rising edges on quadrature pair signal A updates the respective count; if the direction is backward, falling edges on quadrature pair signal A updates the respective count. Quadrature encoding determines the direction.

quadrature x1 b:

If direction is forward, rising edges on quadrature pair signal B updates the respective count; if the direction is backward, falling edges on quadrature pair signal B updates the respective count. Quadrature encoding determines the direction.

quadrature x2 a:

Any state transition on quadrature pair signal A updates the respective count. Quadrature encoding determines the direction.

quadrature x2 b:

Any state transition on quadrature pair signal B updates the respective count. Quadrature encoding determines the direction.

quadrature x4:

Any state transition on either quadrature pair signals updates the respective count. Quadrature encoding determines the direction.

/sys/bus/counter/devices/counterX/countY/name

Defined on file sysfs-bus-counter

Read-only attribute that indicates the device-specific name of Count Y. If possible, this should match the name of the respective channel as it appears in the device datasheet.

/sys/bus/counter/devices/counterX/countY/num_overflows

Defined on file sysfs-bus-counter

This attribute indicates the number of overflows of count Y.

/sys/bus/counter/devices/counterX/countY/prescaler

Defined on file sysfs-bus-counter

Configure the prescaler value associated with Count Y. On the FlexTimer, the counter clock source passes through a prescaler (i.e. a counter). This acts like a clock divider.

/sys/bus/counter/devices/counterX/countY/preset

Defined on file sysfs-bus-counter

If the counter device supports preset registers -- registers used to load counter channels to a set count upon device-defined preset operation trigger events -- the preset count for channel Y is provided by this attribute.

/sys/bus/counter/devices/counterX/countY/preset_enable

Defined on file sysfs-bus-counter

Whether channel Y counter preset operation is enabled. Valid attribute values are boolean.

/sys/bus/counter/devices/counterX/countY/signalZ_action

Defined on file sysfs-bus-counter

Action mode of Count Y for Signal Z. This attribute indicates the condition of Signal Z that triggers the count function evaluation for Count Y. The following action modes are available:

none:

Signal does not trigger the count function. In Pulse-Direction count function mode, this Signal is evaluated as Direction.

rising edge:

Low state transitions to high state.

falling edge:

High state transitions to low state.

both edges:

Any state transition.

/sys/bus/counter/devices/counterX/countY/spike_filter_ns

Defined on file sysfs-bus-counter

If the counter device supports programmable spike filter this attribute indicates the value in nanoseconds where noise pulses shorter or equal to configured value are ignored. Value 0 means filter is disabled.

/sys/bus/counter/devices/counterX/events_queue_size

Defined on file sysfs-bus-counter

Size of the Counter events queue in number of struct counter_event data structures. The number of elements will be rounded-up to a power of 2.

/sys/bus/counter/devices/counterX/external_input_phase_clock_select

Defined on file sysfs-bus-counter

Selects the external clock pin for phase counting mode of Counter X.

MTCLKA-MTCLKB:

MTCLKA and MTCLKB pins are selected for the external phase clock.

MTCLKC-MTCLKD:

MTCLKC and MTCLKD pins are selected for the external phase clock.

/sys/bus/counter/devices/counterX/external_input_phase_clock_select_available

Defined on file sysfs-bus-counter

Discrete set of available values for the respective device configuration are listed in this file.

/sys/bus/counter/devices/counterX/name

Defined on file sysfs-bus-counter

Read-only attribute that indicates the device-specific name of the Counter. This should match the name of the device as it appears in its respective datasheet.

/sys/bus/counter/devices/counterX/num_counts

Defined on file sysfs-bus-counter

Read-only attribute that indicates the total number of Counts belonging to the Counter.

/sys/bus/counter/devices/counterX/num_signals

Defined on file sysfs-bus-counter

Read-only attribute that indicates the total number of Signals belonging to the Counter.

/sys/bus/counter/devices/counterX/signalY/cable_fault

Defined on file sysfs-bus-counter

Read-only attribute that indicates whether a differential encoder cable fault (not connected or loose wires) is detected for the respective channel of Signal Y. Valid attribute values are boolean. Detection must first be enabled via the corresponding cable_fault_enable attribute.

/sys/bus/counter/devices/counterX/signalY/cable_fault_enable

Defined on file sysfs-bus-counter

Whether detection of differential encoder cable faults for the respective channel of Signal Y is enabled. Valid attribute values are boolean.

/sys/bus/counter/devices/counterX/signalY/filter_clock_prescaler

Defined on file sysfs-bus-counter

Filter clock factor for input Signal Y. This prescaler value affects the inputs of both quadrature pair signals.

/sys/bus/counter/devices/counterX/signalY/frequency

Defined on file sysfs-bus-counter

Read-only attribute that indicates the signal Y frequency, in Hz.

/sys/bus/counter/devices/counterX/signalY/index_polarity

Defined on file sysfs-bus-counter

Active level of index input Signal Y; irrelevant in non-synchronous load mode.

/sys/bus/counter/devices/counterX/signalY/index_polarity_available

/sys/bus/counter/devices/counterX/signalY/synchronous_mode_available

Defined on file sysfs-bus-counter

Discrete set of available values for the respective Signal Y configuration are listed in this file.

/sys/bus/counter/devices/counterX/signalY/name

Defined on file sysfs-bus-counter

Read-only attribute that indicates the device-specific name of Signal Y. If possible, this should match the name of the respective signal as it appears in the device datasheet.

/sys/bus/counter/devices/counterX/signalY/polarity

Defined on file sysfs-bus-counter

Active level of Signal Y. The following polarity values are available:

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 file sysfs-bus-counter

Signal level state of Signal Y. The following signal level states are available:

low:

Low level state.

high:

High level state.

/sys/bus/counter/devices/counterX/signalY/synchronous_mode

Defined on file sysfs-bus-counter

Configure the counter associated with Signal Y for non-synchronous or synchronous load mode. Synchronous load mode cannot be selected in non-quadrature (Pulse-Direction) clock mode.

non-synchronous:

A logic low level is the active level at this index input. The index function (as enabled via preset_enable) is performed directly on the active level of the index input.

synchronous:

Intended for interfacing with encoder Index output in quadrature clock mode. The active level is configured via index_polarity. The index function (as enabled via preset_enable) is performed synchronously with the quadrature clock on the active level of the index input.

/sys/bus/css/devices/.../driver_override

Defined on file sysfs-bus-css

This file allows the driver for a device to be specified. When specified, only a driver with a name matching the value written to driver_override will have an opportunity to bind to the device. The override is specified by writing a string to the driver_override file (echo vfio-ccw > driver_override) and may be cleared with an empty string (echo > driver_override). This returns the device to standard matching rules binding. Writing to driver_override does not automatically unbind the device from its current driver or make any attempt to automatically load the specified driver. If no driver with a matching name is currently loaded in the kernel, the device will not bind to any driver. This also allows devices to opt-out of driver binding using a driver_override name such as “none”. Only a single driver may be specified in the override, there is no support for parsing delimiters.

Note that unlike the mechanism of the same name for pci, this file does not allow to override basic matching rules. I.e., the driver must still match the subchannel type of the device.

/sys/bus/css/devices/.../modalias

Defined on file sysfs-bus-css

Contains the module alias as reported with uevents. It is of the format css:t<type> and present for all subchannel types.

/sys/bus/css/devices/.../type

Defined on file sysfs-bus-css

Contains the subchannel type, as reported by the hardware. This attribute is present for all subchannel types.

/sys/bus/css/drivers/io_subchannel/.../chpids

Defined on file sysfs-bus-css

Contains the ids of the channel paths used by this subchannel, as reported by the channel subsystem during subchannel recognition.

Note: This is an I/O-subchannel specific attribute.

Users:

s390-tools, HAL

/sys/bus/css/drivers/io_subchannel/.../pimpampom

Defined on file sysfs-bus-css

Contains the PIM/PAM/POM values, as reported by the channel subsystem when last queried by the common I/O layer (this implies that this attribute is not necessarily in sync with the values current in the channel subsystem).

Note: This is an I/O-subchannel specific attribute.

Users:

s390-tools, HAL

/sys/bus/cxl/devices/*/devtype

Defined on file sysfs-bus-cxl

(RO) CXL device objects export the devtype attribute which mirrors the same value communicated in the DEVTYPE environment variable for uevents for devices on the “cxl” bus.

/sys/bus/cxl/devices/*/modalias

Defined on file sysfs-bus-cxl

(RO) CXL device objects export the modalias attribute which mirrors the same value communicated in the MODALIAS environment variable for uevents for devices on the “cxl” bus.

/sys/bus/cxl/devices/decoderX.Y

Defined on file sysfs-bus-cxl

(RO) CXL decoder objects are enumerated from either a platform firmware description, or a CXL HDM decoder register set in a PCIe device (see CXL 2.0 section 8.2.5.12 CXL HDM Decoder Capability Structure). The ‘X’ in decoderX.Y represents the cxl_port container of this decoder, and ‘Y’ represents the instance id of a given decoder resource.

/sys/bus/cxl/devices/decoderX.Y/cap_{pmem,ram,type2,type3}

Defined on file sysfs-bus-cxl

(RO) When a CXL decoder is of devtype “cxl_decoder_root”, it represents a fixed memory window identified by platform firmware. A fixed window may only support a subset of memory types. The ‘cap_*’ attributes indicate whether persistent memory, volatile memory, accelerator memory, and / or expander memory may be mapped behind this decoder’s memory window.

/sys/bus/cxl/devices/decoderX.Y/create_{pmem,ram}_region

Defined on file sysfs-bus-cxl

(RW) Write a string in the form ‘regionZ’ to start the process of 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 value returned from reading this attribute. An atomic compare exchange operation is done on write to assign the requested id to a region and allocate the region-id for the next creation attempt. EBUSY is returned if the region name written does not match the current cached value.

/sys/bus/cxl/devices/decoderX.Y/delete_region

Defined on file sysfs-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 file sysfs-bus-cxl

(RO) When a CXL decoder is of devtype “cxl_decoder_endpoint”, and its ‘dpa_size’ attribute is non-zero, this attribute indicates the device physical address (DPA) base address of the allocation.

/sys/bus/cxl/devices/decoderX.Y/dpa_size

Defined on file sysfs-bus-cxl

(RW) When a CXL decoder is of devtype “cxl_decoder_endpoint” it translates from a host physical address range, to a device local address range. The range, base address plus length in bytes, of DPA allocated to this decoder is conveyed in these 2 attributes. Allocations can be mutated as long as the decoder is in the disabled state. A write to ‘dpa_size’ releases the previous DPA allocation and then attempts to allocate from the free capacity in the device partition referred to by ‘decoderX.Y/mode’. Allocate and free requests can only be performed on the highest instance 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 file sysfs-bus-cxl

(RO) The number of consecutive bytes of host physical address space this decoder claims at address N before the decode rotates to the next target in the interleave at address N + interleave_granularity (assuming N is aligned to interleave_granularity).

/sys/bus/cxl/devices/decoderX.Y/interleave_ways

Defined on file sysfs-bus-cxl

(RO) The number of targets across which this decoder’s host physical address (HPA) memory range is interleaved. The device maps every Nth block of HPA (of size == ‘interleave_granularity’) to consecutive DPA addresses. The decoder’s position in the interleave is determined by the device’s (endpoint or switch) switch ancestry. For root decoders their interleave is specified by platform firmware and they only specify a downstream target order for host bridges.

/sys/bus/cxl/devices/decoderX.Y/locked

Defined on file sysfs-bus-cxl

(RO) CXL HDM decoders have the capability to lock the configuration until the next device reset. For decoders of devtype “cxl_decoder_root” there is no standard facility to unlock them. For decoders of devtype “cxl_decoder_switch” a secondary bus reset, of the PCIe bridge that provides the bus for this decoders uport, unlocks / resets the decoder.

/sys/bus/cxl/devices/decoderX.Y/mode

Defined on file sysfs-bus-cxl

(RW) When a CXL decoder is of devtype “cxl_decoder_endpoint” it translates from a host physical address range, to a device local address range. Device-local address ranges are further split 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 is not actively decoding, or no DPA allocation policy has been set.

‘mode’ can be written, when the decoder is in the ‘disabled’ state, with either ‘ram’ or ‘pmem’ to set the boundaries for the next allocation.

/sys/bus/cxl/devices/decoderX.Y/qos_class

Defined on file sysfs-bus-cxl

(RO) For CXL host platforms that support “QoS Telemetry” this root-decoder-only attribute conveys a platform specific cookie that 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. While it is not required that endpoints map their local memory-class to a matching platform class, mismatches are not recommended and there are platform specific side-effects that may result.

/sys/bus/cxl/devices/decoderX.Y/target_list

Defined on file sysfs-bus-cxl

(RO) Display a comma separated list of the current decoder target configuration. The list is ordered by the current configured 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 file sysfs-bus-cxl

(RO) When a CXL decoder is of devtype “cxl_decoder_switch”, it can optionally decode either accelerator memory (type-2) or expander memory (type-3). The ‘target_type’ attribute indicates the current setting which may dynamically change based on what memory regions are activated in this decode hierarchy.

/sys/bus/cxl/devices/decoderX.Y/{start,size}

Defined on file sysfs-bus-cxl

(RO) The ‘start’ and ‘size’ attributes together convey the physical address base and number of bytes mapped in the decoder’s decode window. For decoders of devtype “cxl_decoder_root” the address range is fixed. For decoders of devtype “cxl_decoder_switch” the address is bounded by the decode range of the cxl_port ancestor of the decoder’s cxl_port, and dynamically updates based on the active memory regions in that address space.

/sys/bus/cxl/devices/endpointX/CDAT

Defined on file sysfs-bus-cxl

(RO) If this sysfs entry is not present no DOE mailbox was found to support CDAT data. If it is present and the length of the data is 0 reading the CDAT data failed. Otherwise the CDAT data is reported.

/sys/bus/cxl/devices/memX/firmware/

Defined on file sysfs-bus-cxl

(RW) Firmware uploader mechanism. The different files under this directory can be used to upload and activate new firmware for CXL devices. The interfaces under this are documented in sysfs-class-firmware.

/sys/bus/cxl/devices/memX/firmware_version

Defined on file sysfs-bus-cxl

(RO) “FW Revision” string as reported by the Identify Memory Device Output Payload in the CXL-2.0 specification.

/sys/bus/cxl/devices/memX/label_storage_size

Defined on file sysfs-bus-cxl

(RO) Size (in bytes) of the Label Storage Area (LSA).

/sys/bus/cxl/devices/memX/numa_node

Defined on file sysfs-bus-cxl

(RO) If NUMA is enabled and the platform has affinitized the host PCI device for this memory device, emit the CPU node affinity for this device.

/sys/bus/cxl/devices/memX/payload_max

Defined on file sysfs-bus-cxl

(RO) Maximum size (in bytes) of the mailbox command payload registers. Linux caps this at 1MB if the device reports a larger size.

/sys/bus/cxl/devices/memX/pmem/qos_class

Defined on file sysfs-bus-cxl

(RO) For CXL host platforms that support “QoS Telemetry” this attribute conveys a comma delimited list of platform specific cookies that identifies a QoS performance class for the persistent partition of the CXL mem device. These class-ids can be compared against a similar “qos_class” published for a root decoder. While it is not required that the endpoints map their local memory-class to a matching platform class, mismatches are not recommended and there are platform specific performance related side-effects that may result. First class-id is displayed.

/sys/bus/cxl/devices/memX/pmem/size

Defined on file sysfs-bus-cxl

(RO) “Persistent Only Capacity” as bytes. Represents the identically named field in the Identify Memory Device Output Payload in the CXL-2.0 specification.

/sys/bus/cxl/devices/memX/ram/qos_class

Defined on file sysfs-bus-cxl

(RO) For CXL host platforms that support “QoS Telemetry” this attribute conveys a comma delimited list of platform specific cookies that identifies a QoS performance class for the volatile partition of the CXL mem device. These class-ids can be compared against a similar “qos_class” published for a root decoder. While it is not required that the endpoints map their local memory-class to a matching platform class, mismatches are not recommended and there are platform specific performance related side-effects that may result. First class-id is displayed.

/sys/bus/cxl/devices/memX/ram/size

Defined on file sysfs-bus-cxl

(RO) “Volatile Only Capacity” as bytes. Represents the identically named field in the Identify Memory Device Output Payload in the CXL-2.0 specification.

/sys/bus/cxl/devices/memX/security/sanitize

Defined on file sysfs-bus-cxl

(WO) Write a boolean ‘true’ string value to this attribute to secure erase user data by changing the media encryption keys for all user data areas of the device. This functionality requires the device to be disabled, that is, not actively decoding any HPA ranges. This permits avoiding explicit global CPU cache management, relying instead for it to be done when a region transitions between software programmed and hardware committed states. If this file is not present, then there is no hardware support for the operation.

/sys/bus/cxl/devices/memX/security/state

Defined on file sysfs-bus-cxl

(RO) Reading this file will display the CXL security state for that device. Such states can be: ‘disabled’, ‘sanitize’, when a sanitization is currently underway; or those available only for persistent memory: ‘locked’, ‘unlocked’ or ‘frozen’. This sysfs entry is select/poll capable from userspace to notify upon completion of a sanitize operation.

/sys/bus/cxl/devices/memX/serial

Defined on file sysfs-bus-cxl

(RO) 64-bit serial number per the PCIe Device Serial Number capability. Mandatory for CXL devices, see CXL 2.0 8.1.12.2 Memory Device PCIe Capabilities and Extended Capabilities.

/sys/bus/cxl/devices/memX/trigger_poison_list

Defined on file sysfs-bus-cxl

(WO) When a boolean ‘true’ is written to this attribute the memdev driver retrieves the poison list from the device. The list consists of addresses that are poisoned, or would result in poison if accessed, and the source of the poison. This attribute is only visible for devices supporting the capability. The retrieved errors are logged as kernel events when cxl_poison event tracing is enabled.

/sys/bus/cxl/devices/nvdimm-bridge0/ndbusX/nmemY/cxl/dirty_shutdown

Defined on file sysfs-bus-cxl

(RO) The device dirty shutdown count value, which is the number of times the device could have incurred in potential data loss. The count is persistent across power loss and wraps back to 0 upon overflow. If this file is not present, the device does not have the necessary support for dirty tracking.

/sys/bus/cxl/devices/portX/decoders_committed

Defined on file sysfs-bus-cxl

(RO) A memory device is considered active when any of its decoders are in the “committed” state (See CXL 3.0 8.2.4.19.7 CXL HDM Decoder n Control Register). Hotplug and destructive operations like “sanitize” are blocked while device is actively decoding a Host Physical Address range. Note that this number may be elevated without any regionX objects active or even enumerated, as this may be due to decoders established by platform firmware or a previous kernel (kexec).

/sys/bus/cxl/devices/portX/dportY

Defined on file sysfs-bus-cxl

(RO) CXL port objects are enumerated from either a platform firmware device (ACPI0017 and ACPI0016) or PCIe switch upstream port with CXL component registers. The ‘dportY’ symlink identifies one or more downstream ports that the upstream port may target in its decode of CXL memory resources. The ‘Y’ integer reflects the hardware port unique-id used in the hardware decoder target list.

/sys/bus/cxl/devices/portX/uport

Defined on file sysfs-bus-cxl

(RO) CXL port objects are enumerated from either a platform firmware device (ACPI0017 and ACPI0016) or PCIe switch upstream port with CXL component registers. The ‘uport’ symlink connects the CXL portX object to the device that published the CXL port capability.

/sys/bus/cxl/devices/regionZ/accessY/read_bandwidth

/sys/bus/cxl/devices/regionZ/accessY/write_bandwidth

Defined on file sysfs-bus-cxl

(RO) The aggregated read or write bandwidth of the region. The number is the accumulated read or write bandwidth of all CXL memory devices that contributes to the region in MB/s. It is identical data that should appear in /sys/devices/system/node/nodeX/accessY/initiators/read_bandwidth or /sys/devices/system/node/nodeX/accessY/initiators/write_bandwidth. See stable/sysfs-devices-node. access0 provides the number to the closest initiator and access1 provides the number to the closest CPU.

/sys/bus/cxl/devices/regionZ/accessY/read_latency

/sys/bus/cxl/devices/regionZ/accessY/write_latency

Defined on file sysfs-bus-cxl

(RO) The read or write latency of the region. The number is the worst read or write latency of all CXL memory devices that contributes to the region in nanoseconds. It is identical data that should appear in /sys/devices/system/node/nodeX/accessY/initiators/read_latency or /sys/devices/system/node/nodeX/accessY/initiators/write_latency. See stable/sysfs-devices-node. access0 provides the number to the closest initiator and access1 provides the number to the closest CPU.

/sys/bus/cxl/devices/regionZ/commit

Defined on file sysfs-bus-cxl

(RW) Write a boolean ‘true’ string value to this attribute to trigger the region to transition from the software programmed state to the actively decoding in hardware state. The commit operation in addition to validating that the region is in proper configured state, validates that the decoders are being committed 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 or not.

/sys/bus/cxl/devices/regionZ/extended_linear_cache_size

Defined on file sysfs-bus-cxl

(RO) The size of extended linear cache, if there is an extended linear cache. Otherwise the attribute will not be visible.

/sys/bus/cxl/devices/regionZ/interleave_granularity

Defined on file sysfs-bus-cxl

(RW) Set the number of consecutive bytes each device in the interleave set will claim. The possible interleave granularity values are determined by the CXL spec and the participating devices.

/sys/bus/cxl/devices/regionZ/interleave_ways

Defined on file sysfs-bus-cxl

(RW) Configures the number of devices participating in the region is set by writing this value. Each device will provide 1/interleave_ways of storage for the region.

/sys/bus/cxl/devices/regionZ/locked

Defined on file sysfs-bus-cxl

(RO) The CXL driver has the capability to lock a region based on a BIOS or platform dependent configuration. Regions created as locked are never permitted to be destroyed. Resets to participating decoders will not result in a region destroy and will not free the decoder resources.

/sys/bus/cxl/devices/regionZ/mode

Defined on file sysfs-bus-cxl

(RO) The mode of a region is established at region creation time and dictates the mode of the endpoint decoder that comprise the region. For more details on the possible modes see /sys/bus/cxl/devices/decoderX.Y/mode

/sys/bus/cxl/devices/regionZ/resource

Defined on file sysfs-bus-cxl

(RO) A region is a contiguous partition of a CXL root decoder address space. Region capacity is allocated by writing to the size attribute, the resulting physical address space determined by the driver is reflected here. It is therefore not useful to read this before writing a value to the size attribute.

/sys/bus/cxl/devices/regionZ/size

Defined on file sysfs-bus-cxl

(RW) System physical address space to be consumed by the region. When written trigger the driver to allocate space out of the parent root decoder’s address space. When read the size of the address space is reported and should match the span of the region’s resource attribute. Size shall be set after the interleave configuration parameters. Once set it cannot be changed, only freed by writing 0. The kernel makes no guarantees that data is maintained over an address space freeing event, and there is no guarantee that a free followed by an allocate results in the same address being allocated. If extended linear cache is present, the size indicates extended linear cache size plus the CXL region size.

/sys/bus/cxl/devices/regionZ/target[0..N]

Defined on file sysfs-bus-cxl

(RW) Write an endpoint decoder object name to ‘targetX’ where X is the intended position of the endpoint device in the region interleave and N is the ‘interleave_ways’ setting for the region. ENXIO is returned if the write results in an impossible to map decode scenario, like the endpoint is unreachable at that position relative to the root decoder interleave. EBUSY is returned if the position in the region is already occupied, or if the region is not in a state to accept interleave configuration changes. EINVAL is returned if the object name is not an endpoint decoder. Once all positions have been successfully written a final validation for decode conflicts is performed before activating the region.

/sys/bus/cxl/devices/regionZ/uuid

Defined on file sysfs-bus-cxl

(RW) Write a unique identifier for the region. This field must be set for persistent regions and it must not conflict with the UUID of another region. For volatile ram regions this attribute is a read-only empty string.

/sys/bus/cxl/devices/{port,endpoint}X/parent_dport

Defined on file sysfs-bus-cxl

(RO) CXL port objects are instantiated for each upstream port in a CXL/PCIe switch, and for each endpoint to map the corresponding memory device into the CXL port hierarchy. When a descendant CXL port (switch or endpoint) is enumerated it is useful to know which ‘dport’ object in the parent CXL port routes to this descendant. The ‘parent_dport’ symlink points to the device representing the downstream port of a CXL switch that routes to {port,endpoint}X.

/sys/bus/cxl/flush

Defined on file sysfs-bus-cxl

(WO) If userspace manually unbinds a port the kernel schedules all descendant memdevs for unbind. Writing ‘1’ to this attribute flushes that work.

/sys/bus/dax/devices/daxX.Y/align

Defined on file sysfs-bus-dax

(RW) Provides a way to specify an alignment for a dax device. Values allowed are constrained by the physical address ranges that back the dax device, and also by arch requirements.

/sys/bus/dax/devices/daxX.Y/mapping

Defined on file sysfs-bus-dax

(WO) Provides a way to allocate a mapping range under a dax device. 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 file sysfs-bus-dax

(RO) A dax device may have multiple constituent discontiguous address ranges. These are represented by the different ‘mappingX’ subdirectories. The ‘start’ attribute indicates the start physical address for the given range. The ‘end’ attribute indicates the end physical address for the given range. The ‘page_offset’ attribute indicates the offset of the current range in the dax device.

/sys/bus/dax/devices/daxX.Y/memmap_on_memory

Defined on file sysfs-bus-dax

(RW) Control the memmap_on_memory setting if the dax device were to be hotplugged as system memory. This determines whether the ‘altmap’ for the hotplugged memory will be placed on the device being hotplugged (memmap_on_memory=1) or if it will be placed on regular memory (memmap_on_memory=0). This attribute must be set before the device is handed over to the ‘kmem’ driver (i.e. hotplugged into system-ram). Additionally, this depends on CONFIG_MHP_MEMMAP_ON_MEMORY, and a globally enabled memmap_on_memory parameter for memory_hotplug. This is typically 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 file sysfs-bus-dax

(RO) If NUMA is enabled and the platform has affinitized the backing device for this dax device, emit the CPU node affinity for this device.

/sys/bus/dax/devices/daxX.Y/resource

Defined on file sysfs-bus-dax

(RO) The resource attribute indicates the starting physical address of a dax device. In case of a device with multiple constituent ranges, it indicates the starting address of the first range.

/sys/bus/dax/devices/daxX.Y/size

Defined on file sysfs-bus-dax

(RW) The size attribute indicates the total size of a dax device. For creating subdivided dax devices, or for resizing an existing device, the new size can be written to this as part of the reconfiguration process.

/sys/bus/dax/devices/daxX.Y/target_node

Defined on file sysfs-bus-dax

(RO) The target-node attribute is the Linux numa-node that a device-dax instance may create when it is online. Prior to being online the device’s ‘numa_node’ property reflects the closest online cpu node which is the typical expectation of a device ‘numa_node’. Once it is online it becomes its own distinct numa node.

/sys/bus/dfl/devices/dfl_dev.X/feature_id

Defined on file sysfs-bus-dfl

Read-only. It returns feature identifier local to its DFL FIU type.

Format: 0x%x

/sys/bus/dfl/devices/dfl_dev.X/fec_mode

Defined on file sysfs-bus-dfl-devices-n3000-nios

Read-only. Returns the FEC mode of the 25G links of the ethernet retimers configured by Nios firmware. “rs” for Reed Solomon FEC, “kr” for Fire Code FEC, “no” for NO FEC. “not supported” if the FEC mode setting is not supported, this happens when the Nios firmware version major < 3, or no link is configured to 25G. Format: string

/sys/bus/dfl/devices/dfl_dev.X/infX_cal_fail

Defined on file sysfs-bus-dfl-devices-emif

Read-only. It indicates if the calibration failed on this memory interface. “1” for calibration failure, “0” for OK. Format: %u

/sys/bus/dfl/devices/dfl_dev.X/infX_clear

Defined on file sysfs-bus-dfl-devices-emif

Write-only. Writing “1” to this file will zero out all memory data in this memory interface. Writing of other values is invalid. Format: %u

/sys/bus/dfl/devices/dfl_dev.X/infX_init_done

Defined on file sysfs-bus-dfl-devices-emif

Read-only. It indicates if the initialization completed on this memory interface. “1” for initialization complete, “0” for not yet. Format: %u

/sys/bus/dfl/devices/dfl_dev.X/nios_fw_version

Defined on file sysfs-bus-dfl-devices-n3000-nios

Read-only. Returns the version of the Nios firmware in the FPGA. Its format is “major.minor.patch”. Format: %x.%x.%x

/sys/bus/dfl/devices/dfl_dev.X/retimer_A_mode

Defined on file sysfs-bus-dfl-devices-n3000-nios

Read-only. Returns the enumeration value of the working mode of the retimer A configured by the Nios firmware. The value is read out from shared registers filled by the Nios firmware. Now the 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 more retimer modes, more enumeration value is expected. Format: 0x%x

/sys/bus/dfl/devices/dfl_dev.X/retimer_B_mode

Defined on file sysfs-bus-dfl-devices-n3000-nios

Read-only. Returns the enumeration value of the working mode of the retimer B configured by the Nios firmware. The value format is the same as retimer_A_mode.

/sys/bus/dfl/devices/dfl_dev.X/type

Defined on file sysfs-bus-dfl

Read-only. It returns type of DFL FIU of the device. Now DFL supports 2 FIU types, 0 for FME, 1 for PORT.

Format: 0x%x

/sys/bus/drivers/corsair/<dev>/current_profile

Defined on file sysfs-driver-hid-corsair

Get/set the current selected profile. Values are from 1 to 3.

/sys/bus/drivers/corsair/<dev>/macro_mode

Defined on file sysfs-driver-hid-corsair

Get/set the current playback mode. “SW” for software mode where G-keys triggers their regular key codes. “HW” for hardware playback mode where the G-keys play their macro from the on-board memory.

/sys/bus/edac/devices/<dev-name>/ecs_fruX

Defined on file sysfs-edac-ecs

The sysfs EDAC bus devices /<dev-name>/ecs_fruX subdirectory pertains to the memory media ECS (Error Check Scrub) control feature, where <dev-name> directory corresponds to a device registered 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 parent driver has implemented the corresponding attr callback function and provided the necessary operations to the EDAC device driver during registration.

/sys/bus/edac/devices/<dev-name>/ecs_fruX/log_entry_type

Defined on file sysfs-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 file sysfs-edac-ecs

(RW) The mode of how the DDR5 ECS counts the errors. Error count is tracked based on two different modes selected by DDR5 ECS Control Feature - Codeword mode and Row Count mode. If the ECS is under Codeword mode, then the error count increments each time a codeword with check bit errors is detected. If the ECS is under Row Count mode, then the error counter increments each time a row with check 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 file sysfs-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 file sysfs-edac-ecs

(RW) DDR5 ECS threshold count per gigabits of memory cells. The ECS error count is subject to the ECS Threshold count per 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 file sysfs-edac-memory-repair

The sysfs EDAC bus devices /<dev-name>/mem_repairX subdirectory pertains to the memory media repair features control, such as PPR (Post Package Repair), memory sparing etc, where <dev-name> directory corresponds to a device registered with the EDAC device driver for the memory repair features.

Post Package Repair is a maintenance operation requests the memory device to perform a repair operation on its media. It is a memory self-healing feature that fixes a failing memory location by replacing it with a spare row in a DRAM device. For example, a CXL memory device with DRAM components that support PPR features may implement PPR maintenance operations. DRAM components may support two types of PPR functions: hard PPR, for a permanent row repair, and soft PPR, for a temporary row repair. Soft PPR may be much faster than hard PPR, but the repair is lost with a power cycle.

The sysfs attributes nodes for a repair feature are only present if the parent driver has implemented the corresponding attr callback function and provided the necessary operations to the EDAC device driver during registration.

In some states of system configuration (e.g. before address decoders have been configured), memory devices (e.g. CXL) may not have an active mapping in the main host address physical address map. As such, the memory to repair must be identified by a device specific physical addressing scheme using a device physical address(DPA). The DPA and other control attributes 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 file sysfs-edac-memory-repair

(RW) The control attributes for the memory to be repaired. The specific value of attributes to use depends on the portion of memory to repair and will be reported to the host in related error records and be available to userspace in trace events, such as CXL DRAM and CXL general media error records of CXL memory devices.

When readng back these attributes, it returns the current value 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 a set of memory devices on a channel that together execute a transaction.

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 is defined as an interface that can be independently accessed for a transaction.

sub_channel - The subchannel of the memory to repair.

The requirement to set these attributes varies based on the repair function. The attributes in sysfs are not present unless required for a repair function.

For example, CXL spec ver 3.1, Section 8.2.9.7.1.2 Table 8-103 soft 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 attributes are required to set based on memory sparing granularity.

/sys/bus/edac/devices/<dev-name>/mem_repairX/dpa

Defined on file sysfs-edac-memory-repair

(RW) Device Physical Address (DPA) of the memory to repair. The specific DPA to use will be provided in related error records.

In some states of system configuration (e.g. before address decoders have been configured), memory devices (e.g. CXL) may not have an active mapping in the main host address physical address map. As such, the memory to repair must be identified by a device specific physical addressing scheme using a DPA. The device physical address(DPA) to use will be presented in related error records.

/sys/bus/edac/devices/<dev-name>/mem_repairX/hpa

Defined on file sysfs-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 file sysfs-edac-memory-repair

(RW) The supported range of memory address that is to be repaired. The memory device may give the supported range of attributes to use and it will depend on the memory device and the portion of memory to repair. The userspace may receive the specific value of attributes to use for a repair operation from the memory device via related error records and trace events, for eg. CXL DRAM and CXL general media error records in CXL memory devices.

/sys/bus/edac/devices/<dev-name>/mem_repairX/nibble_mask

Defined on file sysfs-edac-memory-repair

(RW) Read/Write Nibble mask of the memory to repair. Nibble mask identifies one or more nibbles in error on the memory bus that produced the error event. Nibble Mask bit 0 shall be set if nibble 0 on the memory bus produced the event, etc. For example, CXL PPR and sparing, a nibble mask bit set to 1 indicates the request to perform repair operation in the specific device. All nibble mask bits set to 1 indicates the request to perform the operation in all devices. Eg. for CXL memory repair, the specific value of nibble 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 section 8.2.9.7.1.3 Table 8-104 hard PPR, section 8.2.9.7.1.4 Table 8-105 memory sparing.

/sys/bus/edac/devices/<dev-name>/mem_repairX/persist_mode

Defined on file sysfs-edac-memory-repair

(RW) Get/Set the current persist repair mode set for a repair function. Persist repair modes supported in the device, 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 file sysfs-edac-memory-repair

(WO) Issue the memory repair operation for the specified memory repair attributes. The operation may fail if resources are insufficient based on the requirements of the memory device 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 file sysfs-edac-memory-repair

(RO) True if memory media is accessible and data is retained during the memory repair operation. The data may not be retained and memory requests may not be correctly processed during a repair operation. In such case repair operation can not be executed at runtime. The memory must be taken offline.

/sys/bus/edac/devices/<dev-name>/mem_repairX/repair_type

Defined on file sysfs-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 file sysfs-edac-scrub

The sysfs EDAC bus devices /<dev-name>/scrubX subdirectory belongs to an instance of memory scrub control feature, where <dev-name> directory corresponds to a device/memory region registered with the EDAC device driver for the scrub control feature.

The sysfs scrub attr nodes are only present if the parent driver has implemented the corresponding attr callback function and provided the necessary operations to the EDAC device driver during registration.

/sys/bus/edac/devices/<dev-name>/scrubX/addr

Defined on file sysfs-edac-scrub

(RW) The base address of the memory region to be scrubbed for on-demand scrubbing. Setting address starts scrubbing. The size must be set before that.

The readback addr value is non-zero if the requested on-demand scrubbing is in progress, zero otherwise.

/sys/bus/edac/devices/<dev-name>/scrubX/current_cycle_duration

Defined on file sysfs-edac-scrub

(RW) The current scrub cycle duration in seconds and must be within the supported range by the memory scrubber.

Scrub has an overhead when running and that may want to be reduced by taking longer to do it.

/sys/bus/edac/devices/<dev-name>/scrubX/enable_background

Defined on file sysfs-edac-scrub

(RW) Start/Stop background (patrol) scrubbing if supported.

/sys/bus/edac/devices/<dev-name>/scrubX/max_cycle_duration

Defined on file sysfs-edac-scrub

(RO) Supported maximum scrub cycle duration in seconds by the memory scrubber.

Device-based scrub: returns the maximum scrub cycle supported by the memory device.

Region-based scrub: returns the min of maximum scrub cycles supported by individual memory devices that back the region.

If the memory device does not provide maximum scrub cycle information, return the maximum supported value of the scrub cycle field.

/sys/bus/edac/devices/<dev-name>/scrubX/min_cycle_duration

Defined on file sysfs-edac-scrub

(RO) Supported minimum scrub cycle duration in seconds by the memory scrubber.

Device-based scrub: returns the minimum scrub cycle supported by the memory device.

Region-based scrub: returns the max of minimum scrub cycles supported by individual memory devices that back the region.

/sys/bus/edac/devices/<dev-name>/scrubX/size

Defined on file sysfs-edac-scrub

(RW) The size of the memory region to be scrubbed (on-demand scrubbing).

/sys/bus/event_source/devices/<dev>/caps

Defined on file sysfs-bus-event_source-devices-caps

Attribute group to describe the capabilities exposed for a particular pmu. Each attribute of this group can expose information specific to a PMU, say pmu_name, so that userspace can understand some of the feature which the platform specific PMU supports.

One of the example available capability in supported platform like Intel is pmu_name, which exposes underlying CPU name known to 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 the maximum number of counters which can be shown in the u64 counters of PERF_SAMPLE_BRANCH_COUNTERS, while the “branch_counter_width” exposes the width of each counter. Both of them can be used by the perf tool to parse the logged counters in each branch.

/sys/bus/event_source/devices/<dev>/format

Defined on file sysfs-bus-event_source-devices-format

Attribute group to describe the magic bits that go into perf_event_attr::config[012] for a particular pmu. Each attribute of this group defines the ‘hardware’ bitmask we want to export, so that userspace can deal with sane name/value pairs.

Userspace must be prepared for the possibility that attributes define overlapping bit ranges. For example:

attr1 = 'config:0-23'
attr2 = 'config:0-7'
attr3 = 'config:12-35'

Example: ‘config1:1,6-10,44’ Defines contents of attribute that occupies bits 1,6-10,44 of perf_event_attr::config1.

/sys/bus/event_source/devices/<pmu>

Defined on file sysfs-bus-event_source-devices

Performance Monitoring Unit (<pmu>)

Each <pmu> directory, for a PMU device, is a name optionally followed by an underscore and then either a decimal or hexadecimal number. For example, cpu is a PMU 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 hex suffix. The hex suffix must be more than two characters long to avoid ambiguity with PMUs like the S390 cpum_cf.

Tools can treat PMUs with the same name that differ by suffix as instances of the same PMU for the sake of, for example, opening an event. For example, the PMUs uncore_imc_free_running_0 and uncore_imc_free_running_1 have an event data_read; opening the data_read event on a PMU specified as uncore_imc_free_running should be treated as opening the data_read event on PMU uncore_imc_free_running_0 and PMU uncore_imc_free_running_1.

/sys/bus/event_source/devices/<pmu>/events/<event>

Defined on file sysfs-bus-event_source-devices-events

Per-pmu performance monitoring events specific to the running system

Each file (except for some of those with a ‘.’ in them, ‘.unit’ and ‘.scale’) in the ‘events’ directory describes a single performance monitoring event supported by the <pmu>. The name of the file is the name of the event.

As performance monitoring event names are case insensitive in the perf tool, the perf tool only looks for all lower case or all upper case event names in sysfs to avoid scanning the directory. It is therefore required the name of the event here is either completely lower or upper case, 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> is a number is base-16 format with a ‘0x’ prefix (lowercase only). If a <term> is specified alone (without an assigned value), it is implied that 0x1 is assigned to that <term>.

Examples (each of these lines would be in a separate file):

event=0x2abc event=0x423,inv,cmask=0x3 domain=0x1,offset=0x8,starting_index=0xffff domain=0x1,offset=0x8,core=?

Each of the assignments indicates a value to be assigned to a particular set of bits (as defined by the format file corresponding to the <term>) in the perf_event structure passed to the perf_open syscall.

In the case of the last example, a value replacing “?” would need to be provided by the user selecting the particular event. This is referred to as “event parameterization”. Event parameters have the format ‘param=?’.

/sys/bus/event_source/devices/<pmu>/events/<event>.scale

Defined on file sysfs-bus-event_source-devices-events

Perf event scaling factors

A string representing a floating point value expressed in scientific notation to be multiplied by the event count received from the kernel to match the unit specified in the <event>.unit file.

Example:

2.3283064365386962890625e-10

This is provided to avoid performing floating point arithmetic in the kernel.

/sys/bus/event_source/devices/<pmu>/events/<event>.unit

Defined on file sysfs-bus-event_source-devices-events

Perf event units

A string specifying the English plural numerical unit that <event> (once multiplied by <event>.scale) represents.

Example:

Joules

/sys/bus/event_source/devices/cpu.../rdpmc

Defined on file sysfs-bus-event_source-devices-rdpmc

The /sys/bus/event_source/devices/cpu.../rdpmc attribute is used to show/manage if rdpmc instruction can be executed in user space. This attribute supports 3 numbers. - rdpmc = 0 user space rdpmc is globally disabled for all PMU counters. - rdpmc = 1 user space rdpmc is globally enabled only in event mmap ioctl called time window. If the mmap region is unmapped, user space rdpmc is disabled again. - rdpmc = 2 user space rdpmc is globally enabled for all PMU counters.

In the Intel platforms supporting counter level’s user space rdpmc disable feature (CPUID.23H.EBX[2] = 1), the meaning of 3 numbers is extended to - rdpmc = 0 global user space rdpmc and counter level’s user space rdpmc of all counters are both disabled. - rdpmc = 1 No changes on behavior of global user space rdpmc. counter level’s rdpmc of system-wide events is disabled but counter level’s rdpmc of non-system-wide events is enabled. - rdpmc = 2 global user space rdpmc and counter level’s user space rdpmc of all counters are both enabled unconditionally.

The default value of rdpmc is 1.

Please notice: - global user space rdpmc’s behavior would change immediately along with the rdpmc value’s change, but the behavior of counter level’s user space rdpmc won’t take effect immediately until the event is reactivated or recreated. - The rdpmc attribute is global, even for x86 hybrid platforms. For example, changing cpu_core/rdpmc will also change cpu_atom/rdpmc.

/sys/bus/event_source/devices/dfl_fmeX/cpumask

Defined on file sysfs-bus-event_source-devices-dfl_fme

Read-only. This file always returns cpu which the PMU is bound for access to all fme pmu performance monitoring events.

/sys/bus/event_source/devices/dfl_fmeX/events

Defined on file sysfs-bus-event_source-devices-dfl_fme

Read-only. Attribute group to describe performance monitoring events specific to fme. Each attribute in this group describes a 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 file sysfs-bus-event_source-devices-dfl_fme

Read-only. Attribute group to describe the magic bits that 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 the perf_event_attr.config. All supported attributes are listed below:

event  = "config:0-11"  - event ID
evtype = "config:12-15" - event type
portid = "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 with 0x06 local event id for overall monitoring (portid=0xff).

/sys/bus/event_source/devices/dmar*/cpumask

Defined on file sysfs-bus-event_source-devices-iommu

Read-only. This file always returns the CPU to which the IOMMU pmu is bound for access to all IOMMU pmu performance monitoring events.

/sys/bus/event_source/devices/dmar*/format

Defined on file sysfs-bus-event_source-devices-iommu

Read-only. Attribute group to describe the magic bits that go into perf_event_attr.config, perf_event_attr.config1 or perf_event_attr.config2 for the IOMMU pmu. (See also ABI/testing/sysfs-bus-event_source-devices-format).

Each attribute in this group defines a bit range in perf_event_attr.config, perf_event_attr.config1, or perf_event_attr.config2. All supported attributes are listed below (See the VT-d Spec 4.0 for possible attribute values):

event               = "config:0-27"   - event ID
event_group         = "config:28-31"  - event group ID

filter_requester_en = "config1:0"     - Enable Requester ID filter
filter_domain_en    = "config1:1"     - Enable Domain ID filter
filter_pasid_en     = "config1:2"     - Enable PASID filter
filter_ats_en       = "config1:3"     - Enable Address Type filter
filter_page_table_en= "config1:4"     - Enable Page Table Level filter
filter_requester_id = "config1:16-31" - Requester ID filter
filter_domain       = "config1:32-47" - Domain ID filter
filter_pasid        = "config2:0-21"  - PASID filter
filter_ats          = "config2:24-28" - Address Type filter
filter_page_table   = "config2:32-36" - Page Table Level filter

/sys/bus/event_source/devices/dsa*/cpumask

Defined on file sysfs-bus-event_source-devices-dsa

Read-only. This file always returns the cpu to which the IDXD DSA pmu is bound for access to all dsa pmu performance monitoring events.

/sys/bus/event_source/devices/dsa*/format

Defined on file sysfs-bus-event_source-devices-dsa

Read-only. Attribute group to describe the magic bits that go into perf_event_attr.config or perf_event_attr.config1 for the IDXD DSA pmu. (See also ABI/testing/sysfs-bus-event_source-devices-format).

Each attribute in this group defines a bit range in perf_event_attr.config or perf_event_attr.config1. All supported attributes are listed below (See the IDXD DSA Spec for possible attribute values):

event_category = "config:0-3"    - event category
event          = "config:4-31"   - event ID

filter_wq      = "config1:0-31"  - workqueue filter
filter_tc      = "config1:32-39" - traffic class filter
filter_pgsz    = "config1:40-43" - page size filter
filter_sz      = "config1:44-51" - transfer size filter
filter_eng     = "config1:52-59" - engine filter

/sys/bus/event_source/devices/hisi_ptt<sicl_id>_<core_id>/tune

Defined on file sysfs-bus-event_source-devices-hisi_ptt

This directory contains files for tuning the PCIe link parameters(events). Each file is named after the event of the PCIe link.

See HiSilicon 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 file sysfs-bus-event_source-devices-hisi_ptt

(RW) Controls the weight of Tx completion TLPs, which influence the proportion of outbound completion TLPs on the PCIe link. The available tune data is [0, 1, 2]. Writing a negative value will return an error, and out of range values will be converted to 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 file sysfs-bus-event_source-devices-hisi_ptt

(RW) Controls the weight of Tx non-posted TLPs, which influence the proportion of outbound non-posted TLPs on the PCIe link. The available tune data is [0, 1, 2]. Writing a negative value will return an error, and out of range values will be converted to 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 file sysfs-bus-event_source-devices-hisi_ptt

(RW) Controls the weight of Tx posted TLPs, which influence the proportion of outbound posted TLPs on the PCIe link. The available tune data is [0, 1, 2]. Writing a negative value will return an error, and out of range values will be converted to 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 file sysfs-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 transmitted either when the watermark reached or when timed out. The available tune data is [0, 1, 2]. Writing a negative value will return an error, and out of range values will be converted to 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 file sysfs-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 transmitted either when the watermark reached or when timed out. The available tune data is [0, 1, 2]. Writing a negative value will return an error, and out of range values will be converted to 2. The value indicates a probable level of the event.

/sys/bus/event_source/devices/hv_24x7/event_descs/<event-name>

Defined on file sysfs-bus-event_source-devices-hv_24x7

Provides the description of a particular event as provided by the firmware. If firmware does not provide a description, no file will be created.

Note that the event-name lacks the domain suffix appended for events in the events/ dir.

/sys/bus/event_source/devices/hv_24x7/event_long_descs/<event-name>

Defined on file sysfs-bus-event_source-devices-hv_24x7

Provides the “long” description of a particular event as provided by the firmware. If firmware does not provide a description, no file will be created.

Note that the event-name lacks the domain suffix appended for events in the events/ dir.

/sys/bus/event_source/devices/hv_24x7/format

Defined on file sysfs-bus-event_source-devices-hv_24x7

Read-only. Attribute group to describe the magic bits that 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 the perf_event_attr.config. All supported attributes are listed below:

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 that this value will be provided by user while running this event.

/sys/bus/event_source/devices/hv_24x7/interface/catalog

Defined on file sysfs-bus-event_source-devices-hv_24x7

Provides access to the binary “24x7 catalog” provided by the hypervisor on POWER7 and 8 systems. This catalog lists events available from the powerpc “hv_24x7” pmu. Its format is documented here: https://raw.githubusercontent.com/jmesmon/catalog-24x7/master/hv-24x7-catalog.h

/sys/bus/event_source/devices/hv_24x7/interface/catalog_length

Defined on file sysfs-bus-event_source-devices-hv_24x7

A number equal to the length in bytes of the catalog. This is also extractable from the provided binary “catalog” sysfs entry.

/sys/bus/event_source/devices/hv_24x7/interface/catalog_version

Defined on file sysfs-bus-event_source-devices-hv_24x7

Exposes the “version” field of the 24x7 catalog. This is also extractable from the provided binary “catalog” sysfs entry.

/sys/bus/event_source/devices/hv_gpci/format

Defined on file sysfs-bus-event_source-devices-hv_gpci

Read-only. Attribute group to describe the magic bits that 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 the perf_event_attr.config. All supported attributes are listed below:

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 value this value will be provided by user while running this event.

/sys/bus/event_source/devices/hv_gpci/interface/collect_privileged

Defined on file sysfs-bus-event_source-devices-hv_gpci

‘0’ if the hypervisor is configured to forbid access to event counters being accumulated by other guests and to physical domain event counters.

‘1’ if that access is allowed.

/sys/bus/event_source/devices/hv_gpci/interface/expanded

Defined on file sysfs-bus-event_source-devices-hv_gpci

0 or 1. Indicates whether we have access to “EXPANDED” events (listed in arch/powerpc/perf/hv-gpci.h).

/sys/bus/event_source/devices/hv_gpci/interface/ga

Defined on file sysfs-bus-event_source-devices-hv_gpci

0 or 1. Indicates whether we have access to “GA” events (listed in arch/powerpc/perf/hv-gpci.h).

/sys/bus/event_source/devices/hv_gpci/interface/kernel_version

Defined on file sysfs-bus-event_source-devices-hv_gpci

A number indicating the latest version of the gpci interface that the kernel is aware of.

/sys/bus/event_source/devices/hv_gpci/interface/lab

Defined on file sysfs-bus-event_source-devices-hv_gpci

0 or 1. Indicates whether we have access to “LAB” events (listed in arch/powerpc/perf/hv-gpci.h).

/sys/bus/event_source/devices/hv_gpci/interface/version

Defined on file sysfs-bus-event_source-devices-hv_gpci

A number indicating the version of the gpci interface that the hypervisor reports supporting.

/sys/bus/event_source/devices/nmemX/cpumask

Defined on file sysfs-bus-nvdimm

(RO) This sysfs file exposes the cpumask which is designated to to retrieve nvdimm pmu event counter data.

/sys/bus/event_source/devices/nmemX/events

Defined on file sysfs-bus-nvdimm

(RO) Attribute group to describe performance monitoring events for the nvdimm memory device. Each attribute in this group describes a single performance monitoring event supported by this nvdimm pmu. The name of the file is the name of the event. (See ABI/testing/sysfs-bus-event_source-devices-events). A listing of the events supported by a given nvdimm provider type can be found in Documentation/driver-api/nvdimm/$provider.

/sys/bus/event_source/devices/nmemX/format

Defined on file sysfs-bus-nvdimm

(RO) Attribute group to describe the magic bits that 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 the perf_event_attr.config. Supported attribute is listed below:

event  = "config:0-4"  - event ID

For example:

ctl_res_cnt = "event=0x1"

/sys/bus/event_source/devices/uncore_*/alias

Defined on file sysfs-bus-event_source-devices-uncore

Read-only. An attribute to describe the alias name of the 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/alias uncore_type_0_2

/sys/bus/event_source/devices/vpa_dtl/events

Defined on file sysfs-bus-event_source-devices-vpa-dtl

(RO) Attribute group to describe performance monitoring events for the Virtual Processor Dispatch Trace Log. Each attribute in this group describes a single performance monitoring event supported by vpa_dtl pmu. The name of the file is the name of the event (See ABI/testing/sysfs-bus-event_source-devices-events).

/sys/bus/event_source/devices/vpa_dtl/format

Defined on file sysfs-bus-event_source-devices-vpa-dtl

Read-only. Attribute group to describe the magic bits that 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 the perf_event_attr.config. Supported attribute are listed below:

event  = "config:0-7"  - event ID

For example:

dtl_cede = "event=0x1"

/sys/bus/event_source/devices/vpa_pmu/events

Defined on file sysfs-bus-event_source-devices-vpa-pmu

Read-only. Attribute group to describe performance monitoring events for the Virtual Processor Area events. Each attribute in this group describes a single performance monitoring event supported by vpa_pmu. The name of the file is the name of the event (See ABI/testing/sysfs-bus-event_source-devices-events).

/sys/bus/event_source/devices/vpa_pmu/format

Defined on file sysfs-bus-event_source-devices-vpa-pmu

Read-only. Attribute group to describe the magic bits that 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 the perf_event_attr.config. Supported attribute are listed below:

event = "config:0-31" - event ID

For example:

l1_to_l2_lat = "event=0x1"

/sys/bus/fcoe/

Defined on file sysfs-bus-fcoe

The FCoE bus. Attributes in this directory are control interfaces.

Attributes:

ctlr_create:

‘FCoE Controller’ instance creation interface. Writing an <ifname> to this file will allocate and populate sysfs with a fcoe_ctlr_device (ctlr_X). The user can then configure any per-port settings and finally write to the fcoe_ctlr_device’s ‘start’ attribute to begin the kernel’s discovery and login process.

ctlr_destroy:

‘FCoE Controller’ instance removal interface. Writing a fcoe_ctlr_device’s sysfs name to this file will log the fcoe_ctlr_device out of the fabric or otherwise connected FCoE devices. It will also free all kernel memory allocated for this fcoe_ctlr_device and any structures associated with it, this includes the scsi_host.

/sys/bus/fcoe/devices/ctlr_X

Defined on file sysfs-bus-fcoe

‘FCoE Controller’ instances on the fcoe bus. The FCoE Controller now has a three stage creation process. 1) Write interface name to ctlr_create 2) Configure the FCoE Controller (ctlr_X) 3) Enable the FCoE Controller to begin discovery and login. The FCoE Controller is destroyed by writing its name, i.e. ctlr_X to the ctlr_delete file.

Attributes:

fcf_dev_loss_tmo:

Device loss timeout period (see below). Changing this value will change the dev_loss_tmo for all FCFs discovered by this controller.

mode:

Display or change the FCoE Controller’s mode. Possible modes are ‘Fabric’ and ‘VN2VN’. If a FCoE Controller is started in ‘Fabric’ mode then FIP FCF discovery is initiated and ultimately a fabric login is attempted. If a FCoE Controller is started in ‘VN2VN’ mode then FIP VN2VN discovery and login is performed. A FCoE Controller only supports one mode at a time.

enabled:

Whether an FCoE controller is enabled or disabled. 0 if disabled, 1 if enabled. Writing either 0 or 1 to this file will enable or disable the FCoE controller.

lesb/link_fail:

Link Error Status Block (LESB) link failure count.

lesb/vlink_fail:

Link Error Status Block (LESB) virtual link failure count.

lesb/miss_fka:

Link Error Status Block (LESB) missed FCoE Initialization Protocol (FIP) Keep-Alives (FKA).

lesb/symb_err:

Link Error Status Block (LESB) symbolic error count.

lesb/err_block:

Link Error Status Block (LESB) block error count.

lesb/fcs_error:

Link Error Status Block (LESB) Fibre Channel Services error count.

Notes: ctlr_X (global increment starting at 0)

/sys/bus/fcoe/devices/fcf_X

Defined on file sysfs-bus-fcoe

‘FCoE FCF’ instances on the fcoe bus. A FCF is a Fibre Channel Forwarder, which is a FCoE switch that can accept FCoE (Ethernet) packets, unpack them, and forward the embedded Fibre Channel frames into a FC fabric. It can also take outbound FC frames and pack them in Ethernet packets to be sent to their destination on the Ethernet segment.

Attributes:

fabric_name:

Identifies the fabric that the FCF services.

switch_name:

Identifies the FCF.

priority:

The switch’s priority amongst other FCFs on the same fabric.

selected:

1 indicates that the switch has been selected for use; 0 indicates that the switch will not be used.

fc_map:

The Fibre Channel MAP

vfid:

The Virtual Fabric ID

mac:

The FCF’s MAC address

fka_period:

The FIP Keep-Alive period

fabric_state: The internal kernel state

  • “Unknown” - Initialization value

  • “Disconnected” - No link to the FCF/fabric

  • “Connected” - Host is connected to the FCF

  • “Deleted” - FCF is being removed from the system

dev_loss_tmo: The device loss timeout period for this FCF.

Notes: A device loss infrastructure similar to the FC Transport’s

is present in fcoe_sysfs. It is nice to have so that a link flapping adapter doesn’t continually advance the count used to identify the discovered FCF. FCFs will exist in a “Disconnected” state until either the timer expires and the FCF becomes “Deleted” or the FCF is rediscovered and becomes “Connected.”

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 file sysfs-bus-fsi-devices-sbefifo

Indicates whether or not this SBE device has experienced a timeout; i.e. the SBE did not respond within the time allotted by the driver. A value of 1 indicates that a timeout has occurred and no transfers have completed since the timeout. A value of 0 indicates that no timeout has occurred, or if one has, more recent transfers have completed successfully.

/sys/bus/fsl-mc/drivers/.../bind

Defined on file sysfs-bus-fsl-mc

Writing a device location to this file will cause the driver to attempt to bind to the device found at this location. The format for the location is Object.Id and is the same as found in /sys/bus/fsl-mc/devices/.

For example:

# echo dpni.2 > /sys/bus/fsl-mc/drivers/fsl_dpaa2_eth/bind

/sys/bus/fsl-mc/drivers/.../unbind

Defined on file sysfs-bus-fsl-mc

Writing a device location to this file will cause the driver to attempt to unbind from the device found at this location. The format for the location is Object.Id and is the same as found in /sys/bus/fsl-mc/devices/.

For example:

# echo dpni.2 > /sys/bus/fsl-mc/drivers/fsl_dpaa2_eth/unbind

/sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/speed

Defined on file sysfs-driver-wacom

The /sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/speed file controls reporting speed of Wacom bluetooth tablet. Reading from this file returns 1 if tablet reports in high speed mode or 0 otherwise. Writing to this file one of these values switches reporting speed.

/sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/button<n>_rawimg

Defined on file sysfs-driver-wacom

When writing a 1024 byte raw image in Wacom Intuos 4 interleaving format to the file, the image shows up on Button N of the device. The image is a 64x32 pixel 4-bit gray image. The 1024 byte binary is split up into 16x 64 byte chunks. Each 64 byte chunk encodes the image data for two consecutive lines on the display. The low nibble of each byte contains the first line, and the high nibble contains the second line. When the Wacom Intuos 4 is connected over Bluetooth, the image has to contain 256 bytes (64x32 px 1 bit colour). The format is also scrambled, like in the USB mode, and it can be summarized by converting:

76543210 into GECA6420.
HGFEDCBA      HFDB7531

/sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/buttons_luminance

Defined on file sysfs-driver-wacom

Writing to this file sets the overall luminance level (0..15) of all eight button OLED displays.

/sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/led

Defined on file sysfs-driver-wacom

Attribute group for control of the status LEDs and the OLEDs. This attribute group is only available for Intuos 4 M, L, and XL (with LEDs and OLEDs), Intuos 4 WL, Intuos 5 (LEDs only), Intuos Pro (LEDs only) and Cintiq 21UX2 and Cintiq 24HD (LEDs only). Therefore its presence implicitly signifies the presence of said LEDs and OLEDs on the tablet device.

/sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/status0_luminance

Defined on file sysfs-driver-wacom

<obsoleted by the LED class API now exported by the driver> Writing to this file sets the status LED luminance (1..127) when the stylus does not touch the tablet surface, and no button is pressed on the stylus. This luminance level is normally lower than the level when a button is pressed.

/sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/status1_luminance

Defined on file sysfs-driver-wacom

<obsoleted by the LED class API now exported by the driver> Writing to this file sets the status LED luminance (1..127) when the stylus touches the tablet surface, or any button is pressed on the stylus.

/sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/status_led0_select

Defined on file sysfs-driver-wacom

<obsoleted by the LED class API now exported by the driver> Writing to this file sets which one of the four (for Intuos 4 and Intuos 5) or of the right four (for Cintiq 21UX2 and Cintiq 24HD) status LEDs is active (0..3). The other three LEDs on the same side are always inactive.

/sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/status_led1_select

Defined on file sysfs-driver-wacom

<obsoleted by the LED class API now exported by the driver> Writing to this file sets which one of the left four (for Cintiq 21UX2 and Cintiq 24HD) status LEDs is active (0..3). The other three LEDs on the left are always inactive.

/sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_remote/<serial_number>/remote_mode

Defined on file sysfs-driver-wacom

<obsoleted by the LED class API now exported by the driver> Reading from this file reports the mode status of the remote as indicated by the LED lights on the device. If no reports have been received from the paired device, reading from this file will report ‘-1’. The mode is read-only and cannot be set through the driver.

/sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_remote/unpair_remote

Defined on file sysfs-driver-wacom

Writing the character sequence ‘*’ followed by a newline to this file will delete all of the current pairings on the device. Other character sequences are reserved. This file is write only.

/sys/bus/hid/drivers/hid-appletb-kbd/<dev>/mode

Defined on file sysfs-driver-hid-appletb-kbd

The set of keys displayed on the Touch Bar. Valid values are: == ================= 0 Escape key only 1 Function keys 2 Media/brightness keys 3 None == =================

/sys/bus/hid/drivers/hid-corsair-void/<dev>/fw_version_headset

Defined on file sysfs-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 file sysfs-driver-hid-corsair-void

  1. The firmware version of the receiver

/sys/bus/hid/drivers/hid-corsair-void/<dev>/microphone_up

Defined on file sysfs-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 file sysfs-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 file sysfs-driver-hid-corsair-void

  1. Set the sidetone volume (0 - sidetone_max)

/sys/bus/hid/drivers/hid-corsair-void/<dev>/sidetone_max

Defined on file sysfs-driver-hid-corsair-void

  1. Report the maximum sidetone volume

/sys/bus/hid/drivers/logitech-hidpp-device/<dev>/builtin_power_supply

Defined on file sysfs-driver-hid-logitech-hidpp

Presence of this file indicates that HID++ driver is capable of handling battery properties in the kernel. This way, upower can add a udev rule to decide whether or not it should use the internal unifying support or the generic kernel one.

/sys/bus/hid/drivers/logitech-hidpp-device/<dev>/range

Defined on file sysfs-driver-hid-logitech-hidpp

(RW) This attribute controls the amount of ‘turn’ permitted in Logitech G920 wheel. Reading from the file shows the current range of the steering wheel. Writing a value within the min and max boundary sets the range of the wheel.

/sys/bus/hid/drivers/logitech/<dev>/alternate_modes

Defined on file sysfs-driver-hid-logitech-lg4ff

Displays a set of alternate modes supported by a wheel. Each mode is listed as follows:

Tag: Mode Name

Currently active mode is marked with an asterisk. List also contains an abstract item “native” which always denotes the native mode of the wheel. Echoing the mode tag switches the wheel into the corresponding mode. Depending on the exact model of the wheel not all listed modes might always be selectable. If a wheel cannot be switched into the desired mode, -EINVAL is returned accompanied with an explanatory message in the kernel log. This entry is not created for devices that have only one mode.

Currently supported mode switches:

Driving Force Pro:

DF-EX --> DFP

G25:

DF-EX --> DFP --> G25

G27:

DF-EX <*> DFP <-> G25 <-> G27
DF-EX <*--------> G25 <-> G27
DF-EX <*----------------> G27

G29:

DF-EX <*> DFP <-> G25 <-> G27 <-> G29
DF-EX <*--------> G25 <-> G27 <-> G29
DF-EX <*----------------> G27 <-> G29
DF-EX <*------------------------> G29

DFGT:

DF-EX <*> DFP <-> DFGT
DF-EX <*--------> DFGT
  • hid_logitech module must be loaded with lg4ff_no_autoswitch=1 parameter set in order for the switch to DF-EX mode to work.

/sys/bus/hid/drivers/logitech/<dev>/combine_pedals

Defined on file sysfs-driver-hid-logitech-lg4ff

Controls whether a combined value of accelerator and brake is reported on the Y axis of the controller. Useful for older games which can do not work with separate accelerator/brake axis. Off (‘0’) by default, enabled by setting ‘1’.

/sys/bus/hid/drivers/logitech/<dev>/range

Defined on file sysfs-driver-hid-logitech-lg4ff

Display minimum, maximum and current range of the steering wheel. Writing a value within min and max boundaries sets the range of the wheel.

/sys/bus/hid/drivers/logitech/<dev>/real_id

Defined on file sysfs-driver-hid-logitech-lg4ff

Displays the real model of the wheel regardless of any alternate mode the wheel might be switched to. It is a read-only value. This entry is not created for devices that have only one mode.

/sys/bus/hid/drivers/ntrig/<dev>/activate_slack

Defined on file sysfs-driver-hid-ntrig

(RW) Number of contact frames ignored before acknowledging the start of activity (activating touch).

/sys/bus/hid/drivers/ntrig/<dev>/activation_width

/sys/bus/hid/drivers/ntrig/<dev>/activation_height

Defined on file sysfs-driver-hid-ntrig

Threholds to override activation slack.

activation_width

(RW) Width threshold to immediately start processing touch events.

activation_height

(RW) Height threshold to immediately start processing touch events.

/sys/bus/hid/drivers/ntrig/<dev>/decativate_slack

Defined on file sysfs-driver-hid-ntrig

(RW) Number of empty (no contact) frames ignored before acknowledging the end of activity (deactivating touch).

When the last finger is removed from the device, it sends a number of empty frames. By holding off on deactivation for a few frames false erroneous disconnects can be tolerated, where the sensor may mistakenly not detect a finger that is still present.

/sys/bus/hid/drivers/ntrig/<dev>/min_width

/sys/bus/hid/drivers/ntrig/<dev>/min_height

Defined on file sysfs-driver-hid-ntrig

Minimum size contact accepted.

min_width

(RW) Minimum touch contact width to decide activation and activity.

min_height

(RW) Minimum touch contact height to decide activation and activity.

/sys/bus/hid/drivers/ntrig/<dev>/sensor_logical_width

/sys/bus/hid/drivers/ntrig/<dev>/sensor_logical_height

Defined on file sysfs-driver-hid-ntrig

(RO) The range for positions reported during activity.

/sys/bus/hid/drivers/ntrig/<dev>/sensor_physical_width

/sys/bus/hid/drivers/ntrig/<dev>/sensor_physical_height

Defined on file sysfs-driver-hid-ntrig

(RO) These are internal ranges not used for normal events but useful for tuning.

/sys/bus/hid/drivers/prodikeys/.../channel

Defined on file sysfs-driver-hid-prodikeys

Allows control (via software) the midi channel to which that the pc-midi keyboard will output.midi data. Range: 0..15 Type: Read/write

/sys/bus/hid/drivers/prodikeys/.../octave

Defined on file sysfs-driver-hid-prodikeys

Controls the octave shift modifier in the pc-midi driver. The octave can be shifted via software up/down 2 octaves. 0 means the no ocatve shift. Range: -2..2 (minus 2 to plus 2) Type: Read/Write

/sys/bus/hid/drivers/prodikeys/.../sustain

Defined on file sysfs-driver-hid-prodikeys

Allows control (via software) the sustain duration of a note held by the pc-midi driver. 0 means sustain mode is disabled. Range: 0..5000 (milliseconds) Type: Read/write

/sys/bus/hid/drivers/wiimote/<dev>/bboard_calib

Defined on file sysfs-driver-hid-wiimote

This attribute is only provided if the device was detected as a balance board. It provides a single line with 3 calibration values for all 4 sensors. The values are separated by colons and are each 2 bytes long (encoded as 4 digit hexadecimal value). First, 0kg values for all 4 sensors are written, followed by the 17kg values for all 4 sensors and last the 34kg values for all 4 sensors.

Calibration data is already applied by the kernel to all input values but may be used by user-space to perform other transformations.

/sys/bus/hid/drivers/wiimote/<dev>/devtype

Defined on file sysfs-driver-hid-wiimote

While a device is initialized by the wiimote driver, we perform a device detection and signal a “change” uevent after it is done. This file shows the detected device type. “pending” means that the detection is still ongoing, “unknown” means, that the device couldn’t be detected or loaded. “generic” means, that the device couldn’t be detected but supports basic Wii Remote features and can be used. Other strings for each device-type are available and may be added if new device-specific detections are added. Currently supported are:

gen10:

First Wii Remote generation

gen20:

Second Wii Remote Plus generation (builtin MP)

balanceboard:

Wii Balance Board

/sys/bus/hid/drivers/wiimote/<dev>/extension

Defined on file sysfs-driver-hid-wiimote

This file contains the currently connected and initialized extensions. It can be one of: none, motionp, nunchuck, classic, motionp+nunchuck, motionp+classic motionp is the official Nintendo Motion+ extension, nunchuck is the official Nintendo Nunchuck extension and classic is the Nintendo Classic Controller extension. The motionp extension can be combined with the other two.

Starting with kernel-version 3.11 Motion Plus hotplugging is supported and if detected, it’s no longer reported as static extension. You will get uevent notifications for the motion-plus device then.

/sys/bus/hid/drivers/wiimote/<dev>/led1

/sys/bus/hid/drivers/wiimote/<dev>/led2

/sys/bus/hid/drivers/wiimote/<dev>/led3

/sys/bus/hid/drivers/wiimote/<dev>/led4

Defined on file sysfs-driver-hid-wiimote

Make it possible to set/get current led state. Reading from it returns 0 if led is off and 1 if it is on. Writing 0 to it disables the led, writing 1 enables it.

/sys/bus/hid/drivers/wiimote/<dev>/pro_calib

Defined on file sysfs-driver-hid-wiimote

This attribute is only provided if the device was detected as a pro-controller. It provides a single line with 4 calibration values for all 4 analog sticks. Format is: “x1:y1 x2:y2”. Data is prefixed with a +/-. Each value is a signed 16bit number. Data is encoded as decimal numbers and specifies the offsets of the analog sticks of the pro-controller.

Calibration data is already applied by the kernel to all input values but may be used by user-space to perform other transformations.

Calibration data is detected by the kernel during device setup. You can write “scann” into this file to re-trigger calibration. You can also write data directly in the form “x1:y1 x2:y2” to set the calibration values manually.

/sys/bus/hsi

Defined on file sysfs-bus-hsi

High Speed Synchronous Serial Interface (HSI) is a serial interface mainly used for connecting application engines (APE) with cellular modem engines (CMT) in cellular handsets. The bus will be populated with devices (hsi_clients) representing the protocols available in the system. Bus drivers implement those protocols.

/sys/bus/hsi/devices/.../modalias

Defined on file sysfs-bus-hsi

Stores the same MODALIAS value emitted by uevent Format: hsi:<hsi_client device name>

/sys/bus/i2c/.../idle_state

Defined on file sysfs-bus-i2c-devices-pca954x

Value that exists only for mux devices that can be written to control the behaviour of the multiplexer on idle. Possible values:

-2

disconnect on idle, i.e. deselect the last used channel, which is useful when there is a device with an address that conflicts with another device on another mux on the same parent bus.

-1

leave the mux as-is, which is the most optimal setting in terms of I2C operations and is the default mode.

0..<nchans>

set the mux to a predetermined channel, which is useful if there is one channel that is used almost always, and you want to reduce the latency for normal operations after rare transactions on other channels

/sys/bus/i2c/devices/.../bd9571mwv-regulator.*.auto/backup_mode

Defined on file sysfs-driver-bd9571mwv-regulator

Read/write the current state of DDR Backup Mode, which controls if DDR power rails will be kept powered during system suspend. (“on”/”1” = enabled, “off”/”0” = disabled). Two types of power switches (or control signals) can be used:

  1. With a momentary power switch (or pulse signal), DDR Backup Mode is enabled by default when available, as the PMIC will be configured only during system suspend.

  2. With a toggle power switch (or level signal), the following steps must be followed exactly:

    1. Configure PMIC for backup mode, to change the role of the accessory power switch from a power switch to a wake-up switch,

    2. Switch accessory power switch off, to prepare for system suspend, which is a manual step not controlled by software,

    3. Suspend system,

    4. Switch accessory power switch on, to resume the system.

    DDR Backup Mode must be explicitly enabled by the user, to invoke step 1.

See also Documentation/devicetree/bindings/mfd/rohm,bd9571mwv.yaml.

Users:

User space applications for embedded boards equipped with a BD9571MWV PMIC.

/sys/bus/i2c/devices/.../calibration

Defined on file sysfs-bus-i2c-devices-hm6352

Sets the calibration on or off (1 = on, 0 = off). See the chip data sheet.

/sys/bus/i2c/devices/.../device

Defined on file sysfs-bus-i2c-devices-fsa9480

show what device is attached

NONE

no device

USB

USB device is attached

UART

UART is attached

CHARGER

Charger is attached

JIG

JIG is attached

/sys/bus/i2c/devices/.../heading0_input

Defined on file sysfs-bus-i2c-devices-hm6352

Reports the current heading from the compass as a floating point value in degrees.

/sys/bus/i2c/devices/.../output_hvled[n]

Defined on file sysfs-bus-i2c-devices-lm3533

Set the controlling backlight device for high-voltage current sink HVLED[n] (n = 1, 2) (0, 1).

/sys/bus/i2c/devices/.../output_lvled[n]

Defined on file sysfs-bus-i2c-devices-lm3533

Set the controlling led device for low-voltage current sink LVLED[n] (n = 1..5) (0..3).

/sys/bus/i2c/devices/.../power_state

Defined on file sysfs-bus-i2c-devices-hm6352

Sets the power state of the device. 0 sets the device into sleep mode, 1 wakes it up.

/sys/bus/i2c/devices/.../switch

Defined on file sysfs-bus-i2c-devices-fsa9480

show or set the state of manual switch

VAUDIO

switch to VAUDIO path

UART

switch to UART path

AUDIO

switch to AUDIO path

DHOST

switch to DHOST path

AUTO

switch automatically by device

/sys/bus/i2c/devices/.../trickle_charge_bypass

Defined on file sysfs-bus-i2c-devices-bq32k

Attribute for enable/disable the trickle charge bypass The trickle_charge_bypass attribute allows the userspace to enable/disable the Trickle charge FET bypass.

/sys/bus/i2c/devices/<busnum>-<primary-addr>/new_pass

Defined on file sysfs-bus-i2c-devices-m24lr

Write-only attribute used to update the password required to unlock 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 password register

  • Requires the device to be unlocked before changing the password

  • If the device is locked, the write silently fails

/sys/bus/i2c/devices/<busnum>-<primary-addr>/sss

Defined on file sysfs-bus-i2c-devices-m24lr

Read/write binary attribute representing the Sector Security Status (SSS) bytes for all EEPROM sectors in STMicroelectronics M24LR chips.

Each EEPROM sector has one SSS byte, which controls I2C and RF access through protection bits and optional password authentication.

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 that support byte-level I/O and offset control.

Notes:
  • The number of valid bytes in this file is equal to the value exposed by ‘total_sectors’ file

  • Write access requires prior password authentication in I2C mode

  • Refer to the M24LR datasheet for full SSS bit layout

/sys/bus/i2c/devices/<busnum>-<primary-addr>/total_sectors

Defined on file sysfs-bus-i2c-devices-m24lr

Read-only attribute that exposes the total number of EEPROM sectors 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 EEPROM size (e.g., 3 = 4 kbit for M24LR04E-R)

/sys/bus/i2c/devices/<busnum>-<primary-addr>/uid

Defined on file sysfs-bus-i2c-devices-m24lr

Read-only attribute that exposes the 8-byte unique identifier programmed 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 file sysfs-bus-i2c-devices-m24lr

Write-only attribute used to present a password and unlock access to protected areas of the M24LR chip, including configuration registers such as the Sector Security Status (SSS) bytes. A valid password must be written to enable write access 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 file sysfs-bus-i2c-devices-turris-omnia-mcu

(RO) Contains board revision number.

Only available if board information is burned in the MCU (older revisions have board information burned in the ATSHA204-A chip).

Format: %u.

/sys/bus/i2c/devices/<mcu_device>/first_mac_address

Defined on file sysfs-bus-i2c-devices-turris-omnia-mcu

(RO) Contains device first MAC address. Each Turris Omnia is allocated 3 MAC addresses. The two additional addresses are computed from the first one by incrementing it.

Only available if board information is burned in the MCU (older revisions have board information burned in the ATSHA204-A chip).

Format: %pM.

/sys/bus/i2c/devices/<mcu_device>/front_button_mode

Defined on file sysfs-bus-i2c-devices-turris-omnia-mcu

(RW) The front button on the Turris Omnia router can be configured either to change the intensity of all the LEDs on the front panel, or to send the press event to the CPU as an interrupt.

This file switches between these two modes:
  • mcu makes the button press event be handled by the MCU to change 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 file sysfs-bus-i2c-devices-turris-omnia-mcu

(RW) Newer versions of the microcontroller firmware of the Turris Omnia router support powering off the router into true low power mode. The router can be powered on by pressing the front button.

This file configures whether front button power on is enabled.

This file is present only if the power off feature is supported by the firmware.

Format: %i.

/sys/bus/i2c/devices/<mcu_device>/fw_features

Defined on file sysfs-bus-i2c-devices-turris-omnia-mcu

(RO) Newer versions of the microcontroller firmware report the features they support. These can be read from this file. If the MCU firmware is too old, this file reads 0x0.

Format: 0x%x.

/sys/bus/i2c/devices/<mcu_device>/fw_version_hash_application

Defined on file sysfs-bus-i2c-devices-turris-omnia-mcu

(RO) Contains the version hash (commit hash) of the application part of the microcontroller firmware.

Format: %s.

/sys/bus/i2c/devices/<mcu_device>/fw_version_hash_bootloader

Defined on file sysfs-bus-i2c-devices-turris-omnia-mcu

(RO) Contains the version hash (commit hash) of the bootloader part of the microcontroller firmware.

Format: %s.

/sys/bus/i2c/devices/<mcu_device>/mcu_type

Defined on file sysfs-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 file sysfs-bus-i2c-devices-turris-omnia-mcu

(RO) Contains the selected factory reset level, determined by how long the rear reset button was held by the user during board reset.

Format: %i.

/sys/bus/i2c/devices/<mcu_device>/serial_number

Defined on file sysfs-bus-i2c-devices-turris-omnia-mcu

(RO) Contains the 64-bit board serial number in hexadecimal format.

Only available if board information is burned in the MCU (older revisions have board information burned in the ATSHA204-A chip).

Format: %016X.

/sys/bus/i2c/devices/xxx/fw_version

Defined on file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-driver-ucsi-ccg

Tell the driver for Cypress CCGx Type-C controller to attempt firmware upgrade by writing [Yy1] to the file.

/sys/bus/i3c/devices/<bus-id>-<device-pid>

Defined on file sysfs-bus-i3c

These directories are just symbolic links to /sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>.

/sys/bus/i3c/devices/i3c-<bus-id>

Defined on file sysfs-bus-i3c

An I3C bus. This directory will contain one sub-directory per I3C device present on the bus.

/sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>

Defined on file sysfs-bus-i3c

An I3C device present on I3C bus identified by <bus-id>. Note that all devices are represented including the master driving the bus.

/sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>/bcr

Defined on file sysfs-bus-i3c

BCR stands for Bus Characteristics Register and express the device capabilities in term of speed, maximum read/write length, etc. See the I3C specification for more details.

/sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>/dcr

Defined on file sysfs-bus-i3c

DCR stands for Device Characteristics Register and express the device capabilities in term of exposed features. See the I3C specification for more details.

/sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>/dev_nack_retry_count

Defined on file sysfs-bus-i3c

Expose the dev_nak_retry_count which controls the number of automatic retries that will be performed by the controller when the target device returns a NACK response. A value of 0 disables the automatic retries. Exist only when I3C constroller supports this retry on nack feature.

/sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>/dynamic_address

Defined on file sysfs-bus-i3c

Dynamic address assigned to device <bus-id>-<device-pid>. This address may change if the bus is re-initialized.

/sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>/hdrcap

Defined on file sysfs-bus-i3c

Expose the HDR (High Data Rate) capabilities of a device. Returns a list of supported HDR mode, each element is separated by space. Modes can be “hdr-ddr”, “hdr-tsp” and “hdr-tsl”.

See the I3C specification for more details about these HDR modes.

/sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>/pid

Defined on file sysfs-bus-i3c

PID stands for Provisioned ID and is used to uniquely identify a device on a bus. This PID contains information about the vendor, the part and an instance ID so that several devices of the same type can be connected on the same bus. See the I3C specification for more details.

/sys/bus/i3c/devices/i3c-<bus-id>/bcr

Defined on file sysfs-bus-i3c

BCR stands for Bus Characteristics Register and express the device capabilities in term of speed, maximum read/write length, etc. See the I3C specification for more details. This entry describes the BCR of the master controller driving the bus.

/sys/bus/i3c/devices/i3c-<bus-id>/current_master

Defined on file sysfs-bus-i3c

Expose the master that owns the bus (<bus-id>-<master-pid>) at the time this file is read. Note that bus ownership can change overtime, so there’s no guarantee that when the read() call returns, the value returned is still valid.

/sys/bus/i3c/devices/i3c-<bus-id>/dcr

Defined on file sysfs-bus-i3c

DCR stands for Device Characteristics Register and express the device capabilities in term of exposed features. See the I3C specification for more details. This entry describes the DCR of the master controller driving the bus.

/sys/bus/i3c/devices/i3c-<bus-id>/do_daa

Defined on file sysfs-bus-i3c

Write-only attribute that triggers a Dynamic Address Assignment (DAA) procedure which discovers new I3C devices on the bus. Writing a boolean true value (1, y, yes, true, on) to this attribute causes the master controller to perform DAA, which includes broadcasting an ENTDAA (Enter Dynamic Address Assignment) Common Command Code (CCC) on the bus. Writing a false value returns -EINVAL.

This is useful for discovering I3C devices that were not present during initial bus initialization and are unable to issue Hot-Join. Only devices without a currently assigned dynamic address will respond to the ENTDAA broadcast and be assigned addresses.

Note that this mechanism is distinct from Hot-Join, since this is controller-initiated discovery, while Hot-Join is device-initiated method to provoke controller discovery procedure.

/sys/bus/i3c/devices/i3c-<bus-id>/dynamic_address

Defined on file sysfs-bus-i3c

Dynamic address assigned to the master controller. This address may change if the bus is re-initialized.

/sys/bus/i3c/devices/i3c-<bus-id>/hdrcap

Defined on file sysfs-bus-i3c

Expose the HDR (High Data Rate) capabilities of a device. Returns a list of supported HDR mode, each element is separated by space. Modes can be “hdr-ddr”, “hdr-tsp” and “hdr-tsl”. See the I3C specification for more details about these HDR modes.

This entry describes the HDRCAP of the master controller driving the bus.

/sys/bus/i3c/devices/i3c-<bus-id>/hotjoin

Defined on file sysfs-bus-i3c

I3C’s Hot-Join mechanism allows an I3C Device to inform the Active Controller that a newly-joined Target is present on the I3C Bus and is ready to receive a Dynamic Address, in order to become fully functional on the Bus. Hot-Join is used when the Target is mounted on the same I3C bus and remains depowered until needed or until the Target is physically inserted into the I3C bus

This entry allows to enable or disable Hot-join of the Current Controller driving the bus.

/sys/bus/i3c/devices/i3c-<bus-id>/i2c_scl_frequency

Defined on file sysfs-bus-i3c

The frequency (expressed in Hz) of the SCL signal when operating in I2C mode.

/sys/bus/i3c/devices/i3c-<bus-id>/i3c_scl_frequency

Defined on file sysfs-bus-i3c

The frequency (expressed in Hz) of the SCL signal when operating in I3C SDR mode.

/sys/bus/i3c/devices/i3c-<bus-id>/mode

Defined on file sysfs-bus-i3c

I3C bus mode. Can be “pure”, “mixed-fast” or “mixed-slow”. See the I3C specification for a detailed description of what each of these modes implies.

/sys/bus/i3c/devices/i3c-<bus-id>/pid

Defined on file sysfs-bus-i3c

PID stands for Provisioned ID and is used to uniquely identify a device on a bus. This PID contains information about the vendor, the part and an instance ID so that several devices of the same type can be connected on the same bus. See the I3C specification for more details. This entry describes the PID of the master controller driving the bus.

/sys/bus/iio/devices/device[n]/in_illuminance0_calibrate

Defined on file sysfs-bus-iio-light-tsl2772

Causes an internal calibration of the als gain trim value which is later used in calculating illuminance in lux.

/sys/bus/iio/devices/device[n]/in_illuminance_calibrate

Defined on file sysfs-bus-iio-light-tsl2583

This property causes an internal calibration of the als gain trim value which is later used in calculating illuminance in lux.

/sys/bus/iio/devices/device[n]/in_illuminance_input_target

Defined on file sysfs-bus-iio-light-tsl2583

This property is the known externally illuminance (in lux). It is used in the process of calibrating the device accuracy.

/sys/bus/iio/devices/device[n]/in_illuminance_lux_table

Defined on file sysfs-bus-iio-light-tsl2583

This property gets/sets the table of coefficients used in calculating illuminance in lux.

/sys/bus/iio/devices/device[n]/in_proximity0_calibrate

Defined on file sysfs-bus-iio-light-tsl2772

Causes a recalculation and adjustment to the proximity_thresh_rising_value.

/sys/bus/iio/devices/iio:device*/buffer/hwfifo_timeout

Defined on file sysfs-bus-iio

A read/write property to provide capability to delay reporting of samples till a timeout is reached. This allows host processors to sleep, while the sensor is storing samples in its internal fifo. The maximum timeout in seconds can be specified by setting hwfifo_timeout.The current delay can be read by reading hwfifo_timeout. A value of 0 means that there is no timeout.

/sys/bus/iio/devices/iio:deviceX

Defined on file sysfs-bus-iio

Hardware chip or device accessed by one communication port. Corresponds to a grouping of sensor channels. X is the IIO index of the device.

/sys/bus/iio/devices/iio:deviceX/ac_excitation_en

Defined on file sysfs-bus-iio-adc-ad7192

This attribute, if available, is used to enable the AC excitation mode found on some converters. In ac excitation mode, the polarity of the excitation voltage is reversed on alternate cycles, to eliminate DC errors.

/sys/bus/iio/devices/iio:deviceX/auto_zeroing_mux_enable

Defined on file sysfs-bus-iio-adc-mcp3564

This attribute is used to enable the analog input multiplexer auto-zeroing algorithm (the input multiplexer and the ADC include an offset cancellation algorithm that cancels the offset contribution of the ADC). When the offset cancellation algorithm is enabled, ADC takes two conversions, one with the differential input as VIN+/VIN-, one with VIN+/VIN- inverted. In this case the conversion time is multiplied by two compared to the default case where the algorithm is disabled. This technique allows the cancellation of the ADC offset error and the achievement of ultra-low offset without any digital calibration. The resulting offset is the residue of the difference between the two conversions, which is on the order of magnitude of the noise floor. 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 file sysfs-bus-iio-adc-mcp3564

This attribute is used to enable the chopping algorithm for the internal voltage reference buffer. This setting has no effect when external voltage reference is selected. Internal voltage reference buffer injects a certain quantity of 1/f noise into the system that can be modulated with the incoming input signals and can limit the SNR performance at higher Oversampling Ratio values (over 256). To overcome this limitation, the buffer includes an auto-zeroing algorithm that greatly reduces (cancels out) the 1/f noise and cancels the offset value of the reference buffer. As a result, the SNR of the system is not affected by this 1/f noise component of the reference 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 file sysfs-bus-iio-meas-spec

Reading returns either ‘1’ or ‘0’. ‘1’ means that the battery level supplied to sensor is below 2.25V. This ABI is available for tsys02d, htu21, ms8607

/sys/bus/iio/devices/iio:deviceX/boost_current_gain

Defined on file sysfs-bus-iio-adc-mcp3564

This attribute is used to set the gain of the biasing current circuit of the Delta-Sigma modulator. The different BOOST settings are applied to the entire modulator circuit, including the voltage reference buffers.

/sys/bus/iio/devices/iio:deviceX/boost_current_gain_available

Defined on file sysfs-bus-iio-adc-mcp3564

Reading returns a list with the possible gain values for the current biasing circuit of the Delta-Sigma modulator.

/sys/bus/iio/devices/iio:deviceX/bridge_switch_en

Defined on file sysfs-bus-iio-adc-ad7192

This attribute, if available, is used to close or open the bridge 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 the system. To minimize the current consumption of the system, the bridge can be disconnected (when it is not being used using the bridge_switch_en attribute.

/sys/bus/iio/devices/iio:deviceX/buffer

Defined on file sysfs-bus-iio

Directory of attributes relating to the buffer for the device.

/sys/bus/iio/devices/iio:deviceX/buffer/hwfifo_enabled

Defined on file sysfs-bus-iio

A read-only boolean value that indicates if the hardware fifo is currently enabled or disabled. If the device does not have a hardware fifo this entry is not present. The hardware fifo is enabled when the buffer is enabled if the current hardware fifo watermark level is set and other current device settings allows it (e.g. if a trigger is set that samples data differently that the hardware fifo does then hardware fifo will not enabled).

If the hardware fifo is enabled and the level of the hardware fifo reaches the hardware fifo watermark level the device will flush its hardware fifo to the device buffer. Doing a non blocking read on the device when no samples are present in the device buffer will also force a flush.

When the hardware fifo is enabled there is no need to use a trigger to use buffer mode since the watermark settings guarantees that the hardware fifo is flushed to the device buffer.

/sys/bus/iio/devices/iio:deviceX/buffer/hwfifo_watermark

Defined on file sysfs-bus-iio

Read-only entry that contains a single integer specifying the current watermark level for the hardware fifo. If the device does not have a hardware fifo this entry is not present. The watermark level for the hardware fifo is set by the driver based on the value set by the user in buffer/watermark but taking into account hardware limitations (e.g. most hardware buffers are limited to 32-64 samples, some hardware buffers watermarks are fixed or have minimum levels). A value of 0 means that the hardware watermark is unset.

/sys/bus/iio/devices/iio:deviceX/buffer/hwfifo_watermark_available

Defined on file sysfs-bus-iio

A list of positive integers specifying the available watermark levels for the hardware fifo. This entry is optional and if it is not present it means that all the values between hwfifo_watermark_min and hwfifo_watermark_max are supported.

If the user sets buffer/watermark to a value greater than hwfifo_watermak_min but not equal to any of the values in this list, the driver will chose an appropriate value for the hardware fifo watermark level.

/sys/bus/iio/devices/iio:deviceX/buffer/hwfifo_watermark_max

Defined on file sysfs-bus-iio

A single positive integer specifying the maximum watermark level for the hardware fifo of this device. If the device does not have a hardware fifo this entry is not present.

If the user sets buffer/watermark to a value greater than this one, then the hardware watermark will be capped at this value.

/sys/bus/iio/devices/iio:deviceX/buffer/hwfifo_watermark_min

Defined on file sysfs-bus-iio

A single positive integer specifying the minimum watermark level for the hardware fifo of this device. If the device does not have a hardware fifo this entry is not present.

If the user sets buffer/watermark to a value less than this one, then the hardware watermark will remain unset.

/sys/bus/iio/devices/iio:deviceX/buffer/length_align_bytes

Defined on file sysfs-bus-iio-dma-buffer

DMA buffers tend to have a alignment requirement for the buffers. If this alignment requirement is not met samples might be dropped from the buffer.

This property reports the alignment requirements in bytes. This means that the buffer size in bytes needs to be a integer multiple of the number reported by this file.

The alignment requirements in number of sample sets will depend on the enabled channels and the bytes per channel. This means that the alignment requirement in samples sets might change depending on which and how many channels are enabled. Whereas the alignment requirement reported in bytes by this property will remain static and does not depend on which channels are enabled.

/sys/bus/iio/devices/iio:deviceX/bufferY

Defined on file sysfs-bus-iio

Directory containing interfaces for elements that will be captured for a single triggered sample set in the buffer.

Since kernel 5.11 the scan_elements attributes are merged into the bufferY directory, to be configurable per buffer.

/sys/bus/iio/devices/iio:deviceX/bufferY/data_available

Defined on file sysfs-bus-iio

A read-only value indicating the bytes of data available in the buffer. In the case of an output buffer, this indicates the amount of empty space available to write data to. In the case of an input buffer, this indicates the amount of data available for reading.

/sys/bus/iio/devices/iio:deviceX/bufferY/enable

Defined on file sysfs-bus-iio

Actually start the buffer capture up. Will start trigger if first device and appropriate.

Note that it might be impossible to configure other attributes, (e.g.: events, scale, sampling rate) if they impact the currently active buffer capture session.

/sys/bus/iio/devices/iio:deviceX/bufferY/length

Defined on file sysfs-bus-iio

Number of scans contained by the buffer.

/sys/bus/iio/devices/iio:deviceX/bufferY/watermark

Defined on file sysfs-bus-iio

A single positive integer specifying the maximum number of scan elements to wait for.

Poll will block until the watermark is reached.

Blocking read will wait until the minimum between the requested read amount or the low water mark is available.

Non-blocking read will retrieve the available samples from the buffer even if there are less samples then watermark level. This allows the application to block on poll with a timeout and read the available samples after the timeout expires and thus have a maximum delay guarantee.

/sys/bus/iio/devices/iio:deviceX/calibrate

Defined on file sysfs-bus-iio-cros-ec

Writing ‘1’ either perform a FOC (Fast Online Calibration) or enter calibration mode. Writing ‘0` exits calibration mode. It is a NOP for FOC enabled sensors. The corresponding calibration offsets can be read from *_calibbias entries.

/sys/bus/iio/devices/iio:deviceX/calibration_auto_enable

Defined on file sysfs-bus-iio

Some sensors have the ability to apply auto calibration at runtime. For example, it may be necessary to compensate for contaminant build-up in a measurement chamber or optical element deterioration that would otherwise lead to sensor drift.

Writing 1 or 0 to this attribute will respectively activate or deactivate this auto calibration function.

Upon reading, the current status is returned.

/sys/bus/iio/devices/iio:deviceX/calibration_data

Defined on file sysfs-bus-iio-bno055

Reports the binary calibration data blob for the IMU sensors.

/sys/bus/iio/devices/iio:deviceX/calibration_forced_value

Defined on file sysfs-bus-iio

Some sensors have the ability to apply a manual calibration using a known measurement value, perhaps obtained from an external reference device.

Writing a value to this function will force such a calibration change. 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 once it is has been written. Until then any read back of this value should be ignored. As for the scd4x an error will be returned immediately if the manual calibration has failed.

/sys/bus/iio/devices/iio:deviceX/calibration_forced_value_available

Defined on file sysfs-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 file sysfs-bus-iio-sps30

Sensor is capable of triggering self cleaning periodically. Period can be changed by writing a new value here. Upon reading the current one is returned. Units are seconds.

Writing 0 disables periodical self cleaning entirely.

/sys/bus/iio/devices/iio:deviceX/cleaning_period_available

Defined on file sysfs-bus-iio-sps30

The range of available values in seconds represented as the minimum value, the step and the maximum value, all enclosed in square brackets.

/sys/bus/iio/devices/iio:deviceX/current_timestamp_clock

Defined on file sysfs-bus-iio

String identifying current posix clock used to timestamp buffered samples and events for device X.

/sys/bus/iio/devices/iio:deviceX/error_status

Defined on file sysfs-bus-iio-chemical-sunrise-co2

Reading returns the current chip error status.

/sys/bus/iio/devices/iio:deviceX/error_status_available

Defined on file sysfs-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 file sysfs-bus-iio

Configuration of which hardware generated events are passed up to user-space.

/sys/bus/iio/devices/iio:deviceX/events/in_altvoltage0_mag_rising_reset_max

Defined on file sysfs-bus-iio-resolver-ad2s1210

Reading returns the current Degradation of Signal Reset Maximum Threshold value in millivolts. Writing sets the value.

/sys/bus/iio/devices/iio:deviceX/events/in_altvoltage0_mag_rising_reset_max_available

Defined on file sysfs-bus-iio-resolver-ad2s1210

Reading returns the allowable voltage range for in_altvoltage0_mag_rising_reset_max.

/sys/bus/iio/devices/iio:deviceX/events/in_altvoltage0_mag_rising_reset_min

Defined on file sysfs-bus-iio-resolver-ad2s1210

Reading returns the current Degradation of Signal Reset Minimum Threshold value in millivolts. Writing sets the value.

/sys/bus/iio/devices/iio:deviceX/events/in_altvoltage0_mag_rising_reset_min_available

Defined on file sysfs-bus-iio-resolver-ad2s1210

Reading returns the allowable voltage range for in_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 file sysfs-bus-iio

Optional symbolic label to a device channel event. If a label is defined for this event add that to the event specific attributes. This is useful for userspace to be able to better identify an individual event.

/sys/bus/iio/devices/iio:deviceX/events/in_illuminance_period_available

Defined on file sysfs-bus-iio

List of valid periods (in seconds) for which the light intensity must be above the threshold level before interrupt is asserted.

/sys/bus/iio/devices/iio:deviceX/events/in_voltageY_thresh_falling_value

Defined on file sysfs-bus-iio-adc-hi8435

Channel Y low voltage threshold. If sensor input voltage goes lower then this value then the threshold falling event is pushed. Depending on in_voltageY_sensing_mode the low voltage threshold is separately set for “GND-Open” and “Supply-Open” modes. Channels 0..31 have common low threshold values, but could have different sensing_modes.

The low voltage threshold range is between 2..21V. Hysteresis between low and high thresholds can not be lower then 2 and can not be odd.

If falling threshold results hysteresis to odd value then rising threshold is automatically subtracted by one.

/sys/bus/iio/devices/iio:deviceX/events/in_voltageY_thresh_rising_value

Defined on file sysfs-bus-iio-adc-hi8435

Channel Y high voltage threshold. If sensor input voltage goes higher then this value then the threshold rising event is pushed. Depending on in_voltageY_sensing_mode the high voltage threshold is separately set for “GND-Open” and “Supply-Open” modes.

Channels 0..31 have common high threshold values, but could have different sensing_modes.

The high voltage threshold range is between 3..22V. Hysteresis between low and high thresholds can not be lower then 2 and can not be odd.

If rising threshold results hysteresis to odd value then falling threshold is automatically appended by one.

/sys/bus/iio/devices/iio:deviceX/fault_oc

Defined on file sysfs-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 file sysfs-bus-iio-thermocouple

Overvoltage or Undervoltage Input Fault. The internal circuitry is protected from excessive voltages applied to the thermocouple cables. The device can also detect if such a condition occurs.

Reading returns ‘1’ if input voltage is negative or greater than VDD, otherwise ‘0’.

/sys/bus/iio/devices/iio:deviceX/filter_mode

Defined on file sysfs-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 file sysfs-bus-iio-filter-admv8818

Reading this returns the valid values that can be written to the filter_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 file sysfs-bus-iio

Specifies which filter type apply to the channel. The possible values 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 file sysfs-bus-iio

Reading returns a list with the possible filter modes. Options for the attribute:

  • “none” - Filter is disabled/bypassed.

  • “sinc1” - The digital sinc1 filter. Fast 1st conversion time. Poor noise performance.

  • “sinc3” - The digital sinc3 filter. Moderate 1st conversion 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 conversion time.

  • “sinc4” - Sinc 4. Excellent noise performance. Long 1st conversion time.

  • “sinc4+lp” - Sinc4 + Low Pass Filter.

  • “sinc4+sinc1” - Sinc4 + averaging by 8. Low 1st conversion time.

  • “sinc4+rej60” - Sinc4 + 60Hz rejection.

  • “sinc5” - The digital sinc5 filter. Excellent noise performance

  • “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 passband and sharp transition band.

/sys/bus/iio/devices/iio:deviceX/fusion_enable

Defined on file sysfs-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 file sysfs-bus-iio

‘1’ (enable) or ‘0’ (disable) specifying the enable of heater function. Same reading values apply.

This ABI is especially applicable for humidity sensors to heatup the device and get rid of any condensation in some humidity environment

/sys/bus/iio/devices/iio:deviceX/id

Defined on file sysfs-bus-iio-cros-ec

This attribute is exposed by the CrOS EC sensors driver and represents the sensor ID as exposed by the EC. This ID is used by the Android sensor service hardware abstraction layer (sensor HAL) through the Android container on ChromeOS.

/sys/bus/iio/devices/iio:deviceX/in_Y_mean_raw

Defined on file sysfs-bus-iio

Averaged raw measurement from channel Y. The number of values used for averaging is device specific. The converting rules for normal 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 file sysfs-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 file sysfs-bus-iio-bno055

Reports the autocalibration status for the accelerometer sensor. Can be 0 (calibration non even enabled) or 1 to 5 where the greater the 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 file sysfs-bus-iio

As per in_accel_X_raw attributes, but minus the acceleration 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 file sysfs-bus-iio

If known for a device, offset to be added to <type>[Y]_raw prior to scaling by <type>[Y]_scale in order to obtain value in the <type> units as specified in <type>[Y]_raw documentation. Not present if the offset is always 0 or unknown. If Y or axis <x|y|z> is not present, then the offset applies to all in channels of <type>. May be writable if a variable offset can be applied on the device. Note that this is different to calibbias which is for devices (or drivers) that apply offsets to compensate for variation between different instances of the part, typically adjusted by using some hardware supported calibration procedure. Calibbias is applied internally, offset is applied in userspace to the _raw output.

/sys/bus/iio/devices/iio:deviceX/in_accel_power_mode

Defined on file sysfs-bus-iio-inv_icm42600

Accelerometer power mode. Setting this attribute will set the requested power mode to use if the ODR support it. If ODR support only 1 mode, power mode will be enforced. Reading this attribute will return the current accelerometer power mode if the sensor is on, or the requested value if the sensor is off. The value between real and requested value can be different for ODR supporting only 1 mode.

/sys/bus/iio/devices/iio:deviceX/in_accel_power_mode_available

Defined on file sysfs-bus-iio-inv_icm42600

List of available accelerometer power modes that can be set in in_accel_power_mode attribute.

/sys/bus/iio/devices/iio:deviceX/in_accel_raw_range

Defined on file sysfs-bus-iio-bno055

Raw (unscaled) range for acceleration readings. Unit after application of scale is m/s^2. Note that this doesn’t affects the scale (which should be used when changing the maximum and minimum readable value affects also the reading scaling factor).

/sys/bus/iio/devices/iio:deviceX/in_accel_raw_range_available

Defined on file sysfs-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 file sysfs-bus-iio

If a discrete set of scale values is available, they are listed in this attribute. Unlike illumination, multiplying intensity by intensity_scale does not yield 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 file sysfs-bus-iio

Hardware applied calibration offset (assumed to fix production inaccuracies). icm42600: For this device values are real physical offsets expressed in SI units (m/s^2 for accelerometers and rad/s for 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 file sysfs-bus-iio

Hardware applied calibration scale factor (assumed to fix production 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 file sysfs-bus-iio

Highest value since some reset condition. These attributes allow access to this and are otherwise the direct equivalent of the <type>Y[_name]_raw attributes.

/sys/bus/iio/devices/iio:deviceX/in_accel_x_raw

/sys/bus/iio/devices/iio:deviceX/in_accel_y_raw

/sys/bus/iio/devices/iio:deviceX/in_accel_z_raw

Defined on file sysfs-bus-iio

Acceleration in direction x, y or z (may be arbitrarily assigned but should match other such assignments on device). Has all of the equivalent parameters as per voltageY. Units after application of scale and offset are m/s^2.

/sys/bus/iio/devices/iio:deviceX/in_accel_xyz_squared_peak_raw

Defined on file sysfs-bus-iio

A computed peak value based on the sum squared magnitude of the underlying value in the specified directions.

/sys/bus/iio/devices/iio:deviceX/in_activity_calibgender

/sys/bus/iio/devices/iio:deviceX/in_energy_calibgender

/sys/bus/iio/devices/iio:deviceX/in_distance_calibgender

/sys/bus/iio/devices/iio:deviceX/in_velocity_calibgender

Defined on file sysfs-bus-iio

Gender of the user (e.g.: male, female) used by some pedometers to compute the stride length, distance, speed and activity type.

/sys/bus/iio/devices/iio:deviceX/in_activity_calibgender_available

/sys/bus/iio/devices/iio:deviceX/in_energy_calibgender_available

/sys/bus/iio/devices/iio:deviceX/in_distance_calibgender_available

/sys/bus/iio/devices/iio:deviceX/in_velocity_calibgender_available

Defined on file sysfs-bus-iio

Lists all available gender values (e.g.: male, female).

/sys/bus/iio/devices/iio:deviceX/in_activity_calibheight

/sys/bus/iio/devices/iio:deviceX/in_energy_calibheight

/sys/bus/iio/devices/iio:deviceX/in_distance_calibheight

/sys/bus/iio/devices/iio:deviceX/in_velocity_calibheight

Defined on file sysfs-bus-iio

Height of the user (in meters) used by some pedometers to compute the stride length, distance, speed and activity type.

/sys/bus/iio/devices/iio:deviceX/in_allow_async_readout

Defined on file sysfs-bus-iio-ina2xx-adc

By default (value ‘0’), the capture thread checks for the Conversion Ready Flag to being set prior to committing a new value to the sample buffer. This synchronizes the in-chip conversion rate with the in-driver readout rate at the cost of an additional register read.

Writing ‘1’ will remove the polling for the Conversion Ready Flags to save the additional i2c transaction, which will improve the bandwidth available for reading data. However, samples can be occasionally skipped or repeated, depending on the beat between the capture and conversion rates.

/sys/bus/iio/devices/iio:deviceX/in_altcurrentY_rms_raw

Defined on file sysfs-bus-iio

Raw (unscaled no bias removal etc.) Root Mean Square (RMS) current measurement from channel Y. Units after application of scale and offset are milliamps.

/sys/bus/iio/devices/iio:deviceX/in_altvoltage0-altvoltage1_i_calibphase

Defined on file sysfs-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 file sysfs-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 file sysfs-bus-iio-frequency-admv1013

Read/write value for the Local Oscillatior Feedthrough Offset Calibration I Positive side.

/sys/bus/iio/devices/iio:deviceX/in_altvoltage0_i_calibscale_coarse

Defined on file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-bus-iio-frequency-admv1013

Read/write raw value for the Local Oscillatior Feedthrough Offset Calibration I Negative side.

/sys/bus/iio/devices/iio:deviceX/in_altvoltage1_q_calibbias

Defined on file sysfs-bus-iio-frequency-admv1013

Read/write raw value for the Local Oscillatior Feedthrough Offset Calibration Q Negative side.

/sys/bus/iio/devices/iio:deviceX/in_altvoltageY_compare_interval

Defined on file sysfs-bus-iio-adc-envelope-detector

Number of milliseconds to wait for the comparator in each step of the binary search for the input peak level. Needs to relate to the frequency of the input signal.

/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 file sysfs-bus-iio

Phase in radians of one frequency/clock output Y (out_altvoltageY) relative to another frequency/clock output (out_altvoltageZ) of the device X. The number must always be specified and unique if the output corresponds to a single channel.

/sys/bus/iio/devices/iio:deviceX/in_altvoltageY_invert

Defined on file sysfs-bus-iio-adc-envelope-detector

The DAC is used to find the peak level of an alternating voltage input signal by a binary search using the output of a comparator wired to an interrupt pin. Like so:

                      _
                     | \
input +------>-------|+ \
                     |   \
       .-------.     |    }---.
       |       |     |   /    |
       |    dac|-->--|- /     |
       |       |     |_/      |
       |       |              |
       |       |              |
       |    irq|------<-------'
       |       |
       '-------'

The boolean invert attribute (0/1) should be set when the input signal is centered around the maximum value of the dac instead of zero. The envelope detector will search from below in this case and will also invert the result.

The edge/level of the interrupt is also switched to its opposite value.

/sys/bus/iio/devices/iio:deviceX/in_altvoltageY_rms_raw

Defined on file sysfs-bus-iio

Raw (unscaled) Root Mean Square (RMS) voltage measurement from channel Y. Units after application of scale and offset are millivolts.

/sys/bus/iio/devices/iio:deviceX/in_anglY_label

Defined on file sysfs-bus-iio

Optional symbolic label for channel Y. For Intel hid hinge sensor, the label values are: hinge, keyboard, screen. It means the three channels each 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 file sysfs-bus-iio

Angle of rotation. Units after application of scale and offset are radians.

/sys/bus/iio/devices/iio:deviceX/in_anglvel_raw_range

Defined on file sysfs-bus-iio-bno055

Range for angular velocity readings in radians per second. Note that this does not affects the scale (which should be used when changing the maximum and minimum readable value affects also the reading scaling factor).

/sys/bus/iio/devices/iio:deviceX/in_anglvel_raw_range_available

Defined on file sysfs-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 file sysfs-bus-iio

Angular velocity about axis x, y or z (may be arbitrarily assigned). Has all the equivalent parameters as per voltageY. Units after application of scale and offset are radians per second.

/sys/bus/iio/devices/iio:deviceX/in_capacitanceY_raw

Defined on file sysfs-bus-iio

Raw capacitance measurement from channel Y. Units after application of scale and offset are nanofarads.

/sys/bus/iio/devices/iio:deviceX/in_chromaticity_x_raw

/sys/bus/iio/devices/iio:deviceX/in_chromaticity_y_raw

Defined on file sysfs-bus-iio

The x and y light color coordinate on the CIE 1931 chromaticity diagram.

/sys/bus/iio/devices/iio:deviceX/in_colortemp_raw

Defined on file sysfs-bus-iio

Represents light color temperature, which measures light color temperature in Kelvin.

/sys/bus/iio/devices/iio:deviceX/in_concentration_VOC_short_raw

Defined on file sysfs-bus-iio-chemical-vz89x

Get the raw calibration VOC value from the sensor. This value has little application outside of calibration.

/sys/bus/iio/devices/iio:deviceX/in_concentration_co2_calibration_background

Defined on file sysfs-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 file sysfs-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 file sysfs-bus-iio

Raw (unscaled no offset etc.) reading of a substance. Units after application of scale and offset are percents.

/sys/bus/iio/devices/iio:deviceX/in_conversion_mode

Defined on file sysfs-bus-iio-vf610

Specifies the hardware conversion mode used. The three available modes are “normal”, “high-speed” and “low-power”, where the last is the default mode.

/sys/bus/iio/devices/iio:deviceX/in_count0_enable_mode

Defined on file sysfs-bus-iio-timer-stm32

Configure the device counter enable modes, in all case counting direction is set by in_count0_count_direction attribute and the counter is clocked by the internal clock.

always:

Counter is always ON.

gated:

Counting is enabled when connected trigger signal level is high else counting is disabled.

triggered:

Counting is enabled on rising edge of the connected trigger, and remains enabled for the duration of this selected mode.

/sys/bus/iio/devices/iio:deviceX/in_count0_preset

Defined on file sysfs-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 an event when reach preset value. When counting down the counter start from preset value and fire event when reach 0.

/sys/bus/iio/devices/iio:deviceX/in_count0_trigger_mode

Defined on file sysfs-bus-iio-timer-stm32

Configure the device counter trigger mode counting direction is set by in_count0_count_direction attribute and the counter is clocked by the connected trigger rising edges.

/sys/bus/iio/devices/iio:deviceX/in_countY_count_direction

Defined on file sysfs-bus-iio

This interface is deprecated; please use the Counter subsystem.

Raw counter device counters direction for channel Y.

/sys/bus/iio/devices/iio:deviceX/in_countY_raw

Defined on file sysfs-bus-iio

This interface is deprecated; please use the Counter subsystem.

Raw counter device counts from channel Y. For quadrature counters, multiplication by an available [Y]_scale results in the counts of a single quadrature signal phase from channel Y.

/sys/bus/iio/devices/iio:deviceX/in_count_count_direction_available

Defined on file sysfs-bus-iio

This interface is deprecated; please use the Counter subsystem.

A list of possible counting directions which are:

  • “up” : counter device is increasing.

  • “down”: counter device is decreasing.

/sys/bus/iio/devices/iio:deviceX/in_count_enable_mode_available

Defined on file sysfs-bus-iio-timer-stm32

Reading returns the list possible enable modes.

/sys/bus/iio/devices/iio:deviceX/in_count_trigger_mode_available

Defined on file sysfs-bus-iio-timer-stm32

Reading returns the list possible trigger modes.

/sys/bus/iio/devices/iio:deviceX/in_coverageY_raw

Defined on file sysfs-bus-iio

Raw (unscaled no offset etc.) coverage reading. Used for sensors that report fractional coverage as a percentage, such as leak detectors where the value represents what portion of the sensing element is wetted. Units after application of scale and offset are percent.

/sys/bus/iio/devices/iio:deviceX/in_coverageY_scale

Defined on file sysfs-bus-iio

Scale to be applied to in_coverageY_raw to obtain coverage in percent.

/sys/bus/iio/devices/iio:deviceX/in_current5_raw

Defined on file sysfs-bus-iio-adc-mt6360

Indicated MT6360 IBUS ADC Calculating with scale and offset returns voltage in uA

/sys/bus/iio/devices/iio:deviceX/in_current6_raw

Defined on file sysfs-bus-iio-adc-mt6360

Indicated MT6360 IBAT ADC Calculating with scale and offset returns voltage in uA

/sys/bus/iio/devices/iio:deviceX/in_current7_raw

Defined on file sysfs-bus-iio-adc-mt6360

Indicated MT6360 CHG_VDDP ADC Calculating 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 file sysfs-bus-iio

Raw current measurement from channel Y. Units are in milliamps after application of scale and offset. If no offset or scale is present, output should be considered as processed with the unit in milliamps. In special cases where the channel does not correspond to externally available input one of the named versions may be used.

Channels with ‘i’ and ‘q’ modifiers always exist in pairs and both channels refer to the same signal. The ‘i’ channel contains the in-phase component of the signal while the ‘q’ channel contains the quadrature component.

/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 file sysfs-bus-iio

Angular displacement between two consecutive samples on x, y or z (may be arbitrarily assigned but should match other such assignments on device). In order to compute the total angular displacement during a desired period of time, the application should sum-up the delta angle 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 file sysfs-bus-iio

The linear velocity change between two consecutive samples on x, y or z (may be arbitrarily assigned but should match other such assignments on device). In order to compute the total linear velocity change during a desired period of time, the application should sum-up the delta velocity samples acquired during that time. Units after application of scale and offset are meters per second.

/sys/bus/iio/devices/iio:deviceX/in_electricalconductivity_raw

Defined on file sysfs-bus-iio

Raw (unscaled no offset etc.) electric conductivity reading. Units after application of scale and offset are siemens per meter.

/sys/bus/iio/devices/iio:deviceX/in_energy_calibweight

Defined on file sysfs-bus-iio

Weight of the user (in kg). It is needed by some pedometers to compute the calories burnt by the user.

/sys/bus/iio/devices/iio:deviceX/in_filter_notch_center_frequency

Defined on file sysfs-bus-iio

Center frequency in Hz for a notch filter. Used i.e. for line noise 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 file sysfs-bus-iio

Gravity in direction x, y or z (may be arbitrarily assigned but should match other such assignments on device). Units after application of scale and offset are m/s^2.

/sys/bus/iio/devices/iio:deviceX/in_gyro_calibration_auto_status

Defined on file sysfs-bus-iio-bno055

Reports the autocalibration status for the gyroscope sensor. Can be 0 (calibration non even enabled) or 1 to 5 where the greater the 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 file sysfs-bus-iio-mpu6050

This is mounting matrix for motion sensors. Mounting matrix is a 3x3 unitary matrix. A typical mounting matrix would look like [0, 1, 0; 1, 0, 0; 0, 0, -1]. Using this information, it would be easy to tell the relative positions among sensors as well as their positions relative to the board that holds these sensors. Identity matrix [1, 0, 0; 0, 1, 0; 0, 0, 1] means sensor chip and device are perfectly aligned with each other. All axes are exactly the same.

/sys/bus/iio/devices/iio:deviceX/in_humidityrelative_input

Defined on file sysfs-bus-iio

Scaled humidity measurement in milli percent.

/sys/bus/iio/devices/iio:deviceX/in_humidityrelative_raw

Defined on file sysfs-bus-iio

Raw humidity measurement of air. Units after application of scale and offset are milli percent.

/sys/bus/iio/devices/iio:deviceX/in_humidityrelative_trough_raw

/sys/bus/iio/devices/iio:deviceX/in_temp_trough_raw

Defined on file sysfs-bus-iio

Lowest value since some reset condition. These attributes allow access to this and are otherwise the direct equivalent of the <type>Y[_name]_raw attributes.

/sys/bus/iio/devices/iio:deviceX/in_illuminance0_zone

Defined on file sysfs-bus-iio-light-lm3533-als

Get the current light zone (0..4) as defined by the in_illuminance0_threshY_{falling,rising} thresholds.

/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 file sysfs-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 file sysfs-bus-iio

Specify the percent for light sensor relative to the channel absolute value that a data field should change before an event is 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 file sysfs-bus-iio

Inclination raw reading about axis x, y or z (may be arbitrarily assigned). Data converted by application of offset and scale to degrees.

/sys/bus/iio/devices/iio:deviceX/in_indexY_raw

Defined on file sysfs-bus-iio

This interface is deprecated; please use the Counter subsystem.

Raw counter device index value from channel Y. This attribute provides an absolute positional reference (e.g. a pulse once per revolution) which may be used to home positional systems as required.

/sys/bus/iio/devices/iio:deviceX/in_intensityY_offset

Defined on file sysfs-bus-iio-health-afe440x

Get and set the offset cancellation DAC setting for these stages. The values are expressed in 5-bit sign-magnitude.

/sys/bus/iio/devices/iio:deviceX/in_intensityY_raw

Defined on file sysfs-bus-iio-health-afe440x

Get measured values from the ADC for these stages. Y is the specific stage number corresponding to datasheet stage names as follows:

1

LED2

2

ALED2/LED3

3

LED1

4

ALED1/LED4

Note that channels 5 and 6 represent LED2-ALED2 and LED1-ALED1 respectively which simply helper channels containing the calculated difference in the value of stage 1 - 2 and 3 - 4. The values are expressed in 24-bit twos complement. The LED current for the stage is controlled via out_currentY_raw.

/sys/bus/iio/devices/iio:deviceX/in_intensityY_resistance

/sys/bus/iio/devices/iio:deviceX/in_intensityY_capacitance

Defined on file sysfs-bus-iio-health-afe440x

Get and set the resistance and the capacitance settings for the Transimpedance Amplifier during the associated stage.

/sys/bus/iio/devices/iio:deviceX/in_intensity_hardwaregain_available

Defined on file sysfs-bus-iio

Lists all available hardware applied gain factors. Shared across all channels.

/sys/bus/iio/devices/iio:deviceX/in_intensity_ir_large_raw

Defined on file sysfs-bus-iio-light-si1133

Unit-less infrared intensity. The intensity is measured from 4 dark photodiodes. “large” indicate the surface area capturing infrared.

/sys/bus/iio/devices/iio:deviceX/in_intensity_ir_small_raw

Defined on file sysfs-bus-iio-light-si1133

Unit-less infrared intensity. The intensity is measured from 1 dark photodiode. “small” indicate the surface area capturing infrared.

/sys/bus/iio/devices/iio:deviceX/in_intensity_large_raw

Defined on file sysfs-bus-iio-light-si1133

Unit-less light intensity with more diodes.

/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 file sysfs-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 file sysfs-bus-iio-bno055

Reports the autocalibration status for the magnetometer sensor. Can be 0 (calibration non even enabled) or 1 to 5 where the greater the number, the better the calibration status.

/sys/bus/iio/devices/iio:deviceX/in_magn_calibration_fast_enable

Defined on file sysfs-bus-iio-bno055

Can be 1 or 0. Enables/disables the “Fast Magnetometer Calibration” 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 file sysfs-bus-iio

Hardware applied number of measurements for acquiring one data point. The HW will do <type>[_name]_oversampling_ratio measurements and return the average value as output data. Each value resulted from <type>[_name]_oversampling_ratio measurements is considered as one sample for <type>[_name]_sampling_frequency.

/sys/bus/iio/devices/iio:deviceX/in_magn_x_raw

/sys/bus/iio/devices/iio:deviceX/in_magn_y_raw

/sys/bus/iio/devices/iio:deviceX/in_magn_z_raw

Defined on file sysfs-bus-iio

Magnetic field along axis x, y or z (may be arbitrarily assigned). Data converted by application of offset then scale to Gauss.

/sys/bus/iio/devices/iio:deviceX/in_massconcentration_pm1_input

/sys/bus/iio/devices/iio:deviceX/in_massconcentrationY_pm1_input

/sys/bus/iio/devices/iio:deviceX/in_massconcentration_pm2p5_input

/sys/bus/iio/devices/iio:deviceX/in_massconcentrationY_pm2p5_input

/sys/bus/iio/devices/iio:deviceX/in_massconcentration_pm4_input

/sys/bus/iio/devices/iio:deviceX/in_massconcentrationY_pm4_input

/sys/bus/iio/devices/iio:deviceX/in_massconcentration_pm10_input

/sys/bus/iio/devices/iio:deviceX/in_massconcentrationY_pm10_input

Defined on file sysfs-bus-iio

Mass concentration reading of particulate matter in ug / m3. pmX consists of particles with aerodynamic diameter less or equal to X micrometers.

/sys/bus/iio/devices/iio:deviceX/in_ph_raw

Defined on file sysfs-bus-iio

Raw (unscaled no offset etc.) pH reading of a substance as a negative base-10 logarithm of hydrodium ions in a litre of water.

/sys/bus/iio/devices/iio:deviceX/in_phaseY_raw

Defined on file sysfs-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 file sysfs-bus-iio

Relative position in direction x or y on a pad (may be arbitrarily assigned but should match other such assignments on device). Units after application of scale and offset are milli percents from the pad’s size in both directions. Should be calibrated by the consumer.

/sys/bus/iio/devices/iio:deviceX/in_powerY_powerfactor

Defined on file sysfs-bus-iio

Power factor measurement from channel Y. Power factor is the ratio 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 file sysfs-bus-iio

Raw (unscaled no bias removal etc.) power measurement from channel Y. The number must always be specified and unique to allow association with event codes. Units after application of scale and offset are milliwatts.

/sys/bus/iio/devices/iio:deviceX/in_pressureY_input

/sys/bus/iio/devices/iio:deviceX/in_pressure_input

Defined on file sysfs-bus-iio

Scaled pressure measurement from channel Y, in kilopascal.

/sys/bus/iio/devices/iio:deviceX/in_pressureY_raw

/sys/bus/iio/devices/iio:deviceX/in_pressure_raw

Defined on file sysfs-bus-iio

Raw pressure measurement from channel Y. Units after application of scale and offset are kilopascal.

/sys/bus/iio/devices/iio:deviceX/in_proximity0_agc_gain

/sys/bus/iio/devices/iio:deviceX/in_proximity0_agc_gain_bias

Defined on file sysfs-bus-iio-isl29501

This sensor has an automatic gain control (agc) loop which sets the analog signal levels at an optimum level by controlling programmable gain amplifiers. The criteria for optimal gain is determined by the sensor.

Return the actual gain value as an integer in [0; 65536] range when read from.

The agc gain read when measuring crosstalk shall be written into in_proximity0_agc_gain_bias.

/sys/bus/iio/devices/iio:deviceX/in_proximity0_calib_phase_temp_a

/sys/bus/iio/devices/iio:deviceX/in_proximity0_calib_phase_temp_b

/sys/bus/iio/devices/iio:deviceX/in_proximity0_calib_phase_light_a

/sys/bus/iio/devices/iio:deviceX/in_proximity0_calib_phase_light_b

Defined on file sysfs-bus-iio-isl29501

The sensor is able to perform correction of distance measurements due to changing temperature and ambient light conditions. It can be programmed to correct for a second order error polynomial.

Phase data has to be collected when temperature and ambient light are modulated independently.

Then a least squares curve fit to a second order polynomial has to be generated from the data. The resultant curves have the form ax^2 + bx + c.

From those two curves, a and b coefficients shall be stored in in_proximity0_calib_phase_temp_a and in_proximity0_calib_phase_temp_b for temperature and in in_proximity0_calib_phase_light_a and in_proximity0_calib_phase_light_b for ambient light.

Those values must be integer in [0; 8355840] range.

Finally, the c constant is set by the sensor internally.

The value stored in sensor is displayed when read from.

/sys/bus/iio/devices/iio:deviceX/in_proximity3_comb_raw

Defined on file sysfs-bus-iio-sx9310

Proximity measurement indicating that some object is near the combined sensor. The combined sensor presents proximity measurements constructed by hardware by combining measurements taken from a given set of physical sensors.

/sys/bus/iio/devices/iio:deviceX/in_proximity<id>_setup

Defined on file sysfs-bus-iio-sx9324

SX9324 has 3 inputs, CS0, CS1 and CS2. Hardware layout defines 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 configured and 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 most likely dictate different output. The entry is read-only.

/sys/bus/iio/devices/iio:deviceX/in_proximity_input

Defined on file sysfs-bus-iio-proximity-as3935

When 1 the noise level is over the trip level and not reporting valid data

/sys/bus/iio/devices/iio:deviceX/in_proximity_nearlevel

Defined on file sysfs-bus-iio-proximity

Near level for proximity sensors. This is a single integer value that tells user space when an object should be considered close to the device. If the value read from the sensor is above or equal to the value in this file an object should 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 file sysfs-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 file sysfs-bus-iio

Raw value of rotation from true/magnetic north measured with or without compensation from tilt sensors.

/sys/bus/iio/devices/iio:deviceX/in_rot_quaternion_raw

Defined on file sysfs-bus-iio

Raw value of quaternion components using a format x y z w. Here x, y, and z component represents the axis about which a rotation will occur and w component represents the amount of rotation.

/sys/bus/iio/devices/iio:deviceX/in_rot_quaternionaxis_raw

Defined on file sysfs-bus-iio

Raw value of {x, y, z} components of the quaternion vector. These components represent the axis about which a rotation occurs, and are subject to the following constraints:

  • the quaternion vector is normalized, i.e. w^2 + x^2 + y^2 + z^2 = 1

  • the rotation angle is within the [-pi, pi] range, i.e. the w component (which represents the amount of rotation) is non-negative

These constraints allow the w value to be calculated from the other components: w = sqrt(1 - (x^2 + y^2 + z^2)).

/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 file sysfs-bus-iio

Raw (unscaled) euler angles readings. Units after application of scale are deg.

/sys/bus/iio/devices/iio:deviceX/in_shunt_resistorY

Defined on file sysfs-bus-iio-adc-pac1934

The value of the shunt resistor may be known only at runtime and set by a client application. This attribute allows to set its value in micro-ohms. X is the IIO index of the device. Y is the channel number. The value is used to calculate current, power and accumulated energy.

/sys/bus/iio/devices/iio:deviceX/in_temp8_raw

Defined on file sysfs-bus-iio-adc-mt6360

Indicated MT6360 IC junction temperature Calculating 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 file sysfs-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 file sysfs-bus-iio

The emissivity ratio of the surface in the field of view of the contactless temperature sensor. Emissivity varies from 0 to 1, with 1 being the emissivity of a black body.

/sys/bus/iio/devices/iio:deviceX/in_temp_object_calibambient

/sys/bus/iio/devices/iio:deviceX/in_tempY_object_calibambient

Defined on file sysfs-bus-iio

Calibrated ambient temperature for object temperature calculation 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 file sysfs-bus-iio

Raw (unscaled no bias removal etc.) temperature measurement. If an axis is specified it generally means that the temperature sensor is associated with one part of a compound device (e.g. a gyroscope axis). The ambient and object modifiers distinguish between ambient (reference) and distant temperature for contact- less measurements. Units after application of scale and offset are milli degrees Celsius.

/sys/bus/iio/devices/iio:deviceX/in_temp_thermocouple_type

Defined on file sysfs-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 file sysfs-bus-iio-adc-ad4130

Reading returns a list with the possible filter modes.

This ABI is only kept for backwards compatibility and the values returned are identical to filter_type_available attribute documented in testing/sysfs-bus-iio. Please, use filter_type_available like ABI to provide filter options for new drivers.

/sys/bus/iio/devices/iio:deviceX/in_voltage0_raw

Defined on file sysfs-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 file sysfs-bus-iio-adc-mt6360

Indicated MT6360 TS ADC Calculating with scale and offset returns voltage in uV

/sys/bus/iio/devices/iio:deviceX/in_voltage1_raw

Defined on file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-bus-iio-adc-mt6360

Indicated MT6360 VSYS ADC Calculating with scale and offset returns voltage in uV

/sys/bus/iio/devices/iio:deviceX/in_voltage4_raw

Defined on file sysfs-bus-iio-adc-mt6360

Indicated MT6360 VBAT ADC Calculating with scale and offset returns voltage in uV

/sys/bus/iio/devices/iio:deviceX/in_voltage9_raw

Defined on file sysfs-bus-iio-adc-mt6360

Indicated MT6360 VREF_TS ADC Calculating with scale and offset returns voltage in uV

/sys/bus/iio/devices/iio:deviceX/in_voltageY-voltageZ_balance_switch_en

Defined on file sysfs-bus-iio-adc-ad7280a

Used to enable an output for balancing cells for time controlled via in_voltage_Y-voltageZ_balance_switch_timer.

/sys/bus/iio/devices/iio:deviceX/in_voltageY-voltageZ_balance_switch_timer

Defined on file sysfs-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 file sysfs-bus-iio-adc-ad4130

This ABI is only kept for backwards compatibility and the values returned are identical to in_voltageY-voltageZ_filter_type attribute documented in testing/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 file sysfs-bus-iio

Raw (unscaled) differential voltage measurement equivalent to channel Y - channel Z where these channel numbers apply to the physically equivalent inputs when non differential readings are separately available. In differential only parts, then all that is required is a consistent labeling. Units after application of scale and offset are millivolts.

/sys/bus/iio/devices/iio:deviceX/in_voltageY_convdelay

Defined on file sysfs-bus-iio

Delay of start of conversion from common reference point shared by all channels. Can be writable when used to compensate for delay variation introduced by external filters feeding a simultaneous sampling ADC.

E.g., for the ad7606 ADC series, this value is intended as a configurable time delay in seconds, to correct delay introduced by an optional external filtering circuit.

/sys/bus/iio/devices/iio:deviceX/in_voltageY_convdelay_available

Defined on file sysfs-bus-iio

Available values of convdelay. Maybe expressed as:

  • a range specified as “[min step max]”

If shared across all channels, <type>_convdelay_available is used.

/sys/bus/iio/devices/iio:deviceX/in_voltageY_dither_enable

Defined on file sysfs-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 file sysfs-bus-iio-dac-ad5766

Inverts the dither applied to the selected DAC channel. Dither is not inverted by default. Write “1” to invert dither.

/sys/bus/iio/devices/iio:deviceX/in_voltageY_dither_scale

Defined on file sysfs-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 file sysfs-bus-iio-dac-ad5766

Returns possible scalings available for the current channel.

/sys/bus/iio/devices/iio:deviceX/in_voltageY_dither_source

Defined on file sysfs-bus-iio-dac-ad5766

Selects dither source applied to the selected channel. Write “0” to select 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 file sysfs-bus-iio

Optional symbolic label to a device channel. If a label is defined for this channel add that to the channel specific attributes. This is useful for userspace to be able to better 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 file sysfs-bus-iio

Raw (unscaled no bias removal etc.) voltage measurement from channel Y. In special cases where the channel does not correspond to externally available input one of the named versions may be used. The number must always be specified and unique to allow association with event codes. Units after application of scale and offset are millivolts.

Channels with ‘i’ and ‘q’ modifiers always exist in pairs and both channels refer to the same signal. The ‘i’ channel contains the in-phase component of the signal while the ‘q’ channel contains the quadrature component.

/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 file sysfs-bus-iio

Some devices have separate controls of sampling frequency for individual channels. If multiple channels are enabled in a scan, then the sampling_frequency of the scan may be computed from the per 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 file sysfs-bus-iio

If known for a device, scale to be applied to <type>Y[_name]_raw post addition of <type>[Y][_name]_offset in order to obtain the measured value in <type> units as specified in <type>[Y][_name]_raw documentation. If shared across all in channels then Y and <x|y|z> are not present and the value is called <type>[Y][_name]_scale. The peak modifier means this value is applied to <type>Y[_name]_peak_raw values.

/sys/bus/iio/devices/iio:deviceX/in_voltageY_sensing_mode

Defined on file sysfs-bus-iio-adc-hi8435

Program sensor type for threshold detector inputs. Could be either “GND-Open” or “Supply-Open” mode. Y is a threshold detector input channel. Channels 0..7, 8..15, 16..23 and 24..31 has common sensor types.

/sys/bus/iio/devices/iio:deviceX/in_voltageY_sys_calibration

Defined on file sysfs-bus-iio-adc-ad-sigma-delta

This attribute, if available, initiates the system calibration procedure. This is done on a single channel at a time. Write ‘1’ to start the calibration.

/sys/bus/iio/devices/iio:deviceX/in_voltageY_sys_calibration_mode

Defined on file sysfs-bus-iio-adc-ad-sigma-delta

This attribute, if available, sets up the calibration mode used in the system calibration procedure. 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 file sysfs-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 file sysfs-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 file sysfs-bus-iio-adc-max11410

Enable or disable a notch filter.

/sys/bus/iio/devices/iio:deviceX/in_voltage_spi_clk_freq

Defined on file sysfs-bus-iio-dfsdm-adc-stm32

For audio purpose only.

Used by audio driver to set/get the spi input frequency.

This is mandatory if DFSDM is slave on SPI bus, to provide information on the SPI clock frequency during runtime Notice that the SPI frequency should be a multiple of sample frequency to ensure the precision.

if DFSDM input is SPI master:

Reading SPI clkout frequency, error on writing

If DFSDM input is SPI Slave:

Reading returns value previously set. Writing value before starting conversions.

/sys/bus/iio/devices/iio:deviceX/label

Defined on file sysfs-bus-iio

Optional symbolic label for a device. This is useful for userspace to be able to better identify an individual device.

The contents of the label are free-form, but there are some standardized uses:

For proximity sensors which give the proximity (of a person) to a certain wlan or wwan antenna the following standardized labels are used:

  • “proximity-wifi”

  • “proximity-lte”

  • “proximity-wifi-lte”

  • “proximity-wifi-left”

  • “proximity-wifi-right”

These are used to indicate to userspace that these proximity sensors may be used to tune transmit power to ensure that Specific Absorption Rate (SAR) limits are honored. The “-left” and “-right” labels are for devices with multiple antennas.

In some laptops/tablets the standardized proximity sensor labels instead 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 be calculated by firmware from other sensor readings, rather then being 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 file sysfs-bus-iio-magnetometer-hmc5843

Current configuration and available configurations for the bias current.

normal

Normal measurement configurations (default)

positivebias

Positive bias configuration

negativebias

Negative bias configuration

disabled

Only available on HMC5983. Disables magnetic sensor and enables temperature sensor.

Note:

The effect of this configuration may vary according to the device. For exact documentation check the device’s datasheet.

/sys/bus/iio/devices/iio:deviceX/mount_matrix

/sys/bus/iio/devices/iio:deviceX/in_mount_matrix

/sys/bus/iio/devices/iio:deviceX/out_mount_matrix

/sys/bus/iio/devices/iio:deviceX/in_anglvel_mount_matrix

/sys/bus/iio/devices/iio:deviceX/in_accel_mount_matrix

Defined on file sysfs-bus-iio

Mounting matrix for IIO sensors. This is a rotation matrix which informs userspace about sensor chip’s placement relative to the main hardware it is mounted on.

Main hardware placement is defined according to the local reference frame related to the physical quantity the sensor measures.

Given that the rotation matrix is defined in a board specific way (platform data and / or device-tree), the main hardware reference frame definition is left to the implementor’s choice (see below for a magnetometer example).

Applications should apply this rotation matrix to samples so that when main hardware reference frame is aligned onto local reference frame, then sensor chip reference frame is also perfectly aligned with it.

Matrix is a 3x3 unitary matrix and typically looks like [0, 1, 0; 1, 0, 0; 0, 0, -1]. Identity matrix [1, 0, 0; 0, 1, 0; 0, 0, 1] means sensor chip and main hardware are perfectly aligned with each other.

For example, a mounting matrix for a magnetometer sensor informs userspace about sensor chip’s ORIENTATION relative to the main hardware.

More specifically, main hardware orientation is defined with respect to the LOCAL EARTH GEOMAGNETIC REFERENCE FRAME where :

  • Y is in the ground plane and positive towards magnetic North ;

  • X is in the ground plane, perpendicular to the North axis and positive towards the East ;

  • Z is perpendicular to the ground plane and positive upwards.

An implementor might consider that for a hand-held device, a ‘natural’ orientation would be ‘front facing camera at the top’. The main hardware reference frame could then be described as :

  • Y is in the plane of the screen and is positive towards the top of the screen ;

  • X is in the plane of the screen, perpendicular to Y axis, and positive towards the right hand side of the screen ;

  • Z is perpendicular to the screen plane and positive out of the screen.

Another example for a quadrotor UAV might be :

  • Y is in the plane of the propellers and positive towards the front-view camera;

  • X is in the plane of the propellers, perpendicular to Y axis, and positive towards the starboard side of the UAV ;

  • Z is perpendicular to propellers plane and positive upwards.

/sys/bus/iio/devices/iio:deviceX/name

Defined on file sysfs-bus-iio

Description of the physical chip / device for device X. Typically a part number.

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_frequency

Defined on file sysfs-bus-iio

Output frequency for channel Y in Hz. The number must always be specified and unique if the output corresponds to a single channel. Some drivers have additional constraints: ADF4371 has an integrated VCO with fundamendal output frequency ranging from 4000000000 Hz 8000000000 Hz.

out_altvoltage0_frequency:

A divide by 1, 2, 4, 8, 16, 32 or circuit generates frequencies from 62500000 Hz to 8000000000 Hz.

out_altvoltage1_frequency:

This channel duplicates the channel 0 frequency

out_altvoltage2_frequency:

A frequency doubler generates frequencies from 8000000000 Hz to 16000000000 Hz.

out_altvoltage3_frequency:

A frequency quadrupler generates frequencies from 16000000000 Hz to 32000000000 Hz.

Note: writes to one of the channels will affect the frequency of all the other channels, since it involves changing the VCO fundamental output frequency.

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_frequency_increment

Defined on file sysfs-bus-iio-impedance-analyzer-ad5933

Frequency increment in Hz (step size) between consecutive frequency points along the sweep.

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_frequency_points

Defined on file sysfs-bus-iio-impedance-analyzer-ad5933

Number of frequency points (steps) in the frequency sweep. This value, in conjunction with the out_altvoltageY_frequency_start and the out_altvoltageY_frequency_increment, determines the frequency sweep range for the sweep operation.

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_frequency_resolution

Defined on file sysfs-bus-iio-frequency-adf4350

Stores channel Y frequency resolution/channel spacing in Hz. The value given directly influences the MODULUS used by the fractional-N PLL. It is assumed that the algorithm that is used to compute the various dividers, is able to generate proper values for multiples of channel spacing.

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_frequency_start

Defined on file sysfs-bus-iio-impedance-analyzer-ad5933

Frequency sweep start frequency in Hz.

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_name

Defined on file sysfs-bus-iio-frequency-adf4371

Reading returns the datasheet name for channel Y:

out_altvoltage0_name: RF8x
out_altvoltage1_name: RFAUX8x
out_altvoltage2_name: RF16x
out_altvoltage3_name: RF32x

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_refin_frequency

Defined on file sysfs-bus-iio-frequency-adf4350

Sets channel Y REFin frequency in Hz. In some clock chained applications, the reference frequency used by the PLL may change during runtime. This attribute allows the user to adjust the reference frequency accordingly. The value written has no effect until out_altvoltageY_frequency is updated. Consider to use out_altvoltageY_powerdown to power down the PLL and its RFOut buffers during REFin changes.

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_settling_cycles

Defined on file sysfs-bus-iio-impedance-analyzer-ad5933

Number of output excitation cycles (settling time cycles) that are allowed to pass through the unknown impedance, after each frequency increment, and before the ADC is triggered to perform a conversion sequence of the response signal.

/sys/bus/iio/devices/iio:deviceX/out_conversion_mode

Defined on file sysfs-bus-iio-vf610

Specifies the hardware conversion mode used within DAC. The two available modes are “high-power” and “low-power”, where “low-power” mode is the default mode.

/sys/bus/iio/devices/iio:deviceX/out_currentY_currentZ_raw

Defined on file sysfs-bus-iio-light-lm3533-als

Set the output current for channel out_currentY when in zone Z (0..255), where Y in 0..2 and Z in 0..4.

These values correspond to the ALS-mapper target registers for ALS-mapper Y + 1.

Note that out_currentY_raw provides the current for the current zone.

/sys/bus/iio/devices/iio:deviceX/out_currentY_raw

Defined on file sysfs-bus-iio

Set/get output current for channel Y. Units after application of scale and offset are milliamps. For some devices current channels are used to specify current supplied to elements used in taking a measurement of a different type. E.g. LED currents.

/sys/bus/iio/devices/iio:deviceX/out_currentY_rawN

Defined on file sysfs-bus-iio-dac

This attribute has the same meaning as out_currentY_raw. It is specific to toggle enabled channels and refers to the DAC output code 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 file sysfs-bus-iio-dac

Performs a SW switch to a predefined output symbol. This attribute is specific to toggle enabled channels and allows switching between multiple predefined symbols. Each symbol corresponds to a different output, denoted as out_currentY_rawN, where N is the integer value of the symbol. Writing an integer value N will select out_currentY_rawN.

/sys/bus/iio/devices/iio:deviceX/out_currentY_toggle_en

Defined on file sysfs-bus-iio-dac

Toggle enable. Write 1 to enable toggle or 0 to disable it. This is useful when one wants to change the DAC output codes. For autonomous 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 file sysfs-bus-iio-humidity

Controls the heater device within the humidity sensor to get rid 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 file sysfs-bus-iio-chemical-sgp40

Set the relative humidity. This value is sent to the sensor for humidity compensation. Default value: 50000 (50 % relative humidity)

/sys/bus/iio/devices/iio:deviceX/out_resistance_raw_available

Defined on file sysfs-bus-iio-potentiometer-mcp4531

The range of available values represented as the minimum value, the step and the maximum value, all enclosed in square brackets. Example: [0 1 256]

/sys/bus/iio/devices/iio:deviceX/out_temp_raw

Defined on file sysfs-bus-iio-chemical-sgp40

Set the temperature. This value is sent to the sensor for temperature 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 file sysfs-bus-iio

Raw (unscaled, no bias etc.) output voltage for an aggregate of channel Y, channel Z, etc. This interface is available in cases where a single output sets the value for multiple channels simultaneously.

/sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_en

Defined on file sysfs-bus-iio-dac-ltc2688

Dither enable. Write 1 to enable dither or 0 to disable it. This is useful for 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 file sysfs-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 file sysfs-bus-iio-dac-ltc2688

Returns the available values for the dither frequency.

/sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_offset

Defined on file sysfs-bus-iio-dac-ltc2688

Offset applied to out_voltageY_dither_raw. Read only attribute always set to 0.

/sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_phase

Defined on file sysfs-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 file sysfs-bus-iio-dac-ltc2688

Returns the available values for the dither phase.

/sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_raw

Defined on file sysfs-bus-iio-dac-ltc2688

This raw, unscaled value refers to the dither signal amplitude. The same scale as in out_voltageY_raw applies. However, the offset might be different as it’s always 0 for this attribute.

/sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_raw_available

Defined on file sysfs-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 file sysfs-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 file sysfs-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 of reducing the power of the fundamental signal while increasing the power of the images centered around the DAC sample rate, thus improving the output power of these images.

/sys/bus/iio/devices/iio:deviceX/out_voltageY_operating_mode_available

Defined on file sysfs-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 file sysfs-bus-iio

Writing 1 causes output Y to enter the power down mode specified by the corresponding outY_powerdown_mode. DAC output stage is disconnected from the amplifier. Clearing returns to normal operation. Y may be suppressed if all outputs are controlled together.

/sys/bus/iio/devices/iio:deviceX/out_voltageY_powerdown_mode

/sys/bus/iio/devices/iio:deviceX/out_voltage_powerdown_mode

/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_powerdown_mode

/sys/bus/iio/devices/iio:deviceX/out_altvoltage_powerdown_mode

Defined on file sysfs-bus-iio

Specifies the output powerdown mode. DAC output stage is disconnected from the amplifier and 500ohm_to_gnd: connected to ground via a 500Ohm resistor, 1kohm_to_gnd: connected to ground via an 1kOhm resistor, 2.5kohm_to_gnd: connected to ground via a 2.5kOhm resistor, 3.85kohm_to_gnd: connected to ground via a 3.85kOhm resistor, 6kohm_to_gnd: connected to ground via a 6kOhm resistor, 7.7kohm_to_gnd: connected to ground via a 7.7kOhm resistor, 16kohm_to_gnd: connected to ground via a 16kOhm 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 read outX_powerdown_mode_available. If Y is not present the mode 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 file sysfs-bus-iio

Raw (unscaled, no bias etc.) output voltage for channel Y. The number must always be specified and unique if the output corresponds to a single channel. While DAC like devices typically use out_voltage, a continuous frequency generating device, such as a DDS or PLL should use out_altvoltage.

/sys/bus/iio/devices/iio:deviceX/out_voltageY_rawN

Defined on file sysfs-bus-iio-dac

This attribute has the same meaning as out_currentY_raw. It is specific to toggle enabled channels and refers to the DAC output code 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 file sysfs-bus-iio-dac-dpot-dac

The range of available values represented as the minimum value, the step and the maximum value, all enclosed in square brackets. Example: [0 1 256]

/sys/bus/iio/devices/iio:deviceX/out_voltageY_symbol

Defined on file sysfs-bus-iio-dac

Performs a SW switch to a predefined output symbol. This attribute is specific to toggle enabled channels and allows switching between multiple predefined symbols. Each symbol corresponds to a different output, denoted as out_voltageY_rawN, where N is the integer value of the symbol. Writing an integer value N will select out_voltageY_rawN.

/sys/bus/iio/devices/iio:deviceX/out_voltageY_toggle_en

Defined on file sysfs-bus-iio-dac

Toggle enable. Write 1 to enable toggle or 0 to disable it. This is useful when one wants to change the DAC output codes. For autonomous 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 file sysfs-bus-iio

Hardware dependent ADC oversampling. Controls the sampling ratio of the digital filter if available.

/sys/bus/iio/devices/iio:deviceX/oversampling_ratio_available

Defined on file sysfs-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 file sysfs-bus-iio-frequency-ad9523

Reading returns either ‘1’ or ‘0’.

‘1’ means that the clock in question is present.

‘0’ means that the clock is missing.

/sys/bus/iio/devices/iio:deviceX/pllY_locked

Defined on file sysfs-bus-iio-frequency-ad9523

Reading returns either ‘1’ or ‘0’. ‘1’ means that the pllY is locked.

/sys/bus/iio/devices/iio:deviceX/proximity_on_chip_ambient_infrared_suppression

Defined on file sysfs-bus-iio-light-isl29018

From ISL29018 Data Sheet (FN6619.4, Oct 8, 2012) regarding the infrared suppression:

Scheme 0, makes full n (4, 8, 12, 16) bits (unsigned) proximity detection. The range of Scheme 0 proximity count is from 0 to 2^n. Logic 1 of this bit, Scheme 1, makes n-1 (3, 7, 11, 15) bits (2’s complementary) proximity_less_ambient detection. The range of Scheme 1 proximity count is from -2^(n-1) to 2^(n-1). The sign bit is extended for resolutions less than 16. While Scheme 0 has wider dynamic range, Scheme 1 proximity detection is less affected by the ambient IR noise variation.

0

Sensing IR from LED and ambient

1

Sensing IR from LED with ambient IR rejection

/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 file sysfs-bus-iio

Some devices have internal clocks. This parameter sets the resulting sampling frequency. In many devices this parameter has an effect on input filters etc. rather than simply controlling when the input is sampled. As this affects data ready triggers, hardware buffers and the sysfs direct access interfaces, it may be found in any of the relevant directories. If it affects all of the above then it is to be found in the base device directory.

The stm32-timer-trigger has the additional characteristic that a 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 file sysfs-bus-iio

When the internal sampling clock can only take a specific set of frequencies, we can specify the available values with:

  • a small discrete set of values like “0 2 4 6 8”

  • a range with minimum, step and maximum frequencies like “[min step max]”

/sys/bus/iio/devices/iio:deviceX/sensor_max_range

Defined on file sysfs-bus-iio-distance-srf08

Show or set the maximum range between the sensor and the first object echoed in meters. Default value is 6.020. This setting limits the time the driver is waiting for a echo.

Showing the range of available values is represented as the minimum value, the step and the maximum value, all enclosed in square brackets.

Example:

[0.043 0.043 11.008]

/sys/bus/iio/devices/iio:deviceX/sensor_sensitivity

Defined on file sysfs-bus-iio-proximity

Proximity sensors sometimes have a controllable amplifier on the signal from which time of flight measurements are taken. The appropriate values to take is dependent on both the sensor and its operating environment: * as3935 (0-31 range) 18 = indoors (default) 14 = outdoors

/sys/bus/iio/devices/iio:deviceX/serialnumber

Defined on file sysfs-bus-iio

An example format is 16-bytes, 2-digits-per-byte, HEX-string representing the sensor unique ID number.

/sys/bus/iio/devices/iio:deviceX/start_cleaning

Defined on file sysfs-bus-iio-sps30

Writing 1 starts sensor self cleaning. Internal fan accelerates to its maximum speed and keeps spinning for about 10 seconds in order to blow out accumulated dust.

/sys/bus/iio/devices/iio:deviceX/store_eeprom

Defined on file sysfs-bus-iio

Writing ‘1’ stores the current device configuration into on-chip EEPROM. After power-up or chip reset the device will automatically load the saved configuration.

/sys/bus/iio/devices/iio:deviceX/sync_dividers

Defined on file sysfs-bus-iio-frequency-ad9523

Writing ‘1’ triggers the clock distribution synchronization functionality. All dividers are reset and the channels start with their predefined phase offsets (out_altvoltageY_phase). Writing this file has the effect as driving the external /SYNC pin low.

/sys/bus/iio/devices/iio:deviceX/sys_calibration_auto_status

Defined on file sysfs-bus-iio-bno055

Reports the status for the IMU overall autocalibration. Can be 0 (calibration non even enabled) or 1 to 5 where the greater the number, the better the calibration status.

/sys/bus/iio/devices/iio:deviceX/trigger/current_trigger

Defined on file sysfs-bus-iio

The name of the trigger source being used, as per string given in /sys/bus/iio/devices/triggerY/name.

/sys/bus/iio/devices/iio_sysfs_trigger/add_trigger

Defined on file sysfs-bus-iio-trigger-sysfs

This attribute is provided by the iio-trig-sysfs stand-alone driver and it is used to activate the creation of a new trigger. In order to achieve this, one should write a positive integer into the associated file, which will serve as the id of the trigger. If the trigger with the specified id is already present in the system, an invalid argument message will be returned.

/sys/bus/iio/devices/iio_sysfs_trigger/remove_trigger

Defined on file sysfs-bus-iio-trigger-sysfs

This attribute is used to unregister and delete a previously created trigger from the list of available triggers. In order to achieve this, one should write a positive integer into the associated file, representing the id of the trigger that needs to be removed. If the trigger can’t be found, an invalid argument message will be returned to the user.

/sys/bus/iio/devices/triggerX

Defined on file sysfs-bus-iio

An event driven driver of data capture to an in kernel buffer. May be provided by a device driver that also has an IIO device based on hardware generated events (e.g. data ready) or provided by a separate driver for other hardware (e.g. periodic timer, GPIO or high resolution timer).

Contains trigger type specific elements. These do not generalize well and hence are not documented in this file. X is the IIO index of the trigger.

/sys/bus/iio/devices/triggerX/master_mode

Defined on file sysfs-bus-iio-timer-stm32

Reading returns the current master modes. Writing set the master mode

/sys/bus/iio/devices/triggerX/master_mode_available

Defined on file sysfs-bus-iio-timer-stm32

Reading returns the list possible master modes which are:

  • “reset”

    The UG bit from the TIMx_EGR register is used as trigger output (TRGO).

  • “enable”

    The Counter Enable signal CNT_EN is used as trigger output.

  • “update”

    The update event is selected as trigger output. For instance a master timer can then be used as a prescaler for a slave timer.

  • “compare_pulse”

    The trigger output send a positive pulse when the CC1IF flag is to be set.

  • “OC1REF”

    OC1REF signal is used as trigger output.

  • “OC2REF”

    OC2REF signal is used as trigger output.

  • “OC3REF”

    OC3REF signal is used as trigger output.

  • “OC4REF”

    OC4REF signal is used as trigger output.

Additional modes (on TRGO2 only):

  • “OC5REF”

    OC5REF signal is used as trigger output.

  • “OC6REF”

    OC6REF signal is used as trigger output.

  • “compare_pulse_OC4REF”:

    OC4REF rising or falling edges generate pulses.

  • “compare_pulse_OC6REF”:

    OC6REF rising or falling edges generate pulses.

  • “compare_pulse_OC4REF_r_or_OC6REF_r”:

    OC4REF or OC6REF rising edges generate pulses.

  • “compare_pulse_OC4REF_r_or_OC6REF_f”:

    OC4REF rising or OC6REF falling edges generate pulses.

  • “compare_pulse_OC5REF_r_or_OC6REF_r”:

    OC5REF or OC6REF rising edges generate pulses.

  • “compare_pulse_OC5REF_r_or_OC6REF_f”:

    OC5REF rising or OC6REF falling edges generate pulses.

+-----------+   +-------------+            +---------+
| Prescaler +-> | Counter     |        +-> | Master  | TRGO(2)
+-----------+   +--+--------+-+        |-> | Control +-->
                   |        |          ||  +---------+
                +--v--------+-+ OCxREF ||  +---------+
                | Chx compare +----------> | Output  | ChX
                +-----------+-+         |  | Control +-->
                      .     |           |  +---------+
                      .     |           |    .
                +-----------v-+ OC6REF  |    .
                | Ch6 compare +---------+>
                +-------------+

Example with: “compare_pulse_OC4REF_r_or_OC6REF_r”:

                X
              X   X
            X .   . X
          X   .   .   X
        X     .   .     X
count X .     .   .     . X
        .     .   .     .
        .     .   .     .
        +---------------+
OC4REF  |     .   .     |
      +-+     .   .     +-+
        .     +---+     .
OC6REF  .     |   |     .
      +-------+   +-------+
        +-+   +-+
TRGO2   | |   | |
      +-+ +---+ +---------+

/sys/bus/iio/devices/triggerX/name

Defined on file sysfs-bus-iio-trigger-sysfs

The name attribute holds a description string for the current trigger. In order to associate the trigger with an IIO device one should write this name string to /sys/bus/iio/devices/iio:deviceY/trigger/current_trigger.

/sys/bus/iio/devices/triggerX/name = "adxl372-devX-peak"

Defined on file sysfs-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 acceleration sensed over the set period of time in the events sysfs.

/sys/bus/iio/devices/triggerX/name = "bmc150_accel-any-motion-devX"

Defined on file sysfs-bus-iio-accel-bmc150

The BMC150 accelerometer kernel module provides an additional trigger, which sets driver in a mode, where data is pushed to the buffer only when there is any motion.

/sys/bus/iio/devices/triggerX/name = "bmg160-any-motion-devX"

Defined on file sysfs-bus-iio-gyro-bmg160

The BMG160 gyro kernel module provides an additional trigger, which sets driver in a mode, where data is pushed to the buffer only when there is any motion.

/sys/bus/iio/devices/triggerX/trigger_now

Defined on file sysfs-bus-iio-trigger-sysfs

This file is provided by the iio-trig-sysfs stand-alone trigger driver. Writing this file with any value triggers an event driven driver, associated with this trigger, to capture data into an in kernel buffer. This approach can be valuable during automated testing or in situations, where other trigger methods are not applicable. For example no RTC or spare GPIOs. X is the IIO index of the trigger.

/sys/bus/iio/devices/triggerX/trigger_polarity

Defined on file sysfs-bus-iio-adc-stm32

The STM32 ADC can be configured to use external trigger sources (e.g. timers, pwm or exti gpio). Then, it can be tuned to start conversions on external trigger by either:

  • “rising-edge”

  • “falling-edge”

  • “both-edges”.

Reading returns current trigger polarity.

Writing value before enabling conversions sets trigger polarity.

/sys/bus/iio/devices/triggerX/trigger_polarity_available

Defined on file sysfs-bus-iio-adc-stm32

List all available trigger_polarity settings.

/sys/bus/intel_th/devices/<intel_th_id>-<device><id>/active

Defined on file sysfs-bus-intel_th-output-devices

(RW) Writes of 1 or 0 enable or disable trace output to this output device. Reads return current status. Requires that the correstponding output port driver be loaded.

/sys/bus/intel_th/devices/<intel_th_id>-gth/masters/*

Defined on file sysfs-bus-intel_th-devices-gth

(RW) Configure output ports for STP masters. Writing -1 disables a master; any

/sys/bus/intel_th/devices/<intel_th_id>-gth/outputs/[0-7]_drop

Defined on file sysfs-bus-intel_th-devices-gth

(RW) Data retention policy setting: keep (0) or drop (1) incoming data while output port is in reset.

/sys/bus/intel_th/devices/<intel_th_id>-gth/outputs/[0-7]_flush

Defined on file sysfs-bus-intel_th-devices-gth

(RW) Force flush data from byte packing buffer for the output port.

/sys/bus/intel_th/devices/<intel_th_id>-gth/outputs/[0-7]_null

Defined on file sysfs-bus-intel_th-devices-gth

(RW) STP NULL packet generation: enabled (1) or disabled (0).

/sys/bus/intel_th/devices/<intel_th_id>-gth/outputs/[0-7]_port

Defined on file sysfs-bus-intel_th-devices-gth

(RO) Output port type:

0

not present,

1

MSU (Memory Storage Unit)

2

CTP (Common Trace Port)

4

PTI (MIPI PTI).

/sys/bus/intel_th/devices/<intel_th_id>-gth/outputs/[0-7]_reset

Defined on file sysfs-bus-intel_th-devices-gth

(RO) Output port is in reset (1).

/sys/bus/intel_th/devices/<intel_th_id>-gth/outputs/[0-7]_smcfreq

Defined on file sysfs-bus-intel_th-devices-gth

(RW) STP sync packet frequency for the port. Specifies the number of clocks between mainenance packets.

/sys/bus/intel_th/devices/<intel_th_id>-msc<msc-id>/mode

Defined on file sysfs-bus-intel_th-devices-msc

(RW) Configure MSC operating mode:

  • “single”, for contiguous buffer mode (high-order alloc);

  • “multi”, for multiblock mode;

  • “ExI”, for DCI handler mode;

  • “debug”, for debug mode;

  • 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 file sysfs-bus-intel_th-devices-msc

(RW) Configure MSC buffer size for “single” or “multi” modes.

In single mode, this is a single number of pages, has to be power of 2. In multiblock mode, this is a comma-separated list of numbers of pages for each window to be allocated. Number of windows is not limited.

Writing to this file deallocates existing buffer (provided there are no active users and tracing is not enabled) and then allocates a new one.

/sys/bus/intel_th/devices/<intel_th_id>-msc<msc-id>/port

Defined on file sysfs-bus-intel_th-output-devices

(RO) Port number, corresponding to this output device on the switch (GTH) or “unassigned” if the corresponding output port driver is not loaded.

/sys/bus/intel_th/devices/<intel_th_id>-msc<msc-id>/stop_on_full

Defined on file sysfs-bus-intel_th-devices-msc

(RW) Configure whether trace stops when the last available window becomes full (1/y/Y) or wraps around and continues until the next window becomes available again (0/n/N).

/sys/bus/intel_th/devices/<intel_th_id>-msc<msc-id>/win_switch

Defined on file sysfs-bus-intel_th-devices-msc

(RW) Trigger window switch for the MSC’s buffer, in multi-window mode. In “multi” mode, accepts writes of “1”, thereby triggering a window switch for the buffer. Returns an error in any other operating mode or attempts to write something other than “1”.

/sys/bus/intel_th/devices/<intel_th_id>-msc<msc-id>/wrap

Defined on file sysfs-bus-intel_th-devices-msc

(RW) Configure MSC buffer wrapping. 1 == wrapping enabled.

/sys/bus/intel_th/devices/<intel_th_id>-pti/clock_divider

Defined on file sysfs-bus-intel_th-devices-pti

(RW) Configure PTI port clock divider:
  • 0: Intel TH clock rate,

  • 1: 1/2 Intel TH clock rate,

  • 2: 1/4 Intel TH clock rate,

  • 3: 1/8 Intel TH clock rate.

/sys/bus/intel_th/devices/<intel_th_id>-pti/freerunning_clock

Defined on file sysfs-bus-intel_th-devices-pti

(RW) 0: PTI trace clock acts as a strobe which only toggles when there is trace data to send. 1: PTI trace clock is a free-running clock.

/sys/bus/intel_th/devices/<intel_th_id>-pti/mode

Defined on file sysfs-bus-intel_th-devices-pti

(RW) Configure PTI output width. Currently supported values are 4, 8, 12, 16.

/sys/bus/mcb/devices/mcb:X

Defined on file sysfs-bus-mcb

Hardware chip or device hosting the MEN chameleon bus

/sys/bus/mcb/devices/mcb:X/minor

Defined on file sysfs-bus-mcb

The FPGA’s minor number

/sys/bus/mcb/devices/mcb:X/model

Defined on file sysfs-bus-mcb

The FPGA’s model number

/sys/bus/mcb/devices/mcb:X/name

Defined on file sysfs-bus-mcb

The FPGA’s name

/sys/bus/mcb/devices/mcb:X/revision

Defined on file sysfs-bus-mcb

The FPGA’s revision number

/sys/bus/mdio_bus/devices/.../statistics/

/sys/class/mdio_bus/.../statistics/

Defined on file sysfs-bus-mdio

This folder contains statistics about global and per MDIO bus address statistics.

/sys/bus/mdio_bus/devices/.../statistics/errors

/sys/class/mdio_bus/.../statistics/errors

Defined on file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-bus-mdio

Total number of write transactions for this MDIO bus address.

/sys/bus/media/devices/.../model

Defined on file sysfs-bus-media

Contains the device model name in UTF-8. The device version is is not be appended to the model name.

/sys/bus/mei/devices/.../fixed

Defined on file sysfs-bus-mei

Stores mei client fixed address, if any Format: %d

/sys/bus/mei/devices/.../max_conn

Defined on file sysfs-bus-mei

Stores mei client maximum number of connections Format: %d

/sys/bus/mei/devices/.../max_len

Defined on file sysfs-bus-mei

Stores mei client maximum message length Format: %d

/sys/bus/mei/devices/.../modalias

Defined on file sysfs-bus-mei

Stores the same MODALIAS value emitted by uevent Format: mei:<mei device name>:<device uuid>:<protocol version>

/sys/bus/mei/devices/.../name

Defined on file sysfs-bus-mei

Stores mei client device name Format: string

/sys/bus/mei/devices/.../uuid

Defined on file sysfs-bus-mei

Stores mei client device uuid Format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

/sys/bus/mei/devices/.../version

Defined on file sysfs-bus-mei

Stores mei client protocol version Format: %d

/sys/bus/mei/devices/.../vtag

Defined on file sysfs-bus-mei

Stores mei client vtag support status Format: %d

/sys/bus/mmc/devices/.../rev

Defined on file sysfs-bus-mmc

Extended CSD revision number

/sys/bus/most/devices/<dev>/<channel>/

Defined on file sysfs-bus-most

For every channel of the device a directory is created, whose name is dictated by the HDM. This enables an application to collect information about the channel’s capabilities and configure it.

/sys/bus/most/devices/<dev>/<channel>/available_datatypes

Defined on file sysfs-bus-most

Indicates the data types the channel can transport.

/sys/bus/most/devices/<dev>/<channel>/available_directions

Defined on file sysfs-bus-most

Indicates the directions the channel is capable of.

/sys/bus/most/devices/<dev>/<channel>/channel_starving

Defined on file sysfs-bus-most

Indicates whether channel ran out of buffers.

/sys/bus/most/devices/<dev>/<channel>/number_of_packet_buffers

Defined on file sysfs-bus-most

Indicates the number of packet buffers the channel can handle.

/sys/bus/most/devices/<dev>/<channel>/number_of_stream_buffers

Defined on file sysfs-bus-most

Indicates the number of streaming buffers the channel can handle.

/sys/bus/most/devices/<dev>/<channel>/set_buffer_size

Defined on file sysfs-bus-most

This is to read back the configured buffer size of the channel.

/sys/bus/most/devices/<dev>/<channel>/set_datatype

Defined on file sysfs-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 file sysfs-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 file sysfs-bus-most

This is to read back the configured number of buffers of the channel.

/sys/bus/most/devices/<dev>/<channel>/set_packets_per_xact

Defined on file sysfs-bus-most

This is to read back the configured number of packets per transaction of the channel. This is only applicable when connected via USB.

/sys/bus/most/devices/<dev>/<channel>/set_subbuffer_size

Defined on file sysfs-bus-most

This is to read back the configured subbuffer size of the channel.

/sys/bus/most/devices/<dev>/<channel>/size_of_packet_buffer

Defined on file sysfs-bus-most

Indicates the size of a packet buffer the channel can handle.

/sys/bus/most/devices/<dev>/<channel>/size_of_stream_buffer

Defined on file sysfs-bus-most

Indicates the size of a streaming buffer the channel can handle.

/sys/bus/most/devices/<dev>/dci

Defined on file sysfs-bus-most

If the network interface controller is attached via USB, a dci directory is created that allows applications to read and write the controller’s DCI registers.

/sys/bus/most/devices/<dev>/dci/arb_address

Defined on file sysfs-bus-most

This is used to set an arbitrary DCI register address an application wants to read from or write to.

/sys/bus/most/devices/<dev>/dci/arb_value

Defined on file sysfs-bus-most

This is used to read and write the DCI register whose address is stored in arb_address.

/sys/bus/most/devices/<dev>/dci/mep_eui48_hi

Defined on file sysfs-bus-most

This is used to check and configure the MAC address.

/sys/bus/most/devices/<dev>/dci/mep_eui48_lo

Defined on file sysfs-bus-most

This is used to check and configure the MAC address.

/sys/bus/most/devices/<dev>/dci/mep_eui48_mi

Defined on file sysfs-bus-most

This is used to check and configure the MAC address.

/sys/bus/most/devices/<dev>/dci/mep_filter

Defined on file sysfs-bus-most

This is used to check and configure the MEP filter address.

/sys/bus/most/devices/<dev>/dci/mep_hash0

Defined on file sysfs-bus-most

This is used to check and configure the MEP hash table.

/sys/bus/most/devices/<dev>/dci/mep_hash1

Defined on file sysfs-bus-most

This is used to check and configure the MEP hash table.

/sys/bus/most/devices/<dev>/dci/mep_hash2

Defined on file sysfs-bus-most

This is used to check and configure the MEP hash table.

/sys/bus/most/devices/<dev>/dci/mep_hash3

Defined on file sysfs-bus-most

This is used to check and configure the MEP hash table.

/sys/bus/most/devices/<dev>/dci/ni_state

Defined on file sysfs-bus-most

Indicates the current network interface state.

/sys/bus/most/devices/<dev>/dci/node_address

Defined on file sysfs-bus-most

Indicates the current node address.

/sys/bus/most/devices/<dev>/dci/node_position

Defined on file sysfs-bus-most

Indicates the current node position.

/sys/bus/most/devices/<dev>/dci/packet_bandwidth

Defined on file sysfs-bus-most

Indicates the configured packet bandwidth.

/sys/bus/most/devices/<dev>/dci/sync_ep

Defined on file sysfs-bus-most

Triggers the controller’s synchronization process for a certain endpoint.

/sys/bus/most/devices/<dev>/description

Defined on file sysfs-bus-most

Provides information about the physical location of the device. Hardware attached via USB, for instance, might return <1-1.1:1.0>

/sys/bus/most/devices/<dev>/interface

Defined on file sysfs-bus-most

Indicates the type of peripheral interface the device uses.

/sys/bus/most/drivers/most_core/components

Defined on file sysfs-bus-most

This is used to retrieve a list of registered components.

Defined on file sysfs-bus-most

This is used to retrieve a list of established links.

/sys/bus/moxtet/devices/moxtet-<name>.<addr>/module_description

Defined on file sysfs-bus-moxtet-devices

(Read) Moxtet module description. Format: string

/sys/bus/moxtet/devices/moxtet-<name>.<addr>/module_id

Defined on file sysfs-bus-moxtet-devices

(Read) Moxtet module ID. Format: %x

/sys/bus/moxtet/devices/moxtet-<name>.<addr>/module_name

Defined on file sysfs-bus-moxtet-devices

(Read) Moxtet module name. Format: string

/sys/bus/nd/devices/ndbusX/nfit/dsm_mask

Defined on file sysfs-bus-nfit

(RO) The bitmask indicates the supported bus specific control functions. See the section named ‘NVDIMM Root Device _DSMs’ in the ACPI specification.

/sys/bus/nd/devices/ndbusX/nfit/firmware_activate_noidle

Defined on file sysfs-bus-nfit

(RW) The Intel platform implementation of firmware activate support exposes an option let the platform force idle devices in the system over the activation event, or trust that the OS will do it. The safe default is to let the platform force idle devices since the kernel is already in a suspend state, and on the chance that a driver does not properly quiesce bus-mastering after a suspend callback the platform will handle it. However, the activation might abort if, for example, platform firmware determines that the activation time exceeds the max PCI-E completion timeout. Since the platform does not know whether the OS is running the activation from a suspend context it aborts, but if the system owner trusts driver suspend callback to be sufficient then ‘firmware_activation_noidle’ can be enabled to bypass the activation abort.

/sys/bus/nd/devices/ndbusX/nfit/hw_error_scrub

Defined on file sysfs-bus-nfit

(RW) Provides a way to toggle the behavior between just adding the address (cache line) where the MCE happened to the poison list and doing a full scrub. The former (selective insertion of the address) is done unconditionally.

This attribute can have the following values written to it:

‘0’: Switch to the default mode where an exception will only insert the address of the memory error into the poison and badblocks lists. ‘1’: Enable a full scrub to happen if an exception for a memory error is received.

/sys/bus/nd/devices/ndbusX/nfit/revision

Defined on file sysfs-bus-nfit

(RO) ACPI NFIT table revision number.

/sys/bus/nd/devices/ndbusX/nfit/scrub

Defined on file sysfs-bus-nfit

(RW) This shows the number of full Address Range Scrubs (ARS) that have been completed since driver load time. Userspace can wait on this using select/poll etc. A ‘+’ at the end indicates an ARS is in progress

Writing a value of 1 triggers an ARS scan.

/sys/bus/nd/devices/nmemX/cxl/id

Defined on file sysfs-bus-nvdimm

(RO) Show the id (serial) of the device. This is CXL specific.

/sys/bus/nd/devices/nmemX/cxl/provider

Defined on file sysfs-bus-nvdimm

(RO) Shows the CXL bridge device that ties to a CXL memory device to this NVDIMM device. I.e. the parent of the device returned is a /sys/bus/cxl/devices/memX instance.

/sys/bus/nd/devices/nmemX/nfit/device

Defined on file sysfs-bus-nfit

(RO) Device id for the NVDIMM, assigned by the module vendor.

/sys/bus/nd/devices/nmemX/nfit/dsm_mask

Defined on file sysfs-bus-nfit

(RO) The bitmask indicates the supported device specific control functions relative to the NVDIMM command family supported by the device

/sys/bus/nd/devices/nmemX/nfit/family

Defined on file sysfs-bus-nfit

(RO) Displays the NVDIMM family command sets. Values 0, 1, 2 and 3 correspond to NVDIMM_FAMILY_INTEL, NVDIMM_FAMILY_HPE1, NVDIMM_FAMILY_HPE2 and NVDIMM_FAMILY_MSFT respectively.

See the specifications for these command families here: http://pmem.io/documents/NVDIMM_DSM_Interface-V1.6.pdf https://github.com/HewlettPackard/hpe-nvm/blob/master/Documentation/ https://msdn.microsoft.com/library/windows/hardware/mt604741

/sys/bus/nd/devices/nmemX/nfit/flags

Defined on file sysfs-bus-nfit

(RO) The flags in the NFIT memory device sub-structure indicate the state of the data on the nvdimm relative to its energy source or last “flush to persistence”.

The attribute is a translation of the ‘NVDIMM State Flags’ field in section 5.2.25.3 ‘NVDIMM Region Mapping’ Structure of the ACPI specification 6.2.

The health states are “save_fail”, “restore_fail”, “flush_fail”, “not_armed”, “smart_event”, “map_fail” and “smart_notify”.

/sys/bus/nd/devices/nmemX/nfit/format

/sys/bus/nd/devices/nmemX/nfit/format1

/sys/bus/nd/devices/nmemX/nfit/formats

Defined on file sysfs-bus-nfit

(RO) The interface codes indicate support for persistent memory mapped directly into system physical address space and / or a block aperture access mechanism to the NVDIMM media. The ‘formats’ attribute displays the number of supported interfaces.

This layout is compatible with existing libndctl binaries that only expect one code per-dimm as they will ignore nmemX/nfit/formats and nmemX/nfit/formatN.

/sys/bus/nd/devices/nmemX/nfit/handle

Defined on file sysfs-bus-nfit

(RO) The address (given by the _ADR object) of the device on its parent bus of the NVDIMM device containing the NVDIMM region.

/sys/bus/nd/devices/nmemX/nfit/id

Defined on file sysfs-bus-nfit

(RO) ACPI specification 6.2 section 5.2.25.9, defines an identifier for an NVDIMM, which reflects the id attribute.

/sys/bus/nd/devices/nmemX/nfit/phys_id

Defined on file sysfs-bus-nfit

(RO) Handle (i.e., instance number) for the SMBIOS (system management BIOS) Memory Device structure describing the NVDIMM containing the NVDIMM region.

/sys/bus/nd/devices/nmemX/nfit/rev_id

Defined on file sysfs-bus-nfit

(RO) Revision of the NVDIMM, assigned by the module vendor.

/sys/bus/nd/devices/nmemX/nfit/serial

Defined on file sysfs-bus-nfit

(RO) Serial number of the NVDIMM (non-volatile dual in-line memory module), assigned by the module vendor.

/sys/bus/nd/devices/nmemX/nfit/subsystem_device

Defined on file sysfs-bus-nfit

(RO) Sub-system device id for the NVDIMM non-volatile memory subsystem controller, assigned by the non-volatile memory subsystem controller vendor.

/sys/bus/nd/devices/nmemX/nfit/subsystem_rev_id

Defined on file sysfs-bus-nfit

(RO) Sub-system revision id of the NVDIMM non-volatile memory subsystem controller, assigned by the non-volatile memory subsystem controller vendor.

/sys/bus/nd/devices/nmemX/nfit/subsystem_vendor

Defined on file sysfs-bus-nfit

(RO) Sub-system vendor id of the NVDIMM non-volatile memory subsystem controller.

/sys/bus/nd/devices/nmemX/nfit/vendor

Defined on file sysfs-bus-nfit

(RO) Vendor id of the NVDIMM.

/sys/bus/nd/devices/nmemX/papr/flags

Defined on file sysfs-bus-papr-pmem

(RO) Report flags indicating various states of a papr-pmem NVDIMM device. Each flag maps to a one or more bits set in the dimm-health-bitmap retrieved in response to H_SCM_HEALTH hcall. The details of the bit flags returned in response to this hcall is available at ‘Hypercall Op-codes (hcalls)’ . Below are the flags reported in this sysfs file:

  • “not_armed”

    Indicates that NVDIMM contents will not survive a power cycle.

  • “flush_fail”

    Indicates that NVDIMM contents couldn’t be flushed during last shut-down event.

  • “restore_fail”

    Indicates that NVDIMM contents couldn’t be restored during NVDIMM initialization.

  • “encrypted”

    NVDIMM contents are encrypted.

  • “smart_notify”

    There is health event for the NVDIMM.

  • “scrubbed”

    Indicating that contents of the NVDIMM have been scrubbed.

  • “locked”

    Indicating that NVDIMM contents can’t be modified until next power cycle.

/sys/bus/nd/devices/nmemX/papr/health_bitmap_inject

Defined on file sysfs-bus-papr-pmem

(RO) Reports the health bitmap inject bitmap that is applied to bitmap received from PowerVM via the H_SCM_HEALTH. This is used to forcibly set specific bits returned from Hcall. These is then used to simulate various health or shutdown states for an nvdimm and are set by user-space tools like ndctl by issuing a PAPR DSM.

/sys/bus/nd/devices/nmemX/papr/perf_stats

Defined on file sysfs-bus-papr-pmem

(RO) Report various performance stats related to papr-scm NVDIMM device. This attribute is only available for NVDIMM devices that support reporting NVDIMM performance stats. Each stat is reported on a new line with each line composed of a stat-identifier followed by it value. Below are currently known dimm 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 file sysfs-bus-nfit

(RO) A unique number provided by the BIOS to identify an address range. Used by NVDIMM Region Mapping Structure to uniquely refer to this structure. Value of 0 is reserved and not used as an index.

/sys/bus/nvmem/devices/.../cells/<cell-name>

Defined on file sysfs-nvmem-cells

The “cells” folder contains one file per cell exposed by the NVMEM device. The name of the file is: “<name>@<byte>,<bit>”, with <name> being the cell name and <where> its location in the NVMEM device, in hexadecimal bytes and bits (without the ‘0x’ prefix, to mimic device tree node names). The length of the file is the size of the cell (when known). The content of the file is the binary content of the cell (may sometimes be ASCII, likely without trailing character). Note: This file is only present if CONFIG_NVMEM_SYSFS is enabled.

Example:

hexdump -C /sys/bus/nvmem/devices/1-00563/cells/product-name@d,0
00000000  54 4e 34 38 4d 2d 50 2d  44 4e         |TN48M-P-DN|
0000000a

/sys/bus/pci/devices/.../acpi_index

Defined on file sysfs-bus-pci

Reading this attribute will provide the firmware given instance (ACPI _DSM instance number) of the PCI device. The attribute will be created only if the firmware has given an instance number to the PCI device. ACPI _DSM instance number will be given priority if the system firmware provides SMBIOS type 41 device type instance also.

Users:

Userspace applications interested in knowing the firmware assigned instance number of the PCI device that can help in understanding the firmware intended order of the PCI device.

/sys/bus/pci/devices/.../authenticated

Defined on file sysfs-bus-pci

When the device’s tsm/ directory is present device authentication (PCIe CMA-SPDM) and link encryption (PCIe IDE) are handled by the platform TSM (TEE Security Manager). When the tsm/ directory is not present this attribute reflects only the native CMA-SPDM authentication state with the kernel’s certificate store.

If the attribute is not present, it indicates that authentication is unsupported by the device, or the TSM has no available authentication methods for the device.

When present and the tsm/ attribute directory is present, the authenticated 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 file sysfs-bus-pci

d3cold_allowed is bit to control whether the corresponding PCI device can be put into D3Cold state. If it is cleared, the device will never be put into D3Cold state. If it is set, the device may be put into D3Cold state if other requirements are satisfied too. Reading this attribute will show the current value of d3cold_allowed bit. Writing this attribute will set the value of d3cold_allowed bit.

Defined on file sysfs-bus-pci

This symbolic link appears when hardware supports the SR-IOV capability and the Physical Function driver has enabled it, and this device has vendor specific dependencies with others. The symbolic link points to the PCI device sysfs entry of Physical Function this device depends on.

/sys/bus/pci/devices/.../doe_features

Defined on file sysfs-bus-pci

This directory contains a list of the supported Data Object Exchange (DOE) features. The features are the file name. The contents of each file is the raw Vendor ID and data object feature values.

The value comes from the device and specifies the vendor and data object type supported. The lower (RHS of the colon) is the 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_discovery file, with this contents:

# cat doe_features/doe_discovery 0001:00

If the device supports other features you will see other files as well. For example if CMA/SPDM and secure CMA/SPDM are supported the doe_features directory will look like this:

# ls doe_features 0001:01 0001:02 doe_discovery

/sys/bus/pci/devices/.../driver_override

Defined on file sysfs-bus-pci

This file allows the driver for a device to be specified which will override standard static and dynamic ID matching. When specified, only a driver with a name matching the value written to driver_override will have an opportunity to bind to the device. The override is specified by writing a string to the driver_override file (echo pci-stub > driver_override) and may be cleared with an empty string (echo > driver_override). This returns the device to standard matching rules binding. Writing to driver_override does not automatically unbind the device from its current driver or make any attempt to automatically load the specified driver. If no driver with a matching name is currently loaded in the kernel, the device will not bind to any driver. This also allows devices to opt-out of driver binding using a driver_override name such as “none”. Only a single driver may be specified in the override, there is no support for parsing delimiters.

/sys/bus/pci/devices/.../index

Defined on file sysfs-bus-pci

Reading this attribute will provide the firmware given instance number of the PCI device. Depending on the platform this can be for example the SMBIOS type 41 device type instance or the user-defined ID (UID) on s390. The attribute will be created only if the firmware has given an instance number to the PCI device and that number is guaranteed to uniquely identify the device in the system.

Users:

Userspace applications interested in knowing the firmware assigned device type instance of the PCI device that can help in understanding the firmware intended order of the PCI device.

/sys/bus/pci/devices/.../irq

Defined on file sysfs-bus-pci

If a driver has enabled MSI (not MSI-X), “irq” contains the IRQ of the first MSI vector. Otherwise “irq” contains the IRQ of the legacy INTx interrupt.

“irq” being set to 0 indicates that the device isn’t capable of generating legacy INTx interrupts.

/sys/bus/pci/devices/.../label

Defined on file sysfs-bus-pci

Reading this attribute will provide the firmware given name (SMBIOS type 41 string or ACPI _DSM string) of the PCI device. The attribute will be created only if the firmware has given a name to the PCI device. ACPI _DSM string name will be given priority if the system firmware provides SMBIOS type 41 string also.

Users:

Userspace applications interested in knowing the firmware assigned name of the PCI device.

/sys/bus/pci/devices/.../leds/*:enclosure:*/brightness

/sys/class/leds/*:enclosure:*/brightness

Defined on file sysfs-bus-pci

LED indications on PCIe storage enclosures which are controlled through the NPEM interface (Native PCIe Enclosure Management, PCIe r6.1 sec 6.28) are accessible as led class devices, both below /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 an application 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 corresponding indication 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 indication may implicitly manipulate other indications at the vendor’s discretion. 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 be retrieved by reading its “brightness” file.

The PCIe Base Specification allows vendors leeway to choose different 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 at 4 Hz frequency: https://en.wikipedia.org/wiki/International_Blinking_Pattern_Interpretation

PCI Firmware Specification r3.3 sec 4.7 defines a DSM interface to facilitate shared access by operating system and platform firmware to a device’s NPEM registers. The kernel will use this DSM interface where available, instead of accessing NPEM registers directly. The DSM interface does not support the enclosure-specific indications “specific0” to “specific7”, hence the corresponding led class devices are unavailable if the DSM interface is used.

Defined on file sysfs-bus-pci

If ASPM is supported for an endpoint, these files can be used to disable or enable the individual power management states. Write y/1/on to enable, n/0/off to disable.

/sys/bus/pci/devices/.../modalias

Defined on file sysfs-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 file sysfs-bus-pci

Writing a zero value to this attribute disallows MSI and MSI-X for any future drivers of the device. If the device is a bridge, MSI and MSI-X will be disallowed for future drivers of all child devices under the bridge. Drivers must be reloaded for the new setting to take effect.

/sys/bus/pci/devices/.../msi_irqs/

Defined on file sysfs-bus-pci

The /sys/devices/.../msi_irqs directory contains a variable set of files, with each file being named after a corresponding msi irq vector allocated to that device.

/sys/bus/pci/devices/.../msi_irqs/<N>

Defined on file sysfs-bus-pci

This attribute indicates the mode that the irq vector named by the file is in (msi vs. msix)

/sys/bus/pci/devices/.../numa_node

Defined on file sysfs-bus-pci

This file contains the NUMA node to which the PCI device is attached, or -1 if the node is unknown. The initial value comes from an ACPI _PXM method or a similar firmware source. If that is missing or incorrect, this file can be written to override the node. In that case, please report a firmware bug to the system vendor. Writing to this file taints the kernel with TAINT_FIRMWARE_WORKAROUND, which reduces the supportability of your system.

/sys/bus/pci/devices/.../p2pmem/allocate

Defined on file sysfs-bus-pci

This file allows mapping p2pmem into userspace. For each mmap() call on this file, the kernel will allocate a chunk of Peer-to-Peer memory for use in Peer-to-Peer transactions. This memory can be used in O_DIRECT calls to NVMe backed files for Peer-to-Peer copies.

/sys/bus/pci/devices/.../p2pmem/available

Defined on file sysfs-bus-pci

If the device has any Peer-to-Peer memory registered, this file contains the amount of memory that has not been allocated (in decimal).

/sys/bus/pci/devices/.../p2pmem/published

Defined on file sysfs-bus-pci

If the device has any Peer-to-Peer memory registered, this file contains a ‘1’ if the memory has been published for use outside the driver that owns the device.

/sys/bus/pci/devices/.../p2pmem/size

Defined on file sysfs-bus-pci

If the device has any Peer-to-Peer memory registered, this file contains the total amount of memory that the device provides (in decimal).

/sys/bus/pci/devices/.../pci_bus/.../rescan

Defined on file sysfs-bus-pci

Writing a non-zero value to this attribute will force a rescan of the bus and all child buses, and re-discover devices removed earlier from this part of the device tree.

/sys/bus/pci/devices/.../physfn

Defined on file sysfs-bus-pci

This symbolic link appears when a device is a Virtual Function. The symbolic link points to the PCI device sysfs entry of the Physical Function this device associates with.

/sys/bus/pci/devices/.../power_state

Defined on file sysfs-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 one of: “unknown”, “error”, “D0”, D1”, “D2”, “D3hot”, “D3cold”. The file is read only.

/sys/bus/pci/devices/.../remove

Defined on file sysfs-bus-pci

Writing a non-zero value to this attribute will hot-remove the PCI device and any of its children.

/sys/bus/pci/devices/.../rescan

Defined on file sysfs-bus-pci

Writing a non-zero value to this attribute will force a rescan of the device’s parent bus and all child buses, and re-discover devices removed earlier from this part of the device tree.

/sys/bus/pci/devices/.../reset

Defined on file sysfs-bus-pci

Some devices allow an individual function to be reset without affecting other functions in the same device. For devices that have this support, a file named reset will be present in sysfs. Writing 1 to this file will perform reset.

/sys/bus/pci/devices/.../reset_method

Defined on file sysfs-bus-pci

Some devices allow an individual function to be reset without affecting other functions in the same slot.

For devices that have this support, a file named reset_method is present in sysfs. Reading this file gives names of the supported and enabled reset methods and their ordering. Writing a space-separated list of names of reset methods sets the reset methods and ordering to be used when resetting the device. Writing an empty string disables the ability to reset the device. Writing “default” enables all supported reset methods in the default ordering.

/sys/bus/pci/devices/.../reset_subordinate

Defined on file sysfs-bus-pci

This is visible only for bridge devices. If you want to reset all devices attached through the subordinate bus of a specific bridge device, writing 1 to this will try to do it. This will affect all devices attached to the system through this bridge similiar to writing 1 to their individual “reset” file, so use with caution.

/sys/bus/pci/devices/.../resourceN_resize

Defined on file sysfs-bus-pci

These files provide an interface to PCIe Resizable BAR support. A file is created for each BAR resource (N) supported by the PCIe Resizable BAR extended capability of the device. Reading each file exposes the bitmap of available resource sizes:

# cat resource1_resize 00000000000001c0

The bitmap represents supported resource sizes for the BAR, where bit0 = 1MB, bit1 = 2MB, bit2 = 4MB, etc. In the above example the device supports 64MB, 128MB, and 256MB BAR sizes.

When writing the file, the user provides the bit position of the 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 definition matches the PCIe specification of this capability.

In order to make use of resource resizing, all PCI drivers must be unbound from the device and peer devices under the same parent bridge may need to be soft removed. In the case of VGA devices, writing a resize value will remove low level console drivers from the device. Raw users of pci-sysfs resourceN attributes must be terminated prior to resizing. Success of the resizing operation is not guaranteed.

/sys/bus/pci/devices/.../revision

Defined on file sysfs-bus-pci

This file contains the revision field of the PCI device. The value comes from device config space. The file is read only.

/sys/bus/pci/devices/.../serial_number

Defined on file sysfs-bus-pci

This is visible only for PCI devices that support the serial number extended capability. The file is read only and due to the possible sensitivity of accessible serial numbers, admin only.

/sys/bus/pci/devices/.../sriov_drivers_autoprobe

Defined on file sysfs-bus-pci

This file is associated with the PF of a device that supports SR-IOV. It determines whether newly-enabled VFs are immediately bound to a driver. It initially contains 1, which means the kernel automatically binds VFs to a compatible driver immediately after they are enabled. If an application writes 0 to the file before enabling VFs, the kernel will not bind VFs to a driver.

A typical use case is to write 0 to this file, then enable VFs, then assign the newly-created VFs to virtual machines. Note that changing this file does not affect already- enabled VFs. In this scenario, the user must first disable the VFs, write 0 to sriov_drivers_autoprobe, then re-enable the VFs.

This is similar to /sys/bus/pci/drivers_autoprobe, but affects only the VFs associated with a specific PF.

/sys/bus/pci/devices/.../sriov_numvfs

Defined on file sysfs-bus-pci

This file appears when a physical PCIe device supports SR-IOV. Userspace applications can read and write to this file to determine and control the enablement or disablement of Virtual Functions (VFs) on the physical function (PF). A read of this file will return the number of VFs that are enabled on this PF. A number written to this file will enable the specified number of VFs. A userspace application would typically read the file and check that the value is zero, and then write the number of VFs that should be enabled on the PF; the value written should be less than or equal to the value in the sriov_totalvfs file. A userspace application wanting to disable the VFs would write a zero to this file. The core ensures that valid values are written to this file, and returns errors when values are not valid. For example, writing a 2 to this file when sriov_numvfs is not 0 and not 2 already will return an error. Writing a 10 when the value of sriov_totalvfs is 8 will return an error.

/sys/bus/pci/devices/.../sriov_totalvfs

Defined on file sysfs-bus-pci

This file appears when a physical PCIe device supports SR-IOV. Userspace applications can read this file to determine the maximum number of Virtual Functions (VFs) a PCIe physical function (PF) can support. Typically, this is the value reported in the PF’s SR-IOV extended capability structure’s TotalVFs element. Drivers have the ability at probe time to reduce the value read from this file via the pci_sriov_set_totalvfs() function.

/sys/bus/pci/devices/.../sriov_vf_msix_count

Defined on file sysfs-bus-pci

This file is associated with a SR-IOV virtual function (VF). It allows configuration of the number of MSI-X vectors for the VF. This allows devices that have a global pool of MSI-X vectors 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 that implements ->sriov_set_msix_vec_count().

/sys/bus/pci/devices/.../sriov_vf_total_msix

Defined on file sysfs-bus-pci

This file is associated with a SR-IOV physical function (PF). It contains the total number of MSI-X vectors available for assignment to all virtual functions (VFs) associated with PF. The value will be zero if the device doesn’t support this functionality. For supported devices, the value will be constant and won’t be changed after MSI-X vectors assignment.

/sys/bus/pci/devices/.../tsm/

Defined on file sysfs-bus-pci

This directory only appears if a physical device function supports authentication (PCIe CMA-SPDM), interface security (PCIe TDISP), and is accepted for secure operation by the platform TSM driver. This attribute directory appears dynamically after the platform TSM driver loads. So, only after the /sys/class/tsm/tsm0 device arrives can tools assume that devices without a tsm/ attribute directory will never have one; before that, the security capabilities of the device relative to the platform TSM are unknown. See testing/sysfs-class-tsm.

/sys/bus/pci/devices/.../tsm/bound

Defined on file sysfs-bus-pci

(RO) Return the device name of the TSM when the device is in a TDISP (TEE Device Interface Security Protocol) operational state (LOCKED, RUN, or ERROR, not UNLOCKED). Bound devices consume platform 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 the bound state. This attribute is only visible for devices that support TDISP operation, and it is only populated after successful connect and TSM bind. The TSM bind operation is initiated by VFIO/IOMMUFD. This is a “link” TSM attribute, see testing/sysfs-class-tsm.

/sys/bus/pci/devices/.../tsm/connect

Defined on file sysfs-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 the device. This typically includes an SPDM (DMTF Security Protocols and Data Models) session over PCIe DOE (Data Object Exchange) and may also include PCIe IDE (Integrity and Data Encryption) establishment. Reads from this attribute return the name of the connected TSM or the empty string if not connected. A TSM device signals its readiness to accept PCI connection via a KOBJ_CHANGE event.

/sys/bus/pci/devices/.../tsm/disconnect

Defined on file sysfs-bus-pci

(WO) Write the name of the TSM device that was specified to ‘connect’ to teardown the connection.

/sys/bus/pci/devices/.../tsm/dsm

Defined on file sysfs-bus-pci

(RO) Return PCI device name of this device’s DSM (Device Security Manager). When a device is in the connected state it indicates that the platform TSM (TEE Security Manager) has made a secure-session connection with a device’s DSM. A DSM is always physical function 0 and when the device supports TDISP (TEE Device Interface Security Protocol) its managed functions also populate this tsm/dsm attribute. The managed functions of a DSM are SR-IOV (Single Root I/O Virtualization) virtual functions, non-zero functions of a multi-function device, or downstream endpoints depending on whether the DSM is an SR-IOV physical function, function0 of a multi-function device, or an upstream PCIe switch port. This is a “link” TSM attribute, see testing/sysfs-class-tsm.

/sys/bus/pci/devices/.../virtfn<N>

Defined on file sysfs-bus-pci

This symbolic link appears when hardware supports the SR-IOV capability and the Physical Function driver has enabled it. The symbolic link points to the PCI device sysfs entry of the Virtual Function whose index is N (0...MaxVFs-1).

/sys/bus/pci/devices/.../vpd

Defined on file sysfs-bus-pci

A file named vpd in a device directory will be a binary file containing the Vital Product Data for the device. It should follow the VPD format defined in PCI Specification 2.1 or 2.2, but users should consider that some devices may have incorrectly formatted data. If the underlying VPD has a writable section then the corresponding section of this file will be writable.

/sys/bus/pci/devices/<BDF>/anti_rollback_status

Defined on file sysfs-driver-ccp

The /sys/bus/pci/devices/<BDF>/anti_rollback_status file reports whether the PSP is enforcing rollback protection. Possible values: 0: Not enforcing 1: Enforcing

/sys/bus/pci/devices/<BDF>/boot_integrity

Defined on file sysfs-driver-ccp

The /sys/bus/pci/devices/<BDF>/boot_integrity reports whether the AMD CPU or APU is used for a hardware root of trust during the boot process. Possible values: 0: Not hardware root of trust. 1: Hardware root of trust

NOTE: Vendors may provide design specific alternative hardware root of trust implementations.

/sys/bus/pci/devices/<BDF>/bootloader_version

Defined on file sysfs-driver-ccp

The /sys/bus/pci/devices/<BDF>/bootloader_version file reports the firmware version of the AMD AGESA bootloader.

/sys/bus/pci/devices/<BDF>/debug_lock_on

Defined on file sysfs-driver-ccp

The /sys/bus/pci/devices/<BDF>/debug_lock_on reports whether the AMD CPU or APU has been unlocked for debugging. Possible values: 0: Not locked 1: Locked

/sys/bus/pci/devices/<BDF>/fused_part

Defined on file sysfs-driver-ccp

The /sys/bus/pci/devices/<BDF>/fused_part file reports whether the CPU or APU has been fused to prevent tampering. 0: Not fused 1: Fused

/sys/bus/pci/devices/<BDF>/hsp_tpm_available

Defined on file sysfs-driver-ccp

The /sys/bus/pci/devices/<BDF>/hsp_tpm_available file reports whether the HSP TPM has been activated. Possible values: 0: Not activated or present 1: Activated

/sys/bus/pci/devices/<BDF>/qat/auto_reset

Defined on file sysfs-driver-qat

(RW) Reports the current state of the autoreset feature for 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 an unrecoverable error, it will be reset automatically.

  • 0/Nn/off: auto reset disabled. If the device encounters an unrecoverable 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 file sysfs-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 decompression operations.

  • dcc: Similar to dc, but with the additional dc chaining feature enabled, 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 be combined and on QAT GEN6 devices (qat_6xxx driver ) a maximum of three services can be combined. The order of services is not significant. For instance, sym;asym is functionally equivalent to asym;sym.

It is possible to set the configuration only if the device is in the down state (see /sys/bus/pci/devices/<BDF>/qat/state)

The following example shows how to change the configuration of a device configured for running crypto services in order to run data compression:

# cat /sys/bus/pci/devices/<BDF>/qat/state
up
# cat /sys/bus/pci/devices/<BDF>/qat/cfg_services
sym;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_services
dc

This attribute is available for qat_4xxx and qat_6xxx devices.

/sys/bus/pci/devices/<BDF>/qat/num_rps

Defined on file sysfs-driver-qat

(RO) Returns the number of ring pairs that a single device has.

Example usage:

# cat /sys/bus/pci/devices/<BDF>/qat/num_rps
64

This attribute is available for qat_4xxx and qat_6xxx devices.

/sys/bus/pci/devices/<BDF>/qat/pm_idle_enabled

Defined on file sysfs-driver-qat

(RW) This configuration option provides a way to force the device into remaining in the MAX power state. If idle support is enabled the device will transition to the MIN power state when idle, 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 device is in the down state (see /sys/bus/pci/devices/<BDF>/qat/state)

The following example shows how to change the pm_idle_enabled of a device:

# cat /sys/bus/pci/devices/<BDF>/qat/state
up
# cat /sys/bus/pci/devices/<BDF>/qat/pm_idle_enabled
1
# 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_enabled
0

This attribute is available for qat_4xxx and qat_6xxx devices.

/sys/bus/pci/devices/<BDF>/qat/rp2srv

Defined on file sysfs-driver-qat

(RW) This attribute provides a way for a user to query a specific ring pair for the type of service that it is currently configured for.

When written to, the value is cached and used to perform the read operation. Allowed values are in the range 0 to N-1, where N is the max number of ring pairs supported by a device. This can 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 crypto services

  • asym: the ring pair is configured for running asymmetric crypto services

Example usage:

# echo 1 > /sys/bus/pci/devices/<BDF>/qat/rp2srv
# cat /sys/bus/pci/devices/<BDF>/qat/rp2srv
sym

This attribute is available for qat_4xxx and qat_6xxx devices.

/sys/bus/pci/devices/<BDF>/qat/state

Defined on file sysfs-driver-qat

(RW) Reports the current state of the QAT device. Write to the 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 only if the device is up and vice versa.

This attribute is available for qat_4xxx and qat_6xxx devices.

/sys/bus/pci/devices/<BDF>/qat_kpt/

Defined on file sysfs-driver-qat_kpt

Directory containing attributes related to the QAT Key Protection Technology (KPT) feature. KPT allows cryptographic keys to be used by the accelerator without being exposed in plaintext to the host.

/sys/bus/pci/devices/<BDF>/qat_kpt/enable

Defined on file sysfs-driver-qat_kpt

(RW) Enables or disables Key Protection Technology (KPT).

Write 1 to enable KPT, or 0 to disable it.

Example usage:

# cat /sys/bus/pci/devices/<BDF>/qat_kpt/enable
0
# echo 1 > /sys/bus/pci/devices/<BDF>/qat_kpt/enable

This attribute is only available on devices that support KPT.

/sys/bus/pci/devices/<BDF>/qat_kpt/swk_cnt_per_fn

Defined on file sysfs-driver-qat_kpt

(RW) Configures the maximum number of KPT symmetric wrapping keys (SWKs) that a Virtual Function (VF) may be associated with.

Valid values range from 0 to 128. A value of 0 indicates no limit.

Example usage:

# cat /sys/bus/pci/devices/<BDF>/qat_kpt/swk_cnt_per_fn
128
# echo 128 > /sys/bus/pci/devices/<BDF>/qat_kpt/swk_cnt_per_fn

This attribute is only available on devices that support KPT.

/sys/bus/pci/devices/<BDF>/qat_kpt/swk_cnt_per_pasid

Defined on file sysfs-driver-qat_kpt

(RW) Configures the maximum number of KPT symmetric wrapping keys (SWKs) per Process Address Space ID (PASID).

Valid values range from 0 to 128. A value of 0 indicates no limit.

Example usage:

# cat /sys/bus/pci/devices/<BDF>/qat_kpt/swk_cnt_per_pasid
128
# echo 128 > /sys/bus/pci/devices/<BDF>/qat_kpt/swk_cnt_per_pasid

This attribute is only available on devices that support KPT.

/sys/bus/pci/devices/<BDF>/qat_kpt/swk_max_ttl

Defined on file sysfs-driver-qat_kpt

(RW) Configures the maximum Time To Live (TTL) for KPT symmetric wrapping keys (SWK).

Valid values range from 0 to 31536000 seconds. A value of 0 indicates that the SWK TTL is unlimited.

Example usage:

# cat /sys/bus/pci/devices/<BDF>/qat_kpt/swk_max_ttl
1000
# echo 1000 > /sys/bus/pci/devices/<BDF>/qat_kpt/swk_max_ttl

This attribute is only available on devices that support KPT.

/sys/bus/pci/devices/<BDF>/qat_kpt/swk_shared

Defined on file sysfs-driver-qat_kpt

(RW) Controls shared mode for KPT symmetric wrapping keys (SWK).

Write 1 to enable shared mode, or 0 to disable it (non-shared mode).

Example usage:

# cat /sys/bus/pci/devices/<BDF>/qat_kpt/swk_shared
0
# echo 1 > /sys/bus/pci/devices/<BDF>/qat_kpt/swk_shared

This attribute is only available on devices that support KPT.

/sys/bus/pci/devices/<BDF>/qat_ras/errors_correctable

Defined on file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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_correctable
0
# cat /sys/bus/pci/devices/<BDF>/qat_ras/errors_nonfatal
0
# cat /sys/bus/pci/devices/<BDF>/qat_ras/errors_fatal
0

This attribute is only available for qat_4xxx and qat_6xxx devices.

/sys/bus/pci/devices/<BDF>/qat_rl/cap_rem

Defined on file sysfs-driver-qat_rl

(RW) This file will return the remaining capacity for a particular service/sla. This is the remaining value that a new SLA 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_rem
250
# 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_rem
0

This attribute is only available for qat_4xxx and qat_6xxx devices.

/sys/bus/pci/devices/<BDF>/qat_rl/cir

Defined on file sysfs-driver-qat_rl

(RW) Committed information rate (CIR). Rate guaranteed to be achieved by a particular SLA. The value is expressed in permille scale, i.e. 1000 refers to the maximum device throughput for a selected service.

After sending a “get” to sla_op, this will be populated with the CIR for that queried SLA. Write to this file before sending an “add/update” sla_op, to set the 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/cir
500

This attribute is only available for qat_4xxx and qat_6xxx devices.

/sys/bus/pci/devices/<BDF>/qat_rl/id

Defined on file sysfs-driver-qat_rl

(RW) If written to, the value is used to retrieve a particular SLA 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 data after 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/id
4

## 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/rp
0x5  ## 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 file sysfs-driver-qat_rl

(RW) Peak information rate (PIR). The maximum rate that can be achieved by that particular SLA. An SLA can reach a value between CIR and PIR when the device is not fully utilized by requests from other users (assigned to different SLAs).

After sending a “get” to sla_op, this will be populated with the PIR for that queried SLA. Write to this file before sending an “add/update” sla_op, to set the 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/pir
750

This attribute is only available for qat_4xxx and qat_6xxx devices.

/sys/bus/pci/devices/<BDF>/qat_rl/rp

Defined on file sysfs-driver-qat_rl

(RW) When read, reports the current assigned ring pairs for the queried 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 service assigned to a certain ring pair can be checked by querying the 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/rp
0x5

## 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 file sysfs-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 in this group before a write to this file. If the operation completes successfully, the associated attributes 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 file sysfs-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 adding an SLA. After an SLA is configured, reports the service associated 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/id
4

## 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/srv
dc

This attribute is only available for qat_4xxx and qat_6xxx devices.

/sys/bus/pci/devices/<BDF>/qat_svn/

Defined on file sysfs-driver-qat_svn

Directory containing Security Version Number (SVN) attributes for the Anti-Rollback (ARB) feature. The ARB feature prevents downloading older firmware versions to the acceleration device.

/sys/bus/pci/devices/<BDF>/qat_svn/active

Defined on file sysfs-driver-qat_svn

(RO) Reports the SVN of the currently active firmware image.

Returns an integer greater than zero.

Example usage:

# cat /sys/bus/pci/devices/<BDF>/qat_svn/active
2

This attribute is available only on devices that support Anti-Rollback.

/sys/bus/pci/devices/<BDF>/qat_svn/commit

Defined on file sysfs-driver-qat_svn

(WO) Commits the currently active SVN as the minimum allowed SVN.

Writing 1 sets qat_svn/enforced_min to the value of qat_svn/active, preventing future firmware loads with lower SVN.

Depending on platform/BIOS settings, a commit may also update qat_svn/permanent_min.

Note that on reboot, qat_svn/enforced_min reverts to qat_svn/permanent_min.

It is advisable to use this attribute with caution, only when it is necessary to set a new minimum SVN for the firmware.

Before committing the SVN update, it is crucial to check the current values of qat_svn/active, qat_svn/enforced_min and qat_svn/permanent_min. This verification helps ensure that the commit operation aligns with the intended outcome.

While writing to the file, any value other than ‘1’ will result in an error and have no effect.

Example usage:

## Read current values
# cat /sys/bus/pci/devices/<BDF>/qat_svn/enforced_min
2
# cat /sys/bus/pci/devices/<BDF>/qat_svn/permanent_min
2
# cat /sys/bus/pci/devices/<BDF>/qat_svn/active
3

## Commit active SVN
# echo 1 > /sys/bus/pci/devices/<BDF>/qat_svn/commit

## Read updated values
# cat /sys/bus/pci/devices/<BDF>/qat_svn/enforced_min
3
# cat /sys/bus/pci/devices/<BDF>/qat_svn/permanent_min
3

This attribute is available only on devices that support Anti-Rollback.

/sys/bus/pci/devices/<BDF>/qat_svn/enforced_min

Defined on file sysfs-driver-qat_svn

(RO) Reports the minimum allowed firmware SVN.

Returns an integer greater than zero. Firmware with SVN lower than this value is rejected.

A write to qat_svn/commit will update this value. The update is not persistent across reboot; on reboot, this value is reset from qat_svn/permanent_min.

Example usage:

# cat /sys/bus/pci/devices/<BDF>/qat_svn/enforced_min
2

This attribute is available only on devices that support Anti-Rollback.

/sys/bus/pci/devices/<BDF>/qat_svn/permanent_min

Defined on file sysfs-driver-qat_svn

(RO) Reports the persistent minimum SVN used to initialize qat_svn/enforced_min on each reboot.

Returns an integer greater than zero. A write to qat_svn/commit may update this value, depending on platform/BIOS settings.

Example usage:

# cat /sys/bus/pci/devices/<BDF>/qat_svn/permanent_min
3

This attribute is available only on devices that support Anti-Rollback.

/sys/bus/pci/devices/<BDF>/rom_armor_enforced

Defined on file sysfs-driver-ccp

The /sys/bus/pci/devices/<BDF>/rom_armor_enforced file reports whether RomArmor SPI protection is enforced. Possible values: 0: Not enforced 1: Enforced

/sys/bus/pci/devices/<BDF>/rpmc_production_enabled

Defined on file sysfs-driver-ccp

The /sys/bus/pci/devices/<BDF>/rpmc_production_enabled file reports whether Replay Protected Monotonic Counter support has been enabled. Possible values: 0: Not enabled 1: Enabled

/sys/bus/pci/devices/<BDF>/rpmc_spirom_available

Defined on file sysfs-driver-ccp

The /sys/bus/pci/devices/<BDF>/rpmc_spirom_available file reports whether an Replay Protected Monotonic Counter supported SPI is installed on the system. Possible values: 0: Not present 1: Present

/sys/bus/pci/devices/<BDF>/tee_version

Defined on file sysfs-driver-ccp

The /sys/bus/pci/devices/<BDF>/tee_version file reports the firmware version of the AMD Trusted Execution Environment (TEE).

/sys/bus/pci/devices/<BDF>/tsme_status

Defined on file sysfs-driver-ccp

The /sys/bus/pci/devices/<BDF>/tsme_status file reports the status of transparent secure memory encryption on AMD systems. Possible values: 0: Not active 1: Active

/sys/bus/pci/devices/<dev>/aer/correctable_ratelimit_burst

Defined on file sysfs-bus-pci-devices-aer

Ratelimit burst for correctable error logs. Writing a value changes the number of errors (burst) allowed per interval before ratelimiting. Reading gets the current ratelimit burst. Default is DEFAULT_RATELIMIT_BURST (10).

/sys/bus/pci/devices/<dev>/aer/correctable_ratelimit_interval_ms

Defined on file sysfs-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 file sysfs-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 the current ratelimit burst. Default is DEFAULT_RATELIMIT_BURST (10).

/sys/bus/pci/devices/<dev>/aer/nonfatal_ratelimit_interval_ms

Defined on file sysfs-bus-pci-devices-aer

Writing 0 disables AER non-fatal uncorrectable 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_dev_correctable

Defined on file sysfs-bus-pci-devices-aer

List of correctable errors seen and reported by this PCI device using ERR_COR. Note that since multiple errors may be reported using a single ERR_COR message, thus TOTAL_ERR_COR at the end of the file may not match the actual total of all the errors in the file. Sample output:

localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_correctable
Receiver Error 2
Bad TLP 0
Bad DLLP 0
RELAY_NUM Rollover 0
Replay Timer Timeout 0
Advisory Non-Fatal 0
Corrected Internal Error 0
Header Log Overflow 0
TOTAL_ERR_COR 2

/sys/bus/pci/devices/<dev>/aer_dev_fatal

Defined on file sysfs-bus-pci-devices-aer

List of uncorrectable fatal errors seen and reported by this PCI device using ERR_FATAL. Note that since multiple errors may be reported using a single ERR_FATAL message, thus TOTAL_ERR_FATAL at the end of the file may not match the actual total of all the errors in the file. Sample output:

localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_fatal
Undefined 0
Data Link Protocol 0
Surprise Down Error 0
Poisoned TLP 0
Flow Control Protocol 0
Completion Timeout 0
Completer Abort 0
Unexpected Completion 0
Receiver Overflow 0
Malformed TLP 0
ECRC 0
Unsupported Request 0
ACS Violation 0
Uncorrectable Internal Error 0
MC Blocked TLP 0
AtomicOp Egress Blocked 0
TLP Prefix Blocked Error 0
TOTAL_ERR_FATAL 0

/sys/bus/pci/devices/<dev>/aer_dev_nonfatal

Defined on file sysfs-bus-pci-devices-aer

List of uncorrectable nonfatal errors seen and reported by this PCI device using ERR_NONFATAL. Note that since multiple errors may be reported using a single ERR_FATAL message, thus TOTAL_ERR_NONFATAL at the end of the file may not match the actual total of all the errors in the file. Sample output:

localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_nonfatal
Undefined 0
Data Link Protocol 0
Surprise Down Error 0
Poisoned TLP 0
Flow Control Protocol 0
Completion Timeout 0
Completer Abort 0
Unexpected Completion 0
Receiver Overflow 0
Malformed TLP 0
ECRC 0
Unsupported Request 0
ACS Violation 0
Uncorrectable Internal Error 0
MC Blocked TLP 0
AtomicOp Egress Blocked 0
TLP Prefix Blocked Error 0
TOTAL_ERR_NONFATAL 0

PCIe Rootport AER statistics

These attributes show up under only the rootports (or root complex event collectors) that are AER capable. These indicate the number of error messages as “reported to” the rootport. Please note that the rootports also transmit (internally) the ERR_* messages for errors seen by the internal rootport PCI device, so these counters include them and are thus cumulative of all the error messages on the PCI hierarchy originating at that root port.

/sys/bus/pci/devices/<dev>/aer_rootport_total_err_cor

Defined on file sysfs-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 file sysfs-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 file sysfs-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.

See The 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 file sysfs-bus-pci-devices-cciss

A symbolic link to /sys/block/cciss!cXdY

/sys/bus/pci/devices/<dev>/ccissX/cXdY/lunid

Defined on file sysfs-bus-pci-devices-cciss

Displays the 8-byte LUN ID used to address logical drive Y of controller X.

/sys/bus/pci/devices/<dev>/ccissX/cXdY/model

Defined on file sysfs-bus-pci-devices-cciss

Displays the SCSI INQUIRY page 0 model for logical drive Y of controller X.

/sys/bus/pci/devices/<dev>/ccissX/cXdY/raid_level

Defined on file sysfs-bus-pci-devices-cciss

Displays the RAID level of logical drive Y of controller X.

/sys/bus/pci/devices/<dev>/ccissX/cXdY/rev

Defined on file sysfs-bus-pci-devices-cciss

Displays the SCSI INQUIRY page 0 revision for logical drive Y of controller X.

/sys/bus/pci/devices/<dev>/ccissX/cXdY/unique_id

Defined on file sysfs-bus-pci-devices-cciss

Displays the SCSI INQUIRY page 83 serial number for logical drive Y of controller X.

/sys/bus/pci/devices/<dev>/ccissX/cXdY/usage_count

Defined on file sysfs-bus-pci-devices-cciss

Displays the usage count (number of opens) of logical drive Y of controller X.

/sys/bus/pci/devices/<dev>/ccissX/cXdY/vendor

Defined on file sysfs-bus-pci-devices-cciss

Displays the SCSI INQUIRY page 0 vendor for logical drive Y of controller X.

/sys/bus/pci/devices/<dev>/ccissX/rescan

Defined on file sysfs-bus-pci-devices-cciss

Kicks of a rescan of the controller to discover logical drive topology changes.

/sys/bus/pci/devices/<dev>/ccissX/resettable

Defined on file sysfs-bus-pci-devices-cciss

Value of 1 indicates the controller can honor the reset_devices kernel parameter. Value of 0 indicates reset_devices cannot be honored. This is to allow, for example, kexec tools to be able to warn the user if they designate an unresettable device as a dump device, as kdump requires resetting the device in order to work reliably.

/sys/bus/pci/devices/<dev>/ccissX/transport_mode

Defined on file sysfs-bus-pci-devices-cciss

Value of “simple” indicates that the controller has been placed in “simple mode”. Value of “performant” indicates that the controller has been placed in “performant mode”.

/sys/bus/pci/drivers/.../bind

/sys/devices/pciX/.../bind

Defined on file sysfs-bus-pci

Writing a device location to this file will cause the driver to attempt to bind to the device found at this location. This is useful for overriding default bindings. The format for the location is: DDDD:BB:DD.F. That is Domain:Bus:Device.Function and is the same as found in /sys/bus/pci/devices/. For example:

# echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/bind

(Note: kernels before 2.6.28 may require echo -n).

/sys/bus/pci/drivers/.../new_id

/sys/devices/pciX/.../new_id

Defined on file sysfs-bus-pci

Writing a device ID to this file will attempt to dynamically add a new device ID to a PCI device driver. This may allow the driver to support more hardware than was included in the driver’s static device ID support table at compile time. The format for the device ID is: VVVV DDDD SVVV SDDD CCCC MMMM PPPP. That is Vendor ID, Device ID, Subsystem Vendor ID, Subsystem Device ID, Class, Class Mask, and Private Driver Data. The Vendor ID and Device ID fields are required, the rest are optional. Upon successfully adding an ID, the driver will probe for the device and attempt to bind to it. For example:

# echo "8086 10f5" > /sys/bus/pci/drivers/foo/new_id

/sys/bus/pci/drivers/.../remove_id

/sys/devices/pciX/.../remove_id

Defined on file sysfs-bus-pci

Writing a device ID to this file will remove an ID that was dynamically added via the new_id sysfs entry. The format for the device ID is: VVVV DDDD SVVV SDDD CCCC MMMM. That is Vendor ID, Device ID, Subsystem Vendor ID, Subsystem Device ID, Class, and Class Mask. The Vendor ID and Device ID fields are required, the rest are optional. After successfully removing an ID, the driver will no longer support the device. This is useful to ensure auto probing won’t match the driver to the device. For example:

# echo "8086 10f5" > /sys/bus/pci/drivers/foo/remove_id

/sys/bus/pci/drivers/.../unbind

/sys/devices/pciX/.../unbind

Defined on file sysfs-bus-pci

Writing a device location to this file will cause the driver to attempt to unbind from the device found at this location. This may be useful when overriding default bindings. The format for the location is: DDDD:BB:DD.F. That is Domain:Bus:Device.Function and is the same as found in /sys/bus/pci/devices/. For example:

# echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/unbind

(Note: kernels before 2.6.28 may require echo -n).

/sys/bus/pci/drivers/altera-cvp/chkcfg

Defined on file sysfs-driver-altera-cvp

Contains either 1 or 0 and controls if configuration error checking in altera-cvp driver is turned on or off.

/sys/bus/pci/drivers/ehci_hcd/.../companion

/sys/bus/usb/devices/usbN/../companion

Defined on file sysfs-bus-pci-drivers-ehci_hcd

PCI-based EHCI USB controllers (i.e., high-speed USB-2.0 controllers) are often implemented along with a set of “companion” full/low-speed USB-1.1 controllers. When a high-speed device is plugged in, the connection is routed to the EHCI controller; when a full- or low-speed device is plugged in, the connection is routed to the companion controller.

Sometimes you want to force a high-speed device to connect at full speed, which can be accomplished by forcing the connection to be routed to the companion controller. That’s what this file does. Writing a port number to the file causes connections on that port to be routed to the companion controller, and writing the negative of a port number returns the port to normal operation.

For example: To force the high-speed device attached to port 4 on bus 2 to run at full speed:

echo 4 >/sys/bus/usb/devices/usb2/../companion

To return the port to high-speed operation:

echo -4 >/sys/bus/usb/devices/usb2/../companion

Reading the file gives the list of ports currently forced to the companion controller.

Note: Some EHCI controllers do not have companions; they may contain an internal “transaction translator” or they may be attached directly to a “rate-matching hub”. This mechanism will not work with such controllers. Also, it cannot be used to force a port on a high-speed hub to connect at full speed.

Note: When this file was first added, it appeared in a different sysfs directory. The location given above is correct for 2.6.35 (and probably several earlier kernel versions as well).

/sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/curr1_crit

Defined on file sysfs-driver-intel-i915-hwmon

RW. Card reactive critical (I1) power limit in milliamperes.

Card reactive critical (I1) power limit in milliamperes is exposed for server products. The power controller will throttle the operating frequency if the power averaged over a window exceeds this limit.

Only supported for particular Intel i915 graphics platforms.

/sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/energy1_input

Defined on file sysfs-driver-intel-i915-hwmon

RO. Energy input of device or gt in microjoules.

For i915 device level hwmon devices (name “i915”) this reflects energy input for the entire device. For gt level hwmon devices (name “i915_gtN”) this reflects energy input for the gt.

Only supported for particular Intel i915 graphics platforms.

/sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/fan1_input

Defined on file sysfs-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 file sysfs-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 file sysfs-driver-intel-i915-hwmon

RW. Card reactive critical (I1) power limit in microwatts.

Card reactive critical (I1) power limit in microwatts is exposed for client products. The power controller will throttle the operating frequency if the power averaged over a window exceeds this limit.

Only supported for particular Intel i915 graphics platforms.

/sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/power1_max

Defined on file sysfs-driver-intel-i915-hwmon

RW. Card reactive sustained (PL1/Tau) power limit in microwatts.

The power controller will throttle the operating frequency if the power averaged over a window (typically seconds) exceeds this limit. A read value of 0 means that the PL1 power limit is disabled, writing 0 disables the limit. 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 file sysfs-driver-intel-i915-hwmon

RW. Sustained power limit interval (Tau in PL1/Tau) in milliseconds 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 file sysfs-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 file sysfs-driver-intel-i915-hwmon

RO. GPU package temperature in millidegree Celsius.

Only supported for particular Intel i915 graphics platforms.

/sys/bus/pci/drivers/intel_vpu/.../freq/current_freq

Defined on file sysfs-driver-ivpu

Current operating frequency in MHz of the NPU. The value is valid only when the device is active; returns 0 when idle. The actual frequency may be lower than the requested range due to power or thermal constraints. Read-only.

/sys/bus/pci/drivers/intel_vpu/.../freq/hw_efficient_freq

Defined on file sysfs-driver-ivpu

Most efficient operating frequency in MHz for the NPU. This represents the frequency at which the NPU operates most efficiently in terms of power and performance. Read-only.

/sys/bus/pci/drivers/intel_vpu/.../freq/hw_max_freq

Defined on file sysfs-driver-ivpu

Maximum frequency in MHz supported by the NPU hardware. This is a hardware capability and cannot be changed. Read-only.

/sys/bus/pci/drivers/intel_vpu/.../freq/hw_min_freq

Defined on file sysfs-driver-ivpu

Minimum frequency in MHz supported by the NPU hardware. This is a hardware capability and cannot be changed. Read-only.

/sys/bus/pci/drivers/intel_vpu/.../freq/set_max_freq

Defined on file sysfs-driver-ivpu

Configured maximum operating frequency in MHz (50XX devices and newer). Values written are clamped to hardware limits (hw_min_freq to hw_max_freq). Read-write.

/sys/bus/pci/drivers/intel_vpu/.../freq/set_min_freq

Defined on file sysfs-driver-ivpu

Configured minimum operating frequency in MHz (50XX devices and newer). Values written are clamped to hardware limits (hw_min_freq to hw_max_freq). If set_min_freq exceeds set_max_freq, the driver clamps set_min_freq to set_max_freq when selecting the operating frequency. Read-write.

/sys/bus/pci/drivers/intel_vpu/.../npu_busy_time_us

Defined on file sysfs-driver-ivpu

Time in microseconds that the device spent executing jobs. The time is counted when and only when there are jobs submitted to firmware. This time can be used to measure the utilization of NPU, either by calculating the difference between two timepoints or monitoring utilization percentage by reading periodically. Recommended read period is 1 second to avoid impact on job submission performance. Read-only.

/sys/bus/pci/drivers/intel_vpu/.../npu_memory_utilization

Defined on file sysfs-driver-ivpu

Current NPU memory utilization in bytes. Reports the total size of all resident buffer objects allocated for NPU use. Read-only.

/sys/bus/pci/drivers/janz-cmodio/.../modulbus_number

Defined on file sysfs-bus-pci-drivers-janz-cmodio

Value representing the HEX switch S2 of the janz carrier board CMOD-IO or CAN-PCI2

Read-only: value of the configuration switch (0..15)

/sys/bus/pci/drivers/pciback/allow_interrupt_control

Defined on file sysfs-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 set only 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 assigned to a PV guest. The device is automatically removed from this list when the connected pcifront terminates.

/sys/bus/pci/drivers/pciback/quirks

Defined on file sysfs-driver-pciback

If the permissive attribute is set, then writing a string in the format of DDDD:BB:DD.F-REG:SIZE:MASK will allow the guest to write and read from the PCI device. That is Domain:Bus: Device.Function-Register:Size:Mask (Domain is optional). For example:

#echo 00:19.0-E0:2:FF > /sys/bus/pci/drivers/pciback/quirks

will allow the guest to read and write to the configuration register 0x0E.

/sys/bus/pci/drivers/pcie_mp2_amd/*/hpd

Defined on file sysfs-driver-amd-sfh

Human presence detection (HPD) enable/disable. When HPD is enabled, the device will be able to detect the presence of a human and will send an interrupt that can be used to wake the system from a low power state. When HPD is disabled, the device will not be able to detect the presence of a human.

Access: Read/Write Valid values: enabled/disabled

/sys/bus/pci/drivers/qaic/XXXX:XX:XX.X/ce_count

Defined on file sysfs-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 file sysfs-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 file sysfs-driver-qaic

Number of uncorrectable non-fatal errors received from device since driver is loaded.

/sys/bus/pci/drivers/uio_pci_sva/<pci_dev>/pasid

Defined on file sysfs-driver-uio_pci_sva-pasid

Process Address Space ID (PASID) assigned by IOMMU driver to the device for use with Shared Virtual Addressing (SVA).

This read-only attribute exposes the PASID (A 20-bit identifier used 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 obtain the PASID and program it into the device’s configuration registers. This enables the device to perform DMA using user-space virtual address, 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 file sysfs-driver-intel-xe-hwmon

RW. Card reactive critical (I1) power limit in milliamperes.

Card reactive critical (I1) power limit in milliamperes is exposed for server products. The power controller will throttle the operating frequency if the power averaged over a window exceeds this limit.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/energy1_input

Defined on file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-driver-intel-xe-hwmon

RW. Card burst (PL2) power limit in microwatts.

The power controller will throttle the operating frequency if the power averaged over a window (typically milli seconds) exceeds this limit. A read value of 0 means that the PL2 power limit is disabled, writing 0 disables the limit. PL2 is greater than PL1 and its time window is lesser compared to PL1.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/power1_cap_interval

Defined on file sysfs-driver-intel-xe-hwmon

RW. Card burst power limit interval (Tau in PL2/Tau) in milliseconds 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 file sysfs-driver-intel-xe-hwmon

RW. Card reactive critical (I1) power limit in microwatts.

Card reactive critical (I1) power limit in microwatts is exposed for client products. The power controller will throttle the operating frequency if the power averaged over a window exceeds this limit.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/power1_max

Defined on file sysfs-driver-intel-xe-hwmon

RW. Card reactive sustained (PL1) power limit in microwatts.

The power controller will throttle the operating frequency if the power averaged over a window (typically seconds) exceeds this limit. A read value of 0 means that the PL1 power limit is disabled, writing 0 disables the limit. 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 file sysfs-driver-intel-xe-hwmon

RW. Card sustained power limit interval (Tau in PL1/Tau) in milliseconds 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 file sysfs-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 file sysfs-driver-intel-xe-hwmon

RW. Package burst (PL2) power limit in microwatts.

The power controller will throttle the operating frequency if the power averaged over a window (typically milli seconds) exceeds this limit. A read value of 0 means that the PL2 power limit is disabled, writing 0 disables the limit. PL2 is greater than PL1 and its time window is lesser compared to PL1.

Only supported for particular Intel Xe graphics platforms.

/sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/power2_cap_interval

Defined on file sysfs-driver-intel-xe-hwmon

RW. Package burst power limit interval (Tau in PL2/Tau) in milliseconds 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 file sysfs-driver-intel-xe-hwmon

RW. Package reactive sustained (PL1) power limit in microwatts.

The power controller will throttle the operating frequency if the power averaged over a window (typically seconds) exceeds this limit. A read value of 0 means that the PL1 power limit is disabled, writing 0 disables the limit. 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 file sysfs-driver-intel-xe-hwmon

RW. Package sustained power limit interval (Tau in PL1/Tau) in milliseconds 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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 to manage 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 file sysfs-driver-intel-xe-sriov

These files allows bulk reconfiguration of the scheduling parameters of the PF or VFs and are available only for Intel Xe platforms with GPU sharing based on the time-slice basis. These scheduling parameters can 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/.bulk_profile/vram_quota

/sys/bus/pci/drivers/xe/.../sriov_admin/vf<n>/profile/vram_quota

Defined on file sysfs-driver-intel-xe-sriov

These files allow to perform initial VFs VRAM provisioning prior to VFs enabling or to change VFs VRAM provisioning once the VFs are enabled. Any non-zero initial VRAM provisioning will block VFs auto-provisioning. Without initial VRAM provisioning those files will show result of the VRAM auto-provisioning performed by the PF once the VFs are enabled. Once the VFs are disabled, all VRAM provisioning will be released. These files are visible only on discrete Intel Xe platforms with VRAM and are writeable only if dynamic VFs VRAM provisioning is supported.

.bulk_profile/vram_quota: (WO) unsigned integer

The amount of the provisioned VRAM in [bytes] for each VF. Actual quota value might be aligned per HW/FW requirements.

profile/vram_quota: (RW) unsigned integer

The amount of the provisioned VRAM in [bytes] for this VF. Actual quota value might be aligned per HW/FW requirements.

Default is 0 (unprovisioned).

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 file sysfs-driver-intel-xe-sriov

This directory holds attributes related to the SR-IOV Physical Function (PF).

/sys/bus/pci/drivers/xe/.../sriov_admin/pf/device

/sys/bus/pci/drivers/xe/.../sriov_admin/vf<n>/device

Defined on file sysfs-driver-intel-xe-sriov

These are symlinks to the underlying PCI device entry representing given 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 file sysfs-driver-intel-xe-sriov

These files expose scheduling parameters for the PF and its VFs, and are 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 the settings 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 completes and function has a work submitted.

Default is “low”.

When read, this file will display the current and available scheduling priorities. The currently active priority level will be enclosed in square brackets, like:

[low] normal high

This file can be read-only if changing the priority is not supported.

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 file sysfs-driver-intel-xe-sriov

These directories hold attributes related to the SR-IOV Virtual Functions (VFs).

Note that the VF number <N> is 1-based as described in PCI SR-IOV specification 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 file sysfs-driver-intel-xe-sriov

This file allows to control scheduling of the VF on the Intel Xe GPU platforms. It allows to implement custom policy mechanism in case VFs are 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 file sysfs-bus-pci-drivers-xhci_hcd

xHCI compatible USB host controllers (i.e. super-speed USB3 controllers) are often implemented with the Debug Capability (DbC). It can present a debug device which is fully compliant with the USB framework and provides the equivalent of a very high performance full-duplex serial link for debug purpose.

The DbC debug device shares a root port with xHCI host. When the DbC is enabled, the root port will be assigned to the Debug Capability. Otherwise, it will be assigned to xHCI.

Writing “enable” to this attribute will enable the DbC functionality and the shared root port will be assigned to the DbC device. Writing “disable” to this attribute will disable the DbC functionality and the shared root port will roll back to the xHCI.

Reading this attribute gives the state of the DbC. It can be one of the following states: disabled, enabled, initialized, connected, configured or suspended.

/sys/bus/pci/drivers/xhci_hcd/.../dbc_bInterfaceProtocol

Defined on file sysfs-bus-pci-drivers-xhci_hcd

This attribute lets us change the bInterfaceProtocol field presented in the USB Interface descriptor by the xhci debug device. Value can only be changed while debug capability (DbC) is in disabled state to prevent USB descriptor change while connected to a USB host. The default value is 1 (GNU Remote Debug command). Other permissible value is 0 which is for vendor defined debug target.

/sys/bus/pci/drivers/xhci_hcd/.../dbc_bcdDevice

Defined on file sysfs-bus-pci-drivers-xhci_hcd

This dbc_bcdDevice attribute lets us change the bcdDevice field presented in the USB device descriptor by this xhci debug device. Value can only be changed while debug capability (DbC) is in disabled state to prevent USB device descriptor change while connected 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 file sysfs-bus-pci-drivers-xhci_hcd

This dbc_idProduct attribute lets us change the idProduct field presented in the USB device descriptor by this xhci debug device. Value can only be changed while debug capability (DbC) is in disabled state to prevent USB device descriptor change while connected 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 file sysfs-bus-pci-drivers-xhci_hcd

This dbc_idVendor attribute lets us change the idVendor field presented in the USB device descriptor by this xhci debug device. Value can only be changed while debug capability (DbC) is in disabled state to prevent USB device descriptor change while connected 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_manufacturer

Defined on file sysfs-bus-pci-drivers-xhci_hcd

The dbc_manufacturer attribute allows to change the manufacturer string descriptor presented by the debug device when a host requests a string descriptor with iManufacturer index. Value can only be changed while debug capability (DbC) is in disabled state to prevent USB device descriptor change while connected to a USB host. The default value is “Linux Foundation”. The field length can be from 1 to 126 characters.

/sys/bus/pci/drivers/xhci_hcd/.../dbc_poll_interval_ms

Defined on file sysfs-bus-pci-drivers-xhci_hcd

This attribute adjust the polling interval used to check for DbC events. Unit is milliseconds. Accepted values range from 0 up to 5000. The default value is 64 ms. This polling interval is used while DbC is enabled but has no active data transfers.

/sys/bus/pci/drivers/xhci_hcd/.../dbc_product

Defined on file sysfs-bus-pci-drivers-xhci_hcd

The dbc_product attribute allows to change the product string descriptor presented by the debug device when a host requests a string descriptor with iProduct index. Index is found in the iProduct field in the device descriptor. Value can only be changed while debug capability (DbC) is in disabled state to prevent USB device descriptor change while connected to a USB host. The default value is “Linux USB Debug Target”. The field length can be from 1 to 126 characters.

/sys/bus/pci/drivers/xhci_hcd/.../dbc_serial

Defined on file sysfs-bus-pci-drivers-xhci_hcd

The dbc_serial attribute allows to change the serial number string descriptor presented by the debug device when a host requests a string descriptor with iSerialNumber index. Index is found in the iSerialNumber field in the device descriptor. Value can only be changed while debug capability (DbC) is in disabled state to prevent USB device descriptor change while connected to a USB host. The default value is “0001”. The field length can be from 1 to 126 characters.

/sys/bus/pci/rescan

Defined on file sysfs-bus-pci

Writing a non-zero value to this attribute will force a rescan of all PCI buses in the system, and re-discover previously removed devices.

/sys/bus/pci/slots/.../module

Defined on file sysfs-bus-pci

This symbolic link points to the PCI hotplug controller driver module that manages the hotplug slot.

/sys/bus/peci/devices/<controller_id>-<device_addr>/remove

Defined on file sysfs-bus-peci

Writing a non-zero value to this attribute will remove the PECI device and any of its children.

/sys/bus/peci/rescan

Defined on file sysfs-bus-peci

Writing a non-zero value to this attribute will initiate scan for PECI devices on all PECI controllers in the system.

/sys/bus/platform/devices/*/frequency

Defined on file sysfs-platform-brcmstb-memc

DDR PHY frequency in Hz.

/sys/bus/platform/devices/*/srpd

Defined on file sysfs-platform-brcmstb-memc

Self Refresh Power Down (SRPD) inactivity timeout counted in internal DDR controller clock cycles. Possible values range from 0 (disable inactivity timeout) to 65535 (0xffff).

/sys/bus/platform/devices/*twl4030-usb/vbus

Defined on file sysfs-platform-twl4030-usb

Read-only status reporting if VBUS (approx 5V) is being supplied by the USB bus.

Possible values: “on”, “off”.

Changes are notified via select/poll.

/sys/bus/platform/devices/.../driver_override

Defined on file sysfs-bus-platform

This file allows the driver for a device to be specified which will override standard OF, ACPI, ID table, and name matching. When specified, only a driver with a name matching the value written to driver_override will have an opportunity to bind to the device. The override is specified by writing a string to the driver_override file (echo vfio-platform > driver_override) and may be cleared with an empty string (echo > driver_override). This returns the device to standard matching rules binding. Writing to driver_override does not automatically unbind the device from its current driver or make any attempt to automatically load the specified driver. If no driver with a matching name is currently loaded in the kernel, the device will not bind to any driver. This also allows devices to opt-out of driver binding using a driver_override name such as “none”. Only a single driver may be specified in the override, there is no support for parsing delimiters.

/sys/bus/platform/devices/.../modalias

Defined on file sysfs-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 file sysfs-bus-platform

The /sys/devices/.../msi_irqs directory contains a variable set of files, with each file being named after a corresponding msi irq vector allocated to that device.

/sys/bus/platform/devices/.../msi_irqs/<N>

Defined on file sysfs-bus-platform

This attribute will show “msi” if <N> is a valid msi irq

/sys/bus/platform/devices/.../numa_node

Defined on file sysfs-bus-platform

This file contains the NUMA node to which the platform device is attached. It won’t be visible if the node is unknown. The value comes from an ACPI _PXM method or a similar firmware source. Initial users for this file would be devices like arm smmu which are populated by arm64 acpi_iort.

/sys/bus/platform/devices/../cfam_reset

Defined on file sysfs-bus-fsi

Provides a means of resetting the cfam that is attached to the FSI device.

/sys/bus/platform/devices/../fsi-master/fsi0/break

Defined on file sysfs-bus-fsi

Sends an FSI BREAK command on a master’s communication link to any connected slaves. A BREAK resets connected device’s logic and preps it to receive further commands from the master.

/sys/bus/platform/devices/../fsi-master/fsi0/rescan

Defined on file sysfs-bus-fsi

Initiates a FSI master scan for all connected slave devices on its links.

/sys/bus/platform/devices/../fsi-master/fsi0/slave@00:00/raw

Defined on file sysfs-bus-fsi

Provides a means of reading/writing a 32 bit value from/to a specified FSI bus address.

/sys/bus/platform/devices/../fsi-master/fsi0/slave@00:00/term

Defined on file sysfs-bus-fsi

Sends an FSI terminate command from the master to its connected slave. A terminate resets the slave’s state machines that control access to the internally connected engines. In addition the slave freezes its internal error register for debugging purposes. This command is also needed to abort any ongoing operation in case of an expired ‘Master Time Out’ timer.

/sys/bus/platform/devices/<HID>/hwmon/hwmonX/<block>/<reg>

Defined on file sysfs-platform-mellanox-pmc

Value of register. This is used to read or reset the registers where various performance statistics are counted for each block. Writing 0 to the sysfs will clear the counter, writing any other value is not allowed.

/sys/bus/platform/devices/<HID>/hwmon/hwmonX/<block>/count_clock

Defined on file sysfs-platform-mellanox-pmc

Use a counter for counting cycles. This is used to repurpose/dedicate any of the counters in the block to counting cycles. Each counter is represented by a bit (bit 0 for counter0, bit1 for counter1 and so on) and setting the corresponding bit will reserve that specific counter for counting cycles and override the event<N> setting.

/sys/bus/platform/devices/<HID>/hwmon/hwmonX/<block>/counter<N>

Defined on file sysfs-platform-mellanox-pmc

Counter value of the event being monitored. This is used to read the counter value of the event which was programmed using event<N>. This is also used to clear or reset the counter value by writing 0 to the counter sysfs.

/sys/bus/platform/devices/<HID>/hwmon/hwmonX/<block>/enable

Defined on file sysfs-platform-mellanox-pmc

Start or stop counters. This is used to start the counters for monitoring the programmed events and also to stop the counters after the desired duration. Writing value 1 will start all the counters in the block, and writing 0 will stop all the counters together.

/sys/bus/platform/devices/<HID>/hwmon/hwmonX/<block>/event<N>

Defined on file sysfs-platform-mellanox-pmc

Event monitored by corresponding counter. This is used to program or read back the event that should be or is currently being monitored by counter<N>.

/sys/bus/platform/devices/<HID>/hwmon/hwmonX/<block>/event_list

Defined on file sysfs-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 with each event.

/sys/bus/platform/devices/<PALC0001 device>/wwan_reset

Defined on file sysfs-driver-dell-dw5826e-reset

Writing to this file triggers a Platform Level Device Reset (PLDR) of the Dell DW5826e WWAN module via an ACPI _DSM method. This can be used to recover the modem when it is in a frozen state and unable to respond to USB commands.

/sys/bus/platform/devices/<dev>/always_powered_in_suspend

Defined on file sysfs-bus-platform-onboard-usb-dev

(RW) Controls whether the USB hub remains always powered during system suspend or not. This attribute is not available for non-hub devices.

/sys/bus/platform/devices/ACPI000E:00/ac_alarm

Defined on file sysfs-devices-platform-ACPI-TAD

(RW) The AC alarm timer value.

Reads return the current AC alarm timer value in seconds or “disabled”, if the AC alarm is not set to wake up the system.

Write a new AC alarm timer value in seconds or “disabled” to it to set the AC alarm timer or to disable it, respectively.

If the AC alarm timer is set through this attribute and it expires, it will immediately wake up the system from the S3 sleep state (and from S4/S5 too if supported) until its status is explicitly cleared via the ac_status attribute.

/sys/bus/platform/devices/ACPI000E:00/ac_policy

Defined on file sysfs-devices-platform-ACPI-TAD

(RW) The AC alarm expired timer wake policy (see ACPI 6.2, Section 9.18 for details).

Reads return the current expired timer wake delay for the AC alarm timer or “never”, if the policy is to discard AC timer wakeups if the system is on DC power.

Write a new expired timer wake delay for the AC alarm timer in seconds or “never” to it to set the expired timer wake delay for the AC alarm timer or to set its expired wake policy to discard wakeups if the system is on DC power, respectively.

/sys/bus/platform/devices/ACPI000E:00/ac_status

Defined on file sysfs-devices-platform-ACPI-TAD

(RW) The AC alarm status.

Reads return a hexadecimal bitmask representing the AC alarm timer status with the following meaning of bits (see ACPI 6.2, Section 9.18.5):

Bit(0):

The timer has expired if set.

Bit(1):

The timer has woken up the system from a sleep state (S3 or S4/S5 if supported) if set.

The other bits are reserved.

Reads also cause the AC alarm timer status to be reset.

Another way to reset the status of the AC alarm timer is to write (the number) 0 to this file.

If the status return value indicates that the timer has expired, it will immediately wake up the system from the S3 sleep state (and from S4/S5 too if supported) until its status is explicitly cleared through this attribute.

/sys/bus/platform/devices/ACPI000E:00/caps

Defined on file sysfs-devices-platform-ACPI-TAD

(RO) Hexadecimal bitmask of the TAD attributes are reported by the platform firmware (see ACPI 6.2, section 9.18.2):

BIT(0):

AC wakeup implemented if set

BIT(1):

DC wakeup implemented if set

BIT(2):

Get/set real time features implemented if set

BIT(3):

Real time accuracy in milliseconds if set

BIT(4):

Correct status reported for wakeups from S4/S5 if set

BIT(5):

The AC timer wakes up from S4 if set

BIT(6):

The AC timer wakes up from S5 if set

BIT(7):

The DC timer wakes up from S4 if set

BIT(8):

The DC timer wakes up from S5 if set

The other bits are reserved.

/sys/bus/platform/devices/ACPI000E:00/dc_alarm

Defined on file sysfs-devices-platform-ACPI-TAD

(RW,optional) The DC alarm timer value.

This attribute is only present if the TAD supports a separate DC timer.

It is analogous to the ac_alarm attribute.

/sys/bus/platform/devices/ACPI000E:00/dc_policy

Defined on file sysfs-devices-platform-ACPI-TAD

(RW,optional) The DC alarm expired timer wake policy.

This attribute is only present if the TAD supports a separate DC timer.

It is analogous to the ac_policy attribute.

/sys/bus/platform/devices/ACPI000E:00/dc_status

Defined on file sysfs-devices-platform-ACPI-TAD

(RW,optional) The DC alarm status.

This attribute is only present if the TAD supports a separate DC timer.

It is analogous to the ac_status attribute.

/sys/bus/platform/devices/GGL0001:*/BINF.2

/sys/bus/platform/devices/GOOG0016:*/BINF.2

Defined on file sysfs-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 file sysfs-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 file sysfs-driver-chromeos-acpi

Returns switch position for Chrome OS specific hardware switches when the firmware is booted (integer).

0

No changes.

2

Recovery button was pressed.

4

Recovery button was pressed (EC firmware).

32

Developer switch was enabled.

512

Firmware write protection was disabled.

/sys/bus/platform/devices/GGL0001:*/FMAP

/sys/bus/platform/devices/GOOG0016:*/FMAP

Defined on file sysfs-driver-chromeos-acpi

Returns physical memory address of the start of the main processor firmware flashmap.

/sys/bus/platform/devices/GGL0001:*/FRID

/sys/bus/platform/devices/GOOG0016:*/FRID

Defined on file sysfs-driver-chromeos-acpi

Returns firmware version for the read-only portion of the main processor firmware.

/sys/bus/platform/devices/GGL0001:*/FWID

/sys/bus/platform/devices/GOOG0016:*/FWID

Defined on file sysfs-driver-chromeos-acpi

Returns firmware version for the rewritable portion of the main processor firmware.

/sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.0

/sys/bus/platform/devices/GOOG0016:*/GPIO.X/GPIO.0

Defined on file sysfs-driver-chromeos-acpi

Returns type of the GPIO signal for the Chrome OS specific GPIO assignments (integer).

1

Recovery button.

2

Developer mode switch.

3

Firmware write protection switch.

256 to 511

Debug header GPIO 0 to GPIO 255.

/sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.1

/sys/bus/platform/devices/GOOG0016:*/GPIO.X/GPIO.1

Defined on file sysfs-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 file sysfs-driver-chromeos-acpi

Returns the GPIO number on the specified GPIO controller.

/sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.3

/sys/bus/platform/devices/GOOG0016:*/GPIO.X/GPIO.3

Defined on file sysfs-driver-chromeos-acpi

Returns name of the GPIO controller.

/sys/bus/platform/devices/GGL0001:*/HWID

/sys/bus/platform/devices/GOOG0016:*/HWID

Defined on file sysfs-driver-chromeos-acpi

Returns hardware ID for the Chromebook.

/sys/bus/platform/devices/GGL0001:*/MECK

/sys/bus/platform/devices/GOOG0016:*/MECK

Defined on file sysfs-driver-chromeos-acpi

Returns the SHA-1 or SHA-256 hash that is read out of the Management Engine extended registers during boot. The hash is exported via ACPI so the OS can verify that the Management Engine firmware has not changed. If Management Engine is not present, or if the firmware was unable to read the extended registers, this buffer size can be zero.

/sys/bus/platform/devices/GGL0001:*/VBNV.0

/sys/bus/platform/devices/GOOG0016:*/VBNV.0

Defined on file sysfs-driver-chromeos-acpi

Returns offset in CMOS bank 0 of the verified boot non-volatile storage block, counting from the first writable CMOS byte (that is, ‘offset = 0’ is the byte following the 14 bytes of clock data).

/sys/bus/platform/devices/GGL0001:*/VBNV.1

/sys/bus/platform/devices/GOOG0016:*/VBNV.1

Defined on file sysfs-driver-chromeos-acpi

Return the size in bytes of the verified boot non-volatile storage block.

/sys/bus/platform/devices/GGL0001:*/VDAT

/sys/bus/platform/devices/GOOG0016:*/VDAT

Defined on file sysfs-driver-chromeos-acpi

Returns the verified boot data block shared between the firmware verification step and the kernel verification step (hex dump).

/sys/bus/platform/devices/GOOG000C\:00/boot_on_ac

Defined on file sysfs-platform-wilco-ec

Boot on AC is a policy which makes the device boot from S5 when AC power is connected. This is useful for users who want to run their device headless or with a dock.

Input should be parseable by kstrtou8() to 0 or 1.

/sys/bus/platform/devices/GOOG000C\:00/build_date

Defined on file sysfs-platform-wilco-ec

Display Wilco Embedded Controller firmware build date. Output will a MM/DD/YY string.

/sys/bus/platform/devices/GOOG000C\:00/build_revision

Defined on file sysfs-platform-wilco-ec

Display Wilco Embedded Controller build revision. Output will a version string be similar to the example below: d2592cae0

/sys/bus/platform/devices/GOOG000C\:00/model_number

Defined on file sysfs-platform-wilco-ec

Display Wilco Embedded Controller model number. Output will a version string be similar to the example below: 08B6

/sys/bus/platform/devices/GOOG000C\:00/usb_charge

Defined on file sysfs-platform-wilco-ec

Control the USB PowerShare Policy. USB PowerShare is a policy which affects charging via the special USB PowerShare port (marked with a small lightning bolt or battery icon) when in low power states:

  • In S0, the port will always provide power.

  • In S0ix, if usb_charge is enabled, then power will be supplied 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 supplied to 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 file sysfs-platform-wilco-ec

Display Wilco Embedded Controller firmware version. The format of the string is x.y.z. Where x is major, y is minor and z is the build number. For example: 95.00.06

/sys/bus/platform/devices/INOU0000:XX/breathing_in_suspend

Defined on file sysfs-driver-uniwill-laptop

Causes the integrated lightbar to display a breathing animation when the machine has been suspended and is running on AC power. Writing “1”/”0” into this file enables/disables this functionality.

Reading this file returns the current status of the breathing animation functionality.

/sys/bus/platform/devices/INOU0000:XX/ctgp_offset

Defined on file sysfs-driver-uniwill-laptop

Allows userspace applications to set the configurable TGP offset on top of the base TGP. Base TGP and max TGP and therefore the max cTGP offset are device specific. Note that setting the maximum cTGP leaves no window open for Dynamic Boost as Dynamic Boost also can not go over max TGP. Setting the cTGP to maximum is effectively disabling Dynamic Boost and telling the device to always prioritize the GPU over the CPU.

Reading this file returns the current configurable TGP offset.

/sys/bus/platform/devices/INOU0000:XX/fn_lock

Defined on file sysfs-driver-uniwill-laptop

Allows userspace applications to enable/disable the FN lock feature of 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 file sysfs-driver-uniwill-laptop

Forces the integrated lightbar to display a rainbow animation when the machine is not suspended. Writing “1”/”0” into this file enables/disables this functionality.

Reading this file returns the current status of the rainbow animation functionality.

/sys/bus/platform/devices/INOU0000:XX/super_key_enable

Defined on file sysfs-driver-uniwill-laptop

Allows userspace applications to enable/disable the super key of the integrated keyboard by writing “1”/”0” into this file.

Reading this file returns the current enable status of the super key.

/sys/bus/platform/devices/INOU0000:XX/touchpad_toggle_enable

Defined on file sysfs-driver-uniwill-laptop

Allows userspace applications to enable/disable the touchpad toggle functionality of the integrated touchpad by writing “1”/”0” into this file.

Reading this file returns the current enable status of the touchpad toggle functionality.

/sys/bus/platform/devices/INOU0000:XX/usb_c_power_priority

Defined on file sysfs-driver-uniwill-laptop

Allows userspace applications to choose the USB-C power distribution profile between one that offers a bigger share of the power to the battery and one that offers more of it to the CPU. Writing “charging”/”performance” into this file selects the respective profile.

Reading this file returns the profile names with the currently active one in brackets.

/sys/bus/platform/devices/INT3407:00/dptf_power/adapter_rating_mw

Defined on file sysfs-platform-dptf

(RO) Adapter rating in milliwatts (the maximum Adapter power). Must be 0 if no AC Adaptor is plugged in.

/sys/bus/platform/devices/INT3407:00/dptf_power/battery_steady_power

Defined on file sysfs-platform-dptf

(RO) The maximum sustained power for battery in milliwatts.

/sys/bus/platform/devices/INT3407:00/dptf_power/charger_type

Defined on file sysfs-platform-dptf

(RO) The charger type - Traditional, Hybrid or NVDC.

/sys/bus/platform/devices/INT3407:00/dptf_power/max_platform_power_mw

Defined on file sysfs-platform-dptf

(RO) Maximum platform power that can be supported by the battery in milliwatts.

/sys/bus/platform/devices/INT3407:00/dptf_power/platform_power_source

Defined on file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-platform-dptf

(RO) The battery discharge current capability obtained from battery fuel gauge in milli Amps.

/sys/bus/platform/devices/INT3532:00/dptf_battery/high_freq_impedance_mohm

Defined on file sysfs-platform-dptf

(RO) The high frequency impedance value that can be obtained from battery fuel gauge in milli Ohms.

/sys/bus/platform/devices/INT3532:00/dptf_battery/max_platform_power_mw

Defined on file sysfs-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 file sysfs-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 file sysfs-platform-dptf

(RO) The no-load voltage that can be obtained from battery fuel gauge in milli volts.

/sys/bus/platform/devices/INTC1045:00/pch_fivr_switch_frequency/fivr_switching_fault_status

Defined on file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 (for settings 0x01 thru 0x1C) 1 LSB = 0.2% increase in spread (for settings 0x1E thru 0x3F)

[8]

When set to 1, enables spread spectrum clock

[9]

0: Triangle mode. FFC frequency walks around the Fcenter in a linear fashion 1: Random walk mode. FFC frequency changes randomly within the SSC (Spread spectrum clock) range

[10]

0: No white noise. 1: Add white noise to spread waveform

[11]

When 1, future writes are ignored.

/sys/bus/platform/devices/INTC1092:00/intc_data

Defined on file sysfs-driver-intc_sar

This sysfs entry is used to retrieve Dynamic SAR information emitted/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 separated by a single space. This information can then be pushed to a WWAN modem that uses this to control the transmit signal level using the Band/Antenna/SAR table index information. These parameters are derived/decided by aggregating device-mode like laptop/tablet/clamshell etc. and the proximity-sensor data available to the embedded controller on given host. The regulatory mode configured on Dynamic SAR driver also influences these values.

The userspace applications can poll for changes to this file using POLLPRI event on file-descriptor (fd) obtained by opening this sysfs entry. Application can then read this information from the sysfs node and consume the given information.

/sys/bus/platform/devices/INTC1092:00/intc_reg

Defined on file sysfs-driver-intc_sar

Specific Absorption Rate (SAR) regulatory mode is typically derived based on information like mcc (Mobile Country Code) and mnc (Mobile Network Code) that is available for the currently attached LTE network. A userspace application is required to set the current SAR regulatory mode on the Dynamic SAR driver using this sysfs node. Such an application can also read back using this sysfs node, the currently configured regulatory mode value from 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 file sysfs-platform-mellanox-bootctl

The file used to access the BlueField boot fifo.

/sys/bus/platform/devices/MLNXBF04:00/lifecycle_state

Defined on file sysfs-platform-mellanox-bootctl

The Life-cycle state of the SoC, which could be one of the following 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 file sysfs-platform-mellanox-bootctl

The “mfg_lock” sysfs attribute is write-only. A successful write to this attribute will latch the board-level attributes into EEPROM, making them read-only.

/sys/bus/platform/devices/MLNXBF04:00/modl

Defined on file sysfs-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 file sysfs-platform-mellanox-bootctl

The “oob_mac” sysfs attribute holds the MAC address for the out-of-band 1Gbps Ethernet port. This MAC address is provided on a board-level label.

/sys/bus/platform/devices/MLNXBF04:00/opn

Defined on file sysfs-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 file sysfs-platform-mellanox-bootctl

The watchdog setting in seconds for the next booting. It’s used to reboot the chip and recover it to the old state if the new boot partition fails.

/sys/bus/platform/devices/MLNXBF04:00/reset_action

Defined on file sysfs-platform-mellanox-bootctl

The source of the boot stream for the next reset. It could be one 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 file sysfs-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 file sysfs-platform-mellanox-bootctl

The file used to write BlueField boot log with the format “[INFO|WARN|ERR|ASSERT ]<msg>”. Log level ‘INFO’ is used by default if not specified.

/sys/bus/platform/devices/MLNXBF04:00/rtc_battery

Defined on file sysfs-platform-mellanox-bootctl

The “rtc_battery” sysfs attribute is read-only. A successful read from this attribute returns the status of the board’s RTC battery. The RTC battery status register is also cleared upon successful read operation.

/sys/bus/platform/devices/MLNXBF04:00/second_reset_action

Defined on file sysfs-platform-mellanox-bootctl

Update the source of the boot stream after next reset. It could be one of the following values and will be applied after next reset.

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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-platform-ideapad-laptop

Control the power of camera module. 1 means on, 0 means off.

/sys/bus/platform/devices/VPC2004:*/fan_mode

Defined on file sysfs-platform-ideapad-laptop

Change fan mode There are four available modes:

  • 0 -> Super Silent Mode

  • 1 -> Standard Mode

  • 2 -> Dust Cleaning

  • 4 -> Efficient Thermal Dissipation Mode

/sys/bus/platform/devices/VPC2004:*/fn_lock

Defined on file sysfs-platform-ideapad-laptop

Control fn-lock mode.

  • 1 -> Switched On

  • 0 -> Switched Off

For example:

# echo "0" >  \
/sys/bus/pci/devices/0000:00:1f.0/PNP0C09:00/VPC2004:00/fn_lock

/sys/bus/platform/devices/VPC2004:*/touchpad

Defined on file sysfs-platform-ideapad-laptop

Control touchpad mode.
  • 1 -> Switched On

  • 0 -> Switched Off

/sys/bus/platform/devices/VPC2004:*/usb_charging

Defined on file sysfs-platform-ideapad-laptop

Controls whether the “always on USB charging” feature is enabled or not. This feature enables charging USB devices even if the computer is not turned on.

/sys/bus/platform/devices/[..]/fsi-master-gpio/external_mode

Defined on file sysfs-driver-fsi-master-gpio

Controls access arbitration for GPIO-based FSI master. A value of 0 (the default) sets normal mode, where the driver performs FSI bus transactions, 1 sets external mode, where the FSI bus is driven externally (for example, by a debug device).

/sys/bus/platform/devices/ci_hdrc.0/inputs/a_bus_drop

Defined on file sysfs-platform-chipidea-usb-otg

Can be set and read The a_bus_drop(A-device bus drop) input is 1 when the application running on the A-device wants to power down the bus, and is 0 otherwise, When a_bus_drop is 1, then the a_bus_req shall be 0.

Valid values are “1” and “0”.

Reading: returns 1 if the bus is off(vbus is turned off) by

A-device, otherwise 0.

/sys/bus/platform/devices/ci_hdrc.0/inputs/a_bus_req

Defined on file sysfs-platform-chipidea-usb-otg

Can be set and read. Set a_bus_req(A-device bus request) input to be 1 if the application running on the A-device wants to use the bus, and to be 0 when the application no longer wants to use the bus(or wants to work as peripheral). a_bus_req can also be set to 1 by kernel in response to remote wakeup signaling from the B-device, the A-device should decide to resume the bus.

Valid values are “1” and “0”.

Reading: returns 1 if the application running on the A-device is using the bus as host role, otherwise 0.

/sys/bus/platform/devices/ci_hdrc.0/inputs/a_clr_err

Defined on file sysfs-platform-chipidea-usb-otg

Only can be set. The a_clr_err(A-device Vbus error clear) input is used to clear vbus error, then A-device will power down the bus.

Valid value is “1”

/sys/bus/platform/devices/ci_hdrc.0/inputs/b_bus_req

Defined on file sysfs-platform-chipidea-usb-otg

Can be set and read. The b_bus_req(B-device bus request) input is 1 during the time that the application running on the B-device wants to use the bus as host, and is 0 when the application no longer wants to work as host and decides to switch back to be peripheral.

Valid values are “1” and “0”.

Reading: returns if the application running on the B device is using the bus as host role, otherwise 0.

/sys/bus/platform/devices/ci_hdrc.0/role

Defined on file sysfs-platform-chipidea-usb2

When read, it returns string “gadget” or “host”, indicating the 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 file sysfs-platform-dfl-fme

Read-only. It returns Bitstream (static FPGA region) identifier number, which includes the detailed version and other information of this static FPGA region.

/sys/bus/platform/devices/dfl-fme.0/bitstream_metadata

Defined on file sysfs-platform-dfl-fme

Read-only. It returns Bitstream (static FPGA region) meta data, which includes the synthesis date, seed and other information of this static FPGA region.

/sys/bus/platform/devices/dfl-fme.0/cache_size

Defined on file sysfs-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 file sysfs-platform-dfl-fme

Read-only. It returns catastrophic and fatal errors detected.

/sys/bus/platform/devices/dfl-fme.0/errors/first_error

Defined on file sysfs-platform-dfl-fme

Read-only. Read this file to get the first error detected by hardware.

/sys/bus/platform/devices/dfl-fme.0/errors/fme_errors

Defined on file sysfs-platform-dfl-fme

Read-Write. Read this file to get errors detected on FME. Write this file to clear errors logged in fme_errors. Write fails with -EINVAL if input parsing fails or input error code doesn’t match.

/sys/bus/platform/devices/dfl-fme.0/errors/inject_errors

Defined on file sysfs-platform-dfl-fme

Read-Write. Read this file to check errors injected. Write this file to inject errors for testing purpose. Write fails with -EINVAL if input parsing fails or input inject error code isn’t supported.

/sys/bus/platform/devices/dfl-fme.0/errors/next_error

Defined on file sysfs-platform-dfl-fme

Read-only. Read this file to get the second error detected by hardware.

/sys/bus/platform/devices/dfl-fme.0/errors/nonfatal_errors

Defined on file sysfs-platform-dfl-fme

Read-only. It returns non-fatal errors detected.

/sys/bus/platform/devices/dfl-fme.0/errors/pcie0_errors

Defined on file sysfs-platform-dfl-fme

Read-Write. Read this file for errors detected on pcie0 link. Write this file to clear errors logged in pcie0_errors. Write fails with -EINVAL if input parsing fails or input error code doesn’t match.

/sys/bus/platform/devices/dfl-fme.0/errors/pcie1_errors

Defined on file sysfs-platform-dfl-fme

Read-Write. Read this file for errors detected on pcie1 link. Write this file to clear errors logged in pcie1_errors. Write fails with -EINVAL if input parsing fails or input error code doesn’t match.

/sys/bus/platform/devices/dfl-fme.0/fabric_version

Defined on file sysfs-platform-dfl-fme

Read-only. It returns fabric version of this FPGA device. Userspace applications need this information to select best data channels per different fabric design.

/sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/name

Defined on file sysfs-platform-dfl-fme

Read-Only. Read this file to get the name of hwmon device, it supports 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 file sysfs-platform-dfl-fme

Read-Write. Read this file to get current hardware power threshold2 in uW. If power consumption rises at or above this 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 will be round down per Watts (< 1 watts part will be discarded) and clamped 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 file sysfs-platform-dfl-fme

Read-only. It returns 1 if power consumption is currently at or above hardware threshold2 (see ‘power1_crit’), otherwise 0.

/sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/power1_fpga_limit

Defined on file sysfs-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 file sysfs-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 file sysfs-platform-dfl-fme

Read-only. Read this file to get current Latency Tolerance Reporting (ltr) value. It returns 1 if all Accelerated Function Units (AFUs) can tolerate latency >= 40us for memory access or 0 if any AFU is latency sensitive (< 40us).

/sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/power1_max

Defined on file sysfs-platform-dfl-fme

Read-Write. Read this file to get current hardware power threshold1 in uW. If power consumption rises at or above this 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 will be round down per Watts (< 1 watts part will be discarded) and clamped 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 file sysfs-platform-dfl-fme

Read-only. It returns 1 if power consumption is currently at or above hardware threshold1 (see ‘power1_max’), otherwise 0.

/sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/power1_xeon_limit

Defined on file sysfs-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 file sysfs-platform-dfl-fme

Read-Only. It returns hardware threshold2 temperature in millidegrees Celsius. If temperature rises at or above this threshold, hardware starts 100% throttling.

/sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/temp1_crit_alarm

Defined on file sysfs-platform-dfl-fme

Read-only. It returns 1 if temperature is currently at or above hardware threshold2 (see ‘temp1_crit’), otherwise 0.

/sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/temp1_emergency

Defined on file sysfs-platform-dfl-fme

Read-Only. It returns hardware trip threshold temperature in millidegrees Celsius. If temperature rises at or above this threshold, a fatal event will be triggered to board management controller (BMC) to shutdown FPGA.

/sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/temp1_input

Defined on file sysfs-platform-dfl-fme

Read-Only. It returns FPGA device temperature in millidegrees Celsius.

/sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/temp1_max

Defined on file sysfs-platform-dfl-fme

Read-Only. It returns hardware threshold1 temperature in millidegrees Celsius. If temperature rises at or above this threshold, hardware starts 50% or 90% throttling (see ‘temp1_max_policy’).

/sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/temp1_max_alarm

Defined on file sysfs-platform-dfl-fme

Read-only. It returns 1 if temperature is currently at or above hardware threshold1 (see ‘temp1_max’), otherwise 0.

/sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/temp1_max_policy

Defined on file sysfs-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 file sysfs-platform-dfl-fme

Read-only. One DFL FPGA device may have more than 1 port/Accelerator Function Unit (AFU). It returns the number of ports on the FPGA device when read it.

/sys/bus/platform/devices/dfl-fme.0/socket_id

Defined on file sysfs-platform-dfl-fme

Read-only. It returns socket_id to indicate which socket this FPGA belongs to, only valid for integrated solution. User only needs this information, in case standard numa node can’t provide correct information.

/sys/bus/platform/devices/dfl-port.0/afu_id

Defined on file sysfs-platform-dfl-port

Read-only. User can program different PR bitstreams to FPGA Accelerator Function Unit (AFU) for different functions. It returns uuid which could be used to identify which PR bitstream is programmed in this AFU.

/sys/bus/platform/devices/dfl-port.0/ap1_event

Defined on file sysfs-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 this file to clear AP1 event.

/sys/bus/platform/devices/dfl-port.0/ap2_event

Defined on file sysfs-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 this file to clear AP2 event.

/sys/bus/platform/devices/dfl-port.0/errors/errors

Defined on file sysfs-platform-dfl-port

Read-Write. Read this file to get errors detected on port and Accelerated Function Unit (AFU). Write error code to this file to clear errors. Write fails with -EINVAL if input parsing fails or input error code doesn’t match. Write fails with -EBUSY or -ETIMEDOUT if error can’t be cleared as hardware in low power state (-EBUSY) or not respoding (-ETIMEDOUT).

/sys/bus/platform/devices/dfl-port.0/errors/first_error

Defined on file sysfs-platform-dfl-port

Read-only. Read this file to get the first error detected by hardware.

/sys/bus/platform/devices/dfl-port.0/errors/first_malformed_req

Defined on file sysfs-platform-dfl-port

Read-only. Read this file to get the first malformed request captured by hardware.

/sys/bus/platform/devices/dfl-port.0/id

Defined on file sysfs-platform-dfl-port

Read-only. It returns id of this port. One DFL FPGA device may have more than one port. Userspace could use this id to distinguish different ports under same FPGA device.

/sys/bus/platform/devices/dfl-port.0/ltr

Defined on file sysfs-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 it to 0 if it is latency sensitive.

/sys/bus/platform/devices/dfl-port.0/power_state

Defined on file sysfs-platform-dfl-port

Read-only. It reports the APx (AFU Power) state, different APx means different throttling level. When reading this file, it returns “0” - Normal / “1” - AP1 / “2” - AP2 / “6” - AP6.

/sys/bus/platform/devices/dfl-port.0/userclk_freqcmd

Defined on file sysfs-platform-dfl-port

Write-only. User writes command to this interface to set userclock to AFU.

/sys/bus/platform/devices/dfl-port.0/userclk_freqcntrcmd

Defined on file sysfs-platform-dfl-port

Write-only. User writes command to this interface to set userclock counter.

/sys/bus/platform/devices/dfl-port.0/userclk_freqcntrsts

Defined on file sysfs-platform-dfl-port

Read-only. Read this file to get the status of issued command to userclck_freqcntrcmd.

/sys/bus/platform/devices/dfl-port.0/userclk_freqsts

Defined on file sysfs-platform-dfl-port

Read-only. Read this file to get the status of issued command to userclck_freqcmd.

/sys/bus/platform/devices/occ-hwmon.X/ffdc

Defined on file sysfs-bus-platform-devices-occ-hwmon

Contains the First Failure Data Capture from the SBEFIFO hardware, if there is any from a previous transfer. Otherwise, the file is empty. The data is cleared when it’s been completely read by a user. As the name suggests, only the data from the first error is saved, until it’s cleared upon read. The OCC hwmon driver, running on a Baseboard Management Controller (BMC), communicates with POWER9 and up processors over the Self-Boot Engine (SBE) FIFO. In many error conditions, the SBEFIFO will return error data indicating the type of error and system state, etc.

/sys/bus/platform/devices/smpro-errmon.*/[error|warn]_[smpro|pmpro]

Defined on file sysfs-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 section 5.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 file sysfs-bus-platform-devices-ampere-smpro

(RO) Contains the 48-byte Ampere (Vendor-Specific) Error Record printed in hex format according to the table below:

Offset

Field

Size (byte)

Description

00

Error Type

1

See the table below for details

01

Subtype

1

See the table below for details

02

Instance

2

See the 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_ue
880807001e004010401040101500000001004010401040100c0000000000000000000000000000000000000000000000

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 Error CE: Correct-able Error

For details, see section 3.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 file sysfs-bus-platform-devices-ampere-smpro

(RO) Contains the detail information in case of VRD/DIMM warning/hot events in 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 2X REFRESH RATE

/sys/bus/platform/devices/smpro-errmon.*/event_dimm_2x_refresh

DIMM 2x refresh rate event in high temp

For more details, see section 5.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 file sysfs-bus-platform-devices-ampere-smpro

(RO) The sysfs returns the 2-byte DIMM failure syndrome data for slot 0-15 if it failed to initialize.

For more details, see section 5.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 file sysfs-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 file sysfs-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 file sysfs-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 section 5.11 Boot Stage Register Definitions and section 6. Processor Boot Progress Codes, Altra Family Soc BMC Interface Specification.

/sys/bus/platform/devices/tahvo-usb/otg_mode

Defined on file sysfs-platform-tahvo-usb

Set or read the current OTG mode. Valid values are “host” and “peripheral”.

Reading: returns the current mode.

/sys/bus/platform/devices/tahvo-usb/vbus

Defined on file sysfs-platform-tahvo-usb

Read the current VBUS state.

Reading: returns “on” or “off”.

/sys/bus/platform/devices/xxx/version

Defined on file sysfs-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 file sysfs-amd-pmc

Reading this file reports the version of the firmware loaded to System Management Unit (SMU) contained in AMD CPUs and APUs.

/sys/bus/platform/drivers/amd_pmc/*/smu_program

Defined on file sysfs-amd-pmc

Reading this file reports the program corresponding to the SMU firmware version. The program field is used to disambiguate two APU/CPU models that can share the same firmware binary.

/sys/bus/platform/drivers/amd_x3d_vcache/AMDI0101:00/amd_x3d_mode

Defined on file sysfs-bus-platform-drivers-amd_x3d_vcache

(RW) AMD 3D V-Cache optimizer allows users to switch CPU core rankings dynamically.

This file switches between these two modes: - “frequency” cores within the faster CCD are prioritized before those in the slower CCD. - “cache” cores within the larger L3 CCD are prioritized before those in the smaller L3 CCD.

/sys/bus/platform/drivers/aspeed-uart-routing/\*/io\*

Defined on file sysfs-driver-aspeed-uart-routing

Selects the RX source of IOx serial port. The current selection will be marked by brackets “[]”.

Users:

OpenBMC. Proposed changes should be mailed to openbmc@lists.ozlabs.org

/sys/bus/platform/drivers/aspeed-uart-routing/\*/uart\*

Defined on file sysfs-driver-aspeed-uart-routing

Selects the RX source of the UARTx device.

When read, each file shows the list of available options with currently selected option marked by brackets “[]”. The list of available options depends on the selected file.

e.g. cat /sys/bus/platform/drivers/aspeed-uart-routing/*.uart_routing/uart1 [io1] io2 io3 io4 uart2 uart3 uart4 io6

In this case, UART1 gets its input from IO1 (physical serial port 1).

Users:

OpenBMC. Proposed changes should be mailed to openbmc@lists.ozlabs.org

/sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/bmc_canceled_csks

Defined on file sysfs-driver-intel-m10-bmc-sec-update

Read only. Returns a list of indices for canceled code signing keys for the BMC. The standard bitmap list format is used (e.g. “1,2-6,9”).

/sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/bmc_root_entry_hash

Defined on file sysfs-driver-intel-m10-bmc-sec-update

Read only. Returns the root entry hash for the BMC image if one is programmed, else it returns the string: “hash not programmed”. This file is only visible if the underlying device supports it. Format: string.

/sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/flash_count

Defined on file sysfs-driver-intel-m10-bmc-sec-update

Read only. Returns number of times the secure update staging area has been flashed. Format: “%u”.

/sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/pr_canceled_csks

Defined on file sysfs-driver-intel-m10-bmc-sec-update

Read only. Returns a list of indices for canceled code signing keys for the partial reconfiguration region. The standard 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 file sysfs-driver-intel-m10-bmc-sec-update

Read only. Returns the root entry hash for the partial reconfiguration region if one is programmed, else it returns the string: “hash not programmed”. This file is only visible if the underlying device supports it. Format: string.

/sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/sr_canceled_csks

Defined on file sysfs-driver-intel-m10-bmc-sec-update

Read only. Returns a list of indices for canceled code signing keys for the static region. The standard bitmap list format is used (e.g. “1,2-6,9”).

/sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/sr_root_entry_hash

Defined on file sysfs-driver-intel-m10-bmc-sec-update

Read only. Returns the root entry hash for the static region if one is programmed, else it returns the string: “hash not programmed”. This file is only visible if the underlying device supports it. Format: string.

/sys/bus/platform/drivers/panfrost/.../profiling

Defined on file sysfs-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’s timestamp and cycle counter registers.

/sys/bus/platform/drivers/panthor/.../profiling

Defined on file sysfs-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 file sysfs-driver-eud

The Enable/Disable sysfs interface for Embedded USB Debugger(EUD). This enables and disables the EUD based on a 1 or a 0 value. By enabling EUD, the user is able to activate the mini-usb hub of EUD for debug and trace capabilities.

/sys/bus/platform/drivers/ufshcd/*/attributes/active_icc_level

/sys/bus/platform/devices/*.ufs/attributes/active_icc_level

Defined on file sysfs-driver-ufs

This file provides the active icc level UFS device attribute. The full information about the attribute could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/bkops_status

/sys/bus/platform/devices/*.ufs/attributes/bkops_status

Defined on file sysfs-driver-ufs

This file provides the background operations status UFS device attribute. The full information about the attribute could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/boot_lun_enabled

/sys/bus/platform/devices/*.ufs/attributes/boot_lun_enabled

Defined on file sysfs-driver-ufs

This file provides the boot lun enabled UFS device attribute. The full information about the attribute could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/configuration_descriptor_lock

/sys/bus/platform/devices/*.ufs/attributes/configuration_descriptor_lock

Defined on file sysfs-driver-ufs

This file shows whether the configuration descriptor is locked. The full information about the attribute could be found at UFS specifications 2.1. The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/current_power_mode

/sys/bus/platform/devices/*.ufs/attributes/current_power_mode

Defined on file sysfs-driver-ufs

This file provides the current power mode UFS device attribute. The full information about the attribute could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/exception_event_control

/sys/bus/platform/devices/*.ufs/attributes/exception_event_control

Defined on file sysfs-driver-ufs

This file provides the exception event control UFS device attribute. The full information about the attribute could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/exception_event_status

/sys/bus/platform/devices/*.ufs/attributes/exception_event_status

Defined on file sysfs-driver-ufs

This file provides the exception event status UFS device attribute. The full information about the attribute could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/ffu_status

/sys/bus/platform/devices/*.ufs/attributes/ffu_status

Defined on file sysfs-driver-ufs

This file provides the ffu status UFS device attribute. The full information about the attribute could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/max_data_in_size

/sys/bus/platform/devices/*.ufs/attributes/max_data_in_size

Defined on file sysfs-driver-ufs

This file shows the maximum data size in a DATA IN UPIU. The full information about the attribute could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/max_data_out_size

/sys/bus/platform/devices/*.ufs/attributes/max_data_out_size

Defined on file sysfs-driver-ufs

This file shows the maximum number of bytes that can be requested with a READY TO TRANSFER UPIU. The full information about the attribute could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/max_number_of_rtt

/sys/bus/platform/devices/*.ufs/attributes/max_number_of_rtt

Defined on file sysfs-driver-ufs

This file provides the maximum current number of outstanding RTTs in device that is allowed. bMaxNumOfRTT is a read-write persistent attribute and is equal to two after device manufacturing. It shall not be set to a value greater than bDeviceRTTCap value, and it may be set only when the hw queues are empty.

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 file sysfs-driver-ufs

This file provides the out of order data transfer enabled UFS device attribute. The full information about the attribute could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/psa_data_size

/sys/bus/platform/devices/*.ufs/attributes/psa_data_size

Defined on file sysfs-driver-ufs

This file shows the amount of data that the host plans to load to all logical units in pre-soldering state. The full information about the attribute could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/psa_state

/sys/bus/platform/devices/*.ufs/attributes/psa_state

Defined on file sysfs-driver-ufs

This file show the PSA feature status. The full information about the attribute could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/purge_status

/sys/bus/platform/devices/*.ufs/attributes/purge_status

Defined on file sysfs-driver-ufs

This file provides the purge operation status UFS device attribute. The full information about the attribute could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/reference_clock_frequency

/sys/bus/platform/devices/*.ufs/attributes/reference_clock_frequency

Defined on file sysfs-driver-ufs

This file provides the reference clock frequency UFS device attribute. The full information about the attribute could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/attributes/wb_avail_buf

/sys/bus/platform/devices/*.ufs/attributes/wb_avail_buf

Defined on file sysfs-driver-ufs

This entry shows the amount of unused WriteBooster buffer available.

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 file sysfs-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 file sysfs-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 file sysfs-driver-ufs

This entry shows an indication of the WriteBooster Buffer lifetime 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 file sysfs-driver-ufs

wb_resize_hint indicates hint information about which type of resize for 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 file sysfs-driver-ufs

The host can check the resize operation status of the WriteBooster buffer 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 file sysfs-driver-ufs

The group represents the effective capabilities of the host-device pair. i.e. the capabilities which are enabled in the driver for the specific host controller, supported by the host controller and are supported and/or have compatible configuration on the device side.

/sys/bus/platform/drivers/ufshcd/*/capabilities/clock_scaling

/sys/bus/platform/devices/*.ufs/capabilities/clock_scaling

Defined on file sysfs-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 file sysfs-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 file sysfs-driver-ufs

This attribute shows and sets the number of milliseconds of idle time before the UFS driver starts to perform clock gating. This can prevent 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 file sysfs-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 writing 1 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 file sysfs-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 writing 1 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 file sysfs-driver-ufs

Report the number of times a critical health event has been reported by a UFS device. Further insight into the specific issue 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 file sysfs-driver-ufs

This file shows the background operations termination latency. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/boot_enable

/sys/bus/platform/devices/*.ufs/device_descriptor/boot_enable

Defined on file sysfs-driver-ufs

This file shows value that indicates whether the device is enabled for boot. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/descriptor_access_enable

/sys/bus/platform/devices/*.ufs/device_descriptor/descriptor_access_enable

Defined on file sysfs-driver-ufs

This file shows value that indicates whether the device descriptor could be read after partial initialization phase of the boot sequence. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_class

/sys/bus/platform/devices/*.ufs/device_descriptor/device_class

Defined on file sysfs-driver-ufs

This file shows the device class. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_sub_class

/sys/bus/platform/devices/*.ufs/device_descriptor/device_sub_class

Defined on file sysfs-driver-ufs

This file shows the UFS storage subclass. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_type

/sys/bus/platform/devices/*.ufs/device_descriptor/device_type

Defined on file sysfs-driver-ufs

This file shows the device type. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_version

/sys/bus/platform/devices/*.ufs/device_descriptor/device_version

Defined on file sysfs-driver-ufs

This file shows the device version. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/ffu_timeout

/sys/bus/platform/devices/*.ufs/device_descriptor/ffu_timeout

Defined on file sysfs-driver-ufs

This file shows the FFU timeout. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/high_priority_lun

/sys/bus/platform/devices/*.ufs/device_descriptor/high_priority_lun

Defined on file sysfs-driver-ufs

This file shows the high priority lun. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/initial_active_icc_level

/sys/bus/platform/devices/*.ufs/device_descriptor/initial_active_icc_level

Defined on file sysfs-driver-ufs

This file shows the initial active ICC level. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/initial_power_mode

/sys/bus/platform/devices/*.ufs/device_descriptor/initial_power_mode

Defined on file sysfs-driver-ufs

This file shows value that defines the power mode after device initialization or hardware reset. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/manufacturer_id

/sys/bus/platform/devices/*.ufs/device_descriptor/manufacturer_id

Defined on file sysfs-driver-ufs

This file shows the manufacturer ID. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/manufacturing_date

/sys/bus/platform/devices/*.ufs/device_descriptor/manufacturing_date

Defined on file sysfs-driver-ufs

This file shows the manufacturing date in BCD format. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_luns

/sys/bus/platform/devices/*.ufs/device_descriptor/number_of_luns

Defined on file sysfs-driver-ufs

This file shows number of logical units. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_secure_wpa

/sys/bus/platform/devices/*.ufs/device_descriptor/number_of_secure_wpa

Defined on file sysfs-driver-ufs

This file shows number of secure write protect areas supported by the device. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_wluns

/sys/bus/platform/devices/*.ufs/device_descriptor/number_of_wluns

Defined on file sysfs-driver-ufs

This file shows number of well known logical units. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/protocol

/sys/bus/platform/devices/*.ufs/device_descriptor/protocol

Defined on file sysfs-driver-ufs

This file shows the protocol supported by an UFS device. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/psa_max_data_size

/sys/bus/platform/devices/*.ufs/device_descriptor/psa_max_data_size

Defined on file sysfs-driver-ufs

This file shows the maximum amount of data that may be written during the pre-soldering phase of the PSA flow. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/psa_state_timeout

/sys/bus/platform/devices/*.ufs/device_descriptor/psa_state_timeout

Defined on file sysfs-driver-ufs

This file shows the command maximum timeout for a change in PSA state. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/queue_depth

/sys/bus/platform/devices/*.ufs/device_descriptor/queue_depth

Defined on file sysfs-driver-ufs

This file shows the device queue depth. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/rtc_update

/sys/bus/platform/devices/*.ufs/device_descriptor/rtc_update

Defined on file sysfs-driver-ufs

This file shows the frequency and method of the realtime clock update. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/rtt_capability

/sys/bus/platform/devices/*.ufs/device_descriptor/rtt_capability

Defined on file sysfs-driver-ufs

This file shows the maximum number of outstanding RTTs supported by the device. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/secure_removal_type

/sys/bus/platform/devices/*.ufs/device_descriptor/secure_removal_type

Defined on file sysfs-driver-ufs

This file shows the secure removal type. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/specification_version

/sys/bus/platform/devices/*.ufs/device_descriptor/specification_version

Defined on file sysfs-driver-ufs

This file shows the specification version. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/support_security_lun

/sys/bus/platform/devices/*.ufs/device_descriptor/support_security_lun

Defined on file sysfs-driver-ufs

This file shows whether the security lun is supported. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/ufs_features

/sys/bus/platform/devices/*.ufs/device_descriptor/ufs_features

Defined on file sysfs-driver-ufs

This file shows which features are supported by the device. This is one of the UFS device descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_presv_us_en

/sys/bus/platform/devices/*.ufs/device_descriptor/wb_presv_us_en

Defined on file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-driver-ufs

This attribute is applicable to ufs devices compliant to the JEDEC specifications version 4.1 or later. The device_lvl_exception_count is a counter indicating the number of times the device level exceptions have occurred since the last time this variable is reset. Writing a 0 value to this attribute will reset the device_lvl_exception_count. If the device_lvl_exception_count reads a positive value, the user application should read the device_lvl_exception_id attribute to know 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 file sysfs-driver-ufs

Reading the device_lvl_exception_id returns the qDeviceLevelExceptionID attribute of the ufs device JEDEC specification version 4.1. The definition of the qDeviceLevelExceptionID is the ufs device vendor specific implementation. Refer to the device manufacturer datasheet for more information on the meaning of the qDeviceLevelExceptionID attribute value.

The attribute is read only.

/sys/bus/platform/drivers/ufshcd/*/dme_qos_notification

/sys/bus/platform/devices/*.ufs/dme_qos_notification

Defined on file sysfs-driver-ufs

This attribute reports and clears pending DME (Device Management Entity) Quality of Service (QoS) notifications. This attribute is a bitfield with the following bit assignments:

Bit Description === ====================================== 0 DME QoS Monitor has been reset by host 1 QoS from TX is detected 2 QoS from RX is detected 3 QoS from PA_INIT is detected

Reading this attribute returns the pending DME QoS notification bits. Writing ‘0’ to this attribute clears pending DME QoS notification bits. Writing any non-zero value is invalid and will be rejected.

The attribute is read/write.

/sys/bus/platform/drivers/ufshcd/*/enable_wb_buf_flush

/sys/bus/platform/devices/*.ufs/enable_wb_buf_flush

Defined on file sysfs-driver-ufs

This entry shows the status of WriteBooster buffer flushing and it can be used to enable or disable the flushing. If flushing is enabled, the device executes the flush operation when the command queue is empty.

/sys/bus/platform/drivers/ufshcd/*/flags/bkops_enable

/sys/bus/platform/devices/*.ufs/flags/bkops_enable

Defined on file sysfs-driver-ufs

This file shows whether the device background operations are enabled. The full information about the flag could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/flags/busy_rtc

/sys/bus/platform/devices/*.ufs/flags/busy_rtc

Defined on file sysfs-driver-ufs

This file shows whether the device is executing internal operation related to real time clock. The full information about the flag could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/flags/device_init

/sys/bus/platform/devices/*.ufs/flags/device_init

Defined on file sysfs-driver-ufs

This file shows the device init status. The full information about the flag could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/flags/disable_fw_update

/sys/bus/platform/devices/*.ufs/flags/disable_fw_update

Defined on file sysfs-driver-ufs

This file shows whether the device FW update is permanently disabled. The full information about the flag could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/flags/life_span_mode_enable

/sys/bus/platform/devices/*.ufs/flags/life_span_mode_enable

Defined on file sysfs-driver-ufs

This file shows whether the device life span mode is enabled. The full information about the flag could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/flags/permanent_wpe

/sys/bus/platform/devices/*.ufs/flags/permanent_wpe

Defined on file sysfs-driver-ufs

This file shows whether permanent write protection is enabled. The full information about the flag could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/flags/phy_resource_removal

/sys/bus/platform/devices/*.ufs/flags/phy_resource_removal

Defined on file sysfs-driver-ufs

This file shows whether physical resource removal is enable. The full information about the flag could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/flags/power_on_wpe

/sys/bus/platform/devices/*.ufs/flags/power_on_wpe

Defined on file sysfs-driver-ufs

This file shows whether write protection is enabled on all logical units configured as power on write protected. The full information about the flag could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/flags/wb_enable

/sys/bus/platform/devices/*.ufs/flags/wb_enable

Defined on file sysfs-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 file sysfs-driver-ufs

Flush WriteBooster Buffer during hibernate state.

0

Device is not allowed to flush the WriteBooster Buffer during link hibernate state.

1

Device is allowed to flush the WriteBooster 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 file sysfs-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 file sysfs-driver-ufs

This file shows the memory capacity adjustment factor for different memory types (system code, non persistent, enhanced type 1-4). This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/*_memory_max_alloc_units

/sys/bus/platform/devices/*.ufs/geometry_descriptor/*_memory_max_alloc_units

Defined on file sysfs-driver-ufs

This file shows the maximum number of allocation units for different memory types (system code, non persistent, enhanced type 1-4). This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/allocation_unit_size

/sys/bus/platform/devices/*.ufs/geometry_descriptor/allocation_unit_size

Defined on file sysfs-driver-ufs

This file shows the allocation unit size. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/data_ordering

/sys/bus/platform/devices/*.ufs/geometry_descriptor/data_ordering

Defined on file sysfs-driver-ufs

This file shows support for out-of-order data transfer. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/dyn_capacity_resource_policy

/sys/bus/platform/devices/*.ufs/geometry_descriptor/dyn_capacity_resource_policy

Defined on file sysfs-driver-ufs

This file shows the dynamic capacity resource policy. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_in_buffer_size

/sys/bus/platform/devices/*.ufs/geometry_descriptor/max_in_buffer_size

Defined on file sysfs-driver-ufs

This file shows the maximum data-in buffer size. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_number_of_contexts

/sys/bus/platform/devices/*.ufs/geometry_descriptor/max_number_of_contexts

Defined on file sysfs-driver-ufs

This file shows maximum available number of contexts which are supported by the device. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_number_of_luns

/sys/bus/platform/devices/*.ufs/geometry_descriptor/max_number_of_luns

Defined on file sysfs-driver-ufs

This file shows the maximum number of logical units supported by the UFS device. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_out_buffer_size

/sys/bus/platform/devices/*.ufs/geometry_descriptor/max_out_buffer_size

Defined on file sysfs-driver-ufs

This file shows the maximum data-out buffer size. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/memory_types

/sys/bus/platform/devices/*.ufs/geometry_descriptor/memory_types

Defined on file sysfs-driver-ufs

This file shows supported memory types. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/min_addressable_block_size

/sys/bus/platform/devices/*.ufs/geometry_descriptor/min_addressable_block_size

Defined on file sysfs-driver-ufs

This file shows the minimum addressable block size. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/optimal_read_block_size

/sys/bus/platform/devices/*.ufs/geometry_descriptor/optimal_read_block_size

Defined on file sysfs-driver-ufs

This file shows the optimal read block size. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/optimal_write_block_size

/sys/bus/platform/devices/*.ufs/geometry_descriptor/optimal_write_block_size

Defined on file sysfs-driver-ufs

This file shows the optimal write block size. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/raw_device_capacity

/sys/bus/platform/devices/*.ufs/geometry_descriptor/raw_device_capacity

Defined on file sysfs-driver-ufs

This file shows the total memory quantity available to the user to configure the device logical units. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/rpmb_rw_size

/sys/bus/platform/devices/*.ufs/geometry_descriptor/rpmb_rw_size

Defined on file sysfs-driver-ufs

This file shows the maximum number of RPMB frames allowed in Security Protocol In/Out. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/secure_removal_types

/sys/bus/platform/devices/*.ufs/geometry_descriptor/secure_removal_types

Defined on file sysfs-driver-ufs

This file shows supported secure removal types. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/segment_size

/sys/bus/platform/devices/*.ufs/geometry_descriptor/segment_size

Defined on file sysfs-driver-ufs

This file shows the segment size. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/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 file sysfs-driver-ufs

This file shows maximum storage area size allocated by the device to handle system data by the tagging mechanism. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/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 file sysfs-driver-ufs

This file shows system data tag unit size. This is one of the UFS geometry descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_buff_cap_adj

/sys/bus/platform/devices/*.ufs/geometry_descriptor/wb_buff_cap_adj

Defined on file sysfs-driver-ufs

This entry shows the total user-space decrease in shared buffer mode. The value of this parameter is 3 for TLC NAND when SLC mode is 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 file sysfs-driver-ufs

This entry shows the Maximum total WriteBooster Buffer size which 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 file sysfs-driver-ufs

This entry shows the maximum number of luns that can support WriteBooster.

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 file sysfs-driver-ufs

The supportability of user space reduction mode and preserve user space mode. 00h: WriteBooster Buffer can be configured only in user space reduction type. 01h: WriteBooster Buffer can be configured only in preserve user space type. 02h: Device can be configured in either user space reduction 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 file sysfs-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 file sysfs-driver-ufs

This file shows preend of life information. This is one of the UFS health descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/health_descriptor/life_time_estimation_a

/sys/bus/platform/devices/*.ufs/health_descriptor/life_time_estimation_a

Defined on file sysfs-driver-ufs

This file shows indication of the device life time (method a). This is one of the UFS health descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/health_descriptor/life_time_estimation_b

/sys/bus/platform/devices/*.ufs/health_descriptor/life_time_estimation_b

Defined on file sysfs-driver-ufs

This file shows indication of the device life time (method b). This is one of the UFS health descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/hid/analysis_trigger

/sys/bus/platform/devices/*.ufs/hid/analysis_trigger

Defined on file sysfs-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 file sysfs-driver-ufs

The host sets the size to be defragmented by an HID defragmentation operation.

The attribute is read/write.

/sys/bus/platform/drivers/ufshcd/*/hid/defrag_trigger

/sys/bus/platform/devices/*.ufs/hid/defrag_trigger

Defined on file sysfs-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 file sysfs-driver-ufs

The total fragmented size in the device is reported through this attribute.

The attribute is read only.

/sys/bus/platform/drivers/ufshcd/*/hid/progress_ratio

/sys/bus/platform/devices/*.ufs/hid/progress_ratio

Defined on file sysfs-driver-ufs

Defragmentation progress is reported by this attribute, indicates the ratio of the completed defragmentation size over 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 file sysfs-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 file sysfs-driver-ufs

This file shows the MIPI M-PHY version number in BCD format. This is one of the UFS interconnect descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/interconnect_descriptor/unipro_version

/sys/bus/platform/devices/*.ufs/interconnect_descriptor/unipro_version

Defined on file sysfs-driver-ufs

This file shows the MIPI UniPro version number in BCD format. This is one of the UFS interconnect descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/monitor/monitor_chunk_size

/sys/bus/platform/devices/*.ufs/monitor/monitor_chunk_size

Defined on file sysfs-driver-ufs

This file tells the monitor to focus on requests transferring data 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 file sysfs-driver-ufs

This file shows the status of performance monitor enablement and it can be used to start/stop the monitor. When the monitor is 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 file sysfs-driver-ufs

This file shows how many read requests have been sent after monitor 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 file sysfs-driver-ufs

This file shows the average latency (in micro seconds) of read 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 file sysfs-driver-ufs

This file shows the maximum latency (in micro seconds) of read 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 file sysfs-driver-ufs

This file shows the minimum latency (in micro seconds) of read 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 file sysfs-driver-ufs

This file shows the total latency (in micro seconds) of read 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 file sysfs-driver-ufs

This file shows how long (in micro seconds) has been spent sending 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 file sysfs-driver-ufs

This file shows how many sectors (in 512 Bytes) have been sent 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 file sysfs-driver-ufs

This file shows how many write requests have been sent after monitor 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 file sysfs-driver-ufs

This file shows the average latency (in micro seconds) of write requests 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 file sysfs-driver-ufs

This file shows the maximum latency (in micro seconds) of write requests 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 file sysfs-driver-ufs

This file shows the minimum latency (in micro seconds) of write requests 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 file sysfs-driver-ufs

This file shows the total latency (in micro seconds) of write requests 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 file sysfs-driver-ufs

This file shows how long (in micro seconds) has been spent sending 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 file sysfs-driver-ufs

This file shows how many sectors (in 512 Bytes) have been sent from 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 file sysfs-driver-ufs

This file shows maximum VCC, VCCQ and VCCQ2 value for active ICC levels from 0 to 15. This is one of the UFS power descriptor parameters. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/power_info/dev_pm

/sys/bus/platform/devices/*.ufs/power_info/dev_pm

Defined on file sysfs-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 file sysfs-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 file sysfs-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.

Defined on file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-driver-ufs

This entry could be used to set or show the UFS device runtime power management level. The current driver implementation supports 7 levels with next target states:

0

UFS device will stay active, UIC link will stay active

1

UFS device will stay active, UIC link will hibernate

2

UFS device will be moved to sleep, UIC link will stay active

3

UFS device will be moved to sleep, UIC link will hibernate

4

UFS device will be powered off, UIC link will hibernate

5

UFS device will be powered off, UIC link will be powered off

6

UFS device will be moved to deep sleep, UIC link will be powered off. Note, deep sleep might not be supported in which case this value will not be accepted

/sys/bus/platform/drivers/ufshcd/*/rpm_target_dev_state

/sys/bus/platform/devices/*.ufs/rpm_target_dev_state

Defined on file sysfs-driver-ufs

This entry shows the target power mode of an UFS device for the chosen runtime power management level.

The file is read only.

Defined on file sysfs-driver-ufs

This entry shows the target state of an UFS UIC link for the chosen runtime power management level.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/rtc_update_ms

/sys/bus/platform/devices/*.ufs/rtc_update_ms

Defined on file sysfs-driver-ufs

rtc_update_ms indicates how often the host should synchronize or update the UFS 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 file sysfs-driver-ufs

This entry could be used to set or show the UFS device system power management level. The current driver implementation supports 7 levels with next target states:

0

UFS device will stay active, UIC link will stay active

1

UFS device will stay active, UIC link will hibernate

2

UFS device will be moved to sleep, UIC link will stay active

3

UFS device will be moved to sleep, UIC link will hibernate

4

UFS device will be powered off, UIC link will hibernate

5

UFS device will be powered off, UIC link will be powered off

6

UFS device will be moved to deep sleep, UIC link will be powered off. Note, deep sleep might not be supported in which case this value will not be accepted

/sys/bus/platform/drivers/ufshcd/*/spm_target_dev_state

/sys/bus/platform/devices/*.ufs/spm_target_dev_state

Defined on file sysfs-driver-ufs

This entry shows the target power mode of an UFS device for the chosen system power management level.

The file is read only.

Defined on file sysfs-driver-ufs

This entry shows the target state of an UFS UIC link for the chosen system power management level.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/string_descriptors/manufacturer_name

/sys/bus/platform/devices/*.ufs/string_descriptors/manufacturer_name

Defined on file sysfs-driver-ufs

This file contains a device manufacturer name string. The full information about the descriptor could be found at UFS 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 file sysfs-driver-ufs

This file contains a OEM ID string. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/string_descriptors/product_name

/sys/bus/platform/devices/*.ufs/string_descriptors/product_name

Defined on file sysfs-driver-ufs

This file contains a product name string. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/string_descriptors/product_revision

/sys/bus/platform/devices/*.ufs/string_descriptors/product_revision

Defined on file sysfs-driver-ufs

This file contains a product revision string. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/string_descriptors/serial_number

/sys/bus/platform/devices/*.ufs/string_descriptors/serial_number

Defined on file sysfs-driver-ufs

This file contains a device serial number string. The full information about the descriptor could be found at UFS specifications 2.1.

The file is read only.

/sys/bus/platform/drivers/ufshcd/*/wb_flush_threshold

/sys/bus/platform/devices/*.ufs/wb_flush_threshold

Defined on file sysfs-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 to be flushed, otherwise it is not necessary.

/sys/bus/platform/drivers/ufshcd/*/wb_on

/sys/bus/platform/devices/*.ufs/wb_on

Defined on file sysfs-driver-ufs

This node is used to set or display whether UFS WriteBooster is enabled. Echo 0 to this file to disable UFS WriteBooster or 1 to enable 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 a platform that doesn’t support UFSHCD_CAP_CLK_SCALING, we can disable/enable WriteBooster through this sysfs node.

/sys/bus/platform/drivers/ufshcd/*/wb_resize_enable

/sys/bus/platform/devices/*.ufs/wb_resize_enable

Defined on file sysfs-driver-ufs

The host can enable the WriteBooster buffer resize by setting this attribute.

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 file sysfs-driver-zynqmp-fpga

(RO) Read fpga status. Read returns a hexadecimal value that tells the current status of the FPGA device. Each bit position in the status value is described Below(see ug570 chapter 9). https://docs.xilinx.com/v/u/en-US/ug570-ultrascale-configuration

BIT(0)

0: No CRC error 1: CRC error

BIT(1)

0: Decryptor security not set 1: Decryptor security set

BIT(2)

0: MMCMs/PLLs are not locked 1: MMCMs/PLLs are locked

BIT(3)

0: DCI not matched 1: DCI matched

BIT(4)

0: Start-up sequence has not finished 1: Start-up sequence has finished

BIT(5)

0: All I/Os are placed in High-Z state 1: All I/Os behave as configured

BIT(6)

0: Flip-flops and block RAM are write disabled 1: Flip-flops and block RAM are write enabled

BIT(7)

0: GHIGH_B_STATUS asserted 1: GHIGH_B_STATUS deasserted

BIT(8) to BIT(10)

Status of the mode pins

BIT(11)

0: Initialization has not finished 1: Initialization finished

BIT(12)

Value on INIT_B_PIN pin

BIT(13)

0: Signal not released 1: Signal released

BIT(14)

Value on DONE_PIN pin.

BIT(15)

0: No IDCODE_ERROR 1: IDCODE_ERROR

BIT(16)

0: No SECURITY_ERROR 1: SECURITY_ERROR

BIT(17)

System Monitor over-temperature if set

BIT(18) to BIT(20)

Start-up state machine (0 to 7) Phase 0 = 000 Phase 1 = 001 Phase 2 = 011 Phase 3 = 010 Phase 4 = 110 Phase 5 = 111 Phase 6 = 101 Phase 7 = 100

BIT(25) to BIT(26)

Indicates the detected bus width 00 = x1 01 = x8 10 = x16 11 = x32

The other bits are reserved.

/sys/bus/rapidio/devices/<nn>:<d>:<iiii>

Defined on file sysfs-bus-rapidio

For each RapidIO device, the RapidIO subsystem creates files in an individual subdirectory with the following name format of device_name “nn:d:iiii”, where:

nn

two-digit hexadecimal ID of RapidIO network where the device resides

d

device type: ‘e’ - for endpoint or ‘s’ - for switch

iiii

four-digit device destID for endpoints, or switchID for switches

For example, below is a list of device directories that represents a typical RapidIO network with one switch, one host, and two agent endpoints, as it is seen by the enumerating host (with destID = 1):

/sys/bus/rapidio/devices/00:e:0000
/sys/bus/rapidio/devices/00:e:0002
/sys/bus/rapidio/devices/00:s:0001
NOTE:

An enumerating or discovering endpoint does not create a sysfs entry for itself, this is why an endpoint with destID=1 is not shown in the list.

Attributes Common for All RapidIO Devices

/sys/bus/rapidio/devices/<nn>:<d>:<iiii>/asm_did

Defined on file sysfs-bus-rapidio

(RO) returns identifier for the assembly containing the device

/sys/bus/rapidio/devices/<nn>:<d>:<iiii>/asm_rev

Defined on file sysfs-bus-rapidio

(RO) returns revision level of the assembly containing the device

/sys/bus/rapidio/devices/<nn>:<d>:<iiii>/asm_vid

Defined on file sysfs-bus-rapidio

(RO) returns vendor identifier of the assembly containing the device

/sys/bus/rapidio/devices/<nn>:<d>:<iiii>/config

Defined on file sysfs-bus-rapidio

(RW) Binary attribute to read from and write to the device configuration registers using the RapidIO maintenance transactions. This attribute is similar in behaviour to the “config” attribute of PCI devices and provides an access to the RapidIO device registers using standard file read and write operations.

RapidIO Switch Device Attributes

RapidIO switches have additional attributes in sysfs. RapidIO subsystem supports common and device-specific sysfs attributes for switches. Because switches are integrated into the RapidIO subsystem, it offers a method to create device-specific sysfs attributes by specifying a callback function that may be set by the switch initialization routine during enumeration or discovery process.

/sys/bus/rapidio/devices/<nn>:<d>:<iiii>/destid

Defined on file sysfs-bus-rapidio

(RO) returns device destination ID assigned by the enumeration routine

/sys/bus/rapidio/devices/<nn>:<d>:<iiii>/device_rev

Defined on file sysfs-bus-rapidio

(RO) returns the device revision level

/sys/bus/rapidio/devices/<nn>:<d>:<iiii>/did

Defined on file sysfs-bus-rapidio

(RO) returns the device identifier

/sys/bus/rapidio/devices/<nn>:<d>:<iiii>/lprev

Defined on file sysfs-bus-rapidio

(RO) returns name of previous device (switch) on the path to the device that that owns this attribute

/sys/bus/rapidio/devices/<nn>:<d>:<iiii>/modalias

Defined on file sysfs-bus-rapidio

(RO) returns the device modalias

/sys/bus/rapidio/devices/<nn>:<d>:<iiii>/vid

Defined on file sysfs-bus-rapidio

(RO) returns the device vendor identifier

/sys/bus/rapidio/devices/<nn>:<s>:<iiii>/destid

Defined on file sysfs-bus-rapidio

(RO) device destination ID of the associated device that defines a route to the switch

/sys/bus/rapidio/devices/<nn>:<s>:<iiii>/errlog

Defined on file sysfs-bus-rapidio

(RO) reads contents of device error log until it is empty.

RapidIO Bus Attributes

/sys/bus/rapidio/devices/<nn>:<s>:<iiii>/hopcount

Defined on file sysfs-bus-rapidio

(RO) number of hops on the path to the switch

/sys/bus/rapidio/devices/<nn>:<s>:<iiii>/lnext

Defined on file sysfs-bus-rapidio

(RO) returns names of devices linked to the switch except one of a device linked to the ingress port (reported as “lprev”). This is an array names with number of lines equal to number of ports in switch. If a switch port has no attached device, returns “null” instead of a device name.

Device-specific Switch Attributes

IDT_GEN2-

/sys/bus/rapidio/devices/<nn>:<s>:<iiii>/routes

Defined on file sysfs-bus-rapidio

(RO) reports switch routing information in “destID port” format. This attribute reports only valid routing table entries, one line for each entry.

/sys/bus/rapidio/scan

Defined on file sysfs-bus-rapidio

(WO) Allows to trigger enumeration discovery process from user space. To initiate an enumeration or discovery process on specific mport device, a user needs to write mport_ID (not RapidIO destination ID) into this file. The mport_ID is a sequential number (0 ... RIO_MAX_MPORTS) assigned to the mport device. For example, for a machine with a single RapidIO controller, mport_ID for that controller always will be 0. To initiate RapidIO enumeration/discovery on all available mports a user must write ‘-1’ (or RIO_MPORT_ANY) into this attribute file.

/sys/bus/rbd/add

Defined on file sysfs-bus-rbd

(WO) Add rbd block device.

Usage: <mon ip addr> <options> <pool name> <rbd image name> [<snap name>]

Example:

$ echo "192.168.0.1 name=admin rbd foo" > /sys/bus/rbd/add

The snapshot name can be “-” or omitted to map the image read/write. A <dev-id> will be assigned for any registered block device. If snapshot is used, it will be mapped read-only.

/sys/bus/rbd/add_single_major

Defined on file sysfs-bus-rbd

(WO) Available only if rbd module is inserted with single_major parameter set to true.

Usage is the same as for /sys/bus/rbd/add. If present, this should be used instead of the latter: any attempts to use /sys/bus/rbd/add if /sys/bus/rbd/add_single_major is available will fail for backwards compatibility reasons.

/sys/bus/rbd/devices/<dev-id>/image_id

/sys/bus/rbd/devices/<dev-id>/features

Defined on file sysfs-bus-rbd

image_id

(RO) The unique id for the rbd image. (For rbd image format 1 this is empty.)

features

(RO) A hexadecimal encoding of the feature bits for this image.

/sys/bus/rbd/devices/<dev-id>/minor

Defined on file sysfs-bus-rbd

(RO) The block device minor number.

/sys/bus/rbd/devices/<dev-id>/parent

Defined on file sysfs-bus-rbd

(RO) Information identifying the chain of parent images in a layered rbd image. Entries are separated by empty lines.

/sys/bus/rbd/devices/<dev-id>/pool_id

Defined on file sysfs-bus-rbd

(RO) The unique identifier for the rbd image’s pool. This is a permanent attribute of the pool. A pool’s id will never change.

/sys/bus/rbd/devices/<dev-id>/size

/sys/bus/rbd/devices/<dev-id>/major

/sys/bus/rbd/devices/<dev-id>/client_id

/sys/bus/rbd/devices/<dev-id>/pool

/sys/bus/rbd/devices/<dev-id>/name

/sys/bus/rbd/devices/<dev-id>/refresh

/sys/bus/rbd/devices/<dev-id>/current_snap

Defined on file sysfs-bus-rbd

size

(RO) The size (in bytes) of the mapped block device.

major

(RO) The block device major number.

client_id

(RO) The ceph unique client id that was assigned for this specific session.

pool

(RO) The name of the storage pool where this rbd image resides. An rbd image name is unique within its pool.

name

(RO) The name of the rbd image.

refresh

(WO) Writing to this file will reread the image header data and set all relevant data structures accordingly.

current_snap

(RO) The current snapshot for which the device is mapped.

/sys/bus/rbd/devices/<dev-id>/snap_id

/sys/bus/rbd/devices/<dev-id>/config_info

/sys/bus/rbd/devices/<dev-id>/cluster_fsid

/sys/bus/rbd/devices/<dev-id>/client_addr

Defined on file sysfs-bus-rbd

snap_id

(RO) The current snapshot’s id.

config_info

(RO) The string written into /sys/bus/rbd/add{,_single_major}.

cluster_fsid

(RO) The ceph cluster UUID.

client_addr

(RO) The ceph unique client entity_addr_t (address + nonce). The format is <address>:<port>/<nonce>: ‘1.2.3.4:1234/5678’ or ‘[1:2:3:4:5:6:7:8]:1234/5678’.

/sys/bus/rbd/remove

Defined on file sysfs-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 for running requests and then unmap the image. Requests sent to the driver after initiating the removal will be failed. (August 2016, since 4.9.)

/sys/bus/rbd/remove_single_major

Defined on file sysfs-bus-rbd

(WO) Available only if rbd module is inserted with single_major parameter set to true.

Usage is the same as for /sys/bus/rbd/remove. If present, this should be used instead of the latter: any attempts to use /sys/bus/rbd/remove if /sys/bus/rbd/remove_single_major is available will fail for backwards compatibility reasons.

/sys/bus/rbd/supported_features

Defined on file sysfs-bus-rbd

(RO) Displays the features supported by the rbd module so that userspace can generate meaningful error messages and spell out unsupported features that need to be disabled.

/sys/bus/rpmsg/devices/.../announce

Defined on file sysfs-bus-rpmsg

Every rpmsg device is a communication channel with a remote processor. Channels are identified by a textual name (see /sys/bus/rpmsg/devices/.../name above) and have a local (“source”) rpmsg address, and remote (“destination”) rpmsg address.

A channel is first created when an entity, whether local or remote, starts listening on it for messages (and is thus called an rpmsg server).

When that happens, a “name service” announcement is sent to the other processor, in order to let it know about the creation of the channel (this way remote clients know they can start sending messages).

This sysfs entry tells us whether the channel is a local server channel that is announced (values are either true or false).

/sys/bus/rpmsg/devices/.../driver_override

Defined on file sysfs-bus-rpmsg

Every rpmsg device is a communication channel with a remote processor. Channels are identified by a textual name (see /sys/bus/rpmsg/devices/.../name above) and have a local (“source”) rpmsg address, and remote (“destination”) rpmsg address.

The listening entity (or client) which communicates with a remote processor is referred as rpmsg driver. The rpmsg device and rpmsg driver are matched based on rpmsg device name and rpmsg driver ID table.

This sysfs entry allows the rpmsg driver for a rpmsg device to be specified which will override standard OF, ID table and name matching.

/sys/bus/rpmsg/devices/.../dst

Defined on file sysfs-bus-rpmsg

Every rpmsg device is a communication channel with a remote processor. Channels have a local (“source”) rpmsg address, and remote (“destination”) rpmsg address. When an entity starts listening on one end of a channel, it assigns it with a unique rpmsg address (a 32 bits integer). This way when inbound messages arrive to this address, the rpmsg core dispatches them to the listening entity.

This sysfs entry contains the dst (remote) rpmsg address of this channel. If it contains 0xffffffff, then an address wasn’t assigned (can happen if the kernel driver that is attached to this channel is exposing a service to the remote processor. This make it a local rpmsg server, and it is listening for inbound messages that may be sent from any remote rpmsg client; it is not bound to a single remote entity).

/sys/bus/rpmsg/devices/.../name

Defined on file sysfs-bus-rpmsg

Every rpmsg device is a communication channel with a remote processor. Channels are identified with a (textual) name, which is maximum 32 bytes long (defined as RPMSG_NAME_SIZE in rpmsg.h).

This sysfs entry contains the name of this channel.

/sys/bus/rpmsg/devices/.../src

Defined on file sysfs-bus-rpmsg

Every rpmsg device is a communication channel with a remote processor. Channels have a local (“source”) rpmsg address, and remote (“destination”) rpmsg address. When an entity starts listening on one end of a channel, it assigns it with a unique rpmsg address (a 32 bits integer). This way when inbound messages arrive to this address, the rpmsg core dispatches them to the listening entity (a kernel driver).

This sysfs entry contains the src (local) rpmsg address of this channel. If it contains 0xffffffff, then an address wasn’t assigned (can happen if no driver exists for this channel).

/sys/bus/scsi/drivers/st/debug_flag

Defined on file sysfs-driver-st

This file allows you to turn debug output from the st driver off if you write a ‘0’ to the file or on if you write a ‘1’. Note that debug output requires that the module be compiled with the #define DEBUG set to a non-zero value (this is the default). If DEBUG is set to 0 then this file will not appear in sysfs as its presence is conditional upon debug output support being compiled into the module.

/sys/bus/siox/devices/siox-X-Y/connected

Defined on file sysfs-bus-siox

Read-only value. “0” means the Yth device on siox bus X isn’t “connected” i.e. communication with it is not ensured. “1” signals a working connection.

/sys/bus/siox/devices/siox-X-Y/inbytes

Defined on file sysfs-bus-siox

Read-only value reporting the inbytes value provided to siox-X/device_add

/sys/bus/siox/devices/siox-X-Y/outbytes

Defined on file sysfs-bus-siox

Read-only value reporting the outbytes value provided to siox-X/device_add.

/sys/bus/siox/devices/siox-X-Y/status_errors

Defined on file sysfs-bus-siox

Counts the number of time intervals when the read status byte doesn’t yield the expected value.

/sys/bus/siox/devices/siox-X-Y/type

Defined on file sysfs-bus-siox

Read-only value reporting the type value provided to siox-X/device_add.

/sys/bus/siox/devices/siox-X-Y/watchdog

Defined on file sysfs-bus-siox

Read-only value reporting if the watchdog of the siox device is active. “0” means the watchdog is not active and the device is expected to be operational. “1” means the watchdog keeps the device in reset.

/sys/bus/siox/devices/siox-X-Y/watchdog_errors

Defined on file sysfs-bus-siox

Read-only value reporting the number to time intervals when the watchdog was active.

/sys/bus/siox/devices/siox-X/active

Defined on file sysfs-bus-siox

On reading represents the current state of the bus. If it contains a “0” the bus is stopped and connected devices are expected to not do anything because their watchdog triggered. When the file contains a “1” the bus is operated and periodically does a push-pull cycle to write and read data from the connected devices.

When writing a “0” or “1” the bus moves to the described state.

/sys/bus/siox/devices/siox-X/device_add

Defined on file sysfs-bus-siox

Write-only file. Write

<type> <inbytes> <outbytes> <statustype>

to add a new device dynamically. <type> is the name that is used to match to a driver (similar to the platform bus). <inbytes> and <outbytes> define the length of the input and output shift register in bytes respectively.

<statustype> defines the 4 bit device type that is check to identify connection problems.

The new device is added to the end of the existing chain.

/sys/bus/siox/devices/siox-X/device_remove

Defined on file sysfs-bus-siox

Write-only file. A single write removes the last device in the siox chain.

/sys/bus/siox/devices/siox-X/poll_interval_ns

Defined on file sysfs-bus-siox

Defines the interval between two poll cycles in nano seconds. Note this is rounded to jiffies on writing. On reading the current value is returned.

/sys/bus/soc

Defined on file sysfs-devices-soc

The /sys/bus/soc/ directory contains the usual sub-folders expected under most buses. /sys/bus/soc/devices is of particular interest, as it contains a symlink for each SoC device found on the system. Each symlink points back into the aforementioned /sys/devices/socX devices.

/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 file sysfs-bus-soundwire-master

SoundWire Master-N DisCo properties. These properties are defined by MIPI DisCo Specification for SoundWire. They define various properties of the Master and are used by the bus to configure the Master. clk_stop_modes is a bitmask for simplifications and combines the clock-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 file sysfs-bus-soundwire-slave

SoundWire Slave DisCo properties. These properties are defined by MIPI DisCo Specification for SoundWire. They define various properties of the SoundWire Slave and are used by the bus to configure the 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 file sysfs-bus-soundwire-slave

SoundWire Slave Data Port-0 DisCo properties. These properties are defined by MIPI DisCo Specification for the SoundWire. They define various properties of the Data 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 file sysfs-bus-soundwire-slave

SoundWire Slave Data Source/Sink Port-N DisCo properties. These properties are defined by MIPI DisCo Specification for SoundWire. They define various properties of the Source/Sink Data port N and are used by the bus to configure the Data Port N.

/sys/bus/soundwire/devices/sdw:.../status

/sys/bus/soundwire/devices/sdw:.../device_number

Defined on file sysfs-bus-soundwire-slave

SoundWire Slave status

These properties report the Slave status, e.g. if it is UNATTACHED or not, and in the latter case show the device_number. This status information is useful to detect devices exposed by platform firmware but not physically present on the bus, and conversely devices not exposed in platform firmware but enumerated.

/sys/bus/spi/<dev>/reset

Defined on file sysfs-driver-ge-achc

This file represents the microcontroller’s reset line. 1 means the reset line is asserted, 0 means it’s not asserted. The file is read and writable.

/sys/bus/spi/<dev>/update_firmware

Defined on file sysfs-driver-ge-achc

Write 1 to this file to update the ACHC microcontroller firmware via the EzPort interface. For this the kernel will load “achc.bin” via the firmware API (so usually from /lib/firmware). The write will block until the FW has either been flashed successfully or an error occurred.

/sys/bus/spi/devices/.../spi-nor/jedec_id

Defined on file sysfs-bus-spi-devices-spi-nor

(RO) The JEDEC ID of the SPI NOR flash as reported by the flash device.

The attribute is not present if the flash doesn’t support the “Read JEDEC ID” command (9Fh). This is the case for non-JEDEC compliant flashes.

/sys/bus/spi/devices/.../spi-nor/manufacturer

Defined on file sysfs-bus-spi-devices-spi-nor

(RO) Manufacturer of the SPI NOR flash.

The attribute is not present if the flash device isn’t known to the kernel and is only probed by its SFDP tables.

/sys/bus/spi/devices/.../spi-nor/partname

Defined on file sysfs-bus-spi-devices-spi-nor

(RO) Part name of the SPI NOR flash.

The attribute is optional. User space should not rely on it to be present or even correct. Instead, user space should read the jedec_id attribute.

/sys/bus/spi/devices/.../spi-nor/sfdp

Defined on file sysfs-bus-spi-devices-spi-nor

(RO) This attribute is only present if the SPI NOR flash device supports the “Read SFDP” command (5Ah).

If present, it contains the complete SFDP (serial flash discoverable parameters) binary data of the flash.

/sys/bus/surface_aggregator/devices/01:0e:01:00:01/state

Defined on file sysfs-bus-surface_aggregator-tabletsw

This attribute returns a string with the current type-cover or 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 on top 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 back part-ways, but does not lie flush with the back side of the device. In general, this means that the kick-stand is used and extended atop of the cover.

  • “folded-back”: The type cover has been fully folded back and lies flush with the back side of the device.

  • “<unknown>”: The current state is unknown to the driver, for example due to newer as-of-yet unsupported hardware.

New states may be introduced with new hardware. Users therefore must not rely on this list of states being exhaustive and gracefully handle unknown states.

/sys/bus/surface_aggregator/devices/01:26:01:00:01/state

Defined on file sysfs-bus-surface_aggregator-tabletsw

This attribute returns a string with the current device posture, as indicated by the embedded controller. Currently returned posture states are:

  • “closed”: The lid of the device is closed.

  • “laptop”: The lid of the device is opened and the device operates as a normal laptop.

  • “slate”: The screen covers the keyboard or has been flipped back and the device operates mainly based on touch input.

  • “tablet”: The device operates as tablet and exclusively relies on touch input (or external peripherals).

  • “<unknown>”: The current state is unknown to the driver, for example due to newer as-of-yet unsupported hardware.

New states may be introduced with new hardware. Users therefore must not rely on this list of states being exhaustive and gracefully handle unknown states.

/sys/bus/tee/devices/optee-ta-<uuid>/

Defined on file sysfs-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. Drivers are free to create needed API under optee-ta-<uuid> directory.

/sys/bus/tee/devices/optee-ta-<uuid>/need_supplicant

Defined on file sysfs-bus-optee-devices

Allows to distinguish whether an OP-TEE based TA/device requires user-space tee-supplicant to function properly or not. This attribute will be present for devices which depend on tee-supplicant to be running.

/sys/bus/thunderbolt/devices/.../authorized

Defined on file sysfs-bus-thunderbolt

This attribute is used to authorize Thunderbolt devices after they have been connected. If the device is not authorized, no PCIe devices are available to the system.

Contents of this attribute will be 0 when the device is not yet authorized.

Possible values are supported:

0

The device will be de-authorized (only supported if deauthorization attribute under domain contains 1)

1

The device will be authorized and connected

When key attribute contains 32 byte hex string the possible values are:

0

The device will be de-authorized (only supported if deauthorization attribute under domain contains 1)

1

The 32 byte hex string is added to the device NVM and the device is authorized.

2

Send a challenge based on the 32 byte hex string. If the challenge response from device is valid, the device is authorized. In case of failure errno will be ENOKEY if the device did not contain a key at all, and EKEYREJECTED if the challenge response did not match.

/sys/bus/thunderbolt/devices/.../boot

Defined on file sysfs-bus-thunderbolt

This attribute contains 1 if Thunderbolt device was already authorized on boot and 0 otherwise.

/sys/bus/thunderbolt/devices/.../device

Defined on file sysfs-bus-thunderbolt

This attribute contains id of this device extracted from the device DROM.

/sys/bus/thunderbolt/devices/.../device_name

Defined on file sysfs-bus-thunderbolt

This attribute contains name of this device extracted from the device DROM.

/sys/bus/thunderbolt/devices/.../domainX/boot_acl

Defined on file sysfs-bus-thunderbolt

Holds a comma separated list of device unique_ids that are allowed to be connected automatically during system startup (e.g boot devices). The list always contains maximum supported number of unique_ids where unused entries are empty. This allows the userspace software to determine how many entries the controller supports. If there are multiple controllers, each controller has its own ACL list and size may be different between the controllers.

System BIOS may have an option “Preboot ACL” or similar that needs to be selected before this list is taken into consideration.

Software always updates a full list in each write.

If a device is authorized automatically during boot its boot attribute is set to 1.

/sys/bus/thunderbolt/devices/.../domainX/deauthorization

Defined on file sysfs-bus-thunderbolt

This attribute tells whether the system supports de-authorization of devices. Value of 1 means user can de-authorize PCIe tunnel by writing 0 to authorized attribute under each device.

/sys/bus/thunderbolt/devices/.../domainX/iommu_dma_protection

Defined on file sysfs-bus-thunderbolt

This attribute tells whether the system uses IOMMU for DMA protection. Value of 1 means IOMMU is used 0 means it is not (DMA protection is solely based on Thunderbolt security levels).

/sys/bus/thunderbolt/devices/.../domainX/security

Defined on file sysfs-bus-thunderbolt

This attribute holds current Thunderbolt security level set by the system BIOS. Possible values are:

none

All devices are automatically authorized

user

Devices are only authorized based on writing appropriate value to the authorized attribute

secure

Require devices that support secure connect at minimum. User needs to authorize each device.

dponly

Automatically tunnel Display port (and USB). No PCIe tunnels are created.

usbonly

Automatically tunnel USB controller of the connected Thunderbolt dock (and Display Port). All PCIe links downstream of the dock are removed.

nopcie

USB4 system where PCIe tunneling is disabled from the BIOS.

/sys/bus/thunderbolt/devices/.../generation

Defined on file sysfs-bus-thunderbolt

This attribute contains the generation of the Thunderbolt controller associated with the device. It will contain 4 for USB4.

/sys/bus/thunderbolt/devices/.../key

Defined on file sysfs-bus-thunderbolt

When a devices supports Thunderbolt secure connect it will have this attribute. Writing 32 byte hex string changes authorization to use the secure connection method instead. Writing an empty string clears the key and regular connection method can be used again.

/sys/bus/thunderbolt/devices/.../maxhopid

Defined on file sysfs-bus-thunderbolt

Only set for XDomains. The maximum HopID the other host supports as its input HopID.

/sys/bus/thunderbolt/devices/.../nvm_authenticate

Defined on file sysfs-bus-thunderbolt

When new NVM image is written to the non-active NVM area (through non_activeX NVMem device), the authentication procedure is started by writing to this file. If everything goes well, the device is restarted with the new NVM firmware. If the image verification fails an error code is returned instead.

This file will accept writing values “1”, “2” or “3”.

  • Writing “1” will flush the image to the storage area and authenticate the image in one action.

  • Writing “2” will run some basic validation on the image and flush it to the storage area.

  • Writing “3” will authenticate the image that is currently written in the storage area. This is only supported with USB4 devices and retimers.

When read holds status of the last authentication operation if an error occurred during the process. This is directly the status value from the DMA configuration based mailbox before the device is power cycled. Writing 0 here clears the status.

/sys/bus/thunderbolt/devices/.../nvm_authenticate_on_disconnect

Defined on file sysfs-bus-thunderbolt

For supported devices, automatically authenticate the new Thunderbolt image 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 storage area and prepare the device for authentication on disconnect.

  • Writing “2” will run some basic validation on the image and flush it to the storage area.

/sys/bus/thunderbolt/devices/.../nvm_version

Defined on file sysfs-bus-thunderbolt

If the device has upgradeable firmware the version number is available here. Format: %x.%x, major.minor. If the device is in safe mode reading the file returns -ENODATA instead as the NVM version is not available.

/sys/bus/thunderbolt/devices/.../rx_lanes

Defined on file sysfs-bus-thunderbolt

This attribute reports number of RX lanes the device is using simultaneously through its upstream port.

/sys/bus/thunderbolt/devices/.../rx_speed

Defined on file sysfs-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 file sysfs-bus-thunderbolt

This attribute reports number of TX lanes the device is using simultaneously through its upstream port.

/sys/bus/thunderbolt/devices/.../tx_speed

Defined on file sysfs-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 file sysfs-bus-thunderbolt

This attribute contains unique_id string of this device. This is either read from hardware registers (UUID on newer hardware) or based on UID from the device DROM. Can be used to uniquely identify particular device.

/sys/bus/thunderbolt/devices/.../vendor

Defined on file sysfs-bus-thunderbolt

This attribute contains vendor id of this device extracted from the device DROM.

/sys/bus/thunderbolt/devices/.../vendor_name

Defined on file sysfs-bus-thunderbolt

This attribute contains vendor name of this device extracted from the device DROM.

/sys/bus/thunderbolt/devices/<device>:<port>.<index>/device

Defined on file sysfs-bus-thunderbolt

Retimer device identifier read from the hardware.

/sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_authenticate

Defined on file sysfs-bus-thunderbolt

When new NVM image is written to the non-active NVM area (through non_activeX NVMem device), the authentication procedure is started by writing 1 to this file. If everything goes well, the device is restarted with the new NVM firmware. If the image verification fails an error code is returned instead.

When read holds status of the last authentication operation if an error occurred during the process. Format: %x.

/sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_version

Defined on file sysfs-bus-thunderbolt

Holds retimer NVM version number. Format: %x.%x, major.minor.

/sys/bus/thunderbolt/devices/<device>:<port>.<index>/vendor

Defined on file sysfs-bus-thunderbolt

Retimer vendor identifier read from the hardware.

/sys/bus/thunderbolt/devices/<xdomain>.<service>/key

Defined on file sysfs-bus-thunderbolt

This contains name of the property directory the XDomain service exposes. This entry describes the protocol in question. Following directories are already reserved by the Apple XDomain specification:

network

IP/ethernet over Thunderbolt

targetdm

Target disk mode protocol over Thunderbolt

extdisp

External display mode protocol over Thunderbolt

/sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias

Defined on file sysfs-bus-thunderbolt

Stores the same MODALIAS value emitted by uevent for the XDomain service. Format: tbtsvc:kSpNvNrN

/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcid

Defined on file sysfs-bus-thunderbolt

This contains XDomain protocol identifier the XDomain service supports.

/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcrevs

Defined on file sysfs-bus-thunderbolt

This contains XDomain software version the XDomain service supports.

/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcstns

Defined on file sysfs-bus-thunderbolt

This contains XDomain service specific settings as bitmask. Format: %x

/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcvers

Defined on file sysfs-bus-thunderbolt

This contains XDomain protocol version the XDomain service supports.

/sys/bus/thunderbolt/devices/usb4_portX/connector

Defined on file sysfs-bus-thunderbolt

Symlink to the USB Type-C connector. This link is only created when USB Type-C Connector Class is enabled, and only if the system firmware is capable of describing the connection between a port and its connector.

Defined on file sysfs-bus-thunderbolt

Returns the current link mode. Possible values are “usb4”, “tbt” and “none”.

/sys/bus/thunderbolt/devices/usb4_portX/offline

Defined on file sysfs-bus-thunderbolt

Writing 1 to this attribute puts the USB4 port into offline mode. Only allowed when there is nothing connected to the port (link attribute returns “none”). Once the port is in offline mode it does not receive any hotplug events. This is used to update NVM firmware of on-board retimers. Writing 0 puts the port back to online mode.

This attribute is only visible if the platform supports powering on retimers when there is no cable connected.

/sys/bus/thunderbolt/devices/usb4_portX/rescan

Defined on file sysfs-bus-thunderbolt

When the USB4 port is in offline mode writing 1 to this attribute forces rescan of the sideband for on-board retimers. Each retimer appear under the USB4 port as if the USB4 link was up. These retimers act in the same way as if the cable was connected so upgrading their NVM firmware can be done the usual way.

/sys/bus/typec/devices/.../active

Defined on file sysfs-bus-typec

Shows if the mode is active or not. The attribute can be used for entering/exiting the mode. Entering/exiting modes is supported as synchronous operation so write(2) to the attribute does not return until the enter/exit mode operation has finished. The attribute is notified when the mode is entered/exited so poll(2) on the attribute wakes up. Entering/exiting a mode will also generate uevent KOBJ_CHANGE.

Valid values are boolean.

/sys/bus/typec/devices/.../description

Defined on file sysfs-bus-typec

Shows description of the mode. The description is optional for the drivers, just like with the Billboard Devices.

/sys/bus/typec/devices/.../displayport/configuration

Defined on file sysfs-driver-typec-displayport

Shows the current DisplayPort configuration for the connector. Valid values are USB, source and sink. Source means DisplayPort source, and sink means DisplayPort sink.

All supported configurations are listed as space separated list with the active one wrapped in square brackets.

Source example:

USB [source] sink

The configuration can be changed by writing to the file

Note. USB configuration does not equal to Exit Mode. It is separate configuration defined in VESA DisplayPort Alt Mode on USB Type-C Standard. Functionally it equals to the situation where the mode has been exited (to exit the mode, see testing/sysfs-bus-typec, and use file /sys/bus/typec/devices/.../active).

/sys/bus/typec/devices/.../displayport/hpd

Defined on file sysfs-driver-typec-displayport

VESA DisplayPort Alt Mode on USB Type-C Standard defines how HotPlugDetect(HPD) shall be supported on the USB-C connector when operating in DisplayPort Alt Mode. This is a read only node which reflects 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 file sysfs-driver-typec-displayport

IRQ_HPD events are sent over the USB PD protocol in Status Update and Attention messages. IRQ_HPD can only be asserted when HPD is high, and is asserted when an IRQ_HPD has been issued since the last Status Update. This is a read only node that returns the number of IRQ events raised in the driver’s lifetime.

/sys/bus/typec/devices/.../displayport/pin_assignment

Defined on file sysfs-driver-typec-displayport

VESA DisplayPort Alt Mode on USB Type-C Standard defines six different pin assignments for USB Type-C connector that are labeled A, B, C, D, E, and F. The supported pin assignments are listed as space separated list with the active one wrapped in square brackets.

Example:

C [D]

Pin assignment can be changed by writing to the file. It is possible to set pin assignment before configuration has been set, but the assignment will not be active before the connector is actually configured.

Note. As of VESA DisplayPort Alt Mode on USB Type-C Standard version 1.0b, pin assignments A, B, and F are deprecated. Only pin assignment D can now carry simultaneously one channel of USB SuperSpeed protocol. From user perspective pin assignments C and E are equal, where all channels on the connector are used for carrying DisplayPort protocol (allowing higher resolutions).

/sys/bus/typec/devices/.../mode

Defined on file sysfs-bus-typec

The index number of the mode returned by Discover Modes USB Power Delivery command. Depending on the alternate mode, the mode index may be significant.

With some alternate modes (SVIDs), the mode index is assigned for specific functionality in the specification for that alternate mode.

With other alternate modes, the mode index values are not assigned, and can not be therefore used for identification. When the mode index is not assigned, identifying the alternate mode must be done with either mode VDO or the description.

/sys/bus/typec/devices/.../svid

Defined on file sysfs-bus-typec

The Standard or Vendor ID (SVID) assigned by USB-IF for this alternate mode.

/sys/bus/typec/devices/.../vdo

Defined on file sysfs-bus-typec

Shows the VDO in hexadecimal returned by Discover Modes command for this mode.

/sys/bus/usb-serial/drivers/.../new_id

Defined on file sysfs-bus-usb

For serial USB drivers, this attribute appears under the extra bus folder “usb-serial” in sysfs; apart from that difference, all descriptions from the entry “/sys/bus/usb/drivers/.../new_id” apply.

/sys/bus/usb/.../decimals

Defined on file sysfs-bus-usb-devices-usbsevseg

Controls the decimal places on the device. To set the nth decimal place, give this field the value of 10 ** n. Assume this field has the value k and has 1 or more decimal places set, to set the mth place (where m is not already set), change this fields value to k + 10 ** m.

/sys/bus/usb/.../mode_msb

/sys/bus/usb/.../mode_lsb

Defined on file sysfs-bus-usb-devices-usbsevseg

Controls the devices display mode. For a 6 character display the values are

MSB 0x06; LSB 0x3F, and

for an 8 character display the values are

MSB 0x08; LSB 0xFF.

/sys/bus/usb/.../powered

Defined on file sysfs-bus-usb-devices-usbsevseg

Controls whether the device’s display will powered. A value of 0 is off and a non-zero value is on.

/sys/bus/usb/.../text

Defined on file sysfs-bus-usb-devices-usbsevseg

The text (or data) for the device to display

/sys/bus/usb/.../textmode

Defined on file sysfs-bus-usb-devices-usbsevseg

Controls the way the device interprets its text buffer. raw: each character controls its segment manually hex: each character is between 0-15 ascii: each character is between ‘0’-‘9’ and ‘A’-‘F’.

/sys/bus/usb/device/.../authorized

Defined on file sysfs-bus-usb

Authorized devices are available for use by device drivers, non-authorized one are not. By default, wired USB devices are authorized.

/sys/bus/usb/devices/.../<hub_interface>/port<X>

Defined on file sysfs-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 file sysfs-bus-usb

Some platforms provide usb port connect types through ACPI. This attribute is to expose these information to user space. The file will read “hotplug”, “hardwired” and “not used” if the information is available, and “unknown” otherwise.

/sys/bus/usb/devices/.../<hub_interface>/port<X>/connector

Defined on file sysfs-bus-usb

Link to the USB Type-C connector when available. This link is only created when USB Type-C Connector Class is enabled, and only if the system firmware is capable of describing the connection between a port and its connector.

/sys/bus/usb/devices/.../<hub_interface>/port<X>/disable

Defined on file sysfs-bus-usb

This file controls the state of a USB port, including Vbus power output (but only on hubs that support power switching -- most hubs don’t support it). If a port is disabled, the port is unusable: Devices attached to the port will not be detected, initialized, or enumerated.

/sys/bus/usb/devices/.../<hub_interface>/port<X>/early_stop

Defined on file sysfs-bus-usb

Some USB hosts have some watchdog mechanisms so that the device may enter ramdump if it takes a long time during port initialization. This attribute allows each port just has two attempts so that the port initialization will be failed quickly. In addition, if a port which is marked with early_stop has failed to initialize, it will ignore all future connections until this attribute is clear.

/sys/bus/usb/devices/.../<hub_interface>/port<X>/location

Defined on file sysfs-bus-usb

Some platforms provide usb port physical location through firmware. This is used by the kernel to pair up logical ports mapping to the same physical connector. The attribute exposes the raw location value as a hex integer.

/sys/bus/usb/devices/.../<hub_interface>/port<X>/over_current_count

Defined on file sysfs-bus-usb

Most hubs are able to detect over-current situations on their ports and report them to the kernel. This attribute is to expose the number of over-current situation occurred on a specific port to user space. This file will contain an unsigned 32 bit value which wraps to 0 after its maximum is reached. This file supports poll() for monitoring changes to this value in user space.

Any time this value changes the corresponding hub device will send a udev event with the following attributes:

OVER_CURRENT_PORT=/sys/bus/usb/devices/.../<hub_interface>/port<X>
OVER_CURRENT_COUNT=[current value of this sysfs attribute]

/sys/bus/usb/devices/.../<hub_interface>/port<X>/quirks

Defined on file sysfs-bus-usb

In some cases, we care about time-to-active for devices connected on a specific port (e.g. non-standard USB port like pogo pins), where the device to be connected is known in advance, and behaves well according to the specification. This attribute is a bit-field that controls the behavior of a specific port:

  • Bit 0 of this field selects the “old” enumeration scheme, as it is considerably faster (it only causes one USB reset instead of 2).

    The old enumeration scheme can also be selected globally using /sys/module/usbcore/parameters/old_scheme_first, but it is often not desirable as the new scheme was introduced to increase compatibility with more devices.

  • Bit 1 reduces TRSTRCY to the 10 ms that are required by the USB 2.0 specification, instead of the 50 ms that are normally used to help make enumeration work better on some high speed devices.

/sys/bus/usb/devices/.../<hub_interface>/port<X>/state

Defined on file sysfs-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() to monitor the state change from user space.

/sys/bus/usb/devices/.../<hub_interface>/port<X>/usb3_lpm_permit

Defined on file sysfs-bus-usb

Some USB3.0 devices are not friendly to USB3 LPM. usb3_lpm_permit attribute allows enabling/disabling usb3 lpm of a port. It takes effect both before and after a usb device is enumerated. Supported values are “0” if both u1 and u2 are NOT permitted, “u1” if only u1 is permitted, “u2” if only u2 is permitted, “u1_u2” if both u1 and u2 are permitted.

/sys/bus/usb/devices/.../enable_compliance

Defined on file sysfs-bus-usb-lvstest

Write to this node to set the port to compliance mode to test with Link Layer Validation device. It is needed for TD.7.34.

/sys/bus/usb/devices/.../get_dev_desc

Defined on file sysfs-bus-usb-lvstest

Write to this node to issue “Get Device Descriptor” for Link Layer Validation device. It is needed for TD.7.06.

/sys/bus/usb/devices/.../hot_reset

Defined on file sysfs-bus-usb-lvstest

Write to this node to issue “Reset” for Link Layer Validation device. It is needed for TD.7.29, TD.7.31, TD.7.34 and TD.7.35.

/sys/bus/usb/devices/.../ltm_capable

Defined on file sysfs-bus-usb

USB 3.0 devices may optionally support Latency Tolerance Messaging (LTM). They indicate their support by setting a bit in the bmAttributes field of their SuperSpeed BOS descriptors. If that bit is set for the device, ltm_capable will read “yes”. If the device doesn’t support LTM, the file will read “no”. The file will be present for all speeds of USB devices, and will always read “no” for USB 1.1 and USB 2.0 devices.

/sys/bus/usb/devices/.../power/usb2_hardware_lpm

Defined on file sysfs-bus-usb

If CONFIG_PM is set and a USB 2.0 lpm-capable device is plugged in to a xHCI host which support link PM, it will perform a LPM test; if the test is passed and host supports USB2 hardware LPM (xHCI 1.0 feature), USB2 hardware LPM will be enabled for the device and the USB device directory will contain a file named power/usb2_hardware_lpm. The file holds a string value (enable or disable) indicating whether or not USB2 hardware LPM is enabled for the device. Developer can write y/Y/1 or n/N/0 to the file to enable/disable the feature.

/sys/bus/usb/devices/.../power/usb2_lpm_besl

Defined on file sysfs-bus-usb

USB 2.0 devices that support hardware link power management (LPM) L1 sleep state now use a best effort service latency value (BESL) to indicate the best effort to resumption of service to the device after the initiation of the resume event. If the device does not have a preferred besl value then the host can select one instead. This usb2_lpm_besl attribute allows to tune the host selected besl value in order to tune power saving and service latency.

Supported values are 0 - 15. More information on how besl values map to microseconds can be found in USB 2.0 ECN Errata for Link Power Management, section 4.10)

/sys/bus/usb/devices/.../power/usb2_lpm_l1_timeout

Defined on file sysfs-bus-usb

USB 2.0 devices may support hardware link power management (LPM) L1 sleep state. The usb2_lpm_l1_timeout attribute allows tuning the timeout for L1 inactivity timer (LPM timer), e.g. needed inactivity time before host requests the device to go to L1 sleep. Useful for power management tuning. Supported values are 0 - 65535 microseconds.

/sys/bus/usb/devices/.../power/usb3_hardware_lpm_u1

/sys/bus/usb/devices/.../power/usb3_hardware_lpm_u2

Defined on file sysfs-bus-usb

If CONFIG_PM is set and a USB 3.0 lpm-capable device is plugged in to a xHCI host which supports link PM, it will check if U1 and U2 exit latencies have been set in the BOS descriptor; if the check is passed and the host supports USB3 hardware LPM, USB3 hardware LPM will be enabled for the device and the USB device directory will contain two files named power/usb3_hardware_lpm_u1 and power/usb3_hardware_lpm_u2. These files hold a string value (enable or disable) indicating whether or not USB3 hardware LPM U1 or U2 is enabled for the device.

/sys/bus/usb/devices/.../rx_lanes

Defined on file sysfs-bus-usb

Number of rx lanes the device is using. USB 3.2 adds Dual-lane support, 2 rx and 2 tx lanes over Type-C. Inter-Chip SSIC devices support asymmetric lanes up to 4 lanes per direction. Devices before USB 3.2 are single lane (rx_lanes = 1)

/sys/bus/usb/devices/.../tx_lanes

Defined on file sysfs-bus-usb

Number of tx lanes the device is using. USB 3.2 adds Dual-lane support, 2 rx and 2 tx -lanes over Type-C. Inter-Chip SSIC devices support asymmetric lanes up to 4 lanes per direction. Devices before USB 3.2 are single lane (tx_lanes = 1)

/sys/bus/usb/devices/.../typec

Defined on file sysfs-bus-usb

Symlink to the USB Type-C partner device. USB Type-C partner represents the component that communicates over the Configuration Channel (CC signal on USB Type-C connectors and cables) with the local port.

/sys/bus/usb/devices/.../u1_timeout

Defined on file sysfs-bus-usb-lvstest

Set “U1 timeout” for the downstream port where Link Layer Validation device is connected. Timeout value must be between 0 and 127. It is needed for TD.7.18, TD.7.19, TD.7.20 and TD.7.21.

/sys/bus/usb/devices/.../u2_timeout

Defined on file sysfs-bus-usb-lvstest

Set “U2 timeout” for the downstream port where Link Layer Validation device is connected. Timeout value must be between 0 and 127. It is needed for TD.7.18, TD.7.19, TD.7.20 and TD.7.21.

/sys/bus/usb/devices/.../u3_entry

Defined on file sysfs-bus-usb-lvstest

Write to this node to issue “U3 entry” for Link Layer Validation device. It is needed for TD.7.35 and TD.7.36.

/sys/bus/usb/devices/.../u3_exit

Defined on file sysfs-bus-usb-lvstest

Write to this node to issue “U3 exit” for Link Layer Validation device. It is needed for TD.7.36.

/sys/bus/usb/devices/.../warm_reset

Defined on file sysfs-bus-usb-lvstest

Write to this node to issue “Warm Reset” for Link Layer Validation device. It may be needed to properly reset an xHCI 1.1 host port if compliance mode needed to be explicitly enabled.

/sys/bus/usb/devices/<INTERFACE>/authorized

Defined on file sysfs-bus-usb

This allows to authorize (1) or deauthorize (0) individual interfaces instead a whole device in contrast to the device authorization. If a deauthorized interface will be authorized so the driver probing must be triggered manually by writing INTERFACE to /sys/bus/usb/drivers_probe This allows to avoid side-effects with drivers that need multiple interfaces.

A deauthorized interface cannot be probed or claimed.

/sys/bus/usb/devices/<INTERFACE>/wireless_status

Defined on file sysfs-bus-usb

Some USB devices use a USB receiver dongle to communicate wirelessly with their device using proprietary protocols. This attribute allows user-space to know whether the device is connected to its receiver dongle, and, for example, consider the device to be absent when choosing whether to show the device’s battery, show a headset in a list of outputs, or show an on-screen keyboard if the only wireless keyboard is turned off. This attribute is not to be used to replace protocol specific statuses available in WWAN, WLAN/Wi-Fi, Bluetooth, etc. If the device does not use a receiver dongle with a wireless device, 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 file sysfs-driver-hid

When read, this file returns the hex integer value in ASCII of the device’s HID country code (e.g. 21 for US). This file cannot be written.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/dragging

Defined on file sysfs-driver-hid-lenovo

If this setting is enabled, it is possible to do dragging by pressing the trackpoint. This requires press_to_select to be enabled.

Values are 0 or 1.

Applies to Thinkpad USB Keyboard with TrackPoint.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/fb_update_rate

Defined on file sysfs-driver-hid-picolcd

Make it possible to adjust defio refresh rate.

Reading: returns list of available refresh rates (expressed in Hz), the active refresh rate being enclosed in brackets (‘[’ and ‘]’)

Writing: accepts new refresh rate expressed in integer Hz within permitted rates.

Note: As device can barely do 2 complete refreshes a second it only makes sense to adjust this value if only one or two tiles get changed and it’s not appropriate to expect the application to flush its tiny changes explicitly at higher than default rate.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/firmware_version

Defined on file sysfs-driver-hid-lenovo-go

This displays the firmware version of the internal MCU.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/fn_lock

Defined on file sysfs-driver-hid-lenovo

This setting controls whether Fn Lock is enabled on the keyboard (i.e. if F1 is Mute or F1)

Values are 0 or 1

Applies to ThinkPad Compact (USB|Bluetooth) Keyboard with TrackPoint.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/fps_mode_dpi

Defined on file sysfs-driver-hid-lenovo-go

This displays the DPI of the right handle when the FPS mode switch is on.

Values are 500, 800, 1200, and 1800.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/fps_mode_dpi_index

Defined on file sysfs-driver-hid-lenovo-go

This displays the available options for the fps_mode_dpi attribute.

Values are 500, 800, 1200, and 1800.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/gamepad/auto_sleep_time

Defined on file sysfs-driver-hid-lenovo-go-s

This controls the sleep timer due to inactivity for the built-in controller.

Values are 0-255.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/gamepad/auto_sleep_time_range

Defined on file sysfs-driver-hid-lenovo-go-s

This displays the available options for the gamepad/auto_sleep_time attribute.

Values are 0-255.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/gamepad/dpad_mode

Defined on file sysfs-driver-hid-lenovo-go-s

This controls the operating mode of the built-in controllers D-pad.

Values are 4-way or 8-way.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/gamepad/dpad_mode_index

Defined on file sysfs-driver-hid-lenovo-go-s

This displays the available options for the gamepad/dpad_mode attribute.

Values are 4-way or 8-way.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/gamepad/mode

Defined on file sysfs-driver-hid-lenovo-go-s

This controls the operating mode of the built-in controller.

Values are xinput or dinput.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/gamepad/mode_index

Defined on file sysfs-driver-hid-lenovo-go-s

This displays the available options for the gamepad/mode attribute.

Values are xinput or dinput.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/gamepad/poll_rate

Defined on file sysfs-driver-hid-lenovo-go-s

This controls the poll rate in Hz of the built-in controller.

Values are 125, 250, 500, or 1000.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/gamepad/poll_rate_index

Defined on file sysfs-driver-hid-lenovo-go-s

This displays the available options for the gamepad/poll_rate attribute.

Values are 125, 250, 500, or 1000.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/hardware_generation

Defined on file sysfs-driver-hid-lenovo-go

This displays the hardware generation of the internal MCU.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/hardware_version

Defined on file sysfs-driver-hid-lenovo-go

This displays the hardware version of the internal MCU.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/imu/bypass_enabled

Defined on file sysfs-driver-hid-lenovo-go-s

This controls enabling or disabling the IMU bypass function. When enabled the IMU data is directly reported to the OS through an HIDRAW interface.

Values are true or false.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/imu/bypass_enabled_index

Defined on file sysfs-driver-hid-lenovo-go-s

This displays the available options for the imu/bypass_enabled attribute.

Values are true or false.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/imu/manufacturer

Defined on file sysfs-driver-hid-lenovo-go-s

This displays the manufacturer of the intertial measurment unit.

Values are Bosch or ST.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/imu/sensor_enabled

Defined on file sysfs-driver-hid-lenovo-go-s

This controls enabling or disabling the IMU.

Values are true, false, or wake-2s.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/imu/sensor_enabled_index

Defined on file sysfs-driver-hid-lenovo-go-s

This displays the available options for the imu/sensor_enabled attribute.

Values are true, false, or wake-2s.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kone/roccatkone<minor>/actual_dpi

Defined on file sysfs-driver-hid-roccat-kone

It is possible to switch the dpi setting of the mouse with the press of a button.

When read, this file returns the raw number of the actual dpi setting reported by the mouse. This number has to be further processed to receive the real dpi value:

VALUE

DPI

1

800

2

1200

3

1600

4

2000

5

2400

6

3200

This file is readonly.

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 file sysfs-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 file sysfs-driver-hid-roccat-kone

When read, this file returns the raw integer version number of the firmware reported by the mouse. Using the integer value eases further usage in other programs. To receive the real version number the decimal point has to be shifted 2 positions to the left. E.g. a returned value of 138 means 1.38

This file is readonly.

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 file sysfs-driver-hid-roccat-kone

The mouse can store 5 profiles which can be switched by the press of a button. A profile holds information like button mappings, sensitivity, the colors of the 5 leds and light effects.

When read, these files return the respective profile. The returned data is 975 bytes in size.

When written, this file lets one write the respective profile data back to the mouse. The data has to be 975 bytes long.

The mouse will reject invalid data, whereas the profile number stored in the profile doesn’t need to fit the number of the store.

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 file sysfs-driver-hid-roccat-kone

When read, this file returns the settings stored in the mouse. The size of the data is 36 bytes and holds information like the startup_profile, tcu state and calibration_data.

When written, this file lets write settings back to the mouse. The data has to be 36 bytes long. The mouse will reject invalid data.

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 file sysfs-driver-hid-roccat-kone

The integer value of this attribute ranges from 1 to 5.

When read, this attribute returns the number of the profile that’s active when the mouse is powered on.

When written, this file sets the number of the startup profile and the mouse activates this profile immediately.

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 file sysfs-driver-hid-roccat-kone

The mouse has a “Tracking Control Unit” which lets the user calibrate the laser power to fit the mousepad surface. When read, this file returns the current state of the TCU, where 0 means off and 1 means on.

Writing 0 in this file will switch the TCU off.

Writing 1 in this file will start the calibration which takes around 6 seconds to complete and activates the TCU.

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 file sysfs-driver-hid-roccat-kone

The mouse can be equipped with one of four supplied weights ranging from 5 to 20 grams which are recognized by the mouse and its value can be read out. When read, this file returns the raw value returned by the mouse which eases further processing in other software.

The values map to the weights as follows:

VALUE

WEIGHT

0

none

1

5g

2

10g

3

15g

4

20g

This file is readonly.

Users:

http://roccat.sourceforge.net

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/left_handle/auto_sleep_time

Defined on file sysfs-driver-hid-lenovo-go

This controls the sleep timer due to inactivity for the left removable controller.

Values are 0-255.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/left_handle/auto_sleep_time_range

Defined on file sysfs-driver-hid-lenovo-go

This displays the available options for the left_handle/auto_sleep_time attribute.

Values are 0-255.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/left_handle/calibrate_gyro

Defined on file sysfs-driver-hid-lenovo-go

This initiates or halts calibration of the left removable controller’s IMU.

Values are start, stop.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/left_handle/calibrate_gyro_index

Defined on file sysfs-driver-hid-lenovo-go

This displays the available options for the left_handle/calibrate_gyro attribute.

Values are start, stop.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/left_handle/calibrate_gyro_status

Defined on file sysfs-driver-hid-lenovo-go

This displays the result of the last attempted calibration of the left removable controller’s IMU.

Values are unknown, success, failure.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/left_handle/calibrate_gyro_trigger

Defined on file sysfs-driver-hid-lenovo-go

This displays the available options for the left_handle/calibrate_trigger attribute.

Values are start, stop.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/left_handle/calibrate_joystick

Defined on file sysfs-driver-hid-lenovo-go

This initiates or halts calibration of the left removable controller’s joystick.

Values are start, stop.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/left_handle/calibrate_joystick_index

Defined on file sysfs-driver-hid-lenovo-go

This displays the available options for the left_handle/calibrate_jotstick attribute.

Values are start, stop.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/left_handle/calibrate_joystick_status

Defined on file sysfs-driver-hid-lenovo-go

This displays the result of the last attempted calibration of the left removable controller’s joystick.

Values are unknown, success, failure.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/left_handle/calibrate_tirgger

Defined on file sysfs-driver-hid-lenovo-go

This initiates or halts calibration of the left removable controller’s trigger.

Values are start, stop.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/left_handle/calibrate_trigger_status

Defined on file sysfs-driver-hid-lenovo-go

This displays the result of the last attempted calibration of the left removable controller’s trigger.

Values are unknown, success, failure.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/left_handle/firmware_version

Defined on file sysfs-driver-hid-lenovo-go

This displays the left removable controller’s firmware version.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/left_handle/hardware_generation

Defined on file sysfs-driver-hid-lenovo-go

This displays the hardware generation of the left removable controller.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/left_handle/hardware_version

Defined on file sysfs-driver-hid-lenovo-go

This displays the hardware version of the left removable controller.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/left_handle/imu_bypass_enabled

Defined on file sysfs-driver-hid-lenovo-go

This controls enabling or disabling the IMU bypass function of the left removable controller.

Values are true or false.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/left_handle/imu_bypass_enabled_index

Defined on file sysfs-driver-hid-lenovo-go

This displays the available options for the left_handle/imu_bypass_enabled attribute.

Values are true or false.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/left_handle/imu_enabled

Defined on file sysfs-driver-hid-lenovo-go

This controls enabling or disabling the IMU of the left removable controller.

Values are true or false.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/left_handle/imu_enabled_index

Defined on file sysfs-driver-hid-lenovo-go

This displays the available options for the left_handle/imu_enabled attribute.

Values are true or false.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/left_handle/mode_index

Defined on file sysfs-driver-hid-lenovo-go

This displays the available options for the mode attribute.

Values are xinput or dinput.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/left_handle/product_version

Defined on file sysfs-driver-hid-lenovo-go

This displays the product version of the left removable controller.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/left_handle/protocol_version

Defined on file sysfs-driver-hid-lenovo-go

This displays the protocol version of the left removable controller.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/left_handle/reset

Defined on file sysfs-driver-hid-lenovo-go

Resets the left removable controller to factory defaults.

Writing 1 to this path initiates.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/left_handle/rumble_mode

Defined on file sysfs-driver-hid-lenovo-go

This controls setting the response behavior for rumble events for the left removable controller.

Values are fps, racing, standarg, spg, rpg.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/left_handle/rumble_mode_index

Defined on file sysfs-driver-hid-lenovo-go

This displays the available options for the left_handle/rumble_mode attribute.

Values are fps, racing, standarg, spg, rpg.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/left_handle/rumble_notification

Defined on file sysfs-driver-hid-lenovo-go

This controls enabling haptic rumble events for the left removable controller.

Values are true, false.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/left_handle/rumble_notification_index

Defined on file sysfs-driver-hid-lenovo-go

This displays the available options for the left_handle/rumble_notification attribute.

Values are true, false.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/mcu_id

Defined on file sysfs-driver-hid-lenovo-go-s

This displays the MCU Identification Number

Applies to Lenovo Legion Go S line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/mode

Defined on file sysfs-driver-hid-lenovo-go

This controls the operating mode of the built-in controller.

Values are xinput or dinput.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/mouse/step

Defined on file sysfs-driver-hid-lenovo-go-s

This controls which value is used for the mouse sensitivity.

Values are 1-127.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/mouse/step_range

Defined on file sysfs-driver-hid-lenovo-go-s

This displays the available options for the mouse/step attribute.

Values are 1-127.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/operation_mode

Defined on file sysfs-driver-hid-picolcd

Make it possible to switch the PicoLCD device between LCD (firmware) and bootloader (flasher) operation modes.

Reading: returns list of available modes, the active mode being enclosed in brackets (‘[’ and ‘]’)

Writing: causes operation mode switch. Permitted values are the non-active mode names listed when read.

Note: when switching mode the current PicoLCD HID device gets disconnected and reconnects after above delay (see attribute operation_mode_delay for its value).

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/operation_mode_delay

Defined on file sysfs-driver-hid-picolcd

Delay PicoLCD waits before restarting in new mode when operation_mode has changed.

Reading/Writing: It is expressed in ms and permitted range is 0..30000ms.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/os_mode

Defined on file sysfs-driver-hid-lenovo-go

This controls the behavior of built in chord combinations.

Values are windows or linux.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/os_mode

Defined on file sysfs-driver-hid-lenovo-go-s

This controls which value is used for the touchpads operating mode.

Values are windows or linux.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/os_mode_index

Defined on file sysfs-driver-hid-lenovo-go

This displays the available options for the os_mode attribute.

Values are windows or linux.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/os_mode_index

Defined on file sysfs-driver-hid-lenovo-go-s

This displays the available options for the os_mode attribute.

Values are windows or linux.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/press_speed

Defined on file sysfs-driver-hid-lenovo

This setting controls how fast the trackpoint needs to be pressed to generate a mouse click if press_to_select is enabled.

Values are decimal integers from 1 (slowest) to 255 (fastest).

Applies to Thinkpad USB Keyboard with TrackPoint.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/press_to_select

Defined on file sysfs-driver-hid-lenovo

This controls if mouse clicks should be generated if the trackpoint is quickly pressed. How fast this press has to be is being controlled by press_speed.

Values are 0 or 1.

Applies to Thinkpad USB Keyboard with TrackPoint.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/product_version

Defined on file sysfs-driver-hid-lenovo-go

This displays the product version of the internal MCU.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/quirks

Defined on file sysfs-driver-hid-multitouch

The integer value of this attribute corresponds to the quirks actually in place to handle the device’s protocol. When read, this attribute returns the current settings (see MT_QUIRKS_* in hid-multitouch.c). When written this attribute change on the fly the quirks, then the protocol to handle the device.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/release_to_select

Defined on file sysfs-driver-hid-lenovo

For details regarding this setting please refer to http://www.pc.ibm.com/ww/healthycomputing/trkpntb.html Values are 0 or 1. Applies to Thinkpad USB Keyboard with TrackPoint.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/report_descriptor

/sys/class/bluetooth/hci<addr>/<hid-bus>:<vendor-id>:<product-id>.<num>/report_descriptor

/sys/class/hidraw/hidraw<num>/device/report_descriptor

Defined on file sysfs-driver-hid

When read, this file returns the device’s raw binary HID report descriptor. This file cannot be written.

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>/reset_mcu

Defined on file sysfs-driver-hid-lenovo-go

Resets the internal MCU to factory defaults.

Writing 1 to this path initiates.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/right_handle/auto_sleep_time

Defined on file sysfs-driver-hid-lenovo-go

This controls the sleep timer due to inactivity for the right removable controller.

Values are 0-255.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/right_handle/auto_sleep_time_range

Defined on file sysfs-driver-hid-lenovo-go

This displays the available options for the right_handle/auto_sleep_time attribute.

Values are 0-255.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/right_handle/calibrate_gyro

Defined on file sysfs-driver-hid-lenovo-go

This initiates or halts calibration of the right removable controller’s IMU.

Values are start, stop.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/right_handle/calibrate_gyro_index

Defined on file sysfs-driver-hid-lenovo-go

This displays the available options for the right_handle/calibrate_gyro attribute.

Values are start, stop.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/right_handle/calibrate_gyro_status

Defined on file sysfs-driver-hid-lenovo-go

This displays the result of the last attempted calibration of the right removable controller’s IMU.

Values are unknown, success, failure.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/right_handle/calibrate_gyro_trigger

Defined on file sysfs-driver-hid-lenovo-go

This displays the available options for the right_handle/calibrate_trigger attribute.

Values are start, stop.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/right_handle/calibrate_joystick

Defined on file sysfs-driver-hid-lenovo-go

This initiates or halts calibration of the right removable controller’s joystick.

Values are start, stop.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/right_handle/calibrate_joystick_index

Defined on file sysfs-driver-hid-lenovo-go

This displays the available options for the right_handle/calibrate_jotstick attribute.

Values are start, stop.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/right_handle/calibrate_joystick_status

Defined on file sysfs-driver-hid-lenovo-go

This displays the result of the last attempted calibration of the right removable controller’s joystick.

Values are unknown, success, failure.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/right_handle/calibrate_tirgger

Defined on file sysfs-driver-hid-lenovo-go

This initiates or halts calibration of the right removable controller’s trigger.

Values are start, stop.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/right_handle/calibrate_trigger_status

Defined on file sysfs-driver-hid-lenovo-go

This displays the result of the last attempted calibration of the right removable controller’s trigger.

Values are unknown, success, failure.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/right_handle/firmware_version

Defined on file sysfs-driver-hid-lenovo-go

This displays the right removable controller’s firmware version.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/right_handle/hardware_generation

Defined on file sysfs-driver-hid-lenovo-go

This displays the hardware generation of the right removable controller.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/right_handle/hardware_version

Defined on file sysfs-driver-hid-lenovo-go

This displays the hardware version of the right removable controller.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/right_handle/imu_bypass_enabled

Defined on file sysfs-driver-hid-lenovo-go

This controls enabling or disabling the IMU bypass function of the right removable controller.

Values are true or false.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/right_handle/imu_bypass_enabled_index

Defined on file sysfs-driver-hid-lenovo-go

This displays the available options for the right_handle/imu_bypass_enabled attribute.

Values are true or false.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/right_handle/imu_enabled

Defined on file sysfs-driver-hid-lenovo-go

This controls enabling or disabling the IMU of the right removable controller.

Values are true or false.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/right_handle/imu_enabled_index

Defined on file sysfs-driver-hid-lenovo-go

This displays the available options for the right_handle/imu_enabled attribute.

Values are true or false.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/right_handle/product_version

Defined on file sysfs-driver-hid-lenovo-go

This displays the product version of the right removable controller.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/right_handle/protocol_version

Defined on file sysfs-driver-hid-lenovo-go

This displays the protocol version of the internal MCU.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/right_handle/protocol_version

Defined on file sysfs-driver-hid-lenovo-go

This displays the protocol version of the right removable controller.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/right_handle/reset

Defined on file sysfs-driver-hid-lenovo-go

Resets the right removable controller to factory defaults.

Writing 1 to this path initiates.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/right_handle/rumble_mode

Defined on file sysfs-driver-hid-lenovo-go

This controls setting the response behavior for rumble events for the right removable controller.

Values are fps, racing, standarg, spg, rpg.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/right_handle/rumble_mode_index

Defined on file sysfs-driver-hid-lenovo-go

This displays the available options for the right_handle/rumble_mode attribute.

Values are fps, racing, standarg, spg, rpg.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/right_handle/rumble_notification

Defined on file sysfs-driver-hid-lenovo-go

This controls enabling haptic rumble events for the right removable controller.

Values are true, false.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/right_handle/rumble_notification_index

Defined on file sysfs-driver-hid-lenovo-go

This displays the available options for the right_handle/rumble_notification attribute.

Values are true, false.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/rumble_intensity

Defined on file sysfs-driver-hid-lenovo-go

This controls setting the rumble intensity for both removable controllers.

Values are off, low, medium, high.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/rumble_intensity_index

Defined on file sysfs-driver-hid-lenovo-go

This displays the available options for the rumble_intensity attribute.

Values are off, low, medium, high.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/select_right

Defined on file sysfs-driver-hid-lenovo

This setting controls if the mouse click events generated by pressing the trackpoint (if press_to_select is enabled) generate a left or right mouse button click.

Values are 0 or 1.

Applies to Thinkpad USB Keyboard with TrackPoint.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/sensitivity

Defined on file sysfs-driver-hid-lenovo

This file contains the trackpoint sensitivity. Values are decimal integers from 1 (lowest sensitivity) to 255 (highest sensitivity). Applies to Thinkpad USB Keyboard with TrackPoint.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/touchpad/enabled

Defined on file sysfs-driver-hid-lenovo-go

This controls enabling or disabling the touchpad.

Values are true, false.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/touchpad/enabled

Defined on file sysfs-driver-hid-lenovo-go-s

This controls enabling or disabling the built-in touchpad.

Values are true or false.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/touchpad/enabled_index

Defined on file sysfs-driver-hid-lenovo-go

This displays the available options for the touchpad/enabled attribute.

Values are true, false.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/touchpad/enabled_index

Defined on file sysfs-driver-hid-lenovo-go-s

This displays the available options for the touchpad/enabled attribute.

Values are true or false.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/touchpad/linux_mode

Defined on file sysfs-driver-hid-lenovo-go-s

This controls behavior of the touchpad events when os_mode is set to linux.

Values are absolute or relative.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/touchpad/linux_mode_index

Defined on file sysfs-driver-hid-lenovo-go-s

This displays the available options for the touchpad/linux_mode attribute.

Values are absolute or relative.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/touchpad/vibration_enabled

Defined on file sysfs-driver-hid-lenovo-go

This controls enabling haptic rumble events for the touchpad.

Values are true, false.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/touchpad/vibration_enabled_index

Defined on file sysfs-driver-hid-lenovo-go

This displays the available options for the touchpad/vibration_enabled attribute.

Values are true, false.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/touchpad/vibration_intensity

Defined on file sysfs-driver-hid-lenovo-go

This controls setting the intensity of the touchpad haptics.

Values are off, low, medium, high.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/touchpad/vibration_intensity_index

Defined on file sysfs-driver-hid-lenovo-go

This displays the available options for the touchpad/vibration_intensity attribute.

Values are off, low, medium, high.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/touchpad/windows_mode

Defined on file sysfs-driver-hid-lenovo-go-s

This controls behavior of the touchpad events when os_mode is set to windows.

Values are absolute or relative.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/touchpad/windows_mode_index

Defined on file sysfs-driver-hid-lenovo-go-s

This displays the available options for the touchpad/windows_mode attribute.

Values are absolute or relative.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/tx_dongle/firmware_version

Defined on file sysfs-driver-hid-lenovo-go

This displays the firmware version of the internal wireless transmission dongle.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/tx_dongle/hardware_generation

Defined on file sysfs-driver-hid-lenovo-go

This displays the hardware generation of the internal wireless transmission dongle.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/tx_dongle/hardware_version

Defined on file sysfs-driver-hid-lenovo-go

This displays the hardware version of the internal wireless transmission dongle.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/tx_dongle/product_version

Defined on file sysfs-driver-hid-lenovo-go

This displays the product version of the internal wireless transmission dongle.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/tx_dongle/protocol_version

Defined on file sysfs-driver-hid-lenovo-go

This displays the protocol version of the internal wireless transmission dongle.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/bus/usb/devices/usbX/avoid_reset_quirk

Defined on file sysfs-bus-usb

Most devices have this set to zero.

If the value is 1, enable a USB quirk that prevents this device to use reset.

(read/write)

/sys/bus/usb/devices/usbX/bAlternateSetting

Defined on file sysfs-bus-usb

The current interface alternate setting number, in decimal.

See USB specs for its meaning.

/sys/bus/usb/devices/usbX/bConfigurationValue

Defined on file sysfs-bus-usb

While a USB device typically have just one configuration setting, some devices support multiple configurations.

This value shows the current configuration, in decimal.

Changing its value will change the device’s configuration to 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 file sysfs-bus-usb

Class code of the device, in hexadecimal.

See USB specs for its meaning.

/sys/bus/usb/devices/usbX/bDeviceProtocol

Defined on file sysfs-bus-usb

Protocol code of the device, in hexadecimal.

See USB specs for its meaning.

/sys/bus/usb/devices/usbX/bDeviceSubClass

Defined on file sysfs-bus-usb

Subclass code of the device, in hexadecimal.

See USB specs for its meaning.

/sys/bus/usb/devices/usbX/bInterfaceClass

Defined on file sysfs-bus-usb

Class code of the interface, in hexadecimal.

See USB specs for its meaning.

/sys/bus/usb/devices/usbX/bInterfaceNumber

Defined on file sysfs-bus-usb

Interface number, in hexadecimal.

See USB specs for its meaning.

/sys/bus/usb/devices/usbX/bInterfaceProtocol

Defined on file sysfs-bus-usb

Protocol code of the interface, in hexadecimal.

See USB specs for its meaning.

/sys/bus/usb/devices/usbX/bInterfaceSubClass

Defined on file sysfs-bus-usb

Subclass code of the interface, in hexadecimal.

See USB specs for its meaning.

/sys/bus/usb/devices/usbX/bMaxPacketSize0

Defined on file sysfs-bus-usb

Maximum endpoint 0 packet size, in decimal.

See USB specs for its meaning.

/sys/bus/usb/devices/usbX/bMaxPower

Defined on file sysfs-bus-usb

Maximum power consumption of the active configuration of the device, in miliamperes.

/sys/bus/usb/devices/usbX/bNumConfigurations

Defined on file sysfs-bus-usb

Number of the possible configurations of the device, in decimal. 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 file sysfs-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 file sysfs-bus-usb

Number of interfaces on this device, in decimal.

/sys/bus/usb/devices/usbX/bcdDevice

Defined on file sysfs-bus-usb

The device’s release number, in hexadecimal.

See USB specs for its meaning.

/sys/bus/usb/devices/usbX/bmAttributes

Defined on file sysfs-bus-usb

Attributes of the current configuration, in hexadecimal.

See USB specs for its meaning.

/sys/bus/usb/devices/usbX/bos_descriptors

Defined on file sysfs-bus-usb

Binary file containing the cached binary device object store (BOS) of the device. This consists of the BOS descriptor followed by the set of device capability descriptors. All descriptors read from this file are in bus-endian format. Note that the kernel will not request the BOS from a device if its bcdUSB is less than 0x0201.

/sys/bus/usb/devices/usbX/busnum

Defined on file sysfs-bus-usb

Number of the bus.

/sys/bus/usb/devices/usbX/configuration

Defined on file sysfs-bus-usb

Contents of the string descriptor associated with the current configuration. It may include the firmware version of a device and/or its serial number.

/sys/bus/usb/devices/usbX/descriptors

Defined on file sysfs-bus-usb

Contains the interface descriptors, in binary.

/sys/bus/usb/devices/usbX/devnum

Defined on file sysfs-bus-usb

USB interface device number, in decimal.

/sys/bus/usb/devices/usbX/devpath

Defined on file sysfs-bus-usb

String containing the USB interface device path.

/sys/bus/usb/devices/usbX/devspec

Defined on file sysfs-bus-usb

Displays the Device Tree Open Firmware node of the interface.

/sys/bus/usb/devices/usbX/ep_<N>/bEndpointAddress

Defined on file sysfs-bus-usb

The address of the endpoint described by this descriptor, in hexadecimal. The endpoint direction on this bitmapped field is 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 file sysfs-bus-usb

The interval of the endpoint as described on its descriptor, in hexadecimal. The actual interval depends on the version of 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 file sysfs-bus-usb

Number of bytes of the endpoint descriptor, in hexadecimal.

/sys/bus/usb/devices/usbX/ep_<N>/bmAttributes

Defined on file sysfs-bus-usb

Attributes which apply to the endpoint as described on its descriptor, in hexadecimal. The endpoint type on this bitmapped 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 file sysfs-bus-usb

Direction of the endpoint. Can be:

  • both (on control endpoints)

  • in

  • out

/sys/bus/usb/devices/usbX/ep_<N>/interval

Defined on file sysfs-bus-usb

Interval for polling endpoint for data transfers, in milisseconds or microseconds.

/sys/bus/usb/devices/usbX/ep_<N>/type

Defined on file sysfs-bus-usb

Descriptor type. Can be:

  • Control

  • Isoc

  • Bulk

  • Interrupt

  • unknown

/sys/bus/usb/devices/usbX/ep_<N>/wMaxPacketSize

Defined on file sysfs-bus-usb

Maximum packet size this endpoint is capable of sending or receiving, in hexadecimal.

/sys/bus/usb/devices/usbX/idProduct

Defined on file sysfs-bus-usb

Product ID, in hexadecimal.

/sys/bus/usb/devices/usbX/idVendor

Defined on file sysfs-bus-usb

Vendor ID, in hexadecimal.

/sys/bus/usb/devices/usbX/interface_authorized_default

Defined on file sysfs-bus-usb

This is used as value that determines if interfaces would be authorized by default. The value can be 1 or 0. It’s by default 1.

/sys/bus/usb/devices/usbX/manufacturer

Defined on file sysfs-bus-usb

Vendor specific string containing the name of the manufacturer of the device.

/sys/bus/usb/devices/usbX/maxchild

Defined on file sysfs-bus-usb

Number of ports of an USB hub

/sys/bus/usb/devices/usbX/persist

Defined on file sysfs-bus-usb

Keeps the device even if it gets disconnected.

/sys/bus/usb/devices/usbX/power/active_duration

Defined on file sysfs-bus-usb

The total time the device has not been suspended.

/sys/bus/usb/devices/usbX/power/autosuspend

Defined on file sysfs-bus-usb

Time in milliseconds for the device to autosuspend. If the value is negative, then autosuspend is prevented.

(read/write)

/sys/bus/usb/devices/usbX/power/connected_duration

Defined on file sysfs-bus-usb

The total time (in msec) that the device has been connected.

/sys/bus/usb/devices/usbX/power/level

Defined on file sysfs-bus-usb

/sys/bus/usb/devices/usbX/product

Defined on file sysfs-bus-usb

Vendor specific string containing the name of the device’s product.

/sys/bus/usb/devices/usbX/speed

Defined on file sysfs-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 file sysfs-bus-usb

Returns 1 if the device doesn’t support autosuspend. Otherwise, returns 0.

/sys/bus/usb/devices/usbX/urbnum

Defined on file sysfs-bus-usb

Number of URBs submitted for the whole device.

/sys/bus/usb/devices/usbX/version

Defined on file sysfs-bus-usb

String containing the USB device version, as encoded at the BCD descriptor.

/sys/bus/usb/drivers/.../new_id

Defined on file sysfs-bus-usb

Writing a device ID to this file will attempt to dynamically add a new device ID to a USB device driver. This may allow the driver to support more hardware than was included in the driver’s static device ID support table at compile time. The format for the device ID is: idVendor idProduct bInterfaceClass RefIdVendor RefIdProduct The vendor ID and device ID fields are required, the rest is optional. The Ref* tuple can be used to tell the driver to use the same driver_data for the new device as it is used for the reference device. Upon successfully adding an ID, the driver will probe for the device and attempt to bind to it. For example:

# echo "8086 10f5" > /sys/bus/usb/drivers/foo/new_id

Here add a new device (0458:7045) using driver_data from an already supported device (0458:704c):

# echo "0458 7045 0 0458 704c" > /sys/bus/usb/drivers/foo/new_id

Reading from this file will list all dynamically added device IDs in the same format, with one entry per line. For example:

# cat /sys/bus/usb/drivers/foo/new_id
8086 10f5
dead beef 06
f00d cafe

The list will be truncated at PAGE_SIZE bytes due to sysfs restrictions.

/sys/bus/usb/drivers/.../remove_id

Defined on file sysfs-bus-usb

Writing a device ID to this file will remove an ID that was dynamically added via the new_id sysfs entry. The format for the device ID is: idVendor idProduct. After successfully removing an ID, the driver will no longer support the device. This is useful to ensure auto probing won’t match the driver to the device. For example: # echo “046d c315” > /sys/bus/usb/drivers/foo/remove_id

Reading from this file will list the dynamically added device IDs, exactly like reading from the entry “/sys/bus/usb/drivers/.../new_id”

/sys/bus/vdpa/devices/.../driver_override

Defined on file sysfs-bus-vdpa

This file allows the driver for a device to be specified. When specified, only a driver with a name matching the value written to driver_override will have an opportunity to bind to the device. The override is specified by writing a string to the driver_override file (echo vhost-vdpa > driver_override) and may be cleared with an empty string (echo > driver_override). This returns the device to standard matching rules binding. Writing to driver_override does not automatically unbind the device from its current driver or make any attempt to automatically load the specified driver. If no driver with a matching name is currently loaded in the kernel, the device will not bind to any driver. This also allows devices to opt-out of driver binding using a driver_override name such as “none”. Only a single driver may be specified in the override, there is no support for parsing delimiters.

/sys/bus/vdpa/driver_probe

Defined on file sysfs-bus-vdpa

Writing a device name to this file will cause the kernel binds devices to a compatible driver.

This can be useful when /sys/bus/vdpa/drivers_autoprobe is disabled.

/sys/bus/vdpa/drivers/.../bind

Defined on file sysfs-bus-vdpa

Writing a device name to this file will cause the driver to attempt to bind to the device. This is useful for overriding default bindings.

/sys/bus/vdpa/drivers/.../unbind

Defined on file sysfs-bus-vdpa

Writing a device name to this file will cause the driver to attempt to unbind from the device. This may be useful when overriding default bindings.

/sys/bus/vdpa/drivers_autoprobe

Defined on file sysfs-bus-vdpa

This file determines whether new devices are immediately bound to a driver after the creation. It initially contains 1, which means the kernel automatically binds devices to a compatible driver immediately after they are created.

Writing “0” to this file disable this feature, any other string enable it.

/sys/bus/vmbus/devices/.../driver_override

Defined on file sysfs-bus-vmbus

This file allows the driver for a device to be specified which will override standard static and dynamic ID matching. When specified, only a driver with a name matching the value written to driver_override will have an opportunity to bind to the device. The override is specified by writing a string to the driver_override file (echo uio_hv_generic > driver_override) and may be cleared with an empty string (echo > driver_override). This returns the device to standard matching rules binding. Writing to driver_override does not automatically unbind the device from its current driver or make any attempt to automatically load the specified driver. If no driver with a matching name is currently loaded in the kernel, the device will not bind to any driver. This also allows devices to opt-out of driver binding using a driver_override name such as “none”. Only a single driver may be specified in the override, there is no support for parsing delimiters.

/sys/bus/w1/devices/.../alarms

Defined on file sysfs-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 trimmed to device min/max capabilities. Values are integer as they are stored in a 8bit register in the device. Lowest value is automatically put to TL. Once set, alarms could be search at master level, refer to Introduction to the 1-wire (w1) subsystem for detailed information

Users:

any user space application which wants to communicate with w1_term device

/sys/bus/w1/devices/.../conv_time

Defined on file sysfs-driver-w1_therm

(RW) Get, set, or measure a temperature conversion time. The setting remains active until a resolution change. Then it is reset to default (datasheet) conversion time for a new resolution.

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 single temperature conversion, measure an actual value. Increase it by 20% for temperature range. A new conversion time can be obtained by reading this same 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 file sysfs-driver-w1_therm

(WO) writing that file will either trigger a save of the device data to its embedded EEPROM, either restore data embedded in device EEPROM. Be aware that devices support limited 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 with w1_term device

/sys/bus/w1/devices/.../ext_power

Defined on file sysfs-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 with w1_term device

/sys/bus/w1/devices/.../features

Defined on file sysfs-driver-w1_therm

(RW) Control optional driver settings. Bit masks to read/write (bitwise OR):

1

Enable check for conversion success. If byte 6 of scratchpad memory is 0xC after conversion, and temperature reads 85.00 (powerup value) or 127.94 (insufficient power) - return a conversion error.

2

Enable poll for conversion completion. Generate read cycles after the conversion start and wait for 1’s. In parasite power 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 file sysfs-driver-w1_therm

(RW) get or set the device resolution (on supported devices, if not, this entry is not present). Note that the resolution will be changed only in device RAM, so it will be cleared when power is lost. Trigger a ‘save’ to EEPROM command to keep values after power-on. Read or write are :

  • ‘9..14’: device resolution in bit or 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 the actual resolution is read back from the chip and verified. Error is reported if the results differ.

Users:

any user space application which wants to communicate with w1_term device

/sys/bus/w1/devices/.../temperature

Defined on file sysfs-driver-w1_therm

(RO) return the temperature in 1/1000 degC.

  • If a bulk read has been triggered, it will directly return the temperature computed when the bulk read occurred, if available. If not yet available, nothing is returned (a debug kernel message is sent), you should retry later on.

  • If no bulk read has been triggered, it will trigger a conversion and send the result. Note that the conversion duration depend on the resolution (if device support this feature). It takes 94ms in 9bits resolution, 750ms for 12bits.

Users:

any user space application which wants to communicate with w1_term device

/sys/bus/w1/devices/.../w1_slave

Defined on file sysfs-driver-w1_therm

(RW) return the temperature in 1/1000 degC. read: return 2 lines with the hexa output data sent on the bus, return the CRC check and temperature in 1/1000 degC write:

  • ‘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 to Kernel driver w1_therm for detailed information.

Users:

any user space application which wants to communicate with w1_term device

/sys/bus/w1/devices/19-<id>/speed

Defined on file sysfs-driver-w1_ds28e17

When written, this file sets the I2C speed on the connected DS28E17 chip. When read, it reads the current setting from the DS28E17 chip.

Valid values: 100, 400, 900 [kBaud].

Default 100, can be set by w1_ds28e17.speed= module parameter.

Users:

w1_ds28e17 driver

/sys/bus/w1/devices/19-<id>/stretch

Defined on file sysfs-driver-w1_ds28e17

When written, this file sets the multiplier used to calculate the busy timeout for I2C operations on the connected DS28E17 chip. When read, returns the current setting. Valid values: 1 to 9.

Default 1, can be set by w1_ds28e17.stretch= module parameter.

Users:

w1_ds28e17 driver

/sys/bus/w1/devices/w1_bus_masterXX/therm_bulk_read

Defined on file sysfs-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 sensor value has not been read yet

  • ‘0’ :

    no bulk operation. Reading temperature will trigger a conversion on each device

write:

‘trigger’: trigger a bulk read on all supporting devices on the bus

Note that if a bulk read is sent but one sensor is not read immediately, the next access to temperature on this device will return the temperature measured at the time of issue of the bulk read command (not the current temperature).

Users:

any user space application which wants to communicate with w1_term device

/sys/bus/wmi/devices/.../driver_override

Defined on file sysfs-bus-wmi

This file allows the driver for a device to be specified which will override standard ID table matching. When specified, only a driver with a name matching the value written to driver_override will have an opportunity to bind to the device. The override is specified by writing a string to the driver_override file (echo wmi-event-dummy > driver_override). The override may be cleared with an empty string (echo > driver_override) which returns the device to standard matching rules binding. Writing to driver_override does not automatically unbind the device from its current driver or make any attempt to automatically load the specified driver. If no driver with a matching name is currently loaded in the kernel, the device will not bind to any driver. This also allows devices to opt-out of driver binding using a driver_override name such as “none”. Only a single driver may be specified in the override, there is no support for parsing delimiters.

/sys/bus/wmi/devices/.../expensive

Defined on file sysfs-bus-wmi

This file contains a boolean flag signaling if interacting with the given WMI device will consume significant CPU resources. The WMI driver core will take care of enabling/disabling such WMI devices.

/sys/bus/wmi/devices/.../guid

Defined on file sysfs-bus-wmi

This file contains the GUID used to match WMI devices to compatible WMI drivers. This GUID is not necessarily unique inside a given machine, it is solely used to identify the interface exposed by a given WMI device.

/sys/bus/wmi/devices/.../instance_count

Defined on file sysfs-bus-wmi

This file contains the number of WMI object instances being present on a given WMI device. It contains a non-negative number.

/sys/bus/wmi/devices/.../modalias

Defined on file sysfs-bus-wmi

This file contains the MODALIAS value emitted by uevent for a given WMI device.

Format: wmi:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.

/sys/bus/wmi/devices/.../notify_id

Defined on file sysfs-bus-wmi

This file contains the WMI notify ID used internally to map ACPI events to WMI event devices. It contains two ASCII letters.

/sys/bus/wmi/devices/.../object_id

Defined on file sysfs-bus-wmi

This file contains the WMI object ID used internally to construct the ACPI method names used by non-event WMI devices. It contains two ASCII letters.

/sys/bus/wmi/devices/.../setable

Defined on file sysfs-bus-wmi

This file contains a boolean flags signaling the data block associated with the given WMI device is writable. If the given WMI device is not associated with a data block, then this file will not exist.

/sys/bus/wmi/devices/44FADEB1-B204-40F2-8581-394BBDC1B651[-X]/firmware_update_request

Defined on file sysfs-platform-intel-wmi-sbl-fw-update

Allow user space entities to trigger update of Slim Bootloader (SBL). This attribute normally has a value of 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 file sysfs-platform-dell-privacy-wmi

Allow user space to check current dell privacy device state. Describes the Device State class exposed by BIOS which can be consumed by various applications interested in knowing the Privacy feature capabilities

Attributes:
Microphone:

Identifies the local microphone can be muted by hardware, no applications is available to capture system mic sound

Camera Shutter:

Identifies camera shutter controlled by hardware, which is a micromechanical shutter assembly that is built onto the camera module to block capturing images from outside the laptop

Values:
muted:

Identifies the privacy device is turned off and cannot send stream to OS applications

unmuted:

Identifies the privacy device is turned on, audio or camera driver can get stream from mic and 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 file sysfs-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 enhance Dell’s commitment to platform privacy for MIC, Camera, and ePrivacy screens. The supported hardware privacy devices are:

Attributes:
Microphone Mute:

Identifies the local microphone can be muted by hardware, no applications is available to capture system mic sound

Camera Shutter:

Identifies camera shutter controlled by hardware, which is a micromechanical shutter assembly that is built onto the camera module to block capturing images from 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 file sysfs-platform-intel-wmi-thunderbolt

Modify the platform force power state, influencing Thunderbolt controllers to turn on or off when no devices are connected (write-only) There are two available states:

  • 0 -> Force power disabled

  • 1 -> Force power enabled

Symbols under /sys/class

/sys/class/

Defined on file sysfs-class

The /sys/class directory will consist of a group of subdirectories describing individual classes of devices in the kernel. The individual directories will consist of either subdirectories, or symlinks to other directories.

All programs that use this directory tree must be able to handle both subdirectories or symlinks in order to work properly.

Users:

udev <linux-hotplug-devel@lists.sourceforge.net>

/sys/class/accel/accel<n>/device/armcp_kernel_ver

Defined on file sysfs-driver-habanalabs

Version of the Linux kernel running on the device’s CPU. Will be DEPRECATED in Linux kernel version 5.10, and be replaced with cpucp_kernel_ver

/sys/class/accel/accel<n>/device/armcp_ver

Defined on file sysfs-driver-habanalabs

Version of the application running on the device’s CPU Will be DEPRECATED in Linux kernel version 5.10, and be replaced with cpucp_ver

/sys/class/accel/accel<n>/device/clk_cur_freq_mhz

Defined on file sysfs-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 file sysfs-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 actual frequency value of the device clock. This property is valid only for the Gaudi ASIC family

/sys/class/accel/accel<n>/device/cpld_ver

Defined on file sysfs-driver-habanalabs

Version of the Device’s CPLD F/W

/sys/class/accel/accel<n>/device/cpucp_kernel_ver

Defined on file sysfs-driver-habanalabs

Version of the Linux kernel running on the device’s CPU

/sys/class/accel/accel<n>/device/cpucp_ver

Defined on file sysfs-driver-habanalabs

Version of the application running on the device’s CPU

/sys/class/accel/accel<n>/device/device_type

Defined on file sysfs-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 file sysfs-driver-habanalabs

A binary file attribute that contains the contents of the on-board EEPROM

/sys/class/accel/accel<n>/device/fuse_ver

Defined on file sysfs-driver-habanalabs

Displays the device’s version from the eFuse

/sys/class/accel/accel<n>/device/fw_os_ver

Defined on file sysfs-driver-habanalabs

Version of the firmware OS running on the device’s CPU

/sys/class/accel/accel<n>/device/hard_reset

Defined on file sysfs-driver-habanalabs

Interface to trigger a hard-reset operation for the device. Hard-reset will reset ALL internal components of the device except for the PCI interface and the internal PLLs

/sys/class/accel/accel<n>/device/hard_reset_cnt

Defined on file sysfs-driver-habanalabs

Displays how many times the device have undergone a hard-reset operation since the driver was loaded

/sys/class/accel/accel<n>/device/high_pll

Defined on file sysfs-driver-habanalabs

Allows the user to set the maximum clock frequency for MME, TPC and IC when the power management profile is set to “automatic”. This property is valid only for the Goya ASIC family

/sys/class/accel/accel<n>/device/ic_clk

Defined on file sysfs-driver-habanalabs

Allows the user to set the maximum clock frequency, in Hz, of the Interconnect fabric. Writes to this parameter affect the device only when the power management profile is set to “manual” mode. The device IC clock might be set to lower value than the maximum. The user should read the ic_clk_curr to see the actual frequency value of the IC. This property is valid only for the Goya ASIC family

/sys/class/accel/accel<n>/device/ic_clk_curr

Defined on file sysfs-driver-habanalabs

Displays the current clock frequency, in Hz, of the Interconnect fabric. This property is valid only for the Goya ASIC family

/sys/class/accel/accel<n>/device/infineon_ver

Defined on file sysfs-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 file sysfs-driver-habanalabs

Allows the user to set the maximum power consumption of the device in milliwatts.

/sys/class/accel/accel<n>/device/mme_clk

Defined on file sysfs-driver-habanalabs

Allows the user to set the maximum clock frequency, in Hz, of the MME compute engine. Writes to this parameter affect the device only when the power management profile is set to “manual” mode. The device MME clock might be set to lower value than the maximum. The user should read the mme_clk_curr to see the actual frequency value of the MME. This property is valid only for the Goya ASIC family

/sys/class/accel/accel<n>/device/mme_clk_curr

Defined on file sysfs-driver-habanalabs

Displays the current clock frequency, in Hz, of the MME compute engine. This property is valid only for the Goya ASIC family

/sys/class/accel/accel<n>/device/module_id

Defined on file sysfs-driver-habanalabs

Displays the device’s module id

/sys/class/accel/accel<n>/device/parent_device

Defined on file sysfs-driver-habanalabs

Displays the name of the parent device of the accel device

/sys/class/accel/accel<n>/device/pci_addr

Defined on file sysfs-driver-habanalabs

Displays the PCI address of the device. This is needed so the user would be able to open a device based on its PCI address

/sys/class/accel/accel<n>/device/pm_mng_profile

Defined on file sysfs-driver-habanalabs

Power management profile. Values are “auto”, “manual”. In “auto” mode, the driver will set the maximum clock frequency to a high value when a user-space process opens the device’s file (unless it was already opened by another process). The driver will set the max clock frequency to a low value when there are no user processes that are opened on the device’s file. In “manual” mode, the user sets the maximum clock frequency by writing to ic_clk, mme_clk and tpc_clk. This property is valid only for the Goya ASIC family

/sys/class/accel/accel<n>/device/preboot_btl_ver

Defined on file sysfs-driver-habanalabs

Version of the device’s preboot F/W code

/sys/class/accel/accel<n>/device/security_enabled

Defined on file sysfs-driver-habanalabs

Displays the device’s security status

/sys/class/accel/accel<n>/device/soft_reset

Defined on file sysfs-driver-habanalabs

Interface to trigger a soft-reset operation for the device. Soft-reset will reset only the compute and DMA engines of the device

/sys/class/accel/accel<n>/device/soft_reset_cnt

Defined on file sysfs-driver-habanalabs

Displays how many times the device have undergone a soft-reset operation since the driver was loaded

/sys/class/accel/accel<n>/device/status

Defined on file sysfs-driver-habanalabs

Status of the card:

  • “operational” - Device is available for work.

  • “in reset” - Device is going through reset, will be available shortly.

  • “disabled” - Device is not usable.

  • “needs reset” - Device is not usable until a hard reset is initiated.

  • “in device creation” - Device is not available yet, as it is still initializing.

  • “in reset after device release” - Device is going through a compute-reset which is executed after a device release (relevant for Gaudi2 only).

/sys/class/accel/accel<n>/device/thermal_ver

Defined on file sysfs-driver-habanalabs

Version of the Device’s thermal daemon

/sys/class/accel/accel<n>/device/tpc_clk

Defined on file sysfs-driver-habanalabs

Allows the user to set the maximum clock frequency, in Hz, of the TPC compute engines. Writes to this parameter affect the device only when the power management profile is set to “manual” mode. The device TPC clock might be set to lower value than the maximum. The user should read the tpc_clk_curr to see the actual frequency value of the TPC. This property is valid only for Goya ASIC family

/sys/class/accel/accel<n>/device/tpc_clk_curr

Defined on file sysfs-driver-habanalabs

Displays the current clock frequency, in Hz, of the TPC compute engines. This property is valid only for the Goya ASIC family

/sys/class/accel/accel<n>/device/uboot_ver

Defined on file sysfs-driver-habanalabs

Version of the u-boot running on the device’s CPU

/sys/class/accel/accel<n>/device/vrm_ver

Defined on file sysfs-driver-habanalabs

Version of the Device’s Voltage Regulator Monitor F/W code. N/A to GOYA and GAUDI

/sys/class/ata_*

Defined on file sysfs-ata

Provide a place in sysfs for storing the ATA topology of the system. This allows retrieving various information about ATA objects.

Files under /sys/class/ata_port

For each port, a directory ataX is created where X is the ata_port_id of the port. The device parent is the ata host device.

/sys/class/ata_device/devX[.Y].Z/spdn_cnt

/sys/class/ata_device/devX[.Y].Z/gscr

/sys/class/ata_device/devX[.Y].Z/ering

/sys/class/ata_device/devX[.Y].Z/id

/sys/class/ata_device/devX[.Y].Z/pio_mode

/sys/class/ata_device/devX[.Y].Z/xfer_mode

/sys/class/ata_device/devX[.Y].Z/dma_mode

/sys/class/ata_device/devX[.Y].Z/class

Defined on file sysfs-ata

spdn_cnt: (RO) Number of times libata decided to lower the

speed of link due to errors.

gscr: (RO) Cached result of the dump of PM GSCR

register. Valid registers are:

0: SATA_PMP_GSCR_PROD_ID, 1: SATA_PMP_GSCR_REV, 2: SATA_PMP_GSCR_PORT_INFO, 32: SATA_PMP_GSCR_ERROR, 33: SATA_PMP_GSCR_ERROR_EN, 64: SATA_PMP_GSCR_FEAT, 96: SATA_PMP_GSCR_FEAT_EN, 130: SATA_PMP_GSCR_SII_GPIO

Only valid if the device is a PM.

ering: (RO) Formatted output of the error ring of the

device.

id: (RO) Cached result of IDENTIFY command, as

described in ATA8 7.16 and 7.17. Only valid if the device is not a PM.

pio_mode: (RO) 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 file sysfs-ata

(RO) Shows the DSM TRIM mode currently used by the device. Valid values are:

unsupported: Drive does not support DSM TRIM

unqueued: Drive supports unqueued DSM TRIM only

queued: Drive supports queued DSM TRIM

forced_unqueued: Drive’s queued DSM support is known to

be buggy and only unqueued TRIM commands are sent

Defined on file sysfs-ata

hw_sata_spd_limit: (RO) Maximum speed supported by the

connected SATA device.

sata_spd_limit: (RO) Maximum speed imposed by libata.

sata_spd: (RO) Current speed of the link

eg. 1.5, 3 Gbps etc.

Files under /sys/class/ata_device

Behind each link, up to two ata devices are created. The name of the directory is devX[.Y].Z where: - X is ata_port_id of the port where the device is connected, - Y the port of the PM if any, and - Z the device id: for PATA, there is usually 2 devices [0,1], only 1 for SATA.

Defined on file sysfs-ata

nr_pmp_links: (RO) If a SATA Port Multiplier (PM) is

connected, the number of links behind it.

idle_irq: (RO) Number of IRQ received by the port while

idle [some ata HBA only].

/sys/class/ata_port/ataX/port_no

Defined on file sysfs-ata

(RO) Host local port number. While registering host controller, port numbers are tracked based upon number of ports available on the controller. This attribute is needed by udev for composing persistent links in /dev/disk/by-path.

Files under /sys/class/ata_link

Behind each port, there is a ata_link. If there is a SATA PM in the topology, 15 ata_link objects are created.

If a link is behind a port, the directory name is linkX, where X is ata_port_id of the port. If a link is behind a PM, its name is linkX.Y where X is ata_port_id of the parent port and Y the PM port.

/sys/class/backlight/<backlight>/<ambient light zone>_dim

Defined on file sysfs-class-backlight

Control the dim brightness for <ambient light zone> on this <backlight>. Values are between 0 and 127, typically set to 0. Full off when the backlight is disabled. This file will also show the dim brightness level stored for this <ambient light zone>.

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 file sysfs-class-backlight

Control the maximum brightness for <ambient light zone> on this <backlight>. Values are between 0 and 127. This file will also show the brightness level stored for this <ambient light zone>.

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 file sysfs-class-backlight-driver-lm3533

Get the ALS output channel used as input in ALS-current-control mode (0, 1), where:

0

out_current0 (backlight 0)

1

out_current1 (backlight 1)

/sys/class/backlight/<backlight>/als_en

Defined on file sysfs-class-backlight-driver-lm3533

Enable ALS-current-control mode (0, 1).

/sys/class/backlight/<backlight>/ambient_light_level

Defined on file sysfs-class-backlight

(RO) Get conversion value of the light sensor.

The value is automatically updated every 80 ms when the light sensor is enabled.

The value range is device-driver specific:

For ADP8870:

It returns integer between 0 (dark) and 8000 (max ambient brightness).

For ADP8860:

It returns a 13-bits integer.

/sys/class/backlight/<backlight>/ambient_light_zone

Defined on file sysfs-class-backlight

(RW) Read or write the specific brightness level at which the backlight 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 level operation.

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 file sysfs-class-backlight-lm3639

(WO) Write to the backlight mapping mode. The backlight current can be mapped for either exponential (value “0”) or linear mapping modes (default).

/sys/class/backlight/<backlight>/id

Defined on file sysfs-class-backlight-driver-lm3533

Get the id of this backlight (0, 1).

/sys/class/backlight/<backlight>/linear

Defined on file sysfs-class-backlight-driver-lm3533

Set the brightness-mapping mode (0, 1), where:

0

exponential mode

1

linear mode

/sys/class/backlight/<backlight>/pwm

Defined on file sysfs-class-backlight-driver-lm3533

Set the PWM-input control mask (5 bits), where:

bit 5

PWM-input enabled in Zone 4

bit 4

PWM-input enabled in Zone 3

bit 3

PWM-input enabled in Zone 2

bit 2

PWM-input enabled in Zone 1

bit 1

PWM-input enabled in Zone 0

bit 0

PWM-input enabled

/sys/class/backlight/<backlight>/scale

Defined on file sysfs-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 being non-linear. To achieve a linear perception of brightness changes controls like sliders need to apply a logarithmic mapping for backlights 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. Brightness controls should apply a logarithmic mapping for a linear perception.

non-linear

The brightness changes non-linearly with each step. Brightness controls should use a linear mapping for a linear perception.

/sys/class/bdi/<bdi>/

Defined on file sysfs-class-bdi

Provide a place in sysfs for the backing_dev_info object. This allows setting and retrieving various BDI specific variables.

The <bdi> identifier can be either of the following:

MAJOR:MINOR

Device number for block devices, or value of st_dev on non-block filesystems which provide their own BDI, such as NFS and FUSE.

MAJOR:MINOR-fuseblk

Value of st_dev on fuseblk filesystems.

default

The default backing dev, used for non-block device backed filesystems which do not provide their own BDI.

/sys/class/bdi/<bdi>/max_bytes

Defined on file sysfs-class-bdi

Allows limiting a particular device to use not more than the given ‘max_bytes’ of the write-back cache. This is useful in situations where we want to avoid one device taking all or most of the write-back cache. For example in case of an NFS mount that is prone to get stuck, a FUSE mount which cannot be trusted to play fair, or a nbd device.

(read-write)

/sys/class/bdi/<bdi>/max_ratio

Defined on file sysfs-class-bdi

Allows limiting a particular device to use not more than the given percentage of the write-back cache. This is useful in situations where we want to avoid one device taking all or most of the write-back cache. For example in case of an NFS mount that is prone to get stuck, or a FUSE mount which cannot be trusted to play fair.

(read-write)

/sys/class/bdi/<bdi>/max_ratio_fine

Defined on file sysfs-class-bdi

Allows limiting a particular device to use not more than the given value of the write-back cache. The value is given as part of 1 million. This is useful in situations where we want to avoid one device taking all or most of the write-back cache. For example in case of an NFS mount that is prone to get stuck, or a FUSE mount which cannot be trusted to play fair.

(read-write)

/sys/class/bdi/<bdi>/min_bytes

Defined on file sysfs-class-bdi

Under normal circumstances each device is given a part of the total write-back cache that relates to its current average writeout speed in relation to the other devices.

The ‘min_bytes’ parameter allows assigning a minimum percentage of the write-back cache to a particular device expressed in bytes. For example, this is useful for providing a minimum QoS.

(read-write)

/sys/class/bdi/<bdi>/min_ratio

Defined on file sysfs-class-bdi

Under normal circumstances each device is given a part of the total write-back cache that relates to its current average writeout speed in relation to the other devices.

The ‘min_ratio’ parameter allows assigning a minimum percentage of the write-back cache to a particular device. For example, this is useful for providing a minimum QoS.

(read-write)

/sys/class/bdi/<bdi>/min_ratio_fine

Defined on file sysfs-class-bdi

Under normal circumstances each device is given a part of the total write-back cache that relates to its current average writeout speed in relation to the other devices.

The ‘min_ratio_fine’ parameter allows assigning a minimum reserve of the write-back cache to a particular device. The value is expressed as part of 1 million. For example, this is useful for providing a minimum QoS.

(read-write)

/sys/class/bdi/<bdi>/read_ahead_kb

Defined on file sysfs-class-bdi

Size of the read-ahead window in kilobytes

(read-write)

/sys/class/bdi/<bdi>/stable_pages_required

Defined on file sysfs-class-bdi

If set, the backing device requires that all pages comprising a write request must not be changed until writeout is complete.

(read-only)

/sys/class/bdi/<bdi>/strict_limit

Defined on file sysfs-class-bdi

Forces per-BDI checks for the share of given device in the write-back cache even before the global background dirty limit is reached. This is useful in situations where the global limit is much higher than affordable for given relatively slow (or untrusted) device. Turning strictlimit on has no visible effect if max_ratio is equal to 100%.

(read-write)

/sys/class/bsr/bsr*/bsr_length

Defined on file sysfs-class-bsr

(RO) The length of memory region that can be mapped in bytes.

/sys/class/bsr/bsr*/bsr_size

Defined on file sysfs-class-bsr

(RO) Size of the barrier-synchronization register (BSR) register in bytes.

/sys/class/bsr/bsr*/bsr_stride

Defined on file sysfs-class-bsr

(RO) The stride or the interval at which the allocated BSR bytes repeat within the mapping.

/sys/class/c2port/

Defined on file sysfs-c2port

The /sys/class/c2port/ directory will contain files and directories that will provide a unified interface to the C2 port interface.

/sys/class/c2port/c2portX

Defined on file sysfs-c2port

The /sys/class/c2port/c2portX/ directory is related to X-th C2 port into the system. Each directory will contain files to manage and control its C2 port.

/sys/class/c2port/c2portX/access

Defined on file sysfs-c2port

The /sys/class/c2port/c2portX/access file enable the access to the C2 port from the system. No commands can be sent till this entry is set to 0.

/sys/class/c2port/c2portX/dev_id

Defined on file sysfs-c2port

The /sys/class/c2port/c2portX/dev_id file show the device ID of the connected micro.

/sys/class/c2port/c2portX/flash_access

Defined on file sysfs-c2port

The /sys/class/c2port/c2portX/flash_access file enable the access to the on-board flash of the connected micro. No commands can be sent till this entry is set to 0.

/sys/class/c2port/c2portX/flash_block_size

Defined on file sysfs-c2port

The /sys/class/c2port/c2portX/flash_block_size file show the on-board flash block size of the connected micro.

/sys/class/c2port/c2portX/flash_blocks_num

Defined on file sysfs-c2port

The /sys/class/c2port/c2portX/flash_blocks_num file show the on-board flash blocks number of the connected micro.

/sys/class/c2port/c2portX/flash_data

Defined on file sysfs-c2port

The /sys/class/c2port/c2portX/flash_data file export the content of the on-board flash of the connected micro.

/sys/class/c2port/c2portX/flash_erase

Defined on file sysfs-c2port

The /sys/class/c2port/c2portX/flash_erase file execute the “erase” command on the on-board flash of the connected micro.

/sys/class/c2port/c2portX/reset

Defined on file sysfs-c2port

The /sys/class/c2port/c2portX/reset file execute a “reset” command on the connected micro.

/sys/class/c2port/c2portX/rev_id

Defined on file sysfs-c2port

The /sys/class/c2port/c2portX/rev_id file show the revision ID of the connected micro.

/sys/class/chromeos/<ec-device-name>/flashinfo

Defined on file sysfs-class-chromeos

Show the EC flash information.

/sys/class/chromeos/<ec-device-name>/kb_wake_angle

Defined on file sysfs-class-chromeos

Control the keyboard wake lid angle. Values are between 0 and 360. This file will also show the keyboard wake lid angle by querying the hardware.

/sys/class/chromeos/<ec-device-name>/lightbar/brightness

Defined on file sysfs-class-chromeos-driver-cros-ec-lightbar

Writing to this file adjusts the overall brightness of the lightbar, separate from any color intensity. The valid range is 0 (off) to 255 (maximum brightness).

/sys/class/chromeos/<ec-device-name>/lightbar/interval_msec

Defined on file sysfs-class-chromeos-driver-cros-ec-lightbar

The lightbar is controlled by an embedded controller (EC), which also manages the keyboard, battery charging, fans, and other system hardware. To prevent unprivileged users from interfering with the other EC functions, the rate at which the lightbar control files can be read or written is limited.

Reading this file will return the number of milliseconds that must elapse between accessing any of the lightbar functions through this interface. Going faster will simply block until the necessary interval has lapsed. The interval applies uniformly to all accesses of any kind by any user.

/sys/class/chromeos/<ec-device-name>/lightbar/led_rgb

Defined on file sysfs-class-chromeos-driver-cros-ec-lightbar

This allows you to control each LED segment. If the lightbar is already running one of the automatic sequences, you probably won’t see anything change because your color setting will be almost immediately replaced. To get useful results, you should stop the lightbar sequence first.

The values written to this file are sets of four integers, indicating LED, RED, GREEN, BLUE. The LED number is 0 to 3 to select a single segment, or 4 to set all four segments to the same value at once. The RED, GREEN, and BLUE numbers should be in the range 0 (off) to 255 (maximum). You can update more than one segment at a time by writing more than one set of four integers.

/sys/class/chromeos/<ec-device-name>/lightbar/program

Defined on file sysfs-class-chromeos-driver-cros-ec-lightbar

This allows you to upload and run custom lightbar sequences.

/sys/class/chromeos/<ec-device-name>/lightbar/sequence

Defined on file sysfs-class-chromeos-driver-cros-ec-lightbar

The Pixel lightbar has a number of built-in sequences that it displays under various conditions, such as at power on, shut down, or while running. Reading from this file displays the current sequence that the lightbar is displaying. Writing to this file allows you to change the sequence.

/sys/class/chromeos/<ec-device-name>/lightbar/userspace_control

Defined on file sysfs-class-chromeos-driver-cros-ec-lightbar

This allows you to take the control of the lightbar. This prevents the kernel from going through its normal sequences.

/sys/class/chromeos/<ec-device-name>/lightbar/version

Defined on file sysfs-class-chromeos-driver-cros-ec-lightbar

Show the information about the lightbar version.

/sys/class/chromeos/<ec-device-name>/reboot

Defined on file sysfs-class-chromeos

Tell the EC to reboot in various ways. Options are:

  • “cancel”: Cancel a pending reboot.

  • “ro”: Jump to RO without rebooting.

  • “rw”: Jump to RW without rebooting.

  • “cold”: Cold reboot.

  • “disable-jump”: Disable jump until next reboot.

  • “hibernate”: Hibernate the EC.

  • “at-shutdown”: Reboot after an AP shutdown.

/sys/class/chromeos/<ec-device-name>/vbc/vboot_context

Defined on file sysfs-class-chromeos-driver-cros-ec-vbc

Read/write the verified boot context data included on a small nvram space on some EC implementations.

/sys/class/chromeos/<ec-device-name>/version

Defined on file sysfs-class-chromeos

Show the information about the EC software and hardware.

/sys/class/chromeos/cros_ec/ap_mode_entry

Defined on file sysfs-class-chromeos

Show if the AP mode entry EC feature is supported. It indicates whether the EC waits for direction from the AP to enter Type-C altmodes or USB4 mode.

/sys/class/chromeos/cros_ec/usbpdmuxinfo

Defined on file sysfs-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 file sysfs-class-devfreq-event

Provide a place in sysfs for the devfreq-event objects. This allows accessing various devfreq-event specific variables. The name of devfreq-event object denoted as ‘event<x>’ which includes the unique number of ‘x’ for each devfreq-event object.

/sys/class/devfreq-event/event<x>/enable_count

Defined on file sysfs-class-devfreq-event

The /sys/class/devfreq-event/event<x>/enable_count attribute contains the reference count to enable the devfreq-event object. If the device is enabled, the value of attribute is greater than zero.

/sys/class/devfreq-event/event<x>/name

Defined on file sysfs-class-devfreq-event

The /sys/class/devfreq-event/event<x>/name attribute contains the name of the devfreq-event object. This attribute is read-only.

/sys/class/devfreq/.../

Defined on file sysfs-class-devfreq

Provide a place in sysfs for the devfreq objects. This allows accessing various devfreq specific variables. The name of devfreq object denoted as ... is same as the name of device using devfreq.

/sys/class/devfreq/.../available_frequencies

Defined on file sysfs-class-devfreq

The /sys/class/devfreq/.../available_frequencies shows the available frequencies of the corresponding devfreq object. This is a snapshot of available frequencies and not limited by the min/max frequency restrictions.

/sys/class/devfreq/.../available_governors

Defined on file sysfs-class-devfreq

The /sys/class/devfreq/.../available_governors shows currently available governors in the system.

/sys/class/devfreq/.../cur_freq

Defined on file sysfs-class-devfreq

The /sys/class/devfreq/.../cur_freq shows the current frequency of the corresponding devfreq object. Same as target_freq when get_cur_freq() is not implemented by devfreq driver.

/sys/class/devfreq/.../governor

Defined on file sysfs-class-devfreq

The /sys/class/devfreq/.../governor show or set the name of the governor used by the corresponding devfreq object.

/sys/class/devfreq/.../max_freq

Defined on file sysfs-class-devfreq

The /sys/class/devfreq/.../max_freq shows and stores the maximum frequency requested by users. It is 0 if the user does not care. max_freq overrides the frequency requested by governors and min_freq. The max_freq overrides min_freq because max_freq may be used to throttle devices to avoid overheating.

/sys/class/devfreq/.../min_freq

Defined on file sysfs-class-devfreq

The /sys/class/devfreq/.../min_freq shows and stores the minimum frequency requested by users. It is 0 if the user does not care. min_freq overrides the frequency requested by governors.

/sys/class/devfreq/.../name

Defined on file sysfs-class-devfreq

The /sys/class/devfreq/.../name shows the name of device of the corresponding devfreq object.

/sys/class/devfreq/.../polling_interval

Defined on file sysfs-class-devfreq

The /sys/class/devfreq/.../polling_interval shows and sets the requested polling interval of the corresponding devfreq object. The values are represented in ms. If the value is less than 1 jiffy, it is considered to be 0, which means no polling. This value is meaningless if the governor is not polling.

A list of governors that support the node: - simple_ondmenad - tegra_actmon

Defined on file sysfs-class-devfreq

The list of CPUs whose performance is closely related to the frequency of this devfreq domain.

This file is only present if a specific devfreq device is closely associated with a subset of CPUs.

/sys/class/devfreq/.../target_freq

Defined on file sysfs-class-devfreq

The /sys/class/devfreq/.../target_freq shows the next governor predicted target frequency of the corresponding devfreq object.

/sys/class/devfreq/.../timer

Defined on file sysfs-class-devfreq

This ABI shows and stores the kind of work timer by users. This work timer is used by devfreq workqueue in order to monitor the device status such as utilization. The user can change the work timer on runtime according to their demand as following:

echo deferrable > /sys/class/devfreq/.../timer
echo delayed > /sys/class/devfreq/.../timer

A list of governors that support the node: - simple_ondemand

/sys/class/devfreq/.../trans_stat

Defined on file sysfs-class-devfreq

This ABI shows or clears the statistics of devfreq behavior on a specific device. It shows the time spent in each state and the number of transitions between states. In order to activate this ABI, the devfreq target device driver should provide the list of available frequencies with its profile. If need to reset the statistics of devfreq behavior 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, reading this will return an -EFBIG error.

/sys/class/devfreq/.../userspace/set_freq

Defined on file sysfs-class-devfreq

The /sys/class/devfreq/.../userspace/set_freq shows and sets the requested frequency for the devfreq object if userspace governor is in effect.

A list of governors that support the node: - userspace

Defined on file sysfs-class-devlink

Provide a place in sysfs for the device link objects in the kernel 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.

Defined on file sysfs-class-devlink

This file indicates if the device link will ever be automatically removed by the driver core when the consumer and supplier 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 when the consumer’s driver is unbound from the consumer device.

‘supplier unbind’ means the device link will be removed when the supplier’s driver is unbound from the supplier device.

‘never’ means the device link will not be automatically removed when as long as the supplier and consumer devices themselves are still present.

Defined on file sysfs-class-devlink

This file is a symlink to the consumer device’s sysfs directory.

Defined on file sysfs-class-devlink

This file indicates if the device link has any impact on the runtime power management behavior of the consumer and supplier devices. For example: Making sure the supplier doesn’t enter runtime 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

Defined on file sysfs-class-devlink

This file indicates the status of the device link. The status of a device link is affected by whether the supplier and consumer devices have been bound to their corresponding drivers. The status of a device link also affects the binding and unbinding of the supplier and consumer devices with their drivers and also affects whether the software state of the supplier device is synced with the hardware state of the supplier 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 status and has no impact on the binding, unbinding and syncing the hardware and software device state.

‘dormant’ means the supplier and the consumer devices have not bound to their driver.

‘available’ means the supplier has bound to its driver and is available to supply resources to the consumer device.

‘consumer probing’ means the consumer device is currently trying to bind to its driver.

‘active’ means the supplier and consumer devices have both bound successfully to their drivers.

‘supplier unbinding’ means the supplier devices is currently in the process of unbinding from its driver.

‘unknown’ means the state of the device link is not any of the above. If this is ever the value, there’s a bug in the kernel.

Defined on file sysfs-class-devlink

This file is a symlink to the supplier device’s sysfs directory.

Defined on file sysfs-class-devlink

This file indicates if the device link is limited to only affecting the syncing of the hardware and software state of the supplier device.

This will be one of the following strings:

‘0’

‘1’

Affects runtime power management

‘0’ means the device link can affect other device behaviors like binding/unbinding, suspend/resume, runtime power management, etc.

‘1’ means the device link will only affect the syncing of hardware and software state of the supplier device after boot up and doesn’t not affect other behaviors of the devices.

/sys/class/drm/.../boot_display

Defined on file sysfs-class-drm

This file indicates that displays connected to the device were used to display the boot sequence. If a display connected to the device was used to display the boot sequence the file will be present and contain “1”.

/sys/class/extcon/.../

Defined on file sysfs-class-extcon

Provide a place in sysfs for the extcon objects. This allows accessing extcon specific variables. The name of extcon object denoted as ... is the name given with extcon_dev_register.

One extcon device denotes a single external connector port. An external connector may have multiple cables attached simultaneously. Many of docks, cradles, and accessory cables have such capability. For example, the 30-pin port of Nuri board (/arch/arm/mach-exynos) may have both HDMI and Charger attached, or analog audio, video, and USB cables attached simultaneously.

If there are cables mutually exclusive with each other, such binary relations may be expressed with extcon_dev’s mutually_exclusive array.

/sys/class/extcon/.../cable.X/name

Defined on file sysfs-class-extcon

The /sys/class/extcon/.../cable.X/name shows the name of cable “X” (integer between 0 and 31) of an extcon device.

/sys/class/extcon/.../cable.X/state

Defined on file sysfs-class-extcon

The /sys/class/extcon/.../cable.X/state shows and stores the state of cable “X” (integer between 0 and 31) of an extcon device. The state value is either 0 (detached) or 1 (attached).

/sys/class/extcon/.../mutually_exclusive/...

Defined on file sysfs-class-extcon

Shows the relations of mutually exclusiveness. For example, if the mutually_exclusive array of extcon device is {0x3, 0x5, 0xC, 0x0}, then the output is:

# ls mutually_exclusive/
0x3
0x5
0xc
#

Note that mutually_exclusive is a sub-directory of the extcon device and the file names under the mutually_exclusive directory show the mutually-exclusive sets, not the contents of the files.

/sys/class/extcon/.../name

Defined on file sysfs-class-extcon

The /sys/class/extcon/.../name shows the name of the extcon object. If the extcon object has an optional callback “show_name” defined, the callback will provide the name with this sysfs node.

/sys/class/extcon/.../state

Defined on file sysfs-class-extcon

The /sys/class/extcon/.../state shows and stores the cable attach/detach information of the corresponding extcon object. If the extcon object has an optional callback “show_state” defined, the showing function is overridden with the optional callback.

If the default callback for showing function is used, the format is like this:

# cat state
USB_OTG=1
HDMI=0
TA=1
EAR_JACK=0
#

In this example, the extcon device has USB_OTG and TA cables attached and HDMI and EAR_JACK cables detached.

In order to update the state of an extcon device, enter a hex state number starting with 0x:

# echo 0xHEX > state

This updates the whole state of the extcon device. Inputs of all the methods are required to meet the mutually_exclusive conditions if they exist.

It is recommended to use this “global” state interface if you need to set the value atomically. The later state interface associated with each cable cannot update multiple cable states of an extcon device simultaneously.

/sys/class/fc/fc_udev_device/appid_store

Defined on file sysfs-class-fc

This interface allows an admin to set an FC application identifier in the blkcg associated with a cgroup id. The identifier is typically a UUID that is associated with an application or logical entity such as a virtual machine or container group. The application or logical entity utilizes a block device via the cgroup id. FC adapter drivers may query the identifier and tag FC traffic based on the identifier. FC host and FC fabric entities can utilize the application id and FC traffic tag 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 characters in length.

If an appid_store is done for a cgroup id that already has an appid set, the new value will override the previous value.

If an admin wants to remove an FC application identifier from a cgroup, an appid_store should be done with the following string: “<cgroupid>:”

/sys/class/fc_host/hostX/statistics/fpin_cn_yyy

Defined on file sysfs-class-fc_host

These files contain the number of congestion notification events recorded by the F_Port, reported using fabric performance impact notification (FPIN) event.

/sys/class/fc_host/hostX/statistics/fpin_dn_yyy

Defined on file sysfs-class-fc_host

These files contain the number of delivery related errors recorded by the F_Port/Nx_Port, reported using fabric performance impact notification (FPIN) event.

/sys/class/fc_host/hostX/statistics/fpin_li_yyy

Defined on file sysfs-class-fc_host

These files contain the number of link integrity error events recorded by the F_Port/Nx_Port, reported using fabric performance impact notification (FPIN) event.

/sys/class/fc_remote_ports/rport-X:Y-Z/statistics/fpin_cn_yyy

Defined on file sysfs-class-fc_remote_ports

These files contain the number of congestion notification events recorded by the F_Port/Nx_Port, reported using fabric performance impact notification (FPIN) event.

/sys/class/fc_remote_ports/rport-X:Y-Z/statistics/fpin_dn_yyy

Defined on file sysfs-class-fc_remote_ports

These files contain the number of delivery related errors recorded by the F_Port/Nx_Port, reported using fabric performance impact notification (FPIN) event.

/sys/class/fc_remote_ports/rport-X:Y-Z/statistics/fpin_li_yyy

Defined on file sysfs-class-fc_remote_ports

These files contain the number of link integrity error events recorded by the F_Port/Nx_Port, reported using fabric performance impact notification (FPIN) event.

/sys/class/firmware-attributes/*/attributes/*/

Defined on file sysfs-class-firmware-attributes

A sysfs interface for systems management software to enable configuration capability on supported systems. This directory exposes interfaces for interacting with configuration options.

Unless otherwise specified in an attribute description all attributes are optional and 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 current value 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 default value of the <attr>

display_name:

A file that can be read to obtain a user friendly description of the at <attr>

display_name_language_code:

A file that can be read to obtain the 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 possible values of the <attr>. Values are separated using semi-colon (;).

“integer”-type specific properties:

min_value:

A file that can be read to obtain the lower bound value of the <attr>

max_value:

A file that can be read to obtain the upper bound value of the <attr>

scalar_increment:

A file that can be read to obtain the scalar value used for increments of current_value this attribute accepts.

“string”-type specific properties:

max_length:

A file that can be read to obtain the maximum length value of the <attr>

min_length:

A file that can be read to obtain the minimum length 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-level dependency rule. It says an attribute X will become read-only or suppressed, 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 AutoOn attribute is not “SelectDays” and its value will not be effective through 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, an attribute’s current value will be forcefully changed based dependent 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 its value will not be effective through sysfs until this rule is met.

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 possible list of values of the <attr>. Values are separated using semi-colon (;) and listed according to their priority. An element listed first has the highest priority. Writing the list in a different order to current_value alters the priority order for the particular attribute.

/sys/class/firmware-attributes/*/attributes/Sure_Start/audit_log_entries

Defined on file sysfs-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 file sysfs-class-firmware-attributes

‘audit_log_entry_count’ is a read-only file that returns the number of existing audit 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 BIOS versions.

/sys/class/firmware-attributes/*/attributes/debug_cmd

Defined on file sysfs-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 may use 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 file sysfs-class-firmware-attributes

A read-only attribute reads 1 if a reboot is necessary to apply pending BIOS attribute changes. Also, an uevent_KOBJ_CHANGE is generated when it changes to 1.

0

All BIOS attributes setting are current

1

A reboot is necessary to get pending BIOS attribute changes applied

Note, userspace applications need to follow below steps for efficient BIOS management,

  1. Check if admin password is set. If yes, follow session method for password management as briefed under authentication section above.

  2. Before setting any attribute, check if it has any modifiers or value_modifiers. If yes, incorporate them and then modify attribute.

Drivers may emit a CHANGE uevent when this value changes and userspace may check it again.

/sys/class/firmware-attributes/*/attributes/reset_bios

Defined on file sysfs-class-firmware-attributes

This attribute can be used to reset the BIOS Configuration. Specifically, it tells which type of reset BIOS configuration is being requested 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 as shown below:

# echo "factory" > /sys/class/firmware-attributes/*/device/attributes/reset_bios
# cat /sys/class/firmware-attributes/*/device/attributes/reset_bios
builtinsafe lastknowngood [factory] custom

Note that any changes to this attribute requires a reboot for changes to take effect.

/sys/class/firmware-attributes/*/attributes/save_settings

Defined on file sysfs-class-firmware-attributes

On Lenovo platforms there is a limitation in the number of times an attribute can be saved. This is an architectural limitation and it limits the number of attributes that 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 allows unlimited attributes.

Read the attribute to check what save mode is enabled (single or bulk). E.g: # cat /sys/class/firmware-attributes/thinklmi/attributes/save_settings single

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 and will 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 file sysfs-class-firmware-attributes

Devices support various authentication mechanisms which can be exposed as 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 BIOS settings.

  • A “System” password is required to boot a machine.

Change in any of these two authentication methods will also generate an uevent 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 use the system

system-mgmt:

Representing System Management password. See Lenovo extensions section for details

HDD:

Representing HDD password See Lenovo extensions section for details

NVMe:

Representing NVMe password See 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 the maximum length of the Password

min_password_length:

A file that can be read to obtain the minimum length of the Password

current_password:

A write only value used for privileged access such as setting attributes when a system or admin password is set or resetting to a new password

This attribute is mandatory when mechanism == “password”.

new_password:

A write only value that when used in tandem with current_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 for password-validation) and must be cleared once the session is over. For example:

echo "password" > current_password
echo "disabled" > TouchScreen/current_value
echo "" > current_password

Drivers may emit a CHANGE uevent when a password is set or unset userspace may check it again.

On Dell, Lenovo and HP systems, if Admin password is set, then all BIOS attributes require password validation. On Lenovo systems if you change the Admin password the new password is not active until the 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 via the 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 a two 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 to unlock the drive at boot. If both master and user passwords are set then either can be used. If a master password is set a user password is required. This attribute defaults to ‘user’ level

index:

Used with HDD and NVME authentication to set the drive index that 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 is used in conjunction with a signing server as an alternative to password based authentication. The user writes to the attribute(s) with a BASE64 encoded string obtained from 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_password
echo "signed certificate" > authentication/Admin/certificate

Updating the installed certificate:

echo "signature" > authentication/Admin/signature
echo "signed certificate" > authentication/Admin/certificate

Removing the installed certificate:

echo "signature" > authentication/Admin/signature
echo "" > authentication/Admin/certificate

Changing a BIOS setting:

echo "signature" > authentication/Admin/signature
echo "save signature" > authentication/Admin/save_signature
echo Enable > attribute/PasswordBeep/current_value

You cannot enable certificate authentication if a supervisor password has not been set. Clearing the certificate results in no bios-admin authentication method being configured allowing anyone to make changes. After any of these operations the system must reboot for the changes to take effect. Admin and System certificates are supported from 2025 systems onward.

certificate_thumbprint:

Read only attribute used to display the MD5, SHA1 and SHA256 thumbprints for the certificate installed in the BIOS.

certificate_to_password:

Write only attribute used to switch from certificate based authentication back to password based. Usage:

echo "signature" > authentication/Admin/signature
echo "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 file sysfs-class-firmware-attributes

‘kek’ Key-Encryption-Key is a write-only file that can be used to configure the RSA public key that will be used by the BIOS to verify signatures when setting the signing key. When written, the bytes should correspond to the KEK certificate (x509 .DER format containing an OU). The size of the certificate must be less than or equal to 4095 bytes.

/sys/class/firmware-attributes/*/authentication/SPM/sk

Defined on file sysfs-class-firmware-attributes

‘sk’ Signature Key is a write-only file that can be used to configure the RSA public key that will be used by the BIOS to verify signatures when configuring BIOS settings and security features. When written, the bytes should correspond to the modulus of the public key. The exponent is assumed to be 0x10001.

/sys/class/firmware-attributes/*/authentication/SPM/status

Defined on file sysfs-class-firmware-attributes

‘status’ is a read-only file that returns ASCII text in JSON format reporting the 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 file sysfs-class-firmware

Write-only. For firmware uploads, write a “1” to this file to request that the transfer of firmware data to the lower-level device be canceled. This request will be rejected (EBUSY) if the update cannot be canceled (e.g. a FLASH write is in progress) or (ENODEV) if there is no firmware update in progress.

/sys/class/firmware/.../data

Defined on file sysfs-class-firmware

The data sysfs file is used for firmware-fallback and for firmware uploads. Cat a firmware image to this sysfs file after you echo 1 to the loading sysfs file. When the firmware image write is complete, echo 0 to the loading sysfs file. This sequence will signal the completion of the firmware write and signal the lower-level driver that the firmware data is available.

/sys/class/firmware/.../error

Defined on file sysfs-class-firmware

Read-only. Returns a string describing a failed firmware upload. This string will be in the form of <STATUS>:<ERROR>, where <STATUS> will be one of the status strings described for the status sysfs file and <ERROR> will be one of the following: “hw-error”, “timeout”, “user-abort”, “device-busy”, “invalid-file-size”, “read-write-error”, “flash-wearout”. The error sysfs file is only meaningful when the current firmware upload status is “idle”. If this file is read while a firmware transfer is in progress, then the read will fail with EBUSY.

/sys/class/firmware/.../loading

Defined on file sysfs-class-firmware

The loading sysfs file is used for both firmware-fallback and for firmware uploads. Echo 1 onto the loading file to indicate you are writing a firmware file to the data sysfs node. Echo -1 onto this file to abort the data write or echo 0 onto this file to indicate that the write is complete. For firmware uploads, the zero value also triggers the transfer of the firmware data to the lower-level device driver.

/sys/class/firmware/.../remaining_size

Defined on file sysfs-class-firmware

Read-only. For firmware upload, this file contains the size of the firmware data that remains to be transferred to the lower-level device driver. The size value is initialized to the full size of the firmware image that was previously written to the data sysfs file. This value is periodically updated during the “transferring” phase of the firmware upload. Format: “%u”.

/sys/class/firmware/.../status

Defined on file sysfs-class-firmware

Read-only. Returns a string describing the current status of a firmware upload. The string will be one of the following: idle, “receiving”, “preparing”, “transferring”, “programming”.

/sys/class/firmware/.../timeout

Defined on file sysfs-class-firmware

This file supports the timeout mechanism for firmware fallback. This file has no affect on firmware uploads. For more information on timeouts please see the documentation for firmware fallback.

/sys/class/fpga_bridge/<bridge>/name

Defined on file sysfs-class-fpga-bridge

Name of low level FPGA bridge driver.

/sys/class/fpga_bridge/<bridge>/state

Defined on file sysfs-class-fpga-bridge

Show bridge state as “enabled” or “disabled”

/sys/class/fpga_manager/<fpga>/name

Defined on file sysfs-class-fpga-manager

Name of low level fpga manager driver.

/sys/class/fpga_manager/<fpga>/state

Defined on file sysfs-class-fpga-manager

Read fpga manager state as a string. The intent is to provide enough detail that if something goes wrong during FPGA programming (something that the driver can’t fix) then userspace can know, i.e. if the firmware request fails, that could be due to not being able to find the firmware file.

This is a superset of FPGA states and fpga manager driver states. The fpga manager driver is walking through these steps to get the FPGA into a known operating state. It’s a sequence, though some steps may get skipped. Valid FPGA states will vary by manufacturer; this is a superset.

  • unknown = can’t determine state

  • power off = FPGA power is off

  • power up = FPGA reports power is up

  • reset = FPGA held in reset state

  • firmware request = firmware class request in progress

  • firmware request error = firmware request failed

  • write init = preparing FPGA for programming

  • write init error = Error while preparing FPGA for programming

  • write = FPGA ready to receive image data

  • write error = Error while programming

  • write complete = Doing post programming steps

  • write complete error = Error while doing post programming

  • operating = FPGA is programmed and operating

/sys/class/fpga_manager/<fpga>/status

Defined on file sysfs-class-fpga-manager

Read fpga manager status as a string. If FPGA programming operation fails, it could be caused by crc error or incompatible bitstream image. The intent of this interface is to provide more detailed information for FPGA programming errors to userspace. This is a list of strings for the supported status.

  • reconfig operation error - invalid operations detected by

    reconfiguration hardware. e.g. start reconfiguration with errors not cleared

  • reconfig CRC error - CRC error detected by

    reconfiguration hardware.

  • reconfig incompatible image - reconfiguration image is

    incompatible with hardware

  • reconfig IP protocol error - protocol errors detected by

    reconfiguration hardware

  • reconfig fifo overflow error - FIFO overflow detected by

    reconfiguration hardware

/sys/class/fpga_region/<region>/compat_id

Defined on file sysfs-class-fpga-region

FPGA region id for compatibility check, e.g. compatibility of the FPGA reconfiguration hardware and image. This value is defined or calculated by the layer that is creating the FPGA region. This interface returns the compat_id value or just error code -ENOENT in case compat_id is not used.

/sys/class/genwqe/genwqe<n>_card/appid

Defined on file sysfs-driver-genwqe

Identifies the currently active card application e.g. ‘GZIP’ for compression/decompression.

/sys/class/genwqe/genwqe<n>_card/base_clock

Defined on file sysfs-driver-genwqe

Base clock frequency of the card.

/sys/class/genwqe/genwqe<n>_card/curr_bitstream

Defined on file sysfs-driver-genwqe

Currently active bitstream. 1 is default, 0 is backup.

/sys/class/genwqe/genwqe<n>_card/device/sriov_numvfs

Defined on file sysfs-driver-genwqe

Enable VFs (1..15):

sudo sh -c 'echo 15 > \
  /sys/bus/pci/devices/0000\:1b\:00.0/sriov_numvfs'

Disable VFs:

Write a 0 into the same sysfs entry.

/sys/class/genwqe/genwqe<n>_card/freerunning_timer

Defined on file sysfs-driver-genwqe

Interface to read the cards free running timer. Used for performance and utilization measurements.

/sys/class/genwqe/genwqe<n>_card/next_bitstream

Defined on file sysfs-driver-genwqe

Interface to set the next bitstream to be used.

/sys/class/genwqe/genwqe<n>_card/queue_working_time

Defined on file sysfs-driver-genwqe

Interface to read queue working time. Used for performance and utilization measurements.

/sys/class/genwqe/genwqe<n>_card/reload_bitstream

Defined on file sysfs-driver-genwqe

Interface to trigger a PCIe card reset to reload the bitstream.

sudo sh -c 'echo 1 > \
  /sys/class/genwqe/genwqe0_card/reload_bitstream'

If successfully, the card will come back with the bitstream set on ‘next_bitstream’.

/sys/class/genwqe/genwqe<n>_card/state

Defined on file sysfs-driver-genwqe

State of the card: “unused”, “used”, “error”.

/sys/class/genwqe/genwqe<n>_card/tempsens

Defined on file sysfs-driver-genwqe

Interface to read the cards temperature sense register.

/sys/class/genwqe/genwqe<n>_card/type

Defined on file sysfs-driver-genwqe

Type of the card e.g. ‘GenWQE5-A7’.

/sys/class/genwqe/genwqe<n>_card/version

Defined on file sysfs-driver-genwqe

Unique bitstream identification e.g. ‘0000000330336283.00000000475a4950’.

/sys/class/gnss/gnss<N>/type

Defined on file sysfs-class-gnss

The GNSS receiver type. The currently identified types reflect the protocol(s) supported by the receiver:

“NMEA”

NMEA 0183

“SiRF”

SiRF Binary

“UBX”

UBX

Note that also non-“NMEA” type receivers typically support a subset of NMEA 0183 with vendor extensions (e.g. to allow switching to a vendor protocol).

/sys/class/hwmon/hwmonX/cpuY_vid

Defined on file sysfs-class-hwmon

CPU core reference voltage.

Unit: millivolt

RO

Not always correct.

/sys/class/hwmon/hwmonX/currY_average

Defined on file sysfs-class-hwmon

Average current use

Unit: milliampere

RO

/sys/class/hwmon/hwmonX/currY_crit

Defined on file sysfs-class-hwmon

Current critical high value.

Unit: milliampere

RW

/sys/class/hwmon/hwmonX/currY_enable

Defined on file sysfs-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 file sysfs-class-hwmon

Historical maximum current Unit: milliampere RO

/sys/class/hwmon/hwmonX/currY_input

Defined on file sysfs-class-hwmon

Current input value

Unit: milliampere

RO

/sys/class/hwmon/hwmonX/currY_lcrit

Defined on file sysfs-class-hwmon

Current critical low value

Unit: milliampere

RW

/sys/class/hwmon/hwmonX/currY_lowest

Defined on file sysfs-class-hwmon

Historical minimum current

Unit: milliampere

RO

/sys/class/hwmon/hwmonX/currY_max

Defined on file sysfs-class-hwmon

Current max value

Unit: milliampere

RW

/sys/class/hwmon/hwmonX/currY_min

Defined on file sysfs-class-hwmon

Current min value.

Unit: milliampere

RW

/sys/class/hwmon/hwmonX/currY_rated_max

Defined on file sysfs-class-hwmon

Maximum rated current.

Unit: milliampere

RO

/sys/class/hwmon/hwmonX/currY_rated_min

Defined on file sysfs-class-hwmon

Minimum rated current.

Unit: milliampere

RO

/sys/class/hwmon/hwmonX/currY_reset_history

Defined on file sysfs-class-hwmon

Reset currX_lowest and currX_highest

WO

/sys/class/hwmon/hwmonX/curr_reset_history

Defined on file sysfs-class-hwmon

Reset currX_lowest and currX_highest for all sensors

WO

/sys/class/hwmon/hwmonX/device/pec

Defined on file sysfs-class-hwmon

PEC support on I2C devices

  • 0, off, n: disable

  • 1, on, y: enable

RW

/sys/class/hwmon/hwmonX/energyY_enable

Defined on file sysfs-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 file sysfs-class-hwmon

Cumulative energy use

Unit: microJoule

RO

/sys/class/hwmon/hwmonX/fanY_boost

Defined on file sysfs-platform-alienware-wmi

This file exposes fan boost control for Dell gaming laptops with the AWCC WMI interface.

See Alienware WMI Driver for details.

Integer value in the range 0 to 255

RW

/sys/class/hwmon/hwmonX/fanY_div

Defined on file sysfs-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, which affects the measurable speed range, not the read value.

/sys/class/hwmon/hwmonX/fanY_enable

Defined on file sysfs-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 file sysfs-class-hwmon

Reports if a fan has reported failure.

  • 1: Failed

  • 0: Ok

RO

/sys/class/hwmon/hwmonX/fanY_input

Defined on file sysfs-class-hwmon

Fan input value.

Unit: revolution/min (RPM)

RO

/sys/class/hwmon/hwmonX/fanY_label

Defined on file sysfs-class-hwmon

Suggested fan channel label.

Text string

Should only be created if the driver has hints about what this fan channel is being used for, and user-space doesn’t. In all other cases, the label is provided by user-space.

RO

/sys/class/hwmon/hwmonX/fanY_max

Defined on file sysfs-class-hwmon

Fan maximum value

Unit: revolution/min (RPM)

Only rarely supported by the hardware. RW

/sys/class/hwmon/hwmonX/fanY_min

Defined on file sysfs-class-hwmon

Fan minimum value

Unit: revolution/min (RPM)

RW

/sys/class/hwmon/hwmonX/fanY_pulses

Defined on file sysfs-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 the device’s input, so it has to be set in accordance with the fan model.

Should only be created if the chip has a register to configure the number of pulses. In the absence of such a register (and thus attribute) the value assumed by all devices is 2 pulses per fan revolution.

/sys/class/hwmon/hwmonX/fanY_target

Defined on file sysfs-class-hwmon

Desired fan speed

Unit: revolution/min (RPM)

RW

Only makes sense if the chip supports closed-loop fan speed control based on the measured fan speed.

/sys/class/hwmon/hwmonX/humidityY_alarm

Defined on file sysfs-class-hwmon

Humidity limit detection

  • 0: OK

  • 1: Humidity limit has been reached

RO

/sys/class/hwmon/hwmonX/humidityY_enable

Defined on file sysfs-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 file sysfs-class-hwmon

Reports a humidity sensor failure.

  • 1: Failed

  • 0: Ok

RO

/sys/class/hwmon/hwmonX/humidityY_input

Defined on file sysfs-class-hwmon

Humidity

Unit: milli-percent (per cent mille, pcm)

RO

/sys/class/hwmon/hwmonX/humidityY_label

Defined on file sysfs-class-hwmon

Suggested humidity channel label.

Text string

Should only be created if the driver has hints about what this humidity 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/humidityY_max

Defined on file sysfs-class-hwmon

Humidity max value.

Unit: milli-percent (per cent mille, pcm)

RW

/sys/class/hwmon/hwmonX/humidityY_max_alarm

Defined on file sysfs-class-hwmon

Maximum humidity detection

  • 0: OK

  • 1: Maximum humidity detected

RO

/sys/class/hwmon/hwmonX/humidityY_max_hyst

Defined on file sysfs-class-hwmon

Humidity hysteresis value for max limit.

Unit: milli-percent (per cent mille, pcm)

Must be reported as an absolute humidity, NOT a delta from the max value.

RW

/sys/class/hwmon/hwmonX/humidityY_min

Defined on file sysfs-class-hwmon

Humidity min value.

Unit: milli-percent (per cent mille, pcm)

RW

/sys/class/hwmon/hwmonX/humidityY_min_alarm

Defined on file sysfs-class-hwmon

Minimum humidity detection

  • 0: OK

  • 1: Minimum humidity detected

RO

/sys/class/hwmon/hwmonX/humidityY_min_hyst

Defined on file sysfs-class-hwmon

Humidity hysteresis value for min limit.

Unit: milli-percent (per cent mille, pcm)

Must be reported as an absolute humidity, NOT a delta from the min value.

RW

/sys/class/hwmon/hwmonX/humidityY_rated_max

Defined on file sysfs-class-hwmon

Maximum rated humidity.

Unit: milli-percent (per cent mille, pcm)

RO

/sys/class/hwmon/hwmonX/humidityY_rated_min

Defined on file sysfs-class-hwmon

Minimum rated humidity.

Unit: milli-percent (per cent mille, pcm)

RO

/sys/class/hwmon/hwmonX/inY_average

Defined on file sysfs-class-hwmon

Average voltage

Unit: millivolt

RO

/sys/class/hwmon/hwmonX/inY_crit

Defined on file sysfs-class-hwmon

Voltage critical max value.

Unit: millivolt

RW

If voltage reaches or exceeds this limit, the system may take drastic action such as power down or reset. At the very least, it should report a fault.

/sys/class/hwmon/hwmonX/inY_enable

Defined on file sysfs-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 file sysfs-class-hwmon

Reports a voltage hard failure (eg: shorted component)

  • 1: Failed

  • 0: Ok

RO

/sys/class/hwmon/hwmonX/inY_highest

Defined on file sysfs-class-hwmon

Historical maximum voltage

Unit: millivolt

RO

/sys/class/hwmon/hwmonX/inY_input

Defined on file sysfs-class-hwmon

Voltage input value.

Unit: millivolt

RO

Voltage measured on the chip pin.

Actual voltage depends on the scaling resistors on the motherboard, as recommended in the chip datasheet.

This varies by chip and by motherboard. Because of this variation, values are generally NOT scaled by the chip driver, and must be done by the application. However, some drivers (notably lm87 and via686a) do scale, because of internal resistors built into a chip. These drivers will output the actual voltage. Rule of thumb: drivers should report the voltage values at the “pins” of the chip.

/sys/class/hwmon/hwmonX/inY_label

Defined on file sysfs-class-hwmon

Suggested voltage channel label.

Text string

Should only be created if the driver has hints about what this voltage channel is being used for, and user-space doesn’t. In all other cases, the label is provided by user-space.

RO

/sys/class/hwmon/hwmonX/inY_lcrit

Defined on file sysfs-class-hwmon

Voltage critical min value.

Unit: millivolt

RW

If voltage drops to or below this limit, the system may take drastic action such as power down or reset. At the very least, it should report a fault.

/sys/class/hwmon/hwmonX/inY_lowest

Defined on file sysfs-class-hwmon

Historical minimum voltage

Unit: millivolt

RO

/sys/class/hwmon/hwmonX/inY_max

Defined on file sysfs-class-hwmon

Voltage max value.

Unit: millivolt

RW

/sys/class/hwmon/hwmonX/inY_min

Defined on file sysfs-class-hwmon

Voltage min value.

Unit: millivolt

RW

/sys/class/hwmon/hwmonX/inY_rated_max

Defined on file sysfs-class-hwmon

Maximum rated voltage.

Unit: millivolt

RO

/sys/class/hwmon/hwmonX/inY_rated_min

Defined on file sysfs-class-hwmon

Minimum rated voltage.

Unit: millivolt

RO

/sys/class/hwmon/hwmonX/inY_reset_history

Defined on file sysfs-class-hwmon

Reset inX_lowest and inX_highest

WO

/sys/class/hwmon/hwmonX/in_reset_history

Defined on file sysfs-class-hwmon

Reset inX_lowest and inX_highest for all sensors

WO

/sys/class/hwmon/hwmonX/intrusionY_alarm

Defined on file sysfs-class-hwmon

Chassis intrusion detection

  • 0: OK

  • 1: intrusion detected

RW

Contrary to regular alarm flags which clear themselves automatically when read, this one sticks until cleared by the user. This is done by writing 0 to the file. Writing other values is unsupported.

/sys/class/hwmon/hwmonX/intrusionY_beep

Defined on file sysfs-class-hwmon

Chassis intrusion beep

  • 0: disable

  • 1: enable

RW

/sys/class/hwmon/hwmonX/label

Defined on file sysfs-class-hwmon

A descriptive label that allows to uniquely identify a device within the system. The contents of the label are free-form.

RO

/sys/class/hwmon/hwmonX/name

Defined on file sysfs-class-hwmon

The chip name. This should be a short, lowercase string, not containing whitespace, dashes, or the wildcard character ‘*’. This attribute represents the chip name. It is the only mandatory attribute. I2C devices get this attribute created automatically.

RO

/sys/class/hwmon/hwmonX/powerY_accuracy

Defined on file sysfs-class-hwmon

Accuracy of the power meter.

Unit: Percent

RO

/sys/class/hwmon/hwmonX/powerY_average

Defined on file sysfs-class-hwmon

Average power use

Unit: microWatt

RO

/sys/class/hwmon/hwmonX/powerY_average_highest

Defined on file sysfs-class-hwmon

Historical average maximum power use

Unit: microWatt

RO

/sys/class/hwmon/hwmonX/powerY_average_interval

Defined on file sysfs-class-hwmon

Power use averaging interval. A poll notification is sent to this file if the hardware changes the averaging interval.

Unit: milliseconds

RW

/sys/class/hwmon/hwmonX/powerY_average_interval_max

Defined on file sysfs-class-hwmon

Maximum power use averaging interval

Unit: milliseconds

RO

/sys/class/hwmon/hwmonX/powerY_average_interval_min

Defined on file sysfs-class-hwmon

Minimum power use averaging interval

Unit: milliseconds

RO

/sys/class/hwmon/hwmonX/powerY_average_lowest

Defined on file sysfs-class-hwmon

Historical average minimum power use

Unit: microWatt

RO

/sys/class/hwmon/hwmonX/powerY_average_max

Defined on file sysfs-class-hwmon

A poll notification is sent to powerY_average when power use rises above this value.

Unit: microWatt

RW

/sys/class/hwmon/hwmonX/powerY_average_min

Defined on file sysfs-class-hwmon

A poll notification is sent to powerY_average when power use sinks below this value.

Unit: microWatt

RW

/sys/class/hwmon/hwmonX/powerY_cap

Defined on file sysfs-class-hwmon

If power use rises above this limit, the system should take action to reduce power use. A poll notification is sent to this file if the cap is changed by the hardware. The *_cap files only appear if the cap is known to be enforced by hardware.

Unit: microWatt

RW

/sys/class/hwmon/hwmonX/powerY_cap_hyst

Defined on file sysfs-class-hwmon

Margin of hysteresis built around capping and notification.

Unit: microWatt

RW

/sys/class/hwmon/hwmonX/powerY_cap_max

Defined on file sysfs-class-hwmon

Maximum cap that can be set.

Unit: microWatt

RO

/sys/class/hwmon/hwmonX/powerY_cap_min

Defined on file sysfs-class-hwmon

Minimum cap that can be set.

Unit: microWatt

RO

/sys/class/hwmon/hwmonX/powerY_crit

Defined on file sysfs-class-hwmon

Critical maximum power.

If power rises to or above this limit, the system is expected take drastic action to reduce power consumption, such as a system shutdown or a forced powerdown of some devices.

Unit: microWatt

RW

/sys/class/hwmon/hwmonX/powerY_enable

Defined on file sysfs-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 file sysfs-class-hwmon

Instantaneous power use

Unit: microWatt

RO

/sys/class/hwmon/hwmonX/powerY_input_highest

Defined on file sysfs-class-hwmon

Historical maximum power use

Unit: microWatt

RO

/sys/class/hwmon/hwmonX/powerY_input_lowest

Defined on file sysfs-class-hwmon

Historical minimum power use

Unit: microWatt

RO

/sys/class/hwmon/hwmonX/powerY_max

Defined on file sysfs-class-hwmon

Maximum power.

Unit: microWatt

RW

/sys/class/hwmon/hwmonX/powerY_rated_max

Defined on file sysfs-class-hwmon

Maximum rated power.

Unit: microWatt

RO

/sys/class/hwmon/hwmonX/powerY_rated_min

Defined on file sysfs-class-hwmon

Minimum rated power.

Unit: microWatt

RO

/sys/class/hwmon/hwmonX/powerY_reset_history

Defined on file sysfs-class-hwmon

Reset input_highest, input_lowest, average_highest and average_lowest.

WO

/sys/class/hwmon/hwmonX/pwmY

Defined on file sysfs-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 file sysfs-class-hwmon

Select which temperature channels affect this PWM output in auto mode.

Bitfield, 1 is temp1, 2 is temp2, 4 is temp3 etc... Which values are possible depend on the chip used.

RW

/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 file sysfs-class-hwmon

Define the PWM vs temperature curve.

Number of trip points is chip-dependent. Use this for chips which associate trip points to PWM output channels.

RW

/sys/class/hwmon/hwmonX/pwmY_enable

Defined on file sysfs-class-hwmon

Fan speed control method:

  • 0: no fan speed control (i.e. fan at full speed)

  • 1: manual fan speed control enabled (using pwmY)

  • 2+: automatic fan speed control enabled

Check individual chip documentation files for automatic mode details.

RW

/sys/class/hwmon/hwmonX/pwmY_freq

Defined on file sysfs-class-hwmon

Base PWM frequency in Hz.

Only possibly available when pwmN_mode is PWM, but not always present even then.

RW

/sys/class/hwmon/hwmonX/pwmY_mode

Defined on file sysfs-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 file sysfs-class-hwmon

Define the PWM vs temperature curve.

Number of trip points is chip-dependent. Use this for chips which associate trip points to temperature channels.

RW

/sys/class/hwmon/hwmonX/tempY_crit

Defined on file sysfs-class-hwmon

Temperature critical max value, typically greater than corresponding temp_max values.

Unit: millidegree Celsius

RW

/sys/class/hwmon/hwmonX/tempY_crit_alarm

Defined on file sysfs-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 file sysfs-class-hwmon

Temperature hysteresis value for critical limit.

Unit: millidegree Celsius

Must be reported as an absolute temperature, NOT a delta from the critical value.

RW

/sys/class/hwmon/hwmonX/tempY_emergency

Defined on file sysfs-class-hwmon

Temperature emergency max value, for chips supporting more than two upper temperature limits. Must be equal or greater than corresponding temp_crit values.

Unit: millidegree Celsius

RW

/sys/class/hwmon/hwmonX/tempY_emergency_alarm

Defined on file sysfs-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 file sysfs-class-hwmon

Temperature hysteresis value for emergency limit.

Unit: millidegree Celsius

Must be reported as an absolute temperature, NOT a delta from the emergency value.

RW

/sys/class/hwmon/hwmonX/tempY_enable

Defined on file sysfs-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 file sysfs-class-hwmon

Historical maximum temperature

Unit: millidegree Celsius

RO

/sys/class/hwmon/hwmonX/tempY_input

Defined on file sysfs-class-hwmon

Temperature input value.

Unit: millidegree Celsius

RO

/sys/class/hwmon/hwmonX/tempY_label

Defined on file sysfs-class-hwmon

Suggested temperature channel label.

Text string

Should only be created if the driver has hints about what this temperature channel is being used for, and user-space doesn’t. In all other cases, the label is provided by user-space.

RO

/sys/class/hwmon/hwmonX/tempY_lcrit

Defined on file sysfs-class-hwmon

Temperature critical min value, typically lower than corresponding temp_min values.

Unit: millidegree Celsius

RW

/sys/class/hwmon/hwmonX/tempY_lcrit_hyst

Defined on file sysfs-class-hwmon

Temperature hysteresis value for critical min limit.

Unit: millidegree Celsius

Must be reported as an absolute temperature, NOT a delta from the critical min value.

RW

/sys/class/hwmon/hwmonX/tempY_lowest

Defined on file sysfs-class-hwmon

Historical minimum temperature

Unit: millidegree Celsius

RO

/sys/class/hwmon/hwmonX/tempY_max

Defined on file sysfs-class-hwmon

Temperature max value.

Unit: millidegree Celsius (or millivolt, see below)

RW

/sys/class/hwmon/hwmonX/tempY_max_alarm

Defined on file sysfs-class-hwmon

Maximum temperature alarm flag.

  • 0: OK

  • 1: temperature has reached tempY_max

RO

/sys/class/hwmon/hwmonX/tempY_max_hyst

Defined on file sysfs-class-hwmon

Temperature hysteresis value for max limit.

Unit: millidegree Celsius

Must be reported as an absolute temperature, NOT a delta from the max value.

RW

/sys/class/hwmon/hwmonX/tempY_min

Defined on file sysfs-class-hwmon

Temperature min value.

Unit: millidegree Celsius

RW

/sys/class/hwmon/hwmonX/tempY_min_alarm

Defined on file sysfs-class-hwmon

Minimum temperature alarm flag.

  • 0: OK

  • 1: temperature has reached tempY_min

RO

/sys/class/hwmon/hwmonX/tempY_min_hyst

Defined on file sysfs-class-hwmon

Temperature hysteresis value for min limit. Unit: millidegree Celsius

Must be reported as an absolute temperature, NOT a delta from the min value.

RW

/sys/class/hwmon/hwmonX/tempY_offset

Defined on file sysfs-class-hwmon

Temperature offset which is added to the temperature reading by the chip.

Unit: millidegree Celsius

Read/Write value.

/sys/class/hwmon/hwmonX/tempY_rated_max

Defined on file sysfs-class-hwmon

Maximum rated temperature.

Unit: millidegree Celsius

RO

/sys/class/hwmon/hwmonX/tempY_rated_min

Defined on file sysfs-class-hwmon

Minimum rated temperature.

Unit: millidegree Celsius

RO

/sys/class/hwmon/hwmonX/tempY_reset_history

Defined on file sysfs-class-hwmon

Reset temp_lowest and temp_highest

WO

/sys/class/hwmon/hwmonX/tempY_type

Defined on file sysfs-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 file sysfs-class-hwmon

Reset temp_lowest and temp_highest for all sensors

WO

/sys/class/hwmon/hwmonX/update_interval

Defined on file sysfs-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/update_interval_us

Defined on file sysfs-class-hwmon

The interval at which the chip will update readings, expressed in microseconds. Unit: microsecond

RW

Some devices have a variable update rate or interval and require finer-than-millisecond control. This attribute can be used to change it to the desired value. Drivers implementing this attribute should also implement update_interval for millisecond-based userspace interfaces.

/sys/class/hwmon/hwmonX/vrm

Defined on file sysfs-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 now an arbitrary number, as not all standards have a version number.

Affects the way the driver calculates the CPU core reference voltage from the vid pins.

/sys/class/ieee80211/phyX/rtw89_usb/serial_number

Defined on file sysfs-class-ieee80211-rtw89

(Read) Serial number burned into EFUSE of the RTL8852CU-based USB Wi-Fi adapter. Only present on devices that set the RTW89_QUIRK_HW_INFO_SYSFS quirk (currently VID 0x28de / PID 0x2432).

Format: %10phN (5 raw bytes printed as 10 lowercase hex digits, no separators).

Example: 3642000123

/sys/class/ieee80211/phyX/rtw89_usb/uuid

Defined on file sysfs-class-ieee80211-rtw89

(Read) UUID burned into EFUSE of the RTL8852CU-based USB Wi-Fi adapter. Only present on devices that set the RTW89_QUIRK_HW_INFO_SYSFS quirk (currently VID 0x28de / PID 0x2432).

Format: %pUb (RFC 4122 UUID in lowercase with hyphens).

Example: aaec2b7c-0a55-4727-8de0-b30febccbbaa

/sys/class/input/input(x)/device/function_row_physmap

Defined on file sysfs-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 left to right.

/sys/class/input/input(x)/device/shutdown

Defined on file sysfs-driver-input-axp-pek

Shutdown time in us. Board is powered off if the button is pressed for more than <shutdown_time>

/sys/class/input/input(x)/device/startup

Defined on file sysfs-driver-input-axp-pek

Startup time in us. Board is powered on if the button is pressed for more than <startup_time>

/sys/class/intel_pmt/

Defined on file sysfs-class-intel_pmt

The intel_pmt/ class directory contains information for devices that expose hardware telemetry using Intel Platform Monitoring Technology (PMT)

/sys/class/intel_pmt/crashlog<x>

Defined on file sysfs-class-intel_pmt

The crashlog<x> directory contains files for configuring an instance of a PMT crashlog device that can perform crash data recording. Each crashlog<x> device has an associated crashlog file. This file can be opened and mapped or read to access the resulting crashlog buffer. The register layout for the buffer can be determined from an XML file of specified GUID for the parent device.

/sys/class/intel_pmt/crashlog<x>/crashlog

Defined on file sysfs-class-intel_pmt

(RO) The crashlog buffer for this crashlog device. This file may be mapped or read to obtain the data.

/sys/class/intel_pmt/crashlog<x>/enable

Defined on file sysfs-class-intel_pmt

(RW) Boolean value controlling if the crashlog functionality is enabled for the crashlog device.

/sys/class/intel_pmt/crashlog<x>/guid

Defined on file sysfs-class-intel_pmt

(RO) The GUID for this crashlog device. The GUID identifies the version of the XML file for the parent device that should be used to determine the register layout.

/sys/class/intel_pmt/crashlog<x>/offset

Defined on file sysfs-class-intel_pmt

(RO) The offset of the buffer in bytes that corresponds to the mapping for the crashlog device.

/sys/class/intel_pmt/crashlog<x>/size

Defined on file sysfs-class-intel_pmt

(RO) The length of the result buffer in bytes that corresponds to the size for the crashlog buffer.

/sys/class/intel_pmt/crashlog<x>/trigger

Defined on file sysfs-class-intel_pmt

(RW) Boolean value controlling the triggering of the crashlog device node. When read it provides data on if the crashlog has been triggered. When written to it can be used to either clear the current trigger by writing false, or to trigger a new event if the trigger is not currently set.

/sys/class/intel_pmt/features-<PCI BDF>/

Defined on file sysfs-class-intel_pmt-features

The features-<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 contains attributes describing the available telemetry, monitoring, or control 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 user configuration of monitoring behavior, such as setting the sampling or reporting 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-entity basis (e.g., per core, thread, or process group).

  • Maximum number of RMIDs tracked simultaneously.

Example: For a device with PCI BDF 0000: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 supports the capability (e.g., max_command_size for MCTP-capable features).

  • Features supporting RMIDs include num_rmids.

  • Features supporting the watcher API include min_watcher_period_ms.

  • The caps file provides additional information about the functionality of the feature.

Example ‘caps’ content for the ‘tracing’ feature:

/sys/class/intel_pmt/features-0000:00:03.1/ ├── tracing/ │ ├── caps

telemetry Available: No watcher Available: Yes crashlog Available: No streaming Available: No threashold Available: No window Available: No config Available: Yes tracing Available: No inband Available: Yes oob Available: Yes secure_chan Available: No pmt_sp Available: Yes pmt_sp_policy Available: Yes mailbox Available: Yes bios_lock Available: Yes

/sys/class/intel_pmt/telem<x>

Defined on file sysfs-class-intel_pmt

The telem<x> directory contains files describing an instance of a PMT telemetry device that exposes hardware telemetry. Each telem<x> directory has an associated telem file. This file may be opened and mapped or read to access the telemetry space of the device. The register layout of the telemetry space is determined from an XML file that matches the PCI device id and GUID for the device.

/sys/class/intel_pmt/telem<x>/guid

Defined on file sysfs-class-intel_pmt

(RO) The GUID for this telemetry device. The GUID identifies the version of the XML file for the parent device that is to be used to get the register layout.

/sys/class/intel_pmt/telem<x>/offset

Defined on file sysfs-class-intel_pmt

(RO) The offset of telemetry region in bytes that corresponds to the mapping for the telem file.

/sys/class/intel_pmt/telem<x>/size

Defined on file sysfs-class-intel_pmt

(RO) The size of telemetry region in bytes that corresponds to the mapping size for the telem file.

/sys/class/intel_pmt/telem<x>/telem

Defined on file sysfs-class-intel_pmt

(RO) The telemetry data for this telemetry device. This file may be mapped or read to obtain the data.

/sys/class/iommu/<iommu>/amd-iommu/cap

Defined on file sysfs-class-iommu-amd-iommu

IOMMU capability header as documented in the AMD IOMMU specification. Format: %x

/sys/class/iommu/<iommu>/amd-iommu/features

Defined on file sysfs-class-iommu-amd-iommu

Extended features of the IOMMU. Format: %llx

/sys/class/iommu/<iommu>/devices/

Defined on file sysfs-class-iommu

IOMMU drivers are able to link devices managed by a given IOMMU here to allow association of IOMMU to device.

/sys/class/iommu/<iommu>/intel-iommu/address

Defined on file sysfs-class-iommu-intel-iommu

Physical address of the VT-d DRHD for this IOMMU. Format: %llx. This allows association of a sysfs intel-iommu with a DMAR DRHD table entry.

/sys/class/iommu/<iommu>/intel-iommu/cap

Defined on file sysfs-class-iommu-intel-iommu

The cached hardware capability register value of this DRHD unit. Format: %llx.

/sys/class/iommu/<iommu>/intel-iommu/ecap

Defined on file sysfs-class-iommu-intel-iommu

The cached hardware extended capability register value of this DRHD unit. Format: %llx.

/sys/class/iommu/<iommu>/intel-iommu/version

Defined on file sysfs-class-iommu-intel-iommu

The architecture version as reported from the VT-d VER_REG. Format: %d:%d, major:minor

/sys/class/lcd/<lcd>/contrast

Defined on file sysfs-class-lcd

Current contrast of this LCD device. Value is between 0 and /sys/class/lcd/<lcd>/max_contrast.

/sys/class/lcd/<lcd>/lcd_power

Defined on file sysfs-class-lcd

Control LCD power, values are FB_BLANK_* from fb.h
  • FB_BLANK_UNBLANK (0) : power on.

  • FB_BLANK_POWERDOWN (4) : power off

/sys/class/lcd/<lcd>/max_contrast

Defined on file sysfs-class-lcd

Maximum contrast for this LCD device.

/sys/class/leds/<led>/als_channel

Defined on file sysfs-class-led-driver-lm3533

Set the ALS output channel to use as input in ALS-current-control mode (1, 2), where:

1

out_current1

2

out_current2

/sys/class/leds/<led>/als_en

Defined on file sysfs-class-led-driver-lm3533

Enable ALS-current-control mode (0, 1).

/sys/class/leds/<led>/brightness

Defined on file sysfs-class-led

Set the brightness of the LED.

Most LEDs don’t have hardware brightness support, so will just be turned on for non-zero brightness settings.

Note

For multicolor LEDs, writing to this file will update all LEDs within the group to a calculated percentage of what each color LED intensity is set to.

The percentage is calculated for each grouped LED via the equation below:

led_brightness = brightness * multi_intensity/max_brightness

For additional details please refer to Multicolor LED handling under Linux.

The value is between 0 and /sys/class/leds/<led>/max_brightness and is represented by as a decimal.

Writing 0 to this file clears active trigger.

Writing non-zero to this file while trigger is active changes the top brightness trigger is going to use.

/sys/class/leds/<led>/brightness_hw_changed

Defined on file sysfs-class-led

Last hardware set brightness level for this LED. Some LEDs may be changed autonomously by hardware/firmware. Only LEDs where this happens and the driver can detect this, will have this file.

This file supports poll() to detect when the hardware changes the brightness.

Reading this file will return the last brightness level set by the hardware, this may be different from the current brightness. Reading this file when no hw brightness change event has happened will return an ENODATA error.

/sys/class/leds/<led>/delay_off

Defined on file sysfs-class-led-trigger-oneshot

Specifies for how many milliseconds the LED has to stay at LED_OFF brightness after it has been armed. Defaults to 100 ms.

/sys/class/leds/<led>/delay_on

Defined on file sysfs-class-led-trigger-oneshot

Specifies for how many milliseconds the LED has to stay at LED_FULL brightness after it has been armed. Defaults to 100 ms.

/sys/class/leds/<led>/device/brightness

Defined on file sysfs-class-led-driver-turris-omnia

(RW) On the front panel of the Turris Omnia router there is also a button which can be used to control the intensity of all the LEDs at once, so that if they are too bright, user can dim them.

The microcontroller cycles between 8 levels of this global brightness (from 100% to 0%), but this setting can have any integer value between 0 and 100. It is therefore convenient to be able to change this setting from software.

Format: %i

/sys/class/leds/<led>/device/gamma_correction

Defined on file sysfs-class-led-driver-turris-omnia

(RW) Newer versions of the microcontroller firmware of the Turris 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 too old, the file always reads as 0, and writing to the file results in the EOPNOTSUPP error.

Format: %i

/sys/class/leds/<led>/device_name

Defined on file sysfs-class-led-trigger-netdev

Specifies the network device name to monitor.

/sys/class/leds/<led>/dim

Defined on file sysfs-class-led-driver-aw200xx

64-level DIM current. If you write a negative value or “auto”, the dim will be calculated according to the brightness.

/sys/class/leds/<led>/falltime

/sys/class/leds/<led>/risetime

Defined on file sysfs-class-led-driver-lm3533

Set the pattern generator fall and rise times (0..7), where:

0

2048 us

1

262 ms

2

524 ms

3

1.049 s

4

2.097 s

5

4.194 s

6

8.389 s

7

16.78 s

/sys/class/leds/<led>/flash_brightness

Defined on file sysfs-class-led-flash

read/write Set the brightness of this LED in the flash strobe mode, in microamperes. The file is created only for the flash LED devices that support setting flash brightness.

The value is between 0 and /sys/class/leds/<led>/max_flash_brightness.

/sys/class/leds/<led>/flash_fault

Defined on file sysfs-class-led-flash

read only Space separated list of flash faults that may have occurred. Flash faults are re-read after strobing the flash. Possible flash faults:

  • led-over-voltage

    flash controller voltage to the flash LED has exceeded the limit specific to the flash controller

  • flash-timeout-exceeded

    the flash strobe was still on when the timeout set by the user has expired; not all flash controllers may set this in all such conditions

  • controller-over-temperature

    the flash controller has overheated

  • controller-short-circuit

    the short circuit protection of the flash controller has been triggered

  • led-power-supply-over-current

    current in the LED power supply has exceeded the limit specific to the flash controller

  • indicator-led-fault

    the flash controller has detected a short or open circuit condition on the indicator LED

  • led-under-voltage

    flash controller voltage to the flash LED has been below the minimum limit specific to the flash

  • controller-under-voltage

    the input voltage of the flash controller is below the limit under which strobing the flash at full current will not be possible; the condition persists until this flag is no longer set

  • led-over-temperature

    the temperature of the LED has exceeded its allowed upper limit

/sys/class/leds/<led>/flash_strobe

Defined on file sysfs-class-led-flash

read/write Flash strobe state. When written with 1 it triggers flash strobe and when written with 0 it turns the flash off.

On read 1 means that flash is currently strobing and 0 means that flash is off.

/sys/class/leds/<led>/flash_timeout

Defined on file sysfs-class-led-flash

read/write Hardware timeout for flash, in microseconds. The flash strobe is stopped after this period of time has passed from the start of the strobe. The file is created only for the flash LED devices that support setting flash timeout.

/sys/class/leds/<led>/full_duplex

Defined on file sysfs-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 full duplex state of the named network device. Setting this value also immediately changes the LED state.

/sys/class/leds/<led>/gt683r/mode

Defined on file sysfs-class-leds-gt683r

Set the mode of LEDs. You should notice that changing the mode of one LED will update the mode of its two sibling devices as well. Possible values are:

0

normal

1

audio

2

breathing

Normal: LEDs are fully on when enabled Audio: LEDs brightness depends on sound level Breathing: LEDs brightness varies at human breathing rate

/sys/class/leds/<led>/half_duplex

Defined on file sysfs-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 half duplex state of the named network device. Setting this value also immediately changes the LED state.

/sys/class/leds/<led>/hr_pattern

Defined on file sysfs-class-led-trigger-pattern

Specify a software pattern for the LED, that supports altering the brightness for the specified duration with one software timer. It can do gradual dimming and step change of brightness.

Unlike the /sys/class/leds/<led>/pattern, this attribute runs a pattern on high-resolution timer (hrtimer).

/sys/class/leds/<led>/hw_pattern

Defined on file sysfs-class-led-trigger-pattern

Specify a hardware pattern for the LED, for LED hardware that supports autonomously controlling brightness over time, according to some preprogrammed hardware patterns. It deactivates any active software pattern.

Since different LED hardware can have different semantics of hardware patterns, each driver is expected to provide its own description for the hardware patterns in their documentation file at Documentation/leds/.

/sys/class/leds/<led>/id

Defined on file sysfs-class-led-driver-lm3533

Get the id of this led (0..3).

/sys/class/leds/<led>/interval

Defined on file sysfs-class-led-trigger-netdev

Specifies the duration of the LED blink in milliseconds. Defaults to 50 ms.

When offloaded is true, the interval value MUST be set to the default value and cannot be changed. Trying to set any value in this specific mode will return an EINVAL error.

/sys/class/leds/<led>/invert

Defined on file sysfs-class-led-trigger-oneshot

Reverse the blink logic. If set to 0 (default) blink on for delay_on ms, then blink off for delay_off ms, leaving the LED normally off. If set to 1, blink off for delay_off ms, then blink on for delay_on ms, leaving the LED normally on. Setting this value also immediately changes the LED state.

/sys/class/leds/<led>/inverted

Defined on file sysfs-class-led

Invert the LED on/off state. This parameter is specific to gpio and backlight triggers. In case of the backlight trigger, it is useful when driving a LED which is intended to indicate a device in a standby like state.

/sys/class/leds/<led>/linear

Defined on file sysfs-class-led-driver-lm3533

Set the brightness-mapping mode (0, 1), where:

0

exponential mode

1

linear mode

Defined on file sysfs-class-led-trigger-netdev

Signal the link state of the named network device.

If set to 0 (default), the LED’s normal state is off.

If set to 1, the LED’s normal state reflects the link state of the named network device. Setting this value also immediately changes the LED state.

Defined on file sysfs-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 state speed 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.

Defined on file sysfs-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 state speed 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.

Defined on file sysfs-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 state speed 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.

Defined on file sysfs-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 state speed 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.

Defined on file sysfs-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 state speed 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.

Defined on file sysfs-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 state speed 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 file sysfs-class-led

Maximum brightness level for this LED, default is 255 (LED_FULL).

If the LED does not support different brightness levels, this should be 1.

/sys/class/leds/<led>/max_flash_brightness

Defined on file sysfs-class-led-flash

read only Maximum brightness level for this LED in the flash strobe mode, in microamperes.

/sys/class/leds/<led>/max_flash_timeout

Defined on file sysfs-class-led-flash

read only Maximum flash timeout for this LED, in microseconds.

/sys/class/leds/<led>/multi_index

Defined on file sysfs-class-led-multicolor

read The multi_index array, when read, will output the LED colors as an array of strings as they are indexed in the multi_intensity file.

For additional details please refer to Multicolor LED handling under Linux.

/sys/class/leds/<led>/multi_intensity

Defined on file sysfs-class-led-multicolor

read/write This file contains an array of integers. The order of components is described by the multi_index array. The maximum intensity value supported by each color component is described by the multi_max_intensity file. Writing intensity values larger than the maximum value of a given color component will result in those values being clamped.

For additional details please refer to Multicolor LED handling under Linux.

/sys/class/leds/<led>/multi_max_intensity

Defined on file sysfs-class-led-multicolor

read This file contains an array of integers describing the maximum intensity value for each intensity component.

For additional details please refer to Multicolor LED handling under Linux.

/sys/class/leds/<led>/offloaded

Defined on file sysfs-class-led-trigger-netdev

Communicate whether the LED trigger modes are offloaded to hardware 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 to hardware.

/sys/class/leds/<led>/pattern

Defined on file sysfs-class-led-trigger-pattern

Specify a software pattern for the LED, that supports altering the brightness for the specified duration with one software timer. It can do gradual dimming and step change of brightness.

The pattern is given by a series of tuples, of brightness and duration (ms).

The exact format is described in: Documentation/devicetree/bindings/leds/leds-trigger-pattern.txt

/sys/class/leds/<led>/ports/<port>

Defined on file sysfs-class-led-trigger-usbport

Every dir entry represents a single USB port that can be selected for the USB port trigger. Selecting ports makes trigger observing them for any connected devices and lighting on LED if there are any.

Echoing “1” value selects USB port. Echoing “0” unselects it. Current state can be also read.

/sys/class/leds/<led>/pwm

Defined on file sysfs-class-led-driver-lm3533

Set the PWM-input control mask (5 bits), where:

bit 5

PWM-input enabled in Zone 4

bit 4

PWM-input enabled in Zone 3

bit 3

PWM-input enabled in Zone 2

bit 2

PWM-input enabled in Zone 1

bit 1

PWM-input enabled in Zone 0

bit 0

PWM-input enabled

/sys/class/leds/<led>/repeat

Defined on file sysfs-class-led-trigger-pattern

Specify a pattern repeat number. -1 means repeat indefinitely, other negative numbers and number 0 are invalid.

This file will always return the originally written repeat number.

It should be noticed that some leds, like EL15203000 may only support indefinitely patterns, so they always store -1.

/sys/class/leds/<led>/rx

Defined on file sysfs-class-led-trigger-netdev

Signal reception of data on the named network device.

If set to 0 (default), the LED will not blink on reception.

If set to 1, the LED will blink for the milliseconds specified in interval to signal reception.

When offloaded is true, the blink interval is controlled by hardware and won’t reflect the value set in interval.

/sys/class/leds/<led>/shot

Defined on file sysfs-class-led-trigger-oneshot

Write any non-empty string to signal an events, this starts a blink sequence if not already running.

/sys/class/leds/<led>/trigger

Defined on file sysfs-class-led

Set the trigger for this LED. A trigger is a kernel based source of LED events.

You can change triggers in a similar manner to the way an IO scheduler is chosen. Trigger specific parameters can appear in /sys/class/leds/<led> once a given trigger is selected. For their documentation see sysfs-class-led-trigger-*.

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 the hardware).

/sys/class/leds/<led>/tx

Defined on file sysfs-class-led-trigger-netdev

Signal transmission of data on the named network device.

If set to 0 (default), the LED will not blink on transmission.

If set to 1, the LED will blink for the milliseconds specified in interval to signal transmission.

When offloaded is true, the blink interval is controlled by hardware and won’t reflect the value set in interval.

/sys/class/leds/<tty_led>/cts

Defined on file sysfs-class-led-trigger-tty

CTS = Clear To Send DCE 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 file sysfs-class-led-trigger-tty

DCD = Data Carrier Detect DTE 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 file sysfs-class-led-trigger-tty

DSR = Data Set Ready DCE 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 file sysfs-class-led-trigger-tty

RNG = Ring Indicator DCE has detected an incoming ring signal on the telephone line. 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 file sysfs-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 file sysfs-class-led-trigger-tty

Specifies the tty device name of the triggering tty

/sys/class/leds/<tty_led>/tx

Defined on file sysfs-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 file sysfs-driver-hid-srws1

Provides a control for turning on/off the LEDs which form an RPM meter on the front of the controller

/sys/class/leds/dell::kbd_backlight/als_enabled

Defined on file sysfs-platform-dell-laptop

This file allows to control the automatic keyboard illumination mode on some systems that have an ambient light sensor. Write 1 to this file to enable the auto mode, 0 to disable it.

/sys/class/leds/dell::kbd_backlight/als_setting

Defined on file sysfs-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 file sysfs-platform-dell-laptop

This file allows to control the input triggers that turn on the keyboard backlight illumination that is disabled because of inactivity. Read the file to see the triggers available. The ones enabled are preceded by ‘+’, those disabled by ‘-‘.

To enable a trigger, write its name preceded by ‘+’ to this file. To disable a trigger, write its name preceded by ‘-’ instead.

For example, to enable the keyboard as trigger run:

echo +keyboard > /sys/class/leds/dell::kbd_backlight/start_triggers

To disable it:

echo -keyboard > /sys/class/leds/dell::kbd_backlight/start_triggers

Note that not all the available triggers can be configured.

/sys/class/leds/dell::kbd_backlight/stop_timeout

Defined on file sysfs-platform-dell-laptop

This file allows to specify the interval after which the keyboard illumination is disabled because of inactivity. The timeouts are expressed in seconds, minutes, hours and days, for which the symbols are ‘s’, ‘m’, ‘h’ and ‘d’ respectively.

To configure the timeout, write to this file a value along with any the above units. If no unit is specified, the value is assumed to be expressed in seconds.

For example, to set the timeout to 10 minutes run:

echo 10m > /sys/class/leds/dell::kbd_backlight/stop_timeout

Note that when this file is read, the returned value might be expressed in a different unit than the one used when the timeout was set.

Also note that only some timeouts are supported and that some systems might fall back to a specific timeout in case an invalid timeout is written to this file.

/sys/class/leds/go:rgb:joystick_rings/effect

Defined on file sysfs-driver-hid-lenovo-go

This controls the display effect of the RGB interface.

Values are monocolor, breathe, chroma, or rainbow.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/class/leds/go:rgb:joystick_rings/effect_index

Defined on file sysfs-driver-hid-lenovo-go

This displays the available options for the effect attribute.

Values are monocolor, breathe, chroma, or rainbow.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/class/leds/go:rgb:joystick_rings/enabled

Defined on file sysfs-driver-hid-lenovo-go

This controls enabling or disabling the RGB interface.

Values are true or false.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/class/leds/go:rgb:joystick_rings/enabled_index

Defined on file sysfs-driver-hid-lenovo-go

This displays the available options for the enabled attribute.

Values are true or false.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/class/leds/go:rgb:joystick_rings/mode

Defined on file sysfs-driver-hid-lenovo-go

This controls the operating mode of the RGB interface.

Values are dynamic or custom. Custom allows setting the RGB effect and color.

Dynamic is a Windows mode for syncing Lenovo RGB interfaces not currently supported under Linux.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/class/leds/go:rgb:joystick_rings/mode_index

Defined on file sysfs-driver-hid-lenovo-go

This displays the available options for the mode attribute.

Values are dynamic or custom.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/class/leds/go:rgb:joystick_rings/profile

Defined on file sysfs-driver-hid-lenovo-go

This controls selecting the configured RGB profile.

Values are 1-3.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/class/leds/go:rgb:joystick_rings/profile_range

Defined on file sysfs-driver-hid-lenovo-go

This displays the available options for the profile attribute.

Values are 1-3.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/class/leds/go:rgb:joystick_rings/speed

Defined on file sysfs-driver-hid-lenovo-go

This controls the change rate for the breathe, chroma, and rainbow effects.

Values are 0-100.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/class/leds/go:rgb:joystick_rings/speed_range

Defined on file sysfs-driver-hid-lenovo-go

This displays the available options for the speed attribute.

Values are 0-100.

Applies to Lenovo Legion Go and Go 2 line of handheld devices.

/sys/class/leds/go_s:rgb:joystick_rings/effect

Defined on file sysfs-driver-hid-lenovo-go-s

This controls the display effect of the RGB interface.

Values are monocolor, breathe, chroma, or rainbow.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/class/leds/go_s:rgb:joystick_rings/effect_index

Defined on file sysfs-driver-hid-lenovo-go-s

This displays the available options for the effect attribute.

Values are monocolor, breathe, chroma, or rainbow.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/class/leds/go_s:rgb:joystick_rings/enabled

Defined on file sysfs-driver-hid-lenovo-go-s

This controls enabling or disabling the RGB interface.

Values are true or false.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/class/leds/go_s:rgb:joystick_rings/enabled_index

Defined on file sysfs-driver-hid-lenovo-go-s

This displays the available options for the enabled attribute.

Values are true or false.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/class/leds/go_s:rgb:joystick_rings/mode

Defined on file sysfs-driver-hid-lenovo-go-s

This controls the operating mode of the RGB interface.

Values are dynamic or custom. Custom allows setting the RGB effect and color.

Dynamic is a Windows mode for syncing Lenovo RGB interfaces not currently supported under Linux.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/class/leds/go_s:rgb:joystick_rings/mode_index

Defined on file sysfs-driver-hid-lenovo-go-s

This displays the available options for the mode attribute.

Values are dynamic or custom.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/class/leds/go_s:rgb:joystick_rings/profile

Defined on file sysfs-driver-hid-lenovo-go-s

This controls selecting the configured RGB profile.

Values are 1-3.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/class/leds/go_s:rgb:joystick_rings/profile_range

Defined on file sysfs-driver-hid-lenovo-go-s

This displays the available options for the profile attribute.

Values are 1-3.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/class/leds/go_s:rgb:joystick_rings/speed

Defined on file sysfs-driver-hid-lenovo-go-s

This controls the change rate for the breathe, chroma, and rainbow effects.

Values are 0-100.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/class/leds/go_s:rgb:joystick_rings/speed_range

Defined on file sysfs-driver-hid-lenovo-go-s

This displays the available options for the speed attribute.

Values are 0-100.

Applies to Lenovo Legion Go S line of handheld devices.

/sys/class/mdio_bus/<bus>/<device>/attached_dev

Defined on file sysfs-class-net-phydev

Symbolic link to the network device this PHY device is attached to.

/sys/class/mdio_bus/<bus>/<device>/c45_phy_ids/mmd<n>_device_id

Defined on file sysfs-class-net-phydev

This attribute contains the 32-bit PHY Identifier as reported by the device during bus enumeration, encoded in hexadecimal. These C45 IDs are used to match the device with the appropriate driver. These files are invisible to the C22 device.

/sys/class/mdio_bus/<bus>/<device>/phy_dev_flags

Defined on file sysfs-class-net-phydev

32-bit hexadecimal number representing a bit mask of the configuration bits passed from the consumer of the PHY (Ethernet MAC, switch, etc.) to the PHY driver. The flags are only used internally by the kernel and their placement are not meant to be stable across kernel versions. This is intended for facilitating the debugging of PHY drivers.

/sys/class/mdio_bus/<bus>/<device>/phy_has_fixups

Defined on file sysfs-class-net-phydev

This attribute contains the boolean value whether a given PHY device has had any “fixup” workaround running on it, encoded as a boolean. This information is provided to help troubleshooting PHY configurations.

/sys/class/mdio_bus/<bus>/<device>/phy_id

Defined on file sysfs-class-net-phydev

This attribute contains the 32-bit PHY Identifier as reported by the device during bus enumeration, encoded in hexadecimal. This ID is used to match the device with the appropriate driver.

/sys/class/mdio_bus/<bus>/<device>/phy_interface

Defined on file sysfs-class-net-phydev

This attribute contains the PHY interface as configured by the Ethernet driver during bus enumeration, encoded in string. This interface mode is used to configure the Ethernet MAC with the appropriate mode for its data lines to the PHY hardware.

Possible values are:

<empty> (not available), mii, gmii, sgmii, tbi, rev-mii, rmii, rgmii, rgmii-id, rgmii-rxid, rgmii-txid, rtbi, smii xgmii, moca, qsgmii, trgmii, 1000base-x, 2500base-x, rxaui, xaui, 10gbase-kr, unknown

/sys/class/mdio_bus/<bus>/<device>/phy_standalone

Defined on file sysfs-class-net-phydev

Boolean value indicating whether the PHY device is used in standalone mode, without a net_device associated, by PHYLINK. Attribute created only when this is the case.

/sys/class/mei/

Defined on file sysfs-class-mei

The mei/ class sub-directory belongs to mei device class

/sys/class/mei/mei<N>/

Defined on file sysfs-class-mei

The /sys/class/mei/meiN directory is created for each probed mei device

/sys/class/mei/mei<N>/dev_state

Defined on file sysfs-class-mei

Display the ME device state.

The device state can have following values: INITIALIZING INIT_CLIENTS ENABLED RESETTING DISABLED POWER_DOWN POWER_UP

/sys/class/mei/mei<N>/fw_status

Defined on file sysfs-class-mei

Display fw status registers content

The ME FW writes its status information into fw status registers for BIOS and OS to monitor fw health.

The register contains running state, power management state, error codes, and others. The way the registers are decoded depends on PCH or SoC generation. Also number of registers varies between 1 and 6 depending on generation.

/sys/class/mei/mei<N>/fw_ver

Defined on file sysfs-class-mei

Display the ME firmware version.

The version of the platform ME firmware is in format: <platform>:<major>.<minor>.<milestone>.<build_no>. There can be up to three such blocks for different FW components.

/sys/class/mei/mei<N>/hbm_ver

Defined on file sysfs-class-mei

Display the negotiated HBM protocol version.

The HBM protocol version negotiated between the driver and the device.

/sys/class/mei/mei<N>/hbm_ver_drv

Defined on file sysfs-class-mei

Display the driver HBM protocol version.

The HBM protocol version supported by the driver.

/sys/class/mei/mei<N>/kind

Defined on file sysfs-class-mei

Display kind of the device

Generic devices are marked as “mei” while special purpose have their own names. Available options: - mei: generic mei device. - itouch: itouch (ipts) mei device.

/sys/class/mei/mei<N>/trc

Defined on file sysfs-class-mei

Display trc status register content

The ME FW writes Glitch Detection HW (TRC) status information into trc status register for BIOS and OS to monitor fw health.

/sys/class/mei/mei<N>/tx_queue_limit

Defined on file sysfs-class-mei

Configure tx queue limit

Set maximal number of pending writes per opened session.

/sys/class/mic/

Defined on file sysfs-class-mic

The mic class directory belongs to Intel MIC devices and provides information per MIC device. An Intel MIC device is a PCIe form factor add-in Coprocessor card based on the Intel Many Integrated Core (MIC) architecture that runs a Linux OS.

/sys/class/mic/mic<X>

Defined on file sysfs-class-mic

The directories /sys/class/mic/mic0, /sys/class/mic/mic1 etc., represent MIC devices (0,1,..etc). Each directory has information specific to that MIC device.

/sys/class/mic/mic<X>/bootmode

Defined on file sysfs-class-mic

When read, this sysfs entry provides the current bootmode for the card. This sysfs entry can be written with the following valid strings: a) linux - Boot a Linux image. b) flash - Boot an image for flash updates.

/sys/class/mic/mic<X>/cmdline

Defined on file sysfs-class-mic

An Intel MIC device runs a Linux OS during its operation. Before booting this card OS, it is possible to pass kernel command line options to configure various features in it, similar to self-bootable machines. When read, this entry provides information about the current kernel command line options set to boot the card OS. This entry can be written to change the existing kernel command line options. Typically, the user would want to read the current command line options, append new ones or modify existing ones and then write the whole kernel command line back to this entry.

/sys/class/mic/mic<X>/family

Defined on file sysfs-class-mic

Provides information about the Coprocessor family for an Intel MIC device. For example - “x100”

/sys/class/mic/mic<X>/firmware

Defined on file sysfs-class-mic

When read, this sysfs entry provides the path name under /lib/firmware/ where the firmware image to be booted on the card can be found. The entry can be written to change the firmware image location under /lib/firmware/.

/sys/class/mic/mic<X>/heartbeat_enable

Defined on file sysfs-class-mic

The MIC drivers detect and inform user space about card crashes via a heartbeat mechanism (see the description of shutdown_status above). User space can turn off this notification by setting heartbeat_enable to 0 and enable it by setting this entry to 1. If this notification is disabled it is the responsibility of user space to detect card crashes via alternative means such as a network ping. This setting is enabled by default.

/sys/class/mic/mic<X>/log_buf_addr

Defined on file sysfs-class-mic

An Intel MIC device runs a Linux OS during its operation. For debugging purpose and early kernel boot messages, the user can access the card OS log buffer via debugfs. When read, this entry provides the kernel virtual address of the buffer where the card OS log buffer can be read. This entry is written by the host configuration daemon to set the log buffer address. The correct log buffer address to be written can be found in the System.map file of the card OS.

/sys/class/mic/mic<X>/log_buf_len

Defined on file sysfs-class-mic

An Intel MIC device runs a Linux OS during its operation. For debugging purpose and early kernel boot messages, the user can access the card OS log buffer via debugfs. When read, this entry provides the kernel virtual address where the card OS log buffer length can be read. This entry is written by host configuration daemon to set the log buffer length address. The correct log buffer length address to be written can be found in the System.map file of the card OS.

/sys/class/mic/mic<X>/ramdisk

Defined on file sysfs-class-mic

When read, this sysfs entry provides the path name under /lib/firmware/ where the ramdisk image to be used during card OS boot can be found. The entry can be written to change the ramdisk image location under /lib/firmware/.

/sys/class/mic/mic<X>/shutdown_status

Defined on file sysfs-class-mic

An Intel MIC device runs a Linux OS during its operation. This OS can shutdown because of various reasons. When read, this entry provides the status on why the card OS was shutdown. Possible values are:

“nop”

shutdown status is not applicable, when the card OS is “online”

“crashed”

Shutdown because of a HW or SW crash.

“halted”

Shutdown because of a halt command.

“poweroff”

Shutdown because of a poweroff command.

“restart”

Shutdown because of a restart command.

/sys/class/mic/mic<X>/state

Defined on file sysfs-class-mic

When read, this entry provides the current state of an Intel MIC device in the context of the card OS. Possible values that will be read are:

“ready”

The MIC device is ready to boot the card OS. On reading this entry after an OSPM resume, a “boot” has to be written to this entry if the card was previously shutdown during OSPM suspend.

“booting”

The MIC device has initiated booting a card OS.

“online”

The MIC device has completed boot and is online

“shutting_down”

The card OS is shutting down.

“resetting”

A reset has been initiated for the MIC device

“reset_failed”

The MIC device has failed to reset.

When written, this sysfs entry triggers different state change operations depending upon the current state of the card OS. Acceptable values are:

“boot”

Boot the card OS image specified by the combination of firmware, ramdisk, cmdline and bootmode sysfs entries.

“reset”

Initiates device reset.

“shutdown”

Initiates card OS shutdown.

/sys/class/mic/mic<X>/stepping

Defined on file sysfs-class-mic

Provides information about the silicon stepping for an Intel MIC device. For example - “A0” or “B0”

/sys/class/misc/drivers/dw-xdata-pcie.<device>/write

Defined on file sysfs-driver-xdata

Allows the user to enable the PCIe traffic generator which will create write TLPs frames - from the Root Complex to the Endpoint direction or to disable the PCIe traffic generator in 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 generated through this generator in MB/s.

Usage e.g.

cat /sys/class/misc/dw-xdata-pcie.<device>/write 204

The file is read and write.

/sys/class/misc/dw-xdata-pcie.<device>/read

Defined on file sysfs-driver-xdata

Allows the user to enable the PCIe traffic generator which will create read TLPs frames - from the Endpoint to the Root Complex direction or to disable the PCIe traffic generator in 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 generated through this generator in MB/s.

Usage e.g.

cat /sys/class/misc/dw-xdata-pcie.<device>/read 199

The file is read and write.

/sys/class/mtd/

Defined on file sysfs-class-mtd

The mtd/ class subdirectory belongs to the MTD subsystem (MTD core).

/sys/class/mtd/mtdX/

Defined on file sysfs-class-mtd

The /sys/class/mtd/mtd{0,1,2,3,...} directories correspond to each /dev/mtdX character device. These may represent physical/simulated flash devices, partitions on a flash device, or concatenated flash devices.

/sys/class/mtd/mtdX/bad_blocks

Defined on file sysfs-class-mtd

The number of blocks marked as bad, if any, in this partition.

/sys/class/mtd/mtdX/bbt_blocks

Defined on file sysfs-class-mtd

The number of blocks that are marked as reserved, if any, in this partition. These are typically used to store the in-flash bad block table (BBT).

/sys/class/mtd/mtdX/bitflip_threshold

Defined on file sysfs-class-mtd

This allows the user to examine and adjust the criteria by which mtd returns -EUCLEAN from mtd_read() and mtd_read_oob(). If the maximum number of bit errors that were corrected on any single region comprising an ecc step (as reported by the driver) equals or exceeds this value, -EUCLEAN is returned. Otherwise, absent an error, 0 is returned. Higher layers (e.g., UBI) use this return code as an indication that an erase block may be degrading and should be scrutinized as a candidate for being marked as bad.

The initial value may be specified by the flash device driver. If not, then the default value is ecc_strength.

The introduction of this feature brings a subtle change to the meaning of the -EUCLEAN return code. Previously, it was interpreted to mean simply “one or more bit errors were corrected”. Its new interpretation can be phrased as “a dangerously high number of bit errors were corrected on one or more regions comprising an ecc step”. The precise definition of “dangerously high” can be adjusted by the user with bitflip_threshold. Users are discouraged from doing this, however, unless they know what they are doing and have intimate knowledge of the properties of their device. Broadly speaking, bitflip_threshold should be low enough to detect genuine erase block degradation, but high enough to avoid the consequences of a persistent return value of -EUCLEAN on devices where sticky bitflips occur. Note that if bitflip_threshold exceeds ecc_strength, -EUCLEAN is never returned by the read operations. Conversely, if bitflip_threshold is zero, -EUCLEAN is always returned, absent a hard error.

This is generally applicable only to NAND flash devices with ECC capability. It is ignored on devices lacking ECC capability; i.e., devices for which ecc_strength is zero.

/sys/class/mtd/mtdX/corrected_bits

Defined on file sysfs-class-mtd

The number of bits that have been corrected by means of the device’s ECC.

It will always be a non-negative integer. In the case of devices lacking any ECC capability, it is 0.

/sys/class/mtd/mtdX/dev

Defined on file sysfs-class-mtd

Major and minor numbers of the character device corresponding to this MTD device (in <major>:<minor> format). This is the read-write device so <minor> will be even.

/sys/class/mtd/mtdX/ecc_failures

Defined on file sysfs-class-mtd

The number of failures reported by this device’s ECC. Typically, these failures are associated with failed read operations.

It will always be a non-negative integer. In the case of devices lacking any ECC capability, it is 0.

/sys/class/mtd/mtdX/ecc_step_size

Defined on file sysfs-class-mtd

The size of a single region covered by ECC, known as the ECC step. Devices may have several equally sized ECC steps within each writesize region.

It will always be a non-negative integer. In the case of devices lacking any ECC capability, it is 0.

/sys/class/mtd/mtdX/ecc_strength

Defined on file sysfs-class-mtd

Maximum number of bit errors that the device is capable of correcting within each region covering an ECC step (see ecc_step_size). This will always be a non-negative integer.

In the case of devices lacking any ECC capability, it is 0.

/sys/class/mtd/mtdX/erasesize

Defined on file sysfs-class-mtd

“Major” erase size for the device. If numeraseregions is zero, this is the eraseblock size for the entire device. Otherwise, the MEMGETREGIONCOUNT/MEMGETREGIONINFO ioctls can be used to determine the actual eraseblock layout.

/sys/class/mtd/mtdX/flags

Defined on file sysfs-class-mtd

A hexadecimal value representing the device flags, ORed together:

0x0400: MTD_WRITEABLE - device is writable 0x0800: MTD_BIT_WRITEABLE - single bits can be flipped 0x1000: MTD_NO_ERASE - no erase necessary 0x2000: MTD_POWERUP_LOCK - always locked after reset

/sys/class/mtd/mtdX/name

Defined on file sysfs-class-mtd

A human-readable ASCII name for the device or partition. This will match the name in /proc/mtd .

/sys/class/mtd/mtdX/numeraseregions

Defined on file sysfs-class-mtd

For devices that have variable eraseblock sizes, this provides the total number of erase regions. Otherwise, it will read back as zero.

/sys/class/mtd/mtdX/offset

Defined on file sysfs-class-mtd

For a partition, the offset of that partition from the start of the parent (another partition or a flash device) in bytes. This attribute is absent on flash devices, so it can be used to distinguish them from partitions.

/sys/class/mtd/mtdX/oobavail

Defined on file sysfs-class-mtd

Number of bytes available for a client to place data into the out of band area.

/sys/class/mtd/mtdX/oobsize

Defined on file sysfs-class-mtd

Number of OOB bytes per page.

/sys/class/mtd/mtdX/size

Defined on file sysfs-class-mtd

Total size of the device/partition, in bytes.

/sys/class/mtd/mtdX/type

Defined on file sysfs-class-mtd

One of the following ASCII strings, representing the device type:

absent, ram, rom, nor, nand, mlc-nand, dataflash, ubi, unknown

/sys/class/mtd/mtdX/writesize

Defined on file sysfs-class-mtd

Minimal writable flash unit size. This will always be a positive integer.

In the case of NOR flash it is 1 (even though individual bits can be cleared).

In the case of NAND flash it is one NAND page (or a half page, or a quarter page).

In the case of ECC NOR, it is the ECC block size.

/sys/class/mtd/mtdXro/

Defined on file sysfs-class-mtd

These directories provide the corresponding read-only device nodes for /sys/class/mtd/mtdX/ .

/sys/class/mtd/mtdXro/dev

Defined on file sysfs-class-mtd

Major and minor numbers of the character device corresponding to the read-only variant of the MTD device (in <major>:<minor> format). In this case <minor> will be odd.

/sys/class/mux/

Defined on file sysfs-class-mux

The mux/ class sub-directory belongs to the Generic MUX Framework and provides a sysfs interface for using MUX controllers.

/sys/class/mux/muxchip<N>/

Defined on file sysfs-class-mux

A /sys/class/mux/muxchipN directory is created for each probed MUX chip where N is a simple enumeration.

/sys/class/net/<bridge iface>/bridge/group_fwd_mask

Defined on file sysfs-class-net

Bitmask to allow forwarding of link local frames with address 01-80-C2-00-00-0X on a bridge device. Only values that set bits not matching BR_GROUPFWD_RESTRICTED in net/bridge/br_private.h allowed. Default value 0 does not forward any link local frames.

Restricted bits:

0

01-80-C2-00-00-00 Bridge Group Address used for STP

1

01-80-C2-00-00-01 (MAC Control) 802.3 used for MAC PAUSE

2

01-80-C2-00-00-02 (Link Aggregation) 802.3ad

Any values not setting these bits can be used. Take special care when forwarding control frames e.g. 802.1X-PAE or LLDP.

/sys/class/net/<iface>/addr_assign_type

Defined on file sysfs-class-net

Indicates the address assignment type. Possible values are:

0

permanent address

1

randomly generated

2

stolen from another device

3

set using dev_set_mac_address

/sys/class/net/<iface>/addr_len

Defined on file sysfs-class-net

Indicates the hardware address size in bytes. Values vary based on the lower-level protocol used by the interface (Ethernet, FDDI, ATM, IEEE 802.15.4...). See include/uapi/linux/if_*.h for actual values.

/sys/class/net/<iface>/address

Defined on file sysfs-class-net

Hardware address currently assigned to this interface. Format is a string, e.g: 00:11:22:33:44:55 for an Ethernet MAC address.

/sys/class/net/<iface>/broadcast

Defined on file sysfs-class-net

Hardware broadcast address for this interface. Format is a string, e.g: ff:ff:ff:ff:ff:ff for an Ethernet broadcast MAC address.

/sys/class/net/<iface>/carrier

Defined on file sysfs-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 will allow this attribute to be written to force a link state for operating correctly and designating another fallback interface.

/sys/class/net/<iface>/carrier_changes

Defined on file sysfs-class-net

32-bit unsigned integer counting the number of times the link has seen a change from UP to DOWN and vice versa

/sys/class/net/<iface>/carrier_down_count

Defined on file sysfs-class-net

32-bit unsigned integer counting the number of times the link has been down

/sys/class/net/<iface>/carrier_up_count

Defined on file sysfs-class-net

32-bit unsigned integer counting the number of times the link has been up

/sys/class/net/<iface>/cdc_ncm/bmNtbFormatsSupported

Defined on file sysfs-class-net-cdc_ncm

  • Bit 0: 16-bit NTB supported (set to 1)

  • Bit 1: 32-bit NTB supported

  • Bits 2 – 15: reserved (reset to zero; must be ignored by host)

/sys/class/net/<iface>/cdc_ncm/dwNtbInMaxSize

Defined on file sysfs-class-net-cdc_ncm

IN NTB Maximum Size in bytes

/sys/class/net/<iface>/cdc_ncm/dwNtbOutMaxSize

Defined on file sysfs-class-net-cdc_ncm

OUT NTB Maximum Size

/sys/class/net/<iface>/cdc_ncm/min_tx_pkt

Defined on file sysfs-class-net-cdc_ncm

The driver will pad NCM Transfer Blocks (NTBs) longer than this to tx_max, allowing the device to receive tx_max sized frames with no terminating short packet. NTBs shorter than this limit are transmitted as-is, without any padding, and are terminated with a short USB packet.

Padding to tx_max allows the driver to transmit NTBs back-to-back without any interleaving short USB packets. This reduces the number of short packet interrupts in the device, and represents a tradeoff between USB bus bandwidth and device DMA optimization.

Set to 0 to pad all frames. Set greater than tx_max to disable all padding.

/sys/class/net/<iface>/cdc_ncm/ndp_to_end

Defined on file sysfs-class-net-cdc_ncm

Boolean attribute showing the status of the “NDP to end” quirk. Defaults to ‘N’, except for devices already known to need it enabled.

The “NDP to end” quirk makes the driver place the NDP (the packet index table) after the payload. The NCM specification does not mandate this, but some devices are known to be more restrictive. Write ‘Y’ to this attribute for temporary testing of a suspect device failing to work with the default driver settings.

A device entry should be added to the driver if this quirk is found to be required.

/sys/class/net/<iface>/cdc_ncm/rx_max

Defined on file sysfs-class-net-cdc_ncm

The maximum NTB size for RX. Cannot exceed the maximum value supported by the device. Must allow at least one max sized datagram plus headers.

The actual limits are device dependent. See dwNtbInMaxSize.

Note: Some devices will silently ignore changes to this value, resulting in oversized NTBs and corresponding framing errors.

/sys/class/net/<iface>/cdc_ncm/tx_max

Defined on file sysfs-class-net-cdc_ncm

The maximum NTB size for TX. Cannot exceed the maximum value supported by the device. Must allow at least one max sized datagram plus headers.

The actual limits are device dependent. See dwNtbOutMaxSize.

/sys/class/net/<iface>/cdc_ncm/tx_timer_usecs

Defined on file sysfs-class-net-cdc_ncm

Datagram aggregation timeout in µs. The driver will wait up to 3 times this timeout for more datagrams to aggregate before transmitting an NTB frame.

Valid range: 5 to 4000000

Set to 0 to disable aggregation.

The following read-only attributes all represent fields of the structure defined in section 6.2.1 “GetNtbParameters” of “Universal Serial Bus Communications Class Subclass Specifications for Network Control Model Devices” (CDC NCM), Revision 1.0 (Errata 1), November 24, 2010 from USB Implementers Forum, Inc. The descriptions are quoted from table 6-3 of CDC NCM: “NTB Parameter Structure”.

/sys/class/net/<iface>/cdc_ncm/wNdpInAlignment

Defined on file sysfs-class-net-cdc_ncm

NDP alignment modulus for NTBs on the IN pipe. Shall be a power of 2, and shall be at least 4.

/sys/class/net/<iface>/cdc_ncm/wNdpInDivisor

Defined on file sysfs-class-net-cdc_ncm

Divisor used for IN NTB Datagram payload alignment

/sys/class/net/<iface>/cdc_ncm/wNdpInPayloadRemainder

Defined on file sysfs-class-net-cdc_ncm

Remainder used to align input datagram payload within the NTB: (Payload Offset) mod (wNdpInDivisor) = wNdpInPayloadRemainder

/sys/class/net/<iface>/cdc_ncm/wNdpOutAlignment

Defined on file sysfs-class-net-cdc_ncm

NDP alignment modulus for use in NTBs on the OUT pipe. Shall be a power of 2, and shall be at least 4.

/sys/class/net/<iface>/cdc_ncm/wNdpOutDivisor

Defined on file sysfs-class-net-cdc_ncm

OUT NTB Datagram alignment modulus

/sys/class/net/<iface>/cdc_ncm/wNdpOutPayloadRemainder

Defined on file sysfs-class-net-cdc_ncm

Remainder used to align output datagram payload offsets within the NTB: Padding, shall be transmitted as zero by function, and ignored by host. (Payload Offset) mod (wNdpOutDivisor) = wNdpOutPayloadRemainder

/sys/class/net/<iface>/cdc_ncm/wNtbOutMaxDatagrams

Defined on file sysfs-class-net-cdc_ncm

Maximum number of datagrams that the host may pack into a single OUT NTB. Zero means that the device imposes no limit.

/sys/class/net/<iface>/dev_id

Defined on file sysfs-class-net

Indicates the device unique identifier. Format is an hexadecimal value. This is used to disambiguate interfaces which might be stacked (e.g: VLAN interfaces) but still have the same MAC address as their parent device.

/sys/class/net/<iface>/dev_port

Defined on file sysfs-class-net

Indicates the port number of this network device, formatted as a decimal value. Some NICs have multiple independent ports on the same PCI bus, device and function. This attribute allows userspace to distinguish the respective interfaces.

Note: some device drivers started to use ‘dev_id’ for this purpose since long before 3.15 and have not adopted the new attribute ever since. To query the port number, some tools look exclusively at ‘dev_port’, while others only consult ‘dev_id’. If a network device has multiple client adapter ports as described in the previous paragraph and does not set this attribute to its port number, it’s a kernel bug.

/sys/class/net/<iface>/dormant

Defined on file sysfs-class-net

Indicates whether the interface is in dormant state. Possible values are: 0: interface is not dormant 1: interface is dormant

This attribute can be used by supplicant software to signal that the device is not usable unless some supplicant-based authentication is performed (e.g: 802.1x). ‘link_mode’ attribute will also reflect the dormant state.

/sys/class/net/<iface>/dsa/tagging

Defined on file sysfs-class-net-dsa

On read, this file returns a string indicating the type of tagging protocol used by the DSA network devices that are attached to this master interface. On write, this file changes the tagging protocol of the attached DSA switches, if this operation is supported by the driver. Changing the tagging protocol must be done with the DSA interfaces and the master interface all administratively down. See the “name” field of each registered struct dsa_device_ops for a list of valid values.

/sys/class/net/<iface>/duplex

Defined on file sysfs-class-net

Indicates the interface latest or current duplex value. Possible values are:

half

half duplex

full

full duplex

Note: This attribute is only valid for interfaces that implement the ethtool get_link_ksettings method (mostly Ethernet).

/sys/class/net/<iface>/flags

Defined on file sysfs-class-net

Indicates the interface flags as a bitmask in hexadecimal. See include/uapi/linux/if.h for a list of all possible values and the flags semantics.

/sys/class/net/<iface>/fwinfo

Defined on file sysfs-class-net-janz-ican3

Firmware stamp of ican3 module Read-only: 32 byte string identification of the ICAN3 module (known values: “JANZ-ICAN3 ICANOS 1.xx”, “JANZ-ICAN3 CAL/CANopen 1.xx”)

/sys/class/net/<iface>/grcan/enable0

Defined on file sysfs-class-net-grcan

Hardware configuration of physical interface 0. This file reads and writes the “Enable 0” bit of the configuration register. Possible values: 0 or 1. See the GRCAN chapter of the GRLIB IP core library documentation for details. The default value is 0 or set by the module parameter grcan.enable0 and can be read at /sys/module/grcan/parameters/enable0.

/sys/class/net/<iface>/grcan/enable1

Defined on file sysfs-class-net-grcan

Hardware configuration of physical interface 1. This file reads and writes the “Enable 1” bit of the configuration register. Possible values: 0 or 1. See the GRCAN chapter of the GRLIB IP core library documentation for details. The default value is 0 or set by the module parameter grcan.enable1 and can be read at /sys/module/grcan/parameters/enable1.

/sys/class/net/<iface>/grcan/select

Defined on file sysfs-class-net-grcan

Configuration of which physical interface to be used. Possible values: 0 or 1. See the GRCAN chapter of the GRLIB IP core library documentation for details. The default value is 0 or is set by the module parameter grcan.select and can be read at /sys/module/grcan/parameters/select.

/sys/class/net/<iface>/ifalias

Defined on file sysfs-class-net

Indicates/stores an interface alias name as a string. This can be used for system management purposes.

/sys/class/net/<iface>/ifindex

Defined on file sysfs-class-net

Indicates the system-wide interface unique index identifier as a decimal number. This attribute is used for mapping an interface identifier to an interface name. It is used throughout the networking stack for specifying the interface specific requests/events.

Defined on file sysfs-class-net

Indicates the system-wide interface unique index identifier a the interface is linked to. Format is decimal. This attribute is used to resolve interfaces chaining, linking and stacking. Physical interfaces have the same ‘ifindex’ and ‘iflink’ values.

Defined on file sysfs-class-net

Indicates the interface link mode, as a decimal number. This attribute should be used in conjunction with ‘dormant’ attribute to determine the interface usability. Possible values:

0

default link mode

1

dormant link mode

/sys/class/net/<iface>/mtu

Defined on file sysfs-class-net

Indicates the interface currently configured MTU value, in bytes, and in decimal format. Specific values depends on the lower-level interface protocol used. Ethernet devices will show a ‘mtu’ attribute value of 1500 unless changed.

/sys/class/net/<iface>/name_assign_type

Defined on file sysfs-class-net

Indicates the name assignment type. Possible values are:

1

enumerated by the kernel, possibly in an unpredictable way

2

predictably named by the kernel

3

named by userspace

4

renamed

/sys/class/net/<iface>/netdev_group

Defined on file sysfs-class-net

Indicates the interface network device group, as a decimal integer. Default value is 0 which corresponds to the initial network devices group. The group can be changed to affect routing decisions (see: net/ipv4/fib_rules and net/ipv6/fib6_rules.c).

/sys/class/net/<iface>/operstate

Defined on file sysfs-class-net

Indicates the interface RFC2863 operational state as a string.

Possible values are:

“unknown”, “notpresent”, “down”, “lowerlayerdown”, “testing”, “dormant”, “up”.

/sys/class/net/<iface>/peak_usb/can_channel_id

Defined on file sysfs-class-net-peak_usb

PEAK PCAN-USB devices support user-configurable CAN channel identifiers. Contrary to a USB serial number, these identifiers are writable and can be set per CAN interface. This means that if a USB device exports multiple CAN interfaces, each of them can be assigned a unique channel ID. This attribute provides read-only access to the currently configured value of the channel identifier. Depending on the device type, the identifier has a length of 8 or 32 bit. The value read from this attribute is always an 8 digit 32 bit hexadecimal value in big endian format. If the device only supports an 8 bit identifier, the upper 24 bit of the value are set to zero.

/sys/class/net/<iface>/phydev

Defined on file sysfs-class-net

Symbolic link to the PHY device this network device is attached to.

/sys/class/net/<iface>/phys_port_id

Defined on file sysfs-class-net

Indicates the interface unique physical port identifier within the NIC, as a string.

/sys/class/net/<iface>/phys_port_name

Defined on file sysfs-class-net

Indicates the interface physical port name within the NIC, as a string.

/sys/class/net/<iface>/phys_switch_id

Defined on file sysfs-class-net

Indicates the unique physical switch identifier of a switch this port belongs to, as a string.

/sys/class/net/<iface>/qmi/add_mux

Defined on file sysfs-class-net-qmi

Unsigned integer.

Write a number ranging from 1 to 254 to add a qmap mux based network device, supported by recent Qualcomm based modems.

The network device will be called qmimux.

Userspace is in charge of managing the qmux network device activation and data stream setup on the modem side by using the proper QMI protocol requests.

/sys/class/net/<iface>/qmi/del_mux

Defined on file sysfs-class-net-qmi

Unsigned integer.

Write a number ranging from 1 to 254 to delete a previously created qmap mux based network device.

/sys/class/net/<iface>/qmi/pass_through

Defined on file sysfs-class-net-qmi

Boolean. Default: ‘N’

Set this to ‘Y’ to enable ‘pass-through’ mode, allowing packets in MAP format to be passed on to the stack.

Normally the rmnet driver (CONFIG_RMNET) is then used to process and demultiplex these packets.

‘Pass-through’ mode can be enabled when the device is in ‘raw-ip’ mode only.

/sys/class/net/<iface>/qmi/raw_ip

Defined on file sysfs-class-net-qmi

Boolean. Default: ‘N’

Set this to ‘Y’ to change the network device link framing from ‘802.3’ to ‘raw-ip’.

The netdev will change to reflect the link framing mode. The netdev is an ordinary ethernet device in ‘802.3’ mode, and the driver expects to exchange frames with an ethernet header over the USB link. The netdev is a headerless p-t-p device in ‘raw-ip’ mode, and the driver expects to echange IPv4 or IPv6 packets without any L2 header over the USB link.

Userspace is in full control of firmware configuration through the delegation of the QMI protocol. Userspace is responsible for coordination of driver and firmware link framing mode, changing this setting to ‘Y’ if the firmware is configured for ‘raw-ip’ mode.

/sys/class/net/<iface>/queues/rx-<queue>/rps_cpus

Defined on file sysfs-class-net-queues

Mask of the CPU(s) currently enabled to participate into the Receive Packet Steering packet processing flow for this network device queue. Possible values depend on the number of available CPU(s) in the system.

/sys/class/net/<iface>/queues/rx-<queue>/rps_flow_cnt

Defined on file sysfs-class-net-queues

Number of Receive Packet Steering flows being currently processed by this particular network device receive queue.

/sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/hold_time

Defined on file sysfs-class-net-queues

Indicates the hold time in milliseconds to measure the slack of this particular network device transmit queue. Default value is 1000.

/sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/inflight

Defined on file sysfs-class-net-queues

Indicates the number of bytes (objects) in flight on this network device transmit queue.

/sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/limit

Defined on file sysfs-class-net-queues

Indicates the current limit of bytes allowed to be queued on this network device transmit queue. This value is clamped to be within the bounds defined by limit_max and limit_min.

/sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/limit_max

Defined on file sysfs-class-net-queues

Indicates the absolute maximum limit of bytes allowed to be queued on this network device transmit queue. See include/linux/dynamic_queue_limits.h for the default value.

/sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/limit_min

Defined on file sysfs-class-net-queues

Indicates the absolute minimum limit of bytes allowed to be queued on this network device transmit queue. Default value is 0.

/sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/stall_cnt

Defined on file sysfs-class-net-queues

Number of detected Tx completion stalls.

/sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/stall_max

Defined on file sysfs-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 file sysfs-class-net-queues

Tx completion stall detection threshold in ms. Kernel will guarantee to detect all stalls longer than this threshold but may also detect stalls longer than half of the threshold.

/sys/class/net/<iface>/queues/tx-<queue>/tx_maxrate

Defined on file sysfs-class-net-queues

A Mbps max-rate set for the queue, a value of zero means disabled, default is disabled.

/sys/class/net/<iface>/queues/tx-<queue>/tx_timeout

Defined on file sysfs-class-net-queues

Indicates the number of transmit timeout events seen by this network interface transmit queue.

/sys/class/net/<iface>/queues/tx-<queue>/xps_cpus

Defined on file sysfs-class-net-queues

Mask of the CPU(s) currently enabled to participate into the Transmit Packet Steering packet processing flow for this network device transmit queue. Possible values depend on the number of available CPU(s) in the system.

/sys/class/net/<iface>/queues/tx-<queue>/xps_rxqs

Defined on file sysfs-class-net-queues

Mask of the receive queue(s) currently enabled to participate into the Transmit Packet Steering packet processing flow for this network device transmit queue. Possible values depend on the number of available receive queue(s) in the network device. Default is disabled.

/sys/class/net/<iface>/speed

Defined on file sysfs-class-net

Indicates the interface latest or current speed value. Value is an integer representing the link speed in Mbits/sec.

Note: this attribute is only valid for interfaces that implement the ethtool get_link_ksettings method (mostly Ethernet).

/sys/class/net/<iface>/statistics/collisions

Defined on file sysfs-class-net-statistics

Indicates the number of collisions seen by this network device. This value might not be relevant with all MAC layers.

/sys/class/net/<iface>/statistics/multicast

Defined on file sysfs-class-net-statistics

Indicates the number of multicast packets received by this network device.

/sys/class/net/<iface>/statistics/rx_bytes

Defined on file sysfs-class-net-statistics

Indicates the number of bytes received by this network device. See the network driver for the exact meaning of when this value is incremented.

/sys/class/net/<iface>/statistics/rx_compressed

Defined on file sysfs-class-net-statistics

Indicates the number of compressed packets received by this network device. This value might only be relevant for interfaces that support packet compression (e.g: PPP).

/sys/class/net/<iface>/statistics/rx_crc_errors

Defined on file sysfs-class-net-statistics

Indicates the number of packets received with a CRC (FCS) error by this network device. Note that the specific meaning might depend on the MAC layer used by the interface.

/sys/class/net/<iface>/statistics/rx_dropped

Defined on file sysfs-class-net-statistics

Indicates the number of packets received by the network device but dropped, that are not forwarded to the upper layers for packet processing. See the network driver for the exact meaning of this value.

/sys/class/net/<iface>/statistics/rx_errors

Defined on file sysfs-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 file sysfs-class-net-statistics

Indicates the number of receive FIFO errors seen by this network device. See the network driver for the exact meaning of this value.

/sys/class/net/<iface>/statistics/rx_frame_errors

Defined on file sysfs-class-net-statistics

Indicates the number of received frames with error, such as alignment errors. Note that the specific meaning depends on on the MAC layer protocol used. See the network driver for the exact meaning of this value.

/sys/class/net/<iface>/statistics/rx_length_errors

Defined on file sysfs-class-net-statistics

Indicates the number of received error packet with a length error, oversized or undersized. See the network driver for the exact meaning of this value.

/sys/class/net/<iface>/statistics/rx_missed_errors

Defined on file sysfs-class-net-statistics

Indicates the number of received packets that have been missed due to lack of capacity in the receive side. See the network driver for the exact meaning of this value.

/sys/class/net/<iface>/statistics/rx_nohandler

Defined on file sysfs-class-net-statistics

Indicates the number of received packets that were dropped on an inactive device by the network core.

/sys/class/net/<iface>/statistics/rx_over_errors

Defined on file sysfs-class-net-statistics

Indicates the number of received packets that are oversized compared to what the network device is configured to accept (e.g: larger than MTU). See the network driver for the exact meaning of this value.

/sys/class/net/<iface>/statistics/rx_packets

Defined on file sysfs-class-net-statistics

Indicates the total number of good packets received by this network device.

/sys/class/net/<iface>/statistics/tx_aborted_errors

Defined on file sysfs-class-net-statistics

Indicates the number of packets that have been aborted during transmission by a network device (e.g: because of a medium collision). See the network driver for the exact meaning of this value.

/sys/class/net/<iface>/statistics/tx_bytes

Defined on file sysfs-class-net-statistics

Indicates the number of bytes transmitted by a network device. See the network driver for the exact meaning of this value, in particular whether this accounts for all successfully transmitted packets or all packets that have been queued for transmission.

/sys/class/net/<iface>/statistics/tx_carrier_errors

Defined on file sysfs-class-net-statistics

Indicates the number of packets that could not be transmitted because of carrier errors (e.g: physical link down). See the network driver for the exact meaning of this value.

/sys/class/net/<iface>/statistics/tx_compressed

Defined on file sysfs-class-net-statistics

Indicates the number of transmitted compressed packets. Note this might only be relevant for devices that support compression (e.g: PPP).

/sys/class/net/<iface>/statistics/tx_dropped

Defined on file sysfs-class-net-statistics

Indicates the number of packets dropped during transmission. See the driver for the exact reasons as to why the packets were dropped.

/sys/class/net/<iface>/statistics/tx_errors

Defined on file sysfs-class-net-statistics

Indicates the number of packets in error during transmission by a network device. See the driver for the exact reasons as to why the packets were dropped.

/sys/class/net/<iface>/statistics/tx_fifo_errors

Defined on file sysfs-class-net-statistics

Indicates the number of packets having caused a transmit FIFO error. See the driver for the exact reasons as to why the packets were dropped.

/sys/class/net/<iface>/statistics/tx_heartbeat_errors

Defined on file sysfs-class-net-statistics

Indicates the number of packets transmitted that have been reported as heartbeat errors. See the driver for the exact reasons as to why the packets were dropped.

/sys/class/net/<iface>/statistics/tx_packets

Defined on file sysfs-class-net-statistics

Indicates the number of packets transmitted by a network device. See the driver for whether this reports the number of all attempted or successful transmissions.

/sys/class/net/<iface>/statistics/tx_window_errors

Defined on file sysfs-class-net-statistics

Indicates the number of packets not successfully transmitted due to a window collision. The specific meaning depends on the MAC layer used. On Ethernet this is usually used to report late collisions errors.

/sys/class/net/<iface>/termination

Defined on file sysfs-class-net-janz-ican3

Value representing the can bus termination

Default: 1 (termination active) Reading: get actual termination state Writing: set actual termination state (0=no termination, 1=termination active)

/sys/class/net/<iface>/testing

Defined on file sysfs-class-net

Indicates whether the interface is under test. Possible values are:

0

interface is not being tested

1

interface is being tested

When an interface is under test, it cannot be expected to pass packets as normal.

/sys/class/net/<iface>/threaded

Defined on file sysfs-class-net

Boolean value to control the threaded mode per device. User could set this value to enable/disable threaded mode for all napi belonging to this device, without the need to do device up/down.

Possible values: == ================================== 0 threaded mode disabled for this dev 1 threaded mode enabled for this dev == ==================================

/sys/class/net/<iface>/tx_queue_len

Defined on file sysfs-class-net

Indicates the interface transmit queue len in number of packets, as an integer value. Value depend on the type of interface, Ethernet network adapters have a default value of 1000 unless configured otherwise

/sys/class/net/<iface>/type

Defined on file sysfs-class-net

Indicates the interface protocol type as a decimal value. See include/uapi/linux/if_arp.h for all possible values.

/sys/class/net/<qmimux iface>/qmap/mux_id

Defined on file sysfs-class-net-qmi

Unsigned integer

Indicates the mux id associated to the qmimux network interface during its creation.

/sys/class/ocxl/<afu name>/afu_version

Defined on file sysfs-class-ocxl

read only Version of the AFU, in the format <major>:<minor> Reflects what is read in the configuration space of the AFU

/sys/class/ocxl/<afu name>/contexts

Defined on file sysfs-class-ocxl

read only Number of contexts for the AFU, in the format <n>/<max> where:

n

number of currently active contexts, for debug

max

maximum number of contexts supported by the AFU

/sys/class/ocxl/<afu name>/global_mmio_area

Defined on file sysfs-class-ocxl

read/write Give access the global mmio area for the AFU

/sys/class/ocxl/<afu name>/global_mmio_size

Defined on file sysfs-class-ocxl

read only Size of the global mmio area, as defined in the configuration space of the AFU

/sys/class/ocxl/<afu name>/pp_mmio_size

Defined on file sysfs-class-ocxl

read only Size of the per-process mmio area, as defined in the configuration space of the AFU

/sys/class/ocxl/<afu name>/reload_on_reset

Defined on file sysfs-class-ocxl

read/write Control whether the FPGA is reloaded on a link reset. Enabled through a vendor-specific logic block on the FPGA.

0

Do not reload FPGA image from flash

1

Reload FPGA image from flash

unavailable

The device does not support this capability

/sys/class/platform-profile/platform-profile-X/choices

Defined on file sysfs-class-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 consumption and performance

balanced-performance

Balance between performance and low power consumption with a slight bias towards performance

performance

High performance operation

max-power

Higher performance operation that may exceed internal battery draw limits when on AC power

custom

Driver defined custom profile

RO

/sys/class/platform-profile/platform-profile-X/name

Defined on file sysfs-class-platform-profile

Name of the class device given by the driver.

RO

/sys/class/platform-profile/platform-profile-X/profile

Defined on file sysfs-class-platform-profile

Reading this file gives the current selected profile for this device. Writing this file with one of the strings from platform_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 those changes coming from a userspace write; or coming from another source such as e.g. a hotkey triggered profile change handled either directly by the embedded-controller or fully handled inside the kernel.

This file may also emit the string ‘custom’ to indicate that the driver is using a driver defined custom profile.

RW

/sys/class/power/ds2760-battery.*/charge_full

Defined on file sysfs-class-power

This file is writeable and can be used to set the assumed battery ‘full level’. As batteries age, this value has to be amended over time.

/sys/class/power/ds2760-battery.*/charge_now

Defined on file sysfs-class-power

This file is writeable and can be used to set the current coloumb counter value inside the battery monitor chip. This is needed for unavoidable corrections of aging batteries. A userspace daemon can monitor the battery charging logic and once the counter drops out of considerable bounds, take appropriate action.

/sys/class/power_supply/<battery_name>/eppid

Defined on file sysfs-platform-dell-wmi-ddv

Reports the Dell ePPID (electronic Piece Part Identification) of the ACPI battery.

See Dell DDV WMI interface driver (dell-wmi-ddv) for details.

/sys/class/power_supply/<supply_name>/alarm

Defined on file sysfs-class-power-surface

Battery trip point. When the remaining battery capacity crosses this value in either direction, the system will be notified and if necessary woken.

Set to zero to clear/disable.

Access: Read, Write

Valid values: In micro-Wh or micro-Ah, depending on the power unit of the battery

/sys/class/power_supply/<supply_name>/capacity

Defined on file sysfs-class-power

Fine grain representation of battery capacity.

Access: Read

Valid values: 0 - 100 (percent)

/sys/class/power_supply/<supply_name>/capacity_alert_max

Defined on file sysfs-class-power

Maximum battery capacity trip-wire value where the supply will notify user-space of the event. This is normally used for the battery discharging scenario where user-space needs to know the battery has dropped to an upper level so it can take appropriate action (e.g. warning user that battery level is low).

Access: Read, Write

Valid values: 0 - 100 (percent)

/sys/class/power_supply/<supply_name>/capacity_alert_min

Defined on file sysfs-class-power

Minimum battery capacity trip-wire value where the supply will notify user-space of the event. This is normally used for the battery discharging scenario where user-space needs to know the battery has dropped to a lower level so it can take appropriate action (e.g. warning user that battery level is critically low).

Access: Read, Write

Valid values: 0 - 100 (percent)

/sys/class/power_supply/<supply_name>/capacity_error_margin

Defined on file sysfs-class-power

Battery capacity measurement becomes unreliable without recalibration. This values provides the maximum error margin expected to exist by the fuel gauge in percent. Values close to 0% will be returned after (re-)calibration has happened. Over time the error margin will increase. 100% means, that the capacity related values are basically completely useless.

Access: Read

Valid values: 0 - 100 (percent)

/sys/class/power_supply/<supply_name>/capacity_level

Defined on file sysfs-class-power

Coarse representation of battery capacity.

Access: Read

Valid values:

“Unknown”, “Critical”, “Low”, “Normal”, “High”, “Full”

/sys/class/power_supply/<supply_name>/charge_behaviour

Defined on file sysfs-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 file sysfs-class-power

Represents a battery percentage level, above which charging will stop. Not all hardware is capable of setting this to an arbitrary percentage. Drivers will round written values to the nearest supported value. Reading back the value will show the actual threshold set by the driver.

Access: Read, Write

Valid values: 0 - 100 (percent)

/sys/class/power_supply/<supply_name>/charge_control_limit

Defined on file sysfs-class-power

Maximum allowable charging current. Used for charge rate throttling for thermal cooling or improving battery health.

Access: Read, Write

Valid values: Represented in microamps

/sys/class/power_supply/<supply_name>/charge_control_limit_max

Defined on file sysfs-class-power

Maximum legal value for the charge_control_limit property.

Access: Read

Valid values: Represented in microamps

/sys/class/power_supply/<supply_name>/charge_control_start_threshold

Defined on file sysfs-class-power

Represents a battery percentage level, below which charging will begin.

Access: Read, Write Valid values: 0 - 100 (percent)

/sys/class/power_supply/<supply_name>/charge_term_current

Defined on file sysfs-class-power

Reports the charging current value which is used to determine when the battery is considered full and charging should end.

Access: Read

Valid values: Represented in microamps

/sys/class/power_supply/<supply_name>/charge_type

Defined on file sysfs-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-charge technology. This is typically harder on the battery than standard charging and may lower its lifespan.

Trickle:

Users who primarily operate the system while plugged into an external power source can extend battery life with this mode. Vendor tooling may call this “Primarily AC Use”.

Adaptive:

Automatically optimize battery charge rate based on typical usage pattern.

Custom:

Use the charge_control_* properties to determine when to start and stop charging. Advanced users can use this to drastically extend battery life.

Long Life:

The charger reduces its charging rate in order to prolong the battery health.

Bypass:

The charger bypasses the charging path around the integrated converter allowing for a “smart” wall adaptor 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 file sysfs-class-power

Identical to charge_type but reading returns a list of supported charge-types with the currently active type surrounded by square brackets, e.g.: “Fast [Standard] Long_Life”.

power_supply class devices may support both charge_type and charge_types for backward compatibility. In this case both will always have the same active value and the active value can be changed by writing either property.

Note charge-types which contain a space such as “Long Life” will have 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 file sysfs-class-power

Battery:

Reports an average IBAT current reading for the battery, over a fixed period. Normally devices will provide a fixed interval in which they average readings to smooth out the reported value.

USB:

Reports an average IBUS current reading over a fixed period. Normally devices will provide a fixed interval in which they average readings to smooth out the reported value.

Access: Read

Valid values: Represented in microamps. Negative values are used for discharging batteries, positive values for charging batteries and for USB IBUS current.

/sys/class/power_supply/<supply_name>/current_max

Defined on file sysfs-class-power

Battery:

Reports the maximum IBAT current allowed into the battery.

USB:

Reports the maximum IBUS current the supply can support.

Access: Read Valid values: Represented in microamps

/sys/class/power_supply/<supply_name>/current_now

Defined on file sysfs-class-power

Battery:

Reports an instant, single IBAT current reading for the battery. This value is not averaged/smoothed.

Access: Read

USB:

Reports the IBUS current supplied now. This value is generally read-only reporting, unless the ‘online’ state of the supply is set to be programmable, in which case this value can be set within the reported min/max range.

Access: Read, Write

Valid values: Represented in microamps. Negative values are used for discharging batteries, positive values for charging batteries and for USB IBUS current.

/sys/class/power_supply/<supply_name>/cycle_count

Defined on file sysfs-class-power

Reports the number of full charge + discharge cycles the battery has undergone.

Access: Read

Valid values:

Integer > 0: representing full cycles Integer = 0: cycle_count info is not available

/sys/class/power_supply/<supply_name>/extensions/<extension_name>

Defined on file sysfs-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 file sysfs-class-power

Reports the health of the battery or battery side of charger functionality.

Access: Read

Valid values:

“Unknown”, “Good”, “Overheat”, “Dead”, “Over voltage”, “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 file sysfs-class-power

Details the incoming IBUS current limit currently set in the supply. Normally this is configured based on the type of connection made (e.g. A configured SDP should output a maximum of 500mA so the input current limit is set to the same value). Use preferably input_power_limit, and for problems that can be solved using power limit use input_current_limit.

Access: Read, Write

Valid values: Represented in microamps

/sys/class/power_supply/<supply_name>/input_power_limit

Defined on file sysfs-class-power

This entry configures the incoming power limit currently set in the supply. Normally this is configured based on system-level knowledge or user input. Use preferably this feature to limit the incoming power and use current/voltage limit only for problems that can be solved using power limit.

Access: Read, Write

Valid values: Represented in microwatts

/sys/class/power_supply/<supply_name>/input_voltage_limit

Defined on file sysfs-class-power

This entry configures the incoming VBUS voltage limit currently set in the supply. Normally this is configured based on system-level knowledge or user input (e.g. This is part of the Pixel C’s thermal management strategy to effectively limit the input power to 5V when the screen is on to meet Google’s skin temperature targets). Note that this feature should not be used for safety critical things. Use preferably input_power_limit, and for problems that can be solved using power limit use input_voltage_limit.

Access: Read, Write

Valid values: Represented in microvolts

/sys/class/power_supply/<supply_name>/internal_resistance

Defined on file sysfs-class-power

Represent the battery’s internal resistance, often referred to as Equivalent Series Resistance (ESR). It is a dynamic parameter that reflects the opposition to current flow within the cell. It is not a fixed value but varies significantly based on several operational conditions, including battery state of charge (SoC), temperature, and whether the battery is in a charging or discharging state.

Access: Read

Valid values: Represented in microohms

/sys/class/power_supply/<supply_name>/manufacture_day

Defined on file sysfs-class-power

Reports the day of month when the device has been manufactured.

Access: Read Valid values: 1-31

/sys/class/power_supply/<supply_name>/manufacture_month

Defined on file sysfs-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 file sysfs-class-power

Reports the year (following Gregorian calendar) when the device has been manufactured.

Access: Read

Valid values: Reported as integer

/sys/class/power_supply/<supply_name>/manufacturer

Defined on file sysfs-class-power

Reports the name of the device manufacturer.

Access: Read Valid values: Represented as string

/sys/class/power_supply/<supply_name>/model_name

Defined on file sysfs-class-power

Reports the name of the device model.

Access: Read Valid values: Represented as string

/sys/class/power_supply/<supply_name>/online,

Defined on file sysfs-class-power

Indicates if VBUS is present for the supply. When the supply is online, and the supply allows it, then it’s possible to switch between online states (e.g. Fixed -> Programmable for a PD_PPS USB supply so voltage and current can be controlled).

Access: Read, Write

Valid values:

0:

Offline

1:

Online Fixed - Fixed Voltage Supply

2:

Online Programmable - Programmable Voltage Supply

/sys/class/power_supply/<supply_name>/precharge_current

Defined on file sysfs-class-power

Reports the charging current applied during pre-charging phase for a battery charge cycle.

Access: Read

Valid values: Represented in microamps

/sys/class/power_supply/<supply_name>/present

Defined on file sysfs-class-power

Reports whether a battery is present or not in the system. If the property 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 file sysfs-class-power

Reports the serial number of the device.

Access: Read Valid values: Represented as string

/sys/class/power_supply/<supply_name>/state_of_health

Defined on file sysfs-class-power

The state_of_health parameter quantifies the overall condition of a battery as a percentage, reflecting its ability to deliver rated performance relative to its original specifications. It is dynamically computed using a combination of learned capacity and impedance-based degradation indicators, both of which evolve over the battery’s lifecycle. Note that the exact algorithms are kept secret by most battery vendors and the value from different battery vendors cannot be compared with each other as there is no vendor-agnostic definition of “performance”. Also this usually cannot be used for any calculations (i.e. this is not the factor between charge_full and charge_full_design).

Access: Read

Valid values: 0 - 100 (percent)

USB Properties

/sys/class/power_supply/<supply_name>/status

Defined on file sysfs-class-power

Represents the charging status of the battery. Normally this is read-only reporting although for some supplies this can be used to enable/disable charging to the battery.

Access: Read, Write

Valid values:

“Unknown”, “Charging”, “Discharging”, “Not charging”, “Full”

/sys/class/power_supply/<supply_name>/technology

Defined on file sysfs-class-power

Describes the battery technology supported by the supply.

Access: Read

Valid values:

“Unknown”, “NiMH”, “Li-ion”, “Li-poly”, “LiFe”, “NiCd”, “LiMn”

/sys/class/power_supply/<supply_name>/temp

Defined on file sysfs-class-power

Battery:

Reports the current TBAT battery temperature reading.

USB:

Reports the current supply temperature reading. This would normally be the internal temperature of the device itself (e.g TJUNC temperature of an IC)

Access: Read

Valid values: Represented in 1/10 Degrees Celsius

/sys/class/power_supply/<supply_name>/temp_alert_max

Defined on file sysfs-class-power

Battery:

Maximum TBAT temperature trip-wire value where the supply will notify user-space of the event.

USB:

Maximum supply temperature trip-wire value where the supply will notify user-space of the event.

This is normally used for the charging scenario where user-space needs to know if the temperature has crossed an upper threshold so it can take appropriate action (e.g. warning user that the temperature is critically high, and charging has stopped).

Access: Read

Valid values: Represented in 1/10 Degrees Celsius

/sys/class/power_supply/<supply_name>/temp_alert_min

Defined on file sysfs-class-power

Battery:

Minimum TBAT temperature trip-wire value where the supply will notify user-space of the event.

USB:

Minimum supply temperature trip-wire value where the supply will notify user-space of the event.

This is normally used for the charging scenario where user-space needs to know if the temperature has crossed a lower threshold so it can take appropriate action (e.g. warning user that temperature level is high, and charging current has been reduced 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 file sysfs-class-power

Battery:

Reports the maximum allowed TBAT battery temperature for charging.

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 file sysfs-class-power

Battery:

Reports the minimum allowed TBAT battery temperature for charging.

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 file sysfs-class-power

Describes the main type of the supply.

Access: Read Valid values: “Battery”, “UPS”, “Mains”, “USB”, “Wireless”

Battery and USB properties

/sys/class/power_supply/<supply_name>/usb_type

Defined on file sysfs-class-power

Reports what type of USB connection is currently active for the supply, for example it can show if USB-PD capable source is attached.

Access: For power-supplies which consume USB power such as battery charger chips, this indicates the type of the connected USB power source and is Read-Only.

For power-supplies which act as a USB power-source such as e.g. the UCS1002 USB Port Power Controller this is writable.

Valid values:

“Unknown”, “SDP”, “DCP”, “CDP”, “ACA”, “C”, “PD”, “PD_DRP”, “PD_PPS”, “BrickID”, “PD_SPR_AVS”, “PD_PPS_SPR_AVS”

Device Specific Properties

/sys/class/power_supply/<supply_name>/voltage_avg,

Defined on file sysfs-class-power

Reports an average VBAT voltage reading for the battery, over a fixed period. Normally devices will provide a fixed interval in which they average readings to smooth out the reported value.

Access: Read

Valid values: Represented in microvolts

/sys/class/power_supply/<supply_name>/voltage_max,

Defined on file sysfs-class-power

Battery:

Reports the maximum safe VBAT voltage permitted for the battery, 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 file sysfs-class-power

Battery:

Reports the minimum safe VBAT voltage permitted for the battery, 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 file sysfs-class-power

Battery:

Reports an instant, single VBAT voltage reading for the battery. This value is not averaged/smoothed.

Access: Read

USB:

Reports the VBUS voltage supplied now. This value is generally read-only reporting, unless the ‘online’ state of the supply is set to be programmable, in which case this value can be set within the reported min/max range.

Access: Read, Write

Valid values: Represented in microvolts

Battery Properties

/sys/class/power_supply/bd71828_ac/auto_dcin_limit

Defined on file sysfs-class-power-bd71828

Enable/Disable automatic management of input current limit (ILIM_DCIN_EN bit).

Possible values are:

1

automatic adjustment of input current limit

0

no adjustment of input current limit. This helps for more unusual power sources like solar modules.

/sys/class/power_supply/bq24257-charger/high_impedance_enable

Defined on file sysfs-class-power

This entry allows enabling the high-impedance mode of bq24257-type charger devices. If enabled, it places the charger IC into low power standby mode with the switch mode controller disabled. When disabled, the charger operates normally. See device datasheet for details.

Valid values:

  • 1: enabled

  • 0: disabled

/sys/class/power_supply/bq24257-charger/in_dpm_voltage

Defined on file sysfs-class-power

This entry configures the input dynamic power path management voltage of bq24257-type charger devices. Once the supply drops to the configured voltage, the input current limit is reduced down to prevent the further drop of the supply. When the IC enters this mode, the charge current is lower than the set value. See device datasheet for details.

Valid values:

  • 4200000, 4280000, 4360000, 4440000, 4520000, 4600000, 4680000, 4760000 (all uV)

/sys/class/power_supply/bq24257-charger/ovp_voltage

Defined on file sysfs-class-power

This entry configures the overvoltage protection feature of bq24257- type charger devices. This feature protects the device and other components against damage from overvoltage on the input supply. See device datasheet for details.

Valid values:

  • 6000000, 6500000, 7000000, 8000000, 9000000, 9500000, 10000000, 10500000 (all uV)

/sys/class/power_supply/bq24257-charger/sysoff_enable

Defined on file sysfs-class-power

This entry allows enabling the sysoff mode of bq24257-type charger devices. If enabled and the input is removed, the internal battery FET is turned off in order to reduce the leakage from the BAT pin to less than 1uA. Note that on some devices/systems this disconnects the battery from the system. See device datasheet for details.

Valid values:

  • 1: enabled

  • 0: disabled

/sys/class/power_supply/gaokun-ec-battery/battery_adaptive_charge

Defined on file sysfs-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 file sysfs-class-power-gaokun

This entry allows configuration of smart charging delay.

Smart charging behavior: when the power adapter is connected for delay hours, battery charging will follow the rules of charge_control_start_threshold and charge_control_end_threshold. For more information about charge control, please refer to sysfs-class-power.

Access: Read, Write

Valid values: In hours (non-negative)

/sys/class/power_supply/ltc4162-l/arm_ship_mode

Defined on file sysfs-class-power-ltc4162l

The charger will normally drain the battery while inactive, typically drawing about 54 microamps. Write a “1” to this property to arm a special “ship” mode that extends shelf life by reducing the leakage to about 2.8 microamps. The chip will remain in this mode (and no longer respond to I2C commands) until some external power-supply is attached raising the input voltage 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 voltage drops below 1V.

Access: Read, Write

Valid values: 0 (disable) or 1 (enable)

/sys/class/power_supply/ltc4162-l/charge_status

Defined on file sysfs-class-power-ltc4162l

Detailed charge status information as reported by the chip.

Access: Read

Valid values:

ilim_reg_active thermal_reg_active vin_uvcl_active iin_limit_active constant_current constant_voltage charger_off

/sys/class/power_supply/ltc4162-l/force_telemetry

Defined on file sysfs-class-power-ltc4162l

To save battery current, the measurement system is disabled if the battery is the only source of power. This affects all voltage, current and temperature measurements. Write a “1” to this to keep performing telemetry once every few seconds, even when running on battery (as reported by the online property, 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 file sysfs-class-power-ltc4162l

Battery input current as measured by the charger. Negative value means that the battery is discharging.

Access: Read

Valid values: Signed value in microamps

/sys/class/power_supply/ltc4162-l/vbat

Defined on file sysfs-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 file sysfs-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 file sysfs-class-power

This entry shows and sets the maximum time the max14577 charger operates in fast-charge mode. When the timer expires the device will terminate fast-charge mode (charging current will drop to 0 A) and will trigger interrupt.

Valid values:

  • 5, 6 or 7 (hours),

  • 0: disabled.

/sys/class/power_supply/max1720x/temp_ain1

Defined on file sysfs-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 file sysfs-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 file sysfs-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 file sysfs-class-power

This entry shows and sets the maximum time the max77693 charger operates in fast-charge mode. When the timer expires the device will terminate fast-charge mode (charging current will drop to 0 A) and will trigger interrupt.

Valid values:

  • 4 - 16 (hours), step by 2 (rounded down)

  • 0: disabled.

/sys/class/power_supply/max77693-charger/device/top_off_threshold_current

Defined on file sysfs-class-power

This entry shows and sets the charging current threshold for entering top-off charging mode. When charging current in fast charge mode drops below this value, the charger will trigger interrupt and start top-off charging mode.

Valid values:

  • 100000 - 200000 (microamps), step by 25000 (rounded down)

  • 200000 - 350000 (microamps), step by 50000 (rounded down)

  • 0: disabled.

/sys/class/power_supply/max77693-charger/device/top_off_timer

Defined on file sysfs-class-power

This entry shows and sets the maximum time the max77693 charger operates in top-off charge mode. When the timer expires the device will terminate top-off charge mode (charging current will drop to 0 A) and will trigger interrupt.

Valid values:

  • 0 - 70 (minutes), step by 10 (rounded down)

/sys/class/power_supply/max8971-charger/fast_charge_timer

Defined on file sysfs-class-power

This entry shows and sets the maximum time the max8971 charger operates in fast-charge mode. When the timer expires the device will terminate fast-charge mode (charging current will drop to 0 A) and will trigger interrupt.

Valid values:

  • 4 - 10 (hours), step by 1

  • 0: disabled.

/sys/class/power_supply/max8971-charger/top_off_threshold_current

Defined on file sysfs-class-power

This entry shows and sets the charging current threshold for entering top-off charging mode. When charging current in fast charge mode drops below this value, the charger will trigger interrupt and start top-off charging mode.

Valid values:

  • 50000 - 200000 (microamps), step by 50000 (rounded down)

/sys/class/power_supply/max8971-charger/top_off_timer

Defined on file sysfs-class-power

This entry shows and sets the maximum time the max8971 charger operates in top-off charge mode. When the timer expires the device will terminate top-off charge mode (charging current will drop to 0 A) and will trigger interrupt.

Valid values:

  • 0 - 70 (minutes), step by 10 (rounded down)

/sys/class/power_supply/mp2629_battery/batt_impedance_compen

Defined on file sysfs-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 file sysfs-class-power-rt9467

This entry allows enabling the sysoff mode of rt9467 charger devices. If enabled and the input is removed, the internal battery FET is turned off to reduce the leakage from the BAT pin. See device datasheet for details. It’s commonly used when the product 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 to abort the action before the device really enter shipping mode.

Access: Read, Write Valid values: - 1: enabled - 0: disabled

/sys/class/power_supply/rt9471-*/port_detect_enable

Defined on file sysfs-class-power-rt9471

This entry allows enabling the USB BC12 port detect function of rt9471 charger devices. If enabled and VBUS is inserted, device will start to do the BC12 port detect and report the usb port type when port detect is done. See datasheet for details. Normally controlled when TypeC/USBPD port integrated.

Access: Read, Write Valid values: - 1: enabled - 0: disabled

/sys/class/power_supply/rt9471-*/sysoff_enable

Defined on file sysfs-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 turned off to reduce the leakage from the BAT pin. See device datasheet for details. It’s commonly used when the product 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 to abort the action before the device really enter shipping mode.

Access: Read, Write Valid values: - 1: enabled - 0: disabled

/sys/class/power_supply/rt9756-*/operation_mode

Defined on file sysfs-class-power-rt9756

This entry shows and set the operation mode when rt9756 charger operates in charging phase. If ‘bypass’ mode is used, internal path 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 file sysfs-class-power-rt9756

This entry shows and sets the watchdog timer when rt9756 charger operates in charging mode. When the timer expires, the device will disable the charging. To prevent the timer expires, any host 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 file sysfs-class-power-twl4030

Changing mode for ‘ac’ port. Writing to this can disable charging.

Possible values are:

“auto”

draw power as appropriate for detected power source and battery status.

“off”

do not draw any power.

/sys/class/power_supply/twl4030_usb/mode

Defined on file sysfs-class-power-twl4030

Changing mode for USB port. Writing to this can disable charging.

Possible values are:

“auto”

draw power as appropriate for detected power source and battery status.

“off”

do not draw any power.

“continuous”

activate mode described as “linear” in TWL data sheets. This uses whatever current is available and doesn’t switch off when voltage drops.

This is useful for unstable power sources such as bicycle dynamo, but care should be taken that battery is not over-charged.

/sys/class/power_supply/wilco-charger/charge_control_end_threshold

Defined on file sysfs-class-power-wilco

Used when charge_type=”Custom”, as described above. Measured in percentages. The valid range is [55, 100].

/sys/class/power_supply/wilco-charger/charge_control_start_threshold

Defined on file sysfs-class-power-wilco

Used when charge_type=”Custom”, as described above. Measured in percentages. The valid range is [50, 95].

/sys/class/power_supply/wilco-charger/charge_type

Defined on file sysfs-class-power-wilco

What charging algorithm to use:

Standard:

Fully charges battery at a standard rate.

Adaptive:

Battery settings adaptively optimized based on typical battery usage pattern.

Fast:

Battery charges over a shorter period.

Trickle:

Extends battery lifespan, intended for users who primarily use their Chromebook while connected to AC.

Custom:

A low and high threshold percentage is specified. Charging begins when level drops below charge_control_start_threshold, and ceases when level is above charge_control_end_threshold.

Long Life:

Customized charge rate for last longer battery life. On Wilco device this mode is pre-configured in the factory through EC’s private PID. Switching to a different mode will be denied by Wilco EC when Long Life mode is enabled.

/sys/class/powercap/

Defined on file sysfs-class-powercap

The powercap/ class sub directory belongs to the power cap subsystem. Refer to Power Capping Framework for details.

/sys/class/powercap/.../<power zone>/constraint_X_max_time_window_us

Defined on file sysfs-class-powercap

Maximum allowed time window in micro seconds for this constraint. Here “X” can have values from 0 to max integer.

/sys/class/powercap/.../<power zone>/constraint_X_min_time_window_us

Defined on file sysfs-class-powercap

Minimum allowed time window in micro seconds for this constraint. Here “X” can have values from 0 to max integer.

/sys/class/powercap/.../<power zone>/constraint_X_name

Defined on file sysfs-class-powercap

Each power zone can define one or more constraints. Each constraint can have an optional name. Here “X” can have values from 0 to max integer.

/sys/class/powercap/.../<power zone>/constraint_X_power_limit_uw

Defined on file sysfs-class-powercap

Power limit in micro-watts should be applicable for the time window specified by “constraint_X_time_window_us”. Here “X” can have values from 0 to max integer.

/sys/class/powercap/.../<power zone>/constraint_X_time_window_us

Defined on file sysfs-class-powercap

Time window in micro seconds. This is used along with constraint_X_power_limit_uw to define a power constraint. Here “X” can have values from 0 to max integer.

/sys/class/powercap/.../<power zone>/enabled

Defined on file sysfs-class-powercap

This allows to enable/disable power capping at power zone level. This applies to current power zone and its children.

/sys/class/powercap/.../<power zone>/energy_uj

Defined on file sysfs-class-powercap

Current energy counter in micro-joules. Write “0” to reset. If the counter can not be reset, then this attribute is read-only.

/sys/class/powercap/.../<power zone>/max_energy_range_uj

Defined on file sysfs-class-powercap

Range of the above energy counter in micro-joules.

/sys/class/powercap/.../<power zone>/max_power_range_uw

Defined on file sysfs-class-powercap

Range of the above power value in micro-watts.

/sys/class/powercap/.../<power zone>/name

Defined on file sysfs-class-powercap

Specifies the name of this power zone.

/sys/class/powercap/.../<power zone>/power_uw

Defined on file sysfs-class-powercap

Current power in micro-watts.

/sys/class/powercap/<control type>

Defined on file sysfs-class-powercap

A <control type> is a unique name under /sys/class/powercap. Here <control type> determines how the power is going to be controlled. A <control type> can contain multiple power zones.

/sys/class/powercap/<control type>/.../constraint_X_max_power_uw

Defined on file sysfs-class-powercap

Maximum allowed power in micro watts for this constraint. Here “X” can have values from 0 to max integer.

/sys/class/powercap/<control type>/.../constraint_X_min_power_uw

Defined on file sysfs-class-powercap

Minimum allowed power in micro watts for this constraint. Here “X” can have values from 0 to max integer.

/sys/class/powercap/<control type>/<power zone>

Defined on file sysfs-class-powercap

A power zone is a single or a collection of devices, which can be independently monitored and controlled. A power zone sysfs entry is qualified with the name of the <control type>. E.g. intel-rapl:0:1:1.

/sys/class/powercap/<control type>/<power zone>/<child power zone>

Defined on file sysfs-class-powercap

Power zones may be organized in a hierarchy in which child power zones provide monitoring and control for a subset of devices under the parent. For example, if there is a parent power zone for a whole CPU package, each CPU core in it can be a child power zone.

/sys/class/powercap/<control type>/enabled

Defined on file sysfs-class-powercap

This allows to enable/disable power capping for a “control type”. This status affects every power zone using this “control_type.

/sys/class/pps-gen/

Defined on file sysfs-pps-gen

The /sys/class/pps-gen/ directory contains files and directories that provide a unified interface to the PPS generators.

/sys/class/pps-gen/pps-genX/

Defined on file sysfs-pps-gen

The /sys/class/pps-gen/pps-genX/ directory is related to X-th PPS generator in the system. Each directory contain files to manage and control its PPS generator.

/sys/class/pps-gen/pps-genX/enable

Defined on file sysfs-pps-gen

This write-only file enables or disables generation of the PPS signal.

/sys/class/pps-gen/pps-genX/system

Defined on file sysfs-pps-gen

This read-only file returns “1” if the generator takes the timing 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 file sysfs-pps-gen

This read-only file contains the current time stored into the generator clock as two integers representing the current time seconds and nanoseconds.

/sys/class/pps-gen/pps-genx/enable

Defined on file sysfs-pps-gen-tio

Enable or disable PPS TIO generator output.

/sys/class/pps/

Defined on file sysfs-pps

The /sys/class/pps/ directory will contain files and directories that will provide a unified interface to the PPS sources.

/sys/class/pps/ppsX/

Defined on file sysfs-pps

The /sys/class/pps/ppsX/ directory is related to X-th PPS source into the system. Each directory will contain files to manage and control its PPS source.

/sys/class/pps/ppsX/assert

Defined on file sysfs-pps

The /sys/class/pps/ppsX/assert file reports the assert events and the assert sequence number of the X-th source in the form:

<secs>.<nsec>#<sequence>

If the source has no assert events the content of this file is empty.

/sys/class/pps/ppsX/clear

Defined on file sysfs-pps

The /sys/class/pps/ppsX/clear file reports the clear events and the clear sequence number of the X-th source in the form:

<secs>.<nsec>#<sequence>

If the source has no clear events the content of this file is empty.

/sys/class/pps/ppsX/echo

Defined on file sysfs-pps

The /sys/class/pps/ppsX/echo file reports if the X-th does or does not support an “echo” function.

/sys/class/pps/ppsX/mode

Defined on file sysfs-pps

The /sys/class/pps/ppsX/mode file reports the functioning mode of the X-th source in hexadecimal encoding.

Please, refer to linux/include/linux/pps.h for further info.

/sys/class/pps/ppsX/name

Defined on file sysfs-pps

The /sys/class/pps/ppsX/name file reports the name of the X-th source.

/sys/class/pps/ppsX/path

Defined on file sysfs-pps

The /sys/class/pps/ppsX/path file reports the path name of the device connected with the X-th source.

If the source is not connected with any device the content of this file is empty.

/sys/class/ptp/

Defined on file sysfs-ptp

This directory contains files and directories providing a standardized interface to the ancillary features of PTP hardware clocks.

/sys/class/ptp/ptp<N>/

Defined on file sysfs-ptp

This directory contains the attributes of the Nth PTP hardware clock registered into the PTP class driver subsystem.

/sys/class/ptp/ptp<N>/clock_name

Defined on file sysfs-ptp

This file contains the name of the PTP hardware clock as a human readable string. The purpose of this attribute is to provide the user with a “friendly name” and to help distinguish PHY based devices from MAC based ones. The string does not necessarily have to be any kind of unique id.

/sys/class/ptp/ptp<N>/extts_enable

Defined on file sysfs-ptp

This write-only file enables or disables external timestamps. To enable external timestamps, write the channel index followed by a “1” into the file. To disable external timestamps, write the channel index followed by a “0” into the file.

/sys/class/ptp/ptp<N>/fifo

Defined on file sysfs-ptp

This file provides timestamps on external events, in the form of three integers: channel index, seconds, and nanoseconds.

/sys/class/ptp/ptp<N>/max_adjustment

Defined on file sysfs-ptp

This file contains the PTP hardware clock’s maximum frequency adjustment value (a positive integer) in parts per billion.

/sys/class/ptp/ptp<N>/max_vclocks

Defined on file sysfs-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 file sysfs-ptp

This file contains the number of periodic or one shot alarms offer by the PTP hardware clock.

/sys/class/ptp/ptp<N>/n_external_timestamps

Defined on file sysfs-ptp

This file contains the number of external timestamp channels offered by the PTP hardware clock.

/sys/class/ptp/ptp<N>/n_periodic_outputs

Defined on file sysfs-ptp

This file contains the number of programmable periodic output channels offered by the PTP hardware clock.

/sys/class/ptp/ptp<N>/n_pins

Defined on file sysfs-ptp

This file contains the number of programmable pins offered by the PTP hardware clock.

/sys/class/ptp/ptp<N>/n_vclocks

Defined on file sysfs-ptp

This file contains the number of virtual PTP clocks in use. By default, the value is 0 meaning that only the physical clock is in use. Setting the value creates the corresponding number of virtual clocks and causes the physical clock to become free running. Setting the value back to 0 deletes the virtual clocks and switches the physical clock back to normal, adjustable operation.

/sys/class/ptp/ptp<N>/period

Defined on file sysfs-ptp

This write-only file enables or disables periodic outputs. To enable a periodic output, write five integers into the file: channel index, start time seconds, start time nanoseconds, period seconds, and period nanoseconds. To disable a periodic output, set all the seconds and nanoseconds values to zero.

/sys/class/ptp/ptp<N>/pins

Defined on file sysfs-ptp

This directory contains one file for each programmable pin offered by the PTP hardware clock. The file name is the hardware dependent pin name. Reading from this file produces two numbers, the assigned function (see the PTP_PF_ enumeration values in linux/ptp_clock.h) and the channel number. The function and channel assignment may be changed by two writing numbers into the file.

/sys/class/ptp/ptp<N>/pps_available

Defined on file sysfs-ptp

This file indicates whether the PTP hardware clock supports a Pulse Per Second to the host CPU. Reading “1” means that the PPS is supported, while “0” means not supported