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