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

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

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