1 What: /sys/bus/thunderbolt/devices/<xdomain>/rx_speed
4 Contact: Isaac Hazan <isaac.hazan@intel.com>
5 Description: This attribute reports the XDomain RX speed per lane.
6 All RX lanes run at the same speed.
8 What: /sys/bus/thunderbolt/devices/<xdomain>/rx_lanes
11 Contact: Isaac Hazan <isaac.hazan@intel.com>
12 Description: This attribute reports the number of RX lanes the XDomain
13 is using simultaneously through its upstream port.
15 What: /sys/bus/thunderbolt/devices/<xdomain>/tx_speed
18 Contact: Isaac Hazan <isaac.hazan@intel.com>
19 Description: This attribute reports the XDomain TX speed per lane.
20 All TX lanes run at the same speed.
22 What: /sys/bus/thunderbolt/devices/<xdomain>/tx_lanes
25 Contact: Isaac Hazan <isaac.hazan@intel.com>
26 Description: This attribute reports number of TX lanes the XDomain
27 is using simultaneously through its upstream port.
29 What: /sys/bus/thunderbolt/devices/.../domainX/boot_acl
32 Contact: thunderbolt-software@lists.01.org
33 Description: Holds a comma separated list of device unique_ids that
34 are allowed to be connected automatically during system
35 startup (e.g boot devices). The list always contains
36 maximum supported number of unique_ids where unused
37 entries are empty. This allows the userspace software
38 to determine how many entries the controller supports.
39 If there are multiple controllers, each controller has
40 its own ACL list and size may be different between the
43 System BIOS may have an option "Preboot ACL" or similar
44 that needs to be selected before this list is taken into
47 Software always updates a full list in each write.
49 If a device is authorized automatically during boot its
50 boot attribute is set to 1.
52 What: /sys/bus/thunderbolt/devices/.../domainX/deauthorization
55 Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
56 Description: This attribute tells whether the system supports
57 de-authorization of devices. Value of 1 means user can
58 de-authorize PCIe tunnel by writing 0 to authorized
59 attribute under each device.
61 What: /sys/bus/thunderbolt/devices/.../domainX/iommu_dma_protection
64 Contact: thunderbolt-software@lists.01.org
65 Description: This attribute tells whether the system uses IOMMU
66 for DMA protection. Value of 1 means IOMMU is used 0 means
67 it is not (DMA protection is solely based on Thunderbolt
70 What: /sys/bus/thunderbolt/devices/.../domainX/security
73 Contact: thunderbolt-software@lists.01.org
74 Description: This attribute holds current Thunderbolt security level
75 set by the system BIOS. Possible values are:
77 ======= ==================================================
78 none All devices are automatically authorized
79 user Devices are only authorized based on writing
80 appropriate value to the authorized attribute
81 secure Require devices that support secure connect at
82 minimum. User needs to authorize each device.
83 dponly Automatically tunnel Display port (and USB). No
84 PCIe tunnels are created.
85 usbonly Automatically tunnel USB controller of the
86 connected Thunderbolt dock (and Display Port). All
87 PCIe links downstream of the dock are removed.
88 nopcie USB4 system where PCIe tunneling is disabled from
90 ======= ==================================================
92 What: /sys/bus/thunderbolt/devices/.../authorized
95 Contact: thunderbolt-software@lists.01.org
96 Description: This attribute is used to authorize Thunderbolt devices
97 after they have been connected. If the device is not
98 authorized, no PCIe devices are available to the system.
100 Contents of this attribute will be 0 when the device is not
103 Possible values are supported:
105 == ===================================================
106 0 The device will be de-authorized (only supported if
107 deauthorization attribute under domain contains 1)
108 1 The device will be authorized and connected
109 == ===================================================
111 When key attribute contains 32 byte hex string the possible
114 == ========================================================
115 0 The device will be de-authorized (only supported if
116 deauthorization attribute under domain contains 1)
117 1 The 32 byte hex string is added to the device NVM and
118 the device is authorized.
119 2 Send a challenge based on the 32 byte hex string. If the
120 challenge response from device is valid, the device is
121 authorized. In case of failure errno will be ENOKEY if
122 the device did not contain a key at all, and
123 EKEYREJECTED if the challenge response did not match.
124 == ========================================================
126 What: /sys/bus/thunderbolt/devices/.../boot
129 Contact: thunderbolt-software@lists.01.org
130 Description: This attribute contains 1 if Thunderbolt device was already
131 authorized on boot and 0 otherwise.
133 What: /sys/bus/thunderbolt/devices/.../generation
136 Contact: Christian Kellner <christian@kellner.me>
137 Description: This attribute contains the generation of the Thunderbolt
138 controller associated with the device. It will contain 4
141 What: /sys/bus/thunderbolt/devices/.../key
144 Contact: thunderbolt-software@lists.01.org
145 Description: When a devices supports Thunderbolt secure connect it will
146 have this attribute. Writing 32 byte hex string changes
147 authorization to use the secure connection method instead.
148 Writing an empty string clears the key and regular connection
149 method can be used again.
151 What: /sys/bus/thunderbolt/devices/.../device
154 Contact: thunderbolt-software@lists.01.org
155 Description: This attribute contains id of this device extracted from
158 What: /sys/bus/thunderbolt/devices/.../device_name
161 Contact: thunderbolt-software@lists.01.org
162 Description: This attribute contains name of this device extracted from
165 What: /sys/bus/thunderbolt/devices/.../rx_speed
168 Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
169 Description: This attribute reports the device RX speed per lane.
170 All RX lanes run at the same speed.
172 What: /sys/bus/thunderbolt/devices/.../rx_lanes
175 Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
176 Description: This attribute reports number of RX lanes the device is
177 using simultaneusly through its upstream port.
179 What: /sys/bus/thunderbolt/devices/.../tx_speed
182 Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
183 Description: This attribute reports the TX speed per lane.
184 All TX lanes run at the same speed.
186 What: /sys/bus/thunderbolt/devices/.../tx_lanes
189 Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
190 Description: This attribute reports number of TX lanes the device is
191 using simultaneusly through its upstream port.
193 What: /sys/bus/thunderbolt/devices/.../vendor
196 Contact: thunderbolt-software@lists.01.org
197 Description: This attribute contains vendor id of this device extracted
198 from the device DROM.
200 What: /sys/bus/thunderbolt/devices/.../vendor_name
203 Contact: thunderbolt-software@lists.01.org
204 Description: This attribute contains vendor name of this device extracted
205 from the device DROM.
207 What: /sys/bus/thunderbolt/devices/.../unique_id
210 Contact: thunderbolt-software@lists.01.org
211 Description: This attribute contains unique_id string of this device.
212 This is either read from hardware registers (UUID on
213 newer hardware) or based on UID from the device DROM.
214 Can be used to uniquely identify particular device.
216 What: /sys/bus/thunderbolt/devices/.../nvm_version
219 Contact: thunderbolt-software@lists.01.org
220 Description: If the device has upgradeable firmware the version
221 number is available here. Format: %x.%x, major.minor.
222 If the device is in safe mode reading the file returns
223 -ENODATA instead as the NVM version is not available.
225 What: /sys/bus/thunderbolt/devices/.../nvm_authenticate
228 Contact: thunderbolt-software@lists.01.org
229 Description: When new NVM image is written to the non-active NVM
230 area (through non_activeX NVMem device), the
231 authentication procedure is started by writing to
233 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.
237 This file will accept writing values "1" or "2"
239 - Writing "1" will flush the image to the storage
240 area and authenticate the image in one action.
241 - Writing "2" will run some basic validation on the image
242 and flush it to the storage area.
244 When read holds status of the last authentication
245 operation if an error occurred during the process. This
246 is directly the status value from the DMA configuration
247 based mailbox before the device is power cycled. Writing
248 0 here clears the status.
250 What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/key
253 Contact: thunderbolt-software@lists.01.org
254 Description: This contains name of the property directory the XDomain
255 service exposes. This entry describes the protocol in
256 question. Following directories are already reserved by
257 the Apple XDomain specification:
259 ======== ===============================================
260 network IP/ethernet over Thunderbolt
261 targetdm Target disk mode protocol over Thunderbolt
262 extdisp External display mode protocol over Thunderbolt
263 ======== ===============================================
265 What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias
268 Contact: thunderbolt-software@lists.01.org
269 Description: Stores the same MODALIAS value emitted by uevent for
270 the XDomain service. Format: tbtsvc:kSpNvNrN
272 What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcid
275 Contact: thunderbolt-software@lists.01.org
276 Description: This contains XDomain protocol identifier the XDomain
279 What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcvers
282 Contact: thunderbolt-software@lists.01.org
283 Description: This contains XDomain protocol version the XDomain
286 What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcrevs
289 Contact: thunderbolt-software@lists.01.org
290 Description: This contains XDomain software version the XDomain
293 What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcstns
296 Contact: thunderbolt-software@lists.01.org
297 Description: This contains XDomain service specific settings as
300 What: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/device
303 Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
304 Description: Retimer device identifier read from the hardware.
306 What: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_authenticate
309 Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
310 Description: When new NVM image is written to the non-active NVM
311 area (through non_activeX NVMem device), the
312 authentication procedure is started by writing 1 to
313 this file. If everything goes well, the device is
314 restarted with the new NVM firmware. If the image
315 verification fails an error code is returned instead.
317 When read holds status of the last authentication
318 operation if an error occurred during the process.
321 What: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_version
324 Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
325 Description: Holds retimer NVM version number. Format: %x.%x, major.minor.
327 What: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/vendor
330 Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
331 Description: Retimer vendor identifier read from the hardware.
333 What: /sys/bus/thunderbolt/devices/.../nvm_authenticate_on_disconnect
336 Contact: Mario Limonciello <mario.limonciello@dell.com>
337 Description: For supported devices, automatically authenticate the new Thunderbolt
338 image when the device is disconnected from the host system.
340 This file will accept writing values "1" or "2"
342 - Writing "1" will flush the image to the storage
343 area and prepare the device for authentication on disconnect.
344 - Writing "2" will run some basic validation on the image
345 and flush it to the storage area.