1What: /sys/bus/thunderbolt/devices/<xdomain>/rx_speed 2Date: Feb 2021 3KernelVersion: 5.11 4Contact: Isaac Hazan <isaac.hazan@intel.com> 5Description: This attribute reports the XDomain RX speed per lane. 6 All RX lanes run at the same speed. 7 8What: /sys/bus/thunderbolt/devices/<xdomain>/rx_lanes 9Date: Feb 2021 10KernelVersion: 5.11 11Contact: Isaac Hazan <isaac.hazan@intel.com> 12Description: This attribute reports the number of RX lanes the XDomain 13 is using simultaneously through its upstream port. 14 15What: /sys/bus/thunderbolt/devices/<xdomain>/tx_speed 16Date: Feb 2021 17KernelVersion: 5.11 18Contact: Isaac Hazan <isaac.hazan@intel.com> 19Description: This attribute reports the XDomain TX speed per lane. 20 All TX lanes run at the same speed. 21 22What: /sys/bus/thunderbolt/devices/<xdomain>/tx_lanes 23Date: Feb 2021 24KernelVersion: 5.11 25Contact: Isaac Hazan <isaac.hazan@intel.com> 26Description: This attribute reports number of TX lanes the XDomain 27 is using simultaneously through its upstream port. 28 29What: /sys/bus/thunderbolt/devices/.../domainX/boot_acl 30Date: Jun 2018 31KernelVersion: 4.17 32Contact: thunderbolt-software@lists.01.org 33Description: Holds a comma separated list of device unique_ids that 34 are allowed to be connected automatically during system 35 startup (e.g boot devices). The list always contains 36 maximum supported number of unique_ids where unused 37 entries are empty. This allows the userspace software 38 to determine how many entries the controller supports. 39 If there are multiple controllers, each controller has 40 its own ACL list and size may be different between the 41 controllers. 42 43 System BIOS may have an option "Preboot ACL" or similar 44 that needs to be selected before this list is taken into 45 consideration. 46 47 Software always updates a full list in each write. 48 49 If a device is authorized automatically during boot its 50 boot attribute is set to 1. 51 52What: /sys/bus/thunderbolt/devices/.../domainX/iommu_dma_protection 53Date: Mar 2019 54KernelVersion: 4.21 55Contact: thunderbolt-software@lists.01.org 56Description: This attribute tells whether the system uses IOMMU 57 for DMA protection. Value of 1 means IOMMU is used 0 means 58 it is not (DMA protection is solely based on Thunderbolt 59 security levels). 60 61What: /sys/bus/thunderbolt/devices/.../domainX/security 62Date: Sep 2017 63KernelVersion: 4.13 64Contact: thunderbolt-software@lists.01.org 65Description: This attribute holds current Thunderbolt security level 66 set by the system BIOS. Possible values are: 67 68 ======= ================================================== 69 none All devices are automatically authorized 70 user Devices are only authorized based on writing 71 appropriate value to the authorized attribute 72 secure Require devices that support secure connect at 73 minimum. User needs to authorize each device. 74 dponly Automatically tunnel Display port (and USB). No 75 PCIe tunnels are created. 76 usbonly Automatically tunnel USB controller of the 77 connected Thunderbolt dock (and Display Port). All 78 PCIe links downstream of the dock are removed. 79 ======= ================================================== 80 81What: /sys/bus/thunderbolt/devices/.../authorized 82Date: Sep 2017 83KernelVersion: 4.13 84Contact: thunderbolt-software@lists.01.org 85Description: This attribute is used to authorize Thunderbolt devices 86 after they have been connected. If the device is not 87 authorized, no devices such as PCIe and Display port are 88 available to the system. 89 90 Contents of this attribute will be 0 when the device is not 91 yet authorized. 92 93 Possible values are supported: 94 95 == =========================================== 96 1 The device will be authorized and connected 97 == =========================================== 98 99 When key attribute contains 32 byte hex string the possible 100 values are: 101 102 == ======================================================== 103 1 The 32 byte hex string is added to the device NVM and 104 the device is authorized. 105 2 Send a challenge based on the 32 byte hex string. If the 106 challenge response from device is valid, the device is 107 authorized. In case of failure errno will be ENOKEY if 108 the device did not contain a key at all, and 109 EKEYREJECTED if the challenge response did not match. 110 == ======================================================== 111 112What: /sys/bus/thunderbolt/devices/.../boot 113Date: Jun 2018 114KernelVersion: 4.17 115Contact: thunderbolt-software@lists.01.org 116Description: This attribute contains 1 if Thunderbolt device was already 117 authorized on boot and 0 otherwise. 118 119What: /sys/bus/thunderbolt/devices/.../generation 120Date: Jan 2020 121KernelVersion: 5.5 122Contact: Christian Kellner <christian@kellner.me> 123Description: This attribute contains the generation of the Thunderbolt 124 controller associated with the device. It will contain 4 125 for USB4. 126 127What: /sys/bus/thunderbolt/devices/.../key 128Date: Sep 2017 129KernelVersion: 4.13 130Contact: thunderbolt-software@lists.01.org 131Description: When a devices supports Thunderbolt secure connect it will 132 have this attribute. Writing 32 byte hex string changes 133 authorization to use the secure connection method instead. 134 Writing an empty string clears the key and regular connection 135 method can be used again. 136 137What: /sys/bus/thunderbolt/devices/.../device 138Date: Sep 2017 139KernelVersion: 4.13 140Contact: thunderbolt-software@lists.01.org 141Description: This attribute contains id of this device extracted from 142 the device DROM. 143 144What: /sys/bus/thunderbolt/devices/.../device_name 145Date: Sep 2017 146KernelVersion: 4.13 147Contact: thunderbolt-software@lists.01.org 148Description: This attribute contains name of this device extracted from 149 the device DROM. 150 151What: /sys/bus/thunderbolt/devices/.../rx_speed 152Date: Jan 2020 153KernelVersion: 5.5 154Contact: Mika Westerberg <mika.westerberg@linux.intel.com> 155Description: This attribute reports the device RX speed per lane. 156 All RX lanes run at the same speed. 157 158What: /sys/bus/thunderbolt/devices/.../rx_lanes 159Date: Jan 2020 160KernelVersion: 5.5 161Contact: Mika Westerberg <mika.westerberg@linux.intel.com> 162Description: This attribute reports number of RX lanes the device is 163 using simultaneusly through its upstream port. 164 165What: /sys/bus/thunderbolt/devices/.../tx_speed 166Date: Jan 2020 167KernelVersion: 5.5 168Contact: Mika Westerberg <mika.westerberg@linux.intel.com> 169Description: This attribute reports the TX speed per lane. 170 All TX lanes run at the same speed. 171 172What: /sys/bus/thunderbolt/devices/.../tx_lanes 173Date: Jan 2020 174KernelVersion: 5.5 175Contact: Mika Westerberg <mika.westerberg@linux.intel.com> 176Description: This attribute reports number of TX lanes the device is 177 using simultaneusly through its upstream port. 178 179What: /sys/bus/thunderbolt/devices/.../vendor 180Date: Sep 2017 181KernelVersion: 4.13 182Contact: thunderbolt-software@lists.01.org 183Description: This attribute contains vendor id of this device extracted 184 from the device DROM. 185 186What: /sys/bus/thunderbolt/devices/.../vendor_name 187Date: Sep 2017 188KernelVersion: 4.13 189Contact: thunderbolt-software@lists.01.org 190Description: This attribute contains vendor name of this device extracted 191 from the device DROM. 192 193What: /sys/bus/thunderbolt/devices/.../unique_id 194Date: Sep 2017 195KernelVersion: 4.13 196Contact: thunderbolt-software@lists.01.org 197Description: This attribute contains unique_id string of this device. 198 This is either read from hardware registers (UUID on 199 newer hardware) or based on UID from the device DROM. 200 Can be used to uniquely identify particular device. 201 202What: /sys/bus/thunderbolt/devices/.../nvm_version 203Date: Sep 2017 204KernelVersion: 4.13 205Contact: thunderbolt-software@lists.01.org 206Description: If the device has upgradeable firmware the version 207 number is available here. Format: %x.%x, major.minor. 208 If the device is in safe mode reading the file returns 209 -ENODATA instead as the NVM version is not available. 210 211What: /sys/bus/thunderbolt/devices/.../nvm_authenticate 212Date: Sep 2017 213KernelVersion: 4.13 214Contact: thunderbolt-software@lists.01.org 215Description: When new NVM image is written to the non-active NVM 216 area (through non_activeX NVMem device), the 217 authentication procedure is started by writing to 218 this file. 219 If everything goes well, the device is 220 restarted with the new NVM firmware. If the image 221 verification fails an error code is returned instead. 222 223 This file will accept writing values "1" or "2" 224 225 - Writing "1" will flush the image to the storage 226 area and authenticate the image in one action. 227 - Writing "2" will run some basic validation on the image 228 and flush it to the storage area. 229 230 When read holds status of the last authentication 231 operation if an error occurred during the process. This 232 is directly the status value from the DMA configuration 233 based mailbox before the device is power cycled. Writing 234 0 here clears the status. 235 236What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/key 237Date: Jan 2018 238KernelVersion: 4.15 239Contact: thunderbolt-software@lists.01.org 240Description: This contains name of the property directory the XDomain 241 service exposes. This entry describes the protocol in 242 question. Following directories are already reserved by 243 the Apple XDomain specification: 244 245 ======== =============================================== 246 network IP/ethernet over Thunderbolt 247 targetdm Target disk mode protocol over Thunderbolt 248 extdisp External display mode protocol over Thunderbolt 249 ======== =============================================== 250 251What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias 252Date: Jan 2018 253KernelVersion: 4.15 254Contact: thunderbolt-software@lists.01.org 255Description: Stores the same MODALIAS value emitted by uevent for 256 the XDomain service. Format: tbtsvc:kSpNvNrN 257 258What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcid 259Date: Jan 2018 260KernelVersion: 4.15 261Contact: thunderbolt-software@lists.01.org 262Description: This contains XDomain protocol identifier the XDomain 263 service supports. 264 265What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcvers 266Date: Jan 2018 267KernelVersion: 4.15 268Contact: thunderbolt-software@lists.01.org 269Description: This contains XDomain protocol version the XDomain 270 service supports. 271 272What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcrevs 273Date: Jan 2018 274KernelVersion: 4.15 275Contact: thunderbolt-software@lists.01.org 276Description: This contains XDomain software version the XDomain 277 service supports. 278 279What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcstns 280Date: Jan 2018 281KernelVersion: 4.15 282Contact: thunderbolt-software@lists.01.org 283Description: This contains XDomain service specific settings as 284 bitmask. Format: %x 285 286What: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/device 287Date: Oct 2020 288KernelVersion: v5.9 289Contact: Mika Westerberg <mika.westerberg@linux.intel.com> 290Description: Retimer device identifier read from the hardware. 291 292What: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_authenticate 293Date: Oct 2020 294KernelVersion: v5.9 295Contact: Mika Westerberg <mika.westerberg@linux.intel.com> 296Description: When new NVM image is written to the non-active NVM 297 area (through non_activeX NVMem device), the 298 authentication procedure is started by writing 1 to 299 this file. If everything goes well, the device is 300 restarted with the new NVM firmware. If the image 301 verification fails an error code is returned instead. 302 303 When read holds status of the last authentication 304 operation if an error occurred during the process. 305 Format: %x. 306 307What: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_version 308Date: Oct 2020 309KernelVersion: v5.9 310Contact: Mika Westerberg <mika.westerberg@linux.intel.com> 311Description: Holds retimer NVM version number. Format: %x.%x, major.minor. 312 313What: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/vendor 314Date: Oct 2020 315KernelVersion: v5.9 316Contact: Mika Westerberg <mika.westerberg@linux.intel.com> 317Description: Retimer vendor identifier read from the hardware. 318 319What: /sys/bus/thunderbolt/devices/.../nvm_authenticate_on_disconnect 320Date: Oct 2020 321KernelVersion: v5.9 322Contact: Mario Limonciello <mario.limonciello@dell.com> 323Description: For supported devices, automatically authenticate the new Thunderbolt 324 image when the device is disconnected from the host system. 325 326 This file will accept writing values "1" or "2" 327 328 - Writing "1" will flush the image to the storage 329 area and prepare the device for authentication on disconnect. 330 - Writing "2" will run some basic validation on the image 331 and flush it to the storage area. 332