1 What: /sys/bus/thunderbolt/devices/. !! 1 What: /sys/bus/thunderbolt/devices/.../domainX/boot_acl 2 Date: Jun 2018 2 Date: Jun 2018 3 KernelVersion: 4.17 3 KernelVersion: 4.17 4 Contact: Mika Westerberg <mika.westerber !! 4 Contact: thunderbolt-software@lists.01.org 5 Description: Holds a comma separated list o 5 Description: Holds a comma separated list of device unique_ids that 6 are allowed to be connected au 6 are allowed to be connected automatically during system 7 startup (e.g boot devices). Th 7 startup (e.g boot devices). The list always contains 8 maximum supported number of un 8 maximum supported number of unique_ids where unused 9 entries are empty. This allows 9 entries are empty. This allows the userspace software 10 to determine how many entries 10 to determine how many entries the controller supports. 11 If there are multiple controll 11 If there are multiple controllers, each controller has 12 its own ACL list and size may 12 its own ACL list and size may be different between the 13 controllers. 13 controllers. 14 14 15 System BIOS may have an option 15 System BIOS may have an option "Preboot ACL" or similar 16 that needs to be selected befo 16 that needs to be selected before this list is taken into 17 consideration. 17 consideration. 18 18 19 Software always updates a full 19 Software always updates a full list in each write. 20 20 21 If a device is authorized auto 21 If a device is authorized automatically during boot its 22 boot attribute is set to 1. 22 boot attribute is set to 1. 23 23 24 What: /sys/bus/thunderbolt/devices/. !! 24 What: /sys/bus/thunderbolt/devices/.../domainX/iommu_dma_protection 25 Date: May 2021 << 26 KernelVersion: 5.12 << 27 Contact: Mika Westerberg <mika.westerber << 28 Description: This attribute tells whether t << 29 de-authorization of devices. V << 30 de-authorize PCIe tunnel by wr << 31 attribute under each device. << 32 << 33 What: /sys/bus/thunderbolt/devices/. << 34 Date: Mar 2019 25 Date: Mar 2019 35 KernelVersion: 4.21 26 KernelVersion: 4.21 36 Contact: Mika Westerberg <mika.westerber !! 27 Contact: thunderbolt-software@lists.01.org 37 Description: This attribute tells whether t 28 Description: This attribute tells whether the system uses IOMMU 38 for DMA protection. Value of 1 29 for DMA protection. Value of 1 means IOMMU is used 0 means 39 it is not (DMA protection is s 30 it is not (DMA protection is solely based on Thunderbolt 40 security levels). 31 security levels). 41 32 42 What: /sys/bus/thunderbolt/devices/. !! 33 What: /sys/bus/thunderbolt/devices/.../domainX/security 43 Date: Sep 2017 34 Date: Sep 2017 44 KernelVersion: 4.13 35 KernelVersion: 4.13 45 Contact: Mika Westerberg <mika.westerber !! 36 Contact: thunderbolt-software@lists.01.org 46 Description: This attribute holds current T 37 Description: This attribute holds current Thunderbolt security level 47 set by the system BIOS. Possib 38 set by the system BIOS. Possible values are: 48 39 49 ======= ===================== !! 40 none: All devices are automatically authorized 50 none All devices are autom !! 41 user: Devices are only authorized based on writing 51 user Devices are only auth !! 42 appropriate value to the authorized attribute 52 appropriate value to !! 43 secure: Require devices that support secure connect at 53 secure Require devices that !! 44 minimum. User needs to authorize each device. 54 minimum. User needs t !! 45 dponly: Automatically tunnel Display port (and USB). No 55 dponly Automatically tunnel !! 46 PCIe tunnels are created. 56 PCIe tunnels are crea !! 47 usbonly: Automatically tunnel USB controller of the 57 usbonly Automatically tunnel << 58 connected Thunderbolt 48 connected Thunderbolt dock (and Display Port). All 59 PCIe links downstream 49 PCIe links downstream of the dock are removed. 60 nopcie USB4 system where PCI << 61 the BIOS. << 62 ======= ===================== << 63 50 64 What: /sys/bus/thunderbolt/devices/. !! 51 What: /sys/bus/thunderbolt/devices/.../authorized 65 Date: Sep 2017 52 Date: Sep 2017 66 KernelVersion: 4.13 53 KernelVersion: 4.13 67 Contact: Mika Westerberg <mika.westerber !! 54 Contact: thunderbolt-software@lists.01.org 68 Description: This attribute is used to auth 55 Description: This attribute is used to authorize Thunderbolt devices 69 after they have been connected 56 after they have been connected. If the device is not 70 authorized, no PCIe devices ar !! 57 authorized, no devices such as PCIe and Display port are >> 58 available to the system. 71 59 72 Contents of this attribute wil 60 Contents of this attribute will be 0 when the device is not 73 yet authorized. 61 yet authorized. 74 62 75 Possible values are supported: 63 Possible values are supported: 76 !! 64 1: The device will be authorized and connected 77 == ========================== << 78 0 The device will be de-auth << 79 deauthorization attribute << 80 1 The device will be authori << 81 == ========================== << 82 65 83 When key attribute contains 32 66 When key attribute contains 32 byte hex string the possible 84 values are: 67 values are: >> 68 1: The 32 byte hex string is added to the device NVM and >> 69 the device is authorized. >> 70 2: Send a challenge based on the 32 byte hex string. If the >> 71 challenge response from device is valid, the device is >> 72 authorized. In case of failure errno will be ENOKEY if >> 73 the device did not contain a key at all, and >> 74 EKEYREJECTED if the challenge response did not match. 85 75 86 == ========================== !! 76 What: /sys/bus/thunderbolt/devices/.../boot 87 0 The device will be de-auth << 88 deauthorization attribute << 89 1 The 32 byte hex string is << 90 the device is authorized. << 91 2 Send a challenge based on << 92 challenge response from de << 93 authorized. In case of fai << 94 the device did not contain << 95 EKEYREJECTED if the challe << 96 == ========================== << 97 << 98 What: /sys/bus/thunderbolt/devices/. << 99 Date: Jun 2018 77 Date: Jun 2018 100 KernelVersion: 4.17 78 KernelVersion: 4.17 101 Contact: Mika Westerberg <mika.westerber !! 79 Contact: thunderbolt-software@lists.01.org 102 Description: This attribute contains 1 if T 80 Description: This attribute contains 1 if Thunderbolt device was already 103 authorized on boot and 0 other 81 authorized on boot and 0 otherwise. 104 82 105 What: /sys/bus/thunderbolt/devices/. !! 83 What: /sys/bus/thunderbolt/devices/.../generation 106 Date: Jan 2020 84 Date: Jan 2020 107 KernelVersion: 5.5 85 KernelVersion: 5.5 108 Contact: Christian Kellner <christian@ke 86 Contact: Christian Kellner <christian@kellner.me> 109 Description: This attribute contains the ge 87 Description: This attribute contains the generation of the Thunderbolt 110 controller associated with the 88 controller associated with the device. It will contain 4 111 for USB4. 89 for USB4. 112 90 113 What: /sys/bus/thunderbolt/devices/. !! 91 What: /sys/bus/thunderbolt/devices/.../key 114 Date: Sep 2017 92 Date: Sep 2017 115 KernelVersion: 4.13 93 KernelVersion: 4.13 116 Contact: Mika Westerberg <mika.westerber !! 94 Contact: thunderbolt-software@lists.01.org 117 Description: When a devices supports Thunde 95 Description: When a devices supports Thunderbolt secure connect it will 118 have this attribute. Writing 3 96 have this attribute. Writing 32 byte hex string changes 119 authorization to use the secur 97 authorization to use the secure connection method instead. 120 Writing an empty string clears 98 Writing an empty string clears the key and regular connection 121 method can be used again. 99 method can be used again. 122 100 123 What: /sys/bus/thunderbolt/devices/. 101 What: /sys/bus/thunderbolt/devices/.../device 124 Date: Sep 2017 102 Date: Sep 2017 125 KernelVersion: 4.13 103 KernelVersion: 4.13 126 Contact: Mika Westerberg <mika.westerber !! 104 Contact: thunderbolt-software@lists.01.org 127 Description: This attribute contains id of 105 Description: This attribute contains id of this device extracted from 128 the device DROM. 106 the device DROM. 129 107 130 What: /sys/bus/thunderbolt/devices/. 108 What: /sys/bus/thunderbolt/devices/.../device_name 131 Date: Sep 2017 109 Date: Sep 2017 132 KernelVersion: 4.13 110 KernelVersion: 4.13 133 Contact: Mika Westerberg <mika.westerber !! 111 Contact: thunderbolt-software@lists.01.org 134 Description: This attribute contains name o 112 Description: This attribute contains name of this device extracted from 135 the device DROM. 113 the device DROM. 136 114 137 What: /sys/bus/thunderbolt/devices/. << 138 Date: Jul 2021 << 139 KernelVersion: 5.13 << 140 Contact: Mika Westerberg <mika.westerber << 141 Description: Only set for XDomains. The max << 142 supports as its input HopID. << 143 << 144 What: /sys/bus/thunderbolt/devices/. 115 What: /sys/bus/thunderbolt/devices/.../rx_speed 145 Date: Jan 2020 116 Date: Jan 2020 146 KernelVersion: 5.5 117 KernelVersion: 5.5 147 Contact: Mika Westerberg <mika.westerber 118 Contact: Mika Westerberg <mika.westerberg@linux.intel.com> 148 Description: This attribute reports the dev 119 Description: This attribute reports the device RX speed per lane. 149 All RX lanes run at the same s 120 All RX lanes run at the same speed. 150 121 151 What: /sys/bus/thunderbolt/devices/. 122 What: /sys/bus/thunderbolt/devices/.../rx_lanes 152 Date: Jan 2020 123 Date: Jan 2020 153 KernelVersion: 5.5 124 KernelVersion: 5.5 154 Contact: Mika Westerberg <mika.westerber 125 Contact: Mika Westerberg <mika.westerberg@linux.intel.com> 155 Description: This attribute reports number 126 Description: This attribute reports number of RX lanes the device is 156 using simultaneously through i !! 127 using simultaneusly through its upstream port. 157 128 158 What: /sys/bus/thunderbolt/devices/. 129 What: /sys/bus/thunderbolt/devices/.../tx_speed 159 Date: Jan 2020 130 Date: Jan 2020 160 KernelVersion: 5.5 131 KernelVersion: 5.5 161 Contact: Mika Westerberg <mika.westerber 132 Contact: Mika Westerberg <mika.westerberg@linux.intel.com> 162 Description: This attribute reports the TX 133 Description: This attribute reports the TX speed per lane. 163 All TX lanes run at the same s 134 All TX lanes run at the same speed. 164 135 165 What: /sys/bus/thunderbolt/devices/. 136 What: /sys/bus/thunderbolt/devices/.../tx_lanes 166 Date: Jan 2020 137 Date: Jan 2020 167 KernelVersion: 5.5 138 KernelVersion: 5.5 168 Contact: Mika Westerberg <mika.westerber 139 Contact: Mika Westerberg <mika.westerberg@linux.intel.com> 169 Description: This attribute reports number 140 Description: This attribute reports number of TX lanes the device is 170 using simultaneously through i !! 141 using simultaneusly through its upstream port. 171 142 172 What: /sys/bus/thunderbolt/devices/. 143 What: /sys/bus/thunderbolt/devices/.../vendor 173 Date: Sep 2017 144 Date: Sep 2017 174 KernelVersion: 4.13 145 KernelVersion: 4.13 175 Contact: Mika Westerberg <mika.westerber !! 146 Contact: thunderbolt-software@lists.01.org 176 Description: This attribute contains vendor 147 Description: This attribute contains vendor id of this device extracted 177 from the device DROM. 148 from the device DROM. 178 149 179 What: /sys/bus/thunderbolt/devices/. 150 What: /sys/bus/thunderbolt/devices/.../vendor_name 180 Date: Sep 2017 151 Date: Sep 2017 181 KernelVersion: 4.13 152 KernelVersion: 4.13 182 Contact: Mika Westerberg <mika.westerber !! 153 Contact: thunderbolt-software@lists.01.org 183 Description: This attribute contains vendor 154 Description: This attribute contains vendor name of this device extracted 184 from the device DROM. 155 from the device DROM. 185 156 186 What: /sys/bus/thunderbolt/devices/. 157 What: /sys/bus/thunderbolt/devices/.../unique_id 187 Date: Sep 2017 158 Date: Sep 2017 188 KernelVersion: 4.13 159 KernelVersion: 4.13 189 Contact: Mika Westerberg <mika.westerber !! 160 Contact: thunderbolt-software@lists.01.org 190 Description: This attribute contains unique 161 Description: This attribute contains unique_id string of this device. 191 This is either read from hardw 162 This is either read from hardware registers (UUID on 192 newer hardware) or based on UI 163 newer hardware) or based on UID from the device DROM. 193 Can be used to uniquely identi 164 Can be used to uniquely identify particular device. 194 165 195 What: /sys/bus/thunderbolt/devices/. 166 What: /sys/bus/thunderbolt/devices/.../nvm_version 196 Date: Sep 2017 167 Date: Sep 2017 197 KernelVersion: 4.13 168 KernelVersion: 4.13 198 Contact: Mika Westerberg <mika.westerber !! 169 Contact: thunderbolt-software@lists.01.org 199 Description: If the device has upgradeable 170 Description: If the device has upgradeable firmware the version 200 number is available here. Form 171 number is available here. Format: %x.%x, major.minor. 201 If the device is in safe mode 172 If the device is in safe mode reading the file returns 202 -ENODATA instead as the NVM ve 173 -ENODATA instead as the NVM version is not available. 203 174 204 What: /sys/bus/thunderbolt/devices/. 175 What: /sys/bus/thunderbolt/devices/.../nvm_authenticate 205 Date: Sep 2017 176 Date: Sep 2017 206 KernelVersion: 4.13 177 KernelVersion: 4.13 207 Contact: Mika Westerberg <mika.westerber !! 178 Contact: thunderbolt-software@lists.01.org 208 Description: When new NVM image is written 179 Description: When new NVM image is written to the non-active NVM 209 area (through non_activeX NVMe 180 area (through non_activeX NVMem device), the 210 authentication procedure is st !! 181 authentication procedure is started by writing 1 to 211 this file. !! 182 this file. If everything goes well, the device is 212 If everything goes well, the d << 213 restarted with the new NVM fir 183 restarted with the new NVM firmware. If the image 214 verification fails an error co 184 verification fails an error code is returned instead. 215 185 216 This file will accept writing << 217 << 218 - Writing "1" will flush the i << 219 area and authenticate the im << 220 - Writing "2" will run some ba << 221 and flush it to the storage << 222 - Writing "3" will authenticat << 223 currently written in the sto << 224 supported with USB4 devices << 225 << 226 When read holds status of the 186 When read holds status of the last authentication 227 operation if an error occurred 187 operation if an error occurred during the process. This 228 is directly the status value f 188 is directly the status value from the DMA configuration 229 based mailbox before the devic 189 based mailbox before the device is power cycled. Writing 230 0 here clears the status. 190 0 here clears the status. 231 191 232 What: /sys/bus/thunderbolt/devices/. << 233 Date: Oct 2020 << 234 KernelVersion: v5.9 << 235 Contact: Mario Limonciello <mario.limonc << 236 Description: For supported devices, automat << 237 image when the device is disco << 238 << 239 This file will accept writing << 240 << 241 - Writing "1" will flush the i << 242 area and prepare the device << 243 - Writing "2" will run some ba << 244 and flush it to the storage << 245 << 246 What: /sys/bus/thunderbolt/devices/< 192 What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/key 247 Date: Jan 2018 193 Date: Jan 2018 248 KernelVersion: 4.15 194 KernelVersion: 4.15 249 Contact: Mika Westerberg <mika.westerber !! 195 Contact: thunderbolt-software@lists.01.org 250 Description: This contains name of the prop 196 Description: This contains name of the property directory the XDomain 251 service exposes. This entry de 197 service exposes. This entry describes the protocol in 252 question. Following directorie 198 question. Following directories are already reserved by 253 the Apple XDomain specificatio 199 the Apple XDomain specification: 254 200 255 ======== ==================== !! 201 network: IP/ethernet over Thunderbolt 256 network IP/ethernet over Thu !! 202 targetdm: Target disk mode protocol over Thunderbolt 257 targetdm Target disk mode pro !! 203 extdisp: External display mode protocol over Thunderbolt 258 extdisp External display mod << 259 ======== ==================== << 260 204 261 What: /sys/bus/thunderbolt/devices/< 205 What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias 262 Date: Jan 2018 206 Date: Jan 2018 263 KernelVersion: 4.15 207 KernelVersion: 4.15 264 Contact: Mika Westerberg <mika.westerber !! 208 Contact: thunderbolt-software@lists.01.org 265 Description: Stores the same MODALIAS value 209 Description: Stores the same MODALIAS value emitted by uevent for 266 the XDomain service. Format: t 210 the XDomain service. Format: tbtsvc:kSpNvNrN 267 211 268 What: /sys/bus/thunderbolt/devices/< 212 What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcid 269 Date: Jan 2018 213 Date: Jan 2018 270 KernelVersion: 4.15 214 KernelVersion: 4.15 271 Contact: Mika Westerberg <mika.westerber !! 215 Contact: thunderbolt-software@lists.01.org 272 Description: This contains XDomain protocol 216 Description: This contains XDomain protocol identifier the XDomain 273 service supports. 217 service supports. 274 218 275 What: /sys/bus/thunderbolt/devices/< 219 What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcvers 276 Date: Jan 2018 220 Date: Jan 2018 277 KernelVersion: 4.15 221 KernelVersion: 4.15 278 Contact: Mika Westerberg <mika.westerber !! 222 Contact: thunderbolt-software@lists.01.org 279 Description: This contains XDomain protocol 223 Description: This contains XDomain protocol version the XDomain 280 service supports. 224 service supports. 281 225 282 What: /sys/bus/thunderbolt/devices/< 226 What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcrevs 283 Date: Jan 2018 227 Date: Jan 2018 284 KernelVersion: 4.15 228 KernelVersion: 4.15 285 Contact: Mika Westerberg <mika.westerber !! 229 Contact: thunderbolt-software@lists.01.org 286 Description: This contains XDomain software 230 Description: This contains XDomain software version the XDomain 287 service supports. 231 service supports. 288 232 289 What: /sys/bus/thunderbolt/devices/< 233 What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcstns 290 Date: Jan 2018 234 Date: Jan 2018 291 KernelVersion: 4.15 235 KernelVersion: 4.15 292 Contact: Mika Westerberg <mika.westerber !! 236 Contact: thunderbolt-software@lists.01.org 293 Description: This contains XDomain service 237 Description: This contains XDomain service specific settings as 294 bitmask. Format: %x 238 bitmask. Format: %x 295 << 296 What: /sys/bus/thunderbolt/devices/u << 297 Date: April 2022 << 298 Contact: Heikki Krogerus <heikki.krogeru << 299 Description: << 300 Symlink to the USB Type-C conn << 301 created when USB Type-C Connec << 302 and only if the system firmwar << 303 describing the connection betw << 304 connector. << 305 << 306 What: /sys/bus/thunderbolt/devices/u << 307 Date: Sep 2021 << 308 KernelVersion: v5.14 << 309 Contact: Mika Westerberg <mika.westerber << 310 Description: Returns the current link mode. << 311 "usb4", "tbt" and "none". << 312 << 313 What: /sys/bus/thunderbolt/devices/u << 314 Date: Sep 2021 << 315 KernelVersion: v5.14 << 316 Contact: Rajmohan Mani <rajmohan.mani@in << 317 Description: Writing 1 to this attribute pu << 318 offline mode. Only allowed whe << 319 connected to the port (link at << 320 Once the port is in offline mo << 321 hotplug events. This is used t << 322 on-board retimers. Writing 0 p << 323 online mode. << 324 << 325 This attribute is only visible << 326 powering on retimers when ther << 327 << 328 What: /sys/bus/thunderbolt/devices/u << 329 Date: Sep 2021 << 330 KernelVersion: v5.14 << 331 Contact: Rajmohan Mani <rajmohan.mani@in << 332 Description: When the USB4 port is in offli << 333 attribute forces rescan of the << 334 retimers. Each retimer appear << 335 the USB4 link was up. These re << 336 as if the cable was connected << 337 firmware can be done the usual << 338 << 339 What: /sys/bus/thunderbolt/devices/< << 340 Date: Oct 2020 << 341 KernelVersion: v5.9 << 342 Contact: Mika Westerberg <mika.westerber << 343 Description: Retimer device identifier read << 344 << 345 What: /sys/bus/thunderbolt/devices/< << 346 Date: Oct 2020 << 347 KernelVersion: v5.9 << 348 Contact: Mika Westerberg <mika.westerber << 349 Description: When new NVM image is written << 350 area (through non_activeX NVMe << 351 authentication procedure is st << 352 this file. If everything goes << 353 restarted with the new NVM fir << 354 verification fails an error co << 355 << 356 When read holds status of the << 357 operation if an error occurred << 358 Format: %x. << 359 << 360 What: /sys/bus/thunderbolt/devices/< << 361 Date: Oct 2020 << 362 KernelVersion: v5.9 << 363 Contact: Mika Westerberg <mika.westerber << 364 Description: Holds retimer NVM version numb << 365 << 366 What: /sys/bus/thunderbolt/devices/< << 367 Date: Oct 2020 << 368 KernelVersion: v5.9 << 369 Contact: Mika Westerberg <mika.westerber << 370 Description: Retimer vendor identifier read <<
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.