1 What: /sys/bus/thunderbolt/devices/.../domainX/boot_acl
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
15 System BIOS may have an option "Preboot ACL" or similar
16 that needs to be selected before this list is taken into
19 Software always updates a full list in each write.
21 If a device is authorized automatically during boot its
22 boot attribute is set to 1.
24 What: /sys/bus/thunderbolt/devices/.../domainX/iommu_dma_protection
27 Contact: thunderbolt-software@lists.01.org
28 Description: 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
33 What: /sys/bus/thunderbolt/devices/.../domainX/security
36 Contact: thunderbolt-software@lists.01.org
37 Description: This attribute holds current Thunderbolt security level
38 set by the system BIOS. Possible values are:
40 ======= ==================================================
41 none All devices are automatically authorized
42 user Devices are only authorized based on writing
43 appropriate value to the authorized attribute
44 secure Require devices that support secure connect at
45 minimum. User needs to authorize each device.
46 dponly Automatically tunnel Display port (and USB). No
47 PCIe tunnels are created.
48 usbonly Automatically tunnel USB controller of the
49 connected Thunderbolt dock (and Display Port). All
50 PCIe links downstream of the dock are removed.
51 ======= ==================================================
53 What: /sys/bus/thunderbolt/devices/.../authorized
56 Contact: thunderbolt-software@lists.01.org
57 Description: This attribute is used to authorize Thunderbolt devices
58 after they have been connected. If the device is not
59 authorized, no devices such as PCIe and Display port are
60 available to the system.
62 Contents of this attribute will be 0 when the device is not
65 Possible values are supported:
67 == ===========================================
68 1 The device will be authorized and connected
69 == ===========================================
71 When key attribute contains 32 byte hex string the possible
74 == ========================================================
75 1 The 32 byte hex string is added to the device NVM and
76 the device is authorized.
77 2 Send a challenge based on the 32 byte hex string. If the
78 challenge response from device is valid, the device is
79 authorized. In case of failure errno will be ENOKEY if
80 the device did not contain a key at all, and
81 EKEYREJECTED if the challenge response did not match.
82 == ========================================================
84 What: /sys/bus/thunderbolt/devices/.../boot
87 Contact: thunderbolt-software@lists.01.org
88 Description: This attribute contains 1 if Thunderbolt device was already
89 authorized on boot and 0 otherwise.
91 What: /sys/bus/thunderbolt/devices/.../generation
94 Contact: Christian Kellner <christian@kellner.me>
95 Description: This attribute contains the generation of the Thunderbolt
96 controller associated with the device. It will contain 4
99 What: /sys/bus/thunderbolt/devices/.../key
102 Contact: thunderbolt-software@lists.01.org
103 Description: When a devices supports Thunderbolt secure connect it will
104 have this attribute. Writing 32 byte hex string changes
105 authorization to use the secure connection method instead.
106 Writing an empty string clears the key and regular connection
107 method can be used again.
109 What: /sys/bus/thunderbolt/devices/.../device
112 Contact: thunderbolt-software@lists.01.org
113 Description: This attribute contains id of this device extracted from
116 What: /sys/bus/thunderbolt/devices/.../device_name
119 Contact: thunderbolt-software@lists.01.org
120 Description: This attribute contains name of this device extracted from
123 What: /sys/bus/thunderbolt/devices/.../rx_speed
126 Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
127 Description: This attribute reports the device RX speed per lane.
128 All RX lanes run at the same speed.
130 What: /sys/bus/thunderbolt/devices/.../rx_lanes
133 Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
134 Description: This attribute reports number of RX lanes the device is
135 using simultaneusly through its upstream port.
137 What: /sys/bus/thunderbolt/devices/.../tx_speed
140 Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
141 Description: This attribute reports the TX speed per lane.
142 All TX lanes run at the same speed.
144 What: /sys/bus/thunderbolt/devices/.../tx_lanes
147 Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
148 Description: This attribute reports number of TX lanes the device is
149 using simultaneusly through its upstream port.
151 What: /sys/bus/thunderbolt/devices/.../vendor
154 Contact: thunderbolt-software@lists.01.org
155 Description: This attribute contains vendor id of this device extracted
156 from the device DROM.
158 What: /sys/bus/thunderbolt/devices/.../vendor_name
161 Contact: thunderbolt-software@lists.01.org
162 Description: This attribute contains vendor name of this device extracted
163 from the device DROM.
165 What: /sys/bus/thunderbolt/devices/.../unique_id
168 Contact: thunderbolt-software@lists.01.org
169 Description: This attribute contains unique_id string of this device.
170 This is either read from hardware registers (UUID on
171 newer hardware) or based on UID from the device DROM.
172 Can be used to uniquely identify particular device.
174 What: /sys/bus/thunderbolt/devices/.../nvm_version
177 Contact: thunderbolt-software@lists.01.org
178 Description: If the device has upgradeable firmware the version
179 number is available here. Format: %x.%x, major.minor.
180 If the device is in safe mode reading the file returns
181 -ENODATA instead as the NVM version is not available.
183 What: /sys/bus/thunderbolt/devices/.../nvm_authenticate
186 Contact: thunderbolt-software@lists.01.org
187 Description: When new NVM image is written to the non-active NVM
188 area (through non_activeX NVMem device), the
189 authentication procedure is started by writing to
191 If everything goes well, the device is
192 restarted with the new NVM firmware. If the image
193 verification fails an error code is returned instead.
195 This file will accept writing values "1" or "2"
197 - Writing "1" will flush the image to the storage
198 area and authenticate the image in one action.
199 - Writing "2" will run some basic validation on the image
200 and flush it to the storage area.
202 When read holds status of the last authentication
203 operation if an error occurred during the process. This
204 is directly the status value from the DMA configuration
205 based mailbox before the device is power cycled. Writing
206 0 here clears the status.
208 What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/key
211 Contact: thunderbolt-software@lists.01.org
212 Description: This contains name of the property directory the XDomain
213 service exposes. This entry describes the protocol in
214 question. Following directories are already reserved by
215 the Apple XDomain specification:
217 ======== ===============================================
218 network IP/ethernet over Thunderbolt
219 targetdm Target disk mode protocol over Thunderbolt
220 extdisp External display mode protocol over Thunderbolt
221 ======== ===============================================
223 What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias
226 Contact: thunderbolt-software@lists.01.org
227 Description: Stores the same MODALIAS value emitted by uevent for
228 the XDomain service. Format: tbtsvc:kSpNvNrN
230 What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcid
233 Contact: thunderbolt-software@lists.01.org
234 Description: This contains XDomain protocol identifier the XDomain
237 What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcvers
240 Contact: thunderbolt-software@lists.01.org
241 Description: This contains XDomain protocol version the XDomain
244 What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcrevs
247 Contact: thunderbolt-software@lists.01.org
248 Description: This contains XDomain software version the XDomain
251 What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcstns
254 Contact: thunderbolt-software@lists.01.org
255 Description: This contains XDomain service specific settings as
258 What: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/device
261 Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
262 Description: Retimer device identifier read from the hardware.
264 What: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_authenticate
267 Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
268 Description: When new NVM image is written to the non-active NVM
269 area (through non_activeX NVMem device), the
270 authentication procedure is started by writing 1 to
271 this file. If everything goes well, the device is
272 restarted with the new NVM firmware. If the image
273 verification fails an error code is returned instead.
275 When read holds status of the last authentication
276 operation if an error occurred during the process.
279 What: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_version
282 Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
283 Description: Holds retimer NVM version number. Format: %x.%x, major.minor.
285 What: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/vendor
288 Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
289 Description: Retimer vendor identifier read from the hardware.
291 What: /sys/bus/thunderbolt/devices/.../nvm_authenticate_on_disconnect
294 Contact: Mario Limonciello <mario.limonciello@dell.com>
295 Description: For supported devices, automatically authenticate the new Thunderbolt
296 image when the device is disconnected from the host system.
298 This file will accept writing values "1" or "2"
300 - Writing "1" will flush the image to the storage
301 area and prepare the device for authentication on disconnect.
302 - Writing "2" will run some basic validation on the image
303 and flush it to the storage area.