19aaa3b8bSMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../domainX/boot_acl 29aaa3b8bSMika WesterbergDate: Jun 2018 39aaa3b8bSMika WesterbergKernelVersion: 4.17 49aaa3b8bSMika WesterbergContact: thunderbolt-software@lists.01.org 59aaa3b8bSMika WesterbergDescription: Holds a comma separated list of device unique_ids that 69aaa3b8bSMika Westerberg are allowed to be connected automatically during system 79aaa3b8bSMika Westerberg startup (e.g boot devices). The list always contains 89aaa3b8bSMika Westerberg maximum supported number of unique_ids where unused 99aaa3b8bSMika Westerberg entries are empty. This allows the userspace software 109aaa3b8bSMika Westerberg to determine how many entries the controller supports. 119aaa3b8bSMika Westerberg If there are multiple controllers, each controller has 129aaa3b8bSMika Westerberg its own ACL list and size may be different between the 139aaa3b8bSMika Westerberg controllers. 149aaa3b8bSMika Westerberg 159aaa3b8bSMika Westerberg System BIOS may have an option "Preboot ACL" or similar 169aaa3b8bSMika Westerberg that needs to be selected before this list is taken into 179aaa3b8bSMika Westerberg consideration. 189aaa3b8bSMika Westerberg 199aaa3b8bSMika Westerberg Software always updates a full list in each write. 209aaa3b8bSMika Westerberg 219aaa3b8bSMika Westerberg If a device is authorized automatically during boot its 229aaa3b8bSMika Westerberg boot attribute is set to 1. 239aaa3b8bSMika Westerberg 243da88be2SMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../domainX/deauthorization 253da88be2SMika WesterbergDate: May 2021 263da88be2SMika WesterbergKernelVersion: 5.12 273da88be2SMika WesterbergContact: Mika Westerberg <mika.westerberg@linux.intel.com> 283da88be2SMika WesterbergDescription: This attribute tells whether the system supports 293da88be2SMika Westerberg de-authorization of devices. Value of 1 means user can 303da88be2SMika Westerberg de-authorize PCIe tunnel by writing 0 to authorized 313da88be2SMika Westerberg attribute under each device. 323da88be2SMika Westerberg 33dcc3c9e3SMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../domainX/iommu_dma_protection 34dcc3c9e3SMika WesterbergDate: Mar 2019 35dcc3c9e3SMika WesterbergKernelVersion: 4.21 36dcc3c9e3SMika WesterbergContact: thunderbolt-software@lists.01.org 37dcc3c9e3SMika WesterbergDescription: This attribute tells whether the system uses IOMMU 38dcc3c9e3SMika Westerberg for DMA protection. Value of 1 means IOMMU is used 0 means 39dcc3c9e3SMika Westerberg it is not (DMA protection is solely based on Thunderbolt 40dcc3c9e3SMika Westerberg security levels). 41dcc3c9e3SMika Westerberg 42f67cf491SMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../domainX/security 43f67cf491SMika WesterbergDate: Sep 2017 44f67cf491SMika WesterbergKernelVersion: 4.13 45f67cf491SMika WesterbergContact: thunderbolt-software@lists.01.org 46f67cf491SMika WesterbergDescription: This attribute holds current Thunderbolt security level 47f67cf491SMika Westerberg set by the system BIOS. Possible values are: 48f67cf491SMika Westerberg 4934433332SMauro Carvalho Chehab ======= ================================================== 5034433332SMauro Carvalho Chehab none All devices are automatically authorized 5134433332SMauro Carvalho Chehab user Devices are only authorized based on writing 52f67cf491SMika Westerberg appropriate value to the authorized attribute 5334433332SMauro Carvalho Chehab secure Require devices that support secure connect at 54f67cf491SMika Westerberg minimum. User needs to authorize each device. 5534433332SMauro Carvalho Chehab dponly Automatically tunnel Display port (and USB). No 56f67cf491SMika Westerberg PCIe tunnels are created. 5734433332SMauro Carvalho Chehab usbonly Automatically tunnel USB controller of the 586fc14e1aSMika Westerberg connected Thunderbolt dock (and Display Port). All 596fc14e1aSMika Westerberg PCIe links downstream of the dock are removed. 603cd542e6SMika Westerberg nopcie USB4 system where PCIe tunneling is disabled from 613cd542e6SMika Westerberg the BIOS. 6234433332SMauro Carvalho Chehab ======= ================================================== 63f67cf491SMika Westerberg 64f67cf491SMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../authorized 65f67cf491SMika WesterbergDate: Sep 2017 66f67cf491SMika WesterbergKernelVersion: 4.13 67f67cf491SMika WesterbergContact: thunderbolt-software@lists.01.org 68f67cf491SMika WesterbergDescription: This attribute is used to authorize Thunderbolt devices 69f67cf491SMika Westerberg after they have been connected. If the device is not 703da88be2SMika Westerberg authorized, no PCIe devices are available to the system. 71f67cf491SMika Westerberg 72f67cf491SMika Westerberg Contents of this attribute will be 0 when the device is not 73f67cf491SMika Westerberg yet authorized. 74f67cf491SMika Westerberg 75f67cf491SMika Westerberg Possible values are supported: 7634433332SMauro Carvalho Chehab 773da88be2SMika Westerberg == =================================================== 783da88be2SMika Westerberg 0 The device will be de-authorized (only supported if 793da88be2SMika Westerberg deauthorization attribute under domain contains 1) 8034433332SMauro Carvalho Chehab 1 The device will be authorized and connected 813da88be2SMika Westerberg == =================================================== 82f67cf491SMika Westerberg 83f67cf491SMika Westerberg When key attribute contains 32 byte hex string the possible 84f67cf491SMika Westerberg values are: 8534433332SMauro Carvalho Chehab 8634433332SMauro Carvalho Chehab == ======================================================== 873da88be2SMika Westerberg 0 The device will be de-authorized (only supported if 883da88be2SMika Westerberg deauthorization attribute under domain contains 1) 8934433332SMauro Carvalho Chehab 1 The 32 byte hex string is added to the device NVM and 90f67cf491SMika Westerberg the device is authorized. 9134433332SMauro Carvalho Chehab 2 Send a challenge based on the 32 byte hex string. If the 92f67cf491SMika Westerberg challenge response from device is valid, the device is 93f67cf491SMika Westerberg authorized. In case of failure errno will be ENOKEY if 94f67cf491SMika Westerberg the device did not contain a key at all, and 95f67cf491SMika Westerberg EKEYREJECTED if the challenge response did not match. 9634433332SMauro Carvalho Chehab == ======================================================== 97f67cf491SMika Westerberg 9814862ee3SYehezkel BernatWhat: /sys/bus/thunderbolt/devices/.../boot 9914862ee3SYehezkel BernatDate: Jun 2018 10014862ee3SYehezkel BernatKernelVersion: 4.17 10114862ee3SYehezkel BernatContact: thunderbolt-software@lists.01.org 10214862ee3SYehezkel BernatDescription: This attribute contains 1 if Thunderbolt device was already 10314862ee3SYehezkel Bernat authorized on boot and 0 otherwise. 10414862ee3SYehezkel Bernat 105b406357cSChristian KellnerWhat: /sys/bus/thunderbolt/devices/.../generation 106b406357cSChristian KellnerDate: Jan 2020 107b406357cSChristian KellnerKernelVersion: 5.5 108b406357cSChristian KellnerContact: Christian Kellner <christian@kellner.me> 109b406357cSChristian KellnerDescription: This attribute contains the generation of the Thunderbolt 110b406357cSChristian Kellner controller associated with the device. It will contain 4 111b406357cSChristian Kellner for USB4. 112b406357cSChristian Kellner 113f67cf491SMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../key 114f67cf491SMika WesterbergDate: Sep 2017 115f67cf491SMika WesterbergKernelVersion: 4.13 116f67cf491SMika WesterbergContact: thunderbolt-software@lists.01.org 117f67cf491SMika WesterbergDescription: When a devices supports Thunderbolt secure connect it will 118f67cf491SMika Westerberg have this attribute. Writing 32 byte hex string changes 119f67cf491SMika Westerberg authorization to use the secure connection method instead. 120e545f0d8SBernat, Yehezkel Writing an empty string clears the key and regular connection 121e545f0d8SBernat, Yehezkel method can be used again. 122f67cf491SMika Westerberg 123bfe778acSMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../device 124bfe778acSMika WesterbergDate: Sep 2017 125bfe778acSMika WesterbergKernelVersion: 4.13 126bfe778acSMika WesterbergContact: thunderbolt-software@lists.01.org 127bfe778acSMika WesterbergDescription: This attribute contains id of this device extracted from 128bfe778acSMika Westerberg the device DROM. 129bfe778acSMika Westerberg 13072ee3390SMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../device_name 13172ee3390SMika WesterbergDate: Sep 2017 13272ee3390SMika WesterbergKernelVersion: 4.13 13372ee3390SMika WesterbergContact: thunderbolt-software@lists.01.org 13472ee3390SMika WesterbergDescription: This attribute contains name of this device extracted from 13572ee3390SMika Westerberg the device DROM. 13672ee3390SMika Westerberg 13746b494f2SMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../maxhopid 13846b494f2SMika WesterbergDate: Jul 2021 13946b494f2SMika WesterbergKernelVersion: 5.13 14046b494f2SMika WesterbergContact: Mika Westerberg <mika.westerberg@linux.intel.com> 14146b494f2SMika WesterbergDescription: Only set for XDomains. The maximum HopID the other host 14246b494f2SMika Westerberg supports as its input HopID. 14346b494f2SMika Westerberg 14491c0c120SMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../rx_speed 14591c0c120SMika WesterbergDate: Jan 2020 14691c0c120SMika WesterbergKernelVersion: 5.5 14791c0c120SMika WesterbergContact: Mika Westerberg <mika.westerberg@linux.intel.com> 14891c0c120SMika WesterbergDescription: This attribute reports the device RX speed per lane. 14991c0c120SMika Westerberg All RX lanes run at the same speed. 15091c0c120SMika Westerberg 15191c0c120SMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../rx_lanes 15291c0c120SMika WesterbergDate: Jan 2020 15391c0c120SMika WesterbergKernelVersion: 5.5 15491c0c120SMika WesterbergContact: Mika Westerberg <mika.westerberg@linux.intel.com> 15591c0c120SMika WesterbergDescription: This attribute reports number of RX lanes the device is 15691c0c120SMika Westerberg using simultaneusly through its upstream port. 15791c0c120SMika Westerberg 15891c0c120SMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../tx_speed 15991c0c120SMika WesterbergDate: Jan 2020 16091c0c120SMika WesterbergKernelVersion: 5.5 16191c0c120SMika WesterbergContact: Mika Westerberg <mika.westerberg@linux.intel.com> 16291c0c120SMika WesterbergDescription: This attribute reports the TX speed per lane. 16391c0c120SMika Westerberg All TX lanes run at the same speed. 16491c0c120SMika Westerberg 16591c0c120SMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../tx_lanes 16691c0c120SMika WesterbergDate: Jan 2020 16791c0c120SMika WesterbergKernelVersion: 5.5 16891c0c120SMika WesterbergContact: Mika Westerberg <mika.westerberg@linux.intel.com> 16991c0c120SMika WesterbergDescription: This attribute reports number of TX lanes the device is 17091c0c120SMika Westerberg using simultaneusly through its upstream port. 17191c0c120SMika Westerberg 172bfe778acSMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../vendor 173bfe778acSMika WesterbergDate: Sep 2017 174bfe778acSMika WesterbergKernelVersion: 4.13 175bfe778acSMika WesterbergContact: thunderbolt-software@lists.01.org 176bfe778acSMika WesterbergDescription: This attribute contains vendor id of this device extracted 177bfe778acSMika Westerberg from the device DROM. 178bfe778acSMika Westerberg 17972ee3390SMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../vendor_name 18072ee3390SMika WesterbergDate: Sep 2017 18172ee3390SMika WesterbergKernelVersion: 4.13 18272ee3390SMika WesterbergContact: thunderbolt-software@lists.01.org 18372ee3390SMika WesterbergDescription: This attribute contains vendor name of this device extracted 18472ee3390SMika Westerberg from the device DROM. 18572ee3390SMika Westerberg 186bfe778acSMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../unique_id 187bfe778acSMika WesterbergDate: Sep 2017 188bfe778acSMika WesterbergKernelVersion: 4.13 189bfe778acSMika WesterbergContact: thunderbolt-software@lists.01.org 190bfe778acSMika WesterbergDescription: This attribute contains unique_id string of this device. 191bfe778acSMika Westerberg This is either read from hardware registers (UUID on 192bfe778acSMika Westerberg newer hardware) or based on UID from the device DROM. 193bfe778acSMika Westerberg Can be used to uniquely identify particular device. 194e6b245ccSMika Westerberg 195e6b245ccSMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../nvm_version 196e6b245ccSMika WesterbergDate: Sep 2017 197e6b245ccSMika WesterbergKernelVersion: 4.13 198e6b245ccSMika WesterbergContact: thunderbolt-software@lists.01.org 199e6b245ccSMika WesterbergDescription: If the device has upgradeable firmware the version 200e6b245ccSMika Westerberg number is available here. Format: %x.%x, major.minor. 201e6b245ccSMika Westerberg If the device is in safe mode reading the file returns 202e6b245ccSMika Westerberg -ENODATA instead as the NVM version is not available. 203e6b245ccSMika Westerberg 204e6b245ccSMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../nvm_authenticate 205e6b245ccSMika WesterbergDate: Sep 2017 206e6b245ccSMika WesterbergKernelVersion: 4.13 207e6b245ccSMika WesterbergContact: thunderbolt-software@lists.01.org 208e6b245ccSMika WesterbergDescription: When new NVM image is written to the non-active NVM 209e6b245ccSMika Westerberg area (through non_activeX NVMem device), the 2104b794f80SMario Limonciello authentication procedure is started by writing to 2114b794f80SMario Limonciello this file. 2124b794f80SMario Limonciello If everything goes well, the device is 213e6b245ccSMika Westerberg restarted with the new NVM firmware. If the image 214e6b245ccSMika Westerberg verification fails an error code is returned instead. 215e6b245ccSMika Westerberg 2164b794f80SMario Limonciello This file will accept writing values "1" or "2" 21754a19b4dSMauro Carvalho Chehab 2184b794f80SMario Limonciello - Writing "1" will flush the image to the storage 2194b794f80SMario Limonciello area and authenticate the image in one action. 2204b794f80SMario Limonciello - Writing "2" will run some basic validation on the image 2214b794f80SMario Limonciello and flush it to the storage area. 2224b794f80SMario Limonciello 223e6b245ccSMika Westerberg When read holds status of the last authentication 224e6b245ccSMika Westerberg operation if an error occurred during the process. This 225e6b245ccSMika Westerberg is directly the status value from the DMA configuration 226e6b245ccSMika Westerberg based mailbox before the device is power cycled. Writing 227e6b245ccSMika Westerberg 0 here clears the status. 228d1ff7024SMika Westerberg 22968977e61SMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../nvm_authenticate_on_disconnect 23068977e61SMika WesterbergDate: Oct 2020 23168977e61SMika WesterbergKernelVersion: v5.9 23268977e61SMika WesterbergContact: Mario Limonciello <mario.limonciello@dell.com> 23368977e61SMika WesterbergDescription: For supported devices, automatically authenticate the new Thunderbolt 23468977e61SMika Westerberg image when the device is disconnected from the host system. 23568977e61SMika Westerberg 23668977e61SMika Westerberg This file will accept writing values "1" or "2" 23768977e61SMika Westerberg 23868977e61SMika Westerberg - Writing "1" will flush the image to the storage 23968977e61SMika Westerberg area and prepare the device for authentication on disconnect. 24068977e61SMika Westerberg - Writing "2" will run some basic validation on the image 24168977e61SMika Westerberg and flush it to the storage area. 24268977e61SMika Westerberg 243d1ff7024SMika WesterbergWhat: /sys/bus/thunderbolt/devices/<xdomain>.<service>/key 244d1ff7024SMika WesterbergDate: Jan 2018 245d1ff7024SMika WesterbergKernelVersion: 4.15 246d1ff7024SMika WesterbergContact: thunderbolt-software@lists.01.org 247d1ff7024SMika WesterbergDescription: This contains name of the property directory the XDomain 248d1ff7024SMika Westerberg service exposes. This entry describes the protocol in 249d1ff7024SMika Westerberg question. Following directories are already reserved by 250d1ff7024SMika Westerberg the Apple XDomain specification: 251d1ff7024SMika Westerberg 25254a19b4dSMauro Carvalho Chehab ======== =============================================== 25354a19b4dSMauro Carvalho Chehab network IP/ethernet over Thunderbolt 25454a19b4dSMauro Carvalho Chehab targetdm Target disk mode protocol over Thunderbolt 25554a19b4dSMauro Carvalho Chehab extdisp External display mode protocol over Thunderbolt 25654a19b4dSMauro Carvalho Chehab ======== =============================================== 257d1ff7024SMika Westerberg 258d1ff7024SMika WesterbergWhat: /sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias 259d1ff7024SMika WesterbergDate: Jan 2018 260d1ff7024SMika WesterbergKernelVersion: 4.15 261d1ff7024SMika WesterbergContact: thunderbolt-software@lists.01.org 262d1ff7024SMika WesterbergDescription: Stores the same MODALIAS value emitted by uevent for 263d1ff7024SMika Westerberg the XDomain service. Format: tbtsvc:kSpNvNrN 264d1ff7024SMika Westerberg 265d1ff7024SMika WesterbergWhat: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcid 266d1ff7024SMika WesterbergDate: Jan 2018 267d1ff7024SMika WesterbergKernelVersion: 4.15 268d1ff7024SMika WesterbergContact: thunderbolt-software@lists.01.org 269d1ff7024SMika WesterbergDescription: This contains XDomain protocol identifier the XDomain 270d1ff7024SMika Westerberg service supports. 271d1ff7024SMika Westerberg 272d1ff7024SMika WesterbergWhat: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcvers 273d1ff7024SMika WesterbergDate: Jan 2018 274d1ff7024SMika WesterbergKernelVersion: 4.15 275d1ff7024SMika WesterbergContact: thunderbolt-software@lists.01.org 276d1ff7024SMika WesterbergDescription: This contains XDomain protocol version the XDomain 277d1ff7024SMika Westerberg service supports. 278d1ff7024SMika Westerberg 279d1ff7024SMika WesterbergWhat: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcrevs 280d1ff7024SMika WesterbergDate: Jan 2018 281d1ff7024SMika WesterbergKernelVersion: 4.15 282d1ff7024SMika WesterbergContact: thunderbolt-software@lists.01.org 283d1ff7024SMika WesterbergDescription: This contains XDomain software version the XDomain 284d1ff7024SMika Westerberg service supports. 285d1ff7024SMika Westerberg 286d1ff7024SMika WesterbergWhat: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcstns 287d1ff7024SMika WesterbergDate: Jan 2018 288d1ff7024SMika WesterbergKernelVersion: 4.15 289d1ff7024SMika WesterbergContact: thunderbolt-software@lists.01.org 290d1ff7024SMika WesterbergDescription: This contains XDomain service specific settings as 291d1ff7024SMika Westerberg bitmask. Format: %x 292dacb1287SKranthi Kuntala 293*cae5f515SMika WesterbergWhat: /sys/bus/thunderbolt/devices/usb4_portX/link 294*cae5f515SMika WesterbergDate: Sep 2021 295*cae5f515SMika WesterbergKernelVersion: v5.14 296*cae5f515SMika WesterbergContact: Mika Westerberg <mika.westerberg@linux.intel.com> 297*cae5f515SMika WesterbergDescription: Returns the current link mode. Possible values are 298*cae5f515SMika Westerberg "usb4", "tbt" and "none". 299*cae5f515SMika Westerberg 300dacb1287SKranthi KuntalaWhat: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/device 301dacb1287SKranthi KuntalaDate: Oct 2020 302dacb1287SKranthi KuntalaKernelVersion: v5.9 303dacb1287SKranthi KuntalaContact: Mika Westerberg <mika.westerberg@linux.intel.com> 304dacb1287SKranthi KuntalaDescription: Retimer device identifier read from the hardware. 305dacb1287SKranthi Kuntala 306dacb1287SKranthi KuntalaWhat: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_authenticate 307dacb1287SKranthi KuntalaDate: Oct 2020 308dacb1287SKranthi KuntalaKernelVersion: v5.9 309dacb1287SKranthi KuntalaContact: Mika Westerberg <mika.westerberg@linux.intel.com> 310dacb1287SKranthi KuntalaDescription: When new NVM image is written to the non-active NVM 311dacb1287SKranthi Kuntala area (through non_activeX NVMem device), the 312dacb1287SKranthi Kuntala authentication procedure is started by writing 1 to 313dacb1287SKranthi Kuntala this file. If everything goes well, the device is 314dacb1287SKranthi Kuntala restarted with the new NVM firmware. If the image 315dacb1287SKranthi Kuntala verification fails an error code is returned instead. 316dacb1287SKranthi Kuntala 317dacb1287SKranthi Kuntala When read holds status of the last authentication 318dacb1287SKranthi Kuntala operation if an error occurred during the process. 319dacb1287SKranthi Kuntala Format: %x. 320dacb1287SKranthi Kuntala 321dacb1287SKranthi KuntalaWhat: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_version 322dacb1287SKranthi KuntalaDate: Oct 2020 323dacb1287SKranthi KuntalaKernelVersion: v5.9 324dacb1287SKranthi KuntalaContact: Mika Westerberg <mika.westerberg@linux.intel.com> 325dacb1287SKranthi KuntalaDescription: Holds retimer NVM version number. Format: %x.%x, major.minor. 326dacb1287SKranthi Kuntala 327dacb1287SKranthi KuntalaWhat: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/vendor 328dacb1287SKranthi KuntalaDate: Oct 2020 329dacb1287SKranthi KuntalaKernelVersion: v5.9 330dacb1287SKranthi KuntalaContact: Mika Westerberg <mika.westerberg@linux.intel.com> 331dacb1287SKranthi KuntalaDescription: Retimer vendor identifier read from the hardware. 332