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