Merge tag 'devfreq-next-for-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / Documentation / ABI / testing / sysfs-bus-thunderbolt
1 What: /sys/bus/thunderbolt/devices/.../domainX/boot_acl
2 Date:           Jun 2018
3 KernelVersion:  4.17
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
13                 controllers.
14
15                 System BIOS may have an option "Preboot ACL" or similar
16                 that needs to be selected before this list is taken into
17                 consideration.
18
19                 Software always updates a full list in each write.
20
21                 If a device is authorized automatically during boot its
22                 boot attribute is set to 1.
23
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
33 What: /sys/bus/thunderbolt/devices/.../domainX/security
34 Date:           Sep 2017
35 KernelVersion:  4.13
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:
39
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                 =======  ==================================================
52
53 What: /sys/bus/thunderbolt/devices/.../authorized
54 Date:           Sep 2017
55 KernelVersion:  4.13
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.
61
62                 Contents of this attribute will be 0 when the device is not
63                 yet authorized.
64
65                 Possible values are supported:
66
67                 ==  ===========================================
68                 1   The device will be authorized and connected
69                 ==  ===========================================
70
71                 When key attribute contains 32 byte hex string the possible
72                 values are:
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                 ==  ========================================================
83
84 What: /sys/bus/thunderbolt/devices/.../boot
85 Date:           Jun 2018
86 KernelVersion:  4.17
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.
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.
98
99 What: /sys/bus/thunderbolt/devices/.../key
100 Date:           Sep 2017
101 KernelVersion:  4.13
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.
108
109 What:           /sys/bus/thunderbolt/devices/.../device
110 Date:           Sep 2017
111 KernelVersion:  4.13
112 Contact:        thunderbolt-software@lists.01.org
113 Description:    This attribute contains id of this device extracted from
114                 the device DROM.
115
116 What:           /sys/bus/thunderbolt/devices/.../device_name
117 Date:           Sep 2017
118 KernelVersion:  4.13
119 Contact:        thunderbolt-software@lists.01.org
120 Description:    This attribute contains name of this device extracted from
121                 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.
150
151 What:           /sys/bus/thunderbolt/devices/.../vendor
152 Date:           Sep 2017
153 KernelVersion:  4.13
154 Contact:        thunderbolt-software@lists.01.org
155 Description:    This attribute contains vendor id of this device extracted
156                 from the device DROM.
157
158 What:           /sys/bus/thunderbolt/devices/.../vendor_name
159 Date:           Sep 2017
160 KernelVersion:  4.13
161 Contact:        thunderbolt-software@lists.01.org
162 Description:    This attribute contains vendor name of this device extracted
163                 from the device DROM.
164
165 What:           /sys/bus/thunderbolt/devices/.../unique_id
166 Date:           Sep 2017
167 KernelVersion:  4.13
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.
173
174 What:           /sys/bus/thunderbolt/devices/.../nvm_version
175 Date:           Sep 2017
176 KernelVersion:  4.13
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.
182
183 What:           /sys/bus/thunderbolt/devices/.../nvm_authenticate
184 Date:           Sep 2017
185 KernelVersion:  4.13
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
190                 this file.
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.
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.
201
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.
207
208 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/key
209 Date:           Jan 2018
210 KernelVersion:  4.15
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:
216
217                 ========  ===============================================
218                 network   IP/ethernet over Thunderbolt
219                 targetdm  Target disk mode protocol over Thunderbolt
220                 extdisp   External display mode protocol over Thunderbolt
221                 ========  ===============================================
222
223 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias
224 Date:           Jan 2018
225 KernelVersion:  4.15
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
229
230 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcid
231 Date:           Jan 2018
232 KernelVersion:  4.15
233 Contact:        thunderbolt-software@lists.01.org
234 Description:    This contains XDomain protocol identifier the XDomain
235                 service supports.
236
237 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcvers
238 Date:           Jan 2018
239 KernelVersion:  4.15
240 Contact:        thunderbolt-software@lists.01.org
241 Description:    This contains XDomain protocol version the XDomain
242                 service supports.
243
244 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcrevs
245 Date:           Jan 2018
246 KernelVersion:  4.15
247 Contact:        thunderbolt-software@lists.01.org
248 Description:    This contains XDomain software version the XDomain
249                 service supports.
250
251 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcstns
252 Date:           Jan 2018
253 KernelVersion:  4.15
254 Contact:        thunderbolt-software@lists.01.org
255 Description:    This contains XDomain service specific settings as
256                 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.