sysfs-bus-thunderbolt 11 KB

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