d7f09d011b6d29bc693f42ea527abc8697913ae0
[linux-2.6-microblaze.git] / Documentation / ABI / testing / sysfs-bus-thunderbolt
1 What:           /sys/bus/thunderbolt/devices/<xdomain>/rx_speed
2 Date:           Feb 2021
3 KernelVersion:  5.11
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.
7
8 What:           /sys/bus/thunderbolt/devices/<xdomain>/rx_lanes
9 Date:           Feb 2021
10 KernelVersion:  5.11
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.
14
15 What:           /sys/bus/thunderbolt/devices/<xdomain>/tx_speed
16 Date:           Feb 2021
17 KernelVersion:  5.11
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.
21
22 What:           /sys/bus/thunderbolt/devices/<xdomain>/tx_lanes
23 Date:           Feb 2021
24 KernelVersion:  5.11
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.
28
29 What: /sys/bus/thunderbolt/devices/.../domainX/boot_acl
30 Date:           Jun 2018
31 KernelVersion:  4.17
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
41                 controllers.
42
43                 System BIOS may have an option "Preboot ACL" or similar
44                 that needs to be selected before this list is taken into
45                 consideration.
46
47                 Software always updates a full list in each write.
48
49                 If a device is authorized automatically during boot its
50                 boot attribute is set to 1.
51
52 What: /sys/bus/thunderbolt/devices/.../domainX/deauthorization
53 Date:           May 2021
54 KernelVersion:  5.12
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.
60
61 What: /sys/bus/thunderbolt/devices/.../domainX/iommu_dma_protection
62 Date:           Mar 2019
63 KernelVersion:  4.21
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
68                 security levels).
69
70 What: /sys/bus/thunderbolt/devices/.../domainX/security
71 Date:           Sep 2017
72 KernelVersion:  4.13
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:
76
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
89                          the BIOS.
90                 =======  ==================================================
91
92 What: /sys/bus/thunderbolt/devices/.../authorized
93 Date:           Sep 2017
94 KernelVersion:  4.13
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.
99
100                 Contents of this attribute will be 0 when the device is not
101                 yet authorized.
102
103                 Possible values are supported:
104
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                 ==  ===================================================
110
111                 When key attribute contains 32 byte hex string the possible
112                 values are:
113
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                 ==  ========================================================
125
126 What: /sys/bus/thunderbolt/devices/.../boot
127 Date:           Jun 2018
128 KernelVersion:  4.17
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.
132
133 What: /sys/bus/thunderbolt/devices/.../generation
134 Date:           Jan 2020
135 KernelVersion:  5.5
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
139                 for USB4.
140
141 What: /sys/bus/thunderbolt/devices/.../key
142 Date:           Sep 2017
143 KernelVersion:  4.13
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.
150
151 What:           /sys/bus/thunderbolt/devices/.../device
152 Date:           Sep 2017
153 KernelVersion:  4.13
154 Contact:        thunderbolt-software@lists.01.org
155 Description:    This attribute contains id of this device extracted from
156                 the device DROM.
157
158 What:           /sys/bus/thunderbolt/devices/.../device_name
159 Date:           Sep 2017
160 KernelVersion:  4.13
161 Contact:        thunderbolt-software@lists.01.org
162 Description:    This attribute contains name of this device extracted from
163                 the device DROM.
164
165 What:           /sys/bus/thunderbolt/devices/.../rx_speed
166 Date:           Jan 2020
167 KernelVersion:  5.5
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.
171
172 What:           /sys/bus/thunderbolt/devices/.../rx_lanes
173 Date:           Jan 2020
174 KernelVersion:  5.5
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.
178
179 What:           /sys/bus/thunderbolt/devices/.../tx_speed
180 Date:           Jan 2020
181 KernelVersion:  5.5
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.
185
186 What:           /sys/bus/thunderbolt/devices/.../tx_lanes
187 Date:           Jan 2020
188 KernelVersion:  5.5
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.
192
193 What:           /sys/bus/thunderbolt/devices/.../vendor
194 Date:           Sep 2017
195 KernelVersion:  4.13
196 Contact:        thunderbolt-software@lists.01.org
197 Description:    This attribute contains vendor id of this device extracted
198                 from the device DROM.
199
200 What:           /sys/bus/thunderbolt/devices/.../vendor_name
201 Date:           Sep 2017
202 KernelVersion:  4.13
203 Contact:        thunderbolt-software@lists.01.org
204 Description:    This attribute contains vendor name of this device extracted
205                 from the device DROM.
206
207 What:           /sys/bus/thunderbolt/devices/.../unique_id
208 Date:           Sep 2017
209 KernelVersion:  4.13
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.
215
216 What:           /sys/bus/thunderbolt/devices/.../nvm_version
217 Date:           Sep 2017
218 KernelVersion:  4.13
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.
224
225 What:           /sys/bus/thunderbolt/devices/.../nvm_authenticate
226 Date:           Sep 2017
227 KernelVersion:  4.13
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
232                 this file.
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.
236
237                 This file will accept writing values "1" or "2"
238
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.
243
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.
249
250 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/key
251 Date:           Jan 2018
252 KernelVersion:  4.15
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:
258
259                 ========  ===============================================
260                 network   IP/ethernet over Thunderbolt
261                 targetdm  Target disk mode protocol over Thunderbolt
262                 extdisp   External display mode protocol over Thunderbolt
263                 ========  ===============================================
264
265 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias
266 Date:           Jan 2018
267 KernelVersion:  4.15
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
271
272 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcid
273 Date:           Jan 2018
274 KernelVersion:  4.15
275 Contact:        thunderbolt-software@lists.01.org
276 Description:    This contains XDomain protocol identifier the XDomain
277                 service supports.
278
279 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcvers
280 Date:           Jan 2018
281 KernelVersion:  4.15
282 Contact:        thunderbolt-software@lists.01.org
283 Description:    This contains XDomain protocol version the XDomain
284                 service supports.
285
286 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcrevs
287 Date:           Jan 2018
288 KernelVersion:  4.15
289 Contact:        thunderbolt-software@lists.01.org
290 Description:    This contains XDomain software version the XDomain
291                 service supports.
292
293 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcstns
294 Date:           Jan 2018
295 KernelVersion:  4.15
296 Contact:        thunderbolt-software@lists.01.org
297 Description:    This contains XDomain service specific settings as
298                 bitmask. Format: %x
299
300 What:           /sys/bus/thunderbolt/devices/<device>:<port>.<index>/device
301 Date:           Oct 2020
302 KernelVersion:  v5.9
303 Contact:        Mika Westerberg <mika.westerberg@linux.intel.com>
304 Description:    Retimer device identifier read from the hardware.
305
306 What:           /sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_authenticate
307 Date:           Oct 2020
308 KernelVersion:  v5.9
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.
316
317                 When read holds status of the last authentication
318                 operation if an error occurred during the process.
319                 Format: %x.
320
321 What:           /sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_version
322 Date:           Oct 2020
323 KernelVersion:  v5.9
324 Contact:        Mika Westerberg <mika.westerberg@linux.intel.com>
325 Description:    Holds retimer NVM version number. Format: %x.%x, major.minor.
326
327 What:           /sys/bus/thunderbolt/devices/<device>:<port>.<index>/vendor
328 Date:           Oct 2020
329 KernelVersion:  v5.9
330 Contact:        Mika Westerberg <mika.westerberg@linux.intel.com>
331 Description:    Retimer vendor identifier read from the hardware.
332
333 What:           /sys/bus/thunderbolt/devices/.../nvm_authenticate_on_disconnect
334 Date:           Oct 2020
335 KernelVersion:  v5.9
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.
339
340                 This file will accept writing values "1" or "2"
341
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.