18c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/.../domainX/boot_acl 28c2ecf20Sopenharmony_ciDate: Jun 2018 38c2ecf20Sopenharmony_ciKernelVersion: 4.17 48c2ecf20Sopenharmony_ciContact: thunderbolt-software@lists.01.org 58c2ecf20Sopenharmony_ciDescription: Holds a comma separated list of device unique_ids that 68c2ecf20Sopenharmony_ci are allowed to be connected automatically during system 78c2ecf20Sopenharmony_ci startup (e.g boot devices). The list always contains 88c2ecf20Sopenharmony_ci maximum supported number of unique_ids where unused 98c2ecf20Sopenharmony_ci entries are empty. This allows the userspace software 108c2ecf20Sopenharmony_ci to determine how many entries the controller supports. 118c2ecf20Sopenharmony_ci If there are multiple controllers, each controller has 128c2ecf20Sopenharmony_ci its own ACL list and size may be different between the 138c2ecf20Sopenharmony_ci controllers. 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci System BIOS may have an option "Preboot ACL" or similar 168c2ecf20Sopenharmony_ci that needs to be selected before this list is taken into 178c2ecf20Sopenharmony_ci consideration. 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci Software always updates a full list in each write. 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ci If a device is authorized automatically during boot its 228c2ecf20Sopenharmony_ci boot attribute is set to 1. 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/.../domainX/iommu_dma_protection 258c2ecf20Sopenharmony_ciDate: Mar 2019 268c2ecf20Sopenharmony_ciKernelVersion: 4.21 278c2ecf20Sopenharmony_ciContact: thunderbolt-software@lists.01.org 288c2ecf20Sopenharmony_ciDescription: This attribute tells whether the system uses IOMMU 298c2ecf20Sopenharmony_ci for DMA protection. Value of 1 means IOMMU is used 0 means 308c2ecf20Sopenharmony_ci it is not (DMA protection is solely based on Thunderbolt 318c2ecf20Sopenharmony_ci security levels). 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/.../domainX/security 348c2ecf20Sopenharmony_ciDate: Sep 2017 358c2ecf20Sopenharmony_ciKernelVersion: 4.13 368c2ecf20Sopenharmony_ciContact: thunderbolt-software@lists.01.org 378c2ecf20Sopenharmony_ciDescription: This attribute holds current Thunderbolt security level 388c2ecf20Sopenharmony_ci set by the system BIOS. Possible values are: 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci ======= ================================================== 418c2ecf20Sopenharmony_ci none All devices are automatically authorized 428c2ecf20Sopenharmony_ci user Devices are only authorized based on writing 438c2ecf20Sopenharmony_ci appropriate value to the authorized attribute 448c2ecf20Sopenharmony_ci secure Require devices that support secure connect at 458c2ecf20Sopenharmony_ci minimum. User needs to authorize each device. 468c2ecf20Sopenharmony_ci dponly Automatically tunnel Display port (and USB). No 478c2ecf20Sopenharmony_ci PCIe tunnels are created. 488c2ecf20Sopenharmony_ci usbonly Automatically tunnel USB controller of the 498c2ecf20Sopenharmony_ci connected Thunderbolt dock (and Display Port). All 508c2ecf20Sopenharmony_ci PCIe links downstream of the dock are removed. 518c2ecf20Sopenharmony_ci ======= ================================================== 528c2ecf20Sopenharmony_ci 538c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/.../authorized 548c2ecf20Sopenharmony_ciDate: Sep 2017 558c2ecf20Sopenharmony_ciKernelVersion: 4.13 568c2ecf20Sopenharmony_ciContact: thunderbolt-software@lists.01.org 578c2ecf20Sopenharmony_ciDescription: This attribute is used to authorize Thunderbolt devices 588c2ecf20Sopenharmony_ci after they have been connected. If the device is not 598c2ecf20Sopenharmony_ci authorized, no devices such as PCIe and Display port are 608c2ecf20Sopenharmony_ci available to the system. 618c2ecf20Sopenharmony_ci 628c2ecf20Sopenharmony_ci Contents of this attribute will be 0 when the device is not 638c2ecf20Sopenharmony_ci yet authorized. 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_ci Possible values are supported: 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_ci == =========================================== 688c2ecf20Sopenharmony_ci 1 The device will be authorized and connected 698c2ecf20Sopenharmony_ci == =========================================== 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ci When key attribute contains 32 byte hex string the possible 728c2ecf20Sopenharmony_ci values are: 738c2ecf20Sopenharmony_ci 748c2ecf20Sopenharmony_ci == ======================================================== 758c2ecf20Sopenharmony_ci 1 The 32 byte hex string is added to the device NVM and 768c2ecf20Sopenharmony_ci the device is authorized. 778c2ecf20Sopenharmony_ci 2 Send a challenge based on the 32 byte hex string. If the 788c2ecf20Sopenharmony_ci challenge response from device is valid, the device is 798c2ecf20Sopenharmony_ci authorized. In case of failure errno will be ENOKEY if 808c2ecf20Sopenharmony_ci the device did not contain a key at all, and 818c2ecf20Sopenharmony_ci EKEYREJECTED if the challenge response did not match. 828c2ecf20Sopenharmony_ci == ======================================================== 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/.../boot 858c2ecf20Sopenharmony_ciDate: Jun 2018 868c2ecf20Sopenharmony_ciKernelVersion: 4.17 878c2ecf20Sopenharmony_ciContact: thunderbolt-software@lists.01.org 888c2ecf20Sopenharmony_ciDescription: This attribute contains 1 if Thunderbolt device was already 898c2ecf20Sopenharmony_ci authorized on boot and 0 otherwise. 908c2ecf20Sopenharmony_ci 918c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/.../generation 928c2ecf20Sopenharmony_ciDate: Jan 2020 938c2ecf20Sopenharmony_ciKernelVersion: 5.5 948c2ecf20Sopenharmony_ciContact: Christian Kellner <christian@kellner.me> 958c2ecf20Sopenharmony_ciDescription: This attribute contains the generation of the Thunderbolt 968c2ecf20Sopenharmony_ci controller associated with the device. It will contain 4 978c2ecf20Sopenharmony_ci for USB4. 988c2ecf20Sopenharmony_ci 998c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/.../key 1008c2ecf20Sopenharmony_ciDate: Sep 2017 1018c2ecf20Sopenharmony_ciKernelVersion: 4.13 1028c2ecf20Sopenharmony_ciContact: thunderbolt-software@lists.01.org 1038c2ecf20Sopenharmony_ciDescription: When a devices supports Thunderbolt secure connect it will 1048c2ecf20Sopenharmony_ci have this attribute. Writing 32 byte hex string changes 1058c2ecf20Sopenharmony_ci authorization to use the secure connection method instead. 1068c2ecf20Sopenharmony_ci Writing an empty string clears the key and regular connection 1078c2ecf20Sopenharmony_ci method can be used again. 1088c2ecf20Sopenharmony_ci 1098c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/.../device 1108c2ecf20Sopenharmony_ciDate: Sep 2017 1118c2ecf20Sopenharmony_ciKernelVersion: 4.13 1128c2ecf20Sopenharmony_ciContact: thunderbolt-software@lists.01.org 1138c2ecf20Sopenharmony_ciDescription: This attribute contains id of this device extracted from 1148c2ecf20Sopenharmony_ci the device DROM. 1158c2ecf20Sopenharmony_ci 1168c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/.../device_name 1178c2ecf20Sopenharmony_ciDate: Sep 2017 1188c2ecf20Sopenharmony_ciKernelVersion: 4.13 1198c2ecf20Sopenharmony_ciContact: thunderbolt-software@lists.01.org 1208c2ecf20Sopenharmony_ciDescription: This attribute contains name of this device extracted from 1218c2ecf20Sopenharmony_ci the device DROM. 1228c2ecf20Sopenharmony_ci 1238c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/.../rx_speed 1248c2ecf20Sopenharmony_ciDate: Jan 2020 1258c2ecf20Sopenharmony_ciKernelVersion: 5.5 1268c2ecf20Sopenharmony_ciContact: Mika Westerberg <mika.westerberg@linux.intel.com> 1278c2ecf20Sopenharmony_ciDescription: This attribute reports the device RX speed per lane. 1288c2ecf20Sopenharmony_ci All RX lanes run at the same speed. 1298c2ecf20Sopenharmony_ci 1308c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/.../rx_lanes 1318c2ecf20Sopenharmony_ciDate: Jan 2020 1328c2ecf20Sopenharmony_ciKernelVersion: 5.5 1338c2ecf20Sopenharmony_ciContact: Mika Westerberg <mika.westerberg@linux.intel.com> 1348c2ecf20Sopenharmony_ciDescription: This attribute reports number of RX lanes the device is 1358c2ecf20Sopenharmony_ci using simultaneusly through its upstream port. 1368c2ecf20Sopenharmony_ci 1378c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/.../tx_speed 1388c2ecf20Sopenharmony_ciDate: Jan 2020 1398c2ecf20Sopenharmony_ciKernelVersion: 5.5 1408c2ecf20Sopenharmony_ciContact: Mika Westerberg <mika.westerberg@linux.intel.com> 1418c2ecf20Sopenharmony_ciDescription: This attribute reports the TX speed per lane. 1428c2ecf20Sopenharmony_ci All TX lanes run at the same speed. 1438c2ecf20Sopenharmony_ci 1448c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/.../tx_lanes 1458c2ecf20Sopenharmony_ciDate: Jan 2020 1468c2ecf20Sopenharmony_ciKernelVersion: 5.5 1478c2ecf20Sopenharmony_ciContact: Mika Westerberg <mika.westerberg@linux.intel.com> 1488c2ecf20Sopenharmony_ciDescription: This attribute reports number of TX lanes the device is 1498c2ecf20Sopenharmony_ci using simultaneusly through its upstream port. 1508c2ecf20Sopenharmony_ci 1518c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/.../vendor 1528c2ecf20Sopenharmony_ciDate: Sep 2017 1538c2ecf20Sopenharmony_ciKernelVersion: 4.13 1548c2ecf20Sopenharmony_ciContact: thunderbolt-software@lists.01.org 1558c2ecf20Sopenharmony_ciDescription: This attribute contains vendor id of this device extracted 1568c2ecf20Sopenharmony_ci from the device DROM. 1578c2ecf20Sopenharmony_ci 1588c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/.../vendor_name 1598c2ecf20Sopenharmony_ciDate: Sep 2017 1608c2ecf20Sopenharmony_ciKernelVersion: 4.13 1618c2ecf20Sopenharmony_ciContact: thunderbolt-software@lists.01.org 1628c2ecf20Sopenharmony_ciDescription: This attribute contains vendor name of this device extracted 1638c2ecf20Sopenharmony_ci from the device DROM. 1648c2ecf20Sopenharmony_ci 1658c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/.../unique_id 1668c2ecf20Sopenharmony_ciDate: Sep 2017 1678c2ecf20Sopenharmony_ciKernelVersion: 4.13 1688c2ecf20Sopenharmony_ciContact: thunderbolt-software@lists.01.org 1698c2ecf20Sopenharmony_ciDescription: This attribute contains unique_id string of this device. 1708c2ecf20Sopenharmony_ci This is either read from hardware registers (UUID on 1718c2ecf20Sopenharmony_ci newer hardware) or based on UID from the device DROM. 1728c2ecf20Sopenharmony_ci Can be used to uniquely identify particular device. 1738c2ecf20Sopenharmony_ci 1748c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/.../nvm_version 1758c2ecf20Sopenharmony_ciDate: Sep 2017 1768c2ecf20Sopenharmony_ciKernelVersion: 4.13 1778c2ecf20Sopenharmony_ciContact: thunderbolt-software@lists.01.org 1788c2ecf20Sopenharmony_ciDescription: If the device has upgradeable firmware the version 1798c2ecf20Sopenharmony_ci number is available here. Format: %x.%x, major.minor. 1808c2ecf20Sopenharmony_ci If the device is in safe mode reading the file returns 1818c2ecf20Sopenharmony_ci -ENODATA instead as the NVM version is not available. 1828c2ecf20Sopenharmony_ci 1838c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/.../nvm_authenticate 1848c2ecf20Sopenharmony_ciDate: Sep 2017 1858c2ecf20Sopenharmony_ciKernelVersion: 4.13 1868c2ecf20Sopenharmony_ciContact: thunderbolt-software@lists.01.org 1878c2ecf20Sopenharmony_ciDescription: When new NVM image is written to the non-active NVM 1888c2ecf20Sopenharmony_ci area (through non_activeX NVMem device), the 1898c2ecf20Sopenharmony_ci authentication procedure is started by writing to 1908c2ecf20Sopenharmony_ci this file. 1918c2ecf20Sopenharmony_ci If everything goes well, the device is 1928c2ecf20Sopenharmony_ci restarted with the new NVM firmware. If the image 1938c2ecf20Sopenharmony_ci verification fails an error code is returned instead. 1948c2ecf20Sopenharmony_ci 1958c2ecf20Sopenharmony_ci This file will accept writing values "1" or "2" 1968c2ecf20Sopenharmony_ci 1978c2ecf20Sopenharmony_ci - Writing "1" will flush the image to the storage 1988c2ecf20Sopenharmony_ci area and authenticate the image in one action. 1998c2ecf20Sopenharmony_ci - Writing "2" will run some basic validation on the image 2008c2ecf20Sopenharmony_ci and flush it to the storage area. 2018c2ecf20Sopenharmony_ci 2028c2ecf20Sopenharmony_ci When read holds status of the last authentication 2038c2ecf20Sopenharmony_ci operation if an error occurred during the process. This 2048c2ecf20Sopenharmony_ci is directly the status value from the DMA configuration 2058c2ecf20Sopenharmony_ci based mailbox before the device is power cycled. Writing 2068c2ecf20Sopenharmony_ci 0 here clears the status. 2078c2ecf20Sopenharmony_ci 2088c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/<xdomain>.<service>/key 2098c2ecf20Sopenharmony_ciDate: Jan 2018 2108c2ecf20Sopenharmony_ciKernelVersion: 4.15 2118c2ecf20Sopenharmony_ciContact: thunderbolt-software@lists.01.org 2128c2ecf20Sopenharmony_ciDescription: This contains name of the property directory the XDomain 2138c2ecf20Sopenharmony_ci service exposes. This entry describes the protocol in 2148c2ecf20Sopenharmony_ci question. Following directories are already reserved by 2158c2ecf20Sopenharmony_ci the Apple XDomain specification: 2168c2ecf20Sopenharmony_ci 2178c2ecf20Sopenharmony_ci ======== =============================================== 2188c2ecf20Sopenharmony_ci network IP/ethernet over Thunderbolt 2198c2ecf20Sopenharmony_ci targetdm Target disk mode protocol over Thunderbolt 2208c2ecf20Sopenharmony_ci extdisp External display mode protocol over Thunderbolt 2218c2ecf20Sopenharmony_ci ======== =============================================== 2228c2ecf20Sopenharmony_ci 2238c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias 2248c2ecf20Sopenharmony_ciDate: Jan 2018 2258c2ecf20Sopenharmony_ciKernelVersion: 4.15 2268c2ecf20Sopenharmony_ciContact: thunderbolt-software@lists.01.org 2278c2ecf20Sopenharmony_ciDescription: Stores the same MODALIAS value emitted by uevent for 2288c2ecf20Sopenharmony_ci the XDomain service. Format: tbtsvc:kSpNvNrN 2298c2ecf20Sopenharmony_ci 2308c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcid 2318c2ecf20Sopenharmony_ciDate: Jan 2018 2328c2ecf20Sopenharmony_ciKernelVersion: 4.15 2338c2ecf20Sopenharmony_ciContact: thunderbolt-software@lists.01.org 2348c2ecf20Sopenharmony_ciDescription: This contains XDomain protocol identifier the XDomain 2358c2ecf20Sopenharmony_ci service supports. 2368c2ecf20Sopenharmony_ci 2378c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcvers 2388c2ecf20Sopenharmony_ciDate: Jan 2018 2398c2ecf20Sopenharmony_ciKernelVersion: 4.15 2408c2ecf20Sopenharmony_ciContact: thunderbolt-software@lists.01.org 2418c2ecf20Sopenharmony_ciDescription: This contains XDomain protocol version the XDomain 2428c2ecf20Sopenharmony_ci service supports. 2438c2ecf20Sopenharmony_ci 2448c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcrevs 2458c2ecf20Sopenharmony_ciDate: Jan 2018 2468c2ecf20Sopenharmony_ciKernelVersion: 4.15 2478c2ecf20Sopenharmony_ciContact: thunderbolt-software@lists.01.org 2488c2ecf20Sopenharmony_ciDescription: This contains XDomain software version the XDomain 2498c2ecf20Sopenharmony_ci service supports. 2508c2ecf20Sopenharmony_ci 2518c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcstns 2528c2ecf20Sopenharmony_ciDate: Jan 2018 2538c2ecf20Sopenharmony_ciKernelVersion: 4.15 2548c2ecf20Sopenharmony_ciContact: thunderbolt-software@lists.01.org 2558c2ecf20Sopenharmony_ciDescription: This contains XDomain service specific settings as 2568c2ecf20Sopenharmony_ci bitmask. Format: %x 2578c2ecf20Sopenharmony_ci 2588c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/device 2598c2ecf20Sopenharmony_ciDate: Oct 2020 2608c2ecf20Sopenharmony_ciKernelVersion: v5.9 2618c2ecf20Sopenharmony_ciContact: Mika Westerberg <mika.westerberg@linux.intel.com> 2628c2ecf20Sopenharmony_ciDescription: Retimer device identifier read from the hardware. 2638c2ecf20Sopenharmony_ci 2648c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_authenticate 2658c2ecf20Sopenharmony_ciDate: Oct 2020 2668c2ecf20Sopenharmony_ciKernelVersion: v5.9 2678c2ecf20Sopenharmony_ciContact: Mika Westerberg <mika.westerberg@linux.intel.com> 2688c2ecf20Sopenharmony_ciDescription: When new NVM image is written to the non-active NVM 2698c2ecf20Sopenharmony_ci area (through non_activeX NVMem device), the 2708c2ecf20Sopenharmony_ci authentication procedure is started by writing 1 to 2718c2ecf20Sopenharmony_ci this file. If everything goes well, the device is 2728c2ecf20Sopenharmony_ci restarted with the new NVM firmware. If the image 2738c2ecf20Sopenharmony_ci verification fails an error code is returned instead. 2748c2ecf20Sopenharmony_ci 2758c2ecf20Sopenharmony_ci When read holds status of the last authentication 2768c2ecf20Sopenharmony_ci operation if an error occurred during the process. 2778c2ecf20Sopenharmony_ci Format: %x. 2788c2ecf20Sopenharmony_ci 2798c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_version 2808c2ecf20Sopenharmony_ciDate: Oct 2020 2818c2ecf20Sopenharmony_ciKernelVersion: v5.9 2828c2ecf20Sopenharmony_ciContact: Mika Westerberg <mika.westerberg@linux.intel.com> 2838c2ecf20Sopenharmony_ciDescription: Holds retimer NVM version number. Format: %x.%x, major.minor. 2848c2ecf20Sopenharmony_ci 2858c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/vendor 2868c2ecf20Sopenharmony_ciDate: Oct 2020 2878c2ecf20Sopenharmony_ciKernelVersion: v5.9 2888c2ecf20Sopenharmony_ciContact: Mika Westerberg <mika.westerberg@linux.intel.com> 2898c2ecf20Sopenharmony_ciDescription: Retimer vendor identifier read from the hardware. 2908c2ecf20Sopenharmony_ci 2918c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/.../nvm_authenticate_on_disconnect 2928c2ecf20Sopenharmony_ciDate: Oct 2020 2938c2ecf20Sopenharmony_ciKernelVersion: v5.9 2948c2ecf20Sopenharmony_ciContact: Mario Limonciello <mario.limonciello@dell.com> 2958c2ecf20Sopenharmony_ciDescription: For supported devices, automatically authenticate the new Thunderbolt 2968c2ecf20Sopenharmony_ci image when the device is disconnected from the host system. 2978c2ecf20Sopenharmony_ci 2988c2ecf20Sopenharmony_ci This file will accept writing values "1" or "2" 2998c2ecf20Sopenharmony_ci 3008c2ecf20Sopenharmony_ci - Writing "1" will flush the image to the storage 3018c2ecf20Sopenharmony_ci area and prepare the device for authentication on disconnect. 3028c2ecf20Sopenharmony_ci - Writing "2" will run some basic validation on the image 3038c2ecf20Sopenharmony_ci and flush it to the storage area. 304