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 24dcc3c9e3SMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../domainX/iommu_dma_protection 25dcc3c9e3SMika WesterbergDate: Mar 2019 26dcc3c9e3SMika WesterbergKernelVersion: 4.21 27dcc3c9e3SMika WesterbergContact: thunderbolt-software@lists.01.org 28dcc3c9e3SMika WesterbergDescription: This attribute tells whether the system uses IOMMU 29dcc3c9e3SMika Westerberg for DMA protection. Value of 1 means IOMMU is used 0 means 30dcc3c9e3SMika Westerberg it is not (DMA protection is solely based on Thunderbolt 31dcc3c9e3SMika Westerberg security levels). 32dcc3c9e3SMika Westerberg 33f67cf491SMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../domainX/security 34f67cf491SMika WesterbergDate: Sep 2017 35f67cf491SMika WesterbergKernelVersion: 4.13 36f67cf491SMika WesterbergContact: thunderbolt-software@lists.01.org 37f67cf491SMika WesterbergDescription: This attribute holds current Thunderbolt security level 38f67cf491SMika Westerberg set by the system BIOS. Possible values are: 39f67cf491SMika Westerberg 40*34433332SMauro Carvalho Chehab ======= ================================================== 41*34433332SMauro Carvalho Chehab none All devices are automatically authorized 42*34433332SMauro Carvalho Chehab user Devices are only authorized based on writing 43f67cf491SMika Westerberg appropriate value to the authorized attribute 44*34433332SMauro Carvalho Chehab secure Require devices that support secure connect at 45f67cf491SMika Westerberg minimum. User needs to authorize each device. 46*34433332SMauro Carvalho Chehab dponly Automatically tunnel Display port (and USB). No 47f67cf491SMika Westerberg PCIe tunnels are created. 48*34433332SMauro Carvalho Chehab usbonly Automatically tunnel USB controller of the 496fc14e1aSMika Westerberg connected Thunderbolt dock (and Display Port). All 506fc14e1aSMika Westerberg PCIe links downstream of the dock are removed. 51*34433332SMauro Carvalho Chehab ======= ================================================== 52f67cf491SMika Westerberg 53f67cf491SMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../authorized 54f67cf491SMika WesterbergDate: Sep 2017 55f67cf491SMika WesterbergKernelVersion: 4.13 56f67cf491SMika WesterbergContact: thunderbolt-software@lists.01.org 57f67cf491SMika WesterbergDescription: This attribute is used to authorize Thunderbolt devices 58f67cf491SMika Westerberg after they have been connected. If the device is not 59f67cf491SMika Westerberg authorized, no devices such as PCIe and Display port are 60f67cf491SMika Westerberg available to the system. 61f67cf491SMika Westerberg 62f67cf491SMika Westerberg Contents of this attribute will be 0 when the device is not 63f67cf491SMika Westerberg yet authorized. 64f67cf491SMika Westerberg 65f67cf491SMika Westerberg Possible values are supported: 66*34433332SMauro Carvalho Chehab 67*34433332SMauro Carvalho Chehab == =========================================== 68*34433332SMauro Carvalho Chehab 1 The device will be authorized and connected 69*34433332SMauro Carvalho Chehab == =========================================== 70f67cf491SMika Westerberg 71f67cf491SMika Westerberg When key attribute contains 32 byte hex string the possible 72f67cf491SMika Westerberg values are: 73*34433332SMauro Carvalho Chehab 74*34433332SMauro Carvalho Chehab == ======================================================== 75*34433332SMauro Carvalho Chehab 1 The 32 byte hex string is added to the device NVM and 76f67cf491SMika Westerberg the device is authorized. 77*34433332SMauro Carvalho Chehab 2 Send a challenge based on the 32 byte hex string. If the 78f67cf491SMika Westerberg challenge response from device is valid, the device is 79f67cf491SMika Westerberg authorized. In case of failure errno will be ENOKEY if 80f67cf491SMika Westerberg the device did not contain a key at all, and 81f67cf491SMika Westerberg EKEYREJECTED if the challenge response did not match. 82*34433332SMauro Carvalho Chehab == ======================================================== 83f67cf491SMika Westerberg 8414862ee3SYehezkel BernatWhat: /sys/bus/thunderbolt/devices/.../boot 8514862ee3SYehezkel BernatDate: Jun 2018 8614862ee3SYehezkel BernatKernelVersion: 4.17 8714862ee3SYehezkel BernatContact: thunderbolt-software@lists.01.org 8814862ee3SYehezkel BernatDescription: This attribute contains 1 if Thunderbolt device was already 8914862ee3SYehezkel Bernat authorized on boot and 0 otherwise. 9014862ee3SYehezkel Bernat 91b406357cSChristian KellnerWhat: /sys/bus/thunderbolt/devices/.../generation 92b406357cSChristian KellnerDate: Jan 2020 93b406357cSChristian KellnerKernelVersion: 5.5 94b406357cSChristian KellnerContact: Christian Kellner <christian@kellner.me> 95b406357cSChristian KellnerDescription: This attribute contains the generation of the Thunderbolt 96b406357cSChristian Kellner controller associated with the device. It will contain 4 97b406357cSChristian Kellner for USB4. 98b406357cSChristian Kellner 99f67cf491SMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../key 100f67cf491SMika WesterbergDate: Sep 2017 101f67cf491SMika WesterbergKernelVersion: 4.13 102f67cf491SMika WesterbergContact: thunderbolt-software@lists.01.org 103f67cf491SMika WesterbergDescription: When a devices supports Thunderbolt secure connect it will 104f67cf491SMika Westerberg have this attribute. Writing 32 byte hex string changes 105f67cf491SMika Westerberg authorization to use the secure connection method instead. 106e545f0d8SBernat, Yehezkel Writing an empty string clears the key and regular connection 107e545f0d8SBernat, Yehezkel method can be used again. 108f67cf491SMika Westerberg 109bfe778acSMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../device 110bfe778acSMika WesterbergDate: Sep 2017 111bfe778acSMika WesterbergKernelVersion: 4.13 112bfe778acSMika WesterbergContact: thunderbolt-software@lists.01.org 113bfe778acSMika WesterbergDescription: This attribute contains id of this device extracted from 114bfe778acSMika Westerberg the device DROM. 115bfe778acSMika Westerberg 11672ee3390SMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../device_name 11772ee3390SMika WesterbergDate: Sep 2017 11872ee3390SMika WesterbergKernelVersion: 4.13 11972ee3390SMika WesterbergContact: thunderbolt-software@lists.01.org 12072ee3390SMika WesterbergDescription: This attribute contains name of this device extracted from 12172ee3390SMika Westerberg the device DROM. 12272ee3390SMika Westerberg 12391c0c120SMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../rx_speed 12491c0c120SMika WesterbergDate: Jan 2020 12591c0c120SMika WesterbergKernelVersion: 5.5 12691c0c120SMika WesterbergContact: Mika Westerberg <mika.westerberg@linux.intel.com> 12791c0c120SMika WesterbergDescription: This attribute reports the device RX speed per lane. 12891c0c120SMika Westerberg All RX lanes run at the same speed. 12991c0c120SMika Westerberg 13091c0c120SMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../rx_lanes 13191c0c120SMika WesterbergDate: Jan 2020 13291c0c120SMika WesterbergKernelVersion: 5.5 13391c0c120SMika WesterbergContact: Mika Westerberg <mika.westerberg@linux.intel.com> 13491c0c120SMika WesterbergDescription: This attribute reports number of RX lanes the device is 13591c0c120SMika Westerberg using simultaneusly through its upstream port. 13691c0c120SMika Westerberg 13791c0c120SMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../tx_speed 13891c0c120SMika WesterbergDate: Jan 2020 13991c0c120SMika WesterbergKernelVersion: 5.5 14091c0c120SMika WesterbergContact: Mika Westerberg <mika.westerberg@linux.intel.com> 14191c0c120SMika WesterbergDescription: This attribute reports the TX speed per lane. 14291c0c120SMika Westerberg All TX lanes run at the same speed. 14391c0c120SMika Westerberg 14491c0c120SMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../tx_lanes 14591c0c120SMika WesterbergDate: Jan 2020 14691c0c120SMika WesterbergKernelVersion: 5.5 14791c0c120SMika WesterbergContact: Mika Westerberg <mika.westerberg@linux.intel.com> 14891c0c120SMika WesterbergDescription: This attribute reports number of TX lanes the device is 14991c0c120SMika Westerberg using simultaneusly through its upstream port. 15091c0c120SMika Westerberg 151bfe778acSMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../vendor 152bfe778acSMika WesterbergDate: Sep 2017 153bfe778acSMika WesterbergKernelVersion: 4.13 154bfe778acSMika WesterbergContact: thunderbolt-software@lists.01.org 155bfe778acSMika WesterbergDescription: This attribute contains vendor id of this device extracted 156bfe778acSMika Westerberg from the device DROM. 157bfe778acSMika Westerberg 15872ee3390SMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../vendor_name 15972ee3390SMika WesterbergDate: Sep 2017 16072ee3390SMika WesterbergKernelVersion: 4.13 16172ee3390SMika WesterbergContact: thunderbolt-software@lists.01.org 16272ee3390SMika WesterbergDescription: This attribute contains vendor name of this device extracted 16372ee3390SMika Westerberg from the device DROM. 16472ee3390SMika Westerberg 165bfe778acSMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../unique_id 166bfe778acSMika WesterbergDate: Sep 2017 167bfe778acSMika WesterbergKernelVersion: 4.13 168bfe778acSMika WesterbergContact: thunderbolt-software@lists.01.org 169bfe778acSMika WesterbergDescription: This attribute contains unique_id string of this device. 170bfe778acSMika Westerberg This is either read from hardware registers (UUID on 171bfe778acSMika Westerberg newer hardware) or based on UID from the device DROM. 172bfe778acSMika Westerberg Can be used to uniquely identify particular device. 173e6b245ccSMika Westerberg 174e6b245ccSMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../nvm_version 175e6b245ccSMika WesterbergDate: Sep 2017 176e6b245ccSMika WesterbergKernelVersion: 4.13 177e6b245ccSMika WesterbergContact: thunderbolt-software@lists.01.org 178e6b245ccSMika WesterbergDescription: If the device has upgradeable firmware the version 179e6b245ccSMika Westerberg number is available here. Format: %x.%x, major.minor. 180e6b245ccSMika Westerberg If the device is in safe mode reading the file returns 181e6b245ccSMika Westerberg -ENODATA instead as the NVM version is not available. 182e6b245ccSMika Westerberg 183e6b245ccSMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../nvm_authenticate 184e6b245ccSMika WesterbergDate: Sep 2017 185e6b245ccSMika WesterbergKernelVersion: 4.13 186e6b245ccSMika WesterbergContact: thunderbolt-software@lists.01.org 187e6b245ccSMika WesterbergDescription: When new NVM image is written to the non-active NVM 188e6b245ccSMika Westerberg area (through non_activeX NVMem device), the 1894b794f80SMario Limonciello authentication procedure is started by writing to 1904b794f80SMario Limonciello this file. 1914b794f80SMario Limonciello If everything goes well, the device is 192e6b245ccSMika Westerberg restarted with the new NVM firmware. If the image 193e6b245ccSMika Westerberg verification fails an error code is returned instead. 194e6b245ccSMika Westerberg 1954b794f80SMario Limonciello This file will accept writing values "1" or "2" 1964b794f80SMario Limonciello - Writing "1" will flush the image to the storage 1974b794f80SMario Limonciello area and authenticate the image in one action. 1984b794f80SMario Limonciello - Writing "2" will run some basic validation on the image 1994b794f80SMario Limonciello and flush it to the storage area. 2004b794f80SMario Limonciello 201e6b245ccSMika Westerberg When read holds status of the last authentication 202e6b245ccSMika Westerberg operation if an error occurred during the process. This 203e6b245ccSMika Westerberg is directly the status value from the DMA configuration 204e6b245ccSMika Westerberg based mailbox before the device is power cycled. Writing 205e6b245ccSMika Westerberg 0 here clears the status. 206d1ff7024SMika Westerberg 207d1ff7024SMika WesterbergWhat: /sys/bus/thunderbolt/devices/<xdomain>.<service>/key 208d1ff7024SMika WesterbergDate: Jan 2018 209d1ff7024SMika WesterbergKernelVersion: 4.15 210d1ff7024SMika WesterbergContact: thunderbolt-software@lists.01.org 211d1ff7024SMika WesterbergDescription: This contains name of the property directory the XDomain 212d1ff7024SMika Westerberg service exposes. This entry describes the protocol in 213d1ff7024SMika Westerberg question. Following directories are already reserved by 214d1ff7024SMika Westerberg the Apple XDomain specification: 215d1ff7024SMika Westerberg 216d1ff7024SMika Westerberg network: IP/ethernet over Thunderbolt 217d1ff7024SMika Westerberg targetdm: Target disk mode protocol over Thunderbolt 218d1ff7024SMika Westerberg extdisp: External display mode protocol over Thunderbolt 219d1ff7024SMika Westerberg 220d1ff7024SMika WesterbergWhat: /sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias 221d1ff7024SMika WesterbergDate: Jan 2018 222d1ff7024SMika WesterbergKernelVersion: 4.15 223d1ff7024SMika WesterbergContact: thunderbolt-software@lists.01.org 224d1ff7024SMika WesterbergDescription: Stores the same MODALIAS value emitted by uevent for 225d1ff7024SMika Westerberg the XDomain service. Format: tbtsvc:kSpNvNrN 226d1ff7024SMika Westerberg 227d1ff7024SMika WesterbergWhat: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcid 228d1ff7024SMika WesterbergDate: Jan 2018 229d1ff7024SMika WesterbergKernelVersion: 4.15 230d1ff7024SMika WesterbergContact: thunderbolt-software@lists.01.org 231d1ff7024SMika WesterbergDescription: This contains XDomain protocol identifier the XDomain 232d1ff7024SMika Westerberg service supports. 233d1ff7024SMika Westerberg 234d1ff7024SMika WesterbergWhat: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcvers 235d1ff7024SMika WesterbergDate: Jan 2018 236d1ff7024SMika WesterbergKernelVersion: 4.15 237d1ff7024SMika WesterbergContact: thunderbolt-software@lists.01.org 238d1ff7024SMika WesterbergDescription: This contains XDomain protocol version the XDomain 239d1ff7024SMika Westerberg service supports. 240d1ff7024SMika Westerberg 241d1ff7024SMika WesterbergWhat: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcrevs 242d1ff7024SMika WesterbergDate: Jan 2018 243d1ff7024SMika WesterbergKernelVersion: 4.15 244d1ff7024SMika WesterbergContact: thunderbolt-software@lists.01.org 245d1ff7024SMika WesterbergDescription: This contains XDomain software version the XDomain 246d1ff7024SMika Westerberg service supports. 247d1ff7024SMika Westerberg 248d1ff7024SMika WesterbergWhat: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcstns 249d1ff7024SMika WesterbergDate: Jan 2018 250d1ff7024SMika WesterbergKernelVersion: 4.15 251d1ff7024SMika WesterbergContact: thunderbolt-software@lists.01.org 252d1ff7024SMika WesterbergDescription: This contains XDomain service specific settings as 253d1ff7024SMika Westerberg bitmask. Format: %x 254dacb1287SKranthi Kuntala 255dacb1287SKranthi KuntalaWhat: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/device 256dacb1287SKranthi KuntalaDate: Oct 2020 257dacb1287SKranthi KuntalaKernelVersion: v5.9 258dacb1287SKranthi KuntalaContact: Mika Westerberg <mika.westerberg@linux.intel.com> 259dacb1287SKranthi KuntalaDescription: Retimer device identifier read from the hardware. 260dacb1287SKranthi Kuntala 261dacb1287SKranthi KuntalaWhat: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_authenticate 262dacb1287SKranthi KuntalaDate: Oct 2020 263dacb1287SKranthi KuntalaKernelVersion: v5.9 264dacb1287SKranthi KuntalaContact: Mika Westerberg <mika.westerberg@linux.intel.com> 265dacb1287SKranthi KuntalaDescription: When new NVM image is written to the non-active NVM 266dacb1287SKranthi Kuntala area (through non_activeX NVMem device), the 267dacb1287SKranthi Kuntala authentication procedure is started by writing 1 to 268dacb1287SKranthi Kuntala this file. If everything goes well, the device is 269dacb1287SKranthi Kuntala restarted with the new NVM firmware. If the image 270dacb1287SKranthi Kuntala verification fails an error code is returned instead. 271dacb1287SKranthi Kuntala 272dacb1287SKranthi Kuntala When read holds status of the last authentication 273dacb1287SKranthi Kuntala operation if an error occurred during the process. 274dacb1287SKranthi Kuntala Format: %x. 275dacb1287SKranthi Kuntala 276dacb1287SKranthi KuntalaWhat: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_version 277dacb1287SKranthi KuntalaDate: Oct 2020 278dacb1287SKranthi KuntalaKernelVersion: v5.9 279dacb1287SKranthi KuntalaContact: Mika Westerberg <mika.westerberg@linux.intel.com> 280dacb1287SKranthi KuntalaDescription: Holds retimer NVM version number. Format: %x.%x, major.minor. 281dacb1287SKranthi Kuntala 282dacb1287SKranthi KuntalaWhat: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/vendor 283dacb1287SKranthi KuntalaDate: Oct 2020 284dacb1287SKranthi KuntalaKernelVersion: v5.9 285dacb1287SKranthi KuntalaContact: Mika Westerberg <mika.westerberg@linux.intel.com> 286dacb1287SKranthi KuntalaDescription: Retimer vendor identifier read from the hardware. 2871cb36293SMario Limonciello 2881cb36293SMario LimoncielloWhat: /sys/bus/thunderbolt/devices/.../nvm_authenticate_on_disconnect 2891cb36293SMario LimoncielloDate: Oct 2020 2901cb36293SMario LimoncielloKernelVersion: v5.9 2911cb36293SMario LimoncielloContact: Mario Limonciello <mario.limonciello@dell.com> 2921cb36293SMario LimoncielloDescription: For supported devices, automatically authenticate the new Thunderbolt 2931cb36293SMario Limonciello image when the device is disconnected from the host system. 2941cb36293SMario Limonciello 2951cb36293SMario Limonciello This file will accept writing values "1" or "2" 2961cb36293SMario Limonciello - Writing "1" will flush the image to the storage 2971cb36293SMario Limonciello area and prepare the device for authentication on disconnect. 2981cb36293SMario Limonciello - Writing "2" will run some basic validation on the image 2991cb36293SMario Limonciello and flush it to the storage area. 300