Loading...
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/deauthorization
25Date: May 2021
26KernelVersion: 5.12
27Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
28Description: This attribute tells whether the system supports
29 de-authorization of devices. Value of 1 means user can
30 de-authorize PCIe tunnel by writing 0 to authorized
31 attribute under each device.
32
33What: /sys/bus/thunderbolt/devices/.../domainX/iommu_dma_protection
34Date: Mar 2019
35KernelVersion: 4.21
36Contact: thunderbolt-software@lists.01.org
37Description: This attribute tells whether the system uses IOMMU
38 for DMA protection. Value of 1 means IOMMU is used 0 means
39 it is not (DMA protection is solely based on Thunderbolt
40 security levels).
41
42What: /sys/bus/thunderbolt/devices/.../domainX/security
43Date: Sep 2017
44KernelVersion: 4.13
45Contact: thunderbolt-software@lists.01.org
46Description: This attribute holds current Thunderbolt security level
47 set by the system BIOS. Possible values are:
48
49 ======= ==================================================
50 none All devices are automatically authorized
51 user Devices are only authorized based on writing
52 appropriate value to the authorized attribute
53 secure Require devices that support secure connect at
54 minimum. User needs to authorize each device.
55 dponly Automatically tunnel Display port (and USB). No
56 PCIe tunnels are created.
57 usbonly Automatically tunnel USB controller of the
58 connected Thunderbolt dock (and Display Port). All
59 PCIe links downstream of the dock are removed.
60 nopcie USB4 system where PCIe tunneling is disabled from
61 the BIOS.
62 ======= ==================================================
63
64What: /sys/bus/thunderbolt/devices/.../authorized
65Date: Sep 2017
66KernelVersion: 4.13
67Contact: thunderbolt-software@lists.01.org
68Description: This attribute is used to authorize Thunderbolt devices
69 after they have been connected. If the device is not
70 authorized, no PCIe devices are available to the system.
71
72 Contents of this attribute will be 0 when the device is not
73 yet authorized.
74
75 Possible values are supported:
76
77 == ===================================================
78 0 The device will be de-authorized (only supported if
79 deauthorization attribute under domain contains 1)
80 1 The device will be authorized and connected
81 == ===================================================
82
83 When key attribute contains 32 byte hex string the possible
84 values are:
85
86 == ========================================================
87 0 The device will be de-authorized (only supported if
88 deauthorization attribute under domain contains 1)
89 1 The 32 byte hex string is added to the device NVM and
90 the device is authorized.
91 2 Send a challenge based on the 32 byte hex string. If the
92 challenge response from device is valid, the device is
93 authorized. In case of failure errno will be ENOKEY if
94 the device did not contain a key at all, and
95 EKEYREJECTED if the challenge response did not match.
96 == ========================================================
97
98What: /sys/bus/thunderbolt/devices/.../boot
99Date: Jun 2018
100KernelVersion: 4.17
101Contact: thunderbolt-software@lists.01.org
102Description: This attribute contains 1 if Thunderbolt device was already
103 authorized on boot and 0 otherwise.
104
105What: /sys/bus/thunderbolt/devices/.../generation
106Date: Jan 2020
107KernelVersion: 5.5
108Contact: Christian Kellner <christian@kellner.me>
109Description: This attribute contains the generation of the Thunderbolt
110 controller associated with the device. It will contain 4
111 for USB4.
112
113What: /sys/bus/thunderbolt/devices/.../key
114Date: Sep 2017
115KernelVersion: 4.13
116Contact: thunderbolt-software@lists.01.org
117Description: When a devices supports Thunderbolt secure connect it will
118 have this attribute. Writing 32 byte hex string changes
119 authorization to use the secure connection method instead.
120 Writing an empty string clears the key and regular connection
121 method can be used again.
122
123What: /sys/bus/thunderbolt/devices/.../device
124Date: Sep 2017
125KernelVersion: 4.13
126Contact: thunderbolt-software@lists.01.org
127Description: This attribute contains id of this device extracted from
128 the device DROM.
129
130What: /sys/bus/thunderbolt/devices/.../device_name
131Date: Sep 2017
132KernelVersion: 4.13
133Contact: thunderbolt-software@lists.01.org
134Description: This attribute contains name of this device extracted from
135 the device DROM.
136
137What: /sys/bus/thunderbolt/devices/.../maxhopid
138Date: Jul 2021
139KernelVersion: 5.13
140Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
141Description: Only set for XDomains. The maximum HopID the other host
142 supports as its input HopID.
143
144What: /sys/bus/thunderbolt/devices/.../rx_speed
145Date: Jan 2020
146KernelVersion: 5.5
147Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
148Description: This attribute reports the device RX speed per lane.
149 All RX lanes run at the same speed.
150
151What: /sys/bus/thunderbolt/devices/.../rx_lanes
152Date: Jan 2020
153KernelVersion: 5.5
154Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
155Description: This attribute reports number of RX lanes the device is
156 using simultaneously through its upstream port.
157
158What: /sys/bus/thunderbolt/devices/.../tx_speed
159Date: Jan 2020
160KernelVersion: 5.5
161Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
162Description: This attribute reports the TX speed per lane.
163 All TX lanes run at the same speed.
164
165What: /sys/bus/thunderbolt/devices/.../tx_lanes
166Date: Jan 2020
167KernelVersion: 5.5
168Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
169Description: This attribute reports number of TX lanes the device is
170 using simultaneously through its upstream port.
171
172What: /sys/bus/thunderbolt/devices/.../vendor
173Date: Sep 2017
174KernelVersion: 4.13
175Contact: thunderbolt-software@lists.01.org
176Description: This attribute contains vendor id of this device extracted
177 from the device DROM.
178
179What: /sys/bus/thunderbolt/devices/.../vendor_name
180Date: Sep 2017
181KernelVersion: 4.13
182Contact: thunderbolt-software@lists.01.org
183Description: This attribute contains vendor name of this device extracted
184 from the device DROM.
185
186What: /sys/bus/thunderbolt/devices/.../unique_id
187Date: Sep 2017
188KernelVersion: 4.13
189Contact: thunderbolt-software@lists.01.org
190Description: This attribute contains unique_id string of this device.
191 This is either read from hardware registers (UUID on
192 newer hardware) or based on UID from the device DROM.
193 Can be used to uniquely identify particular device.
194
195What: /sys/bus/thunderbolt/devices/.../nvm_version
196Date: Sep 2017
197KernelVersion: 4.13
198Contact: thunderbolt-software@lists.01.org
199Description: If the device has upgradeable firmware the version
200 number is available here. Format: %x.%x, major.minor.
201 If the device is in safe mode reading the file returns
202 -ENODATA instead as the NVM version is not available.
203
204What: /sys/bus/thunderbolt/devices/.../nvm_authenticate
205Date: Sep 2017
206KernelVersion: 4.13
207Contact: thunderbolt-software@lists.01.org
208Description: When new NVM image is written to the non-active NVM
209 area (through non_activeX NVMem device), the
210 authentication procedure is started by writing to
211 this file.
212 If everything goes well, the device is
213 restarted with the new NVM firmware. If the image
214 verification fails an error code is returned instead.
215
216 This file will accept writing values "1", "2" or "3".
217
218 - Writing "1" will flush the image to the storage
219 area and authenticate the image in one action.
220 - Writing "2" will run some basic validation on the image
221 and flush it to the storage area.
222 - Writing "3" will authenticate the image that is
223 currently written in the storage area. This is only
224 supported with USB4 devices and retimers.
225
226 When read holds status of the last authentication
227 operation if an error occurred during the process. This
228 is directly the status value from the DMA configuration
229 based mailbox before the device is power cycled. Writing
230 0 here clears the status.
231
232What: /sys/bus/thunderbolt/devices/.../nvm_authenticate_on_disconnect
233Date: Oct 2020
234KernelVersion: v5.9
235Contact: Mario Limonciello <mario.limonciello@outlook.com>
236Description: For supported devices, automatically authenticate the new Thunderbolt
237 image when the device is disconnected from the host system.
238
239 This file will accept writing values "1" or "2"
240
241 - Writing "1" will flush the image to the storage
242 area and prepare the device for authentication on disconnect.
243 - Writing "2" will run some basic validation on the image
244 and flush it to the storage area.
245
246What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/key
247Date: Jan 2018
248KernelVersion: 4.15
249Contact: thunderbolt-software@lists.01.org
250Description: This contains name of the property directory the XDomain
251 service exposes. This entry describes the protocol in
252 question. Following directories are already reserved by
253 the Apple XDomain specification:
254
255 ======== ===============================================
256 network IP/ethernet over Thunderbolt
257 targetdm Target disk mode protocol over Thunderbolt
258 extdisp External display mode protocol over Thunderbolt
259 ======== ===============================================
260
261What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias
262Date: Jan 2018
263KernelVersion: 4.15
264Contact: thunderbolt-software@lists.01.org
265Description: Stores the same MODALIAS value emitted by uevent for
266 the XDomain service. Format: tbtsvc:kSpNvNrN
267
268What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcid
269Date: Jan 2018
270KernelVersion: 4.15
271Contact: thunderbolt-software@lists.01.org
272Description: This contains XDomain protocol identifier the XDomain
273 service supports.
274
275What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcvers
276Date: Jan 2018
277KernelVersion: 4.15
278Contact: thunderbolt-software@lists.01.org
279Description: This contains XDomain protocol version the XDomain
280 service supports.
281
282What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcrevs
283Date: Jan 2018
284KernelVersion: 4.15
285Contact: thunderbolt-software@lists.01.org
286Description: This contains XDomain software version the XDomain
287 service supports.
288
289What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcstns
290Date: Jan 2018
291KernelVersion: 4.15
292Contact: thunderbolt-software@lists.01.org
293Description: This contains XDomain service specific settings as
294 bitmask. Format: %x
295
296What: /sys/bus/thunderbolt/devices/usb4_portX/connector
297Date: April 2022
298Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
299Description:
300 Symlink to the USB Type-C connector. This link is only
301 created when USB Type-C Connector Class is enabled,
302 and only if the system firmware is capable of
303 describing the connection between a port and its
304 connector.
305
306What: /sys/bus/thunderbolt/devices/usb4_portX/link
307Date: Sep 2021
308KernelVersion: v5.14
309Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
310Description: Returns the current link mode. Possible values are
311 "usb4", "tbt" and "none".
312
313What: /sys/bus/thunderbolt/devices/usb4_portX/offline
314Date: Sep 2021
315KernelVersion: v5.14
316Contact: Rajmohan Mani <rajmohan.mani@intel.com>
317Description: Writing 1 to this attribute puts the USB4 port into
318 offline mode. Only allowed when there is nothing
319 connected to the port (link attribute returns "none").
320 Once the port is in offline mode it does not receive any
321 hotplug events. This is used to update NVM firmware of
322 on-board retimers. Writing 0 puts the port back to
323 online mode.
324
325 This attribute is only visible if the platform supports
326 powering on retimers when there is no cable connected.
327
328What: /sys/bus/thunderbolt/devices/usb4_portX/rescan
329Date: Sep 2021
330KernelVersion: v5.14
331Contact: Rajmohan Mani <rajmohan.mani@intel.com>
332Description: When the USB4 port is in offline mode writing 1 to this
333 attribute forces rescan of the sideband for on-board
334 retimers. Each retimer appear under the USB4 port as if
335 the USB4 link was up. These retimers act in the same way
336 as if the cable was connected so upgrading their NVM
337 firmware can be done the usual way.
338
339What: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/device
340Date: Oct 2020
341KernelVersion: v5.9
342Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
343Description: Retimer device identifier read from the hardware.
344
345What: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_authenticate
346Date: Oct 2020
347KernelVersion: v5.9
348Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
349Description: When new NVM image is written to the non-active NVM
350 area (through non_activeX NVMem device), the
351 authentication procedure is started by writing 1 to
352 this file. If everything goes well, the device is
353 restarted with the new NVM firmware. If the image
354 verification fails an error code is returned instead.
355
356 When read holds status of the last authentication
357 operation if an error occurred during the process.
358 Format: %x.
359
360What: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_version
361Date: Oct 2020
362KernelVersion: v5.9
363Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
364Description: Holds retimer NVM version number. Format: %x.%x, major.minor.
365
366What: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/vendor
367Date: Oct 2020
368KernelVersion: v5.9
369Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
370Description: Retimer vendor identifier read from the hardware.
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/.../key
84Date: Sep 2017
85KernelVersion: 4.13
86Contact: thunderbolt-software@lists.01.org
87Description: When a devices supports Thunderbolt secure connect it will
88 have this attribute. Writing 32 byte hex string changes
89 authorization to use the secure connection method instead.
90 Writing an empty string clears the key and regular connection
91 method can be used again.
92
93What: /sys/bus/thunderbolt/devices/.../device
94Date: Sep 2017
95KernelVersion: 4.13
96Contact: thunderbolt-software@lists.01.org
97Description: This attribute contains id of this device extracted from
98 the device DROM.
99
100What: /sys/bus/thunderbolt/devices/.../device_name
101Date: Sep 2017
102KernelVersion: 4.13
103Contact: thunderbolt-software@lists.01.org
104Description: This attribute contains name of this device extracted from
105 the device DROM.
106
107What: /sys/bus/thunderbolt/devices/.../vendor
108Date: Sep 2017
109KernelVersion: 4.13
110Contact: thunderbolt-software@lists.01.org
111Description: This attribute contains vendor id of this device extracted
112 from the device DROM.
113
114What: /sys/bus/thunderbolt/devices/.../vendor_name
115Date: Sep 2017
116KernelVersion: 4.13
117Contact: thunderbolt-software@lists.01.org
118Description: This attribute contains vendor name of this device extracted
119 from the device DROM.
120
121What: /sys/bus/thunderbolt/devices/.../unique_id
122Date: Sep 2017
123KernelVersion: 4.13
124Contact: thunderbolt-software@lists.01.org
125Description: This attribute contains unique_id string of this device.
126 This is either read from hardware registers (UUID on
127 newer hardware) or based on UID from the device DROM.
128 Can be used to uniquely identify particular device.
129
130What: /sys/bus/thunderbolt/devices/.../nvm_version
131Date: Sep 2017
132KernelVersion: 4.13
133Contact: thunderbolt-software@lists.01.org
134Description: If the device has upgradeable firmware the version
135 number is available here. Format: %x.%x, major.minor.
136 If the device is in safe mode reading the file returns
137 -ENODATA instead as the NVM version is not available.
138
139What: /sys/bus/thunderbolt/devices/.../nvm_authenticate
140Date: Sep 2017
141KernelVersion: 4.13
142Contact: thunderbolt-software@lists.01.org
143Description: When new NVM image is written to the non-active NVM
144 area (through non_activeX NVMem device), the
145 authentication procedure is started by writing 1 to
146 this file. If everything goes well, the device is
147 restarted with the new NVM firmware. If the image
148 verification fails an error code is returned instead.
149
150 When read holds status of the last authentication
151 operation if an error occurred during the process. This
152 is directly the status value from the DMA configuration
153 based mailbox before the device is power cycled. Writing
154 0 here clears the status.
155
156What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/key
157Date: Jan 2018
158KernelVersion: 4.15
159Contact: thunderbolt-software@lists.01.org
160Description: This contains name of the property directory the XDomain
161 service exposes. This entry describes the protocol in
162 question. Following directories are already reserved by
163 the Apple XDomain specification:
164
165 network: IP/ethernet over Thunderbolt
166 targetdm: Target disk mode protocol over Thunderbolt
167 extdisp: External display mode protocol over Thunderbolt
168
169What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias
170Date: Jan 2018
171KernelVersion: 4.15
172Contact: thunderbolt-software@lists.01.org
173Description: Stores the same MODALIAS value emitted by uevent for
174 the XDomain service. Format: tbtsvc:kSpNvNrN
175
176What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcid
177Date: Jan 2018
178KernelVersion: 4.15
179Contact: thunderbolt-software@lists.01.org
180Description: This contains XDomain protocol identifier the XDomain
181 service supports.
182
183What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcvers
184Date: Jan 2018
185KernelVersion: 4.15
186Contact: thunderbolt-software@lists.01.org
187Description: This contains XDomain protocol version the XDomain
188 service supports.
189
190What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcrevs
191Date: Jan 2018
192KernelVersion: 4.15
193Contact: thunderbolt-software@lists.01.org
194Description: This contains XDomain software version the XDomain
195 service supports.
196
197What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcstns
198Date: Jan 2018
199KernelVersion: 4.15
200Contact: thunderbolt-software@lists.01.org
201Description: This contains XDomain service specific settings as
202 bitmask. Format: %x