Merge tag 'for-5.11/dm-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/device...
[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/iommu_dma_protection
53 Date:           Mar 2019
54 KernelVersion:  4.21
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
59                 security levels).
60
61 What: /sys/bus/thunderbolt/devices/.../domainX/security
62 Date:           Sep 2017
63 KernelVersion:  4.13
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:
67
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                 =======  ==================================================
80
81 What: /sys/bus/thunderbolt/devices/.../authorized
82 Date:           Sep 2017
83 KernelVersion:  4.13
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.
89
90                 Contents of this attribute will be 0 when the device is not
91                 yet authorized.
92
93                 Possible values are supported:
94
95                 ==  ===========================================
96                 1   The device will be authorized and connected
97                 ==  ===========================================
98
99                 When key attribute contains 32 byte hex string the possible
100                 values are:
101
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                 ==  ========================================================
111
112 What: /sys/bus/thunderbolt/devices/.../boot
113 Date:           Jun 2018
114 KernelVersion:  4.17
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.
118
119 What: /sys/bus/thunderbolt/devices/.../generation
120 Date:           Jan 2020
121 KernelVersion:  5.5
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
125                 for USB4.
126
127 What: /sys/bus/thunderbolt/devices/.../key
128 Date:           Sep 2017
129 KernelVersion:  4.13
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.
136
137 What:           /sys/bus/thunderbolt/devices/.../device
138 Date:           Sep 2017
139 KernelVersion:  4.13
140 Contact:        thunderbolt-software@lists.01.org
141 Description:    This attribute contains id of this device extracted from
142                 the device DROM.
143
144 What:           /sys/bus/thunderbolt/devices/.../device_name
145 Date:           Sep 2017
146 KernelVersion:  4.13
147 Contact:        thunderbolt-software@lists.01.org
148 Description:    This attribute contains name of this device extracted from
149                 the device DROM.
150
151 What:           /sys/bus/thunderbolt/devices/.../rx_speed
152 Date:           Jan 2020
153 KernelVersion:  5.5
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.
157
158 What:           /sys/bus/thunderbolt/devices/.../rx_lanes
159 Date:           Jan 2020
160 KernelVersion:  5.5
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.
164
165 What:           /sys/bus/thunderbolt/devices/.../tx_speed
166 Date:           Jan 2020
167 KernelVersion:  5.5
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.
171
172 What:           /sys/bus/thunderbolt/devices/.../tx_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 TX lanes the device is
177                 using simultaneusly through its upstream port.
178
179 What:           /sys/bus/thunderbolt/devices/.../vendor
180 Date:           Sep 2017
181 KernelVersion:  4.13
182 Contact:        thunderbolt-software@lists.01.org
183 Description:    This attribute contains vendor id of this device extracted
184                 from the device DROM.
185
186 What:           /sys/bus/thunderbolt/devices/.../vendor_name
187 Date:           Sep 2017
188 KernelVersion:  4.13
189 Contact:        thunderbolt-software@lists.01.org
190 Description:    This attribute contains vendor name of this device extracted
191                 from the device DROM.
192
193 What:           /sys/bus/thunderbolt/devices/.../unique_id
194 Date:           Sep 2017
195 KernelVersion:  4.13
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.
201
202 What:           /sys/bus/thunderbolt/devices/.../nvm_version
203 Date:           Sep 2017
204 KernelVersion:  4.13
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.
210
211 What:           /sys/bus/thunderbolt/devices/.../nvm_authenticate
212 Date:           Sep 2017
213 KernelVersion:  4.13
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
218                 this file.
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.
222
223                 This file will accept writing values "1" or "2"
224
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.
229
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.
235
236 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/key
237 Date:           Jan 2018
238 KernelVersion:  4.15
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:
244
245                 ========  ===============================================
246                 network   IP/ethernet over Thunderbolt
247                 targetdm  Target disk mode protocol over Thunderbolt
248                 extdisp   External display mode protocol over Thunderbolt
249                 ========  ===============================================
250
251 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias
252 Date:           Jan 2018
253 KernelVersion:  4.15
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
257
258 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcid
259 Date:           Jan 2018
260 KernelVersion:  4.15
261 Contact:        thunderbolt-software@lists.01.org
262 Description:    This contains XDomain protocol identifier the XDomain
263                 service supports.
264
265 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcvers
266 Date:           Jan 2018
267 KernelVersion:  4.15
268 Contact:        thunderbolt-software@lists.01.org
269 Description:    This contains XDomain protocol version the XDomain
270                 service supports.
271
272 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcrevs
273 Date:           Jan 2018
274 KernelVersion:  4.15
275 Contact:        thunderbolt-software@lists.01.org
276 Description:    This contains XDomain software version the XDomain
277                 service supports.
278
279 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcstns
280 Date:           Jan 2018
281 KernelVersion:  4.15
282 Contact:        thunderbolt-software@lists.01.org
283 Description:    This contains XDomain service specific settings as
284                 bitmask. Format: %x
285
286 What:           /sys/bus/thunderbolt/devices/<device>:<port>.<index>/device
287 Date:           Oct 2020
288 KernelVersion:  v5.9
289 Contact:        Mika Westerberg <mika.westerberg@linux.intel.com>
290 Description:    Retimer device identifier read from the hardware.
291
292 What:           /sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_authenticate
293 Date:           Oct 2020
294 KernelVersion:  v5.9
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.
302
303                 When read holds status of the last authentication
304                 operation if an error occurred during the process.
305                 Format: %x.
306
307 What:           /sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_version
308 Date:           Oct 2020
309 KernelVersion:  v5.9
310 Contact:        Mika Westerberg <mika.westerberg@linux.intel.com>
311 Description:    Holds retimer NVM version number. Format: %x.%x, major.minor.
312
313 What:           /sys/bus/thunderbolt/devices/<device>:<port>.<index>/vendor
314 Date:           Oct 2020
315 KernelVersion:  v5.9
316 Contact:        Mika Westerberg <mika.westerberg@linux.intel.com>
317 Description:    Retimer vendor identifier read from the hardware.
318
319 What:           /sys/bus/thunderbolt/devices/.../nvm_authenticate_on_disconnect
320 Date:           Oct 2020
321 KernelVersion:  v5.9
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.
325
326                 This file will accept writing values "1" or "2"
327
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.