hc
2024-10-12 a5969cabbb4660eab42b6ef0412cbbd1200cf14d
kernel/Documentation/ABI/testing/sysfs-bus-thunderbolt
....@@ -21,6 +21,15 @@
2121 If a device is authorized automatically during boot its
2222 boot attribute is set to 1.
2323
24
+What: /sys/bus/thunderbolt/devices/.../domainX/iommu_dma_protection
25
+Date: Mar 2019
26
+KernelVersion: 4.21
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
31
+ security levels).
32
+
2433 What: /sys/bus/thunderbolt/devices/.../domainX/security
2534 Date: Sep 2017
2635 KernelVersion: 4.13
....@@ -28,16 +37,18 @@
2837 Description: This attribute holds current Thunderbolt security level
2938 set by the system BIOS. Possible values are:
3039
31
- none: All devices are automatically authorized
32
- user: Devices are only authorized based on writing
33
- appropriate value to the authorized attribute
34
- secure: Require devices that support secure connect at
35
- minimum. User needs to authorize each device.
36
- dponly: Automatically tunnel Display port (and USB). No
37
- PCIe tunnels are created.
38
- usbonly: Automatically tunnel USB controller of the
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
3949 connected Thunderbolt dock (and Display Port). All
4050 PCIe links downstream of the dock are removed.
51
+ ======= ==================================================
4152
4253 What: /sys/bus/thunderbolt/devices/.../authorized
4354 Date: Sep 2017
....@@ -52,17 +63,23 @@
5263 yet authorized.
5364
5465 Possible values are supported:
55
- 1: The device will be authorized and connected
66
+
67
+ == ===========================================
68
+ 1 The device will be authorized and connected
69
+ == ===========================================
5670
5771 When key attribute contains 32 byte hex string the possible
5872 values are:
59
- 1: The 32 byte hex string is added to the device NVM and
60
- the device is authorized.
61
- 2: Send a challenge based on the 32 byte hex string. If the
62
- challenge response from device is valid, the device is
63
- authorized. In case of failure errno will be ENOKEY if
64
- the device did not contain a key at all, and
65
- EKEYREJECTED if the challenge response did not match.
73
+
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
+ == ========================================================
6683
6784 What: /sys/bus/thunderbolt/devices/.../boot
6885 Date: Jun 2018
....@@ -70,6 +87,14 @@
7087 Contact: thunderbolt-software@lists.01.org
7188 Description: This attribute contains 1 if Thunderbolt device was already
7289 authorized on boot and 0 otherwise.
90
+
91
+What: /sys/bus/thunderbolt/devices/.../generation
92
+Date: Jan 2020
93
+KernelVersion: 5.5
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
97
+ for USB4.
7398
7499 What: /sys/bus/thunderbolt/devices/.../key
75100 Date: Sep 2017
....@@ -94,6 +119,34 @@
94119 Contact: thunderbolt-software@lists.01.org
95120 Description: This attribute contains name of this device extracted from
96121 the device DROM.
122
+
123
+What: /sys/bus/thunderbolt/devices/.../rx_speed
124
+Date: Jan 2020
125
+KernelVersion: 5.5
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.
129
+
130
+What: /sys/bus/thunderbolt/devices/.../rx_lanes
131
+Date: Jan 2020
132
+KernelVersion: 5.5
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.
136
+
137
+What: /sys/bus/thunderbolt/devices/.../tx_speed
138
+Date: Jan 2020
139
+KernelVersion: 5.5
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.
143
+
144
+What: /sys/bus/thunderbolt/devices/.../tx_lanes
145
+Date: Jan 2020
146
+KernelVersion: 5.5
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.
97150
98151 What: /sys/bus/thunderbolt/devices/.../vendor
99152 Date: Sep 2017
....@@ -133,10 +186,18 @@
133186 Contact: thunderbolt-software@lists.01.org
134187 Description: When new NVM image is written to the non-active NVM
135188 area (through non_activeX NVMem device), the
136
- authentication procedure is started by writing 1 to
137
- this file. If everything goes well, the device is
189
+ authentication procedure is started by writing to
190
+ this file.
191
+ If everything goes well, the device is
138192 restarted with the new NVM firmware. If the image
139193 verification fails an error code is returned instead.
194
+
195
+ This file will accept writing values "1" or "2"
196
+
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.
140201
141202 When read holds status of the last authentication
142203 operation if an error occurred during the process. This
....@@ -153,9 +214,11 @@
153214 question. Following directories are already reserved by
154215 the Apple XDomain specification:
155216
156
- network: IP/ethernet over Thunderbolt
157
- targetdm: Target disk mode protocol over Thunderbolt
158
- extdisp: External display mode protocol over Thunderbolt
217
+ ======== ===============================================
218
+ network IP/ethernet over Thunderbolt
219
+ targetdm Target disk mode protocol over Thunderbolt
220
+ extdisp External display mode protocol over Thunderbolt
221
+ ======== ===============================================
159222
160223 What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias
161224 Date: Jan 2018
....@@ -191,3 +254,50 @@
191254 Contact: thunderbolt-software@lists.01.org
192255 Description: This contains XDomain service specific settings as
193256 bitmask. Format: %x
257
+
258
+What: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/device
259
+Date: Oct 2020
260
+KernelVersion: v5.9
261
+Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
262
+Description: Retimer device identifier read from the hardware.
263
+
264
+What: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_authenticate
265
+Date: Oct 2020
266
+KernelVersion: v5.9
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.
274
+
275
+ When read holds status of the last authentication
276
+ operation if an error occurred during the process.
277
+ Format: %x.
278
+
279
+What: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_version
280
+Date: Oct 2020
281
+KernelVersion: v5.9
282
+Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
283
+Description: Holds retimer NVM version number. Format: %x.%x, major.minor.
284
+
285
+What: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/vendor
286
+Date: Oct 2020
287
+KernelVersion: v5.9
288
+Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
289
+Description: Retimer vendor identifier read from the hardware.
290
+
291
+What: /sys/bus/thunderbolt/devices/.../nvm_authenticate_on_disconnect
292
+Date: Oct 2020
293
+KernelVersion: v5.9
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.
297
+
298
+ This file will accept writing values "1" or "2"
299
+
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.