2021-04-12 19:12:47 +08:00
|
|
|
What: /sys/bus/thunderbolt/devices/.../domainX/boot_acl
|
2018-01-21 18:08:04 +08:00
|
|
|
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.
|
|
|
|
|
2021-04-12 19:12:47 +08:00
|
|
|
What: /sys/bus/thunderbolt/devices/.../domainX/deauthorization
|
2020-11-10 16:47:14 +08:00
|
|
|
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.
|
|
|
|
|
2021-04-12 19:12:47 +08:00
|
|
|
What: /sys/bus/thunderbolt/devices/.../domainX/iommu_dma_protection
|
2018-10-31 19:06:52 +08:00
|
|
|
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).
|
|
|
|
|
2021-04-12 19:12:47 +08:00
|
|
|
What: /sys/bus/thunderbolt/devices/.../domainX/security
|
2017-06-06 20:25:16 +08:00
|
|
|
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:
|
|
|
|
|
2020-10-30 15:40:39 +08:00
|
|
|
======= ==================================================
|
|
|
|
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
|
2017-12-08 19:11:39 +08:00
|
|
|
connected Thunderbolt dock (and Display Port). All
|
|
|
|
PCIe links downstream of the dock are removed.
|
2020-09-03 18:13:21 +08:00
|
|
|
nopcie USB4 system where PCIe tunneling is disabled from
|
|
|
|
the BIOS.
|
2020-10-30 15:40:39 +08:00
|
|
|
======= ==================================================
|
2017-06-06 20:25:16 +08:00
|
|
|
|
2021-04-12 19:12:47 +08:00
|
|
|
What: /sys/bus/thunderbolt/devices/.../authorized
|
2017-06-06 20:25:16 +08:00
|
|
|
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
|
2020-11-10 16:47:14 +08:00
|
|
|
authorized, no PCIe devices are available to the system.
|
2017-06-06 20:25:16 +08:00
|
|
|
|
|
|
|
Contents of this attribute will be 0 when the device is not
|
|
|
|
yet authorized.
|
|
|
|
|
|
|
|
Possible values are supported:
|
2020-10-30 15:40:39 +08:00
|
|
|
|
2020-11-10 16:47:14 +08:00
|
|
|
== ===================================================
|
|
|
|
0 The device will be de-authorized (only supported if
|
|
|
|
deauthorization attribute under domain contains 1)
|
2020-10-30 15:40:39 +08:00
|
|
|
1 The device will be authorized and connected
|
2020-11-10 16:47:14 +08:00
|
|
|
== ===================================================
|
2017-06-06 20:25:16 +08:00
|
|
|
|
|
|
|
When key attribute contains 32 byte hex string the possible
|
|
|
|
values are:
|
2020-10-30 15:40:39 +08:00
|
|
|
|
|
|
|
== ========================================================
|
2020-11-10 16:47:14 +08:00
|
|
|
0 The device will be de-authorized (only supported if
|
|
|
|
deauthorization attribute under domain contains 1)
|
2020-10-30 15:40:39 +08:00
|
|
|
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.
|
|
|
|
== ========================================================
|
2017-06-06 20:25:16 +08:00
|
|
|
|
2021-04-12 19:12:47 +08:00
|
|
|
What: /sys/bus/thunderbolt/devices/.../boot
|
2018-01-22 18:50:09 +08:00
|
|
|
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.
|
|
|
|
|
2021-04-12 19:12:47 +08:00
|
|
|
What: /sys/bus/thunderbolt/devices/.../generation
|
2019-10-04 01:32:40 +08:00
|
|
|
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.
|
|
|
|
|
2021-04-12 19:12:47 +08:00
|
|
|
What: /sys/bus/thunderbolt/devices/.../key
|
2017-06-06 20:25:16 +08:00
|
|
|
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.
|
2017-08-15 13:19:20 +08:00
|
|
|
Writing an empty string clears the key and regular connection
|
|
|
|
method can be used again.
|
2017-06-06 20:25:16 +08:00
|
|
|
|
2017-06-06 20:25:01 +08:00
|
|
|
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.
|
|
|
|
|
2017-06-06 20:25:05 +08:00
|
|
|
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.
|
|
|
|
|
2021-01-08 20:57:19 +08:00
|
|
|
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.
|
|
|
|
|
2019-03-22 01:03:00 +08:00
|
|
|
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 simultaneusly 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 simultaneusly through its upstream port.
|
|
|
|
|
2017-06-06 20:25:01 +08:00
|
|
|
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.
|
|
|
|
|
2017-06-06 20:25:05 +08:00
|
|
|
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.
|
|
|
|
|
2017-06-06 20:25:01 +08:00
|
|
|
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.
|
2017-06-06 20:25:17 +08:00
|
|
|
|
|
|
|
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
|
2020-06-24 00:14:28 +08:00
|
|
|
authentication procedure is started by writing to
|
|
|
|
this file.
|
|
|
|
If everything goes well, the device is
|
2017-06-06 20:25:17 +08:00
|
|
|
restarted with the new NVM firmware. If the image
|
|
|
|
verification fails an error code is returned instead.
|
|
|
|
|
2021-04-12 20:25:08 +08:00
|
|
|
This file will accept writing values "1", "2" or "3".
|
2020-10-30 15:40:50 +08:00
|
|
|
|
2020-06-24 00:14:28 +08:00
|
|
|
- Writing "1" will flush the image to the storage
|
2020-10-30 15:40:50 +08:00
|
|
|
area and authenticate the image in one action.
|
2020-06-24 00:14:28 +08:00
|
|
|
- Writing "2" will run some basic validation on the image
|
2020-10-30 15:40:50 +08:00
|
|
|
and flush it to the storage area.
|
2021-04-12 20:25:08 +08:00
|
|
|
- Writing "3" will authenticate the image that is
|
|
|
|
currently written in the storage area. This is only
|
2021-04-12 20:29:16 +08:00
|
|
|
supported with USB4 devices and retimers.
|
2020-06-24 00:14:28 +08:00
|
|
|
|
2017-06-06 20:25:17 +08:00
|
|
|
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.
|
2017-10-02 18:38:34 +08:00
|
|
|
|
2021-04-12 19:12:47 +08:00
|
|
|
What: /sys/bus/thunderbolt/devices/.../nvm_authenticate_on_disconnect
|
|
|
|
Date: Oct 2020
|
|
|
|
KernelVersion: v5.9
|
|
|
|
Contact: Mario Limonciello <mario.limonciello@dell.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.
|
|
|
|
|
2017-10-02 18:38:34 +08:00
|
|
|
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:
|
|
|
|
|
2020-10-30 15:40:50 +08:00
|
|
|
======== ===============================================
|
|
|
|
network IP/ethernet over Thunderbolt
|
|
|
|
targetdm Target disk mode protocol over Thunderbolt
|
|
|
|
extdisp External display mode protocol over Thunderbolt
|
|
|
|
======== ===============================================
|
2017-10-02 18:38:34 +08:00
|
|
|
|
|
|
|
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
|
2020-03-05 22:39:58 +08:00
|
|
|
|
2021-04-01 22:34:20 +08:00
|
|
|
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".
|
|
|
|
|
2021-04-01 23:42:38 +08:00
|
|
|
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.
|
|
|
|
|
2020-03-05 22:39:58 +08:00
|
|
|
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.
|