371 lines
14 KiB
Plaintext
371 lines
14 KiB
Plaintext
|
What: /sys/bus/thunderbolt/devices/.../domainX/boot_acl
|
||
|
Date: Jun 2018
|
||
|
KernelVersion: 4.17
|
||
|
Contact: thunderbolt-software@lists.01.org
|
||
|
Description: Holds a comma separated list of device unique_ids that
|
||
|
are allowed to be connected automatically during system
|
||
|
startup (e.g boot devices). The list always contains
|
||
|
maximum supported number of unique_ids where unused
|
||
|
entries are empty. This allows the userspace software
|
||
|
to determine how many entries the controller supports.
|
||
|
If there are multiple controllers, each controller has
|
||
|
its own ACL list and size may be different between the
|
||
|
controllers.
|
||
|
|
||
|
System BIOS may have an option "Preboot ACL" or similar
|
||
|
that needs to be selected before this list is taken into
|
||
|
consideration.
|
||
|
|
||
|
Software always updates a full list in each write.
|
||
|
|
||
|
If a device is authorized automatically during boot its
|
||
|
boot attribute is set to 1.
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/.../domainX/deauthorization
|
||
|
Date: May 2021
|
||
|
KernelVersion: 5.12
|
||
|
Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
|
||
|
Description: This attribute tells whether the system supports
|
||
|
de-authorization of devices. Value of 1 means user can
|
||
|
de-authorize PCIe tunnel by writing 0 to authorized
|
||
|
attribute under each device.
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/.../domainX/iommu_dma_protection
|
||
|
Date: Mar 2019
|
||
|
KernelVersion: 4.21
|
||
|
Contact: thunderbolt-software@lists.01.org
|
||
|
Description: This attribute tells whether the system uses IOMMU
|
||
|
for DMA protection. Value of 1 means IOMMU is used 0 means
|
||
|
it is not (DMA protection is solely based on Thunderbolt
|
||
|
security levels).
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/.../domainX/security
|
||
|
Date: Sep 2017
|
||
|
KernelVersion: 4.13
|
||
|
Contact: thunderbolt-software@lists.01.org
|
||
|
Description: This attribute holds current Thunderbolt security level
|
||
|
set by the system BIOS. Possible values are:
|
||
|
|
||
|
======= ==================================================
|
||
|
none All devices are automatically authorized
|
||
|
user Devices are only authorized based on writing
|
||
|
appropriate value to the authorized attribute
|
||
|
secure Require devices that support secure connect at
|
||
|
minimum. User needs to authorize each device.
|
||
|
dponly Automatically tunnel Display port (and USB). No
|
||
|
PCIe tunnels are created.
|
||
|
usbonly Automatically tunnel USB controller of the
|
||
|
connected Thunderbolt dock (and Display Port). All
|
||
|
PCIe links downstream of the dock are removed.
|
||
|
nopcie USB4 system where PCIe tunneling is disabled from
|
||
|
the BIOS.
|
||
|
======= ==================================================
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/.../authorized
|
||
|
Date: Sep 2017
|
||
|
KernelVersion: 4.13
|
||
|
Contact: thunderbolt-software@lists.01.org
|
||
|
Description: This attribute is used to authorize Thunderbolt devices
|
||
|
after they have been connected. If the device is not
|
||
|
authorized, no PCIe devices are available to the system.
|
||
|
|
||
|
Contents of this attribute will be 0 when the device is not
|
||
|
yet authorized.
|
||
|
|
||
|
Possible values are supported:
|
||
|
|
||
|
== ===================================================
|
||
|
0 The device will be de-authorized (only supported if
|
||
|
deauthorization attribute under domain contains 1)
|
||
|
1 The device will be authorized and connected
|
||
|
== ===================================================
|
||
|
|
||
|
When key attribute contains 32 byte hex string the possible
|
||
|
values are:
|
||
|
|
||
|
== ========================================================
|
||
|
0 The device will be de-authorized (only supported if
|
||
|
deauthorization attribute under domain contains 1)
|
||
|
1 The 32 byte hex string is added to the device NVM and
|
||
|
the device is authorized.
|
||
|
2 Send a challenge based on the 32 byte hex string. If the
|
||
|
challenge response from device is valid, the device is
|
||
|
authorized. In case of failure errno will be ENOKEY if
|
||
|
the device did not contain a key at all, and
|
||
|
EKEYREJECTED if the challenge response did not match.
|
||
|
== ========================================================
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/.../boot
|
||
|
Date: Jun 2018
|
||
|
KernelVersion: 4.17
|
||
|
Contact: thunderbolt-software@lists.01.org
|
||
|
Description: This attribute contains 1 if Thunderbolt device was already
|
||
|
authorized on boot and 0 otherwise.
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/.../generation
|
||
|
Date: Jan 2020
|
||
|
KernelVersion: 5.5
|
||
|
Contact: Christian Kellner <christian@kellner.me>
|
||
|
Description: This attribute contains the generation of the Thunderbolt
|
||
|
controller associated with the device. It will contain 4
|
||
|
for USB4.
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/.../key
|
||
|
Date: Sep 2017
|
||
|
KernelVersion: 4.13
|
||
|
Contact: thunderbolt-software@lists.01.org
|
||
|
Description: When a devices supports Thunderbolt secure connect it will
|
||
|
have this attribute. Writing 32 byte hex string changes
|
||
|
authorization to use the secure connection method instead.
|
||
|
Writing an empty string clears the key and regular connection
|
||
|
method can be used again.
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/.../device
|
||
|
Date: Sep 2017
|
||
|
KernelVersion: 4.13
|
||
|
Contact: thunderbolt-software@lists.01.org
|
||
|
Description: This attribute contains id of this device extracted from
|
||
|
the device DROM.
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/.../device_name
|
||
|
Date: Sep 2017
|
||
|
KernelVersion: 4.13
|
||
|
Contact: thunderbolt-software@lists.01.org
|
||
|
Description: This attribute contains name of this device extracted from
|
||
|
the device DROM.
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/.../maxhopid
|
||
|
Date: Jul 2021
|
||
|
KernelVersion: 5.13
|
||
|
Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
|
||
|
Description: Only set for XDomains. The maximum HopID the other host
|
||
|
supports as its input HopID.
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/.../rx_speed
|
||
|
Date: Jan 2020
|
||
|
KernelVersion: 5.5
|
||
|
Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
|
||
|
Description: This attribute reports the device RX speed per lane.
|
||
|
All RX lanes run at the same speed.
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/.../rx_lanes
|
||
|
Date: Jan 2020
|
||
|
KernelVersion: 5.5
|
||
|
Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
|
||
|
Description: This attribute reports number of RX lanes the device is
|
||
|
using simultaneously through its upstream port.
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/.../tx_speed
|
||
|
Date: Jan 2020
|
||
|
KernelVersion: 5.5
|
||
|
Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
|
||
|
Description: This attribute reports the TX speed per lane.
|
||
|
All TX lanes run at the same speed.
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/.../tx_lanes
|
||
|
Date: Jan 2020
|
||
|
KernelVersion: 5.5
|
||
|
Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
|
||
|
Description: This attribute reports number of TX lanes the device is
|
||
|
using simultaneously through its upstream port.
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/.../vendor
|
||
|
Date: Sep 2017
|
||
|
KernelVersion: 4.13
|
||
|
Contact: thunderbolt-software@lists.01.org
|
||
|
Description: This attribute contains vendor id of this device extracted
|
||
|
from the device DROM.
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/.../vendor_name
|
||
|
Date: Sep 2017
|
||
|
KernelVersion: 4.13
|
||
|
Contact: thunderbolt-software@lists.01.org
|
||
|
Description: This attribute contains vendor name of this device extracted
|
||
|
from the device DROM.
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/.../unique_id
|
||
|
Date: Sep 2017
|
||
|
KernelVersion: 4.13
|
||
|
Contact: thunderbolt-software@lists.01.org
|
||
|
Description: This attribute contains unique_id string of this device.
|
||
|
This is either read from hardware registers (UUID on
|
||
|
newer hardware) or based on UID from the device DROM.
|
||
|
Can be used to uniquely identify particular device.
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/.../nvm_version
|
||
|
Date: Sep 2017
|
||
|
KernelVersion: 4.13
|
||
|
Contact: thunderbolt-software@lists.01.org
|
||
|
Description: If the device has upgradeable firmware the version
|
||
|
number is available here. Format: %x.%x, major.minor.
|
||
|
If the device is in safe mode reading the file returns
|
||
|
-ENODATA instead as the NVM version is not available.
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/.../nvm_authenticate
|
||
|
Date: Sep 2017
|
||
|
KernelVersion: 4.13
|
||
|
Contact: thunderbolt-software@lists.01.org
|
||
|
Description: When new NVM image is written to the non-active NVM
|
||
|
area (through non_activeX NVMem device), the
|
||
|
authentication procedure is started by writing to
|
||
|
this file.
|
||
|
If everything goes well, the device is
|
||
|
restarted with the new NVM firmware. If the image
|
||
|
verification fails an error code is returned instead.
|
||
|
|
||
|
This file will accept writing values "1", "2" or "3".
|
||
|
|
||
|
- Writing "1" will flush the image to the storage
|
||
|
area and authenticate the image in one action.
|
||
|
- Writing "2" will run some basic validation on the image
|
||
|
and flush it to the storage area.
|
||
|
- Writing "3" will authenticate the image that is
|
||
|
currently written in the storage area. This is only
|
||
|
supported with USB4 devices and retimers.
|
||
|
|
||
|
When read holds status of the last authentication
|
||
|
operation if an error occurred during the process. This
|
||
|
is directly the status value from the DMA configuration
|
||
|
based mailbox before the device is power cycled. Writing
|
||
|
0 here clears the status.
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/.../nvm_authenticate_on_disconnect
|
||
|
Date: Oct 2020
|
||
|
KernelVersion: v5.9
|
||
|
Contact: Mario Limonciello <mario.limonciello@outlook.com>
|
||
|
Description: For supported devices, automatically authenticate the new Thunderbolt
|
||
|
image when the device is disconnected from the host system.
|
||
|
|
||
|
This file will accept writing values "1" or "2"
|
||
|
|
||
|
- Writing "1" will flush the image to the storage
|
||
|
area and prepare the device for authentication on disconnect.
|
||
|
- Writing "2" will run some basic validation on the image
|
||
|
and flush it to the storage area.
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/key
|
||
|
Date: Jan 2018
|
||
|
KernelVersion: 4.15
|
||
|
Contact: thunderbolt-software@lists.01.org
|
||
|
Description: This contains name of the property directory the XDomain
|
||
|
service exposes. This entry describes the protocol in
|
||
|
question. Following directories are already reserved by
|
||
|
the Apple XDomain specification:
|
||
|
|
||
|
======== ===============================================
|
||
|
network IP/ethernet over Thunderbolt
|
||
|
targetdm Target disk mode protocol over Thunderbolt
|
||
|
extdisp External display mode protocol over Thunderbolt
|
||
|
======== ===============================================
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias
|
||
|
Date: Jan 2018
|
||
|
KernelVersion: 4.15
|
||
|
Contact: thunderbolt-software@lists.01.org
|
||
|
Description: Stores the same MODALIAS value emitted by uevent for
|
||
|
the XDomain service. Format: tbtsvc:kSpNvNrN
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcid
|
||
|
Date: Jan 2018
|
||
|
KernelVersion: 4.15
|
||
|
Contact: thunderbolt-software@lists.01.org
|
||
|
Description: This contains XDomain protocol identifier the XDomain
|
||
|
service supports.
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcvers
|
||
|
Date: Jan 2018
|
||
|
KernelVersion: 4.15
|
||
|
Contact: thunderbolt-software@lists.01.org
|
||
|
Description: This contains XDomain protocol version the XDomain
|
||
|
service supports.
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcrevs
|
||
|
Date: Jan 2018
|
||
|
KernelVersion: 4.15
|
||
|
Contact: thunderbolt-software@lists.01.org
|
||
|
Description: This contains XDomain software version the XDomain
|
||
|
service supports.
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcstns
|
||
|
Date: Jan 2018
|
||
|
KernelVersion: 4.15
|
||
|
Contact: thunderbolt-software@lists.01.org
|
||
|
Description: This contains XDomain service specific settings as
|
||
|
bitmask. Format: %x
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/usb4_portX/connector
|
||
|
Date: April 2022
|
||
|
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
||
|
Description:
|
||
|
Symlink to the USB Type-C connector. This link is only
|
||
|
created when USB Type-C Connector Class is enabled,
|
||
|
and only if the system firmware is capable of
|
||
|
describing the connection between a port and its
|
||
|
connector.
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/usb4_portX/link
|
||
|
Date: Sep 2021
|
||
|
KernelVersion: v5.14
|
||
|
Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
|
||
|
Description: Returns the current link mode. Possible values are
|
||
|
"usb4", "tbt" and "none".
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/usb4_portX/offline
|
||
|
Date: Sep 2021
|
||
|
KernelVersion: v5.14
|
||
|
Contact: Rajmohan Mani <rajmohan.mani@intel.com>
|
||
|
Description: Writing 1 to this attribute puts the USB4 port into
|
||
|
offline mode. Only allowed when there is nothing
|
||
|
connected to the port (link attribute returns "none").
|
||
|
Once the port is in offline mode it does not receive any
|
||
|
hotplug events. This is used to update NVM firmware of
|
||
|
on-board retimers. Writing 0 puts the port back to
|
||
|
online mode.
|
||
|
|
||
|
This attribute is only visible if the platform supports
|
||
|
powering on retimers when there is no cable connected.
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/usb4_portX/rescan
|
||
|
Date: Sep 2021
|
||
|
KernelVersion: v5.14
|
||
|
Contact: Rajmohan Mani <rajmohan.mani@intel.com>
|
||
|
Description: When the USB4 port is in offline mode writing 1 to this
|
||
|
attribute forces rescan of the sideband for on-board
|
||
|
retimers. Each retimer appear under the USB4 port as if
|
||
|
the USB4 link was up. These retimers act in the same way
|
||
|
as if the cable was connected so upgrading their NVM
|
||
|
firmware can be done the usual way.
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/device
|
||
|
Date: Oct 2020
|
||
|
KernelVersion: v5.9
|
||
|
Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
|
||
|
Description: Retimer device identifier read from the hardware.
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_authenticate
|
||
|
Date: Oct 2020
|
||
|
KernelVersion: v5.9
|
||
|
Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
|
||
|
Description: When new NVM image is written to the non-active NVM
|
||
|
area (through non_activeX NVMem device), the
|
||
|
authentication procedure is started by writing 1 to
|
||
|
this file. If everything goes well, the device is
|
||
|
restarted with the new NVM firmware. If the image
|
||
|
verification fails an error code is returned instead.
|
||
|
|
||
|
When read holds status of the last authentication
|
||
|
operation if an error occurred during the process.
|
||
|
Format: %x.
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_version
|
||
|
Date: Oct 2020
|
||
|
KernelVersion: v5.9
|
||
|
Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
|
||
|
Description: Holds retimer NVM version number. Format: %x.%x, major.minor.
|
||
|
|
||
|
What: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/vendor
|
||
|
Date: Oct 2020
|
||
|
KernelVersion: v5.9
|
||
|
Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
|
||
|
Description: Retimer vendor identifier read from the hardware.
|