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/iommu_dma_protection
55 Contact: thunderbolt-software@lists.01.org
56 Description: This attribute tells whether the system uses IOMMU
57 for DMA protection. Value of 1 means IOMMU is used 0 means
58 it is not (DMA protection is solely based on Thunderbolt
61 What: /sys/bus/thunderbolt/devices/.../domainX/security
64 Contact: thunderbolt-software@lists.01.org
65 Description: This attribute holds current Thunderbolt security level
66 set by the system BIOS. Possible values are:
68 ======= ==================================================
69 none All devices are automatically authorized
70 user Devices are only authorized based on writing
71 appropriate value to the authorized attribute
72 secure Require devices that support secure connect at
73 minimum. User needs to authorize each device.
74 dponly Automatically tunnel Display port (and USB). No
75 PCIe tunnels are created.
76 usbonly Automatically tunnel USB controller of the
77 connected Thunderbolt dock (and Display Port). All
78 PCIe links downstream of the dock are removed.
79 ======= ==================================================
81 What: /sys/bus/thunderbolt/devices/.../authorized
84 Contact: thunderbolt-software@lists.01.org
85 Description: This attribute is used to authorize Thunderbolt devices
86 after they have been connected. If the device is not
87 authorized, no devices such as PCIe and Display port are
88 available to the system.
90 Contents of this attribute will be 0 when the device is not
93 Possible values are supported:
95 == ===========================================
96 1 The device will be authorized and connected
97 == ===========================================
99 When key attribute contains 32 byte hex string the possible
102 == ========================================================
103 1 The 32 byte hex string is added to the device NVM and
104 the device is authorized.
105 2 Send a challenge based on the 32 byte hex string. If the
106 challenge response from device is valid, the device is
107 authorized. In case of failure errno will be ENOKEY if
108 the device did not contain a key at all, and
109 EKEYREJECTED if the challenge response did not match.
110 == ========================================================
112 What: /sys/bus/thunderbolt/devices/.../boot
115 Contact: thunderbolt-software@lists.01.org
116 Description: This attribute contains 1 if Thunderbolt device was already
117 authorized on boot and 0 otherwise.
119 What: /sys/bus/thunderbolt/devices/.../generation
122 Contact: Christian Kellner <christian@kellner.me>
123 Description: This attribute contains the generation of the Thunderbolt
124 controller associated with the device. It will contain 4
127 What: /sys/bus/thunderbolt/devices/.../key
130 Contact: thunderbolt-software@lists.01.org
131 Description: When a devices supports Thunderbolt secure connect it will
132 have this attribute. Writing 32 byte hex string changes
133 authorization to use the secure connection method instead.
134 Writing an empty string clears the key and regular connection
135 method can be used again.
137 What: /sys/bus/thunderbolt/devices/.../device
140 Contact: thunderbolt-software@lists.01.org
141 Description: This attribute contains id of this device extracted from
144 What: /sys/bus/thunderbolt/devices/.../device_name
147 Contact: thunderbolt-software@lists.01.org
148 Description: This attribute contains name of this device extracted from
151 What: /sys/bus/thunderbolt/devices/.../rx_speed
154 Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
155 Description: This attribute reports the device RX speed per lane.
156 All RX lanes run at the same speed.
158 What: /sys/bus/thunderbolt/devices/.../rx_lanes
161 Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
162 Description: This attribute reports number of RX lanes the device is
163 using simultaneusly through its upstream port.
165 What: /sys/bus/thunderbolt/devices/.../tx_speed
168 Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
169 Description: This attribute reports the TX speed per lane.
170 All TX lanes run at the same speed.
172 What: /sys/bus/thunderbolt/devices/.../tx_lanes
175 Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
176 Description: This attribute reports number of TX lanes the device is
177 using simultaneusly through its upstream port.
179 What: /sys/bus/thunderbolt/devices/.../vendor
182 Contact: thunderbolt-software@lists.01.org
183 Description: This attribute contains vendor id of this device extracted
184 from the device DROM.
186 What: /sys/bus/thunderbolt/devices/.../vendor_name
189 Contact: thunderbolt-software@lists.01.org
190 Description: This attribute contains vendor name of this device extracted
191 from the device DROM.
193 What: /sys/bus/thunderbolt/devices/.../unique_id
196 Contact: thunderbolt-software@lists.01.org
197 Description: This attribute contains unique_id string of this device.
198 This is either read from hardware registers (UUID on
199 newer hardware) or based on UID from the device DROM.
200 Can be used to uniquely identify particular device.
202 What: /sys/bus/thunderbolt/devices/.../nvm_version
205 Contact: thunderbolt-software@lists.01.org
206 Description: If the device has upgradeable firmware the version
207 number is available here. Format: %x.%x, major.minor.
208 If the device is in safe mode reading the file returns
209 -ENODATA instead as the NVM version is not available.
211 What: /sys/bus/thunderbolt/devices/.../nvm_authenticate
214 Contact: thunderbolt-software@lists.01.org
215 Description: When new NVM image is written to the non-active NVM
216 area (through non_activeX NVMem device), the
217 authentication procedure is started by writing to
219 If everything goes well, the device is
220 restarted with the new NVM firmware. If the image
221 verification fails an error code is returned instead.
223 This file will accept writing values "1" or "2"
225 - Writing "1" will flush the image to the storage
226 area and authenticate the image in one action.
227 - Writing "2" will run some basic validation on the image
228 and flush it to the storage area.
230 When read holds status of the last authentication
231 operation if an error occurred during the process. This
232 is directly the status value from the DMA configuration
233 based mailbox before the device is power cycled. Writing
234 0 here clears the status.
236 What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/key
239 Contact: thunderbolt-software@lists.01.org
240 Description: This contains name of the property directory the XDomain
241 service exposes. This entry describes the protocol in
242 question. Following directories are already reserved by
243 the Apple XDomain specification:
245 ======== ===============================================
246 network IP/ethernet over Thunderbolt
247 targetdm Target disk mode protocol over Thunderbolt
248 extdisp External display mode protocol over Thunderbolt
249 ======== ===============================================
251 What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias
254 Contact: thunderbolt-software@lists.01.org
255 Description: Stores the same MODALIAS value emitted by uevent for
256 the XDomain service. Format: tbtsvc:kSpNvNrN
258 What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcid
261 Contact: thunderbolt-software@lists.01.org
262 Description: This contains XDomain protocol identifier the XDomain
265 What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcvers
268 Contact: thunderbolt-software@lists.01.org
269 Description: This contains XDomain protocol version the XDomain
272 What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcrevs
275 Contact: thunderbolt-software@lists.01.org
276 Description: This contains XDomain software version the XDomain
279 What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcstns
282 Contact: thunderbolt-software@lists.01.org
283 Description: This contains XDomain service specific settings as
286 What: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/device
289 Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
290 Description: Retimer device identifier read from the hardware.
292 What: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_authenticate
295 Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
296 Description: When new NVM image is written to the non-active NVM
297 area (through non_activeX NVMem device), the
298 authentication procedure is started by writing 1 to
299 this file. If everything goes well, the device is
300 restarted with the new NVM firmware. If the image
301 verification fails an error code is returned instead.
303 When read holds status of the last authentication
304 operation if an error occurred during the process.
307 What: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_version
310 Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
311 Description: Holds retimer NVM version number. Format: %x.%x, major.minor.
313 What: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/vendor
316 Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
317 Description: Retimer vendor identifier read from the hardware.
319 What: /sys/bus/thunderbolt/devices/.../nvm_authenticate_on_disconnect
322 Contact: Mario Limonciello <mario.limonciello@dell.com>
323 Description: For supported devices, automatically authenticate the new Thunderbolt
324 image when the device is disconnected from the host system.
326 This file will accept writing values "1" or "2"
328 - Writing "1" will flush the image to the storage
329 area and prepare the device for authentication on disconnect.
330 - Writing "2" will run some basic validation on the image
331 and flush it to the storage area.